From 0984461aeb32d7de6abf09ffbec17b9f619eb346 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Mon, 25 Sep 2017 08:53:25 -0400 Subject: [PATCH 001/234] Start decomp of easy_chat --- asm/easy_chat.s | 257 ------------------------------------------------ include/rom4.h | 1 + ld_script.txt | 1 + src/easy_chat.c | 141 ++++++++++++++++++++++++++ 4 files changed, 143 insertions(+), 257 deletions(-) create mode 100644 src/easy_chat.c diff --git a/asm/easy_chat.s b/asm/easy_chat.s index 20bf327ac2..bfeef4514c 100644 --- a/asm/easy_chat.s +++ b/asm/easy_chat.s @@ -5,263 +5,6 @@ .text - thumb_func_start sub_811A20C -sub_811A20C: @ 811A20C - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - adds r6, r0, 0 - mov r8, r1 - mov r9, r2 - adds r5, r3, 0 - lsls r6, 24 - lsrs r6, 24 - lsls r5, 24 - lsrs r5, 24 - bl ResetTasks - ldr r0, =sub_811A2C0 - movs r1, 0 - bl CreateTask - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - strh r6, [r0, 0xA] - strh r5, [r0, 0x16] - adds r0, r4, 0 - movs r1, 0x2 - mov r2, r8 - bl SetWordTaskArg - adds r0, r4, 0 - movs r1, 0x4 - mov r2, r9 - bl SetWordTaskArg - ldr r0, =sub_811A278 - bl SetMainCallback2 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_811A20C - - thumb_func_start sub_811A278 -sub_811A278: @ 811A278 - push {lr} - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - pop {r0} - bx r0 - thumb_func_end sub_811A278 - - thumb_func_start sub_811A290 -sub_811A290: @ 811A290 - push {lr} - bl TransferPlttBuffer - bl LoadOam - bl ProcessSpriteCopyRequests - pop {r0} - bx r0 - thumb_func_end sub_811A290 - - thumb_func_start sub_811A2A4 -sub_811A2A4: @ 811A2A4 - lsls r0, 24 - lsrs r0, 24 - ldr r3, =gTasks - lsls r2, r0, 2 - adds r2, r0 - lsls r2, 3 - adds r2, r3 - str r1, [r2] - movs r0, 0 - strh r0, [r2, 0x8] - bx lr - .pool - thumb_func_end sub_811A2A4 - - thumb_func_start sub_811A2C0 -sub_811A2C0: @ 811A2C0 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl is_c1_link_related_active - cmp r0, 0 - bne _0811A2DC -_0811A2CE: - adds r0, r4, 0 - bl sub_811A428 - lsls r0, 24 - cmp r0, 0 - bne _0811A2CE - b _0811A2EA -_0811A2DC: - adds r0, r4, 0 - bl sub_811A428 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0811A2F2 -_0811A2EA: - ldr r1, =sub_811A2FC - adds r0, r4, 0 - bl sub_811A2A4 -_0811A2F2: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_811A2C0 - - thumb_func_start sub_811A2FC -sub_811A2FC: @ 811A2FC - push {r4-r6,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r2, r0, 24 - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r5, r0, r1 - movs r1, 0 - ldrsh r0, [r5, r1] - cmp r0, 0x5 - bls _0811A318 - b _0811A41C -_0811A318: - lsls r0, 2 - ldr r1, =_0811A32C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0811A32C: - .4byte _0811A344 - .4byte _0811A370 - .4byte _0811A3CC - .4byte _0811A3D4 - .4byte _0811A3EC - .4byte _0811A40C -_0811A344: - ldr r0, =sub_811A290 - bl SetVBlankCallback - 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 - movs r0, 0x5 - b _0811A41A - .pool -_0811A370: - bl sub_811AAAC - lsls r0, 16 - lsrs r4, r0, 16 - adds r6, r4, 0 - adds r0, r4, 0 - bl sub_811A88C - cmp r0, 0 - beq _0811A39E - movs r0, 0x1 - negs r0, r0 - movs r1, 0x2 - negs r1, r1 - movs r2, 0 - str r2, [sp] - movs r3, 0x10 - bl BeginNormalPaletteFade - movs r0, 0x3 - strh r0, [r5] - strh r4, [r5, 0xC] - b _0811A41C -_0811A39E: - cmp r4, 0x18 - bne _0811A3B6 - movs r1, 0x1 - negs r1, r1 - str r0, [sp] - adds r0, r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - movs r0, 0x4 - b _0811A41A -_0811A3B6: - cmp r6, 0 - beq _0811A41C - movs r0, 0x5 - bl PlaySE - adds r0, r6, 0 - bl sub_811C158 - ldrh r0, [r5] - adds r0, 0x1 - b _0811A41A -_0811A3CC: - bl sub_811C170 - lsls r0, 24 - b _0811A414 -_0811A3D4: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0811A41C - ldrh r0, [r5, 0xC] - bl sub_811A8A4 - b _0811A41C - .pool -_0811A3EC: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0811A41C - adds r0, r2, 0 - movs r1, 0x4 - bl GetWordTaskArg - bl sub_811A4D0 - b _0811A41C - .pool -_0811A40C: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 -_0811A414: - cmp r0, 0 - bne _0811A41C - movs r0, 0x1 -_0811A41A: - strh r0, [r5] -_0811A41C: - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_811A2FC - thumb_func_start sub_811A428 sub_811A428: @ 811A428 push {r4-r6,lr} diff --git a/include/rom4.h b/include/rom4.h index e19d277a63..9f214cfee6 100644 --- a/include/rom4.h +++ b/include/rom4.h @@ -29,5 +29,6 @@ const struct MapHeader *get_mapheader_by_bank_and_number(u8, u8); void FieldObjectMoveDestCoords(struct MapObject *, u32, s16 *, s16 *); void sub_8086230(void); void c2_exit_to_overworld_2_switch(void); +bool32 is_c1_link_related_active(void); #endif //GUARD_ROM4_H diff --git a/ld_script.txt b/ld_script.txt index b2e996ff5f..d839bb922a 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -166,6 +166,7 @@ SECTIONS { asm/item_use.o(.text); asm/battle_anim_80FE840.o(.text); asm/bike.o(.text); + src/easy_chat.o(.text); asm/easy_chat.o(.text); asm/mon_markings.o(.text); asm/mauville_old_man.o(.text); diff --git a/src/easy_chat.c b/src/easy_chat.c new file mode 100644 index 0000000000..edfab86b74 --- /dev/null +++ b/src/easy_chat.c @@ -0,0 +1,141 @@ + +// Includes +#include "global.h" +#include "songs.h" +#include "sound.h" +#include "rom4.h" +#include "task.h" +#include "main.h" +#include "palette.h" +#include "easy_chat.h" + +// Static type declarations + +// Static RAM declarations +static void sub_811A2C0(u8); +static void sub_811A278(void); +/*static*/ bool8 sub_811A428(u8); +static void sub_811A2FC(u8); +/*static*/ u16 sub_811AAAC(void); +/*static*/ bool32 sub_811A88C(u16); +/*static*/ void sub_811C158(u16); +/*static*/ bool8 sub_811C170(void); +/*static*/ void sub_811A8A4(u16); +/*static*/ void sub_811A4D0(u32); + +// Static ROM declarations + +// .rodata + +// .text + +void sub_811A20C(u8 a0, u32 a1, u32 a2, u8 a3) +{ + u8 taskId; + + ResetTasks(); + taskId = CreateTask(sub_811A2C0, 0); + gTasks[taskId].data[1] = a0; + gTasks[taskId].data[7] = a3; + SetWordTaskArg(taskId, 0x02, a1); + SetWordTaskArg(taskId, 0x04, a2); + SetMainCallback2(sub_811A278); +} + +static void sub_811A278(void) +{ + RunTasks(); + AnimateSprites(); + BuildOamBuffer(); + UpdatePaletteFade(); +} + +static void sub_811A290(void) +{ + TransferPlttBuffer(); + LoadOam(); + ProcessSpriteCopyRequests(); +} + +static void sub_811A2A4(u8 taskId, TaskFunc taskFunc) +{ + gTasks[taskId].func = taskFunc; + gTasks[taskId].data[0] = 0; +} + +static void sub_811A2C0(u8 taskId) +{ + if (!is_c1_link_related_active()) + { + while (sub_811A428(taskId)); + } + else + { + if (sub_811A428(taskId) == TRUE) + { + return; + } + } + sub_811A2A4(taskId, sub_811A2FC); +} + +static void sub_811A2FC(u8 taskId) +{ + u16 v0; + s16 *data; + + data = gTasks[taskId].data; + switch (data[0]) + { + case 0: + SetVBlankCallback(sub_811A290); + BlendPalettes(-1, 16, 0); + BeginNormalPaletteFade(-1, -1, 16, 0, 0); + data[0] = 5; + break; + case 1: + v0 = sub_811AAAC(); + if (sub_811A88C(v0)) + { + BeginNormalPaletteFade(-1, -2, 0, 16, 0); + data[0] = 3; + data[6] = v0; + } + else if (v0 == 0x18) + { + BeginNormalPaletteFade(-1, -1, 0, 16, 0); + data[0] = 4; + } + else if (v0 != 0) + { + PlaySE(SE_SELECT); + sub_811C158(v0); + data[0] ++; + } + break; + case 2: + if (!sub_811C170()) + { + data[0] = 1; + } + break; + case 3: + if (!gPaletteFade.active) + { + sub_811A8A4(data[6]); + } + break; + case 4: + if (!gPaletteFade.active) + { + sub_811A4D0(GetWordTaskArg(taskId, 0x04)); + } + break; + case 5: + if (!gPaletteFade.active) + { + data[0] = 1; + } + break; + } +} From cdfdd2a29a100e1cf3e070df24a28cf6d3e4667d Mon Sep 17 00:00:00 2001 From: scnorton Date: Mon, 25 Sep 2017 17:22:51 -0400 Subject: [PATCH 002/234] sub_811A428 --- asm/easy_chat.s | 79 ------------------------------------------------- src/easy_chat.c | 50 ++++++++++++++++++++++++++++++- 2 files changed, 49 insertions(+), 80 deletions(-) diff --git a/asm/easy_chat.s b/asm/easy_chat.s index bfeef4514c..5d7a02a84a 100644 --- a/asm/easy_chat.s +++ b/asm/easy_chat.s @@ -5,85 +5,6 @@ .text - thumb_func_start sub_811A428 -sub_811A428: @ 811A428 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r6, r0, r1 - movs r1, 0 - ldrsh r0, [r6, r1] - cmp r0, 0x4 - bhi _0811A4BC - lsls r0, 2 - ldr r1, =_0811A454 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0811A454: - .4byte _0811A468 - .4byte _0811A47C - .4byte _0811A482 - .4byte _0811A498 - .4byte _0811A4B0 -_0811A468: - movs r0, 0 - bl SetVBlankCallback - bl ResetSpriteData - bl FreeAllSpritePalettes - bl ResetPaletteFade - b _0811A4C0 -_0811A47C: - bl sub_811F28C - b _0811A49C -_0811A482: - ldrb r4, [r6, 0x2] - adds r0, r5, 0 - movs r1, 0x2 - bl GetWordTaskArg - adds r1, r0, 0 - ldrb r2, [r6, 0xE] - adds r0, r4, 0 - bl sub_811A95C - b _0811A49C -_0811A498: - bl sub_811BF8C -_0811A49C: - lsls r0, 24 - cmp r0, 0 - bne _0811A4C0 - adds r0, r5, 0 - movs r1, 0x4 - bl GetWordTaskArg - bl sub_811A4D0 - b _0811A4C0 -_0811A4B0: - bl sub_811BFA4 - lsls r0, 24 - cmp r0, 0 - beq _0811A4C0 - b _0811A4C6 -_0811A4BC: - movs r0, 0 - b _0811A4C8 -_0811A4C0: - ldrh r0, [r6] - adds r0, 0x1 - strh r0, [r6] -_0811A4C6: - movs r0, 0x1 -_0811A4C8: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_811A428 - thumb_func_start sub_811A4D0 sub_811A4D0: @ 811A4D0 push {r4,lr} diff --git a/src/easy_chat.c b/src/easy_chat.c index edfab86b74..8ee46e2156 100644 --- a/src/easy_chat.c +++ b/src/easy_chat.c @@ -14,7 +14,7 @@ // Static RAM declarations static void sub_811A2C0(u8); static void sub_811A278(void); -/*static*/ bool8 sub_811A428(u8); +static bool8 sub_811A428(u8); static void sub_811A2FC(u8); /*static*/ u16 sub_811AAAC(void); /*static*/ bool32 sub_811A88C(u16); @@ -22,6 +22,10 @@ static void sub_811A2FC(u8); /*static*/ bool8 sub_811C170(void); /*static*/ void sub_811A8A4(u16); /*static*/ void sub_811A4D0(u32); +bool8 sub_811F28C(void); +bool8 sub_811A95C(u8, u32, u8); +bool8 sub_811BF8C(void); +bool8 sub_811BFA4(void); // Static ROM declarations @@ -139,3 +143,47 @@ static void sub_811A2FC(u8 taskId) break; } } + +static bool8 sub_811A428(u8 taskId) +{ + s16 *data; + + data = gTasks[taskId].data; + switch (data[0]) + { + case 0: + SetVBlankCallback(NULL); + ResetSpriteData(); + FreeAllSpritePalettes(); + ResetPaletteFade(); + break; + case 1: + if (!sub_811F28C()) + { + sub_811A4D0(GetWordTaskArg(taskId, 0x04)); + } + break; + case 2: + if (!sub_811A95C(data[1], GetWordTaskArg(taskId, 0x02), data[7])) + { + sub_811A4D0(GetWordTaskArg(taskId, 0x04)); + } + break; + case 3: + if (!sub_811BF8C()) + { + sub_811A4D0(GetWordTaskArg(taskId, 0x04)); + } + break; + case 4: + if (sub_811BFA4()) + { + return TRUE; + } + break; + default: + return FALSE; + } + data[0] ++; + return TRUE; +} From b62b67e4284b2204ac575698f9199584fe484606 Mon Sep 17 00:00:00 2001 From: scnorton Date: Mon, 25 Sep 2017 17:30:49 -0400 Subject: [PATCH 003/234] sub_811A4D0; constants for ezchat task data offsets --- asm/easy_chat.s | 15 ----------- src/easy_chat.c | 66 ++++++++++++++++++++++++++++++++----------------- 2 files changed, 43 insertions(+), 38 deletions(-) diff --git a/asm/easy_chat.s b/asm/easy_chat.s index 5d7a02a84a..8455decfe7 100644 --- a/asm/easy_chat.s +++ b/asm/easy_chat.s @@ -5,21 +5,6 @@ .text - thumb_func_start sub_811A4D0 -sub_811A4D0: @ 811A4D0 - push {r4,lr} - adds r4, r0, 0 - bl sub_811C13C - bl sub_811AA90 - bl sub_811F2B8 - bl FreeAllWindowBuffers - adds r0, r4, 0 - bl SetMainCallback2 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_811A4D0 - thumb_func_start easy_chat_input_maybe easy_chat_input_maybe: @ 811A4F0 push {r4,r5,lr} diff --git a/src/easy_chat.c b/src/easy_chat.c index 8ee46e2156..1ff0ccc336 100644 --- a/src/easy_chat.c +++ b/src/easy_chat.c @@ -6,11 +6,19 @@ #include "rom4.h" #include "task.h" #include "main.h" +#include "window.h" #include "palette.h" #include "easy_chat.h" // Static type declarations +#define EZCHAT_TASK_STATE 0 +#define EZCHAT_TASK_UNK01 1 +#define EZCHAT_TASK_UNK02 2 +#define EZCHAT_TASK_MAINCALLBACK 4 +#define EZCHAT_TASK_UNK06 6 +#define EZCHAT_TASK_UNK07 7 + // Static RAM declarations static void sub_811A2C0(u8); static void sub_811A278(void); @@ -21,11 +29,14 @@ static void sub_811A2FC(u8); /*static*/ void sub_811C158(u16); /*static*/ bool8 sub_811C170(void); /*static*/ void sub_811A8A4(u16); -/*static*/ void sub_811A4D0(u32); +/*static*/ void sub_811A4D0(MainCallback); bool8 sub_811F28C(void); bool8 sub_811A95C(u8, u32, u8); bool8 sub_811BF8C(void); bool8 sub_811BFA4(void); +void sub_811C13C(void); +void sub_811AA90(void); +void sub_811F2B8(void); // Static ROM declarations @@ -33,16 +44,16 @@ bool8 sub_811BFA4(void); // .text -void sub_811A20C(u8 a0, u32 a1, u32 a2, u8 a3) +void sub_811A20C(u8 a0, u32 a1, MainCallback callback, u8 a3) { u8 taskId; ResetTasks(); taskId = CreateTask(sub_811A2C0, 0); - gTasks[taskId].data[1] = a0; - gTasks[taskId].data[7] = a3; - SetWordTaskArg(taskId, 0x02, a1); - SetWordTaskArg(taskId, 0x04, a2); + gTasks[taskId].data[EZCHAT_TASK_UNK01] = a0; + gTasks[taskId].data[EZCHAT_TASK_UNK07] = a3; + SetWordTaskArg(taskId, EZCHAT_TASK_UNK02, a1); + SetWordTaskArg(taskId, EZCHAT_TASK_MAINCALLBACK, (u32)callback); SetMainCallback2(sub_811A278); } @@ -64,7 +75,7 @@ static void sub_811A290(void) static void sub_811A2A4(u8 taskId, TaskFunc taskFunc) { gTasks[taskId].func = taskFunc; - gTasks[taskId].data[0] = 0; + gTasks[taskId].data[EZCHAT_TASK_STATE] = 0; } static void sub_811A2C0(u8 taskId) @@ -89,56 +100,56 @@ static void sub_811A2FC(u8 taskId) s16 *data; data = gTasks[taskId].data; - switch (data[0]) + switch (data[EZCHAT_TASK_STATE]) { case 0: SetVBlankCallback(sub_811A290); BlendPalettes(-1, 16, 0); BeginNormalPaletteFade(-1, -1, 16, 0, 0); - data[0] = 5; + data[EZCHAT_TASK_STATE] = 5; break; case 1: v0 = sub_811AAAC(); if (sub_811A88C(v0)) { BeginNormalPaletteFade(-1, -2, 0, 16, 0); - data[0] = 3; - data[6] = v0; + data[EZCHAT_TASK_STATE] = 3; + data[EZCHAT_TASK_UNK06] = v0; } else if (v0 == 0x18) { BeginNormalPaletteFade(-1, -1, 0, 16, 0); - data[0] = 4; + data[EZCHAT_TASK_STATE] = 4; } else if (v0 != 0) { PlaySE(SE_SELECT); sub_811C158(v0); - data[0] ++; + data[EZCHAT_TASK_STATE] ++; } break; case 2: if (!sub_811C170()) { - data[0] = 1; + data[EZCHAT_TASK_STATE] = 1; } break; case 3: if (!gPaletteFade.active) { - sub_811A8A4(data[6]); + sub_811A8A4(data[EZCHAT_TASK_UNK06]); } break; case 4: if (!gPaletteFade.active) { - sub_811A4D0(GetWordTaskArg(taskId, 0x04)); + sub_811A4D0((MainCallback)GetWordTaskArg(taskId, EZCHAT_TASK_MAINCALLBACK)); } break; case 5: if (!gPaletteFade.active) { - data[0] = 1; + data[EZCHAT_TASK_STATE] = 1; } break; } @@ -149,7 +160,7 @@ static bool8 sub_811A428(u8 taskId) s16 *data; data = gTasks[taskId].data; - switch (data[0]) + switch (data[EZCHAT_TASK_STATE]) { case 0: SetVBlankCallback(NULL); @@ -160,19 +171,19 @@ static bool8 sub_811A428(u8 taskId) case 1: if (!sub_811F28C()) { - sub_811A4D0(GetWordTaskArg(taskId, 0x04)); + sub_811A4D0((MainCallback)GetWordTaskArg(taskId, EZCHAT_TASK_MAINCALLBACK)); } break; case 2: - if (!sub_811A95C(data[1], GetWordTaskArg(taskId, 0x02), data[7])) + if (!sub_811A95C(data[EZCHAT_TASK_UNK01], GetWordTaskArg(taskId, EZCHAT_TASK_UNK02), data[EZCHAT_TASK_UNK07])) { - sub_811A4D0(GetWordTaskArg(taskId, 0x04)); + sub_811A4D0((MainCallback)GetWordTaskArg(taskId, EZCHAT_TASK_MAINCALLBACK)); } break; case 3: if (!sub_811BF8C()) { - sub_811A4D0(GetWordTaskArg(taskId, 0x04)); + sub_811A4D0((MainCallback)GetWordTaskArg(taskId, EZCHAT_TASK_MAINCALLBACK)); } break; case 4: @@ -184,6 +195,15 @@ static bool8 sub_811A428(u8 taskId) default: return FALSE; } - data[0] ++; + data[EZCHAT_TASK_STATE] ++; return TRUE; } + +void sub_811A4D0(MainCallback callback) +{ + sub_811C13C(); + sub_811AA90(); + sub_811F2B8(); + FreeAllWindowBuffers(); + SetMainCallback2(callback); +} From 0e75d957d675564977b2e442c16822bab390aa2c Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Mon, 25 Sep 2017 19:57:44 -0400 Subject: [PATCH 004/234] Update offset comments in save block 1 --- include/global.h | 60 +++++++++++++++++++-------------------- src/easy_chat.c | 74 ++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 104 insertions(+), 30 deletions(-) diff --git a/include/global.h b/include/global.h index 4014c6dde8..9793ddcf24 100644 --- a/include/global.h +++ b/include/global.h @@ -534,14 +534,14 @@ struct MailStruct struct UnkMauvilleOldManStruct { - u8 unk_2D94; - u8 unk_2D95; - /*0x2D96*/ u16 mauvilleOldMan_ecArray[6]; - /*0x2DA2*/ u16 mauvilleOldMan_ecArray2[6]; - /*0x2DAE*/ u8 playerName[8]; - /*0x2DB6*/ u8 filler_2DB6[0x3]; - /*0x2DB9*/ u8 playerTrainerId[4]; - u8 unk_2DBD; + u8 unk_2E28; + u8 unk_2E29; + /*0x2E2A*/ u16 mauvilleOldMan_ecArray[6]; + /*0x2E36*/ u16 mauvilleOldMan_ecArray2[6]; + /*0x2E42*/ u8 playerName[8]; + /*0x2E4A*/ u8 filler_2E4A[0x3]; + /*0x2E4B*/ u8 playerTrainerId[4]; + u8 unk_2E4F; }; /*size = 0x2C*/ struct UnkMauvilleOldManStruct2 @@ -579,24 +579,24 @@ struct UnknownSaveStruct2ABC struct GabbyAndTyData { - /*2b10*/ u16 mon1; - /*2b12*/ u16 mon2; - /*2b14*/ u16 lastMove; - /*2b16*/ u16 quote; - /*2b18*/ u8 mapnum; - /*2b19*/ u8 battleNum; - /*2b1a*/ u8 valA_0:1; - /*2b1a*/ u8 valA_1:1; - /*2b1a*/ u8 valA_2:1; - /*2b1a*/ u8 valA_3:1; - /*2b1a*/ u8 valA_4:1; - /*2b1a*/ u8 valA_5:3; - /*2b1b*/ u8 valB_0:1; - /*2b1b*/ u8 valB_1:1; - /*2b1b*/ u8 valB_2:1; - /*2b1b*/ u8 valB_3:1; - /*2b1b*/ u8 valB_4:1; - /*2b1b*/ u8 valB_5:3; + /*2ba4*/ u16 mon1; + /*2ba6*/ u16 mon2; + /*2ba8*/ u16 lastMove; + /*2baa*/ u16 quote; + /*2bac*/ u8 mapnum; + /*2bad*/ u8 battleNum; + /*2bae*/ u8 valA_0:1; + /*2bae*/ u8 valA_1:1; + /*2bae*/ u8 valA_2:1; + /*2bae*/ u8 valA_3:1; + /*2bae*/ u8 valA_4:1; + /*2bae*/ u8 valA_5:3; + /*2baf*/ u8 valB_0:1; + /*2baf*/ u8 valB_1:1; + /*2baf*/ u8 valB_2:1; + /*2baf*/ u8 valB_3:1; + /*2baf*/ u8 valB_4:1; + /*2baf*/ u8 valB_5:3; }; struct RecordMixing_UnknownStructSub @@ -787,10 +787,10 @@ struct SaveBlock1 /*0x????*/ u8 outbreakPokemonProbability; /*0x????*/ u16 outbreakUnk5; /*0x2BA4*/ struct GabbyAndTyData gabbyAndTyData; - /*0x????*/ u16 unk2B1C[6]; - /*0x????*/ u16 unk2B28[6]; - /*0x????*/ u16 unk2B34[6]; - /*0x????*/ u16 unk2B3A[3]; + /*0x2BB0*/ u16 unk2BB0[6]; + /*0x2BBC*/ u16 unk2BBC[6]; + /*0x2BC8*/ u16 unk2BC8[6]; + /*0x2BD4*/ u16 unk2BD4[3]; /*0x2BE0*/ struct MailStruct mail[16]; /*0x2E20*/ u8 additionalPhrases[5]; // bitfield for 33 additional phrases in easy chat system /*0x2E25*/ u8 unk2E25[3]; // possibly padding? diff --git a/src/easy_chat.c b/src/easy_chat.c index 1ff0ccc336..dd490ddf88 100644 --- a/src/easy_chat.c +++ b/src/easy_chat.c @@ -8,6 +8,7 @@ #include "main.h" #include "window.h" #include "palette.h" +#include "event_data.h" #include "easy_chat.h" // Static type declarations @@ -207,3 +208,76 @@ void sub_811A4D0(MainCallback callback) FreeAllWindowBuffers(); SetMainCallback2(callback); } +// +//void easy_chat_input_maybe(void) +//{ +// u16 i; +// u16 *words; +// OldMan *oldMan; +// u8 sizeParam = 3; +// switch (gSpecialVar_0x8004) +// { +// case 0: +// words = gSaveBlock1Ptr->unk2BB0; +// break; +// case 1: +// words = gSaveBlock1Ptr->unk2BBC; +// break; +// case 2: +// words = gSaveBlock1Ptr->unk2BC8; +// break; +// case 3: +// words = gSaveBlock1Ptr->unk2BD4; +// break; +// case 4: +// words = gSaveBlock1Ptr->mail[gSpecialVar_0x8005].words; +// break; +// case 6: +// oldMan = &gSaveBlock1Ptr->oldMan; +// for (i=0; i<6; i++) +// { +// oldMan->oldMan1.mauvilleOldMan_ecArray2[i] = oldMan->oldMan1.mauvilleOldMan_ecArray[i]; +// } +// words = oldMan->oldMan1.mauvilleOldMan_ecArray2; +// break; +// case 5: +// words = gSaveBlock1Ptr->tvShows[gSpecialVar_0x8005].bravoTrainer.var04; +// sizeParam = gSpecialVar_0x8006; +// break; +// case 7: +// words = &gSaveBlock1Ptr->tvShows[gSpecialVar_0x8005].fanclubOpinions.var1C[gSpecialVar_0x8006]; +// sizeParam = 1; +// break; +// case 8: +// words = &gSaveBlock1Ptr->tvShows[gSpecialVar_0x8005].recentHappenings.var02; +// sizeParam = 0; +// break; +// case 9: +// words = NULL; +// break; +// case 10: +// words = &gSaveBlock1Ptr->gabbyAndTyData.quote; +// *words = -1; +// sizeParam = 1; +// break; +// case 11: +// words = &gSaveBlock1Ptr->tvShows[gSpecialVar_0x8005].bravoTrainer.var04[gSpecialVar_0x8006]; +// sizeParam = 0; +// break; +// case 12: +// words = gSaveBlock1Ptr->tvShows[gSpecialVar_0x8005].fanclubOpinions.var18; +// sizeParam = 1; +// break; +// case 13: +// words = (u16 *)gStringVar3; +// sub_811F88C(words, 2); +// break; +// case 14: +// words = +// default: +// return; +// } +// overworld_free_bg_tilemaps(); +// sub_811A20C(gSpecialVar_0x8004, words, sub_80861B0, sizeParam); +//} + From 01d6114da230e8526b21cbd3ae449d87fc2ba548 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 2 Nov 2017 19:26:14 -0400 Subject: [PATCH 005/234] easy_chat_input_maybe --- asm/easy_chat.s | 278 -------------------------------------------- include/global.h | 13 ++- include/global.tv.h | 4 +- include/link.h | 1 + include/overworld.h | 2 + src/easy_chat.c | 183 ++++++++++++++++------------- src/lilycove_lady.c | 22 ++-- 7 files changed, 126 insertions(+), 377 deletions(-) diff --git a/asm/easy_chat.s b/asm/easy_chat.s index 92aa1ea0fe..206f2d9c41 100644 --- a/asm/easy_chat.s +++ b/asm/easy_chat.s @@ -5,284 +5,6 @@ .text - thumb_func_start easy_chat_input_maybe -easy_chat_input_maybe: @ 811A4F0 - push {r4,r5,lr} - movs r5, 0x3 - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r0, 0x14 - bls _0811A4FE - b _0811A7D4 -_0811A4FE: - lsls r0, 2 - ldr r1, =_0811A510 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0811A510: - .4byte _0811A564 - .4byte _0811A578 - .4byte _0811A58C - .4byte _0811A5A0 - .4byte _0811A5B4 - .4byte _0811A604 - .4byte _0811A5D8 - .4byte _0811A630 - .4byte _0811A664 - .4byte _0811A688 - .4byte _0811A6B4 - .4byte _0811A6D4 - .4byte _0811A708 - .4byte _0811A72C - .4byte _0811A73C - .4byte _0811A770 - .4byte _0811A7D4 - .4byte _0811A784 - .4byte _0811A798 - .4byte _0811A7AC - .4byte _0811A7BC -_0811A564: - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, =0x00002bb0 - adds r4, r0, r1 - b _0811A7C2 - .pool -_0811A578: - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r2, =0x00002bbc - adds r4, r0, r2 - b _0811A7C2 - .pool -_0811A58C: - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r3, =0x00002bc8 - adds r4, r0, r3 - b _0811A7C2 - .pool -_0811A5A0: - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, =0x00002bd4 - adds r4, r0, r1 - b _0811A7C2 - .pool -_0811A5B4: - ldr r2, =gSaveBlock1Ptr - ldr r0, =gSpecialVar_0x8005 - ldrh r1, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r3, =0x00002be0 - adds r0, r3 - ldr r1, [r2] - adds r4, r1, r0 - b _0811A7C2 - .pool -_0811A5D8: - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r2, =0x00002e36 - adds r1, r0, r2 - ldr r3, =0x00002e2a - adds r2, r0, r3 - movs r3, 0x5 -_0811A5E6: - ldrh r0, [r2] - strh r0, [r2, 0xC] - adds r2, 0x2 - subs r3, 0x1 - cmp r3, 0 - bge _0811A5E6 - adds r4, r1, 0 - b _0811A7C2 - .pool -_0811A604: - ldr r2, =gSaveBlock1Ptr - ldr r0, =gSpecialVar_0x8005 - ldrh r1, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, [r2] - adds r0, r1 - ldr r1, =0x000027d0 - adds r4, r0, r1 - ldr r0, =gSpecialVar_0x8006 - ldrb r5, [r0] - b _0811A7C2 - .pool -_0811A630: - ldr r2, =gSaveBlock1Ptr - ldr r0, =gSpecialVar_0x8005 - ldrh r1, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r3, =0x000027cc - adds r0, r3 - ldr r1, [r2] - adds r1, r0 - ldr r0, =gSpecialVar_0x8006 - ldrh r0, [r0] - lsls r0, 1 - adds r0, 0x1C - adds r4, r1, r0 - movs r5, 0x1 - b _0811A7C2 - .pool -_0811A664: - ldr r2, =gSaveBlock1Ptr - ldr r0, =gSpecialVar_0x8005 - ldrh r1, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, [r2] - adds r0, r1 - ldr r1, =0x000027ce - adds r4, r0, r1 - movs r5, 0 - b _0811A7C2 - .pool -_0811A688: - ldr r4, =gStringVar3 - ldr r1, =gSaveBlock1Ptr - ldr r0, [r1] - ldr r2, =0x00002e6c - adds r0, r2 - ldrh r0, [r0] - strh r0, [r4] - ldr r0, [r1] - ldr r3, =0x00002e6e - adds r0, r3 - ldrh r0, [r0] - strh r0, [r4, 0x2] - b _0811A7C2 - .pool -_0811A6B4: - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, =0x00002baa - adds r4, r0, r1 - ldr r2, =0x0000ffff - adds r0, r2, 0 - strh r0, [r4] - movs r5, 0x1 - b _0811A7C2 - .pool -_0811A6D4: - ldr r2, =gSaveBlock1Ptr - ldr r0, =gSpecialVar_0x8005 - ldrh r1, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r3, =0x000027cc - adds r0, r3 - ldr r1, [r2] - adds r1, r0 - ldr r0, =gSpecialVar_0x8006 - ldrh r0, [r0] - lsls r0, 1 - adds r0, 0x4 - adds r4, r1, r0 - movs r5, 0 - b _0811A7C2 - .pool -_0811A708: - ldr r2, =gSaveBlock1Ptr - ldr r0, =gSpecialVar_0x8005 - ldrh r1, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, [r2] - adds r0, r1 - ldr r1, =0x000027e4 - adds r4, r0, r1 - movs r5, 0x1 - b _0811A7C2 - .pool -_0811A72C: - ldr r4, =gStringVar3 - adds r0, r4, 0 - movs r1, 0x2 - bl InitializeEasyChatWordArray - b _0811A7C2 - .pool -_0811A73C: - ldr r2, =gSaveBlock1Ptr - ldr r0, =gSpecialVar_0x8005 - ldrh r1, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r3, =0x000027cc - adds r0, r3 - ldr r1, [r2] - adds r1, r0 - adds r4, r1, 0 - adds r4, 0x14 - ldr r2, =0x0000ffff - adds r0, r2, 0 - strh r0, [r1, 0x14] - movs r5, 0x2 - b _0811A7C2 - .pool -_0811A770: - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r3, =0x00003b6e - adds r4, r0, r3 - b _0811A7C2 - .pool -_0811A784: - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, =0x00003b5a - adds r4, r0, r1 - b _0811A7C2 - .pool -_0811A798: - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r2, =0x00003b6c - adds r4, r0, r2 - b _0811A7C2 - .pool -_0811A7AC: - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - movs r3, 0x82 - lsls r3, 1 - adds r4, r0, r3 - b _0811A7C2 - .pool -_0811A7BC: - bl sub_801B058 - adds r4, r0, 0 -_0811A7C2: - bl overworld_free_bg_tilemaps - ldr r0, =gSpecialVar_0x8004 - ldrb r0, [r0] - ldr r2, =sub_80861B0 - adds r1, r4, 0 - adds r3, r5, 0 - bl sub_811A20C -_0811A7D4: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end easy_chat_input_maybe - thumb_func_start sub_811A7E4 sub_811A7E4: @ 811A7E4 push {lr} diff --git a/include/global.h b/include/global.h index 16a621568e..f818f15b16 100644 --- a/include/global.h +++ b/include/global.h @@ -192,7 +192,9 @@ struct SaveBlock2 /*0xAC*/ u32 encryptionKey; // TODO: fix and verify labels - /*0xB0*/ u8 field_B0[316]; + /*0xB0*/ u8 field_B0[0x54]; + /*0x104*/ u16 unk_104[1]; + /*0x106*/ u8 filler_106[0xe6]; /*0x1EC*/ struct BerryCrush berryCrush; /*0x1FC*/ struct PokemonJumpResults pokeJump; /*0x20C*/ struct BerryPickingResults berryPick; @@ -460,8 +462,8 @@ struct LilycoveLadyQuiz /*0x000*/ u8 id; /*0x001*/ u8 phase; /*0x002*/ u16 unk_002[9]; - /*0x014*/ u16 unk_014; - /*0x016*/ u16 unk_016; + /*0x014*/ u16 unk_014[1]; + /*0x016*/ u16 unk_016[1]; /*0x018*/ u8 playerName[8]; /*0x020*/ u16 playerTrainerId[4]; /*0x028*/ u16 itemId; @@ -496,7 +498,7 @@ struct LilycoveLadyContest /*0x00e*/ u8 language; }; -typedef union // TODO +typedef union // 3b58 { struct LilycoveLadyQuiz quiz; struct LilycoveLadyFavour favour; @@ -579,13 +581,12 @@ struct SaveBlock1 /*0x2BB0*/ u16 unk2BB0[6]; /*0x2BBC*/ u16 unk2BBC[6]; /*0x2BC8*/ u16 unk2BC8[6]; - /*0x2BD4*/ u16 unk2BD4[3]; + /*0x2BD4*/ u16 unk2BD4[6]; /*0x2BE0*/ struct MailStruct mail[16]; /*0x2E20*/ u8 additionalPhrases[5]; // bitfield for 33 additional phrases in easy chat system /*0x2E25*/ u8 unk2E25[3]; // possibly padding? /*0x2E28*/ OldMan oldMan; /*0x2e64*/ struct EasyChatPair easyChatPairs[5]; //Dewford trend [0] and some other stuff - /*0x2e8c*/ u8 filler_2E8C[0x4]; /*0x2e90*/ struct ContestWinner contestWinners[13]; // 0 - 5 used in contest hall, 6 - 7 unused?, 8 - 12 museum /*0x3030*/ struct DaycareData daycare; /*0x3150*/ struct LinkBattleRecord linkBattleRecords[5]; diff --git a/include/global.tv.h b/include/global.tv.h index 5f65aa8e0a..97ac546607 100644 --- a/include/global.tv.h +++ b/include/global.tv.h @@ -91,7 +91,7 @@ typedef union // size = 0x24 /*0x0E*/ u8 pokemonNameLanguage; /*0x0F*/ u8 filler_0F[1]; /*0x10*/ u8 nickname[8]; - /*0x18*/ u8 filler_18[4]; + /*0x18*/ u16 words18[2]; /*0x1C*/ u16 words[4]; } fanclubOpinions; @@ -99,7 +99,7 @@ typedef union // size = 0x24 struct { /*0x00*/ u8 kind; /*0x01*/ bool8 active; - /*0x02*/ u8 pad02[4]; + /*0x02*/ u16 words[2]; /*0x06*/ u16 var06; /*0x08*/ u8 pad_08[3]; /*0x0b*/ u8 string_0b[12]; diff --git a/include/link.h b/include/link.h index 7a6563144a..c242b55cfb 100644 --- a/include/link.h +++ b/include/link.h @@ -192,5 +192,6 @@ void sub_8011BD0(void); u8 sub_800ABAC(void); u8 sub_800ABBC(void); void sub_800AC34(void); +u16 *sub_801B058(void); #endif // GUARD_LINK_H diff --git a/include/overworld.h b/include/overworld.h index 19bcaaf014..68aa12f0f9 100644 --- a/include/overworld.h +++ b/include/overworld.h @@ -64,5 +64,7 @@ void warp1_set_2(s8 mapGroup, s8 mapNum, s8 warpNum); void c2_load_new_map(void); void copy_saved_warp2_bank_and_enter_x_to_warp1(u8 unused); void mapldr_default(void); +void overworld_free_bg_tilemaps(void); +void sub_80861B0(void); #endif //GUARD_ROM4_H diff --git a/src/easy_chat.c b/src/easy_chat.c index 24f1a2b57e..0d02e0d5ae 100644 --- a/src/easy_chat.c +++ b/src/easy_chat.c @@ -6,6 +6,7 @@ #include "overworld.h" #include "task.h" #include "main.h" +#include "link.h" #include "window.h" #include "palette.h" #include "event_data.h" @@ -14,11 +15,11 @@ // Static type declarations #define EZCHAT_TASK_STATE 0 -#define EZCHAT_TASK_UNK01 1 -#define EZCHAT_TASK_UNK02 2 +#define EZCHAT_TASK_KIND 1 +#define EZCHAT_TASK_WORDS 2 #define EZCHAT_TASK_MAINCALLBACK 4 #define EZCHAT_TASK_UNK06 6 -#define EZCHAT_TASK_UNK07 7 +#define EZCHAT_TASK_SIZE 7 // Static RAM declarations static void sub_811A2C0(u8); @@ -45,15 +46,15 @@ void sub_811F2B8(void); // .text -void sub_811A20C(u8 a0, u32 a1, MainCallback callback, u8 a3) +void sub_811A20C(u8 kind, u16 *words, MainCallback callback, u8 sizeParam) { u8 taskId; ResetTasks(); taskId = CreateTask(sub_811A2C0, 0); - gTasks[taskId].data[EZCHAT_TASK_UNK01] = a0; - gTasks[taskId].data[EZCHAT_TASK_UNK07] = a3; - SetWordTaskArg(taskId, EZCHAT_TASK_UNK02, a1); + gTasks[taskId].data[EZCHAT_TASK_KIND] = kind; + gTasks[taskId].data[EZCHAT_TASK_SIZE] = sizeParam; + SetWordTaskArg(taskId, EZCHAT_TASK_WORDS, (u32)words); SetWordTaskArg(taskId, EZCHAT_TASK_MAINCALLBACK, (u32)callback); SetMainCallback2(sub_811A278); } @@ -176,7 +177,7 @@ static bool8 sub_811A428(u8 taskId) } break; case 2: - if (!sub_811A95C(data[EZCHAT_TASK_UNK01], GetWordTaskArg(taskId, EZCHAT_TASK_UNK02), data[EZCHAT_TASK_UNK07])) + if (!sub_811A95C(data[EZCHAT_TASK_KIND], GetWordTaskArg(taskId, EZCHAT_TASK_WORDS), data[EZCHAT_TASK_SIZE])) { sub_811A4D0((MainCallback)GetWordTaskArg(taskId, EZCHAT_TASK_MAINCALLBACK)); } @@ -208,76 +209,98 @@ void sub_811A4D0(MainCallback callback) FreeAllWindowBuffers(); SetMainCallback2(callback); } -// -//void easy_chat_input_maybe(void) -//{ -// u16 i; -// u16 *words; -// OldMan *oldMan; -// u8 sizeParam = 3; -// switch (gSpecialVar_0x8004) -// { -// case 0: -// words = gSaveBlock1Ptr->unk2BB0; -// break; -// case 1: -// words = gSaveBlock1Ptr->unk2BBC; -// break; -// case 2: -// words = gSaveBlock1Ptr->unk2BC8; -// break; -// case 3: -// words = gSaveBlock1Ptr->unk2BD4; -// break; -// case 4: -// words = gSaveBlock1Ptr->mail[gSpecialVar_0x8005].words; -// break; -// case 6: -// oldMan = &gSaveBlock1Ptr->oldMan; -// for (i=0; i<6; i++) -// { -// oldMan->oldMan1.mauvilleOldMan_ecArray2[i] = oldMan->oldMan1.mauvilleOldMan_ecArray[i]; -// } -// words = oldMan->oldMan1.mauvilleOldMan_ecArray2; -// break; -// case 5: -// words = gSaveBlock1Ptr->tvShows[gSpecialVar_0x8005].bravoTrainer.var04; -// sizeParam = gSpecialVar_0x8006; -// break; -// case 7: -// words = &gSaveBlock1Ptr->tvShows[gSpecialVar_0x8005].fanclubOpinions.var1C[gSpecialVar_0x8006]; -// sizeParam = 1; -// break; -// case 8: -// words = &gSaveBlock1Ptr->tvShows[gSpecialVar_0x8005].recentHappenings.var02; -// sizeParam = 0; -// break; -// case 9: -// words = NULL; -// break; -// case 10: -// words = &gSaveBlock1Ptr->gabbyAndTyData.quote; -// *words = -1; -// sizeParam = 1; -// break; -// case 11: -// words = &gSaveBlock1Ptr->tvShows[gSpecialVar_0x8005].bravoTrainer.var04[gSpecialVar_0x8006]; -// sizeParam = 0; -// break; -// case 12: -// words = gSaveBlock1Ptr->tvShows[gSpecialVar_0x8005].fanclubOpinions.var18; -// sizeParam = 1; -// break; -// case 13: -// words = (u16 *)gStringVar3; -// sub_811F88C(words, 2); -// break; -// case 14: -// words = -// default: -// return; -// } -// overworld_free_bg_tilemaps(); -// sub_811A20C(gSpecialVar_0x8004, words, sub_80861B0, sizeParam); -//} + +void easy_chat_input_maybe(void) +{ + int i; + u16 *words; + OldMan *oldMan; + u8 sizeParam = 3; + switch (gSpecialVar_0x8004) + { + case 0: + words = gSaveBlock1Ptr->unk2BB0; + break; + case 1: + words = gSaveBlock1Ptr->unk2BBC; + break; + case 2: + words = gSaveBlock1Ptr->unk2BC8; + break; + case 3: + words = gSaveBlock1Ptr->unk2BD4; + break; + case 4: + words = gSaveBlock1Ptr->mail[gSpecialVar_0x8005].words; + break; + case 6: + oldMan = &gSaveBlock1Ptr->oldMan; + for (i = 0; i < 6; i ++) + { + oldMan->oldMan1.mauvilleOldMan_ecArray2[i] = oldMan->oldMan1.mauvilleOldMan_ecArray[i]; + } + words = oldMan->oldMan1.mauvilleOldMan_ecArray2; + break; + case 5: + words = gSaveBlock1Ptr->tvShows[gSpecialVar_0x8005].bravoTrainer.words; + sizeParam = gSpecialVar_0x8006; + break; + case 7: + words = &gSaveBlock1Ptr->tvShows[gSpecialVar_0x8005].fanclubOpinions.words[gSpecialVar_0x8006]; + sizeParam = 1; + break; + case 8: + words = gSaveBlock1Ptr->tvShows[gSpecialVar_0x8005].unkShow04.words; + sizeParam = 0; + break; + case 9: + words = (u16 *)gStringVar3; + words[0] = gSaveBlock1Ptr->easyChatPairs[0].words[0]; + words[1] = gSaveBlock1Ptr->easyChatPairs[0].words[1]; + break; + case 10: + words = gSaveBlock1Ptr->gabbyAndTyData.quote; + *words = -1; + sizeParam = 1; + break; + case 11: + words = &gSaveBlock1Ptr->tvShows[gSpecialVar_0x8005].bravoTrainer.words[gSpecialVar_0x8006]; + sizeParam = 0; + break; + case 12: + words = gSaveBlock1Ptr->tvShows[gSpecialVar_0x8005].fanclubOpinions.words18; + sizeParam = 1; + break; + case 13: + words = (u16 *)gStringVar3; + InitializeEasyChatWordArray(words, 2); + break; + case 14: + words = gSaveBlock1Ptr->tvShows[gSpecialVar_0x8005].fanClubSpecial.words; + words[0] = -1; + sizeParam = 2; + break; + case 15: + words = gSaveBlock1Ptr->lilycoveLady.quiz.unk_016; + break; + case 16: + return; + case 17: + words = gSaveBlock1Ptr->lilycoveLady.quiz.unk_002; + break; + case 18: + words = gSaveBlock1Ptr->lilycoveLady.quiz.unk_014; + break; + case 19: + words = gSaveBlock2Ptr->unk_104; + break; + case 20: + words = sub_801B058(); + break; + default: + return; + } + overworld_free_bg_tilemaps(); + sub_811A20C(gSpecialVar_0x8004, words, sub_80861B0, sizeParam); +} diff --git a/src/lilycove_lady.c b/src/lilycove_lady.c index 3b7ae49f2e..356b1a4b75 100644 --- a/src/lilycove_lady.c +++ b/src/lilycove_lady.c @@ -508,7 +508,7 @@ static void sub_818DF00(void) { gUnknown_0203CD68->unk_002[i] = gUnknown_0860B1A4[v0][i]; } - gUnknown_0203CD68->unk_014 = gUnknown_0860B1E4[v0]; + gUnknown_0203CD68->unk_014[0] = gUnknown_0860B1E4[v0]; gUnknown_0203CD68->itemId = gUnknown_0860B204[v0]; gUnknown_0203CD68->unk_02b = v0; gUnknown_0203CD68->playerName[0] = EOS; @@ -525,8 +525,8 @@ static void SetLilycoveQuizLady(void) { gUnknown_0203CD68->unk_002[i] = -1; } - gUnknown_0203CD68->unk_014 = -1; - gUnknown_0203CD68->unk_016 = -1; + gUnknown_0203CD68->unk_014[0] = -1; + gUnknown_0203CD68->unk_016[0] = -1; for (i = 0; i < 4; i ++) { gUnknown_0203CD68->playerTrainerId[i] = 0; @@ -544,7 +544,7 @@ static void sub_818E004(void) gUnknown_0203CD68->id = LILYCOVE_LADY_QUIZ; gUnknown_0203CD68->phase = 0; gUnknown_0203CD68->unk_02a = 0; - gUnknown_0203CD68->unk_016 = -1; + gUnknown_0203CD68->unk_016[0] = -1; } u8 sub_818E038(void) @@ -572,7 +572,7 @@ u8 sub_818E06C(void) struct LilycoveLadyQuiz *quiz; quiz = &gSaveBlock1Ptr->lilycoveLady.quiz; - if (sub_811F8D8(quiz->unk_014) == 0) + if (sub_811F8D8(quiz->unk_014[0]) == 0) { i = quiz->unk_02b; do @@ -586,7 +586,7 @@ u8 sub_818E06C(void) { quiz->unk_002[j] = gUnknown_0860B1A4[i][j]; } - quiz->unk_014 = gUnknown_0860B1E4[i]; + quiz->unk_014[0] = gUnknown_0860B1E4[i]; quiz->itemId = gUnknown_0860B204[i]; quiz->unk_02b = i; quiz->playerName[0] = EOS; @@ -777,8 +777,8 @@ void sub_818E2FC(void) bool8 sub_818E308(void) { gUnknown_0203CD68 = &gSaveBlock1Ptr->lilycoveLady.quiz; - CopyEasyChatWord(gStringVar1, gUnknown_0203CD68->unk_014); - CopyEasyChatWord(gStringVar2, gUnknown_0203CD68->unk_016); + CopyEasyChatWord(gStringVar1, gUnknown_0203CD68->unk_014[0]); + CopyEasyChatWord(gStringVar2, gUnknown_0203CD68->unk_016[0]); return StringCompare(gStringVar1, gStringVar2) ? FALSE : TRUE; } @@ -803,7 +803,7 @@ void sub_818E39C(void) void sub_818E3BC(void) { gUnknown_0203CD68 = &gSaveBlock1Ptr->lilycoveLady.quiz; - gUnknown_0203CD68->unk_016 = -1; + gUnknown_0203CD68->unk_016[0] = -1; } void sub_818E3E0(void) @@ -834,7 +834,7 @@ void sub_818E430(void) { gUnknown_0203CD68->unk_002[i] = -1; } - gUnknown_0203CD68->unk_014 = -1; + gUnknown_0203CD68->unk_014[0] = -1; } void sub_818E47C(void) @@ -871,7 +871,7 @@ void sub_818E510(void) void sub_818E538(void) { gUnknown_0203CD68 = &gSaveBlock1Ptr->lilycoveLady.quiz; - CopyEasyChatWord(gStringVar3, gUnknown_0203CD68->unk_014); + CopyEasyChatWord(gStringVar3, gUnknown_0203CD68->unk_014[0]); } void sub_818E564(void) From 46068c0a6fd520f9dd0823729c5b88b7ae021f59 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 2 Nov 2017 19:34:19 -0400 Subject: [PATCH 006/234] sub_811A7E4 --- asm/easy_chat.s | 61 ------------------------------------------------- src/easy_chat.c | 43 ++++++++++++++++++++++++++++------ 2 files changed, 36 insertions(+), 68 deletions(-) diff --git a/asm/easy_chat.s b/asm/easy_chat.s index 206f2d9c41..d35d441da9 100644 --- a/asm/easy_chat.s +++ b/asm/easy_chat.s @@ -5,67 +5,6 @@ .text - thumb_func_start sub_811A7E4 -sub_811A7E4: @ 811A7E4 - push {lr} - bl UpdatePaletteFade - ldr r0, =gMain - movs r1, 0x87 - lsls r1, 3 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - beq _0811A804 - cmp r0, 0x1 - beq _0811A80E - b _0811A840 - .pool -_0811A804: - movs r0, 0x1 - movs r1, 0 - bl fade_screen - b _0811A840 -_0811A80E: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0811A84E - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, =0x00003b58 - adds r0, r1 - ldr r1, =0x0000ffff - strh r1, [r0, 0x16] - bl overworld_free_bg_tilemaps - bl sub_811A8F0 - b _0811A84E - .pool -_0811A840: - ldr r1, =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_0811A84E: - pop {r0} - bx r0 - .pool - thumb_func_end sub_811A7E4 - - thumb_func_start sub_811A858 -sub_811A858: @ 811A858 - push {lr} - ldr r0, =sub_811A7E4 - bl SetMainCallback2 - pop {r0} - bx r0 - .pool - thumb_func_end sub_811A858 - thumb_func_start sub_811A868 sub_811A868: @ 811A868 push {lr} diff --git a/src/easy_chat.c b/src/easy_chat.c index 0d02e0d5ae..c2da4dc8a7 100644 --- a/src/easy_chat.c +++ b/src/easy_chat.c @@ -7,6 +7,7 @@ #include "task.h" #include "main.h" #include "link.h" +#include "field_weather.h" #include "window.h" #include "palette.h" #include "event_data.h" @@ -26,18 +27,19 @@ static void sub_811A2C0(u8); static void sub_811A278(void); static bool8 sub_811A428(u8); static void sub_811A2FC(u8); -/*static*/ u16 sub_811AAAC(void); -/*static*/ bool32 sub_811A88C(u16); -/*static*/ void sub_811C158(u16); -/*static*/ bool8 sub_811C170(void); -/*static*/ void sub_811A8A4(u16); /*static*/ void sub_811A4D0(MainCallback); -bool8 sub_811F28C(void); +/*static*/ bool32 sub_811A88C(u16); +/*static*/ void sub_811A8A4(u16); +void sub_811A8F0(void); bool8 sub_811A95C(u8, u32, u8); +void sub_811AA90(void); +/*static*/ u16 sub_811AAAC(void); bool8 sub_811BF8C(void); bool8 sub_811BFA4(void); void sub_811C13C(void); -void sub_811AA90(void); +/*static*/ void sub_811C158(u16); +/*static*/ bool8 sub_811C170(void); +bool8 sub_811F28C(void); void sub_811F2B8(void); // Static ROM declarations @@ -304,3 +306,30 @@ void easy_chat_input_maybe(void) sub_811A20C(gSpecialVar_0x8004, words, sub_80861B0, sizeParam); } +static void sub_811A7E4(void) +{ + LilycoveLady *lilycoveLady; + + UpdatePaletteFade(); + switch (gMain.state) + { + case 0: + fade_screen(1, 0); + break; + case 1: + if (!gPaletteFade.active) + { + lilycoveLady = &gSaveBlock1Ptr->lilycoveLady; + lilycoveLady->quiz.unk_016[0] = -1; + overworld_free_bg_tilemaps(); + sub_811A8F0(); + } + return; + } + gMain.state ++; +} + +void sub_811A858(void) +{ + SetMainCallback2(sub_811A7E4); +} From 85eb28ba42f035bbf5ee2e2ffd2fecee1bf55990 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 2 Nov 2017 19:44:03 -0400 Subject: [PATCH 007/234] through sub_811A8A4 --- asm/easy_chat.s | 58 ------------------------------------------------- src/easy_chat.c | 37 +++++++++++++++++++++++++++++-- 2 files changed, 35 insertions(+), 60 deletions(-) diff --git a/asm/easy_chat.s b/asm/easy_chat.s index d35d441da9..5c89b1528d 100644 --- a/asm/easy_chat.s +++ b/asm/easy_chat.s @@ -5,64 +5,6 @@ .text - thumb_func_start sub_811A868 -sub_811A868: @ 811A868 - push {lr} - lsls r0, 16 - lsrs r2, r0, 16 - movs r0, 0 - ldr r1, =gUnknown_08597530 -_0811A872: - ldrh r3, [r1] - cmp r2, r3 - beq _0811A884 - adds r1, 0x8 - adds r0, 0x1 - cmp r0, 0x3 - bls _0811A872 - movs r0, 0x1 - negs r0, r0 -_0811A884: - pop {r1} - bx r1 - .pool - thumb_func_end sub_811A868 - - thumb_func_start sub_811A88C -sub_811A88C: @ 811A88C - push {lr} - lsls r0, 16 - lsrs r0, 16 - bl sub_811A868 - adds r1, r0, 0 - mvns r1, r1 - negs r0, r1 - orrs r0, r1 - lsrs r0, 31 - pop {r1} - bx r1 - thumb_func_end sub_811A88C - - thumb_func_start sub_811A8A4 -sub_811A8A4: @ 811A8A4 - push {r4,lr} - lsls r0, 16 - lsrs r0, 16 - bl sub_811A868 - adds r4, r0, 0 - bl ResetTasks - ldr r0, =gUnknown_08597530 - lsls r4, 3 - adds r0, 0x4 - adds r4, r0 - ldr r0, [r4] - bl sub_811A4D0 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_811A8A4 - thumb_func_start sub_811A8CC sub_811A8CC: @ 811A8CC push {lr} diff --git a/src/easy_chat.c b/src/easy_chat.c index c2da4dc8a7..de66fb9eb5 100644 --- a/src/easy_chat.c +++ b/src/easy_chat.c @@ -28,8 +28,8 @@ static void sub_811A278(void); static bool8 sub_811A428(u8); static void sub_811A2FC(u8); /*static*/ void sub_811A4D0(MainCallback); -/*static*/ bool32 sub_811A88C(u16); -/*static*/ void sub_811A8A4(u16); +static bool32 sub_811A88C(u16); +static void sub_811A8A4(u16); void sub_811A8F0(void); bool8 sub_811A95C(u8, u32, u8); void sub_811AA90(void); @@ -46,6 +46,11 @@ void sub_811F2B8(void); // .rodata +extern const struct { + u16 word; + MainCallback callback; +} gUnknown_08597530[4]; + // .text void sub_811A20C(u8 kind, u16 *words, MainCallback callback, u8 sizeParam) @@ -333,3 +338,31 @@ void sub_811A858(void) { SetMainCallback2(sub_811A7E4); } + +static int sub_811A868(u16 word) +{ + int i; + + for (i = 0; i < ARRAY_COUNT(gUnknown_08597530); i ++) + { + if (word == gUnknown_08597530[i].word) + { + return i; + } + } + return -1; +} + +static bool32 sub_811A88C(u16 word) +{ + return sub_811A868(word) == -1 ? FALSE : TRUE; +} + +static void sub_811A8A4(u16 word) +{ + int i; + + i = sub_811A868(word); + ResetTasks(); + sub_811A4D0(gUnknown_08597530[i].callback); +} From 1049cd670d115c114f616e9118bc0fc9fb5fac64 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 2 Nov 2017 19:48:43 -0400 Subject: [PATCH 008/234] through sub_811A938 --- asm/easy_chat.s | 64 ------------------------------------------------- src/easy_chat.c | 22 ++++++++++++++++- 2 files changed, 21 insertions(+), 65 deletions(-) diff --git a/asm/easy_chat.s b/asm/easy_chat.s index 5c89b1528d..2e2284aac1 100644 --- a/asm/easy_chat.s +++ b/asm/easy_chat.s @@ -5,70 +5,6 @@ .text - thumb_func_start sub_811A8CC -sub_811A8CC: @ 811A8CC - push {lr} - ldr r0, =gSaveBlock1Ptr - ldr r1, [r0] - ldr r0, =0x00003b6e - adds r1, r0 - ldr r2, =sub_80861B0 - movs r0, 0xF - movs r3, 0x3 - bl sub_811A20C - pop {r0} - bx r0 - .pool - thumb_func_end sub_811A8CC - - thumb_func_start sub_811A8F0 -sub_811A8F0: @ 811A8F0 - push {lr} - ldr r0, =gSaveBlock1Ptr - ldr r1, [r0] - ldr r0, =0x00003b5a - adds r1, r0 - ldr r2, =sub_80861B0 - movs r0, 0x10 - movs r3, 0x3 - bl sub_811A20C - pop {r0} - bx r0 - .pool - thumb_func_end sub_811A8F0 - - thumb_func_start sub_811A914 -sub_811A914: @ 811A914 - push {lr} - ldr r0, =gSaveBlock1Ptr - ldr r1, [r0] - ldr r0, =0x00003b6c - adds r1, r0 - ldr r2, =sub_80861B0 - movs r0, 0x12 - movs r3, 0x3 - bl sub_811A20C - pop {r0} - bx r0 - .pool - thumb_func_end sub_811A914 - - thumb_func_start sub_811A938 -sub_811A938: @ 811A938 - push {lr} - ldr r0, =gSaveBlock1Ptr - ldr r1, [r0] - ldr r0, =0x00003b5a - adds r1, r0 - ldr r2, =sub_80861B0 - movs r0, 0x11 - movs r3, 0x3 - bl sub_811A20C - pop {r0} - bx r0 - .pool - thumb_func_end sub_811A938 - thumb_func_start sub_811A95C sub_811A95C: @ 811A95C push {r4-r7,lr} diff --git a/src/easy_chat.c b/src/easy_chat.c index de66fb9eb5..c1a68f4e25 100644 --- a/src/easy_chat.c +++ b/src/easy_chat.c @@ -30,7 +30,7 @@ static void sub_811A2FC(u8); /*static*/ void sub_811A4D0(MainCallback); static bool32 sub_811A88C(u16); static void sub_811A8A4(u16); -void sub_811A8F0(void); +static void sub_811A8F0(void); bool8 sub_811A95C(u8, u32, u8); void sub_811AA90(void); /*static*/ u16 sub_811AAAC(void); @@ -366,3 +366,23 @@ static void sub_811A8A4(u16 word) ResetTasks(); sub_811A4D0(gUnknown_08597530[i].callback); } + +static void sub_811A8CC(void) +{ + sub_811A20C(0xF, gSaveBlock1Ptr->lilycoveLady.quiz.unk_016, sub_80861B0, 3); +} + +static void sub_811A8F0(void) +{ + sub_811A20C(0x10, gSaveBlock1Ptr->lilycoveLady.quiz.unk_002, sub_80861B0, 3); +} + +static void sub_811A914(void) +{ + sub_811A20C(0x12, gSaveBlock1Ptr->lilycoveLady.quiz.unk_014, sub_80861B0, 3); +} + +static void sub_811A938(void) +{ + sub_811A20C(0x11, gSaveBlock1Ptr->lilycoveLady.quiz.unk_002, sub_80861B0, 3); +} From 881d222621a0f92d8548ba70bb1c5dbdfcf0555f Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 2 Nov 2017 20:37:03 -0400 Subject: [PATCH 009/234] sub_811A95C --- asm/easy_chat.s | 153 ------------------------------------------------ src/easy_chat.c | 96 ++++++++++++++++++++++++++++-- 2 files changed, 92 insertions(+), 157 deletions(-) diff --git a/asm/easy_chat.s b/asm/easy_chat.s index 2e2284aac1..efd27ccf7e 100644 --- a/asm/easy_chat.s +++ b/asm/easy_chat.s @@ -5,159 +5,6 @@ .text - thumb_func_start sub_811A95C -sub_811A95C: @ 811A95C - push {r4-r7,lr} - mov r7, r8 - push {r7} - mov r8, r1 - lsls r0, 24 - lsrs r5, r0, 24 - lsls r2, 24 - lsrs r6, r2, 24 - ldr r4, =gUnknown_0203A118 - movs r0, 0x50 - bl Alloc - str r0, [r4] - cmp r0, 0 - bne _0811A984 - movs r0, 0 - b _0811AA7E - .pool -_0811A984: - movs r7, 0 - strb r5, [r0] - ldr r0, [r4] - mov r1, r8 - str r1, [r0, 0x38] - strb r7, [r0, 0x5] - ldr r0, [r4] - strb r7, [r0, 0x6] - ldr r0, [r4] - strb r7, [r0, 0x9] - ldr r0, [r4] - strb r6, [r0, 0x12] - ldr r0, [r4] - strb r7, [r0, 0x13] - adds r0, r5, 0 - bl sub_811BCC8 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r5, 0x10 - bne _0811A9C6 - ldr r0, [r4] - adds r0, 0x14 - bl sub_811BDF0 - ldr r0, [r4] - adds r1, r0, 0 - adds r1, 0x14 - str r1, [r0, 0x34] - movs r1, 0x7 - strb r1, [r0, 0x4] - lsls r0, r6, 1 - b _0811A9DE -_0811A9C6: - ldr r0, [r4] - strb r7, [r0, 0x4] - ldr r3, [r4] - ldr r1, =gUnknown_08597550 - lsls r2, r6, 1 - adds r0, r2, r6 - lsls r0, 3 - adds r1, 0x4 - adds r0, r1 - ldr r0, [r0] - str r0, [r3, 0x34] - adds r0, r2, 0 -_0811A9DE: - ldr r3, =gUnknown_0203A118 - ldr r2, [r3] - ldr r1, =gUnknown_08597550 - adds r0, r6 - lsls r0, 3 - adds r0, r1 - ldrb r1, [r0, 0x1] - strb r1, [r2, 0x2] - ldr r1, [r3] - ldrb r0, [r0, 0x2] - strb r0, [r1, 0x3] - ldr r0, [r3] - ldrb r2, [r0, 0x2] - ldrb r1, [r0, 0x3] - adds r4, r2, 0 - muls r4, r1 - adds r1, r4, 0 - strb r1, [r0, 0x7] - ldr r0, [r3] - strb r6, [r0, 0x1] - ldr r1, [r3] - ldrb r0, [r1, 0x7] - adds r4, r3, 0 - cmp r0, 0x9 - bls _0811AA14 - movs r0, 0x9 - strb r0, [r1, 0x7] -_0811AA14: - mov r0, r8 - cmp r0, 0 - beq _0811AA34 - ldr r0, [r4] - adds r1, r0, 0 - adds r1, 0x3C - ldrb r2, [r0, 0x7] - mov r0, r8 - bl CpuSet - b _0811AA64 - .pool -_0811AA34: - movs r3, 0 - ldr r0, [r4] - ldrb r0, [r0, 0x7] - cmp r3, r0 - bge _0811AA5C - adds r6, r4, 0 - ldr r1, =0x0000ffff - adds r5, r1, 0 -_0811AA44: - ldr r2, [r6] - lsls r0, r3, 1 - adds r1, r2, 0 - adds r1, 0x3C - adds r1, r0 - ldrh r0, [r1] - orrs r0, r5 - strh r0, [r1] - adds r3, 0x1 - ldrb r2, [r2, 0x7] - cmp r3, r2 - blt _0811AA44 -_0811AA5C: - ldr r1, [r4] - adds r0, r1, 0 - adds r0, 0x3C - str r0, [r1, 0x38] -_0811AA64: - bl sub_811F3AC - ldr r1, =gUnknown_0203A118 - ldr r2, [r1] - lsls r0, 24 - lsrs r0, 24 - subs r0, 0x1 - lsrs r1, r0, 31 - adds r0, r1 - asrs r0, 1 - adds r0, 0x1 - strb r0, [r2, 0xD] - movs r0, 0x1 -_0811AA7E: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_811A95C - thumb_func_start sub_811AA90 sub_811AA90: @ 811AA90 push {r4,lr} diff --git a/src/easy_chat.c b/src/easy_chat.c index c1a68f4e25..6a04d6514b 100644 --- a/src/easy_chat.c +++ b/src/easy_chat.c @@ -1,6 +1,7 @@ // Includes #include "global.h" +#include "malloc.h" #include "songs.h" #include "sound.h" #include "overworld.h" @@ -23,6 +24,31 @@ #define EZCHAT_TASK_SIZE 7 // Static RAM declarations + +EWRAM_DATA struct { + u8 kind; + u8 unk_01; + u8 unk_02; + u8 unk_03; + u8 unk_04; + u8 unk_05; + u8 unk_06; + u8 unk_07; + u8 unk_08; + u8 unk_09; + u8 filler_0a[0x3]; + u8 unk_0d; + u8 unk_0e[0x4]; + u8 sizeParam; + u8 unk_13; + u8 unk_14[0x20]; + const u8 *src; + const u16 *words; + u16 ecWordBuffer[9]; +} *gUnknown_0203A118 = NULL; + +// Static ROM declarations + static void sub_811A2C0(u8); static void sub_811A278(void); static bool8 sub_811A428(u8); @@ -31,9 +57,11 @@ static void sub_811A2FC(u8); static bool32 sub_811A88C(u16); static void sub_811A8A4(u16); static void sub_811A8F0(void); -bool8 sub_811A95C(u8, u32, u8); +static bool8 sub_811A95C(u8, u16 *, u8); void sub_811AA90(void); /*static*/ u16 sub_811AAAC(void); +u8 sub_811BCC8(u8); +void sub_811BDF0(u8 *); bool8 sub_811BF8C(void); bool8 sub_811BFA4(void); void sub_811C13C(void); @@ -41,8 +69,7 @@ void sub_811C13C(void); /*static*/ bool8 sub_811C170(void); bool8 sub_811F28C(void); void sub_811F2B8(void); - -// Static ROM declarations +u8 sub_811F3AC(void); // .rodata @@ -50,6 +77,14 @@ extern const struct { u16 word; MainCallback callback; } gUnknown_08597530[4]; +extern const struct { + u8 unk_00; + u8 unk_01; + u8 unk_02; + u8 unk_03; + u8 *data; + u8 filler_08[16]; +} gUnknown_08597550[]; // .text @@ -184,7 +219,7 @@ static bool8 sub_811A428(u8 taskId) } break; case 2: - if (!sub_811A95C(data[EZCHAT_TASK_KIND], GetWordTaskArg(taskId, EZCHAT_TASK_WORDS), data[EZCHAT_TASK_SIZE])) + if (!sub_811A95C(data[EZCHAT_TASK_KIND], (u16 *)GetWordTaskArg(taskId, EZCHAT_TASK_WORDS), data[EZCHAT_TASK_SIZE])) { sub_811A4D0((MainCallback)GetWordTaskArg(taskId, EZCHAT_TASK_MAINCALLBACK)); } @@ -386,3 +421,56 @@ static void sub_811A938(void) { sub_811A20C(0x11, gSaveBlock1Ptr->lilycoveLady.quiz.unk_002, sub_80861B0, 3); } + +static bool8 sub_811A95C(u8 kind, u16 *words, u8 sizeParam) +{ + u8 r6; + int i; + + gUnknown_0203A118 = malloc(sizeof(*gUnknown_0203A118)); + if (gUnknown_0203A118 == NULL) + { + return FALSE; + } + gUnknown_0203A118->kind = kind; + gUnknown_0203A118->words = words; + gUnknown_0203A118->unk_05 = 0; + gUnknown_0203A118->unk_06 = 0; + gUnknown_0203A118->unk_09 = 0; + gUnknown_0203A118->sizeParam = sizeParam; + gUnknown_0203A118->unk_13 = 0; + r6 = sub_811BCC8(kind); + if (kind == 0x10) + { + sub_811BDF0(gUnknown_0203A118->unk_14); + gUnknown_0203A118->src = gUnknown_0203A118->unk_14; + gUnknown_0203A118->unk_04 = 7; + } + else + { + gUnknown_0203A118->unk_04 = 0; + gUnknown_0203A118->src = gUnknown_08597550[r6].data; + } + gUnknown_0203A118->unk_02 = gUnknown_08597550[r6].unk_01; + gUnknown_0203A118->unk_03 = gUnknown_08597550[r6].unk_02; + gUnknown_0203A118->unk_07 = gUnknown_0203A118->unk_02 * gUnknown_0203A118->unk_03; + gUnknown_0203A118->unk_01 = r6; + if (gUnknown_0203A118->unk_07 > 9) + { + gUnknown_0203A118->unk_07 = 9; + } + if (words != NULL) + { + CpuCopy16(words, gUnknown_0203A118->ecWordBuffer, gUnknown_0203A118->unk_07 * sizeof(u16)); + } + else + { + for (i = 0; i < gUnknown_0203A118->unk_07; i ++) + { + gUnknown_0203A118->ecWordBuffer[i] = -1; + } + gUnknown_0203A118->words = gUnknown_0203A118->ecWordBuffer; + } + gUnknown_0203A118->unk_0d = (sub_811F3AC() - 1) / 2 + 1; + return TRUE; +} From 42c1164d721ad4fa8bd0583d142b8eea77724475 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 2 Nov 2017 20:51:13 -0400 Subject: [PATCH 010/234] sub_811AAAC --- asm/easy_chat.s | 87 ------------------------------------------------- src/easy_chat.c | 66 ++++++++++++++++++++++++++++++++----- 2 files changed, 58 insertions(+), 95 deletions(-) diff --git a/asm/easy_chat.s b/asm/easy_chat.s index efd27ccf7e..5cb89246c1 100644 --- a/asm/easy_chat.s +++ b/asm/easy_chat.s @@ -5,93 +5,6 @@ .text - thumb_func_start sub_811AA90 -sub_811AA90: @ 811AA90 - push {r4,lr} - ldr r4, =gUnknown_0203A118 - ldr r0, [r4] - cmp r0, 0 - beq _0811AAA2 - bl Free - movs r0, 0 - str r0, [r4] -_0811AAA2: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_811AA90 - - thumb_func_start sub_811AAAC -sub_811AAAC: @ 811AAAC - push {lr} - ldr r0, =gUnknown_0203A118 - ldr r0, [r0] - ldrb r0, [r0, 0x4] - cmp r0, 0xA - bhi _0811AB3E - lsls r0, 2 - ldr r1, =_0811AACC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0811AACC: - .4byte _0811AAF8 - .4byte _0811AAFE - .4byte _0811AB04 - .4byte _0811AB0A - .4byte _0811AB10 - .4byte _0811AB16 - .4byte _0811AB1C - .4byte _0811AB22 - .4byte _0811AB28 - .4byte _0811AB2E - .4byte _0811AB34 -_0811AAF8: - bl sub_811AB68 - b _0811AB38 -_0811AAFE: - bl sub_811ACDC - b _0811AB38 -_0811AB04: - bl sub_811AE44 - b _0811AB38 -_0811AB0A: - bl sub_811AF00 - b _0811AB38 -_0811AB10: - bl sub_811AF8C - b _0811AB38 -_0811AB16: - bl sub_811B040 - b _0811AB38 -_0811AB1C: - bl sub_811AFEC - b _0811AB38 -_0811AB22: - bl sub_811B08C - b _0811AB38 -_0811AB28: - bl sub_811B0BC - b _0811AB38 -_0811AB2E: - bl sub_811B0E8 - b _0811AB38 -_0811AB34: - bl sub_811B0F8 -_0811AB38: - lsls r0, 16 - lsrs r0, 16 - b _0811AB40 -_0811AB3E: - movs r0, 0 -_0811AB40: - pop {r1} - bx r1 - thumb_func_end sub_811AAAC - thumb_func_start sub_811AB44 sub_811AB44: @ 811AB44 push {lr} diff --git a/src/easy_chat.c b/src/easy_chat.c index 6a04d6514b..26f1f08b0f 100644 --- a/src/easy_chat.c +++ b/src/easy_chat.c @@ -53,13 +53,24 @@ static void sub_811A2C0(u8); static void sub_811A278(void); static bool8 sub_811A428(u8); static void sub_811A2FC(u8); -/*static*/ void sub_811A4D0(MainCallback); +static void sub_811A4D0(MainCallback); static bool32 sub_811A88C(u16); static void sub_811A8A4(u16); static void sub_811A8F0(void); -static bool8 sub_811A95C(u8, u16 *, u8); -void sub_811AA90(void); -/*static*/ u16 sub_811AAAC(void); +static bool8 EasyChat_AllocateResources(u8, u16 *, u8); +static void EasyChat_FreeResources(void); +static u16 sub_811AAAC(void); +u16 sub_811AB68(void); +u16 sub_811ACDC(void); +u16 sub_811AE44(void); +u16 sub_811AF00(void); +u16 sub_811AF8C(void); +u16 sub_811B040(void); +u16 sub_811AFEC(void); +u16 sub_811B08C(void); +u16 sub_811B0BC(void); +u16 sub_811B0E8(void); +u16 sub_811B0F8(void); u8 sub_811BCC8(u8); void sub_811BDF0(u8 *); bool8 sub_811BF8C(void); @@ -219,7 +230,7 @@ static bool8 sub_811A428(u8 taskId) } break; case 2: - if (!sub_811A95C(data[EZCHAT_TASK_KIND], (u16 *)GetWordTaskArg(taskId, EZCHAT_TASK_WORDS), data[EZCHAT_TASK_SIZE])) + if (!EasyChat_AllocateResources(data[EZCHAT_TASK_KIND], (u16 *)GetWordTaskArg(taskId, EZCHAT_TASK_WORDS), data[EZCHAT_TASK_SIZE])) { sub_811A4D0((MainCallback)GetWordTaskArg(taskId, EZCHAT_TASK_MAINCALLBACK)); } @@ -243,10 +254,10 @@ static bool8 sub_811A428(u8 taskId) return TRUE; } -void sub_811A4D0(MainCallback callback) +static void sub_811A4D0(MainCallback callback) { sub_811C13C(); - sub_811AA90(); + EasyChat_FreeResources(); sub_811F2B8(); FreeAllWindowBuffers(); SetMainCallback2(callback); @@ -422,7 +433,7 @@ static void sub_811A938(void) sub_811A20C(0x11, gSaveBlock1Ptr->lilycoveLady.quiz.unk_002, sub_80861B0, 3); } -static bool8 sub_811A95C(u8 kind, u16 *words, u8 sizeParam) +static bool8 EasyChat_AllocateResources(u8 kind, u16 *words, u8 sizeParam) { u8 r6; int i; @@ -474,3 +485,42 @@ static bool8 sub_811A95C(u8 kind, u16 *words, u8 sizeParam) gUnknown_0203A118->unk_0d = (sub_811F3AC() - 1) / 2 + 1; return TRUE; } + +static void EasyChat_FreeResources(void) +{ + if (gUnknown_0203A118 != NULL) + { + free(gUnknown_0203A118); + gUnknown_0203A118 = NULL; + } +} + +static u16 sub_811AAAC(void) +{ + switch (gUnknown_0203A118->unk_04) + { + case 0: + return sub_811AB68(); + case 1: + return sub_811ACDC(); + case 2: + return sub_811AE44(); + case 3: + return sub_811AF00(); + case 4: + return sub_811AF8C(); + case 5: + return sub_811B040(); + case 6: + return sub_811AFEC(); + case 7: + return sub_811B08C(); + case 8: + return sub_811B0BC(); + case 9: + return sub_811B0E8(); + case 10: + return sub_811B0F8(); + } + return 0; +} From 293dfc4823d6c984adc221b40be4e3705a3fa65b Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 2 Nov 2017 20:54:13 -0400 Subject: [PATCH 011/234] sub_811AB44 --- asm/easy_chat.s | 24 ------------------------ src/easy_chat.c | 15 ++++++++++++++- 2 files changed, 14 insertions(+), 25 deletions(-) diff --git a/asm/easy_chat.s b/asm/easy_chat.s index 5cb89246c1..764ed8b8e1 100644 --- a/asm/easy_chat.s +++ b/asm/easy_chat.s @@ -5,30 +5,6 @@ .text - thumb_func_start sub_811AB44 -sub_811AB44: @ 811AB44 - push {lr} - bl sub_811BA68 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - beq _0811AB5E - cmp r0, 0x2 - blt _0811AB62 - cmp r0, 0x8 - bgt _0811AB62 - cmp r0, 0x7 - blt _0811AB62 -_0811AB5E: - movs r0, 0x1 - b _0811AB64 -_0811AB62: - movs r0, 0 -_0811AB64: - pop {r1} - bx r1 - thumb_func_end sub_811AB44 - thumb_func_start sub_811AB68 sub_811AB68: @ 811AB68 push {r4-r7,lr} diff --git a/src/easy_chat.c b/src/easy_chat.c index 26f1f08b0f..9b69f1d0ae 100644 --- a/src/easy_chat.c +++ b/src/easy_chat.c @@ -65,12 +65,13 @@ u16 sub_811ACDC(void); u16 sub_811AE44(void); u16 sub_811AF00(void); u16 sub_811AF8C(void); -u16 sub_811B040(void); u16 sub_811AFEC(void); +u16 sub_811B040(void); u16 sub_811B08C(void); u16 sub_811B0BC(void); u16 sub_811B0E8(void); u16 sub_811B0F8(void); +u8 sub_811BA68(void); u8 sub_811BCC8(u8); void sub_811BDF0(u8 *); bool8 sub_811BF8C(void); @@ -524,3 +525,15 @@ static u16 sub_811AAAC(void) } return 0; } + +bool8 sub_811AB44(void) +{ + switch (sub_811BA68()) + { + case 2: + case 7: + case 8: + return TRUE; + } + return FALSE; +} From 6b84feaaf2ba492bef23a42c28603bbaa3ccd2e6 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 25 Nov 2017 13:19:06 -0500 Subject: [PATCH 012/234] nonmatching sub_811AB68 --- asm/easy_chat.s | 190 -------------------------------- src/easy_chat.c | 282 +++++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 277 insertions(+), 195 deletions(-) diff --git a/asm/easy_chat.s b/asm/easy_chat.s index f1aee4b982..abc2e3429e 100644 --- a/asm/easy_chat.s +++ b/asm/easy_chat.s @@ -5,196 +5,6 @@ .text - thumb_func_start sub_811AB68 -sub_811AB68: @ 811AB68 - push {r4-r7,lr} - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0811ABB8 - bl sub_811BF78 - ldr r1, =gUnknown_0203A118 - ldr r3, [r1] - movs r2, 0 - movs r0, 0x2 - strb r0, [r3, 0x4] - ldr r0, [r1] - strb r2, [r0, 0xA] - ldr r0, [r1] - strb r2, [r0, 0xB] - ldr r0, [r1] - strb r2, [r0, 0xC] - movs r0, 0x9 - b _0811ACCC - .pool -_0811AB9C: - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - bne _0811AC68 - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0811AC58 - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - bne _0811AC48 - movs r0, 0 - b _0811ACCC -_0811ABB8: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - bne _0811AC78 - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - bne _0811AC7E - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _0811AB9C - ldr r2, =gUnknown_0203A118 - ldr r1, [r2] - ldrb r0, [r1, 0x6] - subs r0, 0x1 -_0811ABD8: - strb r0, [r1, 0x6] -_0811ABDA: - adds r7, r2, 0 - adds r4, r7, 0 - ldr r2, [r4] - movs r0, 0x6 - ldrsb r0, [r2, r0] - ldr r6, =gUnknown_08597550 - cmp r0, 0 - bge _0811ABF8 - ldrb r0, [r2, 0x1] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 3 - adds r1, r6 - ldrb r0, [r1, 0x2] - strb r0, [r2, 0x6] -_0811ABF8: - ldr r3, [r4] - movs r2, 0x6 - ldrsb r2, [r3, r2] - adds r5, r6, 0 - ldrb r1, [r3, 0x1] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - adds r0, r5 - ldrb r0, [r0, 0x2] - cmp r2, r0 - ble _0811AC14 - movs r0, 0 - strb r0, [r3, 0x6] -_0811AC14: - ldr r3, [r4] - movs r2, 0x6 - ldrsb r2, [r3, r2] - ldrb r1, [r3, 0x1] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - adds r1, r0, r5 - ldrb r0, [r1, 0x2] - cmp r2, r0 - bne _0811AC88 - movs r0, 0x5 - ldrsb r0, [r3, r0] - cmp r0, 0x2 - ble _0811AC36 - movs r0, 0x2 - strb r0, [r3, 0x5] -_0811AC36: - ldr r1, [r4] - movs r0, 0x1 - strb r0, [r1, 0x4] - movs r0, 0x3 - b _0811ACCC - .pool -_0811AC48: - ldr r2, =gUnknown_0203A118 - ldr r1, [r2] - ldrb r0, [r1, 0x5] - adds r0, 0x1 - strb r0, [r1, 0x5] - b _0811ABDA - .pool -_0811AC58: - ldr r2, =gUnknown_0203A118 - ldr r1, [r2] - ldrb r0, [r1, 0x6] - adds r0, 0x1 - b _0811ABD8 - .pool -_0811AC68: - ldr r2, =gUnknown_0203A118 - ldr r1, [r2] - ldrb r0, [r1, 0x5] - subs r0, 0x1 - strb r0, [r1, 0x5] - b _0811ABDA - .pool -_0811AC78: - bl sub_811B150 - b _0811AC82 -_0811AC7E: - bl sub_811B1B4 -_0811AC82: - lsls r0, 16 - lsrs r0, 16 - b _0811ACCC -_0811AC88: - movs r0, 0x5 - ldrsb r0, [r3, r0] - cmp r0, 0 - bge _0811AC96 - ldrb r0, [r1, 0x1] - subs r0, 0x1 - strb r0, [r3, 0x5] -_0811AC96: - ldr r3, [r4] - movs r2, 0x5 - ldrsb r2, [r3, r2] - ldrb r1, [r3, 0x1] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - adds r0, r6 - ldrb r0, [r0, 0x1] - cmp r2, r0 - blt _0811ACB0 - movs r0, 0 - strb r0, [r3, 0x5] -_0811ACB0: - bl sub_811AB44 - cmp r0, 0 - beq _0811ACCA - ldr r2, [r7] - ldr r0, [r2, 0x4] - ldr r1, =0x00ffff00 - ands r0, r1 - ldr r1, =0x00040100 - cmp r0, r1 - bne _0811ACCA - movs r0, 0 - strb r0, [r2, 0x5] -_0811ACCA: - movs r0, 0x2 -_0811ACCC: - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_811AB68 - thumb_func_start sub_811ACDC sub_811ACDC: @ 811ACDC push {r4-r6,lr} diff --git a/src/easy_chat.c b/src/easy_chat.c index 9b69f1d0ae..0ed5bdea97 100644 --- a/src/easy_chat.c +++ b/src/easy_chat.c @@ -31,12 +31,14 @@ EWRAM_DATA struct { u8 unk_02; u8 unk_03; u8 unk_04; - u8 unk_05; - u8 unk_06; + s8 unk_05; + s8 unk_06; u8 unk_07; u8 unk_08; u8 unk_09; - u8 filler_0a[0x3]; + u8 unk_0a; + u8 unk_0b; + u8 unk_0c; u8 unk_0d; u8 unk_0e[0x4]; u8 sizeParam; @@ -60,7 +62,7 @@ static void sub_811A8F0(void); static bool8 EasyChat_AllocateResources(u8, u16 *, u8); static void EasyChat_FreeResources(void); static u16 sub_811AAAC(void); -u16 sub_811AB68(void); +static u16 sub_811AB68(void); u16 sub_811ACDC(void); u16 sub_811AE44(void); u16 sub_811AF00(void); @@ -71,9 +73,12 @@ u16 sub_811B08C(void); u16 sub_811B0BC(void); u16 sub_811B0E8(void); u16 sub_811B0F8(void); +u16 sub_811B150(void); +u16 sub_811B1B4(void); u8 sub_811BA68(void); u8 sub_811BCC8(u8); void sub_811BDF0(u8 *); +void sub_811BF78(void); bool8 sub_811BF8C(void); bool8 sub_811BFA4(void); void sub_811C13C(void); @@ -526,7 +531,7 @@ static u16 sub_811AAAC(void) return 0; } -bool8 sub_811AB44(void) +bool32 sub_811AB44(void) { switch (sub_811BA68()) { @@ -537,3 +542,270 @@ bool8 sub_811AB44(void) } return FALSE; } + +#ifdef NONMATCHING +static u16 sub_811AB68(void) +{ + if (gMain.newKeys & A_BUTTON) + { + sub_811BF78(); + gUnknown_0203A118->unk_04 = 2; + gUnknown_0203A118->unk_0a = 0; + gUnknown_0203A118->unk_0b = 0; + gUnknown_0203A118->unk_0c = 0; + return 9; + } + else if (gMain.newKeys & B_BUTTON) + { // FIXME: See note below + return sub_811B150(); + } + else if (gMain.newKeys & START_BUTTON) + { // FIXME: See note below + return sub_811B1B4(); + } + else if (gMain.newKeys & DPAD_UP) + { + gUnknown_0203A118->unk_06--; + } + else if (gMain.newKeys & DPAD_LEFT) + { // FIXME: See note below + gUnknown_0203A118->unk_05--; + } + else if (gMain.newKeys & DPAD_DOWN) + { // FIXME: See note below + gUnknown_0203A118->unk_06++; + } + else if (gMain.newKeys & DPAD_RIGHT) + { // FIXME: See note below + gUnknown_0203A118->unk_05++; + } + else + { + return 0; + } + if (gUnknown_0203A118->unk_06 < 0) + { + gUnknown_0203A118->unk_06 = gUnknown_08597550[gUnknown_0203A118->unk_01].unk_02; + } + if (gUnknown_0203A118->unk_06 > gUnknown_08597550[gUnknown_0203A118->unk_01].unk_02) + { + gUnknown_0203A118->unk_06 = 0; + } + if (gUnknown_0203A118->unk_06 == gUnknown_08597550[gUnknown_0203A118->unk_01].unk_02) + { + if (gUnknown_0203A118->unk_05 > 2) + { + gUnknown_0203A118->unk_05 = 2; + } + gUnknown_0203A118->unk_04 = 1; + return 3; + } + /* + * FIXME: right, down, left, b, and start + * should be inserted here, but aren't + */ + if (gUnknown_0203A118->unk_05 < 0) + { + gUnknown_0203A118->unk_05 = gUnknown_08597550[gUnknown_0203A118->unk_01].unk_01 - 1; + } + if (gUnknown_0203A118->unk_05 >= gUnknown_08597550[gUnknown_0203A118->unk_01].unk_01) + { + gUnknown_0203A118->unk_05 = 0; + } + if (sub_811AB44() && gUnknown_0203A118->unk_05 == 1 && gUnknown_0203A118->unk_06 == 4) + { + gUnknown_0203A118->unk_05 = 0; + } + return 2; +} +#else +__attribute__((naked)) static u16 sub_811AB68(void) +{ + asm_unified("\tpush {r4-r7,lr}\n" + "\tldr r0, =gMain\n" + "\tldrh r1, [r0, 0x2E]\n" + "\tmovs r0, 0x1\n" + "\tands r0, r1\n" + "\tcmp r0, 0\n" + "\tbeq _0811ABB8\n" + "\tbl sub_811BF78\n" + "\tldr r1, =gUnknown_0203A118\n" + "\tldr r3, [r1]\n" + "\tmovs r2, 0\n" + "\tmovs r0, 0x2\n" + "\tstrb r0, [r3, 0x4]\n" + "\tldr r0, [r1]\n" + "\tstrb r2, [r0, 0xA]\n" + "\tldr r0, [r1]\n" + "\tstrb r2, [r0, 0xB]\n" + "\tldr r0, [r1]\n" + "\tstrb r2, [r0, 0xC]\n" + "\tmovs r0, 0x9\n" + "\tb _0811ACCC_return_r0\n" + "\t.pool\n" + "_0811AB9C:\n" + "\tmovs r0, 0x20\n" + "\tands r0, r1\n" + "\tcmp r0, 0\n" + "\tbne _0811AC68_dpad_left\n" + "\tmovs r0, 0x80\n" + "\tands r0, r1\n" + "\tcmp r0, 0\n" + "\tbne _0811AC58_dpad_down\n" + "\tmovs r0, 0x10\n" + "\tands r0, r1\n" + "\tcmp r0, 0\n" + "\tbne _0811AC48_dpad_right\n" + "\tmovs r0, 0\n" + "\tb _0811ACCC_return_r0\n" + "_0811ABB8:\n" + "\tmovs r0, 0x2\n" + "\tands r0, r1\n" + "\tcmp r0, 0\n" + "\tbne _0811AC78_b_button\n" + "\tmovs r0, 0x8\n" + "\tands r0, r1\n" + "\tcmp r0, 0\n" + "\tbne _0811AC7E_start_button\n" + "\tmovs r0, 0x40\n" + "\tands r0, r1\n" + "\tcmp r0, 0\n" + "\tbeq _0811AB9C\n" + "\tldr r2, =gUnknown_0203A118\n" + "\tldr r1, [r2]\n" + "\tldrb r0, [r1, 0x6]\n" + "\tsubs r0, 0x1\n" + "_0811ABD8:\n" + "\tstrb r0, [r1, 0x6]\n" + "_0811ABDA:\n" + "\tadds r7, r2, 0\n" + "\tadds r4, r7, 0\n" + "\tldr r2, [r4]\n" + "\tmovs r0, 0x6\n" + "\tldrsb r0, [r2, r0]\n" + "\tldr r6, =gUnknown_08597550\n" + "\tcmp r0, 0\n" + "\tbge _0811ABF8\n" + "\tldrb r0, [r2, 0x1]\n" + "\tlsls r1, r0, 1\n" + "\tadds r1, r0\n" + "\tlsls r1, 3\n" + "\tadds r1, r6\n" + "\tldrb r0, [r1, 0x2]\n" + "\tstrb r0, [r2, 0x6]\n" + "_0811ABF8:\n" + "\tldr r3, [r4]\n" + "\tmovs r2, 0x6\n" + "\tldrsb r2, [r3, r2]\n" + "\tadds r5, r6, 0\n" + "\tldrb r1, [r3, 0x1]\n" + "\tlsls r0, r1, 1\n" + "\tadds r0, r1\n" + "\tlsls r0, 3\n" + "\tadds r0, r5\n" + "\tldrb r0, [r0, 0x2]\n" + "\tcmp r2, r0\n" + "\tble _0811AC14\n" + "\tmovs r0, 0\n" + "\tstrb r0, [r3, 0x6]\n" + "_0811AC14:\n" + "\tldr r3, [r4]\n" + "\tmovs r2, 0x6\n" + "\tldrsb r2, [r3, r2]\n" + "\tldrb r1, [r3, 0x1]\n" + "\tlsls r0, r1, 1\n" + "\tadds r0, r1\n" + "\tlsls r0, 3\n" + "\tadds r1, r0, r5\n" + "\tldrb r0, [r1, 0x2]\n" + "\tcmp r2, r0\n" + "\tbne _0811AC88\n" + "\tmovs r0, 0x5\n" + "\tldrsb r0, [r3, r0]\n" + "\tcmp r0, 0x2\n" + "\tble _0811AC36\n" + "\tmovs r0, 0x2\n" + "\tstrb r0, [r3, 0x5]\n" + "_0811AC36:\n" + "\tldr r1, [r4]\n" + "\tmovs r0, 0x1\n" + "\tstrb r0, [r1, 0x4]\n" + "\tmovs r0, 0x3\n" + "\tb _0811ACCC_return_r0\n" + "\t.pool\n" + "_0811AC48_dpad_right:\n" + "\tldr r2, =gUnknown_0203A118\n" + "\tldr r1, [r2]\n" + "\tldrb r0, [r1, 0x5]\n" + "\tadds r0, 0x1\n" + "\tstrb r0, [r1, 0x5]\n" + "\tb _0811ABDA\n" + "\t.pool\n" + "_0811AC58_dpad_down:\n" + "\tldr r2, =gUnknown_0203A118\n" + "\tldr r1, [r2]\n" + "\tldrb r0, [r1, 0x6]\n" + "\tadds r0, 0x1\n" + "\tb _0811ABD8\n" + "\t.pool\n" + "_0811AC68_dpad_left:\n" + "\tldr r2, =gUnknown_0203A118\n" + "\tldr r1, [r2]\n" + "\tldrb r0, [r1, 0x5]\n" + "\tsubs r0, 0x1\n" + "\tstrb r0, [r1, 0x5]\n" + "\tb _0811ABDA\n" + "\t.pool\n" + "_0811AC78_b_button:\n" + "\tbl sub_811B150\n" + "\tb _0811AC82\n" + "_0811AC7E_start_button:\n" + "\tbl sub_811B1B4\n" + "_0811AC82:\n" + "\tlsls r0, 16\n" + "\tlsrs r0, 16\n" + "\tb _0811ACCC_return_r0\n" + "_0811AC88:\n" + "\tmovs r0, 0x5\n" + "\tldrsb r0, [r3, r0]\n" + "\tcmp r0, 0\n" + "\tbge _0811AC96\n" + "\tldrb r0, [r1, 0x1]\n" + "\tsubs r0, 0x1\n" + "\tstrb r0, [r3, 0x5]\n" + "_0811AC96:\n" + "\tldr r3, [r4]\n" + "\tmovs r2, 0x5\n" + "\tldrsb r2, [r3, r2]\n" + "\tldrb r1, [r3, 0x1]\n" + "\tlsls r0, r1, 1\n" + "\tadds r0, r1\n" + "\tlsls r0, 3\n" + "\tadds r0, r6\n" + "\tldrb r0, [r0, 0x1]\n" + "\tcmp r2, r0\n" + "\tblt _0811ACB0\n" + "\tmovs r0, 0\n" + "\tstrb r0, [r3, 0x5]\n" + "_0811ACB0:\n" + "\tbl sub_811AB44\n" + "\tcmp r0, 0\n" + "\tbeq _0811ACCA\n" + "\tldr r2, [r7]\n" + "\tldr r0, [r2, 0x4]\n" + "\tldr r1, =0x00ffff00\n" + "\tands r0, r1\n" + "\tldr r1, =0x00040100\n" + "\tcmp r0, r1\n" + "\tbne _0811ACCA\n" + "\tmovs r0, 0\n" + "\tstrb r0, [r2, 0x5]\n" + "_0811ACCA:\n" + "\tmovs r0, 0x2\n" + "_0811ACCC_return_r0:\n" + "\tpop {r4-r7}\n" + "\tpop {r1}\n" + "\tbx r1\n" + "\t.pool"); +} +#endif From 75b07292c99bdae7efe539bbe797aa4c381c880e Mon Sep 17 00:00:00 2001 From: Edouard Veyrier Date: Wed, 28 Mar 2018 19:20:20 +0200 Subject: [PATCH 013/234] Translate first functions of learn move --- asm/learn_move.s | 14 ++++-- graphics/pokedex/arrows.png | Bin 0 -> 303 bytes include/learn_move.h | 36 ++++++++++++++++ src/learn_move.c | 83 ++++++++++++++++++++++++++++++++++++ 4 files changed, 130 insertions(+), 3 deletions(-) create mode 100644 graphics/pokedex/arrows.png create mode 100644 include/learn_move.h create mode 100644 src/learn_move.c diff --git a/asm/learn_move.s b/asm/learn_move.s index a33bd11b65..1faff56373 100644 --- a/asm/learn_move.s +++ b/asm/learn_move.s @@ -5,6 +5,7 @@ .text +/* thumb_func_start sub_8160624 sub_8160624: @ 8160624 push {lr} @@ -14,7 +15,9 @@ sub_8160624: @ 8160624 pop {r0} bx r0 thumb_func_end sub_8160624 +*/ +/* thumb_func_start sub_8160638 sub_8160638: @ 8160638 push {lr} @@ -35,7 +38,9 @@ sub_8160638: @ 8160638 bx r0 .pool thumb_func_end sub_8160638 +*/ +/* thumb_func_start sub_8160664 sub_8160664: @ 8160664 push {r4,lr} @@ -60,7 +65,9 @@ _08160688: bx r0 .pool thumb_func_end sub_8160664 +*/ +/* thumb_func_start sub_81606A0 sub_81606A0: @ 81606A0 push {r4-r6,lr} @@ -75,7 +82,7 @@ sub_81606A0: @ 81606A0 str r0, [r6] ldr r1, =gSpecialVar_0x8004 ldrh r1, [r1] - adds r0, 0x44 + adds r0, 0x44 partymon movs r5, 0 strb r1, [r0] ldr r0, =sub_8160624 @@ -100,8 +107,8 @@ sub_81606A0: @ 81606A0 bl ListMenuInit ldr r1, [r6] movs r2, 0x89 - lsls r2, 1 - adds r1, r2 + lsls r2, 1 //0x112 + adds r1, r2 //partymon + 0x112 strb r0, [r1] movs r0, 0 movs r1, 0 @@ -114,6 +121,7 @@ sub_81606A0: @ 81606A0 bx r0 .pool thumb_func_end sub_81606A0 +*/ thumb_func_start sub_8160740 sub_8160740: @ 8160740 diff --git a/graphics/pokedex/arrows.png b/graphics/pokedex/arrows.png new file mode 100644 index 0000000000000000000000000000000000000000..2abf39366e45e76afedc93ae41fc57b59253f68b GIT binary patch literal 303 zcmeAS@N?(olHy`uVBq!ia0vp^96+4F!VDxYwdwT(DT4r?5Lbr(K*;cnf#E6x!%?6h z4si4+Nb>*x|MI(%ZGfy@o-U3d5>sm@9OOEpz~jPxe%*bAo!kG{e__@+F>iaop4a9% zYFoRPZjh6E<)fx};BQNF1gB-k)C;Q@eT)?8owg`LNApLuRom{UwTu2G_zU}STYaoj zYrB`rw>NC#!ynPUv#Lwy&TKx^RN45{j-5B$VTY6MJ*mX|{=(B4^_XMWcJLHP-db_d zG^ZfYdwO|iL<1xHa^A;IJI~k&b_&noaNqm0=G1|2nw-)G4<3g4Nk5&f|9ppartyMon = gSpecialVar_0x8004; + + SetVBlankCallback(sub_8160624); + sub_81607EC(); + sub_81D2824(0); + + //pointer to ? + (&gUnknown_0203BC38)[0] = 0; + (&gUnknown_0203BC38)[2] = 0; + (&gUnknown_0203BC38)[4] = 0; + + sub_8161280(); + LoadSpriteSheet(&gUnknown_085CEBB0); + LoadSpritePalette(&gUnknown_085CEBB8); + sub_81610B8(); + + ListMenuInit(&gMultiuseListMenuTemplate, 0, 0); + FillPalette(0, 0, 2); + SetMainCallback2(sub_816082C); +} From 990784a6d91a9b119ff974e3594a7bd5070549fc Mon Sep 17 00:00:00 2001 From: Edouard Veyrier Date: Wed, 28 Mar 2018 21:45:35 +0200 Subject: [PATCH 014/234] Improve comments --- src/learn_move.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/learn_move.c b/src/learn_move.c index 3a1ac72f45..36bf76eff9 100644 --- a/src/learn_move.c +++ b/src/learn_move.c @@ -14,7 +14,7 @@ extern void (*gFieldCallback)(void); extern struct LearnMoveStruct *gUnknown_0203BC34; -// Ew, just copied from poeruby... +// Ew, just copied from pokeruby... const u16 gDexArrows_Pal[] = INCBIN_U16("graphics/pokedex/arrows.gbapal"); const u8 gDexArrows_Gfx[] = INCBIN_U8("graphics/pokedex/arrows.4bpp"); const struct SpritePalette gUnknown_085CEBB8 = {gDexArrows_Pal, 5526}; @@ -50,6 +50,7 @@ void sub_8160664(u8 taskId) void sub_81606A0(void) //CB2_InitLearnMove { + //Less calls than pokeruby, is it normal ? ResetSpriteData(); FreeAllSpritePalettes(); ResetTasks(); @@ -57,17 +58,17 @@ void sub_81606A0(void) //CB2_InitLearnMove //LearnMoveStruct** - gUnknown_0203BC34 = AllocZeroed(0x118);//gUnknown_0203BC34 is a global pointer to LearnMoveStruct ? //r1 = &gSpecialVar_0x8004; //What is this global ? //u8* partyMon = gUnknown_0203BC34 + 0x44 //partyMon ? //*partyMon = r1; + gUnknown_0203BC34 = AllocZeroed(0x118);//gUnknown_0203BC34 is a global pointer to LearnMoveStruct ? gUnknown_0203BC34->partyMon = gSpecialVar_0x8004; SetVBlankCallback(sub_8160624); sub_81607EC(); sub_81D2824(0); - //pointer to ? + //gUnknown_0203BC38 ? (&gUnknown_0203BC38)[0] = 0; (&gUnknown_0203BC38)[2] = 0; (&gUnknown_0203BC38)[4] = 0; From cfacd23248ba56f5bca30895154625a06761ab45 Mon Sep 17 00:00:00 2001 From: Edouard Veyrier Date: Thu, 29 Mar 2018 11:56:10 +0200 Subject: [PATCH 015/234] Fix temporarily --- include/learn_move.h | 8 +++++++- src/learn_move.c | 18 +++++++++--------- 2 files changed, 16 insertions(+), 10 deletions(-) diff --git a/include/learn_move.h b/include/learn_move.h index 951cd6cb0b..da03fe5ae8 100644 --- a/include/learn_move.h +++ b/include/learn_move.h @@ -31,6 +31,12 @@ struct LearnMoveStruct *gUnknown_0203BC34 = NULL; void sub_8160624(void); void sub_8160638(void); -const struct SpritePalette gUnknown_08402D88 = {gDexArrows_Pal, 5526}; +// Ew, just copied from pokeruby... +//const u16 gDexArrows_Pal[] = INCBIN_U16("graphics/pokedex/arrows.gbapal"); +//const u8 gDexArrows_Gfx[] = INCBIN_U8("graphics/pokedex/arrows.4bpp"); +//const struct SpritePalette gUnknown_085CEBB8 = {gDexArrows_Pal, 5526}; +//const struct SpriteSheet gUnknown_085CEBB0 = {gDexArrows_Gfx, sizeof(gDexArrows_Gfx), 5525}; + +void *gUnknown_0203BC38 = (void*)0x0203BC38; #endif //GUARD_LEAN_MOVE_H diff --git a/src/learn_move.c b/src/learn_move.c index 36bf76eff9..d75e0a4604 100644 --- a/src/learn_move.c +++ b/src/learn_move.c @@ -14,12 +14,6 @@ extern void (*gFieldCallback)(void); extern struct LearnMoveStruct *gUnknown_0203BC34; -// Ew, just copied from pokeruby... -const u16 gDexArrows_Pal[] = INCBIN_U16("graphics/pokedex/arrows.gbapal"); -const u8 gDexArrows_Gfx[] = INCBIN_U8("graphics/pokedex/arrows.4bpp"); -const struct SpritePalette gUnknown_085CEBB8 = {gDexArrows_Pal, 5526}; -const struct SpriteSheet gUnknown_085CEBB0 = {gDexArrows_Gfx, sizeof(gDexArrows_Gfx), 5525}; - static struct LearnMoveStruct *sLearnMoveStruct; static void sub_8160664(u8 taskId); void sub_81606A0(void); //CB2_InitLearnMove @@ -50,6 +44,12 @@ void sub_8160664(u8 taskId) void sub_81606A0(void) //CB2_InitLearnMove { + //FIXME + void (*sub_81607EC)(void) = (void*)0x081607EC; + void (*sub_81D2824)(void*) = (void*)0x081D2824; + void (*sub_81610B8)(void) = (void*)0x081610B8; + void (*sub_8161280)(void) = (void*)0x08161280; + //Less calls than pokeruby, is it normal ? ResetSpriteData(); FreeAllSpritePalettes(); @@ -74,11 +74,11 @@ void sub_81606A0(void) //CB2_InitLearnMove (&gUnknown_0203BC38)[4] = 0; sub_8161280(); - LoadSpriteSheet(&gUnknown_085CEBB0); - LoadSpritePalette(&gUnknown_085CEBB8); + LoadSpriteSheet(/*FIXME &gUnknown_085CEBB0*/(void*)0x085CEBB0); + LoadSpritePalette(/*FIXME &gUnknown_085CEBB8*/(void*)0x085CEBB8); sub_81610B8(); ListMenuInit(&gMultiuseListMenuTemplate, 0, 0); FillPalette(0, 0, 2); - SetMainCallback2(sub_816082C); + SetMainCallback2(/*FIXME sub_816082C*/(void*)0x0816082C); } From 17b9f5d892ad34e4af3b407e2ee44a83506ee2f3 Mon Sep 17 00:00:00 2001 From: Edouard Veyrier Date: Thu, 29 Mar 2018 15:46:10 +0200 Subject: [PATCH 016/234] Fix compile error --- asm/learn_move.s | 4 ++-- include/learn_move.h | 6 +++--- ld_script.txt | 1 + src/learn_move.c | 16 +++++++++++++++- 4 files changed, 21 insertions(+), 6 deletions(-) diff --git a/asm/learn_move.s b/asm/learn_move.s index 1faff56373..ab3c84ec23 100644 --- a/asm/learn_move.s +++ b/asm/learn_move.s @@ -82,7 +82,7 @@ sub_81606A0: @ 81606A0 str r0, [r6] ldr r1, =gSpecialVar_0x8004 ldrh r1, [r1] - adds r0, 0x44 partymon + adds r0, 0x44 movs r5, 0 strb r1, [r0] ldr r0, =sub_8160624 @@ -129,7 +129,7 @@ sub_8160740: @ 8160740 bl ResetSpriteData bl FreeAllSpritePalettes bl ResetTasks - bl clear_scheduled_bg_copies_to_vram + bl clear_scheduled_bg_copies_to_vram // ldr r5, =gUnknown_0203BC34 movs r0, 0x8C lsls r0, 1 diff --git a/include/learn_move.h b/include/learn_move.h index da03fe5ae8..ed95b62060 100644 --- a/include/learn_move.h +++ b/include/learn_move.h @@ -1,5 +1,5 @@ -#ifndef GUARD_LEAN_MOVE_H -#define GUARD_LEAN_MOVE_H +#ifndef GUARD_LEARN_MOVE_H +#define GUARD_LEARN_MOVE_H struct LearnMoveStruct { @@ -39,4 +39,4 @@ void sub_8160638(void); void *gUnknown_0203BC38 = (void*)0x0203BC38; -#endif //GUARD_LEAN_MOVE_H +#endif //GUARD_LEARN_MOVE_H diff --git a/ld_script.txt b/ld_script.txt index 7ead2a863b..cbc58dc8df 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -210,6 +210,7 @@ SECTIONS { src/fldeff_sweetscent.o(.text); asm/battle_anim_815A0D4.o(.text); asm/learn_move.o(.text); + src/learn_move.o(.text); src/fldeff_softboiled.o(.text); src/decoration_inventory.o(.text); src/roamer.o(.text); diff --git a/src/learn_move.c b/src/learn_move.c index d75e0a4604..f837076249 100644 --- a/src/learn_move.c +++ b/src/learn_move.c @@ -17,6 +17,7 @@ extern struct LearnMoveStruct *gUnknown_0203BC34; static struct LearnMoveStruct *sLearnMoveStruct; static void sub_8160664(u8 taskId); void sub_81606A0(void); //CB2_InitLearnMove +void sub_8160740(void); void sub_8160624(void) //VBlankCB_LearnMove { @@ -56,7 +57,6 @@ void sub_81606A0(void) //CB2_InitLearnMove ResetTasks(); clear_scheduled_bg_copies_to_vram(); - //LearnMoveStruct** //r1 = &gSpecialVar_0x8004; //What is this global ? //u8* partyMon = gUnknown_0203BC34 + 0x44 //partyMon ? @@ -82,3 +82,17 @@ void sub_81606A0(void) //CB2_InitLearnMove FillPalette(0, 0, 2); SetMainCallback2(/*FIXME sub_816082C*/(void*)0x0816082C); } + +/* +void sub_8160740(void) +{ + ResetSpriteData(); + FreeAllSpritePalettes(); + ResetTasks(); + clear_scheduled_bg_copies_to_vram(); + + gUnknown_0203BC34 = AllocZeroed(0x118);//gUnknown_0203BC34 is a global pointer to LearnMoveStruct ? + gUnknown_0203BC34->partyMon = gSpecialVar_0x8004; + gUnknown_0203BC34->unk2C6 = gSpecialVar_0x8005; +} +*/ From 6e919da4aad94338e5d8132c3808f122bf5b7c79 Mon Sep 17 00:00:00 2001 From: Edouard Veyrier Date: Thu, 29 Mar 2018 20:41:29 +0200 Subject: [PATCH 017/234] Change order in ld_script.txt --- ld_script.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ld_script.txt b/ld_script.txt index cbc58dc8df..464dc78413 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -209,8 +209,8 @@ SECTIONS { src/battle_controller_safari.o(.text); src/fldeff_sweetscent.o(.text); asm/battle_anim_815A0D4.o(.text); - asm/learn_move.o(.text); src/learn_move.o(.text); + asm/learn_move.o(.text); src/fldeff_softboiled.o(.text); src/decoration_inventory.o(.text); src/roamer.o(.text); From 09e29a5cf8695cf43fe8ac18004049b07a59ccc5 Mon Sep 17 00:00:00 2001 From: Edouard Veyrier Date: Sun, 1 Apr 2018 18:22:09 +0200 Subject: [PATCH 018/234] Fix three functions to have the right checksum --- asm/learn_move.s | 6 +- include/learn_move.h | 2 +- src/learn_move.c | 129 +++++++++++++++++++++++++------------------ 3 files changed, 78 insertions(+), 59 deletions(-) diff --git a/asm/learn_move.s b/asm/learn_move.s index ab3c84ec23..5fd507c2d9 100644 --- a/asm/learn_move.s +++ b/asm/learn_move.s @@ -67,7 +67,6 @@ _08160688: thumb_func_end sub_8160664 */ -/* thumb_func_start sub_81606A0 sub_81606A0: @ 81606A0 push {r4-r6,lr} @@ -121,7 +120,6 @@ sub_81606A0: @ 81606A0 bx r0 .pool thumb_func_end sub_81606A0 -*/ thumb_func_start sub_8160740 sub_8160740: @ 8160740 @@ -148,7 +146,7 @@ sub_8160740: @ 8160740 adds r0, 0x45 strb r1, [r0] ldr r0, =sub_8160624 - bl SetVBlankCallback + bl SetVBlankCallback // bl sub_81607EC ldr r4, =gUnknown_0203BC38 ldrb r0, [r4, 0x4] @@ -157,7 +155,7 @@ sub_8160740: @ 8160740 ldr r0, =gUnknown_085CEBB0 bl LoadSpriteSheet ldr r0, =gUnknown_085CEBB8 - bl LoadSpritePalette + bl LoadSpritePalette // bl sub_81610B8 ldr r0, =gMultiuseListMenuTemplate ldrh r1, [r4] diff --git a/include/learn_move.h b/include/learn_move.h index ed95b62060..7779e85a0f 100644 --- a/include/learn_move.h +++ b/include/learn_move.h @@ -37,6 +37,6 @@ void sub_8160638(void); //const struct SpritePalette gUnknown_085CEBB8 = {gDexArrows_Pal, 5526}; //const struct SpriteSheet gUnknown_085CEBB0 = {gDexArrows_Gfx, sizeof(gDexArrows_Gfx), 5525}; -void *gUnknown_0203BC38 = (void*)0x0203BC38; +u8 *gUnknown_0203BC38 = (void*)0x0203BC38; #endif //GUARD_LEARN_MOVE_H diff --git a/src/learn_move.c b/src/learn_move.c index f837076249..faa73a2d0b 100644 --- a/src/learn_move.c +++ b/src/learn_move.c @@ -30,7 +30,7 @@ void sub_8160638(void) //TeachMoveTutorMove { ScriptContext2_Enable(); CreateTask(sub_8160664, 0xA); - BeginNormalPaletteFade(-1, 0, 0x10, 0, 0); + BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); } void sub_8160664(u8 taskId) @@ -43,56 +43,77 @@ void sub_8160664(u8 taskId) } } -void sub_81606A0(void) //CB2_InitLearnMove -{ - //FIXME - void (*sub_81607EC)(void) = (void*)0x081607EC; - void (*sub_81D2824)(void*) = (void*)0x081D2824; - void (*sub_81610B8)(void) = (void*)0x081610B8; - void (*sub_8161280)(void) = (void*)0x08161280; - - //Less calls than pokeruby, is it normal ? - ResetSpriteData(); - FreeAllSpritePalettes(); - ResetTasks(); - clear_scheduled_bg_copies_to_vram(); - - //LearnMoveStruct** - //r1 = &gSpecialVar_0x8004; //What is this global ? - //u8* partyMon = gUnknown_0203BC34 + 0x44 //partyMon ? - //*partyMon = r1; - gUnknown_0203BC34 = AllocZeroed(0x118);//gUnknown_0203BC34 is a global pointer to LearnMoveStruct ? - gUnknown_0203BC34->partyMon = gSpecialVar_0x8004; - - SetVBlankCallback(sub_8160624); - sub_81607EC(); - sub_81D2824(0); - - //gUnknown_0203BC38 ? - (&gUnknown_0203BC38)[0] = 0; - (&gUnknown_0203BC38)[2] = 0; - (&gUnknown_0203BC38)[4] = 0; - - sub_8161280(); - LoadSpriteSheet(/*FIXME &gUnknown_085CEBB0*/(void*)0x085CEBB0); - LoadSpritePalette(/*FIXME &gUnknown_085CEBB8*/(void*)0x085CEBB8); - sub_81610B8(); - - ListMenuInit(&gMultiuseListMenuTemplate, 0, 0); - FillPalette(0, 0, 2); - SetMainCallback2(/*FIXME sub_816082C*/(void*)0x0816082C); -} - -/* -void sub_8160740(void) -{ - ResetSpriteData(); - FreeAllSpritePalettes(); - ResetTasks(); - clear_scheduled_bg_copies_to_vram(); - - gUnknown_0203BC34 = AllocZeroed(0x118);//gUnknown_0203BC34 is a global pointer to LearnMoveStruct ? - gUnknown_0203BC34->partyMon = gSpecialVar_0x8004; - gUnknown_0203BC34->unk2C6 = gSpecialVar_0x8005; -} -*/ +// void sub_81606A0(void) //CB2_InitLearnMove +// { +// //FIXME +// void (*sub_81607EC)(void) = (void*)0x081607EC; +// void (*sub_81D2824)(u16) = (void*)0x081D2824; +// void (*sub_81610B8)(void) = (void*)0x081610B8; +// void (*sub_8161280)(void) = (void*)0x08161280; +// +// //Less calls than pokeruby, is it normal ? +// ResetSpriteData(); +// FreeAllSpritePalettes(); +// ResetTasks(); +// clear_scheduled_bg_copies_to_vram(); +// +// //LearnMoveStruct** +// //r1 = &gSpecialVar_0x8004; //What is this global ? +// //u8* partyMon = gUnknown_0203BC34 + 0x44 //partyMon ? +// //*partyMon = r1; +// gUnknown_0203BC34 = AllocZeroed(0x118);//gUnknown_0203BC34 is a global pointer to LearnMoveStruct ? +// gUnknown_0203BC34->partyMon = gSpecialVar_0x8004; +// +// SetVBlankCallback(sub_8160624); +// sub_81607EC(); +// sub_81D2824(0); +// +// //gUnknown_0203BC38 ? +// (gUnknown_0203BC38)[0] = 0; +// (gUnknown_0203BC38)[2] = 0; +// (gUnknown_0203BC38)[4] = 0; +// +// sub_8161280(); +// LoadSpriteSheet(/*FIXME &gUnknown_085CEBB0*/(void*)0x085CEBB0); +// LoadSpritePalette(/*FIXME &gUnknown_085CEBB8*/(void*)0x085CEBB8); +// sub_81610B8(); +// +// ListMenuInit(&gMultiuseListMenuTemplate, 0, 0); +// FillPalette(0, 0, 2); +// SetMainCallback2(/*FIXME sub_816082C*/(void*)0x0816082C); +// } +// +// void sub_8160740(void) +// { +// void (*sub_81607EC)(void) = (void*)0x081607EC; +// void (*sub_81D2824)(u16) = (void*)0x081D2824; +// void (*sub_81610B8)(void) = (void*)0x081610B8; +// void (*sub_8161280)(void) = (void*)0x08161280; +// +// u8 data; +// +// ResetSpriteData(); +// FreeAllSpritePalettes(); +// ResetTasks(); +// clear_scheduled_bg_copies_to_vram(); +// +// gUnknown_0203BC34 = AllocZeroed(0x118);//gUnknown_0203BC34 is a global pointer to LearnMoveStruct ? +// gUnknown_0203BC34->partyMon = gSpecialVar_0x8004; //gUnknown_0203BC34 + 68 +// gUnknown_0203BC34->unk2C6 = gSpecialVar_0x8005; //gUnknown_0203BC34 + 69 +// +// SetVBlankCallback(sub_8160624); +// sub_81607EC(); +// +// //gUnknown_0203BC38 ? +// sub_81D2824(*((u8*)&gUnknown_0203BC38 + 4)); +// sub_8161280(); +// +// LoadSpriteSheet(/*FIXME &gUnknown_085CEBB0*/(void*)0x085CEBB0); +// LoadSpritePalette(/*FIXME &gUnknown_085CEBB8*/(void*)0x085CEBB8); +// +// data = ListMenuInit(&gMultiuseListMenuTemplate, *gUnknown_0203BC38, *((u8*)gUnknown_0203BC38 + 2)); +// *(u8*)(gUnknown_0203BC34 + 274) = data; +// FillPalette(0, 0, 2); +// SetMainCallback2(/*FIXME sub_816082C*/(void*)0x0816082C); +// } +// */ From b2e8ee836d6334e525df3163d7b018b64f68ec95 Mon Sep 17 00:00:00 2001 From: Edouard Veyrier Date: Mon, 2 Apr 2018 20:06:40 +0200 Subject: [PATCH 019/234] sub_81607EC and sub_816082C --- asm/learn_move.s | 4 ++ include/learn_move.h | 9 +++- ld_script.txt | 1 + src/learn_move.c | 100 ++++++++++++++++++++++++++++++++----------- sym_ewram.txt | 11 ++--- 5 files changed, 90 insertions(+), 35 deletions(-) diff --git a/asm/learn_move.s b/asm/learn_move.s index 5fd507c2d9..4f0a6abb4b 100644 --- a/asm/learn_move.s +++ b/asm/learn_move.s @@ -178,6 +178,7 @@ sub_8160740: @ 8160740 .pool thumb_func_end sub_8160740 +/* thumb_func_start sub_81607EC sub_81607EC: @ 81607EC push {lr} @@ -204,7 +205,9 @@ sub_81607EC: @ 81607EC bx r0 .pool thumb_func_end sub_81607EC +*/ +/* thumb_func_start sub_816082C sub_816082C: @ 816082C push {lr} @@ -217,6 +220,7 @@ sub_816082C: @ 816082C pop {r0} bx r0 thumb_func_end sub_816082C +*/ thumb_func_start sub_816084C sub_816084C: @ 816084C diff --git a/include/learn_move.h b/include/learn_move.h index 7779e85a0f..6ab2ba6f48 100644 --- a/include/learn_move.h +++ b/include/learn_move.h @@ -1,6 +1,7 @@ #ifndef GUARD_LEARN_MOVE_H #define GUARD_LEARN_MOVE_H +//this struct is probably wrong struct LearnMoveStruct { u8 state; @@ -26,7 +27,9 @@ struct LearnMoveStruct u8 unk2C6; }; -struct LearnMoveStruct *gUnknown_0203BC34 = NULL; +//struct LearnMoveStruct *gUnknown_0203BC34 = NULL; + +//extern u8 *gUnknown_0203BC34; void sub_8160624(void); void sub_8160638(void); @@ -37,6 +40,8 @@ void sub_8160638(void); //const struct SpritePalette gUnknown_085CEBB8 = {gDexArrows_Pal, 5526}; //const struct SpriteSheet gUnknown_085CEBB0 = {gDexArrows_Gfx, sizeof(gDexArrows_Gfx), 5525}; -u8 *gUnknown_0203BC38 = (void*)0x0203BC38; +//u8 *gUnknown_0203BC38 = (void*)0x0203BC38; +//extern u8 gUnknown_0203BC38[8]; +//u8 gUnknown_0203BC38; #endif //GUARD_LEARN_MOVE_H diff --git a/ld_script.txt b/ld_script.txt index 464dc78413..ac1c80c22f 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -490,6 +490,7 @@ SECTIONS { src/battle_controller_safari.o(.rodata); data/battle_anim_815A0D4.o(.rodata); data/learn_move.o(.rodata); + src/learn_move.o(.rodata); src/roamer.o(.rodata); data/battle_tower.o(.rodata); src/use_pokeblock.o(.rodata); diff --git a/src/learn_move.c b/src/learn_move.c index faa73a2d0b..0f5063faeb 100644 --- a/src/learn_move.c +++ b/src/learn_move.c @@ -5,20 +5,34 @@ #include "sprite.h" #include "palette.h" #include "menu.h" +#include "menu_helpers.h" #include "list_menu.h" #include "malloc.h" #include "field_screen.h" #include "event_data.h" +#include "bg.h" +#include "gpu_regs.h" #include "learn_move.h" -extern void (*gFieldCallback)(void); -extern struct LearnMoveStruct *gUnknown_0203BC34; +EWRAM_DATA u8 *gUnknown_0203BC34 = 0; +EWRAM_DATA u8 gUnknown_0203BC38[8] = {0}; + +extern void (*gFieldCallback)(void); +extern const struct SpritePalette gUnknown_085CEBB8; +extern const struct SpriteSheet gUnknown_085CEBB0; +extern const struct BgTemplate gUnknown_085CEC28; +extern void sub_81D2824(u16); +//extern struct LearnMoveStruct *gUnknown_0203BC34; + +//static struct LearnMoveStruct *sLearnMoveStruct; -static struct LearnMoveStruct *sLearnMoveStruct; static void sub_8160664(u8 taskId); void sub_81606A0(void); //CB2_InitLearnMove void sub_8160740(void); +void sub_81607EC(void); +void sub_816082C(void); + void sub_8160624(void) //VBlankCB_LearnMove { LoadOam(); @@ -45,12 +59,9 @@ void sub_8160664(u8 taskId) // void sub_81606A0(void) //CB2_InitLearnMove // { -// //FIXME -// void (*sub_81607EC)(void) = (void*)0x081607EC; -// void (*sub_81D2824)(u16) = (void*)0x081D2824; -// void (*sub_81610B8)(void) = (void*)0x081610B8; -// void (*sub_8161280)(void) = (void*)0x08161280; -// +// //AGBPrint("test\n"); +// //AGBPrintFlush(); +// //NoCashGBAPrint("test\n"); // //Less calls than pokeruby, is it normal ? // ResetSpriteData(); // FreeAllSpritePalettes(); @@ -58,34 +69,46 @@ void sub_8160664(u8 taskId) // clear_scheduled_bg_copies_to_vram(); // // //LearnMoveStruct** -// //r1 = &gSpecialVar_0x8004; //What is this global ? -// //u8* partyMon = gUnknown_0203BC34 + 0x44 //partyMon ? -// //*partyMon = r1; // gUnknown_0203BC34 = AllocZeroed(0x118);//gUnknown_0203BC34 is a global pointer to LearnMoveStruct ? -// gUnknown_0203BC34->partyMon = gSpecialVar_0x8004; +// //gUnknown_0203BC34->movesToLearn[0] = gSpecialVar_0x8004; +// ((u8*)gUnknown_0203BC34)[68] = gSpecialVar_0x8004; // // SetVBlankCallback(sub_8160624); +// //SetVBlankCallback(/*FIXME sub_8160624*/ (void()(u16))0x081D2824); // sub_81607EC(); // sub_81D2824(0); // // //gUnknown_0203BC38 ? +// // weird instruction // (gUnknown_0203BC38)[0] = 0; // (gUnknown_0203BC38)[2] = 0; // (gUnknown_0203BC38)[4] = 0; // -// sub_8161280(); -// LoadSpriteSheet(/*FIXME &gUnknown_085CEBB0*/(void*)0x085CEBB0); -// LoadSpritePalette(/*FIXME &gUnknown_085CEBB8*/(void*)0x085CEBB8); -// sub_81610B8(); +// //FIXME +// //sub_8161280(); +// __asm__("bl sub_8161280"); // -// ListMenuInit(&gMultiuseListMenuTemplate, 0, 0); +// //LoadSpriteSheet(/*FIXME &gUnknown_085CEBB0*/(void*)0x085CEBB0); +// //LoadSpritePalette(/*FIXME &gUnknown_085CEBB8*/(void*)0x085CEBB8); +// LoadSpriteSheet(&gUnknown_085CEBB0); +// LoadSpritePalette(&gUnknown_085CEBB8); +// //sub_81610B8(); +// //FIXME +// __asm__("bl sub_81610B8"); +// +// ((u8*)gUnknown_0203BC34)[274] = ListMenuInit(&gMultiuseListMenuTemplate, gUnknown_0203BC38[0], gUnknown_0203BC38[2]); // FillPalette(0, 0, 2); -// SetMainCallback2(/*FIXME sub_816082C*/(void*)0x0816082C); +// //SetMainCallback2(sub_816082C/*(void*)0x0816082C()*/); +// //SetMainCallback2(sub_816082C/*(void*)0x0816082C()*/); +// //FIXME +// __asm__( +// "ldr r0, =sub_816082C", +// "bl SetMainCallback2" +// ); // } -// + // void sub_8160740(void) // { -// void (*sub_81607EC)(void) = (void*)0x081607EC; // void (*sub_81D2824)(u16) = (void*)0x081D2824; // void (*sub_81610B8)(void) = (void*)0x081610B8; // void (*sub_8161280)(void) = (void*)0x08161280; @@ -105,15 +128,42 @@ void sub_8160664(u8 taskId) // sub_81607EC(); // // //gUnknown_0203BC38 ? -// sub_81D2824(*((u8*)&gUnknown_0203BC38 + 4)); +// sub_81D2824(gUnknown_0203BC38[4]); // sub_8161280(); // -// LoadSpriteSheet(/*FIXME &gUnknown_085CEBB0*/(void*)0x085CEBB0); -// LoadSpritePalette(/*FIXME &gUnknown_085CEBB8*/(void*)0x085CEBB8); +// LoadSpriteSheet(&gUnknown_085CEBB0); +// LoadSpritePalette(&gUnknown_085CEBB8); +// //LoadSpriteSheet(/*FIXME &gUnknown_085CEBB0*/(void*)0x085CEBB0); +// //LoadSpritePalette(/*FIXME &gUnknown_085CEBB8*/(void*)0x085CEBB8); // // data = ListMenuInit(&gMultiuseListMenuTemplate, *gUnknown_0203BC38, *((u8*)gUnknown_0203BC38 + 2)); // *(u8*)(gUnknown_0203BC34 + 274) = data; // FillPalette(0, 0, 2); // SetMainCallback2(/*FIXME sub_816082C*/(void*)0x0816082C); // } -// */ + +void sub_81607EC(void) +{ + ResetVramOamAndBgCntRegs(); + ResetBgsAndClearDma3BusyFlags(0); + InitBgsFromTemplates(0, &gUnknown_085CEC28, 2); + ResetAllBgsCoordinates(); + SetGpuReg(0, 0x1040); + ShowBg(0); + ShowBg(1); + SetGpuReg(0x50, 0); +} +void sub_816082C(void) +{ + //FIXME + //sub_8160868(); + //void(*sub_8160868)(void) = (void (*)(void))0x08160868; + //sub_8160868(); + __asm__("bl sub_8160868"); + RunTasks(); + AnimateSprites(); + BuildOamBuffer(); + do_scheduled_bg_tilemap_copies_to_vram(); + UpdatePaletteFade(); + +} diff --git a/sym_ewram.txt b/sym_ewram.txt index 96862ccd55..b88df9b0f7 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -784,19 +784,14 @@ gUnknown_0203ABB8: @ 203ABB8 .space 0x4 .include "src/save.o" - + .space 0x4 /*unused var?*/ .include "src/mystery_event_script.o" -gUnknown_0203BC34: @ 203BC34 - .space 0x4 - -gUnknown_0203BC38: @ 203BC38 - .space 0x8 - + .include "src/learn_move.o" .include "src/decoration_inventory.o" - .include "src/roamer.o" + .include "src/roamer.o" gUnknown_0203BC88: @ 203BC88 .space 0x4 From 2f96282c7f56ae90bc62b2710c8430abd2b345f3 Mon Sep 17 00:00:00 2001 From: Edouard Veyrier Date: Tue, 3 Apr 2018 00:07:55 +0200 Subject: [PATCH 020/234] cleaner --- asm/learn_move.s | 10 ++- include/learn_move.h | 40 ----------- src/learn_move.c | 154 +++++++++++++++++-------------------------- 3 files changed, 69 insertions(+), 135 deletions(-) diff --git a/asm/learn_move.s b/asm/learn_move.s index 4f0a6abb4b..5500f5a587 100644 --- a/asm/learn_move.s +++ b/asm/learn_move.s @@ -67,6 +67,7 @@ _08160688: thumb_func_end sub_8160664 */ +/* thumb_func_start sub_81606A0 sub_81606A0: @ 81606A0 push {r4-r6,lr} @@ -120,14 +121,16 @@ sub_81606A0: @ 81606A0 bx r0 .pool thumb_func_end sub_81606A0 +*/ +/* thumb_func_start sub_8160740 sub_8160740: @ 8160740 push {r4,r5,lr} bl ResetSpriteData bl FreeAllSpritePalettes bl ResetTasks - bl clear_scheduled_bg_copies_to_vram // + bl clear_scheduled_bg_copies_to_vram ldr r5, =gUnknown_0203BC34 movs r0, 0x8C lsls r0, 1 @@ -146,7 +149,7 @@ sub_8160740: @ 8160740 adds r0, 0x45 strb r1, [r0] ldr r0, =sub_8160624 - bl SetVBlankCallback // + bl SetVBlankCallback bl sub_81607EC ldr r4, =gUnknown_0203BC38 ldrb r0, [r4, 0x4] @@ -155,7 +158,7 @@ sub_8160740: @ 8160740 ldr r0, =gUnknown_085CEBB0 bl LoadSpriteSheet ldr r0, =gUnknown_085CEBB8 - bl LoadSpritePalette // + bl LoadSpritePalette bl sub_81610B8 ldr r0, =gMultiuseListMenuTemplate ldrh r1, [r4] @@ -177,6 +180,7 @@ sub_8160740: @ 8160740 bx r0 .pool thumb_func_end sub_8160740 +*/ /* thumb_func_start sub_81607EC diff --git a/include/learn_move.h b/include/learn_move.h index 6ab2ba6f48..034d689d42 100644 --- a/include/learn_move.h +++ b/include/learn_move.h @@ -1,47 +1,7 @@ #ifndef GUARD_LEARN_MOVE_H #define GUARD_LEARN_MOVE_H -//this struct is probably wrong -struct LearnMoveStruct -{ - u8 state; - u8 filler1; - u8 unk2; - u8 spriteIDs[20]; - u8 filler17[1]; - u8 unk18; - u8 unk19; - u8 numMenuChoices; - u8 menuSelection; - u8 unk1C; - bool8 unk1D; - u8 unk1E; - u8 filler1F; - /*0x020*/ u16 movesToLearn[20]; - u8 filler48[0x52-0x48]; - u8 moveNames[6][0x19]; - u8 fillerE8[0x2C3-0xE8]; - bool8 unk2C3; - bool8 showContestInfo; - /*0x2C5*/ u8 partyMon; - u8 unk2C6; -}; - -//struct LearnMoveStruct *gUnknown_0203BC34 = NULL; - -//extern u8 *gUnknown_0203BC34; - void sub_8160624(void); void sub_8160638(void); -// Ew, just copied from pokeruby... -//const u16 gDexArrows_Pal[] = INCBIN_U16("graphics/pokedex/arrows.gbapal"); -//const u8 gDexArrows_Gfx[] = INCBIN_U8("graphics/pokedex/arrows.4bpp"); -//const struct SpritePalette gUnknown_085CEBB8 = {gDexArrows_Pal, 5526}; -//const struct SpriteSheet gUnknown_085CEBB0 = {gDexArrows_Gfx, sizeof(gDexArrows_Gfx), 5525}; - -//u8 *gUnknown_0203BC38 = (void*)0x0203BC38; -//extern u8 gUnknown_0203BC38[8]; -//u8 gUnknown_0203BC38; - #endif //GUARD_LEARN_MOVE_H diff --git a/src/learn_move.c b/src/learn_move.c index 0f5063faeb..addae6a385 100644 --- a/src/learn_move.c +++ b/src/learn_move.c @@ -22,14 +22,15 @@ extern const struct SpritePalette gUnknown_085CEBB8; extern const struct SpriteSheet gUnknown_085CEBB0; extern const struct BgTemplate gUnknown_085CEC28; extern void sub_81D2824(u16); -//extern struct LearnMoveStruct *gUnknown_0203BC34; -//static struct LearnMoveStruct *sLearnMoveStruct; +void sub_8160868(void); +void sub_8161280(void); +void sub_81610B8(void); +void sub_816082C(void); static void sub_8160664(u8 taskId); void sub_81606A0(void); //CB2_InitLearnMove void sub_8160740(void); - void sub_81607EC(void); void sub_816082C(void); @@ -57,90 +58,63 @@ void sub_8160664(u8 taskId) } } -// void sub_81606A0(void) //CB2_InitLearnMove -// { -// //AGBPrint("test\n"); -// //AGBPrintFlush(); -// //NoCashGBAPrint("test\n"); -// //Less calls than pokeruby, is it normal ? -// ResetSpriteData(); -// FreeAllSpritePalettes(); -// ResetTasks(); -// clear_scheduled_bg_copies_to_vram(); -// -// //LearnMoveStruct** -// gUnknown_0203BC34 = AllocZeroed(0x118);//gUnknown_0203BC34 is a global pointer to LearnMoveStruct ? -// //gUnknown_0203BC34->movesToLearn[0] = gSpecialVar_0x8004; -// ((u8*)gUnknown_0203BC34)[68] = gSpecialVar_0x8004; -// -// SetVBlankCallback(sub_8160624); -// //SetVBlankCallback(/*FIXME sub_8160624*/ (void()(u16))0x081D2824); -// sub_81607EC(); -// sub_81D2824(0); -// -// //gUnknown_0203BC38 ? -// // weird instruction -// (gUnknown_0203BC38)[0] = 0; -// (gUnknown_0203BC38)[2] = 0; -// (gUnknown_0203BC38)[4] = 0; -// -// //FIXME -// //sub_8161280(); -// __asm__("bl sub_8161280"); -// -// //LoadSpriteSheet(/*FIXME &gUnknown_085CEBB0*/(void*)0x085CEBB0); -// //LoadSpritePalette(/*FIXME &gUnknown_085CEBB8*/(void*)0x085CEBB8); -// LoadSpriteSheet(&gUnknown_085CEBB0); -// LoadSpritePalette(&gUnknown_085CEBB8); -// //sub_81610B8(); -// //FIXME -// __asm__("bl sub_81610B8"); -// -// ((u8*)gUnknown_0203BC34)[274] = ListMenuInit(&gMultiuseListMenuTemplate, gUnknown_0203BC38[0], gUnknown_0203BC38[2]); -// FillPalette(0, 0, 2); -// //SetMainCallback2(sub_816082C/*(void*)0x0816082C()*/); -// //SetMainCallback2(sub_816082C/*(void*)0x0816082C()*/); -// //FIXME -// __asm__( -// "ldr r0, =sub_816082C", -// "bl SetMainCallback2" -// ); -// } +// Doesn't match +void sub_81606A0(void) //CB2_InitLearnMove +{ + ResetSpriteData(); + FreeAllSpritePalettes(); + ResetTasks(); + clear_scheduled_bg_copies_to_vram(); -// void sub_8160740(void) -// { -// void (*sub_81D2824)(u16) = (void*)0x081D2824; -// void (*sub_81610B8)(void) = (void*)0x081610B8; -// void (*sub_8161280)(void) = (void*)0x08161280; -// -// u8 data; -// -// ResetSpriteData(); -// FreeAllSpritePalettes(); -// ResetTasks(); -// clear_scheduled_bg_copies_to_vram(); -// -// gUnknown_0203BC34 = AllocZeroed(0x118);//gUnknown_0203BC34 is a global pointer to LearnMoveStruct ? -// gUnknown_0203BC34->partyMon = gSpecialVar_0x8004; //gUnknown_0203BC34 + 68 -// gUnknown_0203BC34->unk2C6 = gSpecialVar_0x8005; //gUnknown_0203BC34 + 69 -// -// SetVBlankCallback(sub_8160624); -// sub_81607EC(); -// -// //gUnknown_0203BC38 ? -// sub_81D2824(gUnknown_0203BC38[4]); -// sub_8161280(); -// -// LoadSpriteSheet(&gUnknown_085CEBB0); -// LoadSpritePalette(&gUnknown_085CEBB8); -// //LoadSpriteSheet(/*FIXME &gUnknown_085CEBB0*/(void*)0x085CEBB0); -// //LoadSpritePalette(/*FIXME &gUnknown_085CEBB8*/(void*)0x085CEBB8); -// -// data = ListMenuInit(&gMultiuseListMenuTemplate, *gUnknown_0203BC38, *((u8*)gUnknown_0203BC38 + 2)); -// *(u8*)(gUnknown_0203BC34 + 274) = data; -// FillPalette(0, 0, 2); -// SetMainCallback2(/*FIXME sub_816082C*/(void*)0x0816082C); -// } + gUnknown_0203BC34 = AllocZeroed(0x118); //gUnknown_0203BC34 ? + gUnknown_0203BC34[68] = gSpecialVar_0x8004; + + SetVBlankCallback(sub_8160624); + sub_81607EC(); + sub_81D2824(0); + + //gUnknown_0203BC38 ? + gUnknown_0203BC38[0] = 0; + gUnknown_0203BC38[2] = 0; + gUnknown_0203BC38[4] = 0; + + sub_8161280(); + + LoadSpriteSheet(&gUnknown_085CEBB0); + LoadSpritePalette(&gUnknown_085CEBB8); + sub_81610B8(); + + gUnknown_0203BC34[274] = ListMenuInit(&gMultiuseListMenuTemplate, gUnknown_0203BC38[0], gUnknown_0203BC38[2]); + FillPalette(0, 0, 2); + SetMainCallback2(sub_816082C); +} + +// Doesn't match +void sub_8160740(void) +{ + ResetSpriteData(); + FreeAllSpritePalettes(); + ResetTasks(); + clear_scheduled_bg_copies_to_vram(); + + gUnknown_0203BC34 = AllocZeroed(0x118); //gUnknown_0203BC34 ? + gUnknown_0203BC34[68] = gSpecialVar_0x8004; + gUnknown_0203BC34[69] = gSpecialVar_0x8005; + + SetVBlankCallback(sub_8160624); + sub_81607EC(); + + //gUnknown_0203BC38 ? + sub_81D2824(gUnknown_0203BC38[4]); + sub_8161280(); + + LoadSpriteSheet(&gUnknown_085CEBB0); + LoadSpritePalette(&gUnknown_085CEBB8); + + gUnknown_0203BC34[274] = ListMenuInit(&gMultiuseListMenuTemplate, gUnknown_0203BC38[0], gUnknown_0203BC38[2]); + FillPalette(0, 0, 2); + SetMainCallback2(sub_816082C); +} void sub_81607EC(void) { @@ -153,17 +127,13 @@ void sub_81607EC(void) ShowBg(1); SetGpuReg(0x50, 0); } + void sub_816082C(void) { - //FIXME - //sub_8160868(); - //void(*sub_8160868)(void) = (void (*)(void))0x08160868; - //sub_8160868(); - __asm__("bl sub_8160868"); + sub_8160868(); RunTasks(); AnimateSprites(); BuildOamBuffer(); do_scheduled_bg_tilemap_copies_to_vram(); UpdatePaletteFade(); - } From 4b1e30434d9c86964bf9735a392f4b3c2d7b1dcd Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Tue, 1 May 2018 19:47:11 -0400 Subject: [PATCH 021/234] Through sub_80D787C --- asm/contest.s | 510 +++++------------------------- asm/contest_ai.s | 30 +- asm/contest_link_80F57C4.s | 90 +++--- asm/contest_link_80FC4F4.s | 26 +- asm/contest_link_81D9DE4.s | 16 +- asm/script_pokemon_util_80F87D8.s | 40 +-- data/graphics.s | 4 +- include/contest.h | 384 +++++++++++++++++++++- ld_script.txt | 1 + src/contest.c | 196 ++++++++++++ src/tv.c | 4 +- sym_ewram.txt | 39 +-- 12 files changed, 755 insertions(+), 585 deletions(-) create mode 100644 src/contest.c diff --git a/asm/contest.s b/asm/contest.s index 327a80d75e..85299a8f7b 100644 --- a/asm/contest.s +++ b/asm/contest.s @@ -5,352 +5,6 @@ .text - thumb_func_start TaskDummy1 -TaskDummy1: @ 80D7668 - bx lr - thumb_func_end TaskDummy1 - - thumb_func_start ResetLinkContestBoolean -ResetLinkContestBoolean: @ 80D766C - ldr r1, =gUnknown_02039F2A - movs r0, 0 - strb r0, [r1] - bx lr - .pool - thumb_func_end ResetLinkContestBoolean - - thumb_func_start sub_80D7678 -sub_80D7678: @ 80D7678 - push {r4,lr} - movs r0, 0 - movs r1, 0x40 - bl SetGpuReg - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg - movs r0, 0x54 - movs r1, 0 - bl SetGpuReg - ldr r4, =0x00003f3f - movs r0, 0x48 - adds r1, r4, 0 - bl SetGpuReg - movs r0, 0x4A - adds r1, r4, 0 - bl SetGpuReg - movs r1, 0xFE - lsls r1, 7 - movs r0, 0 - bl SetGpuRegBits - ldr r0, =gBattle_BG0_X - movs r1, 0 - strh r1, [r0] - ldr r0, =gBattle_BG0_Y - strh r1, [r0] - ldr r0, =gBattle_BG1_X - strh r1, [r0] - ldr r0, =gBattle_BG1_Y - strh r1, [r0] - ldr r0, =gBattle_BG2_X - strh r1, [r0] - ldr r0, =gBattle_BG2_Y - strh r1, [r0] - ldr r0, =gBattle_BG3_X - strh r1, [r0] - ldr r0, =gBattle_BG3_Y - strh r1, [r0] - ldr r0, =gBattle_WIN0H - strh r1, [r0] - ldr r0, =gBattle_WIN0V - strh r1, [r0] - ldr r0, =gBattle_WIN1H - strh r1, [r0] - ldr r0, =gBattle_WIN1V - strh r1, [r0] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D7678 - - thumb_func_start LoadContestBgAfterMoveAnim -LoadContestBgAfterMoveAnim: @ 80D7724 - push {r4,r5,lr} - ldr r0, =gUnknown_08C17AB0 - movs r1, 0xC0 - lsls r1, 19 - bl LZDecompressVram - ldr r0, =gUnknown_08C1850C - ldr r1, =0x06002000 - bl LZDecompressVram - ldr r1, =gUnknown_08C16FA8 - movs r0, 0x3 - movs r2, 0 - movs r3, 0 - bl CopyToBgTilemapBuffer - movs r0, 0x3 - bl CopyBgTilemapBufferToVram - ldr r0, =gUnknown_08C16E90 - movs r2, 0x80 - lsls r2, 2 - movs r1, 0 - bl LoadCompressedPalette - bl sub_80D782C - movs r4, 0 - movs r5, 0xA0 -_080D775E: - ldr r0, =0x0201a004 - adds r0, r5, r0 - ldr r1, =gUnknown_02039F26 - adds r1, r4, r1 - ldrb r1, [r1] - adds r1, 0x5 - lsls r1, 4 - movs r2, 0x20 - bl LoadPalette - adds r5, 0x20 - adds r4, 0x1 - cmp r4, 0x3 - ble _080D775E - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end LoadContestBgAfterMoveAnim - - thumb_func_start sub_80D779C -sub_80D779C: @ 80D779C - push {r4,lr} - movs r0, 0 - bl ResetBgsAndClearDma3BusyFlags - ldr r1, =gUnknown_08587F34 - movs r0, 0 - movs r2, 0x4 - bl InitBgsFromTemplates - movs r0, 0x3 - movs r1, 0x6 - movs r2, 0x1 - bl SetBgAttribute - movs r4, 0 -_080D77BA: - lsls r0, r4, 24 - lsrs r0, 24 - ldr r1, =gContestResources - ldr r1, [r1] - lsls r2, r4, 2 - adds r1, 0x24 - adds r1, r2 - ldr r1, [r1] - bl SetBgTilemapBuffer - adds r4, 0x1 - cmp r4, 0x3 - ble _080D77BA - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D779C - - thumb_func_start sub_80D77E4 -sub_80D77E4: @ 80D77E4 - push {lr} - ldr r0, =gUnknown_08587F44 - bl InitWindows - bl DeactivateAllTextPrinters - ldr r0, =gUnknown_02039F2A - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080D7818 - ldr r2, =gTextFlags - ldrb r1, [r2] - movs r0, 0x2 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - b _080D7822 - .pool -_080D7818: - ldr r0, =gTextFlags - ldrb r1, [r0] - movs r2, 0x1 - orrs r1, r2 - strb r1, [r0] -_080D7822: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D77E4 - - thumb_func_start sub_80D782C -sub_80D782C: @ 80D782C - push {r4,r5,lr} - ldr r0, =gUnknown_08587C30 - movs r1, 0xF0 - movs r2, 0x20 - bl LoadPalette - movs r0, 0 - movs r1, 0 - movs r2, 0x2 - bl FillPalette - movs r5, 0xA - movs r4, 0xFA - lsls r4, 16 -_080D7848: - lsrs r1, r4, 16 - ldr r0, =gPlttBufferUnfaded + 0x1E2 - movs r2, 0x2 - bl LoadPalette - movs r0, 0x80 - lsls r0, 9 - adds r4, r0 - adds r5, 0x1 - cmp r5, 0xD - ble _080D7848 - ldr r0, =0x00007e3f - movs r1, 0xF3 - movs r2, 0x2 - bl FillPalette - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D782C - - thumb_func_start sub_80D787C -sub_80D787C: @ 80D787C - push {r4-r7,lr} - ldr r4, =gContestResources - ldr r0, [r4] - ldr r0, [r0] - movs r1, 0 - movs r2, 0x5C - bl memset - movs r5, 0 - movs r2, 0xFF -_080D7890: - ldr r0, [r4] - ldr r1, [r0] - adds r1, 0x2 - adds r1, r5 - ldrb r0, [r1] - orrs r0, r2 - strb r0, [r1] - adds r5, 0x1 - cmp r5, 0x3 - ble _080D7890 - movs r4, 0 - ldr r6, =gContestResources - movs r5, 0x3 -_080D78AA: - ldr r0, [r6] - ldr r0, [r0, 0x4] - adds r0, r4, r0 - movs r1, 0 - movs r2, 0x1C - bl memset - adds r4, 0x1C - subs r5, 0x1 - cmp r5, 0 - bge _080D78AA - ldr r4, =gContestResources - movs r7, 0x4 - negs r7, r7 - movs r6, 0xFF - movs r3, 0 - movs r5, 0x3 -_080D78CC: - ldr r0, [r4] - ldr r1, [r0, 0x4] - adds r1, r3, r1 - ldrb r2, [r1, 0xB] - adds r0, r7, 0 - ands r0, r2 - strb r0, [r1, 0xB] - ldr r0, [r4] - ldr r1, [r0, 0x4] - adds r1, r3, r1 - ldrb r0, [r1, 0x13] - orrs r0, r6 - strb r0, [r1, 0x13] - ldr r0, [r4] - ldr r1, [r0, 0x4] - adds r1, r3, r1 - ldrb r0, [r1, 0x14] - orrs r0, r6 - strb r0, [r1, 0x14] - adds r3, 0x1C - subs r5, 0x1 - cmp r5, 0 - bge _080D78CC - ldr r4, =gContestResources - ldr r0, [r4] - ldr r0, [r0, 0x8] - movs r1, 0 - movs r2, 0x14 - bl memset - ldr r0, [r4] - ldr r0, [r0, 0xC] - movs r1, 0 - movs r2, 0x44 - bl memset - ldr r2, [r4] - ldr r1, [r2, 0x10] - movs r0, 0 - str r0, [r1] - ldr r0, [r2, 0x14] - movs r1, 0 - movs r2, 0x10 - bl memset - ldr r0, =gUnknown_02039F2A - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _080D7938 - movs r0, 0 - bl sub_80DCE58 -_080D7938: - movs r5, 0 - adds r2, r4, 0 - movs r6, 0xFF - movs r3, 0 - ldr r4, =gUnknown_02039F26 -_080D7942: - ldr r0, [r2] - ldr r1, [r0, 0x4] - adds r1, r3, r1 - ldrb r0, [r1, 0x19] - orrs r0, r6 - strb r0, [r1, 0x19] - ldr r0, [r2] - ldr r1, [r0] - adds r1, 0x14 - adds r1, r5 - adds r0, r5, r4 - ldrb r0, [r0] - strb r0, [r1] - adds r3, 0x1C - adds r5, 0x1 - cmp r5, 0x3 - ble _080D7942 - bl sub_80DD590 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0x1C] - movs r1, 0 - movs r2, 0x40 - bl memset - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D787C - thumb_func_start sub_80D7988 sub_80D7988: @ 80D7988 push {r4,r5,lr} @@ -634,7 +288,7 @@ _080D7C04: strb r0, [r1, 0x8] ldr r0, =sub_80D823C bl SetMainCallback2 - ldr r0, =gUnknown_02039F2A + ldr r0, =gIsLinkContest ldrb r1, [r0] movs r0, 0x2 ands r0, r1 @@ -683,7 +337,7 @@ sub_80D7CB4: @ 80D7CB4 push {r4-r6,lr} lsls r0, 24 lsrs r5, r0, 24 - ldr r0, =gUnknown_02039F2A + ldr r0, =gIsLinkContest ldrb r1, [r0] movs r0, 0x1 ands r0, r1 @@ -755,7 +409,7 @@ _080D7D3A: movs r0, 0x7F ands r0, r1 strb r0, [r2, 0x8] - ldr r0, =gUnknown_02039F2A + ldr r0, =gIsLinkContest ldrb r1, [r0] movs r0, 0x2 ands r0, r1 @@ -917,14 +571,14 @@ _080D7E84: b _080D80AE .pool _080D7EC8: - ldr r0, =gUnknown_08C17AB0 + ldr r0, =gContestMiscGfx movs r1, 0xC0 lsls r1, 19 bl LZDecompressVram b _080D80AE .pool _080D7ED8: - ldr r0, =gUnknown_08C1850C + ldr r0, =gContestAudienceGfx ldr r4, =0x06002000 adds r1, r4, 0 bl LZDecompressVram @@ -997,7 +651,7 @@ _080D7F7C: mov r1, sp adds r2, r6, 0 bl CpuSet - ldr r0, =gUnknown_02039F25 + ldr r0, =gContestPlayerMonIndex mov r9, r0 ldrb r0, [r0] adds r0, 0x5 @@ -1409,7 +1063,7 @@ sub_80D833C: @ 80D833C movs r2, 0 movs r3, 0x1 bl ConvertIntToDecimalStringN - ldr r0, =gUnknown_02039F25 + ldr r0, =gContestPlayerMonIndex ldrb r0, [r0] bl sub_80DBCA8 lsls r0, 24 @@ -1474,7 +1128,7 @@ sub_80D8424: @ 80D8424 _080D843C: movs r0, 0x5 bl PlaySE - ldr r0, =gUnknown_02039F25 + ldr r0, =gContestPlayerMonIndex ldrb r0, [r0] bl sub_80DBCA8 lsls r0, 24 @@ -1523,9 +1177,9 @@ sub_80D8490: @ 80D8490 ldr r0, =gBattle_BG2_Y strh r1, [r0] movs r6, 0 - ldr r0, =gUnknown_02039F25 + ldr r0, =gContestPlayerMonIndex mov r8, r0 - ldr r2, =gUnknown_02039E00 + 30 + ldr r2, =gContestMons + 30 mov r10, r2 ldr r7, =gContestResources _080D84B8: @@ -1639,12 +1293,12 @@ _080D856C: lsls r0, 24 asrs r0, 24 bl sub_80D880C - ldr r2, =gUnknown_02039E00 + ldr r2, =gContestMons ldr r0, [r4] ldr r0, [r0] ldrb r1, [r0] lsls r1, 1 - ldr r0, =gUnknown_02039F25 + ldr r0, =gContestPlayerMonIndex ldrb r0, [r0] lsls r0, 6 adds r1, r0 @@ -1678,8 +1332,8 @@ sub_80D8610: @ 80D8610 lsrs r7, r0, 24 movs r6, 0 ldr r3, =gMain - ldr r1, =gUnknown_02039E00 - ldr r0, =gUnknown_02039F25 + ldr r1, =gContestMons + ldr r0, =gContestPlayerMonIndex ldrb r0, [r0] lsls r0, 6 adds r1, 0x1E @@ -1746,7 +1400,7 @@ _080D868E: movs r2, 0 movs r3, 0x1 bl ConvertIntToDecimalStringN - ldr r0, =gUnknown_02039F25 + ldr r0, =gContestPlayerMonIndex ldrb r0, [r0] bl sub_80DBCA8 lsls r0, 24 @@ -1811,12 +1465,12 @@ _080D8756: lsls r0, 24 asrs r0, 24 bl sub_80D880C - ldr r2, =gUnknown_02039E00 + ldr r2, =gContestMons ldr r0, [r4] ldr r0, [r0] ldrb r1, [r0] lsls r1, 1 - ldr r0, =gUnknown_02039F25 + ldr r0, =gContestPlayerMonIndex ldrb r0, [r0] lsls r0, 6 adds r1, r0 @@ -1858,12 +1512,12 @@ _080D87C4: lsls r0, 24 asrs r0, 24 bl sub_80D880C - ldr r2, =gUnknown_02039E00 + ldr r2, =gContestMons ldr r0, [r4] ldr r0, [r0] ldrb r1, [r0] lsls r1, 1 - ldr r0, =gUnknown_02039F25 + ldr r0, =gContestPlayerMonIndex ldrb r0, [r0] lsls r0, 6 adds r1, r0 @@ -1958,13 +1612,13 @@ sub_80D8894: @ 80D8894 push {r4,r5,lr} lsls r0, 24 lsrs r5, r0, 24 - ldr r0, =gUnknown_02039F2A + ldr r0, =gIsLinkContest ldrb r1, [r0] movs r0, 0x1 ands r0, r1 cmp r0, 0 beq _080D890C - ldr r4, =gUnknown_02039F25 + ldr r4, =gContestPlayerMonIndex ldrb r0, [r4] bl sub_80DB8B8 ldr r1, =gContestResources @@ -2194,7 +1848,7 @@ sub_80D8A88: @ 80D8A88 ldr r0, =gRngValue ldr r0, [r0] str r0, [r1, 0x18] - ldr r0, =gUnknown_02039F2A + ldr r0, =gIsLinkContest ldrb r1, [r0] movs r0, 0x1 ands r0, r1 @@ -2374,7 +2028,7 @@ _080D8C9C: ldr r0, [r4] ldr r2, [r0] ldrb r6, [r2, 0x11] - ldr r0, =gUnknown_02039F2A + ldr r0, =gIsLinkContest ldrb r1, [r0] movs r5, 0x1 adds r0, r5, 0 @@ -2513,7 +2167,7 @@ _080D8DD0: ldr r0, [r0] ldrb r0, [r0, 0x11] bl sub_80DE9DC - ldr r4, =gUnknown_02039E00 + ldr r4, =gContestMons ldr r0, [r5] ldr r0, [r0] ldrb r3, [r0, 0x11] @@ -2624,7 +2278,7 @@ _080D8EF2: bl sub_80DB89C ldr r0, =gStringVar1 lsls r1, r6, 6 - ldr r2, =gUnknown_02039E00 + 2 + ldr r2, =gContestMons + 2 adds r1, r2 bl StringCopy mov r2, r9 @@ -3562,7 +3216,7 @@ _080D96D4: bl sub_80DB89C ldr r0, =gStringVar1 lsls r1, r6, 6 - ldr r2, =gUnknown_02039E00 + 2 + ldr r2, =gContestMons + 2 adds r1, r2 bl StringCopy ldr r4, =gStringVar4 @@ -3671,7 +3325,7 @@ _080D97DC: bl sub_80DB89C ldr r0, =gStringVar1 lsls r1, r6, 6 - ldr r2, =gUnknown_02039E00 + 2 + ldr r2, =gContestMons + 2 adds r1, r2 bl StringCopy ldr r4, =gStringVar4 @@ -3809,7 +3463,7 @@ _080D9904: bl sub_80DB89C ldr r0, =gStringVar1 lsls r1, r6, 6 - ldr r2, =gUnknown_02039E00 + 2 + ldr r2, =gContestMons + 2 adds r1, r2 bl StringCopy ldr r4, =gStringVar4 @@ -4010,7 +3664,7 @@ _080D9AD2: bl sub_80DB89C ldr r0, =gStringVar1 lsls r1, r6, 6 - ldr r2, =gUnknown_02039E00 + 2 + ldr r2, =gContestMons + 2 adds r1, r2 bl StringCopy ldr r4, =gContestResources @@ -4381,7 +4035,7 @@ _080D9DD4: lsls r1, 20 lsrs r1, 29 lsls r1, 6 - ldr r4, =gUnknown_02039E00 + 2 + ldr r4, =gContestMons + 2 adds r1, r4 bl StringCopy ldr r0, =gStringVar1 @@ -4476,7 +4130,7 @@ _080D9EDC: bl sub_80DC9B4 ldr r0, =gStringVar1 lsls r1, r6, 6 - ldr r2, =gUnknown_02039E00 + 2 + ldr r2, =gContestMons + 2 adds r1, r2 bl StringCopy ldr r0, =gStringVar2 @@ -4626,7 +4280,7 @@ _080DA038: bl sub_80DB89C ldr r0, =gStringVar1 lsls r1, r6, 6 - ldr r2, =gUnknown_02039E00 + 2 + ldr r2, =gContestMons + 2 adds r1, r2 bl StringCopy ldr r4, =gStringVar4 @@ -4822,7 +4476,7 @@ _080DA1C0: beq _080DA248 b _080DA250 _080DA1C6: - ldr r0, =gUnknown_02039F2A + ldr r0, =gIsLinkContest ldrb r1, [r0] movs r6, 0x1 adds r0, r6, 0 @@ -5084,7 +4738,7 @@ sub_80DA3CC: @ 80DA3CC bne _080DA448 ldr r0, =gContestResources ldr r0, [r0] - ldr r5, =gUnknown_02039F25 + ldr r5, =gContestPlayerMonIndex ldrb r1, [r5] ldr r2, [r0, 0x4] lsls r0, r1, 3 @@ -5096,7 +4750,7 @@ sub_80DA3CC: @ 80DA3CC ldr r0, =gStringVar1 ldrb r1, [r5] lsls r1, 6 - ldr r2, =gUnknown_02039E00 + 2 + ldr r2, =gContestMons + 2 adds r1, r2 bl StringCopy ldr r5, =gStringVar4 @@ -5344,7 +4998,7 @@ _080DA600: bge _080DA600 bl sub_80DBD18 bl sub_80DB89C - ldr r0, =gUnknown_02039F2A + ldr r0, =gIsLinkContest ldrb r1, [r0] movs r0, 0x1 ands r0, r1 @@ -5352,7 +5006,7 @@ _080DA600: bne _080DA65C ldr r0, =gContestResources ldr r2, [r0] - ldr r0, =gUnknown_02039F25 + ldr r0, =gContestPlayerMonIndex ldrb r1, [r0] ldr r2, [r2, 0x4] lsls r0, r1, 3 @@ -5479,7 +5133,7 @@ sub_80DA740: @ 80DA740 ble _080DA794 movs r0, 0 strh r0, [r4, 0x8] - ldr r0, =gUnknown_02039F2A + ldr r0, =gIsLinkContest ldrb r0, [r0] movs r1, 0x1 ands r1, r0 @@ -5608,13 +5262,13 @@ sub_80DA874: @ 80DA874 thumb_func_start sub_80DA884 sub_80DA884: @ 80DA884 push {lr} - ldr r0, =gUnknown_02039F2A + ldr r0, =gIsLinkContest ldrb r1, [r0] movs r0, 0x1 ands r0, r1 cmp r0, 0 bne _080DA898 - ldr r1, =gUnknown_02039F25 + ldr r1, =gContestPlayerMonIndex movs r0, 0x3 strb r0, [r1] _080DA898: @@ -5626,7 +5280,7 @@ _080DA898: thumb_func_start sub_80DA8A4 sub_80DA8A4: @ 80DA8A4 push {lr} - ldr r0, =gUnknown_02039F25 + ldr r0, =gContestPlayerMonIndex ldr r1, =gUnknown_02039F2B ldrb r0, [r0] ldrb r1, [r1] @@ -5655,7 +5309,7 @@ sub_80DA8C8: @ 80DA8C8 ldr r1, [r6] mov r0, sp bl StringCopy - ldr r0, =gUnknown_02039F2A + ldr r0, =gIsLinkContest ldrb r1, [r0] movs r0, 0x1 ands r0, r1 @@ -5664,10 +5318,10 @@ sub_80DA8C8: @ 80DA8C8 mov r0, sp bl sub_80DF9D4 _080DA8F2: - ldr r5, =gUnknown_02039F25 + ldr r5, =gContestPlayerMonIndex ldrb r0, [r5] lsls r0, 6 - ldr r4, =gUnknown_02039E00 + 13 + ldr r4, =gContestMons + 13 adds r0, r4 mov r1, sp movs r2, 0x8 @@ -5689,8 +5343,8 @@ _080DA928: movs r1, 0xD9 _080DA930: strb r1, [r0, 0x8] - ldr r7, =gUnknown_02039E00 - ldr r6, =gUnknown_02039F25 + ldr r7, =gContestMons + ldr r6, =gContestPlayerMonIndex ldrb r0, [r6] lsls r0, 6 adds r1, r7, 0 @@ -5721,7 +5375,7 @@ _080DA930: bl GetMonData mov r0, sp bl StringGetEnd10 - ldr r0, =gUnknown_02039F2A + ldr r0, =gIsLinkContest ldrb r1, [r0] movs r0, 0x1 ands r0, r1 @@ -5934,8 +5588,8 @@ _080DAB36: ble _080DAB40 movs r4, 0xFF _080DAB40: - ldr r2, =gUnknown_02039E00 - ldr r1, =gUnknown_02039F25 + ldr r2, =gContestMons + ldr r1, =gContestPlayerMonIndex ldrb r0, [r1] lsls r0, 6 adds r0, r2 @@ -5989,7 +5643,7 @@ sub_80DAB8C: @ 80DAB8C lsls r0, 24 cmp r0, 0 beq _080DABC0 - ldr r0, =gUnknown_02039F2A + ldr r0, =gIsLinkContest ldrb r1, [r0] movs r0, 0x1 ands r0, r1 @@ -6079,7 +5733,7 @@ _080DAC50: bl __modsi3 lsls r0, 16 lsrs r0, 16 - ldr r1, =gUnknown_02039E00 + ldr r1, =gContestMons lsls r2, r5, 6 adds r2, r1 mov r1, sp @@ -6221,7 +5875,7 @@ _080DAD56: subs r0, r1 cmp r5, r0 bge _080DADF6 - ldr r3, =gUnknown_02039E00 + ldr r3, =gContestMons mov r8, r3 mov r6, r9 movs r0, 0x2 @@ -6451,7 +6105,7 @@ sub_80DAF1C: @ 80DAF1C add r0, sp, 0x4 bl StringCopy lsls r1, r5, 6 - ldr r0, =gUnknown_02039E00 + 13 + ldr r0, =gContestMons + 13 adds r1, r0 add r0, sp, 0x4 bl StringAppend @@ -6508,7 +6162,7 @@ sub_80DAFA0: @ 80DAFA0 lsls r1, 24 lsrs r1, 24 lsls r0, r4, 6 - ldr r2, =gUnknown_02039E00 + 2 + ldr r2, =gContestMons + 2 adds r0, r2 bl sub_80DAED4 ldr r0, =gUnknown_02039F26 @@ -6550,7 +6204,7 @@ _080DAFFC: .4byte _080DB050 .4byte _080DB06C _080DB010: - ldr r0, =gUnknown_02039E00 + ldr r0, =gContestMons lsls r2, 6 adds r1, r2, r0 adds r3, r1, 0 @@ -6562,7 +6216,7 @@ _080DB010: b _080DB07E .pool _080DB028: - ldr r0, =gUnknown_02039E00 + ldr r0, =gContestMons lsls r2, 6 adds r1, r2, r0 adds r3, r1, 0 @@ -6574,7 +6228,7 @@ _080DB028: b _080DB07E .pool _080DB040: - ldr r1, =gUnknown_02039E00 + ldr r1, =gContestMons lsls r2, 6 adds r3, r2, r1 adds r0, r3, 0 @@ -6582,7 +6236,7 @@ _080DB040: b _080DB05A .pool _080DB050: - ldr r1, =gUnknown_02039E00 + ldr r1, =gContestMons lsls r2, 6 adds r3, r2, r1 adds r0, r3, 0 @@ -6597,7 +6251,7 @@ _080DB05A: b _080DB080 .pool _080DB06C: - ldr r0, =gUnknown_02039E00 + ldr r0, =gContestMons lsls r2, 6 adds r1, r2, r0 adds r3, r1, 0 @@ -6734,7 +6388,7 @@ sub_80DB174: @ 80DB174 adds r0, r5, 0 bl sub_80DE84C adds r5, r0, 0 - ldr r0, =gUnknown_02039F25 + ldr r0, =gContestPlayerMonIndex ldrb r0, [r0] cmp r4, r0 bne _080DB1B8 @@ -7632,7 +7286,7 @@ sub_80DB8B8: @ 80DB8B8 movs r0, 0 b _080DB90A _080DB8D0: - ldr r0, =gUnknown_02039F25 + ldr r0, =gContestPlayerMonIndex ldrb r0, [r0] cmp r4, r0 beq _080DB8F4 @@ -7640,13 +7294,13 @@ _080DB8D0: bl sub_81562C4 bl sub_8156324 lsls r0, 24 - ldr r2, =gUnknown_02039E00 + ldr r2, =gContestMons lsrs r0, 23 lsls r1, r4, 6 b _080DB902 .pool _080DB8F4: - ldr r2, =gUnknown_02039E00 + ldr r2, =gContestMons ldr r0, =gContestResources ldr r0, [r0] ldr r0, [r0] @@ -8415,7 +8069,7 @@ _080DBE90: ble _080DBE06 movs r6, 0 mov r9, r6 - ldr r2, =gUnknown_02039F20 + ldr r2, =gContestFinalStandings ldr r1, [sp, 0x6C] _080DBEA2: ldr r0, [r1] @@ -8442,7 +8096,7 @@ _080DBEA2: thumb_func_start sub_80DBED4 sub_80DBED4: @ 80DBED4 push {lr} - ldr r0, =gUnknown_02039F2A + ldr r0, =gIsLinkContest ldrb r1, [r0] movs r0, 0x1 ands r0, r1 @@ -8450,8 +8104,8 @@ sub_80DBED4: @ 80DBED4 beq _080DBF0E ldr r0, =gSaveBlock2Ptr ldr r2, [r0] - ldr r1, =gUnknown_02039F20 - ldr r0, =gUnknown_02039F25 + ldr r1, =gContestFinalStandings + ldr r0, =gContestPlayerMonIndex ldrb r0, [r0] adds r0, r1 ldrb r1, [r0] @@ -11173,7 +10827,7 @@ sub_80DD45C: @ 80DD45C lsrs r6, r1, 24 ldr r0, =gStringVar1 lsls r1, r4, 6 - ldr r2, =gUnknown_02039E00 + 2 + ldr r2, =gContestMons + 2 adds r1, r2 bl StringCopy ldr r0, =gStringVar2 @@ -13165,7 +12819,7 @@ _080DE4E2: b _080DE5B4 .pool _080DE52C: - ldr r0, =gUnknown_02039F2A + ldr r0, =gIsLinkContest ldrb r0, [r0] ands r1, r0 cmp r1, 0 @@ -13594,7 +13248,7 @@ sub_80DE864: @ 80DE864 bl sub_80DE834 lsls r0, 16 lsrs r5, r0, 16 - ldr r1, =gUnknown_02039E00 + ldr r1, =gContestMons lsls r0, r7, 6 adds r0, r1 ldrh r0, [r0] @@ -13675,7 +13329,7 @@ _080DE920: lsls r0, 2 adds r0, r1 ldrb r4, [r0, 0x1B] - ldr r5, =gUnknown_02039E00 + ldr r5, =gContestMons lsls r4, 6 adds r0, r4, r5 ldrh r0, [r0] @@ -13767,7 +13421,7 @@ sub_80DE9DC: @ 80DE9DC ldr r0, [r6] ldr r0, [r0, 0x18] strb r4, [r0, 0x5] - ldr r5, =gUnknown_02039E00 + ldr r5, =gContestMons lsls r4, 6 adds r0, r4, r5 ldrh r0, [r0] @@ -14057,7 +13711,7 @@ sub_80DEC30: @ 80DEC30 bl AddTextPrinter b _080DECA4 _080DEC80: - ldr r0, =gUnknown_02039F2A + ldr r0, =gIsLinkContest ldrb r1, [r0] adds r0, r5, 0 ands r0, r1 @@ -14236,7 +13890,7 @@ sub_80DEDA8: @ 80DEDA8 lsrs r0, 24 mov r8, r0 movs r5, 0 - ldr r1, =gUnknown_02039F20 + ldr r1, =gContestFinalStandings ldrb r0, [r1] cmp r0, 0 beq _080DEDE6 @@ -14252,7 +13906,7 @@ _080DEDE6: ldr r0, [sp] cmp r0, 0xFF bne _080DEE00 - ldr r0, =gUnknown_02039F25 + ldr r0, =gContestPlayerMonIndex ldrb r0, [r0] cmp r5, r0 beq _080DEE00 @@ -14316,7 +13970,7 @@ _080DEE54: ldr r6, =0x00002e90 adds r2, r0, r6 adds r2, r7 - ldr r4, =gUnknown_02039E00 + ldr r4, =gContestMons lsls r5, 6 adds r1, r4, 0 adds r1, 0x38 @@ -14351,7 +14005,7 @@ _080DEE54: adds r5, r4 adds r1, r5, 0 bl StringCopy - ldr r0, =gUnknown_02039F2A + ldr r0, =gIsLinkContest ldrb r1, [r0] movs r0, 0x1 ands r0, r1 @@ -14404,7 +14058,7 @@ _080DEF34: .pool _080DEF50: ldr r6, =gUnknown_02039F3C - ldr r4, =gUnknown_02039E00 + ldr r4, =gContestMons lsls r5, 6 adds r0, r4, 0 adds r0, 0x38 @@ -14820,7 +14474,7 @@ sub_80DF250: @ 80DF250 mov r7, sp adds r7, 0x2 str r7, [sp, 0x24] - ldr r5, =gUnknown_02039F20 + ldr r5, =gContestFinalStandings movs r2, 0 movs r3, 0x80 lsls r3, 17 @@ -14921,7 +14575,7 @@ _080DF322: _080DF336: cmp r5, 0x4 bne _080DF354 - ldr r1, =gUnknown_02039F20 + ldr r1, =gContestFinalStandings adds r0, r4, r1 ldrb r0, [r0] cmp r0, 0 @@ -15156,8 +14810,8 @@ sub_80DF4F8: @ 80DF4F8 mov r5, r8 push {r5-r7} sub sp, 0xC - ldr r1, =gUnknown_02039F20 - ldr r0, =gUnknown_02039F25 + ldr r1, =gContestFinalStandings + ldr r0, =gContestPlayerMonIndex ldrb r0, [r0] adds r0, r1 ldrb r0, [r0] diff --git a/asm/contest_ai.s b/asm/contest_ai.s index 3438107eb1..217044e9fc 100644 --- a/asm/contest_ai.s +++ b/asm/contest_ai.s @@ -39,7 +39,7 @@ _081562DE: strb r1, [r0] ldr r0, [r2] ldr r2, [r0, 0xC] - ldr r1, =gUnknown_02039E00 + ldr r1, =gContestMons adds r0, r2, 0 adds r0, 0x41 ldrb r0, [r0] @@ -144,7 +144,7 @@ sub_81563B0: @ 81563B0 beq _081564A0 adds r7, r5, 0 ldr r6, =gAIScriptPtr - ldr r0, =gUnknown_02039E00 + 30 + ldr r0, =gContestMons + 30 mov r8, r0 _081563CC: ldr r0, [r7] @@ -1436,7 +1436,7 @@ _08156D9C: thumb_func_start sub_8156DA0 sub_8156DA0: @ 8156DA0 push {r4,lr} - ldr r2, =gUnknown_02039E00 + ldr r2, =gContestMons ldr r4, =gContestResources ldr r0, [r4] ldr r0, [r0, 0xC] @@ -1615,7 +1615,7 @@ _08156EFC: thumb_func_start sub_8156F04 sub_8156F04: @ 8156F04 - ldr r2, =gUnknown_02039E00 + ldr r2, =gContestMons ldr r0, =gContestResources ldr r0, [r0] ldr r3, [r0, 0xC] @@ -1714,7 +1714,7 @@ _08156FC8: thumb_func_start sub_8156FCC sub_8156FCC: @ 8156FCC - ldr r2, =gUnknown_02039E00 + ldr r2, =gContestMons ldr r0, =gContestResources ldr r0, [r0] ldr r3, [r0, 0xC] @@ -1818,7 +1818,7 @@ _0815709C: thumb_func_start sub_81570A0 sub_81570A0: @ 81570A0 push {r4-r7,lr} - ldr r2, =gUnknown_02039E00 + ldr r2, =gContestMons ldr r5, =gContestResources ldr r0, [r5] ldr r1, [r0, 0xC] @@ -1923,7 +1923,7 @@ _0815716C: thumb_func_start sub_8157174 sub_8157174: @ 8157174 push {r4-r7,lr} - ldr r2, =gUnknown_02039E00 + ldr r2, =gContestMons ldr r5, =gContestResources ldr r0, [r5] ldr r1, [r0, 0xC] @@ -2028,7 +2028,7 @@ _08157240: thumb_func_start sub_8157248 sub_8157248: @ 8157248 push {r4,lr} - ldr r2, =gUnknown_02039E00 + ldr r2, =gContestMons ldr r0, =gContestResources ldr r0, [r0] ldr r4, [r0, 0xC] @@ -2208,7 +2208,7 @@ _081573B0: thumb_func_start sub_81573B4 sub_81573B4: @ 81573B4 push {r4,lr} - ldr r2, =gUnknown_02039E00 + ldr r2, =gContestMons ldr r0, =gContestResources ldr r0, [r0] ldr r4, [r0, 0xC] @@ -2388,7 +2388,7 @@ _0815751C: thumb_func_start sub_8157520 sub_8157520: @ 8157520 push {r4,r5,lr} - ldr r3, =gUnknown_02039E00 + ldr r3, =gContestMons ldr r5, =gContestResources ldr r4, [r5] ldr r1, [r4, 0xC] @@ -2575,7 +2575,7 @@ _08157684: sub_8157688: @ 8157688 push {r4-r6,lr} movs r3, 0 - ldr r2, =gUnknown_02039E00 + ldr r2, =gContestMons ldr r0, =gContestResources ldr r0, [r0] ldr r0, [r0, 0xC] @@ -2711,7 +2711,7 @@ _08157788: sub_8157790: @ 8157790 push {r4-r6,lr} movs r3, 0 - ldr r2, =gUnknown_02039E00 + ldr r2, =gContestMons ldr r0, =gContestResources ldr r0, [r0] ldr r0, [r0, 0xC] @@ -2846,7 +2846,7 @@ _08157890: sub_8157898: @ 8157898 push {r4-r6,lr} movs r5, 0 - ldr r3, =gUnknown_02039E00 + ldr r3, =gContestMons ldr r6, =gContestResources ldr r4, [r6] ldr r1, [r4, 0xC] @@ -5030,7 +5030,7 @@ sub_8158948: @ 8158948 push {r4-r6,lr} movs r5, 0 movs r4, 0 - ldr r6, =gUnknown_02039E00 + 30 + ldr r6, =gContestMons + 30 _08158950: lsls r1, r4, 1 ldr r0, =gContestResources @@ -5156,7 +5156,7 @@ sub_8158A34: @ 8158A34 lsls r0, 8 orrs r5, r0 movs r4, 0 - ldr r0, =gUnknown_02039E00 + ldr r0, =gContestMons mov r12, r0 ldr r2, =gContestResources ldr r0, [r2] diff --git a/asm/contest_link_80F57C4.s b/asm/contest_link_80F57C4.s index 450a235d5b..88629fb832 100644 --- a/asm/contest_link_80F57C4.s +++ b/asm/contest_link_80F57C4.s @@ -276,10 +276,10 @@ sub_80F5A74: @ 80F5A74 lsrs r0, 24 adds r5, r0, 0 lsls r1, r5, 6 - ldr r0, =gUnknown_02039E00 + ldr r0, =gContestMons adds r7, r1, r0 ldr r6, =gDisplayedStringBattle - ldr r0, =gUnknown_02039F25 + ldr r0, =gContestPlayerMonIndex ldrb r0, [r0] cmp r5, r0 bne _080F5A96 @@ -398,7 +398,7 @@ sub_80F5B00: @ 80F5B00 movs r1, 0x14 bl CreateTask bl sub_80F7880 - ldr r0, =gUnknown_02039F2A + ldr r0, =gIsLinkContest ldrb r1, [r0] movs r0, 0x2 ands r0, r1 @@ -503,7 +503,7 @@ sub_80F5CE4: @ 80F5CE4 push {r4-r7,lr} lsls r0, 24 lsrs r6, r0, 24 - ldr r3, =gUnknown_02039F2A + ldr r3, =gIsLinkContest ldrb r1, [r3] movs r0, 0x1 ands r0, r1 @@ -535,8 +535,8 @@ _080F5D20: b _080F5E2E _080F5D2A: bl sub_80DBED4 - ldr r1, =gUnknown_02039F20 - ldr r0, =gUnknown_02039F25 + ldr r1, =gContestFinalStandings + ldr r0, =gContestPlayerMonIndex ldrb r0, [r0] adds r0, r1 ldrb r0, [r0] @@ -648,7 +648,7 @@ _080F5E2E: lsls r0, 3 adds r4, r0, r1 strh r2, [r4, 0x8] - ldr r0, =gUnknown_02039F2A + ldr r0, =gIsLinkContest ldrb r1, [r0] movs r5, 0x1 adds r0, r5, 0 @@ -663,8 +663,8 @@ _080F5E2E: _080F5E78: movs r0, 0x24 bl IncrementGameStat - ldr r1, =gUnknown_02039F20 - ldr r0, =gUnknown_02039F25 + ldr r1, =gContestFinalStandings + ldr r0, =gContestPlayerMonIndex ldrb r0, [r0] adds r0, r1 ldrb r0, [r0] @@ -1160,7 +1160,7 @@ _080F6298: adds r1, r0 lsls r1, 3 adds r1, r7 - ldr r0, =gUnknown_02039F20 + ldr r0, =gContestFinalStandings adds r0, r4, r0 ldrb r0, [r0] strh r0, [r1, 0x8] @@ -1201,7 +1201,7 @@ _080F62F2: adds r0, 0x1 strh r0, [r4, 0x8] movs r4, 0 - ldr r1, =gUnknown_02039F20 + ldr r1, =gContestFinalStandings ldrb r0, [r1] cmp r0, 0 beq _080F631C @@ -1236,10 +1236,10 @@ _080F6334: movs r0, 0 strh r0, [r2, 0xA] movs r4, 0 - ldr r1, =gUnknown_02039F20 + ldr r1, =gContestFinalStandings ldrb r0, [r1] ldr r7, =gStringVar1 - ldr r2, =gUnknown_02039E00 + 13 + ldr r2, =gContestMons + 13 mov r8, r2 cmp r0, 0 beq _080F636E @@ -1355,12 +1355,12 @@ _080F6454: adds r0, r3, 0 strh r0, [r1] movs r2, 0 - ldr r1, =gUnknown_02039F20 + ldr r1, =gContestFinalStandings ldrb r0, [r1] lsls r4, r7, 2 mov r10, r4 - ldr r3, =gUnknown_02039E00 - ldr r4, =gUnknown_02039F25 + ldr r3, =gContestMons + ldr r4, =gContestPlayerMonIndex mov r9, r4 ldr r4, =gMonFrontPicTable mov r12, r4 @@ -1623,14 +1623,14 @@ sub_80F66B4: @ 80F66B4 ands r0, r1 cmp r0, 0 beq _080F6702 - ldr r0, =gUnknown_02039F2A + ldr r0, =gIsLinkContest ldrb r1, [r0] adds r0, r2, 0 ands r0, r1 lsls r6, r7, 2 cmp r0, 0 bne _080F66F2 - ldr r5, =gUnknown_02039E00 + ldr r5, =gContestMons movs r4, 0x3 _080F66DA: ldrh r0, [r5] @@ -1664,7 +1664,7 @@ sub_80F671C: @ 80F671C push {r4,lr} lsls r0, 24 lsrs r2, r0, 24 - ldr r0, =gUnknown_02039F2A + ldr r0, =gIsLinkContest ldrb r1, [r0] movs r0, 0x1 ands r0, r1 @@ -1710,7 +1710,7 @@ sub_80F677C: @ 80F677C ldrb r0, [r0] cmp r0, 0 bne _080F67AC - ldr r0, =gUnknown_02039F2A + ldr r0, =gIsLinkContest ldrb r1, [r0] movs r0, 0x2 ands r0, r1 @@ -1739,14 +1739,14 @@ task_repel: @ 80F67C4 sub sp, 0x4 lsls r0, 24 lsrs r4, r0, 24 - ldr r0, =gUnknown_02039F2A + ldr r0, =gIsLinkContest ldrb r1, [r0] movs r0, 0x1 ands r0, r1 cmp r0, 0 bne _080F67E6 - ldr r1, =gUnknown_02039F20 - ldr r0, =gUnknown_02039F25 + ldr r1, =gContestFinalStandings + ldr r0, =gContestPlayerMonIndex ldrb r0, [r0] adds r0, r1 ldrb r0, [r0] @@ -1980,7 +1980,7 @@ sub_80F69B8: @ 80F69B8 lsrs r5, r2, 24 lsls r3, 24 lsrs r6, r3, 24 - ldr r0, =gUnknown_02039F25 + ldr r0, =gContestPlayerMonIndex movs r2, 0 ldrb r0, [r0] cmp r4, r0 @@ -2059,7 +2059,7 @@ sub_80F6A64: @ 80F6A64 lsls r1, 24 lsrs r6, r1, 24 movs r5, 0 - ldr r4, =gUnknown_02039E00 + ldr r4, =gContestMons _080F6A74: ldrh r0, [r4] lsls r1, r5, 24 @@ -2088,7 +2088,7 @@ sub_80F6A9C: @ 80F6A9C movs r5, 0xA0 lsls r5, 16 _080F6AA6: - ldr r1, =gUnknown_02039E00 + ldr r1, =gContestMons lsls r0, r4, 6 adds r0, r1 ldrh r0, [r0] @@ -2119,7 +2119,7 @@ _080F6AA6: thumb_func_start sub_80F6AE8 sub_80F6AE8: @ 80F6AE8 push {r4,lr} - ldr r0, =gUnknown_02039F2A + ldr r0, =gIsLinkContest ldrb r1, [r0] movs r0, 0x2 ands r0, r1 @@ -2955,7 +2955,7 @@ sub_80F71C8: @ 80F71C8 sub sp, 0xC movs r5, 0x5 movs r4, 0x1 - ldr r0, =gUnknown_02039F2A + ldr r0, =gIsLinkContest ldrb r1, [r0] adds r0, r4, 0 ands r0, r1 @@ -3322,7 +3322,7 @@ sub_80F74BC: @ 80F74BC lsls r0, 24 lsrs r5, r0, 24 movs r4, 0 - ldr r1, =gUnknown_02039F20 + ldr r1, =gContestFinalStandings ldrb r0, [r1] ldr r6, =gUnknown_0203A034 cmp r0, 0 @@ -3729,7 +3729,7 @@ sub_80F77E0: @ 80F77E0 adds r1, r2 strh r4, [r1, 0x8] strh r5, [r1, 0xA] - ldr r0, =gUnknown_02039E00 + ldr r0, =gContestMons lsls r4, 6 adds r4, r0 ldrh r0, [r4] @@ -3765,7 +3765,7 @@ sub_80F7824: @ 80F7824 strh r0, [r4, 0x1C] ldrh r0, [r4, 0xC] ldrb r2, [r4, 0x1E] - ldr r1, =gUnknown_02039E00 + ldr r1, =gContestMons lsls r3, r5, 6 adds r1, 0x38 adds r3, r1 @@ -3987,7 +3987,7 @@ _080F79CC: negs r0, r0 _080F7A02: strb r0, [r1, 0x12] - ldr r0, =gUnknown_02039F20 + ldr r0, =gContestFinalStandings add r0, r8 ldrb r0, [r0] cmp r0, 0 @@ -4721,8 +4721,8 @@ _080F7FEE: sub_80F7FFC: @ 80F7FFC push {r4-r7,lr} sub sp, 0x4 - ldr r1, =gUnknown_02039F20 - ldr r0, =gUnknown_02039F25 + ldr r1, =gContestFinalStandings + ldr r0, =gContestPlayerMonIndex ldrb r0, [r0] adds r0, r1 ldrb r0, [r0] @@ -4994,7 +4994,7 @@ sub_80F8264: @ 80F8264 ldr r0, =gSpecialVar_0x8006 ldrh r1, [r0] lsls r1, 6 - ldr r0, =gUnknown_02039E00 + 13 + ldr r0, =gContestMons + 13 adds r1, r0 adds r0, r4, 0 bl StringCopy @@ -5013,7 +5013,7 @@ sub_80F8290: @ 80F8290 ldr r1, =gSpecialVar_0x8006 ldrh r1, [r1] lsls r1, 6 - ldr r2, =gUnknown_02039E00 + 2 + ldr r2, =gContestMons + 2 adds r1, r2 bl StringCopy pop {r0} @@ -5075,7 +5075,7 @@ sub_80F82FC: @ 80F82FC sub_80F831C: @ 80F831C push {lr} movs r1, 0 - ldr r2, =gUnknown_02039F20 + ldr r2, =gContestFinalStandings ldrb r0, [r2] ldr r3, =gSpecialVar_0x8005 cmp r0, 0 @@ -5101,10 +5101,10 @@ _080F833C: sub_80F834C: @ 80F834C push {r4,lr} movs r1, 0 - ldr r2, =gUnknown_02039F20 + ldr r2, =gContestFinalStandings ldrb r0, [r2] ldr r4, =gStringVar3 - ldr r3, =gUnknown_02039E00 + 13 + ldr r3, =gContestMons + 13 cmp r0, 0 beq _080F836E _080F835C: @@ -5134,10 +5134,10 @@ _080F836E: sub_80F8390: @ 80F8390 push {r4,lr} movs r1, 0 - ldr r2, =gUnknown_02039F20 + ldr r2, =gContestFinalStandings ldrb r0, [r2] ldr r4, =gStringVar1 - ldr r3, =gUnknown_02039E00 + 2 + ldr r3, =gContestMons + 2 cmp r0, 0 beq _080F83B2 _080F83A0: @@ -5216,7 +5216,7 @@ sub_80F840C: @ 80F840C thumb_func_start sub_80F8438 sub_80F8438: @ 80F8438 ldr r2, =gSpecialVar_0x8004 - ldr r1, =gUnknown_02039E00 + ldr r1, =gContestMons ldr r0, =gSpecialVar_0x8006 ldrh r0, [r0] lsls r0, 6 @@ -5272,7 +5272,7 @@ sub_80F8484: @ 80F8484 thumb_func_start sub_80F84B0 sub_80F84B0: @ 80F84B0 ldr r0, =gSpecialVar_0x8004 - ldr r1, =gUnknown_02039F25 + ldr r1, =gContestPlayerMonIndex ldrb r1, [r1] strh r1, [r0] bx lr @@ -5314,7 +5314,7 @@ sub_80F8508: @ 80F8508 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - ldr r0, =gUnknown_02039F2A + ldr r0, =gIsLinkContest ldrb r1, [r0] movs r0, 0x4 ands r0, r1 @@ -5578,7 +5578,7 @@ sub_80F8714: @ 80F8714 b _080F877E .pool _080F8748: - ldr r5, =gUnknown_02039E00 + 2 + ldr r5, =gContestMons + 2 movs r4, 0x3 _080F874C: adds r0, r5, 0 diff --git a/asm/contest_link_80FC4F4.s b/asm/contest_link_80FC4F4.s index 621e260384..3ba383f0bd 100644 --- a/asm/contest_link_80FC4F4.s +++ b/asm/contest_link_80FC4F4.s @@ -139,12 +139,12 @@ sub_80FC5DC: @ 80FC5DC cmp r0, 0 beq _080FC650 bl GetMultiplayerId - ldr r1, =gUnknown_02039F25 + ldr r1, =gContestPlayerMonIndex strb r0, [r1] bl GetLinkPlayerCount ldr r4, =gUnknown_02039F30 strb r0, [r4] - ldr r1, =gUnknown_02039F2A + ldr r1, =gIsLinkContest movs r0, 0x1 strb r0, [r1] ldr r0, =gWirelessCommType @@ -182,7 +182,7 @@ _080FC63A: ldrb r6, [r6] cmp r3, r6 bge _080FC64A - ldr r0, =gUnknown_02039F2A + ldr r0, =gIsLinkContest ldrb r1, [r0] movs r2, 0x4 orrs r1, r2 @@ -201,7 +201,7 @@ _080FC650: sub_80FC670: @ 80FC670 push {r4,lr} adds r4, r0, 0 - ldr r0, =gUnknown_02039F2A + ldr r0, =gIsLinkContest ldrb r1, [r0] movs r0, 0x4 ands r0, r1 @@ -285,10 +285,10 @@ _080FC6FE: cmp r0, 0 beq _080FC7F4 ldr r0, =gBlockSendBuffer - ldr r1, =gUnknown_02039F25 + ldr r1, =gContestPlayerMonIndex ldrb r1, [r1] lsls r1, 6 - ldr r2, =gUnknown_02039E00 + ldr r2, =gContestMons adds r1, r2 movs r2, 0x40 bl memcpy @@ -298,10 +298,10 @@ _080FC6FE: .pool _080FC738: ldr r0, =gBlockSendBuffer - ldr r1, =gUnknown_02039F25 + ldr r1, =gContestPlayerMonIndex ldrb r1, [r1] lsls r1, 6 - ldr r2, =gUnknown_02039E00 + ldr r2, =gContestMons adds r1, r2 movs r2, 0x40 bl memcpy @@ -321,7 +321,7 @@ _080FC758: ldr r6, =gLinkPlayers _080FC770: lsls r4, r5, 6 - ldr r0, =gUnknown_02039E00 + ldr r0, =gContestMons adds r4, r0 lsls r1, r5, 8 ldr r0, =gBlockRecvBuffer @@ -603,7 +603,7 @@ _080FC9C4: lsls r0, 24 cmp r0, 0 beq _080FC9F0 - ldr r0, =gUnknown_02039F25 + ldr r0, =gContestPlayerMonIndex movs r1, 0x1 bl sub_80FC4F4 cmp r0, 0x1 @@ -659,7 +659,7 @@ _080FCA30: beq _080FCAB2 ldr r0, =gContestResources ldr r2, [r0] - ldr r0, =gUnknown_02039F25 + ldr r0, =gContestPlayerMonIndex ldrb r0, [r0] lsls r1, r0, 3 subs r1, r0 @@ -860,7 +860,7 @@ _080FCC08: lsls r0, 24 cmp r0, 0 beq _080FCC82 - ldr r0, =gUnknown_02039F20 + ldr r0, =gContestFinalStandings movs r1, 0x4 _080FCC16: bl sub_80FC4F4 @@ -881,7 +881,7 @@ _080FCC38: lsls r0, 24 cmp r0, 0 beq _080FCC82 - ldr r0, =gUnknown_02039F20 + ldr r0, =gContestFinalStandings ldr r1, =gUnknown_02039F2B ldrb r1, [r1] lsls r1, 8 diff --git a/asm/contest_link_81D9DE4.s b/asm/contest_link_81D9DE4.s index 12eb159f71..4f392587a4 100644 --- a/asm/contest_link_81D9DE4.s +++ b/asm/contest_link_81D9DE4.s @@ -88,8 +88,8 @@ _081D9EA4: _081D9EB4: bl GetMonData strb r0, [r4] - ldr r5, =gUnknown_02039E00 - ldr r4, =gUnknown_02039F25 + ldr r5, =gContestMons + ldr r4, =gContestPlayerMonIndex ldrb r0, [r4] lsls r0, 6 adds r0, r5 @@ -266,7 +266,7 @@ _081DA02A: lsls r0, 24 cmp r0, 0 bne _081DA0B8 - ldr r0, =gUnknown_02039E00 + ldr r0, =gContestMons adds r1, r0, 0 adds r1, 0x2C ldrb r2, [r1] @@ -438,10 +438,10 @@ _081DA1A4: lsls r0, 24 cmp r0, 0 beq _081DA224 - ldr r0, =gUnknown_02039F25 + ldr r0, =gContestPlayerMonIndex ldrb r0, [r0] lsls r0, 6 - ldr r1, =gUnknown_02039E00 + ldr r1, =gContestMons adds r0, r1 movs r1, 0x40 bl sub_80FC4F4 @@ -466,7 +466,7 @@ _081DA1D4: ldr r6, =gLinkPlayers _081DA1EC: lsls r4, r5, 6 - ldr r0, =gUnknown_02039E00 + ldr r0, =gContestMons adds r4, r0 lsls r1, r5, 8 ldr r0, =gBlockRecvBuffer @@ -823,7 +823,7 @@ _081DA4CC: ldr r0, =gUnknown_02039F30 ldrb r2, [r0] lsls r0, r2, 6 - ldr r1, =gUnknown_02039E00 + ldr r1, =gContestMons adds r0, r1 movs r1, 0x4 subs r1, r2 @@ -847,7 +847,7 @@ _081DA50C: ldr r4, =gUnknown_02039F30 ldrb r3, [r4] lsls r0, r3, 6 - ldr r5, =gUnknown_02039E00 + ldr r5, =gContestMons adds r0, r5 ldr r1, =gBlockRecvBuffer movs r2, 0x4 diff --git a/asm/script_pokemon_util_80F87D8.s b/asm/script_pokemon_util_80F87D8.s index b241e3778e..eeb50cd847 100644 --- a/asm/script_pokemon_util_80F87D8.s +++ b/asm/script_pokemon_util_80F87D8.s @@ -10,7 +10,7 @@ sub_80F87D8: @ 80F87D8 push {r4,lr} ldr r0, =gSaveBlock1Ptr ldr r2, [r0] - ldr r1, =gUnknown_02039E00 + ldr r1, =gContestMons ldrb r3, [r1, 0x15] ldr r4, =0x000013bc adds r0, r2, r4 @@ -150,8 +150,8 @@ sub_80F88DC: @ 80F88DC thumb_func_start sub_80F88E8 sub_80F88E8: @ 80F88E8 push {lr} - ldr r0, =gUnknown_02039F20 - ldr r1, =gUnknown_02039F25 + ldr r0, =gContestFinalStandings + ldr r1, =gContestPlayerMonIndex ldrb r2, [r1] adds r0, r2, r0 ldrb r0, [r0] @@ -222,7 +222,7 @@ sub_80F8970: @ 80F8970 mov r12, r0 ldr r1, =gSpecialVar_0x8006 mov r9, r1 - ldr r2, =gUnknown_02039E00 + 2 + ldr r2, =gContestMons + 2 mov r10, r2 mov r2, r12 mov r1, sp @@ -413,7 +413,7 @@ ShowContestWinner: @ 80F8ADC thumb_func_start sub_80F8AFC sub_80F8AFC: @ 80F8AFC push {r4,r5,lr} - ldr r0, =gUnknown_02039F2A + ldr r0, =gIsLinkContest ldrb r1, [r0] movs r0, 0x1 ands r0, r1 @@ -422,7 +422,7 @@ sub_80F8AFC: @ 80F8AFC movs r3, 0 ldr r0, =gUnknown_02039F30 adds r4, r0, 0 - ldr r5, =gUnknown_02039E00 + ldr r5, =gContestMons ldrb r0, [r4] cmp r3, r0 bge _080F8B50 @@ -482,7 +482,7 @@ sub_80F8B94: @ 80F8B94 ldr r1, =gReservedSpritePaletteCount movs r0, 0xC strb r0, [r1] - ldr r0, =gUnknown_02039F2A + ldr r0, =gIsLinkContest ldrb r1, [r0] movs r0, 0x1 ands r0, r1 @@ -594,8 +594,8 @@ sub_80F8C7C: @ 80F8C7C strb r0, [r1] cmp r0, 0 bne _080F8D18 - ldr r0, =gUnknown_02039F20 - ldr r1, =gUnknown_02039F25 + ldr r0, =gContestFinalStandings + ldr r1, =gContestPlayerMonIndex ldrb r2, [r1] adds r0, r2, r0 ldrb r0, [r0] @@ -675,7 +675,7 @@ _080F8D44: mov r9, r0 movs r1, 0x3 mov r10, r1 - ldr r2, =gUnknown_02039E00 + ldr r2, =gContestMons ldr r4, =gSpecialVar_0x8006 ldrh r1, [r4] lsls r1, 6 @@ -702,7 +702,7 @@ _080F8D44: movs r1, 0 strh r1, [r0, 0x8] strh r6, [r0, 0xA] - ldr r1, =gUnknown_02039F25 + ldr r1, =gContestPlayerMonIndex ldrh r0, [r4] ldrb r1, [r1] cmp r0, r1 @@ -758,7 +758,7 @@ _080F8DD8: bl CreateSprite lsls r0, 24 lsrs r5, r0, 24 - ldr r0, =gUnknown_02039F2A + ldr r0, =gIsLinkContest ldrb r1, [r0] movs r0, 0x1 ands r0, r1 @@ -938,7 +938,7 @@ _080F8F98: thumb_func_start sub_80F8FA0 sub_80F8FA0: @ 80F8FA0 push {r4,lr} - ldr r0, =gUnknown_02039F2A + ldr r0, =gIsLinkContest ldrb r1, [r0] movs r0, 0x1 ands r0, r1 @@ -973,7 +973,7 @@ _080F8FDE: thumb_func_start sub_80F8FE8 sub_80F8FE8: @ 80F8FE8 push {r4,lr} - ldr r0, =gUnknown_02039F2A + ldr r0, =gIsLinkContest ldrb r1, [r0] movs r0, 0x1 ands r0, r1 @@ -1022,7 +1022,7 @@ sub_80F903C: @ 80F903C thumb_func_start sub_80F905C sub_80F905C: @ 80F905C push {lr} - ldr r0, =gUnknown_02039F2A + ldr r0, =gIsLinkContest ldrb r1, [r0] movs r0, 0x2 ands r0, r1 @@ -1087,7 +1087,7 @@ _080F90D4: thumb_func_start sub_80F90DC sub_80F90DC: @ 80F90DC push {lr} - ldr r0, =gUnknown_02039F2A + ldr r0, =gIsLinkContest ldrb r1, [r0] movs r0, 0x2 ands r0, r1 @@ -1110,7 +1110,7 @@ _080F90FE: thumb_func_start sub_80F910C sub_80F910C: @ 80F910C push {lr} - ldr r0, =gUnknown_02039F2A + ldr r0, =gIsLinkContest ldrb r1, [r0] movs r0, 0x2 ands r0, r1 @@ -1130,7 +1130,7 @@ _080F9126: thumb_func_start sub_80F9134 sub_80F9134: @ 80F9134 push {lr} - ldr r0, =gUnknown_02039F2A + ldr r0, =gIsLinkContest ldrb r1, [r0] movs r0, 0x4 ands r0, r1 @@ -1148,7 +1148,7 @@ _080F914E: thumb_func_start sub_80F9154 sub_80F9154: @ 80F9154 - ldr r1, =gUnknown_02039F2A + ldr r1, =gIsLinkContest movs r0, 0 strb r0, [r1] bx lr @@ -1158,7 +1158,7 @@ sub_80F9154: @ 80F9154 thumb_func_start sub_80F9160 sub_80F9160: @ 80F9160 push {lr} - ldr r0, =gUnknown_02039F2A + ldr r0, =gIsLinkContest ldrb r1, [r0] movs r0, 0x2 ands r0, r1 diff --git a/data/graphics.s b/data/graphics.s index 8527e570d0..9a348d9ee5 100644 --- a/data/graphics.s +++ b/data/graphics.s @@ -1241,11 +1241,11 @@ gUnknown_08C17980:: @ 8C17980 .incbin "graphics/unknown/unknown_C17980.bin.lz" .align 2 -gUnknown_08C17AB0:: @ 8C17AB0 +gContestMiscGfx:: @ 8C17AB0 .incbin "graphics/contest/misc.4bpp.lz" .align 2 -gUnknown_08C1850C:: @ 8C1850C +gContestAudienceGfx:: @ 8C1850C .incbin "graphics/contest/audience.4bpp.lz" .align 2 diff --git a/include/contest.h b/include/contest.h index d920117f3e..7b49e71a90 100644 --- a/include/contest.h +++ b/include/contest.h @@ -1,21 +1,241 @@ #ifndef GUARD_CONTEST_H #define GUARD_CONTEST_H -struct ContestStruct_02039E00 +enum { - u16 unk_00; - u8 unk_02[11]; - u8 unk_0d[8]; - u8 filler_15[9]; - u8 filler_1E[34]; + CONTEST_CATEGORY_COOL, + CONTEST_CATEGORY_BEAUTY, + CONTEST_CATEGORY_CUTE, + CONTEST_CATEGORY_SMART, + CONTEST_CATEGORY_TOUGH, }; -extern struct ContestStruct_02039E00 gUnknown_02039E00[4]; +enum +{ + CONTEST_EFFECT_HIGHLY_APPEALING, + CONTEST_EFFECT_USER_MORE_EASILY_STARTLED, + CONTEST_EFFECT_GREAT_APPEAL_BUT_NO_MORE_MOVES, + CONTEST_EFFECT_REPETITION_NOT_BORING, + CONTEST_EFFECT_AVOID_STARTLE_ONCE, + CONTEST_EFFECT_AVOID_STARTLE, + CONTEST_EFFECT_AVOID_STARTLE_SLIGHTLY, + CONTEST_EFFECT_USER_LESS_EASILY_STARTLED, + CONTEST_EFFECT_STARTLE_FRONT_MON, + CONTEST_EFFECT_SLIGHTLY_STARTLE_PREV_MONS, + CONTEST_EFFECT_STARTLE_PREV_MON, + CONTEST_EFFECT_STARTLE_PREV_MONS, + CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, + CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, + CONTEST_EFFECT_STARTLE_PREV_MON_2, + CONTEST_EFFECT_STARTLE_PREV_MONS_2, + CONTEST_EFFECT_SHIFT_JUDGE_ATTENTION, + CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION, + CONTEST_EFFECT_JAMS_OTHERS_BUT_MISS_ONE_TURN, + CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL, + CONTEST_EFFECT_STARTLE_MONS_COOL_APPEAL, + CONTEST_EFFECT_STARTLE_MONS_BEAUTY_APPEAL, + CONTEST_EFFECT_STARTLE_MONS_CUTE_APPEAL, + CONTEST_EFFECT_STARTLE_MONS_SMART_APPEAL, + CONTEST_EFFECT_STARTLE_MONS_TOUGH_APPEAL, + CONTEST_EFFECT_MAKE_FOLLOWING_MON_NERVOUS, + CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS, + CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS, + CONTEST_EFFECT_BADLY_STARTLES_MONS_IN_GOOD_CONDITION, + CONTEST_EFFECT_BETTER_IF_FIRST, + CONTEST_EFFECT_BETTER_IF_LAST, + CONTEST_EFFECT_APPEAL_AS_GOOD_AS_PREV_ONES, + CONTEST_EFFECT_APPEAL_AS_GOOD_AS_PREV_ONE, + CONTEST_EFFECT_BETTER_WHEN_LATER, + CONTEST_EFFECT_QUALITY_DEPENDS_ON_TIMING, + CONTEST_EFFECT_BETTER_IF_SAME_TYPE, + CONTEST_EFFECT_BETTER_IF_DIFF_TYPE, + CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL, + CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, + CONTEST_EFFECT_BETTER_WITH_GOOD_CONDITION, + CONTEST_EFFECT_NEXT_APPEAL_EARLIER, + CONTEST_EFFECT_NEXT_APPEAL_LATER, + CONTEST_EFFECT_MAKE_SCRAMBLING_TURN_ORDER_EASIER, + CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER, + CONTEST_EFFECT_EXCITE_AUDIENCE_IN_ANY_CONTEST, + CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS, + CONTEST_EFFECT_BETTER_WHEN_AUDIENCE_EXCITED, + CONTEST_EFFECT_DONT_EXCITE_AUDIENCE +}; + +enum +{ + COMBO_STARTER_RAIN_DANCE = 1, + COMBO_STARTER_RAGE, + COMBO_STARTER_FOCUS_ENERGY, + COMBO_STARTER_HYPNOSIS, + COMBO_STARTER_ENDURE, + COMBO_STARTER_HORN_ATTACK, + COMBO_STARTER_SWORDS_DANCE, + COMBO_STARTER_STOCKPILE, + COMBO_STARTER_SUNNY_DAY, + COMBO_STARTER_REST, + COMBO_STARTER_VICE_GRIP, + COMBO_STARTER_DEFENSE_CURL, + COMBO_STARTER_CHARGE, + COMBO_STARTER_ROCK_THROW, + COMBO_STARTER_YAWN, + COMBO_STARTER_SCARY_FACE, + COMBO_STARTER_POWDER_SNOW, + COMBO_STARTER_LOCK_ON, + COMBO_STARTER_SOFT_BOILED, + COMBO_STARTER_MEAN_LOOK, + COMBO_STARTER_SCRATCH, + COMBO_STARTER_GROWTH, + COMBO_STARTER_HAIL, + COMBO_STARTER_SANDSTORM, + COMBO_STARTER_BELLY_DRUM, + COMBO_STARTER_MIND_READER, + COMBO_STARTER_DRAGON_BREATH, + COMBO_STARTER_DRAGON_RAGE, + COMBO_STARTER_DRAGON_DANCE, + COMBO_STARTER_SURF, + COMBO_STARTER_DIVE, + COMBO_STARTER_STRING_SHOT, + COMBO_STARTER_LEER, + COMBO_STARTER_TAUNT, + COMBO_STARTER_CHARM, + COMBO_STARTER_HARDEN, + COMBO_STARTER_SING, + COMBO_STARTER_EARTHQUAKE, + COMBO_STARTER_DOUBLE_TEAM, + COMBO_STARTER_CURSE, + COMBO_STARTER_SWEET_SCENT, + COMBO_STARTER_SLUDGE, + COMBO_STARTER_SLUDGE_BOMB, + COMBO_STARTER_THUNDER_PUNCH, + COMBO_STARTER_FIRE_PUNCH, + COMBO_STARTER_ICE_PUNCH, + COMBO_STARTER_PECK, + COMBO_STARTER_METAL_SOUND, + COMBO_STARTER_MUD_SPORT, + COMBO_STARTER_WATER_SPORT, + COMBO_STARTER_BONE_CLUB, + COMBO_STARTER_BONEMERANG, + COMBO_STARTER_BONE_RUSH, + COMBO_STARTER_SAND_ATTACK, + COMBO_STARTER_MUD_SLAP, + COMBO_STARTER_FAKE_OUT, + COMBO_STARTER_PSYCHIC, + COMBO_STARTER_KINESIS, + COMBO_STARTER_CONFUSION, + COMBO_STARTER_POUND, + COMBO_STARTER_SMOG, + COMBO_STARTER_CALM_MIND +}; + +enum +{ + CONTEST_STRING_MORE_CONSCIOUS, + CONTEST_STRING_NO_APPEAL, + CONTEST_STRING_SETTLE_DOWN, + CONTEST_STRING_OBLIVIOUS_TO_OTHERS, + CONTEST_STRING_LESS_AWARE, + CONTEST_STRING_STOPPED_CARING, + CONTEST_STRING_STARTLE_ATTEMPT, + CONTEST_STRING_DAZZLE_ATTEMPT, + CONTEST_STRING_JUDGE_LOOK_AWAY2, + CONTEST_STRING_UNNERVE_ATTEMPT, + CONTEST_STRING_NERVOUS, + CONTEST_STRING_UNNERVE_WAITING, + CONTEST_STRING_TAUNT_WELL, + CONTEST_STRING_REGAINED_FORM, + CONTEST_STRING_JAM_WELL, + CONTEST_STRING_HUSTLE_STANDOUT, + CONTEST_STRING_WORK_HARD_UNNOTICED, + CONTEST_STRING_WORK_BEFORE, + CONTEST_STRING_APPEAL_NOT_WELL, + CONTEST_STRING_WORK_PRECEDING, + CONTEST_STRING_APPEAL_NOT_WELL2, + CONTEST_STRING_APPEAL_NOT_SHOWN_WELL, + CONTEST_STRING_APPEAL_SLIGHTLY_WELL, + CONTEST_STRING_APPEAL_PRETTY_WELL, + CONTEST_STRING_APPEAL_EXCELLENTLY, + CONTEST_STRING_APPEAL_DUD, + CONTEST_STRING_APPEAL_NOT_VERY_WELL, + CONTEST_STRING_APPEAL_SLIGHTLY_WELL2, + CONTEST_STRING_APPEAL_PRETTY_WELL2, + CONTEST_STRING_APPEAL_VERY_WELL, + CONTEST_STRING_APPEAL_EXCELLENTLY2, + CONTEST_STRING_SAME_TYPE_GOOD, + CONTEST_STRING_DIFF_TYPE_GOOD, + CONTEST_STRING_STOOD_OUT_AS_MUCH, + CONTEST_STRING_NOT_AS_WELL, + CONTEST_STRING_CONDITION_ROSE, + CONTEST_STRING_HOT_STATUS, + CONTEST_STRING_MOVE_UP_LINE, + CONTEST_STRING_MOVE_BACK_LINE, + CONTEST_STRING_SCRAMBLE_ORDER, + CONTEST_STRING_JUDGE_EXPECTANTLY2, + CONTEST_STRING_WENT_OVER_WELL, + CONTEST_STRING_WENT_OVER_VERY_WELL, + CONTEST_STRING_APPEAL_COMBO_EXCELLENTLY, + CONTEST_STRING_AVERT_GAZE, + CONTEST_STRING_AVOID_SEEING, + CONTEST_STRING_NOT_FAZED, + CONTEST_STRING_LITTLE_DISTRACTED, + CONTEST_STRING_ATTEMPT_STARTLE, + CONTEST_STRING_LOOKED_DOWN, + CONTEST_STRING_TURNED_BACK, + CONTEST_STRING_UTTER_CRY, + CONTEST_STRING_LEAPT_UP, + CONTEST_STRING_TRIPPED_OVER, + CONTEST_STRING_MESSED_UP2, + CONTEST_STRING_FAILED_TARGET_NERVOUS, + CONTEST_STRING_FAILED_ANYONE_NERVOUS, + CONTEST_STRING_IGNORED, + CONTEST_STRING_NO_CONDITION_IMPROVE, + CONTEST_STRING_BAD_CONDITION_WEAK_APPEAL, + CONTEST_STRING_UNAFFECTED, + CONTEST_STRING_ATTRACTED_ATTENTION, + CONTEST_STRING_NONE = 255 +}; + +struct ContestPokemon +{ + /*0x00*/ u16 species; + /*0x02*/ u8 nickname[POKEMON_NAME_LENGTH + 1]; + /*0x0D*/ u8 trainerName[8]; + /*0x15*/ u8 trainerGfxId; + /*0x18*/ u32 flags; + /*0x1C*/ u8 whichRank:2; + u8 aiPool_Cool:1; + u8 aiPool_Beauty:1; + u8 aiPool_Cute:1; + u8 aiPool_Smart:1; + u8 aiPool_Tough:1; + /*0x1E*/ u16 moves[4]; // moves + /*0x26*/ u8 cool; // cool + /*0x27*/ u8 beauty; // beauty + /*0x28*/ u8 cute; // cute + /*0x29*/ u8 smart; // smart + /*0x2A*/ u8 tough; // tough + /*0x2B*/ u8 sheen; // sheen + /*0x2C*/ u8 unk2C[12]; + /*0x38*/ u32 personality; // personality + /*0x3C*/ u32 otId; // otId +}; // wow + +extern struct ContestPokemon gContestMons[4]; extern u8 gUnknown_02039F24; extern u16 gSpecialVar_ContestCategory; -extern u8 gSpecialVar_ContestRank; +extern u16 gSpecialVar_ContestRank; extern u8 gUnknown_02039F30; +struct Shared18000 +{ + /*0x18000*/ u8 unk18000; + /*0x18001*/ u8 filler18001[3]; + /*0x18004*/ u16 unk18004[16][16]; + /*0x18204*/ u16 unk18204[0x200]; + /*0x18604*/ u16 unk18604[0x200]; + /*0x18A04*/ u8 unk18A04[0x800]; +}; + struct ContestStruct_field_18 { // unknown size @@ -28,17 +248,153 @@ struct ContestStruct_field_18 u32 field_10; }; +struct Contest +{ + /*0x19204*/ u8 playerMoveChoice; + /*0x19205*/ u8 turnNumber; + /*0x19206*/ u8 unk19206[4]; // seems to only be used by an unref function + /*0x1920A*/ u16 unk1920A_0:1; // Task active flags? + u16 unk1920A_1:1; + u16 unk1920A_2:1; + u16 unk1920A_3:1; + u16 unk1920A_4:1; + u16 unk1920A_5:1; + u16 unk1920A_6:1; + u16 unk1920A_7:1; + /*0x1920B*/ u16 unk1920B_0:1; + u16 unk1920B_1:1; + u16 unk1920B_2:1; + /*0x1920C*/ u8 mainTaskId; + /*0x1920D*/ u8 unk1920D[4]; + /*0x19211*/ u8 unk19211; + /*0x19212*/ u8 unk19212; + /*0x19213*/ u8 filler19213; + /*0x19214*/ u8 unk19214; + /*0x19215*/ u8 unk19215; + /*0x19216*/ u8 unk19216; // sprite ID + /*0x19217*/ s8 applauseLevel; + /*0x19218*/ u8 unk19218[4]; + /*0x1921C*/ u32 unk1921C; // saved RNG value? + u16 unk19220[5][4]; // move history? + u8 unk19248[5][4]; // excitement history + u8 applauseMeterSpriteId; // sprite ID + /*0x1925D*/ u8 unk1925D; + /*0x1925E*/ u8 unk1925E; +}; + +struct ContestantStatus +{ + /*0x00*/ s16 appeal1; // move appeal? + /*0x02*/ s16 appeal2; // final appeal after end of turn, maybe? + /*0x04*/ s16 unk4; + /*0x06*/ u16 currMove; + /*0x08*/ u16 prevMove; + /*0x0A*/ u8 moveCategory; + /*0x0B*/ u8 unkB_0:2; + u8 unkB_2:2; + u8 moveRepeatCount:3; + u8 noMoreTurns:1; // used a one-time move? + /*0x0C*/ u8 nervous:1; + u8 numTurnsSkipped:2; + /*0x0D*/ s8 condition; + /*0x0E*/ u8 jam; + /*0x0F*/ u8 jamReduction; + + // Flags set by move effect + /*0x10*/ u8 resistant:1; + u8 immune:1; + u8 moreEasilyStartled:1; + u8 usedRepeatableMove:1; + u8 conditionMod:2; // 1: just raised condition; 2: appeal greatly improved by condition + u8 turnOrderMod:2; // 1: defined; 2: random + /*0x11*/ u8 turnOrderModAction:2; // 1: made first; 2: made last; 3: made random + u8 turnSkipped:1; + u8 exploded:1; + u8 overrideCategoryExcitementMod:1; + u8 appealTripleCondition:1; + + /*0x12*/ u8 jamSafetyCount; + /*0x13*/ u8 effectStringId; // status action? + /*0x14*/ u8 effectStringId2; + /*0x15*/ u8 disappointedRepeat:1; + u8 unk15_1:1; + u8 unk15_2:1; + u8 unk15_3:1; + u8 hasJudgesAttention:1; + u8 judgesAttentionWasRemoved:1; + u8 unk15_6:1; + /*0x16*/ u8 unk16; + /*0x17*/ u8 unk17; + /*0x18*/ u8 unk18; + /*0x19*/ u8 nextTurnOrder; // turn position + /*0x1A*/ u8 attentionLevel; // How much the Pokemon "stood out" + /*0x1B*/ u8 unk1B; +}; + +struct UnknownContestStruct7 +{ + u8 turnOrder[4]; + s16 jam; + s16 jam2; + u8 jamQueue[5]; + u8 unnervedPokes[4]; + u8 contestant; +}; + +struct ContestAIInfo { + /*0x00*/ u8 aiState; + /*0x02*/ u16 unk2; + /*0x04*/ u8 unk4; + /*0x05*/ u8 unk5[4]; + /*0x09*/ u8 aiAction; + /*0x0A*/ u8 fillerA[0x6]; // TODO: don't know what's here + /*0x10*/ u8 unk10; + /*0x14*/ u32 flags; + /*0x18*/ s16 scriptResult; + /*0x1A*/ s16 scriptArr[3]; + /*0x20*/ u32 stack[8]; + /*0x40*/ u8 unk40; + /*0x41*/ u8 unk41; +}; + +struct UnknownContestStruct5 +{ + s8 bits_0; // current move excitement? + u8 excitementFrozen:1; + u8 excitementFreezer:3; + s8 unk2; +}; + +struct UnknownContestStruct4 +{ + u8 unk0; // sprite ID + u8 unk1; // sprite ID + u8 unk2_0:1; + u8 unk2_1:1; + u8 unk2_2:1; +}; + +struct ContestResourcesField1C +{ + u8 filler_00[0x40]; +}; + struct ContestResources { - void *field_0; - void *field_4; - void *field_8; - void *field_C; - void *field_10; - void *field_14; + struct Contest *field_0; + struct ContestantStatus *field_4; + struct UnknownContestStruct7 *field_8; + struct ContestAIInfo *field_C; + struct UnknownContestStruct5 *field_10; + struct UnknownContestStruct4 (*field_14)[4]; struct ContestStruct_field_18 *field_18; + struct ContestResourcesField1C * field_1c; + u8 filler_20[4]; + u8 * field_24[4]; }; +#define shared18000 (*(struct Shared18000 *)(gHeap + 0x1a000)) + extern struct ContestResources *gContestResources; bool8 IsSpeciesNotUnown(u16 species); diff --git a/ld_script.txt b/ld_script.txt index 2832bcada4..b241de2631 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -138,6 +138,7 @@ SECTIONS { asm/battle_anim_80D51AC.o(.text); src/item.o(.text); asm/item.o(.text); + src/contest.o(.text); asm/contest.o(.text); asm/shop.o(.text); src/berry.o(.text); diff --git a/src/contest.c b/src/contest.c new file mode 100644 index 0000000000..08d4f9b577 --- /dev/null +++ b/src/contest.c @@ -0,0 +1,196 @@ +#include "global.h" +#include "gpu_regs.h" +#include "bg.h" +#include "malloc.h" +#include "constants/items.h" +#include "constants/map_objects.h" +#include "constants/moves.h" +#include "constants/songs.h" +#include "constants/species.h" +#include "battle.h" +#include "battle_anim.h" +#include "blend_palette.h" +#include "contest.h" +#include "data2.h" +#include "decompress.h" +#include "graphics.h" +#include "link.h" +#include "m4a.h" +#include "main.h" +#include "menu.h" +#include "overworld.h" +#include "palette.h" +#include "random.h" +#include "script.h" +#include "sound.h" +#include "sprite.h" +#include "string_util.h" +#include "task.h" +#include "text.h" +#include "tv.h" +#include "scanline_effect.h" +#include "util.h" + +void sub_80DD590(void); +void sub_80D782C(void); +void sub_80DCE58(u8); + +EWRAM_DATA struct ContestPokemon gContestMons[4] = {0}; +EWRAM_DATA s16 gUnknown_02039F00[4] = {0}; +EWRAM_DATA s16 gUnknown_02039F08[4] = {0}; +EWRAM_DATA s16 gUnknown_02039F10[4] = {0}; +EWRAM_DATA s16 gUnknown_02039F18[4] = {0}; +EWRAM_DATA u8 gContestFinalStandings[4] = {0}; +EWRAM_DATA u8 gUnknown_02039F24 = 0; +EWRAM_DATA u8 gContestPlayerMonIndex = 0; +EWRAM_DATA u8 gUnknown_02039F26[4] = {0}; +EWRAM_DATA bool8 gIsLinkContest = FALSE; +EWRAM_DATA u8 gUnknown_02039F2B = 0; +EWRAM_DATA u16 gSpecialVar_ContestCategory = 0; +EWRAM_DATA u16 gSpecialVar_ContestRank = 0; + +extern u16 gBattle_BG0_X; +extern u16 gBattle_BG0_Y; +extern u16 gBattle_BG1_X; +extern u16 gBattle_BG1_Y; +extern u16 gBattle_BG2_X; +extern u16 gBattle_BG2_Y; +extern u16 gBattle_BG3_X; +extern u16 gBattle_BG3_Y; +extern u16 gBattle_WIN0H; +extern u16 gBattle_WIN0V; +extern u16 gBattle_WIN1H; +extern u16 gBattle_WIN1V; + +extern const u8 gContestMiscGfx[]; +extern const u8 gContestAudienceGfx[]; +extern const u8 gUnknown_08C16FA8[]; +extern const u8 gUnknown_08C16E90[]; +extern const struct BgTemplate gUnknown_08587F34[4]; +extern const struct WindowTemplate gUnknown_08587F44[]; +extern const u16 gUnknown_08587C30[]; + +void TaskDummy1(u8 taskId) +{ +} + +void ResetLinkContestBoolean(void) +{ + gIsLinkContest = FALSE; +} + +void sub_80D7678(void) +{ + u16 savedIme; + + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_1D_MAP); + SetGpuReg(REG_OFFSET_BLDCNT, 0); + SetGpuReg(REG_OFFSET_BLDALPHA, 0); + SetGpuReg(REG_OFFSET_BLDY, 0); + SetGpuReg(REG_OFFSET_WININ, 0x3F3F); + SetGpuReg(REG_OFFSET_WINOUT, 0x3F3F); + SetGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_BG0_ON | DISPCNT_BG1_ON | DISPCNT_BG2_ON | DISPCNT_BG3_ON | DISPCNT_OBJ_ON | DISPCNT_WIN0_ON | DISPCNT_WIN1_ON); + + gBattle_BG0_X = 0; + gBattle_BG0_Y = 0; + gBattle_BG1_X = 0; + gBattle_BG1_Y = 0; + gBattle_BG2_X = 0; + gBattle_BG2_Y = 0; + gBattle_BG3_X = 0; + gBattle_BG3_Y = 0; + gBattle_WIN0H = 0; + gBattle_WIN0V = 0; + gBattle_WIN1H = 0; + gBattle_WIN1V = 0; +} + +void LoadContestBgAfterMoveAnim(void) +{ + s32 i; + + LZDecompressVram(gContestMiscGfx, (void *)VRAM); + LZDecompressVram(gContestAudienceGfx, (void *)(VRAM + 0x2000)); + CopyToBgTilemapBuffer(3, gUnknown_08C16FA8, 0, 0); + CopyBgTilemapBufferToVram(3); + LoadCompressedPalette(gUnknown_08C16E90, 0, 0x200); + sub_80D782C(); + for (i = 0; i < 4; i++) + { + u32 var = 5 + i; + + LoadPalette(shared18000.unk18004[var], 16 * (5 + gUnknown_02039F26[i]), 16 * sizeof(u16)); + } +} + +void sub_80D779C(void) +{ + s32 i; + + ResetBgsAndClearDma3BusyFlags(0); + InitBgsFromTemplates(0, gUnknown_08587F34, ARRAY_COUNT(gUnknown_08587F34)); + SetBgAttribute(3, BG_CTRL_ATTR_PRIORITY, 1); + for (i = 0; i < 4; i++) + { + SetBgTilemapBuffer(i, gContestResources->field_24[i]); + } +} + +void sub_80D77E4(void) +{ + InitWindows(gUnknown_08587F44); + DeactivateAllTextPrinters(); + if (gIsLinkContest & 1) + { + gTextFlags.flag_0 = FALSE; + } + else + { + gTextFlags.flag_0 = TRUE; + } +} + +void sub_80D782C(void) +{ + s32 i; + + LoadPalette(gUnknown_08587C30, 0xf0, 0x20); + FillPalette(0, 0, 2); + for (i = 10; i < 14; i++) + LoadPalette(gPlttBufferUnfaded + 241, 240 + i, 2); + FillPalette(0x7E3F, 0xF3, 2); +} + +void sub_80D787C(void) +{ + s32 i; + + *gContestResources->field_0 = (struct Contest){}; + for (i = 0; i < 4; i++) + { + gContestResources->field_0->unk19206[i] = 0xFF; + } + for (i = 0; i < 4; i++) + { + gContestResources->field_4[i] = (struct ContestantStatus){}; + } + for (i = 0; i < 4; i++) + { + gContestResources->field_4[i].unkB_0 = 0; + gContestResources->field_4[i].effectStringId = CONTEST_STRING_NONE; + gContestResources->field_4[i].effectStringId2 = CONTEST_STRING_NONE; + } + *gContestResources->field_8 = (struct UnknownContestStruct7){}; + *gContestResources->field_C = (struct ContestAIInfo){}; + *gContestResources->field_10 = (struct UnknownContestStruct5){}; + memset(gContestResources->field_14, 0, 4 * sizeof(struct UnknownContestStruct4)); + if (!(gIsLinkContest & 1)) + sub_80DCE58(0); + for (i = 0; i < 4; i++) + { + gContestResources->field_4[i].nextTurnOrder = 0xFF; + gContestResources->field_0->unk19218[i] = gUnknown_02039F26[i]; + } + sub_80DD590(); + *gContestResources->field_1c = (struct ContestResourcesField1C){}; +} diff --git a/src/tv.c b/src/tv.c index b7c2812fe2..769bd50804 100644 --- a/src/tv.c +++ b/src/tv.c @@ -1448,8 +1448,8 @@ void ContestLiveUpdates_BeforeInterview_5(u8 a0, u8 a1) sCurTVShowSlot = FindEmptyTVSlotWithinFirstFiveShowsOfArray(gSaveBlock1Ptr->tvShows); if (sCurTVShowSlot != -1) { - show->contestLiveUpdates.winningSpecies = gUnknown_02039E00[a1].unk_00; - StringCopy(show->contestLiveUpdates.winningTrainerName, gUnknown_02039E00[a1].unk_0d); + show->contestLiveUpdates.winningSpecies = gContestMons[a1].species; + StringCopy(show->contestLiveUpdates.winningTrainerName, gContestMons[a1].trainerName); StripExtCtrlCodes(show->contestLiveUpdates.winningTrainerName); show->contestLiveUpdates.appealFlags2 = a0; if (a1 + 1 > gUnknown_02039F30) diff --git a/sym_ewram.txt b/sym_ewram.txt index 9bf04d2018..6ac45e6457 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -419,44 +419,7 @@ gUnknown_02039DD0: @ 2039DD0 gBagPockets: @ 2039DD8 .space 0x28 -gUnknown_02039E00: @ 2039E00 - .space 0x100 - -gUnknown_02039F00: @ 2039F00 - .space 0x8 - -gUnknown_02039F08: @ 2039F08 - .space 0x8 - -gUnknown_02039F10: @ 2039F10 - .space 0x8 - -gUnknown_02039F18: @ 2039F18 - .space 0x8 - -gUnknown_02039F20: @ 2039F20 - .space 0x4 - -gUnknown_02039F24: @ 2039F24 - .space 0x1 - -gUnknown_02039F25: @ 2039F25 - .space 0x1 - -gUnknown_02039F26: @ 2039F26 - .space 0x4 - -gUnknown_02039F2A: @ 2039F2A - .space 0x1 - -gUnknown_02039F2B: @ 2039F2B - .space 0x1 - -gSpecialVar_ContestCategory: @ 2039F2C - .space 0x2 - -gSpecialVar_ContestRank: @ 2039F2E - .space 0x2 + .include "src/contest.o" gUnknown_02039F30: @ 2039F30 .space 0x1 From ef29d17c4128b674897c056a37aa424b21afe35c Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Tue, 1 May 2018 21:27:24 -0400 Subject: [PATCH 022/234] through sub_80D7B24 --- asm/contest.s | 300 ---------------------------------------------- include/contest.h | 12 +- src/contest.c | 115 ++++++++++++++++++ sym_ewram.txt | 13 +- 4 files changed, 126 insertions(+), 314 deletions(-) diff --git a/asm/contest.s b/asm/contest.s index 85299a8f7b..2a72e9f729 100644 --- a/asm/contest.s +++ b/asm/contest.s @@ -5,306 +5,6 @@ .text - thumb_func_start sub_80D7988 -sub_80D7988: @ 80D7988 - push {r4,r5,lr} - ldr r4, =gContestResources - movs r0, 0x40 - bl AllocZeroed - str r0, [r4] - movs r0, 0x5C - bl AllocZeroed - ldr r1, [r4] - str r0, [r1] - movs r0, 0x70 - bl AllocZeroed - ldr r1, [r4] - str r0, [r1, 0x4] - movs r0, 0x14 - bl AllocZeroed - ldr r1, [r4] - str r0, [r1, 0x8] - movs r0, 0x44 - bl AllocZeroed - ldr r1, [r4] - str r0, [r1, 0xC] - movs r0, 0x10 - bl AllocZeroed - ldr r1, [r4] - str r0, [r1, 0x10] - movs r0, 0x10 - bl AllocZeroed - ldr r1, [r4] - str r0, [r1, 0x14] - movs r0, 0x14 - bl AllocZeroed - ldr r1, [r4] - str r0, [r1, 0x18] - movs r0, 0x40 - bl AllocZeroed - ldr r1, [r4] - str r0, [r1, 0x1C] - movs r0, 0xC - bl AllocZeroed - ldr r1, [r4] - str r0, [r1, 0x20] - movs r5, 0x80 - lsls r5, 5 - adds r0, r5, 0 - bl AllocZeroed - ldr r1, [r4] - str r0, [r1, 0x24] - adds r0, r5, 0 - bl AllocZeroed - ldr r1, [r4] - str r0, [r1, 0x28] - adds r0, r5, 0 - bl AllocZeroed - ldr r1, [r4] - str r0, [r1, 0x2C] - adds r0, r5, 0 - bl AllocZeroed - ldr r1, [r4] - str r0, [r1, 0x30] - movs r5, 0x80 - lsls r5, 4 - adds r0, r5, 0 - bl AllocZeroed - ldr r1, [r4] - str r0, [r1, 0x34] - adds r0, r5, 0 - bl AllocZeroed - ldr r1, [r4] - str r0, [r1, 0x38] - movs r0, 0x80 - lsls r0, 6 - bl AllocZeroed - ldr r2, [r4] - str r0, [r2, 0x3C] - ldr r1, =gUnknown_0202305C - str r0, [r1] - ldr r1, =gUnknown_02023060 - ldr r0, [r2, 0x28] - str r0, [r1] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D7988 - - thumb_func_start sub_80D7A5C -sub_80D7A5C: @ 80D7A5C - push {r4,r5,lr} - ldr r5, =gContestResources - ldr r0, [r5] - ldr r0, [r0] - bl Free - ldr r0, [r5] - movs r4, 0 - str r4, [r0] - ldr r0, [r0, 0x4] - bl Free - ldr r0, [r5] - str r4, [r0, 0x4] - ldr r0, [r0, 0x8] - bl Free - ldr r0, [r5] - str r4, [r0, 0x8] - ldr r0, [r0, 0xC] - bl Free - ldr r0, [r5] - str r4, [r0, 0xC] - ldr r0, [r0, 0x10] - bl Free - ldr r0, [r5] - str r4, [r0, 0x10] - ldr r0, [r0, 0x14] - bl Free - ldr r0, [r5] - str r4, [r0, 0x14] - ldr r0, [r0, 0x18] - bl Free - ldr r0, [r5] - str r4, [r0, 0x18] - ldr r0, [r0, 0x1C] - bl Free - ldr r0, [r5] - str r4, [r0, 0x1C] - ldr r0, [r0, 0x20] - bl Free - ldr r0, [r5] - str r4, [r0, 0x20] - ldr r0, [r0, 0x24] - bl Free - ldr r0, [r5] - str r4, [r0, 0x24] - ldr r0, [r0, 0x28] - bl Free - ldr r0, [r5] - str r4, [r0, 0x28] - ldr r0, [r0, 0x2C] - bl Free - ldr r0, [r5] - str r4, [r0, 0x2C] - ldr r0, [r0, 0x30] - bl Free - ldr r0, [r5] - str r4, [r0, 0x30] - ldr r0, [r0, 0x34] - bl Free - ldr r0, [r5] - str r4, [r0, 0x34] - ldr r0, [r0, 0x38] - bl Free - ldr r0, [r5] - str r4, [r0, 0x38] - ldr r0, [r0, 0x3C] - bl Free - ldr r0, [r5] - str r4, [r0, 0x3C] - bl Free - str r4, [r5] - ldr r0, =gUnknown_0202305C - str r4, [r0] - ldr r0, =gUnknown_02023060 - str r4, [r0] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D7A5C - - thumb_func_start sub_80D7B24 -sub_80D7B24: @ 80D7B24 - push {r4-r6,lr} - ldr r0, =gMain - movs r1, 0x87 - lsls r1, 3 - adds r6, r0, r1 - ldrb r5, [r6] - cmp r5, 0x1 - beq _080D7BD4 - cmp r5, 0x1 - bgt _080D7B44 - cmp r5, 0 - beq _080D7B4E - b _080D7C56 - .pool -_080D7B44: - cmp r5, 0x2 - beq _080D7BDA - cmp r5, 0x3 - beq _080D7C04 - b _080D7C56 -_080D7B4E: - ldr r0, =gUnknown_02039F38 - strb r5, [r0] - bl sub_80D7988 - bl AllocateMonSpritesGfx - ldr r4, =gMonSpritesGfxPtr - ldr r0, [r4] - ldr r0, [r0] - bl Free - ldr r0, [r4] - str r5, [r0] - movs r0, 0x80 - lsls r0, 7 - bl AllocZeroed - ldr r1, [r4] - str r0, [r1] - movs r0, 0 - bl SetVBlankCallback - bl sub_80D779C - bl sub_80D77E4 - bl sub_80D7678 - bl ScanlineEffect_Clear - bl ResetPaletteFade - ldr r2, =gPaletteFade - ldrb r0, [r2, 0x8] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r2, 0x8] - bl ResetSpriteData - bl ResetTasks - bl FreeAllSpritePalettes - ldr r1, =gReservedSpritePaletteCount - movs r0, 0x4 - strb r0, [r1] - ldr r0, =0x02000000 - movs r1, 0xD0 - lsls r1, 9 - adds r0, r1 - strb r5, [r0] - bl ClearBattleMonForms - bl sub_80D787C - b _080D7BF6 - .pool -_080D7BD4: - movs r0, 0x2 - strb r0, [r6] - b _080D7C56 -_080D7BDA: - ldr r4, =gContestResources - ldr r0, [r4] - ldr r0, [r0] - adds r0, 0x59 - bl sub_80D7E44 - lsls r0, 24 - cmp r0, 0 - beq _080D7C56 - ldr r0, [r4] - ldr r0, [r0] - adds r0, 0x59 - movs r1, 0 - strb r1, [r0] -_080D7BF6: - ldrb r0, [r6] - adds r0, 0x1 - strb r0, [r6] - b _080D7C56 - .pool -_080D7C04: - bl sub_80DE224 - ldr r0, =gBattle_BG1_X - movs r1, 0 - strh r1, [r0] - ldr r0, =gBattle_BG1_Y - strh r1, [r0] - movs r0, 0x2 - bl BeginFastPaletteFade - ldr r2, =gPaletteFade - ldrb r1, [r2, 0x8] - movs r0, 0x7F - ands r0, r1 - strb r0, [r2, 0x8] - ldr r0, =vblank_cb_battle - bl SetVBlankCallback - ldr r0, =sub_80D7C7C - movs r1, 0xA - bl CreateTask - ldr r1, =gContestResources - ldr r1, [r1] - ldr r1, [r1] - strb r0, [r1, 0x8] - ldr r0, =sub_80D823C - bl SetMainCallback2 - ldr r0, =gIsLinkContest - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080D7C56 - bl sub_800E0E8 - movs r0, 0x8 - movs r1, 0x8 - bl CreateWirelessStatusIndicatorSprite -_080D7C56: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D7B24 - thumb_func_start sub_80D7C7C sub_80D7C7C: @ 80D7C7C push {lr} diff --git a/include/contest.h b/include/contest.h index 7b49e71a90..80b681cefe 100644 --- a/include/contest.h +++ b/include/contest.h @@ -379,6 +379,11 @@ struct ContestResourcesField1C u8 filler_00[0x40]; }; +struct ContestResourcesField20 +{ + u8 filler_00[0x0C]; +}; + struct ContestResources { struct Contest *field_0; @@ -386,11 +391,14 @@ struct ContestResources struct UnknownContestStruct7 *field_8; struct ContestAIInfo *field_C; struct UnknownContestStruct5 *field_10; - struct UnknownContestStruct4 (*field_14)[4]; + struct UnknownContestStruct4 *field_14; struct ContestStruct_field_18 *field_18; struct ContestResourcesField1C * field_1c; - u8 filler_20[4]; + struct ContestResourcesField20 * field_20; u8 * field_24[4]; + void * field_34; + void * field_38; + void * field_3c; }; #define shared18000 (*(struct Shared18000 *)(gHeap + 0x1a000)) diff --git a/src/contest.c b/src/contest.c index 08d4f9b577..2e61b46294 100644 --- a/src/contest.c +++ b/src/contest.c @@ -31,9 +31,18 @@ #include "scanline_effect.h" #include "util.h" +#define DESTROY_POINTER(ptr) \ + free(ptr); \ + ptr = NULL; + void sub_80DD590(void); void sub_80D782C(void); void sub_80DCE58(u8); +bool8 sub_80D7E44(u8 *); +void sub_80DE224(void); +void sub_80D7C7C(u8 taskId); +void sub_80D823C(void); +void vblank_cb_battle(void); EWRAM_DATA struct ContestPokemon gContestMons[4] = {0}; EWRAM_DATA s16 gUnknown_02039F00[4] = {0}; @@ -48,6 +57,10 @@ EWRAM_DATA bool8 gIsLinkContest = FALSE; EWRAM_DATA u8 gUnknown_02039F2B = 0; EWRAM_DATA u16 gSpecialVar_ContestCategory = 0; EWRAM_DATA u16 gSpecialVar_ContestRank = 0; +EWRAM_DATA u8 gUnknown_02039F30 = 0; +EWRAM_DATA u8 gUnknown_02039F31 = 0; +EWRAM_DATA struct ContestResources * gContestResources = NULL; +EWRAM_DATA u8 gUnknown_02039F38 = 0; extern u16 gBattle_BG0_X; extern u16 gBattle_BG0_Y; @@ -194,3 +207,105 @@ void sub_80D787C(void) sub_80DD590(); *gContestResources->field_1c = (struct ContestResourcesField1C){}; } + +void sub_80D7988(void) +{ + gContestResources = AllocZeroed(sizeof(struct ContestResources)); + gContestResources->field_0 = AllocZeroed(sizeof(struct Contest)); + gContestResources->field_4 = AllocZeroed(sizeof(struct ContestantStatus) * 4); + gContestResources->field_8 = AllocZeroed(sizeof(struct UnknownContestStruct7)); + gContestResources->field_C = AllocZeroed(sizeof(struct ContestAIInfo)); + gContestResources->field_10 = AllocZeroed(sizeof(struct UnknownContestStruct5) * 4); + gContestResources->field_14 = AllocZeroed(sizeof(struct UnknownContestStruct4) * 4); + gContestResources->field_18 = AllocZeroed(sizeof(struct ContestStruct_field_18)); + gContestResources->field_1c = AllocZeroed(sizeof(struct ContestResourcesField1C)); + gContestResources->field_20 = AllocZeroed(sizeof(struct ContestResourcesField20)); + gContestResources->field_24[0] = AllocZeroed(0x1000); + gContestResources->field_24[1] = AllocZeroed(0x1000); + gContestResources->field_24[2] = AllocZeroed(0x1000); + gContestResources->field_24[3] = AllocZeroed(0x1000); + gContestResources->field_34 = AllocZeroed(0x800); + gContestResources->field_38 = AllocZeroed(0x800); + gContestResources->field_3c = AllocZeroed(0x2000); + gUnknown_0202305C = gContestResources->field_3c; + gUnknown_02023060 = gContestResources->field_24[1]; +} + +void sub_80D7A5C(void) +{ + DESTROY_POINTER(gContestResources->field_0); + DESTROY_POINTER(gContestResources->field_4); + DESTROY_POINTER(gContestResources->field_8); + DESTROY_POINTER(gContestResources->field_C); + DESTROY_POINTER(gContestResources->field_10); + DESTROY_POINTER(gContestResources->field_14); + DESTROY_POINTER(gContestResources->field_18); + DESTROY_POINTER(gContestResources->field_1c); + DESTROY_POINTER(gContestResources->field_20); + DESTROY_POINTER(gContestResources->field_24[0]); + DESTROY_POINTER(gContestResources->field_24[1]); + DESTROY_POINTER(gContestResources->field_24[2]); + DESTROY_POINTER(gContestResources->field_24[3]); + DESTROY_POINTER(gContestResources->field_34); + DESTROY_POINTER(gContestResources->field_38); + DESTROY_POINTER(gContestResources->field_3c); + DESTROY_POINTER(gContestResources); + gUnknown_0202305C = NULL; + gUnknown_02023060 = NULL; +} + +void sub_80D7B24(void) +{ + switch (gMain.state) + { + case 0: + gUnknown_02039F38 = 0; + sub_80D7988(); + AllocateMonSpritesGfx(); + DESTROY_POINTER(gMonSpritesGfxPtr->firstDecompressed); + gMonSpritesGfxPtr->firstDecompressed = AllocZeroed(0x4000); + SetVBlankCallback(NULL); + sub_80D779C(); + sub_80D77E4(); + sub_80D7678(); + ScanlineEffect_Clear(); + ResetPaletteFade(); + gPaletteFade.bufferTransferDisabled = TRUE; + ResetSpriteData(); + ResetTasks(); + FreeAllSpritePalettes(); + gReservedSpritePaletteCount = 4; + //shared18000.unk18000 = 0; + gHeap[0x1a000] = 0; + ClearBattleMonForms(); + sub_80D787C(); + gMain.state++; + break; + case 1: + gMain.state++; + break; + case 2: + if (sub_80D7E44(&gContestResources->field_0->unk1925D)) + { + gContestResources->field_0->unk1925D = 0; + gMain.state++; + } + break; + case 3: + sub_80DE224(); + gBattle_BG1_X = 0; + gBattle_BG1_Y = 0; + BeginFastPaletteFade(2); + gPaletteFade.bufferTransferDisabled = FALSE; + SetVBlankCallback(vblank_cb_battle); + gContestResources->field_0->mainTaskId = CreateTask(sub_80D7C7C, 10); + SetMainCallback2(sub_80D823C); + if (gIsLinkContest & 2) + { + sub_800E0E8(); + CreateWirelessStatusIndicatorSprite(8, 8); + } + break; + } +} + diff --git a/sym_ewram.txt b/sym_ewram.txt index 6ac45e6457..d4a2ba4b63 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -421,18 +421,7 @@ gBagPockets: @ 2039DD8 .include "src/contest.o" -gUnknown_02039F30: @ 2039F30 - .space 0x1 - -gUnknown_02039F31: @ 2039F31 - .space 0x3 - -gContestResources: @ 2039F34 - .space 0x4 - -gUnknown_02039F38: @ 2039F38 - .space 0x4 - + .align 2 gUnknown_02039F3C: @ 2039F3C .space 0x20 From 4bf09504216c1c9668843cc93b5392cd1022a4c1 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 2 May 2018 08:43:27 -0400 Subject: [PATCH 023/234] through sub_80D7DE8 --- asm/contest.s | 212 +----------------------------- asm/contest_link_80FC4F4.s | 2 +- asm/contest_link_81D9DE4.s | 2 +- asm/script_pokemon_util_80F87D8.s | 4 +- common_syms/contest.txt | 1 + include/contest.h | 2 + include/contest_link_80F57C4.h | 1 + src/contest.c | 97 +++++++++++++- src/item.c | 2 + sym_common.txt | 4 +- sym_ewram.txt | 9 +- 11 files changed, 105 insertions(+), 231 deletions(-) create mode 100644 common_syms/contest.txt diff --git a/asm/contest.s b/asm/contest.s index 2a72e9f729..0fa75185c8 100644 --- a/asm/contest.s +++ b/asm/contest.s @@ -5,216 +5,6 @@ .text - thumb_func_start sub_80D7C7C -sub_80D7C7C: @ 80D7C7C - push {lr} - lsls r0, 24 - lsrs r3, r0, 24 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0 - bne _080D7CA2 - ldr r0, =gTasks - lsls r1, r3, 2 - adds r1, r3 - lsls r1, 3 - adds r1, r0 - strh r2, [r1, 0x8] - ldr r0, =sub_80D7CB4 - str r0, [r1] -_080D7CA2: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D7C7C - - thumb_func_start sub_80D7CB4 -sub_80D7CB4: @ 80D7CB4 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, =gIsLinkContest - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080D7D90 - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080D7D3A - ldr r2, =gTasks - lsls r1, r5, 2 - adds r0, r1, r5 - lsls r0, 3 - adds r4, r0, r2 - movs r2, 0x8 - ldrsh r0, [r4, r2] - adds r6, r1, 0 - cmp r0, 0x1 - beq _080D7D04 - cmp r0, 0x1 - bgt _080D7CF4 - cmp r0, 0 - beq _080D7CFA - b _080D7D3A - .pool -_080D7CF4: - cmp r0, 0x2 - beq _080D7D28 - b _080D7D3A -_080D7CFA: - bl sub_80DBF68 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_080D7D04: - bl sub_800A520 - lsls r0, 24 - cmp r0, 0 - beq _080D7D9E - bl sub_800ADF8 - ldr r0, =gTasks - adds r1, r6, r5 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - b _080D7D9E - .pool -_080D7D28: - bl sub_800A520 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080D7D9E - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_080D7D3A: - ldr r2, =gPaletteFade - ldrb r1, [r2, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - bne _080D7D9E - ldrb r1, [r2, 0x8] - movs r0, 0x7F - ands r0, r1 - strb r0, [r2, 0x8] - ldr r0, =gIsLinkContest - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - bne _080D7D62 - bl sub_80DBF68 -_080D7D62: - ldr r0, =sub_80D7DAC - movs r1, 0 - bl CreateTask - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - strh r4, [r0, 0x8] - ldr r1, =TaskDummy1 - str r1, [r0] - b _080D7D9E - .pool -_080D7D90: - ldr r0, =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_80D80C8 - str r0, [r1] -_080D7D9E: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D7CB4 - - thumb_func_start sub_80D7DAC -sub_80D7DAC: @ 80D7DAC - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, =sub_80FC998 - ldr r2, =sub_80D7DC8 - bl SetTaskFuncWithFollowupFunc - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D7DAC - - thumb_func_start sub_80D7DC8 -sub_80D7DC8: @ 80D7DC8 - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r0, 0x1 - strh r0, [r1, 0x8] - ldr r0, =sub_80D7DE8 - str r0, [r1] - bx lr - .pool - thumb_func_end sub_80D7DC8 - - thumb_func_start sub_80D7DE8 -sub_80D7DE8: @ 80D7DE8 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r5, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r5 - ldrh r1, [r0, 0x8] - subs r1, 0x1 - strh r1, [r0, 0x8] - lsls r1, 16 - cmp r1, 0 - bgt _080D7E2A - bl GetMultiplayerId - adds r0, r4, 0 - bl DestroyTask - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0] - ldrb r1, [r0, 0x8] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r5 - ldr r1, =sub_80D80C8 - str r1, [r0] - ldr r1, =gRngValue - ldr r0, =gUnknown_030060B8 - ldr r0, [r0] - str r0, [r1] -_080D7E2A: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D7DE8 - thumb_func_start sub_80D7E44 sub_80D7E44: @ 80D7E44 push {r4-r7,lr} @@ -4722,7 +4512,7 @@ _080DA65C: bl sub_80DF4F8 bl sub_80DF750 _080DA668: - ldr r1, =gUnknown_030060B8 + ldr r1, =gContestRngValue ldr r0, =gRngValue ldr r0, [r0] str r0, [r1] diff --git a/asm/contest_link_80FC4F4.s b/asm/contest_link_80FC4F4.s index 3ba383f0bd..3912731ecc 100644 --- a/asm/contest_link_80FC4F4.s +++ b/asm/contest_link_80FC4F4.s @@ -434,7 +434,7 @@ _080FC858: adds r1, r4, 0 movs r2, 0x4 bl memcpy - ldr r0, =gUnknown_030060B8 + ldr r0, =gContestRngValue adds r1, r4, 0 movs r2, 0x4 bl memcpy diff --git a/asm/contest_link_81D9DE4.s b/asm/contest_link_81D9DE4.s index 4f392587a4..35191e10f7 100644 --- a/asm/contest_link_81D9DE4.s +++ b/asm/contest_link_81D9DE4.s @@ -558,7 +558,7 @@ _081DA2AC: adds r1, r4, 0 movs r2, 0x4 bl memcpy - ldr r0, =gUnknown_030060B8 + ldr r0, =gContestRngValue adds r1, r4, 0 movs r2, 0x4 bl memcpy diff --git a/asm/script_pokemon_util_80F87D8.s b/asm/script_pokemon_util_80F87D8.s index eeb50cd847..917d02cd0e 100644 --- a/asm/script_pokemon_util_80F87D8.s +++ b/asm/script_pokemon_util_80F87D8.s @@ -979,7 +979,7 @@ sub_80F8FE8: @ 80F8FE8 ands r0, r1 cmp r0, 0 beq _080F9020 - ldr r2, =gUnknown_030060B8 + ldr r2, =gContestRngValue ldr r1, [r2] ldr r0, =0x41c64e6d muls r0, r1 @@ -1007,7 +1007,7 @@ _080F902A: thumb_func_start sub_80F903C sub_80F903C: @ 80F903C - ldr r2, =gUnknown_030060B8 + ldr r2, =gContestRngValue ldr r1, [r2] ldr r0, =0x41c64e6d muls r0, r1 diff --git a/common_syms/contest.txt b/common_syms/contest.txt new file mode 100644 index 0000000000..6a519fb463 --- /dev/null +++ b/common_syms/contest.txt @@ -0,0 +1 @@ +gContestRngValue diff --git a/include/contest.h b/include/contest.h index 80b681cefe..250929de7b 100644 --- a/include/contest.h +++ b/include/contest.h @@ -405,6 +405,8 @@ struct ContestResources extern struct ContestResources *gContestResources; +extern u32 gContestRngValue; + bool8 IsSpeciesNotUnown(u16 species); void LoadContestBgAfterMoveAnim(void); diff --git a/include/contest_link_80F57C4.h b/include/contest_link_80F57C4.h index 98523c1750..3c12e5e538 100644 --- a/include/contest_link_80F57C4.h +++ b/include/contest_link_80F57C4.h @@ -4,5 +4,6 @@ void sub_80F840C(void); void sub_80F8484(void); void sub_80F84C4(u8); +void sub_80FC998(u8 taskId); #endif // GUARD_CONTEST_LINK_80F57C4_H diff --git a/src/contest.c b/src/contest.c index 2e61b46294..2c56eb14cc 100644 --- a/src/contest.c +++ b/src/contest.c @@ -30,18 +30,25 @@ #include "tv.h" #include "scanline_effect.h" #include "util.h" +#include "contest_link_80F57C4.h" #define DESTROY_POINTER(ptr) \ free(ptr); \ ptr = NULL; -void sub_80DD590(void); void sub_80D782C(void); +void sub_80D7C7C(u8 taskId); +void sub_80D7CB4(u8 taskId); +void sub_80D7DAC(u8 taskId); +void sub_80D7DC8(u8 taskId); +void sub_80D7DE8(u8 taskId); +void sub_80D80C8(u8 taskId); +void sub_80D823C(void); +void sub_80DBF68(void); void sub_80DCE58(u8); +void sub_80DD590(void); bool8 sub_80D7E44(u8 *); void sub_80DE224(void); -void sub_80D7C7C(u8 taskId); -void sub_80D823C(void); void vblank_cb_battle(void); EWRAM_DATA struct ContestPokemon gContestMons[4] = {0}; @@ -53,7 +60,9 @@ EWRAM_DATA u8 gContestFinalStandings[4] = {0}; EWRAM_DATA u8 gUnknown_02039F24 = 0; EWRAM_DATA u8 gContestPlayerMonIndex = 0; EWRAM_DATA u8 gUnknown_02039F26[4] = {0}; -EWRAM_DATA bool8 gIsLinkContest = FALSE; +EWRAM_DATA u8 gIsLinkContest = 0; +// Bit 0: Is a link contest +// Bit 1: Link contest uses wireless adapter EWRAM_DATA u8 gUnknown_02039F2B = 0; EWRAM_DATA u16 gSpecialVar_ContestCategory = 0; EWRAM_DATA u16 gSpecialVar_ContestRank = 0; @@ -61,6 +70,9 @@ EWRAM_DATA u8 gUnknown_02039F30 = 0; EWRAM_DATA u8 gUnknown_02039F31 = 0; EWRAM_DATA struct ContestResources * gContestResources = NULL; EWRAM_DATA u8 gUnknown_02039F38 = 0; +EWRAM_DATA struct ContestWinner gUnknown_02039F3C = {0}; + +u32 gContestRngValue; extern u16 gBattle_BG0_X; extern u16 gBattle_BG0_Y; @@ -89,7 +101,7 @@ void TaskDummy1(u8 taskId) void ResetLinkContestBoolean(void) { - gIsLinkContest = FALSE; + gIsLinkContest = 0; } void sub_80D7678(void) @@ -309,3 +321,78 @@ void sub_80D7B24(void) } } +void sub_80D7C7C(u8 taskId) +{ + if (!gPaletteFade.active) + { + gTasks[taskId].data[0] = 0; + gTasks[taskId].func = sub_80D7CB4; + } +} + +void sub_80D7CB4(u8 taskId) +{ + if (gIsLinkContest & 1) + { + if (gIsLinkContest & 2) + { + switch (gTasks[taskId].data[0]) + { + case 0: + sub_80DBF68(); + gTasks[taskId].data[0]++; + // fallthrough + case 1: + if (sub_800A520()) + { + sub_800ADF8(); + gTasks[taskId].data[0]++; + } + return; + case 2: + if (sub_800A520() != TRUE) + return; + gTasks[taskId].data[0]++; + break; + } + } + + if (!gPaletteFade.active) + { + gPaletteFade.bufferTransferDisabled = FALSE; + if (!(gIsLinkContest & 2)) + sub_80DBF68(); + CreateTask(sub_80D7DAC, 0); + gTasks[taskId].data[0] = 0; + gTasks[taskId].func = TaskDummy1; + } + } + else + { + gTasks[taskId].func = sub_80D80C8; + } +} + +void sub_80D7DAC(u8 taskId) +{ + SetTaskFuncWithFollowupFunc(taskId, sub_80FC998, sub_80D7DC8); +} + +void sub_80D7DC8(u8 taskId) +{ + gTasks[taskId].data[0] = 1; + gTasks[taskId].func = sub_80D7DE8; +} + +void sub_80D7DE8(u8 taskId) +{ + gTasks[taskId].data[0]--; + if (gTasks[taskId].data[0] <= 0) + { + GetMultiplayerId(); // unused return value + DestroyTask(taskId); + gTasks[gContestResources->field_0->mainTaskId].func = sub_80D80C8; + gRngValue = gContestRngValue; + } +} + diff --git a/src/item.c b/src/item.c index a17599db91..0c60c417d8 100644 --- a/src/item.c +++ b/src/item.c @@ -25,6 +25,8 @@ enum KEYITEMS_POCKET }; +EWRAM_DATA struct BagPocket gBagPockets[5] = {}; + u16 GetBagItemQuantity(u16* quantity) { return gSaveBlock2Ptr->encryptionKey ^ *quantity; diff --git a/sym_common.txt b/sym_common.txt index b0548a84cb..c59c301028 100644 --- a/sym_common.txt +++ b/sym_common.txt @@ -83,9 +83,7 @@ gUnknown_030060B0: @ 30060B0 gUnknown_030060B4: @ 30060B4 .space 0x4 -gUnknown_030060B8: @ 30060B8 - .space 0x4 - + .include "contest.o" .include "tv.o" gUnknown_03006130: @ 3006130 diff --git a/sym_ewram.txt b/sym_ewram.txt index d4a2ba4b63..ad1757eaaa 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -414,17 +414,10 @@ gUnknown_02039DD0: @ 2039DD0 .space 0x4 .include "src/map_name_popup.o" - .space 0x3 - -gBagPockets: @ 2039DD8 - .space 0x28 - + .include "src/item.o" .include "src/contest.o" .align 2 -gUnknown_02039F3C: @ 2039F3C - .space 0x20 - gUnknown_02039F5C: @ 2039F5C .space 0x1 From f9230e80aa1fd32d0428af9b684dcf4395148fc3 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 2 May 2018 19:59:00 -0400 Subject: [PATCH 024/234] through vblank_cb_battle --- asm/contest.s | 514 +------------------------------------------- include/contest.h | 1 + include/gba/types.h | 11 + src/contest.c | 200 ++++++++++++++++- 4 files changed, 204 insertions(+), 522 deletions(-) diff --git a/asm/contest.s b/asm/contest.s index 0fa75185c8..4862bdb62e 100644 --- a/asm/contest.s +++ b/asm/contest.s @@ -5,518 +5,6 @@ .text - thumb_func_start sub_80D7E44 -sub_80D7E44: @ 80D7E44 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x40 - mov r10, r0 - ldrb r0, [r0] - cmp r0, 0x6 - bls _080D7E5A - b _080D80A4 -_080D7E5A: - lsls r0, 2 - ldr r1, =_080D7E68 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080D7E68: - .4byte _080D7E84 - .4byte _080D7EC8 - .4byte _080D7ED8 - .4byte _080D7F28 - .4byte _080D7F40 - .4byte _080D7F7C - .4byte _080D8004 -_080D7E84: - ldr r2, =gPaletteFade - ldrb r0, [r2, 0x8] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r2, 0x8] - movs r1, 0xC0 - lsls r1, 19 - movs r4, 0x80 - lsls r4, 8 - movs r0, 0 - adds r2, r4, 0 - movs r3, 0x1 - bl RequestDma3Fill - ldr r1, =0x06008000 - movs r0, 0 - adds r2, r4, 0 - movs r3, 0x1 - bl RequestDma3Fill - ldr r1, =0x06010000 - movs r0, 0 - adds r2, r4, 0 - movs r3, 0x1 - bl RequestDma3Fill - b _080D80AE - .pool -_080D7EC8: - ldr r0, =gContestMiscGfx - movs r1, 0xC0 - lsls r1, 19 - bl LZDecompressVram - b _080D80AE - .pool -_080D7ED8: - ldr r0, =gContestAudienceGfx - ldr r4, =0x06002000 - adds r1, r4, 0 - bl LZDecompressVram - ldr r3, =0x02018000 - movs r5, 0x80 - lsls r5, 6 - ldr r1, =0x040000d4 - ldr r6, =0x84000400 - movs r2, 0x80 - lsls r2, 5 - movs r7, 0x84 - lsls r7, 24 -_080D7EF4: - str r4, [r1] - str r3, [r1, 0x4] - str r6, [r1, 0x8] - ldr r0, [r1, 0x8] - adds r4, r2 - adds r3, r2 - subs r5, r2 - cmp r5, r2 - bhi _080D7EF4 - str r4, [r1] - str r3, [r1, 0x4] - lsrs r0, r5, 2 - orrs r0, r7 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - b _080D80AE - .pool -_080D7F28: - ldr r1, =gUnknown_08C16FA8 - movs r0, 0x3 - movs r2, 0 - movs r3, 0 - bl CopyToBgTilemapBuffer - movs r0, 0x3 - bl CopyBgTilemapBufferToVram - b _080D80AE - .pool -_080D7F40: - ldr r1, =gUnknown_08C17170 - movs r0, 0x2 - movs r2, 0 - movs r3, 0 - bl CopyToBgTilemapBuffer - movs r0, 0x2 - bl CopyBgTilemapBufferToVram - ldr r0, =gContestResources - ldr r0, [r0] - ldr r1, [r0, 0x2C] - ldr r2, =0x0201aa04 - ldr r0, =0x040000d4 - str r1, [r0] - str r2, [r0, 0x4] - ldr r1, =0x84000200 - str r1, [r0, 0x8] - ldr r0, [r0, 0x8] - b _080D80AE - .pool -_080D7F7C: - ldr r0, =gUnknown_08C16E90 - movs r2, 0x80 - lsls r2, 2 - movs r1, 0 - bl LoadCompressedPalette - ldr r5, =gPlttBufferUnfaded + 0x100 - ldr r6, =0x04000008 - adds r0, r5, 0 - mov r1, sp - adds r2, r6, 0 - bl CpuSet - ldr r0, =gContestPlayerMonIndex - mov r9, r0 - ldrb r0, [r0] - adds r0, 0x5 - lsls r0, 5 - ldr r1, =0xffffff00 - adds r1, r5 - mov r8, r1 - add r0, r8 - add r4, sp, 0x20 - adds r1, r4, 0 - adds r2, r6, 0 - bl CpuSet - adds r0, r4, 0 - adds r1, r5, 0 - adds r2, r6, 0 - bl CpuSet - mov r2, r9 - ldrb r1, [r2] - adds r1, 0x5 - lsls r1, 5 - add r1, r8 - mov r0, sp - adds r2, r6, 0 - bl CpuSet - ldr r1, =0x0201a004 - ldr r0, =0x040000d4 - mov r2, r8 - str r2, [r0] - str r1, [r0, 0x4] - ldr r1, =0x84000080 - str r1, [r0, 0x8] - ldr r0, [r0, 0x8] - bl sub_80D782C - b _080D80AE - .pool -_080D8004: - bl sub_80DD04C - bl sub_80DBF90 - bl sub_80DB2BC - bl sub_80DB120 - ldr r1, =gContestResources - ldr r1, [r1] - ldr r1, [r1] - movs r4, 0 - strb r0, [r1, 0x12] - bl sub_80DC2BC - bl sub_80DC4F0 - bl sub_80DC594 - bl sub_80DC5E8 - bl sub_80DC7EC - ldr r1, =gBattlerPositions - strb r4, [r1] - movs r0, 0x1 - strb r0, [r1, 0x1] - movs r3, 0x3 - strb r3, [r1, 0x2] - movs r2, 0x2 - strb r2, [r1, 0x3] - ldr r0, =gBattleTypeFlags - str r4, [r0] - ldr r4, =gBattlerAttacker - strb r2, [r4] - ldr r0, =gBattlerTarget - strb r3, [r0] - bl sub_80DB0C4 - ldr r2, =gBattlerSpriteIds - ldrb r1, [r4] - adds r1, r2 - strb r0, [r1] - bl sub_80DEA20 - movs r0, 0x3 - bl CopyBgTilemapBufferToVram - movs r0, 0x2 - bl CopyBgTilemapBufferToVram - movs r0, 0x1 - bl CopyBgTilemapBufferToVram - movs r0, 0x3 - bl ShowBg - movs r0, 0x2 - bl ShowBg - movs r0, 0 - bl ShowBg - movs r0, 0x1 - bl ShowBg - b _080D80AE - .pool -_080D80A4: - movs r0, 0 - mov r1, r10 - strb r0, [r1] - movs r0, 0x1 - b _080D80B8 -_080D80AE: - mov r2, r10 - ldrb r0, [r2] - adds r0, 0x1 - strb r0, [r2] - movs r0, 0 -_080D80B8: - add sp, 0x40 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80D7E44 - - thumb_func_start sub_80D80C8 -sub_80D80C8: @ 80D80C8 - push {lr} - lsls r0, 24 - lsrs r3, r0, 24 - ldr r1, =gPaletteFade - ldrb r2, [r1, 0x8] - movs r0, 0x7F - ands r0, r2 - strb r0, [r1, 0x8] - ldrb r1, [r1, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0 - bne _080D80F8 - ldr r0, =gTasks - lsls r1, r3, 2 - adds r1, r3 - lsls r1, 3 - adds r1, r0 - strh r2, [r1, 0x8] - strh r2, [r1, 0xA] - ldr r0, =sub_80D8108 - str r0, [r1] -_080D80F8: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D80C8 - - thumb_func_start sub_80D8108 -sub_80D8108: @ 80D8108 - push {r4,r5,lr} - sub sp, 0x4 - 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, 0x4 - bhi _080D8208 - lsls r0, 2 - ldr r1, =_080D8138 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080D8138: - .4byte _080D814C - .4byte _080D8176 - .4byte _080D8194 - .4byte _080D81B0 - .4byte _080D8208 -_080D814C: - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r2 - ldrh r0, [r4, 0xA] - adds r1, r0, 0x1 - strh r1, [r4, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3C - ble _080D822C - movs r0, 0 - strh r0, [r4, 0xA] - movs r0, 0x61 - movs r1, 0 - bl PlaySE12WithPanning - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _080D822C -_080D8176: - ldr r1, =gBattle_BG1_Y - ldrh r0, [r1] - adds r0, 0x7 - strh r0, [r1] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xA0 - ble _080D822C - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r2 - b _080D81FA - .pool -_080D8194: - bl sub_80DE350 - 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 _080D822C - .pool -_080D81B0: - movs r0, 0x8 - bl GetGpuReg - mov r1, sp - strh r0, [r1] - movs r0, 0xC - bl GetGpuReg - mov r4, sp - adds r4, 0x2 - strh r0, [r4] - mov r3, sp - ldrb r2, [r3] - movs r1, 0x4 - negs r1, r1 - adds r0, r1, 0 - ands r0, r2 - strb r0, [r3] - ldrb r0, [r4] - ands r1, r0 - strb r1, [r4] - mov r0, sp - ldrh r1, [r0] - movs r0, 0x8 - bl SetGpuReg - ldrh r1, [r4] - movs r0, 0xC - bl SetGpuReg - bl sub_80DDB0C - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 -_080D81FA: - ldrh r1, [r0, 0x8] - adds r1, 0x1 - strh r1, [r0, 0x8] - b _080D822C - .pool -_080D8208: - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0] - ldrb r1, [r0, 0x6] - movs r0, 0x40 - ands r0, r1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - bne _080D822C - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r2 - strh r1, [r0, 0x8] - strh r1, [r0, 0xA] - ldr r1, =sub_80D833C - str r1, [r0] -_080D822C: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D8108 - - thumb_func_start sub_80D823C -sub_80D823C: @ 80D823C - push {r4,r5,lr} - bl AnimateSprites - bl RunTasks - bl BuildOamBuffer - bl UpdatePaletteFade - movs r4, 0 -_080D8250: - ldr r5, =gUnknown_02039F38 - ldrb r0, [r5] - asrs r0, r4 - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080D8266 - lsls r0, r4, 24 - lsrs r0, 24 - bl CopyBgTilemapBufferToVram -_080D8266: - adds r4, 0x1 - cmp r4, 0x3 - ble _080D8250 - movs r0, 0 - strb r0, [r5] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D823C - - thumb_func_start vblank_cb_battle -vblank_cb_battle: @ 80D827C - push {lr} - ldr r0, =gBattle_BG0_X - ldrh r1, [r0] - movs r0, 0x10 - bl SetGpuReg - ldr r0, =gBattle_BG0_Y - ldrh r1, [r0] - movs r0, 0x12 - bl SetGpuReg - ldr r0, =gBattle_BG1_X - ldrh r1, [r0] - movs r0, 0x14 - bl SetGpuReg - ldr r0, =gBattle_BG1_Y - ldrh r1, [r0] - movs r0, 0x16 - bl SetGpuReg - ldr r0, =gBattle_BG2_X - ldrh r1, [r0] - movs r0, 0x18 - bl SetGpuReg - ldr r0, =gBattle_BG2_Y - ldrh r1, [r0] - movs r0, 0x1A - bl SetGpuReg - ldr r0, =gBattle_BG3_X - ldrh r1, [r0] - movs r0, 0x1C - bl SetGpuReg - ldr r0, =gBattle_BG3_Y - ldrh r1, [r0] - movs r0, 0x1E - bl SetGpuReg - ldr r0, =gBattle_WIN0H - ldrh r1, [r0] - movs r0, 0x40 - bl SetGpuReg - ldr r0, =gBattle_WIN0V - ldrh r1, [r0] - movs r0, 0x44 - bl SetGpuReg - ldr r0, =gBattle_WIN1H - ldrh r1, [r0] - movs r0, 0x42 - bl SetGpuReg - ldr r0, =gBattle_WIN1V - ldrh r1, [r0] - movs r0, 0x46 - bl SetGpuReg - bl TransferPlttBuffer - bl LoadOam - bl ProcessSpriteCopyRequests - bl ScanlineEffect_InitHBlankDmaTransfer - pop {r0} - bx r0 - .pool - thumb_func_end vblank_cb_battle - thumb_func_start sub_80D833C sub_80D833C: @ 80D833C push {r4,r5,lr} @@ -13321,7 +12809,7 @@ sub_80DED4C: @ 80DED4C thumb_func_start sub_80DED60 sub_80DED60: @ 80DED60 - ldr r2, =gUnknown_02039F38 + ldr r2, =sContestBgCopyFlags movs r1, 0x1 lsls r1, r0 ldrb r0, [r2] diff --git a/include/contest.h b/include/contest.h index 250929de7b..45fc9b4779 100644 --- a/include/contest.h +++ b/include/contest.h @@ -401,6 +401,7 @@ struct ContestResources void * field_3c; }; +#define shared15800 (gHeap + 0x18000) #define shared18000 (*(struct Shared18000 *)(gHeap + 0x1a000)) extern struct ContestResources *gContestResources; diff --git a/include/gba/types.h b/include/gba/types.h index 9f63489aa9..a7dbf3e030 100644 --- a/include/gba/types.h +++ b/include/gba/types.h @@ -28,6 +28,17 @@ typedef u8 bool8; typedef u16 bool16; typedef u32 bool32; +struct BgCnt +{ + u16 priority:2; + u16 charBaseBlock:2; + u16 dummy:4; + u16 screenBaseBlock:5; + u16 areaOverflowMode:1; + u16 screenSize:2; +}; +typedef volatile struct BgCnt vBgCnt; + struct PlttData { u16 r:5; // red diff --git a/src/contest.c b/src/contest.c index 2c56eb14cc..6d9bfe460e 100644 --- a/src/contest.c +++ b/src/contest.c @@ -31,6 +31,7 @@ #include "scanline_effect.h" #include "util.h" #include "contest_link_80F57C4.h" +#include "dma3.h" #define DESTROY_POINTER(ptr) \ free(ptr); \ @@ -42,14 +43,29 @@ void sub_80D7CB4(u8 taskId); void sub_80D7DAC(u8 taskId); void sub_80D7DC8(u8 taskId); void sub_80D7DE8(u8 taskId); -void sub_80D80C8(u8 taskId); -void sub_80D823C(void); -void sub_80DBF68(void); -void sub_80DCE58(u8); -void sub_80DD590(void); bool8 sub_80D7E44(u8 *); +void sub_80D80C8(u8 taskId); +void sub_80D8108(u8 taskId); +void sub_80DE350(void); +void sub_80DDB0C(void); +void sub_80D833C(u8 taskId); +void sub_80D823C(void); +u8 sub_80DB0C4(void); +u8 sub_80DB120(void); +void sub_80DB2BC(void); +void sub_80DBF68(void); +void sub_80DBF90(void); +void sub_80DC2BC(void); +void sub_80DC4F0(void); +void sub_80DC594(void); +void sub_80DC5E8(void); +void sub_80DC7EC(void); +void sub_80DCE58(u8); +void sub_80DD04C(void); +void sub_80DD590(void); void sub_80DE224(void); void vblank_cb_battle(void); +void sub_80DEA20(void); EWRAM_DATA struct ContestPokemon gContestMons[4] = {0}; EWRAM_DATA s16 gUnknown_02039F00[4] = {0}; @@ -69,7 +85,7 @@ EWRAM_DATA u16 gSpecialVar_ContestRank = 0; EWRAM_DATA u8 gUnknown_02039F30 = 0; EWRAM_DATA u8 gUnknown_02039F31 = 0; EWRAM_DATA struct ContestResources * gContestResources = NULL; -EWRAM_DATA u8 gUnknown_02039F38 = 0; +EWRAM_DATA u8 sContestBgCopyFlags = 0; EWRAM_DATA struct ContestWinner gUnknown_02039F3C = {0}; u32 gContestRngValue; @@ -77,7 +93,7 @@ u32 gContestRngValue; extern u16 gBattle_BG0_X; extern u16 gBattle_BG0_Y; extern u16 gBattle_BG1_X; -extern u16 gBattle_BG1_Y; +extern s16 gBattle_BG1_Y; extern u16 gBattle_BG2_X; extern u16 gBattle_BG2_Y; extern u16 gBattle_BG3_X; @@ -91,9 +107,10 @@ extern const u8 gContestMiscGfx[]; extern const u8 gContestAudienceGfx[]; extern const u8 gUnknown_08C16FA8[]; extern const u8 gUnknown_08C16E90[]; +extern const u8 gUnknown_08C17170[]; +extern const u16 gUnknown_08587C30[]; extern const struct BgTemplate gUnknown_08587F34[4]; extern const struct WindowTemplate gUnknown_08587F44[]; -extern const u16 gUnknown_08587C30[]; void TaskDummy1(u8 taskId) { @@ -271,7 +288,7 @@ void sub_80D7B24(void) switch (gMain.state) { case 0: - gUnknown_02039F38 = 0; + sContestBgCopyFlags = 0; sub_80D7988(); AllocateMonSpritesGfx(); DESTROY_POINTER(gMonSpritesGfxPtr->firstDecompressed); @@ -396,3 +413,168 @@ void sub_80D7DE8(u8 taskId) } } +u8 sub_80D7E44(u8 *a) +{ + u16 sp0[16]; + u16 sp20[16]; + + switch (*a) + { + case 0: + gPaletteFade.bufferTransferDisabled = TRUE; + RequestDma3Fill(0, (void *)VRAM, 0x8000, 1); + RequestDma3Fill(0, (void *)VRAM + 0x8000, 0x8000, 1); + RequestDma3Fill(0, (void *)VRAM + 0x10000, 0x8000, 1); + break; + case 1: + LZDecompressVram(gContestMiscGfx, (void *)VRAM); + break; + case 2: + LZDecompressVram(gContestAudienceGfx, (void *)(VRAM + 0x2000)); + DmaCopyLarge32(3, (void *)(VRAM + 0x2000), shared15800, 0x2000, 0x1000); + break; + case 3: + CopyToBgTilemapBuffer(3, gUnknown_08C16FA8, 0, 0); + CopyBgTilemapBufferToVram(3); + break; + case 4: + CopyToBgTilemapBuffer(2, gUnknown_08C17170, 0, 0); + CopyBgTilemapBufferToVram(2); + DmaCopy32Defvars(3, gContestResources->field_24[2], shared18000.unk18A04, 0x800); + break; + case 5: + LoadCompressedPalette(gUnknown_08C16E90, 0, 0x200); + CpuCopy32(gPlttBufferUnfaded + 128, sp0, 16 * sizeof(u16)); + CpuCopy32(gPlttBufferUnfaded + (5 + gContestPlayerMonIndex) * 16, sp20, 16 * sizeof(u16)); + CpuCopy32(sp20, gPlttBufferUnfaded + 128, 16 * sizeof(u16)); + CpuCopy32(sp0, gPlttBufferUnfaded + (5 + gContestPlayerMonIndex) * 16, 16 * sizeof(u16)); + DmaCopy32Defvars(3, gPlttBufferUnfaded, shared18000.unk18004, 0x200); + sub_80D782C(); + break; + case 6: + sub_80DD04C(); + sub_80DBF90(); + sub_80DB2BC(); + gContestResources->field_0->unk19216 = sub_80DB120(); + sub_80DC2BC(); + sub_80DC4F0(); + sub_80DC594(); + sub_80DC5E8(); + sub_80DC7EC(); + gBattlerPositions[0] = 0; + gBattlerPositions[1] = 1; + gBattlerPositions[2] = 3; + gBattlerPositions[3] = 2; + gBattleTypeFlags = 0; + gBattlerAttacker = 2; + gBattlerTarget = 3; + gBattlerSpriteIds[gBattlerAttacker] = sub_80DB0C4(); + sub_80DEA20(); + CopyBgTilemapBufferToVram(3); + CopyBgTilemapBufferToVram(2); + CopyBgTilemapBufferToVram(1); + ShowBg(3); + ShowBg(2); + ShowBg(0); + ShowBg(1); + break; + default: + *a = 0; + return 1; + } + + (*a)++; + return 0; +} + +void sub_80D80C8(u8 taskId) +{ + gPaletteFade.bufferTransferDisabled = FALSE; + if (!gPaletteFade.active) + { + gTasks[taskId].data[0] = 0; + gTasks[taskId].data[1] = 0; + gTasks[taskId].func = sub_80D8108; + } +} + + +void sub_80D8108(u8 taskId) +{ + switch (gTasks[taskId].data[0]) + { + case 0: + if (gTasks[taskId].data[1]++ <= 60) + break; + gTasks[taskId].data[1] = 0; + PlaySE12WithPanning(SE_C_MAKU_U, 0); + gTasks[taskId].data[0]++; + break; + case 1: + if ((gBattle_BG1_Y += 7) <= 160) + break; + gTasks[taskId].data[0]++; + break; + case 2: + sub_80DE350(); + gTasks[taskId].data[0]++; + break; + case 3: + { + u16 bg0Cnt = GetGpuReg(REG_OFFSET_BG0CNT); + u16 bg2Cnt = GetGpuReg(REG_OFFSET_BG2CNT); + ((struct BgCnt *)&bg0Cnt)->priority = 0; + ((struct BgCnt *)&bg2Cnt)->priority = 0; + SetGpuReg(REG_OFFSET_BG0CNT, bg0Cnt); + SetGpuReg(REG_OFFSET_BG2CNT, bg2Cnt); + sub_80DDB0C(); + gTasks[taskId].data[0]++; + break; + } + case 4: + default: + if (gContestResources->field_0->unk1920A_6) + break; + gTasks[taskId].data[0] = 0; + gTasks[taskId].data[1] = 0; + gTasks[taskId].func = sub_80D833C; + break; + } +} + +void sub_80D823C(void) +{ + s32 i; + + AnimateSprites(); + RunTasks(); + BuildOamBuffer(); + UpdatePaletteFade(); + + for (i = 0; i < 4; i++) + { + if ((sContestBgCopyFlags >> i) & 1) + CopyBgTilemapBufferToVram(i); + } + sContestBgCopyFlags = 0; +} + +void vblank_cb_battle(void) +{ + SetGpuReg(REG_OFFSET_BG0HOFS, gBattle_BG0_X); + SetGpuReg(REG_OFFSET_BG0VOFS, gBattle_BG0_Y); + SetGpuReg(REG_OFFSET_BG1HOFS, gBattle_BG1_X); + SetGpuReg(REG_OFFSET_BG1VOFS, gBattle_BG1_Y); + SetGpuReg(REG_OFFSET_BG2HOFS, gBattle_BG2_X); + SetGpuReg(REG_OFFSET_BG2VOFS, gBattle_BG2_Y); + SetGpuReg(REG_OFFSET_BG3HOFS, gBattle_BG3_X); + SetGpuReg(REG_OFFSET_BG3VOFS, gBattle_BG3_Y); + SetGpuReg(REG_OFFSET_WIN0H, gBattle_WIN0H); + SetGpuReg(REG_OFFSET_WIN0V, gBattle_WIN0V); + SetGpuReg(REG_OFFSET_WIN1H, gBattle_WIN1H); + SetGpuReg(REG_OFFSET_WIN1V, gBattle_WIN1V); + TransferPlttBuffer(); + LoadOam(); + ProcessSpriteCopyRequests(); + ScanlineEffect_InitHBlankDmaTransfer(); +} From 7d446a9ef7737874f772f7537de97a8b8be2d7d4 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 3 May 2018 08:51:52 -0400 Subject: [PATCH 025/234] through sub_80D8490 --- asm/contest.s | 298 --------------------------------------- include/contest_effect.h | 14 ++ include/event_scripts.h | 4 + include/strings.h | 2 + src/contest.c | 111 ++++++++++++++- 5 files changed, 127 insertions(+), 302 deletions(-) create mode 100644 include/contest_effect.h diff --git a/asm/contest.s b/asm/contest.s index 4862bdb62e..e3c917422a 100644 --- a/asm/contest.s +++ b/asm/contest.s @@ -5,304 +5,6 @@ .text - thumb_func_start sub_80D833C -sub_80D833C: @ 80D833C - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r1 - movs r0, 0x8 - ldrsh r1, [r4, r0] - cmp r1, 0 - bne _080D840C - ldr r0, =gBattle_BG0_Y - strh r1, [r0] - ldr r0, =gBattle_BG2_Y - strh r1, [r0] - bl sub_80DCD48 - ldr r1, =gPlttBufferUnfaded - ldr r2, =0x0201a204 - ldr r0, =0x040000d4 - str r1, [r0] - str r2, [r0, 0x4] - ldr r1, =0x84000100 - str r1, [r0, 0x8] - ldr r0, [r0, 0x8] - ldr r0, =gStringVar1 - ldr r1, =gContestResources - ldr r1, [r1] - ldr r1, [r1] - ldrb r1, [r1, 0x1] - adds r1, 0x1 - movs r2, 0 - movs r3, 0x1 - bl ConvertIntToDecimalStringN - ldr r0, =gContestPlayerMonIndex - ldrb r0, [r0] - bl sub_80DBCA8 - lsls r0, 24 - cmp r0, 0 - bne _080D83CC - ldr r0, =gDisplayedStringBattle - ldr r1, =gText_0827D507 - bl StringCopy - b _080D83D4 - .pool -_080D83CC: - ldr r0, =gDisplayedStringBattle - ldr r1, =gText_0827D531 - bl StringCopy -_080D83D4: - bl sub_80DB89C - ldr r4, =gStringVar4 - ldr r1, =gDisplayedStringBattle - adds r0, r4, 0 - bl StringExpandPlaceholders - adds r0, r4, 0 - movs r1, 0x1 - bl sub_80DEC30 - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - ldrh r1, [r0, 0x8] - adds r1, 0x1 - strh r1, [r0, 0x8] - b _080D841A - .pool -_080D840C: - bl sub_80DED4C - cmp r0, 0 - bne _080D841A - strh r0, [r4, 0x8] - ldr r0, =sub_80D8424 - str r0, [r4] -_080D841A: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D833C - - thumb_func_start sub_80D8424 -sub_80D8424: @ 80D8424 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r5, r4, 0 - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _080D843C - cmp r1, 0x2 - bne _080D8482 -_080D843C: - movs r0, 0x5 - bl PlaySE - ldr r0, =gContestPlayerMonIndex - ldrb r0, [r0] - bl sub_80DBCA8 - lsls r0, 24 - cmp r0, 0 - bne _080D8474 - movs r0, 0x1 - bl sub_80DC490 - ldr r0, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_80D8490 - b _080D8480 - .pool -_080D8474: - ldr r0, =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_80D8894 -_080D8480: - str r0, [r1] -_080D8482: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D8424 - - thumb_func_start sub_80D8490 -sub_80D8490: @ 80D8490 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x24 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - ldr r0, =gBattle_BG0_Y - movs r1, 0xA0 - strh r1, [r0] - ldr r0, =gBattle_BG2_Y - strh r1, [r0] - movs r6, 0 - ldr r0, =gContestPlayerMonIndex - mov r8, r0 - ldr r2, =gContestMons + 30 - mov r10, r2 - ldr r7, =gContestResources -_080D84B8: - lsls r1, r6, 1 - mov r0, r8 - ldrb r2, [r0] - lsls r0, r2, 6 - adds r1, r0 - add r1, r10 - ldrh r4, [r1] - add r5, sp, 0x4 - ldr r0, [r7] - ldr r1, [r0, 0x4] - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r1 - ldrh r0, [r0, 0x8] - cmp r0, 0 - beq _080D853C - adds r0, r2, 0 - bl sub_80DE1E8 - lsls r0, 24 - cmp r0, 0 - beq _080D853C - ldr r0, [r7] - mov r2, r8 - ldrb r1, [r2] - ldr r2, [r0, 0x4] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r0, [r0, 0x8] - adds r1, r4, 0 - bl AreMovesContestCombo - lsls r0, 24 - cmp r0, 0 - beq _080D853C - ldr r0, [r7] - mov r2, r8 - ldrb r1, [r2] - ldr r2, [r0, 0x4] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0, 0x15] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080D853C - add r0, sp, 0x4 - ldr r1, =gText_ColorLightShadowDarkGrey - b _080D8566 - .pool -_080D853C: - cmp r4, 0 - beq _080D856C - ldr r0, [r7] - mov r2, r8 - ldrb r1, [r2] - ldr r2, [r0, 0x4] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r0, [r0, 0x8] - cmp r0, r4 - bne _080D856C - ldr r0, =gContestMoves - lsls r1, r4, 3 - adds r1, r0 - ldrb r0, [r1] - cmp r0, 0x3 - beq _080D856C - add r0, sp, 0x4 - ldr r1, =gText_ColorBlue -_080D8566: - bl StringCopy - adds r5, r0, 0 -_080D856C: - movs r0, 0xD - adds r1, r4, 0 - muls r1, r0 - ldr r0, =gMoveNames - adds r1, r0 - adds r0, r5, 0 - bl StringCopy - adds r4, r6, 0x5 - lsls r0, r4, 24 - lsrs r0, 24 - movs r1, 0 - bl FillWindowPixelBuffer - movs r0, 0x7 - str r0, [sp] - adds r0, r4, 0 - add r1, sp, 0x4 - movs r2, 0x5 - movs r3, 0x1 - bl sub_80DEBD0 - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x3 - bls _080D84B8 - ldr r4, =gContestResources - ldr r0, [r4] - ldr r0, [r0] - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - bl sub_80D880C - ldr r2, =gContestMons - ldr r0, [r4] - ldr r0, [r0] - ldrb r1, [r0] - lsls r1, 1 - ldr r0, =gContestPlayerMonIndex - ldrb r0, [r0] - lsls r0, 6 - adds r1, r0 - adds r2, 0x1E - adds r1, r2 - ldrh r0, [r1] - bl prints_contest_move_description - ldr r1, =gTasks - mov r2, r9 - lsls r0, r2, 2 - add r0, r9 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_80D8610 - str r1, [r0] - add sp, 0x24 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D8490 - thumb_func_start sub_80D8610 sub_80D8610: @ 80D8610 push {r4-r7,lr} diff --git a/include/contest_effect.h b/include/contest_effect.h new file mode 100644 index 0000000000..4d680be9e8 --- /dev/null +++ b/include/contest_effect.h @@ -0,0 +1,14 @@ +#ifndef GUARD_CONTEST_EFFECT_H +#define GUARD_CONTEST_EFFECT_H + +struct ContestMove +{ + u8 effect; + u8 contestCategory:3; + u8 comboStarterId; + u8 comboMoves[4]; +}; + +extern const struct ContestMove gContestMoves[]; + +#endif //GUARD_CONTEST_EFFECT_H diff --git a/include/event_scripts.h b/include/event_scripts.h index eb523a4878..b26d1c1644 100644 --- a/include/event_scripts.h +++ b/include/event_scripts.h @@ -394,4 +394,8 @@ extern const u8 Route111_EventScript_2907F0[]; extern const u8 LittlerootTown_BrendansHouse_2F_EventScript_1F863F[]; extern const u8 LittlerootTown_MaysHouse_2F_EventScript_1F958F[]; +//contest_strings +extern const u8 gText_0827D507[]; +extern const u8 gText_0827D531[]; + #endif //GUARD_EVENT_SCRIPTS_H diff --git a/include/strings.h b/include/strings.h index 7c81dbcfba..7a96dc0365 100644 --- a/include/strings.h +++ b/include/strings.h @@ -429,5 +429,7 @@ extern const u8 gText_TooImportantToToss[]; extern const u8 gText_ConfirmTossItems[]; extern const u8 gText_MoveVar1Where[]; +extern const u8 gText_ColorLightShadowDarkGrey[]; +extern const u8 gText_ColorBlue[]; #endif //GUARD_STRINGS_H diff --git a/src/contest.c b/src/contest.c index 6d9bfe460e..95efd62e0b 100644 --- a/src/contest.c +++ b/src/contest.c @@ -32,6 +32,10 @@ #include "util.h" #include "contest_link_80F57C4.h" #include "dma3.h" +#include "battle_message.h" +#include "event_scripts.h" +#include "strings.h" +#include "contest_effect.h" #define DESTROY_POINTER(ptr) \ free(ptr); \ @@ -46,26 +50,42 @@ void sub_80D7DE8(u8 taskId); bool8 sub_80D7E44(u8 *); void sub_80D80C8(u8 taskId); void sub_80D8108(u8 taskId); -void sub_80DE350(void); -void sub_80DDB0C(void); -void sub_80D833C(u8 taskId); +void vblank_cb_battle(void); void sub_80D823C(void); +void sub_80D833C(u8 taskId); +void sub_80D8424(u8); +bool8 AreMovesContestCombo(u16, u16); +void sub_80D8610(u8); +void sub_80D880C(s8); +void prints_contest_move_description(u16); +void sub_80D8490(u8); +void sub_80D8894(u8); u8 sub_80DB0C4(void); u8 sub_80DB120(void); void sub_80DB2BC(void); +void sub_80DB89C(void); +bool8 sub_80DBCA8(u8); void sub_80DBF68(void); void sub_80DBF90(void); void sub_80DC2BC(void); +void sub_80DC490(bool8); void sub_80DC4F0(void); void sub_80DC594(void); void sub_80DC5E8(void); void sub_80DC7EC(void); +void sub_80DCD48(void); void sub_80DCE58(u8); void sub_80DD04C(void); void sub_80DD590(void); +void sub_80DDB0C(void); +bool8 sub_80DE1E8(u8); void sub_80DE224(void); -void vblank_cb_battle(void); +void sub_80DE350(void); void sub_80DEA20(void); +void sub_80DEBD0(u32, u8 *, u8, u8, u8); +void sub_80DEC30(u8 *, u8); +bool32 sub_80DED4C(void); + EWRAM_DATA struct ContestPokemon gContestMons[4] = {0}; EWRAM_DATA s16 gUnknown_02039F00[4] = {0}; @@ -578,3 +598,86 @@ void vblank_cb_battle(void) ProcessSpriteCopyRequests(); ScanlineEffect_InitHBlankDmaTransfer(); } + +void sub_80D833C(u8 taskId) +{ + if (gTasks[taskId].data[0] == 0) + { + gBattle_BG0_Y = 0; + gBattle_BG2_Y = 0; + sub_80DCD48(); + DmaCopy32Defvars(3, gPlttBufferUnfaded, shared18000.unk18204, 0x400); + ConvertIntToDecimalStringN(gStringVar1, gContestResources->field_0->turnNumber + 1, STR_CONV_MODE_LEFT_ALIGN, 1); + if (!sub_80DBCA8(gContestPlayerMonIndex)) + StringCopy(gDisplayedStringBattle, gText_0827D507); + else + StringCopy(gDisplayedStringBattle, gText_0827D531); + sub_80DB89C(); + StringExpandPlaceholders(gStringVar4, gDisplayedStringBattle); + sub_80DEC30(gStringVar4, 1); + gTasks[taskId].data[0]++; + } + else + { + if (!sub_80DED4C()) + { + gTasks[taskId].data[0] = 0; + gTasks[taskId].func = sub_80D8424; + } + } +} + +void sub_80D8424(u8 taskId) +{ + if ((gMain.newKeys & A_BUTTON) || (gMain.newKeys == B_BUTTON)) + { + PlaySE(SE_SELECT); + if (!sub_80DBCA8(gContestPlayerMonIndex)) + { + sub_80DC490(TRUE); + gTasks[taskId].func = sub_80D8490; + } + else + { + gTasks[taskId].func = sub_80D8894; + } + } +} + +void sub_80D8490(u8 taskId) +{ + u8 i; + u8 sp8[32]; + + gBattle_BG0_Y = 0xA0; + gBattle_BG2_Y = 0xA0; + + for (i = 0; i < 4; i++) + { + u16 move = gContestMons[gContestPlayerMonIndex].moves[i]; + u8 *r5 = sp8; + + if (gContestResources->field_4[gContestPlayerMonIndex].prevMove != MOVE_NONE + && sub_80DE1E8(gContestPlayerMonIndex) + && AreMovesContestCombo(gContestResources->field_4[gContestPlayerMonIndex].prevMove, move) != 0 + && gContestResources->field_4[gContestPlayerMonIndex].hasJudgesAttention) + { + r5 = StringCopy(sp8, gText_ColorLightShadowDarkGrey); + } + else if (move != 0 + && gContestResources->field_4[gContestPlayerMonIndex].prevMove == move + && gContestMoves[move].effect != CONTEST_EFFECT_REPETITION_NOT_BORING) + { + // Gray the text because it is a repeated move + r5 = StringCopy(sp8, gText_ColorBlue); + } + r5 = StringCopy(r5, gMoveNames[move]); + + FillWindowPixelBuffer(i + 5, 0); + sub_80DEBD0(i + 5, sp8, 5, 1, 7); + } + + sub_80D880C(gContestResources->field_0->playerMoveChoice); + prints_contest_move_description(gContestMons[gContestPlayerMonIndex].moves[gContestResources->field_0->playerMoveChoice]); + gTasks[taskId].func = sub_80D8610; +} From 210cedd077d175937b5b12930d6a1cce2a367166 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 3 May 2018 21:01:22 -0400 Subject: [PATCH 026/234] through sub_80D883C --- asm/contest.s | 282 -------------------------------------------------- src/contest.c | 83 ++++++++++++++- 2 files changed, 80 insertions(+), 285 deletions(-) diff --git a/asm/contest.s b/asm/contest.s index e3c917422a..fc579783cc 100644 --- a/asm/contest.s +++ b/asm/contest.s @@ -5,288 +5,6 @@ .text - thumb_func_start sub_80D8610 -sub_80D8610: @ 80D8610 - push {r4-r7,lr} - lsls r0, 24 - lsrs r7, r0, 24 - movs r6, 0 - ldr r3, =gMain - ldr r1, =gContestMons - ldr r0, =gContestPlayerMonIndex - ldrb r0, [r0] - lsls r0, 6 - adds r1, 0x1E - adds r1, r0, r1 - movs r2, 0x3 -_080D8628: - ldrh r0, [r1] - cmp r0, 0 - beq _080D8634 - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 -_080D8634: - adds r1, 0x2 - subs r2, 0x1 - cmp r2, 0 - bge _080D8628 - ldrh r0, [r3, 0x2E] - movs r5, 0x1 - ands r5, r0 - cmp r5, 0 - beq _080D8670 - movs r0, 0x5 - bl PlaySE - ldr r0, =gTasks - lsls r1, r7, 2 - adds r1, r7 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_80D8894 - str r0, [r1] - b _080D87FA - .pool -_080D8670: - ldrh r0, [r3, 0x30] - cmp r0, 0x20 - bne _080D8678 - b _080D87FA -_080D8678: - cmp r0, 0x20 - bgt _080D8682 - cmp r0, 0x2 - beq _080D868E - b _080D87FA -_080D8682: - cmp r0, 0x40 - beq _080D8730 - cmp r0, 0x80 - bne _080D868C - b _080D879C -_080D868C: - b _080D87FA -_080D868E: - movs r0, 0x5 - bl PlaySE - movs r0, 0 - bl sub_80DC490 - ldr r0, =gStringVar1 - ldr r1, =gContestResources - ldr r1, [r1] - ldr r1, [r1] - ldrb r1, [r1, 0x1] - adds r1, 0x1 - movs r2, 0 - movs r3, 0x1 - bl ConvertIntToDecimalStringN - ldr r0, =gContestPlayerMonIndex - ldrb r0, [r0] - bl sub_80DBCA8 - lsls r0, 24 - cmp r0, 0 - bne _080D86DC - ldr r0, =gDisplayedStringBattle - ldr r1, =gText_0827D507 - bl StringCopy - b _080D86E4 - .pool -_080D86DC: - ldr r0, =gDisplayedStringBattle - ldr r1, =gText_0827D531 - bl StringCopy -_080D86E4: - bl sub_80DB89C - ldr r4, =gStringVar4 - ldr r1, =gDisplayedStringBattle - adds r0, r4, 0 - bl StringExpandPlaceholders - adds r0, r4, 0 - movs r1, 0 - bl sub_80DEC30 - ldr r0, =gBattle_BG0_Y - movs r1, 0 - strh r1, [r0] - ldr r0, =gBattle_BG2_Y - strh r1, [r0] - ldr r1, =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_80D8424 - str r1, [r0] - b _080D87FA - .pool -_080D8730: - ldr r4, =gContestResources - ldr r0, [r4] - ldr r0, [r0] - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - bl sub_80D883C - ldr r0, [r4] - ldr r1, [r0] - ldrb r0, [r1] - cmp r0, 0 - bne _080D8754 - subs r0, r6, 0x1 - b _080D8756 - .pool -_080D8754: - subs r0, 0x1 -_080D8756: - strb r0, [r1] - ldr r4, =gContestResources - ldr r0, [r4] - ldr r0, [r0] - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - bl sub_80D880C - ldr r2, =gContestMons - ldr r0, [r4] - ldr r0, [r0] - ldrb r1, [r0] - lsls r1, 1 - ldr r0, =gContestPlayerMonIndex - ldrb r0, [r0] - lsls r0, 6 - adds r1, r0 - adds r2, 0x1E - adds r1, r2 - ldrh r0, [r1] - bl prints_contest_move_description - cmp r6, 0x1 - bls _080D87FA - movs r0, 0x5 - bl PlaySE - b _080D87FA - .pool -_080D879C: - ldr r4, =gContestResources - ldr r0, [r4] - ldr r0, [r0] - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - bl sub_80D883C - ldr r0, [r4] - ldr r1, [r0] - ldrb r2, [r1] - subs r0, r6, 0x1 - cmp r2, r0 - bne _080D87C0 - strb r5, [r1] - b _080D87C4 - .pool -_080D87C0: - adds r0, r2, 0x1 - strb r0, [r1] -_080D87C4: - ldr r4, =gContestResources - ldr r0, [r4] - ldr r0, [r0] - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - bl sub_80D880C - ldr r2, =gContestMons - ldr r0, [r4] - ldr r0, [r0] - ldrb r1, [r0] - lsls r1, 1 - ldr r0, =gContestPlayerMonIndex - ldrb r0, [r0] - lsls r0, 6 - adds r1, r0 - adds r2, 0x1E - adds r1, r2 - ldrh r0, [r1] - bl prints_contest_move_description - cmp r6, 0x1 - bls _080D87FA - movs r0, 0x5 - bl PlaySE -_080D87FA: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D8610 - - thumb_func_start sub_80D880C -sub_80D880C: @ 80D880C - push {lr} - sub sp, 0x10 - adds r3, r0, 0 - lsls r3, 25 - movs r0, 0xF8 - lsls r0, 21 - adds r3, r0 - lsrs r3, 24 - movs r0, 0x2 - str r0, [sp] - str r0, [sp, 0x4] - movs r0, 0x11 - str r0, [sp, 0x8] - movs r0, 0x1 - str r0, [sp, 0xC] - movs r0, 0x2 - movs r1, 0x37 - movs r2, 0 - bl sub_80DECB8 - add sp, 0x10 - pop {r0} - bx r0 - thumb_func_end sub_80D880C - - thumb_func_start sub_80D883C -sub_80D883C: @ 80D883C - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0x10 - adds r4, r0, 0 - lsls r4, 24 - asrs r4, 23 - adds r3, r4, 0 - adds r3, 0x1F - lsls r3, 24 - lsrs r3, 24 - movs r0, 0x2 - mov r8, r0 - str r0, [sp] - movs r5, 0x1 - str r5, [sp, 0x4] - movs r6, 0x11 - str r6, [sp, 0x8] - str r5, [sp, 0xC] - movs r1, 0xB - movs r2, 0 - bl sub_80DECB8 - adds r4, 0x20 - lsls r4, 24 - lsrs r4, 24 - mov r0, r8 - str r0, [sp] - str r5, [sp, 0x4] - str r6, [sp, 0x8] - str r5, [sp, 0xC] - movs r0, 0x2 - movs r1, 0xB - movs r2, 0 - adds r3, r4, 0 - bl sub_80DECB8 - add sp, 0x10 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80D883C - thumb_func_start sub_80D8894 sub_80D8894: @ 80D8894 push {r4,r5,lr} diff --git a/src/contest.c b/src/contest.c index 95efd62e0b..4ff6cd4d3c 100644 --- a/src/contest.c +++ b/src/contest.c @@ -54,11 +54,10 @@ void vblank_cb_battle(void); void sub_80D823C(void); void sub_80D833C(u8 taskId); void sub_80D8424(u8); -bool8 AreMovesContestCombo(u16, u16); void sub_80D8610(u8); -void sub_80D880C(s8); -void prints_contest_move_description(u16); void sub_80D8490(u8); +void sub_80D880C(s8); +void sub_80D883C(s8); void sub_80D8894(u8); u8 sub_80DB0C4(void); u8 sub_80DB120(void); @@ -85,6 +84,9 @@ void sub_80DEA20(void); void sub_80DEBD0(u32, u8 *, u8, u8, u8); void sub_80DEC30(u8 *, u8); bool32 sub_80DED4C(void); +bool8 AreMovesContestCombo(u16, u16); +void prints_contest_move_description(u16); +void sub_80DECB8(u8, u16, u8, u8, u8, u8, u8, u8); EWRAM_DATA struct ContestPokemon gContestMons[4] = {0}; @@ -681,3 +683,78 @@ void sub_80D8490(u8 taskId) prints_contest_move_description(gContestMons[gContestPlayerMonIndex].moves[gContestResources->field_0->playerMoveChoice]); gTasks[taskId].func = sub_80D8610; } + +void sub_80D8610(u8 taskId) +{ + u8 numMoves = 0; + s32 i; + + for (i = 0; i < 4; i++) + { + if (gContestMons[gContestPlayerMonIndex].moves[i] != MOVE_NONE) + numMoves++; + } + + if (gMain.newKeys & A_BUTTON) + { + PlaySE(SE_SELECT); + gTasks[taskId].func = sub_80D8894; + } + else + { + switch (gMain.newAndRepeatedKeys) + { + case B_BUTTON: + PlaySE(SE_SELECT); + sub_80DC490(FALSE); + ConvertIntToDecimalStringN(gStringVar1, gContestResources->field_0->turnNumber + 1, STR_CONV_MODE_LEFT_ALIGN, 1); + if (!sub_80DBCA8(gContestPlayerMonIndex)) + StringCopy(gDisplayedStringBattle, gText_0827D507); + else + StringCopy(gDisplayedStringBattle, gText_0827D531); + sub_80DB89C(); + StringExpandPlaceholders(gStringVar4, gDisplayedStringBattle); + sub_80DEC30(gStringVar4, 0); + gBattle_BG0_Y = 0; + gBattle_BG2_Y = 0; + gTasks[taskId].func = sub_80D8424; + break; + case DPAD_LEFT: + case DPAD_RIGHT: + break; + case DPAD_UP: + sub_80D883C(gContestResources->field_0->playerMoveChoice); + if (gContestResources->field_0->playerMoveChoice == 0) + gContestResources->field_0->playerMoveChoice = numMoves - 1; + else + gContestResources->field_0->playerMoveChoice--; + sub_80D880C(gContestResources->field_0->playerMoveChoice); + prints_contest_move_description(gContestMons[gContestPlayerMonIndex].moves[gContestResources->field_0->playerMoveChoice]); + if (numMoves > 1) + PlaySE(SE_SELECT); + break; + case DPAD_DOWN: + sub_80D883C(gContestResources->field_0->playerMoveChoice); + if (gContestResources->field_0->playerMoveChoice == numMoves - 1) + gContestResources->field_0->playerMoveChoice = 0; + else + gContestResources->field_0->playerMoveChoice++; + sub_80D880C(gContestResources->field_0->playerMoveChoice); + prints_contest_move_description(gContestMons[gContestPlayerMonIndex].moves[gContestResources->field_0->playerMoveChoice]); + if (numMoves > 1) + PlaySE(SE_SELECT); + break; + } + } +} + +void sub_80D880C(s8 a0) +{ + sub_80DECB8(2, 55, 0, 31 + a0 * 2, 2, 2, 17, 1); +} + +void sub_80D883C(s8 a0) +{ + sub_80DECB8(2, 11, 0, 31 + a0 * 2, 2, 1, 17, 1); + sub_80DECB8(2, 11, 0, 32 + a0 * 2, 2, 1, 17, 1); +} From f05acd88d57f6059d0cb479312bf11ffaa9774c5 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 3 May 2018 22:29:53 -0400 Subject: [PATCH 027/234] sub_80D8A88 --- asm/contest.s | 295 -------------------------------------------------- src/contest.c | 114 ++++++++++++++++++- 2 files changed, 109 insertions(+), 300 deletions(-) diff --git a/asm/contest.s b/asm/contest.s index fc579783cc..f233849a75 100644 --- a/asm/contest.s +++ b/asm/contest.s @@ -5,301 +5,6 @@ .text - thumb_func_start sub_80D8894 -sub_80D8894: @ 80D8894 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, =gIsLinkContest - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080D890C - ldr r4, =gContestPlayerMonIndex - ldrb r0, [r4] - bl sub_80DB8B8 - ldr r1, =gContestResources - ldr r1, [r1] - ldrb r2, [r4] - ldr r3, [r1, 0x4] - lsls r1, r2, 3 - subs r1, r2 - lsls r1, 2 - adds r1, r3 - strh r0, [r1, 0x6] - ldr r4, =sub_80FC9F8 - adds r0, r4, 0 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =sub_80D892C - adds r1, r4, 0 - bl SetTaskFuncWithFollowupFunc - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - ldr r1, =TaskDummy1 - str r1, [r0] - bl sub_80DBF68 - movs r0, 0 - bl sub_80DC490 - b _080D891E - .pool -_080D890C: - bl sub_80DB918 - ldr r0, =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_80D895C - str r0, [r1] -_080D891E: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D8894 - - thumb_func_start sub_80D892C -sub_80D892C: @ 80D892C - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask - ldr r2, =gTasks - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0] - ldrb r1, [r0, 0x8] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldr r1, =sub_80D895C - str r1, [r0] - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D892C - - thumb_func_start sub_80D895C -sub_80D895C: @ 80D895C - push {r4-r7,lr} - lsls r0, 24 - lsrs r7, r0, 24 - bl sub_80DB89C - ldr r0, =gBattle_BG0_Y - movs r1, 0 - strh r1, [r0] - ldr r0, =gBattle_BG2_Y - strh r1, [r0] - movs r0, 0 - bl sub_80DC490 - movs r6, 0 - movs r5, 0xA0 - lsls r5, 19 -_080D897C: - lsrs r4, r5, 24 - adds r0, r4, 0 - movs r1, 0 - bl FillWindowPixelBuffer - adds r0, r4, 0 - bl PutWindowTilemap - adds r0, r4, 0 - movs r1, 0x2 - bl CopyWindowToVram - movs r0, 0x80 - lsls r0, 17 - adds r5, r0 - adds r6, 0x1 - cmp r6, 0x3 - ble _080D897C - movs r0, 0 - bl sub_80DED60 - ldr r1, =gPlttBufferFaded - ldr r0, =0x0201a604 - movs r2, 0x80 - lsls r2, 3 - ldr r4, =0x040000d4 - str r1, [r4] - str r0, [r4, 0x4] - lsrs r1, r2, 2 - movs r3, 0x84 - lsls r3, 24 - orrs r1, r3 - str r1, [r4, 0x8] - ldr r1, [r4, 0x8] - ldr r1, =0xfffffc00 - adds r0, r1 - movs r1, 0 - bl LoadPalette - ldr r1, =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r1 - movs r1, 0 - strh r1, [r0, 0x8] - strh r1, [r0, 0xA] - ldr r1, =sub_80D8A04 - str r1, [r0] - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D895C - - thumb_func_start sub_80D8A04 -sub_80D8A04: @ 80D8A04 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x2 - ble _080D8A42 - movs r0, 0 - strh r0, [r4, 0x8] - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x2 - bne _080D8A42 - bl sub_80DDBE8 - movs r0, 0x1 - bl sub_80DE69C - ldr r0, =sub_80D8A50 - str r0, [r4] -_080D8A42: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D8A04 - - thumb_func_start sub_80D8A50 -sub_80D8A50: @ 80D8A50 - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0] - ldrh r1, [r0, 0x6] - movs r0, 0x90 - lsls r0, 2 - ands r0, r1 - cmp r0, 0 - bne _080D8A76 - ldr r0, =gTasks - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_80D8A88 - str r0, [r1] -_080D8A76: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D8A50 - - thumb_func_start sub_80D8A88 -sub_80D8A88: @ 80D8A88 - push {r4-r7,lr} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r0, =gTasks - lsls r3, r6, 2 - adds r1, r3, r6 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x13 - ble _080D8B18 - ldr r2, =gContestResources - ldr r0, [r2] - ldr r1, [r0] - movs r0, 0 - strb r0, [r1, 0x10] - ldr r0, [r2] - ldr r1, [r0] - ldr r0, =gRngValue - ldr r0, [r0] - str r0, [r1, 0x18] - ldr r0, =gIsLinkContest - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - adds r7, r3, 0 - cmp r0, 0 - beq _080D8B08 - bl sub_80DA8A4 - lsls r0, 24 - cmp r0, 0 - beq _080D8B08 - movs r4, 0 - ldr r1, =gUnknown_02039F30 - ldrb r0, [r1] - cmp r0, 0x3 - bgt _080D8B08 - adds r5, r1, 0 -_080D8ADE: - ldrb r0, [r5] - adds r0, r4 - lsls r0, 24 - lsrs r0, 24 - bl sub_80DB8B8 - ldr r1, =gContestResources - ldr r1, [r1] - ldrb r2, [r5] - adds r2, r4 - ldr r3, [r1, 0x4] - lsls r1, r2, 3 - subs r1, r2 - lsls r1, 2 - adds r1, r3 - strh r0, [r1, 0x6] - adds r4, 0x1 - ldrb r0, [r5] - adds r0, r4, r0 - cmp r0, 0x3 - ble _080D8ADE -_080D8B08: - ldr r1, =gTasks - adds r0, r7, r6 - lsls r0, 3 - adds r0, r1 - movs r1, 0 - strh r1, [r0, 0x8] - ldr r1, =sub_80D8B38 - str r1, [r0] -_080D8B18: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D8A88 - thumb_func_start sub_80D8B38 sub_80D8B38: @ 80D8B38 push {r4-r7,lr} diff --git a/src/contest.c b/src/contest.c index 4ff6cd4d3c..6d4fbae4f9 100644 --- a/src/contest.c +++ b/src/contest.c @@ -53,16 +53,25 @@ void sub_80D8108(u8 taskId); void vblank_cb_battle(void); void sub_80D823C(void); void sub_80D833C(u8 taskId); -void sub_80D8424(u8); -void sub_80D8610(u8); -void sub_80D8490(u8); +void sub_80D8424(u8 taskId); +void sub_80D8610(u8 taskId); +void sub_80D8490(u8 taskId); void sub_80D880C(s8); void sub_80D883C(s8); -void sub_80D8894(u8); +void sub_80D8894(u8 taskId); +void sub_80D892C(u8 taskId); +void sub_80D895C(u8 taskId); +void sub_80D8A04(u8 taskId); +void sub_80D8A50(u8 taskId); +void sub_80D8A88(u8 taskId); +void sub_80D8B38(u8 taskId); +bool8 sub_80DA8A4(void); u8 sub_80DB0C4(void); u8 sub_80DB120(void); void sub_80DB2BC(void); void sub_80DB89C(void); +u16 sub_80DB8B8(u8); +void sub_80DB918(void); bool8 sub_80DBCA8(u8); void sub_80DBF68(void); void sub_80DBF90(void); @@ -77,16 +86,20 @@ void sub_80DCE58(u8); void sub_80DD04C(void); void sub_80DD590(void); void sub_80DDB0C(void); +void sub_80DDBE8(void); bool8 sub_80DE1E8(u8); void sub_80DE224(void); void sub_80DE350(void); +void sub_80DE69C(u8); void sub_80DEA20(void); void sub_80DEBD0(u32, u8 *, u8, u8, u8); void sub_80DEC30(u8 *, u8); +void sub_80DECB8(u8, u16, u8, u8, u8, u8, u8, u8); bool32 sub_80DED4C(void); +void sub_80DED60(u32); +void sub_80FC9F8(u8); bool8 AreMovesContestCombo(u16, u16); void prints_contest_move_description(u16); -void sub_80DECB8(u8, u16, u8, u8, u8, u8, u8, u8); EWRAM_DATA struct ContestPokemon gContestMons[4] = {0}; @@ -758,3 +771,94 @@ void sub_80D883C(s8 a0) sub_80DECB8(2, 11, 0, 31 + a0 * 2, 2, 1, 17, 1); sub_80DECB8(2, 11, 0, 32 + a0 * 2, 2, 1, 17, 1); } + +void sub_80D8894(u8 taskId) +{ + if (gIsLinkContest & 1) + { + u16 var = sub_80DB8B8(gContestPlayerMonIndex); + u8 taskId2; + + gContestResources->field_4[gContestPlayerMonIndex].currMove = var; + taskId2 = CreateTask(sub_80FC9F8, 0); + SetTaskFuncWithFollowupFunc(taskId2, sub_80FC9F8, sub_80D892C); + gTasks[taskId].func = TaskDummy1; + sub_80DBF68(); + sub_80DC490(FALSE); + } + else + { + sub_80DB918(); + gTasks[taskId].func = sub_80D895C; + } +} + +void sub_80D892C(u8 taskId) +{ + DestroyTask(taskId); + gTasks[gContestResources->field_0->mainTaskId].func = sub_80D895C; +} + +void sub_80D895C(u8 taskId) +{ + s32 i; + + sub_80DB89C(); + gBattle_BG0_Y = 0; + gBattle_BG2_Y = 0; + sub_80DC490(FALSE); + + for (i = 0; i < 4; i++) + { + FillWindowPixelBuffer(5 + i, 0); + PutWindowTilemap(5 + i); + CopyWindowToVram(5 + i, 2); + } + sub_80DED60(0); + + DmaCopy32Defvars(3, gPlttBufferFaded, shared18000.unk18604, 0x400); + LoadPalette(shared18000.unk18204, 0, 0x400); + gTasks[taskId].data[0] = 0; + gTasks[taskId].data[1] = 0; + gTasks[taskId].func = sub_80D8A04; +} + +void sub_80D8A04(u8 taskId) +{ + if (++gTasks[taskId].data[0] > 2) + { + gTasks[taskId].data[0] = 0; + if (++gTasks[taskId].data[1] == 2) + { + sub_80DDBE8(); + sub_80DE69C(1); + gTasks[taskId].func = sub_80D8A50; + } + } +} + +void sub_80D8A50(u8 taskId) +{ + if (!gContestResources->field_0->unk1920A_6 && !gContestResources->field_0->unk1920B_1) + gTasks[taskId].func = sub_80D8A88; +} + +void sub_80D8A88(u8 taskId) +{ + if (++gTasks[taskId].data[0] > 19) + { + gContestResources->field_0->unk19214 = 0; + gContestResources->field_0->unk1921C = gRngValue; + if ((gIsLinkContest & 1) && sub_80DA8A4()) + { + s32 i; + + for (i = 0; i + gUnknown_02039F30 < 4; i++) + { + gContestResources->field_4[gUnknown_02039F30 + i].currMove = sub_80DB8B8(gUnknown_02039F30 + i); + } + } + gTasks[taskId].data[0] = 0; + gTasks[taskId].func = sub_80D8B38; + } +} From e6cca1523286e9f730db0ed36b9945047bde7bc6 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Fri, 4 May 2018 18:59:59 -0400 Subject: [PATCH 028/234] sub_80D8B38 --- asm/contest.s | 2472 -------------------------------- include/constants/moves.h | 1 + include/contest_link_80FC4F4.h | 7 + src/contest.c | 757 +++++++++- 4 files changed, 764 insertions(+), 2473 deletions(-) create mode 100644 include/contest_link_80FC4F4.h diff --git a/asm/contest.s b/asm/contest.s index f233849a75..8292760b80 100644 --- a/asm/contest.s +++ b/asm/contest.s @@ -5,2478 +5,6 @@ .text - thumb_func_start sub_80D8B38 -sub_80D8B38: @ 80D8B38 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r2, =gContestResources - ldr r0, [r2] - ldr r0, [r0] - ldrb r6, [r0, 0x11] - ldr r1, =gTasks - mov r3, r8 - lsls r0, r3, 2 - add r0, r8 - lsls r0, 3 - adds r0, r1 - movs r4, 0x8 - ldrsh r0, [r0, r4] - mov r9, r2 - adds r4, r1, 0 - cmp r0, 0x3B - bls _080D8B6E - bl _080DA100 -_080D8B6E: - lsls r0, 2 - ldr r1, =_080D8B84 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080D8B84: - .4byte _080D8C74 - .4byte _080D8D30 - .4byte _080D8D56 - .4byte _080D8DC4 - .4byte _080D8E7C - .4byte _080D8EC8 - .4byte _080D8F84 - .4byte _080D8FB8 - .4byte _080D9010 - .4byte _080D908C - .4byte _080D9FC0 - .4byte _080D9FEC - .4byte _080D9238 - .4byte _080D926C - .4byte _080D9774 - .4byte _080D9864 - .4byte _080D98D4 - .4byte _080D9904 - .4byte _080D99EC - .4byte _080D999E - .4byte _080DA024 - .4byte _080DA0A0 - .4byte _080DA0C2 - .4byte _080D90B4 - .4byte _080D9180 - .4byte _080D9388 - .4byte _080D939E - .4byte _080D947C - .4byte _080D94A0 - .4byte _080D9508 - .4byte _080D95EC - .4byte _080DA038 - .4byte _080DA080 - .4byte _080D9EBC - .4byte _080D9F48 - .4byte _080D929A - .4byte _080D92D0 - .4byte _080D92F6 - .4byte _080D9334 - .4byte _080D955C - .4byte _080D95C4 - .4byte _080D9A2C - .4byte _080DA100 - .4byte _080D9DAC - .4byte _080DA100 - .4byte _080D9830 - .4byte _080D997C - .4byte _080D921A - .4byte _080D91A4 - .4byte _080D91F4 - .4byte _080D935C - .4byte _080D9690 - .4byte _080D971C - .4byte _080D9BAA - .4byte _080D9C68 - .4byte _080D9F68 - .4byte _080D9F84 - .4byte _080D9DD4 - .4byte _080D9E60 - .4byte _080D9EA0 -_080D8C74: - bl sub_80DCD48 - movs r7, 0 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r1, [r0] - ldr r0, [r0, 0x8] - ldrb r1, [r1, 0x10] - mov r5, r8 - lsls r5, 2 - mov r10, r5 - ldrb r2, [r0] - cmp r1, r2 - beq _080D8C9C - adds r2, r0, 0 -_080D8C92: - adds r7, 0x1 - adds r0, r2, r7 - ldrb r0, [r0] - cmp r1, r0 - bne _080D8C92 -_080D8C9C: - ldr r4, =gContestResources - ldr r0, [r4] - ldr r0, [r0] - strb r7, [r0, 0x11] - ldr r0, [r4] - ldr r2, [r0] - ldrb r6, [r2, 0x11] - ldr r0, =gIsLinkContest - ldrb r1, [r0] - movs r5, 0x1 - adds r0, r5, 0 - ands r0, r1 - cmp r0, 0 - beq _080D8D14 - ldrb r0, [r2, 0x7] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2, 0x7] - bl sub_80DA8A4 - lsls r0, 24 - cmp r0, 0 - beq _080D8CD4 - ldr r0, [r4] - ldr r0, [r0] - ldrb r0, [r0, 0x11] - bl sub_80DD080 -_080D8CD4: - ldr r4, =sub_80FCC88 - adds r0, r4, 0 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =sub_80DA110 - adds r1, r4, 0 - bl SetTaskFuncWithFollowupFunc - bl sub_80DBF68 - ldr r1, =gTasks - mov r0, r10 - add r0, r8 - lsls r0, 3 - adds r0, r1 - strh r5, [r0, 0x8] - bl _080DA100 - .pool -_080D8D14: - adds r0, r6, 0 - bl sub_80DD080 - ldr r0, =gTasks - mov r1, r10 - add r1, r8 - lsls r1, 3 - adds r1, r0 - movs r0, 0x2 - strh r0, [r1, 0x8] - bl _080DA100 - .pool -_080D8D30: - mov r3, r9 - ldr r0, [r3] - ldr r0, [r0] - ldrb r1, [r0, 0x7] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _080D8D44 - bl _080DA100 -_080D8D44: - mov r5, r8 - lsls r0, r5, 2 - add r0, r8 - lsls r0, 3 - adds r0, r4 - movs r1, 0x2 - strh r1, [r0, 0x8] - bl _080DA100 -_080D8D56: - adds r0, r6, 0 - bl sub_80DF080 - bl sub_80DF750 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r1, [r0, 0x4] - lsls r0, r6, 3 - subs r0, r6 - lsls r0, 2 - adds r2, r0, r1 - ldrb r1, [r2, 0xC] - movs r0, 0x6 - ands r0, r1 - cmp r0, 0 - bne _080D8D86 - ldrb r1, [r2, 0xB] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0 - beq _080D8DA4 -_080D8D86: - ldr r0, =gTasks - mov r2, r8 - lsls r1, r2, 2 - add r1, r8 - lsls r1, 3 - adds r1, r0 - movs r0, 0x1F - strh r0, [r1, 0x8] - bl _080DA100 - .pool -_080D8DA4: - bl sub_80DB89C - ldr r0, =gTasks - mov r3, r8 - lsls r1, r3, 2 - add r1, r8 - lsls r1, 3 - adds r1, r0 - strh r6, [r1, 0x1C] - movs r0, 0x3 - strh r0, [r1, 0x8] - bl _080DA100 - .pool -_080D8DC4: - mov r4, r8 - lsls r4, 2 - mov r10, r4 - ldr r1, =gBattleMonForms - movs r2, 0 - adds r0, r1, 0x3 -_080D8DD0: - strb r2, [r0] - subs r0, 0x1 - cmp r0, r1 - bge _080D8DD0 - movs r7, 0x4 - mov r5, r9 - ldr r0, [r5] - ldr r0, [r0, 0x18] - movs r1, 0 - movs r2, 0x14 - bl memset - ldr r0, [r5] - ldr r0, [r0] - ldrb r0, [r0, 0x11] - bl sub_80DE9DC - ldr r4, =gContestMons - ldr r0, [r5] - ldr r0, [r0] - ldrb r3, [r0, 0x11] - lsls r2, r3, 6 - adds r0, r2, r4 - ldrh r0, [r0] - adds r1, r4, 0 - adds r1, 0x3C - adds r1, r2, r1 - ldr r1, [r1] - adds r4, 0x38 - adds r2, r4 - ldr r2, [r2] - bl sub_80DB174 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r2, =gSprites - lsls r0, r5, 4 - adds r0, r5 - lsls r0, 2 - adds r3, r0, r2 - movs r1, 0x78 - strh r1, [r3, 0x24] - adds r2, 0x1C - adds r0, r2 - ldr r1, =sub_80DA134 - str r1, [r0] - ldr r0, =gTasks - mov r4, r10 - add r4, r8 - lsls r4, 3 - adds r4, r0 - strh r5, [r4, 0xC] - ldr r1, =gBattlerSpriteIds - ldr r0, =gBattlerAttacker - ldrb r0, [r0] - adds r0, r1 - strb r5, [r0] - mov r1, r9 - ldr r0, [r1] - ldr r0, [r0] - ldrb r0, [r0, 0x11] - bl sub_80DC9EC - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - bl sub_80DCBE8 - strh r7, [r4, 0x8] - bl _080DA100 - .pool -_080D8E7C: - mov r2, r8 - lsls r0, r2, 2 - add r0, r8 - lsls r0, 3 - adds r2, r0, r4 - ldrb r5, [r2, 0xC] - ldr r1, =gSprites - lsls r0, r5, 4 - adds r0, r5 - lsls r0, 2 - adds r1, 0x1C - adds r0, r1 - ldr r1, [r0] - ldr r0, =SpriteCallbackDummy - cmp r1, r0 - beq _080D8EA0 - bl _080DA100 -_080D8EA0: - mov r3, r9 - ldr r0, [r3] - ldr r1, [r0, 0x14] - lsls r0, r6, 2 - adds r0, r1 - ldrb r1, [r0, 0x2] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080D8EB8 - bl _080DA100 -_080D8EB8: - movs r0, 0x5 - strh r0, [r2, 0x8] - bl _080DA100 - .pool -_080D8EC8: - mov r5, r9 - ldr r0, [r5] - ldr r1, [r0, 0x4] - lsls r0, r6, 3 - subs r0, r6 - lsls r5, r0, 2 - adds r1, r5, r1 - ldrb r1, [r1, 0xC] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080D8EF2 - mov r1, r8 - lsls r0, r1, 2 - add r0, r8 - lsls r0, 3 - adds r0, r4 - movs r1, 0x21 - strh r1, [r0, 0x8] - bl _080DA100 -_080D8EF2: - bl sub_80DB89C - ldr r0, =gStringVar1 - lsls r1, r6, 6 - ldr r2, =gContestMons + 2 - adds r1, r2 - bl StringCopy - mov r2, r9 - ldr r0, [r2] - ldr r0, [r0, 0x4] - adds r3, r5, r0 - ldrh r1, [r3, 0x6] - movs r0, 0xB1 - lsls r0, 1 - cmp r1, r0 - bhi _080D8F38 - ldr r0, =gStringVar2 - adds r2, r1, 0 - movs r1, 0xD - muls r1, r2 - ldr r2, =gMoveNames - adds r1, r2 - bl StringCopy - b _080D8F48 - .pool -_080D8F38: - ldr r0, =gStringVar2 - ldr r2, =gUnknown_08587F1C - ldrb r1, [r3, 0xA] - lsls r1, 2 - adds r1, r2 - ldr r1, [r1] - bl StringCopy -_080D8F48: - ldr r4, =gStringVar4 - ldr r1, =gText_0827D55A - adds r0, r4, 0 - bl StringExpandPlaceholders - adds r0, r4, 0 - movs r1, 0x1 - bl sub_80DEC30 - ldr r1, =gTasks - mov r3, r8 - lsls r0, r3, 2 - add r0, r8 - lsls r0, 3 - adds r0, r1 - movs r1, 0x6 - strh r1, [r0, 0x8] - bl _080DA100 - .pool -_080D8F84: - bl sub_80DED4C - adds r1, r0, 0 - cmp r1, 0 - beq _080D8F92 - bl _080DA100 -_080D8F92: - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0] - adds r0, 0x5A - strb r1, [r0] - ldr r1, =gTasks - mov r4, r8 - lsls r0, r4, 2 - add r0, r8 - lsls r0, 3 - adds r0, r1 - movs r1, 0x7 - strh r1, [r0, 0x8] - bl _080DA100 - .pool -_080D8FB8: - mov r5, r9 - ldr r1, [r5] - ldr r0, [r1] - ldrb r2, [r0, 0x11] - ldr r1, [r1, 0x4] - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r1 - ldrh r0, [r0, 0x6] - bl sub_80DE834 - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - ldr r0, [r5] - ldr r0, [r0] - ldrb r0, [r0, 0x11] - bl sub_80DE864 - ldr r0, [r5] - ldr r0, [r0] - ldrb r0, [r0, 0x11] - bl sub_80DE9DC - adds r0, r4, 0 - bl sub_80DEAA8 - adds r0, r4, 0 - bl DoMoveAnim - ldr r1, =gTasks - mov r2, r8 - lsls r0, r2, 2 - add r0, r8 - lsls r0, 3 - adds r0, r1 - movs r1, 0x8 - strh r1, [r0, 0x8] - bl _080DA100 - .pool -_080D9010: - ldr r0, =gAnimScriptCallback - ldr r0, [r0] - bl _call_via_r0 - ldr r0, =gAnimScriptActive - ldrb r4, [r0] - cmp r4, 0 - beq _080D9024 - bl _080DA100 -_080D9024: - adds r0, r6, 0 - bl sub_80DE9B0 - ldr r0, =gContestResources - ldr r1, [r0] - ldr r0, [r1] - adds r0, 0x5A - ldrb r0, [r0] - cmp r0, 0 - beq _080D9060 - ldr r0, =gTasks - mov r3, r8 - lsls r1, r3, 2 - add r1, r8 - lsls r1, 3 - adds r1, r0 - strh r4, [r1, 0x1C] - movs r0, 0x9 - strh r0, [r1, 0x8] - bl _080DA100 - .pool -_080D9060: - ldr r1, [r1, 0x4] - lsls r0, r6, 3 - subs r0, r6 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x15] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - bne _080D907A - adds r0, r6, 0 - bl sub_80DC674 -_080D907A: - bl sub_80DE12C - ldr r0, =gTasks - mov r4, r8 - lsls r1, r4, 2 - b _080D9192 - .pool -_080D908C: - mov r5, r8 - lsls r0, r5, 2 - add r0, r8 - lsls r0, 3 - adds r2, r0, r4 - ldrh r0, [r2, 0x1C] - adds r1, r0, 0x1 - strh r1, [r2, 0x1C] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1E - bgt _080D90A8 - bl _080DA100 -_080D90A8: - movs r0, 0 - strh r0, [r2, 0x1C] - movs r0, 0x7 - strh r0, [r2, 0x8] - bl _080DA100 -_080D90B4: - mov r0, r8 - lsls r2, r0, 2 - adds r0, r2, r0 - lsls r0, 3 - adds r7, r0, r4 - movs r0, 0 - strh r0, [r7, 0xA] - mov r1, r9 - ldr r0, [r1] - ldr r0, [r0, 0x4] - mov r12, r0 - lsls r1, r6, 3 - subs r0, r1, r6 - lsls r5, r0, 2 - mov r0, r12 - adds r3, r5, r0 - ldrb r0, [r3, 0x13] - mov r10, r2 - str r1, [sp, 0x4] - cmp r0, 0xFF - beq _080D90FA - ldrb r1, [r3, 0x13] - adds r0, r6, 0 - bl sub_80DD45C - mov r1, r9 - ldr r0, [r1] - ldr r0, [r0, 0x4] - adds r0, r5, r0 - movs r1, 0xFF - strb r1, [r0, 0x13] - movs r0, 0x18 - strh r0, [r7, 0x8] - bl _080DA100 -_080D90FA: - ldrb r0, [r3, 0x14] - cmp r0, 0xFF - beq _080D9178 - movs r7, 0 - cmp r7, r6 - beq _080D910E - mov r2, r12 - ldrb r0, [r2, 0x13] - cmp r0, 0xFF - bne _080D912C -_080D910E: - adds r7, 0x1 - cmp r7, 0x3 - bgt _080D912C - cmp r7, r6 - beq _080D910E - mov r3, r9 - ldr r0, [r3] - ldr r1, [r0, 0x4] - lsls r0, r7, 3 - subs r0, r7 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0, 0x13] - cmp r0, 0xFF - beq _080D910E -_080D912C: - cmp r7, 0x4 - bne _080D9168 - mov r4, r9 - ldr r0, [r4] - ldr r0, [r0, 0x4] - ldr r5, [sp, 0x4] - subs r4, r5, r6 - lsls r4, 2 - adds r0, r4, r0 - ldrb r1, [r0, 0x14] - adds r0, r6, 0 - bl sub_80DD45C - mov r1, r9 - ldr r0, [r1] - ldr r0, [r0, 0x4] - adds r4, r0 - movs r0, 0xFF - strb r0, [r4, 0x14] - ldr r1, =gTasks - mov r0, r10 - add r0, r8 - lsls r0, 3 - adds r0, r1 - movs r1, 0x18 - strh r1, [r0, 0x8] - bl _080DA100 - .pool -_080D9168: - mov r0, r10 - add r0, r8 - lsls r0, 3 - adds r0, r4 - movs r1, 0x30 - strh r1, [r0, 0x8] - bl _080DA100 -_080D9178: - movs r0, 0x30 - strh r0, [r7, 0x8] - bl _080DA100 -_080D9180: - bl sub_80DED4C - cmp r0, 0 - beq _080D918C - bl _080DA100 -_080D918C: - ldr r0, =gTasks - mov r2, r8 - lsls r1, r2, 2 -_080D9192: - add r1, r8 - lsls r1, 3 - adds r1, r0 - movs r0, 0x17 - strh r0, [r1, 0x8] - bl _080DA100 - .pool -_080D91A4: - mov r3, r9 - ldr r0, [r3] - ldr r1, [r0, 0x4] - lsls r0, r6, 3 - subs r0, r6 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0, 0x11] - movs r3, 0x3 - ands r3, r0 - cmp r3, 0x1 - bne _080D91C4 - movs r0, 0x5 - bl sub_80DD720 - b _080D91DA -_080D91C4: - cmp r3, 0x2 - bne _080D91D0 - movs r0, 0x6 - bl sub_80DD720 - b _080D91DA -_080D91D0: - cmp r3, 0x3 - bne _080D9208 - movs r0, 0x7 - bl sub_80DD720 -_080D91DA: - ldr r0, =gTasks - mov r2, r8 - lsls r1, r2, 2 - add r1, r8 - lsls r1, 3 - adds r1, r0 - movs r0, 0x31 - strh r0, [r1, 0x8] - bl _080DA100 - .pool -_080D91F4: - mov r3, r9 - ldr r0, [r3] - ldr r0, [r0] - ldrb r1, [r0, 0x6] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080D9208 - bl _080DA100 -_080D9208: - mov r5, r8 - lsls r0, r5, 2 - add r0, r8 - lsls r0, 3 - adds r0, r4 - movs r1, 0x2F - strh r1, [r0, 0x8] - bl _080DA100 -_080D921A: - movs r0, 0x1 - bl sub_80DE008 - ldr r0, =gTasks - mov r2, r8 - lsls r1, r2, 2 - add r1, r8 - lsls r1, 3 - adds r1, r0 - movs r0, 0xC - strh r0, [r1, 0x8] - bl _080DA100 - .pool -_080D9238: - mov r3, r9 - ldr r0, [r3] - ldr r1, [r0, 0x4] - lsls r0, r6, 3 - subs r0, r6 - lsls r0, 2 - adds r0, r1 - movs r4, 0x2 - ldrsh r1, [r0, r4] - movs r0, 0 - adds r2, r6, 0 - bl sub_80DC028 - ldr r1, =gTasks - mov r5, r8 - lsls r0, r5, 2 - add r0, r8 - lsls r0, 3 - adds r0, r1 - movs r1, 0xD - strh r1, [r0, 0x8] - bl _080DA100 - .pool -_080D926C: - mov r0, r9 - ldr r1, [r0] - ldr r0, [r1] - ldrb r0, [r0, 0x11] - ldr r1, [r1, 0x14] - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x2] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _080D9288 - bl _080DA100 -_080D9288: - mov r1, r8 - lsls r0, r1, 2 - add r0, r8 - lsls r0, 3 - adds r0, r4 - movs r1, 0x23 - strh r1, [r0, 0x8] - bl _080DA100 -_080D929A: - mov r2, r9 - ldr r0, [r2] - ldr r1, [r0, 0x4] - lsls r0, r6, 3 - subs r0, r6 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x10] - movs r0, 0x30 - ands r0, r1 - cmp r0, 0x10 - bne _080D92B8 - movs r0, 0x8 - bl sub_80DD720 -_080D92B8: - ldr r0, =gTasks - mov r3, r8 - lsls r1, r3, 2 - add r1, r8 - lsls r1, 3 - adds r1, r0 - movs r0, 0x24 - strh r0, [r1, 0x8] - bl _080DA100 - .pool -_080D92D0: - mov r5, r9 - ldr r0, [r5] - ldr r0, [r0] - ldrb r1, [r0, 0x6] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080D92E4 - bl _080DA100 -_080D92E4: - mov r1, r8 - lsls r0, r1, 2 - add r0, r8 - lsls r0, 3 - adds r0, r4 - movs r1, 0x25 - strh r1, [r0, 0x8] - bl _080DA100 -_080D92F6: - adds r0, r6, 0 - movs r1, 0x1 - bl sub_80DB5B8 - lsls r0, 24 - cmp r0, 0 - beq _080D9320 - ldr r1, =gTasks - mov r2, r8 - lsls r0, r2, 2 - add r0, r8 - lsls r0, 3 - adds r0, r1 - movs r1, 0 - strh r1, [r0, 0x1C] - movs r1, 0x26 - strh r1, [r0, 0x8] - bl _080DA100 - .pool -_080D9320: - ldr r0, =gTasks - mov r3, r8 - lsls r1, r3, 2 - add r1, r8 - lsls r1, 3 - adds r1, r0 - b _080D9354 - .pool -_080D9334: - mov r5, r8 - lsls r0, r5, 2 - add r0, r8 - lsls r0, 3 - adds r1, r0, r4 - ldrh r0, [r1, 0x1C] - adds r0, 0x1 - strh r0, [r1, 0x1C] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x14 - bgt _080D9350 - bl _080DA100 -_080D9350: - movs r0, 0 - strh r0, [r1, 0x1C] -_080D9354: - movs r0, 0x32 - strh r0, [r1, 0x8] - bl _080DA100 -_080D935C: - adds r0, r6, 0 - bl sub_80DB798 - lsls r0, 24 - cmp r0, 0 - beq _080D936E - movs r0, 0x63 - bl PlaySE -_080D936E: - ldr r0, =gTasks - mov r2, r8 - lsls r1, r2, 2 - add r1, r8 - lsls r1, 3 - adds r1, r0 - movs r0, 0x19 - strh r0, [r1, 0x8] - bl _080DA100 - .pool -_080D9388: - mov r3, r8 - lsls r0, r3, 2 - add r0, r8 - lsls r0, 3 - adds r0, r4 - movs r1, 0 - strh r1, [r0, 0xA] - movs r1, 0x1A - strh r1, [r0, 0x8] - bl _080DA100 -_080D939E: - movs r3, 0 - movs r5, 0 - str r5, [sp] - mov r0, r8 - lsls r1, r0, 2 - adds r0, r1, r0 - lsls r0, 3 - adds r0, r4 - movs r2, 0xA - ldrsh r7, [r0, r2] - mov r10, r1 - cmp r7, 0x3 - bgt _080D9418 - ldr r5, =gUnknown_02039F26 - ldr r2, =gContestResources -_080D93BC: - movs r3, 0 - str r3, [sp] - adds r0, r3, 0 - cmp r0, r6 - beq _080D93E4 - ldrb r0, [r5] - cmp r0, r7 - bne _080D93E4 - ldr r0, [r2] - ldr r0, [r0, 0x4] - ldrb r0, [r0, 0x13] - cmp r0, 0xFF - beq _080D93E4 - movs r1, 0x1 - str r1, [sp] - b _080D940C - .pool -_080D93E4: - adds r3, 0x1 - cmp r3, 0x3 - bgt _080D940C - cmp r3, r6 - beq _080D93E4 - adds r0, r3, r5 - ldrb r0, [r0] - cmp r0, r7 - bne _080D93E4 - ldr r0, [r2] - ldr r1, [r0, 0x4] - lsls r0, r3, 3 - subs r0, r3 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0, 0x13] - cmp r0, 0xFF - beq _080D93E4 - movs r0, 0x1 - str r0, [sp] -_080D940C: - ldr r1, [sp] - cmp r1, 0 - bne _080D9422 - adds r7, 0x1 - cmp r7, 0x3 - ble _080D93BC -_080D9418: - ldr r2, [sp] - lsls r0, r2, 24 - asrs r2, r0, 24 - cmp r2, 0 - beq _080D9464 -_080D9422: - mov r5, r10 - add r5, r8 - lsls r5, 3 - adds r5, r4 - ldr r0, =gUnknown_02039F26 - adds r0, r3, r0 - ldrb r0, [r0] - strh r0, [r5, 0xA] - lsls r0, r3, 24 - lsrs r0, 24 - mov r4, r9 - ldr r1, [r4] - ldr r1, [r1, 0x4] - lsls r4, r3, 3 - subs r4, r3 - lsls r4, 2 - adds r1, r4, r1 - ldrb r1, [r1, 0x13] - bl sub_80DD45C - mov r1, r9 - ldr r0, [r1] - ldr r0, [r0, 0x4] - adds r4, r0 - movs r0, 0xFF - strb r0, [r4, 0x13] - movs r0, 0x1B - strh r0, [r5, 0x8] - bl _080DA100 - .pool -_080D9464: - mov r0, r10 - add r0, r8 - lsls r0, 3 - adds r0, r4 - strh r2, [r0, 0xA] - strh r2, [r0, 0x1C] - movs r1, 0x33 - strh r1, [r0, 0x8] - bl sub_80DB884 - bl _080DA100 -_080D947C: - bl sub_80DED4C - cmp r0, 0 - beq _080D9488 - bl _080DA100 -_080D9488: - ldr r0, =gTasks - mov r2, r8 - lsls r1, r2, 2 - add r1, r8 - lsls r1, 3 - adds r1, r0 - movs r0, 0x1C - strh r0, [r1, 0x8] - bl _080DA100 - .pool -_080D94A0: - movs r7, 0 - mov r3, r8 - lsls r0, r3, 2 - adds r1, r0, r3 - lsls r1, 3 - adds r1, r4 - movs r4, 0xA - ldrsh r2, [r1, r4] - ldr r1, =gUnknown_02039F26 - mov r10, r0 - adds r5, r1, 0 - ldrb r0, [r5] - cmp r2, r0 - beq _080D94CA - adds r1, r2, 0 - adds r2, r5, 0 -_080D94C0: - adds r7, 0x1 - adds r0, r7, r2 - ldrb r0, [r0] - cmp r1, r0 - bne _080D94C0 -_080D94CA: - mov r1, r9 - ldr r0, [r1] - ldr r1, [r0, 0x4] - lsls r0, r7, 3 - subs r0, r7 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0xE] - ldrh r0, [r0, 0x2] - adds r0, r1 - lsls r0, 16 - asrs r0, 16 - negs r1, r1 - lsls r2, r7, 24 - lsrs r2, 24 - bl sub_80DC028 - ldr r1, =gTasks - mov r0, r10 - add r0, r8 - lsls r0, 3 - adds r0, r1 - movs r1, 0x1D - strh r1, [r0, 0x8] - bl _080DA100 - .pool -_080D9508: - movs r7, 0 - mov r2, r8 - lsls r0, r2, 2 - adds r1, r0, r2 - lsls r1, 3 - adds r1, r4 - movs r5, 0xA - ldrsh r3, [r1, r5] - ldr r1, =gUnknown_02039F26 - mov r10, r0 - adds r5, r1, 0 - ldrb r0, [r5] - cmp r3, r0 - beq _080D952E -_080D9524: - adds r7, 0x1 - adds r0, r7, r1 - ldrb r0, [r0] - cmp r3, r0 - bne _080D9524 -_080D952E: - mov r1, r9 - ldr r0, [r1] - ldr r1, [r0, 0x14] - lsls r0, r7, 2 - adds r0, r1 - ldrb r1, [r0, 0x2] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _080D9546 - bl _080DA100 -_080D9546: - mov r0, r10 - add r0, r8 - lsls r0, 3 - adds r0, r4 - movs r1, 0x27 - strh r1, [r0, 0x8] - bl _080DA100 - .pool -_080D955C: - movs r7, 0 - mov r2, r8 - lsls r0, r2, 2 - adds r1, r0, r2 - lsls r1, 3 - adds r1, r4 - movs r3, 0xA - ldrsh r2, [r1, r3] - ldr r1, =gUnknown_02039F26 - mov r10, r0 - adds r5, r1, 0 - ldrb r4, [r5] - cmp r2, r4 - beq _080D9586 - adds r1, r2, 0 - adds r2, r5, 0 -_080D957C: - adds r7, 0x1 - adds r0, r7, r2 - ldrb r0, [r0] - cmp r1, r0 - bne _080D957C -_080D9586: - lsls r0, r7, 24 - lsrs r0, 24 - movs r1, 0x1 - bl sub_80DB5B8 - lsls r0, 24 - cmp r0, 0 - beq _080D95B4 - ldr r1, =gTasks - mov r0, r10 - add r0, r8 - lsls r0, 3 - adds r0, r1 - movs r1, 0 - strh r1, [r0, 0x1C] - movs r1, 0x28 - strh r1, [r0, 0x8] - bl _080DA100 - .pool -_080D95B4: - ldr r0, =gTasks - mov r1, r10 - add r1, r8 - lsls r1, 3 - adds r1, r0 - b _080D95E4 - .pool -_080D95C4: - mov r5, r8 - lsls r0, r5, 2 - add r0, r8 - lsls r0, 3 - adds r1, r0, r4 - ldrh r0, [r1, 0x1C] - adds r0, 0x1 - strh r0, [r1, 0x1C] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x14 - bgt _080D95E0 - bl _080DA100 -_080D95E0: - movs r0, 0 - strh r0, [r1, 0x1C] -_080D95E4: - movs r0, 0x1E - strh r0, [r1, 0x8] - bl _080DA100 -_080D95EC: - movs r7, 0 - ldr r2, =gUnknown_02039F26 - ldrb r3, [r2] - mov r0, r8 - lsls r1, r0, 2 - adds r0, r1, r0 - lsls r0, 3 - adds r4, r0, r4 - movs r5, 0xA - ldrsh r0, [r4, r5] - mov r10, r1 - adds r5, r2, 0 - cmp r3, r0 - beq _080D961E - adds r3, r5, 0 - adds r2, r4, 0 -_080D960C: - adds r7, 0x1 - cmp r7, 0x3 - bgt _080D961E - adds r0, r7, r3 - ldrb r1, [r0] - movs r4, 0xA - ldrsh r0, [r2, r4] - cmp r1, r0 - bne _080D960C -_080D961E: - lsls r4, r7, 24 - lsrs r0, r4, 24 - bl sub_80DB798 - lsls r0, 24 - adds r6, r4, 0 - cmp r0, 0 - beq _080D963C - movs r0, 0x63 - bl PlaySE - b _080D9642 - .pool -_080D963C: - movs r0, 0x64 - bl PlaySE -_080D9642: - ldr r5, =gContestResources - ldr r0, [r5] - ldr r1, [r0, 0x4] - lsls r0, r7, 3 - subs r0, r7 - lsls r4, r0, 2 - adds r1, r4, r1 - ldrb r1, [r1, 0x15] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _080D9670 - lsrs r0, r6, 24 - bl sub_80DC674 - ldr r0, [r5] - ldr r1, [r0, 0x4] - adds r1, r4, r1 - ldrb r2, [r1, 0x15] - movs r0, 0x21 - negs r0, r0 - ands r0, r2 - strb r0, [r1, 0x15] -_080D9670: - ldr r0, =gTasks - mov r1, r10 - add r1, r8 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0xA] - adds r0, 0x1 - strh r0, [r1, 0xA] - movs r0, 0x1A - strh r0, [r1, 0x8] - bl _080DA100 - .pool -_080D9690: - mov r5, r8 - lsls r2, r5, 2 - adds r0, r2, r5 - lsls r0, 3 - adds r4, r0, r4 - ldrh r0, [r4, 0x1C] - adds r1, r0, 0x1 - strh r1, [r4, 0x1C] - lsls r0, 16 - asrs r0, 16 - mov r10, r2 - cmp r0, 0x9 - bgt _080D96AE - bl _080DA100 -_080D96AE: - movs r0, 0 - strh r0, [r4, 0x1C] - mov r1, r9 - ldr r0, [r1] - ldr r1, [r0, 0x4] - lsls r0, r6, 3 - subs r0, r6 - lsls r0, 2 - adds r2, r0, r1 - ldrb r1, [r2, 0xC] - movs r0, 0x6 - ands r0, r1 - cmp r0, 0 - bne _080D96D4 - ldrb r1, [r2, 0x11] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _080D96F6 -_080D96D4: - bl sub_80DB89C - ldr r0, =gStringVar1 - lsls r1, r6, 6 - ldr r2, =gContestMons + 2 - adds r1, r2 - bl StringCopy - ldr r4, =gStringVar4 - ldr r1, =gText_0827E793 - adds r0, r4, 0 - bl StringExpandPlaceholders - adds r0, r4, 0 - movs r1, 0x1 - bl sub_80DEC30 -_080D96F6: - ldr r0, =gTasks - mov r1, r10 - add r1, r8 - lsls r1, 3 - adds r1, r0 - movs r0, 0x34 - strh r0, [r1, 0x8] - bl _080DA100 - .pool -_080D971C: - bl sub_80DED4C - cmp r0, 0 - beq _080D9728 - bl _080DA100 -_080D9728: - ldr r0, =gContestResources - ldr r0, [r0] - ldr r1, [r0, 0x4] - lsls r0, r6, 3 - subs r0, r6 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x15] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - bne _080D975C - ldr r0, =gTasks - mov r2, r8 - lsls r1, r2, 2 - add r1, r8 - lsls r1, 3 - adds r1, r0 - movs r0, 0x11 - strh r0, [r1, 0x8] - bl _080DA100 - .pool -_080D975C: - ldr r0, =gTasks - mov r3, r8 - lsls r1, r3, 2 - add r1, r8 - lsls r1, 3 - adds r1, r0 - movs r0, 0xE - strh r0, [r1, 0x8] - bl _080DA100 - .pool -_080D9774: - mov r4, r9 - ldr r0, [r4] - ldr r1, [r0, 0x4] - lsls r0, r6, 3 - subs r0, r6 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0, 0x16] - lsls r4, r0, 24 - lsrs r5, r4, 24 - cmp r5, 0 - beq _080D97DC - bl sub_80DB89C - asrs r0, r4, 24 - cmp r0, 0x1 - bne _080D97A0 - ldr r0, =gText_0827E32E - b _080D97A6 - .pool -_080D97A0: - cmp r0, 0x2 - bne _080D97B4 - ldr r0, =gText_0827E35B -_080D97A6: - movs r1, 0x1 - bl sub_80DEC30 - b _080D97BC - .pool -_080D97B4: - ldr r0, =gText_0827E38D - movs r1, 0x1 - bl sub_80DEC30 -_080D97BC: - movs r0, 0x3 - bl sub_80DD720 - ldr r1, =gTasks - mov r5, r8 - lsls r0, r5, 2 - add r0, r8 - lsls r0, 3 - adds r0, r1 - movs r1, 0 - strh r1, [r0, 0x1C] - b _080D9812 - .pool -_080D97DC: - bl sub_80DB89C - ldr r0, =gStringVar1 - lsls r1, r6, 6 - ldr r2, =gContestMons + 2 - adds r1, r2 - bl StringCopy - ldr r4, =gStringVar4 - ldr r1, =gText_0827E2FE - adds r0, r4, 0 - bl StringExpandPlaceholders - adds r0, r4, 0 - movs r1, 0x1 - bl sub_80DEC30 - movs r0, 0x2 - bl sub_80DD720 - ldr r1, =gTasks - mov r2, r8 - lsls r0, r2, 2 - add r0, r8 - lsls r0, 3 - adds r0, r1 - strh r5, [r0, 0x1C] -_080D9812: - movs r1, 0x2D - strh r1, [r0, 0x8] - bl _080DA100 - .pool -_080D9830: - mov r3, r9 - ldr r0, [r3] - ldr r2, [r0] - ldrb r1, [r2, 0x6] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080D9844 - bl _080DA100 -_080D9844: - ldrb r0, [r2, 0x11] - bl sub_80DC9B4 - ldr r1, =gTasks - mov r4, r8 - lsls r0, r4, 2 - add r0, r8 - lsls r0, 3 - adds r0, r1 - movs r1, 0xF - strh r1, [r0, 0x8] - bl _080DA100 - .pool -_080D9864: - bl sub_80DED4C - cmp r0, 0 - beq _080D9870 - bl _080DA100 -_080D9870: - ldr r1, =gTasks - mov r5, r8 - lsls r0, r5, 2 - add r0, r8 - lsls r0, 3 - adds r4, r0, r1 - ldrh r0, [r4, 0x1C] - adds r0, 0x1 - strh r0, [r4, 0x1C] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x32 - bgt _080D988E - bl _080DA100 -_080D988E: - ldr r7, =gContestResources - ldr r0, [r7] - ldr r1, [r0, 0x4] - lsls r0, r6, 3 - subs r0, r6 - lsls r5, r0, 2 - adds r2, r5, r1 - ldrb r1, [r2, 0x15] - movs r0, 0x10 - mov r8, r0 - ands r0, r1 - cmp r0, 0 - bne _080D98C2 - movs r1, 0x2 - ldrsh r0, [r2, r1] - ldrb r1, [r2, 0x17] - adds r2, r6, 0 - bl sub_80DC028 - ldr r0, [r7] - ldr r1, [r0, 0x4] - adds r1, r5, r1 - ldrh r0, [r1, 0x2] - ldrb r2, [r1, 0x17] - adds r0, r2 - strh r0, [r1, 0x2] -_080D98C2: - mov r3, r8 - strh r3, [r4, 0x8] - bl _080DA100 - .pool -_080D98D4: - mov r5, r9 - ldr r0, [r5] - ldr r1, [r0, 0x14] - lsls r0, r6, 2 - adds r0, r1 - ldrb r1, [r0, 0x2] - movs r0, 0x4 - ands r0, r1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - beq _080D98F0 - bl _080DA100 -_080D98F0: - mov r2, r8 - lsls r0, r2, 2 - add r0, r8 - lsls r0, 3 - adds r0, r4 - strh r1, [r0, 0x1C] - movs r1, 0x11 - strh r1, [r0, 0x8] - bl _080DA100 -_080D9904: - mov r3, r9 - ldr r0, [r3] - ldr r1, [r0, 0x4] - lsls r0, r6, 3 - subs r0, r6 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x15] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080D996C - bl sub_80DB89C - ldr r0, =gStringVar1 - lsls r1, r6, 6 - ldr r2, =gContestMons + 2 - adds r1, r2 - bl StringCopy - ldr r4, =gStringVar4 - ldr r1, =gText_0827E6E3 - adds r0, r4, 0 - bl StringExpandPlaceholders - adds r0, r4, 0 - movs r1, 0x1 - bl sub_80DEC30 - ldr r0, =gTasks - mov r5, r8 - lsls r4, r5, 2 - add r4, r8 - lsls r4, 3 - adds r4, r0 - movs r0, 0 - strh r0, [r4, 0x1C] - bl sub_80DD720 - movs r0, 0x2E - strh r0, [r4, 0x8] - b _080DA100 - .pool -_080D996C: - mov r1, r8 - lsls r0, r1, 2 - add r0, r8 - lsls r0, 3 - adds r0, r4 - movs r1, 0x29 - strh r1, [r0, 0x8] - b _080DA100 -_080D997C: - mov r2, r9 - ldr r0, [r2] - ldr r0, [r0] - ldrb r1, [r0, 0x6] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080D998E - b _080DA100 -_080D998E: - mov r3, r8 - lsls r0, r3, 2 - add r0, r8 - lsls r0, 3 - adds r0, r4 - movs r1, 0x13 - strh r1, [r0, 0x8] - b _080DA100 -_080D999E: - bl sub_80DED4C - cmp r0, 0 - beq _080D99A8 - b _080DA100 -_080D99A8: - ldr r5, =gContestResources - ldr r0, [r5] - ldr r1, [r0, 0x4] - lsls r4, r6, 3 - subs r4, r6 - lsls r4, 2 - adds r1, r4, r1 - movs r2, 0x2 - ldrsh r0, [r1, r2] - ldrb r1, [r1, 0x18] - negs r1, r1 - adds r2, r6, 0 - bl sub_80DC028 - ldr r0, [r5] - ldr r0, [r0, 0x4] - adds r4, r0 - ldrb r1, [r4, 0x18] - ldrh r0, [r4, 0x2] - subs r0, r1 - strh r0, [r4, 0x2] - ldr r1, =gTasks - mov r3, r8 - lsls r0, r3, 2 - add r0, r8 - lsls r0, 3 - adds r0, r1 - movs r1, 0x12 - strh r1, [r0, 0x8] - b _080DA100 - .pool -_080D99EC: - bl sub_80DCD48 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r1, [r0, 0x14] - lsls r0, r6, 2 - adds r0, r1 - ldrb r1, [r0, 0x2] - movs r0, 0x4 - ands r0, r1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0 - beq _080D9A0A - b _080DA100 -_080D9A0A: - ldr r0, =gTasks - mov r5, r8 - lsls r4, r5, 2 - add r4, r8 - lsls r4, 3 - adds r4, r0 - strh r3, [r4, 0x1C] - bl sub_80DB89C - movs r0, 0x29 - strh r0, [r4, 0x8] - b _080DA100 - .pool -_080D9A2C: - mov r1, r9 - ldr r0, [r1] - ldr r2, [r0, 0x10] - ldrb r1, [r2, 0x1] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080D9A56 - ldr r0, [r2] - lsls r0, 20 - lsrs r0, 29 - cmp r6, r0 - beq _080D9A56 - mov r2, r8 - lsls r0, r2, 2 - add r0, r8 - lsls r0, 3 - adds r0, r4 - movs r1, 0x39 - strh r1, [r0, 0x8] - b _080DA100 -_080D9A56: - mov r3, r9 - ldr r1, [r3] - ldr r0, [r1, 0x10] - ldrb r0, [r0] - str r0, [sp] - ldr r1, [r1, 0x4] - lsls r2, r6, 3 - subs r0, r2, r6 - lsls r0, 2 - adds r5, r0, r1 - ldrb r1, [r5, 0x11] - movs r0, 0x10 - ands r0, r1 - str r2, [sp, 0x4] - cmp r0, 0 - beq _080D9A94 - movs r4, 0x1 - str r4, [sp] - ldr r0, =gStringVar3 - ldrh r2, [r5, 0x6] - movs r1, 0xD - muls r1, r2 - ldr r2, =gMoveNames - adds r1, r2 - bl StringCopy - b _080D9AAE - .pool -_080D9A94: - ldr r0, =gStringVar3 - ldr r3, =gUnknown_08587F08 - ldr r2, =gContestMoves - ldrh r1, [r5, 0x6] - lsls r1, 3 - adds r1, r2 - ldrb r1, [r1, 0x1] - lsls r1, 29 - lsrs r1, 27 - adds r1, r3 - ldr r1, [r1] - bl StringCopy -_080D9AAE: - ldr r5, [sp] - lsls r0, r5, 24 - cmp r0, 0 - ble _080D9AD2 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r1, [r0, 0x4] - ldr r2, [sp, 0x4] - subs r0, r2, r6 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x15] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080D9AD2 - movs r3, 0 - str r3, [sp] -_080D9AD2: - bl sub_80DB89C - ldr r0, =gStringVar1 - lsls r1, r6, 6 - ldr r2, =gContestMons + 2 - adds r1, r2 - bl StringCopy - ldr r4, =gContestResources - ldr r0, [r4] - ldr r1, [r0] - ldrb r0, [r1, 0x13] - ldr r5, [sp] - lsls r2, r5, 24 - asrs r3, r2, 24 - adds r0, r3, r0 - strb r0, [r1, 0x13] - ldr r0, [r4] - ldr r1, [r0] - movs r0, 0x13 - ldrsb r0, [r1, r0] - adds r5, r2, 0 - cmp r0, 0 - bge _080D9B06 - movs r0, 0 - strb r0, [r1, 0x13] -_080D9B06: - cmp r3, 0 - bne _080D9B30 - ldr r0, =gTasks - mov r2, r8 - lsls r1, r2, 2 - b _080D9F58 - .pool -_080D9B30: - cmp r3, 0 - bge _080D9B48 - ldr r0, =gStringVar4 - ldr r1, =gText_0827E73C - bl StringExpandPlaceholders - b _080D9B74 - .pool -_080D9B48: - cmp r3, 0 - ble _080D9B6C - ldr r0, [r4] - ldr r0, [r0] - ldrb r0, [r0, 0x13] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x4 - bgt _080D9B6C - ldr r0, =gStringVar4 - ldr r1, =gText_0827E717 - bl StringExpandPlaceholders - b _080D9B74 - .pool -_080D9B6C: - ldr r0, =gStringVar4 - ldr r1, =gText_0827E76A - bl StringExpandPlaceholders -_080D9B74: - ldr r0, =gStringVar4 - movs r1, 0x1 - bl sub_80DEC30 - ldr r1, =gTasks - mov r3, r8 - lsls r0, r3, 2 - add r0, r8 - lsls r0, 3 - adds r1, r0, r1 - movs r0, 0 - strh r0, [r1, 0x1C] - strh r0, [r1, 0x1E] - cmp r5, 0 - bge _080D9BA4 - movs r0, 0x35 - strh r0, [r1, 0x8] - b _080DA100 - .pool -_080D9BA4: - movs r0, 0x36 - strh r0, [r1, 0x8] - b _080DA100 -_080D9BAA: - mov r5, r8 - lsls r0, r5, 2 - add r0, r8 - lsls r0, 3 - adds r4, r0, r4 - movs r0, 0x1C - ldrsh r3, [r4, r0] - cmp r3, 0x1 - beq _080D9BE8 - cmp r3, 0x1 - bgt _080D9BC6 - cmp r3, 0 - beq _080D9BD0 - b _080DA100 -_080D9BC6: - cmp r3, 0x2 - beq _080D9C0C - cmp r3, 0x3 - beq _080D9C46 - b _080DA100 -_080D9BD0: - movs r0, 0x1 - negs r0, r0 - movs r1, 0x1 - bl sub_80DDED0 - ldr r0, =0x00000187 - bl PlayFanfare - b _080D9C3E - .pool -_080D9BE8: - mov r1, r9 - ldr r0, [r1] - ldr r0, [r0] - ldrb r0, [r0, 0x7] - ands r3, r0 - cmp r3, 0 - beq _080D9BF8 - b _080DA100 -_080D9BF8: - bl sub_80DED4C - cmp r0, 0 - beq _080D9C02 - b _080DA100 -_080D9C02: - movs r0, 0x1 - negs r0, r0 - bl sub_80DDCDC - b _080D9C3E -_080D9C0C: - mov r2, r9 - ldr r0, [r2] - ldr r0, [r0] - ldrb r1, [r0, 0x6] - movs r0, 0x20 - ands r0, r1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0 - beq _080D9C22 - b _080DA100 -_080D9C22: - ldrh r0, [r4, 0x1E] - adds r1, r0, 0x1 - strh r1, [r4, 0x1E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1D - bgt _080D9C32 - b _080DA100 -_080D9C32: - strh r2, [r4, 0x1E] - movs r1, 0x1 - negs r1, r1 - adds r0, r1, 0 - bl sub_80DDED0 -_080D9C3E: - ldrh r0, [r4, 0x1C] - adds r0, 0x1 - strh r0, [r4, 0x1C] - b _080DA100 -_080D9C46: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - beq _080D9C58 - b _080DA100 -_080D9C58: - strh r0, [r4, 0x1C] - strh r0, [r4, 0x1E] - movs r0, 0x2B - strh r0, [r4, 0x8] - b _080DA100 - .pool -_080D9C68: - mov r3, r8 - lsls r1, r3, 2 - adds r0, r1, r3 - lsls r0, 3 - adds r0, r4 - movs r5, 0x1C - ldrsh r0, [r0, r5] - mov r10, r1 - cmp r0, 0x4 - bls _080D9C7E - b _080DA100 -_080D9C7E: - lsls r0, 2 - ldr r1, =_080D9C8C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080D9C8C: - .4byte _080D9CA0 - .4byte _080D9CB0 - .4byte _080D9CD4 - .4byte _080D9D3E - .4byte _080D9D84 -_080D9CA0: - bl sub_80DED4C - cmp r0, 0 - beq _080D9CAA - b _080DA100 -_080D9CAA: - movs r0, 0x1 - movs r1, 0x1 - b _080D9D68 -_080D9CB0: - mov r1, r9 - ldr r0, [r1] - ldr r0, [r0] - ldrb r1, [r0, 0x7] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080D9CC2 - b _080DA100 -_080D9CC2: - bl sub_80DDE0C - movs r0, 0xDF - bl PlaySE - movs r0, 0x1 - bl sub_80DDCDC - b _080D9D6C -_080D9CD4: - mov r3, r9 - ldr r2, [r3] - ldr r0, [r2] - ldrb r1, [r0, 0x6] - movs r0, 0x20 - ands r0, r1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0 - beq _080D9CEA - b _080DA100 -_080D9CEA: - mov r0, r10 - add r0, r8 - lsls r0, 3 - adds r5, r0, r4 - ldrh r0, [r5, 0x1E] - adds r1, r0, 0x1 - strh r1, [r5, 0x1E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1D - bgt _080D9D02 - b _080DA100 -_080D9D02: - strh r3, [r5, 0x1E] - ldr r0, [r2, 0x4] - lsls r4, r6, 3 - subs r4, r6 - lsls r4, 2 - adds r0, r4, r0 - movs r1, 0x2 - ldrsh r0, [r0, r1] - ldr r1, [r2, 0x10] - ldrb r1, [r1, 0x2] - lsls r1, 24 - asrs r1, 24 - adds r2, r6, 0 - bl sub_80DC028 - mov r2, r9 - ldr r1, [r2] - ldr r0, [r1, 0x4] - adds r4, r0 - ldr r0, [r1, 0x10] - ldrb r0, [r0, 0x2] - lsls r0, 24 - asrs r0, 24 - ldrh r3, [r4, 0x2] - adds r0, r3 - strh r0, [r4, 0x2] - ldrh r0, [r5, 0x1C] - adds r0, 0x1 - strh r0, [r5, 0x1C] - b _080DA100 -_080D9D3E: - mov r4, r9 - ldr r2, [r4] - ldr r1, [r2, 0x14] - lsls r0, r6, 2 - adds r0, r1 - ldrb r1, [r0, 0x2] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _080D9D54 - b _080DA100 -_080D9D54: - ldr r0, [r2] - ldrb r1, [r0, 0x6] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _080D9D62 - b _080DA100 -_080D9D62: - movs r1, 0x1 - negs r1, r1 - movs r0, 0x1 -_080D9D68: - bl sub_80DDED0 -_080D9D6C: - ldr r0, =gTasks - mov r1, r10 - add r1, r8 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x1C] - adds r0, 0x1 - strh r0, [r1, 0x1C] - b _080DA100 - .pool -_080D9D84: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0 - beq _080D9D96 - b _080DA100 -_080D9D96: - mov r0, r10 - add r0, r8 - lsls r0, 3 - adds r0, r4 - strh r3, [r0, 0x1C] - strh r3, [r0, 0x1E] - movs r1, 0x2B - strh r1, [r0, 0x8] - b _080DA100 - .pool -_080D9DAC: - mov r5, r9 - ldr r0, [r5] - ldr r1, [r0, 0x14] - lsls r0, r6, 2 - adds r0, r1 - ldrb r1, [r0, 0x2] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _080D9DC2 - b _080DA100 -_080D9DC2: - bl sub_80DB89C - ldr r0, =gTasks - mov r2, r8 - lsls r1, r2, 2 - b _080D9F58 - .pool -_080D9DD4: - bl sub_80DB89C - ldr r0, =gStringVar3 - ldr r5, =gContestResources - ldr r1, [r5] - ldr r1, [r1, 0x10] - ldr r1, [r1] - lsls r1, 20 - lsrs r1, 29 - lsls r1, 6 - ldr r4, =gContestMons + 2 - adds r1, r4 - bl StringCopy - ldr r0, =gStringVar1 - lsls r1, r6, 6 - adds r1, r4 - bl StringCopy - ldr r0, =gStringVar2 - ldr r1, [r5] - ldr r2, [r1, 0x4] - lsls r1, r6, 3 - subs r1, r6 - lsls r1, 2 - adds r1, r2 - ldrh r2, [r1, 0x6] - movs r1, 0xD - muls r1, r2 - ldr r2, =gMoveNames - adds r1, r2 - bl StringCopy - ldr r4, =gStringVar4 - ldr r1, =gText_0827E7EA - adds r0, r4, 0 - bl StringExpandPlaceholders - adds r0, r4, 0 - movs r1, 0x1 - bl sub_80DEC30 - ldr r1, =gTasks - mov r3, r8 - lsls r0, r3, 2 - add r0, r8 - lsls r0, 3 - adds r0, r1 - movs r1, 0x3A - strh r1, [r0, 0x8] - b _080DA100 - .pool -_080D9E60: - bl sub_80DED4C - cmp r0, 0 - beq _080D9E6A - b _080DA100 -_080D9E6A: - bl sub_80DB89C - ldr r4, =gStringVar4 - ldr r1, =gText_0827E817 - adds r0, r4, 0 - bl StringExpandPlaceholders - adds r0, r4, 0 - movs r1, 0x1 - bl sub_80DEC30 - ldr r1, =gTasks - mov r4, r8 - lsls r0, r4, 2 - add r0, r8 - lsls r0, 3 - adds r0, r1 - movs r1, 0x3B - strh r1, [r0, 0x8] - b _080DA100 - .pool -_080D9EA0: - bl sub_80DED4C - cmp r0, 0 - beq _080D9EAA - b _080DA100 -_080D9EAA: - bl sub_80DB89C - ldr r0, =gTasks - mov r5, r8 - lsls r1, r5, 2 - b _080D9F58 - .pool -_080D9EBC: - mov r1, r9 - ldr r0, [r1] - ldr r1, [r0, 0x4] - lsls r0, r6, 3 - subs r0, r6 - lsls r4, r0, 2 - adds r2, r4, r1 - ldrb r1, [r2, 0x15] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080D9EDC - movs r0, 0x11 - negs r0, r0 - ands r0, r1 - strb r0, [r2, 0x15] -_080D9EDC: - adds r0, r6, 0 - bl sub_80DC9B4 - ldr r0, =gStringVar1 - lsls r1, r6, 6 - ldr r2, =gContestMons + 2 - adds r1, r2 - bl StringCopy - ldr r0, =gStringVar2 - mov r2, r9 - ldr r1, [r2] - ldr r1, [r1, 0x4] - adds r1, r4, r1 - ldrh r2, [r1, 0x6] - movs r1, 0xD - muls r1, r2 - ldr r2, =gMoveNames - adds r1, r2 - bl StringCopy - ldr r4, =gStringVar4 - ldr r1, =gText_0827E58A - adds r0, r4, 0 - bl StringExpandPlaceholders - adds r0, r4, 0 - movs r1, 0x1 - bl sub_80DEC30 - ldr r1, =gTasks - mov r3, r8 - lsls r0, r3, 2 - add r0, r8 - lsls r0, 3 - adds r0, r1 - movs r1, 0x22 - strh r1, [r0, 0x8] - b _080DA100 - .pool -_080D9F48: - bl sub_80DED4C - cmp r0, 0 - beq _080D9F52 - b _080DA100 -_080D9F52: - ldr r0, =gTasks - mov r4, r8 - lsls r1, r4, 2 -_080D9F58: - add r1, r8 - lsls r1, 3 - adds r1, r0 - movs r0, 0x37 - strh r0, [r1, 0x8] - b _080DA100 - .pool -_080D9F68: - bl sub_80DDBE8 - ldr r0, =gTasks - mov r5, r8 - lsls r1, r5, 2 - add r1, r8 - lsls r1, 3 - adds r1, r0 - movs r0, 0x38 - strh r0, [r1, 0x8] - b _080DA100 - .pool -_080D9F84: - mov r1, r9 - ldr r0, [r1] - ldr r2, [r0] - ldrb r1, [r2, 0x6] - movs r0, 0x40 - ands r0, r1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - beq _080D9F9A - b _080DA100 -_080D9F9A: - movs r0, 0x13 - ldrsb r0, [r2, r0] - cmp r0, 0x4 - ble _080D9FA8 - strb r1, [r2, 0x13] - bl sub_80DD940 -_080D9FA8: - ldr r0, =gTasks - mov r2, r8 - lsls r1, r2, 2 - add r1, r8 - lsls r1, 3 - adds r1, r0 - movs r0, 0xA - strh r0, [r1, 0x8] - b _080DA100 - .pool -_080D9FC0: - mov r3, r8 - lsls r2, r3, 2 - add r2, r8 - lsls r2, 3 - adds r2, r4 - ldrb r5, [r2, 0xC] - ldr r1, =gSprites - lsls r0, r5, 4 - adds r0, r5 - lsls r0, 2 - adds r1, 0x1C - adds r0, r1 - ldr r1, =sub_80DA164 - str r1, [r0] - movs r0, 0xB - strh r0, [r2, 0x8] - b _080DA100 - .pool -_080D9FEC: - mov r5, r8 - lsls r0, r5, 2 - add r0, r8 - lsls r0, 3 - adds r4, r0, r4 - ldrb r5, [r4, 0xC] - ldr r1, =gSprites - lsls r0, r5, 4 - adds r0, r5 - lsls r0, 2 - adds r6, r0, r1 - adds r0, r6, 0 - adds r0, 0x3E - ldrb r0, [r0] - lsls r0, 29 - cmp r0, 0 - bge _080DA100 - adds r0, r6, 0 - bl FreeSpriteOamMatrix - adds r0, r6, 0 - bl DestroySprite - movs r0, 0x14 - strh r0, [r4, 0x8] - b _080DA100 - .pool -_080DA024: - mov r1, r8 - lsls r0, r1, 2 - add r0, r8 - lsls r0, 3 - adds r0, r4 - movs r1, 0 - strh r1, [r0, 0x1C] - movs r1, 0x15 - strh r1, [r0, 0x8] - b _080DA100 -_080DA038: - bl sub_80DB89C - ldr r0, =gStringVar1 - lsls r1, r6, 6 - ldr r2, =gContestMons + 2 - adds r1, r2 - bl StringCopy - ldr r4, =gStringVar4 - ldr r1, =gText_0827D56F - adds r0, r4, 0 - bl StringExpandPlaceholders - adds r0, r4, 0 - movs r1, 0x1 - bl sub_80DEC30 - ldr r1, =gTasks - mov r2, r8 - lsls r0, r2, 2 - add r0, r8 - lsls r0, 3 - adds r0, r1 - movs r1, 0x20 - strh r1, [r0, 0x8] - b _080DA100 - .pool -_080DA080: - bl sub_80DED4C - cmp r0, 0 - bne _080DA100 - ldr r0, =gTasks - mov r3, r8 - lsls r1, r3, 2 - add r1, r8 - lsls r1, 3 - adds r1, r0 - movs r0, 0x15 - strh r0, [r1, 0x8] - b _080DA100 - .pool -_080DA0A0: - mov r5, r8 - lsls r0, r5, 2 - add r0, r8 - lsls r0, 3 - adds r1, r0, r4 - ldrh r0, [r1, 0x1C] - adds r0, 0x1 - strh r0, [r1, 0x1C] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1D - ble _080DA100 - movs r0, 0 - strh r0, [r1, 0x1C] - movs r0, 0x16 - strh r0, [r1, 0x8] - b _080DA100 -_080DA0C2: - mov r1, r9 - ldr r0, [r1] - ldr r1, [r0] - ldrb r0, [r1, 0x10] - adds r0, 0x1 - movs r2, 0 - strb r0, [r1, 0x10] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x4 - bne _080DA0F4 - mov r3, r8 - lsls r0, r3, 2 - add r0, r8 - lsls r0, 3 - adds r0, r4 - strh r2, [r0, 0x8] - strh r2, [r0, 0xA] - strh r2, [r0, 0xC] - ldr r1, =sub_80DA198 - str r1, [r0] - b _080DA100 - .pool -_080DA0F4: - mov r5, r8 - lsls r0, r5, 2 - add r0, r8 - lsls r0, 3 - adds r0, r4 - strh r2, [r0, 0x8] -_080DA100: - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80D8B38 - thumb_func_start sub_80DA110 sub_80DA110: @ 80DA110 push {lr} diff --git a/include/constants/moves.h b/include/constants/moves.h index f3a3acb902..aaa5c3ab9a 100644 --- a/include/constants/moves.h +++ b/include/constants/moves.h @@ -358,5 +358,6 @@ #define MOVE_PSYCHO_BOOST 354 #define LAST_MOVE_INDEX MOVE_PSYCHO_BOOST +#define NUM_MOVES LAST_MOVE_INDEX + 1 #endif // GUARD_CONSTANTS_MOVES_H diff --git a/include/contest_link_80FC4F4.h b/include/contest_link_80FC4F4.h new file mode 100644 index 0000000000..16ec1fbd20 --- /dev/null +++ b/include/contest_link_80FC4F4.h @@ -0,0 +1,7 @@ +#ifndef GUARD_CONTEST_LINK_80FC4F4_H +#define GUARD_CONTEST_LINK_80FC4F4_H + +void sub_80FCC88(u8); +void sub_80FCC88(u8); + +#endif //GUARD_CONTEST_LINK_80FC4F4_H diff --git a/src/contest.c b/src/contest.c index 6d4fbae4f9..7ac548a9c4 100644 --- a/src/contest.c +++ b/src/contest.c @@ -36,6 +36,7 @@ #include "event_scripts.h" #include "strings.h" #include "contest_effect.h" +#include "contest_link_80FC4F4.h" #define DESTROY_POINTER(ptr) \ free(ptr); \ @@ -93,7 +94,7 @@ void sub_80DE350(void); void sub_80DE69C(u8); void sub_80DEA20(void); void sub_80DEBD0(u32, u8 *, u8, u8, u8); -void sub_80DEC30(u8 *, u8); +void sub_80DEC30(const u8 *, u8); void sub_80DECB8(u8, u16, u8, u8, u8, u8, u8, u8); bool32 sub_80DED4C(void); void sub_80DED60(u32); @@ -102,6 +103,36 @@ bool8 AreMovesContestCombo(u16, u16); void prints_contest_move_description(u16); +void sub_80DD080(u8); +void sub_80DA110(u8); +void sub_80DF080(u8); +void sub_80DF750(void); +void sub_80DE9DC(u8); +u8 sub_80DB174(u16, u32, u32, u32); +void sub_80DA134(struct Sprite *); +void sub_80DCBE8(u8, u8); +u8 sub_80DC9EC(u8); +u16 sub_80DE834(u16); +void sub_80DE864(u8); +void sub_80DEAA8(u16); +void sub_80DE9B0(u8); +void sub_80DC674(u8); +void sub_80DE12C(void); +void sub_80DD45C(u8, u8); +void sub_80DD720(u8); +void sub_80DE008(bool8); +void sub_80DC028(s16, s16, u8); +bool8 sub_80DB5B8(u8, u8); +bool8 sub_80DB798(u8); +void sub_80DB884(void); +void sub_80DC9B4(u8); +void sub_80DDED0(s8, s8); +void sub_80DDCDC(s8); +void sub_80DDE0C(void); +void sub_80DD940(void); +void sub_80DA164(struct Sprite *); +void sub_80DA198(u8); + EWRAM_DATA struct ContestPokemon gContestMons[4] = {0}; EWRAM_DATA s16 gUnknown_02039F00[4] = {0}; EWRAM_DATA s16 gUnknown_02039F08[4] = {0}; @@ -147,6 +178,24 @@ extern const u16 gUnknown_08587C30[]; extern const struct BgTemplate gUnknown_08587F34[4]; extern const struct WindowTemplate gUnknown_08587F44[]; +extern const u8 *const gUnknown_08587F08[]; +extern const u8 *const gUnknown_08587F1C[]; +extern const u8 gText_0827D55A[]; +extern const u8 gText_0827E793[]; +extern const u8 gText_0827E32E[]; +extern const u8 gText_0827E35B[]; +extern const u8 gText_0827E38D[]; +extern const u8 gText_0827E2FE[]; +extern const u8 gText_0827E6E3[]; +extern const u8 gText_0827E73C[]; +extern const u8 gText_0827E717[]; +extern const u8 gText_0827E76A[]; +extern const u8 gText_0827E7EA[]; +extern const u8 gText_0827E817[]; +extern const u8 gText_0827E58A[]; +extern const u8 gText_0827D56F[]; + + void TaskDummy1(u8 taskId) { } @@ -862,3 +911,709 @@ void sub_80D8A88(u8 taskId) gTasks[taskId].func = sub_80D8B38; } } + +void sub_80D8B38(u8 taskId) +{ + u8 spriteId; + s32 i; + u8 r6 = gContestResources->field_0->unk19215; + s8 r3; + + switch (gTasks[taskId].data[0]) + { + case 0: + sub_80DCD48(); + for (i = 0; gContestResources->field_0->unk19214 != gContestResources->field_8->turnOrder[i]; i++) + ; + gContestResources->field_0->unk19215 = i; + r6 = gContestResources->field_0->unk19215; + if (gIsLinkContest & 1) + { + u8 taskId2; + + gContestResources->field_0->unk1920B_2 = 1; + if (sub_80DA8A4()) + sub_80DD080(gContestResources->field_0->unk19215); + taskId2 = CreateTask(sub_80FCC88, 0); + SetTaskFuncWithFollowupFunc(taskId2, sub_80FCC88, sub_80DA110); + sub_80DBF68(); + gTasks[taskId].data[0] = 1; + } + else + { + sub_80DD080(gContestResources->field_0->unk19215); + gTasks[taskId].data[0] = 2; + } + return; + case 1: + if (!gContestResources->field_0->unk1920B_2) + gTasks[taskId].data[0] = 2; + return; + case 2: + sub_80DF080(r6); + sub_80DF750(); + if (gContestResources->field_4[r6].numTurnsSkipped != 0 + || gContestResources->field_4[r6].noMoreTurns) + { + gTasks[taskId].data[0] = 31; + } + else + { + sub_80DB89C(); + gTasks[taskId].data[10] = 0; + gTasks[taskId].data[0] = 3; + } + return; + case 3: + for (i = 0; i < 4; i++) + gBattleMonForms[i] = 0; + memset(gContestResources->field_18, 0, sizeof(*gContestResources->field_18)); + sub_80DE9DC(gContestResources->field_0->unk19215); + spriteId = sub_80DB174( + gContestMons[gContestResources->field_0->unk19215].species, + gContestMons[gContestResources->field_0->unk19215].otId, + gContestMons[gContestResources->field_0->unk19215].personality, + gContestResources->field_0->unk19215); + gSprites[spriteId].pos2.x = 120; + gSprites[spriteId].callback = sub_80DA134; + gTasks[taskId].data[2] = spriteId; + gBattlerSpriteIds[gBattlerAttacker] = spriteId; + sub_80DCBE8(sub_80DC9EC(gContestResources->field_0->unk19215), FALSE); + gTasks[taskId].data[0] = 4; + return; + case 4: + spriteId = gTasks[taskId].data[2]; + if (gSprites[spriteId].callback == SpriteCallbackDummy) + { + if (!gContestResources->field_14[r6].unk2_1) + gTasks[taskId].data[0] = 5; + } + return; + case 5: + if (gContestResources->field_4[r6].nervous) + { + gTasks[taskId].data[0] = 33; + } + else + { + sub_80DB89C(); + StringCopy(gStringVar1, gContestMons[r6].nickname); + if (gContestResources->field_4[r6].currMove < NUM_MOVES) + StringCopy(gStringVar2, gMoveNames[gContestResources->field_4[r6].currMove]); + else + StringCopy(gStringVar2, gUnknown_08587F1C[gContestResources->field_4[r6].moveCategory]); + StringExpandPlaceholders(gStringVar4, gText_0827D55A); + sub_80DEC30(gStringVar4, 1); + gTasks[taskId].data[0] = 6; + } + return; + case 6: + if (!sub_80DED4C()) + { + gContestResources->field_0->unk1925E = 0; + gTasks[taskId].data[0] = 7; + } + return; + case 7: + { + u16 move = sub_80DE834(gContestResources->field_4[gContestResources->field_0->unk19215].currMove); + + sub_80DE864(gContestResources->field_0->unk19215); + sub_80DE9DC(gContestResources->field_0->unk19215); + sub_80DEAA8(move); + DoMoveAnim(move); + gTasks[taskId].data[0] = 8; + } + return; + case 8: + gAnimScriptCallback(); + if (!gAnimScriptActive) + { + sub_80DE9B0(r6); + if (gContestResources->field_0->unk1925E != 0) + { + gTasks[taskId].data[10] = 0; + gTasks[taskId].data[0] = 9; + } + else + { + if (!gContestResources->field_4[r6].hasJudgesAttention) + sub_80DC674(r6); + sub_80DE12C(); + gTasks[taskId].data[0] = 23; + } + } + return; + case 9: + if (gTasks[taskId].data[10]++ > 30) + { + gTasks[taskId].data[10] = 0; + gTasks[taskId].data[0] = 7; + } + return; + case 23: + gTasks[taskId].data[1] = 0; + if (gContestResources->field_4[r6].effectStringId != CONTEST_STRING_NONE) + { + sub_80DD45C(r6, gContestResources->field_4[r6].effectStringId); + gContestResources->field_4[r6].effectStringId = CONTEST_STRING_NONE; + gTasks[taskId].data[0] = 24; + } + else + { + if (gContestResources->field_4[r6].effectStringId2 != CONTEST_STRING_NONE) + { + for (i = 0; i < 4; i++) + { + if (i != r6 && gContestResources->field_4[i].effectStringId != CONTEST_STRING_NONE) + break; + } + if (i == 4) + { + sub_80DD45C(r6, gContestResources->field_4[r6].effectStringId2); + gContestResources->field_4[r6].effectStringId2 = CONTEST_STRING_NONE; + gTasks[taskId].data[0] = 24; + } + else + { + gTasks[taskId].data[0] = 48; + } + } + else + { + gTasks[taskId].data[0] = 48; + } + } + return; + case 24: + if (!sub_80DED4C()) + gTasks[taskId].data[0] = 23; + return; + case 48: + if (gContestResources->field_4[r6].turnOrderModAction == 1) + { + sub_80DD720(5); + } + else if (gContestResources->field_4[r6].turnOrderModAction == 2) + { + sub_80DD720(6); + } + else if (gContestResources->field_4[r6].turnOrderModAction == 3) + { + sub_80DD720(7); + } + else + { + gTasks[taskId].data[0] = 47; + return; + } + gTasks[taskId].data[0] = 49; + return; + case 49: + if (!gContestResources->field_0->unk1920A_4) + gTasks[taskId].data[0] = 47; + return; + case 47: + sub_80DE008(TRUE); + gTasks[taskId].data[0] = 12; + return; + case 12: + sub_80DC028(0, gContestResources->field_4[r6].appeal2, r6); + gTasks[taskId].data[0] = 13; + return; + case 13: + if (!gContestResources->field_14[gContestResources->field_0->unk19215].unk2_2) + gTasks[taskId].data[0] = 35; + return; + case 35: + if (gContestResources->field_4[r6].conditionMod == 1) + sub_80DD720(8); + gTasks[taskId].data[0] = 36; + return; + case 36: + if (!gContestResources->field_0->unk1920A_4) + gTasks[taskId].data[0] = 37; + return; + case 37: + if (sub_80DB5B8(r6, 1)) + { + gTasks[taskId].data[10] = 0; + gTasks[taskId].data[0] = 38; + } + else + { + gTasks[taskId].data[0] = 50; + } + return; + case 38: + if (++gTasks[taskId].data[10] > 20) + { + gTasks[taskId].data[10] = 0; + gTasks[taskId].data[0] = 50; + } + return; + case 50: + if (sub_80DB798(r6)) + PlaySE(SE_C_PASI); + gTasks[taskId].data[0] = 25; + return; + case 25: + gTasks[taskId].data[1] = 0; + gTasks[taskId].data[0] = 26; + return; + case 26: + { + s32 r2 = 0; + + r3 = 0; + for (i = gTasks[taskId].data[1]; i < 4; i++) + { + r3 = 0; + for (r2 = 0; r2 < 4; r2++) + { + if (r2 != r6 && gUnknown_02039F26[r2] == i + && gContestResources->field_4[r2].effectStringId != CONTEST_STRING_NONE) + { + r3 = 1; + break; + } + } + if (r3 != 0) + break; + } + if (r3) + { + gTasks[taskId].data[1] = gUnknown_02039F26[r2]; + sub_80DD45C(r2, gContestResources->field_4[r2].effectStringId); + gContestResources->field_4[r2].effectStringId = CONTEST_STRING_NONE; + gTasks[taskId].data[0] = 27; + } + else + { + gTasks[taskId].data[1] = 0; + gTasks[taskId].data[10] = 0; + gTasks[taskId].data[0] = 51; + sub_80DB884(); + } + } + return; + case 27: + if (!sub_80DED4C()) + gTasks[taskId].data[0] = 28; + return; + case 28: + for (i = 0; gTasks[taskId].data[1] != gUnknown_02039F26[i]; i++) + ; + sub_80DC028(gContestResources->field_4[i].appeal2 + gContestResources->field_4[i].jam, -gContestResources->field_4[i].jam, i); + gTasks[taskId].data[0] = 29; + return; + case 29: + for (i = 0; gTasks[taskId].data[1] != gUnknown_02039F26[i]; i++) + ; + if (!gContestResources->field_14[i].unk2_2) + gTasks[taskId].data[0] = 39; + return; + case 39: + for (i = 0; gTasks[taskId].data[1] != gUnknown_02039F26[i]; i++) + ; + if (sub_80DB5B8(i, 1)) + { + gTasks[taskId].data[10] = 0; + gTasks[taskId].data[0] = 40; + } + else + { + gTasks[taskId].data[0] = 30; + } + return; + case 40: + if (++gTasks[taskId].data[10] > 20) + { + gTasks[taskId].data[10] = 0; + gTasks[taskId].data[0] = 30; + } + return; + case 30: + for (i = 0; i < 4; i++) + { + if (gUnknown_02039F26[i] == gTasks[taskId].data[1]) + break; + } + if (sub_80DB798(i)) + PlaySE(SE_C_PASI); + else + PlaySE(SE_C_SYU); + if (gContestResources->field_4[i].judgesAttentionWasRemoved) + { + sub_80DC674(i); + gContestResources->field_4[i].judgesAttentionWasRemoved = 0; + } + gTasks[taskId].data[1]++; + gTasks[taskId].data[0] = 26; + return; + case 51: + if (gTasks[taskId].data[10]++ > 9) + { + gTasks[taskId].data[10] = 0; + if (gContestResources->field_4[r6].numTurnsSkipped != 0 + || gContestResources->field_4[r6].turnSkipped) + { + sub_80DB89C(); + StringCopy(gStringVar1, gContestMons[r6].nickname); + StringExpandPlaceholders(gStringVar4, gText_0827E793); + sub_80DEC30(gStringVar4, 1); + } + gTasks[taskId].data[0] = 52; + } + return; + case 52: + if (!sub_80DED4C()) + { + if (!gContestResources->field_4[r6].unk15_6) + gTasks[taskId].data[0] = 17; + else + gTasks[taskId].data[0] = 14; + } + return; + case 14: + r3 = gContestResources->field_4[r6].unk16; + if (gContestResources->field_4[r6].unk16 != 0) + { + sub_80DB89C(); + if (r3 == 1) + sub_80DEC30(gText_0827E32E, 1); + else if (r3 == 2) + sub_80DEC30(gText_0827E35B, 1); + else + sub_80DEC30(gText_0827E38D, 1); + sub_80DD720(3); + gTasks[taskId].data[10] = 0; + gTasks[taskId].data[0] = 45; + } + else + { + sub_80DB89C(); + StringCopy(gStringVar1, gContestMons[r6].nickname); + StringExpandPlaceholders(gStringVar4, gText_0827E2FE); + sub_80DEC30(gStringVar4, 1); + sub_80DD720(2); + gTasks[taskId].data[10] = 0; + gTasks[taskId].data[0] = 45; + } + return; + case 45: + if (!gContestResources->field_0->unk1920A_4) + { + sub_80DC9B4(gContestResources->field_0->unk19215); + gTasks[taskId].data[0] = 15; + } + return; + case 15: + if (!sub_80DED4C()) + { + if (++gTasks[taskId].data[10] > 50) + { + if (!gContestResources->field_4[r6].hasJudgesAttention) + { + sub_80DC028( + gContestResources->field_4[r6].appeal2, + gContestResources->field_4[r6].unk17, + r6); + gContestResources->field_4[r6].appeal2 += gContestResources->field_4[r6].unk17; + } + gTasks[taskId].data[0] = 16; + } + } + return; + case 16: + if (!gContestResources->field_14[r6].unk2_2) + { + gTasks[taskId].data[10] = 0; + gTasks[taskId].data[0] = 17; + } + return; + case 17: + if (gContestResources->field_4[r6].disappointedRepeat) + { + sub_80DB89C(); + StringCopy(gStringVar1, gContestMons[r6].nickname); + StringExpandPlaceholders(gStringVar4, gText_0827E6E3); + sub_80DEC30(gStringVar4, 1); + gTasks[taskId].data[10] = 0; + sub_80DD720(0); + gTasks[taskId].data[0] = 46; + } + else + { + gTasks[taskId].data[0] = 41; + } + return; + case 46: + if (!gContestResources->field_0->unk1920A_4) + gTasks[taskId].data[0] = 19; + return; + case 19: + if (!sub_80DED4C()) + { + sub_80DC028(gContestResources->field_4[r6].appeal2, -gContestResources->field_4[r6].unk18, r6); + gContestResources->field_4[r6].appeal2 -= gContestResources->field_4[r6].unk18; + gTasks[taskId].data[0] = 18; + } + return; + case 18: + sub_80DCD48(); + if (!gContestResources->field_14[r6].unk2_2) + { + gTasks[taskId].data[10] = 0; + sub_80DB89C(); + gTasks[taskId].data[0] = 41; + } + return; + case 41: + if (gContestResources->field_10->excitementFrozen && r6 != gContestResources->field_10->excitementFreezer) + { + gTasks[taskId].data[0] = 57; + } + else + { + r3 = gContestResources->field_10->bits_0; + if (gContestResources->field_4[r6].overrideCategoryExcitementMod) + { + r3 = 1; + StringCopy(gStringVar3, gMoveNames[gContestResources->field_4[r6].currMove]); + } + else + { + StringCopy(gStringVar3, gUnknown_08587F08[gContestMoves[gContestResources->field_4[r6].currMove].contestCategory]); + } + if (r3 > 0) + { + if (gContestResources->field_4[r6].disappointedRepeat) + r3 = 0; + } + sub_80DB89C(); + StringCopy(gStringVar1, gContestMons[r6].nickname); + gContestResources->field_0->applauseLevel += r3; + if (gContestResources->field_0->applauseLevel < 0) + gContestResources->field_0->applauseLevel = 0; + if (r3 == 0) + { + gTasks[taskId].data[0] = 55; + } + else + { + if (r3 < 0) + StringExpandPlaceholders(gStringVar4, gText_0827E73C); + else if (r3 > 0 && gContestResources->field_0->applauseLevel <= 4) + StringExpandPlaceholders(gStringVar4, gText_0827E717); + else + StringExpandPlaceholders(gStringVar4, gText_0827E76A); + sub_80DEC30(gStringVar4, 1); + gTasks[taskId].data[10] = 0; + gTasks[taskId].data[11] = 0; + if (r3 < 0) + gTasks[taskId].data[0] = 53; + else + gTasks[taskId].data[0] = 54; + } + } + return; + case 53: + switch (gTasks[taskId].data[10]) + { + case 0: + sub_80DDED0(-1, 1); + PlayFanfare(MUS_ME_ZANNEN); + gTasks[taskId].data[10]++; + break; + case 1: + if (!gContestResources->field_0->unk1920B_0 && !sub_80DED4C()) + { + sub_80DDCDC(-1); + gTasks[taskId].data[10]++; + } + break; + case 2: + if (!gContestResources->field_0->unk1920A_5) + { + if (gTasks[taskId].data[11]++ > 29) + { + gTasks[taskId].data[11] = 0; + sub_80DDED0(-1, -1); + gTasks[taskId].data[10]++; + } + } + break; + case 3: + if (!gPaletteFade.active) + { + gTasks[taskId].data[10] = 0; + gTasks[taskId].data[11] = 0; + gTasks[taskId].data[0] = 43; + } + break; + } + return; + case 54: + switch (gTasks[taskId].data[10]) + { + case 0: + if (!sub_80DED4C()) + { + sub_80DDED0(1, 1); + gTasks[taskId].data[10]++; + } + break; + case 1: + if (!gContestResources->field_0->unk1920B_0) + { + sub_80DDE0C(); + PlaySE(SE_W227B); + sub_80DDCDC(1); + gTasks[taskId].data[10]++; + } + break; + case 2: + if (!gContestResources->field_0->unk1920A_5) + { + if (gTasks[taskId].data[11]++ > 29) + { + gTasks[taskId].data[11] = 0; + sub_80DC028(gContestResources->field_4[r6].appeal2, gContestResources->field_10->unk2, r6); + gContestResources->field_4[r6].appeal2 += gContestResources->field_10->unk2; + gTasks[taskId].data[10]++; + } + } + break; + case 3: + if (!gContestResources->field_14[r6].unk2_2) + { + if (!gContestResources->field_0->unk1920A_7) + { + sub_80DDED0(1, -1); + gTasks[taskId].data[10]++; + } + } + break; + case 4: + if (!gPaletteFade.active) + { + gTasks[taskId].data[10] = 0; + gTasks[taskId].data[11] = 0; + gTasks[taskId].data[0] = 43; + } + break; + } + return; + case 43: + if (!gContestResources->field_14[r6].unk2_2) + { + sub_80DB89C(); + gTasks[taskId].data[0] = 55; + } + return; + case 57: + sub_80DB89C(); + StringCopy(gStringVar3, gContestMons[gContestResources->field_10->excitementFreezer].nickname); + StringCopy(gStringVar1, gContestMons[r6].nickname); + StringCopy(gStringVar2, gMoveNames[gContestResources->field_4[r6].currMove]); + StringExpandPlaceholders(gStringVar4, gText_0827E7EA); + sub_80DEC30(gStringVar4, 1); + gTasks[taskId].data[0] = 58; + return; + case 58: + if (!sub_80DED4C()) + { + sub_80DB89C(); + StringExpandPlaceholders(gStringVar4, gText_0827E817); + sub_80DEC30(gStringVar4, 1); + gTasks[taskId].data[0] = 59; + } + return; + case 59: + if (!sub_80DED4C()) + { + sub_80DB89C(); + gTasks[taskId].data[0] = 55; + } + return; + case 33: + if (gContestResources->field_4[r6].hasJudgesAttention) + gContestResources->field_4[r6].hasJudgesAttention = 0; + sub_80DC9B4(r6); + StringCopy(gStringVar1, gContestMons[r6].nickname); + StringCopy(gStringVar2, gMoveNames[gContestResources->field_4[r6].currMove]); + StringExpandPlaceholders(gStringVar4, gText_0827E58A); + sub_80DEC30(gStringVar4, 1); + gTasks[taskId].data[0] = 34; + return; + case 34: + if (!sub_80DED4C()) + gTasks[taskId].data[0] = 55; + return; + case 55: + sub_80DDBE8(); + gTasks[taskId].data[0] = 56; + return; + case 56: + if (!gContestResources->field_0->unk1920A_6) + { + if (gContestResources->field_0->applauseLevel > 4) + { + gContestResources->field_0->applauseLevel = 0; + sub_80DD940(); + } + gTasks[taskId].data[0] = 10; + } + return; + case 10: + spriteId = gTasks[taskId].data[2]; + gSprites[spriteId].callback = sub_80DA164; + gTasks[taskId].data[0] = 11; + return; + case 11: + spriteId = gTasks[taskId].data[2]; + if (gSprites[spriteId].invisible) + { + FreeSpriteOamMatrix(&gSprites[spriteId]); + DestroySprite(&gSprites[spriteId]); + gTasks[taskId].data[0] = 20; + } + return; + case 20: + gTasks[taskId].data[10] = 0; + gTasks[taskId].data[0] = 21; + return; + case 31: + sub_80DB89C(); + StringCopy(gStringVar1, gContestMons[r6].nickname); + StringExpandPlaceholders(gStringVar4, gText_0827D56F); + sub_80DEC30(gStringVar4, 1); + gTasks[taskId].data[0] = 32; + return; + case 32: + if (!sub_80DED4C()) + gTasks[taskId].data[0] = 21; + return; + case 21: + if (++gTasks[taskId].data[10] > 29) + { + gTasks[taskId].data[10] = 0; + gTasks[taskId].data[0] = 22; + } + return; + case 22: + if (++gContestResources->field_0->unk19214 == 4) + { + gTasks[taskId].data[0] = 0; + gTasks[taskId].data[1] = 0; + gTasks[taskId].data[2] = 0; + gTasks[taskId].func = sub_80DA198; + } + else + { + gTasks[taskId].data[0] = 0; + } + return; + } +} From e8bb464de91bf4abf4998d7700ca44e0e4fd39cd Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Mon, 7 May 2018 19:46:48 -0400 Subject: [PATCH 029/234] through sub_80DA4F4 --- asm/contest.s | 503 ---------------------------------------------- include/contest.h | 11 +- src/contest.c | 212 ++++++++++++++++++- 3 files changed, 216 insertions(+), 510 deletions(-) diff --git a/asm/contest.s b/asm/contest.s index 8292760b80..b0436b0c09 100644 --- a/asm/contest.s +++ b/asm/contest.s @@ -5,509 +5,6 @@ .text - thumb_func_start sub_80DA110 -sub_80DA110: @ 80DA110 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gContestResources - ldr r1, [r1] - ldr r3, [r1] - ldrb r2, [r3, 0x7] - movs r1, 0x5 - negs r1, r1 - ands r1, r2 - strb r1, [r3, 0x7] - bl DestroyTask - pop {r0} - bx r0 - .pool - thumb_func_end sub_80DA110 - - thumb_func_start sub_80DA134 -sub_80DA134: @ 80DA134 - push {lr} - adds r1, r0, 0 - ldrh r0, [r1, 0x24] - movs r3, 0x24 - ldrsh r2, [r1, r3] - cmp r2, 0 - beq _080DA148 - subs r0, 0x2 - strh r0, [r1, 0x24] - b _080DA15C -_080DA148: - ldrh r0, [r1, 0x2E] - adds r0, 0x1 - strh r0, [r1, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1F - bne _080DA15C - strh r2, [r1, 0x2E] - ldr r0, =SpriteCallbackDummy - str r0, [r1, 0x1C] -_080DA15C: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80DA134 - - thumb_func_start sub_80DA164 -sub_80DA164: @ 80DA164 - push {lr} - adds r2, r0, 0 - ldrh r0, [r2, 0x24] - subs r0, 0x6 - strh r0, [r2, 0x24] - movs r1, 0x20 - ldrsh r0, [r2, r1] - movs r3, 0x24 - ldrsh r1, [r2, r3] - adds r0, r1 - movs r1, 0x20 - negs r1, r1 - cmp r0, r1 - bge _080DA18E - ldr r0, =SpriteCallbackDummy - str r0, [r2, 0x1C] - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] -_080DA18E: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80DA164 - - thumb_func_start sub_80DA198 -sub_80DA198: @ 80DA198 - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r5, r1, r2 - movs r1, 0x8 - ldrsh r0, [r5, r1] - cmp r0, 0x1 - beq _080DA22E - cmp r0, 0x1 - bgt _080DA1C0 - cmp r0, 0 - beq _080DA1C6 - b _080DA250 - .pool -_080DA1C0: - cmp r0, 0x2 - beq _080DA248 - b _080DA250 -_080DA1C6: - ldr r0, =gIsLinkContest - ldrb r1, [r0] - movs r6, 0x1 - adds r0, r6, 0 - ands r0, r1 - cmp r0, 0 - beq _080DA224 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r2, [r0] - ldrb r0, [r2, 0x7] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2, 0x7] - bl sub_80DA8A4 - lsls r0, 24 - cmp r0, 0 - beq _080DA1F4 - bl sub_80DB944 - bl sub_80DBA18 -_080DA1F4: - ldr r4, =sub_80FCC88 - adds r0, r4, 0 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =sub_80DA110 - adds r1, r4, 0 - bl SetTaskFuncWithFollowupFunc - bl sub_80DBF68 - strh r6, [r5, 0x8] - b _080DA250 - .pool -_080DA224: - bl sub_80DB944 - bl sub_80DBA18 - b _080DA23E -_080DA22E: - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0] - ldrb r1, [r0, 0x7] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - bne _080DA250 -_080DA23E: - movs r0, 0x2 - strh r0, [r5, 0x8] - b _080DA250 - .pool -_080DA248: - movs r0, 0 - strh r0, [r5, 0x8] - ldr r0, =sub_80DA25C - str r0, [r5] -_080DA250: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80DA198 - - thumb_func_start sub_80DA25C -sub_80DA25C: @ 80DA25C - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0 - bl sub_80DE008 - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - movs r1, 0 - strh r1, [r0, 0x8] - strh r1, [r0, 0xA] - ldr r1, =sub_80DA28C - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80DA25C - - thumb_func_start sub_80DA28C -sub_80DA28C: @ 80DA28C - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 - movs r0, 0x8 - ldrsh r5, [r4, r0] - cmp r5, 0x1 - beq _080DA2D2 - cmp r5, 0x1 - bgt _080DA2B4 - cmp r5, 0 - beq _080DA2BA - b _080DA312 - .pool -_080DA2B4: - cmp r5, 0x2 - beq _080DA304 - b _080DA312 -_080DA2BA: - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x14 - ble _080DA312 - movs r0, 0x2 - bl sub_80DE69C - strh r5, [r4, 0xA] - b _080DA2F6 -_080DA2D2: - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0] - ldrb r1, [r0, 0x7] - movs r0, 0x2 - ands r0, r1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - bne _080DA312 - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x14 - ble _080DA312 - strh r1, [r4, 0xA] -_080DA2F6: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _080DA312 - .pool -_080DA304: - bl sub_80DC3AC - movs r0, 0 - strh r0, [r4, 0x8] - strh r0, [r4, 0xA] - ldr r0, =sub_80DA31C - str r0, [r4] -_080DA312: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80DA28C - - thumb_func_start sub_80DA31C -sub_80DA31C: @ 80DA31C - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl sub_80DC3C4 - lsls r0, 24 - cmp r0, 0 - beq _080DA33A - ldr r0, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_80DA348 - str r0, [r1] -_080DA33A: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80DA31C - - thumb_func_start sub_80DA348 -sub_80DA348: @ 80DA348 - lsls r0, 24 - lsrs r0, 24 - ldr r2, =0x0201a204 - ldr r3, =gPlttBufferUnfaded - ldr r1, =0x040000d4 - str r2, [r1] - str r3, [r1, 0x4] - ldr r2, =0x84000100 - str r2, [r1, 0x8] - ldr r1, [r1, 0x8] - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r0, 0 - strh r0, [r1, 0x8] - movs r0, 0x2 - strh r0, [r1, 0xA] - ldr r0, =sub_80DA38C - str r0, [r1] - bx lr - .pool - thumb_func_end sub_80DA348 - - thumb_func_start sub_80DA38C -sub_80DA38C: @ 80DA38C - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x2 - ble _080DA3BE - movs r0, 0 - strh r0, [r1, 0x8] - ldrh r0, [r1, 0xA] - subs r0, 0x1 - strh r0, [r1, 0xA] - lsls r0, 16 - cmp r0, 0 - bne _080DA3BE - ldr r0, =sub_80DA3CC - str r0, [r1] -_080DA3BE: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80DA38C - - thumb_func_start sub_80DA3CC -sub_80DA3CC: @ 80DA3CC - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r6, r1, r2 - movs r1, 0x8 - ldrsh r0, [r6, r1] - cmp r0, 0 - bne _080DA448 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r5, =gContestPlayerMonIndex - ldrb r1, [r5] - ldr r2, [r0, 0x4] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r4, [r0, 0x1A] - bl sub_80DB89C - ldr r0, =gStringVar1 - ldrb r1, [r5] - lsls r1, 6 - ldr r2, =gContestMons + 2 - adds r1, r2 - bl StringCopy - ldr r5, =gStringVar4 - ldr r0, =gUnknown_08587D90 - lsls r4, 2 - adds r4, r0 - ldr r1, [r4] - adds r0, r5, 0 - bl StringExpandPlaceholders - adds r0, r5, 0 - movs r1, 0x1 - bl sub_80DEC30 - ldrh r0, [r6, 0x8] - adds r0, 0x1 - strh r0, [r6, 0x8] - b _080DA45A - .pool -_080DA448: - bl sub_80DED4C - cmp r0, 0 - bne _080DA45A - strh r0, [r6, 0x8] - ldr r0, =sub_80DA464 - str r0, [r6] - bl sub_80DCD48 -_080DA45A: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80DA3CC - - thumb_func_start sub_80DA464 -sub_80DA464: @ 80DA464 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 - ldrh r0, [r4, 0x8] - adds r1, r0, 0x1 - strh r1, [r4, 0x8] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1D - ble _080DA48E - movs r0, 0 - strh r0, [r4, 0x8] - bl sub_80DC3AC - ldr r0, =sub_80DA49C - str r0, [r4] -_080DA48E: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80DA464 - - thumb_func_start sub_80DA49C -sub_80DA49C: @ 80DA49C - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl sub_80DC3C4 - lsls r0, 24 - cmp r0, 0 - beq _080DA4BE - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - movs r1, 0 - strh r1, [r0, 0x8] - ldr r1, =sub_80DA4CC - str r1, [r0] -_080DA4BE: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80DA49C - - thumb_func_start sub_80DA4CC -sub_80DA4CC: @ 80DA4CC - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl sub_80DE224 - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_80DE424 - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80DA4CC - - thumb_func_start sub_80DA4F4 -sub_80DA4F4: @ 80DA4F4 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl sub_80DE350 - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_80DA51C - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80DA4F4 - thumb_func_start sub_80DA51C sub_80DA51C: @ 80DA51C push {r4,r5,lr} diff --git a/include/contest.h b/include/contest.h index 45fc9b4779..b7324e26b5 100644 --- a/include/contest.h +++ b/include/contest.h @@ -401,11 +401,18 @@ struct ContestResources void * field_3c; }; +extern struct ContestResources *gContestResources; + +#define sContest (*gContestResources->field_0) +#define sContestantStatus (gContestResources->field_4) +#define shared192D0 (*gContestResources->field_8) +#define eContestAI (*gContestResources->field_C) +#define shared19328 (*gContestResources->field_10) +#define shared19338 (*gContestResources->field_14) + #define shared15800 (gHeap + 0x18000) #define shared18000 (*(struct Shared18000 *)(gHeap + 0x1a000)) -extern struct ContestResources *gContestResources; - extern u32 gContestRngValue; bool8 IsSpeciesNotUnown(u16 species); diff --git a/src/contest.c b/src/contest.c index 7ac548a9c4..8bf3816071 100644 --- a/src/contest.c +++ b/src/contest.c @@ -66,6 +66,21 @@ void sub_80D8A04(u8 taskId); void sub_80D8A50(u8 taskId); void sub_80D8A88(u8 taskId); void sub_80D8B38(u8 taskId); +void sub_80DA110(u8); +void sub_80DA134(struct Sprite *); +void sub_80DA164(struct Sprite *); +void sub_80DA198(u8); +void sub_80DA25C(u8); +void sub_80DA28C(u8); +void sub_80DA31C(u8); +void sub_80DA348(u8); +void sub_80DA38C(u8); +void sub_80DA3CC(u8); +void sub_80DA464(u8); +void sub_80DA49C(u8); +void sub_80DA4CC(u8); +void sub_80DE424(u8); +void sub_80DA51C(u8); bool8 sub_80DA8A4(void); u8 sub_80DB0C4(void); u8 sub_80DB120(void); @@ -104,12 +119,10 @@ void prints_contest_move_description(u16); void sub_80DD080(u8); -void sub_80DA110(u8); void sub_80DF080(u8); void sub_80DF750(void); void sub_80DE9DC(u8); u8 sub_80DB174(u16, u32, u32, u32); -void sub_80DA134(struct Sprite *); void sub_80DCBE8(u8, u8); u8 sub_80DC9EC(u8); u16 sub_80DE834(u16); @@ -130,8 +143,10 @@ void sub_80DDED0(s8, s8); void sub_80DDCDC(s8); void sub_80DDE0C(void); void sub_80DD940(void); -void sub_80DA164(struct Sprite *); -void sub_80DA198(u8); +void sub_80DB944(void); +void sub_80DBA18(void); +void sub_80DC3AC(void); +bool8 sub_80DC3C4(void); EWRAM_DATA struct ContestPokemon gContestMons[4] = {0}; EWRAM_DATA s16 gUnknown_02039F00[4] = {0}; @@ -177,7 +192,7 @@ extern const u8 gUnknown_08C17170[]; extern const u16 gUnknown_08587C30[]; extern const struct BgTemplate gUnknown_08587F34[4]; extern const struct WindowTemplate gUnknown_08587F44[]; - +extern const u8 *const gUnknown_08587D90[]; extern const u8 *const gUnknown_08587F08[]; extern const u8 *const gUnknown_08587F1C[]; extern const u8 gText_0827D55A[]; @@ -1617,3 +1632,190 @@ void sub_80D8B38(u8 taskId) return; } } + +void sub_80DA110(u8 taskId) +{ + sContest.unk1920B_2 = 0; + DestroyTask(taskId); +} + +void sub_80DA134(struct Sprite *sprite) +{ + if (sprite->pos2.x != 0) + { + sprite->pos2.x -= 2; + } + else + { + if (++sprite->data[0] == 31) + { + sprite->data[0] = 0; + sprite->callback = SpriteCallbackDummy; + } + } +} + +void sub_80DA164(struct Sprite *sprite) +{ + sprite->pos2.x -= 6; + if (sprite->pos1.x + sprite->pos2.x < -32) + { + sprite->callback = SpriteCallbackDummy; + sprite->invisible = TRUE; + } +} + +void sub_80DA198(u8 taskId) +{ + switch (gTasks[taskId].data[0]) + { + case 0: + if (gIsLinkContest & 1) + { + u8 taskId2; + + sContest.unk1920B_2 = 1; + if (sub_80DA8A4()) + { + sub_80DB944(); + sub_80DBA18(); + } + taskId2 = CreateTask(sub_80FCC88, 0); + SetTaskFuncWithFollowupFunc(taskId2, sub_80FCC88, sub_80DA110); + sub_80DBF68(); + gTasks[taskId].data[0] = 1; + } + else + { + sub_80DB944(); + sub_80DBA18(); + gTasks[taskId].data[0] = 2; + } + break; + case 1: + if (!sContest.unk1920B_2) + gTasks[taskId].data[0] = 2; + break; + case 2: + gTasks[taskId].data[0] = 0; + gTasks[taskId].func = sub_80DA25C; + break; + } +} + +void sub_80DA25C(u8 taskId) +{ + sub_80DE008(FALSE); + gTasks[taskId].data[0] = 0; + gTasks[taskId].data[1] = 0; + gTasks[taskId].func = sub_80DA28C; +} + +void sub_80DA28C(u8 taskId) +{ + switch (gTasks[taskId].data[0]) + { + case 0: + if (++gTasks[taskId].data[1] > 20) + { + sub_80DE69C(2); + gTasks[taskId].data[1] = 0; + gTasks[taskId].data[0]++; + } + break; + case 1: + if (!sContest.unk1920B_1) + { + if (++gTasks[taskId].data[1] > 20) + { + gTasks[taskId].data[1] = 0; + gTasks[taskId].data[0]++; + } + } + break; + case 2: + sub_80DC3AC(); + gTasks[taskId].data[0] = 0; + gTasks[taskId].data[1] = 0; + gTasks[taskId].func = sub_80DA31C; + break; + } +} + +void sub_80DA31C(u8 taskId) +{ + if (sub_80DC3C4()) + gTasks[taskId].func = sub_80DA348; +} + +void sub_80DA348(u8 taskId) +{ + DmaCopy32Defvars(3, shared18000.unk18204, gPlttBufferUnfaded, 0x400); + gTasks[taskId].data[0] = 0; + gTasks[taskId].data[1] = 2; + gTasks[taskId].func = sub_80DA38C; +} + +void sub_80DA38C(u8 taskId) +{ + if (++gTasks[taskId].data[0] > 2) + { + gTasks[taskId].data[0] = 0; + if (--gTasks[taskId].data[1] == 0) + gTasks[taskId].func = sub_80DA3CC; + } +} + +void sub_80DA3CC(u8 taskId) +{ + if (gTasks[taskId].data[0] == 0) + { + u8 r4 = sContestantStatus[gContestPlayerMonIndex].attentionLevel; + + sub_80DB89C(); + StringCopy(gStringVar1, gContestMons[gContestPlayerMonIndex].nickname); + StringExpandPlaceholders(gStringVar4, gUnknown_08587D90[r4]); + sub_80DEC30(gStringVar4, 1); + gTasks[taskId].data[0]++; + } + else + { + if (!sub_80DED4C()) + { + gTasks[taskId].data[0] = 0; + gTasks[taskId].func = sub_80DA464; + sub_80DCD48(); + } + } +} + +void sub_80DA464(u8 taskId) +{ + if (gTasks[taskId].data[0]++ > 29) + { + gTasks[taskId].data[0] = 0; + sub_80DC3AC(); + gTasks[taskId].func = sub_80DA49C; + } +} + +void sub_80DA49C(u8 taskId) +{ + if (sub_80DC3C4()) + { + gTasks[taskId].data[0] = 0; + gTasks[taskId].func = sub_80DA4CC; + } +} + +void sub_80DA4CC(u8 taskId) +{ + sub_80DE224(); + gTasks[taskId].func = sub_80DE424; +} + +void sub_80DA4F4(u8 taskId) +{ + sub_80DE350(); + gTasks[taskId].func = sub_80DA51C; +} From f6fbecbc4124dead542bd6ab2a4461d3f4bb3151 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Mon, 7 May 2018 20:49:23 -0400 Subject: [PATCH 030/234] through sub_80DA874 --- asm/contest.s | 382 --------------------------------- include/contest_link_80FC4F4.h | 1 + include/tv.h | 1 + src/contest.c | 147 ++++++++++++- 4 files changed, 147 insertions(+), 384 deletions(-) diff --git a/asm/contest.s b/asm/contest.s index b0436b0c09..574ddf86e7 100644 --- a/asm/contest.s +++ b/asm/contest.s @@ -5,388 +5,6 @@ .text - thumb_func_start sub_80DA51C -sub_80DA51C: @ 80DA51C - push {r4,r5,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r5, r0, 24 - movs r0, 0x8 - bl GetGpuReg - mov r1, sp - strh r0, [r1] - movs r0, 0xC - bl GetGpuReg - mov r4, sp - adds r4, 0x2 - strh r0, [r4] - mov r3, sp - ldrb r2, [r3] - movs r1, 0x4 - negs r1, r1 - adds r0, r1, 0 - ands r0, r2 - strb r0, [r3] - ldrb r0, [r4] - ands r1, r0 - strb r1, [r4] - mov r0, sp - ldrh r1, [r0] - movs r0, 0x8 - bl SetGpuReg - ldrh r1, [r4] - movs r0, 0xC - bl SetGpuReg - ldr r2, =gContestResources - ldr r0, [r2] - ldr r1, [r0] - ldrb r0, [r1, 0x1] - adds r0, 0x1 - strb r0, [r1, 0x1] - ldr r0, [r2] - ldr r0, [r0] - ldrb r0, [r0, 0x1] - cmp r0, 0x5 - bne _080DA590 - ldr r0, =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_80DA5E8 - b _080DA5A0 - .pool -_080DA590: - bl sub_80DDB0C - ldr r0, =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_80DA5B4 -_080DA5A0: - str r0, [r1] - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80DA51C - - thumb_func_start sub_80DA5B4 -sub_80DA5B4: @ 80DA5B4 - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0] - ldrb r1, [r0, 0x6] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - bne _080DA5D8 - ldr r0, =gTasks - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_80D833C - str r0, [r1] -_080DA5D8: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80DA5B4 - - thumb_func_start sub_80DA5E8 -sub_80DA5E8: @ 80DA5E8 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, =gBattle_BG0_Y - movs r1, 0 - strh r1, [r0] - ldr r0, =gBattle_BG2_Y - strh r1, [r0] - ldr r4, =gContestResources - movs r3, 0 - ldr r2, =gUnknown_02039F10 - movs r1, 0x3 -_080DA600: - ldr r0, [r4] - ldr r0, [r0, 0x4] - adds r0, r3, r0 - ldrh r0, [r0, 0x4] - strh r0, [r2] - adds r3, 0x1C - adds r2, 0x2 - subs r1, 0x1 - cmp r1, 0 - bge _080DA600 - bl sub_80DBD18 - bl sub_80DB89C - ldr r0, =gIsLinkContest - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _080DA65C - ldr r0, =gContestResources - ldr r2, [r0] - ldr r0, =gContestPlayerMonIndex - ldrb r1, [r0] - ldr r2, [r2, 0x4] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r0, [r0, 0x8] - bl BravoTrainerPokemonProfile_BeforeInterview1 - b _080DA668 - .pool -_080DA65C: - bl sub_80DF250 - bl sub_80DF4F8 - bl sub_80DF750 -_080DA668: - ldr r1, =gContestRngValue - ldr r0, =gRngValue - ldr r0, [r0] - str r0, [r1] - ldr r4, =gStringVar4 - ldr r1, =gText_0827D597 - adds r0, r4, 0 - bl StringExpandPlaceholders - adds r0, r4, 0 - movs r1, 0x1 - bl sub_80DEC30 - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - movs r1, 0 - strh r1, [r0, 0xC] - ldr r1, =sub_80DA6B4 - str r1, [r0] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80DA5E8 - - thumb_func_start sub_80DA6B4 -sub_80DA6B4: @ 80DA6B4 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - bl sub_80DED4C - adds r4, r0, 0 - cmp r4, 0 - bne _080DA6EA - bl sub_80DE224 - ldr r0, =gBattle_BG1_X - strh r4, [r0] - ldr r1, =gBattle_BG1_Y - movs r0, 0xA0 - strh r0, [r1] - movs r0, 0x62 - movs r1, 0 - bl PlaySE12WithPanning - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - strh r4, [r0, 0x8] - ldr r1, =sub_80DA700 - str r1, [r0] -_080DA6EA: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80DA6B4 - - thumb_func_start sub_80DA700 -sub_80DA700: @ 80DA700 - push {lr} - lsls r0, 24 - lsrs r3, r0, 24 - ldr r1, =gBattle_BG1_Y - ldrh r0, [r1] - subs r0, 0x7 - strh r0, [r1] - lsls r0, 16 - cmp r0, 0 - bge _080DA718 - movs r0, 0 - strh r0, [r1] -_080DA718: - ldrh r2, [r1] - cmp r2, 0 - bne _080DA72E - ldr r0, =gTasks - lsls r1, r3, 2 - adds r1, r3 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_80DA740 - str r0, [r1] - strh r2, [r1, 0x8] -_080DA72E: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80DA700 - - thumb_func_start sub_80DA740 -sub_80DA740: @ 80DA740 - push {r4,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 - ldrh r0, [r4, 0x8] - adds r1, r0, 0x1 - strh r1, [r4, 0x8] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x31 - ble _080DA794 - movs r0, 0 - strh r0, [r4, 0x8] - ldr r0, =gIsLinkContest - ldrb r0, [r0] - movs r1, 0x1 - ands r1, r0 - cmp r1, 0 - beq _080DA780 - ldr r0, =sub_80DA7A0 - b _080DA792 - .pool -_080DA780: - movs r0, 0x1 - negs r0, r0 - str r1, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, =sub_80DA830 -_080DA792: - str r0, [r4] -_080DA794: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80DA740 - - thumb_func_start sub_80DA7A0 -sub_80DA7A0: @ 80DA7A0 - push {r4,r5,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r5, =sub_80FCACC - adds r0, r5, 0 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =sub_80DA7EC - adds r1, r5, 0 - bl SetTaskFuncWithFollowupFunc - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, =TaskDummy1 - str r1, [r0] - bl sub_80DBF68 - movs r0, 0 - bl sub_80DC490 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80DA7A0 - - thumb_func_start sub_80DA7EC -sub_80DA7EC: @ 80DA7EC - push {lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r2, =gTasks - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0] - ldrb r1, [r0, 0x8] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldr r1, =sub_80DA830 - str r1, [r0] - add sp, 0x4 - pop {r0} - bx r0 - .pool - thumb_func_end sub_80DA7EC - - thumb_func_start sub_80DA830 -sub_80DA830: @ 80DA830 - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080DA860 - adds r0, r2, 0 - bl DestroyTask - ldr r0, =gFieldCallback - ldr r1, =sub_80DA874 - str r1, [r0] - bl FreeAllWindowBuffers - bl sub_80D7A5C - bl FreeMonSpritesGfx - ldr r0, =CB2_ReturnToField - bl SetMainCallback2 -_080DA860: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80DA830 - - thumb_func_start sub_80DA874 -sub_80DA874: @ 80DA874 - push {lr} - bl ScriptContext2_Disable - bl EnableBothScriptContexts - pop {r0} - bx r0 - thumb_func_end sub_80DA874 - thumb_func_start sub_80DA884 sub_80DA884: @ 80DA884 push {lr} diff --git a/include/contest_link_80FC4F4.h b/include/contest_link_80FC4F4.h index 16ec1fbd20..6f3bab97dd 100644 --- a/include/contest_link_80FC4F4.h +++ b/include/contest_link_80FC4F4.h @@ -3,5 +3,6 @@ void sub_80FCC88(u8); void sub_80FCC88(u8); +void sub_80FCACC(u8); #endif //GUARD_CONTEST_LINK_80FC4F4_H diff --git a/include/tv.h b/include/tv.h index 19c900ba82..ea296a3275 100644 --- a/include/tv.h +++ b/include/tv.h @@ -45,5 +45,6 @@ void PutPokemonTodayCaughtOnAir(void); void TV_PutSecretBaseVisitOnTheAir(void); bool8 Put3CheersForPokeblocksOnTheAir(const u8 *partnersName, u8 flavor, u8 unused, u8 sheen, u8 language); void PutBattleUpdateOnTheAir(u8 opponentLinkPlayerId, u16 move, u16 speciesPlayer, u16 speciesOpponent); +void BravoTrainerPokemonProfile_BeforeInterview1(u16 move); #endif //GUARD_TV_H diff --git a/src/contest.c b/src/contest.c index 8bf3816071..ac3f120a33 100644 --- a/src/contest.c +++ b/src/contest.c @@ -42,6 +42,8 @@ free(ptr); \ ptr = NULL; +extern void (*gFieldCallback)(void); + void sub_80D782C(void); void sub_80D7C7C(u8 taskId); void sub_80D7CB4(u8 taskId); @@ -79,8 +81,17 @@ void sub_80DA3CC(u8); void sub_80DA464(u8); void sub_80DA49C(u8); void sub_80DA4CC(u8); -void sub_80DE424(u8); void sub_80DA51C(u8); +void sub_80DA5B4(u8); +void sub_80DA5E8(u8); +void sub_80DA6B4(u8); +void sub_80DA700(u8); +void sub_80DA740(u8); +void sub_80DA7A0(u8); +void sub_80DA7EC(u8); +void sub_80DA830(u8); +void sub_80DA874(void); +void sub_80DE424(u8); bool8 sub_80DA8A4(void); u8 sub_80DB0C4(void); u8 sub_80DB120(void); @@ -116,7 +127,9 @@ void sub_80DED60(u32); void sub_80FC9F8(u8); bool8 AreMovesContestCombo(u16, u16); void prints_contest_move_description(u16); - +void sub_80DBD18(void); +void sub_80DF250(void); +void sub_80DF4F8(void); void sub_80DD080(u8); void sub_80DF080(u8); @@ -209,6 +222,7 @@ extern const u8 gText_0827E7EA[]; extern const u8 gText_0827E817[]; extern const u8 gText_0827E58A[]; extern const u8 gText_0827D56F[]; +extern const u8 gText_0827D597[]; void TaskDummy1(u8 taskId) @@ -1819,3 +1833,132 @@ void sub_80DA4F4(u8 taskId) sub_80DE350(); gTasks[taskId].func = sub_80DA51C; } + +void sub_80DA51C(u8 taskId) +{ + vu16 sp0 = GetGpuReg(REG_OFFSET_BG0CNT); + vu16 sp2 = GetGpuReg(REG_OFFSET_BG2CNT); + ((vBgCnt *)&sp0)->priority = 0; + ((vBgCnt *)&sp2)->priority = 0; + SetGpuReg(REG_OFFSET_BG0CNT, sp0); + SetGpuReg(REG_OFFSET_BG2CNT, sp2); + sContest.turnNumber++; + if (sContest.turnNumber == 5) + { + gTasks[taskId].func = sub_80DA5E8; + } + else + { + sub_80DDB0C(); + gTasks[taskId].func = sub_80DA5B4; + } +} + +void sub_80DA5B4(u8 taskId) +{ + if (!sContest.unk1920A_6) + gTasks[taskId].func = sub_80D833C; +} + +void sub_80DA5E8(u8 taskId) +{ + s32 i; + + gBattle_BG0_Y = 0; + gBattle_BG2_Y = 0; + for (i = 0; i < 4; i++) + gUnknown_02039F10[i] = sContestantStatus[i].unk4; + sub_80DBD18(); + sub_80DB89C(); + if (!(gIsLinkContest & 1)) + BravoTrainerPokemonProfile_BeforeInterview1(sContestantStatus[gContestPlayerMonIndex].prevMove); + else + { + sub_80DF250(); + sub_80DF4F8(); + sub_80DF750(); + } + gContestRngValue = gRngValue; + StringExpandPlaceholders(gStringVar4, gText_0827D597); + sub_80DEC30(gStringVar4, 1); + gTasks[taskId].data[2] = 0; + gTasks[taskId].func = sub_80DA6B4; +} + +void sub_80DA6B4(u8 taskId) +{ + if (!sub_80DED4C()) + { + sub_80DE224(); + gBattle_BG1_X = 0; + gBattle_BG1_Y = 160; + PlaySE12WithPanning(SE_C_MAKU_D, 0); + gTasks[taskId].data[0] = 0; + gTasks[taskId].func = sub_80DA700; + } +} + +void sub_80DA700(u8 taskId) +{ + gBattle_BG1_Y -= 7; + if (gBattle_BG1_Y < 0) + gBattle_BG1_Y = 0; + if (*(u16 *)&gBattle_BG1_Y == 0) // Why cast? + { + gTasks[taskId].func = sub_80DA740; + gTasks[taskId].data[0] = 0; + } +} + +void sub_80DA740(u8 taskId) +{ + if (gTasks[taskId].data[0]++ >= 50) + { + gTasks[taskId].data[0] = 0; + if (gIsLinkContest & 1) + { + gTasks[taskId].func = sub_80DA7A0; + } + else + { + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); + gTasks[taskId].func = sub_80DA830; + } + } +} + +void sub_80DA7A0(u8 taskId) +{ + u8 taskId2 = CreateTask(sub_80FCACC, 0); + + SetTaskFuncWithFollowupFunc(taskId2, sub_80FCACC, sub_80DA7EC); + gTasks[taskId].func = TaskDummy1; + sub_80DBF68(); + sub_80DC490(FALSE); +} + +void sub_80DA7EC(u8 taskId) +{ + DestroyTask(taskId); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); + gTasks[sContest.mainTaskId].func = sub_80DA830; +} + +void sub_80DA830(u8 taskId) +{ + if (!gPaletteFade.active) + { + DestroyTask(taskId); + gFieldCallback = sub_80DA874; + FreeAllWindowBuffers(); + sub_80D7A5C(); + FreeMonSpritesGfx(); + SetMainCallback2(CB2_ReturnToField); + } +} + +void sub_80DA874(void) +{ + ScriptContext2_Disable(); + EnableBothScriptContexts(); +} From 5efe8f3a0d0db0228fd0980c90013a4602c731b3 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Tue, 8 May 2018 19:00:23 -0400 Subject: [PATCH 031/234] through sub_80DAB8C --- asm/contest.s | 520 +------------------------------------------------ data/contest.s | 2 +- src/contest.c | 159 ++++++++++++++- 3 files changed, 159 insertions(+), 522 deletions(-) diff --git a/asm/contest.s b/asm/contest.s index 574ddf86e7..2b19b9b662 100644 --- a/asm/contest.s +++ b/asm/contest.s @@ -5,522 +5,6 @@ .text - thumb_func_start sub_80DA884 -sub_80DA884: @ 80DA884 - push {lr} - ldr r0, =gIsLinkContest - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _080DA898 - ldr r1, =gContestPlayerMonIndex - movs r0, 0x3 - strb r0, [r1] -_080DA898: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80DA884 - - thumb_func_start sub_80DA8A4 -sub_80DA8A4: @ 80DA8A4 - push {lr} - ldr r0, =gContestPlayerMonIndex - ldr r1, =gUnknown_02039F2B - ldrb r0, [r0] - ldrb r1, [r1] - cmp r0, r1 - beq _080DA8C0 - movs r0, 0 - b _080DA8C2 - .pool -_080DA8C0: - movs r0, 0x1 -_080DA8C2: - pop {r1} - bx r1 - thumb_func_end sub_80DA8A4 - - thumb_func_start sub_80DA8C8 -sub_80DA8C8: @ 80DA8C8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x14 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r6, =gSaveBlock2Ptr - ldr r1, [r6] - mov r0, sp - bl StringCopy - ldr r0, =gIsLinkContest - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080DA8F2 - mov r0, sp - bl sub_80DF9D4 -_080DA8F2: - ldr r5, =gContestPlayerMonIndex - ldrb r0, [r5] - lsls r0, 6 - ldr r4, =gContestMons + 13 - adds r0, r4 - mov r1, sp - movs r2, 0x8 - bl memcpy - ldr r0, [r6] - ldrb r0, [r0, 0x8] - cmp r0, 0 - bne _080DA928 - ldrb r0, [r5] - lsls r0, 6 - adds r0, r4, r0 - movs r1, 0xD8 - b _080DA930 - .pool -_080DA928: - ldrb r0, [r5] - lsls r0, 6 - adds r0, r4, r0 - movs r1, 0xD9 -_080DA930: - strb r1, [r0, 0x8] - ldr r7, =gContestMons - ldr r6, =gContestPlayerMonIndex - ldrb r0, [r6] - lsls r0, 6 - adds r1, r7, 0 - adds r1, 0x18 - adds r0, r1 - movs r1, 0 - str r1, [r0] - ldrb r0, [r6] - lsls r0, 6 - adds r0, r7 - adds r0, 0x2C - strb r1, [r0] - movs r0, 0x64 - mov r1, r8 - muls r1, r0 - ldr r0, =gPlayerParty - adds r5, r1, r0 - adds r0, r5, 0 - movs r1, 0xB - bl GetMonData - ldrb r1, [r6] - lsls r1, 6 - adds r1, r7 - strh r0, [r1] - adds r0, r5, 0 - movs r1, 0x2 - mov r2, sp - bl GetMonData - mov r0, sp - bl StringGetEnd10 - ldr r0, =gIsLinkContest - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080DA994 - adds r0, r5, 0 - movs r1, 0x3 - bl GetMonData - adds r1, r0, 0 - mov r0, sp - bl sub_80DF9E0 -_080DA994: - ldrb r0, [r6] - lsls r0, 6 - adds r4, r7, 0x2 - adds r0, r4 - mov r1, sp - movs r2, 0xB - bl memcpy - ldrb r0, [r6] - lsls r0, 6 - adds r0, r4 - mov r1, sp - bl StringCopy - adds r0, r5, 0 - movs r1, 0x16 - bl GetMonData - ldrb r1, [r6] - lsls r1, 6 - adds r1, r7 - adds r1, 0x26 - strb r0, [r1] - adds r0, r5, 0 - movs r1, 0x17 - bl GetMonData - ldrb r1, [r6] - lsls r1, 6 - adds r1, r7 - adds r1, 0x27 - strb r0, [r1] - adds r0, r5, 0 - movs r1, 0x18 - bl GetMonData - ldrb r1, [r6] - lsls r1, 6 - adds r1, r7 - adds r1, 0x28 - strb r0, [r1] - adds r0, r5, 0 - movs r1, 0x21 - bl GetMonData - ldrb r1, [r6] - lsls r1, 6 - adds r1, r7 - adds r1, 0x29 - strb r0, [r1] - adds r0, r5, 0 - movs r1, 0x2F - bl GetMonData - ldrb r1, [r6] - lsls r1, 6 - adds r1, r7 - adds r1, 0x2A - strb r0, [r1] - adds r0, r5, 0 - movs r1, 0x30 - bl GetMonData - ldrb r1, [r6] - lsls r1, 6 - adds r1, r7 - adds r1, 0x2B - strb r0, [r1] - adds r0, r5, 0 - movs r1, 0xD - bl GetMonData - ldrb r1, [r6] - lsls r1, 6 - adds r1, r7 - strh r0, [r1, 0x1E] - adds r0, r5, 0 - movs r1, 0xE - bl GetMonData - ldrb r1, [r6] - lsls r1, 6 - adds r1, r7 - strh r0, [r1, 0x20] - adds r0, r5, 0 - movs r1, 0xF - bl GetMonData - ldrb r1, [r6] - lsls r1, 6 - adds r1, r7 - strh r0, [r1, 0x22] - adds r0, r5, 0 - movs r1, 0x10 - bl GetMonData - ldrb r1, [r6] - lsls r1, 6 - adds r1, r7 - strh r0, [r1, 0x24] - adds r0, r5, 0 - movs r1, 0 - bl GetMonData - ldrb r1, [r6] - lsls r1, 6 - adds r2, r7, 0 - adds r2, 0x38 - adds r1, r2 - str r0, [r1] - adds r0, r5, 0 - movs r1, 0x1 - bl GetMonData - ldrb r1, [r6] - lsls r1, 6 - adds r2, r7, 0 - adds r2, 0x3C - adds r1, r2 - str r0, [r1] - adds r0, r5, 0 - movs r1, 0xC - bl GetMonData - lsls r0, 16 - lsrs r2, r0, 16 - ldrb r0, [r6] - lsls r0, 6 - adds r1, r0, r7 - adds r0, r1, 0 - adds r0, 0x26 - ldrb r3, [r0] - adds r0, 0x1 - ldrb r5, [r0] - adds r0, 0x1 - ldrb r6, [r0] - adds r0, 0x1 - ldrb r7, [r0] - adds r0, 0x1 - ldrb r4, [r0] - cmp r2, 0xFE - bne _080DAAC4 - adds r3, 0x14 - b _080DAB12 - .pool -_080DAAC4: - cmp r2, 0xFF - bne _080DAAD4 - lsls r0, r5, 16 - movs r1, 0xA0 - lsls r1, 13 - adds r0, r1 - lsrs r5, r0, 16 - b _080DAB12 -_080DAAD4: - movs r0, 0x80 - lsls r0, 1 - cmp r2, r0 - bne _080DAAE8 - lsls r0, r6, 16 - movs r1, 0xA0 - lsls r1, 13 - adds r0, r1 - lsrs r6, r0, 16 - b _080DAB12 -_080DAAE8: - ldr r0, =0x00000101 - cmp r2, r0 - bne _080DAB00 - lsls r0, r7, 16 - movs r1, 0xA0 - lsls r1, 13 - adds r0, r1 - lsrs r7, r0, 16 - b _080DAB12 - .pool -_080DAB00: - movs r0, 0x81 - lsls r0, 1 - cmp r2, r0 - bne _080DAB12 - lsls r0, r4, 16 - movs r1, 0xA0 - lsls r1, 13 - adds r0, r1 - lsrs r4, r0, 16 -_080DAB12: - cmp r3, 0xFF - ble _080DAB18 - movs r3, 0xFF -_080DAB18: - lsls r0, r5, 16 - asrs r0, 16 - cmp r0, 0xFF - ble _080DAB22 - movs r5, 0xFF -_080DAB22: - lsls r0, r6, 16 - asrs r0, 16 - cmp r0, 0xFF - ble _080DAB2C - movs r6, 0xFF -_080DAB2C: - lsls r0, r7, 16 - asrs r0, 16 - cmp r0, 0xFF - ble _080DAB36 - movs r7, 0xFF -_080DAB36: - lsls r0, r4, 16 - asrs r0, 16 - cmp r0, 0xFF - ble _080DAB40 - movs r4, 0xFF -_080DAB40: - ldr r2, =gContestMons - ldr r1, =gContestPlayerMonIndex - ldrb r0, [r1] - lsls r0, 6 - adds r0, r2 - adds r0, 0x26 - strb r3, [r0] - ldrb r0, [r1] - lsls r0, 6 - adds r0, r2 - adds r0, 0x27 - strb r5, [r0] - ldrb r0, [r1] - lsls r0, 6 - adds r0, r2 - adds r0, 0x28 - strb r6, [r0] - ldrb r0, [r1] - lsls r0, 6 - adds r0, r2 - adds r0, 0x29 - strb r7, [r0] - ldrb r0, [r1] - lsls r0, 6 - adds r0, r2 - adds r0, 0x2A - strb r4, [r0] - add sp, 0x14 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80DA8C8 - - thumb_func_start sub_80DAB8C -sub_80DAB8C: @ 80DAB8C - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x64 - lsls r0, 24 - lsrs r4, r0, 24 - lsls r1, 24 - lsrs r1, 24 - mov r8, r1 - movs r6, 0 - movs r7, 0 - bl sub_80DA884 - ldr r0, =0x00000864 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _080DABC0 - ldr r0, =gIsLinkContest - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _080DABC0 - movs r7, 0x1 -_080DABC0: - movs r5, 0 - ldr r2, =gUnknown_085880A4 - ldr r3, =gUnknown_085898A4 -_080DABC6: - ldrb r0, [r2, 0x1C] - lsls r0, 30 - lsrs r0, 30 - cmp r8, r0 - bne _080DAC3A - cmp r7, 0x1 - bne _080DABEC - ldrb r0, [r3] - cmp r0, 0x1 - beq _080DAC3A - b _080DABF2 - .pool -_080DABEC: - ldrb r0, [r3] - cmp r0, 0x2 - beq _080DAC3A -_080DABF2: - cmp r4, 0 - bne _080DABFE - ldrb r0, [r2, 0x1C] - lsls r0, 29 - cmp r0, 0 - blt _080DAC2E -_080DABFE: - cmp r4, 0x1 - bne _080DAC0A - ldrb r0, [r2, 0x1C] - lsls r0, 28 - cmp r0, 0 - blt _080DAC2E -_080DAC0A: - cmp r4, 0x2 - bne _080DAC16 - ldrb r0, [r2, 0x1C] - lsls r0, 27 - cmp r0, 0 - blt _080DAC2E -_080DAC16: - cmp r4, 0x3 - bne _080DAC22 - ldrb r0, [r2, 0x1C] - lsls r0, 26 - cmp r0, 0 - blt _080DAC2E -_080DAC22: - cmp r4, 0x4 - bne _080DAC3A - ldrb r0, [r2, 0x1C] - lsls r0, 25 - cmp r0, 0 - bge _080DAC3A -_080DAC2E: - adds r0, r6, 0 - adds r1, r0, 0x1 - lsls r1, 24 - lsrs r6, r1, 24 - add r0, sp - strb r5, [r0] -_080DAC3A: - adds r2, 0x40 - adds r3, 0x1 - adds r5, 0x1 - cmp r5, 0x5F - bls _080DABC6 - mov r0, sp - adds r1, r0, r6 - movs r0, 0xFF - strb r0, [r1] - movs r5, 0 - ldr r7, =gUnknown_085880A4 -_080DAC50: - bl Random - lsls r0, 16 - lsrs r0, 16 - adds r1, r6, 0 - bl __modsi3 - lsls r0, 16 - lsrs r0, 16 - ldr r1, =gContestMons - lsls r2, r5, 6 - adds r2, r1 - mov r1, sp - adds r4, r1, r0 - ldrb r1, [r4] - lsls r1, 6 - adds r1, r7 - adds r0, r2, 0 - movs r2, 0x40 - bl memcpy - ldrb r0, [r4] - adds r2, r5, 0x1 - subs r1, r6, 0x1 - cmp r0, 0xFF - beq _080DAC92 - adds r3, r4, 0 -_080DAC86: - ldrb r0, [r3, 0x1] - strb r0, [r3] - adds r3, 0x1 - ldrb r0, [r3] - cmp r0, 0xFF - bne _080DAC86 -_080DAC92: - lsls r0, r1, 24 - lsrs r6, r0, 24 - adds r5, r2, 0 - cmp r5, 0x2 - ble _080DAC50 - ldr r0, =gUnknown_02039F24 - ldrb r0, [r0] - bl sub_80DA8C8 - add sp, 0x64 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80DAB8C - thumb_func_start sub_80DACBC sub_80DACBC: @ 80DACBC push {r4-r7,lr} @@ -542,7 +26,7 @@ sub_80DACBC: @ 80DACBC b _080DADF6 _080DACDE: movs r5, 0 - ldr r3, =gUnknown_085880A4 + ldr r3, =gContestOpponents ldr r6, =gUnknown_085898A4 _080DACE4: ldrb r0, [r3, 0x1C] @@ -640,7 +124,7 @@ _080DAD82: adds r0, r5 lsls r0, 6 add r0, r8 - ldr r2, =gUnknown_085880A4 + ldr r2, =gContestOpponents mov r3, sp adds r4, r3, r1 ldrb r1, [r4] diff --git a/data/contest.s b/data/contest.s index 357a95d1d6..eaf3f8c951 100644 --- a/data/contest.s +++ b/data/contest.s @@ -352,7 +352,7 @@ gUnknown_08587FA4:: @ 8587FA4 .align 2 -gUnknown_085880A4:: @ 85880A4 +gContestOpponents:: @ 85880A4 .include "data/contest_opponents.inc" gUnknown_085898A4:: @ 85898A4 diff --git a/src/contest.c b/src/contest.c index ac3f120a33..bd9fc04032 100644 --- a/src/contest.c +++ b/src/contest.c @@ -7,6 +7,7 @@ #include "constants/moves.h" #include "constants/songs.h" #include "constants/species.h" +#include "constants/flags.h" #include "battle.h" #include "battle_anim.h" #include "blend_palette.h" @@ -34,6 +35,7 @@ #include "dma3.h" #include "battle_message.h" #include "event_scripts.h" +#include "event_data.h" #include "strings.h" #include "contest_effect.h" #include "contest_link_80FC4F4.h" @@ -91,8 +93,8 @@ void sub_80DA7A0(u8); void sub_80DA7EC(u8); void sub_80DA830(u8); void sub_80DA874(void); -void sub_80DE424(u8); bool8 sub_80DA8A4(void); +void sub_80DE424(u8); u8 sub_80DB0C4(void); u8 sub_80DB120(void); void sub_80DB2BC(void); @@ -130,7 +132,6 @@ void prints_contest_move_description(u16); void sub_80DBD18(void); void sub_80DF250(void); void sub_80DF4F8(void); - void sub_80DD080(u8); void sub_80DF080(u8); void sub_80DF750(void); @@ -160,6 +161,8 @@ void sub_80DB944(void); void sub_80DBA18(void); void sub_80DC3AC(void); bool8 sub_80DC3C4(void); +void sub_80DF9D4(u8 *); +void sub_80DF9E0(u8 *, s32); EWRAM_DATA struct ContestPokemon gContestMons[4] = {0}; EWRAM_DATA s16 gUnknown_02039F00[4] = {0}; @@ -223,7 +226,8 @@ extern const u8 gText_0827E817[]; extern const u8 gText_0827E58A[]; extern const u8 gText_0827D56F[]; extern const u8 gText_0827D597[]; - +extern const struct ContestPokemon gContestOpponents[96]; +extern const u8 gUnknown_085898A4[96]; void TaskDummy1(u8 taskId) { @@ -1962,3 +1966,152 @@ void sub_80DA874(void) ScriptContext2_Disable(); EnableBothScriptContexts(); } + +void sub_80DA884(void) +{ + if (!(gIsLinkContest & 1)) + gContestPlayerMonIndex = 3; +} + +bool8 sub_80DA8A4(void) +{ + if (gContestPlayerMonIndex == gUnknown_02039F2B) + return TRUE; + return FALSE; +} + + +void sub_80DA8C8(u8 partyIndex) +{ + u8 name[20]; + u16 heldItem; + s16 cool; + s16 beauty; + s16 cute; + s16 smart; + s16 tough; + + StringCopy(name, gSaveBlock2Ptr->playerName); + if (gIsLinkContest & 1) + { + sub_80DF9D4(name); + } + memcpy(gContestMons[gContestPlayerMonIndex].trainerName, name, 8); + if (gSaveBlock2Ptr->playerGender == MALE) + gContestMons[gContestPlayerMonIndex].trainerGfxId = MAP_OBJ_GFX_LINK_BRENDAN; + else + gContestMons[gContestPlayerMonIndex].trainerGfxId = MAP_OBJ_GFX_LINK_MAY; + gContestMons[gContestPlayerMonIndex].flags = 0; + gContestMons[gContestPlayerMonIndex].unk2C[0] = 0; + gContestMons[gContestPlayerMonIndex].species = GetMonData(&gPlayerParty[partyIndex], MON_DATA_SPECIES); + GetMonData(&gPlayerParty[partyIndex], MON_DATA_NICKNAME, name); + StringGetEnd10(name); + if (gIsLinkContest & 1) + { + sub_80DF9E0(name, GetMonData(&gPlayerParty[partyIndex], MON_DATA_LANGUAGE)); + } + memcpy(gContestMons[gContestPlayerMonIndex].nickname, name, 11); + StringCopy(gContestMons[gContestPlayerMonIndex].nickname, name); + gContestMons[gContestPlayerMonIndex].cool = GetMonData(&gPlayerParty[partyIndex], MON_DATA_COOL); + gContestMons[gContestPlayerMonIndex].beauty = GetMonData(&gPlayerParty[partyIndex], MON_DATA_BEAUTY); + gContestMons[gContestPlayerMonIndex].cute = GetMonData(&gPlayerParty[partyIndex], MON_DATA_CUTE); + gContestMons[gContestPlayerMonIndex].smart = GetMonData(&gPlayerParty[partyIndex], MON_DATA_SMART); + gContestMons[gContestPlayerMonIndex].tough = GetMonData(&gPlayerParty[partyIndex], MON_DATA_TOUGH); + gContestMons[gContestPlayerMonIndex].sheen = GetMonData(&gPlayerParty[partyIndex], MON_DATA_SHEEN); + gContestMons[gContestPlayerMonIndex].moves[0] = GetMonData(&gPlayerParty[partyIndex], MON_DATA_MOVE1); + gContestMons[gContestPlayerMonIndex].moves[1] = GetMonData(&gPlayerParty[partyIndex], MON_DATA_MOVE2); + gContestMons[gContestPlayerMonIndex].moves[2] = GetMonData(&gPlayerParty[partyIndex], MON_DATA_MOVE3); + gContestMons[gContestPlayerMonIndex].moves[3] = GetMonData(&gPlayerParty[partyIndex], MON_DATA_MOVE4); + gContestMons[gContestPlayerMonIndex].personality = GetMonData(&gPlayerParty[partyIndex], MON_DATA_PERSONALITY); + gContestMons[gContestPlayerMonIndex].otId = GetMonData(&gPlayerParty[partyIndex], MON_DATA_OT_ID); + + heldItem = GetMonData(&gPlayerParty[partyIndex], MON_DATA_HELD_ITEM); + cool = gContestMons[gContestPlayerMonIndex].cool; + beauty = gContestMons[gContestPlayerMonIndex].beauty; + cute = gContestMons[gContestPlayerMonIndex].cute; + smart = gContestMons[gContestPlayerMonIndex].smart; + tough = gContestMons[gContestPlayerMonIndex].tough; + if (heldItem == ITEM_RED_SCARF) + cool += 20; + else if (heldItem == ITEM_BLUE_SCARF) + beauty += 20; + else if (heldItem == ITEM_PINK_SCARF) + cute += 20; + else if (heldItem == ITEM_GREEN_SCARF) + smart += 20; + else if (heldItem == ITEM_YELLOW_SCARF) + tough += 20; + if (cool > 255) + cool = 255; + if (beauty > 255) + beauty = 255; + if (cute > 255) + cute = 255; + if (smart > 255) + smart = 255; + if (tough > 255) + tough = 255; + gContestMons[gContestPlayerMonIndex].cool = cool; + gContestMons[gContestPlayerMonIndex].beauty = beauty; + gContestMons[gContestPlayerMonIndex].cute = cute; + gContestMons[gContestPlayerMonIndex].smart = smart; + gContestMons[gContestPlayerMonIndex].tough = tough; +} + +void sub_80DAB8C(u8 contestType, u8 rank) +{ + s32 i; + u8 opponentsCount = 0; + u8 opponents[100]; + bool8 r7 = FALSE; + const u8 * r3; + + sub_80DA884(); + + if (FlagGet(FLAG_SYS_GAME_CLEAR) && !(gIsLinkContest & 1)) + r7 = TRUE; + + // Find all suitable opponents + r3 = gUnknown_085898A4; + for (i = 0; i < ARRAY_COUNT(gContestOpponents); i++) + { + if (rank == gContestOpponents[i].whichRank) + { + if (r7 == TRUE) + { + if (r3[i] == 1) + continue; + } + else + { + if (r3[i] == 2) + continue; + } + if (contestType == 0 && gContestOpponents[i].aiPool_Cool) + opponents[opponentsCount++] = i; + else if (contestType == 1 && gContestOpponents[i].aiPool_Beauty) + opponents[opponentsCount++] = i; + else if (contestType == 2 && gContestOpponents[i].aiPool_Cute) + opponents[opponentsCount++] = i; + else if (contestType == 3 && gContestOpponents[i].aiPool_Smart) + opponents[opponentsCount++] = i; + else if (contestType == 4 && gContestOpponents[i].aiPool_Tough) + opponents[opponentsCount++] = i; + } + } + opponents[opponentsCount] = 0xFF; + + // Choose three random opponents from the list + for (i = 0; i < 3; i++) + { + u16 rnd = Random() % opponentsCount; + s32 j; + + gContestMons[i] = gContestOpponents[opponents[rnd]]; + for (j = rnd; opponents[j] != 0xFF; j++) + opponents[j] = opponents[j + 1]; + opponentsCount--; + } + + sub_80DA8C8(gUnknown_02039F24); +} From 7fdebe0d15754d315386a5bb308d5b7a2eaf648f Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 10 May 2018 17:54:30 -0400 Subject: [PATCH 032/234] through sub_80DAE0C --- asm/contest.s | 254 ----------------------- include/global.h | 2 +- include/script_pokemon_util_80F87D8.h | 7 + src/battle_anim_sound_tasks.c | 2 +- src/battle_interface.c | 2 +- src/battle_main.c | 2 +- src/battle_script_commands.c | 2 +- src/battle_tv.c | 2 +- src/bg.c | 6 +- src/contest.c | 280 +++++++++++++++++++++++++- src/decompress.c | 2 +- src/fossil_specials.c | 2 +- src/item.c | 2 +- src/link_rfu.c | 10 +- src/map_name_popup.c | 2 +- src/match_call.c | 4 +- src/pokemon_summary_screen.c | 12 +- src/recorded_battle.c | 2 +- src/rotating_gate.c | 2 +- src/text.c | 6 +- src/tv.c | 2 +- src/util.c | 2 +- 22 files changed, 315 insertions(+), 292 deletions(-) create mode 100644 include/script_pokemon_util_80F87D8.h diff --git a/asm/contest.s b/asm/contest.s index 2b19b9b662..1d2388e53e 100644 --- a/asm/contest.s +++ b/asm/contest.s @@ -5,260 +5,6 @@ .text - thumb_func_start sub_80DACBC -sub_80DACBC: @ 80DACBC - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x64 - mov r8, r2 - lsls r0, 24 - lsrs r4, r0, 24 - lsls r1, 24 - lsrs r2, r1, 24 - movs r7, 0 - ldr r0, =gUnknown_02039F30 - ldrb r1, [r0] - mov r9, r0 - cmp r1, 0x4 - bne _080DACDE - b _080DADF6 -_080DACDE: - movs r5, 0 - ldr r3, =gContestOpponents - ldr r6, =gUnknown_085898A4 -_080DACE4: - ldrb r0, [r3, 0x1C] - lsls r0, 30 - lsrs r0, 30 - cmp r2, r0 - bne _080DAD56 - mov r0, r8 - cmp r0, 0x1 - bne _080DAD08 - ldrb r0, [r6] - cmp r0, 0x1 - beq _080DAD56 - b _080DAD0E - .pool -_080DAD08: - ldrb r0, [r6] - cmp r0, 0x2 - beq _080DAD56 -_080DAD0E: - cmp r4, 0 - bne _080DAD1A - ldrb r0, [r3, 0x1C] - lsls r0, 29 - cmp r0, 0 - blt _080DAD4A -_080DAD1A: - cmp r4, 0x1 - bne _080DAD26 - ldrb r0, [r3, 0x1C] - lsls r0, 28 - cmp r0, 0 - blt _080DAD4A -_080DAD26: - cmp r4, 0x2 - bne _080DAD32 - ldrb r0, [r3, 0x1C] - lsls r0, 27 - cmp r0, 0 - blt _080DAD4A -_080DAD32: - cmp r4, 0x3 - bne _080DAD3E - ldrb r0, [r3, 0x1C] - lsls r0, 26 - cmp r0, 0 - blt _080DAD4A -_080DAD3E: - cmp r4, 0x4 - bne _080DAD56 - ldrb r0, [r3, 0x1C] - lsls r0, 25 - cmp r0, 0 - bge _080DAD56 -_080DAD4A: - adds r0, r7, 0 - adds r1, r0, 0x1 - lsls r1, 24 - lsrs r7, r1, 24 - add r0, sp - strb r5, [r0] -_080DAD56: - adds r3, 0x40 - adds r6, 0x1 - adds r5, 0x1 - cmp r5, 0x5F - bls _080DACE4 - mov r3, sp - adds r1, r3, r7 - movs r0, 0xFF - strb r0, [r1] - movs r5, 0 - mov r0, r9 - ldrb r1, [r0] - movs r0, 0x4 - subs r0, r1 - cmp r5, r0 - bge _080DADF6 - ldr r3, =gContestMons - mov r8, r3 - mov r6, r9 - movs r0, 0x2 - add r0, r8 - mov r9, r0 -_080DAD82: - bl sub_80F903C - lsls r0, 16 - lsrs r0, 16 - adds r1, r7, 0 - bl __modsi3 - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - ldrb r0, [r6] - adds r0, r5 - lsls r0, 6 - add r0, r8 - ldr r2, =gContestOpponents - mov r3, sp - adds r4, r3, r1 - ldrb r1, [r4] - lsls r1, 6 - adds r1, r2 - movs r2, 0x40 - bl memcpy - ldrb r0, [r6] - adds r0, r5 - lsls r0, 6 - mov r1, r8 - adds r1, 0xD - adds r0, r1 - bl sub_80DF9D4 - ldrb r0, [r6] - adds r0, r5 - lsls r0, 6 - add r0, r9 - movs r1, 0x2 - bl sub_80DF9E0 - ldrb r0, [r4] - adds r3, r5, 0x1 - subs r1, r7, 0x1 - cmp r0, 0xFF - beq _080DADE6 - adds r2, r4, 0 -_080DADDA: - ldrb r0, [r2, 0x1] - strb r0, [r2] - adds r2, 0x1 - ldrb r0, [r2] - cmp r0, 0xFF - bne _080DADDA -_080DADE6: - lsls r0, r1, 24 - lsrs r7, r0, 24 - adds r5, r3, 0 - ldrb r1, [r6] - movs r0, 0x4 - subs r0, r1 - cmp r5, r0 - blt _080DAD82 -_080DADF6: - add sp, 0x64 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80DACBC - - thumb_func_start sub_80DAE0C -sub_80DAE0C: @ 80DAE0C - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x2D - bl GetMonData - cmp r0, 0 - beq _080DAE1E - movs r0, 0x3 - b _080DAE9A -_080DAE1E: - adds r0, r4, 0 - movs r1, 0x39 - bl GetMonData - cmp r0, 0 - bne _080DAE2E - movs r0, 0x4 - b _080DAE9A -_080DAE2E: - ldr r0, =gSpecialVar_ContestCategory - ldrh r0, [r0] - cmp r0, 0x4 - bhi _080DAE82 - lsls r0, 2 - ldr r1, =_080DAE48 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080DAE48: - .4byte _080DAE5C - .4byte _080DAE62 - .4byte _080DAE68 - .4byte _080DAE6E - .4byte _080DAE74 -_080DAE5C: - adds r0, r4, 0 - movs r1, 0x32 - b _080DAE78 -_080DAE62: - adds r0, r4, 0 - movs r1, 0x33 - b _080DAE78 -_080DAE68: - adds r0, r4, 0 - movs r1, 0x34 - b _080DAE78 -_080DAE6E: - adds r0, r4, 0 - movs r1, 0x35 - b _080DAE78 -_080DAE74: - adds r0, r4, 0 - movs r1, 0x36 -_080DAE78: - bl GetMonData - lsls r0, 24 - lsrs r1, r0, 24 - b _080DAE86 -_080DAE82: - movs r0, 0 - b _080DAE9A -_080DAE86: - ldr r0, =gSpecialVar_ContestRank - adds r2, r1, 0 - ldrh r1, [r0] - movs r0, 0x2 - cmp r2, r1 - bhi _080DAE9A - movs r0, 0 - cmp r2, r1 - bcc _080DAE9A - movs r0, 0x1 -_080DAE9A: - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80DAE0C - thumb_func_start sub_80DAEA4 sub_80DAEA4: @ 80DAEA4 push {r4,r5,lr} diff --git a/include/global.h b/include/global.h index ec636bb074..b73baf2ce4 100644 --- a/include/global.h +++ b/include/global.h @@ -11,7 +11,7 @@ // to help in decompiling #define asm_comment(x) asm volatile("@ -- " x " -- ") #define asm_unified(x) asm(".syntax unified\n" x "\n.syntax divided") -#define ASM_DIRECT __attribute__((naked)) +#define NAKED __attribute__((naked)) // IDE support #if defined (__APPLE__) || defined (__CYGWIN__) diff --git a/include/script_pokemon_util_80F87D8.h b/include/script_pokemon_util_80F87D8.h new file mode 100644 index 0000000000..555b3428b7 --- /dev/null +++ b/include/script_pokemon_util_80F87D8.h @@ -0,0 +1,7 @@ + +#ifndef GUARD_SCRIPT_POKEMON_UTIL_80F87D8_H +#define GUARD_SCRIPT_POKEMON_UTIL_80F87D8_H + +u16 sub_80F903C(void); + +#endif // GUARD_SCRIPT_POKEMON_UTIL_80F87D8_H diff --git a/src/battle_anim_sound_tasks.c b/src/battle_anim_sound_tasks.c index e956fd44f6..2316b97590 100644 --- a/src/battle_anim_sound_tasks.c +++ b/src/battle_anim_sound_tasks.c @@ -386,7 +386,7 @@ void sub_8159308(u8 taskId) DestroyAnimVisualTask(taskId); } #else -ASM_DIRECT +NAKED void sub_8159308(u8 taskId) { asm_unified(" push {r4,r5,lr}\n\ diff --git a/src/battle_interface.c b/src/battle_interface.c index 0a8bf3ed7e..9ef45020df 100644 --- a/src/battle_interface.c +++ b/src/battle_interface.c @@ -648,7 +648,7 @@ static void sub_8072308(s16 arg0, u16 *arg1, u8 arg2) } #else -ASM_DIRECT +NAKED static void sub_8072308(s16 arg0, u16 *arg1, u8 arg2) { asm(".syntax unified\n\ diff --git a/src/battle_main.c b/src/battle_main.c index 70eebed854..55845f2d11 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -3591,7 +3591,7 @@ static void BattleIntroOpponent1SendsOutMonAnimation(void) gBattleMainFunc = BattleIntroRecordMonsToDex; } #else -ASM_DIRECT +NAKED static void BattleIntroOpponent1SendsOutMonAnimation(void) { asm(".syntax unified\n\ diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index d1a18e38f0..7552d48724 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -3608,7 +3608,7 @@ static void atk24(void) } } #else -ASM_DIRECT +NAKED static void atk24(void) { asm("\n\ diff --git a/src/battle_tv.c b/src/battle_tv.c index 777b4846ff..e5d97be304 100644 --- a/src/battle_tv.c +++ b/src/battle_tv.c @@ -812,7 +812,7 @@ void TryPutLinkBattleTvShowOnAir(void) } #else -ASM_DIRECT +NAKED void TryPutLinkBattleTvShowOnAir(void) { asm_unified( diff --git a/src/bg.c b/src/bg.c index 975c72a942..2f4cdc8564 100644 --- a/src/bg.c +++ b/src/bg.c @@ -463,7 +463,7 @@ bool8 IsDma3ManagerBusyWithBgCopy(void) return FALSE; } #else -ASM_DIRECT +NAKED bool8 IsDma3ManagerBusyWithBgCopy(void) { asm("push {r4-r7,lr}\n\ @@ -1048,7 +1048,7 @@ void CopyRectToBgTilemapBufferRect(u8 bg, const void* src, u8 srcX, u8 srcY, u8 } } }*/ -ASM_DIRECT +NAKED void CopyRectToBgTilemapBufferRect(u8 bg, const void* src, u8 srcX, u8 srcY, u8 srcWidth, u8 srcHeight, u8 destX, u8 destY, u8 rectWidth, u8 rectHeight, u8 palette1, u16 tileOffset, u16 palette2) { asm("push {r4-r7,lr}\n\ @@ -1495,7 +1495,7 @@ void CopyTileMapEntry(u16 *src, u16 *dest, s32 palette1, u32 tileOffset, u32 pal *dest = test; } #else -ASM_DIRECT +NAKED void CopyTileMapEntry(u16 *src, u16 *dest, s32 palette1, u32 tileOffset, u32 palette2) { asm("push {r4-r6,lr}\n\ diff --git a/src/contest.c b/src/contest.c index bd9fc04032..82547e4284 100644 --- a/src/contest.c +++ b/src/contest.c @@ -39,6 +39,7 @@ #include "strings.h" #include "contest_effect.h" #include "contest_link_80FC4F4.h" +#include "script_pokemon_util_80F87D8.h" #define DESTROY_POINTER(ptr) \ free(ptr); \ @@ -2087,15 +2088,15 @@ void sub_80DAB8C(u8 contestType, u8 rank) if (r3[i] == 2) continue; } - if (contestType == 0 && gContestOpponents[i].aiPool_Cool) + if (contestType == CONTEST_CATEGORY_COOL && gContestOpponents[i].aiPool_Cool) opponents[opponentsCount++] = i; - else if (contestType == 1 && gContestOpponents[i].aiPool_Beauty) + else if (contestType == CONTEST_CATEGORY_BEAUTY && gContestOpponents[i].aiPool_Beauty) opponents[opponentsCount++] = i; - else if (contestType == 2 && gContestOpponents[i].aiPool_Cute) + else if (contestType == CONTEST_CATEGORY_CUTE && gContestOpponents[i].aiPool_Cute) opponents[opponentsCount++] = i; - else if (contestType == 3 && gContestOpponents[i].aiPool_Smart) + else if (contestType == CONTEST_CATEGORY_SMART && gContestOpponents[i].aiPool_Smart) opponents[opponentsCount++] = i; - else if (contestType == 4 && gContestOpponents[i].aiPool_Tough) + else if (contestType == CONTEST_CATEGORY_TOUGH && gContestOpponents[i].aiPool_Tough) opponents[opponentsCount++] = i; } } @@ -2115,3 +2116,272 @@ void sub_80DAB8C(u8 contestType, u8 rank) sub_80DA8C8(gUnknown_02039F24); } + +#ifdef NONMATCHING +void sub_80DACBC(u8 contestType, u8 rank, bool32 isPostgame) +{ + s32 i; + u8 opponentsCount = 0; + u8 opponents[100]; + const u8 * r6; + + if (gUnknown_02039F30 == 4) + return; + + r6 = gUnknown_085898A4; + for (i = 0; i < ARRAY_COUNT(gContestOpponents); i++) + { + if (rank != gContestOpponents[i].whichRank) + continue; + if (isPostgame == TRUE) + { + if (r6[i] == 1) + continue; + } + else + { + if (r6[i] == 2) + continue; + } + if (contestType == CONTEST_CATEGORY_COOL && gContestOpponents[i].aiPool_Cool) + opponents[opponentsCount++] = i; + else if (contestType == CONTEST_CATEGORY_BEAUTY && gContestOpponents[i].aiPool_Beauty) + opponents[opponentsCount++] = i; + else if (contestType == CONTEST_CATEGORY_CUTE && gContestOpponents[i].aiPool_Cute) + opponents[opponentsCount++] = i; + else if (contestType == CONTEST_CATEGORY_SMART && gContestOpponents[i].aiPool_Smart) + opponents[opponentsCount++] = i; + else if (contestType == CONTEST_CATEGORY_TOUGH && gContestOpponents[i].aiPool_Tough) + opponents[opponentsCount++] = i; + } + opponents[opponentsCount] = 0xFF; + for (i = 0; i < 4 - gUnknown_02039F30; i++) + { + u16 rnd = sub_80F903C() % opponentsCount; + s32 j; + + gContestMons[gUnknown_02039F30 + i] = gContestOpponents[opponents[rnd]]; + sub_80DF9D4(gContestMons[gUnknown_02039F30 + i].trainerName); + sub_80DF9E0(gContestMons[gUnknown_02039F30 + i].nickname, GAME_LANGUAGE); + for (j = rnd; opponents[j] != 0xFF; j++) + opponents[j] = opponents[j + 1]; + opponentsCount--; + } +} +#else +NAKED void sub_80DACBC(u8 contestType, u8 rank, bool32 isPostgame) +{ + asm_unified("\tpush {r4-r7,lr}\n" + "\tmov r7, r9\n" + "\tmov r6, r8\n" + "\tpush {r6,r7}\n" + "\tsub sp, 0x64\n" + "\tmov r8, r2\n" + "\tlsls r0, 24\n" + "\tlsrs r4, r0, 24\n" + "\tlsls r1, 24\n" + "\tlsrs r2, r1, 24\n" + "\tmovs r7, 0\n" + "\tldr r0, =gUnknown_02039F30\n" + "\tldrb r1, [r0]\n" + "\tmov r9, r0\n" + "\tcmp r1, 0x4\n" + "\tbne _080DACDE\n" + "\tb _080DADF6\n" + "_080DACDE:\n" + "\tmovs r5, 0\n" + "\tldr r3, =gContestOpponents\n" + "\tldr r6, =gUnknown_085898A4\n" + "_080DACE4:\n" + "\tldrb r0, [r3, 0x1C]\n" + "\tlsls r0, 30\n" + "\tlsrs r0, 30\n" + "\tcmp r2, r0\n" + "\tbne _080DAD56\n" + "\tmov r0, r8\n" + "\tcmp r0, 0x1\n" + "\tbne _080DAD08\n" + "\tldrb r0, [r6]\n" + "\tcmp r0, 0x1\n" + "\tbeq _080DAD56\n" + "\tb _080DAD0E\n" + "\t.pool\n" + "_080DAD08:\n" + "\tldrb r0, [r6]\n" + "\tcmp r0, 0x2\n" + "\tbeq _080DAD56\n" + "_080DAD0E:\n" + "\tcmp r4, 0\n" + "\tbne _080DAD1A\n" + "\tldrb r0, [r3, 0x1C]\n" + "\tlsls r0, 29\n" + "\tcmp r0, 0\n" + "\tblt _080DAD4A\n" + "_080DAD1A:\n" + "\tcmp r4, 0x1\n" + "\tbne _080DAD26\n" + "\tldrb r0, [r3, 0x1C]\n" + "\tlsls r0, 28\n" + "\tcmp r0, 0\n" + "\tblt _080DAD4A\n" + "_080DAD26:\n" + "\tcmp r4, 0x2\n" + "\tbne _080DAD32\n" + "\tldrb r0, [r3, 0x1C]\n" + "\tlsls r0, 27\n" + "\tcmp r0, 0\n" + "\tblt _080DAD4A\n" + "_080DAD32:\n" + "\tcmp r4, 0x3\n" + "\tbne _080DAD3E\n" + "\tldrb r0, [r3, 0x1C]\n" + "\tlsls r0, 26\n" + "\tcmp r0, 0\n" + "\tblt _080DAD4A\n" + "_080DAD3E:\n" + "\tcmp r4, 0x4\n" + "\tbne _080DAD56\n" + "\tldrb r0, [r3, 0x1C]\n" + "\tlsls r0, 25\n" + "\tcmp r0, 0\n" + "\tbge _080DAD56\n" + "_080DAD4A:\n" + "\tadds r0, r7, 0\n" + "\tadds r1, r0, 0x1\n" + "\tlsls r1, 24\n" + "\tlsrs r7, r1, 24\n" + "\tadd r0, sp\n" + "\tstrb r5, [r0]\n" + "_080DAD56:\n" + "\tadds r3, 0x40\n" + "\tadds r6, 0x1\n" + "\tadds r5, 0x1\n" + "\tcmp r5, 0x5F\n" + "\tbls _080DACE4\n" + "\tmov r3, sp\n" + "\tadds r1, r3, r7\n" + "\tmovs r0, 0xFF\n" + "\tstrb r0, [r1]\n" + "\tmovs r5, 0\n" + "\tmov r0, r9\n" + "\tldrb r1, [r0]\n" + "\tmovs r0, 0x4\n" + "\tsubs r0, r1\n" + "\tcmp r5, r0\n" + "\tbge _080DADF6\n" + "\tldr r3, =gContestMons\n" + "\tmov r8, r3\n" + "\tmov r6, r9\n" + "\tmovs r0, 0x2\n" + "\tadd r0, r8\n" + "\tmov r9, r0\n" + "_080DAD82:\n" + "\tbl sub_80F903C\n" + "\tlsls r0, 16\n" + "\tlsrs r0, 16\n" + "\tadds r1, r7, 0\n" + "\tbl __modsi3\n" + "\tadds r1, r0, 0\n" + "\tlsls r1, 16\n" + "\tlsrs r1, 16\n" + "\tldrb r0, [r6]\n" + "\tadds r0, r5\n" + "\tlsls r0, 6\n" + "\tadd r0, r8\n" + "\tldr r2, =gContestOpponents\n" + "\tmov r3, sp\n" + "\tadds r4, r3, r1\n" + "\tldrb r1, [r4]\n" + "\tlsls r1, 6\n" + "\tadds r1, r2\n" + "\tmovs r2, 0x40\n" + "\tbl memcpy\n" + "\tldrb r0, [r6]\n" + "\tadds r0, r5\n" + "\tlsls r0, 6\n" + "\tmov r1, r8\n" + "\tadds r1, 0xD\n" + "\tadds r0, r1\n" + "\tbl sub_80DF9D4\n" + "\tldrb r0, [r6]\n" + "\tadds r0, r5\n" + "\tlsls r0, 6\n" + "\tadd r0, r9\n" + "\tmovs r1, 0x2\n" + "\tbl sub_80DF9E0\n" + "\tldrb r0, [r4]\n" + "\tadds r3, r5, 0x1\n" + "\tsubs r1, r7, 0x1\n" + "\tcmp r0, 0xFF\n" + "\tbeq _080DADE6\n" + "\tadds r2, r4, 0\n" + "_080DADDA:\n" + "\tldrb r0, [r2, 0x1]\n" + "\tstrb r0, [r2]\n" + "\tadds r2, 0x1\n" + "\tldrb r0, [r2]\n" + "\tcmp r0, 0xFF\n" + "\tbne _080DADDA\n" + "_080DADE6:\n" + "\tlsls r0, r1, 24\n" + "\tlsrs r7, r0, 24\n" + "\tadds r5, r3, 0\n" + "\tldrb r1, [r6]\n" + "\tmovs r0, 0x4\n" + "\tsubs r0, r1\n" + "\tcmp r5, r0\n" + "\tblt _080DAD82\n" + "_080DADF6:\n" + "\tadd sp, 0x64\n" + "\tpop {r3,r4}\n" + "\tmov r8, r3\n" + "\tmov r9, r4\n" + "\tpop {r4-r7}\n" + "\tpop {r0}\n" + "\tbx r0\n" + "\t.pool"); +} +#endif + +// GetContestAvailability? +u8 sub_80DAE0C(struct Pokemon *pkmn) +{ + u8 ribbon; + u8 retVal; + + if (GetMonData(pkmn, MON_DATA_IS_EGG)) + return 3; + if (GetMonData(pkmn, MON_DATA_HP) == 0) + return 4; + switch (gSpecialVar_ContestCategory) + { + case CONTEST_CATEGORY_COOL: + ribbon = GetMonData(pkmn, MON_DATA_COOL_RIBBON); + break; + case CONTEST_CATEGORY_BEAUTY: + ribbon = GetMonData(pkmn, MON_DATA_BEAUTY_RIBBON); + break; + case CONTEST_CATEGORY_CUTE: + ribbon = GetMonData(pkmn, MON_DATA_CUTE_RIBBON); + break; + case CONTEST_CATEGORY_SMART: + ribbon = GetMonData(pkmn, MON_DATA_SMART_RIBBON); + break; + case CONTEST_CATEGORY_TOUGH: + ribbon = GetMonData(pkmn, MON_DATA_TOUGH_RIBBON); + break; + default: + return 0; + } + + // Couldn't get this to match any other way. + // Returns 2, 1, or 0 respectively if ribbon's rank is above, equal, or below + // the current contest rank. + if (ribbon > gSpecialVar_ContestRank) + retVal = 2; + else if (ribbon >= gSpecialVar_ContestRank) + retVal = 1; + else + retVal = 0; + return retVal; +} diff --git a/src/decompress.c b/src/decompress.c index fb288bf4a4..1d4165d753 100644 --- a/src/decompress.c +++ b/src/decompress.c @@ -117,7 +117,7 @@ void Unused_LZDecompressWramIndirect(const void **src, void *dest) } // This one (unused) function is really challenging, won't even try to decompile it. -ASM_DIRECT +NAKED void sub_803471C() { asm(".syntax unified\n\ diff --git a/src/fossil_specials.c b/src/fossil_specials.c index 95fafc17bf..060915fa64 100644 --- a/src/fossil_specials.c +++ b/src/fossil_specials.c @@ -335,7 +335,7 @@ static void sub_81BED50(u8 taskId) } #else -ASM_DIRECT +NAKED static void sub_81BED50(u8 taskId) { asm("\n\ diff --git a/src/item.c b/src/item.c index 975fef3aea..319d167fc7 100644 --- a/src/item.c +++ b/src/item.c @@ -234,7 +234,7 @@ bool8 CheckBagHasSpace(u16 itemId, u16 count) } } #else -ASM_DIRECT +NAKED bool8 CheckBagHasSpace(u16 itemId, u16 count) { asm_unified("push {r4-r7,lr}\n\ diff --git a/src/link_rfu.c b/src/link_rfu.c index a1917ed244..37aa20950b 100644 --- a/src/link_rfu.c +++ b/src/link_rfu.c @@ -2051,7 +2051,7 @@ u8 sub_800DD1C(u8 maxFlags) return 0; } #else -ASM_DIRECT u8 sub_800DD1C(u8 maxFlags) +NAKED u8 sub_800DD1C(u8 maxFlags) { asm_unified("\tpush {r4-r7,lr}\n" "\tlsls r0, 24\n" @@ -2897,7 +2897,7 @@ void sub_800EFB0(void) CpuFill16(0, gRecvCmds, sizeof gRecvCmds); } #else -ASM_DIRECT void sub_800EFB0(void) +NAKED void sub_800EFB0(void) { asm_unified("\tpush {r4-r7,lr}\n" "\tsub sp, 0x4\n" @@ -3233,7 +3233,7 @@ void sub_800F638(u8 unused, u32 flags) } } #else -ASM_DIRECT void sub_800F638(u8 unused, u32 flags) +NAKED void sub_800F638(u8 unused, u32 flags) { asm_unified("\tpush {r4-r7,lr}\n" "\tmov r7, r10\n" @@ -3601,7 +3601,7 @@ void sub_800FD14(u16 command) } } #else -ASM_DIRECT void sub_800FD14(u16 command) +NAKED void sub_800FD14(u16 command) { asm_unified("\tpush {r4,r5,lr}\n" "\tlsls r0, 16\n" @@ -4699,7 +4699,7 @@ void sub_801120C(u8 a0) } } #else -ASM_DIRECT void sub_801120C(u8 a0) +NAKED void sub_801120C(u8 a0) { asm_unified("\tpush {r4-r7,lr}\n" "\tmov r7, r10\n" diff --git a/src/map_name_popup.c b/src/map_name_popup.c index 59b1622ebf..1782e9af82 100644 --- a/src/map_name_popup.c +++ b/src/map_name_popup.c @@ -276,7 +276,7 @@ static void sub_80D4A78(u8 bg, u8 x, u8 y, u8 deltaX, u8 deltaY, u8 unused) } } #else -ASM_DIRECT +NAKED static void sub_80D4A78(u8 bg, u8 x, u8 y, u8 deltaX, u8 deltaY, u8 unused) { asm("\n\ diff --git a/src/match_call.c b/src/match_call.c index 9c1e02947d..aa6945161a 100644 --- a/src/match_call.c +++ b/src/match_call.c @@ -980,7 +980,7 @@ static void sub_81D199C(const match_call_text_data_t *sub0, u16 idx, u8 *dest) } } #else -static ASM_DIRECT void sub_81D199C(const match_call_text_data_t *sub0, u16 idx, u8 *dest) +static NAKED void sub_81D199C(const match_call_text_data_t *sub0, u16 idx, u8 *dest) { asm_unified("\tpush {r4-r7,lr}\n" "\tmov r7, r10\n" @@ -1163,7 +1163,7 @@ const u8 *sub_81D1B40(u32 idx, u32 offset) return NULL; } #else -ASM_DIRECT const u8 *sub_81D1B40(u32 idx, u32 offset) +NAKED const u8 *sub_81D1B40(u32 idx, u32 offset) { asm_unified("\tpush {r4-r7,lr}\n" "\tmov r7, r9\n" diff --git a/src/pokemon_summary_screen.c b/src/pokemon_summary_screen.c index f77b7c38c9..bf3e9aeee3 100644 --- a/src/pokemon_summary_screen.c +++ b/src/pokemon_summary_screen.c @@ -1417,7 +1417,7 @@ void sub_81C14BC(struct Pokemon *mon, u8 swappingFromId, u8 swappingToId) *ppBonusesPtr = localPpBonuses; } #else -ASM_DIRECT +NAKED void sub_81C14BC(struct Pokemon *mon, u8 swappingFromId, u8 swappingToId) { asm(".syntax unified\n\ @@ -1628,7 +1628,7 @@ void sub_81C15EC(struct BoxPokemon *mon, u8 swappingFromId, u8 swappingToId) *ppBonusesPtr = localPpBonuses; } #else -ASM_DIRECT +NAKED void sub_81C15EC(struct BoxPokemon *mon, u8 swappingFromId, u8 swappingToId) { asm(".syntax unified\n\ @@ -2039,7 +2039,7 @@ void sub_81C1CB0(struct UnkStruct_61CC04 *a, u16 *b, u8 c, u8 d) Free(alloced); } #else -ASM_DIRECT +NAKED void sub_81C1CB0(struct UnkStruct_61CC04 *a, u16 *b, u8 c, u8 d) { asm(".syntax unified\n\ @@ -2341,7 +2341,7 @@ void sub_81C2194(u16 *a, u16 b, u8 c) } } #else -ASM_DIRECT +NAKED void sub_81C2194(u16 *a, u16 b, u8 c) { asm(".syntax unified\n\ @@ -3026,7 +3026,7 @@ void sub_81C335C() sub_81C25A4(r4, gText_FiveMarks, r5, 1, 0, 1); } #else -ASM_DIRECT +NAKED void sub_81C335C() { asm(".syntax unified\n\ @@ -3369,7 +3369,7 @@ void sub_81C3B08(u8 a) sub_81C25A4(sp, text, offset, (a<<4), 0, r5); } #else -ASM_DIRECT +NAKED void sub_81C3B08(u8 a) { asm(".syntax unified\n\ diff --git a/src/recorded_battle.c b/src/recorded_battle.c index 4cb2eab497..eb48ab15a3 100644 --- a/src/recorded_battle.c +++ b/src/recorded_battle.c @@ -475,7 +475,7 @@ u32 MoveRecordedBattleToSaveData(void) } #else -ASM_DIRECT +NAKED u32 MoveRecordedBattleToSaveData(void) { asm(".syntax unified\n\ diff --git a/src/rotating_gate.c b/src/rotating_gate.c index db5935fc30..a16401fa23 100644 --- a/src/rotating_gate.c +++ b/src/rotating_gate.c @@ -925,7 +925,7 @@ static s32 RotatingGate_CanRotate(u8 gateId, s16 rotationDirection) } #else -ASM_DIRECT +NAKED static s32 RotatingGate_CanRotate(u8 a, s16 rotationDirection) { asm(".syntax unified\n\ diff --git a/src/text.c b/src/text.c index eacfd2a1f9..a902844e8d 100644 --- a/src/text.c +++ b/src/text.c @@ -375,7 +375,7 @@ void GenerateFontHalfRowLookupTable(u8 fgColor, u8 bgColor, u8 shadowColor) *(current++) = (shadowColor << 12) | (shadowColor << 8) | (shadowColor << 4) | shadowColor; } #else -ASM_DIRECT +NAKED void GenerateFontHalfRowLookupTable(u8 fgColor, u8 bgColor, u8 shadowColor) { asm("push {r4-r7,lr}\n\ @@ -871,7 +871,7 @@ void DecompressGlyphTile(const u16 *src, u16 *dest) *(dest) = (gFontHalfRowLookupTable[gFontHalfRowOffsets[src[1] & 0xFF]] << 16) | gFontHalfRowLookupTable[gFontHalfRowOffsets[src[1] >> 8]]; } #else -ASM_DIRECT +NAKED void DecompressGlyphTile(const u16 *src, u16 *dest) { asm("push {r4-r7,lr}\n\ @@ -1052,7 +1052,7 @@ u8 GetLastTextColor(u8 colorType) } } -ASM_DIRECT +NAKED void CopyGlyphToWindow(struct TextPrinter *x) { asm("push {r4-r7,lr}\n\ diff --git a/src/tv.c b/src/tv.c index 4b6e682bd1..13d522f107 100644 --- a/src/tv.c +++ b/src/tv.c @@ -3931,7 +3931,7 @@ static void sub_80F0708(void) // FIXME: register allocation shenanigans } } #else -ASM_DIRECT static void sub_80F0708(void) +NAKED static void sub_80F0708(void) { asm_unified("\tpush {r4-r7,lr}\n" "\tmov r7, r9\n" diff --git a/src/util.c b/src/util.c index 4f9241b212..88be4e4a13 100644 --- a/src/util.c +++ b/src/util.c @@ -230,7 +230,7 @@ void CopySpriteTiles(u8 shape, u8 size, u8 *tiles, u16 *tilemap, u8 *output) } #else -ASM_DIRECT void CopySpriteTiles(u8 shape, u8 size, u8 *tiles, u16 *tilemap, u8 *output) +NAKED void CopySpriteTiles(u8 shape, u8 size, u8 *tiles, u16 *tilemap, u8 *output) { asm("\n\ .syntax unified\n\ From 508a8e51824e4d9d09a5122576c3b69f43cb2cbf Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 10 May 2018 18:16:58 -0400 Subject: [PATCH 033/234] through sub_80DAFA0 --- asm/contest.s | 152 ---------------------------------------------- include/strings.h | 2 + src/contest.c | 60 +++++++++++++++++- 3 files changed, 60 insertions(+), 154 deletions(-) diff --git a/asm/contest.s b/asm/contest.s index 1d2388e53e..a21aa29e87 100644 --- a/asm/contest.s +++ b/asm/contest.s @@ -5,158 +5,6 @@ .text - thumb_func_start sub_80DAEA4 -sub_80DAEA4: @ 80DAEA4 - push {r4,r5,lr} - movs r5, 0 -_080DAEA8: - ldr r0, =gUnknown_02039F26 - adds r0, r5, r0 - ldrb r0, [r0] - movs r1, 0 - bl FillWindowPixelBuffer - lsls r4, r5, 24 - lsrs r4, 24 - adds r0, r4, 0 - bl sub_80DAF04 - adds r0, r4, 0 - bl sub_80DAF88 - adds r5, 0x1 - cmp r5, 0x3 - ble _080DAEA8 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80DAEA4 - - thumb_func_start sub_80DAED4 -sub_80DAED4: @ 80DAED4 - push {r4,r5,lr} - adds r5, r0, 0 - lsls r4, r1, 24 - lsrs r4, 24 - ldr r0, =gDisplayedStringBattle - ldr r1, =gText_ColorTransparent - bl StringCopy - adds r1, r0, 0 - subs r0, r1, 0x1 - strb r4, [r0] - adds r0, r1, 0 - adds r1, r5, 0 - bl StringCopy - adds r1, r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80DAED4 - - thumb_func_start sub_80DAF04 -sub_80DAF04: @ 80DAF04 - push {lr} - adds r1, r0, 0 - lsls r1, 24 - lsrs r0, r1, 24 - movs r2, 0xA0 - lsls r2, 20 - adds r1, r2 - lsrs r1, 24 - bl sub_80DAF1C - pop {r0} - bx r0 - thumb_func_end sub_80DAF04 - - thumb_func_start sub_80DAF1C -sub_80DAF1C: @ 80DAF1C - push {r4,r5,lr} - sub sp, 0x24 - adds r4, r1, 0 - lsls r0, 24 - lsrs r0, 24 - adds r5, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r1, =gText_Slash - add r0, sp, 0x4 - bl StringCopy - lsls r1, r5, 6 - ldr r0, =gContestMons + 13 - adds r1, r0 - add r0, sp, 0x4 - bl StringAppend - add r0, sp, 0x4 - adds r1, r4, 0 - bl sub_80DAED4 - ldr r4, =gDisplayedStringBattle - movs r0, 0x7 - adds r1, r4, 0 - movs r2, 0x60 - bl GetStringRightAlignXOffset - adds r2, r0, 0 - cmp r2, 0x37 - ble _080DAF5C - movs r2, 0x37 -_080DAF5C: - ldr r0, =gUnknown_02039F26 - adds r0, r5, r0 - ldrb r0, [r0] - movs r1, 0x7 - str r1, [sp] - adds r1, r4, 0 - movs r3, 0x1 - bl sub_80DEBD0 - add sp, 0x24 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80DAF1C - - thumb_func_start sub_80DAF88 -sub_80DAF88: @ 80DAF88 - push {lr} - adds r1, r0, 0 - lsls r1, 24 - lsrs r0, r1, 24 - movs r2, 0xA0 - lsls r2, 20 - adds r1, r2 - lsrs r1, 24 - bl sub_80DAFA0 - pop {r0} - bx r0 - thumb_func_end sub_80DAF88 - - thumb_func_start sub_80DAFA0 -sub_80DAFA0: @ 80DAFA0 - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r1, 24 - lsrs r1, 24 - lsls r0, r4, 6 - ldr r2, =gContestMons + 2 - adds r0, r2 - bl sub_80DAED4 - ldr r0, =gUnknown_02039F26 - adds r4, r0 - ldrb r0, [r4] - ldr r1, =gDisplayedStringBattle - movs r2, 0x7 - str r2, [sp] - movs r2, 0x5 - movs r3, 0x1 - bl sub_80DEBD0 - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80DAFA0 - thumb_func_start sub_80DAFE0 sub_80DAFE0: @ 80DAFE0 push {r4,r5,lr} diff --git a/include/strings.h b/include/strings.h index e5459c3209..f3a4fafbe7 100644 --- a/include/strings.h +++ b/include/strings.h @@ -445,5 +445,7 @@ extern const u8 gText_FiveMarks[]; extern const u8 gText_TotalRecordWLD[]; extern const u8 gText_PlayersBattleResults[]; extern const u8 gText_WinLoseDraw[]; +extern const u8 gText_ColorTransparent[]; +extern const u8 gText_Slash[]; #endif //GUARD_STRINGS_H diff --git a/src/contest.c b/src/contest.c index 82547e4284..18e66714e6 100644 --- a/src/contest.c +++ b/src/contest.c @@ -40,6 +40,7 @@ #include "contest_effect.h" #include "contest_link_80FC4F4.h" #include "script_pokemon_util_80F87D8.h" +#include "international_string_util.h" #define DESTROY_POINTER(ptr) \ free(ptr); \ @@ -95,7 +96,10 @@ void sub_80DA7EC(u8); void sub_80DA830(u8); void sub_80DA874(void); bool8 sub_80DA8A4(void); -void sub_80DE424(u8); +void sub_80DAF04(u8); +void sub_80DAF1C(u8 a0, u8 a1); +void sub_80DAF88(u8); +void sub_80DAFA0(u8, u8); u8 sub_80DB0C4(void); u8 sub_80DB120(void); void sub_80DB2BC(void); @@ -120,9 +124,10 @@ void sub_80DDBE8(void); bool8 sub_80DE1E8(u8); void sub_80DE224(void); void sub_80DE350(void); +void sub_80DE424(u8); void sub_80DE69C(u8); void sub_80DEA20(void); -void sub_80DEBD0(u32, u8 *, u8, u8, u8); +void sub_80DEBD0(u32, u8 *, s32, u8, u8); void sub_80DEC30(const u8 *, u8); void sub_80DECB8(u8, u16, u8, u8, u8, u8, u8, u8); bool32 sub_80DED4C(void); @@ -2385,3 +2390,54 @@ u8 sub_80DAE0C(struct Pokemon *pkmn) retVal = 0; return retVal; } + +void sub_80DAEA4(void) +{ + s32 i; + + for (i = 0; i < 4; i++) + { + FillWindowPixelBuffer(gUnknown_02039F26[i], 0); + sub_80DAF04(i); + sub_80DAF88(i); + } +} + +u8 * sub_80DAED4(const u8 * src, u8 color) +{ + u8 * ptr = StringCopy(gDisplayedStringBattle, gText_ColorTransparent); + ptr[-1] = color; + ptr = StringCopy(ptr, src); + + return ptr; +} + +void sub_80DAF04(u8 a0) +{ + sub_80DAF1C(a0, a0 + 10); +} + +void sub_80DAF1C(u8 a0, u8 a1) +{ + u8 buffer[32]; + s32 offset; + + StringCopy(buffer, gText_Slash); + StringAppend(buffer, gContestMons[a0].trainerName); + sub_80DAED4(buffer, a1); + offset = GetStringRightAlignXOffset(7, gDisplayedStringBattle, 0x60); + if (offset > 55) + offset = 55; + sub_80DEBD0(gUnknown_02039F26[a0], gDisplayedStringBattle, offset, 1, 7); +} + +void sub_80DAF88(u8 a0) +{ + sub_80DAFA0(a0, a0 + 10); +} + +void sub_80DAFA0(u8 a0, u8 a1) +{ + sub_80DAED4(gContestMons[a0].nickname, a1); + sub_80DEBD0(gUnknown_02039F26[a0], gDisplayedStringBattle, 5, 1, 7); +} From 9bee601b163ff9fcfebba6021ea162880b6fed92 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 10 May 2018 19:28:52 -0400 Subject: [PATCH 034/234] through sub_80DB174 --- asm/contest.s | 340 +----------------------------- asm/contest_ai.s | 4 +- asm/contest_link_80F57C4.s | 8 +- asm/contest_link_80FC4F4.s | 4 +- asm/script_pokemon_util_80F87D8.s | 2 +- include/battle_anim.h | 2 + include/data2.h | 4 +- src/contest.c | 113 +++++++++- 8 files changed, 133 insertions(+), 344 deletions(-) diff --git a/asm/contest.s b/asm/contest.s index a21aa29e87..6524f7a905 100644 --- a/asm/contest.s +++ b/asm/contest.s @@ -5,330 +5,6 @@ .text - thumb_func_start sub_80DAFE0 -sub_80DAFE0: @ 80DAFE0 - push {r4,r5,lr} - lsls r0, 24 - lsrs r2, r0, 24 - lsls r1, 24 - lsrs r0, r1, 24 - cmp r0, 0x4 - bhi _080DB06C - lsls r0, 2 - ldr r1, =_080DAFFC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080DAFFC: - .4byte _080DB010 - .4byte _080DB028 - .4byte _080DB040 - .4byte _080DB050 - .4byte _080DB06C -_080DB010: - ldr r0, =gContestMons - lsls r2, 6 - adds r1, r2, r0 - adds r3, r1, 0 - adds r3, 0x26 - ldrb r5, [r3] - adds r3, 0x4 - ldrb r4, [r3] - adds r1, 0x27 - b _080DB07E - .pool -_080DB028: - ldr r0, =gContestMons - lsls r2, 6 - adds r1, r2, r0 - adds r3, r1, 0 - adds r3, 0x27 - ldrb r5, [r3] - subs r3, 0x1 - ldrb r4, [r3] - adds r1, 0x28 - b _080DB07E - .pool -_080DB040: - ldr r1, =gContestMons - lsls r2, 6 - adds r3, r2, r1 - adds r0, r3, 0 - adds r0, 0x28 - b _080DB05A - .pool -_080DB050: - ldr r1, =gContestMons - lsls r2, 6 - adds r3, r2, r1 - adds r0, r3, 0 - adds r0, 0x29 -_080DB05A: - ldrb r5, [r0] - subs r0, 0x1 - ldrb r4, [r0] - adds r0, 0x2 - ldrb r3, [r0] - adds r0, r1, 0 - b _080DB080 - .pool -_080DB06C: - ldr r0, =gContestMons - lsls r2, 6 - adds r1, r2, r0 - adds r3, r1, 0 - adds r3, 0x2A - ldrb r5, [r3] - subs r3, 0x1 - ldrb r4, [r3] - adds r1, 0x26 -_080DB07E: - ldrb r3, [r1] -_080DB080: - adds r1, r2, r0 - adds r1, 0x2B - adds r0, r4, r3 - ldrb r1, [r1] - adds r0, r1 - asrs r0, 1 - adds r0, r5, r0 - lsls r0, 16 - lsrs r0, 16 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80DAFE0 - - thumb_func_start sub_80DB09C -sub_80DB09C: @ 80DB09C - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - movs r4, 0 - ldr r5, =gUnknown_02039F00 -_080DB0A6: - lsls r0, r4, 24 - lsrs r0, 24 - adds r1, r6, 0 - bl sub_80DAFE0 - strh r0, [r5] - adds r5, 0x2 - adds r4, 0x1 - cmp r4, 0x3 - ble _080DB0A6 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80DB09C - - thumb_func_start sub_80DB0C4 -sub_80DB0C4: @ 80DB0C4 - push {r4,r5,lr} - ldr r0, =gUnknown_08587C00 - bl LoadCompressedObjectPic - ldr r0, =gContest2Pal - movs r1, 0x88 - lsls r1, 1 - movs r2, 0x20 - bl LoadCompressedPalette - ldr r0, =gSpriteTemplate_8587BE8 - movs r1, 0x70 - movs r2, 0x24 - movs r3, 0x1E - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r4, =gSprites - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r5, r2, r4 - ldrb r3, [r5, 0x5] - movs r1, 0xF - ands r1, r3 - movs r3, 0x10 - orrs r1, r3 - strb r1, [r5, 0x5] - adds r4, 0x1C - adds r2, r4 - ldr r1, =SpriteCallbackDummy - str r1, [r2] - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80DB0C4 - - thumb_func_start sub_80DB120 -sub_80DB120: @ 80DB120 - push {lr} - ldr r0, =gUnknown_08587C08 - bl LoadCompressedObjectPic - ldr r0, =gUnknown_08587C10 - bl LoadCompressedObjectPalette - ldr r0, =gSpriteTemplate_8587C18 - movs r1, 0x60 - movs r2, 0xA - movs r3, 0x1D - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gSprites - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r2, r1 - movs r1, 0x3E - adds r1, r2 - mov r12, r1 - ldrb r1, [r1] - movs r3, 0x4 - orrs r1, r3 - mov r3, r12 - strb r1, [r3] - ldrh r1, [r2, 0x4] - lsls r1, 22 - lsrs r1, 22 - strh r1, [r2, 0x2E] - pop {r1} - bx r1 - .pool - thumb_func_end sub_80DB120 - - thumb_func_start sub_80DB174 -sub_80DB174: @ 80DB174 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r7, r1, 0 - adds r6, r2, 0 - adds r4, r3, 0 - lsls r0, 16 - lsrs r5, r0, 16 - adds r0, r5, 0 - bl sub_80DE84C - adds r5, r0, 0 - ldr r0, =gContestPlayerMonIndex - ldrb r0, [r0] - cmp r4, r0 - bne _080DB1B8 - lsls r0, r5, 3 - ldr r1, =gMonBackPicTable - adds r0, r1 - ldr r1, =gMonSpritesGfxPtr - ldr r1, [r1] - ldr r1, [r1, 0x4] - adds r2, r5, 0 - adds r3, r6, 0 - bl HandleLoadSpecialPokePic_2 - b _080DB1CC - .pool -_080DB1B8: - lsls r0, r5, 3 - ldr r1, =gMonBackPicTable - adds r0, r1 - ldr r1, =gMonSpritesGfxPtr - ldr r1, [r1] - ldr r1, [r1, 0x4] - adds r2, r5, 0 - adds r3, r6, 0 - bl HandleLoadSpecialPokePic_DontHandleDeoxys -_080DB1CC: - adds r0, r5, 0 - adds r1, r7, 0 - adds r2, r6, 0 - bl GetFrontSpritePalFromSpeciesAndPersonality - movs r1, 0x90 - lsls r1, 1 - movs r2, 0x20 - bl LoadCompressedPalette - adds r0, r5, 0 - movs r1, 0 - bl sub_806A068 - ldr r4, =gUnknown_0202499C - movs r0, 0x2 - adds r1, r5, 0 - movs r2, 0 - bl sub_80A600C - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r4, 0 - movs r1, 0x70 - movs r3, 0x1E - bl CreateSprite - lsls r0, 24 - lsrs r7, r0, 24 - ldr r0, =gSprites - mov r8, r0 - lsls r0, r7, 4 - adds r0, r7 - lsls r6, r0, 2 - mov r0, r8 - adds r4, r6, r0 - ldrb r1, [r4, 0x5] - movs r0, 0xF - ands r0, r1 - movs r1, 0x20 - orrs r0, r1 - movs r1, 0xD - negs r1, r1 - ands r0, r1 - movs r1, 0x8 - orrs r0, r1 - strb r0, [r4, 0x5] - movs r0, 0x2 - bl sub_80A82E4 - adds r1, r4, 0 - adds r1, 0x43 - strb r0, [r1] - mov r0, r8 - adds r0, 0x1C - adds r0, r6, r0 - ldr r1, =SpriteCallbackDummy - str r1, [r0] - ldrb r0, [r4, 0x5] - lsrs r0, 4 - strh r0, [r4, 0x2E] - strh r5, [r4, 0x32] - adds r0, r5, 0 - bl IsSpeciesNotUnown - lsls r0, 24 - cmp r0, 0 - beq _080DB278 - mov r0, r8 - adds r0, 0x10 - adds r0, r6, r0 - ldr r1, =gUnknown_082FF6C0 - b _080DB280 - .pool -_080DB278: - mov r0, r8 - adds r0, 0x10 - adds r0, r6, r0 - ldr r1, =gUnknown_082FF694 -_080DB280: - str r1, [r0] - lsls r0, r7, 4 - adds r0, r7 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - movs r1, 0 - bl StartSpriteAffineAnim - adds r0, r7, 0 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80DB174 - thumb_func_start IsSpeciesNotUnown IsSpeciesNotUnown: @ 80DB2A8 push {lr} @@ -1675,7 +1351,7 @@ sub_80DBCE0: @ 80DBCE0 strh r0, [r1] ldr r2, =gUnknown_02039F08 adds r2, r4, r2 - ldr r1, =gUnknown_02039F00 + ldr r1, =gContestMonConditions adds r4, r1 ldrh r4, [r4] adds r0, r4 @@ -1785,7 +1461,7 @@ _080DBDB8: mov r4, sp ldr r6, =gUnknown_02039F08 ldr r2, [sp, 0x64] - ldr r5, =gUnknown_02039F00 + ldr r5, =gContestMonConditions ldr r3, [sp, 0x68] _080DBDD2: mov r7, r9 @@ -3918,7 +3594,7 @@ _080DCECC: movs r4, 0 cmp r4, r5 bge _080DCF48 - ldr r7, =gUnknown_02039F00 + ldr r7, =gContestMonConditions mov r9, r7 lsls r0, r5, 1 adds r1, r0, 0 @@ -8374,11 +8050,11 @@ _080DF2EE: strb r0, [r2, 0xD] _080DF30A: movs r5, 0 - ldr r2, =gUnknown_02039F00 + ldr r2, =gContestMonConditions add r2, r10 movs r6, 0 ldrsh r1, [r2, r6] - ldr r7, =gUnknown_02039F00 + ldr r7, =gContestMonConditions movs r3, 0 ldrsh r0, [r7, r3] cmp r1, r0 @@ -8417,12 +8093,12 @@ _080DF354: mov r12, r3 mov r8, r3 movs r5, 0 - ldr r0, =gUnknown_02039F00 + ldr r0, =gContestMonConditions add r0, r10 movs r7, 0 ldrsh r6, [r0, r7] str r6, [sp, 0x34] - ldr r2, =gUnknown_02039F00 + ldr r2, =gContestMonConditions ldr r0, =gUnknown_02039F18 mov r1, r10 adds r6, r1, r0 @@ -8665,7 +8341,7 @@ _080DF528: lsls r2, r7, 1 lsls r4, r7, 4 mov r8, r4 - ldr r1, =gUnknown_02039F00 + ldr r1, =gContestMonConditions adds r0, r2, r1 movs r6, 0 ldrsh r5, [r0, r6] diff --git a/asm/contest_ai.s b/asm/contest_ai.s index 217044e9fc..ff48661f08 100644 --- a/asm/contest_ai.s +++ b/asm/contest_ai.s @@ -1167,7 +1167,7 @@ sub_8156B88: @ 8156B88 ldr r0, =gContestResources ldr r0, [r0] ldr r2, [r0, 0xC] - ldr r1, =gUnknown_02039F00 + ldr r1, =gContestMonConditions adds r0, r2, 0 adds r0, 0x41 ldrb r0, [r0] @@ -3729,7 +3729,7 @@ sub_8157F5C: @ 8157F5C ldr r1, =gContestResources ldr r1, [r1] ldr r3, [r1, 0xC] - ldr r2, =gUnknown_02039F00 + ldr r2, =gContestMonConditions lsrs r0, 23 adds r0, r2 adds r1, r3, 0 diff --git a/asm/contest_link_80F57C4.s b/asm/contest_link_80F57C4.s index 88629fb832..53f653bdf1 100644 --- a/asm/contest_link_80F57C4.s +++ b/asm/contest_link_80F57C4.s @@ -3104,7 +3104,7 @@ sub_80F7310: @ 80F7310 lsls r0, 24 lsls r1, 24 lsrs r5, r1, 24 - ldr r1, =gUnknown_02039F00 + ldr r1, =gContestMonConditions lsrs r0, 23 adds r0, r1 movs r1, 0 @@ -3847,7 +3847,7 @@ _080F78E4: mov r8, r5 mov r10, r5 _080F78EA: - ldr r0, =gUnknown_02039F00 + ldr r0, =gContestMonConditions mov r1, r8 lsls r7, r1, 1 adds r0, r7, r0 @@ -5027,7 +5027,7 @@ sub_80F82B4: @ 80F82B4 movs r1, 0 movs r2, 0 ldr r5, =gSpecialVar_0x8004 - ldr r4, =gUnknown_02039F00 + ldr r4, =gContestMonConditions ldr r0, =gSpecialVar_0x8006 ldrh r0, [r0] lsls r0, 1 @@ -5060,7 +5060,7 @@ _080F82DC: thumb_func_start sub_80F82FC sub_80F82FC: @ 80F82FC ldr r2, =gSpecialVar_0x8004 - ldr r1, =gUnknown_02039F00 + ldr r1, =gContestMonConditions ldr r0, =gSpecialVar_0x8006 ldrh r0, [r0] lsls r0, 1 diff --git a/asm/contest_link_80FC4F4.s b/asm/contest_link_80FC4F4.s index 3912731ecc..1af07908e4 100644 --- a/asm/contest_link_80FC4F4.s +++ b/asm/contest_link_80FC4F4.s @@ -1262,7 +1262,7 @@ _080FCF80: lsls r0, 24 cmp r0, 0 beq _080FCFBE - ldr r0, =gUnknown_02039F00 + ldr r0, =gContestMonConditions movs r1, 0x8 bl sub_80FC4F4 cmp r0, 0x1 @@ -1274,7 +1274,7 @@ _080FCF9C: lsls r0, 24 cmp r0, 0 beq _080FCFBE - ldr r0, =gUnknown_02039F00 + ldr r0, =gContestMonConditions ldr r1, =gUnknown_02039F2B ldrb r1, [r1] lsls r1, 8 diff --git a/asm/script_pokemon_util_80F87D8.s b/asm/script_pokemon_util_80F87D8.s index 917d02cd0e..80c80c323e 100644 --- a/asm/script_pokemon_util_80F87D8.s +++ b/asm/script_pokemon_util_80F87D8.s @@ -218,7 +218,7 @@ sub_80F8970: @ 80F8970 mov r5, r8 push {r5-r7} sub sp, 0x8 - ldr r0, =gUnknown_02039F00 + ldr r0, =gContestMonConditions mov r12, r0 ldr r1, =gSpecialVar_0x8006 mov r9, r1 diff --git a/include/battle_anim.h b/include/battle_anim.h index d6d4c05d66..f690cf10cc 100644 --- a/include/battle_anim.h +++ b/include/battle_anim.h @@ -107,4 +107,6 @@ u8 ItemIdToBallId(u16 itemId); u8 LaunchBallStarsTask(u8 x, u8 y, u8 kindOfStars, u8 arg3, u8 ballId); u8 LaunchBallFadeMonTask(bool8 unFadeLater, u8 battlerId, u32 arg2, u8 ballId); +u8 sub_80A600C(u8, u16, u8); + #endif // GUARD_BATTLE_ANIM_H diff --git a/include/data2.h b/include/data2.h index d71958201f..2cc13d88e1 100644 --- a/include/data2.h +++ b/include/data2.h @@ -1,6 +1,8 @@ #ifndef GUARD_DATA2_H #define GUARD_DATA2_H +#include "constants/species.h" + struct MonCoords { // This would use a bitfield, but some function @@ -17,6 +19,6 @@ extern const u8 gMoveNames[][13]; extern struct CompressedSpriteSheet gUnknown_0831C620; extern struct CompressedSpritePalette gUnknown_0831C628; extern const struct SpriteTemplate gUnknown_0831C688; - +extern const struct CompressedSpriteSheet gMonBackPicTable[NUM_SPECIES]; #endif // GUARD_DATA2_H diff --git a/src/contest.c b/src/contest.c index 18e66714e6..1ce90fd454 100644 --- a/src/contest.c +++ b/src/contest.c @@ -41,6 +41,7 @@ #include "contest_link_80FC4F4.h" #include "script_pokemon_util_80F87D8.h" #include "international_string_util.h" +#include "data2.h" #define DESTROY_POINTER(ptr) \ free(ptr); \ @@ -102,6 +103,8 @@ void sub_80DAF88(u8); void sub_80DAFA0(u8, u8); u8 sub_80DB0C4(void); u8 sub_80DB120(void); +u8 sub_80DB174(u16, u32, u32, u32); +u16 sub_80DE84C(u16); void sub_80DB2BC(void); void sub_80DB89C(void); u16 sub_80DB8B8(u8); @@ -142,7 +145,6 @@ void sub_80DD080(u8); void sub_80DF080(u8); void sub_80DF750(void); void sub_80DE9DC(u8); -u8 sub_80DB174(u16, u32, u32, u32); void sub_80DCBE8(u8, u8); u8 sub_80DC9EC(u8); u16 sub_80DE834(u16); @@ -171,7 +173,7 @@ void sub_80DF9D4(u8 *); void sub_80DF9E0(u8 *, s32); EWRAM_DATA struct ContestPokemon gContestMons[4] = {0}; -EWRAM_DATA s16 gUnknown_02039F00[4] = {0}; +EWRAM_DATA s16 gContestMonConditions[4] = {0}; EWRAM_DATA s16 gUnknown_02039F08[4] = {0}; EWRAM_DATA s16 gUnknown_02039F10[4] = {0}; EWRAM_DATA s16 gUnknown_02039F18[4] = {0}; @@ -234,6 +236,14 @@ extern const u8 gText_0827D56F[]; extern const u8 gText_0827D597[]; extern const struct ContestPokemon gContestOpponents[96]; extern const u8 gUnknown_085898A4[96]; +extern const struct CompressedSpriteSheet gUnknown_08587C00; +extern const u8 gContest2Pal[]; +extern const struct SpriteTemplate gSpriteTemplate_8587BE8; +extern const struct CompressedSpriteSheet gUnknown_08587C08; +extern const struct CompressedSpritePalette gUnknown_08587C10; +extern const struct SpriteTemplate gSpriteTemplate_8587C18; +extern const union AffineAnimCmd *const gUnknown_082FF6C0[]; +extern const union AffineAnimCmd *const gUnknown_082FF694[]; void TaskDummy1(u8 taskId) { @@ -2441,3 +2451,102 @@ void sub_80DAFA0(u8 a0, u8 a1) sub_80DAED4(gContestMons[a0].nickname, a1); sub_80DEBD0(gUnknown_02039F26[a0], gDisplayedStringBattle, 5, 1, 7); } + +u16 sub_80DAFE0(u8 who, u8 contestCategory) +{ + u8 statMain; + u8 statSub1; + u8 statSub2; + + switch (contestCategory) + { + case CONTEST_CATEGORY_COOL: + statMain = gContestMons[who].cool; + statSub1 = gContestMons[who].tough; + statSub2 = gContestMons[who].beauty; + break; + case CONTEST_CATEGORY_BEAUTY: + statMain = gContestMons[who].beauty; + statSub1 = gContestMons[who].cool; + statSub2 = gContestMons[who].cute; + break; + case CONTEST_CATEGORY_CUTE: + statMain = gContestMons[who].cute; + statSub1 = gContestMons[who].beauty; + statSub2 = gContestMons[who].smart; + break; + case CONTEST_CATEGORY_SMART: + statMain = gContestMons[who].smart; + statSub1 = gContestMons[who].cute; + statSub2 = gContestMons[who].tough; + break; + case CONTEST_CATEGORY_TOUGH: + default: + statMain = gContestMons[who].tough; + statSub1 = gContestMons[who].smart; + statSub2 = gContestMons[who].cool; + break; + } + return statMain + (statSub1 + statSub2 + gContestMons[who].sheen) / 2; +} + +void sub_80DB09C(u8 a0) +{ + s32 i; + + for (i = 0; i < 4; i++) + gContestMonConditions[i] = sub_80DAFE0(i, a0); +} + +u8 sub_80DB0C4(void) +{ + u8 spriteId; + + LoadCompressedObjectPic(&gUnknown_08587C00); + LoadCompressedPalette(gContest2Pal, 0x110, 32); + spriteId = CreateSprite(&gSpriteTemplate_8587BE8, 112, 36, 30); + gSprites[spriteId].oam.paletteNum = 1; + gSprites[spriteId].callback = SpriteCallbackDummy; + return spriteId; +} + +u8 sub_80DB120(void) +{ + u8 spriteId; + + LoadCompressedObjectPic(&gUnknown_08587C08); + LoadCompressedObjectPalette(&gUnknown_08587C10); + spriteId = CreateSprite(&gSpriteTemplate_8587C18, 96, 10, 29); + gSprites[spriteId].invisible = TRUE; + gSprites[spriteId].data[0] = gSprites[spriteId].oam.tileNum; + return spriteId; +} + +u8 sub_80DB174(u16 species, u32 otId, u32 personality, u32 index) +{ + u8 spriteId; + species = sub_80DE84C(species); + + if (index == gContestPlayerMonIndex) + HandleLoadSpecialPokePic_2(gMonBackPicTable + species, gMonSpritesGfxPtr->sprites[0], species, personality); + else + HandleLoadSpecialPokePic_DontHandleDeoxys(gMonBackPicTable + species, gMonSpritesGfxPtr->sprites[0], species, personality); + + LoadCompressedPalette(GetFrontSpritePalFromSpeciesAndPersonality(species, otId, personality), 0x120, 0x20); + sub_806A068(species, 0); + + spriteId = CreateSprite(&gUnknown_0202499C, 0x70, sub_80A600C(2, species, 0), 30); + gSprites[spriteId].oam.paletteNum = 2; + gSprites[spriteId].oam.priority = 2; + gSprites[spriteId].subpriority = sub_80A82E4(2); + gSprites[spriteId].callback = SpriteCallbackDummy; + gSprites[spriteId].data[0] = gSprites[spriteId].oam.paletteNum; + gSprites[spriteId].data[2] = species; + if (IsSpeciesNotUnown(species)) + gSprites[spriteId].affineAnims = gUnknown_082FF6C0; + else + gSprites[spriteId].affineAnims = gUnknown_082FF694; + StartSpriteAffineAnim(gSprites + spriteId, 0); + + return spriteId; +} From c15b50ac686632130512de37d01037bff6e10cd2 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Fri, 11 May 2018 08:44:21 -0400 Subject: [PATCH 035/234] through prints_contest_move_description --- asm/contest.s | 261 ----------------------------------- include/contest_effect.h | 8 ++ src/contest.c | 88 +++++++++++- src/pokemon_summary_screen.c | 17 +-- 4 files changed, 95 insertions(+), 279 deletions(-) diff --git a/asm/contest.s b/asm/contest.s index 6524f7a905..69060422e1 100644 --- a/asm/contest.s +++ b/asm/contest.s @@ -5,267 +5,6 @@ .text - thumb_func_start IsSpeciesNotUnown -IsSpeciesNotUnown: @ 80DB2A8 - push {lr} - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xC9 - beq _080DB2B6 - movs r0, 0x1 - b _080DB2B8 -_080DB2B6: - movs r0, 0 -_080DB2B8: - pop {r1} - bx r1 - thumb_func_end IsSpeciesNotUnown - - thumb_func_start sub_80DB2BC -sub_80DB2BC: @ 80DB2BC - push {r4-r6,lr} - ldr r5, =gContestResources - ldr r0, [r5] - ldr r0, [r0, 0x24] - movs r4, 0xA0 - lsls r4, 3 - adds r1, r0, r4 - movs r6, 0xA0 - lsls r6, 1 - adds r2, r6, 0 - bl CpuSet - ldr r0, [r5] - ldr r0, [r0, 0x2C] - adds r4, r0, r4 - adds r1, r4, 0 - adds r2, r6, 0 - bl CpuSet - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80DB2BC - - thumb_func_start sub_80DB2EC -sub_80DB2EC: @ 80DB2EC - push {lr} - lsls r0, 16 - lsls r1, 24 - lsrs r3, r1, 24 - ldr r2, =gContestEffects - ldr r1, =gContestMoves - lsrs r0, 13 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0] - cmp r0, 0x8 - bhi _080DB354 - lsls r0, 2 - ldr r1, =_080DB320 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080DB320: - .4byte _080DB344 - .4byte _080DB344 - .4byte _080DB34C - .4byte _080DB34C - .4byte _080DB354 - .4byte _080DB354 - .4byte _080DB354 - .4byte _080DB354 - .4byte _080DB344 -_080DB344: - ldr r0, =0x00009082 - b _080DB356 - .pool -_080DB34C: - ldr r0, =0x00009088 - b _080DB356 - .pool -_080DB354: - ldr r0, =0x00009086 -_080DB356: - lsls r1, r3, 12 - movs r2, 0x90 - lsls r2, 8 - adds r1, r2 - lsls r0, 16 - asrs r0, 16 - adds r0, r1 - lsls r0, 16 - lsrs r0, 16 - pop {r1} - bx r1 - .pool - thumb_func_end sub_80DB2EC - - thumb_func_start prints_contest_move_description -prints_contest_move_description: @ 80DB370 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x10 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - ldr r1, =gContestMoves - lsls r0, 3 - adds r0, r1 - ldrb r0, [r0, 0x1] - lsls r0, 29 - lsrs r0, 29 - ldr r7, =0x00004040 - cmp r0, 0 - beq _080DB3A4 - adds r7, 0x5 - cmp r0, 0x1 - beq _080DB3A4 - adds r7, 0x5 - cmp r0, 0x2 - beq _080DB3A4 - adds r7, 0x40 - cmp r0, 0x3 - bne _080DB3A4 - subs r7, 0x20 -_080DB3A4: - movs r6, 0x5 - str r6, [sp] - movs r4, 0x1 - str r4, [sp, 0x4] - movs r5, 0x11 - str r5, [sp, 0x8] - str r4, [sp, 0xC] - movs r0, 0 - adds r1, r7, 0 - movs r2, 0xB - movs r3, 0x1F - bl sub_80DECB8 - adds r1, r7, 0 - adds r1, 0x10 - str r6, [sp] - str r4, [sp, 0x4] - str r5, [sp, 0x8] - str r4, [sp, 0xC] - movs r0, 0 - movs r2, 0xB - movs r3, 0x20 - bl sub_80DECB8 - ldr r2, =gContestEffects - ldr r0, =gContestMoves - mov r3, r8 - lsls r1, r3, 3 - adds r0, r1, r0 - ldrb r0, [r0] - lsls r0, 2 - adds r2, r0, r2 - ldrb r0, [r2, 0x1] - adds r7, r1, 0 - cmp r0, 0xFF - bne _080DB3FC - movs r6, 0 - b _080DB408 - .pool -_080DB3FC: - ldrb r0, [r2, 0x1] - movs r1, 0xA - bl __udivsi3 - lsls r0, 24 - lsrs r6, r0, 24 -_080DB408: - cmp r6, 0x8 - bls _080DB40E - movs r6, 0x8 -_080DB40E: - ldr r1, =0x00005035 - movs r0, 0x8 - str r0, [sp] - movs r5, 0x1 - str r5, [sp, 0x4] - movs r4, 0x11 - str r4, [sp, 0x8] - movs r0, 0 - movs r2, 0x15 - movs r3, 0x1F - bl sub_80DED10 - ldr r1, =0x00005012 - str r6, [sp] - str r5, [sp, 0x4] - str r4, [sp, 0x8] - movs r0, 0 - movs r2, 0x15 - movs r3, 0x1F - bl sub_80DED10 - ldr r1, =gContestEffects - ldr r0, =gContestMoves - adds r0, r7, r0 - ldrb r0, [r0] - lsls r0, 2 - adds r1, r0, r1 - ldrb r0, [r1, 0x2] - cmp r0, 0xFF - bne _080DB460 - movs r6, 0 - b _080DB46C - .pool -_080DB460: - ldrb r0, [r1, 0x2] - movs r1, 0xA - bl __udivsi3 - lsls r0, 24 - lsrs r6, r0, 24 -_080DB46C: - cmp r6, 0x8 - bls _080DB472 - movs r6, 0x8 -_080DB472: - ldr r1, =0x00005036 - movs r0, 0x8 - str r0, [sp] - movs r5, 0x1 - str r5, [sp, 0x4] - movs r4, 0x11 - str r4, [sp, 0x8] - movs r0, 0 - movs r2, 0x15 - movs r3, 0x20 - bl sub_80DED10 - ldr r1, =0x00005014 - str r6, [sp] - str r5, [sp, 0x4] - str r4, [sp, 0x8] - movs r0, 0 - movs r2, 0x15 - movs r3, 0x20 - bl sub_80DED10 - movs r0, 0xA - movs r1, 0 - bl FillWindowPixelBuffer - ldr r1, =gContestEffectDescriptionPointers - ldr r0, =gContestMoves - adds r0, r7, r0 - ldrb r0, [r0] - lsls r0, 2 - adds r0, r1 - ldr r1, [r0] - movs r0, 0xA - bl sub_80DEB70 - ldr r1, =gText_Slash - movs r0, 0x9 - bl sub_80DEB70 - add sp, 0x10 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end prints_contest_move_description - thumb_func_start sub_80DB4E0 sub_80DB4E0: @ 80DB4E0 push {r4-r7,lr} diff --git a/include/contest_effect.h b/include/contest_effect.h index 4d680be9e8..3484ca5df8 100644 --- a/include/contest_effect.h +++ b/include/contest_effect.h @@ -9,6 +9,14 @@ struct ContestMove u8 comboMoves[4]; }; +struct ContestEffect +{ + u8 effectType; + u8 appeal; + u8 jam; +}; + extern const struct ContestMove gContestMoves[]; +extern struct ContestEffect gContestEffects[]; #endif //GUARD_CONTEST_EFFECT_H diff --git a/src/contest.c b/src/contest.c index 1ce90fd454..b4e71d82b7 100644 --- a/src/contest.c +++ b/src/contest.c @@ -104,8 +104,9 @@ void sub_80DAFA0(u8, u8); u8 sub_80DB0C4(void); u8 sub_80DB120(void); u8 sub_80DB174(u16, u32, u32, u32); -u16 sub_80DE84C(u16); void sub_80DB2BC(void); +void prints_contest_move_description(u16); +u16 sub_80DE84C(u16); void sub_80DB89C(void); u16 sub_80DB8B8(u8); void sub_80DB918(void); @@ -137,7 +138,6 @@ bool32 sub_80DED4C(void); void sub_80DED60(u32); void sub_80FC9F8(u8); bool8 AreMovesContestCombo(u16, u16); -void prints_contest_move_description(u16); void sub_80DBD18(void); void sub_80DF250(void); void sub_80DF4F8(void); @@ -171,6 +171,8 @@ void sub_80DC3AC(void); bool8 sub_80DC3C4(void); void sub_80DF9D4(u8 *); void sub_80DF9E0(u8 *, s32); +void sub_80DED10(u8, u16, u8, u8, u8, u8, u8); +void sub_80DEB70(u8, const u8 *); EWRAM_DATA struct ContestPokemon gContestMons[4] = {0}; EWRAM_DATA s16 gContestMonConditions[4] = {0}; @@ -244,6 +246,7 @@ extern const struct CompressedSpritePalette gUnknown_08587C10; extern const struct SpriteTemplate gSpriteTemplate_8587C18; extern const union AffineAnimCmd *const gUnknown_082FF6C0[]; extern const union AffineAnimCmd *const gUnknown_082FF694[]; +extern const u8 *const gContestEffectDescriptionPointers[]; void TaskDummy1(u8 taskId) { @@ -2550,3 +2553,84 @@ u8 sub_80DB174(u16 species, u32 otId, u32 personality, u32 index) return spriteId; } + +bool8 IsSpeciesNotUnown(u16 species) +{ + if (species == SPECIES_UNOWN) + return FALSE; + else + return TRUE; +} + +void sub_80DB2BC(void) +{ + CpuCopy16(gContestResources->field_24[0], gContestResources->field_24[0] + 0x500, 0x280); + CpuCopy16(gContestResources->field_24[2], gContestResources->field_24[2] + 0x500, 0x280); +} + +u16 sub_80DB2EC(u16 a0, u8 a1) +{ + u16 var; + + switch (gContestEffects[gContestMoves[a0].effect].effectType) + { + case 0: + case 1: + case 8: + var = 0x9082; + break; + case 2: + case 3: + var = 0x9088; + break; + default: + var = 0x9086; + break; + } + var += 0x9000 + (a1 << 12); + return var; +} + +void prints_contest_move_description(u16 a) +{ + u8 category; + u16 categoryTile; + u8 numHearts; + + category = gContestMoves[a].contestCategory; + if (category == CONTEST_CATEGORY_COOL) + categoryTile = 0x4040; + else if (category == CONTEST_CATEGORY_BEAUTY) + categoryTile = 0x4045; + else if (category == CONTEST_CATEGORY_CUTE) + categoryTile = 0x404A; + else if (category == CONTEST_CATEGORY_SMART) + categoryTile = 0x406A; + else + categoryTile = 0x408A; + + sub_80DECB8(0, categoryTile, 0x0b, 0x1f, 0x05, 0x01, 0x11, 0x01); + sub_80DECB8(0, categoryTile + 0x10, 0x0b, 0x20, 0x05, 0x01, 0x11, 0x01); + + if (gContestEffects[gContestMoves[a].effect].appeal == 0xFF) + numHearts = 0; + else + numHearts = gContestEffects[gContestMoves[a].effect].appeal / 10; + if (numHearts > 8) + numHearts = 8; + sub_80DED10(0, 0x5035, 0x15, 0x1f, 0x08, 0x01, 0x11); + sub_80DED10(0, 0x5012, 0x15, 0x1f, numHearts, 0x01, 0x11); + + if (gContestEffects[gContestMoves[a].effect].jam == 0xFF) + numHearts = 0; + else + numHearts = gContestEffects[gContestMoves[a].effect].jam / 10; + if (numHearts > 8) + numHearts = 8; + sub_80DED10(0, 0x5036, 0x15, 0x20, 0x08, 0x01, 0x11); + sub_80DED10(0, 0x5014, 0x15, 0x20, numHearts, 0x01, 0x11); + + FillWindowPixelBuffer(10, 0); + sub_80DEB70(10, gContestEffectDescriptionPointers[gContestMoves[a].effect]); + sub_80DEB70(9, gText_Slash); +} diff --git a/src/pokemon_summary_screen.c b/src/pokemon_summary_screen.c index bf3e9aeee3..ee0a7f2888 100644 --- a/src/pokemon_summary_screen.c +++ b/src/pokemon_summary_screen.c @@ -27,21 +27,7 @@ #include "scanline_effect.h" #include "menu_helpers.h" #include "daycare.h" - -struct ContestMove -{ - u8 effect; - u8 type; - u8 comboID; - u8 combo[4]; -}; - -struct ContestEffect -{ - u8 type; - u8 appeal; - u8 jam; -}; +#include "contest_effect.h" extern struct UnkSummaryStruct* gUnknown_0203CF1C; extern struct BgTemplate gUnknown_0861CBB4; @@ -54,7 +40,6 @@ extern struct UnkStruct_61CC04 gUnknown_0861CC10; extern struct UnkStruct_61CC04 gUnknown_0861CBEC; extern struct UnkStruct_61CC04 gUnknown_0861CBF8; extern u16 gSummaryScreenWindow_Tilemap[]; -extern struct ContestMove gContestMoves[]; extern struct ContestEffect gContestEffects[]; extern struct WindowTemplate gUnknown_0861CC24; extern u8 gUnknown_0861CD2C[][3]; From 8d0da7d8e006beda6c72c437545bca9f20086b28 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Fri, 11 May 2018 09:41:32 -0400 Subject: [PATCH 036/234] Propagate ASM_DIRECT --> NAKED renaming --- include/global.h | 5 +++++ src/field_effect.c | 10 +++++----- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/include/global.h b/include/global.h index b73baf2ce4..5e742d732e 100644 --- a/include/global.h +++ b/include/global.h @@ -12,6 +12,11 @@ #define asm_comment(x) asm volatile("@ -- " x " -- ") #define asm_unified(x) asm(".syntax unified\n" x "\n.syntax divided") #define NAKED __attribute__((naked)) +// While this nomenclature change is being rolled out, the following +// redundant define will be used to prevent build errors when merging +// from master. +// TODO: Remove this before merging the pull request. +#define ASM_DIRECT NAKED // IDE support #if defined (__APPLE__) || defined (__CYGWIN__) diff --git a/src/field_effect.c b/src/field_effect.c index 6783473ebb..692090779b 100644 --- a/src/field_effect.c +++ b/src/field_effect.c @@ -566,7 +566,7 @@ u8 CreateMonSprite_PicBox(u16 species, s16 x, s16 y) return spriteId; } #else -ASM_DIRECT +NAKED u8 CreateMonSprite_PicBox(u16 species, s16 x, s16 y) { asm_unified("push {r4,r5,lr}\n\ @@ -669,7 +669,7 @@ void MultiplyPaletteRGBComponents(u16 i, u8 r, u8 g, u8 b) gPlttBufferFaded[i] = RGB(curRed, curGreen, curBlue); } #else -ASM_DIRECT +NAKED void MultiplyInvertedPaletteRGBComponents(u16 i, u8 r, u8 g, u8 b) { asm(".syntax unified\n" @@ -744,7 +744,7 @@ void MultiplyInvertedPaletteRGBComponents(u16 i, u8 r, u8 g, u8 b) ".syntax divided"); } -ASM_DIRECT +NAKED void MultiplyPaletteRGBComponents(u16 i, u8 r, u8 g, u8 b) { asm(".syntax unified\n" @@ -2684,7 +2684,7 @@ bool8 sub_80B8B38(struct Task *task) return FALSE; } #else -ASM_DIRECT +NAKED bool8 sub_80B8B38(struct Task *task) { asm_unified("\tpush {r4-r7,lr}\n" @@ -2997,7 +2997,7 @@ u8 sub_80B8F98(void) return spriteId; } #else -ASM_DIRECT +NAKED u8 sub_80B8F98(void) { asm_unified("push {r4-r7,lr}\n\ From 5539e282a39c34a278d1ea2fdc53ee46ffe154d5 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Fri, 11 May 2018 10:51:38 -0400 Subject: [PATCH 037/234] through sub_80DB798 --- asm/contest.s | 559 ++++---------------------------------------------- src/contest.c | 234 ++++++++++++++++----- 2 files changed, 223 insertions(+), 570 deletions(-) diff --git a/asm/contest.s b/asm/contest.s index 69060422e1..78660871c9 100644 --- a/asm/contest.s +++ b/asm/contest.s @@ -5,481 +5,6 @@ .text - thumb_func_start sub_80DB4E0 -sub_80DB4E0: @ 80DB4E0 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x10 - lsls r0, 16 - lsrs r5, r0, 16 - lsls r1, 24 - lsrs r4, r1, 24 - ldr r0, =gUnknown_02039F26 - adds r0, r4, r0 - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - adds r0, 0x2 - lsls r0, 24 - lsrs r7, r0, 24 - adds r0, r4, 0 - bl sub_80DBCA8 - lsls r0, 24 - cmp r0, 0 - bne _080DB560 - cmp r5, 0 - beq _080DB560 - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_80DB2EC - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - movs r0, 0x2 - mov r8, r0 - str r0, [sp] - movs r5, 0x1 - str r5, [sp, 0x4] - movs r6, 0x11 - str r6, [sp, 0x8] - str r5, [sp, 0xC] - movs r0, 0 - adds r1, r4, 0 - movs r2, 0x14 - adds r3, r7, 0 - bl sub_80DECB8 - adds r4, 0x10 - lsls r4, 16 - lsrs r4, 16 - adds r3, r7, 0x1 - lsls r3, 24 - lsrs r3, 24 - mov r0, r8 - str r0, [sp] - str r5, [sp, 0x4] - str r6, [sp, 0x8] - str r5, [sp, 0xC] - movs r0, 0 - adds r1, r4, 0 - movs r2, 0x14 - bl sub_80DECB8 - b _080DB576 - .pool -_080DB560: - movs r0, 0x2 - str r0, [sp] - str r0, [sp, 0x4] - movs r0, 0x11 - str r0, [sp, 0x8] - movs r0, 0 - movs r1, 0 - movs r2, 0x14 - adds r3, r7, 0 - bl sub_80DED10 -_080DB576: - add sp, 0x10 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80DB4E0 - - thumb_func_start sub_80DB584 -sub_80DB584: @ 80DB584 - push {r4,r5,lr} - movs r4, 0 - movs r5, 0 -_080DB58A: - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0x4] - adds r0, r5, r0 - ldrh r0, [r0, 0x6] - lsls r1, r4, 24 - lsrs r1, 24 - bl sub_80DB4E0 - adds r5, 0x1C - adds r4, 0x1 - cmp r4, 0x3 - ble _080DB58A - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80DB584 - - thumb_func_start sub_80DB5B0 -sub_80DB5B0: @ 80DB5B0 - ldr r0, =0x00002034 - bx lr - .pool - thumb_func_end sub_80DB5B0 - - thumb_func_start sub_80DB5B8 -sub_80DB5B8: @ 80DB5B8 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0xC - lsls r0, 24 - lsrs r2, r0, 24 - lsls r1, 24 - lsrs r1, 24 - mov r8, r1 - mov r10, r8 - ldr r0, =gContestResources - mov r9, r0 - ldr r0, [r0] - ldr r1, [r0, 0x4] - lsls r0, r2, 3 - subs r0, r2 - lsls r7, r0, 2 - adds r3, r7, r1 - ldrb r0, [r3, 0x10] - movs r5, 0x30 - ands r5, r0 - cmp r5, 0 - bne _080DB5F4 - movs r0, 0 - b _080DB68A - .pool -_080DB5F4: - ldr r0, =gUnknown_02039F26 - adds r0, r2, r0 - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - adds r0, 0x2 - lsls r0, 24 - lsrs r6, r0, 24 - movs r0, 0xD - ldrsb r0, [r3, r0] - movs r1, 0xA - bl __divsi3 - lsls r0, 24 - asrs r4, r0, 24 - cmp r5, 0x10 - bne _080DB648 - bl sub_80DB5B0 - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x1 - str r0, [sp] - lsls r0, r4, 24 - lsrs r0, 24 - str r0, [sp, 0x4] - movs r0, 0x11 - str r0, [sp, 0x8] - movs r0, 0 - movs r2, 0x13 - adds r3, r6, 0 - bl sub_80DED10 - mov r1, r8 - cmp r1, 0 - beq _080DB688 - movs r0, 0x5B - b _080DB672 - .pool -_080DB648: - adds r3, r6, r4 - lsls r3, 24 - lsrs r3, 24 - movs r0, 0x1 - str r0, [sp] - movs r0, 0x3 - subs r0, r4 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x4] - movs r0, 0x11 - str r0, [sp, 0x8] - movs r0, 0 - movs r1, 0 - movs r2, 0x13 - bl sub_80DED10 - mov r0, r10 - cmp r0, 0 - beq _080DB688 - movs r0, 0x26 -_080DB672: - bl PlaySE - mov r1, r9 - ldr r0, [r1] - ldr r1, [r0, 0x4] - adds r1, r7, r1 - ldrb r2, [r1, 0x10] - movs r0, 0x31 - negs r0, r0 - ands r0, r2 - strb r0, [r1, 0x10] -_080DB688: - movs r0, 0x1 -_080DB68A: - add sp, 0xC - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80DB5B8 - - thumb_func_start sub_80DB69C -sub_80DB69C: @ 80DB69C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0xC - movs r7, 0 - movs r0, 0x1 - mov r10, r0 - movs r1, 0x11 - mov r9, r1 - movs r0, 0 - mov r8, r0 -_080DB6B6: - ldr r0, =gUnknown_02039F26 - adds r0, r7, r0 - ldrb r0, [r0] - lsls r4, r0, 2 - adds r4, r0 - adds r4, 0x2 - lsls r4, 24 - lsrs r4, 24 - bl sub_80DB5B0 - adds r5, r0, 0 - lsls r5, 16 - lsrs r5, 16 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0x4] - add r0, r8 - ldrb r0, [r0, 0xD] - lsls r0, 24 - asrs r0, 24 - movs r1, 0xA - bl __divsi3 - lsls r0, 24 - mov r1, r10 - str r1, [sp] - asrs r6, r0, 24 - lsrs r0, 24 - str r0, [sp, 0x4] - mov r0, r9 - str r0, [sp, 0x8] - movs r0, 0 - adds r1, r5, 0 - movs r2, 0x13 - adds r3, r4, 0 - bl sub_80DED10 - adds r4, r6 - lsls r4, 24 - lsrs r4, 24 - mov r1, r10 - str r1, [sp] - movs r0, 0x3 - subs r0, r6 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x4] - mov r0, r9 - str r0, [sp, 0x8] - movs r0, 0 - movs r1, 0 - movs r2, 0x13 - adds r3, r4, 0 - bl sub_80DED10 - movs r1, 0x1C - add r8, r1 - adds r7, 0x1 - cmp r7, 0x3 - ble _080DB6B6 - 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_80DB69C - - thumb_func_start sub_80DB748 -sub_80DB748: @ 80DB748 - push {lr} - lsls r0, 24 - lsrs r1, r0, 24 - movs r0, 0 - cmp r1, 0x4 - bhi _080DB78A - lsls r0, r1, 2 - ldr r1, =_080DB764 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080DB764: - .4byte _080DB778 - .4byte _080DB77C - .4byte _080DB780 - .4byte _080DB784 - .4byte _080DB788 -_080DB778: - movs r0, 0x80 - b _080DB78A -_080DB77C: - movs r0, 0x84 - b _080DB78A -_080DB780: - movs r0, 0x86 - b _080DB78A -_080DB784: - movs r0, 0x88 - b _080DB78A -_080DB788: - movs r0, 0x82 -_080DB78A: - movs r1, 0x90 - lsls r1, 8 - adds r0, r1 - lsls r0, 16 - lsrs r0, 16 - pop {r1} - bx r1 - thumb_func_end sub_80DB748 - - thumb_func_start sub_80DB798 -sub_80DB798: @ 80DB798 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x10 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x1 - mov r9, r1 - movs r1, 0 - mov r8, r1 - ldr r1, =gUnknown_02039F26 - adds r1, r0, r1 - ldrb r2, [r1] - lsls r1, r2, 2 - adds r1, r2 - adds r1, 0x2 - lsls r1, 24 - lsrs r7, r1, 24 - ldr r1, =gContestResources - ldr r1, [r1] - ldr r2, [r1, 0x4] - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - adds r2, r1, r2 - ldr r0, [r2, 0x10] - ldr r1, =0x00ff0003 - ands r0, r1 - cmp r0, 0 - bne _080DB7DC - ldrb r0, [r2, 0xF] - cmp r0, 0 - beq _080DB7EC -_080DB7DC: - movs r0, 0 - b _080DB80E - .pool -_080DB7EC: - ldrb r1, [r2, 0xC] - mov r0, r9 - ands r0, r1 - cmp r0, 0 - beq _080DB7FA - movs r0, 0x1 - b _080DB80E -_080DB7FA: - movs r0, 0x6 - ands r0, r1 - cmp r0, 0 - bne _080DB80C - ldrb r1, [r2, 0xB] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _080DB81A -_080DB80C: - movs r0, 0x2 -_080DB80E: - bl sub_80DB748 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - b _080DB81E -_080DB81A: - movs r0, 0 - mov r9, r0 -_080DB81E: - mov r1, r9 - cmp r1, 0 - beq _080DB85E - movs r6, 0x2 - str r6, [sp] - movs r4, 0x1 - str r4, [sp, 0x4] - movs r5, 0x11 - str r5, [sp, 0x8] - str r4, [sp, 0xC] - movs r0, 0 - mov r1, r8 - movs r2, 0x14 - adds r3, r7, 0 - bl sub_80DECB8 - mov r1, r8 - adds r1, 0x10 - lsls r1, 16 - lsrs r1, 16 - adds r3, r7, 0x1 - lsls r3, 24 - lsrs r3, 24 - str r6, [sp] - str r4, [sp, 0x4] - str r5, [sp, 0x8] - str r4, [sp, 0xC] - movs r0, 0 - movs r2, 0x14 - bl sub_80DECB8 - b _080DB874 -_080DB85E: - movs r0, 0x2 - str r0, [sp] - str r0, [sp, 0x4] - movs r0, 0x11 - str r0, [sp, 0x8] - movs r0, 0 - movs r1, 0 - movs r2, 0x14 - adds r3, r7, 0 - bl sub_80DED10 -_080DB874: - mov r0, r9 - add sp, 0x10 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80DB798 - thumb_func_start sub_80DB884 sub_80DB884: @ 80DB884 push {r4,lr} @@ -506,7 +31,7 @@ sub_80DB89C: @ 80DB89C movs r1, 0x2 bl CopyWindowToVram movs r0, 0 - bl sub_80DED60 + bl Contest_SetBgCopyFlags pop {r0} bx r0 thumb_func_end sub_80DB89C @@ -1417,7 +942,7 @@ sub_80DBF68: @ 80DBF68 bl sub_80DB89C ldr r0, =gUnknown_0827E8DA movs r1, 0 - bl sub_80DEC30 + bl Contest_StartTextPrinter pop {r0} bx r0 .pool @@ -1441,7 +966,7 @@ _080DBF9A: movs r0, 0 movs r1, 0 movs r2, 0x16 - bl sub_80DED10 + bl ContestBG_FillBoxWithTile movs r0, 0xA0 lsls r0, 19 adds r5, r0 @@ -1778,7 +1303,7 @@ _080DC226: str r0, [sp, 0x8] movs r0, 0 adds r1, r6, 0 - bl sub_80DED10 + bl ContestBG_FillBoxWithTile mov r3, r8 cmp r3, 0 ble _080DC284 @@ -3207,7 +2732,7 @@ _080DCDBC: add r1, sp, 0x4 movs r2, 0x37 movs r3, 0x1 - bl sub_80DEBD0 + bl Contest_PrintTextToBg0WindowAt adds r0, r5, 0x1 lsls r0, 24 lsrs r5, r0, 24 @@ -3250,7 +2775,7 @@ _080DCE14: add r1, sp, 0x4 movs r2, 0x5 movs r3, 0x1 - bl sub_80DEBD0 + bl Contest_PrintTextToBg0WindowAt adds r0, r5, 0x1 lsls r0, 24 lsrs r5, r0, 24 @@ -4146,7 +3671,7 @@ _080DD52C: bl sub_80DB89C adds r0, r4, 0 movs r1, 0x1 - bl sub_80DEC30 + bl Contest_StartTextPrinter pop {r4-r6} pop {r0} bx r0 @@ -5640,7 +5165,7 @@ _080DE146: adds r1, r4, 0 movs r2, 0x14 adds r3, r6, 0 - bl sub_80DECB8 + bl ContestBG_FillBoxWithIncrementingTile adds r4, 0x10 lsls r4, 16 lsrs r4, 16 @@ -5659,7 +5184,7 @@ _080DE146: adds r1, r4, 0 movs r2, 0x14 adds r3, r5, 0 - bl sub_80DECB8 + bl ContestBG_FillBoxWithIncrementingTile movs r0, 0x63 bl PlaySE _080DE1CA: @@ -5800,7 +5325,7 @@ sub_80DE224: @ 80DE224 movs r3, 0 bl CopyToBgTilemapBuffer movs r0, 0x1 - bl sub_80DED60 + bl Contest_SetBgCopyFlags movs r5, 0 ldr r7, =gSprites movs r6, 0x4 @@ -5863,7 +5388,7 @@ sub_80DE350: @ 80DE350 mov r0, sp bl CpuSet movs r0, 0x1 - bl sub_80DED60 + bl Contest_SetBgCopyFlags movs r0, 0xA bl GetGpuReg add r3, sp, 0x4 @@ -6812,8 +6337,8 @@ _080DEB64: .pool thumb_func_end sub_80DEAA8 - thumb_func_start sub_80DEB70 -sub_80DEB70: @ 80DEB70 + thumb_func_start Contest_PrintTextToBg0WindowStd +Contest_PrintTextToBg0WindowStd: @ 80DEB70 push {r4,lr} sub sp, 0x10 adds r4, r0, 0 @@ -6853,15 +6378,15 @@ sub_80DEB70: @ 80DEB70 adds r0, r4, 0 bl PutWindowTilemap movs r0, 0 - bl sub_80DED60 + bl Contest_SetBgCopyFlags add sp, 0x10 pop {r4} pop {r0} bx r0 - thumb_func_end sub_80DEB70 + thumb_func_end Contest_PrintTextToBg0WindowStd - thumb_func_start sub_80DEBD0 -sub_80DEBD0: @ 80DEBD0 + thumb_func_start Contest_PrintTextToBg0WindowAt +Contest_PrintTextToBg0WindowAt: @ 80DEBD0 push {r4,r5,lr} sub sp, 0x10 adds r5, r0, 0 @@ -6901,15 +6426,15 @@ sub_80DEBD0: @ 80DEBD0 adds r0, r5, 0 bl PutWindowTilemap movs r0, 0 - bl sub_80DED60 + bl Contest_SetBgCopyFlags add sp, 0x10 pop {r4,r5} pop {r0} bx r0 - thumb_func_end sub_80DEBD0 + thumb_func_end Contest_PrintTextToBg0WindowAt - thumb_func_start sub_80DEC30 -sub_80DEC30: @ 80DEC30 + thumb_func_start Contest_StartTextPrinter +Contest_StartTextPrinter: @ 80DEC30 push {r4,r5,lr} sub sp, 0x10 str r0, [sp] @@ -6971,15 +6496,15 @@ _080DECA4: movs r0, 0x4 bl PutWindowTilemap movs r0, 0 - bl sub_80DED60 + bl Contest_SetBgCopyFlags add sp, 0x10 pop {r4,r5} pop {r0} bx r0 - thumb_func_end sub_80DEC30 + thumb_func_end Contest_StartTextPrinter - thumb_func_start sub_80DECB8 -sub_80DECB8: @ 80DECB8 + thumb_func_start ContestBG_FillBoxWithIncrementingTile +ContestBG_FillBoxWithIncrementingTile: @ 80DECB8 push {r4-r7,lr} mov r7, r8 push {r7} @@ -7014,17 +6539,17 @@ sub_80DECB8: @ 80DECB8 mov r0, r8 bl WriteSequenceToBgTilemapBuffer mov r0, r8 - bl sub_80DED60 + bl Contest_SetBgCopyFlags add sp, 0x10 pop {r3} mov r8, r3 pop {r4-r7} pop {r0} bx r0 - thumb_func_end sub_80DECB8 + thumb_func_end ContestBG_FillBoxWithIncrementingTile - thumb_func_start sub_80DED10 -sub_80DED10: @ 80DED10 + thumb_func_start ContestBG_FillBoxWithTile +ContestBG_FillBoxWithTile: @ 80DED10 push {r4-r6,lr} sub sp, 0x10 ldr r4, [sp, 0x20] @@ -7049,15 +6574,15 @@ sub_80DED10: @ 80DED10 str r6, [sp, 0x8] movs r4, 0 str r4, [sp, 0xC] - bl sub_80DECB8 + bl ContestBG_FillBoxWithIncrementingTile add sp, 0x10 pop {r4-r6} pop {r0} bx r0 - thumb_func_end sub_80DED10 + thumb_func_end ContestBG_FillBoxWithTile - thumb_func_start sub_80DED4C -sub_80DED4C: @ 80DED4C + thumb_func_start Contest_RunTextPrinters +Contest_RunTextPrinters: @ 80DED4C push {lr} bl RunTextPrinters movs r0, 0x4 @@ -7066,10 +6591,10 @@ sub_80DED4C: @ 80DED4C lsrs r0, 16 pop {r1} bx r1 - thumb_func_end sub_80DED4C + thumb_func_end Contest_RunTextPrinters - thumb_func_start sub_80DED60 -sub_80DED60: @ 80DED60 + thumb_func_start Contest_SetBgCopyFlags +Contest_SetBgCopyFlags: @ 80DED60 ldr r2, =sContestBgCopyFlags movs r1, 0x1 lsls r1, r0 @@ -7078,7 +6603,7 @@ sub_80DED60: @ 80DED60 strb r1, [r2] bx lr .pool - thumb_func_end sub_80DED60 + thumb_func_end Contest_SetBgCopyFlags thumb_func_start ResetContestLinkResults ResetContestLinkResults: @ 80DED74 @@ -8411,7 +7936,7 @@ _080DF7AE: add r1, sp, 0x4 movs r2, 0x5 movs r3, 0x1 - bl sub_80DEBD0 + bl Contest_PrintTextToBg0WindowAt ldr r0, =gContestResources ldr r0, [r0] ldr r1, [r0, 0x1C] @@ -8469,7 +7994,7 @@ _080DF80A: mov r1, r9 movs r2, 0x5 movs r3, 0x1 - bl sub_80DEBD0 + bl Contest_PrintTextToBg0WindowAt ldrb r0, [r4] mov r1, sp adds r1, r5 @@ -8478,7 +8003,7 @@ _080DF80A: str r2, [sp] movs r2, 0x37 movs r3, 0x1 - bl sub_80DEBD0 + bl Contest_PrintTextToBg0WindowAt mov r1, r8 lsls r0, r1, 24 lsrs r7, r0, 24 @@ -8557,7 +8082,7 @@ _080DF8CC: mov r1, r9 movs r2, 0x5 movs r3, 0x1 - bl sub_80DEBD0 + bl Contest_PrintTextToBg0WindowAt ldrb r0, [r4] mov r1, sp adds r1, r5 @@ -8566,7 +8091,7 @@ _080DF8CC: str r2, [sp] movs r2, 0x37 movs r3, 0x1 - bl sub_80DEBD0 + bl Contest_PrintTextToBg0WindowAt mov r1, r8 lsls r0, r1, 24 lsrs r7, r0, 24 diff --git a/src/contest.c b/src/contest.c index b4e71d82b7..4303c56cab 100644 --- a/src/contest.c +++ b/src/contest.c @@ -131,11 +131,11 @@ void sub_80DE350(void); void sub_80DE424(u8); void sub_80DE69C(u8); void sub_80DEA20(void); -void sub_80DEBD0(u32, u8 *, s32, u8, u8); -void sub_80DEC30(const u8 *, u8); -void sub_80DECB8(u8, u16, u8, u8, u8, u8, u8, u8); -bool32 sub_80DED4C(void); -void sub_80DED60(u32); +void Contest_PrintTextToBg0WindowAt(u32, u8 *, s32, u8, u8); +void Contest_StartTextPrinter(const u8 *, u8); +void ContestBG_FillBoxWithIncrementingTile(u8, u16, u8, u8, u8, u8, u8, u8); +bool32 Contest_RunTextPrinters(void); +void Contest_SetBgCopyFlags(u32); void sub_80FC9F8(u8); bool8 AreMovesContestCombo(u16, u16); void sub_80DBD18(void); @@ -171,8 +171,8 @@ void sub_80DC3AC(void); bool8 sub_80DC3C4(void); void sub_80DF9D4(u8 *); void sub_80DF9E0(u8 *, s32); -void sub_80DED10(u8, u16, u8, u8, u8, u8, u8); -void sub_80DEB70(u8, const u8 *); +void ContestBG_FillBoxWithTile(u8, u16, u8, u8, u8, u8, u8); +void Contest_PrintTextToBg0WindowStd(u8, const u8 *); EWRAM_DATA struct ContestPokemon gContestMons[4] = {0}; EWRAM_DATA s16 gContestMonConditions[4] = {0}; @@ -730,12 +730,12 @@ void sub_80D833C(u8 taskId) StringCopy(gDisplayedStringBattle, gText_0827D531); sub_80DB89C(); StringExpandPlaceholders(gStringVar4, gDisplayedStringBattle); - sub_80DEC30(gStringVar4, 1); + Contest_StartTextPrinter(gStringVar4, 1); gTasks[taskId].data[0]++; } else { - if (!sub_80DED4C()) + if (!Contest_RunTextPrinters()) { gTasks[taskId].data[0] = 0; gTasks[taskId].func = sub_80D8424; @@ -790,7 +790,7 @@ void sub_80D8490(u8 taskId) r5 = StringCopy(r5, gMoveNames[move]); FillWindowPixelBuffer(i + 5, 0); - sub_80DEBD0(i + 5, sp8, 5, 1, 7); + Contest_PrintTextToBg0WindowAt(i + 5, sp8, 5, 1, 7); } sub_80D880C(gContestResources->field_0->playerMoveChoice); @@ -828,7 +828,7 @@ void sub_80D8610(u8 taskId) StringCopy(gDisplayedStringBattle, gText_0827D531); sub_80DB89C(); StringExpandPlaceholders(gStringVar4, gDisplayedStringBattle); - sub_80DEC30(gStringVar4, 0); + Contest_StartTextPrinter(gStringVar4, 0); gBattle_BG0_Y = 0; gBattle_BG2_Y = 0; gTasks[taskId].func = sub_80D8424; @@ -864,13 +864,13 @@ void sub_80D8610(u8 taskId) void sub_80D880C(s8 a0) { - sub_80DECB8(2, 55, 0, 31 + a0 * 2, 2, 2, 17, 1); + ContestBG_FillBoxWithIncrementingTile(2, 55, 0, 31 + a0 * 2, 2, 2, 17, 1); } void sub_80D883C(s8 a0) { - sub_80DECB8(2, 11, 0, 31 + a0 * 2, 2, 1, 17, 1); - sub_80DECB8(2, 11, 0, 32 + a0 * 2, 2, 1, 17, 1); + ContestBG_FillBoxWithIncrementingTile(2, 11, 0, 31 + a0 * 2, 2, 1, 17, 1); + ContestBG_FillBoxWithIncrementingTile(2, 11, 0, 32 + a0 * 2, 2, 1, 17, 1); } void sub_80D8894(u8 taskId) @@ -915,7 +915,7 @@ void sub_80D895C(u8 taskId) PutWindowTilemap(5 + i); CopyWindowToVram(5 + i, 2); } - sub_80DED60(0); + Contest_SetBgCopyFlags(0); DmaCopy32Defvars(3, gPlttBufferFaded, shared18000.unk18604, 0x400); LoadPalette(shared18000.unk18204, 0, 0x400); @@ -1055,12 +1055,12 @@ void sub_80D8B38(u8 taskId) else StringCopy(gStringVar2, gUnknown_08587F1C[gContestResources->field_4[r6].moveCategory]); StringExpandPlaceholders(gStringVar4, gText_0827D55A); - sub_80DEC30(gStringVar4, 1); + Contest_StartTextPrinter(gStringVar4, 1); gTasks[taskId].data[0] = 6; } return; case 6: - if (!sub_80DED4C()) + if (!Contest_RunTextPrinters()) { gContestResources->field_0->unk1925E = 0; gTasks[taskId].data[0] = 7; @@ -1138,7 +1138,7 @@ void sub_80D8B38(u8 taskId) } return; case 24: - if (!sub_80DED4C()) + if (!Contest_RunTextPrinters()) gTasks[taskId].data[0] = 23; return; case 48: @@ -1250,7 +1250,7 @@ void sub_80D8B38(u8 taskId) } return; case 27: - if (!sub_80DED4C()) + if (!Contest_RunTextPrinters()) gTasks[taskId].data[0] = 28; return; case 28: @@ -1313,13 +1313,13 @@ void sub_80D8B38(u8 taskId) sub_80DB89C(); StringCopy(gStringVar1, gContestMons[r6].nickname); StringExpandPlaceholders(gStringVar4, gText_0827E793); - sub_80DEC30(gStringVar4, 1); + Contest_StartTextPrinter(gStringVar4, 1); } gTasks[taskId].data[0] = 52; } return; case 52: - if (!sub_80DED4C()) + if (!Contest_RunTextPrinters()) { if (!gContestResources->field_4[r6].unk15_6) gTasks[taskId].data[0] = 17; @@ -1333,11 +1333,11 @@ void sub_80D8B38(u8 taskId) { sub_80DB89C(); if (r3 == 1) - sub_80DEC30(gText_0827E32E, 1); + Contest_StartTextPrinter(gText_0827E32E, 1); else if (r3 == 2) - sub_80DEC30(gText_0827E35B, 1); + Contest_StartTextPrinter(gText_0827E35B, 1); else - sub_80DEC30(gText_0827E38D, 1); + Contest_StartTextPrinter(gText_0827E38D, 1); sub_80DD720(3); gTasks[taskId].data[10] = 0; gTasks[taskId].data[0] = 45; @@ -1347,7 +1347,7 @@ void sub_80D8B38(u8 taskId) sub_80DB89C(); StringCopy(gStringVar1, gContestMons[r6].nickname); StringExpandPlaceholders(gStringVar4, gText_0827E2FE); - sub_80DEC30(gStringVar4, 1); + Contest_StartTextPrinter(gStringVar4, 1); sub_80DD720(2); gTasks[taskId].data[10] = 0; gTasks[taskId].data[0] = 45; @@ -1361,7 +1361,7 @@ void sub_80D8B38(u8 taskId) } return; case 15: - if (!sub_80DED4C()) + if (!Contest_RunTextPrinters()) { if (++gTasks[taskId].data[10] > 50) { @@ -1390,7 +1390,7 @@ void sub_80D8B38(u8 taskId) sub_80DB89C(); StringCopy(gStringVar1, gContestMons[r6].nickname); StringExpandPlaceholders(gStringVar4, gText_0827E6E3); - sub_80DEC30(gStringVar4, 1); + Contest_StartTextPrinter(gStringVar4, 1); gTasks[taskId].data[10] = 0; sub_80DD720(0); gTasks[taskId].data[0] = 46; @@ -1405,7 +1405,7 @@ void sub_80D8B38(u8 taskId) gTasks[taskId].data[0] = 19; return; case 19: - if (!sub_80DED4C()) + if (!Contest_RunTextPrinters()) { sub_80DC028(gContestResources->field_4[r6].appeal2, -gContestResources->field_4[r6].unk18, r6); gContestResources->field_4[r6].appeal2 -= gContestResources->field_4[r6].unk18; @@ -1460,7 +1460,7 @@ void sub_80D8B38(u8 taskId) StringExpandPlaceholders(gStringVar4, gText_0827E717); else StringExpandPlaceholders(gStringVar4, gText_0827E76A); - sub_80DEC30(gStringVar4, 1); + Contest_StartTextPrinter(gStringVar4, 1); gTasks[taskId].data[10] = 0; gTasks[taskId].data[11] = 0; if (r3 < 0) @@ -1479,7 +1479,7 @@ void sub_80D8B38(u8 taskId) gTasks[taskId].data[10]++; break; case 1: - if (!gContestResources->field_0->unk1920B_0 && !sub_80DED4C()) + if (!gContestResources->field_0->unk1920B_0 && !Contest_RunTextPrinters()) { sub_80DDCDC(-1); gTasks[taskId].data[10]++; @@ -1510,7 +1510,7 @@ void sub_80D8B38(u8 taskId) switch (gTasks[taskId].data[10]) { case 0: - if (!sub_80DED4C()) + if (!Contest_RunTextPrinters()) { sub_80DDED0(1, 1); gTasks[taskId].data[10]++; @@ -1570,20 +1570,20 @@ void sub_80D8B38(u8 taskId) StringCopy(gStringVar1, gContestMons[r6].nickname); StringCopy(gStringVar2, gMoveNames[gContestResources->field_4[r6].currMove]); StringExpandPlaceholders(gStringVar4, gText_0827E7EA); - sub_80DEC30(gStringVar4, 1); + Contest_StartTextPrinter(gStringVar4, 1); gTasks[taskId].data[0] = 58; return; case 58: - if (!sub_80DED4C()) + if (!Contest_RunTextPrinters()) { sub_80DB89C(); StringExpandPlaceholders(gStringVar4, gText_0827E817); - sub_80DEC30(gStringVar4, 1); + Contest_StartTextPrinter(gStringVar4, 1); gTasks[taskId].data[0] = 59; } return; case 59: - if (!sub_80DED4C()) + if (!Contest_RunTextPrinters()) { sub_80DB89C(); gTasks[taskId].data[0] = 55; @@ -1596,11 +1596,11 @@ void sub_80D8B38(u8 taskId) StringCopy(gStringVar1, gContestMons[r6].nickname); StringCopy(gStringVar2, gMoveNames[gContestResources->field_4[r6].currMove]); StringExpandPlaceholders(gStringVar4, gText_0827E58A); - sub_80DEC30(gStringVar4, 1); + Contest_StartTextPrinter(gStringVar4, 1); gTasks[taskId].data[0] = 34; return; case 34: - if (!sub_80DED4C()) + if (!Contest_RunTextPrinters()) gTasks[taskId].data[0] = 55; return; case 55: @@ -1640,11 +1640,11 @@ void sub_80D8B38(u8 taskId) sub_80DB89C(); StringCopy(gStringVar1, gContestMons[r6].nickname); StringExpandPlaceholders(gStringVar4, gText_0827D56F); - sub_80DEC30(gStringVar4, 1); + Contest_StartTextPrinter(gStringVar4, 1); gTasks[taskId].data[0] = 32; return; case 32: - if (!sub_80DED4C()) + if (!Contest_RunTextPrinters()) gTasks[taskId].data[0] = 21; return; case 21: @@ -1812,12 +1812,12 @@ void sub_80DA3CC(u8 taskId) sub_80DB89C(); StringCopy(gStringVar1, gContestMons[gContestPlayerMonIndex].nickname); StringExpandPlaceholders(gStringVar4, gUnknown_08587D90[r4]); - sub_80DEC30(gStringVar4, 1); + Contest_StartTextPrinter(gStringVar4, 1); gTasks[taskId].data[0]++; } else { - if (!sub_80DED4C()) + if (!Contest_RunTextPrinters()) { gTasks[taskId].data[0] = 0; gTasks[taskId].func = sub_80DA464; @@ -1903,14 +1903,14 @@ void sub_80DA5E8(u8 taskId) } gContestRngValue = gRngValue; StringExpandPlaceholders(gStringVar4, gText_0827D597); - sub_80DEC30(gStringVar4, 1); + Contest_StartTextPrinter(gStringVar4, 1); gTasks[taskId].data[2] = 0; gTasks[taskId].func = sub_80DA6B4; } void sub_80DA6B4(u8 taskId) { - if (!sub_80DED4C()) + if (!Contest_RunTextPrinters()) { sub_80DE224(); gBattle_BG1_X = 0; @@ -2441,7 +2441,7 @@ void sub_80DAF1C(u8 a0, u8 a1) offset = GetStringRightAlignXOffset(7, gDisplayedStringBattle, 0x60); if (offset > 55) offset = 55; - sub_80DEBD0(gUnknown_02039F26[a0], gDisplayedStringBattle, offset, 1, 7); + Contest_PrintTextToBg0WindowAt(gUnknown_02039F26[a0], gDisplayedStringBattle, offset, 1, 7); } void sub_80DAF88(u8 a0) @@ -2452,7 +2452,7 @@ void sub_80DAF88(u8 a0) void sub_80DAFA0(u8 a0, u8 a1) { sub_80DAED4(gContestMons[a0].nickname, a1); - sub_80DEBD0(gUnknown_02039F26[a0], gDisplayedStringBattle, 5, 1, 7); + Contest_PrintTextToBg0WindowAt(gUnknown_02039F26[a0], gDisplayedStringBattle, 5, 1, 7); } u16 sub_80DAFE0(u8 who, u8 contestCategory) @@ -2609,8 +2609,8 @@ void prints_contest_move_description(u16 a) else categoryTile = 0x408A; - sub_80DECB8(0, categoryTile, 0x0b, 0x1f, 0x05, 0x01, 0x11, 0x01); - sub_80DECB8(0, categoryTile + 0x10, 0x0b, 0x20, 0x05, 0x01, 0x11, 0x01); + ContestBG_FillBoxWithIncrementingTile(0, categoryTile, 0x0b, 0x1f, 0x05, 0x01, 0x11, 0x01); + ContestBG_FillBoxWithIncrementingTile(0, categoryTile + 0x10, 0x0b, 0x20, 0x05, 0x01, 0x11, 0x01); if (gContestEffects[gContestMoves[a].effect].appeal == 0xFF) numHearts = 0; @@ -2618,8 +2618,8 @@ void prints_contest_move_description(u16 a) numHearts = gContestEffects[gContestMoves[a].effect].appeal / 10; if (numHearts > 8) numHearts = 8; - sub_80DED10(0, 0x5035, 0x15, 0x1f, 0x08, 0x01, 0x11); - sub_80DED10(0, 0x5012, 0x15, 0x1f, numHearts, 0x01, 0x11); + ContestBG_FillBoxWithTile(0, 0x5035, 0x15, 0x1f, 0x08, 0x01, 0x11); + ContestBG_FillBoxWithTile(0, 0x5012, 0x15, 0x1f, numHearts, 0x01, 0x11); if (gContestEffects[gContestMoves[a].effect].jam == 0xFF) numHearts = 0; @@ -2627,10 +2627,138 @@ void prints_contest_move_description(u16 a) numHearts = gContestEffects[gContestMoves[a].effect].jam / 10; if (numHearts > 8) numHearts = 8; - sub_80DED10(0, 0x5036, 0x15, 0x20, 0x08, 0x01, 0x11); - sub_80DED10(0, 0x5014, 0x15, 0x20, numHearts, 0x01, 0x11); + ContestBG_FillBoxWithTile(0, 0x5036, 0x15, 0x20, 0x08, 0x01, 0x11); + ContestBG_FillBoxWithTile(0, 0x5014, 0x15, 0x20, numHearts, 0x01, 0x11); FillWindowPixelBuffer(10, 0); - sub_80DEB70(10, gContestEffectDescriptionPointers[gContestMoves[a].effect]); - sub_80DEB70(9, gText_Slash); + Contest_PrintTextToBg0WindowStd(10, gContestEffectDescriptionPointers[gContestMoves[a].effect]); + Contest_PrintTextToBg0WindowStd(9, gText_Slash); +} + +void sub_80DB4E0(u16 move, u8 b) +{ + u8 r7 = gUnknown_02039F26[b] * 5 + 2; + + if (!sub_80DBCA8(b) && move != MOVE_NONE) + { + u16 tile = sub_80DB2EC(move, b); + + ContestBG_FillBoxWithIncrementingTile(0, tile, 20, r7, 2, 1, 17, 1); + ContestBG_FillBoxWithIncrementingTile(0, tile + 16, 20, r7 + 1, 2, 1, 17, 1); + } + else + { + ContestBG_FillBoxWithTile(0, 0, 20, r7, 2, 2, 17); + } +} + +void sub_80DB584(void) +{ + s32 i; + + for (i = 0; i < 4; i++) + sub_80DB4E0(gContestResources->field_4[i].currMove, i); +} + +u16 sub_80DB5B0(void) +{ + return 0x2034; +} + +bool8 sub_80DB5B8(u8 contestantIdx, bool8 resetMod) +{ + u8 r6; + s32 r4; + + if (sContestantStatus[contestantIdx].conditionMod == 0) + return FALSE; + r6 = gUnknown_02039F26[contestantIdx] * 5 + 2; + r4 = sContestantStatus[contestantIdx].condition / 10; + if (sContestantStatus[contestantIdx].conditionMod == 1) + { + ContestBG_FillBoxWithTile(0, sub_80DB5B0(), 19, r6, 1, r4, 17); + if (resetMod) + { + PlaySE(SE_EXPMAX); + sContestantStatus[contestantIdx].conditionMod = 0; + } + } + else + { + ContestBG_FillBoxWithTile(0, 0, 19, r6 + r4, 1, 3 - r4, 17); + if (resetMod) + { + PlaySE(SE_FU_ZAKU2); + sContestantStatus[contestantIdx].conditionMod = 0; + } + } + return TRUE; +} + +void sub_80DB69C(void) +{ + s32 i; + s32 r6; + + for (i = 0; i < 4; i++) + { + u8 r4 = gUnknown_02039F26[i] * 5 + 2; + u16 r5 = sub_80DB5B0(); + + r6 = sContestantStatus[i].condition / 10; + ContestBG_FillBoxWithTile(0, r5, 19, r4, 1, r6, 17); + ContestBG_FillBoxWithTile(0, 0, 19, r4 + r6, 1, 3 - r6, 17); + } +} + +u16 sub_80DB748(u8 status) +{ + u16 var = 0; + + switch (status) + { + case 0: + var = 0x80; + break; + case 1: + var = 0x84; + break; + case 2: + var = 0x86; + break; + case 3: + var = 0x88; + break; + case 4: + var = 0x82; + break; + } + var += 0x9000; + return var; +} + +bool8 sub_80DB798(u8 a) +{ + bool8 r9 = TRUE; + u16 r8 = 0; + u8 r7 = gUnknown_02039F26[a] * 5 + 2; + + if (sContestantStatus[a].resistant != 0 || sContestantStatus[a].immune != 0 || sContestantStatus[a].jamSafetyCount != 0 || sContestantStatus[a].jamReduction != 0) + r8 = sub_80DB748(0); + else if (sContestantStatus[a].nervous) + r8 = sub_80DB748(1); + else if (sContestantStatus[a].numTurnsSkipped != 0 || sContestantStatus[a].noMoreTurns) + r8 = sub_80DB748(2); + else + r9 = FALSE; + if (r9) + { + ContestBG_FillBoxWithIncrementingTile(0, r8, 20, r7, 2, 1, 17, 1); + ContestBG_FillBoxWithIncrementingTile(0, r8 + 16, 20, r7 + 1, 2, 1, 17, 1); + } + else + { + ContestBG_FillBoxWithTile(0, 0, 20, r7, 2, 2, 17); + } + return r9; } From 9bb23388a53b552abadfc81d5672887523f6e932 Mon Sep 17 00:00:00 2001 From: MCboy Date: Thu, 19 Jul 2018 20:51:40 +0430 Subject: [PATCH 038/234] Fixed a typo i couldnt find a function for 15 minutes because of this :( --- asm/field_player_avatar.s | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/asm/field_player_avatar.s b/asm/field_player_avatar.s index c0becc6da6..b3e06c0a01 100644 --- a/asm/field_player_avatar.s +++ b/asm/field_player_avatar.s @@ -67,7 +67,7 @@ player_step: @ 808A9C0 adds r0, r5, 0 bl npc_clear_strange_bits bl DoPlayerAvatarTransition - bl TryDoMetatileBehaviorForcedMovment + bl TryDoMetatileBehaviorForcedMovement lsls r0, 24 cmp r0, 0 bne _0808AA26 @@ -211,9 +211,9 @@ _0808AB0A: .pool thumb_func_end PlayerAllowForcedMovementIfMovingSameDirection - thumb_func_start TryDoMetatileBehaviorForcedMovment -@ bool8 TryDoMetatileBehaviorForcedMovment() -TryDoMetatileBehaviorForcedMovment: @ 808AB14 + thumb_func_start TryDoMetatileBehaviorForcedMovement +@ bool8 TryDoMetatileBehaviorForcedMovement() +TryDoMetatileBehaviorForcedMovement: @ 808AB14 push {r4,lr} ldr r4, =gUnknown_08497444 bl GetForcedMovementByMetatileBehavior @@ -228,7 +228,7 @@ TryDoMetatileBehaviorForcedMovment: @ 808AB14 pop {r1} bx r1 .pool - thumb_func_end TryDoMetatileBehaviorForcedMovment + thumb_func_end TryDoMetatileBehaviorForcedMovement thumb_func_start GetForcedMovementByMetatileBehavior @ u8 GetForcedMovementByMetatileBehavior() @@ -3305,6 +3305,7 @@ sub_808C228: @ 808C228 thumb_func_end sub_808C228 thumb_func_start sub_808C280 +@ void sub_808C280(struct EventObject *playerEventObj); sub_808C280: @ 808C280 push {r4-r7,lr} mov r7, r9 From 663bb3112ae4000d679d22468cf25524d2136cff Mon Sep 17 00:00:00 2001 From: MCboy Date: Thu, 19 Jul 2018 21:15:35 +0430 Subject: [PATCH 039/234] add player_field_avatar.c --- ld_script.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/ld_script.txt b/ld_script.txt index 6d5e31a25a..35029ce6ec 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -91,6 +91,7 @@ SECTIONS { src/metatile_behavior.o(.text); src/field_camera.o(.text); src/field_door.o(.text); + src/field_player_avatar.o(.text); asm/field_player_avatar.o(.text); src/event_object_movement.o(.text); src/field_message_box.o(.text); From 34e3638f6c95ad11b83f5cefc701563eba025407 Mon Sep 17 00:00:00 2001 From: MCboy Date: Thu, 19 Jul 2018 21:17:27 +0430 Subject: [PATCH 040/234] decompile field_player_avatar.s --- asm/field_player_avatar.s | 80 --------------------------------------- 1 file changed, 80 deletions(-) diff --git a/asm/field_player_avatar.s b/asm/field_player_avatar.s index b3e06c0a01..765daed00a 100644 --- a/asm/field_player_avatar.s +++ b/asm/field_player_avatar.s @@ -5,86 +5,6 @@ .text - thumb_func_start MovementType_Player -@ void MovementType_Player(struct obj *object) -MovementType_Player: @ 808A998 - push {lr} - adds r1, r0, 0 - movs r0, 0x2E - ldrsh r2, [r1, r0] - lsls r0, r2, 3 - adds r0, r2 - lsls r0, 2 - ldr r2, =gEventObjects - adds r0, r2 - ldr r2, =EventObjectCB2_NoMovement2 - bl UpdateEventObjectCurrentMovement - pop {r0} - bx r0 - .pool - thumb_func_end MovementType_Player - - thumb_func_start EventObjectCB2_NoMovement2 -EventObjectCB2_NoMovement2: @ 808A9BC - movs r0, 0 - bx lr - thumb_func_end EventObjectCB2_NoMovement2 - - thumb_func_start player_step -@ void player_step(int dpad_direction, int buttons_new, int buttons_held) -player_step: @ 808A9C0 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - lsls r1, 16 - lsrs r7, r1, 16 - lsls r2, 16 - lsrs r6, r2, 16 - ldr r4, =gPlayerAvatar - ldrb r1, [r4, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, =gEventObjects - adds r5, r0, r1 - adds r0, r5, 0 - bl sub_808C280 - ldrb r0, [r4, 0x6] - cmp r0, 0 - bne _0808AA26 - adds r0, r7, 0 - adds r1, r6, 0 - bl Bike_TryAcroBikeHistoryUpdate - adds r0, r5, 0 - mov r1, r8 - bl TryInterruptEventObjectSpecialAnim - lsls r0, 24 - cmp r0, 0 - bne _0808AA26 - adds r0, r5, 0 - bl npc_clear_strange_bits - bl DoPlayerAvatarTransition - bl TryDoMetatileBehaviorForcedMovement - lsls r0, 24 - cmp r0, 0 - bne _0808AA26 - mov r0, r8 - adds r1, r7, 0 - adds r2, r6, 0 - bl MovePlayerAvatarUsingKeypadInput - bl PlayerAllowForcedMovementIfMovingSameDirection -_0808AA26: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end player_step - thumb_func_start TryInterruptEventObjectSpecialAnim @ bool8 TryInterruptEventObjectSpecialAnim(struct npc_state *eventObject, u8 direction) TryInterruptEventObjectSpecialAnim: @ 808AA38 From e3a82bd2c51054511da14e325cea104512e8a4ea Mon Sep 17 00:00:00 2001 From: MCboy Date: Thu, 19 Jul 2018 21:18:09 +0430 Subject: [PATCH 041/234] decompile player_field_avatar.s --- src/player_field_effect.c | 46 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 src/player_field_effect.c diff --git a/src/player_field_effect.c b/src/player_field_effect.c new file mode 100644 index 0000000000..b0d703e251 --- /dev/null +++ b/src/player_field_effect.c @@ -0,0 +1,46 @@ +#include "global.h" +#include "global.fieldmap.h" +#include "sprite.h" +#include "event_object_movement.h" +#include "bike.h" + +static u8 EventObjectCB2_NoMovement2(); +void sub_808C280(struct EventObject *); //struct EventObject *playerEventObj +bool8 TryInterruptEventObjectSpecialAnim(struct EventObject *, u8); +void npc_clear_strange_bits(struct EventObject *); +void DoPlayerAvatarTransition(void); +bool8 TryDoMetatileBehaviorForcedMovement(); +void MovePlayerAvatarUsingKeypadInput(u8, u16, u16); +void PlayerAllowForcedMovementIfMovingSameDirection(); + +void MovementType_Player(struct Sprite *sprite) +{ + // ((Sprite->data[0] << 3) + Sprite->data[0]) << 2 + UpdateEventObjectCurrentMovement(&gEventObjects[sprite->data[0]], sprite, EventObjectCB2_NoMovement2); +} + +static u8 EventObjectCB2_NoMovement2() +{ + return 0; +} + +void player_step(u8 direction, u16 newKeys, u16 heldKeys) +{ + struct EventObject *playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId]; + + sub_808C280(playerEventObj); + if (gPlayerAvatar.preventStep == FALSE) + { + Bike_TryAcroBikeHistoryUpdate(newKeys, heldKeys); + if (TryInterruptEventObjectSpecialAnim(playerEventObj, direction) == 0) + { + npc_clear_strange_bits(playerEventObj); + DoPlayerAvatarTransition(); + if (TryDoMetatileBehaviorForcedMovement() == 0) + { + MovePlayerAvatarUsingKeypadInput(direction, newKeys, heldKeys); + PlayerAllowForcedMovementIfMovingSameDirection(); + } + } + } +} From a8f9adeaf54c855f4afdd23257df75f6270733fb Mon Sep 17 00:00:00 2001 From: MCboy Date: Thu, 19 Jul 2018 21:22:35 +0430 Subject: [PATCH 042/234] decompile player_field_avatar --- src/field_player_avatar.c | 46 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 src/field_player_avatar.c diff --git a/src/field_player_avatar.c b/src/field_player_avatar.c new file mode 100644 index 0000000000..b0d703e251 --- /dev/null +++ b/src/field_player_avatar.c @@ -0,0 +1,46 @@ +#include "global.h" +#include "global.fieldmap.h" +#include "sprite.h" +#include "event_object_movement.h" +#include "bike.h" + +static u8 EventObjectCB2_NoMovement2(); +void sub_808C280(struct EventObject *); //struct EventObject *playerEventObj +bool8 TryInterruptEventObjectSpecialAnim(struct EventObject *, u8); +void npc_clear_strange_bits(struct EventObject *); +void DoPlayerAvatarTransition(void); +bool8 TryDoMetatileBehaviorForcedMovement(); +void MovePlayerAvatarUsingKeypadInput(u8, u16, u16); +void PlayerAllowForcedMovementIfMovingSameDirection(); + +void MovementType_Player(struct Sprite *sprite) +{ + // ((Sprite->data[0] << 3) + Sprite->data[0]) << 2 + UpdateEventObjectCurrentMovement(&gEventObjects[sprite->data[0]], sprite, EventObjectCB2_NoMovement2); +} + +static u8 EventObjectCB2_NoMovement2() +{ + return 0; +} + +void player_step(u8 direction, u16 newKeys, u16 heldKeys) +{ + struct EventObject *playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId]; + + sub_808C280(playerEventObj); + if (gPlayerAvatar.preventStep == FALSE) + { + Bike_TryAcroBikeHistoryUpdate(newKeys, heldKeys); + if (TryInterruptEventObjectSpecialAnim(playerEventObj, direction) == 0) + { + npc_clear_strange_bits(playerEventObj); + DoPlayerAvatarTransition(); + if (TryDoMetatileBehaviorForcedMovement() == 0) + { + MovePlayerAvatarUsingKeypadInput(direction, newKeys, heldKeys); + PlayerAllowForcedMovementIfMovingSameDirection(); + } + } + } +} From 416db8e75106d6d7355e706904922a4248708de5 Mon Sep 17 00:00:00 2001 From: MCboy Date: Thu, 19 Jul 2018 21:23:45 +0430 Subject: [PATCH 043/234] oops --- src/player_field_effect.c | 46 --------------------------------------- 1 file changed, 46 deletions(-) delete mode 100644 src/player_field_effect.c diff --git a/src/player_field_effect.c b/src/player_field_effect.c deleted file mode 100644 index b0d703e251..0000000000 --- a/src/player_field_effect.c +++ /dev/null @@ -1,46 +0,0 @@ -#include "global.h" -#include "global.fieldmap.h" -#include "sprite.h" -#include "event_object_movement.h" -#include "bike.h" - -static u8 EventObjectCB2_NoMovement2(); -void sub_808C280(struct EventObject *); //struct EventObject *playerEventObj -bool8 TryInterruptEventObjectSpecialAnim(struct EventObject *, u8); -void npc_clear_strange_bits(struct EventObject *); -void DoPlayerAvatarTransition(void); -bool8 TryDoMetatileBehaviorForcedMovement(); -void MovePlayerAvatarUsingKeypadInput(u8, u16, u16); -void PlayerAllowForcedMovementIfMovingSameDirection(); - -void MovementType_Player(struct Sprite *sprite) -{ - // ((Sprite->data[0] << 3) + Sprite->data[0]) << 2 - UpdateEventObjectCurrentMovement(&gEventObjects[sprite->data[0]], sprite, EventObjectCB2_NoMovement2); -} - -static u8 EventObjectCB2_NoMovement2() -{ - return 0; -} - -void player_step(u8 direction, u16 newKeys, u16 heldKeys) -{ - struct EventObject *playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId]; - - sub_808C280(playerEventObj); - if (gPlayerAvatar.preventStep == FALSE) - { - Bike_TryAcroBikeHistoryUpdate(newKeys, heldKeys); - if (TryInterruptEventObjectSpecialAnim(playerEventObj, direction) == 0) - { - npc_clear_strange_bits(playerEventObj); - DoPlayerAvatarTransition(); - if (TryDoMetatileBehaviorForcedMovement() == 0) - { - MovePlayerAvatarUsingKeypadInput(direction, newKeys, heldKeys); - PlayerAllowForcedMovementIfMovingSameDirection(); - } - } - } -} From 43fa9da52a4a204d6e75640b17b2416648f1ddc0 Mon Sep 17 00:00:00 2001 From: MCboy Date: Fri, 20 Jul 2018 03:44:20 +0430 Subject: [PATCH 044/234] decompile more code 1 non matching need help --- src/field_player_avatar.c | 81 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 81 insertions(+) diff --git a/src/field_player_avatar.c b/src/field_player_avatar.c index b0d703e251..191fc8aa4f 100644 --- a/src/field_player_avatar.c +++ b/src/field_player_avatar.c @@ -8,10 +8,13 @@ static u8 EventObjectCB2_NoMovement2(); void sub_808C280(struct EventObject *); //struct EventObject *playerEventObj bool8 TryInterruptEventObjectSpecialAnim(struct EventObject *, u8); void npc_clear_strange_bits(struct EventObject *); +u8 EventObjectGetHeldMovementActionId(struct EventObject *); void DoPlayerAvatarTransition(void); bool8 TryDoMetatileBehaviorForcedMovement(); void MovePlayerAvatarUsingKeypadInput(u8, u16, u16); void PlayerAllowForcedMovementIfMovingSameDirection(); +void MovePlayerNotOnBike(u8 a, u16 b); +u8 sub_808B028(u8); void MovementType_Player(struct Sprite *sprite) { @@ -44,3 +47,81 @@ void player_step(u8 direction, u16 newKeys, u16 heldKeys) } } } + +NAKED +bool8 TryInterruptEventObjectSpecialAnim(struct EventObject *eventObject, u8 direction) +{ + asm_unified("push {r4-r6,lr}\n\ + adds r4, r0, 0\n\ + lsls r1, 24\n\ + lsrs r5, r1, 24\n\ + adds r6, r5, 0\n\ + bl EventObjectIsMovementOverridden\n\ + lsls r0, 24\n\ + cmp r0, 0\n\ + beq _0808AA92\n\ + adds r0, r4, 0\n\ + bl EventObjectClearHeldMovementIfFinished\n\ + lsls r0, 24\n\ + cmp r0, 0\n\ + bne _0808AA92\n\ + adds r0, r4, 0\n\ + bl EventObjectGetHeldMovementActionId\n\ + lsls r0, 24\n\ + movs r1, 0xE7\n\ + lsls r1, 24\n\ + adds r0, r1\n\ + lsrs r0, 24\n\ + cmp r0, 0x3\n\ + bhi _0808AA70\n\ + cmp r5, 0\n\ + bne _0808AA74\n\ +_0808AA70:\n\ + movs r0, 0x1\n\ + b _0808AA94\n\ +_0808AA74:\n\ + ldrb r0, [r4, 0x18]\n\ + lsrs r0, 4\n\ + cmp r0, r5\n\ + beq _0808AA84\n\ +_0808AA7C:\n\ + adds r0, r4, 0\n\ + bl EventObjectClearHeldMovement\n\ + b _0808AA92\n\ +_0808AA84:\n\ + adds r0, r6, 0\n\ + bl sub_808B028\n\ + lsls r0, 24\n\ + cmp r0, 0\n\ + beq _0808AA7C\n\ + b _0808AA70\n\ +_0808AA92:\n\ + movs r0, 0\n\ +_0808AA94:\n\ + pop {r4-r6}\n\ + pop {r1}\n\ + bx r1"); +} + +void npc_clear_strange_bits(struct EventObject *eventObj) +{ + eventObj->inanimate = 0; + eventObj->disableAnim = 0; + eventObj->facingDirectionLocked = 0; + gPlayerAvatar.flags &= ~PLAYER_AVATAR_FLAG_DASH; +} + +void MovePlayerAvatarUsingKeypadInput(u8 direction, u16 newKeys, u16 heldKeys) +{ + if ((gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_MACH_BIKE) + || (gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_ACRO_BIKE)) + MovePlayerOnBike(direction, newKeys, heldKeys); + else + MovePlayerNotOnBike(direction, heldKeys); +} + +void PlayerAllowForcedMovementIfMovingSameDirection(void) +{ + if (gPlayerAvatar.runningState == MOVING) + gPlayerAvatar.flags &= ~PLAYER_AVATAR_FLAG_5; +} From 62a4193f8f16ceb1ee192d7939114c622cc67db1 Mon Sep 17 00:00:00 2001 From: MCboy Date: Fri, 20 Jul 2018 03:46:55 +0430 Subject: [PATCH 045/234] Update field_player_avatar.s --- asm/field_player_avatar.s | 126 -------------------------------------- 1 file changed, 126 deletions(-) diff --git a/asm/field_player_avatar.s b/asm/field_player_avatar.s index 765daed00a..df429af5d6 100644 --- a/asm/field_player_avatar.s +++ b/asm/field_player_avatar.s @@ -5,132 +5,6 @@ .text - thumb_func_start TryInterruptEventObjectSpecialAnim -@ bool8 TryInterruptEventObjectSpecialAnim(struct npc_state *eventObject, u8 direction) -TryInterruptEventObjectSpecialAnim: @ 808AA38 - push {r4-r6,lr} - adds r4, r0, 0 - lsls r1, 24 - lsrs r5, r1, 24 - adds r6, r5, 0 - bl EventObjectIsMovementOverridden - lsls r0, 24 - cmp r0, 0 - beq _0808AA92 - adds r0, r4, 0 - bl EventObjectClearHeldMovementIfFinished - lsls r0, 24 - cmp r0, 0 - bne _0808AA92 - adds r0, r4, 0 - bl EventObjectGetHeldMovementActionId - lsls r0, 24 - movs r1, 0xE7 - lsls r1, 24 - adds r0, r1 - lsrs r0, 24 - cmp r0, 0x3 - bhi _0808AA70 - cmp r5, 0 - bne _0808AA74 -_0808AA70: - movs r0, 0x1 - b _0808AA94 -_0808AA74: - ldrb r0, [r4, 0x18] - lsrs r0, 4 - cmp r0, r5 - beq _0808AA84 -_0808AA7C: - adds r0, r4, 0 - bl EventObjectClearHeldMovement - b _0808AA92 -_0808AA84: - adds r0, r6, 0 - bl sub_808B028 - lsls r0, 24 - cmp r0, 0 - beq _0808AA7C - b _0808AA70 -_0808AA92: - movs r0, 0 -_0808AA94: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end TryInterruptEventObjectSpecialAnim - - thumb_func_start npc_clear_strange_bits -@ void npc_clear_strange_bits(struct npc_state *eventObject) -npc_clear_strange_bits: @ 808AA9C - ldrb r2, [r0, 0x1] - movs r1, 0x11 - negs r1, r1 - ands r1, r2 - movs r2, 0x5 - negs r2, r2 - ands r1, r2 - adds r2, 0x2 - ands r1, r2 - strb r1, [r0, 0x1] - ldr r2, =gPlayerAvatar - ldrb r1, [r2] - movs r0, 0x7F - ands r0, r1 - strb r0, [r2] - bx lr - .pool - thumb_func_end npc_clear_strange_bits - - thumb_func_start MovePlayerAvatarUsingKeypadInput -@ void MovePlayerAvatarUsingKeypadInput(int dpad_direction, int buttons_new, int buttons_held) -MovePlayerAvatarUsingKeypadInput: @ 808AAC0 - push {r4,lr} - lsls r0, 24 - lsrs r3, r0, 24 - lsls r1, 16 - lsrs r4, r1, 16 - lsls r2, 16 - lsrs r2, 16 - ldr r0, =gPlayerAvatar - ldrb r1, [r0] - movs r0, 0x6 - ands r0, r1 - cmp r0, 0 - beq _0808AAE8 - adds r0, r3, 0 - adds r1, r4, 0 - bl MovePlayerOnBike - b _0808AAF0 - .pool -_0808AAE8: - adds r0, r3, 0 - adds r1, r2, 0 - bl MovePlayerNotOnBike -_0808AAF0: - pop {r4} - pop {r0} - bx r0 - thumb_func_end MovePlayerAvatarUsingKeypadInput - - thumb_func_start PlayerAllowForcedMovementIfMovingSameDirection -@ void PlayerAllowForcedMovementIfMovingSameDirection() -PlayerAllowForcedMovementIfMovingSameDirection: @ 808AAF8 - push {lr} - ldr r2, =gPlayerAvatar - ldrb r0, [r2, 0x2] - cmp r0, 0x2 - bne _0808AB0A - ldrb r1, [r2] - movs r0, 0xDF - ands r0, r1 - strb r0, [r2] -_0808AB0A: - pop {r0} - bx r0 - .pool - thumb_func_end PlayerAllowForcedMovementIfMovingSameDirection - thumb_func_start TryDoMetatileBehaviorForcedMovement @ bool8 TryDoMetatileBehaviorForcedMovement() TryDoMetatileBehaviorForcedMovement: @ 808AB14 From 201fb6f818e8c3a380bfc04edb62d6e9749b4c1b Mon Sep 17 00:00:00 2001 From: MCboy Date: Sat, 21 Jul 2018 03:06:40 +0430 Subject: [PATCH 046/234] ported code over from pokeruby --- src/field_player_avatar.c | 187 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 187 insertions(+) diff --git a/src/field_player_avatar.c b/src/field_player_avatar.c index 191fc8aa4f..81e7976764 100644 --- a/src/field_player_avatar.c +++ b/src/field_player_avatar.c @@ -4,6 +4,16 @@ #include "event_object_movement.h" #include "bike.h" +extern bool8 (*const gUnknown_08497444[])(void); +extern bool8 (*const gUnknown_084973FC[])(u8); + +void sub_808C5B0(void); +void sub_808C4D8(void); +void PlayerJumpLedge(u8); +u8 CheckForPlayerAvatarCollision(u8); +void PlayerGoSpeed1(u8); +void PlayerGoSpeed2(u8); +void PlayerGoSpeed3(u8); static u8 EventObjectCB2_NoMovement2(); void sub_808C280(struct EventObject *); //struct EventObject *playerEventObj bool8 TryInterruptEventObjectSpecialAnim(struct EventObject *, u8); @@ -15,6 +25,7 @@ void MovePlayerAvatarUsingKeypadInput(u8, u16, u16); void PlayerAllowForcedMovementIfMovingSameDirection(); void MovePlayerNotOnBike(u8 a, u16 b); u8 sub_808B028(u8); +u8 GetForcedMovementByMetatileBehavior(); void MovementType_Player(struct Sprite *sprite) { @@ -125,3 +136,179 @@ void PlayerAllowForcedMovementIfMovingSameDirection(void) if (gPlayerAvatar.runningState == MOVING) gPlayerAvatar.flags &= ~PLAYER_AVATAR_FLAG_5; } + +bool8 TryDoMetatileBehaviorForcedMovement() +{ + return gUnknown_08497444[GetForcedMovementByMetatileBehavior()](); +} + +u8 GetForcedMovementByMetatileBehavior(void) +{ + u8 i; + + if (!(gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_5)) + { + u8 metatileBehavior = gEventObjects[gPlayerAvatar.eventObjectId].currentMetatileBehavior; + + for (i = 0; i < 18; i++) + { + if (gUnknown_084973FC[i](metatileBehavior)) + return i + 1; + } + } + return 0; +} + +bool8 ForcedMovement_None(void) +{ + if (gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_6) + { + struct EventObject *playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId]; + + playerEventObj->facingDirectionLocked = 0; + playerEventObj->enableAnim = 1; + SetEventObjectDirection(playerEventObj, playerEventObj->facingDirection); + gPlayerAvatar.flags &= ~PLAYER_AVATAR_FLAG_6; + } + return FALSE; +} + +static u8 DoForcedMovement(u8 direction, void (*b)(u8)) +{ + struct PlayerAvatar *playerAvatar = &gPlayerAvatar; + u8 collisionType = CheckForPlayerAvatarCollision(direction); + + playerAvatar->flags |= PLAYER_AVATAR_FLAG_6; + if (collisionType != 0) + { + ForcedMovement_None(); + if (collisionType <= 4) + { + return 0; + } + else + { + if (collisionType == COLLISION_LEDGE_JUMP) + PlayerJumpLedge(direction); + playerAvatar->flags |= PLAYER_AVATAR_FLAG_6; + playerAvatar->runningState = MOVING; + return 1; + } + } + else + { + playerAvatar->runningState = MOVING; + b(direction); + return 1; + } +} + +u8 DoForcedMovementInCurrentDirection(void (*a)(u8)) +{ + struct EventObject *playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId]; + + playerEventObj->disableAnim = 1; + return DoForcedMovement(playerEventObj->movementDirection, a); +} + +bool8 ForcedMovement_Slip(void) +{ + return DoForcedMovementInCurrentDirection(PlayerGoSpeed2); +} + +bool8 ForcedMovement_WalkSouth(void) +{ + return DoForcedMovement(DIR_SOUTH, PlayerGoSpeed1); +} + +bool8 ForcedMovement_WalkNorth(void) +{ + return DoForcedMovement(DIR_NORTH, PlayerGoSpeed1); +} + +bool8 ForcedMovement_WalkWest(void) +{ + return DoForcedMovement(DIR_WEST, PlayerGoSpeed1); +} + +bool8 ForcedMovement_WalkEast(void) +{ + return DoForcedMovement(DIR_EAST, PlayerGoSpeed1); +} + +bool8 ForcedMovement_PushedSouthByCurrent(void) +{ + return DoForcedMovement(DIR_SOUTH, PlayerGoSpeed3); +} + +bool8 ForcedMovement_PushedNorthByCurrent(void) +{ + return DoForcedMovement(DIR_NORTH, PlayerGoSpeed3); +} + +bool8 ForcedMovement_PushedWestByCurrent(void) +{ + return DoForcedMovement(DIR_WEST, PlayerGoSpeed3); +} + +bool8 ForcedMovement_PushedEastByCurrent(void) +{ + return DoForcedMovement(DIR_EAST, PlayerGoSpeed3); +} + +u8 ForcedMovement_Slide(u8 direction, void (*b)(u8)) +{ + struct EventObject *playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId]; + + playerEventObj->disableAnim = 1; + playerEventObj->facingDirectionLocked = 1; + return DoForcedMovement(direction, b); +} + +bool8 ForcedMovement_SlideSouth(void) +{ + return ForcedMovement_Slide(DIR_SOUTH, PlayerGoSpeed2); +} + +bool8 ForcedMovement_SlideNorth(void) +{ + return ForcedMovement_Slide(DIR_NORTH, PlayerGoSpeed2); +} + +bool8 ForcedMovement_SlideWest(void) +{ + return ForcedMovement_Slide(DIR_WEST, PlayerGoSpeed2); +} + +bool8 ForcedMovement_SlideEast(void) +{ + return ForcedMovement_Slide(DIR_EAST, PlayerGoSpeed2); +} + +bool8 ForcedMovement_0xBB(void) +{ + sub_808C4D8(); + return TRUE; +} + +bool8 ForcedMovement_0xBC(void) +{ + sub_808C5B0(); + return TRUE; +} + +bool8 ForcedMovement_MuddySlope(void) +{ + struct EventObject *playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId]; + + if (playerEventObj->movementDirection != DIR_NORTH || GetPlayerSpeed() <= 3) + { + Bike_UpdateBikeCounterSpeed(0); + playerEventObj->facingDirectionLocked = 1; + return DoForcedMovement(1, PlayerGoSpeed2); + } + else + { + return FALSE; + } +} From 05c5469f61bc4f0295738ec8b470c1904faf03d1 Mon Sep 17 00:00:00 2001 From: MCboy Date: Sat, 21 Jul 2018 03:07:19 +0430 Subject: [PATCH 047/234] Update field_player_avatar.s --- asm/field_player_avatar.s | 446 -------------------------------------- 1 file changed, 446 deletions(-) diff --git a/asm/field_player_avatar.s b/asm/field_player_avatar.s index df429af5d6..11c4881cdf 100644 --- a/asm/field_player_avatar.s +++ b/asm/field_player_avatar.s @@ -5,452 +5,6 @@ .text - thumb_func_start TryDoMetatileBehaviorForcedMovement -@ bool8 TryDoMetatileBehaviorForcedMovement() -TryDoMetatileBehaviorForcedMovement: @ 808AB14 - push {r4,lr} - ldr r4, =gUnknown_08497444 - bl GetForcedMovementByMetatileBehavior - lsls r0, 24 - lsrs r0, 22 - adds r0, r4 - ldr r0, [r0] - bl _call_via_r0 - lsls r0, 24 - lsrs r0, 24 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end TryDoMetatileBehaviorForcedMovement - - thumb_func_start GetForcedMovementByMetatileBehavior -@ u8 GetForcedMovementByMetatileBehavior() -GetForcedMovementByMetatileBehavior: @ 808AB38 - push {r4-r6,lr} - ldr r3, =gPlayerAvatar - ldrb r1, [r3] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - bne _0808AB8A - ldr r2, =gEventObjects - ldrb r1, [r3, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r5, [r0, 0x1E] - movs r4, 0 - ldr r6, =gUnknown_084973FC -_0808AB58: - lsls r0, r4, 2 - adds r0, r6 - ldr r1, [r0] - adds r0, r5, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - beq _0808AB80 - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r0, 24 - b _0808AB8C - .pool -_0808AB80: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x11 - bls _0808AB58 -_0808AB8A: - movs r0, 0 -_0808AB8C: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end GetForcedMovementByMetatileBehavior - - thumb_func_start ForcedMovement_None -ForcedMovement_None: @ 808AB94 - push {r4,lr} - ldr r4, =gPlayerAvatar - ldrb r1, [r4] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _0808ABCE - ldrb r1, [r4, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, =gEventObjects - adds r0, r1 - ldrb r2, [r0, 0x1] - movs r1, 0x3 - negs r1, r1 - ands r1, r2 - movs r2, 0x8 - orrs r1, r2 - strb r1, [r0, 0x1] - ldrb r1, [r0, 0x18] - lsls r1, 28 - lsrs r1, 28 - bl SetEventObjectDirection - ldrb r1, [r4] - movs r0, 0xBF - ands r0, r1 - strb r0, [r4] -_0808ABCE: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end ForcedMovement_None - - thumb_func_start DoForcedMovement -DoForcedMovement: @ 808ABE0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - mov r9, r1 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r6, =gPlayerAvatar - adds r0, r5, 0 - bl CheckForPlayerAvatarCollision - lsls r0, 24 - lsrs r4, r0, 24 - adds r7, r4, 0 - ldrb r0, [r6] - movs r1, 0x40 - mov r10, r1 - movs r1, 0 - mov r8, r1 - mov r1, r10 - orrs r0, r1 - strb r0, [r6] - cmp r4, 0 - beq _0808AC3C - bl ForcedMovement_None - cmp r4, 0x4 - bhi _0808AC24 - movs r0, 0 - b _0808AC48 - .pool -_0808AC24: - cmp r7, 0x6 - bne _0808AC2E - adds r0, r5, 0 - bl PlayerJumpLedge -_0808AC2E: - ldrb r0, [r6] - mov r1, r10 - orrs r0, r1 - strb r0, [r6] - movs r0, 0x2 - strb r0, [r6, 0x2] - b _0808AC46 -_0808AC3C: - movs r0, 0x2 - strb r0, [r6, 0x2] - adds r0, r5, 0 - bl _call_via_r9 -_0808AC46: - movs r0, 0x1 -_0808AC48: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end DoForcedMovement - - thumb_func_start DoForcedMovementInCurrentDirection -DoForcedMovementInCurrentDirection: @ 808AC58 - push {lr} - adds r1, r0, 0 - ldr r0, =gPlayerAvatar - ldrb r2, [r0, 0x5] - lsls r0, r2, 3 - adds r0, r2 - lsls r0, 2 - ldr r2, =gEventObjects - adds r0, r2 - ldrb r2, [r0, 0x1] - movs r3, 0x4 - orrs r2, r3 - strb r2, [r0, 0x1] - ldrb r0, [r0, 0x18] - lsrs r0, 4 - bl DoForcedMovement - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .pool - thumb_func_end DoForcedMovementInCurrentDirection - - thumb_func_start ForcedMovement_Slip -ForcedMovement_Slip: @ 808AC8C - push {lr} - ldr r0, =PlayerGoSpeed2 - bl DoForcedMovementInCurrentDirection - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .pool - thumb_func_end ForcedMovement_Slip - - thumb_func_start ForcedMovement_WalkSouth -ForcedMovement_WalkSouth: @ 808ACA0 - push {lr} - ldr r1, =PlayerGoSpeed1 - movs r0, 0x1 - bl DoForcedMovement - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .pool - thumb_func_end ForcedMovement_WalkSouth - - thumb_func_start ForcedMovement_WalkNorth -ForcedMovement_WalkNorth: @ 808ACB8 - push {lr} - ldr r1, =PlayerGoSpeed1 - movs r0, 0x2 - bl DoForcedMovement - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .pool - thumb_func_end ForcedMovement_WalkNorth - - thumb_func_start ForcedMovement_WalkWest -ForcedMovement_WalkWest: @ 808ACD0 - push {lr} - ldr r1, =PlayerGoSpeed1 - movs r0, 0x3 - bl DoForcedMovement - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .pool - thumb_func_end ForcedMovement_WalkWest - - thumb_func_start ForcedMovement_WalkEast -ForcedMovement_WalkEast: @ 808ACE8 - push {lr} - ldr r1, =PlayerGoSpeed1 - movs r0, 0x4 - bl DoForcedMovement - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .pool - thumb_func_end ForcedMovement_WalkEast - - thumb_func_start ForcedMovement_PushedSouthByCurrent -ForcedMovement_PushedSouthByCurrent: @ 808AD00 - push {lr} - ldr r1, =PlayerGoSpeed3 - movs r0, 0x1 - bl DoForcedMovement - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .pool - thumb_func_end ForcedMovement_PushedSouthByCurrent - - thumb_func_start ForcedMovement_PushedNorthByCurrent -ForcedMovement_PushedNorthByCurrent: @ 808AD18 - push {lr} - ldr r1, =PlayerGoSpeed3 - movs r0, 0x2 - bl DoForcedMovement - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .pool - thumb_func_end ForcedMovement_PushedNorthByCurrent - - thumb_func_start ForcedMovement_PushedWestByCurrent -ForcedMovement_PushedWestByCurrent: @ 808AD30 - push {lr} - ldr r1, =PlayerGoSpeed3 - movs r0, 0x3 - bl DoForcedMovement - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .pool - thumb_func_end ForcedMovement_PushedWestByCurrent - - thumb_func_start ForcedMovement_PushedEastByCurrent -ForcedMovement_PushedEastByCurrent: @ 808AD48 - push {lr} - ldr r1, =PlayerGoSpeed3 - movs r0, 0x4 - bl DoForcedMovement - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .pool - thumb_func_end ForcedMovement_PushedEastByCurrent - - thumb_func_start ForcedMovement_Slide -ForcedMovement_Slide: @ 808AD60 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gPlayerAvatar - ldrb r3, [r2, 0x5] - lsls r2, r3, 3 - adds r2, r3 - lsls r2, 2 - ldr r3, =gEventObjects - adds r2, r3 - ldrb r3, [r2, 0x1] - movs r4, 0x4 - orrs r3, r4 - movs r4, 0x2 - orrs r3, r4 - strb r3, [r2, 0x1] - bl DoForcedMovement - lsls r0, 24 - lsrs r0, 24 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end ForcedMovement_Slide - - thumb_func_start ForcedMovement_SlideSouth -ForcedMovement_SlideSouth: @ 808AD98 - push {lr} - ldr r1, =PlayerGoSpeed2 - movs r0, 0x1 - bl ForcedMovement_Slide - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .pool - thumb_func_end ForcedMovement_SlideSouth - - thumb_func_start ForcedMovement_SlideNorth -ForcedMovement_SlideNorth: @ 808ADB0 - push {lr} - ldr r1, =PlayerGoSpeed2 - movs r0, 0x2 - bl ForcedMovement_Slide - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .pool - thumb_func_end ForcedMovement_SlideNorth - - thumb_func_start ForcedMovement_SlideWest -ForcedMovement_SlideWest: @ 808ADC8 - push {lr} - ldr r1, =PlayerGoSpeed2 - movs r0, 0x3 - bl ForcedMovement_Slide - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .pool - thumb_func_end ForcedMovement_SlideWest - - thumb_func_start ForcedMovement_SlideEast -ForcedMovement_SlideEast: @ 808ADE0 - push {lr} - ldr r1, =PlayerGoSpeed2 - movs r0, 0x4 - bl ForcedMovement_Slide - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .pool - thumb_func_end ForcedMovement_SlideEast - - thumb_func_start ForcedMovement_0xBB -ForcedMovement_0xBB: @ 808ADF8 - push {lr} - bl sub_808C4D8 - movs r0, 0x1 - pop {r1} - bx r1 - thumb_func_end ForcedMovement_0xBB - - thumb_func_start ForcedMovement_0xBC -ForcedMovement_0xBC: @ 808AE04 - push {lr} - bl sub_808C5B0 - movs r0, 0x1 - pop {r1} - bx r1 - thumb_func_end ForcedMovement_0xBC - - thumb_func_start ForcedMovement_MuddySlope -ForcedMovement_MuddySlope: @ 808AE10 - push {r4,lr} - ldr r0, =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, =gEventObjects - adds r4, r0, r1 - ldrb r1, [r4, 0x18] - movs r0, 0xF0 - ands r0, r1 - cmp r0, 0x20 - bne _0808AE36 - bl GetPlayerSpeed - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3 - bgt _0808AE60 -_0808AE36: - movs r0, 0 - bl Bike_UpdateBikeCounterSpeed - ldrb r0, [r4, 0x1] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r4, 0x1] - ldr r1, =PlayerGoSpeed2 - movs r0, 0x1 - bl DoForcedMovement - lsls r0, 24 - lsrs r0, 24 - b _0808AE62 - .pool -_0808AE60: - movs r0, 0 -_0808AE62: - pop {r4} - pop {r1} - bx r1 - thumb_func_end ForcedMovement_MuddySlope - thumb_func_start MovePlayerNotOnBike @ void MovePlayerNotOnBike(u8 direction, u8 heldKeys) MovePlayerNotOnBike: @ 808AE68 From 82d88479ce94d79515c5152e669dbdc4acd5b9f4 Mon Sep 17 00:00:00 2001 From: MCboy Date: Tue, 24 Jul 2018 16:59:52 +0430 Subject: [PATCH 048/234] decompiled a bunch of functions i also made TryInterruptEventObjectSpecialAnim functionally equivalent tho its still nonmatching so i need help with that --- src/field_player_avatar.c | 361 +++++++++++++++++++++++++++++++++++++- 1 file changed, 354 insertions(+), 7 deletions(-) diff --git a/src/field_player_avatar.c b/src/field_player_avatar.c index 81e7976764..1be9ab73e1 100644 --- a/src/field_player_avatar.c +++ b/src/field_player_avatar.c @@ -3,10 +3,51 @@ #include "sprite.h" #include "event_object_movement.h" #include "bike.h" +#include "metatile_behavior.h" +#include "metatile_behaviors.h" +#include "constants/flags.h" +#include "event_data.h" +#include "fieldmap.h" +#include "overworld.h" +#include "rotating_gate.h" -extern bool8 (*const gUnknown_08497444[])(void); -extern bool8 (*const gUnknown_084973FC[])(u8); +bool8 ForcedMovement_None(void); +bool8 ForcedMovement_Slip(void); +bool8 ForcedMovement_WalkSouth(void); +bool8 ForcedMovement_WalkNorth(void); +bool8 ForcedMovement_WalkWest(void); +bool8 ForcedMovement_WalkEast(void); +bool8 ForcedMovement_PushedSouthByCurrent(void); +bool8 ForcedMovement_PushedNorthByCurrent(void); +bool8 ForcedMovement_PushedWestByCurrent(void); +bool8 ForcedMovement_PushedEastByCurrent(void); +bool8 ForcedMovement_SlideSouth(void); +bool8 ForcedMovement_SlideNorth(void); +bool8 ForcedMovement_SlideWest(void); +bool8 ForcedMovement_SlideEast(void); +bool8 ForcedMovement_0xBB(void); +bool8 ForcedMovement_0xBC(void); +bool8 ForcedMovement_MuddySlope(void); +void task_add_bump_boulder(u8, u8); +u8 GetLedgeJumpDirection(s16 x, s16 y, u8 z); +bool32 CheckForRotatingGatePuzzleCollisionWithoutAnimation(u8, s16, s16); // from rotating_gate.c +bool8 ShouldJumpLedge(s16, s16, u8); +bool8 sub_808B1BC(s16, s16, u8); +u8 sub_808B164(struct EventObject *, s16, s16, u8, u8); +u8 CheckForEventObjectCollision(struct EventObject *, s16, s16, u8, u8); +u8 sub_808B238(s16, s16, u8); +void check_acro_bike_metatile(s16, s16, u8, u8 *); +void PlayerNotOnBikeCollide(u8); +void PlayerNotOnBikeCollideWithFarawayIslandMew(u8); +bool8 IsPlayerCollidingWithFarawayIslandMew(u8); +void PlayerRun(u8); +void PlayerTurnInPlace(u8); +void PlayerFaceDirection(u8); +u8 GetPlayerFacingDirection(void); +void MovePlayerNotOnBike(u8, u16); +u8 CheckMovementInputNotOnBike(u8); +u8 GetPlayerMovementDirection(void); void sub_808C5B0(void); void sub_808C4D8(void); void PlayerJumpLedge(u8); @@ -26,10 +67,73 @@ void PlayerAllowForcedMovementIfMovingSameDirection(); void MovePlayerNotOnBike(u8 a, u16 b); u8 sub_808B028(u8); u8 GetForcedMovementByMetatileBehavior(); +void PlayerNotOnBikeNotMoving(u8, u16); +void PlayerNotOnBikeTurningInPlace(u8, u16); +void PlayerNotOnBikeMoving(u8, u16); +void sub_808C750(u8); + +static bool8 (*const gUnknown_084973FC[])(u8) = +{ + MetatileBehavior_IsTrickHouseSlipperyFloor, + MetatileBehavior_IsIce_2, + MetatileBehavior_IsWalkSouth, + MetatileBehavior_IsWalkNorth, + MetatileBehavior_IsWalkWest, + MetatileBehavior_IsWalkEast, + MetatileBehavior_IsSouthwardCurrent, + MetatileBehavior_IsNorthwardCurrent, + MetatileBehavior_IsWestwardCurrent, + MetatileBehavior_IsEastwardCurrent, + MetatileBehavior_IsSlideSouth, + MetatileBehavior_IsSlideNorth, + MetatileBehavior_IsSlideWest, + MetatileBehavior_IsSlideEast, + MetatileBehavior_IsWaterfall, + MetatileBehavior_IsSecretBaseJumpMat, + MetatileBehavior_IsSecretBaseSpinMat, + MetatileBehavior_IsMuddySlope, +}; +static bool8 (*const gUnknown_08497444[])(void) = +{ + ForcedMovement_None, + ForcedMovement_Slip, + ForcedMovement_Slip, + ForcedMovement_WalkSouth, + ForcedMovement_WalkNorth, + ForcedMovement_WalkWest, + ForcedMovement_WalkEast, + ForcedMovement_PushedSouthByCurrent, + ForcedMovement_PushedNorthByCurrent, + ForcedMovement_PushedWestByCurrent, + ForcedMovement_PushedEastByCurrent, + ForcedMovement_SlideSouth, + ForcedMovement_SlideNorth, + ForcedMovement_SlideWest, + ForcedMovement_SlideEast, + ForcedMovement_PushedSouthByCurrent, + ForcedMovement_0xBB, + ForcedMovement_0xBC, + ForcedMovement_MuddySlope, +}; +static void (*const gUnknown_08497490[])(u8, u16) = +{ + PlayerNotOnBikeNotMoving, + PlayerNotOnBikeTurningInPlace, + PlayerNotOnBikeMoving, +}; + +static bool8 (*const gUnknown_0849749C[])(u8) = +{ + MetatileBehavior_IsBumpySlope, + MetatileBehavior_IsIsolatedVerticalRail, + MetatileBehavior_IsIsolatedHorizontalRail, + MetatileBehavior_IsVerticalRail, + MetatileBehavior_IsHorizontalRail, +}; +static const u8 gUnknown_084974B0[] = {9, 10, 11, 12, 13, 0, 0, 0}; void MovementType_Player(struct Sprite *sprite) { - // ((Sprite->data[0] << 3) + Sprite->data[0]) << 2 UpdateEventObjectCurrentMovement(&gEventObjects[sprite->data[0]], sprite, EventObjectCB2_NoMovement2); } @@ -58,11 +162,46 @@ void player_step(u8 direction, u16 newKeys, u16 heldKeys) } } } - -NAKED -bool8 TryInterruptEventObjectSpecialAnim(struct EventObject *eventObject, u8 direction) +#ifdef NONMATCHING +bool8 TryInterruptEventObjectSpecialAnim(struct EventObject *playerEventObj, u8 direction) { - asm_unified("push {r4-r6,lr}\n\ + if (EventObjectIsMovementOverridden(playerEventObj) + && !EventObjectClearHeldMovementIfFinished(playerEventObj)) + { + u8 heldMovementActionId = EventObjectGetHeldMovementActionId(playerEventObj); + if (heldMovementActionId > 24 && heldMovementActionId < 29) + { + if(direction == DIR_NONE) + { + EventObjectClearHeldMovement(playerEventObj); + return FALSE; + } + else if(playerEventObj->movementDirection != direction) + { + return TRUE; + } + else if(sub_808B028(direction) == FALSE) + { + EventObjectClearHeldMovement(playerEventObj); + return FALSE; + } + else + { + return TRUE; + } + } + else + { + return TRUE; + } + } + return FALSE; +} +#else +NAKED +bool8 TryInterruptEventObjectSpecialAnim(struct EventObject *playerEventObj, u8 direction) +{ + asm_unified("push {r4-r6,lr}\n\ adds r4, r0, 0\n\ lsls r1, 24\n\ lsrs r5, r1, 24\n\ @@ -113,6 +252,7 @@ _0808AA94:\n\ pop {r1}\n\ bx r1"); } +#endif void npc_clear_strange_bits(struct EventObject *eventObj) { @@ -312,3 +452,210 @@ bool8 ForcedMovement_MuddySlope(void) return FALSE; } } + +void MovePlayerNotOnBike(u8 direction, u16 heldKeys) +{ + gUnknown_08497490[CheckMovementInputNotOnBike(direction)](direction, heldKeys); +} + +u8 CheckMovementInputNotOnBike(u8 direction) +{ + if (direction == DIR_NONE) + { + gPlayerAvatar.runningState = NOT_MOVING; + return 0; + } + else if (direction != GetPlayerMovementDirection() && gPlayerAvatar.runningState != MOVING) + { + gPlayerAvatar.runningState = TURN_DIRECTION; + return 1; + } + else + { + gPlayerAvatar.runningState = MOVING; + return 2; + } +} + +void PlayerNotOnBikeNotMoving(u8 direction, u16 heldKeys) +{ + PlayerFaceDirection(GetPlayerFacingDirection()); +} + +void PlayerNotOnBikeTurningInPlace(u8 direction, u16 heldKeys) +{ + PlayerTurnInPlace(direction); +} + +void PlayerNotOnBikeMoving(u8 direction, u16 heldKeys) +{ + u8 r0 = CheckForPlayerAvatarCollision(direction); + + if(r0 != 0) + { + if(r0 == 6) + { + PlayerJumpLedge(direction); + return; + } + else if(r0 == 4 && IsPlayerCollidingWithFarawayIslandMew(direction) != 0) + { + PlayerNotOnBikeCollideWithFarawayIslandMew(direction); + return; + } + else + { + u8 r4 = r0 - 5; + + if(r4 > 3) + { + PlayerNotOnBikeCollide(direction); + return; + } + else + { + return; + } + } + } + + if (gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_SURFING) + { + // speed 2 is fast, same speed as running + PlayerGoSpeed2(direction); + return; + } + + if (!(gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_4) && (heldKeys & B_BUTTON) && FlagGet(FLAG_SYS_B_DASH) + && IsRunningDisallowed(gEventObjects[gPlayerAvatar.eventObjectId].currentMetatileBehavior) == 0) + { + PlayerRun(direction); + gPlayerAvatar.flags |= PLAYER_AVATAR_FLAG_DASH; + return; + } + else + { + PlayerGoSpeed1(direction); + } +} + +u8 CheckForPlayerAvatarCollision(u8 direction) +{ + s16 x, y; + struct EventObject *playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId]; + + x = playerEventObj->currentCoords.x; + y = playerEventObj->currentCoords.y; + MoveCoords(direction, &x, &y); + return CheckForEventObjectCollision(playerEventObj, x, y, direction, MapGridGetMetatileBehaviorAt(x, y)); +} + +u8 sub_808B028(u8 direction) +{ + s16 x, y; + struct EventObject *playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId]; + + x = playerEventObj->currentCoords.x; + y = playerEventObj->currentCoords.y; + MoveCoords(direction, &x, &y); + return sub_808B164(playerEventObj, x, y, direction, MapGridGetMetatileBehaviorAt(x, y)); +} + +u8 CheckForEventObjectCollision(struct EventObject *a, s16 x, s16 y, u8 direction, u8 e) +{ + u8 collision; + + collision = GetCollisionAtCoords(a, x, y, direction); + if (collision == 3 && sub_808B1BC(x, y, direction)) + return 5; + if (ShouldJumpLedge(x, y, direction)) + { + IncrementGameStat(GAME_STAT_JUMPED_DOWN_LEDGES); + return COLLISION_LEDGE_JUMP; + } + if (collision == 4 && sub_808B238(x, y, direction)) + return 7; + + if (collision == 0) + { + if (CheckForRotatingGatePuzzleCollision(direction, x, y)) + return 8; + check_acro_bike_metatile(x, y, e, &collision); + } + return collision; +} + +u8 sub_808B164(struct EventObject *a, s16 x, s16 y, u8 direction, u8 e) +{ + u8 collision = GetCollisionAtCoords(a, x, y, direction); + + if (collision == 0) + { + if (CheckForRotatingGatePuzzleCollisionWithoutAnimation(direction, x, y) != 0) + return 8; + check_acro_bike_metatile(x, y, e, &collision); + } + return collision; +} + +bool8 sub_808B1BC(s16 x, s16 y, u8 direction) +{ + if ((gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_SURFING) + && MapGridGetZCoordAt(x, y) == 3 + && GetEventObjectIdByXYZ(x, y, 3) == 16) + { + sub_808C750(direction); + return 1; + } + else + { + return 0; + } +} + +bool8 ShouldJumpLedge(s16 x, s16 y, u8 z) +{ + if (GetLedgeJumpDirection(x, y, z) != 0) + return 1; + else + return 0; +} + +u8 sub_808B238(s16 x, s16 y, u8 direction) +{ + if (FlagGet(FLAG_SYS_USE_STRENGTH)) + { + u8 eventObjectId = GetEventObjectIdByXY(x, y); + + if (eventObjectId != 16) + { + if (gEventObjects[eventObjectId].graphicsId == 0x57) + { + x = gEventObjects[eventObjectId].currentCoords.x; + y = gEventObjects[eventObjectId].currentCoords.y; + MoveCoords(direction, &x, &y); + if (GetCollisionAtCoords(&gEventObjects[eventObjectId], x, y, direction) == 0 + && MetatileBehavior_IsNonAnimDoor(MapGridGetMetatileBehaviorAt(x, y)) == 0) + { + task_add_bump_boulder(eventObjectId, direction); + return 1; + } + } + } + } + return 0; +} + +void check_acro_bike_metatile(s16 unused1, s16 unused2, u8 c, u8 *d) +{ + u8 i; + + for (i = 0; i < 5; i++) + { + if (gUnknown_0849749C[i](c)) + { + *d = gUnknown_084974B0[i]; + return; + } + } +} From ed3a698b98e75424a1d37f3b43edeffe4e34bdec Mon Sep 17 00:00:00 2001 From: MCboy Date: Tue, 24 Jul 2018 17:01:44 +0430 Subject: [PATCH 049/234] Update field_player_avatar.s --- asm/field_player_avatar.s | 621 -------------------------------------- 1 file changed, 621 deletions(-) diff --git a/asm/field_player_avatar.s b/asm/field_player_avatar.s index 11c4881cdf..a1f1153769 100644 --- a/asm/field_player_avatar.s +++ b/asm/field_player_avatar.s @@ -5,627 +5,6 @@ .text - thumb_func_start MovePlayerNotOnBike -@ void MovePlayerNotOnBike(u8 direction, u8 heldKeys) -MovePlayerNotOnBike: @ 808AE68 - push {r4-r6,lr} - adds r4, r0, 0 - adds r5, r1, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r5, 16 - lsrs r5, 16 - ldr r6, =gUnknown_08497490 - adds r0, r4, 0 - bl CheckMovementInputNotOnBike - lsls r0, 24 - lsrs r0, 22 - adds r0, r6 - ldr r2, [r0] - adds r0, r4, 0 - adds r1, r5, 0 - bl _call_via_r2 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end MovePlayerNotOnBike - - thumb_func_start CheckMovementInputNotOnBike -@ u8 CheckMovementInputNotOnBike(u8 direction) -CheckMovementInputNotOnBike: @ 808AE98 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - bne _0808AEB0 - ldr r0, =gPlayerAvatar - strb r4, [r0, 0x2] - movs r0, 0 - b _0808AED2 - .pool -_0808AEB0: - bl GetPlayerMovementDirection - lsls r0, 24 - lsrs r0, 24 - cmp r4, r0 - beq _0808AECC - ldr r1, =gPlayerAvatar - ldrb r0, [r1, 0x2] - cmp r0, 0x2 - beq _0808AECC - movs r0, 0x1 - b _0808AED0 - .pool -_0808AECC: - ldr r1, =gPlayerAvatar - movs r0, 0x2 -_0808AED0: - strb r0, [r1, 0x2] -_0808AED2: - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end CheckMovementInputNotOnBike - - thumb_func_start PlayerNotOnBikeNotMoving -@ void PlayerNotOnBikeNotMoving(u8 direction, u8 heldKeys) -PlayerNotOnBikeNotMoving: @ 808AEDC - push {lr} - bl GetPlayerFacingDirection - lsls r0, 24 - lsrs r0, 24 - bl PlayerFaceDirection - pop {r0} - bx r0 - thumb_func_end PlayerNotOnBikeNotMoving - - thumb_func_start PlayerNotOnBikeTurningInPlace -@ void PlayerNotOnBikeTurningInPlace(u8 direction, u8 heldKeys) -PlayerNotOnBikeTurningInPlace: @ 808AEF0 - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl PlayerTurnInPlace - pop {r0} - bx r0 - thumb_func_end PlayerNotOnBikeTurningInPlace - - thumb_func_start PlayerNotOnBikeMoving -@ void PlayerNotOnBikeMoving(u8 direction, u8 heldKeys) -PlayerNotOnBikeMoving: @ 808AF00 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r1, 16 - lsrs r6, r1, 16 - adds r0, r5, 0 - bl CheckForPlayerAvatarCollision - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - beq _0808AF4E - cmp r4, 0x6 - bne _0808AF24 - adds r0, r5, 0 - bl PlayerJumpLedge - b _0808AFB6 -_0808AF24: - cmp r4, 0x4 - bne _0808AF3C - adds r0, r5, 0 - bl IsPlayerCollidingWithFarawayIslandMew - lsls r0, 24 - cmp r0, 0 - beq _0808AF3C - adds r0, r5, 0 - bl PlayerNotOnBikeCollideWithFarawayIslandMew - b _0808AFB6 -_0808AF3C: - subs r0, r4, 0x5 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - bls _0808AFB6 - adds r0, r5, 0 - bl PlayerNotOnBikeCollide - b _0808AFB6 -_0808AF4E: - ldr r4, =gPlayerAvatar - ldrb r1, [r4] - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _0808AF68 - adds r0, r5, 0 - bl PlayerGoSpeed2 - b _0808AFB6 - .pool -_0808AF68: - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - bne _0808AFB0 - movs r0, 0x2 - ands r6, r0 - cmp r6, 0 - beq _0808AFB0 - movs r0, 0x8C - lsls r0, 4 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _0808AFB0 - ldr r2, =gEventObjects - ldrb r1, [r4, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x1E] - bl IsRunningDisallowed - cmp r0, 0 - bne _0808AFB0 - adds r0, r5, 0 - bl PlayerRun - ldrb r1, [r4] - movs r0, 0x80 - orrs r0, r1 - strb r0, [r4] - b _0808AFB6 - .pool -_0808AFB0: - adds r0, r5, 0 - bl PlayerGoSpeed1 -_0808AFB6: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end PlayerNotOnBikeMoving - - thumb_func_start CheckForPlayerAvatarCollision -CheckForPlayerAvatarCollision: @ 808AFBC - push {r4-r6,lr} - sub sp, 0x8 - adds r6, r0, 0 - lsls r6, 24 - lsrs r6, 24 - ldr r0, =gPlayerAvatar - ldrb r0, [r0, 0x5] - lsls r4, r0, 3 - adds r4, r0 - lsls r4, 2 - ldr r0, =gEventObjects - adds r4, r0 - ldrh r1, [r4, 0x10] - add r0, sp, 0x4 - strh r1, [r0] - ldrh r0, [r4, 0x12] - mov r5, sp - adds r5, 0x6 - strh r0, [r5] - adds r0, r6, 0 - add r1, sp, 0x4 - adds r2, r5, 0 - bl MoveCoords - add r0, sp, 0x4 - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r5, r2] - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - add r1, sp, 0x4 - movs r3, 0 - ldrsh r1, [r1, r3] - movs r3, 0 - ldrsh r2, [r5, r3] - str r0, [sp] - adds r0, r4, 0 - adds r3, r6, 0 - bl CheckForEventObjectCollision - lsls r0, 24 - lsrs r0, 24 - add sp, 0x8 - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end CheckForPlayerAvatarCollision - - thumb_func_start sub_808B028 -sub_808B028: @ 808B028 - push {r4-r6,lr} - sub sp, 0x8 - adds r6, r0, 0 - lsls r6, 24 - lsrs r6, 24 - ldr r0, =gPlayerAvatar - ldrb r0, [r0, 0x5] - lsls r4, r0, 3 - adds r4, r0 - lsls r4, 2 - ldr r0, =gEventObjects - adds r4, r0 - ldrh r1, [r4, 0x10] - add r0, sp, 0x4 - strh r1, [r0] - ldrh r0, [r4, 0x12] - mov r5, sp - adds r5, 0x6 - strh r0, [r5] - adds r0, r6, 0 - add r1, sp, 0x4 - adds r2, r5, 0 - bl MoveCoords - add r0, sp, 0x4 - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r5, r2] - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - add r1, sp, 0x4 - movs r3, 0 - ldrsh r1, [r1, r3] - movs r3, 0 - ldrsh r2, [r5, r3] - str r0, [sp] - adds r0, r4, 0 - adds r3, r6, 0 - bl sub_808B164 - lsls r0, 24 - lsrs r0, 24 - add sp, 0x8 - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_808B028 - - thumb_func_start CheckForEventObjectCollision -@ u8 CheckForEventObjectCollision(struct npc_state *eventObject, u16 x, u16 y, u8 direction, u8 metatileBehavior) -CheckForEventObjectCollision: @ 808B094 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - ldr r4, [sp, 0x24] - lsls r1, 16 - lsls r2, 16 - lsls r3, 24 - lsrs r6, r3, 24 - lsls r4, 24 - lsrs r4, 24 - mov r10, r4 - lsrs r7, r1, 16 - asrs r5, r1, 16 - lsrs r1, r2, 16 - mov r9, r1 - asrs r4, r2, 16 - adds r1, r5, 0 - adds r2, r4, 0 - adds r3, r6, 0 - bl GetCollisionAtCoords - lsls r0, 24 - lsrs r0, 24 - mov r1, sp - strb r0, [r1] - cmp r0, 0x3 - bne _0808B0E4 - adds r0, r5, 0 - adds r1, r4, 0 - adds r2, r6, 0 - bl sub_808B1BC - lsls r0, 24 - cmp r0, 0 - beq _0808B0E4 - movs r0, 0x5 - b _0808B152 -_0808B0E4: - lsls r5, r7, 16 - asrs r0, r5, 16 - mov r8, r0 - mov r1, r9 - lsls r4, r1, 16 - asrs r7, r4, 16 - adds r1, r7, 0 - adds r2, r6, 0 - bl ShouldJumpLedge - lsls r0, 24 - cmp r0, 0 - beq _0808B108 - movs r0, 0x2B - bl IncrementGameStat - movs r0, 0x6 - b _0808B152 -_0808B108: - mov r0, sp - ldrb r0, [r0] - cmp r0, 0x4 - bne _0808B124 - mov r0, r8 - adds r1, r7, 0 - adds r2, r6, 0 - bl sub_808B238 - lsls r0, 24 - cmp r0, 0 - beq _0808B124 - movs r0, 0x7 - b _0808B152 -_0808B124: - mov r0, sp - ldrb r0, [r0] - cmp r0, 0 - bne _0808B14E - asrs r5, 16 - asrs r4, 16 - adds r0, r6, 0 - adds r1, r5, 0 - adds r2, r4, 0 - bl CheckForRotatingGatePuzzleCollision - cmp r0, 0 - beq _0808B142 - movs r0, 0x8 - b _0808B152 -_0808B142: - adds r0, r5, 0 - adds r1, r4, 0 - mov r2, r10 - mov r3, sp - bl check_acro_bike_metatile -_0808B14E: - mov r0, sp - ldrb r0, [r0] -_0808B152: - 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 CheckForEventObjectCollision - - thumb_func_start sub_808B164 -sub_808B164: @ 808B164 - push {r4-r7,lr} - sub sp, 0x4 - ldr r4, [sp, 0x18] - lsls r3, 24 - lsrs r6, r3, 24 - lsls r4, 24 - lsrs r7, r4, 24 - lsls r1, 16 - asrs r5, r1, 16 - lsls r2, 16 - asrs r4, r2, 16 - adds r1, r5, 0 - adds r2, r4, 0 - adds r3, r6, 0 - bl GetCollisionAtCoords - lsls r0, 24 - lsrs r0, 24 - mov r1, sp - strb r0, [r1] - cmp r0, 0 - bne _0808B1AE - adds r0, r6, 0 - adds r1, r5, 0 - adds r2, r4, 0 - bl CheckForRotatingGatePuzzleCollisionWithoutAnimation - cmp r0, 0 - beq _0808B1A2 - movs r0, 0x8 - b _0808B1B2 -_0808B1A2: - adds r0, r5, 0 - adds r1, r4, 0 - adds r2, r7, 0 - mov r3, sp - bl check_acro_bike_metatile -_0808B1AE: - mov r0, sp - ldrb r0, [r0] -_0808B1B2: - add sp, 0x4 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_808B164 - - thumb_func_start sub_808B1BC -@ bool8 sub_808B1BC(u16 x, u16 y, u8 direction) -sub_808B1BC: @ 808B1BC - push {r4-r6,lr} - lsls r0, 16 - lsrs r3, r0, 16 - lsls r1, 16 - lsrs r4, r1, 16 - lsls r2, 24 - lsrs r6, r2, 24 - ldr r0, =gPlayerAvatar - ldrb r1, [r0] - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _0808B20C - lsls r5, r3, 16 - asrs r0, r5, 16 - lsls r4, 16 - asrs r1, r4, 16 - bl MapGridGetZCoordAt - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - bne _0808B20C - lsrs r0, r5, 16 - lsrs r1, r4, 16 - movs r2, 0x3 - bl GetEventObjectIdByXYZ - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x10 - bne _0808B20C - adds r0, r6, 0 - bl sub_808C750 - movs r0, 0x1 - b _0808B20E - .pool -_0808B20C: - movs r0, 0 -_0808B20E: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_808B1BC - - thumb_func_start ShouldJumpLedge -@ bool8 ShouldJumpLedge(s16 x, s16 y, u8 direction) -ShouldJumpLedge: @ 808B214 - push {lr} - lsls r2, 24 - lsrs r2, 24 - lsls r0, 16 - asrs r0, 16 - lsls r1, 16 - asrs r1, 16 - bl GetLedgeJumpDirection - lsls r0, 24 - cmp r0, 0 - bne _0808B230 - movs r0, 0 - b _0808B232 -_0808B230: - movs r0, 0x1 -_0808B232: - pop {r1} - bx r1 - thumb_func_end ShouldJumpLedge - - thumb_func_start sub_808B238 -sub_808B238: @ 808B238 - push {r4-r7,lr} - sub sp, 0x4 - mov r3, sp - strh r0, [r3] - mov r5, sp - adds r5, 0x2 - strh r1, [r5] - lsls r2, 24 - lsrs r7, r2, 24 - ldr r0, =0x00000889 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _0808B2D8 - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r5, r2] - bl GetEventObjectIdByXY - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x10 - beq _0808B2D8 - ldr r0, =gEventObjects - lsls r1, r6, 3 - adds r1, r6 - lsls r1, 2 - adds r4, r1, r0 - ldrb r0, [r4, 0x5] - cmp r0, 0x57 - bne _0808B2D8 - ldrh r1, [r4, 0x10] - mov r0, sp - strh r1, [r0] - ldrh r0, [r4, 0x12] - strh r0, [r5] - adds r0, r7, 0 - mov r1, sp - adds r2, r5, 0 - bl MoveCoords - mov r0, sp - movs r2, 0 - ldrsh r1, [r0, r2] - movs r0, 0 - ldrsh r2, [r5, r0] - adds r0, r4, 0 - adds r3, r7, 0 - bl GetCollisionAtCoords - lsls r0, 24 - cmp r0, 0 - bne _0808B2D8 - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r5, r2] - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - bl MetatileBehavior_IsNonAnimDoor - lsls r0, 24 - cmp r0, 0 - bne _0808B2D8 - adds r0, r6, 0 - adds r1, r7, 0 - bl task_add_bump_boulder - movs r0, 0x1 - b _0808B2DA - .pool -_0808B2D8: - movs r0, 0 -_0808B2DA: - add sp, 0x4 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_808B238 - - thumb_func_start check_acro_bike_metatile -@ void check_acro_bike_metatile(s16 x, s16 y, u8 metatileBehavior, u8 *returnValue) -check_acro_bike_metatile: @ 808B2E4 - push {r4-r7,lr} - adds r6, r3, 0 - lsls r2, 24 - lsrs r5, r2, 24 - movs r4, 0 - ldr r7, =gUnknown_0849749C -_0808B2F0: - lsls r0, r4, 2 - adds r0, r7 - ldr r1, [r0] - adds r0, r5, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - beq _0808B314 - ldr r0, =gUnknown_084974B0 - adds r0, r4, r0 - ldrb r0, [r0] - strb r0, [r6] - b _0808B31E - .pool -_0808B314: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x4 - bls _0808B2F0 -_0808B31E: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end check_acro_bike_metatile - thumb_func_start IsPlayerCollidingWithFarawayIslandMew @ bool8 IsPlayerCollidingWithFarawayIslandMew(u8 direction) IsPlayerCollidingWithFarawayIslandMew: @ 808B324 From 64f40bbfee9f6ef8fc1f8f1d815c398f260453fe Mon Sep 17 00:00:00 2001 From: MCboy Date: Tue, 24 Jul 2018 17:03:16 +0430 Subject: [PATCH 050/234] Add field_player_avatar to rodata --- ld_script.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/ld_script.txt b/ld_script.txt index 35029ce6ec..6768cbc190 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -396,6 +396,7 @@ SECTIONS { src/fieldmap.o(.rodata); src/metatile_behavior.o(.rodata); src/field_door.o(.rodata); + src/field_player_avatar.o(.rodata); data/field_player_avatar.o(.rodata); src/event_object_movement.o(.rodata); src/text_window.o(.rodata); From 1b3d7a5bef5ff2be7761aedd6b41c9f9cd00fe03 Mon Sep 17 00:00:00 2001 From: MCboy Date: Tue, 24 Jul 2018 17:04:02 +0430 Subject: [PATCH 051/234] Update field_player_avatar.s --- data/field_player_avatar.s | 58 -------------------------------------- 1 file changed, 58 deletions(-) diff --git a/data/field_player_avatar.s b/data/field_player_avatar.s index c2e0d729de..cc3ff24479 100644 --- a/data/field_player_avatar.s +++ b/data/field_player_avatar.s @@ -6,63 +6,6 @@ .section .rodata .align 2, 0 - -gUnknown_084973FC:: @ 84973FC - .4byte MetatileBehavior_IsTrickHouseSlipperyFloor - .4byte MetatileBehavior_IsIce_2 - .4byte MetatileBehavior_IsWalkSouth - .4byte MetatileBehavior_IsWalkNorth - .4byte MetatileBehavior_IsWalkWest - .4byte MetatileBehavior_IsWalkEast - .4byte MetatileBehavior_IsSouthwardCurrent - .4byte MetatileBehavior_IsNorthwardCurrent - .4byte MetatileBehavior_IsWestwardCurrent - .4byte MetatileBehavior_IsEastwardCurrent - .4byte MetatileBehavior_IsSlideSouth - .4byte MetatileBehavior_IsSlideNorth - .4byte MetatileBehavior_IsSlideWest - .4byte MetatileBehavior_IsSlideEast - .4byte MetatileBehavior_IsWaterfall - .4byte MetatileBehavior_IsSecretBaseJumpMat - .4byte MetatileBehavior_IsSecretBaseSpinMat - .4byte MetatileBehavior_IsMuddySlope - -gUnknown_08497444:: @ 8497444 - .4byte ForcedMovement_None - .4byte ForcedMovement_Slip - .4byte ForcedMovement_Slip - .4byte ForcedMovement_WalkSouth - .4byte ForcedMovement_WalkNorth - .4byte ForcedMovement_WalkWest - .4byte ForcedMovement_WalkEast - .4byte ForcedMovement_PushedSouthByCurrent - .4byte ForcedMovement_PushedNorthByCurrent - .4byte ForcedMovement_PushedWestByCurrent - .4byte ForcedMovement_PushedEastByCurrent - .4byte ForcedMovement_SlideSouth - .4byte ForcedMovement_SlideNorth - .4byte ForcedMovement_SlideWest - .4byte ForcedMovement_SlideEast - .4byte ForcedMovement_PushedSouthByCurrent - .4byte ForcedMovement_0xBB - .4byte ForcedMovement_0xBC - .4byte ForcedMovement_MuddySlope - -gUnknown_08497490:: @ 8497490 - .4byte PlayerNotOnBikeNotMoving - .4byte PlayerNotOnBikeTurningInPlace - .4byte PlayerNotOnBikeMoving - -gUnknown_0849749C:: @ 849749C - .4byte MetatileBehavior_IsBumpySlope - .4byte MetatileBehavior_IsIsolatedVerticalRail - .4byte MetatileBehavior_IsIsolatedHorizontalRail - .4byte MetatileBehavior_IsVerticalRail - .4byte MetatileBehavior_IsHorizontalRail - -gUnknown_084974B0:: @ 84974B0 - .byte 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x00, 0x00, 0x00 - gUnknown_084974B8:: @ 84974B8 .4byte PlayerAvatarTransition_Normal .4byte PlayerAvatarTransition_MachBike @@ -158,4 +101,3 @@ gUnknown_084975B0:: @ 84975B0 gUnknown_084975BC:: @ 84975BC .byte 0x01, 0x03, 0x04, 0x02, 0x01, 0x00, 0x00, 0x00 - From 94a5f8d5291eb42febbf689cea0e8dec357a0b90 Mon Sep 17 00:00:00 2001 From: MCboy Date: Wed, 25 Jul 2018 17:18:49 +0430 Subject: [PATCH 052/234] made file better ? --- src/field_player_avatar.c | 112 +++++++++++--------------------------- 1 file changed, 31 insertions(+), 81 deletions(-) diff --git a/src/field_player_avatar.c b/src/field_player_avatar.c index 1be9ab73e1..a8eb835a36 100644 --- a/src/field_player_avatar.c +++ b/src/field_player_avatar.c @@ -162,101 +162,51 @@ void player_step(u8 direction, u16 newKeys, u16 heldKeys) } } } -#ifdef NONMATCHING + bool8 TryInterruptEventObjectSpecialAnim(struct EventObject *playerEventObj, u8 direction) { + #ifdef NONMATCHING + u8 r5 = direction; + u8 r6 = direction; + #else + u8 r5 = direction; + register u8 r6 asm("r6") = direction; + #endif + //a very bad HACK + if (EventObjectIsMovementOverridden(playerEventObj) && !EventObjectClearHeldMovementIfFinished(playerEventObj)) { u8 heldMovementActionId = EventObjectGetHeldMovementActionId(playerEventObj); if (heldMovementActionId > 24 && heldMovementActionId < 29) { - if(direction == DIR_NONE) + if (direction == DIR_NONE) + { + return TRUE; + } + + if (playerEventObj->movementDirection != r5) { EventObjectClearHeldMovement(playerEventObj); return FALSE; } - else if(playerEventObj->movementDirection != direction) - { - return TRUE; - } - else if(sub_808B028(direction) == FALSE) + + if (!sub_808B028(r6)) { EventObjectClearHeldMovement(playerEventObj); return FALSE; } - else - { - return TRUE; - } - } - else - { - return TRUE; } + + return TRUE; } + return FALSE; } -#else -NAKED -bool8 TryInterruptEventObjectSpecialAnim(struct EventObject *playerEventObj, u8 direction) -{ - asm_unified("push {r4-r6,lr}\n\ - adds r4, r0, 0\n\ - lsls r1, 24\n\ - lsrs r5, r1, 24\n\ - adds r6, r5, 0\n\ - bl EventObjectIsMovementOverridden\n\ - lsls r0, 24\n\ - cmp r0, 0\n\ - beq _0808AA92\n\ - adds r0, r4, 0\n\ - bl EventObjectClearHeldMovementIfFinished\n\ - lsls r0, 24\n\ - cmp r0, 0\n\ - bne _0808AA92\n\ - adds r0, r4, 0\n\ - bl EventObjectGetHeldMovementActionId\n\ - lsls r0, 24\n\ - movs r1, 0xE7\n\ - lsls r1, 24\n\ - adds r0, r1\n\ - lsrs r0, 24\n\ - cmp r0, 0x3\n\ - bhi _0808AA70\n\ - cmp r5, 0\n\ - bne _0808AA74\n\ -_0808AA70:\n\ - movs r0, 0x1\n\ - b _0808AA94\n\ -_0808AA74:\n\ - ldrb r0, [r4, 0x18]\n\ - lsrs r0, 4\n\ - cmp r0, r5\n\ - beq _0808AA84\n\ -_0808AA7C:\n\ - adds r0, r4, 0\n\ - bl EventObjectClearHeldMovement\n\ - b _0808AA92\n\ -_0808AA84:\n\ - adds r0, r6, 0\n\ - bl sub_808B028\n\ - lsls r0, 24\n\ - cmp r0, 0\n\ - beq _0808AA7C\n\ - b _0808AA70\n\ -_0808AA92:\n\ - movs r0, 0\n\ -_0808AA94:\n\ - pop {r4-r6}\n\ - pop {r1}\n\ - bx r1"); -} -#endif void npc_clear_strange_bits(struct EventObject *eventObj) { - eventObj->inanimate = 0; + eventObj->inanimate = 0; eventObj->disableAnim = 0; eventObj->facingDirectionLocked = 0; gPlayerAvatar.flags &= ~PLAYER_AVATAR_FLAG_DASH; @@ -491,14 +441,14 @@ void PlayerNotOnBikeMoving(u8 direction, u16 heldKeys) { u8 r0 = CheckForPlayerAvatarCollision(direction); - if(r0 != 0) + if (r0 != 0) { - if(r0 == 6) + if (r0 == 6) { PlayerJumpLedge(direction); return; } - else if(r0 == 4 && IsPlayerCollidingWithFarawayIslandMew(direction) != 0) + else if (r0 == 4 && IsPlayerCollidingWithFarawayIslandMew(direction) != 0) { PlayerNotOnBikeCollideWithFarawayIslandMew(direction); return; @@ -507,7 +457,7 @@ void PlayerNotOnBikeMoving(u8 direction, u16 heldKeys) { u8 r4 = r0 - 5; - if(r4 > 3) + if (r4 > 3) { PlayerNotOnBikeCollide(direction); return; @@ -521,7 +471,7 @@ void PlayerNotOnBikeMoving(u8 direction, u16 heldKeys) if (gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_SURFING) { - // speed 2 is fast, same speed as running + // speed 2 is fast, same speed as running PlayerGoSpeed2(direction); return; } @@ -605,20 +555,20 @@ bool8 sub_808B1BC(s16 x, s16 y, u8 direction) && GetEventObjectIdByXYZ(x, y, 3) == 16) { sub_808C750(direction); - return 1; + return TRUE; } else { - return 0; + return FALSE; } } bool8 ShouldJumpLedge(s16 x, s16 y, u8 z) { if (GetLedgeJumpDirection(x, y, z) != 0) - return 1; + return TRUE; else - return 0; + return FALSE; } u8 sub_808B238(s16 x, s16 y, u8 direction) From 3a15012085227ff5986c0e73d11c19b827794947 Mon Sep 17 00:00:00 2001 From: MCboy Date: Wed, 25 Jul 2018 17:28:25 +0430 Subject: [PATCH 053/234] Update field_player_avatar.c --- src/field_player_avatar.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/field_player_avatar.c b/src/field_player_avatar.c index a8eb835a36..9cdbf9956f 100644 --- a/src/field_player_avatar.c +++ b/src/field_player_avatar.c @@ -577,9 +577,7 @@ u8 sub_808B238(s16 x, s16 y, u8 direction) { u8 eventObjectId = GetEventObjectIdByXY(x, y); - if (eventObjectId != 16) - { - if (gEventObjects[eventObjectId].graphicsId == 0x57) + if (eventObjectId != 16 && gEventObjects[eventObjectId].graphicsId == 0x57) { x = gEventObjects[eventObjectId].currentCoords.x; y = gEventObjects[eventObjectId].currentCoords.y; @@ -591,7 +589,6 @@ u8 sub_808B238(s16 x, s16 y, u8 direction) return 1; } } - } } return 0; } From 6c365fdc94f0adca78ce3533745b75f389ccc9f2 Mon Sep 17 00:00:00 2001 From: MCboy Date: Wed, 25 Jul 2018 17:47:04 +0430 Subject: [PATCH 054/234] Update field_player_avatar.c --- src/field_player_avatar.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/field_player_avatar.c b/src/field_player_avatar.c index 9cdbf9956f..3289c19856 100644 --- a/src/field_player_avatar.c +++ b/src/field_player_avatar.c @@ -10,6 +10,7 @@ #include "fieldmap.h" #include "overworld.h" #include "rotating_gate.h" +#include "constants/event_object_movement_constants.h" bool8 ForcedMovement_None(void); bool8 ForcedMovement_Slip(void); @@ -178,7 +179,7 @@ bool8 TryInterruptEventObjectSpecialAnim(struct EventObject *playerEventObj, u8 && !EventObjectClearHeldMovementIfFinished(playerEventObj)) { u8 heldMovementActionId = EventObjectGetHeldMovementActionId(playerEventObj); - if (heldMovementActionId > 24 && heldMovementActionId < 29) + if (heldMovementActionId > MOVEMENT_ACTION_WALK_FAST_RIGHT && heldMovementActionId < MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_DOWN) { if (direction == DIR_NONE) { From d5825230e57a187210ff4bb070dd723f5ea6ef6b Mon Sep 17 00:00:00 2001 From: Slawter666 <38655737+Slawter666@users.noreply.github.com> Date: Sat, 28 Jul 2018 18:11:28 +0100 Subject: [PATCH 055/234] Merge "brendan" frames into sprite sheets --- .../pics/people/brendan/acro_bike.png | Bin 0 -> 2581 bytes .../pics/people/brendan/acro_bike/00.png | Bin 298 -> 0 bytes .../pics/people/brendan/acro_bike/01.png | Bin 285 -> 0 bytes .../pics/people/brendan/acro_bike/02.png | Bin 338 -> 0 bytes .../pics/people/brendan/acro_bike/03.png | Bin 303 -> 0 bytes .../pics/people/brendan/acro_bike/04.png | Bin 306 -> 0 bytes .../pics/people/brendan/acro_bike/05.png | Bin 279 -> 0 bytes .../pics/people/brendan/acro_bike/06.png | Bin 280 -> 0 bytes .../pics/people/brendan/acro_bike/07.png | Bin 339 -> 0 bytes .../pics/people/brendan/acro_bike/08.png | Bin 345 -> 0 bytes .../pics/people/brendan/acro_bike/09.png | Bin 298 -> 0 bytes .../pics/people/brendan/acro_bike/10.png | Bin 307 -> 0 bytes .../pics/people/brendan/acro_bike/11.png | Bin 284 -> 0 bytes .../pics/people/brendan/acro_bike/12.png | Bin 279 -> 0 bytes .../pics/people/brendan/acro_bike/13.png | Bin 288 -> 0 bytes .../pics/people/brendan/acro_bike/14.png | Bin 291 -> 0 bytes .../pics/people/brendan/acro_bike/15.png | Bin 285 -> 0 bytes .../pics/people/brendan/acro_bike/16.png | Bin 280 -> 0 bytes .../pics/people/brendan/acro_bike/17.png | Bin 343 -> 0 bytes .../pics/people/brendan/acro_bike/18.png | Bin 345 -> 0 bytes .../pics/people/brendan/acro_bike/19.png | Bin 339 -> 0 bytes .../pics/people/brendan/acro_bike/20.png | Bin 338 -> 0 bytes .../pics/people/brendan/acro_bike/21.png | Bin 311 -> 0 bytes .../pics/people/brendan/acro_bike/22.png | Bin 317 -> 0 bytes .../pics/people/brendan/acro_bike/23.png | Bin 290 -> 0 bytes .../pics/people/brendan/acro_bike/24.png | Bin 291 -> 0 bytes .../pics/people/brendan/acro_bike/25.png | Bin 342 -> 0 bytes .../pics/people/brendan/acro_bike/26.png | Bin 345 -> 0 bytes .../pics/people/brendan/field_move.png | Bin 0 -> 750 bytes .../pics/people/brendan/field_move/0.png | Bin 286 -> 0 bytes .../pics/people/brendan/field_move/1.png | Bin 284 -> 0 bytes .../pics/people/brendan/field_move/2.png | Bin 287 -> 0 bytes .../pics/people/brendan/field_move/3.png | Bin 312 -> 0 bytes .../pics/people/brendan/field_move/4.png | Bin 316 -> 0 bytes .../pics/people/brendan/fishing.png | Bin 0 -> 1586 bytes .../pics/people/brendan/fishing/00.png | Bin 299 -> 0 bytes .../pics/people/brendan/fishing/01.png | Bin 299 -> 0 bytes .../pics/people/brendan/fishing/02.png | Bin 303 -> 0 bytes .../pics/people/brendan/fishing/03.png | Bin 304 -> 0 bytes .../pics/people/brendan/fishing/04.png | Bin 284 -> 0 bytes .../pics/people/brendan/fishing/05.png | Bin 288 -> 0 bytes .../pics/people/brendan/fishing/06.png | Bin 308 -> 0 bytes .../pics/people/brendan/fishing/07.png | Bin 302 -> 0 bytes .../pics/people/brendan/fishing/08.png | Bin 297 -> 0 bytes .../pics/people/brendan/fishing/09.png | Bin 298 -> 0 bytes .../pics/people/brendan/fishing/10.png | Bin 296 -> 0 bytes .../pics/people/brendan/fishing/11.png | Bin 301 -> 0 bytes .../pics/people/brendan/mach_bike.png | Bin 0 -> 1165 bytes .../pics/people/brendan/mach_bike/0.png | Bin 298 -> 0 bytes .../pics/people/brendan/mach_bike/1.png | Bin 285 -> 0 bytes .../pics/people/brendan/mach_bike/2.png | Bin 338 -> 0 bytes .../pics/people/brendan/mach_bike/3.png | Bin 303 -> 0 bytes .../pics/people/brendan/mach_bike/4.png | Bin 306 -> 0 bytes .../pics/people/brendan/mach_bike/5.png | Bin 279 -> 0 bytes .../pics/people/brendan/mach_bike/6.png | Bin 280 -> 0 bytes .../pics/people/brendan/mach_bike/7.png | Bin 339 -> 0 bytes .../pics/people/brendan/mach_bike/8.png | Bin 345 -> 0 bytes .../pics/people/brendan/normal/00.png | Bin 294 -> 0 bytes .../pics/people/brendan/normal/01.png | Bin 293 -> 0 bytes .../pics/people/brendan/normal/02.png | Bin 274 -> 0 bytes .../pics/people/brendan/normal/03.png | Bin 287 -> 0 bytes .../pics/people/brendan/normal/04.png | Bin 285 -> 0 bytes .../pics/people/brendan/normal/05.png | Bin 280 -> 0 bytes .../pics/people/brendan/normal/06.png | Bin 280 -> 0 bytes .../pics/people/brendan/normal/07.png | Bin 284 -> 0 bytes .../pics/people/brendan/normal/08.png | Bin 280 -> 0 bytes .../pics/people/brendan/normal/09.png | Bin 274 -> 0 bytes .../pics/people/brendan/normal/10.png | Bin 275 -> 0 bytes .../pics/people/brendan/normal/11.png | Bin 268 -> 0 bytes .../pics/people/brendan/normal/12.png | Bin 270 -> 0 bytes .../pics/people/brendan/normal/13.png | Bin 269 -> 0 bytes .../pics/people/brendan/normal/14.png | Bin 270 -> 0 bytes .../pics/people/brendan/normal/15.png | Bin 270 -> 0 bytes .../pics/people/brendan/normal/16.png | Bin 283 -> 0 bytes .../pics/people/brendan/normal/17.png | Bin 281 -> 0 bytes .../pics/people/brendan/running.png | Bin 0 -> 909 bytes .../pics/people/brendan/surfing.png | Bin 0 -> 873 bytes .../pics/people/brendan/surfing/0.png | Bin 283 -> 0 bytes .../pics/people/brendan/surfing/1.png | Bin 286 -> 0 bytes .../pics/people/brendan/surfing/2.png | Bin 296 -> 0 bytes .../pics/people/brendan/surfing/3.png | Bin 302 -> 0 bytes .../pics/people/brendan/surfing/4.png | Bin 299 -> 0 bytes .../pics/people/brendan/surfing/5.png | Bin 295 -> 0 bytes .../pics/people/brendan/underwater.png | Bin 0 -> 650 bytes .../pics/people/brendan/underwater/0.png | Bin 265 -> 0 bytes .../pics/people/brendan/underwater/1.png | Bin 272 -> 0 bytes .../pics/people/brendan/underwater/2.png | Bin 278 -> 0 bytes .../pics/people/brendan/underwater/3.png | Bin 278 -> 0 bytes .../pics/people/brendan/walking.png | Bin 0 -> 912 bytes .../pics/people/brendan/watering.png | Bin 0 -> 752 bytes .../pics/people/brendan/watering/0.png | Bin 293 -> 0 bytes .../pics/people/brendan/watering/1.png | Bin 294 -> 0 bytes .../pics/people/brendan/watering/2.png | Bin 311 -> 0 bytes .../pics/people/brendan/watering/3.png | Bin 297 -> 0 bytes .../pics/people/brendan/watering/4.png | Bin 295 -> 0 bytes .../pics/people/brendan/watering/5.png | Bin 311 -> 0 bytes .../field_event_obj/event_object_graphics.h | 91 ++---------------- 97 files changed, 8 insertions(+), 83 deletions(-) create mode 100644 graphics/event_objects/pics/people/brendan/acro_bike.png delete mode 100644 graphics/event_objects/pics/people/brendan/acro_bike/00.png delete mode 100644 graphics/event_objects/pics/people/brendan/acro_bike/01.png delete mode 100644 graphics/event_objects/pics/people/brendan/acro_bike/02.png delete mode 100644 graphics/event_objects/pics/people/brendan/acro_bike/03.png delete mode 100644 graphics/event_objects/pics/people/brendan/acro_bike/04.png delete mode 100644 graphics/event_objects/pics/people/brendan/acro_bike/05.png delete mode 100644 graphics/event_objects/pics/people/brendan/acro_bike/06.png delete mode 100644 graphics/event_objects/pics/people/brendan/acro_bike/07.png delete mode 100644 graphics/event_objects/pics/people/brendan/acro_bike/08.png delete mode 100644 graphics/event_objects/pics/people/brendan/acro_bike/09.png delete mode 100644 graphics/event_objects/pics/people/brendan/acro_bike/10.png delete mode 100644 graphics/event_objects/pics/people/brendan/acro_bike/11.png delete mode 100644 graphics/event_objects/pics/people/brendan/acro_bike/12.png delete mode 100644 graphics/event_objects/pics/people/brendan/acro_bike/13.png delete mode 100644 graphics/event_objects/pics/people/brendan/acro_bike/14.png delete mode 100644 graphics/event_objects/pics/people/brendan/acro_bike/15.png delete mode 100644 graphics/event_objects/pics/people/brendan/acro_bike/16.png delete mode 100644 graphics/event_objects/pics/people/brendan/acro_bike/17.png delete mode 100644 graphics/event_objects/pics/people/brendan/acro_bike/18.png delete mode 100644 graphics/event_objects/pics/people/brendan/acro_bike/19.png delete mode 100644 graphics/event_objects/pics/people/brendan/acro_bike/20.png delete mode 100644 graphics/event_objects/pics/people/brendan/acro_bike/21.png delete mode 100644 graphics/event_objects/pics/people/brendan/acro_bike/22.png delete mode 100644 graphics/event_objects/pics/people/brendan/acro_bike/23.png delete mode 100644 graphics/event_objects/pics/people/brendan/acro_bike/24.png delete mode 100644 graphics/event_objects/pics/people/brendan/acro_bike/25.png delete mode 100644 graphics/event_objects/pics/people/brendan/acro_bike/26.png create mode 100644 graphics/event_objects/pics/people/brendan/field_move.png delete mode 100644 graphics/event_objects/pics/people/brendan/field_move/0.png delete mode 100644 graphics/event_objects/pics/people/brendan/field_move/1.png delete mode 100644 graphics/event_objects/pics/people/brendan/field_move/2.png delete mode 100644 graphics/event_objects/pics/people/brendan/field_move/3.png delete mode 100644 graphics/event_objects/pics/people/brendan/field_move/4.png create mode 100644 graphics/event_objects/pics/people/brendan/fishing.png delete mode 100644 graphics/event_objects/pics/people/brendan/fishing/00.png delete mode 100644 graphics/event_objects/pics/people/brendan/fishing/01.png delete mode 100644 graphics/event_objects/pics/people/brendan/fishing/02.png delete mode 100644 graphics/event_objects/pics/people/brendan/fishing/03.png delete mode 100644 graphics/event_objects/pics/people/brendan/fishing/04.png delete mode 100644 graphics/event_objects/pics/people/brendan/fishing/05.png delete mode 100644 graphics/event_objects/pics/people/brendan/fishing/06.png delete mode 100644 graphics/event_objects/pics/people/brendan/fishing/07.png delete mode 100644 graphics/event_objects/pics/people/brendan/fishing/08.png delete mode 100644 graphics/event_objects/pics/people/brendan/fishing/09.png delete mode 100644 graphics/event_objects/pics/people/brendan/fishing/10.png delete mode 100644 graphics/event_objects/pics/people/brendan/fishing/11.png create mode 100644 graphics/event_objects/pics/people/brendan/mach_bike.png delete mode 100644 graphics/event_objects/pics/people/brendan/mach_bike/0.png delete mode 100644 graphics/event_objects/pics/people/brendan/mach_bike/1.png delete mode 100644 graphics/event_objects/pics/people/brendan/mach_bike/2.png delete mode 100644 graphics/event_objects/pics/people/brendan/mach_bike/3.png delete mode 100644 graphics/event_objects/pics/people/brendan/mach_bike/4.png delete mode 100644 graphics/event_objects/pics/people/brendan/mach_bike/5.png delete mode 100644 graphics/event_objects/pics/people/brendan/mach_bike/6.png delete mode 100644 graphics/event_objects/pics/people/brendan/mach_bike/7.png delete mode 100644 graphics/event_objects/pics/people/brendan/mach_bike/8.png delete mode 100644 graphics/event_objects/pics/people/brendan/normal/00.png delete mode 100644 graphics/event_objects/pics/people/brendan/normal/01.png delete mode 100644 graphics/event_objects/pics/people/brendan/normal/02.png delete mode 100644 graphics/event_objects/pics/people/brendan/normal/03.png delete mode 100644 graphics/event_objects/pics/people/brendan/normal/04.png delete mode 100644 graphics/event_objects/pics/people/brendan/normal/05.png delete mode 100644 graphics/event_objects/pics/people/brendan/normal/06.png delete mode 100644 graphics/event_objects/pics/people/brendan/normal/07.png delete mode 100644 graphics/event_objects/pics/people/brendan/normal/08.png delete mode 100644 graphics/event_objects/pics/people/brendan/normal/09.png delete mode 100644 graphics/event_objects/pics/people/brendan/normal/10.png delete mode 100644 graphics/event_objects/pics/people/brendan/normal/11.png delete mode 100644 graphics/event_objects/pics/people/brendan/normal/12.png delete mode 100644 graphics/event_objects/pics/people/brendan/normal/13.png delete mode 100644 graphics/event_objects/pics/people/brendan/normal/14.png delete mode 100644 graphics/event_objects/pics/people/brendan/normal/15.png delete mode 100644 graphics/event_objects/pics/people/brendan/normal/16.png delete mode 100644 graphics/event_objects/pics/people/brendan/normal/17.png create mode 100644 graphics/event_objects/pics/people/brendan/running.png create mode 100644 graphics/event_objects/pics/people/brendan/surfing.png delete mode 100644 graphics/event_objects/pics/people/brendan/surfing/0.png delete mode 100644 graphics/event_objects/pics/people/brendan/surfing/1.png delete mode 100644 graphics/event_objects/pics/people/brendan/surfing/2.png delete mode 100644 graphics/event_objects/pics/people/brendan/surfing/3.png delete mode 100644 graphics/event_objects/pics/people/brendan/surfing/4.png delete mode 100644 graphics/event_objects/pics/people/brendan/surfing/5.png create mode 100644 graphics/event_objects/pics/people/brendan/underwater.png delete mode 100644 graphics/event_objects/pics/people/brendan/underwater/0.png delete mode 100644 graphics/event_objects/pics/people/brendan/underwater/1.png delete mode 100644 graphics/event_objects/pics/people/brendan/underwater/2.png delete mode 100644 graphics/event_objects/pics/people/brendan/underwater/3.png create mode 100644 graphics/event_objects/pics/people/brendan/walking.png create mode 100644 graphics/event_objects/pics/people/brendan/watering.png delete mode 100644 graphics/event_objects/pics/people/brendan/watering/0.png delete mode 100644 graphics/event_objects/pics/people/brendan/watering/1.png delete mode 100644 graphics/event_objects/pics/people/brendan/watering/2.png delete mode 100644 graphics/event_objects/pics/people/brendan/watering/3.png delete mode 100644 graphics/event_objects/pics/people/brendan/watering/4.png delete mode 100644 graphics/event_objects/pics/people/brendan/watering/5.png diff --git a/graphics/event_objects/pics/people/brendan/acro_bike.png b/graphics/event_objects/pics/people/brendan/acro_bike.png new file mode 100644 index 0000000000000000000000000000000000000000..367fa1bd5a206c8bac324a8bd2b46777e437f2c1 GIT binary patch literal 2581 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 literal 0 HcmV?d00001 diff --git a/graphics/event_objects/pics/people/brendan/acro_bike/00.png b/graphics/event_objects/pics/people/brendan/acro_bike/00.png deleted file mode 100644 index d0c556042bb30538344afb6ca6e2962a5d7e2561..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 298 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfvg8-ip*W#l~{$Jhl|LBx^Q;Mq{ z9WA}8H7%1QG=l^bEbl#gSA4eEYf8}nq^P5gj{pDv2Wrw+I41<87)yfuf*Bm1-ADs+ zR(QHNhGo*e$DCkd;6EP9tAp2pCj5a>)rpq2O5+L ucw-+tkq=>P%l{wvlP4#GOX5c&6T`bc=UkmEiAg{=GkCiCxvX9^!V~51@7cNr8os}~d-@5lx^p$(^Pbg+Fe*5R z{a_S&;r=1=P5PNRH-Fw_R7|*Z(Q@%&NyP&X9s#Wp7gsU<@&A4G-~Y^$4lJJ*y4vQ; zM3#M9ckHNmqMZHm{$6QUZu=7fDU5CZ9U9K0KltCbh*{&oKUUud&*DQE+upBmGcee& gSTo^4J0}B!c%_T=-?;|+fzD*`boFyt=akR{094<2jsO4v diff --git a/graphics/event_objects/pics/people/brendan/acro_bike/02.png b/graphics/event_objects/pics/people/brendan/acro_bike/02.png deleted file mode 100644 index c657e8b375349e1caf80f68ff211589529f7a8b7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 338 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfvg8-ip*W#l~{$Jhl|LBx^Q;Mq{ z9WA}8H7%1QG=l^bEbl#gSA4eEYf8}nq^P5gj{pDv2Wrw+I41<87)yfuf*Bm1-ADs+ zE_k{)hG{xtnZ?$EymQzFWvsE)48UhY| z&HDOouJL}QkPUBuQtr>$RT!NQ%FD{0U~209wSwuG@2^w;C(ikJ{pO7uH|{ffKG?T; zB_|MK{VXrHHMO;o;^5 i250X5|L>?%*RhvDDl9QV_jC}*Zw#KUelF{r5}E*6IhjoW diff --git a/graphics/event_objects/pics/people/brendan/acro_bike/03.png b/graphics/event_objects/pics/people/brendan/acro_bike/03.png deleted file mode 100644 index 38f3a08a76303ad27810065bf03d08e50d0a8799..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 303 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfvg8-ip*W#l~{$Jhl|LBx^Q;Mq{ z9WA}8H7%1QG=l^bEbl#gSA4eEYf8}nq^P5gj{pDv2Wrw+I41<87)yfuf*Bm1-ADs+ z)_S@)hGahxB7dLmeBnF@&O6|*i{;1 zH;1i_>DAd#eQ(wD-4j{n)UU7pp0%BGQp4g23l?!qV(8x37BqPyv(tmkn_Gi6ciK8V z2yWlJ(X-udlCGAltnBj}|M&lQ ytMCi$?9?lG!@r8*@b>>JYS_$7Sb6>!Ffv5Wa^aZ4`(hW+;S8RxelF{r5}E)GzahxB7dLmeBnF@&O6|*i{;1 zH;1i_>DAd#eQ(wD-4j{n)UU7pp0%BGQp4g23l?!qV(8x37BqPyv(tmkn_Gi6ciK8V z2yWlJ(X-vo=|Oj$yL-FvA+c@t&-efMZ#loA;MjfX`=6@cEAMPR3Us2r$25kkcmDtW z&)juj>wb+Iwtva>0jv^r|JfmzUv*N-KeGXYh3Ob6Mw<&;$U2 C{(?jR diff --git a/graphics/event_objects/pics/people/brendan/acro_bike/05.png b/graphics/event_objects/pics/people/brendan/acro_bike/05.png deleted file mode 100644 index cb9788e695787b45c764079b5b826544d8aec9f9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 279 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfvg8-ip*W#l~{$Jhl|LBx^Q;Mq{ z9WA}8H7%1QG=l^bEbl#gSA4eEYf8}nq^P5gj{pDv2Wrw+I41<87)yfuf*Bm1-ADs+ zrh2+KhGHGfw?q*CG>z|8To6i diff --git a/graphics/event_objects/pics/people/brendan/acro_bike/06.png b/graphics/event_objects/pics/people/brendan/acro_bike/06.png deleted file mode 100644 index 345a2277ec7524dc0d903f0da26f01f39fe7070d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 280 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfvg8-ip*W#l~{$Jhl|LBx^Q;Mq{ z9WA}8H7%1QG=l^bEbl#gSA4eEYf8}nq^P5gj{pDv2Wrw+I41<87)yfuf*Bm1-ADs+ zrg^$JhGb93>to}X$SOmecu)=?8!B4Ymi|Ns6`L(19z_uqf}@4hYUaQ4+nYAMl1 zF)=Z>Ca_4<{khk>sFg9}*?;~D)*t)-|L@j%@Q?K<2iw2bE4U;i>K17wBqX>8A2`4- b%)n4l;{M}gMb|8#3mH6J{an^LB{Ts5^m1{j diff --git a/graphics/event_objects/pics/people/brendan/acro_bike/07.png b/graphics/event_objects/pics/people/brendan/acro_bike/07.png deleted file mode 100644 index 0677027b0440108eb0cafe7c571242474a7fcfb9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 339 zcmV-Z0j&OsP)5Fk0;=I(RNb4rv_|6*FjK|%lj{{R30FCfkm00001 zbW%=J06^y0W&i*H(Md!>R49>SU>NKm0FBT36qOqqha$il_j2aUP$Yq^``*2qITOj0 zzF8}0&YU?FA+T=M?%gxzBdPG-y?b}Zd?YiR1?4+B`jG@2C4_#U2sm3PeX{?6B=E)9 z*x2L?lEB|D#wPu%kd*NM_~OyOWIaOQ&k-g2|G)PmX}ND~|NlQiOWJ=hNK1qA+5Uey z@BjZl5G6na@;!Zk^4))2T)sgBK7Tmy`Tvc6mwWv7P=WaQ!9V~1H+A_672r1%v}X-q l_$(+4vj<`$|Ns9W4ge=KUy!(zrsDtr002ovPDHLkV1hUXn1=uW diff --git a/graphics/event_objects/pics/people/brendan/acro_bike/08.png b/graphics/event_objects/pics/people/brendan/acro_bike/08.png deleted file mode 100644 index a24484281b24d5cd002c310eabffc26d5cd2b444..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 345 zcmV-f0jB5Fk0;=I(RNb4rv_|6*FjK|%lj{{R30FCfkm00001 zbW%=J06^y0W&i*H*GWV{R49>SU>Niu0FBT36qOqqha$il_j2aUP$Yq^``*2qITOj0 zzF8}0&YU?FA+T=M?%gxzBdPG-y?b}Zd?YiR1?4+B`jG@2C4_z;3-CKzD1Ea3fDrh5 z#n{-`Ee*^MH3bnJ2l+Dxx&-=<`ZTohod_@58vQaJn-T0 z%^NqC$RAAqUHtF=fBWac0#X0seovcUE$_+Q4Rlt#z%+)bf7qE+SRE$*t`Gdd^XK{n uR=HC3hX7F_Nb6Mw<&;$Sm;(!bQ diff --git a/graphics/event_objects/pics/people/brendan/acro_bike/10.png b/graphics/event_objects/pics/people/brendan/acro_bike/10.png deleted file mode 100644 index b472a680d625b618e5d55b55e9b725040d55db50..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 307 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfvg8-ip*W#l~{$Jhl|LBx^Q;Mq{ z9WA}8H7%1QG=l^bEbl#gSA4eEYf8}nq^P5gj{pDv2Wrw+I41<87)yfuf*Bm1-ADs+ zHhQ`^hG)zgKbK%IN^%D-%t2Ex%4qrQK zt9)d_^VOxBC$dE7lZ@o zlaq6)|H0OP+gDAl`KBiCG`lA4m~Ncz=Nk6m-QC?YPiXyXX8EVg`6q5? z*3~tCPcT`>ubthiav*8r>$|(Jp5^0U6n1n~bWCqKkee zcK_cZAzeMkzk&P1|GnS-*T4JA?{V!1&`GR`Y942|?w6McVDbCsD4Ou&oBY)C2ilf3 eG|I;^@GCEue0Iv)m=9|m~_N;-`g8~_YH&ik0hlP8Y(Z|@QeR=l5=Ir!kk6@ z1?gRdliM~*Pb&YnO+vbQj{Bz8qd@oQ^La4w{JH*b(XaXcpU7`v`1wtKYQJRCpBGF! a7#Xbm%>M^>*zW;4kipZ{&t;ucLK6V0)puq9 diff --git a/graphics/event_objects/pics/people/brendan/acro_bike/13.png b/graphics/event_objects/pics/people/brendan/acro_bike/13.png deleted file mode 100644 index 7b24c24f40e0801ec63ec268a89687515b39356d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 288 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfvg8-ip*W#l~{$Jhl|LBx^Q;Mq{ z9WA}8H7%1QG=l^bEbl#gSA4eEYf8}nq^P5gj{pDv2Wrw+I41<87)yfuf*Bm1-ADs+ z=6Sj}hGny#`}3V$Nu_cB|NTGy@9$SR zaDV^%ul@Wdm~>Z%RW9J#vEzp_x51zLdw<&-&2I#1;a|b@F8%^b-al8-gdcrbEX>T- hvzXZGN*FB|7zCcXC^EjOAG2{EYyWT0P_UZeo&5P~27z7l! z|1fZVQU0Ox%{cAcn?G+F1Porjm~-)AkHCZSk3eg>PqVi){7?U{|1DmCiKqU5{kH%0 z@+Zaq{df4l7`dSS{%d&+rueY6pWFp!JbLt~Q|G{k`tR@lpQxFzQa*rn-G5ingdcsY lnj0HseHoeUcQNEKFzhP#Xj&Pw!3F4822WQ%mvv4FO#pTcd-nhU diff --git a/graphics/event_objects/pics/people/brendan/acro_bike/15.png b/graphics/event_objects/pics/people/brendan/acro_bike/15.png deleted file mode 100644 index 3caacb23eb97bbc327037d8b7fcc279bd0fbe745..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 285 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfvg8-ip*W#l~{$Jhl|LBx^Q;Mq{ z9WA}8H7%1QG=l^bEbl#gSA4eEYf8}nq^P5gj{pDv2Wrw+I41<87)yfuf*Bm1-ADs+ zW_!9ghGVPg}UyzRfvwtsIMf{PjZr2Q~upc_h*m-d{B2sA|YB%$Dxh%`diOyS_`B er-EMVd%HFX*9Jj5yN^I;GI+ZBxvXwo@BcmQPdT>z-~a#hPn0=7 zl-K;f|B*5B!T<07{|B=CssH!CN$0?a`+rZ@r`R$7|GHm;OG0AbVy%RP1oz+r2m19I cq!}1)Ot=2o^5Fk0;=I(RNb4rv_|6*FjK|%lj{{R30FCfkm00001 zbW%=J06^y0W&i*H)k#D_R49>SU>Iy50FBT36qOqqha$il_j2aUP$Yq^>)ySaITOj0 zzE|tsy_`7}A+T@Ns+lwABdPG-wQALl`AB9s@7}$;qaVTNcNCQGKoJpX z{{IgIpCRAV=l}nXj&ErRP=U`M4t)Oq1E}X4Odx)K@Xz^wkGS|lmGB!1+Or0H@qO?a pW(wH6&msQ7NREf7V?Y5=djbB*XPr}SAI<;(002ovPDHLkV1hCbqR#*T diff --git a/graphics/event_objects/pics/people/brendan/acro_bike/18.png b/graphics/event_objects/pics/people/brendan/acro_bike/18.png deleted file mode 100644 index dd442bb2e5b73790a27da6353dd63b759ff9e2e3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 345 zcmV-f0jB5Fk0;=I(RNb4rv_|6*FjK|%lj{{R30FCfkm00001 zbW%=J06^y0W&i*H*GWV{R49>SV4y2tMHh$*K;edlzC#fReK&LFR3s7ZsCVyP&YX%6 z;CQ$09Z(HI3HPg2GiT2HicrC_d)2DdGd>^*SnuAwqXSt$Q1C|wvH-tfqkjK?BxmqD zH|Zkdp(j8|1U28e|aGc;Xl*S{Qv)MxBy%J-Ocv@|07Jz2XcP=|Bq1c zWy<;g9UTY-{PsNjZa?~wEH(Z4_2>NmX=!kg&w|4Lzxe5Fk0;=I(RNb4rv_|6*FjK|%lj{{R30FCfkm00001 zbW%=J06^y0W&i*H(Md!>R49>SU>ID06Hq)y|Nj%9 ze75|%|Nrm*kKZ1u;LDWr|7XUVx_pHS@Z0n7+lMlI78His!*BW% lB**_B?s|kA+!;td0|4n0T7Nz;jrITl002ovPDHLkV1kACn_mC` diff --git a/graphics/event_objects/pics/people/brendan/acro_bike/20.png b/graphics/event_objects/pics/people/brendan/acro_bike/20.png deleted file mode 100644 index 665d699aae7721cbb06c9b74d1f138d1850762f7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 338 zcmV-Y0j>UtP)5Fk0;=I(RNb4rv_|6*FjK|%lj{{R30FCfkm00001 zbW%=J06^y0W&i*H&`Cr=R49>SU>HykfW~KiipmX*LlIz&dpUDvD3ZX|b?@HIoQY&g z->Y};Ue26~5ZJeB<;uW-_!^LM51my7l=rr{C}GU($LMD5B4IBJY3w|M%yAdNBR}FaP`VfBQ)X z&i}OkznJCb|MmALJatrfqdm*PW|u>T#w-TyDw7Ee3}-yN422^fxdA=E;OXk;vd$@? F2>=IViL3ws diff --git a/graphics/event_objects/pics/people/brendan/acro_bike/22.png b/graphics/event_objects/pics/people/brendan/acro_bike/22.png deleted file mode 100644 index b69f0e052c6c73e3cfafa886ec8021b96eb65269..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 317 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfvg8-ip*W#l~{$Jhl|LBx^Q;Mq{ z9WA}8H7%1QG=l^bEbl#gSA4eEYf8}nq^P5gj{pDv2Wrw+I41<87)yfuf*Bm1-ADs+ zc6+)whGuW-_!^LM51S4~WH-d&(K7(8A5 KT-G@yGywpU-GpZV diff --git a/graphics/event_objects/pics/people/brendan/acro_bike/23.png b/graphics/event_objects/pics/people/brendan/acro_bike/23.png deleted file mode 100644 index df87a8442528ec23f1e4714d806c84055bfc36b4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 290 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfvg8-ip*W#l~{$Jhl|LBx^Q;Mq{ z9WA}8H7%1QG=l^bEbl#gSA4eEYf8}nq^P5gj{pDv2Wrw+I41<87)yfuf*Bm1-ADs+ z7I?ZihGs_WsS5xKtdwZP&g*ioLbRBs<-}3$4(=+8KusSeA zE)YI3zftAEpUuV3dVZ>TFv-apTSrY`iHQ04|Nr|(y%!F@&;NA)=YMe(=YRjrfns)> zoExJ4)jNp&_?uU+-_>w^mFnCRO!cubG5?gS-#veS_xD8623}Xega`ZoiH9~k{9PYn k$80@|iLI`L@eTt+oPc+Q%1+z2K({h@y85}Sb4q9e0Ga4|H2?qr diff --git a/graphics/event_objects/pics/people/brendan/acro_bike/24.png b/graphics/event_objects/pics/people/brendan/acro_bike/24.png deleted file mode 100644 index 0e301734ded808bc3a09db1f713976a671e1d4f0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 291 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfvg8-ip*W#l~{$Jhl|LBx^Q;Mq{ z9WA}8H7%1QG=l^bEbl#gSA4eEYf8}nq^P5gj{pDv2Wrw+I41<87)yfuf*Bm1-ADs+ z7J9lkhGs_WsS5xKtdwZP&g*ioLbRBs<-}3$4(=+8KusSeA zE)YI3zftAEotu`$$7+OC82kHX%Ib13{?pY1+EQNV!13e1`Oo)%SWous|Nme5|Ns6s zd<**i1NG+psoTDvF*2d;`YP2EOg#T%V`APZbAR}MZ*RR_7sITDJb$kLU-UszV&8xF lr^Xu=YbHE!7eBzuFoVI9Tj4$HETCf5Fk0;=I(RNb4rv_|6*FjK|%lj{{R30FCfkm00001 zbW%=J06^y0W&i*H)Ja4^R49>SV4y1qK;yGMMdgOZp$M?Xy_`8S6iHy~x_9qp&O|b$ z@723^FK13g2<%(6a^}qWNGiNmt=he_AIS{o-Me@1Ko)Qml<(+37GRbT`tkn*k^sMj z(kJ^b$O6vB#{RpIl(77F@&CVMJ(7wu9s2)&?}zi*^6x7D|Bqy9{(mrl3$T5ea{hnE z|NjUR?0NV-I{Fbh_)UL){gMA8H4QHESy1@reE5Fk0;=I(RNb4rv_|6*FjK|%lj{{R30FCfkm00001 zbW%=J06^y0W&i*H*GWV{R49>SV4yDuK;yGMMdgOZp$M?Xy_`8S6iHy~x_9qp&O|b$ z@723^FK13g2<%(6a^}qWNGiNmt=he_AIS{o-Me@1Ko)Qml<(+37Wgb7^yB{r1fPG4 zh0-VcFGvErosEtCcOfZp`S0TYf601;iZdM@`u~6Lhw<6+?>Z^}|Bo;=|34VO`D|aN zoOk=t@gHG=JrDoP|47c_H~snb|Cj%%X$W@;3jhD&|NnmiT*?3c4F7#xT)rWBhJoMZ r9=|<`fa(0HC;}jZKA;GI3<3cFl?z>$1ewn000000NkvXXu0mjfYJ#3T diff --git a/graphics/event_objects/pics/people/brendan/field_move.png b/graphics/event_objects/pics/people/brendan/field_move.png new file mode 100644 index 0000000000000000000000000000000000000000..7f85137a4c169f95d1178170f5af4544426a6c73 GIT binary patch literal 750 zcmV001Ba0{{R3XHjm(00007bV*G`2jT}D z5F8z*;I`@j000+sMObuGZ)S9NVRB^vM@&RePDdbiWpW@hE;Mn4q~QPn00?w&PDe*f zL^A*Y002sWDIWj;00d`2O+f$vv5yPer2o~l|HYKvlyiGQK{-l$ zDLG;oDN+z1Io{^(bIo%~lv4jBjE6bEn(Hgr3#bTD)%l|6VXwKR0Al4!ImFIqZy z4s_^OsMHp&n4-xLd5G5fLcBW~vUGIl;vp1*rVKVgRht{+y5`kQa@L)}CLyMi-}bwA z`oBAbq$r!()TaJt)fX4?_p^Pz7}%)a$$80nJ3g2DwjJAdazpfk*R6kos3hIs&Si(->k-pqp z1?+GmZ;zF+TjGIZd-zLLi=5X(HPtN_jpeSCRhJvJ8b2zks_}Wq4|20SU}7TERQ2Tw zUslZRxyL@RO3|9XGho0plUW1d0gq|=#8_@HFTMf?f&nm#S-fA3c0BN4dYbJ=?*Y8N zAsNDVnO{u%kPWCtq;^U?exe+tU^4IjOCST`L{}ES z6qJ5A12G^awI~ri_HD7x$Y)D9(UqmZ*$p9CX+Mx`ny|tOvH)1JJ}c;ZG(Al2V~ZV1 ge;Y^;tkY|(zcvU{16deAtpET307*qoM6N<$g1zrYTmS$7 literal 0 HcmV?d00001 diff --git a/graphics/event_objects/pics/people/brendan/field_move/0.png b/graphics/event_objects/pics/people/brendan/field_move/0.png deleted file mode 100644 index d8cd793d8ecc89946c1cbd0b8b8871878625f4ab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 286 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfvg8-ip*W#l~{$Jhl|LBx^Q;Mq{ z9WA}8H7%1QG=l^bEbl#gSA4eEYf8}nq^P5gj{pDv2Wrw+I41<87)yfuf*Bm1-ADs+ z=6Jd|hG)o`$4|?!V4BwZ`GY&&}oQ zqD;9X7bHJlU242ffn|;FrpG^$NC{(s&~f%8ws&fovpCkg)f-}r!eQv=X}@c}G(cmMAei)?uK gpZ(u|o*Rq|y4&qeKYjA^GSHn2p00i_>zopr0A|8?i~s-t diff --git a/graphics/event_objects/pics/people/brendan/field_move/1.png b/graphics/event_objects/pics/people/brendan/field_move/1.png deleted file mode 100644 index 25550176e781c4f2ff1e67b44ecc12e1619ef128..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 284 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfvg8-ip*W#l~{$Jhl|LBx^Q;Mq{ z9WA}8H7%1QG=l^bEbl#gSA4eEYf8}nq^P5gj{pDv2Wrw+I41<87)yfuf*Bm1-ADs+ zW_h|ehG)o`$4|-hJKRWvB4t&t2>A zwX^zlE^PdKb(dtk0F$5E-S_uWXDD#4;4t&*P~hAkp>3L}VXbiU)6odelX5q2{nJ0D zwtr&C2Xmkk>dTooZS}HyUa#=-!T*a7tN$}^VhA{1FTx0v+rNP0&aVIEx|)o`$4|?oV4AHM9T7^ZT~> zSI_kDpI~}@Z*Nqi%7ZU~0RaK`SUe8|I&BDK@oYHi;k?rGCgaH~=iT)DzMZ)Cue`GO ziT$RnV)f_${O?`Ty8mVO=|A^*J(%q4&hh+hT=Vq*|Cyid6}W!@UC8SC;M(8)*%MhM i{?$Kl-zF-_!0=kv`d`zIylFs(GI+ZBxvX5Fk0;=I(RNb4rv_|6*FjK|%lj{{R30FCfkm00001 zbW%=J06^y0W&i*Hwn;=mR49>SU>F8~6`da!fWi-rdl!n#Z(X%&=1e3d{GF>_uAGmg zfPd$^SF85JxhyXHyH>4Qz54@9!0)V!qM+bzxB$!jKle2R8}*GHUvpZguYH#+*SARO}lM@Pq%zc-Lv z`lX}S|3?Foz<(E){|G~Y0{;L1e?bwrb^q^LWC4c%ANc<>U5Fk0;=I(RNb4rv_|6*FjK|%lj{{R30FCfkm00001 zbW%=J06^y0W&i*Hx=BPqR49>SU>JHJ0F58|6otzg`tB*R5{{@@n?r&qlA((T;ONu z%TG#5%Ek^b0sfiuS%CciU*IDDzx@AV?DEC`3QWM~zH|To{{Me(!0rA2qvLKz|BnWQ zOMxOCSCE~~|D~hXA4TB5i_3o$0ssI1zn}=*^8d0HS%BgH2mb#I*Z}~DQc?{|lAyN$ O0000}2P)4LJ>00007bV*G`2jT}D z5Fst<(a!h)000+sMObuGZ)S9NVRB^vM@&RePDdbiWpW@hE;Mn4q~QPn00?w&PDe*f zL^A*Y002sWDIWj;00d`2O+f$vv5yPer2o~l|HYKvlyiGQK{-l$ zDLG;oDN+z1Io{^(bIo%~lv4jI-N^tZiziN-=>cl!l8hh-{LD+^4o?`{ zYEZ3SzDoR}eoqTfl_tqth?m_;QcYp@O?kHJc|G=nG(PVqzSeC^u^K6)k4;1K2f>CZv%GzCyeUw8sE81L8HJCPBP2Hq8d zS{#1_V59+5j;F6p{439IjE41voNUKsx=0pcDgeo?s>pK}FKSo#al@P0N~0E3D*^%3 zzF+`2$AB8bG|^FiG{V=%N`nrK>3U3lb_2Q(){KPHOE!SkTr7X zDv#EDe+wVxk{pi#sOnhvc7mhl%46MJoHxtZLUl(9D^*rCl!O5Jo7%E`w&8C!6hKOq z&SZ`F4HN;{#|zvfMGyc}9c$^6+-KJnfasg1L$3RWqivu4x1pgp1Sv!`uNOVv`wra* zSEaK!#Tsbd_YVVP%_S)!Q<5E2X%upPH6e8YY0YFLJ zNJ^E$7@$5L$W2mYbbzaoh)4&lVt&1#41}M5zyBoxxZP^CyoNSzNQNMVNakPLtDq!c zSky{%^x~%PZ=96J0qO0(r7X^ka?s^PE5I@feFSg|;1vO|a&w+n*TxOW5Tp>T+^m}S z0P4+=0g)87l3%^xZESkh2tY4UAic9Ro4bD<1CWSlQCOEbgMjMo!5*oBrP)tI20(_O zg8fa+i~7sI;O^+eVNoxjA}j%%AQ53e8dxO9-Qy%8YQtd9^9H}-h;*VZ1DHQ9kr6s1 zVC3)2TZP2)qTg&f>aTryB`)d(ltX4dZ=#ShAT2yG^QP(>$4Nxgz^MavgkIZ(4baE# z>Qa^#3lu;nL+2xZ1wev8=KHpd0CZCpwOLjG5ZQJY{Y@r7Wdu-{Ij-i7{-TV?yjo!N z1mq16KPaAhs#=LZzwU5!VRX z%Ym-->!c_}SZ_a3fEn*q4B(E;07#_}z&To`x7R5ncpjd|*OaId28e3}JIH{vSY&X& z-|d9xpFRDC!vS__l@E;qDHOfK7zLfD0MfxS1_0<_00yKv@a7wQ7C6|Sj86-^25jbx zY=d2>wBxs zi_;jK7QDZDYNm0zpDV|k=&e~_&;9h!+Ef1i-d#ialYZ%rKl}RXR2bbkAIfJiotpn< zVovJMq@0|TCY1-p|GGD_ZgQ{5=REcQUcbtL|A%k<*nXW|WMbd{-4oCL;Ac4zRr8IR uHK1e%1FOV@gY|9tdKrx8`sE%NFfe3n@{-Ux@;DplXa-MLKbLh*2~7Y-N_wFH diff --git a/graphics/event_objects/pics/people/brendan/fishing/01.png b/graphics/event_objects/pics/people/brendan/fishing/01.png deleted file mode 100644 index cca89997dd4df0f7dbd3e146c10002bf71a37633..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 299 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfvg8-ip*W#l~{$Jhl|LBx^Q;Mq{ z9WA}8H7%1QG=l^bEbl#gSA4eEYf8}nq^P5gj{pDv2Wrw+I41<87)yfuf*Bm1-ADs+ zR(iTPhG2HCRsKHh z9FGIXm%UMz#m~;H`5+v^iB=Uq}x&zk1OhxMC}=ZWa1i`~wT?AIyy?*9M%UyZ1L|Nr-{X_eP#5NfLb t26Qf~>rvkNI&qQmKmQLj$h}ZtU=aW6_K08F_6E?=44$rjF6*2UngAZ{e_8+l diff --git a/graphics/event_objects/pics/people/brendan/fishing/02.png b/graphics/event_objects/pics/people/brendan/fishing/02.png deleted file mode 100644 index 6adbb9f55bfe8ef6512305830bf08d3146db038c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 303 zcmV+~0nq-5P)5Fk0;=I(RNb4rv_|6*FjK|%lj{{R30FCfkm00001 zbW%=J06^y0W&i*Htw}^dR49>SU>HK+54ynr02m9(;QtEcvpz*p!WtR}696k=je9wB zW+;-9&~@+L&76s3O5dxMGiT16icqp|)vDDy=LaB6@!q|AcgK7rw>S$*baeE?1^E9v zN(lcz5@7i4D53nx{sTh5JH^=8$OK7%|G$f|F_I3Dx&9uv_oIp!|Mo)C!@zQ;`TuSd zfxG|zqiOm7{|mAT2L2!ZE+_(jZ+!TVqJ5Fk0;=I(RNb4rv_|6*FjK|%lj{{R30FCfkm00001 zbW%=J06^y0W&i*Hu1Q2eR49>SU>KSp0FBT36qOqqha$il_j2aUP$YrSb?@HIoQY&g z->a1~XU?385ZJeB)#{z|kyLo^-o3kHK9U*Ef)X7a{YV0i62d>g0z9FiPyyvn_8))@ z{{R2MLM+C{MkXJ?av-4q27ec0W4ICg|G$Rp{_oPU`vcs_|Nr-&aqif%9?6#fcYkzr z???9C|BjB|ACLurX8&hE6F^bG@V8^j2Xqw-SO5U)N=H4DsM>k}0000X1)(7aXnZ4{hj8juJZSBN}3Pnb27<) z;IJrV`e__8fu*kO+#ExB&xWImlGEI~nJ1Z^16s4)-KhEDe^K%K|Nl>9`C!*fMo eN538eBg4_DE=zfyo&FAVC4;A{pUXO@geCw@Y;`mM diff --git a/graphics/event_objects/pics/people/brendan/fishing/05.png b/graphics/event_objects/pics/people/brendan/fishing/05.png deleted file mode 100644 index c9ee2fa4ce28249b69db1b5794896e965d7d1964..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 288 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfvg8-ip*W#l~{$Jhl|LBx^Q;Mq{ z9WA}8H7%1QG=l^bEbl#gSA4eEYf8}nq^P5gj{pDv2Wrw+I41<87)yfuf*Bm1-ADs+ z=6Sj}hGHC~7idw$EyLWzEqwv>F%i?1-wJMDLeKTcse{tCA90S^8UgltQ5Fk0;=I(RNb4rv_|6*FjK|%lj{{R30FCfkm00001 zbW%=J06^y0W&i*HvPnciR49>SV4yeP|9~!V08QY30D{d5BEBL?#)YB^u*SU$4d6!- zh^0+g%1D# diff --git a/graphics/event_objects/pics/people/brendan/fishing/08.png b/graphics/event_objects/pics/people/brendan/fishing/08.png deleted file mode 100644 index 3b1b1728c95885a260a0860deef9d9bb53f7b958..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 297 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfvg8-ip*W#l~{$Jhl|LBx^Q;Mq{ z9WA}8H7%1QG=l^bEbl#gSA4eEYf8}nq^P5gj{pDv2Wrw+I41<87)yfuf*Bm1-ADs+ zmV3H5hGx<1XH@d^UsjE{7O~E{BX4y8}`fuaz68pK}QklK=kh?&*~$wCc`A zZ7s6hw*9Ox7VcD9gdF|QFgdyAi&GOJ;8;u;_upGppzLqUHx3vIVCg!0N%!V*Z=?k diff --git a/graphics/event_objects/pics/people/brendan/fishing/09.png b/graphics/event_objects/pics/people/brendan/fishing/09.png deleted file mode 100644 index f21c37d603db13c3c5ea9f5036353cf16c118e20..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 298 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfvg8-ip*W#l~{$Jhl|LBx^Q;Mq{ z9WA}8H7%1QG=l^bEbl#gSA4eEYf8}nq^P5gj{pDv2Wrw+I41<87)yfuf*Bm1-ADs+ zR(QHNhG+YM1l*ZWi_tv@zC0rC|Y4YdeU=%&*#_6cu!qB`qaB|xw&PkFw$J|aG^Wc*Bv0p;^ zw{rCF!;k*|PpeO1+$Y000+sMObuGZ)S9NVRB^vM@&RePDdbiWpW@hE;Mn4q~QPn00?w&PDe*f zL^A*Y002sWDIWj;00d`2O+f$vv5yPer2o~l|HYKvlyiGQK{-l$ zDLG;oDN+z1Io{^(bIo%~lv4j(Dbn8DjE~cM zZ#JvT^%_v|{k-?S@6FDPG;OwKYqn-33q2K9Nm)%Oe}DA5fZoHZn#xy*-cu$d zK<|~+XbMd2uj!R4F43#K3UR1ZLaM91l_{VS_A10*0kU1HKLOQ!&wB=PB@9EHPzgmC z4=l8Y2ckgV5cMQXfiByT0aHNa;|9`TAN2X3gv0|^g+?+3&=vJKQe?xEzRs z9(qEzC-SW4d-w~mzeN9bAMzEzybZAd9H-#d^-YhQND7QLeSf`!2NDYgI(M)Yyz!2} ze`np_+`|xVeYvXv606Txl zbz#40kTdfO^LZNvFx}>wi*)|c5*g^`e172~Zb*S$bUn9$;}qQdVSYdcQUSBC)eDzR z=;)LG%Y7AJicU*hgMR!PEYV=9FhPaeGGe2EV(#4XR_*sgk30h7Lu&fwN#A;1SzPg&3 zuj=Uot#az8>Qjeq(#Hnu1nTE_BKwKoLujbxcN4rp);-~>-=tuU$GgI8;wSZ9i};Iz z-;@To;KXXBPgde~K0D4a#Q#w8m3n?VR{bVltakgJ_#RKj|N2Qic#;r*jeQ(b1Jp3; zzmMeq+7||YH0*(zMlpnZSH`E}>W0xkWI@IZ5YYH$WUnX7qAFKbc$LO(lyO8tNNebZlKiUHRDJP=0S f&9wag>qqq8_;|!T<)C4i00000NkvXXu0mjfgWwUo literal 0 HcmV?d00001 diff --git a/graphics/event_objects/pics/people/brendan/mach_bike/0.png b/graphics/event_objects/pics/people/brendan/mach_bike/0.png deleted file mode 100644 index d0c556042bb30538344afb6ca6e2962a5d7e2561..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 298 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfvg8-ip*W#l~{$Jhl|LBx^Q;Mq{ z9WA}8H7%1QG=l^bEbl#gSA4eEYf8}nq^P5gj{pDv2Wrw+I41<87)yfuf*Bm1-ADs+ zR(QHNhGo*e$DCkd;6EP9tAp2pCj5a>)rpq2O5+L ucw-+tkq=>P%l{wvlP4#GOX5c&6T`bc=UkmEiAg{=GkCiCxvX9^!V~51@7cNr8os}~d-@5lx^p$(^Pbg+Fe*5R z{a_S&;r=1=P5PNRH-Fw_R7|*Z(Q@%&NyP&X9s#Wp7gsU<@&A4G-~Y^$4lJJ*y4vQ; zM3#M9ckHNmqMZHm{$6QUZu=7fDU5CZ9U9K0KltCbh*{&oKUUud&*DQE+upBmGcee& gSTo^4J0}B!c%_T=-?;|+fzD*`boFyt=akR{094<2jsO4v diff --git a/graphics/event_objects/pics/people/brendan/mach_bike/2.png b/graphics/event_objects/pics/people/brendan/mach_bike/2.png deleted file mode 100644 index c657e8b375349e1caf80f68ff211589529f7a8b7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 338 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfvg8-ip*W#l~{$Jhl|LBx^Q;Mq{ z9WA}8H7%1QG=l^bEbl#gSA4eEYf8}nq^P5gj{pDv2Wrw+I41<87)yfuf*Bm1-ADs+ zE_k{)hG{xtnZ?$EymQzFWvsE)48UhY| z&HDOouJL}QkPUBuQtr>$RT!NQ%FD{0U~209wSwuG@2^w;C(ikJ{pO7uH|{ffKG?T; zB_|MK{VXrHHMO;o;^5 i250X5|L>?%*RhvDDl9QV_jC}*Zw#KUelF{r5}E*6IhjoW diff --git a/graphics/event_objects/pics/people/brendan/mach_bike/3.png b/graphics/event_objects/pics/people/brendan/mach_bike/3.png deleted file mode 100644 index bbe4038179339de3c9639df87f0bdd30f182bd83..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 303 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfvg8-ip*W#l~{$Jhl|LBx^Q;Mq{ z9WA}8H7%1QG=l^bEbl#gSA4eEYf8}nq^P5gj{pDv2Wrw+I41<87)yfuf*Bm1-ADs+ z)_S@)hGahxB7dLmeBnF@&O6|*i{;1 zH;1i_>DAd#eQ(wD-4j{n)UU7pp0%HIQp4g23l?!qV(8x37BqPyv(tmkn_Gi6ciK8V z2yWlJ(X-udlCGAltnBj}|M&lQ ytMCi$?9?lG!@r8*@b>>JYS_$7Sb6>!FfzpEx$vmzRMi3<&fw|l=d#Wzp$Py1gnOX? diff --git a/graphics/event_objects/pics/people/brendan/mach_bike/4.png b/graphics/event_objects/pics/people/brendan/mach_bike/4.png deleted file mode 100644 index 9fe91dd46b66fd87aadfeaa35bcdc5e68dc45303..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 306 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfvg8-ip*W#l~{$Jhl|LBx^Q;Mq{ z9WA}8H7%1QG=l^bEbl#gSA4eEYf8}nq^P5gj{pDv2Wrw+I41<87)yfuf*Bm1-ADs+ zHh8)?hGahxB7dLmeBnF@&O6|*i{;1 zH;1i_>DAd#eQ(wD-4j{n)UU7pp0%HIQp4g23l?!qV(8x37BqPyv(tmkn_Gi6ciK8V z2yWlJ(X-vo=|Oj$yL-FvA+c@t&-efMZ#loA;MjfX`=6@cEAMPR3Us2r$25kkcmDtW z&)juj>wb+Iwtva>0jv^r|JA%UkQXo=-rxGkCiCxvX Cj)J%V diff --git a/graphics/event_objects/pics/people/brendan/mach_bike/5.png b/graphics/event_objects/pics/people/brendan/mach_bike/5.png deleted file mode 100644 index cb9788e695787b45c764079b5b826544d8aec9f9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 279 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfvg8-ip*W#l~{$Jhl|LBx^Q;Mq{ z9WA}8H7%1QG=l^bEbl#gSA4eEYf8}nq^P5gj{pDv2Wrw+I41<87)yfuf*Bm1-ADs+ zrh2+KhGHGfw?q*CG>z|8To6i diff --git a/graphics/event_objects/pics/people/brendan/mach_bike/6.png b/graphics/event_objects/pics/people/brendan/mach_bike/6.png deleted file mode 100644 index 345a2277ec7524dc0d903f0da26f01f39fe7070d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 280 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfvg8-ip*W#l~{$Jhl|LBx^Q;Mq{ z9WA}8H7%1QG=l^bEbl#gSA4eEYf8}nq^P5gj{pDv2Wrw+I41<87)yfuf*Bm1-ADs+ zrg^$JhGb93>to}X$SOmecu)=?8!B4Ymi|Ns6`L(19z_uqf}@4hYUaQ4+nYAMl1 zF)=Z>Ca_4<{khk>sFg9}*?;~D)*t)-|L@j%@Q?K<2iw2bE4U;i>K17wBqX>8A2`4- b%)n4l;{M}gMb|8#3mH6J{an^LB{Ts5^m1{j diff --git a/graphics/event_objects/pics/people/brendan/mach_bike/7.png b/graphics/event_objects/pics/people/brendan/mach_bike/7.png deleted file mode 100644 index 0677027b0440108eb0cafe7c571242474a7fcfb9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 339 zcmV-Z0j&OsP)5Fk0;=I(RNb4rv_|6*FjK|%lj{{R30FCfkm00001 zbW%=J06^y0W&i*H(Md!>R49>SU>NKm0FBT36qOqqha$il_j2aUP$Yq^``*2qITOj0 zzF8}0&YU?FA+T=M?%gxzBdPG-y?b}Zd?YiR1?4+B`jG@2C4_#U2sm3PeX{?6B=E)9 z*x2L?lEB|D#wPu%kd*NM_~OyOWIaOQ&k-g2|G)PmX}ND~|NlQiOWJ=hNK1qA+5Uey z@BjZl5G6na@;!Zk^4))2T)sgBK7Tmy`Tvc6mwWv7P=WaQ!9V~1H+A_672r1%v}X-q l_$(+4vj<`$|Ns9W4ge=KUy!(zrsDtr002ovPDHLkV1hUXn1=uW diff --git a/graphics/event_objects/pics/people/brendan/mach_bike/8.png b/graphics/event_objects/pics/people/brendan/mach_bike/8.png deleted file mode 100644 index a24484281b24d5cd002c310eabffc26d5cd2b444..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 345 zcmV-f0jB5Fk0;=I(RNb4rv_|6*FjK|%lj{{R30FCfkm00001 zbW%=J06^y0W&i*H*GWV{R49>SU>Niu0FBT36qOqqha$il_j2aUP$Yq^``*2qITOj0 zzF8}0&YU?FA+T=M?%gxzBdPG-y?b}Zd?YiR1?4+B`jG@2C4_z;3-CKzD1Ea3fDrh5 z#n{-`Ee*f_{wGBpb#(myAEZfN;hYeVVk`;r3ubV5b|VeQ zS>oy97$Pw>Ibne=N5iEx{)!0mwLbbA_k#O_mjHM{juCyurBSZ}-NH z_8z~N_x=BG{iV@}z5dI+7tf_{wGBpb#(myAEZfN;hYeVVk`;r3ubV5b|VeQ zS?uZJ7$Pw>IbnffLaX5;rUgue{>}%_oS13++?KWbO!fD7u?!I@_fD4wH}=doZcMP7 z@R9k*i}Zwqjq?qQ)1IfZvx!aaJ0~f7j*o}u+_(S#>&+NfB^rhW8L@F0eE45lxbr{b zi63`9{;zMh4S06qf9?AJzZpvJ{@s){_5WQqwzmKAF)@GY8$|x!-}~F%!*D;)q45WJ o#Q*E-DX<;>&;RHD#61iQ3;()!Y@d@@40JAor>mdKI;Vst0O0n2KL7v# diff --git a/graphics/event_objects/pics/people/brendan/normal/02.png b/graphics/event_objects/pics/people/brendan/normal/02.png deleted file mode 100644 index 0f3c3775e8077365af323e42de207d2802c14f84..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 274 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dWLfRjp~6B%v83pkR6L*}LMi#a>f_{wGBpb#(myAEZfN;hYeVVk`;r3ubV5b|VeQ znc(T-7$Pw>Ibne=N5iEx{)!C`GB@h>c9CN*t$1voXFX6@Ig|}9sX@i zM~|kOM;zJy|M;}83T?;df4=+Mu}8lC{eL#^k3e_LXFSEgZSd#qjZchfO>gQL9?iC_ Usy3U;4s;uXr>mdKI;Vst0EPQ>bN~PV diff --git a/graphics/event_objects/pics/people/brendan/normal/03.png b/graphics/event_objects/pics/people/brendan/normal/03.png deleted file mode 100644 index b415377c747684b5698d9c4ce68f4ef7eb2386e6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 287 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dWLfRjp~6B%v83pkR6L*}LMi#a>f_{wGBpb#(myAEZfN;hYeVVk`;r3ubV5b|VeQ znd|A|7$Pw>Ibne?N5iEx{)!0mwLbbA_k#O_mjHM{juCydl5jZ}-NH z|MM4IQSbi$|98E)fx(ymFZN#i$gJ`8d5t@}2j}7YzvcA)JM#Pky6}HO!-l%w&N3(7 hm&(7o^4}qxf#F}h#kb_8f*_AGc)I$ztaD0e0swSWf#U!G diff --git a/graphics/event_objects/pics/people/brendan/normal/04.png b/graphics/event_objects/pics/people/brendan/normal/04.png deleted file mode 100644 index fb92c09cd16b86b003a19a1d8071c2ee7df3ac47..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 285 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dWLfRjp~6B%v83pkR6L*}LMi#a>f_{wGBpb#(myAEZfN;hYeVVk`;r3ubV5b|VeQ zneFM~7$Pw>Ibne?N5iEx{)!0mwLbbA_k#O_mkUx;IYTWEjwp`d>Ub zxqd-e-(UNG|MRc0dwnhca__}|#!aui-H*@ztZ=M;`n~<%9ee%(U0BcH{kHuAPyKX< f47Pv&6@(aCxNI!e_?t)qoyp+o>gTe~DWM4ff_{wGBpb#(myAEZfN;hYeVVk`;r3ubV5b|VeQ znda%@7$Pw>Ibi{NLaX5;rUgue{>}%_oS13++?KWbO!fD7u?!I@_fD4wH}=doZcMP7 z@R9k*i}Zwqjq?qQ)1IfZvx!aaJ0~f7j*o}u+_(S#>&+Nf{Y+Z3B!x#L;m6&FkCGUT zCj3AC|NmKeho1kxH2y85}Sb4q9e0FtzLng9R* diff --git a/graphics/event_objects/pics/people/brendan/normal/06.png b/graphics/event_objects/pics/people/brendan/normal/06.png deleted file mode 100644 index 66a4293b2a12173bd8abc633e249e91201166478..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 280 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dWLfRjp~6B%v83pkR6L*}LMi#a>f_{wGBpb#(myAEZfN;hYeVVk`;r3ubV5b|VeQ znda%@7$Pw>Ibi{NLaX5;rUgue{>}%_oS13++?KWbO!fD7u?!I@_fD4wH}=doZcMP7 z@R9k*i}Zwqjq?qQ)1IfZvx!aaJ0~f7j*o}u+_(S#>&+NfB^rhW8GU1yyz=DHr9yd+ z&(VMW-~Z2ef_{wGBpb#(myAEZfN;hYeVVk`;r3ubV5b|VeQ zndRx?7$Pw>Ibne?N5iEx{)!C^zQC*<8-FbuY02`i=UlY$;0zI zY;DxuV!MDN)!*OUmHph9HHY=7wbidi9(T@%@&Rq1)PM6kuyt?TIFYmC;De-`JN(<4 zmM%>;k2vzU{`j=74zuq6Khyv2ufwtF|I7dXXY;K62z1*2+6hxm|Np<=k*DoH&!2QV fhr7S#H!?D`iP*fmDYSed(3K3Hu6{1-oD!M3 diff --git a/graphics/event_objects/pics/people/brendan/normal/08.png b/graphics/event_objects/pics/people/brendan/normal/08.png deleted file mode 100644 index 12e9f07b31b4a5242f270431ee6d0719c05bc43f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 280 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dWLfRjp~6B%v83pkR6L*}LMi#a>f_{wGBpb#(myAEZfN;hYeVVk`;r3ubV5b|VeQ znda%@7$Pw>Ibne?N5iEx{)!C^zQC*<8-FbuY02`i=UlY$;0zI zY;DxuV!MDN)!*OUmHph9HHTHz%Ia4mk2~i>`GB@h>c9CN*t$1voXFX6@Ig|}9sX@i zN4KY%yF5AeU-z{m&;5VK`@b`1*7g6}z27mYzV6Ha|L^&e-T>Xl-Er{!r^ZJ4HLvY& a2r!tdTivf_{wGBpb#(myAEZfN;hYeVVk`;r3ubV5b|VeQ znc(T-7$Pw>Ibne?N5iEx{)!*|`n z3dhcczfNP8)Dhc#Z*TP7HwO+RDXq{@c>!cR$hop)VGh%!)H_QOd9EC-Uv~7yjmKx$ z+5YYR|Nq|q`tQsEukziG*G_2sv)8;TzlOo^&;B3vjK=SN)iY``YW+I!Uw-yxMqfkw Vf_{wGBpb#(myAEZfN;hYeVVk`;r3ubV5b|VeQ znds@_7$Pw>Ibi{NLaX5;r-e*~@12+(dQOzTzh}$ZeWv>RJ5`St&(D;F~V}lJ5XJ%M#{=Au)x!cqIc@JMYJ6oInzyJU1KeDg-`9Jyo>wo`wc>bhEhpqjz z<8x!3qtf_{wGBpb#(myAEZfN;hYeVVk`;r3ubV5b|VeQ z>GE`O43U_coUnkOqv6sTf5ngtnHdMAz85_^6QH16a(8#RaXM4z*S%4e#m~;Hlut9dU|_({x$oQ7@EDi&nuL) zf_{wGBpb#(myAEZfN;hYeVVk`;r3ubV5b|VeQ z>G5=N43U_coUp*0qv6sTf5niDJHZ=zpKXBkf_0v_M zo4>thH!9l~WiEXpVdIUj@9w@zV`mc+c63#AOlN0fOJA(Un<~6OPwcT8Z}I{L=Ktc! z$@L5J*!uqOHMer$`Dg#!`dzc`-{SxO`3;)?|Ih8f_{wGBpb#(myAEZfN;hYeVVk`;r3ubV5b|VeQ z>GpJS43U_coUp*0qv6sTf5niDJHZ9=T*@DSN6w}Unud#|Nq}@ZhYHc{lA%2V&787j0IaY*0C~3TAQn`6^g$L PbQXiBtDnm{r-UW|Tqf_{wGBpb#(myAEZfN;hYeVVk`;r3ubV5b|VeQ z>G5=N43U_coUlMUq1Et_(?X`g_fE_XJtxZF-?L@yK2!buovO!+=V!{_r=4RrZeTd_ zgE8rgvB8FjGcznVf8NZ@-0kW9yoWEHovrRZ(3aglj14}#e_yx#@qhLOkMiSIPy5m& z@kdWjul`)K#NFNB|FarO>?f_{wGBpb#(myAEZfN;hYeVVk`;r3ubV5b|VeQ z>G5=N43U_coUlMUq1Et_(?X`g_fE_XJtxZF-?L@yK2!buovO!+=V!{_r=4RrZeTd_ zgE8rgvB8FjGcznVf8NZ@-0kW9yoWEHovlq@4`|K)PmPU@|Lec+mfi2zBOSMT+7sr| zzn1SGJ^I9WWXJ#N?|cHy|J~i)?QT@nEzs+5{_*}^yV0dj3-kW)hj24&XRuox%(;jW P=q?6NS3j3^P6f_{wGBpb#(myAEZfN;hYeVVk`;r3ubV5b|VeQ znd#}`7$Pw>Ibne@N5iEx{)!C^zQC*<8-FbuY02`i=UlY$;0!y zZ0)VR#dZNlq)&9r;17AMqjBrvMg9~EFOL5&UX(K!PO-oF|K6bk2af_{wGBpb#(myAEZfN;hYeVVk`;r3ubV5b|VeQ zneOT07$Pw>Ibne@N5iEx{)!C^zQC*<8-FbuY02`i=UlY$;0!y zZ0)VR#dZNlq)&9r;17AMqjBrvMg9~EFOL5WMpNu>)-xDI^z`=n{9~59r+4hw{4b48 z_kQoc<9n}oUSs3`!}q0S>l=C4{{5Hz{=Yfo|Ids6|L?c&*a&o=z5?6+)9eeJCUpO6 czRS+AOWpR=_TVRfflg%bboFyt=akR{02RJ^Pyhe` diff --git a/graphics/event_objects/pics/people/brendan/running.png b/graphics/event_objects/pics/people/brendan/running.png new file mode 100644 index 0000000000000000000000000000000000000000..cf5a6b61e62505f161c32f0f710a93cae8081fc8 GIT binary patch literal 909 zcmV;819JR{P)er2o~l|HYKvlyiGQK{-l$ zDLG;oDN+z1Io{^(bIo%~lv4jBjU5XWz@q1z)Zg{&n@wnF3~TNSJ!Bouiuw2M2G zWX)G7X@(bqtEmvRP%mBLLb`ZJ;x_sM30^t~THz@}QV=2)K}8nVyC+MwE8eM?j!-+#a-ORKcm5yYBBwvs9x~3)hwjbjs?&xaIDp4>w=cmmfviQ(~@HmGy}}E zb!ppg0iOH5f5Co~Hm3kHpb{_#SINNU!VkWG*?{IDrJQGg5~vKEfRT+5;I~cMfj3tN zw%VuwFJ?fQZj6B&IXFJ(cHcQ{MA3oMlWzaG)5rjUD1pkr91QXC)!}Ad$=!Wf z*H`8rL~Jwx6hUQR4u<;D_ToYfAT$v}6ISLIuAcO0Sgb4A$oyucMM~-O_d(X-e-CcYML2L^k%L5ksk|}7F*nj7CSnu6ZrZu z9|;pFhuoUg??-GMokcOdrF+(d^C_l9%3R#1J3vQPQpgRxPL@O=O`tOKm>^^6J=zEX2^y7*3{H! zm~1c_V#I2pssjR9To)0LJ3)z#ni(~u_IYOL@eRWajj<66>G$+RU(+1(`wGNhq=Hdo zA)2ay{-er2o~l|HYKvlyiGQK{-l$ zDLG;oDN+z1Io{^(bIo%~lv4j( z^KeBw@ z`+dK^?|VrUWnJr9*Z*6!e|FeiZr9zduB;GLmujbyoh|R$Hmwd=E~rMT+1*pbwJx>s zwoN_nrJQ)VU?EcXj5!E=NGU}DZ#<&(4DYWJEJUiYeGdnE%^U?^qrS%qH!K${L;~Iq zV*i`R_)Uq|&;9+t`-%dt5EPM0o*nr9t53L}mFQQ4Aowth(SQ|#g-El5^S8J^5_934N%m9859C7)+VFLDAwYF z!3}~8w9+w#5D0q9>QOeDxJTuks9)gl0$zwaij{oQ9KRDM1VR9xIDP!ACs?z`2Z%6j^tuLF1R|z0oW!i z|gTuO#eOUzv&ZlcD}xSvG8dg^Q6oFtGE35-6s{E@Zo=H;m-ez zo)3bL|Nk%h%frg=&;9Se>iH+>mhWE^^|XFFfu{cw~!s3ed$2p00i_>zopr0IXVnN&o-= diff --git a/graphics/event_objects/pics/people/brendan/surfing/3.png b/graphics/event_objects/pics/people/brendan/surfing/3.png deleted file mode 100644 index 0c2517901828a8976e1ab60b81242cb525c7e45f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 302 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfvg8-ip*W#l~{$Jhl|LBx^Q;Mq{ z9WA}8H7%1QG=l^bEbl#gSA4eEYf8}nq^P5gj{pDv2Wrw+I41<87)yfuf*Bm1-ADs+ z)_A%&hG>Gh&No@|w7QGC3n#a2Z0GdpJpc2L z{;^~K?*Ef%%|HY60>)rp~*A8I($N$H?D*sE}gZ~WXQ-OlV>siEKY|yQLU#-0R wOZ2|()7xuO8n^uae|ZAykH$PFLuPrPuUC6{U$E{6vKSaVUHx3vIVCg!0Cxp}tpET3 diff --git a/graphics/event_objects/pics/people/brendan/surfing/4.png b/graphics/event_objects/pics/people/brendan/surfing/4.png deleted file mode 100644 index abe894a4563bfd950abbf3642318be156003e4af..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 299 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfvg8-ip*W#l~{$Jhl|LBx^Q;Mq{ z9WA}8H7%1QG=l^bEbl#gSA4eEYf8}nq^P5gj{pDv2Wrw+I41<87)yfuf*Bm1-ADs+ zR(iTPhGLtu z#C|Xey>R~!sgrhQ&dr}U85I*QU9?<$SW@x8|D!;A^#92};F|NM{!R7W|B5Fk0;=I(RNb4rv_|6*FjK|%lj{{R30FCfkm00001 zbW%=J06^y0W&i*HrAb6VR49>SU>NLx6fJNHB2=*K-o1NA=LaMKL%|;%9moQLjrynp#!dRl|B>C{Y;0`o z?|>x0;%w~SWRI-G#edZ&pAX1N?(hD87fIm5|GWP?kWA(G|L@V!kEDRV|6Bk6|HwxC t{qg@liaUS`kmZ4TwxGxZ0XiQE006A>L#X1{Q-A;f002ovPDHLkV1mZ7g|h$v diff --git a/graphics/event_objects/pics/people/brendan/underwater.png b/graphics/event_objects/pics/people/brendan/underwater.png new file mode 100644 index 0000000000000000000000000000000000000000..86e436e55ddcc9fcdfd0016ed9ef4ae2c2732812 GIT binary patch literal 650 zcmV;50(Jd~P)er2pQ{-lUYxgL8XYQeu0Y zN?L<4L24K&QiG($|HWFpoLc{4TE#&@|Ns90005}t5T*bC00Cl4M@0Xn2lB-L0004W zQchC_IO!L&D50iX z$&F1)d7(pr4kf(sbuK9x>bigXEi+dU9IHI8d#Zwjy25}$m8Tk*1)vKI5ov-+wcmj# z9Gd{?K&t&nwO<5iXcVgnHbj$Z;6q(d_`QG7U=Ew9SH5#@Q%^AEPqUeC199RAio04aCUAV1sGH4^~D<; zQcx4{ut{NxUI2TdvjV`{K8+%93I}VU0nyq)0F3>1dzPQkcmVXe`goxnU;%OpKnm*) z?6M@B08`j~=5skN3&in#m+My`;^15y7D)qd0n6*woO8Q91c37{_b7lb*TxGV`3_5ZYe0Z+Qi#DZxxzyJUM07*qoM6N<$f|z#<$^ZZW literal 0 HcmV?d00001 diff --git a/graphics/event_objects/pics/people/brendan/underwater/0.png b/graphics/event_objects/pics/people/brendan/underwater/0.png deleted file mode 100644 index 79951c29c96ff500182a97e6ebf52cd7ea41fffa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 265 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfvg8-ip*W#l~{@*)$Z^@Li&BfJG zK}pqfyrP;79kV1fgPNBd{eLuS@0_UrNl`}~9smFT57e~cvA{AQ#aI&L7tG-B>_!@p z)9&fw7@{$8Z~t!I!v;JqTN#%d3xsBE_FyVo6|&(`R~|>eRo6D&+B??Q?;chz;CZ-rKcWN;zHq+%VOvt%<-C>G6&`AuQ Lu6{1-oD!M_!@p z)92~p7@{$8>v==I!wNjC0eJ^rPMD<`eNC=$S(6@+B!w7Rw?z2IJf`( z6D+~_lqZCpQKm&i$~oH`zxM$>}aXD^K$p{L;i_!@p zGsV-zF+^kH)(ac?m=t-~67DrD-~D7x-leM_-PDz(i`C;UvR?Ar|7Fn>t64wt|2jS7 zSNvmKvCFWjYj!J#amcHg Z8SR2AnVRoC{tk2>gQu&X%Q~loCID(Ia?Jn$ diff --git a/graphics/event_objects/pics/people/brendan/underwater/3.png b/graphics/event_objects/pics/people/brendan/underwater/3.png deleted file mode 100644 index 7756a96db9b25281da24b25d19269cbaf2adfa1c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 278 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfvg8-ip*W#l~{@*)$Z^@Li&BfJG zK}pqfyrP;79kV1fgPNBd{eLuS@0_UrNl`}~9smFT57e~cvA{AQ#aI&L7tG-B>_!@p zGsV-zF+^kH)(H#w4jb^ed}jZ-%P%=~apPV75F=wLgH!r#CEgd-MlLyW?!tk-yOYn` z-Q4;AWHOWM1fB+uD@RVRysF}|E=NtyWeMX&@r2EXQ}qmI#Z`A^9kPGCPiK{m9+Sdy zL5oAR+7sCiWFOvG#=z2GQT*zGSe7B{1nmP1XUhxpT)zf{&vM(S_I1|yPaP9yA diff --git a/graphics/event_objects/pics/people/brendan/walking.png b/graphics/event_objects/pics/people/brendan/walking.png new file mode 100644 index 0000000000000000000000000000000000000000..31b64a1af6abedf286b12fa40315b5973fab7de6 GIT binary patch literal 912 zcmV;B18@9^P)er2o~l|HYKvlyiGQK{-l$ zDLG;oDN+z1Io{^(bIo%~lv4jA9?`4=(xWJaMJA_9Pc$tfhjVD1>xtHFg$nxkZ_O( z@GJ-dwKox%B2!qW}Ri8N4lG@%;s}8Kx z?j;md3JlSd@PQTzp8E5aoi@v3j{ERZ=eV zAG|508cu|z_-oSXd-omd6iomL`5Q^AW_UgE(tlHfr^D7`>2U=zvCuMDVdOD z!<06T&Xsbx^;oIVIbW4TrvPhA9e9?okZy36G6hP>27y7KO#%@K*{~s*fU=X(JF!^Q z2k0>Q<>LTZC>q`%)#qHqam!QMuFBSr$JDfB*mc*NjR literal 0 HcmV?d00001 diff --git a/graphics/event_objects/pics/people/brendan/watering.png b/graphics/event_objects/pics/people/brendan/watering.png new file mode 100644 index 0000000000000000000000000000000000000000..ace9c2bcdaa9d00a6247dc98fa26907bb56606c3 GIT binary patch literal 752 zcmVer2o~l|HYKvlyiGQK{-l$ zDLG;oDN+z1Io{^(bIo%~lv4jljA6bJA(*b)*_tT3~XEM37Fx&_G|Iw0AL2N=?? z0-?iY%7oMdiHQXx!NO3mM1_>mm6r}38pTV7wAIO?7pYS1JZv|O&uP*Sdqa7X|98K4 zx#uJRo7&W-{--kU-9=3ln_T_Dsai7u-W(`lPgpi=Pmm1Y4kE+`9 zER)VY5pwlSQ*2n*gQPucZ`B(aP@9OCs?gAG*0Hz;&}!|iS|iK4TC1u0>;(jxs@9DX z9+U(KBPo%t52ERU(jRb5-Nq6g6mFn#EM$U6dfrV4^%o)EAx^Nue_HP0PdDo0NtPr0 zb&e;u4esM8BDnW$g+EyC;nM5r-s@SEdfc{+@TNgQ*TtQ#dwp2k10Vc$y(~(7uIoma z&RB_#xCd9={KKXCtN5VkKkC@+1ePzy1 iv+pnP126i`yj2YDOv9z z_T$n2`~SHn9a#QvfBFCW4njX_{&k%G$)?h%|DAuHW&fMVfB)0Z{dX7q@c;AoH_R!G p+TZW*aojfT;s5sk8c`D%7((AWZdJY%^cUz{22WQ%mvv4FO#s^Gdnf<^ diff --git a/graphics/event_objects/pics/people/brendan/watering/1.png b/graphics/event_objects/pics/people/brendan/watering/1.png deleted file mode 100644 index 7b5ddc9963db5fa670fcb2e45661a815e49f8775..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 294 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfvg8-ip*W#l~{$Jhl|LBx^Q;Mq{ z9WA}8H7%1QG=l^bEbl#gSA4eEYf8}nq^P5gj{pDv2Wrw+I41<87)yfuf*Bm1-ADs+ zmUy~2hG9^!V@!%pWC_y8h*aJyPR=_R@}bXT`C`v)dapM zbN-ocSe*8}o@M^gC5wyQ+BY*h9k}uD|NryHI2hT)lT}rd#Z`=d{NJ_X&i~(xo(mrT z|KF$lT#%{$|NH8{|Jj@xo}QQzngm!--3DkfBs8uU}l)k;^uNR{#+E$y$qhNelF{r5}E*|rh*~> diff --git a/graphics/event_objects/pics/people/brendan/watering/2.png b/graphics/event_objects/pics/people/brendan/watering/2.png deleted file mode 100644 index 3441131fa39d95ed22da0e998117ea643b950425..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 311 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfvg8-ip*W#l~{$Jhl|LBx^Q;Mq{ z9WA}8H7%1QG=l^bEbl#gSA4eEYf8}nq^P5gj{pDv2Wrw+I41<87)yfuf*Bm1-ADs+ zwtBiahGS5RFyPV`!C@`o-s}@a68AnZXlXA{O7DvZtt`}+7&7!SHtn>4CbKmE_~??3;!W5-VYE3o^2_jml9 zUR?pLe>;Bs`T6MLM(Mm`^No$_|CjyAkL17n@&B2b|K z-$3{OyFdRKLcYo8Y5cd}u26i`yj2YDOv9z z_T$n2`~SHn9a#QvfBFCW4njX_{&k%G$)?h%|C@iFW&fMVfB)0Z{dX7q@c;97oi5$* tcmH=b>m2y-|M36+H9Q&*4l;A_GQkgQu&X%Q~loCIG|jdwT!? diff --git a/graphics/event_objects/pics/people/brendan/watering/4.png b/graphics/event_objects/pics/people/brendan/watering/4.png deleted file mode 100644 index 40dbbacabb166b91839ef58ca200d68cd17df1df..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 295 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfvg8-ip*W#l~{$Jhl|LBx^Q;Mq{ z9WA}8H7%1QG=l^bEbl#gSA4eEYf8}nq^P5gj{pDv2Wrw+I41<87)yfuf*Bm1-ADs+ zmU_B4hG9^!V@!%pWC_y8h*aJyPR=_R@}bXT`C`v)dapM zbN-ocSe*8}o@M^gC5wyQ+BY*h9k}uD|NryHI2hT)lT}rd#Z`=d{NJ_X&i~(xo(mrT z|KF$jT#%{$|NH8{_3Ta!Pftt_UH#|30_UB-j~+ex&wjG!|Nrv$|N5U8u+;(GxxdCi rtl;DSN1qz`ZyL-0_^S5RFyPV`!C@`o-s}@a68AnZXlXA{O7DvZtt`}+7&7!SHtn>4CbKmE_~??3;!W5-VYE3o^2_jml9 zUR?pLe>;Bs`T6MLM(Mm`^No$_|CjyAkL17n@&B2b|KgTe~ HDWM4fMzM-R diff --git a/src/data/field_event_obj/event_object_graphics.h b/src/data/field_event_obj/event_object_graphics.h index b226b066af..407bc20e03 100755 --- a/src/data/field_event_obj/event_object_graphics.h +++ b/src/data/field_event_obj/event_object_graphics.h @@ -1,24 +1,8 @@ #ifndef GUARD_EVENT_OBJECT_GFX_H #define GUARD_EVENT_OBJECT_GFX_H -const u32 gEventObjectPic_BrendanNormal_0[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/normal/00.4bpp"); -const u32 gEventObjectPic_BrendanNormal_1[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/normal/01.4bpp"); -const u32 gEventObjectPic_BrendanNormal_2[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/normal/02.4bpp"); -const u32 gEventObjectPic_BrendanNormal_3[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/normal/03.4bpp"); -const u32 gEventObjectPic_BrendanNormal_4[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/normal/04.4bpp"); -const u32 gEventObjectPic_BrendanNormal_5[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/normal/05.4bpp"); -const u32 gEventObjectPic_BrendanNormal_6[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/normal/06.4bpp"); -const u32 gEventObjectPic_BrendanNormal_7[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/normal/07.4bpp"); -const u32 gEventObjectPic_BrendanNormal_8[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/normal/08.4bpp"); -const u32 gEventObjectPic_BrendanNormal_9[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/normal/09.4bpp"); -const u32 gEventObjectPic_BrendanNormal_10[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/normal/10.4bpp"); -const u32 gEventObjectPic_BrendanNormal_11[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/normal/11.4bpp"); -const u32 gEventObjectPic_BrendanNormal_12[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/normal/12.4bpp"); -const u32 gEventObjectPic_BrendanNormal_13[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/normal/13.4bpp"); -const u32 gEventObjectPic_BrendanNormal_14[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/normal/14.4bpp"); -const u32 gEventObjectPic_BrendanNormal_15[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/normal/15.4bpp"); -const u32 gEventObjectPic_BrendanNormal_16[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/normal/16.4bpp"); -const u32 gEventObjectPic_BrendanNormal_17[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/normal/17.4bpp"); +const u32 gEventObjectPic_BrendanNormal[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/walking.4bpp"); +const u32 gEventObjectPic_BrendanRunning[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/running.4bpp"); const u16 gEventObjectPalette8[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_08.gbapal"); const u32 gEventObjectPic_RubySapphireBrendan_0[] = INCBIN_U32("graphics/event_objects/pics/people/ruby_sapphire_brendan/00.4bpp"); const u32 gEventObjectPic_RubySapphireBrendan_1[] = INCBIN_U32("graphics/event_objects/pics/people/ruby_sapphire_brendan/01.4bpp"); @@ -56,71 +40,12 @@ const u16 NullPalette_8499BD8[16] = {}; const u16 NullPalette_8499BF8[16] = {}; const u16 gEventObjectPalette9[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_09.gbapal"); const u16 gEventObjectPalette10[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_10.gbapal"); -const u32 gEventObjectPic_BrendanFieldMove_0[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/field_move/0.4bpp"); -const u32 gEventObjectPic_BrendanFieldMove_1[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/field_move/1.4bpp"); -const u32 gEventObjectPic_BrendanFieldMove_2[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/field_move/2.4bpp"); -const u32 gEventObjectPic_BrendanFieldMove_3[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/field_move/3.4bpp"); -const u32 gEventObjectPic_BrendanFieldMove_4[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/field_move/4.4bpp"); -const u32 gEventObjectPic_BrendanSurfing_0[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/surfing/0.4bpp"); -const u32 gEventObjectPic_BrendanSurfing_3[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/surfing/3.4bpp"); -const u32 gEventObjectPic_BrendanSurfing_1[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/surfing/1.4bpp"); -const u32 gEventObjectPic_BrendanSurfing_4[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/surfing/4.4bpp"); -const u32 gEventObjectPic_BrendanSurfing_2[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/surfing/2.4bpp"); -const u32 gEventObjectPic_BrendanSurfing_5[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/surfing/5.4bpp"); -const u32 gEventObjectPic_BrendanMachBike_0[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/mach_bike/0.4bpp"); -const u32 gEventObjectPic_BrendanMachBike_1[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/mach_bike/1.4bpp"); -const u32 gEventObjectPic_BrendanMachBike_2[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/mach_bike/2.4bpp"); -const u32 gEventObjectPic_BrendanMachBike_3[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/mach_bike/3.4bpp"); -const u32 gEventObjectPic_BrendanMachBike_4[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/mach_bike/4.4bpp"); -const u32 gEventObjectPic_BrendanMachBike_5[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/mach_bike/5.4bpp"); -const u32 gEventObjectPic_BrendanMachBike_6[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/mach_bike/6.4bpp"); -const u32 gEventObjectPic_BrendanMachBike_7[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/mach_bike/7.4bpp"); -const u32 gEventObjectPic_BrendanMachBike_8[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/mach_bike/8.4bpp"); -const u32 gEventObjectPic_BrendanAcroBike_0[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/acro_bike/00.4bpp"); -const u32 gEventObjectPic_BrendanAcroBike_1[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/acro_bike/01.4bpp"); -const u32 gEventObjectPic_BrendanAcroBike_2[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/acro_bike/02.4bpp"); -const u32 gEventObjectPic_BrendanAcroBike_3[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/acro_bike/03.4bpp"); -const u32 gEventObjectPic_BrendanAcroBike_4[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/acro_bike/04.4bpp"); -const u32 gEventObjectPic_BrendanAcroBike_5[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/acro_bike/05.4bpp"); -const u32 gEventObjectPic_BrendanAcroBike_6[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/acro_bike/06.4bpp"); -const u32 gEventObjectPic_BrendanAcroBike_7[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/acro_bike/07.4bpp"); -const u32 gEventObjectPic_BrendanAcroBike_8[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/acro_bike/08.4bpp"); -const u32 gEventObjectPic_BrendanAcroBike_9[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/acro_bike/09.4bpp"); -const u32 gEventObjectPic_BrendanAcroBike_10[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/acro_bike/10.4bpp"); -const u32 gEventObjectPic_BrendanAcroBike_11[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/acro_bike/11.4bpp"); -const u32 gEventObjectPic_BrendanAcroBike_12[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/acro_bike/12.4bpp"); -const u32 gEventObjectPic_BrendanAcroBike_13[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/acro_bike/13.4bpp"); -const u32 gEventObjectPic_BrendanAcroBike_14[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/acro_bike/14.4bpp"); -const u32 gEventObjectPic_BrendanAcroBike_15[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/acro_bike/15.4bpp"); -const u32 gEventObjectPic_BrendanAcroBike_16[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/acro_bike/16.4bpp"); -const u32 gEventObjectPic_BrendanAcroBike_17[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/acro_bike/17.4bpp"); -const u32 gEventObjectPic_BrendanAcroBike_18[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/acro_bike/18.4bpp"); -const u32 gEventObjectPic_BrendanAcroBike_19[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/acro_bike/19.4bpp"); -const u32 gEventObjectPic_BrendanAcroBike_20[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/acro_bike/20.4bpp"); -const u32 gEventObjectPic_BrendanAcroBike_21[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/acro_bike/21.4bpp"); -const u32 gEventObjectPic_BrendanAcroBike_22[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/acro_bike/22.4bpp"); -const u32 gEventObjectPic_BrendanAcroBike_23[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/acro_bike/23.4bpp"); -const u32 gEventObjectPic_BrendanAcroBike_24[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/acro_bike/24.4bpp"); -const u32 gEventObjectPic_BrendanAcroBike_25[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/acro_bike/25.4bpp"); -const u32 gEventObjectPic_BrendanAcroBike_26[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/acro_bike/26.4bpp"); -const u32 gEventObjectPic_BrendanFishing_0[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/fishing/00.4bpp"); -const u32 gEventObjectPic_BrendanFishing_1[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/fishing/01.4bpp"); -const u32 gEventObjectPic_BrendanFishing_2[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/fishing/02.4bpp"); -const u32 gEventObjectPic_BrendanFishing_3[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/fishing/03.4bpp"); -const u32 gEventObjectPic_BrendanFishing_4[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/fishing/04.4bpp"); -const u32 gEventObjectPic_BrendanFishing_5[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/fishing/05.4bpp"); -const u32 gEventObjectPic_BrendanFishing_6[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/fishing/06.4bpp"); -const u32 gEventObjectPic_BrendanFishing_7[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/fishing/07.4bpp"); -const u32 gEventObjectPic_BrendanFishing_8[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/fishing/08.4bpp"); -const u32 gEventObjectPic_BrendanFishing_9[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/fishing/09.4bpp"); -const u32 gEventObjectPic_BrendanFishing_10[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/fishing/10.4bpp"); -const u32 gEventObjectPic_BrendanFishing_11[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/fishing/11.4bpp"); -const u32 gEventObjectPic_BrendanWatering_0[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/watering/0.4bpp"); -const u32 gEventObjectPic_BrendanWatering_3[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/watering/3.4bpp"); -const u32 gEventObjectPic_BrendanWatering_1[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/watering/1.4bpp"); -const u32 gEventObjectPic_BrendanWatering_4[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/watering/4.4bpp"); -const u32 gEventObjectPic_BrendanWatering_2[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/watering/2.4bpp"); -const u32 gEventObjectPic_BrendanWatering_5[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/watering/5.4bpp"); +const u32 gEventObjectPic_BrendanFieldMove[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/field_move.4bpp"); +const u32 gEventObjectPic_BrendanSurfing[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/surfing.4bpp"); +const u32 gEventObjectPic_BrendanMachBike[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/mach_bike.4bpp"); +const u32 gEventObjectPic_BrendanAcroBike[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/acro_bike.4bpp"); +const u32 gEventObjectPic_BrendanFishing[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/fishing.4bpp"); +const u32 gEventObjectPic_BrendanWatering[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/watering.4bpp"); const u32 gEventObjectPic_BrendanDecorating[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/decorating.4bpp"); const u32 gEventObjectPic_MayDecorating[] = INCBIN_U32("graphics/event_objects/pics/people/may/decorating.4bpp"); const u32 gEventObjectPic_BrendanUnderwater_0[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/underwater/0.4bpp"); From 52aa9cedcf34c3cadcf163722130d9800f99caa7 Mon Sep 17 00:00:00 2001 From: Slawter666 <38655737+Slawter666@users.noreply.github.com> Date: Sun, 29 Jul 2018 17:29:36 +0100 Subject: [PATCH 056/234] Merge May frames into sprite sheets Plus fix Brendan's surfing and watering frame order. --- .../pics/people/brendan/surfing.png | Bin 873 -> 884 bytes .../pics/people/brendan/watering.png | Bin 752 -> 757 bytes .../pics/people/may/acro_bike.png | Bin 0 -> 2629 bytes .../pics/people/may/acro_bike/00.png | Bin 302 -> 0 bytes .../pics/people/may/acro_bike/01.png | Bin 297 -> 0 bytes .../pics/people/may/acro_bike/02.png | Bin 339 -> 0 bytes .../pics/people/may/acro_bike/03.png | Bin 304 -> 0 bytes .../pics/people/may/acro_bike/04.png | Bin 305 -> 0 bytes .../pics/people/may/acro_bike/05.png | Bin 299 -> 0 bytes .../pics/people/may/acro_bike/06.png | Bin 299 -> 0 bytes .../pics/people/may/acro_bike/07.png | Bin 336 -> 0 bytes .../pics/people/may/acro_bike/08.png | Bin 340 -> 0 bytes .../pics/people/may/acro_bike/09.png | Bin 301 -> 0 bytes .../pics/people/may/acro_bike/10.png | Bin 313 -> 0 bytes .../pics/people/may/acro_bike/11.png | Bin 291 -> 0 bytes .../pics/people/may/acro_bike/12.png | Bin 281 -> 0 bytes .../pics/people/may/acro_bike/13.png | Bin 297 -> 0 bytes .../pics/people/may/acro_bike/14.png | Bin 295 -> 0 bytes .../pics/people/may/acro_bike/15.png | Bin 283 -> 0 bytes .../pics/people/may/acro_bike/16.png | Bin 284 -> 0 bytes .../pics/people/may/acro_bike/17.png | Bin 331 -> 0 bytes .../pics/people/may/acro_bike/18.png | Bin 333 -> 0 bytes .../pics/people/may/acro_bike/19.png | Bin 334 -> 0 bytes .../pics/people/may/acro_bike/20.png | Bin 335 -> 0 bytes .../pics/people/may/acro_bike/21.png | Bin 314 -> 0 bytes .../pics/people/may/acro_bike/22.png | Bin 315 -> 0 bytes .../pics/people/may/acro_bike/23.png | Bin 302 -> 0 bytes .../pics/people/may/acro_bike/24.png | Bin 303 -> 0 bytes .../pics/people/may/acro_bike/25.png | Bin 337 -> 0 bytes .../pics/people/may/acro_bike/26.png | Bin 341 -> 0 bytes .../pics/people/may/field_move.png | Bin 0 -> 818 bytes .../pics/people/may/field_move/0.png | Bin 295 -> 0 bytes .../pics/people/may/field_move/1.png | Bin 295 -> 0 bytes .../pics/people/may/field_move/2.png | Bin 293 -> 0 bytes .../pics/people/may/field_move/3.png | Bin 324 -> 0 bytes .../pics/people/may/field_move/4.png | Bin 327 -> 0 bytes .../event_objects/pics/people/may/fishing.png | Bin 0 -> 1640 bytes .../pics/people/may/fishing/00.png | Bin 298 -> 0 bytes .../pics/people/may/fishing/01.png | Bin 291 -> 0 bytes .../pics/people/may/fishing/02.png | Bin 294 -> 0 bytes .../pics/people/may/fishing/03.png | Bin 291 -> 0 bytes .../pics/people/may/fishing/04.png | Bin 302 -> 0 bytes .../pics/people/may/fishing/05.png | Bin 304 -> 0 bytes .../pics/people/may/fishing/06.png | Bin 310 -> 0 bytes .../pics/people/may/fishing/07.png | Bin 301 -> 0 bytes .../pics/people/may/fishing/08.png | Bin 295 -> 0 bytes .../pics/people/may/fishing/09.png | Bin 302 -> 0 bytes .../pics/people/may/fishing/10.png | Bin 301 -> 0 bytes .../pics/people/may/fishing/11.png | Bin 313 -> 0 bytes .../pics/people/may/mach_bike.png | Bin 0 -> 1222 bytes .../pics/people/may/mach_bike/0.png | Bin 302 -> 0 bytes .../pics/people/may/mach_bike/1.png | Bin 297 -> 0 bytes .../pics/people/may/mach_bike/2.png | Bin 339 -> 0 bytes .../pics/people/may/mach_bike/3.png | Bin 304 -> 0 bytes .../pics/people/may/mach_bike/4.png | Bin 305 -> 0 bytes .../pics/people/may/mach_bike/5.png | Bin 299 -> 0 bytes .../pics/people/may/mach_bike/6.png | Bin 299 -> 0 bytes .../pics/people/may/mach_bike/7.png | Bin 336 -> 0 bytes .../pics/people/may/mach_bike/8.png | Bin 340 -> 0 bytes .../pics/people/may/normal/00.png | Bin 297 -> 0 bytes .../pics/people/may/normal/01.png | Bin 294 -> 0 bytes .../pics/people/may/normal/02.png | Bin 265 -> 0 bytes .../pics/people/may/normal/03.png | Bin 289 -> 0 bytes .../pics/people/may/normal/04.png | Bin 287 -> 0 bytes .../pics/people/may/normal/05.png | Bin 286 -> 0 bytes .../pics/people/may/normal/06.png | Bin 285 -> 0 bytes .../pics/people/may/normal/07.png | Bin 271 -> 0 bytes .../pics/people/may/normal/08.png | Bin 270 -> 0 bytes .../pics/people/may/normal/09.png | Bin 283 -> 0 bytes .../pics/people/may/normal/10.png | Bin 291 -> 0 bytes .../pics/people/may/normal/11.png | Bin 262 -> 0 bytes .../pics/people/may/normal/12.png | Bin 276 -> 0 bytes .../pics/people/may/normal/13.png | Bin 275 -> 0 bytes .../pics/people/may/normal/14.png | Bin 286 -> 0 bytes .../pics/people/may/normal/15.png | Bin 284 -> 0 bytes .../pics/people/may/normal/16.png | Bin 277 -> 0 bytes .../pics/people/may/normal/17.png | Bin 280 -> 0 bytes .../event_objects/pics/people/may/running.png | Bin 0 -> 964 bytes .../event_objects/pics/people/may/surfing.png | Bin 0 -> 874 bytes .../pics/people/may/surfing/0.png | Bin 300 -> 0 bytes .../pics/people/may/surfing/1.png | Bin 291 -> 0 bytes .../pics/people/may/surfing/2.png | Bin 284 -> 0 bytes .../pics/people/may/surfing/3.png | Bin 303 -> 0 bytes .../pics/people/may/surfing/4.png | Bin 296 -> 0 bytes .../pics/people/may/surfing/5.png | Bin 287 -> 0 bytes .../pics/people/may/underwater.png | Bin 0 -> 688 bytes .../pics/people/may/underwater/0.png | Bin 290 -> 0 bytes .../pics/people/may/underwater/1.png | Bin 283 -> 0 bytes .../pics/people/may/underwater/2.png | Bin 286 -> 0 bytes .../pics/people/may/underwater/3.png | Bin 285 -> 0 bytes .../event_objects/pics/people/may/walking.png | Bin 0 -> 887 bytes .../pics/people/may/watering.png | Bin 0 -> 775 bytes .../pics/people/may/watering/0.png | Bin 300 -> 0 bytes .../pics/people/may/watering/1.png | Bin 292 -> 0 bytes .../pics/people/may/watering/2.png | Bin 306 -> 0 bytes .../pics/people/may/watering/3.png | Bin 305 -> 0 bytes .../pics/people/may/watering/4.png | Bin 294 -> 0 bytes .../pics/people/may/watering/5.png | Bin 306 -> 0 bytes .../field_event_obj/event_object_graphics.h | 101 ++---------------- 99 files changed, 10 insertions(+), 91 deletions(-) create mode 100644 graphics/event_objects/pics/people/may/acro_bike.png delete mode 100644 graphics/event_objects/pics/people/may/acro_bike/00.png delete mode 100644 graphics/event_objects/pics/people/may/acro_bike/01.png delete mode 100644 graphics/event_objects/pics/people/may/acro_bike/02.png delete mode 100644 graphics/event_objects/pics/people/may/acro_bike/03.png delete mode 100644 graphics/event_objects/pics/people/may/acro_bike/04.png delete mode 100644 graphics/event_objects/pics/people/may/acro_bike/05.png delete mode 100644 graphics/event_objects/pics/people/may/acro_bike/06.png delete mode 100644 graphics/event_objects/pics/people/may/acro_bike/07.png delete mode 100644 graphics/event_objects/pics/people/may/acro_bike/08.png delete mode 100644 graphics/event_objects/pics/people/may/acro_bike/09.png delete mode 100644 graphics/event_objects/pics/people/may/acro_bike/10.png delete mode 100644 graphics/event_objects/pics/people/may/acro_bike/11.png delete mode 100644 graphics/event_objects/pics/people/may/acro_bike/12.png delete mode 100644 graphics/event_objects/pics/people/may/acro_bike/13.png delete mode 100644 graphics/event_objects/pics/people/may/acro_bike/14.png delete mode 100644 graphics/event_objects/pics/people/may/acro_bike/15.png delete mode 100644 graphics/event_objects/pics/people/may/acro_bike/16.png delete mode 100644 graphics/event_objects/pics/people/may/acro_bike/17.png delete mode 100644 graphics/event_objects/pics/people/may/acro_bike/18.png delete mode 100644 graphics/event_objects/pics/people/may/acro_bike/19.png delete mode 100644 graphics/event_objects/pics/people/may/acro_bike/20.png delete mode 100644 graphics/event_objects/pics/people/may/acro_bike/21.png delete mode 100644 graphics/event_objects/pics/people/may/acro_bike/22.png delete mode 100644 graphics/event_objects/pics/people/may/acro_bike/23.png delete mode 100644 graphics/event_objects/pics/people/may/acro_bike/24.png delete mode 100644 graphics/event_objects/pics/people/may/acro_bike/25.png delete mode 100644 graphics/event_objects/pics/people/may/acro_bike/26.png create mode 100644 graphics/event_objects/pics/people/may/field_move.png delete mode 100644 graphics/event_objects/pics/people/may/field_move/0.png delete mode 100644 graphics/event_objects/pics/people/may/field_move/1.png delete mode 100644 graphics/event_objects/pics/people/may/field_move/2.png delete mode 100644 graphics/event_objects/pics/people/may/field_move/3.png delete mode 100644 graphics/event_objects/pics/people/may/field_move/4.png create mode 100644 graphics/event_objects/pics/people/may/fishing.png delete mode 100644 graphics/event_objects/pics/people/may/fishing/00.png delete mode 100644 graphics/event_objects/pics/people/may/fishing/01.png delete mode 100644 graphics/event_objects/pics/people/may/fishing/02.png delete mode 100644 graphics/event_objects/pics/people/may/fishing/03.png delete mode 100644 graphics/event_objects/pics/people/may/fishing/04.png delete mode 100644 graphics/event_objects/pics/people/may/fishing/05.png delete mode 100644 graphics/event_objects/pics/people/may/fishing/06.png delete mode 100644 graphics/event_objects/pics/people/may/fishing/07.png delete mode 100644 graphics/event_objects/pics/people/may/fishing/08.png delete mode 100644 graphics/event_objects/pics/people/may/fishing/09.png delete mode 100644 graphics/event_objects/pics/people/may/fishing/10.png delete mode 100644 graphics/event_objects/pics/people/may/fishing/11.png create mode 100644 graphics/event_objects/pics/people/may/mach_bike.png delete mode 100644 graphics/event_objects/pics/people/may/mach_bike/0.png delete mode 100644 graphics/event_objects/pics/people/may/mach_bike/1.png delete mode 100644 graphics/event_objects/pics/people/may/mach_bike/2.png delete mode 100644 graphics/event_objects/pics/people/may/mach_bike/3.png delete mode 100644 graphics/event_objects/pics/people/may/mach_bike/4.png delete mode 100644 graphics/event_objects/pics/people/may/mach_bike/5.png delete mode 100644 graphics/event_objects/pics/people/may/mach_bike/6.png delete mode 100644 graphics/event_objects/pics/people/may/mach_bike/7.png delete mode 100644 graphics/event_objects/pics/people/may/mach_bike/8.png delete mode 100644 graphics/event_objects/pics/people/may/normal/00.png delete mode 100644 graphics/event_objects/pics/people/may/normal/01.png delete mode 100644 graphics/event_objects/pics/people/may/normal/02.png delete mode 100644 graphics/event_objects/pics/people/may/normal/03.png delete mode 100644 graphics/event_objects/pics/people/may/normal/04.png delete mode 100644 graphics/event_objects/pics/people/may/normal/05.png delete mode 100644 graphics/event_objects/pics/people/may/normal/06.png delete mode 100644 graphics/event_objects/pics/people/may/normal/07.png delete mode 100644 graphics/event_objects/pics/people/may/normal/08.png delete mode 100644 graphics/event_objects/pics/people/may/normal/09.png delete mode 100644 graphics/event_objects/pics/people/may/normal/10.png delete mode 100644 graphics/event_objects/pics/people/may/normal/11.png delete mode 100644 graphics/event_objects/pics/people/may/normal/12.png delete mode 100644 graphics/event_objects/pics/people/may/normal/13.png delete mode 100644 graphics/event_objects/pics/people/may/normal/14.png delete mode 100644 graphics/event_objects/pics/people/may/normal/15.png delete mode 100644 graphics/event_objects/pics/people/may/normal/16.png delete mode 100644 graphics/event_objects/pics/people/may/normal/17.png create mode 100644 graphics/event_objects/pics/people/may/running.png create mode 100644 graphics/event_objects/pics/people/may/surfing.png delete mode 100644 graphics/event_objects/pics/people/may/surfing/0.png delete mode 100644 graphics/event_objects/pics/people/may/surfing/1.png delete mode 100644 graphics/event_objects/pics/people/may/surfing/2.png delete mode 100644 graphics/event_objects/pics/people/may/surfing/3.png delete mode 100644 graphics/event_objects/pics/people/may/surfing/4.png delete mode 100644 graphics/event_objects/pics/people/may/surfing/5.png create mode 100644 graphics/event_objects/pics/people/may/underwater.png delete mode 100644 graphics/event_objects/pics/people/may/underwater/0.png delete mode 100644 graphics/event_objects/pics/people/may/underwater/1.png delete mode 100644 graphics/event_objects/pics/people/may/underwater/2.png delete mode 100644 graphics/event_objects/pics/people/may/underwater/3.png create mode 100644 graphics/event_objects/pics/people/may/walking.png create mode 100644 graphics/event_objects/pics/people/may/watering.png delete mode 100644 graphics/event_objects/pics/people/may/watering/0.png delete mode 100644 graphics/event_objects/pics/people/may/watering/1.png delete mode 100644 graphics/event_objects/pics/people/may/watering/2.png delete mode 100644 graphics/event_objects/pics/people/may/watering/3.png delete mode 100644 graphics/event_objects/pics/people/may/watering/4.png delete mode 100644 graphics/event_objects/pics/people/may/watering/5.png diff --git a/graphics/event_objects/pics/people/brendan/surfing.png b/graphics/event_objects/pics/people/brendan/surfing.png index 692121a90d0db7e5006f498a0d624fa129591514..c0ddb14f6a73cf4d5515c33c4d27e9960cc1d062 100644 GIT binary patch delta 696 zcmV;p0!RJn2J{AyEC?MC83UOl7^#sopnr==L_t(|ob8jbi_}0A#<$3VXc5-`z&nfW z7R?rR5tAa|9kEFv!j{2q{{>xw%%V#w;ew!j4zzF!?*eCIVR3NH72AYVSKJ*8;WmaG zd*L~=YUX9uT|p~hA8FovZ+_o5lcdpD*SgmA|5o#l6OaCFdv9UCw9q_R1?)MiJ%1gC z$_5h9>7C#S3E1pWM+V@?4h@3WwSfiTDVtahd`u~=1*%8B@r2S-ynhkM00AP(z~);< zz>f9E*Jv29LIW}ocn`~gmjTn?iC&6){Vd##f^R5*44mzS;hWFPftNfW>VHQ5)hbaG zeHy07KnBkC&feDz>cE2czUZaM%72|!K}g-822}KYN_RirUj|g}?F7MaDs(Bb(t6&h z87O*0X(WJ3w{`1g%MiT;RJvriLxe6zRROk=%;^5q$-WEraA}fYw4|IG44y?wvj(_?YOORiE z5&Fgk)?F_QEm!D2A|s$_hZkGuC8!)&_1j570Ek~6S9)oh3DSvYnidf{kF2Aws-Ywi z#K>UEfz^@JRGo|_qg1UXF1X$iI`~mkfQr8p&x%BwLJS07*G{(aeS}XN<)kzIP=CobSj5Nn@irmH@v~}SHZGHg=)Z`wFtm{l^AdixnvwR) zYJ=+MJ^=pF04xs*(dT{B%=<{sOw&e3E;&CD27V5nH50_L!2W!~&1@Gr<}QGX3{-yS zSdRf>q%)vhAR;>e&d&`P5Pwx{xPC+*?_bav@ahQfAJ_78!2DTJuq9Gvz%s!Lt6_gp e&`{IgE8hWQaiE7qxqoB;0000swoN_nrJQ)VU?EcXj5!E=NGU}DZ#<&(4DYWJEJUiYeGdnE z%^U?^qrS%qH!K${L;~IqV*i`R_)Uq|&;9+t`-%dt5EPM0o*nr9t53L}mFQQ4Aowth z(SQ|#g-El5^S8J^lqgyZy#ytF+J(3m~yX{+zoDD0pBC!`M9h049)*}OE1@#4xEC?MC8y!&{M@W%0pnnWWL_t(|obA#vZ__{&2keUG_L z8jEsz;Rn}!)2E$IykG~U?_apC=UkIcFZ_D(>206(O*YVowB&i-(J&+pu=|a%kFRLs zq2mmZwDefDZ960lQd@oWK-KqX+keADyTa9HLYa=Ay0hElH*&3;V$qK`RC)5tK)I4pA`If;C@8BK3D+oJQXK2{jf^AHI^8%aC(?UbJCG#$UdB z5hV7P&2}I-e{;w`DRYCfA|>oA+`e*G9t6Cp1VP=2f6H$~oVay)uA;pF0000 zUBMZ;1<4*dAlZut7}Bo-p~Gd$gwz9xi3KCU!cee8g_O~imku2o#Y={?)ybk4sZ#Ac zY&VV1Y0?mTLwS?`cfWVJ=Oh4|+SI20r!w!~mdkp1c<(l}<_=ub%T{Y>F5d>rVt-~C z53LcU?}Yx=&=P^g;%&2pml9=3ln_T_Dsai7u- zW(`lPgpi=Pmm1Y4kE+`9ER)VY5r1;^O;c=G*Mp=zYj4#X8Bm*um#WavZq~852heKm zty&|?x>~EL`s@V+nyS`~5+0NU2qP(xt`DN=g3=#wP2I*49u#h%aV%tlNP6B)2=x~s z-yu%0!hc%s;ZHZ}<4Kky{B@2ew+-&&C?dG`ZG}Hr?%~qw>E7#ElzQB@jeqc_K|$BW zovwR*Slk02{C2%8N`0>DMwrf6iH^7jSKa=#Ffu<}>S2*jKGhSy6hy~CtfbGAQw(B& zxYAGG&;k#N5k^P8m=XD8`aDTb#9-bBbN=>6gm*nC$AgOtu|YSuE{ceJ5Ar@dz2nn~ z{Y5_cZ{$b9K*^7o-%fpH&LB^-?=SEL%J=`x{RJTUxOGN)g?Rt~002ovPDHLkV1n-N B85;lq diff --git a/graphics/event_objects/pics/people/may/acro_bike.png b/graphics/event_objects/pics/people/may/acro_bike.png new file mode 100644 index 0000000000000000000000000000000000000000..37e88110699648d02f5d6583726febeb4c77344a GIT binary patch literal 2629 zcmV-L3cB@)P)er2pQ{-lUYxgL8XYQet9r zDLFx;YEnuuInB-9YSlqOtRVklTE#&@|Ns90001Hf)?NSr00Cl4M@0Xn2lB-L0004W zQchCH0beV26F^m#fC_KYl;%_6ihf0B+0OeahGAMbm$M8FOz zK01H^w(t87VLnZOB*>^pTS_o+xQ|BntsvFmIAIu|5_tHF{r%tE1Iwu*@PQgCD1#vB zevkM}0&&kQ%Y<=|P|Tl^PL_MH|0GvS1~?Chh9aQwAOFFVFBYw2fF{TY_+1~Bgp}mp z_t5Bm6{I>GolgNGf$Z+Amma^Q1Ga<@KW0G?%qoTSn&`1cNIt|1`4u1*Ynr)yaA{hfo}v2cu98jIQ0 z0FgjDJ^%grK~FnC6~T~DOc2ZEIWGW73T1vEp_D+u%;n&;38)0E!UJ%?cFs$45N}(O$EikZpkD4#dFggG2Cq6EG4)0zNm79PX>p{VFI; zBP4(!f%V47NM=~Cr(cbRgkpkhPuaRdX?&7ESx=xNNza^1EfjKz{F(W+q`M<&(6J#O z8vz|B)jzz)Pf|`> zHV8lyL<5!{LWlcmG*8R>Jvfg6$q%j|0#FHL(RwSpRMs|C1Zp!G-v^o?tFCO_p)@`_ z9d2%wysjP5o_TwOJKb5zpLL$3)AX0v)(70-ufhbpEP*T94mlSYVU22ZsSR{1q;??hA7x+z2Bczm;1j@#RtZ2Q@cfhzP5s?W6(KyfwFcE&Gdo$Z zpT(|Q1qH#ba{edKao(=$u7HjtJ;U}nFD3FPpD1361!}RZ5UuHCo9(zWkPu5q0Nq#J z@u7Wlr33*ZK`NzyplEdrdB{pqlEWW>{cQl;AWbCd7>FEPlF>Q_sDxNTRAW$K;jto= zl5C5uaJ~yGnAkDj+T>L|9hZa%HKRvQQO^uyH*TaMBO>IY3JYEw{PO)zTo(YfE+vO`O$d^k*HHB=sDR97!5Rmauv|vlJS7gP(^-UQ9pU@lP ztZ3Aw7)2dWUbq-+3o)%7eDn-T7`0i^uPj0T)+I0p?%Q!&+ta|t zfU4-`6s%}=UrLHT@aSI`_V!xZL%QDBAG&)kYIzK(^Qs^L(!PoSB7rhsnIpY_;K-9- zVc@<<*`T7CBm`=hrQRrDviDr~&oE)4B{V^E=> zL<|# zY~v?G0v$rteQ6H#M%o(!)>}J2I78vqre5J@MeNSF+q$Auf)L{ZCrq_Gb_fEl?C>A& z-04=R+irOYfc4cF6ZX?4vz{}-nZ2DX zs3`TQ;tTPkYRL}A4g)|{a6IE?I_D{SH{OHi8w6NWH~|Jhe|(1RYmHjZ^=~B4AJjfQ z5PMbmUDp9p-xH0Dc29a5^Y@%?M-9kqZ+LPQIFk6=*MDfslcF-XkKTXc0WI+6W*!g6 zd>d4hoc~LY3*``5T0vPP-YE%kH~sz_o$$H?bEv0Ep^Xp+hPixZv=GyI=1ON{vYQTnrA;sjj~!};vWZ4^mRk2 zH)V9v(jBE*k{oaNOKs{8wZVNS+PxUBzZ1O`t+9(vxko~y9u-68>r>^o3 z!?Hl?sqfaFYyD}@JMnxP03BcTe7nz}4W20cTA53~ltC{sF6~!wM5Fsw$SKY{>HM#M nnBQ?H{PV=6U&^4DbnO2E8QsjE9f;ZV00000NkvXXu0mjfxRbY% literal 0 HcmV?d00001 diff --git a/graphics/event_objects/pics/people/may/acro_bike/00.png b/graphics/event_objects/pics/people/may/acro_bike/00.png deleted file mode 100644 index 389f29985c81a0ab8dec0d115d08e1b466ae1d00..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 302 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfvg8-ip*W#l~{@*)$Z^@Li&BfJG zK}ku)nwE}BvVyz}Ezh34mvzfVoGYA-SAcU?ImAw*_2V)G%It9;n| z>F#dLuN-#ufu7y%yMM8_G*q`&1-o-PH5^_XxFm29YoeBWci`fdP3%q$^Y5?pbbiY0 z#C>?V{;^~KetBH0`+NW5M|-)0>A%1K%l@>JYS_$7Sb6>!Ffs@_xZT;BVRRGdZU#?RKbLh*2~7a|N93cc+)Ud*?3n z=CmdbF%2r$XWIS5V{Ygs9ytE;CcC&$59SJy4p|BRnQ zmxm|5r}yu~zlZAI{{J77!ult7=k-s4EH&0v>lC;R{@mCqb@Qo1cli4(2f+vbzx`)k tb>Qs&6-+$$|1JI`dER49>SU>I_MqXU&2+Pwo=gd=Lzs_xwl2!YO3>)y@Sfux{f z-n*CmND4U0TRb|-KOh9yE85G;kp);9CCb&+kp%>s+EG;qHno)dBRS)zv$2H>iog`- z4i_X_8Tfzv|JL#UKSJQ&Q>D9izpX-;`g6XqZQAYKaDlY^|9{hR)Apx9`E39H`upF# zmjC~M0z@F+|BC+Kj{SdJT)sgBK7Bay>Hq)#F8BELp#qUVgMLosS9O^W72sDC)MpJ~ l_#`L|x~kN8!jC_4tDo)7{@I`s zVE6v6cezUA`&V*$x~^Y28udkeMWx>U<7k}5=g5DMk6$Hvt|`lGp9ydNesFbOdGf#g zB;CK~j;Yy;OkfGIvikM^xH8L)e|!H+{eNG}`|Bv0@Z+2O)bj`0mNhiWt1&QKd+6F;>n!{Y=yC>6S3j3^P6F?uej zxwm`zI}fJ&S8ZdWx?Tw~#cR#dGP(6vkV#jzNv=s&&SRTZHiy|vg`2nkyE?BtIbUA! z!^-DSvY*(1rh{8s1p``(6LP z-a&B3H}Tf<2kPJOuVOfS{{M;^HZv1eo<9bR4Cd#V6@a4fmL>wxMiUL_xtvmN~knjalv)-&e7zG~TriD}A5maP88@-OQ2P_219+-L$q- z;0$?lZ|`nd&j;0&?(XiDwoVVat1BxjJMEnoEIqn+&ymB-Cx!UM#ixs@WZTueD|or# zx%;;3H*c_<6k==J|MUO;yY6B?CYG7Mwcm7Ly0q-xeSU>I_sqXC868nGKiq;=J*6}xvJ_#CrVy?fb>q@um^ z-Mbk-kaVMn$0000SU>JI!qXC868nGKiq;=J*6}xvJ_#CrVy?fb>q@um^ z-Mbk-kaVhI4Y~134EHJ~x zqQwKr2>$!L&(l{REwT{Zm#Q~a*5z10u~-_!f|t6SV4xl703!t8*xdj`C<3h!r~<94Rz;u)>{_+zC9=Sm zu2t_|_#+8?uYC7zdOd>AUsTfK;jaDxA>iJj-qcZo5a94=6ls)bL72+XV$>+1?12#A z|L@eKq4FQ0h2hf|V`G1P1fT8S`~Uy{y-z@B`8nfTe&>87Ev)hX|9=fYa_Rs7_y7L? zk0kJO>ajnO^HEg%{Ewo7f#Dk}mw_SdE1Ez&xak2OGCBbV00000 LNkvXXu0mjfkxYzk diff --git a/graphics/event_objects/pics/people/may/acro_bike/11.png b/graphics/event_objects/pics/people/may/acro_bike/11.png deleted file mode 100644 index 092fffddb147a0103770af4f3dab689b02770847..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 291 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfvg8-ip*W#l~{@*)$Z^@Li&BfJG zK}ku)nwE}BvVyz}Ezh34mvzyBq`~wq{-RPHEJSU43uw2X~<# zaX;VP{Zhp;fB%XlM-RvTWp+BS*Lm;C#Vm>k9$wVAq;avy;H!Ig;Nq4|?)EVc{?{*8 zY?x{r~^WPY!3vh{r&ONj1EQ{g+*DZ?J%4&Yxzj10UYn lYt3)u^<`wX-^C!qz>v#t=N5eQM*z^V44$rjF6*2UngDIOdWHZ1 diff --git a/graphics/event_objects/pics/people/may/acro_bike/12.png b/graphics/event_objects/pics/people/may/acro_bike/12.png deleted file mode 100644 index 233a032665e6ea90f90fde9dcb41f243003f9568..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 281 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfvg8-ip*W#l~{@*)$Z^@Li&BfJG zK}ku)nwE}BvVyz}Ezh34mvz$5WKN9>#BE3qkin_ zdwV~)3;l@u`R?wQDwg^CS1dVtI9B$dNZoh7ugm&`S`P5{yG?ZKoL1N3&>gtAWfQwo z!~gxkliN2I s|3zE|HNX2$r6)KCA2`sj$H2}|^vThFzwEYiKqoVJy85}Sb4q9e0CjJ8RsaA1 diff --git a/graphics/event_objects/pics/people/may/acro_bike/14.png b/graphics/event_objects/pics/people/may/acro_bike/14.png deleted file mode 100644 index bf4ade7f03d274176dad346ed8b0005ad33c21ae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 295 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfvg8-ip*W#l~{@*)$Z^@Li&BfJG zK}ku)nwE}BvVyz}Ezh34mvzOh$^VA`T}ci7OjYH#emNen{NlXBY_gDLW&5P=hU+zjE9QQ?e}t>*-L57h z*DY(~r*4gs4sOgiThm?I)VcSupwOKBhO*f5exYMi)HzRRrr&g&ou2dXqF%!ly@sog d7`C*;+u0;L?&s}#B?NRNgQu&X%Q~loCIFs|b4UOH diff --git a/graphics/event_objects/pics/people/may/acro_bike/16.png b/graphics/event_objects/pics/people/may/acro_bike/16.png deleted file mode 100644 index 6d34e41bf3b3df97dbc595b5745bc6b01851f3eb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 284 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfvg8-ip*W#l~{@*)$Z^@Li&BfJG zK}ku)nwE}BvVyz}Ezh34mvz0|!3vhB7iUOV46r ft1Dr=!@v-u=eTqm&r5BfD;Ydp{an^LB{Ts5rC)fs diff --git a/graphics/event_objects/pics/people/may/acro_bike/17.png b/graphics/event_objects/pics/people/may/acro_bike/17.png deleted file mode 100644 index e01484497f8bd3a0793da7c99c586deaa55a2b52..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 331 zcmV-R0kr;!P)(R49>SU>JI!qXUK8x?}eaWPbOmRXcVxAov`sR;^mvjijXg z)v9?ff43qDRK9yRqapwyP~PF<;$Dy7^Lt2?mzN_6{B#s-FDgP2kkBYE|A3_Bi-m@J z36j9S_s$kA9!T!|IrT?J|9^yvwEtgC^n0_`!}x6fznuTC)Vg~=Od#LW=l|cd{OoTD zP=U`M4t)N9_x}I?-(Ujq^Mn81|9iy6AF71kP|%+L!x!HNpJDd=2if>J#6K9xX%KY` dDBwTDWdND1TB#no0nz{f002ovPDHLkV1mvinH2y4 diff --git a/graphics/event_objects/pics/people/may/acro_bike/18.png b/graphics/event_objects/pics/people/may/acro_bike/18.png deleted file mode 100644 index a4bee4772ef2d0460318113cf37d0aba2163b380..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 333 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfvg8-ip*W#l~{@*)$Z^@Li&BfJG zK}ku)nwE}BvVyz}Ezh34mvzB;>BxrU>#MHbmGxkXT^+Xel|#^>!0lO2cmK3z5@34z z`QF}~eAgEV>oW=qHUBpVBxL63>$?jIOwkArcNfga(qHesY3lu*E0^ApzqwHHn5^Cj zzNhuqFJA0VVTt~CCZT`-e?g_6K=*{dIvd3w{vq|$&;6MzcYiYG$XMyVf|Hgm57Z(0(dt*{Jz535L4W?y!@qsK3Y_$%8 d43aEN40}HXu+=E<7XW&T!PC{xWt~$(695j~lkfll diff --git a/graphics/event_objects/pics/people/may/acro_bike/19.png b/graphics/event_objects/pics/people/may/acro_bike/19.png deleted file mode 100644 index f7e10f13254607e3b7fa05b20c1e3205c250e204..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 334 zcmV-U0kQsxP)SU>M|pqoVQU zYUR86I|2{_<@4UXY;Q&AV6SL#aVh_R5MXI+FE2+C5R@oaS4R%xvX$StsioW> z*`XoE9WE#?|No=o|NZ|+0zd!%x4*Uu$yEOTO&Za=zoj7r-Ua)A+yDQ60+i2|KlA_3 z`F~tozCi`@|NsBn5$ke~-yW*q%arr~XU3ble1!_|+w<_-hcbK?6o%TvZ~7A?$NwMh g5`-Mw8Az@K02KFAs%W{}qW}N^07*qoM6N<$f-mcsEdT%j diff --git a/graphics/event_objects/pics/people/may/acro_bike/20.png b/graphics/event_objects/pics/people/may/acro_bike/20.png deleted file mode 100644 index f9f34e4ae42d39c66e5ca3f5a2d66802ea84161d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 335 zcmV-V0kHmwP)SU>IDWqXUK8x?}eaWPbOmRXcVxAov`sR;^mmjijXg z)v9?ff43qDRK9yRqapwyP~PF<;$DwrriVm%c{#FxqhNbc5sH9>MtS)MB!Mp$8tx^? z0<6v!EgmQ?|KHL7_dl`{{{NqAv(~4jAq3_(sqWtY|9=8P&zJh_|1K`y-~#_1```Dy z$8Qhgr~RDY;d{m9D@=gx|Ns9pTRsa4!z{}8^!XnOwCX=h$L9|RJ|nw=;dA`_U=#s< hLqU566!0I(-2e@(RjuJ9zX<>U002ovPDHLkV1f&Gl*<4B diff --git a/graphics/event_objects/pics/people/may/acro_bike/21.png b/graphics/event_objects/pics/people/may/acro_bike/21.png deleted file mode 100644 index 8784ce762d020be35bb9fb860f55c5fa8ba7e5d9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 314 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfvg8-ip*W#l~{@*)$Z^@Li&BfJG zK}ku)nwE}BvVyz}Ezh34mvz|IYtsJaO;;|F6=UY&cqKU4=W`#W{Fgg%fxa6r>p#!t%Vi)=5wN0rUfdr>mdK II;Vst08DjI+&gO!KJ{`vj?zvVp{5C8vv{NEq< zO)ZU$U!VV<|9K*-#J<1%?tupdzD;EmJ+hd)rEL-C1~!8UybQBKyd(VY+1&(sg2B_( K&t;ucLK6VptclbB diff --git a/graphics/event_objects/pics/people/may/acro_bike/23.png b/graphics/event_objects/pics/people/may/acro_bike/23.png deleted file mode 100644 index c2d8a60cbe0beacddcc07f14b32807dc9fac1cd4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 302 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfvg8-ip*W#l~{@*)$Z^@Li&BfJG zK}ku)nwE}BvVyz}Ezh34mvz~knjalv)-&e7zG~TriD}A5maP88@-OQ2P_219+-L$q- z;0$?lZ|`nd&j;0&?(XiDwoVVat1BxjJMEnoEIqn+&ymB-CxyfpG;mKcm9N{eW5<_b zg`2nUJiL_HlETgWf9sYz|4+<&y#M0G+ue&6RbTD%OKIF6yE}YA#?PPC-|JFXdHw+1 x>MqC-^;tZ$;o<`Y|1Ruat_^fIgQu&X%Q~loCIFC?f}#Kb diff --git a/graphics/event_objects/pics/people/may/acro_bike/24.png b/graphics/event_objects/pics/people/may/acro_bike/24.png deleted file mode 100644 index 1836e5fed5ec7c6bfe0a81331d01eaf3bd70bb87..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 303 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfvg8-ip*W#l~{@*)$Z^@Li&BfJG zK}ku)nwE}BvVyz}Ezh34mvz~knjalv)-&e7zG~TriD}A5maP88@-OQ2P_219+-L$q- z;0$?lZ|`nd&j;0&?(XiDwoVVat1BxjJMEnoEIqn+&ymB-CxyfpG;mKcm9N{eW5<`z z$~PC?d3Y(Y@y+!A*Dn=K%t?K)zi{zl@taTo81D*yo8fTr($?yuwJD7M?(hD7-d*qq z(6Q_yjoI~qKX`cV|6BY?^2P-bgAa?jAFwglb2^@U^NC3i=x_#4S3j3^P6SU>I1?(SgEkjo7^dg}-W5#Eu38pJUakRV%uYl(fHE zHSgu`RwRMSckgCY1Rw;;J6v4c>yga#kSH%NM;34tY%eN85s=U*FaLlf@Wn#Iy#!f+ z-`S$Y1I6V(Iy(OUM^^E!SU>IP~(SgEkjo7^dg}-W5#Eu38pJUakRV%uYl(fHE zHSgu`RwRMSckgCY1Rw;;J6v4c>yga#kSH%NM;34tY%eN85s=U*FaLnx^G~tRa4$g? znCWcM;(_eY9~~VX|NkSYco)&ze{B_94_p4s&mR5JyWs-)|NsBLmiBFb0!+b|Dd*jC z@BW7?;J4@DpZUKZ$w|BL_s{|Rs@001Ba0{{R3XHjm(00007bV*G`2jT}E z4=)c6^dY(c000+sMObuGZ)S9NVRB^vM@&RePDdbiWpW@hE;Mn4q~QPn00?w&PDe*f zL^A*Y002sWDIWj;00d`2O+f$vv5yPer2pQ{-lUYxgL8XYQet9r zDLFx;YEnuuInB-9YSlqOtRVklTE#&@|Ns90001Hf)?NSr00Cl4M@0Xn2lB-L0004W zQchCNkldj`wZ9 z_rCZ0{*T9_sLQ&n%bHdCf_=18r}g^(7^2fUN=0`a!|CD)`rn?JJO&yIob8I^qz&{F z`>lcdjeWhc-kr^~(=8iVux;BF+;4aKEqnvRur0#O8g^;NtpNcmNbuO>WBRErLv z5f_=%L?Mmv=u@exaLxRLb0?pbt18pP!t;D|0F9VtO-Ul;j(>esMTXs)2p__srm{>^ zL_%NDlxkC&!;HwpOw3lmGb+1P|Hnb7msFO!gM|&9Vej+e9A+6+pD@|o{LVAlQez?v z%RQgt3L<(WN?&0#zNpXP$dGVoL5W)`#*aj-Hd!eY1N_RKzpU{RnaR|TWubI81_GX6 zC`e|^Fz`VDVX%vgX4Embmms+oarijhC&I}`Na*(|_);Ln{TprWn|oxgAt6x#Oe+-- zP6n`^r447JLkN?BYwepaj?CM!;0io2T=#>F18CR#fQ8!g&C?;e!O$1lVLhfC{EP%) znut6-c=sjqQ${x|7$6Q{qwQf1d*uM}STIBZWY?85LfMt^0+B7qGFX`b7X@dse2b#y wEKD;1X8+|-n#YuXJdzg46!D0+NM2z50a+tRw!zIUZU6uP07*qoM6N<$f+-4Z)&Kwi literal 0 HcmV?d00001 diff --git a/graphics/event_objects/pics/people/may/field_move/0.png b/graphics/event_objects/pics/people/may/field_move/0.png deleted file mode 100644 index 9fecaa3d4f1857eb1dacf1ff9117e315ce24c816..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 295 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfvg8-ip*W#l~{@*)$Z^@Li&BfJG zK}ku)nwE}BvVyz}Ezh34mvzEdtfxFGjCK8?+VR_J z9D)M(eZG6TNTu=pD>*$~*RLFn`l7y~u5bTwG*07lEdtfxFGjCK8?+VR_J z9D)M(eZG6TNTu=pD>*$~*RLFn`l7y~u5bTwG*07lDu(+{tF>~knjn(cM-`}yRG|C39o>r#JX;88@>SrFC(ER(!&v#GP zm7l^B`)zCZon{}KnGAK#9q{_|H^{`voppGIHUHwk9`Pe12gq;a8V%YThD oqne%nugkkO{AafB;!|N@2)kmFD<85U7wB9DPgg&ebxsLQ09BuOf&c&j diff --git a/graphics/event_objects/pics/people/may/field_move/3.png b/graphics/event_objects/pics/people/may/field_move/3.png deleted file mode 100644 index c72277f7454c78ddc014e2000c7e0885e98d8243..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 324 zcmV-K0lWT*P)SU>NG4qk*BL1BuVEyES6>?gk`*)>W$_b|9cK2@D2L>eYCI6d01B$@?zo-KIANWypAOQeX W07^DaVfTsv0000SU>Mw>1C7tIyMd#l0a;+j?(W??kOiVvE$v2D(Y<`aR(S ztpDA*@7~>?7JzUmf9$T+SCO60pLX|d8nOVxr?fPEWIn@}{BQoK0{8!-3h;m6M==5k Z002G0O@VYtDP{lw002ovPDHLkV1naLlHC9R diff --git a/graphics/event_objects/pics/people/may/fishing.png b/graphics/event_objects/pics/people/may/fishing.png new file mode 100644 index 0000000000000000000000000000000000000000..e8d3533f35ca16d378c603a1fa89f3c267ebb01c GIT binary patch literal 1640 zcmV-u2ABDXP)4LJ>00007bV*G`2jT}E z4>B^T@By~~000+sMObuGZ)S9NVRB^vM@&RePDdbiWpW@hE;Mn4q~QPn00?w&PDe*f zL^A*Y002sWDIWj;00d`2O+f$vv5yPer2pQ{-lUYxgL8XYQet9r zDLFx;YEnuuInB-9YSlqOtRVklTE#&@|Ns90001Hf)?NSr00Cl4M@0Xn2lB-L0004W zQchCaTWEE&HJ-E>!J?yQ87Ft4}7(+h}xj4dc90%5! zj#Q(0Z=~4qmeR`(K6vIm&Agx9o4-ac0ZGGai6i3Vu;@wp_Q62#{j9Z`=-mr!&avhz84MOaP}I z{Gz71?z7WUlA|2(?Q*NS^}ORIP6!+MUi=>$AP)gLPg6GPqOm~ zi=O9Ih5&3IY!wcx0zjpAe5m7w$7?*Q!2|&7S?kn_hE=^>PN(e>^2rxGT2*30+=)aB z7vh(MBbOGX)B-grtCHhw?|W5oBSN5k08r;O?f?L3g3B3Qv)7{qRC~6Zp4L$`Tv+#| zM?;{s;m{xjQM|HU=`327wINg?rb;Sx>XZn85D2VhIPUXSRO2aMMH%4>6gP{RO0)nW z3$xR6K1`JQ1s7JQq$CdglL8TM>=N5vv^I2Im}FJzdAmLZCup2rrk*LNw0Llno zfKKX@6fDrmW^*XoN+7H~<%XeP=@=rgQ(eC!TrAx>2>Y&6zAW*P|#Y-frajqpO zBYeJv%;e^rn6ZDt*bX`YR*IS?2`d;1QV>G~cK@7ebe=>eS(S)Yq_iS7VGPKa;Uyw! z+#o0;e1cA9YBMML{pr=?Sp;BFUd0#y4)GMk5TTtcWas?6ST9s1Av#3ku9hZbPy$N* zS>z=mYTO_wBm4r!7hs~V&bO}r_y|VJFJE8B0C0$>AclzSP1b$biWV5CQdIM*&IvTT zbQ4hODNRq7MU5MmI3v7ds=Q_ZP<8LBhQ#*WbVkkq8e+>aL}(`sbM=>%XvTpm2>{#H zG+oG^45ajMjT;@D5#{>qapU@T0MKR3lmQl{CmR|fEQ)s`pO4#j8jTZi9vG-nR6~Tk zW9y%Z5|DwEb|*WP%|)9iW#fz}7qyysRRh7b&F)La0tzm#S(9l&BFJUZ1K=#7n z!Il6Rs1n!&f$YtTZU_W)eDiKl<02ecby7ZK42IV^?xVx#gENg!so;i&Rz4Q-1_;Ya z9@={chgAVEP$dCyevh$-0)Pj=fk2mVS!@ec$)Dkj1ZOgW&S~TV@hB^`$B$y~m><9) z!eG3FUF7$eF6_iK88}h~s&wuPfL?d?cn#=234mY(?7?4CqQ6qZ8A&*9OXnqWo;Bt8 zQ?2$R*oX1*9;+ccS@OXuy?L%mzIgPiJCvS)tI569V+7D&`5fF*(#}xU13EtvKv5e@ zOd3k<^_wVd=G(}HVLOAXoCkMY5r-cV>=AHrDgc6q+^Z%7&n<=Y*IMrjfQ0ud3E)1n z8{KatAJ%Ao0vB!VU>C^_0Z0&_4*-Ha0$gPvrOWRIocpS|R}l7u_bM6S=tu2`BkV%h zi~Ak~*z5du1TP~mmb{w)!T`bXlbI$AFa$z#z1Lksi|ec_><8bL>+`~tY;`&tr?ghrh_31oNyb%}DqVqswVdE+$jR$c}Pjs&7A3LV2 z=fPC?K2|5nW)ekW-T+}KLB(ygQu&X%Q~loCID{$d|&_o diff --git a/graphics/event_objects/pics/people/may/fishing/01.png b/graphics/event_objects/pics/people/may/fishing/01.png deleted file mode 100644 index f4ec1ccdd149cd8500a7e2ea7ca6705e33a993b0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 291 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfvg8-ip*W#l~{@*)$Z^@Li&BfJG zK}ku)nwE}BvVyz}Ezh34mvzyQ^&{IaIn=R$6XqXiumP6x`IXxP@&M*Mf#>&Q0EtJ-yK} z0dw9ZU3}E|=+g$Cko6n({hrdesG;=P{ogAde*XXNuTF~d&;RltZ}#eZNdLdxL`3(G n`JbPGcR&7TX0BS$%)p>A*Ul#E)wWka$1-@j`njxgN@xNAf?Iy= diff --git a/graphics/event_objects/pics/people/may/fishing/02.png b/graphics/event_objects/pics/people/may/fishing/02.png deleted file mode 100644 index 9d2e66b4f8c150e8faa1aa823d14b519575826c9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 294 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfvg8-ip*W#l~{@*)$Z^@Li&BfJG zK}ku)nwE}BvVyz}Ezh34mvzqbRqF4S z7Ff2Wd|$QsWA;g|Z${lKZOj!2qKeN&Nud(m9f7M_z-hby_|Dq@LxBkm( qF#WOr6Uh4S-j5IRN5$$4#2F%F-MEfsa;*Zom%-E3&t;ucLK6UsSa>u5 diff --git a/graphics/event_objects/pics/people/may/fishing/03.png b/graphics/event_objects/pics/people/may/fishing/03.png deleted file mode 100644 index a7078e584d6ec982618a0467b230dbb36d94105c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 291 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfvg8-ip*W#l~{@*)$Z^@Li&BfJG zK}ku)nwE}BvVyz}Ezh34mvzypx|t2*vl3)J*Qu70-nja$&gdq3aZ?UDDex}_Zx zbLaI$mQ&WJPM@C0YQu87yK4fgjH-!(R)v#uBGWrn`39bU|NkF!(m8faS5N*xk-|cT zwgB;NG5#5K|Nh52r~muzQ1;{h|IhbpPdR+N^?zpl`~U8uJFD$qGjC$}FL?j%3Z~4= n6;c20-Dq0G@I;19hk>EzpX09ouauO4j%Dz4^>bP0l+XkKUZ8rL diff --git a/graphics/event_objects/pics/people/may/fishing/04.png b/graphics/event_objects/pics/people/may/fishing/04.png deleted file mode 100644 index f135404bc48a0f101796e2c4496a9fd90aa8f2ac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 302 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfvg8-ip*W#l~{@*)$Z^@Li&BfJG zK}ku)nwE}BvVyz}Ezh34mvzoE{qke&m%tC$rj~^U19XWjT=u*~`v-sy*$5_4j zIq_|&nb}W)E}eq^|F=IWKf$+i_OxnCASU>I(oqk(~=1BuVEYDZ}Iss<#1-8)uw?`}ZW(y_Y( zSqp#n&W_nTJ|GEH?B2b*{VPJ?dwEAkM|ph!T;Pj)d3kw>KSH3T#l5`5!vmqG!^6eJ zrKJNQ@ZocZONTu_lBxX8#wMRXAPM}i|Nkxd!+(USpTFf^%V*$62=MoIblmuWED*74 zbt|#}!;jUw`jNFT@TaByXW+kp?BTmeo&|&dP#OT=K1HR~6@~%;0000SV4yeP|9~!V08QY30Ghy81e2qKfuRFgplfw&#IAlM zf$rU1D|Yt>AZzK~(ZP=-@MHIk&fUnCeDB`9dq+Kzi^?lHI@-$-4&`?#2Lcy_0EY)q z#HFPHA<)v|;^N_f5a8#xXz^(NkK|eYFUH3H_DJ6PZ1(?uGP1yrZ@Jg<`;i1VdOJF9 zG$0A^N9Nr%w0E)^ zQFU+TUEH}_-t$5A_jh-#UkTRy`_$Ff_pPYq>>s_S4iB0H9(-Wv+Ob8!=V?Y}Vd2LQ z4jdmoM{lVxsdp&*E1sNOpR)hM?7#o#|6z1h_%7AOke%;-yq6(G6ll@*MHxRgR)yPp v3DkOdUv__HT(k4P_|d2YpQIzIJPZtz7P`5z=icxGI-9}M)z4*}Q$iB}5;A@J diff --git a/graphics/event_objects/pics/people/may/fishing/08.png b/graphics/event_objects/pics/people/may/fishing/08.png deleted file mode 100644 index 297643481826f11b737e5e547f42ca4a54f85afc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 295 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfvg8-ip*W#l~{@*)$Z^@Li&BfJG zK}ku)nwE}BvVyz}Ezh34mvzx<1XGIuh7`X#@5G|(shGJLGEZ{Y+3xLaxv8NlxYaGtcFy@q;<{STC qbc}cZ?d>%ojPW7L4c80=cp3b}9EHoWo-)JofL;_c(B} w)b;zopr0H~C9AOHXW diff --git a/graphics/event_objects/pics/people/may/fishing/10.png b/graphics/event_objects/pics/people/may/fishing/10.png deleted file mode 100644 index 5eca2728d032459ca416bd9102b32dcb55b46366..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 301 zcmV+|0n+}7P)SV4xk~XaFH3(7gkMPy|9z1v;WuE$u)S=vuXE-3%l? zzsIVTFIzq!36#%!_p%&G;JdnqOG{BbLf}h9Q-wymKSH3TL(oI8!vo1yXAQw76C`{2 zzi22m`6Ju%-`UvYKa#-T8~y+P_aX`Wd*62V-yvHYW($9ByOaAj< zy6+ujbLX{S&A&xlUze4A<>z4h?l#e_Q>cZZ-9346iwpOmkUp`+Zk(z7Ee!ViH&5Jj zlD$QYtxx~hv41Dt{iuHY|Np(;Czwv{yxuc`)#AdcVZ7er2pQ{-lUYxgL8XYQet9r zDLFx;YEnuuInB-9YSlqOtRVklTE#&@|Ns90001Hf)?NSr00Cl4M@0Xn2lB-L0004W zQchCx*()N{bK}!K$aq>NQoLn-vsOAs!t>QkYmn?SL5fu!2eu!SXB?w@qn~} zjRy|e@iQN&T9Tgxro92|aC;pO)Y#iz-+zP?ZUt>*7_@Jh17TnbB?a0;%*kPNbCxB{4{1d07KPC?@J6NXd1#=M6^HwqcmouicmUwxI0YUkJ3NpHSPoWdP}T!+ z75Df|U)WmqR`k5quu`j}>*$INFwCj)GLBQ=r0Sb^KM7zvTW@VG`&F&gL|p3&sahSM zkPj&*1&%cj_nmf|eCKPeqqXccjt1%v)0b*_sX_A$uvz>WaQJ|s0t$xN ztj|&Z=&k{*flA3|5QsG{SOZ=~8)&X&uTI`Z^=ANmhDu_814LYH7)7I&0j!Y(kOfrV zk+O*VCvpr@p9s4Q(8T#8IRUt?3#KJGKEe$sVB^nJJ@S`#C|EjuIx3t#y{$9u6gwpy zKmGesw>uX7dHIR@iQ9G2jhZ0#JNo>4tXBzOQEOb<*+nB?2Y7;xcsIN1{t@=))HSMfbp+k&6YIAJ>m=ARUM{eTOh` zrR==l`C{y9Ejz9PxZr3?4D7xA>dT*(8w4G4f4qZm@&>ej3Qb=FIO*%L4JYtTFj0h#q_z-Hh(B zD||OIKR=pZZ^j3O-J6k=SNJHSb?iUF116=0{uIo;rr?++5i9m07*qoM6N<$f;KTYcK`qY literal 0 HcmV?d00001 diff --git a/graphics/event_objects/pics/people/may/mach_bike/0.png b/graphics/event_objects/pics/people/may/mach_bike/0.png deleted file mode 100644 index 389f29985c81a0ab8dec0d115d08e1b466ae1d00..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 302 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfvg8-ip*W#l~{@*)$Z^@Li&BfJG zK}ku)nwE}BvVyz}Ezh34mvzfVoGYA-SAcU?ImAw*_2V)G%It9;n| z>F#dLuN-#ufu7y%yMM8_G*q`&1-o-PH5^_XxFm29YoeBWci`fdP3%q$^Y5?pbbiY0 z#C>?V{;^~KetBH0`+NW5M|-)0>A%1K%l@>JYS_$7Sb6>!Ffs@_xZT;BVRRGdZU#?RKbLh*2~7a|N93cc+)Ud*?3n z=CmdbF%2r$XWIS5V{Ygs9ytE;CcC&$59SJy4p|BRnQ zmxm|5r}yu~zlZAI{{J77!ult7=k-s4EH&0v>lC;R{@mCqb@Qo1cli4(2f+vbzx`)k tb>Qs&6-+$$|1JI`dER49>SU>I_MqXU&2+Pwo=gd=Lzs_xwl2!YO3>)y@Sfux{f z-n*CmND4U0TRb|-KOh9yE85G;kp);9CCb&+kp%>s+EG;qHno)dBRS)zv$2H>iog`- z4i_X_8Tfzv|JL#UKSJQ&Q>D9izpX-;`g6XqZQAYKaDlY^|9{hR)Apx9`E39H`upF# zmjC~M0z@F+|BC+Kj{SdJT)sgBK7Bay>Hq)#F8BELp#qUVgMLosS9O^W72sDC)MpJ~ l_#`L|x~kN8!jC_4tDo)7{@I`s zVE6v6cezUA`&V*$x~^Y28udkeMWx>U<7k}5=g5DMk6$Hvt|`lGp9ydNesFbOdGf#g zB;CK~j;Yy;OkfGIvikM^xH8L)e|!H+{eNG}`|Bv0@Z+2O)bj`0mNhiWt1&QKd+6F;>n!{Y=yC>6S3j3^P6F?uej zxwm`zI}fJ&S8ZdWx?Tw~#cR#dGP(6vkV#jzNv=s&&SRTZHiy|vg`2nkyE?BtIbUA! z!^-DSvY*(1rh{8s1p``(6LP z-a&B3H}Tf<2kPJOuVOfS{{M;^HZv1eo<9bR4Cd#V6@a4fmL>wxMiUL_xtvmN~knjalv)-&e7zG~TriD}A5maP88@-OQ2P_219+-L$q- z;0$?lZ|`nd&j;0&?(XiDwoVVat1BxjJMEnoEIqn+&ymB-Cx!UM#ixs@WZTueD|or# zx%;;3H*c_<6k==J|MUO;yY6B?CYG7Mwcm7Ly0q-xeSU>I_sqXC868nGKiq;=J*6}xvJ_#CrVy?fb>q@um^ z-Mbk-kaVMn$0000SU>JI!qXC868nGKiq;=J*6}xvJ_#CrVy?fb>q@um^ z-Mbk-kaVhI4Y~134EHJ~x zqQwKr2>$-{wGBpb#(myAEZf%{aPH5Vk`;r3ubV5b|VeQ zS?=lL7$Pw>Ibi|wgBJ-2FESX6c9m~;dvlL5Y0J7OQO2Z#H&LeVRXtvLKi^$${HL+! zy{fLbqc>;Lw$8`YiLU;X`g&4er0V^=?R4EmE<{(f1b1ke0S sm%beI`&0B^Kf;>%Kl?v^4?lJW%jNchiwwDb0iDd?>FVdQ&MBb@0Lzws3IG5A diff --git a/graphics/event_objects/pics/people/may/normal/01.png b/graphics/event_objects/pics/people/may/normal/01.png deleted file mode 100644 index 2c3641e0ad53f53170c247e8d382018895095df7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 294 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3l*?UW-oNX?y zjtWXjD%P}gT#^;!WoUW!?7gh3j*e>-{wGBpb#(myAEZf%{aPH5Vk`;r3ubV5b|VeQ zS>oy97$Pw>Ibi|wgBJ-2FESX6c7<(sdlSW&Qu6*?)W&M|h*d!R>i9d!xx0Ti_PoEl zyZrr%^n?fc>tDRc(Eoqn!22LR7Cm_h3!4U=>C@QQ`lgAAi}UxhvDMXei}gR_mv6YW zPeS^4^P5NFzyI3{s(g4K{ch`@?+(Y#zw7Ih{p=VdxI1in(~=+cYwlg;Pco?S^1jS& n{qgkQ{RwY*{>cBZSFn_2Fi&ytyi!mL@&kjXtDnm{r-UW|I17E) diff --git a/graphics/event_objects/pics/people/may/normal/02.png b/graphics/event_objects/pics/people/may/normal/02.png deleted file mode 100644 index 32b7120a5ccc2fe5fb89b63b19a750dc3fdfb7ae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 265 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3l*?UW-oNX?y zjtWXjD%P}gT#^;!WoUW!?7gh3j*e>-{wGBpb#(myAEZf%{aPH5Vk`;r3ubV5b|VeQ zY4>z-43U_coUlOnMFvCgTEX21*IWx-o%ZJ5!2<^jv!CvndDmg$w{zw1)BZ4=+7iBF z$BygFl22uyK7Fdt)}BxuDA@5(VbP0l+XkKxnOOI diff --git a/graphics/event_objects/pics/people/may/normal/03.png b/graphics/event_objects/pics/people/may/normal/03.png deleted file mode 100644 index d1047dff8917cd58ff836a51c4dfdafd967b07aa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 289 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3l*?UW-oNX?y zjtWXjD%P}gT#^;!WoUW!?7gh3j*e>-{wGBpb#(myAEZf%{aPH5Vk`;r3ubV5b|VeQ zneXZ17$Pw>IbnhNgBJ-2FESX6c9m~;dvlL5Y0J7OQO2Z#H&LeVRXtvLKi^$${HL+! zy{fL@S*(4v;EA55_R|Y+6$lgu{+z<=7!__clZACr+wJ{ k_di48kGcjcF&#z*CRrP1hO56X0G-O<>FVdQ&MBb@05!pPeE-{wGBpb#(myAEZf%{aPH5Vk`;r3ubV5b|VeQ znd|A|7$Pw>IbnhNgBJ-2FESX6c9m~;dvlL5Y0J7OQO2Z#H&LeVRXtvLKi^$${HL+! zy{fLfU}I3}u;i^0I-{wGBpb#(myAEZf%{aPH5Vk`;r3ubV5b|VeQ znd9l=7$Pw>IbnhNgBJ-2FESX6c7<(sdlSW&Qu6*?)W&M|h*d!R>i9d!xx0Ti_PoEl zyZrr%^n?fc>tDRc(Eoqn!22LR7Cm_h3!4U=>C@QQ`lgAAi}UxhvDMXei}gR_mv6YW zPeS^4^P5NWzx}U&#BQMcJ&J3_$KP)5x2pw|w^d*5`>Eh+zq@QbgQsDQv9~va^~C@0 f*jFU~Z{}c_=V)^>vpnG@(47pPu6{1-oD!M-{wGBpb#(myAEZf%{aPH5Vk`;r3ubV5b|VeQ zneFM~7$Pw>IbnhNgBJ-2FESX6c7<(sdlSW&Qu6*?)W&M|h*d!R>i9d!xx0Ti_PoEl zyZrr%^n?fc>tDRc(Eoqn!22LR7Cm_h3!4U=>C@QQ`lgAAi}UxhvDMXei}gR_mv6YW zPeS^4^P5NFzyI3{s~mVgt(y1DkLedL?v_9D1iV>{XOU|(3uRLu6{1-oD!M<*ynls diff --git a/graphics/event_objects/pics/people/may/normal/07.png b/graphics/event_objects/pics/people/may/normal/07.png deleted file mode 100644 index e11b30b65a502bb868db5b839131ae42b5b2415b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 271 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3l*?UW-oNX?y zjtWXjD%P}gT#^;!WoUW!?7gh3j*e>-{wGBpb#(myAEZf%{aPH5Vk`;r3ubV5b|VeQ z>GgDR43U_coUp+BMFvCgTEX21*IbKTo%ZJ5!2<_2RzKZ6^RC0hZ|BPOmFpN%Z)wNG z+-{wGBpb#(myAEZf%{aPH5Vk`;r3ubV5b|VeQ z>G5=N43U_coUp+BMFvCgTEX21*IbKTo%ZJ5!2<_2RzKZ6^RC0hZ|BPOmFpN%Z)wNG z+-{wGBpb#(myAEZf%{aPH5Vk`;r3ubV5b|VeQ znd#}`7$Pw>Ibi|&3kGF2w!XW(4lHR~+#DpUX6DvccdhFc9#=oz zU4Hqsq{NSIuPB>4SM3cx>@HtnUOJ^F;lYOtk<2L>nF$Xv46~*Ld}GM^{r<|5g`ebC z{J1NgoczDs;i&Qd`qTgIKQjlsdVP2IM+Z%|f7^DK8{0M9`KYRUR{qU~{r}?MHB0`H d|6!j{Y{|f9YI`am!~^7T22WQ%mvv4FO#l^zc~bxY diff --git a/graphics/event_objects/pics/people/may/normal/10.png b/graphics/event_objects/pics/people/may/normal/10.png deleted file mode 100644 index 2a678208e0476bec7d4c0ef1b0f8dfa75a9bfe4c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 291 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3l*?UW-oNX?y zjtWXjD%P}gT#^;!WoUW!?7gh3j*e>-{wGBpb#(myAEZf%{aPH5Vk`;r3ubV5b|VeQ zS?KBF7$Pw>Ibi|wgBJ-2FESX6c7<(sdlSW&Qu6*?)W&M|h*d!R>i9d!xx0Ti_PoEl zyZrr%^n?fc>tDRc(Eoqn!22LR7Cm_h3!4U=>C@QQ`lgAAi}UxhvDMXei}gR_mzR+E zS8r(c?LYsOubXtgM;)_SuugKXtgN|}W02tPuDvKG%xkM&-{wGBpb#(myAEZf%{aPH5Vk`;r3ubV5b|VeQ zY4LP%43U_coUp+7MFvCgTEX21*IWx-tyK0tA>qM{ty%X@=PmH4e!jchxQ-$9mUc|c zo!5;$pZY$1DiS#CykYMOjw1zAE;Mv7NWN2*Z{QJ2ek>*~(0uUdqNB`7!MFb3`=4;E zzr23)fg<~~e|LG)KK$R$J@JvhH#4`vpSLrZ5-{wGBpb#(myAEZf%{aPH5Vk`;r3ubV5b|VeQ zndIr>7$Pw>IbnhJ3kGF2w!XW(4lHR~+#DpN=GIqtx$D{5 z{(L%B{(jl?`h*{GA(tLKTo-r#!`;2kdsi-AGOuy*;=m<=i-{wGBpb#(myAEZf%{aPH5Vk`;r3ubV5b|VeQ znds@_7$Pw>IbnhJ3kGF2w!XW(4lHR~+#Dp5G@88Kvxyq`3<&l-`73vd`b;#{?>lHdBk%hClxA-7n3ZWbkLs{4(Y@a{vCP+d0G>d(V_=@W;K(fFV}W V+?BgxVkppY44$rjF6*2UngCZmZ?pga diff --git a/graphics/event_objects/pics/people/may/normal/14.png b/graphics/event_objects/pics/people/may/normal/14.png deleted file mode 100644 index 6a5a2e3e5206b64606179de4f9b20dd6d02578d6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 286 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3l*?UW-oNX?y zjtWXjD%P}gT#^;!WoUW!?7gh3j*e>-{wGBpb#(myAEZf%{aPH5Vk`;r3ubV5b|VeQ znd9l=7$Pw>IbnhNgBJ-2FESX6c7<(sdlSW&Qu6*?)W&M|h*d!R>i9d!xx0T$O8hvz zyZrsVz<-Sot1DgI-K#5Y50_6bQYcuN{^KEI%FZocj6c+878ZW|@ShmAfEeYE(smbd%XWQ<0F@U gCK}BT?K>D4&KTLQdH-A~9q3L5Pgg&ebxsLQ0HW4?rT_o{ diff --git a/graphics/event_objects/pics/people/may/normal/15.png b/graphics/event_objects/pics/people/may/normal/15.png deleted file mode 100644 index 06d8131673995f717c52a2f5cc32a753f9ce7534..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 284 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3l*?UW-oNX?y zjtWXjD%P}gT#^;!WoUW!?7gh3j*e>-{wGBpb#(myAEZf%{aPH5Vk`;r3ubV5b|VeQ zndRx?7$Pw>IbnhNgBJ-2FESX6c7<(sdlSW&Qu6*?)W&M|h*d!R>i9d!xx0T$O8hvz zyZrsVz<-Sot1DgI-K#5Y50_6bQYcuN{^KEI%FZocj6c+878ZW|@Sh+WhVYZBeORQ0*@oMZLhnWs!- fOEvhzp2RR^xor^Z7S@$OS2B3I`njxgN@xNA+-Q6z diff --git a/graphics/event_objects/pics/people/may/normal/16.png b/graphics/event_objects/pics/people/may/normal/16.png deleted file mode 100644 index c1fe3d367da64aa6ea319f319d50c93bb8b74383..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 277 zcmV+w0qXvVP)8IuY0000mP)t-sbH$|p z-p$^ml+A;4dsGRS(Ez4eBX)yXt*cf=?B2n^z%gspyqDcTk@n7a z?`He}%CuLwxVYB?8RZ@2<>mfBhKFFgx_bEs1_nn74WJO1q1;kl0+eGhHnwQ-0E#fU zn6zkg0vY`8nw0wg0|oeJ{_nV(1(N#z|L@)1AO?$n?zQ~;AUT)+|9^rQ4F4JU&wPM7 b5vU6Qovb-E`=Eu!00000NkvXXu0mjfV?BC# diff --git a/graphics/event_objects/pics/people/may/normal/17.png b/graphics/event_objects/pics/people/may/normal/17.png deleted file mode 100644 index 334c70cf143c51a607d8f13f3b18d8b57938b5e5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 280 zcmV+z0q6dSP)8IuY0000mP)t-sbH$|p z-p$^ml+A;4dsGRS(Ez4eBX)yXt*cf=?B2n^z%gspyqDcTk@n7a z?`He}%CuLwxVYB?8RZ@2<>mfBhKFFgx_bEs1_nn74WJO1q1;kl0+eGhHnwQ-0E%R~ zn5231gBbI_B`f`V&%nU{;qQ(9pYwtGIruy7-UmuC{Q3X)ZW_qMztjHz{{mw0U-_KqYr^;d0000000+sMObuGZ)S9NVRB^vM@&RePDdbiWpW@hE;Mn4q~QPn00?w&PDe*f zL^A*Y002sWDIWj;00d`2O+f$vv5yPer2pQ{-lUYxgL8XYQet9r zDLFx;YEnuuInB-9YSlqOtRVklTE#&@|Ns90001Hf)?NSr00Cl4M@0Xn2lB-L0004W zQchC@bW+=NC-Z(>=Rz3nwUNCnFh z3qg>;+EX@mldJ}tOKa7GUL}43$$kZoHF#OP>SZ%%nndV2eQ(BzA=O@bbqM_4yq)>~ zW|AcUPvdDkjen0oe!w7l|B+*a9)18ek1Dy=p^ElK1mmJdg+^G(QBXbHJPePqfm6BR zPB1R|OQ>m7n$4Uv)sLw|Qwr3AanZPNNTbzkUScr_cQ(QX7<PHKDuL zjAI+1Uk}6M64W;0cxM3cEPp4EqUxd+jSGij=zosmA0=S!S`gG+URyKGYzbhQ1Q)gv zUD(^qC6UWDwNMk-YSFi{)0~+u4wJh90)tju63|A;USEkynp&s{EE`O(2SsjJm}L5% z^}M#aiVylqP#RK+hLl1)uqGH*`9(S9dxr0ure%5askA&%UkOUc^eS?oL=8<8PEWfW zG{Nv+l~Yre$JiU+`ocK|WsB4gND$yCr{+_E$GRl4xuz6ifF^)=yPke2kljqi7BG>? z_$KwsBuL#;iH4j{P5Exo9uing0WoKn)j~VJ&%wlnFegv_M>_H;)ehZV;!OZW2T&WIQ=*+#JX|JC3~jmE+71nTY6Mu;r-d zHwVrcwcl@shZKnTjuaw^NNBJiI;R6bVt3Ca&l5@JII_=9grYc+?7emtiO-y+6~u&H zXs_Ug-x#P)!Z_ojOoDG}F5iOtf<<~R3uX#&gF(r*5MBF$KRP^tP=(MPRWL^fsY2kH m>8d~Ji+U*N(IFl#)a(zbR}mv+uoy}J0000er2pQ{-lUYxgL8XYQet9r zDLFx;YEnuuInB-9YSlqOtRVklTE#&@|Ns90001Hf)?NSr00Cl4M@0Xn2lB-L0004W zQchC8e?tNy{ie7sS~0MRzixA6h*B_PsRt8s#4IrE@>ESx|Fs>RmBR?awF z22_jjg2r{(ay-D$LE;HuXgqD@9`Q_MU>L-S6iYla+45FlQxgW<0`CA>pFVFtc})GC zh0cILZv>Qlgu2vDjR z{Qu8$jWPJwYkt#DU@}dgYFY2y4{={_!+e7#xPnFYs=#S9aDRIDn{tMUr4kC@B zN!Rm$-o@AhI_eGW4&RRm3UCf4dbM6VgD0e=$P2(iG^@-iFp`Nq>;fIVESEpS0klS% zAd+al)(|f_P6TF-*Z|n$p^afbAz>HZ(bak*1d+^%$d5yhfx^To67GB6X8-^I07*qoM6N<$g5yDi AfB*mh literal 0 HcmV?d00001 diff --git a/graphics/event_objects/pics/people/may/surfing/0.png b/graphics/event_objects/pics/people/may/surfing/0.png deleted file mode 100644 index 98b152f5f3ec160788c26b9bce378d74abd6c365..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 300 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfvg8-ip*W#l~{@*)$Z^@Li&BfJG zK}ku)nwE}BvVyz}Ezh34mvzbP0l+XkK=X-l( diff --git a/graphics/event_objects/pics/people/may/surfing/1.png b/graphics/event_objects/pics/people/may/surfing/1.png deleted file mode 100644 index 45ae647056d6fdaef8fa734791fb47ed3f30bd3d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 291 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfvg8-ip*W#l~{@*)$Z^@Li&BfJG zK}ku)nwE}BvVyz}Ezh34mvz+_-`~leh^l+@?!}F} z{W=$d;@&l?9Ej&*lNVspQ`pDt)Nq(twB;DIR{jWz`!IbSg zc1)>v;MfqpW%_hw?hPhhQ&z85=H@Wlx_Fg9PL}3(_p<4mH@0$jF?1KVb8m8%l(=LS zu;)`_VqTk_(ER=L|9iI|sZVMAKl86>q{p>?e^*TVpKLzq!1lVO_3tNcG5C=G^MA2j f*V_M*KNd!L&(l{REwT{Zm#Q~a*5z10uZ90_x=0t@$KK+y@m3LoXm%>|E_=kzt>&p$M5fM z@BjV=+W2_?F=g%#%`6knCOr6m;Q#za4+e(E{$4w7#XG$KI-J4N)z4*}Q$iB}9Mpxq diff --git a/graphics/event_objects/pics/people/may/surfing/4.png b/graphics/event_objects/pics/people/may/surfing/4.png deleted file mode 100644 index ac89a2672be46dd79ac9d042fdc1cab5906fe251..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 296 zcmV+@0oVSCP)SU>M?nql1B=qX9{vYjyXIT`Q0Tx_8Xz?B0Q_rF-}8 z9mraK?C$8;-H$BLQeN(XB*0$|1|JXtE+D=OLV&{qDB{wBF!jfm78e%}f4Cv6@AAL= z|L_0*T>wmAW?O%<*^i8wFad`D&DYY>axMNN?ERnH(Qyrl5A^D;)yNKI;GeO2SLX+0 ufymI%sVD+B`hWBy3o!iuz>i`kJ^%n?Mn%iCqi2Nx0000SSj;?C`qtjXj5Fo8W`%y|Q)xUG`ug748@&OC0uA5aJzb~bY;h_& zCgzmA0?Q5UTc=M?WQ~wgJ$3c!L{^sBw*o^s%(hPXt-Sm6%^QbUT^o+>d~CnTSyJNC zuluzQf)CEj|M}lu=>OsWyZ`UrERgl%_y6>BZ}0c&dpzwL j;C|Do^n@Sh8-y7cnr7R~;CXrw}OENy=LQ000+sMObuGZ)S9NVRB^vM@&RePDdbiWpW@hE;Mn4q~QPn00?w&PDe*f zL^A*Y002sWDIWj;00d`2O+f$vv5yPer2pQ{-lUYxgL8XYQeu0Y zN?L<4L24K&QiG($|HWFpoLc{4TE#&@|Ns90005}t5T*bC00Cl4M@0Xn2lB-L0004W zQchCG@LG=3=KNx)r2(M0($ifj!pmC z4_!Xw5&iO$L#Nd30Zmi@10lr#vV%C)Q=P;yrjyfeiO>8P)mx$ZKE>CG1aJm8D*)Nq zc`pV;*IIS4upX_grrd$_5W)*(Z9L6wirGOa&Ml$r7`ezvzhw}}S^@#4SWlOHd--19 z)f4w;AdMBkSP^Xv-V#~N*B!Zbu1Nqio!O%R9sxXV0M-_HWgx#2;3-n)S=^s@YzX1y z0sJ}X1MLR_!@p zv%u5EF+^kH*8YV;hYSQ}iZ57ej+3^0{%<9eg zMS-t&Jg}YAHa$0M!S5B>3zUlgFYY;0e78gPb3pha)lH%qI&_!@p zGt<+>F+^kH)(eJwhYWaFFZATt#jXq3Sn9LgNU;3WEuXzf%a8fUGpiO(yz$_;_q;!% zn&#?3z{_g(Zwsk!{8 ejT^du$G@xHQQqm4nVtZ2B!j1`pUXO@geCy&p>*E> diff --git a/graphics/event_objects/pics/people/may/underwater/2.png b/graphics/event_objects/pics/people/may/underwater/2.png deleted file mode 100644 index 423f01f88ef649027ac3cedad1b86f884cb6807b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 286 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfvg8-ip*W#l~{@*)$Z^@Li&BfJG zK}pqfyrP;79kV1fgPNBd{eLuS@0_UrNl`}~9smFT57e~cvA{AQ#aI&L7tG-B>_!@p zGsn}#F+^kH){BZl%?1Lj7w#x5Po7Y?^+bTHZ+pnv7L9cso+nquADWWVx%x%LQve|EPpH1sL z5_rh$L(nR>xLw~bE5vsmd~i*%xlcq^pn<14P<$4Xhl4_!@p zGuzX}F+^kH){Bb#hZO`^6Q0QIUw2X_uWZ%A;HgWwb}oFUf9*otRcT#L+XCV0ceR?w zCu)7&pO9IVuXX9+XD$`hbBZiN1&>)K|8Vg?x07ql*2B9SBhPslOkml1b6(GjGi7fS z#O`KFA52~0w#WYZ+&`=l@*T?<5*VJ})MvGtY*xy2fc-(!9quIyEv$~{T3%1Ge6%&! h-hZXl+xj1>@tz0Dr+IP)er2pQ{-lUYxgL8XYQet9r zDLFx;YEnuuInB-9YSlqOtRVklTE#&@|Ns90001Hf)?NSr00Cl4M@0Xn2lB-L0004W zQchCey=sAr1KlI<_W@(457-hQyVc*w=ec(TA@j&^>SY-FtfX ze#glcA$M^XcX4YJEJCbmMu>#}6}DF|dk!JZLA~tupdxZHNfz8DMB4R!zwE%kW)B7u zkspXfB9KM0FlE8*AD*Jgb};{Xbl9=0nLrX{LKlT8&-X^7gH=L8?_kes6ViY@%n4*s zLhonG2~u%Omz#iCg)sA7_0R>{laV|b7XB#|sk zSumg0ii>KsV48}esyJw6i{%9KB3YP{(pOIxpD{-13se2V7`ay}nL?Ne=0&nFrFbo+ z(rTWHn3xyLi)3L+LKisyB^LA%=kK6!e*=H7QC`r!QJ8Tyt_){m!AWJP3zC)|LOq)B z5Cscuu8To*KNf-TV@{Yd>iT{p8YA1X95CT98HH7aKAEK2QF8JI4C&V zz<+G(J;y=x!X2zZL)jhFpJ)IWy4%M)uCPQGEaj-fsq2OuQ7!3aq; z-`C(lIB?r|Y2C=ffo^XN8ZMfH0LpLdzJn+4J3krv0ua(^yYmO%+L@+3$&+dt8YaGv zR7Oijf}E6a-2`-YZib1=#RMWCwaW!gnnmn#;>2;5L{Zw`Sl{s{sQSc5RvMaLEiuX N002ovPDHLkV1mx!etQ4_ literal 0 HcmV?d00001 diff --git a/graphics/event_objects/pics/people/may/watering.png b/graphics/event_objects/pics/people/may/watering.png new file mode 100644 index 0000000000000000000000000000000000000000..28c5b41beb9f086864a110835136edbaf90fe56e GIT binary patch literal 775 zcmV+i1Ni)jP)er2pQ{-lUYxgL8XYQet9r zDLFx;YEnuuInB-9YSlqOtRVklTE#&@|Ns90001Hf)?NSr00Cl4M@0Xn2lB-L0004W zQchCFfnAh|u+BhvFgy zImkJg_HuXcE=VV_U377f6r64d%_KPH$R-YVB!doxvpkM^wvybl$)%Tc1(P9I*eju%pip*w=}mMaIs~M!tdMct-_BSTSu{b}&|x18 zOndkNHhyHiH-(90BRsUMet}K9w{P08_pOhkUV+i%z#5Mlu(9blwhkI^y&dL96pb#Q;4IG&JFxkc|j= z*tvI?G051Mzcf`GAZO0jYIP+GlpQBdYPALfO-Oyaz8$gUCMSMrjVf2|Whd9pTfFfd zHah40={Ik=L*?;oO0z!(*>U|GMJN04p| z3mv1chw1V_@}e!{Ty{BU!jR!L&(l{REwT{ZIrQ~a*5z11)KRX*(f zba(g5uN-#ufu7y%yMM8_G*q`&1-o-PH5^_XxFm29YoeBWci`fdP3%q$^Y5?pbbiY0 z#LfI)JUO{u#g6&^_CNps`A=lox9?B&_x~X&jX&LE&MnUPS^wcoC0k14ALHl$mAMUS vetrJ_hB>8i|G)fuH4Ya)KeS&Z#=^i5HPN+SxM+GM(A5l{u6{1-oD!MSU>I(Iql1B=qX9{vYjyXIT`Q0Tx_8Xz?B0Q_rF-}8 z9mraK?C$8;-H$BLQeN(XB*0$|1|JXtE+D=OLV&{qDB{wBFqNaF#l^+L10lfAZ_#Yg z{1>5xf#KW#{~1rtBU#gydo6zklEA;W9Ub@o-bV=hoUvSU>N#t4>-fux{f z-n*IoND4U0TU=bqKOh9yE85G;kp);9CCb&+kp%>s+EG;qHno)dBl!P6I2&8IAO!gD z-e+;{a6#Dm$HnL8j}9b<|2ZS`vp4BKTm}FCGiUy{-GBEV%IEug_RD#OzxQYUf?50T z&i@Y#{4@XWh6(Wh0}*Ly{~3_M-y2&#pa}5)M^%6X02o?IH^sif3;+NC07*qoM6N<$ Ef`e;`3;+NC diff --git a/graphics/event_objects/pics/people/may/watering/3.png b/graphics/event_objects/pics/people/may/watering/3.png deleted file mode 100644 index c0f732d7254b60320105c030d44190705d6785b8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 305 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfvg8-ip*W#l~{@*)$Z^@Li&BfJG zK}ku)nwE}BvVyz}Ezh34mvz!L&(l{REwT{ZIrQ~a*5z11)KRX*(f zba(g5uN-#ufu7y%yMM8_G*q`&1-o-PH5^_XxFm29YoeBWci`fdP3%q$^Y5?pbbiY0 z#LfI)JUO{u#g6&^_CNps`A=lox9?B&_x~X&jX&LE&MnUPS^wcoC0k14ALHl$mAMUS zetrI~vq`LN|G)Zo3phU1|M)+j-0oneEP)SU>I(Iql1B=qX9{vYjyXIT`Q0Tx_8Xz?B0Q_rF-}8 z9mraK?C$8;-H$BLQeN(XB*0$|1|JXtE+D=OLV&{qDB{wBFqNaF#l^+L10lfAZ_#Yg z{1>5xf#KW#{~1rtBU#gydo6zklEA;W9Ub@o-bV=hoUv6<~ sePlkvm-~PH8TgO{_&@M};A6lF0JZNz&9_Tih5!Hn07*qoM6N<$f@wE`7XSbN diff --git a/graphics/event_objects/pics/people/may/watering/5.png b/graphics/event_objects/pics/people/may/watering/5.png deleted file mode 100644 index 939671a315b360e1f1c473df663f99213aa18cb3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 306 zcmV-20nPr2P)SU>N#t4>-fux{f z-n*IoND4U0TU=bqKOh9yE85G;kp);9CCb&+kp%>s+EG;qHno)dBl!P6I2&8IAO!gD z-e+;{a6#Dm$HnL8j}9b<|2ZS`vp4BKTm}FCGiUy{-GBEVCh+&{m-7sN@6Y@Nv-Z!O z{~s9mXa3*)0j>o^q@}^MJb>uCu?6nX2M@r?;AWx&0Ci7H$fw8u5dZ)H07*qoM6N<$ Ef`>thpa1{> diff --git a/src/data/field_event_obj/event_object_graphics.h b/src/data/field_event_obj/event_object_graphics.h index 407bc20e03..42385f0c42 100755 --- a/src/data/field_event_obj/event_object_graphics.h +++ b/src/data/field_event_obj/event_object_graphics.h @@ -48,33 +48,11 @@ const u32 gEventObjectPic_BrendanFishing[] = INCBIN_U32("graphics/event_objects/ const u32 gEventObjectPic_BrendanWatering[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/watering.4bpp"); const u32 gEventObjectPic_BrendanDecorating[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/decorating.4bpp"); const u32 gEventObjectPic_MayDecorating[] = INCBIN_U32("graphics/event_objects/pics/people/may/decorating.4bpp"); -const u32 gEventObjectPic_BrendanUnderwater_0[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/underwater/0.4bpp"); -const u32 gEventObjectPic_BrendanUnderwater_1[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/underwater/1.4bpp"); -const u32 gEventObjectPic_BrendanUnderwater_2[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/underwater/2.4bpp"); -const u32 gEventObjectPic_BrendanUnderwater_3[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/underwater/3.4bpp"); -const u32 gEventObjectPic_MayUnderwater_0[] = INCBIN_U32("graphics/event_objects/pics/people/may/underwater/0.4bpp"); -const u32 gEventObjectPic_MayUnderwater_1[] = INCBIN_U32("graphics/event_objects/pics/people/may/underwater/1.4bpp"); -const u32 gEventObjectPic_MayUnderwater_2[] = INCBIN_U32("graphics/event_objects/pics/people/may/underwater/2.4bpp"); -const u32 gEventObjectPic_MayUnderwater_3[] = INCBIN_U32("graphics/event_objects/pics/people/may/underwater/3.4bpp"); +const u32 gEventObjectPic_BrendanUnderwater[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/underwater.4bpp"); +const u32 gEventObjectPic_MayUnderwater[] = INCBIN_U32("graphics/event_objects/pics/people/may/underwater.4bpp"); const u16 gEventObjectPalette11[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_11.gbapal"); -const u32 gEventObjectPic_MayNormal_0[] = INCBIN_U32("graphics/event_objects/pics/people/may/normal/00.4bpp"); -const u32 gEventObjectPic_MayNormal_1[] = INCBIN_U32("graphics/event_objects/pics/people/may/normal/01.4bpp"); -const u32 gEventObjectPic_MayNormal_2[] = INCBIN_U32("graphics/event_objects/pics/people/may/normal/02.4bpp"); -const u32 gEventObjectPic_MayNormal_3[] = INCBIN_U32("graphics/event_objects/pics/people/may/normal/03.4bpp"); -const u32 gEventObjectPic_MayNormal_4[] = INCBIN_U32("graphics/event_objects/pics/people/may/normal/04.4bpp"); -const u32 gEventObjectPic_MayNormal_5[] = INCBIN_U32("graphics/event_objects/pics/people/may/normal/05.4bpp"); -const u32 gEventObjectPic_MayNormal_6[] = INCBIN_U32("graphics/event_objects/pics/people/may/normal/06.4bpp"); -const u32 gEventObjectPic_MayNormal_7[] = INCBIN_U32("graphics/event_objects/pics/people/may/normal/07.4bpp"); -const u32 gEventObjectPic_MayNormal_8[] = INCBIN_U32("graphics/event_objects/pics/people/may/normal/08.4bpp"); -const u32 gEventObjectPic_MayNormal_9[] = INCBIN_U32("graphics/event_objects/pics/people/may/normal/09.4bpp"); -const u32 gEventObjectPic_MayNormal_10[] = INCBIN_U32("graphics/event_objects/pics/people/may/normal/10.4bpp"); -const u32 gEventObjectPic_MayNormal_11[] = INCBIN_U32("graphics/event_objects/pics/people/may/normal/11.4bpp"); -const u32 gEventObjectPic_MayNormal_12[] = INCBIN_U32("graphics/event_objects/pics/people/may/normal/12.4bpp"); -const u32 gEventObjectPic_MayNormal_13[] = INCBIN_U32("graphics/event_objects/pics/people/may/normal/13.4bpp"); -const u32 gEventObjectPic_MayNormal_14[] = INCBIN_U32("graphics/event_objects/pics/people/may/normal/14.4bpp"); -const u32 gEventObjectPic_MayNormal_15[] = INCBIN_U32("graphics/event_objects/pics/people/may/normal/15.4bpp"); -const u32 gEventObjectPic_MayNormal_16[] = INCBIN_U32("graphics/event_objects/pics/people/may/normal/16.4bpp"); -const u32 gEventObjectPic_MayNormal_17[] = INCBIN_U32("graphics/event_objects/pics/people/may/normal/17.4bpp"); +const u32 gEventObjectPic_MayNormal[] = INCBIN_U32("graphics/event_objects/pics/people/may/walking.4bpp"); +const u32 gEventObjectPic_MayRunning[] = INCBIN_U32("graphics/event_objects/pics/people/may/running.4bpp"); const u16 gEventObjectPalette17[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_17.gbapal"); const u16 gEventObjectPalette18[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_18.gbapal"); const u32 gEventObjectPic_RubySapphireMay_0[] = INCBIN_U32("graphics/event_objects/pics/people/ruby_sapphire_may/00.4bpp"); @@ -111,71 +89,12 @@ const u16 NullPalette_84A5638[16] = {}; const u16 NullPalette_84A5658[16] = {}; const u16 NullPalette_84A5678[16] = {}; const u16 NullPalette_84A5698[16] = {}; -const u32 gEventObjectPic_MayMachBike_0[] = INCBIN_U32("graphics/event_objects/pics/people/may/mach_bike/0.4bpp"); -const u32 gEventObjectPic_MayMachBike_1[] = INCBIN_U32("graphics/event_objects/pics/people/may/mach_bike/1.4bpp"); -const u32 gEventObjectPic_MayMachBike_2[] = INCBIN_U32("graphics/event_objects/pics/people/may/mach_bike/2.4bpp"); -const u32 gEventObjectPic_MayMachBike_3[] = INCBIN_U32("graphics/event_objects/pics/people/may/mach_bike/3.4bpp"); -const u32 gEventObjectPic_MayMachBike_4[] = INCBIN_U32("graphics/event_objects/pics/people/may/mach_bike/4.4bpp"); -const u32 gEventObjectPic_MayMachBike_5[] = INCBIN_U32("graphics/event_objects/pics/people/may/mach_bike/5.4bpp"); -const u32 gEventObjectPic_MayMachBike_6[] = INCBIN_U32("graphics/event_objects/pics/people/may/mach_bike/6.4bpp"); -const u32 gEventObjectPic_MayMachBike_7[] = INCBIN_U32("graphics/event_objects/pics/people/may/mach_bike/7.4bpp"); -const u32 gEventObjectPic_MayMachBike_8[] = INCBIN_U32("graphics/event_objects/pics/people/may/mach_bike/8.4bpp"); -const u32 gEventObjectPic_MayAcroBike_0[] = INCBIN_U32("graphics/event_objects/pics/people/may/acro_bike/00.4bpp"); -const u32 gEventObjectPic_MayAcroBike_1[] = INCBIN_U32("graphics/event_objects/pics/people/may/acro_bike/01.4bpp"); -const u32 gEventObjectPic_MayAcroBike_2[] = INCBIN_U32("graphics/event_objects/pics/people/may/acro_bike/02.4bpp"); -const u32 gEventObjectPic_MayAcroBike_3[] = INCBIN_U32("graphics/event_objects/pics/people/may/acro_bike/03.4bpp"); -const u32 gEventObjectPic_MayAcroBike_4[] = INCBIN_U32("graphics/event_objects/pics/people/may/acro_bike/04.4bpp"); -const u32 gEventObjectPic_MayAcroBike_5[] = INCBIN_U32("graphics/event_objects/pics/people/may/acro_bike/05.4bpp"); -const u32 gEventObjectPic_MayAcroBike_6[] = INCBIN_U32("graphics/event_objects/pics/people/may/acro_bike/06.4bpp"); -const u32 gEventObjectPic_MayAcroBike_7[] = INCBIN_U32("graphics/event_objects/pics/people/may/acro_bike/07.4bpp"); -const u32 gEventObjectPic_MayAcroBike_8[] = INCBIN_U32("graphics/event_objects/pics/people/may/acro_bike/08.4bpp"); -const u32 gEventObjectPic_MayAcroBike_9[] = INCBIN_U32("graphics/event_objects/pics/people/may/acro_bike/09.4bpp"); -const u32 gEventObjectPic_MayAcroBike_10[] = INCBIN_U32("graphics/event_objects/pics/people/may/acro_bike/10.4bpp"); -const u32 gEventObjectPic_MayAcroBike_11[] = INCBIN_U32("graphics/event_objects/pics/people/may/acro_bike/11.4bpp"); -const u32 gEventObjectPic_MayAcroBike_12[] = INCBIN_U32("graphics/event_objects/pics/people/may/acro_bike/12.4bpp"); -const u32 gEventObjectPic_MayAcroBike_13[] = INCBIN_U32("graphics/event_objects/pics/people/may/acro_bike/13.4bpp"); -const u32 gEventObjectPic_MayAcroBike_14[] = INCBIN_U32("graphics/event_objects/pics/people/may/acro_bike/14.4bpp"); -const u32 gEventObjectPic_MayAcroBike_15[] = INCBIN_U32("graphics/event_objects/pics/people/may/acro_bike/15.4bpp"); -const u32 gEventObjectPic_MayAcroBike_16[] = INCBIN_U32("graphics/event_objects/pics/people/may/acro_bike/16.4bpp"); -const u32 gEventObjectPic_MayAcroBike_17[] = INCBIN_U32("graphics/event_objects/pics/people/may/acro_bike/17.4bpp"); -const u32 gEventObjectPic_MayAcroBike_18[] = INCBIN_U32("graphics/event_objects/pics/people/may/acro_bike/18.4bpp"); -const u32 gEventObjectPic_MayAcroBike_19[] = INCBIN_U32("graphics/event_objects/pics/people/may/acro_bike/19.4bpp"); -const u32 gEventObjectPic_MayAcroBike_20[] = INCBIN_U32("graphics/event_objects/pics/people/may/acro_bike/20.4bpp"); -const u32 gEventObjectPic_MayAcroBike_21[] = INCBIN_U32("graphics/event_objects/pics/people/may/acro_bike/21.4bpp"); -const u32 gEventObjectPic_MayAcroBike_22[] = INCBIN_U32("graphics/event_objects/pics/people/may/acro_bike/22.4bpp"); -const u32 gEventObjectPic_MayAcroBike_23[] = INCBIN_U32("graphics/event_objects/pics/people/may/acro_bike/23.4bpp"); -const u32 gEventObjectPic_MayAcroBike_24[] = INCBIN_U32("graphics/event_objects/pics/people/may/acro_bike/24.4bpp"); -const u32 gEventObjectPic_MayAcroBike_25[] = INCBIN_U32("graphics/event_objects/pics/people/may/acro_bike/25.4bpp"); -const u32 gEventObjectPic_MayAcroBike_26[] = INCBIN_U32("graphics/event_objects/pics/people/may/acro_bike/26.4bpp"); -const u32 gEventObjectPic_MaySurfing_0[] = INCBIN_U32("graphics/event_objects/pics/people/may/surfing/0.4bpp"); -const u32 gEventObjectPic_MaySurfing_3[] = INCBIN_U32("graphics/event_objects/pics/people/may/surfing/3.4bpp"); -const u32 gEventObjectPic_MaySurfing_1[] = INCBIN_U32("graphics/event_objects/pics/people/may/surfing/1.4bpp"); -const u32 gEventObjectPic_MaySurfing_4[] = INCBIN_U32("graphics/event_objects/pics/people/may/surfing/4.4bpp"); -const u32 gEventObjectPic_MaySurfing_2[] = INCBIN_U32("graphics/event_objects/pics/people/may/surfing/2.4bpp"); -const u32 gEventObjectPic_MaySurfing_5[] = INCBIN_U32("graphics/event_objects/pics/people/may/surfing/5.4bpp"); -const u32 gEventObjectPic_MayFieldMove_0[] = INCBIN_U32("graphics/event_objects/pics/people/may/field_move/0.4bpp"); -const u32 gEventObjectPic_MayFieldMove_1[] = INCBIN_U32("graphics/event_objects/pics/people/may/field_move/1.4bpp"); -const u32 gEventObjectPic_MayFieldMove_2[] = INCBIN_U32("graphics/event_objects/pics/people/may/field_move/2.4bpp"); -const u32 gEventObjectPic_MayFieldMove_3[] = INCBIN_U32("graphics/event_objects/pics/people/may/field_move/3.4bpp"); -const u32 gEventObjectPic_MayFieldMove_4[] = INCBIN_U32("graphics/event_objects/pics/people/may/field_move/4.4bpp"); -const u32 gEventObjectPic_MayFishing_0[] = INCBIN_U32("graphics/event_objects/pics/people/may/fishing/00.4bpp"); -const u32 gEventObjectPic_MayFishing_1[] = INCBIN_U32("graphics/event_objects/pics/people/may/fishing/01.4bpp"); -const u32 gEventObjectPic_MayFishing_2[] = INCBIN_U32("graphics/event_objects/pics/people/may/fishing/02.4bpp"); -const u32 gEventObjectPic_MayFishing_3[] = INCBIN_U32("graphics/event_objects/pics/people/may/fishing/03.4bpp"); -const u32 gEventObjectPic_MayFishing_4[] = INCBIN_U32("graphics/event_objects/pics/people/may/fishing/04.4bpp"); -const u32 gEventObjectPic_MayFishing_5[] = INCBIN_U32("graphics/event_objects/pics/people/may/fishing/05.4bpp"); -const u32 gEventObjectPic_MayFishing_6[] = INCBIN_U32("graphics/event_objects/pics/people/may/fishing/06.4bpp"); -const u32 gEventObjectPic_MayFishing_7[] = INCBIN_U32("graphics/event_objects/pics/people/may/fishing/07.4bpp"); -const u32 gEventObjectPic_MayFishing_8[] = INCBIN_U32("graphics/event_objects/pics/people/may/fishing/08.4bpp"); -const u32 gEventObjectPic_MayFishing_9[] = INCBIN_U32("graphics/event_objects/pics/people/may/fishing/09.4bpp"); -const u32 gEventObjectPic_MayFishing_10[] = INCBIN_U32("graphics/event_objects/pics/people/may/fishing/10.4bpp"); -const u32 gEventObjectPic_MayFishing_11[] = INCBIN_U32("graphics/event_objects/pics/people/may/fishing/11.4bpp"); -const u32 gEventObjectPic_MayWatering_0[] = INCBIN_U32("graphics/event_objects/pics/people/may/watering/0.4bpp"); -const u32 gEventObjectPic_MayWatering_3[] = INCBIN_U32("graphics/event_objects/pics/people/may/watering/3.4bpp"); -const u32 gEventObjectPic_MayWatering_1[] = INCBIN_U32("graphics/event_objects/pics/people/may/watering/1.4bpp"); -const u32 gEventObjectPic_MayWatering_4[] = INCBIN_U32("graphics/event_objects/pics/people/may/watering/4.4bpp"); -const u32 gEventObjectPic_MayWatering_2[] = INCBIN_U32("graphics/event_objects/pics/people/may/watering/2.4bpp"); -const u32 gEventObjectPic_MayWatering_5[] = INCBIN_U32("graphics/event_objects/pics/people/may/watering/5.4bpp"); +const u32 gEventObjectPic_MayMachBike[] = INCBIN_U32("graphics/event_objects/pics/people/may/mach_bike.4bpp"); +const u32 gEventObjectPic_MayAcroBike[] = INCBIN_U32("graphics/event_objects/pics/people/may/acro_bike.4bpp"); +const u32 gEventObjectPic_MaySurfing[] = INCBIN_U32("graphics/event_objects/pics/people/may/surfing.4bpp"); +const u32 gEventObjectPic_MayFieldMove[] = INCBIN_U32("graphics/event_objects/pics/people/may/field_move.4bpp"); +const u32 gEventObjectPic_MayFishing[] = INCBIN_U32("graphics/event_objects/pics/people/may/fishing.4bpp"); +const u32 gEventObjectPic_MayWatering[] = INCBIN_U32("graphics/event_objects/pics/people/may/watering.4bpp"); const u16 gEventObjectPalette0[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_00.gbapal"); const u16 gEventObjectPalette1[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_01.gbapal"); const u16 gEventObjectPalette2[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_02.gbapal"); From 5917f7d1080117021279aa99ac4588a334aee743 Mon Sep 17 00:00:00 2001 From: Slawter666 <38655737+Slawter666@users.noreply.github.com> Date: Thu, 2 Aug 2018 00:34:28 +0100 Subject: [PATCH 057/234] Merge frontier brains, team magma and team aqua frames --- .../event_objects/pics/people/anabel/0.png | Bin 283 -> 0 bytes .../event_objects/pics/people/anabel/1.png | Bin 264 -> 0 bytes .../event_objects/pics/people/anabel/2.png | Bin 255 -> 0 bytes .../event_objects/pics/people/anabel/3.png | Bin 275 -> 0 bytes .../event_objects/pics/people/anabel/4.png | Bin 276 -> 0 bytes .../event_objects/pics/people/anabel/5.png | Bin 260 -> 0 bytes .../event_objects/pics/people/anabel/6.png | Bin 259 -> 0 bytes .../event_objects/pics/people/anabel/7.png | Bin 266 -> 0 bytes .../event_objects/pics/people/anabel/8.png | Bin 260 -> 0 bytes .../pics/people/aqua_member_f/0.png | Bin 295 -> 0 bytes .../pics/people/aqua_member_f/1.png | Bin 266 -> 0 bytes .../pics/people/aqua_member_f/2.png | Bin 262 -> 0 bytes .../pics/people/aqua_member_f/3.png | Bin 286 -> 0 bytes .../pics/people/aqua_member_f/4.png | Bin 285 -> 0 bytes .../pics/people/aqua_member_f/5.png | Bin 264 -> 0 bytes .../pics/people/aqua_member_f/6.png | Bin 265 -> 0 bytes .../pics/people/aqua_member_f/7.png | Bin 274 -> 0 bytes .../pics/people/aqua_member_f/8.png | Bin 270 -> 0 bytes .../pics/people/aqua_member_m/0.png | Bin 301 -> 0 bytes .../pics/people/aqua_member_m/1.png | Bin 286 -> 0 bytes .../pics/people/aqua_member_m/2.png | Bin 263 -> 0 bytes .../pics/people/aqua_member_m/3.png | Bin 287 -> 0 bytes .../pics/people/aqua_member_m/4.png | Bin 288 -> 0 bytes .../pics/people/aqua_member_m/5.png | Bin 271 -> 0 bytes .../pics/people/aqua_member_m/6.png | Bin 276 -> 0 bytes .../pics/people/aqua_member_m/7.png | Bin 269 -> 0 bytes .../pics/people/aqua_member_m/8.png | Bin 267 -> 0 bytes .../event_objects/pics/people/archie/0.png | Bin 290 -> 0 bytes .../event_objects/pics/people/archie/1.png | Bin 265 -> 0 bytes .../event_objects/pics/people/archie/2.png | Bin 260 -> 0 bytes .../event_objects/pics/people/archie/3.png | Bin 284 -> 0 bytes .../event_objects/pics/people/archie/4.png | Bin 284 -> 0 bytes .../event_objects/pics/people/archie/5.png | Bin 256 -> 0 bytes .../event_objects/pics/people/archie/6.png | Bin 257 -> 0 bytes .../event_objects/pics/people/archie/7.png | Bin 261 -> 0 bytes .../event_objects/pics/people/archie/8.png | Bin 260 -> 0 bytes .../event_objects/pics/people/brandon/0.png | Bin 292 -> 0 bytes .../event_objects/pics/people/brandon/1.png | Bin 285 -> 0 bytes .../event_objects/pics/people/brandon/2.png | Bin 251 -> 0 bytes .../event_objects/pics/people/brandon/3.png | Bin 277 -> 0 bytes .../event_objects/pics/people/brandon/4.png | Bin 277 -> 0 bytes .../event_objects/pics/people/brandon/5.png | Bin 273 -> 0 bytes .../event_objects/pics/people/brandon/6.png | Bin 276 -> 0 bytes .../event_objects/pics/people/brandon/7.png | Bin 263 -> 0 bytes .../event_objects/pics/people/brandon/8.png | Bin 262 -> 0 bytes .../pics/people/frontier_brains/anabel.png | Bin 0 -> 825 bytes .../pics/people/frontier_brains/brandon.png | Bin 0 -> 833 bytes .../pics/people/frontier_brains/greta.png | Bin 0 -> 853 bytes .../pics/people/frontier_brains/lucy.png | Bin 0 -> 796 bytes .../pics/people/frontier_brains/noland.png | Bin 0 -> 818 bytes .../pics/people/frontier_brains/spenser.png | Bin 0 -> 779 bytes .../pics/people/frontier_brains/tucker.png | Bin 0 -> 901 bytes .../event_objects/pics/people/greta/0.png | Bin 277 -> 0 bytes .../event_objects/pics/people/greta/1.png | Bin 269 -> 0 bytes .../event_objects/pics/people/greta/2.png | Bin 257 -> 0 bytes .../event_objects/pics/people/greta/3.png | Bin 265 -> 0 bytes .../event_objects/pics/people/greta/4.png | Bin 266 -> 0 bytes .../event_objects/pics/people/greta/5.png | Bin 262 -> 0 bytes .../event_objects/pics/people/greta/6.png | Bin 261 -> 0 bytes .../event_objects/pics/people/greta/7.png | Bin 265 -> 0 bytes .../event_objects/pics/people/greta/8.png | Bin 263 -> 0 bytes graphics/event_objects/pics/people/lucy/0.png | Bin 284 -> 0 bytes graphics/event_objects/pics/people/lucy/1.png | Bin 242 -> 0 bytes graphics/event_objects/pics/people/lucy/2.png | Bin 254 -> 0 bytes graphics/event_objects/pics/people/lucy/3.png | Bin 270 -> 0 bytes graphics/event_objects/pics/people/lucy/4.png | Bin 272 -> 0 bytes graphics/event_objects/pics/people/lucy/5.png | Bin 228 -> 0 bytes graphics/event_objects/pics/people/lucy/6.png | Bin 231 -> 0 bytes graphics/event_objects/pics/people/lucy/7.png | Bin 262 -> 0 bytes graphics/event_objects/pics/people/lucy/8.png | Bin 264 -> 0 bytes .../pics/people/magma_member_f/0.png | Bin 295 -> 0 bytes .../pics/people/magma_member_f/1.png | Bin 283 -> 0 bytes .../pics/people/magma_member_f/2.png | Bin 259 -> 0 bytes .../pics/people/magma_member_f/3.png | Bin 282 -> 0 bytes .../pics/people/magma_member_f/4.png | Bin 279 -> 0 bytes .../pics/people/magma_member_f/5.png | Bin 272 -> 0 bytes .../pics/people/magma_member_f/6.png | Bin 272 -> 0 bytes .../pics/people/magma_member_f/7.png | Bin 262 -> 0 bytes .../pics/people/magma_member_f/8.png | Bin 262 -> 0 bytes .../pics/people/magma_member_m/0.png | Bin 289 -> 0 bytes .../pics/people/magma_member_m/1.png | Bin 271 -> 0 bytes .../pics/people/magma_member_m/2.png | Bin 255 -> 0 bytes .../pics/people/magma_member_m/3.png | Bin 277 -> 0 bytes .../pics/people/magma_member_m/4.png | Bin 278 -> 0 bytes .../pics/people/magma_member_m/5.png | Bin 263 -> 0 bytes .../pics/people/magma_member_m/6.png | Bin 262 -> 0 bytes .../pics/people/magma_member_m/7.png | Bin 256 -> 0 bytes .../pics/people/magma_member_m/8.png | Bin 262 -> 0 bytes .../event_objects/pics/people/maxie/0.png | Bin 291 -> 0 bytes .../event_objects/pics/people/maxie/1.png | Bin 273 -> 0 bytes .../event_objects/pics/people/maxie/2.png | Bin 261 -> 0 bytes .../event_objects/pics/people/maxie/3.png | Bin 291 -> 0 bytes .../event_objects/pics/people/maxie/4.png | Bin 292 -> 0 bytes .../event_objects/pics/people/maxie/5.png | Bin 266 -> 0 bytes .../event_objects/pics/people/maxie/6.png | Bin 267 -> 0 bytes .../event_objects/pics/people/maxie/7.png | Bin 261 -> 0 bytes .../event_objects/pics/people/maxie/8.png | Bin 257 -> 0 bytes .../event_objects/pics/people/noland/0.png | Bin 291 -> 0 bytes .../event_objects/pics/people/noland/1.png | Bin 278 -> 0 bytes .../event_objects/pics/people/noland/2.png | Bin 266 -> 0 bytes .../event_objects/pics/people/noland/3.png | Bin 277 -> 0 bytes .../event_objects/pics/people/noland/4.png | Bin 277 -> 0 bytes .../event_objects/pics/people/noland/5.png | Bin 267 -> 0 bytes .../event_objects/pics/people/noland/6.png | Bin 267 -> 0 bytes .../event_objects/pics/people/noland/7.png | Bin 271 -> 0 bytes .../event_objects/pics/people/noland/8.png | Bin 271 -> 0 bytes .../event_objects/pics/people/spenser/0.png | Bin 286 -> 0 bytes .../event_objects/pics/people/spenser/1.png | Bin 265 -> 0 bytes .../event_objects/pics/people/spenser/2.png | Bin 267 -> 0 bytes .../event_objects/pics/people/spenser/3.png | Bin 283 -> 0 bytes .../event_objects/pics/people/spenser/4.png | Bin 284 -> 0 bytes .../event_objects/pics/people/spenser/5.png | Bin 263 -> 0 bytes .../event_objects/pics/people/spenser/6.png | Bin 262 -> 0 bytes .../event_objects/pics/people/spenser/7.png | Bin 272 -> 0 bytes .../event_objects/pics/people/spenser/8.png | Bin 268 -> 0 bytes .../pics/people/team_aqua/aqua_member_f.png | Bin 0 -> 814 bytes .../pics/people/team_aqua/aqua_member_m.png | Bin 0 -> 851 bytes .../pics/people/team_aqua/archie.png | Bin 0 -> 692 bytes .../pics/people/team_magma/magma_member_f.png | Bin 0 -> 803 bytes .../pics/people/team_magma/magma_member_m.png | Bin 0 -> 819 bytes .../pics/people/team_magma/maxie.png | Bin 0 -> 748 bytes .../event_objects/pics/people/tucker/0.png | Bin 300 -> 0 bytes .../event_objects/pics/people/tucker/1.png | Bin 298 -> 0 bytes .../event_objects/pics/people/tucker/2.png | Bin 272 -> 0 bytes .../event_objects/pics/people/tucker/3.png | Bin 292 -> 0 bytes .../event_objects/pics/people/tucker/4.png | Bin 290 -> 0 bytes .../event_objects/pics/people/tucker/5.png | Bin 292 -> 0 bytes .../event_objects/pics/people/tucker/6.png | Bin 292 -> 0 bytes .../event_objects/pics/people/tucker/7.png | Bin 278 -> 0 bytes .../event_objects/pics/people/tucker/8.png | Bin 276 -> 0 bytes .../field_event_obj/event_object_graphics.h | 130 ++---------------- 131 files changed, 13 insertions(+), 117 deletions(-) delete mode 100644 graphics/event_objects/pics/people/anabel/0.png delete mode 100644 graphics/event_objects/pics/people/anabel/1.png delete mode 100644 graphics/event_objects/pics/people/anabel/2.png delete mode 100644 graphics/event_objects/pics/people/anabel/3.png delete mode 100644 graphics/event_objects/pics/people/anabel/4.png delete mode 100644 graphics/event_objects/pics/people/anabel/5.png delete mode 100644 graphics/event_objects/pics/people/anabel/6.png delete mode 100644 graphics/event_objects/pics/people/anabel/7.png delete mode 100644 graphics/event_objects/pics/people/anabel/8.png delete mode 100644 graphics/event_objects/pics/people/aqua_member_f/0.png delete mode 100644 graphics/event_objects/pics/people/aqua_member_f/1.png delete mode 100644 graphics/event_objects/pics/people/aqua_member_f/2.png delete mode 100644 graphics/event_objects/pics/people/aqua_member_f/3.png delete mode 100644 graphics/event_objects/pics/people/aqua_member_f/4.png delete mode 100644 graphics/event_objects/pics/people/aqua_member_f/5.png delete mode 100644 graphics/event_objects/pics/people/aqua_member_f/6.png delete mode 100644 graphics/event_objects/pics/people/aqua_member_f/7.png delete mode 100644 graphics/event_objects/pics/people/aqua_member_f/8.png delete mode 100644 graphics/event_objects/pics/people/aqua_member_m/0.png delete mode 100644 graphics/event_objects/pics/people/aqua_member_m/1.png delete mode 100644 graphics/event_objects/pics/people/aqua_member_m/2.png delete mode 100644 graphics/event_objects/pics/people/aqua_member_m/3.png delete mode 100644 graphics/event_objects/pics/people/aqua_member_m/4.png delete mode 100644 graphics/event_objects/pics/people/aqua_member_m/5.png delete mode 100644 graphics/event_objects/pics/people/aqua_member_m/6.png delete mode 100644 graphics/event_objects/pics/people/aqua_member_m/7.png delete mode 100644 graphics/event_objects/pics/people/aqua_member_m/8.png delete mode 100644 graphics/event_objects/pics/people/archie/0.png delete mode 100644 graphics/event_objects/pics/people/archie/1.png delete mode 100644 graphics/event_objects/pics/people/archie/2.png delete mode 100644 graphics/event_objects/pics/people/archie/3.png delete mode 100644 graphics/event_objects/pics/people/archie/4.png delete mode 100644 graphics/event_objects/pics/people/archie/5.png delete mode 100644 graphics/event_objects/pics/people/archie/6.png delete mode 100644 graphics/event_objects/pics/people/archie/7.png delete mode 100644 graphics/event_objects/pics/people/archie/8.png delete mode 100644 graphics/event_objects/pics/people/brandon/0.png delete mode 100644 graphics/event_objects/pics/people/brandon/1.png delete mode 100644 graphics/event_objects/pics/people/brandon/2.png delete mode 100644 graphics/event_objects/pics/people/brandon/3.png delete mode 100644 graphics/event_objects/pics/people/brandon/4.png delete mode 100644 graphics/event_objects/pics/people/brandon/5.png delete mode 100644 graphics/event_objects/pics/people/brandon/6.png delete mode 100644 graphics/event_objects/pics/people/brandon/7.png delete mode 100644 graphics/event_objects/pics/people/brandon/8.png create mode 100644 graphics/event_objects/pics/people/frontier_brains/anabel.png create mode 100644 graphics/event_objects/pics/people/frontier_brains/brandon.png create mode 100644 graphics/event_objects/pics/people/frontier_brains/greta.png create mode 100644 graphics/event_objects/pics/people/frontier_brains/lucy.png create mode 100644 graphics/event_objects/pics/people/frontier_brains/noland.png create mode 100644 graphics/event_objects/pics/people/frontier_brains/spenser.png create mode 100644 graphics/event_objects/pics/people/frontier_brains/tucker.png delete mode 100644 graphics/event_objects/pics/people/greta/0.png delete mode 100644 graphics/event_objects/pics/people/greta/1.png delete mode 100644 graphics/event_objects/pics/people/greta/2.png delete mode 100644 graphics/event_objects/pics/people/greta/3.png delete mode 100644 graphics/event_objects/pics/people/greta/4.png delete mode 100644 graphics/event_objects/pics/people/greta/5.png delete mode 100644 graphics/event_objects/pics/people/greta/6.png delete mode 100644 graphics/event_objects/pics/people/greta/7.png delete mode 100644 graphics/event_objects/pics/people/greta/8.png delete mode 100644 graphics/event_objects/pics/people/lucy/0.png delete mode 100644 graphics/event_objects/pics/people/lucy/1.png delete mode 100644 graphics/event_objects/pics/people/lucy/2.png delete mode 100644 graphics/event_objects/pics/people/lucy/3.png delete mode 100644 graphics/event_objects/pics/people/lucy/4.png delete mode 100644 graphics/event_objects/pics/people/lucy/5.png delete mode 100644 graphics/event_objects/pics/people/lucy/6.png delete mode 100644 graphics/event_objects/pics/people/lucy/7.png delete mode 100644 graphics/event_objects/pics/people/lucy/8.png delete mode 100644 graphics/event_objects/pics/people/magma_member_f/0.png delete mode 100644 graphics/event_objects/pics/people/magma_member_f/1.png delete mode 100644 graphics/event_objects/pics/people/magma_member_f/2.png delete mode 100644 graphics/event_objects/pics/people/magma_member_f/3.png delete mode 100644 graphics/event_objects/pics/people/magma_member_f/4.png delete mode 100644 graphics/event_objects/pics/people/magma_member_f/5.png delete mode 100644 graphics/event_objects/pics/people/magma_member_f/6.png delete mode 100644 graphics/event_objects/pics/people/magma_member_f/7.png delete mode 100644 graphics/event_objects/pics/people/magma_member_f/8.png delete mode 100644 graphics/event_objects/pics/people/magma_member_m/0.png delete mode 100644 graphics/event_objects/pics/people/magma_member_m/1.png delete mode 100644 graphics/event_objects/pics/people/magma_member_m/2.png delete mode 100644 graphics/event_objects/pics/people/magma_member_m/3.png delete mode 100644 graphics/event_objects/pics/people/magma_member_m/4.png delete mode 100644 graphics/event_objects/pics/people/magma_member_m/5.png delete mode 100644 graphics/event_objects/pics/people/magma_member_m/6.png delete mode 100644 graphics/event_objects/pics/people/magma_member_m/7.png delete mode 100644 graphics/event_objects/pics/people/magma_member_m/8.png delete mode 100644 graphics/event_objects/pics/people/maxie/0.png delete mode 100644 graphics/event_objects/pics/people/maxie/1.png delete mode 100644 graphics/event_objects/pics/people/maxie/2.png delete mode 100644 graphics/event_objects/pics/people/maxie/3.png delete mode 100644 graphics/event_objects/pics/people/maxie/4.png delete mode 100644 graphics/event_objects/pics/people/maxie/5.png delete mode 100644 graphics/event_objects/pics/people/maxie/6.png delete mode 100644 graphics/event_objects/pics/people/maxie/7.png delete mode 100644 graphics/event_objects/pics/people/maxie/8.png delete mode 100644 graphics/event_objects/pics/people/noland/0.png delete mode 100644 graphics/event_objects/pics/people/noland/1.png delete mode 100644 graphics/event_objects/pics/people/noland/2.png delete mode 100644 graphics/event_objects/pics/people/noland/3.png delete mode 100644 graphics/event_objects/pics/people/noland/4.png delete mode 100644 graphics/event_objects/pics/people/noland/5.png delete mode 100644 graphics/event_objects/pics/people/noland/6.png delete mode 100644 graphics/event_objects/pics/people/noland/7.png delete mode 100644 graphics/event_objects/pics/people/noland/8.png delete mode 100644 graphics/event_objects/pics/people/spenser/0.png delete mode 100644 graphics/event_objects/pics/people/spenser/1.png delete mode 100644 graphics/event_objects/pics/people/spenser/2.png delete mode 100644 graphics/event_objects/pics/people/spenser/3.png delete mode 100644 graphics/event_objects/pics/people/spenser/4.png delete mode 100644 graphics/event_objects/pics/people/spenser/5.png delete mode 100644 graphics/event_objects/pics/people/spenser/6.png delete mode 100644 graphics/event_objects/pics/people/spenser/7.png delete mode 100644 graphics/event_objects/pics/people/spenser/8.png create mode 100644 graphics/event_objects/pics/people/team_aqua/aqua_member_f.png create mode 100644 graphics/event_objects/pics/people/team_aqua/aqua_member_m.png create mode 100644 graphics/event_objects/pics/people/team_aqua/archie.png create mode 100644 graphics/event_objects/pics/people/team_magma/magma_member_f.png create mode 100644 graphics/event_objects/pics/people/team_magma/magma_member_m.png create mode 100644 graphics/event_objects/pics/people/team_magma/maxie.png delete mode 100644 graphics/event_objects/pics/people/tucker/0.png delete mode 100644 graphics/event_objects/pics/people/tucker/1.png delete mode 100644 graphics/event_objects/pics/people/tucker/2.png delete mode 100644 graphics/event_objects/pics/people/tucker/3.png delete mode 100644 graphics/event_objects/pics/people/tucker/4.png delete mode 100644 graphics/event_objects/pics/people/tucker/5.png delete mode 100644 graphics/event_objects/pics/people/tucker/6.png delete mode 100644 graphics/event_objects/pics/people/tucker/7.png delete mode 100644 graphics/event_objects/pics/people/tucker/8.png diff --git a/graphics/event_objects/pics/people/anabel/0.png b/graphics/event_objects/pics/people/anabel/0.png deleted file mode 100644 index 94add04bbfed5aad402baf7e3147ff5c7c158c88..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 283 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p zGt<+>F+^f&a>4@bh^<+oEgLr_tIarSn*H?5OzwsrQRBu0v5t$D#n*Zw6I8Xu*0E?M zU7V%5H6VK;^Ms8r7Vj~daPUFSm%#X&EKBZ2c%G~f4Y2<&l$^Yt-(lkX&wuvsnZti& z>6Uj_cZGX7#2(X5Uppt2=gL!~;_vTf>M6upm!F%*yJ<@O_cc>@JMQ`s{CR(CqXf@? f`w#!!iwqc6`B=Wu*srb(bR>hPtDnm{r-UW|T3mM4 diff --git a/graphics/event_objects/pics/people/anabel/1.png b/graphics/event_objects/pics/people/anabel/1.png deleted file mode 100644 index 644510063b391c5cae290d60c348aa0f01556b21..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 264 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p z)8^^o7$PxsZ{I?}!v;LAtX)1f?%^6-=M)ykDlc>WXY?}Gc?oYxoYsm3N2Us0;?(+d z-?Pd}@bC7JuRd#JW@;(;vonfZoWwL|1Jl)qN?WfSn#`PJB6yauPNS2{;>(ktH)Yf0 z4x4RXx3;``M``!d>xrg^#ZITKZJlcE&9ANh{kxDu^7+Tl@9P&#a}087-SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p zQ|syC7$Pw>Ibnf*#MUg)mU%Y~xm}9S&aupX%A}Bd)JK7VbM2cMrp0OE6CRpofAZR( zbiB1YylJV-)2ZQSV^|Y)HZi?SGBh(YVlFEt`l+-!*`u~3>!?661EZhcb%7Pk= z<|t-K?pWrqbVu2_HiLa_OKTa7fBgUNUZ&5W@2AK7J2^2C=nw`^S3j3^P6SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p zGttwSO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p zGs)A%F+^f&a)N}!hODbv9LcH2eGIy@ubrA{EY2XQoyK%fM__UBvo(^N4|s*?#Bhcj zS!C*+weXq}yF&6s_sUd-=7Tq1EZ(w`%zkr^*JwuL(cW;m|JNrZFfeFN XFg{RuV9rmV>li#;{an^LB{Ts5Lnm{N diff --git a/graphics/event_objects/pics/people/anabel/5.png b/graphics/event_objects/pics/people/anabel/5.png deleted file mode 100644 index df1f31dbb93b7f0c1148bced95f1240d8d95f92a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 260 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p z)8y&m7$PzCXrHcFvjb0ya)5;1LBUn4!ip!%YyH|WH@4YV>%#9HA)&5SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p z)9C5q7$PzCXx~P`76Tp@Q31<^s%`xX1cGiIkp1zdMbcvlAJ4(m2~15+M-Q^gOS8_nD)5y}>Pdt|;Z~We$$_VjzCObi zdh2^m*zK1a_x>n($$4$TobAiqYM10|hVeg+{`gDqZW*JM%sVSr4xnQgJYD@<);T3K F0RT8gWIzA_ diff --git a/graphics/event_objects/pics/people/anabel/7.png b/graphics/event_objects/pics/people/anabel/7.png deleted file mode 100644 index beb27e3c0efa639f28fa9301b9f983f60376470c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 266 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p z)8Xmj7$Pw>IYB~UL)KL-4%^MiVja(BSr%VA#p-aZYo-H(P}EJs>}O~66b@%!done_ zwU1kTJ&U*HDed*Mc5)qxNMXHnG$|)1g(=BkhlKQcCgX@X*Z==#OSO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p z)8y&m7$Pw>IYB~UL)KL-4%^MiVja(BSr%VA#p-aZYo-H(P}EJs>}O~66b@%!done_ zwU1kTJ&U*HDed*Mc5)qxNMXHnG$|)1g(=BkhlKQcCgX@X*Z==#O#sDu z{>dLG%QgJQ#92Gn@^WgZUB^Vr|MgNHUGg6P*tOdxF!)X~I&sl1YcJ3>44$rjF6*2U FngD4=Wk&!2 diff --git a/graphics/event_objects/pics/people/aqua_member_f/0.png b/graphics/event_objects/pics/people/aqua_member_f/0.png deleted file mode 100644 index 1f8c75cb38607c0ebe8644882cbd2b10c08bc545..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 295 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p zv((eYF+^f&a>4>`4gK~@3l}PcSypQZh!_}5nc8~Hme-fvFlhdV&coHkq|R&+O)iw0|8QTIXO9TQs)lD%}dLf6UG;EWS-PCDYl?9^Q7Xq q(hSzj*;*uaqcw(mhnRw;48zCI2HML$&HVy&FoUP7pUXO@geCwdba6xg diff --git a/graphics/event_objects/pics/people/aqua_member_f/1.png b/graphics/event_objects/pics/people/aqua_member_f/1.png deleted file mode 100644 index 16bc28e20a4483b3d9b940607d98cffe24015673..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 266 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p z)8Xmj7$PxsZ{J4V!v;Jo`;8Y^ZfflMa?V&@S1tv&3B^=2#e8PB z;jsH4?s86L*0u?PzLzHmtox)?)yDBX_3`C}ku#Q>WSmqg&9}%pS-p~dPT1no883Zo zj$J)#_v466&5>>U_U_Nu7L%On@_I(c;~57PeH+bkix<9L7vJ`u!FHF~)7f8=e1L9Z N@O1TaS?83{1OQmkZXo~w diff --git a/graphics/event_objects/pics/people/aqua_member_f/2.png b/graphics/event_objects/pics/people/aqua_member_f/2.png deleted file mode 100644 index 3e95c8ba2d4f5574f2419417dbb01a972fdb0d49..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 262 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p z)8gsk7$Pw>Ibi{}hQ5Bog@p@WD$KGqH8EMUU{2#gD_s*4U0Wa{Cps!BD$~k?g~Q>L zqta7jaRUR3Q{3n0SSE{gEVMbfN%%y9p_!S{%$-~r6S_BkTovkI%A=DPnJ{aijwfqU zdZy8ogK<(^8|NOCIhCNV-EMeEF)Qrc9M;4FN1sMUhR?R@xl{A5{{^~-!PC{xWt~$( F695_)UyT3& diff --git a/graphics/event_objects/pics/people/aqua_member_f/3.png b/graphics/event_objects/pics/people/aqua_member_f/3.png deleted file mode 100644 index 8d17c85fdc4c8c91e14205b77996a3721771545b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 286 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p zGsn}#F+^f&a>4?A4gK~@3l}PcSypQZh!_}5nc8~Hme-fvFlhdSO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p zGuzX}F+^f&a>4?A4gK~@3l}PcSypQZh!_}5nc8~Hme-fvFlhdat!>9*Z+=7z;uhLqY!sS|z*3Ht3u5SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p z)8^^o7$PxsZ=WIGVFe!7{{kz8u6r)`n^?rQoV|lf+k0bCb3qf6u=boyW~VL)f8qV- zze%V5!G42yPm?!pP2#*-=l-7R&M209mfX5{k?Xc;!H(V&E$6e^F0WX2CoxLQ>*$vZ zU*U+S8SyU56pF6L|F+pbUu#p*lZEHa%&S;V*NGVKj0@e}r++KQXkGj9f?%MF7(8A5 KT-G@yGywnuEodhI diff --git a/graphics/event_objects/pics/people/aqua_member_f/6.png b/graphics/event_objects/pics/people/aqua_member_f/6.png deleted file mode 100644 index 0d74cf4d1f9a4d0adf1ec3a49d1b52c14936a976..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 265 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p z)9&fw7$PxsZ{J4F!v+Gb^@0W&vh3Fx&o4-6@>nbN`vluHmWwNemP}f9X8L0#;U5PV z9+!Po{~*St@A|E~Y~DH)_9eW_v`(^a zS@pA+Sx>k=R?;xoMm$39u|?~=ou5RixYK^@J+JUi-5{!OUGHbslM+T|C)s?D0G-6( M>FVdQ&MBb@02N|u5dZ)H diff --git a/graphics/event_objects/pics/people/aqua_member_f/7.png b/graphics/event_objects/pics/people/aqua_member_f/7.png deleted file mode 100644 index fe5894e5f300589fb9f12b4a1a11ca78fb175e03..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 274 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p zGr`lvF+^f&a>4?A4SoHF3kw&%RG4LJYGSfx!JNj0R=Or8y0$<@PIOdMRHl^&3&*L| z3QALr!wn5APH~@~V^}QKvC!tEkjkN?oSc+RS&SDH#FHO~u69t{v?H}Kv(0Gf7S;r} ziJLYv-&hwQY`o#Ew)f@B2ez%B6E|%xo6w_Kk#XB{#XK@ZnX8{`tw?TUV`gBF(*6@V S-SRHbZ492SelF{r5}E*??q=!$ diff --git a/graphics/event_objects/pics/people/aqua_member_f/8.png b/graphics/event_objects/pics/people/aqua_member_f/8.png deleted file mode 100644 index 3b3f736cbe54862c15ea0b7eb1fae9c51b14bcfa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 270 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p z)8pyl7$Pw>IbngmhQ5Bog@p@WD$KGqH8EMUU{2#gD_s*4U0Wa{Cps!BD$~k?h2zv} z1*NIR;f4klr?}70F)SAASZH%nNaavcPEN|EEXE58;>nLgS39U}+L79r*|teVv}5kl zlU{rQr+u9dOj{;7y|wYqMkQ8IuY0000mP)t-sbH$|p z)wKV`l-`tcdqF{Ji>x_HVh9i*)pMkzL32_dLDkjOi;I*&K~n$!{{R30E*dwM00001 zbW%=J06^y0W&i*Ht4TybR2Y?GV4w>qFNe~hpHEf&cTJeXq~je_;4?{_LHzcmAAb_SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p zGsn}#F+^hO-acEdLk!;Ft~Yd?AU&ApSkZ9(kpG`_TWe;Tf(jHE^|E}tH1vnFx{suIa@Z(?tawkj*pur z1`Edelx5{KT(w%Ytd#q^kK&QHO^XbVE|FBVciJ(H=litEY29;8*(d&vC|>b;<+B}= iyw@?s&iQBak1@i;J9X=#8=63OGI+ZBxvXSO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p z)9UHs7$Pw>Ibi{}hQ5Bog@p@WD$KGqH8EMUU{2#gD_s*4U0Wa{Cps!BD$~k?h2s>L zg3?O|Rh~Ylb5FnicjT#j>i diff --git a/graphics/event_objects/pics/people/aqua_member_m/3.png b/graphics/event_objects/pics/people/aqua_member_m/3.png deleted file mode 100644 index aaba2d9a1ebeab6fdeb600de88ec1b9ea3d93d9c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 287 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p zGuP9_F+^f&a>4?A4gK~@3l}DcRci={Fw9I{Sm^J3`EX;;mF0zrFJC&iMSa`0TO)HRHka&EYlr z%@R80-}c&NvrKtxTmAga-2V=2zu%U>|2F?8L&}wTmc{?|CL9cyH7)L+{FA=*3ms-V jJa~VTUqJj*^HIi$4i>xF6)$lB9m?S8>gTe~DWM4fb|H5p diff --git a/graphics/event_objects/pics/people/aqua_member_m/4.png b/graphics/event_objects/pics/people/aqua_member_m/4.png deleted file mode 100644 index 326628fd08e70338e6a82e98f553e172a03952c6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 288 zcmV+*0pI?KP)8IuY0000mP)t-sbH$|p z)wKV`l-`tcdqF{Ji>x_HVh9i*)pMkzL32_dLDkjOi;I*&K~n$!{{R30E*dwM00001 zbW%=J06^y0W&i*Ho=HSOR2Y?GV4yE3FNe~hp$5<$EdS5mIeX^<0|Wn=-|yb-EdVm^{ylT%I*`Hezq~9h9PA$U mve0;l%lPlyhr0DY&^Q2BnKw1r#4WS{0000SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p z)9dNt7$PxsZ{J2y*+S znATPOYVG{j{p!7u`Q-x%O0%|h3g}*!{>&=$NGN%VS<{JHm%yuAdoP diff --git a/graphics/event_objects/pics/people/aqua_member_m/6.png b/graphics/event_objects/pics/people/aqua_member_m/6.png deleted file mode 100644 index 3918e64e93d960613f9b0c58a9e194d40cc9262d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 276 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p zGs)A%F+^hO-abRVLk2vqwjrlxI2ZJFby?5o^HI?baAycMF86ho#dp?p X9S4(moxr(3*D-jy`njxgN@xNAyeM$! diff --git a/graphics/event_objects/pics/people/aqua_member_m/7.png b/graphics/event_objects/pics/people/aqua_member_m/7.png deleted file mode 100644 index 57064088e32ad72804e63bb8c50aefda7a5a6b79..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 269 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p z)9vZv7$Pw>IbngmhQ5Bog@p@WD$KGqH8EMUU{2#gD_s*4U0Wa{Cps!BD$~k?h2s>L zg3?O|Rh~Ylb5FnicjT#j>i$I(T5#_uAlN=e6Z*#&zo}Yguc`S28P}m{fNq4{Cq%X OF?hQAxvXSO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p z)9LBr7$Pw>IbngmhQ5Bog@p@WD$KGqH8EMUU{2#gD_s*4U0Wa{Cps!BD$~k?h2s>L zg3?O|Rh~Ylb5FnicjT#j>i zR{cL?KH=+|g&)iJH?CRV%lCIa+oaWZrQ+(ubxOB3ER=cVWWdQVUrzr-m1am0&`}JY Lu6{1-oD!M8IuY0000mP)t-sbH$|p z)wKV`l-`tcdqF|}q_ov)dy7F*l*RU1i@gvrQnaLEdvifKIT-){{{R309c`Y+00001 zbW%=J06^y0W&i*Hph-kQR2Y?GV4w?FwF*jibbwi09YC-E$XMCY_o8DKh%w_uUniI` z^WD3dKn9Ea%$M_Keso}9(KitkbpGVPz~FE6QC|5APz}Gal9KTUAmjgM`_K0Ofdc>U z{s*ED4FCWCy=;5`|9^)6{{JuA{{Qly;gib${lEV^=`*mH{QtfGzca|3|3CmX2gCrG o!++=g-?JbF!~YNb|B)OH0K!;Mj@x7~0ssI207*qoM6N<$g4w``^8f$< diff --git a/graphics/event_objects/pics/people/archie/1.png b/graphics/event_objects/pics/people/archie/1.png deleted file mode 100644 index 1d278db6df59c3d921249b7b96aeb9dad266fe1d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 265 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?e1;Gttl)<)8o8%IzC=`;bhyKWpkMn!wr^X|CkuV zZ|nGfQM(Q&bG@h6)-I8`E}sKjoDJ@{wlxJVE=WJTxq0^yfy1kr*A??zj!xfGx~VC1 zmhjetlX$K*m}|=?W%JZ>UoVKf@p|ri;a9Wne*C>_J)1%GznVV`NAtq&iq5+y19TFD Mr>mdKI;Vst0Cos&=>Px# diff --git a/graphics/event_objects/pics/people/archie/2.png b/graphics/event_objects/pics/people/archie/2.png deleted file mode 100644 index 2e1b7a1cefb143412b110b848cc32457248694ee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 260 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?oo=@t(`5l-ercAM)S;HXt<^GS)^&3w90oumiZE^eFe}1u|d%xum z{rLO8`(J&>Ed5h_30MFB-)-O^8Su9J{r~pP8iyhahTG>Hn$=sfe1WcE@O1TaS?83{ F1OOthZd3pO diff --git a/graphics/event_objects/pics/people/archie/3.png b/graphics/event_objects/pics/people/archie/3.png deleted file mode 100644 index 576abb99d8076b0014945f3b5571f5b7dec9f2da..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 284 zcmV+%0ptFOP)8IuY0000mP)t-sbH$|p z)wKV`l-`tcdqF|}q_ov)dy7F*l*RU1i@gvrQnaLEdvifKIT-){{{R309c`Y+00001 zbW%=J06^y0W&i*Hnn^@KR2Y?GV4yEpwF*jibbwi09YC-E$XMCY_o8DKh%w_uUniI` z^WD3dKn9Ea%$M_Keso}9(KitkbpGVPz~FE6QC|5APz}Gal9KTUAmjgM`_K0Ofdc>U z{s*ED4FCWCy=;5`|9^)6{{JuA{{Qly;gib${lEV^=`*mH{QtfGzca|3|3CmThXKR@ iJM8b-4-gmfgZTiv-%Hl2hQ)9I0000fS407_?= zr`LSs`6)4@Ke58*!Tu>vw{4BfUEaF;gtPeCeNj8N9IX_+T4V-Rxe? z3G(du_NV)Wf7RXSF7R5`QuLtP$o7Q4thvgJ&3%@_j~lNZ3T6;3Tsh;W43`;uSl!t< f>6=TZiqtT!?e{+Z diff --git a/graphics/event_objects/pics/people/archie/5.png b/graphics/event_objects/pics/people/archie/5.png deleted file mode 100644 index f21490b7b3462506556505be367cf1c1fb2cd711..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 256 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?2MNI#(ijByequEELGt>{RWc6P>`GU1bNx$b8o`2r^ zmMOCQFf-gY^~4wDlR6w+>m@qb4yy?6@Y-ln@c%*ceW?Z3P4VS3HMdM=mAS6G$>heQ zgZT&cPU|k5*0rro+fp?z_5A0hgTe~DWM4f DRPSm^ diff --git a/graphics/event_objects/pics/people/archie/6.png b/graphics/event_objects/pics/people/archie/6.png deleted file mode 100644 index 29305a9524982e63d5b14ffef0aa4c578417497b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 257 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?tVAs z%FTtmFU}qdFXU1C%$j&1sxfS407_?oo=@t(`5l-ercAM)S;HXt<^GS)^&3w90oumiZE^eFe}1u|d%xw+ zJox|jf45x+fS407_?oo=@t(`5l-ercAM)S;HXt<^GS)^&3w90oumiZE^eFe}1u|d%xum z{rLO8`(J&>B>hu-4#(mbw4AQjU|!Sq{~tSBM_ETELr$Pu&%yjlCxNbE@O1TaS?83{ F1ONvqZI%E4 diff --git a/graphics/event_objects/pics/people/brandon/0.png b/graphics/event_objects/pics/people/brandon/0.png deleted file mode 100644 index 85d567a955c273b3b4f58e9c54911216b703178b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 292 zcmV+<0o(qGP)8IuY0000mP)t-sbH$|p z)wKV`l-`tcdqF|X&EA}xy-G@ZbG-mTdjJqQ0L@}blsPF<5CH%G{{R30F^B?l00001 zbW%=J06^y0W&i*HqDe$SR2Y?GV4w@QdlyQdIRj?#?m2Vj>;)j>4v29UB(Zz<>9c1p zFx)u<1R%zrGw1K#{R?F9pSk-{Ug^#U28O>%K!!h17mJaSlClGk!R2CX?6LsJSTWoG z%g!#Kz|7gZR_~m-fPrh(tXV5pu3EsrV)bj*%JqwZs=ela%U`(!q-*A^l`}!Q_|v9W qrhNc0PM`m?2gG3b|AGHMlEVSw8cigrW8=;M00001_4yIxt#aI&L7tG-B>_!@p zGuzX}F+^hO-g6sy4>|C#28gdza^23)dxd9`Y(yjL1pTv~0TWEFoVclAcaXvIF4x2r z4lc*~G-fcE*KOLb%KT?((66#*u2)Z-DL=YGVi6x3>&s0^?^Zs~*l_BB&gnv?8KH)+ zLk*WtG4CqU{lw8#>|Ap9HG^$nH{+>u%G+WalD<0akulx-Rq4F2j$${%j$a#At25uf hm%}h~&L5k9j3F~ZG8`2JqJhq2@O1TaS?83{1OU}@aRLAU diff --git a/graphics/event_objects/pics/people/brandon/2.png b/graphics/event_objects/pics/people/brandon/2.png deleted file mode 100644 index 914c842d40c0b557a159bcbbbd9e31cb588d6af2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 251 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p zQ|amA7$Pw>Ibi|&gT2+_PWLT~+0HOsNyfDJl?&#YoC5@ z4y)EajrG;yISq^V7_}Ts%Bc}w!O0QRpkvT{v{L*?-_+gddJP6?Yg>%wY*Fa>dQMG% v?YelqhH|k~%g5^PGx-zPfQ~t#$IkH4)_x8Ti})U(BN#kg{an^LB{Ts5VI*IQ diff --git a/graphics/event_objects/pics/people/brandon/3.png b/graphics/event_objects/pics/people/brandon/3.png deleted file mode 100644 index dea52491577184be59775b8220189654eb65479f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 277 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p zGuhL{F+^f&a>4@r9o6Dq^DUXvKEAUoe)fh{;W1xFp_t0X>hCW%r|TKqv1DdZI5yw- z`TKi+xl=yO-}yT*?&UdlwzmCV4sG@U;@uM`P1?jf;o;MyoHv^oG!jg2|3A&gk$nBt z+|3R_o72|Da3&S}owc=SDp!Z$|LA{S!V|t~r>~pCf9c!@-Oc})ZzR@#bI4%(_g_JX Z!R)H5f4R=u8$jnVc)I$ztaD0e0stw>a=!oo diff --git a/graphics/event_objects/pics/people/brandon/4.png b/graphics/event_objects/pics/people/brandon/4.png deleted file mode 100644 index 60588dd0c88b34670a8f8a29e6d0b8ae4af75695..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 277 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p zGuhL{F+^f&a>4@r9o6Dq^DUXvKEAUoe)fh{;W1xFp_t0X>hCW%r|TKqv1DdZI5yw- z`TKi+xl=yO-}yT*?&UdlwzmCV4sG@U;@uM`P1?jf;o#GxoHv_Tj=cExe^aqxK*rNI zv8xq(A~%PvWAU_HJ8NsvUnYgamDjfanXkZh`h28udgI;0|7)Y{j->use%|@+FZm2% ZhQ>>7D{_lJ-2gg|!PC{xWt~$(69B{6b_f6f diff --git a/graphics/event_objects/pics/people/brandon/5.png b/graphics/event_objects/pics/people/brandon/5.png deleted file mode 100644 index d1f8ee242219bd27d1ad3badb4005f2c64e9af75..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 273 zcmV+s0q*{ZP)8IuY0000mP)t-sbH$|p z)wKV`l-`tcdqF|X&EA}xy-G@ZbG-mTdjJqQ0L@}blsPF<5CH%G{{R30F^B?l00001 zbW%=J06^y0W&i*Hk4Z#9R2Y@L&OHjkKoAAsDN+exkEFx{c@TSHwi2{i8*7=|AhYNJ zvg{QC7Lp=t-XuAL)9lCmu#f1!mD2XAE~1_4yIxt#aI&L7tG-B>_!@p zGs)A%F+^hO-g6sy4>|C#28f4v1Wrp}(UMwmvqf{p;e{5rl9^P}oBvFfP*@(V7^K4G zlJcfmvY@bT)A>!E|D-Md8wFhLVUTOPXrQ9a!?rPv`O76`OB=4O|HLzuqI_1~xRP~p zrwq^Wy{~Gv9(t!#v_3)b-JYw4?#F)}t+{Q{ly&FVFNvfNg;n#;1>3&q&0iMw_b)@l XJ0BY!m2FW#*D-jy`njxgN@xNAWtDEy diff --git a/graphics/event_objects/pics/people/brandon/7.png b/graphics/event_objects/pics/people/brandon/7.png deleted file mode 100644 index 5fdb88f6ba7208ea17b8fa891a7716d7a5d7e4f5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 263 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p z)9UHs7$Pw>IbnhJgT2+_PWLT~+0HOsN&!`GoHS?_xJNN zGdDXN6@Oa#zKOSBN_d+=L{IN~CR4^n?g?KRk0cb{E0xbVe(J8VxPwI8+yu7kLQAJ6 zsMb%H`2C;BIBn;j_Y5aL-jCV3=&g;%3w!44Gyex%|M&j@149_QOUF*bh5bMWF?hQA KxvX1_4yIxt#aI&L7tG-B>_!@p z)8gsk7$Pw>IbnhJgT2+_PWLT~+0HOsN&!`GoHS?_xJNN zGdDXN6@Oa#zKOSBN_d+=L{IN~CR4^n?g?KRk0cb{E0xbVe(J8VxPyf8GzZDeQ}#HR zg#Q;w_MdQJeqX$vc7CITer2o~l|HYKvlyiGQL28Sv zIZ9#(5Fpiaq@+P}QXoOq)zyoOltDpK|Ns90001r;H&D#c7p6udyBW@^?>MQRuR z4d~dSig%V8^JCzQ6qYQmhx{{Hnu$ma5@fi(cjoMJNro<+xPgzKdH4O?oo#^QIF94^ zPa{c^!;9j^KMpxSJu$(7IG~+t->~Qki5L^dh?0pYn1$d)k;Mhlpeu??n5HfSw#X6| z;>8ffn1hD2hym=6G*Az%OJ0gSu<?H^(@mLrNnf^btlrV&1N2)Mf{NPI_UC}yiCY!U6K-Y9xS71#9Qg4>Cb&FxR!an zNkYUvzyo5K^f~Bbe{;b>z5b@hK@S%i@R+VNyer2o~l|HYKvlyiGQLCwwH zoSeN%N_%s?06}{I5IF$NVoH=bDN+ys|Ns90001$F0&@TW00Cl4M@0Xn2lB-L0004W zQchCljA7>2(glcmT%A(G34#DY6@Av9U=l7CUrDKirr zDlo91g0Dj?HABw~U1=|@EIBLb2+Apc!H6m-A(8pMyZD?O6vUnz^61|C{66s+V7GQ_ zxBjt|+G4%j|96j+YJ>I3dhZJE5?T(V%*LibA_+uSaF@`ECsdRnF&Ji0r=Cx0TnQYJ zD=ev`5W`H4>qAV0R8%w^;E5G%i(H`<>q07$av%mWtLq*)E(O1d9HA92E#(A0`;~0rWjGH19Fx(Qch?9tlVj*J8*FwwM!GiHi8d$_J5)TgV(?LW6DkAoY zD56&*>Z0hSDSF@6jC!-K87PW55-wZ&bl{;Ny$5iZq9`Gvh+Y+ilzaVv=emdm5fLv( zUrkByZaW$z*av8_S$CcgQABgSqM&@$4?7E*d-FDYLJ#;y@17my6~Q|`HGetgJ^IXZ zrmv(V@Se_BtX-Vo;PPbA=3l93I9d*oaY^naXoH@VLJFX_dL5f(jV zsVeB8$o(z)g$C$)Fe*c-X>>Rbp2SK2bApe;UzVvgicMCz3C#8v$kdO;Gxbwvww~N000+sMObuGZ)S9NVRB^vM@&RePDdbiWpW@hE;Mn4q~QPn00?w&PDe*f zL^A*Y002sWDIWj;00d`2O+f$vv5yPer2o~l|HYKvlyiGQLI0$* z)oOc-K~j{(_F9X*5HV7;q+)w>K{+`X|Ns900013rp2q+H00Cl4M@0Xn2lB-L0004W zQchCBjE6oB90N#F{PiR#78RPa(|DimT{P->_%b?8$6 z34_7^ARPjQLVF%e+89*dAn<(lkU2J$yDEYX4#XPd3^9ZZQQtdTl6`FhT{`(NeD|K- zz3=I446t3>wO#*f`Tn2z&wYgOm-JQ?;|B$QVOHRBk;YK;-85bksG?0_Om8TJH$)o3 z>mw)BXt*X&MT#&bp3Dn3D{=xqE_gZYJaAKiB2tBkIOpXj!yGp18-{_6UW?&iG;mYF zrs#L!idn;-JTT?8|90$%7jcix;16g1<3Y0IrY>_g9qA5*YLm}q1ZlOv-u)BpC zQDb4q$i!wHCKJ zc|c=Kj@s*lmb}bx)&?1O=oK@3CgWRXF=q~N&q7Oz;l93@6BqSGUB;L51pVDI|0a%?n+Per2o~l|HYKvlyiGQL28Sv zIZ9#(5Fpiaq@+P}QXoOq)zyoOltDpK|Ns90001r;H~55QSZ&x1hT!(%uzxDVByRaH65Qzr|H21kFZ5 zD_ut-TMv=uFY8dL+b#(`+SP8@AC4tW+k>jOXqs(}R@aS&6G zl^`>w;0!nh)xh6iGQ+p2+#o@Upb>}yI0n_g0!E^H_8dh2#Z-@v%8E^usfmt=t zhl_@TP^tu7Tm}@K0VkjeSX77R$F%7Wf~F~G4>$o;z@jQ#H_g>S(4=iYI|S_kC!h*g zRMDrleMj;+qz~floP!FW235eKO7}l+0tcdH5;O^pxU>uqg+B};Uw}n7)O9pdY8#_< za|G?sJ-n@c4-ioBx<3r!4FI{xS@lO+F6otr#t20%_cH{kEdw}+bC3l4CLg! zKJ?qRorgOp5fpcZTMn22u(?v|dIr#I_7MqOVsz})=JH17HQYCz`1RVhwYdk9FzaLp z0SMge9w6~^BKAaE_WJ$H&ZpsjaVOJnMl;GV4ucGzHY67S;5x6n2#|ObB_0P{*+b8T zDgAvGZsmr@_2XK81L#>w7R$5X_^m}dq~FIdCU3;=R@mT{I!yJ7FWB`V>1rn$7OV85 z8q$+#8j{-V(}RCSB(B_3XHVBvpEm&M&i12k7sDI1q#D)l-YAgW9VU aklZh0(&7R*G872_0000er2o~l|HYKvlyiGQLCwwH zoSeN%N_%s?06}{I5IF$NVoH=bDN+ys|Ns90001$F0&@TW00Cl4M@0Xn2lB-L0004W zQchCNklljA7=~}iTAjonKx%-EBE>;WX<8DAF%rniMkEGU zkqUUC{b4b`AQ!o61_p9ODngmCPid?Ub@K6k=h!ArQi(m^^7y+uzt5c$TZnz_YhU-* zf!3GX_}@8$f$v{#a;IPy$Ng_V`om4`66_R@`N9Sad>fSa+XcHQq|#a$X1~uo7%LT+ ze*(**vT#MIlYt*-Bgdo^4Z$H%f}}#QE-DK%iba#?W&$cA1=6gl!CbH*S{D{#U3Z)o zFGTWiXvFD*ksgD&pd=~@bBdeV>{+#m1zIVMfzyZ8tHz`dltdfCjH2@E@bLJA9~O#x z$Enp#At;MV!knTNI!;&zNoxW{+X<(l5R^q_VMg)tOK1M!5tE21Dy{G%ADIOl#N?f^ zh_5R92eYQ zw3lg6)V^g(Lh-~hT1LhW#9ami#5WQ|tDuO3muV1@wn3629ow@7_=}r@m`S>Jt1AJM z`<2KF(`na5z#YZZT*+n}17v|!purIKltN;K207*qoM6N<$f~ZVhtN;K2 literal 0 HcmV?d00001 diff --git a/graphics/event_objects/pics/people/frontier_brains/spenser.png b/graphics/event_objects/pics/people/frontier_brains/spenser.png new file mode 100644 index 0000000000000000000000000000000000000000..f27b643f0846a3e7c7080436d2740e6fdf203164 GIT binary patch literal 779 zcmV+m1N8ifP)er2o~l|HYKvlyiGQLI0$* z)oOc-K~j{(_F9X*5HV7;q+)w>K{+`X|Ns900013rp2q+H00Cl4M@0Xn2lB-L0004W zQchCf9FJEeSMLBrWZy@fT=6 zMHYox6goA~4-hUUb1)^L_984L6c5Ei4z-IQA*k=2EJZrS9XfRKEf4oc&rgRy0Nb%0 z+ws3f80zW$Q%^8(m`dATCwaaBcozRLw6Z^M!0))^cg>6NSE~8r#7HLU9d@i=YtSG_n!ppOB5aAl}PwD zI^4YnG^htQ@cUSZRltIqB#J^TqQOoS%^N_6df+<2ND?8&2P5NV937BQ3N(slUIS>5 z4%P{fjxVp1^BnHZvN^?9F2k=`HuD-lgSy~%uSrOcR7E(K`{sgwlbIkm!=i-qESLY0GPg>6ps;c)S4FrY*Khd+$RaTL zsoKZ6+Bdm6SDMqw8_d_KS^o9UY2mgik`xv}bzDO0RANyr{{c>Yma=!G0rCI<002ov JPDHLkV1i{3K&=1( literal 0 HcmV?d00001 diff --git a/graphics/event_objects/pics/people/frontier_brains/tucker.png b/graphics/event_objects/pics/people/frontier_brains/tucker.png new file mode 100644 index 0000000000000000000000000000000000000000..71ae23fa609062966a7f5b8309c8dec3f5a599a0 GIT binary patch literal 901 zcmV;01A6?4P)er2o~l|HYKvlyiGQLI0$* z)oOc-K~j{(_F9X*5HV7;q+)w>K{+`X|Ns900013rp2q+H00Cl4M@0Xn2lB-L0004W zQchCBjE6bJA(2(*+4&xQo#fR~b?GS${PmLY`{XR14P z@?D|9aqU#+N!sd7-=#|zhY~{ZlHku^Tw{4KSG8%QOjh4Xk(8W6hR!)Ke?RHz{Upm0 zz~g#ckL$sucJ6*~G4?-$?6-`4qL`F1o5pi&(pd){0OM3!O`Eow9hEXdn2jBbz9IA$ zAVD&iruLUyT#$Ex7TSbRHvn~Hx0-GaNYEOXrFQtOI0^us5L~AKAD1?vQ4UCu3}y+h z&o>Jv-!Z=u@&R*y^I}*$%>fybz$}&W`Iq5Ix2ilH77N3(D(nxFK^Y)HGMJ`PE*A=2 z98^9p7H}Z!7A!`NazKLCz%-$!|Ju?`yc^<_@kiU;Ds`WeAP4S3GMFW2hOQfob3P}e z%{eHB(KShs0Wu_kS#J22VN{&S2IquuJ^`p3J?8QZkf1d%O{jSXe-_&S4emR9hS#cC zrn{PCfCR~4o;7E>Hn%0Z}9LQ`9R2u?*c6XAYha;|Gy<-=Hg+3<_x! zrxw|6T(h)hZtO)NI}+_~vH_w%i*BbD#R2hnNT_5`THhQ88i_;|KomUm4o=1<#C>)8 bCE5HBg4q#GNto}(00000NkvXXu0mjf#f68( literal 0 HcmV?d00001 diff --git a/graphics/event_objects/pics/people/greta/0.png b/graphics/event_objects/pics/people/greta/0.png deleted file mode 100644 index 033bb28e962983ce6860ac15f81a8a136561eb96..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 277 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?(H*Ehu+P{z8_=o+6dWRx? ZhUr_axNm=bSPXO?gQu&X%Q~loCIGm3cS-;N diff --git a/graphics/event_objects/pics/people/greta/1.png b/graphics/event_objects/pics/people/greta/1.png deleted file mode 100644 index 7035c50f30771a8eac15e70b57dcc35debf72155..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 269 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?1_R;J8-Mt@~CKN_jeSh0q-N>|?wVe4Pt3vYPEn7@x zFtRxu%M{qlzTy|(gssnQ0>uAID*RwDdhvgz@qb5?|EvE04{vmtb8TfS407_?-_J|Ns0a-mx-N^jg#?no4H@oxgTe~DWM4f Dq5*0` diff --git a/graphics/event_objects/pics/people/greta/3.png b/graphics/event_objects/pics/people/greta/3.png deleted file mode 100644 index d7f33bd636339871edff6fbf5c64e22682bee0f0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 265 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?g0i+}kUC=FweV7V(Cj+tuao_w5x|DJcA&7r8)S{e#?_-PNp( zJTG^Pr@qf)F)E9nrLmGbsP=Zo!YQBPCX}hGs)|l1TdsfX*gpm4xnV!+8I2>trs|jf zWJp>Y6}RXKL(-b)&?KI;HFLh7V|~N3?p&n6_Yd}e8A>143otSW>^I3udy(A&bP|K7 LtDnm{r-UW|c)DyQ diff --git a/graphics/event_objects/pics/people/greta/4.png b/graphics/event_objects/pics/people/greta/4.png deleted file mode 100644 index 2e1331a28299689585c70f24972a0d05292c5e81..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 266 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?g0i+}kUC=FweV7V(Cj+tuao_w5x|DJcA&7r8)S{e#?_-PNp( zJTG^Pr@qf)F)E9nrLmGbsP=Zo!YQBPCX}hGs)|l1Ytuh=?4OpxG5!Dgs~vdirhj_6 zTBdfS407_?g0i+^dy7^Jwb5-PMm-6&`Q<^6s|ucP7>{?ssg9xE+qUWoBj? zF!MC@Tvn*!5BMspkbORKf!;r3hYyS=5`NY{J5xWQ@!aZv|KqnZ9Etdzbyr)UIW_iv zx4M?XPSN+*Yz-L=!_Lj#ev0wPgDT6{j5lomERfS407_?g0i+^dy7^Jwb5-PMm-6&`Q<^6s|ucP7>{?ssg9xE+qUWoBj? zF!MC@Tvn*!5BMspkbORKf!;r3hYyS?7ycWk|FdSuTo?NP|9T@v!)tq^zH=QZ`1HE^ zBbUn4H{V~yihJmuUNv1my>afr?M3&PI+}kt+dIttA>YAx{-C|`j7~8%pmP{JUHx3v IIVCg!0AxsQT>t<8 diff --git a/graphics/event_objects/pics/people/greta/7.png b/graphics/event_objects/pics/people/greta/7.png deleted file mode 100644 index 5e08c3774dcf915ebeda35c70f90eb2b538fe7d1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 265 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?g0i+}rzGr{mdOUKa6&o^FL>aSD&OJ-Byw_jiWYn)3H|i`kA8 z?5X~~;Ebezb5Qs%g&B%Vcc=4v*mrOIC_90Hxw(6z?vadjM^`I^ttpD!n#Jgm&^hV4 zwZP-!BFX#1KR|(%Wm|;I(+RM)+B>J=?|)YF}^zXpNEIxx3+cV`6nJbfKFoY MboFyt=akR{0BlunAOHXW diff --git a/graphics/event_objects/pics/people/greta/8.png b/graphics/event_objects/pics/people/greta/8.png deleted file mode 100644 index bc9cefcadf42d880d4399627b03377b03cb43e8a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 263 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?g0i+}rzGr{mdOUKa6&o^FL>aSD&OJ-Byw_jiWYn)3H|i`kA8 z?5X~~;Ebezb5Qs%g&B%Vcc=4v*mrOIC_90Hxw(6z?vadjM^`I^tyxtRxs~Ba#6Fjk z{6`+l+IQpz_mLmwpXZ*o5_p{bWKHO5I|j)=@5K!Mu)qGrs>Zl`yXBX2;$M@14r1_h L^>bP0l+XkKK?iZ4 diff --git a/graphics/event_objects/pics/people/lucy/0.png b/graphics/event_objects/pics/people/lucy/0.png deleted file mode 100644 index 4229385055a5646b20f39fc236699d5da37e664f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 284 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p zGt1M(F+^hO-acC{CPR^y;^qZ&uR3kmUNLoQLi*E-E?aJD{WXhAIh-`#eVsr(m$LM+ z@7InATb!-oIc#w3kL!W!!q->jIX{}gn#KRclkrUG0i|!(-5M>=KD)qjyfs+k-8BpS zr<+RiRyG)4^xM9+{#`fUy^Gr-JPVwzC(b>4+P=f=se-l7kqMJ}71?xW7fQ6hym5Q_ gX%@5Fe~SMwPg>~5;+#AE63~?lp00i_>zopr0M6QZ5C8xG diff --git a/graphics/event_objects/pics/people/lucy/1.png b/graphics/event_objects/pics/people/lucy/1.png deleted file mode 100644 index 78eda0819f10de5c57d43ad5324384b955da4d81..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 242 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p zQ{d_17$Pxs@41bfM+|sa19Bf!2BjX+Hga$~p>&SzUj}RA?A-_4H>&al#nkS<=*+Rt z<)6^^IV`2;m{@c4{5E7Vb^dZ)&CA&Hr_H~jq0`Ul`o#^FFS}1xzkm1oxvFY^?zZbv nZ=F;hZG63>&tYRy|MC1QOXGg-Kl9}@&~64#S3j3^P6SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p zQ{(C47$Pw>Ibi|!kN@&s_xJvmKeWI4`#W|vwmOCX@9ut9I5v0l|MPd)J?HMM{;uzF z?jz7Ffwm=|{5NE|S86mLy;1S5R-pOdQMpqIKP&&+&-lo_f;WZl@Ojr?0&M@!pZl*M z$tL!9ra<|J`;8n7lFt?Sep_bSwjAW2+Q`K4%idRa%QgR-KzA^By85}Sb4q9e05>#j A%K!iX diff --git a/graphics/event_objects/pics/people/lucy/3.png b/graphics/event_objects/pics/people/lucy/3.png deleted file mode 100644 index 4f06bbb4d964689f3262e98bf0d0d70505e9b91d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 270 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p z)8pyl7$PxsZ=WsSAp@RP;|=Z`3`4uBnD00Ac5YVOm~zVJ{3O0NTWeaKB8^=7_k_hP zlzZb}ci#ToTj>K~zS*f?7r!(yUm3xe@)z8-g%$@hc1(s?QoCQ*xj`N P=q?6NS3j3^P6SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p z)92~p7$PxsZ=WI8VFMo5V&=;^bD0)Zv&$|}jb1)a_rlTGJW*aN%W|_D4>}<UZd SlMs-989ZJ6T-G@yGywqq5^Yid diff --git a/graphics/event_objects/pics/people/lucy/5.png b/graphics/event_objects/pics/people/lucy/5.png deleted file mode 100644 index 980c55dd128c1c024c8f835dfedd73eb433d9445..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 228 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p zljP~*7$PxsZ{J4V0|p!{u}jW-%ru_*`%F^)199z$qFy^Tm+4mV2RP$wmj2N;+U0cg z7boK~UaJxh2BxS(8O(e)ezi>IG!5?#u&)hZ-O^J!@oLc7qUx;IhkhKEm7X_qeN-jm Y!S@l>mQKYvK-(BRUHx3vIVCg!01pXP9smFU diff --git a/graphics/event_objects/pics/people/lucy/6.png b/graphics/event_objects/pics/people/lucy/6.png deleted file mode 100644 index b5d4c74cb9ad539b840dfd1a8d2187120a03a693..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 231 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p zlj`Z>7$PxsZ{I=Q1_K`E-Hz^B*_)U)A7ISO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p z)8gsk7$Pw>IbnhRkN@&s_xJvmKeWI4`#W|vwmOCX@9ut9I5v0l|MPd)J?HMM{;uzF z?jz7Ffwm=|{5NE|S86mLy;1S5R-pOdQMpqIKP%SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p z)8^^o7$PxsZ=W^aAqO6p*d_O8adApnb;&TeJ}L^Cqrj^w^hl}uQb5|4@Eg}WGEP`j zv)%a-S@&8IuY0000mP)t-sbH$|p z)wKV`l-`tcdqF|})ga!S5NbIH=2BwC05M_!7@T5CYB4b}02u%O{{R30UiNfh00001 zbW%=J06^y0W&i*HrAb6VR2Y?GV4w?FwF*rA|JBj4{y&KEqoboA#Nh7$f)7B(${GLv zcg|v9;F>ve{?C~+7l0Tb0Ax&2{3tKv31m1ceUw)+S-`+>#8^qm*axWVw6n3X$sQ16 zzl+On5aZ1L|NnoVVPN1Ibi{J#8xh!zyGgZ-1yJFzopr05y|)Qvd(} diff --git a/graphics/event_objects/pics/people/magma_member_f/2.png b/graphics/event_objects/pics/people/magma_member_f/2.png deleted file mode 100644 index 6820fc60e5daa854cb05878b0f50cd4621264d13..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 259 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ zY4mh)43U_coUnj9Vr!OY%fI^a3aCb>?UuT!H$ajkLIbnf*#8xh!zyGgZ-1yJFm(Xi(d>WYu^0$zdu=wnfdw| z$-nki>3R%C2N+JwSo9+>?u77(g0Np2>r*y0G(POuIBC*G{($S5>B-5HZ558yiBG?; zaBSvZp!IglDI4be`Cs41d7|t8=eRmH!-!u%;mjutDV0*y=gJu^UmWlGFR!5Yy5)ky cRRtji_sfpH?MG|;fo^2*boFyt=akR{00yRfT>t<8 diff --git a/graphics/event_objects/pics/people/magma_member_f/4.png b/graphics/event_objects/pics/people/magma_member_f/4.png deleted file mode 100644 index 5e653b471207363f13b63cbc45da3fc558d1d540..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 279 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ znd<4{7$Pw>Ibnf*#8xh!zyI%F{P^F#J-vZ`vb{DO6t&mB9aR_)O9S5I%hV~_D~ zpxw1>CkpI-{{Jt-E^xT+-s%4i+7VNp1I3wD9(^kA`Y5uY`N#kAZ_Y6%>>t}-S*x&> Zq0hzf?A^Z>p+E;Rc)I$ztaD0e0szRqdAk4r diff --git a/graphics/event_objects/pics/people/magma_member_f/5.png b/graphics/event_objects/pics/people/magma_member_f/5.png deleted file mode 100644 index 872aaa5aeffe2e46ec27ef2a1f0680274caf9c42..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 272 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ z>GO1P43U_coUlMYVk?)=-~U%HZv1E8@p1p+$Mziu|8HKL{EuBBIh9@D43lA6Nl6Kl zq>gqv(?K0}mga-pM2bqg|odc_gw OG6qjqKbLh*2~7ZE>~PZn diff --git a/graphics/event_objects/pics/people/magma_member_f/6.png b/graphics/event_objects/pics/people/magma_member_f/6.png deleted file mode 100644 index b6f96e1e10acfa5c34fbc17b2e28d512ae2d94bf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 272 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ z>GO1P43U_coUlMYVk?)=-~U%HZv1E8@p1p+$Mziu|8HKL{EuBBIh9@D43lA6Nl6Kl zq>gqv(?K0}mga-pM{*lu^$^Q%USXZ(#d~9`{cca3aCb>?UuT!H$ajkLmdK II;Vst0JvFdegFUf diff --git a/graphics/event_objects/pics/people/magma_member_f/8.png b/graphics/event_objects/pics/people/magma_member_f/8.png deleted file mode 100644 index 09a2a36c7fa51ba24bbd098d5b342b121356ce7f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 262 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ zY4LP%43U_coUlMYVr!OY%fI^a3aCb>?UuT!H$ajkLhd=4ho06G7<#oQ!e`p`UYd?d9LBZDSsBYJ;-9Yy+c)I$z JtaD0e0s!ICYtH}x diff --git a/graphics/event_objects/pics/people/magma_member_m/0.png b/graphics/event_objects/pics/people/magma_member_m/0.png deleted file mode 100644 index a1886e9a145d3bf3b84832dfd4cc1903688c1209..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 289 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ zneXZ17$Pxs@41D1ha7m=9&qu@I6bc+rMg*GPKbx&-s?8T#t6fsd2Q;7#vYTZTa_jH z-UQtWwqe}=QhnAx)*s%#?D+p}IXhJ}|2ZGmV-?2>ThE-8Olb2E{J7|XhM4O{F^6#b z=TqMtxH4_2Eti>k_V(%q&(`m<*R&1voqA3)Ja(A)$im^%yd*CFVdQ&MBb@01lIJ9smFU diff --git a/graphics/event_objects/pics/people/magma_member_m/1.png b/graphics/event_objects/pics/people/magma_member_m/1.png deleted file mode 100644 index f09d412da2590ea74ffc4c864aa87d7e3159cb46..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 271 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ z>GgDR43U_+w{Ih_lOc~wY{1`R&KnrH4^*^qdd&JWDZ;78sb3_u)g#2w<@?(Zp97}f zQ|7+&`69m3@38w5M)r;ajk`Uv*dl!_SitS{)Udd7V* z@BPffoj=~rOkS)n^I=I~{HpJPorYd3HyHXkd=KPX+0MDN@6xmG-jAPuurb^Una%g; S?`xpL7(8A5T-G@yGywoYZEr9D diff --git a/graphics/event_objects/pics/people/magma_member_m/2.png b/graphics/event_objects/pics/people/magma_member_m/2.png deleted file mode 100644 index 2b1cb90ac3707586868d358d453a79f485a751a0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 255 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ zsr7Vm43U_coUnj9Vrv#-%exmp{>yt5mzJDiF%CO7$FlezyF&6`e}!zZ4nyHn5uC{u zTvq4j?BqI8a49^_k~>A9d!ykM7xC4hs}HDct|&RjWc;K4-+az#kLLgXuioIbnf*#8xh!zyD1a7yqpncfB)alIeOrLY4Ni^ z^NrK>7z`a4ju;4vl&~2|gh|y-31?gN@PFo-B`G$HCw>?ny>VkR_lm!t&uH&64s~EV zH{bH}=84Q5AB+Dz|F3ZD?@#;x^M5j2Vl(-zcVg3j1%{#v=V$)6Z;1W&U8g1O0ed$y Z1E+@Dytyl8-vm03!PC{xWt~$(698OTbcp}} diff --git a/graphics/event_objects/pics/people/magma_member_m/4.png b/graphics/event_objects/pics/people/magma_member_m/4.png deleted file mode 100644 index 6c8a2d2b010d6b47e537a6d89bf1df2c0b06282d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 278 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ znd0f<7$Pw>Ibnf*#8xh!zyD1a7yqpncfB)alIeOrLY4Ni^ z^NrK>7z`a4ju;4vl&~2|gh|y-31?fC_`oDA$Y>t_m2F8~8#kugPk3nZx$C`8H5;2) z>hGDx^-Qc0|8D=E!=LnF{!jb=&*KFi>s^SMpw{+ZfuT&`|Nohv74@F%FP49G?Z1O6 Z1Al_+&nHsb{{h{{;OXk;vd$@?2>@p{mfkrPCv&vl1rD zMt)o8`cHeaNqpl?W|@KAXrBN8 diff --git a/graphics/event_objects/pics/people/magma_member_m/6.png b/graphics/event_objects/pics/people/magma_member_m/6.png deleted file mode 100644 index 758bcddb1ca1be00c6b9a55b3f6c3717486ec4f5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 262 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ zY4LP%43U_+_naYLvjGol0KbopCCl;`A)S|Nm#tIb?l~g#NNKOr5z&b5ke&B6(;w*9 zdC44C`tG(>%)0Tc4BHIlnueDOMl)0{9TSvzyt5mzJDiF%CO7$FlezyF&6`e}!zZ4nyHn5uC{u zTvq4j?BqI8a49^_k~>A9d!ykM7xC4hs}HDct|&RjWc=g#|2dq~e*OP%KjYy4=YRhH zSJ3|VZ!do;!^^3k9fQjMub)*ZzeeIno0ZrKHinbeoxZ)hRmA~x34^DrpUXO@geCxg C3TYz% diff --git a/graphics/event_objects/pics/people/magma_member_m/8.png b/graphics/event_objects/pics/people/magma_member_m/8.png deleted file mode 100644 index fc5c7b53ccf0404610020441e03e91968636ab58..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 262 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ zY4LP%43U_+_v~KYLk>Kw543}pcFt&I)VOr<j*#g`S2l(D>6#a8Nvz+lrf!!O+>VV7Nvmbrc5IT9b zx5!~(N2qQTb4(q7{lzpN`FbnIFV+@2R@m^~&Gvc!)aDn@lKl?*5^t6~2D*pA)78&q Iol`;+0Q#qCu>b%7 diff --git a/graphics/event_objects/pics/people/maxie/0.png b/graphics/event_objects/pics/people/maxie/0.png deleted file mode 100644 index 21ca72fd2d66c1921f73950fa7b760832dffb6db..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 291 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ zS?KBF7$PxsZ=WLHVFMml-Y&0IJZ-wk%2TJwE(q!_+q7hf32)Z2CadWuLsuZ}@3oDL-x~Dm=&ty!aue3hXjd%s$Spo~Qg_4I;8V|Sm=-A--7DUqyh&AV`5eFa mECK(GyPT43U_+w{N3hvjLB5Xu!n^4l@q!fD02&Hq2^z&n7Oi;Mn2~UAKSiDBd?oP58bP0l+XkK%z#=c5p+|h>B-M_C$vHMB*^VT9Ff@x}y>#?I@w5N>8#w;|ocUM&K+k+*E13g5GmWD| zBo1s_S7OF!Tz4*tXtox|Yi>gTe~ HDWM4f+8bzB diff --git a/graphics/event_objects/pics/people/maxie/3.png b/graphics/event_objects/pics/people/maxie/3.png deleted file mode 100644 index 6cb101536afc2286c856434892c12818fbcee958..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 291 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ zS?KBF7$PxsZ=WIGAp;&)+mcsJhi3F{*chTDvp{IBMdYQW*|SzU%D$SjG-zFum7>VW z9S`~b9KFA7-#zvp>yvaA_gy>M$s3hC=XvvMTfMR*;if4$4E|0sKSMoLTex&Xrn_~# zy~%WEeRT1@!kTMdFWHa(T~pdVr)%eHA?K{w!G3v7sWL%z{k95HN{?+1%TB!e(c+2A n{Jmluy^N#c_b+STRL>|W=@iU+);B7$PxsZ=WIGAp-%H^&V5%W*W&ZTin@F>7WwxG__1B>baJ5;E}vff-3c_OT7|b z?qJAIm>vB#b1U9Nnq8E7Jb~FfVa}R#VW-O*8Y={n&aYoJ(donm$I`6U zho>aBwzg%%TRhGTuqJX4}T)9ix?D;F7 mh?*-T)m|*~|F!WF_XFNHubeo}&zKGJ0fVQjpUXO@geCyBE_Cw% diff --git a/graphics/event_objects/pics/people/maxie/5.png b/graphics/event_objects/pics/people/maxie/5.png deleted file mode 100644 index fd6a81dc51cbf059c0fcd3b9c0a851612c1b83a1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 266 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ z>F{)M43U_+w{N3pvw?u~`UQ&;J8}fX7A$By$zjS`BrGmc&?|n@U`yd+j}6XW{=E5L zvOIm}-|% Mp00i_>zopr08!p-4gdfE diff --git a/graphics/event_objects/pics/people/maxie/6.png b/graphics/event_objects/pics/people/maxie/6.png deleted file mode 100644 index ac156420489aace02081d64dcebdcb5be5ea4e97..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 267 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ z>GX7Q43U_+w{M|ni-CYk_yPlwLRlGJ1%sGW8L5LuHZU<}UpgULJZ**n_mu;C_Duhu zW;|Q4GA!+Rs8oX24F^`KA56kiE;PH>Uh%inT4&xX@+_g(<5PtQdsl#@=B;>@-IHJP zXfE5aYE6P&f#=c5p+|h>B-M_C$vHMB*^VT9Ff@x}y>#?I@w5N>8#w;|ocUM&K+k+*E13g5GmWD| z9D3r7!>wjFu+;sXvsG?M+kbnGh9&>%AJ~7Ee|6)(yadBox|Yi>gTe~ HDWM4f?Ad6H diff --git a/graphics/event_objects/pics/people/maxie/8.png b/graphics/event_objects/pics/people/maxie/8.png deleted file mode 100644 index 765803561f6b69816dda4497dfafb42271c61bc7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 257 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ zsrPho43U_coUlMYVk?)|`8hkY7$-cN#mTa{p=atO#=c5p+|h>B-M_C$vHMB*^VT9Ff@x}y>#?I@w5N>8#w;|ocUM&K+k+*E13g5GmWD| z9D3r7!>wjFO#L%w>k;`gKloV`R@(oU{O4TK=*e*3&fII4XVYe&Qy4s5{an^LB{Ts5 DD`aId diff --git a/graphics/event_objects/pics/people/noland/0.png b/graphics/event_objects/pics/people/noland/0.png deleted file mode 100644 index 76fb7bdf14435451de5d901d48b82fb2908cf428..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 291 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p zv(VGUF+^f&a>4@k2Yai(GtIE8tvW9!@cP`lz1z#@vl==mDX{&Yxx4&)4a24K|8wpY z|I?fB_4>d6|IdGSR8l*3?3}{H^KSFMOnuwf6)C5!dDD_X^4$BL-up8dB>htV#a{|- zFgjIw^x64d8Hpcv?@yh+U;F2Q1NHV>_Sk&U5BUB6M|J-Gf9yBE%5&H?NIVBRlR0gU n-T!p{j)NcmGyktwna<20vDeS%ya#6q(6J1ju6{1-oD!M1_4yIxt#aI&L7tG-B>_!@p zGsV-zF+^hO-oA~zOojq1`UzewI>PXMn#i*|LW$GvomzCM zfluIISYkcvx$H$pUp@L;xLNsoO?CaQ(4xQYrkT=g8-CiHX+9gv-ov{?`t7c1s}7%k a9>3N*O8?h;xo1H4F?hQAxvX1_4yIxt#aI&L7tG-B>_!@p z)8Xmj7$Pw>Ibi|&gT2+?nP%A4R-KmX0Y?JkeooT$XgPZ0#)&7)CtSoIm!Cfvw!vb*HiL23 z+e->PpT5sm2zna-N3rLB{d;GLKmYf)IZM_n^xUsLSJTk-$Gyyw;pPp;gatRZ3IpB5 N;OXk;vd$@?2>__#ao7L= diff --git a/graphics/event_objects/pics/people/noland/3.png b/graphics/event_objects/pics/people/noland/3.png deleted file mode 100644 index e54596be6543ef1ea84d54c10e297b64fccd50a6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 277 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p zGuhL{F+^f&a>4@b2Yai(GtIE8tvW9!@cP`lz1z#@vl==mDX{&Yxx4&)4a24K|8wpY z|I?fB_4>d6|IdGSR8l*3?3}{H^KSFMOnuwf6)C5!dDD_Xa{hfu>HW+`KlG>mtoLLx z)VnS^+dhcVtF}Ho?%xTPl%kBv%02cSg7xp;{{O8|{)fGZU*VX%#@P?){4Hq@{_`s_ YGO)P!T3nG*0XmPt)78&qol`;+06MX8CjbBd diff --git a/graphics/event_objects/pics/people/noland/4.png b/graphics/event_objects/pics/people/noland/4.png deleted file mode 100644 index 35763f56fe57a73517d02945654428f2200cbbf8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 277 zcmV+w0qXvVP)8IuY0000mP)t-sbH$|p z)wKV`l-`tcdqF|X&EA}xy-G@ZbG-mTdjJqQ0L@}blsPF<5CH%G{{R30F^B?l00001 zbW%=J06^y0W&i*HlSxEDR2Y?GV4y4Dy?gfpm_B`a&mIu#&hEXpcb^3@Kq4Rp|CzgY z&wK#VcmJH;bN()n_1FIY|Ihb9A|}Sh&LEM`MxXSR?SYC}9xEx?Ie-}NjE&!cMb!Mi zr0W9JIO!FeKeq)kob}4f-_--9zI-h&4+RP^{QZCL?N<1_4yIxt#aI&L7tG-B>_!@p z)9LBr7$PxsZ{I;qCqtgL-3=w2?1jvZFPYvgIK9>H!hVH{Eeq8@UgMJ6v*&w~(A1_4yIxt#aI&L7tG-B>_!@p z)9LBr7$PxsZ{J2xVm(8*(TmP7uIrILX z{^$2^D6T)-_9As|v6q*r-Mx(xPf{KTD%)L}%BbhWJ;QL-N(Vz{hF&YRP7ZSeL3z=# zGuN9}BuXEOe7J@GVbS!mdKI;Vst0K{!(ZvX%Q diff --git a/graphics/event_objects/pics/people/noland/7.png b/graphics/event_objects/pics/people/noland/7.png deleted file mode 100644 index ee982010670d7214d15abf67fe57c6e9dd0f9b73..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 271 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p z)9dNt7$Pw>IbnhJgT2+?nP%A4R-KmX0Y?JkeooT$XgPZ0#)&7)CtSoIm!Cfvw!vb*HiL23 z+e->PpZ5OHFa}RoKbLh*2~7YwMs*wj diff --git a/graphics/event_objects/pics/people/noland/8.png b/graphics/event_objects/pics/people/noland/8.png deleted file mode 100644 index e8d40a08de5d7c100261e41ec6f7aa7646709170..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 271 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p z)9dNt7$Pw>IbnhJgT2+?nP%A4R-KmX0Y?JkeooT$XgPZ0#)&7)CtSoIm!Cfvw!vb*HiL23 z+e->PpUVF$20eWryRSLp-~adT>sU|z{rCTC{f~MBW)_Da2k!sPynpzwF){dOxi9hB S+f)g37=x#)pUXO@geCwu2y{gN diff --git a/graphics/event_objects/pics/people/spenser/0.png b/graphics/event_objects/pics/people/spenser/0.png deleted file mode 100644 index 526e77c75b77062789d77de0c02f6a9e245b17f4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 286 zcmV+(0pb3MP)8IuY0000mP)t-sbH$|p z)wKV`l-`tcdqF|}q_ov)dy7F*l*RU1i@gvrQnaLEdvifKIT-){{{R309c`Y+00001 zbW%=J06^y0W&i*HoJmAMR2Y?GV4yE>ae>gzib5tJnnh9Wp^yWR!K^4KC}aR+I4KDV zDye`N?}P;3ff&y39^1VGs%BBv|0w^-$N|UzDF!kaoQ(wqjX_c-c1FsNT^tykEbHFA zd+sR0;9NWJ-Mg30CJZb$Z@zmscS->R!=1VJ-rhX_0m#@n@8#|DAd%g>cY_)HK*sL> kKnBDA5B&f63*hbr0Jy_8y#BfS407_?JvWb4*fS407_?fS407_?2T2`njxgN@xNAY?X6I diff --git a/graphics/event_objects/pics/people/spenser/4.png b/graphics/event_objects/pics/people/spenser/4.png deleted file mode 100644 index 64a194e3635ff4efa3d79bacb8e5ec634282484f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 284 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?_AY}vd-sYTN_cR0?|k_) f2|xZf?q^`AX*PU$a9xNq(3K3Hu6{1-oD!M<%3^eD diff --git a/graphics/event_objects/pics/people/spenser/5.png b/graphics/event_objects/pics/people/spenser/5.png deleted file mode 100644 index 4e024fac09f3635a6bf64bb9a4840797c6008848..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 263 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?tNEo=#H}@yTW15z<>Y`)*}HzA|Xu%4Gc#L*bEz1 zMNa9RI;E#q#(_tH!AN3`BhQ2>-B(wIb~`euX{Vo?!zxnvueA7?kNAWu>vtM2*Jxbx zxBB@z(c}rS_us#n^RkHX%#FR@^-f6M|5+Z-u=}<3;d%j9hJJbV#paUE$v_7&c)I$z JtaD0e0szMJW@rEa diff --git a/graphics/event_objects/pics/people/spenser/6.png b/graphics/event_objects/pics/people/spenser/6.png deleted file mode 100644 index 2f6fefd88bceb55167736c347a31f22d9303d145..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 262 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?tNEo=#H}@yTW15z<>Y`)*}HzA|Xu%4Gc#L*bEz1 zMNa9RI;E#q#(_tH!AN3`BhQ2>-B(wIb~`euX{Vo?!zxnvueA7?kNAWu>vtM2*Jxbx zxBAmN(c}rS_un%t)oYO0v%P#itL0;B=J)UT1=tSPE3h(@oKQRaXvI@rpnDiRUHx3v IIVCg!0P#d*IsgCw diff --git a/graphics/event_objects/pics/people/spenser/7.png b/graphics/event_objects/pics/people/spenser/7.png deleted file mode 100644 index 23be07f56fa29a682053148dda821efe38101966..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 272 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?YST>h+YKVi$X=_JC)d>?8D@!}&;mW@1 zoE)Aci@)J!g>1%Crp)y@5ae~tO-X{U3Yn-rj1-6F=L{{GFqV#y;v&R18hw+;AMuJG@FBO}9OKD~h7 TVT_A_E@SX?^>bP0l+XkKADVAN diff --git a/graphics/event_objects/pics/people/spenser/8.png b/graphics/event_objects/pics/people/spenser/8.png deleted file mode 100644 index 71fff631bc8538f8987e102d3ab20f741cd99e11..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 268 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?YST>h+YKVi$X=_JC)d>?8D@!}&;mW@1 zoE)Aci@)J!g>1%Crp)y@5ae~tO-X{U3Yn-rj1-6F=er2o~l|HYKvlyiGQL28Sv zIZ9#(5Fpiaq@+P}QXoOq)zyoOltDpK|Ns90001r;HH&HK-m}M3#z}?5I&YERfBgJ^Gl^|N4t1zQ{iC#w zHUGaH&UK{n5x{<+S4}w-jJ#?>GtL*F`v7}^tt!P&?{K6rNJ{cUa4zIB0CqtUFsM@5 z-Ra`5Ahi`j6fyvIKoPK0s>FILuo07G4iiv14}e`zAJ}Q~LTuOKe41Wkz(wsQw5bDN z2h<0C@AUV}XZM3ASD%`V247a>?ck{~WfcH1s0X|-w$o;Id_NeCtESv&Z7wlrboF{u z1wahy0Za3s_9q(-*+*+lxw$MMIbrO0Y-|UJKz$(e2Tkoa#y;3OZ46XZ6EbJa+PVWo zpgz#nof0bMa{>D#Z5o$DlJ{TW`wkF+A|QFtceoFZP@#@+i=N?U!did>v1#(A1v%i& z)B_3WlrklRWO-0RiWLTt834|(|2crh=!ICJpTJ;@z@fkwXu+gder4>WSO$gY0#5`< zAb5oVuux8SJvkrErY>PMM5S6V20Izl?PyqW;)3XkG0ZKNj7{=Ao{uNFKm4ygqta}V zE!=Mbuiz4tyA~(_B+n^V0CMy2B+kPCd{ao=@YtsoZb7yze2`RakiU);oJG7%l@~ literal 0 HcmV?d00001 diff --git a/graphics/event_objects/pics/people/team_aqua/aqua_member_m.png b/graphics/event_objects/pics/people/team_aqua/aqua_member_m.png new file mode 100644 index 0000000000000000000000000000000000000000..eba838305f1069bca375bbed06d9e7f52c2bcc10 GIT binary patch literal 851 zcmV-Z1FZasP)er2o~l|HYKvlyiGQL28Sv zIZ9#(5Fpiaq@+P}QXoOq)zyoOltDpK|Ns90001r;HBjE6vuBcXeuK80tUNlDcFWi#!B7QOg3!HJO-Dao`O_>5gaaw1n#r3_DP7abvp|juMAMft`|4E1L2szZD z4)u@Xyh!i=awz2mx_=Q=3o}|2%HupG^kYhg9HHw=R8r*c72R21eUwRWS?b_lVRlq!b4(QI|pUQiSjggMEZb-O)y0aQ>x^0wWEKzp4D zv}h39Q6|#DB+i9!TJLCee?(yQ?Gu&gVdw*ex;WnGSYpTJQyXDbpSZJqgsyH0Y~B+K*BQIgJfrB8l)2 zS|Io=Vq5$M5uPo0^(FQ@*aGY?M52Qxk=Ww#x86zl&D)cZsd~imK!`}jwoHV$_R4*5 zA-7{3r)P4DW}6PjG~N>wmm>}MU||;(e9BdQz!b%W!3kANzgrk33k<@2!XR5p{m8$l zn_gHxJ*()g?|gCs3xmrMmwH0Qwt7mUlpfddBvt8QX?m&G!BvC-7VHNvUAs>!i`9y% dUT2vf@&}}}3*A@UFiije002ovPDHLkV1k>MZu$TK literal 0 HcmV?d00001 diff --git a/graphics/event_objects/pics/people/team_aqua/archie.png b/graphics/event_objects/pics/people/team_aqua/archie.png new file mode 100644 index 0000000000000000000000000000000000000000..2117d52ad236b284fdd809e82d1bb7ee6ab7e282 GIT binary patch literal 692 zcmV;l0!#ggP)er2o~l|HYKvlyiGQLI0$* z)oOc-K~j{(_F9X*5HV7;q+)w>K{+`X|Ns900013rp2q+H00Cl4M@0Xn2lB-L0004W zQchCpd90{WJP~%Ptt;SjRfnKPt};^S^VH z$`5f+Fu*U0YT4n9Qdi4Q1VhZ!^|MNuRK#1Ylui!_283Rm-8^4kaS$&sU$oX~SI`$p zp(AAa_0@c+ZNM!DWy_90h@`M(Fw!qS^;;Z#=b&G)*+{drBj}5y&@q_IPEL|d9LzKN zd>zBtX_EhbPrX2hJ_=jH<+ry{R0I5Y%F@*%z}YC;EUMfKgh&cKA)JoK(~8Iq#9$n4 zX4PIGMMCHaxLs@)NX%DHIT3KWWq5%QNugti1=6ny(Ue&+@B$%{LPx}AJulH0K*H0G zpfCC$^x{ig&#^`#Rn0+noVOSBMN;Uw`HJ^DJfCc5yqzonc34laE9i-&&@-6f?jDnv zSQJD)Y8}O1AVppnTA>ru^BTjRd~Fv!K~Lm`+#MOOrMWA2cjofIo>&Sb85h*pw1n_a z**tJiQ#Pe}g`&hZ?=yz&oj2$==t;YT_FyI+tja7GZeG}aI|#{+)zIIs=|?xReRA#w acKI(}AF$zpg7qu_0000er2o~l|HYKvlyiGQLI2et z-kcC>ISA%bV#NS4VgMMNVoGW;F);ub|Ns90003V0bYTDh00Cl4M@0Xn2lB-L0004W zQchCljA6vyA-g$T(~`2Z1iMx;owm$1Z*EkOV&U+c`` zAsKuT!WkHd87iSp1gQvhLG2gm<|-cSc6hvJ=N$KHKw{2YetGA+|L>gS0UYaC$NER5 zsm}C&V(?CgGdvJd6d`7vf^OlSSO^hu5DJ0B-e(jE1vP^G`X7agrl4Y$LL|H{rA)9T z&_udW5jHVmxFT}kst%H?TJXL@qze^$gi^{i1q#7|r)eFuA+LDATBHjVd$Ovvv8fh3 zI6X=EK~Kg}5z4hiKr)PI)Bv=QhcUD&YaTep47UBesR@Cjf#v|py{ zMxcvyVMDldEX#QZaP=)szkCNU9Cyn>d%+`-CTs{-zT>zQaJfCZ+fpC|Z_no~fiBX7 z4dLn{2<|y(j+hg{*uKhIf`e$Dvq(`18(v=^-d_X!M5-6Gke?5;mOvNjLdB={FT@X{ zAByzXomxpt(B_Ugse2Mu6AAg(0dqRRk2km*_!E>8cP_w_h0Qw*4yM*;dUd}T(1CH? z!*n`Ks$sP(el;VA5R1T5q#4Lvo=KAgoa;|W#G^r?9S2QF$X6KI^NKUya+$`$^~c_U zbkt`U6kLux!%j%xJ?>54<=Leh<<6WBm|;}J*?|CMSYhVOl7N1ca_KBPdUF{#V?Gz# z!IWbEw02(jLd8T_U8 hv6Z5$S0Bu(`wf?fMsy3GLdpOD002ovPDHLkV1mAhTB!g4 literal 0 HcmV?d00001 diff --git a/graphics/event_objects/pics/people/team_magma/magma_member_m.png b/graphics/event_objects/pics/people/team_magma/magma_member_m.png new file mode 100644 index 0000000000000000000000000000000000000000..1a174b5a28017d582910785c0c4992296396c73e GIT binary patch literal 819 zcmV-31I+x1P)er2o~l|HYKvlyiGQLI2et z-kcC>ISA%bV#NS4VgMMNVoGW;F);ub|Ns90003V0bYTDh00Cl4M@0Xn2lB-L0004W zQchCH3m73{7R5}LrfB|R-Oq%IXMbbdPg+1UHbOKD8 z=@-}6Z?PZ-6yi0UwkLo;0ecnY_}9}B1{O05yx2F-M* zikVw}Nph0_toKfCI#2-eIf%es<=SZ7PMlnG%ad?W2zx2k40wjtStsmK!K2_iAoPw; zgV?Q1YuepvM;t^e1Q}`z7OmIZ=>#Co$MsL_Ut*o(7H}+hZ%7BQZyM8j-}vT-wU55R zg58Q-SZCHWy`l*~DTsXvA_@Vb?ZAZNX2?nMb=`16=7UH8XzApV0AdeN#U8u<=pv8T ziPG#=p+h9c4v3g6GKwEF18OJhHhxQzLF`%K@f6{{Y@spY8~77&dquB0{Eiqvy{YDlzcd(zfEDpN;>*L3QKn(BiV8E-&Ot(&mhpHCc@<^`#;EHIT7ChbrQuix4j& xD)>72I(XtNxbIHXfB6G5IgL^$$36|>^l$d4hW~oc3=;qV002ovPDHLkV1m(;UvU5c literal 0 HcmV?d00001 diff --git a/graphics/event_objects/pics/people/team_magma/maxie.png b/graphics/event_objects/pics/people/team_magma/maxie.png new file mode 100644 index 0000000000000000000000000000000000000000..16b35d2fa2d0e81c48872be6951753bc0dc76d41 GIT binary patch literal 748 zcmVer2o~l|HYKvlyiGQLI2et z-kcC>ISA%bV#NS4VgMMNVoGW;F);ub|Ns90003V0bYTDh00Cl4M@0Xn2lB-L0004W zQchCBjE6vuDyBmzR+;;nXX*3LON|l2GWE>L7VB zgbaGOSS}uXx9Bspvq4`)q)Q|O*Y{-KUHs$_y8B`H-O11YpLl0Zh)Z4SQty=3=lP!% z=)BM+5r8Nx-xRz-m1kKYk${B^ES=y~G!ok9#ZszWUIvf@6i^CvjVxaYm}n%lEH<0z zl!7wAPboInpYvRL0TYddM+)^Ziardctf1uI(HyYP37Cir9VgRS6wNlt)DfQl%RqzQ?haUcg0MXeo4`rZxUI4K)~iaJ4sG z=>&mH$BLy%L;?xX>}sg)zCtS}z;r@X=2T=EcCD-$8WD8IuY0000mP)t-sbH$|p z)wKV`l-`tcdqF|}q_ov)dy7F*l*RU1i@gvrQnaLEdvifKIT-){{{R309c`Y+00001 zbW%=J06^y0W&i*Hs!2paR2Y?GV4wqFFMwc%vhecq(sUpvHLNT>HLQSv|7+TrGimW3 z7#R3-_DLTD(hNSQmAyHauH?YrY~Gf0EThZ%fS407_?C>hX1@*l)x@-5WX=wak9T^o>^_QKEZJvpO1w+W= z&APg}zd4whyU*oi9=zKwBN1`M-<$iLW)VXc`%1>F`tR?68t&~b=c##rZ|Ty#)!!Q$ z55B+qc~`lA!>zg6zv8ycX4rar@9XN1?=~_wf8H&A{?o5}GYvNEcy4>TI*iGreXpMG uTgwx+f1ZB5f7)KbSmIy(ga7?cN*FG;yYz6`@OJ{;%;4$j=d#Wzp$Pzv&x9lZ diff --git a/graphics/event_objects/pics/people/tucker/2.png b/graphics/event_objects/pics/people/tucker/2.png deleted file mode 100644 index 2496ded575f812a4ae040bf74bfee26198aa49df..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 272 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?;*Y@UJ&2GeXf6CIO|JjZ9JU#bjnjJ&Z zn>HgE*14xIe{$rhe5$m03qKE!&aq>z&lK32y9)~||5__FAHBKf-+g9<$DemUw|8LT zc`mo|&uiw+n&Pl;%-w$~lHM>1B|NBq{%Ilq84dma3}x51muNKq|6iX{&djh_#dLkc TVzWCymoa#{`njxgN@xNAM>KDg diff --git a/graphics/event_objects/pics/people/tucker/3.png b/graphics/event_objects/pics/people/tucker/3.png deleted file mode 100644 index 3f7b156f0d32ed82a72edd8ed7c8554e4c3446ac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 292 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?C>eW1$EOkI<}^38XEs+-7o)Wu)b8Nr{juQzQVZSuir<^dD&&rAW?(tqQK-anQ=ImlG1-9zwa~qXJ1s3b;uDvUv^Zi}yZtfGQ n_b>miPiQbuFk${*FTlyLUC`VhKaWuv=voF(S3j3^P6fS407_?C>eW1$EOkI<}^38XEs+-7o)Wu)b8Nr{juQzQVZSuir<^fS407_?Y(kFI5xrF&G5yV&O#(909ZZ(K z3Jj0Dx2!y2()Y7xQX1-$!hBfM_msQwKlXgjb);GO>`wM)A$O*3-aV;ZU104ila=z8 zi=Jxx<{giD+PJuA;gY oXWe$in-7l5T{iMPlKjG6Y>IfS407_?C>hX1@*l)x@-5WX=wak9T^o>^_QKEZJvpO1w+W= z&APg}zd4whyU*oi9=zKwBN1`M-<$iLW)VXc`%1>F`tR?68t&~b=c##rZ|Ty#)!!Q$ z55B+qc~^OVW7Zt)UvXQkts7i^#qFtPGWl?~JH4{@eFK}+Z`;$=Y(;IS_ix$qJYo9B l|N86OcTAK&mhgkWgqK0J+P=!3zaQju22WQ%mvv4FO#qu%eBl59 diff --git a/graphics/event_objects/pics/people/tucker/7.png b/graphics/event_objects/pics/people/tucker/7.png deleted file mode 100644 index a98ef88190ebf0e9be19b085762b525627918a79..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 278 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?H$v=VN zuwv@;`dSCUI@QTV_7hHg_y1P;HST*E1XaIQ_p~pMB<;5Az%C-`ZbU``_Mx ZfuT#ntVY%RN+-~L44$rjF6*2Ung9X-awz}+ diff --git a/graphics/event_objects/pics/people/tucker/8.png b/graphics/event_objects/pics/people/tucker/8.png deleted file mode 100644 index 7b6d30a2283c4a7d8f12325d26654dcf59e367fc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 276 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?w2nmia5}-?{(w@*NZ7{_mGbv9ABg-u7QXv+aLEIupZR Xdkdk$1#j$uu4C|Y^>bP0l+XkKB=m70 diff --git a/src/data/field_event_obj/event_object_graphics.h b/src/data/field_event_obj/event_object_graphics.h index 42385f0c42..ccdf842fb3 100755 --- a/src/data/field_event_obj/event_object_graphics.h +++ b/src/data/field_event_obj/event_object_graphics.h @@ -699,42 +699,10 @@ const u32 gEventObjectPic_Man7_5[] = INCBIN_U32("graphics/event_objects/pics/peo const u32 gEventObjectPic_Man7_6[] = INCBIN_U32("graphics/event_objects/pics/people/man_7/6.4bpp"); const u32 gEventObjectPic_Man7_7[] = INCBIN_U32("graphics/event_objects/pics/people/man_7/7.4bpp"); const u32 gEventObjectPic_Man7_8[] = INCBIN_U32("graphics/event_objects/pics/people/man_7/8.4bpp"); -const u32 gEventObjectPic_AquaMemberM_0[] = INCBIN_U32("graphics/event_objects/pics/people/aqua_member_m/0.4bpp"); -const u32 gEventObjectPic_AquaMemberM_1[] = INCBIN_U32("graphics/event_objects/pics/people/aqua_member_m/1.4bpp"); -const u32 gEventObjectPic_AquaMemberM_2[] = INCBIN_U32("graphics/event_objects/pics/people/aqua_member_m/2.4bpp"); -const u32 gEventObjectPic_AquaMemberM_3[] = INCBIN_U32("graphics/event_objects/pics/people/aqua_member_m/3.4bpp"); -const u32 gEventObjectPic_AquaMemberM_4[] = INCBIN_U32("graphics/event_objects/pics/people/aqua_member_m/4.4bpp"); -const u32 gEventObjectPic_AquaMemberM_5[] = INCBIN_U32("graphics/event_objects/pics/people/aqua_member_m/5.4bpp"); -const u32 gEventObjectPic_AquaMemberM_6[] = INCBIN_U32("graphics/event_objects/pics/people/aqua_member_m/6.4bpp"); -const u32 gEventObjectPic_AquaMemberM_7[] = INCBIN_U32("graphics/event_objects/pics/people/aqua_member_m/7.4bpp"); -const u32 gEventObjectPic_AquaMemberM_8[] = INCBIN_U32("graphics/event_objects/pics/people/aqua_member_m/8.4bpp"); -const u32 gEventObjectPic_AquaMemberF_0[] = INCBIN_U32("graphics/event_objects/pics/people/aqua_member_f/0.4bpp"); -const u32 gEventObjectPic_AquaMemberF_1[] = INCBIN_U32("graphics/event_objects/pics/people/aqua_member_f/1.4bpp"); -const u32 gEventObjectPic_AquaMemberF_2[] = INCBIN_U32("graphics/event_objects/pics/people/aqua_member_f/2.4bpp"); -const u32 gEventObjectPic_AquaMemberF_3[] = INCBIN_U32("graphics/event_objects/pics/people/aqua_member_f/3.4bpp"); -const u32 gEventObjectPic_AquaMemberF_4[] = INCBIN_U32("graphics/event_objects/pics/people/aqua_member_f/4.4bpp"); -const u32 gEventObjectPic_AquaMemberF_5[] = INCBIN_U32("graphics/event_objects/pics/people/aqua_member_f/5.4bpp"); -const u32 gEventObjectPic_AquaMemberF_6[] = INCBIN_U32("graphics/event_objects/pics/people/aqua_member_f/6.4bpp"); -const u32 gEventObjectPic_AquaMemberF_7[] = INCBIN_U32("graphics/event_objects/pics/people/aqua_member_f/7.4bpp"); -const u32 gEventObjectPic_AquaMemberF_8[] = INCBIN_U32("graphics/event_objects/pics/people/aqua_member_f/8.4bpp"); -const u32 gEventObjectPic_MagmaMemberM_0[] = INCBIN_U32("graphics/event_objects/pics/people/magma_member_m/0.4bpp"); -const u32 gEventObjectPic_MagmaMemberM_1[] = INCBIN_U32("graphics/event_objects/pics/people/magma_member_m/1.4bpp"); -const u32 gEventObjectPic_MagmaMemberM_2[] = INCBIN_U32("graphics/event_objects/pics/people/magma_member_m/2.4bpp"); -const u32 gEventObjectPic_MagmaMemberM_3[] = INCBIN_U32("graphics/event_objects/pics/people/magma_member_m/3.4bpp"); -const u32 gEventObjectPic_MagmaMemberM_4[] = INCBIN_U32("graphics/event_objects/pics/people/magma_member_m/4.4bpp"); -const u32 gEventObjectPic_MagmaMemberM_5[] = INCBIN_U32("graphics/event_objects/pics/people/magma_member_m/5.4bpp"); -const u32 gEventObjectPic_MagmaMemberM_6[] = INCBIN_U32("graphics/event_objects/pics/people/magma_member_m/6.4bpp"); -const u32 gEventObjectPic_MagmaMemberM_7[] = INCBIN_U32("graphics/event_objects/pics/people/magma_member_m/7.4bpp"); -const u32 gEventObjectPic_MagmaMemberM_8[] = INCBIN_U32("graphics/event_objects/pics/people/magma_member_m/8.4bpp"); -const u32 gEventObjectPic_MagmaMemberF_0[] = INCBIN_U32("graphics/event_objects/pics/people/magma_member_f/0.4bpp"); -const u32 gEventObjectPic_MagmaMemberF_1[] = INCBIN_U32("graphics/event_objects/pics/people/magma_member_f/1.4bpp"); -const u32 gEventObjectPic_MagmaMemberF_2[] = INCBIN_U32("graphics/event_objects/pics/people/magma_member_f/2.4bpp"); -const u32 gEventObjectPic_MagmaMemberF_3[] = INCBIN_U32("graphics/event_objects/pics/people/magma_member_f/3.4bpp"); -const u32 gEventObjectPic_MagmaMemberF_4[] = INCBIN_U32("graphics/event_objects/pics/people/magma_member_f/4.4bpp"); -const u32 gEventObjectPic_MagmaMemberF_5[] = INCBIN_U32("graphics/event_objects/pics/people/magma_member_f/5.4bpp"); -const u32 gEventObjectPic_MagmaMemberF_6[] = INCBIN_U32("graphics/event_objects/pics/people/magma_member_f/6.4bpp"); -const u32 gEventObjectPic_MagmaMemberF_7[] = INCBIN_U32("graphics/event_objects/pics/people/magma_member_f/7.4bpp"); -const u32 gEventObjectPic_MagmaMemberF_8[] = INCBIN_U32("graphics/event_objects/pics/people/magma_member_f/8.4bpp"); +const u32 gEventObjectPic_AquaMemberM[] = INCBIN_U32("graphics/event_objects/pics/people/team_aqua/aqua_member_m.4bpp"); +const u32 gEventObjectPic_AquaMemberF[] = INCBIN_U32("graphics/event_objects/pics/people/team_aqua/aqua_member_f.4bpp"); +const u32 gEventObjectPic_MagmaMemberM[] = INCBIN_U32("graphics/event_objects/pics/people/team_magma/magma_member_m.4bpp"); +const u32 gEventObjectPic_MagmaMemberF[] = INCBIN_U32("graphics/event_objects/pics/people/team_magma/magma_member_f.4bpp"); const u32 gEventObjectPic_Sidney_0[] = INCBIN_U32("graphics/event_objects/pics/people/sidney/0.4bpp"); const u32 gEventObjectPic_Sidney_1[] = INCBIN_U32("graphics/event_objects/pics/people/sidney/1.4bpp"); const u32 gEventObjectPic_Sidney_2[] = INCBIN_U32("graphics/event_objects/pics/people/sidney/2.4bpp"); @@ -837,24 +805,8 @@ const u32 gEventObjectPic_ContestOldMan_5[] = INCBIN_U32("graphics/event_objects const u32 gEventObjectPic_ContestOldMan_6[] = INCBIN_U32("graphics/event_objects/pics/people/contest_old_man/6.4bpp"); const u32 gEventObjectPic_ContestOldMan_7[] = INCBIN_U32("graphics/event_objects/pics/people/contest_old_man/7.4bpp"); const u32 gEventObjectPic_ContestOldMan_8[] = INCBIN_U32("graphics/event_objects/pics/people/contest_old_man/8.4bpp"); -const u32 gEventObjectPic_Archie_0[] = INCBIN_U32("graphics/event_objects/pics/people/archie/0.4bpp"); -const u32 gEventObjectPic_Archie_1[] = INCBIN_U32("graphics/event_objects/pics/people/archie/1.4bpp"); -const u32 gEventObjectPic_Archie_2[] = INCBIN_U32("graphics/event_objects/pics/people/archie/2.4bpp"); -const u32 gEventObjectPic_Archie_3[] = INCBIN_U32("graphics/event_objects/pics/people/archie/3.4bpp"); -const u32 gEventObjectPic_Archie_4[] = INCBIN_U32("graphics/event_objects/pics/people/archie/4.4bpp"); -const u32 gEventObjectPic_Archie_5[] = INCBIN_U32("graphics/event_objects/pics/people/archie/5.4bpp"); -const u32 gEventObjectPic_Archie_6[] = INCBIN_U32("graphics/event_objects/pics/people/archie/6.4bpp"); -const u32 gEventObjectPic_Archie_7[] = INCBIN_U32("graphics/event_objects/pics/people/archie/7.4bpp"); -const u32 gEventObjectPic_Archie_8[] = INCBIN_U32("graphics/event_objects/pics/people/archie/8.4bpp"); -const u32 gEventObjectPic_Maxie_0[] = INCBIN_U32("graphics/event_objects/pics/people/maxie/0.4bpp"); -const u32 gEventObjectPic_Maxie_1[] = INCBIN_U32("graphics/event_objects/pics/people/maxie/1.4bpp"); -const u32 gEventObjectPic_Maxie_2[] = INCBIN_U32("graphics/event_objects/pics/people/maxie/2.4bpp"); -const u32 gEventObjectPic_Maxie_3[] = INCBIN_U32("graphics/event_objects/pics/people/maxie/3.4bpp"); -const u32 gEventObjectPic_Maxie_4[] = INCBIN_U32("graphics/event_objects/pics/people/maxie/4.4bpp"); -const u32 gEventObjectPic_Maxie_5[] = INCBIN_U32("graphics/event_objects/pics/people/maxie/5.4bpp"); -const u32 gEventObjectPic_Maxie_6[] = INCBIN_U32("graphics/event_objects/pics/people/maxie/6.4bpp"); -const u32 gEventObjectPic_Maxie_7[] = INCBIN_U32("graphics/event_objects/pics/people/maxie/7.4bpp"); -const u32 gEventObjectPic_Maxie_8[] = INCBIN_U32("graphics/event_objects/pics/people/maxie/8.4bpp"); +const u32 gEventObjectPic_Archie[] = INCBIN_U32("graphics/event_objects/pics/people/team_aqua/archie.4bpp"); +const u32 gEventObjectPic_Maxie[] = INCBIN_U32("graphics/event_objects/pics/people/team_magma/maxie.4bpp"); const u32 gEventObjectPic_KyogreFront_0[] = INCBIN_U32("graphics/event_objects/pics/pokemon/kyogre_front/0.4bpp"); const u32 gEventObjectPic_KyogreFront_1[] = INCBIN_U32("graphics/event_objects/pics/pokemon/kyogre_front/1.4bpp"); const u32 gEventObjectPic_KyogreSide_0[] = INCBIN_U32("graphics/event_objects/pics/pokemon/kyogre_side/0.4bpp"); @@ -1440,69 +1392,13 @@ const u32 gEventObjectPic_BirthIslandStone[] = INCBIN_U32("graphics/event_object const u16 gEventObjectPalette29[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_29.gbapal"); const u32 gEventObjectPic_Deoxys_0[] = INCBIN_U32("graphics/event_objects/pics/pokemon/deoxys/0.4bpp"); const u32 gEventObjectPic_Deoxys_1[] = INCBIN_U32("graphics/event_objects/pics/pokemon/deoxys/1.4bpp"); -const u32 gEventObjectPic_Anabel_0[] = INCBIN_U32("graphics/event_objects/pics/people/anabel/0.4bpp"); -const u32 gEventObjectPic_Anabel_1[] = INCBIN_U32("graphics/event_objects/pics/people/anabel/1.4bpp"); -const u32 gEventObjectPic_Anabel_2[] = INCBIN_U32("graphics/event_objects/pics/people/anabel/2.4bpp"); -const u32 gEventObjectPic_Anabel_3[] = INCBIN_U32("graphics/event_objects/pics/people/anabel/3.4bpp"); -const u32 gEventObjectPic_Anabel_4[] = INCBIN_U32("graphics/event_objects/pics/people/anabel/4.4bpp"); -const u32 gEventObjectPic_Anabel_5[] = INCBIN_U32("graphics/event_objects/pics/people/anabel/5.4bpp"); -const u32 gEventObjectPic_Anabel_6[] = INCBIN_U32("graphics/event_objects/pics/people/anabel/6.4bpp"); -const u32 gEventObjectPic_Anabel_7[] = INCBIN_U32("graphics/event_objects/pics/people/anabel/7.4bpp"); -const u32 gEventObjectPic_Anabel_8[] = INCBIN_U32("graphics/event_objects/pics/people/anabel/8.4bpp"); -const u32 gEventObjectPic_Tucker_0[] = INCBIN_U32("graphics/event_objects/pics/people/tucker/0.4bpp"); -const u32 gEventObjectPic_Tucker_1[] = INCBIN_U32("graphics/event_objects/pics/people/tucker/1.4bpp"); -const u32 gEventObjectPic_Tucker_2[] = INCBIN_U32("graphics/event_objects/pics/people/tucker/2.4bpp"); -const u32 gEventObjectPic_Tucker_3[] = INCBIN_U32("graphics/event_objects/pics/people/tucker/3.4bpp"); -const u32 gEventObjectPic_Tucker_4[] = INCBIN_U32("graphics/event_objects/pics/people/tucker/4.4bpp"); -const u32 gEventObjectPic_Tucker_5[] = INCBIN_U32("graphics/event_objects/pics/people/tucker/5.4bpp"); -const u32 gEventObjectPic_Tucker_6[] = INCBIN_U32("graphics/event_objects/pics/people/tucker/6.4bpp"); -const u32 gEventObjectPic_Tucker_7[] = INCBIN_U32("graphics/event_objects/pics/people/tucker/7.4bpp"); -const u32 gEventObjectPic_Tucker_8[] = INCBIN_U32("graphics/event_objects/pics/people/tucker/8.4bpp"); -const u32 gEventObjectPic_Spenser_0[] = INCBIN_U32("graphics/event_objects/pics/people/spenser/0.4bpp"); -const u32 gEventObjectPic_Spenser_1[] = INCBIN_U32("graphics/event_objects/pics/people/spenser/1.4bpp"); -const u32 gEventObjectPic_Spenser_2[] = INCBIN_U32("graphics/event_objects/pics/people/spenser/2.4bpp"); -const u32 gEventObjectPic_Spenser_3[] = INCBIN_U32("graphics/event_objects/pics/people/spenser/3.4bpp"); -const u32 gEventObjectPic_Spenser_4[] = INCBIN_U32("graphics/event_objects/pics/people/spenser/4.4bpp"); -const u32 gEventObjectPic_Spenser_5[] = INCBIN_U32("graphics/event_objects/pics/people/spenser/5.4bpp"); -const u32 gEventObjectPic_Spenser_6[] = INCBIN_U32("graphics/event_objects/pics/people/spenser/6.4bpp"); -const u32 gEventObjectPic_Spenser_7[] = INCBIN_U32("graphics/event_objects/pics/people/spenser/7.4bpp"); -const u32 gEventObjectPic_Spenser_8[] = INCBIN_U32("graphics/event_objects/pics/people/spenser/8.4bpp"); -const u32 gEventObjectPic_Greta_0[] = INCBIN_U32("graphics/event_objects/pics/people/greta/0.4bpp"); -const u32 gEventObjectPic_Greta_1[] = INCBIN_U32("graphics/event_objects/pics/people/greta/1.4bpp"); -const u32 gEventObjectPic_Greta_2[] = INCBIN_U32("graphics/event_objects/pics/people/greta/2.4bpp"); -const u32 gEventObjectPic_Greta_3[] = INCBIN_U32("graphics/event_objects/pics/people/greta/3.4bpp"); -const u32 gEventObjectPic_Greta_4[] = INCBIN_U32("graphics/event_objects/pics/people/greta/4.4bpp"); -const u32 gEventObjectPic_Greta_5[] = INCBIN_U32("graphics/event_objects/pics/people/greta/5.4bpp"); -const u32 gEventObjectPic_Greta_6[] = INCBIN_U32("graphics/event_objects/pics/people/greta/6.4bpp"); -const u32 gEventObjectPic_Greta_7[] = INCBIN_U32("graphics/event_objects/pics/people/greta/7.4bpp"); -const u32 gEventObjectPic_Greta_8[] = INCBIN_U32("graphics/event_objects/pics/people/greta/8.4bpp"); -const u32 gEventObjectPic_Noland_0[] = INCBIN_U32("graphics/event_objects/pics/people/noland/0.4bpp"); -const u32 gEventObjectPic_Noland_1[] = INCBIN_U32("graphics/event_objects/pics/people/noland/1.4bpp"); -const u32 gEventObjectPic_Noland_2[] = INCBIN_U32("graphics/event_objects/pics/people/noland/2.4bpp"); -const u32 gEventObjectPic_Noland_3[] = INCBIN_U32("graphics/event_objects/pics/people/noland/3.4bpp"); -const u32 gEventObjectPic_Noland_4[] = INCBIN_U32("graphics/event_objects/pics/people/noland/4.4bpp"); -const u32 gEventObjectPic_Noland_5[] = INCBIN_U32("graphics/event_objects/pics/people/noland/5.4bpp"); -const u32 gEventObjectPic_Noland_6[] = INCBIN_U32("graphics/event_objects/pics/people/noland/6.4bpp"); -const u32 gEventObjectPic_Noland_7[] = INCBIN_U32("graphics/event_objects/pics/people/noland/7.4bpp"); -const u32 gEventObjectPic_Noland_8[] = INCBIN_U32("graphics/event_objects/pics/people/noland/8.4bpp"); -const u32 gEventObjectPic_Lucy_0[] = INCBIN_U32("graphics/event_objects/pics/people/lucy/0.4bpp"); -const u32 gEventObjectPic_Lucy_1[] = INCBIN_U32("graphics/event_objects/pics/people/lucy/1.4bpp"); -const u32 gEventObjectPic_Lucy_2[] = INCBIN_U32("graphics/event_objects/pics/people/lucy/2.4bpp"); -const u32 gEventObjectPic_Lucy_3[] = INCBIN_U32("graphics/event_objects/pics/people/lucy/3.4bpp"); -const u32 gEventObjectPic_Lucy_4[] = INCBIN_U32("graphics/event_objects/pics/people/lucy/4.4bpp"); -const u32 gEventObjectPic_Lucy_5[] = INCBIN_U32("graphics/event_objects/pics/people/lucy/5.4bpp"); -const u32 gEventObjectPic_Lucy_6[] = INCBIN_U32("graphics/event_objects/pics/people/lucy/6.4bpp"); -const u32 gEventObjectPic_Lucy_7[] = INCBIN_U32("graphics/event_objects/pics/people/lucy/7.4bpp"); -const u32 gEventObjectPic_Lucy_8[] = INCBIN_U32("graphics/event_objects/pics/people/lucy/8.4bpp"); -const u32 gEventObjectPic_Brandon_0[] = INCBIN_U32("graphics/event_objects/pics/people/brandon/0.4bpp"); -const u32 gEventObjectPic_Brandon_1[] = INCBIN_U32("graphics/event_objects/pics/people/brandon/1.4bpp"); -const u32 gEventObjectPic_Brandon_2[] = INCBIN_U32("graphics/event_objects/pics/people/brandon/2.4bpp"); -const u32 gEventObjectPic_Brandon_3[] = INCBIN_U32("graphics/event_objects/pics/people/brandon/3.4bpp"); -const u32 gEventObjectPic_Brandon_4[] = INCBIN_U32("graphics/event_objects/pics/people/brandon/4.4bpp"); -const u32 gEventObjectPic_Brandon_5[] = INCBIN_U32("graphics/event_objects/pics/people/brandon/5.4bpp"); -const u32 gEventObjectPic_Brandon_6[] = INCBIN_U32("graphics/event_objects/pics/people/brandon/6.4bpp"); -const u32 gEventObjectPic_Brandon_7[] = INCBIN_U32("graphics/event_objects/pics/people/brandon/7.4bpp"); -const u32 gEventObjectPic_Brandon_8[] = INCBIN_U32("graphics/event_objects/pics/people/brandon/8.4bpp"); +const u32 gEventObjectPic_Anabel[] = INCBIN_U32("graphics/event_objects/pics/people/frontier_brains/anabel.4bpp"); +const u32 gEventObjectPic_Tucker[] = INCBIN_U32("graphics/event_objects/pics/people/frontier_brains/tucker.4bpp"); +const u32 gEventObjectPic_Spenser[] = INCBIN_U32("graphics/event_objects/pics/people/frontier_brains/spenser.4bpp"); +const u32 gEventObjectPic_Greta[] = INCBIN_U32("graphics/event_objects/pics/people/frontier_brains/greta.4bpp"); +const u32 gEventObjectPic_Noland[] = INCBIN_U32("graphics/event_objects/pics/people/frontier_brains/noland.4bpp"); +const u32 gEventObjectPic_Lucy[] = INCBIN_U32("graphics/event_objects/pics/people/frontier_brains/lucy.4bpp"); +const u32 gEventObjectPic_Brandon[] = INCBIN_U32("graphics/event_objects/pics/people/frontier_brains/brandon.4bpp"); const u32 gEventObjectPic_Lugia_0[] = INCBIN_U32("graphics/event_objects/pics/pokemon/lugia/0.4bpp"); const u32 gEventObjectPic_Lugia_1[] = INCBIN_U32("graphics/event_objects/pics/pokemon/lugia/1.4bpp"); const u16 gEventObjectPalette32[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_32.gbapal"); From ab2cc59629bfb8c4809807e82cb5224b4596844a Mon Sep 17 00:00:00 2001 From: Slawter666 <38655737+Slawter666@users.noreply.github.com> Date: Tue, 7 Aug 2018 22:16:03 +0100 Subject: [PATCH 058/234] Merge remaining "people" overworld frames --- graphics/event_objects/pics/people/artist.png | Bin 0 -> 790 bytes .../event_objects/pics/people/artist/0.png | Bin 302 -> 0 bytes .../event_objects/pics/people/artist/1.png | Bin 286 -> 0 bytes .../event_objects/pics/people/artist/2.png | Bin 278 -> 0 bytes .../event_objects/pics/people/artist/3.png | Bin 291 -> 0 bytes .../event_objects/pics/people/artist/4.png | Bin 291 -> 0 bytes .../event_objects/pics/people/artist/5.png | Bin 277 -> 0 bytes .../event_objects/pics/people/artist/6.png | Bin 277 -> 0 bytes .../event_objects/pics/people/artist/7.png | Bin 289 -> 0 bytes .../event_objects/pics/people/artist/8.png | Bin 283 -> 0 bytes graphics/event_objects/pics/people/beauty.png | Bin 0 -> 828 bytes .../event_objects/pics/people/beauty/0.png | Bin 296 -> 0 bytes .../event_objects/pics/people/beauty/1.png | Bin 290 -> 0 bytes .../event_objects/pics/people/beauty/2.png | Bin 264 -> 0 bytes .../event_objects/pics/people/beauty/3.png | Bin 284 -> 0 bytes .../event_objects/pics/people/beauty/4.png | Bin 283 -> 0 bytes .../event_objects/pics/people/beauty/5.png | Bin 280 -> 0 bytes .../event_objects/pics/people/beauty/6.png | Bin 278 -> 0 bytes .../event_objects/pics/people/beauty/7.png | Bin 269 -> 0 bytes .../event_objects/pics/people/beauty/8.png | Bin 269 -> 0 bytes .../event_objects/pics/people/black_belt.png | Bin 0 -> 873 bytes .../pics/people/black_belt/0.png | Bin 306 -> 0 bytes .../pics/people/black_belt/1.png | Bin 304 -> 0 bytes .../pics/people/black_belt/2.png | Bin 275 -> 0 bytes .../pics/people/black_belt/3.png | Bin 295 -> 0 bytes .../pics/people/black_belt/4.png | Bin 294 -> 0 bytes .../pics/people/black_belt/5.png | Bin 293 -> 0 bytes .../pics/people/black_belt/6.png | Bin 295 -> 0 bytes .../pics/people/black_belt/7.png | Bin 278 -> 0 bytes .../pics/people/black_belt/8.png | Bin 276 -> 0 bytes graphics/event_objects/pics/people/boy_1.png | Bin 0 -> 790 bytes .../event_objects/pics/people/boy_1/0.png | Bin 283 -> 0 bytes .../event_objects/pics/people/boy_1/1.png | Bin 274 -> 0 bytes .../event_objects/pics/people/boy_1/2.png | Bin 254 -> 0 bytes .../event_objects/pics/people/boy_1/3.png | Bin 274 -> 0 bytes .../event_objects/pics/people/boy_1/4.png | Bin 275 -> 0 bytes .../event_objects/pics/people/boy_1/5.png | Bin 265 -> 0 bytes .../event_objects/pics/people/boy_1/6.png | Bin 265 -> 0 bytes .../event_objects/pics/people/boy_1/7.png | Bin 257 -> 0 bytes .../event_objects/pics/people/boy_1/8.png | Bin 259 -> 0 bytes graphics/event_objects/pics/people/boy_2.png | Bin 0 -> 850 bytes .../event_objects/pics/people/boy_2/0.png | Bin 283 -> 0 bytes .../event_objects/pics/people/boy_2/1.png | Bin 275 -> 0 bytes .../event_objects/pics/people/boy_2/2.png | Bin 248 -> 0 bytes .../event_objects/pics/people/boy_2/3.png | Bin 277 -> 0 bytes .../event_objects/pics/people/boy_2/4.png | Bin 277 -> 0 bytes .../event_objects/pics/people/boy_2/5.png | Bin 268 -> 0 bytes .../event_objects/pics/people/boy_2/6.png | Bin 266 -> 0 bytes .../event_objects/pics/people/boy_2/7.png | Bin 251 -> 0 bytes .../event_objects/pics/people/boy_2/8.png | Bin 254 -> 0 bytes graphics/event_objects/pics/people/boy_3.png | Bin 0 -> 807 bytes .../event_objects/pics/people/boy_3/0.png | Bin 281 -> 0 bytes .../event_objects/pics/people/boy_3/1.png | Bin 268 -> 0 bytes .../event_objects/pics/people/boy_3/2.png | Bin 247 -> 0 bytes .../event_objects/pics/people/boy_3/3.png | Bin 274 -> 0 bytes .../event_objects/pics/people/boy_3/4.png | Bin 272 -> 0 bytes .../event_objects/pics/people/boy_3/5.png | Bin 264 -> 0 bytes .../event_objects/pics/people/boy_3/6.png | Bin 261 -> 0 bytes .../event_objects/pics/people/boy_3/7.png | Bin 250 -> 0 bytes .../event_objects/pics/people/boy_3/8.png | Bin 249 -> 0 bytes graphics/event_objects/pics/people/boy_4.png | Bin 0 -> 875 bytes .../event_objects/pics/people/boy_4/0.png | Bin 291 -> 0 bytes .../event_objects/pics/people/boy_4/1.png | Bin 280 -> 0 bytes .../event_objects/pics/people/boy_4/2.png | Bin 256 -> 0 bytes .../event_objects/pics/people/boy_4/3.png | Bin 279 -> 0 bytes .../event_objects/pics/people/boy_4/4.png | Bin 278 -> 0 bytes .../event_objects/pics/people/boy_4/5.png | Bin 277 -> 0 bytes .../event_objects/pics/people/boy_4/6.png | Bin 276 -> 0 bytes .../event_objects/pics/people/boy_4/7.png | Bin 258 -> 0 bytes .../event_objects/pics/people/boy_4/8.png | Bin 259 -> 0 bytes graphics/event_objects/pics/people/boy_5.png | Bin 0 -> 517 bytes .../event_objects/pics/people/boy_5/0.png | Bin 282 -> 0 bytes .../event_objects/pics/people/boy_5/1.png | Bin 262 -> 0 bytes .../event_objects/pics/people/boy_5/2.png | Bin 266 -> 0 bytes .../event_objects/pics/people/brawly/0.png | Bin 301 -> 0 bytes .../event_objects/pics/people/brawly/1.png | Bin 277 -> 0 bytes .../event_objects/pics/people/brawly/2.png | Bin 265 -> 0 bytes .../event_objects/pics/people/bug_catcher.png | Bin 0 -> 806 bytes .../pics/people/bug_catcher/0.png | Bin 299 -> 0 bytes .../pics/people/bug_catcher/1.png | Bin 302 -> 0 bytes .../pics/people/bug_catcher/2.png | Bin 279 -> 0 bytes .../pics/people/bug_catcher/3.png | Bin 292 -> 0 bytes .../pics/people/bug_catcher/4.png | Bin 293 -> 0 bytes .../pics/people/bug_catcher/5.png | Bin 291 -> 0 bytes .../pics/people/bug_catcher/6.png | Bin 291 -> 0 bytes .../pics/people/bug_catcher/7.png | Bin 284 -> 0 bytes .../pics/people/bug_catcher/8.png | Bin 285 -> 0 bytes .../event_objects/pics/people/cameraman.png | Bin 0 -> 787 bytes .../event_objects/pics/people/cameraman/0.png | Bin 297 -> 0 bytes .../event_objects/pics/people/cameraman/1.png | Bin 288 -> 0 bytes .../event_objects/pics/people/cameraman/2.png | Bin 273 -> 0 bytes .../event_objects/pics/people/cameraman/3.png | Bin 293 -> 0 bytes .../event_objects/pics/people/cameraman/4.png | Bin 294 -> 0 bytes .../event_objects/pics/people/cameraman/5.png | Bin 284 -> 0 bytes .../event_objects/pics/people/cameraman/6.png | Bin 286 -> 0 bytes .../event_objects/pics/people/cameraman/7.png | Bin 279 -> 0 bytes .../event_objects/pics/people/cameraman/8.png | Bin 276 -> 0 bytes graphics/event_objects/pics/people/camper.png | Bin 0 -> 809 bytes .../event_objects/pics/people/camper/0.png | Bin 293 -> 0 bytes .../event_objects/pics/people/camper/1.png | Bin 282 -> 0 bytes .../event_objects/pics/people/camper/2.png | Bin 263 -> 0 bytes .../event_objects/pics/people/camper/3.png | Bin 281 -> 0 bytes .../event_objects/pics/people/camper/4.png | Bin 283 -> 0 bytes .../event_objects/pics/people/camper/5.png | Bin 271 -> 0 bytes .../event_objects/pics/people/camper/6.png | Bin 272 -> 0 bytes .../event_objects/pics/people/camper/7.png | Bin 273 -> 0 bytes .../event_objects/pics/people/camper/8.png | Bin 273 -> 0 bytes .../pics/people/contest_old_man.png | Bin 0 -> 872 bytes .../pics/people/contest_old_man/0.png | Bin 297 -> 0 bytes .../pics/people/contest_old_man/1.png | Bin 277 -> 0 bytes .../pics/people/contest_old_man/2.png | Bin 256 -> 0 bytes .../pics/people/contest_old_man/3.png | Bin 284 -> 0 bytes .../pics/people/contest_old_man/4.png | Bin 284 -> 0 bytes .../pics/people/contest_old_man/5.png | Bin 277 -> 0 bytes .../pics/people/contest_old_man/6.png | Bin 273 -> 0 bytes .../pics/people/contest_old_man/7.png | Bin 268 -> 0 bytes .../pics/people/contest_old_man/8.png | Bin 265 -> 0 bytes graphics/event_objects/pics/people/cook.png | Bin 0 -> 582 bytes graphics/event_objects/pics/people/cook/0.png | Bin 303 -> 0 bytes graphics/event_objects/pics/people/cook/1.png | Bin 293 -> 0 bytes graphics/event_objects/pics/people/cook/2.png | Bin 290 -> 0 bytes .../pics/people/cycling_triathlete_f.png | Bin 0 -> 1176 bytes .../pics/people/cycling_triathlete_f/0.png | Bin 290 -> 0 bytes .../pics/people/cycling_triathlete_f/1.png | Bin 285 -> 0 bytes .../pics/people/cycling_triathlete_f/2.png | Bin 329 -> 0 bytes .../pics/people/cycling_triathlete_f/3.png | Bin 291 -> 0 bytes .../pics/people/cycling_triathlete_f/4.png | Bin 291 -> 0 bytes .../pics/people/cycling_triathlete_f/5.png | Bin 286 -> 0 bytes .../pics/people/cycling_triathlete_f/6.png | Bin 287 -> 0 bytes .../pics/people/cycling_triathlete_f/7.png | Bin 329 -> 0 bytes .../pics/people/cycling_triathlete_f/8.png | Bin 333 -> 0 bytes .../pics/people/cycling_triathlete_m.png | Bin 0 -> 1173 bytes .../pics/people/cycling_triathlete_m/0.png | Bin 290 -> 0 bytes .../pics/people/cycling_triathlete_m/1.png | Bin 286 -> 0 bytes .../pics/people/cycling_triathlete_m/2.png | Bin 332 -> 0 bytes .../pics/people/cycling_triathlete_m/3.png | Bin 292 -> 0 bytes .../pics/people/cycling_triathlete_m/4.png | Bin 292 -> 0 bytes .../pics/people/cycling_triathlete_m/5.png | Bin 291 -> 0 bytes .../pics/people/cycling_triathlete_m/6.png | Bin 292 -> 0 bytes .../pics/people/cycling_triathlete_m/7.png | Bin 328 -> 0 bytes .../pics/people/cycling_triathlete_m/8.png | Bin 331 -> 0 bytes .../event_objects/pics/people/drake/0.png | Bin 295 -> 0 bytes .../event_objects/pics/people/drake/1.png | Bin 280 -> 0 bytes .../event_objects/pics/people/drake/2.png | Bin 266 -> 0 bytes .../pics/people/elite_four/drake.png | Bin 0 -> 574 bytes .../pics/people/elite_four/glacia.png | Bin 0 -> 572 bytes .../pics/people/elite_four/phoebe.png | Bin 0 -> 576 bytes .../pics/people/elite_four/sidney.png | Bin 0 -> 558 bytes .../event_objects/pics/people/fat_man.png | Bin 0 -> 784 bytes .../event_objects/pics/people/fat_man/0.png | Bin 292 -> 0 bytes .../event_objects/pics/people/fat_man/1.png | Bin 290 -> 0 bytes .../event_objects/pics/people/fat_man/2.png | Bin 292 -> 0 bytes .../event_objects/pics/people/fat_man/3.png | Bin 289 -> 0 bytes .../event_objects/pics/people/fat_man/4.png | Bin 287 -> 0 bytes .../event_objects/pics/people/fat_man/5.png | Bin 284 -> 0 bytes .../event_objects/pics/people/fat_man/6.png | Bin 282 -> 0 bytes .../event_objects/pics/people/fat_man/7.png | Bin 292 -> 0 bytes .../event_objects/pics/people/fat_man/8.png | Bin 289 -> 0 bytes .../event_objects/pics/people/fisherman.png | Bin 0 -> 887 bytes .../event_objects/pics/people/fisherman/0.png | Bin 302 -> 0 bytes .../event_objects/pics/people/fisherman/1.png | Bin 286 -> 0 bytes .../event_objects/pics/people/fisherman/2.png | Bin 270 -> 0 bytes .../event_objects/pics/people/fisherman/3.png | Bin 291 -> 0 bytes .../event_objects/pics/people/fisherman/4.png | Bin 291 -> 0 bytes .../event_objects/pics/people/fisherman/5.png | Bin 281 -> 0 bytes .../event_objects/pics/people/fisherman/6.png | Bin 281 -> 0 bytes .../event_objects/pics/people/fisherman/7.png | Bin 273 -> 0 bytes .../event_objects/pics/people/fisherman/8.png | Bin 270 -> 0 bytes .../event_objects/pics/people/flannery/0.png | Bin 289 -> 0 bytes .../event_objects/pics/people/flannery/1.png | Bin 294 -> 0 bytes .../event_objects/pics/people/flannery/2.png | Bin 264 -> 0 bytes .../event_objects/pics/people/gentleman.png | Bin 0 -> 861 bytes .../event_objects/pics/people/gentleman/0.png | Bin 295 -> 0 bytes .../event_objects/pics/people/gentleman/1.png | Bin 292 -> 0 bytes .../event_objects/pics/people/gentleman/2.png | Bin 268 -> 0 bytes .../event_objects/pics/people/gentleman/3.png | Bin 286 -> 0 bytes .../event_objects/pics/people/gentleman/4.png | Bin 287 -> 0 bytes .../event_objects/pics/people/gentleman/5.png | Bin 280 -> 0 bytes .../event_objects/pics/people/gentleman/6.png | Bin 281 -> 0 bytes .../event_objects/pics/people/gentleman/7.png | Bin 279 -> 0 bytes .../event_objects/pics/people/gentleman/8.png | Bin 276 -> 0 bytes graphics/event_objects/pics/people/girl_1.png | Bin 0 -> 825 bytes .../event_objects/pics/people/girl_1/0.png | Bin 286 -> 0 bytes .../event_objects/pics/people/girl_1/1.png | Bin 271 -> 0 bytes .../event_objects/pics/people/girl_1/2.png | Bin 257 -> 0 bytes .../event_objects/pics/people/girl_1/3.png | Bin 274 -> 0 bytes .../event_objects/pics/people/girl_1/4.png | Bin 277 -> 0 bytes .../event_objects/pics/people/girl_1/5.png | Bin 260 -> 0 bytes .../event_objects/pics/people/girl_1/6.png | Bin 263 -> 0 bytes .../event_objects/pics/people/girl_1/7.png | Bin 260 -> 0 bytes .../event_objects/pics/people/girl_1/8.png | Bin 264 -> 0 bytes graphics/event_objects/pics/people/girl_2.png | Bin 0 -> 826 bytes .../event_objects/pics/people/girl_2/0.png | Bin 288 -> 0 bytes .../event_objects/pics/people/girl_2/1.png | Bin 276 -> 0 bytes .../event_objects/pics/people/girl_2/2.png | Bin 263 -> 0 bytes .../event_objects/pics/people/girl_2/3.png | Bin 275 -> 0 bytes .../event_objects/pics/people/girl_2/4.png | Bin 277 -> 0 bytes .../event_objects/pics/people/girl_2/5.png | Bin 266 -> 0 bytes .../event_objects/pics/people/girl_2/6.png | Bin 265 -> 0 bytes .../event_objects/pics/people/girl_2/7.png | Bin 264 -> 0 bytes .../event_objects/pics/people/girl_2/8.png | Bin 267 -> 0 bytes graphics/event_objects/pics/people/girl_3.png | Bin 0 -> 896 bytes .../event_objects/pics/people/girl_3/0.png | Bin 286 -> 0 bytes .../event_objects/pics/people/girl_3/1.png | Bin 288 -> 0 bytes .../event_objects/pics/people/girl_3/2.png | Bin 264 -> 0 bytes .../event_objects/pics/people/girl_3/3.png | Bin 275 -> 0 bytes .../event_objects/pics/people/girl_3/4.png | Bin 274 -> 0 bytes .../event_objects/pics/people/girl_3/5.png | Bin 281 -> 0 bytes .../event_objects/pics/people/girl_3/6.png | Bin 281 -> 0 bytes .../event_objects/pics/people/girl_3/7.png | Bin 272 -> 0 bytes .../event_objects/pics/people/girl_3/8.png | Bin 272 -> 0 bytes .../event_objects/pics/people/glacia/0.png | Bin 295 -> 0 bytes .../event_objects/pics/people/glacia/1.png | Bin 281 -> 0 bytes .../event_objects/pics/people/glacia/2.png | Bin 262 -> 0 bytes .../pics/people/gym_leaders/brawly.png | Bin 0 -> 566 bytes .../pics/people/gym_leaders/flannery.png | Bin 0 -> 605 bytes .../pics/people/gym_leaders/juan.png | Bin 0 -> 792 bytes .../pics/people/gym_leaders/liza.png | Bin 0 -> 542 bytes .../pics/people/gym_leaders/norman.png | Bin 0 -> 826 bytes .../pics/people/gym_leaders/roxanne.png | Bin 0 -> 588 bytes .../pics/people/gym_leaders/tate.png | Bin 0 -> 540 bytes .../pics/people/gym_leaders/wattson.png | Bin 0 -> 599 bytes .../pics/people/gym_leaders/winona.png | Bin 0 -> 577 bytes .../event_objects/pics/people/hex_maniac.png | Bin 0 -> 790 bytes .../pics/people/hex_maniac/0.png | Bin 289 -> 0 bytes .../pics/people/hex_maniac/1.png | Bin 251 -> 0 bytes .../pics/people/hex_maniac/2.png | Bin 247 -> 0 bytes .../pics/people/hex_maniac/3.png | Bin 279 -> 0 bytes .../pics/people/hex_maniac/4.png | Bin 277 -> 0 bytes .../pics/people/hex_maniac/5.png | Bin 243 -> 0 bytes .../pics/people/hex_maniac/6.png | Bin 241 -> 0 bytes .../pics/people/hex_maniac/7.png | Bin 249 -> 0 bytes .../pics/people/hex_maniac/8.png | Bin 248 -> 0 bytes graphics/event_objects/pics/people/hiker.png | Bin 0 -> 821 bytes .../event_objects/pics/people/hiker/0.png | Bin 310 -> 0 bytes .../event_objects/pics/people/hiker/1.png | Bin 306 -> 0 bytes .../event_objects/pics/people/hiker/2.png | Bin 281 -> 0 bytes .../event_objects/pics/people/hiker/3.png | Bin 300 -> 0 bytes .../event_objects/pics/people/hiker/4.png | Bin 301 -> 0 bytes .../event_objects/pics/people/hiker/5.png | Bin 301 -> 0 bytes .../event_objects/pics/people/hiker/6.png | Bin 299 -> 0 bytes .../event_objects/pics/people/hiker/7.png | Bin 285 -> 0 bytes .../event_objects/pics/people/hiker/8.png | Bin 281 -> 0 bytes .../pics/people/hot_springs_old_woman.png | Bin 0 -> 509 bytes .../pics/people/hot_springs_old_woman/0.png | Bin 226 -> 0 bytes .../pics/people/hot_springs_old_woman/1.png | Bin 216 -> 0 bytes .../pics/people/hot_springs_old_woman/2.png | Bin 222 -> 0 bytes .../pics/people/hot_springs_old_woman/3.png | Bin 220 -> 0 bytes .../pics/people/hot_springs_old_woman/4.png | Bin 220 -> 0 bytes .../pics/people/hot_springs_old_woman/5.png | Bin 211 -> 0 bytes .../pics/people/hot_springs_old_woman/6.png | Bin 211 -> 0 bytes .../pics/people/hot_springs_old_woman/7.png | Bin 218 -> 0 bytes .../pics/people/hot_springs_old_woman/8.png | Bin 218 -> 0 bytes graphics/event_objects/pics/people/juan/0.png | Bin 291 -> 0 bytes graphics/event_objects/pics/people/juan/1.png | Bin 259 -> 0 bytes graphics/event_objects/pics/people/juan/2.png | Bin 254 -> 0 bytes graphics/event_objects/pics/people/juan/3.png | Bin 284 -> 0 bytes graphics/event_objects/pics/people/juan/4.png | Bin 282 -> 0 bytes graphics/event_objects/pics/people/juan/5.png | Bin 259 -> 0 bytes graphics/event_objects/pics/people/juan/6.png | Bin 255 -> 0 bytes graphics/event_objects/pics/people/juan/7.png | Bin 261 -> 0 bytes graphics/event_objects/pics/people/juan/8.png | Bin 261 -> 0 bytes graphics/event_objects/pics/people/lass.png | Bin 0 -> 832 bytes graphics/event_objects/pics/people/lass/0.png | Bin 297 -> 0 bytes graphics/event_objects/pics/people/lass/1.png | Bin 293 -> 0 bytes graphics/event_objects/pics/people/lass/2.png | Bin 260 -> 0 bytes graphics/event_objects/pics/people/lass/3.png | Bin 290 -> 0 bytes graphics/event_objects/pics/people/lass/4.png | Bin 290 -> 0 bytes graphics/event_objects/pics/people/lass/5.png | Bin 284 -> 0 bytes graphics/event_objects/pics/people/lass/6.png | Bin 284 -> 0 bytes graphics/event_objects/pics/people/lass/7.png | Bin 263 -> 0 bytes graphics/event_objects/pics/people/lass/8.png | Bin 267 -> 0 bytes graphics/event_objects/pics/people/leaf.png | Bin 0 -> 893 bytes graphics/event_objects/pics/people/leaf/0.png | Bin 293 -> 0 bytes graphics/event_objects/pics/people/leaf/1.png | Bin 293 -> 0 bytes graphics/event_objects/pics/people/leaf/2.png | Bin 273 -> 0 bytes graphics/event_objects/pics/people/leaf/3.png | Bin 287 -> 0 bytes graphics/event_objects/pics/people/leaf/4.png | Bin 285 -> 0 bytes graphics/event_objects/pics/people/leaf/5.png | Bin 287 -> 0 bytes graphics/event_objects/pics/people/leaf/6.png | Bin 283 -> 0 bytes graphics/event_objects/pics/people/leaf/7.png | Bin 279 -> 0 bytes graphics/event_objects/pics/people/leaf/8.png | Bin 277 -> 0 bytes .../pics/people/little_boy_1.png | Bin 0 -> 562 bytes .../pics/people/little_boy_1/0.png | Bin 232 -> 0 bytes .../pics/people/little_boy_1/1.png | Bin 228 -> 0 bytes .../pics/people/little_boy_1/2.png | Bin 221 -> 0 bytes .../pics/people/little_boy_1/3.png | Bin 227 -> 0 bytes .../pics/people/little_boy_1/4.png | Bin 226 -> 0 bytes .../pics/people/little_boy_1/5.png | Bin 224 -> 0 bytes .../pics/people/little_boy_1/6.png | Bin 223 -> 0 bytes .../pics/people/little_boy_1/7.png | Bin 226 -> 0 bytes .../pics/people/little_boy_1/8.png | Bin 222 -> 0 bytes .../pics/people/little_boy_2.png | Bin 0 -> 558 bytes .../pics/people/little_boy_2/0.png | Bin 232 -> 0 bytes .../pics/people/little_boy_2/1.png | Bin 230 -> 0 bytes .../pics/people/little_boy_2/2.png | Bin 220 -> 0 bytes .../pics/people/little_boy_2/3.png | Bin 226 -> 0 bytes .../pics/people/little_boy_2/4.png | Bin 227 -> 0 bytes .../pics/people/little_boy_2/5.png | Bin 225 -> 0 bytes .../pics/people/little_boy_2/6.png | Bin 226 -> 0 bytes .../pics/people/little_boy_2/7.png | Bin 222 -> 0 bytes .../pics/people/little_boy_2/8.png | Bin 221 -> 0 bytes .../pics/people/little_girl_1.png | Bin 0 -> 612 bytes .../pics/people/little_girl_1/0.png | Bin 250 -> 0 bytes .../pics/people/little_girl_1/1.png | Bin 245 -> 0 bytes .../pics/people/little_girl_1/2.png | Bin 241 -> 0 bytes .../pics/people/little_girl_1/3.png | Bin 252 -> 0 bytes .../pics/people/little_girl_1/4.png | Bin 252 -> 0 bytes .../pics/people/little_girl_1/5.png | Bin 247 -> 0 bytes .../pics/people/little_girl_1/6.png | Bin 248 -> 0 bytes .../pics/people/little_girl_1/7.png | Bin 246 -> 0 bytes .../pics/people/little_girl_1/8.png | Bin 246 -> 0 bytes .../pics/people/little_girl_2.png | Bin 0 -> 594 bytes .../pics/people/little_girl_2/0.png | Bin 239 -> 0 bytes .../pics/people/little_girl_2/1.png | Bin 232 -> 0 bytes .../pics/people/little_girl_2/2.png | Bin 227 -> 0 bytes .../pics/people/little_girl_2/3.png | Bin 233 -> 0 bytes .../pics/people/little_girl_2/4.png | Bin 234 -> 0 bytes .../pics/people/little_girl_2/5.png | Bin 229 -> 0 bytes .../pics/people/little_girl_2/6.png | Bin 229 -> 0 bytes .../pics/people/little_girl_2/7.png | Bin 224 -> 0 bytes .../pics/people/little_girl_2/8.png | Bin 223 -> 0 bytes graphics/event_objects/pics/people/liza/0.png | Bin 278 -> 0 bytes graphics/event_objects/pics/people/liza/1.png | Bin 265 -> 0 bytes graphics/event_objects/pics/people/liza/2.png | Bin 267 -> 0 bytes graphics/event_objects/pics/people/man_1.png | Bin 0 -> 843 bytes .../event_objects/pics/people/man_1/0.png | Bin 283 -> 0 bytes .../event_objects/pics/people/man_1/1.png | Bin 281 -> 0 bytes .../event_objects/pics/people/man_1/2.png | Bin 256 -> 0 bytes .../event_objects/pics/people/man_1/3.png | Bin 272 -> 0 bytes .../event_objects/pics/people/man_1/4.png | Bin 270 -> 0 bytes .../event_objects/pics/people/man_1/5.png | Bin 267 -> 0 bytes .../event_objects/pics/people/man_1/6.png | Bin 266 -> 0 bytes .../event_objects/pics/people/man_1/7.png | Bin 260 -> 0 bytes .../event_objects/pics/people/man_1/8.png | Bin 261 -> 0 bytes graphics/event_objects/pics/people/man_2.png | Bin 0 -> 832 bytes .../event_objects/pics/people/man_2/0.png | Bin 298 -> 0 bytes .../event_objects/pics/people/man_2/1.png | Bin 271 -> 0 bytes .../event_objects/pics/people/man_2/2.png | Bin 257 -> 0 bytes .../event_objects/pics/people/man_2/3.png | Bin 281 -> 0 bytes .../event_objects/pics/people/man_2/4.png | Bin 281 -> 0 bytes .../event_objects/pics/people/man_2/5.png | Bin 261 -> 0 bytes .../event_objects/pics/people/man_2/6.png | Bin 261 -> 0 bytes .../event_objects/pics/people/man_2/7.png | Bin 267 -> 0 bytes .../event_objects/pics/people/man_2/8.png | Bin 263 -> 0 bytes graphics/event_objects/pics/people/man_3.png | Bin 0 -> 900 bytes .../event_objects/pics/people/man_3/0.png | Bin 296 -> 0 bytes .../event_objects/pics/people/man_3/1.png | Bin 286 -> 0 bytes .../event_objects/pics/people/man_3/2.png | Bin 258 -> 0 bytes .../event_objects/pics/people/man_3/3.png | Bin 284 -> 0 bytes .../event_objects/pics/people/man_3/4.png | Bin 283 -> 0 bytes .../event_objects/pics/people/man_3/5.png | Bin 275 -> 0 bytes .../event_objects/pics/people/man_3/6.png | Bin 274 -> 0 bytes .../event_objects/pics/people/man_3/7.png | Bin 266 -> 0 bytes .../event_objects/pics/people/man_3/8.png | Bin 268 -> 0 bytes graphics/event_objects/pics/people/man_4.png | Bin 0 -> 858 bytes .../event_objects/pics/people/man_4/0.png | Bin 295 -> 0 bytes .../event_objects/pics/people/man_4/1.png | Bin 285 -> 0 bytes .../event_objects/pics/people/man_4/2.png | Bin 259 -> 0 bytes .../event_objects/pics/people/man_4/3.png | Bin 283 -> 0 bytes .../event_objects/pics/people/man_4/4.png | Bin 284 -> 0 bytes .../event_objects/pics/people/man_4/5.png | Bin 277 -> 0 bytes .../event_objects/pics/people/man_4/6.png | Bin 279 -> 0 bytes .../event_objects/pics/people/man_4/7.png | Bin 266 -> 0 bytes .../event_objects/pics/people/man_4/8.png | Bin 264 -> 0 bytes graphics/event_objects/pics/people/man_5.png | Bin 0 -> 820 bytes .../event_objects/pics/people/man_5/0.png | Bin 291 -> 0 bytes .../event_objects/pics/people/man_5/1.png | Bin 281 -> 0 bytes .../event_objects/pics/people/man_5/2.png | Bin 253 -> 0 bytes .../event_objects/pics/people/man_5/3.png | Bin 277 -> 0 bytes .../event_objects/pics/people/man_5/4.png | Bin 276 -> 0 bytes .../event_objects/pics/people/man_5/5.png | Bin 268 -> 0 bytes .../event_objects/pics/people/man_5/6.png | Bin 267 -> 0 bytes .../event_objects/pics/people/man_5/7.png | Bin 256 -> 0 bytes .../event_objects/pics/people/man_5/8.png | Bin 257 -> 0 bytes graphics/event_objects/pics/people/man_6.png | Bin 0 -> 857 bytes .../event_objects/pics/people/man_6/0.png | Bin 304 -> 0 bytes .../event_objects/pics/people/man_6/1.png | Bin 298 -> 0 bytes .../event_objects/pics/people/man_6/2.png | Bin 260 -> 0 bytes .../event_objects/pics/people/man_6/3.png | Bin 287 -> 0 bytes .../event_objects/pics/people/man_6/4.png | Bin 287 -> 0 bytes .../event_objects/pics/people/man_6/5.png | Bin 284 -> 0 bytes .../event_objects/pics/people/man_6/6.png | Bin 285 -> 0 bytes .../event_objects/pics/people/man_6/7.png | Bin 267 -> 0 bytes .../event_objects/pics/people/man_6/8.png | Bin 266 -> 0 bytes graphics/event_objects/pics/people/man_7.png | Bin 0 -> 832 bytes .../event_objects/pics/people/man_7/0.png | Bin 298 -> 0 bytes .../event_objects/pics/people/man_7/1.png | Bin 271 -> 0 bytes .../event_objects/pics/people/man_7/2.png | Bin 257 -> 0 bytes .../event_objects/pics/people/man_7/3.png | Bin 281 -> 0 bytes .../event_objects/pics/people/man_7/4.png | Bin 281 -> 0 bytes .../event_objects/pics/people/man_7/5.png | Bin 261 -> 0 bytes .../event_objects/pics/people/man_7/6.png | Bin 261 -> 0 bytes .../event_objects/pics/people/man_7/7.png | Bin 267 -> 0 bytes .../event_objects/pics/people/man_7/8.png | Bin 263 -> 0 bytes graphics/event_objects/pics/people/maniac.png | Bin 0 -> 780 bytes .../event_objects/pics/people/maniac/0.png | Bin 288 -> 0 bytes .../event_objects/pics/people/maniac/1.png | Bin 266 -> 0 bytes .../event_objects/pics/people/maniac/2.png | Bin 256 -> 0 bytes .../event_objects/pics/people/maniac/3.png | Bin 277 -> 0 bytes .../event_objects/pics/people/maniac/4.png | Bin 279 -> 0 bytes .../event_objects/pics/people/maniac/5.png | Bin 259 -> 0 bytes .../event_objects/pics/people/maniac/6.png | Bin 257 -> 0 bytes .../event_objects/pics/people/maniac/7.png | Bin 263 -> 0 bytes .../event_objects/pics/people/maniac/8.png | Bin 259 -> 0 bytes .../pics/people/mart_employee.png | Bin 0 -> 891 bytes .../pics/people/mart_employee/0.png | Bin 290 -> 0 bytes .../pics/people/mart_employee/1.png | Bin 284 -> 0 bytes .../pics/people/mart_employee/2.png | Bin 251 -> 0 bytes .../pics/people/mart_employee/3.png | Bin 280 -> 0 bytes .../pics/people/mart_employee/4.png | Bin 282 -> 0 bytes .../pics/people/mart_employee/5.png | Bin 272 -> 0 bytes .../pics/people/mart_employee/6.png | Bin 274 -> 0 bytes .../pics/people/mart_employee/7.png | Bin 258 -> 0 bytes .../pics/people/mart_employee/8.png | Bin 258 -> 0 bytes .../pics/people/mauville_old_man_1.png | Bin 0 -> 836 bytes .../pics/people/mauville_old_man_1/0.png | Bin 301 -> 0 bytes .../pics/people/mauville_old_man_1/1.png | Bin 292 -> 0 bytes .../pics/people/mauville_old_man_1/2.png | Bin 277 -> 0 bytes .../pics/people/mauville_old_man_1/3.png | Bin 297 -> 0 bytes .../pics/people/mauville_old_man_1/4.png | Bin 295 -> 0 bytes .../pics/people/mauville_old_man_1/5.png | Bin 289 -> 0 bytes .../pics/people/mauville_old_man_1/6.png | Bin 287 -> 0 bytes .../pics/people/mauville_old_man_1/7.png | Bin 280 -> 0 bytes .../pics/people/mauville_old_man_1/8.png | Bin 281 -> 0 bytes .../pics/people/mauville_old_man_2.png | Bin 0 -> 839 bytes .../pics/people/mauville_old_man_2/0.png | Bin 297 -> 0 bytes .../pics/people/mauville_old_man_2/1.png | Bin 291 -> 0 bytes .../pics/people/mauville_old_man_2/2.png | Bin 273 -> 0 bytes .../pics/people/mauville_old_man_2/3.png | Bin 293 -> 0 bytes .../pics/people/mauville_old_man_2/4.png | Bin 291 -> 0 bytes .../pics/people/mauville_old_man_2/5.png | Bin 288 -> 0 bytes .../pics/people/mauville_old_man_2/6.png | Bin 286 -> 0 bytes .../pics/people/mauville_old_man_2/7.png | Bin 277 -> 0 bytes .../pics/people/mauville_old_man_2/8.png | Bin 278 -> 0 bytes graphics/event_objects/pics/people/mom.png | Bin 0 -> 807 bytes graphics/event_objects/pics/people/mom/0.png | Bin 289 -> 0 bytes graphics/event_objects/pics/people/mom/1.png | Bin 265 -> 0 bytes graphics/event_objects/pics/people/mom/2.png | Bin 250 -> 0 bytes graphics/event_objects/pics/people/mom/3.png | Bin 281 -> 0 bytes graphics/event_objects/pics/people/mom/4.png | Bin 283 -> 0 bytes graphics/event_objects/pics/people/mom/5.png | Bin 253 -> 0 bytes graphics/event_objects/pics/people/mom/6.png | Bin 250 -> 0 bytes graphics/event_objects/pics/people/mom/7.png | Bin 253 -> 0 bytes graphics/event_objects/pics/people/mom/8.png | Bin 257 -> 0 bytes .../pics/people/mystery_event_deliveryman.png | Bin 0 -> 530 bytes .../people/mystery_event_deliveryman/0.png | Bin 286 -> 0 bytes .../people/mystery_event_deliveryman/1.png | Bin 261 -> 0 bytes .../people/mystery_event_deliveryman/2.png | Bin 259 -> 0 bytes .../event_objects/pics/people/norman/0.png | Bin 287 -> 0 bytes .../event_objects/pics/people/norman/1.png | Bin 268 -> 0 bytes .../event_objects/pics/people/norman/2.png | Bin 256 -> 0 bytes .../event_objects/pics/people/norman/3.png | Bin 280 -> 0 bytes .../event_objects/pics/people/norman/4.png | Bin 282 -> 0 bytes .../event_objects/pics/people/norman/5.png | Bin 261 -> 0 bytes .../event_objects/pics/people/norman/6.png | Bin 261 -> 0 bytes .../event_objects/pics/people/norman/7.png | Bin 260 -> 0 bytes .../event_objects/pics/people/norman/8.png | Bin 259 -> 0 bytes graphics/event_objects/pics/people/nurse.png | Bin 0 -> 711 bytes .../event_objects/pics/people/nurse/0.png | Bin 300 -> 0 bytes .../event_objects/pics/people/nurse/1.png | Bin 294 -> 0 bytes .../event_objects/pics/people/nurse/2.png | Bin 277 -> 0 bytes .../event_objects/pics/people/nurse/3.png | Bin 288 -> 0 bytes .../event_objects/pics/people/old_man_1.png | Bin 0 -> 773 bytes .../event_objects/pics/people/old_man_1/0.png | Bin 291 -> 0 bytes .../event_objects/pics/people/old_man_1/1.png | Bin 284 -> 0 bytes .../event_objects/pics/people/old_man_1/2.png | Bin 255 -> 0 bytes .../event_objects/pics/people/old_man_1/3.png | Bin 284 -> 0 bytes .../event_objects/pics/people/old_man_1/4.png | Bin 285 -> 0 bytes .../event_objects/pics/people/old_man_1/5.png | Bin 277 -> 0 bytes .../event_objects/pics/people/old_man_1/6.png | Bin 278 -> 0 bytes .../event_objects/pics/people/old_man_1/7.png | Bin 260 -> 0 bytes .../event_objects/pics/people/old_man_1/8.png | Bin 259 -> 0 bytes .../event_objects/pics/people/old_man_2.png | Bin 0 -> 585 bytes .../event_objects/pics/people/old_man_2/0.png | Bin 292 -> 0 bytes .../event_objects/pics/people/old_man_2/1.png | Bin 289 -> 0 bytes .../event_objects/pics/people/old_man_2/2.png | Bin 265 -> 0 bytes .../event_objects/pics/people/old_woman_1.png | Bin 0 -> 718 bytes .../pics/people/old_woman_1/0.png | Bin 273 -> 0 bytes .../pics/people/old_woman_1/1.png | Bin 270 -> 0 bytes .../pics/people/old_woman_1/2.png | Bin 258 -> 0 bytes .../pics/people/old_woman_1/3.png | Bin 267 -> 0 bytes .../pics/people/old_woman_1/4.png | Bin 269 -> 0 bytes .../pics/people/old_woman_1/5.png | Bin 267 -> 0 bytes .../pics/people/old_woman_1/6.png | Bin 268 -> 0 bytes .../pics/people/old_woman_1/7.png | Bin 259 -> 0 bytes .../pics/people/old_woman_1/8.png | Bin 259 -> 0 bytes .../event_objects/pics/people/old_woman_2.png | Bin 0 -> 754 bytes .../pics/people/old_woman_2/0.png | Bin 280 -> 0 bytes .../pics/people/old_woman_2/1.png | Bin 267 -> 0 bytes .../pics/people/old_woman_2/2.png | Bin 262 -> 0 bytes .../pics/people/old_woman_2/3.png | Bin 272 -> 0 bytes .../pics/people/old_woman_2/4.png | Bin 274 -> 0 bytes .../pics/people/old_woman_2/5.png | Bin 259 -> 0 bytes .../pics/people/old_woman_2/6.png | Bin 260 -> 0 bytes .../pics/people/old_woman_2/7.png | Bin 266 -> 0 bytes .../pics/people/old_woman_2/8.png | Bin 265 -> 0 bytes .../event_objects/pics/people/phoebe/0.png | Bin 288 -> 0 bytes .../event_objects/pics/people/phoebe/1.png | Bin 279 -> 0 bytes .../event_objects/pics/people/phoebe/2.png | Bin 258 -> 0 bytes .../event_objects/pics/people/picnicker.png | Bin 0 -> 874 bytes .../event_objects/pics/people/picnicker/0.png | Bin 300 -> 0 bytes .../event_objects/pics/people/picnicker/1.png | Bin 301 -> 0 bytes .../event_objects/pics/people/picnicker/2.png | Bin 267 -> 0 bytes .../event_objects/pics/people/picnicker/3.png | Bin 285 -> 0 bytes .../event_objects/pics/people/picnicker/4.png | Bin 286 -> 0 bytes .../event_objects/pics/people/picnicker/5.png | Bin 283 -> 0 bytes .../event_objects/pics/people/picnicker/6.png | Bin 288 -> 0 bytes .../event_objects/pics/people/picnicker/7.png | Bin 273 -> 0 bytes .../event_objects/pics/people/picnicker/8.png | Bin 274 -> 0 bytes .../event_objects/pics/people/prof_birch.png | Bin 0 -> 886 bytes .../pics/people/prof_birch/0.png | Bin 301 -> 0 bytes .../pics/people/prof_birch/1.png | Bin 284 -> 0 bytes .../pics/people/prof_birch/2.png | Bin 266 -> 0 bytes .../pics/people/prof_birch/3.png | Bin 295 -> 0 bytes .../pics/people/prof_birch/4.png | Bin 293 -> 0 bytes .../pics/people/prof_birch/5.png | Bin 279 -> 0 bytes .../pics/people/prof_birch/6.png | Bin 279 -> 0 bytes .../pics/people/prof_birch/7.png | Bin 273 -> 0 bytes .../pics/people/prof_birch/8.png | Bin 271 -> 0 bytes .../event_objects/pics/people/psychic_m.png | Bin 0 -> 850 bytes .../event_objects/pics/people/psychic_m/0.png | Bin 286 -> 0 bytes .../event_objects/pics/people/psychic_m/1.png | Bin 276 -> 0 bytes .../event_objects/pics/people/psychic_m/2.png | Bin 262 -> 0 bytes .../event_objects/pics/people/psychic_m/3.png | Bin 280 -> 0 bytes .../event_objects/pics/people/psychic_m/4.png | Bin 280 -> 0 bytes .../event_objects/pics/people/psychic_m/5.png | Bin 269 -> 0 bytes .../event_objects/pics/people/psychic_m/6.png | Bin 267 -> 0 bytes .../event_objects/pics/people/psychic_m/7.png | Bin 266 -> 0 bytes .../event_objects/pics/people/psychic_m/8.png | Bin 264 -> 0 bytes .../pics/people/quinty_plump.png | Bin 0 -> 1430 bytes .../pics/people/quinty_plump/0.png | Bin 391 -> 0 bytes .../pics/people/quinty_plump/1.png | Bin 363 -> 0 bytes .../pics/people/quinty_plump/2.png | Bin 343 -> 0 bytes .../pics/people/quinty_plump/3.png | Bin 385 -> 0 bytes .../pics/people/quinty_plump/4.png | Bin 357 -> 0 bytes .../pics/people/quinty_plump/5.png | Bin 363 -> 0 bytes .../pics/people/quinty_plump/6.png | Bin 350 -> 0 bytes graphics/event_objects/pics/people/red.png | Bin 0 -> 847 bytes graphics/event_objects/pics/people/red/0.png | Bin 282 -> 0 bytes graphics/event_objects/pics/people/red/1.png | Bin 270 -> 0 bytes graphics/event_objects/pics/people/red/2.png | Bin 269 -> 0 bytes graphics/event_objects/pics/people/red/3.png | Bin 275 -> 0 bytes graphics/event_objects/pics/people/red/4.png | Bin 274 -> 0 bytes graphics/event_objects/pics/people/red/5.png | Bin 262 -> 0 bytes graphics/event_objects/pics/people/red/6.png | Bin 261 -> 0 bytes graphics/event_objects/pics/people/red/7.png | Bin 271 -> 0 bytes graphics/event_objects/pics/people/red/8.png | Bin 267 -> 0 bytes .../event_objects/pics/people/reporter_f.png | Bin 0 -> 780 bytes .../pics/people/reporter_f/0.png | Bin 281 -> 0 bytes .../pics/people/reporter_f/1.png | Bin 270 -> 0 bytes .../pics/people/reporter_f/2.png | Bin 259 -> 0 bytes .../pics/people/reporter_f/3.png | Bin 275 -> 0 bytes .../pics/people/reporter_f/4.png | Bin 276 -> 0 bytes .../pics/people/reporter_f/5.png | Bin 265 -> 0 bytes .../pics/people/reporter_f/6.png | Bin 265 -> 0 bytes .../pics/people/reporter_f/7.png | Bin 266 -> 0 bytes .../pics/people/reporter_f/8.png | Bin 263 -> 0 bytes .../event_objects/pics/people/reporter_m.png | Bin 0 -> 840 bytes .../pics/people/reporter_m/0.png | Bin 287 -> 0 bytes .../pics/people/reporter_m/1.png | Bin 274 -> 0 bytes .../pics/people/reporter_m/2.png | Bin 264 -> 0 bytes .../pics/people/reporter_m/3.png | Bin 278 -> 0 bytes .../pics/people/reporter_m/4.png | Bin 279 -> 0 bytes .../pics/people/reporter_m/5.png | Bin 268 -> 0 bytes .../pics/people/reporter_m/6.png | Bin 266 -> 0 bytes .../pics/people/reporter_m/7.png | Bin 264 -> 0 bytes .../pics/people/reporter_m/8.png | Bin 263 -> 0 bytes .../pics/people/rooftop_sale_woman.png | Bin 0 -> 866 bytes .../pics/people/rooftop_sale_woman/0.png | Bin 291 -> 0 bytes .../pics/people/rooftop_sale_woman/1.png | Bin 289 -> 0 bytes .../pics/people/rooftop_sale_woman/2.png | Bin 259 -> 0 bytes .../pics/people/rooftop_sale_woman/3.png | Bin 283 -> 0 bytes .../pics/people/rooftop_sale_woman/4.png | Bin 282 -> 0 bytes .../pics/people/rooftop_sale_woman/5.png | Bin 280 -> 0 bytes .../pics/people/rooftop_sale_woman/6.png | Bin 281 -> 0 bytes .../pics/people/rooftop_sale_woman/7.png | Bin 264 -> 0 bytes .../pics/people/rooftop_sale_woman/8.png | Bin 262 -> 0 bytes .../event_objects/pics/people/roxanne/0.png | Bin 302 -> 0 bytes .../event_objects/pics/people/roxanne/1.png | Bin 288 -> 0 bytes .../event_objects/pics/people/roxanne/2.png | Bin 269 -> 0 bytes .../pics/people/rs_little_boy.png | Bin 0 -> 565 bytes .../pics/people/ruby_sapphire_brendan/00.png | Bin 289 -> 0 bytes .../pics/people/ruby_sapphire_brendan/01.png | Bin 292 -> 0 bytes .../pics/people/ruby_sapphire_brendan/02.png | Bin 272 -> 0 bytes .../pics/people/ruby_sapphire_brendan/03.png | Bin 280 -> 0 bytes .../pics/people/ruby_sapphire_brendan/04.png | Bin 280 -> 0 bytes .../pics/people/ruby_sapphire_brendan/05.png | Bin 281 -> 0 bytes .../pics/people/ruby_sapphire_brendan/06.png | Bin 280 -> 0 bytes .../pics/people/ruby_sapphire_brendan/07.png | Bin 282 -> 0 bytes .../pics/people/ruby_sapphire_brendan/08.png | Bin 278 -> 0 bytes .../pics/people/ruby_sapphire_brendan/09.png | Bin 275 -> 0 bytes .../pics/people/ruby_sapphire_brendan/10.png | Bin 275 -> 0 bytes .../pics/people/ruby_sapphire_brendan/11.png | Bin 267 -> 0 bytes .../pics/people/ruby_sapphire_brendan/12.png | Bin 270 -> 0 bytes .../pics/people/ruby_sapphire_brendan/13.png | Bin 269 -> 0 bytes .../pics/people/ruby_sapphire_brendan/14.png | Bin 270 -> 0 bytes .../pics/people/ruby_sapphire_brendan/15.png | Bin 270 -> 0 bytes .../pics/people/ruby_sapphire_brendan/16.png | Bin 283 -> 0 bytes .../pics/people/ruby_sapphire_brendan/17.png | Bin 280 -> 0 bytes .../people/ruby_sapphire_brendan/running.png | Bin 0 -> 899 bytes .../people/ruby_sapphire_brendan/walking.png | Bin 0 -> 899 bytes .../people/ruby_sapphire_little_boy/0.png | Bin 237 -> 0 bytes .../people/ruby_sapphire_little_boy/1.png | Bin 231 -> 0 bytes .../people/ruby_sapphire_little_boy/2.png | Bin 217 -> 0 bytes .../people/ruby_sapphire_little_boy/3.png | Bin 229 -> 0 bytes .../people/ruby_sapphire_little_boy/4.png | Bin 229 -> 0 bytes .../people/ruby_sapphire_little_boy/5.png | Bin 226 -> 0 bytes .../people/ruby_sapphire_little_boy/6.png | Bin 227 -> 0 bytes .../people/ruby_sapphire_little_boy/7.png | Bin 220 -> 0 bytes .../people/ruby_sapphire_little_boy/8.png | Bin 220 -> 0 bytes .../pics/people/ruby_sapphire_may/00.png | Bin 297 -> 0 bytes .../pics/people/ruby_sapphire_may/01.png | Bin 294 -> 0 bytes .../pics/people/ruby_sapphire_may/02.png | Bin 264 -> 0 bytes .../pics/people/ruby_sapphire_may/03.png | Bin 289 -> 0 bytes .../pics/people/ruby_sapphire_may/04.png | Bin 287 -> 0 bytes .../pics/people/ruby_sapphire_may/05.png | Bin 286 -> 0 bytes .../pics/people/ruby_sapphire_may/06.png | Bin 285 -> 0 bytes .../pics/people/ruby_sapphire_may/07.png | Bin 271 -> 0 bytes .../pics/people/ruby_sapphire_may/08.png | Bin 269 -> 0 bytes .../pics/people/ruby_sapphire_may/09.png | Bin 283 -> 0 bytes .../pics/people/ruby_sapphire_may/10.png | Bin 291 -> 0 bytes .../pics/people/ruby_sapphire_may/11.png | Bin 262 -> 0 bytes .../pics/people/ruby_sapphire_may/12.png | Bin 276 -> 0 bytes .../pics/people/ruby_sapphire_may/13.png | Bin 275 -> 0 bytes .../pics/people/ruby_sapphire_may/14.png | Bin 286 -> 0 bytes .../pics/people/ruby_sapphire_may/15.png | Bin 283 -> 0 bytes .../pics/people/ruby_sapphire_may/16.png | Bin 278 -> 0 bytes .../pics/people/ruby_sapphire_may/17.png | Bin 281 -> 0 bytes .../pics/people/ruby_sapphire_may/running.png | Bin 0 -> 962 bytes .../pics/people/ruby_sapphire_may/walking.png | Bin 0 -> 861 bytes .../pics/people/running_triathlete_f.png | Bin 0 -> 854 bytes .../pics/people/running_triathlete_f/0.png | Bin 300 -> 0 bytes .../pics/people/running_triathlete_f/1.png | Bin 284 -> 0 bytes .../pics/people/running_triathlete_f/2.png | Bin 264 -> 0 bytes .../pics/people/running_triathlete_f/3.png | Bin 289 -> 0 bytes .../pics/people/running_triathlete_f/4.png | Bin 289 -> 0 bytes .../pics/people/running_triathlete_f/5.png | Bin 271 -> 0 bytes .../pics/people/running_triathlete_f/6.png | Bin 270 -> 0 bytes .../pics/people/running_triathlete_f/7.png | Bin 265 -> 0 bytes .../pics/people/running_triathlete_f/8.png | Bin 267 -> 0 bytes .../pics/people/running_triathlete_m.png | Bin 0 -> 877 bytes .../pics/people/running_triathlete_m/0.png | Bin 297 -> 0 bytes .../pics/people/running_triathlete_m/1.png | Bin 288 -> 0 bytes .../pics/people/running_triathlete_m/2.png | Bin 257 -> 0 bytes .../pics/people/running_triathlete_m/3.png | Bin 284 -> 0 bytes .../pics/people/running_triathlete_m/4.png | Bin 283 -> 0 bytes .../pics/people/running_triathlete_m/5.png | Bin 276 -> 0 bytes .../pics/people/running_triathlete_m/6.png | Bin 274 -> 0 bytes .../pics/people/running_triathlete_m/7.png | Bin 260 -> 0 bytes .../pics/people/running_triathlete_m/8.png | Bin 262 -> 0 bytes graphics/event_objects/pics/people/sailor.png | Bin 0 -> 780 bytes .../event_objects/pics/people/sailor/0.png | Bin 294 -> 0 bytes .../event_objects/pics/people/sailor/1.png | Bin 286 -> 0 bytes .../event_objects/pics/people/sailor/2.png | Bin 274 -> 0 bytes .../event_objects/pics/people/sailor/3.png | Bin 288 -> 0 bytes .../event_objects/pics/people/sailor/4.png | Bin 288 -> 0 bytes .../event_objects/pics/people/sailor/5.png | Bin 280 -> 0 bytes .../event_objects/pics/people/sailor/6.png | Bin 280 -> 0 bytes .../event_objects/pics/people/sailor/7.png | Bin 278 -> 0 bytes .../event_objects/pics/people/sailor/8.png | Bin 276 -> 0 bytes .../pics/people/school_kid_m.png | Bin 0 -> 826 bytes .../pics/people/school_kid_m/0.png | Bin 283 -> 0 bytes .../pics/people/school_kid_m/1.png | Bin 274 -> 0 bytes .../pics/people/school_kid_m/2.png | Bin 249 -> 0 bytes .../pics/people/school_kid_m/3.png | Bin 278 -> 0 bytes .../pics/people/school_kid_m/4.png | Bin 276 -> 0 bytes .../pics/people/school_kid_m/5.png | Bin 260 -> 0 bytes .../pics/people/school_kid_m/6.png | Bin 263 -> 0 bytes .../pics/people/school_kid_m/7.png | Bin 257 -> 0 bytes .../pics/people/school_kid_m/8.png | Bin 260 -> 0 bytes .../event_objects/pics/people/scientist_1.png | Bin 0 -> 799 bytes .../pics/people/scientist_1/0.png | Bin 295 -> 0 bytes .../pics/people/scientist_1/1.png | Bin 277 -> 0 bytes .../pics/people/scientist_1/2.png | Bin 256 -> 0 bytes .../pics/people/scientist_1/3.png | Bin 282 -> 0 bytes .../pics/people/scientist_1/4.png | Bin 282 -> 0 bytes .../pics/people/scientist_1/5.png | Bin 265 -> 0 bytes .../pics/people/scientist_1/6.png | Bin 265 -> 0 bytes .../pics/people/scientist_1/7.png | Bin 258 -> 0 bytes .../pics/people/scientist_1/8.png | Bin 259 -> 0 bytes .../event_objects/pics/people/scientist_2.png | Bin 0 -> 804 bytes .../pics/people/scientist_2/0.png | Bin 297 -> 0 bytes .../pics/people/scientist_2/1.png | Bin 278 -> 0 bytes .../pics/people/scientist_2/2.png | Bin 257 -> 0 bytes .../pics/people/scientist_2/3.png | Bin 283 -> 0 bytes .../pics/people/scientist_2/4.png | Bin 284 -> 0 bytes .../pics/people/scientist_2/5.png | Bin 267 -> 0 bytes .../pics/people/scientist_2/6.png | Bin 267 -> 0 bytes .../pics/people/scientist_2/7.png | Bin 258 -> 0 bytes .../pics/people/scientist_2/8.png | Bin 260 -> 0 bytes graphics/event_objects/pics/people/scott.png | Bin 0 -> 892 bytes .../event_objects/pics/people/scott/0.png | Bin 292 -> 0 bytes .../event_objects/pics/people/scott/1.png | Bin 286 -> 0 bytes .../event_objects/pics/people/scott/2.png | Bin 261 -> 0 bytes .../event_objects/pics/people/scott/3.png | Bin 283 -> 0 bytes .../event_objects/pics/people/scott/4.png | Bin 286 -> 0 bytes .../event_objects/pics/people/scott/5.png | Bin 280 -> 0 bytes .../event_objects/pics/people/scott/6.png | Bin 279 -> 0 bytes .../event_objects/pics/people/scott/7.png | Bin 267 -> 0 bytes .../event_objects/pics/people/scott/8.png | Bin 263 -> 0 bytes .../event_objects/pics/people/sidney/0.png | Bin 290 -> 0 bytes .../event_objects/pics/people/sidney/1.png | Bin 277 -> 0 bytes .../event_objects/pics/people/sidney/2.png | Bin 260 -> 0 bytes graphics/event_objects/pics/people/steven.png | Bin 0 -> 820 bytes .../event_objects/pics/people/steven/0.png | Bin 290 -> 0 bytes .../event_objects/pics/people/steven/1.png | Bin 264 -> 0 bytes .../event_objects/pics/people/steven/2.png | Bin 259 -> 0 bytes .../event_objects/pics/people/steven/3.png | Bin 285 -> 0 bytes .../event_objects/pics/people/steven/4.png | Bin 284 -> 0 bytes .../event_objects/pics/people/steven/5.png | Bin 260 -> 0 bytes .../event_objects/pics/people/steven/6.png | Bin 257 -> 0 bytes .../event_objects/pics/people/steven/7.png | Bin 262 -> 0 bytes .../event_objects/pics/people/steven/8.png | Bin 260 -> 0 bytes .../event_objects/pics/people/swimmer_f.png | Bin 0 -> 656 bytes .../event_objects/pics/people/swimmer_f/0.png | Bin 250 -> 0 bytes .../event_objects/pics/people/swimmer_f/1.png | Bin 231 -> 0 bytes .../event_objects/pics/people/swimmer_f/2.png | Bin 226 -> 0 bytes .../event_objects/pics/people/swimmer_f/3.png | Bin 254 -> 0 bytes .../event_objects/pics/people/swimmer_f/4.png | Bin 254 -> 0 bytes .../event_objects/pics/people/swimmer_f/5.png | Bin 241 -> 0 bytes .../event_objects/pics/people/swimmer_f/6.png | Bin 239 -> 0 bytes .../event_objects/pics/people/swimmer_f/7.png | Bin 234 -> 0 bytes .../event_objects/pics/people/swimmer_f/8.png | Bin 231 -> 0 bytes .../event_objects/pics/people/swimmer_m.png | Bin 0 -> 649 bytes .../event_objects/pics/people/swimmer_m/0.png | Bin 239 -> 0 bytes .../event_objects/pics/people/swimmer_m/1.png | Bin 232 -> 0 bytes .../event_objects/pics/people/swimmer_m/2.png | Bin 227 -> 0 bytes .../event_objects/pics/people/swimmer_m/3.png | Bin 247 -> 0 bytes .../event_objects/pics/people/swimmer_m/4.png | Bin 248 -> 0 bytes .../event_objects/pics/people/swimmer_m/5.png | Bin 244 -> 0 bytes .../event_objects/pics/people/swimmer_m/6.png | Bin 245 -> 0 bytes .../event_objects/pics/people/swimmer_m/7.png | Bin 228 -> 0 bytes .../event_objects/pics/people/swimmer_m/8.png | Bin 227 -> 0 bytes graphics/event_objects/pics/people/tate/0.png | Bin 279 -> 0 bytes graphics/event_objects/pics/people/tate/1.png | Bin 255 -> 0 bytes graphics/event_objects/pics/people/tate/2.png | Bin 267 -> 0 bytes graphics/event_objects/pics/people/teala.png | Bin 0 -> 757 bytes .../event_objects/pics/people/teala/0.png | Bin 279 -> 0 bytes .../event_objects/pics/people/teala/1.png | Bin 247 -> 0 bytes .../event_objects/pics/people/teala/2.png | Bin 261 -> 0 bytes .../event_objects/pics/people/teala/3.png | Bin 275 -> 0 bytes .../event_objects/pics/people/teala/4.png | Bin 273 -> 0 bytes .../event_objects/pics/people/teala/5.png | Bin 245 -> 0 bytes .../event_objects/pics/people/teala/6.png | Bin 250 -> 0 bytes .../event_objects/pics/people/teala/7.png | Bin 266 -> 0 bytes .../event_objects/pics/people/teala/8.png | Bin 265 -> 0 bytes .../event_objects/pics/people/tuber_f.png | Bin 0 -> 602 bytes .../event_objects/pics/people/tuber_f/0.png | Bin 260 -> 0 bytes .../event_objects/pics/people/tuber_f/1.png | Bin 253 -> 0 bytes .../event_objects/pics/people/tuber_f/2.png | Bin 243 -> 0 bytes .../event_objects/pics/people/tuber_f/3.png | Bin 254 -> 0 bytes .../event_objects/pics/people/tuber_f/4.png | Bin 254 -> 0 bytes .../event_objects/pics/people/tuber_f/5.png | Bin 245 -> 0 bytes .../event_objects/pics/people/tuber_f/6.png | Bin 245 -> 0 bytes .../event_objects/pics/people/tuber_f/7.png | Bin 243 -> 0 bytes .../event_objects/pics/people/tuber_f/8.png | Bin 242 -> 0 bytes .../event_objects/pics/people/tuber_m.png | Bin 0 -> 526 bytes .../event_objects/pics/people/tuber_m/0.png | Bin 232 -> 0 bytes .../event_objects/pics/people/tuber_m/1.png | Bin 224 -> 0 bytes .../event_objects/pics/people/tuber_m/2.png | Bin 228 -> 0 bytes .../event_objects/pics/people/tuber_m/3.png | Bin 230 -> 0 bytes .../event_objects/pics/people/tuber_m/4.png | Bin 230 -> 0 bytes .../event_objects/pics/people/tuber_m/5.png | Bin 222 -> 0 bytes .../event_objects/pics/people/tuber_m/6.png | Bin 222 -> 0 bytes .../event_objects/pics/people/tuber_m/7.png | Bin 231 -> 0 bytes .../event_objects/pics/people/tuber_m/8.png | Bin 231 -> 0 bytes .../pics/people/tuber_m_swimming.png | Bin 0 -> 530 bytes .../pics/people/tuber_m_swimming/0.png | Bin 228 -> 0 bytes .../pics/people/tuber_m_swimming/1.png | Bin 221 -> 0 bytes .../pics/people/tuber_m_swimming/2.png | Bin 228 -> 0 bytes .../pics/people/tuber_m_swimming/3.png | Bin 230 -> 0 bytes .../pics/people/tuber_m_swimming/4.png | Bin 232 -> 0 bytes .../pics/people/tuber_m_swimming/5.png | Bin 225 -> 0 bytes .../pics/people/tuber_m_swimming/6.png | Bin 226 -> 0 bytes .../pics/people/tuber_m_swimming/7.png | Bin 228 -> 0 bytes .../pics/people/tuber_m_swimming/8.png | Bin 235 -> 0 bytes .../pics/people/union_room_attendant.png | Bin 0 -> 566 bytes .../pics/people/union_room_attendant/0.png | Bin 299 -> 0 bytes .../pics/people/union_room_attendant/1.png | Bin 268 -> 0 bytes .../pics/people/union_room_attendant/2.png | Bin 268 -> 0 bytes .../pics/people/unused_woman.png | Bin 0 -> 826 bytes .../pics/people/unused_woman/0.png | Bin 295 -> 0 bytes .../pics/people/unused_woman/1.png | Bin 281 -> 0 bytes .../pics/people/unused_woman/2.png | Bin 272 -> 0 bytes .../pics/people/unused_woman/3.png | Bin 288 -> 0 bytes .../pics/people/unused_woman/4.png | Bin 286 -> 0 bytes .../pics/people/unused_woman/5.png | Bin 275 -> 0 bytes .../pics/people/unused_woman/6.png | Bin 277 -> 0 bytes .../pics/people/unused_woman/7.png | Bin 278 -> 0 bytes .../pics/people/unused_woman/8.png | Bin 277 -> 0 bytes .../event_objects/pics/people/wallace.png | Bin 0 -> 911 bytes .../event_objects/pics/people/wallace/0.png | Bin 313 -> 0 bytes .../event_objects/pics/people/wallace/1.png | Bin 276 -> 0 bytes .../event_objects/pics/people/wallace/2.png | Bin 270 -> 0 bytes .../event_objects/pics/people/wallace/3.png | Bin 301 -> 0 bytes .../event_objects/pics/people/wallace/4.png | Bin 303 -> 0 bytes .../event_objects/pics/people/wallace/5.png | Bin 269 -> 0 bytes .../event_objects/pics/people/wallace/6.png | Bin 270 -> 0 bytes .../event_objects/pics/people/wallace/7.png | Bin 281 -> 0 bytes .../event_objects/pics/people/wallace/8.png | Bin 274 -> 0 bytes graphics/event_objects/pics/people/wally.png | Bin 0 -> 816 bytes .../event_objects/pics/people/wally/0.png | Bin 283 -> 0 bytes .../event_objects/pics/people/wally/1.png | Bin 279 -> 0 bytes .../event_objects/pics/people/wally/2.png | Bin 255 -> 0 bytes .../event_objects/pics/people/wally/3.png | Bin 273 -> 0 bytes .../event_objects/pics/people/wally/4.png | Bin 272 -> 0 bytes .../event_objects/pics/people/wally/5.png | Bin 270 -> 0 bytes .../event_objects/pics/people/wally/6.png | Bin 271 -> 0 bytes .../event_objects/pics/people/wally/7.png | Bin 258 -> 0 bytes .../event_objects/pics/people/wally/8.png | Bin 263 -> 0 bytes .../event_objects/pics/people/wattson/0.png | Bin 294 -> 0 bytes .../event_objects/pics/people/wattson/1.png | Bin 294 -> 0 bytes .../event_objects/pics/people/wattson/2.png | Bin 273 -> 0 bytes .../event_objects/pics/people/winona/0.png | Bin 294 -> 0 bytes .../event_objects/pics/people/winona/1.png | Bin 289 -> 0 bytes .../event_objects/pics/people/winona/2.png | Bin 266 -> 0 bytes .../event_objects/pics/people/woman_1.png | Bin 0 -> 883 bytes .../event_objects/pics/people/woman_1/0.png | Bin 304 -> 0 bytes .../event_objects/pics/people/woman_1/1.png | Bin 297 -> 0 bytes .../event_objects/pics/people/woman_1/2.png | Bin 272 -> 0 bytes .../event_objects/pics/people/woman_1/3.png | Bin 293 -> 0 bytes .../event_objects/pics/people/woman_1/4.png | Bin 291 -> 0 bytes .../event_objects/pics/people/woman_1/5.png | Bin 289 -> 0 bytes .../event_objects/pics/people/woman_1/6.png | Bin 288 -> 0 bytes .../event_objects/pics/people/woman_1/7.png | Bin 276 -> 0 bytes .../event_objects/pics/people/woman_1/8.png | Bin 277 -> 0 bytes .../event_objects/pics/people/woman_2.png | Bin 0 -> 872 bytes .../event_objects/pics/people/woman_2/0.png | Bin 297 -> 0 bytes .../event_objects/pics/people/woman_2/1.png | Bin 292 -> 0 bytes .../event_objects/pics/people/woman_2/2.png | Bin 266 -> 0 bytes .../event_objects/pics/people/woman_2/3.png | Bin 285 -> 0 bytes .../event_objects/pics/people/woman_2/4.png | Bin 286 -> 0 bytes .../event_objects/pics/people/woman_2/5.png | Bin 282 -> 0 bytes .../event_objects/pics/people/woman_2/6.png | Bin 282 -> 0 bytes .../event_objects/pics/people/woman_2/7.png | Bin 266 -> 0 bytes .../event_objects/pics/people/woman_2/8.png | Bin 266 -> 0 bytes .../event_objects/pics/people/woman_3.png | Bin 0 -> 890 bytes .../event_objects/pics/people/woman_3/0.png | Bin 295 -> 0 bytes .../event_objects/pics/people/woman_3/1.png | Bin 282 -> 0 bytes .../event_objects/pics/people/woman_3/2.png | Bin 277 -> 0 bytes .../event_objects/pics/people/woman_3/3.png | Bin 291 -> 0 bytes .../event_objects/pics/people/woman_3/4.png | Bin 290 -> 0 bytes .../event_objects/pics/people/woman_3/5.png | Bin 268 -> 0 bytes .../event_objects/pics/people/woman_3/6.png | Bin 268 -> 0 bytes .../event_objects/pics/people/woman_3/7.png | Bin 276 -> 0 bytes .../event_objects/pics/people/woman_3/8.png | Bin 275 -> 0 bytes .../event_objects/pics/people/woman_4.png | Bin 0 -> 817 bytes .../event_objects/pics/people/woman_4/0.png | Bin 300 -> 0 bytes .../event_objects/pics/people/woman_4/1.png | Bin 274 -> 0 bytes .../event_objects/pics/people/woman_4/2.png | Bin 262 -> 0 bytes .../event_objects/pics/people/woman_4/3.png | Bin 290 -> 0 bytes .../event_objects/pics/people/woman_4/4.png | Bin 290 -> 0 bytes .../event_objects/pics/people/woman_4/5.png | Bin 264 -> 0 bytes .../event_objects/pics/people/woman_4/6.png | Bin 264 -> 0 bytes .../event_objects/pics/people/woman_4/7.png | Bin 265 -> 0 bytes .../event_objects/pics/people/woman_4/8.png | Bin 266 -> 0 bytes .../event_objects/pics/people/woman_5.png | Bin 0 -> 852 bytes .../event_objects/pics/people/woman_5/0.png | Bin 295 -> 0 bytes .../event_objects/pics/people/woman_5/1.png | Bin 271 -> 0 bytes .../event_objects/pics/people/woman_5/2.png | Bin 269 -> 0 bytes .../event_objects/pics/people/woman_5/3.png | Bin 287 -> 0 bytes .../event_objects/pics/people/woman_5/4.png | Bin 288 -> 0 bytes .../event_objects/pics/people/woman_5/5.png | Bin 266 -> 0 bytes .../event_objects/pics/people/woman_5/6.png | Bin 263 -> 0 bytes .../event_objects/pics/people/woman_5/7.png | Bin 265 -> 0 bytes .../event_objects/pics/people/woman_5/8.png | Bin 271 -> 0 bytes .../event_objects/pics/people/woman_6.png | Bin 0 -> 825 bytes .../event_objects/pics/people/woman_6/0.png | Bin 305 -> 0 bytes .../event_objects/pics/people/woman_6/1.png | Bin 278 -> 0 bytes .../event_objects/pics/people/woman_6/2.png | Bin 265 -> 0 bytes .../event_objects/pics/people/woman_6/3.png | Bin 297 -> 0 bytes .../event_objects/pics/people/woman_6/4.png | Bin 296 -> 0 bytes .../event_objects/pics/people/woman_6/5.png | Bin 268 -> 0 bytes .../event_objects/pics/people/woman_6/6.png | Bin 266 -> 0 bytes .../event_objects/pics/people/woman_6/7.png | Bin 265 -> 0 bytes .../event_objects/pics/people/woman_6/8.png | Bin 267 -> 0 bytes .../event_objects/pics/people/woman_7.png | Bin 0 -> 946 bytes .../event_objects/pics/people/woman_7/0.png | Bin 306 -> 0 bytes .../event_objects/pics/people/woman_7/1.png | Bin 280 -> 0 bytes .../event_objects/pics/people/woman_7/2.png | Bin 263 -> 0 bytes .../event_objects/pics/people/woman_7/3.png | Bin 286 -> 0 bytes .../event_objects/pics/people/woman_7/4.png | Bin 286 -> 0 bytes .../event_objects/pics/people/woman_7/5.png | Bin 267 -> 0 bytes .../event_objects/pics/people/woman_7/6.png | Bin 271 -> 0 bytes .../event_objects/pics/people/woman_7/7.png | Bin 268 -> 0 bytes .../event_objects/pics/people/woman_7/8.png | Bin 270 -> 0 bytes .../event_objects/pics/people/youngster.png | Bin 0 -> 790 bytes .../event_objects/pics/people/youngster/0.png | Bin 278 -> 0 bytes .../event_objects/pics/people/youngster/1.png | Bin 264 -> 0 bytes .../event_objects/pics/people/youngster/2.png | Bin 257 -> 0 bytes .../event_objects/pics/people/youngster/3.png | Bin 276 -> 0 bytes .../event_objects/pics/people/youngster/4.png | Bin 272 -> 0 bytes .../event_objects/pics/people/youngster/5.png | Bin 259 -> 0 bytes .../event_objects/pics/people/youngster/6.png | Bin 257 -> 0 bytes .../event_objects/pics/people/youngster/7.png | Bin 264 -> 0 bytes .../event_objects/pics/people/youngster/8.png | Bin 262 -> 0 bytes .../field_event_obj/event_object_graphics.h | 897 ++---------------- 898 files changed, 100 insertions(+), 797 deletions(-) create mode 100644 graphics/event_objects/pics/people/artist.png delete mode 100644 graphics/event_objects/pics/people/artist/0.png delete mode 100644 graphics/event_objects/pics/people/artist/1.png delete mode 100644 graphics/event_objects/pics/people/artist/2.png delete mode 100644 graphics/event_objects/pics/people/artist/3.png delete mode 100644 graphics/event_objects/pics/people/artist/4.png delete mode 100644 graphics/event_objects/pics/people/artist/5.png delete mode 100644 graphics/event_objects/pics/people/artist/6.png delete mode 100644 graphics/event_objects/pics/people/artist/7.png delete mode 100644 graphics/event_objects/pics/people/artist/8.png create mode 100644 graphics/event_objects/pics/people/beauty.png delete mode 100644 graphics/event_objects/pics/people/beauty/0.png delete mode 100644 graphics/event_objects/pics/people/beauty/1.png delete mode 100644 graphics/event_objects/pics/people/beauty/2.png delete mode 100644 graphics/event_objects/pics/people/beauty/3.png delete mode 100644 graphics/event_objects/pics/people/beauty/4.png delete mode 100644 graphics/event_objects/pics/people/beauty/5.png delete mode 100644 graphics/event_objects/pics/people/beauty/6.png delete mode 100644 graphics/event_objects/pics/people/beauty/7.png delete mode 100644 graphics/event_objects/pics/people/beauty/8.png create mode 100644 graphics/event_objects/pics/people/black_belt.png delete mode 100644 graphics/event_objects/pics/people/black_belt/0.png delete mode 100644 graphics/event_objects/pics/people/black_belt/1.png delete mode 100644 graphics/event_objects/pics/people/black_belt/2.png delete mode 100644 graphics/event_objects/pics/people/black_belt/3.png delete mode 100644 graphics/event_objects/pics/people/black_belt/4.png delete mode 100644 graphics/event_objects/pics/people/black_belt/5.png delete mode 100644 graphics/event_objects/pics/people/black_belt/6.png delete mode 100644 graphics/event_objects/pics/people/black_belt/7.png delete mode 100644 graphics/event_objects/pics/people/black_belt/8.png create mode 100644 graphics/event_objects/pics/people/boy_1.png delete mode 100644 graphics/event_objects/pics/people/boy_1/0.png delete mode 100644 graphics/event_objects/pics/people/boy_1/1.png delete mode 100644 graphics/event_objects/pics/people/boy_1/2.png delete mode 100644 graphics/event_objects/pics/people/boy_1/3.png delete mode 100644 graphics/event_objects/pics/people/boy_1/4.png delete mode 100644 graphics/event_objects/pics/people/boy_1/5.png delete mode 100644 graphics/event_objects/pics/people/boy_1/6.png delete mode 100644 graphics/event_objects/pics/people/boy_1/7.png delete mode 100644 graphics/event_objects/pics/people/boy_1/8.png create mode 100644 graphics/event_objects/pics/people/boy_2.png delete mode 100644 graphics/event_objects/pics/people/boy_2/0.png delete mode 100644 graphics/event_objects/pics/people/boy_2/1.png delete mode 100644 graphics/event_objects/pics/people/boy_2/2.png delete mode 100644 graphics/event_objects/pics/people/boy_2/3.png delete mode 100644 graphics/event_objects/pics/people/boy_2/4.png delete mode 100644 graphics/event_objects/pics/people/boy_2/5.png delete mode 100644 graphics/event_objects/pics/people/boy_2/6.png delete mode 100644 graphics/event_objects/pics/people/boy_2/7.png delete mode 100644 graphics/event_objects/pics/people/boy_2/8.png create mode 100644 graphics/event_objects/pics/people/boy_3.png delete mode 100644 graphics/event_objects/pics/people/boy_3/0.png delete mode 100644 graphics/event_objects/pics/people/boy_3/1.png delete mode 100644 graphics/event_objects/pics/people/boy_3/2.png delete mode 100644 graphics/event_objects/pics/people/boy_3/3.png delete mode 100644 graphics/event_objects/pics/people/boy_3/4.png delete mode 100644 graphics/event_objects/pics/people/boy_3/5.png delete mode 100644 graphics/event_objects/pics/people/boy_3/6.png delete mode 100644 graphics/event_objects/pics/people/boy_3/7.png delete mode 100644 graphics/event_objects/pics/people/boy_3/8.png create mode 100644 graphics/event_objects/pics/people/boy_4.png delete mode 100644 graphics/event_objects/pics/people/boy_4/0.png delete mode 100644 graphics/event_objects/pics/people/boy_4/1.png delete mode 100644 graphics/event_objects/pics/people/boy_4/2.png delete mode 100644 graphics/event_objects/pics/people/boy_4/3.png delete mode 100644 graphics/event_objects/pics/people/boy_4/4.png delete mode 100644 graphics/event_objects/pics/people/boy_4/5.png delete mode 100644 graphics/event_objects/pics/people/boy_4/6.png delete mode 100644 graphics/event_objects/pics/people/boy_4/7.png delete mode 100644 graphics/event_objects/pics/people/boy_4/8.png create mode 100644 graphics/event_objects/pics/people/boy_5.png delete mode 100644 graphics/event_objects/pics/people/boy_5/0.png delete mode 100644 graphics/event_objects/pics/people/boy_5/1.png delete mode 100644 graphics/event_objects/pics/people/boy_5/2.png delete mode 100644 graphics/event_objects/pics/people/brawly/0.png delete mode 100644 graphics/event_objects/pics/people/brawly/1.png delete mode 100644 graphics/event_objects/pics/people/brawly/2.png create mode 100644 graphics/event_objects/pics/people/bug_catcher.png delete mode 100644 graphics/event_objects/pics/people/bug_catcher/0.png delete mode 100644 graphics/event_objects/pics/people/bug_catcher/1.png delete mode 100644 graphics/event_objects/pics/people/bug_catcher/2.png delete mode 100644 graphics/event_objects/pics/people/bug_catcher/3.png delete mode 100644 graphics/event_objects/pics/people/bug_catcher/4.png delete mode 100644 graphics/event_objects/pics/people/bug_catcher/5.png delete mode 100644 graphics/event_objects/pics/people/bug_catcher/6.png delete mode 100644 graphics/event_objects/pics/people/bug_catcher/7.png delete mode 100644 graphics/event_objects/pics/people/bug_catcher/8.png create mode 100644 graphics/event_objects/pics/people/cameraman.png delete mode 100644 graphics/event_objects/pics/people/cameraman/0.png delete mode 100644 graphics/event_objects/pics/people/cameraman/1.png delete mode 100644 graphics/event_objects/pics/people/cameraman/2.png delete mode 100644 graphics/event_objects/pics/people/cameraman/3.png delete mode 100644 graphics/event_objects/pics/people/cameraman/4.png delete mode 100644 graphics/event_objects/pics/people/cameraman/5.png delete mode 100644 graphics/event_objects/pics/people/cameraman/6.png delete mode 100644 graphics/event_objects/pics/people/cameraman/7.png delete mode 100644 graphics/event_objects/pics/people/cameraman/8.png create mode 100644 graphics/event_objects/pics/people/camper.png delete mode 100644 graphics/event_objects/pics/people/camper/0.png delete mode 100644 graphics/event_objects/pics/people/camper/1.png delete mode 100644 graphics/event_objects/pics/people/camper/2.png delete mode 100644 graphics/event_objects/pics/people/camper/3.png delete mode 100644 graphics/event_objects/pics/people/camper/4.png delete mode 100644 graphics/event_objects/pics/people/camper/5.png delete mode 100644 graphics/event_objects/pics/people/camper/6.png delete mode 100644 graphics/event_objects/pics/people/camper/7.png delete mode 100644 graphics/event_objects/pics/people/camper/8.png create mode 100644 graphics/event_objects/pics/people/contest_old_man.png delete mode 100644 graphics/event_objects/pics/people/contest_old_man/0.png delete mode 100644 graphics/event_objects/pics/people/contest_old_man/1.png delete mode 100644 graphics/event_objects/pics/people/contest_old_man/2.png delete mode 100644 graphics/event_objects/pics/people/contest_old_man/3.png delete mode 100644 graphics/event_objects/pics/people/contest_old_man/4.png delete mode 100644 graphics/event_objects/pics/people/contest_old_man/5.png delete mode 100644 graphics/event_objects/pics/people/contest_old_man/6.png delete mode 100644 graphics/event_objects/pics/people/contest_old_man/7.png delete mode 100644 graphics/event_objects/pics/people/contest_old_man/8.png create mode 100644 graphics/event_objects/pics/people/cook.png delete mode 100644 graphics/event_objects/pics/people/cook/0.png delete mode 100644 graphics/event_objects/pics/people/cook/1.png delete mode 100644 graphics/event_objects/pics/people/cook/2.png create mode 100644 graphics/event_objects/pics/people/cycling_triathlete_f.png delete mode 100644 graphics/event_objects/pics/people/cycling_triathlete_f/0.png delete mode 100644 graphics/event_objects/pics/people/cycling_triathlete_f/1.png delete mode 100644 graphics/event_objects/pics/people/cycling_triathlete_f/2.png delete mode 100644 graphics/event_objects/pics/people/cycling_triathlete_f/3.png delete mode 100644 graphics/event_objects/pics/people/cycling_triathlete_f/4.png delete mode 100644 graphics/event_objects/pics/people/cycling_triathlete_f/5.png delete mode 100644 graphics/event_objects/pics/people/cycling_triathlete_f/6.png delete mode 100644 graphics/event_objects/pics/people/cycling_triathlete_f/7.png delete mode 100644 graphics/event_objects/pics/people/cycling_triathlete_f/8.png create mode 100644 graphics/event_objects/pics/people/cycling_triathlete_m.png delete mode 100644 graphics/event_objects/pics/people/cycling_triathlete_m/0.png delete mode 100644 graphics/event_objects/pics/people/cycling_triathlete_m/1.png delete mode 100644 graphics/event_objects/pics/people/cycling_triathlete_m/2.png delete mode 100644 graphics/event_objects/pics/people/cycling_triathlete_m/3.png delete mode 100644 graphics/event_objects/pics/people/cycling_triathlete_m/4.png delete mode 100644 graphics/event_objects/pics/people/cycling_triathlete_m/5.png delete mode 100644 graphics/event_objects/pics/people/cycling_triathlete_m/6.png delete mode 100644 graphics/event_objects/pics/people/cycling_triathlete_m/7.png delete mode 100644 graphics/event_objects/pics/people/cycling_triathlete_m/8.png delete mode 100644 graphics/event_objects/pics/people/drake/0.png delete mode 100644 graphics/event_objects/pics/people/drake/1.png delete mode 100644 graphics/event_objects/pics/people/drake/2.png create mode 100644 graphics/event_objects/pics/people/elite_four/drake.png create mode 100644 graphics/event_objects/pics/people/elite_four/glacia.png create mode 100644 graphics/event_objects/pics/people/elite_four/phoebe.png create mode 100644 graphics/event_objects/pics/people/elite_four/sidney.png create mode 100644 graphics/event_objects/pics/people/fat_man.png delete mode 100644 graphics/event_objects/pics/people/fat_man/0.png delete mode 100644 graphics/event_objects/pics/people/fat_man/1.png delete mode 100644 graphics/event_objects/pics/people/fat_man/2.png delete mode 100644 graphics/event_objects/pics/people/fat_man/3.png delete mode 100644 graphics/event_objects/pics/people/fat_man/4.png delete mode 100644 graphics/event_objects/pics/people/fat_man/5.png delete mode 100644 graphics/event_objects/pics/people/fat_man/6.png delete mode 100644 graphics/event_objects/pics/people/fat_man/7.png delete mode 100644 graphics/event_objects/pics/people/fat_man/8.png create mode 100644 graphics/event_objects/pics/people/fisherman.png delete mode 100644 graphics/event_objects/pics/people/fisherman/0.png delete mode 100644 graphics/event_objects/pics/people/fisherman/1.png delete mode 100644 graphics/event_objects/pics/people/fisherman/2.png delete mode 100644 graphics/event_objects/pics/people/fisherman/3.png delete mode 100644 graphics/event_objects/pics/people/fisherman/4.png delete mode 100644 graphics/event_objects/pics/people/fisherman/5.png delete mode 100644 graphics/event_objects/pics/people/fisherman/6.png delete mode 100644 graphics/event_objects/pics/people/fisherman/7.png delete mode 100644 graphics/event_objects/pics/people/fisherman/8.png delete mode 100644 graphics/event_objects/pics/people/flannery/0.png delete mode 100644 graphics/event_objects/pics/people/flannery/1.png delete mode 100644 graphics/event_objects/pics/people/flannery/2.png create mode 100644 graphics/event_objects/pics/people/gentleman.png delete mode 100644 graphics/event_objects/pics/people/gentleman/0.png delete mode 100644 graphics/event_objects/pics/people/gentleman/1.png delete mode 100644 graphics/event_objects/pics/people/gentleman/2.png delete mode 100644 graphics/event_objects/pics/people/gentleman/3.png delete mode 100644 graphics/event_objects/pics/people/gentleman/4.png delete mode 100644 graphics/event_objects/pics/people/gentleman/5.png delete mode 100644 graphics/event_objects/pics/people/gentleman/6.png delete mode 100644 graphics/event_objects/pics/people/gentleman/7.png delete mode 100644 graphics/event_objects/pics/people/gentleman/8.png create mode 100644 graphics/event_objects/pics/people/girl_1.png delete mode 100644 graphics/event_objects/pics/people/girl_1/0.png delete mode 100644 graphics/event_objects/pics/people/girl_1/1.png delete mode 100644 graphics/event_objects/pics/people/girl_1/2.png delete mode 100644 graphics/event_objects/pics/people/girl_1/3.png delete mode 100644 graphics/event_objects/pics/people/girl_1/4.png delete mode 100644 graphics/event_objects/pics/people/girl_1/5.png delete mode 100644 graphics/event_objects/pics/people/girl_1/6.png delete mode 100644 graphics/event_objects/pics/people/girl_1/7.png delete mode 100644 graphics/event_objects/pics/people/girl_1/8.png create mode 100644 graphics/event_objects/pics/people/girl_2.png delete mode 100644 graphics/event_objects/pics/people/girl_2/0.png delete mode 100644 graphics/event_objects/pics/people/girl_2/1.png delete mode 100644 graphics/event_objects/pics/people/girl_2/2.png delete mode 100644 graphics/event_objects/pics/people/girl_2/3.png delete mode 100644 graphics/event_objects/pics/people/girl_2/4.png delete mode 100644 graphics/event_objects/pics/people/girl_2/5.png delete mode 100644 graphics/event_objects/pics/people/girl_2/6.png delete mode 100644 graphics/event_objects/pics/people/girl_2/7.png delete mode 100644 graphics/event_objects/pics/people/girl_2/8.png create mode 100644 graphics/event_objects/pics/people/girl_3.png delete mode 100644 graphics/event_objects/pics/people/girl_3/0.png delete mode 100644 graphics/event_objects/pics/people/girl_3/1.png delete mode 100644 graphics/event_objects/pics/people/girl_3/2.png delete mode 100644 graphics/event_objects/pics/people/girl_3/3.png delete mode 100644 graphics/event_objects/pics/people/girl_3/4.png delete mode 100644 graphics/event_objects/pics/people/girl_3/5.png delete mode 100644 graphics/event_objects/pics/people/girl_3/6.png delete mode 100644 graphics/event_objects/pics/people/girl_3/7.png delete mode 100644 graphics/event_objects/pics/people/girl_3/8.png delete mode 100644 graphics/event_objects/pics/people/glacia/0.png delete mode 100644 graphics/event_objects/pics/people/glacia/1.png delete mode 100644 graphics/event_objects/pics/people/glacia/2.png create mode 100644 graphics/event_objects/pics/people/gym_leaders/brawly.png create mode 100644 graphics/event_objects/pics/people/gym_leaders/flannery.png create mode 100644 graphics/event_objects/pics/people/gym_leaders/juan.png create mode 100644 graphics/event_objects/pics/people/gym_leaders/liza.png create mode 100644 graphics/event_objects/pics/people/gym_leaders/norman.png create mode 100644 graphics/event_objects/pics/people/gym_leaders/roxanne.png create mode 100644 graphics/event_objects/pics/people/gym_leaders/tate.png create mode 100644 graphics/event_objects/pics/people/gym_leaders/wattson.png create mode 100644 graphics/event_objects/pics/people/gym_leaders/winona.png create mode 100644 graphics/event_objects/pics/people/hex_maniac.png delete mode 100644 graphics/event_objects/pics/people/hex_maniac/0.png delete mode 100644 graphics/event_objects/pics/people/hex_maniac/1.png delete mode 100644 graphics/event_objects/pics/people/hex_maniac/2.png delete mode 100644 graphics/event_objects/pics/people/hex_maniac/3.png delete mode 100644 graphics/event_objects/pics/people/hex_maniac/4.png delete mode 100644 graphics/event_objects/pics/people/hex_maniac/5.png delete mode 100644 graphics/event_objects/pics/people/hex_maniac/6.png delete mode 100644 graphics/event_objects/pics/people/hex_maniac/7.png delete mode 100644 graphics/event_objects/pics/people/hex_maniac/8.png create mode 100644 graphics/event_objects/pics/people/hiker.png delete mode 100644 graphics/event_objects/pics/people/hiker/0.png delete mode 100644 graphics/event_objects/pics/people/hiker/1.png delete mode 100644 graphics/event_objects/pics/people/hiker/2.png delete mode 100644 graphics/event_objects/pics/people/hiker/3.png delete mode 100644 graphics/event_objects/pics/people/hiker/4.png delete mode 100644 graphics/event_objects/pics/people/hiker/5.png delete mode 100644 graphics/event_objects/pics/people/hiker/6.png delete mode 100644 graphics/event_objects/pics/people/hiker/7.png delete mode 100644 graphics/event_objects/pics/people/hiker/8.png create mode 100644 graphics/event_objects/pics/people/hot_springs_old_woman.png delete mode 100644 graphics/event_objects/pics/people/hot_springs_old_woman/0.png delete mode 100644 graphics/event_objects/pics/people/hot_springs_old_woman/1.png delete mode 100644 graphics/event_objects/pics/people/hot_springs_old_woman/2.png delete mode 100644 graphics/event_objects/pics/people/hot_springs_old_woman/3.png delete mode 100644 graphics/event_objects/pics/people/hot_springs_old_woman/4.png delete mode 100644 graphics/event_objects/pics/people/hot_springs_old_woman/5.png delete mode 100644 graphics/event_objects/pics/people/hot_springs_old_woman/6.png delete mode 100644 graphics/event_objects/pics/people/hot_springs_old_woman/7.png delete mode 100644 graphics/event_objects/pics/people/hot_springs_old_woman/8.png delete mode 100644 graphics/event_objects/pics/people/juan/0.png delete mode 100644 graphics/event_objects/pics/people/juan/1.png delete mode 100644 graphics/event_objects/pics/people/juan/2.png delete mode 100644 graphics/event_objects/pics/people/juan/3.png delete mode 100644 graphics/event_objects/pics/people/juan/4.png delete mode 100644 graphics/event_objects/pics/people/juan/5.png delete mode 100644 graphics/event_objects/pics/people/juan/6.png delete mode 100644 graphics/event_objects/pics/people/juan/7.png delete mode 100644 graphics/event_objects/pics/people/juan/8.png create mode 100644 graphics/event_objects/pics/people/lass.png delete mode 100644 graphics/event_objects/pics/people/lass/0.png delete mode 100644 graphics/event_objects/pics/people/lass/1.png delete mode 100644 graphics/event_objects/pics/people/lass/2.png delete mode 100644 graphics/event_objects/pics/people/lass/3.png delete mode 100644 graphics/event_objects/pics/people/lass/4.png delete mode 100644 graphics/event_objects/pics/people/lass/5.png delete mode 100644 graphics/event_objects/pics/people/lass/6.png delete mode 100644 graphics/event_objects/pics/people/lass/7.png delete mode 100644 graphics/event_objects/pics/people/lass/8.png create mode 100644 graphics/event_objects/pics/people/leaf.png delete mode 100644 graphics/event_objects/pics/people/leaf/0.png delete mode 100644 graphics/event_objects/pics/people/leaf/1.png delete mode 100644 graphics/event_objects/pics/people/leaf/2.png delete mode 100644 graphics/event_objects/pics/people/leaf/3.png delete mode 100644 graphics/event_objects/pics/people/leaf/4.png delete mode 100644 graphics/event_objects/pics/people/leaf/5.png delete mode 100644 graphics/event_objects/pics/people/leaf/6.png delete mode 100644 graphics/event_objects/pics/people/leaf/7.png delete mode 100644 graphics/event_objects/pics/people/leaf/8.png create mode 100644 graphics/event_objects/pics/people/little_boy_1.png delete mode 100644 graphics/event_objects/pics/people/little_boy_1/0.png delete mode 100644 graphics/event_objects/pics/people/little_boy_1/1.png delete mode 100644 graphics/event_objects/pics/people/little_boy_1/2.png delete mode 100644 graphics/event_objects/pics/people/little_boy_1/3.png delete mode 100644 graphics/event_objects/pics/people/little_boy_1/4.png delete mode 100644 graphics/event_objects/pics/people/little_boy_1/5.png delete mode 100644 graphics/event_objects/pics/people/little_boy_1/6.png delete mode 100644 graphics/event_objects/pics/people/little_boy_1/7.png delete mode 100644 graphics/event_objects/pics/people/little_boy_1/8.png create mode 100644 graphics/event_objects/pics/people/little_boy_2.png delete mode 100644 graphics/event_objects/pics/people/little_boy_2/0.png delete mode 100644 graphics/event_objects/pics/people/little_boy_2/1.png delete mode 100644 graphics/event_objects/pics/people/little_boy_2/2.png delete mode 100644 graphics/event_objects/pics/people/little_boy_2/3.png delete mode 100644 graphics/event_objects/pics/people/little_boy_2/4.png delete mode 100644 graphics/event_objects/pics/people/little_boy_2/5.png delete mode 100644 graphics/event_objects/pics/people/little_boy_2/6.png delete mode 100644 graphics/event_objects/pics/people/little_boy_2/7.png delete mode 100644 graphics/event_objects/pics/people/little_boy_2/8.png create mode 100644 graphics/event_objects/pics/people/little_girl_1.png delete mode 100644 graphics/event_objects/pics/people/little_girl_1/0.png delete mode 100644 graphics/event_objects/pics/people/little_girl_1/1.png delete mode 100644 graphics/event_objects/pics/people/little_girl_1/2.png delete mode 100644 graphics/event_objects/pics/people/little_girl_1/3.png delete mode 100644 graphics/event_objects/pics/people/little_girl_1/4.png delete mode 100644 graphics/event_objects/pics/people/little_girl_1/5.png delete mode 100644 graphics/event_objects/pics/people/little_girl_1/6.png delete mode 100644 graphics/event_objects/pics/people/little_girl_1/7.png delete mode 100644 graphics/event_objects/pics/people/little_girl_1/8.png create mode 100644 graphics/event_objects/pics/people/little_girl_2.png delete mode 100644 graphics/event_objects/pics/people/little_girl_2/0.png delete mode 100644 graphics/event_objects/pics/people/little_girl_2/1.png delete mode 100644 graphics/event_objects/pics/people/little_girl_2/2.png delete mode 100644 graphics/event_objects/pics/people/little_girl_2/3.png delete mode 100644 graphics/event_objects/pics/people/little_girl_2/4.png delete mode 100644 graphics/event_objects/pics/people/little_girl_2/5.png delete mode 100644 graphics/event_objects/pics/people/little_girl_2/6.png delete mode 100644 graphics/event_objects/pics/people/little_girl_2/7.png delete mode 100644 graphics/event_objects/pics/people/little_girl_2/8.png delete mode 100644 graphics/event_objects/pics/people/liza/0.png delete mode 100644 graphics/event_objects/pics/people/liza/1.png delete mode 100644 graphics/event_objects/pics/people/liza/2.png create mode 100644 graphics/event_objects/pics/people/man_1.png delete mode 100644 graphics/event_objects/pics/people/man_1/0.png delete mode 100644 graphics/event_objects/pics/people/man_1/1.png delete mode 100644 graphics/event_objects/pics/people/man_1/2.png delete mode 100644 graphics/event_objects/pics/people/man_1/3.png delete mode 100644 graphics/event_objects/pics/people/man_1/4.png delete mode 100644 graphics/event_objects/pics/people/man_1/5.png delete mode 100644 graphics/event_objects/pics/people/man_1/6.png delete mode 100644 graphics/event_objects/pics/people/man_1/7.png delete mode 100644 graphics/event_objects/pics/people/man_1/8.png create mode 100644 graphics/event_objects/pics/people/man_2.png delete mode 100644 graphics/event_objects/pics/people/man_2/0.png delete mode 100644 graphics/event_objects/pics/people/man_2/1.png delete mode 100644 graphics/event_objects/pics/people/man_2/2.png delete mode 100644 graphics/event_objects/pics/people/man_2/3.png delete mode 100644 graphics/event_objects/pics/people/man_2/4.png delete mode 100644 graphics/event_objects/pics/people/man_2/5.png delete mode 100644 graphics/event_objects/pics/people/man_2/6.png delete mode 100644 graphics/event_objects/pics/people/man_2/7.png delete mode 100644 graphics/event_objects/pics/people/man_2/8.png create mode 100644 graphics/event_objects/pics/people/man_3.png delete mode 100644 graphics/event_objects/pics/people/man_3/0.png delete mode 100644 graphics/event_objects/pics/people/man_3/1.png delete mode 100644 graphics/event_objects/pics/people/man_3/2.png delete mode 100644 graphics/event_objects/pics/people/man_3/3.png delete mode 100644 graphics/event_objects/pics/people/man_3/4.png delete mode 100644 graphics/event_objects/pics/people/man_3/5.png delete mode 100644 graphics/event_objects/pics/people/man_3/6.png delete mode 100644 graphics/event_objects/pics/people/man_3/7.png delete mode 100644 graphics/event_objects/pics/people/man_3/8.png create mode 100644 graphics/event_objects/pics/people/man_4.png delete mode 100644 graphics/event_objects/pics/people/man_4/0.png delete mode 100644 graphics/event_objects/pics/people/man_4/1.png delete mode 100644 graphics/event_objects/pics/people/man_4/2.png delete mode 100644 graphics/event_objects/pics/people/man_4/3.png delete mode 100644 graphics/event_objects/pics/people/man_4/4.png delete mode 100644 graphics/event_objects/pics/people/man_4/5.png delete mode 100644 graphics/event_objects/pics/people/man_4/6.png delete mode 100644 graphics/event_objects/pics/people/man_4/7.png delete mode 100644 graphics/event_objects/pics/people/man_4/8.png create mode 100644 graphics/event_objects/pics/people/man_5.png delete mode 100644 graphics/event_objects/pics/people/man_5/0.png delete mode 100644 graphics/event_objects/pics/people/man_5/1.png delete mode 100644 graphics/event_objects/pics/people/man_5/2.png delete mode 100644 graphics/event_objects/pics/people/man_5/3.png delete mode 100644 graphics/event_objects/pics/people/man_5/4.png delete mode 100644 graphics/event_objects/pics/people/man_5/5.png delete mode 100644 graphics/event_objects/pics/people/man_5/6.png delete mode 100644 graphics/event_objects/pics/people/man_5/7.png delete mode 100644 graphics/event_objects/pics/people/man_5/8.png create mode 100644 graphics/event_objects/pics/people/man_6.png delete mode 100644 graphics/event_objects/pics/people/man_6/0.png delete mode 100644 graphics/event_objects/pics/people/man_6/1.png delete mode 100644 graphics/event_objects/pics/people/man_6/2.png delete mode 100644 graphics/event_objects/pics/people/man_6/3.png delete mode 100644 graphics/event_objects/pics/people/man_6/4.png delete mode 100644 graphics/event_objects/pics/people/man_6/5.png delete mode 100644 graphics/event_objects/pics/people/man_6/6.png delete mode 100644 graphics/event_objects/pics/people/man_6/7.png delete mode 100644 graphics/event_objects/pics/people/man_6/8.png create mode 100644 graphics/event_objects/pics/people/man_7.png delete mode 100644 graphics/event_objects/pics/people/man_7/0.png delete mode 100644 graphics/event_objects/pics/people/man_7/1.png delete mode 100644 graphics/event_objects/pics/people/man_7/2.png delete mode 100644 graphics/event_objects/pics/people/man_7/3.png delete mode 100644 graphics/event_objects/pics/people/man_7/4.png delete mode 100644 graphics/event_objects/pics/people/man_7/5.png delete mode 100644 graphics/event_objects/pics/people/man_7/6.png delete mode 100644 graphics/event_objects/pics/people/man_7/7.png delete mode 100644 graphics/event_objects/pics/people/man_7/8.png create mode 100644 graphics/event_objects/pics/people/maniac.png delete mode 100644 graphics/event_objects/pics/people/maniac/0.png delete mode 100644 graphics/event_objects/pics/people/maniac/1.png delete mode 100644 graphics/event_objects/pics/people/maniac/2.png delete mode 100644 graphics/event_objects/pics/people/maniac/3.png delete mode 100644 graphics/event_objects/pics/people/maniac/4.png delete mode 100644 graphics/event_objects/pics/people/maniac/5.png delete mode 100644 graphics/event_objects/pics/people/maniac/6.png delete mode 100644 graphics/event_objects/pics/people/maniac/7.png delete mode 100644 graphics/event_objects/pics/people/maniac/8.png create mode 100644 graphics/event_objects/pics/people/mart_employee.png delete mode 100644 graphics/event_objects/pics/people/mart_employee/0.png delete mode 100644 graphics/event_objects/pics/people/mart_employee/1.png delete mode 100644 graphics/event_objects/pics/people/mart_employee/2.png delete mode 100644 graphics/event_objects/pics/people/mart_employee/3.png delete mode 100644 graphics/event_objects/pics/people/mart_employee/4.png delete mode 100644 graphics/event_objects/pics/people/mart_employee/5.png delete mode 100644 graphics/event_objects/pics/people/mart_employee/6.png delete mode 100644 graphics/event_objects/pics/people/mart_employee/7.png delete mode 100644 graphics/event_objects/pics/people/mart_employee/8.png create mode 100644 graphics/event_objects/pics/people/mauville_old_man_1.png delete mode 100644 graphics/event_objects/pics/people/mauville_old_man_1/0.png delete mode 100644 graphics/event_objects/pics/people/mauville_old_man_1/1.png delete mode 100644 graphics/event_objects/pics/people/mauville_old_man_1/2.png delete mode 100644 graphics/event_objects/pics/people/mauville_old_man_1/3.png delete mode 100644 graphics/event_objects/pics/people/mauville_old_man_1/4.png delete mode 100644 graphics/event_objects/pics/people/mauville_old_man_1/5.png delete mode 100644 graphics/event_objects/pics/people/mauville_old_man_1/6.png delete mode 100644 graphics/event_objects/pics/people/mauville_old_man_1/7.png delete mode 100644 graphics/event_objects/pics/people/mauville_old_man_1/8.png create mode 100644 graphics/event_objects/pics/people/mauville_old_man_2.png delete mode 100644 graphics/event_objects/pics/people/mauville_old_man_2/0.png delete mode 100644 graphics/event_objects/pics/people/mauville_old_man_2/1.png delete mode 100644 graphics/event_objects/pics/people/mauville_old_man_2/2.png delete mode 100644 graphics/event_objects/pics/people/mauville_old_man_2/3.png delete mode 100644 graphics/event_objects/pics/people/mauville_old_man_2/4.png delete mode 100644 graphics/event_objects/pics/people/mauville_old_man_2/5.png delete mode 100644 graphics/event_objects/pics/people/mauville_old_man_2/6.png delete mode 100644 graphics/event_objects/pics/people/mauville_old_man_2/7.png delete mode 100644 graphics/event_objects/pics/people/mauville_old_man_2/8.png create mode 100644 graphics/event_objects/pics/people/mom.png delete mode 100644 graphics/event_objects/pics/people/mom/0.png delete mode 100644 graphics/event_objects/pics/people/mom/1.png delete mode 100644 graphics/event_objects/pics/people/mom/2.png delete mode 100644 graphics/event_objects/pics/people/mom/3.png delete mode 100644 graphics/event_objects/pics/people/mom/4.png delete mode 100644 graphics/event_objects/pics/people/mom/5.png delete mode 100644 graphics/event_objects/pics/people/mom/6.png delete mode 100644 graphics/event_objects/pics/people/mom/7.png delete mode 100644 graphics/event_objects/pics/people/mom/8.png create mode 100644 graphics/event_objects/pics/people/mystery_event_deliveryman.png delete mode 100644 graphics/event_objects/pics/people/mystery_event_deliveryman/0.png delete mode 100644 graphics/event_objects/pics/people/mystery_event_deliveryman/1.png delete mode 100644 graphics/event_objects/pics/people/mystery_event_deliveryman/2.png delete mode 100644 graphics/event_objects/pics/people/norman/0.png delete mode 100644 graphics/event_objects/pics/people/norman/1.png delete mode 100644 graphics/event_objects/pics/people/norman/2.png delete mode 100644 graphics/event_objects/pics/people/norman/3.png delete mode 100644 graphics/event_objects/pics/people/norman/4.png delete mode 100644 graphics/event_objects/pics/people/norman/5.png delete mode 100644 graphics/event_objects/pics/people/norman/6.png delete mode 100644 graphics/event_objects/pics/people/norman/7.png delete mode 100644 graphics/event_objects/pics/people/norman/8.png create mode 100644 graphics/event_objects/pics/people/nurse.png delete mode 100644 graphics/event_objects/pics/people/nurse/0.png delete mode 100644 graphics/event_objects/pics/people/nurse/1.png delete mode 100644 graphics/event_objects/pics/people/nurse/2.png delete mode 100644 graphics/event_objects/pics/people/nurse/3.png create mode 100644 graphics/event_objects/pics/people/old_man_1.png delete mode 100644 graphics/event_objects/pics/people/old_man_1/0.png delete mode 100644 graphics/event_objects/pics/people/old_man_1/1.png delete mode 100644 graphics/event_objects/pics/people/old_man_1/2.png delete mode 100644 graphics/event_objects/pics/people/old_man_1/3.png delete mode 100644 graphics/event_objects/pics/people/old_man_1/4.png delete mode 100644 graphics/event_objects/pics/people/old_man_1/5.png delete mode 100644 graphics/event_objects/pics/people/old_man_1/6.png delete mode 100644 graphics/event_objects/pics/people/old_man_1/7.png delete mode 100644 graphics/event_objects/pics/people/old_man_1/8.png create mode 100644 graphics/event_objects/pics/people/old_man_2.png delete mode 100644 graphics/event_objects/pics/people/old_man_2/0.png delete mode 100644 graphics/event_objects/pics/people/old_man_2/1.png delete mode 100644 graphics/event_objects/pics/people/old_man_2/2.png create mode 100644 graphics/event_objects/pics/people/old_woman_1.png delete mode 100644 graphics/event_objects/pics/people/old_woman_1/0.png delete mode 100644 graphics/event_objects/pics/people/old_woman_1/1.png delete mode 100644 graphics/event_objects/pics/people/old_woman_1/2.png delete mode 100644 graphics/event_objects/pics/people/old_woman_1/3.png delete mode 100644 graphics/event_objects/pics/people/old_woman_1/4.png delete mode 100644 graphics/event_objects/pics/people/old_woman_1/5.png delete mode 100644 graphics/event_objects/pics/people/old_woman_1/6.png delete mode 100644 graphics/event_objects/pics/people/old_woman_1/7.png delete mode 100644 graphics/event_objects/pics/people/old_woman_1/8.png create mode 100644 graphics/event_objects/pics/people/old_woman_2.png delete mode 100644 graphics/event_objects/pics/people/old_woman_2/0.png delete mode 100644 graphics/event_objects/pics/people/old_woman_2/1.png delete mode 100644 graphics/event_objects/pics/people/old_woman_2/2.png delete mode 100644 graphics/event_objects/pics/people/old_woman_2/3.png delete mode 100644 graphics/event_objects/pics/people/old_woman_2/4.png delete mode 100644 graphics/event_objects/pics/people/old_woman_2/5.png delete mode 100644 graphics/event_objects/pics/people/old_woman_2/6.png delete mode 100644 graphics/event_objects/pics/people/old_woman_2/7.png delete mode 100644 graphics/event_objects/pics/people/old_woman_2/8.png delete mode 100644 graphics/event_objects/pics/people/phoebe/0.png delete mode 100644 graphics/event_objects/pics/people/phoebe/1.png delete mode 100644 graphics/event_objects/pics/people/phoebe/2.png create mode 100644 graphics/event_objects/pics/people/picnicker.png delete mode 100644 graphics/event_objects/pics/people/picnicker/0.png delete mode 100644 graphics/event_objects/pics/people/picnicker/1.png delete mode 100644 graphics/event_objects/pics/people/picnicker/2.png delete mode 100644 graphics/event_objects/pics/people/picnicker/3.png delete mode 100644 graphics/event_objects/pics/people/picnicker/4.png delete mode 100644 graphics/event_objects/pics/people/picnicker/5.png delete mode 100644 graphics/event_objects/pics/people/picnicker/6.png delete mode 100644 graphics/event_objects/pics/people/picnicker/7.png delete mode 100644 graphics/event_objects/pics/people/picnicker/8.png create mode 100644 graphics/event_objects/pics/people/prof_birch.png delete mode 100644 graphics/event_objects/pics/people/prof_birch/0.png delete mode 100644 graphics/event_objects/pics/people/prof_birch/1.png delete mode 100644 graphics/event_objects/pics/people/prof_birch/2.png delete mode 100644 graphics/event_objects/pics/people/prof_birch/3.png delete mode 100644 graphics/event_objects/pics/people/prof_birch/4.png delete mode 100644 graphics/event_objects/pics/people/prof_birch/5.png delete mode 100644 graphics/event_objects/pics/people/prof_birch/6.png delete mode 100644 graphics/event_objects/pics/people/prof_birch/7.png delete mode 100644 graphics/event_objects/pics/people/prof_birch/8.png create mode 100644 graphics/event_objects/pics/people/psychic_m.png delete mode 100644 graphics/event_objects/pics/people/psychic_m/0.png delete mode 100644 graphics/event_objects/pics/people/psychic_m/1.png delete mode 100644 graphics/event_objects/pics/people/psychic_m/2.png delete mode 100644 graphics/event_objects/pics/people/psychic_m/3.png delete mode 100644 graphics/event_objects/pics/people/psychic_m/4.png delete mode 100644 graphics/event_objects/pics/people/psychic_m/5.png delete mode 100644 graphics/event_objects/pics/people/psychic_m/6.png delete mode 100644 graphics/event_objects/pics/people/psychic_m/7.png delete mode 100644 graphics/event_objects/pics/people/psychic_m/8.png create mode 100644 graphics/event_objects/pics/people/quinty_plump.png delete mode 100644 graphics/event_objects/pics/people/quinty_plump/0.png delete mode 100644 graphics/event_objects/pics/people/quinty_plump/1.png delete mode 100644 graphics/event_objects/pics/people/quinty_plump/2.png delete mode 100644 graphics/event_objects/pics/people/quinty_plump/3.png delete mode 100644 graphics/event_objects/pics/people/quinty_plump/4.png delete mode 100644 graphics/event_objects/pics/people/quinty_plump/5.png delete mode 100644 graphics/event_objects/pics/people/quinty_plump/6.png create mode 100644 graphics/event_objects/pics/people/red.png delete mode 100644 graphics/event_objects/pics/people/red/0.png delete mode 100644 graphics/event_objects/pics/people/red/1.png delete mode 100644 graphics/event_objects/pics/people/red/2.png delete mode 100644 graphics/event_objects/pics/people/red/3.png delete mode 100644 graphics/event_objects/pics/people/red/4.png delete mode 100644 graphics/event_objects/pics/people/red/5.png delete mode 100644 graphics/event_objects/pics/people/red/6.png delete mode 100644 graphics/event_objects/pics/people/red/7.png delete mode 100644 graphics/event_objects/pics/people/red/8.png create mode 100644 graphics/event_objects/pics/people/reporter_f.png delete mode 100644 graphics/event_objects/pics/people/reporter_f/0.png delete mode 100644 graphics/event_objects/pics/people/reporter_f/1.png delete mode 100644 graphics/event_objects/pics/people/reporter_f/2.png delete mode 100644 graphics/event_objects/pics/people/reporter_f/3.png delete mode 100644 graphics/event_objects/pics/people/reporter_f/4.png delete mode 100644 graphics/event_objects/pics/people/reporter_f/5.png delete mode 100644 graphics/event_objects/pics/people/reporter_f/6.png delete mode 100644 graphics/event_objects/pics/people/reporter_f/7.png delete mode 100644 graphics/event_objects/pics/people/reporter_f/8.png create mode 100644 graphics/event_objects/pics/people/reporter_m.png delete mode 100644 graphics/event_objects/pics/people/reporter_m/0.png delete mode 100644 graphics/event_objects/pics/people/reporter_m/1.png delete mode 100644 graphics/event_objects/pics/people/reporter_m/2.png delete mode 100644 graphics/event_objects/pics/people/reporter_m/3.png delete mode 100644 graphics/event_objects/pics/people/reporter_m/4.png delete mode 100644 graphics/event_objects/pics/people/reporter_m/5.png delete mode 100644 graphics/event_objects/pics/people/reporter_m/6.png delete mode 100644 graphics/event_objects/pics/people/reporter_m/7.png delete mode 100644 graphics/event_objects/pics/people/reporter_m/8.png create mode 100644 graphics/event_objects/pics/people/rooftop_sale_woman.png delete mode 100644 graphics/event_objects/pics/people/rooftop_sale_woman/0.png delete mode 100644 graphics/event_objects/pics/people/rooftop_sale_woman/1.png delete mode 100644 graphics/event_objects/pics/people/rooftop_sale_woman/2.png delete mode 100644 graphics/event_objects/pics/people/rooftop_sale_woman/3.png delete mode 100644 graphics/event_objects/pics/people/rooftop_sale_woman/4.png delete mode 100644 graphics/event_objects/pics/people/rooftop_sale_woman/5.png delete mode 100644 graphics/event_objects/pics/people/rooftop_sale_woman/6.png delete mode 100644 graphics/event_objects/pics/people/rooftop_sale_woman/7.png delete mode 100644 graphics/event_objects/pics/people/rooftop_sale_woman/8.png delete mode 100644 graphics/event_objects/pics/people/roxanne/0.png delete mode 100644 graphics/event_objects/pics/people/roxanne/1.png delete mode 100644 graphics/event_objects/pics/people/roxanne/2.png create mode 100644 graphics/event_objects/pics/people/rs_little_boy.png delete mode 100644 graphics/event_objects/pics/people/ruby_sapphire_brendan/00.png delete mode 100644 graphics/event_objects/pics/people/ruby_sapphire_brendan/01.png delete mode 100644 graphics/event_objects/pics/people/ruby_sapphire_brendan/02.png delete mode 100644 graphics/event_objects/pics/people/ruby_sapphire_brendan/03.png delete mode 100644 graphics/event_objects/pics/people/ruby_sapphire_brendan/04.png delete mode 100644 graphics/event_objects/pics/people/ruby_sapphire_brendan/05.png delete mode 100644 graphics/event_objects/pics/people/ruby_sapphire_brendan/06.png delete mode 100644 graphics/event_objects/pics/people/ruby_sapphire_brendan/07.png delete mode 100644 graphics/event_objects/pics/people/ruby_sapphire_brendan/08.png delete mode 100644 graphics/event_objects/pics/people/ruby_sapphire_brendan/09.png delete mode 100644 graphics/event_objects/pics/people/ruby_sapphire_brendan/10.png delete mode 100644 graphics/event_objects/pics/people/ruby_sapphire_brendan/11.png delete mode 100644 graphics/event_objects/pics/people/ruby_sapphire_brendan/12.png delete mode 100644 graphics/event_objects/pics/people/ruby_sapphire_brendan/13.png delete mode 100644 graphics/event_objects/pics/people/ruby_sapphire_brendan/14.png delete mode 100644 graphics/event_objects/pics/people/ruby_sapphire_brendan/15.png delete mode 100644 graphics/event_objects/pics/people/ruby_sapphire_brendan/16.png delete mode 100644 graphics/event_objects/pics/people/ruby_sapphire_brendan/17.png create mode 100644 graphics/event_objects/pics/people/ruby_sapphire_brendan/running.png create mode 100644 graphics/event_objects/pics/people/ruby_sapphire_brendan/walking.png delete mode 100644 graphics/event_objects/pics/people/ruby_sapphire_little_boy/0.png delete mode 100644 graphics/event_objects/pics/people/ruby_sapphire_little_boy/1.png delete mode 100644 graphics/event_objects/pics/people/ruby_sapphire_little_boy/2.png delete mode 100644 graphics/event_objects/pics/people/ruby_sapphire_little_boy/3.png delete mode 100644 graphics/event_objects/pics/people/ruby_sapphire_little_boy/4.png delete mode 100644 graphics/event_objects/pics/people/ruby_sapphire_little_boy/5.png delete mode 100644 graphics/event_objects/pics/people/ruby_sapphire_little_boy/6.png delete mode 100644 graphics/event_objects/pics/people/ruby_sapphire_little_boy/7.png delete mode 100644 graphics/event_objects/pics/people/ruby_sapphire_little_boy/8.png delete mode 100644 graphics/event_objects/pics/people/ruby_sapphire_may/00.png delete mode 100644 graphics/event_objects/pics/people/ruby_sapphire_may/01.png delete mode 100644 graphics/event_objects/pics/people/ruby_sapphire_may/02.png delete mode 100644 graphics/event_objects/pics/people/ruby_sapphire_may/03.png delete mode 100644 graphics/event_objects/pics/people/ruby_sapphire_may/04.png delete mode 100644 graphics/event_objects/pics/people/ruby_sapphire_may/05.png delete mode 100644 graphics/event_objects/pics/people/ruby_sapphire_may/06.png delete mode 100644 graphics/event_objects/pics/people/ruby_sapphire_may/07.png delete mode 100644 graphics/event_objects/pics/people/ruby_sapphire_may/08.png delete mode 100644 graphics/event_objects/pics/people/ruby_sapphire_may/09.png delete mode 100644 graphics/event_objects/pics/people/ruby_sapphire_may/10.png delete mode 100644 graphics/event_objects/pics/people/ruby_sapphire_may/11.png delete mode 100644 graphics/event_objects/pics/people/ruby_sapphire_may/12.png delete mode 100644 graphics/event_objects/pics/people/ruby_sapphire_may/13.png delete mode 100644 graphics/event_objects/pics/people/ruby_sapphire_may/14.png delete mode 100644 graphics/event_objects/pics/people/ruby_sapphire_may/15.png delete mode 100644 graphics/event_objects/pics/people/ruby_sapphire_may/16.png delete mode 100644 graphics/event_objects/pics/people/ruby_sapphire_may/17.png create mode 100644 graphics/event_objects/pics/people/ruby_sapphire_may/running.png create mode 100644 graphics/event_objects/pics/people/ruby_sapphire_may/walking.png create mode 100644 graphics/event_objects/pics/people/running_triathlete_f.png delete mode 100644 graphics/event_objects/pics/people/running_triathlete_f/0.png delete mode 100644 graphics/event_objects/pics/people/running_triathlete_f/1.png delete mode 100644 graphics/event_objects/pics/people/running_triathlete_f/2.png delete mode 100644 graphics/event_objects/pics/people/running_triathlete_f/3.png delete mode 100644 graphics/event_objects/pics/people/running_triathlete_f/4.png delete mode 100644 graphics/event_objects/pics/people/running_triathlete_f/5.png delete mode 100644 graphics/event_objects/pics/people/running_triathlete_f/6.png delete mode 100644 graphics/event_objects/pics/people/running_triathlete_f/7.png delete mode 100644 graphics/event_objects/pics/people/running_triathlete_f/8.png create mode 100644 graphics/event_objects/pics/people/running_triathlete_m.png delete mode 100644 graphics/event_objects/pics/people/running_triathlete_m/0.png delete mode 100644 graphics/event_objects/pics/people/running_triathlete_m/1.png delete mode 100644 graphics/event_objects/pics/people/running_triathlete_m/2.png delete mode 100644 graphics/event_objects/pics/people/running_triathlete_m/3.png delete mode 100644 graphics/event_objects/pics/people/running_triathlete_m/4.png delete mode 100644 graphics/event_objects/pics/people/running_triathlete_m/5.png delete mode 100644 graphics/event_objects/pics/people/running_triathlete_m/6.png delete mode 100644 graphics/event_objects/pics/people/running_triathlete_m/7.png delete mode 100644 graphics/event_objects/pics/people/running_triathlete_m/8.png create mode 100644 graphics/event_objects/pics/people/sailor.png delete mode 100644 graphics/event_objects/pics/people/sailor/0.png delete mode 100644 graphics/event_objects/pics/people/sailor/1.png delete mode 100644 graphics/event_objects/pics/people/sailor/2.png delete mode 100644 graphics/event_objects/pics/people/sailor/3.png delete mode 100644 graphics/event_objects/pics/people/sailor/4.png delete mode 100644 graphics/event_objects/pics/people/sailor/5.png delete mode 100644 graphics/event_objects/pics/people/sailor/6.png delete mode 100644 graphics/event_objects/pics/people/sailor/7.png delete mode 100644 graphics/event_objects/pics/people/sailor/8.png create mode 100644 graphics/event_objects/pics/people/school_kid_m.png delete mode 100644 graphics/event_objects/pics/people/school_kid_m/0.png delete mode 100644 graphics/event_objects/pics/people/school_kid_m/1.png delete mode 100644 graphics/event_objects/pics/people/school_kid_m/2.png delete mode 100644 graphics/event_objects/pics/people/school_kid_m/3.png delete mode 100644 graphics/event_objects/pics/people/school_kid_m/4.png delete mode 100644 graphics/event_objects/pics/people/school_kid_m/5.png delete mode 100644 graphics/event_objects/pics/people/school_kid_m/6.png delete mode 100644 graphics/event_objects/pics/people/school_kid_m/7.png delete mode 100644 graphics/event_objects/pics/people/school_kid_m/8.png create mode 100644 graphics/event_objects/pics/people/scientist_1.png delete mode 100644 graphics/event_objects/pics/people/scientist_1/0.png delete mode 100644 graphics/event_objects/pics/people/scientist_1/1.png delete mode 100644 graphics/event_objects/pics/people/scientist_1/2.png delete mode 100644 graphics/event_objects/pics/people/scientist_1/3.png delete mode 100644 graphics/event_objects/pics/people/scientist_1/4.png delete mode 100644 graphics/event_objects/pics/people/scientist_1/5.png delete mode 100644 graphics/event_objects/pics/people/scientist_1/6.png delete mode 100644 graphics/event_objects/pics/people/scientist_1/7.png delete mode 100644 graphics/event_objects/pics/people/scientist_1/8.png create mode 100644 graphics/event_objects/pics/people/scientist_2.png delete mode 100644 graphics/event_objects/pics/people/scientist_2/0.png delete mode 100644 graphics/event_objects/pics/people/scientist_2/1.png delete mode 100644 graphics/event_objects/pics/people/scientist_2/2.png delete mode 100644 graphics/event_objects/pics/people/scientist_2/3.png delete mode 100644 graphics/event_objects/pics/people/scientist_2/4.png delete mode 100644 graphics/event_objects/pics/people/scientist_2/5.png delete mode 100644 graphics/event_objects/pics/people/scientist_2/6.png delete mode 100644 graphics/event_objects/pics/people/scientist_2/7.png delete mode 100644 graphics/event_objects/pics/people/scientist_2/8.png create mode 100644 graphics/event_objects/pics/people/scott.png delete mode 100644 graphics/event_objects/pics/people/scott/0.png delete mode 100644 graphics/event_objects/pics/people/scott/1.png delete mode 100644 graphics/event_objects/pics/people/scott/2.png delete mode 100644 graphics/event_objects/pics/people/scott/3.png delete mode 100644 graphics/event_objects/pics/people/scott/4.png delete mode 100644 graphics/event_objects/pics/people/scott/5.png delete mode 100644 graphics/event_objects/pics/people/scott/6.png delete mode 100644 graphics/event_objects/pics/people/scott/7.png delete mode 100644 graphics/event_objects/pics/people/scott/8.png delete mode 100644 graphics/event_objects/pics/people/sidney/0.png delete mode 100644 graphics/event_objects/pics/people/sidney/1.png delete mode 100644 graphics/event_objects/pics/people/sidney/2.png create mode 100644 graphics/event_objects/pics/people/steven.png delete mode 100644 graphics/event_objects/pics/people/steven/0.png delete mode 100644 graphics/event_objects/pics/people/steven/1.png delete mode 100644 graphics/event_objects/pics/people/steven/2.png delete mode 100644 graphics/event_objects/pics/people/steven/3.png delete mode 100644 graphics/event_objects/pics/people/steven/4.png delete mode 100644 graphics/event_objects/pics/people/steven/5.png delete mode 100644 graphics/event_objects/pics/people/steven/6.png delete mode 100644 graphics/event_objects/pics/people/steven/7.png delete mode 100644 graphics/event_objects/pics/people/steven/8.png create mode 100644 graphics/event_objects/pics/people/swimmer_f.png delete mode 100644 graphics/event_objects/pics/people/swimmer_f/0.png delete mode 100644 graphics/event_objects/pics/people/swimmer_f/1.png delete mode 100644 graphics/event_objects/pics/people/swimmer_f/2.png delete mode 100644 graphics/event_objects/pics/people/swimmer_f/3.png delete mode 100644 graphics/event_objects/pics/people/swimmer_f/4.png delete mode 100644 graphics/event_objects/pics/people/swimmer_f/5.png delete mode 100644 graphics/event_objects/pics/people/swimmer_f/6.png delete mode 100644 graphics/event_objects/pics/people/swimmer_f/7.png delete mode 100644 graphics/event_objects/pics/people/swimmer_f/8.png create mode 100644 graphics/event_objects/pics/people/swimmer_m.png delete mode 100644 graphics/event_objects/pics/people/swimmer_m/0.png delete mode 100644 graphics/event_objects/pics/people/swimmer_m/1.png delete mode 100644 graphics/event_objects/pics/people/swimmer_m/2.png delete mode 100644 graphics/event_objects/pics/people/swimmer_m/3.png delete mode 100644 graphics/event_objects/pics/people/swimmer_m/4.png delete mode 100644 graphics/event_objects/pics/people/swimmer_m/5.png delete mode 100644 graphics/event_objects/pics/people/swimmer_m/6.png delete mode 100644 graphics/event_objects/pics/people/swimmer_m/7.png delete mode 100644 graphics/event_objects/pics/people/swimmer_m/8.png delete mode 100644 graphics/event_objects/pics/people/tate/0.png delete mode 100644 graphics/event_objects/pics/people/tate/1.png delete mode 100644 graphics/event_objects/pics/people/tate/2.png create mode 100644 graphics/event_objects/pics/people/teala.png delete mode 100644 graphics/event_objects/pics/people/teala/0.png delete mode 100644 graphics/event_objects/pics/people/teala/1.png delete mode 100644 graphics/event_objects/pics/people/teala/2.png delete mode 100644 graphics/event_objects/pics/people/teala/3.png delete mode 100644 graphics/event_objects/pics/people/teala/4.png delete mode 100644 graphics/event_objects/pics/people/teala/5.png delete mode 100644 graphics/event_objects/pics/people/teala/6.png delete mode 100644 graphics/event_objects/pics/people/teala/7.png delete mode 100644 graphics/event_objects/pics/people/teala/8.png create mode 100644 graphics/event_objects/pics/people/tuber_f.png delete mode 100644 graphics/event_objects/pics/people/tuber_f/0.png delete mode 100644 graphics/event_objects/pics/people/tuber_f/1.png delete mode 100644 graphics/event_objects/pics/people/tuber_f/2.png delete mode 100644 graphics/event_objects/pics/people/tuber_f/3.png delete mode 100644 graphics/event_objects/pics/people/tuber_f/4.png delete mode 100644 graphics/event_objects/pics/people/tuber_f/5.png delete mode 100644 graphics/event_objects/pics/people/tuber_f/6.png delete mode 100644 graphics/event_objects/pics/people/tuber_f/7.png delete mode 100644 graphics/event_objects/pics/people/tuber_f/8.png create mode 100644 graphics/event_objects/pics/people/tuber_m.png delete mode 100644 graphics/event_objects/pics/people/tuber_m/0.png delete mode 100644 graphics/event_objects/pics/people/tuber_m/1.png delete mode 100644 graphics/event_objects/pics/people/tuber_m/2.png delete mode 100644 graphics/event_objects/pics/people/tuber_m/3.png delete mode 100644 graphics/event_objects/pics/people/tuber_m/4.png delete mode 100644 graphics/event_objects/pics/people/tuber_m/5.png delete mode 100644 graphics/event_objects/pics/people/tuber_m/6.png delete mode 100644 graphics/event_objects/pics/people/tuber_m/7.png delete mode 100644 graphics/event_objects/pics/people/tuber_m/8.png create mode 100644 graphics/event_objects/pics/people/tuber_m_swimming.png delete mode 100644 graphics/event_objects/pics/people/tuber_m_swimming/0.png delete mode 100644 graphics/event_objects/pics/people/tuber_m_swimming/1.png delete mode 100644 graphics/event_objects/pics/people/tuber_m_swimming/2.png delete mode 100644 graphics/event_objects/pics/people/tuber_m_swimming/3.png delete mode 100644 graphics/event_objects/pics/people/tuber_m_swimming/4.png delete mode 100644 graphics/event_objects/pics/people/tuber_m_swimming/5.png delete mode 100644 graphics/event_objects/pics/people/tuber_m_swimming/6.png delete mode 100644 graphics/event_objects/pics/people/tuber_m_swimming/7.png delete mode 100644 graphics/event_objects/pics/people/tuber_m_swimming/8.png create mode 100644 graphics/event_objects/pics/people/union_room_attendant.png delete mode 100644 graphics/event_objects/pics/people/union_room_attendant/0.png delete mode 100644 graphics/event_objects/pics/people/union_room_attendant/1.png delete mode 100644 graphics/event_objects/pics/people/union_room_attendant/2.png create mode 100644 graphics/event_objects/pics/people/unused_woman.png delete mode 100644 graphics/event_objects/pics/people/unused_woman/0.png delete mode 100644 graphics/event_objects/pics/people/unused_woman/1.png delete mode 100644 graphics/event_objects/pics/people/unused_woman/2.png delete mode 100644 graphics/event_objects/pics/people/unused_woman/3.png delete mode 100644 graphics/event_objects/pics/people/unused_woman/4.png delete mode 100644 graphics/event_objects/pics/people/unused_woman/5.png delete mode 100644 graphics/event_objects/pics/people/unused_woman/6.png delete mode 100644 graphics/event_objects/pics/people/unused_woman/7.png delete mode 100644 graphics/event_objects/pics/people/unused_woman/8.png create mode 100644 graphics/event_objects/pics/people/wallace.png delete mode 100644 graphics/event_objects/pics/people/wallace/0.png delete mode 100644 graphics/event_objects/pics/people/wallace/1.png delete mode 100644 graphics/event_objects/pics/people/wallace/2.png delete mode 100644 graphics/event_objects/pics/people/wallace/3.png delete mode 100644 graphics/event_objects/pics/people/wallace/4.png delete mode 100644 graphics/event_objects/pics/people/wallace/5.png delete mode 100644 graphics/event_objects/pics/people/wallace/6.png delete mode 100644 graphics/event_objects/pics/people/wallace/7.png delete mode 100644 graphics/event_objects/pics/people/wallace/8.png create mode 100644 graphics/event_objects/pics/people/wally.png delete mode 100644 graphics/event_objects/pics/people/wally/0.png delete mode 100644 graphics/event_objects/pics/people/wally/1.png delete mode 100644 graphics/event_objects/pics/people/wally/2.png delete mode 100644 graphics/event_objects/pics/people/wally/3.png delete mode 100644 graphics/event_objects/pics/people/wally/4.png delete mode 100644 graphics/event_objects/pics/people/wally/5.png delete mode 100644 graphics/event_objects/pics/people/wally/6.png delete mode 100644 graphics/event_objects/pics/people/wally/7.png delete mode 100644 graphics/event_objects/pics/people/wally/8.png delete mode 100644 graphics/event_objects/pics/people/wattson/0.png delete mode 100644 graphics/event_objects/pics/people/wattson/1.png delete mode 100644 graphics/event_objects/pics/people/wattson/2.png delete mode 100644 graphics/event_objects/pics/people/winona/0.png delete mode 100644 graphics/event_objects/pics/people/winona/1.png delete mode 100644 graphics/event_objects/pics/people/winona/2.png create mode 100644 graphics/event_objects/pics/people/woman_1.png delete mode 100644 graphics/event_objects/pics/people/woman_1/0.png delete mode 100644 graphics/event_objects/pics/people/woman_1/1.png delete mode 100644 graphics/event_objects/pics/people/woman_1/2.png delete mode 100644 graphics/event_objects/pics/people/woman_1/3.png delete mode 100644 graphics/event_objects/pics/people/woman_1/4.png delete mode 100644 graphics/event_objects/pics/people/woman_1/5.png delete mode 100644 graphics/event_objects/pics/people/woman_1/6.png delete mode 100644 graphics/event_objects/pics/people/woman_1/7.png delete mode 100644 graphics/event_objects/pics/people/woman_1/8.png create mode 100644 graphics/event_objects/pics/people/woman_2.png delete mode 100644 graphics/event_objects/pics/people/woman_2/0.png delete mode 100644 graphics/event_objects/pics/people/woman_2/1.png delete mode 100644 graphics/event_objects/pics/people/woman_2/2.png delete mode 100644 graphics/event_objects/pics/people/woman_2/3.png delete mode 100644 graphics/event_objects/pics/people/woman_2/4.png delete mode 100644 graphics/event_objects/pics/people/woman_2/5.png delete mode 100644 graphics/event_objects/pics/people/woman_2/6.png delete mode 100644 graphics/event_objects/pics/people/woman_2/7.png delete mode 100644 graphics/event_objects/pics/people/woman_2/8.png create mode 100644 graphics/event_objects/pics/people/woman_3.png delete mode 100644 graphics/event_objects/pics/people/woman_3/0.png delete mode 100644 graphics/event_objects/pics/people/woman_3/1.png delete mode 100644 graphics/event_objects/pics/people/woman_3/2.png delete mode 100644 graphics/event_objects/pics/people/woman_3/3.png delete mode 100644 graphics/event_objects/pics/people/woman_3/4.png delete mode 100644 graphics/event_objects/pics/people/woman_3/5.png delete mode 100644 graphics/event_objects/pics/people/woman_3/6.png delete mode 100644 graphics/event_objects/pics/people/woman_3/7.png delete mode 100644 graphics/event_objects/pics/people/woman_3/8.png create mode 100644 graphics/event_objects/pics/people/woman_4.png delete mode 100644 graphics/event_objects/pics/people/woman_4/0.png delete mode 100644 graphics/event_objects/pics/people/woman_4/1.png delete mode 100644 graphics/event_objects/pics/people/woman_4/2.png delete mode 100644 graphics/event_objects/pics/people/woman_4/3.png delete mode 100644 graphics/event_objects/pics/people/woman_4/4.png delete mode 100644 graphics/event_objects/pics/people/woman_4/5.png delete mode 100644 graphics/event_objects/pics/people/woman_4/6.png delete mode 100644 graphics/event_objects/pics/people/woman_4/7.png delete mode 100644 graphics/event_objects/pics/people/woman_4/8.png create mode 100644 graphics/event_objects/pics/people/woman_5.png delete mode 100644 graphics/event_objects/pics/people/woman_5/0.png delete mode 100644 graphics/event_objects/pics/people/woman_5/1.png delete mode 100644 graphics/event_objects/pics/people/woman_5/2.png delete mode 100644 graphics/event_objects/pics/people/woman_5/3.png delete mode 100644 graphics/event_objects/pics/people/woman_5/4.png delete mode 100644 graphics/event_objects/pics/people/woman_5/5.png delete mode 100644 graphics/event_objects/pics/people/woman_5/6.png delete mode 100644 graphics/event_objects/pics/people/woman_5/7.png delete mode 100644 graphics/event_objects/pics/people/woman_5/8.png create mode 100644 graphics/event_objects/pics/people/woman_6.png delete mode 100644 graphics/event_objects/pics/people/woman_6/0.png delete mode 100644 graphics/event_objects/pics/people/woman_6/1.png delete mode 100644 graphics/event_objects/pics/people/woman_6/2.png delete mode 100644 graphics/event_objects/pics/people/woman_6/3.png delete mode 100644 graphics/event_objects/pics/people/woman_6/4.png delete mode 100644 graphics/event_objects/pics/people/woman_6/5.png delete mode 100644 graphics/event_objects/pics/people/woman_6/6.png delete mode 100644 graphics/event_objects/pics/people/woman_6/7.png delete mode 100644 graphics/event_objects/pics/people/woman_6/8.png create mode 100644 graphics/event_objects/pics/people/woman_7.png delete mode 100644 graphics/event_objects/pics/people/woman_7/0.png delete mode 100644 graphics/event_objects/pics/people/woman_7/1.png delete mode 100644 graphics/event_objects/pics/people/woman_7/2.png delete mode 100644 graphics/event_objects/pics/people/woman_7/3.png delete mode 100644 graphics/event_objects/pics/people/woman_7/4.png delete mode 100644 graphics/event_objects/pics/people/woman_7/5.png delete mode 100644 graphics/event_objects/pics/people/woman_7/6.png delete mode 100644 graphics/event_objects/pics/people/woman_7/7.png delete mode 100644 graphics/event_objects/pics/people/woman_7/8.png create mode 100644 graphics/event_objects/pics/people/youngster.png delete mode 100644 graphics/event_objects/pics/people/youngster/0.png delete mode 100644 graphics/event_objects/pics/people/youngster/1.png delete mode 100644 graphics/event_objects/pics/people/youngster/2.png delete mode 100644 graphics/event_objects/pics/people/youngster/3.png delete mode 100644 graphics/event_objects/pics/people/youngster/4.png delete mode 100644 graphics/event_objects/pics/people/youngster/5.png delete mode 100644 graphics/event_objects/pics/people/youngster/6.png delete mode 100644 graphics/event_objects/pics/people/youngster/7.png delete mode 100644 graphics/event_objects/pics/people/youngster/8.png diff --git a/graphics/event_objects/pics/people/artist.png b/graphics/event_objects/pics/people/artist.png new file mode 100644 index 0000000000000000000000000000000000000000..7a40a2e38f0c67ccd1a2f7c505c63d44d0aa0b1c GIT binary patch literal 790 zcmV+x1L^#UP)er2o~l|HYKvlyiGQL28Sv zIZ9#(5Fpiaq@+P}QXoOq)zyoOltDpK|Ns90001r;HR`cHPjUmps4v~=P>q^rD zI%yjJOBp9w+(q$oehs4d1;LomG6^F53^^3MENmGDi)9eTeU1vo#mgXAMDc(lf>AM~ zA+B`5QNaiSWQt36ye6(k1*4pt%%;=X{ncbAaILT4dV0Lut%rg!q2=V{_}$SN7Lscr zb`lF6c~Y)BK~FRgTE6*k`FQ$tzI}_gg_L`EfBN+ELUw|ls3+W7F~BcxHuF9K{Fb;L zutm>1JAY^eebIB_{YA?yz-I1w^9)%_St9}Smp!;vV3@mBWSCoF!#x&Y^EsnJtgeYL z`N)0%2-XM+A`^l&qJqeT6<6ZlxGwDz~JHiq7*!P!Lsy*@y}voj{=gXjv%5IIA*C zT?p$@)&h>;JnLs{fhmSwaPfihV*y@TVvAf=x$ac43Ol9kD(`2!$rUw*6*zV3a(v8q zZixb3>3VdrH0RnvT_z!3AY!DJ1QS&$Izo{NdTG3%TX%`&FuSV4Un19URtkLJ2w$x5 zKj$_CcjZ$(H`^%vV+vjt`7k>h^x=k6WX0+;4Y*~LEc9TC5}F2Z7n+H8dn3$56#860 zJKufb)4gx28(+`NGSO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p zv&PfKF+^hO*8YvWhYSQ<*DvUD65QChQjqC#b4&EIMAm9%>#5#vMD;dZ3QSOJ$uMqI z7T>_|JVfWfb^TbcHjU2 diff --git a/graphics/event_objects/pics/people/artist/1.png b/graphics/event_objects/pics/people/artist/1.png deleted file mode 100644 index 6056f77a591b9108ea79307d4c9adaf80776c969..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 286 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p zGsn}#F+^hO*8YQ>hYfgKOHZ6+*%h?y71ueojsA9KagGO{Tyvi4CvcHb#z$P^UAbTE z0{%w%UqUBb{;M4OZ1}n2Gow*-ztiEHg`4ygX0DNq7L(0*EY&Dfy1OBFfuH%rSoU2S zK3{#m1b#U5Ve_hMOF6Hfny@b=?VPr4(X%6|j+azquPi^)df7`w=cz!>*P^M_)@Lm2 hcNff)@%i)fpm=^z96MvJUk=cn44$rjF6*2UngH(DbnpNG diff --git a/graphics/event_objects/pics/people/artist/2.png b/graphics/event_objects/pics/people/artist/2.png deleted file mode 100644 index f1908e6648a85c7ce38ee6149ab3dd10cc70e4e6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 278 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p zGsV-zF+^f&a>4?|2T@zI7-z)YylTjOB)LMr{Z&rl@mEHLv!CbMFSO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p zv(VGUF+^f&a>4@ch^<^cg=^o$7-ln0*tjWKOn{L!t*qqSiy1o^G>jK7UM#G#JxfiX zVaokjR+e%}iHMS^EUZ)YEEyzEwHm;-_C4UZrD`J*m97y%!omQ&F%UJollp5j%Dz4^>bP0l+XkKH!^f! diff --git a/graphics/event_objects/pics/people/artist/4.png b/graphics/event_objects/pics/people/artist/4.png deleted file mode 100644 index 718ad2d3b8a1432989d2befdcac9d821056084cb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 291 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p zv(VGUF+^f&a>4@ch^<^cg=^o$7-ln0*tjWKOn{L!t*qqSiy1o^G>jK7UM#G#JxfiX zVaokjR+e%}iHMS^EUZ)YEEyzEwHm;-_C4b8$Bv`yn%6YTt zH_wEPw~wZNe{IWS^SkW*y}kMJ6F%mB-*@--J;tkZnhh(;-dFGa&3nQz{o7v4T81}U njE}EY@OwJTko#H2f^3Fgx7}u++RY*ebS#6XtDnm{r-UW|PUm(( diff --git a/graphics/event_objects/pics/people/artist/5.png b/graphics/event_objects/pics/people/artist/5.png deleted file mode 100644 index cb37c0138f9980a14c99041d76f3b5c442b4f0af..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 277 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p zGuhL{F+^hO-oAsJhYfgK|0^yRc;O|vhWUo{5zC*~ZfR?@+Dx#roL?C8EnNYCfH__>jY9_0+c)Kg_yx&Q@>D zu|IC#6Q6RboH|pSO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p zGuhL{F+^hO-oAsp%?3QKwGUb*>=G(2ZAxLDBz%05XiVgtssklVYxo$PVi$PTuZURa zKk-w_?++dSoV<>Q^Zyg8KJh?Fj_u&jbFFf-&soNoX*Lw)aY_Vk)tC{zDkm&<&C>3J zXYRSkGq0bRaVl-5=poC`RmSO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p zGvCw2F+^f&a>4@k2T@zI7-z)YylTjOBh}I-=qSv)|N45h1JnC&Z|m5F9##I$`@Y-Of$jQEQLWSO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p zGt<+>F+^f&a>4@k2T@zI7-z)YylTjOBK{cuR&& eGj_PkrN)?`er2o~l|HYKvlyiGQLCwwH zoSeN%N_%s?06}{I5IF$NVoH=bDN+ys|Ns90001$F0&@TW00Cl4M@0Xn2lB-L0004W zQchCl&H7>2*$q?1@GlBkhbPz>#mC6etXQl|@ch}5B# zTA*8{G$J006l0HFfnVVB1fB3L{HefbHC5G0EbVva+DGS;XR+qzem1Bay^%KTo1qt@BZQ zN1%%|VJYT(R#OF0B&!9VD;5G>qzQB4jiOo=*@7w(HN{eJU!)6jk{b3@XN=5c(S*UP z*>1u`DbPi_Fef=QZtFW=SY?b&6Flr`eOKUnC!>k% zDMT(HhX=QHqZH}Ff|VP~Fs#?p$~=z7$z%$|vP@fiEd-iK7ZwzWYgukA1YacaT7E~& zVqFR}kuEF<;;HLi$cOrKz4$DDqkelKo=gjYCeno^Plsvxeh=VH@ac#59e{Q(_J5(U z5GXQ|i!!oYSdbWDw;LLaG{Sx_G#SvP*~EU*M8R9!PoANu#YhuHA7y@y!WQo9R6P_* z@t&k}autSG*LF^T(6k5GtUCY~$eb+S`xDXh& zo1Kvk=siN1AuojNk?5I*(Du}`WAx93$0pQ1=ozwtEd2&6smz$;G8o?g0000VQ1q2 literal 0 HcmV?d00001 diff --git a/graphics/event_objects/pics/people/beauty/0.png b/graphics/event_objects/pics/people/beauty/0.png deleted file mode 100644 index 50e0ece37381973a3333f48a675e87e949cec87f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 296 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p zv&_@QF+^f&a>4@ch^<^s>)%8ea=R3lmXwz0FmRrE5wTTBWlPbsGp#`i$5zc;&BEGv zDsoA~mIqGkY+|}g`#(8#%SeP-N!MNqH=B9%z}F)Yo+oeQGag(^b diff --git a/graphics/event_objects/pics/people/beauty/1.png b/graphics/event_objects/pics/people/beauty/1.png deleted file mode 100644 index 3a1ba51e9861c01a4f01dd6298c6a56cea8fdb3d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 290 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p zv%u5EF+^f&a>4@ch^<^s>u2oT#O+dCdTy3wGUJ4eo06ZMlHBajGt)TjOp8GS!-<4Q z#-tKUhO11Gu?|>-qC)n-?V%nE7k#`)iveCKUSjR!fCFVwhrF`(01M!+3-GY>U~V4Kg9q k;->MHDONL9Gfq0p_zopr0RNJ28UO$Q diff --git a/graphics/event_objects/pics/people/beauty/2.png b/graphics/event_objects/pics/people/beauty/2.png deleted file mode 100644 index 5787f360f46b11cdd95ae607c4c4571b073eac45..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 264 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p z)8^^o7$Pw>Ibi{J#8xh+^>ZwX#X6qNvMheq!z$1?Q&wSNsB!oihSO`KR9OR`Yz?S* z>NCO4z4Bpb0`r_NQ^lhiBXo`(b5mPw$Iu$n(;NPmX=cQuZFQpd7hJwwaQXOOVe-xS zQY#&Fbj^)48H`WOxvS7~N&UQxLeV)jfmya|WnNwR#FWy`%uwH_qaGpu?i|oX44$rj JF6*2UngALMWWfLc diff --git a/graphics/event_objects/pics/people/beauty/3.png b/graphics/event_objects/pics/people/beauty/3.png deleted file mode 100644 index cc200158f046597a39916be3c586e46fafb00f95..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 284 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p zGt1M(F+^f&a>4@rh^<^s>)%8ea=R3lmXwz0FmRrE5wTTBWlPbsGp#`i$5zc;&BEGv zDsoA~mIqGkY+|}g`#(8#%SeP-N!MNqH=B9%z}F)Yo+oeQGag%~1NHP3*s5d2b?!(VOS2B3I`njxgN@xNA0%C8| diff --git a/graphics/event_objects/pics/people/beauty/4.png b/graphics/event_objects/pics/people/beauty/4.png deleted file mode 100644 index f49ef45c6f12937bceeb0950ca8a0945d3b65688..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 283 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p zGt<+>F+^f&a>4@rh^<^s>)%8ea=R3lmXwz0FmRrE5wTTBWlPbsGp#`i$5zc;&BEGv zDsoA~mIqGkY+|}c`#*Vg%SeP-N!MNqH=B9%z}F)Yo+oeQGagRkQH3}UGEO(i2@^jUR`rWsTVn6ar43$QY3aCv*l$rjET9wmz!~S``x1!vX6{9 dgbcVl7zLvAdH$csxes(CgQu&X%Q~loCIB@kYvlj{ diff --git a/graphics/event_objects/pics/people/beauty/5.png b/graphics/event_objects/pics/people/beauty/5.png deleted file mode 100644 index c8eed61d1a8bc806d8381194a59b129d422e95a8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 280 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p zGtJY*F+^f&a>4@rh^<^s>u2oT#O+dCdTy3wGUJ4eo06ZMlHBajGt)TjOp8GS!-<4Q z#-tKUhO11Gu?|n4sJTw zh>%mC_NxLNQ>f?9s~yH@bmQ`=)02H2damqPu6Ru0b?p7U+=YyWr+Q+!4)8H+HCc)J aFf$0oTFV-K-jxk>A%mx@pUXO@geCxtLT?2C diff --git a/graphics/event_objects/pics/people/beauty/6.png b/graphics/event_objects/pics/people/beauty/6.png deleted file mode 100644 index fb298aa7417842ecd1fe077421e4c2fc0a7b4a6f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 278 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p zGsV-zF+^f&a>4@rh^<^s>u2oT#O+dCdTy3wGUJ4eo06ZMlHBajGt)TjOp8GS!-<4Q z#-tKUhO11Gu?|1_4yIxt#aI&L7tG-B>_!@p z)9vZv7$Pw>Ibnf*#8xh+^>ZwX#X6qNvMheq!z$1?Q&wSNsB!oihSO`KR9OR`Yz?S* z>NCO4z4Bpb0`r_NQ^lhiBXo`(b5mPw$Iu$n(;NPmX=cQuZFQpd7hJvx9Q^WMVe-wn zB1aXcNonpDZ^$T1pKM~Vc*&Ey#=-`Nj~?}qR5=oN?!mM;hCsd)V+Mw&2D(BY{C^7p PoyFkk>gTe~DWM4fU_NJ7 diff --git a/graphics/event_objects/pics/people/beauty/8.png b/graphics/event_objects/pics/people/beauty/8.png deleted file mode 100644 index 77de6d5c5a024d0457ab0f6cae3344db5edf1339..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 269 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p z)9vZv7$Pw>Ibnf*#8xh+^>ZwX#X6qNvMheq!z$1?Q&wSNsB!oihSO`KR9OR`Yz?S* z>NCO4z4Bpb0`r_NQ^lhiBXo`(b5mPw$Iu$n(;NPmX=cQuZFQpd7hJwwaGCgDVe-xS zT%48-y1M0IMvNEVq$(a`P1w5h{k)wG5vg8kdhZn2s%J4*Te=v|U|~>C(i8sk(|8Kd OSqz@8elF{r5}E)JGi9>? diff --git a/graphics/event_objects/pics/people/black_belt.png b/graphics/event_objects/pics/people/black_belt.png new file mode 100644 index 0000000000000000000000000000000000000000..88043e0c0f5bb02f36fdb92d7b2624310912c6b6 GIT binary patch literal 873 zcmV-v1D5=WP)aOeQ=4000+sMObuGZ)S9NVRB^vM@&RePDdbiWpW@hE;Mn4q~QPn00?w&PDe*f zL^A*Y002sWDIWj;00d`2O+f$vv5yPer2o~l|HYKvlyiGQLCwwH zoSeN%N_%s?06}{I5IF$NVoH=bDN+ys|Ns90001$F0&@TW00Cl4M@0Xn2lB-L0004W zQchCWK<9rO{U5FV0o_VRg&B!*hH{(&(rNBHwiY8 z?PYa+K2zDAT`Su&6>?a+?q$ zFH)ILGZ2Q<3Wnz`T8h>tHgGLYt5i1WSW#e@(n5$p`c5J`ZsIXM;CLiNI)bcd>3XH7 zvSwe`s{<9E%w@_S0Z4F{Qdz1*A_y4tF@P`1BFNw(u+}~MFf1c~oS$DHp{prP3~Hj_ zP*$0oN6`QTs{`!!MIWG*%99YR!_>hL+15|b^aj#c7z-pwy(0B35^&th?x)isE{T(f zmPW)rJCgHFtfgvCF4i%)&>414Xv#K@76sKP*B9WFrL{;}i-eH&q|U2-9ls~N&f65k zv`kJBR5T*w(ll|9I>Qzh$6M&0n1Z%V!KmZw!>Yf*pyv&cj_3`pGXI4&85aP)ulm1G zmgZ3geQv@#G&7mLsmFf7EWFFrDDV6JrC1_4yIxt#aI&L7tG-B>_!@p zv%%BFF+^f&a>4@k2YU;qe`o3_{QYL$Z3VXX^Dd`z*b$Og`up>9P~;G6AB%REE%4zvy~~Z*;xv7JA8IuY0000mP)t-sbH$|p z)wKV`l-`tcdqF|X&EA}xy-G@ZbG-mTdjJqQ0L@}blsPF<5CH%G{{R30F^B?l00001 zbW%=J06^y0W&i*Hu1Q2eR2Y?GV4wrwy>OTJ0+_M)^qsw6#_2PAPJ@Ja@9f@v2E?el zd*;mD=Rij3ySsPag##Joq3_;>mNPK0$d;#um0xsVV9~u7Ui$Wu0|SHq)7tBCUl(K)TXZ7@W)E-o1O8ZoZ?_&)`bC0 zE{l5__cR^Ia4!df5+H-c*~Hnz0pv0l2NoA3rvm`>zeYdTL!+wz00001_4yIxt#aI&L7tG-B>_!@p zGttw4@k2YU;qe`o3_{QYL$Z3VXX^Dd`qQ%qzFoOcVsO~=<_*TAzHaVKry0+* W8U4HSE4vctI0jEwKbLh*2~7Zk-gVXh diff --git a/graphics/event_objects/pics/people/black_belt/3.png b/graphics/event_objects/pics/people/black_belt/3.png deleted file mode 100644 index 8bae80b476cc9da4c37d176aabfed612a6fd9cbe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 295 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p zv((eYF+^f&a>4@b2YU;qe`o3_{QYL$Z3VXX^Dd`Q^dtLm$NFo?SFgkD5K=N!uR)V1B((8PH6G+@*1)kd94mB(=BJ56(eSqovIPQ q$z1*PlaTlZ?${m~1;13r&x|XsSiQSo*&_^eFoUP7pUXO@geCyANqLt5 diff --git a/graphics/event_objects/pics/people/black_belt/4.png b/graphics/event_objects/pics/people/black_belt/4.png deleted file mode 100644 index aacf9c3f7b05f4c52c72a83c2b004dc1dfbbe074..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 294 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p zv&7TIF+^f&a>4@b2YU;qe`o3_{QYL$Z3VXX^Dd`8IuY0000mP)t-sbH$|p z)wKV`l-`tcdqF|X&EA}xy-G@ZbG-mTdjJqQ0L@}blsPF<5CH%G{{R30F^B?l00001 zbW%=J06^y0W&i*Hqe(OTJ0+_M)^qsw6#_2PAPJ@Ja@9f@v2E?el zd*;mD=Rij3ySsPag##Joq3_;>mNPK0$d;#um0xsVV9~u7Ui$Wu0|SHq)7tBCUrZR- zpZ~vm_kSITk@o+8TAc#}`!kR(pmr7|zjyDRmH-*XuA!k(%YX*Dyjrzt9mr(%xTkSX r(?RZVaW5|~0K1Vz*#+ua7oY_I%KJgacfulE00000NkvXXu0mjfis6E2 diff --git a/graphics/event_objects/pics/people/black_belt/6.png b/graphics/event_objects/pics/people/black_belt/6.png deleted file mode 100644 index fa1c426a13035e289a6b767a4d466dbc161c1d20..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 295 zcmV+?0oeYDP)8IuY0000mP)t-sbH$|p z)wKV`l-`tcdqF|X&EA}xy-G@ZbG-mTdjJqQ0L@}blsPF<5CH%G{{R30F^B?l00001 zbW%=J06^y0W&i*HrAb6VR2Y?GV4x@9y>OTJ0+_M)^qsw6#_2PAPJ@Ja@9f@v2E?el zd*;mD=Rij3ySsPag##Joq3_;>mNPK0$d;#um0xsVV9~u7Ui$Wu1B0{w)7tBCUl1_4yIxt#aI&L7tG-B>_!@p zGsV-zF+^f&a>4@b2YU;qe`o3_{QYL$Z3VXX^Dd`1_4yIxt#aI&L7tG-B>_!@p zGs)A%F+^f&a>4@b2YU;qe`o3_{QYL$Z3VXX^Dd`veQ9gsiIfj=|+?4D?-WZP1qM$F3i+RO=yd z6B-@m0Y{Vo000+sMObuGZ)S9NVRB^vM@&RePDdbiWpW@hE;Mn4q~QPn00?w&PDe*f zL^A*Y002sWDIWj;00d`2O+f$vv5yPer2o~l|HYKvlyiGQLCwwH zoSeN%N_%s?06}{I5IF$NVoH=bDN+ys|Ns90001$F0&@TW00Cl4M@0Xn2lB-L0004W zQchC`IU{c5^S_R4KIwzDpS|_X^6Lz@*yD=szo^NR!G__+zA*-?w7H0H-?D zss2;-q}(?NCI2<&AjCCp_I?WSjS?jGU4p*~3m$et#JDMm66XYR-wTn=Ua=_Rg)F z@m(#@M7ppd7|gPm1JI|OgnBj_C$&HqX~K%&d5qb#prlkt;Edg6$OV~*1Nem~6Q;GW zB=C^)IS%rrQcF%p9Z4%HT z(Q^zNMIWhuhCEw&|oaSJ`M;ZAs z2rhX|IC}Oaq8|o}Y!oEz9*#5S zN63_2kQmG_e)c&)!vFvP07*qoM6N<$f@~5|^Z)<= literal 0 HcmV?d00001 diff --git a/graphics/event_objects/pics/people/boy_1/0.png b/graphics/event_objects/pics/people/boy_1/0.png deleted file mode 100644 index ddb78aa81accc84ffbe19f32b856b7d751fe558f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 283 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p zGt<+>F+^f&a>4@b2Yai(GtJmn{OnAm!0U7KjMM$*vl{xnx7_<&$K$A^0>i3Dd#gPI z0>n=wY!qc_I?czUW7Z}Aw3W}=z`#Pf_ENYR$|jMYrFse diff --git a/graphics/event_objects/pics/people/boy_1/1.png b/graphics/event_objects/pics/people/boy_1/1.png deleted file mode 100644 index 57c6245b26cc506d45db2854d2b44300f2d9ef94..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 274 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p zGr`lvF+^f&a>4@b2Yai(GtJmn`|M1d!0UJOjMM$@vl_i?kVtPdD)*azZ}amvtO}2L z1Q;ZB${l-l^Et3hC>1}Eu!Eb;A@+~LFXjmk|NMV<_rID$oA=NE|DWpd@aTA@K7IPq z%OUnyUS_7|F^5>a`1_4yIxt#aI&L7tG-B>_!@p zQ{(C47$Pw>IbnhRj_U7BEq2AvbUL2d7C$@ll3SqBw%Wm|{5?bKJ0?kS*7r<|6CP@4 za3@-v_dT5dXHtFI~V7H3d+YM5Rf7&Ra04hBzGKbLh*2~7aeA6~Nn diff --git a/graphics/event_objects/pics/people/boy_1/3.png b/graphics/event_objects/pics/people/boy_1/3.png deleted file mode 100644 index aa08c63025e5617c33526bc0bf2256a2bb93ab7f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 274 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p zGr`lvF+^f&a)N}!f$Hz?SPg2QpP9K?;o4l=^mB9UxRd7GE3P^pIibtgfg$8*_4i2& z7U)eln550YGF?_8B1gpj6t`?yLPCMruO;hqn65lcTC*gDMLa6OP3G$OXsdfxa!EJPN&n*=f_Suj|2fNSD|*Jn(VQ*X!NTy&%IIWg SQ9LiuZ492SelF{r5}E*l|7Ya@ diff --git a/graphics/event_objects/pics/people/boy_1/4.png b/graphics/event_objects/pics/people/boy_1/4.png deleted file mode 100644 index d60c49f7eae9196743eb998ef748d86fb74cd7c3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 275 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p zGttw!K8;X=uTDU-dTqJFU}9KNZdyH@T1_4yIxt#aI&L7tG-B>_!@p z)9&fw7$PzC=(&x&ha7lV1H{7>7wSwD%wu4Ax!I+JIp9g!!o|GCGQx9|m#WvZbE$ZJ zp38Gk|BZTWNjRC*@oT9o%paVJTo1C7FtjRH9jL*M__6^df+ z@$I>O}nT^FP!==Tqe=IBM1_4yIxt#aI&L7tG-B>_!@p z)9&fw7$PzC=(&x&hYSQ*FKEXoDo%4qYUF81aycz_jziCwJ><%n1ho&YUjG01G+*@B zx5@rETYu@gr~0S)IgLBNdVhWC6u4GF?D&z?m0PD|s!dU3lCcmH;c(<$Uv@8FNg}~^ zd4a*{i-qSZEec1_4yIxt#aI&L7tG-B>_!@p zQ}5~G7$Pw>IYC09;QKpPj@oBuA_dM?KRYw?vbX|M^|ywWclQ{%?y?%`aouBOQaBtK zAa$Zrx)yis&9QIbDKa$M$8R?C=+W&AXEb<=J=u*1_4yIxt#aI&L7tG-B>_!@p z)9C5q7$Pw>IYC09;QKpPj@oBuA_dM?KRYw?vbX|M^|ywWclQ{%?y?%`aouBOQaBtK zAa$Zrx)yis&9QIbDKa$M$8R?C=+W&AXEaI;z1WStrrc5J(LeU? ztHP|)_n-bxXBS95`TxHfw}aDau|IQmGCXow7s|uKFk9I8^qfb_qJWNJ@O1TaS?83{ F1OS0#WGw&y diff --git a/graphics/event_objects/pics/people/boy_2.png b/graphics/event_objects/pics/people/boy_2.png new file mode 100644 index 0000000000000000000000000000000000000000..c8d6db12e7dea41dfab1de11739cdbe245d05c4e GIT binary patch literal 850 zcmV-Y1FigtP) z6C4jf;*nYa000+sMObuGZ)S9NVRB^vM@&RePDdbiWpW@hE;Mn4q~QPn00?w&PDe*f zL^A*Y002sWDIWj;00d`2O+f$vv5yPer2o~l|HYKvlyiGQLI0$* z)oOc-K~j{(_F9X*5HV7;q+)w>K{+`X|Ns900013rp2q+H00Cl4M@0Xn2lB-L0004W zQchCBjE7>2(=5GV*kJC{(~Lpzj!_E7t=g*nr)CN{I=)TllBv3`GI8-fl^*s!(!Kn0}$4Wt7zg+}G) zMyX04QK*jkM(Lt9%>f!n2WAR}RVi6EK!I{*AJWvuxD8_a5!#pkBrx z*!dI$yEJ|$2)=zqkDyZuIzu3O=pQ*W4*CvLy6rONcJU0Z8GDO+2ftArpscy=VZDrp zS>7AE`-{G|f$hql&jN)^Of4f<-;4pTuL#uCq13%%*T zwwhE7y4Lo9E^$F(qf0ke>X<2j+qNFRCe~NxkCZdFkVk=7oCZ^Y~wDs+s+oR>qrt cVKR370qgTPMuf|~W&i*H07*qoM6N<$g2JqKAOHXW literal 0 HcmV?d00001 diff --git a/graphics/event_objects/pics/people/boy_2/0.png b/graphics/event_objects/pics/people/boy_2/0.png deleted file mode 100644 index aefd58a968e07189236e9b9968d830aa456a2429..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 283 zcmV+$0p$LPP)8IuY0000mP)t-sbH$|p z)wKV`l-`tcdqF|}q_ov)dy7F*l*RU1i@gvrQnaLEdvifKIT-){{{R309c`Y+00001 zbW%=J06^y0W&i*HnMp)JR2Y?GV4y4Dy?gfpn7(u7%vliY&Ym-8PM-xaPVYIr=PXFY z86W_v;=Oz4&e^jdhOMsb#Y>kjFtFGvev}uw?7+a_Z1hQA*#xMI#n?#M7%0H7(#6== zWfqX(GTp_c(gi4^R5o*Fx{?D>Nm)c|I!KXwT4-om2~Z7xS$bLe2N2^w5L^Je=jFs;Ju6FU;yCZKN$t-T!a7s002ovPDHLkV1hl=dNu$6 diff --git a/graphics/event_objects/pics/people/boy_2/1.png b/graphics/event_objects/pics/people/boy_2/1.png deleted file mode 100644 index 8b0d448cbe7b4714d75d4966db0312b811e75164..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 275 zcmV+u0qp*XP)8IuY0000mP)t-sbH$|p z)wKV`l-`tcdqF|}q_ov)dy7F*l*RU1i@gvrQnaLEdvifKIT-){{{R309c`Y+00001 zbW%=J06^y0W&i*Hkx4{BR2Y?GV4y4Dy?gfpn7(u7%vliY?w&JePTvJG?tmC)K{BV$ zoY@1E11dSa2c(Gi?inBe>SMVJWZk{%0MrErKwbPG`U8-$;{V;d|GR(;k7@t^XSOgf zu&B&T4V&rYz`$Z$meH1O4AkZSEi^R$3rN@h(9r)NUA+H+-~!k^XYYXB!*KTk?_DGZ Z0{}fAP_WcPoVWl0002ovPDHLkV1jHwd5Qo4 diff --git a/graphics/event_objects/pics/people/boy_2/2.png b/graphics/event_objects/pics/people/boy_2/2.png deleted file mode 100644 index cad6a6cda90af0e4bd6c4ed588b2559e8ef824c1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 248 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?+fE7T|Ln8RJh~akkQTCS$FgS0rG8ohZZkJ~+Riu_ t_lQ664A24WE2_^qN$e?que@8Fp>>am)EeE2dq5X3c)I$ztaD0e0sy4gW4izV diff --git a/graphics/event_objects/pics/people/boy_2/3.png b/graphics/event_objects/pics/people/boy_2/3.png deleted file mode 100644 index 11dea03b81067278ef9408e5d7c2c217d757e263..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 277 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?4h$hjtG}O{ zyE)yFCpz|K_jJAZgoKTue>C(fS407_?4h$hjtG}O{ zyE)yFCpz|K_jJAZgoKTue>C()R$+XQY# YyVaIysZ+Ln20D+y)78&qol`;+09D#{cmMzZ diff --git a/graphics/event_objects/pics/people/boy_2/5.png b/graphics/event_objects/pics/people/boy_2/5.png deleted file mode 100644 index 0ff4cc622888cedeacf1d46d8e05f122dcfa8539..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 268 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?PIKerD!og==?h)6dP>$DMMA(ePYTir;+8&FmWNAw^aE z9)j=h8apstIbI}wVpsKb#ueN=4ZHq0eqm>06YKq7{{CM)LrR3-@Bj9~ClWr)nki+* zeI&uZJEJs+(J;u_d9H5*&%gYIKjUQ_-u(c&ihaZ3ck^~K6f1VHFdWkMjNDZA_b|{^ N44$rjF6*2UngEN0Zhim& diff --git a/graphics/event_objects/pics/people/boy_2/6.png b/graphics/event_objects/pics/people/boy_2/6.png deleted file mode 100644 index 5e7e98f4d7bf8cc279c3870646b9bb3f03250adf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 266 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?PIKerD!og==?h)6dP>$DMMA(ePYTir;+8&FmWNAw^aE z9)j=h8apstIbI}wVpsKb#ueN=4ZD6gei2t_e*ORM?*FqJf?_WJ`+t58PtqD6-q|}@ zG@dRIx;QJ0A;n^LOIur`gwDVFPM_@??i>UfS407_?g0i*cG##d1TAXBHqwr?eObMWXG9#whC?U?`{@w?Gx9(&-%J} zig=sBoG(-LZ{A}!is^|5Qf8VS`^68O+i`%qP_l)EK_kN4Y|S=@V?akRc)I$ztaD0e0s!pYWu5>4 diff --git a/graphics/event_objects/pics/people/boy_2/8.png b/graphics/event_objects/pics/people/boy_2/8.png deleted file mode 100644 index aea1fee46e40aea43c5ceb3aa6409d8fbe5fa6a1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 254 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?g0i*cG##d1TAXBHqwr?eObMWXG9#whC?U?`{@w?Gx9(&-%J} zig=sBoG(-LZ{A}!is^|5QbP0l+XkKQ)OsQ diff --git a/graphics/event_objects/pics/people/boy_3.png b/graphics/event_objects/pics/people/boy_3.png new file mode 100644 index 0000000000000000000000000000000000000000..dd8f2e51d9e8a3126ce16cc3cc9357b131e578d6 GIT binary patch literal 807 zcmV+?1K9kDP) z6CEdPObFos000+sMObuGZ)S9NVRB^vM@&RePDdbiWpW@hE;Mn4q~QPn00?w&PDe*f zL^A*Y002sWDIWj;00d`2O+f$vv5yPer2o~l|HYKvlyiGQL28Sv zIZ9#(5Fpiaq@+P}QXoOq)zyoOltDpK|Ns90001r;Hl&H7>2*W(n(nm>cAMuL0K#1tg^arB7&t82-dXN zqDw(kK6PR#64}A+dFsG`z2vXas%oSx*Y7)nof=cAODAsN@oW3u#~hpi&f`4J<9`h) z%lXeeo+rzAQgDK-?|GxiGkPgc3QjTTd0x*)Vu6>k-}g%dCxp4!@AU$#4Cn?b@&lvD z1jnL3gqc`Q1HUFGEEx4ieSZRSTJwFG3ywrZ;ht8bTANm9t|iGNU69om5|=L%6hz0u zJuRpD{j%C}tp+XH%!SvNrYI8>L`7jnnBDw%dF24yVw4{Ni>{`Pc`hi3io%S*xNUP> z^$Hd3@DVw`adx?&MQr4vf-oZlEzTWUJT0Y0g5aFa-|huQgcINFMMn5D7aj;=EJP>( z+GDN5cX+~T_Y(ZPCIJ-@?_BGeM3jklZYDg?vODYH%66@Kyj(_2ykYyf9pU*`3I#L~ zMe41K8AT>*jrkzVXz_S4h`5WyB2GokdPHAMt%qM|;-~dc(b{}n-lrK4FvC`abRTT* zg`r5oaUzIH5g~3lWVld^L9-6ftS<)Y8)lrJW<0g z{Qt1`i7@k+hnr=R6L+DUm`6ZM(%Mv2mhpb`A`0g4 l_g5;*E~ige%!dPJ(r@0`bmtpjrAz<-002ovPDHLkV1kqWU}XRR literal 0 HcmV?d00001 diff --git a/graphics/event_objects/pics/people/boy_3/0.png b/graphics/event_objects/pics/people/boy_3/0.png deleted file mode 100644 index 6ac8b18c2aab1beb66efe2de941bc0a8806ad71f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 281 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p zGu_k0F+^f&a>4?A4gK~@nVAV<)e%uqS&S0`#b!+to5eTDlb=_Y`P9bg;?tIPPZu}X zFoU~GoJ-6a$l$1(B3@FKkf34qYsvZ?rb~HimZb1pdzX^~WWSsA@{!Tm*2YHHlf_w2 zL{t~(J)XK&aC1-Nu9z_2(=n`5l2-iRnsxQpdxf_@|NpON&P@0B*7w$CuwK)!SLWni ZhWI?K{_>M1^MOue@O1TaS?83{1OR81Z%_aL diff --git a/graphics/event_objects/pics/people/boy_3/1.png b/graphics/event_objects/pics/people/boy_3/1.png deleted file mode 100644 index e42abeb9fdb09586c86f472c185346de727c605e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 268 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p z)8*;n7$Pw>IbngmhJO2{%*+I_>WHYQEXE0e)7V&EDzJI5oJi33<^@9igal1?&#Bf1 z8)h_@h*}#M?3m8%$QfX0-|>-g$?N*cpY;>Uwx9X`fB8}agAFUzym>L>Da(~qo+Jt8 z(w%E&Sr$*_4)FcEK6Lf9diISO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p zQ|jsB7$Pw>IbngmhJO2{%*+I_>ZquwEXE0e)24}uP2)>iGTrgXDej|}FCXM_d|0%> z&b`vYdFO>aawifD&CHB`G8mmWdSi!Nj!}2?3oV0W*Y4Xo9EUww4@JDpVVd|T>d{yE sGY|g%mtP~DQCrD4;~-zLA`1hzY#F?7%fev8sboFyt=akR{04p0_tN;K2 diff --git a/graphics/event_objects/pics/people/boy_3/3.png b/graphics/event_objects/pics/people/boy_3/3.png deleted file mode 100644 index 8edb25b0c8f8b8d84d6160580f6f0ad60aec1f2d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 274 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p zGr`lvF+^f&a)N|HKpfxF%a;!5eA}>P%M~Vt#X2Usx+bzJljWqM*rp`w>+5)n>+2^Z z7>bMNi|CXA8G?T_^k2L=a3CP(i)Z{zmK8VdMtGi-STWc2?9CfDSdJLXe)-6VH)X-^ zGb<-vcH~(%bFHACmcp@9nKRER#QxbIwl?Y!!=`=z{{QDs_&#N+sDsQgzA`a}$@A0- U7}6x9fo@~)boFyt=akR{08Qd*tN;K2 diff --git a/graphics/event_objects/pics/people/boy_3/4.png b/graphics/event_objects/pics/people/boy_3/4.png deleted file mode 100644 index 016f12fd411f7ad24d1481443fff4695e47ef5bb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 272 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p z)92~p7$Pw>IYB}pAdYY8w_(_4N}H z48=wCMRdx548cDd`Y+xbIPf6ni)Z{znI(54JWuXmIZ|L|X6DJ{wK09yjx#=NhFZ(r z&arq}uH52wCWax!Vz$reIjl(=D%M7A{l|Qw>fitW`<-Qu%$vqntaQPWA=6OJL{X@1 QH_&Aap00i_>zopr08wXU-~a#s diff --git a/graphics/event_objects/pics/people/boy_3/5.png b/graphics/event_objects/pics/people/boy_3/5.png deleted file mode 100644 index b5d5bda8512bf25f126cb0eb003f5335758253e4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 264 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p z)8^^o7$Pw>IYB}pAdYY8aR&|r@lDby zPe?Fif2mcLkWiq{-Xydjsb1hQGc$Adt^c1s{dXviIFt78zdditg5N!T=UytXiBEXA zgehsw9Lvi$Sx!9ozcuTs5c`C$U;qEFXV|@5XD!1cgR%{q8Qjk3tzVn*=PJ-e44$rj JF6*2UngE-RY$pH! diff --git a/graphics/event_objects/pics/people/boy_3/6.png b/graphics/event_objects/pics/people/boy_3/6.png deleted file mode 100644 index 703bcdbbc769dbb3a45d6402a7c583fc3eb653a3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 261 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p z)9mTu7$Pw>IYB}pAdYY8aR&|r@lDby zPe?Fif2mcLkWiq{-XydjsZQWA_lY_GpFaIRxgqGy%>Vz-`>+{mrI(a6U9ninAj#dp zlRkN-aeAYKPTcCSwf`A5%>z2;y#V{hW?gn`-WM_qy8HDOXlH~~0iDC(>FVdQ&MBb@ E0J~sh;s5{u diff --git a/graphics/event_objects/pics/people/boy_3/7.png b/graphics/event_objects/pics/people/boy_3/7.png deleted file mode 100644 index aeaf29942910d28b54b5901bb26597f330e69879..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 250 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p zQ{n027$Pw>IYB}pAdYY8aJ%VoaIPy|K{tMvB<>3!w?exTa@rKG37;H7}rT<8!SEN#El2 wR{v{0lc@jy|9%_UH}jajZ7G@|%`L&exm~rZXWxB8pc@!GUHx3vIVCg!0FHrV?*IS* diff --git a/graphics/event_objects/pics/people/boy_3/8.png b/graphics/event_objects/pics/people/boy_3/8.png deleted file mode 100644 index 26ef82fc3d0ff296a675e29a8c1644cb123fefa6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 249 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p zQ|{^F7$Pw>IYB}pAdYY8aJ%VoaIPy|K{tMvB<>3!w?ey8Na`3LFzr)i+3fDw3=}A@)t= u>X?7ck}v=NuV*)uIQ2?WK`)uTnDOZ;<^SFRri?%*FnGH9xvX z6CV|ptvllY000+sMObuGZ)S9NVRB^vM@&RePDdbiWpW@hE;Mn4q~QPn00?w&PDe*f zL^A*Y002sWDIWj;00d`2O+f$vv5yPer2o~l|HYKvlyiGQLCwwH zoSeN%N_%s?06}{I5IF$NVoH=bDN+ys|Ns90001$F0&@TW00Cl4M@0Xn2lB-L0004W zQchCLapfI*xE$U-2AWMLuZT+?utj1B`F;|P+Fxj+`l!knu4 zOw+F8NHuYYaYWX&n8WML1%HWTVNS(-I?%s1(Q|Nm!6P zbPdD%2Apy}1(KFw%nD?YEX+x~@2_9JcY*$N>bscGzQDXT2z>m|d=Q;Oor#3-yc8Dn zysa%)1VO`~o$WqASw;aqh&-~C z4v3B|WfeRg2Dxx?4E^?mu%NPb^7U>1%u?1I+jh>N!@EWe|7e52#UKwvI5iMCFjpVo z;?(w>)*%MpyW3K+vecs?Cz+iKgOS6aV1GoTbWd(*C>I ziL364eyN5CrTC3V`doJ7-lp>WDmzN0nwMSS#vf2^J$$N1_4yIxt#aI&L7tG-B>_!@p zv(VGUF+^f&a>4@c9o6Dq^LH|*eSBwG{p<^?!sB!AY`2%sXFYv~RcXPQyStm3%HPK& zJlJ|wRAf)dPbTK>wU68@7oO(h;W_6f|8%NvLsw+a)G0lUOgu50dwRq57>vU7ybDjy zVoh4Z!#kHXWkbf%OS0Y;3s0w0o>f6PCV7KX=bEn4!o& m^4-=i+zH}w5B7FHDPUkoc8C<~4w3{qmci52&t;ucLK6TWH*`n< diff --git a/graphics/event_objects/pics/people/boy_4/1.png b/graphics/event_objects/pics/people/boy_4/1.png deleted file mode 100644 index 9c287e39dcb2db2d7d6e79da9267a21873556426..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 280 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p zGtJY*F+^hO-g6r{4;u)uUeIP~Y&an&shIGA>89%3)nAmPPfYckb;CG=xwi2@qscDW zO^r3`K`Bjt+}7{tx4RgB=ufTitQ?2V$N(mR$x2KM84Vp0tUa#zEYo&~s$OL59amHw zP{Z>3RE+w;Jy&-1@Cr3rp1aroecqXq*3adm>aEHzS6$roZ>zJ`ju-PD{*o(-o}v4n b=RQNUfd3QUsfM~h7czLd`njxgN@xNAg9UGQ diff --git a/graphics/event_objects/pics/people/boy_4/2.png b/graphics/event_objects/pics/people/boy_4/2.png deleted file mode 100644 index e1cead5ad66e9407a72bf5746e1d75c28f736a30..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 256 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p zQ|Ia87$Pw>Ibi|!j_U7BEq2AvbUL2dGP5Ww++BWdj%BUbnn&m6*(w}!Rp4H8BJjhf zySvL9dDJTtHJsyrF4FBdn3PjBygVeoYIb6Mw<&;$TC CVP(Al diff --git a/graphics/event_objects/pics/people/boy_4/3.png b/graphics/event_objects/pics/people/boy_4/3.png deleted file mode 100644 index d64420afdb0250bad2289bc3023ec9766424e01f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 279 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p zGu6|@F+^f&a>4@r9o6Dq^LH|*eSBwG{p<^?!sB!AY`2%sXFYv~RcXPQyStm3%HPK& zJlHx_RAf)ZPbTK>wGZ4Y51!`Z;W_6f|8%NvLsw+a)G0lUOgwR$dwRngSxlxc-I1!x zV5Ae?)^;w2VbZLdQij||9?ZHp?coxpO(m}G?VCA|SeCDE*kXKT&dOGcH&wS-Ihw`a a*fErKniYpzJa7X#kipZ{&t;ucLK6V>M{unG diff --git a/graphics/event_objects/pics/people/boy_4/4.png b/graphics/event_objects/pics/people/boy_4/4.png deleted file mode 100644 index f7779a135fc66d55383d96c839114bec1b6a6b05..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 278 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p zGsV-zF+^f&a>4@r9o6Dq^LH|*eSBwG{p<^?!sB!AY`2%sXFYv~RcXPQyStm3%HPK& zJlJ|wRAf)dPbTK>wU68@7oO(h;W_6f|8%NvLsw+a)G0l(4s2_U%;I*kcoge;7oMKQ zBJyaKq?A>*QOCwjrb%iZr#zSHE-q%A@G$4n#fz+)rX2mQcgFGhd6{;DipyDvd8}HD Z4C_tITXO=s9s}LS;OXk;vd$@?2>>fOZu9^E diff --git a/graphics/event_objects/pics/people/boy_4/5.png b/graphics/event_objects/pics/people/boy_4/5.png deleted file mode 100644 index 76485893d43287d05159befb80d0e82337423894..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 277 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p zGuhL{F+^hO-gAarOojri7c{pCHBH~Jar?%Ih%Lf4=gn>%S5DFPHcvmn`-!mwwe`lvc=c^xn{H#jW?; Y&82R$yH<6q0y>Yu)78&qol`;+0N%WC5&!@I diff --git a/graphics/event_objects/pics/people/boy_4/6.png b/graphics/event_objects/pics/people/boy_4/6.png deleted file mode 100644 index 9f63aba4e35084904178962f7868f2918ed223ee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 276 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p zGs)A%F+^f&a>4@r9o6Dq^KF^aKEAUoe*T43;qke7#_4|ZSq=T>TW)4QV^LgnUQ(g? z`Zpedn0*HhBvn5@GjsEFSqX`n_e=*x7f96!JZ7G7@az9~cmI1g^h{m-?|-~0=Zdta zYeH9t`LY>>otgTe~DWM4f!{}_u diff --git a/graphics/event_objects/pics/people/boy_4/7.png b/graphics/event_objects/pics/people/boy_4/7.png deleted file mode 100644 index 40d19f455e13bc7677341b24d34821d69350891f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 258 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p z)8Ogi7$Pw>IbnhRj_U7BEq2AvbUL2dGP5Ww++BWdj%BUbnn&m6*(w}!Rp4H8BJjhf zySvLBc`8#m4tvJ`T%_A^Fe#_zBumbs?u{Q~H=NXo%NB2tTq-zsvqH~Iz1Re|ry{EQ z6O!&(2lv!Eu3A6e@^O*anH84Yg_8L{S=l-)1%w#Pa&02_C+_P6x`n~h)z4*}Q$iB} D#3y4Z diff --git a/graphics/event_objects/pics/people/boy_4/8.png b/graphics/event_objects/pics/people/boy_4/8.png deleted file mode 100644 index 1ed4d0da0c26a821ef3b6ccbf8a8b737425bce5f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 259 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p z)9C5q7$Pw>IbnhRj_U7BEq2AvbUL2dGP5Ww++BWdj%BUbnn&m6*(w}!Rp4H8BJjhf zySvLBc`8#m4tvJ`T%_A^Fe#_zBumbs?u{Q~H=NXo%NB2tTq-zs^MM|(>3jyw+g(mF zpV?7;^hUAnjZ3@r%HKDvdBA!zlzUq81Kstlmfx6|85Gai_{qBQ2?8C%;OXk;vd$@? F2>{YpW{Cg* diff --git a/graphics/event_objects/pics/people/boy_5.png b/graphics/event_objects/pics/people/boy_5.png new file mode 100644 index 0000000000000000000000000000000000000000..19fff5b36e68306bc3b18c9e49d24c3fd0e96809 GIT binary patch literal 517 zcmeAS@N?(olHy`uVBq!ia0vp^20*O9!VDyr{d%Skq}WS5eO=ifaj*z0Fk3BO(gze0 zFL8}13C>R|DNig)WpMX#0UD!FmRh7>tY=c#y5u2H2}enRpF2>-7|3SuYS5GiQY`6? zzK#qG8~eHcB(ehe1_3@HuEj@}{J*;8|IsP;rW98@I-WgyZ_b>(US8G3dl?+783ZgD z&L(+HvD6F_VEF(4KTwll2U9VSVodUOclp1R{nJqprzFTPn8D%MjWi%z#?!?yq+-t7 zzWrW@14P=-7cA#qxa4Mx*Gh#QA~_B(l5UC2k@?M4$slTE^_;ipy~yjNbH+c|)FvD> zT$mrQh|llow>b_wTW=k_oB#9f`+x7|Gk-WA?_e|0t5n-3$fjhb*3=aCl^k9tLMLhY zo@{-_y&~wW>$>8#ZyP16*4H>Zdiwb$m+{Qc!dA^QUqAiRd1T@1Zz~=2CUiBn+f1Lq zXV3n3x`UFx^U)fcS6q^DwY~0j*ADlI9ZA_V>r+Vgj0gsad*;`U9)0#Qy;#0OI_pgN zhH`=H-j5Uo{@t39EAdA5L7AlMY4?WRyEIPmzYaJaC^DVF*U{wK!t_TswoJLbC}R7y zgN81pa~_=e`(cljU%|c8zk1DIZPL?z{U!UU$^NIDWx7XpFm>*4E&&D_gQu&X%Q~lo FCIB5I*P#Fa literal 0 HcmV?d00001 diff --git a/graphics/event_objects/pics/people/boy_5/0.png b/graphics/event_objects/pics/people/boy_5/0.png deleted file mode 100644 index 2a0ab6a07827df9c7913f2b93893874e76980b78..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 282 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p zGsDxxF+^f&a>4@rh^<^+=jU*y6`q}8xw)8e!p5Ss=RGqwJM>K59CnV$Xh&G4?v$u4 zS&S1FYG`P%q-==LteYYp_2$5Vr#W9d<8QL8IJ;DaBSu0Z;>!K2_4VOT4jf35<6=3= z$HVh(VP@t+RR`wxQg+wN+p{e3yGq d`NTWi4F6Ltran2Sa2V)D22WQ%mvv4FO#mV=a#sKV diff --git a/graphics/event_objects/pics/people/boy_5/1.png b/graphics/event_objects/pics/people/boy_5/1.png deleted file mode 100644 index 65f7f1dcfb4c646adbc1fb4c52a6b07d2cf74043..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 262 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p z)8gsk7$Pxs@41b<%?1Lk55of@opdG&zG!xudvH&quj}cvN!}uwxf`99TzT>7+@cdK zKWG1*Wi9*RzRS9o&Xc(fe@(r?)2;YRfOEU+wlxJw0?evM6xNzAFcW?8Zc3e6$>W7p z=Y&7#Xg(F^zjj2+aE_*IjMMrYbDLv7uLTsHWV^C=z5V|>#>WPp4$5clI0D_n;OXk; Jvd$@?2>^%lY99aq diff --git a/graphics/event_objects/pics/people/boy_5/2.png b/graphics/event_objects/pics/people/boy_5/2.png deleted file mode 100644 index ece405a282a288427e5698f8ed6cb1f580375802..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 266 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p z)8Xmj7$Pw>Ibnf*#8xh^^K&@U3eU1Mu_iQz8mFIOGLi}BT>pZ_n58wmN!0Qb_j;z+ z#h1d{3?h1Z#UmR_c1~e#F`_@c1_4yIxt#aI&L7tG-B>_!@p zv)a?eF+^f&a>4>`jRf}Kr*B@SvOaZii;RrOs8{*ndRQJd wW`$;U3@IPx+y8%lo_&Jw|N002`=1mr{OdPicvcee73gdRPgg&ebxsLQ0EK;bs{jB1 diff --git a/graphics/event_objects/pics/people/brawly/1.png b/graphics/event_objects/pics/people/brawly/1.png deleted file mode 100644 index 38ab1f090ca68465573797489fdcd6dc18456110..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 277 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p zGuhL{F+^hOUca5ZhYfgA1RZ=C_>&nknOA&ZyToE;s>yOhs6DtVBva|Y>Iw#CzL%$j zpGe8|pO?KDKjCcPjU}@pJ#-yBoE|iCgx0JI6j5H=F;k0A#mF=Jtc$Cs#an^bQ|;y) z=!taWe>c~D=AE_N^QO)DyX{-iG(F*{!!_dTCAz}Dzs|V(L(E9$^tQE9h4JlwMgFkg X47Er)deGDy=sX5bS3j3^P61_4yIxt#aI&L7tG-B>_!@p z)9&fw7$Pw>Ibi{}M!J6ch0N5%r>s0YZ!$AizD#s*i;Rkj%(4ntremvX%e!Pnzy_VI zGDiwTO1QoC84RCXy?lU2z4q&uk_lyE$&Wu32{a!(dgBC3j!F0CLQ89p7W3TiksD(7 z9PeJpqh891KIqEP)er2o~l|HYKvlyiGQLI0$* z)oOc-K~j{(_F9X*5HV7;q+)w>K{+`X|Ns900013rp2q+H00Cl4M@0Xn2lB-L0004W zQchC%?VHC@A9M;A&!7Uk>x!5~Q>k zyUK*Acvbdo+aFIgU)B>A2^I&FiFLev9nA3)-+x~Y^88bfiI$Idi@}iNak(sAQ!@a~ zLO~J1IC=4~{{GD^g%WFi2XEH2NCkOOUYHV^wI4?n2jC%`&E{)>#!+Qam#HA3sYOA; zM3@o`yH>GXfD+|9%683JXM(&aCrk-TZri+$jHQf`fSCsNHv%PU19UbbC5$p*Lg0eq z2cRwDSoG-@`5Arxlmr33vBVFq@r*j5e}U@8Yw{=Zz{JZndW}47;pNf7U*0sX<1JChm+xm?{cE;c!$!5y7L7W0S(b$D#g zY0zvQ&Vq~}XX;@8IuY0000mP)t-sbH$|p z)wKV`l-`tcdqF|}q_ov)dy7F*l*RU1i@gvrQnaLEdvifKIT-){{{R309c`Y+00001 zbW%=J06^y0W&i*HsYygZR2Y?GV4w@wy&FQ`R#MsvqW2nY(pJ9Bz`!eOt)#T+;su6_ zQkyqvYcG^#xGlZP*m%{(y$rk?C0DJQD1Cu}fS407_?7x$+ZirdDmPYtF<=y)kVtO?V0^3Ni0*=Tl~35kj(7| z`WDasmUgcpu%Xnx+2X-PSz0e||DO;ybLfW1pRlvQqbVFuBLM(ehcxkH`+&^Nm-% yPn|xMuk`#Q(-X6JKOc=fS407_?Qn{DH_MJU&AUk{Qk}WSkv9@&w%{I@>)}NBP zLwE0~8x>O*>N3A~I~lrK%_}}3VaM*m#aq6_F3>yvyS$O%M8T!-eHq+I8ziKqXWn6- z`64N&<~wu8!AFm{#S$V6k1pmu6Y+8hQ{ta;vzh#9AL>7{uV#H^-e~Y{UgL|j2YajK bZ$4yjWH$U=t6szpbRdJLtDnm{r-UW|$*6bW diff --git a/graphics/event_objects/pics/people/bug_catcher/3.png b/graphics/event_objects/pics/people/bug_catcher/3.png deleted file mode 100644 index 472fa42cb4c63ddf1e709f940d204ba96023946a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 292 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?Qn{DH_MJU&Ks$Twk}WSEv9@&w%{I@>)}NBP zLwE0~8x>cN?d91cts1^|mPT!3LWh=q=O*adP!MXJq5Pwr~1TH1)Bd~KclH|l!piC&T_`x o&-*sLXXSXz(~|aJFSin-RJQTFpAI{J16|AD>FVdQ&MBb@09-|VjQ{`u diff --git a/graphics/event_objects/pics/people/bug_catcher/4.png b/graphics/event_objects/pics/people/bug_catcher/4.png deleted file mode 100644 index f6da1bb9785b00587dd07e1a6b425904049de22a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 293 zcmV+=0owkFP)8IuY0000mP)t-sbH$|p z)wKV`l-`tcdqF|}q_ov)dy7F*l*RU1i@gvrQnaLEdvifKIT-){{{R309c`Y+00001 zbW%=J06^y0W&i*Hqe(fS407_?Qn{DH_MJU&Ks$Twk}WSEv9@&w%{I@>)}NBP zLwE0~8x>O*>N3A~I~lrK%_~0P!QS14i?@77jWvGL*ixyI?|?y=8$%rErw zz<~pczW#rA_dlOQ+toAw|En`g^28ZiSuJajh|#vTnj6x<^Dopm-D-Bj8lWrxi%$?a nEStJuXTmW_4&E)iE=&x(UmRw&-*fS407_?Qn{DH_MJU&KzsGtC0l+zVr}aVnr)UDtv@Ao zht8f;H!7|k+sm^@S~Yy_EREX6#_#Wr^SZ-uU1RD_h(C@^f=6tK~EJ>^+`v zPdNDL|GT^YyJZ@9PXGU(uE%C*V{K(Monh&mkhGFBQ4A>-v(L=g`HIgFj;Gs!j%Dz4^>bP0l+XkKq^o~N diff --git a/graphics/event_objects/pics/people/bug_catcher/7.png b/graphics/event_objects/pics/people/bug_catcher/7.png deleted file mode 100644 index fded025e3eea4e65d816599ab6b1efc21d5c100a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 284 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?Qn{DH_MJU&AUk{Qk}WSkv9@&w%{I@>)}NBP zLwE0~8x>O*>N3A~I~lrK%_}}3VaM*m#aq6_F3>yvyS$O%M8T!-eHq+I8ziKqXWn6- z`64N&<~wu8!AFm{#S$V6FE8aj6JhCklH29;y8lUUm`wT~_Fbxzopr04bJvrvLx| diff --git a/graphics/event_objects/pics/people/bug_catcher/8.png b/graphics/event_objects/pics/people/bug_catcher/8.png deleted file mode 100644 index df561597b87304fa3667003528d6c8b3b11a7afe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 285 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?Qn{DH_MJU&AUk{Qk}WSkv9@&w%{I@>)}NBP zLwE0~8x>O*>N3A~I~lrK%_}}3VaM*m#aq6_F3>yvyS$O%M8T!-eHq+I8ziKqXWn6- z`64N&<~wu8!AFm{#S$VO8ZG8_`K%ZCiN*L`o#D4XHH=3-l>f}H5mPBWdi3Tqoru21 h?`K$7Bsa1#GyJ}2lJ#SDxF*n<44$rjF6*2UngH)Gd+`7O diff --git a/graphics/event_objects/pics/people/cameraman.png b/graphics/event_objects/pics/people/cameraman.png new file mode 100644 index 0000000000000000000000000000000000000000..23addbab1dec604cc09bec7860db215ee7adde28 GIT binary patch literal 787 zcmV+u1MK{XP)er2o~l|HYKvlyiGQL28Sv zIZ9#(5Fpiaq@+P}QXoOq)zyoOltDpK|Ns90001r;HJ;i}qpXBGcD=Y?TB@7!mppp2G*wRfLof>N=?2gM+<|3@;*Yy&_cz{DyB zmIVvXrK#EWynZY#0^(T5Sg;EMQ6vg80^HUy2w;jcd#?a=58KO5E)YbbFc(Yp+j4T~eNhAu1?2)$f_S$*(iFIAaal1J4{b?`6 z1)8>V>S#?Oi9}&ecI-xxdxSi6oYzP;e;<5AfqVFY3y8T$5Z+PZUn;-FreT=zVxnCX z2qL01L1BDH+_yjE0o9C*O;S|(P2d7+SwsYwq{hVLmyri0VZvV@kx4<223h<3^S~X+ za1prN15d&;B||g4)HoAMOJtBC%}bMEMK9rcK9GVoZhhzSO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p zv)t3gF+^f&a>4@k1buydhRZ7#E=*Jii_{QU(k!7MXrQbM)cc=@=gVEcr`u_iZdBTIM=GWO*1tvZyHT(3x_}PBW!+Ul0wDzC>Q=Yiv?UJNV z`TPN|x+ZNr|MS0>8jsE~wY%2Vb7UoU#Mu0bEAxpwa9~5xv)$#!>5Ok5`7<{$87O~` ty2UQ=`2FAg-yM0{{>%UPue?)+;qE36&i*-j_5q#D;OXk;vd$@?2>{OQgI@pu diff --git a/graphics/event_objects/pics/people/cameraman/1.png b/graphics/event_objects/pics/people/cameraman/1.png deleted file mode 100644 index 112ee86b4b15ba41392a3662e730b269977a7fa5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 288 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p zGtbk-F+^f&a>4@k1buydhRZ7#E=*Jii_{QUve>{O$bqdsQc7S+eZr6bvM0RO|381= ze|mLg<=3D5JUaDd`>VJA{=>?4|NHXqd+&XI&vbZi`TxcTcca^GzYqKSfB&nyac#GE zhn<^anf*16?Ov>LW5QQfwzg1XYpb+%Oi>$)+}z!t>r61d kkKIt>U;Tss{ZEP*7<~flIK@5*0$s}B>FVdQ&MBb@0RO6civR!s diff --git a/graphics/event_objects/pics/people/cameraman/2.png b/graphics/event_objects/pics/people/cameraman/2.png deleted file mode 100644 index 6eaca8266125ea1f4835352cd3b2b0559eb7c1c3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 273 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p z)9>lx7$Pw>Ibi{Ng1){!!{wC=7bYr%MQR8vX_inBG*IT{Xz1bp_rGz$oW_Uy|Iai| zKlffcVaI>@BP*)U6@2@DcX#>wdiKtkk9({C+k5m*K6UrEyo7|^ZR^>8*trZgSi~1z zs^;I+{j_W2y}Au=&G(kyXE*+LcCWSknFs#fr`vbDiN3|&apLZ70XF6v5*7>$tPh<2 U&$uOaALuj&Pgg&ebxsLQ0LSO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p zv)I$cF+^f&a>4@b1buydhRZ7#E=*Jii_{QU(k!7MXrQbM)cc=@=gVEcr`u_j^{{shB=da@rDQ;}Me)Git^O6dW@8t>qzn}ik+Te~^QP9ur z&-Zg37EMl{{Q3V}Ux|pA7@M-P9To-!XXhBcPdz?`m4`<=eP6YCvDgX8%*@P}3h5iB oKfU*#zwF`v-SP^4PuV{+svmLNa;fO6EYP_Op00i_>zopr0N8ziqyPW_ diff --git a/graphics/event_objects/pics/people/cameraman/4.png b/graphics/event_objects/pics/people/cameraman/4.png deleted file mode 100644 index ffacefa387963b2bef18183d5c9705db1dc66d85..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 294 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p zv&7TIF+^f&a>4@b1buydhRZ7#E=*Jii_{QU(k!7MXrQbM)cc=@=gVEcr`u_j^{{shB=da@rDQ;}Me)Git^O6dW@8t>qzn}ik+Te~^QP9ur z&-Zg37EMl{{Q3V}Ux|pA7@M-P9To-!XXhBcPdz?`m4`<=eP6YCvDgX8)XdDx1oprG pt9511Bs|#vTmIFJ|MC(N3SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p zGt1M(F+^f&a>4@b1buydhRZ7#E=*Jii_{QUve>{O$bqdsQc7S+eZr6bvM0RO|381= ze|mLg<=3D5JUaDd`>VJA{=>?4|NHXqd+&XI&vbZi`TxcTcca^GzYqKSfB&nyac#GE zhn<^anf*16?Ov>LW5QQfwzg1XYpb+%Oi>$)+}z!t>r61dSO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p zGsn}#F+^f&a>4@b1buydhRZ7#E=*Jii_{QUve>{O$bqdsQc7S+eZr6bvM0RO|381= ze|mLg<=3D5JUaDd`>VJA{=>?4|NHXqd+&XI&vbZi`TxcTcca^GzYqKSfB&nyac#GE zhn<^anf*16?Ov>LW5QQfwzg1XYpb+%Oi>$)+}z!t>r61d8IuY0000mP)t-sbH$|p z)wKV`l-`tcdqF{Ji>x_HVh9i*)pMkzL32_dLDkjOi;I*&K~n$!{{R30E*dwM00001 zbW%=J06^y0W&i*Hl}SWFR2Y?GV4y2tFE1|u)2X4MVIWpnC=jHB7$6ZaBMk_Ej1T_* zfuNj$;lKZxGiT24D`2?)AH=A8&T#hs-Me@1e+P+N@x6QhKS+&}%H8`P7#Kd=JDdCm z3NWxZUvbiV53-Bpim~2)uGs dwf{db004cTO6X}rw%`B&002ovPDHLkV1j>RdeHy? diff --git a/graphics/event_objects/pics/people/cameraman/8.png b/graphics/event_objects/pics/people/cameraman/8.png deleted file mode 100644 index e2af57df170c316ffb28e2c6cb5bad3abe0e9419..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 276 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p zGs)A%F+^f&a>4@b1buydhRZ7#E=*Jii_{QU(k!7MXrRo?(a^*H?|)@`s%HV6LkxzvkEbty}&lu>HSV)AnCMQ-hPC Y^plrg<$UEfpz9bsUHx3vIVCg!0Giizt^fc4 diff --git a/graphics/event_objects/pics/people/camper.png b/graphics/event_objects/pics/people/camper.png new file mode 100644 index 0000000000000000000000000000000000000000..c931d478d9f8e012eab1bbd087a0cdf2ad40e3eb GIT binary patch literal 809 zcmV+^1J?YBP)er2o~l|HYKvlyiGQLCwwH zoSeN%N_%s?06}{I5IF$NVoH=bDN+ys|Ns90001$F0&@TW00Cl4M@0Xn2lB-L0004W zQchCBjE7>2(=bTEhx-3p~(Yb~WYEjE}4NdzkJ80gp` zzoBEdQe{q|l_r;Xh>oWIAH{~G)f94gDuFId=~ign_tRNA`)n7w`&%Bpy1Vc3`A$T; z+SRW9T`ehxoA}>--lggBaGhHP+gN02n&n`M%1z!T*eWhE)Jmg8t_8Np64oS{OIgU~ z1%4>{$mNEXXica|R~X69L4I*gXK5y-oEm{8vW1PB3syqDQf?C*!GEjqm!Bug^xRz{h1M1 zB3syy9MNuzfatD5-EtOt{;d(%B1_niS|cG6z7KPy=6oMwA!bVgTVxAs(n}e~@&+8w z=f7^a!@*ZR&7>AEN5~6NB^()H!-L}RFh2rujPi&t*4r0oVN$ zk9lhlyy1mUA>yq;q%(xPH7z7MTQK39J2J$dl8md5I!!|lr{X~{+?2JDlE{}3P+81_4yIxt#aI&L7tG-B>_!@p zv)I$cF+^f&a>4@k2T@zI7-!78c<~}<(%LyUFB%q$&0u6vIJPQsb=cY%)|5L@K(TCH zX6EiSS5}2`>suLYc)?Y_&3w<30|y?g`4Sj+l4V8P(Fo6zHyBeM2qh=$PiQP%9TO8~ z%WiZhtgY>w7o%3-%$rh%mpND5O$l{Bu9dzZOMil>cSF{?HFLHWP1B!n@b#KUDMgG& oc08&+Dt;tkM|I1_4yIxt#aI&L7tG-B>_!@p zGsDxxF+^hO-abPvCPyCE;2c$*xTO9K>=9)Lon}N=@V%~JHlEsgmgQ)5$04!c&V!e( zMNRm4+)MvK_NT7@_KLsQg|D7{zHVlCUZ>+9!9=m?-3_*ZrM9cyos$hMW4b1|H=)cq zE$hL<=A&zVJoprF>NDTWl^uEk`3ADpSE5s|F@CKK@r_O?>e6KMur;Z*-t}ZcGxyDi c+t;7xr}DVJv6_D&8|X#`Pgg&ebxsLQ05DK;(*OVf diff --git a/graphics/event_objects/pics/people/camper/2.png b/graphics/event_objects/pics/people/camper/2.png deleted file mode 100644 index c25c51a785dd78ea3c68235812a61045e6ab0474..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 263 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p z)9UHs7$Pw>Ibi|&gQ%@pj5Fq4ym*l_Y3-bw7Y&QWW-zjBKA_d`MT@OXRMt3rZB(h4 zPEyTto(TsZ{rnvdSNapDQ{2^aC?$G;P_Bks&Q$7CGltKV!i zCu9Ln`sA+y={g^qjMC0Ay-s^zYF5Tzyza-ny$pgotHp0VWjJDJBzZ-CiW|^D44$rj JF6*2UngC}cXukje diff --git a/graphics/event_objects/pics/people/camper/3.png b/graphics/event_objects/pics/people/camper/3.png deleted file mode 100644 index 451f9c4699133309df87d70bb0fa80daec0f8421..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 281 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p zGu_k0F+^f&a>4@b2T@zI7-!78c<~}<(%LyUFB%q$&0u6vIJPQsb=cY%)|5L@K(TCH zX6EiSS5}2`>suLYc)?Y_&3w<30|y?g`4Sj+l4V8P(Fo6z5*h~{Y&~-026u)+_bDy$ z>7|?wZ6{A%xNtII<;=B$!7>M?m6uqoY>;r!o^$Y4__-*~X-PYho>ViwIka0(U{>RI cy$%+J_FkjHb3!4nflg%bboFyt=akR{0OAsJS^xk5 diff --git a/graphics/event_objects/pics/people/camper/4.png b/graphics/event_objects/pics/people/camper/4.png deleted file mode 100644 index b17781df4082e51532dee83c9ff72343594129f3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 283 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p zGt<+>F+^f&a>4@b2T@zI7-!78c<~}<(%LyUFB%q$&0u6vIJPQsb=cY%)|5L@K(TCH zX6EiSS5}2`>suLYc)?Y_&3w<30|y?g`4Sj+l4V8P(Fo6zHyBeM2qh=4S9M^!tt~!1 z)Xzat?DT~Tk>?cJ(zB2FOqep+%bop3Rl4v3Q3bZ{=WC{JcDN;3v0mf1)0`8pi^N~u d*exz0!H~Y!@MpJy1s~9n44$rjF6*2UngHoAaN+;} diff --git a/graphics/event_objects/pics/people/camper/5.png b/graphics/event_objects/pics/people/camper/5.png deleted file mode 100644 index ea79ad5d2e6d16d126c07604a9530109b5d94b03..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 271 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p z)9dNt7$Pw>IbnhJgQ%@pj5Fq4ym*l_Y3&<^rbvyRnX1_4yIxt#aI&L7tG-B>_!@p z)92~p7$Pw>IbnhJgQ%@pj5Fq4ym*l_Y3&<^rbvyRnXc(zy2?>TbLJqZO TFCXg%x{Sfo)z4*}Q$iB}WG`={ diff --git a/graphics/event_objects/pics/people/camper/7.png b/graphics/event_objects/pics/people/camper/7.png deleted file mode 100644 index 4dcb217b3808f1ccb1f145a5565c970354801ae5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 273 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p z)9>lx7$Pw>IbnhJgQ%@pj5Fq4ym*l_Y3-bw7Y&QWW-zjBKA_d`MT@OXRCey_u(ej) zVut&Q*-j)BYzyC4{Y-Dd!zJr$E`GC{a4;z+C*>1k%A)R#A8R*=>g4&SH%hKvHr-Lu zPiwQnH0#-G*bUc3=zfgi-}LuX>gk!2a~pZ??cN?H)$EhDHq)$ diff --git a/graphics/event_objects/pics/people/camper/8.png b/graphics/event_objects/pics/people/camper/8.png deleted file mode 100644 index 888a0d17f5a5eb5f1b5b2ce8139f90e7f008ca31..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 273 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p z)9>lx7$Pw>IbnhJgQ%@pj5Fq4ym*l_Y3-bw7Y&QWW-zjBKA_d`MT@OXRMt3rZB(h4 zPEyTto(TsZ{rnvdSNapDQ{2^aC?$G;P_Bks&Q$7CF~b-JU3 z_M8v}9{u#mp?nUrt`~J)Pl{J~-1YIy%wyXWj-{>+)l-;U`93azK}lf;_cbPl#2V9P Urc~}XK<yy85}Sb4q9e0JO$zLjV8( diff --git a/graphics/event_objects/pics/people/contest_old_man.png b/graphics/event_objects/pics/people/contest_old_man.png new file mode 100644 index 0000000000000000000000000000000000000000..b5e9e5cde62ca0b49f20ca035745b571cce5d9b5 GIT binary patch literal 872 zcmV-u1DE`XP)er2o~l|HYKvlyiGQLCwwH zoSeN%N_%s?06}{I5IF$NVoH=bDN+ys|Ns90001$F0&@TW00Cl4M@0Xn2lB-L0004W zQchCD0MU=Rf16zb6gw{$GTE+K^$wFv|px)khh zkkeGK+al4)>nTt&#Dh;zB8Z3R7Jq_%g2q!zai}xp3ph*MWVybtTuJ66D0KEMkKen~ z@40^%VBOYj-Tu)$PiOc4av1Y8I&oB9P%K=simKo@DklyLs$`->k( zNacA730L*Hnr8xCqze;5^lLKv8eq_|Qok{1av5JZrJCQUF=5DWmC5sK)n(6g+OSc5yLw~*GT-VErh%s|R0%!r$n zF;Fm|>u;in#-$LWM|j;W5ubo1#lA%2LhcJmLDtY8`gE;yM)NEPa3y29{(D?mL4AuW zmSYOS1<*UP-2TF$phbVtr=VMho(aGmAIG%r`DsDD_=H00008IuY0000mP)t-sbH$|p z)wKV`l-`tcdqF|X&EA}xy-G@ZbG-mTdjJqQ0L@}blsPF<5CH%G{{R30F^B?l00001 zbW%=J06^y0W&i*Hr%6OXR2Y?GV4w>qFNe};X&@GRd1$&|S^SPz{S+km_Tg0K*F3%eGg#fQ*&5 z&)(TPi-Cb_=AE;5&dyxGz_n`bwcMMl7BH|_&0Mu==3<~~ua&b_&RPOg%r$G(s+9|X v4E`CNGde$j7-jX}(?JY|{~!4OBRL!ZvjR4VbXD+|00000NkvXXu0mjf<_mlq diff --git a/graphics/event_objects/pics/people/contest_old_man/1.png b/graphics/event_objects/pics/people/contest_old_man/1.png deleted file mode 100644 index 75f9010ddf51bf40e389a901d1bc62a762208628..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 277 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p zGuhL{F+^hO-abXXLk533YFJf3IPsYGX<2+huIFp|cw@zL%69BmPFeiNDa&Hr0`@SuD0|&AmxB-2tt!>rmMnRj^Y#W_wF#yt&Ogpq XoMbC&li1_4yIxt#aI&L7tG-B>_!@p zQ|Ia87$Pw>Ibi{}hQ5Boh0M&C3TnG6qN1`SCIo6kOp}_$mSVxxHGSz);|7UCPoF;3 z;HgaIIP4j}^THmv6A6a3IVqpyQy#=7KmIS@VDkQ@^xp)=d&cJ0>5Xr9?Jg2)34E5r zl(=Trqn%u59z<=;V$^yZUG1_4yIxt#aI&L7tG-B>_!@p zGt1M(F+^f&a>4?A4gK~@nVAY=)s-2$5~3IK)78&qol`;+0JzX|UjP6A diff --git a/graphics/event_objects/pics/people/contest_old_man/4.png b/graphics/event_objects/pics/people/contest_old_man/4.png deleted file mode 100644 index e4fdfcc1346fa889e0b92694b9f643a91d477f6f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 284 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p zGt1M(F+^f&a>4?A4gK~@nVAY=)s-2$5~3Iq?3}vydQrX}qgUm+n5|qYhabGL%zmmP(ERlJs?f~`-aY(()lmMC(Z5Yq gE296`CnNwpe9=H~WBiw0Kvyz&y85}Sb4q9e0BJmS-v9sr diff --git a/graphics/event_objects/pics/people/contest_old_man/5.png b/graphics/event_objects/pics/people/contest_old_man/5.png deleted file mode 100644 index 5de4a6b80b5e6ebe803fd7adcb2821269acb88b1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 277 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p zGuhL{F+^hO-gAb0hYWaFFW84Ty}IOGz1_4yIxt#aI&L7tG-B>_!@p z)9>lx7$PxsZ{J3~Lk2u9wk}C$o^J@#;rRB9zu>ypf{K*V$eDMR^6;p{ANLYZo?gei z{fB3Hy6k~^*DY~JTFo*R$tkEG2`1_4yIxt#aI&L7tG-B>_!@p z)8*;n7$Pw>IbngmhQ5Boh0M&C3TnG6qN1`SCIo6kOp}_$mSVxxHGSz);|7UCPoF;3 z;HgaIIP4j}^THmv6A6a3IVqpyQy#=7KmIS@VDkQ@^xp)=d&cJ0X^n4p?JjzzWw1D> zYvXk$g|qv!mYvp`aAEt*)nRL+_)}`u&)J$K>LFeKlZkDEB~OC01jFf@hI?{OEm{e5 O6@#a%pUXO@geCxOeQD+Z diff --git a/graphics/event_objects/pics/people/contest_old_man/8.png b/graphics/event_objects/pics/people/contest_old_man/8.png deleted file mode 100644 index 84e5690b7ea388a447e0a7d361ff74317e958b1c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 265 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p z)9&fw7$Pw>IbngmhQ5Boh0M&C3TnG6qN1`SCIo6kOp}_$mSVxxHGSz);|7UCPoF;3 z;HgaIIP4j}^THmv6A6a3IVqpyQy#=7KmIS@VDkQ@^xp)=d&cHzXPIu7mOu3}Xs++v z_*`egtoN&9($+N@gsqL@G-}^pbM@3r1-8TWZ0o-K4>-=m%fj$}fss$;&DmRlPGazM L^>bP0l+XkKDY|JG diff --git a/graphics/event_objects/pics/people/cook.png b/graphics/event_objects/pics/people/cook.png new file mode 100644 index 0000000000000000000000000000000000000000..66d77802cb6ceee39bc44f5a123f5cdd69aa8355 GIT binary patch literal 582 zcmV-M0=fN(P)er2o~l|HYKvlyiGQLCwwH zoSeN%N_%s?06}{I5IF$NVoH=bDN+ys|Ns90001$F0&@TW00Cl4M@0Xn2lB-L0004W zQchCuze~eF6vy8X$W%i9fxzVBTC{;^ykvR|2N zon&2dW|>zq9h1N2%ykW3LCqGm1_4yIxt#aI&L7tG-B>_!@p zv)0qaF+^f&a>4?|1buydhRaLe-)n7-aF9B|WccXb-fFI-4a?iw+8URvYhSu_=`|yR z5BGd)zw5nu$IA9^cUorV$#Q!Gi&!BRrdUz7<^G@KpW44#ZLr~n7AKchY*|7=fmv9P zkr|_u@T;7h9HFQK0a3r+W!~BSp`h*4rX9~q{V$)EoU^}q%?k6xgh z@NfBI@A1lh!omGT|ISCsJLLWS-}v8tk~o7pyW^+1E^|tN4rlOm^>bP0l+XkKS7UqH diff --git a/graphics/event_objects/pics/people/cook/1.png b/graphics/event_objects/pics/people/cook/1.png deleted file mode 100644 index 622e2b2d2d99a019f11d1c0faf5551631dd47155..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 293 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p zv)I$cF+^hO)_z^SLksimnsH#Y%a@J2Lk7l$BR{mG8 z`l|fx?*ZLN9J`Um=2?ERm7k6nn|b*T4+#FE#-yY%j) oW^y?RX-?YkVr{18rSshJ(;fxSxqC9m8t7aGPgg&ebxsLQ0FYL8kpKVy diff --git a/graphics/event_objects/pics/people/cook/2.png b/graphics/event_objects/pics/people/cook/2.png deleted file mode 100644 index b2c2231a223d6e675703a948954f5ace18c6e12d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 290 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p zv%u5EF+^f&a>4?|1buydhRaLe-)n7-aF9B|WccXb-fFI-4a?iw+8USKIDF|+PL2{Dx`HfLX{Qc!+>b5iK)13k+fq?Xv4 l)?Ho2FW~er2o~l|HYKvlyiGQLI0$* z)oOc-K~j{(_F9X*5HV7;q+)w>K{+`X|Ns900013rp2q+H00Cl4M@0Xn2lB-L0004W zQchCVBzJ$Uk9Q|u`Soj|Zyw3&g`fYeKB z3c9!XYelQHZhjMpdy2N_)wby+1&f6Ni3e{zblG!Z-MCm3$GLkkXjM{^{`*g)^S?K7 z)OyalecyZUd*6Hi3?aSfMK5~Mi(dRxtQNnC8Dj|VW6R`Q#CP&4V>eK`i(vDUXd)}; zAXY1jW!Rt==mHW55$dh%U7W{6p)z{`%?}eQou8yo&@Si304~xjYRFI0`3VwDPVIpteA0LB)w49?rAW!Xa(4f-s?0vKVCRBPkdk5zc!6?lx!UemCe72m+ zPQU_jG5KbyXs|25kS!J-Ll;Ga+Bq1^V}j)=9bbTkx(NS?z(=#m77DBsKt&fFSAe0; z3!s6Bh_M1&U{7T}M2s938?J)+VL};jDRrk$2RO00S}fHi*7X!C$^q%pb9!yFpF|O9 zx5!pqn8(D3eu%M0&`^j_Qb%?D;EXhI$`$b*82UHmy3&w2t?T+gl0*?^TeN#HkBN~Z zhf1ys4TT8h*TH%selsvYEFs`oGT&EE#epGZCLx&9B#KZ*MgJDej|x3Wq!aP!VK~2w z=r`&KBP|t_<8AMqgr;ev;^)AH%;COgN%$lkLY^ee(SbTA;*zioV>$`uo5>KNoDe0} zpVC1($+_7N8qCy*N8lT}XBx?~@JTvE(4fRKoP&kLf}F1m283xDGfVIj81e}ZEMR3E zXGJ~{F?}otDj92Tsm3MlcW}Mm@1%o)iXos04J8F($h>uCZixfE%*vUHBQZHpKfX2k zF7a1D#9lfMyvVV^0jCyS-_`H?gC8w%{SAO#U&d(=fCt5jnj~V+hPG=DhNXkpKaSG^ zClx=vvm9OD)vs+kHEc)_(t(+>9H=L724ep&;2i!H#N)gjfVC&1L~OXW7Fi$0G0~3= z3BADY+Sa+3P*33hhLFBk>H5b86wq2c!29{fKW5^Y8t0Fr>oJb4xA;?-kG1&cT|($x zDmjj~tGAzjy0r245Yi{w)zAQd*J~5iS65w|6+g@TRCK)`UUxpY`1+L1-So*1jD68t zzx_LZzTw%s_)EiYAFu$x&Blda+OEf@w5rTs4At)eHyh`h?Tu@JUI)7x(kG3$1J^kJ!TP=GA^bmNb2j}WyLsvW0000tG@5Ul8UmxT74@5?&_dyfKngJn-Pr)~u^S z;weR-+veT1ExLG*Ve6#iSsrc{z|9VHGrp8A5|F_xML>gsE8h5N;!NgPl lZ}BI|iVGqJ9}crH%->^p)ca!mGN4--JYD@<);T3K0RZ9VcFF(% diff --git a/graphics/event_objects/pics/people/cycling_triathlete_f/1.png b/graphics/event_objects/pics/people/cycling_triathlete_f/1.png deleted file mode 100644 index e4c8c78cbcfc964124445a52960b34ed88717921..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 285 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfvg8-ip*W#l~{$Jhl|LBx^Q;Mq{ z9se)cay6^E+c9X$(Qi@Rdj$-Gwk%1iE_SrEl=%PuKTwlw?mUoQ#*!evU3NsHb`v3i(x(X|gpW6Tb)~gjbEvnZ> zZ9T%`+3@|^s?cnG1@1ZVTVL^SVmSO4=p?1jl0W|c`QM;5;WMwV!aMC%42S3cUs1y* gXTr+!$AFRHl7>}qW5Qx*pfedfUHx3vIVCg!09ZwLumAu6 diff --git a/graphics/event_objects/pics/people/cycling_triathlete_f/2.png b/graphics/event_objects/pics/people/cycling_triathlete_f/2.png deleted file mode 100644 index 20986da62a6832871ae65e1ab2d036f1bda54829..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 329 zcmV-P0k-~$P)SU>NG4yu2KR&pvZTYXP!ARa$6AII@DWwA4ssCG6#C zX{j@j1Xu*i%hIw?1O&~?t1ci5Tr|IX7g<2*lDRUnfU~o)xw0>^fQhrY;mySMl=tXj2d_iiYk`~SE4Vr8%O|Nn1*2<%^^^k`1O5nur800000NkvXXu0mjfz9E-i diff --git a/graphics/event_objects/pics/people/cycling_triathlete_f/3.png b/graphics/event_objects/pics/people/cycling_triathlete_f/3.png deleted file mode 100644 index 5cfda5ff60ccca27d371a95b2eddd1147b6ba4d2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 291 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfvg8-ip*W#l~{$Jhl|LBx^Q;Mq{ z9se)cay6^E+c9X$(Qi@Rdj$-Gwk%1iE_SrEl=%PuKTwlw?mUoQ#*!evU&;e7P>2^Y006=uFV@e)h9{n#jOro zTjZ4SaOaZ$NB>WL$GC&xed_A?*W$P195x*VI!oVUnt{QG=k>o2G$>7I))V+F8rtyi letn1?Gyg0mwz?S%4DDMCk3LRz*avhhgQu&X%Q~loCIBfqcL)Fg diff --git a/graphics/event_objects/pics/people/cycling_triathlete_f/5.png b/graphics/event_objects/pics/people/cycling_triathlete_f/5.png deleted file mode 100644 index 8376cc00ea5013a8e75fdb8c46cc1109ac246de4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 286 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfvg8-ip*W#l~{$Jhl|LBx^Q;Mq{ z9se)cay6^E+c9X$(Qi@Rdj$-Gwk%1iE_SrEl=%PuKTwlw?mUoQ#*!evUi_!C*MTe*@Bjbr*V^#^{D1BfOg!H|@2hnXe9-^1OY6Xg=k{9j h8`*ssneBZT7_4_%8}UfqSqF3{gQu&X%Q~loCIAa!b}9e> diff --git a/graphics/event_objects/pics/people/cycling_triathlete_f/6.png b/graphics/event_objects/pics/people/cycling_triathlete_f/6.png deleted file mode 100644 index d99951529f363f517b5b236306a15ac162976930..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 287 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfvg8-ip*W#l~{$Jhl|LBx^Q;Mq{ z9se)cay6^E+c9X$(Qi@Rdj$-Gwk%1iE_SrEl=%PuKTwlw?mUoQ#*!evURhcVdeQ_z{s#P$|nBT*MkRu4rTCk^>bP0l+XkK7IS(O diff --git a/graphics/event_objects/pics/people/cycling_triathlete_f/7.png b/graphics/event_objects/pics/people/cycling_triathlete_f/7.png deleted file mode 100644 index a1c953c83b660dc6f6b321cf3573266d99a10aed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 329 zcmV-P0k-~$P)SU>M?ny}Y~tMWAwKM>vXtWvLOZ$V$r7(n4n-D=9Ba zON*S2B;Y6xRI?meKv1~6d@ZtotZ?n!yGQ~~y2?ei$O10L#ziK`0?sbR#k1~SKnSq7 zcy!MC{~yT=H6^cAACR?}yR2HZ0Kwn=#rM{#RjYRIhVr@pe~YbMwd(%={~I6z`}0!& z-*vM2T3-GeBJlG=z|X&Da?A7h=R*bVzrXqK?){nNf1v{WGdkvTEnxWB(FwEp|9=pR bAL23qI0I3gCevy}00000NkvXXu0mjfD({#~ diff --git a/graphics/event_objects/pics/people/cycling_triathlete_f/8.png b/graphics/event_objects/pics/people/cycling_triathlete_f/8.png deleted file mode 100644 index 63a6ebb0c374a7f32194e5179a0c8eb2ddab3cf4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 333 zcmV-T0kZyyP)SU>NFvy}Y~tMWAwKM>vXtWvLOZ$V$r7(n4n-D=9Ba zON*S2B;Y6xRI?meKv1~6d@ZtotZ?n!y9hpuldf`+Es}t z`v2OQ`>EySzaauYKLq^zdzZgFkAFT?;QsrY|6cLWEdL7?;GfYkpKAfb&yLOyP*eZ^ f2eJ77gIxvyDY8#i;@MYw00000NkvXXu0mjf4n3An diff --git a/graphics/event_objects/pics/people/cycling_triathlete_m.png b/graphics/event_objects/pics/people/cycling_triathlete_m.png new file mode 100644 index 0000000000000000000000000000000000000000..e2ae09033d461aab5cf0456e8b0e068682dadac5 GIT binary patch literal 1173 zcmV;G1Zw+er2o~l|HYKvlyiGQLCwwH zoSeN%N_%s?06}{I5IF$NVoH=bDN+ys|Ns90001$F0&@TW00Cl4M@0Xn2lB-L0004W zQchC6_Eu6Sv=K@j`scR9mB5Jd{#Zalr zDUsm{ahqIRsgYJhs=~!#Q&DcDJ60P|(%SV1)1N?vI9f`TB2XfRJ#ws-Ms5pshOw*c zeBYWa4QGG1_ulutc{8)Kgp6ubqZ-wyM)kjHrT$XP7(@6JyFy+@{D-bH_8pRk2)4L^ zR%FEr#CmC=2nX~UT|x#4Lcbe)f^|&PN^{rI`bk2kiyIUghQ-P{z;zm+fyM@1tdex1 zQ3;AzM}+=)Siu`i5{>Zk+B!6(#R>%m4H~Y20iCV|m(d0=q0?`IkFkyjMrp7BH#kHz zf?_48!UlO_>dtgI5SBooP;MBWV1m#G2L^Raum+`TOEAz7(Z3?_(d@IO8f(T-Gv&lh z5NL1%XhB3|SdA^Qhe}TnGjGZru7LHEgl2O}`S!UOPwcPMo4X2|rp@YV0jIe~Z|{$j zG{WI^w!)!~i5c^C#;(CY2|}~qGR@N<&{;0)2?+Ft&AAHXZkeX}PM)L@ZcmO!P{+iK z={7k>fiR(6n9gP&-H8JbPjD_grDqT99B(VUy_=n|&yh4jo9*%F5bBt4CUaZU5s-(7 zaqD2xa+HHMDa3(-u4~!3S+HUEZ1zbWUdez^N8$(}zyZk#M0l39m2U$zpCGh%WsCQz zO5o(LPPyY?z_q7Azw?=Etu7KnVCMNF+or2CbiG$-VVztCiZH#2Gn{14+L)Z|m^l zUP!->{UrY7JqrEhmcD)7h6YAg#CS|RzrUTka9@ZA>HQdIe(Z{eP|tM5-^YaXyU`4) z(Xro{`0GaNCmZ<_<5pq;fOl4_<==1dkkz|N-%RiCS2V20C%&^83huoBjIkGfJ3rhL zd#xxu#xDlGeufPI?zFGJCjV<}(|^aHsu6r`Nh2`wcKRkUt?^K~MqQ`QxZ| z^rul`kIU)(N9prPy%RnD^@v9$)+;OA_wT_#V{L2zu(2>#K6Qn3=H}b4)PGXHfAuFu n!T@41_`nSzUa|kAehB{qXg@^h#a3s?00000NkvXXu0mjf8rC1A literal 0 HcmV?d00001 diff --git a/graphics/event_objects/pics/people/cycling_triathlete_m/0.png b/graphics/event_objects/pics/people/cycling_triathlete_m/0.png deleted file mode 100644 index 107589cbc47e898628a9bb72102d2e3e4c79a59a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 290 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfvg8-ip*W#l~{$Jhl|LBx^Q;Mq{ z9nYSPM?CJ?%Y#C8WpxrL?so=Zu{a(z{iZStMfaoIdRx zBTzHX`&axQ`R1VR5PAb{P+KVy`xc6V`Kfl^ZYy-OvM*if7LDEGWhee k|5W+|$KV48_=Oo5IOdujtX8rt1iF>M)78&qol`;+0CY(?a@w;kGf!0ItvwaB zElaoQ{G#gBSwC-i^Kmf#-tF)~Qt`lpPygTD{jcYdw&4ZPE>2Iz=E5XZ9bsAQCcQ~$U8r&TIS*%{1i_fC zMbAn^7#&xKp4M03?ufX%w_9hymy=#U-?6teY~H+a>L&Y1ThFPT3)|+wB@uBa_RuBn z2`qC=dP7c~p13t)XT>&U&N-Hk&Tm*$d~K$2fZh53^IwZ=SFZ&*(B(nR-!*@%i{G7# z*!qXx<-zTCy>0u;->;u_d_KSEj_>(5_doxWx%!?n>yKdP&o{Xx_O-Shyz}k9eaF%N cK!TZ}(ZbLDUCxFDaOY3@29=J!2*sm&f+hAHfkOC m@Z4T&ej~dtBeT5^1H*%drVSe6_rC*O%i!ti=d#Wzp$P!A&~jb? diff --git a/graphics/event_objects/pics/people/cycling_triathlete_m/4.png b/graphics/event_objects/pics/people/cycling_triathlete_m/4.png deleted file mode 100644 index b065a129450201d0cef069c3749edb01fb87a9bc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 292 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfvg8-ip*W#l~{$Jhl|LBx^Q;Mq{ z9nYS!}VN2oFCRj zZPUuW%G%O!`R>!ztKO|rV43s(-rnl(`#7B%j{bjt_jkO^gf)e~{{Oe1#Kb0+TK-r_ zSw&Rm*wd#^&z*?6)5uglaqhYQd-uq>Hhlm0|Njc6-~a#YZ_qhVP=D_{zXsDETl)Z3 niGP3GpBjHypqcQXos)rq?TmF7ql`~I(6J1ju6{1-oD!M<;VF5! diff --git a/graphics/event_objects/pics/people/cycling_triathlete_m/6.png b/graphics/event_objects/pics/people/cycling_triathlete_m/6.png deleted file mode 100644 index 7f126858fec9fea18dfa164b8550e5b645683db9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 292 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfvg8-ip*W#l~{$Jhl|LBx^Q;Mq{ z9nYSVN2oFCRj zZPUuW%G%O!`R>!ztKO|rV43s(-rnl(`#7B%j{bjt_jkO^gf)f#{{Oe1#Kb0+TK-r_ zSw&Pw?dj8}$4*4OV`BB1Ft_e|b>&}nkw&1S;vB>t{Qdmjyo=%gocZ;V0W4K@3nUI6 n`0(CdYkniUFC(+P4+F#0{WedyURU!1UCZF<>gTe~DWM4fnh4AGdFoFMV2A^YkoRt=`pmz;J7h=iQW=yeF&l=bXPUr37T>acTjZcb}ed7!}> z65Ohzps^<_RJW_)^R3&((a~Ynl9PmT~%mntA{2tFM=x*#&eQW5mu~vGG3%;) z$ARtqy!Zdjo4GqnuHG)>!N1?x|KHv7kNzsIbzr{Ktn+aPKIoe8JiGD#zoX7SAR)tW YK_`%L#?5*^ppO_lUHx3vIVCg!0HQvQAOHXW diff --git a/graphics/event_objects/pics/people/cycling_triathlete_m/8.png b/graphics/event_objects/pics/people/cycling_triathlete_m/8.png deleted file mode 100644 index 1168c440bcb0910255cefcb7e3ad7f1fee2d2396..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 331 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfvg8-ip*W#l~{$Jhl|LBx^Q;Mq{ z9nYSacTjZcb}ed7!}> z65Ohzps^<_RJW_)^R3vV_}|~>*ymo2U%^nHm0?%SczF8-gBj64jT?Ue bi9!Zen}FTiUcS0OPceA9`njxgN@xNAGklYH diff --git a/graphics/event_objects/pics/people/drake/0.png b/graphics/event_objects/pics/people/drake/0.png deleted file mode 100644 index 8c12cbe40e1d1521124ba04203047144d1e353e5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 295 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p zv((eYF+^hO*8YurO#wWv))Ndq3GSHuVFvHST#;zynMMO|Q`Q*%H4D#6KRB~%>f-JIflAIP!K;$i zm_~X{IT|aXR&`HW@Nq}e#e37YWrpUt{tIDrOO|Q~bC6-;K6OXh;tOZxx{#{3JKvlt r+IxLo!*=~Vb;*V*At&hv&zt$5$9PYu-|1_4yIxt#aI&L7tG-B>_!@p zGtJY*F+^f&a>4>t4gK~DZ{FV%ZICQ|f6tcPdk-_y0+ni+j*nXy4kl=@8ahcxM4V}K z^6!?Fh~QS=|N3)t zEdT$vZ@ye_5Rh2#js0T0k3_^BhaQmymZ_Nz6ZlNp?REc0-(nYFR$)yt`1Ak3fBBQ_ Z3`Ht&m#mL#zXrOH!PC{xWt~$(697dHa0&nb diff --git a/graphics/event_objects/pics/people/drake/2.png b/graphics/event_objects/pics/people/drake/2.png deleted file mode 100644 index c116a283e5bfbe6822ea9423d4012a08d319441c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 266 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p z)8Xmj7$Pw>Ibnfpf_{V1t9i~5Z{FW?jBq%%`}tFaFwF^H*U4!7uopQ}b?(6WcsZ_= zHse44|L@;pVj`mP^wFpP)s`MxC-3{DzPm=D`RUw`%9HsO{?_&PemjURm6IwgGA~%H37Ej4(XPIA53``&E5aU-o=_ZL|6pql01jZ2fyphfGh@2 LS3j3^P6S->P) z6BH)OiGw}>000+sMObuGZ)S9NVRB^vM@&RePDdbiWpW@hE;Mn4q~QPn00?w&PDe*f zL^A*Y002sWDIWj;00d`2O+f$vv5yPer2o~l|HYKvlyiGQLCwwH zoSeN%N_%s?06}{I5IF$NVoH=bDN+ys|Ns90001$F0&@TW00Cl4M@0Xn2lB-L0004W zQchCsF>b;@5JjhOc&r7N|4C@S>BqNo9(_!!u0E{D_0gPX>tlKB& zg+Bk*v}1u#&pXAvv%x;&0qnY57sLT^%7CNnrsi&3cq8!I;l%&a4?>{o$k}@P) z6B8vI!9+s<000+sMObuGZ)S9NVRB^vM@&RePDdbiWpW@hE;Mn4q~QPn00?w&PDe*f zL^A*Y002sWDIWj;00d`2O+f$vv5yPer2o~l|HYKvlyiGQLI2et z-kcC>ISA%bV#NS4VgMMNVoGW;F);ub|Ns90003V0bYTDh00Cl4M@0Xn2lB-L0004W zQchCJwA&?o38yWmnvpP+}(@9sY7q!S|gw_l9;CzFao zlo<|V{)(lcEnrw;PlcE!bxc{LWEK&rP>2{ySydzzNtMA-u@Ir55@A>hspAYxLd2md zKI@3`5UbO5oYu^TP$k9=PFD$8gYLN9N_{&rLYC0D-DgH^H5q*j`<~1M6ijqB?58JD zMC#h@_1tq@fMJm&%XL!^WEHq>AeogBBw9qw5{>XG2#$!kU<_Q-x?I|(!OiM$dR!V7 zg&~}G^CDKE3k)BG6+Y2jQ3{jO`#gUR|DNig)WpMX#0UD!FmRh7>tY=c#y5u2H2}enRpF2>-7|3SuYS5GiQY`6? zzK#qG8~eHcB(ehe1_3@HuEj@}{J*;8|IsP;rW98@I{sg>LSDe?dRf1oDW+wZ6}OUYu#@A$g%_tU@MV|`#>-x*}TGhZV$Hn4J`-*;K3EybEZr@eJL zRinQ^_j9@+(~;D`6E)9{FFkUmX2lYb=}ZlupRTjglXz|(WTz_;5_+=9f<-QVKku&M zV~=nDd0Kid!R$qBfn3wW*)t4HYizT84w_Xv3bY6q7T-2kk1JVvbT@n1{=<@oWzQAd zejm}J|8;XekLzVcrKDL$gp*bpEM;i!Y2tjB;i{*&PJEk^uFW6D@*_+&dJ?kNWrLpV z3}Ro!-FLu~q0HR(t==WCV0O;_>}d0bWYx~(%ta1|n*aHf`*B8I)_gTe~DWM4fB&z3h literal 0 HcmV?d00001 diff --git a/graphics/event_objects/pics/people/elite_four/sidney.png b/graphics/event_objects/pics/people/elite_four/sidney.png new file mode 100644 index 0000000000000000000000000000000000000000..15892f926c4140cd0f11ceed21b3d98cb4d97d4c GIT binary patch literal 558 zcmeAS@N?(olHy`uVBq!ia0vp^20*O9!VDyr{d%Skq}WS5eO=ifaj*yrnyvComj?=o zm$*ih1m~xflqVLYGPwJ=0F6;7OD$3`)-x$=UGfm9grlUu&mAaZ3}iESHE4pgv7|ft zIx;Y9?C1WI$O_~e1o(uw79U;m|LT_iN2lDIQe5rm`2VWHy*UC|mK@K5l8!PMCNW6N zN%G1vG&E$8`2YVuP*dEul0+cInB?v5@_#A&r=uWFNswPKgTu2MX+XBCr;B4q#hj;; z4E+uph_uy3}j)H!dKc(N#SzvZ2@MmFHRL-@3`ENw%T*c}e}4%(&5 zC99YZOPKzoPiAMYCqVj>ZW3UiWA?tInW zClaES@^_n1#leZMmTHS~-tz8P_u&zP`$}j3M;i0HB)+DII9TixushbWA%yXmZsEq0 z=CixE<&{o)@p6yi)|kDv&LX=Or28$=@(9`NWL)FD|NNJO-RBhJUNT*E|JblFN5CY- z$36W;fnM?2er2o~l|HYKvlyiGQLI0$* z)oOc-K~j{(_F9X*5HV7;q+)w>K{+`X|Ns900013rp2q+H00Cl4M@0Xn2lB-L0004W zQchC+fX>kv^tu{wrs}`4kh(IbTd<5;ot&9|RkPYtA{=1Q}0xf`moPlQ`7^A}R}W zn*3`2YM-Yjk2y~`23%ji;K@`Ah=>Xc@z*-m^VE!!B#skYcv)}E`9uqzib_I7__gz} z^U%iNBu-)+8+FlW&!>feh^Vlj(P?7s+J=y4A#5<7)f@6Sm4J$fP}7n@76xTyXUUy* zS_p`!Bvgb$t94*?0p7}-8$84w<_aw!A}Z7jKUvmZWE-Jek8G%(SypeX1yn?Y1C zczh{?azYdYpPR2QwBV_zBvd?zMp$7>5iUog(`GBAf=$ALG^qMs26aO^UlK;Su;5XE zZ=M9liZbZDv-{>>K}x6y>@L9i$P}y5=;ZvcdqD-8go>~l{0xE*x4xoz9|T`|uiSO8 zzakASgL#+Eha z<)Y!^abF43%0TcR%)>8x#!{1cnqXpwz*LscGi(8v9Qyz(Ic9Pfa~STF^CG_p0pwpr z5r4A_PhfC9j{`)s4$T`a9dvi%L&l6gEzWT8(0 O0000fS407_?2HEE}7cvZ_KrSwey#n_-Wvgv6ZQ&^bN64MCg5q@|wlPby(#w80fs_t76yh5>z%4%H<=UzUCZF<>gTe~DWM4fi-&SK diff --git a/graphics/event_objects/pics/people/fat_man/1.png b/graphics/event_objects/pics/people/fat_man/1.png deleted file mode 100644 index d5d81dcdb25006e5ce1da60c4554a4bb63e0a329..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 290 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?EWBmBG{1&t;ucLK6VAw0%ne diff --git a/graphics/event_objects/pics/people/fat_man/2.png b/graphics/event_objects/pics/people/fat_man/2.png deleted file mode 100644 index 5b99f60daf772fe4ca153a73648bfb773ed953de..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 292 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_??sVU7v-Fu=o1dR~X)E5q)Xsly-`W0tI4VSJ=4_<5}KNlFPS8H^t`-|DZGuD+}j%)#we+selBLwlbsEXiLUO) zRaB=&^28WB@Cb7xcTLfS407_?2HEE}7cvZ_KrSwey#n_-Wvgv6ZQ&^bN64MCg5q@|FcJ~CnRWid+Y13XWjKY k?FVdQ&MBb@0D~iO-v9sr diff --git a/graphics/event_objects/pics/people/fat_man/4.png b/graphics/event_objects/pics/people/fat_man/4.png deleted file mode 100644 index 846d52b998f725ae08a2526a2db4ec757da686ab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 287 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?2HEE}7cvZ_KrSwey#n_-Wvgv6ZQ&^bN64MCg5q@|mEOOzq!p5uYYhx>DY4rTCk^>bP0l+XkKNA-3* diff --git a/graphics/event_objects/pics/people/fat_man/5.png b/graphics/event_objects/pics/people/fat_man/5.png deleted file mode 100644 index ee751217ffd9152a191af82868573ffb000a8e1c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 284 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?GkD=sOn>$)SQc0lZlig65^L;18I1y_x4 ze3FgD8aEoQ|5^TjHvfn4Q&ZYh)jMmqbv6~OZ=Jw#nnBf2cw^qgPECe2K_Z+hgCbWj zlv&1G{nT0O_wQ0E|5V>>(f$8UUW;98yIc9eZOw9)HS^Eibz?rdQcSXt?Z98gi%*ho gh@_np-|uceaeYYG^8EWvKvyz&y85}Sb4q9e0DI?idjJ3c diff --git a/graphics/event_objects/pics/people/fat_man/6.png b/graphics/event_objects/pics/people/fat_man/6.png deleted file mode 100644 index 8eb76d809555cc43fa3628cbc01f02976d44ee0b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 282 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?ced)V5{R_66ziZi9QB^O^p((oRup)cfqRaE%_fS407_??sVU7v-Fu=o1dR~X)E5q)Xsly-`W0tI4VSJ=4_<5}KNlFPS8H^t`-|DZGuD+}j%)#we+selBLwlbsAFUc8vG zWQkFCV>VkyB2%J|VbHgv2T?aKS{}Wb!pQu7?M&nAyLN~g7+kq$Tdbq|mx=lP*H53e nd@5RS5@`6$tpUfG-m)fS407_??sVU7v-Fu=o1dR~X)E5q)Xsly-`W0tI4VSJ=4_<5}KNlFPS8H^t`-|DZGuD+}j%)#we+selBLwlbsAFUc8vG zWQkFCV>VkyB2%J|VbHgv2T?aKS{}Wb!pQu7?M&nA({_j(Y|EyciI2| diff --git a/graphics/event_objects/pics/people/fisherman.png b/graphics/event_objects/pics/people/fisherman.png new file mode 100644 index 0000000000000000000000000000000000000000..ab31a44addcbff2dc7598a0e3e48830a1a60223e GIT binary patch literal 887 zcmV--1Bm>IP)er2o~l|HYKvlyiGQLI2et z-kcC>ISA%bV#NS4VgMMNVoGW;F);ub|Ns90003V0bYTDh00Cl4M@0Xn2lB-L0004W zQchCBjE6vuB62)yVc6jbej$WxaHS*%2N=jc${DTPwuF|mikNob*_;`-j5B^lKYboUMZ>78`{ z-@|tjA)B!on{oT7P3=@V8L1MxpHB;xD7lM+gEX>8EwsXC8 zQzeAY<%GR;eYL|2K}obEG*Ot7Jm1#!yY~qhLCNRPqG@hdXT;6~l7^j$Bn=SWpfIO8 z?VIM_&{d}xG;|4ZKmqGBfn>Foi6pC;FsC}9AHUO{t4^XMiF**FG#G{7Tp(yEQ<@|c zYe6d$<~)x5zz?E}<1;@DgU$sZ{dNO3M-c+%s!WJ1Wg%J!txTBHrnsHdu;sQIaKdZ@ z&zBH5uIdO8OruEDD1-<44vR3T-*b>k?Dr-?WGS*EFvYbh-atWHw-kLBMe_W#aTj;x zc_Mwi(Gf3eTi-(-1t*vO0C?tkodG6v>r`~qn{-V}G3zLj9m!gDq&+d~qNBKLil7&d z-h6uX5ZI*jJ&>qP+Creff&UT-dr(0U)<}5U(+^HaVYjrWp@Ssae(QXHRuC=@zhV#w zUPFNT5=5@Zrvu~>2!ZLhCOsSj&p|BK{TZiUFen|TW1L9G96^3Q5GC9=c)X(468@`& zLCG^NZ}6GMm#K*Z5B2An{Dx{j_{tiyFmOirt>0iRzb!i~*V%=f{tKSyTntGomJ)# literal 0 HcmV?d00001 diff --git a/graphics/event_objects/pics/people/fisherman/0.png b/graphics/event_objects/pics/people/fisherman/0.png deleted file mode 100644 index 5e963f8890da6a9e20ae437e738bd29bf59dccfb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 302 zcmV+}0nz@6P)8IuY0000mP)t-sbH$|p z)wKV`l-`tcdqF|})ga!S5NbIH=2BwC05M_!7@T5CYB4b}02u%O{{R30UiNfh00001 zbW%=J06^y0W&i*HtVu*cR2Y?GV4w%!TD58cm|pkp-764lMc=!3FS>w?l^sAZ3&{96 z6A0!58NWbk)-y1$$Xl&iwfLh01B;3=5I8w7FgV+P(*JA%R8wN4q@?W5z`*`$iLtTQ zx&j9Fm#fy^S~ahLp>Ad8jLsReo-;VDn$gkGxk`nBWo75QmosJowO7sPd(pWZsJ%3D z&dI6aKn8zk?zPYlAjY5jf6s#$4F5my|3`8;01TE!+%1sE-T(jq07*qoM6N<$f}hla A9RL6T diff --git a/graphics/event_objects/pics/people/fisherman/1.png b/graphics/event_objects/pics/people/fisherman/1.png deleted file mode 100644 index 5bd83e7e1652f8d1ed1842d0fe7500ac60a0721b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 286 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ znd9l=7$Pw>Ibi|&gQ%@pj5FeXzPqa%vE)9H@Z*2>)m2~rH)dV?&)yWz!}DgnLr*Cy&l~;pyL)#R#W6bH z?K(HpIK9L+y`X8v;zI|R1R1l|M_s&lajVRVy(U>#S1o<$z*e8}ZtDepg=6=B*S~L; i;Q4R=;lF#4C4-7>P|x&ZeG5=N43U_coUnlXLDbeP#u;(n-`&*~$aX!xyZrsG13fd1t#&zRrJb9@nY5;Qd(pEq zk*^(IbnhJgQ%@pj5FfCzq_j~knMVZce(zqhMuXi4hGyOepm`~JY$yJ?~rxP z*kHqn=(SN>e=KHZ?(Q-au&^|+u)JM=>3`0l0}o=7mMmHFhA-rER_Dfz*LN|oO`E>@ z+P$c+>liW;p7)%S)N?qtN>Wx<*NabKVx|6a31-PR#=qi9b}_6?=$}(uRKIbnhJgQ%@pj5FfCzq_j~knMVZce(zqhMuXi4hGyOepm`~JY$yJ?~rxP z*kHqn=(SN>e=KHZ?(Q-au&^{Ru((}+>3`0mLk9wqmMmHFChyRJe_5RyH(s}5XZu#Z z`r5rHQ~nbLFXvpeWX@3Np5*TC{#;Ap@Qvbo-V->QPxtH-pUdjNR{eC&6`!jJUk5UD{bSvgTe~DWM4f5UX}6 diff --git a/graphics/event_objects/pics/people/fisherman/5.png b/graphics/event_objects/pics/people/fisherman/5.png deleted file mode 100644 index 515f9c6385454fa601fb0addd65595d42b39f3f9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 281 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ zneOT07$Pw>IbnhJgQ%@pj5FeXzPqa%vE)8c@auo})m2~rOG?bS{-3=m-obQz*xkLmvtk*UPoIt~f4^={ zID^T~;%8?h^;iXpqvpscCFVdQ&MBb@00cpA$^ZZW diff --git a/graphics/event_objects/pics/people/fisherman/6.png b/graphics/event_objects/pics/people/fisherman/6.png deleted file mode 100644 index 83ea1ff57f56b2c8b27cdb47d65a2b7d79074a54..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 281 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ zneOT07$Pw>IbnhJgQ%@pj5FeXzPqa%vE)9H@Z*2>)m2~rhe}9X`_JAKug3Fcec0W-yR+spGygsvS^j?A z9QKqQB|x>z8Ajb*>{n!x{X00CPj~h8=}mb1CUkX}t}cUR$N&5+nR@Co*`t`njxgN@xNAurhLc diff --git a/graphics/event_objects/pics/people/fisherman/7.png b/graphics/event_objects/pics/people/fisherman/7.png deleted file mode 100644 index 6f886b92e752aabf491e739fc2632cb3167a33af..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 273 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ z>GyPT43U_coUlOqLDbeP#u;(n-`&*~$aX!xyZrsG13fd1t#&zRrJb9@nY5;Qd(pEq zk*^(jKOR_LwT30Lm^zhC6Y)AnD%?8?^v_67_LSO3{= Uo#0*l9OyI#Pgg&ebxsLQ0Bq-TWB>pF diff --git a/graphics/event_objects/pics/people/fisherman/8.png b/graphics/event_objects/pics/people/fisherman/8.png deleted file mode 100644 index 26826b5e2014d05ba3365262fbf44186ace0f273..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 270 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ z>G5=N43U_coUlOqLDbeP#u;(n-`&*~$aX!xyZrsG13fd1t#&zRrJb9@nY5;Qd(pEq zk*^(fS407_?o6Z(T;NCCisCZC}RRdg{<6 zuG5z!C2m}HI?Q@hShk^Oi&NxMr3oRwTq9G37wCN}QB_TzP{t;noGiXU^qZdEd`Bg} zZRPLd!Wg+U{@YF~zJH>z@o385|Nr;TX)KDFVdQ&MBb@09dqgkN^Mx diff --git a/graphics/event_objects/pics/people/flannery/1.png b/graphics/event_objects/pics/people/flannery/1.png deleted file mode 100644 index 83f1d9c9c7d3a074bbef6c72658d27ccd0a76774..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 294 zcmV+>0oneEP)8IuY0000mP)t-sbH$|p z)wKV`l-`tcdqF|}q_ov)dy7F*l*RU1i@gvrQnaLEdvifKIT-){{{R309c`Y+00001 zbW%=J06^y0W&i*Hq)9|UR2Y?GV4wqFadBXADF8CuQd8W*(t!+im$Wpnh)Y;nT51VU zNm{yFN?96EsH`+CEgYzZB|SB~G_1^lfu$@h|65wR0|UeNZ}s2v>w&uXzy1H8{{dw5 ze;@!`Vf+98WuOuUC)>MsFRK6rl>gqnd*2AC-DK_EySJQya$YNE&YZObsD^81N5{+s sV8*PK5XKbWE1n<*!`chHw~(9;0LGa-X@OQ;7ytkO07*qoM6N<$f;J0%2mk;8 diff --git a/graphics/event_objects/pics/people/flannery/2.png b/graphics/event_objects/pics/people/flannery/2.png deleted file mode 100644 index 8c96c873ecf234f4bb1cba6434006ea9ee75d9d4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 264 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?4wh*4A6T6n~Xpr#RrKPF2&w;Ibqi5Gi)(IE&j-4x4H2W#DlOgSnWzJ{D zGds$TNFI7n8Z?u&ux~Txl#NG<8Cy1P5(Wy*WEI`Ho9iYsgT1`!vyLhJIzSgOc)I$z JtaD0e0sxx5W*Pth diff --git a/graphics/event_objects/pics/people/gentleman.png b/graphics/event_objects/pics/people/gentleman.png new file mode 100644 index 0000000000000000000000000000000000000000..5ae953c5e013bc90ca8296c9c8bef19b44892899 GIT binary patch literal 861 zcmV-j1ETziP)er2o~l|HYKvlyiGQLCwwH zoSeN%N_%s?06}{I5IF$NVoH=bDN+ys|Ns90001$F0&@TW00Cl4M@0Xn2lB-L0004W zQchC&M5!|o zbt0buF(VPd7s$X4vaKvE$ahMV29U5%5eyxph&8p$``pELdL#oY>O17obAO)S-T5wz z-PBF}r)5v<$u|AxO2Sxd(_Mg_;3NukfbWZIeg|MD_&w)eCeR?#s(l$~f=u9A{f5_tbSesOppOAl*Qjp8!xc; zzUTFE`iI_re*<8GOkl1ok?pn=(0(7vtjAp9YXX3K0;R*2FFmgd50xb_S38JL-h|P_ z4ie5qL?eeC)wu8TDGeA3Uj+exEkhB+2?S3- zj-X*jzp-H_R2!-JKR);fidLflLCHZ49WDUs!ja-W5lDLi&JZB<8ykv9X>su)-w!ar zZq?CY6Cl1vpEo2BwnQN92?#%{CTeSmsJeJ-l{k#UCFv@NMoaX}TpdKO924oa>!8vj zD4p%Q9PQ%szB@1_4yIxt#aI&L7tG-B>_!@p zv((eYF+^f&a>4?|2YU}xGoIP8`TMs>j>li*44TW&%`{ebEZUxa?!}y);zw>&e}9)N zaJbxDASN*(LGa?<>hF^lGc$K@x};vKs?5&D_T2sby_Yi?u5Nf@d%F4=!=+N)n>yl4 zUZ0B?u8IuY0000mP)t-sbH$|p z)wKV`l-`tcdqF|X&EA}xy-G@ZbG-mTdjJqQ0L@}blsPF<5CH%G{{R30F^B?l00001 zbW%=J06^y0W&i*HqDe$SR2Y@D&#?-^Fc1dd8wyULPtw&*=;Y>TUqIX0Ezc6{i^!#9 zF1bQcwfUM1vh6D+rOEyk6K~Gy_f+QNOvI q2W`y~F`KX^_<8jaur2xa^TG$kUQid)sf-o?00001_4yIxt#aI&L7tG-B>_!@p z)8*;n7$Pw>Ibng~gS`i;8PDw4{QX-b$Kx+@2F>N?W*VzI7Hv;I_hQaY@gp~?zrV{B zI9zTn5W{XXC-?omy;6KB7B{7rwk~6qtb0F2ZdRj2PUZVaK3ooLJC{mMZ}v_5Xjv?N zCPK1UJn8zW&AS&)vwGK` Px{ATm)z4*}Q$iB}S5a(1 diff --git a/graphics/event_objects/pics/people/gentleman/3.png b/graphics/event_objects/pics/people/gentleman/3.png deleted file mode 100644 index a023cf3e4ddb00338e522530554b72cb053c5dca..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 286 zcmV+(0pb3MP)8IuY0000mP)t-sbH$|p z)wKV`l-`tcdqF|X&EA}xy-G@ZbG-mTdjJqQ0L@}blsPF<5CH%G{{R30F^B?l00001 zbW%=J06^y0W&i*HoJmAMR2Y?GV4w%!y})|`%(%1n_E`wy^d2yScg~qJCqZ(zXU^!H zxfjIPd-v{b5W{yj5L{tkU=h*1d-sx~0|Se)(kFc-BL@Zs=ST0}>6rl4u;e|_pP8IuY0000mP)t-sbH$|p z)wKV`l-`tcdqF|X&EA}xy-G@ZbG-mTdjJqQ0L@}blsPF<5CH%G{{R30F^B?l00001 zbW%=J06^y0W&i*Hok>JNR2Y?GV4w%!y})|`%(%1n_E`wy^d2yScg~qJCqZ(zXU^!H zxfjIPd-v{b5W{yj5L{tkU=h*1d-sx~0|Se)(kFc-BL@Zs=ST0}>6rl4u;e|U=)Mh-a@u=q?QW1=PIrJNgBUD#&+gt2apC{} l_aScOKXV@H>i-`Y7yumzMSrTkd8IuY0000mP)t-sbH$|p z)wKV`l-`tcdqF|X&EA}xy-G@ZbG-mTdjJqQ0L@}blsPF<5CH%G{{R30F^B?l00001 zbW%=J06^y0W&i*HmPtfGR2Y?GV4w%!y})|`%(%1n_E`vH_iiwQcg~*ECqZ(z=bSln zaxaK6^URr;36rdXR)YP!B0wCjVSz229 z1(4#q<>hz5j5BA>oCTTVduI3U+aLz->EHWrtAH6m+d&M5-@DJ;bpSE`?*9*Q;orL- eAa3UW41_4yIxt#aI&L7tG-B>_!@p zGu_k0F+^f&a>4@k2YU}xGoIP8`TMs>j^yuo2F>N?=3Q2IEZY8jj%9I?euv@bGc#u< z96LADIGtHiXWQ<^2b-9gyKlxSc$6h16mYXPi7b%%cIC>34NMa(Q!_JPmOJ+Be)_b$ zu}d=VzGd+1_4yIxt#aI&L7tG-B>_!@p zGu6|@F+^f&a>4@k2YU}xGoIP8`TMs>j>li*44TW&%`{ebEZUxa?!}y);zw>&e}9)N zaJbxDAcoy&PVW1Ad!_hNEN)6KZC%DJS@(X5+^j~4oXYo;e7GFgb}p5i-t3$9(Xv?l zOoSx!*6gQ|D`LZ^ylYtcFV66rE%T-??_;MMr=Me%{8Rq^o@KGT%J=z=-`}yX*!yhT diff --git a/graphics/event_objects/pics/people/gentleman/8.png b/graphics/event_objects/pics/people/gentleman/8.png deleted file mode 100644 index 85163c9ca6d9d8cfc9ed785e1b402ed2d404db43..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 276 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p zGs)A%F+^f&a>4@k2YU}xGoIP8`TMs>j>li*44TW&%`{ebEZUxa?!}y);zw>&e}9)N zaJbxDAcoy&PVW1Ad!_hNEN)6KZC%DJS@(X5+^j~4oXYo;e7GFgb}p5i-t3$9(Xv?l zOoZfS@ucggHZNZ|ZC>an)|*GGzjbVUU#sx={Y-1Ua>bs_TG}0qk6|;pz9bsUHx3vIVCg!08Jxt%K!iX diff --git a/graphics/event_objects/pics/people/girl_1.png b/graphics/event_objects/pics/people/girl_1.png new file mode 100644 index 0000000000000000000000000000000000000000..6a3a1cf32748e9ce3469b6baaf07a53eaad1cf49 GIT binary patch literal 825 zcmV-91IGM`P) z6g3AAFpvfS000+sMObuGZ)S9NVRB^vM@&RePDdbiWpW@hE;Mn4q~QPn00?w&PDe*f zL^A*Y002sWDIWj;00d`2O+f$vv5yPer2o~l|HYKvlyiGQLI2et z-kcC>ISA%bV#NS4VgMMNVoGW;F);ub|Ns90003V0bYTDh00Cl4M@0Xn2lB-L0004W zQchCV+lsI7woB(w9lH;!FzG32KEEvsD}~@hRg$oEQ|R z2Le^32&FhnvXn<=aS@PZ@k;cSKou!MDNZwcn`Uc0SuJs74f!Kn!dpv$DpG|db^Ebl zJlL-J2@@Xl(rD%Q^GSgs`a_t%D5%@Ure$CdKVp(%Q0t)xssy%a80KE23MKVzchhRy zYdy!L6koVc+Z&q)l>$Yi3MJteF-`IY?&qTJKqI7U<#$q`h*Y5@-1|<*^DBTI&)MPM zND1LA1*%9DN&1T@EVIe{5ecR!ByA%jf*U>6bK}QNJYG!YCIW--v6U{Co7YAmR zi~BVzLIJiKiXzX^EH2_br{`2cNsYV;!*|5dNDzi2f&-D;x#A)WrelBxMFF1F!+t9E zV{hTW>?7rKFr!Zdsn3{C_k_T+MuIbnhRj%snQ`IgLSAK%#(r+sHtczo{V-QC~kuo|AbV_D61;(=}T@o%4Q zT8m3mNCOI`*7)6HlF*+jwi8gtn&SZ>G{hJu|ayvlvo#MC{t(QGgDR43U_coUlNDN42=ud`srEkMAstpM7Cfc+A&PD0bvV?Xxp^3eDfoytH-L$nC%; z!5~@g@Fh~=vEGEzZ|_*y{_Rfq(AfCUzT+SNm3N=yIbtLvB0|#6y_oaz$$k3sZF={0q3Ns&>}#VAY~?z+m!W%_XVBO8 S^36bpF?hQAxvXH*GKg diff --git a/graphics/event_objects/pics/people/girl_1/2.png b/graphics/event_objects/pics/people/girl_1/2.png deleted file mode 100644 index 4bea7b7ca9ce8894b07270226f497a8c4762898b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 257 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ zsrPho43U_coUlNDNA-867Q5nSIvvk!i=UmzoNz%_A=%vH#ksk6mme%DPi;t2c-q&r zsr=wCnbcNA9`)F#-P;t{x;Ji|c=9g4!&SXw$IAaV`=orF^IKl!fWhG-nM^m<&Ggd} zaGSZ=)2c=A5m#zUTbpQu#GA~_mkDf#SA9M4j+LQE+blEtUh00JQy4s5{an^LB{Ts5 D#IYC09;Je-wyJEI8kM7n!JM)g);n>{EyUX8OawpB%S^SM>!oliqeQ%#` zF4r^oa7&Aeiz}ARkVXF#SCho_UcFOVx0$xa8ioZKeM?P92#m|g$uVU-VKDRMBcq#) z8GWbENY2$`bzrNGbnl*IJt1(Om{bx^+LE?5$0c6Q&X*6qi+r?6=8?g=Pz51|$7_wQ UZH!Ev33MBSr>mdKI;Vst0D&rNS^xk5 diff --git a/graphics/event_objects/pics/people/girl_1/4.png b/graphics/event_objects/pics/people/girl_1/4.png deleted file mode 100644 index fb940eadbc6b1eb0b1a0dbfacd686ce16c468660..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 277 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ zne6G}7$Pw>IYC09;Je-wyJEI8kM7n!JM)g);n>{EyUX8OawpB%S^SM>!oliqeQ%#` zF4r^oa7&AmODmSmkVXF#SCho_UcFOVx0$xa8ioZKePey~C?+Q-C-upJ0|$~`J~Fy2 zc_N{F=0(fPtQw(zopr06vIuzyJUM diff --git a/graphics/event_objects/pics/people/girl_1/5.png b/graphics/event_objects/pics/people/girl_1/5.png deleted file mode 100644 index 1bf4c2dc8c041f6a8f2daf054cdd68c08cc56ff4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 260 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ zY4UV&43U_coFJi4@Lg|;T`}94M|X>#oq5Uaa7RgxeshjnPKZ)`mJ#9qLH;cVeN%f-c99S7sCU3|EN zDP_v?);6oz4H7FCE>uiddFjH1f(_NvcIdQQ^kj>6urO>+b^R2k63_#54TGnvpUXO@ GgeCyr3TfQ{ diff --git a/graphics/event_objects/pics/people/girl_1/6.png b/graphics/event_objects/pics/people/girl_1/6.png deleted file mode 100644 index 256567cbf30e82c810109e94f68c0dcedbfeb86b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 263 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ zY4vn*43U_coFJi4@Lg|;T`}94M|X>#oq5Uaa7RgxeshjnPaZ)|LQYA;~XEHTg6Dt#6MZ%NS07asZy zMss|foG+hh0A&ph$S^1Ho9L!#T}(<~cejiaaB zIoPvF^O%5J<_hm9#tF}6NzR(Kl|f}wQPeN34I<(*xET)Wn4d^(SHA;v4TGnvpUXO@ GgeCw$&}SO} diff --git a/graphics/event_objects/pics/people/girl_1/8.png b/graphics/event_objects/pics/people/girl_1/8.png deleted file mode 100644 index 5675d705d06403b92cd3f51fea8bfa2b0e09d64d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 264 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ zY4db(43U_coFJi4@ckVtNA0sSkpgF{pPiX`Sz)2I!?C;x7v@^;_HTar?iRyQhf}hw zsqdS0A&ph$S^1Ho9Lt z6gDbh!k@4J000+sMObuGZ)S9NVRB^vM@&RePDdbiWpW@hE;Mn4q~QPn00?w&PDe*f zL^A*Y002sWDIWj;00d`2O+f$vv5yPer2o~l|HYKvlyiGQLCwwH zoSeN%N_%s?06}{I5IF$NVoH=bDN+ys|Ns90001$F0&@TW00Cl4M@0Xn2lB-L0004W zQchCeBza=$<< zL#GU>hJJ(Y8PY5@)R0=FpTP3ct&s$Boh|RkS4i49xOe*VY|BoE4xN0<@9w?3`&sZX zz&5tAjsF#hD>M+}f7=s=xJ(%a-X_6ALdCHkj43lhiiE-Bbg)72kWeu|^dq{LmlqMT zFO)yNEeX~{t3oA~ay*V`k&M2cNoI&)6vRrfCMpP(IC>g}-(^gq%L`Ur`!g9`#|uGG zR1{`3>dzief6ijV59K7J1H>63EzSi6(V8%)QGaq*c|?l>Urqu)hF6uHWKk|Ch!(7fO(j??Y-}Atl_G3Kcc8 zbNX>;Hp)DFGrt8GopcCBjRgk)SIkyi#w7UNaNK4>P}HopZ68_vI&fRHKB45;PO}QotWt7BHFa+HE!LgO}L&fje0bb!mVR4eW@c;k-07*qoM6N<$ Eg7jlxxBvhE literal 0 HcmV?d00001 diff --git a/graphics/event_objects/pics/people/girl_2/0.png b/graphics/event_objects/pics/people/girl_2/0.png deleted file mode 100644 index 5f336f20fadb3610cee30071123c78cedcb82ede..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 288 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p zGtbk-F+^f&a>4@r9o6Dq^DUXvKEAtGT=kt*;qkebyUV}NVKsdB=3cGXi3hf;i=UlY zXe};Lkz1OoAGeDqNuzFxIFq5CbnTSzZLCJ?B(yape=|vz&+YB?eHWLo<8{*0N1JXu z)no3SbiL=Csuv%R&au3O3pJ1N@$l%aT(~e%&q4dtB`4?0ml}D#ZQ8Qs3)2MaX%)I3 knXG%V8Lu;`d}m^~^4{|0%vFMWfG%b5boFyt=akR{089&Wv;Y7A diff --git a/graphics/event_objects/pics/people/girl_2/1.png b/graphics/event_objects/pics/people/girl_2/1.png deleted file mode 100644 index 3009e228c422f5ab43c79f7bf66a73335ef23650..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 276 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p zGs)A%F+^f&a>4@r9o6Dq^DUXvKF(uo;#O$1UVd#3E9YIy-AUKxZcdmPob6Dwr~2HT zo7K-uCKOhkpSySY_ZSAxyO!M3b}=W-VKsVpZ)fqhH+Q*t>fhhnTm9|b-QPTa6t4aK zFE0`C=0Eenbapnj?^iBd*dVk(G&OVK!pxTrY}JubQB{m5WWD!Ht7w!xwzVOfaZ)wo Yiu-|@UoH192fB{I)78&qol`;+05AV@ZvX%Q diff --git a/graphics/event_objects/pics/people/girl_2/2.png b/graphics/event_objects/pics/people/girl_2/2.png deleted file mode 100644 index 3f1c04b4b74fb10784cab4c3e1b6ee82405d24bb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 263 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p z)9UHs7$Pw>IbnhJgT2+?nPwC|Kl3s)q0xBx_j3^pDR=f(KRb7FYr@Rk>F4ILt=hHs z`KP&?x9c}7(YwF5n*BtHlh{4m< K&t;ucLK6Uq7Hk0k diff --git a/graphics/event_objects/pics/people/girl_2/3.png b/graphics/event_objects/pics/people/girl_2/3.png deleted file mode 100644 index 4713b70dd877dda6b96cd207861d7230a7611aa1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 275 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p zGttww1R;`WqC9trrPq0f>OWA;m9eNJ`b!*`;|s;bHH3Xj)q-nj8(?1CwsQ@c+m z#V@eb3pKWyZowe=CUaq?pO%ALWK_nC&72(*rKF}YP1EA_)o0kUs diff --git a/graphics/event_objects/pics/people/girl_2/4.png b/graphics/event_objects/pics/people/girl_2/4.png deleted file mode 100644 index 3a12aa48e1eff60e30f674bb364b07a16451704e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 277 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p zGuhL{F+^f&a)N|H!FRnWcExOG9^Kvh{L4FThhuXum%o2!$(?lP=HA~r6Ao5~JwG$k zxm?fS!>w1R;`WqC9trrPq0f>OWA;m9eGYd@jA2-i(YL*)4^&^jdE*94$`4U(@##m; zIS5DYNh{GSXOw!eWRlpdFoqP1*-P4%EoGL}$y>QFQGt!QIx?ez@rGlJ9`^#j7}g^U YHE+z0cr4c03v?cXr>mdKI;Vst0OSg9cmMzZ diff --git a/graphics/event_objects/pics/people/girl_2/5.png b/graphics/event_objects/pics/people/girl_2/5.png deleted file mode 100644 index 885ee2de9ada6bcfd0f8bede69b2496a14303ad5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 266 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p z)8Xmj7$Pw>IYC09;Je-wyJEI8k8GJ)#2uK*{nlD?3+*Z{JG#a?{h-nEYYk5-zR%gY z`TLnng~wm!Sy%hN-^nm(SFxB%>36=4!f#B6@9!=@f5*1^I}`K&SObPxpXD{mzB5la z_z!5izm|hrWK_nC&72(*rKF}kVwj}G>#NVOyZv-31_4yIxt#aI&L7tG-B>_!@p z)9&fw7$Pw>IYC09;Je-wyJEI8k8GJ)#2uK*{nlD?3+*Z{JG#a?{h-nEYYk5-zR%gY z`TLnng~wm!Sy%hN-^nm(SFxB*DfAyZn8#4nre956>TmSO4l4H2VDl z+O5xEG{-l{`SPVk91_4yIxt#aI&L7tG-B>_!@p z)8^^o7$Pw>IYC0=K=t=`tOk$I&Ahz&08_f(`?(t#PVA`uerE3E?1M(-=jYh+hLl#H ze`=kc&n#K4AGfdiJKuzd8tZw|W45r)Jd%`?lT!3uFJN}}M#CdHV&{L>J2LTTr|1_4yIxt#aI&L7tG-B>_!@p z)9LBr7$Pw>IYC0=K=t=`tOk$I&Ahz&08_f(`?(t#PVA`uerE3E?1M(-=jYh+hLl#H ze`=kc&n#K4AGfdiJKuzd8tZw|W45r)Jd%`?lT!3uFJN}}M#CdHV&{L>J2LTT$EN*d zzrEGvWHIB6z@#^`_|m5AY*{AGkh$(@=E6h;w!^D7h3I!EvFR;1%#g`p{VDN?MFr4N N44$rjF6*2UngEr_YC!-1 diff --git a/graphics/event_objects/pics/people/girl_3.png b/graphics/event_objects/pics/people/girl_3.png new file mode 100644 index 0000000000000000000000000000000000000000..73fae17f3490822608ec2a4a0e1327904d29a038 GIT binary patch literal 896 zcmV-`1AqL9P) z6gU^BDgG}2000+sMObuGZ)S9NVRB^vM@&RePDdbiWpW@hE;Mn4q~QPn00?w&PDe*f zL^A*Y002sWDIWj;00d`2O+f$vv5yPer2o~l|HYKvlyiGQLI2et z-kcC>ISA%bV#NS4VgMMNVoGW;F);ub|Ns90003V0bYTDh00Cl4M@0Xn2lB-L0004W zQchC{b`<<}zX7)chD@wgB6O;H6%NYS?{3~J~gE3l#~g`YseL@lhaX2sCnylp&d0^DJe zx<*su*?jxD5L84}p(QxX^Oz6t2upQCHQQ|76oRU#BD93PK4ZfZ05?-AJH>^7v1<(@ z(4qj~WiHafpM`Kq=!8P_1{9cO6bR1l5#~7?B*2MFJocT9T%?7^z7;O%c*AbD@A=L; z?{<01r<-)&+2TTQx=4KQW1VFo)x9jkdMUJYm0kdOFDEf#%^@i17t>cqYWhfL7XDV;vA4d34eH(9?lK&RgpMt#!`(Si`_O znCPIscSu~l9E~QpaXB81#(L*spRkI-=CM(5Zt6Du#ips<0oxz@)X5n;IM)rl_|l|c z3e-Ke={_cpM!LZO*Yo-_1s|B&9R#CKeXL(y29pjQ7{316*L?R))9rHeh^%AYU|@o) zwFthmBV6vX!waD|PTkWoLFi?0LsQ~^${%%E^ZY#Q(#gFO$S?kFh{~i|g9&hSf4=}V WgX(WIbi{}2XFI*obvZ-4U*;M@Aq*ps`P(C@?YjH@0--Mna+&3K|Jef3ebgzr;ab$!{5 hZ*bq>o*=`=5TR?Z&SKa3IG{TjJYD@<);T3K0RT7lacBSl diff --git a/graphics/event_objects/pics/people/girl_3/1.png b/graphics/event_objects/pics/people/girl_3/1.png deleted file mode 100644 index 6f3f32180d9880997415ffd12f895ed498d4d148..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 288 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ zndj-^7$Pw>Ibi{}2XFI*obvZ-4U*;W=j`QPRC)fLW$kmO35Cz!yt`X|u1RwF_Xf%B z=kHinr|B~@pPp-*{(g?#>jMXhzVis&DNRWD!JTqHq)n)0nO-og^kT>lw?H)R=ivVR<}Po*M1lv*!})inOO^`ub*WcGwkGR&s{vWs=6} ksA+s<64i{=jFS#C%BQ<@PI&u%EzqS5p00i_>zopr0FjS*{r~^~ diff --git a/graphics/event_objects/pics/people/girl_3/2.png b/graphics/event_objects/pics/people/girl_3/2.png deleted file mode 100644 index 1a01b003159c064c557fce2bc01b94baaa151b1b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 264 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ zY4db(43U_coUnjDp?fdGviJ9V?{Y6YKgY6KO5;d18^=2a$@2GeEQ^2XOep;LZmw%2a}+V2GF^GMG=uLlW2=p`_-+DS#Ng@b K=d#Wzp$Pz7G-)va diff --git a/graphics/event_objects/pics/people/girl_3/3.png b/graphics/event_objects/pics/people/girl_3/3.png deleted file mode 100644 index 2fb3db97b5539add9a6880a7447f39b40549ae58..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 275 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ znds@_7$Pw>Ibngm2XFI*obvZ-4U*;M@Aq*ps`P(hd;i%La+dr%yX}NlJv3mF#Gkdobxu97EcMmdKI;Vst03gO@oB#j- diff --git a/graphics/event_objects/pics/people/girl_3/4.png b/graphics/event_objects/pics/people/girl_3/4.png deleted file mode 100644 index 03287ab2715e70257b23700fd8ec6f36c8b29b9a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 274 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ znc(T-7$Pw>Ibngm2XFI*obvZ-4U*;M@Aq*ps`P(uE{yK4q TZ}WBo-NxYQ>gTe~DWM4fd+udd diff --git a/graphics/event_objects/pics/people/girl_3/5.png b/graphics/event_objects/pics/people/girl_3/5.png deleted file mode 100644 index c30ead4997d8fd03ef517ce1cf809200fdbf2c42..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 281 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ zneOT07$Pw>Ibngm2XFI*obvZ-4U*;W=j`QPRC)fLW$|;S35Cz!yt6Go*Ce_8{5(d( zy!p1p-_OLcu}!nCem~E$_F7}((|3{zJ6<0+@Im~bN9w-#v8V8GFbzb bPiy92@LFe|n0_M}Ibngm2XFI*obvZ-4U*;W=j`QPRC#`$W$kmO35Cz!yu4d}u1O;O-5W;Z zy!kt;pPh?iW1D7OeeTZQ+G~xCPv1!@?09|Pzz6XYyQ<|^wEfo;s9`j^@&Eqb-}amu zN9Df#ua7dEaPZNzY16`(rW6HvdV9w+q*%^2%r-gJYD@<);T3K0RT=EbcFx_ diff --git a/graphics/event_objects/pics/people/girl_3/7.png b/graphics/event_objects/pics/people/girl_3/7.png deleted file mode 100644 index 28fa0238b9fd72846936863341fe91a79e2c2c23..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 272 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ z>GO1P43U_coUp(+p?fd)viJ9V@76N9%(pE5_9c#u?Vhni!E>E}2j^xQFF(&D8oQ@D z{k)vO;g5^n%rq|l&m`G&sQmrCr>sU#9C_FToPREQTdUA~^u~=7Pnb_6h$lb(ogf_% zbC~-8&$mwo9E)8}7K=qJIC3L-8S{*XmkcdsRYKlvI%OfF6Mo=96kngTe~DWM4f+~sav diff --git a/graphics/event_objects/pics/people/girl_3/8.png b/graphics/event_objects/pics/people/girl_3/8.png deleted file mode 100644 index 8dc1a2fbc3ae4bb5985810ba0e7bae3c76aa02bf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 272 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ z>GO1P43U_coUp(+p?fd)viJ9V@76N9%(pE5_9c#u?Vhni!E>E}2j^xQFF(&D8oQ@D z{rtSm^^y`Y`lseu7Ec#HAt17^T71dfK)G`P`!cHKPb3(cnHl|LFuHN{#t*w2Y+~0x zFc~!4o@G7d5&ntEc+WEFYCQ%`&bXIGr)7_Dn0|{2;+s_DotVJBI<1glBE!yP6NS~k Szl8%`#^CAd=d#Wzp$PyJdT4|I diff --git a/graphics/event_objects/pics/people/glacia/0.png b/graphics/event_objects/pics/people/glacia/0.png deleted file mode 100644 index 4ee3c3b3e016725e178fb42c2c5eefc1a5237382..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 295 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ zS?cNH7$Pw>Ibi{}hJO2{%*+I_YAFE`2FaxlQ(rE9=-?JvQ5BhK)e)$ov4SsULx(mO z7ni7&!G;yuR$UyTmIhNSrE4#Rn|Y>dXd8wF8I}2`Yv>mnnw5F7OGVn9Kl)Vl#EYq) zIbi{}hJO2{#FYtR)frJy8H^JG#imW0Hj6K5$+D%bjgpxw6Eg+a1Q;aW zJXCPYWOUAyn!u_eamwp-qk_%cg?o68c(6-F{#z&0(XcD*T=n;NPj%SXrj;8vKA6kg zy!q~|na2LMW{C+OXH`Bsb4HbqhbP9^$~sMtLG#@V%f-SgW;DJ&ckgz(qY}>^@d|wf bOBsfHvNjXFq}C|`oyg$n>gTe~DWM4fpetv~ diff --git a/graphics/event_objects/pics/people/glacia/2.png b/graphics/event_objects/pics/people/glacia/2.png deleted file mode 100644 index 5d66ef03e03f6f3ef121273a53c7847e8a04daf8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 262 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ zY4LP%43U_coUnjfLtnq)LT2Vmg;}<|91c!TQ!_JHDlFWzY0Cx!fyDtfyo*i*3ar@0 zv*JXc%g#M}L^Pf(Ss#-kCwK0^fux+66d}H#CqQ~0pHaurVlnF*eN#WjIlhVc$am_2 zkx?W=qDA$YCWB=qB~7hi=jJd9KD=8jwy5plJJytTW`>Ym>a8o3XD9&O!{F)a=d#Wz Gp$Py>oMd$X diff --git a/graphics/event_objects/pics/people/gym_leaders/brawly.png b/graphics/event_objects/pics/people/gym_leaders/brawly.png new file mode 100644 index 0000000000000000000000000000000000000000..77553369bbdfa6ec585dfa87380ec79d2d62a93f GIT binary patch literal 566 zcmV-60?GY}P) z69os=Ik0d5000+sMObuGZ)S9NVRB^vM@&RePDdbiWpW@hE;Mn4q~QPn00?w&PDe*f zL^A*Y002sWDIWj;00d`2O+f$vv5yPer2o~l|HYKvlyiGQLCwwH zoSeN%N_%s?06}{I5IF$NVoH=bDN+ys|Ns90001$F0&@TW00Cl4M@0Xn2lB-L0004W zQchCWx1_ivf6d3?}Vz_{qZAw0-n>6*Q%@6@&Et;07*qoM6N<$ Ef+jcWUjP6A literal 0 HcmV?d00001 diff --git a/graphics/event_objects/pics/people/gym_leaders/flannery.png b/graphics/event_objects/pics/people/gym_leaders/flannery.png new file mode 100644 index 0000000000000000000000000000000000000000..9673941ec8a56f0825f896e8fe195aa632e7e833 GIT binary patch literal 605 zcmV-j0;2tiP) z69z3MuPS8#000+sMObuGZ)S9NVRB^vM@&RePDdbiWpW@hE;Mn4q~QPn00?w&PDe*f zL^A*Y002sWDIWj;00d`2O+f$vv5yPer2o~l|HYKvlyiGQLI0$* z)oOc-K~j{(_F9X*5HV7;q+)w>K{+`X|Ns900013rp2q+H00Cl4M@0Xn2lB-L0004W zQchC(C=ab%uq49tv=UD!8PBKB6Yafcsp4B@tyq zx)w?<6t;n3a2g28P(F4P)mB}^Cb7yJREt3l8_lhqGuM(qv+FAts@q7HYk{3Y@xrwf zww5SK6u4j{K*{Gq$pKg`d#hFtptf5UtWF{)i$$C6+FYh-YeAoDJHnaj)|qYVejue~ z8n?Z~4Ca8b4?U7fn$FCOP9{?=YLz6Jm469ukNXSlOJ7gt?|UvWNr(Wi6VC|eAx%F$ z*K+QYWbTp3*UGUjbv(B1c%&IcngE_-#Kuh&4Ti+1-;ahmGCCS&;_5aN@i-IXK_;&2 rFZ#$2AqT|qN54600000NkvXXu0mjfA1L=3 literal 0 HcmV?d00001 diff --git a/graphics/event_objects/pics/people/gym_leaders/juan.png b/graphics/event_objects/pics/people/gym_leaders/juan.png new file mode 100644 index 0000000000000000000000000000000000000000..d3320f0e13eac1ed61ea186e653b79b1bd19173c GIT binary patch literal 792 zcmV+z1LypSP) z6AcF);5v8!000+sMObuGZ)S9NVRB^vM@&RePDdbiWpW@hE;Mn4q~QPn00?w&PDe*f zL^A*Y002sWDIWj;00d`2O+f$vv5yPer2o~l|HYKvlyiGQL28Sv zIZ9#(5Fpiaq@+P}QXoOq)zyoOltDpK|Ns90001r;H=Dj^`|W zfokkhm~0i|$tpW)Pc_=t4tcl-#W198EXHLwZ zkVTrxMsOhN3M=+xAB%oLL5nm^DG2X|+}H^AMF&Dp3L2aZD2S8!j<5Sel(G?YL|tLc zo;ZDF!kWS5dOM#z#=#}d*7!&b=HY@bmau>iGB;GWgEruWOteh& zY^`jg(zd}|joA>A;KNILD{o1}vmw!n>uVC)S)FSeV9dF_S!m{4H$j)zw^H(Udupw5umO!?e@u#0tyr)vM;w*LWu W#l(&8RP6=;0000 literal 0 HcmV?d00001 diff --git a/graphics/event_objects/pics/people/gym_leaders/liza.png b/graphics/event_objects/pics/people/gym_leaders/liza.png new file mode 100644 index 0000000000000000000000000000000000000000..9d3f302e7b1c9b94c10664dcfd3792d568bf56ea GIT binary patch literal 542 zcmV+(0^$9MP) z6AK4Rx}E+2000+sMObuGZ)S9NVRB^vM@&RePDdbiWpW@hE;Mn4q~QPn00?w&PDe*f zL^A*Y002sWDIWj;00d`2O+f$vv5yPer2o~l|HYKvlyiGQLI0$* z)oOc-K~j{(_F9X*5HV7;q+)w>K{+`X|Ns900013rp2q+H00Cl4M@0Xn2lB-L0004W zQchCT{X~%Sd3B8Gvt0@NCRWTrrjTsT4*^Jpkna`>+XBxwV zrWlCmjc3*7nrRFZY?(jEj_q_h-<=4_{cSDRZ;g@0R+TWRj6}iy?sFkr?1k_){}#$C g|C97(|N0TW0L-So)gbTtdH?_b07*qoM6N<$f>$@>LjV8( literal 0 HcmV?d00001 diff --git a/graphics/event_objects/pics/people/gym_leaders/norman.png b/graphics/event_objects/pics/people/gym_leaders/norman.png new file mode 100644 index 0000000000000000000000000000000000000000..91c6189e3ea45ce1f8560eedc05127f4c0906cac GIT binary patch literal 826 zcmV-A1I7G_P) z69^sz{AT?C000+sMObuGZ)S9NVRB^vM@&RePDdbiWpW@hE;Mn4q~QPn00?w&PDe*f zL^A*Y002sWDIWj;00d`2O+f$vv5yPer2o~l|HYKvlyiGQL28Sv zIZ9#(5Fpiaq@+P}QXoOq)zyoOltDpK|Ns90001r;HC_2?ag}@M*!kp0CuMKvti2N@QRdq)Pu?tI?d50#jrN3&Oiw*FFA4d_;UDLf3WI1g6Lk=7jqP#OqN>usUtN zkGX(J$+#4W5KCdf#eKRMrOfe|37CAprnoi*CoG6b@W(UjLYUJ!NYX|8M1x5Z$2^dw z83!GbAbtgSr2go}qk25nH3@ILT*!=>)*%PUU=qtf_VGP8PU!xR1AwQD`n<^`(lrUG zh75I3mY}dVNf#4-I^QOfJ0d)Ens@vVSkMIMFnMoS#5I#2%Coc3L8)^rUw^1n#2+8O zvHbB>u6hC%@K!Ln&myjwT;IB%SZII!>GpV&?BM(*pbJ|K=V~VB%2YNn3gv}`xr#!4 zoP@fLi_@% literal 0 HcmV?d00001 diff --git a/graphics/event_objects/pics/people/gym_leaders/roxanne.png b/graphics/event_objects/pics/people/gym_leaders/roxanne.png new file mode 100644 index 0000000000000000000000000000000000000000..9a3f34cbe957f4a7044dbd6829d706eea75e8e59 GIT binary patch literal 588 zcmV-S0<-;zP) z69fm$B7rdg000+sMObuGZ)S9NVRB^vM@&RePDdbiWpW@hE;Mn4q~QPn00?w&PDe*f zL^A*Y002sWDIWj;00d`2O+f$vv5yPer2o~l|HYKvlyiGQLI0$* z)oOc-K~j{(_F9X*5HV7;q+)w>K{+`X|Ns900013rp2q+H00Cl4M@0Xn2lB-L0004W zQchCSt*E0OEBh9qP~wev&(+gH8$AggTT|rBjdR%Pn;hKY)*fALRG`gaqI}{vHTOYe!(X zMN3eaY%#SgMV+CdlS~_BNNDw(q}no_8Ev$s141rzvem{3rz{mH?F68va5GY)74Z|Z z#LW=6UicLhB2%eKjezF5u2M?4s8ma(^7^QI?J8e8&@9!o!E<2s>cTI7SSFkh7Mgwy zank{82Ma$45nuXRZ_W@}`?dAqMgV^CAmFEz)Xz5*I6nx9Xxp5J4ACM5qp1<+j!aIX zXelkj3F6Y-v(R2q5)^``x10B%QNa0XHO2-&u_vd@Qp=OBnDGWNj)?$XYfrk@jpD~% z963tq2+$7WDWP~Z9NypV2rxUobMVCFKumW87>L|^599gBiFiEETX>@!0CMWdp9Cp? a`|)pTE#Ot)4H@nL0000 z6ABQ~aw&KK000+sMObuGZ)S9NVRB^vM@&RePDdbiWpW@hE;Mn4q~QPn00?w&PDe*f zL^A*Y002sWDIWj;00d`2O+f$vv5yPer2o~l|HYKvlyiGQLI0$* z)oOc-K~j{(_F9X*5HV7;q+)w>K{+`X|Ns900013rp2q+H00Cl4M@0Xn2lB-L0004W zQchC)zN5mHpL7&}FTNPPtU#Yl7GDmrNJU5s5e}UdBKLY1QMYB-6`bi_mO)#5>_J@z zVI3SJb#55})dArvi`$?MgSTGXg;zwUJ;3L*4##tulEd@HH>2ZR=Jxe;tYu8%FqPKR znf%my*81T9P>4vmu+X~ucwrC?7Ya+{M5t9M57cOxzht9GO$;ZF_(rxoh|tSTlIe(P z43kAX5dn+sCdn5 z69qV9U!6?=000+sMObuGZ)S9NVRB^vM@&RePDdbiWpW@hE;Mn4q~QPn00?w&PDe*f zL^A*Y002sWDIWj;00d`2O+f$vv5yPer2o~l|HYKvlyiGQLI2et z-kcC>ISA%bV#NS4VgMMNVoGW;F);ub|Ns90003V0bYTDh00Cl4M@0Xn2lB-L0004W zQchCuu};G<5QaTi>SR^PjF9TAC6xjrszQliL3B!a0h$g} zEQn4#7mL#Ygu28o5o_InlreHq)e)uKxvB&UFTgGT`99sRJKKc(>)3q$)?HRN+rmzv zzRjX&d%XOxLZiqmFU>4fXmwky{e$$de~tgpo4P{mC(Ha(x;H_BX|!fU-`CyHiK2mdk(3$ z+-#}<0XT&?{bJQ>!v@_iAzs(k(!+(Av5_;836Y8%_BY-|PRJ}RjhSZSSt=m1F)Vsp z3I#yg7|$dE34or-41m^IlB7y$g;p9WY$){{M2p88p>p=t6rytg=1fY(VXVsw`+(y6spT3Vo` lvM)Bz+5D#xHqZa~Am3Ze&H7L#4+H=J002ovPDHLkV1g%2_1r;P) z6A2NGSV}Db000+sMObuGZ)S9NVRB^vM@&RePDdbiWpW@hE;Mn4q~QPn00?w&PDe*f zL^A*Y002sWDIWj;00d`2O+f$vv5yPer2o~l|HYKvlyiGQL28Sv zIZ9#(5Fpiaq@+P}QXoOq)zyoOltDpK|Ns90001r;HP!<6TRsL-7-M%P)DqcmHrl0RC%B5pAO#5hB&? zntaZ*BiJck5l_nNH9;Zv%7Q!cd&KwL+FKEC77SvUa|dKIqTv`|I7gh%Ufb;#t_1con=RCnt%QLZv z3%}X)j{z>nMA-vCt?8w)W}!R2f1sEXYbQ+T`fcJlK@GayfN!Yi@g|a+wN5+BWdl>h zK4;T&S)9t2OlUG5U7_p-wF+?*GICZy}Ll7 z)N(%NG*0_^Lx8J~B^pm(FQ1DIS**~A&c36?hVrl!P%RqOZ$ef5^&|WM4Y;4a>9uxw P00000NkvXXu0mjfRer2o~l|HYKvlyiGQL28Sv zIZ9#(5Fpiaq@+P}QXoOq)zyoOltDpK|Ns90001r;H7y(V6a0Ey%Z{)0>!Q^3Jw&%Ln+EN zryTMIJ-3ufmxQ)BC{Xeu5rwu#E&B><>`S4;c4o(`KkJl0&)&HB%}555dF29c86eZHS7gaG0(j6a_+0SyxbXf&g=B-4z6)K-h@s zMv8=crS7$>t4enSfhZJu3c#6m7wXytD&Sx*2t|Rg5i5K~tBl(r?QyC2p&P-TC=@cK zUayBkXoFr3hqS-~YV3;q4m(0m`SbaDIDXLv&7O^cg1jIQ^@SbEU-4)Zziu0%IG!M_ z7ci~u2U!++F%r}^j+aVvl>JzJMy~bUJi^?0BE&qw$@zXQ7HLjG zahj)&Vm{dLOj`yY3nfCfI$K)Zt~iv0n` zTMufvNz(CzK8+;h6=|gD68|tpy*qJb#p}w~Jh5i*4Lc>I;*qo229vNB9Kb1m0rSPX Uv%02jpa1{>07*qoM6N<$f{?&glK=n! literal 0 HcmV?d00001 diff --git a/graphics/event_objects/pics/people/hex_maniac/0.png b/graphics/event_objects/pics/people/hex_maniac/0.png deleted file mode 100644 index da93178a092ede01504289e4c72fa82b9ab178f5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 289 zcmV++0p9+JP)8IuY0000mP)t-sbH$|p z)wKV`l-`tcdqF{Ji>x_HVh9i*)pMkzL32_dLDkjOi;I*&K~n$!{{R30E*dwM00001 zbW%=J06^y0W&i*HpGibPR2Y?GV4w^5{~t=<{R?LCpS^$g&Ib_V&e^|bL5#n5f#5!f z0c70=GWhTQzY9bk82Imh{3tK~7s$A5^if{f7Rb0_tfXY@`vIuwi?OjkP}~3eKWD9+ z4>X(qf7Qxa%m061V9_d@(V4!;fq})UEG;d4u>%9c@|i$T1+;=|<;SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p zQ|amA7$Pw>Ibi|!kN@&s^Y=2ReVo6y`ujQdlwI+TS^xjPi&Z#y;J-YNoxz41%`eXL@#uu5W@f(ZmX(m0cAlk4Yk_EtcKW$F yTN$44rT;#!meBrp@Bi<1GYS# diff --git a/graphics/event_objects/pics/people/hex_maniac/2.png b/graphics/event_objects/pics/people/hex_maniac/2.png deleted file mode 100644 index 24598f0b0e5182daaf653087aff66890d895a97f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 247 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p zQ|jsB7$Pw>Ibi|!kN^LfTlQ6dx9fPepPNNt;eLl-=W00~zlr2{tnV`Mf9#4Z_sU9+ z!=CX!^=BMR%E{rs_?{_wL&drM)$&IoW=><W6i*028xr+3Wp6>G?SKI@Ss_n`>O tVl|fz*PD!w4(SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p zGu6|@F+^f&a>4@rAOGdO?*HXZ`#67Z{r7Y10*}w#+@J2)v%kFYfn5h<%3XG&AMgL| zul{b|QTYF{d*#pl@)G~z&3@V#iVs%mn)!sB=1$;tnJJFNU|pT2g^|NqR) z|NpO=x_Mgjn-5yEFV5V@aw0+B+q*c3(J<}YoR>LFo9eEfiHw(V;1Nq+arno!l diff --git a/graphics/event_objects/pics/people/hex_maniac/4.png b/graphics/event_objects/pics/people/hex_maniac/4.png deleted file mode 100644 index f07338c7a282a929a607bb490f3df6b8b53856f8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 277 zcmV+w0qXvVP)8IuY0000mP)t-sbH$|p z)wKV`l-`tcdqF{Ji>x_HVh9i*)pMkzL32_dLDkjOi;I*&K~n$!{{R30E*dwM00001 zbW%=J06^y0W&i*HlSxEDR2Y?GV4yGf{~t=<{R?LCpS^$g&Ib_V&e^|bL5#n5f#5!f z0c70=GydPb`~U6-2LAgWKg!Gh1u`xheUw+W{m;OE#aKzn*!MmI|KBgh#{NKU{QrN> zS~(wN_W!DtvzGq{n&?$FqceR8&>Sa~w6ydBAj8>Y=FFKO28;j7nX8}SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p zQ|Rg97$Pw>IbnhRkN@&s^Y=2ReVo6y`ujQdlwSO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p zlke%`7$Pw>IbnhRkN@&s^Y=2ReVo6y`ujQdlwuc)Xh#t9E|jEbN62s9t9e|jb~ mfL+qsLE=xj{ee4NM;HRT!=#Oluhjxt&EVSO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p zQ|{^F7$Pw>IbnhRkN^LfTlQ6dx9fPepPNNt;eLl-=W00~zlr2{tnV`Mf9#4Z_sYtS zEcM!_`xDr@H*U0bImdb|;p3cd-`~|MB&SA69od%ZmC1cz+9rwJjuP|qjME!)w?|nP u8+mm6-`v@~$@WH~{Eln?+AY5^Gc&Y(bS*z5T=yO51O`u6KbLh*2~7ZMLT1SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p zQ|9U77$Pw>IbnhRkN^LfTlQ6dx9fPepPNNt;eLl-=W00~zlr2{tnV`Mf9#4Z_sYtS zEcM!_`xDr@H*U0bImdb|;p3cd-`~|MB&SA69od$e>BW6uTG3Jo>jud<er2o~l|HYKvlyiGQLI0$* z)oOc-K~j{(_F9X*5HV7;q+)w>K{+`X|Ns900013rp2q+H00Cl4M@0Xn2lB-L0004W zQchCBjE7>2(=5D*Ce2U}|>RDw>SLh=$*k4k?*>@`qo zEzK@z&LD{tG-Qwjp+6#lVmQ+@4HSwF{{_=-r9!>$&XO9-SLj-D7(af+`F&2hLjX_X zY5cFl^Y-&!$Kv(d`94Yo5_+enCnsK?Qh|gA^O@_;7H7MZ3S>N(c{BDo>ro<*iece; zo;&YRDv%K1>%w*C=N-K*B?2jx!xx_S=H61ukDm8#Wr4%;IqeH%!iLJ>vmYS%v@+OVH`7IBL=64eLpVDhO8)$@eWZC z;IoTRgt;h0Mj@auiBo9App?rvzQpq(2-?!t-?Mwh;)|iB43AL&@a@lhjRipxZ=e-} zI2RqEbWF-7VDW`vDaJ7hM83j25m~eK{F2SnmWi$7L)Xexxw`8J+U<0WAY?_y0ApGb za@Wt5V-oTS;1?kdZa)m@y22GSWG9Z+TtN8l!k{8T^f*@!Q%dlF68bRZ+gEP}k2t7n z{s&PjRC_X;T%)mKU-jm1?{ZNq6#Me_$M*7XA!1AM=^%+K00000NkvXXu0mjfGhSVu literal 0 HcmV?d00001 diff --git a/graphics/event_objects/pics/people/hiker/0.png b/graphics/event_objects/pics/people/hiker/0.png deleted file mode 100644 index 715cdc4f9a5182f7e638015b6c52b3e52bf8628d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 310 zcmV-60m=S}P)8IuY0000mP)t-sbH$|p z)wKV`l-`tcdqF|}q_ov)dy7F*l*RU1i@gvrQnaLEdvifKIT-){{{R309c`Y+00001 zbW%=J06^y0W&i*Hv`IukR2Y?GV4x)^FNe@&;ic(derjr17*LEoJuNget*n57J*_+q zhzfv8Ld(lTL5i-Ig@&frGBB{{nwOUsUvdC4^gr8w0x}q!jg*v>O@L~a7@xgk?8U&q z)#Y>9_Q;9_3|zBTxVUt!T)?nmWmngV6|=e+oK|+M=<1lI!r;7WW=F@&RVEB9cTUcn zIp-|UoV#a$;4aV{-aBXSoV@^K@ZY`v_wEOf6aRnU|BvJY0LT$UG{&gNN&o-=07*qo IM6N<$f@Hyoh5!Hn diff --git a/graphics/event_objects/pics/people/hiker/1.png b/graphics/event_objects/pics/people/hiker/1.png deleted file mode 100644 index 7af8fb7364408c6c99060466515f6e6b7c9a1704..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 306 zcmV-20nPr2P)8IuY0000mP)t-sbH$|p z)wKV`l-`tcdqF|}q_ov)dy7F*l*RU1i@gvrQnaLEdvifKIT-){{{R309c`Y+00001 zbW%=J06^y0W&i*Hut`KgR2Y?GV4x)^FNe@&;ic(derjr17*LEoJuNget*n57J*_+q zhzfv8Ld(lTL5i-Ig@&frGBB{*IbL2~bJl@@@zuIlJmHLHukX=TT%RUNZb7@Swl?C6-e$^>ZO$(b|f zoCTQ!HV|kI@13)E&RzgA`0w8Td-ns#iT^+F|3~rx0OdwdO5PegegFUf07*qoM6N<$ Ef_Yqs_5c6? diff --git a/graphics/event_objects/pics/people/hiker/2.png b/graphics/event_objects/pics/people/hiker/2.png deleted file mode 100644 index 2b74ec3db06ee9ef45bed4daae6425552d852e00..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 281 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?yM_a$y z-&iMVoOU*fVaZOb^pbTg24Uw|j4S-DR-R$i-uF1CNc_wL+eh4HZ4cky-7WC;&;S4R c4xbnqW=B}+MJvdi0XmVv)78&qol`;+06hhF5dZ)H diff --git a/graphics/event_objects/pics/people/hiker/3.png b/graphics/event_objects/pics/people/hiker/3.png deleted file mode 100644 index a7e0d91d515140244b3f6e6c690fbd8e2d8860d6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 300 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?DKjv*3LlM@zjYv{LMNPW2UWkOw6R)j=AkFBk)iOJeE4UM*IZFoDl8oZoNpLTZa zS~tD5ZP|4rgAFfcO`k3vU&LVa#r}3Zlaa)n-YHY2_%;N2_ng0H_$?`+;MJ#{In^m* z0cqE`#HX)2$I7Fly?a;KnmHRA8WU5Gcda`o>Tqn;Oj+6BDGj&Y&zWOc++{f7VD+;z wH+Snf?5=n}XXk&$H;49@E1EF>uNUBCm?dJ9&*6ED1?Xx9Pgg&ebxsLQ0Bw$a9{>OV diff --git a/graphics/event_objects/pics/people/hiker/4.png b/graphics/event_objects/pics/people/hiker/4.png deleted file mode 100644 index d0bb9fa9db4c0ac03c7e427642e5119ca2e200b4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 301 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?uslbF9Z`3VEH4sief|G)tT20>S=Lb(-3mjIp3;OXk;vd$@?2>=RGd=mfw diff --git a/graphics/event_objects/pics/people/hiker/5.png b/graphics/event_objects/pics/people/hiker/5.png deleted file mode 100644 index b405de51bdc12b06a378c22cf0762db82d98606c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 301 zcmV+|0n+}7P)8IuY0000mP)t-sbH$|p z)wKV`l-`tcdqF|}q_ov)dy7F*l*RU1i@gvrQnaLEdvifKIT-){{{R309c`Y+00001 zbW%=J06^y0W&i*Ht4TybR2Y?GV4w>qFNe@&;ic(derjr17*LEoJuNget*n57J*_+q zhzfv8Ld(lTL5i-Ig@&frGBB{*IbL2~bJl@@8IuY0000mP)t-sbH$|p z)wKV`l-`tcdqF|}q_ov)dy7F*l*RU1i@gvrQnaLEdvifKIT-){{{R309c`Y+00001 zbW%=J06^y0W&i*HsYygZR2Y?GV4w>qFNe@&;ic(derjr17*LEoJuNget*n57J*_+q zhzfv8Ld(lTL5i-Ig@&frGBB{*IbL2~bJl@@fS407_?yM_a$y z-&iMVoPI8fVaZOb^fR+K6HCs`;tV?cdda3DzK)OAZ$3FQ^RvP+(fhm89iDyopZ=r% hyZx1`|LqMJ7@jS#-r@ftsvGD`22WQ%mvv4FO#tZdefIzW diff --git a/graphics/event_objects/pics/people/hiker/8.png b/graphics/event_objects/pics/people/hiker/8.png deleted file mode 100644 index dbcfd8c41efc210637814cfbd80ad4c73014bce2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 281 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?yM_a$y z-&iMVoOU*fVaZOb^pbTg24Uw|j4S-l6$LSB{wsdgV;u4OzH#~bA5B~S?)^Rgp}j|! cd=dx4e@*L$Q{9++flg%bboFyt=akR{05$M-=l}o! diff --git a/graphics/event_objects/pics/people/hot_springs_old_woman.png b/graphics/event_objects/pics/people/hot_springs_old_woman.png new file mode 100644 index 0000000000000000000000000000000000000000..82fbc489b887455f80874dbd9390c9ee489a9722 GIT binary patch literal 509 zcmeAS@N?(olHy`uVBq!ia0vp^6M$HOg&9clFM9J2NU@iA`ns||;$Y`CWX}9|YX?wB zyu>x4Bsf2yn2+B^)IMe(pdSV<4Nst3gv9NU@|l z`Z_W&Z0zU$lgJ9>8wB`-xE3E>^8f0V|3|0Xn^Iiu=$O^L#?mW^LqOqb@scHu#X$;= zSFc{}?w;c481(=Df1oBkDf4MSiZRLC-R1vM_D@GaoRT2FUBUb>950yWaOIoFmtR#rVEw!H z*XQEWnn$bxK+~HJ`Szv$5dZtfJNS0>olS^cp*9v%(F*Vq33zmHL4r%QfRvSto2uoygD{an^LB{Ts5%W23T literal 0 HcmV?d00001 diff --git a/graphics/event_objects/pics/people/hot_springs_old_woman/0.png b/graphics/event_objects/pics/people/hot_springs_old_woman/0.png deleted file mode 100644 index abb6cca16c2fe873b5b7f7e643b38bec85cc5040..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 226 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p zli=y%7$Pw>Ibi|!j%snI&+qQlGAb4P`V!l5VD9FGg|~M%Cg@KnOz+?L@#SWPV~&oF zk_yd7-7emUc(H+bf+7ct16%Xt6YiDnq6?(Nl3f*(*(W%jb33J$Fu6B2rf22z0*3km W*@x*J>ob6MF?hQAxvXSO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p z6XxmS7$Pw>Ibi|!j%snI&+qQlGAb4P`V!l5VD9FGg|~M%Cg@KnWItlToixX;wu*nk z!K7+74n1oI$?|h^EV)w*e%xbi(pGq@aE!HsH^92*{XNrV^A0mc9Wywib|v;8&;|xi LS3j3^P6^_) diff --git a/graphics/event_objects/pics/people/hot_springs_old_woman/2.png b/graphics/event_objects/pics/people/hot_springs_old_woman/2.png deleted file mode 100644 index f5b9364b13e877a21c4a920d0a61966d135732df..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 222 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p z6XWUP7$Pw>Ibi|+gT36Tckb0P9@@V-UB9C+{rfxPbVsJ;`d&2js<5U1rB@O|F}S}<6zQ~lpJoe3rBBAB(ZjH{>b`jr!)hDr$Tgq SrF1sX9tKZWKbLh*2~7a;C|K$M diff --git a/graphics/event_objects/pics/people/hot_springs_old_woman/3.png b/graphics/event_objects/pics/people/hot_springs_old_woman/3.png deleted file mode 100644 index 8bd8dc9fb0bf5f87634d53bc07ce7ddd3c02ebba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 220 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p z6XogR7$Pw>IbnhRj%snI&+qQlGAb4P`V!l5VD9FGg|~M%Cg@KnOz+?L@#SWPV~&oF zk_yd7-7emUc(H+bf+7ct16%Xt6YiDnq6?(Nl3f*(*(W%jb33JWrC6WA_<+o3v*Q+P QfVMDry85}Sb4q9e0B=oH9RL6T diff --git a/graphics/event_objects/pics/people/hot_springs_old_woman/4.png b/graphics/event_objects/pics/people/hot_springs_old_woman/4.png deleted file mode 100644 index 8bd8dc9fb0bf5f87634d53bc07ce7ddd3c02ebba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 220 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p z6XogR7$Pw>IbnhRj%snI&+qQlGAb4P`V!l5VD9FGg|~M%Cg@KnOz+?L@#SWPV~&oF zk_yd7-7emUc(H+bf+7ct16%Xt6YiDnq6?(Nl3f*(*(W%jb33JWrC6WA_<+o3v*Q+P QfVMDry85}Sb4q9e0B=oH9RL6T diff --git a/graphics/event_objects/pics/people/hot_springs_old_woman/5.png b/graphics/event_objects/pics/people/hot_springs_old_woman/5.png deleted file mode 100644 index ee043baeb86a49f8a8abc8a549ebee385afe6bcc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 211 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p z6X@yU7$Pw>IbnhRj%snI&+qQlGAb4P`V!l5VD9FGg|~M%Cg@KnWItlToixX;wu*nk z!K7+74n1oI$?|h^EV)w*e%xbi(pGq@aE!Hs*T8xOBZG*j-kQn-cPxR1GkCiCxvXSO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p z6X@yU7$Pw>IbnhRj%snI&+qQlGAb4P`V!l5VD9FGg|~M%Cg@KnWItlToixX;wu*nk z!K7+74n1oI$?|h^EV)w*e%xbi(pGq@aE!Hs*T8xOBZG*j-kQn-cPxR1GkCiCxvXSO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p z6XEIN7$Pw>IbnhEgT36Tckb0P9@@V-UB9C+{rfxPbVsJ;`d&2js<5U1rB@O|F}S}<6zQ~lpJoe3rBDK(A%~22{S{xhP>dUk8H9) PI~Y7&{an^LB{Ts5t-M&b diff --git a/graphics/event_objects/pics/people/hot_springs_old_woman/8.png b/graphics/event_objects/pics/people/hot_springs_old_woman/8.png deleted file mode 100644 index f1498d71f92b275c6ac6f90ce81ee4f0c81854ad..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 218 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p z6XEIN7$Pw>IbnhEgT36Tckb0P9@@V-UB9C+{rfxPbVsJ;`d&2js<5U1rB@O|F}S}<6zQ~lpJoe3rBDK(A%~22{S{xhP>dUk8H9) PI~Y7&{an^LB{Ts5t-M&b diff --git a/graphics/event_objects/pics/people/juan/0.png b/graphics/event_objects/pics/people/juan/0.png deleted file mode 100644 index e9528a067f95a00168a0b41d1d03d8202d8a3c49..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 291 zcmV+;0o?wHP)8IuY0000mP)t-sbH$|p z)wKV`l-`tcdqF{Ji>x_HVh9i*)pMkzL32_dLDkjOi;I*&K~n$!{{R30E*dwM00001 zbW%=J06^y0W&i*Hp-DtRR2Y?GV4w%!y?gfpn7(u7%vliY&gnBi7LalK%$d_52Je}> z=ic1ibAf^Ptl-@{f_K0SAw?lDL-C@l&?TU@%SM-Ul}&(*E5^E)jD3OH`Hx(-_4xo~ z{Qc+R^8P-EG4Iv7mp}%K?);N;eqM55V6ngXbN<}V4h#(bf9Kx3{{^J$|NNi-KY$rP p0A}2||Mx72!SMeB|9>Qx0{|JIQJ$p_Xv+Wq002ovPDHLkV1m%2hqV9z diff --git a/graphics/event_objects/pics/people/juan/1.png b/graphics/event_objects/pics/people/juan/1.png deleted file mode 100644 index 0d4248554532ffc307f0c0f99b7b7d33602053c9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 259 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p z)9C5q7$Pxs@417#hYWaF1LUjLT5%~~;GHqS^8{O=%X*KWpSVN|ju_p4*~wP;aFI1#}B{wxBW{jNXe7OSO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p zQ{(C47$Pw>Ibi|!j_U7BE%%C_>2y4^WoA)WXzlRJ#N)-eo7UCe8YIf~Pt9Z0E)tot zw_5DXgsXe2pXp6_xMX$pGd>UT)2hiUI?qkdec$Ap_Obdqdxg0CWd~r>mdKI;Vst0E!Z7 A&Hw-a diff --git a/graphics/event_objects/pics/people/juan/3.png b/graphics/event_objects/pics/people/juan/3.png deleted file mode 100644 index 5d593a7ee31ee73dda8d836940805ffffaf5bc78..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 284 zcmV+%0ptFOP)8IuY0000mP)t-sbH$|p z)wKV`l-`tcdqF{Ji>x_HVh9i*)pMkzL32_dLDkjOi;I*&K~n$!{{R30E*dwM00001 zbW%=J06^y0W&i*Hnn^@KR2Y?GV4y4Dy?gfpn7(u7%vliY&gnBi7LalK%$d_52Je}> z=ic1ibAf^Ptl-@{f_K0SAw?lDL-C@l&?TU@%SM-Ul}&(*E5^E)jD3OH`Hx(-_4&ZS zz@q!l#pV5dAj5Xvt937d38IuY0000mP)t-sbH$|p z)wKV`l-`tcdqF{Ji>x_HVh9i*)pMkzL32_dLDkjOi;I*&K~n$!{{R30E*dwM00001 zbW%=J06^y0W&i*Hm`OxIR2Y?GV4y4Dy?gfpn7(u7%vliY&gnBi7LalK%$d_52Je}> z=ic1ibAf^Ptl-@{f_K0SAw?lDL-C@l&?TU@%SM-Ul}&(*E5^E)jD3OH`Hx(-_4xo~ z{Qc+R^8S(okTLJox|f$hjQJ<${QLrxa`OB+e=bOkv+vxS_dyJn|MP$T2Qe7_0|CT| g{CDm{9Sf2H0QU<_P1X9TqyPW_07*qoM6N<$g45-JdjJ3c diff --git a/graphics/event_objects/pics/people/juan/5.png b/graphics/event_objects/pics/people/juan/5.png deleted file mode 100644 index b3f28869b8d420178f288f1110dd3e881054d724..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 259 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p z)9C5q7$Pxs@41b;j9UiD{P);-R1;N8lkIlnyosXjU?Bds<-~<4w2l%2E@TRG?!RJYD@<);T3K F0RV5UW`O_z diff --git a/graphics/event_objects/pics/people/juan/6.png b/graphics/event_objects/pics/people/juan/6.png deleted file mode 100644 index c46584d34beaf62e260eaeaf06f9b80e7771adfb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 255 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p zQ|syC7$Pxs?>R$0CPN;U10q|N{}yWcHSdJ?3I0tJ{Q?wIpXvt$B+dLPTho|p)U|h# z_s?v#qPzDPzg)?fAXIw1Mf<`AuC>=@U065CUZ6eejf8Eq+tF6b6BS(V1M-ds-SOQ0 z|HGvhTVmwS%>A5{*XcYXU-zr>H{tYK-*3#RVOV-LYH`$0?u$T&FnGH9xvXSO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p z)9mTu7$PxsZ{Kd-!v;Jqp*whccowMb)w-@Hw7cxt7rt8uL_QU3I!Q~!Iqc||l5Q}& zdWZD{lV^7l>%zZ^xafztt%)cR)NXsRm!V!K^JU#u8Id)~kC^zMYjBy|e|N*;&o8dC zTT*Qe^Lw}yRWFKdU(>L)I!XKhhe~h5pG#-9v^>6f=_m7(IyWl=+2d|N=P-D>`njxg HN@xNADdT78 diff --git a/graphics/event_objects/pics/people/juan/8.png b/graphics/event_objects/pics/people/juan/8.png deleted file mode 100644 index 24ef412c17c101ee8f26353d7b458cdc7f38fb76..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 261 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p z)9mTu7$Pxs?^#2>Lk2vo7kFX=uQI13p1(44;Q^lKPxy8+Zew{nYyF)Crw-gWb%Zbd z!0Gy5MM=;9Ssz%Ps&dUHKz41=+2vuK!984iY;RsNsn~FkT|n!cVn9&I=O4d6Zki*t z>-MhOoyWN{6H=N_T$~kW_jqqePUN~pSKD;j=5er2o~l|HYKvlyiGQL28Sv zIZ9#(5Fpiaq@+P}QXoOq)zyoOltDpK|Ns90001r;HVI=Crn0&hbv=B%|Sml>Jrk2i68Jy?!9r_vru`Qpr-VCHh^MGo;=r^#wf|dcORf zA`5{kQiP?L`XNS!I3R-t0~wqP6p<>-2`n5oeGH;B#DN3mQ|gxjRip}Yl4i5f7!GYB z2E@(UaB%-53)l!$kt)nd_8K>>#>gfS9^ym9W#K_O5?s<2>fZ0fq%3u+V27>@!VrrEI~RtOZ4B7}l0a7@#xF_v;sn%JXjnr~Q8 z2o#YbEXnGz>z>aTub*-LX~xB=J&#fm>}~{7^q5VCO3j)Cu3M~@=`(xaY7$97Kf9FHyh z$Ja2}w26rfwtJ}09SiALa})!4w>NrfmlP|waUdA%Jh^8f?d=|p=y4Bu@l3vIpq*bW z;)4)i zY?q5`xxiD6-zD%3R%!MH)K`j!0000< KMNUMnLSTXw09;J~ literal 0 HcmV?d00001 diff --git a/graphics/event_objects/pics/people/lass/0.png b/graphics/event_objects/pics/people/lass/0.png deleted file mode 100644 index 602f557c7db0f1bb7670820eca66e05af7d7d063..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 297 zcmV+^0oMMBP)8IuY0000mP)t-sbH$|p z)wKV`l-`tcdqF{Ji>x_HVh9i*)pMkzL32_dLDkjOi;I*&K~n$!{{R30E*dwM00001 zbW%=J06^y0W&i*Hr%6OXR2Y?GV4w>qFNe~hrC=6&YItZ^0gzFa7FwE?4w6YrFG~Z- zm6sKYrvn)*;^KmWg@q0bEb4+ESO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p zv)I$cF+^f&a>4>`4gK~@nW+h4)e%)uS&S0`#b$+x&EiX1($?PAD4Cg=n(4siT^Uss z6}6L@`E=ogbyDnYpT0kJ_^^IXSO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p z)8y&m7$Pw>Ibi{}hJO2{%*+I_>d2_5EJhavT@%?e9=^WJhBBuwUsm8*_{eBOmV4#H zPoJa|4tvJ$Jh6vwMeorYH%>gU@Hlt$#*Te5DFWT+Kk~m(m{`1iD}TdVtL>hgN!tCJ zjUqUitGhg{j>w)n$0u-X=XLo5CjamL7GOL4|NjX-b_TyB^SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p zv%u5EF+^f&a>4?A4gK~@3zsH{RcBRXL@-VWoF*1EYZ~7qPj7v1=95#Wi*_w%mehIl zsHv&7m5)c~Rg?Tv)@~VzQ*)=SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p zv%u5EF+^f&a>4?A4gK~@3zsH{RcBRXL@-VWoF*1EYZ~7qPj7v1=95#Wi*_w%mehIl zsHv&7m5)c~Rg?Tv)@~VzQ*)=SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p zGt1M(F+^hO-oA~zOolwJu`atlP20hE;UL3A4Gn?RLo9{2wEfB^-xP?on$f`N(AdPs z`Isf`f%rfFZGUnb{&)R+?$K){Z|KAIWJ1gufp6!`9aKULdITrx&WPDQiFM!RS7$G% zCQh?qw0FH~e4;?uQkM11tAJCb7v}hCsrHBE2Yx7AnQ*}}M!#g6?DM;8WGkkAUTmv2 feZ8~();fk+pKS&H9=IO~bR~nQtDnm{r-UW|n%{AD diff --git a/graphics/event_objects/pics/people/lass/6.png b/graphics/event_objects/pics/people/lass/6.png deleted file mode 100644 index c9235c9aaf286f95c805b6110981e4294ba1a8a7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 284 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p zGt1M(F+^hO-oA~zhYSQ<{gr~GmhemzOkmI!(Oj9M_F<=Q;~(jM*Ukk#j^3wPJk*#K z`npf@?0GiN?^pT!7yB7bKZ#gV*7$dUkgmIQ+DG=+T?X!9D-SeEwyi4kQ+2Lz{MqnI zrJ;v8Q7Dyv($~l**Ej>qPyXC_Ib?Q`Tz^%%@Luj;*;`YyZ@yTz|NGmOUo!9g{FQyp fCgr7;@I~>;T{dB5Z)2_lUCH3->gTe~DWM4f_E>eF diff --git a/graphics/event_objects/pics/people/lass/7.png b/graphics/event_objects/pics/people/lass/7.png deleted file mode 100644 index 1adfcd0baf857788c34757c56297d2e6b0c73d83..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 263 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p z)9UHs7$Pw>IbngmhJO2{%*+I_>d2_5EJhavT@%?e9=^WJhBBuwUsm8*_{eBOmV4#H zPoJa|4tvJ$Jh6xGM1rB2nUN*mrT0lWG5lr|k3QdVxO~Eio!7n8{>VG@+;uyZ;9Ysn zVs=A{#GlJScVrt({>!QgPyeiN?EZDW^ncAu{{2s6$Znd%pnYF!(fbXp0YC>ac)I$z JtaD0e0swmvX)^!- diff --git a/graphics/event_objects/pics/people/lass/8.png b/graphics/event_objects/pics/people/lass/8.png deleted file mode 100644 index 392d65f93e6e4bbc69d645ff684b9353304aa606..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 267 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p z)9LBr7$Pw>IbngmhJO2{%*+I_>d2_5EJhavT@%?e9=^WJhBBuwUsm8*_{eBOmV4#H zPoJa|4tvJ$Jh6xGM1rB2nUN*mrT0lWG5lr|k3O$BSU#a+^QGO)f8-l@l$TyVesG%A z>^Yk3Ck*narl(IH02# NJYD@<);T3K0RX*4XU_lt diff --git a/graphics/event_objects/pics/people/leaf.png b/graphics/event_objects/pics/people/leaf.png new file mode 100644 index 0000000000000000000000000000000000000000..fb110cd0d6002651ca79297c383b04b14107d0b6 GIT binary patch literal 893 zcmV-@1A_dCP)er2o~$|HYKvlyj_VTK{TF z#W^{HK|yn*#W^{9|K3`?oH^Ci=Cric|Ns90005b126g}d00Cl4M@0Xn2lB-L0004W zQchC3|!AgEQ+x)?iL2#GL1j~d8 zFJ5e(9iKK+=lvk)mzvP``_SJJEElQV4bF?jQqbBx$AD5R75B|Vpo$b>BBt*GsBd9v z@U>Xn88k`UF9eF{58;d?V!NETSS{kG@UFZ@JPzfAbAc*Sg$XHpe3^d0LOKf|FVkty zw!=iAh*V)hD)h^=EgtX>zZbl)AU`r4HUsmJ+H4_EUM@Y9K zpJR{>Ne<32i?KOz16PlF?N=Efv@C<4`cVY;scCTT!j{ET&J7oCFwe6cc?1rwBdG&V z2F&T24c|3^mJlN#X~HNoT#B7ndkF5;c=Bf&sO==FA^19P3* zZoP~H*CQ(e2;S%z7-Zb~doWn_1r*$e+Q)SVdK}Q+*Aaw1DHOIK$Ul^X8|8^#!NBc? z91tLaGxhy${kcW7(VK3)2+waUV5x@<(aj=0$zzESl@ literal 0 HcmV?d00001 diff --git a/graphics/event_objects/pics/people/leaf/0.png b/graphics/event_objects/pics/people/leaf/0.png deleted file mode 100644 index d21024a8ac6dd9a9e773151ddaf3b79135d46c12..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 293 zcmV+=0owkFP)8IuY0000mP)t-sbH$|p z)y4nCl-`tctZG{SYD&d9IfFq#bEL&NIeY)!TD_b()z#*-wAKIr{{R30nP&!e00001 zbW%=J06^y0W&i*Hqe(-g)=#>;#a&xud?;9rpMAzx!YY{|EjLNDc=8%&|ryWc4fh00000NkvXXu0mjf?^lN; diff --git a/graphics/event_objects/pics/people/leaf/1.png b/graphics/event_objects/pics/people/leaf/1.png deleted file mode 100644 index d14f4e29e15245a7d8a59fc576784950758903ff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 293 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3x(f>!M+?!Io zCM)WHme)~B%VtN%;w3=3`v1MCy>l$DUVXM@%hmt?L7HZ!vy}lU#*!evUE~ol z&pvmc@_STN)VsT!JonS@Reyi?_DmJqzezJ49{g);{NK$j@Pk=WRe{Z8$(@@wmoE9k z%zU_fK|rPLg(v<`9TxDXh};G`=jNQo#@fH@WpjTzsJ>Yp*50PZEXi|qw(p#?j_(rx mSO0%syMgG3 diff --git a/graphics/event_objects/pics/people/leaf/2.png b/graphics/event_objects/pics/people/leaf/2.png deleted file mode 100644 index b8f8d7b6b17273f86c1c063a31786131839664a7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 273 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3x(f>!M+?!Io zCM)WHme)~B%VtN%;w3=3`v1MCy>l$DUVXM@%hmt?L7HZ!vy}lU#*!evUFEg|A!aX&e-P|)4{<;6xKA`LFjUT`NS54@A`t9A*1h(hj zg*cL*{d@mZ-l0cw{+EMHJooKx*Rvb{_*}nUi@|uxs`6&Z`r`M~otONpcPO)9NK>}g US*_f>59l-oPgg&ebxsLQ07@Hs*#H0l diff --git a/graphics/event_objects/pics/people/leaf/3.png b/graphics/event_objects/pics/people/leaf/3.png deleted file mode 100644 index 50a63ed30a9f91e3f80e93a29240b4682670a31b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 287 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3x(f>!M+?!Io zCM)WHme)~B%VtN%;w3=3`v1MCy>l$DUVXM@%hmt?L7HZ!vy}lU#*!evU{1re>~sE+%#KWV&C-eb8{^B?wQxP|IUZSdkTKCv;F(;CI58lzh;SZUS4YV?F}}} zt~WIMwmv=Kfw}oS%gsORCj{Cje=k|e@1Xtf{F|tJo+N{s(=UGUmmPb4!C(Ue^X`rI jM-u;hw{w`w6~@TGlTu6{1-oD!M<`$~Z2 diff --git a/graphics/event_objects/pics/people/leaf/4.png b/graphics/event_objects/pics/people/leaf/4.png deleted file mode 100644 index fdb21f0b3bbe27f042b1e61ff348f2583c4e62a6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 285 zcmV+&0pk9NP)8IuY0000mP)t-sbH$|p z)y4nCl-`tctZG{SYD&d9IfFq#bEL&NIeY)!TD_b()z#*-wAKIr{{R30nP&!e00001 zbW%=J06^y0W&i*Hn@L1LR2Y?GV4yFUITK3Xy$fb>-g)=#>;#a&xu!M+?!Io zCM)WHme)~B%VtN%;w3=3`v1MCy>l$DUVXM@%hmt?L7HZ!vy}lU#*!evUE~ol z&pvmc@_STN)VsT!JonS@Reyi?_DmJqzezJ49{g);{NK$j@Pk?Msh*meo}Rpf#J=eb zEe$;XK1~u5Um(Ty?f=uKPro{7uL}Rm&a~jbs!;1&m)<(|TwS>EC#%BBvugkC8}1yA itN+e?W#xZI7KTrz?yco>_FDrT%HZkh=d#Wzp$P!zE`quM diff --git a/graphics/event_objects/pics/people/leaf/6.png b/graphics/event_objects/pics/people/leaf/6.png deleted file mode 100644 index ac69d167c47e90f4fb5c9b9c8df681e311d19487..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 283 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3x(f>!M+?!Io zCM)WHme)~B%VtN%;w3=3`v1MCy>l$DUVXM@%hmt?L7HZ!vy}lU#*!evUt~C7U<8g6!yBmmpiTSUgh_9Z&)TA*jfJm9z(0e{JB8B&pnp5Q|XrJ=VVUL zK6jwz8IuY0000mP)t-sbH$|p z)y4nCl-`tctZG{SYD&d9IfFq#bEL&NIeY)!TD_b()z#*-wAKIr{{R30nP&!e00001 zbW%=J06^y0W&i*Hl}SWFR2Y?GV4yFUITK3Xy$fb>-g)=#?F5j(xp(j00EIZ;=A1cm z?A`K`<>tNvf}21!B{PA*{R0C-p}c&Fiwl^c{NMdQP>S8y`1}8Qkcs8? z<>g=o=lqiL@(&=R|CfUq{PUImmxC1lv^V|@q8Wag|KGi;0Lb8g9ad63Y52L59o dppFHq0RZ)_L$e!nw8sDd002ovPDHLkV1jrvgvS5? diff --git a/graphics/event_objects/pics/people/leaf/8.png b/graphics/event_objects/pics/people/leaf/8.png deleted file mode 100644 index 39dd27af1b8ff6d5a5eedc132d3d167975e4d3b2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 277 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3x(f>!M+?!Io zCM)WHme)~B%VtN%;w3=3`v1MCy>l$DUVXM@%hmt?L7HZ!vy}lU#*!evU zPxly~KHJCKG~2;c)wuD%UuI_Kg?nl`ySZm9{B!@WeL&aU8$W*kubR;L^xM;?Pvsrl z&g(ZCq`mte&lhyqU~xRB&*$k+rR&*G{xS9cy`O8z>-?gh@9!$G{eQ~;=D%YQPr_6l Z2DVg}@V_>hr-065@O1TaS?83{1ORLRe$fB` diff --git a/graphics/event_objects/pics/people/little_boy_1.png b/graphics/event_objects/pics/people/little_boy_1.png new file mode 100644 index 0000000000000000000000000000000000000000..dc6dd8a5def4214c1530bc746927bf52fd7540ef GIT binary patch literal 562 zcmeAS@N?(olHy`uVBq!ia0vp^6M$HNg&9b4-*_Diq}WS5eO=ifajR|DNig)WpMX#0UD!FmRh7>tY=c#y5u2H2}enRpF2>-7|3SuYS5GiQY`6? zzK#qG8~eHcB(ehe1_3@HuEj@}{J*;8|IsP;rW98@I{sg>LSDe?dRf1oDW+ijOeA`hx`q&MI1dir~6DGX(4w_-)HB&k#D)YvP$?0!hbPTCp|H&b^tNelY9Z9Lr*{9M< bVq#{fER=lSFL2{6&_)JNS3j3^P6|8|-p#Wt4rf&0xerR9voKRY?j zBovsLwY^9;G-KyBxN~nwk=U6XJCEKFKeJ==ZC0g2)xY1cb}ZdfK5;Gs!``cs7L$W? R41m@!c)I$ztaD0e0szVpRm%VX diff --git a/graphics/event_objects/pics/people/little_boy_1/3.png b/graphics/event_objects/pics/people/little_boy_1/3.png deleted file mode 100644 index 08dbedbff6f4715f856cc420c423dfd3c428f39a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 227 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUEk3&B|J5!3k50KarMTMB z@&A%7SF@_S9fPJE{T9`|SHLi6%aWw(Vn<6$iU0rq12xI!&N~jI7)yfuf*Bm1-ADs+ z5PJzHr;8CJu)D X7V)}RhYb=y%NRUe{an^LB{Ts58>d)V diff --git a/graphics/event_objects/pics/people/little_boy_1/4.png b/graphics/event_objects/pics/people/little_boy_1/4.png deleted file mode 100644 index ed0f1c79140583e9f93dab73cfd62f46c244b3a8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 226 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUEk3&B|J5!3k50KarMTMB z@&A%7SF@_S9fPJE{T9`|SHLi6%aWw(Vn<6$iU0rq12xI!&N~jI7)yfuf*Bm1-ADs+ z5!a=dE) Soh^YDF?hQAxvXk_3HxeYM$*TP|NZ$fNrFQ<1^pAH{+* z4nD}q;kkG|DThxiVaHz2r#dqVi@P`K&nW!9<@8)`hgsj>+_kROZ*Y~UcyDCDz`(8{ Vv!LTckrdD_22WQ%mvv4FO#rCjS5*K2 diff --git a/graphics/event_objects/pics/people/little_boy_1/8.png b/graphics/event_objects/pics/people/little_boy_1/8.png deleted file mode 100644 index b3df6d38a0b6366e4f150a5725be13ed797fa874..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 222 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUEk3&B|J5!3k50KarMTMB z@&A%7SF@_S9fPJE{T9`|SHLi6%aWw(Vn<6$iU0rq12xI!&N~jI7)yfuf*Bm1-ADs+ zVmw_OLpWw8Cmdiqb(;HtNp)0|)r`Pt)5O?>k_3HxeYM$*TP|NZ$fNrFQ<1^pAH{+* z4nD}q;kkG|DThxiVaHz2r#dqVi@P`KyQFMC%_?wq_wP4%cPC8TEiTc(!|?8e^b%dw RoFt$<44$rjF6*2UngB+eR#*T4 diff --git a/graphics/event_objects/pics/people/little_boy_2.png b/graphics/event_objects/pics/people/little_boy_2.png new file mode 100644 index 0000000000000000000000000000000000000000..0982c0e1e7d4f773cc9d7dc07725da81883f32b6 GIT binary patch literal 558 zcmeAS@N?(olHy`uVBq!ia0vp^6M$HNg&9b4-*_Diq}WS5eO=ifajR|DNig)WpMX#0UD!FmRh7>tY=c#y5u2H2}enRpF2>-7|3SuYS5GiQY`6? zzK#qG8~eHcB(ehe1_3@HuEj@}{J*;8|IsP;rW98@I%ajRvGhvf5Ky>Uykv=Eagc)J z)vH&#yQerh2L1mJvRhBed>W8qO!9Vj`M;F?(@_woB*-tA!Qt7BG$7m6)5S5QV$Ryj zwq8dZL=JomXIT@(V$;}?%c^{XjD) ztD@P=4Nk@vN@uHR%N$vCxIrVa=cB+3r{W9Wq}XMd*R-GC>@G89LmN9oqs9v^*T5y2 zRy?mHvI_#L4q3`Gas^%xUG(O+$?5h_i3ZUsFg{?_x;-q2cIncSrZ=VedOr0Gz8gNNs`4n*14Ea=)78&qol`;+09XLsasU7T literal 0 HcmV?d00001 diff --git a/graphics/event_objects/pics/people/little_boy_2/0.png b/graphics/event_objects/pics/people/little_boy_2/0.png deleted file mode 100644 index 1cb5472fc85038ce165b3ad777d9110e299332e0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 232 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUEk3&B|J5!3k50KarMTMB zF{^uxrB@P%fWp<{B}*KOgA^REUcK7gJ;l*6=>Px!Kuvm5=F@-_V@Z%-FoVOh8)-mJ znx~6n2*=Fi1P6w1pFS}eEY>kGk=2l`j3bYr!r_xAJzZT{Pb3)r zTay2VA?R&RP7c$e$efrMzGjy>@7~<26bP0l+XkKAgomR diff --git a/graphics/event_objects/pics/people/little_boy_2/1.png b/graphics/event_objects/pics/people/little_boy_2/1.png deleted file mode 100644 index 235933d0a64ce841d3170780e3e1f0414d119a7f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 230 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUEk3&B|J5!3k50KarMTMB zF{^uxrB@P%fWp<{B}*KOgA^REUcK7gJ;l*6=>Px!Kuvm5=F@-_V@Z%-FoVOh8)-mJ zil>WX2*=Fi1P6w1pFS}eEH=^AmC>0XHBE|5D9N9j*O%Gw&gF&$EJrlFy}j8DBTiku zbV}A?)#*kCm(4S#PZw`?ne%R*WpOyGN>Tc^bDI-P%g@cRPx!Kuvm5=F@-_V@Z%-FoVOh8)-mJ zl&6bh2*=Fi1P7+4PgxUY*_!CeoYC;+^=0PV$gync(y7goO_?tf+PZ=&EoUU=hp?m> zSV&7df7!faM>DI$JDDI$?zB61lHPC&TE1lxe7Lvx8`F`Xd%I8gF)&m%OSJfY=nMeb O!rPx!Kuvm5=F@-_V@Z%-FoVOh8)-mJ zf~SjP2*=Figab@BPM_vJ(6i~ng^~>pS(Bn9JUVPW0|I!D6tEb&H1MdatBZV_p5ww)h*N-hH5544$rjF6*2UngCnNR}BCF diff --git a/graphics/event_objects/pics/people/little_boy_2/4.png b/graphics/event_objects/pics/people/little_boy_2/4.png deleted file mode 100644 index 7af7cdbaa080814a9ca72913983c96a1935c6005..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 227 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUEk3&B|J5!3k50KarMTMB zF{^uxrB@P%fWp<{B}*KOgA^REUcK7gJ;l*6=>Px!Kuvm5=F@-_V@Z%-FoVOh8)-mJ zqNj^v2*=Figab@BPM_vJ(6i~ng^~>pS(Bn9JUVPW0|I!D6tEb&H1MdatBZV_p4lZ}BsxBb#Px!Kuvm5=F@-_V@Z%-FoVOh8)-mJ zyr+v}2*=Figab@BPM_vJ&~s_amVylqSrJ(h9v!y2CMLW`3jCRygaj7r=<3QINznB7 z)-GpQsmIPFa5gC}E{;d2a98!SGqIu*PRzY&eZJ}H9n0cpOgFgh-7a6attpd%^^%-Q U^NZyYK&u!$UHx3vIVCg!06v&f(EtDd diff --git a/graphics/event_objects/pics/people/little_boy_2/6.png b/graphics/event_objects/pics/people/little_boy_2/6.png deleted file mode 100644 index 00633ff855c2c10af5cbc756a7635d32ec712297..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 226 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUEk3&B|J5!3k50KarMTMB zF{^uxrB@P%fWp<{B}*KOgA^REUcK7gJ;l*6=>Px!Kuvm5=F@-_V@Z%-FoVOh8)-mJ zf~SjP2*=Figab@BPM_vJ&~s_amVylqSrJ(h9v!y2CMLW`3jCRygaj7r=<3QINznB7 z)-GpQsmIPFa5gC}E{;d2a98!SGqIu*PRzY&eZJ}Hhk2I8Vo5je?iF8f?H+3q!;c-Z V-&2$ArvU9@@O1TaS?83{1OTPFR3QKW diff --git a/graphics/event_objects/pics/people/little_boy_2/7.png b/graphics/event_objects/pics/people/little_boy_2/7.png deleted file mode 100644 index ac2697065ed974778ddc4587ee838c22795c36c6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 222 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUEk3&B|J5!3k50KarMTMB zF{^uxrB@P%fWp<{B}*KOgA^REUcK7gJ;l*6=>Px!Kuvm5=F@-_V@Z%-FoVOh8)-mJ zjHioZ2*=Figad4+PIDhHsm_S9m=QQlY8IPNlAw>bw>G;m%jHW4c|@0fDl#~HZw1Gh zgaR|OwioGzh3wo0cPy6_iJjT8^XLunGdrqpJ!P74u==~6%d2;+ZM%7R7?yEKnMEk> RJq@&n!PC{xWt~$(699glQn~;D diff --git a/graphics/event_objects/pics/people/little_boy_2/8.png b/graphics/event_objects/pics/people/little_boy_2/8.png deleted file mode 100644 index fd02ff7a61bc2350f592fef538a1c2f2beb1f667..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 221 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUEk3&B|J5!3k50KarMTMB zF{^uxrB@P%fWp<{B}*KOgA^REUcK7gJ;l*6=>Px!Kuvm5=F@-_V@Z%-FoVOh8)-mJ zw5N+>2*=Figad4+PIDhHsm_S9m=QQlY8IPNlAw>bw>G;m%jHW4c|@0fDl#~HZw1Gh zgaR|OwioGzh3wo0cPy6_iJjT8^XLt6rJ`F;nPwcU{`M}`;PE?FHU(yerI(~k4HuLt Q0!lvI6-A0X`wF#YdO?zq;lB(JA+)6jwVs{=celZ;n8gCC9U%q@xUmNemKm zlDx7E4GkG2{{R0E)D-uvBoRn4CV9KN{9nrc=_rU(666=m;PC858jxM>>EaktG3V`- zjb4WxBo2I(=4y3dpYJeX-6Mg6M;B&XIC*xR-=wDCK$9239&rvQN@n|BP|q+kFJ?dL zyEnf?HzWSQ`$^CC)b0Jk`eyqd{iT2F6fYQToA-6i^ZR|rZS%y{AN$6~nJ%snxqWo% z_l?XEjA6c)RW`2n-^iT71Z4TXDPy=N%zlAomea)McgHWkF5cPBtD^m+dd*fUBm5McD>@7s6o-0oeMSL$WQm$jQYEKt2*^5*;Dd+|5F zuB_j~pyMQBl4_o45s_n1z~H+;(|fVT#@l_17D`7j>1WND{y+9t)r|czd)l)St#>`` u%hvB+WNlN?9~$oC#`nbPahzHC#{Ii_W`FCCXSo8569!LLKbLh*2~7Z;Q~0z1 literal 0 HcmV?d00001 diff --git a/graphics/event_objects/pics/people/little_girl_1/0.png b/graphics/event_objects/pics/people/little_girl_1/0.png deleted file mode 100644 index a4954285bf20def8bacde45d07960dcf980b8fac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 250 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ zsql1h43U_coFI{KU~5A*gY{-!({->(@@X&Z_yy^xu+vo}j}Ia&mH*7Db+kjp>qY;8EYcyiik1 wVd9nx7fdE_I7dcBSshvT=~Lv2ca01T`?It+e-?_91G<61)78&qol`;+087kf5dZ)H diff --git a/graphics/event_objects/pics/people/little_girl_1/1.png b/graphics/event_objects/pics/people/little_girl_1/1.png deleted file mode 100644 index 0c6b9d4113e7d1b360d7f4a892b1beab1cc87fec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 245 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ zDfV=643U_coFI{KU~5A*?$~pA`S&-BhVSlK7C(CvJ7Lyt2Zo@-3`q?cVzYOb^IJ1W`sKa9w{%5=%Oxl0 r%MMCBshOEC1$Li0oxX4vI}^iXd87NqH~Xdlt!MCb^>bP0l+XkKuO4Dy diff --git a/graphics/event_objects/pics/people/little_girl_1/2.png b/graphics/event_objects/pics/people/little_girl_1/2.png deleted file mode 100644 index 6e3b1e77d8e41203c225184b4b08572ea79d6a24..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 241 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ z$@g?|43U_coFGxLA&ar)*{c^#24U-1j4R&X+iS_~GvBgUY{|28Gp*Cl#V{Dr14<<9Cvet9GItM=?+xM~XY#-yoQFAIhD=mD)}@O1TaS?83{1OP`dT!R1r diff --git a/graphics/event_objects/pics/people/little_girl_1/3.png b/graphics/event_objects/pics/people/little_girl_1/3.png deleted file mode 100644 index b680b277aa49f9ca6ef12fc0b894a74a91bcce7f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 252 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ zsq%Dj43U_coFJjokj;3V$spPFdY7I-^3zk1n-zK@wH14IFaLgr_2QoN_xJV|GoIK{ zoc{gY=5)uN&FSavFdDv#`=zm-JLpLEAJ6*|OWF?Jym5oYW%G>PJ4CD*B>nRI9|wgv xC}l2On5iJxwrR_jk`Ci#)5RTRws5&HFlg0jCCC|y+XG#};OXk;vd$@?2>``kVMzc0 diff --git a/graphics/event_objects/pics/people/little_girl_1/4.png b/graphics/event_objects/pics/people/little_girl_1/4.png deleted file mode 100644 index 3211eecbb52401116095a02df2beee1569e2bcb2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 252 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ zsq%Dj43U_coFJjokj;3V$spPFdY7I-^3zk1n-zK@wH14IFaLgr_2QoN_xJV|GoIK{ zoc{gY=5)uN&FSavFdDv#`=zm-JLpLEAJ6*|OWF?Jym5oYW%G>PJ4CD*B>nRI9|wgv xC}l2On5iJxwrR_jk`1D7o=)Xnpcln@gh9(uE8jmSkq77s22WQ%mvv4FO#t_6V^{zH diff --git a/graphics/event_objects/pics/people/little_girl_1/5.png b/graphics/event_objects/pics/people/little_girl_1/5.png deleted file mode 100644 index 182a1a4160d486c5c72e4acf8f98ca7e0dca0751..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 247 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ zDfM)543U_coFJjokj;3V$spPFdY7I-^3zk1n-zK@wH14!v;EexUfh%3@PKJTVfy)* z#>>w)Ni6q&f0H@s&fel@XKwCRFfDInSklILgyEu&S^0apG6thLckb==4rJ_H(%QDH s(M96arAwC-&&`O7V<^0!CBVqAcZOk4Ka2cApaU2@UHx3vIVCg!0M2n>w)Ni6q&f0H@s&fel@XKwCRFfDInSklILgyEu&S^0apG6thLckb==4rJ_H(%QDH t(M96arAwC%hHaQ0uGg?DLsWp7VQ;kI?BJs!nm`vYc)I$ztaD0e0sudzUvmHe diff --git a/graphics/event_objects/pics/people/little_girl_1/7.png b/graphics/event_objects/pics/people/little_girl_1/7.png deleted file mode 100644 index f914066540fe4efd090d3407efd8f036fa1466e6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 246 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ zDe-i143U_coFL(naFvPU?A42`iECmw(>~nWTU{(R!>;(5j>p-##^vYc>|{u}bFcRM zmzSFzj@>mrR(`HQLZ@l|LY}4P%irH)%`7)F+s7Sr=0MULZn1;}{UA*SV=w2Py9awV rnM~K&aCP;m)2qcCWDalbYGh~nWTU{(R!>;(5j>p-##^vYc>|{u}bFcRM zmzSFzj@>mrR(`HQLZ@l|LY}4P%irH)%`7)F+s7Sr=0MULZn1;}{UA*SV=w2Py9awV rnM^O4a5Cof>C>yl9Ar0lH8L_7*6Fr8=H5yG+RxzW>gTe~DWM4fwEJOQ diff --git a/graphics/event_objects/pics/people/little_girl_2.png b/graphics/event_objects/pics/people/little_girl_2.png new file mode 100644 index 0000000000000000000000000000000000000000..ee82a5659e5e283daad47acd3d574696b853ad14 GIT binary patch literal 594 zcmV-Y0er2o~l|HYKvlyiGQLI2et z-kcC>ISA%bV#NS4VgMMNVoGW;F);ub|Ns90003V0bYTDh00Cl4M@0Xn2lB-L0004W zQchC@ zPM%0On%vL93s@0-Dah}SH4`EoI-xhcyxj@xhPpv(Pt3+*?u0Cf(>5R|AY90wP0$J- zN%HEu5MsfBWK0VoneDkbH#;cB7^jz~F@5@GAG^HtF2M-UC-m?(*94o z6rS!mHvdcS!CP~Bdwm^Dymxkc?_{3v@QInJkt?gprlMzOW-17-n<+bY^MSB6cWt?| dUdIYBGL$)~{MDI!dK=J622WQ%mvv4FO#m#|U5Nky diff --git a/graphics/event_objects/pics/people/little_girl_2/4.png b/graphics/event_objects/pics/people/little_girl_2/4.png deleted file mode 100644 index b92551f18e2c542f412797571e1c1b0a5dbb706d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 234 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUEk3&B|J5!3k50KarMTMB z@&8qYdvgS`EIFP9B^_ljOk$9jljN0UXlTeF@&EsSpr*KQC5b?au_VYZn8D%MjWi%9 z!_&nvgkxrM!U3j=_xJWPq}{PAPS=lk@a5j!Y6qu1>F@5@GAG^HtF2M-UC-m?(*94o z6rS!mHvdcS!CP~Bdwm^Dymxkc?_{3v@QInJkt?f;QSq}gkqUxsQ;n_C^cZe$Ec&jy eVynYr35KQ?)q4yAM-Bt+WbkzLb6Mw<&;$Tl#9Yb% diff --git a/graphics/event_objects/pics/people/little_girl_2/5.png b/graphics/event_objects/pics/people/little_girl_2/5.png deleted file mode 100644 index 778a644f2fb280032f5943b9470bd412bb0855f9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 229 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUEk3&B|J5!3k50KarMTMB z@&8qYdvgS`EIFP9B^_ljOk$9jljN0UXlTeF@&EsSpr*KQC5b?au_VYZn8D%MjWi%9 z+0(@_gkxrM!U3j=_xJWPq}{n$`&%dC!Iyh?s~w#7q?g^dV@|qbTm0?J%-sr0%g^1h zVPcQ>Ve2ITsC!89NScE&8szVyl8L Z!c@UQT!55p%q0oc_K^a{l{!tj1I9 z;+tL+o0+w}NH_e}I^(dNZVls%gQj;+aG!~=Je(>P@$TB0nb`+ zcJWOwip|X0UZfj-Yn^e}PPc|}#zE7&C%Df<+fS407_?MS4O1`Mc3*(4*dV0urPjgLxODww}M z*fTY1`DCsM4|676e3-+OvY{fa#HWy9fS407_?9x@PcjSaY1!RdB_L1STJ1CQfVQ=fjNbG%#1d&7%GInAfnmpO}_ z$ba|p<@_&mtyNb2t(tg=RsF5g)|IndETlISoLYM-rS!kx6ZR8qrR-XZ7{Wz9R@mDY z*VZ#Wp8KMV(TDk>34@=(`qib=D(fPS7xt`t8+lmj*P%zJ?|fS407_?E%==1;o#vMRiWzbbU~t}sSP`|x#9TNiPk__38s z<2%!l2>l<~M|ZO=xYggZKkO@`WZx$z`|y7ZMsvPQZ8+6%Y=eaK|0q_on@4ZR=mtnu3)v8N z6C^Ke6Aftq000+sMObuGZ)S9NVRB^vM@&RePDdbiWpW@hE;Mn4q~QPn00?w&PDe*f zL^A*Y002sWDIWj;00d`2O+f$vv5yPer2o~l|HYKvlyiGQLCwwH zoSeN%N_%s?06}{I5IF$NVoH=bDN+ys|Ns90001$F0&@TW00Cl4M@0Xn2lB-L0004W zQchCBjE7={mOFc>^s=6LAYV@!(A5Hh%^j!H?fyA;u- z^_ba^%=#0Z&NSe`i$(rKf|mw4xVF3b3V{kw)zDwi_meEiIja;p`y2e|)7`z#N!Bs8 zuYK+7A7$Gnt^dkda^8*Bb8g2JwZ91Rg&US{ANk=7{PxHzV1e@kG20UCik=D+u5LL$ zoPy7h0KN+Ofj`|67$Q@ciqjy$xu76k@hK?1Z-`7`LZztsC z$P^|l)Eh!n=T>3mqox*Xi@Mf26PO}Xm=Hnj8U<+z(g>{8AWTa>cVoMi%2WC&9-*Ot;=gEYR5l4UBeDEO(!6ecW& zJ=+e#elh%{_4lxkk#`||sc%Stwn)4}PXW{uuQFl6qSITufzvNK&c%h}V5Zv(KOpXe z1hkNNX%$W&`a%6K2rsQvn6Oaqg<(K1)j`d1%YFYc4uXIlnMgqp^{5XZq@Y-svQYQe zu1`U}5b^De@86FyvYWH!JsoBUCOD1l z4n%auAc}hk>1;jx6rCYsrHOb=VpdY9VMbOOoeu~Iju%2O-0jO>Ci486vBgMszS6p9 zYA{wWGP2S*%41`tJbI^|QiGg+p_Hv!L|dtAdW1%6QKhZR)QPL&r0mOS-2 zr=P2VNAt_4-k1Wha8}maEJxodRB>LUih7y!vK9RfS-cJtHY52J$Ht1hUT0Hr`3Gwz V!sU$eNx=XB002ovPDHLkV1i)8Z#e(} literal 0 HcmV?d00001 diff --git a/graphics/event_objects/pics/people/man_1/0.png b/graphics/event_objects/pics/people/man_1/0.png deleted file mode 100644 index 83a226b7a80e2e29300118375b4d2f8494002c05..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 283 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p zGt<+>F+^f&a>4@cg2KiN;Vi7RjwbI9wl^7xH}qJuv$Ce1Q!;)hCnR!Z=jj6n7G*D4 zvZUrD1_4yIxt#aI&L7tG-B>_!@p zGu_k0F+^f&a>4@cg2Kj2O-%`6?~k@OZ4z(jvF>VWa!PmPQFU}wHF!K>(j>kK2aBHb z2+S!>NZ84pbO%W7;AV3$-KX%2YeFDyyW`UG?$gQu&X%Q~loCII@VYi$4k diff --git a/graphics/event_objects/pics/people/man_1/2.png b/graphics/event_objects/pics/people/man_1/2.png deleted file mode 100644 index 675851b98707035447826e5a0f750e13692e0a66..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 256 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p zQ|Ia87$Pw>Ibi{JL1AITg(fd8g;}lv0Uj@zCOrJ%7x3atq=0k4H=Y>}RWz!fpNSQ4 z_Wb@X*1*|S^3;WPqlli~ULU;%UK6u@+-5V6zL!1HwQEQDLjku9vMq(@JXP7wL_E$Z z;yUvn>X9Y)p$N-j#u@O1TaS?83{1ORZB BV#@#k diff --git a/graphics/event_objects/pics/people/man_1/3.png b/graphics/event_objects/pics/people/man_1/3.png deleted file mode 100644 index d29b03948bf032eff09f5dc5f1931387fa6de212..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 272 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p z)92~p7$Pw>Ibnf*L1E*Ca2D2DN0avl+nbEU8+xqSSy@xhDH*?$6B4~6hqmK)Ti76;-BuZPGnH~rW+P$ SF0d5nG6qjqKbLh*2~7ZCUujhU diff --git a/graphics/event_objects/pics/people/man_1/4.png b/graphics/event_objects/pics/people/man_1/4.png deleted file mode 100644 index a328a22f39f4cff65743ba1257de4aa19346e96a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 270 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p z)8pyl7$Pw>Ibnf*L1E*Ca2D2DN0avl+nbEU8+xqSSy@xhDH*?$6B4=IyWk z{)H>x)XC?ScV}`Z9GhvpT&!Ws`dOC6VmEAKR;T&3?dZ9FLhRMG-40tB9G~m%FSa~p Q0dyCGr>mdKI;Vst0Es4P@Bjb+ diff --git a/graphics/event_objects/pics/people/man_1/5.png b/graphics/event_objects/pics/people/man_1/5.png deleted file mode 100644 index cf993dcd4108cd21d074a9d2792eb9a7997f1e0a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 267 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p z)9LBr7$Pw>Ibnf*L1E*irlth3_ea~CHi?o;^1HQ^y&k_dz7?Bn7d>0Wn$R9=wvVAuQU62@8-vIaOV{V`mo)<&#o+1c K=d#Wzp$Py$#$hc0 diff --git a/graphics/event_objects/pics/people/man_1/6.png b/graphics/event_objects/pics/people/man_1/6.png deleted file mode 100644 index 04ff3e1e889da5e2dbdc94c412d0a627a7f7495a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 266 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p z)8Xmj7$Pw>Ibnf*L1E*irlth3_ea~CHi?o;^1HQ^v%(v${?{P*|vM)8CMe>c(96**HOCnd!d^!SOe zRMj)48HLZztYmdyJH2YAaeCw3!&|eSrF5LG=*?Z2x0gGFo1rw)D#`tY+!LUi7(8A5 KT-G@yGywqNCS|z* diff --git a/graphics/event_objects/pics/people/man_1/7.png b/graphics/event_objects/pics/people/man_1/7.png deleted file mode 100644 index cce94628548e19fd909cc8a7ac9ff571207d4113..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 260 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p z)8y&m7$Pw>Ibnf*L1AITg(fd8g;}lv0Uj@zCOrJ%7x3atq=0k4H=Y>}RWz!fpNSQ4 z_Wb@X*1*|S^3;WPqlli~ULU;%UK6u@+-5V6zL!1HwQEQDLxE$#$sCXG2&>L#b(mFt zPB8iWPKRSpXBx+*-C~lQo^~!OmB*<4dIcl%5g86nhT}Xs((~t5YXDut;OXk;vd$@? F2>=2TVuSzy diff --git a/graphics/event_objects/pics/people/man_1/8.png b/graphics/event_objects/pics/people/man_1/8.png deleted file mode 100644 index 8176b427d0a8e317269097dd533ff29665710f2b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 261 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p z)9mTu7$Pw>Ibnf*L1AITg(fd8g;}lv0Uj@zCOrJ%7x3atq=0k4H=Y>}RWz!fpNSQ4 z_Wb@X*1*|S^3;WPqlli~ULU;%UK6u@+-5V6zL!1HwQEQDLxHxB!3NE*J0@lGbQD&0 zZajaIRpFS=^qI!bnI!j2TOD?83+u_dsSiwdF_h|DaA27IMO*Ob&fSSX=P-D>`njxg HN@xNA1fFN} diff --git a/graphics/event_objects/pics/people/man_2.png b/graphics/event_objects/pics/people/man_2.png new file mode 100644 index 0000000000000000000000000000000000000000..0cf7164ec2d6e81e0b733aa0cf71f11cc3a804fb GIT binary patch literal 832 zcmV-G1Hb% z6DA*c{9i`^000+sMObuGZ)S9NVRB^vM@&RePDdbiWpW@hE;Mn4q~QPn00?w&PDe*f zL^A*Y002sWDIWj;00d`2O+f$vv5yPer2o~l|HYKvlyiGQLCwwH zoSeN%N_%s?06}{I5IF$NVoH=bDN+ys|Ns90001$F0&@TW00Cl4M@0Xn2lB-L0004W zQchC{K6vtn&)h1*^tgl(DNX#YfRV3yRXxzrHVMS?S zZOpQb4F$Um$P|{e zF5Pm=eWWNF zqJPE@`tDqz1H{n9UGgQRshCtG`*r>~1Q-PMT~$H2yY18y2|f>po2XC2y=!pg92^7Ccy$hVJh`N zwsx|8I++G-^JT39at&#v-cPpv0-q+75B#m1-Ey`**6XbDjs5_kyF9mkU+pyj0000< KMNUMnLSTX(9ceBA literal 0 HcmV?d00001 diff --git a/graphics/event_objects/pics/people/man_2/0.png b/graphics/event_objects/pics/people/man_2/0.png deleted file mode 100644 index e0f0ff01b71981e244b195249b16d678506bd06e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 298 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p zv%=HGF+^f&a>4@U9mU_@#Tq>R_Rcu{T$99}^mB7|Rx=*iQ7ooZ8U8^}fKjrZwef)+ zGjsReNedQSN@r&i6aMS}YyKQr35hwqQ>IMuZODq~nL4GXk%>opnuK(9DWjxzxZcNE zrrnK=+1I+#D`U0A4K`$yZcSYi!E$BY)s1^rF`r2I5OvXVaW*Hj$Hi5l4yrsnf9%uO t&iT)H#G?4$c}aohhyU6C{rB)=XOL2}XQ;l~kqdM)gQu&X%Q~loCIG~Kbk_g? diff --git a/graphics/event_objects/pics/people/man_2/1.png b/graphics/event_objects/pics/people/man_2/1.png deleted file mode 100644 index e1a38fd4aee24f52eca88e52b8c70fa1d0caedec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 271 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p z)9dNt7$Pxs?>R#*CPyCD3nI~+o4$YGJ9O=Kg?|2o%$OAJ$;X&G%q1K*m{zpv=7^~L z>pwg1fWJb&CzJB0=`KfF|Hi$3*|TrWiLc)cn9G|uCZ_QoU8^kMV0J{#0EB-XqR5EbysNkvMkDNo_P7=%HLYsW_MK7G)`BdYli>; diff --git a/graphics/event_objects/pics/people/man_2/2.png b/graphics/event_objects/pics/people/man_2/2.png deleted file mode 100644 index e05a000ef90fe285c29c450a7a75e11c76d40feb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 257 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p zQ}5~G7$Pw>Ibi|!gT2+?b!O}cVA?JTikOVj^w42 z#acF=y2*9uLDt76jc4y)G#LDwWBH#^>C=DvO@|q!c9?E%$!Wd>bP9u~tDnm{r-UW| D2R>+b diff --git a/graphics/event_objects/pics/people/man_2/3.png b/graphics/event_objects/pics/people/man_2/3.png deleted file mode 100644 index 946a6941b106416841a584b44dbe0688e89087a3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 281 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p zGu_k0F+^f&a>4@j9mU_@#Tq>R_Rcu{T$99}^mB7|Rx=*iQ7ooZ8U8^}fKjrZwef)+ zGjsReNedQSN@r&i6aMS}YyKQr35hwqQ>IMuZODq~nL4GXk%=eHyQg=r7z68?Fujkn zSku;2OuK%Sb<(S>(-DkG1*JOcqZTqHt$8u$B5RVt8YZR*Wo`3~!*v;Uzd1jXUts&E c|LhYPuIrdJ{Ic+}0y>ew)78&qol`;+09PYz&j0`b diff --git a/graphics/event_objects/pics/people/man_2/4.png b/graphics/event_objects/pics/people/man_2/4.png deleted file mode 100644 index eee58063f8a2d59c3e6b3df038129ff0cfcc2519..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 281 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p zGu_k0F+^f&a>4@j9mU_@#Tq>R_Rcu{T$99}^mB7|Rx=*iQ7ooZ8U8^}fKjrZwef)+ zGjsReNedQSN@r&i6aMS}YyKQr35hwqQ>IMuZODq~nL4GXk%=e9yQg>Wv<3<7=@nFVdQ&MBb@0Impb>Hq)$ diff --git a/graphics/event_objects/pics/people/man_2/5.png b/graphics/event_objects/pics/people/man_2/5.png deleted file mode 100644 index c32800118845da99a5d1dfddd296575ae185abc1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 261 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p z)9mTu7$Pw>IbnhRj_U94A_Z!npP6~Ly3yplq{0pcL5HM%2{le%_lC*yY|Pdy){cXw z#m~-YYAGD^(r8W;6|iWKuuoqX#ZdO({%&~%y{G^Al^7p3dCvEpJoOaNISihzelF{r G5}E*n*=IWd diff --git a/graphics/event_objects/pics/people/man_2/6.png b/graphics/event_objects/pics/people/man_2/6.png deleted file mode 100644 index f8e3eb88addbb4ac49012e0421afe3204c830238..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 261 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p z)9mTu7$Pw>IbnhRj_U94A_Z!npP6~Ly3yplq{0pcL5HMISihzelF{r G5}E*e!f1N{ diff --git a/graphics/event_objects/pics/people/man_2/7.png b/graphics/event_objects/pics/people/man_2/7.png deleted file mode 100644 index 43fffd1d781bbc3f1c12d514b3e2f0ae1ea8acf3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 267 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p z)9LBr7$Pw>IbnhRgT2+?b!O}cVA?JTikISgXZkc zOI`+#&kH@Cs_oGA?@ZCms~7oGKFp8Vy6CZu$2)uG>ofTSjx+JHFns=RrJ(3x{0ZnN N22WQ%mvv4FO#mi%YRUir diff --git a/graphics/event_objects/pics/people/man_2/8.png b/graphics/event_objects/pics/people/man_2/8.png deleted file mode 100644 index 8897d2fd30ee8923dd07f1284d79ca54eec7ee2b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 263 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p z)9UHs7$Pw>IbnhRgT2+?b!O}2r|@Zud?}3LHD7 z=@qA7xo(~2vAEBTJ@&HNv0?Mrjdz93Wt@4qK8ca}hztiO!^@49KZRJbGJp z6DSk!$v)x$000+sMObuGZ)S9NVRB^vM@&RePDdbiWpW@hE;Mn4q~QPn00?w&PDe*f zL^A*Y002sWDIWj;00d`2O+f$vv5yPer2o~l|HYKvlyiGQLI2et z-kcC>ISA%bV#NS4VgMMNVoGW;F);ub|Ns90003V0bYTDh00Cl4M@0Xn2lB-L0004W zQchC7RkE zW7>gaLT!bTe1(Job@W+8Vqm~0)NfE=MGEh8jh*z$ABnl|kmsJW z@A=tx&dbPHh@FRc$ zGJ%<m zSiF`{P#niS3R*0d6g}$*a1nF~n5m@@q=bbhl!>4qSJ8In00U$KbG7{2-)?*lgryLq z1gi{mP!2FaCNNhPc#h-xI8@4^iHhScE~pW}0GYsCnZ-Sq3w#Y!eR%Hq{Sm+f8Nggw zE8yJUBSjD?3ppPLm>?6FYq=GMdv#GLca-YX-!fL%?a(h<&H&II@vr*zL5N z9ZwY8cB9es5Y&#EG(QKx0b?uBePPWJs14sF;J(O#nO0`sMA7cybY->?MUBI0#@fvp z1o;5eg;j=P(*c5q1|kFI8q6c$$PeZbctpF}s?6fTD)}8pSk5xdACss14&Yble)6nc zpV2|*U}i1V8jaevu$G=i(d%u2P4Tw?!a^=Aj)iz*1j8d3?{e&{=%ChtvkINqT;E)O zMp|22tKm;Lu~B^j(E!FY2-h`;Je2(8F|TgnRNrmzP@oHV_nx~rR_+HJL6(El)__MK zy%>Q2U@r+s{>R<0_V@u~KX27SD6``v)$Jio(gZc*$z**QvknR(sFCI@U%Qo!Iuu)!JoOW7(L4O^+<@lIbi|!j%snQ`IgLSALrfN`}+*5!sBy^Gn>uQ9husS_*)yD_LPgTvbLU! zOGwzsoph%(A;IwCe~teqZ#Fg_yy@ZTd6Q*D_t6_3HzhOH2YxE6~LZp00i_>zopr0CekotN;K2 diff --git a/graphics/event_objects/pics/people/man_3/1.png b/graphics/event_objects/pics/people/man_3/1.png deleted file mode 100644 index c0762c7ff6cd81b285d948d5593897384a4e075b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 286 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ znd9l=7$Pw>Ibi|!j%snQ`S+O9KEAUnPCL)4@c7(3<8;6ItXy*#jmqZlWJsA~S6jtD z;b75o9)UTf2?;y7lkSu<%w$^P_^a|g6Qjp(E`i0}jg8*LSMTm#t)`psASlkV_?gaP zRvy17V{5B4y`aQ`ZL=<3ytwm5OXE@7#fulOWy#>Hj>^c8@~~dNv2(NGjKb${=57{0 hptt8hwfM=033$DB|G~ z)>MnxDUFhEH1l32uys$`$ULL)_nEu=0n_ifmsv1)vg&%2PCRiK=oSV~S3j3^P6IbnhRj%snQ`IgLSALrfN`}+*5!sBy^Gn>uQ9husS_*)yD_LPgTvbLU! zOGwzsoph%(A;IwCe~teqZ#Fg_yy@ZTd6Q*D_t6_3HzhOIbnhRj%snQ`IgLSALrfN`}+*5!sBy^Gn>uQ9husS_*)yD_LPgTvbLU! zOGwzsoph%(A;IwCe~teqZ#Fg_yy@ZTd6Q*D_t6_3HzhOekTRaSB)h9TtfJhS4oD8>`NE^WACV9@-1*F@bTse6{6 fKXiwyM4aJTv7txwo}gPmM>2T2`njxgN@xNANqTpQ diff --git a/graphics/event_objects/pics/people/man_3/5.png b/graphics/event_objects/pics/people/man_3/5.png deleted file mode 100644 index 9f30a6dad91af16793d907ba76d79b9cfe6ebcc4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 275 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ znds@_7$Pw>IbnhRj%snQ`S+O9KEAUnPCL)4@c7(3<8;6ItXy*#jmqZlWJsA~S6jtD z;b75o9)UTf2?;y7lkSu<%w$^P_^a|g6Qjp&_Ku534;)C^`Rd)>slg3AlcyS|pPR)J z^2T)Y;^Z!&2?tFVFJ639;zYvv7cVlj8DAy&bMyML?|#0i@GYys<8zW6ye3jEObpg) W?*4}!-IbnhRj%snQ`S+O9KEAUnPCL)4@c7(3<8;6ItXy*#jmqZlWJsA~S6jtD z;b75o9)UTf2?;y7lkSu<%w$^P_^a|g6Qjp(E`i0YCqB$6{r+y%Nr$7ewA0VcdCHTb zQCU`UCg#wA14(Z#Uc9)IVZ|}q#fulOWk{)w%*c?Maj^RC4Y5Z?_l(mM^H`;L7#srJ Vg{xNUp9Z>(!PC{xWt~$(699R{Z6*K! diff --git a/graphics/event_objects/pics/people/man_3/7.png b/graphics/event_objects/pics/people/man_3/7.png deleted file mode 100644 index e70347dcee157d1f6359c01de616b21ed47285e3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 266 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ z>F{)M43U_coUlOu!QN^{r~8)0VrO;~KRY8iL16uYGc)fhDDH1RRPOhl)kuc5^?j45 zC70Iyz189;3V!h?YiL^EYLd`7cFavJK{&Rj_k9!ZlUFfY84g9w*@?_8pKn_2RIZ|t2Z=bD%NGyX9DCx7Xi|NJ}*T$%=xFF&u90J@36 M)78&qol`;+0QiS#B>(^b diff --git a/graphics/event_objects/pics/people/man_3/8.png b/graphics/event_objects/pics/people/man_3/8.png deleted file mode 100644 index 274a0228003237be93a5285b697443df9861c229..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 268 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ z>GE`O43U_coUlOu!QN^{r~8)0VrO;~KRY8iL16uYGc)fhDDH1RRPOhl)kuc5^?j45 zC70Iyz189;3V!h?YiL^EYLd`7cFavJK{&Rj_k9!ZlUFfY84g93$D8kV7 zB)7|E9dE<3LI$IME0*q5x!o+`rKxx9e`C-8c3Fvk^$bQo{x@$0dhm(CSH+7ra)GX5 N@O1TaS?83{1ORzNXyX6? diff --git a/graphics/event_objects/pics/people/man_4.png b/graphics/event_objects/pics/people/man_4.png new file mode 100644 index 0000000000000000000000000000000000000000..4419e4c95799586846daaad8c96c2f40f6617504 GIT binary patch literal 858 zcmV-g1Eu_lP) z6Dc%P*t*C7000+sMObuGZ)S9NVRB^vM@&RePDdbiWpW@hE;Mn4q~QPn00?w&PDe*f zL^A*Y002sWDIWj;00d`2O+f$vv5yPer2o~l|HYKvlyiGQLI2et z-kcC>ISA%bV#NS4VgMMNVoGW;F);ub|Ns90003V0bYTDh00Cl4M@0Xn2lB-L0004W zQchCBjE7>2(=U@(YcI(Q5yLq|arC}fG+8d^N0lieRs zEUk76y3wnf!CiA2YC}9!qLKeV`U`4c5AnG>mQ3Tnf3qcu`JQRsx`LB_C12Tg&XE7mQ}&0T-CB_L@Q<{kVTR(p;N0= zs`%tkp)KZusX!JP=refwa>>{h@92{779iA6oJC>aZ zWRWaPs1%EZMxkLU)NC;mo)q3Pyp&WRiEarKDvt_3_X=;Yh%S|i_8v0)E~!8g$-|mkq9|HWw*I5(bslMNM+{^@$NEW69#n3dv1b9G2bIQiS;XD(_B1xDM@;$>Scaafe z5fVy<(cBWqB3YOaK6)>Ixu-}!iu_Y*IJtHa>qJ28W8R2_u%8K2uDtft?GQO9Lcm*C zr068T2amWg6`e$si3|LR`7=6)CttiHDmrgZIUVG!7N-M2=f=nRF$qKwa%o~lk;up; zor^>P1ZR;bI=XI8Kb)J&(X`cSpVNVbjzv&Lfg1rtSj2mjQAC-D8T#7F7eyUyO)Lkq z+4o*X$S;q75Kz!DOvPBCi0%eO?+Ud6Z^#s7rrmw11WIbi{}hJO2{%*+I_>WrwU48{q8)1;)NrtwYl^w(xSwQ>4%(PiD!#SJ!e zbaRVwiCGzJSixO4MO>#SA)&zR*OK))Od)5I)+|Zk5lMIum6Y>lE5nJ1jhFtPUZbb* z`1z@Q;+vl_PknLzO|{`?;eg#&Pwx}|EXEvKy|()MyQ@MAW<_rfTN|}g?8Jju%j~CX rxD}4Q-CX{yNrIgTe~DWM4fM{;&X diff --git a/graphics/event_objects/pics/people/man_4/1.png b/graphics/event_objects/pics/people/man_4/1.png deleted file mode 100644 index d73e6ed5c76ea3748773188be7d2d7e854c272b7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 285 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ zneFM~7$Pw>Ibi{}hJO2{#FYtR)e%uqS&S0`#b!+to5h#3q^-4;QSwb{ro)7|0|$cm zlBQTQNIHaBPB{2suMEel#;%`^J^T)A*Z+U|^q;$-M|AbS|M6E@Q~tzQ7C&3_lZQv= zm$9`~S{+l?_Nt2)FK(AuaX0(!?(+517_Q!#wKePNsjUud?@vW)r^hlFzMHeRSnNo` gj_StmdXo+_ij>(&?dSTC4Rj`hr>mdKI;Vst0Pa6?rvLx| diff --git a/graphics/event_objects/pics/people/man_4/2.png b/graphics/event_objects/pics/people/man_4/2.png deleted file mode 100644 index 6cd7f579812401c1d49a5c3a69d72095b42b903d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 259 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ zY4mh)43U_coUnjfLtnq)LT2Vmg;}<`y1H8#lqQIA32Etb`|~mz-Z?t?^norJ*6!1n zPdV~bKKxW9aM&|`=Y>6TClUmdKI;Vst E0Db;qKmY&$ diff --git a/graphics/event_objects/pics/people/man_4/3.png b/graphics/event_objects/pics/people/man_4/3.png deleted file mode 100644 index 2486efd7f320967c2bf761ca01aa95d277f96587..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 283 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ znd#}`7$Pw>IbngmhJO2{%*+I_>WrwU48{q8)1;)NrtwYl^w(xSwQ>4%(PiD!#SJ!e zbaRVwiCGzJSixO4MO>#SA)&zR*OK))Od)5I)+|Zk5lQ&5^~jAI*^B`W^-KRxkKEkA z^LuKoz5@^2`k4;L>J^$_r{3@Wsc<#s^}W5-i&&D*L~YGl%Y8ytJAK_=hO!%XZ3SjE ee%I?@VVHl&VAD3Gj1Hh989ZJ6T-G@yGywntVQrfL diff --git a/graphics/event_objects/pics/people/man_4/4.png b/graphics/event_objects/pics/people/man_4/4.png deleted file mode 100644 index 732ff9c8dfe3002f6728b2bbbf8f0f792ffb5d84..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 284 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ zndRx?7$Pw>IbngmhJO2{%*+I_>WrwU48{q8)1;)NrtwYl^w(xSwQ>4%(PiD!#SJ!e zbaRVwiCGzJSixO4MO>#SA)&zR*OK))Od)5I)+|Zk5lMIum6Y>ltK5l*otOTfUgOWF z;C8<|a(-jae}`jdR28<`|BgEo&5)w;b8q!`t`i9bJGW+C^%7`q{C@3Bq`>r#^Y(F< fzP`)N!^0pPWb|gw%4PLHS2B3I`njxgN@xNAs^M=} diff --git a/graphics/event_objects/pics/people/man_4/5.png b/graphics/event_objects/pics/people/man_4/5.png deleted file mode 100644 index 7e20d5af9a70f6a143023221ba0e5e124ef41915..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 277 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ zne6G}7$Pw>IbngmhJO2{#FYtR)e%uqS&S0`#b!+to5h#3q^-4;QSwb{ro)7|0|$cm zlBQTQNIHaBPB{2suMEel#;%`^J^T*G*8hL{^uM@)!G;&>fBmn&s-tkY?&+DCn;Ur8 z*3XocHU7^m8KZAy^{cn>*3N5ttG~N&9+|N<>uQwv1naPKG1ZK3HtbGUFkyZlE5OMR X!)uVMfbRL7JtDnm{r-UW|3O8%l diff --git a/graphics/event_objects/pics/people/man_4/6.png b/graphics/event_objects/pics/people/man_4/6.png deleted file mode 100644 index 3d4ae58f016232847e35f503fb512c8b36da81d7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 279 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ znd<4{7$Pw>IbngmhJO2{#FYtR)e%uqS&S0`#b!+to5h#3q^-4;QSwb{ro)7|0|$cm zlBQTQNIHaBPB{2suMEel#;%`^J^T)A*Z+U|^#65Z&(zib{>OjiT#@$l)J)^_S~jD9 z=ij`Tv9qPI@#qhCclY~D3eG3r-`ySVz}9?vZRqN-CJCNB+tbc9?dbV_CU!;i`?!Pz a28Ponmd%b{y_F{)M43U_coUlM&Ltnq)LT2Vmg;}<`y1H8#lqQIA32Etb`|~mz-Z?t?^norJ*6!1n zPdV~bKKxW9aM&|`=Y>6TClU6TClU z6Dud>P??kf000+sMObuGZ)S9NVRB^vM@&RePDdbiWpW@hE;Mn4q~QPn00?w&PDe*f zL^A*Y002sWDIWj;00d`2O+f$vv5yPer2o~l|HYKvlyiGQL28Sv zIZ9#(5Fpiaq@+P}QXoOq)zyoOltDpK|Ns90001r;HD0Ma8NL%Su%#$h7L^$M20L4RcwKV*rVM~ z;1lU2xk4`~g?tR-lA%*e*OJZ2(gsSf4WaQ?^*f|pI=b(x^PR-iZK1PodGwQXzej%$ zU_I7jJ^nEeZASmsBW2!zy*@5;_y@si;gX^+WskN*SIRC^O4*Of0$XGWHB;H`@)q`} zfX={__^c$bMV7D-hiR@%`2;S+wATv@fgy`Z)IuZ1cry$!5^6#OF{*3T0z(#+xfE(9 zo7)fKK^*XOnt*T^zes7K5g4+lpb=_154XQ>Z45lYnVYKwd#5R_kSXu-f?#K_U{UTEwY4$@b$`d+n2-z;(`di>z?LN zf?VVmB3q~lS?2q*8FR5T{luU_!BSL84EdvqK`4N%+yzLPO{AbTpcN@ih5fkG|0XET=R<(wF(w5eYc=?U3Kci&^j7L5xcNQ9 zyxPu-vUxRsmMOo@upo#e;I}ELxYYn?HAoPx$cfwj%zSm_2K>|Blk_vaDM-Kbaio?R zO!%1ws1_hABl?KL`~v)Zhd3LaTt@`~N29#xt$e2zu$S_=m5)^~N-8>$s7>_QmnoJj ypsH1>6E^RQd(dQml3Zz%8!;0000SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p zv(VGUF+^f&a>4>`4gK~@nVAV<)mc$d5sVW8r-@0;n#MQDQ=j?t#_8f+%a>0VH<;3) z%_Sx#y32UO3hlZn;#x%s2?gfAmaLCq3OSRsW=RTrW_r-q(Hl=4KwA zJ^QrJ&zV{Jl!>|f-OQQB=VO4HHrnp3{yy)t!rQ02%cnPQnLd@7@kG!%lLc$J9p23} m-uo$q@kT4_o2MRp>SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p zGu_k0F+^f&a>4>`4gK~@i7OMtsxzXZG8iKiba{0`*n~XUPfc0c+O}+|IK$Q@jEn)w z)*Yd7aSTSREDc>h_fMaGy`I4+@4vqO|NY`8b`(GV|9^A3q(nt+_&iJF*QZ$7#O@j! zr_bB@ZbP0l+XkKJYi~( diff --git a/graphics/event_objects/pics/people/man_5/2.png b/graphics/event_objects/pics/people/man_5/2.png deleted file mode 100644 index 95ee60f02a37ee537176962171dfa9bfc0cb4a74..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 253 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p zQ|;;E7$Pw>Ibi{}hQ5Boh0M&C3bSl=b#+BmLgLs`TAD+rw6-=r;X1vrONP7q^rcgd zJe5z2HZc1AI_3IIK~O9?S@|=+LUT+{@9TqVn=NiPvr6R6zgI1G$l_70_?aD#moTMT y%yw9E!~4!@#hxubD-NffYcaTS`t(FuK86kR)$O=16|@4K!QkoY=d#Wzp$PySO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p zGuhL{F+^f&a>4?A4gK~@nVAV<)mc$d5sVW8r-@0;n#MQDQ=j?t#_8f+%a>0VH<;3) z%_Sx#y32UO3hlZn;#x%s2?gfAmaLCq3VD;XW=RT`6kKb{qX)w5P@EtRQ YUxxP4!s!Z9K<6=dy85}Sb4q9e0BcigNdN!< diff --git a/graphics/event_objects/pics/people/man_5/4.png b/graphics/event_objects/pics/people/man_5/4.png deleted file mode 100644 index 23e440b883fee003bbc9a5f55cb06ae9924f1f9b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 276 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p zGs)A%F+^f&a>4?A4gK~@nVAV<)mc$d5sVW8r-@0;n#MQDQ=j?t#_8f+%a>0VH<;3) z%_Sx#y32UO3hlZn;#x%s2?gfAmaLCq3OSRsW=YB$CZiW!8#kU;TOjgYPJH_2cE_H{ z>F3VuVw&=BuW|9SncNO-lTW?7TkXJ;KKbtM(~i?N?U;U8CS>X~*2E3xXYv(m2XHdf XWb0&2UH)bZ&~*%+u6{1-oD!MSO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p z)8*;n7$Pw>IbngmhJO2{#FYtR)frJy8H^JG#imW0Hj8f(V<*GY8>cTjIbS}--4J!D zfnmi&*&|x)T@0-b3@c{*udb~8%dT+vcYWp0dWEx#il6`ge_6bN=l0a}b7vThBx=r| znNultg|)cPF(tQclTUhg>#zvg$#z%mg=@!tof9}*m97sOrF8~w(-_ke;-c* Px{ATm)z4*}Q$iB}+%9d% diff --git a/graphics/event_objects/pics/people/man_5/6.png b/graphics/event_objects/pics/people/man_5/6.png deleted file mode 100644 index 7ee45b6dbd619669b16d69c3cebe2c9d4bdea3fd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 267 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p z)9LBr7$Pw>IbngmhJO2{#FYtR)frJy8H^JG#imW0Hj8f(V<*GY8>cTjIbS}--4J!D zfnmi&*&|x)T@0-b3@c{*udb~8%Ra&J|LN2J^BFJgss8uhzWM~?35&{SXV#onI5u~t z@%b1=FUys0?(KcfG~r>+rfTyO5^Q4Mi)J*hx@4rt^Ud;dVjim&BSUh4iC4rlD`B9c O7(8A5T-G@yGywo$NNU3X diff --git a/graphics/event_objects/pics/people/man_5/7.png b/graphics/event_objects/pics/people/man_5/7.png deleted file mode 100644 index 24a578a345371a67b5bde8c511cf3a232f1fa7aa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 256 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p zQ|Ia87$Pw>IbngmhQ5Boh0M&C3bSl=b#+BmLgLs`TAD+rw6-=r;X1vrONP7q^rcgd zJe5z2HZc1AI_3IIK~O9?S@|=+LUT+{@9TqVn=NiPvr6R6zgI1GsG!kkoyN}w$v3LU z?2aFtHf{Hm>Hh4-4bvJW-aKVZHCFUv*(52!Fw;+qUn#(z2j~(8Pgg&ebxsLQ03K3b ArvLx| diff --git a/graphics/event_objects/pics/people/man_5/8.png b/graphics/event_objects/pics/people/man_5/8.png deleted file mode 100644 index 6040f6f4dd436e6c3b36cd51beed7c300c127338..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 257 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p zQ}5~G7$Pw>IbngmhQ5Boh0M&C3bSl=b#+BmLgLs`TAD+rw6-=r;X1vrONP7q^rcgd zJe5z2HZc1AI_3IIK~O9?S@|=+LUT+{@9TqVn=NiPvr6R6zgI1Gs$eH~+MS(?o^Ws5 z@~mT{^@&THJ{3(bnqWCK)1lds=iAK7k_vt;6By=y*OJIh+L;A(3WKMspUXO@geCwd CO=Wlh diff --git a/graphics/event_objects/pics/people/man_6.png b/graphics/event_objects/pics/people/man_6.png new file mode 100644 index 0000000000000000000000000000000000000000..7832e9f2a91ec02d88fcc930e0d217ee76941f4c GIT binary patch literal 857 zcmV-f1E&0mP) z6D<%6x0@XR000+sMObuGZ)S9NVRB^vM@&RePDdbiWpW@hE;Mn4q~QPn00?w&PDe*f zL^A*Y002sWDIWj;00d`2O+f$vv5yPer2o~l|HYKvlyiGQLI2et z-kcC>ISA%bV#NS4VgMMNVoGW;F);ub|Ns90003V0bYTDh00Cl4M@0Xn2lB-L0004W zQchCBjE7>2(=)FANSsk?2+5K5rRm{MU20&YSl%WD^% zY0`pfh;Qt_2q=>V6UdDjvM8AnvRI;_HC>|6zfelY7We(6N*Bvcht9d>xmTxqpOa)v z^f(^J<+9*GVM)((U7smLM$vc2gJr=(!h*E} z(eI0aUmLrw=M8<5LJYmZeL+Q35o%(m6n;&3{k|)F+LqGm54E5oS`rqdaYM?+FuQ<8 zqU}*@j6N+`6jg;Kji(Ka54ItBgS4sBM3K~js;D9?X{@yyjn2q6)+EM=i@KO-K}EDA zEJ)qwKQ>yMM6bE%Cl)qZQhvNASQJ%-CCRXwP0PkxpG!HnIa{Nb-?gABst8Nc?UiNi zT!5eE^Isr2D9VrvGLeH^h?tHR7Nj(FoFoD7;`lD%BX%ubUx#3qf3Y)&PHkfyqTigq zL3nDH!h-eWYaG8%Z|X@J$4PpFqfIZ+XKX<*MXaAgbZHw~5Z!XVfbh~Tge8q<@%~x- z*#@HsK1Ct1wJl|20cYZ}H^RG$>>00000NkvXXu0mjfYg2ON literal 0 HcmV?d00001 diff --git a/graphics/event_objects/pics/people/man_6/0.png b/graphics/event_objects/pics/people/man_6/0.png deleted file mode 100644 index ddcd545aa5e35ff5e461988e9f89ebc7db3bf972..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 304 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ zS?B5E7$Pw>Ibi{_hQ5Y=x<0$nsYAhsy)HNMe7kaG!v-dW*jZvyv&7;K9GDk2kIltl zq0zxlMUD%k#0ni1G)fW@0>cGGO0FVdQ&MBb@0Dzr# AQ2+n{ diff --git a/graphics/event_objects/pics/people/man_6/1.png b/graphics/event_objects/pics/people/man_6/1.png deleted file mode 100644 index 0d7007e105282eba66d201e146ec25412581902f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 298 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ zS>fs87$PxsZ=WI8AqN51Yz*RK_uAWEjI(}!SMce% uMmD3>v)7$d?7TU5$K1No+(&hB|Cy9uJ4IW63;YXoGlQqApUXO@geCyi`FiL8 diff --git a/graphics/event_objects/pics/people/man_6/2.png b/graphics/event_objects/pics/people/man_6/2.png deleted file mode 100644 index 4daabc15d51ec1216f68f51e0b60f43245586c8a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 260 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ zY4UV&43U_coUnjBL0?~=!T8jr;M1oanKBn9rap9VtBi`O(&~5^7dKC87GIKx=JchF zA=a9Vl1~%biY+6iPu^ElS!p}rU{X#@%74a`1>6%D&1N3GDWP+q;P;n%n+1*uzTcg2 zOjcb~K7T;nrNDhsXYB{(yOLWs|#-3IUj`ikmVu7w<@O1TaS?83{ F1OV4&Vif=Y diff --git a/graphics/event_objects/pics/people/man_6/3.png b/graphics/event_objects/pics/people/man_6/3.png deleted file mode 100644 index 0373f371df9d39cc31d6b9e7c7a82020e124fc46..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 287 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ znd|A|7$Pw>IbngihQ5Y=x<0$nsYAhsy)HNMe7kaG!v-dW*jZvyv&7;K9GDk2kIltl zq0zxlMUD%k#0ni1G)fW@0>cGGO0hA8jz6W|jS5LEOh?!RkTw??w{Pp$wj`elF{r5}E)XbaQe5 diff --git a/graphics/event_objects/pics/people/man_6/4.png b/graphics/event_objects/pics/people/man_6/4.png deleted file mode 100644 index b0d8ee81483bc44965a7dd1d199a0e3ced739d75..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 287 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ znd|A|7$Pw>IbngihQ5Y=x<0$nsYAhsy)HNMe7kaG!v-dW*jZvyv&7;K9GDk2kIltl zq0zxlMUD%k#0ni1G)fW@0>cGGO0=&Zg?`t5_A@#;p!(l;nw7o#xlP iW1_Yx_p7K0JPaT6bPr$qKFJ2?PzFy|KbLh*2~7Yd!g6{5 diff --git a/graphics/event_objects/pics/people/man_6/5.png b/graphics/event_objects/pics/people/man_6/5.png deleted file mode 100644 index 3f95859a1c74407aae9faf932f2fef41a2e2e144..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 284 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ zndRx?7$Pw>IbngihQ5Y=x<0$nsYAhsy)HNMe7mw`%LXQeSTV6_vu4E|I52OTl$6vo zHW4j z-WG4rxo@3*ZVsbi#rZe)ip9=Y?5*BDnQOwqty$mm(uEC@udY(%Q<$E5E@mskny~c6I_?$>8bg=d#Wzp$P!Cc5dVV diff --git a/graphics/event_objects/pics/people/man_6/6.png b/graphics/event_objects/pics/people/man_6/6.png deleted file mode 100644 index 5a89dfc33060ddabba975d7fa5db8c0189fc24c0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 285 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ zneFM~7$Pw>IbngihQ5Y=x<0$nsYAhsy)HNMe7mw`%LXQeSTV6_vu4E|I52OTl$6vo zHW4jGX7Q43U_coUlMUL0?~=!T8jr;M1oanKBn9rap9VtBi`O(&~5^7dKC87GIKx=JchF zA=a9Vl1~%biY+6iPu^ElS!p}rU{X#@%74a`1>6%D&1N3GDWP+q;P;n%n+4jqrxd!L zWIyvDD(Ove8RLYFSyNB13XM!Swkp)vk!M{fci1xB28(IgqRh+;lV9k_3TKxT0UgEQ M>FVdQ&MBb@0Jc diff --git a/graphics/event_objects/pics/people/man_6/8.png b/graphics/event_objects/pics/people/man_6/8.png deleted file mode 100644 index 3db124eab4708160797654018c060acd011d0e53..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 266 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ z>F{)M43U_coUlMUL0?~=!T8jr;M1oanKBn9rap9VtBi`O(&~5^7dKC87GIKx=JchF zA=a9Vl1~%biY+6iPu^ElS!p}rU{X#@%74a`1>6%D&1N3GDWP+q;P;n%n*-WT#~M67 zC#o7RaJKY$$HweJUVM5mLJ~_bQ6Q8 LtDnm{r-UW|b$Mkn diff --git a/graphics/event_objects/pics/people/man_7.png b/graphics/event_objects/pics/people/man_7.png new file mode 100644 index 0000000000000000000000000000000000000000..5a43e62e07846cc6f0ef02dd53c0844490abbb25 GIT binary patch literal 832 zcmV-G1Hb% z6D~ILmrWx8000+sMObuGZ)S9NVRB^vM@&RePDdbiWpW@hE;Mn4q~QPn00?w&PDe*f zL^A*Y002sWDIWj;00d`2O+f$vv5yPer2o~l|HYKvlyiGQLI2et z-kcC>ISA%bV#NS4VgMMNVoGW;F);ub|Ns90003V0bYTDh00Cl4M@0Xn2lB-L0004W zQchC{K6vtn&)h1*^tgl(DNX#YfRV3yRXxzrHVMS?S zZOpQb4F$Um$P|{e zF5Pm=eWWNF zqJPE@`tDqz1H{n9UGgQRshCtG`*r>~1Q-PMT~$H2yY18y2|f>po2XC2y=!pg92^7Ccy$hVJh`N zwsx|8I++G-^JT39at&#v-cPpv0-q+75B#m1-Ey`**6XbDjs5_kyF9mkU+pyj0000< KMNUMnLSTXxs%bR< literal 0 HcmV?d00001 diff --git a/graphics/event_objects/pics/people/man_7/0.png b/graphics/event_objects/pics/people/man_7/0.png deleted file mode 100644 index ce99c5a53f6f1e13b71485aba7a42d05637d665d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 298 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ zS>fs87$Pw>Ibi|wj^gj{VhtXDduN<}u1R7~`nfqfs~L~%C>B$y4F8}fz$jVI+W5eZ znYnxKqy-BurL(h%3IFx~HGht*gv6ZQDO0BSHe^NgOr6rx$i$;PO+vc5lu=SUT<_y7 z)9%K`>}y@=m9g651{*R;x2CR%V7apH>c%~*m`@~ph`MOGIGdB%yre+$!~g96{(JbbGf1h~GgM#g$OXEY!PC{xWt~$(69BSvbl?C0 diff --git a/graphics/event_objects/pics/people/man_7/1.png b/graphics/event_objects/pics/people/man_7/1.png deleted file mode 100644 index 4339d248110bac138fbff809663aa9c66b65c3dc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 271 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ z>GgDR43U_+_naXYlOqr71(9gZP2WH89lCbALO*{(W=snAG#Mkcz%;ilS6VrH)u2mLrFgqe_-Q9D7(L%=f ze)NHyH{J(bVgs8^v`eqox+^q%Sr+9sPrUqbIbnhNj^gj{VhtXDduN<}u1R7~`nfqfs~L~%C>B$y4F8}fz$jVI+W5eZ znYnxKqy-BurL(h%3IFx~HGht*gv6ZQDO0BSHe^NgOr6rx$ix%p-P5~QjDdAcnBK=( ztZ8d1rd_|vI_Xu`=?KQ8f>NFJQ45)p*1VW=ku}L+4HMIZvbOog;kpdF-<+SxFR=a7 cfA)zC*LBPqepz@~0iDR;>FVdQ&MBb@07QRn*Z=?k diff --git a/graphics/event_objects/pics/people/man_7/4.png b/graphics/event_objects/pics/people/man_7/4.png deleted file mode 100644 index a72a8393192532cd8bacf1ab812575f1fc39f397..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 281 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ zneOT07$Pw>IbnhNj^gj{VhtXDduN<}u1R7~`nfqfs~L~%C>B$y4F8}fz$jVI+W5eZ znYnxKqy-BurL(h%3IFx~HGht*gv6ZQDO0BSHe^NgOr6rx$ix%l-P5~wT7!i4^op}l zJR(sWA4SHA&$xJX+D0aor&qS_S(VJ#v2jtcn|Q~;O7TX=^{gZyqIrjH| cW@csvg?#gR?sM5YfKFuaboFyt=akR{0GniP^8f$< diff --git a/graphics/event_objects/pics/people/man_7/5.png b/graphics/event_objects/pics/people/man_7/5.png deleted file mode 100644 index 3de7bd28bc5404d3f1e5fe9a7e572c5b4375353f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 261 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ zY4&t+43U_coUlNDNA>r2kpi{P&&<4A-DvV&Qeg*!phHr_l{>74?~DvK++d0<*SBtv za9~I=_|Ys8-;lNA-~GM6>lr6J-1_hT|9A(s?yIL%d&A^;HfC!UYsW#; z;%8?xwG@tdX*4H_3RpBq*r%_HVkmoXf497X-qZj5N{kPiJm>pPo_Y%C90pHUKbLh* G2~7ZTfoDVj diff --git a/graphics/event_objects/pics/people/man_7/6.png b/graphics/event_objects/pics/people/man_7/6.png deleted file mode 100644 index 2c9c2ee8f64f64d9d823613b247f28155fb156db..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 261 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ zY4&t+43U_coUlNDNA>r2kpi{P&&<4A-DvV&Qeg*!phHr_l{>74?~DvK++d0<*SBtv za9~I=_|Ys8-;lNA-~GM6>lr&X{`>zw-rJ#PruUvSUA9$`hS|@~geJIMUlnTX800t4 zIQ?7GX7Q43U_coUlOu!QSfcIy3earer2o~l|HYKvlyiGQL28Sv zIZ9#(5Fpiaq@+P}QXoOq)zyoOltDpK|Ns90001r;Hezw7=}HZl&P{Zb&M3Tg)Uq+g19yjT|oSas<$Rm zl}wcX6ow8VEEyOYm#ReS5Sv?&IslPDRhUj6-)p#Y>VzWpe2Vnwv(NA2^F! zKZQ7A0MMAa&h0C) zJ?HaDYdmJ^(MU0ce)omfMGXiph1dayNz}l4^x!Zlg$1KMrIo%)qP_FQ;_VebF#md? zc)SGxb_!0Cs09&vaFP_llF<_cd`t>*(7{7&>;(kaDLCUE^XS1D&Sbh!2%0aZI1zCO z!-=ODv|DG49V~djUj@9p+mE;xv--u@1%0l&z=11IQ8{|%fZ(POZLquEi<9{L%mp09 z@4-qx?WbK&A(jpmHV~q09XGRc1Z;UKqH%e)`(F3+rb;-Ox)~ zx&fIl|4iUdw#wqhBV&KxfU>y2g5Ks%OeF8WoBcG|O?@#UUH1#!psNBCM9VJ#0000< KMNUMnLSTYD0#pwG literal 0 HcmV?d00001 diff --git a/graphics/event_objects/pics/people/maniac/0.png b/graphics/event_objects/pics/people/maniac/0.png deleted file mode 100644 index 01f06691057626b0c0aa674d327033c0e5f768a5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 288 zcmV+*0pI?KP)8IuY0000mP)t-sbH$|p z)wKV`l-`tcdqF{Ji>x_HVh9i*)pMkzL32_dLDkjOi;I*&K~n$!{{R30E*dwM00001 zbW%=J06^y0W&i*Ho=HSOR2Y?GV4w^5{~t=<{R?LC-#LHh><1v@@0t5R1eW@U4y$lR2x@Yg4y>rQdfyMUpyLWpoJ1{V~-`TzUYza_JIT!#L>}Ba?=>;J7 m{Jma#{{z^CANcSO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p z)8Xmj7$Pxs@41bn4eS7xTNuRD^F~g-MQo0{+Sj3&i>@CS(f;~ zI&gFSna^);1{HhkiCUDr?p$H%0ClKKl`;v+9ifW1yQD NJYD@<);T3K0RZ2+Ym@*0 diff --git a/graphics/event_objects/pics/people/maniac/2.png b/graphics/event_objects/pics/people/maniac/2.png deleted file mode 100644 index ea211288fc83e2d003edd9c137cd6dbb891dd3b2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 256 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p zQ|Ia87$Pw>Ibi|!kN@&s_xEzAeZ0T7`ujQd2?y@)ERz~5A+mO zc4U1oZ~cFe&El=tpA`P24HDXtGaGn|49(hRoPAXM&HjW#oAvLw`|P(%f1lmCS)gt5 zxj2KxcW$Ox&p0^mQ5aw0h3#LM*gBd|aR8IuY0000mP)t-sbH$|p z)wKV`l-`tcdqF{Ji>x_HVh9i*)pMkzL32_dLDkjOi;I*&K~n$!{{R30E*dwM00001 zbW%=J06^y0W&i*HlSxEDR2Y?GV4yGf{~t=<{R?LC-#LHh><1v@@0t5R1eW} zy#Qp`+&*lx_bt#s-?Mkl-q{Oe@ScA6ZjTC(!G34=?z1K!MmZ2TfZS1*UjG5=FbEB_ b7DNI7Wtm486%*Vl00000NkvXXu0mjfdzg6H diff --git a/graphics/event_objects/pics/people/maniac/4.png b/graphics/event_objects/pics/people/maniac/4.png deleted file mode 100644 index 93083333da265f1e74aadcdac759cabd0a8072f4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 279 zcmV+y0qFjTP)8IuY0000mP)t-sbH$|p z)wKV`l-`tcdqF{Ji>x_HVh9i*)pMkzL32_dLDkjOi;I*&K~n$!{{R30E*dwM00001 zbW%=J06^y0W&i*Hl}SWFR2Y?GV4yGf{~t=<{R?LC-#LHh><1v@@0t5R1eWkU9<#hVpyFC|x4Cgz$cb_c)GFZxipaATS?`7!_m+{~I d4|6NfTma|sNsa&UT7>`r002ovPDHLkV1hLVfI|QP diff --git a/graphics/event_objects/pics/people/maniac/5.png b/graphics/event_objects/pics/people/maniac/5.png deleted file mode 100644 index ac18fea6e4bf77a34debf50153a594ceec73fcea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 259 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p z)9C5q7$Pxs@41b<%?<)A2l#aaBTXLmTv2S4UcgtL(5}Z5!#KxLahs~9PVwt~=Cj57 z{_XbGyF1n$o^8P`zUa~`Et{FM-&Nd+ue5$+e{=13?p^HR*53Qpbpaj2;OXk;vd$@? F2>`ZxW_|zw diff --git a/graphics/event_objects/pics/people/maniac/6.png b/graphics/event_objects/pics/people/maniac/6.png deleted file mode 100644 index d8db270388774adbff741bd717154f3d8d2df2f5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 257 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p zQ}5~G7$Pxs?>R%hLk2vo7kJiaggX^TT=RRocUN2Q#;sQxd;k4n3pGC$&G|7LjPwmdPv5VZmv~5BW&?yX_u6{1-oD!M< DJZ5Wm diff --git a/graphics/event_objects/pics/people/maniac/7.png b/graphics/event_objects/pics/people/maniac/7.png deleted file mode 100644 index 647c698380236df80c20b9cf297a6a144579ea10..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 263 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p z)9UHs7$Pw>IbnhRkN@&s_xEzAeZ0T7`ujQd2?y@)ERz~5A+mO zc4U1oZ~cFe&El=tpA`P24HDXtGaGn|49(hRoPAXM&HjW#oAvLw`|P(%-=EpNIpLV- z(&FlaJwlH!-#)mlzSvWn-S}U<_j>l%zy3db|Ce9D{1fw8W`;5`$JDch%6UKsF?hQA KxvXSO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p z)9C5q7$Pw>IbnhRkN@&s_xEzAeZ0T7`ujQd2?y@)ERz~5A+mO zc4U1oZ~cFe&El=tpA`P24HDXtGaGn|49(hRoPAXM&HjW#oAvLw`|P(%f8U+CUErAT z(#;8Om0ceTH@v-mIp&gM*U$fT-s}G}6e`#s>HL$R$56xJ5EJ&)YBSI=44$rjF6*2U FngEX2Zqon& diff --git a/graphics/event_objects/pics/people/mart_employee.png b/graphics/event_objects/pics/people/mart_employee.png new file mode 100644 index 0000000000000000000000000000000000000000..7688c86eef7e1d95d452957828a25d4656e26e91 GIT binary patch literal 891 zcmV->1BCpEP)er2o~l|HYKvlyiGQLI0$* z)oOc-K~j{(_F9X*5HV7;q+)w>K{+`X|Ns900013rp2q+H00Cl4M@0Xn2lB-L0004W zQchCG=+#n)tDcy@-Ajv`KLC9=KQSgvmPf=otgZc&H`^K_$`y7vDsM+lWL5TbM8{c8Zzffs7|gHFI#R$GWJGz^p`03D0-Bzp30cY%hNB|m02PR5e^UhkgpsK{_y2D>$?5IlpfO$ng<0hoBU274#P{Rx8Z>x}6F8*sAdP`4<=GLw+wQ z;3`N5CQ2WdelO1F@e)ylpge*Sz*UeAOq2{KlW__}H<9xb-dW1`Q-BWAfQizLXO8pW zE$buRknl)mV7^b^BY98@KlM8fe%!-$&3g z14fuwXV786Sax0a75qM592NjXUkoNAC%H-mBi9(!w@Ta~i&=>kGvFK(-!Z7noZ=o9OQ`sg()$x==cc(}O0Z)JfmuoDJFo`LLXm{|dkUUPFtfue-QB9Q-)%jw5k#dNY ztV{U=LBY6p3V(0h;}4rmSyl&;x$T!j6?A`RcN0OCo!trso>ZcPD)8e2Ebymz^C^E% zpD~XG^QcxeYnRomDIpb45lZ<=>?=D_f4GUx-A5EnxUS6PcC9+iV?=F9xj!FcIVwH8 RkX`@)002ovPDHLkV1jq4ggyWO literal 0 HcmV?d00001 diff --git a/graphics/event_objects/pics/people/mart_employee/0.png b/graphics/event_objects/pics/people/mart_employee/0.png deleted file mode 100644 index 4dfc880b777e21e45a16f6bd49f85cdac815ba0a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 290 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?#d8{Yjh>6_co$}bWI3OV4 z*%?;0d)DHttf}XjB+IATozlL`x@up}7ti>cVk>4Gjqp5qgYm?JEMv2C5ezA7X1sbN zbdxn@%^dUMXQv|_RJAJoAJ4P2G}tg>4>MExf~fS407_?i_@% diff --git a/graphics/event_objects/pics/people/mart_employee/2.png b/graphics/event_objects/pics/people/mart_employee/2.png deleted file mode 100644 index 31ad7d75b642465df6c709cbd8bd3a2189a886e8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 251 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?hrN2 z&SHlOE`{%_{;t=O$ep%9LR$J}lW&Qk**00>`Y?*Om*k wZRQMl(xLAn{$6s$VXw;zc)ooqN@-_ikWVl@&(4~_19Sv~r>mdKI;Vst0H{c0V*mgE diff --git a/graphics/event_objects/pics/people/mart_employee/3.png b/graphics/event_objects/pics/people/mart_employee/3.png deleted file mode 100644 index 4e7e389d8f2f17ade56fa868e1c4ac13dd094703..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 280 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?#d8{Yjh>6_co$}bWI3OV4 z*%?;0d)DHttf}XjB+IATozlL`x@up}7ti>cVk>4Gjqp5qgYm?NsI;6ptU?!Ny?P|H zli|dMS?0yhxD}cYs=m*>qb<<<^zQC*KP?6CMxJzGfyeiDm-{>1l6*I()oP8-8iqp& c`s@=KUZ1rrSzH#p4Cq1zPgg&ebxsLQ0It1sbN~PV diff --git a/graphics/event_objects/pics/people/mart_employee/4.png b/graphics/event_objects/pics/people/mart_employee/4.png deleted file mode 100644 index 4357a59468e993c01ce82dfbe5dd49a0418dc00c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 282 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?#d8{Yjh>6_co$}bWI3OV4 z*%?;0d)DHttf}XjB+IATozlL`x@up}7ti>cVk>4Gjqp5qgE8fTQS#$8st&WVS9NfS407_?tH@1TYk<-Hf&lLL*j<%%^nOBu6oq% T@oaPlx{Sfo)z4*}Q$iB}$y0JA diff --git a/graphics/event_objects/pics/people/mart_employee/6.png b/graphics/event_objects/pics/people/mart_employee/6.png deleted file mode 100644 index 9eb51a482d433220de2246f37feb1a0e684b6c60..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 274 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?fS407_?hrN2 z&SHlOE`{%_{;t=O$ep%9LR$J}lW&Qk**y85}Sb4q9e E0Gp<0eEfS407_?hrN2 z&SHlOE`{%_{;t=O$ep%9LR$J}lW&Qk**K3O(h)Q~oIQ zC?AVsb(m%QZq4af1Le2x?!H!FbB@$=wv6Dlp25xFDr4$-bk{5opj#L`UHx3vIVCg! E0JnB$>i_@% diff --git a/graphics/event_objects/pics/people/mauville_old_man_1.png b/graphics/event_objects/pics/people/mauville_old_man_1.png new file mode 100644 index 0000000000000000000000000000000000000000..2c06a8f7345364a01e9d66b67eb4192dd35e2bf3 GIT binary patch literal 836 zcmV-K1H1f*P)er2o~l|HYKvlyiGQLI0$* z)oOc-K~j{(_F9X*5HV7;q+)w>K{+`X|Ns900013rp2q+H00Cl4M@0Xn2lB-L0004W zQchCPpd2!``MYpI zupn9z=41hyCI%rB-H1n=h8~$hCMkg?(uInmKQ-$d0E38oNaJ^Z)O~)W1e$0`SdgJ* znihu47oN}QC0qB*jUXxox=0f$0$NlwAw19bX+g`fHYiXDG|`fa%TJQxXnscrrae#83$|(UPzrv>*Pw|Emcwr{y@OiK*4! z9F_u2qze_nXmHW60q$HQ4rlZ|d~7^u&PstU(u9f-9iMD&b!jg?&F8;qFW^g~F^5v1 zi*#W@5MN(Bek(W84FXsGR%6SZRRp?77b;?})9c7n@dfu}(Cd!htqL@eE>y(8b%XRn zd;e6D_1=hMyAAD}z09Hh6jqg#A@AB4KRj?@1g$1GZ&2e5)Q0;rWc}j!} z=Xsk>X+;Y5D$GT?uprc8Dj5`yb|mRxd`^bih2!i(8tm*=L=~YUg_slAWIP#%B>@V= z<4ef_J*55US=OKL$UchWL<%uU;?cGYin!>?Ai)JsZzvDbpd`M`?yo_d{G}JCNg@Z> zAeqFN9vl6`s|3uEUx2g=*?ds+a<3`iEMEsTFI#a#F*TdLq25;()4(6|VhmRSv?aR$ O00008IuY0000mP)t-sbH$|p z)wKV`l-`tcdqF|}q_ov)dy7F*l*RU1i@gvrQnaLEdvifKIT-){{{R309c`Y+00001 zbW%=J06^y0W&i*Ht4TybR2Y?GV4xx3n!vdLOfOhDiwneBFmu(am0Uo9nX3c^SIq

`05Oh*hUS17 zXMh02;JS16&RLMdxK_+s*#&m%ss&uDkh}l@4iY>FSj7i)00000NkvXXu0mjf8UKAF diff --git a/graphics/event_objects/pics/people/mauville_old_man_1/1.png b/graphics/event_objects/pics/people/mauville_old_man_1/1.png deleted file mode 100644 index 6f4226ccbc0654a0ff131eb89eb8d0e268f54711..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 292 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?mdKI;Vst07+bXPyhe` diff --git a/graphics/event_objects/pics/people/mauville_old_man_1/2.png b/graphics/event_objects/pics/people/mauville_old_man_1/2.png deleted file mode 100644 index adf126f15579b95d8618658d10ed92ea571211f7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 277 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?hD~S5&JmYhaZ) zrIlXNxOPt5#-c9f4#UOC(n1yc Y(J4LARc_HKK<6=dy85}Sb4q9e09*-epa1{> diff --git a/graphics/event_objects/pics/people/mauville_old_man_1/3.png b/graphics/event_objects/pics/people/mauville_old_man_1/3.png deleted file mode 100644 index e199433fb7970147062eaf7d8d8a39ce2b1b8dce..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 297 zcmV+^0oMMBP)8IuY0000mP)t-sbH$|p z)wKV`l-`tcdqF|}q_ov)dy7F*l*RU1i@gvrQnaLEdvifKIT-){{{R309c`Y+00001 zbW%=J06^y0W&i*Hr%6OXR2Y?GV4w%!n!vdLOfOhDiwneBFmu(am0Uo9nX3c^SIq

802#d3LPK-G v4!d*a>@6_k?wMO)7c#8sTmW@5NDBi1hW9qM%%p7<00000NkvXXu0mjfza@Gl diff --git a/graphics/event_objects/pics/people/mauville_old_man_1/4.png b/graphics/event_objects/pics/people/mauville_old_man_1/4.png deleted file mode 100644 index 359e930162eb444ba2620e85646eb45d652791d8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 295 zcmV+?0oeYDP)8IuY0000mP)t-sbH$|p z)wKV`l-`tcdqF|}q_ov)dy7F*l*RU1i@gvrQnaLEdvifKIT-){{{R309c`Y+00001 zbW%=J06^y0W&i*HrAb6VR2Y?GV4w%!n!vdLOfOhDiwneBFmu(am0Uo9nX3c^SIq

8fZTB{G&J`D th_Uw0nX?cVu03-X>ed;npsofv0sw;2Hkeu#^}qlC002ovPDHLkV1nT|dNcq4 diff --git a/graphics/event_objects/pics/people/mauville_old_man_1/5.png b/graphics/event_objects/pics/people/mauville_old_man_1/5.png deleted file mode 100644 index 34f15abffddf0efd70a14f53e05261083e7158ea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 289 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?9Ayhs z&nC{F(RlyI%iH&VG5im(I2%0I^VfqZQ(T)RFQuQ$nHH25QoJZ3#l&48Ii9RhfS407_?-8Ua60EENZI+OjoRw zntI{73+t>!<=!A}d%E_uif<3EG)rQBL&Y7}-?L7p9c6Dlx*<0HUD%51H~IJ5 j?tcCG+Uji70#&bP0l+XkKtOI%B diff --git a/graphics/event_objects/pics/people/mauville_old_man_1/7.png b/graphics/event_objects/pics/people/mauville_old_man_1/7.png deleted file mode 100644 index a4d759a262e6cfcffda7e14511ad50ffc53f698a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 280 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?hD~S5&JmYhaZ) zrIlXNxOPt5#-c9f4#UOC(R|MgqkF{=;U bQdD91Q)F1rVB%*7bRmPMtDnm{r-UW|>gsUc diff --git a/graphics/event_objects/pics/people/mauville_old_man_1/8.png b/graphics/event_objects/pics/people/mauville_old_man_1/8.png deleted file mode 100644 index 8816c61aafa6c6896bf9e9b787058ba2fabc055d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 281 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?hD~S5&JmYhaZ) zrIlXNxOPt5#-c9f4#UOC(7NnW-7-itlV1ueoiE7(B7`b?Zu*3 cHae_kVE$zIXtsX~2hfQOp00i_>zopr0DvTNhX4Qo diff --git a/graphics/event_objects/pics/people/mauville_old_man_2.png b/graphics/event_objects/pics/people/mauville_old_man_2.png new file mode 100644 index 0000000000000000000000000000000000000000..c70175be3d1d83793f67ec269a8339cc7db83549 GIT binary patch literal 839 zcmV-N1GxN&P)er2o~l|HYKvlyiGQLI0$* z)oOc-K~j{(_F9X*5HV7;q+)w>K{+`X|Ns900013rp2q+H00Cl4M@0Xn2lB-L0004W zQchCj@+xU<;+V0U8D;Yu`}!p>A{+w!a_V3N&~YWPbrHJYwaZfS407_?gJM_h`4fnZ`AiyCmI_M-h4OlUb654OPymcQ;#_?wq2T% zRJ^@FVey)*uIEJyEP0+rp58QVYO_SN(KFfq-k_rrlH{Q?L tTP*g(;M=7yn+i5WpXR=Cdg2}i25wtp!ArkYCIOwy;OXk;vd$@?2>@Qec*p<% diff --git a/graphics/event_objects/pics/people/mauville_old_man_2/1.png b/graphics/event_objects/pics/people/mauville_old_man_2/1.png deleted file mode 100644 index f98c0ecde18e39e5cd81a4ff9e5156fa692534e6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 291 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?k3ET zt7}@;scBshxx0C8X}J7HxxLknU9>-jLOz+m$er$`&(FFFUfQMbHamV ng;H+~)OGgU>3Z_v^C9s&73L?uT9`Ql9n0Y9>gTe~DWM4fPLp}+ diff --git a/graphics/event_objects/pics/people/mauville_old_man_2/2.png b/graphics/event_objects/pics/people/mauville_old_man_2/2.png deleted file mode 100644 index abe9050a0a784c277701045d520fc95637f13830..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 273 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?fS407_?gJM_h`4fnZ`AiyCmI_M-h4OlUb654OPymcQ;#_?wq2T% zRJ^@FVey)*uIEJyEP0+rp58QVYO_S-}zMTo}cP)#*SfS407_?gJM_h`4fnZ`AiyCmI_M-h4OlUb654OPymcQ;#_?wq2T% zRJ^@FVey)*uIEJyEP0+rp58QVYO_S(=ylPIqTT@s*mM5M;QsSg*iQj_oYau?(KBelF{r5}E*nEp^HO diff --git a/graphics/event_objects/pics/people/mauville_old_man_2/5.png b/graphics/event_objects/pics/people/mauville_old_man_2/5.png deleted file mode 100644 index 92135f48adaad7b8c6c2a08d3539d061cfb58bac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 288 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?ajl0ZBna#{=aA0f3zPeoc7A+68rKcI#OpQ*cGR3o?^6kmN2XGV#_88Wo8pEwcLd> zdrC4GyJmI$jr3b}__l-p(i$DUOM<0u1X?dTzTBW3e>QdVqwa%`w#Ckuk9$#hw}0!y k*LK(1%I4P1wPlLmu+${w&z|`&fi7k6boFyt=akR{0B3-9lK=n! diff --git a/graphics/event_objects/pics/people/mauville_old_man_2/6.png b/graphics/event_objects/pics/people/mauville_old_man_2/6.png deleted file mode 100644 index 3a328ba047d54a22147365d42d05a3051a9f10e3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 286 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?ATJS|Yo5j;V+e$CB?VQNucvPH0zAR?nvt5xVk0u!ATz_7zdByhI_WZ-| he*Gz(o93OMYS-Ov?4Gj8FdgVl22WQ%mvv4FO#lO&cC-Kh diff --git a/graphics/event_objects/pics/people/mauville_old_man_2/7.png b/graphics/event_objects/pics/people/mauville_old_man_2/7.png deleted file mode 100644 index ea1b4d95bb5751bbbd68947dc7f3cf667c18e164..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 277 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?~1jVEkH{C)is5(X!mcBoGSH<4w(6~50p~~eU8FBnZdN*&Jc*1;Qj!^RB{{oZmIvr%fS407_?~1jVEkH{C)is5(X!mcBoGSH<4w(6~50p~~eU8FBnZdN*&Jc*1;Qj!^RB{{oZmIvr%er2o~l|HYKvlyiGQL28Sv zIZ9#(5Fpiaq@+P}QXoOq)zyoOltDpK|Ns90001r;H3Jnvz1h2+-MFKAw2^KT)*F*mi8k zc04h(_Bs2%902W6{zI@?xS~h_6wX8pkP-pMY_nja&{07I3TG<9AR^|Z-I~A`dBRe> z9Dp_fX&lFr1Sv$aCh$d`(2=P_-Bj8>pm%(!VMufWU*roNd7zuk;4Z0xn)f4ODey$T z(2;j`?tHUGwqHar8RvIlj6Rtcg5fNdZx-6~RmZc1ZmE zJc>g422S9MJYh)zizw<+5NK`A5wMgs!DG>y(2*%QIk3kpmDwxbSJ+nx9*cZo#qWR4 ze|`Fk)J36@?CSg$-<+2M!-PALW#WV-`OWm~YQt@*1=e}5zP;?s+Zqja|ye<+H}6f+uOe1Z!HB$(7lqA!f?6DJh#wUtm% z@5PwF_i`L>6J${!F(~a*5GTP;#$FR?Cn%ayjX{@`@a%IKQ$pCDP(N$rS(cwvWQ~CZ z3BrW8iDn%|rbgPnXpaKYI6pGiNI%O)wD*3V6Imm(&oTHI@KBa0py#JmZ5rNX@SfU7 zuZE_^V^OkBVbW l=YuD%X6;S9y1dy1)ejIFwoR)^M}+_Y002ovPDHLkV1hdtV_pCN literal 0 HcmV?d00001 diff --git a/graphics/event_objects/pics/people/mom/0.png b/graphics/event_objects/pics/people/mom/0.png deleted file mode 100644 index c2b592c9f01c606508acf4a7121a400c1edf78f1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 289 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p zGvCw2F+^f&a>4@cAOGdOcJFA2{BurEFW!zpGCrm!cHa+X$@@+*|E!xO;)DKk*D-1( zP5iH~q4ED>W20;Q$HjXtsI#-Rop+o6W$N3;U9mk=r}V@Ewa)MDecQ;>rvJ}-&w*!a z{$Jd?_`i6-?{!mUWjBXe8(7Soa(2$lcWVwEcr=fVMb)AB#$_kx%UllU3b=WF87-Mt k$gh#s_|o{FdD3ASO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p z)9&fw7$PxsZ=WI`lOvC-wwdEO)o*NH7^IgmMs77%xT+l>)5L#;q@Vv8s`ifx3MOlow@&`CY1+4>~*jG6H5%20c$#i1zmOBNnXD?s?!D$X>>2XZi1AIzyj0KL#V0IH7Zg6ui&%4`{|Eb?2J<&cbC*~Eoy6ej L>gTe~DWM4fAWvsl diff --git a/graphics/event_objects/pics/people/mom/2.png b/graphics/event_objects/pics/people/mom/2.png deleted file mode 100644 index 8cd0c1d72c2e84627f1ee1a7c6c97e228d20d8ce..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 250 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p zQ{n027$Pw>Ibi|!kN^LfTgnPQvS0k8=fEKJi)qQ+w+D^R=^azBJpNxVF~PO3DLz<% zr?OJ~|9^+J$@@O33s2za-ndb4#=!?kIsAqbkACL9;m{^}_xJziw^2JiS(7YxPxNGL wdH9AcwPlH;SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p zGu_k0F+^f&a>4@rAOGdOcJFA2{BurEFW!zpGCrm!cHa+X$@@+*|E!xO;)DKk*D-1( zP5iH~q4ED>W20;Q$HjXtsI#-Rop+o6W$N3;U9mk=r}V@Ewa)MDecQ-0P5+J>P_`Lz6-emoyg$n>gTe~DWM4fG^cVz diff --git a/graphics/event_objects/pics/people/mom/4.png b/graphics/event_objects/pics/people/mom/4.png deleted file mode 100644 index 96de53b7b781e06c82bcbc99bec5c0701019d781..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 283 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p zGt<+>F+^f&a>4@rAOGdOcJFA2{BurEFW!zpGCrm!cHa+X$@@+*|E!xO;)DKk*D-1( zP5iH~q4ED>W20;Q$HjXtsI#-Rop+o6W$N3;U9mk=r}V@Ewa)MDecQ;>rvJ}-5730G zAO63%ck#dEi4RdXFB)cZUT}E7X{PbzMkbw8nGOLAB85N2q-K3%eABl+@t?r-kGpFc dc8Yc|{yu1W`SRuKpMj2K@O1TaS?83{1ONt&dJq5r diff --git a/graphics/event_objects/pics/people/mom/5.png b/graphics/event_objects/pics/people/mom/5.png deleted file mode 100644 index 567e8fb537ab76dbd9e9fd5586442935fbac52cc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 253 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p zQ|;;E7$Pxs?>R-j!v;L87aBZTcb*p8=k+&3WkooLuJjAbuBv9q_X%td-<5CK^hnCW ze_HZifp@x_|8tit_q8=y{d~PT6n(P_P|Aj5I0+^01Y`YOK>-~}GoipO=-Yebj y?a=SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p zQ{n027$Pxs@41b<4GIFR0bJE>1uT*WTJB45YlR=UR=LKv$6U6v?c1LPOSg)1=*#!b zG5kO6RW(!SHAXwZaQ7Cb_j6V=yq1nSP{-}Y*x6v@^VIjjtIFj{RYHfgigMmab^5gTe~DWM4fMI~Xq diff --git a/graphics/event_objects/pics/people/mom/7.png b/graphics/event_objects/pics/people/mom/7.png deleted file mode 100644 index 3ce984e75d43c9327b7a93733f2a322d825590e2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 253 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p zQ|;;E7$Pw>IbnhRkN^LfTgnPQvS0k8=fEKJi)qQ+w+D^R=^azBJpNxVF~PO3DLz<% zr?OJ~|9^+J$@@O33s2za-ndb4#=!?kIsAqbkACL9;m{^J_xJziw^5eSCmGK?n3a>l zl(wN=Vt2FT(uI0Y1=3rVI^OwwRQ{Qh0V~6NNA;HEFSkDfox$Mg>gTe~DWM4fbzf(` diff --git a/graphics/event_objects/pics/people/mom/8.png b/graphics/event_objects/pics/people/mom/8.png deleted file mode 100644 index 6a3da67d12ef9cf5bc07e8a09c06b7c4be9f9937..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 257 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p zQ}5~G7$Pw>IbnhRkN^LfTgnPQvS0k8=fEKJi)qQ+w+D^R=^azBJpNxVF~PO3DLz<% zr?OJ~|9^+J$@@O33s2za-ndb4#=!?kIsAqbkACL9;m|hK`uTtM+fSF+awqMa_-PW8 z!Qq=Ky0R{tm+xq6l>Bo)$XPMy|79lyy_5&+FWDHDUQy>>!kL~7bP9u~tDnm{r-UW| D1%GF} diff --git a/graphics/event_objects/pics/people/mystery_event_deliveryman.png b/graphics/event_objects/pics/people/mystery_event_deliveryman.png new file mode 100644 index 0000000000000000000000000000000000000000..2181de2f121f2ffd4b7d5a5941069655c0b5bd40 GIT binary patch literal 530 zcmeAS@N?(olHy`uVBq!ia0vp^20*O9!VDyr{d%Skq}WS5eO=ifaj^5SNt9h)`V=T6 zUg8>25}cn_Ql40p%HZzf0yIXUEVW3%SkI)eb;(1Z5{{ArKX;&vF_6vR)u1U4q*&4& zeH|GXHuiJ>Nn{1`4FY^ZT#Jt``G0lG|D#jxO)0K+bo{?$%hjyvZpWZ0N54gN?-ei% z+Oj06y4cauQsV#r|3FQ$x$}+#DaIskcbET5**_fxaY};xf*Bm1-ADtnH9cJ%Ln`LH zov`2Uuz|p_{0~!(3R$o6h>(boTILn%{Lx7~PWz0(mAEFZ?);D4OPr6+(paCs;;rQR z?3^o8$S<~<)Be|<|Nbm{U_W2$lKmQMuN{;Bw8QX0T3er|Qra>QohQWO?<_Nzo~UQG!$9S$h8D$=989qApc4UZ1S9MV5EJXZiA% zq6cDwuixfxc$&Ixb}(y)jqm5CZ5gk3ef@K8Id`0SVCA}b9m%)LTo#y%H@GgnAP~#Z z{7_8$3DXNxsaV0lY!#;sqQ4Dn(oRSF`7!bY#$<@|{w%VK{n%@vz<++jed*?)zTSfo zYAa^+*Y9%tZ)Kh(&TBX8zuJ9Er)zg3HeW1xY!+rBxMkk-hw6#;k7n30n!Y%nb8y96 R6JQ83c)I$ztaD0e0svfJ)KCBb literal 0 HcmV?d00001 diff --git a/graphics/event_objects/pics/people/mystery_event_deliveryman/0.png b/graphics/event_objects/pics/people/mystery_event_deliveryman/0.png deleted file mode 100644 index ec3e0ac82fc6ae8e9b1eb0ae39a886d28bbf046e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 286 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_??H4Q7K!qYy%RmtvVXEI;<|?!GFueix(IF zV`rQ8e}CB8sQ>pH8;^#4T)gK(Dmxon`qJ)AUTO}pI>)@cjyW*0>4_&NPiJ*Fb}Cd) zZ*>}@q<#9jS*FEyC!T1Y@|*YCu}nA6@Do$?uhU0UZD$x3|6M;bf$c(4hx i@cg&`@ZY`2k|BZBQEgYz#;HJeGI+ZBxvXfS407_?Ymx3wpEiUotLa-u5?!F-7;r)6eqp`a$b7IrdHjI)}m2)z4*} HQ$iB}lyhnT diff --git a/graphics/event_objects/pics/people/mystery_event_deliveryman/2.png b/graphics/event_objects/pics/people/mystery_event_deliveryman/2.png deleted file mode 100644 index afff0cc5e26e325c720739f4a3a716a28495239e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 259 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?M{nFXA-81i!J{{R*x%q1TOXRh*!Exh`FSSpjB_#k zi5lyFai$sUa5%#pwLj}wRmbT%$I_4YEx8j79Hu%jGB`9^&)WJ-DhlWr22WQ%mvv4F FO#ma?YM1~3 diff --git a/graphics/event_objects/pics/people/norman/0.png b/graphics/event_objects/pics/people/norman/0.png deleted file mode 100644 index 5f0bd16861eaacbe10ad2c97ea505727201f8d7f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 287 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p zGuP9_F+^f&a>4>`4gK~@nVAV<)sYcdRg4}B3`~7wR6^E8Ow(gY+M(Sg&NbD*U_*yC zH4E?u7B6GW%Kgs)2BD)Joi8Sf7&<3BR~HAuea?u i_~AeE|9X{nW`=Vj<~tTJm`nybl)=;0&t;ucLK6T{i*s-Q diff --git a/graphics/event_objects/pics/people/norman/1.png b/graphics/event_objects/pics/people/norman/1.png deleted file mode 100644 index 88ea12ada6daa82925f8a918f61e7aad8e184454..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 268 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p z)8*;n7$Pw>Ibi{}hJO2{#FYtR)md2)5sV%Ryd0+{O1^UltK?*6?yj^H5V2N};Q6O; zOniaVwEs_^{%>UB+4CJ}ay8?L9ktK@|KD8Q*kix_{G6NBax0Gf`|{GZ+Kzea?R$26 z)8D5q$ohV3clrA14LR(QjGN}}-}A5fC%eF7dw~WCp8xhA{<{}hFmS$iR6CnkwHxRv N22WQ%mvv4FO#r4xZmj?S diff --git a/graphics/event_objects/pics/people/norman/2.png b/graphics/event_objects/pics/people/norman/2.png deleted file mode 100644 index 04d8694efe089e04c7dd8d755e0c8ad265513803..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 256 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p zQ|Ia87$Pw>Ibi{Ng1){!gYl_LmrfmITABGWVc{i%gP)2f1Vk!L3DnbINwnaSnmYY@ zvxJh@)2II(c`BbORSPs9y>aKn6Xp{N;>nNyCrpl<^Y$PU&wu~-cHC)y?EXuiDhO&c zcxN#?rhUiqBeIX=zHLeuh`oRMzq7=j|NoVD%P@S6)lSm4w_pRhgu&C*&t;ucLK6Vs CR%dts diff --git a/graphics/event_objects/pics/people/norman/3.png b/graphics/event_objects/pics/people/norman/3.png deleted file mode 100644 index 90d16f67563cf754e172250d08502e8b61597db8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 280 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p zGtJY*F+^f&a>4?A4gK~@nVAV<)sYcdRg4}B3`~7wR6^E8Ow(gY+M(Sg&NbD*U_*yC zHSO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p zGsDxxF+^f&a>4?A4gK~@nVAV<)sYcdRg4}B3`~7wR6^E8Ow(gY+M(Sg&NbD*U_*yC zHSO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p z)9mTu7$Pw>IbngmhJO2{#FYtR)md2)5sV%Ryd0+{O1^UltK?*6?yj^H5V2N};Q6O; zOniaVwEs_^{%>UB`Trhh@^_|y1OLwb|G)e@ljOGT=jYt~EUxji{@0gze}6f!y?=YT z`rE7qowa+bzwctcA({E|Yr^*${r~?N&-~zDD*5Aovj>Byr4>u(g^h23&SCI$^>bP0 Hl+XkKTa#}! diff --git a/graphics/event_objects/pics/people/norman/6.png b/graphics/event_objects/pics/people/norman/6.png deleted file mode 100644 index 45f8e511907c5ee9bc69a3217348baa5700555de..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 261 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p z)9mTu7$Pw>IbngmhJO2{#FYtR)md2)5sV%Ryd0+{O1^UltK?*6?yj^H5V2N};Q6O; zOniaVwEs_^{%>UB+4CJ}@^ASQJN7>R|9|uRMyK!o^DQ@jH=6MA<@cAi)ec>A^XK2& z{GG`o{O#S{*Bz%B)#!USTXg)due4>J@>TxTwg2)G5)4~aY-VgYl^p?e4uhwwpUXO@ GgeCyc#A~qt diff --git a/graphics/event_objects/pics/people/norman/7.png b/graphics/event_objects/pics/people/norman/7.png deleted file mode 100644 index 27ff65ec089540de0d50332874e2b82ea2280aa0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 260 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p z)8y&m7$Pw>Ibnfzg1){!gYl_LmrfmITABGWVc{i%gP)2f1Vk!L3DnbINwnaSnmYY@ zvxJh@)2II(c`BbORSPs9y>aKn6Xp{N;>nNyCrpl<^Y$PU&wu~-cHC)y{_&^Q1pZ=9 z+YoQ~Z6{w+jedEf#f$pN%A3X$MF0GkJoQO|jq#?u1jD0Xy+;!w`tpIUVeoYIb6Mw< G&;$TrNoYR+ diff --git a/graphics/event_objects/pics/people/norman/8.png b/graphics/event_objects/pics/people/norman/8.png deleted file mode 100644 index aa18f3d73413fca9fcc3ef62e6af0edd6fdc83f2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 259 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p z)9C5q7$Pw>Ibnfzg1){!gYl_LmrfmITABGWVc{i%gP)2f1Vk!L3DnbINwnaSnmYY@ zvxJh@)2II(c`BbORSPs9y>aKn6Xp{N;>nNyCrpl<^Y$PU&wu~-mfUH7?EcE1vRMCw zd(qGAK8fAUBDLqe%Qe{z|Ji%%uV**>@xMNyVFt4z;}>JS&Enmyn}CjC@O1TaS?83{ F1OVl$XBz+j diff --git a/graphics/event_objects/pics/people/nurse.png b/graphics/event_objects/pics/people/nurse.png new file mode 100644 index 0000000000000000000000000000000000000000..d202f3c16b14cb7e71d3dc05a71e73577eb45507 GIT binary patch literal 711 zcmV;&0yzDNP)er2o~l|HYKvlyiGQLI0$* z)oOc-K~j{(_F9X*5HV7;q+)w>K{+`X|Ns900013rp2q+H00Cl4M@0Xn2lB-L0004W zQchCBjE6vuB6s0chH9Xy6AhLA1>%bn|5vRgc)i{m^qx|%GIi%eYrIZjBMK#c$Z literal 0 HcmV?d00001 diff --git a/graphics/event_objects/pics/people/nurse/0.png b/graphics/event_objects/pics/people/nurse/0.png deleted file mode 100644 index 3c6b14717186fcc2db026d5e2934ff89f11b9e69..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 300 zcmV+{0n`48P)8IuY0000mP)t-sbH$|p z)wKV`l-`tcdqF|}q_ov)dy7F*l*RU1i@gvrQnaLEdvifKIT-){{{R309c`Y+00001 zbW%=J06^y0W&i*Hs!2paR2Y?GV4xx3TD58cn6d6z-YWjta(?N`~vh;KygGF3iys)s)fq_L`@uR#@kpn}Sv(YDgWs`J<(iCGQC1ba6 zhSD$>V`G=pa0d3YRW2^8(tsvbb*`K>V>!t3Nh(H~AnR8yQF8K{1!D9$o4f!qxcZ*> yy#Pt^p6uwDa{=U_J7@2l1-p><0`CPRF8~0ui8nwD&KGb100000oneEP)8IuY0000mP)t-sbH$|p z)wKV`l-`tcdqF|}q_ov)dy7F*l*RU1i@gvrQnaLEdvifKIT-){{{R309c`Y+00001 zbW%=J06^y0W&i*Hq)9|UR2Y?GV4xx3TD58cn6d8NyH{Ywig)k2Ks5V`j*hMZAfqg+ zqhnb*h>;c&ng(H{xq%og*^NU;qFB07*qoM6N<$g4g_hu>b%7 diff --git a/graphics/event_objects/pics/people/nurse/2.png b/graphics/event_objects/pics/people/nurse/2.png deleted file mode 100644 index ec048a04027f1adbac5a54d3f3a6724adbdc0c5c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 277 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?&Pm7QqtvB3AuK0mY5V@%9OU&_9n@9 zFJERZRB-KUJ(`;NRH1E8L1m;yz}C(CiWX*C1PFF-+&IzG!ee6h#zM&m)9&l5iZ*m= zhnH<^E-}=(IEQuPJfS407_?a1VQa6-fT{R<6mc0;e=!-pDq zzHQpH>C2ZdOl?Jlg&z+cI#kqVRI2LexO7oTTTuFM|6lWc4@ur|?wLBJC${m|>DZp$ z*i(*SrMq^VVTe3-)v!2?y<=n1(yocubOaW=o;=BXB;w-poKK6mm!#bj-akEI`d!QF k=Q=kM_lQ^ME9{hEIB8~lh(qVAJJ6*Jp00i_>zopr0H_6f`v3p{ diff --git a/graphics/event_objects/pics/people/old_man_1.png b/graphics/event_objects/pics/people/old_man_1.png new file mode 100644 index 0000000000000000000000000000000000000000..2249869904b1802d36074d4a026c2493182341a3 GIT binary patch literal 773 zcmV+g1N!`lP)er2o~l|HYKvlyiGQL28Sv zIZ9#(5Fpiaq@+P}QXoOq)zyoOltDpK|Ns90001r;H%v>qL!udn$t#rF;>v40PGJep=^Mc5a;3*B1cGKnGuGtgY2= zx(uid%IAS)po2U1lhnS8Fxy2@$mf7%po5{)yl7rvk$uF_7Bzp=DdQF3K|bhUh&B#4 z4($cO>%q zR)7zApvz1RhMz_{$rKjp1co1O$tyh=L*Od@w4<+wfnxh=6k?iPE#`w(~howOX;gKyH{&j$H8IuY0000mP)t-sbH$|p z)wKV`l-`tcdqF{Ji>x_HVh9i*)pMkzL32_dLDkjOi;I*&K~n$!{{R30E*dwM00001 zbW%=J06^y0W&i*Hp-DtRR2Y?GV4yE>ae>gzib5tJnnh9Wp^yWR!K^4KC}aR+I4KDV zDye`N`k(Yaff&x(o3u9pRkJ8dzuvde$bo^ySlLL~$QY>2+4$TWW1tj!h|TWThg}O8 zO4Do4?YUkS&QO+~R<}K^ES;e&wJa?yJuIDpy(+vkymWa114G%&6i_`2Qoh7XbPSFT<_#9`FDF002ovPDHLkV1oR;djS9d diff --git a/graphics/event_objects/pics/people/old_man_1/1.png b/graphics/event_objects/pics/people/old_man_1/1.png deleted file mode 100644 index 2479299b15d589637d3874ddc9577f085be837e5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 284 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p zGt1M(F+^f&a>4@rg2KiN=enHK6lS>wzFRnfdBVXp8X6iY43h$dL_(NOT1snbYBo#g z9dlr~ay;o#TwL6vHwO+R#Yss?#qnGTndr~gR?O918>>4vMl&)y?>v1fQtzq5|Nh^MPZs=_ f|M6dWr#M5Gv&K@EWj9{|UCH3->gTe~DWM4fDyeTR diff --git a/graphics/event_objects/pics/people/old_man_1/2.png b/graphics/event_objects/pics/people/old_man_1/2.png deleted file mode 100644 index e24126007e4f60aca8498c93f1d6790beba52ad9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 255 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p zQ|syC7$Pw>IbnfzLSbR!1vf7*K83c)_nZ|)Cp1i2ut30r<4gdX;TL-@P0420DN}k5 z_SDXv8hd~zIaM?@eL~&-yT?u?2>b6hH1pJFFgllO=&jAmZpb%f>GGy06%waT1uJaZ zIDNW=vxKpgB447uw|2Y5+HddJIhyy%oIJ=Nuvhl(iD$=CfevBtboFyt=akR{006sQ Ay#N3J diff --git a/graphics/event_objects/pics/people/old_man_1/3.png b/graphics/event_objects/pics/people/old_man_1/3.png deleted file mode 100644 index 058b699b334dda590b567bf8df0307a57ec2297a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 284 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p zGt1M(F+^f&a)N}ygGWpY=Zd!aIGA)Vy5p?KuFxDA7!YuR;Y2}@kVr@nqv03(m-S4B zbGDji<}ZnL7=g6$csHmz4E9UCZip+|apP1O%HqF%DwTwBF?c0`ZfBq+Y|Fic$ f<0FGQ19=9GOzmB=3&f8CUCH3->gTe~DWM4f_mpqU diff --git a/graphics/event_objects/pics/people/old_man_1/4.png b/graphics/event_objects/pics/people/old_man_1/4.png deleted file mode 100644 index 3f68a34c168658467a5ada8028d26bf4eaede32e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 285 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p zGuzX}F+^f&a)N}ygGWpY=Zd!aIGA)Vy5p?KuFxDA7!YuR;Y2}@kVr@nqv03(m-S4B zbGDji<}ZnL7=g6$csHmz4E9UCZip+|apO_ZBnySO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p zGuhL{F+^f&a)N}ygGWpY=Zd!aIGA)Vy5p?KuFxDA7!YuRL1nRu#tN26#b!Z4L2QOG zJ&g=2`i~yjyJydln~jY}_n4TN?2%Zp)t)fBq+Y|Fic$<0FGQ19^sz X0V-YrCE*=F=P`J?`njxgN@xNADfeom diff --git a/graphics/event_objects/pics/people/old_man_1/6.png b/graphics/event_objects/pics/people/old_man_1/6.png deleted file mode 100644 index 3e4570a9ce9820663d25a901f5640913ac28bdeb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 278 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p zGsV-zF+^f&a)N}ygGWpY=Zd!aIGA)Vy5p?KuFxDA7!YuRL1nRu#tN26#b!Z4L2QOG zJ&g=2`i~yjyJydln~jY}_n4TN?2%Zp)lD`WjZ)aMNHGS&lm{X3|{?DH_GmN3^!vFo>7yAAA-`L2= Z@NS-}b3(1?3ZVNKJYD@<);T3K0RYp2Z0!I5 diff --git a/graphics/event_objects/pics/people/old_man_1/7.png b/graphics/event_objects/pics/people/old_man_1/7.png deleted file mode 100644 index 2066c1170a21238465428ffab4c18eb978e9abf2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 260 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p z)8y&m7$Pw>IYC0=z@tY@3wx(bk#XQr-`nn_rNF4_=%_eBV8%k8q!;xfK}Kxd8k&;L zlE2NgcQ;5LJEe8%oWkF_-Mv!}s?DoQ&Y2X)kTU0X(zGxsz9bn9Z-3U49}T8VUEYwJ ztgo+c$Yy*gy=2#t<}Xv1PG1_!Zg_+H#(Ob`*vNAX3=R$Qmw4D-UIn^_!PC{xWt~$( F69Bn{V3+^^ diff --git a/graphics/event_objects/pics/people/old_man_1/8.png b/graphics/event_objects/pics/people/old_man_1/8.png deleted file mode 100644 index 10af5d1e7768152a41879756028971fdc4ff9d94..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 259 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p z)9C5q7$Pw>IYC0=z@tY@3wx(bk#XQr-`nn_rNF4_=%_eBV8%k8q!;xfK}Kxd8k&;L zlE2NgcQ;5LJEe8%oWkF_-Mv!}s?DoQ&Y2X)kTU0X(zGxsz9bn9Z-3U49}T8VUG9*h zt*_7cGCg6x-QvrvOJ@Czin5H5cFwhOw!D$~MnR9k_m%wB74JRP0Ug8O>FVdQ&MBb@ E07xNVPyhe` diff --git a/graphics/event_objects/pics/people/old_man_2.png b/graphics/event_objects/pics/people/old_man_2.png new file mode 100644 index 0000000000000000000000000000000000000000..82bb66f8a97fbc3cd44914b0651b6c8e402a9b64 GIT binary patch literal 585 zcmV-P0=E5$P)er2o~l|HYKvlyiGQL28Sv zIZ9#(5Fpiaq@+P}QXoOq)zyoOltDpK|Ns90001r;HsZ`UUizMOqiZ-9Lffd-=b6{4YW1Uw@GhKZw8k z&cR-5huEhqu)TL&TkMxxo*gY{3y5A8gw$3*P6%HiObMY3de7Vw(lDiG3?aspU>M#u zCGsjeQj}g{KouC&7O?Ay`i!0;^bAh*2&;T3CMCkGxo)og0JD0YkAVJ1Lrm@<9fPA3 zUeq%wqfvkjJ!Bo5x6`hQC0rm=QmP2y;*~LbLpN?eoGiPkD-}ql=zPgrd1?p8LiALW zCDzapd>O7JAR9(+SJ`!>6QPvQ2|~{MP{J;)<;{gm5*^dtn0Bq9RZIiqUaCZ^+tiJD zZ_K-}+y#R}tS|?KKoPSO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p zv&hrMF+^f&a>4@rg2KiN=enHK6lNU{c(?Eaqr&4m&W?^d%^e!cXS1+wy)T>apmME> z#)>Wc8s#1*Jt9xGH8#3N{-69$U720M`Q=?}RfXn*H{X5Tcif?Q$Fdu_+v?uzY)CwM zMpaKQ&Um*(*qIkqaoZPd?oNDqs&8qa?B+DXg3z;bwiZ46#LC0-balf5nT$+J2?ohG o>Fch~(`2w*v8Q3L%*nkBw$sg%Hg1{!9_U&IPgg&ebxsLQ0P(7Nw*UYD diff --git a/graphics/event_objects/pics/people/old_man_2/1.png b/graphics/event_objects/pics/people/old_man_2/1.png deleted file mode 100644 index d47c1bd70bff173d4224bfa0abfa92c6624ef7d4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 289 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p zGvCw2F+^f&a>4@rg2KiN=enHK6lNU{c(?Eaqr&4k8y772D81mo?((Ll_xEHI9^CxS z#}UW;)Q>rG{dWU{4I0^Nqqd$n(b(vk?dtA+U5TBoP1M-hDy_`WprG^&OH&^!k9Jz4 zg!XQUuyaK-Eib1&)oGg=JY~-`jmmRL4`wC3*?QzgF(b3{PH#&AMqOQYW`*Xz@4nvJ k&8omYReZyA<(=XTlNZ^FVdQ&MBb@05K$SfdBvi diff --git a/graphics/event_objects/pics/people/old_man_2/2.png b/graphics/event_objects/pics/people/old_man_2/2.png deleted file mode 100644 index 43fdd984975885f51eb73eb0d5d7b3ab99a3ed76..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 265 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p z)9&fw7$Pw>IbnfzLSbR!1vjr#dVbZW_Dmyb#zpHYMyY+I(c_FdjrqXatDSa ziMQ3?^UNnCeu=-G`kigTta2}{Q|BE1>im||)Nc0uQkRpnDT}e=X_C$6#oR{{>P;6j z>m1)#^h`u`LT-#hn_er2o~l|HYKvlyiGQL28Sv zIZ9#(5Fpiaq@+P}QXoOq)zyoOltDpK|Ns90001r;HBjE6bJA(2n+%f6n6}i#2!24JSO1Sf?`9zhDY(@o$QepUNgzn3)cOu7bcvVbo+aJcXDLIrfZw41JsJIf0vTXG z``ORCnMtYwMP%TIVO#{1fO-D) z`P|A}@`#Fn5>UX)1tCF{7Vw5D-xiB_7bpYsgynC;IKrYJ2o@1&hVjWqK>*v33JO>| zJ0|4tPfI%w`P{X%8mWa*ya8-ODkxy>%;1AX4~+fdMTSue`S%on3Mrs~q5a|C$BPEQ z7tgk5_n@8puho-*1XM@`vjlL-@geB}u&Hg289;}S`sWQmfp)+wK_7Qc>&>a7Pr8&& zx(;X^a{k~*K!sE=PyL3PCjIH??Z&X*Ztw<^B+Qh60_}i#f_G)x*E8PSq_oq-KZG}P zPg(*{AQhC!tm)X|uj=+Fb$eJew7!v+08~f;W$Mhbn1jg&UlE>cYGwf5&!H}zA>{Tv zIzh0Kf-=9(S3d?a0S>JGAO+@+d|OE<-7~P_U4J+6!ApCD3D1uQ&#;mFw9X-&r}tO1 zzusBCv-J+6LB+y?VIM~D%H*|36z%ISyi~C51s4>|%jKSecK`qY07*qoM6N<$f(QaQ Aa{vGU literal 0 HcmV?d00001 diff --git a/graphics/event_objects/pics/people/old_woman_1/0.png b/graphics/event_objects/pics/people/old_woman_1/0.png deleted file mode 100644 index 86eb3b887677cb957c650f8d1248241456cfe1c3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 273 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p z)9>lx7$Pw>IYC09;JaSSv%7nLGr2tY@^ZI8qjma0r|sp;2jdhTpOZ^|d^z2*r@5)g z$bqf9chSa;7ZTYOoCP=ivs;I2&+szGGVN1`x@QG$kDOl^}9nCr=G2wjF|LjP{6Tkk;|M;(LDaSO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p z)8pyl7$Pw>IYC09;JaSSv%7nLGr2tY@^ZI8qjma0r|sp;2jdhT^K}%89kHnW^+ish z`RF$uftWG|qrA0ITg6T!e2Bey(eO1_z}Z!jva)kmOGxZkR&j2Q<^#DK;z1NEi-RQFw>4k)PZMoe^Z$S2fBQ+sjNdQXRv+&^ RvmEFy22WQ%mvv4FO#mq1ZxsLl diff --git a/graphics/event_objects/pics/people/old_woman_1/2.png b/graphics/event_objects/pics/people/old_woman_1/2.png deleted file mode 100644 index cdee1f84af6a6623a9ca55d430c41bbb1fc7491d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 258 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p z)8Ogi7$Pw>IYC0B;5$>xv%7o65ACo1W#ZBC{mVP!bcY`6-R1A?xP=VN?DnSf2eh~b z1f-jLbh+M$_;Dt(qvM0*1VgTe~DWM4f DO)h3# diff --git a/graphics/event_objects/pics/people/old_woman_1/3.png b/graphics/event_objects/pics/people/old_woman_1/3.png deleted file mode 100644 index 40fc7f909a9e1b9bb962083a9634d1b9ce834447..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 267 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p z)9LBr7$Pw>IYA<$;JaSSv%7nLGr2tY@^ZI8qjma0r|sp;2jdhTpOZ^|d^z2*r@5)g z$bqf9chSa;7ZTYOoCP=ivs;I2&+szGGVN1`x@L}dMC|K*|9sQp%CHv-?um2C8d%zydaKgl(aGTRhW1yoL NJYD@<);T3K0RVfJYZ(9l diff --git a/graphics/event_objects/pics/people/old_woman_1/4.png b/graphics/event_objects/pics/people/old_woman_1/4.png deleted file mode 100644 index 6b0df84d63b08cdf0059a4706ba1643eb73b16b8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 269 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p z)9vZv7$Pw>IYA<$;JaSSv%7nLGr2tY@^ZI8qjma0r|sp;2jdhTpOZ^|d^z2*r@5)g z$bqf9chSa;7ZTYOoCP=ivs;I2&+szGGJ1(V_EL+QD^rL?1(zQ_xo4)>EKl5e4^uPZP9AIGB{lnnL)1904 Q0-eR+>FVdQ&MBb@0Nk2z$N&HU diff --git a/graphics/event_objects/pics/people/old_woman_1/5.png b/graphics/event_objects/pics/people/old_woman_1/5.png deleted file mode 100644 index 6490ca64aebb653bdb90607c3ae3be321c9be11b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 267 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p z)9LBr7$Pw>IYA<$;JaSSv%7nLGr2tY@^ZI8qjma0r|sp;2jdhT^K}%89kHnW^+ish z`RF$uftWG|qrA0ITg6T!e2Bey(eO1_z}Z!jva)kmOGxZkR&j2Q<}N1BoZz*tk8}FJALu9s MPgg&ebxsLQ0O5>lkN^Mx diff --git a/graphics/event_objects/pics/people/old_woman_1/6.png b/graphics/event_objects/pics/people/old_woman_1/6.png deleted file mode 100644 index d3cc6dd56c295bb385e9b8a9961c635a1c9aca36..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 268 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p z)8*;n7$Pw>IYA<$;JaSSv%7nLGr2tY@^ZI8qjma0r|sp;2jdhT^K}%89kHnW^+ish z`RF$uftWG|qrA0ITg6T!e2Bey(eO1_z}Z!jva)kmOGxZkR&j2Q<SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p z)9C5q7$Pw>IYFYJ;5$>xv%7o65ACo1W#ZBC{mVP!bcY`6-R1A?xP=VN?DnSf2eh~b z1f-jLbh+M$_;Dt(qvM0*1VP#1FR?D^UAU*gb}hrJEk$e$5y{$1G@p820Xl}k)78&qol`;+ E0N=Z2rvLx| diff --git a/graphics/event_objects/pics/people/old_woman_1/8.png b/graphics/event_objects/pics/people/old_woman_1/8.png deleted file mode 100644 index 955bcf3dbeffee325f0e32945e27976fd0b97989..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 259 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p z)9C5q7$Pw>IYFYJ;5$>xv%7o65ACo1W#ZBC{mVP!bcY`6-R1A?xP=VN?DnSf2eh~b z1f-jLbh+M$_;Dt(qvM0*1VAU}@0czf3z&8;fG_MY-yM000+sMObuGZ)S9NVRB^vM@&RePDdbiWpW@hE;Mn4q~QPn00?w&PDe*f zL^A*Y002sWDIWj;00d`2O+f$vv5yPer2o~l|HYKvlyiGQLCwwH zoSeN%N_%s?06}{I5IF$NVoH=bDN+ys|Ns90001$F0&@TW00Cl4M@0Xn2lB-L0004W zQchCn$nTr(MwKO8o4uMSGW8=O%ODE~|2Xrj>5Pa|5ug}>Q z2H3Ps+qD0#3DHQatpE8O&h<{=xjIA6gWmyv0!_M{d$`l`ICoWY&iw{JAPSmvgm8S7 zoU0Tnf*L>}0vb5Aq?hB{@0#UF`0NL;EJ(BqC zho0-d1ZeepqtUnm2t+}X?URVH_6sg+tHhJdK{12r=2JG z;0Sy?j#&+8Lcf3}W&HMYgyLE6DL(2I{W?1B92$T?6}Y9rDsve}GRI_6vRoY`FIK8t z-A%JESf|NsT`!U;*7oxHZpzfYWR){LF}GLs#GcM&HeZ)^cCBJj)w5!Ku11y@*!|ld kUU@7O>u9YydR$jO0c-1|p;!I-q5uE@07*qoM6N<$g0HVVV*mgE literal 0 HcmV?d00001 diff --git a/graphics/event_objects/pics/people/old_woman_2/0.png b/graphics/event_objects/pics/people/old_woman_2/0.png deleted file mode 100644 index 2bccb0fb13655f0e8f73e6addc6e97a11ed8735d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 280 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p zGtJY*F+^f&a)N|HKpfxF%a;!5eA}>P%M~Vt#X4K|*qF#3@h}(BV>a~aW@SBlxY6s< z8nH}WKW&CpvEQ@qYA<-T>B6q#W#=1L-3;!TGG)r$#$Vx<+R`)EBqcm}HS6i4O+`nU z*w#fF`@Me|vy(w%Ytgxrkq(+|yH|&uiz*dAv7zopr04sNN;s5{u diff --git a/graphics/event_objects/pics/people/old_woman_2/1.png b/graphics/event_objects/pics/people/old_woman_2/1.png deleted file mode 100644 index 159e277d9f63e362d70c351f17a469b1fa1b5b14..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 267 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p z)9LBr7$Pw>IYB}pAdYWo@ZkeG->z)gvVloqv5twZu8Hg!1}1^UCZ;APIx>q`)^ynF zn&_CCtZi7R!=o~3*0}?5Tq#T2n7>Y+zO-#=xS>Ho>CWlXr>}`PaKO~{q;Q9rfq{X9KW(T(ab3fOgt7F*t_&@u<{~qU97?=(k=1gB1r~-5p NgQu&X%Q~loCII6?WXAvi diff --git a/graphics/event_objects/pics/people/old_woman_2/2.png b/graphics/event_objects/pics/people/old_woman_2/2.png deleted file mode 100644 index 6c2cb0fbead7a8e6be91aca341dff98467cf2c79..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 262 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p z)8gsk7$Pw>IYC0=KwKPO;*_OJMH^Tz0fA%Br!8A9lq?X~otT*sp%u{K>LH`S5^{9W z)>S$tx}ql{zSmSnMOjQp{O+;WL?&g@=1rR{Z@7r1Kb~nU-VmX;+dAzW)9sCmi6ObqR}HFia9{gVxJ4}+(xpUXO@ GgeCwigJ>ZD diff --git a/graphics/event_objects/pics/people/old_woman_2/3.png b/graphics/event_objects/pics/people/old_woman_2/3.png deleted file mode 100644 index 956af24a1fd03abc7bfd41989ad89c060bfe1369..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 272 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p z)92~p7$Pw>IYA;LAdYY8_ zjaa6xpEkp)*zZ|)wHLhFbYa)=vh$6rZU*;EnKI>WwdmZ*NC(Zf-K)dSMSW#F@xZpY>VN$P UGWF$ApvxFMUHx3vIVCg!0DGcuy8r+H diff --git a/graphics/event_objects/pics/people/old_woman_2/4.png b/graphics/event_objects/pics/people/old_woman_2/4.png deleted file mode 100644 index f3acfbc554510e391089312ec6e6cdde7e694f3b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 274 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p zGr`lvF+^f&a)LxgKpfxF%a;!5eA}>P%M~Vt#X4K|*qF#3@h}(BV>a~aW@SBlxY6s< z8nH}WKW&CpvEQ@qYA<-T>B6q#W#=1L-3;!TGG)r$#$Vx<+R`)EBqcm}HS6i4O+`nU z*w#fF`@Me|vy(w%Ytgxrkq(+{|3bCX*Y4up^!5LH+jPB#y9eu^*+ diff --git a/graphics/event_objects/pics/people/old_woman_2/5.png b/graphics/event_objects/pics/people/old_woman_2/5.png deleted file mode 100644 index b07ff25e5e11f6052fb22141bdc64224473ea2c8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 259 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p z)9C5q7$Pw>IYA;LAdYWo@ZkeG->z)gvVloqv5twZu8Hg!1}1^UCZ;APIx>q`)^ynF zn&_CCtZi7R!=o~3*0}?5Tq#T2n7>Y+zO-#=xS>Ho>CWlXr>}`PaKO~{q;Q9rfq{z>% diff --git a/graphics/event_objects/pics/people/old_woman_2/6.png b/graphics/event_objects/pics/people/old_woman_2/6.png deleted file mode 100644 index 7fe9b97e1b40632c41345233fd06be1eb98dcca3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 260 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p z)8y&m7$Pw>IYA;LAdYWo@ZkeG->z)gvVloqv5twZu8Hg!1}1^UCZ;APIx>q`)^ynF zn&_CCtZi7R!=o~3*0}?5Tq#T2n7>Y+zO-#=xS>Ho>CWlXr>}`PaKO~{q;Q9rfq{dh^%+^Y3iM54?L|Uo7`((|>sh35HLFIzju-`85Mw!{F)a=d#Wz Gp$PzO6=Ko= diff --git a/graphics/event_objects/pics/people/old_woman_2/7.png b/graphics/event_objects/pics/people/old_woman_2/7.png deleted file mode 100644 index 681aab7cc52b969ebeb5ecd415dcc07eff890add..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 266 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p z)8Xmj7$Pw>IYA=fKwKPO;*_OJMH^Tz0fA%Br!8A9lq?X~otT*sp%u{K>LH`S5^{9W z)>S$tx}ql{zSmSnMOjQp{O+;WL?&g@=1rR{Z@7r1Kb~nU-VmX;+dAzWlVL@9$+{9o z!*}=QSh}8UY;64hZdIsvk7LjN@AdB)z5o6{Q2(9zO74G235Kp&I!vz9X8i`biNVv= K&t;ucLK6TW0BW@W diff --git a/graphics/event_objects/pics/people/old_woman_2/8.png b/graphics/event_objects/pics/people/old_woman_2/8.png deleted file mode 100644 index 87d5c464d80ac9185be25bf7be5c6955cd5e5034..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 265 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p z)9&fw7$Pw>IYA=fKwKPO;*_OJMH^Tz0fA%Br!8A9lq?X~otT*sp%u{K>LH`S5^{9W z)>S$tx}ql{zSmSnMOjQp{O+;WL?&g@=1rR{Z@7r1Kb~nU-VmX;+dAzWlVL@9$+{9o z!@T=*EL~4FHa7nMvM$uS$FawH_y7B>-hc0&|L~u=;~>8pW7}cveTpH=J^`J?;OXk; Jvd$@?2>_JgY2*L^ diff --git a/graphics/event_objects/pics/people/phoebe/0.png b/graphics/event_objects/pics/people/phoebe/0.png deleted file mode 100644 index 06188b539f8771072b70eafe5b4542c3c95be7c1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 288 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?Cz(aU0RASd2}9nIXrlEAYjtEEgs${&(2+V=4QskX`4K)oGUvwPMWl_+LF1tvwP#l z?rKJ6=I%}1-4mHFWT;P_X*@TifhT=(A78q#Li5qfH!8S1y0V|0nYsEvPw46}$z}-$ k*927uS3Vs+k9VvL9*^~TudKQC0O(Q%Pgg&ebxsLQ08qzz9{>OV diff --git a/graphics/event_objects/pics/people/phoebe/1.png b/graphics/event_objects/pics/people/phoebe/1.png deleted file mode 100644 index 505190902eb64c2025b29fcc0a299ddcb09ec65c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 279 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_? zT3sg3>6xCu$?mz+%3#WqCW-5JBu{0%pJ!S8-OI|k@@=fbj<|CN;+T?lh#MGexN&c9 z^-ac%Et5~4nR!mjq0P7>kttfS407_?6+Y_}teoTY?r$Sii0+ zB2sd~!zD}RO`FD+l%Y9&>2l)+i2y;dS}T;;Q@%4Xq&`#oyl44EKA>9|JYD@<);T3K F0RXyWXK4Tc diff --git a/graphics/event_objects/pics/people/picnicker.png b/graphics/event_objects/pics/people/picnicker.png new file mode 100644 index 0000000000000000000000000000000000000000..207c4220066cb0419f6c7c826c2ed5b2f14b7eda GIT binary patch literal 874 zcmV-w1C{)VP)I@000+sMObuGZ)S9NVRB^vM@&RePDdbiWpW@hE;Mn4q~QPn00?w&PDe*f zL^A*Y002sWDIWj;00d`2O+f$vv5yPer2o~l|HYKvlyiGQLCwwH zoSeN%N_%s?06}{I5IF$NVoH=bDN+ys|Ns90001$F0&@TW00Cl4M@0Xn2lB-L0004W zQchCljA6vuCfK(&;i>`_J14osDD&OjxQiQQI>RECy? zd;=ELp%Vimav(z`K0T+e-wc}-nokZy&T(ajk1?=l3*ek=M1j2UE6K|xnno59urIwW(>G( zbB~bk%(mGP(d-suJRA`yB2}1irs;7Wob1drIRu>S5PrmYIPj%F5vf8cKKpQbS}43a z4m_80H}J@VLgB01_lJUiMPouK{x}Qkofq^2*YySvG+Su)JwFquB2_3EhPQvu-3r5C zaO}Egeb_Kp+H=F9KoO}z$^7T?pT*KWKks^w=K7?%So#)*QlN@dp(M%CVv!nztj@w)Kh}It7 zuXIxZh-#Zgu9At6n}!rhKCd%&Z~=VG*xL(ybK934460k!0Sb^9RFC7N24YYml*}#Q zE5Bjn7V!PpfDOGDPw@*`MS(a7+#at}p=55!;k>nPWQ1>^I)8{QgP<*11`*O>EU6j8 z8ibJu>P1fkYuHj3Y1>Gmnff^bf=%o|2SI1NCeOOX6%63zwL{TjC5lALDannW>)5jf zf-3$#4gIixkX2r^5xWMFm6BH5%_O|f>0y0wI3gj(huaf5d>K1z~KS`kkY zm8e-(Gpx1O2EqMsNPC&yxq79sGFh$pa4TH?1+cppAfOW=rT_o{07*qoM6N<$f{dAX Ac>n+a literal 0 HcmV?d00001 diff --git a/graphics/event_objects/pics/people/picnicker/0.png b/graphics/event_objects/pics/people/picnicker/0.png deleted file mode 100644 index 310170def6dec7c99355993cac16f977633493a6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 300 zcmV+{0n`48P)8IuY0000mP)t-sbH$|p z)wKV`l-`tcdqF|X&EA}xy-G@ZbG-mTdjJqQ0L@}blsPF<5CH%G{{R30F^B?l00001 zbW%=J06^y0W&i*Hs!2paR2Y?GV4w%!TD58cn6a{>V-{Fo=BiaQK|*&{b#$yc%fP_d zb9U9LJ0~VE+}?5VqO5H9UWPk61%Y7pS%$lJ6+g-g-M!1ed)erdzOwBF1_l;mB_(4A zkU=HJ#_k}R{gsQ$x&k1hE^6k?rO$y%R6%wHIWVwTtz5Ng)?%P)ugIA*r!E1iVKII8 yE*PYp%gDr88RQJE8M9V)f}OZ(0oN)dmjeJ#dOO9z5d1U%00001_4yIxt#aI&L7tG-B>_!@p zv)a?eF+^hO-abRFLk7{zzXKC%2ulbiqWb3?s~m?eLJ;8f>Am0PW^PP)`EAFEEBcAW9rijFAe=;+YP z6&deVt-qxZ_;}7$F^@U^(rs1Ge-*gT-)Em|lT-Zc5wFW+gB_;?&T3EmG>P%_oE1BM w&Cj@2`dTMr$z@k5lO#QDIgzI_r~7}3ADi#Z9nSJ>JJ8t-p00i_>zopr07yD^!T1_4yIxt#aI&L7tG-B>_!@p z)9LBr7$Pw>Ibi|&gQ%@pj59VaTAVD_5w~^I;$pRcj@8N6&dgl>uF2)vx~S6cUs&1L z+#_#Fr+;gZXxe03eXdF3)2ZU~4Oc8)YTw_(owPwhI^Jj}gVBkjH-6~dND-U9Gl8*f z>gPD8w^^r~4R*{4ndT^QPVM{wo^9&;1dj6fsRf9at!vsP`YK3+fng?x{=4m^{I7tH OV(@hJb6Mw<&;$V8Fl(Lw diff --git a/graphics/event_objects/pics/people/picnicker/3.png b/graphics/event_objects/pics/people/picnicker/3.png deleted file mode 100644 index e80ca4b4e23578d9e1a2a26a7984d22e6532dd25..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 285 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p zGuzX}F+^f&a>4@b2T@zI7-wwUv^ZHTBH`JpP-91@^03m9HCCq&9JpCrc6F7tx|+eA zdxaktt;zWw*Jf?a+L-VyvTb*{sQoGKyL(R`sJ{7P^1e-PS=rdclT}rd+1c2{E~_3p z_KruvZA$m)OH2xFVdQ&MBb@00j1_4yIxt#aI&L7tG-B>_!@p zGsn}#F+^f&a>4@b2T@zI7-wwUv^ZHTBH`JpP-91@^03m9HCCq&9JpCrc6F7tx|+eA zdxaktt;zWw*Jf?a+L-VyvTb*{sQoGKyL(R`sJ{7P^1e-PS=rdcl2uic#V0tb9y=Cy zkdKGwO`x8hw_?vskMmDrOIhG|7+`O%ZBN`UTU@O1TaS?83{1OO;La3cT! diff --git a/graphics/event_objects/pics/people/picnicker/5.png b/graphics/event_objects/pics/people/picnicker/5.png deleted file mode 100644 index a5dce80dd1929e1320b426dde233deca2eee4dc9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 283 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p zGt<+>F+^hO-gAarha3c0FT`^s9k|@FSHeZ$P0krjn`0be)B0MMY&_9m-m!N=nvnl7(;+Fs1*7QT3ImALRnUJ2QjNICb41_4yIxt#aI&L7tG-B>_!@p zGtbk-F+^f&a>4@b2T@zI7-wwUv^ZHTBEikwUESlwwKIKvGqWWnEULrK&e{3u2uquF z`uR0crO(bqwpmxdn`2r0&16Dh)%%&o+rQ6AePCPs?cH7LbUg!u5BFG`v=y5F-QWA$ z{zhYCqwTBz|Cb6JJ2TVUyTRy1_4yIxt#aI&L7tG-B>_!@p z)9>lx7$Pw>IbnhJgQ%@pj59VaTAVD_5w~^I;$pRcj@8N6&dgl>uF2)vx~S6cUs&1L z+#_#Fr+;gZXxe03eXdF3)2ZU~4Oc8)YTw_(owPwhI^Jj}gVBkjH-6~dND-U9Gl8*f z>gPD8w^`Nfi6OdyMa0t7^ UbnW^xK<yy85}Sb4q9e0Dewx`Tzg` diff --git a/graphics/event_objects/pics/people/picnicker/8.png b/graphics/event_objects/pics/people/picnicker/8.png deleted file mode 100644 index 076c2c32b731eb71dffe689f4190e03740eebce9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 274 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p zGr`lvF+^f&a>4@b2T@zI7-wu;v^ZI;BW~-a#l>m?9jlYCote4%U6aeTby20?zp%2g zxkuiVPXE>*(X`37`dpL5r&Gn}8?IQq)V{xmJ86T2biC0{2BQ;4Z~V}^ks>yIX98o} z)X#BFZ>y$rCay916vGyn^yVkek%*i}-_HrDY(I75Xk;zopr0Bj9$l>h($ diff --git a/graphics/event_objects/pics/people/prof_birch.png b/graphics/event_objects/pics/people/prof_birch.png new file mode 100644 index 0000000000000000000000000000000000000000..5c3fda9f9e62eea35b7c29cde27532bef9a2167d GIT binary patch literal 886 zcmV-+1Bv{JP)er2o~l|HYKvlyiGQLCwwH zoSeN%N_%s?06}{I5IF$NVoH=bDN+ys|Ns90001$F0&@TW00Cl4M@0Xn2lB-L0004W zQchC5+<2=85DJ9XMh?0w6}?|ytgr;~gD zH+54tb$#iG!DamKoJdAK?bJW{@&hMCQgVN#;3}f$%K;JxGV+MJCn;$`kP|Hl=cIN0 zK7Hv?U&=m>Amw<2AQR+7OTsy6qaR6{h&*pFpaDebdH#anqG(w-r;bsv=p%2C>WoK4 zn!+Fzn$E9!53i^#1j(nJc%0IQzG|zZ%5Sm?>`j# zD#*mp!Uq{SGMqg#h&6y3Gg$6JJgK!T8n>RK4%aDI<%ZU=vD_bX zE}x8s(NYuiV=fZrFWxM6rn;op1+5R%K2zYeZ*V%BJgFCZTv!>vKMin{)cXw;eE8IuY0000mP)t-sbH$|p z)wKV`l-`tcdqF|X&EA}xy-G@ZbG-mTdjJqQ0L@}blsPF<5CH%G{{R30F^B?l00001 zbW%=J06^y0W&i*Ht4TybR2Y?GV4w%!y?gfpn7(u7&RG!a?&-5<_S^*v?B0C_By{)8 z**j-IB6sfy3Z4Zjzbh**DERT>T?Q6i#gFnrmmC-voQ<4RludxzYmJnYl&>=|us^$F zYi-QBzIQVSUBLh~NmJqvx#;FOv-#q(K+3WKxjvlU%=AtnqgzHuvOJ-q@n z=Pnok&2hea#rLiO$YI8|myN+rynBK7E|SXuV8Kak4qQ}N00000NkvXXu0mjfMH+pY diff --git a/graphics/event_objects/pics/people/prof_birch/1.png b/graphics/event_objects/pics/people/prof_birch/1.png deleted file mode 100644 index b27c2174ad5e6b4197a0eac5d94133991cbafe4b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 284 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p zGt1M(F+^hO-abRFLk2tW{t;U1GTO?zLwuaXPO#%a|E2r`m@lZ7(a^ z_0RJuXU*9fIcw|qC-P4Y7@S}EUEFtrokc*)x!>!SbDfL4z4~Jd+XaRfoBZ}wHs9GX z&qQV7o0C)Q)~1}*Tsl4T=^dGl$`j{glJ{Kq*8D#4N_J#O)-m1n=ReFBN^YGhrfqgT gX1_4yIxt#aI&L7tG-B>_!@p z)8Xmj7$Pw>Ibi|&gT2+?nPwC|KQnW)g4p|)#tvc=3dKF<-(wcpRsH?U%gYKAyPF&g zClt9KJYRn9-d^sM6WsS%FY@?lotpmUJ+q|Fv18NU*f;R($GpLBF@`Tc`DV!J;* zXH_`X_5A%jCkek-0d1QrHD(;FK58oVXw&ZU^$uICXa6|lqNlJ^hCzkTwq?1A6f4k8 N44$rjF6*2Ung9f}Z3O@T diff --git a/graphics/event_objects/pics/people/prof_birch/3.png b/graphics/event_objects/pics/people/prof_birch/3.png deleted file mode 100644 index 5f9d2750e5f68df42ed18230b06bacfd8e347566..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 295 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p zv((eYF+^f&a>4@b2Yai(GtJmn{Onw$!0UG}H>ZEQ!^-{UUM-tS$@eoitLX`O-;@C^n?Qb-N`vMW^)@4 zYQDXDclY~GToMsMpXF}bc55djc$}U6=;s=l6FYw8xQ2HL1^m9dW9sI464niKi@&eq rz96ZyExhJ^Q*6b}A53RfDhM%z?sw5HO5EKAbTEUbtDnm{r-UW|@!fjB diff --git a/graphics/event_objects/pics/people/prof_birch/4.png b/graphics/event_objects/pics/people/prof_birch/4.png deleted file mode 100644 index a44244f15f08a159b2048209bbceb4498b30325c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 293 zcmV+=0owkFP)8IuY0000mP)t-sbH$|p z)wKV`l-`tcdqF|X&EA}xy-G@ZbG-mTdjJqQ0L@}blsPF<5CH%G{{R30F^B?l00001 zbW%=J06^y0W&i*Hqe(T?Q6i#gFnrmmC-voQ<4RludxzYmJnYl{4f diff --git a/graphics/event_objects/pics/people/prof_birch/5.png b/graphics/event_objects/pics/people/prof_birch/5.png deleted file mode 100644 index 3c6c16ff1568fb7c47f6c199c20c0d2e38968fbe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 279 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p zGu6|@F+^hO-oA}ohYUnq-wPCcQvcI>&dKrU$+OpV{mzwrek`?LK~v;Snx5af{41W1 zybr{G;L&gAZe;#5)zWg>ce|Esvt0tVr5&{#e-{LQxwlhM-|=GW8K*-j%GnQ`pE8~a zn#PjTpY@V=&8=cD{o4n(^eV{~Z2FX=rzI_Dsq@8p?TLM>y!m!sbP0l+XkKPn30B diff --git a/graphics/event_objects/pics/people/prof_birch/6.png b/graphics/event_objects/pics/people/prof_birch/6.png deleted file mode 100644 index 802b89fd6039ec8d09606f55c8635cccc531ec2b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 279 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p zGu6|@F+^hO-abXXLk;;E0OeSrBbP3S@WtZ-xYb%7P;|eIxI3$vi-2^*}~^X z7rbeh98~%4;iqj=!mXPpyIro@k-T~09=2649bI@{E%mszJmSXBh>q=7uhwf{`y3y6 ayM}?)CR8fugc%RefefCmelF{r5}E*rVRL8z diff --git a/graphics/event_objects/pics/people/prof_birch/7.png b/graphics/event_objects/pics/people/prof_birch/7.png deleted file mode 100644 index 59af318a2ce73e4adf665e2208fe812a6590d2c8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 273 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p z)9>lx7$Pw>IbnhJgT2+?nPwC|KQnW)g4p|)#tvc=3dKF<-(wcpRsH?U%gYKAyPF&g zClt9KJYRn9-d^sM6WsS%FY@?lotpmUJ+q|Fv18NU*f;R($GpLBF@`Tc`DV!J;* zXH_`X_57*7Vo#B3xIlBc>yC}uC%$Qyuitg#7n9`l#%H@4e4d%^JHTD|D0YJ)L#&;n VOY*ThyMaz)@O1TaS?83{1OQSoa+3f6 diff --git a/graphics/event_objects/pics/people/prof_birch/8.png b/graphics/event_objects/pics/people/prof_birch/8.png deleted file mode 100644 index 0a936308a331065efe3746f5b714d9418d9fde20..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 271 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p z)9dNt7$Pw>IbnhJgT2+?nPwC|KQnW)g4p|)#tvc=3dKF<-(wcpRsH?U%gYKAyPF&g zClt9KJYRn9-d^sM6WsS%FY@?lotpmUJ+q|Fv18NU*f;R($GpLBF@`Tc`DV!J;* zXH_`X^{L$dV2`TTdnZMn$3X_o*RQLZeBer2o~l|HYKvlyiGQL28Sv zIZ9#(5Fpiaq@+P}QXoOq)zyoOltDpK|Ns90001r;Hl&H6vy9S$r1}f-Lgb7Nh5WMimg`4Qa5(+h!ph@ ztgW%xYDI`sCnga707%%AQ=&BXlCMT9RHQEMdk40`v_qFp+>qbp`R@OFcP9Xj<2a7v z|BM93{;a6{(}?{bNVXF{BnCkc{wcOx*=Hr0`@uBA2?oxS2r8HpATzaw5q&>LfklD=if(m~M<}}0 zrE?UncZ3-w<)%CPpy)`(kodm#jf?d+357il!U+`2>T=6W#d;$(S44T}4qef*JEYcO=(r+i zrHRME=Q3Km+}7oRWxS+)AK!9QEaaZdcPVpm0@%cg+j4iA)w#EAfN%Ewbrheux67iQ cH9&uV1B-CX3)PoOZvX%Q07*qoM6N<$f=uCgKL7v# literal 0 HcmV?d00001 diff --git a/graphics/event_objects/pics/people/psychic_m/0.png b/graphics/event_objects/pics/people/psychic_m/0.png deleted file mode 100644 index 099e65aa180cc09c825b8174c4ec74f51430e6dc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 286 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p zGsn}#F+^f&a>4@j2v(MaW2er|GgTiy4;ODyGHP&Uh&_XJ0#Y zbn}`pJ%+4FMlm`ZS57Qa{Sg>fFp-(LdGkf}+En2MNn**Ws>ur&n5(-sZj5G}@Nm+r zM?%k-rUVxC&XHR5gdyaS*u_~)K~I9_T@2%!lJwwzeB8hP%pTJ>{}&gYp!aRlmrW%C i%?tN5?3Forlwr~)gR}NwHphYPWbkzLb6Mw<&;$Tj8*=gh diff --git a/graphics/event_objects/pics/people/psychic_m/1.png b/graphics/event_objects/pics/people/psychic_m/1.png deleted file mode 100644 index 6203b8f3a416c99551aae566135dea5af5efa95c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 276 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p zGs)A%F+^f&a>4@r2v!z_s?_Ia&P6)RT3!6?jO1!D23D&yCdLlK&6|Z)j&2oFG00{N z;O=0&a*RJ|ZPeGs#)tMNX8d<}`)7aH+9-aJgoN`zi=r7PJe(vYCH3skfdh-402zy( z95|5lMoel}(i?^;TK?YJ<%}DvPgg&ebxsLQ0C{L`xBvhE diff --git a/graphics/event_objects/pics/people/psychic_m/2.png b/graphics/event_objects/pics/people/psychic_m/2.png deleted file mode 100644 index 00f19c8c3f1fe49bab1c14343cc0d84229197bc0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 262 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p z)8gsk7$Pw>Ibnf*1S^X|)zdRGjnf%3^%QK2uQDxQ>A1+5v}TUs;^JpaZ0kaUHXq2^ zA;zT_XIZQoa4IlPVukF9f=l6X8C&I6%sqPJ#)&7)Cmh6+A6ISQ)p_?dfw66>=DL>& z$GFr*Ig)2?_OzUF@ZZt@)-w*~r|<{HOq<4+xMBKr<=x^8j~?sQ-TAyX7U&)ZPgg&e IbxsLQ0I^qRH~;_u diff --git a/graphics/event_objects/pics/people/psychic_m/3.png b/graphics/event_objects/pics/people/psychic_m/3.png deleted file mode 100644 index ec8733d454f1fd9251369c9cdc99c254b969e2ab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 280 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p zGtJY*F+^f&a)N}w1}=^RJyYizr#D5!tWGOA_a=fN<;m2@{!_n>SxnuT2$RkR+b0s+zojp*yQ<Fv>lU$<4LN`3U3|uK>F5Wb%k&jA+w|4$b06T-@@~Gs^X937 a5W~AZ{R1bjrO5(a$l&Sf=d#Wzp$Py?>u=2f diff --git a/graphics/event_objects/pics/people/psychic_m/4.png b/graphics/event_objects/pics/people/psychic_m/4.png deleted file mode 100644 index 7a2f069470021ecbba99eda499d4f1235c2fd262..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 280 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p zGtJY*F+^f&a)N}w1}=^RJyYizr#D5!tWGOA_a=fN<;m2@{!_n>SxnuT2$RkR+C@s+ugW(7gA^jT^cg8b{~7 zdL%T9CuPGFS3h2DMlZ{i?pv0LGDx0Nlg$09a69r3&}sZ-?A3cW+aJk%lld~heH!ys aCWgM7Iv-Z;U&#n`A%mx@pUXO@geCwc6K`4o diff --git a/graphics/event_objects/pics/people/psychic_m/5.png b/graphics/event_objects/pics/people/psychic_m/5.png deleted file mode 100644 index 64133327d7810538a0fe2912df69ffac4ae9f4af..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 269 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p z)9vZv7$Pw>IYB~U0~d$Gms96v&fVN#68`+mOye+J2CkAbEKCB)Y3b@7UD>K03D=kw zhzT&S=#@Vbwe=M<^WpjlhW{IH{j6UbwN*~zz=1fRMcWnF6_ia)OiUzCBxrK;@@g}B zS*~nvTPDgNc}^`e^Q*$?$Ui`3{AGOAdpFx3Nqm#}GC+MA^HnAW@5z=kre9gB26PsK Mr>mdKI;Vst00j4DxBvhE diff --git a/graphics/event_objects/pics/people/psychic_m/6.png b/graphics/event_objects/pics/people/psychic_m/6.png deleted file mode 100644 index 7c55b4f4da6e4c23bea96af417d219c7445eefbf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 267 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p z)9LBr7$PzCXzxbeLjgQ4u?ntUlT{O%HB5zAg=g^on6f}*1JgZ*{vxe>pO}`;RB%MfGCo2U~aUPjdNC((xcI=BjXWqDyN-lylb%*GcI@U!MtoblY$< z*7&;gg5ayd4t?oYPs;^}UadR5JX^DU+Ju?h;hVPTIDY?Byi#sX{In@HI_;@zfo@`8 N@O1TaS?83{1OTWqXleie diff --git a/graphics/event_objects/pics/people/psychic_m/7.png b/graphics/event_objects/pics/people/psychic_m/7.png deleted file mode 100644 index 134953f5c35c405c0b9def0614e0a1fcbb13b8c4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 266 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p z)8Xmj7$Pw>IYB~U0~d$Gms2y1)6X$oigBoVwu;q(Q(&?1kqFCVx94YAd16*CNo%}X zpequyr|6m2f+>sl7z9{Pc(`Q!o(oyF0oL6cH%>gsKA} Mp00i_>zopr0G!EcVgLXD diff --git a/graphics/event_objects/pics/people/psychic_m/8.png b/graphics/event_objects/pics/people/psychic_m/8.png deleted file mode 100644 index 79ea167fe9d778ef453553d41cfdd3420141577b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 264 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p z)8^^o7$Pw>IYB~U0~d$Gms2y1)6X$oigBoVwu;q(Q(&?1kqFCVx94YAd16*CNo%}X zpequyr|6m2f+>sl7z9{Pc(`Q!o(oyF0oL6cH%&arKA}s`XJPa?@2hkx!rJ)KG6?7Wn?cT8zZrf#0zy!4b~3>$-wwqDKd_uq7YE@JR> L^>bP0l+XkKpz3ND diff --git a/graphics/event_objects/pics/people/quinty_plump.png b/graphics/event_objects/pics/people/quinty_plump.png new file mode 100644 index 0000000000000000000000000000000000000000..8b08ba7d720b19445c2625c35c544683e08a08d6 GIT binary patch literal 1430 zcmV;H1!?+;P)dN0sWJcn00Cl4M@0Xn2lB-L0004W zQchC25n5XZG$fHXUju+mv_0V9jV9*2)HM3{zG#0W&0w>X+i^rhMbw- ze37ziwg2Y|h@NHuIedgUMMCTv>^s;O_Y4Ba*+*lhtq21W11Wb5Xx9NW_QYKSiXe}+ zLb#Iw9BeisA#CFFL)M~ojmL7GK`_J^tAar2vAG&0eS6R2h^nDs zeYvhN-?FtBw8uYDi)D&)1(!4yJ-*i>t3Q{8PdP7$vZ^2u*kDN1rh9=kLOfef15(Dz z6uFK-|9i^c3ZaJa52^?Q^y(zRIWP{qFsJi=qtEWtIIAaIWYLH*eiv;E ze37Q-0E+wq`YqY~79nLxSj{N)+2uGU86rafUqC(aKqQ0wV_b~4eo6?RC4%a!;vir| z-{csyVcZKHa7;bEt3}eo90d-TR=_|Go9H)TlHElP+O6DH;gkccjYsu3Ipc4G^SBq~ z7i~F=lO#3Njg!d?ucpCPBte~f{TSk}MgpPUVfG>?^0&zEUJTzp_?K?9}(pU54 za-l;OE%22wOJns@3k2T1MUMtzBkm1gqdgD~hVj>bn)&iQ0VoC-2;k<+#a$q|zgN(2 zuAuifUAkpTchU6R$%~o0N1tK?MqTaCaix!OI5l*~o237Z9{q&r&c&u?!#tPz;6{$PjLiUb9GFDrN2 z`|Gmnj_&|Fm@j7~P3ManFB8XPX8xr@56lg}eI0Xq`vLr8Q$kv;Rv&bUw@w>g;F0~) zE|?;I(>2zEweL&~JAhv4zAaE6$lZB`cpR{X%4&<#D09daM7kxJIZ_O{KvNEfI&d@N zn)y%Io@uTDD#+@_dbJhpur_%5c7>tAE~d!>|H9Dj0qM~|cF4&XTcXet8BU+A$OYtt z6^nsA=5zd>-tZ2L(LL%K+kugrgFcgOE8{`G#ri2BrY~%zLy@(kcM#>O-Y!>pw z4RQnMW>#lm?mI$r7i>2`X@%6^lBNH%|EJ$FV`qv3{P7^PhV0;2*T!fC{{cSlH*biW z_kIeAx`!)#g}G7L1Q6S>@DL<@11^kBUQaWQ0WVrzTPTc%7LxCtVP=9rS`2pzY#zYA zXpJlRh;0^t$|22I$(aoRJC#==R=<#;!1@$)O)jfNeEz+>5q8ZQ9l&w{m&*w1CnnT~ zlvUK7ymhfW_k-Mvyh}}w0V{`bFLK!r*b)5#em(BCP|`?~F9)Je08ix7Yaw{=q4Wc7 lW99^ei1*%wNZil)_AkJkhFCXbW<3A^002ovPDHLkV1g1Cq;UWM diff --git a/graphics/event_objects/pics/people/quinty_plump/1.png b/graphics/event_objects/pics/people/quinty_plump/1.png deleted file mode 100644 index 6fbd85a26739c71c5c8d1f5f54d557535b704236..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 363 zcmV-x0hIoUP)+kui?KFc3w}4fwlKK*~0N!~qB;9l3~`NxR!*D4~k4 zLp?NzGWHGNE<3TKjh4+yyzW1Z?HP|TFERn9zj8)oF=S*Fb4^3hvj9~G=Ncy4UqGx` z;TpY2*){(OgNjqOW?X%Vr#7AsLb9%r+~1Ped5J&rM@%F zM|;L4+^>BWAFjYh@NJqlmy7Qzd@F)6p+`i{P_H>{20x6g{Tt$&gc~-0( diff --git a/graphics/event_objects/pics/people/quinty_plump/2.png b/graphics/event_objects/pics/people/quinty_plump/2.png deleted file mode 100644 index 238f0a55c0ed808c0372a2406597c810d01cbd91..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 343 zcmV-d0jU0oP)(UT@%9cmVF=B*2FF+xVKz`!f6HWgO>ULLdaZkr#!OBFEreu|Lr~@$SK?m>;-*$Zgq4c+kC{JxMY*e9Wm&6^xDqD(B zQHcR$={)!j*6AWvTok(LLL-yJ1s_NcV4`m=-*Bdzey_{m4j2o7=+d_4YMVX*7n}}b pOaq|vtjHLx`Sp4dX;we+QxD-nU>Uui5-0!w002ovPDHLkV1iK7kG%i@ diff --git a/graphics/event_objects/pics/people/quinty_plump/3.png b/graphics/event_objects/pics/people/quinty_plump/3.png deleted file mode 100644 index d1cb5d7e7eaa0456a671b729e37d5683f003a120..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 385 zcmV-{0e=38P)$RXy91?{}X*4+j4h0GB!uA^1@Zh?!}Ab~58~ zwGnySlqa8IR<7|bYw-Lg5Rp*V1@LkPX2=UwmrQ+9lY=rT@Jfh#`=Y=|`^bS1H-My} z5M`WHKXI3xI?qGn7CaxKv-*=Dypmoc~EcdPN$B@w(ZvyU=Y=Q>uHaDQoUB* f+(XnmAFc1Y$u}i6M14IBJF{BL~dV{FU5^7Ex=(K^k zj_S(@bdf$TynujA;2bF-kP$1$@A!1!9d%iDKL)rt!xAB1e5RI}nx7&|+pt4v4xIM6`CdeLifUVQKRONh!!l8b3 zZUXI+pk9FIW?O4XRpMV@EcXfCLO6#!0=3#!kEiozg!o4x5>6k$dl=IDAcctRuGc~$ z7(9gmz&MUyGT=Ap&h&~Q!9{YDwixrQp!+l{yZ$TRR7`eerVNuF00000NkvXXu0mjf DfW4Jz diff --git a/graphics/event_objects/pics/people/quinty_plump/5.png b/graphics/event_objects/pics/people/quinty_plump/5.png deleted file mode 100644 index 9f9404aef8447852ddc431dc9b6d9046344fe01c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 363 zcmV-x0hIoUP)+kv)#WFc5{~8}J0mB5g&EKuWgEMcfQ^nhc_&A#(*v zI<(!^4h7maThJ$W*|GTxQIL2=k$)KbUZDY3wmto14F$2-tCy| z9jx~_h!j^~V%|(erJ;HXma}fu*x`6-y002ov JPDHLkV1mkTntA{L diff --git a/graphics/event_objects/pics/people/quinty_plump/6.png b/graphics/event_objects/pics/people/quinty_plump/6.png deleted file mode 100644 index 11316499cc44fec69c326f06fcbba4c817e6627e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 350 zcmV-k0iphhP)+k-ZJVFc3!L4e}|-Ad)IARqzO85jRF+fS8slHv*Kj zbks>hjoE*?-952`B_0#t5 wnls#uOX6QbAa%SOnRB5DkTP?aKmKzh4|3XWS^=)kHvj+t07*qoM6N<$f<0J}F#rGn diff --git a/graphics/event_objects/pics/people/red.png b/graphics/event_objects/pics/people/red.png new file mode 100644 index 0000000000000000000000000000000000000000..b233aeaebfb53a494b3d6773e9c4c05aa168da19 GIT binary patch literal 847 zcmV-V1F-ywP)er2o~$|HYKvlyj_VTK{TF z#W^{HK|yn*#W^{9|K3`?oH^Ci=Cric|Ns90005b126g}d00Cl4M@0Xn2lB-L0004W zQchCKR76o%hsb+RfZrb-D?#1tu4sp=F7x-fN0C&X4; z3{gx9J|Yo3(oO}6)V=|{cVTZNm=H_nteH9?B9l~hBZMCBU1B>j2?GODZpf$q9RJ_l zIWfR$tj22mr=fYw)6&}emmX`s(b)6m_^i=zy#<10!jyi4hnw@|6&LCSf+fOC?C(Fi z+M6r#xyW(<6f6^_gv9ALoj?kC!iBZ>eaA6Hsh}t-3TFg*F&us+fY>nwABNwVK`tnW zio#56Rc|A{8F^OSX~oXiTSL@3pj=Q8fiG-j!c1)4S^u%Ie$TTuNo%_A!IOhD=T@70Z}4Us2x;-$ijmiqPZ%RqUSx;{VOmA&}w%JnWl zM+CA`;VEYpO(cgb7o$ zvSy)VUGhZ;zFT@Kw2u(a!M+?!Io zCM)WHme)~B%VtN%;w3=3`v1MCy>l$DUVXM@%hmt?L7HZ!vy}lU#*!evUSy&;3#$DiCvG&G`$@?~0o{&jaPEDR*`R9Ib?`wMoN&9_&|IfeA zKPB+jv})aW&K0MBcIf)4ZI!;ISu*wO{mYI#ZU5ze e{8zS=VDM_NI#xRA_Di4}89ZJ6T-G@yGywqgz!M+?!Io zCM)WHme)~B%VtN%;w3=3`v1MCy>l$DUVXM@%hmt?L7HZ!vy}lU#*!evU*&Xbao3S&r_(#qs$#l@_`npES>%%sqK*G~6;^sVPiY-N-G zKYjXtZsV=4|ICe+C+7V6|9^k;nTP-5;^O`@p7`K61o`(L~MzdzF}qko&S zrtUWk2>dG|E`I*K!cpV$_wzV|&cs_5KPxdmdKI;Vst0H6kSqW}N^ diff --git a/graphics/event_objects/pics/people/red/2.png b/graphics/event_objects/pics/people/red/2.png deleted file mode 100644 index 854948ceeaafc1db415569e964951cb9db9e9ada..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 269 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3x(f>!M+?!Io zCM)WHme)~B%VtN%;w3=3`v1MCy>l$DUVXM@%hmt?L7HZ!vy}lU#*!evU>4);_k QptBe}UHx3vIVCg!08tWkr~m)} diff --git a/graphics/event_objects/pics/people/red/3.png b/graphics/event_objects/pics/people/red/3.png deleted file mode 100644 index 6a533d4e44909a68b738361cb447764ab08bf39c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 275 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3x(f>!M+?!Io zCM)WHme)~B%VtN%;w3=3`v1MCy>l$DUVXM@%hmt?L7HZ!vy}lU#*!evUoi8qwU+MyeQiVANN1IyZiC~ z#;mWZ>F4JBSlQ4R>-u5wo&~}I(Hk$S*QORvs66I&>X-v#+3EMkj(wGP=*j>8|G7Vd zS7_boz0>aVr+oO|YZ!M+?!Io zCM)WHme)~B%VtN%;w3=3`v1MCy>l$DUVXM@%hmt?L7HZ!vy}lU#*!evUoi8qwU+MyeQiVANN1IyZiC~ z#;mWZ>F4JBSlQ4R>-u5wo&~}I(Hk$S*QORvusr5=>X?G?&;8QU*ZtYN3hRFVx0gTi z5PsDC93LMB$7x%gYYp(p9Hae7))&h!74#cB4;Ems5i3nl9%ryTqsze0>*MUDv@ U`^ObCfNo>(boFyt=akR{0N;&tUjP6A diff --git a/graphics/event_objects/pics/people/red/5.png b/graphics/event_objects/pics/people/red/5.png deleted file mode 100644 index adc033530301883f8274459ceb1c6a2a7ce7af4c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 262 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3x(f>!M+?!Io zCM)WHme)~B%VtN%;w3=3`v1MCy>l$DUVXM@%hmt?L7HZ!vy}lU#*!evU!M+?!Io zCM)WHme)~B%VtN%;w3=3`v1MCy>l$DUVXM@%hmt?L7HZ!vy}lU#*!evUQS@X44`uuJYD@<);T3K F0RY1-Y!d(g diff --git a/graphics/event_objects/pics/people/red/7.png b/graphics/event_objects/pics/people/red/7.png deleted file mode 100644 index 22bea3f24fee3f1716f9f92420071e417754359f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 271 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3x(f>!M+?!Io zCM)WHme)~B%VtN%;w3=3`v1MCy>l$DUVXM@%hmt?L7HZ!vy}lU#*!evU-)B&nmW3cmMuu z+X>I~!?k`t;!mlWpa19o_d0>(Xa8p=6#vlv|9{R*{-8he8}0uxUzzA2$?!biJiLkH RDi6?M44$rjF6*2UngFJ-b^ZVV diff --git a/graphics/event_objects/pics/people/red/8.png b/graphics/event_objects/pics/people/red/8.png deleted file mode 100644 index d0d544d164b68b365a80ab91012f38dd25e55cbe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 267 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3x(f>!M+?!Io zCM)WHme)~B%VtN%;w3=3`v1MCy>l$DUVXM@%hmt?L7HZ!vy}lU#*!evU-)B&nmX^tnU4- zaz`}0!?ixLU;1PGxwrm3yV1V0b2ts3-#+v6|7pjrpT_nE4qKc(82VUEudaKY^c3hQ N22WQ%mvv4FO#q&UbL;>B diff --git a/graphics/event_objects/pics/people/reporter_f.png b/graphics/event_objects/pics/people/reporter_f.png new file mode 100644 index 0000000000000000000000000000000000000000..781b07fc690b218ae474a2b0f1901e16c8913b27 GIT binary patch literal 780 zcmV+n1M~ceP)gPDfu@cC000+sMObuGZ)S9NVRB^vM@&RePDdbiWpW@hE;Mn4q~QPn00?w&PDe*f zL^A*Y002sWDIWj;00d`2O+f$vv5yPer2o~l|HYKvlyiGQL28Sv zIZ9#(5Fpiaq@+P}QXoOq)zyoOltDpK|Ns90001r;HR`rVt{@Il=zCaFe{l8=tF+W9 z>EfWsy;+lL?_El}_!qR(A^i&+TwEk50V^Gh4kd$v5r=|9^oSxjp7*?W?|YXgEyX?W z^1b&>@_h1x9Kd*u*La<>ggCzcJ%@AoN>TGgaepFkLd_cIK_jh?j;d zIz~Fkfu)Bf`JpvHAqr+SE?xXJeSY0B@GWxTz^!RZB)@|O2s8q!f;;zn*0SN;U;OsB zzro_HwLZU{0|cU=E*!BdhinyKGTDj&K##FGd!PXdQBW7a`}*3$#zMpZ6a6l`iRT6a zPF@93P!){JUp~y>pnGxr$AO7X*L^W40>cmmH4KZNZ`>)PT-mMcBoljXc>xN5hVI7k zj-#tU4IAZ8Ps^4Z6oz}r#KW?+Py{GMK~?wqt3B6l1Dp-R@Y${nT~>MC&Vdn#f~v;K zo1fif9Mp=U*1iKh&+E5yU<4wdF2HIO9buPSt(VyM5e`zo2vh|3@uOu0cx1a*i#71a zE&voticff)fGf$rKDZY3UHtdM=J%}w*|iPXjRScMXV{XwFrTmo$Lvk!u}*TZ`PO#l z(+3*naI+hq`LU5*{7BE=sr`LcNWX2&s4xi<@PLH8M%?*0K>FoX8csvLs=0000< KMNUMnLSTZI#Z;I8 literal 0 HcmV?d00001 diff --git a/graphics/event_objects/pics/people/reporter_f/0.png b/graphics/event_objects/pics/people/reporter_f/0.png deleted file mode 100644 index d22968ddd668567f1f3222bce7cc55163086439e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 281 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p zGu_k0F+^f&a>4>`4gK~@nVAV<)e%uqk&F`p#b(V46XQ!-(z$f`vSx|a%+^N^Y~4E) z1VpS1HmuODnnK6xuHPM)RvK zh!R^Wt?PA4!Pm_Cxz%hLhOQrPs;iIwX7HGJe|Ne6fp?x}g=WmgS@W*TvK!yvzQH{~ bhL52xMe{?p^=C<-6B#^R{an^LB{Ts5#JFli diff --git a/graphics/event_objects/pics/people/reporter_f/1.png b/graphics/event_objects/pics/people/reporter_f/1.png deleted file mode 100644 index fb29ac66f3c476fa314b34db93a3e1e7bce69770..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 270 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p z)8pyl7$Pw>Ibi{}hJO2{#FYtR)e%uqS&S0`#b!+to5h#3q_uUKql5!P$_57sJ|3N? z3T``@neUe?tlsmFk(s&PQlN%G^2`1`f9!9h0Ik_?!H_9-`sB39AqRS98b8-!Y^_K; zH^;Ji6X%4Dzwhq8>+aCCr~LgrrfXAk9_6s5U1^yv$8LOs`v&&}89s(-I}Dy4OI!CF P=q?6NS3j3^P6SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p z)9C5q7$Pw>Ibi{}hJO2{%*+I_>ZquwEJhavT@%?88p8g*zRbofr!O7g`R-EKk>y_b zv}gmP->*}y&%Qbwi%m{ep3Kj~vuFK!iQA1V73X6LSO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p zGttw4?A4gK~@nVAV<)e%uqk&F`p#b(V46XQ!-(z$f`vSx|a%+^N^Y~4E) z1VpS1HmuODnSO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p zGs)A%F+^f&a>4?A4gK~@nVAV<)e%uqk&F`p#b(V46XQ!-(z$f`vSx|a%+^N^Y~4E) z1VpS1HmuODnVebPYJF?hQAxvXX! diff --git a/graphics/event_objects/pics/people/reporter_f/5.png b/graphics/event_objects/pics/people/reporter_f/5.png deleted file mode 100644 index 01557548309e8773b33ac9bd2ef828caf69ffe4b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 265 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p z)9&fw7$Pw>IbngmhJO2{#FYtR)e%uqS&S0`#b!+to5h#3q_uUKql5!P$_57sJ|3N? z3T``@neUe?tlsmFk(s&PQlN%G^2`1`f9!9hod5q{-I5_w?DWZLlS2;l%rt(k#n@Vr zc5aSk^(M{<8-L&3eb?QgYft(6dra4kroD+{NZTN<+h8f`!oaYhLSOim6;~9{NerH@ KelF{r5}E)v?PSFO diff --git a/graphics/event_objects/pics/people/reporter_f/6.png b/graphics/event_objects/pics/people/reporter_f/6.png deleted file mode 100644 index e2c9d3d1148105a472d60aa7c3671400a5a87486..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 265 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p z)9&fw7$Pw>IbngmhJO2{#FYtR)e%uqS&S0`#b!+to5h#3q_uUKql5!P$_57sJ|3N? z3T``@neUe?tlsmFk(s&PQlN%G^2`1`f9!9hod5q{-I5_w?DWZLlS2;l%rt(k#n@Vr zc5aSk^(M{<8-L&3eb?QgYft(6GKSYl`i6cDJ9=!FF+2-XU}KoKUoT{u=cZVolNdZ* L{an^LB{Ts5HKApD diff --git a/graphics/event_objects/pics/people/reporter_f/7.png b/graphics/event_objects/pics/people/reporter_f/7.png deleted file mode 100644 index 1b986e6162e7c10e8e89edaea7011aadbd5ef353..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 266 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p z)8Xmj7$Pw>IbngmhJO2{%*+I_>ZquwEJhavT@%?88p8g*zRbofr!O7g`R-EKk>y_b zv}gmP->*}y&%Qbwi%m{ep3Kj~vuFK!iQA1V73X6LSO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p z)9UHs7$Pw>IbngmhJO2{%*+I_>ZquwEJhavT@%?88p8g*zRbofr!O7g`R-EKk>y_b zv}gmP->*}y&%Qbwi%m{ep3Kj~vuFK!iQA1V73X6Lql5eaI95000+sMObuGZ)S9NVRB^vM@&RePDdbiWpW@hE;Mn4q~QPn00?w&PDe*f zL^A*Y002sWDIWj;00d`2O+f$vv5yPer2o~l|HYKvlyiGQL28Sv zIZ9#(5Fpiaq@+P}QXoOq)zyoOltDpK|Ns90001r;Hcy6UugTG2qMW?QV2Ou1*XUpYQ{|w zH*sg|V?rqFg60{)d66L;i=o+sPzH*Cf?yPgFe5NTrcjf`(*V=7A@F^l7KStGfEE}c zQ>bZOp52|@9Tu!ukg34#)n??MP6dX@6lz*G>)m?yv|!OC3MjC}K@IRZqyj_qn^2Q2 z-2Qz1%RF5o&arU+;Og)$j0J|s6sBaBbK|Q+cOR#K6pnLiJ{k*5ks(aU^4*h0jYvT) zmhZJ4hw2X!fhjVDn(SmR@ZTXjp8#I>S-#m`3ZtyxyvP)$Vhn1u2e_fL?Rk|x8Wsor zos3{ifNDRb7G}hi(iIB&?%}An*o(Pdqbd)+kpj)mp65}JrWR^i*D9rj9{!r5pbrJM zdFS9;H4*e$DRI40CXwc8BGh8`aILht{}@lMd*0h8jBPCmubK$8IuY0000mP)t-sbH$|p z)wKV`l-`tcdqF{Ji>x_HVh9i*)pMkzL32_dLDkjOi;I*&K~n$!{{R30E*dwM00001 zbW%=J06^y0W&i*Hok>JNR2Y?GV4w^5{~tpCz5Dk*h~__g|L&a+Ab~S?|DFK}{r!LD z%zrRL@c(~7AcI9#YN6D^j}8nh`s-e;d-chIfx+2&llEp4pc)oq-Al$G?Yytj z@ZQQhXXio~d#}8^0Fs%}t^{JRXw7JMe!T!F<(AQ2vMm9~U`q`R4FfUwLu0Rog3RIn lbN}!84`7#m;Qx>0Z~#wPM#Zr%&5r;8002ovPDHLkV1k4oe&PTC diff --git a/graphics/event_objects/pics/people/reporter_m/1.png b/graphics/event_objects/pics/people/reporter_m/1.png deleted file mode 100644 index 0a273f5aa10a39706f99d1dfce6209676b8670bd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 274 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p zGr`lvF+^hO-abRFLjeLV^@2JrAJ$LtUb3A-UdN_G&f(6rQ>P}UcxrL~J#Fv!K>k4L z-OgV1f?1UYXABhoxTeL|cl&%e;aXf8AU2Un!u1o^%$c%MqAsx+JPER4cQ%TgZLQ*- zAsc7D`7)D*P%MLg(OuiyOzYzEzq>p?xY+mA?=6S@tZanJ7K!PW)SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p z)8^^o7$Pw>Ibi|!kN@&s_xEzAeZ0T7`ujQdjstg%zaP~4cV{PeT8+p)?lg;aLTxL) zRc(J|e}iH9-Ba>!9eZ{kJLab5@OIDo^%By}EEVTtKJMi=>VLTI`tI%A4n0bHuUDrx zN~o6Y&To=@y01LFNs{Ny!o<)7w)%_+#u*>K=UKKKSO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p zGsV-zF+^f&a>4@rAOGc@{_p+$-LB)Aef9r$bNLk-jm!VfW90n%xBl6gdIRSV|LYwU znq9-P7G62j&&Q+l>vi1P>aQmo8xP*Bn*1$Ic!897@?Gy^3UBwUfA=<))#$^$Q`YIv zoh0^#--~59c_t&giZ^9L#@USWdu%BNJ5skyPiefeVQE`jvxSD~m;dY?%;%jl*y=X0 aFzi_1^nh#TTMeN57(8A5T-G@yGywqPM0eu= diff --git a/graphics/event_objects/pics/people/reporter_m/4.png b/graphics/event_objects/pics/people/reporter_m/4.png deleted file mode 100644 index cb57002ab241d6d9ebe8e9da26170f96eb3b910f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 279 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p zGu6|@F+^f&a>4@rAOGc@{_p+$-LB)Aef9r$bNLk-jm!VfW90n%xBl6gdIRSV|LYwU znq9-P7G62j&&Q+l>vi1P>aQmo8xP*Bn*1$Ic!88y@?Gy^3UBwUfA=<))#$^$Q`YIv zoh0^#--~59c_t&giZ^9L#@USWd)pW^o=&?MH)$F}nO|Op#EgUg?M-+d8U3^VpP0ug b#lz6J-|_4l*SQ~o4rK6j^>bP0l+XkKX1jR% diff --git a/graphics/event_objects/pics/people/reporter_m/5.png b/graphics/event_objects/pics/people/reporter_m/5.png deleted file mode 100644 index 6f488296c0f279bf29af239ca08a1ddaaf8d549d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 268 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p z)8*;n7$PxsZ{J2vCPxt$^Bpf7wk^$mRKy&)LGWkU11Twv=@FgsXYYR063{vD)ViKO zx?obJ!5IU^KjCTJ^$oMDuk4&=zEG>-=0mP2Y_6f4v90dTFU}lfi(mLV$mG;(?RM*j zmNRAJTaHgDZnl$GiJ$Q`dg9;CuLWW^b8pQp^m+a5a8T4d*BkG(+xI_7_xJT)a6235 ODh5wiKbLh*2~7aa>uzlT diff --git a/graphics/event_objects/pics/people/reporter_m/6.png b/graphics/event_objects/pics/people/reporter_m/6.png deleted file mode 100644 index 4aad5d2c68afcadd5dee612cb267792074b493af..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 266 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p z)8Xmj7$Pxs@41b|KGMQ zX#GFg@B34Mf7b7G%{QwTU)cIYKj6xlut$m0v^T9{iZxt!?1JS(<>(1HQZk1>+iqld zfAjAz#<*fH(cL8zOX4{ue&&7tH}FZxfmQvNuh@wsuXWtI)y4F_{LcygXTBIZoB_It N!PC{xWt~$(696-WY*GLK diff --git a/graphics/event_objects/pics/people/reporter_m/7.png b/graphics/event_objects/pics/people/reporter_m/7.png deleted file mode 100644 index 7ac1d360d29386c1e857fc3a5064345fc0d1077b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 264 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p z)8^^o7$Pw>IbnhRkN@&s_xEzAeZ0T7`ujQdjstg%zaP~4cV{PeT8+p)?lg;aLTxL) zRc(J|e}iH9-Ba>!9eZ{kJLab5@OIDo^%By}EEVTtKJMi=>VLTI`tI%A4n6)=>%X64 zGTe9L?LN-555MotmE_y@<@faq0Ub;K??2Wg@#lY|-!J~+H|%T-nfJWKCqDW46X+ra MPgg&ebxsLQ0LXcE4*&oF diff --git a/graphics/event_objects/pics/people/reporter_m/8.png b/graphics/event_objects/pics/people/reporter_m/8.png deleted file mode 100644 index 25b07efb4185de182b08208a93e8d04e59fe27e0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 263 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p z)9UHs7$Pw>IbnhRkN@&s_xEzAeZ0T7`ujQdjstg%zaP~4cV{PeT8+p)?lg;aLTxL) zRc(J|e}iH9-Ba>!9eZ{kJLab5@OIDo^%By}EEVTtKJMi=>VLTI`tI%A4n0bHuUDrx zN~o6Y&To=@y01L_9J}T(X{lNN*eL@nT&7000+sMObuGZ)S9NVRB^vM@&RePDdbiWpW@hE;Mn4q~QPn00?w&PDe*f zL^A*Y002sWDIWj;00d`2O+f$vv5yPer2o~l|HYKvlyiGQLI0$* z)oOc-K~j{(_F9X*5HV7;q+)w>K{+`X|Ns900013rp2q+H00Cl4M@0Xn2lB-L0004W zQchC950WXVWnj}UQ|cBz!}6bZ>BUWf==Bs#Po zfp3A-Fm$3)oFR%D4@rl70Vf-q?<$vuDR-ztK`APc;0u`dJ^x8Kf{>VV%j4hq?)Ti; zgzUy{?8ZNalse=8>j@XCLC&I-jPbt+whJ>_(JY+8lQm@`LNdlMuLZhD6Xp~wn&OiP zISaX(54qeB=ps#6P;f2;k1Y{}iz$!cpn^+SSqL@X_fiBX81*LrYds~iF9E> z>!$ki(0&$Mj6)lXRT2E)T%e0|VL@Wha+$jD)p1jdnSOLO1e!<}79=E~w24flOpqR> zn*v>=2@4YQt>?WS06R(29bkiZjPuQ0fD9n#B4n@@7990`|Nb4&hXEwxlMeJ52j`x5 zgaYKyH4gkF@i8MW+(MYs*njio>r(;p5ub{vVRNnH4rRu;~9vcs0N;{IypQH z-CS7Ea8@v2q4Q~Zc8m*F^$H&K1qi<3#tDetLk3X~^B9DXN&CKci$(2GU$KQnbD+3- z;6U=I;b4&k)Ab7cl?puIM+Q-vL5O!*1?3hN+?8AE8yTNhtM7Pa@o>dmEDBn2R@86^ zX*gLCh|&x~TrinaEHXWs7MWG2VdIgh)1d0ohV5p8I~2T1MFd12Fuw#L?wd$&uCDIM z8{B7hd*hD!8@;iwibg$!q1{w8gKAA>nrDjH?AV@~2)xF=dT}{0FE>dtjMJZ@R4V&< s_R}1s3(bLfS407_?bP0l+XkKnMHZt diff --git a/graphics/event_objects/pics/people/rooftop_sale_woman/1.png b/graphics/event_objects/pics/people/rooftop_sale_woman/1.png deleted file mode 100644 index 85507998847199d3f33c50a8aba80ed288f6a323..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 289 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?Au{h_8b?#$xQ5r9IPIQ%$ul|;N+CT)Ys$TsmR;0i@96n z(27~2z84j{pIo|X_B?rc!Pi-`4UubZe=8_Um~}jR|4xer(SGB*UypsTnWP_u2c?bXi diff --git a/graphics/event_objects/pics/people/rooftop_sale_woman/2.png b/graphics/event_objects/pics/people/rooftop_sale_woman/2.png deleted file mode 100644 index 643eb4eb2312adaa07772ddc487905950dfaf7f6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 259 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?tjL`YuW$#90F*6=;! zjF0C$Sr@gPzsYhc;t_Y?nFEX7FeI*-!FuuNfvsFOA2K+dH|ecCfS407_?ZnB*OZ4jOhL8p@9tJtc+1m0b+1^1?6yt9 fPR0dmnIfS407_?A?*_ep>JE?Pb3CG>0j5!;ihy-^JF<&F-8idL%W*IL-0y et}I4oW`^wn_KjEk&%Oe>k-^i|&t;ucLK6TZ&Urxq diff --git a/graphics/event_objects/pics/people/rooftop_sale_woman/5.png b/graphics/event_objects/pics/people/rooftop_sale_woman/5.png deleted file mode 100644 index bd99cf10fba7579e66efb9666b52747066f32fd9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 280 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?8_gf|F1w(e#mN=-FpsbNtx@x$ufo;s zi)C$?MgQ)Px%`FUU-YW|Z$7P=;PEM8!U>U^aw^BmA2GIccD6W95-2o#(sv?Fpd++3 zM|Z{4_2I5tBlNCCaBXXoRWf6H2y85}Sb4q9e0NPP?uK)l5 diff --git a/graphics/event_objects/pics/people/rooftop_sale_woman/6.png b/graphics/event_objects/pics/people/rooftop_sale_woman/6.png deleted file mode 100644 index c5c447997772d6d87355da1635cad4b3ba51c257..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 281 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?fS407_?tjL`YuW$#90F*77yu zjE{Mplk{h7eAi_-rRVKP+I4gDz3lb)l}~tVU1S{8h0|BdtfS407_?tjL`YuW$#8}v*6=;! zjE^oS#n-f*J}Pl4;(5_`qlk+_;_1Ey&Do6NA=1o;wbfS407_?hz1 zkd~hP;eYyrc+>MopFUm1&!gk@dfwB$K}87(hTpt=qm$koIPk!zIP;p1_yXe_#@1HL yL>VMwGGC@fS407_?i7wA$3Pgg&ebxsLQ03_IU7ytkO diff --git a/graphics/event_objects/pics/people/roxanne/2.png b/graphics/event_objects/pics/people/roxanne/2.png deleted file mode 100644 index 946765eb22345605064c98af720ca1c8f3c0408b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 269 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?FS{6D+EF2j^l99)JG7Km9n;|Npleu(7GfKJEW@|B{46L{D$8&nL&On4aGMpPMCg&b_z$ z!)|zEbC~V}cF7}8mu%un+PnGW8P{tfd3XQ- diff --git a/graphics/event_objects/pics/people/rs_little_boy.png b/graphics/event_objects/pics/people/rs_little_boy.png new file mode 100644 index 0000000000000000000000000000000000000000..6e8b4bdaba02b771eb89f7885f1ccfd7613b035c GIT binary patch literal 565 zcmV-50?Pe~P)er2o~l|HYKvlyiGQLI0$* z)oOc-K~j{(_F9X*5HV7;q+)w>K{+`X|Ns900013rp2q+H00Cl4M@0Xn2lB-L0004W zQchCt)pk&lekwb_TnFwF z6RIxv64NhICm3bX-RkPllLs7yCzzOc%b#oR-jAUG{NECYNniiGP${GurF32V4H&G6 zB3(R*SgDArih)TB=z%(51FuYZQK&Fh)KOg30UTmr17EB^*I!2f0ZESlo*h*ORz_pH z4&q>4xZG`b+mm7tYK1iD-5R>+01k1`6}u)ZeVA{`vHcBz=2>CMkc;tNrjo_Q3WI#&Z7+Qz|*Kq6pyS00000NkvXXu0mjf D4*BG( literal 0 HcmV?d00001 diff --git a/graphics/event_objects/pics/people/ruby_sapphire_brendan/00.png b/graphics/event_objects/pics/people/ruby_sapphire_brendan/00.png deleted file mode 100644 index 780360c4f16710350ef4c872ebd0c657fab672ae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 289 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dWLfRjp~6B%v83pkR6L*}MNoqxQ~;`kxea)Y0+(e~>2bwB}Dhim@cfFPOpM*^M+H zXTGP4V~E7mg?zivm zmi(LG7A4hjaFIR-%X}G$h!7TORhGFj5)yNIXPHd#ZODq~>7CLm>u_tog!J#`E&t#C z_`mhl{xkotSNYD&aH-W!O*8ZIb)ZujJYD@<);T3K0RZz>fA|0Z diff --git a/graphics/event_objects/pics/people/ruby_sapphire_brendan/01.png b/graphics/event_objects/pics/people/ruby_sapphire_brendan/01.png deleted file mode 100644 index f83064047f8f3c629c982b9847553ee568c5718e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 292 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dWLfRjp~6B%v83pkR6L*}MNoqxQ~;`kxea)Y0+(e~>2bwB}Dhim@cfFPOpM*^M+H zXOX9iV~E7m!b``HXvH%Mq}N;0!b{P@3X$DRKS zDSzJn_`mi>6aY;FJJV`Bc)H;DYdzxTJjhv9ypJL3=V oi2v8uQ(!y%pa0MQiF+6rwlupmnV8&A1-h2O)78&qol`;+0CjPI*8l(j diff --git a/graphics/event_objects/pics/people/ruby_sapphire_brendan/02.png b/graphics/event_objects/pics/people/ruby_sapphire_brendan/02.png deleted file mode 100644 index ffb8ad34b109d482241276b7ad1efb3d3fbf1293..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 272 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dWLfRjp~6B%v83pkR6L*}MNoqxQ~;`kxea)Y0+(e~>2bwB}Dhim@cfFPOpM*^M+H zr_a;HF+^f&a>4>#j)qHX{1rnoWM&+c`d;+xOn`#&m%F>mjnkPzzsj7RV_Ezxgsp9N zZf54p&y7lQ4sOS57D%N#cJ}qvDI5-T`oTVB;h&TLm?s=e%E?J#N;23XA^p91ZNkSL z8>Mv~-Tt3^x=P^i2bwB}Dhim@cfFPOpM*^M+H zXPT#rV~E7mg?zivm zmi(LG7A4hjaFIR-%X}G$h!7TORhGFj5)yNIXPHd#ZODq~>7CO1*YVbV3F+Ve*}VRK z{qcYQ|8iz#=l}ipq-E_Jg7#l4FKL)!@aNw9ho9t+JOH}wKR+AC>D%&;9O~jVnjhL< b5M|(-V|uN)an2Q>3mH6J{an^LB{Ts5n|OAJ diff --git a/graphics/event_objects/pics/people/ruby_sapphire_brendan/04.png b/graphics/event_objects/pics/people/ruby_sapphire_brendan/04.png deleted file mode 100644 index 07817e55f462331203f296201ffb94b2acaf7082..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 280 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dWLfRjp~6B%v83pkR6L*}MNoqxQ~;`kxea)Y0+(e~>2bwB}Dhim@cfFPOpM*^M+H zXPT#rV~E7mg?zivm zmi(LG7A4hjaFIR-%X}G$h!7TORhGFj5)yNIXPHd#ZOGauA+0IR%o_2n-q7qDd)D(C z{~!PVKkc`}%712bwB}Dhim@cfFPOpM*^M+H zXS%10V~E7m(x`NX&T)v?zxuX z35S33|NnolV=(;pzWOignID_7rv4XFXnxw=-Tj|$!lM7X%m3#y82uz~& diff --git a/graphics/event_objects/pics/people/ruby_sapphire_brendan/06.png b/graphics/event_objects/pics/people/ruby_sapphire_brendan/06.png deleted file mode 100644 index 84a8cceb17c300eadda743d498f510d64ff3e319..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 280 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dWLfRjp~6B%v83pkR6L*}MNoqxQ~;`kxea)Y0+(e~>2bwB}Dhim@cfFPOpM*^M+H zXPT#rV~E7m}q zKHvZGfB%2xj)(i-f2|id{QC5&(0>YU-^Inn>lfs)_5I&n{-52t1E`gwx$*u}yDJ+N ad>Ov4xAwWK`|JzQg$$mqelF{r5}E){HhByH diff --git a/graphics/event_objects/pics/people/ruby_sapphire_brendan/07.png b/graphics/event_objects/pics/people/ruby_sapphire_brendan/07.png deleted file mode 100644 index ca518d8a06681ddf5ff4a84175c3e3366a91896f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 282 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dWLfRjp~6B%v83pkR6L*}MNoqxQ~;`kxea)Y0+(e~>2bwB}Dhim@cfFPOpM*^M+H zXNISXV~E7m^}XoXnE(aluXlHs8>cgcew8^r$FlfY2wU6k z+|10GpBt6r9NdoAERaff{Mpx6r*JsX=?D9ig?~=|W1es@DJLg|Dal}mg!K33wFxiZ z-ryDc_~ZV@RND#9zQ=!ETx~z$|qZd!PUS diff --git a/graphics/event_objects/pics/people/ruby_sapphire_brendan/08.png b/graphics/event_objects/pics/people/ruby_sapphire_brendan/08.png deleted file mode 100644 index 3430ff2431667e53df29bcc4b251d0f0c02e4d23..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 278 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dWLfRjp~6B%v83pkR6L*}MNoqxQ~;`kxea)Y0+(e~>2bwB}Dhim@cfFPOpM*^M+H zXNsqbV~E7m^}XoXnE(aluXlHs8>cgcew8^r$FlfY2wU6k z+|10GpBt6r9NdoAERaff?Ck5SQ#c&x^n-oM!apbfF;6&{l#`Rflw`0&Li&62+Juj9 z@A3-n{8)dwO5pJJ`m68%I?TGixc+`sYdK~}& diff --git a/graphics/event_objects/pics/people/ruby_sapphire_brendan/09.png b/graphics/event_objects/pics/people/ruby_sapphire_brendan/09.png deleted file mode 100644 index 392f019e7667f57b212dd86fc213e5a86d83e193..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 275 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dWLfRjp~6B%v83pkR6L*}MNoqxQ~;`kxea)Y0+(e~>2bwB}Dhim@cfFPOpM*^M+H zXQHQzV~E7mC2oKmW)Y% zGIm#+FP`7ncyy7juI}QSK!!^|pvMIukxW_@625&e#7%;ztsG{BQhkZ4p00i_>zopr0I6bo7ytkO diff --git a/graphics/event_objects/pics/people/ruby_sapphire_brendan/10.png b/graphics/event_objects/pics/people/ruby_sapphire_brendan/10.png deleted file mode 100644 index 722f2d04d16b6849ab93c236e459f63e62551399..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 275 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dWLfRjp~6B%v83pkR6L*}MNoqxQ~;`kxea)Y0+(e~>2bwB}Dhim@cfFPOpM*^M+H zXQHQzV~E7m(ZKJ6U4aRbAV zAB;&~j14wKoS9*{`SWIG=59~-=RJJs>}+lN|Nj54|H!`T=l|sUumAn$;rWvt9k%w< zj<1c4_3qu>-R|Gn7lizOch|lli099JE2~fT4H62m32oi~#l;1hAO2_m_y0x=A46fa W6Cd}r+3SIhWAJqKb6Mw<&;$Suh<3jK diff --git a/graphics/event_objects/pics/people/ruby_sapphire_brendan/11.png b/graphics/event_objects/pics/people/ruby_sapphire_brendan/11.png deleted file mode 100644 index eff0cbc5fee2e3e5da11c2a85db26a919bb77f60..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 267 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dWLfRjp~6B%v83pkR6L*}MNoqxQ~;`kxea)Y0+(e~>2bwB}Dhim@cfFPOpM*^M+H zr_4?Bj)qHX{1rnoWM&+c`d;+xOn`#&m%F>mjnkPzzsj7RV_Ezxgsp9N zZf54p&y7lQ4sOS57D%N#cJ}qvDI5-T`oTVB;h&TLm?s=e%E?LjB%iXVdt>4Mya@t_ z@BWvKzSb;ZANKdhUimXO{{A3YMGc^% O7(8A5T-G@yGywo13~%ND diff --git a/graphics/event_objects/pics/people/ruby_sapphire_brendan/12.png b/graphics/event_objects/pics/people/ruby_sapphire_brendan/12.png deleted file mode 100644 index 0a5037d43fc2ae07607d3cc18f7d2b8bbc5a0274..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 270 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dWLfRjp~6B%v83pkR6L*}MNoqxQ~;`kxea)Y0+(e~>2bwB}Dhim@cfFPOpM*^M+H zr^nO9F+^f&a>4?0j)qHX{1rno?gVcLxN~}@@$x2?dwZ+Rjpa`K;7|JVpCRSToEMfK z>+P8j_ix)>Zv5-J@rH;kOP8jaSQ~7Z!J);)X=QC-U?FXqsWF?ObfbiMrUWyq#E<BIl1`-Sp3FW3M5U*914=YPJli^Px1pBC~lM{=?=#GN(K(pFFQ Q2D*#E)78&qol`;+0C^;9)Bpeg diff --git a/graphics/event_objects/pics/people/ruby_sapphire_brendan/13.png b/graphics/event_objects/pics/people/ruby_sapphire_brendan/13.png deleted file mode 100644 index 8dc245c0e552515d90a394db2ac1c5fdf9b75dea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 269 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dWLfRjp~6B%v83pkR6L*}MNoqxQ~;`kxea)Y0+(e~>2bwB}Dhim@cfFPOpM*^M+H zr`yxTF+^f&a>4?0j)qHX{1rno?gVcLxN~}@@$x2?dwZ+Rg*6WSmp}63{DBX@>(6)2 z6IM9ZzioH9@h?e<2%TG(E*Z^|m5A_R5p89eD=Q%}r+1dg6yJthkv+3bdK#H{{>1n6 z{2bwB}Dhim@cfFPOpM*^M+H zr^nO9F+^f&a>4@bgjT~xP79d|-#alo^qeSvf6tb+`%Lxscd8yQo}VdypLUMjxPjrw z55}Y~#s(WA&djjf{CP7obGN7a^B%r*cDB0vKwEbIFgEz`{(ar{$N$+EJj#z-J?%@A z#2-C9z5UmkCGPJ2{-4cIVqa;=m*yoB4Z9AQ9KOF>VAjKEsVN8l%eyc!7-ZX}pS{1P Q8R#wsPgg&ebxsLQ00_Hv*Z=?k diff --git a/graphics/event_objects/pics/people/ruby_sapphire_brendan/15.png b/graphics/event_objects/pics/people/ruby_sapphire_brendan/15.png deleted file mode 100644 index 34d73e7f60c80d38911afd08b6c68c455722e141..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 270 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dWLfRjp~6B%v83pkR6L*}MNoqxQ~;`kxea)Y0+(e~>2bwB}Dhim@cfFPOpM*^M+H zr^nO9F+^f&a>4@bgjT~xP79d|-#alo^qeSvf6tb+`%Lxscd8yQo}VdypLUMjxPjrw z55}Y~#s(WA&djjf{CP7obGN7a^B%r*cD6QsJ)kxFKQ%Ts{;&VOTXw%=k96GXX-}9- z|3S%m diff --git a/graphics/event_objects/pics/people/ruby_sapphire_brendan/16.png b/graphics/event_objects/pics/people/ruby_sapphire_brendan/16.png deleted file mode 100644 index b324f5538098c6989471c959d320eeea7c6a0ca4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 283 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dWLfRjp~6B%v83pkR6L*}MNoqxQ~;`kxea)Y0+(e~>2bwB}Dhim@cfFPOpM*^M+H zXQro%V~E7m^}XoXnE(aluXlHs8>cgcew8^r$FlfY2wU6k z+|10GpBt6r9NdoAERaff{Mpx6r*JsX>4&@fe&&vae@_1UF2=?tmYl3S`M(3(;risq z_kTAA{aIa=Us7GmU=;TM{fira8CAaSfBe5rp!q(~W&giB@=X8#zrI<5=fC8S^EC~- dKH4)gGnnbwG&{@8GXgr2!PC{xWt~$(69DcFd4d1{ diff --git a/graphics/event_objects/pics/people/ruby_sapphire_brendan/17.png b/graphics/event_objects/pics/people/ruby_sapphire_brendan/17.png deleted file mode 100644 index 9a736dc02a19ecaa9f91abd8425c640037977d0f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 280 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dWLfRjp~6B%v83pkR6L*}MNoqxQ~;`kxea)Y0+(e~>2bwB}Dhim@cfFPOpM*^M+H zXPT#rV~E7m^}XoXnE(aluXlHs8>cgcew8^r$FlfY2wU6k z+|10GpBt6r9NdoAERaff?Ck5SQ#c&x^n-oM!apbfF;6&{l#`S4N&du#GDEX})$$ro z_WnP8cT4er2o~l|HYKvlyiGQK{-l$ zDLG;oDN+z1Io{^(|HWFpoLc{4TE#&@|Ns90000YSgYp0X00Cl4M@0Xn2lB-L0004W zQchCX(Nu_*dg;xz+AgG zw*4C5c@PBG>_=&539tgH01I%P3~VlZ69hMH=y1w;4yb^tzy%ojBm(@hNr!O$>CjdO z72w4RDA)ZtaK8ZK`PKQAGNKrQf7%nr1nCB?jn)3b!9zBJB&LMG|Jf z$pS1KOsD9C;_}2WT79bYQBKD6L!@bDxX|0((c1y%9xaZz6D@Id*duT{~jfTkvGZ$l43soHu z$l|(~fZPd6bk)qLA$86-BcC@6Gcx8zETrGE8-2)fEcO+M!AJ$aV++w#1@t{FYbqz| z0Epg^x=AlfQ$JHeGeFR5kg$=f-oHCSWSuGNEYGssFb5!r&#Dt1)Llk@i`*~=D6jkh Ze*l(c7o0HgdZYjV002ovPDHLkV1fe8f#v`J literal 0 HcmV?d00001 diff --git a/graphics/event_objects/pics/people/ruby_sapphire_brendan/walking.png b/graphics/event_objects/pics/people/ruby_sapphire_brendan/walking.png new file mode 100644 index 0000000000000000000000000000000000000000..833e635d528083298e4362418d4937b7cfcb564a GIT binary patch literal 899 zcmV-}1AP36P)_f%=hoo>000+sMObuGZ)S9NVRB^vM@&RePDdbiWpW@hE;Mn4q~QPn00?w&PDe*f zL^A*Y002sWDIWj;00d`2O+f$vv5yPer2o~l|HYKvlyiGQK{-l$ zDLG;oDN+z1Io{^(|HWFpoLc{4TE#&@|Ns90000YSgYp0X00Cl4M@0Xn2lB-L0004W zQchCW7wP@|gH_fEQ#t&|QOOK#Aod%XL7 z?<@m6t*7<>t}Z_swf#S=#tlFF-PQe4;EL!E!h(%n|AyWg{hMCb>{kOC-8bwF<9_%(-N`*^;ny4-`bY3(+w3@FyXGMc9WJypH)r6KH zQrGqQ>nx<4aY4GS75D&YDN3z~=vP8RSSUm_s|Zee8YiV7_ndJl%9WH;{s#wAs&OT> z;$ap{!=dL~;MX6xN6Jo^U5+TYjTq(!YvT;@6A1({V8N8?Jb@FaShEu_ow%daBtCHB zbU5_m1Nxp1qhm6LBv2Vqk%%ZrlyZSV+X2gT^#~Zp1|3GKKErmrfBh(dS_yld>*nx*x=MJwO5?fxj*@L3tim>pIIk Z;5RZa7^*=P5l;XB002ovPDHLkV1ne!hQj~= literal 0 HcmV?d00001 diff --git a/graphics/event_objects/pics/people/ruby_sapphire_little_boy/0.png b/graphics/event_objects/pics/people/ruby_sapphire_little_boy/0.png deleted file mode 100644 index fb4365f0ef04b2df3ed98e2c02b34cac19da850c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 237 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUEk3&B|J5!3k50KarMTMB z@&A%7SF@_S9fPJE{T9`|SHLi6%aWw(Vn<6$iU0rq12xI!&N~jI7)yfuf*Bm1-ADs+ zvOQfKLpWw8Cpa*y3tcVNAh|m2TnwvN#Lb(Q+$u-57CiMaI9&Mm_}Bd|4Lr;1-~Znm z&S(_zM((9;8N2qi}3RNv%EI=W`+W`${b526~L aurcJasW0o}Vz2^Q$l&Sf=d#Wzp$P!{tyhEq diff --git a/graphics/event_objects/pics/people/ruby_sapphire_little_boy/2.png b/graphics/event_objects/pics/people/ruby_sapphire_little_boy/2.png deleted file mode 100644 index 20f838bb253f86500caf96f7df4bb788615cca67..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 217 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUEk3&B|J5!3k50KarMTMB z@&A%7SF@_S9fPJE{T9`|SHLi6%aWw(Vn<6$iU0rq12xI!&N~jI7)yfuf*Bm1-ADs+ z!aZFaLpWw8Cpa*y3tcVNAgP^xE{0WXhGp?Hoe2Wduk=V7JMv8XA0!|+t^9xZx+a4u z;*MK(N=R2bp2_^yG|PA~YtpA%yC=&Y;E78XUy-Vv?kE{xy^w(+d6(?uXTIIWKr0wL MUHx3vIVCg!0L@ZR0ssI2 diff --git a/graphics/event_objects/pics/people/ruby_sapphire_little_boy/3.png b/graphics/event_objects/pics/people/ruby_sapphire_little_boy/3.png deleted file mode 100644 index 4a83b0c977a2a75b52d931ce1fd10cb6054d30fb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 229 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUEk3&B|J5!3k50KarMTMB z@&A%7SF@_S9fPJE{T9`|SHLi6%aWw(Vn<6$iU0rq12xI!&N~jI7)yfuf*Bm1-ADs+ zl097L{<3QFriTJ{X8>|}{QzSbW Z7y|5-av-ve65;OXk;vd$@?2>`;@TQ~p! diff --git a/graphics/event_objects/pics/people/ruby_sapphire_little_boy/4.png b/graphics/event_objects/pics/people/ruby_sapphire_little_boy/4.png deleted file mode 100644 index b6573d454be42d7d59ffc77ad3cccf74e1961112..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 229 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUEk3&B|J5!3k50KarMTMB z@&A%7SF@_S9fPJE{T9`|SHLi6%aWw(Vn<6$iU0rq12xI!&N~jI7)yfuf*Bm1-ADs+ zl097L{<3LtKO>eE_f-;?kDDF*M Z3>FI&ckZj$S`W02!PC{xWt~$(69Ca>Tl@e3 diff --git a/graphics/event_objects/pics/people/ruby_sapphire_little_boy/5.png b/graphics/event_objects/pics/people/ruby_sapphire_little_boy/5.png deleted file mode 100644 index a1a9b08cfd05a1bc815f100f03bc81ba230c1d2c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 226 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUEk3&B|J5!3k50KarMTMB z@&A%7SF@_S9fPJE{T9`|SHLi6%aWw(Vn<6$iU0rq12xI!&N~jI7)yfuf*Bm1-ADs+ z5K<|36>EU^K_p+G^R12A6kCj2K<|36>EU^K_p+G^R12A6kCjm#0}uHO((y18m5_kwHdn35PC XsjJ#%GhSN-w2Z;i)z4*}Q$iB}T;y4o diff --git a/graphics/event_objects/pics/people/ruby_sapphire_little_boy/7.png b/graphics/event_objects/pics/people/ruby_sapphire_little_boy/7.png deleted file mode 100644 index 7d8d2c23c5b9c147672ba43cbd8e76f93c6805f3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 220 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUEk3&B|J5!3k50KarMTMB z@&A%7SF@_S9fPJE{T9`|SHLi6%aWw(Vn<6$iU0rq12xI!&N~jI7)yfuf*Bm1-ADs+ zqC8z3LpWw8Cmdkf5wdp8|dX PZDH_q^>bP0l+XkKuX$8$ diff --git a/graphics/event_objects/pics/people/ruby_sapphire_little_boy/8.png b/graphics/event_objects/pics/people/ruby_sapphire_little_boy/8.png deleted file mode 100644 index 4799db90c0321c540b7bc017c449a2d0eea27dab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 220 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUEk3&B|J5!3k50KarMTMB z@&A%7SF@_S9fPJE{T9`|SHLi6%aWw(Vn<6$iU0rq12xI!&N~jI7)yfuf*Bm1-ADs+ zqC8z3LpWw8Cmdkf5w?Cwkf)726VVT=sZa~19ypYS~h Pw1vUb)z4*}Q$iB}#%fhY diff --git a/graphics/event_objects/pics/people/ruby_sapphire_may/00.png b/graphics/event_objects/pics/people/ruby_sapphire_may/00.png deleted file mode 100644 index 2ccd3399ae128c35b0372ddb779510739dc4f5d1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 297 zcmV+^0oMMBP)8IuY0000mP)t-sbH$|p z-p$^ml+A;4dsus5iB%e_-HuZxm^iDEYv^;nCPAA<@#nz|msVD531p zz`)P%Y@}@R;R8s&u`x(D1OK)E|8qeC|K8_b`}ZEm_&L8Vfwjl diff --git a/graphics/event_objects/pics/people/ruby_sapphire_may/01.png b/graphics/event_objects/pics/people/ruby_sapphire_may/01.png deleted file mode 100644 index 94aad9ac76f50e363f983da25dfe01c5370087c0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 294 zcmV+>0oneEP)8IuY0000mP)t-sbH$|p z-p$^ml+A;4ds+;jE-oG(4GjGJ z7A+plA3gxJeK9un2ie7c?f?H=kifrhx!3aF0~tSiJ34O62T4WjTHOkg;{UOFS3iis s@F^`#AMC_0_y2;mGw^@l|A6Fl0PBH6dG3n~lmGw#07*qoM6N<$g39xO%m4rY diff --git a/graphics/event_objects/pics/people/ruby_sapphire_may/02.png b/graphics/event_objects/pics/people/ruby_sapphire_may/02.png deleted file mode 100644 index e61943fbb5ddaaf77310a290db5f4706c652a8dd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 264 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3l*?UW-oNX?y zjtWXjD%P}gT#^;!WoUW!?7ja-qxQ~;`kxea)Y0+(e~_lrr(C=up{0F}+QW7{E=)|nVl(J)b4TDicPj7UL0}q>cw;2Bh-W*AT)t~Ae z*5v*E{?C5K$M4Vo=xj*(_tU=ISt2ttV5M~Q0VbY5|NkpnOEbirHGR5PXmJ40MGT&< KelF{r5}E)5;BGho diff --git a/graphics/event_objects/pics/people/ruby_sapphire_may/03.png b/graphics/event_objects/pics/people/ruby_sapphire_may/03.png deleted file mode 100644 index b8d1255d57917a29277d823d83f84c2e90d70563..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 289 zcmV++0p9+JP)8IuY0000mP)t-sbH$|p z-p$^ml+A;4dsus5iB%e_-HuZxm^iDEYv^;nCPAA<@#nz|msVD531p zz`)P%Y@}@R;R6H1&o9QtAl(c8IuY0000mP)t-sbH$|p z-p$^ml+A;4dsJNR2Y?GV4x@9=wM*zXaF*L@AlrfdjrJiJac9Sh{17Y-pex} zsV}`}&fM?^GQO9zc(~UyFz^>us5iB%e_-HuZxm^iDEYv^;nCPAA<@#nz|msVD531p zz`)P%Y@}@R;R8s&v9bSrAkBZj|9?K1@$T=n4v-B0%x@X@!S49ldv`vV@qgybd@zIm lf651l8~Lw584Uk{7ywj+I;tku&olr4002ovPDHLkV1oF3hFJgr diff --git a/graphics/event_objects/pics/people/ruby_sapphire_may/05.png b/graphics/event_objects/pics/people/ruby_sapphire_may/05.png deleted file mode 100644 index d5a4ab94e87d82928c415cf75f93b7e0bec25d33..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 286 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3l*?UW-oNX?y zjtWXjD%P}gT#^;!WoUW!?7ja-qxQ~;`kxea)Y0+(e~_lrr(C+`{~8isl)z#CJljG(2^G8fq?yS5W z!`50uvv2G-kJ`We|Njnug4?^TA_kA&_x5f3uHcsQeUC+`{~8isl)z#CJljG(2^G8fq?yS5W z!`50uvv2G-kJi8a|KDcC=up{0F}+QW7{E=)|nVl(J)b4TDicPj7UL0}q>cw;2Bh-WlguX6FC*%}@Rrf0+N1p;RltkbybPV(#aQ S#bC=up{0F}+QW7{E=)|nVl(J)b4TDicPj7UL0}q>cw;2Bh-W*AT)tCM` zOXPmP|CjyZpZeeF|CluYO}78~KX1Z?`F}Gr|NnLjDz`WI!#

  • ?8xjHv`Lv9miK* Q1v-nt)78&qol`;+0EI+ycK`qY diff --git a/graphics/event_objects/pics/people/ruby_sapphire_may/09.png b/graphics/event_objects/pics/people/ruby_sapphire_may/09.png deleted file mode 100644 index 714316485988d32f0485ad03b77cb1bae31d480b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 283 zcmV+$0p$LPP)8IuY0000mP)t-sbH$|p z-p$^ml+A;4ds+1>;csF z->FGMC+`{~8isl)z#CJljG(2^G8fq?yS6> zfx(~uNjY!+%ddEy8vSl-Po+bwah0`IUP;purLwhotX_s6{zvRx{h#@SgTe~DWM4f|9ySm diff --git a/graphics/event_objects/pics/people/ruby_sapphire_may/11.png b/graphics/event_objects/pics/people/ruby_sapphire_may/11.png deleted file mode 100644 index e4583aa918f7337b2c33b2daf416c51236d53557..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 262 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3l*?UW-oNX?y zjtWXjD%P}gT#^;!WoUW!?7ja-qxQ~;`kxea)Y0+(e~_lrr(C=up{0F}+QW7{E=)|nVl(J)b4TDicPj7UL0}q>cw-|qiZ|48%|IL#2 z_x_$`I{kOX&vNq_2mjZrxpdj<^6DJ;usxZ(<>3GS_M3_sT~$oWR_tN#1G8IuY0000mP)t-sbH$|p z-p$^ml+A;4dsdQ(S9Jp)Haqe!Df2hhkyqecm3 z37|RuotiXM{sS5OUyP0YK_>G@v}Jq-Gp64C_x=OO`p&eU^TF=nKlA?sgyHf5>csyj a4h8@$sW?LQXr8_R0000iW9!?^>%fxsW|A&9_ z1O4^3#m}mKnzy}oRn?Vy_v$Op{kzsCT~=PNB(1EZRAp4H8g5DTN~um!ZMgN{+B9>; zANHA_kKVZPpSdIP{Q diff --git a/graphics/event_objects/pics/people/ruby_sapphire_may/14.png b/graphics/event_objects/pics/people/ruby_sapphire_may/14.png deleted file mode 100644 index 18ee35cb93e6bab41f408fb6c2fa53f1ab5a655a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 286 zcmV+(0pb3MP)8IuY0000mP)t-sbH$|p z-p$^ml+A;4ds1W{o(&FOc;r{`s z+M>my8Avny{bFqF53=iTTJE(JkO=?Z8y$V`L5$e$RXgT`7?EAOSAe7#zL}*ZfL+Fa k_XEU<{Ao}I!+#I~04$L}1C{~ePXGV_07*qoM6N<$f?oTEMF0Q* diff --git a/graphics/event_objects/pics/people/ruby_sapphire_may/15.png b/graphics/event_objects/pics/people/ruby_sapphire_may/15.png deleted file mode 100644 index ea5e0fd5f6c59f685f9df351d62b03885df89173..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 283 zcmV+$0p$LPP)8IuY0000mP)t-sbH$|p z-p$^ml+A;4ds1W{o(&FOc;r{`s z+M>my`2)y~FUH3H_klFOTkf?q5aZvAj^6tqsh{1ec3cH9_`7zmmK h4^T!Ll)>;HhyhAvK;)Y{;@JQI002ovPDHLkV1i||h{FH? diff --git a/graphics/event_objects/pics/people/ruby_sapphire_may/16.png b/graphics/event_objects/pics/people/ruby_sapphire_may/16.png deleted file mode 100644 index c7e9dd58b0e60d4094fa9a1ddb83a5d9d1ddad2e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 278 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3l*?UW-oNX?y zjtWXjD%P}gT#^;!WoUW!?7ja-qxQ~;`kxea)Y0+(e~_lrr(6M{nF%bd*`+(1WB)Ws8MR zJgC23^8H`^0*3!*{_ic{><|QW%-)^SM-o1spEIpqUgi0x|Nrv^njhLT|DVYppw3jv a$iTP4ruxahEu292F?hQAxvX8IuY0000mP)t-sbH$|p z-p$^ml+A;4dsGRS(Ez4;Z`=j5I?tS$arXuT1IL+pFVFM>McRAM zoVoD>DAQiy;^JNpWR!Q5mzVnk86JY|>gwem7#JKSG=M^2hH^`J2~dv3*w~`Q11OT| zVv^?34`R&!mYekNJp%*(hrc)af6fQ$=iu+SJ0B>;@aO-}nQ0&s|8DyK{|ku0f8_&E fA;@9>!OjB!BrQEfR(ki900000NkvXXu0mjf^7njF diff --git a/graphics/event_objects/pics/people/ruby_sapphire_may/running.png b/graphics/event_objects/pics/people/ruby_sapphire_may/running.png new file mode 100644 index 0000000000000000000000000000000000000000..dbde4aa307a64905c401e727d6690d92851b45bf GIT binary patch literal 962 zcmV;z13mnSP)er2pQ{-lUYxgL8XYQet9r zDLFx;YEnuuInB-9|HWFpoLc{4TE#&@|Ns90007I&T$=y@00Cl4M@0Xn2lB-L0004W zQchClZ|%GsU-nvu3~TELE3+y!g|xXf1$66>Mxr66 za>J=$R`i!p)2N4GQ<{PZJ2=HaEtnO}3MVw)hv7?63~94Y8(@UH$6?@331&pILQUvx z?H(Uy00sf2Q5kAM7)C>Y`Ru7cimGc`G%K8lVeljjKbL_x>%L!eSZ&=j(`A617AWoz z2SpCk)Iv=l#gb>GlZ=>-7$$Rk0TEPiP=FgH`vWB^Yigk;khGuN@Jr0FM3U*b)|FbZ zC>{)ypgf@xO(=!pz?xuKm8+G6=Ng`8nwI4*Cl=+221-yCTr3I>m8hX9gvq4CKobn_ zMkTRexrE&Etf!2LpmYiQJ_>v>Dv9NU?~)#hGE7qnMSvy%zq7G;jSKctsSJm?RLV24 zUqM0Qj7l`&a$>=AN|_0PoM6BSBgfVJQFfPsDHg)C;FK}0!w1L?3dKS;A&?gD7kG=2 zX5jl#U36?7aQqc;1HMN{(T?r>(Ieb&H-BVz0L-N-F3*`uw$+eV`$_42G_UOMZDPXk zBz}w=R;t+_7<9Xu-Nbnu`7gQv<8OY@Vd5qmv?G@1+Wq{4aTm?iRx67OhkN@ndDw~% zaK25)UF5h+SCRLgzkb&S7zuo0c$0t%Az^XU7`5e{ZCl>`yKP@b65hgtLETo*M{T=_ z?bT-ouP{(xTafek3knV5(>5Le;!Lk2*@-2IZOc9hxgrlG`#0@13*QoR{#J207*qoM6N<$f^ovB^#A|> literal 0 HcmV?d00001 diff --git a/graphics/event_objects/pics/people/ruby_sapphire_may/walking.png b/graphics/event_objects/pics/people/ruby_sapphire_may/walking.png new file mode 100644 index 0000000000000000000000000000000000000000..c48b04cb207931c9d5e76dc1d36c98c61a9513e5 GIT binary patch literal 861 zcmV-j1ETziP)er2pQ{-lUYxgL8XYQet9r zDLFx;YEnuuInB-9|HWFpoLc{4TE#&@|Ns90007I&T$=y@00Cl4M@0Xn2lB-L0004W zQchC$_fK25|tH@ zB1=&uXG;PmaiLZws(K+SqALSx2G$N{1M3DX&n(ReHO5ADj(g|&Cx=>zJ#YE$-MxF? z21*;-iSP)^Ku{JG< zuD8Vdnp6eTONAwu^R~a7b4G37n8O=y#4w*kEKWfXPMEJR7bcEv z6EKgKa|S21+uwmZ;?kzc444FD2MQKW00+fS-hTWH zC+GN1g)amlPABdk@zj3l`t2&Qt_wrtx`NDg4RHr=W*=Z92Q-eu#bXej8}Ham6rP1? zv&xiw5(2!Ih{5PL};hcyer2o~l|HYKvlyiGQLI2et z-kcC>ISA%bV#NS4VgMMNVoGW;F);ub|Ns90003V0bYTDh00Cl4M@0Xn2lB-L0004W zQchCl&H7>2*WDw0(O+L@s?OOUeoEL9mIIdCaTCDbKl z?t)k&l|Mnpzz~osp|k@aRs8{wsUwGUZlewnC;mc)PLV45eP`bR32CLy-17MK9q)6t zu>p2tH+JJ6L#YjBm6HG0BZOM#T!`5=!DB*8A;uG_DFktfC*&5vW5N~3lHd* zZ3s3+_k=6)Y&MGjNJ5tc!^r6oaicDYC=)Tmpw%NG42HfISL%$_ znvo%%DTfW5$Y62D>$~0w3eFy8a7P~3m*#yUF+8c)>a}+(0yJOIx(pVdvdCe_C^&nV z;c1gqr2hXLH*{g}^1UCeh_@}gC17y{mAr|9ZTZ_<-lVs`!t1A0=ys~tC;b&6%RlO( zA3i5BWO#76EzkW%Rqv?!b5DQSzR2v&I^jk?RTzr&i<=d_jSNY4J5qn(veMyw_{(sW gIa2*?8EmGbKN^Q8fo%A54FCWD07*qoM6N<$f}6r@4FCWD literal 0 HcmV?d00001 diff --git a/graphics/event_objects/pics/people/running_triathlete_f/0.png b/graphics/event_objects/pics/people/running_triathlete_f/0.png deleted file mode 100644 index 195edef7b900bd8f358f8718650ea58337af2c38..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 300 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ zS>@^C7$Pw>Ibi|!j%snQ`IgLSALm(au0GGI@c7)!ySvNhv!0w|TV2KP@$TKx?sCVj zh!j><*7tFH4jfptx*{;_g;2oO%@81^5ry410(TomYP22WQ%mvv4FO#r)ybzcAg diff --git a/graphics/event_objects/pics/people/running_triathlete_f/1.png b/graphics/event_objects/pics/people/running_triathlete_f/1.png deleted file mode 100644 index 1a7069621d3f41e4517a43fbc858edc950188972..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 284 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ zndRx?7$Pw>Ibi|!j%snQ`IgLSALlVPaSJeZT#!|${iV~f@%fpVcOBSH&%M06{JmXu zW8>3zk_y@9Stn?wpPR!f`SrV=gn_}2=7|4|T~n_EExLcAu`&CTm-zI^Y1|TXwxlr~ zR1#%N7d}1HSlxQI!G;~nrKH=ZS{N8?SlYI eB45!`hT&(e_koi77w3VlWbkzLb6Mw<&;$Spx^XH1 diff --git a/graphics/event_objects/pics/people/running_triathlete_f/2.png b/graphics/event_objects/pics/people/running_triathlete_f/2.png deleted file mode 100644 index aab9ca24bfffa6ecff01d11a4768b2c32cf1191a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 264 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ zY4db(43U_coUnlX!QSfcOfw3fpP9Kiq49G1xi|Y5#BKn^;uIe11tgezyn7V8Ldo56 z!Hrk}=dd5|Vg(L+hW}iodqPDlIazt~Zutf$y<^A9-#7cD6n~Kr>mdK II;Vst0NER7cK`qY diff --git a/graphics/event_objects/pics/people/running_triathlete_f/3.png b/graphics/event_objects/pics/people/running_triathlete_f/3.png deleted file mode 100644 index 909fc0f6090341c9c919a6aa458c613e2607fe84..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 289 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ zneXZ17$Pw>IbnhRj%snQ`IgLSALm(au0GGI@c7)!ySvNhv!0w|TV2KP@$TKx?(*|@ z_8vH(q^+S*@%>ROn^^48?oCe98;Z`kiKkBWZ3qhQnL4GXR#GCOXPSg`^-6|P%k@Qt zk*QA@M4~J`i^Vz)nl3JOd+w#se7ES?8BH(lhMth*#{$Ubdiw)I+elG)z4*}Q$iB}AT@8* diff --git a/graphics/event_objects/pics/people/running_triathlete_f/4.png b/graphics/event_objects/pics/people/running_triathlete_f/4.png deleted file mode 100644 index 301d13d0926275d4cd8d34f98072ae966a7ae26c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 289 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ zneXZ17$Pw>IbnhRj%snQ`IgLSALm(au0GGI@c7)!ySvNhv!0w|TV2KP@$TKx?(*|@ z_8vH(q^+S*@%>ROn^^48?oCe98;Z`kiKkBWZMd~gLR(Yvx0Qi`g|4C5x1h3wguu9` zk2alZVLTCG=~*lm(3X0w=bYqRZV8DUQ*6@D&52=@CFK&LWzy85}Sb4q9e07Q6k*#H0l diff --git a/graphics/event_objects/pics/people/running_triathlete_f/5.png b/graphics/event_objects/pics/people/running_triathlete_f/5.png deleted file mode 100644 index 84914d6191e22dfa07f50ad4584d2ea0ca88fcfd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 271 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ z>GgDR43U_coUlNDN42=ud`srEkMkItxCI)G)6X$UmN$IKlt}(QkDEuQ+;9H9z180% z*~Aviy1d)**E^=j^!H3l|J`G4`pv_m^UvYhUwwzzbFYDRr9NR0iF*0Si2KNcS)44| zjXY(iXBscp&}A?R>g{#zX;k7_nYi+uoB>< P=r9IPS3j3^P6G5=N43U_coUlNDN42=ud`srEkMkItxCI)G)6X$UmN$IKlt}(QkDEuQ+;9H9z180% z*~Aviy1d)**E^=j^!H3#|L)~x`QF&|w{gwycnOJ!Dc6B^on|=_@$!+;X~q*XOochb z3=9f1E6>fb+{vJk^d>7uhAqWl$CQ?(ZH;#ize`HtE`2mJ(qKE2DI>#$bhl4!*KY~| P-NoSP>gTe~DWM4flk96; diff --git a/graphics/event_objects/pics/people/running_triathlete_f/7.png b/graphics/event_objects/pics/people/running_triathlete_f/7.png deleted file mode 100644 index 2441def6371d4c5eaf7d2406c89928555eafbc2b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 265 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ zY4>z-43U_coUlOq!QSfcOfw3fpP9Kiq49G1xi|Y5#BKn^;uIe11tgezyn7V8Ldo56 z!Hrk}=dd5|Vg(L+hW}iodqPDlIazt~Zutf$y<^A9-#7cD6nGX7Q43U_coUlOq!QSfcOfw3fpP9Kiq49G1xi|Y5#BKn^;uIe11tgezyn7V8Ldo56 z!Hrk}=dd5|Vg(L+hW}iodqPDlIazt~Zutf$y<^A9-#7cD6n8x@L^V>m+tBYtAh%_vB@?e$n;b)YqW-J5%>*rWM(ZVT=rG)y)1}6I-kSAjer2o~l|HYKvlyiGQL28Sv zIZ9#(5Fpiaq@+P}QXoOq)zyoOltDpK|Ns90001r;H0Igl zKIuwV0Gry>rfx4$?DcLExG4TtPT)G-UO^DuAP`pw)(TUKUB?Z21tD}Cr?)IvFH9M_ zuH*Osf$N7(7so@_cDu`hb;6w7_q>o}A3Cm&ft+KKUkJ*gC1Fb7uQ_j0kcX87H9fCi z2+E?eFr%>bpjNwc%!EY{gQvAE&ijR+ELsw#6zcU_%`lk2=>kqcCI#h!l4wbo5ls2# zU0DaX#v~drww2>%zYvr}WnoSbG+EXdfW)!p)N86fF9c;#NthFi6HRN?kum2n5-d$i z9yt{xBD|yRRFnvRv0Ru_;g-c!CMf+lzE)|b)uM4V6A%?9sHrFsDl8M`tWLt0_xzn% zbrS6Fc6Vm@ESNHWPd@9hro=Sf?OUH+6a&CaOZC(M`6HZFer2Fnx&UX=|Y9fci%$q%9E~OzFB@+#cHY zV8oD~hXfd#`YSw9!JvJ4R+V=#D8e2+htxmAgNXLnk=&x76Zu6FC=3U~0V@cV)4ekS z3Qjd9XnQE4AQUZn6jIRmP;1lTjI`$@hN}Aby)r9^%cdubh{0_OU&;stD|+e6!1_R+ zL)#j@qY0I_)636ML6FXqarmxS)I!BlpRDMmi#MMv3i{n1-%lodoK=6^B>agJjL&C_ ze`xjV**`s`y)Gpe#*z6gf?KL`l^tD0t9ogk^%VFQwU%^E$v*q100000NkvXXu0mjf DzOH^v literal 0 HcmV?d00001 diff --git a/graphics/event_objects/pics/people/running_triathlete_m/0.png b/graphics/event_objects/pics/people/running_triathlete_m/0.png deleted file mode 100644 index 0d02be87e340dd4ff140132965aa80081d2b14e8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 297 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p zv)t3gF+^f&a>4@kgmirkhRaJ=CO%XUtFDO1((DMFHcLuu8ehtk<;#~&o!TsM^y$-Q z4s6{!7A{y&u#lO#yQ^!#g2|JanVUCXa<5bsULYlwtg4#4fT20KbK}O{TmcR{?;Krv z=R{-U_kzd?S-Z}%vZ>#_a^b=TZ!Mm4Y6@+eIhnh!_guJePSqh-$Ji>pq-o1%sYuw!*Y@O1TaS?83{1OOM{cNqWx diff --git a/graphics/event_objects/pics/people/running_triathlete_m/1.png b/graphics/event_objects/pics/people/running_triathlete_m/1.png deleted file mode 100644 index 21e2fdf110b7144fccd0eb054b33d13321bcf5a2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 288 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p zGtbk-F+^f&a>4@kgmirkhRaJ=CO%XUtFDO1((DMFH7ia`j4x%%)YhfTmN!deIxwVc zaFF2R(Rr%iwv(CpaJjp<)7o@i|RUXa<5z2ht^ zoBG`?7cOk^*5Wy*rttQh8jnt#@uf>v(;3bt&b(;3SlGk(gH)t$*gl4og0ptj>Cc%a i2w#tTu($O|5kuS~)AmHUds0A`GI+ZBxvXSO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p zQ}5~G7$Pw>Ibi{}MtVB?rFjEIO}^jM%{YGNw0WRc7XFLvWImoL3)SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p zGt1M(F+^f&a>4@bgmirkhRaJ=CO%XUtFDO1((DMFHcLuu8ehtk<;#~&o!TsM^y$-Q z4s6{!7A{y&u#lO#yQ^!#g2|JanVUCXa<5bsUNEI=zopr0L}Sx9{>OV diff --git a/graphics/event_objects/pics/people/running_triathlete_m/4.png b/graphics/event_objects/pics/people/running_triathlete_m/4.png deleted file mode 100644 index 6ec60997a00426655bf5f498180629ad79d79377..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 283 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p zGt<+>F+^f&a>4@bgmirkhRaJ=CO%XUtFDO1((DMFHcLuu8ehtk<;#~&o!TsM^y$-Q z4s6{!7A{y&u#lO#yQ^!#g2|JanVUCXa<5bsULYlwtg4zkp(D6+?tJX}JIZ diff --git a/graphics/event_objects/pics/people/running_triathlete_m/5.png b/graphics/event_objects/pics/people/running_triathlete_m/5.png deleted file mode 100644 index 4f5742f1aaefbf3ab366dce2eda08eeb5f404a72..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 276 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p zGs)A%F+^f&a>4@bgmirkhRaJ=CO%XUtFDO1((DMFH7ia`j4x%%)YhfTmN!deIxwVc zaFF2R(Rr%iwv(CpaJjh>vga&JSfor U|5@Ln5$HMwPgg&ebxsLQ0NqS!+W-In diff --git a/graphics/event_objects/pics/people/running_triathlete_m/6.png b/graphics/event_objects/pics/people/running_triathlete_m/6.png deleted file mode 100644 index be048ac7eaf38d7c7f7e7bcf534710023e66dfe9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 274 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p zGr`lvF+^f&a>4@bgmirkhRaJ=CO%XUtFDO1((DMFH7ia`j4x%%)YhfTmN!deIxwVc zaFF2R(Rr%iwv(CpaJjwwnn<_wr#l-ZGO5zzK@ zO=L!f)CI0MRr3YkSRDkD`?qZIQ)oVz>iN9KZ^PjoF+Dj8^K5LnPwn6iVPe?tr?*0V S1-~@VZ492SelF{r5}E+(U1y#E diff --git a/graphics/event_objects/pics/people/running_triathlete_m/7.png b/graphics/event_objects/pics/people/running_triathlete_m/7.png deleted file mode 100644 index 9a972be671fe23954f901bbbcfc11f4d5726ce27..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 260 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p z)8y&m7$Pw>IbngmMtVB?rFjEIO}^jM%{YGNw0WRc7XFLvWImoL3)rm*W~kU&624*z1}4p zJ0+5=KSAkV@Lavs2YS4XukUWyy4K|3fBvw;{Lh#e9K}_|{A=gw0$s!4>FVdQ&MBb@ E0Nmzd2mk;8 diff --git a/graphics/event_objects/pics/people/running_triathlete_m/8.png b/graphics/event_objects/pics/people/running_triathlete_m/8.png deleted file mode 100644 index 18ea0d178dccc22170da03a4513818f899c29c77..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 262 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p z)8gsk7$Pw>IbngmMtVB?rFjEIO}^jM%{YGNw0WRc7XFLvWImoL3) diff --git a/graphics/event_objects/pics/people/sailor.png b/graphics/event_objects/pics/people/sailor.png new file mode 100644 index 0000000000000000000000000000000000000000..b84eac22ccaba835c8c82d4f8052dd11157bace1 GIT binary patch literal 780 zcmV+n1M~ceP)Bp000+sMObuGZ)S9NVRB^vM@&RePDdbiWpW@hE;Mn4q~QPn00?w&PDe*f zL^A*Y002sWDIWj;00d`2O+f$vv5yPer2o~l|HYKvlyiGQLI0$* z)oOc-K~j{(_F9X*5HV7;q+)w>K{+`X|Ns900013rp2q+H00Cl4M@0Xn2lB-L0004W zQchCD0tKsZ>I#RZRR7P4DiV=;jPL6{_4$RheZ zEX3nFIRv{H^sY5lxpUDqMZSX~oJHc`DKRR zQ)B|Lp7pHf-{ZTkU&sHQjiy_(1`%q=0pn))Te18%Z zv@$jcnh4W(ar`(cXl!P=Bxn*U!cDEy(ca>L5Jwbs`jTZqlTeZ9qR3)|iz3dz=>0$z zg0iSAR3!S<^WJw+giRcaOs)U=IxhqzQAMZ-7S%MW1FSgC44Wx^qt6OKNmLf*BvjA)Ww|}wu8^EMX7GEoSCR1R5Z5d zzJGAsHMVV>V=VF?ZaN;AseqA`12Yw2mK-QyPV+(FOcrMY^ZvxPotJoEvU_>%fi;o> zMxe(V9cB?OcaD)^a^kq|v+tsK~e@6<$=a(XpQ6#ev z;@3mrS5fdj<0?G;70wEZyBlSK!=C`RFACA0dBs0UVJke@7uNyW3C^;hTnJ1J-#Y{baRLQJ2-CEz@rRH(d%pT-&?=0000< KMNUMnLSTXt2TrB{ literal 0 HcmV?d00001 diff --git a/graphics/event_objects/pics/people/sailor/0.png b/graphics/event_objects/pics/people/sailor/0.png deleted file mode 100644 index 8dc44669a3bde3a3a22073463f9086b4a557d9f5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 294 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?& ztx7z7QTkzPUq!1NdJwXGUG~w{&$W2Yy^h=aBKrHCmd3xwcBe+Zui~Dt=129jKl6>h qH}d@Z@9=@~$&vr^KmIH4lwr8|+r_Cy$Icz-UItHBKbLh*2~7YutbEb{ diff --git a/graphics/event_objects/pics/people/sailor/1.png b/graphics/event_objects/pics/people/sailor/1.png deleted file mode 100644 index 8cb9ba62027c46feb287b69250ed9a7a24b7ae1b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 286 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?vcpD3$DCk zXmVBJ@e9?qvf4FmwSmR@>aAH9C0&;-vWbkzLb6Mw<&;$VRBX!FF diff --git a/graphics/event_objects/pics/people/sailor/2.png b/graphics/event_objects/pics/people/sailor/2.png deleted file mode 100644 index 34a832cbfbbf7b9c56990a75f9e4693cb542ef95..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 274 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?EsMoZ6a)p?WpF2LkdT%)+R1Np@#u{o@7M*Jk1k%!ofN*< zMf^lcn`rAH{R2IvUZ>tG^duE?G=Hx+JCi%%YWV>(1A`Ah*U3M+_W!@V!cG~6cW=!1 UC+96M1GfS407_?wobDqJPTI{rS&d j_VE9Ic?G|x?4KDoOWVxY$H1KebSZfS407_?KY~{7{*=S`sk|gf+?p~i`Tx6YdllAUFUVI{)LqP@&Vcs|Nh$-e`CJU i`RD(CXW8HK8Vn5CXKk2@LKlHt%HZkh=d#Wzp$Pyp-gDFd diff --git a/graphics/event_objects/pics/people/sailor/5.png b/graphics/event_objects/pics/people/sailor/5.png deleted file mode 100644 index 01795d75f23dec33d4ed83e618ca5e4b2b9bf2b9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 280 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?vc*J3ckH! zXmWKp8mDb#wM&dybba;KtgBY)3XhNNPOp4FM^+*1OFd)M!TRTC{{K%92Wnz`6jEm( a&!FPtAF*sk;SHb*89ZJ6T-G@yGywoOnR2lJ diff --git a/graphics/event_objects/pics/people/sailor/6.png b/graphics/event_objects/pics/people/sailor/6.png deleted file mode 100644 index a3babaa42623997a4812ef168ecec9c06fb10991..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 280 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?)jBfwLWZZ)OW5GH=f+xyr+Dx!{op94r>#B{QrOECVztZr~m)?OW)Kl aU|`tE=O@d@_SO&RLIzJ)KbLh*2~7ZDq;nzw diff --git a/graphics/event_objects/pics/people/sailor/7.png b/graphics/event_objects/pics/people/sailor/7.png deleted file mode 100644 index 08abf8a71a39ca0c89ec4e2e06996fcf0c2ea903..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 278 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?EsMoZ6a)p?WpF2LkdT%)+R1Np@#u{o@7M*Jk1k%!ofN*< zMf^lcn`rAH{R3fZf`jVVlm5hp=lo+kv!ifS407_?EsMoZ6a)p?WpF2LkdT%)+R1Np@#u{o@7M*Jk1k%!ofN*< zMf^lcn`rAH{R2IvUZ>t4=qWz>EdRi?d6sd-;!EcKKR0uC`Tyo6|K_Ft;5TcR_hDl2 XEVFEh$=D+fbRC1ItDnm{r-UW|mFIB@ diff --git a/graphics/event_objects/pics/people/school_kid_m.png b/graphics/event_objects/pics/people/school_kid_m.png new file mode 100644 index 0000000000000000000000000000000000000000..e9e8e48899cd10821fea503b39171574a839bd16 GIT binary patch literal 826 zcmV-A1I7G_P)er2o~l|HYKvlyiGQLI0$* z)oOc-K~j{(_F9X*5HV7;q+)w>K{+`X|Ns900013rp2q+H00Cl4M@0Xn2lB-L0004W zQchCdlaqJ)R zK99;C4PZc0iCxd%2#TVjP>K0<1s~3jx$AKkqpvH6sUi~;MYn`G%gMp3gHsCP@)@7H z_b@oh1x3*ImgzB(YT$s^ZT4}&Bf+_) z)roybxqJ!m7KJMc%7i&Jv*kEF)6z`Oar*QQUZYAuqZSHA0BscY+Q?=Yc9A3Eh)m3( zIq)2ok_p!pbQV+BJz=z9*Jz8IuY0000mP)t-sbH$|p z)wKV`l-`tcdqF|}q_ov)dy7F*l*RU1i@gvrQnaLEdvifKIT-){{{R309c`Y+00001 zbW%=J06^y0W&i*HnMp)JR2Y?GV4yGf{~t=PS_NkD&sw!=)dwKs*UVq5R?P=7*2}M& z1r*|6^-&P0YCQx0f60lG^MMQ&{dq6vz5E1J?QHi*@39F`F^jR1lCcAj!R2ghY_b5z zaGB@g^3nw;qvZFZ?}?HFP>E+p#}tqvmoqbGo&icR@SXvJ3m{#m_uk$E(#5sz)w)+8 h2E(caT&s}W3jmglJ~A6gtHA&O002ovPDHLkV1f^FdZqvX diff --git a/graphics/event_objects/pics/people/school_kid_m/1.png b/graphics/event_objects/pics/people/school_kid_m/1.png deleted file mode 100644 index c47d69d34a18deb5ff7495f04de5aa5cd55f3272..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 274 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?fS407_?%tQYV z@|-U>zTV7RP_=wdmZ%4B_r{M(+7rsy#FLeUH=NWt_g<_)Qajov%~8TnE1+#NXUoCr uBhQ&y3ZL<`YfS407_?%%k~Rv#zevoppDY~AN)8Yi$ZU%z#Cw*udzs_k5_j)Zbc aNHExXSiD}CQql%=AA_f>pUXO@geCwtnR7k> diff --git a/graphics/event_objects/pics/people/school_kid_m/4.png b/graphics/event_objects/pics/people/school_kid_m/4.png deleted file mode 100644 index 3309791287823e63fd5dbd645005ae8f05308acb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 276 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?%%k~Rv#zefS407_?R=$Ru|Y_MDdkU;Y4OulGgsR& zNG5z}Y?MC}#UJul{zMf2rT72kIU1OB!W51%2_(%O{ z^h`ERx0>A`kzV%R?h!-M8q4Br#v8V)?>T0$tqWBUVz622(kdpAEDCfDgQu&X%Q~lo FCIA-sW5oaf diff --git a/graphics/event_objects/pics/people/school_kid_m/6.png b/graphics/event_objects/pics/people/school_kid_m/6.png deleted file mode 100644 index ba20fc11380e1ce461412d86e02ac056dbd2df20..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 263 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?R=$Ru|Y_MDdkU;Y4OulGgsR& zNG5z}Y?MC}#UJul{zMf2rSt#gIrcF~#wZ+1VrOd;t^NOhKa1hCiapiWH?e3uU2^H7 zA#2L?%_q;yEOy`#n}2ur`G&a%w|+aL+0ne?-r6Rs!mCVdYz%u}yZ%1D<3~NvK@6U* KelF{r5}E**L2hOM diff --git a/graphics/event_objects/pics/people/school_kid_m/7.png b/graphics/event_objects/pics/people/school_kid_m/7.png deleted file mode 100644 index c4a5444e0ce1e71a79f9403c35cdc3881551d2b1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 257 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?*yuz`X2|W+i&(yxoEGf_WRI#Yfxb=Ut z)53qeDSNisx?7MEcvl(n8I5gy<=`_36mq|+}C9=4%=07hRJxEMrD&^On8s& z^Ed{>cf00T7IPnosQ!L#W~jo>tvq`Ia(Q?h7#TFY&6PM;oRfS407_?*yuz`X2|W+i&(yxoEGf_WRI#Yfxb=Ut z)53qeDSNisx?7MEcvl(n8I5gy<=`_36mq|+}C9=4lCPnrpaKLMrC8hy~)8n zwfYQ_ug}dX+*!?iWJmG0cXvY_*skB==2?Ber2o~l|HYKvlyiGQLCwwH zoSeN%N_%s?06}{I5IF$NVoH=bDN+ys|Ns90001$F0&@TW00Cl4M@0Xn2lB-L0004W zQchC2(?Ajc3qOJQAmR50}@o9%Y($rZF|@L+_+ z(rXW!4hpirLi`0H{+BKy;;pj-OFiz8s?dwW_KB}H zC2&QKuo7z#h6-O!&1bVSELeuhuoi5JT%jfCWf-=!Ie|IDe%La!0$1b;Exp!*&o{p; zW3McVVV~bnT-O3ulq8{rREeoS-fJ0t;ZBn~i>h%#|d z3oU&%e)e|CCO#W6Hl&^JbBRS>n*`=fk;k#uCJ|-gaa;*4y>{~IT|x^JDHB@2vO6@< zM?p?UN>OxznM9O{nAgIZ4>Kvhy{rlOV3#I*67&I1h;$?pnT*5??4m4S*@dA`1vs%H zo|*?o>H7I%7eDV&Iqzo3yJj8aS+{Slk^K4Bls;=NB@q?$Pn81t{8?Sp%)x3=zR@aM zn0uFoC dneCG@{RVgmP(P8fQd8IuY0000mP)t-sbH$|p z)wKV`l-`tcdqF|X&EA}xy-G@ZbG-mTdjJqQ0L@}blsPF<5CH%G{{R30F^B?l00001 zbW%=J06^y0W&i*HrAb6VR2Y?GV4w^5{~tpCy?ggQh~~d@=I-AQAb~Ug|K9-#{l70L z_!p$=|3^VVc_4#D-u9yG<&O>wEc*A}-h2DWfq}u0Z~#SxKxf*Z!Q%h`002ovPDHLkV1j}afo1>z diff --git a/graphics/event_objects/pics/people/scientist_1/1.png b/graphics/event_objects/pics/people/scientist_1/1.png deleted file mode 100644 index 2a2ade37092d2864348bb16c3adba3d6b3ea70ca..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 277 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p zGuhL{F+^hO-gAb0%?3QI0sIpsin-SXE?YOZVXbrMkyB2#MF$teF=z*eYX@nUW(-`?WPngxa_|L9Wi<+dwzDR)Ao8vRrC5=06Tz5`>SjV8}q$0n%``9af z=k*eywcG(FH(p9FIKa2@AY)9V@pbdH^VgqQzq{_Al-g}$qwU*{KcA5trSBV8*8ZRI YS9@^g(R7KIK<6=dy85}Sb4q9e0NYk;XaE2J diff --git a/graphics/event_objects/pics/people/scientist_1/2.png b/graphics/event_objects/pics/people/scientist_1/2.png deleted file mode 100644 index 6d3e31618fa2b3e4e89509a0bdeef547654d7fb5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 256 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p zQ|Ia87$Pw>Ibi|!kN@&s_xIMzyL`UC_xJaA>>G~!-CgeBB+vSPo+WpZ1=p$jd%4r@ zi2kbyn*o0`H~9=&771QtieJl@|dseRb{@WGy?OW!N> ze6q0RSZw0LdMKg)bF+cOsngsN3Vgr*GhST@^i@HynT@Wkbs*3s44$rjF6*2UngGTU BW;*}? diff --git a/graphics/event_objects/pics/people/scientist_1/3.png b/graphics/event_objects/pics/people/scientist_1/3.png deleted file mode 100644 index 433dd879d3ad9518e39242a621a632387f9a66ab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 282 zcmV+#0p8IuY0000mP)t-sbH$|p z)wKV`l-`tcdqF|X&EA}xy-G@ZbG-mTdjJqQ0L@}blsPF<5CH%G{{R30F^B?l00001 zbW%=J06^y0W&i*Hm`OxIR2Y?GV4yGf{~tpCy?ggQh~~d@=I-AQAb~Ug|K9-#{l70L z_!p$=|3^VVc_4#D-u9yG<&O>wEc*A}-h2DWfq}u1_4yIxt#aI&L7tG-B>_!@p zGsDxxF+^f&a>4@rAOGc@{_m~+ZrAZ_fAO<-_xTkXjsO3@&&c_AzrMx~@g=YRyE{5o zDm1&^`?l!K(|$f4onPPY-K+k6va#{tO%o5(8!Ri@jz)N%l+ZYE;9X8m&LqC1DZ6(} zX=jjJni_ig^5ll1)Q1y;PkS{esV1_4yIxt#aI&L7tG-B>_!@p z)9&fw7$Pxs?>R%RLjgQ&4|w=x_O?{;-Vd^}+IshnSNQZ_dOy3wU-Wmcb6l}l==1kV zw*QJhIaFMp>^Ic@%NuiZyRd=1?0lXl(uU7%);1g$BqVUSVch7_|3&U4_d(!&PNZ9oKxXnDv$0?4kFY-xHI60-eO* M>FVdQ&MBb@0A(X?4gdfE diff --git a/graphics/event_objects/pics/people/scientist_1/6.png b/graphics/event_objects/pics/people/scientist_1/6.png deleted file mode 100644 index 6ea4c55774dcf9a80570387c4077a3dab61c3db4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 265 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p z)9&fw7$Pxs?>R%hCI z*?ylgGv!UWXRgg_Y%jmYe0cT`6$M*aXRp6Z1}+hS9w%gz6^l#`sKuKfyI$TmdvWso z4zp{adp;G0ACEAdW3n`>QvDnI)#=JHbrZtA?va@$`KDgm{vT7|BwzJd!MkUGPGazM L^>bP0l+XkKasFso diff --git a/graphics/event_objects/pics/people/scientist_1/7.png b/graphics/event_objects/pics/people/scientist_1/7.png deleted file mode 100644 index 7496fcc988078eca3394936d07a95f1993c4b52a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 258 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p z)8Ogi7$Pw>IbnhRkN@&s_xIMzyL`UC_xJaA>>G~!-CgeBB+vSPo+WpZ1=p$jd%4r@ zi2kbyn*o0`H~9=&771QtieJl@|dseRb{@WGy?OW!N> zd~y$PTRB;N#=-x8IbB-**H>2R-k9@WUf~@hw~+w@gMYBiwqq+D-vHgh;OXk;vd$@? F2>>PcYV`mB diff --git a/graphics/event_objects/pics/people/scientist_1/8.png b/graphics/event_objects/pics/people/scientist_1/8.png deleted file mode 100644 index 7487b1b460916bb39228bfb1df7dcc51c6a85256..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 259 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p z)9C5q7$Pw>IbnhRkN@&s_xIMzyL`UC_xJaA>>G~!-CgeBB+vSPo+WpZ1=p$jd%4r@ zi2kbyn*o0`H~9=&771QtieJl@|dseRb{@WGy?OW!N> zeA?kI;FdXOvh|FQw(mTDux~Ivb^5hp&+k71#s8XnSs64utRt*e%yt7hhQZU-&t;uc GLK6V9IBY}! diff --git a/graphics/event_objects/pics/people/scientist_2.png b/graphics/event_objects/pics/people/scientist_2.png new file mode 100644 index 0000000000000000000000000000000000000000..20ce638f6ef47087b7c19f47b45c39df3661a0a9 GIT binary patch literal 804 zcmV+<1Ka$GP)er2o~l|HYKvlyiGQLI0$* z)oOc-K~j{(_F9X*5HV7;q+)w>K{+`X|Ns900013rp2q+H00Cl4M@0Xn2lB-L0004W zQchC2(?PPv5OSqkeO>_x%!;6*mu?O`pr{tfX5 zh3pzeegiTBV5EYTlAO*pv!^7gA9 zz+=g|{0Y#HZY}qu5m+Ky*btmxXD0~p-^VCR%E7%}X#}>&5;lbSK@jw&NGd|YAPCw5 zTVxA0A!UOBi;>tgjj7@A?Me$~0B&1E*%E5HFXzRHgnm8u`%s@o)%c-bV;Dz6nPvvT@q0y9*2!k)9FU*v0ETs^{$tX`lo6EU4LSV+Sywz z>Ni>?3$@RyL?uc?@VHccB-mh4wCPF4KGHtU*s0neOHa0`zj$(8=t(ZG%w_#O;=;TB i+ia$F!DiM^>hv3XTy?g}8||9_00008IuY0000mP)t-sbH$|p z)wKV`l-`tcdqF|}q_ov)dy7F*l*RU1i@gvrQnaLEdvifKIT-){{{R309c`Y+00001 zbW%=J06^y0W&i*Hr%6OXR2Y?GV4w^5{~tpCy?ggQh~~d@=I-AQAb~Ug|K9-#{l70L z_!p$=|3^VVc_4#D-u9yG<&O>wEc*A}-h2DWfq}ufS407_?pWpr@8UnZPAzJZ68jh5E& z_?_2Fgw}EgnA~_Nz2E@f#)FJ8k;d1}*Un#mX8rEEe^P3{KvZvg-R diff --git a/graphics/event_objects/pics/people/scientist_2/2.png b/graphics/event_objects/pics/people/scientist_2/2.png deleted file mode 100644 index 3e8d2f530c2c44d8837dee4e627362669a8706df..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 257 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?&1?{^IZN@A4;f{w_b?&|=5+&z3pOg6q_MOYXEg zqW`MJmz@88_wN4$<~deV>~A$o=o~xdrl#$$Q)9Jv9q8#2eXr0H zT3aP>tV>Lkqj~jt{zC~7TeBEvJlp^KKl7?!MFs}eo0ewAZ@;hroxgTe~DWM4f DHsxw# diff --git a/graphics/event_objects/pics/people/scientist_2/3.png b/graphics/event_objects/pics/people/scientist_2/3.png deleted file mode 100644 index 9c3f70989b8a1edc4dc6e0398d9e82dbe421c65f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 283 zcmV+$0p$LPP)8IuY0000mP)t-sbH$|p z)wKV`l-`tcdqF|}q_ov)dy7F*l*RU1i@gvrQnaLEdvifKIT-){{{R309c`Y+00001 zbW%=J06^y0W&i*HnMp)JR2Y?GV4yGf{~tpCy?ggQh~~d@=I-AQAb~Ug|K9-#{l70L z_!p$=|3^VVc_4#D-u9yG<&O>wEc*A}-h2DWfq}ufS407_?f`-`8wyU(xCX#D^GeMZi|`}H+`h%b5d-`&x% zQlZ)P-nT_>p7!(c==}PA?_TxqlZ}lBZ!Yp&e3NBG+tCQmlM)&S4m{1t$uZ(S67lrW zrd6ybA~qIPUR~qquybl`uB7&K2G?mNI;USnFr--g1lq@RB;jSVkwn;+doP%*d;b5w g``=(Y(_L1EiXi(7*V+yh0A0!8>FVdQ&MBb@0IG3-tpET3 diff --git a/graphics/event_objects/pics/people/scientist_2/5.png b/graphics/event_objects/pics/people/scientist_2/5.png deleted file mode 100644 index 836241dc9683339d91980b08229cc731194570f2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 267 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?2Oj+Y|L*Spc!yj6nHfEPdkG{nPI$yB3eS&q^p6ctYg%4skR4OcXRADe^3s7HFP!$ez O6oaR$pUXO@geCxt&v7RJ diff --git a/graphics/event_objects/pics/people/scientist_2/6.png b/graphics/event_objects/pics/people/scientist_2/6.png deleted file mode 100644 index 894ba989e989238c557c85956a5e706062bdf6ab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 267 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?7j=J|AOh87`VB$lTsZStEZ{PHONP=?&O>@<0JnI z(I02)XTHgCOSwH`tt~VE`!(!s<{v#Bs;t_k{9;Y$*sy5A1nXl?Pcj;O_vQ7he=lS1 ze%wwlcg^aGr;pe5ZOpRB^t$@V?+yPdefJ%I6xP0~wA3-a@jtBY4{JtMkl52#*581R OV(@hJb6Mw<&;$U1fo{D3 diff --git a/graphics/event_objects/pics/people/scientist_2/7.png b/graphics/event_objects/pics/people/scientist_2/7.png deleted file mode 100644 index b3176d10efa39395cdaeec1224a49b0a17ed360e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 258 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?&1?{^IZN@A4;f{w_b?&|=5+&z3pOg6q_MOYXEg zqW`MJmz@88_wN4$<~deV>~A$o=o~xdrl#$$Q)9Jv9q8#2eXr0H z+P|Pj)UPgq?f-gp0l|O&SBI@-o&EVg^AXzwM>aNwO&{zPSPIVl1GfS407_?&1?{^IZN@A4;f{w_b?&|=5+&z3pOg6q_MOYXEg zqW`MJmz@88_wN4$<~deV>~A$o=o~xdrl#$$Q)9Jv9q8#2eXr0H zTHCMCBUer2o~l|HYKvlyiGQLI0$* z)oOc-K~j{(_F9X*5HV7;q+)w>K{+`X|Ns900013rp2q+H00Cl4M@0Xn2lB-L0004W zQchCngh7LCpc`Rpj%hlt8GCElmi>u->q)jokANHA)2qF~jdWLZV(N+XD81Bh6qG75 zvB5OuLRyg6UfD$4ApssRPTZXCV>P~F<2udWp`S z@ygjL|E2G8-EnYVH)HCYHfTT2uXpi7>jSLQKz|KHP&E}&gH%rRJnA|1y{uhLF6YreVD;UDZc@^dqYSt S`xcr20000fS407_?Q#orYA6Jvaz9xr)*2YHH zZ~vWE{uh^(h$yN5_uu~iBxdI3&3}~E_NzIV>Kya(I_AL0rYD}9Je}3ySXZf@-uhh) zJyT!Dec3zf=z#<4>=rLxy!k|9<6W5}8f>fd;!TU6trD8BPSQBNtf{0>@?~5Qo8gcA od;hJ!GoMKPZ~x)HdyxeLpSVqt%ewn7fv#onboFyt=akR{04xG}tpET3 diff --git a/graphics/event_objects/pics/people/scott/1.png b/graphics/event_objects/pics/people/scott/1.png deleted file mode 100644 index 63510a3137b90001c88dd424fe874d73941648d6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 286 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?Upbzocn zcCPL6^Kttal7ON~20!kxHfcMU>imCy@9%qtl!CQDi>@;%Bp*HX|9^TZqoj8DxjB~E zVga33&-C@p?3R_du{Nxvq(oOQAz{Uwtwq;Py;O)*(43(6FX{LBXYvj`?}6HzC3ybZ efB5fSWWn%&#m^_f#77b6P6kg`KbLh*2~7aZ2YXEb diff --git a/graphics/event_objects/pics/people/scott/2.png b/graphics/event_objects/pics/people/scott/2.png deleted file mode 100644 index ef11e8e1fd6feb707f5a45c26f9e338713ada199..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 261 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?fS407_?Q#orYA6Jvaz9xr)*2YHH zZ~vWE{uh^(h$yN5_uu~iBxdI3&3}~E_NzIV>Kya(I_ALG_FwPVu{drCi5qXP@7%HH z4U>`1^}R2ue{ySt+Am(bI9~q5116(ej=LaBI fmb3@|`IQ(?J+QFR++NTKbR>hPtDnm{r-UW|yeE0{ diff --git a/graphics/event_objects/pics/people/scott/4.png b/graphics/event_objects/pics/people/scott/4.png deleted file mode 100644 index 1ab051fc0fdd1a52640d1a995922f1ccebccdce8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 286 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?Q#orYA6Jvaz9xr)*2YHH zZ~vWE{uh^(h$yN5_uu~iBxdI3&3}~E_NzIV>Kya(I_AL0wodifF}?qdJ))muV&ZD` z5)vZp-@D#lebV9Ba(P+Vx%V4`&WSo4V^V0Yy?SQmYPE(n|F>qjiQlmO^MC3Z1--}r iE9GBZ`!6pc!O-Gt^;d5CFDIZo89ZJ6T-G@yGywo{ZFqtJ diff --git a/graphics/event_objects/pics/people/scott/5.png b/graphics/event_objects/pics/people/scott/5.png deleted file mode 100644 index 167ada21dc2a8982b61d53d8a7eb910906f31512..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 280 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?Upbzocn zcCPL6^Kttal7ON~20!kxHfcMU>imCy@9%qtlr>R6i`KL9@WhB||NlS#>d^xS@^%(I zJ2P{0L(o@aD=Vw#%#tz2)>dh=7$oPcPCFM9%CM=<_4%r=3Ey?h{{3e>^Mik>fS407_?rK^zwsMD9)6Wq*w4jN}H<)0gwo zv=(JIe_Li%+5CFJt@ru|99;fZve#HY=aUbXF6ujz@UHWZ=KlFLWY`WuLB*(;OXk;vd$@?2>_PdZq@(* diff --git a/graphics/event_objects/pics/people/scott/7.png b/graphics/event_objects/pics/people/scott/7.png deleted file mode 100644 index 3d2b77b1b82cc3864ab222f63abffe76f134c483..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 267 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?wCR@of!Rh5d PM=^N1`njxgN@xNA7cg|< diff --git a/graphics/event_objects/pics/people/scott/8.png b/graphics/event_objects/pics/people/scott/8.png deleted file mode 100644 index 5ac07720c206fc07825637943adb1e7a600e2823..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 263 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?Wm77$Pw>Ibnfn1nbhsFr7w&IpIEKjNB5QdLd;DoElzwB1VkHOIQ~2I2ts&xtw#d|gh25jAYQN1>Gf|OXYs%r9tZ=!m~j_Jkn@Wjmh9~<-Ue8hnRrl0@& zC`282u;l;$=YRgs50RMj_CNE%bYV8J?_d7^Kke0U>qhY5pu=1ZwIbnfn1Z(n|hD|X&y|E4^-4hoq*u*^H;hG--0Vi0_2(%bYVPT!xz$2Eb zs$fvWVAL~Z%9KVPw)A8LhLwqoh7PyF8+hI%B|Lcb=l!Ek^~adl*3JCinDC5=O}$#+ z@n)`O=gFM}mf zmzqM`o=IKC9S@hRf0M$Lv_V2zdS=5G;~f&xyBmDdKK}p2m~`~d%>Rl#@y6GiCI8Re zqM-DDuCD^mH-YUX2F>OsZ<%HkR-c#TX#V~#HbtI+VfiJ+xk*J2gn+JL@O1TaS?83{ F1OVGMVr>8b diff --git a/graphics/event_objects/pics/people/steven.png b/graphics/event_objects/pics/people/steven.png new file mode 100644 index 0000000000000000000000000000000000000000..ab113d35063988149c41839901982ad5a86261b1 GIT binary patch literal 820 zcmV-41Izr0P)er2o~l|HYKvlyiGQL28Sv zIZ9#(5Fpiaq@+P}QXoOq)zyoOltDpK|Ns90001r;H8nu6oolxH3Vn(P^YU9pvr1QX}knzs+Y?WpsD99 zeSv5R(4{bm`fmxs3(f728i^MJR@ie%QGd?Vu?Uxsm%2J1DN2a9@izX`(IY>jS-CL# zx1ed6M41bCaP)#bQB7)*bY>?cm1Cw6moy|Z5V1=a2c&}ctC+Y|*DmkAIB!Z?{mZ9U6Y-2;v672~qYU=k7 zw9=d`C5h9%R!Yvipet$%5$M@d@8*Mp1sWxyG#(5h0==LsY6#J$RYkGwVhl& zC&39_-_tW1%+nEXEM)<|$mF9ngZOAp$Rx{jOEj^Kd0`vO*)bbJ2rl2_cFrNPANl%z z#q|Y*_FD}L8(_@P?kwap+Xs1JZ!O%UHVA@CT>IHMMEo4071tLKqBg5Ib?A@UaS4YE&m0X)XI@e*4rQe00008IuY0000mP)t-sbH$|p z)wKV`l-`tcdqF{Ji>x_HVh9i*)pMkzL32_dLDkjOi;I*&K~n$!{{R30E*dwM00001 zbW%=J06^y0W&i*Hph-kQR2Y?GV4xx3y$fTUhO+M7*#l-c|9SWB{4XF~|AF8G o3ggcGzh^-VhW{V<|08(;08aN$*hv?Fe*gdg07*qoM6N<$f>*zNu>b%7 diff --git a/graphics/event_objects/pics/people/steven/1.png b/graphics/event_objects/pics/people/steven/1.png deleted file mode 100644 index 37a8367ea17f774ab6c15d4e6611f96f292a69d5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 264 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p z)8^^o7$PxsYyU=GCPy9?*_vO!f;1Z6H*l?NdHtZKN#tc%-b2=wh_qUN2j-kjiznuu zRI2CAyRT>MAie4Ns#Pni6ivAHt_WKdnXTEns{Cw&Tj$)%8Mma{QyDj_vIubIcYn}6 zC~F`*laI4MbeZzGa+~mplV{(~&Y5|9-#MO!pB5S$bw7SSz~1p8;lyK;^bSO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p z)9C5q7$Pw>Ibnh7gT2*^hj#2`KeS`_^EZ(jjz}snaNcFSwA|6D{QR7oo7s;PuxvWl zAlX!YZXT;<(UhxutDo^rc(`OWkn-p{dgF)Qkqq(V+q)AcNB+52%U~R~Z})HcLl)Kl z?Ph%ZKiO`|!yKlGkN!X6PyO?s|Kiu@Z|?FN2&Tw0Fnsys6gjzVZZ^;{44$rjF6*2U FngDAqZ}SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p zGuzX}F+^f&a>4@k2Yb1b=d^8lckd>1+Q)f}P23L0-WsQ$n`g-_bffm$gSoci67S~N z7Jpo%6Y%cc+}%x0PUYu}KFkZk4y!VC1ol2uic*%c1|@7TEUJo|!% zclP4bzkhG!xm~&b+TK0SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p zGt1M(F+^f&a>4@k2Yb1b=d^8lckd>1+Q)f}P23L0-WsQ$n`g-_bffm$gSoci67S~N z7Jpo%6Y%cc+}%x0PUYu}KFkZk4y!VC1ol2uic*%g}qcWm5vUR>ev zdwcQe-={Y?)j!`G_5G7khvEMxbLJ~(s-K_#IlYd-XpZgsdvp1dHvC~{5@=>T(y*iF g|GC-~$&N-0Ud3LgeW!ff19T;Wr>mdKI;Vst0KvX@)&Kwi diff --git a/graphics/event_objects/pics/people/steven/5.png b/graphics/event_objects/pics/people/steven/5.png deleted file mode 100644 index e023078ee1a5083f493fbbc198846a4c6de2059d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 260 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p z)8y&m7$PxsZ{J2Yo_PqQ?-aPl@ z`A>rW3Gb`Rl@{o|8O%E2lV=ulqe6HE{LpOk~VeoYIb6Mw< G&;$T0S7#dl diff --git a/graphics/event_objects/pics/people/steven/6.png b/graphics/event_objects/pics/people/steven/6.png deleted file mode 100644 index fb885a1bdc0c9e11b6938981f271dd36d4b24f98..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 257 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p zQ}5~G7$PxsZ{J2MOc&0Y8S?%_0NbH;X3|x`JI{p7<8(ac{edslcA62} z%kT0}UTukyyZ@>3<3rB&4}zS#`fu3HdHMVN&YukD)1$igzHQeAI)%a0)z4*}Q$iB} D(Pn1C diff --git a/graphics/event_objects/pics/people/steven/7.png b/graphics/event_objects/pics/people/steven/7.png deleted file mode 100644 index ee2fbbb5f1ccd8c4baf6f56d52179be5a56d8e1c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 262 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p z)8gsk7$PxsZ=WF_lOYdFa7?$KO#|Dj)j`25vApk}@PB8PaddncT37IhdHK=8L*fOS zSI?dLR^Xqp!*$jFS0>NBvFFT+my3-$bmF{T=)6^2CARc1%h_o$%O)>cr0BNgYO&3B z;lrhWckEoBV7zn6D&_v!()%9wZgn}AQs|QBpPnf4ZTZ^ItVSn1AI?-gUjTFugQu&X J%Q~loCIDD5Y%~A> diff --git a/graphics/event_objects/pics/people/steven/8.png b/graphics/event_objects/pics/people/steven/8.png deleted file mode 100644 index e140731cd077d82ae8316db15bb87ca3b6f3c67e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 260 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p z)8y&m7$PxsZ|_Fl76TsF;0ud77&CUv()uduc*Q{7dIMu;3G)waX$3AXmB$u$xOV*X ze}B8v@IB9mCsO}cF5@$@XPk7Ws9hi|_EUw`eFcHePr3YENp1g}PlP^|IdysQ?`it0 zGVMjC$;K!sX&RJg>CDeN=Ner2o~l|HYKvlyiGQLI2et z-kcC>ISA%bV#NS4VgMMNVoGW;F);ub|Ns90003V0bYTDh00Cl4M@0Xn2lB-L0004W zQchCyZ^M#@J@YV@DUpvuI*mH7No#u;mO)rt2K0SU4+OKIuonRmu3R}{A zcQOoR4)8&T<_Hi-wTca-t)LY}Sts(0J7G_ul$1(Yc&4P|I|x)^c0`*g7AQo|IP)T5 zJ!9eGjD#qhj8h^6VUFm+Bv>$43DA`sEjVOBZiQoF?vO0FZwFO8c+5w9ey^zHysBsqac}k)kp4o~6)b-CWi~Y)FDLIe{E!3X_ qg53HmF7f}C8xH=2Flf4gD<~8k=ssSiEPGXuxgZWL4Eg(V9%eDgDz~JfX=d#Wzp$Pzg=2`pz diff --git a/graphics/event_objects/pics/people/swimmer_f/1.png b/graphics/event_objects/pics/people/swimmer_f/1.png deleted file mode 100644 index 64c3c79e5320f6f08c304bd4e38dbcaf3f46e8b4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 231 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ zN%eGb43U_coFHM6a8*mgwpeY((W{2VX~&rql2f0bnQ5HXD4{ShQbE+%%G$bd)sC=p zEKQNz5@BbV48ztj&1Aa5cje=JjYwR z!_URAhCI<&zlSS_VZz1}Tq=i>-Xx_ki9D=+zUaxGe|MP`UUzPk?_k>$b5HQ421Bom W$}x#c6}3RS7(8A5T-G@yGywqh!&OQE diff --git a/graphics/event_objects/pics/people/swimmer_f/3.png b/graphics/event_objects/pics/people/swimmer_f/3.png deleted file mode 100644 index e8edbc9a64e983232a4b62312765800aa81cbc23..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 254 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ zsqu7i43U_coFE}^fL%%M!GxHtTwdqra3*~$EIl*l=0=7URZn})NzUEeAQgUYj%Bv$ zgpFBGPfg`snzlBnLUpOCs>YTA#=}~=NBciHb%z;R=$ie~Sf8`C;o!}q5uPV+Je55> zxm@qqF}*tehH3k&zn}AD&6>TLbIQR-4M%ku^!8~y3}ELu33La8r>mdKI;Vst09lk} AAOHXW diff --git a/graphics/event_objects/pics/people/swimmer_f/4.png b/graphics/event_objects/pics/people/swimmer_f/4.png deleted file mode 100644 index 1f5abf77eb7a1fa6bc1a6a587bff26e23af326dc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 254 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ zsqu7i43U_coFE}^fL%%M!GxHtTwdqra3*~$EIl*l=0=7URZn})NzUEe;G~^?ZqC*s zG5N!*rfP@lO_{Z|tI^xb+bbaBp;cRGRG0kIRxw6bG3nYV;oE`|E1oBCl1i zM~>dO@pP^{bMxd=yUX7@T(h3-ur{Uez(X;HkbbqQU-lu~KzA^By85}Sb4q9e07TGb AasU7T diff --git a/graphics/event_objects/pics/people/swimmer_f/5.png b/graphics/event_objects/pics/people/swimmer_f/5.png deleted file mode 100644 index 5e19861cb78dbdd36ac7e6e565f5e9a4e675ce64..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 241 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ z$@g?|43U_6v~Q!}0R;|M&7epNm#`B|_g)t4Y7AI9_1ILMHIfRU3h6Vi{AAtJ{GXqp zZsK+$yJ=@uE89IWO0pA;a$J*=AZ+BWyL82A(~ygtK5V^;n~s{w>xY%{2T!SDnxLpu l%>S+NL|IFz`QAT8%)0r;f3i6l=K`%}@O1TaS?83{1OV0_SQY>P diff --git a/graphics/event_objects/pics/people/swimmer_f/6.png b/graphics/event_objects/pics/people/swimmer_f/6.png deleted file mode 100644 index c4b602391128fe166e03dd8cc72960acb7cda64d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 239 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ z$@O$`43U_6v~Q!}0R;|M%{4(5E@2(aOE#40-E>%!v$RlEJ)t3lQGab|9pn24hie<+ zpR7G|cGAz+F5P`TQ)WB4FACz#2|61n5E$#O9-4dL>VnO+7mN7}9Y j+8>PFe&Up1xnule9ixoAij}QEiy1s!{an^LB{Ts5tjt;o diff --git a/graphics/event_objects/pics/people/swimmer_f/7.png b/graphics/event_objects/pics/people/swimmer_f/7.png deleted file mode 100644 index beb17704a3e50aaccd50c2ad76590609ba2bd410..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 234 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ z$?$Y>43U_coFGw?a8*mgwpeY(QPbjQXC%2BdZs$Kxr@&*Og?rd(xL78nn>gHbB~e} z3SxFtJUtWY;M(`;)anCl43gbz8kB1MedhG~gzZgEsCd34Y0p2|6E5kK%il}LF-Ypv e@qgIO%1}2+b=tZwGv)y8WbkzLb6Mw<&;$Sz$62TV diff --git a/graphics/event_objects/pics/people/swimmer_f/8.png b/graphics/event_objects/pics/people/swimmer_f/8.png deleted file mode 100644 index db5588f7c1c9f4fadd65ddc6e595e13307949128..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 231 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ zN%eGb43U_coFGw?a8*mgwpeY(QPbjQXC%2BdZs$Kxr@&*Og?rd(xL78nn>e=JjYwR z!_URAhCI<&zbEUemYqTJMA3kj_njL%C!btZ&cpLQW=_bp{me6eoV)o%_DG*PA5YDX bJ4_5o@hZok*LiLPTFBt(>gTe~DWM4f{_9yF diff --git a/graphics/event_objects/pics/people/swimmer_m.png b/graphics/event_objects/pics/people/swimmer_m.png new file mode 100644 index 0000000000000000000000000000000000000000..25068830e11f2117cbab984155aa198781d1dc00 GIT binary patch literal 649 zcmV;40(Sk0P)er2o~l|HYKvlyiGQLI0$* z)oOc-K~j{(_F9X*5HV7;q+)w>K{+`X|Ns900013rp2q+H00Cl4M@0Xn2lB-L0004W zQchC$HjY7&EhP5&|TIM?!A`^2j00000NkvXXu0mjfC8rU0 literal 0 HcmV?d00001 diff --git a/graphics/event_objects/pics/people/swimmer_m/0.png b/graphics/event_objects/pics/people/swimmer_m/0.png deleted file mode 100644 index 51d63bb26c2630fd085dc8e32da40c479ea3b3fe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 239 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?mTbMz-`IHm=*=59jyz>#?w)jice($RhOXYm lL;gLDU5$$zDr@?f7=mtS#5CD0ss>uj;OXk;vd$@?2>|5RWv>7L diff --git a/graphics/event_objects/pics/people/swimmer_m/1.png b/graphics/event_objects/pics/people/swimmer_m/1.png deleted file mode 100644 index d1f9765582e124d2bc60e4840c3bdd3aeefc7e6c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 232 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?UU*|)mk0apO;`@5m5-^C>)JSg7D&7#LI5i#ZOy}i{*EFquYF$VmQ c4eVoL_zopr09M^v)c^nh diff --git a/graphics/event_objects/pics/people/swimmer_m/2.png b/graphics/event_objects/pics/people/swimmer_m/2.png deleted file mode 100644 index b4087efb5fc2a1a9481c005b25e2a0696f10d572..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 227 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?fS407_? zk7Zj99{=ESE$iy4qvEm>^IrV>ukru?BfS407_?W$?b+;}m;U{~%O^zQ-p&Z!OHpsq4;}b$t$E~ diff --git a/graphics/event_objects/pics/people/swimmer_m/5.png b/graphics/event_objects/pics/people/swimmer_m/5.png deleted file mode 100644 index d6be697b0e02fabe13aba82b86e11242a87efbad..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 244 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?vY){oSj>?(RKs{6ow8w|94ck8zl`zxw;T p&PmKC-ju(O=#gFUZC64eH$#x5F2AI9*-N1944$rjF6*2UngI8EV&4D& diff --git a/graphics/event_objects/pics/people/swimmer_m/6.png b/graphics/event_objects/pics/people/swimmer_m/6.png deleted file mode 100644 index cb2de823b883583631912d40320cc0f38e112023..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 245 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?fS407_?d#}J9B$q5oQ30GIKCRC-mAJ-8$Yg(MfS407_?iP7Y^@Ps%bA0bPzNvcDa9@|f XUQ<1aIacp0&@u*3S3j3^P6fS407_?MS4O1`Mc3*(4*dV0urPjgLxODw<0K|yyMIyo{3#nU zI8W7!#5_50AW8K{U|hjQX6D1`i~B#F`lj&qnA@pi3U6a{j~$caZs-v;4qrR#ChL`@ zPb}9KcL@bd-r bhL2&hppA^`+yqCU0~tJB{an^LB{Ts5>dbWN diff --git a/graphics/event_objects/pics/people/tate/1.png b/graphics/event_objects/pics/people/tate/1.png deleted file mode 100644 index ff1608cf2c4d09ba545fb787f219192db20c1e96..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 255 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?HW=`*1Ybz!G)rJ?$&hGJ4BE(U+LhwpaCd{0DC^l|bylAPrgnQv zCOQ9LU2tzj)ipVc!bISzlmn_8Oa;4^Dl&%srB zO1G?5A9I=FzW$Sq`ue1#ldkKYMx9ExP`2y0|M1_-cAK$vH_#yrp00i_>zopr0D*jE A%K!iX diff --git a/graphics/event_objects/pics/people/tate/2.png b/graphics/event_objects/pics/people/tate/2.png deleted file mode 100644 index 9fba8459dae59b24bacf988c1486b32bafe9627b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 267 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?E%==1;o#vMRiWzbbU~t}sSP`|x#9TNiPk__38s z<2%!l2>l<~M|ZO=xYghEKm04BWZx$zkOf9_zDyOn`JY|ta8gcA3X|E*qc000+sMObuGZ)S9NVRB^vM@&RePDdbiWpW@hE;Mn4q~QPn00?w&PDe*f zL^A*Y002sWDIWj;00d`2O+f$vv5yPer2o~l|HYKvlyiGQLI0$* z)oOc-K~j{(_F9X*5HV7;q+)w>K{+`X|Ns900013rp2q+H00Cl4M@0Xn2lB-L0004W zQchCkdPj?jmkCtUKwy8~R z>K|ncrTV`dDQ$wOuT9^#j|kQad#1INjY77L()ELYiiprtH+56Pm9C|3kW$vz4+0`0 z!XVbIlo|t?R${<)t*s&msE7zXnfYSOGlPSs#sKJCkQWdU6?!JqEvT!*1X>szvKL!V zH9izCpdu>tOs3C&Z9j>FwkHO@mmnabzl5I5?El`ISfjMbv%SgX)C>Y5qQXFC^6@y2 zf|5MHJTQZRiij|fnIg}N=tfrLS7>kol|B$jl}aM?WJVN)F!sHYEe0jW7dFTWASf1T zm9|6}_^tf-xw?RjE#%-}xje;%)CwR7X1p432+a>CTaJRcvuIs;-5kR9!OIAwz%uoqe3!U++9OFlc`7*q*SV$kfk z;)_V&`PPY0_%#v+j`+z-+&JP;$dmcp26+JyQDI>AgY$PQ;CIenukeWTx&3HWF94R7 zy$Dc7LQlr-Z|`qojz0ag^E+M&q^S7&HGOsmLKFk>ATU{F56C))?51=7gx$?*UEc|T n7cdt6!eiBu3)-`+8@zu2T({8T=!;XQ00000NkvXXu0mjfhB`!9 literal 0 HcmV?d00001 diff --git a/graphics/event_objects/pics/people/teala/0.png b/graphics/event_objects/pics/people/teala/0.png deleted file mode 100644 index 17315230685ba147676c183637a5c056f783b86e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 279 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?m1QL3yV zN0L-ISh{5!c#igea&llhthLzx*C~a+t9zzS={d+Fo}4Uhu=vi=r7}k%pAB>%gQu&X%Q~loCIDXdYeN74 diff --git a/graphics/event_objects/pics/people/teala/1.png b/graphics/event_objects/pics/people/teala/1.png deleted file mode 100644 index 2340f3262ff5d91770b6c67bd82885e996f27ada..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 247 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?5J4XQr`LI+LW1 zb~@8R9d?#x#zP4QjzzF8I@lBGAeF*?T}y!>GLS84NwdVtr%w|V*s3)IL>MIZxH~&1 r>ov%fJbyEHbAtG%xCeV1o)j>wJ7>3TcA&Qe&;bmdu6{1-oD!MfS407_?6E7VCI6%d+?x&x8x7W*S>tJ347wg*!b7TRW-AK!&w7 z{9Fuc(h2SLQLIT8ueJ3zF&Rem^oq}Hkl@if)_pLDM<*{-z%4S;q9t(AG`@{jJ(rru zfS407_?m1QL3yV zN0L-ISh{5!c#igea&llhthLzx*C~a+t9zzS=?Q22y1vNJtc=lc$EnzuQ;s~}Hk^97 zGStEJji;7d7OR6>Wap&G)m9yXuX2RAk~S=F+tJpvL}FcQ+tg;+W7W^}uB=RuVz^bJ V=ep3LDHG^822WQ%mvv4FO#qC9ZXy5x diff --git a/graphics/event_objects/pics/people/teala/4.png b/graphics/event_objects/pics/people/teala/4.png deleted file mode 100644 index 5b70939b2ece6c9897aee62c00e06756745546d9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 273 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?T0IVzt=1C{@;w zBT1?pEZwpVJV*OKIXSQ$)>`cU>y(4$y3k`@UdIyJx;Jj*o)P%&Q4pU|L1o0#FISip znr%Igdhj06&<-pr@@F@6n(OQ2$n))rz;%NOBF>dr8G1)j%g@I&?E0!Fz|64du%2W& Tv*t~p(-=Hm{an^LB{Ts54z+2s diff --git a/graphics/event_objects/pics/people/teala/5.png b/graphics/event_objects/pics/people/teala/5.png deleted file mode 100644 index fcba3579270a68fb76fbe05d05d8ad811dd59c4e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 245 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?qte2e!)aDHfXpE^p-C)_H`j=JWNx z?H}^JR{FNDR(885>NMd@+ZhFRBgcyzCN?!3`cAChxB^QA*rd1AuGN*AeM9VM&Ws=_ q-nSyjF>jBH9)EKD*XMQNd*!G7wlO~({EQE1J%gvKpUXO@geCy;`(WPy diff --git a/graphics/event_objects/pics/people/teala/6.png b/graphics/event_objects/pics/people/teala/6.png deleted file mode 100644 index 85a574bb88c80b97c4d2733ca309718137d4bb89..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 250 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?L7?wB$_S zcj9lE;IzYhsZ8v)Wq~4EGdvy|I%_$Bzw1u<*`G1I{ANp we>x+0mW*>x;io{4;+S9QU%%Vetz9DfS407_?6E7VCI6%d+?x&x8x7W*S>tJ347wg*!b7TRW-AK!&w7 z{9Fuc(h2SLQLIT8ueJ3zF&Rem^oq}Hkl@if)_pLDM<*{-!28sxLpu*Bsb;-oP4J!@ z;&u2SPx|&N0TTqOJ))#$9IV#W)&0Zd@hY$K=S*&a?Vs+YCNMBu)Yi8VxE%cm=q3hF LS3j3^P6fS407_?6E7VCI6%d+?x&x8x7W*S>tJ347wg*!b7TRW-AK!&w7 z{9Fuc(h2SLQLIT8ueJ3zF&Rem^oq}Hkl@if)_pLDM<*{-!28sxLpu*Bsb;-oP4J!@ z;&u2SPx|&N0TTqOJ))#$94ye))qT!1;hAmm_CIer2o~l|HYKvlyiGQLI0$* z)oOc-K~j{(_F9X*5HV7;q+)w>K{+`X|Ns900013rp2q+H00Cl4M@0Xn2lB-L0004W zQchC8ZB6u|K}2u=?902xYVmnd{Ss?aH;>C$%VWoigC z&3!m^?cxbW(sqb%?Ap)Jd&X09#y}OyE+r+|N7PV$QQl@+=)2D20f zz%`KSd{$ECPlalHR8>#1cZ%SX8;p4*=F=D)T;IKm)KTl;wWvx@r*0 z3Te>I9_geSFd-Avg@sqT-hn1#J;0imB~=3^WP)vHf#>;iX3c2OoWU;e16%=w1cY5J z+Go8sU|XMuArF}4(`yZw&BdMn%{Luz4h=wEcwch9erRjIEVp94+;qS>WP-YCV)Xp` zvl`X_#z0*Fn@17vcNaygE5KL*?uFR)YYVY~3&04dtNw0gv3?;uMR-EgRW}#b)~$ls o=>Tu+>W3jTZj80^!qWk$f08hnXR%<5OaK4?07*qoM6N<$f)DWc=>Px# literal 0 HcmV?d00001 diff --git a/graphics/event_objects/pics/people/tuber_f/0.png b/graphics/event_objects/pics/people/tuber_f/0.png deleted file mode 100644 index 34081dbadf998a8fa418135e3f2ccaa02c1189a7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 260 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUEk3&B|J5!3k50KarMTMB z@&A%7SF@_S9fPJE{T9`|SHLi6%aWw(Vn<6$iU0rq12xI!&N~jI7)yfuf*Bm1-ADs+ znmk<`LpWw8C+s-Qz~azU?*H!Y?(2T>2@m#GJwG#Z^F{}@_b>16{vNY~VamN)@s5U9 zdhbL<_ULk_#Ox{w3=0=O@xgT8lI)t+#zxnhH*efHa-y;EsLI)+s%LLDHZC;L(bd(L zS+PvV2@m#GrGJ0Bd7}f{`boFyt=akR{0B+W0b^rhX diff --git a/graphics/event_objects/pics/people/tuber_f/2.png b/graphics/event_objects/pics/people/tuber_f/2.png deleted file mode 100644 index d87de1307171f273b00408f0669aa6d68d89ce3d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 243 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUEk3&B|J5!3k50KarMTMB z@&A%7SF@_S9fPJE{T9`|SHLi6%aWw(Vn<6$iU0rq12xI!&N~jI7)yfuf*Bm1-ADs+ z3O!vMLpWw8ConYb7FW1(_j0wP$@`bKhUJbu*6C&Pk6AhI>@BY1_u%bb@Mh-bgtkXV zcPGT^xJ}nE_YuhsM m2A?#2efG;dJbHXQ9t;eRLo_1V1^7U|VDNPHb6Mw<&;$TJWnA6> diff --git a/graphics/event_objects/pics/people/tuber_f/3.png b/graphics/event_objects/pics/people/tuber_f/3.png deleted file mode 100644 index 17ffb88452bad726617f84f8d20bcfa9e1ca4b7c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 254 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUEk3&B|J5!3k50KarMTMB z@&A%7SF@_S9fPJE{T9`|SHLi6%aWw(Vn<6$iU0rq12xI!&N~jI7)yfuf*Bm1-ADs+ zYCK&WLpWw8Cp0wg4rnU(e|LBHb-(z89o1jY%`{F=)@Nw-dw*{)yGnie_gDocBfWQ` zB71bXQ(|_N1crr+pC~ZgwdVk0w2PbKpRL)U;{S#Q8#k z#iYK!%e0zsaGsddtT2X68}97bBa^hByMuwD@3+?MrANM51Kq*k>FVdQ&MBb@06zO_ AdH?_b diff --git a/graphics/event_objects/pics/people/tuber_f/4.png b/graphics/event_objects/pics/people/tuber_f/4.png deleted file mode 100644 index 9de7aa0ab2265e8995853c5d183e46175daa016e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 254 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUEk3&B|J5!3k50KarMTMB z@&A%7SF@_S9fPJE{T9`|SHLi6%aWw(Vn<6$iU0rq12xI!&N~jI7)yfuf*Bm1-ADs+ zYCK&WLpWw8Cp0wg4rnU(e|LBHb-(z82YaiYpP9LNqr<}8%gf*2D`r&L`&&=1$om5r4_FEHNP=u*}TN%&;gS!O*j~(6hKKAwh%J+xs*(`zlTD x-sIPi4kR%d9hcMyk(xGbnmAubu$a{McbQfb4$c#k onia;dX~Ufzdt{RKb9XQ>d_8FVO~ptl1!z5kr>mdKI;Vst0HZi#fdBvi diff --git a/graphics/event_objects/pics/people/tuber_f/6.png b/graphics/event_objects/pics/people/tuber_f/6.png deleted file mode 100644 index e026ea45d1fb1bfd30d6a22212bcc2ec168d89c7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 245 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUEk3&B|J5!3k50KarMTMB z@&A%7SF@_S9fPJE{T9`|SHLi6%aWw(Vn<6$iU0rq12xI!&N~jI7)yfuf*Bm1-ADs+ zialK%LpWw8Cp0wg4rnU(e|LBHb-(z82Yaj1zrWqQ(P824<=@}kD`r%wP5b`VSfO=a z`MG(P)vQN$R6jcxE71H@Pr!m9GgaX5iN?mGEGd1)0V_;&banM*RxHyod3X16i9)lj pu8GN7hLpt0orRWH81)=@7~XLje>1wU`v}l_22WQ%mvv4FO#tW`W2*oF diff --git a/graphics/event_objects/pics/people/tuber_f/7.png b/graphics/event_objects/pics/people/tuber_f/7.png deleted file mode 100644 index fbabc200d34a40ddbf8ab424cc86c40956aa56cf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 243 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUEk3&B|J5!3k50KarMTMB z@&A%7SF@_S9fPJE{T9`|SHLi6%aWw(Vn<6$iU0rq12xI!&N~jI7)yfuf*Bm1-ADs+ z3O!vMLpWw8Cpa*c>pQI2z5IJq#=XncNe7(D&%Lo@6WdY!{EOTKhVBJ#W^PVsdvtVn zf~t<&biGE&)N^X*$}dYw+_-#duFtyVq6Qn5w@sb$yj7H8sng?owya);8>Y9mEfa4j onK^y>bc=?bvciOd!~_P0OJ6mw|2ewe7ic+yr>mdKI;Vst0HkbW-T(jq diff --git a/graphics/event_objects/pics/people/tuber_f/8.png b/graphics/event_objects/pics/people/tuber_f/8.png deleted file mode 100644 index ad08f016b5d52e0655045b702bb4bc610a33a670..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 242 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUEk3&B|J5!3k50KarMTMB z@&A%7SF@_S9fPJE{T9`|SHLi6%aWw(Vn<6$iU0rq12xI!&N~jI7)yfuf*Bm1-ADs+ z3OrpLLpWw8Cpa*c>pQI2z5IJq#=XncNe7(D&%Lo@6WdY!{EOTKhVBJ#W^PVsdvtVn zf~t<&biGE&)N^X*$}dYw+_-#duFtyVq6Qn5w@sb$yj7H8sng?owya);8>Y9mEfa6> mDbd&0FJmx_kdcUykYKnZskw-+GjtcwZU#?RKbLh*2~7aK%U?49 diff --git a/graphics/event_objects/pics/people/tuber_m.png b/graphics/event_objects/pics/people/tuber_m.png new file mode 100644 index 0000000000000000000000000000000000000000..04a5b698ef728aa43539b7254dea5569dcddcefb GIT binary patch literal 526 zcmeAS@N?(olHy`uVBq!ia0vp^6M$HNg&9b4-*_Diq}WS5eO=ifaj^547~T}j`~ega zFL8}13C>R|DNig)WpMX#0UD!FmRh7>tY=c#y5u2H2}enRpF2>-7|3SuYS5GiQY`6? zzK#qG8~eHcB(ehe1_3@HuEj@}{J*;8|IsP;rW98@I{v?^aBq%4mLw;Z57ZR*tt1ghF(!GtyZm3u{^=-)QxfDC%;50sMjDW<>gnPbQZZ-k z#hh(@D0-?j{1AI?K|M3pDeQMbamxhKIati&r)%$ce#JG z>*Y>Yb3OY1lj)P^zr7YR{I`hu{WIG?He0^Ak>PySoV%LacTaTau)FBL^KJXjVww1J z3`Uzjbcs*?Y~R_qza}n5@}l&tKo>RkJiVL)yu3~BO$*|$hdgLHX1M6bgtSoc0_VI9 zPfeDV)Ez!?ro*DycUH>pP24*a&2JcKw%%CMqvE~xyJq*3CiSSWlwEmD(~e(I$l&yE zowEA(w2RIgcf^W@id*pRbo4fP_VakP#i)mxhFX5tlPg-5i9<4lGTeU84u_CWI0a==zLWS3_S)< LS3j3^P6>f literal 0 HcmV?d00001 diff --git a/graphics/event_objects/pics/people/tuber_m/0.png b/graphics/event_objects/pics/people/tuber_m/0.png deleted file mode 100644 index 3234397030c468ebeb569634a4e767677ddd55d1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 232 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUEk3&B|J5!3k50KarMTMB z@&8qYdvgS`EIFP9B^_ljOk$9jljN0UXlTeF@&EsSpr*KQC5b?au_VYZn8D%MjWi%9 z&C|s(gkxrMf&)|fIfs{bcOTT5ch{kSVdldvo}Ql3tVb-q1jex+DKPxEB>&B!0|yqp z$;rvddvf4F(xi8ff}XuOa3DZx+O%ond?CSNQor71T1_}OPfTi77=zI+8IA*G8!a|i cC|EKwEEksF__x%e185_Ir>mdKI;Vst06v*oWB>pF diff --git a/graphics/event_objects/pics/people/tuber_m/1.png b/graphics/event_objects/pics/people/tuber_m/1.png deleted file mode 100644 index dfce73bbcf55e95e9bc91689b3f76b8a363c1470..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 224 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUEk3&B|J5!3k50KarMTMB z@&8qYdvgS`EIFP9B^_ljOk$9jljN0UXlTeF@&EsSpr*KQC5b?au_VYZn8D%MjWm#$ zr;B3<$IRpe2d4CM4lnQSKBzPAu0sLC%!kZLGK_|P@9*tpKV!kn;=tC;)$#DjfdfgC zil3b^OlN0nyR>1;mOTXvW^KA~q1^v+BhR-j7cOjJnsD){1H-oNqm4%yPjWJB;MF|# Tpxgf_&?W{?S3j3^P6ap diff --git a/graphics/event_objects/pics/people/tuber_m/2.png b/graphics/event_objects/pics/people/tuber_m/2.png deleted file mode 100644 index 1b1de564f7a148116ee95014071bd2c6c2f990c8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 228 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUEk3&B|J5!3k50KarMTMB z@&8qYdvgS`EIFP9B^_ljOk$9jljN0UXlTeF@&EsSpr*KQC5b?au_VYZn8D%MjWi%9 z$_ZTdQiOhJhd%1%qTbY8k?2;Lcd-v>NNSfKryh)g$ Y@upJu4gEKEK-(BRUHx3vIVCg!0J{2C9{>OV diff --git a/graphics/event_objects/pics/people/tuber_m/3.png b/graphics/event_objects/pics/people/tuber_m/3.png deleted file mode 100644 index 39f37a19b04603ea9f1e16f73be6f15390620ee8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 230 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUEk3&B|J5!3k50KarMTMB z@&8qYdvgS`EIFP9B^_ljOk$9jljN0UXlTeF@&EsSpr*KQC5b?au_VYZn8D%MjWi%9 z#nZ(xgkxrM!U48(a~d!0E^m&s+1>bn!RT=2UQ<)ip6$%aBsCv#`?gh>^Ge aBg2Fa`N*~58f$>|F?hQAxvXbn!RT=2UQ<)ip6$%aBr1xwFvnO4x!l aHiiiu@{w-0s*VHgWAJqKb6Mw<&;$T0i(D!I diff --git a/graphics/event_objects/pics/people/tuber_m/5.png b/graphics/event_objects/pics/people/tuber_m/5.png deleted file mode 100644 index 690add8ad05995ce225d7457a50657692a98bf32..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 222 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUEk3&B|J5!3k50KarMTMB z@&8qYdvgS`EIFP9B^_ljOk$9jljN0UXlTeF@&EsSpr*KQC5b?au_VYZn8D%MjWi%9 z#?!?ygkxrM!U48(a~d!0E^m&s+1>bn!RRpi5eufIIrsKf^Uo+`<7nU!6BRgova#`~ z%JVZblh5(-@GMQt%&dIqV4Avc;rn^Zm?ht2E?k(&s<8NU@9EQu({?s+Fc`OL+J)@B R`V(jmgQu&X%Q~loCIFVDQ=bn!RRpi5eufIIrsKf^Uo+`<7nU!6BRgova#`~ z%JVZblh5(-@GMQt%&dIqV4Avc;rn^Zm?ht2E?k(&s<8O<>E6=|x9wsuWH4^kw7Wie Rrzg-J22WQ%mvv4FO#qr>Q+faZ diff --git a/graphics/event_objects/pics/people/tuber_m/7.png b/graphics/event_objects/pics/people/tuber_m/7.png deleted file mode 100644 index d8c7b98cf73dc021431d67c417d431370b24f91c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 231 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUEk3&B|J5!3k50KarMTMB z@&8qYdvgS`EIFP9B^_ljOk$9jljN0UXlTeF@&EsSpr*KQC5b?au_VYZn8D%MjWi%9 z)zif>gkxrM!U48(a~d!0E^m&s*8T+R|YP4nj}@GL!l&W_c=ZRY0A z^BYUp*uHHMQJ-v_$;$I)Wuj(YWun8*O&2bd`!@#hym1J#@-XbKtgP&0KEWr>&L+;r Z#t`J7?EZ(p*cNCZgQu&X%Q~loCIB%iQX>EW diff --git a/graphics/event_objects/pics/people/tuber_m/8.png b/graphics/event_objects/pics/people/tuber_m/8.png deleted file mode 100644 index 4ec4b5599693acc24572b3196bd651eee043701f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 231 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUEk3&B|J5!3k50KarMTMB z@&8qYdvgS`EIFP9B^_ljOk$9jljN0UXlTeF@&EsSpr*KQC5b?au_VYZn8D%MjWi%9 z)zif>gkxrM!U48(a~d!0E^m&s*8T+R|YP4nj}@GL!l&W_c=ZRY0A z^BYUp*uHHMQJ-v_$;$I)Wuj(YWun8*O&2bd`!@#hym1J#@-S?!uB_b1+;Q;Hfd_{U aFfatBC=0o*_Voo?$l&Sf=d#Wzp$Pz*%vLi1 diff --git a/graphics/event_objects/pics/people/tuber_m_swimming.png b/graphics/event_objects/pics/people/tuber_m_swimming.png new file mode 100644 index 0000000000000000000000000000000000000000..6cdeded89eb7e347273ba0d524bfe8a237e3c6ae GIT binary patch literal 530 zcmeAS@N?(olHy`uVBq!ia0vp^6M$HNg&9b4-*_Diq}WS5eO=ifaj^54DKt*k?f?pj zm$*ih1m~xflqVLYGPwJ=0F6;7OD$3`)-x$=UGfm9grlUu&mAaZ3}iESHE7BMDVB6c zUq=Rpjs4tz5?O(Kg8-ip*W#l~{$Jhl|LBx^Q;Mq{9sgfdxHm^2%aY?+P|{Hb!z2cY zIZ0kwhK7a=6951I2WpD@R+0#$7?Zr+UH&g+|8x|@DGBlmW^j0RBMr#b^mK6yshG3& zoW1v92Z`e!({}{QY3yTAe7j6xMnkqoQ}DH8<^h*oogCkA7u&WgT{?RB`Uf2=xs3Y_ z<#*<9n;sMJVVb{}-u`^Xe;+vv-^?$!5O;QC7WCg?HJkaqMg6@VmZWcOeMev9OMiLz zNYnFNI>Xj|A6CWr_#JO+uf6W9AD=E><)Ob?(d?$^E2ff$JxC$$6x~1^b;PkZ6t$M}N z?s9L`EzS{lRl6lR+ipg~<+ei$#N}sidz*K%`npcuuC{NDj{_u1m}<^F|FrnE=GhHB znay!ur(c;a`_;wR!%#7#R&%MEiO`2vt$uP6wi6q~mrRM1iT-s~@%snnIno8*Y7_Qa Q14EF()78&qol`;+0Iy%t$^ZZW literal 0 HcmV?d00001 diff --git a/graphics/event_objects/pics/people/tuber_m_swimming/0.png b/graphics/event_objects/pics/people/tuber_m_swimming/0.png deleted file mode 100644 index c6ba83d875c0cb3a305da63c4d35308c8db56005..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 228 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUEk3&B|J5!3k50KarMTMB z@&8qYdvgS`EIFP9B^_ljOk$9jljN0UXlTeF@&EsSpr*KQC5b?au_VYZn8D%MjWi%9 z$&B!0|yqp z$;rvddvf4F(xi8ff}XuOa3EZ2+O%on{~8(}MrOR&y}Z)lXpKYIJ?04)Yu?|pO*p{B XAoxM4I@AT|9w6{^^>bP0l+XkKax+}& diff --git a/graphics/event_objects/pics/people/tuber_m_swimming/1.png b/graphics/event_objects/pics/people/tuber_m_swimming/1.png deleted file mode 100644 index 85eb426507d01aa3b901622639953cd16a2cc3a1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 221 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUEk3&B|J5!3k50KarMTMB z@&8qYdvgS`EIFP9B^_ljOk$9jljN0UXlTeF@&EsSpr*KQC5b?au_VYZn8D%MjWi%9 z+SA1`gkxrMf&)|fIfs{bcOTT5ch{kSVdg{TBpF6SzxVg{vY)YFW^rKa=IVI(1xrUx+)!*MSGK(=VNWIdTFys7# Rt3YcQJYD@<);T3K0RUN0Q}_S? diff --git a/graphics/event_objects/pics/people/tuber_m_swimming/2.png b/graphics/event_objects/pics/people/tuber_m_swimming/2.png deleted file mode 100644 index 1cca717b013eb12b7f9b04f7c0da63f1a4962abc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 228 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUEk3&B|J5!3k50KarMTMB z@&8qYdvgS`EIFP9B^_ljOk$9jljN0UXlTeF@&EsSpr*KQC5b?au_VYZn8D%MjWi%9 z$&H)mK5(NLeVM)}eE&Ha)V03DZ zZ%yA)V}lP%ms-r6Nw2i^j)z4*}Q$iB}rrTAI diff --git a/graphics/event_objects/pics/people/tuber_m_swimming/3.png b/graphics/event_objects/pics/people/tuber_m_swimming/3.png deleted file mode 100644 index 253d75ed0ee34b3d3bdeab4d49cab2b27f0e3d56..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 230 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUEk3&B|J5!3k50KarMTMB z@&8qYdvgS`EIFP9B^_ljOk$9jljN0UXlTeF@&EsSpr*KQC5b?au_VYZn8D%MjWi%9 z#nZ(xgkxrM!U48(a~d!0E^m&s+1>bnLFjSgWi?gRT+sy`mlyVbveK&IsnI(&|4VPI zoWTYSacSw<(v}7rW-QsgV~VAQDwoUi;RyU*= ZGi+~HOSZN&jt1Jt;OXk;vd$@?2>?w;Rf7Nk diff --git a/graphics/event_objects/pics/people/tuber_m_swimming/4.png b/graphics/event_objects/pics/people/tuber_m_swimming/4.png deleted file mode 100644 index d64c9033f14edce69e20a0102a81b5eb072474dc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 232 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUEk3&B|J5!3k50KarMTMB z@&8qYdvgS`EIFP9B^_ljOk$9jljN0UXlTeF@&EsSpr*KQC5b?au_VYZn8D%MjWi%9 z&C|s(gkxrM!U48(a~d!0E^m&gvDw}DfMEh_x3 z##2V-?xKwwH}0Is%-rp{tJ{0#X6D1YFKyVeWzUClo|^Mc&i8H4Rv%zUYs^r1eRnsz chZ!@&DqFQ={SS{00c~XPboFyt=akR{0O(CyKL7v# diff --git a/graphics/event_objects/pics/people/tuber_m_swimming/5.png b/graphics/event_objects/pics/people/tuber_m_swimming/5.png deleted file mode 100644 index 2a8e7d67dee89b808df02186defde68d36d5ffbb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 225 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUEk3&B|J5!3k50KarMTMB z@&8qYdvgS`EIFP9B^_ljOk$9jljN0UXlTeF@&EsSpr*KQC5b?au_VYZn8D%MjWi%9 z-qXb~gkxrM!U48(a~d!0E^m&s+1>bnLFjQKe@7vU#-rk@@9%8ge@OhOImd8tB0G)&V(@hJb6Mw<&;$TL>RBNG diff --git a/graphics/event_objects/pics/people/tuber_m_swimming/7.png b/graphics/event_objects/pics/people/tuber_m_swimming/7.png deleted file mode 100644 index 7a203920fd787b2d346e284fa4c8e5ecad5ed71a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 228 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUEk3&B|J5!3k50KarMTMB z@&8qYdvgS`EIFP9B^_ljOk$9jljN0UXlTeF@&EsSpr*KQC5b?au_VYZn8D%MjWi%9 z$zopr09hbhs{jB1 diff --git a/graphics/event_objects/pics/people/tuber_m_swimming/8.png b/graphics/event_objects/pics/people/tuber_m_swimming/8.png deleted file mode 100644 index 321f8acca3fc3ade841374376b98fad7a78dfae3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 235 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUEk3&B|J5!3k50KarMTMB z@&8qYdvgS`EIFP9B^_ljOk$9jljN0UXlTeF@&EsSpr*KQC5b?au_VYZn8D%MjWi%9 z)6>N}Qj3{$Jhc-Zc=LJ}p60GTe&BgTe~DWM4fyKP%@ diff --git a/graphics/event_objects/pics/people/union_room_attendant.png b/graphics/event_objects/pics/people/union_room_attendant.png new file mode 100644 index 0000000000000000000000000000000000000000..00c76cc7c9fec81710eca64c53efbe7ed1beaab2 GIT binary patch literal 566 zcmV-60?GY}P)er2o~l|HYKvlyiGQLCwwH zoSeN%N_%s?06}{I5IF$NVoH=bDN+ys|Ns90001$F0&@TW00Cl4M@0Xn2lB-L0004W zQchCuKTE?v7>D1XP{?v0p^$Dag6S8q1_}=CR0M~**-ZsC z*{*BjCrB~{K``&q?1zdH`C8+mM>i_@%07*qoM6N<$ Ef;P_X6#xJL literal 0 HcmV?d00001 diff --git a/graphics/event_objects/pics/people/union_room_attendant/0.png b/graphics/event_objects/pics/people/union_room_attendant/0.png deleted file mode 100644 index cfccc0049a36261c63a1543b1dbced4183af0047..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 299 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p zv(nSWF+^f&a>4?|1buyd2IE)v_Ez(y>C}GL<8moJ%f%bJli@^!r7%YtqolS&kKO{G z^yjNWjni}z9?aV5<(YZ)3@gu{&0@7vu1EcBY^>jV(Y^9%yh7W?Ns|maHlDh9<3`F= zcDA;7RXx3TuN$BJ>DTtI|0RFo!TM^s?=l*P1E&2uv0g{^$O>(gTe~DWM4fTUmRu diff --git a/graphics/event_objects/pics/people/union_room_attendant/1.png b/graphics/event_objects/pics/people/union_room_attendant/1.png deleted file mode 100644 index 6790d092e0a41f45e6b488936ae27e9087f859b6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 268 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p z)8*;n7$Pxs>v=^!CPyCD3syot{o5ufKVV=kT`cKm5W7_&o(;u`Xw zseYck&87Z~+mkDW^Pb1HuZ-Fg?W*=bP@=K=LEHREq2BWXG=I(tOnO`RC|=Sa!$kd; z#HS^q77q;f%-kwbzjEzT+YfeEzF4uTgmP}Uq7t|)HKJ{wqV?}rE&7Y|ym{C^+sy*H Oiow&>&t;ucLK6VS;b>z3 diff --git a/graphics/event_objects/pics/people/union_room_attendant/2.png b/graphics/event_objects/pics/people/union_room_attendant/2.png deleted file mode 100644 index 38fb1eb74af95d48b92d423531d33e8084e43279..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 268 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p z)8*;n7$Pw>IbngKhJM3^H}B)tHW{WhMZQ_6oqjHcA%$V(Oyk`PdL$LvuCMBooU34| zzBJVMV3*9(tqq&x8BXG{$JquzyJMjSQ(U$*!~GT!zluE O6@#a%pUXO@geCyc-)cty diff --git a/graphics/event_objects/pics/people/unused_woman.png b/graphics/event_objects/pics/people/unused_woman.png new file mode 100644 index 0000000000000000000000000000000000000000..393d38ddc9a674b19aa3ba9200651905eefa4e99 GIT binary patch literal 826 zcmV-A1I7G_P)er2o~l|HYKvlyiGQLI0$* z)oOc-K~j{(_F9X*5HV7;q+)w>K{+`X|Ns900013rp2q+H00Cl4M@0Xn2lB-L0004W zQchCfL+MU@g5X`oo$AVXDeO*;@K zivK_-RasbkCawfs;#VV;On@;Y%@pT&&sW>YH5C$bZpi1K{qFbK7l8Fzul4%JLR_MO z82n$45LpAdL(F*OtBNT$(F@P7FJ>g?1&_%j1ry)Mn zYL7%<&{5D~P*E)ubex4i6WtT$H1P8G)+Po<%7+@!z}92rqFkVfbYVfj#-H8#XMmKp zV+63jTfcmklmbnp3k$-x=Js~;HNY<}ngdjt&Bl|jrQj74OOYll2v=6KX`KOFOGNpT zZcv_MDbPi_un-?~Ez5p`=zo#&IHZQk!CNB?V0tIWL{2Hvg*lCJM|>K!f{myX$D{ND z!0pDT=tmI?-XVTurfDv^C(KD3&cE~EtQ*JnfCkQwubnh9BNE)q0%NfELyXcS6Wyd2 z8`0j9kobPYG_UNVqwZOf6QDX9*fPN>2~Ox_qgxU=NI8xV`Lmvq&|zT*Nl3&|#tFYk zyCnTDkxjoKyPZTB%tIhW(R=vFn+a literal 0 HcmV?d00001 diff --git a/graphics/event_objects/pics/people/unused_woman/0.png b/graphics/event_objects/pics/people/unused_woman/0.png deleted file mode 100644 index 01ba70b565146f29cca82e737d7c96da3048b7d9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 295 zcmV+?0oeYDP)8IuY0000mP)t-sbH$|p z)wKV`l-`tcdqF|}q_ov)dy7F*l*RU1i@gvrQnaLEdvifKIT-){{{R309c`Y+00001 zbW%=J06^y0W&i*HrAb6VR2Y?GV4w@QdlyQdIRj?#-o117?gfy*p0jsOgM@DHzH@f> zUZBkBJ%WO#_grA$J#$b{Q05Gfarfd!d0CL^yGEb%m9GF5KQUHPGWG*9uDKW+yW|38 z+)`a!!cy)s@P3XvbMC4A1%~_gQ}?|N`}>!H|5{jRXlm{U28J)G@7{&^19kC#R&lcb t0Al002ovPDHLkV1gKMhVB3W diff --git a/graphics/event_objects/pics/people/unused_woman/1.png b/graphics/event_objects/pics/people/unused_woman/1.png deleted file mode 100644 index 78534f0dc2feb202d0b23e777133b62d517618ad..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 281 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?c7eQ=>XoL7SJV}2SFT=V>9%NRN!g7{=f9Q-a~lOYoK)Xmvtn_d ceSbZ}j>_o5daf`|pc5H9UHx3vIVCg!08l(}1ONa4 diff --git a/graphics/event_objects/pics/people/unused_woman/2.png b/graphics/event_objects/pics/people/unused_woman/2.png deleted file mode 100644 index b42a12532bd46b15adf1c670f15cd7faaa774067..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 272 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?e;qx!|jF&q)m6yNYx4T+@LgBM-?~J!Q7WHka zJ~wACcM``v%VO~}6Rz*&PP2Ha9lzx-L&^pTY3Z3Z43bZha{lnE96j)8+OcZ(lt=Hb zlyjClvc2uzJN^H6y9o!sJ+HY@Kf$bR|M$ZRe4qY*Vm$PNe`3Oe{lDe)n%)#K6v;T0 UeRa6>2k0^ePgg&ebxsLQ0BVkTg8%>k diff --git a/graphics/event_objects/pics/people/unused_woman/3.png b/graphics/event_objects/pics/people/unused_woman/3.png deleted file mode 100644 index c66653c1739d17f7361f08d074063dbb4f69aac3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 288 zcmV+*0pI?KP)8IuY0000mP)t-sbH$|p z)wKV`l-`tcdqF|}q_ov)dy7F*l*RU1i@gvrQnaLEdvifKIT-){{{R309c`Y+00001 zbW%=J06^y0W&i*Ho=HSOR2Y?GV4yF!dlyQdIRj?#-o117?gfy*p0jsOgM@DHzH@f> zUZBkBJ%WO#_grA$J#$b{Q05Gfarfd!d0CL^yGEb%m9GF5KQUHPGWG*9zPT71yW}!3 z+`pgd;u4l~mx2F&+?jKa|6E|W`z>|f>-fJwquIhjL;v0fDrQN2_YTZp_+sSZ{{h7K m|NlRjX5hd30qWHMAOZmIA4bJ&B`WOz0000fS407_?ZE9Nn zJtpCSZE-+Az%!l+h2I~!S4K|AieK#i>y*M#|DLH+dj2-_Wa}L}ruWk!xo_#N9W8(V zo<2~0@7>v%%j@k8?(F?vdjIu?ngy@+e|L5c7M5`6DSv-Rrh(_5zTT;S3Ew{e-6{Xb i=-+Pn1$nHT3=Ai=U2{In$SMQ6lfl!~&t;ucLK6VnKZF|q diff --git a/graphics/event_objects/pics/people/unused_woman/5.png b/graphics/event_objects/pics/people/unused_woman/5.png deleted file mode 100644 index e27f0760f813b0117c8acc15eccab404a3e7eb0f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 275 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?DQ6H57$-oIIS)@RjFY<>AdRmy^pp&UASspSyto8n-1^KmYGY1l)lbP0l+XkKIK+1I diff --git a/graphics/event_objects/pics/people/unused_woman/6.png b/graphics/event_objects/pics/people/unused_woman/6.png deleted file mode 100644 index 53102c01ee3d90a41e10bc8fca3b6ba39fbdf752..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 277 zcmV+w0qXvVP)8IuY0000mP)t-sbH$|p z)wKV`l-`tcdqF|}q_ov)dy7F*l*RU1i@gvrQnaLEdvifKIT-){{{R309c`Y+00001 zbW%=J06^y0W&i*HlSxEDR2Y@L&LIv0F%SjN9)L{`!5Odwfk!Ql1cT;)-A(X2P1c~c zpDH8;0k|^!E_(*X%**7b{l@%vfN8s7RMoYv>50&}q45RMIw7hc62$kWf^a}&3X$my zPGtCA@F6Y==#B6Cv+6Fu%;GYoYd#t1BBkw-zvXvbANCCA7cVQqKG*Zj*vG2subIVT b>RJw81cFszxVZgb00000NkvXXu0mjf-p6@D diff --git a/graphics/event_objects/pics/people/unused_woman/7.png b/graphics/event_objects/pics/people/unused_woman/7.png deleted file mode 100644 index 3d2d436c2e641ab310334b7a6f605f2a9d977bc4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 278 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?fS407_?2fitQV<8-UJZ@O1TaS?83{1ONdWdp7_8 diff --git a/graphics/event_objects/pics/people/wallace.png b/graphics/event_objects/pics/people/wallace.png new file mode 100644 index 0000000000000000000000000000000000000000..aec7c5c06e8f0dff7a83c74c7e77bedadb499010 GIT binary patch literal 911 zcmV;A191F_P) z6Bjc3eguF3000+sMObuGZ)S9NVRB^vM@&RePDdbiWpW@hE;Mn4q~QPn00?w&PDe*f zL^A*Y002sWDIWj;00d`2O+f$vv5yPer2o~l|HYKvlyiGQL28Sv zIZ9#(5Fpiaq@+P}QXoOq)zyoOltDpK|Ns90001r;H4;QQW@sGRG9aX4GenJ| zCU%DilvW@*Wnwr$&BQ=ZTQPJ1_8=tV>{UVXQq+<-TiR3>mfF9d@15fd9JE8nino0C ze0RUk_V561>$d*W^02Pb{kNQE5cu9D2Em1Uv*2c7pGv^XRhk6f5T$ba5cKD!MKV3CeN%P;Zo75p9??eJwBnt&&7?jkF$+%5F(JsIgwq^S?638N1C^%Fc z9T_q8!cg1BI-SFypQg3wMgm!MO&HNA-v2e0HcjJM`{d;Gvk958RML1cCj^p6777+h zYAU5#@q)GJd1qD}VyZf^S}6#DB$9=KFs!NSbOmW)Ap!eUu!KMo$wEO`@incvfXrJ~ z7YVW1>UYGWNKjH$Z5jK%hzpm6P;l7Ht7_M%44Zlo=mwsAc}K^*SegVViW8qt#wJKa zJ+U|`gb`zD{pkap4(eERpdU2B1pr)Bqy%Gd7jb1JHftc?S;dN$w7ZFFn{3yV~EQ;up@c#TbKqiX|>=Rq575-_} zh13i&vB}ucF0of5LSpSPN2B*Xy!fM*qkR;GJqodJZ>h6;^qj4!PiT%PY<-)#1L6*& zAlN&qJM>Rm_00|5H`jNl-{1DBZ`U=(aM58*d&`45PK)M=^2uo((}Rxh@R9e0y$eU* zSN4Vnu^lc*?9+WvJ|66`3kupeI0;9pt9X~Ggp(9JzdyT`X1H%hz0Lb`NCdc0db{BL lb(kw+yFZkrK3bgf8IuY0000mP)t-sbH$|p z)wKV`l-`tcdqF{Ji>x_HVh9i*)pMkzL32_dLDkjOi;I*&K~n$!{{R30E*dwM00001 zbW%=J06^y0W&i*Hw@E}nR2Y?GV4xwm3j|<#-@A9Ofh^v4U~qxq_PgD?w`ITE%W!-5 z-n*$`yZ18i?zyuqbZhnn28J|6!PMw91_l-&Lo77Rfq^wyMNlv`G=U*3+31tLT52jo zLW;4Hl5rXv0|UE@v9VhL(2CO6E-w4RfdZ*<#>P*>3K&?_LW501lN=aW%tGUyh9)~O zFnDc!(HFf0sF`_IDG5SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p zGs)A%F+^f&a>4?|9o#GlRrhz7uW!_eQ{YXBP1y05kLO!bVv6&XoaBVtyqC6GH#UAf zm#1JMeLz60`uUleo5O=8g)SAnzqfbVv111g%wuC=bHfGi!=lgrPd9@P~ z47pjGQrKCV4`yfIx%@)a;b_cV{aSO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p z)8pyl7$Pw>Ibng~j_U7BEp^}D>2@6b{Z6(8NJPp_U=`UlU5ZVFnJbq2E|}1VuU5=^y0=>VCN~4SwN=Fq%N^!G PcQJUn`njxgN@xNAy&h^* diff --git a/graphics/event_objects/pics/people/wallace/3.png b/graphics/event_objects/pics/people/wallace/3.png deleted file mode 100644 index 56773b97d8d4d6ef781aad7b463b2cac3a51537b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 301 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p zv)a?eF+^f&a>4@k9o#GlRrhz7uW!`3SDsMN`0(5AySuli?!SGyp!)m0-76D!e>eK@ zZs%s*lI(A+Y;7j42d}&^VPg|haMm$7)7WSl=^9{QYSO5vbMwXIeNkCj&Q4t$Crv7p zl4fq+-Mw*RG-JTVTiN2%YdIa-BIj)Uc-dgV(!7NSmo3zDV2jSUb6G%Cp*j0?ccr45 x0{hw&kzhmtPj(5&ri`&r6`09ZDYK9}GmOy7Sc)I$ztaD0e0swvQde#5{ diff --git a/graphics/event_objects/pics/people/wallace/4.png b/graphics/event_objects/pics/people/wallace/4.png deleted file mode 100644 index 6281a56eff0a341e6f0840ceb1df5e9d1cb81a4c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 303 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p zv)0qaF+^f&a>4@k9o#GlRrhz7uW!`3SDsMN`0(5AySuli?!SGyp!)m0-76D!e>eK@ zZs%s*lI(A+Y;7j42d}&^VPg|haMm$7)7WSl=^9{QYSO5vbMwXIeNkCj&Q4t$Crv7p zl4fSE?%KG~oAUzKw(EL&zbDB^NCZ9Z>7B2}EUCBf;If694w~xMcPw|f%foYSo&N7d z;tY~H+tbU+8)HvYZ(c0^DC}NsdEz=YD<+0tlkM}@n1)9K9nRqC>gTe~DWM4f@?v^- diff --git a/graphics/event_objects/pics/people/wallace/5.png b/graphics/event_objects/pics/people/wallace/5.png deleted file mode 100644 index 5f61598d9e16494a34f03b838fe9bb758d138dfc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 269 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p z)9vZv7$Pw>Ibi|&4sMo&s{6ak*Ej0KDe$JmChYjj$MY>IF~#{xPIAI+-b-7p8yml# z%TutBJ|G}g{rt?#&Edh4LYIo(-`hLw*s%i-=CQG`^6==S6=r7o3p?~&D1Yzd+%Rod zD^nx)goA8LoP8R2)~zk{KgiQ2`r9hqvO!XIvzWu2UB8)*oZXWk&dgA)5URFs#_>#` Pvlu*G{an^LB{Ts5G-_xZ diff --git a/graphics/event_objects/pics/people/wallace/6.png b/graphics/event_objects/pics/people/wallace/6.png deleted file mode 100644 index 1abba4e1bfe167ab4089218cd649f59a72ae1879..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 270 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p z)8pyl7$Pw>Ibi|&4sMo&s{6ak*Ej0KDe$JmChYjj$MY>IF~#{xPIAI+-b-7p8yml# z%TutBJ|G}g{rt?#&Edh4LYIo(-`hLw*s%i#=CQG;I%wZ`bm`JOHERQd9c}xn#krDp zv@khx1)RDmdcuRj_|ZH!eFme5uyYl6S<4i!pW@?aZY=*EJ7cxJfdKSO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p zGu_k0F+^f&a>4@k9o65NTI#;P)9pC=`<-kHkcgC+tAo}^u~=fdlVQ~+&_9_#~el86A2$z zSMzOK6JTN@bEu%zV8=3zsZC4Y`51nS-pFud#>-0=FR~V0I2o#KSO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p zGr`lvF+^f&a>4@k9o65NTI#;P)9pC=`<-kHkcgC+tAo}^u~=fdlVQ~+&_9_#~el86A2$z zSMzOK6JTN@Gc{0r-4oVDJFTL6Y#rb2xPI}W5&NMRQKf8eHi>gfylWD@&or4KMc6j+ UsDer2o~l|HYKvlyiGQLI0$* z)oOc-K~j{(_F9X*5HV7;q+)w>K{+`X|Ns900013rp2q+H00Cl4M@0Xn2lB-L0004W zQchC1t=?i%bAGG*x*LN}+@P}8Enr6fzU zWGXaXM4^T%DHyL-Gj__ElG!>H*|Ux;g2>Q{{sYB*@ASj+xmh}N@>@Q9b??2;Nd^P# zYFE4ZUnQlC0Gfz;{)at6NR1+@FWeMu3kx>me6Tq!D7F_rL?tX4FsupwBB~2ZO4*9(vN8@hHb{_jJd)8`uqoOW7Q{u?JPz@L zkqN)!@#0X#VN?k;kuI!g9Jc0`wdgjbYLDR9+K;KP5^RceVMXXYn_K%GfZx<~2egQO z;8LKAbYVp>SnCPv0_@?YyI+*qqEi#-B28Ek9w&@BACN07B-o7A1-eKVmIOOZ9M=Zu zd#lx8NE@7=Q7QP?HJ;Z+lr>=`ZoeFO@7maqU0h^6RC|fD#DftDXpp$1yjtZMxm*iN z8q7)Egmn#;VbME`UOc6~Pj3gFi#P121MmGA=5rJ!m{E9-8NAG za_NuNRRc~pgCO5eSrA2@agmtO+_eb!6&*~*rlLPKeWL06`5%|5M4&V(iy0x;f%*A1 u@At=z%VOf8n&cB#WzKJE7E`rhJop2?{a`a!*2&xe0000fS407_?eVfgYvSUxhqwCL^ zrUZU^G3Vldp4M99M&*Q%AwPZ+o!^R}goc(>>)!pI^GFyrm euj{CMXJUA%fS407_?JRiQi*imY{qJG^AR1y{)V#{i<;iMg?u*$M3Wbh5h-_r|cGNMQ>Biqja%bj5 z1%93!k@CzT$KUdOpVCpQt+}_Z1ch|2%$j)Y!iMz9-S6eaoj=qWOsTTXPG|obd-H$H aA2t)W;C;KrChG$o$l&Sf=d#Wzp$Pz!O>+tW diff --git a/graphics/event_objects/pics/people/wally/2.png b/graphics/event_objects/pics/people/wally/2.png deleted file mode 100644 index ed32f1f4108825e1a132c4fadcb6f2352b135b98..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 255 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?(Mp_c_3}OG3K&Y+}O4YHqQF86S_lSDj&a-jnrI zfmx$L#kPv~jRs}!?HJP5%-Na6IOE{fEYVHXjETaQZj)PW_<;^#@O1TaS?83{1OUq1 BWsd*= diff --git a/graphics/event_objects/pics/people/wally/3.png b/graphics/event_objects/pics/people/wally/3.png deleted file mode 100644 index 5d2213b2c2a6d89f6900eb4be56fe07ee777637b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 273 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?fJ@MmiG){L=DsSkyobJdZe*TSJ@i(S`rH^Dc zXel^Wr7~ zFx+33M8Rr>mdKI;Vst0L=e#Gynhq diff --git a/graphics/event_objects/pics/people/wally/4.png b/graphics/event_objects/pics/people/wally/4.png deleted file mode 100644 index af996a72a85384d01737188fdaad20050afe2f25..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 272 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?fJ@MmiG){L=DsSkyobJdZe*TSJ@i(S`rH^Dc zXel^ zaO$(`^PX>B6J$TfeGy&hEP3>q!m*v=wdc7VdM@w&F2k@p`|CSa0rsM^OcNQ}nQZ?R TUFQ4^bQy!EtDnm{r-UW|Y<6;Z diff --git a/graphics/event_objects/pics/people/wally/5.png b/graphics/event_objects/pics/people/wally/5.png deleted file mode 100644 index de23077cee319842becf5b82f9769181557eb146..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 270 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?E~h?jNUQ4G)`}1DleOFS^Mk_YuoN} zzxQlicT#s$i>t6+Il-NDcQ1FyU-67{cYiy?{&BeWm*0WydA-7nHwO+Fyg&N?f33o? zFT48s%KaOHTwlGvx0mH+XbxZMhUc@n7KUXx?#dPLoy9RVFqzh7VzWB8u}@ RiUQrm;OXk;vd$@?2>=BFa-skL diff --git a/graphics/event_objects/pics/people/wally/6.png b/graphics/event_objects/pics/people/wally/6.png deleted file mode 100644 index 42397e95e390638ab361c4b41cc53e95a4a17a70..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 271 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?E~h?jNUQ4G)`}1DleOFS^Mk_YuoN} zzxQlicT#s$i>t6+Il-NDcQ1FyU-67{cYiy?{&BeWm!F46XWIY91g4IUkN*GPH{C(= ze7UUbd2PqCGu7YMdB~p9Fk?47xA#SL97EEan|q%#+_23)r_*53lP%i8!f2Y)b diff --git a/graphics/event_objects/pics/people/wally/7.png b/graphics/event_objects/pics/people/wally/7.png deleted file mode 100644 index 46dbdfa3b895a04e28f0332333dcfa53521d7346..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 258 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?fJ@^MqJBT-hftSfBqNi7XW&>}Dp&8rk!v`LH7t=Xl@ObWNZ-eA}!m9oP zXScrZ+{oXtvFN+pbYpIX9^>T>JnL?fS407_?fJ@^MqJBT-hftSfBqNi7XW&>}Dp&8rk!v`LH7t=XlaQNw6Z-eBnN%Aue znjXFJ{wbrt*g+{E;y@as}uh22WQ% Jmvv4FO#s%%YDNG6 diff --git a/graphics/event_objects/pics/people/wattson/0.png b/graphics/event_objects/pics/people/wattson/0.png deleted file mode 100644 index 28eaa1bf23f16ce8c6f9587ff459ea714109af32..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 294 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ zS>oy97$Pw>Ibnh3kN=ELpZ7N##l$Fl5m!~M-*6<^RndCFo&D}jO;zt3dy3tfnoi|A zD7kexopKNqlT=n!ecH^&qhsYZ|I1WqcaL9cRGZ$~wzREDV$aHlOB2N% pdM>BGf5T`f@hoy97$Pw>Ibnh3kN=ELpZ7N#{h8BW+3waixN~o_G>6~& z)E%{KM=Ul^e|Ro(!j-w3dG<^%DSKabY43pp0XfCbdNy-jcrq(_;X=)K4s7{RRgt$? q1sGyPT43U_coUp*~$A3nz{mh0DF){b{vS0M`@=9QIS5#HCR%mt&5I9l6pTwbgb1(C$ zjT)Mo`SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p zv&7TIF+^f&a>4>`4Sn{B#_Chr+olztOL_2OkCc>@_2S0FwBvU!T$n9uEGeP2e){z5 ze(YLW+9Dz%{^Qg{j30W(g&$swS5!EIx4a#*G%)6AAvM zg`C<9H@BFYm`G(vS8JSD7qH;lmP?;LeK1)NQ<)KwrEx;>P4wl{iyXUte&1{P{TFk` o#A*L^d57e$rvaYfFqWswbV<4smdKI;Vst0C7ciW&i*H diff --git a/graphics/event_objects/pics/people/winona/1.png b/graphics/event_objects/pics/people/winona/1.png deleted file mode 100644 index 75d255c7a133e3535edb15ae19534862f557fd34..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 289 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p zGvCw2F+^f&a>4>`4Sn{B#_Chr+olztOL_2OkCc>@_2S0FH2sdkWHn~zw|6gG*nPdR z>(o0YM=NILYTb^)y$y|fWsYd*Gt6XK;;0tttFOO4hA%~A%`D4eQR@i@=WSc0y_O;6 z@mdKI;Vst0FRw?4FCWD diff --git a/graphics/event_objects/pics/people/winona/2.png b/graphics/event_objects/pics/people/winona/2.png deleted file mode 100644 index 569dea105460714b17f6eaa9888af1222f6b3bfb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 266 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p z)8Xmj7$Pw>Ibi{}hJO2{g$th=s~Z?>Xm4{n_kx9MN?Y5x7YvD9y3gti?;nHC)nm#mAK#h0`}Lv#94@dlm}Lo@yPoJkujW`~zGL@a%{bgIB& z@59__O)fW1U%G6m-XJ0HxnaS(NX982e=*N^=6|}~K;qwj_c99xs}Gu;QL}f~0^P*m M>FVdQ&MBb@03e`gj{pDw diff --git a/graphics/event_objects/pics/people/woman_1.png b/graphics/event_objects/pics/people/woman_1.png new file mode 100644 index 0000000000000000000000000000000000000000..285c2947c9e06c84d9763266016f4bb0afa98083 GIT binary patch literal 883 zcmV-(1C0EMP) z6gxM!YKer2o~l|HYKvlyiGQLI0$* z)oOc-K~j{(_F9X*5HV7;q+)w>K{+`X|Ns900013rp2q+H00Cl4M@0Xn2lB-L0004W zQchCFgo4mlU#8T2dNNZ4p{Q#thv% zI1fyoLnUhZ0xpEMQ+x+<+99#;@GE3(A-MOQEy=#5Ep+xRzx#{3 z?{{}P4q(}qZQ1_OI9D0}SDg_hpXGc?WF<}r{e$3k;f#8}H|oVm!XybHz3!aghDZ@6 z{75JvXM%l7dV-Af`)93qPN0YsVZz)2<(yq~atEY0A{QNCjFYgdX97i}3KI@b27_Yp zvO7G%371{iDHi#V6skp0XdGvPMUg5@seiwJzER$a^=lDD0jO@22V3JzpommqO3;i_$*=(KV4*9_ z#<_Ww2^5hkObNNbFr1Fyg!73Y*oJ}M6M-sHgef6<^KAQR1Q33jOn&)T!HMvuIw-)4 zh73eT5oTnN2~&p0FJA450-^7DAr^XGZ(+H6D8Q8>-&xwa5dFmbRtR5PsW72d3O}^` zlBF4;>-xBdh9BYgO(Ce`#C;(;w6x98ZMHEt+pd3TCBl@NdAz&3SF;iVtW+y_R1OMo zA`-V&7b2NmcOSRbh^VVqGo@uWZt zJwK3VDms?T-ZXnM>vrIp$S>fS407_?+aLU9mU~5p$m66^X!@4tM^jtHq+LP655)Q)(l&Vbq&qF zMKPqTnKkQ?*iNn!5teHg*%pfhbY40o8oPOlj6{UbvevdVE9TJMYu>z=@sug#aMISS zt4R~e?j2S;XQq&DaL2Oxxz3H&J>nJm3YIbqoA=l*@|d-ABhcjxp00i_>zopr0MCAb A_W%F@ diff --git a/graphics/event_objects/pics/people/woman_1/1.png b/graphics/event_objects/pics/people/woman_1/1.png deleted file mode 100644 index ea8dc9119ec48f70d0332772c39bfe144dcd32c7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 297 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?-6&uY%}OU%2@amlbBTF2h8?S}2gYX_41TPo}iwhGFA zV!HE$BU9yqu(#VxUFJP0a+PWKIc9AB{@%(VHq_1G=rWzx7OYd>bR|t*%21h6^fPev tHrpkRk7uR4UclHVbGGeP)^Fv1jG?>zW1l1@?gToS!PC{xWt~$(6955Jdg=fG diff --git a/graphics/event_objects/pics/people/woman_1/2.png b/graphics/event_objects/pics/people/woman_1/2.png deleted file mode 100644 index b0bd3e1b1dc654d78ac7804adf9f6f11eeb85923..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 272 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_??5qB+7qD}(&V)kw6~{coe=d4kyFgDY`LVZ}yaU@#3F-Unv(G%* z%9Z4r=_Y>U+@{FY3Or@%Q&|((rgxvz;Ye;{Z#noN<;?+x!V7o#1D4-&FSB4UPcvF$ T{diF)&}9ssu6{1-oD!M<&xvtO diff --git a/graphics/event_objects/pics/people/woman_1/3.png b/graphics/event_objects/pics/people/woman_1/3.png deleted file mode 100644 index e7ed6c11213201f3d1bc933c453a71bb811ece31..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 293 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?+aLU9mU~5p$m66^X!@4tM^jtHq+LP655)Q)(l&#bq&qF zFfS407_?+aLU9mU~5p$m66^X!@4tM^jtHq+LP655)Q)(t#SNjYz} zvUn8x`WAM_u!ua$TAguz4o}jWn2V;|Do>XPNzK~Hb)vxR<%<_HSW`Astes=Yy=LzB nbsr@=PFI|t)4EeMgONdSx0Um@ZI%~-j%Dz4^>bP0l+XkKPbPeK diff --git a/graphics/event_objects/pics/people/woman_1/5.png b/graphics/event_objects/pics/people/woman_1/5.png deleted file mode 100644 index e23e364cd055ad0703087a5be73e49d7c161b26f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 289 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?ZD_la%n_mF?!|-)2g4OXQuk zE&g_9=Im@qzB{(X&(6)|IeH$ zcJ?dK_85kgh;?sX%-P7GGWFs`L+&FHmbxZaJXudfT)k*``6kPfs;6gWddoPxvq-M_ l&U7QO{G3AuTik}<3~CWRmlY-Jf`LwD@O1TaS?83{1OQcmewP3M diff --git a/graphics/event_objects/pics/people/woman_1/6.png b/graphics/event_objects/pics/people/woman_1/6.png deleted file mode 100644 index a1e6f69aba36a3eb811686aa46234844b4cd8ad7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 288 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?ZD_la%n_mF?!|-)2g4OXQuk zE&g_9=Im@qzB{(X&(6)n+a diff --git a/graphics/event_objects/pics/people/woman_1/7.png b/graphics/event_objects/pics/people/woman_1/7.png deleted file mode 100644 index 985172d52f149bb9912965b62562ab0dd28c99ba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 276 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?fBq{buX{U-zn?j^bq^2E zzD=9T^Y1=POehc$*;oBtFJR|noe72VD~@@F|6KI8c7dK)@?&o`c?Y(g64LkCXP2x3ea+P2a2@(Q!T1v%QnKqwwfaPsuk6c8f=xyVGjFVdQ&MBb@0PP=itN;K2 diff --git a/graphics/event_objects/pics/people/woman_1/8.png b/graphics/event_objects/pics/people/woman_1/8.png deleted file mode 100644 index f5e560b5991cb1b5565b4bc0330f504ae703fe77..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 277 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?fBq{buX{U-zn?j^bq^2E zzD=9T^Y1=POehc$*;oBtFJR|noe72VD~@@F|6KI8c7dK)@?&o`c?Y(g64LkCXPntxi~(B+x(e+nIBoLoo^m}s^{_QoFH3=aOFW2 ZhW~bEjV$`^{Xpk2c)I$ztaD0e0su(ra_#^C diff --git a/graphics/event_objects/pics/people/woman_2.png b/graphics/event_objects/pics/people/woman_2.png new file mode 100644 index 0000000000000000000000000000000000000000..b4381c2f436944b72ac77343926fba04c00b6cdb GIT binary patch literal 872 zcmV-u1DE`XP) z6#*jt+}(iy000+sMObuGZ)S9NVRB^vM@&RePDdbiWpW@hE;Mn4q~QPn00?w&PDe*f zL^A*Y002sWDIWj;00d`2O+f$vv5yPer2o~l|HYKvlyiGQLI2et z-kcC>ISA%bV#NS4VgMMNVoGW;F);ub|Ns90003V0bYTDh00Cl4M@0Xn2lB-L0004W zQchCBjE6bJAd1OkHwx08oZnt19GumpubK(Sp9hIXnv zbm)}GYoK5crn}Oikj>Im8aGse%pN3v0-Zo6Lm<&@ZYUW9?I-AaC+qB7n-)6z2LJWU z-TU3i<_Ou0&De~84928P|F4f0M|`D5DNhzA4*(BrdmY9kj5!_$ta&G011*okzq35f{!eOFDTdtRTjfx z1Rz1bfn{cNUafA?gvHP)1nQvnI0Iq@+=paPq?SBAtv$+84OqZa(%jvd@3XW7WJm@@ zlFP=ACp-Iab~tPTXIFH+VXze-K{6;37H)6rCcJe917Ckz*I5DVB5>LGc@L66k)$%w z_3kIg3&yS?$)tO6O;&&m$)HHz4+77F3}8T3T+e|ZK?z_6P%j}41}jixFm{|1oano* z2U&6aF*H(YC4hNq@;X?8P$TFfSi;IP*Kyp>W|@S1^}X|BqU<4n3o*}3We*%5YY)UT z6TuI>5x}^?)^ps+JELWMcbtzcgOIys*X|S2g~mP}#RFi%>k}7icg*W0C{h``34$+u zQ|Y|T^KXZ+qr7GGppgnd6JK^6Aeg8ERMY@sgGK!uL2@^#^BiCUco^}Z~ZmiyrUv*llrRxcQIUd9C yxVZV$aQLU1siRrSFSeof_sf|{4|2T}i_c$vZaP%e?}eTK00008IuY0000mP)t-sbH$|p z)wKV`l-`tcdqF|})ga!S5NbIH=2BwC05M_!7@T5CYB4b}02u%O{{R30UiNfh00001 zbW%=J06^y0W&i*Hr%6OXR2Y?GV4w@Qdly3Up5Ai-%(%0A_gS#SnbUjD03~^M?>T$t z^zI8liL)1Ffds>yGZzH~WzU>t;61B2QBvp*P~T;vkMhd4KwT`xN=n8KKnB+mV`Hxc zK*q|It5(gL1!Sz6(b3Vl3aCVDW=F@&MGg$k<|}8;oKe9D diff --git a/graphics/event_objects/pics/people/woman_2/1.png b/graphics/event_objects/pics/people/woman_2/1.png deleted file mode 100644 index 23d97812bf523f3b55b7d0339f5dd68a28f0de6e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 292 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ zS>);B7$Pw>Ibi|!j%snI&+{yc8PDvfeRd{p!;zP^%fBui!w8JUpv#+H?vztVvcWINy!(>*#;YS9Nk;}-Q;Lv<3b%19a9t86*Fvg_v)-= oc+z+I_Ui8rF%^y9nI;`(?4Il6H__DX5zw^^p00i_>zopr00_Hz-T(jq diff --git a/graphics/event_objects/pics/people/woman_2/2.png b/graphics/event_objects/pics/people/woman_2/2.png deleted file mode 100644 index f298e6eea152323506c6972386454df0d36980c3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 266 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ z>F{)M43U_coUnjV6@dpquBmF4d(nZ9neh- Mp00i_>zopr0CaI`ssI20 diff --git a/graphics/event_objects/pics/people/woman_2/3.png b/graphics/event_objects/pics/people/woman_2/3.png deleted file mode 100644 index 53809fd32d068036a6fe71c0ec20b0600543fa05..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 285 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ zneFM~7$Pw>IbnhRj%snI&-3mTGoIP8x%zwLh9fgCSD#~0tt@|US^fOWJ8p;0&Elzz zEQjYBi?gz(o}ZKYz;?AoV9*P`fcvS7`+uF<<`AoM%**Q-pTn_Ls>hDSaW^nc(hgrc z%ar@XhFKRcUgS(Ms5txPMFi)Rq=b0O;$^}fg^^cQg`QJWaJ#d++}}az&C2)pL>uk~ h@7vArEJT2jA@-)traNB^zX6@e;OXk;vd$@?2><~sb@~7R diff --git a/graphics/event_objects/pics/people/woman_2/4.png b/graphics/event_objects/pics/people/woman_2/4.png deleted file mode 100644 index 8f3fbe35f8f3c498fc40705503b07216daf7292f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 286 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ znd9l=7$Pw>IbnhRj%snI&-3mTGoIP8x%zwLh9fgCSD#~0tt@|US^fOWJ8p;0&Elzz zEQjYBi?gz(o}ZKYz;?AoV9*P`fcvS7{Xd=B<`AoM%**Q-p99-95h|MIQf~-gruo6jnhRLB+sd>4%78z@BFd1`n$-HgoOI8IuY0000mP)t-sbH$|p z)wKV`l-`tcdqF|})ga!S5NbIH=2BwC05M_!7@T5CYB4b}02u%O{{R30UiNfh00001 zbW%=J06^y0W&i*Hm`OxIR2Y?GV4yF!dly3Uo;h;?%(#8#%wDj>={=|S03~_%oY}qm z%;^gZcXpovg576pv4X3m_o63Afin%U7g6DY;N{-UG9$pOeHi+lIZ*#yK04NXe{iLj@or4@kP gQ@*?08xWSWXt=mBme*a07*qoM6N<$f-XmQ$^ZZW diff --git a/graphics/event_objects/pics/people/woman_2/6.png b/graphics/event_objects/pics/people/woman_2/6.png deleted file mode 100644 index 4999cf1b150818222eff6e99fecbced658e6fcc3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 282 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ znc?Z;7$Pw>IbnhRj%snI&+{yc8PDvfeRd{p!;zP^%fBGJ3P866`et(x~<#9w;*F@wE=yM{T*~ dnY9i)3<F{)M43U_coUlNDM>V6@dpquBmF4d(nZ6%nl zg=4}~Q!`&Cv~A3m=s5WMjH-#qnH_P{rtz6Q*Q@>-w?ewI(TstCZI1c;N9*^o0o}yl M>FVdQ&MBb@0Bx^n@c;k- diff --git a/graphics/event_objects/pics/people/woman_2/8.png b/graphics/event_objects/pics/people/woman_2/8.png deleted file mode 100644 index f591995741cecb75514b943e2494fba28cd1dd15..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 266 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ z>F{)M43U_coUlNDM>V6@dpquBmF4d(nZYlEzI*tw`M zhNL}FizZFuOWMP2SjKETuXR_;)h3DU&WBIEcajM^$89!2{0u7t?=16W4>rHn2D*vC M)78&qol`;+054}~`v3p{ diff --git a/graphics/event_objects/pics/people/woman_3.png b/graphics/event_objects/pics/people/woman_3.png new file mode 100644 index 0000000000000000000000000000000000000000..00579b200ce767045734ba585ca6bc0b00b3172a GIT binary patch literal 890 zcmV-=1BLvFP) z6$1wF>08nO000+sMObuGZ)S9NVRB^vM@&RePDdbiWpW@hE;Mn4q~QPn00?w&PDe*f zL^A*Y002sWDIWj;00d`2O+f$vv5yPer2o~l|HYKvlyiGQLCwwH zoSeN%N_%s?06}{I5IF$NVoH=bDN+ys|Ns90001$F0&@TW00Cl4M@0Xn2lB-L0004W zQchCBjE6vy8n2na-RJBJX*OS=Rtb!fn#*clu{=uiSp zK1`+-&KWYa4M>K7XdJMP7=M7eUm!k#l6I-l;Wd+KL#IGU-#h7qEz$-$`z^nF()0g! zcVGc5YEg@Nq@*k|{=Xa{WP#CN1P=={T01f(M0~$!Itn;wqs)q8N>+ zCqWX=a7HvMoDoY&3LPjDd~>1tuPRtmiwZ(bJYlIsr>5W29ygb9)eCY#QB)La8nw$( zY5ALLNWr;~E^L;TMHB{>l$R)oHFHr>sA<$zf2};Fpt0BPQ_#vYDaY~mR3J0%Xwkf| zFLNf1>dpF^6XD(C0G^?~zIIg;7@!0@np!k3#I0#2kzFp^Nu+j6dp2zQ$`O$k6h#GL zlry7p6dOqj=VRT2gAIS+`fAb^}6H5t1YzZZbwP;=# zO>$cGkg-lBesU+VCO-js{s~bD`T%1k0xg;os`-pY<<|EHb=O$G$GUL=!g^(J55_AL ze8ARtj-rpQ7R?I%dj#;5jg2$T_fMUMLu@zzX4MJseG3JjD**KuDCz>dCebaxfcP5+ z!cN(x|5$ysL-R)Kcskwdx<<>}-EDXA)j^}#!58K+=Wi(JCFgrV+V4|;miAztRvike zu7xxY+?!6@90lIdbsL{7O+T?V4uI zLEO7OA_84L1u+!hkySIS*zD*@ur~{fo)CuLfm!{>Z0U78Zrx(!E;z0hDW%<_c`b QNB{r;07*qoM6N<$f~ApkzW@LL literal 0 HcmV?d00001 diff --git a/graphics/event_objects/pics/people/woman_3/0.png b/graphics/event_objects/pics/people/woman_3/0.png deleted file mode 100644 index ac9ed557eac7bf62947afd95264b55c19134b705..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 295 zcmV+?0oeYDP)8IuY0000mP)t-sbH$|p z)wKV`l-`tcdqF|X&EA}xy-G@ZbG-mTdjJqQ0L@}blsPF<5CH%G{{R30F^B?l00001 zbW%=J06^y0W&i*HrAb6VR2Y?GV4w@QdlyQdIRj?#?m2Vj^aUW}&gngS_M8RF+`S8y zyL(qq5Tu;N_M)Jm>}3ZaL-C`$5Rh@l+31tLvdLM7J7EsQj8abG?%TgR|ArRjZ;Fn=r6=O?~$+a)|>2!>SqY-gT~G t05Li`zznVx9UWZ@KrZ82wQ2#9!vXgcNFgSvgcJY(002ovPDHLkV1mpPcG>^{ diff --git a/graphics/event_objects/pics/people/woman_3/1.png b/graphics/event_objects/pics/people/woman_3/1.png deleted file mode 100644 index a7dbe7ec39f0e06c95bf41bf3b75ef7e95af9bdb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 282 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p zGsDxxF+^f&a>4@c9o6Dq^DUXvKF(uo;&wPT*Eap!96Ro$IrlcF^Uq+M#AFolZeHZp zS7&0`6&_#fIk(k;Ex^&)($E z$8%22JA7?dky&EG$610>w{{+BY)pLGvrl~P=7zGhvpz0bUo1M|;MPrxldmyNIK3lm eZB)aP0tQ>x$dz51**-uwGI+ZBxvX1_4yIxt#aI&L7tG-B>_!@p zGuhL{F+^f&a>4@c9o65NTI`CS>2y4^Eq-<;Z^DJS#>@TRGjiVD%PeBWnqqN^DNto#Imu8B|r97OPCzfldI^qsp8Du;%9afHYPp0 zv-`U}gQWJ{kZb?hBafw~Y+}f%p1b+Dj=1_4yIxt#aI&L7tG-B>_!@p zv(VGUF+^f&a>4@r9o6Dq^DUXvKEAUoes+#k;qkebw$=XgSx?{D%RTAw-s|m)xBGuy6B4_1e_Qn|aF5Noi|J-nTq`pgL>g#*J4c7dUFC zt&1`()@5eyetN2}&y&xAd2ij>IXgXAPdu2lD=XBXW8X`vDKuCKx-c+^o^s9LXxV-o=vW3%S3j3^P61_4yIxt#aI&L7tG-B>_!@p zv%u5EF+^f&a>4@r9o6Dq^DUXvKEAUoes+#k;qkebw$=XgSx?{D%RTAw-sGZvH0q{^Ga0?JkgmNHZf1G9;Q5-3lO}zfyP0QCx|pKbtH6EEhzPp=GpgB9$ m-TgV!gyt|t#xrXjco1_4yIxt#aI&L7tG-B>_!@p z)8*;n7$Pw>IbnhRj%snQ`IgLSALlVPaXTEFYny&oO_$o`DZXrVls+&H!pJQ zt243e3XiY#oZITa7GNB}lEDzc>2WcZ1_4yIxt#aI&L7tG-B>_!@p z)8*;n7$Pw>IbnhRj%snQ`IgLSALlVPaXTEFYny&oO_$o`DZXrVls+&H!pJQ zt243e3XiY#oZITa7GNB}lEDzc>2WcZX^RvV^ zuvzKGZq+Jcyx{Oya^XVR%?(O%#=qhkBxAJWzm)1RSZ0U{9Js@EgyF-LaL${D3Jig+ OV(@hJb6Mw<&;$UMHf4?g diff --git a/graphics/event_objects/pics/people/woman_3/7.png b/graphics/event_objects/pics/people/woman_3/7.png deleted file mode 100644 index d8c2bfd99b08063e5b4f780ea675a3d47350b112..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 276 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p zGs)A%F+^f&a>4@r9o65NTI`CS>2y4^Eq-<;Z^DJS#>@TRGjiVD%PeBWnqqN^DNMX-`~r9>G_iNH7CW6Bp90QODSU0IQk%oM`QgTe~DWM4flA~@q diff --git a/graphics/event_objects/pics/people/woman_3/8.png b/graphics/event_objects/pics/people/woman_3/8.png deleted file mode 100644 index 0517b99934349613129284f5a305bf2a3d40d486..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 275 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p zGttw4@r9o65NTI`CS>2y4^Eq-<;Z^DJS#>@TRGjiVD%PeBWnqqN^DNMX-`~r9>G_iNH7CW6Bp90QODSU0IQk%oM`Q{>UK&yy;1UE8;!U%CkoynK8}U W?qKHf>MuaYF?hQAxvX)N9ZH diff --git a/graphics/event_objects/pics/people/woman_4.png b/graphics/event_objects/pics/people/woman_4.png new file mode 100644 index 0000000000000000000000000000000000000000..cb88cab47f3ff1b92b4689ff3c919580e53bcdd5 GIT binary patch literal 817 zcmV-11J3-3P) z6$B|1dGJgC000+sMObuGZ)S9NVRB^vM@&RePDdbiWpW@hE;Mn4q~QPn00?w&PDe*f zL^A*Y002sWDIWj;00d`2O+f$vv5yPer2o~l|HYKvlyiGQLI2et z-kcC>ISA%bV#NS4VgMMNVoGW;F);ub|Ns90003V0bYTDh00Cl4M@0Xn2lB-L0004W zQchC6ryDGe>vU5BmsNwEDZ<9z9t-t@})!G8agZ5N3>Z_mH1r z4hoZT-3_M%QY3^%OewM6rJ%0XJr0Wd{UkUO2$2*T@huz_@moZ}Jz5gMwPL#0Odv&4 zn9(X03x&aegSaTDupev81wwR6n9;g&@z>({y{VwZ3rO$92!u!q4Xyq1@0HSOWW_um zMzFS08mwY25F#lw#G$>kWN+XJQc{RVplo~3!I2RNkrWzQ=-IZ1(K$?N1VBBGjX;W| z&=3ypv^#H_0OJ$HqcNQaRc($(Mj%B}nDhDFPJ4TkIHn>(=Tq%9q=L6iR~gppB)v0F@_sn`O%vf<6$H(=GL-c(jz`|Pf zEANyA&j6}S-Z6`kp2$1@{9u!XnOLpw1i{WnHzNgAoHk87xlRIV6^ZU$=AJ}J@B7?? zT7JPoSZFQ3VyaFMwB4LEaf5=CeUpMeP)mZA?aH42WL^jGbIV@mOKX*#N-4@ozqaJ@ z%a|5;r+e#%7qq_fi4MH2Bq$E!Fv>~SGKDoPJ8AC5te(zA+2%W@OJ2Hw&&o7m0$MWp vfJHNVj8rlZ4*}utHTi_%S$#TSC8K`;6+Bo(kp!T{00000NkvXXu0mjfoDX8a literal 0 HcmV?d00001 diff --git a/graphics/event_objects/pics/people/woman_4/0.png b/graphics/event_objects/pics/people/woman_4/0.png deleted file mode 100644 index 88489b6a698eed147b52482db8df8c194a978ed0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 300 zcmV+{0n`48P)8IuY0000mP)t-sbH$|p z)wKV`l-`tcdqF|})ga!S5NbIH=2BwC05M_!7@T5CYB4b}02u%O{{R30UiNfh00001 zbW%=J06^y0W&i*Hs!2paR2Y?GV4w@QdlyRYz71yap5D8A&jldk&Y9h}&zuD^faIMs zdx0|EcQ4A`-Ex6}S5{U~@Zv=vLs#*mywD{e>D=8WK-eusu>tbx| zau;aO^@v$3TWf*llt!+cH8q@pfkid7a(Y;h1B0_k*}He?&L#{jUNbv7W-f66%B}3^ ynB@R+hLMT0GRPUcch259djagi3%qxc91Z}jzCxNIaIy3N0000Ibi|!j%snQ_m;eAAKzIPKl{R}@R+ZoQ0&N!+Gl6v6q?077?0{TNGLR% z*}=T%d|bkhYVi|R)!*%y|Hm5qIB?*@|Mz!yfB(;XR`V}E%R?R>omDFrE=+Xf<2k36 zx^Uskb80*~amLnGX?leWr`EoCG2?{FZ(slb diff --git a/graphics/event_objects/pics/people/woman_4/2.png b/graphics/event_objects/pics/people/woman_4/2.png deleted file mode 100644 index efedc4a010559bb3584439308aacce813fc8df06..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 262 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ zY4LP%43U_coUnj diff --git a/graphics/event_objects/pics/people/woman_4/3.png b/graphics/event_objects/pics/people/woman_4/3.png deleted file mode 100644 index a186b454ebd2efc258608bbf0e37cd6ca8e7e3a4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 290 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ zS>Wm77$Pw>IbnhRj%snQ_xpI$KF+(hyZSt=Mx%S>`ls&Q zEoy8G4+{(U@W@rcIsD_|Jr`6J9&fs+UYmNGo2Puegtn&S?|Z2a_P$Qac~c~wap7x6 zr1tGBSqX_#O5x{bh4G|JSr+EUugy3s=E=8ru~q>MM{jIiocxSwLC5J+eSML93FR?{ mMvXgqzMqMm5#4xWm77$Pw>IbnhRj%snQ_xpI$KF+(hyZSt=Mx%S>`ls&Q zEoy8G4+{(U@W@rcIsD_|Jr`6J9&fs+UYmNGo2Puegtn&S?|Z2a_P$Qac~kVAiTU)` zo=ENJY)OfTGsfZPX3gR=xnR4ss4Bu@!oi?#?_#^GCLA=~yg0dQBXdAXs{3&r@d?&* lrq=2^$ds`;G54}eWOx^4Tl6=Rvli%922WQ%mvv4FO#uE`c76Z= diff --git a/graphics/event_objects/pics/people/woman_4/5.png b/graphics/event_objects/pics/people/woman_4/5.png deleted file mode 100644 index f08133faaf47e3cd587449e45ea9582a89ee27c3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 264 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ zY4db(43U_coUlNDN42=udrRK5kMAstpM7Cfc+A&PD0bvV?Xxp-3eDmkj7RkvBorFX z>|kDWJ}%)$wfG6E>hE^U|6>h)960dd|NFbUzyG&3Fqra}y(vjyv5BdP$r_f7qKVNN z8CC%eM{jIiocxSwLC5J+eSML93FR?{MvXgqzMqMm5#9KXiQ)ZT|JlJ=^TdHJV(@hJ Kb6Mw<&;$S|kDWJ}%)$wfG6E>hE^U|6>h)960dl|NFbUzyCKj*f8TidsE4R#&;_hE=+vrz~&v9 zktPq3adwN~Fjri{(W_(RiOc7}PWek$EDDrz-43U_coUlNDNA-867Q5nSIvvk!i=Ul&$t}=myxY;K{QVp|-f6{CTD6Kq_S8H- z6D!~x_v2lxz+un$pNn)m4kqQ)oP6?*UE%c68$aIFPw3QnxAngx6OZ=vwyVu=qvnal zF{Eu+F=aiIaZHbGT4V11mzNBmGISJPKYBvq&4S(H5eLc~Z}2dze`I-g|AZ1VppzIp MUHx3vIVCg!07f2ebpQYW diff --git a/graphics/event_objects/pics/people/woman_4/8.png b/graphics/event_objects/pics/people/woman_4/8.png deleted file mode 100644 index 21cd91f67c364bcff5fa391d7969860fca7d5fff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 266 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ z>F{)M43U_coUlNDNA-867Q5nSIvvk!i=Ul&$t}=myxY;K{QVp|-f6{CTD6Kq_S8H- z6D!~x_v2lxz+un$pNn)m4kqQ)oP6?*UE%c68$aIFPw3QnxAngx6OZ=vwyVu=qXNak z7}5%S16MK`=WUg!Zq#|Y_s+vhOlflh%RaL1esfN=ZFhp{o&-IHJD)6j?D@`31-gmB M)78&qol`;+0B)~sPyhe` diff --git a/graphics/event_objects/pics/people/woman_5.png b/graphics/event_objects/pics/people/woman_5.png new file mode 100644 index 0000000000000000000000000000000000000000..cc26319804d638e627ce8f7c7bfcf27bf5ef7396 GIT binary patch literal 852 zcmV-a1FQUrP) z6$Ti0k&^TP000+sMObuGZ)S9NVRB^vM@&RePDdbiWpW@hE;Mn4q~QPn00?w&PDe*f zL^A*Y002sWDIWj;00d`2O+f$vv5yPer2o~l|HYKvlyiGQLI0$* z)oOc-K~j{(_F9X*5HV7;q+)w>K{+`X|Ns900013rp2q+H00Cl4M@0Xn2lB-L0004W zQchCiJTslN9ajaRTV7?TNnvCKDh{s+O$!VMj^OjDdWDPxjMkpeT=VQEkcHF?HTn(+l= zbS1%;%SFB;(4^^?w$jG{w;J4uqvsh;A5PTI5PhytwU8SMu<^t=E!+P>%chqUnWX+RH9aMS@9j8G(l z<9J5(IF1vw&s9P0xeS8H^CGH!99`Pr%RC6ZXA#y`^vVlvs%?K5Ne-om{@$hPCplLQ zjpwpa+47?D$|~5`wL0j8f$VT1@*~yR3TKb_g()mI9oJcGI-suAgkQZ^>sL|!_uedw eiBUUMO|xGXJY}v!M(un600008IuY0000mP)t-sbH$|p z)wKV`l-`tcdqF|}q_ov)dy7F*l*RU1i@gvrQnaLEdvifKIT-){{{R309c`Y+00001 zbW%=J06^y0W&i*HrAb6VR2Y?GV4w@QdlyQdIRj?#o;kgH_XQy1&fYV-&zuFx9EQr> zy(oJZq?|?eqM+d2iw+Ddx{4p=g)TWT@H!iPlvg&nz;Ju7v67PU?Y#`Q?_4o9b~(G3 z;m(<>>1DA%gLv;QD@)J1dx3#PYsS*3&P71&CacQJS2;T{Fu0ecrKOhutza(;4NWfq txuZNZv>fcPJ9}@R1v7Xr@LoW2H~?$WLe&4|0ayS4002ovPDHLkV1hFref|Id diff --git a/graphics/event_objects/pics/people/woman_5/1.png b/graphics/event_objects/pics/people/woman_5/1.png deleted file mode 100644 index 3a5cf543eae6c3b28d47a3d0c40a20f5fb9f7ce2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 271 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?G8yu?#=0!}q;!Qxp!1R14$+|C3kIBCg=g1JOlc}!vPI*Y-k&E@ zY7b27er3yUeS+Qkoz&S!?@r!T+EKmesp#Y1o#N9stb52<$oM02%_|+ZJ3Ic0{Ab$MA9CRm RJ3Gi>44$rjF6*2UngGjdaQgrN diff --git a/graphics/event_objects/pics/people/woman_5/2.png b/graphics/event_objects/pics/people/woman_5/2.png deleted file mode 100644 index 066d52259853fb9096a2d7304f33f1e538aeeca2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 269 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?8IuY0000mP)t-sbH$|p z)wKV`l-`tcdqF|}q_ov)dy7F*l*RU1i@gvrQnaLEdvifKIT-){{{R309c`Y+00001 zbW%=J06^y0W&i*Hok>JNR2Y?GV4yF!dlyQdIkOi;^PV}qd-nw(&AoJIDcpy1t$4h$^1iXY{LE;%spIvahIS2nr8aC@(@l9KW5y$rYSTroCw zIlGtP&Y7#}WwAhmc<(MNOV7FsG}>#%(x}c=Km*xVm6tD30ohuXmR4c{W`u^7JAfGM lq3H!+hw+}i0COsc005$AK8NVHwfg`7002ovPDHLkV1f{&dwKu> diff --git a/graphics/event_objects/pics/people/woman_5/4.png b/graphics/event_objects/pics/people/woman_5/4.png deleted file mode 100644 index 170d45929b1ed394f608c9d87aaae524627e200f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 288 zcmV+*0pI?KP)8IuY0000mP)t-sbH$|p z)wKV`l-`tcdqF|}q_ov)dy7F*l*RU1i@gvrQnaLEdvifKIT-){{{R309c`Y+00001 zbW%=J06^y0W&i*Ho=HSOR2Y?GV4yF!dlyQdIkOi;^PV}qd-nw(&AoJIDcpy1t$4h$^1iXY{LE;%spIvahIS2nr8aC@(@l9KW5y$rYSTroCw zIlGtP&Y7#}WwAhmc<(MNOV7FsG}8<^5SQ`pxd3x35CZ_QOg^Q{G3%uO0000 diff --git a/graphics/event_objects/pics/people/woman_5/5.png b/graphics/event_objects/pics/people/woman_5/5.png deleted file mode 100644 index 2bae62ddea6b38bd15e7135b0a224dbb8e949187..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 266 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?@pFg$TV55(FzI;U^ws_+76RSG N;OXk;vd$@?2>^0IZjAr{ diff --git a/graphics/event_objects/pics/people/woman_5/6.png b/graphics/event_objects/pics/people/woman_5/6.png deleted file mode 100644 index 51989764430c3c0c825dd2ef21ebe30fff6c5497..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 263 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?EyGcfhc{o(TD$kJ(1&t^T! z{r0ryjIcnQO~ni+4*y3LQpXFF%laSI-2Hd+zP{|Du)6)5!giDe@&C==rVexvgQu&X J%Q~loCIExVYmxu} diff --git a/graphics/event_objects/pics/people/woman_5/7.png b/graphics/event_objects/pics/people/woman_5/7.png deleted file mode 100644 index c8ec75432f5370dead160f6e2b1029981005e087..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 265 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?)pp z%w1TLdYoy)(l_2y?kM(%Bx@+2T`F_tfvz|E>eL;@d&M3(#Tm#mEL?55rLQXcBhX0< Mp00i_>zopr0Opo(bpQYW diff --git a/graphics/event_objects/pics/people/woman_5/8.png b/graphics/event_objects/pics/people/woman_5/8.png deleted file mode 100644 index c4c05fcd95d2457072efdd2d7078bac8b474636c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 271 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_? z6$d#Yer2o~l|HYKvlyiGQLCwwH zoSeN%N_%s?06}{I5IF$NVoH=bDN+ys|Ns90001$F0&@TW00Cl4M@0Xn2lB-L0004W zQchCD~K0 zBNMWzO>OEQ#aKciiu~W=%f2f~sie)AR}lP3q_N!ZFPB3gg#zAPy%;$KfhN+087Fr4g=3TE$) z>l~m2n&=my61!v5G`TaOlrc&j(lP4{j7p%1bfF@5&Fd|byK-aPxxHQIOxy}IkuFrM zylq@>HJ*BvWMz+Zw(kk}ph}>LbfF>?;|jV0+MgfW0DE*kQXI?IXQE?1A7V z4)_3~_lYRN92SKcjR!ZrfBvPFkyH<(&(Lq&2SI=r0}vgxAO~OqA>s)7{F6{_o{Bp= zvoPwNJ-V~w$FYC*kdU~&hi~?AFb+b_(~N`CoC+0>USZ;!X zCVXBbW)xvY;>~%}mn+3TnsTM+lWo6FSH{&3E{~t#AStj~h9yOiQG{6v2`PQI0_-bY z99w~04F{YS8D;|fNqG@wCG5)ngUg^B;vlk^E~a_Li)kjnhH8`(yjZ)c z6-d?zVi8MG6%N12wVQbH4hfIf1_4yIxt#aI&L7tG-B>_!@p zv)4@c8J5CM>uaRUxm}8n9ks2sVmuKcXkPs6vfhFNrzGdD4lDCbh}c;4 zEXi?YWGs(%ny#3LNX*Tn8;YhqaIZW#b+g2dWg4|p!av0vII!WAr>AGCXn^&5(d6X& z+z!XyF4oL5tZwYFF2A?ex_Vk;qwDwg@9uurw=}T0EoWP;{%jK`^Xa*Z7cMkRmu<-E zYi)Zrhc(llnML6(&-QEgqPWWx|Fi$&_uyk^xFYJbLe?^+7wB{bPgg&ebxsLQ0KmL= Av;Y7A diff --git a/graphics/event_objects/pics/people/woman_6/1.png b/graphics/event_objects/pics/people/woman_6/1.png deleted file mode 100644 index ea399ef74c7b1ea1baa6e2c41103d6fbd9dfffe5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 278 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p zGsV-zF+^f&a>4@ch^<^s>)*VX!Me!Ox*>tdg+b?tWwD#P`|~rLJla<2Ob2`P+C*h# zjnm6YN*t#&h!i?r(P5Ce~++}TdW8n zt3TP;c(d&L-QBzOr42URvD{nzecon12h;S12Ra_s9gLUG6=c6%yEQ@lQ~iVg4NnRf YY<~MJUSHLt2y`EVr>mdKI;Vst0C~A?Hvj+t diff --git a/graphics/event_objects/pics/people/woman_6/2.png b/graphics/event_objects/pics/people/woman_6/2.png deleted file mode 100644 index 5741211140c134064f54e70a05afc4b19c345791..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 265 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p z)9&fw7$Pw>Ibi{J#8xh+_H%P~GPrEs*FEPVYf`~hySFb`IM=?3y2&{0bCk|jA)V(s z8m60*#U?ylqQA9B?F2)5?b^_U$q_xh;cJs{8%dv>3H(`xYTj%7XL znO(1+@QNi>zs)ITQzopr0J1!8Pyhe` diff --git a/graphics/event_objects/pics/people/woman_6/3.png b/graphics/event_objects/pics/people/woman_6/3.png deleted file mode 100644 index 538e60433c7c622f2ea8bb512249e31df5ce27e7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 297 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p zv)t3gF+^f&a>4@r8J5CM>uaRUxm}8n9ks2sVmuKcXkPs6vfhFNrzGdD4lDCbh}c;4 zEXi?YWGs(%ny#3LNX*Tn8;YhqaIZW#b+g2dWg4|p!av0vII!WAr>AGCXn^&5(d6X# z361yMgYPWTH!#@n;!frFcRUjgKKNb!{oQW`w)Yn|mnVfZ^jNz)J16(ZHuNMfTxc2Y s5R`syjwN@{;ezt3cew@B|FH`)G&$HF{d8cG1JKC~p00i_>zopr0IbD#*#H0l diff --git a/graphics/event_objects/pics/people/woman_6/4.png b/graphics/event_objects/pics/people/woman_6/4.png deleted file mode 100644 index 746cefd09722036a5a23a81fefd8d0362f832ac4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 296 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p zv&_@QF+^f&a>4@r8J5CM>uaRUxm}8n9ks2sVmuKcXkPs6vfhFNrzGdD4lDCbh}c;4 zEXi?YWGs(%ny#3LNX*Tn8;YhqaIZW#b+g2dWg4|p!av0vII!WAr>AGC=!pf|$Byk2 zZ!md(O=SBFU4>&a%io`qD`GJE_wHWpf3AQdFJIiWHgqu6Ip*%{oP3VSwWhzd?OB7w sp7L{ZESWEzJ5XJIHFibxe`Z65{wQ1hv`eQ~0A0-B>FVdQ&MBb@09;pi&;S4c diff --git a/graphics/event_objects/pics/people/woman_6/5.png b/graphics/event_objects/pics/people/woman_6/5.png deleted file mode 100644 index 4c4e2c5b086269b68a1a767a74d754d4005fc32d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 268 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p z)8*;n7$PxsZ{J4VW(OYE*b4%kxX$&wO?ewCPa(xk*dSxB+0(V~PiZPTvSj4!9!ELZJc z6=md5s;#+nyXyJal;X=Bt76VhnSP?Geukk+?Vl$(-@c!k^|-seU;dP%M;~Wu+fSgY O7(8A5T-G@yGywoI>usX| diff --git a/graphics/event_objects/pics/people/woman_6/6.png b/graphics/event_objects/pics/people/woman_6/6.png deleted file mode 100644 index efd7b76cad2168d12a05768b2b86f4afdc7f80ed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 266 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p z)8Xmj7$PxsZ{J4VLjgQ4u@_i0FK=L2l&-HHddfmH^^qtKukL?uktq=~Sq@4XGpk3Y z&z1_4yIxt#aI&L7tG-B>_!@p z)9&fw7$Pw>Ibnf*#8xh+_H%P~GPrEs*FEPVYf`~hySFb`IM=?3y2&{0bCk|jA)V(s z8m60*#U?ylqQA9B?F2)5?b^_U$q_xh;cJs{8%dv^QJZ#DRK$FiRB z%&tY7q;-ybJM!a<}+fdvtOD#D4VtL2GB_i Mp00i_>zopr0FcgX&Hw-a diff --git a/graphics/event_objects/pics/people/woman_6/8.png b/graphics/event_objects/pics/people/woman_6/8.png deleted file mode 100644 index 9dd33b643855d413ee3e249a7554dc9bb35f3782..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 267 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p z)9LBr7$Pw>Ibnf*#8xh+_H%P~GPrEs*FEPVYf`~hySFb`IM=?3y2&{0bCk|jA)V(s z8m60*#U?ylqQA9B?F2)5?b^_U$q_xh;cJs{8%dv>3H(`xYTj%7XL znO(nKS#^$l`_=JLazenX*~WV5jy(5_)6d=c&yezA{jTbV_7R3HEDQ@ z6$vUh-ru_b000+sMObuGZ)S9NVRB^vM@&RePDdbiWpW@hE;Mn4q~QPn00?w&PDe*f zL^A*Y002sWDIWj;00d`2O+f$vv5yPer2o~l|HYKvlyiGQLI2et z-kcC>ISA%bV#NS4VgMMNVoGW;F);ub|Ns90003V0bYTDh00Cl4M@0Xn2lB-L0004W zQchC4e-7>1`lV zdtjBq+?Li!VG&bgugC=xFgKw7fIF+$?F_8ON@uV&g~4Dzu8{NnW@hh>cp_M5ihcIm z{pNjU_J(8Ze4LN-@sFYPS?d4GX}8TpEtI1W`Dnptp<^KI#GoTZMpUTfu%Mt6e+cyu zX&y~f9U(F~sC6L_wlU}km4SL#h=u{PPS%k*C`0 zRPy4<_(dfZZZm zam4gHBgg|Ix~J`N5Kf3=;Dmh!``ZhrN9zbO13}({Z**q`j9DUxBFwK#ag2nKIn$2b zWb632u~G4^(d-Wu#$KnB2n;v`TRV)6twF?duWUtDcvvCfkrNxvTZOj8g+ z8{wNB=1oJePyOo zGY!!m)oE&L2vH+wY62@}QwRdRh1T{_9t$_&IETy!i2IqTG#f#=SZ;hxK?^R0> z`qfg8#LVk)-ot#KxPk{`oO9p;1kG7|%PvIUsoq+%HH4`B$LZ$WOUCNUb18|L7cbw5 z5#T2n6vXPW!Bfspi3^Lf8i zwZtqSPU`WJX;|@-VY0+x)#jn~(bCXDjgqc-ZRbI~^4I@g>P(6|yW_KUGHAu^Z?6-j U!Rf32Bme*a07*qoM6N<$f@Nu^cmMzZ literal 0 HcmV?d00001 diff --git a/graphics/event_objects/pics/people/woman_7/0.png b/graphics/event_objects/pics/people/woman_7/0.png deleted file mode 100644 index a235d670e635a9f114b97f0deaf8ebfc6cffa6b5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 306 zcmV-20nPr2P)8IuY0000mP)t-sbH$|p z)wKV`l-`tcdqF|})ga!S5NbIH=2BwC05M_!7@T5CYB4b}02u%O{{R30UiNfh00001 zbW%=J06^y0W&i*Hut`KgR2Y?GV4w@QdlyRY-VJ8)o&kajK*k*q<1A3%&gng;_nf`J zaQDug-Mi18y~}XtuI$~r7w?{BxN}zUqrBi9AmgyoM|mZivkZ5y7%M3m``%^Xy*1g` z*mCU!2Hq9({J*^Hy1>Aqx$@n+S(6+XoV0%Sy_mm9g~55{{8g)d&N5+O@n1Rb<*Y9b z3=Ay)SFQRFq#0P!QryxCfDHD~^s-P8gQ2{Dy&TEm0BxU6p4zFFd;kCd07*qoM6N<$ Ef_CPO0RR91 diff --git a/graphics/event_objects/pics/people/woman_7/1.png b/graphics/event_objects/pics/people/woman_7/1.png deleted file mode 100644 index 62de3d528cd5b3aaa4fd7a119be43b3c80abf810..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 280 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ znda%@7$Pxs@41b7sdK44$bUDP`#xj6=JWR|hNg|0YOO4bPW)1ss8Qe~7A5wGNAS`N#TW&yO%e4Q zjiiG8xU?5qP5GHscx(M(1KVH2y85}Sb4q9e04qszT>t<8 diff --git a/graphics/event_objects/pics/people/woman_7/2.png b/graphics/event_objects/pics/people/woman_7/2.png deleted file mode 100644 index 3893cd29271128b74c8afab88daa9f1ce97dda66..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 263 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ zY4vn*43U_coUnjW;J!>2BB9WbfRkZ3s=5ZCvnfZ_5Fr-@os&lG_UV(@hJ Kb6Mw<&;$TYy=IbnhRj%snQ_xE_y?%Fc5h)YORyl;?5Z)7U>dvCdy{mhQd)!%P!7MFN; zXX@VS?~h^?9jFGa9_j f7kJ)0RS;tMyv)6$i=Qb4=uQStS3j3^P68IuY0000mP)t-sbH$|p z)wKV`l-`tcdqF|})ga!S5NbIH=2BwC05M_!7@T5CYB4b}02u%O{{R30UiNfh00001 zbW%=J06^y0W&i*HoJmAMR2Y?GV4yF!dlyRY-VJ8)o&f?7>kf!<_5zS`de7-SXYVrb z-np}T_gN6*uI$~r7w?{B;5{q&QC{#4ka1Y)qr8$0ka5LWNy*p;sQ=bvV`Iy;Kn7Q* z|Cg7mfab7ty?Zxnu>%8xlU3h~`AdKT#$Kydty}=K%jM_1m$N>AtoL8F>O0sy>?LXG k5SOv1hC|(2UckTr07J<{snHVMdH?_b07*qoM6N<$f~O^YUH||9 diff --git a/graphics/event_objects/pics/people/woman_7/5.png b/graphics/event_objects/pics/people/woman_7/5.png deleted file mode 100644 index 6a1e56d2c5f34a50798e1d4f8d3e38a07f63bf2f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 267 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ z>GX7Q43U_coUlNDN42=ud|T$UkMAstpPO`)rk|f_y!?C|gOT5S%gxWr*)Ebojq+_=Zu$jze@R`1BO;AEVA`ni}jOeqCt zqqb&sZe(U={(nkx?&nyCYuDFDePw+!?^DrtCWFN~yiUd&rZ;;qOkwrkv6;y#0q7_O MPgg&ebxsLQ0Cx{&KL7v# diff --git a/graphics/event_objects/pics/people/woman_7/6.png b/graphics/event_objects/pics/people/woman_7/6.png deleted file mode 100644 index 8a348815766dfade0e6a499774ad2f16efe97c7d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 271 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ z>GgDR43U_coUlNDN42=u{GH5cckdQ|JM)s8hi6auw>g%@zjT-n&$V8De$Gwiv^h8T z{yuY)o2UHTJjNz#hhvfk4TcRts)DQvEM-*h0AeS&ZK`+M;`DHf4u=UCQr zGBbB?yuK<_Tbx0+^rz+G;%n>^zW!SsR?EJ-eeaSzGLMYDZ7Eq1eVSWBf}wgGE`O43U_coUlNDNA-8T7Q5nSJRL`?*-uy$H#Rc*G)pc&&m@^HDUtWyl1JnY_oZUV zLj_aB_i;~2ODMP$zRh+o`-ucYvu&*sPm*$Y3}+vG|Mc!|hhm9qXG1ozM{mnpHt`da zK=Rf4^vRJ9vuv}UiJX7x;Ffu7Rp{zV2YbGJ+QKv;B!bb|@G5=N43U_coUlNDNA-8T7Q5nSJRL`?*-uy$H#Rc*G)pc&&m@^HDUtWyl1JnY_oZUV zLj_aB_i;~2ODMP$zRh+o`-ucYvu&*sPm*$Y3}+vG|Mc!|hhm92Q`63|N2jr*=rCM* zb58Al{W&J1Q$aTA=U6(YEL|J5RZCW7YFOMfF}|Rfa|h(27)o<2nVA^^TJZ1y000+sMObuGZ)S9NVRB^vM@&RePDdbiWpW@hE;Mn4q~QPn00?w&PDe*f zL^A*Y002sWDIWj;00d`2O+f$vv5yPer2o~l|HYKvlyiGQLI0$* z)oOc-K~j{(_F9X*5HV7;q+)w>K{+`X|Ns900013rp2q+H00Cl4M@0Xn2lB-L0004W zQchC4wxG_n*pO zcW{SxuuLg#o54OB_mAilP(Uf3f{#G!A@y)1(4k9l-#b~7BU_X%o%{xW?pb%=k51A7 zY-?NF`cJi^)L;|;Ij7fdcLwXM71VLm#_F%LPEacz^*X)IY7kx65d1g7D1LhyuLOKL zjpM9e3aX;2a7nm`lO#T&z$`!|2;6lcsEDe!jtU?I#2p?lMCeSkxQbp#MR-a9|grJy3J z3JU_`uFD0$9eRk@)bss=>rzk^RfGj0e9ie2TCmW1fdt9>l zGyGKhvLuW{U)jTq0$PZo>`dM6onyC^1D?l z6$U%a8Mi@B;D=sX5~upKX9sgbdYe9ekm>DSVL$yM)yIgaB=z7VXVWAtNdx;3C;QQa zwh~SDq7A*1sPMrVfKEIs!cpqzRf4u}6|&eYc~h@(KsPYW*VR>dS*M$No0b2-A2IXo U(2JlFxBvhE07*qoM6N<$f*TWL@Bjb+ literal 0 HcmV?d00001 diff --git a/graphics/event_objects/pics/people/youngster/0.png b/graphics/event_objects/pics/people/youngster/0.png deleted file mode 100644 index b370f81412c2a29d52bb2b4d707f044061d0dc47..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 278 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?>$|uV3 ZFjOU)-8s23fS407_?C-cNo(IQG(~FgOc0r2D9q8oBc`d4eNBm-O>A%Y z>aexdPYxV-@R5%rsv+x#<1RY}$#ehT-}{@-l(ORs(4xbvE4(xB?Jn1!+OVr9eNXlE zOr9%GnYJWP<31uPQ2xPcrp4+Q2E%i6_7<}pN!U@{_+4*OGvl@thg!LrUm1ZeV(@hJ Kb6Mw<&;$VU32j~g diff --git a/graphics/event_objects/pics/people/youngster/2.png b/graphics/event_objects/pics/people/youngster/2.png deleted file mode 100644 index c8a936dd24fcc5bb97444b9ffaf2bb5a5a9c42bd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 257 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?C-cNo(IQG({?~d9WObC@y+-W~RciRmKidOYRh2 zT@|YRJC0HE)1mVBO)hi3Ox3@2k9Ad|p_$pHzYInfkKXuUcY{kzJbnYi;V$*M*o0$N z>Y^HlZ>ESIk@Vhk%~|G23RB>j>SsDF2MfO2ZE9xxbH$*f-6ftM=oAJ|S3j3^P6fS407_?c=2N4BT+XQSvEWLNX|93I@mL_*zX*RVcuDr;eRVrFjMe9661Rd|7vc(ST$@&bnLQz^;G!UBhvoIm=M zb;7|1H^0BTo6No;_WixB4U!J0=Y%xy+zVYDX4$;OIL7ePUZzP&JBpt%9ckTD?x@0$ Xu4eTAPD3FF&~*%+u6{1-oD!MfS407_?8QaoV#e zHa4-F(W}GO?tO9Kz#{D*fpH%uF*7%BzT{r1D!f2SELl}GSzO@o%^No^acUgB^!(AM zLy|`}RDXYWRAj=G{@+y~b~+m}Aw?bguN4HySZG-7|Vp TxTo?k&}9ssu6{1-oD!MfS407_?fS407_?byE#glXIQ;JJZt-A;Acw07yXS;7 zm^Db8Q(GOjb{E5>PkR@=;VzVXKXY?{`90QC3=D#;Hf;ZP$EyOJ!rfS407_?tbOk>BM(DViqkDZTK zg{}_!wwKB1N$dN2teqAwwd1$! L^>bP0l+XkK=c8;a diff --git a/graphics/event_objects/pics/people/youngster/8.png b/graphics/event_objects/pics/people/youngster/8.png deleted file mode 100644 index 3c9662746f0207cbb9466540cc446211f6276a99..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 262 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?tbOk>BM(DViqkDZTK zg{}_!wwKB1N$dN2teqAwwd1$!Fdjw5ySq&;@BWqf4Co#PPgg&e IbxsLQ0OiYTfdBvi diff --git a/src/data/field_event_obj/event_object_graphics.h b/src/data/field_event_obj/event_object_graphics.h index ccdf842fb3..d2307a932a 100755 --- a/src/data/field_event_obj/event_object_graphics.h +++ b/src/data/field_event_obj/event_object_graphics.h @@ -4,24 +4,8 @@ const u32 gEventObjectPic_BrendanNormal[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/walking.4bpp"); const u32 gEventObjectPic_BrendanRunning[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/running.4bpp"); const u16 gEventObjectPalette8[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_08.gbapal"); -const u32 gEventObjectPic_RubySapphireBrendan_0[] = INCBIN_U32("graphics/event_objects/pics/people/ruby_sapphire_brendan/00.4bpp"); -const u32 gEventObjectPic_RubySapphireBrendan_1[] = INCBIN_U32("graphics/event_objects/pics/people/ruby_sapphire_brendan/01.4bpp"); -const u32 gEventObjectPic_RubySapphireBrendan_2[] = INCBIN_U32("graphics/event_objects/pics/people/ruby_sapphire_brendan/02.4bpp"); -const u32 gEventObjectPic_RubySapphireBrendan_3[] = INCBIN_U32("graphics/event_objects/pics/people/ruby_sapphire_brendan/03.4bpp"); -const u32 gEventObjectPic_RubySapphireBrendan_4[] = INCBIN_U32("graphics/event_objects/pics/people/ruby_sapphire_brendan/04.4bpp"); -const u32 gEventObjectPic_RubySapphireBrendan_5[] = INCBIN_U32("graphics/event_objects/pics/people/ruby_sapphire_brendan/05.4bpp"); -const u32 gEventObjectPic_RubySapphireBrendan_6[] = INCBIN_U32("graphics/event_objects/pics/people/ruby_sapphire_brendan/06.4bpp"); -const u32 gEventObjectPic_RubySapphireBrendan_7[] = INCBIN_U32("graphics/event_objects/pics/people/ruby_sapphire_brendan/07.4bpp"); -const u32 gEventObjectPic_RubySapphireBrendan_8[] = INCBIN_U32("graphics/event_objects/pics/people/ruby_sapphire_brendan/08.4bpp"); -const u32 gEventObjectPic_RubySapphireBrendan_9[] = INCBIN_U32("graphics/event_objects/pics/people/ruby_sapphire_brendan/09.4bpp"); -const u32 gEventObjectPic_RubySapphireBrendan_10[] = INCBIN_U32("graphics/event_objects/pics/people/ruby_sapphire_brendan/10.4bpp"); -const u32 gEventObjectPic_RubySapphireBrendan_11[] = INCBIN_U32("graphics/event_objects/pics/people/ruby_sapphire_brendan/11.4bpp"); -const u32 gEventObjectPic_RubySapphireBrendan_12[] = INCBIN_U32("graphics/event_objects/pics/people/ruby_sapphire_brendan/12.4bpp"); -const u32 gEventObjectPic_RubySapphireBrendan_13[] = INCBIN_U32("graphics/event_objects/pics/people/ruby_sapphire_brendan/13.4bpp"); -const u32 gEventObjectPic_RubySapphireBrendan_14[] = INCBIN_U32("graphics/event_objects/pics/people/ruby_sapphire_brendan/14.4bpp"); -const u32 gEventObjectPic_RubySapphireBrendan_15[] = INCBIN_U32("graphics/event_objects/pics/people/ruby_sapphire_brendan/15.4bpp"); -const u32 gEventObjectPic_RubySapphireBrendan_16[] = INCBIN_U32("graphics/event_objects/pics/people/ruby_sapphire_brendan/16.4bpp"); -const u32 gEventObjectPic_RubySapphireBrendan_17[] = INCBIN_U32("graphics/event_objects/pics/people/ruby_sapphire_brendan/17.4bpp"); +const u32 gEventObjectPic_RubySapphireBrendanNormal[] = INCBIN_U32("graphics/event_objects/pics/people/ruby_sapphire_brendan/walking.4bpp"); +const u32 gEventObjectPic_RubySapphireBrendanRunning[] = INCBIN_U32("graphics/event_objects/pics/people/ruby_sapphire_brendan/running.4bpp"); const u16 gEventObjectPalette33[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_33.gbapal"); const u16 NullPalette_8499A38[16] = {}; const u16 NullPalette_8499A58[16] = {}; @@ -55,24 +39,8 @@ const u32 gEventObjectPic_MayNormal[] = INCBIN_U32("graphics/event_objects/pics/ const u32 gEventObjectPic_MayRunning[] = INCBIN_U32("graphics/event_objects/pics/people/may/running.4bpp"); const u16 gEventObjectPalette17[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_17.gbapal"); const u16 gEventObjectPalette18[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_18.gbapal"); -const u32 gEventObjectPic_RubySapphireMay_0[] = INCBIN_U32("graphics/event_objects/pics/people/ruby_sapphire_may/00.4bpp"); -const u32 gEventObjectPic_RubySapphireMay_1[] = INCBIN_U32("graphics/event_objects/pics/people/ruby_sapphire_may/01.4bpp"); -const u32 gEventObjectPic_RubySapphireMay_2[] = INCBIN_U32("graphics/event_objects/pics/people/ruby_sapphire_may/02.4bpp"); -const u32 gEventObjectPic_RubySapphireMay_3[] = INCBIN_U32("graphics/event_objects/pics/people/ruby_sapphire_may/03.4bpp"); -const u32 gEventObjectPic_RubySapphireMay_4[] = INCBIN_U32("graphics/event_objects/pics/people/ruby_sapphire_may/04.4bpp"); -const u32 gEventObjectPic_RubySapphireMay_5[] = INCBIN_U32("graphics/event_objects/pics/people/ruby_sapphire_may/05.4bpp"); -const u32 gEventObjectPic_RubySapphireMay_6[] = INCBIN_U32("graphics/event_objects/pics/people/ruby_sapphire_may/06.4bpp"); -const u32 gEventObjectPic_RubySapphireMay_7[] = INCBIN_U32("graphics/event_objects/pics/people/ruby_sapphire_may/07.4bpp"); -const u32 gEventObjectPic_RubySapphireMay_8[] = INCBIN_U32("graphics/event_objects/pics/people/ruby_sapphire_may/08.4bpp"); -const u32 gEventObjectPic_RubySapphireMay_9[] = INCBIN_U32("graphics/event_objects/pics/people/ruby_sapphire_may/09.4bpp"); -const u32 gEventObjectPic_RubySapphireMay_10[] = INCBIN_U32("graphics/event_objects/pics/people/ruby_sapphire_may/10.4bpp"); -const u32 gEventObjectPic_RubySapphireMay_11[] = INCBIN_U32("graphics/event_objects/pics/people/ruby_sapphire_may/11.4bpp"); -const u32 gEventObjectPic_RubySapphireMay_12[] = INCBIN_U32("graphics/event_objects/pics/people/ruby_sapphire_may/12.4bpp"); -const u32 gEventObjectPic_RubySapphireMay_13[] = INCBIN_U32("graphics/event_objects/pics/people/ruby_sapphire_may/13.4bpp"); -const u32 gEventObjectPic_RubySapphireMay_14[] = INCBIN_U32("graphics/event_objects/pics/people/ruby_sapphire_may/14.4bpp"); -const u32 gEventObjectPic_RubySapphireMay_15[] = INCBIN_U32("graphics/event_objects/pics/people/ruby_sapphire_may/15.4bpp"); -const u32 gEventObjectPic_RubySapphireMay_16[] = INCBIN_U32("graphics/event_objects/pics/people/ruby_sapphire_may/16.4bpp"); -const u32 gEventObjectPic_RubySapphireMay_17[] = INCBIN_U32("graphics/event_objects/pics/people/ruby_sapphire_may/17.4bpp"); +const u32 gEventObjectPic_RubySapphireMayNormal[] = INCBIN_U32("graphics/event_objects/pics/people/ruby_sapphire_may/walking.4bpp"); +const u32 gEventObjectPic_RubySapphireMayRunning[] = INCBIN_U32("graphics/event_objects/pics/people/ruby_sapphire_may/running.4bpp"); const u16 gEventObjectPalette34[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_34.gbapal"); const u16 gUnusedEventObjectPalette[] = INCBIN_U16("graphics/event_objects/palettes/unused_palette.gbapal"); const u16 NullPalette_84A54F8[16] = {}; @@ -103,708 +71,101 @@ const u16 gEventObjectPalette4[] = INCBIN_U16("graphics/event_objects/palettes/f const u16 gEventObjectPalette5[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_05.gbapal"); const u16 gEventObjectPalette6[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_06.gbapal"); const u16 gEventObjectPalette7[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_07.gbapal"); -const u32 gEventObjectPic_LittleBoy1_0[] = INCBIN_U32("graphics/event_objects/pics/people/little_boy_1/0.4bpp"); -const u32 gEventObjectPic_LittleBoy1_1[] = INCBIN_U32("graphics/event_objects/pics/people/little_boy_1/1.4bpp"); -const u32 gEventObjectPic_LittleBoy1_2[] = INCBIN_U32("graphics/event_objects/pics/people/little_boy_1/2.4bpp"); -const u32 gEventObjectPic_LittleBoy1_3[] = INCBIN_U32("graphics/event_objects/pics/people/little_boy_1/3.4bpp"); -const u32 gEventObjectPic_LittleBoy1_4[] = INCBIN_U32("graphics/event_objects/pics/people/little_boy_1/4.4bpp"); -const u32 gEventObjectPic_LittleBoy1_5[] = INCBIN_U32("graphics/event_objects/pics/people/little_boy_1/5.4bpp"); -const u32 gEventObjectPic_LittleBoy1_6[] = INCBIN_U32("graphics/event_objects/pics/people/little_boy_1/6.4bpp"); -const u32 gEventObjectPic_LittleBoy1_7[] = INCBIN_U32("graphics/event_objects/pics/people/little_boy_1/7.4bpp"); -const u32 gEventObjectPic_LittleBoy1_8[] = INCBIN_U32("graphics/event_objects/pics/people/little_boy_1/8.4bpp"); -const u32 gEventObjectPic_LittleGirl1_0[] = INCBIN_U32("graphics/event_objects/pics/people/little_girl_1/0.4bpp"); -const u32 gEventObjectPic_LittleGirl1_1[] = INCBIN_U32("graphics/event_objects/pics/people/little_girl_1/1.4bpp"); -const u32 gEventObjectPic_LittleGirl1_2[] = INCBIN_U32("graphics/event_objects/pics/people/little_girl_1/2.4bpp"); -const u32 gEventObjectPic_LittleGirl1_3[] = INCBIN_U32("graphics/event_objects/pics/people/little_girl_1/3.4bpp"); -const u32 gEventObjectPic_LittleGirl1_4[] = INCBIN_U32("graphics/event_objects/pics/people/little_girl_1/4.4bpp"); -const u32 gEventObjectPic_LittleGirl1_5[] = INCBIN_U32("graphics/event_objects/pics/people/little_girl_1/5.4bpp"); -const u32 gEventObjectPic_LittleGirl1_6[] = INCBIN_U32("graphics/event_objects/pics/people/little_girl_1/6.4bpp"); -const u32 gEventObjectPic_LittleGirl1_7[] = INCBIN_U32("graphics/event_objects/pics/people/little_girl_1/7.4bpp"); -const u32 gEventObjectPic_LittleGirl1_8[] = INCBIN_U32("graphics/event_objects/pics/people/little_girl_1/8.4bpp"); -const u32 gEventObjectPic_Boy1_0[] = INCBIN_U32("graphics/event_objects/pics/people/boy_1/0.4bpp"); -const u32 gEventObjectPic_Boy1_1[] = INCBIN_U32("graphics/event_objects/pics/people/boy_1/1.4bpp"); -const u32 gEventObjectPic_Boy1_2[] = INCBIN_U32("graphics/event_objects/pics/people/boy_1/2.4bpp"); -const u32 gEventObjectPic_Boy1_3[] = INCBIN_U32("graphics/event_objects/pics/people/boy_1/3.4bpp"); -const u32 gEventObjectPic_Boy1_4[] = INCBIN_U32("graphics/event_objects/pics/people/boy_1/4.4bpp"); -const u32 gEventObjectPic_Boy1_5[] = INCBIN_U32("graphics/event_objects/pics/people/boy_1/5.4bpp"); -const u32 gEventObjectPic_Boy1_6[] = INCBIN_U32("graphics/event_objects/pics/people/boy_1/6.4bpp"); -const u32 gEventObjectPic_Boy1_7[] = INCBIN_U32("graphics/event_objects/pics/people/boy_1/7.4bpp"); -const u32 gEventObjectPic_Boy1_8[] = INCBIN_U32("graphics/event_objects/pics/people/boy_1/8.4bpp"); -const u32 gEventObjectPic_Girl1_0[] = INCBIN_U32("graphics/event_objects/pics/people/girl_1/0.4bpp"); -const u32 gEventObjectPic_Girl1_1[] = INCBIN_U32("graphics/event_objects/pics/people/girl_1/1.4bpp"); -const u32 gEventObjectPic_Girl1_2[] = INCBIN_U32("graphics/event_objects/pics/people/girl_1/2.4bpp"); -const u32 gEventObjectPic_Girl1_3[] = INCBIN_U32("graphics/event_objects/pics/people/girl_1/3.4bpp"); -const u32 gEventObjectPic_Girl1_4[] = INCBIN_U32("graphics/event_objects/pics/people/girl_1/4.4bpp"); -const u32 gEventObjectPic_Girl1_5[] = INCBIN_U32("graphics/event_objects/pics/people/girl_1/5.4bpp"); -const u32 gEventObjectPic_Girl1_6[] = INCBIN_U32("graphics/event_objects/pics/people/girl_1/6.4bpp"); -const u32 gEventObjectPic_Girl1_7[] = INCBIN_U32("graphics/event_objects/pics/people/girl_1/7.4bpp"); -const u32 gEventObjectPic_Girl1_8[] = INCBIN_U32("graphics/event_objects/pics/people/girl_1/8.4bpp"); -const u32 gEventObjectPic_Boy2_0[] = INCBIN_U32("graphics/event_objects/pics/people/boy_2/0.4bpp"); -const u32 gEventObjectPic_Boy2_1[] = INCBIN_U32("graphics/event_objects/pics/people/boy_2/1.4bpp"); -const u32 gEventObjectPic_Boy2_2[] = INCBIN_U32("graphics/event_objects/pics/people/boy_2/2.4bpp"); -const u32 gEventObjectPic_Boy2_3[] = INCBIN_U32("graphics/event_objects/pics/people/boy_2/3.4bpp"); -const u32 gEventObjectPic_Boy2_4[] = INCBIN_U32("graphics/event_objects/pics/people/boy_2/4.4bpp"); -const u32 gEventObjectPic_Boy2_5[] = INCBIN_U32("graphics/event_objects/pics/people/boy_2/5.4bpp"); -const u32 gEventObjectPic_Boy2_6[] = INCBIN_U32("graphics/event_objects/pics/people/boy_2/6.4bpp"); -const u32 gEventObjectPic_Boy2_7[] = INCBIN_U32("graphics/event_objects/pics/people/boy_2/7.4bpp"); -const u32 gEventObjectPic_Boy2_8[] = INCBIN_U32("graphics/event_objects/pics/people/boy_2/8.4bpp"); -const u32 gEventObjectPic_Girl2_0[] = INCBIN_U32("graphics/event_objects/pics/people/girl_2/0.4bpp"); -const u32 gEventObjectPic_Girl2_1[] = INCBIN_U32("graphics/event_objects/pics/people/girl_2/1.4bpp"); -const u32 gEventObjectPic_Girl2_2[] = INCBIN_U32("graphics/event_objects/pics/people/girl_2/2.4bpp"); -const u32 gEventObjectPic_Girl2_3[] = INCBIN_U32("graphics/event_objects/pics/people/girl_2/3.4bpp"); -const u32 gEventObjectPic_Girl2_4[] = INCBIN_U32("graphics/event_objects/pics/people/girl_2/4.4bpp"); -const u32 gEventObjectPic_Girl2_5[] = INCBIN_U32("graphics/event_objects/pics/people/girl_2/5.4bpp"); -const u32 gEventObjectPic_Girl2_6[] = INCBIN_U32("graphics/event_objects/pics/people/girl_2/6.4bpp"); -const u32 gEventObjectPic_Girl2_7[] = INCBIN_U32("graphics/event_objects/pics/people/girl_2/7.4bpp"); -const u32 gEventObjectPic_Girl2_8[] = INCBIN_U32("graphics/event_objects/pics/people/girl_2/8.4bpp"); -const u32 gEventObjectPic_LittleBoy2_0[] = INCBIN_U32("graphics/event_objects/pics/people/little_boy_2/0.4bpp"); -const u32 gEventObjectPic_LittleBoy2_1[] = INCBIN_U32("graphics/event_objects/pics/people/little_boy_2/1.4bpp"); -const u32 gEventObjectPic_LittleBoy2_2[] = INCBIN_U32("graphics/event_objects/pics/people/little_boy_2/2.4bpp"); -const u32 gEventObjectPic_LittleBoy2_3[] = INCBIN_U32("graphics/event_objects/pics/people/little_boy_2/3.4bpp"); -const u32 gEventObjectPic_LittleBoy2_4[] = INCBIN_U32("graphics/event_objects/pics/people/little_boy_2/4.4bpp"); -const u32 gEventObjectPic_LittleBoy2_5[] = INCBIN_U32("graphics/event_objects/pics/people/little_boy_2/5.4bpp"); -const u32 gEventObjectPic_LittleBoy2_6[] = INCBIN_U32("graphics/event_objects/pics/people/little_boy_2/6.4bpp"); -const u32 gEventObjectPic_LittleBoy2_7[] = INCBIN_U32("graphics/event_objects/pics/people/little_boy_2/7.4bpp"); -const u32 gEventObjectPic_LittleBoy2_8[] = INCBIN_U32("graphics/event_objects/pics/people/little_boy_2/8.4bpp"); -const u32 gEventObjectPic_LittleGirl2_0[] = INCBIN_U32("graphics/event_objects/pics/people/little_girl_2/0.4bpp"); -const u32 gEventObjectPic_LittleGirl2_1[] = INCBIN_U32("graphics/event_objects/pics/people/little_girl_2/1.4bpp"); -const u32 gEventObjectPic_LittleGirl2_2[] = INCBIN_U32("graphics/event_objects/pics/people/little_girl_2/2.4bpp"); -const u32 gEventObjectPic_LittleGirl2_3[] = INCBIN_U32("graphics/event_objects/pics/people/little_girl_2/3.4bpp"); -const u32 gEventObjectPic_LittleGirl2_4[] = INCBIN_U32("graphics/event_objects/pics/people/little_girl_2/4.4bpp"); -const u32 gEventObjectPic_LittleGirl2_5[] = INCBIN_U32("graphics/event_objects/pics/people/little_girl_2/5.4bpp"); -const u32 gEventObjectPic_LittleGirl2_6[] = INCBIN_U32("graphics/event_objects/pics/people/little_girl_2/6.4bpp"); -const u32 gEventObjectPic_LittleGirl2_7[] = INCBIN_U32("graphics/event_objects/pics/people/little_girl_2/7.4bpp"); -const u32 gEventObjectPic_LittleGirl2_8[] = INCBIN_U32("graphics/event_objects/pics/people/little_girl_2/8.4bpp"); -const u32 gEventObjectPic_Boy3_0[] = INCBIN_U32("graphics/event_objects/pics/people/boy_3/0.4bpp"); -const u32 gEventObjectPic_Boy3_1[] = INCBIN_U32("graphics/event_objects/pics/people/boy_3/1.4bpp"); -const u32 gEventObjectPic_Boy3_2[] = INCBIN_U32("graphics/event_objects/pics/people/boy_3/2.4bpp"); -const u32 gEventObjectPic_Boy3_3[] = INCBIN_U32("graphics/event_objects/pics/people/boy_3/3.4bpp"); -const u32 gEventObjectPic_Boy3_4[] = INCBIN_U32("graphics/event_objects/pics/people/boy_3/4.4bpp"); -const u32 gEventObjectPic_Boy3_5[] = INCBIN_U32("graphics/event_objects/pics/people/boy_3/5.4bpp"); -const u32 gEventObjectPic_Boy3_6[] = INCBIN_U32("graphics/event_objects/pics/people/boy_3/6.4bpp"); -const u32 gEventObjectPic_Boy3_7[] = INCBIN_U32("graphics/event_objects/pics/people/boy_3/7.4bpp"); -const u32 gEventObjectPic_Boy3_8[] = INCBIN_U32("graphics/event_objects/pics/people/boy_3/8.4bpp"); -const u32 gEventObjectPic_Girl3_0[] = INCBIN_U32("graphics/event_objects/pics/people/girl_3/0.4bpp"); -const u32 gEventObjectPic_Girl3_1[] = INCBIN_U32("graphics/event_objects/pics/people/girl_3/1.4bpp"); -const u32 gEventObjectPic_Girl3_2[] = INCBIN_U32("graphics/event_objects/pics/people/girl_3/2.4bpp"); -const u32 gEventObjectPic_Girl3_3[] = INCBIN_U32("graphics/event_objects/pics/people/girl_3/3.4bpp"); -const u32 gEventObjectPic_Girl3_4[] = INCBIN_U32("graphics/event_objects/pics/people/girl_3/4.4bpp"); -const u32 gEventObjectPic_Girl3_5[] = INCBIN_U32("graphics/event_objects/pics/people/girl_3/5.4bpp"); -const u32 gEventObjectPic_Girl3_6[] = INCBIN_U32("graphics/event_objects/pics/people/girl_3/6.4bpp"); -const u32 gEventObjectPic_Girl3_7[] = INCBIN_U32("graphics/event_objects/pics/people/girl_3/7.4bpp"); -const u32 gEventObjectPic_Girl3_8[] = INCBIN_U32("graphics/event_objects/pics/people/girl_3/8.4bpp"); -const u32 gEventObjectPic_Boy4_0[] = INCBIN_U32("graphics/event_objects/pics/people/boy_4/0.4bpp"); -const u32 gEventObjectPic_Boy4_1[] = INCBIN_U32("graphics/event_objects/pics/people/boy_4/1.4bpp"); -const u32 gEventObjectPic_Boy4_2[] = INCBIN_U32("graphics/event_objects/pics/people/boy_4/2.4bpp"); -const u32 gEventObjectPic_Boy4_3[] = INCBIN_U32("graphics/event_objects/pics/people/boy_4/3.4bpp"); -const u32 gEventObjectPic_Boy4_4[] = INCBIN_U32("graphics/event_objects/pics/people/boy_4/4.4bpp"); -const u32 gEventObjectPic_Boy4_5[] = INCBIN_U32("graphics/event_objects/pics/people/boy_4/5.4bpp"); -const u32 gEventObjectPic_Boy4_6[] = INCBIN_U32("graphics/event_objects/pics/people/boy_4/6.4bpp"); -const u32 gEventObjectPic_Boy4_7[] = INCBIN_U32("graphics/event_objects/pics/people/boy_4/7.4bpp"); -const u32 gEventObjectPic_Boy4_8[] = INCBIN_U32("graphics/event_objects/pics/people/boy_4/8.4bpp"); -const u32 gEventObjectPic_Woman1_0[] = INCBIN_U32("graphics/event_objects/pics/people/woman_1/0.4bpp"); -const u32 gEventObjectPic_Woman1_1[] = INCBIN_U32("graphics/event_objects/pics/people/woman_1/1.4bpp"); -const u32 gEventObjectPic_Woman1_2[] = INCBIN_U32("graphics/event_objects/pics/people/woman_1/2.4bpp"); -const u32 gEventObjectPic_Woman1_3[] = INCBIN_U32("graphics/event_objects/pics/people/woman_1/3.4bpp"); -const u32 gEventObjectPic_Woman1_4[] = INCBIN_U32("graphics/event_objects/pics/people/woman_1/4.4bpp"); -const u32 gEventObjectPic_Woman1_5[] = INCBIN_U32("graphics/event_objects/pics/people/woman_1/5.4bpp"); -const u32 gEventObjectPic_Woman1_6[] = INCBIN_U32("graphics/event_objects/pics/people/woman_1/6.4bpp"); -const u32 gEventObjectPic_Woman1_7[] = INCBIN_U32("graphics/event_objects/pics/people/woman_1/7.4bpp"); -const u32 gEventObjectPic_Woman1_8[] = INCBIN_U32("graphics/event_objects/pics/people/woman_1/8.4bpp"); -const u32 gEventObjectPic_FatMan_0[] = INCBIN_U32("graphics/event_objects/pics/people/fat_man/0.4bpp"); -const u32 gEventObjectPic_FatMan_1[] = INCBIN_U32("graphics/event_objects/pics/people/fat_man/1.4bpp"); -const u32 gEventObjectPic_FatMan_2[] = INCBIN_U32("graphics/event_objects/pics/people/fat_man/2.4bpp"); -const u32 gEventObjectPic_FatMan_3[] = INCBIN_U32("graphics/event_objects/pics/people/fat_man/3.4bpp"); -const u32 gEventObjectPic_FatMan_4[] = INCBIN_U32("graphics/event_objects/pics/people/fat_man/4.4bpp"); -const u32 gEventObjectPic_FatMan_5[] = INCBIN_U32("graphics/event_objects/pics/people/fat_man/5.4bpp"); -const u32 gEventObjectPic_FatMan_6[] = INCBIN_U32("graphics/event_objects/pics/people/fat_man/6.4bpp"); -const u32 gEventObjectPic_FatMan_7[] = INCBIN_U32("graphics/event_objects/pics/people/fat_man/7.4bpp"); -const u32 gEventObjectPic_FatMan_8[] = INCBIN_U32("graphics/event_objects/pics/people/fat_man/8.4bpp"); -const u32 gEventObjectPic_Woman2_0[] = INCBIN_U32("graphics/event_objects/pics/people/woman_2/0.4bpp"); -const u32 gEventObjectPic_Woman2_1[] = INCBIN_U32("graphics/event_objects/pics/people/woman_2/1.4bpp"); -const u32 gEventObjectPic_Woman2_2[] = INCBIN_U32("graphics/event_objects/pics/people/woman_2/2.4bpp"); -const u32 gEventObjectPic_Woman2_3[] = INCBIN_U32("graphics/event_objects/pics/people/woman_2/3.4bpp"); -const u32 gEventObjectPic_Woman2_4[] = INCBIN_U32("graphics/event_objects/pics/people/woman_2/4.4bpp"); -const u32 gEventObjectPic_Woman2_5[] = INCBIN_U32("graphics/event_objects/pics/people/woman_2/5.4bpp"); -const u32 gEventObjectPic_Woman2_6[] = INCBIN_U32("graphics/event_objects/pics/people/woman_2/6.4bpp"); -const u32 gEventObjectPic_Woman2_7[] = INCBIN_U32("graphics/event_objects/pics/people/woman_2/7.4bpp"); -const u32 gEventObjectPic_Woman2_8[] = INCBIN_U32("graphics/event_objects/pics/people/woman_2/8.4bpp"); -const u32 gEventObjectPic_Man1_0[] = INCBIN_U32("graphics/event_objects/pics/people/man_1/0.4bpp"); -const u32 gEventObjectPic_Man1_1[] = INCBIN_U32("graphics/event_objects/pics/people/man_1/1.4bpp"); -const u32 gEventObjectPic_Man1_2[] = INCBIN_U32("graphics/event_objects/pics/people/man_1/2.4bpp"); -const u32 gEventObjectPic_Man1_3[] = INCBIN_U32("graphics/event_objects/pics/people/man_1/3.4bpp"); -const u32 gEventObjectPic_Man1_4[] = INCBIN_U32("graphics/event_objects/pics/people/man_1/4.4bpp"); -const u32 gEventObjectPic_Man1_5[] = INCBIN_U32("graphics/event_objects/pics/people/man_1/5.4bpp"); -const u32 gEventObjectPic_Man1_6[] = INCBIN_U32("graphics/event_objects/pics/people/man_1/6.4bpp"); -const u32 gEventObjectPic_Man1_7[] = INCBIN_U32("graphics/event_objects/pics/people/man_1/7.4bpp"); -const u32 gEventObjectPic_Man1_8[] = INCBIN_U32("graphics/event_objects/pics/people/man_1/8.4bpp"); -const u32 gEventObjectPic_Woman3_0[] = INCBIN_U32("graphics/event_objects/pics/people/woman_3/0.4bpp"); -const u32 gEventObjectPic_Woman3_1[] = INCBIN_U32("graphics/event_objects/pics/people/woman_3/1.4bpp"); -const u32 gEventObjectPic_Woman3_2[] = INCBIN_U32("graphics/event_objects/pics/people/woman_3/2.4bpp"); -const u32 gEventObjectPic_Woman3_3[] = INCBIN_U32("graphics/event_objects/pics/people/woman_3/3.4bpp"); -const u32 gEventObjectPic_Woman3_4[] = INCBIN_U32("graphics/event_objects/pics/people/woman_3/4.4bpp"); -const u32 gEventObjectPic_Woman3_5[] = INCBIN_U32("graphics/event_objects/pics/people/woman_3/5.4bpp"); -const u32 gEventObjectPic_Woman3_6[] = INCBIN_U32("graphics/event_objects/pics/people/woman_3/6.4bpp"); -const u32 gEventObjectPic_Woman3_7[] = INCBIN_U32("graphics/event_objects/pics/people/woman_3/7.4bpp"); -const u32 gEventObjectPic_Woman3_8[] = INCBIN_U32("graphics/event_objects/pics/people/woman_3/8.4bpp"); -const u32 gEventObjectPic_OldMan1_0[] = INCBIN_U32("graphics/event_objects/pics/people/old_man_1/0.4bpp"); -const u32 gEventObjectPic_OldMan1_1[] = INCBIN_U32("graphics/event_objects/pics/people/old_man_1/1.4bpp"); -const u32 gEventObjectPic_OldMan1_2[] = INCBIN_U32("graphics/event_objects/pics/people/old_man_1/2.4bpp"); -const u32 gEventObjectPic_OldMan1_3[] = INCBIN_U32("graphics/event_objects/pics/people/old_man_1/3.4bpp"); -const u32 gEventObjectPic_OldMan1_4[] = INCBIN_U32("graphics/event_objects/pics/people/old_man_1/4.4bpp"); -const u32 gEventObjectPic_OldMan1_5[] = INCBIN_U32("graphics/event_objects/pics/people/old_man_1/5.4bpp"); -const u32 gEventObjectPic_OldMan1_6[] = INCBIN_U32("graphics/event_objects/pics/people/old_man_1/6.4bpp"); -const u32 gEventObjectPic_OldMan1_7[] = INCBIN_U32("graphics/event_objects/pics/people/old_man_1/7.4bpp"); -const u32 gEventObjectPic_OldMan1_8[] = INCBIN_U32("graphics/event_objects/pics/people/old_man_1/8.4bpp"); -const u32 gEventObjectPic_OldWoman1_0[] = INCBIN_U32("graphics/event_objects/pics/people/old_woman_1/0.4bpp"); -const u32 gEventObjectPic_OldWoman1_1[] = INCBIN_U32("graphics/event_objects/pics/people/old_woman_1/1.4bpp"); -const u32 gEventObjectPic_OldWoman1_2[] = INCBIN_U32("graphics/event_objects/pics/people/old_woman_1/2.4bpp"); -const u32 gEventObjectPic_OldWoman1_3[] = INCBIN_U32("graphics/event_objects/pics/people/old_woman_1/3.4bpp"); -const u32 gEventObjectPic_OldWoman1_4[] = INCBIN_U32("graphics/event_objects/pics/people/old_woman_1/4.4bpp"); -const u32 gEventObjectPic_OldWoman1_5[] = INCBIN_U32("graphics/event_objects/pics/people/old_woman_1/5.4bpp"); -const u32 gEventObjectPic_OldWoman1_6[] = INCBIN_U32("graphics/event_objects/pics/people/old_woman_1/6.4bpp"); -const u32 gEventObjectPic_OldWoman1_7[] = INCBIN_U32("graphics/event_objects/pics/people/old_woman_1/7.4bpp"); -const u32 gEventObjectPic_OldWoman1_8[] = INCBIN_U32("graphics/event_objects/pics/people/old_woman_1/8.4bpp"); -const u32 gEventObjectPic_Man2_0[] = INCBIN_U32("graphics/event_objects/pics/people/man_2/0.4bpp"); -const u32 gEventObjectPic_Man2_1[] = INCBIN_U32("graphics/event_objects/pics/people/man_2/1.4bpp"); -const u32 gEventObjectPic_Man2_2[] = INCBIN_U32("graphics/event_objects/pics/people/man_2/2.4bpp"); -const u32 gEventObjectPic_Man2_3[] = INCBIN_U32("graphics/event_objects/pics/people/man_2/3.4bpp"); -const u32 gEventObjectPic_Man2_4[] = INCBIN_U32("graphics/event_objects/pics/people/man_2/4.4bpp"); -const u32 gEventObjectPic_Man2_5[] = INCBIN_U32("graphics/event_objects/pics/people/man_2/5.4bpp"); -const u32 gEventObjectPic_Man2_6[] = INCBIN_U32("graphics/event_objects/pics/people/man_2/6.4bpp"); -const u32 gEventObjectPic_Man2_7[] = INCBIN_U32("graphics/event_objects/pics/people/man_2/7.4bpp"); -const u32 gEventObjectPic_Man2_8[] = INCBIN_U32("graphics/event_objects/pics/people/man_2/8.4bpp"); -const u32 gEventObjectPic_Woman4_0[] = INCBIN_U32("graphics/event_objects/pics/people/woman_4/0.4bpp"); -const u32 gEventObjectPic_Woman4_1[] = INCBIN_U32("graphics/event_objects/pics/people/woman_4/1.4bpp"); -const u32 gEventObjectPic_Woman4_2[] = INCBIN_U32("graphics/event_objects/pics/people/woman_4/2.4bpp"); -const u32 gEventObjectPic_Woman4_3[] = INCBIN_U32("graphics/event_objects/pics/people/woman_4/3.4bpp"); -const u32 gEventObjectPic_Woman4_4[] = INCBIN_U32("graphics/event_objects/pics/people/woman_4/4.4bpp"); -const u32 gEventObjectPic_Woman4_5[] = INCBIN_U32("graphics/event_objects/pics/people/woman_4/5.4bpp"); -const u32 gEventObjectPic_Woman4_6[] = INCBIN_U32("graphics/event_objects/pics/people/woman_4/6.4bpp"); -const u32 gEventObjectPic_Woman4_7[] = INCBIN_U32("graphics/event_objects/pics/people/woman_4/7.4bpp"); -const u32 gEventObjectPic_Woman4_8[] = INCBIN_U32("graphics/event_objects/pics/people/woman_4/8.4bpp"); -const u32 gEventObjectPic_Man3_0[] = INCBIN_U32("graphics/event_objects/pics/people/man_3/0.4bpp"); -const u32 gEventObjectPic_Man3_1[] = INCBIN_U32("graphics/event_objects/pics/people/man_3/1.4bpp"); -const u32 gEventObjectPic_Man3_2[] = INCBIN_U32("graphics/event_objects/pics/people/man_3/2.4bpp"); -const u32 gEventObjectPic_Man3_3[] = INCBIN_U32("graphics/event_objects/pics/people/man_3/3.4bpp"); -const u32 gEventObjectPic_Man3_4[] = INCBIN_U32("graphics/event_objects/pics/people/man_3/4.4bpp"); -const u32 gEventObjectPic_Man3_5[] = INCBIN_U32("graphics/event_objects/pics/people/man_3/5.4bpp"); -const u32 gEventObjectPic_Man3_6[] = INCBIN_U32("graphics/event_objects/pics/people/man_3/6.4bpp"); -const u32 gEventObjectPic_Man3_7[] = INCBIN_U32("graphics/event_objects/pics/people/man_3/7.4bpp"); -const u32 gEventObjectPic_Man3_8[] = INCBIN_U32("graphics/event_objects/pics/people/man_3/8.4bpp"); -const u32 gEventObjectPic_Woman5_0[] = INCBIN_U32("graphics/event_objects/pics/people/woman_5/0.4bpp"); -const u32 gEventObjectPic_Woman5_1[] = INCBIN_U32("graphics/event_objects/pics/people/woman_5/1.4bpp"); -const u32 gEventObjectPic_Woman5_2[] = INCBIN_U32("graphics/event_objects/pics/people/woman_5/2.4bpp"); -const u32 gEventObjectPic_Woman5_3[] = INCBIN_U32("graphics/event_objects/pics/people/woman_5/3.4bpp"); -const u32 gEventObjectPic_Woman5_4[] = INCBIN_U32("graphics/event_objects/pics/people/woman_5/4.4bpp"); -const u32 gEventObjectPic_Woman5_5[] = INCBIN_U32("graphics/event_objects/pics/people/woman_5/5.4bpp"); -const u32 gEventObjectPic_Woman5_6[] = INCBIN_U32("graphics/event_objects/pics/people/woman_5/6.4bpp"); -const u32 gEventObjectPic_Woman5_7[] = INCBIN_U32("graphics/event_objects/pics/people/woman_5/7.4bpp"); -const u32 gEventObjectPic_Woman5_8[] = INCBIN_U32("graphics/event_objects/pics/people/woman_5/8.4bpp"); -const u32 gEventObjectPic_Cook_0[] = INCBIN_U32("graphics/event_objects/pics/people/cook/0.4bpp"); -const u32 gEventObjectPic_Cook_1[] = INCBIN_U32("graphics/event_objects/pics/people/cook/1.4bpp"); -const u32 gEventObjectPic_Cook_2[] = INCBIN_U32("graphics/event_objects/pics/people/cook/2.4bpp"); -const u32 gEventObjectPic_Woman6_0[] = INCBIN_U32("graphics/event_objects/pics/people/woman_6/0.4bpp"); -const u32 gEventObjectPic_Woman6_1[] = INCBIN_U32("graphics/event_objects/pics/people/woman_6/1.4bpp"); -const u32 gEventObjectPic_Woman6_2[] = INCBIN_U32("graphics/event_objects/pics/people/woman_6/2.4bpp"); -const u32 gEventObjectPic_Woman6_3[] = INCBIN_U32("graphics/event_objects/pics/people/woman_6/3.4bpp"); -const u32 gEventObjectPic_Woman6_4[] = INCBIN_U32("graphics/event_objects/pics/people/woman_6/4.4bpp"); -const u32 gEventObjectPic_Woman6_5[] = INCBIN_U32("graphics/event_objects/pics/people/woman_6/5.4bpp"); -const u32 gEventObjectPic_Woman6_6[] = INCBIN_U32("graphics/event_objects/pics/people/woman_6/6.4bpp"); -const u32 gEventObjectPic_Woman6_7[] = INCBIN_U32("graphics/event_objects/pics/people/woman_6/7.4bpp"); -const u32 gEventObjectPic_Woman6_8[] = INCBIN_U32("graphics/event_objects/pics/people/woman_6/8.4bpp"); -const u32 gEventObjectPic_OldMan2_0[] = INCBIN_U32("graphics/event_objects/pics/people/old_man_2/0.4bpp"); -const u32 gEventObjectPic_OldMan2_1[] = INCBIN_U32("graphics/event_objects/pics/people/old_man_2/1.4bpp"); -const u32 gEventObjectPic_OldMan2_2[] = INCBIN_U32("graphics/event_objects/pics/people/old_man_2/2.4bpp"); -const u32 gEventObjectPic_OldWoman2_0[] = INCBIN_U32("graphics/event_objects/pics/people/old_woman_2/0.4bpp"); -const u32 gEventObjectPic_OldWoman2_1[] = INCBIN_U32("graphics/event_objects/pics/people/old_woman_2/1.4bpp"); -const u32 gEventObjectPic_OldWoman2_2[] = INCBIN_U32("graphics/event_objects/pics/people/old_woman_2/2.4bpp"); -const u32 gEventObjectPic_OldWoman2_3[] = INCBIN_U32("graphics/event_objects/pics/people/old_woman_2/3.4bpp"); -const u32 gEventObjectPic_OldWoman2_4[] = INCBIN_U32("graphics/event_objects/pics/people/old_woman_2/4.4bpp"); -const u32 gEventObjectPic_OldWoman2_5[] = INCBIN_U32("graphics/event_objects/pics/people/old_woman_2/5.4bpp"); -const u32 gEventObjectPic_OldWoman2_6[] = INCBIN_U32("graphics/event_objects/pics/people/old_woman_2/6.4bpp"); -const u32 gEventObjectPic_OldWoman2_7[] = INCBIN_U32("graphics/event_objects/pics/people/old_woman_2/7.4bpp"); -const u32 gEventObjectPic_OldWoman2_8[] = INCBIN_U32("graphics/event_objects/pics/people/old_woman_2/8.4bpp"); -const u32 gEventObjectPic_Camper_0[] = INCBIN_U32("graphics/event_objects/pics/people/camper/0.4bpp"); -const u32 gEventObjectPic_Camper_1[] = INCBIN_U32("graphics/event_objects/pics/people/camper/1.4bpp"); -const u32 gEventObjectPic_Camper_2[] = INCBIN_U32("graphics/event_objects/pics/people/camper/2.4bpp"); -const u32 gEventObjectPic_Camper_3[] = INCBIN_U32("graphics/event_objects/pics/people/camper/3.4bpp"); -const u32 gEventObjectPic_Camper_4[] = INCBIN_U32("graphics/event_objects/pics/people/camper/4.4bpp"); -const u32 gEventObjectPic_Camper_5[] = INCBIN_U32("graphics/event_objects/pics/people/camper/5.4bpp"); -const u32 gEventObjectPic_Camper_6[] = INCBIN_U32("graphics/event_objects/pics/people/camper/6.4bpp"); -const u32 gEventObjectPic_Camper_7[] = INCBIN_U32("graphics/event_objects/pics/people/camper/7.4bpp"); -const u32 gEventObjectPic_Camper_8[] = INCBIN_U32("graphics/event_objects/pics/people/camper/8.4bpp"); -const u32 gEventObjectPic_Picnicker_0[] = INCBIN_U32("graphics/event_objects/pics/people/picnicker/0.4bpp"); -const u32 gEventObjectPic_Picnicker_1[] = INCBIN_U32("graphics/event_objects/pics/people/picnicker/1.4bpp"); -const u32 gEventObjectPic_Picnicker_2[] = INCBIN_U32("graphics/event_objects/pics/people/picnicker/2.4bpp"); -const u32 gEventObjectPic_Picnicker_3[] = INCBIN_U32("graphics/event_objects/pics/people/picnicker/3.4bpp"); -const u32 gEventObjectPic_Picnicker_4[] = INCBIN_U32("graphics/event_objects/pics/people/picnicker/4.4bpp"); -const u32 gEventObjectPic_Picnicker_5[] = INCBIN_U32("graphics/event_objects/pics/people/picnicker/5.4bpp"); -const u32 gEventObjectPic_Picnicker_6[] = INCBIN_U32("graphics/event_objects/pics/people/picnicker/6.4bpp"); -const u32 gEventObjectPic_Picnicker_7[] = INCBIN_U32("graphics/event_objects/pics/people/picnicker/7.4bpp"); -const u32 gEventObjectPic_Picnicker_8[] = INCBIN_U32("graphics/event_objects/pics/people/picnicker/8.4bpp"); -const u32 gEventObjectPic_Man4_0[] = INCBIN_U32("graphics/event_objects/pics/people/man_4/0.4bpp"); -const u32 gEventObjectPic_Man4_1[] = INCBIN_U32("graphics/event_objects/pics/people/man_4/1.4bpp"); -const u32 gEventObjectPic_Man4_2[] = INCBIN_U32("graphics/event_objects/pics/people/man_4/2.4bpp"); -const u32 gEventObjectPic_Man4_3[] = INCBIN_U32("graphics/event_objects/pics/people/man_4/3.4bpp"); -const u32 gEventObjectPic_Man4_4[] = INCBIN_U32("graphics/event_objects/pics/people/man_4/4.4bpp"); -const u32 gEventObjectPic_Man4_5[] = INCBIN_U32("graphics/event_objects/pics/people/man_4/5.4bpp"); -const u32 gEventObjectPic_Man4_6[] = INCBIN_U32("graphics/event_objects/pics/people/man_4/6.4bpp"); -const u32 gEventObjectPic_Man4_7[] = INCBIN_U32("graphics/event_objects/pics/people/man_4/7.4bpp"); -const u32 gEventObjectPic_Man4_8[] = INCBIN_U32("graphics/event_objects/pics/people/man_4/8.4bpp"); -const u32 gEventObjectPic_Woman7_0[] = INCBIN_U32("graphics/event_objects/pics/people/woman_7/0.4bpp"); -const u32 gEventObjectPic_Woman7_1[] = INCBIN_U32("graphics/event_objects/pics/people/woman_7/1.4bpp"); -const u32 gEventObjectPic_Woman7_2[] = INCBIN_U32("graphics/event_objects/pics/people/woman_7/2.4bpp"); -const u32 gEventObjectPic_Woman7_3[] = INCBIN_U32("graphics/event_objects/pics/people/woman_7/3.4bpp"); -const u32 gEventObjectPic_Woman7_4[] = INCBIN_U32("graphics/event_objects/pics/people/woman_7/4.4bpp"); -const u32 gEventObjectPic_Woman7_5[] = INCBIN_U32("graphics/event_objects/pics/people/woman_7/5.4bpp"); -const u32 gEventObjectPic_Woman7_6[] = INCBIN_U32("graphics/event_objects/pics/people/woman_7/6.4bpp"); -const u32 gEventObjectPic_Woman7_7[] = INCBIN_U32("graphics/event_objects/pics/people/woman_7/7.4bpp"); -const u32 gEventObjectPic_Woman7_8[] = INCBIN_U32("graphics/event_objects/pics/people/woman_7/8.4bpp"); -const u32 gEventObjectPic_Youngster_0[] = INCBIN_U32("graphics/event_objects/pics/people/youngster/0.4bpp"); -const u32 gEventObjectPic_Youngster_1[] = INCBIN_U32("graphics/event_objects/pics/people/youngster/1.4bpp"); -const u32 gEventObjectPic_Youngster_2[] = INCBIN_U32("graphics/event_objects/pics/people/youngster/2.4bpp"); -const u32 gEventObjectPic_Youngster_3[] = INCBIN_U32("graphics/event_objects/pics/people/youngster/3.4bpp"); -const u32 gEventObjectPic_Youngster_4[] = INCBIN_U32("graphics/event_objects/pics/people/youngster/4.4bpp"); -const u32 gEventObjectPic_Youngster_5[] = INCBIN_U32("graphics/event_objects/pics/people/youngster/5.4bpp"); -const u32 gEventObjectPic_Youngster_6[] = INCBIN_U32("graphics/event_objects/pics/people/youngster/6.4bpp"); -const u32 gEventObjectPic_Youngster_7[] = INCBIN_U32("graphics/event_objects/pics/people/youngster/7.4bpp"); -const u32 gEventObjectPic_Youngster_8[] = INCBIN_U32("graphics/event_objects/pics/people/youngster/8.4bpp"); -const u32 gEventObjectPic_BugCatcher_0[] = INCBIN_U32("graphics/event_objects/pics/people/bug_catcher/0.4bpp"); -const u32 gEventObjectPic_BugCatcher_1[] = INCBIN_U32("graphics/event_objects/pics/people/bug_catcher/1.4bpp"); -const u32 gEventObjectPic_BugCatcher_2[] = INCBIN_U32("graphics/event_objects/pics/people/bug_catcher/2.4bpp"); -const u32 gEventObjectPic_BugCatcher_3[] = INCBIN_U32("graphics/event_objects/pics/people/bug_catcher/3.4bpp"); -const u32 gEventObjectPic_BugCatcher_4[] = INCBIN_U32("graphics/event_objects/pics/people/bug_catcher/4.4bpp"); -const u32 gEventObjectPic_BugCatcher_5[] = INCBIN_U32("graphics/event_objects/pics/people/bug_catcher/5.4bpp"); -const u32 gEventObjectPic_BugCatcher_6[] = INCBIN_U32("graphics/event_objects/pics/people/bug_catcher/6.4bpp"); -const u32 gEventObjectPic_BugCatcher_7[] = INCBIN_U32("graphics/event_objects/pics/people/bug_catcher/7.4bpp"); -const u32 gEventObjectPic_BugCatcher_8[] = INCBIN_U32("graphics/event_objects/pics/people/bug_catcher/8.4bpp"); -const u32 gEventObjectPic_PsychicM_0[] = INCBIN_U32("graphics/event_objects/pics/people/psychic_m/0.4bpp"); -const u32 gEventObjectPic_PsychicM_1[] = INCBIN_U32("graphics/event_objects/pics/people/psychic_m/1.4bpp"); -const u32 gEventObjectPic_PsychicM_2[] = INCBIN_U32("graphics/event_objects/pics/people/psychic_m/2.4bpp"); -const u32 gEventObjectPic_PsychicM_3[] = INCBIN_U32("graphics/event_objects/pics/people/psychic_m/3.4bpp"); -const u32 gEventObjectPic_PsychicM_4[] = INCBIN_U32("graphics/event_objects/pics/people/psychic_m/4.4bpp"); -const u32 gEventObjectPic_PsychicM_5[] = INCBIN_U32("graphics/event_objects/pics/people/psychic_m/5.4bpp"); -const u32 gEventObjectPic_PsychicM_6[] = INCBIN_U32("graphics/event_objects/pics/people/psychic_m/6.4bpp"); -const u32 gEventObjectPic_PsychicM_7[] = INCBIN_U32("graphics/event_objects/pics/people/psychic_m/7.4bpp"); -const u32 gEventObjectPic_PsychicM_8[] = INCBIN_U32("graphics/event_objects/pics/people/psychic_m/8.4bpp"); -const u32 gEventObjectPic_SchoolKidM_0[] = INCBIN_U32("graphics/event_objects/pics/people/school_kid_m/0.4bpp"); -const u32 gEventObjectPic_SchoolKidM_1[] = INCBIN_U32("graphics/event_objects/pics/people/school_kid_m/1.4bpp"); -const u32 gEventObjectPic_SchoolKidM_2[] = INCBIN_U32("graphics/event_objects/pics/people/school_kid_m/2.4bpp"); -const u32 gEventObjectPic_SchoolKidM_3[] = INCBIN_U32("graphics/event_objects/pics/people/school_kid_m/3.4bpp"); -const u32 gEventObjectPic_SchoolKidM_4[] = INCBIN_U32("graphics/event_objects/pics/people/school_kid_m/4.4bpp"); -const u32 gEventObjectPic_SchoolKidM_5[] = INCBIN_U32("graphics/event_objects/pics/people/school_kid_m/5.4bpp"); -const u32 gEventObjectPic_SchoolKidM_6[] = INCBIN_U32("graphics/event_objects/pics/people/school_kid_m/6.4bpp"); -const u32 gEventObjectPic_SchoolKidM_7[] = INCBIN_U32("graphics/event_objects/pics/people/school_kid_m/7.4bpp"); -const u32 gEventObjectPic_SchoolKidM_8[] = INCBIN_U32("graphics/event_objects/pics/people/school_kid_m/8.4bpp"); -const u32 gEventObjectPic_Maniac_0[] = INCBIN_U32("graphics/event_objects/pics/people/maniac/0.4bpp"); -const u32 gEventObjectPic_Maniac_1[] = INCBIN_U32("graphics/event_objects/pics/people/maniac/1.4bpp"); -const u32 gEventObjectPic_Maniac_2[] = INCBIN_U32("graphics/event_objects/pics/people/maniac/2.4bpp"); -const u32 gEventObjectPic_Maniac_3[] = INCBIN_U32("graphics/event_objects/pics/people/maniac/3.4bpp"); -const u32 gEventObjectPic_Maniac_4[] = INCBIN_U32("graphics/event_objects/pics/people/maniac/4.4bpp"); -const u32 gEventObjectPic_Maniac_5[] = INCBIN_U32("graphics/event_objects/pics/people/maniac/5.4bpp"); -const u32 gEventObjectPic_Maniac_6[] = INCBIN_U32("graphics/event_objects/pics/people/maniac/6.4bpp"); -const u32 gEventObjectPic_Maniac_7[] = INCBIN_U32("graphics/event_objects/pics/people/maniac/7.4bpp"); -const u32 gEventObjectPic_Maniac_8[] = INCBIN_U32("graphics/event_objects/pics/people/maniac/8.4bpp"); -const u32 gEventObjectPic_HexManiac_0[] = INCBIN_U32("graphics/event_objects/pics/people/hex_maniac/0.4bpp"); -const u32 gEventObjectPic_HexManiac_1[] = INCBIN_U32("graphics/event_objects/pics/people/hex_maniac/1.4bpp"); -const u32 gEventObjectPic_HexManiac_2[] = INCBIN_U32("graphics/event_objects/pics/people/hex_maniac/2.4bpp"); -const u32 gEventObjectPic_HexManiac_3[] = INCBIN_U32("graphics/event_objects/pics/people/hex_maniac/3.4bpp"); -const u32 gEventObjectPic_HexManiac_4[] = INCBIN_U32("graphics/event_objects/pics/people/hex_maniac/4.4bpp"); -const u32 gEventObjectPic_HexManiac_5[] = INCBIN_U32("graphics/event_objects/pics/people/hex_maniac/5.4bpp"); -const u32 gEventObjectPic_HexManiac_6[] = INCBIN_U32("graphics/event_objects/pics/people/hex_maniac/6.4bpp"); -const u32 gEventObjectPic_HexManiac_7[] = INCBIN_U32("graphics/event_objects/pics/people/hex_maniac/7.4bpp"); -const u32 gEventObjectPic_HexManiac_8[] = INCBIN_U32("graphics/event_objects/pics/people/hex_maniac/8.4bpp"); -const u32 gEventObjectPic_UnusedWoman_0[] = INCBIN_U32("graphics/event_objects/pics/people/unused_woman/0.4bpp"); -const u32 gEventObjectPic_UnusedWoman_1[] = INCBIN_U32("graphics/event_objects/pics/people/unused_woman/1.4bpp"); -const u32 gEventObjectPic_UnusedWoman_2[] = INCBIN_U32("graphics/event_objects/pics/people/unused_woman/2.4bpp"); -const u32 gEventObjectPic_UnusedWoman_3[] = INCBIN_U32("graphics/event_objects/pics/people/unused_woman/3.4bpp"); -const u32 gEventObjectPic_UnusedWoman_4[] = INCBIN_U32("graphics/event_objects/pics/people/unused_woman/4.4bpp"); -const u32 gEventObjectPic_UnusedWoman_5[] = INCBIN_U32("graphics/event_objects/pics/people/unused_woman/5.4bpp"); -const u32 gEventObjectPic_UnusedWoman_6[] = INCBIN_U32("graphics/event_objects/pics/people/unused_woman/6.4bpp"); -const u32 gEventObjectPic_UnusedWoman_7[] = INCBIN_U32("graphics/event_objects/pics/people/unused_woman/7.4bpp"); -const u32 gEventObjectPic_UnusedWoman_8[] = INCBIN_U32("graphics/event_objects/pics/people/unused_woman/8.4bpp"); -const u32 gEventObjectPic_SwimmerM_0[] = INCBIN_U32("graphics/event_objects/pics/people/swimmer_m/0.4bpp"); -const u32 gEventObjectPic_SwimmerM_1[] = INCBIN_U32("graphics/event_objects/pics/people/swimmer_m/1.4bpp"); -const u32 gEventObjectPic_SwimmerM_2[] = INCBIN_U32("graphics/event_objects/pics/people/swimmer_m/2.4bpp"); -const u32 gEventObjectPic_SwimmerM_3[] = INCBIN_U32("graphics/event_objects/pics/people/swimmer_m/3.4bpp"); -const u32 gEventObjectPic_SwimmerM_4[] = INCBIN_U32("graphics/event_objects/pics/people/swimmer_m/4.4bpp"); -const u32 gEventObjectPic_SwimmerM_5[] = INCBIN_U32("graphics/event_objects/pics/people/swimmer_m/5.4bpp"); -const u32 gEventObjectPic_SwimmerM_6[] = INCBIN_U32("graphics/event_objects/pics/people/swimmer_m/6.4bpp"); -const u32 gEventObjectPic_SwimmerM_7[] = INCBIN_U32("graphics/event_objects/pics/people/swimmer_m/7.4bpp"); -const u32 gEventObjectPic_SwimmerM_8[] = INCBIN_U32("graphics/event_objects/pics/people/swimmer_m/8.4bpp"); -const u32 gEventObjectPic_SwimmerF_0[] = INCBIN_U32("graphics/event_objects/pics/people/swimmer_f/0.4bpp"); -const u32 gEventObjectPic_SwimmerF_1[] = INCBIN_U32("graphics/event_objects/pics/people/swimmer_f/1.4bpp"); -const u32 gEventObjectPic_SwimmerF_2[] = INCBIN_U32("graphics/event_objects/pics/people/swimmer_f/2.4bpp"); -const u32 gEventObjectPic_SwimmerF_3[] = INCBIN_U32("graphics/event_objects/pics/people/swimmer_f/3.4bpp"); -const u32 gEventObjectPic_SwimmerF_4[] = INCBIN_U32("graphics/event_objects/pics/people/swimmer_f/4.4bpp"); -const u32 gEventObjectPic_SwimmerF_5[] = INCBIN_U32("graphics/event_objects/pics/people/swimmer_f/5.4bpp"); -const u32 gEventObjectPic_SwimmerF_6[] = INCBIN_U32("graphics/event_objects/pics/people/swimmer_f/6.4bpp"); -const u32 gEventObjectPic_SwimmerF_7[] = INCBIN_U32("graphics/event_objects/pics/people/swimmer_f/7.4bpp"); -const u32 gEventObjectPic_SwimmerF_8[] = INCBIN_U32("graphics/event_objects/pics/people/swimmer_f/8.4bpp"); -const u32 gEventObjectPic_BlackBelt_0[] = INCBIN_U32("graphics/event_objects/pics/people/black_belt/0.4bpp"); -const u32 gEventObjectPic_BlackBelt_1[] = INCBIN_U32("graphics/event_objects/pics/people/black_belt/1.4bpp"); -const u32 gEventObjectPic_BlackBelt_2[] = INCBIN_U32("graphics/event_objects/pics/people/black_belt/2.4bpp"); -const u32 gEventObjectPic_BlackBelt_3[] = INCBIN_U32("graphics/event_objects/pics/people/black_belt/3.4bpp"); -const u32 gEventObjectPic_BlackBelt_4[] = INCBIN_U32("graphics/event_objects/pics/people/black_belt/4.4bpp"); -const u32 gEventObjectPic_BlackBelt_5[] = INCBIN_U32("graphics/event_objects/pics/people/black_belt/5.4bpp"); -const u32 gEventObjectPic_BlackBelt_6[] = INCBIN_U32("graphics/event_objects/pics/people/black_belt/6.4bpp"); -const u32 gEventObjectPic_BlackBelt_7[] = INCBIN_U32("graphics/event_objects/pics/people/black_belt/7.4bpp"); -const u32 gEventObjectPic_BlackBelt_8[] = INCBIN_U32("graphics/event_objects/pics/people/black_belt/8.4bpp"); -const u32 gEventObjectPic_Beauty_0[] = INCBIN_U32("graphics/event_objects/pics/people/beauty/0.4bpp"); -const u32 gEventObjectPic_Beauty_1[] = INCBIN_U32("graphics/event_objects/pics/people/beauty/1.4bpp"); -const u32 gEventObjectPic_Beauty_2[] = INCBIN_U32("graphics/event_objects/pics/people/beauty/2.4bpp"); -const u32 gEventObjectPic_Beauty_3[] = INCBIN_U32("graphics/event_objects/pics/people/beauty/3.4bpp"); -const u32 gEventObjectPic_Beauty_4[] = INCBIN_U32("graphics/event_objects/pics/people/beauty/4.4bpp"); -const u32 gEventObjectPic_Beauty_5[] = INCBIN_U32("graphics/event_objects/pics/people/beauty/5.4bpp"); -const u32 gEventObjectPic_Beauty_6[] = INCBIN_U32("graphics/event_objects/pics/people/beauty/6.4bpp"); -const u32 gEventObjectPic_Beauty_7[] = INCBIN_U32("graphics/event_objects/pics/people/beauty/7.4bpp"); -const u32 gEventObjectPic_Beauty_8[] = INCBIN_U32("graphics/event_objects/pics/people/beauty/8.4bpp"); -const u32 gEventObjectPic_Scientist1_0[] = INCBIN_U32("graphics/event_objects/pics/people/scientist_1/0.4bpp"); -const u32 gEventObjectPic_Scientist1_1[] = INCBIN_U32("graphics/event_objects/pics/people/scientist_1/1.4bpp"); -const u32 gEventObjectPic_Scientist1_2[] = INCBIN_U32("graphics/event_objects/pics/people/scientist_1/2.4bpp"); -const u32 gEventObjectPic_Scientist1_3[] = INCBIN_U32("graphics/event_objects/pics/people/scientist_1/3.4bpp"); -const u32 gEventObjectPic_Scientist1_4[] = INCBIN_U32("graphics/event_objects/pics/people/scientist_1/4.4bpp"); -const u32 gEventObjectPic_Scientist1_5[] = INCBIN_U32("graphics/event_objects/pics/people/scientist_1/5.4bpp"); -const u32 gEventObjectPic_Scientist1_6[] = INCBIN_U32("graphics/event_objects/pics/people/scientist_1/6.4bpp"); -const u32 gEventObjectPic_Scientist1_7[] = INCBIN_U32("graphics/event_objects/pics/people/scientist_1/7.4bpp"); -const u32 gEventObjectPic_Scientist1_8[] = INCBIN_U32("graphics/event_objects/pics/people/scientist_1/8.4bpp"); -const u32 gEventObjectPic_Lass_0[] = INCBIN_U32("graphics/event_objects/pics/people/lass/0.4bpp"); -const u32 gEventObjectPic_Lass_1[] = INCBIN_U32("graphics/event_objects/pics/people/lass/1.4bpp"); -const u32 gEventObjectPic_Lass_2[] = INCBIN_U32("graphics/event_objects/pics/people/lass/2.4bpp"); -const u32 gEventObjectPic_Lass_3[] = INCBIN_U32("graphics/event_objects/pics/people/lass/3.4bpp"); -const u32 gEventObjectPic_Lass_4[] = INCBIN_U32("graphics/event_objects/pics/people/lass/4.4bpp"); -const u32 gEventObjectPic_Lass_5[] = INCBIN_U32("graphics/event_objects/pics/people/lass/5.4bpp"); -const u32 gEventObjectPic_Lass_6[] = INCBIN_U32("graphics/event_objects/pics/people/lass/6.4bpp"); -const u32 gEventObjectPic_Lass_7[] = INCBIN_U32("graphics/event_objects/pics/people/lass/7.4bpp"); -const u32 gEventObjectPic_Lass_8[] = INCBIN_U32("graphics/event_objects/pics/people/lass/8.4bpp"); -const u32 gEventObjectPic_Gentleman_0[] = INCBIN_U32("graphics/event_objects/pics/people/gentleman/0.4bpp"); -const u32 gEventObjectPic_Gentleman_1[] = INCBIN_U32("graphics/event_objects/pics/people/gentleman/1.4bpp"); -const u32 gEventObjectPic_Gentleman_2[] = INCBIN_U32("graphics/event_objects/pics/people/gentleman/2.4bpp"); -const u32 gEventObjectPic_Gentleman_3[] = INCBIN_U32("graphics/event_objects/pics/people/gentleman/3.4bpp"); -const u32 gEventObjectPic_Gentleman_4[] = INCBIN_U32("graphics/event_objects/pics/people/gentleman/4.4bpp"); -const u32 gEventObjectPic_Gentleman_5[] = INCBIN_U32("graphics/event_objects/pics/people/gentleman/5.4bpp"); -const u32 gEventObjectPic_Gentleman_6[] = INCBIN_U32("graphics/event_objects/pics/people/gentleman/6.4bpp"); -const u32 gEventObjectPic_Gentleman_7[] = INCBIN_U32("graphics/event_objects/pics/people/gentleman/7.4bpp"); -const u32 gEventObjectPic_Gentleman_8[] = INCBIN_U32("graphics/event_objects/pics/people/gentleman/8.4bpp"); -const u32 gEventObjectPic_Sailor_0[] = INCBIN_U32("graphics/event_objects/pics/people/sailor/0.4bpp"); -const u32 gEventObjectPic_Sailor_1[] = INCBIN_U32("graphics/event_objects/pics/people/sailor/1.4bpp"); -const u32 gEventObjectPic_Sailor_2[] = INCBIN_U32("graphics/event_objects/pics/people/sailor/2.4bpp"); -const u32 gEventObjectPic_Sailor_3[] = INCBIN_U32("graphics/event_objects/pics/people/sailor/3.4bpp"); -const u32 gEventObjectPic_Sailor_4[] = INCBIN_U32("graphics/event_objects/pics/people/sailor/4.4bpp"); -const u32 gEventObjectPic_Sailor_5[] = INCBIN_U32("graphics/event_objects/pics/people/sailor/5.4bpp"); -const u32 gEventObjectPic_Sailor_6[] = INCBIN_U32("graphics/event_objects/pics/people/sailor/6.4bpp"); -const u32 gEventObjectPic_Sailor_7[] = INCBIN_U32("graphics/event_objects/pics/people/sailor/7.4bpp"); -const u32 gEventObjectPic_Sailor_8[] = INCBIN_U32("graphics/event_objects/pics/people/sailor/8.4bpp"); -const u32 gEventObjectPic_Fisherman_0[] = INCBIN_U32("graphics/event_objects/pics/people/fisherman/0.4bpp"); -const u32 gEventObjectPic_Fisherman_1[] = INCBIN_U32("graphics/event_objects/pics/people/fisherman/1.4bpp"); -const u32 gEventObjectPic_Fisherman_2[] = INCBIN_U32("graphics/event_objects/pics/people/fisherman/2.4bpp"); -const u32 gEventObjectPic_Fisherman_3[] = INCBIN_U32("graphics/event_objects/pics/people/fisherman/3.4bpp"); -const u32 gEventObjectPic_Fisherman_4[] = INCBIN_U32("graphics/event_objects/pics/people/fisherman/4.4bpp"); -const u32 gEventObjectPic_Fisherman_5[] = INCBIN_U32("graphics/event_objects/pics/people/fisherman/5.4bpp"); -const u32 gEventObjectPic_Fisherman_6[] = INCBIN_U32("graphics/event_objects/pics/people/fisherman/6.4bpp"); -const u32 gEventObjectPic_Fisherman_7[] = INCBIN_U32("graphics/event_objects/pics/people/fisherman/7.4bpp"); -const u32 gEventObjectPic_Fisherman_8[] = INCBIN_U32("graphics/event_objects/pics/people/fisherman/8.4bpp"); -const u32 gEventObjectPic_RunningTriathleteM_0[] = INCBIN_U32("graphics/event_objects/pics/people/running_triathlete_m/0.4bpp"); -const u32 gEventObjectPic_RunningTriathleteM_1[] = INCBIN_U32("graphics/event_objects/pics/people/running_triathlete_m/1.4bpp"); -const u32 gEventObjectPic_RunningTriathleteM_2[] = INCBIN_U32("graphics/event_objects/pics/people/running_triathlete_m/2.4bpp"); -const u32 gEventObjectPic_RunningTriathleteM_3[] = INCBIN_U32("graphics/event_objects/pics/people/running_triathlete_m/3.4bpp"); -const u32 gEventObjectPic_RunningTriathleteM_4[] = INCBIN_U32("graphics/event_objects/pics/people/running_triathlete_m/4.4bpp"); -const u32 gEventObjectPic_RunningTriathleteM_5[] = INCBIN_U32("graphics/event_objects/pics/people/running_triathlete_m/5.4bpp"); -const u32 gEventObjectPic_RunningTriathleteM_6[] = INCBIN_U32("graphics/event_objects/pics/people/running_triathlete_m/6.4bpp"); -const u32 gEventObjectPic_RunningTriathleteM_7[] = INCBIN_U32("graphics/event_objects/pics/people/running_triathlete_m/7.4bpp"); -const u32 gEventObjectPic_RunningTriathleteM_8[] = INCBIN_U32("graphics/event_objects/pics/people/running_triathlete_m/8.4bpp"); -const u32 gEventObjectPic_RunningTriathleteF_0[] = INCBIN_U32("graphics/event_objects/pics/people/running_triathlete_f/0.4bpp"); -const u32 gEventObjectPic_RunningTriathleteF_1[] = INCBIN_U32("graphics/event_objects/pics/people/running_triathlete_f/1.4bpp"); -const u32 gEventObjectPic_RunningTriathleteF_2[] = INCBIN_U32("graphics/event_objects/pics/people/running_triathlete_f/2.4bpp"); -const u32 gEventObjectPic_RunningTriathleteF_3[] = INCBIN_U32("graphics/event_objects/pics/people/running_triathlete_f/3.4bpp"); -const u32 gEventObjectPic_RunningTriathleteF_4[] = INCBIN_U32("graphics/event_objects/pics/people/running_triathlete_f/4.4bpp"); -const u32 gEventObjectPic_RunningTriathleteF_5[] = INCBIN_U32("graphics/event_objects/pics/people/running_triathlete_f/5.4bpp"); -const u32 gEventObjectPic_RunningTriathleteF_6[] = INCBIN_U32("graphics/event_objects/pics/people/running_triathlete_f/6.4bpp"); -const u32 gEventObjectPic_RunningTriathleteF_7[] = INCBIN_U32("graphics/event_objects/pics/people/running_triathlete_f/7.4bpp"); -const u32 gEventObjectPic_RunningTriathleteF_8[] = INCBIN_U32("graphics/event_objects/pics/people/running_triathlete_f/8.4bpp"); -const u32 gEventObjectPic_TuberF_0[] = INCBIN_U32("graphics/event_objects/pics/people/tuber_f/0.4bpp"); -const u32 gEventObjectPic_TuberF_1[] = INCBIN_U32("graphics/event_objects/pics/people/tuber_f/1.4bpp"); -const u32 gEventObjectPic_TuberF_2[] = INCBIN_U32("graphics/event_objects/pics/people/tuber_f/2.4bpp"); -const u32 gEventObjectPic_TuberF_3[] = INCBIN_U32("graphics/event_objects/pics/people/tuber_f/3.4bpp"); -const u32 gEventObjectPic_TuberF_4[] = INCBIN_U32("graphics/event_objects/pics/people/tuber_f/4.4bpp"); -const u32 gEventObjectPic_TuberF_5[] = INCBIN_U32("graphics/event_objects/pics/people/tuber_f/5.4bpp"); -const u32 gEventObjectPic_TuberF_6[] = INCBIN_U32("graphics/event_objects/pics/people/tuber_f/6.4bpp"); -const u32 gEventObjectPic_TuberF_7[] = INCBIN_U32("graphics/event_objects/pics/people/tuber_f/7.4bpp"); -const u32 gEventObjectPic_TuberF_8[] = INCBIN_U32("graphics/event_objects/pics/people/tuber_f/8.4bpp"); -const u32 gEventObjectPic_TuberM_0[] = INCBIN_U32("graphics/event_objects/pics/people/tuber_m/0.4bpp"); -const u32 gEventObjectPic_TuberM_1[] = INCBIN_U32("graphics/event_objects/pics/people/tuber_m/1.4bpp"); -const u32 gEventObjectPic_TuberM_2[] = INCBIN_U32("graphics/event_objects/pics/people/tuber_m/2.4bpp"); -const u32 gEventObjectPic_TuberM_3[] = INCBIN_U32("graphics/event_objects/pics/people/tuber_m/3.4bpp"); -const u32 gEventObjectPic_TuberM_4[] = INCBIN_U32("graphics/event_objects/pics/people/tuber_m/4.4bpp"); -const u32 gEventObjectPic_TuberM_5[] = INCBIN_U32("graphics/event_objects/pics/people/tuber_m/5.4bpp"); -const u32 gEventObjectPic_TuberM_6[] = INCBIN_U32("graphics/event_objects/pics/people/tuber_m/6.4bpp"); -const u32 gEventObjectPic_TuberM_7[] = INCBIN_U32("graphics/event_objects/pics/people/tuber_m/7.4bpp"); -const u32 gEventObjectPic_TuberM_8[] = INCBIN_U32("graphics/event_objects/pics/people/tuber_m/8.4bpp"); -const u32 gEventObjectPic_Hiker_0[] = INCBIN_U32("graphics/event_objects/pics/people/hiker/0.4bpp"); -const u32 gEventObjectPic_Hiker_1[] = INCBIN_U32("graphics/event_objects/pics/people/hiker/1.4bpp"); -const u32 gEventObjectPic_Hiker_2[] = INCBIN_U32("graphics/event_objects/pics/people/hiker/2.4bpp"); -const u32 gEventObjectPic_Hiker_3[] = INCBIN_U32("graphics/event_objects/pics/people/hiker/3.4bpp"); -const u32 gEventObjectPic_Hiker_4[] = INCBIN_U32("graphics/event_objects/pics/people/hiker/4.4bpp"); -const u32 gEventObjectPic_Hiker_5[] = INCBIN_U32("graphics/event_objects/pics/people/hiker/5.4bpp"); -const u32 gEventObjectPic_Hiker_6[] = INCBIN_U32("graphics/event_objects/pics/people/hiker/6.4bpp"); -const u32 gEventObjectPic_Hiker_7[] = INCBIN_U32("graphics/event_objects/pics/people/hiker/7.4bpp"); -const u32 gEventObjectPic_Hiker_8[] = INCBIN_U32("graphics/event_objects/pics/people/hiker/8.4bpp"); -const u32 gEventObjectPic_CyclingTriathleteM_0[] = INCBIN_U32("graphics/event_objects/pics/people/cycling_triathlete_m/0.4bpp"); -const u32 gEventObjectPic_CyclingTriathleteM_1[] = INCBIN_U32("graphics/event_objects/pics/people/cycling_triathlete_m/1.4bpp"); -const u32 gEventObjectPic_CyclingTriathleteM_2[] = INCBIN_U32("graphics/event_objects/pics/people/cycling_triathlete_m/2.4bpp"); -const u32 gEventObjectPic_CyclingTriathleteM_3[] = INCBIN_U32("graphics/event_objects/pics/people/cycling_triathlete_m/3.4bpp"); -const u32 gEventObjectPic_CyclingTriathleteM_4[] = INCBIN_U32("graphics/event_objects/pics/people/cycling_triathlete_m/4.4bpp"); -const u32 gEventObjectPic_CyclingTriathleteM_5[] = INCBIN_U32("graphics/event_objects/pics/people/cycling_triathlete_m/5.4bpp"); -const u32 gEventObjectPic_CyclingTriathleteM_6[] = INCBIN_U32("graphics/event_objects/pics/people/cycling_triathlete_m/6.4bpp"); -const u32 gEventObjectPic_CyclingTriathleteM_7[] = INCBIN_U32("graphics/event_objects/pics/people/cycling_triathlete_m/7.4bpp"); -const u32 gEventObjectPic_CyclingTriathleteM_8[] = INCBIN_U32("graphics/event_objects/pics/people/cycling_triathlete_m/8.4bpp"); -const u32 gEventObjectPic_CyclingTriathleteF_0[] = INCBIN_U32("graphics/event_objects/pics/people/cycling_triathlete_f/0.4bpp"); -const u32 gEventObjectPic_CyclingTriathleteF_1[] = INCBIN_U32("graphics/event_objects/pics/people/cycling_triathlete_f/1.4bpp"); -const u32 gEventObjectPic_CyclingTriathleteF_2[] = INCBIN_U32("graphics/event_objects/pics/people/cycling_triathlete_f/2.4bpp"); -const u32 gEventObjectPic_CyclingTriathleteF_3[] = INCBIN_U32("graphics/event_objects/pics/people/cycling_triathlete_f/3.4bpp"); -const u32 gEventObjectPic_CyclingTriathleteF_4[] = INCBIN_U32("graphics/event_objects/pics/people/cycling_triathlete_f/4.4bpp"); -const u32 gEventObjectPic_CyclingTriathleteF_5[] = INCBIN_U32("graphics/event_objects/pics/people/cycling_triathlete_f/5.4bpp"); -const u32 gEventObjectPic_CyclingTriathleteF_6[] = INCBIN_U32("graphics/event_objects/pics/people/cycling_triathlete_f/6.4bpp"); -const u32 gEventObjectPic_CyclingTriathleteF_7[] = INCBIN_U32("graphics/event_objects/pics/people/cycling_triathlete_f/7.4bpp"); -const u32 gEventObjectPic_CyclingTriathleteF_8[] = INCBIN_U32("graphics/event_objects/pics/people/cycling_triathlete_f/8.4bpp"); -const u32 gEventObjectPic_Man5_0[] = INCBIN_U32("graphics/event_objects/pics/people/man_5/0.4bpp"); -const u32 gEventObjectPic_Man5_1[] = INCBIN_U32("graphics/event_objects/pics/people/man_5/1.4bpp"); -const u32 gEventObjectPic_Man5_2[] = INCBIN_U32("graphics/event_objects/pics/people/man_5/2.4bpp"); -const u32 gEventObjectPic_Man5_3[] = INCBIN_U32("graphics/event_objects/pics/people/man_5/3.4bpp"); -const u32 gEventObjectPic_Man5_4[] = INCBIN_U32("graphics/event_objects/pics/people/man_5/4.4bpp"); -const u32 gEventObjectPic_Man5_5[] = INCBIN_U32("graphics/event_objects/pics/people/man_5/5.4bpp"); -const u32 gEventObjectPic_Man5_6[] = INCBIN_U32("graphics/event_objects/pics/people/man_5/6.4bpp"); -const u32 gEventObjectPic_Man5_7[] = INCBIN_U32("graphics/event_objects/pics/people/man_5/7.4bpp"); -const u32 gEventObjectPic_Man5_8[] = INCBIN_U32("graphics/event_objects/pics/people/man_5/8.4bpp"); -const u32 gEventObjectPic_Man6_0[] = INCBIN_U32("graphics/event_objects/pics/people/man_6/0.4bpp"); -const u32 gEventObjectPic_Man6_1[] = INCBIN_U32("graphics/event_objects/pics/people/man_6/1.4bpp"); -const u32 gEventObjectPic_Man6_2[] = INCBIN_U32("graphics/event_objects/pics/people/man_6/2.4bpp"); -const u32 gEventObjectPic_Man6_3[] = INCBIN_U32("graphics/event_objects/pics/people/man_6/3.4bpp"); -const u32 gEventObjectPic_Man6_4[] = INCBIN_U32("graphics/event_objects/pics/people/man_6/4.4bpp"); -const u32 gEventObjectPic_Man6_5[] = INCBIN_U32("graphics/event_objects/pics/people/man_6/5.4bpp"); -const u32 gEventObjectPic_Man6_6[] = INCBIN_U32("graphics/event_objects/pics/people/man_6/6.4bpp"); -const u32 gEventObjectPic_Man6_7[] = INCBIN_U32("graphics/event_objects/pics/people/man_6/7.4bpp"); -const u32 gEventObjectPic_Man6_8[] = INCBIN_U32("graphics/event_objects/pics/people/man_6/8.4bpp"); -const u32 gEventObjectPic_Nurse_0[] = INCBIN_U32("graphics/event_objects/pics/people/nurse/0.4bpp"); -const u32 gEventObjectPic_Nurse_1[] = INCBIN_U32("graphics/event_objects/pics/people/nurse/1.4bpp"); -const u32 gEventObjectPic_Nurse_2[] = INCBIN_U32("graphics/event_objects/pics/people/nurse/2.4bpp"); -const u32 gEventObjectPic_Nurse_3[] = INCBIN_U32("graphics/event_objects/pics/people/nurse/3.4bpp"); +const u32 gEventObjectPic_LittleBoy1[] = INCBIN_U32("graphics/event_objects/pics/people/little_boy_1.4bpp"); +const u32 gEventObjectPic_LittleGirl1[] = INCBIN_U32("graphics/event_objects/pics/people/little_girl_1.4bpp"); +const u32 gEventObjectPic_Boy1[] = INCBIN_U32("graphics/event_objects/pics/people/boy_1.4bpp"); +const u32 gEventObjectPic_Girl1[] = INCBIN_U32("graphics/event_objects/pics/people/girl_1.4bpp"); +const u32 gEventObjectPic_Boy2[] = INCBIN_U32("graphics/event_objects/pics/people/boy_2.4bpp"); +const u32 gEventObjectPic_Girl2[] = INCBIN_U32("graphics/event_objects/pics/people/girl_2.4bpp"); +const u32 gEventObjectPic_LittleBoy2[] = INCBIN_U32("graphics/event_objects/pics/people/little_boy_2.4bpp"); +const u32 gEventObjectPic_LittleGirl2[] = INCBIN_U32("graphics/event_objects/pics/people/little_girl_2.4bpp"); +const u32 gEventObjectPic_Boy3[] = INCBIN_U32("graphics/event_objects/pics/people/boy_3.4bpp"); +const u32 gEventObjectPic_Girl3[] = INCBIN_U32("graphics/event_objects/pics/people/girl_3.4bpp"); +const u32 gEventObjectPic_Boy4[] = INCBIN_U32("graphics/event_objects/pics/people/boy_4.4bpp"); +const u32 gEventObjectPic_Woman1[] = INCBIN_U32("graphics/event_objects/pics/people/woman_1.4bpp"); +const u32 gEventObjectPic_FatMan[] = INCBIN_U32("graphics/event_objects/pics/people/fat_man.4bpp"); +const u32 gEventObjectPic_Woman2[] = INCBIN_U32("graphics/event_objects/pics/people/woman_2.4bpp"); +const u32 gEventObjectPic_Man1[] = INCBIN_U32("graphics/event_objects/pics/people/man_1.4bpp"); +const u32 gEventObjectPic_Woman3[] = INCBIN_U32("graphics/event_objects/pics/people/woman_3.4bpp"); +const u32 gEventObjectPic_OldMan1[] = INCBIN_U32("graphics/event_objects/pics/people/old_man_1.4bpp"); +const u32 gEventObjectPic_OldWoman1[] = INCBIN_U32("graphics/event_objects/pics/people/old_woman_1.4bpp"); +const u32 gEventObjectPic_Man2[] = INCBIN_U32("graphics/event_objects/pics/people/man_2.4bpp"); +const u32 gEventObjectPic_Woman4[] = INCBIN_U32("graphics/event_objects/pics/people/woman_4.4bpp"); +const u32 gEventObjectPic_Man3[] = INCBIN_U32("graphics/event_objects/pics/people/man_3.4bpp"); +const u32 gEventObjectPic_Woman5[] = INCBIN_U32("graphics/event_objects/pics/people/woman_5.4bpp"); +const u32 gEventObjectPic_Cook[] = INCBIN_U32("graphics/event_objects/pics/people/cook.4bpp"); +const u32 gEventObjectPic_Woman6[] = INCBIN_U32("graphics/event_objects/pics/people/woman_6.4bpp"); +const u32 gEventObjectPic_OldMan2[] = INCBIN_U32("graphics/event_objects/pics/people/old_man_2.4bpp"); +const u32 gEventObjectPic_OldWoman2[] = INCBIN_U32("graphics/event_objects/pics/people/old_woman_2.4bpp"); +const u32 gEventObjectPic_Camper[] = INCBIN_U32("graphics/event_objects/pics/people/camper.4bpp"); +const u32 gEventObjectPic_Picnicker[] = INCBIN_U32("graphics/event_objects/pics/people/picnicker.4bpp"); +const u32 gEventObjectPic_Man4[] = INCBIN_U32("graphics/event_objects/pics/people/man_4.4bpp"); +const u32 gEventObjectPic_Woman7[] = INCBIN_U32("graphics/event_objects/pics/people/wwoman_7.4bpp"); +const u32 gEventObjectPic_Youngster[] = INCBIN_U32("graphics/event_objects/pics/people/youngster/0.4bpp"); +const u32 gEventObjectPic_BugCatcher[] = INCBIN_U32("graphics/event_objects/pics/people/bug_catcher.4bpp"); +const u32 gEventObjectPic_PsychicM[] = INCBIN_U32("graphics/event_objects/pics/people/psychic_m.4bpp"); +const u32 gEventObjectPic_SchoolKidM[] = INCBIN_U32("graphics/event_objects/pics/people/school_kid_m.4bpp"); +const u32 gEventObjectPic_Maniac[] = INCBIN_U32("graphics/event_objects/pics/people/maniac.4bpp"); +const u32 gEventObjectPic_HexManiac[] = INCBIN_U32("graphics/event_objects/pics/people/hex_maniac.4bpp"); +const u32 gEventObjectPic_UnusedWoman[] = INCBIN_U32("graphics/event_objects/pics/people/unused_woman.4bpp"); +const u32 gEventObjectPic_SwimmerM[] = INCBIN_U32("graphics/event_objects/pics/people/swimmer_m.4bpp"); +const u32 gEventObjectPic_SwimmerF[] = INCBIN_U32("graphics/event_objects/pics/people/swimmer_f.4bpp"); +const u32 gEventObjectPic_BlackBelt[] = INCBIN_U32("graphics/event_objects/pics/people/black_belt.4bpp"); +const u32 gEventObjectPic_Beauty[] = INCBIN_U32("graphics/event_objects/pics/people/beauty.4bpp"); +const u32 gEventObjectPic_Scientist1[] = INCBIN_U32("graphics/event_objects/pics/people/scientist_1.4bpp"); +const u32 gEventObjectPic_Lass[] = INCBIN_U32("graphics/event_objects/pics/people/lass.4bpp"); +const u32 gEventObjectPic_Gentleman[] = INCBIN_U32("graphics/event_objects/pics/people/gentleman.4bpp"); +const u32 gEventObjectPic_Sailor[] = INCBIN_U32("graphics/event_objects/pics/people/sailor.4bpp"); +const u32 gEventObjectPic_Fisherman[] = INCBIN_U32("graphics/event_objects/pics/people/fisherman.4bpp"); +const u32 gEventObjectPic_RunningTriathleteM[] = INCBIN_U32("graphics/event_objects/pics/people/running_triathlete_m.4bpp"); +const u32 gEventObjectPic_RunningTriathleteF[] = INCBIN_U32("graphics/event_objects/pics/people/running_triathlete_f.4bpp"); +const u32 gEventObjectPic_TuberF[] = INCBIN_U32("graphics/event_objects/pics/people/tuber_f.4bpp"); +const u32 gEventObjectPic_TuberM[] = INCBIN_U32("graphics/event_objects/pics/people/tuber_m.4bpp"); +const u32 gEventObjectPic_Hiker[] = INCBIN_U32("graphics/event_objects/pics/people/hiker.4bpp"); +const u32 gEventObjectPic_CyclingTriathleteM[] = INCBIN_U32("graphics/event_objects/pics/people/cycling_triathlete_m.4bpp"); +const u32 gEventObjectPic_CyclingTriathleteF[] = INCBIN_U32("graphics/event_objects/pics/people/cycling_triathlete_f.4bpp"); +const u32 gEventObjectPic_Man5[] = INCBIN_U32("graphics/event_objects/pics/people/man_5.4bpp"); +const u32 gEventObjectPic_Man6[] = INCBIN_U32("graphics/event_objects/pics/people/man_6.4bpp"); +const u32 gEventObjectPic_Nurse[] = INCBIN_U32("graphics/event_objects/pics/people/nurse.4bpp"); const u32 gEventObjectPic_ItemBall[] = INCBIN_U32("graphics/event_objects/pics/misc/item_ball.4bpp"); -const u32 gEventObjectPic_ProfBirch_0[] = INCBIN_U32("graphics/event_objects/pics/people/prof_birch/0.4bpp"); -const u32 gEventObjectPic_ProfBirch_1[] = INCBIN_U32("graphics/event_objects/pics/people/prof_birch/1.4bpp"); -const u32 gEventObjectPic_ProfBirch_2[] = INCBIN_U32("graphics/event_objects/pics/people/prof_birch/2.4bpp"); -const u32 gEventObjectPic_ProfBirch_3[] = INCBIN_U32("graphics/event_objects/pics/people/prof_birch/3.4bpp"); -const u32 gEventObjectPic_ProfBirch_4[] = INCBIN_U32("graphics/event_objects/pics/people/prof_birch/4.4bpp"); -const u32 gEventObjectPic_ProfBirch_5[] = INCBIN_U32("graphics/event_objects/pics/people/prof_birch/5.4bpp"); -const u32 gEventObjectPic_ProfBirch_6[] = INCBIN_U32("graphics/event_objects/pics/people/prof_birch/6.4bpp"); -const u32 gEventObjectPic_ProfBirch_7[] = INCBIN_U32("graphics/event_objects/pics/people/prof_birch/7.4bpp"); -const u32 gEventObjectPic_ProfBirch_8[] = INCBIN_U32("graphics/event_objects/pics/people/prof_birch/8.4bpp"); -const u32 gEventObjectPic_ReporterM_0[] = INCBIN_U32("graphics/event_objects/pics/people/reporter_m/0.4bpp"); -const u32 gEventObjectPic_ReporterM_1[] = INCBIN_U32("graphics/event_objects/pics/people/reporter_m/1.4bpp"); -const u32 gEventObjectPic_ReporterM_2[] = INCBIN_U32("graphics/event_objects/pics/people/reporter_m/2.4bpp"); -const u32 gEventObjectPic_ReporterM_3[] = INCBIN_U32("graphics/event_objects/pics/people/reporter_m/3.4bpp"); -const u32 gEventObjectPic_ReporterM_4[] = INCBIN_U32("graphics/event_objects/pics/people/reporter_m/4.4bpp"); -const u32 gEventObjectPic_ReporterM_5[] = INCBIN_U32("graphics/event_objects/pics/people/reporter_m/5.4bpp"); -const u32 gEventObjectPic_ReporterM_6[] = INCBIN_U32("graphics/event_objects/pics/people/reporter_m/6.4bpp"); -const u32 gEventObjectPic_ReporterM_7[] = INCBIN_U32("graphics/event_objects/pics/people/reporter_m/7.4bpp"); -const u32 gEventObjectPic_ReporterM_8[] = INCBIN_U32("graphics/event_objects/pics/people/reporter_m/8.4bpp"); -const u32 gEventObjectPic_ReporterF_0[] = INCBIN_U32("graphics/event_objects/pics/people/reporter_f/0.4bpp"); -const u32 gEventObjectPic_ReporterF_1[] = INCBIN_U32("graphics/event_objects/pics/people/reporter_f/1.4bpp"); -const u32 gEventObjectPic_ReporterF_2[] = INCBIN_U32("graphics/event_objects/pics/people/reporter_f/2.4bpp"); -const u32 gEventObjectPic_ReporterF_3[] = INCBIN_U32("graphics/event_objects/pics/people/reporter_f/3.4bpp"); -const u32 gEventObjectPic_ReporterF_4[] = INCBIN_U32("graphics/event_objects/pics/people/reporter_f/4.4bpp"); -const u32 gEventObjectPic_ReporterF_5[] = INCBIN_U32("graphics/event_objects/pics/people/reporter_f/5.4bpp"); -const u32 gEventObjectPic_ReporterF_6[] = INCBIN_U32("graphics/event_objects/pics/people/reporter_f/6.4bpp"); -const u32 gEventObjectPic_ReporterF_7[] = INCBIN_U32("graphics/event_objects/pics/people/reporter_f/7.4bpp"); -const u32 gEventObjectPic_ReporterF_8[] = INCBIN_U32("graphics/event_objects/pics/people/reporter_f/8.4bpp"); -const u32 gEventObjectPic_MauvilleOldMan1_0[] = INCBIN_U32("graphics/event_objects/pics/people/mauville_old_man_1/0.4bpp"); -const u32 gEventObjectPic_MauvilleOldMan1_1[] = INCBIN_U32("graphics/event_objects/pics/people/mauville_old_man_1/1.4bpp"); -const u32 gEventObjectPic_MauvilleOldMan1_2[] = INCBIN_U32("graphics/event_objects/pics/people/mauville_old_man_1/2.4bpp"); -const u32 gEventObjectPic_MauvilleOldMan1_3[] = INCBIN_U32("graphics/event_objects/pics/people/mauville_old_man_1/3.4bpp"); -const u32 gEventObjectPic_MauvilleOldMan1_4[] = INCBIN_U32("graphics/event_objects/pics/people/mauville_old_man_1/4.4bpp"); -const u32 gEventObjectPic_MauvilleOldMan1_5[] = INCBIN_U32("graphics/event_objects/pics/people/mauville_old_man_1/5.4bpp"); -const u32 gEventObjectPic_MauvilleOldMan1_6[] = INCBIN_U32("graphics/event_objects/pics/people/mauville_old_man_1/6.4bpp"); -const u32 gEventObjectPic_MauvilleOldMan1_7[] = INCBIN_U32("graphics/event_objects/pics/people/mauville_old_man_1/7.4bpp"); -const u32 gEventObjectPic_MauvilleOldMan1_8[] = INCBIN_U32("graphics/event_objects/pics/people/mauville_old_man_1/8.4bpp"); -const u32 gEventObjectPic_MauvilleOldMan2_0[] = INCBIN_U32("graphics/event_objects/pics/people/mauville_old_man_2/0.4bpp"); -const u32 gEventObjectPic_MauvilleOldMan2_1[] = INCBIN_U32("graphics/event_objects/pics/people/mauville_old_man_2/1.4bpp"); -const u32 gEventObjectPic_MauvilleOldMan2_2[] = INCBIN_U32("graphics/event_objects/pics/people/mauville_old_man_2/2.4bpp"); -const u32 gEventObjectPic_MauvilleOldMan2_3[] = INCBIN_U32("graphics/event_objects/pics/people/mauville_old_man_2/3.4bpp"); -const u32 gEventObjectPic_MauvilleOldMan2_4[] = INCBIN_U32("graphics/event_objects/pics/people/mauville_old_man_2/4.4bpp"); -const u32 gEventObjectPic_MauvilleOldMan2_5[] = INCBIN_U32("graphics/event_objects/pics/people/mauville_old_man_2/5.4bpp"); -const u32 gEventObjectPic_MauvilleOldMan2_6[] = INCBIN_U32("graphics/event_objects/pics/people/mauville_old_man_2/6.4bpp"); -const u32 gEventObjectPic_MauvilleOldMan2_7[] = INCBIN_U32("graphics/event_objects/pics/people/mauville_old_man_2/7.4bpp"); -const u32 gEventObjectPic_MauvilleOldMan2_8[] = INCBIN_U32("graphics/event_objects/pics/people/mauville_old_man_2/8.4bpp"); -const u32 gEventObjectPic_MartEmployee_0[] = INCBIN_U32("graphics/event_objects/pics/people/mart_employee/0.4bpp"); -const u32 gEventObjectPic_MartEmployee_1[] = INCBIN_U32("graphics/event_objects/pics/people/mart_employee/1.4bpp"); -const u32 gEventObjectPic_MartEmployee_2[] = INCBIN_U32("graphics/event_objects/pics/people/mart_employee/2.4bpp"); -const u32 gEventObjectPic_MartEmployee_3[] = INCBIN_U32("graphics/event_objects/pics/people/mart_employee/3.4bpp"); -const u32 gEventObjectPic_MartEmployee_4[] = INCBIN_U32("graphics/event_objects/pics/people/mart_employee/4.4bpp"); -const u32 gEventObjectPic_MartEmployee_5[] = INCBIN_U32("graphics/event_objects/pics/people/mart_employee/5.4bpp"); -const u32 gEventObjectPic_MartEmployee_6[] = INCBIN_U32("graphics/event_objects/pics/people/mart_employee/6.4bpp"); -const u32 gEventObjectPic_MartEmployee_7[] = INCBIN_U32("graphics/event_objects/pics/people/mart_employee/7.4bpp"); -const u32 gEventObjectPic_MartEmployee_8[] = INCBIN_U32("graphics/event_objects/pics/people/mart_employee/8.4bpp"); -const u32 gEventObjectPic_RooftopSaleWoman_0[] = INCBIN_U32("graphics/event_objects/pics/people/rooftop_sale_woman/0.4bpp"); -const u32 gEventObjectPic_RooftopSaleWoman_1[] = INCBIN_U32("graphics/event_objects/pics/people/rooftop_sale_woman/1.4bpp"); -const u32 gEventObjectPic_RooftopSaleWoman_2[] = INCBIN_U32("graphics/event_objects/pics/people/rooftop_sale_woman/2.4bpp"); -const u32 gEventObjectPic_RooftopSaleWoman_3[] = INCBIN_U32("graphics/event_objects/pics/people/rooftop_sale_woman/3.4bpp"); -const u32 gEventObjectPic_RooftopSaleWoman_4[] = INCBIN_U32("graphics/event_objects/pics/people/rooftop_sale_woman/4.4bpp"); -const u32 gEventObjectPic_RooftopSaleWoman_5[] = INCBIN_U32("graphics/event_objects/pics/people/rooftop_sale_woman/5.4bpp"); -const u32 gEventObjectPic_RooftopSaleWoman_6[] = INCBIN_U32("graphics/event_objects/pics/people/rooftop_sale_woman/6.4bpp"); -const u32 gEventObjectPic_RooftopSaleWoman_7[] = INCBIN_U32("graphics/event_objects/pics/people/rooftop_sale_woman/7.4bpp"); -const u32 gEventObjectPic_RooftopSaleWoman_8[] = INCBIN_U32("graphics/event_objects/pics/people/rooftop_sale_woman/8.4bpp"); -const u32 gEventObjectPic_Teala_0[] = INCBIN_U32("graphics/event_objects/pics/people/teala/0.4bpp"); -const u32 gEventObjectPic_Teala_1[] = INCBIN_U32("graphics/event_objects/pics/people/teala/1.4bpp"); -const u32 gEventObjectPic_Teala_2[] = INCBIN_U32("graphics/event_objects/pics/people/teala/2.4bpp"); -const u32 gEventObjectPic_Teala_3[] = INCBIN_U32("graphics/event_objects/pics/people/teala/3.4bpp"); -const u32 gEventObjectPic_Teala_4[] = INCBIN_U32("graphics/event_objects/pics/people/teala/4.4bpp"); -const u32 gEventObjectPic_Teala_5[] = INCBIN_U32("graphics/event_objects/pics/people/teala/5.4bpp"); -const u32 gEventObjectPic_Teala_6[] = INCBIN_U32("graphics/event_objects/pics/people/teala/6.4bpp"); -const u32 gEventObjectPic_Teala_7[] = INCBIN_U32("graphics/event_objects/pics/people/teala/7.4bpp"); -const u32 gEventObjectPic_Teala_8[] = INCBIN_U32("graphics/event_objects/pics/people/teala/8.4bpp"); -const u32 gEventObjectPic_Artist_0[] = INCBIN_U32("graphics/event_objects/pics/people/artist/0.4bpp"); -const u32 gEventObjectPic_Artist_1[] = INCBIN_U32("graphics/event_objects/pics/people/artist/1.4bpp"); -const u32 gEventObjectPic_Artist_2[] = INCBIN_U32("graphics/event_objects/pics/people/artist/2.4bpp"); -const u32 gEventObjectPic_Artist_3[] = INCBIN_U32("graphics/event_objects/pics/people/artist/3.4bpp"); -const u32 gEventObjectPic_Artist_4[] = INCBIN_U32("graphics/event_objects/pics/people/artist/4.4bpp"); -const u32 gEventObjectPic_Artist_5[] = INCBIN_U32("graphics/event_objects/pics/people/artist/5.4bpp"); -const u32 gEventObjectPic_Artist_6[] = INCBIN_U32("graphics/event_objects/pics/people/artist/6.4bpp"); -const u32 gEventObjectPic_Artist_7[] = INCBIN_U32("graphics/event_objects/pics/people/artist/7.4bpp"); -const u32 gEventObjectPic_Artist_8[] = INCBIN_U32("graphics/event_objects/pics/people/artist/8.4bpp"); -const u32 gEventObjectPic_Cameraman_0[] = INCBIN_U32("graphics/event_objects/pics/people/cameraman/0.4bpp"); -const u32 gEventObjectPic_Cameraman_1[] = INCBIN_U32("graphics/event_objects/pics/people/cameraman/1.4bpp"); -const u32 gEventObjectPic_Cameraman_2[] = INCBIN_U32("graphics/event_objects/pics/people/cameraman/2.4bpp"); -const u32 gEventObjectPic_Cameraman_3[] = INCBIN_U32("graphics/event_objects/pics/people/cameraman/3.4bpp"); -const u32 gEventObjectPic_Cameraman_4[] = INCBIN_U32("graphics/event_objects/pics/people/cameraman/4.4bpp"); -const u32 gEventObjectPic_Cameraman_5[] = INCBIN_U32("graphics/event_objects/pics/people/cameraman/5.4bpp"); -const u32 gEventObjectPic_Cameraman_6[] = INCBIN_U32("graphics/event_objects/pics/people/cameraman/6.4bpp"); -const u32 gEventObjectPic_Cameraman_7[] = INCBIN_U32("graphics/event_objects/pics/people/cameraman/7.4bpp"); -const u32 gEventObjectPic_Cameraman_8[] = INCBIN_U32("graphics/event_objects/pics/people/cameraman/8.4bpp"); -const u32 gEventObjectPic_Scientist2_0[] = INCBIN_U32("graphics/event_objects/pics/people/scientist_2/0.4bpp"); -const u32 gEventObjectPic_Scientist2_1[] = INCBIN_U32("graphics/event_objects/pics/people/scientist_2/1.4bpp"); -const u32 gEventObjectPic_Scientist2_2[] = INCBIN_U32("graphics/event_objects/pics/people/scientist_2/2.4bpp"); -const u32 gEventObjectPic_Scientist2_3[] = INCBIN_U32("graphics/event_objects/pics/people/scientist_2/3.4bpp"); -const u32 gEventObjectPic_Scientist2_4[] = INCBIN_U32("graphics/event_objects/pics/people/scientist_2/4.4bpp"); -const u32 gEventObjectPic_Scientist2_5[] = INCBIN_U32("graphics/event_objects/pics/people/scientist_2/5.4bpp"); -const u32 gEventObjectPic_Scientist2_6[] = INCBIN_U32("graphics/event_objects/pics/people/scientist_2/6.4bpp"); -const u32 gEventObjectPic_Scientist2_7[] = INCBIN_U32("graphics/event_objects/pics/people/scientist_2/7.4bpp"); -const u32 gEventObjectPic_Scientist2_8[] = INCBIN_U32("graphics/event_objects/pics/people/scientist_2/8.4bpp"); -const u32 gEventObjectPic_Man7_0[] = INCBIN_U32("graphics/event_objects/pics/people/man_7/0.4bpp"); -const u32 gEventObjectPic_Man7_1[] = INCBIN_U32("graphics/event_objects/pics/people/man_7/1.4bpp"); -const u32 gEventObjectPic_Man7_2[] = INCBIN_U32("graphics/event_objects/pics/people/man_7/2.4bpp"); -const u32 gEventObjectPic_Man7_3[] = INCBIN_U32("graphics/event_objects/pics/people/man_7/3.4bpp"); -const u32 gEventObjectPic_Man7_4[] = INCBIN_U32("graphics/event_objects/pics/people/man_7/4.4bpp"); -const u32 gEventObjectPic_Man7_5[] = INCBIN_U32("graphics/event_objects/pics/people/man_7/5.4bpp"); -const u32 gEventObjectPic_Man7_6[] = INCBIN_U32("graphics/event_objects/pics/people/man_7/6.4bpp"); -const u32 gEventObjectPic_Man7_7[] = INCBIN_U32("graphics/event_objects/pics/people/man_7/7.4bpp"); -const u32 gEventObjectPic_Man7_8[] = INCBIN_U32("graphics/event_objects/pics/people/man_7/8.4bpp"); +const u32 gEventObjectPic_ProfBirch[] = INCBIN_U32("graphics/event_objects/pics/people/prof_birch.4bpp"); +const u32 gEventObjectPic_ReporterM[] = INCBIN_U32("graphics/event_objects/pics/people/reporter_m.4bpp"); +const u32 gEventObjectPic_ReporterF[] = INCBIN_U32("graphics/event_objects/pics/people/reporter_f.4bpp"); +const u32 gEventObjectPic_MauvilleOldMan1[] = INCBIN_U32("graphics/event_objects/pics/people/mauville_old_man_1.4bpp"); +const u32 gEventObjectPic_MauvilleOldMan2[] = INCBIN_U32("graphics/event_objects/pics/people/mauville_old_man_2.4bpp"); +const u32 gEventObjectPic_MartEmployee[] = INCBIN_U32("graphics/event_objects/pics/people/mart_employee.4bpp"); +const u32 gEventObjectPic_RooftopSaleWoman[] = INCBIN_U32("graphics/event_objects/pics/people/rooftop_sale_woman.4bpp"); +const u32 gEventObjectPic_Teala[] = INCBIN_U32("graphics/event_objects/pics/people/teala.4bpp"); +const u32 gEventObjectPic_Artist[] = INCBIN_U32("graphics/event_objects/pics/people/artist.4bpp"); +const u32 gEventObjectPic_Cameraman[] = INCBIN_U32("graphics/event_objects/pics/people/cameraman.4bpp"); +const u32 gEventObjectPic_Scientist2[] = INCBIN_U32("graphics/event_objects/pics/people/scientist_2.4bpp"); +const u32 gEventObjectPic_Man7[] = INCBIN_U32("graphics/event_objects/pics/people/man_7.4bpp"); const u32 gEventObjectPic_AquaMemberM[] = INCBIN_U32("graphics/event_objects/pics/people/team_aqua/aqua_member_m.4bpp"); const u32 gEventObjectPic_AquaMemberF[] = INCBIN_U32("graphics/event_objects/pics/people/team_aqua/aqua_member_f.4bpp"); const u32 gEventObjectPic_MagmaMemberM[] = INCBIN_U32("graphics/event_objects/pics/people/team_magma/magma_member_m.4bpp"); const u32 gEventObjectPic_MagmaMemberF[] = INCBIN_U32("graphics/event_objects/pics/people/team_magma/magma_member_f.4bpp"); -const u32 gEventObjectPic_Sidney_0[] = INCBIN_U32("graphics/event_objects/pics/people/sidney/0.4bpp"); -const u32 gEventObjectPic_Sidney_1[] = INCBIN_U32("graphics/event_objects/pics/people/sidney/1.4bpp"); -const u32 gEventObjectPic_Sidney_2[] = INCBIN_U32("graphics/event_objects/pics/people/sidney/2.4bpp"); -const u32 gEventObjectPic_Phoebe_0[] = INCBIN_U32("graphics/event_objects/pics/people/phoebe/0.4bpp"); -const u32 gEventObjectPic_Phoebe_1[] = INCBIN_U32("graphics/event_objects/pics/people/phoebe/1.4bpp"); -const u32 gEventObjectPic_Phoebe_2[] = INCBIN_U32("graphics/event_objects/pics/people/phoebe/2.4bpp"); -const u32 gEventObjectPic_Glacia_0[] = INCBIN_U32("graphics/event_objects/pics/people/glacia/0.4bpp"); -const u32 gEventObjectPic_Glacia_1[] = INCBIN_U32("graphics/event_objects/pics/people/glacia/1.4bpp"); -const u32 gEventObjectPic_Glacia_2[] = INCBIN_U32("graphics/event_objects/pics/people/glacia/2.4bpp"); -const u32 gEventObjectPic_Drake_0[] = INCBIN_U32("graphics/event_objects/pics/people/drake/0.4bpp"); -const u32 gEventObjectPic_Drake_1[] = INCBIN_U32("graphics/event_objects/pics/people/drake/1.4bpp"); -const u32 gEventObjectPic_Drake_2[] = INCBIN_U32("graphics/event_objects/pics/people/drake/2.4bpp"); -const u32 gEventObjectPic_Roxanne_0[] = INCBIN_U32("graphics/event_objects/pics/people/roxanne/0.4bpp"); -const u32 gEventObjectPic_Roxanne_1[] = INCBIN_U32("graphics/event_objects/pics/people/roxanne/1.4bpp"); -const u32 gEventObjectPic_Roxanne_2[] = INCBIN_U32("graphics/event_objects/pics/people/roxanne/2.4bpp"); -const u32 gEventObjectPic_Brawly_0[] = INCBIN_U32("graphics/event_objects/pics/people/brawly/0.4bpp"); -const u32 gEventObjectPic_Brawly_1[] = INCBIN_U32("graphics/event_objects/pics/people/brawly/1.4bpp"); -const u32 gEventObjectPic_Brawly_2[] = INCBIN_U32("graphics/event_objects/pics/people/brawly/2.4bpp"); -const u32 gEventObjectPic_Wattson_0[] = INCBIN_U32("graphics/event_objects/pics/people/wattson/0.4bpp"); -const u32 gEventObjectPic_Wattson_1[] = INCBIN_U32("graphics/event_objects/pics/people/wattson/1.4bpp"); -const u32 gEventObjectPic_Wattson_2[] = INCBIN_U32("graphics/event_objects/pics/people/wattson/2.4bpp"); -const u32 gEventObjectPic_Flannery_0[] = INCBIN_U32("graphics/event_objects/pics/people/flannery/0.4bpp"); -const u32 gEventObjectPic_Flannery_1[] = INCBIN_U32("graphics/event_objects/pics/people/flannery/1.4bpp"); -const u32 gEventObjectPic_Flannery_2[] = INCBIN_U32("graphics/event_objects/pics/people/flannery/2.4bpp"); -const u32 gEventObjectPic_Norman_0[] = INCBIN_U32("graphics/event_objects/pics/people/norman/0.4bpp"); -const u32 gEventObjectPic_Norman_1[] = INCBIN_U32("graphics/event_objects/pics/people/norman/1.4bpp"); -const u32 gEventObjectPic_Norman_2[] = INCBIN_U32("graphics/event_objects/pics/people/norman/2.4bpp"); -const u32 gEventObjectPic_Norman_3[] = INCBIN_U32("graphics/event_objects/pics/people/norman/3.4bpp"); -const u32 gEventObjectPic_Norman_4[] = INCBIN_U32("graphics/event_objects/pics/people/norman/4.4bpp"); -const u32 gEventObjectPic_Norman_5[] = INCBIN_U32("graphics/event_objects/pics/people/norman/5.4bpp"); -const u32 gEventObjectPic_Norman_6[] = INCBIN_U32("graphics/event_objects/pics/people/norman/6.4bpp"); -const u32 gEventObjectPic_Norman_7[] = INCBIN_U32("graphics/event_objects/pics/people/norman/7.4bpp"); -const u32 gEventObjectPic_Norman_8[] = INCBIN_U32("graphics/event_objects/pics/people/norman/8.4bpp"); -const u32 gEventObjectPic_Winona_0[] = INCBIN_U32("graphics/event_objects/pics/people/winona/0.4bpp"); -const u32 gEventObjectPic_Winona_1[] = INCBIN_U32("graphics/event_objects/pics/people/winona/1.4bpp"); -const u32 gEventObjectPic_Winona_2[] = INCBIN_U32("graphics/event_objects/pics/people/winona/2.4bpp"); -const u32 gEventObjectPic_Liza_0[] = INCBIN_U32("graphics/event_objects/pics/people/liza/0.4bpp"); -const u32 gEventObjectPic_Liza_1[] = INCBIN_U32("graphics/event_objects/pics/people/liza/1.4bpp"); -const u32 gEventObjectPic_Liza_2[] = INCBIN_U32("graphics/event_objects/pics/people/liza/2.4bpp"); -const u32 gEventObjectPic_Tate_0[] = INCBIN_U32("graphics/event_objects/pics/people/tate/0.4bpp"); -const u32 gEventObjectPic_Tate_1[] = INCBIN_U32("graphics/event_objects/pics/people/tate/1.4bpp"); -const u32 gEventObjectPic_Tate_2[] = INCBIN_U32("graphics/event_objects/pics/people/tate/2.4bpp"); -const u32 gEventObjectPic_Wallace_0[] = INCBIN_U32("graphics/event_objects/pics/people/wallace/0.4bpp"); -const u32 gEventObjectPic_Wallace_1[] = INCBIN_U32("graphics/event_objects/pics/people/wallace/1.4bpp"); -const u32 gEventObjectPic_Wallace_2[] = INCBIN_U32("graphics/event_objects/pics/people/wallace/2.4bpp"); -const u32 gEventObjectPic_Wallace_3[] = INCBIN_U32("graphics/event_objects/pics/people/wallace/3.4bpp"); -const u32 gEventObjectPic_Wallace_4[] = INCBIN_U32("graphics/event_objects/pics/people/wallace/4.4bpp"); -const u32 gEventObjectPic_Wallace_5[] = INCBIN_U32("graphics/event_objects/pics/people/wallace/5.4bpp"); -const u32 gEventObjectPic_Wallace_6[] = INCBIN_U32("graphics/event_objects/pics/people/wallace/6.4bpp"); -const u32 gEventObjectPic_Wallace_7[] = INCBIN_U32("graphics/event_objects/pics/people/wallace/7.4bpp"); -const u32 gEventObjectPic_Wallace_8[] = INCBIN_U32("graphics/event_objects/pics/people/wallace/8.4bpp"); -const u32 gEventObjectPic_Steven_0[] = INCBIN_U32("graphics/event_objects/pics/people/steven/0.4bpp"); -const u32 gEventObjectPic_Steven_1[] = INCBIN_U32("graphics/event_objects/pics/people/steven/1.4bpp"); -const u32 gEventObjectPic_Steven_2[] = INCBIN_U32("graphics/event_objects/pics/people/steven/2.4bpp"); -const u32 gEventObjectPic_Steven_3[] = INCBIN_U32("graphics/event_objects/pics/people/steven/3.4bpp"); -const u32 gEventObjectPic_Steven_4[] = INCBIN_U32("graphics/event_objects/pics/people/steven/4.4bpp"); -const u32 gEventObjectPic_Steven_5[] = INCBIN_U32("graphics/event_objects/pics/people/steven/5.4bpp"); -const u32 gEventObjectPic_Steven_6[] = INCBIN_U32("graphics/event_objects/pics/people/steven/6.4bpp"); -const u32 gEventObjectPic_Steven_7[] = INCBIN_U32("graphics/event_objects/pics/people/steven/7.4bpp"); -const u32 gEventObjectPic_Steven_8[] = INCBIN_U32("graphics/event_objects/pics/people/steven/8.4bpp"); -const u32 gEventObjectPic_Wally_0[] = INCBIN_U32("graphics/event_objects/pics/people/wally/0.4bpp"); -const u32 gEventObjectPic_Wally_1[] = INCBIN_U32("graphics/event_objects/pics/people/wally/1.4bpp"); -const u32 gEventObjectPic_Wally_2[] = INCBIN_U32("graphics/event_objects/pics/people/wally/2.4bpp"); -const u32 gEventObjectPic_Wally_3[] = INCBIN_U32("graphics/event_objects/pics/people/wally/3.4bpp"); -const u32 gEventObjectPic_Wally_4[] = INCBIN_U32("graphics/event_objects/pics/people/wally/4.4bpp"); -const u32 gEventObjectPic_Wally_5[] = INCBIN_U32("graphics/event_objects/pics/people/wally/5.4bpp"); -const u32 gEventObjectPic_Wally_6[] = INCBIN_U32("graphics/event_objects/pics/people/wally/6.4bpp"); -const u32 gEventObjectPic_Wally_7[] = INCBIN_U32("graphics/event_objects/pics/people/wally/7.4bpp"); -const u32 gEventObjectPic_Wally_8[] = INCBIN_U32("graphics/event_objects/pics/people/wally/8.4bpp"); -const u32 gEventObjectPic_RubySapphireLittleBoy_0[] = INCBIN_U32("graphics/event_objects/pics/people/ruby_sapphire_little_boy/0.4bpp"); -const u32 gEventObjectPic_RubySapphireLittleBoy_1[] = INCBIN_U32("graphics/event_objects/pics/people/ruby_sapphire_little_boy/1.4bpp"); -const u32 gEventObjectPic_RubySapphireLittleBoy_2[] = INCBIN_U32("graphics/event_objects/pics/people/ruby_sapphire_little_boy/2.4bpp"); -const u32 gEventObjectPic_RubySapphireLittleBoy_3[] = INCBIN_U32("graphics/event_objects/pics/people/ruby_sapphire_little_boy/3.4bpp"); -const u32 gEventObjectPic_RubySapphireLittleBoy_4[] = INCBIN_U32("graphics/event_objects/pics/people/ruby_sapphire_little_boy/4.4bpp"); -const u32 gEventObjectPic_RubySapphireLittleBoy_5[] = INCBIN_U32("graphics/event_objects/pics/people/ruby_sapphire_little_boy/5.4bpp"); -const u32 gEventObjectPic_RubySapphireLittleBoy_6[] = INCBIN_U32("graphics/event_objects/pics/people/ruby_sapphire_little_boy/6.4bpp"); -const u32 gEventObjectPic_RubySapphireLittleBoy_7[] = INCBIN_U32("graphics/event_objects/pics/people/ruby_sapphire_little_boy/7.4bpp"); -const u32 gEventObjectPic_RubySapphireLittleBoy_8[] = INCBIN_U32("graphics/event_objects/pics/people/ruby_sapphire_little_boy/8.4bpp"); -const u32 gEventObjectPic_HotSpringsOldWoman_0[] = INCBIN_U32("graphics/event_objects/pics/people/hot_springs_old_woman/0.4bpp"); -const u32 gEventObjectPic_HotSpringsOldWoman_1[] = INCBIN_U32("graphics/event_objects/pics/people/hot_springs_old_woman/1.4bpp"); -const u32 gEventObjectPic_HotSpringsOldWoman_2[] = INCBIN_U32("graphics/event_objects/pics/people/hot_springs_old_woman/2.4bpp"); -const u32 gEventObjectPic_HotSpringsOldWoman_3[] = INCBIN_U32("graphics/event_objects/pics/people/hot_springs_old_woman/3.4bpp"); -const u32 gEventObjectPic_HotSpringsOldWoman_4[] = INCBIN_U32("graphics/event_objects/pics/people/hot_springs_old_woman/4.4bpp"); -const u32 gEventObjectPic_HotSpringsOldWoman_5[] = INCBIN_U32("graphics/event_objects/pics/people/hot_springs_old_woman/5.4bpp"); -const u32 gEventObjectPic_HotSpringsOldWoman_6[] = INCBIN_U32("graphics/event_objects/pics/people/hot_springs_old_woman/6.4bpp"); -const u32 gEventObjectPic_HotSpringsOldWoman_7[] = INCBIN_U32("graphics/event_objects/pics/people/hot_springs_old_woman/7.4bpp"); -const u32 gEventObjectPic_HotSpringsOldWoman_8[] = INCBIN_U32("graphics/event_objects/pics/people/hot_springs_old_woman/8.4bpp"); +const u32 gEventObjectPic_Sidney[] = INCBIN_U32("graphics/event_objects/pics/people/elite_four/sidney.4bpp"); +const u32 gEventObjectPic_Phoebe[] = INCBIN_U32("graphics/event_objects/pics/people/elite_four/phoebe.4bpp"); +const u32 gEventObjectPic_Glacia[] = INCBIN_U32("graphics/event_objects/pics/people/elite_four/glacia.4bpp"); +const u32 gEventObjectPic_Drake[] = INCBIN_U32("graphics/event_objects/pics/people/elite_four/drake.4bpp"); +const u32 gEventObjectPic_Roxanne[] = INCBIN_U32("graphics/event_objects/pics/people/gym_leaders/roxanne.4bpp"); +const u32 gEventObjectPic_Brawly[] = INCBIN_U32("graphics/event_objects/pics/people/gym_leaders/brawly.4bpp"); +const u32 gEventObjectPic_Wattson[] = INCBIN_U32("graphics/event_objects/pics/people/gym_leaders/wattson.4bpp"); +const u32 gEventObjectPic_Flannery[] = INCBIN_U32("graphics/event_objects/pics/people/gym_leaders/flannery.4bpp"); +const u32 gEventObjectPic_Norman[] = INCBIN_U32("graphics/event_objects/pics/people/gym_leaders/norman.4bpp"); +const u32 gEventObjectPic_Winona[] = INCBIN_U32("graphics/event_objects/pics/people/gym_leaders/winona.4bpp"); +const u32 gEventObjectPic_Liza[] = INCBIN_U32("graphics/event_objects/pics/people/gym_leaders/liza.4bpp"); +const u32 gEventObjectPic_Tate[] = INCBIN_U32("graphics/event_objects/pics/people/gym_leaders/tate.4bpp"); +const u32 gEventObjectPic_Wallace[] = INCBIN_U32("graphics/event_objects/pics/people/wallace/wallace.4bpp"); +const u32 gEventObjectPic_Steven[] = INCBIN_U32("graphics/event_objects/pics/people/steven.4bpp"); +const u32 gEventObjectPic_Wally[] = INCBIN_U32("graphics/event_objects/pics/people/wally.4bpp"); +const u32 gEventObjectPic_RubySapphireLittleBoy[] = INCBIN_U32("graphics/event_objects/pics/people/rs_little_boy.4bpp"); +const u32 gEventObjectPic_HotSpringsOldWoman[] = INCBIN_U32("graphics/event_objects/pics/people/hot_springs_old_woman.4bpp"); const u32 gEventObjectPic_LatiasLatios_0[] = INCBIN_U32("graphics/event_objects/pics/pokemon/latias_latios/0.4bpp"); const u32 gEventObjectPic_LatiasLatios_1[] = INCBIN_U32("graphics/event_objects/pics/pokemon/latias_latios/1.4bpp"); const u32 gEventObjectPic_LatiasLatios_2[] = INCBIN_U32("graphics/event_objects/pics/pokemon/latias_latios/2.4bpp"); -const u32 gEventObjectPic_Boy5_0[] = INCBIN_U32("graphics/event_objects/pics/people/boy_5/0.4bpp"); -const u32 gEventObjectPic_Boy5_1[] = INCBIN_U32("graphics/event_objects/pics/people/boy_5/1.4bpp"); -const u32 gEventObjectPic_Boy5_2[] = INCBIN_U32("graphics/event_objects/pics/people/boy_5/2.4bpp"); -const u32 gEventObjectPic_ContestOldMan_0[] = INCBIN_U32("graphics/event_objects/pics/people/contest_old_man/0.4bpp"); -const u32 gEventObjectPic_ContestOldMan_1[] = INCBIN_U32("graphics/event_objects/pics/people/contest_old_man/1.4bpp"); -const u32 gEventObjectPic_ContestOldMan_2[] = INCBIN_U32("graphics/event_objects/pics/people/contest_old_man/2.4bpp"); -const u32 gEventObjectPic_ContestOldMan_3[] = INCBIN_U32("graphics/event_objects/pics/people/contest_old_man/3.4bpp"); -const u32 gEventObjectPic_ContestOldMan_4[] = INCBIN_U32("graphics/event_objects/pics/people/contest_old_man/4.4bpp"); -const u32 gEventObjectPic_ContestOldMan_5[] = INCBIN_U32("graphics/event_objects/pics/people/contest_old_man/5.4bpp"); -const u32 gEventObjectPic_ContestOldMan_6[] = INCBIN_U32("graphics/event_objects/pics/people/contest_old_man/6.4bpp"); -const u32 gEventObjectPic_ContestOldMan_7[] = INCBIN_U32("graphics/event_objects/pics/people/contest_old_man/7.4bpp"); -const u32 gEventObjectPic_ContestOldMan_8[] = INCBIN_U32("graphics/event_objects/pics/people/contest_old_man/8.4bpp"); +const u32 gEventObjectPic_Boy5[] = INCBIN_U32("graphics/event_objects/pics/people/boy_5.4bpp"); +const u32 gEventObjectPic_ContestOldMan[] = INCBIN_U32("graphics/event_objects/pics/people/contest_old_man.4bpp"); const u32 gEventObjectPic_Archie[] = INCBIN_U32("graphics/event_objects/pics/people/team_aqua/archie.4bpp"); const u32 gEventObjectPic_Maxie[] = INCBIN_U32("graphics/event_objects/pics/people/team_magma/maxie.4bpp"); const u32 gEventObjectPic_KyogreFront_0[] = INCBIN_U32("graphics/event_objects/pics/pokemon/kyogre_front/0.4bpp"); @@ -843,27 +204,11 @@ const u32 gEventObjectPic_Wingull_1[] = INCBIN_U32("graphics/event_objects/pics/ const u32 gEventObjectPic_Wingull_4[] = INCBIN_U32("graphics/event_objects/pics/pokemon/wingull/4.4bpp"); const u32 gEventObjectPic_Wingull_2[] = INCBIN_U32("graphics/event_objects/pics/pokemon/wingull/2.4bpp"); const u32 gEventObjectPic_Wingull_5[] = INCBIN_U32("graphics/event_objects/pics/pokemon/wingull/5.4bpp"); -const u32 gEventObjectPic_TuberMSwimming_0[] = INCBIN_U32("graphics/event_objects/pics/people/tuber_m_swimming/0.4bpp"); -const u32 gEventObjectPic_TuberMSwimming_1[] = INCBIN_U32("graphics/event_objects/pics/people/tuber_m_swimming/1.4bpp"); -const u32 gEventObjectPic_TuberMSwimming_2[] = INCBIN_U32("graphics/event_objects/pics/people/tuber_m_swimming/2.4bpp"); -const u32 gEventObjectPic_TuberMSwimming_3[] = INCBIN_U32("graphics/event_objects/pics/people/tuber_m_swimming/3.4bpp"); -const u32 gEventObjectPic_TuberMSwimming_4[] = INCBIN_U32("graphics/event_objects/pics/people/tuber_m_swimming/4.4bpp"); -const u32 gEventObjectPic_TuberMSwimming_5[] = INCBIN_U32("graphics/event_objects/pics/people/tuber_m_swimming/5.4bpp"); -const u32 gEventObjectPic_TuberMSwimming_6[] = INCBIN_U32("graphics/event_objects/pics/people/tuber_m_swimming/6.4bpp"); -const u32 gEventObjectPic_TuberMSwimming_7[] = INCBIN_U32("graphics/event_objects/pics/people/tuber_m_swimming/7.4bpp"); -const u32 gEventObjectPic_TuberMSwimming_8[] = INCBIN_U32("graphics/event_objects/pics/people/tuber_m_swimming/8.4bpp"); +const u32 gEventObjectPic_TuberMSwimming[] = INCBIN_U32("graphics/event_objects/pics/people/tuber_m_swimming.4bpp"); const u32 gEventObjectPic_Azurill_0[] = INCBIN_U32("graphics/event_objects/pics/pokemon/azurill/0.4bpp"); const u32 gEventObjectPic_Azurill_1[] = INCBIN_U32("graphics/event_objects/pics/pokemon/azurill/1.4bpp"); const u32 gEventObjectPic_Azurill_2[] = INCBIN_U32("graphics/event_objects/pics/pokemon/azurill/2.4bpp"); -const u32 gEventObjectPic_Mom_0[] = INCBIN_U32("graphics/event_objects/pics/people/mom/0.4bpp"); -const u32 gEventObjectPic_Mom_1[] = INCBIN_U32("graphics/event_objects/pics/people/mom/1.4bpp"); -const u32 gEventObjectPic_Mom_2[] = INCBIN_U32("graphics/event_objects/pics/people/mom/2.4bpp"); -const u32 gEventObjectPic_Mom_3[] = INCBIN_U32("graphics/event_objects/pics/people/mom/3.4bpp"); -const u32 gEventObjectPic_Mom_4[] = INCBIN_U32("graphics/event_objects/pics/people/mom/4.4bpp"); -const u32 gEventObjectPic_Mom_5[] = INCBIN_U32("graphics/event_objects/pics/people/mom/5.4bpp"); -const u32 gEventObjectPic_Mom_6[] = INCBIN_U32("graphics/event_objects/pics/people/mom/6.4bpp"); -const u32 gEventObjectPic_Mom_7[] = INCBIN_U32("graphics/event_objects/pics/people/mom/7.4bpp"); -const u32 gEventObjectPic_Mom_8[] = INCBIN_U32("graphics/event_objects/pics/people/mom/8.4bpp"); +const u32 gEventObjectPic_Mom[] = INCBIN_U32("graphics/event_objects/pics/people/mom.4bpp"); const u16 gEventObjectPalette22[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_22.gbapal"); const u16 gEventObjectPalette23[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_23.gbapal"); const u16 gEventObjectPalette24[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_24.gbapal"); @@ -1159,13 +504,7 @@ const u32 gEventObjectPic_TamatoBerryTree_5[] = INCBIN_U32("graphics/event_objec const u32 gFieldEffectObjectPic_SurfBlob_0[] = INCBIN_U32("graphics/event_objects/pics/effects/surf_blob/0.4bpp"); const u32 gFieldEffectObjectPic_SurfBlob_1[] = INCBIN_U32("graphics/event_objects/pics/effects/surf_blob/1.4bpp"); const u32 gFieldEffectObjectPic_SurfBlob_2[] = INCBIN_U32("graphics/event_objects/pics/effects/surf_blob/2.4bpp"); -const u32 gEventObjectPic_QuintyPlump_0[] = INCBIN_U32("graphics/event_objects/pics/people/quinty_plump/0.4bpp"); -const u32 gEventObjectPic_QuintyPlump_1[] = INCBIN_U32("graphics/event_objects/pics/people/quinty_plump/1.4bpp"); -const u32 gEventObjectPic_QuintyPlump_2[] = INCBIN_U32("graphics/event_objects/pics/people/quinty_plump/2.4bpp"); -const u32 gEventObjectPic_QuintyPlump_3[] = INCBIN_U32("graphics/event_objects/pics/people/quinty_plump/3.4bpp"); -const u32 gEventObjectPic_QuintyPlump_4[] = INCBIN_U32("graphics/event_objects/pics/people/quinty_plump/4.4bpp"); -const u32 gEventObjectPic_QuintyPlump_5[] = INCBIN_U32("graphics/event_objects/pics/people/quinty_plump/5.4bpp"); -const u32 gEventObjectPic_QuintyPlump_6[] = INCBIN_U32("graphics/event_objects/pics/people/quinty_plump/6.4bpp"); +const u32 gEventObjectPic_QuintyPlump[] = INCBIN_U32("graphics/event_objects/pics/people/quinty_plump.4bpp"); const u16 gEventObjectPalette12[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_12.gbapal"); const u16 gEventObjectPalette13[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_13.gbapal"); const u32 gFieldEffectObjectPic_ShadowSmall[] = INCBIN_U32("graphics/event_objects/pics/effects/shadow_small.4bpp"); @@ -1311,24 +650,8 @@ const u32 gFieldEffectObjectPic_Unknown35_0[] = INCBIN_U32("graphics/event_objec const u32 gFieldEffectObjectPic_Unknown35_1[] = INCBIN_U32("graphics/event_objects/pics/effects/unknown_35/1.4bpp"); const u16 gFieldEffectObjectPalette3[] = INCBIN_U16("graphics/event_objects/palettes/field_effect_object_palette_03.gbapal"); const u32 gFieldEffectObjectPic_Bird[] = INCBIN_U32("graphics/event_objects/pics/effects/bird.4bpp"); -const u32 gEventObjectPic_Juan_0[] = INCBIN_U32("graphics/event_objects/pics/people/juan/0.4bpp"); -const u32 gEventObjectPic_Juan_1[] = INCBIN_U32("graphics/event_objects/pics/people/juan/1.4bpp"); -const u32 gEventObjectPic_Juan_2[] = INCBIN_U32("graphics/event_objects/pics/people/juan/2.4bpp"); -const u32 gEventObjectPic_Juan_3[] = INCBIN_U32("graphics/event_objects/pics/people/juan/3.4bpp"); -const u32 gEventObjectPic_Juan_4[] = INCBIN_U32("graphics/event_objects/pics/people/juan/4.4bpp"); -const u32 gEventObjectPic_Juan_5[] = INCBIN_U32("graphics/event_objects/pics/people/juan/5.4bpp"); -const u32 gEventObjectPic_Juan_6[] = INCBIN_U32("graphics/event_objects/pics/people/juan/6.4bpp"); -const u32 gEventObjectPic_Juan_7[] = INCBIN_U32("graphics/event_objects/pics/people/juan/7.4bpp"); -const u32 gEventObjectPic_Juan_8[] = INCBIN_U32("graphics/event_objects/pics/people/juan/8.4bpp"); -const u32 gEventObjectPic_Scott_0[] = INCBIN_U32("graphics/event_objects/pics/people/scott/0.4bpp"); -const u32 gEventObjectPic_Scott_1[] = INCBIN_U32("graphics/event_objects/pics/people/scott/1.4bpp"); -const u32 gEventObjectPic_Scott_2[] = INCBIN_U32("graphics/event_objects/pics/people/scott/2.4bpp"); -const u32 gEventObjectPic_Scott_3[] = INCBIN_U32("graphics/event_objects/pics/people/scott/3.4bpp"); -const u32 gEventObjectPic_Scott_4[] = INCBIN_U32("graphics/event_objects/pics/people/scott/4.4bpp"); -const u32 gEventObjectPic_Scott_5[] = INCBIN_U32("graphics/event_objects/pics/people/scott/5.4bpp"); -const u32 gEventObjectPic_Scott_6[] = INCBIN_U32("graphics/event_objects/pics/people/scott/6.4bpp"); -const u32 gEventObjectPic_Scott_7[] = INCBIN_U32("graphics/event_objects/pics/people/scott/7.4bpp"); -const u32 gEventObjectPic_Scott_8[] = INCBIN_U32("graphics/event_objects/pics/people/scott/8.4bpp"); +const u32 gEventObjectPic_Juan[] = INCBIN_U32("graphics/event_objects/pics/people/gym_leaders/juan.4bpp"); +const u32 gEventObjectPic_Scott[] = INCBIN_U32("graphics/event_objects/pics/people/scott.4bpp"); const u32 gEventObjectPic_Statue[] = INCBIN_U32("graphics/event_objects/pics/misc/statue.4bpp"); const u32 gEventObjectPic_Kirlia_0[] = INCBIN_U32("graphics/event_objects/pics/pokemon/kirlia/0.4bpp"); const u32 gEventObjectPic_Kirlia_1[] = INCBIN_U32("graphics/event_objects/pics/pokemon/kirlia/1.4bpp"); @@ -1348,12 +671,8 @@ const u32 gEventObjectPic_Dusclops_5[] = INCBIN_U32("graphics/event_objects/pics const u32 gEventObjectPic_Dusclops_6[] = INCBIN_U32("graphics/event_objects/pics/pokemon/dusclops/6.4bpp"); const u32 gEventObjectPic_Dusclops_7[] = INCBIN_U32("graphics/event_objects/pics/pokemon/dusclops/7.4bpp"); const u32 gEventObjectPic_Dusclops_8[] = INCBIN_U32("graphics/event_objects/pics/pokemon/dusclops/8.4bpp"); -const u32 gEventObjectPic_MysteryEventDeliveryman_0[] = INCBIN_U32("graphics/event_objects/pics/people/mystery_event_deliveryman/0.4bpp"); -const u32 gEventObjectPic_MysteryEventDeliveryman_1[] = INCBIN_U32("graphics/event_objects/pics/people/mystery_event_deliveryman/1.4bpp"); -const u32 gEventObjectPic_MysteryEventDeliveryman_2[] = INCBIN_U32("graphics/event_objects/pics/people/mystery_event_deliveryman/2.4bpp"); -const u32 gEventObjectPic_UnionRoomAttendant_0[] = INCBIN_U32("graphics/event_objects/pics/people/union_room_attendant/0.4bpp"); -const u32 gEventObjectPic_UnionRoomAttendant_1[] = INCBIN_U32("graphics/event_objects/pics/people/union_room_attendant/1.4bpp"); -const u32 gEventObjectPic_UnionRoomAttendant_2[] = INCBIN_U32("graphics/event_objects/pics/people/union_room_attendant/2.4bpp"); +const u32 gEventObjectPic_MysteryEventDeliveryman[] = INCBIN_U32("graphics/event_objects/pics/people/mystery_event_deliveryman.4bpp"); +const u32 gEventObjectPic_UnionRoomAttendant[] = INCBIN_U32("graphics/event_objects/pics/people/union_room_attendant.4bpp"); const u32 gEventObjectPic_MovingBox[] = INCBIN_U32("graphics/event_objects/pics/misc/moving_box.4bpp"); const u16 gEventObjectPalette19[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_19.gbapal"); const u32 gEventObjectPic_Sudowoodo_0[] = INCBIN_U32("graphics/event_objects/pics/pokemon/sudowoodo/0.4bpp"); @@ -1369,24 +688,8 @@ const u32 gEventObjectPic_Mew_6[] = INCBIN_U32("graphics/event_objects/pics/poke const u32 gEventObjectPic_Mew_7[] = INCBIN_U32("graphics/event_objects/pics/pokemon/mew/7.4bpp"); const u32 gEventObjectPic_Mew_8[] = INCBIN_U32("graphics/event_objects/pics/pokemon/mew/8.4bpp"); const u16 gEventObjectPalette28[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_28.gbapal"); -const u32 gEventObjectPic_Red_0[] = INCBIN_U32("graphics/event_objects/pics/people/red/0.4bpp"); -const u32 gEventObjectPic_Red_1[] = INCBIN_U32("graphics/event_objects/pics/people/red/1.4bpp"); -const u32 gEventObjectPic_Red_2[] = INCBIN_U32("graphics/event_objects/pics/people/red/2.4bpp"); -const u32 gEventObjectPic_Red_3[] = INCBIN_U32("graphics/event_objects/pics/people/red/3.4bpp"); -const u32 gEventObjectPic_Red_4[] = INCBIN_U32("graphics/event_objects/pics/people/red/4.4bpp"); -const u32 gEventObjectPic_Red_5[] = INCBIN_U32("graphics/event_objects/pics/people/red/5.4bpp"); -const u32 gEventObjectPic_Red_6[] = INCBIN_U32("graphics/event_objects/pics/people/red/6.4bpp"); -const u32 gEventObjectPic_Red_7[] = INCBIN_U32("graphics/event_objects/pics/people/red/7.4bpp"); -const u32 gEventObjectPic_Red_8[] = INCBIN_U32("graphics/event_objects/pics/people/red/8.4bpp"); -const u32 gEventObjectPic_Leaf_0[] = INCBIN_U32("graphics/event_objects/pics/people/leaf/0.4bpp"); -const u32 gEventObjectPic_Leaf_1[] = INCBIN_U32("graphics/event_objects/pics/people/leaf/1.4bpp"); -const u32 gEventObjectPic_Leaf_2[] = INCBIN_U32("graphics/event_objects/pics/people/leaf/2.4bpp"); -const u32 gEventObjectPic_Leaf_3[] = INCBIN_U32("graphics/event_objects/pics/people/leaf/3.4bpp"); -const u32 gEventObjectPic_Leaf_4[] = INCBIN_U32("graphics/event_objects/pics/people/leaf/4.4bpp"); -const u32 gEventObjectPic_Leaf_5[] = INCBIN_U32("graphics/event_objects/pics/people/leaf/5.4bpp"); -const u32 gEventObjectPic_Leaf_6[] = INCBIN_U32("graphics/event_objects/pics/people/leaf/6.4bpp"); -const u32 gEventObjectPic_Leaf_7[] = INCBIN_U32("graphics/event_objects/pics/people/leaf/7.4bpp"); -const u32 gEventObjectPic_Leaf_8[] = INCBIN_U32("graphics/event_objects/pics/people/leaf/8.4bpp"); +const u32 gEventObjectPic_Red[] = INCBIN_U32("graphics/event_objects/pics/people/red.4bpp"); +const u32 gEventObjectPic_Leaf[] = INCBIN_U32("graphics/event_objects/pics/people/leaf.4bpp"); const u16 gEventObjectPalette30[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_30.gbapal"); const u32 gEventObjectPic_BirthIslandStone[] = INCBIN_U32("graphics/event_objects/pics/misc/birth_island_stone.4bpp"); const u16 gEventObjectPalette29[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_29.gbapal"); From 45b730e4747df42c5bd2dd775d34cdaed51b4045 Mon Sep 17 00:00:00 2001 From: garak Date: Tue, 7 Aug 2018 23:05:48 -0400 Subject: [PATCH 059/234] copy heal_location changes from pokeruby --- include/heal_location.h | 17 +++----- src/heal_location.c | 96 ++++++++++++++++------------------------- src/overworld.c | 6 +-- 3 files changed, 45 insertions(+), 74 deletions(-) diff --git a/include/heal_location.h b/include/heal_location.h index 1f966f1aea..94dac24173 100644 --- a/include/heal_location.h +++ b/include/heal_location.h @@ -1,12 +1,7 @@ #ifndef GUARD_HEAL_LOCATION_H #define GUARD_HEAL_LOCATION_H -// Exported type declarations - -struct UnkStruct_0859F534 { - const union AffineAnimCmd *const *const affineAnims; - void (* callback)(struct Sprite *sprite); -}; +#include "sprite.h" struct HealLocation { @@ -16,10 +11,8 @@ struct HealLocation u16 y; }; -// Exported RAM declarations +u32 GetHealLocationIndexByMap(u16 mapGroup, u16 mapNum); +const struct HealLocation *GetHealLocationByMap(u16 mapGroup, u16 mapNum); +const struct HealLocation *GetHealLocation(u32 index); -// Exported ROM declarations - -const struct HealLocation *GetHealLocationPointer(u32 loc); - -#endif //GUARD_HEAL_LOCATION_H +#endif // GUARD_HEAL_LOCATION_H diff --git a/src/heal_location.c b/src/heal_location.c index aa90fe1ae7..41b9898feb 100644 --- a/src/heal_location.c +++ b/src/heal_location.c @@ -1,83 +1,61 @@ - -// Includes #include "global.h" -#include "constants/maps.h" #include "heal_location.h" +#include "constants/maps.h" -#define HEAL_LOCATION(map, x, y) {MAP_GROUP(map), MAP_NUM(map), x, y} - -// Static type declarations - -// Static RAM declarations - -// Static ROM declarations - -// .rodata - -static const struct HealLocation sHealLocations[] = { - HEAL_LOCATION(LITTLEROOT_TOWN_BRENDANS_HOUSE_2F, 4, 2), - HEAL_LOCATION(LITTLEROOT_TOWN_MAYS_HOUSE_2F, 4, 2), - HEAL_LOCATION(PETALBURG_CITY, 20, 17), - HEAL_LOCATION(SLATEPORT_CITY, 19, 20), - HEAL_LOCATION(MAUVILLE_CITY, 22, 6), - HEAL_LOCATION(RUSTBORO_CITY, 16, 39), - HEAL_LOCATION(FORTREE_CITY, 5, 7), - HEAL_LOCATION(LILYCOVE_CITY, 24, 15), - HEAL_LOCATION(MOSSDEEP_CITY, 28, 17), - HEAL_LOCATION(SOOTOPOLIS_CITY, 43, 32), - HEAL_LOCATION(EVER_GRANDE_CITY, 27, 49), - HEAL_LOCATION(LITTLEROOT_TOWN, 5, 9), - HEAL_LOCATION(LITTLEROOT_TOWN, 14, 9), - HEAL_LOCATION(OLDALE_TOWN, 6, 17), - HEAL_LOCATION(DEWFORD_TOWN, 2, 11), - HEAL_LOCATION(LAVARIDGE_TOWN, 9, 7), - HEAL_LOCATION(FALLARBOR_TOWN, 14, 8), - HEAL_LOCATION(VERDANTURF_TOWN, 16, 4), - HEAL_LOCATION(PACIFIDLOG_TOWN, 8, 16), - HEAL_LOCATION(EVER_GRANDE_CITY, 18, 6), - HEAL_LOCATION(SOUTHERN_ISLAND_EXTERIOR, 15, 20), - HEAL_LOCATION(BATTLE_FRONTIER_OUTSIDE_EAST, 3, 52) +static const struct HealLocation sHealLocations[] = +{ + {MAP_GROUP(LITTLEROOT_TOWN_BRENDANS_HOUSE_2F), MAP_NUM(LITTLEROOT_TOWN_BRENDANS_HOUSE_2F), 4, 2}, + {MAP_GROUP(LITTLEROOT_TOWN_MAYS_HOUSE_2F), MAP_NUM(LITTLEROOT_TOWN_MAYS_HOUSE_2F), 4, 2}, + {MAP_GROUP(PETALBURG_CITY), MAP_NUM(PETALBURG_CITY), 20, 17}, + {MAP_GROUP(SLATEPORT_CITY), MAP_NUM(SLATEPORT_CITY), 19, 20}, + {MAP_GROUP(MAUVILLE_CITY), MAP_NUM(MAUVILLE_CITY), 22, 6}, + {MAP_GROUP(RUSTBORO_CITY), MAP_NUM(RUSTBORO_CITY), 16, 39}, + {MAP_GROUP(FORTREE_CITY), MAP_NUM(FORTREE_CITY), 5, 7}, + {MAP_GROUP(LILYCOVE_CITY), MAP_NUM(LILYCOVE_CITY), 24, 15}, + {MAP_GROUP(MOSSDEEP_CITY), MAP_NUM(MOSSDEEP_CITY), 28, 17}, + {MAP_GROUP(SOOTOPOLIS_CITY), MAP_NUM(SOOTOPOLIS_CITY), 43, 32}, + {MAP_GROUP(EVER_GRANDE_CITY), MAP_NUM(EVER_GRANDE_CITY), 27, 49}, + {MAP_GROUP(LITTLEROOT_TOWN), MAP_NUM(LITTLEROOT_TOWN), 5, 9}, + {MAP_GROUP(LITTLEROOT_TOWN), MAP_NUM(LITTLEROOT_TOWN), 14, 9}, + {MAP_GROUP(OLDALE_TOWN), MAP_NUM(OLDALE_TOWN), 6, 17}, + {MAP_GROUP(DEWFORD_TOWN), MAP_NUM(DEWFORD_TOWN), 2, 11}, + {MAP_GROUP(LAVARIDGE_TOWN), MAP_NUM(LAVARIDGE_TOWN), 9, 7}, + {MAP_GROUP(FALLARBOR_TOWN), MAP_NUM(FALLARBOR_TOWN), 14, 8}, + {MAP_GROUP(VERDANTURF_TOWN), MAP_NUM(VERDANTURF_TOWN), 16, 4}, + {MAP_GROUP(PACIFIDLOG_TOWN), MAP_NUM(PACIFIDLOG_TOWN), 8, 16}, + {MAP_GROUP(EVER_GRANDE_CITY), MAP_NUM(EVER_GRANDE_CITY), 18, 6}, + {MAP_GROUP(SOUTHERN_ISLAND_EXTERIOR), MAP_NUM(SOUTHERN_ISLAND_EXTERIOR), 15, 20}, + {MAP_GROUP(BATTLE_FRONTIER_OUTSIDE_EAST), MAP_NUM(BATTLE_FRONTIER_OUTSIDE_EAST), 3, 52}, }; -#define NUM_HEAL_LOCATIONS (ARRAY_COUNT(sHealLocations)) - -// .text - -static u32 GetHealLocationIndexFromMapGroupAndNum(u16 mapGroup, u16 mapNum) +u32 GetHealLocationIndexByMap(u16 mapGroup, u16 mapNum) { u32 i; - for (i = 0; i < NUM_HEAL_LOCATIONS; i++) + for (i = 0; i < ARRAY_COUNT(sHealLocations); i++) { if (sHealLocations[i].group == mapGroup && sHealLocations[i].map == mapNum) - { return i + 1; - } } return 0; } -const struct HealLocation *GetHealLocationPointerFromMapGroupAndNum(u16 mapGroup, u16 mapNum) +const struct HealLocation *GetHealLocationByMap(u16 mapGroup, u16 mapNum) { - u32 loc; + u32 index = GetHealLocationIndexByMap(mapGroup, mapNum); - loc = GetHealLocationIndexFromMapGroupAndNum(mapGroup, mapNum); - if (loc == 0) - { + if (index == 0) return NULL; - } - return &sHealLocations[loc - 1]; + else + return &sHealLocations[index - 1]; } -const struct HealLocation *GetHealLocationPointer(u32 loc) +const struct HealLocation *GetHealLocation(u32 index) { - if (loc == 0) - { + if (index == 0) return NULL; - } - if (loc > NUM_HEAL_LOCATIONS) - { + else if (index > ARRAY_COUNT(sHealLocations)) return NULL; - } - return &sHealLocations[loc - 1]; + else + return &sHealLocations[index - 1]; } diff --git a/src/overworld.c b/src/overworld.c index 772f8a0570..d85af9e4d4 100644 --- a/src/overworld.c +++ b/src/overworld.c @@ -689,7 +689,7 @@ void copy_saved_warp2_bank_and_enter_x_to_warp1(u8 unused) void sub_8084CCC(u8 a1) { - const struct HealLocation *warp = GetHealLocationPointer(a1); + const struct HealLocation *warp = GetHealLocation(a1); if (warp) Overworld_SetWarpDestination(warp->group, warp->map, -1, warp->x, warp->y); @@ -702,7 +702,7 @@ void Overworld_SetWarpDestToLastHealLoc(void) void Overworld_SetHealLocationWarp(u8 healLocationId) { - const struct HealLocation *healLocation = GetHealLocationPointer(healLocationId); + const struct HealLocation *healLocation = GetHealLocation(healLocationId); if (healLocation != NULL) SetWarpData(&gSaveBlock1Ptr->lastHealLocation, healLocation->group, healLocation->map, -1, healLocation->x, healLocation->y); @@ -761,7 +761,7 @@ void sub_8084F2C(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y) void sub_8084F6C(u8 a1) { - const struct HealLocation *warp = GetHealLocationPointer(a1); + const struct HealLocation *warp = GetHealLocation(a1); if (warp) SetWarpData(&gSaveBlock1Ptr->warp1, warp->group, warp->map, -1, warp->x, warp->y); } From 90896e38c966df57ca9e4434a1d726ccbfa448e7 Mon Sep 17 00:00:00 2001 From: Diegoisawesome Date: Wed, 8 Aug 2018 01:37:12 -0700 Subject: [PATCH 060/234] Begin porting/decompiling field_specials --- asm/contest.s | 32 +- asm/contest_link_80FC4F4.s | 2 +- asm/field_specials.s | 3621 ----------------- asm/pokenav.s | 10 +- asm/rom_8011DC0.s | 6 +- asm/roulette.s | 8 +- asm/trade.s | 2 +- data/event_scripts.s | 6 +- data/field_specials.s | 27 - .../scripts.inc | 8 +- data/maps/AncientTomb/scripts.inc | 4 +- data/maps/AquaHideout_B1F/scripts.inc | 6 +- .../BattleFrontier_OutsideEast/scripts.inc | 4 +- data/maps/BirthIsland_Exterior/scripts.inc | 4 +- data/maps/DesertRuins/scripts.inc | 4 +- data/maps/FarawayIsland_Interior/scripts.inc | 6 +- data/maps/IslandCave/scripts.inc | 4 +- data/maps/LilycoveCity/scripts.inc | 4 +- .../scripts.inc | 2 +- .../scripts.inc | 2 +- data/maps/LilycoveCity_Harbor/scripts.inc | 4 +- data/maps/MarineCave_End/scripts.inc | 4 +- data/maps/MauvilleCity_GameCorner/scripts.inc | 26 +- data/maps/NavelRock_Bottom/scripts.inc | 4 +- data/maps/NavelRock_Top/scripts.inc | 4 +- data/maps/NewMauville_Inside/scripts.inc | 8 +- data/maps/PacifidlogTown_House2/scripts.inc | 8 +- .../scripts.inc | 6 +- data/maps/Route103/scripts.inc | 4 +- data/maps/Route104/scripts.inc | 4 +- data/maps/Route110/events.inc | 4 +- data/maps/Route110/scripts.inc | 14 +- .../scripts.inc | 10 +- data/maps/Route116/scripts.inc | 4 +- .../Route116_TunnelersRestHouse/scripts.inc | 2 +- data/maps/Route119/scripts.inc | 6 +- data/maps/Route120/scripts.inc | 6 +- data/maps/RustboroCity/scripts.inc | 6 +- data/maps/RusturfTunnel/events.inc | 4 +- data/maps/RusturfTunnel/scripts.inc | 8 +- data/maps/SSTidalCorridor/scripts.inc | 36 +- data/maps/SkyPillar_Top/scripts.inc | 4 +- data/maps/SlateportCity_Harbor/scripts.inc | 2 +- data/maps/SlateportCity_House1/scripts.inc | 2 +- .../scripts.inc | 2 +- data/maps/SouthernIsland_Interior/scripts.inc | 4 +- data/maps/TerraCave_End/scripts.inc | 4 +- data/maps/VerdanturfTown/scripts.inc | 4 +- .../VerdanturfTown_WandasHouse/scripts.inc | 2 +- data/scripts/field_move_scripts.inc | 2 +- data/specials.inc | 30 +- include/battle_tower.h | 1 + include/constants/flags.h | 16 +- include/constants/vars.h | 16 +- include/event_object_movement.h | 1 + include/field_region_map.h | 6 + include/party_menu.h | 1 + include/pokemon_storage_system.h | 1 + include/rom_8011DC0.h | 1 + include/strings.h | 10 + include/tv.h | 1 + include/wallclock.h | 3 +- ld_script.txt | 2 + src/battle_setup.c | 2 +- src/clock.c | 2 +- src/credits.c | 2 +- src/field_region_map.c | 2 +- src/field_special_scene.c | 2 +- src/field_specials.c | 1657 ++++++++ src/match_call.c | 4 +- src/region_map.c | 70 +- src/wallclock.c | 4 +- sym_ewram.txt | 16 +- 73 files changed, 1915 insertions(+), 3895 deletions(-) create mode 100644 include/field_region_map.h create mode 100644 src/field_specials.c diff --git a/asm/contest.s b/asm/contest.s index 453ecb04c3..978421c3d6 100644 --- a/asm/contest.s +++ b/asm/contest.s @@ -102,7 +102,7 @@ LoadContestBgAfterMoveAnim: @ 80D7724 movs r4, 0 movs r5, 0xA0 _080D775E: - ldr r0, =0x0201a004 + ldr r0, =gHeap+0x1A004 adds r0, r5, r0 ldr r1, =gUnknown_02039F26 adds r1, r4, r1 @@ -576,7 +576,7 @@ _080D7B4E: ldr r1, =gReservedSpritePaletteCount movs r0, 0x4 strb r0, [r1] - ldr r0, =0x02000000 + ldr r0, =gHeap movs r1, 0xD0 lsls r1, 9 adds r0, r1 @@ -928,7 +928,7 @@ _080D7ED8: ldr r4, =0x06002000 adds r1, r4, 0 bl LZDecompressVram - ldr r3, =0x02018000 + ldr r3, =gHeap+0x18000 movs r5, 0x80 lsls r5, 6 ldr r1, =0x040000d4 @@ -976,7 +976,7 @@ _080D7F40: ldr r0, =gContestResources ldr r0, [r0] ldr r1, [r0, 0x2C] - ldr r2, =0x0201aa04 + ldr r2, =gHeap+0x1AA04 ldr r0, =0x040000d4 str r1, [r0] str r2, [r0, 0x4] @@ -1022,7 +1022,7 @@ _080D7F7C: mov r0, sp adds r2, r6, 0 bl CpuSet - ldr r1, =0x0201a004 + ldr r1, =gHeap+0x1A004 ldr r0, =0x040000d4 mov r2, r8 str r2, [r0] @@ -1393,7 +1393,7 @@ sub_80D833C: @ 80D833C strh r1, [r0] bl sub_80DCD48 ldr r1, =gPlttBufferUnfaded - ldr r2, =0x0201a204 + ldr r2, =gHeap+0x1A204 ldr r0, =0x040000d4 str r1, [r0] str r2, [r0, 0x4] @@ -2070,7 +2070,7 @@ _080D897C: movs r0, 0 bl sub_80DED60 ldr r1, =gPlttBufferFaded - ldr r0, =0x0201a604 + ldr r0, =gHeap+0x1A604 movs r2, 0x80 lsls r2, 3 ldr r4, =0x040000d4 @@ -5012,7 +5012,7 @@ _080DA33A: sub_80DA348: @ 80DA348 lsls r0, 24 lsrs r0, 24 - ldr r2, =0x0201a204 + ldr r2, =gHeap+0x1A204 ldr r3, =gPlttBufferUnfaded ldr r1, =0x040000d4 str r2, [r1] @@ -10211,7 +10211,7 @@ sub_80DCCD8: @ 80DCCD8 thumb_func_start sub_80DCD08 sub_80DCD08: @ 80DCD08 push {lr} - ldr r0, =0x02000000 + ldr r0, =gHeap movs r1, 0xD0 lsls r1, 9 adds r2, r0, r1 @@ -10250,7 +10250,7 @@ sub_80DCD48: @ 80DCD48 ldrb r0, [r0] cmp r0, 0 beq _080DCE44 - ldr r0, =0x02000000 + ldr r0, =gHeap movs r1, 0xD0 lsls r1, 9 adds r0, r1 @@ -10639,7 +10639,7 @@ sub_80DD04C: @ 80DD04C movs r4, 0 movs r5, 0xA0 _080DD052: - ldr r0, =0x0201a004 + ldr r0, =gHeap+0x1A004 adds r0, r5, r0 ldr r1, =gUnknown_02039F26 adds r1, r4, r1 @@ -12351,7 +12351,7 @@ sub_80DDE30: @ 80DDE30 ldrsh r0, [r4, r1] cmp r0, 0 bne _080DDE78 - ldr r0, =0x02019000 + ldr r0, =gHeap+0x19000 ldr r1, =0x06002000 movs r2, 0x80 lsls r2, 5 @@ -12360,7 +12360,7 @@ sub_80DDE30: @ 80DDE30 b _080DDE8C .pool _080DDE78: - ldr r0, =0x02018000 + ldr r0, =gHeap+0x18000 ldr r1, =0x06002000 movs r2, 0x80 lsls r2, 5 @@ -15417,7 +15417,7 @@ sub_80DF704: @ 80DF704 push {r4,lr} lsls r0, 24 lsrs r3, r0, 24 - ldr r0, =0x02000000 + ldr r0, =gHeap movs r1, 0xD0 lsls r1, 9 adds r2, r0, r1 @@ -15468,7 +15468,7 @@ sub_80DF750: @ 80DF750 bne _080DF766 b _080DF924 _080DF766: - ldr r0, =0x02000000 + ldr r0, =gHeap movs r1, 0xD0 lsls r1, 9 adds r0, r1 @@ -15493,7 +15493,7 @@ _080DF784: lsrs r7, r0, 24 cmp r7, 0x3 bls _080DF784 - ldr r0, =0x02000000 + ldr r0, =gHeap movs r1, 0xD0 lsls r1, 9 adds r0, r1 diff --git a/asm/contest_link_80FC4F4.s b/asm/contest_link_80FC4F4.s index 621e260384..99fec9d996 100644 --- a/asm/contest_link_80FC4F4.s +++ b/asm/contest_link_80FC4F4.s @@ -11,7 +11,7 @@ sub_80FC4F4: @ 80FC4F4 adds r2, r0, 0 lsls r4, r1, 16 lsrs r4, 16 - ldr r5, =0x0201c000 + ldr r5, =gDecompressionBuffer adds r0, r5, 0 adds r1, r2, 0 adds r2, r4, 0 diff --git a/asm/field_specials.s b/asm/field_specials.s index cea228a2a2..3f0ba5ad84 100644 --- a/asm/field_specials.s +++ b/asm/field_specials.s @@ -5,3627 +5,6 @@ .text - thumb_func_start Special_ShowDiploma -Special_ShowDiploma: @ 8137CB4 - push {lr} - ldr r0, =CB2_ShowDiploma - bl SetMainCallback2 - bl ScriptContext2_Enable - pop {r0} - bx r0 - .pool - thumb_func_end Special_ShowDiploma - - thumb_func_start Special_ViewWallClock -Special_ViewWallClock: @ 8137CC8 - push {lr} - ldr r0, =gMain - ldr r1, =CB2_ReturnToField - str r1, [r0, 0x8] - ldr r0, =Cb2_ViewWallClock - bl SetMainCallback2 - bl ScriptContext2_Enable - pop {r0} - bx r0 - .pool - thumb_func_end Special_ViewWallClock - - thumb_func_start ResetCyclingRoadChallengeData -ResetCyclingRoadChallengeData: @ 8137CEC - ldr r0, =gBikeCyclingChallenge - movs r1, 0 - strb r1, [r0] - ldr r0, =0x0203ab55 - strb r1, [r0] - ldr r1, =gUnknown_0203AB58 - movs r0, 0 - str r0, [r1] - bx lr - .pool - thumb_func_end ResetCyclingRoadChallengeData - - thumb_func_start Special_BeginCyclingRoadChallenge -Special_BeginCyclingRoadChallenge: @ 8137D0C - ldr r1, =gBikeCyclingChallenge - movs r0, 0x1 - strb r0, [r1] - ldr r1, =0x0203ab55 - movs r0, 0 - strb r0, [r1] - ldr r1, =gUnknown_0203AB58 - ldr r0, =gMain - ldr r0, [r0, 0x20] - str r0, [r1] - bx lr - .pool - thumb_func_end Special_BeginCyclingRoadChallenge - - thumb_func_start GetPlayerAvatarBike -GetPlayerAvatarBike: @ 8137D34 - push {lr} - movs r0, 0x4 - bl TestPlayerAvatarFlags - lsls r0, 24 - cmp r0, 0 - beq _08137D46 - movs r0, 0x1 - b _08137D58 -_08137D46: - movs r0, 0x2 - bl TestPlayerAvatarFlags - lsls r0, 24 - cmp r0, 0 - bne _08137D56 - movs r0, 0 - b _08137D58 -_08137D56: - movs r0, 0x2 -_08137D58: - pop {r1} - bx r1 - thumb_func_end GetPlayerAvatarBike - - thumb_func_start DetermineCyclingRoadResults -DetermineCyclingRoadResults: @ 8137D5C - push {r4-r7,lr} - adds r7, r0, 0 - lsls r1, 24 - lsrs r6, r1, 24 - cmp r6, 0x63 - bhi _08137D88 - ldr r4, =gStringVar1 - adds r0, r4, 0 - adds r1, r6, 0 - movs r2, 0 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - ldr r1, =gText_SpaceTimes - adds r0, r4, 0 - bl StringAppend - b _08137D90 - .pool -_08137D88: - ldr r0, =gStringVar1 - ldr r1, =gText_99TimesPlus - bl StringCopy -_08137D90: - ldr r0, =0x00000e0f - cmp r7, r0 - bhi _08137DF0 - ldr r4, =gStringVar2 - adds r0, r7, 0 - movs r1, 0x3C - bl __udivsi3 - adds r1, r0, 0 - adds r0, r4, 0 - movs r2, 0x1 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - movs r0, 0xAD - strb r0, [r4, 0x2] - adds r5, r4, 0x3 - adds r0, r7, 0 - movs r1, 0x3C - bl __umodsi3 - movs r1, 0x64 - muls r0, r1 - movs r1, 0x3C - bl __udivsi3 - adds r1, r0, 0 - adds r0, r5, 0 - movs r2, 0x2 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - ldr r1, =gText_SpaceSeconds - adds r0, r4, 0 - bl StringAppend - b _08137DF8 - .pool -_08137DF0: - ldr r0, =gStringVar2 - ldr r1, =gText_1MinutePlus - bl StringCopy -_08137DF8: - movs r4, 0 - cmp r6, 0 - bne _08137E0C - movs r4, 0x5 - b _08137E2A - .pool -_08137E0C: - cmp r6, 0x3 - bhi _08137E14 - movs r4, 0x4 - b _08137E2A -_08137E14: - cmp r6, 0x9 - bhi _08137E1C - movs r4, 0x3 - b _08137E2A -_08137E1C: - cmp r6, 0x13 - bhi _08137E24 - movs r4, 0x2 - b _08137E2A -_08137E24: - cmp r6, 0x63 - bhi _08137E2A - movs r4, 0x1 -_08137E2A: - adds r0, r7, 0 - movs r1, 0x3C - bl __udivsi3 - cmp r0, 0xA - bhi _08137E3A - adds r0, r4, 0x5 - b _08137E58 -_08137E3A: - cmp r0, 0xF - bhi _08137E42 - adds r0, r4, 0x4 - b _08137E58 -_08137E42: - cmp r0, 0x14 - bhi _08137E4A - adds r0, r4, 0x3 - b _08137E58 -_08137E4A: - cmp r0, 0x28 - bhi _08137E52 - adds r0, r4, 0x2 - b _08137E58 -_08137E52: - cmp r0, 0x3B - bhi _08137E5C - adds r0, r4, 0x1 -_08137E58: - lsls r0, 24 - lsrs r4, r0, 24 -_08137E5C: - ldr r0, =gSpecialVar_Result - strh r4, [r0] - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end DetermineCyclingRoadResults - - thumb_func_start FinishCyclingRoadChallenge -FinishCyclingRoadChallenge: @ 8137E6C - push {r4,r5,lr} - ldr r0, =gMain - ldr r1, =gUnknown_0203AB58 - ldr r4, [r0, 0x20] - ldr r0, [r1] - subs r4, r0 - ldr r5, =0x0203ab55 - ldrb r1, [r5] - adds r0, r4, 0 - bl DetermineCyclingRoadResults - ldrb r1, [r5] - adds r0, r4, 0 - bl RecordCyclingRoadResults - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end FinishCyclingRoadChallenge - - thumb_func_start RecordCyclingRoadResults -RecordCyclingRoadResults: @ 8137E9C - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r5, r0, 0 - lsls r1, 24 - lsrs r1, 24 - mov r8, r1 - ldr r6, =0x00004028 - adds r0, r6, 0 - bl VarGet - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - ldr r7, =0x00004029 - adds r0, r7, 0 - bl VarGet - lsls r0, 16 - adds r4, r0 - cmp r4, r5 - bhi _08137ECC - cmp r4, 0 - bne _08137EE6 -_08137ECC: - lsls r1, r5, 16 - lsrs r1, 16 - adds r0, r6, 0 - bl VarSet - lsrs r1, r5, 16 - adds r0, r7, 0 - bl VarSet - ldr r0, =0x00004027 - mov r1, r8 - bl VarSet -_08137EE6: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end RecordCyclingRoadResults - - thumb_func_start GetRecordedCyclingRoadResults -GetRecordedCyclingRoadResults: @ 8137EFC - push {r4,lr} - ldr r0, =0x00004028 - bl VarGet - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - ldr r0, =0x00004029 - bl VarGet - lsls r0, 16 - adds r4, r0 - cmp r4, 0 - beq _08137F3C - ldr r0, =0x00004027 - bl VarGet - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl DetermineCyclingRoadResults - movs r0, 0x1 - b _08137F3E - .pool -_08137F3C: - movs r0, 0 -_08137F3E: - pop {r4} - pop {r1} - bx r1 - thumb_func_end GetRecordedCyclingRoadResults - - thumb_func_start UpdateCyclingRoadState -UpdateCyclingRoadState: @ 8137F44 - push {r4,lr} - ldr r0, =gUnknown_020322DC - ldrh r1, [r0] - ldr r0, =0x00000c1d - cmp r1, r0 - beq _08137F7C - ldr r4, =0x000040a9 - adds r0, r4, 0 - bl VarGet - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x2 - beq _08137F6E - adds r0, r4, 0 - bl VarGet - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x3 - bne _08137F7C -_08137F6E: - adds r0, r4, 0 - movs r1, 0 - bl VarSet - movs r0, 0 - bl Overworld_SetSavedMusic -_08137F7C: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end UpdateCyclingRoadState - - thumb_func_start SetSSTidalFlag -SetSSTidalFlag: @ 8137F90 - push {lr} - ldr r0, =0x0000088d - bl FlagSet - ldr r0, =0x0000404a - bl GetVarPointer - movs r1, 0 - strh r1, [r0] - pop {r0} - bx r0 - .pool - thumb_func_end SetSSTidalFlag - - thumb_func_start ResetSSTidalFlag -ResetSSTidalFlag: @ 8137FB0 - push {lr} - ldr r0, =0x0000088d - bl FlagClear - pop {r0} - bx r0 - .pool - thumb_func_end ResetSSTidalFlag - - thumb_func_start CountSSTidalStep -CountSSTidalStep: @ 8137FC0 - push {r4,lr} - lsls r0, 16 - lsrs r4, r0, 16 - ldr r0, =0x0000088d - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _08137FE6 - ldr r0, =0x0000404a - bl GetVarPointer - ldrh r1, [r0] - adds r1, r4, r1 - strh r1, [r0] - lsls r1, 16 - lsrs r1, 16 - cmp r1, 0xCC - bhi _08137FF4 -_08137FE6: - movs r0, 0 - b _08137FF6 - .pool -_08137FF4: - movs r0, 0x1 -_08137FF6: - pop {r4} - pop {r1} - bx r1 - thumb_func_end CountSSTidalStep - - thumb_func_start GetSSTidalLocation -GetSSTidalLocation: @ 8137FFC - push {r4-r7,lr} - mov r7, r8 - push {r7} - mov r8, r0 - adds r5, r1, 0 - adds r6, r2, 0 - adds r7, r3, 0 - ldr r0, =0x0000404a - bl GetVarPointer - adds r4, r0, 0 - ldr r0, =0x000040b4 - bl GetVarPointer - ldrh r0, [r0] - subs r0, 0x1 - cmp r0, 0x9 - bhi _081380C2 - lsls r0, 2 - ldr r1, =_08138038 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08138038: - .4byte _08138060 - .4byte _08138070 - .4byte _08138064 - .4byte _08138068 - .4byte _08138068 - .4byte _0813806C - .4byte _08138098 - .4byte _08138060 - .4byte _08138064 - .4byte _0813806C -_08138060: - movs r0, 0x1 - b _081380CE -_08138064: - movs r0, 0x4 - b _081380CE -_08138068: - movs r0, 0x2 - b _081380CE -_0813806C: - movs r0, 0x3 - b _081380CE -_08138070: - ldrh r0, [r4] - cmp r0, 0x3B - bhi _08138080 - movs r0, 0x31 - strb r0, [r5] - ldrh r0, [r4] - adds r0, 0x13 - b _081380C0 -_08138080: - cmp r0, 0x8B - bhi _0813808E - movs r0, 0x30 - strb r0, [r5] - ldrh r0, [r4] - subs r0, 0x3C - b _081380C0 -_0813808E: - movs r0, 0x2F - strb r0, [r5] - ldrh r0, [r4] - subs r0, 0x8C - b _081380C0 -_08138098: - ldrh r0, [r4] - cmp r0, 0x41 - bhi _081380A8 - movs r0, 0x2F - strb r0, [r5] - ldrh r1, [r4] - movs r0, 0x41 - b _081380BE -_081380A8: - cmp r0, 0x91 - bhi _081380B6 - movs r0, 0x30 - strb r0, [r5] - ldrh r1, [r4] - movs r0, 0x91 - b _081380BE -_081380B6: - movs r0, 0x31 - strb r0, [r5] - ldrh r1, [r4] - movs r0, 0xE0 -_081380BE: - subs r0, r1 -_081380C0: - strh r0, [r6] -_081380C2: - movs r0, 0 - mov r1, r8 - strb r0, [r1] - movs r0, 0x14 - strh r0, [r7] - movs r0, 0 -_081380CE: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end GetSSTidalLocation - - thumb_func_start is_tile_that_overrides_player_control -is_tile_that_overrides_player_control: @ 81380D8 - push {lr} - movs r0, 0x88 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _0813810A - ldr r0, =gMapHeader - ldrb r0, [r0, 0x17] - cmp r0, 0x1 - blt _0813810A - cmp r0, 0x3 - ble _081380F6 - cmp r0, 0x6 - bne _0813810A -_081380F6: - ldr r0, =0x000040f2 - bl GetVarPointer - ldrh r1, [r0] - adds r1, 0x1 - strh r1, [r0] - lsls r1, 16 - lsrs r1, 16 - cmp r1, 0xF9 - bhi _08138118 -_0813810A: - movs r0, 0 - b _0813811A - .pool -_08138118: - movs r0, 0x1 -_0813811A: - pop {r1} - bx r1 - thumb_func_end is_tile_that_overrides_player_control - - thumb_func_start sub_8138120 -sub_8138120: @ 8138120 - push {lr} - movs r0, 0x8A - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _08138152 - ldr r0, =gMapHeader - ldrb r0, [r0, 0x17] - cmp r0, 0x1 - blt _08138152 - cmp r0, 0x3 - ble _0813813E - cmp r0, 0x6 - bne _08138152 -_0813813E: - ldr r0, =0x000040f3 - bl GetVarPointer - ldrh r1, [r0] - adds r1, 0x1 - strh r1, [r0] - lsls r1, 16 - lsrs r1, 16 - cmp r1, 0x9 - bhi _08138160 -_08138152: - movs r0, 0 - b _08138162 - .pool -_08138160: - movs r0, 0x1 -_08138162: - pop {r1} - bx r1 - thumb_func_end sub_8138120 - - thumb_func_start sub_8138168 -sub_8138168: @ 8138168 - push {lr} - movs r0, 0x72 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _0813819A - ldr r0, =gMapHeader - ldrb r0, [r0, 0x17] - cmp r0, 0x1 - blt _0813819A - cmp r0, 0x3 - ble _08138186 - cmp r0, 0x6 - bne _0813819A -_08138186: - ldr r0, =0x000040f5 - bl GetVarPointer - ldrh r1, [r0] - adds r1, 0x1 - strh r1, [r0] - lsls r1, 16 - lsrs r1, 16 - cmp r1, 0x9 - bhi _081381A8 -_0813819A: - movs r0, 0 - b _081381AA - .pool -_081381A8: - movs r0, 0x1 -_081381AA: - pop {r1} - bx r1 - thumb_func_end sub_8138168 - - thumb_func_start sub_81381B0 -sub_81381B0: @ 81381B0 - push {lr} - movs r0, 0x80 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _081381E2 - ldr r0, =gMapHeader - ldrb r0, [r0, 0x17] - cmp r0, 0x1 - blt _081381E2 - cmp r0, 0x3 - ble _081381CE - cmp r0, 0x6 - bne _081381E2 -_081381CE: - ldr r0, =0x000040f4 - bl GetVarPointer - ldrh r1, [r0] - adds r1, 0x1 - strh r1, [r0] - lsls r1, 16 - lsrs r1, 16 - cmp r1, 0xF9 - bhi _081381F0 -_081381E2: - movs r0, 0 - b _081381F2 - .pool -_081381F0: - movs r0, 0x1 -_081381F2: - pop {r1} - bx r1 - thumb_func_end sub_81381B0 - - thumb_func_start sub_81381F8 -sub_81381F8: @ 81381F8 - push {lr} - movs r0, 0x75 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _0813822A - ldr r0, =gMapHeader - ldrb r0, [r0, 0x17] - cmp r0, 0x1 - blt _0813822A - cmp r0, 0x3 - ble _08138216 - cmp r0, 0x6 - bne _0813822A -_08138216: - ldr r0, =0x000040f6 - bl GetVarPointer - ldrh r1, [r0] - adds r1, 0x1 - strh r1, [r0] - lsls r1, 16 - lsrs r1, 16 - cmp r1, 0xF9 - bhi _08138238 -_0813822A: - movs r0, 0 - b _0813823A - .pool -_08138238: - movs r0, 0x1 -_0813823A: - pop {r1} - bx r1 - thumb_func_end sub_81381F8 - - thumb_func_start GetLinkPartnerNames -GetLinkPartnerNames: @ 8138240 - push {r4-r7,lr} - mov r7, r8 - push {r7} - movs r6, 0 - bl GetMultiplayerId - lsls r0, 24 - lsrs r7, r0, 24 - bl GetLinkPlayerCount - lsls r0, 24 - lsrs r5, r0, 24 - movs r4, 0 - cmp r4, r5 - bcs _0813828A - ldr r0, =gTVStringVarPtrs - mov r8, r0 -_08138262: - cmp r7, r4 - beq _08138280 - lsls r0, r6, 2 - add r0, r8 - ldr r0, [r0] - lsls r1, r4, 3 - subs r1, r4 - lsls r1, 2 - ldr r2, =gLinkPlayers + 8 - adds r1, r2 - bl StringCopy - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 -_08138280: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, r5 - bcc _08138262 -_0813828A: - adds r0, r5, 0 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end GetLinkPartnerNames - - thumb_func_start SpawnLinkPartnerEventObject -SpawnLinkPartnerEventObject: @ 81382A0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x14 - movs r7, 0 - movs r0, 0 - mov r9, r0 - mov r8, r0 - ldr r1, =gUnknown_085B2B5C - add r0, sp, 0x8 - movs r2, 0x4 - bl memcpy - add r4, sp, 0xC - ldr r1, =gUnknown_085B2B60 - adds r0, r4, 0 - movs r2, 0x8 - bl memcpy - bl GetMultiplayerId - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - bl GetPlayerFacingDirection - lsls r0, 24 - lsrs r0, 24 - adds r1, r0, 0 - cmp r0, 0x2 - beq _08138310 - cmp r0, 0x2 - bgt _081382F4 - cmp r0, 0x1 - beq _0813833C - b _08138350 - .pool -_081382F4: - cmp r1, 0x3 - beq _081382FE - cmp r1, 0x4 - beq _08138324 - b _08138350 -_081382FE: - movs r7, 0x2 - ldr r0, =gSaveBlock1Ptr - ldr r1, [r0] - ldrh r0, [r1] - subs r0, 0x1 - b _0813832C - .pool -_08138310: - movs r7, 0x1 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldrh r1, [r0] - mov r9, r1 - ldrh r0, [r0, 0x2] - subs r0, 0x1 - b _0813834A - .pool -_08138324: - ldr r0, =gSaveBlock1Ptr - ldr r1, [r0] - ldrh r0, [r1] - adds r0, 0x1 -_0813832C: - lsls r0, 16 - lsrs r0, 16 - mov r9, r0 - ldrh r1, [r1, 0x2] - mov r8, r1 - b _08138350 - .pool -_0813833C: - movs r7, 0x3 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldrh r3, [r0] - mov r9, r3 - ldrh r0, [r0, 0x2] - adds r0, 0x1 -_0813834A: - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 -_08138350: - movs r6, 0 - b _08138410 - .pool -_08138358: - cmp r10, r6 - beq _0813840A - ldr r0, =gLinkPlayers - lsls r2, r6, 3 - subs r1, r2, r6 - lsls r1, 2 - adds r1, r0 - ldrb r3, [r1] - adds r4, r0, 0 - cmp r3, 0x1 - blt _0813838C - cmp r3, 0x2 - ble _0813837C - cmp r3, 0x3 - beq _08138388 - b _0813838C - .pool -_0813837C: - ldrb r0, [r1, 0x13] - movs r5, 0xEC - cmp r0, 0 - bne _0813839C - movs r5, 0xEB - b _0813839C -_08138388: - ldrb r0, [r1, 0x13] - b _08138394 -_0813838C: - subs r0, r2, r6 - lsls r0, 2 - adds r0, r4 - ldrb r0, [r0, 0x13] -_08138394: - movs r5, 0x69 - cmp r0, 0 - bne _0813839C - movs r5, 0x64 -_0813839C: - mov r0, sp - adds r0, r7 - adds r0, 0x8 - ldrb r1, [r0] - movs r4, 0xF0 - subs r4, r6 - lsls r4, 24 - lsrs r4, 24 - lsls r2, r7, 1 - mov r0, sp - adds r0, r2 - adds r0, 0xC - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - mov r3, r9 - lsls r3, 16 - asrs r3, 16 - mov r12, r3 - add r0, r12 - adds r3, r0, 0x7 - lsls r3, 16 - asrs r3, 16 - mov r12, r3 - mov r0, sp - adds r0, 0xD - adds r0, r2 - movs r2, 0 - ldrsb r2, [r0, r2] - mov r3, r8 - lsls r0, r3, 16 - asrs r0, 16 - adds r0, r2 - adds r0, 0x7 - lsls r0, 16 - asrs r0, 16 - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - adds r0, r5, 0 - adds r2, r4, 0 - mov r3, r12 - bl SpawnSpecialEventObjectParameterized - adds r0, r5, 0 - adds r1, r4, 0 - adds r2, r6, 0 - bl sub_813842C - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - cmp r7, 0x4 - bne _0813840A - movs r7, 0 -_0813840A: - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 -_08138410: - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r6, r0 - bcc _08138358 - add sp, 0x14 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end SpawnLinkPartnerEventObject - - thumb_func_start sub_813842C -sub_813842C: @ 813842C - push {r4,r5,lr} - lsls r0, 24 - lsls r1, 24 - lsrs r3, r1, 24 - lsls r2, 24 - movs r1, 0xC0 - lsls r1, 19 - adds r2, r1 - lsrs r5, r2, 24 - lsrs r4, r0, 24 - movs r2, 0xA8 - lsls r2, 21 - adds r0, r2 - lsrs r0, 24 - cmp r0, 0x1 - bls _08138454 - cmp r4, 0x64 - beq _08138454 - cmp r4, 0x69 - bne _081384E6 -_08138454: - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldrb r1, [r0, 0x5] - ldrb r2, [r0, 0x4] - adds r0, r3, 0 - bl GetEventObjectIdByLocalIdAndMap - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x10 - beq _081384E6 - ldr r1, =gEventObjects - lsls r0, r2, 3 - adds r0, r2 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0, 0x4] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, =gSprites - adds r1, r0 - lsls r3, r5, 4 - ldrb r2, [r1, 0x5] - movs r0, 0xF - ands r0, r2 - orrs r0, r3 - strb r0, [r1, 0x5] - cmp r4, 0x69 - beq _081384D8 - cmp r4, 0x69 - bgt _081384A8 - cmp r4, 0x64 - beq _081384C4 - b _081384E6 - .pool -_081384A8: - cmp r4, 0xEB - beq _081384B2 - cmp r4, 0xEC - beq _081384BC - b _081384E6 -_081384B2: - ldr r0, =gEventObjectPalette33 - b _081384C6 - .pool -_081384BC: - ldr r0, =gEventObjectPalette34 - b _081384C6 - .pool -_081384C4: - ldr r0, =gEventObjectPalette8 -_081384C6: - movs r2, 0x80 - lsls r2, 1 - adds r1, r3, r2 - movs r2, 0x20 - bl LoadPalette - b _081384E6 - .pool -_081384D8: - ldr r0, =gEventObjectPalette17 - movs r2, 0x80 - lsls r2, 1 - adds r1, r3, r2 - movs r2, 0x20 - bl LoadPalette -_081384E6: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813842C - - thumb_func_start MauvilleGymSpecial1 -MauvilleGymSpecial1: @ 81384F0 - push {r4,r5,lr} - movs r4, 0 - ldr r5, =gUnknown_085B2B68 -_081384F6: - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r4, r0 - bne _0813851C - lsls r1, r4, 2 - adds r1, r5 - ldrb r0, [r1] - ldrb r1, [r1, 0x1] - ldr r2, =0x00000206 - bl MapGridSetMetatileIdAt - b _0813852A - .pool -_0813851C: - lsls r1, r4, 2 - adds r1, r5 - ldrb r0, [r1] - ldrb r1, [r1, 0x1] - ldr r2, =0x00000205 - bl MapGridSetMetatileIdAt -_0813852A: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x3 - bls _081384F6 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end MauvilleGymSpecial1 - - thumb_func_start MauvilleGymSpecial2 -MauvilleGymSpecial2: @ 8138540 - push {r4-r6,lr} - movs r5, 0xC -_08138544: - movs r4, 0x7 - adds r6, r5, 0x1 -_08138548: - adds r0, r4, 0 - adds r1, r5, 0 - bl MapGridGetMetatileIdAt - ldr r1, =0xfffffde6 - adds r0, r1 - cmp r0, 0x37 - bls _0813855A - b _08138734 -_0813855A: - lsls r0, 2 - ldr r1, =_0813856C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0813856C: - .4byte _081386F2 - .4byte _08138734 - .4byte _08138734 - .4byte _08138734 - .4byte _08138734 - .4byte _08138734 - .4byte _0813864C - .4byte _08138652 - .4byte _0813868C - .4byte _08138694 - .4byte _08138734 - .4byte _08138734 - .4byte _08138734 - .4byte _08138734 - .4byte _0813865C - .4byte _08138662 - .4byte _0813869C - .4byte _081386A4 - .4byte _08138734 - .4byte _08138734 - .4byte _08138734 - .4byte _08138734 - .4byte _0813866C - .4byte _08138672 - .4byte _081386AC - .4byte _081386B4 - .4byte _08138734 - .4byte _08138734 - .4byte _08138734 - .4byte _08138734 - .4byte _0813867C - .4byte _08138684 - .4byte _081386BC - .4byte _081386C4 - .4byte _08138734 - .4byte _08138734 - .4byte _08138734 - .4byte _08138734 - .4byte _081386CC - .4byte _081386DC - .4byte _081386EC - .4byte _08138714 - .4byte _08138734 - .4byte _08138734 - .4byte _08138734 - .4byte _08138734 - .4byte _081386D4 - .4byte _081386E4 - .4byte _08138734 - .4byte _08138734 - .4byte _08138734 - .4byte _08138734 - .4byte _08138734 - .4byte _08138734 - .4byte _0813872A - .4byte _0813871C -_0813864C: - movs r2, 0x8C - lsls r2, 2 - b _08138720 -_08138652: - ldr r2, =0x00000231 - b _08138720 - .pool -_0813865C: - movs r2, 0x8E - lsls r2, 2 - b _08138720 -_08138662: - ldr r2, =0x00000239 - b _08138720 - .pool -_0813866C: - movs r2, 0x88 - lsls r2, 2 - b _08138720 -_08138672: - ldr r2, =0x00000221 - b _08138720 - .pool -_0813867C: - ldr r2, =0x00000e28 - b _08138720 - .pool -_08138684: - ldr r2, =0x00000e29 - b _08138720 - .pool -_0813868C: - ldr r2, =0x00000232 - b _08138720 - .pool -_08138694: - ldr r2, =0x00000233 - b _08138720 - .pool -_0813869C: - ldr r2, =0x0000023a - b _08138720 - .pool -_081386A4: - ldr r2, =0x0000023b - b _08138720 - .pool -_081386AC: - ldr r2, =0x00000222 - b _08138720 - .pool -_081386B4: - ldr r2, =0x00000223 - b _08138720 - .pool -_081386BC: - ldr r2, =0x00000e2a - b _08138720 - .pool -_081386C4: - ldr r2, =0x00000e2b - b _08138720 - .pool -_081386CC: - ldr r2, =0x00000e42 - b _08138720 - .pool -_081386D4: - ldr r2, =0x0000021a - b _08138720 - .pool -_081386DC: - ldr r2, =0x00000e43 - b _08138720 - .pool -_081386E4: - ldr r2, =0x0000021a - b _08138720 - .pool -_081386EC: - movs r2, 0xE4 - lsls r2, 4 - b _08138720 -_081386F2: - subs r1, r5, 0x1 - adds r0, r4, 0 - bl MapGridGetMetatileIdAt - movs r1, 0x90 - lsls r1, 2 - cmp r0, r1 - bne _0813870C - ldr r2, =0x00000e48 - b _08138720 - .pool -_0813870C: - ldr r2, =0x00000e49 - b _08138720 - .pool -_08138714: - ldr r2, =0x00000e41 - b _08138720 - .pool -_0813871C: - movs r2, 0xE5 - lsls r2, 4 -_08138720: - adds r0, r4, 0 - adds r1, r5, 0 - bl MapGridSetMetatileIdAt - b _08138734 -_0813872A: - ldr r2, =0x00000251 - adds r0, r4, 0 - adds r1, r5, 0 - bl MapGridSetMetatileIdAt -_08138734: - adds r4, 0x1 - cmp r4, 0xF - bgt _0813873C - b _08138548 -_0813873C: - adds r5, r6, 0 - cmp r5, 0x17 - bgt _08138744 - b _08138544 -_08138744: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end MauvilleGymSpecial2 - - thumb_func_start MauvilleGymSpecial3 -MauvilleGymSpecial3: @ 8138750 - push {r4-r6,lr} - ldr r4, =gUnknown_085B2B68 - movs r5, 0x3 -_08138756: - ldrb r0, [r4] - ldrb r1, [r4, 0x1] - ldr r2, =0x00000206 - bl MapGridSetMetatileIdAt - adds r4, 0x4 - subs r5, 0x1 - cmp r5, 0 - bge _08138756 - movs r5, 0xC -_0813876A: - movs r4, 0x7 - adds r6, r5, 0x1 -_0813876E: - adds r0, r4, 0 - adds r1, r5, 0 - bl MapGridGetMetatileIdAt - ldr r1, =0xfffffde0 - adds r0, r1 - cmp r0, 0x30 - bls _08138780 - b _081388CA -_08138780: - lsls r0, 2 - ldr r1, =_0813879C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0813879C: - .4byte _08138860 - .4byte _08138866 - .4byte _08138880 - .4byte _08138888 - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _08138870 - .4byte _08138876 - .4byte _08138890 - .4byte _08138898 - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388A0 - .4byte _081388A8 - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388B0 - .4byte _081388B0 - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388C0 -_08138860: - movs r2, 0x8C - lsls r2, 2 - b _081388B2 -_08138866: - ldr r2, =0x00000231 - b _081388B2 - .pool -_08138870: - movs r2, 0x8E - lsls r2, 2 - b _081388B2 -_08138876: - ldr r2, =0x00000239 - b _081388B2 - .pool -_08138880: - ldr r2, =0x00000232 - b _081388B2 - .pool -_08138888: - ldr r2, =0x00000233 - b _081388B2 - .pool -_08138890: - ldr r2, =0x0000023a - b _081388B2 - .pool -_08138898: - ldr r2, =0x0000023b - b _081388B2 - .pool -_081388A0: - ldr r2, =0x00000e42 - b _081388B2 - .pool -_081388A8: - ldr r2, =0x00000e43 - b _081388B2 - .pool -_081388B0: - ldr r2, =0x0000021a -_081388B2: - adds r0, r4, 0 - adds r1, r5, 0 - bl MapGridSetMetatileIdAt - b _081388CA - .pool -_081388C0: - ldr r2, =0x00000251 - adds r0, r4, 0 - adds r1, r5, 0 - bl MapGridSetMetatileIdAt -_081388CA: - adds r4, 0x1 - cmp r4, 0xF - bgt _081388D2 - b _0813876E -_081388D2: - adds r5, r6, 0 - cmp r5, 0x17 - bgt _081388DA - b _0813876A -_081388DA: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end MauvilleGymSpecial3 - - thumb_func_start PetalburgGymSpecial1 -PetalburgGymSpecial1: @ 81388E4 - push {lr} - ldr r0, =gUnknown_0203AB5C - movs r1, 0 - strb r1, [r0] - ldr r0, =gUnknown_0203AB5D - strb r1, [r0] - movs r0, 0x2C - bl PlaySE - ldr r0, =Task_PetalburgGym - movs r1, 0x8 - bl CreateTask - pop {r0} - bx r0 - .pool - thumb_func_end PetalburgGymSpecial1 - - thumb_func_start Task_PetalburgGym -Task_PetalburgGym: @ 8138910 - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r0, =gUnknown_085B2B78 - ldr r5, =gUnknown_0203AB5D - ldrb r1, [r5] - adds r0, r1, r0 - ldr r4, =gUnknown_0203AB5C - ldrb r2, [r4] - ldrb r0, [r0] - cmp r0, r2 - bne _0813896C - ldr r0, =gSpecialVar_0x8004 - ldrb r0, [r0] - ldr r2, =gUnknown_085B2B7E - lsls r1, 1 - adds r1, r2 - ldrh r1, [r1] - bl PetalburgGymFunc - movs r0, 0 - strb r0, [r4] - ldrb r0, [r5] - adds r0, 0x1 - strb r0, [r5] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x5 - bne _08138970 - adds r0, r6, 0 - bl DestroyTask - bl EnableBothScriptContexts - b _08138970 - .pool -_0813896C: - adds r0, r2, 0x1 - strb r0, [r4] -_08138970: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end Task_PetalburgGym - - thumb_func_start PetalburgGymFunc -PetalburgGymFunc: @ 8138978 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x10 - lsls r0, 24 - lsrs r0, 24 - lsls r1, 16 - lsrs r2, r1, 16 - movs r7, 0 - subs r0, 0x1 - cmp r0, 0x7 - bhi _08138A40 - lsls r0, 2 - ldr r1, =_081389A0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_081389A0: - .4byte _081389C0 - .4byte _081389D2 - .4byte _081389E4 - .4byte _081389F6 - .4byte _08138A04 - .4byte _08138A1A - .4byte _08138A26 - .4byte _08138A34 -_081389C0: - movs r7, 0x2 - mov r1, sp - movs r0, 0x1 - strh r0, [r1] - movs r0, 0x7 - strh r0, [r1, 0x2] - add r1, sp, 0x8 - movs r0, 0x68 - b _08138A14 -_081389D2: - movs r7, 0x2 - mov r1, sp - movs r0, 0x1 - strh r0, [r1] - movs r0, 0x7 - strh r0, [r1, 0x2] - add r1, sp, 0x8 - movs r0, 0x4E - b _08138A14 -_081389E4: - movs r7, 0x2 - mov r1, sp - movs r0, 0x1 - strh r0, [r1] - movs r0, 0x7 - strh r0, [r1, 0x2] - add r1, sp, 0x8 - movs r0, 0x5B - b _08138A14 -_081389F6: - movs r7, 0x1 - mov r1, sp - movs r0, 0x7 - strh r0, [r1] - add r1, sp, 0x8 - movs r0, 0x27 - b _08138A3E -_08138A04: - movs r7, 0x2 - mov r1, sp - movs r0, 0x1 - strh r0, [r1] - movs r0, 0x7 - strh r0, [r1, 0x2] - add r1, sp, 0x8 - movs r0, 0x34 -_08138A14: - strh r0, [r1] - strh r0, [r1, 0x2] - b _08138A40 -_08138A1A: - movs r7, 0x1 - mov r0, sp - strh r7, [r0] - add r1, sp, 0x8 - movs r0, 0x41 - b _08138A3E -_08138A26: - movs r7, 0x1 - mov r1, sp - movs r0, 0x7 - strh r0, [r1] - add r1, sp, 0x8 - movs r0, 0xD - b _08138A3E -_08138A34: - movs r7, 0x1 - mov r0, sp - strh r7, [r0] - add r1, sp, 0x8 - movs r0, 0x1A -_08138A3E: - strh r0, [r1] -_08138A40: - movs r6, 0 - cmp r6, r7 - bcs _08138A92 - movs r1, 0xC0 - lsls r1, 4 - adds r0, r1, 0 - adds r1, r2, 0 - orrs r1, r0 - lsls r1, 16 - mov r9, r1 - adds r1, r2, 0 - adds r1, 0x8 - orrs r1, r0 - lsls r1, 16 - mov r8, r1 -_08138A5E: - lsls r1, r6, 1 - mov r3, sp - adds r5, r3, r1 - ldrh r0, [r5] - adds r0, 0x7 - add r4, sp, 0x8 - adds r4, r1 - ldrh r1, [r4] - adds r1, 0x7 - mov r3, r9 - lsrs r2, r3, 16 - bl MapGridSetMetatileIdAt - ldrh r0, [r5] - adds r0, 0x7 - ldrh r1, [r4] - adds r1, 0x8 - mov r3, r8 - lsrs r2, r3, 16 - bl MapGridSetMetatileIdAt - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, r7 - bcc _08138A5E -_08138A92: - bl DrawWholeMapView - add sp, 0x10 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end PetalburgGymFunc - - thumb_func_start PetalburgGymSpecial2 -PetalburgGymSpecial2: @ 8138AA4 - push {lr} - ldr r0, =gSpecialVar_0x8004 - ldrb r0, [r0] - ldr r1, =gUnknown_085B2B7E - ldrh r1, [r1, 0x8] - bl PetalburgGymFunc - pop {r0} - bx r0 - .pool - thumb_func_end PetalburgGymSpecial2 - - thumb_func_start ShowFieldMessageStringVar4 -ShowFieldMessageStringVar4: @ 8138AC0 - push {lr} - ldr r0, =gStringVar4 - bl ShowFieldMessage - pop {r0} - bx r0 - .pool - thumb_func_end ShowFieldMessageStringVar4 - - thumb_func_start StorePlayerCoordsInVars -StorePlayerCoordsInVars: @ 8138AD0 - ldr r1, =gSpecialVar_0x8004 - ldr r0, =gSaveBlock1Ptr - ldr r2, [r0] - ldrh r0, [r2] - strh r0, [r1] - ldr r1, =gSpecialVar_0x8005 - ldrh r0, [r2, 0x2] - strh r0, [r1] - bx lr - .pool - thumb_func_end StorePlayerCoordsInVars - - thumb_func_start GetPlayerTrainerIdOnesDigit -GetPlayerTrainerIdOnesDigit: @ 8138AF0 - push {lr} - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldrb r1, [r0, 0xB] - lsls r1, 8 - ldrb r0, [r0, 0xA] - orrs r0, r1 - movs r1, 0xA - bl __umodsi3 - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .pool - thumb_func_end GetPlayerTrainerIdOnesDigit - - thumb_func_start GetPlayerBigGuyGirlString -GetPlayerBigGuyGirlString: @ 8138B10 - push {lr} - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldrb r0, [r0, 0x8] - cmp r0, 0 - bne _08138B34 - ldr r0, =gStringVar1 - ldr r1, =gText_BigGuy - bl StringCopy - b _08138B3C - .pool -_08138B34: - ldr r0, =gStringVar1 - ldr r1, =gText_BigGirl - bl StringCopy -_08138B3C: - pop {r0} - bx r0 - .pool - thumb_func_end GetPlayerBigGuyGirlString - - thumb_func_start GetRivalSonDaughterString -GetRivalSonDaughterString: @ 8138B48 - push {lr} - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldrb r0, [r0, 0x8] - cmp r0, 0 - bne _08138B6C - ldr r0, =gStringVar1 - ldr r1, =gText_Daughter - bl StringCopy - b _08138B74 - .pool -_08138B6C: - ldr r0, =gStringVar1 - ldr r1, =gText_Son - bl StringCopy -_08138B74: - pop {r0} - bx r0 - .pool - thumb_func_end GetRivalSonDaughterString - - thumb_func_start sub_8138B80 -sub_8138B80: @ 8138B80 - ldr r0, =gBattleOutcome - ldrb r0, [r0] - bx lr - .pool - thumb_func_end sub_8138B80 - - thumb_func_start CableCarWarp -CableCarWarp: @ 8138B8C - push {lr} - sub sp, 0x4 - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r0, 0 - beq _08138BB0 - movs r2, 0x1 - negs r2, r2 - movs r0, 0x4 - str r0, [sp] - movs r0, 0x13 - movs r1, 0 - movs r3, 0x6 - bl Overworld_SetWarpDestination - b _08138BC2 - .pool -_08138BB0: - movs r2, 0x1 - negs r2, r2 - movs r0, 0x4 - str r0, [sp] - movs r0, 0x13 - movs r1, 0x1 - movs r3, 0x6 - bl Overworld_SetWarpDestination -_08138BC2: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end CableCarWarp - - thumb_func_start SetFlagInVar -SetFlagInVar: @ 8138BC8 - push {lr} - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - bl FlagSet - pop {r0} - bx r0 - .pool - thumb_func_end SetFlagInVar - - thumb_func_start GetWeekCount -GetWeekCount: @ 8138BDC - push {lr} - ldr r0, =gLocalTime - movs r1, 0 - ldrsh r0, [r0, r1] - movs r1, 0x7 - bl __divsi3 - lsls r0, 16 - lsrs r0, 16 - ldr r1, =0x0000270f - cmp r0, r1 - bls _08138BF6 - adds r0, r1, 0 -_08138BF6: - pop {r1} - bx r1 - .pool - thumb_func_end GetWeekCount - - thumb_func_start GetLeadMonFriendshipScore -GetLeadMonFriendshipScore: @ 8138C04 - push {r4,lr} - bl GetLeadMonIndex - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r1, r0 - ldr r0, =gPlayerParty - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0x20 - bl GetMonData - cmp r0, 0xFF - bne _08138C2C - movs r0, 0x6 - b _08138C7E - .pool -_08138C2C: - adds r0, r4, 0 - movs r1, 0x20 - bl GetMonData - cmp r0, 0xC7 - bls _08138C3C - movs r0, 0x5 - b _08138C7E -_08138C3C: - adds r0, r4, 0 - movs r1, 0x20 - bl GetMonData - cmp r0, 0x95 - bls _08138C4C - movs r0, 0x4 - b _08138C7E -_08138C4C: - adds r0, r4, 0 - movs r1, 0x20 - bl GetMonData - cmp r0, 0x63 - bls _08138C5C - movs r0, 0x3 - b _08138C7E -_08138C5C: - adds r0, r4, 0 - movs r1, 0x20 - bl GetMonData - cmp r0, 0x31 - bls _08138C6C - movs r0, 0x2 - b _08138C7E -_08138C6C: - adds r0, r4, 0 - movs r1, 0x20 - bl GetMonData - cmp r0, 0 - bne _08138C7C - movs r0, 0 - b _08138C7E -_08138C7C: - movs r0, 0x1 -_08138C7E: - pop {r4} - pop {r1} - bx r1 - thumb_func_end GetLeadMonFriendshipScore - - thumb_func_start CB2_FieldShowRegionMap -CB2_FieldShowRegionMap: @ 8138C84 - push {lr} - ldr r0, =CB2_ReturnToFieldContinueScriptPlayMapMusic - bl sub_817018C - pop {r0} - bx r0 - .pool - thumb_func_end CB2_FieldShowRegionMap - - thumb_func_start FieldShowRegionMap -FieldShowRegionMap: @ 8138C94 - push {lr} - ldr r0, =CB2_FieldShowRegionMap - bl SetMainCallback2 - pop {r0} - bx r0 - .pool - thumb_func_end FieldShowRegionMap - - thumb_func_start DoPCTurnOnEffect -DoPCTurnOnEffect: @ 8138CA4 - push {r4,lr} - ldr r4, =Task_PCTurnOnEffect - adds r0, r4, 0 - bl FuncIsActiveTask - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08138CD8 - adds r0, r4, 0 - movs r1, 0x8 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r2, 0 - strh r2, [r1, 0x8] - strh r0, [r1, 0xA] - strh r2, [r1, 0xC] - strh r2, [r1, 0xE] - strh r2, [r1, 0x10] -_08138CD8: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end DoPCTurnOnEffect - - thumb_func_start Task_PCTurnOnEffect -Task_PCTurnOnEffect: @ 8138CE8 - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks - adds r1, r0 - movs r2, 0x8 - ldrsh r0, [r1, r2] - cmp r0, 0 - bne _08138D06 - adds r0, r1, 0 - bl PCTurnOnEffect_0 -_08138D06: - pop {r0} - bx r0 - .pool - thumb_func_end Task_PCTurnOnEffect - - thumb_func_start PCTurnOnEffect_0 -PCTurnOnEffect_0: @ 8138D10 - push {r4-r6,lr} - adds r4, r0, 0 - movs r6, 0 - movs r5, 0 - movs r1, 0xE - ldrsh r0, [r4, r1] - cmp r0, 0x6 - bne _08138D7C - strh r5, [r4, 0xE] - bl GetPlayerFacingDirection - lsls r0, 24 - lsrs r0, 24 - adds r1, r0, 0 - cmp r0, 0x3 - beq _08138D44 - cmp r0, 0x3 - bgt _08138D3A - cmp r0, 0x2 - beq _08138D40 - b _08138D4C -_08138D3A: - cmp r1, 0x4 - beq _08138D48 - b _08138D4C -_08138D40: - movs r6, 0 - b _08138D4A -_08138D44: - movs r6, 0xFF - b _08138D4A -_08138D48: - movs r6, 0x1 -_08138D4A: - movs r5, 0xFF -_08138D4C: - movs r1, 0x10 - ldrsh r0, [r4, r1] - lsls r1, r6, 24 - asrs r1, 24 - lsls r2, r5, 24 - asrs r2, 24 - bl PCTurnOnEffect_1 - bl DrawWholeMapView - ldrh r0, [r4, 0x10] - movs r1, 0x1 - eors r0, r1 - strh r0, [r4, 0x10] - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x5 - bne _08138D7C - ldrb r0, [r4, 0xA] - bl DestroyTask -_08138D7C: - ldrh r0, [r4, 0xE] - adds r0, 0x1 - strh r0, [r4, 0xE] - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end PCTurnOnEffect_0 - - thumb_func_start PCTurnOnEffect_1 -PCTurnOnEffect_1: @ 8138D88 - push {r4,r5,lr} - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r4, r2, 24 - movs r3, 0 - lsls r0, 16 - cmp r0, 0 - beq _08138DC4 - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r0, 0 - bne _08138DAC - movs r3, 0x4 - b _08138DE6 - .pool -_08138DAC: - cmp r0, 0x1 - bne _08138DB8 - ldr r3, =0x0000025a - b _08138DE6 - .pool -_08138DB8: - cmp r0, 0x2 - bne _08138DE6 - ldr r3, =0x00000259 - b _08138DE6 - .pool -_08138DC4: - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r0, 0 - bne _08138DD4 - movs r3, 0x5 - b _08138DE6 - .pool -_08138DD4: - cmp r0, 0x1 - bne _08138DE0 - ldr r3, =0x0000027f - b _08138DE6 - .pool -_08138DE0: - cmp r0, 0x2 - bne _08138DE6 - ldr r3, =0x0000027e -_08138DE6: - ldr r0, =gSaveBlock1Ptr - ldr r2, [r0] - movs r5, 0 - ldrsh r0, [r2, r5] - lsls r1, 24 - asrs r1, 24 - adds r0, r1 - adds r0, 0x7 - movs r5, 0x2 - ldrsh r1, [r2, r5] - lsls r2, r4, 24 - asrs r2, 24 - adds r1, r2 - adds r1, 0x7 - movs r4, 0xC0 - lsls r4, 4 - adds r2, r4, 0 - orrs r3, r2 - adds r2, r3, 0 - bl MapGridSetMetatileIdAt - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end PCTurnOnEffect_1 - - thumb_func_start DoPCTurnOffEffect -DoPCTurnOffEffect: @ 8138E20 - push {lr} - bl PCTurnOffEffect - pop {r0} - bx r0 - thumb_func_end DoPCTurnOffEffect - - thumb_func_start PCTurnOffEffect -PCTurnOffEffect: @ 8138E2C - push {r4-r6,lr} - movs r6, 0 - movs r5, 0 - movs r4, 0 - bl GetPlayerFacingDirection - lsls r0, 24 - lsrs r0, 24 - adds r1, r0, 0 - cmp r0, 0x3 - beq _08138E56 - cmp r0, 0x3 - bgt _08138E4C - cmp r0, 0x2 - beq _08138E52 - b _08138E5E -_08138E4C: - cmp r1, 0x4 - beq _08138E5A - b _08138E5E -_08138E52: - movs r6, 0 - b _08138E5C -_08138E56: - movs r6, 0xFF - b _08138E5C -_08138E5A: - movs r6, 0x1 -_08138E5C: - movs r5, 0xFF -_08138E5E: - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r0, 0 - bne _08138E70 - movs r4, 0x4 - b _08138E82 - .pool -_08138E70: - cmp r0, 0x1 - bne _08138E7C - ldr r4, =0x0000025a - b _08138E82 - .pool -_08138E7C: - cmp r0, 0x2 - bne _08138E82 - ldr r4, =0x00000259 -_08138E82: - ldr r0, =gSaveBlock1Ptr - ldr r2, [r0] - movs r1, 0 - ldrsh r0, [r2, r1] - lsls r1, r6, 24 - asrs r1, 24 - adds r0, r1 - adds r0, 0x7 - movs r3, 0x2 - ldrsh r1, [r2, r3] - lsls r2, r5, 24 - asrs r2, 24 - adds r1, r2 - adds r1, 0x7 - movs r3, 0xC0 - lsls r3, 4 - adds r2, r3, 0 - orrs r4, r2 - adds r2, r4, 0 - bl MapGridSetMetatileIdAt - bl DrawWholeMapView - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end PCTurnOffEffect - - thumb_func_start DoLotteryCornerComputerEffect -DoLotteryCornerComputerEffect: @ 8138EC0 - push {r4,lr} - ldr r4, =Task_LotteryCornerComputerEffect - adds r0, r4, 0 - bl FuncIsActiveTask - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08138EF4 - adds r0, r4, 0 - movs r1, 0x8 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r2, 0 - strh r2, [r1, 0x8] - strh r0, [r1, 0xA] - strh r2, [r1, 0xC] - strh r2, [r1, 0xE] - strh r2, [r1, 0x10] -_08138EF4: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end DoLotteryCornerComputerEffect - - thumb_func_start Task_LotteryCornerComputerEffect -Task_LotteryCornerComputerEffect: @ 8138F04 - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks - adds r1, r0 - movs r2, 0x8 - ldrsh r0, [r1, r2] - cmp r0, 0 - bne _08138F22 - adds r0, r1, 0 - bl LotteryCornerComputerEffect -_08138F22: - pop {r0} - bx r0 - .pool - thumb_func_end Task_LotteryCornerComputerEffect - - thumb_func_start LotteryCornerComputerEffect -LotteryCornerComputerEffect: @ 8138F2C - push {r4,lr} - adds r4, r0, 0 - movs r1, 0xE - ldrsh r0, [r4, r1] - cmp r0, 0x6 - bne _08138F9A - movs r0, 0 - strh r0, [r4, 0xE] - movs r1, 0x10 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _08138F64 - ldr r2, =0x00000e9d - movs r0, 0x12 - movs r1, 0x8 - bl MapGridSetMetatileIdAt - ldr r2, =0x00000ea5 - movs r0, 0x12 - movs r1, 0x9 - bl MapGridSetMetatileIdAt - b _08138F7A - .pool -_08138F64: - ldr r2, =0x00000e58 - movs r0, 0x12 - movs r1, 0x8 - bl MapGridSetMetatileIdAt - movs r2, 0xE6 - lsls r2, 4 - movs r0, 0x12 - movs r1, 0x9 - bl MapGridSetMetatileIdAt -_08138F7A: - bl DrawWholeMapView - ldrh r0, [r4, 0x10] - movs r1, 0x1 - eors r0, r1 - strh r0, [r4, 0x10] - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x5 - bne _08138F9A - ldrb r0, [r4, 0xA] - bl DestroyTask -_08138F9A: - ldrh r0, [r4, 0xE] - adds r0, 0x1 - strh r0, [r4, 0xE] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end LotteryCornerComputerEffect - - thumb_func_start EndLotteryCornerComputerEffect -EndLotteryCornerComputerEffect: @ 8138FAC - push {lr} - ldr r2, =0x00000e9d - movs r0, 0x12 - movs r1, 0x8 - bl MapGridSetMetatileIdAt - ldr r2, =0x00000ea5 - movs r0, 0x12 - movs r1, 0x9 - bl MapGridSetMetatileIdAt - bl DrawWholeMapView - pop {r0} - bx r0 - .pool - thumb_func_end EndLotteryCornerComputerEffect - - thumb_func_start SetTrickHouseEndRoomFlag -SetTrickHouseEndRoomFlag: @ 8138FD4 - push {lr} - ldr r1, =gSpecialVar_0x8004 - ldr r0, =0x000001f5 - strh r0, [r1] - bl FlagSet - pop {r0} - bx r0 - .pool - thumb_func_end SetTrickHouseEndRoomFlag - - thumb_func_start ResetTrickHouseEndRoomFlag -ResetTrickHouseEndRoomFlag: @ 8138FEC - push {lr} - ldr r1, =gSpecialVar_0x8004 - ldr r0, =0x000001f5 - strh r0, [r1] - bl FlagClear - pop {r0} - bx r0 - .pool - thumb_func_end ResetTrickHouseEndRoomFlag - - thumb_func_start CheckLeadMonCool -CheckLeadMonCool: @ 8139004 - push {lr} - bl GetLeadMonIndex - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0x16 - bl GetMonData - cmp r0, 0xC7 - bls _08139028 - movs r0, 0x1 - b _0813902A - .pool -_08139028: - movs r0, 0 -_0813902A: - pop {r1} - bx r1 - thumb_func_end CheckLeadMonCool - - thumb_func_start CheckLeadMonBeauty -CheckLeadMonBeauty: @ 8139030 - push {lr} - bl GetLeadMonIndex - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0x17 - bl GetMonData - cmp r0, 0xC7 - bls _08139054 - movs r0, 0x1 - b _08139056 - .pool -_08139054: - movs r0, 0 -_08139056: - pop {r1} - bx r1 - thumb_func_end CheckLeadMonBeauty - - thumb_func_start CheckLeadMonCute -CheckLeadMonCute: @ 813905C - push {lr} - bl GetLeadMonIndex - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0x18 - bl GetMonData - cmp r0, 0xC7 - bls _08139080 - movs r0, 0x1 - b _08139082 - .pool -_08139080: - movs r0, 0 -_08139082: - pop {r1} - bx r1 - thumb_func_end CheckLeadMonCute - - thumb_func_start CheckLeadMonSmart -CheckLeadMonSmart: @ 8139088 - push {lr} - bl GetLeadMonIndex - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0x21 - bl GetMonData - cmp r0, 0xC7 - bls _081390AC - movs r0, 0x1 - b _081390AE - .pool -_081390AC: - movs r0, 0 -_081390AE: - pop {r1} - bx r1 - thumb_func_end CheckLeadMonSmart - - thumb_func_start CheckLeadMonTough -CheckLeadMonTough: @ 81390B4 - push {lr} - bl GetLeadMonIndex - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0x2F - bl GetMonData - cmp r0, 0xC7 - bls _081390D8 - movs r0, 0x1 - b _081390DA - .pool -_081390D8: - movs r0, 0 -_081390DA: - pop {r1} - bx r1 - thumb_func_end CheckLeadMonTough - - thumb_func_start IsGrassTypeInParty -IsGrassTypeInParty: @ 81390E0 - push {r4-r6,lr} - movs r5, 0 - ldr r6, =gBaseStats -_081390E6: - 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 _0813913C - adds r0, r4, 0 - movs r1, 0x2D - bl GetMonData - cmp r0, 0 - bne _0813913C - adds r0, r4, 0 - movs r1, 0xB - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - adds r1, r6 - ldrb r0, [r1, 0x6] - cmp r0, 0xC - beq _08139128 - ldrb r0, [r1, 0x7] - cmp r0, 0xC - bne _0813913C -_08139128: - ldr r1, =gSpecialVar_Result - movs r0, 0x1 - b _0813914A - .pool -_0813913C: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x5 - bls _081390E6 - ldr r1, =gSpecialVar_Result - movs r0, 0 -_0813914A: - strh r0, [r1] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end IsGrassTypeInParty - - thumb_func_start SpawnScriptEventObject -SpawnScriptEventObject: @ 8139158 - push {lr} - sub sp, 0x8 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldrh r3, [r0] - adds r3, 0x7 - lsls r3, 16 - asrs r3, 16 - ldrh r0, [r0, 0x2] - adds r0, 0x7 - lsls r0, 16 - asrs r0, 16 - str r0, [sp] - movs r0, 0x3 - str r0, [sp, 0x4] - movs r0, 0x7 - movs r1, 0x8 - movs r2, 0x7F - bl SpawnSpecialEventObjectParameterized - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gEventObjects - lsls r1, r0, 3 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldrb r0, [r1, 0x1] - movs r2, 0x20 - orrs r0, r2 - strb r0, [r1, 0x1] - ldrb r0, [r1, 0x4] - bl CameraObjectSetFollowedObjectId - add sp, 0x8 - pop {r0} - bx r0 - .pool - thumb_func_end SpawnScriptEventObject - - thumb_func_start RemoveScriptEventObject -RemoveScriptEventObject: @ 81391AC - push {lr} - bl GetPlayerAvatarObjectId - lsls r0, 24 - lsrs r0, 24 - bl CameraObjectSetFollowedObjectId - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldrb r1, [r0, 0x5] - ldrb r2, [r0, 0x4] - movs r0, 0x7F - bl RemoveEventObjectByLocalIdAndMap - pop {r0} - bx r0 - .pool - thumb_func_end RemoveScriptEventObject - - thumb_func_start GetPokeblockNameByMonNature -GetPokeblockNameByMonNature: @ 81391D0 - push {lr} - bl GetLeadMonIndex - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - bl GetNature - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gStringVar1 - bl CopyMonFavoritePokeblockName - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .pool - thumb_func_end GetPokeblockNameByMonNature - - thumb_func_start GetSecretBaseNearbyMapName -GetSecretBaseNearbyMapName: @ 8139200 - push {r4,lr} - ldr r4, =gStringVar1 - ldr r0, =0x00004026 - bl VarGet - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r4, 0 - movs r2, 0 - bl GetMapName - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end GetSecretBaseNearbyMapName - - thumb_func_start sub_8139228 -sub_8139228: @ 8139228 - push {lr} - movs r0, 0x20 - bl GetGameStat - lsls r0, 16 - lsrs r0, 16 - pop {r1} - bx r1 - thumb_func_end sub_8139228 - - thumb_func_start sub_8139238 -sub_8139238: @ 8139238 - push {lr} - ldr r0, =gStringVar1 - bl GetEreaderTrainerName - pop {r0} - bx r0 - .pool - thumb_func_end sub_8139238 - - thumb_func_start sub_8139248 -sub_8139248: @ 8139248 - push {r4,r5,lr} - ldr r0, =gSaveBlock1Ptr - ldr r2, [r0] - ldr r1, =0x00002e68 - adds r0, r2, r1 - ldrb r1, [r0] - lsls r1, 25 - ldr r0, =0x00002e6a - adds r2, r0 - lsrs r1, 25 - ldrh r2, [r2] - adds r1, r2 - ldr r2, =gUnknown_085B2B88 - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - adds r0, r2 - ldrb r0, [r0] - adds r5, r1, r0 - movs r0, 0x2 - bl GetPriceReduction - lsls r0, 24 - cmp r0, 0 - bne _08139294 - ldr r4, =gUnknown_085B2B94 - b _08139296 - .pool -_08139294: - ldr r4, =gUnknown_085B2BA0 -_08139296: - adds r0, r5, 0 - movs r1, 0xC - bl __umodsi3 - adds r0, r4 - ldrb r0, [r0] - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8139248 - - thumb_func_start sub_81392AC -sub_81392AC: @ 81392AC - push {lr} - ldr r1, =gSpecialVar_0x8004 - ldr r0, =0x00000213 - strh r0, [r1] - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _081392CC - movs r0, 0x1 - b _081392CE - .pool -_081392CC: - movs r0, 0 -_081392CE: - pop {r1} - bx r1 - thumb_func_end sub_81392AC - - thumb_func_start sub_81392D4 -sub_81392D4: @ 81392D4 - push {lr} - ldr r1, =gSpecialVar_0x8004 - movs r0, 0x85 - lsls r0, 2 - strh r0, [r1] - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _081392F0 - movs r0, 0x1 - b _081392F2 - .pool -_081392F0: - movs r0, 0 -_081392F2: - pop {r1} - bx r1 - thumb_func_end sub_81392D4 - - thumb_func_start sub_81392F8 -sub_81392F8: @ 81392F8 - push {lr} - ldr r1, =gSpecialVar_0x8004 - ldr r0, =0x00000215 - strh r0, [r1] - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _08139318 - movs r0, 0x1 - b _0813931A - .pool -_08139318: - movs r0, 0 -_0813931A: - pop {r1} - bx r1 - thumb_func_end sub_81392F8 - - thumb_func_start sub_8139320 -sub_8139320: @ 8139320 - push {lr} - ldr r1, =gSpecialVar_0x8004 - ldr r0, =0x00000216 - strh r0, [r1] - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _08139340 - movs r0, 0x1 - b _08139342 - .pool -_08139340: - movs r0, 0 -_08139342: - pop {r1} - bx r1 - thumb_func_end sub_8139320 - - thumb_func_start LeadMonHasEffortRibbon -LeadMonHasEffortRibbon: @ 8139348 - push {lr} - bl GetLeadMonIndex - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0x47 - movs r2, 0 - bl GetMonData - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .pool - thumb_func_end LeadMonHasEffortRibbon - - thumb_func_start GiveLeadMonEffortRibbon -GiveLeadMonEffortRibbon: @ 8139370 - push {r4,lr} - sub sp, 0x4 - movs r0, 0x2A - bl IncrementGameStat - ldr r0, =0x0000089b - bl FlagSet - movs r1, 0x1 - mov r0, sp - strb r1, [r0] - bl GetLeadMonIndex - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r1, r0 - ldr r0, =gPlayerParty - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0x47 - mov r2, sp - bl SetMonData - adds r0, r4, 0 - bl GetRibbonCount - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x4 - bls _081393B6 - adds r0, r4, 0 - movs r1, 0x47 - bl sub_80EE4DC -_081393B6: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end GiveLeadMonEffortRibbon - - thumb_func_start Special_AreLeadMonEVsMaxedOut -Special_AreLeadMonEVsMaxedOut: @ 81393C8 - push {lr} - bl GetLeadMonIndex - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - bl GetMonEVCount - lsls r0, 16 - ldr r1, =0x01fd0000 - cmp r0, r1 - bhi _081393F4 - movs r0, 0 - b _081393F6 - .pool -_081393F4: - movs r0, 0x1 -_081393F6: - pop {r1} - bx r1 - thumb_func_end Special_AreLeadMonEVsMaxedOut - - thumb_func_start sub_81393FC -sub_81393FC: @ 81393FC - push {lr} - movs r0, 0xC7 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - bne _08139454 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldrh r1, [r0, 0x4] - movs r0, 0x83 - lsls r0, 3 - cmp r1, r0 - bne _08139454 - subs r0, 0x75 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _08139434 - ldr r0, =0x0000409a - movs r1, 0x4 - b _08139446 - .pool -_08139434: - movs r0, 0xE9 - lsls r0, 2 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _08139454 - ldr r0, =0x0000409a - movs r1, 0x5 -_08139446: - bl VarSet - movs r0, 0x1 - b _08139456 - .pool -_08139454: - movs r0, 0 -_08139456: - pop {r1} - bx r1 - thumb_func_end sub_81393FC - - thumb_func_start SetShoalItemFlag -SetShoalItemFlag: @ 813945C - push {lr} - ldr r0, =0x000008bf - bl FlagSet - pop {r0} - bx r0 - .pool - thumb_func_end SetShoalItemFlag - - thumb_func_start PutZigzagoonInPlayerParty -PutZigzagoonInPlayerParty: @ 813946C - push {r4,r5,lr} - sub sp, 0x14 - ldr r5, =gPlayerParty - movs r1, 0x90 - lsls r1, 1 - movs r4, 0 - str r4, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - str r4, [sp, 0xC] - adds r0, r5, 0 - movs r2, 0x7 - movs r3, 0x20 - bl CreateMon - movs r1, 0x1 - add r0, sp, 0x10 - strh r1, [r0] - adds r0, r5, 0 - movs r1, 0x2E - add r2, sp, 0x10 - bl SetMonData - add r1, sp, 0x10 - movs r0, 0x21 - strh r0, [r1] - adds r0, r5, 0 - movs r1, 0xD - add r2, sp, 0x10 - bl SetMonData - add r0, sp, 0x10 - strh r4, [r0] - adds r0, r5, 0 - movs r1, 0xE - add r2, sp, 0x10 - bl SetMonData - adds r0, r5, 0 - movs r1, 0xF - add r2, sp, 0x10 - bl SetMonData - adds r0, r5, 0 - movs r1, 0x10 - add r2, sp, 0x10 - bl SetMonData - add sp, 0x14 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end PutZigzagoonInPlayerParty - - thumb_func_start IsStarterInParty -IsStarterInParty: @ 81394D8 - push {r4-r6,lr} - ldr r0, =0x00004023 - bl VarGet - lsls r0, 16 - lsrs r0, 16 - bl GetStarterPokemon - lsls r0, 16 - lsrs r6, r0, 16 - bl CalculatePlayerPartyCount - lsls r0, 24 - lsrs r5, r0, 24 - movs r4, 0 - cmp r4, r5 - bcs _08139526 -_081394FA: - movs r0, 0x64 - muls r0, r4 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0x41 - movs r2, 0 - bl GetMonData - cmp r0, r6 - bne _0813951C - movs r0, 0x1 - b _08139528 - .pool -_0813951C: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, r5 - bcc _081394FA -_08139526: - movs r0, 0 -_08139528: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end IsStarterInParty - - thumb_func_start ScriptCheckFreePokemonStorageSpace -ScriptCheckFreePokemonStorageSpace: @ 8139530 - push {lr} - bl CheckFreePokemonStorageSpace - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end ScriptCheckFreePokemonStorageSpace - - thumb_func_start IsPokerusInParty -IsPokerusInParty: @ 8139540 - push {lr} - ldr r0, =gPlayerParty - movs r1, 0x3F - bl CheckPartyPokerus - lsls r0, 24 - cmp r0, 0 - beq _08139558 - movs r0, 0x1 - b _0813955A - .pool -_08139558: - movs r0, 0 -_0813955A: - pop {r1} - bx r1 - thumb_func_end IsPokerusInParty - - thumb_func_start sub_8139560 -sub_8139560: @ 8139560 - push {lr} - ldr r0, =sub_81395BC - movs r1, 0x9 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r0, =gSpecialVar_0x8005 - ldrh r0, [r0] - movs r2, 0 - strh r0, [r1, 0x8] - strh r2, [r1, 0xA] - ldr r0, =gSpecialVar_0x8006 - ldrh r0, [r0] - strh r0, [r1, 0xC] - ldr r0, =gSpecialVar_0x8007 - ldrh r0, [r0] - strh r0, [r1, 0xE] - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - strh r0, [r1, 0x10] - movs r0, 0 - bl SetCameraPanningCallback - movs r0, 0xD6 - bl PlaySE - pop {r0} - bx r0 - .pool - thumb_func_end sub_8139560 - - thumb_func_start sub_81395BC -sub_81395BC: @ 81395BC - 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, 0x2] - adds r0, 0x1 - strh r0, [r4, 0x2] - movs r1, 0x2 - ldrsh r0, [r4, r1] - movs r2, 0x6 - ldrsh r1, [r4, r2] - bl __modsi3 - cmp r0, 0 - bne _08139614 - strh r0, [r4, 0x2] - ldrh r0, [r4, 0x4] - subs r0, 0x1 - strh r0, [r4, 0x4] - ldrh r0, [r4] - negs r0, r0 - strh r0, [r4] - ldrh r0, [r4, 0x8] - negs r0, r0 - strh r0, [r4, 0x8] - movs r1, 0 - ldrsh r0, [r4, r1] - movs r2, 0x8 - ldrsh r1, [r4, r2] - bl SetCameraPanning - movs r1, 0x4 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _08139614 - adds r0, r5, 0 - bl sub_8139620 - bl InstallCameraPanAheadCallback -_08139614: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81395BC - - thumb_func_start sub_8139620 -sub_8139620: @ 8139620 - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask - bl EnableBothScriptContexts - pop {r0} - bx r0 - thumb_func_end sub_8139620 - - thumb_func_start sub_8139634 -sub_8139634: @ 8139634 - push {lr} - movs r0, 0x95 - lsls r0, 2 - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end sub_8139634 - - thumb_func_start SetRoute119Weather -SetRoute119Weather: @ 8139648 - push {lr} - bl get_map_light_from_warp0 - lsls r0, 24 - lsrs r0, 24 - bl is_map_type_1_2_3_5_or_6 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08139664 - movs r0, 0x14 - bl SetSav1Weather -_08139664: - pop {r0} - bx r0 - thumb_func_end SetRoute119Weather - - thumb_func_start SetRoute123Weather -SetRoute123Weather: @ 8139668 - push {lr} - bl get_map_light_from_warp0 - lsls r0, 24 - lsrs r0, 24 - bl is_map_type_1_2_3_5_or_6 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08139684 - movs r0, 0x15 - bl SetSav1Weather -_08139684: - pop {r0} - bx r0 - thumb_func_end SetRoute123Weather - - thumb_func_start GetLeadMonIndex -GetLeadMonIndex: @ 8139688 - push {r4-r6,lr} - bl CalculatePlayerPartyCount - lsls r0, 24 - lsrs r6, r0, 24 - movs r5, 0 - cmp r5, r6 - bcs _081396D6 -_08139698: - movs r0, 0x64 - adds r1, r5, 0 - muls r1, r0 - ldr r0, =gPlayerParty - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0x41 - movs r2, 0 - bl GetMonData - movs r1, 0xCE - lsls r1, 1 - cmp r0, r1 - beq _081396CC - adds r0, r4, 0 - movs r1, 0x41 - movs r2, 0 - bl GetMonData - cmp r0, 0 - beq _081396CC - adds r0, r5, 0 - b _081396D8 - .pool -_081396CC: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, r6 - bcc _08139698 -_081396D6: - movs r0, 0 -_081396D8: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end GetLeadMonIndex - - thumb_func_start ScriptGetPartyMonSpecies -ScriptGetPartyMonSpecies: @ 81396E0 - push {lr} - ldr r0, =gSpecialVar_0x8004 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0x41 - movs r2, 0 - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - pop {r1} - bx r1 - .pool - thumb_func_end ScriptGetPartyMonSpecies - - thumb_func_start nullsub_54 -nullsub_54: @ 8139708 - bx lr - thumb_func_end nullsub_54 - - thumb_func_start sub_813970C -sub_813970C: @ 813970C - push {r4,lr} - ldr r0, =0x000040c2 - bl VarGet - lsls r0, 16 - lsrs r0, 16 - adds r3, r0, 0 - ldr r2, =gLocalTime - movs r1, 0 - ldrsh r0, [r2, r1] - subs r0, r3 - cmp r0, 0x6 - ble _08139734 - movs r0, 0 - b _0813974C - .pool -_08139734: - ldrh r1, [r2] - movs r4, 0 - ldrsh r0, [r2, r4] - cmp r0, 0 - blt _0813974A - subs r1, r3 - movs r0, 0x7 - subs r0, r1 - lsls r0, 16 - lsrs r0, 16 - b _0813974C -_0813974A: - movs r0, 0x8 -_0813974C: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_813970C - - thumb_func_start sub_8139754 -sub_8139754: @ 8139754 - push {r4,lr} - ldr r0, =0x000040c2 - ldr r4, =gLocalTime - ldrh r1, [r4] - bl VarSet - ldrh r0, [r4] - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8139754 - - thumb_func_start sub_8139770 -sub_8139770: @ 8139770 - push {r4-r6,lr} - ldr r6, =gSpecialVar_0x8004 - ldrh r0, [r6] - movs r5, 0x64 - muls r0, r5 - ldr r4, =gPlayerParty - adds r0, r4 - movs r1, 0x3 - bl GetMonData - cmp r0, 0x2 - bne _081397A6 - ldrh r0, [r6] - muls r0, r5 - adds r0, r4 - ldr r4, =gStringVar1 - movs r1, 0x7 - adds r2, r4, 0 - bl GetMonData - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - adds r1, r4, 0 - bl StringCompare - cmp r0, 0 - beq _081397BC -_081397A6: - movs r0, 0x1 - b _081397BE - .pool -_081397BC: - movs r0, 0 -_081397BE: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8139770 - - thumb_func_start sub_81397C4 -sub_81397C4: @ 81397C4 - push {r4,r5,lr} - ldr r2, =gSpecialVar_Result - ldrh r1, [r2] - ldr r0, =0x0000270f - cmp r1, r0 - bls _081397E0 - movs r0, 0 - bl TV_PrintIntToStringVar - b _08139862 - .pool -_081397E0: - ldr r0, =0x000003e7 - cmp r1, r0 - bls _081397F8 - ldr r4, =gStringVar1 - movs r0, 0xA1 - strb r0, [r4] - adds r4, 0x1 - b _0813981C - .pool -_081397F8: - cmp r1, 0x63 - bls _0813980C - ldr r4, =gStringVar1 - movs r0, 0xA1 - strb r0, [r4] - strb r0, [r4, 0x1] - adds r4, 0x2 - b _0813981C - .pool -_0813980C: - cmp r1, 0x9 - bls _0813983C - ldr r4, =gStringVar1 - movs r0, 0xA1 - strb r0, [r4] - strb r0, [r4, 0x1] - strb r0, [r4, 0x2] - adds r4, 0x3 -_0813981C: - ldrh r5, [r2] - adds r0, r5, 0 - bl CountDigits - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0 - bl ConvertIntToDecimalStringN - b _08139862 - .pool -_0813983C: - ldr r4, =gStringVar1 - movs r0, 0xA1 - strb r0, [r4] - strb r0, [r4, 0x1] - strb r0, [r4, 0x2] - strb r0, [r4, 0x3] - adds r4, 0x4 - ldrh r5, [r2] - adds r0, r5, 0 - bl CountDigits - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0 - bl ConvertIntToDecimalStringN -_08139862: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81397C4 - - thumb_func_start sub_813986C -sub_813986C: @ 813986C - push {lr} - ldr r0, =gSpecialVar_Result - ldrh r0, [r0] - cmp r0, 0x4 - bhi _081398B8 - lsls r0, 2 - ldr r1, =_08139888 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08139888: - .4byte _0813989C - .4byte _081398A0 - .4byte _081398A4 - .4byte _081398A8 - .4byte _081398AC -_0813989C: - movs r0, 0x3 - b _081398AE -_081398A0: - movs r0, 0x4 - b _081398AE -_081398A4: - movs r0, 0 - b _081398AE -_081398A8: - movs r0, 0x1 - b _081398AE -_081398AC: - movs r0, 0x2 -_081398AE: - bl mevent_081445C0 - lsls r0, 16 - lsrs r0, 16 - b _081398BA -_081398B8: - movs r0, 0 -_081398BA: - pop {r1} - bx r1 - thumb_func_end sub_813986C - - thumb_func_start sub_81398C0 -sub_81398C0: @ 81398C0 - push {r4,lr} - ldr r1, =gSpecialVar_0x8004 - ldr r2, =0xfffffedf - adds r0, r2, 0 - ldrh r2, [r1] - adds r0, r2 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x39 - bls _081398E0 - movs r0, 0 - b _081398FC - .pool -_081398E0: - ldr r4, =gStringVar2 - ldrh r0, [r1] - bl ItemIdToBattleMoveId - lsls r0, 16 - lsrs r0, 16 - movs r1, 0xD - muls r1, r0 - ldr r0, =gMoveNames - adds r1, r0 - adds r0, r4, 0 - bl StringCopy - movs r0, 0x1 -_081398FC: - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81398C0 - - thumb_func_start sub_813990C -sub_813990C: @ 813990C - push {r4,r5,lr} - bl CalculatePlayerPartyCount - lsls r0, 24 - lsrs r5, r0, 24 - movs r4, 0 - cmp r4, r5 - bcs _08139942 -_0813991C: - movs r0, 0x64 - muls r0, r4 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0x4 - bl GetMonData - cmp r0, 0x1 - bne _08139938 - movs r0, 0x1 - b _08139944 - .pool -_08139938: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, r5 - bcc _0813991C -_08139942: - movs r0, 0 -_08139944: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_813990C - - thumb_func_start InMultiBattleRoom -InMultiBattleRoom: @ 813994C - push {lr} - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldrh r1, [r0, 0x4] - ldr r0, =0x00000f1a - cmp r1, r0 - bne _08139978 - ldr r0, =0x000040ce - bl VarGet - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x2 - bne _08139978 - movs r0, 0x1 - b _0813997A - .pool -_08139978: - movs r0, 0 -_0813997A: - pop {r1} - bx r1 - thumb_func_end InMultiBattleRoom - - thumb_func_start sub_8139980 -sub_8139980: @ 8139980 - push {lr} - movs r0, 0 - bl SetCameraPanningCallback - movs r0, 0x8 - movs r1, 0 - bl SetCameraPanning - pop {r0} - bx r0 - thumb_func_end sub_8139980 - - thumb_func_start sub_8139994 -sub_8139994: @ 8139994 - push {lr} - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldrb r0, [r0, 0x15] - subs r0, 0x10 - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x5 - bhi _081399E4 - lsls r0, 2 - ldr r1, =_081399B8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_081399B8: - .4byte _081399E4 - .4byte _081399D0 - .4byte _081399D4 - .4byte _081399D8 - .4byte _081399DC - .4byte _081399E0 -_081399D0: - movs r1, 0x5 - b _081399E6 -_081399D4: - movs r1, 0x6 - b _081399E6 -_081399D8: - movs r1, 0x7 - b _081399E6 -_081399DC: - movs r1, 0x8 - b _081399E6 -_081399E0: - movs r1, 0xF - b _081399E6 -_081399E4: - movs r1, 0x4 -_081399E6: - ldr r0, =0x00004043 - bl VarSet - pop {r0} - bx r0 - .pool - thumb_func_end sub_8139994 - thumb_func_start sub_81399F4 sub_81399F4: @ 81399F4 push {r4,lr} diff --git a/asm/pokenav.s b/asm/pokenav.s index dd2dbf4e0a..c9fe787e0c 100644 --- a/asm/pokenav.s +++ b/asm/pokenav.s @@ -1585,7 +1585,7 @@ sub_81C7E58: @ 81C7E58 adds r0, r4, 0 movs r2, 0x20 bl LoadPalette - ldr r4, =0x0201c000 + ldr r4, =gDecompressionBuffer mov r0, r8 adds r1, r4, 0 bl LZ77UnCompWram @@ -1667,7 +1667,7 @@ sub_81C7F24: @ 81C7F24 adds r0, r4, 0 movs r2, 0x20 bl LoadPalette - ldr r4, =0x0201d000 + ldr r4, =gDecompressionBuffer+0x1000 adds r0, r6, 0 adds r1, r4, 0 bl LZ77UnCompWram @@ -27036,7 +27036,7 @@ _081D4E1C: thumb_func_start sub_81D4E30 sub_81D4E30: @ 81D4E30 push {lr} - ldr r0, =0x0201c000 + ldr r0, =gDecompressionBuffer movs r2, 0x80 lsls r2, 6 movs r1, 0 @@ -27657,7 +27657,7 @@ _081D5386: strb r0, [r4, 0x8] b _081D548A _081D5390: - ldr r0, =0x0201c000 + ldr r0, =gDecompressionBuffer bl sub_81D3920 strb r0, [r4, 0xE] ldrb r0, [r4, 0xE] @@ -27683,7 +27683,7 @@ _081D53C0: strb r0, [r4, 0x8] b _081D548A _081D53C6: - ldr r0, =0x0201c000 + ldr r0, =gDecompressionBuffer bl sub_81D3AB0 cmp r0, 0 beq _081D53EC diff --git a/asm/rom_8011DC0.s b/asm/rom_8011DC0.s index fd2cccca31..61324b2078 100644 --- a/asm/rom_8011DC0.s +++ b/asm/rom_8011DC0.s @@ -15650,7 +15650,7 @@ _0801D7D0: b _0801D804 .pool _0801D7F0: - ldr r0, =0x0201c000 + ldr r0, =gDecompressionBuffer ldr r1, [r4, 0x18] movs r2, 0x80 lsls r2, 3 @@ -15723,7 +15723,7 @@ _0801D858: sub_801D860: @ 801D860 push {r4,lr} adds r4, r0, 0 - ldr r3, =0x0201c000 + ldr r3, =gDecompressionBuffer adds r0, r4, 0x4 ldr r1, =gSaveBlock2Ptr ldr r1, [r1] @@ -25386,7 +25386,7 @@ sub_80226D0: @ 80226D0 adds r6, r0, 0 movs r5, 0 ldr r0, =gUnknown_08DE3FD4 - ldr r4, =0x0201c000 + ldr r4, =gDecompressionBuffer adds r1, r4, 0 bl LZ77UnCompWram b _0802271A diff --git a/asm/roulette.s b/asm/roulette.s index d3dd5fd9e5..b0098daf62 100644 --- a/asm/roulette.s +++ b/asm/roulette.s @@ -4948,7 +4948,7 @@ sub_8142CD0: @ 8142CD0 sub sp, 0x8 ldr r4, =gUnknown_085B7488 ldr r0, [r4] - ldr r5, =0x0201c000 + ldr r5, =gDecompressionBuffer adds r1, r5, 0 bl LZ77UnCompWram str r5, [sp] @@ -5575,7 +5575,7 @@ sub_81431E4: @ 81431E4 sub sp, 0xC ldr r4, =gUnknown_085B741C ldr r0, [r4] - ldr r5, =0x0201c000 + ldr r5, =gDecompressionBuffer adds r1, r5, 0 bl LZ77UnCompWram str r5, [sp, 0x4] @@ -5720,7 +5720,7 @@ sub_8143314: @ 8143314 push {r7} sub sp, 0x8 movs r5, 0 - ldr r7, =0x0201c000 + ldr r7, =gDecompressionBuffer mov r6, sp _08143322: ldr r0, =gUnknown_085B7750 @@ -6448,7 +6448,7 @@ sub_814391C: @ 814391C sub sp, 0x8 ldr r4, =gUnknown_085B7948 ldr r0, [r4] - ldr r5, =0x0201c000 + ldr r5, =gDecompressionBuffer adds r1, r5, 0 bl LZ77UnCompWram str r5, [sp] diff --git a/asm/trade.s b/asm/trade.s index 911b56aece..763b1a9ec3 100644 --- a/asm/trade.s +++ b/asm/trade.s @@ -7612,7 +7612,7 @@ sub_807B170: @ 807B170 bl copy_decompressed_tile_data_to_vram_autofree ldr r0, =gBattleTextboxTilemap mov r8, r0 - ldr r4, =0x0201c000 + ldr r4, =gDecompressionBuffer adds r1, r4, 0 bl LZDecompressWram movs r0, 0 diff --git a/data/event_scripts.s b/data/event_scripts.s index 0336c0c97c..90229a4a1b 100644 --- a/data/event_scripts.s +++ b/data/event_scripts.s @@ -2356,8 +2356,8 @@ RusturfTunnel_EventScript_272216:: @ 8272216 removeobject 10 clearflag FLAG_0x328 clearflag FLAG_0x3D8 - setvar VAR_0x409A, 6 - setflag FLAG_0x0C7 + setvar VAR_RUSTURF_TUNNEL_STATE, 6 + setflag FLAG_RUSTURF_TUNNEL_OPENED return EventScript_27222B:: @ 827222B @@ -2517,7 +2517,7 @@ Route119_EventScript_272365:: @ 8272365 setflag FLAG_SYS_CTRL_OBJ_DELETE dowildbattle clearflag FLAG_SYS_CTRL_OBJ_DELETE - specialvar VAR_RESULT, sub_8138B80 + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 1 goto_eq Route119_EventScript_2723C1 compare VAR_RESULT, 4 diff --git a/data/field_specials.s b/data/field_specials.s index 8f9734a013..030a279ef4 100644 --- a/data/field_specials.s +++ b/data/field_specials.s @@ -3,33 +3,6 @@ .section .rodata - .align 2 -gUnknown_085B2B5C:: @ 85B2B5C - .byte 0x07, 0x09, 0x08, 0x0a - - .align 2 -gUnknown_085B2B60:: @ 85B2B60 - .byte 0x00, 0x01, 0x01, 0x00, 0x00, 0xff, 0xff, 0x00 - -gUnknown_085B2B68:: @ 85B2B68 - .byte 0x07, 0x16, 0x00, 0x00, 0x0b, 0x13, 0x00, 0x00, 0x0a, 0x10, 0x00, 0x00, 0x0f, 0x10, 0x00, 0x00 - -gUnknown_085B2B78:: @ 85B2B78 - .byte 0x00, 0x01, 0x01, 0x01, 0x01, 0x00 - - .align 1 -gUnknown_085B2B7E:: @ 85B2B7E - .2byte 0x0218, 0x0219, 0x021a, 0x021b, 0x021c - -gUnknown_085B2B88:: @ 85B2B88 - .byte 0x0c, 0x02, 0x04, 0x05, 0x01, 0x08, 0x07, 0x0b, 0x03, 0x0a, 0x09, 0x06 - -gUnknown_085B2B94:: @ 85B2B94 - .byte 0x00, 0x01, 0x01, 0x02, 0x02, 0x02, 0x03, 0x03, 0x03, 0x04, 0x04, 0x05 - -gUnknown_085B2BA0:: @ 85B2BA0 - .byte 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x04, 0x04, 0x04, 0x04, 0x05, 0x05 - .align 2 gUnknown_085B2BAC:: @ 85B2BAC .byte 0x00, 0x15, 0x01, 0x08, 0x04, 0x0f, 0x08, 0x00 diff --git a/data/maps/AbandonedShip_HiddenFloorRooms/scripts.inc b/data/maps/AbandonedShip_HiddenFloorRooms/scripts.inc index 701b79fbf4..628c9cecee 100644 --- a/data/maps/AbandonedShip_HiddenFloorRooms/scripts.inc +++ b/data/maps/AbandonedShip_HiddenFloorRooms/scripts.inc @@ -43,7 +43,7 @@ AbandonedShip_HiddenFloorRooms_EventScript_238CE3:: @ 8238CE3 setfieldeffectargument 1, 10 setfieldeffectargument 2, 0 dofieldeffect 54 - specialvar VAR_RESULT, sub_81392F8 + specialvar VAR_RESULT, FoundAbandonedShipRoom4Key compare VAR_RESULT, 0 call_if 1, AbandonedShip_HiddenFloorRooms_EventScript_238DD3 waitfieldeffect 54 @@ -54,7 +54,7 @@ AbandonedShip_HiddenFloorRooms_EventScript_238D0C:: @ 8238D0C end AbandonedShip_HiddenFloorRooms_EventScript_238D0D:: @ 8238D0D - specialvar VAR_RESULT, sub_81392AC + specialvar VAR_RESULT, FoundAbandonedShipRoom1Key compare VAR_RESULT, 1 goto_eq AbandonedShip_HiddenFloorRooms_EventScript_238D32 delay 20 @@ -77,7 +77,7 @@ AbandonedShip_HiddenFloorRooms_EventScript_238D33:: @ 8238D33 setfieldeffectargument 1, 3 setfieldeffectargument 2, 0 dofieldeffect 54 - specialvar VAR_RESULT, sub_8139320 + specialvar VAR_RESULT, FoundAbandonedShipRoom6Key compare VAR_RESULT, 0 call_if 1, AbandonedShip_HiddenFloorRooms_EventScript_238DE3 waitfieldeffect 54 @@ -98,7 +98,7 @@ AbandonedShip_HiddenFloorRooms_EventScript_238D6B:: @ 8238D6B setfieldeffectargument 1, 6 setfieldeffectargument 2, 0 dofieldeffect 54 - specialvar VAR_RESULT, sub_81392D4 + specialvar VAR_RESULT, FoundAbandonedShipRoom2Key compare VAR_RESULT, 0 call_if 1, AbandonedShip_HiddenFloorRooms_EventScript_238DC3 waitfieldeffect 54 diff --git a/data/maps/AncientTomb/scripts.inc b/data/maps/AncientTomb/scripts.inc index 3cd0b9effa..9dbacfe8e6 100644 --- a/data/maps/AncientTomb/scripts.inc +++ b/data/maps/AncientTomb/scripts.inc @@ -10,7 +10,7 @@ AncientTomb_MapScript1_238FC3: @ 8238FC3 end AncientTomb_EventScript_238FCD:: @ 8238FCD - specialvar VAR_RESULT, sub_8138B80 + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 7 goto_if 5, AncientTomb_EventScript_27374E removeobject VAR_LAST_TALKED @@ -75,7 +75,7 @@ AncientTomb_EventScript_23905A:: @ 823905A special StartRegiBattle waitstate clearflag FLAG_SYS_CTRL_OBJ_DELETE - specialvar VAR_RESULT, sub_8138B80 + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 1 goto_eq AncientTomb_EventScript_2390A1 compare VAR_RESULT, 4 diff --git a/data/maps/AquaHideout_B1F/scripts.inc b/data/maps/AquaHideout_B1F/scripts.inc index cf59bdacc5..12c25faacf 100644 --- a/data/maps/AquaHideout_B1F/scripts.inc +++ b/data/maps/AquaHideout_B1F/scripts.inc @@ -9,7 +9,7 @@ AquaHideout_B1F_MapScript1_2339B2: @ 82339B2 end AquaHideout_B1F_EventScript_2339BC:: @ 82339BC - specialvar VAR_RESULT, sub_8138B80 + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 7 goto_if 5, AquaHideout_B1F_EventScript_27374E removeobject VAR_LAST_TALKED @@ -41,7 +41,7 @@ AquaHideout_B1F_EventScript_2339EB:: @ 82339EB setflag FLAG_SYS_CTRL_OBJ_DELETE dowildbattle clearflag FLAG_SYS_CTRL_OBJ_DELETE - specialvar VAR_RESULT, sub_8138B80 + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 1 goto_eq AquaHideout_B1F_EventScript_233A2F compare VAR_RESULT, 4 @@ -68,7 +68,7 @@ AquaHideout_B1F_EventScript_233A38:: @ 8233A38 setflag FLAG_SYS_CTRL_OBJ_DELETE dowildbattle clearflag FLAG_SYS_CTRL_OBJ_DELETE - specialvar VAR_RESULT, sub_8138B80 + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 1 goto_eq AquaHideout_B1F_EventScript_233A7C compare VAR_RESULT, 4 diff --git a/data/maps/BattleFrontier_OutsideEast/scripts.inc b/data/maps/BattleFrontier_OutsideEast/scripts.inc index dff56322a3..0a3723acc9 100644 --- a/data/maps/BattleFrontier_OutsideEast/scripts.inc +++ b/data/maps/BattleFrontier_OutsideEast/scripts.inc @@ -9,7 +9,7 @@ BattleFrontier_OutsideEast_MapScript1_242C0F: @ 8242C0F end BattleFrontier_OutsideEast_EventScript_242C19:: @ 8242C19 - specialvar VAR_RESULT, sub_8138B80 + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 7 goto_if 5, BattleFrontier_OutsideEast_EventScript_27374E removeobject VAR_LAST_TALKED @@ -134,7 +134,7 @@ BattleFrontier_OutsideEast_EventScript_242CFC:: @ 8242CFC setflag FLAG_SYS_CTRL_OBJ_DELETE dowildbattle clearflag FLAG_SYS_CTRL_OBJ_DELETE - specialvar VAR_RESULT, sub_8138B80 + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 1 goto_eq BattleFrontier_OutsideEast_EventScript_242D60 compare VAR_RESULT, 4 diff --git a/data/maps/BirthIsland_Exterior/scripts.inc b/data/maps/BirthIsland_Exterior/scripts.inc index b2427e95da..787230c603 100644 --- a/data/maps/BirthIsland_Exterior/scripts.inc +++ b/data/maps/BirthIsland_Exterior/scripts.inc @@ -37,7 +37,7 @@ BirthIsland_Exterior_MapScript1_267F65: @ 8267F65 end BirthIsland_Exterior_EventScript_267F6F:: @ 8267F6F - specialvar VAR_RESULT, sub_8138B80 + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 7 goto_if 5, BirthIsland_Exterior_EventScript_27374E removeobject 2 @@ -91,7 +91,7 @@ BirthIsland_Exterior_EventScript_267FC1:: @ 8267FC1 special BattleSetup_StartLegendaryBattle waitstate clearflag FLAG_SYS_CTRL_OBJ_DELETE - specialvar VAR_RESULT, sub_8138B80 + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 1 goto_eq BirthIsland_Exterior_EventScript_26803B compare VAR_RESULT, 4 diff --git a/data/maps/DesertRuins/scripts.inc b/data/maps/DesertRuins/scripts.inc index 9137902f2c..45d192c806 100644 --- a/data/maps/DesertRuins/scripts.inc +++ b/data/maps/DesertRuins/scripts.inc @@ -10,7 +10,7 @@ DesertRuins_MapScript1_22D96B: @ 822D96B end DesertRuins_EventScript_22D975:: @ 822D975 - specialvar VAR_RESULT, sub_8138B80 + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 7 goto_if 5, DesertRuins_EventScript_27374E removeobject VAR_LAST_TALKED @@ -75,7 +75,7 @@ DesertRuins_EventScript_22DA02:: @ 822DA02 special StartRegiBattle waitstate clearflag FLAG_SYS_CTRL_OBJ_DELETE - specialvar VAR_RESULT, sub_8138B80 + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 1 goto_eq DesertRuins_EventScript_22DA49 compare VAR_RESULT, 4 diff --git a/data/maps/FarawayIsland_Interior/scripts.inc b/data/maps/FarawayIsland_Interior/scripts.inc index e7d67431d5..70e41b42d6 100644 --- a/data/maps/FarawayIsland_Interior/scripts.inc +++ b/data/maps/FarawayIsland_Interior/scripts.inc @@ -11,7 +11,7 @@ FarawayIsland_Interior_MapScript1_267D0F: @ 8267D0F end FarawayIsland_Interior_EventScript_267D19:: @ 8267D19 - specialvar VAR_RESULT, sub_8138B80 + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 1 goto_eq FarawayIsland_Interior_EventScript_267D4B compare VAR_RESULT, 4 @@ -33,7 +33,7 @@ FarawayIsland_Interior_MapScript1_267D54: @ 8267D54 end FarawayIsland_Interior_EventScript_267D5E:: @ 8267D5E - specialvar VAR_RESULT, sub_8138B80 + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 7 goto_if 5, FarawayIsland_Interior_EventScript_27374E removeobject VAR_LAST_TALKED @@ -148,7 +148,7 @@ FarawayIsland_Interior_EventScript_267DF2:: @ 8267DF2 special BattleSetup_StartLegendaryBattle waitstate clearflag FLAG_SYS_CTRL_OBJ_DELETE - specialvar VAR_RESULT, sub_8138B80 + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 1 goto_eq FarawayIsland_Interior_EventScript_267E96 compare VAR_RESULT, 4 diff --git a/data/maps/IslandCave/scripts.inc b/data/maps/IslandCave/scripts.inc index a96d139023..b00b41d401 100644 --- a/data/maps/IslandCave/scripts.inc +++ b/data/maps/IslandCave/scripts.inc @@ -10,7 +10,7 @@ IslandCave_MapScript1_238E3A: @ 8238E3A end IslandCave_EventScript_238E44:: @ 8238E44 - specialvar VAR_RESULT, sub_8138B80 + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 7 goto_if 5, IslandCave_EventScript_27374E removeobject VAR_LAST_TALKED @@ -107,7 +107,7 @@ IslandCave_EventScript_238F58:: @ 8238F58 special StartRegiBattle waitstate clearflag FLAG_SYS_CTRL_OBJ_DELETE - specialvar VAR_RESULT, sub_8138B80 + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 1 goto_eq IslandCave_EventScript_238F9F compare VAR_RESULT, 4 diff --git a/data/maps/LilycoveCity/scripts.inc b/data/maps/LilycoveCity/scripts.inc index 87a1296200..70018b229b 100644 --- a/data/maps/LilycoveCity/scripts.inc +++ b/data/maps/LilycoveCity/scripts.inc @@ -255,7 +255,7 @@ LilycoveCity_EventScript_1E2DF8:: @ 81E2DF8 compare VAR_RESULT, 0 goto_eq LilycoveCity_EventScript_1E2E5A msgbox LilycoveCity_Text_1E3234, 4 - switch VAR_FIRST_POKE + switch VAR_STARTER_MON case 0, LilycoveCity_EventScript_1E2EDE case 1, LilycoveCity_EventScript_1E2EEE case 2, LilycoveCity_EventScript_1E2EFE @@ -286,7 +286,7 @@ LilycoveCity_EventScript_1E2E6B:: @ 81E2E6B compare VAR_RESULT, 0 goto_eq LilycoveCity_EventScript_1E2ECD msgbox LilycoveCity_Text_1E373C, 4 - switch VAR_FIRST_POKE + switch VAR_STARTER_MON case 0, LilycoveCity_EventScript_1E2F0E case 1, LilycoveCity_EventScript_1E2F1E case 2, LilycoveCity_EventScript_1E2F2E diff --git a/data/maps/LilycoveCity_DepartmentStoreElevator/scripts.inc b/data/maps/LilycoveCity_DepartmentStoreElevator/scripts.inc index 2347519104..cc1b51ea40 100644 --- a/data/maps/LilycoveCity_DepartmentStoreElevator/scripts.inc +++ b/data/maps/LilycoveCity_DepartmentStoreElevator/scripts.inc @@ -124,6 +124,6 @@ LilycoveCity_DepartmentStoreElevator_EventScript_2207E5:: @ 82207E5 return LilycoveCity_DepartmentStoreElevator_EventScript_2207FC:: @ 82207FC - special sub_8139994 + special SetDepartmentStoreFloorVar return diff --git a/data/maps/LilycoveCity_DepartmentStore_1F/scripts.inc b/data/maps/LilycoveCity_DepartmentStore_1F/scripts.inc index 8de2d5d6f6..4a375cf5ec 100644 --- a/data/maps/LilycoveCity_DepartmentStore_1F/scripts.inc +++ b/data/maps/LilycoveCity_DepartmentStore_1F/scripts.inc @@ -21,7 +21,7 @@ LilycoveCity_DepartmentStore_1F_EventScript_21F69C:: @ 821F69C waitmessage special RetrieveLotteryNumber copyvar VAR_0x8008, VAR_RESULT - special sub_81397C4 + special BufferLottoTicketNumber msgbox LilycoveCity_DepartmentStore_1F_Text_2A650B, 4 applymovement 2, LilycoveCity_DepartmentStore_1F_Movement_2725A8 waitmovement 0 diff --git a/data/maps/LilycoveCity_Harbor/scripts.inc b/data/maps/LilycoveCity_Harbor/scripts.inc index 1dfd9c29aa..99ad202800 100644 --- a/data/maps/LilycoveCity_Harbor/scripts.inc +++ b/data/maps/LilycoveCity_Harbor/scripts.inc @@ -89,7 +89,7 @@ LilycoveCity_Harbor_EventScript_21E149:: @ 821E149 msgbox LilycoveCity_Harbor_Text_21E864, 5 compare VAR_RESULT, 0 goto_eq LilycoveCity_Harbor_EventScript_21E5C0 - setvar VAR_PORTHOLE, 5 + setvar VAR_PORTHOLE_STATE, 5 call LilycoveCity_Harbor_EventScript_21E5CC warp MAP_SS_TIDAL_CORRIDOR, 255, 1, 10 waitstate @@ -398,7 +398,7 @@ LilycoveCity_Harbor_EventScript_21E575:: @ 821E575 msgbox LilycoveCity_Harbor_Text_21E864, 5 compare VAR_RESULT, 0 goto_eq LilycoveCity_Harbor_EventScript_21E5C0 - setvar VAR_PORTHOLE, 5 + setvar VAR_PORTHOLE_STATE, 5 call LilycoveCity_Harbor_EventScript_21E5CC warp MAP_SS_TIDAL_CORRIDOR, 255, 1, 10 waitstate diff --git a/data/maps/MarineCave_End/scripts.inc b/data/maps/MarineCave_End/scripts.inc index 9c821e14fb..d6b4bbd8d8 100644 --- a/data/maps/MarineCave_End/scripts.inc +++ b/data/maps/MarineCave_End/scripts.inc @@ -9,7 +9,7 @@ MarineCave_End_MapScript1_23AFEA: @ 823AFEA end MarineCave_End_EventScript_23AFF4:: @ 823AFF4 - specialvar VAR_RESULT, sub_8138B80 + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 7 goto_if 5, MarineCave_End_EventScript_27374E removeobject 1 @@ -42,7 +42,7 @@ MarineCave_End_EventScript_23B01B:: @ 823B01B waitstate clearflag FLAG_SYS_CTRL_OBJ_DELETE setvar VAR_TEMP_1, 0 - specialvar VAR_RESULT, sub_8138B80 + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 1 goto_eq MarineCave_End_EventScript_23B084 compare VAR_RESULT, 4 diff --git a/data/maps/MauvilleCity_GameCorner/scripts.inc b/data/maps/MauvilleCity_GameCorner/scripts.inc index 400a24c249..733581b740 100644 --- a/data/maps/MauvilleCity_GameCorner/scripts.inc +++ b/data/maps/MauvilleCity_GameCorner/scripts.inc @@ -409,7 +409,7 @@ MauvilleCity_GameCorner_EventScript_210137:: @ 8210137 msgbox MauvilleCity_GameCorner_Text_210750, 5 compare VAR_RESULT, 0 goto_eq MauvilleCity_GameCorner_EventScript_210209 - switch VAR_FIRST_POKE + switch VAR_STARTER_MON case 0, MauvilleCity_GameCorner_EventScript_21017C case 1, MauvilleCity_GameCorner_EventScript_2101A6 case 2, MauvilleCity_GameCorner_EventScript_2101D0 @@ -540,7 +540,7 @@ MauvilleCity_GameCorner_EventScript_2102D6:: @ 82102D6 compare VAR_RESULT, 0 goto_eq MauvilleCity_GameCorner_EventScript_210456 setvar VAR_0x8004, 0 - specialvar VAR_RESULT, sub_8139248 + specialvar VAR_RESULT, GetSlotMachineId playslotmachine VAR_RESULT releaseall end @@ -551,7 +551,7 @@ MauvilleCity_GameCorner_EventScript_2102F6:: @ 82102F6 compare VAR_RESULT, 0 goto_eq MauvilleCity_GameCorner_EventScript_210456 setvar VAR_0x8004, 1 - specialvar VAR_RESULT, sub_8139248 + specialvar VAR_RESULT, GetSlotMachineId playslotmachine VAR_RESULT releaseall end @@ -562,7 +562,7 @@ MauvilleCity_GameCorner_EventScript_210316:: @ 8210316 compare VAR_RESULT, 0 goto_eq MauvilleCity_GameCorner_EventScript_210456 setvar VAR_0x8004, 2 - specialvar VAR_RESULT, sub_8139248 + specialvar VAR_RESULT, GetSlotMachineId playslotmachine VAR_RESULT releaseall end @@ -573,7 +573,7 @@ MauvilleCity_GameCorner_EventScript_210336:: @ 8210336 compare VAR_RESULT, 0 goto_eq MauvilleCity_GameCorner_EventScript_210456 setvar VAR_0x8004, 3 - specialvar VAR_RESULT, sub_8139248 + specialvar VAR_RESULT, GetSlotMachineId playslotmachine VAR_RESULT releaseall end @@ -584,7 +584,7 @@ MauvilleCity_GameCorner_EventScript_210356:: @ 8210356 compare VAR_RESULT, 0 goto_eq MauvilleCity_GameCorner_EventScript_210456 setvar VAR_0x8004, 4 - specialvar VAR_RESULT, sub_8139248 + specialvar VAR_RESULT, GetSlotMachineId playslotmachine VAR_RESULT releaseall end @@ -595,7 +595,7 @@ MauvilleCity_GameCorner_EventScript_210376:: @ 8210376 compare VAR_RESULT, 0 goto_eq MauvilleCity_GameCorner_EventScript_210456 setvar VAR_0x8004, 5 - specialvar VAR_RESULT, sub_8139248 + specialvar VAR_RESULT, GetSlotMachineId playslotmachine VAR_RESULT releaseall end @@ -606,7 +606,7 @@ MauvilleCity_GameCorner_EventScript_210396:: @ 8210396 compare VAR_RESULT, 0 goto_eq MauvilleCity_GameCorner_EventScript_210456 setvar VAR_0x8004, 6 - specialvar VAR_RESULT, sub_8139248 + specialvar VAR_RESULT, GetSlotMachineId playslotmachine VAR_RESULT releaseall end @@ -617,7 +617,7 @@ MauvilleCity_GameCorner_EventScript_2103B6:: @ 82103B6 compare VAR_RESULT, 0 goto_eq MauvilleCity_GameCorner_EventScript_210456 setvar VAR_0x8004, 7 - specialvar VAR_RESULT, sub_8139248 + specialvar VAR_RESULT, GetSlotMachineId playslotmachine VAR_RESULT releaseall end @@ -628,7 +628,7 @@ MauvilleCity_GameCorner_EventScript_2103D6:: @ 82103D6 compare VAR_RESULT, 0 goto_eq MauvilleCity_GameCorner_EventScript_210456 setvar VAR_0x8004, 8 - specialvar VAR_RESULT, sub_8139248 + specialvar VAR_RESULT, GetSlotMachineId playslotmachine VAR_RESULT releaseall end @@ -639,7 +639,7 @@ MauvilleCity_GameCorner_EventScript_2103F6:: @ 82103F6 compare VAR_RESULT, 0 goto_eq MauvilleCity_GameCorner_EventScript_210456 setvar VAR_0x8004, 9 - specialvar VAR_RESULT, sub_8139248 + specialvar VAR_RESULT, GetSlotMachineId playslotmachine VAR_RESULT releaseall end @@ -650,7 +650,7 @@ MauvilleCity_GameCorner_EventScript_210416:: @ 8210416 compare VAR_RESULT, 0 goto_eq MauvilleCity_GameCorner_EventScript_210456 setvar VAR_0x8004, 10 - specialvar VAR_RESULT, sub_8139248 + specialvar VAR_RESULT, GetSlotMachineId playslotmachine VAR_RESULT releaseall end @@ -661,7 +661,7 @@ MauvilleCity_GameCorner_EventScript_210436:: @ 8210436 compare VAR_RESULT, 0 goto_eq MauvilleCity_GameCorner_EventScript_210456 setvar VAR_0x8004, 11 - specialvar VAR_RESULT, sub_8139248 + specialvar VAR_RESULT, GetSlotMachineId playslotmachine VAR_RESULT releaseall end diff --git a/data/maps/NavelRock_Bottom/scripts.inc b/data/maps/NavelRock_Bottom/scripts.inc index cce93e6242..febe106bf9 100644 --- a/data/maps/NavelRock_Bottom/scripts.inc +++ b/data/maps/NavelRock_Bottom/scripts.inc @@ -26,7 +26,7 @@ NavelRock_Bottom_MapScript1_269284: @ 8269284 end NavelRock_Bottom_EventScript_26928E:: @ 826928E - specialvar VAR_RESULT, sub_8138B80 + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 7 goto_if 5, NavelRock_Bottom_EventScript_27374E removeobject 1 @@ -64,7 +64,7 @@ NavelRock_Bottom_EventScript_2692A2:: @ 82692A2 special BattleSetup_StartLegendaryBattle waitstate clearflag FLAG_SYS_CTRL_OBJ_DELETE - specialvar VAR_RESULT, sub_8138B80 + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 1 goto_eq NavelRock_Bottom_EventScript_269336 compare VAR_RESULT, 4 diff --git a/data/maps/NavelRock_Top/scripts.inc b/data/maps/NavelRock_Top/scripts.inc index 67ddbc373e..4310529dd8 100644 --- a/data/maps/NavelRock_Top/scripts.inc +++ b/data/maps/NavelRock_Top/scripts.inc @@ -29,7 +29,7 @@ NavelRock_Top_MapScript1_269151: @ 8269151 end NavelRock_Top_EventScript_26915B:: @ 826915B - specialvar VAR_RESULT, sub_8138B80 + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 7 goto_if 5, NavelRock_Top_EventScript_27374E removeobject 1 @@ -69,7 +69,7 @@ NavelRock_Top_EventScript_26916F:: @ 826916F waitstate clearflag FLAG_SYS_CTRL_OBJ_DELETE setvar VAR_LAST_TALKED, 1 - specialvar VAR_RESULT, sub_8138B80 + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 1 goto_eq NavelRock_Top_EventScript_269217 compare VAR_RESULT, 4 diff --git a/data/maps/NewMauville_Inside/scripts.inc b/data/maps/NewMauville_Inside/scripts.inc index 81b21287d2..e6d80c33d8 100644 --- a/data/maps/NewMauville_Inside/scripts.inc +++ b/data/maps/NewMauville_Inside/scripts.inc @@ -14,7 +14,7 @@ NewMauville_Inside_MapScript1_2373E7: @ 82373E7 end NewMauville_Inside_EventScript_237407:: @ 8237407 - specialvar VAR_RESULT, sub_8138B80 + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 7 goto_if 5, NewMauville_Inside_EventScript_27374E removeobject VAR_LAST_TALKED @@ -193,7 +193,7 @@ NewMauville_Inside_EventScript_2377AF:: @ 82377AF setflag FLAG_SYS_CTRL_OBJ_DELETE dowildbattle clearflag FLAG_SYS_CTRL_OBJ_DELETE - specialvar VAR_RESULT, sub_8138B80 + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 1 goto_eq NewMauville_Inside_EventScript_2377F3 compare VAR_RESULT, 4 @@ -220,7 +220,7 @@ NewMauville_Inside_EventScript_2377FC:: @ 82377FC setflag FLAG_SYS_CTRL_OBJ_DELETE dowildbattle clearflag FLAG_SYS_CTRL_OBJ_DELETE - specialvar VAR_RESULT, sub_8138B80 + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 1 goto_eq NewMauville_Inside_EventScript_237840 compare VAR_RESULT, 4 @@ -247,7 +247,7 @@ NewMauville_Inside_EventScript_237849:: @ 8237849 setflag FLAG_SYS_CTRL_OBJ_DELETE dowildbattle clearflag FLAG_SYS_CTRL_OBJ_DELETE - specialvar VAR_RESULT, sub_8138B80 + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 1 goto_eq NewMauville_Inside_EventScript_23788D compare VAR_RESULT, 4 diff --git a/data/maps/PacifidlogTown_House2/scripts.inc b/data/maps/PacifidlogTown_House2/scripts.inc index 0e87677e62..21345242d8 100644 --- a/data/maps/PacifidlogTown_House2/scripts.inc +++ b/data/maps/PacifidlogTown_House2/scripts.inc @@ -25,7 +25,7 @@ PacifidlogTown_House2_EventScript_203792:: @ 8203792 PacifidlogTown_House2_EventScript_2037DE:: @ 82037DE checkflag FLAG_0x12B goto_if 0, PacifidlogTown_House2_EventScript_27374E - specialvar VAR_RESULT, sub_813970C + specialvar VAR_RESULT, GetDaysUntilPacifidlogTMAvailable compare VAR_RESULT, 0 call_if 1, PacifidlogTown_House2_EventScript_203812 return @@ -49,7 +49,7 @@ PacifidlogTown_House2_EventScript_203816:: @ 8203816 compare VAR_RESULT, 0 goto_eq PacifidlogTown_House2_EventScript_272054 setflag FLAG_0x12B - special sub_8139754 + special SetPacifidlogTMReceivedDay msgbox PacifidlogTown_House2_Text_203A85, 4 release end @@ -65,13 +65,13 @@ PacifidlogTown_House2_EventScript_20384F:: @ 820384F compare VAR_RESULT, 0 goto_eq PacifidlogTown_House2_EventScript_272054 setflag FLAG_0x12B - special sub_8139754 + special SetPacifidlogTMReceivedDay msgbox PacifidlogTown_House2_Text_203A85, 4 release end PacifidlogTown_House2_EventScript_20387E:: @ 820387E - specialvar VAR_RESULT, sub_813970C + specialvar VAR_RESULT, GetDaysUntilPacifidlogTMAvailable buffernumberstring 0, VAR_RESULT msgbox PacifidlogTown_House2_Text_203AF4, 4 release diff --git a/data/maps/PetalburgCity_PokemonCenter_1F/scripts.inc b/data/maps/PetalburgCity_PokemonCenter_1F/scripts.inc index f4a31854e8..fabc1f5a44 100644 --- a/data/maps/PetalburgCity_PokemonCenter_1F/scripts.inc +++ b/data/maps/PetalburgCity_PokemonCenter_1F/scripts.inc @@ -35,11 +35,11 @@ PetalburgCity_PokemonCenter_1F_EventScript_207A1C:: @ 8207A1C end PetalburgCity_PokemonCenter_1F_EventScript_207A38:: @ 8207A38 - compare VAR_FIRST_POKE, 0 + compare VAR_STARTER_MON, 0 call_if 1, PetalburgCity_PokemonCenter_1F_EventScript_207A5B - compare VAR_FIRST_POKE, 1 + compare VAR_STARTER_MON, 1 call_if 1, PetalburgCity_PokemonCenter_1F_EventScript_207A64 - compare VAR_FIRST_POKE, 2 + compare VAR_STARTER_MON, 2 call_if 1, PetalburgCity_PokemonCenter_1F_EventScript_207A6D release end diff --git a/data/maps/Route103/scripts.inc b/data/maps/Route103/scripts.inc index 14e119cd64..6674662f70 100644 --- a/data/maps/Route103/scripts.inc +++ b/data/maps/Route103/scripts.inc @@ -38,7 +38,7 @@ Route103_EventScript_1EC3DA:: @ 81EC3DA applymovement 2, Route103_Movement_27259A waitmovement 0 msgbox Route103_Text_1EC7DE, 4 - switch VAR_FIRST_POKE + switch VAR_STARTER_MON case 0, Route103_EventScript_1EC48E case 1, Route103_EventScript_1EC49E case 2, Route103_EventScript_1EC4AE @@ -55,7 +55,7 @@ Route103_EventScript_1EC434:: @ 81EC434 applymovement 2, Route103_Movement_27259A waitmovement 0 msgbox Route103_Text_1EC9CE, 4 - switch VAR_FIRST_POKE + switch VAR_STARTER_MON case 0, Route103_EventScript_1EC4BE case 1, Route103_EventScript_1EC4CE case 2, Route103_EventScript_1EC4DE diff --git a/data/maps/Route104/scripts.inc b/data/maps/Route104/scripts.inc index 4755494b6b..9b45844f0b 100644 --- a/data/maps/Route104/scripts.inc +++ b/data/maps/Route104/scripts.inc @@ -153,7 +153,7 @@ Route104_EventScript_1ECDD0:: @ 81ECDD0 Route104_EventScript_1ECDED:: @ 81ECDED msgbox Route104_Text_1EDDDB, 4 - switch VAR_FIRST_POKE + switch VAR_STARTER_MON case 0, Route104_EventScript_1ECE36 case 1, Route104_EventScript_1ECE49 case 2, Route104_EventScript_1ECE5C @@ -230,7 +230,7 @@ Route104_EventScript_1ECEEC:: @ 81ECEEC Route104_EventScript_1ECF09:: @ 81ECF09 msgbox Route104_Text_1EE0C7, 4 - switch VAR_FIRST_POKE + switch VAR_STARTER_MON case 0, Route104_EventScript_1ECF4D case 1, Route104_EventScript_1ECF60 case 2, Route104_EventScript_1ECF73 diff --git a/data/maps/Route110/events.inc b/data/maps/Route110/events.inc index 6e6d17d9a8..f4875cc6c4 100644 --- a/data/maps/Route110/events.inc +++ b/data/maps/Route110/events.inc @@ -45,8 +45,8 @@ Route110_MapWarps: @ 8529050 warp_def 19, 88, 0, 2, MAP_ROUTE110_SEASIDE_CYCLING_ROAD_NORTH_ENTRANCE Route110_MapCoordEvents: @ 8529080 - coord_event 28, 92, 3, VAR_0x40A9, 2, Route110_EventScript_1EF661 - coord_event 29, 92, 3, VAR_0x40A9, 2, Route110_EventScript_1EF661 + coord_event 28, 92, 3, VAR_CYCLING_CHALLENGE_STATE, 2, Route110_EventScript_1EF661 + coord_event 29, 92, 3, VAR_CYCLING_CHALLENGE_STATE, 2, Route110_EventScript_1EF661 coord_event 33, 56, 3, VAR_0x4069, 0, Route110_EventScript_1EF74D coord_event 34, 56, 3, VAR_0x4069, 0, Route110_EventScript_1EF758 coord_event 35, 56, 3, VAR_0x4069, 0, Route110_EventScript_1EF763 diff --git a/data/maps/Route110/scripts.inc b/data/maps/Route110/scripts.inc index 84d50b4540..fe07de8dc0 100644 --- a/data/maps/Route110/scripts.inc +++ b/data/maps/Route110/scripts.inc @@ -11,7 +11,7 @@ Route110_MapScript1_1EF279: @ 81EF279 Route110_MapScript1_1EF27D: @ 81EF27D call Route110_EventScript_271ED7 call Route110_EventScript_271EFB - compare VAR_0x40A9, 1 + compare VAR_CYCLING_CHALLENGE_STATE, 1 call_if 1, Route110_EventScript_1EF293 end @@ -20,12 +20,12 @@ Route110_EventScript_1EF293:: @ 81EF293 return Route110_MapScript2_1EF297: @ 81EF297 - map_script_2 VAR_0x40A9, 1, Route110_EventScript_1EF2A1 + map_script_2 VAR_CYCLING_CHALLENGE_STATE, 1, Route110_EventScript_1EF2A1 .2byte 0 Route110_EventScript_1EF2A1:: @ 81EF2A1 special Special_BeginCyclingRoadChallenge - setvar VAR_0x40A9, 2 + setvar VAR_CYCLING_CHALLENGE_STATE, 2 return Route110_EventScript_1EF2AA:: @ 81EF2AA @@ -148,7 +148,7 @@ Route110_EventScript_1EF3B7:: @ 81EF3B7 specialvar VAR_RESULT, GetPlayerAvatarBike compare VAR_RESULT, 1 goto_eq Route110_EventScript_1EF3E8 - compare VAR_0x40A9, 0 + compare VAR_CYCLING_CHALLENGE_STATE, 0 goto_eq Route110_EventScript_1EF3DE msgbox Route110_Text_1F06FB, 4 release @@ -368,7 +368,7 @@ Route110_EventScript_1EF735:: @ 81EF735 end Route110_EventScript_1EF743:: @ 81EF743 - setvar VAR_0x40A9, 3 + setvar VAR_CYCLING_CHALLENGE_STATE, 3 savebgm MUS_DUMMY fadedefaultbgm return @@ -426,7 +426,7 @@ Route110_EventScript_1EF7E6:: @ 81EF7E6 Route110_EventScript_1EF7EB:: @ 81EF7EB msgbox Route110_Text_1EFC48, 4 - switch VAR_FIRST_POKE + switch VAR_STARTER_MON case 0, Route110_EventScript_1EF81A case 1, Route110_EventScript_1EF82A case 2, Route110_EventScript_1EF83A @@ -456,7 +456,7 @@ Route110_EventScript_1EF84A:: @ 81EF84A Route110_EventScript_1EF865:: @ 81EF865 msgbox Route110_Text_1EFE3F, 4 - switch VAR_FIRST_POKE + switch VAR_STARTER_MON case 0, Route110_EventScript_1EF894 case 1, Route110_EventScript_1EF8A4 case 2, Route110_EventScript_1EF8B4 diff --git a/data/maps/Route110_SeasideCyclingRoadSouthEntrance/scripts.inc b/data/maps/Route110_SeasideCyclingRoadSouthEntrance/scripts.inc index 9f99cf44f3..b38bbf896f 100644 --- a/data/maps/Route110_SeasideCyclingRoadSouthEntrance/scripts.inc +++ b/data/maps/Route110_SeasideCyclingRoadSouthEntrance/scripts.inc @@ -3,14 +3,14 @@ Route110_SeasideCyclingRoadSouthEntrance_MapScripts:: @ 826EBA1 .byte 0 Route110_SeasideCyclingRoadSouthEntrance_MapScript1_26EBA7: @ 826EBA7 - compare VAR_0x40A9, 3 + compare VAR_CYCLING_CHALLENGE_STATE, 3 call_if 1, Route110_SeasideCyclingRoadSouthEntrance_EventScript_26EBBE - compare VAR_0x40A9, 2 + compare VAR_CYCLING_CHALLENGE_STATE, 2 call_if 1, Route110_SeasideCyclingRoadSouthEntrance_EventScript_26EBBE end Route110_SeasideCyclingRoadSouthEntrance_EventScript_26EBBE:: @ 826EBBE - setvar VAR_0x40A9, 1 + setvar VAR_CYCLING_CHALLENGE_STATE, 1 return Route110_SeasideCyclingRoadSouthEntrance_EventScript_26EBC4:: @ 826EBC4 @@ -33,7 +33,7 @@ Route110_SeasideCyclingRoadSouthEntrance_EventScript_26EBD0:: @ 826EBD0 end Route110_SeasideCyclingRoadSouthEntrance_EventScript_26EBF6:: @ 826EBF6 - setvar VAR_0x40A9, 1 + setvar VAR_CYCLING_CHALLENGE_STATE, 1 return Route110_SeasideCyclingRoadSouthEntrance_EventScript_26EBFC:: @ 826EBFC @@ -50,7 +50,7 @@ Route110_SeasideCyclingRoadSouthEntrance_Movement_26EC11: @ 826EC11 Route110_SeasideCyclingRoadSouthEntrance_EventScript_26EC13:: @ 826EC13 lockall - setvar VAR_0x40A9, 0 + setvar VAR_CYCLING_CHALLENGE_STATE, 0 clearflag FLAG_SYS_CYCLING_ROAD setvar VAR_TEMP_1, 0 releaseall diff --git a/data/maps/Route116/scripts.inc b/data/maps/Route116/scripts.inc index 854411ac1f..769d254a5e 100644 --- a/data/maps/Route116/scripts.inc +++ b/data/maps/Route116/scripts.inc @@ -169,7 +169,7 @@ Route116_EventScript_1F2DB6:: @ 81F2DB6 checkitem ITEM_BLACK_GLASSES, 1 compare VAR_RESULT, 1 goto_eq Route116_EventScript_1F2DF1 - specialvar VAR_RESULT, sub_8139634 + specialvar VAR_RESULT, FoundBlackGlasses compare VAR_RESULT, 1 goto_eq Route116_EventScript_1F2DE2 msgbox Route116_Text_1F3657, 4 @@ -185,7 +185,7 @@ Route116_EventScript_1F2DE2:: @ 81F2DE2 Route116_EventScript_1F2DF1:: @ 81F2DF1 msgbox Route116_Text_1F3657, 4 msgbox Route116_Text_1F3688, 4 - specialvar VAR_RESULT, sub_8139634 + specialvar VAR_RESULT, FoundBlackGlasses compare VAR_RESULT, 1 goto_eq Route116_EventScript_1F2E1B msgbox Route116_Text_1F375E, 4 diff --git a/data/maps/Route116_TunnelersRestHouse/scripts.inc b/data/maps/Route116_TunnelersRestHouse/scripts.inc index f9dbbd3f25..b2c0093378 100644 --- a/data/maps/Route116_TunnelersRestHouse/scripts.inc +++ b/data/maps/Route116_TunnelersRestHouse/scripts.inc @@ -17,7 +17,7 @@ Route116_TunnelersRestHouse_EventScript_22B863:: @ 822B863 Route116_TunnelersRestHouse_EventScript_22B86C:: @ 822B86C lock faceplayer - checkflag FLAG_0x0C7 + checkflag FLAG_RUSTURF_TUNNEL_OPENED goto_eq Route116_TunnelersRestHouse_EventScript_22B881 msgbox Route116_TunnelersRestHouse_Text_22BAAF, 4 release diff --git a/data/maps/Route119/scripts.inc b/data/maps/Route119/scripts.inc index 778d925e64..f2e52d50ce 100644 --- a/data/maps/Route119/scripts.inc +++ b/data/maps/Route119/scripts.inc @@ -9,7 +9,7 @@ Route119_MapScript1_1F442F: @ 81F442F end Route119_EventScript_1F4439:: @ 81F4439 - specialvar VAR_RESULT, sub_8138B80 + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 7 goto_if 5, Route119_EventScript_27374E removeobject VAR_LAST_TALKED @@ -80,7 +80,7 @@ Route119_EventScript_1F4506:: @ 81F4506 Route119_EventScript_1F450B:: @ 81F450B msgbox Route119_Text_1F49FD, 4 - switch VAR_FIRST_POKE + switch VAR_STARTER_MON case 0, Route119_EventScript_1F453A case 1, Route119_EventScript_1F454A case 2, Route119_EventScript_1F455A @@ -110,7 +110,7 @@ Route119_EventScript_1F456A:: @ 81F456A Route119_EventScript_1F4585:: @ 81F4585 msgbox Route119_Text_1F4C9A, 4 - switch VAR_FIRST_POKE + switch VAR_STARTER_MON case 0, Route119_EventScript_1F45B4 case 1, Route119_EventScript_1F45C4 case 2, Route119_EventScript_1F45D4 diff --git a/data/maps/Route120/scripts.inc b/data/maps/Route120/scripts.inc index 50e5742d1e..0bcff1a935 100644 --- a/data/maps/Route120/scripts.inc +++ b/data/maps/Route120/scripts.inc @@ -25,7 +25,7 @@ Route120_EventScript_1F5406:: @ 81F5406 return Route120_EventScript_1F5449:: @ 81F5449 - specialvar VAR_RESULT, sub_8138B80 + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 7 goto_if 5, Route120_EventScript_27374E removeobject 30 @@ -33,7 +33,7 @@ Route120_EventScript_1F5449:: @ 81F5449 return Route120_EventScript_1F5460:: @ 81F5460 - specialvar VAR_RESULT, sub_8138B80 + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 7 goto_if 5, Route120_EventScript_27374E removeobject VAR_LAST_TALKED @@ -220,7 +220,7 @@ Route120_EventScript_1F568B:: @ 81F568B setflag FLAG_SYS_CTRL_OBJ_DELETE dowildbattle clearflag FLAG_SYS_CTRL_OBJ_DELETE - specialvar VAR_RESULT, sub_8138B80 + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 1 goto_eq Route120_EventScript_1F571C compare VAR_RESULT, 4 diff --git a/data/maps/RustboroCity/scripts.inc b/data/maps/RustboroCity/scripts.inc index 6eb8d48bc9..f4c8d5434b 100644 --- a/data/maps/RustboroCity/scripts.inc +++ b/data/maps/RustboroCity/scripts.inc @@ -306,7 +306,7 @@ RustboroCity_EventScript_1E09CD:: @ 81E09CD clearflag FLAG_0x2DC setflag FLAG_0x08E setvar VAR_0x405A, 2 - setvar VAR_0x409A, 2 + setvar VAR_RUSTURF_TUNNEL_STATE, 2 setvar VAR_0x406F, 1 clearflag FLAG_0x37B clearflag FLAG_0x370 @@ -869,7 +869,7 @@ RustboroCity_EventScript_1E1070:: @ 81E1070 RustboroCity_EventScript_1E1092:: @ 81E1092 msgbox RustboroCity_Text_1E1C84, 4 - switch VAR_FIRST_POKE + switch VAR_STARTER_MON case 0, RustboroCity_EventScript_1E10DB case 1, RustboroCity_EventScript_1E10EE case 2, RustboroCity_EventScript_1E1101 @@ -940,7 +940,7 @@ RustboroCity_EventScript_1E1174:: @ 81E1174 RustboroCity_EventScript_1E1191:: @ 81E1191 msgbox RustboroCity_Text_1E1FA9, 4 - switch VAR_FIRST_POKE + switch VAR_STARTER_MON case 0, RustboroCity_EventScript_1E11D5 case 1, RustboroCity_EventScript_1E11E8 case 2, RustboroCity_EventScript_1E11FB diff --git a/data/maps/RusturfTunnel/events.inc b/data/maps/RusturfTunnel/events.inc index d0d56e6fa7..77b6f7a612 100644 --- a/data/maps/RusturfTunnel/events.inc +++ b/data/maps/RusturfTunnel/events.inc @@ -17,8 +17,8 @@ RusturfTunnel_MapWarps: @ 85342B4 RusturfTunnel_MapCoordEvents: @ 85342CC coord_event 23, 4, 3, 0, 0, RusturfTunnel_EventScript_22D071 - coord_event 9, 4, 3, VAR_0x409A, 2, RusturfTunnel_EventScript_22D083 - coord_event 9, 5, 3, VAR_0x409A, 2, RusturfTunnel_EventScript_22D083 + coord_event 9, 4, 3, VAR_RUSTURF_TUNNEL_STATE, 2, RusturfTunnel_EventScript_22D083 + coord_event 9, 5, 3, VAR_RUSTURF_TUNNEL_STATE, 2, RusturfTunnel_EventScript_22D083 coord_event 25, 4, 3, 0, 0, RusturfTunnel_EventScript_22D077 coord_event 25, 5, 3, 0, 0, RusturfTunnel_EventScript_22D07D diff --git a/data/maps/RusturfTunnel/scripts.inc b/data/maps/RusturfTunnel/scripts.inc index 5e42be78d2..33e87bda56 100644 --- a/data/maps/RusturfTunnel/scripts.inc +++ b/data/maps/RusturfTunnel/scripts.inc @@ -4,12 +4,12 @@ RusturfTunnel_MapScripts:: @ 822CE27 .byte 0 RusturfTunnel_MapScript2_22CE32: @ 822CE32 - map_script_2 VAR_0x409A, 4, RusturfTunnel_EventScript_22CEAE - map_script_2 VAR_0x409A, 5, RusturfTunnel_EventScript_22CEAE + map_script_2 VAR_RUSTURF_TUNNEL_STATE, 4, RusturfTunnel_EventScript_22CEAE + map_script_2 VAR_RUSTURF_TUNNEL_STATE, 5, RusturfTunnel_EventScript_22CEAE .2byte 0 RusturfTunnel_MapScript1_22CE44: @ 822CE44 - compare VAR_0x409A, 2 + compare VAR_RUSTURF_TUNNEL_STATE, 2 call_if 1, RusturfTunnel_EventScript_22CE50 end @@ -288,7 +288,7 @@ RusturfTunnel_EventScript_22D083:: @ 822D083 waitmovement 0 moveobjectoffscreen 6 moveobjectoffscreen 7 - setvar VAR_0x409A, 3 + setvar VAR_RUSTURF_TUNNEL_STATE, 3 releaseall end diff --git a/data/maps/SSTidalCorridor/scripts.inc b/data/maps/SSTidalCorridor/scripts.inc index 2e1b4cfa44..e046d02739 100644 --- a/data/maps/SSTidalCorridor/scripts.inc +++ b/data/maps/SSTidalCorridor/scripts.inc @@ -4,15 +4,15 @@ SSTidalCorridor_MapScripts:: @ 823BFCF SSTidalCorridor_MapScript2_23BFD5: @ 823BFD5 map_script_2 VAR_0x40D4, 0, SSTidalCorridor_EventScript_23C219 - map_script_2 VAR_PORTHOLE, 1, SSTidalCorridor_EventScript_23BFFF - map_script_2 VAR_PORTHOLE, 5, SSTidalCorridor_EventScript_23C015 - map_script_2 VAR_PORTHOLE, 9, SSTidalCorridor_EventScript_23C067 - map_script_2 VAR_PORTHOLE, 10, SSTidalCorridor_EventScript_23C07D + map_script_2 VAR_PORTHOLE_STATE, 1, SSTidalCorridor_EventScript_23BFFF + map_script_2 VAR_PORTHOLE_STATE, 5, SSTidalCorridor_EventScript_23C015 + map_script_2 VAR_PORTHOLE_STATE, 9, SSTidalCorridor_EventScript_23C067 + map_script_2 VAR_PORTHOLE_STATE, 10, SSTidalCorridor_EventScript_23C07D .2byte 0 SSTidalCorridor_EventScript_23BFFF:: @ 823BFFF special SetSSTidalFlag - setvar VAR_PORTHOLE, 2 + setvar VAR_PORTHOLE_STATE, 2 lockall playse SE_PINPON msgbox SSTidalCorridor_Text_23C462, 4 @@ -20,7 +20,7 @@ SSTidalCorridor_EventScript_23BFFF:: @ 823BFFF end SSTidalCorridor_EventScript_23C015:: @ 823C015 - setvar VAR_PORTHOLE, 6 + setvar VAR_PORTHOLE_STATE, 6 lockall playse SE_PINPON msgbox SSTidalCorridor_Text_23C4E3, 4 @@ -29,28 +29,28 @@ SSTidalCorridor_EventScript_23C015:: @ 823C015 SSTidalRooms_EventScript_23C028:: @ 823C028 special SetSSTidalFlag - setvar VAR_PORTHOLE, 7 + setvar VAR_PORTHOLE_STATE, 7 playse SE_PINPON msgbox SSTidalRooms_Text_23C462, 4 return SSTidalRooms_EventScript_23C03C:: @ 823C03C special ResetSSTidalFlag - setvar VAR_PORTHOLE, 4 + setvar VAR_PORTHOLE_STATE, 4 playse SE_PINPON msgbox SSTidalRooms_Text_23C553, 4 return SSTidalCorridor_EventScript_23C050:: @ 823C050 - compare VAR_PORTHOLE, 2 + compare VAR_PORTHOLE_STATE, 2 goto_eq SSTidalCorridor_EventScript_23C067 - compare VAR_PORTHOLE, 7 + compare VAR_PORTHOLE_STATE, 7 goto_eq SSTidalCorridor_EventScript_23C07D end SSTidalCorridor_EventScript_23C067:: @ 823C067 special ResetSSTidalFlag - setvar VAR_PORTHOLE, 3 + setvar VAR_PORTHOLE_STATE, 3 lockall playse SE_PINPON msgbox SSTidalCorridor_Text_23C4E3, 4 @@ -59,7 +59,7 @@ SSTidalCorridor_EventScript_23C067:: @ 823C067 SSTidalCorridor_EventScript_23C07D:: @ 823C07D special ResetSSTidalFlag - setvar VAR_PORTHOLE, 8 + setvar VAR_PORTHOLE_STATE, 8 lockall playse SE_PINPON msgbox SSTidalCorridor_Text_23C50F, 4 @@ -68,13 +68,13 @@ SSTidalCorridor_EventScript_23C07D:: @ 823C07D SSTidalRooms_EventScript_23C093:: @ 823C093 special ResetSSTidalFlag - setvar VAR_PORTHOLE, 8 + setvar VAR_PORTHOLE_STATE, 8 playse SE_PINPON msgbox SSTidalRooms_Text_23C50F, 4 return SSTidalRooms_EventScript_23C0A7:: @ 823C0A7 - switch VAR_PORTHOLE + switch VAR_PORTHOLE_STATE case 2, SSTidalRooms_EventScript_23C03C case 3, SSTidalRooms_EventScript_23C03C case 6, SSTidalRooms_EventScript_23C028 @@ -114,9 +114,9 @@ SSTidalCorridor_EventScript_23C110:: @ 823C110 SSTidalCorridor_EventScript_23C119:: @ 823C119 lock faceplayer - compare VAR_PORTHOLE, 4 + compare VAR_PORTHOLE_STATE, 4 goto_eq SSTidalCorridor_EventScript_23C13B - compare VAR_PORTHOLE, 8 + compare VAR_PORTHOLE_STATE, 8 goto_eq SSTidalCorridor_EventScript_23C15A msgbox SSTidalCorridor_Text_23C596, 4 release @@ -148,9 +148,9 @@ SSTidalCorridor_EventScript_23C179:: @ 823C179 SSTidalCorridor_EventScript_23C17D:: @ 823C17D lockall - compare VAR_PORTHOLE, 2 + compare VAR_PORTHOLE_STATE, 2 goto_eq SSTidalCorridor_EventScript_23C19E - compare VAR_PORTHOLE, 7 + compare VAR_PORTHOLE_STATE, 7 goto_eq SSTidalCorridor_EventScript_23C19E msgbox SSTidalCorridor_Text_23C6C3, 4 releaseall diff --git a/data/maps/SkyPillar_Top/scripts.inc b/data/maps/SkyPillar_Top/scripts.inc index 334acc8ac6..6904646989 100644 --- a/data/maps/SkyPillar_Top/scripts.inc +++ b/data/maps/SkyPillar_Top/scripts.inc @@ -10,7 +10,7 @@ SkyPillar_Top_MapScript1_2396C8: @ 82396C8 end SkyPillar_Top_EventScript_2396D2:: @ 82396D2 - specialvar VAR_RESULT, sub_8138B80 + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 7 goto_if 5, SkyPillar_Top_EventScript_27374E removeobject VAR_LAST_TALKED @@ -56,7 +56,7 @@ SkyPillar_Top_EventScript_239722:: @ 8239722 special BattleSetup_StartLegendaryBattle waitstate clearflag FLAG_SYS_CTRL_OBJ_DELETE - specialvar VAR_RESULT, sub_8138B80 + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 1 goto_eq SkyPillar_Top_EventScript_239768 compare VAR_RESULT, 4 diff --git a/data/maps/SlateportCity_Harbor/scripts.inc b/data/maps/SlateportCity_Harbor/scripts.inc index e1f373bb21..58c318d37d 100644 --- a/data/maps/SlateportCity_Harbor/scripts.inc +++ b/data/maps/SlateportCity_Harbor/scripts.inc @@ -203,7 +203,7 @@ SlateportCity_Harbor_EventScript_20CB92:: @ 820CB92 msgbox SlateportCity_Harbor_Text_20CF93, 5 compare VAR_RESULT, 0 goto_eq SlateportCity_Harbor_EventScript_20CBDD - setvar VAR_PORTHOLE, 1 + setvar VAR_PORTHOLE_STATE, 1 call SlateportCity_Harbor_EventScript_20CBE9 warp MAP_SS_TIDAL_CORRIDOR, 255, 1, 10 waitstate diff --git a/data/maps/SlateportCity_House1/scripts.inc b/data/maps/SlateportCity_House1/scripts.inc index 8ecc859f79..745cc66271 100644 --- a/data/maps/SlateportCity_House1/scripts.inc +++ b/data/maps/SlateportCity_House1/scripts.inc @@ -34,7 +34,7 @@ SlateportCity_House1_EventScript_209AF3:: @ 8209AF3 special TV_CheckMonOTIDEqualsPlayerID compare VAR_RESULT, 1 goto_eq SlateportCity_House1_EventScript_209B50 - specialvar VAR_RESULT, sub_8139770 + specialvar VAR_RESULT, MonOTNameMatchesPlayer special TV_CopyNicknameToStringVar1AndEnsureTerminated compare VAR_RESULT, 1 goto_eq SlateportCity_House1_EventScript_209B50 diff --git a/data/maps/SootopolisCity_MysteryEventsHouse_1F/scripts.inc b/data/maps/SootopolisCity_MysteryEventsHouse_1F/scripts.inc index cdcf5866ce..652ac791a8 100644 --- a/data/maps/SootopolisCity_MysteryEventsHouse_1F/scripts.inc +++ b/data/maps/SootopolisCity_MysteryEventsHouse_1F/scripts.inc @@ -91,7 +91,7 @@ SootopolisCity_MysteryEventsHouse_1F_EventScript_227A4E:: @ 8227A4E SootopolisCity_MysteryEventsHouse_1F_EventScript_227A58:: @ 8227A58 special SavePlayerParty - special sub_8139238 + special BufferEReaderTrainerName msgbox SootopolisCity_MysteryEventsHouse_1F_Text_227BFC, 5 compare VAR_RESULT, 0 goto_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_227AE2 diff --git a/data/maps/SouthernIsland_Interior/scripts.inc b/data/maps/SouthernIsland_Interior/scripts.inc index 432667cc96..3005e32d76 100644 --- a/data/maps/SouthernIsland_Interior/scripts.inc +++ b/data/maps/SouthernIsland_Interior/scripts.inc @@ -9,7 +9,7 @@ SouthernIsland_Interior_MapScript1_242A50: @ 8242A50 end SouthernIsland_Interior_EventScript_242A5A:: @ 8242A5A - specialvar VAR_RESULT, sub_8138B80 + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 7 goto_if 5, SouthernIsland_Interior_EventScript_27374E removeobject 2 @@ -90,7 +90,7 @@ SouthernIsland_Interior_EventScript_242AD0:: @ 8242AD0 special BattleSetup_StartLatiBattle waitstate clearflag FLAG_SYS_CTRL_OBJ_DELETE - specialvar VAR_RESULT, sub_8138B80 + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 1 goto_eq SouthernIsland_Interior_EventScript_242B81 compare VAR_RESULT, 4 diff --git a/data/maps/TerraCave_End/scripts.inc b/data/maps/TerraCave_End/scripts.inc index 5152f85cf1..d603f2274f 100644 --- a/data/maps/TerraCave_End/scripts.inc +++ b/data/maps/TerraCave_End/scripts.inc @@ -9,7 +9,7 @@ TerraCave_End_MapScript1_23B0BB: @ 823B0BB end TerraCave_End_EventScript_23B0C5:: @ 823B0C5 - specialvar VAR_RESULT, sub_8138B80 + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 7 goto_if 5, TerraCave_End_EventScript_27374E removeobject 1 @@ -42,7 +42,7 @@ TerraCave_End_EventScript_23B0EC:: @ 823B0EC waitstate clearflag FLAG_SYS_CTRL_OBJ_DELETE setvar VAR_TEMP_1, 0 - specialvar VAR_RESULT, sub_8138B80 + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 1 goto_eq TerraCave_End_EventScript_23B155 compare VAR_RESULT, 4 diff --git a/data/maps/VerdanturfTown/scripts.inc b/data/maps/VerdanturfTown/scripts.inc index 2987a9a595..8cc8f6f4d9 100644 --- a/data/maps/VerdanturfTown/scripts.inc +++ b/data/maps/VerdanturfTown/scripts.inc @@ -10,7 +10,7 @@ VerdanturfTown_MapScript1_1EB56C: @ 81EB56C VerdanturfTown_EventScript_1EB575:: @ 81EB575 lock faceplayer - checkflag FLAG_0x0C7 + checkflag FLAG_RUSTURF_TUNNEL_OPENED goto_eq VerdanturfTown_EventScript_1EB594 msgbox VerdanturfTown_Text_1EB5FD, 4 applymovement 2, VerdanturfTown_Movement_2725A2 @@ -36,7 +36,7 @@ VerdanturfTown_EventScript_1EB5B1:: @ 81EB5B1 VerdanturfTown_EventScript_1EB5BA:: @ 81EB5BA lock faceplayer - checkflag FLAG_0x0C7 + checkflag FLAG_RUSTURF_TUNNEL_OPENED goto_eq VerdanturfTown_EventScript_1EB5CF msgbox VerdanturfTown_Text_1EB854, 4 release diff --git a/data/maps/VerdanturfTown_WandasHouse/scripts.inc b/data/maps/VerdanturfTown_WandasHouse/scripts.inc index fabff64205..8184f4c21c 100644 --- a/data/maps/VerdanturfTown_WandasHouse/scripts.inc +++ b/data/maps/VerdanturfTown_WandasHouse/scripts.inc @@ -69,7 +69,7 @@ VerdanturfTown_WandasHouse_EventScript_20294E:: @ 820294E goto_eq VerdanturfTown_WandasHouse_EventScript_202989 checkflag FLAG_0x4F3 goto_eq VerdanturfTown_WandasHouse_EventScript_20297F - checkflag FLAG_0x0C7 + checkflag FLAG_RUSTURF_TUNNEL_OPENED goto_eq VerdanturfTown_WandasHouse_EventScript_202975 msgbox VerdanturfTown_WandasHouse_Text_202E47, 4 release diff --git a/data/scripts/field_move_scripts.inc b/data/scripts/field_move_scripts.inc index df25056ea0..d0936b9c12 100644 --- a/data/scripts/field_move_scripts.inc +++ b/data/scripts/field_move_scripts.inc @@ -113,7 +113,7 @@ Route111_EventScript_2907FB:: @ 82907FB applymovement VAR_LAST_TALKED, Route111_Movement_29082B waitmovement 0 removeobject VAR_LAST_TALKED - specialvar VAR_RESULT, sub_81393FC + specialvar VAR_RESULT, TryUpdateRusturfTunnelState compare VAR_RESULT, 1 goto_eq Route111_EventScript_290829 special RockSmashWildEncounter diff --git a/data/specials.inc b/data/specials.inc index 1020b1c803..43607cf6e2 100644 --- a/data/specials.inc +++ b/data/specials.inc @@ -191,7 +191,7 @@ gSpecials:: @ 81DBA64 def_special GabbyAndTyGetLastQuote def_special GabbyAndTyGetLastBattleTrivia def_special GabbyAndTySetScriptVarsToEventObjectLocalIds - def_special sub_8138B80 + def_special GetBattleOutcome def_special GetDaycareMonNicknames def_special GetDaycareState def_special RejectEggFromDayCare @@ -227,7 +227,7 @@ gSpecials:: @ 81DBA64 def_special ShowPokedexRatingMessage def_special DoPCTurnOnEffect def_special DoPCTurnOffEffect - def_special sub_8139994 + def_special SetDepartmentStoreFloorVar def_special DoLotteryCornerComputerEffect def_special EndLotteryCornerComputerEffect def_special sub_81B951C @@ -258,7 +258,7 @@ gSpecials:: @ 81DBA64 def_special sub_81B9D08 def_special sub_80F9490 def_special ValidateEReaderTrainer - def_special sub_8139228 + def_special GetBestBattleTowerStreak def_special sub_80F94E8 def_special BedroomPC def_special PlayerPC @@ -295,20 +295,20 @@ gSpecials:: @ 81DBA64 def_special sub_80B0534 def_special sub_80B058C def_special WaitWeather - def_special sub_8139238 - def_special sub_8139248 + def_special BufferEReaderTrainerName + def_special GetSlotMachineId def_special GetPlayerFacingDirection - def_special sub_81392AC - def_special sub_81392D4 - def_special sub_81392F8 - def_special sub_8139320 + def_special FoundAbandonedShipRoom1Key + def_special FoundAbandonedShipRoom2Key + def_special FoundAbandonedShipRoom4Key + def_special FoundAbandonedShipRoom6Key def_special LeadMonHasEffortRibbon def_special GiveLeadMonEffortRibbon def_special Special_AreLeadMonEVsMaxedOut def_special sub_8098574 def_special sub_809859C def_special InitRoamer - def_special sub_81393FC + def_special TryUpdateRusturfTunnelState def_special IsGrassTypeInParty def_special sub_80AFC60 def_special PutZigzagoonInPlayerParty @@ -326,7 +326,7 @@ gSpecials:: @ 81DBA64 def_special StartRegiBattle def_special sub_80B16D8 def_special DoSealedChamberShakingEffect2 - def_special sub_8139634 + def_special FoundBlackGlasses def_special sub_80AC81C def_special sp13E_warp_to_last_warp def_special sp13F_fall_to_last_warp @@ -343,11 +343,11 @@ gSpecials:: @ 81DBA64 def_special sub_80E9B70 def_special LoadPlayerBag def_special sub_80B05B4 - def_special sub_8139754 - def_special sub_813970C + def_special SetPacifidlogTMReceivedDay + def_special GetDaysUntilPacifidlogTMAvailable def_special sub_80C08E4 - def_special sub_8139770 - def_special sub_81397C4 + def_special MonOTNameMatchesPlayer + def_special BufferLottoTicketNumber def_special sub_81653CC def_special sub_80F9370 def_special sub_80F8FE8 diff --git a/include/battle_tower.h b/include/battle_tower.h index d8a3dc9a8d..e1655f2c6a 100644 --- a/include/battle_tower.h +++ b/include/battle_tower.h @@ -42,5 +42,6 @@ void sub_81628A0(union BattleTowerRecord *); void sub_8162614(u16 trainerId, u8); void ConvertBattleFrontierTrainerSpeechToString(u16 *words); void GetFrontierTrainerName(u8 *dest, u16 trainerIdx); +void GetEreaderTrainerName(u8 *dest); #endif //GUARD_BATTLE_TOWER_H diff --git a/include/constants/flags.h b/include/constants/flags.h index 641d74f194..f6143982d9 100644 --- a/include/constants/flags.h +++ b/include/constants/flags.h @@ -199,7 +199,7 @@ #define FLAG_0x0C4 0xC4 #define FLAG_0x0C5 0xC5 #define FLAG_0x0C6 0xC6 -#define FLAG_0x0C7 0xC7 +#define FLAG_RUSTURF_TUNNEL_OPENED 0xC7 #define FLAG_0x0C8 0xC8 #define FLAG_0x0C9 0xC9 #define FLAG_0x0CA 0xCA @@ -532,10 +532,10 @@ #define FLAG_0x210 0x210 #define FLAG_0x211 0x211 #define FLAG_0x212 0x212 -#define FLAG_0x213 0x213 -#define FLAG_0x214 0x214 -#define FLAG_0x215 0x215 -#define FLAG_0x216 0x216 +#define FLAG_HIDDEN_ITEM_1F 0x213 +#define FLAG_HIDDEN_ITEM_20 0x214 +#define FLAG_HIDDEN_ITEM_21 0x215 +#define FLAG_HIDDEN_ITEM_22 0x216 #define FLAG_0x217 0x217 #define FLAG_0x218 0x218 #define FLAG_0x219 0x219 @@ -597,7 +597,7 @@ #define FLAG_0x251 0x251 #define FLAG_0x252 0x252 #define FLAG_0x253 0x253 -#define FLAG_0x254 0x254 +#define FLAG_HIDDEN_ITEM_BLACK_GLASSES 0x254 #define FLAG_0x255 0x255 #define FLAG_0x256 0x256 #define FLAG_0x257 0x257 @@ -932,8 +932,8 @@ #define FLAG_0x3A0 0x3A0 #define FLAG_0x3A1 0x3A1 #define FLAG_0x3A2 0x3A2 -#define FLAG_0x3A3 0x3A3 -#define FLAG_0x3A4 0x3A4 +#define FLAG_HIDE_RUSTURF_TUNNEL_ROCK_1 0x3A3 +#define FLAG_HIDE_RUSTURF_TUNNEL_ROCK_2 0x3A4 #define FLAG_0x3A5 0x3A5 #define FLAG_0x3A6 0x3A6 #define FLAG_0x3A7 0x3A7 diff --git a/include/constants/vars.h b/include/constants/vars.h index ed4a7797bb..92cbaba5f1 100644 --- a/include/constants/vars.h +++ b/include/constants/vars.h @@ -49,13 +49,13 @@ #define VAR_RECYCLE_GOODS 0x4020 #define VAR_REPEL_STEP_COUNT 0x4021 #define VAR_ICE_STEP_COUNT 0x4022 -#define VAR_FIRST_POKE 0x4023 // 0=Treecko, 1=Torchic, 2=Mudkip +#define VAR_STARTER_MON 0x4023 // 0=Treecko, 1=Torchic, 2=Mudkip #define VAR_MIRAGE_RND_H 0x4024 #define VAR_MIRAGE_RND_L 0x4025 #define VAR_SECRET_BASE_MAP 0x4026 -#define VAR_0x4027 0x4027 -#define VAR_0x4028 0x4028 -#define VAR_0x4029 0x4029 +#define VAR_CYCLING_ROAD_RECORD_COLLISIONS 0x4027 +#define VAR_CYCLING_ROAD_RECORD_TIME_L 0x4028 +#define VAR_CYCLING_ROAD_RECORD_TIME_H 0x4029 #define VAR_HAPPINESS_STEP_COUNTER 0x402A #define VAR_POISON_STEP_COUNTER 0x402B #define VAR_RESET_RTC_ENABLE 0x402C @@ -170,7 +170,7 @@ #define VAR_0x4097 0x4097 #define VAR_0x4098 0x4098 #define VAR_0x4099 0x4099 -#define VAR_0x409A 0x409A +#define VAR_RUSTURF_TUNNEL_STATE 0x409A #define VAR_0x409B 0x409B #define VAR_0x409C 0x409C #define VAR_0x409D 0x409D @@ -185,7 +185,7 @@ #define VAR_0x40A6 0x40A6 #define VAR_0x40A7 0x40A7 #define VAR_0x40A8 0x40A8 -#define VAR_0x40A9 0x40A9 +#define VAR_CYCLING_CHALLENGE_STATE 0x40A9 #define VAR_0x40AA 0x40AA #define VAR_0x40AB 0x40AB #define VAR_0x40AC 0x40AC @@ -196,7 +196,7 @@ #define VAR_0x40B1 0x40B1 #define VAR_0x40B2 0x40B2 #define VAR_WEATHER_INSTITUTE_STATE 0x40B3 -#define VAR_PORTHOLE 0x40B4 +#define VAR_PORTHOLE_STATE 0x40B4 #define VAR_0x40B5 0x40B5 #define VAR_0x40B6 0x40B6 #define VAR_0x40B7 0x40B7 @@ -210,7 +210,7 @@ #define VAR_0x40BF 0x40BF #define VAR_0x40C0 0x40C0 #define VAR_0x40C1 0x40C1 -#define VAR_0x40C2 0x40C2 +#define VAR_PACIFIDLOG_TM_RECEIVED_DAY 0x40C2 #define VAR_0x40C3 0x40C3 #define VAR_0x40C4 0x40C4 #define VAR_0x40C5 0x40C5 diff --git a/include/event_object_movement.h b/include/event_object_movement.h index a8f5caa280..c382ae4d8b 100644 --- a/include/event_object_movement.h +++ b/include/event_object_movement.h @@ -185,6 +185,7 @@ bool8 FreezeEventObject(struct EventObject *eventObject); u8 GetMoveDirectionFastAnimNum(u8); u8 GetMoveDirectionFasterAnimNum(u8); u8 GetMoveDirectionFastestAnimNum(u8); +void CameraObjectSetFollowedObjectId(u8 objectId); void MovementType_None(struct Sprite *); void MovementType_LookAround(struct Sprite *); diff --git a/include/field_region_map.h b/include/field_region_map.h new file mode 100644 index 0000000000..d50f1265c6 --- /dev/null +++ b/include/field_region_map.h @@ -0,0 +1,6 @@ +#ifndef GUARD_FIELD_REGION_MAP_H +#define GUARD_FIELD_REGION_MAP_H + +void FieldInitRegionMap(MainCallback callback); + +#endif // GUARD_FIELD_REGION_MAP_H diff --git a/include/party_menu.h b/include/party_menu.h index 6e1344213c..d24bc817f7 100644 --- a/include/party_menu.h +++ b/include/party_menu.h @@ -54,5 +54,6 @@ void sub_81B8518(u8 unused); u8 sub_81B1360(void); void sub_81B8904(u8 arg0, void (*callback)(void)); void OpenPartyMenuInBattle(u8 caseId); +u16 ItemIdToBattleMoveId(u16 itemId); #endif // GUARD_PARTY_MENU_H diff --git a/include/pokemon_storage_system.h b/include/pokemon_storage_system.h index 9fcfdba964..5e07ba1f24 100644 --- a/include/pokemon_storage_system.h +++ b/include/pokemon_storage_system.h @@ -9,5 +9,6 @@ struct BoxPokemon *GetBoxedMonPtr(u8, u8); void SetBoxMonNickFromAnyBox(u8, u8, u8 *); void CompactPartySlots(void); u32 GetBoxMonDataFromAnyBox(u8 boxId, u8 monPosition, u32 request); +bool8 CheckFreePokemonStorageSpace(void); #endif // GUARD_POKEMON_STORAGE_SYSTEM_H diff --git a/include/rom_8011DC0.h b/include/rom_8011DC0.h index fd8c35f562..f71e5d97db 100644 --- a/include/rom_8011DC0.h +++ b/include/rom_8011DC0.h @@ -8,5 +8,6 @@ // Exported ROM declarations void sub_8018438(void); +u16 mevent_081445C0(u8); #endif //GUARD_rom_8011DC0_H diff --git a/include/strings.h b/include/strings.h index 4736fdc5d7..3d3741a86c 100644 --- a/include/strings.h +++ b/include/strings.h @@ -462,4 +462,14 @@ extern const u8 gText_TotalRecordWLD[]; extern const u8 gText_PlayersBattleResults[]; extern const u8 gText_WinLoseDraw[]; +extern const u8 gText_99TimesPlus[]; +extern const u8 gText_1MinutePlus[]; +extern const u8 gText_SpaceSeconds[]; +extern const u8 gText_SpaceTimes[]; + +extern const u8 gText_BigGuy[]; +extern const u8 gText_BigGirl[]; +extern const u8 gText_Son[]; +extern const u8 gText_Daughter[]; + #endif //GUARD_STRINGS_H diff --git a/include/tv.h b/include/tv.h index 17be8c43c2..554bbad851 100644 --- a/include/tv.h +++ b/include/tv.h @@ -48,5 +48,6 @@ void PutPokemonTodayCaughtOnAir(void); void TV_PutSecretBaseVisitOnTheAir(void); void PutBattleUpdateOnTheAir(u8 opponentLinkPlayerId, u16 move, u16 speciesPlayer, u16 speciesOpponent); void UpdateTVScreensOnMap(int, int); +void TV_PrintIntToStringVar(u8 varIdx, int value); #endif //GUARD_TV_H diff --git a/include/wallclock.h b/include/wallclock.h index 48697c19fc..208af9324e 100644 --- a/include/wallclock.h +++ b/include/wallclock.h @@ -1,6 +1,7 @@ #ifndef GUARD_WALLCLOCK_H #define GUARD_WALLCLOCK_H -void Cb2_StartWallClock(void); +void CB2_StartWallClock(void); +void CB2_ViewWallClock(void); #endif //GUARD_WALLCLOCK_H diff --git a/ld_script.txt b/ld_script.txt index f5bfdd598a..2a0900e516 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -180,6 +180,7 @@ SECTIONS { src/time_events.o(.text); src/birch_pc.o(.text); src/hof_pc.o(.text); + src/field_specials.o(.text); asm/field_specials.o(.text); src/battle_records.o(.text); asm/pokedex_area_screen.o(.text); @@ -469,6 +470,7 @@ SECTIONS { src/pokeblock.o(.rodata); src/fldeff_flash.o(.rodata); src/time_events.o(.rodata); + src/field_specials.o(.rodata); data/field_specials.o(.rodata); src/battle_records.o(.rodata); data/pokedex_area_screen.o(.rodata); diff --git a/src/battle_setup.c b/src/battle_setup.c index e478af936d..2955a33fcc 100644 --- a/src/battle_setup.c +++ b/src/battle_setup.c @@ -900,7 +900,7 @@ static void CB2_GiveStarter(void) { u16 starterMon; - *GetVarPointer(VAR_FIRST_POKE) = gSpecialVar_Result; + *GetVarPointer(VAR_STARTER_MON) = gSpecialVar_Result; starterMon = GetStarterPokemon(gSpecialVar_Result); ScriptGiveMon(starterMon, 5, 0, 0, 0, 0); ResetTasks(); diff --git a/src/clock.c b/src/clock.c index ccbb0c24b6..91eb5f16dc 100644 --- a/src/clock.c +++ b/src/clock.c @@ -88,6 +88,6 @@ static void ReturnFromStartWallClock(void) void StartWallClock(void) { - SetMainCallback2(Cb2_StartWallClock); + SetMainCallback2(CB2_StartWallClock); gMain.savedCallback = ReturnFromStartWallClock; } diff --git a/src/credits.c b/src/credits.c index 168f3e8a3f..a88e4b5494 100644 --- a/src/credits.c +++ b/src/credits.c @@ -2285,7 +2285,7 @@ static void sub_81772B8(struct Sprite *sprite) static void sub_8177388(void) { - u16 starter = SpeciesToNationalPokedexNum(GetStarterPokemon(VarGet(VAR_FIRST_POKE))); + u16 starter = SpeciesToNationalPokedexNum(GetStarterPokemon(VarGet(VAR_STARTER_MON))); u16 page; u16 dexNum; u16 j; diff --git a/src/field_region_map.c b/src/field_region_map.c index 34b6089dfb..f565480682 100644 --- a/src/field_region_map.c +++ b/src/field_region_map.c @@ -63,7 +63,7 @@ static const struct WindowTemplate gUnknown_085E5070[] = { // .text -void sub_817018C(MainCallback callback) +void FieldInitRegionMap(MainCallback callback) { SetVBlankCallback(NULL); sFieldRegionMapHandler = malloc(sizeof(*sFieldRegionMapHandler)); diff --git a/src/field_special_scene.c b/src/field_special_scene.c index 39977808fd..6f33b2c9be 100644 --- a/src/field_special_scene.c +++ b/src/field_special_scene.c @@ -272,7 +272,7 @@ bool8 sub_80FB59C(void) void Task_HandlePorthole(u8 taskId) { s16 *data = gTasks[taskId].data; - u16 *var = GetVarPointer(VAR_PORTHOLE); + u16 *var = GetVarPointer(VAR_PORTHOLE_STATE); struct WarpData *location = &gSaveBlock1Ptr->location; switch (data[0]) diff --git a/src/field_specials.c b/src/field_specials.c new file mode 100644 index 0000000000..a0d640ccd1 --- /dev/null +++ b/src/field_specials.c @@ -0,0 +1,1657 @@ +#include "global.h" +#include "main.h" +#include "battle.h" +#include "battle_tower.h" +#include "data2.h" +#include "diploma.h" +#include "event_data.h" +#include "event_object_movement.h" +#include "fieldmap.h" +#include "field_camera.h" +#include "field_message_box.h" +#include "field_player_avatar.h" +#include "field_region_map.h" +#include "field_specials.h" +#include "field_weather.h" +#include "link.h" +#include "overworld.h" +#include "party_menu.h" +#include "pokeblock.h" +#include "pokemon.h" +#include "pokemon_storage_system.h" +#include "region_map.h" +#include "rom_8011DC0.h" +#include "rtc.h" +#include "script.h" +#include "sound.h" +#include "starter_choose.h" +#include "string_util.h" +#include "strings.h" +#include "task.h" +#include "text.h" +#include "tv.h" +#include "wallclock.h" +#include "constants/event_objects.h" +#include "constants/items.h" +#include "constants/maps.h" +#include "constants/songs.h" +#include "constants/species.h" +#include "constants/moves.h" +#include "constants/vars.h" + +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; + +extern const u16 gEventObjectPalette8[]; +extern const u16 gEventObjectPalette17[]; +extern const u16 gEventObjectPalette33[]; +extern const u16 gEventObjectPalette34[]; + +extern void LoadPalette(const void *src, u32 offset, u16 size); // incorrect signature, needed to match + +static void RecordCyclingRoadResults(u32, u8); +static void LoadLinkPartnerEventObjectSpritePalette(u8 graphicsId, u8 localEventId, u8 paletteNum); + +void Special_ShowDiploma(void) +{ + SetMainCallback2(CB2_ShowDiploma); + ScriptContext2_Enable(); +} + +void Special_ViewWallClock(void) +{ + gMain.savedCallback = CB2_ReturnToField; + SetMainCallback2(CB2_ViewWallClock); + ScriptContext2_Enable(); +} + +void ResetCyclingRoadChallengeData(void) +{ + gBikeCyclingChallenge = FALSE; + gBikeCollisions = 0; + gBikeCyclingTimer = 0; +} + +void Special_BeginCyclingRoadChallenge(void) +{ + gBikeCyclingChallenge = TRUE; + gBikeCollisions = 0; + gBikeCyclingTimer = gMain.vblankCounter1; +} + +u16 GetPlayerAvatarBike(void) +{ + if (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_ACRO_BIKE)) + return 1; + if (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_MACH_BIKE)) + return 2; + return 0; +} + +static void DetermineCyclingRoadResults(u32 numFrames, u8 numBikeCollisions) +{ + u8 result; + + if (numBikeCollisions < 100) + { + ConvertIntToDecimalStringN(gStringVar1, numBikeCollisions, STR_CONV_MODE_LEFT_ALIGN, 2); + StringAppend(gStringVar1, gText_SpaceTimes); + } + else + { + StringCopy(gStringVar1, gText_99TimesPlus); + } + + if (numFrames < 3600) + { + ConvertIntToDecimalStringN(gStringVar2, numFrames / 60, STR_CONV_MODE_RIGHT_ALIGN, 2); + gStringVar2[2] = CHAR_PERIOD; + ConvertIntToDecimalStringN(&gStringVar2[3], ((numFrames % 60) * 100) / 60, STR_CONV_MODE_LEADING_ZEROS, 2); + StringAppend(gStringVar2, gText_SpaceSeconds); + } + else + { + StringCopy(gStringVar2, gText_1MinutePlus); + } + + result = 0; + if (numBikeCollisions == 0) + { + result = 5; + } + else if (numBikeCollisions < 4) + { + result = 4; + } + else if (numBikeCollisions < 10) + { + result = 3; + } + else if (numBikeCollisions < 20) + { + result = 2; + } + else if (numBikeCollisions < 100) + { + result = 1; + } + + if (numFrames / 60 <= 10) + { + result += 5; + } + else if (numFrames / 60 <= 15) + { + result += 4; + } + else if (numFrames / 60 <= 20) + { + result += 3; + } + else if (numFrames / 60 <= 40) + { + result += 2; + } + else if (numFrames / 60 < 60) + { + result += 1; + } + + + gSpecialVar_Result = result; +} + +void FinishCyclingRoadChallenge(void) { + const u32 numFrames = gMain.vblankCounter1 - gBikeCyclingTimer; + + DetermineCyclingRoadResults(numFrames, gBikeCollisions); + RecordCyclingRoadResults(numFrames, gBikeCollisions); +} + +static void RecordCyclingRoadResults(u32 numFrames, u8 numBikeCollisions) { + u16 low = VarGet(VAR_CYCLING_ROAD_RECORD_TIME_L); + u16 high = VarGet(VAR_CYCLING_ROAD_RECORD_TIME_H); + u32 framesRecord = low + (high << 16); + + if (framesRecord > numFrames || framesRecord == 0) + { + VarSet(VAR_CYCLING_ROAD_RECORD_TIME_L, numFrames); + VarSet(VAR_CYCLING_ROAD_RECORD_TIME_H, numFrames >> 16); + VarSet(VAR_CYCLING_ROAD_RECORD_COLLISIONS, numBikeCollisions); + } +} + +u16 GetRecordedCyclingRoadResults(void) { + u16 low = VarGet(VAR_CYCLING_ROAD_RECORD_TIME_L); + u16 high = VarGet(VAR_CYCLING_ROAD_RECORD_TIME_H); + u32 framesRecord = low + (high << 16); + + if (framesRecord == 0) + { + return FALSE; + } + + DetermineCyclingRoadResults(framesRecord, VarGet(VAR_CYCLING_ROAD_RECORD_COLLISIONS)); + return TRUE; +} + +void UpdateCyclingRoadState(void) { + if (gUnknown_020322DC.mapNum == MAP_NUM(ROUTE110_SEASIDE_CYCLING_ROAD_SOUTH_ENTRANCE) && gUnknown_020322DC.mapGroup == MAP_GROUP(ROUTE110_SEASIDE_CYCLING_ROAD_SOUTH_ENTRANCE)) + { + return; + } + + if (VarGet(VAR_CYCLING_CHALLENGE_STATE) == 2 || VarGet(VAR_CYCLING_CHALLENGE_STATE) == 3) + { + VarSet(VAR_CYCLING_CHALLENGE_STATE, 0); + Overworld_SetSavedMusic(MUS_DUMMY); + } +} + +void SetSSTidalFlag(void) +{ + FlagSet(FLAG_SYS_CRUISE_MODE); + *GetVarPointer(VAR_CRUISE_STEP_COUNT) = 0; +} + +void ResetSSTidalFlag(void) +{ + FlagClear(FLAG_SYS_CRUISE_MODE); +} + +bool32 CountSSTidalStep(u16 delta) +{ + if (!FlagGet(FLAG_SYS_CRUISE_MODE) || (*GetVarPointer(VAR_CRUISE_STEP_COUNT) += delta) <= 0xcc) + { + return FALSE; + } + return TRUE; +} + +u8 GetSSTidalLocation(s8 *mapGroup, s8 *mapNum, s16 *x, s16 *y) +{ + u16 *varCruiseStepCount = GetVarPointer(VAR_CRUISE_STEP_COUNT); + switch (*GetVarPointer(VAR_PORTHOLE_STATE)) + { + case 1: + case 8: + return 1; + case 3: + case 9: + return 4; + case 4: + case 5: + return 2; + case 6: + case 10: + return 3; + case 2: + if (*varCruiseStepCount < 60) + { + *mapNum = MAP_NUM(ROUTE134); + *x = *varCruiseStepCount + 19; + } + else if (*varCruiseStepCount < 140) + { + *mapNum = MAP_NUM(ROUTE133); + *x = *varCruiseStepCount - 60; + } + else + { + *mapNum = MAP_NUM(ROUTE132); + *x = *varCruiseStepCount - 140; + } + break; + case 7: + if (*varCruiseStepCount < 66) + { + *mapNum = MAP_NUM(ROUTE132); + *x = 65 - *varCruiseStepCount; + } + else if (*varCruiseStepCount < 146) { + *mapNum = MAP_NUM(ROUTE133); + *x = 145 - *varCruiseStepCount; + } + else + { + *mapNum = MAP_NUM(ROUTE134); + *x = 224 - *varCruiseStepCount; + } + break; + } + *mapGroup = MAP_GROUP(ROUTE132); + *y = 20; + return 0; +} + +bool32 is_tile_that_overrides_player_control(void) +{ + if (FlagGet(FLAG_0x088)) + { + switch (gMapHeader.mapType) + { + case 1: + case 2: + case 3: + case 6: + if (++(*GetVarPointer(VAR_0x40F2)) < 0xFA) + { + return FALSE; + } + break; + default: + return FALSE; + } + } + else + { + return FALSE; + } + + return TRUE; +} + +bool32 sub_8138120(void) +{ + if (FlagGet(FLAG_0x08A)) + { + switch (gMapHeader.mapType) + { + case 1: + case 2: + case 3: + case 6: + if (++(*GetVarPointer(VAR_0x40F3)) < 0xA) + { + return FALSE; + } + break; + default: + return FALSE; + } + } + else + { + return FALSE; + } + + return TRUE; +} + +bool32 sub_8138168(void) +{ + if (FlagGet(FLAG_0x072)) + { + switch (gMapHeader.mapType) + { + case 1: + case 2: + case 3: + case 6: + if (++(*GetVarPointer(VAR_0x40F5)) < 0xA) + { + return FALSE; + } + break; + default: + return FALSE; + } + } + else + { + return FALSE; + } + + return TRUE; +} + +bool32 sub_81381B0(void) +{ + if (FlagGet(FLAG_0x080)) + { + switch (gMapHeader.mapType) + { + case 1: + case 2: + case 3: + case 6: + if (++(*GetVarPointer(VAR_0x40F4)) < 0xFA) + { + return FALSE; + } + break; + default: + return FALSE; + } + } + else + { + return FALSE; + } + + return TRUE; +} + +bool32 sub_81381F8(void) +{ + if (FlagGet(FLAG_0x075)) + { + switch (gMapHeader.mapType) + { + case 1: + case 2: + case 3: + case 6: + if (++(*GetVarPointer(VAR_0x40F6)) < 0xFA) + { + return FALSE; + } + break; + default: + return FALSE; + } + } + else + { + return FALSE; + } + + return TRUE; +} + +u8 GetLinkPartnerNames(void) +{ + u8 i; + u8 j = 0; + u8 myLinkPlayerNumber = GetMultiplayerId(); + u8 nLinkPlayers = GetLinkPlayerCount(); + for (i = 0; i < nLinkPlayers; i++) + { + if (myLinkPlayerNumber != i) + { + StringCopy(gTVStringVarPtrs[j], gLinkPlayers[i].name); + j++; + } + } + return nLinkPlayers; +} + +void SpawnLinkPartnerEventObject(void) +{ + u8 j = 0; + s16 x = 0; + s16 y = 0; + u8 gUnknown_085B2B5C[] = {7, 9, 8, 10}; + s8 gUnknown_085B2B60[][2] = { + { 0, 1}, + { 1, 0}, + { 0, -1}, + {-1, 0} + }; + u8 myLinkPlayerNumber; + u8 playerFacingDirection; + u8 linkSpriteId; + u8 i; + + myLinkPlayerNumber = GetMultiplayerId(); + playerFacingDirection = GetPlayerFacingDirection(); + switch (playerFacingDirection) + { + case DIR_WEST: + j = 2; + x = gSaveBlock1Ptr->pos.x - 1; + y = gSaveBlock1Ptr->pos.y; + break; + case DIR_NORTH: + j = 1; + x = gSaveBlock1Ptr->pos.x; + y = gSaveBlock1Ptr->pos.y - 1; + break; + case DIR_EAST: + x = gSaveBlock1Ptr->pos.x + 1; + y = gSaveBlock1Ptr->pos.y; + break; + case DIR_SOUTH: + j = 3; + x = gSaveBlock1Ptr->pos.x; + y = gSaveBlock1Ptr->pos.y + 1; + } + for (i = 0; i < gSpecialVar_0x8004; i++) + { + if (myLinkPlayerNumber != i) + { + switch ((u8)gLinkPlayers[i].version) + { + case VERSION_RUBY: + case VERSION_SAPPHIRE: + if (gLinkPlayers[i].gender == 0) + linkSpriteId = EVENT_OBJ_GFX_LINK_RS_BRENDAN; + else + linkSpriteId = EVENT_OBJ_GFX_LINK_RS_MAY; + break; + case VERSION_EMERALD: + if (gLinkPlayers[i].gender == 0) + linkSpriteId = EVENT_OBJ_GFX_RIVAL_BRENDAN_NORMAL; + else + linkSpriteId = EVENT_OBJ_GFX_RIVAL_MAY_NORMAL; + break; + default: + if (gLinkPlayers[i].gender == 0) + linkSpriteId = EVENT_OBJ_GFX_RIVAL_BRENDAN_NORMAL; + else + linkSpriteId = EVENT_OBJ_GFX_RIVAL_MAY_NORMAL; + break; + } + SpawnSpecialEventObjectParameterized(linkSpriteId, gUnknown_085B2B5C[j], 0xf0 - i, gUnknown_085B2B60[j][0] + x + 7, gUnknown_085B2B60[j][1] + y + 7, 0); + LoadLinkPartnerEventObjectSpritePalette(linkSpriteId, 0xf0 - i, i); + j++; + if (j == 4) + { + j = 0; + } + } + } +} + +static void LoadLinkPartnerEventObjectSpritePalette(u8 graphicsId, u8 localEventId, u8 paletteNum) +{ + paletteNum += 6; + if (graphicsId == EVENT_OBJ_GFX_LINK_RS_BRENDAN || + graphicsId == EVENT_OBJ_GFX_LINK_RS_MAY || + graphicsId == EVENT_OBJ_GFX_RIVAL_BRENDAN_NORMAL || + graphicsId == EVENT_OBJ_GFX_RIVAL_MAY_NORMAL) + { + u8 obj = GetEventObjectIdByLocalIdAndMap(localEventId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); + if (obj != NUM_EVENT_OBJECTS) + { + u8 spriteId = gEventObjects[obj].spriteId; + struct Sprite *sprite = &gSprites[spriteId]; + sprite->oam.paletteNum = paletteNum; + + switch (graphicsId) + { + case EVENT_OBJ_GFX_LINK_RS_BRENDAN: + LoadPalette(gEventObjectPalette33, 0x100 + paletteNum * 16, 0x20); + break; + case EVENT_OBJ_GFX_LINK_RS_MAY: + LoadPalette(gEventObjectPalette34, 0x100 + paletteNum * 16, 0x20); + break; + case EVENT_OBJ_GFX_RIVAL_BRENDAN_NORMAL: + LoadPalette(gEventObjectPalette8, 0x100 + paletteNum * 16, 0x20); + break; + case EVENT_OBJ_GFX_RIVAL_MAY_NORMAL: + LoadPalette(gEventObjectPalette17, 0x100 + paletteNum * 16, 0x20); + break; + } + } + } +} + +struct Coords8 { + u8 x; + u8 y; +}; + +const struct Coords8 gUnknown_085B2B68[] = { + { 7, 22}, + {11, 19}, + {10, 16}, + {15, 16} +}; + +void MauvilleGymSpecial1(void) +{ + u8 i; + for (i = 0; i < ARRAY_COUNT(gUnknown_085B2B68); i++) + { + if (i == gSpecialVar_0x8004) + { + MapGridSetMetatileIdAt(gUnknown_085B2B68[i].x, gUnknown_085B2B68[i].y, 0x206); + } + else + { + MapGridSetMetatileIdAt(gUnknown_085B2B68[i].x, gUnknown_085B2B68[i].y, 0x205); + } + } +} + +void MauvilleGymSpecial2(void) +{ + int x, y; + for (y = 12; y < 24; y++) + { + for (x = 7; x < 16; x++) + { + switch (MapGridGetMetatileIdAt(x, y)) + { + case 0x220: + MapGridSetMetatileIdAt(x, y, 0x230); + break; + case 0x221: + MapGridSetMetatileIdAt(x, y, 0x231); + break; + case 0x228: + MapGridSetMetatileIdAt(x, y, 0x238); + break; + case 0x229: + MapGridSetMetatileIdAt(x, y, 0x239); + break; + case 0x230: + MapGridSetMetatileIdAt(x, y, 0x220); + break; + case 0x231: + MapGridSetMetatileIdAt(x, y, 0x221); + break; + case 0x238: + MapGridSetMetatileIdAt(x, y, 0xe28); + break; + case 0x239: + MapGridSetMetatileIdAt(x, y, 0xe29); + break; + case 0x222: + MapGridSetMetatileIdAt(x, y, 0x232); + break; + case 0x223: + MapGridSetMetatileIdAt(x, y, 0x233); + break; + case 0x22a: + MapGridSetMetatileIdAt(x, y, 0x23a); + break; + case 0x22b: + MapGridSetMetatileIdAt(x, y, 0x23b); + break; + case 0x232: + MapGridSetMetatileIdAt(x, y, 0x222); + break; + case 0x233: + MapGridSetMetatileIdAt(x, y, 0x223); + break; + case 0x23a: + MapGridSetMetatileIdAt(x, y, 0xe2a); + break; + case 0x23b: + MapGridSetMetatileIdAt(x, y, 0xe2b); + break; + case 0x240: + MapGridSetMetatileIdAt(x, y, 0xe42); + break; + case 0x248: + MapGridSetMetatileIdAt(x, y, 0x21a); + break; + case 0x241: + MapGridSetMetatileIdAt(x, y, 0xe43); + break; + case 0x249: + MapGridSetMetatileIdAt(x, y, 0x21a); + break; + case 0x242: + MapGridSetMetatileIdAt(x, y, 0xe40); + break; + case 0x21a: + if (MapGridGetMetatileIdAt(x, y - 1) == 0x240) + { + MapGridSetMetatileIdAt(x, y, 0xe48); + } + else + { + MapGridSetMetatileIdAt(x, y, 0xe49); + } + break; + case 0x243: + MapGridSetMetatileIdAt(x, y, 0xe41); + break; + case 0x251: + MapGridSetMetatileIdAt(x, y, 0xe50); + break; + case 0x250: + MapGridSetMetatileIdAt(x, y, 0x251); + break; + } + } + } +} + +void MauvilleGymSpecial3(void) +{ + int i, x, y; + const struct Coords8 *switchCoords = gUnknown_085B2B68; + for (i = ARRAY_COUNT(gUnknown_085B2B68) - 1; i >= 0; i--) + { + MapGridSetMetatileIdAt(switchCoords->x, switchCoords->y, 0x206); + switchCoords++; + } + for (y = 12; y < 24; y++) + { + for (x = 7; x < 16; x++) + { + switch (MapGridGetMetatileIdAt(x, y)) + { + case 0x220: + MapGridSetMetatileIdAt(x, y, 0x230); + break; + case 0x221: + MapGridSetMetatileIdAt(x, y, 0x231); + break; + case 0x228: + MapGridSetMetatileIdAt(x, y, 0x238); + break; + case 0x229: + MapGridSetMetatileIdAt(x, y, 0x239); + break; + case 0x222: + MapGridSetMetatileIdAt(x, y, 0x232); + break; + case 0x223: + MapGridSetMetatileIdAt(x, y, 0x233); + break; + case 0x22a: + MapGridSetMetatileIdAt(x, y, 0x23a); + break; + case 0x22b: + MapGridSetMetatileIdAt(x, y, 0x23b); + break; + case 0x240: + MapGridSetMetatileIdAt(x, y, 0xe42); + break; + case 0x241: + MapGridSetMetatileIdAt(x, y, 0xe43); + break; + case 0x248: + case 0x249: + MapGridSetMetatileIdAt(x, y, 0x21a); + break; + case 0x250: + MapGridSetMetatileIdAt(x, y, 0x251); + break; + } + } + } +} + +static void Task_PetalburgGym(u8); +static void PetalburgGymFunc(u8, u16); +const u8 gUnknown_085B2B78[] = {0, 1, 1, 1, 1}; +const u16 gUnknown_085B2B7E[] = {0x218, 0x219, 0x21a, 0x21b, 0x21c}; + +void PetalburgGymSpecial1(void) +{ + gUnknown_0203AB5C = 0; + gUnknown_0203AB5D = 0; + PlaySE(SE_KI_GASYAN); + CreateTask(Task_PetalburgGym, 8); +} + +static void Task_PetalburgGym(u8 taskId) +{ + if (gUnknown_085B2B78[gUnknown_0203AB5D] == gUnknown_0203AB5C) + { + PetalburgGymFunc(gSpecialVar_0x8004, gUnknown_085B2B7E[gUnknown_0203AB5D]); + gUnknown_0203AB5C = 0; + if ((++gUnknown_0203AB5D) == 5) + { + DestroyTask(taskId); + EnableBothScriptContexts(); + } + } + else + { + gUnknown_0203AB5C++; + } +} + +static void PetalburgGymFunc(u8 a0, u16 a1) +{ + u16 x[4]; + u16 y[4]; + u8 i; + u8 nDoors = 0; + switch (a0) + { + case 1: + nDoors = 2; + x[0] = 1; + x[1] = 7; + y[0] = 0x68; + y[1] = 0x68; + break; + case 2: + nDoors = 2; + x[0] = 1; + x[1] = 7; + y[0] = 0x4e; + y[1] = 0x4e; + break; + case 3: + nDoors = 2; + x[0] = 1; + x[1] = 7; + y[0] = 0x5b; + y[1] = 0x5b; + break; + case 4: + nDoors = 1; + x[0] = 7; + y[0] = 0x27; + break; + case 5: + nDoors = 2; + x[0] = 1; + x[1] = 7; + y[0] = 0x34; + y[1] = 0x34; + break; + case 6: + nDoors = 1; + x[0] = 1; + y[0] = 0x41; + break; + case 7: + nDoors = 1; + x[0] = 7; + y[0] = 0xd; + break; + case 8: + nDoors = 1; + x[0] = 1; + y[0] = 0x1a; + break; + } + for (i = 0; i < nDoors; i++) + { + MapGridSetMetatileIdAt(x[i] + 7, y[i] + 7, a1 | 0xc00); + MapGridSetMetatileIdAt(x[i] + 7, y[i] + 8, (a1 + 8) | 0xc00); + } + DrawWholeMapView(); +} + +void PetalburgGymSpecial2(void) +{ + PetalburgGymFunc(gSpecialVar_0x8004, gUnknown_085B2B7E[4]); +} + +void ShowFieldMessageStringVar4(void) +{ + ShowFieldMessage(gStringVar4); +} + +void StorePlayerCoordsInVars(void) +{ + gSpecialVar_0x8004 = gSaveBlock1Ptr->pos.x; + gSpecialVar_0x8005 = gSaveBlock1Ptr->pos.y; +} + +u8 GetPlayerTrainerIdOnesDigit(void) +{ + return (u16)((gSaveBlock2Ptr->playerTrainerId[1] << 8) | gSaveBlock2Ptr->playerTrainerId[0]) % 10; +} + +void GetPlayerBigGuyGirlString(void) +{ + if (gSaveBlock2Ptr->playerGender == MALE) + { + StringCopy(gStringVar1, gText_BigGuy); + } + else + { + StringCopy(gStringVar1, gText_BigGirl); + } +} + +void GetRivalSonDaughterString(void) +{ + if (gSaveBlock2Ptr->playerGender == MALE) + { + StringCopy(gStringVar1, gText_Daughter); + } + else + { + StringCopy(gStringVar1, gText_Son); + } +} + +u8 GetBattleOutcome(void) +{ + return gBattleOutcome; +} + +void CableCarWarp(void) +{ + if (gSpecialVar_0x8004 != 0) + { + Overworld_SetWarpDestination(MAP_GROUP(ROUTE112_CABLE_CAR_STATION), MAP_NUM(ROUTE112_CABLE_CAR_STATION), -1, 6, 4); + } + else + { + Overworld_SetWarpDestination(MAP_GROUP(MT_CHIMNEY_CABLE_CAR_STATION), MAP_NUM(MT_CHIMNEY_CABLE_CAR_STATION), -1, 6, 4); + } +} + +void SetFlagInVar(void) +{ + FlagSet(gSpecialVar_0x8004); +} + +u16 GetWeekCount(void) +{ + u16 weekCount = gLocalTime.days / 7; + if (weekCount > 9999) + { + weekCount = 9999; + } + return weekCount; +} + +u8 GetLeadMonFriendshipScore(void) +{ + struct Pokemon *pokemon = &gPlayerParty[GetLeadMonIndex()]; + if (GetMonData(pokemon, MON_DATA_FRIENDSHIP) == 255) + { + return 6; + } + if (GetMonData(pokemon, MON_DATA_FRIENDSHIP) >= 200) + { + return 5; + } + if (GetMonData(pokemon, MON_DATA_FRIENDSHIP) >= 150) + { + return 4; + } + if (GetMonData(pokemon, MON_DATA_FRIENDSHIP) >= 100) + { + return 3; + } + if (GetMonData(pokemon, MON_DATA_FRIENDSHIP) >= 50) + { + return 2; + } + if (GetMonData(pokemon, MON_DATA_FRIENDSHIP) >= 1) + { + return 1; + } + return 0; +} + +void CB2_FieldShowRegionMap(void) +{ + FieldInitRegionMap(CB2_ReturnToFieldContinueScriptPlayMapMusic); +} + +void FieldShowRegionMap(void) +{ + SetMainCallback2(CB2_FieldShowRegionMap); +} + +static void Task_PCTurnOnEffect(u8); +static void PCTurnOnEffect_0(struct Task *); +static void PCTurnOnEffect_1(s16, s8, s8); + +void DoPCTurnOnEffect(void) +{ + if (FuncIsActiveTask(Task_PCTurnOnEffect) != TRUE) + { + u8 taskId = CreateTask(Task_PCTurnOnEffect, 8); + gTasks[taskId].data[0] = 0; + gTasks[taskId].data[1] = taskId; + gTasks[taskId].data[2] = 0; + gTasks[taskId].data[3] = 0; + gTasks[taskId].data[4] = 0; + } +} + +static void Task_PCTurnOnEffect(u8 taskId) +{ + struct Task *task = &gTasks[taskId]; + if (task->data[0] == 0) + { + PCTurnOnEffect_0(task); + } +} + +static void PCTurnOnEffect_0(struct Task *task) +{ + u8 playerDirection; + s8 dx = 0; + s8 dy = 0; + if (task->data[3] == 6) + { + task->data[3] = 0; + playerDirection = GetPlayerFacingDirection(); + switch (playerDirection) + { + case DIR_NORTH: + dx = 0; + dy = -1; + break; + case DIR_WEST: + dx = -1; + dy = -1; + break; + case DIR_EAST: + dx = 1; + dy = -1; + break; + } + PCTurnOnEffect_1(task->data[4], dx, dy); + DrawWholeMapView(); + task->data[4] ^= 1; + if ((++task->data[2]) == 5) + { + DestroyTask(task->data[1]); + } + } + task->data[3]++; +} + +static void PCTurnOnEffect_1(s16 flag, s8 dx, s8 dy) +{ + u16 tileId = 0; + if (flag != 0) + { + if (gSpecialVar_0x8004 == 0) + { + tileId = 0x4; + } + else if (gSpecialVar_0x8004 == 1) + { + tileId = 0x25a; + } + else if (gSpecialVar_0x8004 == 2) + { + tileId = 0x259; + } + } + else + { + if (gSpecialVar_0x8004 == 0) + { + tileId = 0x5; + } + else if (gSpecialVar_0x8004 == 1) + { + tileId = 0x27f; + } + else if (gSpecialVar_0x8004 == 2) + { + tileId = 0x27e; + } + } + MapGridSetMetatileIdAt(gSaveBlock1Ptr->pos.x + dx + 7, gSaveBlock1Ptr->pos.y + dy + 7, tileId | 0xc00); +} + +static void PCTurnOffEffect(void); + +void DoPCTurnOffEffect(void) +{ + PCTurnOffEffect(); +} + +static void PCTurnOffEffect(void) +{ + s8 dx = 0; + s8 dy = 0; + u16 tileId = 0; + u8 playerDirection = GetPlayerFacingDirection(); + switch (playerDirection) + { + case DIR_NORTH: + dx = 0; + dy = -1; + break; + case DIR_WEST: + dx = -1; + dy = -1; + break; + case DIR_EAST: + dx = 1; + dy = -1; + break; + } + if (gSpecialVar_0x8004 == 0) + { + tileId = 0x4; + } + else if (gSpecialVar_0x8004 == 1) + { + tileId = 0x25a; + } + else if (gSpecialVar_0x8004 == 2) + { + tileId = 0x259; + } + MapGridSetMetatileIdAt(gSaveBlock1Ptr->pos.x + dx + 7, gSaveBlock1Ptr->pos.y + dy + 7, tileId | 0xc00); + DrawWholeMapView(); +} + +static void Task_LotteryCornerComputerEffect(u8); +static void LotteryCornerComputerEffect(struct Task *); + +void DoLotteryCornerComputerEffect(void) +{ + if (FuncIsActiveTask(Task_LotteryCornerComputerEffect) != TRUE) + { + u8 taskId = CreateTask(Task_LotteryCornerComputerEffect, 8); + gTasks[taskId].data[0] = 0; + gTasks[taskId].data[1] = taskId; + gTasks[taskId].data[2] = 0; + gTasks[taskId].data[3] = 0; + gTasks[taskId].data[4] = 0; + } +} + +static void Task_LotteryCornerComputerEffect(u8 taskId) +{ + struct Task *task = &gTasks[taskId]; + if (task->data[0] == 0) + { + LotteryCornerComputerEffect(task); + } +} + +static void LotteryCornerComputerEffect(struct Task *task) +{ + if (task->data[3] == 6) + { + task->data[3] = 0; + if (task->data[4] != 0) + { + MapGridSetMetatileIdAt(18, 8, 0xe9d); + MapGridSetMetatileIdAt(18, 9, 0xea5); + } + else + { + MapGridSetMetatileIdAt(18, 8, 0xe58); + MapGridSetMetatileIdAt(18, 9, 0xe60); + } + DrawWholeMapView(); + task->data[4] ^= 1; + if ((++task->data[2]) == 5) + { + DestroyTask(task->data[1]); + } + } + task->data[3]++; +} + +void EndLotteryCornerComputerEffect(void) +{ + MapGridSetMetatileIdAt(18, 8, 0xe9d); + MapGridSetMetatileIdAt(18, 9, 0xea5); + DrawWholeMapView(); +} + +void SetTrickHouseEndRoomFlag(void) +{ + u16 *specVar = &gSpecialVar_0x8004; + u16 flag = FLAG_0x1F5; + *specVar = flag; + FlagSet(flag); +} + +void ResetTrickHouseEndRoomFlag(void) +{ + u16 *specVar = &gSpecialVar_0x8004; + u16 flag = FLAG_0x1F5; + *specVar = flag; + FlagClear(flag); +} + +bool8 CheckLeadMonCool(void) +{ + if (GetMonData(&gPlayerParty[GetLeadMonIndex()], MON_DATA_COOL) < 200) + { + return FALSE; + } + return TRUE; +} + +bool8 CheckLeadMonBeauty(void) +{ + if (GetMonData(&gPlayerParty[GetLeadMonIndex()], MON_DATA_BEAUTY) < 200) + { + return FALSE; + } + return TRUE; +} + +bool8 CheckLeadMonCute(void) +{ + if (GetMonData(&gPlayerParty[GetLeadMonIndex()], MON_DATA_CUTE) < 200) + { + return FALSE; + } + return TRUE; +} + +bool8 CheckLeadMonSmart(void) +{ + if (GetMonData(&gPlayerParty[GetLeadMonIndex()], MON_DATA_SMART) < 200) + { + return FALSE; + } + return TRUE; +} + +bool8 CheckLeadMonTough(void) +{ + if (GetMonData(&gPlayerParty[GetLeadMonIndex()], MON_DATA_TOUGH) < 200) + { + return FALSE; + } + return TRUE; +} + +void IsGrassTypeInParty(void) +{ + u8 i; + u16 species; + struct Pokemon *pokemon; + for (i = 0; i < PARTY_SIZE; i++) + { + pokemon = &gPlayerParty[i]; + if (GetMonData(pokemon, MON_DATA_SANITY_BIT2) && !GetMonData(pokemon, MON_DATA_IS_EGG)) + { + species = GetMonData(pokemon, MON_DATA_SPECIES); + if (gBaseStats[species].type1 == TYPE_GRASS || gBaseStats[species].type2 == TYPE_GRASS) + { + gSpecialVar_Result = TRUE; + return; + } + } + } + gSpecialVar_Result = FALSE; +} + +void SpawnScriptEventObject(void) +{ + u8 obj = SpawnSpecialEventObjectParameterized(EVENT_OBJ_GFX_BOY_1, 8, 0x7F, gSaveBlock1Ptr->pos.x + 7, gSaveBlock1Ptr->pos.y + 7, 3); + gEventObjects[obj].invisible = TRUE; + CameraObjectSetFollowedObjectId(gEventObjects[obj].spriteId); +} + +void RemoveScriptEventObject(void) +{ + CameraObjectSetFollowedObjectId(GetPlayerAvatarObjectId()); + RemoveEventObjectByLocalIdAndMap(0x7F, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); +} + +u8 GetPokeblockNameByMonNature(void) +{ + return CopyMonFavoritePokeblockName(GetNature(&gPlayerParty[GetLeadMonIndex()]), gStringVar1); +} + +void GetSecretBaseNearbyMapName(void) +{ + GetMapName(gStringVar1, VarGet(VAR_SECRET_BASE_MAP), 0); +} + +u16 GetBestBattleTowerStreak(void) +{ + return GetGameStat(GAME_STAT_BATTLE_TOWER_BEST_STREAK); +} + +void BufferEReaderTrainerName(void) +{ + GetEreaderTrainerName(gStringVar1); +} + +const u8 gUnknown_085B2B88[] = {12, 2, 4, 5, 1, 8, 7, 11, 3, 10, 9, 6}; +const u8 gUnknown_085B2B94[] = {0, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 5}; +const u8 gUnknown_085B2BA0[] = {3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5}; + +u16 GetSlotMachineId(void) +{ + u32 v0 = gSaveBlock1Ptr->easyChatPairs[0].unk0_0 + gSaveBlock1Ptr->easyChatPairs[0].unk2 + gUnknown_085B2B88[gSpecialVar_0x8004]; + if (GetPriceReduction(2)) + { + return gUnknown_085B2BA0[v0 % 12]; + } + return gUnknown_085B2B94[v0 % 12]; +} + +bool8 FoundAbandonedShipRoom1Key(void) +{ + u16 *specVar = &gSpecialVar_0x8004; + u16 flag = FLAG_HIDDEN_ITEM_1F; + *specVar = flag; + if (!FlagGet(flag)) + { + return FALSE; + } + return TRUE; +} + +bool8 FoundAbandonedShipRoom2Key(void) +{ + u16 *specVar = &gSpecialVar_0x8004; + u16 flag = FLAG_HIDDEN_ITEM_20; + *specVar = flag; + if (!FlagGet(flag)) + { + return FALSE; + } + return TRUE; +} + +bool8 FoundAbandonedShipRoom4Key(void) +{ + u16 *specVar = &gSpecialVar_0x8004; + u16 flag = FLAG_HIDDEN_ITEM_21; + *specVar = flag; + if (!FlagGet(flag)) + { + return FALSE; + } + return TRUE; +} + +bool8 FoundAbandonedShipRoom6Key(void) +{ + u16 *specVar = &gSpecialVar_0x8004; + u16 flag = FLAG_HIDDEN_ITEM_22; + *specVar = flag; + if (!FlagGet(flag)) + { + return FALSE; + } + return TRUE; +} + +bool8 LeadMonHasEffortRibbon(void) +{ + return GetMonData(&gPlayerParty[GetLeadMonIndex()], MON_DATA_EFFORT_RIBBON, NULL); +} + +void GiveLeadMonEffortRibbon(void) +{ + bool8 ribbonSet; + struct Pokemon *leadMon; + IncrementGameStat(GAME_STAT_RECEIVED_RIBBONS); + FlagSet(FLAG_SYS_RIBBON_GET); + ribbonSet = TRUE; + leadMon = &gPlayerParty[GetLeadMonIndex()]; + SetMonData(leadMon, MON_DATA_EFFORT_RIBBON, &ribbonSet); + if (GetRibbonCount(leadMon) > 4) + { + sub_80EE4DC(leadMon, 0x47); + } +} + +bool8 Special_AreLeadMonEVsMaxedOut(void) +{ + if (GetMonEVCount(&gPlayerParty[GetLeadMonIndex()]) >= 510) + { + return TRUE; + } + return FALSE; +} + +u8 TryUpdateRusturfTunnelState(void) +{ + if (!FlagGet(FLAG_RUSTURF_TUNNEL_OPENED) && gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(RUSTURF_TUNNEL) && gSaveBlock1Ptr->location.mapNum == MAP_NUM(RUSTURF_TUNNEL)) + { + if (FlagGet(FLAG_HIDE_RUSTURF_TUNNEL_ROCK_1)) + { + VarSet(VAR_RUSTURF_TUNNEL_STATE, 4); + return TRUE; + } + else if (FlagGet(FLAG_HIDE_RUSTURF_TUNNEL_ROCK_2)) + { + VarSet(VAR_RUSTURF_TUNNEL_STATE, 5); + return TRUE; + } + } + return FALSE; +} + +void SetShoalItemFlag(u16 v0) +{ + FlagSet(FLAG_SYS_SHOAL_ITEM); +} + +void PutZigzagoonInPlayerParty(void) +{ + u16 monData; + CreateMon(&gPlayerParty[0], SPECIES_ZIGZAGOON, 7, 0x20, FALSE, 0, FALSE, 0); + monData = TRUE; + SetMonData(&gPlayerParty[0], MON_DATA_ALT_ABILITY, &monData); + monData = MOVE_TACKLE; + SetMonData(&gPlayerParty[0], MON_DATA_MOVE1, &monData); + monData = MOVE_NONE; + SetMonData(&gPlayerParty[0], MON_DATA_MOVE2, &monData); + SetMonData(&gPlayerParty[0], MON_DATA_MOVE3, &monData); + SetMonData(&gPlayerParty[0], MON_DATA_MOVE4, &monData); +} + +bool8 IsStarterInParty(void) +{ + u8 i; + u16 starter = GetStarterPokemon(VarGet(VAR_STARTER_MON)); + u8 partyCount = CalculatePlayerPartyCount(); + for (i = 0; i < partyCount; i++) + { + if (GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2, NULL) == starter) + { + return TRUE; + } + } + return FALSE; +} + +bool8 ScriptCheckFreePokemonStorageSpace(void) +{ + return CheckFreePokemonStorageSpace(); +} + +bool8 IsPokerusInParty(void) +{ + if (!CheckPartyPokerus(gPlayerParty, 0x3f)) + { + return FALSE; + } + return TRUE; +} + +static void sub_81395BC(u8 taskId); +static void sub_8139620(u8 taskId); + +void sub_8139560(void) +{ + u8 taskId = CreateTask(sub_81395BC, 9); + gTasks[taskId].data[0] = gSpecialVar_0x8005; + gTasks[taskId].data[1] = 0; + gTasks[taskId].data[2] = gSpecialVar_0x8006; + gTasks[taskId].data[3] = gSpecialVar_0x8007; + gTasks[taskId].data[4] = gSpecialVar_0x8004; + SetCameraPanningCallback(NULL); + PlaySE(SE_W070); +} + +static void sub_81395BC(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + + data[1]++; + if (data[1] % data[3] == 0) + { + data[1] = 0; + data[2]--; + data[0] = -data[0]; + data[4] = -data[4]; + SetCameraPanning(data[0], data[4]); + if (data[2] == 0) + { + sub_8139620(taskId); + InstallCameraPanAheadCallback(); + } + } +} + +static void sub_8139620(u8 taskId) +{ + DestroyTask(taskId); + EnableBothScriptContexts(); +} + +bool8 FoundBlackGlasses(void) +{ + return FlagGet(FLAG_HIDDEN_ITEM_BLACK_GLASSES); +} + +void SetRoute119Weather(void) +{ + if (is_map_type_1_2_3_5_or_6(get_map_light_from_warp0()) != TRUE) + { + SetSav1Weather(0x14); + } +} + +void SetRoute123Weather(void) +{ + if (is_map_type_1_2_3_5_or_6(get_map_light_from_warp0()) != TRUE) + { + SetSav1Weather(0x15); + } +} + +u8 GetLeadMonIndex(void) +{ + u8 i; + u8 partyCount = CalculatePlayerPartyCount(); + for (i = 0; i < partyCount; i++) + { + if (GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2, NULL) != SPECIES_EGG && GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2, NULL) != 0) + { + return i; + } + } + return 0; +} + +u16 ScriptGetPartyMonSpecies(void) +{ + return GetMonData(&gPlayerParty[gSpecialVar_0x8004], MON_DATA_SPECIES2, NULL); +} + +void nullsub_54(void) +{ + +} + +u16 GetDaysUntilPacifidlogTMAvailable(void) +{ + u16 tmReceivedDay = VarGet(VAR_PACIFIDLOG_TM_RECEIVED_DAY); + if (gLocalTime.days - tmReceivedDay >= 7) + { + return 0; + } + else if (gLocalTime.days < 0) + { + return 8; + } + return 7 - (gLocalTime.days - tmReceivedDay); +} + +u16 SetPacifidlogTMReceivedDay(void) +{ + VarSet(VAR_PACIFIDLOG_TM_RECEIVED_DAY, gLocalTime.days); + return gLocalTime.days; +} + +bool8 MonOTNameMatchesPlayer(void) +{ + if (GetMonData(&gPlayerParty[gSpecialVar_0x8004], MON_DATA_LANGUAGE) != GAME_LANGUAGE) + return TRUE; // huh? + + GetMonData(&gPlayerParty[gSpecialVar_0x8004], MON_DATA_OT_NAME, gStringVar1); + if (!StringCompare(gSaveBlock2Ptr->playerName, gStringVar1)) + { + return FALSE; + } + return TRUE; +} + +void BufferLottoTicketNumber(void) +{ + if (gSpecialVar_Result >= 10000) + { + TV_PrintIntToStringVar(0, gSpecialVar_Result); + } + else if (gSpecialVar_Result >= 1000) + { + gStringVar1[0] = CHAR_0; + ConvertIntToDecimalStringN(gStringVar1 + 1, gSpecialVar_Result, 0, CountDigits(gSpecialVar_Result)); + } + else if (gSpecialVar_Result >= 100) + { + gStringVar1[0] = CHAR_0; + gStringVar1[1] = CHAR_0; + ConvertIntToDecimalStringN(gStringVar1 + 2, gSpecialVar_Result, 0, CountDigits(gSpecialVar_Result)); + } + else if (gSpecialVar_Result >= 10) + { + gStringVar1[0] = CHAR_0; + gStringVar1[1] = CHAR_0; + gStringVar1[2] = CHAR_0; + ConvertIntToDecimalStringN(gStringVar1 + 3, gSpecialVar_Result, 0, CountDigits(gSpecialVar_Result)); + } + else + { + gStringVar1[0] = CHAR_0; + gStringVar1[1] = CHAR_0; + gStringVar1[2] = CHAR_0; + gStringVar1[3] = CHAR_0; + ConvertIntToDecimalStringN(gStringVar1 + 4, gSpecialVar_Result, 0, CountDigits(gSpecialVar_Result)); + } +} + +u16 sub_813986C(void) +{ + switch (gSpecialVar_Result) + { + case 0: + return mevent_081445C0(3); + case 1: + return mevent_081445C0(4); + case 2: + return mevent_081445C0(0); + case 3: + return mevent_081445C0(1); + case 4: + return mevent_081445C0(2); + default: + return 0; + } +} + +bool8 sub_81398C0(void) +{ + if (gSpecialVar_0x8004 >= ITEM_TM01 && gSpecialVar_0x8004 <= ITEM_HM08) + { + StringCopy(gStringVar2, gMoveNames[ItemIdToBattleMoveId(gSpecialVar_0x8004)]); + return TRUE; + } + + return FALSE; +} + +bool8 sub_813990C(void) +{ + u8 partyCount = CalculatePlayerPartyCount(); + u8 i; + + for (i = 0; i < partyCount; i++) + { + if (GetMonData(&gPlayerParty[i], MON_DATA_SANITY_BIT1) == 1) + return TRUE; + } + + return FALSE; +} + +bool8 InMultiBattleRoom(void) +{ + if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(BATTLE_FRONTIER_BATTLE_TOWER_MULTI_BATTLE_ROOM) + && gSaveBlock1Ptr->location.mapNum == MAP_NUM(BATTLE_FRONTIER_BATTLE_TOWER_MULTI_BATTLE_ROOM) && + VarGet(VAR_0x40CE) == 2) + return TRUE; + return FALSE; +} + +void sub_8139980(void) +{ + SetCameraPanningCallback(NULL); + SetCameraPanning(8, 0); +} + +void SetDepartmentStoreFloorVar(void) +{ + u8 deptStoreFloor; + switch (gSaveBlock1Ptr->warp2.mapNum) + { + case MAP_NUM(LILYCOVE_CITY_DEPARTMENT_STORE_1F): + deptStoreFloor = 4; + break; + case MAP_NUM(LILYCOVE_CITY_DEPARTMENT_STORE_2F): + deptStoreFloor = 5; + break; + case MAP_NUM(LILYCOVE_CITY_DEPARTMENT_STORE_3F): + deptStoreFloor = 6; + break; + case MAP_NUM(LILYCOVE_CITY_DEPARTMENT_STORE_4F): + deptStoreFloor = 7; + break; + case MAP_NUM(LILYCOVE_CITY_DEPARTMENT_STORE_5F): + deptStoreFloor = 8; + break; + case MAP_NUM(LILYCOVE_CITY_DEPARTMENT_STORE_ROOFTOP): + deptStoreFloor = 15; + break; + default: + deptStoreFloor = 4; + break; + } + VarSet(VAR_DEPT_STORE_FLOOR, deptStoreFloor); +} diff --git a/src/match_call.c b/src/match_call.c index aa6945161a..99eb6d65a3 100644 --- a/src/match_call.c +++ b/src/match_call.c @@ -360,7 +360,7 @@ MATCHCALLDEF(sMomMatchCallHeader, 0, 0, FLAG_0x0D8, gMomMatchCallDesc, gMomMatch static const match_call_text_data_t sStevenTextScripts[] = { { gText_Steven_Pokenav_2B5B95, 0xffff, 0xffff }, - { gText_Steven_Pokenav_2B5C53, FLAG_0x0C7, 0xffff }, + { gText_Steven_Pokenav_2B5C53, FLAG_RUSTURF_TUNNEL_OPENED, 0xffff }, { gText_Steven_Pokenav_2B5CC9, FLAG_0x0D4, 0xffff }, { gText_Steven_Pokenav_2B5DB4, FLAG_0x070, 0xffff }, { gText_Steven_Pokenav_2B5E26, FLAG_0x4F6, 0xffff }, @@ -415,7 +415,7 @@ MATCHCALLDEF(sBrendanMatchCallHeader, 4, FEMALE, FLAG_0x0FD, gMayBrendanMatchCal static const match_call_text_data_t sWallyTextScripts[] = { { gText_Wally_Pokenav_2B4DE2, 0xFFFF, 0xFFFF }, - { gText_Wally_Pokenav_2B4E57, FLAG_0x0C7, 0xFFFF }, + { gText_Wally_Pokenav_2B4E57, FLAG_RUSTURF_TUNNEL_OPENED, 0xFFFF }, { gText_Wally_Pokenav_2B4EA5, FLAG_0x4F3, 0xFFFF }, { gText_Wally_Pokenav_2B4F41, FLAG_0x097, 0xFFFF }, { gText_Wally_Pokenav_2B4FF3, FLAG_0x06F, 0xFFFF }, diff --git a/src/region_map.c b/src/region_map.c index 5176d49968..4ed856c09b 100644 --- a/src/region_map.c +++ b/src/region_map.c @@ -52,7 +52,7 @@ static EWRAM_DATA struct { /*0x88c*/ u8 unk_88c[0x1c0]; /*0xa4c*/ u8 unk_a4c[0x26]; /*0xa72*/ bool8 unk_a72; -} *gUnknown_0203A148 = NULL; // a74 +} *sFlyMap = NULL; // a74 static bool32 gUnknown_03001180; static bool32 gUnknown_03001184; @@ -1578,8 +1578,8 @@ void MCB2_FlyMap(void) SetGpuReg(REG_OFFSET_BG2HOFS, 0); SetGpuReg(REG_OFFSET_BG3HOFS, 0); SetGpuReg(REG_OFFSET_BG3VOFS, 0); - gUnknown_0203A148 = malloc(sizeof(*gUnknown_0203A148)); - if (gUnknown_0203A148 == NULL) + sFlyMap = malloc(sizeof(*sFlyMap)); + if (sFlyMap == NULL) { SetMainCallback2(CB2_ReturnToFieldWithOpenMenu); } @@ -1608,11 +1608,11 @@ void MCB2_FlyMap(void) gMain.state++; break; case 4: - InitRegionMap(&gUnknown_0203A148->regionMap, FALSE); + InitRegionMap(&sFlyMap->regionMap, FALSE); CreateRegionMapCursor(0, 0); CreateRegionMapPlayerIcon(1, 1); - gUnknown_0203A148->mapSecId = gUnknown_0203A148->regionMap.mapSecId; - StringFill(gUnknown_0203A148->unk_a4c, CHAR_SPACE, 16); + sFlyMap->mapSecId = sFlyMap->regionMap.mapSecId; + StringFill(sFlyMap->unk_a4c, CHAR_SPACE, 16); gUnknown_03001180 = TRUE; sub_8124904(); gMain.state++; @@ -1664,7 +1664,7 @@ static void sub_81248C0(void) static void sub_81248D4(void) { - gUnknown_0203A148->unk_000(); + sFlyMap->unk_000(); AnimateSprites(); BuildOamBuffer(); do_scheduled_bg_tilemap_copies_to_vram(); @@ -1672,8 +1672,8 @@ static void sub_81248D4(void) static void sub_81248F4(void callback(void)) { - gUnknown_0203A148->unk_000 = callback; - gUnknown_0203A148->unk_004 = 0; + sFlyMap->unk_000 = callback; + sFlyMap->unk_004 = 0; } static void sub_8124904(void) @@ -1682,21 +1682,21 @@ static void sub_8124904(void) bool32 flag; const u8 *name; - if (gUnknown_0203A148->regionMap.iconDrawType > MAPSECTYPE_NONE && gUnknown_0203A148->regionMap.iconDrawType <= MAPSECTYPE_BATTLE_FRONTIER) + if (sFlyMap->regionMap.iconDrawType > MAPSECTYPE_NONE && sFlyMap->regionMap.iconDrawType <= MAPSECTYPE_BATTLE_FRONTIER) { flag = FALSE; for (i = 0; i < 1; i++) { - if (gUnknown_0203A148->regionMap.mapSecId == gUnknown_085A1EDC[i].mapSecId) + if (sFlyMap->regionMap.mapSecId == gUnknown_085A1EDC[i].mapSecId) { if (FlagGet(gUnknown_085A1EDC[i].flag)) { - StringLength(gUnknown_085A1EDC[i].name[gUnknown_0203A148->regionMap.posWithinMapSec]); + StringLength(gUnknown_085A1EDC[i].name[sFlyMap->regionMap.posWithinMapSec]); flag = TRUE; sub_8198070(0, FALSE); SetWindowBorderStyle(1, FALSE, 0x65, 0x0d); - PrintTextOnWindow(1, 1, gUnknown_0203A148->regionMap.mapSecName, 0, 1, 0, NULL); - name = gUnknown_085A1EDC[i].name[gUnknown_0203A148->regionMap.posWithinMapSec]; + PrintTextOnWindow(1, 1, sFlyMap->regionMap.mapSecName, 0, 1, 0, NULL); + name = gUnknown_085A1EDC[i].name[sFlyMap->regionMap.posWithinMapSec]; PrintTextOnWindow(1, 1, name, GetStringRightAlignXOffset(1, name, 0x60), 0x11, 0, NULL); schedule_bg_copy_tilemap_to_vram(0); gUnknown_03001180 = TRUE; @@ -1715,7 +1715,7 @@ static void sub_8124904(void) { FillWindowPixelBuffer(0, 0x11); } - PrintTextOnWindow(0, 1, gUnknown_0203A148->regionMap.mapSecName, 0, 1, 0, NULL); + PrintTextOnWindow(0, 1, sFlyMap->regionMap.mapSecName, 0, 1, 0, NULL); schedule_bg_copy_tilemap_to_vram(0); gUnknown_03001180 = FALSE; } @@ -1739,8 +1739,8 @@ static void sub_8124A70(void) { struct SpriteSheet sheet; - LZ77UnCompWram(sUnknown_085A1D68, gUnknown_0203A148->unk_88c); - sheet.data = gUnknown_0203A148->unk_88c; + LZ77UnCompWram(sUnknown_085A1D68, sFlyMap->unk_88c); + sheet.data = sFlyMap->unk_88c; sheet.size = 0x1c0; sheet.tag = 2; LoadSpriteSheet(&sheet); @@ -1829,7 +1829,7 @@ static void sub_8124BE4(void) static void sub_8124CBC(struct Sprite *sprite) { - if (gUnknown_0203A148->regionMap.mapSecId == sprite->data[0]) + if (sFlyMap->regionMap.mapSecId == sprite->data[0]) { if (++sprite->data[1] > 16) { @@ -1846,11 +1846,11 @@ static void sub_8124CBC(struct Sprite *sprite) static void sub_8124D14(void) { - switch (gUnknown_0203A148->unk_004) + switch (sFlyMap->unk_004) { case 0: BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0); - gUnknown_0203A148->unk_004++; + sFlyMap->unk_004++; break; case 1: if (!UpdatePaletteFade()) @@ -1863,7 +1863,7 @@ static void sub_8124D14(void) static void sub_8124D64(void) { - if (gUnknown_0203A148->unk_004 == 0) + if (sFlyMap->unk_004 == 0) { switch (sub_81230AC()) { @@ -1875,16 +1875,16 @@ static void sub_8124D64(void) sub_8124904(); break; case INPUT_EVENT_A_BUTTON: - if (gUnknown_0203A148->regionMap.iconDrawType == MAPSECTYPE_CITY_CANFLY || gUnknown_0203A148->regionMap.iconDrawType == MAPSECTYPE_BATTLE_FRONTIER) + if (sFlyMap->regionMap.iconDrawType == MAPSECTYPE_CITY_CANFLY || sFlyMap->regionMap.iconDrawType == MAPSECTYPE_BATTLE_FRONTIER) { m4aSongNumStart(SE_SELECT); - gUnknown_0203A148->unk_a72 = TRUE; + sFlyMap->unk_a72 = TRUE; sub_81248F4(sub_8124E0C); } break; case INPUT_EVENT_B_BUTTON: m4aSongNumStart(SE_SELECT); - gUnknown_0203A148->unk_a72 = FALSE; + sFlyMap->unk_a72 = FALSE; sub_81248F4(sub_8124E0C); break; } @@ -1893,19 +1893,19 @@ static void sub_8124D64(void) static void sub_8124E0C(void) { - switch (gUnknown_0203A148->unk_004) + switch (sFlyMap->unk_004) { case 0: BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); - gUnknown_0203A148->unk_004++; + sFlyMap->unk_004++; break; case 1: if (!UpdatePaletteFade()) { FreeRegionMapIconResources(); - if (gUnknown_0203A148->unk_a72) + if (sFlyMap->unk_a72) { - switch (gUnknown_0203A148->regionMap.mapSecId) + switch (sFlyMap->regionMap.mapSecId) { case MAPSEC_SOUTHERN_ISLAND: sub_8084CCC(0x15); @@ -1917,16 +1917,16 @@ static void sub_8124E0C(void) sub_8084CCC(gSaveBlock2Ptr->playerGender == MALE ? 0x0C : 0x0D); break; case MAPSEC_EVER_GRANDE_CITY: - sub_8084CCC(FlagGet(FLAG_LANDMARK_POKEMON_LEAGUE) && gUnknown_0203A148->regionMap.posWithinMapSec == 0 ? 0x14 : 0x0B); + sub_8084CCC(FlagGet(FLAG_LANDMARK_POKEMON_LEAGUE) && sFlyMap->regionMap.posWithinMapSec == 0 ? 0x14 : 0x0B); break; default: - if (sUnknown_085A1E3C[gUnknown_0203A148->regionMap.mapSecId][2] != 0) + if (sUnknown_085A1E3C[sFlyMap->regionMap.mapSecId][2] != 0) { - sub_8084CCC(sUnknown_085A1E3C[gUnknown_0203A148->regionMap.mapSecId][2]); + sub_8084CCC(sUnknown_085A1E3C[sFlyMap->regionMap.mapSecId][2]); } else { - warp1_set_2(sUnknown_085A1E3C[gUnknown_0203A148->regionMap.mapSecId][0], sUnknown_085A1E3C[gUnknown_0203A148->regionMap.mapSecId][1], -1); + warp1_set_2(sUnknown_085A1E3C[sFlyMap->regionMap.mapSecId][0], sUnknown_085A1E3C[sFlyMap->regionMap.mapSecId][1], -1); } break; } @@ -1936,10 +1936,10 @@ static void sub_8124E0C(void) { SetMainCallback2(sub_81B58A8); } - if (gUnknown_0203A148 != NULL) + if (sFlyMap != NULL) { - free(gUnknown_0203A148); - gUnknown_0203A148 = NULL; + free(sFlyMap); + sFlyMap = NULL; } FreeAllWindowBuffers(); } diff --git a/src/wallclock.c b/src/wallclock.c index 9b96d416cc..3d95d75aca 100644 --- a/src/wallclock.c +++ b/src/wallclock.c @@ -602,7 +602,7 @@ static void WallClockInit(void) ShowBg(3); } -void Cb2_StartWallClock(void) +void CB2_StartWallClock(void) { u8 taskId; u8 spriteId; @@ -644,7 +644,7 @@ void Cb2_StartWallClock(void) schedule_bg_copy_tilemap_to_vram(2); } -void Cb2_ViewWallClock(void) +void CB2_ViewWallClock(void) { u8 taskId; u8 spriteId; diff --git a/sym_ewram.txt b/sym_ewram.txt index 9a08597a83..1832e22402 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -603,21 +603,7 @@ gPlayerFacingPosition: @ 203AB40 .space 0x8 .include "src/pokeblock.o" - -gBikeCyclingChallenge: @ 203AB54 - .space 0x1 - -gBikeCollisions: @ 203AB55 - .space 0x3 - -gUnknown_0203AB58: @ 203AB58 - .space 0x4 - -gUnknown_0203AB5C: @ 203AB5C - .space 0x1 - -gUnknown_0203AB5D: @ 203AB5D - .space 0x1 + .include "src/field_specials.o" gUnknown_0203AB5E: @ 203AB5E .space 0x2 From dea0bba64e255615e6a5d7e712dd6150afd00b0b Mon Sep 17 00:00:00 2001 From: Slawter666 <38655737+Slawter666@users.noreply.github.com> Date: Thu, 9 Aug 2018 00:55:32 +0100 Subject: [PATCH 061/234] Merge "pokemon" frames --- .../event_objects/pics/pokemon/azumarill.png | Bin 0 -> 441 bytes .../pics/pokemon/azumarill/0.png | Bin 234 -> 0 bytes .../pics/pokemon/azumarill/1.png | Bin 230 -> 0 bytes .../pics/pokemon/azumarill/2.png | Bin 228 -> 0 bytes .../event_objects/pics/pokemon/azurill.png | Bin 0 -> 424 bytes .../event_objects/pics/pokemon/azurill/0.png | Bin 225 -> 0 bytes .../event_objects/pics/pokemon/azurill/1.png | Bin 215 -> 0 bytes .../event_objects/pics/pokemon/azurill/2.png | Bin 215 -> 0 bytes .../event_objects/pics/pokemon/deoxys.png | Bin 0 -> 663 bytes .../event_objects/pics/pokemon/deoxys/0.png | Bin 418 -> 0 bytes .../event_objects/pics/pokemon/deoxys/1.png | Bin 421 -> 0 bytes .../event_objects/pics/pokemon/dusclops.png | Bin 0 -> 756 bytes .../event_objects/pics/pokemon/dusclops/0.png | Bin 255 -> 0 bytes .../event_objects/pics/pokemon/dusclops/1.png | Bin 249 -> 0 bytes .../event_objects/pics/pokemon/dusclops/2.png | Bin 261 -> 0 bytes .../event_objects/pics/pokemon/dusclops/3.png | Bin 252 -> 0 bytes .../event_objects/pics/pokemon/dusclops/4.png | Bin 253 -> 0 bytes .../event_objects/pics/pokemon/dusclops/5.png | Bin 244 -> 0 bytes .../event_objects/pics/pokemon/dusclops/6.png | Bin 242 -> 0 bytes .../event_objects/pics/pokemon/dusclops/7.png | Bin 262 -> 0 bytes .../event_objects/pics/pokemon/dusclops/8.png | Bin 260 -> 0 bytes .../pics/pokemon/enemy_zigzagoon.png | Bin 0 -> 842 bytes .../pics/pokemon/enemy_zigzagoon/0.png | Bin 255 -> 0 bytes .../pics/pokemon/enemy_zigzagoon/1.png | Bin 252 -> 0 bytes .../pics/pokemon/enemy_zigzagoon/2.png | Bin 297 -> 0 bytes .../pics/pokemon/enemy_zigzagoon/3.png | Bin 263 -> 0 bytes .../pics/pokemon/enemy_zigzagoon/4.png | Bin 260 -> 0 bytes .../pics/pokemon/enemy_zigzagoon/5.png | Bin 261 -> 0 bytes .../pics/pokemon/enemy_zigzagoon/6.png | Bin 260 -> 0 bytes .../pics/pokemon/enemy_zigzagoon/7.png | Bin 299 -> 0 bytes .../pics/pokemon/enemy_zigzagoon/8.png | Bin 308 -> 0 bytes .../event_objects/pics/pokemon/groudon.png | Bin 0 -> 1168 bytes .../pics/pokemon/groudon_front/0.png | Bin 443 -> 0 bytes .../pics/pokemon/groudon_front/1.png | Bin 432 -> 0 bytes .../pics/pokemon/groudon_side/0.png | Bin 463 -> 0 bytes .../pics/pokemon/groudon_side/1.png | Bin 460 -> 0 bytes graphics/event_objects/pics/pokemon/ho_oh.png | Bin 0 -> 645 bytes .../event_objects/pics/pokemon/ho_oh/0.png | Bin 391 -> 0 bytes .../event_objects/pics/pokemon/ho_oh/1.png | Bin 351 -> 0 bytes .../event_objects/pics/pokemon/kecleon.png | Bin 0 -> 461 bytes .../event_objects/pics/pokemon/kecleon/0.png | Bin 244 -> 0 bytes .../event_objects/pics/pokemon/kecleon/1.png | Bin 235 -> 0 bytes .../event_objects/pics/pokemon/kecleon/2.png | Bin 240 -> 0 bytes .../event_objects/pics/pokemon/kirlia.png | Bin 0 -> 585 bytes .../event_objects/pics/pokemon/kirlia/0.png | Bin 253 -> 0 bytes .../event_objects/pics/pokemon/kirlia/1.png | Bin 241 -> 0 bytes .../event_objects/pics/pokemon/kirlia/2.png | Bin 234 -> 0 bytes .../event_objects/pics/pokemon/kirlia/3.png | Bin 253 -> 0 bytes .../event_objects/pics/pokemon/kirlia/4.png | Bin 251 -> 0 bytes .../event_objects/pics/pokemon/kirlia/5.png | Bin 239 -> 0 bytes .../event_objects/pics/pokemon/kirlia/6.png | Bin 240 -> 0 bytes .../event_objects/pics/pokemon/kirlia/7.png | Bin 232 -> 0 bytes .../event_objects/pics/pokemon/kirlia/8.png | Bin 232 -> 0 bytes .../event_objects/pics/pokemon/kyogre.png | Bin 0 -> 1153 bytes .../pics/pokemon/kyogre_front/0.png | Bin 423 -> 0 bytes .../pics/pokemon/kyogre_front/1.png | Bin 423 -> 0 bytes .../pics/pokemon/kyogre_side/0.png | Bin 415 -> 0 bytes .../pics/pokemon/kyogre_side/1.png | Bin 428 -> 0 bytes .../pics/pokemon/latias_latios.png | Bin 0 -> 689 bytes .../pics/pokemon/latias_latios/0.png | Bin 390 -> 0 bytes .../pics/pokemon/latias_latios/1.png | Bin 380 -> 0 bytes .../pics/pokemon/latias_latios/2.png | Bin 370 -> 0 bytes graphics/event_objects/pics/pokemon/lugia.png | Bin 0 -> 526 bytes .../event_objects/pics/pokemon/lugia/0.png | Bin 321 -> 0 bytes .../event_objects/pics/pokemon/lugia/1.png | Bin 285 -> 0 bytes graphics/event_objects/pics/pokemon/mew.png | Bin 0 -> 917 bytes graphics/event_objects/pics/pokemon/mew/0.png | Bin 279 -> 0 bytes graphics/event_objects/pics/pokemon/mew/1.png | Bin 261 -> 0 bytes graphics/event_objects/pics/pokemon/mew/2.png | Bin 266 -> 0 bytes graphics/event_objects/pics/pokemon/mew/3.png | Bin 276 -> 0 bytes graphics/event_objects/pics/pokemon/mew/4.png | Bin 270 -> 0 bytes graphics/event_objects/pics/pokemon/mew/5.png | Bin 265 -> 0 bytes graphics/event_objects/pics/pokemon/mew/6.png | Bin 261 -> 0 bytes graphics/event_objects/pics/pokemon/mew/7.png | Bin 266 -> 0 bytes graphics/event_objects/pics/pokemon/mew/8.png | Bin 261 -> 0 bytes .../event_objects/pics/pokemon/pikachu.png | Bin 0 -> 451 bytes .../event_objects/pics/pokemon/pikachu/0.png | Bin 246 -> 0 bytes .../event_objects/pics/pokemon/pikachu/1.png | Bin 226 -> 0 bytes .../event_objects/pics/pokemon/pikachu/2.png | Bin 234 -> 0 bytes .../event_objects/pics/pokemon/poochyena.png | Bin 0 -> 790 bytes .../pics/pokemon/poochyena/0.png | Bin 244 -> 0 bytes .../pics/pokemon/poochyena/1.png | Bin 239 -> 0 bytes .../pics/pokemon/poochyena/2.png | Bin 265 -> 0 bytes .../pics/pokemon/poochyena/3.png | Bin 250 -> 0 bytes .../pics/pokemon/poochyena/4.png | Bin 247 -> 0 bytes .../pics/pokemon/poochyena/5.png | Bin 245 -> 0 bytes .../pics/pokemon/poochyena/6.png | Bin 249 -> 0 bytes .../pics/pokemon/poochyena/7.png | Bin 272 -> 0 bytes .../pics/pokemon/poochyena/8.png | Bin 279 -> 0 bytes .../event_objects/pics/pokemon/rayquaza.png | Bin 0 -> 1507 bytes .../event_objects/pics/pokemon/rayquaza/0.png | Bin 480 -> 0 bytes .../event_objects/pics/pokemon/rayquaza/1.png | Bin 481 -> 0 bytes .../event_objects/pics/pokemon/rayquaza/2.png | Bin 497 -> 0 bytes .../event_objects/pics/pokemon/rayquaza/3.png | Bin 541 -> 0 bytes .../event_objects/pics/pokemon/rayquaza/4.png | Bin 544 -> 0 bytes .../event_objects/pics/pokemon/skitty.png | Bin 0 -> 448 bytes .../event_objects/pics/pokemon/skitty/0.png | Bin 230 -> 0 bytes .../event_objects/pics/pokemon/skitty/1.png | Bin 218 -> 0 bytes .../event_objects/pics/pokemon/skitty/2.png | Bin 232 -> 0 bytes .../event_objects/pics/pokemon/sudowoodo.png | Bin 0 -> 451 bytes .../pics/pokemon/sudowoodo/0.png | Bin 253 -> 0 bytes .../pics/pokemon/sudowoodo/1.png | Bin 258 -> 0 bytes .../pics/pokemon/sudowoodo/2.png | Bin 254 -> 0 bytes .../event_objects/pics/pokemon/vigoroth.png | Bin 0 -> 1096 bytes .../pics/pokemon/vigoroth_carrying_box/0.png | Bin 428 -> 0 bytes .../pics/pokemon/vigoroth_carrying_box/1.png | Bin 429 -> 0 bytes .../pics/pokemon/vigoroth_carrying_box/2.png | Bin 423 -> 0 bytes .../pics/pokemon/vigoroth_facing_away/0.png | Bin 399 -> 0 bytes .../pics/pokemon/vigoroth_facing_away/1.png | Bin 382 -> 0 bytes .../event_objects/pics/pokemon/wingull.png | Bin 0 -> 470 bytes .../event_objects/pics/pokemon/wingull/0.png | Bin 206 -> 0 bytes .../event_objects/pics/pokemon/wingull/1.png | Bin 206 -> 0 bytes .../event_objects/pics/pokemon/wingull/2.png | Bin 207 -> 0 bytes .../event_objects/pics/pokemon/wingull/3.png | Bin 202 -> 0 bytes .../event_objects/pics/pokemon/wingull/4.png | Bin 200 -> 0 bytes .../event_objects/pics/pokemon/wingull/5.png | Bin 202 -> 0 bytes .../event_objects/pics/pokemon/zigzagoon.png | Bin 0 -> 415 bytes .../pics/pokemon/zigzagoon/0.png | Bin 223 -> 0 bytes .../pics/pokemon/zigzagoon/1.png | Bin 211 -> 0 bytes .../pics/pokemon/zigzagoon/2.png | Bin 214 -> 0 bytes .../field_event_obj/event_object_graphics.h | 120 +++--------------- 121 files changed, 21 insertions(+), 99 deletions(-) create mode 100644 graphics/event_objects/pics/pokemon/azumarill.png delete mode 100644 graphics/event_objects/pics/pokemon/azumarill/0.png delete mode 100644 graphics/event_objects/pics/pokemon/azumarill/1.png delete mode 100644 graphics/event_objects/pics/pokemon/azumarill/2.png create mode 100644 graphics/event_objects/pics/pokemon/azurill.png delete mode 100644 graphics/event_objects/pics/pokemon/azurill/0.png delete mode 100644 graphics/event_objects/pics/pokemon/azurill/1.png delete mode 100644 graphics/event_objects/pics/pokemon/azurill/2.png create mode 100644 graphics/event_objects/pics/pokemon/deoxys.png delete mode 100644 graphics/event_objects/pics/pokemon/deoxys/0.png delete mode 100644 graphics/event_objects/pics/pokemon/deoxys/1.png create mode 100644 graphics/event_objects/pics/pokemon/dusclops.png delete mode 100644 graphics/event_objects/pics/pokemon/dusclops/0.png delete mode 100644 graphics/event_objects/pics/pokemon/dusclops/1.png delete mode 100644 graphics/event_objects/pics/pokemon/dusclops/2.png delete mode 100644 graphics/event_objects/pics/pokemon/dusclops/3.png delete mode 100644 graphics/event_objects/pics/pokemon/dusclops/4.png delete mode 100644 graphics/event_objects/pics/pokemon/dusclops/5.png delete mode 100644 graphics/event_objects/pics/pokemon/dusclops/6.png delete mode 100644 graphics/event_objects/pics/pokemon/dusclops/7.png delete mode 100644 graphics/event_objects/pics/pokemon/dusclops/8.png create mode 100644 graphics/event_objects/pics/pokemon/enemy_zigzagoon.png delete mode 100644 graphics/event_objects/pics/pokemon/enemy_zigzagoon/0.png delete mode 100644 graphics/event_objects/pics/pokemon/enemy_zigzagoon/1.png delete mode 100644 graphics/event_objects/pics/pokemon/enemy_zigzagoon/2.png delete mode 100644 graphics/event_objects/pics/pokemon/enemy_zigzagoon/3.png delete mode 100644 graphics/event_objects/pics/pokemon/enemy_zigzagoon/4.png delete mode 100644 graphics/event_objects/pics/pokemon/enemy_zigzagoon/5.png delete mode 100644 graphics/event_objects/pics/pokemon/enemy_zigzagoon/6.png delete mode 100644 graphics/event_objects/pics/pokemon/enemy_zigzagoon/7.png delete mode 100644 graphics/event_objects/pics/pokemon/enemy_zigzagoon/8.png create mode 100644 graphics/event_objects/pics/pokemon/groudon.png delete mode 100644 graphics/event_objects/pics/pokemon/groudon_front/0.png delete mode 100644 graphics/event_objects/pics/pokemon/groudon_front/1.png delete mode 100644 graphics/event_objects/pics/pokemon/groudon_side/0.png delete mode 100644 graphics/event_objects/pics/pokemon/groudon_side/1.png create mode 100644 graphics/event_objects/pics/pokemon/ho_oh.png delete mode 100644 graphics/event_objects/pics/pokemon/ho_oh/0.png delete mode 100644 graphics/event_objects/pics/pokemon/ho_oh/1.png create mode 100644 graphics/event_objects/pics/pokemon/kecleon.png delete mode 100644 graphics/event_objects/pics/pokemon/kecleon/0.png delete mode 100644 graphics/event_objects/pics/pokemon/kecleon/1.png delete mode 100644 graphics/event_objects/pics/pokemon/kecleon/2.png create mode 100644 graphics/event_objects/pics/pokemon/kirlia.png delete mode 100644 graphics/event_objects/pics/pokemon/kirlia/0.png delete mode 100644 graphics/event_objects/pics/pokemon/kirlia/1.png delete mode 100644 graphics/event_objects/pics/pokemon/kirlia/2.png delete mode 100644 graphics/event_objects/pics/pokemon/kirlia/3.png delete mode 100644 graphics/event_objects/pics/pokemon/kirlia/4.png delete mode 100644 graphics/event_objects/pics/pokemon/kirlia/5.png delete mode 100644 graphics/event_objects/pics/pokemon/kirlia/6.png delete mode 100644 graphics/event_objects/pics/pokemon/kirlia/7.png delete mode 100644 graphics/event_objects/pics/pokemon/kirlia/8.png create mode 100644 graphics/event_objects/pics/pokemon/kyogre.png delete mode 100644 graphics/event_objects/pics/pokemon/kyogre_front/0.png delete mode 100644 graphics/event_objects/pics/pokemon/kyogre_front/1.png delete mode 100644 graphics/event_objects/pics/pokemon/kyogre_side/0.png delete mode 100644 graphics/event_objects/pics/pokemon/kyogre_side/1.png create mode 100644 graphics/event_objects/pics/pokemon/latias_latios.png delete mode 100644 graphics/event_objects/pics/pokemon/latias_latios/0.png delete mode 100644 graphics/event_objects/pics/pokemon/latias_latios/1.png delete mode 100644 graphics/event_objects/pics/pokemon/latias_latios/2.png create mode 100644 graphics/event_objects/pics/pokemon/lugia.png delete mode 100644 graphics/event_objects/pics/pokemon/lugia/0.png delete mode 100644 graphics/event_objects/pics/pokemon/lugia/1.png create mode 100644 graphics/event_objects/pics/pokemon/mew.png delete mode 100644 graphics/event_objects/pics/pokemon/mew/0.png delete mode 100644 graphics/event_objects/pics/pokemon/mew/1.png delete mode 100644 graphics/event_objects/pics/pokemon/mew/2.png delete mode 100644 graphics/event_objects/pics/pokemon/mew/3.png delete mode 100644 graphics/event_objects/pics/pokemon/mew/4.png delete mode 100644 graphics/event_objects/pics/pokemon/mew/5.png delete mode 100644 graphics/event_objects/pics/pokemon/mew/6.png delete mode 100644 graphics/event_objects/pics/pokemon/mew/7.png delete mode 100644 graphics/event_objects/pics/pokemon/mew/8.png create mode 100644 graphics/event_objects/pics/pokemon/pikachu.png delete mode 100644 graphics/event_objects/pics/pokemon/pikachu/0.png delete mode 100644 graphics/event_objects/pics/pokemon/pikachu/1.png delete mode 100644 graphics/event_objects/pics/pokemon/pikachu/2.png create mode 100644 graphics/event_objects/pics/pokemon/poochyena.png delete mode 100644 graphics/event_objects/pics/pokemon/poochyena/0.png delete mode 100644 graphics/event_objects/pics/pokemon/poochyena/1.png delete mode 100644 graphics/event_objects/pics/pokemon/poochyena/2.png delete mode 100644 graphics/event_objects/pics/pokemon/poochyena/3.png delete mode 100644 graphics/event_objects/pics/pokemon/poochyena/4.png delete mode 100644 graphics/event_objects/pics/pokemon/poochyena/5.png delete mode 100644 graphics/event_objects/pics/pokemon/poochyena/6.png delete mode 100644 graphics/event_objects/pics/pokemon/poochyena/7.png delete mode 100644 graphics/event_objects/pics/pokemon/poochyena/8.png create mode 100644 graphics/event_objects/pics/pokemon/rayquaza.png delete mode 100644 graphics/event_objects/pics/pokemon/rayquaza/0.png delete mode 100644 graphics/event_objects/pics/pokemon/rayquaza/1.png delete mode 100644 graphics/event_objects/pics/pokemon/rayquaza/2.png delete mode 100644 graphics/event_objects/pics/pokemon/rayquaza/3.png delete mode 100644 graphics/event_objects/pics/pokemon/rayquaza/4.png create mode 100644 graphics/event_objects/pics/pokemon/skitty.png delete mode 100644 graphics/event_objects/pics/pokemon/skitty/0.png delete mode 100644 graphics/event_objects/pics/pokemon/skitty/1.png delete mode 100644 graphics/event_objects/pics/pokemon/skitty/2.png create mode 100644 graphics/event_objects/pics/pokemon/sudowoodo.png delete mode 100644 graphics/event_objects/pics/pokemon/sudowoodo/0.png delete mode 100644 graphics/event_objects/pics/pokemon/sudowoodo/1.png delete mode 100644 graphics/event_objects/pics/pokemon/sudowoodo/2.png create mode 100644 graphics/event_objects/pics/pokemon/vigoroth.png delete mode 100644 graphics/event_objects/pics/pokemon/vigoroth_carrying_box/0.png delete mode 100644 graphics/event_objects/pics/pokemon/vigoroth_carrying_box/1.png delete mode 100644 graphics/event_objects/pics/pokemon/vigoroth_carrying_box/2.png delete mode 100644 graphics/event_objects/pics/pokemon/vigoroth_facing_away/0.png delete mode 100644 graphics/event_objects/pics/pokemon/vigoroth_facing_away/1.png create mode 100644 graphics/event_objects/pics/pokemon/wingull.png delete mode 100644 graphics/event_objects/pics/pokemon/wingull/0.png delete mode 100644 graphics/event_objects/pics/pokemon/wingull/1.png delete mode 100644 graphics/event_objects/pics/pokemon/wingull/2.png delete mode 100644 graphics/event_objects/pics/pokemon/wingull/3.png delete mode 100644 graphics/event_objects/pics/pokemon/wingull/4.png delete mode 100644 graphics/event_objects/pics/pokemon/wingull/5.png create mode 100644 graphics/event_objects/pics/pokemon/zigzagoon.png delete mode 100644 graphics/event_objects/pics/pokemon/zigzagoon/0.png delete mode 100644 graphics/event_objects/pics/pokemon/zigzagoon/1.png delete mode 100644 graphics/event_objects/pics/pokemon/zigzagoon/2.png diff --git a/graphics/event_objects/pics/pokemon/azumarill.png b/graphics/event_objects/pics/pokemon/azumarill.png new file mode 100644 index 0000000000000000000000000000000000000000..0a03fd3d4d297723bc879d88f3fe1e50ab794d52 GIT binary patch literal 441 zcmeAS@N?(olHy`uVBq!ia0vp^20$#p!VDxAH9TwrQtTz3zOL+#I5@;*jePum=K+Pp zOI#yLg7ec#$`gxH8QgtbfW|14r4}g|>zNd`E_n!4!ckJ-=MI!H2C^Bv8Z_mB6id3J zuOkD)#(wTUiL5}rL4Z$)Yw^(~|F3TOe{{;dDaF-}j{lczxtdko?HDxW=(niuy#j_o zTb3kM7du*7O8o!-AE-$-ciwRz#hB#n?(%;r`=_HIPDzkoFoVOh8)-n!1y2{pkcv6E z6E=1oHsEnEt$rCUF2a8+pMGiw>Hq=)J7FXkL+Ui}ld9 z_ve>ysxP#!%XypHvuM9UvP^rCbn?#locxQMU7sKJa0<=joE~ bpMU1&XPR~RXGU;5&~FT$u6{1-oD!M7!iMxpyA)z6~|-o42Om`9Yn8l$JNsF35c_v|KKIMEth>Ceis@OY&V_O_wfeeSP7R eg4)+#7kPDUEapx*v}QZdP6kg`KbLh*2~7a0bY0Q_ diff --git a/graphics/event_objects/pics/pokemon/azumarill/1.png b/graphics/event_objects/pics/pokemon/azumarill/1.png deleted file mode 100644 index 16e493f8bf3d78b21038e00e0ff19a5b3dc7a5c9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 230 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUEk3&B|J5!3k50KarMTMB z@&A%7SF@_S9fPJE{T9`|SHLi6%aWw(Vn<6$iU0rq12xI!&N~jI7)yfuf*Bm1-ADs+ zQaoK8LpWxtp0(yXV!*+2VWp+zM^2wE(WSPn#p_JY@h)O*YWZ?Re8J+Ns^%A*31*)@ zxP)(QS{0VcvZYPf&_*ZvF7vW>)@Q$FzI{2N^#1$PHy+(PA8hXtx0gTe~DWM4fxOZC5 diff --git a/graphics/event_objects/pics/pokemon/azurill.png b/graphics/event_objects/pics/pokemon/azurill.png new file mode 100644 index 0000000000000000000000000000000000000000..d6050257b721a7d0373d2ce78130d5350a082443 GIT binary patch literal 424 zcmeAS@N?(olHy`uVBq!ia0vp^20$#p!VDxAH9TwrQtTz3zOL+#I5@=RBv0QDdR|DNig)WpMX#0UD!FmRh7>tY=c#y5u2H2}enRpF2>-7|3SuYS5GiQY`6? zzK#qG8~eHcB(ehe1_3@HuEj@}{J*;8|IsP;rW98@I{sg>LSDe?dRf1oDW+Lteo!Ew(xJ*r{=QPiTbq;6DRP?xAS%U6O8#ST&i;1 zW6`#fs(7U%0bVYX-&FA=?em(+5G$}$=yZ-{cfR;UPOf}~Jx-Ccma15LuNGMu(Ge~v zdqgX{@=?0{k!dcoKJ3onGSu0V*z|qzilvBHP9*sPgg&ebxsLQ02#1Y2mk;8 diff --git a/graphics/event_objects/pics/pokemon/azurill/1.png b/graphics/event_objects/pics/pokemon/azurill/1.png deleted file mode 100644 index 4e00acdc629d316b8018d971084ad5910b64a5d2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 215 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUEk3&B|J5!3k50KarMTMB z@&A%7SF@_S9fPJE{T9`|SHLi6%aWw(Vn<6$iU0rq12xI!&N~jI7)yfuf*Bm1-ADs+ zLOop^LpWyE_8Rgv81OI~e}Af{uQ1bUS=Ay;?V2+F^sP^qbIA6{JEVoy>Oe8YckWGGwCN9J9}>%L{4LU;J-ru#y#V8Y)gEz z(oKA(8Fub?5Fx<%+&034(Nfiz-}azpu!P>7!m#IAT_yX^^H;{Il-W<*)(*6Q!PC{x JWt~$(699|uP>TQn diff --git a/graphics/event_objects/pics/pokemon/deoxys.png b/graphics/event_objects/pics/pokemon/deoxys.png new file mode 100644 index 0000000000000000000000000000000000000000..2e892f0da0f19522eb0d78ae775bcb5df811a3e7 GIT binary patch literal 663 zcmeAS@N?(olHy`uVBq!ia0vp^4nVBH!VDw>HYaZfQtTz3zOL+#I5@=RSvDTxDFq6N zm$*ih1m~xflqVLYGPwJ=0F6;7OD$3`)-x$=UGfm9grlUu&mAaZ3}iESHE7BMDVB6c zUq=Rpjs4tz5?O(Kg8-ip*W#l~zI7L$P4e0jWSM2jP<{4jP;<3{qvg@=cT~)?ljv*Cu)=skZKWre- zW*hM-VyB70qGg=b8yhDI?A{W6RYW_{>p9iJ{rt7>1&}Tk}rtoXk8&BsQ4ivext> z2DO;qe=crjxy!@g5p-~Fx?noc)9Lxo%f+WWXSnqB=f@9!a@R2g75w>V@b}|cQHBLS zzC8OU^~r|8_3&MViqw*KU7{aknko@S^Q6<#WP|FzbF zkk4BaQd$b`7ipJmdKI;Vst0D(>k-~a#s literal 0 HcmV?d00001 diff --git a/graphics/event_objects/pics/pokemon/deoxys/0.png b/graphics/event_objects/pics/pokemon/deoxys/0.png deleted file mode 100644 index 37b90dbfe2adfb27bca524152c8c63986936ab3d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 418 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfvg8-ip*W#l~zI7L$P4e0jWSM2j zP<{4jP;<3{qvg@=cT$S;_|;n|HeAX~xH#W6%< zV(*0AeuoW2+H4~}N$eDt2#o#Cc%W_T!Q%_>u41z(adHwka?M4xmhsfB&f~9-@hxRt z$*t&F{Psv>-`|(^+vOMjXWPdAZ~0lPz$u?*H3XjW;=DHNYs|9JK0WC!$-@=Pr!pF> zGOsM&IkB>{&7Avxt-iV}dvfhKZez>~ z*k)sGOxuBwn%SsvhSK1u#vV#o5|A?Z=uWDvP45I_ygh`Ya7OF1G{}mY%MD JF6*2UngF$fuNeRU diff --git a/graphics/event_objects/pics/pokemon/deoxys/1.png b/graphics/event_objects/pics/pokemon/deoxys/1.png deleted file mode 100644 index 4d38cb9468ce5457b8b247bfdf68bc534cf714f7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 421 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfvg8-ip*W#l~zI7L$P4e0jWSM2j zP<{4jP;<3{qvg@=cT$S;_|;n|HeAY0kf#W6%< z;@k<={)Y`jT8$%KMeOuV6FHukpWC@{W$uFLs~!`taw5icS$Hn=q9E~yZoPmp9HY`+dxM9}c zzbrqYk+Ma9mp*{8oJ{=Q|$;=^~lmix)itA{Vgdb^*Dl-Sp8 zWB2NF2JdrL6aA&v_TDx~Gizb4DO|6+x7Fl;gt7Ytot13Mxh17*zB%#ETf6#kaK_0@ z!|FM+6};U}O^TYf#ar>z!s$n28rM6ln{zU6d%4JpNpIR$^ZRi=6#1^Sce_rFm*vwl zd->}9nYkGJ8THpYPGwQZ`)k`!5>j)AVbNki-=x}4*Rrbom(RVzFL~e3_Zhd;9Z+z3 My85}Sb4q9e0NT&4#Q*>R diff --git a/graphics/event_objects/pics/pokemon/dusclops.png b/graphics/event_objects/pics/pokemon/dusclops.png new file mode 100644 index 0000000000000000000000000000000000000000..faf183ff430c87c8bf4a34947385978cae6cee84 GIT binary patch literal 756 zcmVer2o~l|HYKvlyiGQL28Sv zIZ9#(5Fpiaq@+P}QXoOq)zyoOltDpK|Ns90001r;Hr;|^1v;n)FYu3NB>)xb+fyre1v;n)TcQC(H1OIe z8~d`cJDXl9-Z= zL(qb-&y;vu{D}DiR7g&!CBK3#jTiA*By&(H5DxqtXtaR~P#_8?)PpUJ57{|vjzt@7 z(YnRwu#Ud;lw2SVC)9&2(MZ3}(#Sb9!i41QhDNsn6liKtYXopw3uxU$ny8CR2gHcN z=^!%&a&!D*lN6vplExzfV!bs2ctnE<1&u#q$sy@V(mrgsfR`N;Si-hjR4bqmdXC58 zoQn&tD?8By+yX$XWGQLI310Y6aUO{Yk4|{XD1fE2CcYiL^$q`fUi2d%!&E@ynMztM z^LcD(jN|e{^$O?@O*7-^hV%MJ8&t&3;3|lvmo&P$zRxW?SO3+{k)Ff#UXKw{3wc#& mCg;pwhOKSR-Tv6zyT1WSO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p zQ|syC7$PxsZ{Kd-!v;JqS65zI_v%K(>Iy;S%*!&2>U!Qlb+CQIL`yfN<3a;s2gE)gXOn2<_JZIFW z`RJ&lr+3ASI6htxMZf(*RX=`qJgsm^dFmgpI4jux@%fkGK!-4Ry85}Sb4q9e0Ip+U A2><{9 diff --git a/graphics/event_objects/pics/pokemon/dusclops/1.png b/graphics/event_objects/pics/pokemon/dusclops/1.png deleted file mode 100644 index 70ec671c87596f6d30002a95f2277af5d0004265..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 249 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p zQ|{^F7$PxsZ=WF_vmy`6-Poh?FSmJAgmXF1WzyNX*y8i_8yi2hu4yruCCIeMe$9)E zEeDmS>U!>&m0G>->p!k&@2rM7$)?`h#5Nq3nLqo|VV|Xk3cIKFC~v%Qm-!h715?hP vhU2;+%NVXr)ziPXsy>N1_jj_xy!&>`HG{uQFS~XC=mZ8&S3j3^P6SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p z)9mTu7$Pxs?>R%h!wNjC0o#1eMsBXuu=C`bbkOD1wMKuDmCUPJ@-H}FX$yPBdFs&Q zzem+u_RH9Ay)SE-du3DM_&^ZjAu6{1- HoD!M<#jb0T diff --git a/graphics/event_objects/pics/pokemon/dusclops/3.png b/graphics/event_objects/pics/pokemon/dusclops/3.png deleted file mode 100644 index 3d5858ff6158bd9e14e15c64119de8e80d032bda..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 252 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p zQ|0O67$Pxs?^#8@BMuy_0Wzz~W!qoIEWI9Kc=DE%$F*LK__bM8ovhFJx_|2bVd?m1 zExpbEq13(yS*thRX)~f^!OYc^kxcc&mQwl0SLLFZrc}jt$Ti44$rjF6*2UngH@AW<&r0 diff --git a/graphics/event_objects/pics/pokemon/dusclops/4.png b/graphics/event_objects/pics/pokemon/dusclops/4.png deleted file mode 100644 index f99269afaf7393f263fbb260c8192e5b2fd2be20..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 253 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p zQ|;;E7$PxsZ{J4V!wwv-FIVh&T`KZ%?ITw|&)IA$SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p zQ{?I57$PxsZ=WIG5d#jEmq9<*zueXt-xeD$sI${M@yF@Lz}OlP>$YI;7xr!LLAfhJl&=D9XYh3Ob6Mw<&;$VX_hk(L diff --git a/graphics/event_objects/pics/pokemon/dusclops/6.png b/graphics/event_objects/pics/pokemon/dusclops/6.png deleted file mode 100644 index 3ff10d7abdd1e59c3a7cb2e18168386cda4ade8c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 242 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p zQ{d_17$PxsZ=WLH0Rs-#!r;BxvT3%GYv*aGlnOWR<~eoF;L7Q0#h(oIagp1E*m^@w zO)4-sTV@m=t+DwEgW=^_s?pp#4$qiB`_kbvtgVl_#WY-%ekSnwH)Zr6t`R8w!SFV3 m8NbG}wEW#0CF{C39OCv@49Mhb_Hzf?&EVSzDL@ diff --git a/graphics/event_objects/pics/pokemon/dusclops/7.png b/graphics/event_objects/pics/pokemon/dusclops/7.png deleted file mode 100644 index 925080a4fd508af5364f49441e25e7a00fe06a44..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 262 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p z)8gsk7$PxsZ{J4V!v;JoS9f})l^$1mq#}2ORaIdw*Ip)O%@&16Y?4Y-o~#itv-xBH zvE<$U#qE8y6C>0ZUNvOA4E6-tY*mb=@ZFi%7hUJG>JG81d zUMTX8QH}g1yY<;!ho(vW<<{C$HRQv*a;{i+M9t#gsaL}&W$GQg>534@Jq(_%elF{r G5}E)&9%ZQj diff --git a/graphics/event_objects/pics/pokemon/dusclops/8.png b/graphics/event_objects/pics/pokemon/dusclops/8.png deleted file mode 100644 index 57dcef59673bb94604b06ca4eccbb89b8a0df45e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 260 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p z)8y&m7$Pxs@41bh$r?&7dl;Ps)Hg8Y{hOS7 zvh3adrOW&F6inlMAd}&>zimz1Q{Irn$<2H=+buu4|6*dey@s*(d!Isv>d~u5R~Z(> ze=3=J>ia&~_?^@49_V!1S8AfD^><(R+LZ6L0<-GR{9rK1_L_F=(H|F}YZyFT{an^L HB{Ts5jiGBl diff --git a/graphics/event_objects/pics/pokemon/enemy_zigzagoon.png b/graphics/event_objects/pics/pokemon/enemy_zigzagoon.png new file mode 100644 index 0000000000000000000000000000000000000000..5c75f647f544260185f665d3195e112c2bbe2559 GIT binary patch literal 842 zcmV-Q1GW5#P)er2pQ{?zE)MgL8XYQk09F zb834zK~gCxIo{^(|HWFYds@XoL5nd#|Ns90008zjXW;+<00Cl4M@0Xn2lB-L0004W zQchC=5&FsY9SjyrE<=-3Y`=O{XO!(U{6hZ7lAh=HNJ=EcSYwSf)>vbW^*>he z&lSD9zXGVMcltRAYyj`>es&HCnm6jn0KEEe`Xmy6NXP{kfVY_4XQa&mn(43_2FQ+! z$}^9HAp)Jum8SJD03a3z#4aHR zfE01(XE_EfgKJ<3ItdtnG2AF($N_{(;v`=8<81&qq+8qt7@$9FUcT(ev-sjLEGj4@IzvJbBWO`&j%9Pf^Gs1V2Ho!#~}a#VJv0xscnN~0Kb%6 zhkkUi8%$^mIsy&=rmH%|ApjxdBu=hm*VGIEbXkTITz03@F<^p@00R&@S=BK)-N3Ss;SBH}bWT9kFY`$wrw*V_33+wHZy>3ku(cjS>1wkJ9@nTs!{Vw=BgN=ea8lYRPB_M}Ht-5GuT`S<&m9C}n=ee{1?3s>D^li%kvPi*^B zzU_a`C;6K%|IgO_r))j<{?q^U;wrKZwh1gu3@eg#KiqDf`wi$222WQ%mvv4FO#rj8 BZU+DW diff --git a/graphics/event_objects/pics/pokemon/enemy_zigzagoon/1.png b/graphics/event_objects/pics/pokemon/enemy_zigzagoon/1.png deleted file mode 100644 index b328fc84494fec475208cd6ff895951644a13665..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 252 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfvg8-ip*W#l~{@*+MZp)Ih&BfJG zK~uWt6lYaiItFQKTHbs1?*GxKHPul^9UZ$39smFT57hL{Ed3#nVk`;r3ubV5b|VeQ zsq%Dj4AGdFoFKvK!cZshkVBwlN*SF`$M3yN&F)?#QC*~9e0@W8eZhG21X>!*j x`$-4*>(!^~e?2kp_y42+?KeGda5B(i*wC%;^!=sVSAecy@O1TaS?83{1OTX#XT$&i diff --git a/graphics/event_objects/pics/pokemon/enemy_zigzagoon/2.png b/graphics/event_objects/pics/pokemon/enemy_zigzagoon/2.png deleted file mode 100644 index e4935a1cd609760e536ea58bc7b549208237b148..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 297 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfvg8-ip*W#l~{@*+MZp)Ih&BfJG zK~uWt6lYaiItFQKTHbs1?*GxKHPul^9UZ$39smFT57hL{Ed3#nVk`;r3ubV5b|VeQ zS?=lL7@{%pZNDLRvw=vlITpX0a%lAB!&xyCx}I_&d||izh$k z=a~5an8OG8$nMChNTW?+oBKX}>Pu14wSP8!`uX?nL5Uyt?|oEn?8LgiaMs`FCL+;u z-rCPrxc%tU{+o~Xb5A-TKK=jy*gq3le#F`_2yXiSzgdujfgxScu{4_VoLx3 diff --git a/graphics/event_objects/pics/pokemon/enemy_zigzagoon/6.png b/graphics/event_objects/pics/pokemon/enemy_zigzagoon/6.png deleted file mode 100644 index 38fec7b4691accec8826866b03dc338b97cf89cd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 260 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfvg8-ip*W#l~{@*+MZp)Ih&BfJG zK~uWt6lYaiItFQKTHbs1?*GxKHPul^9UZ$39smFT57hL{Ed3#nVk`;r3ubV5b|VeQ zY4UV&4AGdFoFKu<^GD$k^P~gm3hnphA`i$lJ+$iSeZ5~=TKVPAM>#;)xMXSIoxr65 zOrG7H3l?rlFm&SH-z_AtLxEF7%X+p%r!uF;%pE%{w3Ti?S_D-8q$%aJxT?CSYQ0LM z{69af_*WBczyI(4U!QXRqxRqb>sxdVe30+iz{IdXPF3~bYl-JT*D!dx`njxgN@xNA D#>;6t diff --git a/graphics/event_objects/pics/pokemon/enemy_zigzagoon/7.png b/graphics/event_objects/pics/pokemon/enemy_zigzagoon/7.png deleted file mode 100644 index a5a8c034deaeb968f479426543c2b1b381b2a7e9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 299 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfvg8-ip*W#l~{@*+MZp)Ih&BfJG zK~uWt6lYaiItFQKTHbs1?*GxKHPul^9UZ$39smFT57hL{Ed3#nVk`;r3ubV5b|VeQ zS?THG7@{#TIYFXvfn4l^&+H*~zn{NP*u|h0@aOO!X6t|$nPmrV9Qsk8Xz8rz(_nx0 zhDH2_9d{yR7PbGcj@neXZ^yqmZZG<2l5Fgld@#wm<3N4)|F>#+huRz%JEn=H ze@=SrlANqqx`L}tTs(QQOJcI~*H1+qy8rj@sL=3 diff --git a/graphics/event_objects/pics/pokemon/enemy_zigzagoon/8.png b/graphics/event_objects/pics/pokemon/enemy_zigzagoon/8.png deleted file mode 100644 index 727908cf9e674eb20f6cb97cc7931b60460f82eb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 308 zcmV-40n7f0P)SU>N?O9$nz`2UI@$=kH*;047lU!~6p~P+T0Qz}Uk0 ze_=U8AxwZj&Dc0!u(;e<9HNK+ds?z_zPPctu^>drw{rP3V>3Zx!D2&*z<-PX?Iv!* zhCl&`mKJC8V&g<(Vzl%RYpyNMS8A1zKH$Pe!-~a%?=Q1FjV8_h>0000er2o~l|HYKvlyiGQLCwwH zoSeN%N_%s?06}{I5IF$NVoH=bDN+ys|Ns90001$F0&@TW00Cl4M@0Xn2lB-L0004W zQchC!OFtG1 zlB4ce5V+-xBe5VLRvuN>dFCcjAu$^)slT>zhe|(j@!`Ynf((K#!jgm2IOFRV7yM6f zm}O!48@{faDf7j=L)4sQb@>}^X@f2{|LLg4G%L!>9HLD((?TB}UvLy+nx+|EW}@1r zSg3sebmyo%6(C7S`7$%6H2}r&_}o!`q7Y)1W@iqL9Fp_{fN^5Z9mU7>0ZEk%sl3FY zBmh8BP4xKO(cV%JTvcG&fsdR9(Wsk(ulT zT+BCw(7dmvFWoN1{L%A=Dl5A?h5x?G@0Qpn>>N2VI_@_uv_OxPrH@1wcOJh9ew~e&wOM*P`p;kV3WiTT9tc8xJlGjYtF=RvO(tIXgFdnHkojJ^&vA$+6 zNszB2JKJ zEA$_Yxsj1hCMnN{UcdtO6=8Rb2gY7Nws8#*r>J~FH$IJqVghnL^7`Nt0bGnDJ{4H( z-g~VE1-47*;#y`=!`csD6v^!U@Chy9A{xKue*JB(ax&uH7HY@mubqd0OjJf$-;N5$pwmhr|DFe2F`; iR!;Ktlj^)nzwj5!i3Drq3y(ek0000Ek+E*VFc5~bF-3hM#FNmi&J@Z*J;i;j4z@?TDXHgeZ!hO&JL7(Q$_8Of= z;{laCAev|rKx?Rp(8-5q3ow;fFM< zcoMXIeEXh0w1ida2-viY*J_v&I%)+a0J?Q1gx~ci0E^Ixbv7FWkqc$16Blpc=T{dm l_vBtK@u=_D$A38g{sm2}`;K(obwvOG002ovPDHLkV1ktIxpM#j diff --git a/graphics/event_objects/pics/pokemon/groudon_front/1.png b/graphics/event_objects/pics/pokemon/groudon_front/1.png deleted file mode 100644 index fcafab2a02298f3973d924adaf5658af71f22564..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 432 zcmV;h0Z;ykP)Ek+D+4Fc3uDrPA?hGO6sLB9+HTGGWAZ_h#=_d&;s{qDGb$gtekhKnrWze}Igw5+KMJV<`dbfkCRU z#-<8}-$DGhWU(i5MEj3>ulFPQnm*MG^l%5mc2>yq()pRyDgS-<8&*v2yliYedpbU_ zH3w#j&H%%~5fcM-42F_a+muuy1QhQr0eO)ZK-F3gEcn>ml)4@LNC5DPwVH0_8Wj*s zhz7h!S#~`I8}HibUP@UEdiG^J76<^Fbqp*{yIzGVFS~dn?((q0FKISW!RTY}XZip_ zlv4z94kN;~W`&Ek8Y$?unbtn*cK{<(r?=T+(7+UGM5nLbMO~h!c)5q^=^Bsv`gQ-0 a$@f1TsQDb98_?VU0000EQZa7BFbwnu3_qn$=r6h@V>1QF#=#QuEDchStr|>1 zSsD)(t0~A91Skp*j-e`o-K5%hINlw2DvF}0uCaK2RTuWmPr&F0ic0>?B{?(f8*!Kc z?>lFx0XqXsrbF~fZKe(1kwGM-6|4BxmCodzn-RGfpDh14s&5Z3WzS%JsGfrY*Ei zh{OE~Ekr)Wn|6+b+}#-f%vxz2TOsLClnnCJg7)}x@uEvA#}>HJAl=6rrAgNg`9Qe2^*z}KQH+vNw!B+hTyoG z%NPX$x)fk;b78@vdlXuIjfsKRN5A3Ji+?~hCg=PqegSvA35*r8%D(^r002ovPDHLk FV1i6#zl{I@ diff --git a/graphics/event_objects/pics/pokemon/groudon_side/1.png b/graphics/event_objects/pics/pokemon/groudon_side/1.png deleted file mode 100644 index 2ecf098223e17893eb727f45bb12b2f5ff538f16..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 460 zcmV;-0W+k+Dw0Fc60Q0#P4@N8l~kP)DXnEZ`wFujRq6I(o>R z90|1^a;J>lN*BnGq{by}DI1>rf4V#S|4)ejoW&vi)or(Cz5x>rn2c^Ny1?Lub*=n` z5VgT!Ee)OlqiX@k81p=LP>T)#O(pRRC>KCYl`-d;Kv~z>xD@Ubxm4~L(YrtNsUMa#x6tRC>rqQ~w zN2S|FY@_DZ8VdoV(k=;(n@1@vL3r7d3Tsi6JF-@42(P8rLl7cvN-3ouCnk@aL9xqU z^^gFjY@^G7AEH!ARu+#tIAy!hDJ2AB-PdM+^2fzi=Ll@&c>6R5%iJlbD~R&CjYamV zpy%r@K1nJC(^ZS0000000+sMObuGZ)S9NVRB^vM@&RePDdbiWpW@hE;Mn4q~QPn00?w&PDe*f zL^A*Y002sWDIWj;00d`2O+f$vv5yPer2o~l_PvzelyiGQLI2)L z)vO?cVgRIz?rKuKK{;aXb3v>@IZ81x|Ns90000acy<-3X00Cl4M@0Xn2lB-L0004W zQchC z1aKSZ0~k1~9RqGd;5h;^@`*(bl}%6PdB3DR%;=HPX`&}{fUAy@D8%zXB8TqAmx9q> zhaNOTff67wg}8Tz77l`epCJ&ZgxD6PB(Hktp7y}DVE(xN=^>VNsGvj;Cznwb_C13V zf4)~0XjY7DYb0{oqO!rjwmj^YltlqON&=i{3->(~&T8S9bdCWf9`;m)M76t-LVsNi z0fV#P>DuGWS3qaKmBM)6Q2??9XFHC*UPNsxg|VwveSZMHt`5M9-nCno!cesU?GZcA zWpDWCMDJ46r7#qVZ*m+^l0vppKjNlHQj!#AI98&T;$z#|vVp6Q2ZamU`j|w=*&@4=E5O49d;JuqQoTVrV(xQ6tU)v*-00001 zbW%=J06^y0W&i*I1xZ9fR49>SU>L-JYr$O*b(d=aRAA-Y-4_@bcz55N1rz9o2<(6g zaLstV7ewFQ*9pyYCf5&&oca5vAckLta1xxYkMU zWhhH$xV`b!0;r02dwEO4FWi0yRk3o$>)m(C($DVR*9q0K^5O2YrQvsW%gusl;hMSb z^_|l2v-@7ngbJ*B_vX&F?6c?It%7=H<*YaNPVaepZY9hwTr20?`x^iDJuqQoTVrV(xQ6tU)v*-00001 zbW%=J06^y0W&i*H-AP12R49?v&@qa_P!I;-X@Vel0r3_VUL(zBN~@5Wh82>&pX1vbDhS zr*c-duqxovE#SL?Wg;El>ub_1`}$mYL)cd|hY~m6iKC%3dl(T8IBVMYs x+bT^9^~ubPf6VV>VekLk!L|Xz{i{!XvnhmH~yt zOI#yLg7ec#$`gxH8QgtbfW|14r4}g|>zNd`E_n!4!ckJ-=MI!H2C^Bv8Z_mB6id3J zuOkD)#(wTUiL5}rL4Z$)Yw^(~|F3TOe{{;dDaF-}j%Ux_n=@yxmsfT1UIxc%1_4Wk zvq@f4EH#4!82vaP68D#96<*jp`LXfUJM;OXWP=$w_KF7?a!D)t*gkq7eAnbx&e84sXO3NYxV9qM z*(TaK&qchgAyc}RVOp-#`DvW7kx`G^eHE;g3_N>G)lI6%Saz{=_|u+qt!^vR zm{w;U6WVcWqL5z9#I=mSs_xy7{kcks%dx{vtiF1m{qrDl)-!~g&Pftn0En2LcEV@Z%-FoVOh8)-mJ zk*AAe2**s_o{hW>20SdW)jc5^zFi>(ajR4=Tx97~QsVu@(!=oDfbo6D_0v{+|Eejy zJZ8Ye+*k1IpwPz!0$M`BlQ!%W_?&R)2WSEa$E9(s;o+PN3}!p00i_>zopr01L%ltpET3 diff --git a/graphics/event_objects/pics/pokemon/kecleon/1.png b/graphics/event_objects/pics/pokemon/kecleon/1.png deleted file mode 100644 index 0d82cc66d96e68cb7e4d18509a29db1aba7bffe2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 235 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUEk3&B|J5!3k50KarMTMB z@$A`qbLQ;z@~ST0%ivheAYjRGHpy#>rDl)-!~g&Pftn0En2LcEV@Z%-FoVOh8)-mJ zrl*Tz2**s_9z(tc2M(5%m2FpFa(}5#FWz~HFR5@NQ{1D?F?y4DZ@w`S2=qzRWjtte zwd!Waj*#m?>=U diff --git a/graphics/event_objects/pics/pokemon/kecleon/2.png b/graphics/event_objects/pics/pokemon/kecleon/2.png deleted file mode 100644 index 2713ce0571d8c4c702cfbdebd0d47c873c9acae8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 240 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUEk3&B|J5!3k50KarMTMB z@$A`qbLQ;z@~ST0%ivheAYjRGHpy#>rDl)-!~g&Pftn0En2LcEV@Z%-FoVOh8)-mJ zo~Mgr2**s{-i^Es20SdW={#C4v)NMjT(H<;a$`}4%j5_hp<|7#8w6SJ|9ScJJM#*c z2UAN9KbP3NE4uo~f`Fv<$!dI$r|Jak$lN&lZZ+5DsbyYUQwo&DQ<}Y|?1=J>vc732 ke_QPulRMA-jJEl5O@bO{_M9}{544%V)78&qol`;+0L`ddeE zc!_I7NpOBzNqJ&XDucU^3(y#aveY64V?C3?)+G;tN;pai{M>;u#y~cMSA(WJkYY)9 z^mSxl*x1kgCy^D%Hwf?vaVJ4R(edordvoUO_42AN-pk-v%^+aO za5l+nilt_d0K@-i&ZJnOtU%puwui)u%Q%F3rLjS=5YF3@j~j%eYkG@PgJ%VN;cyiZ|@&NB;hL>@h0+cup)YY9(;`HG%^@4BsOOhFyZjBM65SCp$# zC-#{-`S)LQX7o_xW1GPyb@*Bu$A-k!iu_9i*qMFg?>u|Wc!Y14|GEqfMxd^JCL65& zx|mOSE}OM&k-i&4yTuFc$a&vCn{D;9UDCZdO9kofdS9p>FVdQ&MBb@0C5uOpa1{> literal 0 HcmV?d00001 diff --git a/graphics/event_objects/pics/pokemon/kirlia/0.png b/graphics/event_objects/pics/pokemon/kirlia/0.png deleted file mode 100644 index e069df489954f2c92de7da94fc3adc63501f7e18..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 253 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p zQ|;;E7$Pw>IYA=lfyv=jq1-$84GivBUNv0&`V1=@+dW}fS=n^QB6F*>5(ZX@9cg7} zUd&-lIy1|%Sgd1X(W`Saqto>mjHbPtwY5~WW206{rbx?1om|n5jagTB?+IVs!1Ha( ymQ7nqCNwU6c{!Ndf#=&)?di^Mo=3I5kz(*KHgZ>Y$(;>!27{-opUXO@geCxvK49Dc diff --git a/graphics/event_objects/pics/pokemon/kirlia/1.png b/graphics/event_objects/pics/pokemon/kirlia/1.png deleted file mode 100644 index d158bd335122a0a1ca66666f165637da0cb06911..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 241 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p zlke%`7$Pw>IYA=l0ng!8q1+XG1_pO5uNp3XeTJ2d?Vhx(vDLe#Ck{Ld7?`j3^!4>c zDjYl0CplN)*r`b4^mDUzGMtEDWzn7}>7d1(q0%vN+BDXr4ed*(E^Te*(ea%>FNz^) l!}^$=GD-H=wNkD#FqoV)>=xVcGXrQfgQu&X%Q~loCIFFBSR()c diff --git a/graphics/event_objects/pics/pokemon/kirlia/2.png b/graphics/event_objects/pics/pokemon/kirlia/2.png deleted file mode 100644 index 388077d93ebe89043d1bec0b9d54214bd9a0b4d2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 234 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p zli}&&7$Pw>IYFW%;p&~;3A0u|{x*+W;aJzYyXkpNtX1FV?A^$4V#Y+XZcXDOf fUS~=<&cN{Hk!HrD@GEbCb~1Rn`njxgN@xNA5{_FZ diff --git a/graphics/event_objects/pics/pokemon/kirlia/3.png b/graphics/event_objects/pics/pokemon/kirlia/3.png deleted file mode 100644 index 4887b1653474862776d7100d4e3795158ea6996a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 253 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p zQ|;;E7$Pw>IYDB}1Czt6Lb-SF8yMWNylS}k^%+(+wtK>|va;!pMdns%B@C<*JJQO| zyqLq9bY_-iu~^5(qF3i;MyKmB7)^UOYip@$$40G^Op%t2I=P}98?&zN-V?sMf#=(n yEt|HKOlVyC@^Ub@1J5_n)zh5cJZI8MU|{IlW@Nj#X8|YB84RATelF{r5}E*`q+p`} diff --git a/graphics/event_objects/pics/pokemon/kirlia/4.png b/graphics/event_objects/pics/pokemon/kirlia/4.png deleted file mode 100644 index e734a8f60ecf83b2bc9a9ecbd189d2f0c7dfd93d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 251 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p zQ|amA7$Pw>IYDB}1Czt6Lb-SF8yMWNylS}k^%+(+wtK>|va;!pMdns%B@C<*JJQO| zyqLq9bY_-iu~^5(qF3i;MyKmB7)^UOYip@$$40G^Op%t2I=P}98?&zN-V?sMf#=(n wEt|HKOlVyC@^Ub@1JAcm?P<=k8@M_cyVe=mZjboC7U&2DPgg&ebxsLQ0NN>FJpcdz diff --git a/graphics/event_objects/pics/pokemon/kirlia/5.png b/graphics/event_objects/pics/pokemon/kirlia/5.png deleted file mode 100644 index e2e36561bb87e008b353721817cf1372006336de..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 239 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p zlk4f?7$Pw>IYDB}1D?aHLb)sW3=HmAUNv0&`V1=@+dXMnW2<*fPaJp_Ffd>5>Feu@ zR5*5~Pjarpu~U)8>E~wcWH=GQ%A!3{(m{(mL#1Qlv}vqK8`_snUE12rqjPr7yeNjG j4eO&e%Did_b>LwrJ7?IuK~MS+&|(HpS3j3^P61_4yIxt#aI&L7tG-B>_!@p zljrH;7$Pw>IYDB}1D?aHLb)sW3=HmAUNv0&`V1=@+dXMnW2<*fPaJp_Ffd>5>Feu@ zR5*5~Pjarpu~U)8>E~wcWH=GQ%A!3{(m{(mL#1Qlv}vqK8`_snUE12rqvJb&W)wrx khV>C!Ws>a00~nbZ%B~nTYaY3M6=*Yqr>mdKI;Vst06^SVKL7v# diff --git a/graphics/event_objects/pics/pokemon/kirlia/7.png b/graphics/event_objects/pics/pokemon/kirlia/7.png deleted file mode 100644 index c4f33879cdaa594bc4eca825fd9701aa5253b423..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 232 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p zljiB-7$Pw>IYDAi!qq#w6K1V`{B0h$!m+M(chmElSgXFz*}IY9#EgrE#cAvvhQ-%b z&D1{Fb2ZR7yisDapL>%e&uXV|CyAKL4LlPp-@Ff7%VaEZ>hLASvZ>Rii8|;+Zxl+i b6`#Ps(C|>RK=um@$a)4(S3j3^P61_4yIxt#aI&L7tG-B>_!@p zljiB-7$Pw>IYDAi!qq#w6K1V`{B0h$!m+M(chmElSgXFz*}IY9#EgrE#cAvvhQ-%b z&D1{Fb2ZR7yisDapL>%e&uXV|CyAKL4LlPp-@Ff7%VaEZ>hLASvZ>Rii8|=azRJ3_ dj?sgYq2Y$+&AKmla)CB7c)I$ztaD0e0swd)T2lZ3 diff --git a/graphics/event_objects/pics/pokemon/kyogre.png b/graphics/event_objects/pics/pokemon/kyogre.png new file mode 100644 index 0000000000000000000000000000000000000000..b67f3b15fc985502c328e3dc9675c877333031c2 GIT binary patch literal 1153 zcmV-{1b+L8P)000+sMObuGZ)S9NVRB^vM@&RePDdbiWpW@hE;Mn4q~QPn00?w&PDe*f zL^A*Y002sWDIWj;00d`2O+f$vv5yPer2o~l|HYKvlyiGQL28Sv zIZ9#(5Fpiaq@+P}QXoOq)zyoOltDpK|Ns90001r;H>O2!%tDgNCia#P&&Y%Ex=E#VFnrJa+h=fkiYuCn+y!lo+?SJK+1r2 z&=~`;Ghjxq(ee=h1?`e2OhH0~SV9GJ&T%&A#gG7HHS^&H5YejzBv@96GQ!XS2EBN) zXEGpQvFsCqRinUm)6}4%C_PdKXnUOz;O>c`N+3#2^6ERwxNbn%G6e=JdnlONLl4?s z^AS9*NQS6Fl^e`|`$&43Hk4Ecu=@%JK&Ks`+cX=Z!pjecn6H!AkPfA-?6g}1=dN#N zz2+lWBD$2_iiLluYs`1J#Cuwz19WSIJ)qYNNIB*8C!iHuauojY?X;#O4BpezrcAy2 z2habh@7x=m^K3j~MgZ%`_tS#~5L&sr5NVs^cTu{#5H(K6tZm9PQe*(7>>rN@iBuz; z%gWvbF`qcYda7B+i(b!~!m}w$24IcScINRwZGzQqPUlO3Qb&_dZ1{U!3Mxz43_2#w zDVMd8lyj9J=a`vF5NzKjd>2NbqlD`UufkHmX#~xnV>ofjdjSHgJgvIIFA@y~3q@rt zyphmRU$#={(QT;rruEv}a)UbIeUvnIas zrpp?Hk?55miylCm@+u4XqD^I&M45`$*UOit?R6HvW`LLKS_`UR(D$woF2G0f@Fy6$ zPBcHAr|`?e!(Y(Sb>i#4$l${RFGxEOp(*&Mp$C8q(70>`${klauTY<_mu-ylch+wz zY|d8)pkAnL3ElOhfHs-yKhy0D?DFMR_|HAvzh@J9hu3B$DegSPIQ>st3u;^ zSr_lA+3Ih>rfF1)YXQ?FO6UR%KC z=l$jeFxgY6QzM$Cjz{I*{;g@}{wCkc!B2lWlijg;LL`Usyk|7}#qIb0xC8zJ0efB} Tutt>S00000NkvXXu0mjf{7VTd literal 0 HcmV?d00001 diff --git a/graphics/event_objects/pics/pokemon/kyogre_front/0.png b/graphics/event_objects/pics/pokemon/kyogre_front/0.png deleted file mode 100644 index 2cfea8e010bf96377bb70edb69953bdc6b8fc640..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 423 zcmV;Y0a*TtP)x_HVh9i*)pMkzL32_dLDkjOi;I*&K~n$!{{R30E*dwM00001 zbW%=J06^y0W&i*IB}qg-woKsY15dRPt3yZB-Li7-W3YTYLw4!9a|M@v;Ou#x_HVh9i*)pMkzL32_dLDkjOi;I*&K~n$!{{R30E*dwM00001 zbW%=J06^y0W&i*IB}qgey$&U;-#r zy#R?QvRWgW1R6Amwm_6vG60VSN+N?6+hwTNWGqo3NvxnDM~JbM31kgfj4CLNV4xX@ z4S*+HMC}^g>jcCGoc?D2l9ER+!=1rhnY4>)s|1cd@Kh6I^}*oxXp{uVF-ZN+;7J&T z1LP{m?OUV508>zHlY*5#s2Qfu(Aeb(6{UKf;r4?~Trc{vE%EIJQ?ID_qNrC(VVohK zdU7WQ2S?*P0F2YIK6FIgDXZo_2Fu3_WY?~{)Nt(w&Ys8W&S#gpO>W&3{s3)Zn-KY0 R0!sh@002ovPDHLkV1nW?xIzE` diff --git a/graphics/event_objects/pics/pokemon/kyogre_side/0.png b/graphics/event_objects/pics/pokemon/kyogre_side/0.png deleted file mode 100644 index f60199f77bdecaae41442696111afa3508dd1ac0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 415 zcmV;Q0bu@#P)x_HVh9i*)pMkzL32_dLDkjOi;I*&K~n$!{{R30E*dwM00001 zbW%=J06^y0W&i*I9Z5t%R49>E(ZOzmFboD@pE8N}GbrrBrGJ!+1JYDbyXPQMb}tfr zfS%BfMb&tgJ;NMYXz?lfupQ$NNvHy}iI3~B5vB8VBT8$yp?CrI-nv)Vd66PHuY#tj zebIlf84YvRByGM{aEv3nm>UcD9&mEZ)&%DCs5nB$OJrbFlq?l|KGi$P=oiStDXXPv zk4KN*o;a&W0PlYbM6n*_@8yScZ#zz@7R(^Vif(-G+mgneM`4QS7E6C&G&R?CfV_Y&DUYn}Rv z?)#WQW(gHNHb%;E3-7AuGYsg^H5(Yd#^DJBHI$>-yg$_P{U3__lkd%ae3k$J002ov JPDHLkV1l|9v(Eqk diff --git a/graphics/event_objects/pics/pokemon/kyogre_side/1.png b/graphics/event_objects/pics/pokemon/kyogre_side/1.png deleted file mode 100644 index 00d53d563c8405275aba1a95807386c6bbf48c4c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 428 zcmV;d0aN~oP)x_HVh9i*)pMkzL32_dLDkjOi;I*&K~n$!{{R30E*dwM00001 zbW%=J06^y0W&i*IDoI2^R49>E(XnpAFc1ddn~2o+J0qtHi+?L2L!_#)XrIGIX6gbc z?Cr#yC~BUi&(Jdv2scFWC!c-iBTBJYfu3UBou6c(bM+)fYn12J1FUl>%JMWN*mq{v z9NHaGR?8ZkV)@~7NftQpH5BIruIa_xfbG|U6;XQ!u8oqE87$>j0Mq)kcP!Nv!My&Z zbsqQZ98nce{eBCy#a^-m1_0HM$%BBhQr8e8stzr7tdL-Q+eFzEu#>M8N>#rZE>Hxx zOE2R%Sik{W+oWCyKrrW}B0xCnJBW!;#sh1Q-<2j&qa&3KmBKGWIv((@nVzAUq zkZB#gmLlM20@fer2o~l|HYKvlyiGQLI2et z-kcC>ISA%bV#NS4VgMMNVoGW;F);ub|Ns90003V0bYTDh00Cl4M@0Xn2lB-L0004W zQchC}@?Ta#cP$$tAS|gQ%)usjX zc&Hnr#}b$W9d4n(c;Y(F0N@eY%CL(yfc`)Y^o)T5(#8}K0mDRR`rH=ctT2C|*VWkT0oyZvaA1gY-d6a= zH5q$N#upBVSa`~~6;O?DeZLubKi>e88;tIEf{eX^jN8DyQIDIzxlxdD1*o{F@!KnR zt5Kz3EzBJ7Wb6Pk_P3}oB|9aY_5Vg-BLgsxRHqIo#uf0}2odW5=zwh80;(}GKsJ1y z(+WsufM(>o5iC|kJX&`NP>lo--tHqFbHMK0ML=2s!jJpBm%D6xs;huW>7%`Suu19Z zHUNaL*N3}lflv@v0W#QwfTw3S+kh^ZhAPk0?S@M=gJxkY0eFBGpv5FZ^GJ*&CN*xJ< zbyhl5b-1J%Yegn}{(VD{x|-gU->yJz+6Zq^)h^4XVpWOvPR?Q!=R?3>dVU^13w4mI zKuu_D17==pv0`E(BF|JaB!n?XX5!#l?+HCKSWaQ>(-hADU{iRGd1C^W@7!XF$x0G` zo*P6sfIYX;#!8Ac<^oJw77u0&wYIen?Pc*!pS*X2;tdGZ@!OQ2741-&~qPO>Ll4)C) k@lqwUqIwz+rPY7z7kl};$LDka=>Px#07*qoM6N<$g0%;uMgRZ+ diff --git a/graphics/event_objects/pics/pokemon/latias_latios/1.png b/graphics/event_objects/pics/pokemon/latias_latios/1.png deleted file mode 100644 index 57cde71a989ecfdc93de4d6a3b90319f8fe19c6b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 380 zcmV-?0fYXDP)ckUeh0Fbst?bMY;MX6ag>C!jTGEJ6>7M~Q=aEn5ST zv0j2w*54Ar5X8^#JyJ4;%~-JN=GOtvGuR=p<{eNSK(3&<|E!OCik|UVgtM0nwouK} zEuKL9qcv-w4RE-fnS;#F4pJ210YFQ1irPGr7esX1ZwGNh(XRs?K@BM5mN6%w>j11% zi?jWf-ntKmpB9_MV?1zv`33+b1tONMdO$=HEqSkib<(6Yb5rChv#JOrF@v~MN%eG( zvMZol1@m2hs*FlsSkUftxl%&Aln4&|bG+CzbP av;F}@@U-!-OKti90000UkUeh0Fbst?bIC1(X6ag>C!jT`TTyyQJz5-eE?dKE z$9gHsSU+_TK_I11fm0sUxH88W9CnJCIf>sHYaZfQtTz3zOL+#I5@;rH7{=Is{{&( zm$*ih1m~xflqVLYGPwJ=0F6;7OD$3`)-x$=UGfm9grlUu&mAaZ3}iESHE7BMDVB6c zUq=Rpjs4tz5?O(Kg8-ip*W#l~{$JhlZSRzOQ;Mq{9se)cay6^E+c9X$(RWGBXDuzg zjvl?*-95$2E9(FM|3FRiPksLeq!^RD-Ch1KW&d;(#3>2#3ubV5b|VeQR`qmo45^s& zcA{fmvw?tXZG*!6`>W?M`xb6m%b{|+OXAwp$NaZBmcF~fnH;1U#CO5*#IJ9kYtHus z{r_0B@1m^n#z~B-O6%&SZ7r&Ixz8#8kq;Ebqp?pW#<{_femz`;?9} zW$c_%k|%P}AW6o0)wH!so*tdmp>%9!M)m%Olh(z2TOhShtX+80wxF%g!aul|UthF* z_O?k)oY!@q+l0P}+`s+A;oVb0rUfy5|I_UC?y81^$+1104;uB88T1?0+4UAiXRh^c zIKTOFsqv0q3ZaqmY|j;Ile?>C@hg?)@6LSpc0rNLQsZ?cJumAu>lkKgurn$C4wwN9 OJqAx#KbLh*2~7Z=4BGJk literal 0 HcmV?d00001 diff --git a/graphics/event_objects/pics/pokemon/lugia/0.png b/graphics/event_objects/pics/pokemon/lugia/0.png deleted file mode 100644 index 4e50209fe1699e8f7f0b888e3e2f6c0e60f99771..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 321 zcmV-H0lxl;P)N?QN_{{R30pUU_400001 zbW%=J06^y0W&i*Hzez+vR49?nk4p}NFbqU}fFjPHRnLJep!<~1wxWRpgiP30h^CeT zDBPgV!k!n8WfT2znEslx*2Row2Npfuh(;Sf=nVnwgGS8JGgfc{GN9T4;BJ@&pg%0` ziMhdP0k#%szDI|EPyzJ`2DnK?Ft8D~G$e5S781v-e{lH~hENA8bzcSbRaZ+kn zeK@2=rpV)P-Y>)qi6;6KTog+Jf>P?9fV_MuW$FazW-_`N?QN_{{R30pUU_400001 zbW%=J06^y0W&i*Hn@L1LR49?v&Or{sAP@ym4$!9O?@`QH?AEj)?kli1Q$Fm8V$)D9 z#>BNlSn%@6d?EgRs!ve;52!GgFk&tuK>>Z(L6X2}56uHe`!CHMt^n)d{pIznH6{4i z=?$)+0X)b#XKF*#Er(=|)WAr3Ix4ul0>GILOE;f^fm_=GoIw~~fw3))lAYBI+R8UZ jP9Yj;-_286@7H+(I1p`(x=6R400000NkvXXu0mjfAH8~` diff --git a/graphics/event_objects/pics/pokemon/mew.png b/graphics/event_objects/pics/pokemon/mew.png new file mode 100644 index 0000000000000000000000000000000000000000..152bdabce2a86b7c4016abc18b81fafaa63ea987 GIT binary patch literal 917 zcmV;G18V$er2o~l|HYKvlyiGQLI0$* z)oOc-K~j{(_F9X*5HV7;q+)w>K{+`X|Ns900013rp2q+H00Cl4M@0Xn2lB-L0004W zQchCb3V4C;;{J#@PTZsS9pC11Y%I}P78QzhTqOwHk z-ZN%FxWKQmYNqcG8S8oJ!kFhh&)Xmg3)FJ$lKw{Zg%ZyI8kcLVby?8chAVnlpvt94 zx}o|UU(GGRRC?}0&&{LLje1W*#?aV z^6h;vTn>@1xpi)Z{OX3!Xg_R%E(7Uwb}9rxXK4WiDU<8#N)ou9bQRxiZ9N6;!Z@zC zfDJ+5fK}gu;F+-CX{689zyjC3=PMQ?mG^v1Xu(^g?s6j-FenKWByBmj-5LaQJyIv= zbG46tHo`c%E)xjwpqE8o18DSduE(bYl(jC0;AbO@V}FeTcEbP*w@9}LGKC9sZHhJl z;Szo?LicR6+O#l60UQia_jCC=An2_K^BRJN1RTrxF$Ss6bNPZ}ZCW_3D8RNeK;3`+ z^csMs2=lt0?2tMcZ(pi5>>e9cJ@ptA1PJ0z)cv>H*A*nx|H!hG@4|H0=zQ=MDJVySCK$MHIpqepmf#V?{Z^f zTKqMlFd%_C5wbd-aWf+bHft(62I3VyHG2~-Bp6*dJ`?X93JvV$&bb=vZhwQD!XROr zrptlS9S<=m8rhHp#{k>5*g1o6o&iH)U}4A%ED%6e&N`8UT33gb?6LCkN7RS;j*M&o z;nb}F`BB(SC$bf%E(79%5X8o0hyr#Jrk&`wofJZf42Y3iBO9WS0D{*sh^pL4GNdsX rVu1mvxPthxo%pNgr**%s$_zgMxIqo;>>J-)00000NkvXXu0mjfAHj(q literal 0 HcmV?d00001 diff --git a/graphics/event_objects/pics/pokemon/mew/0.png b/graphics/event_objects/pics/pokemon/mew/0.png deleted file mode 100644 index 55955453cb777d2046089f4d0eb4713a511787f5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 279 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?p`a!c=SB_boejR}fg(nR?4Fj^vu8B0w#3efJy5pNz{0vAw>+Vsq`|6%^=3cA Ye`AF^62bBhfDUBvboFyt=akR{0NPDzRR910 diff --git a/graphics/event_objects/pics/pokemon/mew/1.png b/graphics/event_objects/pics/pokemon/mew/1.png deleted file mode 100644 index 3c6062bd75367815eb64ea955f8bc11b9e0836c6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 261 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?XM0bJqA}+NZvRj7MD4e$I7GeQ@a9oQIlgn^)`9c>bRv z-%!4MUDfY0m!mh>q!ryR`-y#zKYh6F@MYnB*Z9;QPg~DwpA&86$04K~Ke6-2=CUbE zG*r+23Ol)TJ?D`qmyWINEeQh8_>Nb0aYcwQTdWn9|Nn=%K2xGFOFTmm=o|)5S3j3^ HP6fS407_?NY+1exvy4~zvT1T4IB*hFvwW9y{;DZUOpNvGXUsVcB_Z{E1s@`i$#cfS407_?{XI@QMx!~bPvy8~HI&@8ol+gckmhr##ps!5lO&H`+o^X7 zha+2JV|Wg>?b49m*&wOY<)rpZ!SviYHMIoBRPl874Y6800&LC9&5N0@DC#)yFcjM; VE&JtrW-8Ei44$rjF6*2UngHI+XhZ-2 diff --git a/graphics/event_objects/pics/pokemon/mew/4.png b/graphics/event_objects/pics/pokemon/mew/4.png deleted file mode 100644 index 3ddbfa03a15963bf4bc64c08baeab7e0b003a4d5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 270 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?x|H%g;9Vi(3`0-hQ!~^#(+qYcUZ PyBIuO{an^LB{Ts50vcq| diff --git a/graphics/event_objects/pics/pokemon/mew/5.png b/graphics/event_objects/pics/pokemon/mew/5.png deleted file mode 100644 index 44b7bd56bc0f09fc6f19ac08c6babe77219d18e5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 265 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?gH0Gn(V;qwvqL(6FSzKw^#pk06^^NAZCehR#f>D);)TR-ls@JYD@< J);T3K0RT7%VCet= diff --git a/graphics/event_objects/pics/pokemon/mew/6.png b/graphics/event_objects/pics/pokemon/mew/6.png deleted file mode 100644 index c6abc021afc7db75285820f9b0db9cd8593a5bba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 261 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?fS407_?fS407_?3%nZIt3Y=Zj4lV~ehr!d;&t;uc GLK6T*`eBg( diff --git a/graphics/event_objects/pics/pokemon/pikachu.png b/graphics/event_objects/pics/pokemon/pikachu.png new file mode 100644 index 0000000000000000000000000000000000000000..bd7026955500ed0ed193737da2809e4fa1a0b8b2 GIT binary patch literal 451 zcmeAS@N?(olHy`uVBq!ia0vp^20$#p!VDxAH9TwrQtTz3zOL+#I5@=BWwsh>+yDxR zm$*ih1m~xflqVLYGPwJ=0F6;7OD$3`)-x$=UGfm9grlUu&mAaZ3}iESHE7BMDVB6c zUq=Rpjs4tz5?O(Kg8-ip*W#l~{$Jhl|LBx^Q;Mq{9sgfdxHm^2%aY?+P|{Hb!z2cY zIZ0kwhK7a=6951I2WpD@R+0#$7?Zr+UH&g+|8x|@DGBlmW^j0RBMr#8<>}%WQZc8r zUvb)D10I*7Jk?gJuF@i$Ei;ZV^K|XfS6|h5J~&Qjj%@1o(^d*qm*!8DndrYuM)Jh= z$FZ&rk1Hm=S^R3n`u|*48)wAK|0Ux(Nr*vnACGt8-O_qy+3WhD&qGe_dRezOU6b+5 zbZiwq{RP#xnSy!-3oqc=KQagrdDgT)tUH&A#@4a}%`T41P5)T+wye$cM mlYPVK;+(!e(I3tKFOYv#Ubp-~slF-Dmkge+elF{r5}E)~-mcRC literal 0 HcmV?d00001 diff --git a/graphics/event_objects/pics/pokemon/pikachu/0.png b/graphics/event_objects/pics/pokemon/pikachu/0.png deleted file mode 100644 index 1a08b623c3af9d6177d88d4d121d4a24bd2a873e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 246 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUEk3&B|J5!3k50KarMTMB z@&8qYdvgS`EIFP9B^_ljOk$9jljN0UXlTeF@&EsSpr*KQC5b?au_VYZn8D%MjWi&q z#M8wwgkz@dxrKa(4R}~CB)9&y(oc0QJka4;yC5MWcz*`t&v~CFJ~+oX_oDU7CB_AJ z-R^D!vCVB9m{{!|5TXbiqW-Dv~+RxzW>gTe~DWM4fV8~(> diff --git a/graphics/event_objects/pics/pokemon/pikachu/1.png b/graphics/event_objects/pics/pokemon/pikachu/1.png deleted file mode 100644 index f1640a1e544aab5ed2d7e3b71030678f250e0f63..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 226 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUEk3&B|J5!3k50KarMTMB z@&8qYdvgS`EIFP9B^_ljOk$9jljN0UXlTeF@&EsSpr*KQC5b?au_VYZn8D%MjWi%9 z!PCVtgkz>{uOeTAfdI?(&`-O(>kC9@tXj9?LHODS!4f8Sgc6F9Ce3})(EoH*%3Zw& zXVPx+DMWJo>`GnWxu>N}pCaGk03PSFT;*2Vb5i*vI5T;x8t<)0m@Xyx&wGjI?30@pS@3er2pQ{-lUYxgL8XYQk09F zb834zK~gCxIo{^(|HWFYds@XoL5nd#|Ns90003Xb<_G`)00Cl4M@0Xn2lB-L0004W zQchCXb&}c1jbOMS{IYQlt%X zf*c{u-a(B>VUd8Lyf!%;h6W5bL7;(cfSl2v_eT=V*dBZAvBw^J?D0Rw_^$!z`A&g* zg8&rT+$WHRlvmU58GCaDpkJ%oMwB`r00tl$A_3qvV+(3Y0Qj*jXI5NmKm-#91c287 zxFH27#Aw93EC81)bgT~re`yd2CJrb-u~=IpJp#ZM;iAp~a03e*jF1SKHXx3u0}5c4 zhYvM!L;%=S9m>A-as=R)eEA08uBfsNV!_k_1<-?(O_u{;9D3IcE{-X{Z}nLnp{dG1 zKpVt@sRIJQ8zrS0{D=vF%a=kNe4YX*<(2@$(BvEv!NfrV(0-NjWy%4#btOda*A#$1 zD>b-{2C@xe!NfrV(0)HYewlIrj8B`v_Oj;c3~-9Lm zqa(68hl$`>z!OpcV?X`0_^sOj&|9~T00!wZ4Q3hwkZG)SQ$jP`8U#L9-~{nWX}}yo zd7u=)S`1)10FCoXcM9cC1iJHj>jul$fLv@1&^eSi;=`!XM2)mo;)dPp*O!mFGc(Tf z8Rt&~s6U^>@9T!LRv`iRlyx@x_p)ve<<-oi`ZXt6H|F#42Q}2i UWPQidA^-pY07*qoM6N<$g52Imv;Y7A literal 0 HcmV?d00001 diff --git a/graphics/event_objects/pics/pokemon/poochyena/0.png b/graphics/event_objects/pics/pokemon/poochyena/0.png deleted file mode 100644 index 1ee04257292d0d5fc73f1da71983c8893a6e3949..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 244 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfvg8-ip*W#l~{@*)$Z^@Li&BfJG zK~uWt6lYaiItFQKTHbs1?*GxKHPul^9UZ$39smFT57ZQY^ce?`Vk`;r3ubV5b|VeQ zDe`o24AGdFoFKvar14Wx$iMGfwp69q)z?Jby3X&x^d|oQ|9*XkYadM)naV|;-@fV7 zr!O@s%9pH9owhzD(DosHjlTZ>t8F?PR_{$Roy2gspHJb1yU~|=_w${7|4+R8aliVp p{U+-l*8l#$cPP_5TyMa{$WYd=-`o8}#208ggQu&X%Q~loCIELBXk`EZ diff --git a/graphics/event_objects/pics/pokemon/poochyena/1.png b/graphics/event_objects/pics/pokemon/poochyena/1.png deleted file mode 100644 index 3dbdb383cd7e717f193e48507ddf758e15dc0c05..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 239 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfvg8-ip*W#l~{@*)$Z^@Li&BfJG zK~uWt6lYaiItFQKTHbs1?*GxKHPul^9UZ$39smFT57ZQY^ce?`Vk`;r3ubV5b|VeQ z$@O$`4AGeQwohBA!9c+IdgJ4g%+yeOKA-IFRZmw*Xsl~U=y3ZSbMH)=@~6+8kxQQ2 zNKDLCy{H)Oqhb~#A>cgj&g5)4o=q#SEUVelF{r5}E*$&0KT< diff --git a/graphics/event_objects/pics/pokemon/poochyena/2.png b/graphics/event_objects/pics/pokemon/poochyena/2.png deleted file mode 100644 index bda367b940a4c9422269e332ffb36fa030007d52..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 265 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfvg8-ip*W#l~{@*)$Z^@Li&BfJG zK~uWt6lYaiItFQKTHbs1?*GxKHPul^9UZ$39smFT57ZQY^ce?`Vk`;r3ubV5b|VeQ zY4>z-4AGeQw$GaHu!4Zg_TrN-4b)FOIG4$@)cc!`onzlqHJvUYL8VrSA~yf;^U~~H z(mSrz3x1#1uCX^_(n~EZpT~aA$~A|4PJcb#WUaTT*3|$14#ueL&!YPGEDp@tXf}hJ z`P|K2izUK));1OWGI&#Sr#F=;`12eGrX7N()(YbP0l+XkKrZ8%; diff --git a/graphics/event_objects/pics/pokemon/poochyena/3.png b/graphics/event_objects/pics/pokemon/poochyena/3.png deleted file mode 100644 index 8b7d8f8033003d976186e17cc0770df78a21614a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 250 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfvg8-ip*W#l~{@*)$Z^@Li&BfJG zK~uWt6lYaiItFQKTHbs1?*GxKHPul^9UZ$39smFT57ZQY^ce?`Vk`;r3ubV5b|VeQ zsql1h4AGdFoFKvK()g(;T9BIUFY{;dK3Tuf4{!NwU4HYOywfaZ{PIk z)0Y|*E!8FfbOVE@tDnm{r-UW|!b)nY diff --git a/graphics/event_objects/pics/pokemon/poochyena/4.png b/graphics/event_objects/pics/pokemon/poochyena/4.png deleted file mode 100644 index 47012ad54376f8901bd54113db7121b2640a526a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 247 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfvg8-ip*W#l~{@*)$Z^@Li&BfJG zK~uWt6lYaiItFQKTHbs1?*GxKHPul^9UZ$39smFT57ZQY^ce?`Vk`;r3ubV5b|VeQ zDfM)54AGdFoFKt^!=chr>wk4rl&#Txdpq5?uh~@?zpelO|G2oq>mO1VrTW)AkB+RY ztg@RV_)_-iQ`uAw=O4z`rceK$;hkuC2!roSiI;l`=+h`tMmW3 sZ#4V+|No|%l*Sqkw}{V-O&b{*e1(jK?oPP59q0fCPgg&ebxsLQ0M<8UF#rGn diff --git a/graphics/event_objects/pics/pokemon/poochyena/5.png b/graphics/event_objects/pics/pokemon/poochyena/5.png deleted file mode 100644 index e256e8a07c05973012f462cbd4301a125f4848f9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 245 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfvg8-ip*W#l~{@*)$Z^@Li&BfJG zK~uWt6lYaiItFQKTHbs1?*GxKHPul^9UZ$39smFT57ZQY^ce?`Vk`;r3ubV5b|VeQ zDfV=64AGeQwr{OagMvWI`pm~K#TIdHNNnut{8*^#bY%V`H~9nk>+YBrS8IRz+!~tl zB-U5yxL=Y(UWA9tju{>z$)$5N54j%LVeV4Nd*jFvIUXe~D0?79)?1O`u6KbLh*2~7Zu$7GQJ diff --git a/graphics/event_objects/pics/pokemon/poochyena/7.png b/graphics/event_objects/pics/pokemon/poochyena/7.png deleted file mode 100644 index 8fdc28209c0fe52e65a5bf3d7fd5e4eb3fa67b51..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 272 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfvg8-ip*W#l~{@*)$Z^@Li&BfJG zK~uWt6lYaiItFQKTHbs1?*GxKHPul^9UZ$39smFT57ZQY^ce?`Vk`;r3ubV5b|VeQ z>GO1P4AGeQ^qe6dlcE6Yg_qmDl<25`*eq+ty>zbkb6cCnl*}|_C0*5m)AHc zd1irL`T>d1vJ}I}5Js<$Qx}%(J^hn)8P^dG^~+8Hnj7=>$)AtDu3Gn6ek)VV6q_XD T2P^D>E@SX?^>bP0l+XkKlPPcg diff --git a/graphics/event_objects/pics/pokemon/poochyena/8.png b/graphics/event_objects/pics/pokemon/poochyena/8.png deleted file mode 100644 index 911619f6a10df642a9ee66ae6c7a7d424f1d29e3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 279 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfvg8-ip*W#l~{@*)$Z^@Li&BfJG zK~uWt6lYaiItFQKTHbs1?*GxKHPul^9UZ$39smFT57ZQY^ce?`Vk`;r3ubV5b|VeQ znd<4{7@{%pZl56^lcIp@%WXz;`ku1Xy}6cl@LbXI&vNq)oUUM(YLqay$QBcku3kRl z$=*LRYZU+0_uW_eF>SX%w4vHvmnU0Z?|os{;w^Dx$9kEer2o~l|HYKvlyiGQLCwwH zoSeN%N_%s?06}{I5IF$NVoH=bDN+ys|Ns90001$F0&@TW00Cl4M@0Xn2lB-L0004W zQchCl@ zUE!VzA$Nh`NT7l8PzrYVoVVbp2HoLG@TO}KeB^+ z^r&s>{l@1!%Sj-<3s-;th38@hso$~MT5HhUzJv#2h%)bC<8$6yhF2EO-cR7q+tu=n zpB`m^HWH#n(BWt9nU;HzqxIx-368DLX~%G7;r(QSSglq|L7<{dW@pBGFyNRJ?Bw>V z&k0;_ea<_MBV1r`=x*>r5a^qZR)g`*efjhPezf&DiR-P;dBgI6K>ET*af|6ulYwS{ z^=F2Ezk?rz2Z1cNt(C0IC19TVWjD92&q;iFwj!USUFroDs!3tV>r;i^W}rmlx=oq-=^4E3=On&d zt;pwSmwJZBpq9G22H~VrA07lKI<`ACqJG@XTb~p8Y69eQfN{4nHAr6Qs06(v@R$Z@ zGJwiD=nio74Bq;jzzqa+q>WBA=uV&&2vi_~z)MPw4~>tN!Hqj#u=s`#dA{xEcy1i_ zf(x#|g&VN~)ipqHg1~T0CDa&gpaD)gUl5L-@`1qHevapc3NJcw7`S0~0!>t~a4CTn z-fDdc)=j%L5(QYGIv5czSdQ<-@Iv4r-Z>kE!V1Ty z#FIo#{c1wTHIPqTo^)rSibuX+W~mAq-$kEu$gFUD-vTwNQ6WejISvy7K|^eJ=yw3U2_5+IEWnME_DUVHSw*$dfnyfH@Yjh#HCox9BgR%^tZm} z`nhLvigjJ{{JJf^KF6;pfr)0T>Bd|YGXU#*v4avCEQj?fTd=cC1Od@-McdpyUXBGYI1rBo;SY+*j6n7}y^)iWn zau?V~`54b4`pEW~8O8lt>eMocdYyR+xyxu)(N8qHSp@ro$bUMUKl09z2Fbst~>pES6&K~0IIYK++8eJ%^^;BPj!d3KQUn3un25f=90R!Rv;)8lEQb=18%PKMk%4IMOn3&6 zGms*&GvU$PDFeMmqVg2s;SUI)Qf3G%uzd?j8j!dI25U|k;M5B>B_Jz6$;V_dp!Nae zHNb|ET5^Cj;JC}cof=S{V(4JpPWHQ}aVxYb??Dv9P1~#XY1B8zF%`9v!NAEoZtIYN$iI<};j>C-E zUd`PoZ^R7p8-T6u8C2l~B?lm?y#(1JDoNco?cT3f;iI>RO?$dfx0}eH7w@X8{!c&B W{`2shks6Bt0000a diff --git a/graphics/event_objects/pics/pokemon/rayquaza/1.png b/graphics/event_objects/pics/pokemon/rayquaza/1.png deleted file mode 100644 index e770b654976296deb4f7b0dd5af4eccba5ede7c4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 481 zcmV<70UrK|P)Kl09z2Fbst~>lmGau3q9SJw=Yt4mn0AietT)M1dF$ zY>4#WwLd3lmtG}nv$zxjbTPek^n<*JA0MA&6~(GmOA2agL#s>mlmHSZ{b(2Z5djgS z#xEDJew&b#L7qK}AlBc+lsGbZ7D*8VfMX*1`F0H8w$TOvGcca#fZRYr0Ei4kM`ywd zfLwtTiJb{g=1v)CH4@EF5gz}504nngVFR{rAxQ%g&w-OQrwnjvg{nCq8$ij&WHF%h z0pu;fj*)6|fGuEm$iTfCFh9kqfo|X1@9w+3&~APYQeoHklBDmuQ+YQBLY?}9GBNAJ z$(c|D23DcGw05qcC^Yh$5D^pA<9YG`8u$wEG&w+Mh~Le^)_C#WL$JzVZ<2Vt=;$~M znC;cvjq*keAlCp^_Y8{gijo5mm0p5u5tXE@tNQ5Ii}2Z6#HyYa>UIq^?&*W X@4E9y$)xd400000NkvXXu0mjfHM7w3 diff --git a/graphics/event_objects/pics/pokemon/rayquaza/2.png b/graphics/event_objects/pics/pokemon/rayquaza/2.png deleted file mode 100644 index e72c17b079b4311a2f11574a0369e9a831163a80..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 497 zcmVKlfO#DKoG`L?_*e{Ph+m}5v;VhUWOq>PQ-Aigk<2)#@gHZ8ldzi}^iBji)Nt z?{BK7>*`<*gho_}U!IxNODF=vph7B4Zby4Ak?(|<#DMN2djJh=Z6zhu)NC5tXEBY8%qsFTzuA n73;>E;8)X^b?fc4)BoukDg^lYGK~|{00000NkvXXu0mjfJ+Rk2 diff --git a/graphics/event_objects/pics/pokemon/rayquaza/3.png b/graphics/event_objects/pics/pokemon/rayquaza/3.png deleted file mode 100644 index edcfe94ba80c43a75af8ae39c520bce73e2f8df0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 541 zcmV+&0^Kl0Q!DKn%vGo@VdxD*9~*4M(8j2vBegD$kUpi7li= ztP+jA?`hiyoPZS)7eL|)v>>6uv;2`Dj%X7LPD!V0v1l?3;1+r6^M~Cw$Bs;t{%q#|B3y{UC!$x z0c;J23+NArfB9wT4>g40a0dM_{C&6|hCU&VyYQzloDkivNsfhaoWbt|VnMwlLENmAc6{1#vB$6koLx?np=b7Dsp-A z8^UmKzD|+!p%j9w7v%|-0#}ln2fxI#R-ymJSna^^zQfj*8 zCf+QIRbd%5K1$A6ME?c=rNPppm<62wAImPwAP=lAwL~bJtgE`U@14KtbX8Stb?~Or fff;YBt$t6hX?g#!I@6x900000NkvXXu0mjfA_49L diff --git a/graphics/event_objects/pics/pokemon/rayquaza/4.png b/graphics/event_objects/pics/pokemon/rayquaza/4.png deleted file mode 100644 index d34cb5d58aa31d9f45b078f5ee1a5b430f54c552..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 544 zcmV+*0^j|KP)$h8Ot&d$I|ryKJ1x0ATW{675swXGR{V$1E}D*y_cp4nJ0 z0L#IV^Q}c8AoUAgIEPUJgfTehf>gm+q8dObz@r3WKqx(c)ItGF0}v~e-*yEoMc@IK zjq@i$3Cj!-3piekN2KVOm|}S);4xr^<%bO-Kzz>m@#otA0*1T%*$OoZ;8R+^zVNw_ z5O8`n!>7m9?Q}H320WY1nA2)?JH8FZ3npOL@WnVV#8}qpsvYlPKM%Me6wc`&AocQX z@5K-yCzPp#^nl|hy?+vv7NQCePy_Y>kw5_^;SH$3wgqVWGtGoB6pRD iTnR9fT0=@t%5d@3tj#&`^0000R|DNig)WpMX#0UD!FmRh7>tY=c#y5u2H2}enRpF2>-7|3SuYS5GiQY`6? zzK#qG8~eHcB(ehe1_3@HuEj@}{J*;8|IsP;rW98@I{sg>LSDe?dRf1oDW+JUsF_*pX1pPHJTwYc5F?d17{(}CGc}+Ve-oGNV zC8M}UJuJv~$(n7eZmp9oJI*iO8``4m$8)wtp^Nj~&Xo?5JHM=v{;}I#bnjgGIf`!z zpO~z%dc$3KCDOTjYH6+GtHO=%V_oLhIq`R0c=P|pKJ~Im+#JFayWQWVC!aS9s-AS= i)lsWI${lv^AM diff --git a/graphics/event_objects/pics/pokemon/skitty/1.png b/graphics/event_objects/pics/pokemon/skitty/1.png deleted file mode 100644 index 66a9640e0c8bd474eeea74f5a814b828c5df4a52..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 218 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUEk3&B|J5!3k50KarMTMB z@&A%7SF@_S9fPJE{T9`|SHLi6%aWw(Vn<6$iU0rq12xI!&N~jI7)yfuf*Bm1-ADs+ zB0OCjLpWx-o-^cYFyLTtFjJowK2xT(a|!pC*|AS-#Z0^!Vj375^ta{IPUUTIw9Kqc zeWY@mTjv~Sy7IK9)6AS-U49gH>Mbyz%(->-v~*$OOP-|BfuQ c4jl{(h82=$d)|Lf1=`5q>FVdQ&MBb@04b$h1ONa4 diff --git a/graphics/event_objects/pics/pokemon/sudowoodo.png b/graphics/event_objects/pics/pokemon/sudowoodo.png new file mode 100644 index 0000000000000000000000000000000000000000..ff2cc385b64a48742d850e929612707e9e348370 GIT binary patch literal 451 zcmeAS@N?(olHy`uVBq!ia0vp^20*O9!VDyr{d%Skq}WS5eO=ifad3!hTd1}-vjT<0 zOI#yLg7ec#$`gxH8QgtbfW|14r4}g|>zNd`E_n!4!ckJ-=MI!H2C^Bv8Z_mB6id3J zuOkD)#(wTUi6CPP0(?STi;ph(e|5|Mqf_opDXw;OJbU)uoH={FysC@$GB{Q<2v{=3G~M;I5Z|V{WELcvSUo8;U5 z|DVbBzK5wChgMrTL3}idMYyym)M;&f}Jy%TC_W zm=usYN9&yGrVQWB8G+7cTVJ(I@K`nJ_?0DE!a_QVGuOHHh1|V!MB&xTXBYIhZ_PBa z&78Ave&H?~-{Ol5kJDzT=~W+&{<5tneDU0?1>cSxyQ+}d)1ZyDh?IP m9tt+@IAgD5cV1_4yIxt#aI&L7tG-B>_!@p zQ|;;E7$Pw>Ibnf*LSciEjO&3bt62M#VpdB??1gTe~DWM4fInHL5 diff --git a/graphics/event_objects/pics/pokemon/sudowoodo/1.png b/graphics/event_objects/pics/pokemon/sudowoodo/1.png deleted file mode 100644 index 1d865c43a0f38d59c99615098a497a99b0cd97f3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 258 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p z)8Ogi7$Pw>IYC0~y2h6-ye^c7M?0-V@7`9WB*w$1&doeF z+j`l#qzAJsvp>H(cP>&P_FQz@ITj;{ilzE%=ImrR#PE{IXpO!@&I8jHBMH6JPH*?@ z5l>pZ{qr>41V-oN?Bop-x;Jd(cIoZh%zUL$L7j==_CYm8N#mHyK({b>y85}Sb4q9e E0KKPS`2YX_ diff --git a/graphics/event_objects/pics/pokemon/sudowoodo/2.png b/graphics/event_objects/pics/pokemon/sudowoodo/2.png deleted file mode 100644 index 319220edfb5dc83b49ae0f69e5dec3f9845ce04b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 254 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p zQ{(C47$Pw>IYC0`vTO-9qobP^IGwjQ{tqLd`Y9PV=cQS98gnOEgTe~DWM4f?x0@3 diff --git a/graphics/event_objects/pics/pokemon/vigoroth.png b/graphics/event_objects/pics/pokemon/vigoroth.png new file mode 100644 index 0000000000000000000000000000000000000000..b90c5fddde13d7c237e6c4147fb197aed30816ec GIT binary patch literal 1096 zcmV-O1h@N%P)001Ba0{{R3XHjm(00007bV*G`2jU0_ z7cLzW^rHs=000+sMObuGZ)S9NVRB^vM@&RePDdbiWpW@hE;Mn4q~QPn00?w&PDe*f zL^A*Y002sWDIWj;00d`2O+f$vv5yPer0(wS&CR{6tc!DMN~ENm zi;IJEdvh@{In~wX=Dn1(ds@{&L5oUK|Ns900065C0uulL00Cl4M@0Xn2lB-L0004W zQchC950pd|>Y&XUj}CqYdz#iv1#!IGsR5Q?D? z=m!X?ms04It%~hB8fv^YVHEF6r}y9fXKJSPBK8*jUW=(=fcM-z}JiS8ioNY%FH` zaTs25KtZq+hCdXZxFiU~jB3hkrf`jT!Oz{@m*E9oo1>`k8mNaAT|~=dt=#Hiv*)^=6_n5JOSWIwQ(j8GE6%M>Wc)UugC9K1N<5m zPOWO=6SN@1{+gQZuVo552eP*~`gMHV!#akAz^XPrU6cWc^)mCI* zkjpnt1;Pp7#MnrI4%Sm(E?~g7yL6tzrIkqo*%sfpfh<(b^u716xdF#hCVkvU1w~^j z81B>AgG;NE)9p>Y(zsR^PGDOpFbM3O9GD6=b3qEE?-k=hZjL5L(mqCUoU-INLO5R#fya9-a5f#zkvJw?&X zwnm0VR5S)d(98v8PJvBq>p74KbfukTpU$D8nmvt>;da^BXs@3QjWU}oM+_hZx~h8| zu&Jv~2BZsJC6FuVgR=I#!ak|fmh~C zNP#tnz?adm7!dVIOWLw^$D0!~{ZQa>&6i<6LS^GI1)62%pm82 z2rU}<#Q{4BD55eaS)voiDX`O7oW)6^`!j;K3zuZK6D`gUA33Rt`1}|CvJINvYKOxB O0000gvN>cy-{{R30s|x}X00001 zbW%=J06^y0W&i*IDoI2^R49>SU?2|MMHjep0hP~t22J43nJX@+3eH>-go|7a4b44s zR!I>qa`)W3o-=1fg9L>fAOgK0fs2Bof`Tegfiq`&?@BL361aQg#D2kzf`TwTy=U%r zY?a!i4is1d5jZ(>hV*WwBA~!(u#(=JGiNp_sVD&jcEbf`blhkH31~0?9n%^L0uhRW zf>N6_7#tlK+R{KE1t=iBX|;!;3RJ)mXswdc?iL{jxPXw7lGbKJj#|NsB*=y0)z1PFgxMhA#&hUfq?|AQGoMR=kXF8}}m Wjdr+o-|7PZ0000gvN>cy-{{R30s|x}X00001 zbW%=J06^y0W&i*ID@jB_R49>SV4xPbi!N~I0xF;P%oP_@1!pb^x}YdHb4d{{ay2wG z_sm%(ML{74s0HWV^_)2?8YC#F0uks130xEuMF^ZZ+k01fAy5FSr}yrS6Z-`>3IYX| zKvmrB*ebP29VoCGtfcqk%o)Jo)kOCCY-n6<=87ANe)S;xb+eo5=E1$@n>UWW0wzL0U%%b$AA7W zE-ofufs95WrT%^f296G6e+H1DZ52xY|Nm!T_~Oz30pvUW^okB}K>Yvz0TN~~8V3LX X!)$oP-mAnr00000NkvXXu0mjfnJubJ diff --git a/graphics/event_objects/pics/pokemon/vigoroth_carrying_box/2.png b/graphics/event_objects/pics/pokemon/vigoroth_carrying_box/2.png deleted file mode 100644 index 2918caf224f11a1e926e35b579e927a2ab1b92d8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 423 zcmV;Y0a*TtP)gvN>cy-{{R30s|x}X00001 zbW%=J06^y0W&i*IB}qgSV4xPbi!N~I0xF;P%oP_@1!pb^x}YdHb4d{{ay2wG z_sm%(ML{74s0HWV^_)2?8YC#F0uks130xEuMF^ZZ+k01fAy5FSr}yrS6Z-`>3IYX| zKvmrB*ebP29VoCGtfcqk%o)%8M8FZKLrH13k#YlEK*+*LYjc~)2Z%t5prCS- zvaxZS2LnR~2s8o}C@C3Rcr-A8Rb+q^00rz@AOaac1@_KH%JwZT5CI@x`NtPyiw_(f z3?PAwMj@q+{~0YVAHcrt=xD1@`v3o1zOg?vQ2EmgvN>cy-{{R30s|x}X00001 zbW%=J06^y0W&i*I4M{{nR49>+(7$VhFcb&y3>jQXh;{8?F2g~m-pe4|;E!Z0#eb(; zIIap+nwUzFzgvN>cy-{{R30s|x}X00001 zbW%=J06^y0W&i*H{7FPXR49?1&%JJgFcbw~4-707x-@GC91oE?g~Nc9fgiI)m0zbL z3PZE?UD9rO1uC^t$L1X>;h`Hf!64JIXRvfW+t)H<|IW?(qI%xfTb?^mJhbiS%7weO z{cypf%Y_zKX!k;kD|EYEKt(3ipYDi9Hu*fk#!m5~aO_c-TM*IE!_q>@C*a}=2cF&& zZRynT%?#())p-IxUS|gb`%M?G>j8l8h6^gw0GJ^bp>)AN6?|V?U=1>VR|r{mNZANl zqJ&J81^-dPR3Le(M>xX70FEQDXCxhvN&MLFo9U|WwRz2g)=*}JQqu`tnZ2M=(+L*z c!`ff_FN~T_o-4ce2><{907*qoM6N<$f>1iB$N&HU diff --git a/graphics/event_objects/pics/pokemon/wingull.png b/graphics/event_objects/pics/pokemon/wingull.png new file mode 100644 index 0000000000000000000000000000000000000000..4ebb0039e702d9071b07ee4a74c56ba21bc9fd69 GIT binary patch literal 470 zcmeAS@N?(olHy`uVBq!ia0vp^2|z5s!VDy(r=*_(QtTz3zOL+#I5@;5bWWQYc>smP zOI#yLg7ec#$`gxH8QgtbfW|14r4}g|>zNd`E_n!4!ckJ-=MI!H2C^Bv8Z_mB6id3J zuOkD)#(wTUiL5}rL4Z$)Yw^(~|F3TOe{{;dDaF-}j{lczxtdko?HDxW=(niuy#j_o zTb3kM7du*7O8o!-AE-$-ciwRz#hB#n?(%;r`=_HIPDzkoFoVOh8)-n!TTd6qkcv5P zC)(y6HsEpFspaubNMW|WM!JE?HOYv^0mfk_nS4gH;%FD^BvOt3wJYD@<);T3K0RaBU BQW^jN diff --git a/graphics/event_objects/pics/pokemon/wingull/3.png b/graphics/event_objects/pics/pokemon/wingull/3.png deleted file mode 100644 index c3404d20d6729933897654e221b77b849efb5646..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 202 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUEk3&B|J5!3k50KarMTMB z@&A%7SF@_S9fPJE{T9`|SHLi6%aWw(Vn<6$iU0rq12xI!&N~jI7)yfuf*Bm1-ADs+ zJUm?-LpWw8CnO}yIB=4IZI1qPUk2l6d#k?-wI2NW?%wTkg`JhJ-|eks6`6H&`>QiE xL-o^)&b&5?OG(}HNR|0IQ(JJhgGwp`!#N3g=5p7deLyoAJYD@<);T3K0RWczPUHXp diff --git a/graphics/event_objects/pics/pokemon/wingull/4.png b/graphics/event_objects/pics/pokemon/wingull/4.png deleted file mode 100644 index 11052fe994674a39fbca1790f4b22b10cb8c9816..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 200 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUEk3&B|J5!3k50KarMTMB z@&A%7SF@_S9fPJE{T9`|SHLi6%aWw(Vn<6$iU0rq12xI!&N~jI7)yfuf*Bm1-ADs+ z+&ohbNMhp!5U&?)cto|zsXd;8BtDnm{r-UW|=+#g? diff --git a/graphics/event_objects/pics/pokemon/wingull/5.png b/graphics/event_objects/pics/pokemon/wingull/5.png deleted file mode 100644 index af5505e31cfe48154942bc884a5500b3dc201c32..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 202 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUEk3&B|J5!3k50KarMTMB z@&A%7SF@_S9fPJE{T9`|SHLi6%aWw(Vn<6$iU0rq12xI!&N~jI7)yfuf*Bm1-ADs+ zJUm?-LpWw8CnP+WbCQAabDST;-n9%)89WkJLf>b$yc%yJ|;0T xzi$oIzrQz%HEiFe#g`ef4p?_EawvPUF{n?Gci8lQeh$z~22WQ%mvv4FO#t8gP<#LY diff --git a/graphics/event_objects/pics/pokemon/zigzagoon.png b/graphics/event_objects/pics/pokemon/zigzagoon.png new file mode 100644 index 0000000000000000000000000000000000000000..2312d4f97a5181859a719920e526752c631f776a GIT binary patch literal 415 zcmeAS@N?(olHy`uVBq!ia0vp^20$#p!VDxAH9TwrQtTz3zOL+#I5@=hP3@zs_5g*% zOI#yLg7ec#$`gxH8QgtbfW|14r4}g|>zNd`E_n!4!ckJ-=MI!H2C^Bv8Z_mB6id3J zuOkD)#(wTUiL5}rL4Z$)Yw^(~|F3TOe{{;dDaF-}j{lczxtdko?HDxW=(niuy#j_o zTb3kM7du*7O8o!-AE-$-ciwRz#hB#n?(%;r`=_HIPDzkoFoVOh8)-n!HcuDFkcv5_ z{TF!;8*sSnW%$j{yy7Rj`agEHl}p7Yg>+u|mckwVV{ZR7sRI&kr=OXz`GCbYRfUz+ zDc2v}D|o-xp~vA~{JaLvj~NGMY)X1-z@w(goo=T6<%ylx1JOn5T@uWXHhoz4%5#Uo zw}?p!p`H?2E=;dol>ND*pIf~y7hH7lnc2(fWa|LsY%3o`rAUWQURYwn7lwYs8-fR@PUOw*gYt~QOtQYcf Sgj@q!#Ng@b=d#Wzp$PzKa8@1w diff --git a/graphics/event_objects/pics/pokemon/zigzagoon/1.png b/graphics/event_objects/pics/pokemon/zigzagoon/1.png deleted file mode 100644 index c7e067a6de3cc3c52273ff72d78bbc2355b79c48..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 211 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUEk3&B|J5!3k50KarMTMB z@&A%7SF@_S9fPJE{T9`|SHLi6%aWw(Vn<6$iU0rq12xI!&N~jI7)yfuf*Bm1-ADs+ z0zF+ELpWyIc33aXdtD-~Uj2pCE zi^@gv7P-4`E_s<=-n=trqw-nzsR Date: Wed, 8 Aug 2018 23:53:21 -0700 Subject: [PATCH 062/234] Continue decompiling field_specials --- asm/battle_frontier_2.s | 2 +- asm/field_specials.s | 1301 ----------------- asm/script_menu.s | 2 +- data/field_specials.s | 305 ---- .../scripts.inc | 2 +- .../scripts.inc | 2 +- data/maps/TrainerHill_Elevator/scripts.inc | 2 +- data/specials.inc | 2 +- include/global.h | 24 +- include/menu.h | 2 +- include/script_menu.h | 3 +- include/strings.h | 175 +++ src/field_specials.c | 1061 ++++++++++++++ src/main_menu.c | 2 +- src/menu.c | 2 +- src/scrcmd.c | 2 +- sym_common.txt | 3 +- sym_ewram.txt | 30 - 18 files changed, 1259 insertions(+), 1663 deletions(-) diff --git a/asm/battle_frontier_2.s b/asm/battle_frontier_2.s index 2ab474037c..38e0d2e621 100644 --- a/asm/battle_frontier_2.s +++ b/asm/battle_frontier_2.s @@ -11843,7 +11843,7 @@ sub_81A0784: @ 81A0784 movs r1, 0 adds r2, r4, 0 adds r3, r5, 0 - bl sub_8198A50 + bl CreateWindowTemplate ldr r0, [sp, 0x10] ldr r1, [sp, 0x14] str r0, [sp, 0x18] diff --git a/asm/field_specials.s b/asm/field_specials.s index 3f0ba5ad84..6e6329a421 100644 --- a/asm/field_specials.s +++ b/asm/field_specials.s @@ -5,1307 +5,6 @@ .text - thumb_func_start sub_81399F4 -sub_81399F4: @ 81399F4 - push {r4,lr} - ldr r2, =gUnknown_0203AB60 - movs r0, 0 - strh r0, [r2] - ldr r1, =gUnknown_0203AB62 - strh r0, [r1] - ldr r0, =gSaveBlock1Ptr - ldr r3, [r0] - movs r0, 0x14 - ldrsb r0, [r3, r0] - adds r4, r1, 0 - cmp r0, 0xD - bne _08139A6E - ldrb r0, [r3, 0x15] - subs r0, 0x10 - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x4 - bhi _08139A6E - lsls r0, 2 - ldr r1, =_08139A34 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08139A34: - .4byte _08139A66 - .4byte _08139A5E - .4byte _08139A56 - .4byte _08139A4E - .4byte _08139A48 -_08139A48: - movs r0, 0 - strh r0, [r2] - b _08139A6C -_08139A4E: - movs r0, 0 - strh r0, [r2] - movs r0, 0x1 - b _08139A6C -_08139A56: - movs r0, 0 - strh r0, [r2] - movs r0, 0x2 - b _08139A6C -_08139A5E: - movs r0, 0 - strh r0, [r2] - movs r0, 0x3 - b _08139A6C -_08139A66: - movs r0, 0 - strh r0, [r2] - movs r0, 0x4 -_08139A6C: - strh r0, [r4] -_08139A6E: - ldrh r0, [r4] - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81399F4 - - thumb_func_start sub_8139A78 -sub_8139A78: @ 8139A78 - push {r4-r6,lr} - ldr r0, =sub_8139AF4 - movs r1, 0x9 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks + 0x8 - adds r4, r1, r0 - movs r3, 0 - strh r3, [r4, 0x2] - strh r3, [r4, 0x4] - movs r6, 0x1 - strh r6, [r4, 0x8] - ldr r0, =gSpecialVar_0x8005 - ldr r1, =gSpecialVar_0x8006 - ldrh r2, [r0] - ldrh r0, [r1] - cmp r2, r0 - bls _08139AC0 - subs r0, r2, r0 - lsls r0, 16 - lsrs r5, r0, 16 - strh r6, [r4, 0xC] - b _08139AC8 - .pool -_08139AC0: - subs r0, r2 - lsls r0, 16 - lsrs r5, r0, 16 - strh r3, [r4, 0xC] -_08139AC8: - cmp r5, 0x8 - bls _08139ACE - movs r5, 0x8 -_08139ACE: - ldr r0, =gUnknown_085B2C18 - adds r0, r5, r0 - ldrb r0, [r0] - strh r0, [r4, 0xA] - movs r0, 0 - bl SetCameraPanningCallback - ldrb r1, [r4, 0xC] - adds r0, r5, 0 - bl sub_8139C2C - movs r0, 0x59 - bl PlaySE - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8139A78 - - thumb_func_start sub_8139AF4 -sub_8139AF4: @ 8139AF4 - 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, 0x2] - adds r0, 0x1 - strh r0, [r4, 0x2] - movs r1, 0x2 - ldrsh r0, [r4, r1] - movs r1, 0x3 - bl __modsi3 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0 - bne _08139B54 - strh r0, [r4, 0x2] - ldrh r0, [r4, 0x4] - adds r0, 0x1 - strh r0, [r4, 0x4] - ldrh r0, [r4, 0x8] - negs r0, r0 - strh r0, [r4, 0x8] - movs r2, 0x8 - ldrsh r1, [r4, r2] - movs r0, 0 - bl SetCameraPanning - movs r0, 0x4 - ldrsh r1, [r4, r0] - movs r2, 0xA - ldrsh r0, [r4, r2] - cmp r1, r0 - bne _08139B54 - movs r0, 0x49 - bl PlaySE - adds r0, r5, 0 - bl DestroyTask - bl EnableBothScriptContexts - bl InstallCameraPanAheadCallback -_08139B54: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8139AF4 - - thumb_func_start sub_8139B60 -sub_8139B60: @ 8139B60 - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - sub sp, 0xC - ldr r5, =gUnknown_0203AB5E - ldr r0, =gUnknown_085B2BAC - bl AddWindow - strb r0, [r5] - ldrb r0, [r5] - movs r1, 0 - bl SetStandardWindowBorderStyle - ldr r4, =gText_ElevatorNowOn - movs r0, 0x1 - adds r1, r4, 0 - movs r2, 0x40 - bl GetStringCenterAlignXOffset - adds r3, r0, 0 - ldrb r0, [r5] - lsls r3, 24 - lsrs r3, 24 - movs r1, 0x1 - str r1, [sp] - movs r1, 0xFF - mov r9, r1 - str r1, [sp, 0x4] - movs r1, 0 - mov r8, r1 - str r1, [sp, 0x8] - movs r1, 0x1 - adds r2, r4, 0 - bl PrintTextOnWindow - ldr r6, =gElevatorFloorsTable - ldr r4, =gSpecialVar_0x8005 - ldrh r0, [r4] - lsls r0, 2 - adds r0, r6 - ldr r1, [r0] - movs r0, 0x1 - movs r2, 0x40 - bl GetStringCenterAlignXOffset - adds r3, r0, 0 - ldrb r0, [r5] - ldrh r1, [r4] - lsls r1, 2 - adds r1, r6 - ldr r2, [r1] - lsls r3, 24 - lsrs r3, 24 - movs r1, 0x11 - str r1, [sp] - mov r1, r9 - str r1, [sp, 0x4] - mov r1, r8 - str r1, [sp, 0x8] - movs r1, 0x1 - bl PrintTextOnWindow - ldrb r0, [r5] - bl PutWindowTilemap - ldrb r0, [r5] - movs r1, 0x3 - bl CopyWindowToVram - add sp, 0xC - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8139B60 - - thumb_func_start sub_8139C10 -sub_8139C10: @ 8139C10 - push {r4,lr} - ldr r4, =gUnknown_0203AB5E - ldrb r0, [r4] - movs r1, 0x1 - bl sub_8198070 - ldrb r0, [r4] - bl RemoveWindow - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8139C10 - - thumb_func_start sub_8139C2C -sub_8139C2C: @ 8139C2C - push {r4-r6,lr} - lsls r0, 16 - lsrs r6, r0, 16 - lsls r1, 24 - lsrs r5, r1, 24 - ldr r4, =sub_8139C80 - adds r0, r4, 0 - bl FuncIsActiveTask - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08139C6C - adds r0, r4, 0 - movs r1, 0x8 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r0, 0 - strh r0, [r1, 0x8] - strh r0, [r1, 0xA] - strh r5, [r1, 0xC] - ldr r0, =gUnknown_085B2C21 - adds r0, r6, r0 - ldrb r0, [r0] - strh r0, [r1, 0xE] -_08139C6C: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8139C2C - - thumb_func_start sub_8139C80 -sub_8139C80: @ 8139C80 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp] - lsls r0, 2 - ldr r1, [sp] - adds r0, r1 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r6, r0, r1 - movs r2, 0x2 - ldrsh r0, [r6, r2] - cmp r0, 0x6 - bne _08139D7C - ldrh r0, [r6] - adds r0, 0x1 - strh r0, [r6] - movs r1, 0x4 - ldrsh r0, [r6, r1] - cmp r0, 0 - bne _08139D10 - movs r1, 0 - ldr r2, =gUnknown_085B2BF4 - mov r10, r2 -_08139CBA: - movs r5, 0 - adds r7, r1, 0x7 - lsls r0, r1, 1 - adds r2, r1, 0x1 - mov r8, r2 - adds r0, r1 - lsls r0, 1 - mov r9, r0 -_08139CCA: - adds r4, r5, 0 - adds r4, 0x8 - movs r1, 0 - ldrsh r0, [r6, r1] - movs r1, 0x3 - bl __modsi3 - lsls r0, 16 - asrs r0, 15 - add r0, r9 - add r0, r10 - ldrh r0, [r0] - movs r1, 0xC0 - lsls r1, 4 - adds r2, r1, 0 - orrs r2, r0 - adds r0, r4, 0 - adds r1, r7, 0 - bl MapGridSetMetatileIdAt - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x2 - bls _08139CCA - mov r2, r8 - lsls r0, r2, 24 - lsrs r1, r0, 24 - cmp r1, 0x2 - bls _08139CBA - b _08139D62 - .pool -_08139D10: - movs r1, 0 - ldr r0, =gUnknown_085B2C06 - mov r10, r0 -_08139D16: - movs r5, 0 - adds r7, r1, 0x7 - lsls r0, r1, 1 - adds r2, r1, 0x1 - mov r8, r2 - adds r0, r1 - lsls r0, 1 - mov r9, r0 -_08139D26: - adds r4, r5, 0 - adds r4, 0x8 - movs r1, 0 - ldrsh r0, [r6, r1] - movs r1, 0x3 - bl __modsi3 - lsls r0, 16 - asrs r0, 15 - add r0, r9 - add r0, r10 - ldrh r0, [r0] - movs r1, 0xC0 - lsls r1, 4 - adds r2, r1, 0 - orrs r2, r0 - adds r0, r4, 0 - adds r1, r7, 0 - bl MapGridSetMetatileIdAt - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x2 - bls _08139D26 - mov r2, r8 - lsls r0, r2, 24 - lsrs r1, r0, 24 - cmp r1, 0x2 - bls _08139D16 -_08139D62: - bl DrawWholeMapView - movs r0, 0 - strh r0, [r6, 0x2] - movs r0, 0 - ldrsh r1, [r6, r0] - movs r2, 0x6 - ldrsh r0, [r6, r2] - cmp r1, r0 - bne _08139D7C - ldr r0, [sp] - bl DestroyTask -_08139D7C: - ldrh r0, [r6, 0x2] - adds r0, 0x1 - strh r0, [r6, 0x2] - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8139C80 - - thumb_func_start sub_8139D98 -sub_8139D98: @ 8139D98 - push {r4-r7,lr} - sub sp, 0x18 - ldr r6, =gSpecialVar_0x8004 - ldrh r0, [r6] - movs r5, 0x64 - muls r0, r5 - ldr r4, =gPlayerParty - adds r0, r4 - movs r1, 0x27 - bl GetMonData - str r0, [sp] - ldrh r0, [r6] - muls r0, r5 - adds r0, r4 - movs r1, 0x28 - bl GetMonData - str r0, [sp, 0x4] - ldrh r0, [r6] - muls r0, r5 - adds r0, r4 - movs r1, 0x29 - bl GetMonData - str r0, [sp, 0x8] - ldrh r0, [r6] - muls r0, r5 - adds r0, r4 - movs r1, 0x2A - bl GetMonData - str r0, [sp, 0xC] - ldrh r0, [r6] - muls r0, r5 - adds r0, r4 - movs r1, 0x2B - bl GetMonData - str r0, [sp, 0x10] - ldrh r0, [r6] - muls r0, r5 - adds r0, r4 - movs r1, 0x2C - bl GetMonData - str r0, [sp, 0x14] - ldr r1, =gSpecialVar_0x8005 - movs r0, 0 - strh r0, [r1] - movs r4, 0 - adds r2, r1, 0 -_08139E00: - lsls r0, r4, 2 - add r0, sp - ldr r1, [r0] - ldrh r0, [r2] - adds r0, r1 - strh r0, [r2] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x5 - bls _08139E00 - ldr r2, =gSpecialVar_0x8006 - movs r0, 0 - strh r0, [r2] - ldr r1, =gSpecialVar_0x8007 - ldr r0, [sp] - strh r0, [r1] - movs r4, 0x1 - adds r6, r2, 0 - adds r7, r1, 0 -_08139E28: - ldrh r0, [r6] - lsls r0, 2 - mov r2, sp - adds r1, r2, r0 - lsls r0, r4, 2 - adds r5, r2, r0 - ldr r1, [r1] - ldr r0, [r5] - cmp r1, r0 - bcs _08139E54 - strh r4, [r6] - b _08139E6C - .pool -_08139E54: - cmp r1, r0 - bne _08139E6E - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08139E6E - strh r4, [r6] - ldr r0, [r5] -_08139E6C: - strh r0, [r7] -_08139E6E: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x5 - bls _08139E28 - add sp, 0x18 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8139D98 - - thumb_func_start warp0_in_pokecenter -warp0_in_pokecenter: @ 8139E80 - push {r4,lr} - ldr r0, =gUnknown_020322DC - movs r1, 0 - ldrsb r1, [r0, r1] - lsls r1, 8 - ldrb r0, [r0, 0x1] - lsls r0, 24 - asrs r0, 24 - adds r0, r1 - lsls r0, 16 - lsrs r3, r0, 16 - ldr r2, =gUnknown_085B2C2A - ldrh r0, [r2] - ldr r1, =0x0000ffff - cmp r0, r1 - beq _08139EC6 - adds r4, r1, 0 - adds r1, r2, 0 -_08139EA4: - ldrh r0, [r2] - cmp r0, r3 - bne _08139EBC - movs r0, 0x1 - b _08139EC8 - .pool -_08139EBC: - adds r1, 0x2 - adds r2, 0x2 - ldrh r0, [r1] - cmp r0, r4 - bne _08139EA4 -_08139EC6: - movs r0, 0 -_08139EC8: - pop {r4} - pop {r1} - bx r1 - thumb_func_end warp0_in_pokecenter - - thumb_func_start sub_8139ED0 -sub_8139ED0: @ 8139ED0 - push {lr} - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldrh r1, [r0, 0x4] - ldr r0, =0x00003c1a - cmp r1, r0 - beq _08139EEC - movs r0, 0x1 - b _08139EEE - .pool -_08139EEC: - movs r0, 0 -_08139EEE: - pop {r1} - bx r1 - thumb_func_end sub_8139ED0 - - thumb_func_start UpdateFrontierManiac -UpdateFrontierManiac: @ 8139EF4 - push {r4,r5,lr} - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - ldr r0, =0x0000402f - bl GetVarPointer - adds r5, r0, 0 - ldrh r0, [r5] - adds r4, r0 - strh r4, [r5] - ldrh r0, [r5] - movs r1, 0xA - bl __umodsi3 - strh r0, [r5] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end UpdateFrontierManiac - - thumb_func_start sub_8139F20 -sub_8139F20: @ 8139F20 - push {r4-r7,lr} - movs r4, 0 - ldr r0, =0x0000402f - bl VarGet - lsls r0, 16 - lsrs r6, r0, 16 - cmp r6, 0x9 - bls _08139F34 - b _0813A03A -_08139F34: - lsls r0, r6, 2 - ldr r1, =_08139F48 - adds r1, r0, r1 - ldr r1, [r1] - adds r2, r0, 0 - mov pc, r1 - .pool - .align 2, 0 -_08139F48: - .4byte _08139F70 - .4byte _08139F70 - .4byte _08139F70 - .4byte _08139F70 - .4byte _08139F94 - .4byte _08139FB4 - .4byte _08139FCC - .4byte _08139FE4 - .4byte _08139FFC - .4byte _0813A014 -_08139F70: - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - movs r3, 0xCE - lsls r3, 4 - adds r1, r0, r3 - adds r3, r1, r2 - ldr r1, =0x00000ce2 - adds r0, r1 - adds r1, r0, r2 - ldrh r0, [r3] - ldrh r2, [r1] - cmp r0, r2 - bcs _0813A028 - b _0813A038 - .pool -_08139F94: - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r3, =0x00000d0c - adds r2, r0, r3 - adds r3, 0x2 -_08139F9E: - adds r1, r0, r3 - ldrh r0, [r2] - ldrh r3, [r1] - cmp r0, r3 - bcs _0813A028 - b _0813A038 - .pool -_08139FB4: - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r1, =0x00000de2 - adds r2, r0, r1 - ldr r3, =0x00000de4 - b _08139F9E - .pool -_08139FCC: - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r1, =0x00000dc8 - adds r2, r0, r1 - ldr r3, =0x00000dca - b _08139F9E - .pool -_08139FE4: - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r1, =0x00000dda - adds r2, r0, r1 - ldr r3, =0x00000ddc - b _08139F9E - .pool -_08139FFC: - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r1, =0x00000e04 - adds r2, r0, r1 - ldr r3, =0x00000e06 - b _08139F9E - .pool -_0813A014: - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r1, =0x00000e1a - adds r2, r0, r1 - ldr r3, =0x00000e1c - adds r1, r0, r3 - ldrh r0, [r2] - ldrh r3, [r1] - cmp r0, r3 - bcc _0813A038 -_0813A028: - adds r4, r0, 0 - b _0813A03A - .pool -_0813A038: - ldrh r4, [r1] -_0813A03A: - movs r2, 0 - ldr r5, =gUnknown_085B2CC8 - lsls r0, r6, 1 - adds r1, r0, r5 - ldrb r1, [r1] - adds r3, r0, 0 - ldr r7, =gUnknown_085B2C50 - cmp r1, r4 - bcs _0813A062 - adds r1, r3, 0 -_0813A04E: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x1 - bhi _0813A062 - adds r0, r2, r1 - adds r0, r5 - ldrb r0, [r0] - cmp r0, r4 - bcc _0813A04E -_0813A062: - adds r0, r3, r6 - adds r0, r2 - lsls r0, 2 - adds r0, r7 - ldr r0, [r0] - bl ShowFieldMessage - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8139F20 - - thumb_func_start sub_813A080 -sub_813A080: @ 813A080 - push {r4-r7,lr} - ldr r0, =0x000040ce - bl VarGet - lsls r0, 16 - lsrs r5, r0, 16 - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r1, =0x00000ca9 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 30 - lsrs r4, r0, 30 - cmp r5, 0x2 - bne _0813A0D8 - movs r0, 0xA9 - lsls r0, 1 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - bne _0813A0D8 - ldr r1, =gSpecialVar_0x8005 - movs r0, 0x5 - strh r0, [r1] - ldr r1, =gSpecialVar_0x8006 - movs r0, 0x4 - strh r0, [r1] - b _0813A110 - .pool -_0813A0D0: - movs r0, 0x4 - strh r0, [r6] - adds r0, r3, 0x5 - b _0813A10E -_0813A0D8: - movs r3, 0 - ldr r6, =gSpecialVar_0x8005 - ldr r7, =gSpecialVar_0x8006 - lsls r1, r4, 1 - lsls r2, r5, 2 - ldr r4, =gUnknown_085B2CDC - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - adds r1, r2 - movs r2, 0xCE - lsls r2, 4 - adds r0, r2 - adds r0, r1 - ldrh r1, [r0] -_0813A0F4: - lsls r0, r3, 1 - adds r0, r4 - ldrh r0, [r0] - cmp r0, r1 - bhi _0813A0D0 - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x8 - bls _0813A0F4 - movs r0, 0x4 - strh r0, [r6] - movs r0, 0xC -_0813A10E: - strh r0, [r7] -_0813A110: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813A080 - - thumb_func_start sub_813A128 -sub_813A128: @ 813A128 - push {r4,lr} - ldr r0, =sub_813A2DC - movs r1, 0x8 - bl CreateTask - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, =gTasks - adds r3, r0, r1 - ldr r1, =gSpecialVar_0x8004 - ldrh r0, [r1] - strh r0, [r3, 0x1E] - ldrh r0, [r1] - cmp r0, 0xC - bls _0813A14E - b _0813A2C6 -_0813A14E: - lsls r0, 2 - ldr r1, =_0813A168 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0813A168: - .4byte _0813A19C - .4byte _0813A1AA - .4byte _0813A1C2 - .4byte _0813A1D6 - .4byte _0813A1F0 - .4byte _0813A208 - .4byte _0813A222 - .4byte _0813A23C - .4byte _0813A25A - .4byte _0813A274 - .4byte _0813A274 - .4byte _0813A28E - .4byte _0813A2A8 -_0813A19C: - movs r1, 0 - movs r0, 0x1 - strh r0, [r3, 0x8] - strh r0, [r3, 0xA] - strh r0, [r3, 0xC] - strh r0, [r3, 0xE] - b _0813A2BC -_0813A1AA: - movs r1, 0 - movs r0, 0x5 - strh r0, [r3, 0x8] - movs r0, 0x8 - strh r0, [r3, 0xA] - movs r0, 0x1 - strh r0, [r3, 0xC] - strh r0, [r3, 0xE] - movs r0, 0x9 - strh r0, [r3, 0x10] - movs r0, 0xA - b _0813A2BE -_0813A1C2: - movs r2, 0 - movs r0, 0x6 - strh r0, [r3, 0x8] - movs r1, 0xC - strh r1, [r3, 0xA] - movs r0, 0x1 - strh r0, [r3, 0xC] - strh r0, [r3, 0xE] - movs r0, 0x7 - b _0813A250 -_0813A1D6: - movs r1, 0 - movs r0, 0x6 - strh r0, [r3, 0x8] - movs r0, 0xB - strh r0, [r3, 0xA] - movs r0, 0xE - strh r0, [r3, 0xC] - movs r0, 0x1 - strh r0, [r3, 0xE] - movs r0, 0xF - strh r0, [r3, 0x10] - movs r0, 0xC - b _0813A2BE -_0813A1F0: - movs r1, 0 - movs r0, 0x6 - strh r0, [r3, 0x8] - strh r0, [r3, 0xA] - movs r0, 0xE - strh r0, [r3, 0xC] - movs r0, 0x1 - strh r0, [r3, 0xE] - movs r0, 0xF - strh r0, [r3, 0x10] - movs r0, 0xC - b _0813A2BE -_0813A208: - movs r1, 0 - movs r0, 0x6 - strh r0, [r3, 0x8] - movs r0, 0x7 - strh r0, [r3, 0xA] - movs r0, 0xE - strh r0, [r3, 0xC] - movs r0, 0x1 - strh r0, [r3, 0xE] - movs r0, 0xF - strh r0, [r3, 0x10] - movs r0, 0xC - b _0813A2BE -_0813A222: - movs r1, 0 - movs r0, 0x6 - strh r0, [r3, 0x8] - movs r0, 0xA - strh r0, [r3, 0xA] - movs r0, 0xE - strh r0, [r3, 0xC] - movs r0, 0x1 - strh r0, [r3, 0xE] - movs r0, 0xF - strh r0, [r3, 0x10] - movs r0, 0xC - b _0813A2BE -_0813A23C: - movs r2, 0 - movs r0, 0x6 - strh r0, [r3, 0x8] - movs r1, 0xC - strh r1, [r3, 0xA] - movs r0, 0xF - strh r0, [r3, 0xC] - movs r0, 0x1 - strh r0, [r3, 0xE] - movs r0, 0xE -_0813A250: - strh r0, [r3, 0x10] - strh r1, [r3, 0x12] - strh r2, [r3, 0x14] - strh r4, [r3, 0x26] - b _0813A2D2 -_0813A25A: - movs r1, 0 - movs r0, 0x6 - strh r0, [r3, 0x8] - movs r0, 0xA - strh r0, [r3, 0xA] - movs r0, 0x11 - strh r0, [r3, 0xC] - movs r0, 0x1 - strh r0, [r3, 0xE] - movs r0, 0xB - strh r0, [r3, 0x10] - movs r0, 0xC - b _0813A2BE -_0813A274: - movs r1, 0 - movs r0, 0x6 - strh r0, [r3, 0x8] - movs r0, 0xB - strh r0, [r3, 0xA] - movs r0, 0xF - strh r0, [r3, 0xC] - movs r0, 0x1 - strh r0, [r3, 0xE] - movs r0, 0xE - strh r0, [r3, 0x10] - movs r0, 0xC - b _0813A2BE -_0813A28E: - movs r1, 0 - movs r0, 0x6 - strh r0, [r3, 0x8] - movs r0, 0x7 - strh r0, [r3, 0xA] - movs r0, 0x13 - strh r0, [r3, 0xC] - movs r0, 0x1 - strh r0, [r3, 0xE] - movs r0, 0xA - strh r0, [r3, 0x10] - movs r0, 0xC - b _0813A2BE -_0813A2A8: - movs r1, 0 - movs r0, 0x6 - strh r0, [r3, 0x8] - movs r0, 0x7 - strh r0, [r3, 0xA] - movs r0, 0x11 - strh r0, [r3, 0xC] - movs r0, 0x1 - strh r0, [r3, 0xE] - movs r0, 0xC -_0813A2BC: - strh r0, [r3, 0x10] -_0813A2BE: - strh r0, [r3, 0x12] - strh r1, [r3, 0x14] - strh r4, [r3, 0x26] - b _0813A2D2 -_0813A2C6: - ldr r1, =gSpecialVar_Result - movs r0, 0x7F - strh r0, [r1] - adds r0, r4, 0 - bl DestroyTask -_0813A2D2: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813A128 - - thumb_func_start sub_813A2DC -sub_813A2DC: @ 813A2DC - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x20 - lsls r0, 24 - lsrs r7, r0, 24 - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - ldr r1, =gTasks - adds r6, r0, r1 - bl ScriptContext2_Enable - ldr r0, =gUnknown_0203AB68 - movs r5, 0 - strh r5, [r0] - ldr r1, =gUnknown_0203AB6C - movs r0, 0x40 - strb r0, [r1] - ldrh r0, [r6, 0x1E] - movs r1, 0 - bl sub_813AA60 - ldrb r0, [r6, 0x1E] - movs r1, 0 - bl sub_813ACE8 - ldr r4, =gUnknown_0203AB64 - movs r1, 0xA - ldrsh r0, [r6, r1] - lsls r0, 3 - bl AllocZeroed - str r0, [r4] - ldr r0, =gUnknown_0203AB6A - strh r5, [r0] - bl sub_813A42C - movs r3, 0 - movs r4, 0 - movs r2, 0xA - ldrsh r0, [r6, r2] - add r1, sp, 0x18 - mov r8, r1 - cmp r3, r0 - bge _0813A36A - ldr r5, =gUnknown_085B2CF0 -_0813A33A: - lsls r1, r4, 2 - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - lsls r0, 6 - adds r1, r0 - adds r1, r5 - ldr r0, [r1] - ldr r1, =gUnknown_0203AB64 - ldr r2, [r1] - lsls r1, r4, 3 - adds r1, r2 - str r0, [r1] - str r4, [r1, 0x4] - adds r1, r3, 0 - bl display_text_and_get_width - adds r3, r0, 0 - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - movs r2, 0xA - ldrsh r0, [r6, r2] - cmp r4, r0 - blt _0813A33A -_0813A36A: - adds r0, r3, 0 - bl convert_pixel_width_to_tile_width - strh r0, [r6, 0x10] - movs r1, 0xC - ldrsh r0, [r6, r1] - movs r2, 0x10 - ldrsh r1, [r6, r2] - adds r0, r1 - cmp r0, 0x1D - ble _0813A38C - movs r0, 0x1D - subs r0, r1 - cmp r0, 0 - bge _0813A38A - movs r0, 0 -_0813A38A: - strh r0, [r6, 0xC] -_0813A38C: - ldrb r2, [r6, 0xC] - ldrb r3, [r6, 0xE] - ldrb r0, [r6, 0x10] - str r0, [sp] - ldrb r0, [r6, 0x12] - str r0, [sp, 0x4] - movs r0, 0xF - str r0, [sp, 0x8] - movs r0, 0x64 - str r0, [sp, 0xC] - add r0, sp, 0x10 - movs r1, 0 - bl sub_8198A50 - ldr r0, [sp, 0x10] - ldr r1, [sp, 0x14] - str r0, [sp, 0x18] - str r1, [sp, 0x1C] - mov r0, r8 - bl AddWindow - lsls r0, 24 - lsrs r0, 24 - strh r0, [r6, 0x22] - movs r1, 0 - bl SetStandardWindowBorderStyle - ldr r4, =gUnknown_030061D0 - ldrh r0, [r6, 0xA] - strh r0, [r4, 0xC] - ldrh r0, [r6, 0x8] - strh r0, [r4, 0xE] - ldrh r0, [r6, 0x22] - strb r0, [r4, 0x10] - adds r0, r7, 0 - bl sub_813A694 - ldrh r1, [r6, 0x16] - ldrh r2, [r6, 0x18] - adds r0, r4, 0 - bl ListMenuInit - lsls r0, 24 - lsrs r0, 24 - strh r0, [r6, 0x24] - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - ldr r1, =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_813A4EC - str r1, [r0] - add sp, 0x20 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813A2DC - - thumb_func_start sub_813A42C -sub_813A42C: @ 813A42C - ldr r1, =gUnknown_030061D0 - ldr r0, =gUnknown_0203AB64 - ldr r0, [r0] - str r0, [r1] - ldr r0, =sub_813A46C - str r0, [r1, 0x4] - movs r0, 0 - str r0, [r1, 0x8] - movs r2, 0 - movs r0, 0x1 - strh r0, [r1, 0xC] - strh r0, [r1, 0xE] - strb r2, [r1, 0x10] - strb r2, [r1, 0x11] - movs r0, 0x8 - strb r0, [r1, 0x12] - strb r2, [r1, 0x13] - movs r0, 0x21 - strb r0, [r1, 0x14] - movs r0, 0x31 - strb r0, [r1, 0x15] - movs r0, 0 - strb r0, [r1, 0x16] - movs r0, 0x1 - strb r0, [r1, 0x17] - bx lr - .pool - thumb_func_end sub_813A42C - - thumb_func_start sub_813A46C -sub_813A46C: @ 813A46C - push {r4,r5,lr} - sub sp, 0x4 - movs r0, 0x5 - bl PlaySE - ldr r0, =sub_813A4EC - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFF - beq _0813A4D4 - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - ldr r0, =gTasks - adds r4, r0 - ldrh r0, [r4, 0x24] - lsls r0, 24 - lsrs r0, 24 - mov r1, sp - movs r2, 0 - bl ListMenuGetScrollAndRow - ldr r1, =gUnknown_0203AB68 - mov r0, sp - ldrh r0, [r0] - strh r0, [r1] - ldrh r0, [r4, 0x24] - lsls r0, 24 - lsrs r0, 24 - mov r1, sp - bl ListMenuGetCurrentItemArrayId - ldrh r0, [r4, 0x1E] - ldr r5, =gUnknown_0203AB6A - ldrh r1, [r5] - bl sub_813AC44 - ldrh r0, [r4, 0x1E] - mov r1, sp - ldrh r1, [r1] - bl sub_813AA60 - ldrb r0, [r4, 0x1E] - mov r1, sp - ldrh r1, [r1] - bl sub_813AD34 - mov r0, sp - ldrh r0, [r0] - strh r0, [r5] -_0813A4D4: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813A46C - thumb_func_start sub_813A4EC sub_813A4EC: @ 813A4EC push {r4-r6,lr} diff --git a/asm/script_menu.s b/asm/script_menu.s index a2e2ec59e7..670740a777 100644 --- a/asm/script_menu.s +++ b/asm/script_menu.s @@ -1498,7 +1498,7 @@ CreateWindowFromRect: @ 80E2A1C movs r1, 0 adds r2, r4, 0 adds r3, r5, 0 - bl sub_8198A50 + bl CreateWindowTemplate ldr r0, [sp, 0x10] ldr r1, [sp, 0x14] str r0, [sp, 0x18] diff --git a/data/field_specials.s b/data/field_specials.s index 030a279ef4..0f52cb891c 100644 --- a/data/field_specials.s +++ b/data/field_specials.s @@ -3,311 +3,6 @@ .section .rodata - .align 2 -gUnknown_085B2BAC:: @ 85B2BAC - .byte 0x00, 0x15, 0x01, 0x08, 0x04, 0x0f, 0x08, 0x00 - - .align 2 -gElevatorFloorsTable:: @ 85B2BB4 - .4byte gText_B4F - .4byte gText_B3F - .4byte gText_B2F - .4byte gText_B1F - .4byte gText_1F - .4byte gText_2F - .4byte gText_3F - .4byte gText_4F - .4byte gText_5F - .4byte gText_6F - .4byte gText_7F - .4byte gText_8F - .4byte gText_9F - .4byte gText_10F - .4byte gText_11F - .4byte gText_Rooftop - - .align 1 -gUnknown_085B2BF4:: @ 85B2BF4 - .2byte 0x0329, 0x032a, 0x032b, 0x0331, 0x0332, 0x0333, 0x0339, 0x033a, 0x033b - - .align 1 -gUnknown_085B2C06:: @ 85B2C06 - .2byte 0x0329, 0x032b, 0x032a, 0x0331, 0x0333, 0x0332, 0x0339, 0x033b, 0x033a - -gUnknown_085B2C18:: @ 85B2C18 - .byte 0x08, 0x10, 0x18, 0x20, 0x26, 0x2e, 0x34, 0x38, 0x39 - -gUnknown_085B2C21:: @ 85B2C21 - .byte 0x03, 0x06, 0x09, 0x0c, 0x0f, 0x12, 0x15, 0x18, 0x1b - - .align 1 -gUnknown_085B2C2A:: @ 85B2C2A - .2byte 0x0202, 0x0301, 0x0405, 0x0504, 0x0604, 0x0700, 0x0804, 0x090b, 0x0a05, 0x0b05, 0x0c02, 0x0d06, 0x0e03, 0x0f02, 0x100c, 0x100a - .2byte 0x1a35, 0x193c, 0xffff - - .align 2 -gUnknown_085B2C50:: @ 85B2C50 - .4byte BattleFrontier_Lounge2_Text_260971 - .4byte BattleFrontier_Lounge2_Text_260A1E - .4byte BattleFrontier_Lounge2_Text_260AE7 - .4byte BattleFrontier_Lounge2_Text_2619AC - .4byte BattleFrontier_Lounge2_Text_261A91 - .4byte BattleFrontier_Lounge2_Text_261B0C - .4byte BattleFrontier_Lounge2_Text_261B95 - .4byte BattleFrontier_Lounge2_Text_261B95 - .4byte BattleFrontier_Lounge2_Text_261B95 - .4byte BattleFrontier_Lounge2_Text_261C1A - .4byte BattleFrontier_Lounge2_Text_261C1A - .4byte BattleFrontier_Lounge2_Text_261C1A - .4byte BattleFrontier_Lounge2_Text_260BC4 - .4byte BattleFrontier_Lounge2_Text_260C6D - .4byte BattleFrontier_Lounge2_Text_260D3A - .4byte BattleFrontier_Lounge2_Text_260E1E - .4byte BattleFrontier_Lounge2_Text_260EC7 - .4byte BattleFrontier_Lounge2_Text_260F74 - .4byte BattleFrontier_Lounge2_Text_2614E6 - .4byte BattleFrontier_Lounge2_Text_261591 - .4byte BattleFrontier_Lounge2_Text_26166F - .4byte BattleFrontier_Lounge2_Text_261282 - .4byte BattleFrontier_Lounge2_Text_261329 - .4byte BattleFrontier_Lounge2_Text_261403 - .4byte BattleFrontier_Lounge2_Text_261026 - .4byte BattleFrontier_Lounge2_Text_2610CC - .4byte BattleFrontier_Lounge2_Text_261194 - .4byte BattleFrontier_Lounge2_Text_26174D - .4byte BattleFrontier_Lounge2_Text_2617F9 - .4byte BattleFrontier_Lounge2_Text_2618C4 - -gUnknown_085B2CC8:: @ 85B2CC8 - .byte 0x15, 0x38, 0x15, 0x23, 0xff, 0xff, 0xff, 0xff, 0x02, 0x04, 0x07, 0x15, 0x07, 0x15, 0x0e, 0x1c, 0x0d, 0x70, 0x07, 0x38 - - .align 1 -gUnknown_085B2CDC:: @ 85B2CDC - .2byte 0x0007, 0x000e, 0x0015, 0x001c, 0x0023, 0x0031, 0x003f, 0x004d, 0x005b, 0x0000 - - .align 2 -gUnknown_085B2CF0:: @ 85B2CF0 - .4byte gText_Exit - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - - .4byte gText_BlueFlute - .4byte gText_YellowFlute - .4byte gText_RedFlute - .4byte gText_WhiteFlute - .4byte gText_BlackFlute - .4byte gText_PrettyChair - .4byte gText_PrettyDesk - .4byte gText_Exit - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - - .4byte gText_0Pts - .4byte gText_10Pts - .4byte gText_20Pts - .4byte gText_30Pts - .4byte gText_40Pts - .4byte gText_50Pts - .4byte gText_60Pts - .4byte gText_70Pts - .4byte gText_80Pts - .4byte gText_90Pts - .4byte gText_100Pts - .4byte gText_QuestionMark - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - - .4byte gText_KissPoster16BP - .4byte gText_KissCushion32BP - .4byte gText_SmoochumDoll32BP - .4byte gText_TogepiDoll48BP - .4byte gText_MeowthDoll48BP - .4byte gText_ClefairyDoll48BP - .4byte gText_DittoDoll48BP - .4byte gText_CyndaquilDoll80BP - .4byte gText_ChikoritaDoll80BP - .4byte gText_TotodileDoll80BP - .4byte gText_Exit - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - - .4byte gText_LaprasDoll128BP - .4byte gText_SnorlaxDoll128BP - .4byte gText_VenusaurDoll256BP - .4byte gText_CharizardDoll256BP - .4byte gText_BlastoiseDoll256BP - .4byte gText_Exit - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - - .4byte gText_Protein1BP - .4byte gText_Calcium1BP - .4byte gText_Iron1BP - .4byte gText_Zinc1BP - .4byte gText_Carbos1BP - .4byte gText_HpUp1BP - .4byte gText_Exit - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - - .4byte gText_Leftovers48BP - .4byte gText_WhiteHerb48BP - .4byte gText_QuickClaw48BP - .4byte gText_MentalHerb48BP - .4byte gText_BrightPowder64BP - .4byte gText_ChoiceBand64BP - .4byte gText_KingsRock64BP - .4byte gText_FocusBand64BP - .4byte gText_ScopeLens64BP - .4byte gText_Exit - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - - .4byte gText_EnergyPowder50 - .4byte gText_EnergyRoot80 - .4byte gText_HealPowder50 - .4byte gText_RevivalHerb300 - .4byte gText_Protein1000 - .4byte gText_Iron1000 - .4byte gText_Carbos1000 - .4byte gText_Calcium1000 - .4byte gText_Zinc1000 - .4byte gText_HPUp1000 - .4byte gText_PPUp3000 - .4byte gText_Exit - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - - .4byte gText_BattleTower2 - .4byte gText_BattleDome - .4byte gText_BattlePalace - .4byte gText_BattleArena - .4byte gText_BattleFactory - .4byte gText_BattlePike - .4byte gText_BattlePyramid - .4byte gText_RankingHall - .4byte gText_ExchangeService - .4byte gText_Exit - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - - .4byte gText_Softboiled16BP - .4byte gText_SeismicToss24BP - .4byte gText_DreamEater24BP - .4byte gText_MegaPunch24BP - .4byte gText_MegaKick48BP - .4byte gText_BodySlam48BP - .4byte gText_RockSlide48BP - .4byte gText_Counter48BP - .4byte gText_ThunderWave48BP - .4byte gText_SwordsDance48BP - .4byte gText_Exit - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - - .4byte gText_DefenseCurl16BP - .4byte gText_Snore24BP - .4byte gText_MudSlap24BP - .4byte gText_Swift24BP - .4byte gText_IcyWind24BP - .4byte gText_Endure48BP - .4byte gText_PsychUp48BP - .4byte gText_IcePunch48BP - .4byte gText_ThunderPunch48BP - .4byte gText_FirePunch48BP - .4byte gText_Exit - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - - .4byte gText_SlateportCity - .4byte gText_BattleFrontier - .4byte gText_SouthernIsland - .4byte gText_NavelRock - .4byte gText_BirthIsland - .4byte gText_FarawayIsland - .4byte gText_Exit - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - - .4byte gText_BattleTrainers - .4byte gText_BattleBasics - .4byte gText_PokemonNature - .4byte gText_PokemonMoves - .4byte gText_Underpowered - .4byte gText_WhenInDanger - .4byte gText_Exit - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .align 2 gUnknown_085B3030:: @ 85B3030 .4byte 0x03000002, 0x00000000, 0x07d00000, 0x00000064 diff --git a/data/maps/BattleFrontier_BattleTowerElevator/scripts.inc b/data/maps/BattleFrontier_BattleTowerElevator/scripts.inc index 248c1f9ca8..072d271374 100644 --- a/data/maps/BattleFrontier_BattleTowerElevator/scripts.inc +++ b/data/maps/BattleFrontier_BattleTowerElevator/scripts.inc @@ -14,7 +14,7 @@ BattleFrontier_BattleTowerElevator_EventScript_2419F0:: @ 82419F0 waitmovement 0 special sub_813A080 waitse - special sub_8139A78 + special ShakeScreenInElevator waitstate delay 48 applymovement 1, BattleFrontier_BattleTowerElevator_Movement_241A8E diff --git a/data/maps/LilycoveCity_DepartmentStoreElevator/scripts.inc b/data/maps/LilycoveCity_DepartmentStoreElevator/scripts.inc index cc1b51ea40..372d16dae2 100644 --- a/data/maps/LilycoveCity_DepartmentStoreElevator/scripts.inc +++ b/data/maps/LilycoveCity_DepartmentStoreElevator/scripts.inc @@ -118,7 +118,7 @@ LilycoveCity_DepartmentStoreElevator_EventScript_2207E5:: @ 82207E5 applymovement VAR_LAST_TALKED, LilycoveCity_DepartmentStoreElevator_Movement_2725AA waitmovement 0 waitse - special sub_8139A78 + special ShakeScreenInElevator waitstate setflag FLAG_0x002 return diff --git a/data/maps/TrainerHill_Elevator/scripts.inc b/data/maps/TrainerHill_Elevator/scripts.inc index ac2d5c8a7f..ff731393bc 100644 --- a/data/maps/TrainerHill_Elevator/scripts.inc +++ b/data/maps/TrainerHill_Elevator/scripts.inc @@ -50,7 +50,7 @@ TrainerHill_Elevator_EventScript_2693D4:: @ 82693D4 TrainerHill_Elevator_EventScript_2693D9:: @ 82693D9 waitse - special sub_8139A78 + special ShakeScreenInElevator waitstate return diff --git a/data/specials.inc b/data/specials.inc index 43607cf6e2..0b58f39ba3 100644 --- a/data/specials.inc +++ b/data/specials.inc @@ -284,7 +284,7 @@ gSpecials:: @ 81DBA64 def_special sub_80FB7A4 def_special DoSoftReset def_special GameClear - def_special sub_8139A78 + def_special ShakeScreenInElevator def_special nullsub_55 def_special SpawnScriptEventObject def_special RemoveScriptEventObject diff --git a/include/global.h b/include/global.h index 7153ef2606..687ee26d27 100644 --- a/include/global.h +++ b/include/global.h @@ -344,7 +344,8 @@ struct BattleFrontier /*0xCA9*/ u8 field_CA9_f:1; // 0x80 /*0xCAA*/ u16 field_CAA[4]; /*0xCB2*/ u16 field_CB2; - /*0xCB4*/ u16 field_CB4[30]; + /*0xCB4*/ u16 field_CB4[22]; + /*0xCE0*/ u16 field_CE0[4][2]; /*0xCF0*/ u16 field_CF0[2]; /*0xCF4*/ u16 field_CF4[2]; /*0xCF8*/ u16 field_CF8[2]; @@ -355,24 +356,21 @@ struct BattleFrontier /*0xD09*/ u8 filler_D09; /*0xD0A*/ u8 filler_D0A; /*0xD0B*/ u8 filler_D0B; - /*0xD0C*/ u8 filler_D0C; - /*0xD0D*/ u8 filler_D0D; - /*0xD0E*/ u8 filler_D0E; - /*0xD0F*/ u8 filler_D0F; + /*0xD0C*/ u16 field_D0C[2]; /*0xD10*/ u8 filler_D10; /*0xD11*/ u8 filler_D11; /*0xD12*/ u8 filler_D12; /*0xD13*/ u8 filler_D13; /*0xD14*/ u16 field_D14[2]; - /*0xD18*/ u8 field_D18[0xB8]; + /*0xD18*/ u8 field_D18[0xB0]; + /*0xDC8*/ u16 field_DC8[2]; + /*0xDCC*/ u8 filler_DCC[4]; /*0xDD0*/ u16 field_DD0[2]; /*0xDD4*/ u16 field_DD4[2]; /*0xDD8*/ u16 field_DD8; - /*0xDDA*/ u16 field_DDA; - /*0xDDC*/ u16 field_DDC; + /*0xDDA*/ u16 field_DDA[2]; /*0xDDE*/ u16 field_DDE[2]; - /*0xDE2*/ u16 field_DE2; - /*0xDE4*/ u16 field_DE4; + /*0xDE2*/ u16 field_DE2[2]; /*0xDE6*/ u16 field_DE6; /*0xDE8*/ u16 field_DE8; /*0xDEA*/ u16 field_DEA[2]; @@ -387,11 +385,9 @@ struct BattleFrontier /*0xDFE*/ u16 field_DFE; /*0xE00*/ u16 field_E00; /*0xE02*/ u16 field_E02; - /*0xE04*/ u16 field_E04; - /*0xE06*/ u16 field_E06; + /*0xE04*/ u16 field_E04[2]; /*0xE08*/ u16 field_E08[9]; - /*0xE1A*/ u16 field_E1A; - /*0xE1C*/ u16 field_E1C; + /*0xE1A*/ u16 field_E1A[2]; /*0xE1E*/ u16 field_E1E[7]; /*0xE2C*/ struct PyramidBag pyramidBag; /*0xE58*/ u16 field_E58; diff --git a/include/menu.h b/include/menu.h index 888d898b6f..0c191de575 100644 --- a/include/menu.h +++ b/include/menu.h @@ -51,7 +51,7 @@ void blit_move_info_icon(u8 winId, u8 a2, u16 x, u16 y); void reset_temp_tile_data_buffers(void); void *decompress_and_copy_tile_data_to_vram(u8 bgId, const void *src, int size, u16 offset, u8 mode); bool8 free_temp_tile_data_buffers_if_possible(void); -struct WindowTemplate sub_8198A50(u8, u8, u8, u8, u8, u8, u16); +struct WindowTemplate CreateWindowTemplate(u8, u8, u8, u8, u8, u8, u16); void CreateYesNoMenu(const struct WindowTemplate *windowTemplate, u16 borderFirstTileNum, u8 borderPalette, u8 initialCursorPos); void copy_decompressed_tile_data_to_vram_autofree(u8 bgId, const void *src, int size, u16 offset, u8 mode); s8 ProcessMenuInputNoWrap_(void); diff --git a/include/script_menu.h b/include/script_menu.h index 0555d0f78a..c50bef00f5 100644 --- a/include/script_menu.h +++ b/include/script_menu.h @@ -9,8 +9,9 @@ bool8 ScriptMenu_YesNo(u8 var1, u8 var2); bool8 ScriptMenu_MultichoiceGrid(u8 left, u8 top, u8 multichoiceId, u8 a4, u8 columnCount); bool8 ScriptMenu_ShowPokemonPic(u16 var1, u8 var2, u8 var3); bool8 (*ScriptMenu_GetPicboxWaitFunc(void))(void); -u8 convert_pixel_width_to_tile_width(s32); +s32 convert_pixel_width_to_tile_width(s32); u8 CreateWindowFromRect(u8, u8, u8, u8); void sub_80E2A78(u8); +u32 display_text_and_get_width(const u8*, u32); #endif //GUARD_SCRIPT_MENU_H diff --git a/include/strings.h b/include/strings.h index 3d3741a86c..14ff0048f3 100644 --- a/include/strings.h +++ b/include/strings.h @@ -472,4 +472,179 @@ extern const u8 gText_BigGirl[]; extern const u8 gText_Son[]; extern const u8 gText_Daughter[]; +extern const u8 gText_1F[]; +extern const u8 gText_2F[]; +extern const u8 gText_3F[]; +extern const u8 gText_4F[]; +extern const u8 gText_5F[]; +extern const u8 gText_6F[]; +extern const u8 gText_7F[]; +extern const u8 gText_8F[]; +extern const u8 gText_9F[]; +extern const u8 gText_10F[]; +extern const u8 gText_11F[]; +extern const u8 gText_B1F[]; +extern const u8 gText_B2F[]; +extern const u8 gText_B3F[]; +extern const u8 gText_B4F[]; +extern const u8 gText_Rooftop[]; +extern const u8 gText_ElevatorNowOn[]; + +extern const u8 BattleFrontier_Lounge2_Text_260971[]; +extern const u8 BattleFrontier_Lounge2_Text_260A1E[]; +extern const u8 BattleFrontier_Lounge2_Text_260AE7[]; +extern const u8 BattleFrontier_Lounge2_Text_2619AC[]; +extern const u8 BattleFrontier_Lounge2_Text_261A91[]; +extern const u8 BattleFrontier_Lounge2_Text_261B0C[]; +extern const u8 BattleFrontier_Lounge2_Text_261B95[]; +extern const u8 BattleFrontier_Lounge2_Text_261B95[]; +extern const u8 BattleFrontier_Lounge2_Text_261B95[]; +extern const u8 BattleFrontier_Lounge2_Text_261C1A[]; +extern const u8 BattleFrontier_Lounge2_Text_261C1A[]; +extern const u8 BattleFrontier_Lounge2_Text_261C1A[]; +extern const u8 BattleFrontier_Lounge2_Text_260BC4[]; +extern const u8 BattleFrontier_Lounge2_Text_260C6D[]; +extern const u8 BattleFrontier_Lounge2_Text_260D3A[]; +extern const u8 BattleFrontier_Lounge2_Text_260E1E[]; +extern const u8 BattleFrontier_Lounge2_Text_260EC7[]; +extern const u8 BattleFrontier_Lounge2_Text_260F74[]; +extern const u8 BattleFrontier_Lounge2_Text_2614E6[]; +extern const u8 BattleFrontier_Lounge2_Text_261591[]; +extern const u8 BattleFrontier_Lounge2_Text_26166F[]; +extern const u8 BattleFrontier_Lounge2_Text_261282[]; +extern const u8 BattleFrontier_Lounge2_Text_261329[]; +extern const u8 BattleFrontier_Lounge2_Text_261403[]; +extern const u8 BattleFrontier_Lounge2_Text_261026[]; +extern const u8 BattleFrontier_Lounge2_Text_2610CC[]; +extern const u8 BattleFrontier_Lounge2_Text_261194[]; +extern const u8 BattleFrontier_Lounge2_Text_26174D[]; +extern const u8 BattleFrontier_Lounge2_Text_2617F9[]; +extern const u8 BattleFrontier_Lounge2_Text_2618C4[]; + +extern const u8 gText_Exit[]; + +extern const u8 gText_BlueFlute[]; +extern const u8 gText_YellowFlute[]; +extern const u8 gText_RedFlute[]; +extern const u8 gText_WhiteFlute[]; +extern const u8 gText_BlackFlute[]; +extern const u8 gText_PrettyChair[]; +extern const u8 gText_PrettyDesk[]; +extern const u8 gText_Exit[]; + +extern const u8 gText_0Pts[]; +extern const u8 gText_10Pts[]; +extern const u8 gText_20Pts[]; +extern const u8 gText_30Pts[]; +extern const u8 gText_40Pts[]; +extern const u8 gText_50Pts[]; +extern const u8 gText_60Pts[]; +extern const u8 gText_70Pts[]; +extern const u8 gText_80Pts[]; +extern const u8 gText_90Pts[]; +extern const u8 gText_100Pts[]; +extern const u8 gText_QuestionMark[]; + +extern const u8 gText_KissPoster16BP[]; +extern const u8 gText_KissCushion32BP[]; +extern const u8 gText_SmoochumDoll32BP[]; +extern const u8 gText_TogepiDoll48BP[]; +extern const u8 gText_MeowthDoll48BP[]; +extern const u8 gText_ClefairyDoll48BP[]; +extern const u8 gText_DittoDoll48BP[]; +extern const u8 gText_CyndaquilDoll80BP[]; +extern const u8 gText_ChikoritaDoll80BP[]; +extern const u8 gText_TotodileDoll80BP[]; +extern const u8 gText_Exit[]; + +extern const u8 gText_LaprasDoll128BP[]; +extern const u8 gText_SnorlaxDoll128BP[]; +extern const u8 gText_VenusaurDoll256BP[]; +extern const u8 gText_CharizardDoll256BP[]; +extern const u8 gText_BlastoiseDoll256BP[]; +extern const u8 gText_Exit[]; + +extern const u8 gText_Protein1BP[]; +extern const u8 gText_Calcium1BP[]; +extern const u8 gText_Iron1BP[]; +extern const u8 gText_Zinc1BP[]; +extern const u8 gText_Carbos1BP[]; +extern const u8 gText_HpUp1BP[]; +extern const u8 gText_Exit[]; + +extern const u8 gText_Leftovers48BP[]; +extern const u8 gText_WhiteHerb48BP[]; +extern const u8 gText_QuickClaw48BP[]; +extern const u8 gText_MentalHerb48BP[]; +extern const u8 gText_BrightPowder64BP[]; +extern const u8 gText_ChoiceBand64BP[]; +extern const u8 gText_KingsRock64BP[]; +extern const u8 gText_FocusBand64BP[]; +extern const u8 gText_ScopeLens64BP[]; +extern const u8 gText_Exit[]; + +extern const u8 gText_EnergyPowder50[]; +extern const u8 gText_EnergyRoot80[]; +extern const u8 gText_HealPowder50[]; +extern const u8 gText_RevivalHerb300[]; +extern const u8 gText_Protein1000[]; +extern const u8 gText_Iron1000[]; +extern const u8 gText_Carbos1000[]; +extern const u8 gText_Calcium1000[]; +extern const u8 gText_Zinc1000[]; +extern const u8 gText_HPUp1000[]; +extern const u8 gText_PPUp3000[]; +extern const u8 gText_Exit[]; + +extern const u8 gText_BattleTower2[]; +extern const u8 gText_BattleDome[]; +extern const u8 gText_BattlePalace[]; +extern const u8 gText_BattleArena[]; +extern const u8 gText_BattleFactory[]; +extern const u8 gText_BattlePike[]; +extern const u8 gText_BattlePyramid[]; +extern const u8 gText_RankingHall[]; +extern const u8 gText_ExchangeService[]; +extern const u8 gText_Exit[]; + +extern const u8 gText_Softboiled16BP[]; +extern const u8 gText_SeismicToss24BP[]; +extern const u8 gText_DreamEater24BP[]; +extern const u8 gText_MegaPunch24BP[]; +extern const u8 gText_MegaKick48BP[]; +extern const u8 gText_BodySlam48BP[]; +extern const u8 gText_RockSlide48BP[]; +extern const u8 gText_Counter48BP[]; +extern const u8 gText_ThunderWave48BP[]; +extern const u8 gText_SwordsDance48BP[]; +extern const u8 gText_Exit[]; + +extern const u8 gText_DefenseCurl16BP[]; +extern const u8 gText_Snore24BP[]; +extern const u8 gText_MudSlap24BP[]; +extern const u8 gText_Swift24BP[]; +extern const u8 gText_IcyWind24BP[]; +extern const u8 gText_Endure48BP[]; +extern const u8 gText_PsychUp48BP[]; +extern const u8 gText_IcePunch48BP[]; +extern const u8 gText_ThunderPunch48BP[]; +extern const u8 gText_FirePunch48BP[]; +extern const u8 gText_Exit[]; + +extern const u8 gText_SlateportCity[]; +extern const u8 gText_BattleFrontier[]; +extern const u8 gText_SouthernIsland[]; +extern const u8 gText_NavelRock[]; +extern const u8 gText_BirthIsland[]; +extern const u8 gText_FarawayIsland[]; +extern const u8 gText_Exit[]; + +extern const u8 gText_BattleTrainers[]; +extern const u8 gText_BattleBasics[]; +extern const u8 gText_PokemonNature[]; +extern const u8 gText_PokemonMoves[]; +extern const u8 gText_Underpowered[]; +extern const u8 gText_WhenInDanger[]; +extern const u8 gText_Exit[]; + #endif //GUARD_STRINGS_H diff --git a/src/field_specials.c b/src/field_specials.c index a0d640ccd1..5f4b4f7841 100644 --- a/src/field_specials.c +++ b/src/field_specials.c @@ -13,16 +13,22 @@ #include "field_region_map.h" #include "field_specials.h" #include "field_weather.h" +#include "international_string_util.h" #include "link.h" +#include "list_menu.h" +#include "malloc.h" +#include "menu.h" #include "overworld.h" #include "party_menu.h" #include "pokeblock.h" #include "pokemon.h" #include "pokemon_storage_system.h" +#include "random.h" #include "region_map.h" #include "rom_8011DC0.h" #include "rtc.h" #include "script.h" +#include "script_menu.h" #include "sound.h" #include "starter_choose.h" #include "string_util.h" @@ -31,6 +37,7 @@ #include "text.h" #include "tv.h" #include "wallclock.h" +#include "window.h" #include "constants/event_objects.h" #include "constants/items.h" #include "constants/maps.h" @@ -44,6 +51,18 @@ 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; + +struct ListMenuTemplate gUnknown_030061D0; extern const u16 gEventObjectPalette8[]; extern const u16 gEventObjectPalette17[]; @@ -1626,6 +1645,44 @@ void sub_8139980(void) SetCameraPanning(8, 0); } +void sub_8139AF4(u8 taskId); +void sub_8139C2C(u16 a1, u8 a2); + +const struct WindowTemplate gUnknown_085B2BAC = { + .priority = 0, + .tilemapLeft = 21, + .tilemapTop = 1, + .width = 8, + .height = 4, + .paletteNum = 15, + .baseBlock = 8, +}; + +const u8 *const gElevatorFloorsTable[] = { + gText_B4F, + gText_B3F, + gText_B2F, + gText_B1F, + gText_1F, + gText_2F, + gText_3F, + gText_4F, + gText_5F, + gText_6F, + gText_7F, + gText_8F, + gText_9F, + gText_10F, + gText_11F, + gText_Rooftop +}; + +const u16 gUnknown_085B2BF4[] = { 0x0329, 0x032a, 0x032b, 0x0331, 0x0332, 0x0333, 0x0339, 0x033a, 0x033b }; +const u16 gUnknown_085B2C06[] = { 0x0329, 0x032b, 0x032a, 0x0331, 0x0333, 0x0332, 0x0339, 0x033b, 0x033a }; +const u8 gUnknown_085B2C18[] = { 0x08, 0x10, 0x18, 0x20, 0x26, 0x2e, 0x34, 0x38, 0x39 }; +const u8 gUnknown_085B2C21[] = { 0x03, 0x06, 0x09, 0x0c, 0x0f, 0x12, 0x15, 0x18, 0x1b }; +const u16 gUnknown_085B2C2A[] = { 0x0202, 0x0301, 0x0405, 0x0504, 0x0604, 0x0700, 0x0804, 0x090b, 0x0a05, 0x0b05, 0x0c02, 0x0d06, 0x0e03, 0x0f02, 0x100c, 0x100a, 0x1a35, 0x193c, 0xffff }; + void SetDepartmentStoreFloorVar(void) { u8 deptStoreFloor; @@ -1655,3 +1712,1007 @@ void SetDepartmentStoreFloorVar(void) } VarSet(VAR_DEPT_STORE_FLOOR, deptStoreFloor); } + +u16 sub_81399F4(void) +{ + gUnknown_0203AB60 = 0; + gUnknown_0203AB62 = 0; + + if (gSaveBlock1Ptr->warp2.mapGroup == 13) + { + switch (gSaveBlock1Ptr->warp2.mapNum) + { + case MAP_NUM(LILYCOVE_CITY_DEPARTMENT_STORE_5F): + gUnknown_0203AB60 = 0; + gUnknown_0203AB62 = 0; + break; + case MAP_NUM(LILYCOVE_CITY_DEPARTMENT_STORE_4F): + gUnknown_0203AB60 = 0; + gUnknown_0203AB62 = 1; + break; + case MAP_NUM(LILYCOVE_CITY_DEPARTMENT_STORE_3F): + gUnknown_0203AB60 = 0; + gUnknown_0203AB62 = 2; + break; + case MAP_NUM(LILYCOVE_CITY_DEPARTMENT_STORE_2F): + gUnknown_0203AB60 = 0; + gUnknown_0203AB62 = 3; + break; + case MAP_NUM(LILYCOVE_CITY_DEPARTMENT_STORE_1F): + gUnknown_0203AB60 = 0; + gUnknown_0203AB62 = 4; + break; + } + } + + return gUnknown_0203AB62; +} + +void ShakeScreenInElevator(void) +{ + s16 *data = gTasks[CreateTask(sub_8139AF4, 9)].data; + u16 floorDelta; + + data[1] = 0; + data[2] = 0; + data[4] = 1; + + if (gSpecialVar_0x8005 > gSpecialVar_0x8006) + { + floorDelta = gSpecialVar_0x8005 - gSpecialVar_0x8006; + data[6] = 1; + } + else + { + floorDelta = gSpecialVar_0x8006 - gSpecialVar_0x8005; + data[6] = 0; + } + + if (floorDelta > 8) + floorDelta = 8; + + data[5] = gUnknown_085B2C18[floorDelta]; + + SetCameraPanningCallback(NULL); + sub_8139C2C(floorDelta, data[6]); + PlaySE(SE_ELEBETA); +} + +void sub_8139AF4(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + data[1]++; + if (data[1] % 3 == 0) + { + data[1] = 0; + data[2]++; + data[4] = -data[4]; + SetCameraPanning(0, data[4]); + if (data[2] == data[5]) + { + PlaySE(SE_PINPON); + DestroyTask(taskId); + EnableBothScriptContexts(); + InstallCameraPanAheadCallback(); + } + } +} + +void sub_8139B60(void) +{ + int xPos; + + gUnknown_0203AB5E = AddWindow(&gUnknown_085B2BAC); + SetStandardWindowBorderStyle(gUnknown_0203AB5E, 0); + + xPos = GetStringCenterAlignXOffset(1, gText_ElevatorNowOn, 64); + PrintTextOnWindow(gUnknown_0203AB5E, 1, gText_ElevatorNowOn, xPos, 1, 0xFF, NULL); + + xPos = GetStringCenterAlignXOffset(1, gElevatorFloorsTable[gSpecialVar_0x8005], 64); + PrintTextOnWindow(gUnknown_0203AB5E, 1, gElevatorFloorsTable[gSpecialVar_0x8005], xPos, 17, 0xFF, NULL); + + PutWindowTilemap(gUnknown_0203AB5E); + CopyWindowToVram(gUnknown_0203AB5E, 3); +} + +void sub_8139C10(void) +{ + sub_8198070(gUnknown_0203AB5E, TRUE); + RemoveWindow(gUnknown_0203AB5E); +} + +void sub_8139C80(u8 taskId); + +void sub_8139C2C(u16 a1, u8 a2) +{ + if (FuncIsActiveTask(sub_8139C80) != TRUE) + { + u8 taskId = CreateTask(sub_8139C80, 8); + gTasks[taskId].data[0] = 0; + gTasks[taskId].data[1] = 0; + gTasks[taskId].data[2] = a2; + gTasks[taskId].data[3] = gUnknown_085B2C21[a1]; + } +} + +// Annoyingly close but compiler wants to add all the parts of the index into the arrays +// first and then shift by one, whereas we need each individual part to shift and then be added. +#ifdef NONMATCHING +void sub_8139C80(u8 taskId) +{ + u8 x, y; + s16 *data = gTasks[taskId].data; + + if (data[1] == 6) + { + data[0]++; + if (data[2] == 0) + { + for (y = 0; y < 3; y++) + { + for (x = 0; x < 3; x++) + { + MapGridSetMetatileIdAt(x + 8, y + 7, gUnknown_085B2BF4[y * 3 + data[0] % 3] | 0xC00); + } + } + } + else + { + for (y = 0; y < 3; y++) + { + for (x = 0; x < 3; x++) + { + MapGridSetMetatileIdAt(x + 8, y + 7, gUnknown_085B2C06[y * 3 + data[0] % 3] | 0xC00); + } + } + } + DrawWholeMapView(); + data[1] = 0; + if (data[0] == data[3]) + { + DestroyTask(taskId); + } + } + data[1]++; +} +#else +NAKED +void sub_8139C80(u8 taskId) +{ + asm_unified("push {r4-r7,lr}\n\ + mov r7, r10\n\ + mov r6, r9\n\ + mov r5, r8\n\ + push {r5-r7}\n\ + sub sp, 0x4\n\ + lsls r0, 24\n\ + lsrs r0, 24\n\ + str r0, [sp]\n\ + lsls r0, 2\n\ + ldr r1, [sp]\n\ + adds r0, r1\n\ + lsls r0, 3\n\ + ldr r1, =gTasks + 0x8\n\ + adds r6, r0, r1\n\ + movs r2, 0x2\n\ + ldrsh r0, [r6, r2]\n\ + cmp r0, 0x6\n\ + bne _08139D7C\n\ + ldrh r0, [r6]\n\ + adds r0, 0x1\n\ + strh r0, [r6]\n\ + movs r1, 0x4\n\ + ldrsh r0, [r6, r1]\n\ + cmp r0, 0\n\ + bne _08139D10\n\ + movs r1, 0\n\ + ldr r2, =gUnknown_085B2BF4\n\ + mov r10, r2\n\ +_08139CBA:\n\ + movs r5, 0\n\ + adds r7, r1, 0x7\n\ + lsls r0, r1, 1\n\ + adds r2, r1, 0x1\n\ + mov r8, r2\n\ + adds r0, r1\n\ + lsls r0, 1\n\ + mov r9, r0\n\ +_08139CCA:\n\ + adds r4, r5, 0\n\ + adds r4, 0x8\n\ + movs r1, 0\n\ + ldrsh r0, [r6, r1]\n\ + movs r1, 0x3\n\ + bl __modsi3\n\ + lsls r0, 16\n\ + asrs r0, 15\n\ + add r0, r9\n\ + add r0, r10\n\ + ldrh r0, [r0]\n\ + movs r1, 0xC0\n\ + lsls r1, 4\n\ + adds r2, r1, 0\n\ + orrs r2, r0\n\ + adds r0, r4, 0\n\ + adds r1, r7, 0\n\ + bl MapGridSetMetatileIdAt\n\ + adds r0, r5, 0x1\n\ + lsls r0, 24\n\ + lsrs r5, r0, 24\n\ + cmp r5, 0x2\n\ + bls _08139CCA\n\ + mov r2, r8\n\ + lsls r0, r2, 24\n\ + lsrs r1, r0, 24\n\ + cmp r1, 0x2\n\ + bls _08139CBA\n\ + b _08139D62\n\ + .pool\n\ +_08139D10:\n\ + movs r1, 0\n\ + ldr r0, =gUnknown_085B2C06\n\ + mov r10, r0\n\ +_08139D16:\n\ + movs r5, 0\n\ + adds r7, r1, 0x7\n\ + lsls r0, r1, 1\n\ + adds r2, r1, 0x1\n\ + mov r8, r2\n\ + adds r0, r1\n\ + lsls r0, 1\n\ + mov r9, r0\n\ +_08139D26:\n\ + adds r4, r5, 0\n\ + adds r4, 0x8\n\ + movs r1, 0\n\ + ldrsh r0, [r6, r1]\n\ + movs r1, 0x3\n\ + bl __modsi3\n\ + lsls r0, 16\n\ + asrs r0, 15\n\ + add r0, r9\n\ + add r0, r10\n\ + ldrh r0, [r0]\n\ + movs r1, 0xC0\n\ + lsls r1, 4\n\ + adds r2, r1, 0\n\ + orrs r2, r0\n\ + adds r0, r4, 0\n\ + adds r1, r7, 0\n\ + bl MapGridSetMetatileIdAt\n\ + adds r0, r5, 0x1\n\ + lsls r0, 24\n\ + lsrs r5, r0, 24\n\ + cmp r5, 0x2\n\ + bls _08139D26\n\ + mov r2, r8\n\ + lsls r0, r2, 24\n\ + lsrs r1, r0, 24\n\ + cmp r1, 0x2\n\ + bls _08139D16\n\ +_08139D62:\n\ + bl DrawWholeMapView\n\ + movs r0, 0\n\ + strh r0, [r6, 0x2]\n\ + movs r0, 0\n\ + ldrsh r1, [r6, r0]\n\ + movs r2, 0x6\n\ + ldrsh r0, [r6, r2]\n\ + cmp r1, r0\n\ + bne _08139D7C\n\ + ldr r0, [sp]\n\ + bl DestroyTask\n\ +_08139D7C:\n\ + ldrh r0, [r6, 0x2]\n\ + adds r0, 0x1\n\ + strh r0, [r6, 0x2]\n\ + add sp, 0x4\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"); +} +#endif // NAKED + +void sub_8139D98(void) +{ + u8 i; + u32 ivStorage[6]; + + ivStorage[0] = GetMonData(&gPlayerParty[gSpecialVar_0x8004], MON_DATA_HP_IV); + ivStorage[1] = GetMonData(&gPlayerParty[gSpecialVar_0x8004], MON_DATA_ATK_IV); + ivStorage[2] = GetMonData(&gPlayerParty[gSpecialVar_0x8004], MON_DATA_DEF_IV); + ivStorage[3] = GetMonData(&gPlayerParty[gSpecialVar_0x8004], MON_DATA_SPEED_IV); + ivStorage[4] = GetMonData(&gPlayerParty[gSpecialVar_0x8004], MON_DATA_SPATK_IV); + ivStorage[5] = GetMonData(&gPlayerParty[gSpecialVar_0x8004], MON_DATA_SPDEF_IV); + + gSpecialVar_0x8005 = 0; + + for (i = 0; i < ARRAY_COUNT(ivStorage); i++) + { + gSpecialVar_0x8005 += ivStorage[i]; + } + + gSpecialVar_0x8006 = 0; + gSpecialVar_0x8007 = ivStorage[0]; // HP IV + + for (i = 1; i < 6; i++) + { + if (ivStorage[gSpecialVar_0x8006] < ivStorage[i]) + { + gSpecialVar_0x8006 = i; + gSpecialVar_0x8007 = ivStorage[i]; + } + else if (ivStorage[gSpecialVar_0x8006] == ivStorage[i]) + { + u16 randomNumber = Random(); + if ((randomNumber & 1) != 0) + { + gSpecialVar_0x8006 = i; + gSpecialVar_0x8007 = ivStorage[i]; + } + } + } +} + +bool32 warp0_in_pokecenter(void) +{ + int i; + u16 map = (gUnknown_020322DC.mapGroup << 8) + gUnknown_020322DC.mapNum; + + for (i = 0; gUnknown_085B2C2A[i] != 0xFFFF; i++) + { + if (gUnknown_085B2C2A[i] == map) + return TRUE; + } + + return FALSE; +} + +bool32 sub_8139ED0(void) +{ + if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(TRAINER_HILL_ENTRANCE) && gSaveBlock1Ptr->location.mapNum == MAP_NUM(TRAINER_HILL_ENTRANCE)) + { + return FALSE; + } + return TRUE; +} + +void UpdateFrontierManiac(u16 a0) +{ + u16 *var = GetVarPointer(VAR_FRONTIER_MANIAC_FACILITY); + *var += a0; + *var %= 10; +} + +const u8 *const gUnknown_085B2C50[][3] = { + { BattleFrontier_Lounge2_Text_260971, BattleFrontier_Lounge2_Text_260A1E, BattleFrontier_Lounge2_Text_260AE7 }, + { BattleFrontier_Lounge2_Text_2619AC, BattleFrontier_Lounge2_Text_261A91, BattleFrontier_Lounge2_Text_261B0C }, + { BattleFrontier_Lounge2_Text_261B95, BattleFrontier_Lounge2_Text_261B95, BattleFrontier_Lounge2_Text_261B95 }, + { BattleFrontier_Lounge2_Text_261C1A, BattleFrontier_Lounge2_Text_261C1A, BattleFrontier_Lounge2_Text_261C1A }, + { BattleFrontier_Lounge2_Text_260BC4, BattleFrontier_Lounge2_Text_260C6D, BattleFrontier_Lounge2_Text_260D3A }, + { BattleFrontier_Lounge2_Text_260E1E, BattleFrontier_Lounge2_Text_260EC7, BattleFrontier_Lounge2_Text_260F74 }, + { BattleFrontier_Lounge2_Text_2614E6, BattleFrontier_Lounge2_Text_261591, BattleFrontier_Lounge2_Text_26166F }, + { BattleFrontier_Lounge2_Text_261282, BattleFrontier_Lounge2_Text_261329, BattleFrontier_Lounge2_Text_261403 }, + { BattleFrontier_Lounge2_Text_261026, BattleFrontier_Lounge2_Text_2610CC, BattleFrontier_Lounge2_Text_261194 }, + { BattleFrontier_Lounge2_Text_26174D, BattleFrontier_Lounge2_Text_2617F9, BattleFrontier_Lounge2_Text_2618C4 }, +}; + +const u8 gUnknown_085B2CC8[][2] = { + { 0x15, 0x38 }, + { 0x15, 0x23 }, + { 0xff, 0xff }, + { 0xff, 0xff }, + { 0x02, 0x04 }, + { 0x07, 0x15 }, + { 0x07, 0x15 }, + { 0x0e, 0x1c }, + { 0x0d, 0x70 }, + { 0x07, 0x38 } +}; + +void sub_8139F20(void) +{ + u8 i; + u16 unk = 0; + u16 var = VarGet(VAR_FRONTIER_MANIAC_FACILITY); + switch (var) + { + case 0: + case 1: + case 2: + case 3: + if (gSaveBlock2Ptr->frontier.field_CE0[var][0] >= gSaveBlock2Ptr->frontier.field_CE0[var][1]) + { + unk = gSaveBlock2Ptr->frontier.field_CE0[var][0]; + } + else + { + unk = gSaveBlock2Ptr->frontier.field_CE0[var][1]; + } + break; + case 4: + if (gSaveBlock2Ptr->frontier.field_D0C[0] >= gSaveBlock2Ptr->frontier.field_D0C[1]) + { + unk = gSaveBlock2Ptr->frontier.field_D0C[0]; + } + else + { + unk = gSaveBlock2Ptr->frontier.field_D0C[1]; + } + break; + case 5: + if (gSaveBlock2Ptr->frontier.field_DE2[0] >= gSaveBlock2Ptr->frontier.field_DE2[1]) + { + unk = gSaveBlock2Ptr->frontier.field_DE2[0]; + } + else + { + unk = gSaveBlock2Ptr->frontier.field_DE2[1]; + } + break; + case 6: + if (gSaveBlock2Ptr->frontier.field_DC8[0] >= gSaveBlock2Ptr->frontier.field_DC8[1]) + { + unk = gSaveBlock2Ptr->frontier.field_DC8[0]; + } + else + { + unk = gSaveBlock2Ptr->frontier.field_DC8[1]; + } + break; + case 7: + if (gSaveBlock2Ptr->frontier.field_DDA[0] >= gSaveBlock2Ptr->frontier.field_DDA[1]) + { + unk = gSaveBlock2Ptr->frontier.field_DDA[0]; + } + else + { + unk = gSaveBlock2Ptr->frontier.field_DDA[1]; + } + break; + case 8: + if (gSaveBlock2Ptr->frontier.field_E04[0] >= gSaveBlock2Ptr->frontier.field_E04[1]) + { + unk = gSaveBlock2Ptr->frontier.field_E04[0]; + } + else + { + unk = gSaveBlock2Ptr->frontier.field_E04[1]; + } + break; + case 9: + if (gSaveBlock2Ptr->frontier.field_E1A[0] >= gSaveBlock2Ptr->frontier.field_E1A[1]) + { + unk = gSaveBlock2Ptr->frontier.field_E1A[0]; + } + else + { + unk = gSaveBlock2Ptr->frontier.field_E1A[1]; + } + break; + } + + for (i = 0; i < 2 && gUnknown_085B2CC8[var][i] < unk; i++); + + ShowFieldMessage(gUnknown_085B2C50[var][i]); +} + +const u16 gUnknown_085B2CDC[] = { + 0x0007, 0x000e, 0x0015, 0x001c, 0x0023, 0x0031, 0x003f, 0x004d, 0x005b, 0x0000 +}; + +void sub_813A080(void) +{ + u8 i; + u16 var = VarGet(VAR_0x40CE); + u8 chosenLevel = gSaveBlock2Ptr->frontier.chosenLvl; + + if (var == 2 && !FlagGet(FLAG_0x152)) + { + gSpecialVar_0x8005 = 5; + gSpecialVar_0x8006 = 4; + return; + } + + for (i = 0; i < 9; i++) + { + if (gUnknown_085B2CDC[i] > gSaveBlock2Ptr->frontier.field_CE0[var][chosenLevel]) + { + gSpecialVar_0x8005 = 4; + gSpecialVar_0x8006 = i + 5; + return; + } + } + + gSpecialVar_0x8005 = 4; + gSpecialVar_0x8006 = 12; +} + +void sub_813A2DC(u8 taskId); + +void sub_813A128(void) +{ + u8 taskId = CreateTask(sub_813A2DC, 8); + struct Task *task = &gTasks[taskId]; + task->data[11] = gSpecialVar_0x8004; + + switch (gSpecialVar_0x8004) + { + case 0: + task->data[0] = 1; + task->data[1] = 1; + task->data[2] = 1; + task->data[3] = 1; + task->data[4] = 1; + task->data[5] = 1; + task->data[6] = 0; + task->data[15] = taskId; + break; + case 1: + task->data[0] = 5; + task->data[1] = 8; + task->data[2] = 1; + task->data[3] = 1; + task->data[4] = 9; + task->data[5] = 10; + task->data[6] = 0; + task->data[15] = taskId; + break; + case 2: + task->data[0] = 6; + task->data[1] = 12; + task->data[2] = 1; + task->data[3] = 1; + task->data[4] = 7; + task->data[5] = 12; + task->data[6] = 0; + task->data[15] = taskId; + break; + case 3: + task->data[0] = 6; + task->data[1] = 11; + task->data[2] = 14; + task->data[3] = 1; + task->data[4] = 15; + task->data[5] = 12; + task->data[6] = 0; + task->data[15] = taskId; + break; + case 4: + task->data[0] = 6; + task->data[1] = 6; + task->data[2] = 14; + task->data[3] = 1; + task->data[4] = 15; + task->data[5] = 12; + task->data[6] = 0; + task->data[15] = taskId; + break; + case 5: + task->data[0] = 6; + task->data[1] = 7; + task->data[2] = 14; + task->data[3] = 1; + task->data[4] = 15; + task->data[5] = 12; + task->data[6] = 0; + task->data[15] = taskId; + break; + case 6: + task->data[0] = 6; + task->data[1] = 10; + task->data[2] = 14; + task->data[3] = 1; + task->data[4] = 15; + task->data[5] = 12; + task->data[6] = 0; + task->data[15] = taskId; + break; + case 7: + task->data[0] = 6; + task->data[1] = 12; + task->data[2] = 15; + task->data[3] = 1; + task->data[4] = 14; + task->data[5] = 12; + task->data[6] = 0; + task->data[15] = taskId; + break; + case 8: + task->data[0] = 6; + task->data[1] = 10; + task->data[2] = 17; + task->data[3] = 1; + task->data[4] = 11; + task->data[5] = 12; + task->data[6] = 0; + task->data[15] = taskId; + break; + case 9: + case 10: + task->data[0] = 6; + task->data[1] = 11; + task->data[2] = 15; + task->data[3] = 1; + task->data[4] = 14; + task->data[5] = 12; + task->data[6] = 0; + task->data[15] = taskId; + break; + case 11: + task->data[0] = 6; + task->data[1] = 7; + task->data[2] = 19; + task->data[3] = 1; + task->data[4] = 10; + task->data[5] = 12; + task->data[6] = 0; + task->data[15] = taskId; + break; + case 12: + task->data[0] = 6; + task->data[1] = 7; + task->data[2] = 17; + task->data[3] = 1; + task->data[4] = 12; + task->data[5] = 12; + task->data[6] = 0; + task->data[15] = taskId; + break; + default: + gSpecialVar_Result = 0x7F; + DestroyTask(taskId); + break; + } +} + +void sub_813AA60(u16 a0, u16 a1); +void sub_813ACE8(u8 a0, u16 a1); +void sub_813A42C(void); + +const u8 *const gUnknown_085B2CF0[][16] = { + { + gText_Exit, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + }, + { + gText_BlueFlute, + gText_YellowFlute, + gText_RedFlute, + gText_WhiteFlute, + gText_BlackFlute, + gText_PrettyChair, + gText_PrettyDesk, + gText_Exit, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + }, + { + gText_0Pts, + gText_10Pts, + gText_20Pts, + gText_30Pts, + gText_40Pts, + gText_50Pts, + gText_60Pts, + gText_70Pts, + gText_80Pts, + gText_90Pts, + gText_100Pts, + gText_QuestionMark, + NULL, + NULL, + NULL, + NULL + }, + { + gText_KissPoster16BP, + gText_KissCushion32BP, + gText_SmoochumDoll32BP, + gText_TogepiDoll48BP, + gText_MeowthDoll48BP, + gText_ClefairyDoll48BP, + gText_DittoDoll48BP, + gText_CyndaquilDoll80BP, + gText_ChikoritaDoll80BP, + gText_TotodileDoll80BP, + gText_Exit, + NULL, + NULL, + NULL, + NULL, + NULL + }, + { + gText_LaprasDoll128BP, + gText_SnorlaxDoll128BP, + gText_VenusaurDoll256BP, + gText_CharizardDoll256BP, + gText_BlastoiseDoll256BP, + gText_Exit, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + }, + { + gText_Protein1BP, + gText_Calcium1BP, + gText_Iron1BP, + gText_Zinc1BP, + gText_Carbos1BP, + gText_HpUp1BP, + gText_Exit, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + }, + { + gText_Leftovers48BP, + gText_WhiteHerb48BP, + gText_QuickClaw48BP, + gText_MentalHerb48BP, + gText_BrightPowder64BP, + gText_ChoiceBand64BP, + gText_KingsRock64BP, + gText_FocusBand64BP, + gText_ScopeLens64BP, + gText_Exit, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + }, + { + gText_EnergyPowder50, + gText_EnergyRoot80, + gText_HealPowder50, + gText_RevivalHerb300, + gText_Protein1000, + gText_Iron1000, + gText_Carbos1000, + gText_Calcium1000, + gText_Zinc1000, + gText_HPUp1000, + gText_PPUp3000, + gText_Exit, + NULL, + NULL, + NULL, + NULL + }, + { + gText_BattleTower2, + gText_BattleDome, + gText_BattlePalace, + gText_BattleArena, + gText_BattleFactory, + gText_BattlePike, + gText_BattlePyramid, + gText_RankingHall, + gText_ExchangeService, + gText_Exit, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + }, + { + gText_Softboiled16BP, + gText_SeismicToss24BP, + gText_DreamEater24BP, + gText_MegaPunch24BP, + gText_MegaKick48BP, + gText_BodySlam48BP, + gText_RockSlide48BP, + gText_Counter48BP, + gText_ThunderWave48BP, + gText_SwordsDance48BP, + gText_Exit, + NULL, + NULL, + NULL, + NULL, + NULL + }, + { + gText_DefenseCurl16BP, + gText_Snore24BP, + gText_MudSlap24BP, + gText_Swift24BP, + gText_IcyWind24BP, + gText_Endure48BP, + gText_PsychUp48BP, + gText_IcePunch48BP, + gText_ThunderPunch48BP, + gText_FirePunch48BP, + gText_Exit, + NULL, + NULL, + NULL, + NULL, + NULL + }, + { + gText_SlateportCity, + gText_BattleFrontier, + gText_SouthernIsland, + gText_NavelRock, + gText_BirthIsland, + gText_FarawayIsland, + gText_Exit, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + }, + { + gText_BattleTrainers, + gText_BattleBasics, + gText_PokemonNature, + gText_PokemonMoves, + gText_Underpowered, + gText_WhenInDanger, + gText_Exit, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + } +}; + +void sub_813A4EC(u8 taskId); +void sub_813A694(u8 taskId); + +void sub_813A2DC(u8 taskId) +{ + u32 unk1; + u8 i, windowId; + struct WindowTemplate template; + struct Task *task = &gTasks[taskId]; + + ScriptContext2_Enable(); + gUnknown_0203AB68 = 0; + gUnknown_0203AB6C = 0x40; + sub_813AA60(task->data[11], 0); + sub_813ACE8(task->data[11], 0); + gUnknown_0203AB64 = AllocZeroed(task->data[1] * 8); + gUnknown_0203AB6A = 0; + sub_813A42C(); + + for (unk1 = 0, i = 0; i < task->data[1]; i++) + { + const u8 *text = gUnknown_085B2CF0[gSpecialVar_0x8004][i]; + gUnknown_0203AB64[i].name = text; + gUnknown_0203AB64[i].id = i; + unk1 = display_text_and_get_width(text, unk1); + } + + task->data[4] = convert_pixel_width_to_tile_width(unk1); + + if (task->data[2] + task->data[4] > 0x1D) + { + int unk2 = 0x1D - task->data[4]; + if (unk2 < 0) + { + task->data[2] = 0; + } + else + { + task->data[2] = unk2; + } + } + + template = CreateWindowTemplate(0, task->data[2], task->data[3], task->data[4], task->data[5], 0xF, 0x64); + windowId = AddWindow(&template); + task->data[13] = windowId; + SetStandardWindowBorderStyle(windowId, 0); + + gUnknown_030061D0.totalItems = task->data[1]; + gUnknown_030061D0.maxShowed = task->data[0]; + gUnknown_030061D0.windowId = task->data[13]; + + sub_813A694(taskId); + task->data[14] = ListMenuInit(&gUnknown_030061D0, task->data[7], task->data[8]); + schedule_bg_copy_tilemap_to_vram(0); + gTasks[taskId].func = sub_813A4EC; +} + +void sub_813A46C(s32 itemIndex, bool8 onInit, struct ListMenu *list); + +void sub_813A42C(void) +{ + gUnknown_030061D0.items = gUnknown_0203AB64; + gUnknown_030061D0.moveCursorFunc = sub_813A46C; + gUnknown_030061D0.itemPrintFunc = NULL; + gUnknown_030061D0.totalItems = 1; + gUnknown_030061D0.maxShowed = 1; + gUnknown_030061D0.windowId = 0; + gUnknown_030061D0.header_X = 0; + gUnknown_030061D0.item_X = 8; + gUnknown_030061D0.cursor_X = 0; + gUnknown_030061D0.upText_Y = 1; + gUnknown_030061D0.cursorPal = 2; + gUnknown_030061D0.fillValue = 1; + gUnknown_030061D0.cursorShadowPal = 3; + gUnknown_030061D0.lettersSpacing = 0; + gUnknown_030061D0.itemVerticalPadding = 0; + gUnknown_030061D0.scrollMultiple = 0; + gUnknown_030061D0.fontId = 1; + gUnknown_030061D0.cursorKind = 0; +} + +void sub_813A4EC(u8 taskId); +void sub_813AA60(u16 a0, u16 a1); +void sub_813AC44(u16 a0, u16 a1); +void sub_813AD34(u8 a0, u16 a1); + +void sub_813A46C(s32 itemIndex, bool8 onInit, struct ListMenu *list) +{ + u8 taskId; + PlaySE(SE_SELECT); + taskId = FindTaskIdByFunc(sub_813A4EC); + if (taskId != 0xFF) + { + u16 misc; + struct Task *task = &gTasks[taskId]; + ListMenuGetScrollAndRow(task->data[14], &misc, NULL); + gUnknown_0203AB68 = misc; + ListMenuGetCurrentItemArrayId(task->data[14], &misc); + sub_813AC44(task->data[11], gUnknown_0203AB6A); + sub_813AA60(task->data[11], misc); + sub_813AD34(task->data[11], misc); + gUnknown_0203AB6A = misc; + } +} diff --git a/src/main_menu.c b/src/main_menu.c index 87673c9b20..3afe1abe58 100644 --- a/src/main_menu.c +++ b/src/main_menu.c @@ -1965,7 +1965,7 @@ void sub_80323CC(u8 a, u8 b, u16 c, u16 d, u8 e, u8 f) { struct WindowTemplate sp; - sp = sub_8198A50(0, a + 1, b + 1, 5, 4, f, d); + sp = CreateWindowTemplate(0, a + 1, b + 1, 5, 4, f, d); CreateYesNoMenu(&sp, c, e, 0); } diff --git a/src/menu.c b/src/menu.c index 96dda30754..223f8fd52f 100644 --- a/src/menu.c +++ b/src/menu.c @@ -1143,7 +1143,7 @@ void SetWindowTemplateFields(struct WindowTemplate *template, u8 bg, u8 left, u8 template->baseBlock = baseBlock; } -struct WindowTemplate sub_8198A50(u8 bg, u8 left, u8 top, u8 width, u8 height, u8 paletteNum, u16 baseBlock) +struct WindowTemplate CreateWindowTemplate(u8 bg, u8 left, u8 top, u8 width, u8 height, u8 paletteNum, u16 baseBlock) { struct WindowTemplate template; SetWindowTemplateFields(&template, bg, left, top, width, height, paletteNum, baseBlock); diff --git a/src/scrcmd.c b/src/scrcmd.c index a15ad666c9..01d04704aa 100644 --- a/src/scrcmd.c +++ b/src/scrcmd.c @@ -1515,7 +1515,7 @@ bool8 ScrCmd_braillemessage(struct ScriptContext *ctx) xText = (xWindow - xText - 1) * 8 + 3; yText = (yText - yWindow - 1) * 8; - winTemplate = sub_8198A50(0, xWindow, yWindow + 1, width, height, 0xF, 0x1); + winTemplate = CreateWindowTemplate(0, xWindow, yWindow + 1, width, height, 0xF, 0x1); gUnknown_03000F30 = AddWindow(&winTemplate); LoadUserWindowBorderGfx(gUnknown_03000F30, 0x214, 0xE0); NewMenuHelpers_DrawStdWindowFrame(gUnknown_03000F30, 0); diff --git a/sym_common.txt b/sym_common.txt index 3fa3029686..0158b76155 100644 --- a/sym_common.txt +++ b/sym_common.txt @@ -91,8 +91,7 @@ gUnknown_030061C0: @ 30061C0 gUnknown_030061C4: @ 30061C4 .space 0xC -gUnknown_030061D0: @ 30061D0 - .space 0x18 + .include "field_specials.o" gCB2_AfterEvolution: @ 30061E8 .space 0x4 diff --git a/sym_ewram.txt b/sym_ewram.txt index 1832e22402..34c9658e8e 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -605,36 +605,6 @@ gPlayerFacingPosition: @ 203AB40 .include "src/pokeblock.o" .include "src/field_specials.o" -gUnknown_0203AB5E: @ 203AB5E - .space 0x2 - -gUnknown_0203AB60: @ 203AB60 - .space 0x2 - -gUnknown_0203AB62: @ 203AB62 - .space 0x2 - -gUnknown_0203AB64: @ 203AB64 - .space 0x4 - -gUnknown_0203AB68: @ 203AB68 - .space 0x2 - -gUnknown_0203AB6A: @ 203AB6A - .space 0x2 - -gUnknown_0203AB6C: @ 203AB6C - .space 0x1 - -gUnknown_0203AB6D: @ 203AB6D - .space 0x1 - -gUnknown_0203AB6E: @ 203AB6E - .space 0x1 - -gUnknown_0203AB6F: @ 203AB6F - .space 0x1 - gUnknown_0203AB70: @ 203AB70 .space 0x4 From 877a80d3bcae652fdaf33c221d69588cc9bd2ad6 Mon Sep 17 00:00:00 2001 From: Slawter666 <38655737+Slawter666@users.noreply.github.com> Date: Thu, 9 Aug 2018 23:19:45 +0100 Subject: [PATCH 063/234] Merge berry tree frames --- .../event_objects/pics/berry_trees/aguav.png | Bin 0 -> 638 bytes .../pics/berry_trees/aguav/0.png | Bin 225 -> 0 bytes .../pics/berry_trees/aguav/1.png | Bin 225 -> 0 bytes .../pics/berry_trees/aguav/2.png | Bin 269 -> 0 bytes .../pics/berry_trees/aguav/3.png | Bin 267 -> 0 bytes .../pics/berry_trees/aguav/4.png | Bin 288 -> 0 bytes .../pics/berry_trees/aguav/5.png | Bin 287 -> 0 bytes .../event_objects/pics/berry_trees/aspear.png | Bin 0 -> 712 bytes .../pics/berry_trees/aspear/0.png | Bin 262 -> 0 bytes .../pics/berry_trees/aspear/1.png | Bin 253 -> 0 bytes .../pics/berry_trees/aspear/2.png | Bin 315 -> 0 bytes .../pics/berry_trees/aspear/3.png | Bin 310 -> 0 bytes .../pics/berry_trees/aspear/4.png | Bin 319 -> 0 bytes .../pics/berry_trees/aspear/5.png | Bin 308 -> 0 bytes .../event_objects/pics/berry_trees/cheri.png | Bin 0 -> 783 bytes .../pics/berry_trees/cheri/0.png | Bin 269 -> 0 bytes .../pics/berry_trees/cheri/1.png | Bin 271 -> 0 bytes .../pics/berry_trees/cheri/2.png | Bin 288 -> 0 bytes .../pics/berry_trees/cheri/3.png | Bin 294 -> 0 bytes .../pics/berry_trees/cheri/4.png | Bin 290 -> 0 bytes .../pics/berry_trees/cheri/5.png | Bin 297 -> 0 bytes .../event_objects/pics/berry_trees/chesto.png | Bin 0 -> 816 bytes .../pics/berry_trees/chesto/0.png | Bin 265 -> 0 bytes .../pics/berry_trees/chesto/1.png | Bin 268 -> 0 bytes .../pics/berry_trees/chesto/2.png | Bin 308 -> 0 bytes .../pics/berry_trees/chesto/3.png | Bin 315 -> 0 bytes .../pics/berry_trees/chesto/4.png | Bin 310 -> 0 bytes .../pics/berry_trees/chesto/5.png | Bin 315 -> 0 bytes .../event_objects/pics/berry_trees/cornn.png | Bin 0 -> 709 bytes .../pics/berry_trees/cornn/0.png | Bin 226 -> 0 bytes .../pics/berry_trees/cornn/1.png | Bin 223 -> 0 bytes .../pics/berry_trees/cornn/2.png | Bin 296 -> 0 bytes .../pics/berry_trees/cornn/3.png | Bin 300 -> 0 bytes .../pics/berry_trees/cornn/4.png | Bin 283 -> 0 bytes .../pics/berry_trees/cornn/5.png | Bin 287 -> 0 bytes .../event_objects/pics/berry_trees/durin.png | Bin 0 -> 680 bytes .../pics/berry_trees/durin/0.png | Bin 250 -> 0 bytes .../pics/berry_trees/durin/1.png | Bin 248 -> 0 bytes .../pics/berry_trees/durin/2.png | Bin 281 -> 0 bytes .../pics/berry_trees/durin/3.png | Bin 282 -> 0 bytes .../pics/berry_trees/durin/4.png | Bin 282 -> 0 bytes .../pics/berry_trees/durin/5.png | Bin 278 -> 0 bytes .../event_objects/pics/berry_trees/figy.png | Bin 0 -> 708 bytes .../event_objects/pics/berry_trees/figy/0.png | Bin 270 -> 0 bytes .../event_objects/pics/berry_trees/figy/1.png | Bin 272 -> 0 bytes .../event_objects/pics/berry_trees/figy/2.png | Bin 298 -> 0 bytes .../event_objects/pics/berry_trees/figy/3.png | Bin 306 -> 0 bytes .../event_objects/pics/berry_trees/figy/4.png | Bin 301 -> 0 bytes .../event_objects/pics/berry_trees/figy/5.png | Bin 305 -> 0 bytes .../event_objects/pics/berry_trees/grepa.png | Bin 0 -> 611 bytes .../pics/berry_trees/grepa/0.png | Bin 216 -> 0 bytes .../pics/berry_trees/grepa/1.png | Bin 218 -> 0 bytes .../pics/berry_trees/grepa/2.png | Bin 252 -> 0 bytes .../pics/berry_trees/grepa/3.png | Bin 253 -> 0 bytes .../pics/berry_trees/grepa/4.png | Bin 258 -> 0 bytes .../pics/berry_trees/grepa/5.png | Bin 248 -> 0 bytes .../event_objects/pics/berry_trees/hondew.png | Bin 0 -> 620 bytes .../pics/berry_trees/hondew/0.png | Bin 224 -> 0 bytes .../pics/berry_trees/hondew/1.png | Bin 222 -> 0 bytes .../pics/berry_trees/hondew/2.png | Bin 253 -> 0 bytes .../pics/berry_trees/hondew/3.png | Bin 251 -> 0 bytes .../pics/berry_trees/hondew/4.png | Bin 266 -> 0 bytes .../pics/berry_trees/hondew/5.png | Bin 266 -> 0 bytes .../event_objects/pics/berry_trees/iapapa.png | Bin 0 -> 566 bytes .../pics/berry_trees/iapapa/0.png | Bin 179 -> 0 bytes .../pics/berry_trees/iapapa/1.png | Bin 181 -> 0 bytes .../pics/berry_trees/iapapa/2.png | Bin 251 -> 0 bytes .../pics/berry_trees/iapapa/3.png | Bin 244 -> 0 bytes .../pics/berry_trees/iapapa/4.png | Bin 194 -> 0 bytes .../pics/berry_trees/iapapa/5.png | Bin 202 -> 0 bytes .../event_objects/pics/berry_trees/kelpsy.png | Bin 0 -> 580 bytes .../pics/berry_trees/kelpsy/0.png | Bin 223 -> 0 bytes .../pics/berry_trees/kelpsy/1.png | Bin 223 -> 0 bytes .../pics/berry_trees/kelpsy/2.png | Bin 252 -> 0 bytes .../pics/berry_trees/kelpsy/3.png | Bin 252 -> 0 bytes .../pics/berry_trees/kelpsy/4.png | Bin 245 -> 0 bytes .../pics/berry_trees/kelpsy/5.png | Bin 243 -> 0 bytes .../event_objects/pics/berry_trees/lansat.png | Bin 0 -> 626 bytes .../pics/berry_trees/lansat/0.png | Bin 247 -> 0 bytes .../pics/berry_trees/lansat/1.png | Bin 245 -> 0 bytes .../pics/berry_trees/lansat/2.png | Bin 269 -> 0 bytes .../pics/berry_trees/lansat/3.png | Bin 264 -> 0 bytes .../pics/berry_trees/lansat/4.png | Bin 272 -> 0 bytes .../pics/berry_trees/lansat/5.png | Bin 265 -> 0 bytes .../event_objects/pics/berry_trees/leppa.png | Bin 0 -> 691 bytes .../pics/berry_trees/leppa/0.png | Bin 223 -> 0 bytes .../pics/berry_trees/leppa/1.png | Bin 231 -> 0 bytes .../pics/berry_trees/leppa/2.png | Bin 272 -> 0 bytes .../pics/berry_trees/leppa/3.png | Bin 273 -> 0 bytes .../pics/berry_trees/leppa/4.png | Bin 270 -> 0 bytes .../pics/berry_trees/leppa/5.png | Bin 274 -> 0 bytes .../event_objects/pics/berry_trees/liechi.png | Bin 0 -> 681 bytes .../pics/berry_trees/liechi/0.png | Bin 224 -> 0 bytes .../pics/berry_trees/liechi/1.png | Bin 226 -> 0 bytes .../pics/berry_trees/liechi/2.png | Bin 248 -> 0 bytes .../pics/berry_trees/liechi/3.png | Bin 256 -> 0 bytes .../pics/berry_trees/liechi/4.png | Bin 262 -> 0 bytes .../pics/berry_trees/liechi/5.png | Bin 260 -> 0 bytes .../event_objects/pics/berry_trees/lum.png | Bin 0 -> 724 bytes .../event_objects/pics/berry_trees/lum/0.png | Bin 259 -> 0 bytes .../event_objects/pics/berry_trees/lum/1.png | Bin 254 -> 0 bytes .../event_objects/pics/berry_trees/lum/2.png | Bin 280 -> 0 bytes .../event_objects/pics/berry_trees/lum/3.png | Bin 286 -> 0 bytes .../event_objects/pics/berry_trees/lum/4.png | Bin 285 -> 0 bytes .../event_objects/pics/berry_trees/lum/5.png | Bin 285 -> 0 bytes .../event_objects/pics/berry_trees/mago.png | Bin 0 -> 717 bytes .../event_objects/pics/berry_trees/mago/0.png | Bin 246 -> 0 bytes .../event_objects/pics/berry_trees/mago/1.png | Bin 245 -> 0 bytes .../event_objects/pics/berry_trees/mago/2.png | Bin 275 -> 0 bytes .../event_objects/pics/berry_trees/mago/3.png | Bin 276 -> 0 bytes .../event_objects/pics/berry_trees/mago/4.png | Bin 279 -> 0 bytes .../event_objects/pics/berry_trees/mago/5.png | Bin 282 -> 0 bytes .../event_objects/pics/berry_trees/nomel.png | Bin 0 -> 605 bytes .../pics/berry_trees/nomel/0.png | Bin 230 -> 0 bytes .../pics/berry_trees/nomel/1.png | Bin 228 -> 0 bytes .../pics/berry_trees/nomel/2.png | Bin 260 -> 0 bytes .../pics/berry_trees/nomel/3.png | Bin 265 -> 0 bytes .../pics/berry_trees/nomel/4.png | Bin 263 -> 0 bytes .../pics/berry_trees/nomel/5.png | Bin 268 -> 0 bytes .../event_objects/pics/berry_trees/oran.png | Bin 0 -> 755 bytes .../event_objects/pics/berry_trees/oran/0.png | Bin 260 -> 0 bytes .../event_objects/pics/berry_trees/oran/1.png | Bin 260 -> 0 bytes .../event_objects/pics/berry_trees/oran/2.png | Bin 303 -> 0 bytes .../event_objects/pics/berry_trees/oran/3.png | Bin 304 -> 0 bytes .../event_objects/pics/berry_trees/oran/4.png | Bin 303 -> 0 bytes .../event_objects/pics/berry_trees/oran/5.png | Bin 307 -> 0 bytes .../event_objects/pics/berry_trees/pamtre.png | Bin 0 -> 636 bytes .../pics/berry_trees/pamtre/0.png | Bin 240 -> 0 bytes .../pics/berry_trees/pamtre/1.png | Bin 245 -> 0 bytes .../pics/berry_trees/pamtre/2.png | Bin 278 -> 0 bytes .../pics/berry_trees/pamtre/3.png | Bin 283 -> 0 bytes .../pics/berry_trees/pamtre/4.png | Bin 280 -> 0 bytes .../pics/berry_trees/pamtre/5.png | Bin 285 -> 0 bytes .../event_objects/pics/berry_trees/pecha.png | Bin 0 -> 680 bytes .../pics/berry_trees/pecha/0.png | Bin 227 -> 0 bytes .../pics/berry_trees/pecha/1.png | Bin 230 -> 0 bytes .../pics/berry_trees/pecha/2.png | Bin 274 -> 0 bytes .../pics/berry_trees/pecha/3.png | Bin 271 -> 0 bytes .../pics/berry_trees/pecha/4.png | Bin 260 -> 0 bytes .../pics/berry_trees/pecha/5.png | Bin 264 -> 0 bytes .../event_objects/pics/berry_trees/persim.png | Bin 0 -> 654 bytes .../pics/berry_trees/persim/0.png | Bin 248 -> 0 bytes .../pics/berry_trees/persim/1.png | Bin 249 -> 0 bytes .../pics/berry_trees/persim/2.png | Bin 279 -> 0 bytes .../pics/berry_trees/persim/3.png | Bin 275 -> 0 bytes .../pics/berry_trees/persim/4.png | Bin 286 -> 0 bytes .../pics/berry_trees/persim/5.png | Bin 288 -> 0 bytes .../event_objects/pics/berry_trees/pomeg.png | Bin 0 -> 588 bytes .../pics/berry_trees/pomeg/0.png | Bin 225 -> 0 bytes .../pics/berry_trees/pomeg/1.png | Bin 221 -> 0 bytes .../pics/berry_trees/pomeg/2.png | Bin 256 -> 0 bytes .../pics/berry_trees/pomeg/3.png | Bin 253 -> 0 bytes .../pics/berry_trees/pomeg/4.png | Bin 258 -> 0 bytes .../pics/berry_trees/pomeg/5.png | Bin 256 -> 0 bytes .../event_objects/pics/berry_trees/rabuta.png | Bin 0 -> 657 bytes .../pics/berry_trees/rabuta/0.png | Bin 254 -> 0 bytes .../pics/berry_trees/rabuta/1.png | Bin 259 -> 0 bytes .../pics/berry_trees/rabuta/2.png | Bin 267 -> 0 bytes .../pics/berry_trees/rabuta/3.png | Bin 270 -> 0 bytes .../pics/berry_trees/rabuta/4.png | Bin 272 -> 0 bytes .../pics/berry_trees/rabuta/5.png | Bin 276 -> 0 bytes .../event_objects/pics/berry_trees/rawst.png | Bin 0 -> 583 bytes .../pics/berry_trees/rawst/0.png | Bin 221 -> 0 bytes .../pics/berry_trees/rawst/1.png | Bin 220 -> 0 bytes .../pics/berry_trees/rawst/2.png | Bin 243 -> 0 bytes .../pics/berry_trees/rawst/3.png | Bin 234 -> 0 bytes .../pics/berry_trees/rawst/4.png | Bin 249 -> 0 bytes .../pics/berry_trees/rawst/5.png | Bin 239 -> 0 bytes .../event_objects/pics/berry_trees/razz.png | Bin 0 -> 766 bytes .../event_objects/pics/berry_trees/razz/0.png | Bin 243 -> 0 bytes .../event_objects/pics/berry_trees/razz/1.png | Bin 251 -> 0 bytes .../event_objects/pics/berry_trees/razz/2.png | Bin 285 -> 0 bytes .../event_objects/pics/berry_trees/razz/3.png | Bin 272 -> 0 bytes .../event_objects/pics/berry_trees/razz/4.png | Bin 284 -> 0 bytes .../event_objects/pics/berry_trees/razz/5.png | Bin 294 -> 0 bytes .../event_objects/pics/berry_trees/sitrus.png | Bin 0 -> 709 bytes .../pics/berry_trees/sitrus/0.png | Bin 260 -> 0 bytes .../pics/berry_trees/sitrus/1.png | Bin 257 -> 0 bytes .../pics/berry_trees/sitrus/2.png | Bin 296 -> 0 bytes .../pics/berry_trees/sitrus/3.png | Bin 302 -> 0 bytes .../pics/berry_trees/sitrus/4.png | Bin 289 -> 0 bytes .../pics/berry_trees/sitrus/5.png | Bin 287 -> 0 bytes .../event_objects/pics/berry_trees/spelon.png | Bin 0 -> 581 bytes .../pics/berry_trees/spelon/0.png | Bin 213 -> 0 bytes .../pics/berry_trees/spelon/1.png | Bin 215 -> 0 bytes .../pics/berry_trees/spelon/2.png | Bin 243 -> 0 bytes .../pics/berry_trees/spelon/3.png | Bin 243 -> 0 bytes .../pics/berry_trees/spelon/4.png | Bin 230 -> 0 bytes .../pics/berry_trees/spelon/5.png | Bin 222 -> 0 bytes .../event_objects/pics/berry_trees/sprout.png | Bin 0 -> 337 bytes .../pics/berry_trees/sprout/0.png | Bin 200 -> 0 bytes .../pics/berry_trees/sprout/1.png | Bin 198 -> 0 bytes .../event_objects/pics/berry_trees/tamato.png | Bin 0 -> 645 bytes .../pics/berry_trees/tamato/0.png | Bin 245 -> 0 bytes .../pics/berry_trees/tamato/1.png | Bin 234 -> 0 bytes .../pics/berry_trees/tamato/2.png | Bin 269 -> 0 bytes .../pics/berry_trees/tamato/3.png | Bin 262 -> 0 bytes .../pics/berry_trees/tamato/4.png | Bin 273 -> 0 bytes .../pics/berry_trees/tamato/5.png | Bin 275 -> 0 bytes .../event_objects/pics/berry_trees/wepear.png | Bin 0 -> 689 bytes .../pics/berry_trees/wepear/0.png | Bin 244 -> 0 bytes .../pics/berry_trees/wepear/1.png | Bin 245 -> 0 bytes .../pics/berry_trees/wepear/2.png | Bin 283 -> 0 bytes .../pics/berry_trees/wepear/3.png | Bin 283 -> 0 bytes .../pics/berry_trees/wepear/4.png | Bin 284 -> 0 bytes .../pics/berry_trees/wepear/5.png | Bin 284 -> 0 bytes .../event_objects/pics/berry_trees/wiki.png | Bin 0 -> 640 bytes .../event_objects/pics/berry_trees/wiki/0.png | Bin 226 -> 0 bytes .../event_objects/pics/berry_trees/wiki/1.png | Bin 228 -> 0 bytes .../event_objects/pics/berry_trees/wiki/2.png | Bin 261 -> 0 bytes .../event_objects/pics/berry_trees/wiki/3.png | Bin 258 -> 0 bytes .../event_objects/pics/berry_trees/wiki/4.png | Bin 264 -> 0 bytes .../event_objects/pics/berry_trees/wiki/5.png | Bin 257 -> 0 bytes .../field_event_obj/event_object_graphics.h | 219 +++--------------- 214 files changed, 34 insertions(+), 185 deletions(-) create mode 100644 graphics/event_objects/pics/berry_trees/aguav.png delete mode 100644 graphics/event_objects/pics/berry_trees/aguav/0.png delete mode 100644 graphics/event_objects/pics/berry_trees/aguav/1.png delete mode 100644 graphics/event_objects/pics/berry_trees/aguav/2.png delete mode 100644 graphics/event_objects/pics/berry_trees/aguav/3.png delete mode 100644 graphics/event_objects/pics/berry_trees/aguav/4.png delete mode 100644 graphics/event_objects/pics/berry_trees/aguav/5.png create mode 100644 graphics/event_objects/pics/berry_trees/aspear.png delete mode 100644 graphics/event_objects/pics/berry_trees/aspear/0.png delete mode 100644 graphics/event_objects/pics/berry_trees/aspear/1.png delete mode 100644 graphics/event_objects/pics/berry_trees/aspear/2.png delete mode 100644 graphics/event_objects/pics/berry_trees/aspear/3.png delete mode 100644 graphics/event_objects/pics/berry_trees/aspear/4.png delete mode 100644 graphics/event_objects/pics/berry_trees/aspear/5.png create mode 100644 graphics/event_objects/pics/berry_trees/cheri.png delete mode 100644 graphics/event_objects/pics/berry_trees/cheri/0.png delete mode 100644 graphics/event_objects/pics/berry_trees/cheri/1.png delete mode 100644 graphics/event_objects/pics/berry_trees/cheri/2.png delete mode 100644 graphics/event_objects/pics/berry_trees/cheri/3.png delete mode 100644 graphics/event_objects/pics/berry_trees/cheri/4.png delete mode 100644 graphics/event_objects/pics/berry_trees/cheri/5.png create mode 100644 graphics/event_objects/pics/berry_trees/chesto.png delete mode 100644 graphics/event_objects/pics/berry_trees/chesto/0.png delete mode 100644 graphics/event_objects/pics/berry_trees/chesto/1.png delete mode 100644 graphics/event_objects/pics/berry_trees/chesto/2.png delete mode 100644 graphics/event_objects/pics/berry_trees/chesto/3.png delete mode 100644 graphics/event_objects/pics/berry_trees/chesto/4.png delete mode 100644 graphics/event_objects/pics/berry_trees/chesto/5.png create mode 100644 graphics/event_objects/pics/berry_trees/cornn.png delete mode 100644 graphics/event_objects/pics/berry_trees/cornn/0.png delete mode 100644 graphics/event_objects/pics/berry_trees/cornn/1.png delete mode 100644 graphics/event_objects/pics/berry_trees/cornn/2.png delete mode 100644 graphics/event_objects/pics/berry_trees/cornn/3.png delete mode 100644 graphics/event_objects/pics/berry_trees/cornn/4.png delete mode 100644 graphics/event_objects/pics/berry_trees/cornn/5.png create mode 100644 graphics/event_objects/pics/berry_trees/durin.png delete mode 100644 graphics/event_objects/pics/berry_trees/durin/0.png delete mode 100644 graphics/event_objects/pics/berry_trees/durin/1.png delete mode 100644 graphics/event_objects/pics/berry_trees/durin/2.png delete mode 100644 graphics/event_objects/pics/berry_trees/durin/3.png delete mode 100644 graphics/event_objects/pics/berry_trees/durin/4.png delete mode 100644 graphics/event_objects/pics/berry_trees/durin/5.png create mode 100644 graphics/event_objects/pics/berry_trees/figy.png delete mode 100644 graphics/event_objects/pics/berry_trees/figy/0.png delete mode 100644 graphics/event_objects/pics/berry_trees/figy/1.png delete mode 100644 graphics/event_objects/pics/berry_trees/figy/2.png delete mode 100644 graphics/event_objects/pics/berry_trees/figy/3.png delete mode 100644 graphics/event_objects/pics/berry_trees/figy/4.png delete mode 100644 graphics/event_objects/pics/berry_trees/figy/5.png create mode 100644 graphics/event_objects/pics/berry_trees/grepa.png delete mode 100644 graphics/event_objects/pics/berry_trees/grepa/0.png delete mode 100644 graphics/event_objects/pics/berry_trees/grepa/1.png delete mode 100644 graphics/event_objects/pics/berry_trees/grepa/2.png delete mode 100644 graphics/event_objects/pics/berry_trees/grepa/3.png delete mode 100644 graphics/event_objects/pics/berry_trees/grepa/4.png delete mode 100644 graphics/event_objects/pics/berry_trees/grepa/5.png create mode 100644 graphics/event_objects/pics/berry_trees/hondew.png delete mode 100644 graphics/event_objects/pics/berry_trees/hondew/0.png delete mode 100644 graphics/event_objects/pics/berry_trees/hondew/1.png delete mode 100644 graphics/event_objects/pics/berry_trees/hondew/2.png delete mode 100644 graphics/event_objects/pics/berry_trees/hondew/3.png delete mode 100644 graphics/event_objects/pics/berry_trees/hondew/4.png delete mode 100644 graphics/event_objects/pics/berry_trees/hondew/5.png create mode 100644 graphics/event_objects/pics/berry_trees/iapapa.png delete mode 100644 graphics/event_objects/pics/berry_trees/iapapa/0.png delete mode 100644 graphics/event_objects/pics/berry_trees/iapapa/1.png delete mode 100644 graphics/event_objects/pics/berry_trees/iapapa/2.png delete mode 100644 graphics/event_objects/pics/berry_trees/iapapa/3.png delete mode 100644 graphics/event_objects/pics/berry_trees/iapapa/4.png delete mode 100644 graphics/event_objects/pics/berry_trees/iapapa/5.png create mode 100644 graphics/event_objects/pics/berry_trees/kelpsy.png delete mode 100644 graphics/event_objects/pics/berry_trees/kelpsy/0.png delete mode 100644 graphics/event_objects/pics/berry_trees/kelpsy/1.png delete mode 100644 graphics/event_objects/pics/berry_trees/kelpsy/2.png delete mode 100644 graphics/event_objects/pics/berry_trees/kelpsy/3.png delete mode 100644 graphics/event_objects/pics/berry_trees/kelpsy/4.png delete mode 100644 graphics/event_objects/pics/berry_trees/kelpsy/5.png create mode 100644 graphics/event_objects/pics/berry_trees/lansat.png delete mode 100644 graphics/event_objects/pics/berry_trees/lansat/0.png delete mode 100644 graphics/event_objects/pics/berry_trees/lansat/1.png delete mode 100644 graphics/event_objects/pics/berry_trees/lansat/2.png delete mode 100644 graphics/event_objects/pics/berry_trees/lansat/3.png delete mode 100644 graphics/event_objects/pics/berry_trees/lansat/4.png delete mode 100644 graphics/event_objects/pics/berry_trees/lansat/5.png create mode 100644 graphics/event_objects/pics/berry_trees/leppa.png delete mode 100644 graphics/event_objects/pics/berry_trees/leppa/0.png delete mode 100644 graphics/event_objects/pics/berry_trees/leppa/1.png delete mode 100644 graphics/event_objects/pics/berry_trees/leppa/2.png delete mode 100644 graphics/event_objects/pics/berry_trees/leppa/3.png delete mode 100644 graphics/event_objects/pics/berry_trees/leppa/4.png delete mode 100644 graphics/event_objects/pics/berry_trees/leppa/5.png create mode 100644 graphics/event_objects/pics/berry_trees/liechi.png delete mode 100644 graphics/event_objects/pics/berry_trees/liechi/0.png delete mode 100644 graphics/event_objects/pics/berry_trees/liechi/1.png delete mode 100644 graphics/event_objects/pics/berry_trees/liechi/2.png delete mode 100644 graphics/event_objects/pics/berry_trees/liechi/3.png delete mode 100644 graphics/event_objects/pics/berry_trees/liechi/4.png delete mode 100644 graphics/event_objects/pics/berry_trees/liechi/5.png create mode 100644 graphics/event_objects/pics/berry_trees/lum.png delete mode 100644 graphics/event_objects/pics/berry_trees/lum/0.png delete mode 100644 graphics/event_objects/pics/berry_trees/lum/1.png delete mode 100644 graphics/event_objects/pics/berry_trees/lum/2.png delete mode 100644 graphics/event_objects/pics/berry_trees/lum/3.png delete mode 100644 graphics/event_objects/pics/berry_trees/lum/4.png delete mode 100644 graphics/event_objects/pics/berry_trees/lum/5.png create mode 100644 graphics/event_objects/pics/berry_trees/mago.png delete mode 100644 graphics/event_objects/pics/berry_trees/mago/0.png delete mode 100644 graphics/event_objects/pics/berry_trees/mago/1.png delete mode 100644 graphics/event_objects/pics/berry_trees/mago/2.png delete mode 100644 graphics/event_objects/pics/berry_trees/mago/3.png delete mode 100644 graphics/event_objects/pics/berry_trees/mago/4.png delete mode 100644 graphics/event_objects/pics/berry_trees/mago/5.png create mode 100644 graphics/event_objects/pics/berry_trees/nomel.png delete mode 100644 graphics/event_objects/pics/berry_trees/nomel/0.png delete mode 100644 graphics/event_objects/pics/berry_trees/nomel/1.png delete mode 100644 graphics/event_objects/pics/berry_trees/nomel/2.png delete mode 100644 graphics/event_objects/pics/berry_trees/nomel/3.png delete mode 100644 graphics/event_objects/pics/berry_trees/nomel/4.png delete mode 100644 graphics/event_objects/pics/berry_trees/nomel/5.png create mode 100644 graphics/event_objects/pics/berry_trees/oran.png delete mode 100644 graphics/event_objects/pics/berry_trees/oran/0.png delete mode 100644 graphics/event_objects/pics/berry_trees/oran/1.png delete mode 100644 graphics/event_objects/pics/berry_trees/oran/2.png delete mode 100644 graphics/event_objects/pics/berry_trees/oran/3.png delete mode 100644 graphics/event_objects/pics/berry_trees/oran/4.png delete mode 100644 graphics/event_objects/pics/berry_trees/oran/5.png create mode 100644 graphics/event_objects/pics/berry_trees/pamtre.png delete mode 100644 graphics/event_objects/pics/berry_trees/pamtre/0.png delete mode 100644 graphics/event_objects/pics/berry_trees/pamtre/1.png delete mode 100644 graphics/event_objects/pics/berry_trees/pamtre/2.png delete mode 100644 graphics/event_objects/pics/berry_trees/pamtre/3.png delete mode 100644 graphics/event_objects/pics/berry_trees/pamtre/4.png delete mode 100644 graphics/event_objects/pics/berry_trees/pamtre/5.png create mode 100644 graphics/event_objects/pics/berry_trees/pecha.png delete mode 100644 graphics/event_objects/pics/berry_trees/pecha/0.png delete mode 100644 graphics/event_objects/pics/berry_trees/pecha/1.png delete mode 100644 graphics/event_objects/pics/berry_trees/pecha/2.png delete mode 100644 graphics/event_objects/pics/berry_trees/pecha/3.png delete mode 100644 graphics/event_objects/pics/berry_trees/pecha/4.png delete mode 100644 graphics/event_objects/pics/berry_trees/pecha/5.png create mode 100644 graphics/event_objects/pics/berry_trees/persim.png delete mode 100644 graphics/event_objects/pics/berry_trees/persim/0.png delete mode 100644 graphics/event_objects/pics/berry_trees/persim/1.png delete mode 100644 graphics/event_objects/pics/berry_trees/persim/2.png delete mode 100644 graphics/event_objects/pics/berry_trees/persim/3.png delete mode 100644 graphics/event_objects/pics/berry_trees/persim/4.png delete mode 100644 graphics/event_objects/pics/berry_trees/persim/5.png create mode 100644 graphics/event_objects/pics/berry_trees/pomeg.png delete mode 100644 graphics/event_objects/pics/berry_trees/pomeg/0.png delete mode 100644 graphics/event_objects/pics/berry_trees/pomeg/1.png delete mode 100644 graphics/event_objects/pics/berry_trees/pomeg/2.png delete mode 100644 graphics/event_objects/pics/berry_trees/pomeg/3.png delete mode 100644 graphics/event_objects/pics/berry_trees/pomeg/4.png delete mode 100644 graphics/event_objects/pics/berry_trees/pomeg/5.png create mode 100644 graphics/event_objects/pics/berry_trees/rabuta.png delete mode 100644 graphics/event_objects/pics/berry_trees/rabuta/0.png delete mode 100644 graphics/event_objects/pics/berry_trees/rabuta/1.png delete mode 100644 graphics/event_objects/pics/berry_trees/rabuta/2.png delete mode 100644 graphics/event_objects/pics/berry_trees/rabuta/3.png delete mode 100644 graphics/event_objects/pics/berry_trees/rabuta/4.png delete mode 100644 graphics/event_objects/pics/berry_trees/rabuta/5.png create mode 100644 graphics/event_objects/pics/berry_trees/rawst.png delete mode 100644 graphics/event_objects/pics/berry_trees/rawst/0.png delete mode 100644 graphics/event_objects/pics/berry_trees/rawst/1.png delete mode 100644 graphics/event_objects/pics/berry_trees/rawst/2.png delete mode 100644 graphics/event_objects/pics/berry_trees/rawst/3.png delete mode 100644 graphics/event_objects/pics/berry_trees/rawst/4.png delete mode 100644 graphics/event_objects/pics/berry_trees/rawst/5.png create mode 100644 graphics/event_objects/pics/berry_trees/razz.png delete mode 100644 graphics/event_objects/pics/berry_trees/razz/0.png delete mode 100644 graphics/event_objects/pics/berry_trees/razz/1.png delete mode 100644 graphics/event_objects/pics/berry_trees/razz/2.png delete mode 100644 graphics/event_objects/pics/berry_trees/razz/3.png delete mode 100644 graphics/event_objects/pics/berry_trees/razz/4.png delete mode 100644 graphics/event_objects/pics/berry_trees/razz/5.png create mode 100644 graphics/event_objects/pics/berry_trees/sitrus.png delete mode 100644 graphics/event_objects/pics/berry_trees/sitrus/0.png delete mode 100644 graphics/event_objects/pics/berry_trees/sitrus/1.png delete mode 100644 graphics/event_objects/pics/berry_trees/sitrus/2.png delete mode 100644 graphics/event_objects/pics/berry_trees/sitrus/3.png delete mode 100644 graphics/event_objects/pics/berry_trees/sitrus/4.png delete mode 100644 graphics/event_objects/pics/berry_trees/sitrus/5.png create mode 100644 graphics/event_objects/pics/berry_trees/spelon.png delete mode 100644 graphics/event_objects/pics/berry_trees/spelon/0.png delete mode 100644 graphics/event_objects/pics/berry_trees/spelon/1.png delete mode 100644 graphics/event_objects/pics/berry_trees/spelon/2.png delete mode 100644 graphics/event_objects/pics/berry_trees/spelon/3.png delete mode 100644 graphics/event_objects/pics/berry_trees/spelon/4.png delete mode 100644 graphics/event_objects/pics/berry_trees/spelon/5.png create mode 100644 graphics/event_objects/pics/berry_trees/sprout.png delete mode 100644 graphics/event_objects/pics/berry_trees/sprout/0.png delete mode 100644 graphics/event_objects/pics/berry_trees/sprout/1.png create mode 100644 graphics/event_objects/pics/berry_trees/tamato.png delete mode 100644 graphics/event_objects/pics/berry_trees/tamato/0.png delete mode 100644 graphics/event_objects/pics/berry_trees/tamato/1.png delete mode 100644 graphics/event_objects/pics/berry_trees/tamato/2.png delete mode 100644 graphics/event_objects/pics/berry_trees/tamato/3.png delete mode 100644 graphics/event_objects/pics/berry_trees/tamato/4.png delete mode 100644 graphics/event_objects/pics/berry_trees/tamato/5.png create mode 100644 graphics/event_objects/pics/berry_trees/wepear.png delete mode 100644 graphics/event_objects/pics/berry_trees/wepear/0.png delete mode 100644 graphics/event_objects/pics/berry_trees/wepear/1.png delete mode 100644 graphics/event_objects/pics/berry_trees/wepear/2.png delete mode 100644 graphics/event_objects/pics/berry_trees/wepear/3.png delete mode 100644 graphics/event_objects/pics/berry_trees/wepear/4.png delete mode 100644 graphics/event_objects/pics/berry_trees/wepear/5.png create mode 100644 graphics/event_objects/pics/berry_trees/wiki.png delete mode 100644 graphics/event_objects/pics/berry_trees/wiki/0.png delete mode 100644 graphics/event_objects/pics/berry_trees/wiki/1.png delete mode 100644 graphics/event_objects/pics/berry_trees/wiki/2.png delete mode 100644 graphics/event_objects/pics/berry_trees/wiki/3.png delete mode 100644 graphics/event_objects/pics/berry_trees/wiki/4.png delete mode 100644 graphics/event_objects/pics/berry_trees/wiki/5.png diff --git a/graphics/event_objects/pics/berry_trees/aguav.png b/graphics/event_objects/pics/berry_trees/aguav.png new file mode 100644 index 0000000000000000000000000000000000000000..13321eb42e5779729c38a7674db1435fd337d3f3 GIT binary patch literal 638 zcmV-^0)hRBP)er2o~l|HYKvlyiGQLCwwH zoSeN%N_%s?06}{I5IF$NVoH=bDN+ys|Ns90001$F0&@TW00Cl4M@0Xn2lB-L0004W zQchC-CTYup7PK0uxz zu}G@~^a&K~y@SJ3i|Ev9o+2~5{u$2$38c(4zx%%ZW@cRk_^-by)aeCpl`hZkByTrV zuqIhh(FHY@Q_1VH+emU=tDxjnsqg+)GOJ-VbsSa;S9AxjR#Im*7d-N+I=lTS63l1? z2%fKgywThH_DI)&8NZG?kb?dvsvrVIpXzD1?-LEPNe3_4qE0YO9;#YR*JFYvv?*X3 zgC1F+?gzbYgN6i)`qF}D!v!1G1=^u)aiBZ;X!8M+2ZY0~mJ1SjBL$5!lri40mV;nB zpS+pmg%$xSHf(4fIT(a~Kwjq!B8GewVv8Rlr%y(k4Z4~Mo^cg;Vu5xaOBr~;M61_4yIxt#aI&L7tG-B>_!@p z6YuHb7$Pw>IYB~a!5#*u&CA=IZ=^0veCl8pu*77ojwz4Ik+`@xDZa2dVbl1;IDB`{ z76Y=Yzh`L#tkC)P?&fBNqp9NW?xpTvOWE-Gj%9U&?2_*1@9r`Sc%Pf2cqx=YYnDQo TnVqmT&?*K`S3j3^P61_4yIxt#aI&L7tG-B>_!@p z6YuHb7$PzCXx~QO0}4DWcXuY*wsS7%c4?06XI!xKQ90)fo(X#Qf0R_6R{Lf7bgoXP zg>JydDSyo@rxoNLU3D@Xwyimm1_4yIxt#aI&L7tG-B>_!@p z)9vZv7$Pw>Ibi{-M#H72=M{Cng`b|^ELp0(>(s%XRpR>BMH^Dn&ailIOy66vQ${67 zY+F)TmW9WXyt{iY8Ejbe>C>fx4V9UxFB2LsY}uWuFmcm`JG-wtH9DnkEI1_4yIxt#aI&L7tG-B>_!@p z)9LBr7$Pw>Ibi{-M#H72=M{Cng`b|^ELp0(>(s%XRpR>BMH^Dn&ah}}ov!*=RB7R% zl67>=E`tdHcXw4TeVCBEDr{=AX#29MOPgFyIbD9YtWB&zVrTjLCXwk=@7taZU`yFx zd}lAWio=6%aUI&{?(MB+clmtBcJK3dj0TUt#ThW`9X(L+j3;b91H< diff --git a/graphics/event_objects/pics/berry_trees/aguav/4.png b/graphics/event_objects/pics/berry_trees/aguav/4.png deleted file mode 100644 index f3fc7007685be0c9c8648a2daa21f906ae60d223..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 288 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p zGtbk-F+^hO+dCDV7NmG`ee|r`bEeL`ebm^Z zx_<6AS?TwGzfQ2uzq?aAUnj@xT+9Zkuy-93xm+C9^0+w5Yu{wwbl&32{5jHlFVdQ&MBb@0NpNgNB{r; diff --git a/graphics/event_objects/pics/berry_trees/aguav/5.png b/graphics/event_objects/pics/berry_trees/aguav/5.png deleted file mode 100644 index b437940bf9c372b94a38ee2734d16e9fcaba8331..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 287 zcmV+)0pR|LP)8IuY0000mP)t-sbH$|p z)wKV`l-`tcdqF|X&EA}xy-G@ZbG-mTdjJqQ0L@}blsPF<5CH%G{{R30F^B?l00001 zbW%=J06^y0W&i*Hok>JNR2Y?=k1-CyFbqY#bs?8%XC~$xp=00#?N%vMA|Y`hq~4%N z>`f(97Y5+ph1y|Y#>;>D-0+fK1|4Qli%MYI@LY~v@z`g(g002ovPDHLkV1jt`d%^$! diff --git a/graphics/event_objects/pics/berry_trees/aspear.png b/graphics/event_objects/pics/berry_trees/aspear.png new file mode 100644 index 0000000000000000000000000000000000000000..984e598ea0d4a5d427ca80de188178268a33a196 GIT binary patch literal 712 zcmV;(0yq7MP)er2o~l|HYKvlyiGQLI2et z-kcC>ISA%bV#NS4VgMMNVoGW;F);ub|Ns90003V0bYTDh00Cl4M@0Xn2lB-L0004W zQchC5G-@( z?=5iiDFYckj3EPIGNOJk=CMW~6PYz{1>h|h&Olq~f>OG3`}#c@<#MIeZsFu(9c}$U z2DLF}I~u8UQBY~w&4UV^lStgj-6H7aiia+hYD&>>A$%FNjPP@+7$S44$(T65AkIMd zmu8@hv@VN5NS8xA=)QyW7Wn2x?D u%Yy4Dl9Hjv6B{qLF^^;09)H7s9e)8B-xqtS4R3@100008IuY0000mP)t-sbH$|p z)wKV`l-`tcdqF|})ga!S5NbIH=2BwC05M_!7@T5CYB4b}02u%O{{R30UiNfh00001 zbW%=J06^y0W&i*Hxk*GpR2Y?gkg*MfFbqXqM>j<(#0c!cLR3j6z$s193~l`G)8$`nC*BeNvn4KfUD1J^lI^}5Ts5XQ#Z zWMK?7*pblL(>p?~daVXf806T<+ETc(=Q8waPvF^}2|mmj#O0MTmm_Z>C1A*F2DmqA zd0@7<@4$WGdTeW+TRc(|J>otsb9^V5_IW7~_cWIk#kl@@z!zo?Xq&OADEt5b N002ovPDHLkV1g<|fTsWe diff --git a/graphics/event_objects/pics/berry_trees/aspear/3.png b/graphics/event_objects/pics/berry_trees/aspear/3.png deleted file mode 100644 index df16ae330ce61abcfa2645547858c0dfce5c3f82..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 310 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ z+2ZNq7$PyXx8IPj*?@<^*1eXadYab%2hKiM^j8>%ctpx@e`QrDW&6c+;$GPa=~oAC zEu5x0|4H#1hCkv;?xwz1-yZO7WjFY>_pxO1OUX|YxlYVnp<65?aZ&UryLgDv^hYtG zF{}MvD0HQ6dDOU>MP2e?+@!1Kk+#w~lx$HGgFfbUjG2PpTX1B&t;uc GLK6UhGk#tG diff --git a/graphics/event_objects/pics/berry_trees/aspear/4.png b/graphics/event_objects/pics/berry_trees/aspear/4.png deleted file mode 100644 index 8d9bd38fbfed1c5028a4f3a3bdbb06e3eba60399..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 319 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ z+3V@z7$PyXc7h>avjLB*t-GzO+7ZDW?vlGUf06K+ApF2baD~Rtbd8|$7n};^D}Ar8 z3R_}h`TlfR$3L+Tdwru@gp;CoY))Lf`Ib=!AD8m)BTLh|7Ur8yzZ6ob&y}omu+eAz zIRTDT^DlQfycW;Zimvhsa6h(iCv&lG!CpiAbqbg7?9N-K$``>cDJIPPM%H!ujM|cv zCL6ZJ)j7wjFZ162Il;N)r9>c8f!jNjB?5!8Mw`rPgH{6841+|%xQ=syMp O6@#a%pUXO@geCwIC4XE1 diff --git a/graphics/event_objects/pics/berry_trees/aspear/5.png b/graphics/event_objects/pics/berry_trees/aspear/5.png deleted file mode 100644 index 495119480be3e190af12332689a588bc3c966bc3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 308 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ z+2rZs7$PyXx8IPj*?`B@*xi=H+IwpCfeUk6lMR;IIZo!()GFFn)uL3Y_l0G`?kk+x z?NQVIsMz1`4EoPn5MmpW%qXX2)o^lpUwYTh<#YS>n9rTNX>+`>(^a{9 z5rv0VC}k~^ireUJz@RxVYQbyIm({|x#ey@UmaUtvsc^;O8$)V;@3~6t@Q-YAKVPW7 zo#Zw5(zlprUxX_1J_jk}77GcuC!Jp(9~@Qx_c!+ytK>ST$@_AEu4nLc^>bP0l+XkK DHf(yc diff --git a/graphics/event_objects/pics/berry_trees/cheri.png b/graphics/event_objects/pics/berry_trees/cheri.png new file mode 100644 index 0000000000000000000000000000000000000000..527ef9dfee1faa8ee7aacf914cae40e9ca9a2372 GIT binary patch literal 783 zcmV+q1MvKbP)#WgJe000+sMObuGZ)S9NVRB^vM@&RePDdbiWpW@hE;Mn4q~QPn00?w&PDe*f zL^A*Y002sWDIWj;00d`2O+f$vv5yPer2o~l|HYKvlyiGQLCwwH zoSeN%N_%s?06}{I5IF$NVoH=bDN+ys|Ns90001$F0&@TW00Cl4M@0Xn2lB-L0004W zQchC*G-$t_|=5dXyvJpzMI!!i)iWt!fG z{Q?{RLBQA8_-cal6R95A8}F0k7{N@bP?fsXYB~2`44=!t;4wdvOR}YPlC;OK3qKm` z#LP) z5^N1l0&YT%git zJoEuM4I83i<7RCjf)Oe8SNEEobR3HjhsDnF$Pq^8TMJodKL-wqoVs!OGa>h@aj9l} z9+%&4AN=;#_>F@wgfCTgy1}HrfskX+%;T?@Si`uz<@ojPq2JzdeEM!h(!Nog)>GfW z2;nPNG4l91as}h|?vbl!aD1PB*r91$k{y~Yq=S%X9-|CIG#Q`wxC#3vs`E{S@*?Gd z+L|`WQ)=rKgeq;Vy5r8rDstfLn|Wk2QVKyR`+yse$vE-Z8;4YGiZOK~+HVpbaE=wa2-QO9 z(v9zZk9Xisa4)Mxvc~qSg&98zPNTO5C?QjM5pN6U&`EyBd{MYFa6Z7lk5Dp`q?ho} z;PFK5Q0EZNHhn}dE!pH8!YR|m{6S7-$J0371_4yIxt#aI&L7tG-B>_!@p z)9vZv7$PxsuHSC1!v;KGqW;JGyo{Up!ahsHf3DMqDNCI$hKF@M=8@HADZj(4*HW*a z$GdvU-H&cPU&@%TN#0pw9cZebCh>N=06Rm4+UHezldE(uJ$H1UF`e@&i_eJzV#gXa zEN80rr*54fz#z(Ptd{U)*PeGzC4@rHI~FB9@Ov^n1_4yIxt#aI&L7tG-B>_!@p z)9dNt7$PxsuHSCHLk2u&qW;G#AL*O=#J=N>j}J%ctEQ*Fv%Cn$}9K8p+R+gE1^Sk))Pku2o|Kgr=?^n-awJeggTe~DWM4fy%lr^ diff --git a/graphics/event_objects/pics/berry_trees/cheri/2.png b/graphics/event_objects/pics/berry_trees/cheri/2.png deleted file mode 100644 index 4022a7e5e7bb234bbc37cfde5251ce5915198c55..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 288 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p zGtbk-F+^f&ZQn*-CPNgTe~DWM4f7@%_? diff --git a/graphics/event_objects/pics/berry_trees/cheri/3.png b/graphics/event_objects/pics/berry_trees/cheri/3.png deleted file mode 100644 index c2572383cfb71001619544a8850e99045a20c3ae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 294 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p zv&7TIF+^f&?F2)ir@PU3#!?8E@7qN%KX_30lSz4b>m|ggi3!)z=YWkem0Wa(4E;zMJaKmWRW) z?%6)4Cit}K^%ug`9Uf=q3C_K=gSmR?TDc}Sv74+0^TP7f{^`u>$Xvh|yX_xKc1_4yIxt#aI&L7tG-B>_!@p zv%u5EF+^f&ZNDSeAqO7U&GUY5?O^9nePAf#FC%@z?4r`@JHL?%2^H`oTS7+9L+3CT-T@=`(xV!e;E9c(%xKqsFy|6|=>>9zQ9X zCH|>!U-fRTpBq-0DT#F4VRZBCwcN7&$i+>CJGrdonWFhb-X6^A(El*MVT0Aw1zm5u mMIzTS-N|~M{CW4gDyGs;AyEQytJVSC%HZkh=d#Wzp$PyuLw7U) diff --git a/graphics/event_objects/pics/berry_trees/cheri/5.png b/graphics/event_objects/pics/berry_trees/cheri/5.png deleted file mode 100644 index 447f1d86555b5cf83137fc8625364e85f1130ba4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 297 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p zv)t3gF+^f&?F2`zLk>Ky>96mcS8BQ)P}Dz7Kwy{F(NJ^VkIw!J!ap!X?ddi?taB$L ztpCsa^XiI!W?CHId7z|BH(|D6+meJiA(zf|9_e(BkjneL#uMfH*yPtTTB@g3Axx>WF~<6G|Z1b59#>tD*;n&6?=@Qy*tm%&~0k(6_5)U`UM tnA3qR97R4~;6}U!ap2JYD@<);T3K0RaBHd+-1N diff --git a/graphics/event_objects/pics/berry_trees/chesto.png b/graphics/event_objects/pics/berry_trees/chesto.png new file mode 100644 index 0000000000000000000000000000000000000000..36b4520cefe71a9d39dac840076a5f6711e49546 GIT binary patch literal 816 zcmV-01JC@4P)er2o~l|HYKvlyiGQLI0$* z)oOc-K~j{(_F9X*5HV7;q+)w>K{+`X|Ns900013rp2q+H00Cl4M@0Xn2lB-L0004W zQchC4z!6vs6fG#}X3*Rer&rU@||obI5T;UqyO2~JWe zBy-5%y_rL(J7@K`@D{uo?8%>@?@4FkwuWZu*0;R-iU0q-C+S4U|G=Oo#2l!hrsr_R ze;S%BTAXFhBo56PV+nF9i4>edK?t>ECUF_w8N!~jjRvLy3ar<@G>Ij9XRvzPXBFVX z)=q$cj!mmu`_4@+xkkZSdqA*XBhjnMiC=_B^H1z6|sFE=< zobw_Vu~V4~Z-{GmS=CBIi}`feYU4hCn~st(G8pO>g~X}0sT<~tFe>t1!Q_y?kbr#bpCMUGB>0Xg-S-y=Xi62TBCvTTF!vyP*|Yw$XhXk z^(qO$7#YHgS^Sy2#MJS&tx(7d9t(zo_r}C9Ow&IEo&Ivp!+9pWH=Y;{^z_vFcM*Qe zUHFB`b;mIcuDeO%*PdT5Gk?3=!ph+0?QS!PyzY5@kq28aY$xOf^Ct4T=k+Cq1q@t( u*!-QLC49t|z>^O!9$VTJ=O5#L96tdDTuN~oP0=y{0000fS407_?Y)4D@THW(jK+ElY7lCec_Nf(RMMct3i%8x2MQk=E9KkZvowy9nzJN@Zd zcFU?yD-Rpw{kfS407_? O#o+1c=d#Wzp$P!H3T+zz diff --git a/graphics/event_objects/pics/berry_trees/chesto/2.png b/graphics/event_objects/pics/berry_trees/chesto/2.png deleted file mode 100644 index c0a2ec30d00bab46c78544c55303b5f75529d872..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 308 zcmV-40n7f0P)8IuY0000mP)t-sbH$|p z)wKV`l-`tcdqF|}q_ov)dy7F*l*RU1i@gvrQnaLEdvifKIT-){{{R309c`Y+00001 zbW%=J06^y0W&i*HvPnciR2Y?&k39;5KoEte5UdwsypF}FML-bzsRO%iy9=&kl{%HD zNt=@dJHb>rLw01#G@0goym`zIz<(7R3ebxKV{!xa4Cz2MJGOJJO1+_lt*69*O(rWW zLp$h{xMe4rcV)n7b-ORl!?i9yyB`$EQ#aak4^D2Pk({X(ETlFNzn861xnEXog=}*J zFrt)A$@dUqxQv3r<$;Id>$x&TtA{mX;L5n=HG~j<{rd%}JU?rkH$>+E00008IuY0000mP)t-sbH$|p z)wKV`l-`tcdqF|}q_ov)dy7F*l*RU1i@gvrQnaLEdvifKIT-){{{R309c`Y+00001 zbW%=J06^y0W&i*Hxk*GpR2Y?&kFg4aFc5|_6fz4+UPs|fhf={IW)_lWO~9DV*{M&{ z)wggHw}MVSLzC38OKz^5Bq+B*7uQ z865FO^HBTNYGjgr7@tNX>?Aohr;%-I+9iY|D^kV^$`PhjkqYHou)nF0-l@g|Wa&3{ z2MBicCooVbV;%?K&WNX8Zm&G*eVOJ!_jQ@pIfAb_w!D6a0P8IuY0000mP)t-sbH$|p z)wKV`l-`tcdqF|}q_ov)dy7F*l*RU1i@gvrQnaLEdvifKIT-){{{R309c`Y+00001 zbW%=J06^y0W&i*Hv`IukR2Y?&kFg5EFc5}s5Hbg>eVrC!M4bu^0k=XD!6}8N_YS^+ z&LY&=)hCg@i+8P~i?`gz_aEFHz<(to0#0BhTJD%a#YW@-eNK>8$@Ezy(YIA1(}o^p z%OEizHWZ-`!&yd1O|=@XNZ^+GbPp8mwx*W3g><--S*b0E`f*e47y&w?gY&di)Y|zq z89=SfX1YwNNs#JrzIFdpbMk(TOpB3VEEu>7j;Mc!l=}7W2ai@e4t_%sLI3~&07*qo IM6N<$g2zsSSpWb4 diff --git a/graphics/event_objects/pics/berry_trees/chesto/5.png b/graphics/event_objects/pics/berry_trees/chesto/5.png deleted file mode 100644 index 3d3d03d64406c520a2f1a9656c2c7c66ad0ab8a2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 315 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?hyTR`s1@VnUa3q+q?JsJ5d8>j&%)78%$g#c6T$I{byo`-)6nvnd6QN&=U-v Lu6{1-oD!Mer2o~l|HYKvlyiGQLI0$* z)oOc-K~j{(_F9X*5HV7;q+)w>K{+`X|Ns900013rp2q+H00Cl4M@0Xn2lB-L0004W zQchC9V(Abq2*odjTVbMxdb2u&;U~SVpp8vkkTby?LYh`Kr4og#YVbU6u!pcHNIxOfoza z&e!~90(D-?a-r#R>Bx)(1U3(a_XI>G1zRlajFXS)qbb|E9?a%!2oy8u za%KJ=GoX<(Mi7H>QtNC{k2%)aL#>a3Kz@D3W|#_crJcMpVusQf*9TqDA%_=x`Ist( zR(*Yjsu}38OC?D!EkS*s5Xg&q@Pk4J3|)+WEQ@EMji*ydxdy9 zkMMS9w!!;1JL$-K&sG6F1&KHB-)`@ApKH6;!?%YkfZv<__uHSl&-KqwZTOykz1x0! r(#;jUSlj)6xA{V^WNbHI>ff#36R39}+32+700000NkvXXu0mjf3lBHD literal 0 HcmV?d00001 diff --git a/graphics/event_objects/pics/berry_trees/cornn/0.png b/graphics/event_objects/pics/berry_trees/cornn/0.png deleted file mode 100644 index 8388b030ceffe4703f0ea43d4bc5b6ec10589614..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 226 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?fS407_?xGaIW;a!cHS1tSR0kt$%nUPy?n=i=Xr0`{P+8=H0mnO T-{DdVw1~me)z4*}Q$iB}v*uRX diff --git a/graphics/event_objects/pics/berry_trees/cornn/2.png b/graphics/event_objects/pics/berry_trees/cornn/2.png deleted file mode 100644 index 969020d393f78ada63bbd47e04d827d32c5c424f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 296 zcmV+@0oVSCP)8IuY0000mP)t-sbH$|p z)wKV`l-`tcdqF|}q_ov)dy7F*l*RU1i@gvrQnaLEdvifKIT-){{{R309c`Y+00001 zbW%=J06^y0W&i*Hrb$FWR2Y@5&oK(aFbn`dZ-LNXv%} z+BbME?gv6VmOux;p_0>~52zNMkc4HW{ueawxyIoO=xUON19UiZZ2og-#mQZyoHT%C1bO|p+Du3QIm#=%IhAmT=Zy(0_VeW uY}!?jF3nA#o(rWYh$*e1935l$`O^o7fJi?C+O^^U0000fS407_?DKjv*3L*Y+E79X8-`HJyD=$^FH(Y7JKYyK9>GCpfjwI~wq)VS%Odvqy0XN0K#C zK1gcK#ni-ESBtKwa+w0sP*B~>A>FS3?nX#|eWGr$QvFu58 z?m2g;LpreaQ`$a(X3e`hr>yqjwOO-##W@wxi!-iW&Q;cK6YQ6LU8n5*+R{I5p33`Y wwZ#!4pY~R29LRpQM%TkqUsPe~%je7aMe@CG=$(t-19UZmr>mdKI;Vst0Avn)@c;k- diff --git a/graphics/event_objects/pics/berry_trees/cornn/4.png b/graphics/event_objects/pics/berry_trees/cornn/4.png deleted file mode 100644 index c507896451155e1d22745eb9e2f3700b696d2c04..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 283 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?5Y>G{^}ddxAgecw3{J6Wtz_Bs}q;nKTPZh`)m%wzppmby~EYU_clpPS-me=C?${kh~qwfjf0+@&(2 fTXJ8YpKmus*7aIj)>LbtBN;qh{an^LB{Ts5!R2-| diff --git a/graphics/event_objects/pics/berry_trees/cornn/5.png b/graphics/event_objects/pics/berry_trees/cornn/5.png deleted file mode 100644 index de7b7f4ad5e1bad355c3c59144c93e1416f5f2bc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 287 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?)V9^znEI+|SCQ+|1G6F`c~v%AoX{}!_c5H=&hX51mZkW!XY*oQ*mPJk zm`>-<>b@1iT$DLaXV(;y;0~>ZGt(~5Sj--@Vd>*J<_%}Rl-*f={N;uDmrpm^vG3ZR j@&2!j!|#26|9oL(nByL;H%%rL=uievS3j3^P6#jjsX#000+sMObuGZ)S9NVRB^vM@&RePDdbiWpW@hE;Mn4q~QPn00?w&PDe*f zL^A*Y002sWDIWj;00d`2O+f$vv5yPer2o~l|HYKvlyiGQLCwwH zoSeN%N_%s?06}{I5IF$NVoH=bDN+ys|Ns90001$F0&@TW00Cl4M@0Xn2lB-L0004W zQchC&kF49FrYZEy3 z0=nB1xG^H4Yqg>>A%5bAQOX4#O$E?x@WD`&1dcp|CT%84BNsGHQrd(b%sqpxWK{G^ zjYtK+NKqj4AmDNEJV7!R(Yllw0>q1_+jKgoPH1`TK* z^loccCjrH;c645WPl*OZ!{;rVC2&J^`bPQNkw(ZpzbJZ#po>5+h8nq`FTg>EkqTdfy%yzSq-8Z*=Gs)V zCf7+rUCkDmmQ^)-TmCAy&PQ6-V{PhrlPj&|SclB>CwsVG1_4yIxt#aI&L7tG-B>_!@p zQ{n027$PxsZQnvcXG0!m<}M?5_ZJMTv5sud%szxL_BJm2bMC+9%h*WYFMgBWU%4gU zpS=2r=iP>g32hy@C%UR6DqMwLCR?U-OnbP@$o=)AWzT>6uojn|^3e8BlMS8su5aa9 vW!Vc|5k+qm?pI%b`;mA3@8Zku^>-N6J#}yT&5g7Ix`Dyd)z4*}Q$iB};SywG diff --git a/graphics/event_objects/pics/berry_trees/durin/1.png b/graphics/event_objects/pics/berry_trees/durin/1.png deleted file mode 100644 index d5b75b3b307d802711c0965e235b4ba9ace20f6a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 248 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p zQ|9U77$Pxst>0?VBMuxcbG&3VA98hga5o>&Z(4Otr%8*s+H&F^@#%(VX7f9Ik(*|* z{BwV0^EV+W2JIx~#LG+-QO~SI!@19XIdmyO$K|kV#g|pxXLh+?vz@w7@SYJ*SZIpH tC#EH4VawwGEj<6-?^~($&3d~B3~MZO61l^CCIel-;OXk;vd$@?2>`G}UUdKf diff --git a/graphics/event_objects/pics/berry_trees/durin/2.png b/graphics/event_objects/pics/berry_trees/durin/2.png deleted file mode 100644 index cf854194dcf59f2f4fc487ec442b10730060002d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 281 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p zGu_k0F+^f&Z~sQ#!v;Jop({Q~l)0T?XewXOuwgpa+sB7|7bvA1JjkTcn$DrQlS@b; z=U-tBlmGL7vpru0bS<@JYe-U9Jx$mpdZX3L)l<0BU3HXH7o`~|EP172xL_`~8dKtF z2FC5LmMQ65&T4yqKKVAM?A^X;3}3mvpAGSL2w$z*zxiR+-_$>QS{R?DD(sIt1^@s6 diff --git a/graphics/event_objects/pics/berry_trees/durin/3.png b/graphics/event_objects/pics/berry_trees/durin/3.png deleted file mode 100644 index 41425502f2533055eb1cc31df65983638643b0da..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 282 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p zGsDxxF+^f&Z@(eeVFMml(~3)mlVldM8|-Z6`IyHqS2f4UnnhpBg1_4yIxt#aI&L7tG-B>_!@p zGsDxxF+^f&Z~sQ#!v;Jop*t=~6q$Lj8St!i5PhSnGV2KUk&f7v9IVa3v!=wdatfGz zudr)eZur0VY0(6yyj4sNValAJGg)Fo1Mh?xKAm-B)tNcWUS^DJT5U*)L%Z*3TR;Ex`of%#kL(ZK d{qXg@?3ziIf(JeC?FPD$!PC{xWt~$(69CGQZ~FiM diff --git a/graphics/event_objects/pics/berry_trees/durin/5.png b/graphics/event_objects/pics/berry_trees/durin/5.png deleted file mode 100644 index 22c672fac107eca35188637eeafe68db216aaa12..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 278 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p zGsV-zF+^f&Z@(emAp;&)+mcU)L3s@9D^|rFocKYGyJ}J#gUifK5}|ggWk;BpIQ9RZ ztc>?$_$R$NeA*q3R*zMOn`@piC~soWaoH(5( zwH`c8*`}*^f7er2o~l|HYKvlyiGQLI2et z-kcC>ISA%bV#NS4VgMMNVoGW;F);ub|Ns90003V0bYTDh00Cl4M@0Xn2lB-L0004W zQchCa9Fh$Nlkj-F_^#yDJ zu45WlV7u6AwhC0}44IL#>$MfROBcex=l4AFk4PHxf7}ck9{X7#`oH_xm857eZ}@!G40 zIJ}cAU?M~|8j1Mq2}Tet;jo2YfuL4UeeXQT&dwu67c`Qjg$eAXz`PxLGlBB4Hoh~V zcC=xxHz9#4G#{X02RO)SD5&?q>%lkbrC$OFA1WX!XdM8toQ8s>`snD{=}KVveX4ae zDi~|sVB@Vz6>ZcbtJix#<)sxpBqQMWA5b?IP!trr@d75GM&C*SRC<$ub0$E;FF7;M zynxbzB-uh+D1+sf{qd)M<Ej7HA9lxK#CVJ?(a5VM!B8q~5qh^Z0Jh?euyV z)N14i?vLXir?>XZxmY-DOz?lySJ~N%gX{<{IV`J^*?iSi&WA_(ug7mEn8YEr3M&c#0000G5=N43U_+wcnQSkO5DtvHP4wcdd*f_r{5xUcO?|(M>OSR~+FuxXS%hONYK-p+1Fk_zROoxw{89FmHW0;WhXoo*b??uebv9(RCbO|o1(SH Ss~dpsV(@hJb6Mw<&;$UtDsX@R diff --git a/graphics/event_objects/pics/berry_trees/figy/1.png b/graphics/event_objects/pics/berry_trees/figy/1.png deleted file mode 100644 index 018e0ae3f16935ebb83d7c8d18ee72a196401868..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 272 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ z>GO1P43U_+*58`%umQ){oUdZ{Y^u6y_M|z^Q8MCovUO5U&AVw8w$Iz}jszhgdJk-O-x|9*^}tD=edKb^7atsgIb#$cm)|G5Bytf+CdS?S!d(5)ai2`; S4SAr;7(8A5T-G@yGywp_eQN;# diff --git a/graphics/event_objects/pics/berry_trees/figy/2.png b/graphics/event_objects/pics/berry_trees/figy/2.png deleted file mode 100644 index df10bb52631e0cf1c875ecfb1141b0178194a533..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 298 zcmV+_0oDGAP)8IuY0000mP)t-sbH$|p z)wKV`l-`tcdqF|})ga!S5NbIH=2BwC05M_!7@T5CYB4b}02u%O{{R30UiNfh00001 zbW%=J06^y0W&i*Hs7XXYR2Y?=PcaU{FbvFGl~1G_BV8h1XnE)xP_tMT^aCMMX9yA! z8*M+3A#cEL8JW1n=R2Ql8}l!!)0g!7t>?zEYJKC;s^%L)i|PO&h}T;##Nzq3gA9O% zpewl$nu@RtkWV_zL&*|ni&$6$>yY>$aR=ucxTEpFDUrl0zFhC`b?YvK=XTE&xB7U+ wS!8IuY0000mP)t-sbH$|p z)wKV`l-`tcdqF|})ga!S5NbIH=2BwC05M_!7@T5CYB4b}02u%O{{R30UiNfh00001 zbW%=J06^y0W&i*Hut`KgR2Y?&kG&4UAP~oyN&6CY>)_BX4X@{Nxxr^>%0e#M7eJEE ziiwG1>25mk3?8(ji?`g5|3?5J{v6rwFx2~5tE>&RR$0@XR;^;kfI+~X9f}6o)6Egq z;h=m8thQ!OOmDQAp@Q>G6&T!={mQUb^eg^eiFVQWuwjmX2qa%4k01w-06KhwajIw zPaM&;yZ=)sdS(4W{&=A`w}PK~Yzc5RSag)@V1tF+!Oh}42WQ^sUc2yCRltkb8R{%c z1@9eWdR{ssJD@^gQu&X%Q~loCIFj6dyoJC diff --git a/graphics/event_objects/pics/berry_trees/figy/5.png b/graphics/event_objects/pics/berry_trees/figy/5.png deleted file mode 100644 index 945773fda1acc8f5cdb8829fc766542d3941e80e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 305 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ zS?}rM7$PxsYX4roLka@NXU_hnTCjUzbF7q{zxbhGlMOL?uecRF)0cL3Cf{DV*m?fJ z=CYEH(|&*a&!KQ+esGC(#EtWQsb`ylBa7Dt_a?EMO66LW3FIG{XWg{&;ewXzEwSPu za}4D!C<>0-(GR{$u`;wQ9=eq4}0rMS2ZpFx1wZ4>64&1eGmwo(C*{R>9I}CHG zE7~>RTA0}#Q8{z)d@$QQ7S+pFmIp{C|9`zZe$Q#Yr{T{p%K)9u;OXk;vd$@?2>>CK Be02Z- diff --git a/graphics/event_objects/pics/berry_trees/grepa.png b/graphics/event_objects/pics/berry_trees/grepa.png new file mode 100644 index 0000000000000000000000000000000000000000..07c8554ce42de9527f6f1dcf7fb6cd4b298fd904 GIT binary patch literal 611 zcmV-p0-XJcP)er2o~l|HYKvlyiGQLI2et z-kcC>ISA%bV#NS4VgMMNVoGW;F);ub|Ns90003V0bYTDh00Cl4M@0Xn2lB-L0004W zQchC>`u!XNdzCc{A#{&=ct`j=u^4=Q%KB_7 zg(RxP(50%E^Cx`w|96KF|L3n98RYa6KfR~k+jI-lD}GKez3=%`FgCp4C&^$cfQc)E z<%hxa8x~?KDUDM%{y=oIV1=|sLuO#UlaxvF4Roz)CasP~EeOblz)avlCkwfP$dUwr zE=Fl!aLPv3rcJETvx4l&=H_w*f*TsPVgRw`0^O*tE3;_{8i}oWn<`MHDif_pgvy%8 zV>zlaviZdE$_mh>|QpieLqEBnyx9?8zQD&2+-mrLQMlzlPFYO z8Fl0e-P}bhg(@3$P2FPZ&Prb>Q3C0^#t!mkNrWw>WQo!7)QW~KWF--&B{$^|UMUKeQ{x!G~Qj-gd@cK3}6&5q7lMgZTge002ovPDHLkV1g*2{DA-f literal 0 HcmV?d00001 diff --git a/graphics/event_objects/pics/berry_trees/grepa/0.png b/graphics/event_objects/pics/berry_trees/grepa/0.png deleted file mode 100644 index abd265e0bc09ff97049ac205ce7cfa98733e9bfc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 216 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ z3G;Mu43U_+w|67&0Rs+}SYu0r#)U;EjZ;&4W-sCAU0!{#|Ksa`OIi&r(`N{63iW%+ zt5R@&?gptn4mn~oB(q~5&v5+krhT>cBjyXY*R4HJr=V-S`?o3o!LMqKDOrVlKpPl5 MUHx3vIVCg!02hK%lK=n! diff --git a/graphics/event_objects/pics/berry_trees/grepa/1.png b/graphics/event_objects/pics/berry_trees/grepa/1.png deleted file mode 100644 index 27e90c9bd36db75977b7f3e1cd3b76a6fce75c84..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 218 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ ziSTrB43U_6w9ioJfCC59+FHw<;w-DDJkp;0Sugh2jSYtlI&S)hUk|chEY)JM?735t z&4hz4J`6Vt8xNkF5cBX+XI{}N+29{qXZ{{EG5c|2+OG0-345#erQcgurZ!<+$n9>R O9SokXelF{r5}E*RMpw!J diff --git a/graphics/event_objects/pics/berry_trees/grepa/2.png b/graphics/event_objects/pics/berry_trees/grepa/2.png deleted file mode 100644 index 22e354eb092923e22814e30e928ce0916209464f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 252 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ zsq%Dj43U_+w$G67hye%7UA6ztR=-8RcY55YRhfK>*XqI4bZZsYR~O!7g>7j0@Ndnw zZ7XLzov|$KBy(hMM=nEK?gUovrYpj(DsnD`i@R!lm5=<=R5UPnd!bYHuIV{zmXm4I yKYZ7jI)A%&@#5oO&*yffclGt0+3YR0M#u6{1-oD!M<!F!s~IF)2F9z?Gt8~JvFDTc-lO+ zvQ9nOU2?w9uRQn_a^T0G&rP>)bIfvy&)U5F{}tYwt%lu)8CLxTx`n~h)z4*}Q$iB} D(wb$L diff --git a/graphics/event_objects/pics/berry_trees/grepa/5.png b/graphics/event_objects/pics/berry_trees/grepa/5.png deleted file mode 100644 index 9bf54a3e0f9f38327f625b9a85201c5fe098b611..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 248 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ zDf4u343U_+wSO<~5d#jlyRM(=`rLPL&Y917sIpNaJadx7G8<)&^4yGyDyEMQ@60~h z{xv9am->qM!Yhnf;;joD#ZKI~!m#Mg&rJ{al{|j8Wtm2{bBCr5*X12rAKcUK)Vl7y uc5a3H%UQguj()uPNnl3O6ZKdB`RiV>8Qdtn^STY_0tQc4KbLh*2~7a?J7^RD diff --git a/graphics/event_objects/pics/berry_trees/hondew.png b/graphics/event_objects/pics/berry_trees/hondew.png new file mode 100644 index 0000000000000000000000000000000000000000..45f5605eec1e48a77eb409419a56810abb328903 GIT binary patch literal 620 zcmV-y0+aoTP)er2o~l|HYKvlyiGQL28Sv zIZ9#(5Fpiaq@+P}QXoOq)zyoOltDpK|Ns90001r;H=B{47`E{J;P8@r=ns!G|974$ycYauV8K%ijxZe zD}F`pq{A`xnNUW}&Z1pwk!)j@#a;lo&?^;u4}$&0zv#%yyYZz7UVR|W%}Ka98z|50 zFKpEqT;lcKCBCWNl@}(ojZZ$pgxl*;IP8=!D)fE8_$VF*Op6N4ZQ_mz$HisiHa!rn z8{%fcQlI);TM;Mzd2pj%GR9tTv4QB4zeSQh*d5pV$gjs+b<)Q|tJw%K8afpQwDKc# z%=McjyY0jf>|;jOJCN)24qPANVhw#&e3k)-on*u&X9QUu@Q|0d`4H}JAKD%>H=^G% zWTE1mPcn-yBDY?Jg1=lbW>hCR(m#n5RH!)T<4EwNBOQ@dq2PkgBcxMhp|x{PrIGPe z?v6C$=nEsKLJ>?j7b8H!Dr}e^xi{qq!E;7a;)@7fZmi*Sq@GX@vWoMO5bRS-Q64bl z4{HtMyOEt419zQ&f@b_cGXgky4cBm4kSDI;viu+T&*}#V(=x$+!)^=!0000SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p z6X)sT7$Pxst)HRL0R@iYsneD91JvA4Xs>RXYdxj$iPNE_Q|!~!R=tT;|GG_8xa69u z0e^z#ku}G?4+{!TkXtidVsU%>-A5aDdGA=QqIhw7#RRs#IlfOcvmNsecF%v#_>*1r V*KZHbBS4!NJYD@<);T3K0RaCrR*(Py diff --git a/graphics/event_objects/pics/berry_trees/hondew/1.png b/graphics/event_objects/pics/berry_trees/hondew/1.png deleted file mode 100644 index e24fd5b959444166f9e8fc3f7a90f68957ee5fd9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 222 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p z6XWUP7$PxsZJ#0E0Rs-^$kV4~;{*&1kL}r%%Te84wNp5PW1@V~(TAUmnATSa{R}Yt zv(%@@H}b`@%`VMx?m_7x?b+Q;TlN-5b*`|C4p=K#8XaEp{Ll0SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p zQ|;;E7$PyXv~Q!}5eE+Dsd7`3wLS>`5nwv__3OGv$JxuisbrXFGcqhmgTe~DWM4fVIyX- diff --git a/graphics/event_objects/pics/berry_trees/hondew/3.png b/graphics/event_objects/pics/berry_trees/hondew/3.png deleted file mode 100644 index 5c9536e877a36f82e84b6b74d1d01dc28595fc91..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 251 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p zQ|amA7$PyX)NiBUVF!-IypxmFJ_JA6=OS`X+urq@*nB;c7b=R1N>PV)-ka=T|N8ig z9JOYiH#=5Foqp$B8smQ;Ga+D>F}vZ6#akCyPk9hpSO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p z)8Xmj7$PyXwpUTe$&klI+ra*K!}<#vBEct5{wi)VTh;9KZORtUgN|qR-OMr5{5$uu za%uY>ZvVS+->ZDQ8>3PrYRnQWj)*_0%~`?t)9mnx>wyn!{ipM)@I?jeozaz9BVgRO zTv}gYntsHAMxpXs5B;K_d+Ih!`EBIoBC__VVCR|(rKa3hoI2cKsPaX My85}Sb4q9e0HpV8D*ylh diff --git a/graphics/event_objects/pics/berry_trees/hondew/5.png b/graphics/event_objects/pics/berry_trees/hondew/5.png deleted file mode 100644 index 76aa9a8e36dbb89eb1369c620e9c55e6192b5ad0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 266 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dX`*y~ffji9SO=j#sZKS-0Fl=(Cu#aI&L7tG-B>_!@p z)8Xmj7$PyXw%1UM$&kZEGv|rK&2!2TkvWTxZ#r}(I%mbF8qJ1atrp#>Y5%0#7$3Y} z({T4|$h$*)J2dv*NeVVHpC?|{`nOj0={HtG>F(ydqt`56J)YPqp<7^fdvSz^Dud_N zV|`o0<~}@iML5Um<84QwTa1fr&9^Rh{Oqx2Yh?2o$x}QB7TP~!J|$wR_k8-U9-x~T NJYD@<);T3K0RVzgZI=K5 diff --git a/graphics/event_objects/pics/berry_trees/iapapa.png b/graphics/event_objects/pics/berry_trees/iapapa.png new file mode 100644 index 0000000000000000000000000000000000000000..2a8d9b7606e1d32e2e63db002af1bbfe265c2e3d GIT binary patch literal 566 zcmV-60?GY}P)er2o~l|HYKvlyiGQLI2et z-kcC>ISA%bV#NS4VgMMNVoGW;F);ub|Ns90003V0bYTDh00Cl4M@0Xn2lB-L0004W zQchCk6nqIc!n{HI9?29J?wa7P2$PEgvz%FU z+r_9L)E2R=xE2K8!QG(JW#7Y_CjA?Qx_8c^CnV>)H@PL`po9LCoWd^3b|aYpPD}vO z1e(P<8iQTMTVs&9ItVQFm|h(DeliAaMUplS^DI(8s90tmh!D@$o93VcN$grcJLPpA zF%ha-BFH2HHrRrMWVTi2;b&2+Jd#XO&>##tl)i7rkVgYhL4EeXK&l#w8_*rf>kA!p zX6uc)bO$s}&*uSO@Q?=VYKvFHpc~)opaoGMcg71nCK@OnNFHJ1}@g(Vo|ooh8(cil;H`}alN2PF51f7s2) Yprpxrzopr00J36%>V!Z diff --git a/graphics/event_objects/pics/berry_trees/iapapa/1.png b/graphics/event_objects/pics/berry_trees/iapapa/1.png deleted file mode 100644 index 6eae7f4ba6357ddc45e948c204e13455e4c5fd40..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 181 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ zG4^zE43U_coFH)|L9AzE24hbmXR6M&Cc|9|dPEJ5dCk~1yLe&G?dpX+ueZM7xySuu bE(3%1I^I*K40t92wKI6S`njxgN@xNAfg3?h diff --git a/graphics/event_objects/pics/berry_trees/iapapa/2.png b/graphics/event_objects/pics/berry_trees/iapapa/2.png deleted file mode 100644 index d779ca7fb32655a4bfefb4aa6eb761c06997f68f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 251 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ zsq}Pl43U_coFJjokgeLYa0|mBjrg2MzGa8S%cn9%zDe{CFKJySYB0r4H~QjKxmo7| z!v2|LWoA@bF;~Y_WJP2~FfvzXMMh*Ek%X?$1C#Z8Udwud37=x5o6i*L%q v-|ylUTDiA6`|aJ=34#h54JRBkG#D86H0k7-{U|*HbOeK^tDnm{r-UW|XCq%G diff --git a/graphics/event_objects/pics/berry_trees/iapapa/3.png b/graphics/event_objects/pics/berry_trees/iapapa/3.png deleted file mode 100644 index 4bbd498e3fdc04f41e543f2bd34d4b1b74076723..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 244 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ zDe`o243U_coFHM6AUZ`ae#-(GpLV@XT&$aJTwWy>J$1RL!4zBH_&cFuv(6oe`&Z%` zo?+>+q~__Fq6r>Z8Bf0iERbs3^y$KdPbC|^Z84cpw&33vqX|3#92^cNzwch%{jSL+ o>;1i`>hD$&EF4@4MFK!?F(v73{CAD}2her~Pgg&ebxsLQ06QgL!2kdN diff --git a/graphics/event_objects/pics/berry_trees/iapapa/4.png b/graphics/event_objects/pics/berry_trees/iapapa/4.png deleted file mode 100644 index 36cde62544a88d9cf947c678d94989b20b0bb58d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 194 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ zaqx6;43U_coFHM+kj*&d;w{#NmP$$rPBCk91K8S5tdg9$`T$eZw8`R4tzj$0*EYS_ ozgIl#!Ph9Z7^OYpAFR0;oOX-y-SRmq2Q-Vp)78&qol`;+0HCQvU;qFB diff --git a/graphics/event_objects/pics/berry_trees/iapapa/5.png b/graphics/event_objects/pics/berry_trees/iapapa/5.png deleted file mode 100644 index b6a39d3184fc5128efafe95ff10078d8408d37b9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 202 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ z@$htU43U_coFGxtkj*&d;w{#NmP$$rPBCk91&*!i=mer2o~l|HYKvlyiGQLI0$* z)oOc-K~j{(_F9X*5HV7;q+)w>K{+`X|Ns900013rp2q+H00Cl4M@0Xn2lB-L0004W zQchC7|W z)J6lWRsf;53{tJ-5IVZ0`7&F9cErD26$Kh|h4&$(x8+%L7m8vFqd=#cPgt3OsxGWq zaKc*C34DV06JwNyezI18`DitCAuz6-v5a#^3@2iWSdj`z78jyMBL%X<0oM)3Z6ur@ z`R=(T>^#do-h_TbekC4q+eQ13(lzk_SK<1=Mxx#21HZn!@nlEh9zVS8hx`Y7c>x8O S>5+K=0000fS407_?fS407_?nhxG-Bm_ezXn z?ByADYdyboh0Zwd7nZlc{pY+G(Kp>ESM7*ibD<}EN!k-e4z_EDp8wp|ynZLUa)?6Y U1lG&5ffg}%y85}Sb4q9e0H(fK{Qv*} diff --git a/graphics/event_objects/pics/berry_trees/kelpsy/2.png b/graphics/event_objects/pics/berry_trees/kelpsy/2.png deleted file mode 100644 index 2f3fec1ecb2e03f03b99791ec3cdcacfff1dec7d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 252 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?fS407_?|JS;*@Nn%Xe|5)hqdD<6JpzHQVDNPHb6Mw<&;$TR8fYs3 diff --git a/graphics/event_objects/pics/berry_trees/kelpsy/4.png b/graphics/event_objects/pics/berry_trees/kelpsy/4.png deleted file mode 100644 index cf0c47d0a6afdb9c9cc2bd75b851e8db09b2e97a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 245 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?d}o$*IwFufS407_?5gtZS14;**mqOd?%9V`IueUEx1X8)TdsJ< pjVG1o8-6!U+P7lHpSqu?d3p7<%Y||>wgD|?@O1TaS?83{1ONaer2o~l|HYKvlyiGQLI0$* z)oOc-K~j{(_F9X*5HV7;q+)w>K{+`X|Ns900013rp2q+H00Cl4M@0Xn2lB-L0004W zQchCV4e5Jjh;vN%PQDiTMC6h%~#C=ngEKoBm#*hSjd zTOcb+ggpgk-~iAhlx&F;s&vV0@%%mW|E_lz;J^NEDPKih*D9DQ>KeeG zfPx_j3`o97^U|CEtw!zyjn*`1-l3ELloOOjv@&2(n+7e`l%Oyt1Z_1h6gs|qT_>v~ zaFWgj=kkC%8cwyWBtf20Hu!AZFkYc{wm~O@%LZ-`A04@Z4}oD!P0LxeBmgH_F=+0X zcOMEKSem1rWW5kW6l?TsY6+^*a#CeE>CbHpS z$frAawLdsFFF?)u_ii-sYBX?<*`Nz@nhlPk6(0CjJUF+QUfZHS!PykpfH+Pc#-;&K zE;GvD7x}Hkan_4T)_iK`3RzH0yo;=#&r>FkKb1=CT@gKP&l8}%z1&sUDqlP0&3OWB zZZCSPZ??*}>paj*9xOY%RfXNM?7|O(_NH7{3EjMZmaty0PWZd^32G-(P%2Qk{{R30 M07*qoM6N<$g42Qh4*&oF literal 0 HcmV?d00001 diff --git a/graphics/event_objects/pics/berry_trees/lansat/0.png b/graphics/event_objects/pics/berry_trees/lansat/0.png deleted file mode 100644 index 56d59b0a70ba6f690845491c05f23567b3e7c9bb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 247 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?fS407_?#WfS407_?80A&aAX2!r}h_{`*JfL`-L8TQ1QUvz^u7NTyv&O z6xFZ0v|ZJ@r9N!V{(yVCG^6<^aO(E3JYievGt=5dYLOF*P5X%tLF}3b^x5yFZNFG3 z>6-HO@1|d8p1f9NzEYs2bopwb+?i?1lf&Qtu6k1;W978UGFVdQ&MBb@0EWtK`~Uy| diff --git a/graphics/event_objects/pics/berry_trees/lansat/3.png b/graphics/event_objects/pics/berry_trees/lansat/3.png deleted file mode 100644 index 32ca5e3e9dd22144df067a9eaa80c8c7ac78cad9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 264 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?4-Uf`K)!4=fsaAX4K%I`%IGamDBgv$1`%dtfm8y(Qhn%xsy zIBog*^%jNij;&nA^vc`ez_h@I3`tjxF0O!cDF>Pw0v%Zx_D<2@+}G7O^Lwz>??wx? zgAxySWrV%x%X9OQKe#%rF2Bh=Zr)DQHN6La&iVV*fS407_??do`{N@!=fErokmGQE+?3Neq(taBFOZxLT16<*aE#N zTmBsL|FtQl{lobqAGx2V&f0X9X{N#Si48W+n!(SwCQ1e>GRZloR9tc7DtPUXUS@Cg z>zR_edxeSauXERz8#^>7+jsJqA5Y9JtF;b$x>Iv^*Y#~mOM)&HMS9uW|6tH|v2rSt SYAXP`jKR~@&t;ucLK6VGm2A2I diff --git a/graphics/event_objects/pics/berry_trees/lansat/5.png b/graphics/event_objects/pics/berry_trees/lansat/5.png deleted file mode 100644 index 3a8dae404dfde31a246e96c1bebce797c7bfe029..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 265 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?)vuN>R;gt64r)CoOYEYzer2o~l|HYKvlyiGQLI2et z-kcC>ISA%bV#NS4VgMMNVoGW;F);ub|Ns90003V0bYTDh00Cl4M@0Xn2lB-L0004W zQchCq z&`eF74%J%;P***}k&;owO)}hiI4z%O^Z!XvcGLV{|I8w)RAgr{P4V}o0OSQ(AF;$a zmqhiD@wR`??5O~ARr&~6p2r$r`J<10Yh4D)$j#6(z_}PKkGBLa`$R5U2Z;+kSOv@9 zfvp|D`^%Cp4@KpW4nOxk0Xp!{DLdx!5H?&EbO^Ns_a+Jzo%HHi@U(Zv6APY`@z4b> zfu45nFIqA<5k=?$!P#aYpFa0Q#7FQVps{<^XG5Sr4pc0qypT|0K3wlpYk0V{&b=kz z5*r{D7h%*?dSE*yTasfz#1?xNMCc!>wan3MfQeejEy=+wCvqh$0)T$Sy&+(`62WmH z3EX%Uc;KxhLNCvo!2k?~EB1g}BV&stR&vOh0NZsL0&Q32qZ!(@P{|a_jY|tc*15zK zhw`zEUA=Q%$r&}~i!Ad`5xlJ>>sJ;+O}ye{z=NmiP}!WO7x&nl!;I?G**Q(&k5l(H zB?NmxHE1mvUmUgWF4#1?Q#fC67q$!8+@tJf+=X91Yr<{HpzFUnQHjvr=k@w#aK*n| Ze*nPp$jR^yG+zJ!002ovPDHLkV1nV_AtC?( literal 0 HcmV?d00001 diff --git a/graphics/event_objects/pics/berry_trees/leppa/0.png b/graphics/event_objects/pics/berry_trees/leppa/0.png deleted file mode 100644 index cecd61e2d6e133aaee08a9620fcb8c3f69151612..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 223 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ ziS=}G43U_6w9k;sL6OHJ_p9x6K67;zCUD@U;2IVr5fv%Chyt*G)?%KeV17^OU(Sh T>%`|kix@mz{an^LB{Ts5_OVp) diff --git a/graphics/event_objects/pics/berry_trees/leppa/1.png b/graphics/event_objects/pics/berry_trees/leppa/1.png deleted file mode 100644 index f3ce88199f60834caa5278426339f72c9abab9b5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 231 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ zN%eGb43U_6v~M?Wg8`3Aa0R2cIb)JQ&$>k?CIo8bx4O)gJYXow{ovWWbI<)X?ZsQ8 zSIk+)v4U&s2Cajcfu7DTB5f^qOSlhgI_J~7k)bl-$+1Gi{1X4E&o&45J+nO+FYrwI b{w~I%DPpHy|K0ErXd#2AtDnm{r-UW|jni2Q diff --git a/graphics/event_objects/pics/berry_trees/leppa/2.png b/graphics/event_objects/pics/berry_trees/leppa/2.png deleted file mode 100644 index d00cf5f890ab4262402a569b37ff97fb094a454c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 272 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ z>GO1P43U_+wRgARVFMoL$O1;SSqI()-C7kBDRg{d<0Am50}&xn%~CLbD?r?#2mePGE}9H?f#j@_UkAqITw`hCts_WeS^$ zSC-5=@p9LJ(`Ry->uyKzCmyhrvDq%>xP9HOOM=tNcSzO5@qXZV_)1Z(Hn#rNdyTlq TJuB3JE@SX?^>bP0l+XkKEwpY6 diff --git a/graphics/event_objects/pics/berry_trees/leppa/3.png b/graphics/event_objects/pics/berry_trees/leppa/3.png deleted file mode 100644 index 8a9ed3c3430b5dede9a2bac63b22e399350dcd4c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 273 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ z>GyPT43U_+^{gS^VFe!60Jiu8YoB{9ooU6k%!kD$HQ_YtVxK!&LYvPA2=8#(`(cA! zP4Yj30}EwkKDoZ_Qt8+g#TwZm8qxYwRHSnKrb#E)+*obCX5t-&4jWG%HoczwZNKaU zC;ip1P&&J>RK@zMQNig9{nQ5%(iYR?JkR}Hw)V{VqI*B=@(zTZy6Jr9zw~G3yC>AI UvAgNr2ReG5=N43U_+wQr;7VFezS&o-bhSsKjjl9|&c+NY@* zut_v~hxCpn_jcL0O3ddh?pZi@&v;Y2Cv)<3m8AziUp$bbw6wkA&g;+2>%Xi0IVr|l Q3v?HQr>mdKI;Vst05T41LI3~& diff --git a/graphics/event_objects/pics/berry_trees/leppa/5.png b/graphics/event_objects/pics/berry_trees/leppa/5.png deleted file mode 100644 index 056518295c6482ac7d23eaa302a757b34cf0416b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 274 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ znc(T-7$PxsYu{eM!v-9!nky~|2Jig9@KPvfW!L)^AsGh!6SO}13vTd(6UQ#I8A~EI3_iH>m%*;B)5-RV- z9t&X<-e{f1{O&J%-l|vex-y2xnDvr>{5Yv1)TME2@y44E%SsPqm{n)|XMZQ1|; diff --git a/graphics/event_objects/pics/berry_trees/liechi.png b/graphics/event_objects/pics/berry_trees/liechi.png new file mode 100644 index 0000000000000000000000000000000000000000..a845c5ac29d3d69e3916a1de67e62f4e0cfbf6b9 GIT binary patch literal 681 zcmV;a0#^NrP)er2o~l|HYKvlyiGQLCwwH zoSeN%N_%s?06}{I5IF$NVoH=bDN+ys|Ns90001$F0&@TW00Cl4M@0Xn2lB-L0004W zQchC6vf6NgBo}BWGu<{R7hu5| zqL*oagske#FByG$*no47md|rz>8}>Fb7Sc*llvx5#^lSxYAlk=z8TPF=L5%~Gh91NTT17Y4K?SJH^U z;QOf$lHl0?@Jkqq0f{E2p-MMMWdJ1_4yIxt#aI&L7tG-B>_!@p z6X)sT7$Pxs>3M6h0}3204q1Nd<|zc_a?UYgyKqS@>~q*pk1zi>h;LDBF1w)m(IZjp zgzqA;B|=++W^m@cUb@ci&RPTBJIsDI`_x`PbC}4SV0q`e%BH;v?_Jon4*t#8kKUuR Uzopr0Gn-9O#lD@ diff --git a/graphics/event_objects/pics/berry_trees/liechi/1.png b/graphics/event_objects/pics/berry_trees/liechi/1.png deleted file mode 100644 index 1824002606a0eecf9638cfcaaec17c7fc5ff7069..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 226 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p zli=y%7$PxsZNH(|0S6YB<}l diff --git a/graphics/event_objects/pics/berry_trees/liechi/2.png b/graphics/event_objects/pics/berry_trees/liechi/2.png deleted file mode 100644 index a24565623e8b02b70fe05c148b5cf312ce8c04bf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 248 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p zQ|9U77$Pw>_xx_b!v-7-0a1_4yIxt#aI&L7tG-B>_!@p zQ|Ia87$Pw>x8G2R#gWDJsNcP3EWRpNn(S_{)V8J0Sj!vss5U-O{(5wisMHSIlW?i*{L3ku-~T!O==Zt9-hH#p0vhGp z;~mPbv#sLsUb0B%8{hGuX@=9=AHO>Ajm`Z>v^1_4yIxt#aI&L7tG-B>_!@p z)8gsk7$Pw>xBnvVAp;(lzqy@zrOh_%|CA{{gCU|pa8}v$TRR0fIqUbHcD0ia1_4yIxt#aI&L7tG-B>_!@p z)8y&m7$Pw>_xwh|qY4~s30Z39egZ3WE{aa_`EYLc^<@duIfPaRyik9>(7r)@+Ro-D z87i;0G_E}}S;9d=Wou=iko2}q4QxK#k}{<_cE{6nu6z`E_r_RO>cU~inpe5`Vej1Q z3mcv5@9y{X{onYbGLZ!Cl_6@nPqW30ACW-UFnGH9xvXer2o~l|HYKvlyiGQLCwwH zoSeN%N_%s?06}{I5IF$NVoH=bDN+ys|Ns90001$F0&@TW00Cl4M@0Xn2lB-L0004W zQchC-!3{z)^VZ^l;Y8&>B1mz=CkQCiZiw--5CwFG4A z0+`*56G!WUPqfI1uO;BY8rX?co^zUDz=1fCgc)-;=LycxfivFN3rr>@Gm|N3#|4!G zGc@hMPx;v0h9%prfHOUC!OT0T=}m(<&bg>aWt{%z!R=P)bLselx#A}n^NhZYFNZ6Q zhhcnHWpML=Iacp}tzcwfUp za3JHhs%w<1upxgC?gw5Rq}Tg~{{S$=8n43xO?@r?vMX4!S`X@9hQFR&Fx(SgD)cG-uiH$BnTtP3sb;0W(K)PI?>* zUDF^hd5BygZ=_Hd6uF1_4yIxt#aI&L7tG-B>_!@p z)9C5q7$Pw>Ibng!nJCtUmcfU`8YE*DE{se#w&lVF4TI#!TUs3_Hmxz?Xx7%|T{ELN zRLbS|rVpt*1%jQ5&pG*=jH>>{)G={a$-%eW0(W@?*se2aFmojE+_N<}7ROQh%1_4yIxt#aI&L7tG-B>_!@p zQ{(C47$Pxs?Ri7K1_d703+tq8<#^s02%LZX;7Ahtx&>WV1z6*uPAQcrSKy(eAe=qDxfRq?oTCTF<;CrYqpX znVtJjq-F@6l|1Vwtp0P!)QKG*U8XpkdimMkTsP9}@RYlc<^kQo;OXk;vd$@?2>`WC BXKw%i diff --git a/graphics/event_objects/pics/berry_trees/lum/2.png b/graphics/event_objects/pics/berry_trees/lum/2.png deleted file mode 100644 index b09991fd91fecc1d712a7adf4f4e6bcf411780c5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 280 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p zGtJY*F+^f&?m0ug!wNjC0bv3+mEXCxy-Rr@w$tUgK})0Yk|6$urDqu51@#1mn0|ev z{`<61a{N(e1)Hy1%yMM!WaJ7S%5a{s_Wg(A(;WWH@22ota6W!CcNMd>-c@bkTPr6g z9B$A~+{SKg*yAqrVCJvGA707dov0^MyIFp}V1_SKu8PVD4vlJ^e3!1Bj!v304;gN% b|H|0v>aZ$(`v2cR7czLd`njxgN@xNAz({VD diff --git a/graphics/event_objects/pics/berry_trees/lum/3.png b/graphics/event_objects/pics/berry_trees/lum/3.png deleted file mode 100644 index e32e7b64a77e968c09946f76b1ab0db2d7c90fa4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 286 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p zGsn}#F+^f&?gU$|!v;L9d(BLmuix{Q+jPCz|B`UZi6?w#6;AL9y@->%bn{}Y)_+~q zV+;Df&yzdmHFqv&?Y!yMJ9uP6Bp7|Zr5T9o++sR6jc1pVPnDa`>GQ|WW=?ct-08KK zZEuaS#Fx2oDU}TC3nmw6y|mwbWyz!+*VRp5TxW|eJ~Tg=mCIG3uQ4TVX85D>CJ%R} hjWbrZbo$jlV%Jr4kC~cTe;4RZ22WQ%mvv4FO#r8;aW?<} diff --git a/graphics/event_objects/pics/berry_trees/lum/4.png b/graphics/event_objects/pics/berry_trees/lum/4.png deleted file mode 100644 index 1347d66b29108850f8f2b4a04a3b5892f1222089..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 285 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p zGuzX}F+^f&?zxRz%!)j03D>RP$?5amojS?=1+&O4_7@jkPUF6k{$auAg%8&4^X~Q1 z%-#G%Sr(ulWRT)>0lW2Fb-tR~JmQ^7x+W6dcSEE+;rA;I+2=>Ay95x&@c` z^`8!ENV~^-d@Z{mv;6e#Czk7bp0EA?Li}Uzh4`EwaUZw(-dlF& hrC*;mSNQ)c*6uu)gKJrj=>VO{;OXk;vd$@?2>=yvbWH#N diff --git a/graphics/event_objects/pics/berry_trees/lum/5.png b/graphics/event_objects/pics/berry_trees/lum/5.png deleted file mode 100644 index 1c601d09ba857d18e0075e91fe35639590dbad38..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 285 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p zGuzX}F+^f&?gU>hCPSXq&7p5TMjhPiSS4_fo99xfd9c9)&XNOrbnl*V9vyj<^8)v1m?+Hx0q*_zLr@yV`W8vP&8LC;k zq#Ghr)oqJ^sOWa6&OR;lF_!UF-;QsS**d;Aq-s3$f5|L=>p(G&=6B}Lr#~-u__ESr h+Kgc1>is`E^22WQ%mvv4FO#p{ycNPEu diff --git a/graphics/event_objects/pics/berry_trees/mago.png b/graphics/event_objects/pics/berry_trees/mago.png new file mode 100644 index 0000000000000000000000000000000000000000..cc30190d208644419420f878cc832a8a06acf3e1 GIT binary patch literal 717 zcmV;;0y6!HP)er2o~l|HYKvlyiGQLI2et z-kcC>ISA%bV#NS4VgMMNVoGW;F);ub|Ns90003V0bYTDh00Cl4M@0Xn2lB-L0004W zQchC*!Ktu24k>gzx!7r z#Z5^QV;FL!D5(7~%ofx_q)&ubkmAAawhn^op>W1dl57$DFTEcZk~ z=k+!us(6ObScRO=YSqI7qquSi%E(9Q?t4J)7>f{pZgw-5-?9uvViC00000NkvXXu0mjfkjOd? literal 0 HcmV?d00001 diff --git a/graphics/event_objects/pics/berry_trees/mago/0.png b/graphics/event_objects/pics/berry_trees/mago/0.png deleted file mode 100644 index b58d4aba13bc24ef327180a8a5ef0afb6e18ae70..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 246 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ zDe-i143U_+wcn8IumcavdcHf^>qLIV?@I{R>{XoVwYlD42iNI;N6VMjD7aq9xZt&W z#T5Gx+x-qH;U>O{FLFD!UQBM_aByyPvEH5J@MWo#oBgjP9Md!JeKzvTH(F@sF4d;} r@W-0>Ja@18)Z0uCzqIfFuT#7kTBh7rzg*P@+RxzW>gTe~DWM4f+ty)I diff --git a/graphics/event_objects/pics/berry_trees/mago/1.png b/graphics/event_objects/pics/berry_trees/mago/1.png deleted file mode 100644 index 0ed2ad6adc6410bcd273d3488b04726b7c9b3d50..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 245 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ zDfV=643U_+wcnbH*^tL2mc2%5YTCQ$+Bt$AGk1h$mb9}@O?oF3eUCdw(6ow&zt-!g zd*Sv|g=#IFLNZOF7cVBcg*sktNmCKN<2GApVSs0Jke=wR9ZcfwPZK&L@;V*;w||np oe(ikr{f`xL?`s3zm)rkj%rrN#ces7J31~for>mdKI;Vst09*fBzW@LL diff --git a/graphics/event_objects/pics/berry_trees/mago/2.png b/graphics/event_objects/pics/berry_trees/mago/2.png deleted file mode 100644 index 221af2806267b17e5cc8215bc617637eb6ecc755..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 275 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ znds@_7$PxsZoeVlVFM1=nc81XayHiN_q+F4GichipyfT+&Pys)YH#A7urOWYn5{!- zgxrU(jEm|YSJf>15g7igDq^qYOWQ=(X5SCrVwG+*cX9o`b?8;-q>FxRoy|Uz7S0OW zQMOp@h^Kju`U2ra*SQQ2A39KQZq|mklX9(>ru&v%cr5q0;kL~Kq35Z0_AHU#|A#?Y W)Hhg6>{21naSWcWelF{r5}E*UOLB7n diff --git a/graphics/event_objects/pics/berry_trees/mago/3.png b/graphics/event_objects/pics/berry_trees/mago/3.png deleted file mode 100644 index 71a8d42945fcafc772af077b2ac72d066fcf84b3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 276 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ zndIr>7$PxsZoeVdVFMmlQ}G(9T*IC5%inwyd2wl(O1JxBYmq&!f6gtPFlXVWyUbIv zEgyy4PdTcj# zUQUT#KiBrm@wMd#Sc+ojZ*h7P{7qH#rn!Olm69lfe9^q?0#b91vn@C9d;22u-^Y{u Y9Z!8Uxc~qF diff --git a/graphics/event_objects/pics/berry_trees/mago/4.png b/graphics/event_objects/pics/berry_trees/mago/4.png deleted file mode 100644 index ba6bf2d00c67de28a0db54efd23f91aaeccacf8b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 279 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ znd<4{7$PxsZoeVdVFMmlTj?UHTwc4jgss-Rv4y z7pd2NRMq^N?{i$dOVadkZ-3nK>x;i~h1_mrnYXN0z)IhlmB+YIFtu+6BWu|#&4sf% zxC@NCmY1kxXWORb6nvjD>)}hMHv!IfIe(X(s@;8Q;`X`=&-bolzGLLD{`7<^Vs(E$ ZF)`-2?^#n8y#VMy22WQ%mvv4FO#q;SZH)i` diff --git a/graphics/event_objects/pics/berry_trees/mago/5.png b/graphics/event_objects/pics/berry_trees/mago/5.png deleted file mode 100644 index 6271425a3cbcbaca495c346f6d0cefa67d1d2dae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 282 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ znc?Z;7$PxsZoe(pVFR94Q}z<6-et!PN>0}9dBX5fM5FQA!O8B6ttEUEuDsCu>dzmr z>S?VF=S$89?FOLncXHL2DFjiXMeQ#r0p?l7Qnlr0nr>vDMj diff --git a/graphics/event_objects/pics/berry_trees/nomel.png b/graphics/event_objects/pics/berry_trees/nomel.png new file mode 100644 index 0000000000000000000000000000000000000000..b1c18046528117bb9ce782c652ed27a74ad2c6b1 GIT binary patch literal 605 zcmV-j0;2tiP)er2o~l|HYKvlyiGQLI2et z-kcC>ISA%bV#NS4VgMMNVoGW;F);ub|Ns90003V0bYTDh00Cl4M@0Xn2lB-L0004W zQchCLld7jt7T6C6sJb z!#WD~;jVq$I}9as?Gx)RyV#U>j>V!s5FKJl32)E>vFrjDD+pZ1_QEzPxRNDhaH_12 zt|0Dg%3L-R;uX~P#Sr&vWrWOCUACzqK3itFfnTfh$&VBd;2d|!Yk*IR4YbvSKc{muAv&jFRFHfp zt(`TI2jrpgU`Ar?I8T7uDjI=X{P*<>R3r68n|@ed00000NkvXXu0mjfnlSsS literal 0 HcmV?d00001 diff --git a/graphics/event_objects/pics/berry_trees/nomel/0.png b/graphics/event_objects/pics/berry_trees/nomel/0.png deleted file mode 100644 index d504524eb4b1954ee3df8e45a1a9198bd9305c50..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 230 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ zN%3@X43U_6v~Q!}0R;}%w<|XJs(sLV&hmnZElT?5;$419UoxE!v&+c`{nF)_H$kmG z)@Vmt#v(hTtAZK*JWqr;o@W~$`@839?!=6ZxfKV_Y(J4DA^rJD!|hdiF4N~LC?wX{ a{$!ZFQm*{9<_{*IeGHzielF{r5}E+wsaWR# diff --git a/graphics/event_objects/pics/berry_trees/nomel/1.png b/graphics/event_objects/pics/berry_trees/nomel/1.png deleted file mode 100644 index 37ff4b08276b5f7571bf42a2a59fee54eb67857d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 228 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ zN%C}Y43U_6w0EQE0R;}1w-GAJDeUSF;wKJYQ!2>5wbPI3*0OV^-{oauy!Lb6?yQ!W zvbuSbC%3@iD9?N9-vxyqy-qnlqj`_AQA%fjaKl4M?Wn4hi1HohgcNe!SQ#@zYhE%g Y+#~lpf6|tVK-(BRUHx3vIVCg!0JK3>+W-In diff --git a/graphics/event_objects/pics/berry_trees/nomel/2.png b/graphics/event_objects/pics/berry_trees/nomel/2.png deleted file mode 100644 index 4e5c03cb4fdc9c860b64ff7a5ce0308cc3c0553e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 260 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ zY4UV&43U_+w{N51VFM1=mm#UkeJ1c_GC5BVR&-YFeQ@*6POs_Kl|2nlL?RXT|D6AL zKXZe<<_m+f+G+BJiF=qnMsOC-n`>k{=dazxfNy>F{HM{JlXchkw{eiq}DTgkzX z^G@Ab9qh8{(*h5JpQ=9X@}_&_xKr0(nI6G#_3!V8>+SYl)2o!rtKS854TGnvpUXO@ GgeCxy>u5s& diff --git a/graphics/event_objects/pics/berry_trees/nomel/3.png b/graphics/event_objects/pics/berry_trees/nomel/3.png deleted file mode 100644 index 7fd46d627f7f37310e55a060f993524511dbbffe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 265 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ zY4>z-43U_+wQnIWvmuY`*`{5-?khsXo}FfSzQBtyU0PMSWZNd^RQ0FFGGxT3U3+5x zvc6vW!T!bZoDn|EMrzD%3vC)*?k?J$K08kKkl@{mZ{LKe>~M|aY7xENJKaWMuDd*g zm#*E~7mFgR=hmwHnGvm0W}>i6ws!A3ZPD&4+j$tSUbp!C_&@(+X+58eZ->)?PGazM L^>bP0l+XkKcDQD_ diff --git a/graphics/event_objects/pics/berry_trees/nomel/4.png b/graphics/event_objects/pics/berry_trees/nomel/4.png deleted file mode 100644 index 913274d81b9e711067d03bccdfa7433e51330103..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 263 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ zY4vn*43U_coUlMRL7zSNDeKaOtO|J<6&Vs!CQjpGE`O43U_coUlMwqdn-&LRN)Ywp&b0WR7U?>Uw*#8(%tgN--$&oq?@d02_D9!MJma z4)GbS(AnbhG%tdYxjO4bZ1n97B?`*de!P2@?a+KmU;6#sTGEHBqtmUh^uRC+$+=loAJzHT^l8@*n>b< OF?hQAxvXer2o~l|HYKvlyiGQLI0$* z)oOc-K~j{(_F9X*5HV7;q+)w>K{+`X|Ns900013rp2q+H00Cl4M@0Xn2lB-L0004W zQchCi8B5QYUr{Sqr7k5h1~nIdO2l0ZQ3k;)2^g5Zv6 z0@^%AZ0zxjO~ncV?jic`>YC2=?1Z#3`0n@ptNr&RWB$Ri@omml^6howT>rg)>0H5H zDReHL(ewSebBw(#7~)*Z`dz5Bo+ybC%zm!bq9~0i5qWQH04dHjj9D{UmnEYO_@8o2 z4qK{ms>R5f(PWm4@*?@pr~EUg(Wt*1RJRP0(NdC(Vhq`P`{8~YN~gwfv+_bLIn9rC|JRlF%#{# zoJXVRox(K8h;u8F8OPx|kBH?HsK!wz)pEc=GUC8lGZwi!MXms-#;L}EWNC?^ zL6##=zFk}R)cC5eRO3Ljr7hH2np59ydl`9}62?hOV~*=)xI|N0OZ3u~?-wlkDc>(x zPgsxZ`WDTiwug~5AJ-piV>m;3;{Nc;#fdscpAU`wjAF$4!$mC^z8)@7qtr2yveq2r l;S%So*1knOo#+2vzW|1K8AM#rOd$XO002ovPDHLkV1n<+RB`|S literal 0 HcmV?d00001 diff --git a/graphics/event_objects/pics/berry_trees/oran/0.png b/graphics/event_objects/pics/berry_trees/oran/0.png deleted file mode 100644 index 8770230deaaf2f511f8dad56f62230e5134f90c0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 260 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?$h5z%v=skTOQym_4 zdu?Ub*22dtS2`_sVpy8QbzohPV!$gAzTFX3QX%e3nmffMXHJ=NYF)wP1Cetq3(dC8 z6ImD>bXEDyYWBBj$M;IhJ-_!@=Cj1H@5cQz(j${={(WP;@>_n2>WtfS407_?FoezWTUtYYi$#8z|@9pbY9WQwt zK0Ya?T~vAAo75_U&!J6*+#*7}6%(EXbUV-DX?1VA;$oh;RO?xSVjJ(O#JsC-UPTEv z^RKi>+g$K|zR<<;H{Z)&*452OH}kyyJF}^3+SH$)Z;L;EEWa{%*Z*FiYZyFT{an^L HB{Ts58***5 diff --git a/graphics/event_objects/pics/berry_trees/oran/2.png b/graphics/event_objects/pics/berry_trees/oran/2.png deleted file mode 100644 index 7b7dc8b1ab9b95dec8b8da97f71e521bbab34b44..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 303 zcmV+~0nq-5P)8IuY0000mP)t-sbH$|p z)wKV`l-`tcdqF|}q_ov)dy7F*l*RU1i@gvrQnaLEdvifKIT-){{{R309c`Y+00001 zbW%=J06^y0W&i*Htw}^dR2Y?YPCE|6FbHMvnoD5DsDrW8DU}7RIa05XL!}ppl&s!5 z`Vb|bp+ox?9uFQofG>n{5uvlU6m8dpQ{-I>geZq1h~!Gh=+FWZg@h7;=v%Y;EZn9! zHY^bOmYf$*nXzw_L9-#6W(eHOnBD%EUd;YO`o^q&C!oYcZU@_c*%3(Sinxte)OGkr z>N?b;>N?z=bsMIL&jq?_LRJ?aRn7HWs$+#8_y7h}HiJzDHFW?0002ovPDHLkV1l$d BfMfsw diff --git a/graphics/event_objects/pics/berry_trees/oran/3.png b/graphics/event_objects/pics/berry_trees/oran/3.png deleted file mode 100644 index 81857442d4fbda29ee28557e3a51378591dd1e22..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 304 zcmV-00nh%4P)8IuY0000mP)t-sbH$|p z)wKV`l-`tcdqF|}q_ov)dy7F*l*RU1i@gvrQnaLEdvifKIT-){{{R309c`Y+00001 zbW%=J06^y0W&i*Hu1Q2eR2Y?Yjx7>{Kn#T=)^dq#WT#@YmJX9dmaFwp1Utuc`rW?;HyG+HlYfVQ>;?p6!Sqsi0Wp@f{3n2bctLMeW{>!5U!6QTOtUT zJ;iAxP#F=oy#qbArl-%alTilY+h|!G;=*4G6Qv_bK&0cD1DVxm)}NV| z_8*j`Ew$^?W~XMw6tSP7DJEoPcB^PEpP{uc@T1;xb~o+r)&8IuY0000mP)t-sbH$|p z)wKV`l-`tcdqF|}q_ov)dy7F*l*RU1i@gvrQnaLEdvifKIT-){{{R309c`Y+00001 zbW%=J06^y0W&i*Htw}^dR2Y?YPB9LHFbwpNl}|XH7?Z3>$o9~Me?ebRvBE%k4HB&R zOC4b7&|U^#&OY4%e8IIhVY>brycUgP@Udu)5cyOXkxX$34blR8rt*L#NqUR~4r8eM zXKRG8evK_iajkO#Ns6eFz%9e9F`9kprx-1R-@_Con7v+oAha+oS$Y;?x+@;tU3G8% zk-RtgoU%8`Sao3V*lkc{WzxLaDoe`O(a~l2fe$P=HI}%=fS407_?Zq`7QH^OZ^AcOU*y#SFzCs!YGI;1dnV}nQLH`XKxwR{)l z#EKF(A?FIeS&{E~ZacMIFZ5L5T3_hqvh`4##tL!a-7k_elNf6%mlb%g472{d`t!wq z%{5zg=2=DsW%+gR{km&nxzWEeT$}r;|BE-9e;Vemay9+_JnLOD(D4kOu6{1-oD!M< D2I_&M diff --git a/graphics/event_objects/pics/berry_trees/pamtre.png b/graphics/event_objects/pics/berry_trees/pamtre.png new file mode 100644 index 0000000000000000000000000000000000000000..b2d7c590da5673af4c1da50986e006137f273f57 GIT binary patch literal 636 zcmV-?0)zdDP)er2o~l|HYKvlyiGQLI0$* z)oOc-K~j{(_F9X*5HV7;q+)w>K{+`X|Ns900013rp2q+H00Cl4M@0Xn2lB-L0004W zQchCO9nLTw4 z@zkjWzd#--o$?I5JCQ%OsZF6n1d z$#*Mr+3hmHKYTmQw}lW&3kfN3wjQbG4#xSq(AG{{a2}v`ED`|bNj8^-G9xAVBIG}8 zVH{^^$!kfIKuS_+f%|pk8fAHyQqtzq0-&!6BIWGsoUv;6gDf3oDaoQR+A}&wOb01| zi!5la+D@~vs4XFjUP?Z+C+Cu9F)$%khrMPNG#e8s)f6L(NlTu2=iSNdL?mu`+o#Zf zn(EM%%;%aMsfYohyc5E&H?BY`@^KQjoiY7~igG&1rFbI&(z7fC6(w&)ASfc=$fS407_?P&%rMFPe^h+lC*7yvs|pQ^ z19HB)eDh>y^eWBbR&BV^cvzx!^^{Zk8@7$6ce1lvb2qJYKNQTD~9~XH|_0< l>Kl>|Z9BAeJ$L*k2D1R=#RgkrIDs}Zc)I$ztaD0e0ssOkT}S`` diff --git a/graphics/event_objects/pics/berry_trees/pamtre/1.png b/graphics/event_objects/pics/berry_trees/pamtre/1.png deleted file mode 100644 index 105974668583e5693372b09b5e6ee0d16cb76f4e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 245 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?fS407_?N%<$Vx{MVJjSFS_LYB>Iw9s_w;HwRq zvi$o`b*=;Zy2fS407_?SwH2O`q(7k#RdLt zcK`bGTMJI*$Slwi@N^3B5xuFr|L*R_6SI~c_BtYaY)MSuoVPufv&1$_R=b!^bl;$Q zE4=poYyY~BpPp=jKhF|l({awMx()?CwwcN8`hEL@;_i(1l)uzsR_BeH7 fzFI>|d=<0w14~7r-(M7gj%4t3^>bP0l+XkK!S;7p diff --git a/graphics/event_objects/pics/berry_trees/pamtre/4.png b/graphics/event_objects/pics/berry_trees/pamtre/4.png deleted file mode 100644 index 509057976b6d2e66cbea70014f9e95bc1810d3e9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 280 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?C4jc#&lZum?#WzXISD%~Rv$bvM(xq);4JoHC zITob~tSn($*Y`4UWvWB0gIh+1WB~7VABDvxJQ;phS6%uLdfM^Xl&MS0&oCLCx^!vv z0iJJLwyc@C`M|a1OV>s*lygXgfS407_?Y8(i7|3g3$$@mdEu!N(NxyBX2P7Rtb^PodruYqDqnrz znsZeR$Aj3kudGt4JSq%bhKj#W)u*=`Z0HM0QGKM89O9?(PV9KDskEDMTiVSam3T`9 zHU6A1cHPFG(~|aCYiR06d#c&JXK-6yYOQzbx~yLR<6}QrFWXpJ$(K&A f|J-ST$&&8-)K&Sda(^>bP0l+XkK=lpTS diff --git a/graphics/event_objects/pics/berry_trees/pecha.png b/graphics/event_objects/pics/berry_trees/pecha.png new file mode 100644 index 0000000000000000000000000000000000000000..7078d2bd1c6c808dc967f7be3b363761b2f17548 GIT binary patch literal 680 zcmV;Z0$2TsP)er2o~l|HYKvlyiGQLCwwH zoSeN%N_%s?06}{I5IF$NVoH=bDN+ys|Ns90001$F0&@TW00Cl4M@0Xn2lB-L0004W zQchC77!MB$o0Fxs?rrA z;wko12Lw15enW<`o$TSf2#_j8{UP+DMJzmeWee`K5EPX{ zR%G>t=b#tcYdQl10&f6?3r$x}ip|N}i0c%hcPlxV3k3`3n~i%JTl3zNT<5C%0RxRf z!Q;YlY}|{e9(X_&=XiaZv~&{ZDS^WJ@^Ew>UOo-ZDICsmY<3fi#Mh^{8apHUJ%tZP z=R~t*pq5#iyTSe_{PtrS`Xc!9c{;f;KB95QxY+ibw7Kz|7>Mhf6L&%8IX58?ox5v; zW45m}%sXCjyqw@~U*9g~0;X)7)-0TnBW;2jE^e2c`Hp*cj$%td<2A$+j(|cYXrL+Cq|XD>E|y O00001_4yIxt#aI&L7tG-B>_!@p zlj!N<7$PzCsP9JJ0}4FJy8l}nWtaS#B6p#2CHKS+Q&pzyO`dyjTB^0;AGW-{uaS3l z?XZY=XXEo_iSOAir5#!}3)LTP^+>AlU46G9byG+CRTsS^z7+|Zq{M4x<1_4yIxt#aI&L7tG-B>_!@p zlj7;(7$PzCXrCe10RtZ9y=MQ5+uj&n@qfw8b#}_pwii>kes0RUs=!^WAoy4R%m(Jg zCA|q(-)&P9O_QBB|AV)M;+%jdp~sa^u2`X?n*LZVcT#!sdq!)84N^RcOLlW4m#5CU bzin^LejSbVEEit^?PKtC^>bP0l+XkKXSrF2 diff --git a/graphics/event_objects/pics/berry_trees/pecha/2.png b/graphics/event_objects/pics/berry_trees/pecha/2.png deleted file mode 100644 index a93a377388fff8f38eb018eb776bc0fe59eceed2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 274 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p zGr`lvF+^hOTt7>`!v;K;qinVI2e7?=w_xFZ&&H}xN{gR8@MqPyz*Fg5tMcN?(io3` zDK3lb8$A{pc7KwYz3HZlcD%yLqj^tQZI!sPwHV|srKJi#&z^NUFDhT~TIS_bZ?3(} z?bFzKJNxrjlf`cy-l~6cyy*(debu7(iBj$hTk<#a*~!|pA3c#6aX>I>PPF|8Ms8O- VX6wEZQJ~uxJYD@<);T3K0RShhZaDw| diff --git a/graphics/event_objects/pics/berry_trees/pecha/3.png b/graphics/event_objects/pics/berry_trees/pecha/3.png deleted file mode 100644 index 5cd4f5e3c61ed6d70f7cf8262bcc0b9a7e91e0f8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 271 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p z)9dNt7$PxsuD_ztVFMoSweluA;w=u8TyOZ3zB@X=qjt4}z3G;QJ&A?04osXGq3*ry z&7JwK5(%FzpI#F$h*>O{D9m?L_f5Iz`W-_f?Z+c{LI+SU>U;VZ0 zL78T`VeZ<@uVs&a*lcC4;>cuw_Lkdu-a)ksf`aQOE4|@VJ|-aeOxpexx3sd2<)=>R RNT91_4yIxt#aI&L7tG-B>_!@p z)8y&m7$PxsuD_xXlOfL<)xPa>9?M$_#=HD$UU{lBWk;>5CwH^6z-H^&XUlHin$MiQ zctS+x_N0B**^gLdl7cPdjda%(s7NoAjj?9(zJBPe>E>DT*Jnq~oLn)F^>o|3i!2WB zKKJ@K?diPu=3&1_4yIxt#aI&L7tG-B>_!@p z)8^^o7$PxsZl9vqVFMm#=j^as**$ON_&EF<-Un}3Bywc^Rn6x+mMI%=oOf^f(<%RC zoT7e-EG`wj&Aq9>I6L22!dCEkwZ5=rgxxCxmWJmCPo**DU(;fnAKkii%K1=r9}WGG z^UOh?&rB}eDG~EPe5&s2|2C|X`5e0p)*V;6<32@Mp)0@coVZWARf(*7*%zRT7(8A5 KT-G@yGywpaC}m;* diff --git a/graphics/event_objects/pics/berry_trees/persim.png b/graphics/event_objects/pics/berry_trees/persim.png new file mode 100644 index 0000000000000000000000000000000000000000..ff4d8f808a7d1d556d843f623a5c166e37867bf9 GIT binary patch literal 654 zcmV;90&)F`P)er2o~l|HYKvlyiGQLI0$* z)oOc-K~j{(_F9X*5HV7;q+)w>K{+`X|Ns900013rp2q+H00Cl4M@0Xn2lB-L0004W zQchCJ5Ouebj{!9ecL_)o=};u9Z9>EiY+nGc3*-i5 zkF>eL9)Tw5B3!0mPr*DpkdRHbreIdum#6u>*_nwD|MoXcdLrrh2fyhAA6PV22giXn z8109AU}TljT#ABHhK3wcMN)c5O7?Sv7ZK#Ze9}|nz4nqkvK?AHg=0dt$*-2*87#DA9HR! z2a*ibK#~F+%n7ZMKj7Lj7g8fIa)pL+r5=GxFP6as(~If>{H+#`;4>c1E>HxOC6`k; zw!Pf;(JiNbeh2<~TTLiBn$(zPmc%9lOUh65{K5)or5E!V_4XkRhkcS%p2#G>vCHk@1ux{bbxZR z?pmBoT6gILa%So_evj??`m)=cN6uVbq|F}NwCcu?1JhMWDA+=J1kp;`wUm()QyRfM ou3yNBG=?Ys)#v7aCVt$$0EF(^FX>!r_W%F@07*qoM6N<$f&y#{{{R30 literal 0 HcmV?d00001 diff --git a/graphics/event_objects/pics/berry_trees/persim/0.png b/graphics/event_objects/pics/berry_trees/persim/0.png deleted file mode 100644 index 1996615ff485e6506f5c336ca5e459d895da0519..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 248 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?C`;D^Y@eeO!GVz?vT6F;&k>x_xr$SOg@Lsy*<$RCwakz z=4jjFlG2xQ8V>j_a#nB8u$asd==0f9(Q1QHQP(Y}CBg~WmQz*U%sE+nS8JE{_t|$D vA7rjSfA?+a-dA}m%9%sAD%ra4|I8}z&}n9HfZ|f13m80I{an^LB{Ts5uN7$Y diff --git a/graphics/event_objects/pics/berry_trees/persim/1.png b/graphics/event_objects/pics/berry_trees/persim/1.png deleted file mode 100644 index eda84785fb9d026598fc0642096c290b2b4692e0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 249 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?;az#Oj5BWQoC-7@b;NDFOrzEdbUSGPv4z%g$ai(&%Ph11?{oI#srK(=6ul>i`zR{jD>)GRSpc5E8UHx3vIVCg!0J_?13;+NC diff --git a/graphics/event_objects/pics/berry_trees/persim/2.png b/graphics/event_objects/pics/berry_trees/persim/2.png deleted file mode 100644 index 6e71b378678948feab7d51b6e630a057b91c696d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 279 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?CG;YGZlk-#R$#Lihf3a5n<`$8A{Bx=p{DpXZ%$`VPNu|TgyP80~tJB{an^LB{Ts5)8uqU diff --git a/graphics/event_objects/pics/berry_trees/persim/3.png b/graphics/event_objects/pics/berry_trees/persim/3.png deleted file mode 100644 index f45bf0646163389d7c7ba00593594b1897baf06f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 275 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?;D65;wbSfb0J?o9Pn18*tHh=oJf<@_$VbR2`HtDnm{r-UW|sc&@u diff --git a/graphics/event_objects/pics/berry_trees/persim/4.png b/graphics/event_objects/pics/berry_trees/persim/4.png deleted file mode 100644 index a5aeda410131f5acf9ee724f69a11da1df54e9da..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 286 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?jwF{-%3^ z1jFtRllSk>Vg93Cllm=mVWMA%h{gKsq|hx|p&vE}FEo8Ug~?}%krMONv`&YUS#DD= zZA+bc=V)6#FekB;qtR$!h_?OcG?5o$>8bg=d#Wzp$Pzeqj;YH diff --git a/graphics/event_objects/pics/berry_trees/persim/5.png b/graphics/event_objects/pics/berry_trees/persim/5.png deleted file mode 100644 index 72c69c0688170e6a949dbc42c880e3b8dc4c1ce0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 288 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?G%wbFX$0X+4+z*y`y^Kg|k#B5!FL3XvFq05- z!P&Xz(tq-NFpoHK&7#BTX_|(T`RWAMRl>q9n|NHOwpcb6daAB$40@`>!>H+YFy^pF zlPOPn>QmtZ22q}7eg-mnhH?GE2V`1u-aUUC{J8YJX-({&t2@^IzWXWXkbHOf#xlV@ iO8d9p+5h|7?<;Iet_SgV+z$u2p25@A&t;ucLK6U8BX_m{ diff --git a/graphics/event_objects/pics/berry_trees/pomeg.png b/graphics/event_objects/pics/berry_trees/pomeg.png new file mode 100644 index 0000000000000000000000000000000000000000..78abc73eb13376cfc972ed8ada239f96180c90f2 GIT binary patch literal 588 zcmV-S0<-;zP)er2o~l|HYKvlyiGQLI2et z-kcC>ISA%bV#NS4VgMMNVoGW;F);ub|Ns90003V0bYTDh00Cl4M@0Xn2lB-L0004W zQchCz- zW+uP1Lw8L+A9wqM_nLEaJNy(_xWM9c;OI&pg?xe=j*j310C?~o-l-VgoMJ_J2jpW;1Hsm)DqwZ~0$cN?tE6Q^Z|8>p^fb)NPtK1qlGzQSo*3&YXhZr7Li a+v^KhBn~T<**vKL0000u6{1-oD!M3PL9yOtN850os>Y_sZMU=FXi$z-tCMrSS8k*JGu)50vd zH7*!#)~S7VhSkCC`4=yN=0w-$XJ#6wH;OPvZdSMzwl<2vFk_==%d^OoQU;&(n}Xt4 zljcU{tVr3)b|hkJMAlWQ4I%;#B6BT^8D@tw2);K?yu44|5a<#HPgg&ebxsLQ03p9! A$p8QV diff --git a/graphics/event_objects/pics/berry_trees/pomeg/3.png b/graphics/event_objects/pics/berry_trees/pomeg/3.png deleted file mode 100644 index d2475b74838f74bfb88dfc34bb2fb863bc52c426..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 253 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ zsrGbn43U_coUnj3LBHWr>3PL9yOtN850o@m8M^w_0jAYfUYA!ln1s8hXGT3`5=gF! z_;n`IVWFt;=>{ diff --git a/graphics/event_objects/pics/berry_trees/pomeg/4.png b/graphics/event_objects/pics/berry_trees/pomeg/4.png deleted file mode 100644 index 4f301921300766a71c2b47f0703bf4e5f0dbf634..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 258 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ zY4CJ$43U_coUnlLK@>ykniox6CS^`7JJK8^d9>3VmoA#t=(=NC`_ji}h^-M>SEV+H2snt$wJc_s9nO&T%II@mykniox6CS^`7JJJqFXs0*64E5d|*7)+=r7a~BDvp2Iu;mnM zf?HJ7Qyqciw8&p)W;!esoqJjPAkTseJ_gN+q7$}qC0)?sIJ@Bnm(ypRO;!xc!e?r% zXWHneYZkI8iaBXbl+M;H-Uu!Zg|2gREE~?MGxY8<7T5OgpAB>ggQu&X%Q~loCIHwn BVVM8` diff --git a/graphics/event_objects/pics/berry_trees/rabuta.png b/graphics/event_objects/pics/berry_trees/rabuta.png new file mode 100644 index 0000000000000000000000000000000000000000..b7a2c85d6e91a40c8039468047d5ae9de107f9c2 GIT binary patch literal 657 zcmV;C0&e|@P)er2o~l|HYKvlyiGQLCwwH zoSeN%N_%s?06}{I5IF$NVoH=bDN+ys|Ns90001$F0&@TW00Cl4M@0Xn2lB-L0004W zQchCy%A=J zG^v@3N8>z33aG#l`@%#ubMa^*8L4=r?;14PhGs4vbGs9b{E0yCjV%39&o9He}VI^~^7$mGM3MWQs? z0+1ljV_*RjbYASp7blB|yt_ix8TRDA;oKHQ#P>B#iz11^n=tt)^hiSA zTf;Emi}W$m3lQOCAs1a2lb9~>IZ9I|_+*L;WU5P;&E^KI(74xDXY!a#VF~+!1>VbN z61um#GH=U0R-LXe3^;$C&*eJ_ZN0sDd0$&TIQA^7>lGV#e3Ci|h0y-MY<-HR7LqWt rf=%rvoF*7YSZ&tJb4aT*`OEPMJaR>2=-kab00000NkvXXu0mjfvCkA3 literal 0 HcmV?d00001 diff --git a/graphics/event_objects/pics/berry_trees/rabuta/0.png b/graphics/event_objects/pics/berry_trees/rabuta/0.png deleted file mode 100644 index 5fe85e4e3f8e001abce7f3f1fd87cf9d50290a51..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 254 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p zQ{(C47$Pw>Ibi|!gD8fDmechT7>uX4=|zaLPU7&67M;Zw7HR6pD}bi+qt{u zt*pW0uqd&X!g5KMmWOBVTC*$YSr;>`KFnAsVmLwle9k4HI~Y7&{an^LB{Ts5!d+UO diff --git a/graphics/event_objects/pics/berry_trees/rabuta/1.png b/graphics/event_objects/pics/berry_trees/rabuta/1.png deleted file mode 100644 index 0973e21cbfc998bca8d9f9963c12fed0695974b8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 259 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p z)9C5q7$Pw>Ibi|&gO~#w7|ulOYS89#DQ?wcP@3Ryt0^_pLGj#%Eo)2!nzeO!IfB#; ze0-UW#Tcd@kbL>_rGnNM)2-zPdZIHU1&-ZK&3^B2<<8z>hDS$?**ENxVYsxxC|XDN>L#FL7(8A5T-G@y GGywp`#%DkP diff --git a/graphics/event_objects/pics/berry_trees/rabuta/2.png b/graphics/event_objects/pics/berry_trees/rabuta/2.png deleted file mode 100644 index c2d027ebd34e18371f946a087ddddc28dc19ed90..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 267 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p z)9LBr7$Pw>IbnfBfo{WvIo{$14Kux+#S2^;RSsPe)A63mAmZU2J$2eHhBFbnd^U^@2+8#X<01>r|r3sjEC z8XTLc+Qg?Y>-oE)>DCFy)^5?^c>HeD)^dfcclRtAE|xxH2s_WnuzQ1_4yIxt#aI&L7tG-B>_!@p z)8pyl7$Pw>IbnfFfuVs8gYh)I2VG3uEqV{USUG)tqc`a23aLz1_4yIxt#aI&L7tG-B>_!@p z)92~p7$PxsX}>MsAp@S)y+VbyS{L`~FJdoP-!LO$g;AQPi}DUe(=cXFrfbH7>Ec-qrKBclw9Le?ML>XtDf8ctmn&M%?t6yXPyv@04dgZ&MKH SuC5Jq8H1;*pUXO@geCw1LTsP_ diff --git a/graphics/event_objects/pics/berry_trees/rabuta/5.png b/graphics/event_objects/pics/berry_trees/rabuta/5.png deleted file mode 100644 index efa1ac89e19fc08b82de48da8d96f6fd9608314a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 276 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p zGs)A%F+^hO(tbm}Lk2vqd(FOQ3%n_HDVw9Mpf)W`aNhA*Sbnu4C|Y^>bP0l+XkKM(%As diff --git a/graphics/event_objects/pics/berry_trees/rawst.png b/graphics/event_objects/pics/berry_trees/rawst.png new file mode 100644 index 0000000000000000000000000000000000000000..e0bcac5322b4efe1fa69ad8e79ee54192b93e7f4 GIT binary patch literal 583 zcmV-N0=WH&P)er2o~l|HYKvlyiGQLCwwH zoSeN%N_%s?06}{I5IF$NVoH=bDN+ys|Ns90001$F0&@TW00Cl4M@0Xn2lB-L0004W zQchC=xkoF52?y#Zg5XT{%>WqAPJdFP#Z96u8Md>7e2_ie@lHTUhH2WJq2Dxr5K z5r2bT${L*t%hblqdijnb+KgBn;A|Ap>X0SDvJwX3rshls&AkZxaf-5m+2z!W&?Uho zir}E5GOr`KkSHRU!?w2Chw`vZVk!pR3#AIZP;J&kZX)2}`)pY5o*0urLDL{4VqN8{ z`sxSDk9gdfje#5GvP50FL!|QR0XvshE9WOdxR~Rn08|433RhpdR@n7i6kYTA)$S*v zTrAj)CUk8}8XdZ%d}#WZ)Xi~ora`2#FG V9ch1!uDk#M002ovPDHLkV1lBI^G^T( literal 0 HcmV?d00001 diff --git a/graphics/event_objects/pics/berry_trees/rawst/0.png b/graphics/event_objects/pics/berry_trees/rawst/0.png deleted file mode 100644 index ef35480028cdd6365d9f61a8227c87bdec61737f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 221 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p z6Yc5Z7$Pw>IYFZ4!JAl(y*H)KJhH91dF>ff$HtrAHko!5vLCVFPK(*rYETxx?JjT9 zhk1AR{^s*Idu#LZ?{{{xrmWdj{p`%$PzSc_t9F-%>oUyT!Ns9ab|52$f#H#e)|9Uy SoUeh_FnGH9xvX1_4yIxt#aI&L7tG-B>_!@p z6XogR7$Pw>IYFZ4!JAl(y*I_qJhIKMx%rH#W8=?t8%;Y3*^gLoC%rM<$CG^H9h+fA z{`-5o*_WifoqM_Z-5n;Qu)DU!&)#V%G-qGEyL+`*gHH@Ai-2{4i5>&P+O3-3pH49; Q1KPsi>FVdQ&MBb@0C9~~*8l(j diff --git a/graphics/event_objects/pics/berry_trees/rawst/2.png b/graphics/event_objects/pics/berry_trees/rawst/2.png deleted file mode 100644 index d89f7484e1fdaee05606b4d7bbbba0def902ce5e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 243 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p zQ|Rg97$PzCY_B0#gMk3cdcG&Fisvn~b-%`5YnuA>=%-aG0v^jh>c@37`4@DjCM2>y zsK5B~WlnVVX4Qv2;UA`N49IY=4-$EhslfPFviiNy3!#a>XE>}?EqQFntYfL57tmO- nVnJ9@sbHs#`N}`_Z}amsu9~X3$1_4yIxt#aI&L7tG-B>_!@p zli}&&7$Pw>IYHt`!*`}BdvdrH-$&)|V@Qd=x7Ym3m)Pv+HtXH}%Z|RgS39lo`G}zoGvwWq)&^oeZ9?elF{r5}E*NELq3^ diff --git a/graphics/event_objects/pics/berry_trees/rawst/4.png b/graphics/event_objects/pics/berry_trees/rawst/4.png deleted file mode 100644 index aada33789eb54cb08213208333da4cb94970fbbc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 249 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p zQ|{^F7$PzCY@Z=lg8`4LF}JO+nfLn32PeO9UE(%(SENlNhtu|JcaBc6s$em;{q*A} zUdXFobtrzke{uER91EamiY!xiTbP0l+XkK`N&~d diff --git a/graphics/event_objects/pics/berry_trees/rawst/5.png b/graphics/event_objects/pics/berry_trees/rawst/5.png deleted file mode 100644 index 311044bf0ba59b662e65d9676522f3b1b131e4b4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 239 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p zlk4f?7$Pw>IYDC2gLkYNxqHRWJllG2>#ubmbLIyYO-;Lg3An%CD>-E}zjZujbUZ?>^|z1_Pt>us7s lGvks%<11qKcHg+ez)+`WV7lJp+Zv$744$rjF6*2UngA?wW^w=k diff --git a/graphics/event_objects/pics/berry_trees/razz.png b/graphics/event_objects/pics/berry_trees/razz.png new file mode 100644 index 0000000000000000000000000000000000000000..70f56bc8b658be908b2ff4201ac7164997e9ac63 GIT binary patch literal 766 zcmVer2o~l|HYKvlyiGQLCwwH zoSeN%N_%s?06}{I5IF$NVoH=bDN+ys|Ns90001$F0&@TW00Cl4M@0Xn2lB-L0004W zQchC497#k#e_n% z{(z?agBHjfw`r}02RFQ&0>wd<^6s$vB?&;clsIOY=QKBNs8^yj zn632u5HWS3b>L(*6Cwxwycf_!>87F;|85A$LCW?aNBWCaCta&lOM>XEd-ZAH`+_V!Z literal 0 HcmV?d00001 diff --git a/graphics/event_objects/pics/berry_trees/razz/0.png b/graphics/event_objects/pics/berry_trees/razz/0.png deleted file mode 100644 index 4685d0977cbcb92e7e8b564221e2a558693c51f6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 243 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p zQ|Rg97$PxsYQHUCg8@hD?o)pY3Z}c{DNPP$SD!ZNl&0(2=E<59KJdQ(I5{Z2!R&;0 zvr%ngLGpbj9!o8q4)1w^!XA5#)HFf@cRW2-ep}Yv-pQwD@x-{iMM8Cxvvj5=m-1YA n&M>`L6q`|FrCy6jH?TF&6<>gTe~DWM4f>lRxJ diff --git a/graphics/event_objects/pics/berry_trees/razz/1.png b/graphics/event_objects/pics/berry_trees/razz/1.png deleted file mode 100644 index 396122c5b9b151d93e6bde9e1f0a7b7133225a32..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 251 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p zQ|amA7$PyXw|^twVFezSnSbkDxU9ntwYzWyFJE=)32Vzc?c@&Yl9eAGrO!VnbIx~K z#PXC6H*-R-xla(9XL;p{YS-z1e3x|R^xtsJ-1+fC;OQ3(1w|KTcFTWzCHf)g#MH@M xRWo+{Ox@GQ-5$a7=h;u@uUl5M+1_4yIxt#aI&L7tG-B>_!@p zGuzX}F+^f&ZJ#0EAp;)Qz1O~bvwf>+WIq>Z6`~U|H(;9E%62(!$M!jmTQXH!SmORo zew$yvsDITTHpgvj1+k5dM#0Hp7h0Ai%k8+Lo^E@$XYUsSb}ozk@Ax@fbDzIl$!nNd z9<={QMPzKq+|aX9M{dr@XXh~BofPly=p&M3e1_4yIxt#aI&L7tG-B>_!@p z)92~p7$PyXwBMHNumMl&UbpYX?Qg^mvTGizw$5J3@jgScr0vv3uBA(&{(PJ_zb@#P z-VyKenG0f^9|SW_wP}zz^Z2{+?YyI&-KELq<#(;7Tz7dA7M|~LjpvGOACu>!!n38{ zzH{pBd|bfO%U8G7e7Xj+h4?|GjkkoVV-IX*f1xjsFLZs2W?-)11_4yIxt#aI&L7tG-B>_!@p zGt1M(F+^f&ZJ#0EAp;)Qy+WOjRhg^ToMK<;q$Z|vMUy-1M-w+gdqSSR^DP%qo)6;o z^*^KMzi?JF4Om%xI7WAK(^hVt1h!M}EZyG=$*#SfzRf!5U0d*ZCrQQQ4Ial9ymwID zzW4m{5XR|3$6w5ycK=n&&zx41G*O3VMjwC4@O$^a{J1Fpz}nCl>*MhWJ65}&S{UW# f)UA3UelMdNvy&o6_ET4&D;Ydp{an^LB{Ts5U3hO> diff --git a/graphics/event_objects/pics/berry_trees/razz/5.png b/graphics/event_objects/pics/berry_trees/razz/5.png deleted file mode 100644 index 7ae7b7bbacd235f58980cc2fed1a75d45300437c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 294 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p zv&7TIF+^f&X}>MkVFRAltx*#m-*jHMxOH-~#P#6mPMb1~j=5*N;Ej4Q?~C5o_=VnE zUN~>MU(NJm{T1t|Jb{c=u@S2#w?v6Kc)2|N>KpXMD)_>w^HZi9&hXw+!sH^pmpd}S z|C-7dhTE~)Y;1R$WLE#Pv|f_UCZC~`cEV$G$kmieJ>3%<_C;+;tlg6G=yM*YtN$#~ qK8BM8`;ToE^jlZ|`2I=uudIEc4#pbJ=RJV#W$<+Mb6Mw<&;$VBLU;lI diff --git a/graphics/event_objects/pics/berry_trees/sitrus.png b/graphics/event_objects/pics/berry_trees/sitrus.png new file mode 100644 index 0000000000000000000000000000000000000000..bdfece860849f8a1f2483da94b43fc256f8f1031 GIT binary patch literal 709 zcmV;$0y_PPP))VX{B000+sMObuGZ)S9NVRB^vM@&RePDdbiWpW@hE;Mn4q~QPn00?w&PDe*f zL^A*Y002sWDIWj;00d`2O+f$vv5yPer2o~l|HYKvlyiGQLCwwH zoSeN%N_%s?06}{I5IF$NVoH=bDN+ys|Ns90001$F0&@TW00Cl4M@0Xn2lB-L0004W zQchCV_%5M-ML?i0xmQu`Y`K--hB?j?dMHx}S41U4kB zE%X85{DB~VV71l*tN?sNW=R;4e7UO=Hp3b2EO&W(#{3tH!aN_X$hU!?xiJraH%y_S zk4?=$k;8SsXa2`fk&?9?B18ja%&~ThaAm+bB7hp$jXA8YWcU(b+<|I<6xp^i=7wC& zK%LVJh1xbuAp#$<>1(ZRZ%8Dvl|WGg7;=BZaaCj$YOTm1`ND!5)mTbu*EbxcND(Np z3bfBTc^_zz-=PEjx^ON=loY*J!Ng(=aesJ8)^XhCyz!nRuhw2U7b9x4u2q3-F*0#} zcMA!!J-lqJ6S94BY=cyz==ZZKP%K7?sMT(>#GM+SI7){{gct=z#todJO@hp7WR7Vm zlJkY+>9H7-M&I|O#vYGD?0eZP*+?-4^4>3h9WLa%Y6SP`UUfC1>7)vpP7o4a1HJfd zF2+uc%AZ%^!>Bz(C+NYpP%N64*2ykJ4czCx@J=d!UglMpl%+H#G@R#fyqe=Y{%h+u0TP1-@3flw00000NkvXXu0mjfR$MJr literal 0 HcmV?d00001 diff --git a/graphics/event_objects/pics/berry_trees/sitrus/0.png b/graphics/event_objects/pics/berry_trees/sitrus/0.png deleted file mode 100644 index 64671e0a1fe3e669acc7582665d6f776bedd1a3d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 260 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p z)8y&m7$PxsYQG_ulOvDI_P7s1_cB>7t3Q}`%&j{iNphe-F#v#Phm(ui{#u8pGjjrPs6|JlbQ))3n2DrgPa!Oj#bI@xZMuxkVtS z^L3}#1_4yIxt#aI&L7tG-B>_!@p zQ}5~G7$PxsuKz|}CP$v#(>!zz`q_1U@hnshj4hsc&w2y%qI7Yg5?<9M8v#^+_k!zcr*|Emk;xT&*5{a$!TLid zKNyvlyU#k98uL`p;c0N^owMh@$G)ko%z66t_2m3j0tUBt|6Q{Z=oAJ|S3j3^P6w diff --git a/graphics/event_objects/pics/berry_trees/sitrus/2.png b/graphics/event_objects/pics/berry_trees/sitrus/2.png deleted file mode 100644 index 7a382402a0af09dd5b7ac79bedfe44d284f460f3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 296 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p zv&_@QF+^f&?FB=w!v;L80q2|MEi!*`CtD-nz1fm>uDF~R@xAOh%^9vF})pt#}XmRJ1Qxe|_cE;PS@1L)iTV@mH rvpjiS?`LiMtn7K8_Ou@R%m0JPtj34kx?z12(8Ua%u6{1-oD!M1_4yIxt#aI&L7tG-B>_!@p zv&PfKF+^f&Z~sQl!v+Gb>%}U%awb@1pGf!`w6Hd51NUOLwm(YT5~+Dg&d+&>`F4gRsq$}caRJP1oz}GHxkHim$ zjmhig8n@(CT)EZss8>ANv`u8z>UR=L=CIEQXMFz0Y>mj)3v;7SHeA{!P&`3itv%$x y#H}+f%}BJGA0(!?{>zz5HcNkI1orH&-p}Y?@2lZG@0dBz-3*?telF{r5}E+FwR^?@ diff --git a/graphics/event_objects/pics/berry_trees/sitrus/4.png b/graphics/event_objects/pics/berry_trees/sitrus/4.png deleted file mode 100644 index 1e6ff683899e6333ef26db80e8f06e3fe2bf41f1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 289 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p zGvCw2F+^f&?Sze-%!WL!vD`+kW*&1*Q#z_=AD%2DcW|oo>;OLPLo_P7eFrgwC5A4yag3G`7p>i98p&bnU?n zDOZ_pQyy2FB$p7q7nPk|GOKh>BpxV!t8nX=pvM`{V~$Fn5550AV|v(j#IsXsFogZ8@Q`TuE0G-O<>FVdQ&MBb@0B*r@vH$=8 diff --git a/graphics/event_objects/pics/berry_trees/sitrus/5.png b/graphics/event_objects/pics/berry_trees/sitrus/5.png deleted file mode 100644 index cd97f552f3b1a7f65da3bd5383444244295792e3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 287 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p zGuP9_F+^f&Z~t!I!v;Jqq1+!tZYq>sThRU5m1WkE4;<^R1aRcB`%XC4k^NpM%5Sn7 zhqRqc|9*jg-4S*PKiJ%y7do$1vXu7{l8o(~H`lA9>_DPA@7|U|w&IV9R^g#6NwY$Q znkBQD1e7+PaLNz=y04o3>Z^oDA7EkRZ{wVvx-R;w!(i^vKCGL)k63<)z?aifq iTmSw^im3npm#yQr8=u^Hm$yKNGI+ZBxvXer2o~l|HYKvlyiGQLI2et z-kcC>ISA%bV#NS4VgMMNVoGW;F);ub|Ns90003V0bYTDh00Cl4M@0Xn2lB-L0004W zQchC1pw6oxez0s&n@E))V@OeaGiv|jC1&;w))rcexq zULZ#>6hb^y2->q4#n2E?r;s5~ouPV?oyrXbFWK^zPx}A&KRpwI(6z30xr$>0FP;tS z_mnc7soD<f%YYoQ`F<%8Y{JOR~pgh%%$#F^~t$8j5%*7 z=Y1l!>@%Go0r;?}&E&U7JGrA|OX&vmN@k}orM}_*NegOMvc!ayM32Ifl~PmgKGgAD z-zQ3~LBGxE6L6Q)m)Z#kU;v!(bpSf&W)NXT>lfhb6DxtjXJrThfBR|-u{Ao{uyX47 z2qjU~z)L|?2|XzRYQX~?eh3^@wc{haA!Mo#p76uz?3Wl=pHuI4_dv|fH}`gD%T5<0 zj$L0LlEyX;Bf^c82?)MyLi1$Oz_)o)7px{*zYCy5%EoDcyQ`o1r$5YKUbub$L~X<_ TjPNF@00000NkvXXu0mjfh_LFk literal 0 HcmV?d00001 diff --git a/graphics/event_objects/pics/berry_trees/spelon/0.png b/graphics/event_objects/pics/berry_trees/spelon/0.png deleted file mode 100644 index 32bd06af1b155efc145e69547742d90ee615995b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 213 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ z3HEex43U_coFH+eA)9f^#zovt_hT=Xio1N)T03KD3FFLz1(`>6VmC;|uRa=nAWKhM z^Jdc$Joqojh_jh-PE4c06kxOfw!SJZHiCySv2$WZT#nk^?k9)M=Og1zOJF>FVdQ&MBb@0L77E761SM diff --git a/graphics/event_objects/pics/berry_trees/spelon/3.png b/graphics/event_objects/pics/berry_trees/spelon/3.png deleted file mode 100644 index 6a7099d834c634d221a8bb8f721bc92ee4841b97..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 243 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ zDfD!443U_coUlMUp|G&Q;LknVMvgt+)z29c_cR+k2;zxZ9p)&p=lmzV2FdUD_EvL? zU8wq=C+N`;o_SSEb;F&d(wj>TKKl`+yN}7J}Q4P6lbtSkmO}1+<*O)78&qol`;+09m_Wi~s-t diff --git a/graphics/event_objects/pics/berry_trees/spelon/4.png b/graphics/event_objects/pics/berry_trees/spelon/4.png deleted file mode 100644 index de1c24e5877a206fd640e7faed63eb0be6a0016c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 230 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ zN%3@X43U_coFI{LAdVq*O1m@bA@7AwPoD-%d>SY)@%6*d1lK*Uo<4LHci>qn8tSFM zcKE62=A46B6>G(sSu6B4rEfMxOrH`HGo|EUSMB-+(a-nxR$muibK?8EyV?TQF)+N@&G3S|vDQoY({&o`zCg`SzNQzz+l zEZmbcO|awO>g=sQggm;wPuet5cgDgckCw0`{)lr--EfDMiG9OGJ-rB7b_UTp*`PM@ R2$1U;JYD@<);T3K0RU^MP?-P# diff --git a/graphics/event_objects/pics/berry_trees/sprout.png b/graphics/event_objects/pics/berry_trees/sprout.png new file mode 100644 index 0000000000000000000000000000000000000000..8fee510bdcb901c93a14050fb11114fdf616ea70 GIT binary patch literal 337 zcmeAS@N?(olHy`uVBq!ia0vp^3P3Et!VDx^^%Amx6nlxMuPgf_4o)!^ezOQ+Q=pJ| ziEBhjaDG}zd16s2gS(Fl&=`fX)FK6AJ(I%LB@cm0I7$lq+<`L2KsJL{gQh%?Vo7)O zb!1@J*w6hZkrl`{2=EDUEk3&B|J5!3k50KarMTMB@$A`qbLQ;z@~ST0%ivheAYjRG zHpy#>rDl)-!~g&Pftn0En2LcEW0JSK%m1b9pN@h!B|(0{3=Yq3qyae@o-U3d6?3Nc zS@Sg*@Hp?C)a=&Lte`C{>@?SEq1o~!4~QhJMGL_Ej7o=hc@o9Pig~ UepSx=4`?TYr>mdKI;Vst0LKY%Qvd(} literal 0 HcmV?d00001 diff --git a/graphics/event_objects/pics/berry_trees/sprout/0.png b/graphics/event_objects/pics/berry_trees/sprout/0.png deleted file mode 100644 index df37532a70230f2202ddd96399a8a47f5bfc588e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 200 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUEk3&B|J5!3k50KarMTMB z@$A`qbLQ;z@~ST0%ivheAYjRGHpy#>rDl)-!~g&Pftn0En2LcEV@Z%-FoVOh8)-m} zo2QFo2*=Figaa&dR*M;&iQ-K0dHv$in-?<<9N4gCak8uXZ6-Fhbz8PbW=1Nwt_~|* t8^sxR?kelm_V$g7k{Lr%M8&u#GBC)`7cu{F{tn1Q22WQ%mvv4FO#t6>Na_Fp diff --git a/graphics/event_objects/pics/berry_trees/sprout/1.png b/graphics/event_objects/pics/berry_trees/sprout/1.png deleted file mode 100644 index f0a67f382cd5af3c0bd52369b3878fb92fca704d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 198 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUEk3&B|J5!3k50KarMTMB z@$A`qbLQ;z@~ST0%ivheAYjRGHpy#>rDl)-!~g&Pftn0En2LcEV@Z%-FoVOh8)-m} zi>HfY2*=Fi1c!#m)e0u*ZpWDnnz>Irh+$3AKOM1Q(PD0uEo)XUR_4~ZIdK|W*s-fy sxfV@a&7CEnmdtv^g>79ZPX!|bV~+?g_p_4uK=T+pUHx3vIVCg!09F=5ZvX%Q diff --git a/graphics/event_objects/pics/berry_trees/tamato.png b/graphics/event_objects/pics/berry_trees/tamato.png new file mode 100644 index 0000000000000000000000000000000000000000..d0770746bd2677eeda02fa53ddc4480963172002 GIT binary patch literal 645 zcmV;00($+4P)er2o~l|HYKvlyiGQLI0$* z)oOc-K~j{(_F9X*5HV7;q+)w>K{+`X|Ns900013rp2q+H00Cl4M@0Xn2lB-L0004W zQchC5LM?H9fO7gq~IiQ1iRIcNetltu_$QKs$kp@ z&=#~5xe#!Q>}vhPWK5MV+r0Peefw6nl=?3&jTJ%sRX_9}t-L@NNnbxyC<-XK5rp)0 zCsG2yS?l9KBKV*?k>b?!d>tpd*xA=@q|$+%fs(B&X)?X=Q1*2jNh8=9Jb-sMnoK0v zQuMmfZKMXv&R_$ArG^c7nqD^gGmpAip*9?^4ho=#%f-6Fl_6ht2&a1;~h_% zq9~9CoE%N^>M+ej?`I3v%?eC-N4(l%$17rRc83bd0Ia{#h4u7Rj#gISGjpUyA1*ik z27sQ3PO}hlqtqcszx{|`RU+eIpws}clRq1Y&X=&AW}@F_M$tYJsflqU0#tWL2m>3K z?8(3@1Rp1Q5AhCQd3QSz4{0XkJvA{&{&c8F@@>ShI!7R#8_`LwIxFZPBzciW^;#Kv zx?Q2Zw)68as#Uc@@}#jb)TA*?hEXNsJ51&iGlb+EnJ&&pqwx@ub#jNv{A`Ahs)tVx f-LJ$9;~&=#d{j+Y;w9b=00000NkvXXu0mjfu!9U9 literal 0 HcmV?d00001 diff --git a/graphics/event_objects/pics/berry_trees/tamato/0.png b/graphics/event_objects/pics/berry_trees/tamato/0.png deleted file mode 100644 index 499e473bc176d2c0378afc8fc323abe3f42c583b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 245 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?s&cOR{N_q%R8 zA-;c!i$$!%jMdE?;^ACMV(nZZn!FLbcOE1$F8q?Ilx=%fxJD~F^lf#6-k!D{S!KuM qkBe=%&zLEh))y6Z{QBab%5uNhjI-D!RxATr&*16m=d#Wzp$Pzj)L^v$ diff --git a/graphics/event_objects/pics/berry_trees/tamato/1.png b/graphics/event_objects/pics/berry_trees/tamato/1.png deleted file mode 100644 index 2c45d60d8dee37e0387e3abffc47f5d6b37d76e1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 234 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?%QHW+ZURvW*Rh?6gTe~DWM4f(c@jX diff --git a/graphics/event_objects/pics/berry_trees/tamato/2.png b/graphics/event_objects/pics/berry_trees/tamato/2.png deleted file mode 100644 index ef3ac700bca369d813283c8d4791e596cffe47af..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 269 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?wM+Z$htrql&$u&r*)zYx2D^%m@E42M|NG6fbGmh_YCwA* P&{+(gu6{1-oD!MfS407_?;hhwg^`%9pbQpZI>{_3Sb!~}zIYqOmUB7j*$-;*( zKihXq`KR;!UTd?PKq9xJg-Z5<+$5K%^u-zpF%S7n16qS3JhI*>x}2SJr{#Lb;jK2w z#vAeqxj%gVT5{Vu=KhA7!!=(LXMR@nxx7@n`kw*+&*!`K`{&!(-8=3f4s;KLr>mdK II;Vst0G~i^u>b%7 diff --git a/graphics/event_objects/pics/berry_trees/tamato/4.png b/graphics/event_objects/pics/berry_trees/tamato/4.png deleted file mode 100644 index 823ff49a7e0fb31879eb47086194a4649fca36b3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 273 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?J@& z{|-tDIASd~`MNmk1m?LX%;XE+C&(Tx&7ZBC-c!0OmB&<~&D;CihtRTz&+F}f->~Ma TfBHln=rjgTS3j3^P6fS407_?M*diSSZ@{+`soJWE|zYnppODKF|@mQ6?l&=5a>jshVMmE!` z@2a()$NorKZtn?PsmxHdsv&Tx%7GwHhL~(wqrfiFYX>?P9D1{kBjUK(_6C#L*LS!~ z`&fSB&yJPG7vJoO5YFW){hb=JLtOexUvXx;?|p+eH~pILx9+nyUHZd$^H=-(e;FPr WTHm!h)qD=er2o~l|HYKvlyiGQLI0$* z)oOc-K~j{(_F9X*5HV7;q+)w>K{+`X|Ns900013rp2q+H00Cl4M@0Xn2lB-L0004W zQchCKX>(NLiAFH0pqKpP}!aDd41nwUv0w@BQTW=k5~5KH^^uZkoxi z??oOolU?6ikOwpg40zytv~2jRP0j)O8^ElHY64VQ?Y#=1v59-w$2>h%Jc!SJ%G?xzFHU4> z&{Mzm?maqA5K>Vm7gDz)R`fTi-+zd>O?@i`6jG;MEg~*cU!h~6#tGO67oLz2<6C<; zutUSGe`X(a#I@+&&$Z#&&*nl$c!To9Pw*D`g&5$`ut7=JaQ*H4kqXu4)5>w4NsR?U z9}bi-tk9=QVB^B0g8xmUM?doZRS%akNi-^4p5Y_>Jlu znHK^~CS&@ch<|Z>);h^+@=gK(F(wFllO4yxY}9R>8ir)>{8qe}Ca!6~9R=ta^1r&DlGoY(0C$*4^8r$|hUy@c)nB Xe5etCbKiYv00000NkvXXu0mjfOhqxX literal 0 HcmV?d00001 diff --git a/graphics/event_objects/pics/berry_trees/wepear/0.png b/graphics/event_objects/pics/berry_trees/wepear/0.png deleted file mode 100644 index ccf834a94efcb119f3125bceb0aa4be7c24d2d27..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 244 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?sJeF*@;dw-6MOW;} z8%J(>aB76)EYVoP6Sn!L$BkVKYihs0dz*0d+11fS407_?1_#YhiC3CKkqQ7@EOm8IuY0000mP)t-sbH$|p z)wKV`l-`tcdqF|}q_ov)dy7F*l*RU1i@gvrQnaLEdvifKIT-){{{R309c`Y+00001 zbW%=J06^y0W&i*HnMp)JR2Y?GV4xmgFMu)%#i0U);$Wfja=XXnv!)qnFB?{4gH=d7ZxxS**$g?v3sP>!2a}|iSxU-0uaMU8N^_yd#osE_Z(#2?#;%# z3%~~M-n|`Ups;y)dAT7_sQk`Bn=?QW2HrCVZSR0AJ$u>k@ZAGI#+kd9ZNUtlvv=>F h0XvN6%o!s61OQ@NI7+)vW`FfS407_?Rt$ z_37^Ne0IYdr%xYbGd8$mnUTkn^l_eLMzv(h-hPtDnm{r-UW|K;wB> diff --git a/graphics/event_objects/pics/berry_trees/wepear/4.png b/graphics/event_objects/pics/berry_trees/wepear/4.png deleted file mode 100644 index ee242d65767a5d80764a2a00574935083697c885..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 284 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?9S+*PcGzSfjjDdtcWnhmA?jw@*7ga}X?a zb{Bklh^b8}HQ7BfS+$g{ELrtt_w*j_1|H?u>8BmooVRX#6#MwC!soJlvwN`&W(D8h zy;WdtJ$w4}Y2HSsr{#RN<}h{{e3)mMQO%z6^5*Hb_V;oOM(6JA&EZb_FlTS|cb*%G fHtFXCUaB)Rlo%FWnzTp|=t>4pS3j3^P6fS407_?%n>cKU2j&eh&gZ|F0bNf_z4*e zWj&?pz?~8ri{5A?Em;$C?m(W-qiWBS5wa%?c0F00!(+1P){n0BAIm2E-2FZ79`B~b zD{8*Kd#k`!U1@nEfvwG&{cNwJ&OKxHT>a)X_SH8(e7MW(aBSx8>A44a=4~#2KaWxS gnPqXChdv`i@(F|WFUzj%0lJdG)78&qol`;+0IV;0761SM diff --git a/graphics/event_objects/pics/berry_trees/wiki.png b/graphics/event_objects/pics/berry_trees/wiki.png new file mode 100644 index 0000000000000000000000000000000000000000..a78d55db4f9ccb0d0892e8a9730d44f3535d9693 GIT binary patch literal 640 zcmV-`0)PF9P)er2o~l|HYKvlyiGQLI2et z-kcC>ISA%bV#NS4VgMMNVoGW;F);ub|Ns90003V0bYTDh00Cl4M@0Xn2lB-L0004W zQchC77Dk>3T{XS!|Z4{JJQkaf#@43T)?R3dcPU2 zbY<|L51W*oZ;dJ WIrgf*C*A<1oSjcQbTw!lI>5#t z`SNn(jDNkZY`%t!uBH5PYR^I#Th@hzr5dh863 Xs}&107wCHdZDa6s^>bP0l+XkK2w+cb diff --git a/graphics/event_objects/pics/berry_trees/wiki/2.png b/graphics/event_objects/pics/berry_trees/wiki/2.png deleted file mode 100644 index e7d6c3824c909e176aa9a772b723a4642921a5bf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 261 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ zY4&t+43U_+wcnQSumMNwUd5kvOUw(F_(f)!ho9i&a(;Sr(&4jvp75|v+8G`3g8PA{`yM9|NWns6XqKIko)8?2k0CIPgg&e IbxsLQ08p-NRsaA1 diff --git a/graphics/event_objects/pics/berry_trees/wiki/3.png b/graphics/event_objects/pics/berry_trees/wiki/3.png deleted file mode 100644 index 6447302a6a397eec971698d1fc3ae6476fe784f3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 258 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ zY4CJ$43U_+_54QO76TsEfbwa3<~t@eELqCP=a$ga&FvyAvRN|RfcfCUeSIdCr?!8Q zZ4f_aFhzQ1wDa*8>17cPj*DEkv@qG$@7}+(yTz72adDDj(c}vQ}WLj*5DEXZJz}=2NG&(x$dH`Xt30 zcH8o%2wm@rq_R&s Date: Fri, 10 Aug 2018 00:20:19 +0100 Subject: [PATCH 064/234] Merge remaining overworld frames --- graphics/event_objects/pics/effects/arrow.png | Bin 0 -> 430 bytes .../event_objects/pics/effects/arrow/0.png | Bin 185 -> 0 bytes .../event_objects/pics/effects/arrow/1.png | Bin 183 -> 0 bytes .../event_objects/pics/effects/arrow/2.png | Bin 183 -> 0 bytes .../event_objects/pics/effects/arrow/3.png | Bin 185 -> 0 bytes .../event_objects/pics/effects/arrow/4.png | Bin 185 -> 0 bytes .../event_objects/pics/effects/arrow/5.png | Bin 183 -> 0 bytes .../event_objects/pics/effects/arrow/6.png | Bin 184 -> 0 bytes .../event_objects/pics/effects/arrow/7.png | Bin 185 -> 0 bytes graphics/event_objects/pics/effects/ash.png | Bin 0 -> 400 bytes graphics/event_objects/pics/effects/ash/0.png | Bin 168 -> 0 bytes graphics/event_objects/pics/effects/ash/1.png | Bin 191 -> 0 bytes graphics/event_objects/pics/effects/ash/2.png | Bin 194 -> 0 bytes graphics/event_objects/pics/effects/ash/3.png | Bin 185 -> 0 bytes graphics/event_objects/pics/effects/ash/4.png | Bin 163 -> 0 bytes .../berry_tree_growth_sparkle.png | Bin 0 -> 308 bytes .../pics/effects/bike_hop_big_splash.png | Bin 0 -> 389 bytes .../pics/effects/bike_hop_big_splash/0.png | Bin 192 -> 0 bytes .../pics/effects/bike_hop_big_splash/1.png | Bin 193 -> 0 bytes .../pics/effects/bike_hop_big_splash/2.png | Bin 193 -> 0 bytes .../pics/effects/bike_hop_big_splash/3.png | Bin 169 -> 0 bytes .../pics/effects/bike_hop_small_splash.png | Bin 0 -> 313 bytes .../pics/effects/bike_hop_small_splash/0.png | Bin 167 -> 0 bytes .../pics/effects/bike_hop_small_splash/1.png | Bin 176 -> 0 bytes .../pics/effects/bike_hop_small_splash/2.png | Bin 152 -> 0 bytes .../bike_hop_tall_grass.png | Bin 0 -> 321 bytes .../bike_tire_tracks/bike_tire_tracks.png | Bin 0 -> 295 bytes .../event_objects/pics/effects/bubbles.png | Bin 0 -> 664 bytes .../event_objects/pics/effects/bubbles/0.png | Bin 186 -> 0 bytes .../event_objects/pics/effects/bubbles/1.png | Bin 207 -> 0 bytes .../event_objects/pics/effects/bubbles/2.png | Bin 233 -> 0 bytes .../event_objects/pics/effects/bubbles/3.png | Bin 235 -> 0 bytes .../event_objects/pics/effects/bubbles/4.png | Bin 231 -> 0 bytes .../event_objects/pics/effects/bubbles/5.png | Bin 205 -> 0 bytes .../event_objects/pics/effects/bubbles/6.png | Bin 185 -> 0 bytes .../event_objects/pics/effects/bubbles/7.png | Bin 160 -> 0 bytes .../deep_sand_footprints.png | Bin 0 -> 312 bytes .../ground_impact_dust/ground_impact_dust.png | Bin 0 -> 313 bytes .../pics/effects/jump_out_of_ash.png | Bin 0 -> 462 bytes .../pics/effects/jump_out_of_ash/0.png | Bin 175 -> 0 bytes .../pics/effects/jump_out_of_ash/1.png | Bin 191 -> 0 bytes .../pics/effects/jump_out_of_ash/2.png | Bin 208 -> 0 bytes .../pics/effects/jump_out_of_ash/3.png | Bin 196 -> 0 bytes .../pics/effects/jump_out_of_ash/4.png | Bin 190 -> 0 bytes .../pics/effects/long_grass/long_grass.png | Bin 0 -> 516 bytes .../pics/effects/mountain_disguise.png | Bin 0 -> 523 bytes .../pics/effects/mountain_disguise/0.png | Bin 221 -> 0 bytes .../pics/effects/mountain_disguise/1.png | Bin 248 -> 0 bytes .../pics/effects/mountain_disguise/2.png | Bin 241 -> 0 bytes .../pics/effects/mountain_disguise/3.png | Bin 237 -> 0 bytes .../pics/effects/mountain_disguise/4.png | Bin 217 -> 0 bytes .../pics/effects/mountain_disguise/5.png | Bin 200 -> 0 bytes .../pics/effects/mountain_disguise/6.png | Bin 164 -> 0 bytes .../event_objects/pics/effects/ripple.png | Bin 0 -> 349 bytes .../event_objects/pics/effects/ripple/0.png | Bin 161 -> 0 bytes .../event_objects/pics/effects/ripple/1.png | Bin 171 -> 0 bytes .../event_objects/pics/effects/ripple/2.png | Bin 166 -> 0 bytes .../event_objects/pics/effects/ripple/3.png | Bin 176 -> 0 bytes .../event_objects/pics/effects/ripple/4.png | Bin 166 -> 0 bytes .../effects/sand_disguise_placeholder.png | Bin 0 -> 442 bytes .../effects/sand_disguise_placeholder/0.png | Bin 210 -> 0 bytes .../effects/sand_disguise_placeholder/1.png | Bin 222 -> 0 bytes .../effects/sand_disguise_placeholder/2.png | Bin 212 -> 0 bytes .../effects/sand_disguise_placeholder/3.png | Bin 207 -> 0 bytes .../effects/sand_disguise_placeholder/4.png | Bin 194 -> 0 bytes .../effects/sand_disguise_placeholder/5.png | Bin 183 -> 0 bytes .../effects/sand_disguise_placeholder/6.png | Bin 166 -> 0 bytes .../sand_footprints/sand_footprints.png | Bin 0 -> 291 bytes .../pics/effects/short_grass.png | Bin 0 -> 274 bytes .../pics/effects/short_grass/0.png | Bin 159 -> 0 bytes .../pics/effects/short_grass/1.png | Bin 156 -> 0 bytes .../event_objects/pics/effects/splash.png | Bin 0 -> 281 bytes .../event_objects/pics/effects/splash/0.png | Bin 160 -> 0 bytes .../event_objects/pics/effects/splash/1.png | Bin 163 -> 0 bytes .../event_objects/pics/effects/surf_blob.png | Bin 0 -> 477 bytes .../pics/effects/surf_blob/0.png | Bin 241 -> 0 bytes .../pics/effects/surf_blob/1.png | Bin 244 -> 0 bytes .../pics/effects/surf_blob/2.png | Bin 238 -> 0 bytes .../event_objects/pics/effects/tall_grass.png | Bin 0 -> 465 bytes .../pics/effects/tall_grass/0.png | Bin 199 -> 0 bytes .../pics/effects/tall_grass/1.png | Bin 227 -> 0 bytes .../pics/effects/tall_grass/2.png | Bin 219 -> 0 bytes .../pics/effects/tall_grass/3.png | Bin 205 -> 0 bytes .../pics/effects/tall_grass/4.png | Bin 207 -> 0 bytes .../pics/effects/tree_disguise.png | Bin 0 -> 561 bytes .../pics/effects/tree_disguise/0.png | Bin 270 -> 0 bytes .../pics/effects/tree_disguise/1.png | Bin 278 -> 0 bytes .../pics/effects/tree_disguise/2.png | Bin 248 -> 0 bytes .../pics/effects/tree_disguise/3.png | Bin 249 -> 0 bytes .../pics/effects/tree_disguise/4.png | Bin 227 -> 0 bytes .../pics/effects/tree_disguise/5.png | Bin 216 -> 0 bytes .../pics/effects/tree_disguise/6.png | Bin 164 -> 0 bytes .../event_objects/pics/effects/unknown_17.png | Bin 0 -> 663 bytes .../pics/effects/unknown_17/0.png | Bin 251 -> 0 bytes .../pics/effects/unknown_17/1.png | Bin 248 -> 0 bytes .../pics/effects/unknown_17/2.png | Bin 250 -> 0 bytes .../pics/effects/unknown_17/3.png | Bin 250 -> 0 bytes .../pics/effects/unknown_17/4.png | Bin 242 -> 0 bytes .../pics/effects/unknown_17/5.png | Bin 240 -> 0 bytes .../pics/effects/unknown_17/6.png | Bin 240 -> 0 bytes .../pics/effects/unknown_17/7.png | Bin 245 -> 0 bytes .../pics/effects/unknown_18/unknown_18.png | Bin 0 -> 460 bytes .../pics/effects/unknown_19/unknown_19.png | Bin 0 -> 388 bytes .../pics/effects/unknown_20/unknown_20.png | Bin 0 -> 435 bytes .../pics/effects/unknown_29/unknown_29.png | Bin 0 -> 313 bytes .../pics/effects/unknown_33/unknown_33.png | Bin 0 -> 522 bytes .../pics/effects/unknown_35/unknown_35.png | Bin 0 -> 290 bytes .../effects/unused_grass/unused_grass.png | Bin 0 -> 492 bytes .../pics/misc/breakable_rock.png | Bin 0 -> 497 bytes .../pics/misc/breakable_rock/0.png | Bin 220 -> 0 bytes .../pics/misc/breakable_rock/1.png | Bin 219 -> 0 bytes .../pics/misc/breakable_rock/2.png | Bin 225 -> 0 bytes .../pics/misc/breakable_rock/3.png | Bin 221 -> 0 bytes .../event_objects/pics/misc/cuttable_tree.png | Bin 0 -> 460 bytes .../pics/misc/cuttable_tree/0.png | Bin 222 -> 0 bytes .../pics/misc/cuttable_tree/1.png | Bin 230 -> 0 bytes .../pics/misc/cuttable_tree/2.png | Bin 231 -> 0 bytes .../pics/misc/cuttable_tree/3.png | Bin 181 -> 0 bytes .../pics/misc/mr_brineys_boat.png | Bin 0 -> 736 bytes .../pics/misc/mr_brineys_boat/0.png | Bin 307 -> 0 bytes .../pics/misc/mr_brineys_boat/1.png | Bin 297 -> 0 bytes .../pics/misc/mr_brineys_boat/2.png | Bin 392 -> 0 bytes .../field_event_obj/event_object_graphics.h | 108 +++--------------- 123 files changed, 18 insertions(+), 90 deletions(-) create mode 100644 graphics/event_objects/pics/effects/arrow.png delete mode 100644 graphics/event_objects/pics/effects/arrow/0.png delete mode 100644 graphics/event_objects/pics/effects/arrow/1.png delete mode 100644 graphics/event_objects/pics/effects/arrow/2.png delete mode 100644 graphics/event_objects/pics/effects/arrow/3.png delete mode 100644 graphics/event_objects/pics/effects/arrow/4.png delete mode 100644 graphics/event_objects/pics/effects/arrow/5.png delete mode 100644 graphics/event_objects/pics/effects/arrow/6.png delete mode 100644 graphics/event_objects/pics/effects/arrow/7.png create mode 100644 graphics/event_objects/pics/effects/ash.png delete mode 100644 graphics/event_objects/pics/effects/ash/0.png delete mode 100644 graphics/event_objects/pics/effects/ash/1.png delete mode 100644 graphics/event_objects/pics/effects/ash/2.png delete mode 100644 graphics/event_objects/pics/effects/ash/3.png delete mode 100644 graphics/event_objects/pics/effects/ash/4.png create mode 100644 graphics/event_objects/pics/effects/berry_tree_growth_sparkle/berry_tree_growth_sparkle.png create mode 100644 graphics/event_objects/pics/effects/bike_hop_big_splash.png delete mode 100644 graphics/event_objects/pics/effects/bike_hop_big_splash/0.png delete mode 100644 graphics/event_objects/pics/effects/bike_hop_big_splash/1.png delete mode 100644 graphics/event_objects/pics/effects/bike_hop_big_splash/2.png delete mode 100644 graphics/event_objects/pics/effects/bike_hop_big_splash/3.png create mode 100644 graphics/event_objects/pics/effects/bike_hop_small_splash.png delete mode 100644 graphics/event_objects/pics/effects/bike_hop_small_splash/0.png delete mode 100644 graphics/event_objects/pics/effects/bike_hop_small_splash/1.png delete mode 100644 graphics/event_objects/pics/effects/bike_hop_small_splash/2.png create mode 100644 graphics/event_objects/pics/effects/bike_hop_tall_grass/bike_hop_tall_grass.png create mode 100644 graphics/event_objects/pics/effects/bike_tire_tracks/bike_tire_tracks.png create mode 100644 graphics/event_objects/pics/effects/bubbles.png delete mode 100644 graphics/event_objects/pics/effects/bubbles/0.png delete mode 100644 graphics/event_objects/pics/effects/bubbles/1.png delete mode 100644 graphics/event_objects/pics/effects/bubbles/2.png delete mode 100644 graphics/event_objects/pics/effects/bubbles/3.png delete mode 100644 graphics/event_objects/pics/effects/bubbles/4.png delete mode 100644 graphics/event_objects/pics/effects/bubbles/5.png delete mode 100644 graphics/event_objects/pics/effects/bubbles/6.png delete mode 100644 graphics/event_objects/pics/effects/bubbles/7.png create mode 100644 graphics/event_objects/pics/effects/deep_sand_footprints/deep_sand_footprints.png create mode 100644 graphics/event_objects/pics/effects/ground_impact_dust/ground_impact_dust.png create mode 100644 graphics/event_objects/pics/effects/jump_out_of_ash.png delete mode 100644 graphics/event_objects/pics/effects/jump_out_of_ash/0.png delete mode 100644 graphics/event_objects/pics/effects/jump_out_of_ash/1.png delete mode 100644 graphics/event_objects/pics/effects/jump_out_of_ash/2.png delete mode 100644 graphics/event_objects/pics/effects/jump_out_of_ash/3.png delete mode 100644 graphics/event_objects/pics/effects/jump_out_of_ash/4.png create mode 100644 graphics/event_objects/pics/effects/long_grass/long_grass.png create mode 100644 graphics/event_objects/pics/effects/mountain_disguise.png delete mode 100644 graphics/event_objects/pics/effects/mountain_disguise/0.png delete mode 100644 graphics/event_objects/pics/effects/mountain_disguise/1.png delete mode 100644 graphics/event_objects/pics/effects/mountain_disguise/2.png delete mode 100644 graphics/event_objects/pics/effects/mountain_disguise/3.png delete mode 100644 graphics/event_objects/pics/effects/mountain_disguise/4.png delete mode 100644 graphics/event_objects/pics/effects/mountain_disguise/5.png delete mode 100644 graphics/event_objects/pics/effects/mountain_disguise/6.png create mode 100644 graphics/event_objects/pics/effects/ripple.png delete mode 100644 graphics/event_objects/pics/effects/ripple/0.png delete mode 100644 graphics/event_objects/pics/effects/ripple/1.png delete mode 100644 graphics/event_objects/pics/effects/ripple/2.png delete mode 100644 graphics/event_objects/pics/effects/ripple/3.png delete mode 100644 graphics/event_objects/pics/effects/ripple/4.png create mode 100644 graphics/event_objects/pics/effects/sand_disguise_placeholder.png delete mode 100644 graphics/event_objects/pics/effects/sand_disguise_placeholder/0.png delete mode 100644 graphics/event_objects/pics/effects/sand_disguise_placeholder/1.png delete mode 100644 graphics/event_objects/pics/effects/sand_disguise_placeholder/2.png delete mode 100644 graphics/event_objects/pics/effects/sand_disguise_placeholder/3.png delete mode 100644 graphics/event_objects/pics/effects/sand_disguise_placeholder/4.png delete mode 100644 graphics/event_objects/pics/effects/sand_disguise_placeholder/5.png delete mode 100644 graphics/event_objects/pics/effects/sand_disguise_placeholder/6.png create mode 100644 graphics/event_objects/pics/effects/sand_footprints/sand_footprints.png create mode 100644 graphics/event_objects/pics/effects/short_grass.png delete mode 100644 graphics/event_objects/pics/effects/short_grass/0.png delete mode 100644 graphics/event_objects/pics/effects/short_grass/1.png create mode 100644 graphics/event_objects/pics/effects/splash.png delete mode 100644 graphics/event_objects/pics/effects/splash/0.png delete mode 100644 graphics/event_objects/pics/effects/splash/1.png create mode 100644 graphics/event_objects/pics/effects/surf_blob.png delete mode 100644 graphics/event_objects/pics/effects/surf_blob/0.png delete mode 100644 graphics/event_objects/pics/effects/surf_blob/1.png delete mode 100644 graphics/event_objects/pics/effects/surf_blob/2.png create mode 100644 graphics/event_objects/pics/effects/tall_grass.png delete mode 100644 graphics/event_objects/pics/effects/tall_grass/0.png delete mode 100644 graphics/event_objects/pics/effects/tall_grass/1.png delete mode 100644 graphics/event_objects/pics/effects/tall_grass/2.png delete mode 100644 graphics/event_objects/pics/effects/tall_grass/3.png delete mode 100644 graphics/event_objects/pics/effects/tall_grass/4.png create mode 100644 graphics/event_objects/pics/effects/tree_disguise.png delete mode 100644 graphics/event_objects/pics/effects/tree_disguise/0.png delete mode 100644 graphics/event_objects/pics/effects/tree_disguise/1.png delete mode 100644 graphics/event_objects/pics/effects/tree_disguise/2.png delete mode 100644 graphics/event_objects/pics/effects/tree_disguise/3.png delete mode 100644 graphics/event_objects/pics/effects/tree_disguise/4.png delete mode 100644 graphics/event_objects/pics/effects/tree_disguise/5.png delete mode 100644 graphics/event_objects/pics/effects/tree_disguise/6.png create mode 100644 graphics/event_objects/pics/effects/unknown_17.png delete mode 100644 graphics/event_objects/pics/effects/unknown_17/0.png delete mode 100644 graphics/event_objects/pics/effects/unknown_17/1.png delete mode 100644 graphics/event_objects/pics/effects/unknown_17/2.png delete mode 100644 graphics/event_objects/pics/effects/unknown_17/3.png delete mode 100644 graphics/event_objects/pics/effects/unknown_17/4.png delete mode 100644 graphics/event_objects/pics/effects/unknown_17/5.png delete mode 100644 graphics/event_objects/pics/effects/unknown_17/6.png delete mode 100644 graphics/event_objects/pics/effects/unknown_17/7.png create mode 100644 graphics/event_objects/pics/effects/unknown_18/unknown_18.png create mode 100644 graphics/event_objects/pics/effects/unknown_19/unknown_19.png create mode 100644 graphics/event_objects/pics/effects/unknown_20/unknown_20.png create mode 100644 graphics/event_objects/pics/effects/unknown_29/unknown_29.png create mode 100644 graphics/event_objects/pics/effects/unknown_33/unknown_33.png create mode 100644 graphics/event_objects/pics/effects/unknown_35/unknown_35.png create mode 100644 graphics/event_objects/pics/effects/unused_grass/unused_grass.png create mode 100644 graphics/event_objects/pics/misc/breakable_rock.png delete mode 100644 graphics/event_objects/pics/misc/breakable_rock/0.png delete mode 100644 graphics/event_objects/pics/misc/breakable_rock/1.png delete mode 100644 graphics/event_objects/pics/misc/breakable_rock/2.png delete mode 100644 graphics/event_objects/pics/misc/breakable_rock/3.png create mode 100644 graphics/event_objects/pics/misc/cuttable_tree.png delete mode 100644 graphics/event_objects/pics/misc/cuttable_tree/0.png delete mode 100644 graphics/event_objects/pics/misc/cuttable_tree/1.png delete mode 100644 graphics/event_objects/pics/misc/cuttable_tree/2.png delete mode 100644 graphics/event_objects/pics/misc/cuttable_tree/3.png create mode 100644 graphics/event_objects/pics/misc/mr_brineys_boat.png delete mode 100644 graphics/event_objects/pics/misc/mr_brineys_boat/0.png delete mode 100644 graphics/event_objects/pics/misc/mr_brineys_boat/1.png delete mode 100644 graphics/event_objects/pics/misc/mr_brineys_boat/2.png diff --git a/graphics/event_objects/pics/effects/arrow.png b/graphics/event_objects/pics/effects/arrow.png new file mode 100644 index 0000000000000000000000000000000000000000..a530b5344a266723a6bf599b54d0abb1b4b7361f GIT binary patch literal 430 zcmeAS@N?(olHy`uVBq!ia0vp^4L~fw!VDyJ%CdF?DfSXiUsv`=9Gqg(D&hN{yao!1 zm$*ih1m~xflqVLYGPwJ=0F6;7OD$3`)-x$=UGfm9grlUu&mAaZ3}iESHE7BMDVB6c zUq=Rpjs4tz5?O(Kg8-ip*W#l~{$Jhl|LBx^Q;Mq{9WA}8H7%1QG=l^bEbl#gSA4eE zYf8}nq^P5gj{pDv2Wrw+I41<87?Zr+UH&g+|8x|@DGBlmW^j0RBMrzo>gnPbQZZ+3 zu(#M@1&%Ll_x^L`6&ats)jFlW;l{7H_+T^UCgBO5UjI!vKGfRX7oPoKg2aWSe?o7f z?Rviny03jyvR7i`bS1xaU&V4V!Z literal 0 HcmV?d00001 diff --git a/graphics/event_objects/pics/effects/arrow/0.png b/graphics/event_objects/pics/effects/arrow/0.png deleted file mode 100644 index 3f06be064953f2e44da7e94e91fc3e837fc46a9f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 185 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUEk3&B|J5!3k50KarMTMB z(bB70(=tgyGe|(e^4_y|#b=AXrUd;@iaP4(`2YWZpeB8Vb3#Chu_VYZn8D%MjWi&~ z+|$J|gkxrM!U47)_70N&?>V#H+uO|XxBB}#+Ykn&FZ@R;_(d5wKmKQ5`SU-cr=i%f edW8dN#tiLR26LzSo_zr{g2B_(&t;ucLK6U)mO~o= diff --git a/graphics/event_objects/pics/effects/arrow/1.png b/graphics/event_objects/pics/effects/arrow/1.png deleted file mode 100644 index 87bbd99fffa510ff76457c560df4e98b61386ffb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 183 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUEk3&B|J5!3k50KarMTMB z(bB70(=tgyGe|(e^4_y|#b=AXrUd;@iaP4(`2YWZpeB8Vb3#Chu_VYZn8D%MjWi&~ z)YHW=gkxrMf&<(Cg(m;2H6F`PIr#tG-}((t_LslEx0jvULGr(WM1kgxq?WQBjU3t! crZq7#T&U1JTW~pOInV$GPgg&ebxsLQ0Fw_z5&!@I diff --git a/graphics/event_objects/pics/effects/arrow/2.png b/graphics/event_objects/pics/effects/arrow/2.png deleted file mode 100644 index f9abae71d47186db961b3f30fbd2bd4781218858..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 183 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUEk3&B|J5!3k50KarMTMB z(bB70(=tgyGe|(e^4_y|#b=AXrUd;@iaP4(`2YWZpeB8Vb3#Chu_VYZn8D%MjWi&~ z)YHW=gkxrE??p}q2M(v(^%2=j)&^V;|5Qa}wX776;I?d6OA&O?J0bLh{poq}{Z6xY b1ioZ!o@Jc-al1wm&;SNcS3j3^P6ApfhUAdt6@pEycUB<75~=e e|IB8yB^eGl7|eb9Xu=<$5e%NLelF{r5}E+vheU+{ diff --git a/graphics/event_objects/pics/effects/arrow/4.png b/graphics/event_objects/pics/effects/arrow/4.png deleted file mode 100644 index ef95afd9ebd366e20714d041016d93bd4ff91ab0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 185 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUEk3&B|J5!3k50KarMTMB z(bB70(=tgyGe|(e^4_y|#b=AXrUd;@iaP4(`2YWZpeB8Vb3#Chu_VYZn8D%MjWi&~ z+|$J|gkxrM!U47)_70N!uQ{`Zt!?7?8?`mdHiSXx3-^%-eo+R_kN??M{`}AAX()EA eUg1ERF@x>{^_%yYFE0fe!QkoY=d#Wzp$Pyv;6Z=@ diff --git a/graphics/event_objects/pics/effects/arrow/5.png b/graphics/event_objects/pics/effects/arrow/5.png deleted file mode 100644 index 71b7e0c270ae7b05f2a4beacbe761231ef4e5692..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 183 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUEk3&B|J5!3k50KarMTMB z(bB70(=tgyGe|(e^4_y|#b=AXrUd;@iaP4(`2YWZpeB8Vb3#Chu_VYZn8D%MjWi&~ z)YHW=gkxrMf&<(Cg(m;2G#-mjIk-RTZ~cZR>qA$Et!3wSklb$|QJ}dasika3BZu~b cX-$j_+I1?Sdd=sy0S#dAboFyt=akR{02(7f&;S4c diff --git a/graphics/event_objects/pics/effects/arrow/6.png b/graphics/event_objects/pics/effects/arrow/6.png deleted file mode 100644 index 53c33f44cb623f55846a6db624cf2116151f9504..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 184 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUEk3&B|J5!3k50KarMTMB z(bB70(=tgyGe|(e^4_y|#b=AXrUd;@iaP4(`2YWZpeB8Vb3#Chu_VYZn8D%MjWi&~ z%+tj&gkxrMf&wf5)Ex@)AG78xOK?;0fW=YFN@Ouf-q|#lN-r eKeO3vNe2C2>Nh7w-1h|*l-p)M?*|Hr zm$*ih1m~xflqVLYGPwJ=0F6;7OD$3`)-x$=UGfm9grlUu&mAaZ3}iESHE7BMDVB6c zUq=Rpjs4tz5?O(Kg8-ip*W$hJw)}5yKAL3NZRi!nVd%(^wB}vXnxoxkzfF1ee@b)G zmNiqBTs>NRbcy4ZW{D+P*QV>20`)Q`dAqy(U&{XJD2P)MaMU zlNwhSGbSzd>9JlasG%Hi?B4FIPYlNu{1aY>PRcy}O^8Fq|EJo;NB#FaGE62N%jU4) z-PmzvS>o>d$0Dl)BKeP{N$ o1KcS^m(2eC>DX?6w0ti^o<`mEbrU`>06Lk$)78&qol`;+0H=tec>n+a literal 0 HcmV?d00001 diff --git a/graphics/event_objects/pics/effects/ash/0.png b/graphics/event_objects/pics/effects/ash/0.png deleted file mode 100644 index 96a4b8f2afded7afa3509efec2ff5177b21440db..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 168 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUE#CWX%m3!)qe+(ChF(z| zhK>wLYu+WTIof^p+mvVjr!*&RSuzopr0O$=mh5!Hn diff --git a/graphics/event_objects/pics/effects/ash/1.png b/graphics/event_objects/pics/effects/ash/1.png deleted file mode 100644 index 8d973518d4b2a38c6e3ac48e2ce9ac99bbf00669..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 191 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUE#CWX%m3!)qe+(ChF(z| zhK>wLYu+WTIof^p+mvVjr!*&RSu8maKF7o`iG{e4-s>RHx&w%ZLfh{4m<&t;ucLK6TtUPloC diff --git a/graphics/event_objects/pics/effects/ash/2.png b/graphics/event_objects/pics/effects/ash/2.png deleted file mode 100644 index eccd2e02d1bcd744a08be6e864ceebdc83a94af7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 194 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUE#CWX%m3!)qe+(ChF(z| zhK>wLYu+WTIof^p+mvVjr!*&RSu8Nh9Ph( pThQ9ZtVNBxiyISsj@ndiVN~ZwLYu+WTIof^p+mvVjr!*&RSu}Cv%6CSZKbJQPf;^kIQiiwH2Baq77pu`gs6JX2T;C0~Fjs~v> fzXa4CZWUxGIV5ak$lWOnG=jm?)z4*}Q$iB}_j5qo diff --git a/graphics/event_objects/pics/effects/ash/4.png b/graphics/event_objects/pics/effects/ash/4.png deleted file mode 100644 index 7208f6a5b294c78f32e0a903d2d5bdf68483fb5d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 163 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUE#CWX%m3!)qe+(ChF(z| zhK>wLYu+WTIof^p+mvVjr!*&RSu*)n~jFx(*Z) zFL8}13C>R|DNig)WpMX#0UD!FmRh7>tY=c#y5u2H2}enRpF2>-7|3SuYS5GiQY`6? zzK#qG8~eHcB(ehe1_3@HuEj@}{J*;8|IsP;rW98@I%ajRvGhvf5Ky>Uykv=Eagc)J z)vH&#yQerh2L1p4AE-%B%6uA-VodUOclp1R{nJq(C&JUkF{EP7(g_zi85B5NW*_)_ zyqGDyLt&wn&D3}9M;_0!Vw;ru5qQ!H<5lzpF}mwuSz*A>-bo|`NjE{Zm%&Yf#c uG02+w(ymggyqx1^`Gp<-;{Eaki+r~Rh`lbGwdo(w4hBzGKbLh*2~7Zkzim?h literal 0 HcmV?d00001 diff --git a/graphics/event_objects/pics/effects/bike_hop_big_splash.png b/graphics/event_objects/pics/effects/bike_hop_big_splash.png new file mode 100644 index 0000000000000000000000000000000000000000..4546340fe77155d4d45bc15d3b796818786462cd GIT binary patch literal 389 zcmeAS@N?(olHy`uVBq!ia0vp^4nQox!VDxsPNql!DfSXiUsv`=9Gqfu`g^5MssV+> zOI#yLg7ec#$`gxH8QgtbfW|14r4}g|>zNd`E_n!4!ckJ-=MI!H2C^Bv8Z_mB6id3J zuOkD)#(wTUiL5}rL4Z$)Ytou`-<}Te8m10lBZ^ZD{{DK%A8Mav_0ySE4cH&AXDC^lX>45WK4*Iuyemy%DHeBJ{_+S1|2BqC0oPvcT6UW$=I^Y( Z>a5N35m%3|5(m1I!PC{xWt~$(698sPnhF2_ literal 0 HcmV?d00001 diff --git a/graphics/event_objects/pics/effects/bike_hop_big_splash/0.png b/graphics/event_objects/pics/effects/bike_hop_big_splash/0.png deleted file mode 100644 index 420663da830ca449bf6dbdda7327a8c22bf7f490..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 192 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUOFULWt?ke{m4 m7t2IV{rmRByL9&42kb0-oHGS`)MbGtF?hQAxvXu6FeX`YZik@LTRdp lZ*l=+XX}m~JB$n%7?>V$u=O8x$^;t4;OXk;vd$@?2>=8KM%DlT diff --git a/graphics/event_objects/pics/effects/bike_hop_big_splash/3.png b/graphics/event_objects/pics/effects/bike_hop_big_splash/3.png deleted file mode 100644 index b549ea78c1e5f1da4d69206e5c3f7ba64d71f44a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 169 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUOYgr+AsjQ46BLA40+z999i1j{fNhzigp(tSz~;6_NuJD{%uF60h8z#(wE`Dij{&tX Nc)I$ztaD0e0szV~KpFr5 diff --git a/graphics/event_objects/pics/effects/bike_hop_small_splash.png b/graphics/event_objects/pics/effects/bike_hop_small_splash.png new file mode 100644 index 0000000000000000000000000000000000000000..523238a1d4531cc40ffa26bdcb1b1c0d1c67c17a GIT binary patch literal 313 zcmeAS@N?(olHy`uVBq!ia0vp^20+Zg!VDyRSrbcu6nlxMuPgf_4o)$7;|+{UG=M_l zC9V-A!TD(=<%vb94DLQIKw}ijQi~Lf^-Ky|mplX+QBvUN4wNwlvKhP@H06O5OS+@4 zBLl<6e(pbstU$g&fKP~P(wcYQo*jL6b<4diQ~v+|fA875y=R}z*>W#w&X)gsp8-|9 zd$#1>+2*TTvd+!{xv%5n!>d4wG0EHA<^NLlPe(zVk|4ie28U-i(tw-*PZ!6KiaE&% z4$NyjRN6##6)<=xFf5$NdMG84gEzInA@C&Aq~uhO)C7*^Oa{hqwrdRn3%tw()EPZ( tqcc`yOWfFX#UR8w@{-d*uA2cSz>vvhe|w+zR3*@C22WQ%mvv4FO#qHLYHt7l literal 0 HcmV?d00001 diff --git a/graphics/event_objects/pics/effects/bike_hop_small_splash/0.png b/graphics/event_objects/pics/effects/bike_hop_small_splash/0.png deleted file mode 100644 index b5cccb306df076d5629e9c48ac070879686d7667..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 167 zcmeAS@N?(olHy`uVBq!ia0vp^0zk~c!VDytB9fK>DT4r?5Z9zN@4h`d`tItMdt0Xb z|NsBqvv+&XKAW@UUecT`|Mxxvs(SZq$-T49SGQ!HodYtZ$S;_|;n|He zAV<~H#W93qW^%#-_J|1)3EQ-pvmH8^Cma-$dL?y?YnmswZ$bhCgONJ(s*{`ArvWuE Nc)I$ztaD0e0synfKlA_q diff --git a/graphics/event_objects/pics/effects/bike_hop_small_splash/1.png b/graphics/event_objects/pics/effects/bike_hop_small_splash/1.png deleted file mode 100644 index 548198c092a436b35fad484eeb630567542cc0fe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 176 zcmeAS@N?(olHy`uVBq!ia0vp^0zk~c!VDytB9fK>DT4r?5Z9zN@4h`d`tItMdt0Xb z|NsBqvv+&XKAW@UUecT`|Mxxvs(SZq$-T49SGQ!HodYtZ$S;_|;n|He zAV<&B#W93qW^%#-Hl~P!BHYdy8qLhi%-YUc%+3DT4r?5Z9zN@4h`d`tItMdt0Xb z|NsBqvv+&XKAW@UUecT`|Mxxvs(SZq$-T49SGQ!HodYtZ$S;_|;n|He xAV25}cn_Ql40p%HZzf0yIXUEVW3%SkI)eb;(1J5hVqF?m!u1Ae+IfK~o+`v7|ft zIx;Y9?C1WI$O_~e1o(uw7Vmwx<$rVY(Im@mL$4?fLq~?BHSdzv9PK{)ZOXI%Q<{^u zteLXp>e1q(OB}Z}ODxH{HeJ6IsFyLx+uh~=Qua?rL7b8xzhDN3XE)M-oCr@B$B>FS zrTwRQ85B8O9-eDtda<8xPw*A1ABT^qwsp?@*yyrar1$0iiskp(xUS6Px#i{XOZywE zeaDR6lhqsyXS;cK$2Pb$1cr6!@;RUK*&Tl1&iCg^=h=0>@_flTKMQ0#gQu&X%Q~lo FCIB|JcQ60| literal 0 HcmV?d00001 diff --git a/graphics/event_objects/pics/effects/bike_tire_tracks/bike_tire_tracks.png b/graphics/event_objects/pics/effects/bike_tire_tracks/bike_tire_tracks.png new file mode 100644 index 0000000000000000000000000000000000000000..383a393c4d38c594fbc3688b2a2ad0dfd22860f7 GIT binary patch literal 295 zcmeAS@N?(olHy`uVBq!ia0vp^4nQox!VDxsPNql!DfSXiUsv`=9Gqf`YI7u`_W^~( zOI#yLg7ec#$`gxH8QgtbfW|14r4}g|>zNd`E_n!4!ckJ-=MI!H2C^Bv8Z_mB6id3J zuOkD)#(wTUiL5}rL4Z$)Ytou`-<}Te8m10lBZ^&t{t7wj(fN4MTMA eGYOyT%nWn%)25!45BLEziNVv=&t;ucLK6V48Ehl~ literal 0 HcmV?d00001 diff --git a/graphics/event_objects/pics/effects/bubbles.png b/graphics/event_objects/pics/effects/bubbles.png new file mode 100644 index 0000000000000000000000000000000000000000..554fc8425e300be8c6970a907ebe37ac3ac12e1d GIT binary patch literal 664 zcmV;J0%!e+P)@X*O+{FS4w?F!a7GxZbH3RuT{__BQ8NRZ zb&#(a+%ghr!Lb@FLaj507aZuQ=`Bnn*=6e>xO6NTExoI1td>ib&(`7e;CTrJ{<>&p zEtad(gA)dER`afzx$3GM;G~MO{9GvE)=NR41W439pd8lxQOvki7R$9 ycV;#{-`{J$hu?V6{%e+7`|GjpE!gXz^Y{jMT1{sjLaz4!0000uWP}RF>Q9O9UmWF1yYP9L4Lsu4$p3+ z0XY_)E{-7*QmdKI;Vst0B`C_-~a#s diff --git a/graphics/event_objects/pics/effects/bubbles/1.png b/graphics/event_objects/pics/effects/bubbles/1.png deleted file mode 100644 index 0bd744ef207af3efbb04c5667426c208e0050c8e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 207 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt#WHdH3zv(RWw3+}kqc z|NsB@p1s?9_Su{*_mbvp`M>uWP}RF>Q9O9UmWF1yYP9L4Lsu4$p3+ z0Xe>&E{-7*QuWP}RF>Q9O9UmWF1yYP9L4Lsu4$p3+ z0XgZOE{-7*Q}_CAuWP}RF>Q9O9UmWF1yYP9L4Lsu4$p3+ z0XdnTE{-7*QlOwiFWA+{ z#T0SJk%@01kKRgFhvHyK86~NPO^IuC)~r!@%D5)r?wW-L;Vdi$77klCZ#u-f(CzRK gz5qrQ)fuWP}RF>Q9O9UmWF1yYP9L4Lsu4$p3+ z0XeCjE{-7*Qu4VWeRjAsYO bMFs}ROS~fT3A4L_7BYCc`njxgN@xNAvXxak diff --git a/graphics/event_objects/pics/effects/bubbles/5.png b/graphics/event_objects/pics/effects/bubbles/5.png deleted file mode 100644 index 54b9d768b75c367c8cc49181b5da02875cccc80a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 205 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt#WHdH3zv(RWw3+}kqc z|NsB@p1s?9_Su{*_mbvp`M>uWP}RF>Q9O9UmWF1yYP9L4Lsu4$p3+ z0Xg2DE{-7*Q3WQa`<(^xEXEF+tt0Z<$<^vkb;OXk;vd$@?2>@RS BQhfjb diff --git a/graphics/event_objects/pics/effects/bubbles/6.png b/graphics/event_objects/pics/effects/bubbles/6.png deleted file mode 100644 index 35c26e63399e5da560d1fdc683eea0d0d41fc0f2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 185 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt#WHdH3zv(RWw3+}kqc z|NsB@p1s?9_Su{*_mbvp`M>uWP}RF>Q9O9UmWF1yYP9L4Lsu4$p3+ z0XgQLE{-7*Q2_ymIe3a8)u2TwWaA+TM%Dl}>lrPdZzOVYJ*X0xwPB`k ggL5F`VFyNr7G;)HZJ&h>KqDADUHx3vIVCg!0Q@gVnE(I) diff --git a/graphics/event_objects/pics/effects/bubbles/7.png b/graphics/event_objects/pics/effects/bubbles/7.png deleted file mode 100644 index 6323e0cc5cc8cfaacbbd154c43afb73b73b522cc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 160 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt#WHdH3zv(RWw3+}kqc z|NsB@p1s?9_Su{*_mbvp`M>uWP}RF>Q9O9UmWF1yYP9L4Lsu4$p3+ z0XcG>E{-7*Q#hfZW&d@!?e<#hB#n?(%;r`=_HIPDzkoFoVOh8)-m}zo(01NX4Aw z1O=`S`&@+|RJ(gHICHS_ z64!{5;QX|b^2DN426rD9pfL(%sYMFLdM1UfOCExZC@JuB2g(=&*$iF{n({!3CEd~2 zk%3`jKlh(RRv_OXz$e5tY0bND&yK#ky5-)MDgXcfzxV9j-m}l-XUqS+&w#4l zJzH|`Z1dGES!d^f+}H8(;Z-2TnB?v5@_#A&r=uWFNswPKgTu2MX+TbZr;B4q#hkUh z7kL>JIh?z775pTa{ z8#%4=?~Eg&As6j@&)leKc(v-C#mXfUPhH!W9C-7A48zLHxh~gKYD$|IupadIrSdTM z{;%WG8VrY_!@pqwDG77{W0#IYB|(Kzf1k z9Nz^z;^G`_!@pW9#YS7{W0#IROaD5*ipR z4&P)wW#E>+L1MRqh~ex6gM^@S$Mp18^azNHhYOsQ;$mS`5bHR|Aj*~Cz`$^J8xKRC RO=lIzB2QO8mvv4FO#rpKIC}s9 diff --git a/graphics/event_objects/pics/effects/jump_out_of_ash/2.png b/graphics/event_objects/pics/effects/jump_out_of_ash/2.png deleted file mode 100644 index 9f11f176f4cc27a8ab22f1b2ca9077dc72362497..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 208 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDU1=9cj|4&Lvx_Y&H&6=q0 zZpUZe&hCA;rTN~Lq&3|@Sv24?Gh7=e#8?vK7tG-B>_!@pyUrm^IN>T?_Cdl46@nN)z4*}Q$iB}B3Vr8 diff --git a/graphics/event_objects/pics/effects/jump_out_of_ash/3.png b/graphics/event_objects/pics/effects/jump_out_of_ash/3.png deleted file mode 100644 index 124581f7557d63a14743fb2497c3e2f8089e079c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 196 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDU1=9cj|4&Lvx_Y&H&6=q0 zZpUZe&hCA;rTN~Lq&3|@Sv24?Gh7=e#8?vK7tG-B>_!@pJV zXMuuS!vB?A+vdC06bLFce2Z=gnlNSZ>y|_A5u5z=6w~!4>hcQ(3qR6kIm@);oWtUe Z7a83Y*w5=Wu2%%v=IQF^vd$@?2>@*0KFR<9 diff --git a/graphics/event_objects/pics/effects/jump_out_of_ash/4.png b/graphics/event_objects/pics/effects/jump_out_of_ash/4.png deleted file mode 100644 index 6e584a4dcf54352ed169a8689b52063ef540a72e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 190 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDU1=9cj|4&Lvx_Y&H&6=q0 zZpUZe&hCA;rTN~Lq&3|@Sv24?Gh7=e#8?vK7tG-B>_!@pW8>-K7{W0#wdWu&g8>Iq zrGdn6|Ii7y{0$e)bL(K3v|XUcVN$fwGsa$l)9J>~+xmNc2)@0~a3%e$>(Q%>yKiw` TOxx?f9b}KEtDnm{r-UW|H6K6Z diff --git a/graphics/event_objects/pics/effects/long_grass/long_grass.png b/graphics/event_objects/pics/effects/long_grass/long_grass.png new file mode 100644 index 0000000000000000000000000000000000000000..5dfc3b2469837e7dc17c33a441e3961b2c921c25 GIT binary patch literal 516 zcmV+f0{i`mP)W?zI1dgT-Pwi!n-C2r)qb zVyy0Bti_AX_LS!Tl!IcltdykH#dF1^L9~Myq-xfeFLeL_00Cl4M@0Xn2lB-L0004W zQchCPT0-b|EnEY4-INZ1e zS5cJP1eUIPg*}=pAGQRSyV9k+G!#RNsMOBfAV^&{5^BK>bk%Bv0FvpT%9chI2z{>t zTfs{u1+V7Ri!M8gk7pCk?x7`3m}oJwFACP5E%(qiF>1QA;(o z$&Zfp*}j5hj4umZQ0iFm=V$vIGT0ByCF)20>u1Uzc>My~y>s{N`3mj;0000zNd`E_n!4!ckJ-=MI!H2C^Bv8Z_mB6id3J zuOkD)#(wTUiL5}rL4Z$)Yw^(~|F3TOe{{;dDaF-}j{mPJ+?ykiWy$d@DCsDJVG@JH zoFuO-LqkIbiU0rq12x5cD@g=Wj7i?^F8`OZe>w`{lmz(&GdMiEkp^TddAc};RLq$> zWn7NGt=*~iA+ilxfd}j745sd%Vs`rl9b1zmlK}fP*P(2CHrO0x_+^V z3Tq`8opwFSGMuv3QorPBC;$8Gurrsr+p}ldN4L~i966L2|Lm-o?XuW;dkgkP%oErf zaHMzZ)j$P(k&m};W!3e6E#Q(r`ufwPpSEhvt%oai^{u_k`$ED%-RP6h>nl@V-#s6* z#x|>K|BcmOG79ys$?4iz&e`bRy*X~Fd-vVxzZNZV@7}%QU)!a{M}Mq#x%*h?>3{35 ztEyubbp)^9<=!1!1|-Y_zh(q>ZkN-&*UfJmHOD1yPVU>U@?A4_pYWJ%c?B4B44$rj JF6*2UngCZr*vkL_ literal 0 HcmV?d00001 diff --git a/graphics/event_objects/pics/effects/mountain_disguise/0.png b/graphics/event_objects/pics/effects/mountain_disguise/0.png deleted file mode 100644 index 104056e469511162b0e825c11abb102e2e60ff0c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 221 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ ziS~4H43U_6bi!_4215>K$-Z-v*JU+dCafr~GoGV*fmx?z!@f-=sjXLEw0z%^#MGiN zCq-w%ABGpzB44hays>LuN8;1dKDu)ztiH#=U-3<5v)9CP4qKA{)Sj`C}-(@6i6!>Ykg!SFxUAp2PA${BF_< z-WoY)|2sEBJ|6P?)+JmU^~gal!{eHx_@@mV=WRFf+8vy>^OVxU=#Fb#8Y_ivUg_1^ uTy8x7`pb8}_4N#%SKYL-Ix}eodbznt&JU~hKc3?_Jur=D loz&WYZojy))ldH`V9vOo_afeC;$)!J44$rjF6*2UngG_aT&w^9 diff --git a/graphics/event_objects/pics/effects/mountain_disguise/3.png b/graphics/event_objects/pics/effects/mountain_disguise/3.png deleted file mode 100644 index 8f0a1be2ca4a002d1eec00af59e8abf59b8b2ed1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 237 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ z$@X+{43U_+w`U`7s{s$|{3B{xOgz>+IM?&rDtOuEujUJW)ut)%o#cus{bViqW5QF9 zvIpUl|4-Sa{L12PcKTu4hWUXZkD4~G2%0@(!j>s*dlpTxlT_6|YPHzV`r#x)=DN() iHGWpD@8`=Mf52D}l#%FnvE?ApS_V&7KbLh*2~7a2VPBL0 diff --git a/graphics/event_objects/pics/effects/mountain_disguise/4.png b/graphics/event_objects/pics/effects/mountain_disguise/4.png deleted file mode 100644 index 8fd4df41064e6b166712eed6dfeee1f87440d73b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 217 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ z3HNky43U_6wr3+RgCPgA#~|J7yMwYo35^M^P#`frVl5T>>uB?d3558Rp-QY zCo~~c%Ovc87S(F0n+ N;OXk;vd$@?2>>_*QLO*~ diff --git a/graphics/event_objects/pics/effects/mountain_disguise/5.png b/graphics/event_objects/pics/effects/mountain_disguise/5.png deleted file mode 100644 index a364b234d647e2d78504a6798abf8b63c019ebb4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 200 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ zar1O>43U_coFLKFP;JhUlaO#@2@BILo;~H~8yFAYwGKEo)A&WtWjzO5z37G>+k3mq u^DXzbKQy@^kuQ)^pUXO@geCy9iAc); diff --git a/graphics/event_objects/pics/effects/mountain_disguise/6.png b/graphics/event_objects/pics/effects/mountain_disguise/6.png deleted file mode 100644 index 2644aa9f14ce54a4e02fbcd3f06dd50722f9cf47..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 164 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbUbs=~cF0$G+E&w`SUG8iT?NX$v{$}%)GWRUp(AEYVnTS+32Vk`;r3ubV5b|VeQ zQSx+g43U_coFK6*VY{J(gu$IUcD8=WJnhCtvp}AAcY!w7Hi~chEXDaAsG7mk)z4*} HQ$iB}+Ws~E diff --git a/graphics/event_objects/pics/effects/ripple.png b/graphics/event_objects/pics/effects/ripple.png new file mode 100644 index 0000000000000000000000000000000000000000..0352ef2d8bee96b6260ad0987e090b2b6f8e9096 GIT binary patch literal 349 zcmeAS@N?(olHy`uVBq!ia0vp^0YEIk!VDyf)1Q6NRbcy4ZW{D+P*QV>20`)Q`dAqy(U&{XJD2P)MwLYu+WTIof^p+mvVjr!*&RSuwLYu+WTIof^p+mvVjr!*&RSuuR-riO> R&W}J%44$rjF6*2Ung9VmKezw@ diff --git a/graphics/event_objects/pics/effects/ripple/2.png b/graphics/event_objects/pics/effects/ripple/2.png deleted file mode 100644 index 6670cb77990dc0c9b075a8368f2ba5396fe4fc2c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 166 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUE#CWX%m3!)qe+(ChF(z| zhK>wLYu+WTIof^p+mvVjr!*&RSu=ss5QU^+yS&SVj5{@uDdz5%URC&u`-Xok0adI4udb63!f$AAN MUHx3vIVCg!0B4apJ^%m! diff --git a/graphics/event_objects/pics/effects/ripple/3.png b/graphics/event_objects/pics/effects/ripple/3.png deleted file mode 100644 index 122df1940a0545706c7d5ffd1ab5e05620f30f0f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 176 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUE#CWX%m3!)qe+(ChF(z| zhK>wLYu+WTIof^p+mvVjr!*&RSu^DxI<~~ru$YShJkzi7+)^YmWfs+Re7^gB$ZPIqjXqWB~W?&GO W;%3hdUIk<^FnGH9xvXwLYu+WTIof^p+mvVjr!*&RSu^Cl55;{=A#A57Fk#L0J*`ve*qRLwi^B&=3IJTKBF_x8SGEhB( Mr>mdKI;Vst0K^zPlmGw# diff --git a/graphics/event_objects/pics/effects/sand_disguise_placeholder.png b/graphics/event_objects/pics/effects/sand_disguise_placeholder.png new file mode 100644 index 0000000000000000000000000000000000000000..66b9993e776bafd011eea89d5fcda175b607974b GIT binary patch literal 442 zcmeAS@N?(olHy`uVBq!ia0vp^1wgF8!VDxW93J)qDfSXiUsv`=9Gqf$@-8jsD}h4d zC9V-A!TD(=<%vb94DLQIKw}ijQi~Lf^-Ky|mplY2;V3Eaa|g;81KA8-4Vv;miY49A z*O7r?V?XzwL{=c*AiyWYwfN|g|5vyCKRV^!l;Ubf$Nx*VT+OQPb_|+w^jlQ-UID|P zElZNBiybX3CI0{a57Z=^JMTDaSGC_`$!Aed|M@4?dUo)(lc=qp=%9yJMmoY!){nowh(}ES; z{9U^~ZT-KZIn~png?C4Wj`yKsyO#i|sBTx!AO>xw91o`lt~T>ls&Fn6wVUb1)jd;% zds4bqXY-#+hs1+D0}BnNv=m)`vYC}f^(%wZk$_2Tvsmj5rW~0*+e88=b!7qj|Kf=u zx_Xm1-Y6`d9-?pMS*2jVyeBSbXGTf5-@aE;%VR%Y<fS407_?6imL$ZZN_1 z*aJ?jCpQC(YmO%XQpVwaMM^kkLefS407_?fS407_?Ma`-G^4tJrZafD`njxg HN@xNAMUPL+ diff --git a/graphics/event_objects/pics/effects/sand_disguise_placeholder/3.png b/graphics/event_objects/pics/effects/sand_disguise_placeholder/3.png deleted file mode 100644 index 690110a8c355af04111ad18597430f3177bca3a2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 207 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?zTu$Y{-;(}$}d=AIb%6u z=k|DI1Zg;UEatJf(7Es_>ls}WVN=I_4(aXhpG!|mFYs|cz@rQ_n8DN4&t;ucLK6T( CB}~@< diff --git a/graphics/event_objects/pics/effects/sand_disguise_placeholder/4.png b/graphics/event_objects/pics/effects/sand_disguise_placeholder/4.png deleted file mode 100644 index caa568eaca4f9f34d36c0fd18ef2b227e5142724..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 194 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?0jrq)hIWmS8Nl`6< oAxE}2zopr0D-VbT>t<8 diff --git a/graphics/event_objects/pics/effects/sand_disguise_placeholder/5.png b/graphics/event_objects/pics/effects/sand_disguise_placeholder/5.png deleted file mode 100644 index 0d0bd9886bb00b502c1b81f43261c4a7b2c3e332..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 183 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?zopr02TZ}RR910 diff --git a/graphics/event_objects/pics/effects/sand_disguise_placeholder/6.png b/graphics/event_objects/pics/effects/sand_disguise_placeholder/6.png deleted file mode 100644 index ed40527d0e7146a83153307baa20027cdcd67db3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 166 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dbS_$(E~G)!mLkQ;vR%>fS407_?)03`UexQ$mNzQ{s%P+Y L^>bP0l+XkK(+N9= diff --git a/graphics/event_objects/pics/effects/sand_footprints/sand_footprints.png b/graphics/event_objects/pics/effects/sand_footprints/sand_footprints.png new file mode 100644 index 0000000000000000000000000000000000000000..cec011d0a5752a253184580477c439e1763b8390 GIT binary patch literal 291 zcmeAS@N?(olHy`uVBq!ia0vp^3P3Et!VDx^^%Amx6nlxMuPgf_4o)$B)&+mroq$5( zC9V-A!TD(=<%vb94DLQIKw}ijQi~Lf^-Ky|mplY2;V3Eaa|g;81KA8-4Vv;miY49A z*O7r?V?XzwL{=c*AiyWYHEGSeZ_kdtySnAxmMQ=L|G)R_-QKg$=4`o_G-u2Iz0ZKE z-aT7#?`-qcEm>#hfZW&d@!?e<#hB#n?(%;r`=_HIPDzkoFoVOh8)-m}m8XkiNX4Aw z1O=`S`&@+|RJ(gHICH;ee)Q%L@4HwBgM-WVJ4^iJJJZH>r@ET4=V8>ngQ1^d9WM2A ZGQ9aL^<~>T={TS%44$rjF6*2UngEKoYfJzD literal 0 HcmV?d00001 diff --git a/graphics/event_objects/pics/effects/short_grass.png b/graphics/event_objects/pics/effects/short_grass.png new file mode 100644 index 0000000000000000000000000000000000000000..53eb7924e2177f33a6d2c349e9b63061481cf127 GIT binary patch literal 274 zcmeAS@N?(olHy`uVBq!ia0vp^3P3Et!VDx^^%Amx6nlxMuPgf_4o)$Bl{ZtwWq?BB zC9V-A!TD(=<%vb94DLQIKw}ijQi~Lf^-Ky|mplY2;V3Eaa|g;81KA8-4Vv;miY49A z*O7r?V?XzwL{=c*AiyWYwRrElE&rRFk0x1m8+t`?7&wLYu+WTIof^p+mvVjr!*&RSu=hLUo&KDW=aGwLYu+WTIof^p+mvVjr!*&RSuR|DNig)WpMX#0UD!FmRh7>tY=c#y5u3qh>`+7cc6?hkj>!LpeYZeSkfJR z9T^xl_H+M9WCijK0(?STlh(ZZ_U!1pt6T1EnezYt|9j8g?LGT!&X#*gbGH27`wXb+ z-Lob4&Ng4&l67_t$bB6jA6^Agj7i?^F8`OZe>w`{lmz(&GdMiEkp|=#c)B=-RLn_E zSfEwFpsbLPT9Cl{xlx6C!a=cFQeteAytp}%nO7%xdwVln&f#&8V(9f}EpWEV0@=mj M>FVdQ&MBb@0Aw*=FaQ7m literal 0 HcmV?d00001 diff --git a/graphics/event_objects/pics/effects/splash/0.png b/graphics/event_objects/pics/effects/splash/0.png deleted file mode 100644 index 2b29c76ae3dfb09695a7293379bd2278e54f4d14..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 160 zcmeAS@N?(olHy`uVBq!ia0vp^0zk~c!VDytB9fK>DT4r?5Z9zN@4h`d`tItMdt0Xb z|NsBqvv+&XKAW@UUecT`|Mxxvs(SZq$-T49SGQ!HodYtZ$S;_|;n|He zAV<#A#W93qW^#f8?*=1_4NV!_E?n7Qz;2+etJ~Pf$e`H8tm*vsl^jqdgQu&X%Q~lo FCII;vJ$nEE diff --git a/graphics/event_objects/pics/effects/splash/1.png b/graphics/event_objects/pics/effects/splash/1.png deleted file mode 100644 index 1807213420a59c41588af5923aab43bf95219742..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 163 zcmeAS@N?(olHy`uVBq!ia0vp^0zk~c!VDytB9fK>DT4r?5Z9zN@4h`d`tItMdt0Xb z|NsBqvv+&XKAW@UUecT`|Mxxvs(SZq$-T49SGQ!HodYtZ$S;_|;n|He zAV<;D#W93qW^#f8mqmkMM?z{s0^`O@Oowh92+GOf;pE|AP|s!Z5V>qR3#gdE)78&q Iol`;+0FwzlPyhe` diff --git a/graphics/event_objects/pics/effects/surf_blob.png b/graphics/event_objects/pics/effects/surf_blob.png new file mode 100644 index 0000000000000000000000000000000000000000..7e91e17dc16d778cbb6e1aefc3c23dc80af6a3e5 GIT binary patch literal 477 zcmeAS@N?(olHy`uVBq!ia0vp^2|%pC!VDzk-zB62DfSXiUsv`=9GqeX+8Ya5gn>fh zC9V-A!TD(=<%vb94DLQIKw}ijQi~Lf^-Ky|mplY2;V3Eaa|g;81KA8-4Vv;miY49A z*O7r?V?XzwL{=c*AiyWYwfN|g|5vyCKRV^!l;UbfM@z42P0J(+%^(2<%X`n>6`w8k zniBLsDe9=Bx_L_I)8s^_PjRzt@8x*A89lfo?0<*rfmnj)ZLRkk1=9a) zgX>_Y!Ay|?@7$?A;dy0j zPn!IE-c4fI)v}L&u7jPep}w9d!@I2_EUPTPzdm}S>N z(6+t2J9Tax_4~YwO?wCP-MP1V4aJu6PnBKb{QLRzDS0pMcc|1bK5bW$)qUYUALxGu MPgg&ebxsLQ0J<);C;$Ke literal 0 HcmV?d00001 diff --git a/graphics/event_objects/pics/effects/surf_blob/0.png b/graphics/event_objects/pics/effects/surf_blob/0.png deleted file mode 100644 index c4a14e052e775a18385b1a6a062311e05afb82be..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 241 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfvg8-ip*W#l~{$Jhl|LBx^Q;Mq{ z9WA}8H7%1QG=l^bEbl#gSA4eEYf8}nq^P5gj{pDv2Wrw+I41<87)yfuf*Bm1-ADs+ z@;zM~Lo_Dd4cINzpum${^z`+sRo%t)b6u~UP(FI-Cu`aR553$X-iP%JVs&q4?Cc0n zdg$uueBzRU&c}C$CNASNU+k1J{i4h^mt1yPu4PmBqnkIrk-wmdKI;Vst04Vod+5i9m diff --git a/graphics/event_objects/pics/effects/surf_blob/2.png b/graphics/event_objects/pics/effects/surf_blob/2.png deleted file mode 100644 index 532da2611f2b7ee360f8f34660f51d7802ba31f4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 238 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfvg8-ip*W#l~{$Jhl|LBx^Q;Mq{ z9WA}8H7%1QG=l^bEbl#gSA4eEYf8}nq^P5gj{pDv2Wrw+I41<87)yfuf*Bm1-ADs+ zay(reLo_DdonS52puoejebdvDh1(2u!?#Z?6ZM>Mp7&1PvxzD42i|Xbd8Bi3LfEr; zp(@MHw>W!UdZ)Bs=i>Yp*O*X_+_vryg8TPy-HH@%+$vFfT-mGCj4>+ed%~j7<7WbP0l+XkK@HSpT diff --git a/graphics/event_objects/pics/effects/tall_grass.png b/graphics/event_objects/pics/effects/tall_grass.png new file mode 100644 index 0000000000000000000000000000000000000000..b6b44307a944b5f53f7c398bd04073eb93191414 GIT binary patch literal 465 zcmeAS@N?(olHy`uVBq!ia0vp^0YEIk!VDyf)1Q6VQJx zC9V-A!TD(=<%vb94DLQIKw}ijQi~Lf^-Ky|mplY2;V3Eaa|g;81KA8-4Vv;miY49A z*O7r?V?XzwL{=c*AiyWYwRrElE&rRFk0x1m8+t`?7&M5!{#VyC117N%3m``&2tf>e3FIh4BV1PiLO>>S8)6>si{p^y8X& z?NfVy?w_>h;-#$u&e40YK!^i zXTPFWN?+pqMQLkSzt`nPI?O6RpRN5JPbP0l+XkK D%&5QD literal 0 HcmV?d00001 diff --git a/graphics/event_objects/pics/effects/tall_grass/0.png b/graphics/event_objects/pics/effects/tall_grass/0.png deleted file mode 100644 index 00d596b4cf47323a1c652b17c18ae29a0a83cc66..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 199 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUE#CWX%m3!)qe+(ChF(z| zhK>wLYu+WTIof^p+mvVjr!*&RSux{?qq;r{^m> vsOo)xziY=2V}qKHwLYu+WTIof^p+mvVjr!*&RSudRKRp|ubvAPmTmNPAQ=gwk=>C1l YXgI|%%DX@OI?yr(Pgg&ebxsLQ0Qvu2jQ{`u diff --git a/graphics/event_objects/pics/effects/tall_grass/2.png b/graphics/event_objects/pics/effects/tall_grass/2.png deleted file mode 100644 index 55d971758af84783ccabea84acf53fd3bc0f7ee6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 219 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUE#CWX%m3!)qe+(ChF(z| zhK>wLYu+WTIof^p+mvVjr!*&RSuvQuys#8+6%+MR Q2U^15>FVdQ&MBb@0CbjD0RR91 diff --git a/graphics/event_objects/pics/effects/tall_grass/3.png b/graphics/event_objects/pics/effects/tall_grass/3.png deleted file mode 100644 index 0add11083363651331aa3576db7bb3fbd90cedfa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 205 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUE#CWX%m3!)qe+(ChF(z| zhK>wLYu+WTIof^p+mvVjr!*&RSuy$)2VN7sVzWJsmzhJ%xMe;^M!5^YQ33efk&wkE_ez!~OD~ z)%OEGa0GOo{<~XG?;j6O{GZr$H6Q;oTw`Cv5WQbS_(pp)BhXj|Pgg&ebxsLQ07@iI A1ONa4 diff --git a/graphics/event_objects/pics/effects/tall_grass/4.png b/graphics/event_objects/pics/effects/tall_grass/4.png deleted file mode 100644 index ca164d3cc20953347ed476e62fadfc709edb8902..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 207 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUE#CWX%m3!)qe+(ChF(z| zhK>wLYu+WTIof^p+mvVjr!*&RSuzNd`E_n!4!ckJ-=MI!H2C^Bv8Z_mB6id3J zuOkD)#(wTUiL5}rL4Z$)Yw^(~|F3TOe{{;dDaF-}j%Ux_n=@yxmsfT1UIxc%1_4Wk zvq@f4EH#4!82R!LY1_BM%jaR-ihb`M=WSW$?O}F%WWm5Nh6}i^EPG?WeNPlq7UNi9WlO_Rm_xW1i zSJzIrE@f6V%RW3?5!Z}*eoM)f zNPfmO@j$df^vxyG@8!gg3NTbArdCgX6sIWk>Ch=9JDvEgBFlqx+01_Yj)*)udufQJ zd3JGMXK2k^)qQC$MEnQ+GdaP}P4#p47o;#KFja~s2U*ViA#9&7 zd~~AWv`0OjrceGFsdY`(>bmaH8f@t{y?D;kBb}dKpFV$dPm$q{SE&gH*e^o51_4yIxt#aI&L7tG-B>_!@p z)8pyl7$Py%cY-4qvmuA;^B;>1e%JUfaO%JGH{ez5uc_0HNqjmm{m7F8=6$7pC-`2@ zVoprteYwemlQCK73gcJ3M9v5!XM^Sm2YdGCsH}@^I$ndeN_uW#oUS^RL-_s#EQ&#iuS@BY8v)A-jn%?(~u S(Vqx(7lWs(pUXO@geCxEigOVF diff --git a/graphics/event_objects/pics/effects/tree_disguise/1.png b/graphics/event_objects/pics/effects/tree_disguise/1.png deleted file mode 100644 index e29336cd4adf46bdb0404e238645921eff107597..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 278 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p zGsV-zF+^f&Z{J2%=Sac#6dQiY1iyx* ze5(?8%fyV=NNjuRJ7co2n_t=ksXueGzfAKvopAp5iVZ7xZdch}`zL*C+qF0!PuBRo ZjQO|P?kxRu=n2q$44$rjF6*2UngD-Ra%}(r diff --git a/graphics/event_objects/pics/effects/tree_disguise/2.png b/graphics/event_objects/pics/effects/tree_disguise/2.png deleted file mode 100644 index 2cca165c5fe4d53c46fb15905960103d1430fb44..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 248 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p zQ|9U77$PxsZI>h0;Q$WSy(zbH!}dD8;N92w<|?kTg(kH|k2zy9gw7T#a2IpfP&POcT1_X;-of?UPm>FVdQ&MBb@06&CaPyhe` diff --git a/graphics/event_objects/pics/effects/tree_disguise/3.png b/graphics/event_objects/pics/effects/tree_disguise/3.png deleted file mode 100644 index 85dd30cfd5317b0f89044b0c45d6959b5d4c2dc7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 249 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p zQ|{^F7$Pxs? u&b+V9PMmr?Y5w7J*)2!k1_4yIxt#aI&L7tG-B>_!@p zlj!N<7$PzCZ1+aqBL+OomiuxQ_8!$r)lgWxgum&!p1!1JU5kCgBTruICyndTC->FD#W-{H5!3fG@qbU1F` YxmAHhZ}&bq544QI)78&qol`;+0O^ie)c^nh diff --git a/graphics/event_objects/pics/effects/tree_disguise/5.png b/graphics/event_objects/pics/effects/tree_disguise/5.png deleted file mode 100644 index 2ffd56fcc4a4f46c46eea7b054f068fd5e2eeaad..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 216 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt!(TUGo3xmj6em+?!Hd z?dW*+?7ca2_Ii0$7w=_otY#3fWH_7THN{dhNPyx0e~>1_4yIxt#aI&L7tG-B>_!@p z6XxmS7$Pw>IYFYUVXq7emxRQrOAZQi8?&#TnrWPVHs<7ptgC0HZcbbGDrLsSjYUt_ zM9M0-U0=IZ`#{fb2Zp3C_x2Wld&isN=KlWfZu0|K2Nq0DR1;xfV4r2tH{-D;$W{hV LS3j3^P61_4yIxt#aI&L7tG-B>_!@p zqvYx07$Pw>IYDCC0v%o+A&F`GnVZvjPCFk|n4`f~ZOOvGkdh!X;m~?1AE0UmPgg&e IbxsLQ0M8vXegFUf diff --git a/graphics/event_objects/pics/effects/unknown_17.png b/graphics/event_objects/pics/effects/unknown_17.png new file mode 100644 index 0000000000000000000000000000000000000000..fedf86a10b0c4b18174196b3daea785d8da95ae1 GIT binary patch literal 663 zcmV;I0%-k-P)W?zI1dgT-Pwi!n-C2r)qb zVyy0Bti_AX_LS!Tl!IcltdykH#dF1^L9~Myq-xfeFLeL_00Cl4M@0Xn2lB-L0004W zQchC73Jzz!z^bq$!J(^EuG$X#g7h^w+)iuYyYwLYu+WTIof^p+mvVjr!*&RSuTF+bDa5^!1mlnqmB+&Z@8*7_5Ng!wmf|6O=t z+XN}*Ub$a)jE+=Qylv`NFV=5-ZF(Yz-)Co_>Ei9WOD(2wLYu+WTIof^p+mvVjr!*&RSuGZOjO03g`tJoguFTY}+_L)hM^NVwLYu+WTIof^p+mvVjr!*&RSu6sooC-Cbp w+kNWO+=6tOA~T*#y&*S3`XZlsg&%mso}?DEzGRJ?2G9)*p00i_>zopr0G^Fwv;Y7A diff --git a/graphics/event_objects/pics/effects/unknown_17/3.png b/graphics/event_objects/pics/effects/unknown_17/3.png deleted file mode 100644 index 2f9a20019a2bfd01d3f7740bec68a2df3bc4a6ac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 250 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUE#CWX%m3!)qe+(ChF(z| zhK>wLYu+WTIof^p+mvVjr!*&RSu5IyZ z_z!_`Y}*s(89h{u{XScw%_niqit6qgyOngqEbsHax~(+d#O3xgZxd$mhi9g7SQef& wh>;I$N#CmVUrc1lv)Mit&bJ-c<;tFVdQ&MBb@04Kp@Z2$lO diff --git a/graphics/event_objects/pics/effects/unknown_17/4.png b/graphics/event_objects/pics/effects/unknown_17/4.png deleted file mode 100644 index ce0bc29aadac35333ae5a2dd5066e51127fa990a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 242 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUE#CWX%m3!)qe+(ChF(z| zhK>wLYu+WTIof^p+mvVjr!*&RSue)#kY@3e8>teEd!+nQp(CowLYu+WTIof^p+mvVjr!*&RSu;I|X5;fn5sm>?L;^Nt&f~lqA`P1|k mZCuXMw}WqW##YtW2l=h%$NG3Y;jsnU%;4$j=d#Wzp$Py>8(*^k diff --git a/graphics/event_objects/pics/effects/unknown_17/6.png b/graphics/event_objects/pics/effects/unknown_17/6.png deleted file mode 100644 index 7e740a956985eea081884c29c17ce2c220916c94..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 240 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUE#CWX%m3!)qe+(ChF(z| zhK>wLYu+WTIof^p+mvVjr!*&RSu_!6z0coX&RFR2iSv{UlwGzU!{K m*-Ir}uE%|5<-3?K@xLgHIyzy=pA|rx89ZJ6T-G@yGywq8R9_hY diff --git a/graphics/event_objects/pics/effects/unknown_17/7.png b/graphics/event_objects/pics/effects/unknown_17/7.png deleted file mode 100644 index 25d90e16c1c2621e9c34fb457ea52948bba60d92..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 245 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUE#CWX%m3!)qe+(ChF(z| zhK>wLYu+WTIof^p+mvVjr!*&RSu5xr5I<6TuQx0rC8;( z4JPsJlioJZKk3ye*|w?8`-rhwl-S(!+l7ALeH!DXSYF+#!6?gH6jS3j3^P6NRbcy4ZW{D+P*QV>20`)Q`dAqy(U&{XJD2P)M{`}v3$F$mpjLjNzSEoNSOs-3u_pbHa)nTbEp-1*@->_u+z09s4NsZ@? z&JFY0gZ=8~?$Q9eZk2@G1(r5-%0T7KHhV6lcvq(IF3kp4L)-8&{K|F~e3 z^Ch_7^>N@G+j-S}LT%py_;-KVX}WzKPwWzY=C4Qpt=PRoel~A;mbBO`^AE4Lz1zNG y&oT+Ks;I4%r{&U>cv7h@-A}f$@5a1KynzZKKw`WJ+UEOkT%as5B|KEG|ZtvM=bGF<|nzQBq-e*8n z@18BWceeTJmaMaLKDIM25}cn_Ql40p%HZzf0yIXUEVW3%SkI)eb;(1Z5{{ArKX;&vF_6vR)u1U4q*&4& zeH|GXHuiJ>Nn{1`4FY^ZT$9$k`}XYUyQ^F7ZJF}_|Nnc>-t9g6Y|fT@NprUR-}?-x z>fN&?_s%w7-I8^74#<5SA0J)?QjAI7?k@kAvVS@X;*%I`maeY>av8iOA(&j0uE7ovtQH|`B zjy0W@B=*sGdCte4U^bnI$9#wEHmv7AHf7)D1P9X=b3ezNd`E_nztqNKpj9VlZAWHWd*XvzaAmUKs7 zM+SzC{oH>NS%G|m0G|-oq&4rpJv;jD>Xv(3ru_f^|K78Ad(S?bv*ljWoGt(NJ_D+H z_iV|%v&~nxWSyM@a$m>ChgX3VW0JSK%m1b9pN@h!B|(0{3=Yq3qyaero-U3d6?0ns zcJeY9awIcs{%>F+cYu{UrS(jKn^$R&h`7WoApxF$bu6{1-oD!M<^G9;# literal 0 HcmV?d00001 diff --git a/graphics/event_objects/pics/effects/unknown_33/unknown_33.png b/graphics/event_objects/pics/effects/unknown_33/unknown_33.png new file mode 100644 index 0000000000000000000000000000000000000000..67f589ece3770194de59164959372ee9cc68966b GIT binary patch literal 522 zcmeAS@N?(olHy`uVBq!ia0vp^0YEIk!VDyf)1Q6zNd`E_n!4!ckJ-=MI!H2C^Bv8Z_mB6id3J zuOkD)#(wTUiL5}rL4Z$)E0F&G|9?_a($%ZoYt}?{cRN1&c6RT(EzS3~B(3QN%Ax_E znc><%A;u(ccbET5**_fxaY};xf*Bm1-ADtn6+K-XLn`LdXL^9L>78;LdsT78 z3Agy1we1=ze>LyAa%6_Y7h9v{;R~Nw{^~ftJ=r1jnz&ZNQr+2xDvO`9ocndoPn)sJ zU^!z~^BU`ETrwvvL?rdGM?RG4+WNvJ)Y#*k)fvwzktSxxI0_9IN{-IDC|=Z+rkU1| z#^Bo;xzuJx(Z)!JTc%rcr)({{_UK}x<{ggL+*UO?}{(rq+wwBcXDUh81AV|{joh*G0EMiltDnm{r-UW|VeQOj literal 0 HcmV?d00001 diff --git a/graphics/event_objects/pics/effects/unknown_35/unknown_35.png b/graphics/event_objects/pics/effects/unknown_35/unknown_35.png new file mode 100644 index 0000000000000000000000000000000000000000..8dbffe36ca43309c37aa8d5c30126184c01f5a86 GIT binary patch literal 290 zcmeAS@N?(olHy`uVBq!ia0vp^3P3Et!VDx^^%Amx6nlxMuPgf_4o)#^ktdHoJOv7g zm$*ih1m~xflqVLYGPwJ=0F6;7OD$3`)-x$=UGfm9grlUu&mAaZ3}iESHE7BMDVB6c zUq=Rpjs4tz5?O(Kg8-ip*XA`||Ns9#`|bantN*=@{{PQF09osubqDHYO!9Vj`M;F? z(@_woB*-tA!Qt7BG$6;))5S5QVoq{`0;k0SZixll91lbqv`WR=qz)-DE$nSsVAR&6 u(6(7Yz~M^5iUS7C9NC4tMDB7JFfdfGu?o(YekK4kgu&C*&t;ucLK6UEs$=N@ literal 0 HcmV?d00001 diff --git a/graphics/event_objects/pics/effects/unused_grass/unused_grass.png b/graphics/event_objects/pics/effects/unused_grass/unused_grass.png new file mode 100644 index 0000000000000000000000000000000000000000..0c573b4aa4cd8e1b656f3f0186b3f560cc2567ec GIT binary patch literal 492 zcmeAS@N?(olHy`uVBq!ia0vp^4nQox!VDxsPNql!DfSXiUsv`=9Gv2ejB7&|faJwX zTq8%tO|tAZ^orszbYw_c^Db%4(eAU~rab#Ur8#NK znkh@J9xXn)#Bocr#FDIQ)AdV%dKr_v-Ch1KW&d;($QJN)aSW-L<2y01=&%Bhi>c{< z9zVVSX+8mESqI18^MBuOGP87W6*4-?WBq%}F@@mvOaBFx^8y8aGymm#E3(arC7^=s z;byU$VZ7U-y;UcDT=#I7)+Bc4O9#TDA0{12-M)$?``1woiDkLZRYf&*s@7cV5!8J9 zX)YssP*Z2n*%M4UyG_dc?nbccoZMlef8;=tL0R8H&0P%7x_=})@fY*Yn*V0mTO&jxYq*6kZ{L4o_GSOmC%@Tn8~x3{eSP7*6)}Z#@-_?beV_e$+Vz7g z)&DP;o67dPP$E{S4&#`4Y~hNDb1Vz gaclaAr_28_@}^ZV7Tj030}LnzPgg&ebxsLQ03}Dnc>n+a literal 0 HcmV?d00001 diff --git a/graphics/event_objects/pics/misc/breakable_rock.png b/graphics/event_objects/pics/misc/breakable_rock.png new file mode 100644 index 0000000000000000000000000000000000000000..db9926804df07c3aa3a595ae9f859f53050c94f0 GIT binary patch literal 497 zcmeAS@N?(olHy`uVBq!ia0vp^4nQox!VDxsPNql!DfSXiUsv`=9Gv2e*4dGjpMXN* zC9V-A!TD(=<%vb94DLQIKw}ijQi~Lf^-Ky|mplY2;V3Eaa|g;81KA8-4Vv;miY49A z*O7r?V?XzwL{=c*AiyWYwfN|g|5vyCKRV^!l;Ubf$Nx*VT+OQPb_|+w^jlQ-UID|P zElZNBiybX3CI0{a57Z=^JMTD*%WAUhn^qMdopH zlDt6j@}(bQc-Q@sXJneR|8MCz-w76{+ap$L?wMdC^k)y_gddluoU46!VZ*x%L9;~H zYJFszp0(Y5Mqj&OkM5T9T$OJfUvFL(bZV~EjdM#hMX&7jG|sEbwd#zIp0(uCvY$aJ zGNue${a?B>yqeYbeai-h7v4!5I)&eI{oL_JL4IMLVL?lq^A$tA)*W4i{M(%0JA7Ka zfcf3ythI8&%J1AwoYj1e6y18cd3W&3zBT3x6rMl!I9yzO*|@4a#rIuBy2uvg@6WZj jh5p<-eT9G3l#k4+i8qR7c(5)21`va%tDnm{r-UW|8NJI9 literal 0 HcmV?d00001 diff --git a/graphics/event_objects/pics/misc/breakable_rock/0.png b/graphics/event_objects/pics/misc/breakable_rock/0.png deleted file mode 100644 index 058324c86da7a83653e859b15890a2824f4c419e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 220 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUEk3&B|J5!3k50KarMTMB z@&A%7SF@_S9fPJE{T9`|SHLi6%aWw(Vn<6$iU0rq12xI!&N~jI7)yfuf*Bm1-ADs+ zqC8z3LpWyUcAw@wpupq2mm%qYWRRLd;7;*w(Flg6HC1c$>#C+T?%yznFR6W=_fN*s zl?iK-yg5wO6@r4UMhQ%vy6xbmNwt34XXR%ssb+8Me`fdo;_-K`mmjmfjIncwUl^nh Pw1vUb)z4*}Q$iB}aA{St diff --git a/graphics/event_objects/pics/misc/breakable_rock/1.png b/graphics/event_objects/pics/misc/breakable_rock/1.png deleted file mode 100644 index 6c8b3133a1e164410afc1683137d83ae55c6c129..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 219 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUEk3&B|J5!3k50KarMTMB z@&A%7SF@_S9fPJE{T9`|SHLi6%aWw(Vn<6$iU0rq12xI!&N~jI7)yfuf*Bm1-ADs+ zB0XIkLpWyk_FUvVV8G!LtB~?P(#O1G$^XEZh0HGNZgEzfxcj(8`PbsI>q|p2;zM~3 zKUp)Y@`Fym9L0$T5lU94Xn}=X6W#-+^gYG$e5VU`kc9h+vud5 zR{psH*TYuJ42=`J)nB}b;oP=9^jSr`*|N6J0+Dw!o$Si@JZ@hWC;Te9cHS?BOjUCo Ui8+fJfmShiy85}Sb4q9e0FH815&!@I diff --git a/graphics/event_objects/pics/misc/breakable_rock/3.png b/graphics/event_objects/pics/misc/breakable_rock/3.png deleted file mode 100644 index 89eedd1aa50f817f052bf04f30f20a5f70854fec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 221 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUEk3&B|J5!3k50KarMTMB z@&A%7SF@_S9fPJE{T9`|SHLi6%aWw(Vn<6$iU0rq12xI!&N~jI7)yfuf*Bm1-ADs+ zqCH(4LpWyU_8jDGFyLXfby)k(o?F4tLHiGTx9BcMPwgKQ-9@awG49`desA3-l>_TL zy&Z&fPc1mNw8^w)eWAnyvpB&d(KmsHXR4<~UTNz~ah|`XuZBhagXVVjR|DNig)WpMX#0UD!FmRh7>tY=c#y5u2H2}enRpF2>-7|3SuYS5GiQY`6? zzK#qG8~eHcB(ehe1_3@HuEj@}{J*;8|IsP;rW98@I-WgyZ_b>(US8G3dl?+783ZgD z&L(+HvD6F_VEF(4KTwll2U9VSVodUOclp1R{nJqprzFTPn8D%MjWi(Vv8Rh;NX4Ao z2^&`(HsEo6FXY7XPkVi1POH=Zh2G!Hm*t$dWDj^7e%Ghtqmatl(o?!)Ewz!8?bRg$5k$2Mi@IE-wvQ zpv1WTmuZ&Wu^-`nJ6xXuwS+jg?rE)QT`FVDeY*Qsw$;unrn?!Fyz+PL+%;{sf_9BY z=BnN9P2XM^)XG?E?!33Q^}D0;_pncXSEjq}@4jwwP2t|&eABybPV2Ambbr3ObtB*A v`X_V0R({*XDf{@=Wk)Rv#8Feo?hB^)hQ0(7Oztu6{1-oD!M literal 0 HcmV?d00001 diff --git a/graphics/event_objects/pics/misc/cuttable_tree/0.png b/graphics/event_objects/pics/misc/cuttable_tree/0.png deleted file mode 100644 index 509d8b03cfaf501ca0d91c5d0b71b0caf98ac95c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 222 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUEk3&B|J5!3k50KarMTMB z@$A`qbLQ;z@~ST0%ivheAYjRGHpy#>rDl)-!~g&Pftn0En2LcEV@Z%-FoVOh8)-mJ zjHioZ2**s{9z(tc10Lqxm&!}u?&lItp0qMs=c~ETp0*vXP0=})%a?pne(alR*1dgO zIiHS=lk1f#39r5><-w*K1I~y_38~F}f1+wn(cu*zG|aqKTI`H@`t5ur!@b-3!mYcl RFj_ diff --git a/graphics/event_objects/pics/misc/cuttable_tree/1.png b/graphics/event_objects/pics/misc/cuttable_tree/1.png deleted file mode 100644 index afa42cf1625e78fbbe0a6e2adb597d17ac52a735..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 230 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUEk3&B|J5!3k50KarMTMB z@$A`qbLQ;z@~ST0%ivheAYjRGHpy#>rDl)-!~g&Pftn0En2LcEV@Z%-FoVOh8)-mJ zil>WX2**s{9z(7M10L7^N|)xW&OUg0hxIkxXY7%E)3v>B aF8k4`nqHL(d`3X~7(8A5T-G@yGywopKvr4+ diff --git a/graphics/event_objects/pics/misc/cuttable_tree/2.png b/graphics/event_objects/pics/misc/cuttable_tree/2.png deleted file mode 100644 index f222ece4362e52aa15421c6bb5d31e5d5a45c988..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 231 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUEk3&B|J5!3k50KarMTMB z@$A`qbLQ;z@~ST0%ivheAYjRGHpy#>rDl)-!~g&Pftn0En2LcEV@Z%-FoVOh8)-mJ zs;7%%2*=Figa$@EHnww|0?(KvnDveyy}+30lQ4rZrDl)-!~g&Pftn0En2LcEV@Z%-FoVOh8)-m} zv8Rh;2*=Figar}>eh%plJ9&5*dBh#oa0k>}Z++-w5%ErMJ$E)^0ONaBwz&8S0{S7s Z4ABmp-FLWFZ3b#*@O1TaS?83{1OQs}IzRvb diff --git a/graphics/event_objects/pics/misc/mr_brineys_boat.png b/graphics/event_objects/pics/misc/mr_brineys_boat.png new file mode 100644 index 0000000000000000000000000000000000000000..e790eb172d7b241324e5f99fa4a799f3f0f8cb45 GIT binary patch literal 736 zcmV<60w4W}P)er2o~l|HYKvlyiGQLCwwH zoSeN%N_%s?06}{I5IF$NVoH=bDN+ys|Ns90001$F0&@TW00Cl4M@0Xn2lB-L0004W zQchC(R1~{~Dt7@hJG*>{ieV%Md<7MEIcM(d!}I=A(-*wwtw#kfc+bPv z0{=A91VH8hm(Tf=ghcP|zizeP`aU zAQtc0^I(%uOI!~DlQ0CrT2~fG_Jqh#C&eHTLlFp3VebuKeUj+CtWSVYw*}UlJvabB z*VQpFsV$IQ9s`+~I#~c@ql9S-tUEsjgh+JMU5qJ!w!nH_QwIxtT1a6=(vk4#xLtwF zWqt(c4){1*iVA=L%!G*ko*-Bj`0#EXaD(XE!|h{q(vdx|T*Ae95E?$ZeNZhh=y(Eb zD4{YoCEy1G@ro=WEZplWu3@Lt7MA89<6v_x_7Z*U0V-f%8FWBNvObRk41LTbrnJ@p zXfk_XW)fy|<9|XdFz1mF@!A4kkTvfClVE|}9e@bT=NrOS7T8>{Islz`B&C2t2)Ut^ zjDc(n2q)tauGF1DSboX?I5{A1J--9mo-!#`-x(NoH20v=C-YPGUd)y$rAeQfE5*Q+ zR_GK#wio9jI*;i3V{_n@vxaqO-}~7AF6~0|t6eEsp4V59y06|@>2&bkKz{%Tw2pkl SHZ7n40000;llibqa?zz|p7qC-Hgn5%Mn9I$(EJkR z^yf$ZpP~x|sc)QLGM$=lQ0>LAgz1K`jPLcB=*`M29Pe*s6I}3OR`l$n20ktgmf~~1 zOE~8F$SYL#1pF)x=1*nVaMnR<0R2_BHPSlpWQd=_cChlDSqo1<=6&vJcFmJpUXO@geCyU C4|lWx diff --git a/graphics/event_objects/pics/misc/mr_brineys_boat/1.png b/graphics/event_objects/pics/misc/mr_brineys_boat/1.png deleted file mode 100644 index 39b75fd73470ca7f97e9b0595a88dcac55086d42..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 297 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfvg8-ip*W#l~{$Jhl|LBx^Q;Mq{ z9nYS0&di~UBrguvYWS9$7~7$jttSe@c+Klkv&ffAO*i4N~q zJe)NxJBIg#fcF8Rln%z0X^A@y+`T3J<_ZtLeET%DTe{4%5)zUmQ*<2p4d;H_uv|RW tOkd2s^(Xmd$Fc1b{PcZTj4BZh@cZ$jrT)f2{$nT|cP(^wh zeXw@!QcEld79yr5o7IU8g>!18s(=vx5LsXD_i$F~*W4Wg{|W!C0F$o@Ch|GSgXJWy z5wdx34?2MhjcpGB2<`R|#z57610okpf4_3qV@t6T3}t{-ZghD=TR?y-BBR{Z`B3LU zVwRiLi@@k&pmUO#)y7Ad$%IsZQsBv`LeB=&Sk5@XywIFyTv;ybx)yjwK|Jp(%zSUu z>lz>}XI=>3O2vD~kkCS~GKw+v>qvdFQdS4}IJM7XT&8qosw>~SsgIyenbUvncKr%I m>TaL6wCJ-sWq15GKjjm5-=Yri4R$^N0000 Date: Fri, 10 Aug 2018 00:42:06 -0700 Subject: [PATCH 065/234] Continue decompiling field_specials --- asm/field_specials.s | 1551 --------------------------- common_syms/field_specials.txt | 1 + data/field_specials.s | 186 ---- graphics/misc/deoxys1.pal | 19 + graphics/misc/deoxys10.pal | 19 + graphics/misc/deoxys11.pal | 19 + graphics/misc/deoxys2.pal | 19 + graphics/misc/deoxys3.pal | 19 + graphics/misc/deoxys4.pal | 19 + graphics/misc/deoxys5.pal | 19 + graphics/misc/deoxys6.pal | 19 + graphics/misc/deoxys7.pal | 19 + graphics/misc/deoxys8.pal | 19 + graphics/misc/deoxys9.pal | 19 + graphics/unknown/unknown_5B3280.pal | 179 ---- include/decoration.h | 1 + include/field_effect.h | 5 +- include/field_specials.h | 2 +- include/menu.h | 1 + include/party_menu.h | 2 + include/strings.h | 168 ++- src/field_specials.c | 876 ++++++++++++++- src/menu.c | 1 - 23 files changed, 1230 insertions(+), 1952 deletions(-) create mode 100644 common_syms/field_specials.txt create mode 100644 graphics/misc/deoxys1.pal create mode 100644 graphics/misc/deoxys10.pal create mode 100644 graphics/misc/deoxys11.pal create mode 100644 graphics/misc/deoxys2.pal create mode 100644 graphics/misc/deoxys3.pal create mode 100644 graphics/misc/deoxys4.pal create mode 100644 graphics/misc/deoxys5.pal create mode 100644 graphics/misc/deoxys6.pal create mode 100644 graphics/misc/deoxys7.pal create mode 100644 graphics/misc/deoxys8.pal create mode 100644 graphics/misc/deoxys9.pal delete mode 100644 graphics/unknown/unknown_5B3280.pal diff --git a/asm/field_specials.s b/asm/field_specials.s index 6e6329a421..8b2fe920e6 100644 --- a/asm/field_specials.s +++ b/asm/field_specials.s @@ -5,1557 +5,6 @@ .text - thumb_func_start sub_813A4EC -sub_813A4EC: @ 813A4EC - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, =gTasks - adds r6, r0, r1 - ldrh r0, [r6, 0x24] - lsls r0, 24 - lsrs r0, 24 - bl ListMenuHandleInputGetItemId - adds r4, r0, 0 - movs r0, 0x2 - negs r0, r0 - cmp r4, r0 - beq _0813A51C - adds r0, 0x1 - cmp r4, r0 - bne _0813A530 - b _0813A566 - .pool -_0813A51C: - ldr r1, =gSpecialVar_Result - movs r0, 0x7F - strh r0, [r1] - movs r0, 0x5 - bl PlaySE - b _0813A54C - .pool -_0813A530: - ldr r0, =gSpecialVar_Result - strh r4, [r0] - movs r0, 0x5 - bl PlaySE - movs r1, 0x14 - ldrsh r0, [r6, r1] - cmp r0, 0 - beq _0813A54C - movs r1, 0xA - ldrsh r0, [r6, r1] - subs r0, 0x1 - cmp r4, r0 - bne _0813A558 -_0813A54C: - adds r0, r5, 0 - bl sub_813A570 - b _0813A566 - .pool -_0813A558: - adds r0, r5, 0 - bl sub_813A738 - ldr r0, =sub_813A600 - str r0, [r6] - bl EnableBothScriptContexts -_0813A566: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813A4EC - - thumb_func_start sub_813A570 -sub_813A570: @ 813A570 - push {r4,r5,lr} - sub sp, 0x4 - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - lsls r4, r5, 2 - adds r4, r5 - lsls r4, 3 - ldr r0, =gTasks - adds r4, r0 - ldrh r0, [r4, 0x24] - lsls r0, 24 - lsrs r0, 24 - mov r1, sp - bl ListMenuGetCurrentItemArrayId - ldrh r0, [r4, 0x1E] - mov r1, sp - ldrh r1, [r1] - bl sub_813AC44 - adds r0, r5, 0 - bl sub_813A738 - ldrh r0, [r4, 0x24] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - movs r2, 0 - bl DestroyListMenuTask - ldr r0, =gUnknown_0203AB64 - ldr r0, [r0] - bl Free - ldrh r0, [r4, 0x22] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x1 - bl sub_8198070 - ldrh r0, [r4, 0x22] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - bl FillWindowPixelBuffer - ldrh r0, [r4, 0x22] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x2 - bl CopyWindowToVram - ldrh r0, [r4, 0x22] - lsls r0, 24 - lsrs r0, 24 - bl RemoveWindow - adds r0, r5, 0 - bl DestroyTask - bl EnableBothScriptContexts - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813A570 - - thumb_func_start sub_813A600 -sub_813A600: @ 813A600 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r2, 0x14 - ldrsh r0, [r1, r2] - cmp r0, 0x1 - beq _0813A624 - cmp r0, 0x2 - bne _0813A624 - movs r0, 0x1 - strh r0, [r1, 0x14] - ldr r0, =sub_813A664 - str r0, [r1] -_0813A624: - pop {r0} - bx r0 - .pool - thumb_func_end sub_813A600 - - thumb_func_start sub_813A630 -sub_813A630: @ 813A630 - push {lr} - ldr r0, =sub_813A600 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0xFF - bne _0813A64C - bl EnableBothScriptContexts - b _0813A65C - .pool -_0813A64C: - ldr r0, =gTasks - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x14] - adds r0, 0x1 - strh r0, [r1, 0x14] -_0813A65C: - pop {r0} - bx r0 - .pool - thumb_func_end sub_813A630 - - thumb_func_start sub_813A664 -sub_813A664: @ 813A664 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl ScriptContext2_Enable - adds r0, r4, 0 - bl sub_813A694 - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_813A4EC - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813A664 - - thumb_func_start sub_813A694 -sub_813A694: @ 813A694 - push {r4,r5,lr} - sub sp, 0x10 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks - adds r4, r1, r0 - mov r1, sp - ldr r0, =gUnknown_085B3030 - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldr r0, [r0] - str r0, [r1] - movs r0, 0x8 - ldrsh r1, [r4, r0] - movs r2, 0xA - ldrsh r0, [r4, r2] - cmp r1, r0 - beq _0813A724 - mov r2, sp - movs r3, 0x10 - ldrsh r1, [r4, r3] - lsrs r0, r1, 31 - adds r1, r0 - asrs r1, 1 - lsls r1, 3 - adds r1, 0xC - movs r5, 0xC - ldrsh r0, [r4, r5] - subs r0, 0x1 - lsls r0, 3 - adds r1, r0 - movs r3, 0 - strb r1, [r2, 0x1] - mov r1, sp - movs r0, 0x8 - strb r0, [r1, 0x2] - movs r0, 0x10 - ldrsh r1, [r4, r0] - lsrs r0, r1, 31 - adds r1, r0 - asrs r1, 1 - lsls r1, 3 - adds r1, 0xC - movs r5, 0xC - ldrsh r0, [r4, r5] - subs r0, 0x1 - lsls r0, 3 - adds r1, r0 - strb r1, [r2, 0x4] - mov r1, sp - movs r2, 0x12 - ldrsh r0, [r4, r2] - lsls r0, 3 - adds r0, 0xA - strb r0, [r1, 0x5] - mov r0, sp - strh r3, [r0, 0x6] - mov r2, sp - ldrh r0, [r4, 0xA] - ldrh r1, [r4, 0x8] - subs r0, r1 - strh r0, [r2, 0x8] - ldr r1, =gUnknown_0203AB68 - mov r0, sp - bl AddScrollIndicatorArrowPair - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x20] -_0813A724: - add sp, 0x10 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813A694 - - thumb_func_start sub_813A738 -sub_813A738: @ 813A738 - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks - adds r2, r1, r0 - movs r0, 0x8 - ldrsh r1, [r2, r0] - movs r3, 0xA - ldrsh r0, [r2, r3] - cmp r1, r0 - beq _0813A75E - ldrh r0, [r2, 0x20] - lsls r0, 24 - lsrs r0, 24 - bl RemoveScrollIndicatorArrowPair -_0813A75E: - pop {r0} - bx r0 - .pool - thumb_func_end sub_813A738 - - thumb_func_start nullsub_55 -nullsub_55: @ 813A768 - bx lr - thumb_func_end nullsub_55 - - thumb_func_start sub_813A76C -sub_813A76C: @ 813A76C - push {r4-r6,lr} - movs r4, 0 - ldr r6, =gLinkPlayers - ldr r0, =0x0000401f - adds r5, r0, 0 -_0813A776: - lsls r0, r4, 3 - subs r0, r4 - lsls r0, 2 - adds r0, r6 - ldrb r0, [r0, 0x13] - cmp r0, 0 - bne _0813A79C - subs r0, r5, r4 - lsls r0, 16 - lsrs r0, 16 - movs r1, 0 - bl VarSet - b _0813A7A8 - .pool -_0813A79C: - subs r0, r5, r4 - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x69 - bl VarSet -_0813A7A8: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x1 - bls _0813A776 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_813A76C - - thumb_func_start sub_813A7B8 -sub_813A7B8: @ 813A7B8 - push {lr} - ldr r1, =gSpecialVar_0x8004 - ldrh r0, [r1] - cmp r0, 0x5 - bls _0813A7C6 - movs r0, 0 - strh r0, [r1] -_0813A7C6: - ldrh r1, [r1] - movs r0, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - bl GetNature - lsls r0, 24 - ldr r1, =gUnknown_085B3040 - lsrs r0, 22 - adds r0, r1 - ldr r0, [r0] - bl ShowFieldMessage - pop {r0} - bx r0 - .pool - thumb_func_end sub_813A7B8 - - thumb_func_start UpdateFrontierGambler -UpdateFrontierGambler: @ 813A7F4 - push {r4,r5,lr} - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - ldr r0, =0x00004030 - bl GetVarPointer - adds r5, r0, 0 - ldrh r0, [r5] - adds r4, r0 - strh r4, [r5] - ldrh r0, [r5] - movs r1, 0xC - bl __umodsi3 - strh r0, [r5] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end UpdateFrontierGambler - - thumb_func_start sub_813A820 -sub_813A820: @ 813A820 - push {r4,lr} - ldr r0, =0x00004030 - bl VarGet - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - ldr r1, =gUnknown_085B30A4 - lsls r0, r4, 2 - adds r0, r1 - ldr r0, [r0] - bl ShowFieldMessage - ldr r0, =0x00004031 - adds r1, r4, 0 - bl VarSet - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813A820 - - thumb_func_start sub_813A854 -sub_813A854: @ 813A854 - push {r4,lr} - ldr r4, =gUnknown_085B30D4 - ldr r0, =0x00004031 - bl VarGet - lsls r0, 16 - lsrs r0, 14 - adds r0, r4 - ldr r0, [r0] - bl ShowFieldMessage - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813A854 - - thumb_func_start sub_813A878 -sub_813A878: @ 813A878 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r0, =0x000040ce - bl VarGet - lsls r0, 16 - lsrs r7, r0, 16 - ldr r0, =0x00004031 - bl VarGet - lsls r0, 16 - lsrs r6, r0, 16 - ldr r0, =0x000040cf - bl VarGet - lsls r0, 16 - lsrs r5, r0, 16 - ldr r4, =0x00004033 - adds r0, r4, 0 - bl VarGet - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1 - bne _0813A8F0 - ldr r1, =gUnknown_085B3104 - lsls r0, r6, 1 - adds r0, r1 - ldrh r1, [r0] - lsls r0, r5, 8 - adds r0, r7 - cmp r1, r0 - bne _0813A8F0 - mov r0, r8 - cmp r0, 0 - beq _0813A8E8 - adds r0, r4, 0 - movs r1, 0x2 - bl VarSet - b _0813A8F0 - .pool -_0813A8E8: - adds r0, r4, 0 - movs r1, 0x3 - bl VarSet -_0813A8F0: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_813A878 - - thumb_func_start sub_813A8FC -sub_813A8FC: @ 813A8FC - push {lr} - sub sp, 0x2C - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r1, =0x00000eb8 - adds r0, r1 - ldrh r1, [r0] - add r0, sp, 0xC - movs r2, 0x1 - movs r3, 0x4 - bl ConvertIntToDecimalStringN - ldr r1, =gText_BP - bl StringCopy - movs r0, 0x1 - add r1, sp, 0xC - movs r2, 0x30 - bl GetStringRightAlignXOffset - adds r3, r0, 0 - ldr r0, =gUnknown_0203AB6D - ldrb r0, [r0] - lsls r3, 24 - lsrs r3, 24 - movs r1, 0x1 - str r1, [sp] - movs r1, 0 - str r1, [sp, 0x4] - str r1, [sp, 0x8] - movs r1, 0x1 - add r2, sp, 0xC - bl PrintTextOnWindow - add sp, 0x2C - pop {r0} - bx r0 - .pool - thumb_func_end sub_813A8FC - - thumb_func_start sub_813A958 -sub_813A958: @ 813A958 - push {r4,lr} - ldr r4, =gUnknown_0203AB6D - ldr r0, =gUnknown_085B311C - bl AddWindow - strb r0, [r4] - ldrb r0, [r4] - movs r1, 0 - bl SetStandardWindowBorderStyle - bl sub_813A8FC - ldrb r0, [r4] - movs r1, 0x2 - bl CopyWindowToVram - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813A958 - - thumb_func_start sub_813A988 -sub_813A988: @ 813A988 - push {r4,lr} - ldr r4, =gUnknown_0203AB6D - ldrb r0, [r4] - movs r1, 0x1 - bl sub_8198070 - ldrb r0, [r4] - bl RemoveWindow - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813A988 - - thumb_func_start sub_813A9A4 -sub_813A9A4: @ 813A9A4 - push {lr} - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r2, =0x00000eb8 - adds r1, r0, r2 - ldr r0, =gSpecialVar_0x8004 - ldrh r2, [r1] - ldrh r0, [r0] - cmp r2, r0 - bcs _0813A9C8 - movs r0, 0 - b _0813A9CA - .pool -_0813A9C8: - subs r0, r2, r0 -_0813A9CA: - strh r0, [r1] - pop {r0} - bx r0 - thumb_func_end sub_813A9A4 - - thumb_func_start sub_813A9D0 -sub_813A9D0: @ 813A9D0 - push {lr} - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r1, =0x00000eb8 - adds r2, r0, r1 - ldrh r1, [r2] - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - adds r1, r0 - ldr r0, =0x0000270f - cmp r1, r0 - ble _0813A9FC - strh r0, [r2] - b _0813A9FE - .pool -_0813A9FC: - strh r1, [r2] -_0813A9FE: - pop {r0} - bx r0 - thumb_func_end sub_813A9D0 - - thumb_func_start sub_813AA04 -sub_813AA04: @ 813AA04 - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r1, =0x00000eb8 - adds r0, r1 - ldrh r0, [r0] - bx lr - .pool - thumb_func_end sub_813AA04 - - thumb_func_start sub_813AA18 -sub_813AA18: @ 813AA18 - push {r4,lr} - ldr r4, =gUnknown_0203AB6E - ldr r0, =gUnknown_085B3124 - bl AddWindow - strb r0, [r4] - ldrb r0, [r4] - movs r1, 0 - bl SetStandardWindowBorderStyle - ldrb r0, [r4] - movs r1, 0x2 - bl CopyWindowToVram - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813AA18 - - thumb_func_start sub_813AA44 -sub_813AA44: @ 813AA44 - push {r4,lr} - ldr r4, =gUnknown_0203AB6E - ldrb r0, [r4] - movs r1, 0x1 - bl sub_8198070 - ldrb r0, [r4] - bl RemoveWindow - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813AA44 - - thumb_func_start sub_813AA60 -sub_813AA60: @ 813AA60 - push {r4,r5,lr} - sub sp, 0x10 - lsls r0, 16 - lsls r1, 16 - lsrs r5, r1, 16 - lsrs r4, r0, 16 - ldr r1, =0xfffd0000 - adds r0, r1 - lsrs r0, 16 - cmp r0, 0x3 - bls _0813AA78 - b _0813ABC2 -_0813AA78: - movs r0, 0xD8 - str r0, [sp] - movs r0, 0x20 - str r0, [sp, 0x4] - movs r0, 0 - movs r1, 0x11 - movs r2, 0 - movs r3, 0 - bl FillWindowPixelRect - cmp r4, 0x4 - beq _0813AAE8 - cmp r4, 0x4 - bgt _0813AAA0 - cmp r4, 0x3 - beq _0813AAAA - b _0813ABC2 - .pool -_0813AAA0: - cmp r4, 0x5 - beq _0813AB5C - cmp r4, 0x6 - beq _0813AB94 - b _0813ABC2 -_0813AAAA: - ldr r1, =gUnknown_085B3170 - lsls r0, r5, 2 - adds r0, r1 - ldr r2, [r0] - movs r0, 0 - str r0, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - str r4, [sp, 0xC] - movs r0, 0 - movs r1, 0x1 - movs r3, 0 - bl AddTextPrinterParameterized - ldr r1, =gUnknown_085B312C - lsls r0, r5, 1 - adds r1, r0, r1 - ldrh r5, [r1] - ldr r0, =0x0000ffff - cmp r5, r0 - beq _0813AB18 - b _0813AB2C - .pool -_0813AAE8: - ldr r1, =gUnknown_085B319C - lsls r0, r5, 2 - adds r0, r1 - ldr r2, [r0] - movs r0, 0 - str r0, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - movs r0, 0x3 - str r0, [sp, 0xC] - movs r0, 0 - movs r1, 0x1 - movs r3, 0 - bl AddTextPrinterParameterized - ldr r1, =gUnknown_085B3142 - lsls r0, r5, 1 - adds r1, r0, r1 - ldrh r5, [r1] - ldr r0, =0x0000ffff - cmp r5, r0 - bne _0813AB2C -_0813AB18: - ldrh r0, [r1] - bl sub_813ABD4 - b _0813ABC2 - .pool -_0813AB2C: - ldr r4, =0x0000157c - adds r0, r4, 0 - bl FreeSpriteTilesByTag - adds r0, r4, 0 - bl FreeSpritePaletteByTag - lsls r0, r5, 24 - lsrs r0, 24 - str r4, [sp] - str r4, [sp, 0x4] - movs r1, 0x21 - movs r2, 0x58 - movs r3, 0 - bl AddDecorationIconObject - ldr r1, =gUnknown_0203AB6C - strb r0, [r1] - b _0813ABC2 - .pool -_0813AB5C: - ldr r1, =gUnknown_085B31B4 - lsls r0, r5, 2 - adds r0, r1 - ldr r2, [r0] - movs r0, 0 - str r0, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - movs r0, 0x3 - str r0, [sp, 0xC] - movs r0, 0 - movs r1, 0x1 - movs r3, 0 - bl AddTextPrinterParameterized - ldr r1, =gUnknown_085B314E - lsls r0, r5, 1 - adds r0, r1 - ldrh r0, [r0] - bl sub_813ABD4 - b _0813ABC2 - .pool -_0813AB94: - ldr r1, =gUnknown_085B31D0 - lsls r0, r5, 2 - adds r0, r1 - ldr r2, [r0] - movs r0, 0 - str r0, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - movs r0, 0x3 - str r0, [sp, 0xC] - movs r0, 0 - movs r1, 0x1 - movs r3, 0 - bl AddTextPrinterParameterized - ldr r1, =gUnknown_085B315C - lsls r0, r5, 1 - adds r0, r1 - ldrh r0, [r0] - bl sub_813ABD4 -_0813ABC2: - add sp, 0x10 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813AA60 - - thumb_func_start sub_813ABD4 -sub_813ABD4: @ 813ABD4 - push {r4,r5,lr} - adds r5, r0, 0 - lsls r5, 16 - lsrs r5, 16 - ldr r4, =0x0000157c - adds r0, r4, 0 - bl FreeSpriteTilesByTag - adds r0, r4, 0 - bl FreeSpritePaletteByTag - adds r0, r4, 0 - adds r1, r4, 0 - adds r2, r5, 0 - bl AddItemIconSprite - ldr r4, =gUnknown_0203AB6C - strb r0, [r4] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x40 - beq _0813AC32 - ldr r3, =gSprites - ldrb r0, [r4] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r3 - ldrb r2, [r1, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - strb r0, [r1, 0x5] - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - movs r1, 0x24 - strh r1, [r0, 0x20] - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - movs r1, 0x5C - strh r1, [r0, 0x22] -_0813AC32: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813ABD4 - - thumb_func_start sub_813AC44 -sub_813AC44: @ 813AC44 - push {lr} - lsls r0, 16 - lsrs r1, r0, 16 - ldr r2, =gUnknown_0203AB6C - ldrb r0, [r2] - cmp r0, 0x40 - beq _0813AC70 - cmp r1, 0x6 - bgt _0813AC6A - cmp r1, 0x3 - blt _0813AC6A - adds r1, r0, 0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - bl DestroySpriteAndFreeResources -_0813AC6A: - ldr r1, =gUnknown_0203AB6C - movs r0, 0x40 - strb r0, [r1] -_0813AC70: - pop {r0} - bx r0 - .pool - thumb_func_end sub_813AC44 - - thumb_func_start sub_813AC7C -sub_813AC7C: @ 813AC7C - push {lr} - ldr r0, =gSpecialVar_0x8005 - ldrh r0, [r0] - cmp r0, 0 - beq _0813ACB8 - ldr r0, =gStringVar1 - ldr r2, =gUnknown_085B320C - ldr r1, =gSpecialVar_0x8004 - ldrh r1, [r1] - lsls r1, 1 - adds r1, r2 - ldrh r2, [r1] - movs r1, 0xD - muls r1, r2 - ldr r2, =gMoveNames - adds r1, r2 - bl StringCopy - b _0813ACD2 - .pool -_0813ACB8: - ldr r0, =gStringVar1 - ldr r2, =gUnknown_085B31F8 - ldr r1, =gSpecialVar_0x8004 - ldrh r1, [r1] - lsls r1, 1 - adds r1, r2 - ldrh r2, [r1] - movs r1, 0xD - muls r1, r2 - ldr r2, =gMoveNames - adds r1, r2 - bl StringCopy -_0813ACD2: - pop {r0} - bx r0 - .pool - thumb_func_end sub_813AC7C - - thumb_func_start sub_813ACE8 -sub_813ACE8: @ 813ACE8 - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - adds r5, r0, 0 - lsls r1, 16 - lsrs r6, r1, 16 - subs r0, 0x9 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bhi _0813AD20 - ldr r0, =gSpecialVar_0x8006 - ldrh r0, [r0] - cmp r0, 0 - bne _0813AD18 - ldr r4, =gUnknown_0203AB5E - ldr r0, =gUnknown_085B3220 - bl AddWindow - strb r0, [r4] - ldrb r0, [r4] - movs r1, 0 - bl SetStandardWindowBorderStyle -_0813AD18: - adds r0, r5, 0 - adds r1, r6, 0 - bl sub_813AD34 -_0813AD20: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813ACE8 - - thumb_func_start sub_813AD34 -sub_813AD34: @ 813AD34 - push {r4-r7,lr} - sub sp, 0xC - lsls r0, 24 - lsls r1, 16 - lsrs r5, r1, 16 - adds r7, r5, 0 - lsrs r6, r0, 24 - movs r1, 0xF7 - lsls r1, 24 - adds r0, r1 - lsrs r0, 24 - cmp r0, 0x1 - bhi _0813ADAC - ldr r4, =gUnknown_0203AB5E - ldrb r0, [r4] - movs r1, 0x60 - str r1, [sp] - movs r1, 0x30 - str r1, [sp, 0x4] - movs r1, 0x11 - movs r2, 0 - movs r3, 0 - bl FillWindowPixelRect - cmp r6, 0xA - bne _0813AD90 - ldrb r0, [r4] - ldr r2, =gUnknown_085B3254 - lsls r1, r5, 2 - adds r1, r2 - ldr r2, [r1] - movs r1, 0x1 - str r1, [sp] - movs r1, 0 - str r1, [sp, 0x4] - str r1, [sp, 0x8] - movs r1, 0x1 - movs r3, 0 - bl PrintTextOnWindow - b _0813ADAC - .pool -_0813AD90: - ldrb r0, [r4] - ldr r2, =gUnknown_085B3228 - lsls r1, r7, 2 - adds r1, r2 - ldr r2, [r1] - movs r1, 0x1 - str r1, [sp] - movs r1, 0 - str r1, [sp, 0x4] - str r1, [sp, 0x8] - movs r1, 0x1 - movs r3, 0 - bl PrintTextOnWindow -_0813ADAC: - add sp, 0xC - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813AD34 - - thumb_func_start sub_813ADB8 -sub_813ADB8: @ 813ADB8 - push {r4,lr} - ldr r4, =gUnknown_0203AB5E - ldrb r0, [r4] - movs r1, 0x1 - bl sub_8198070 - ldrb r0, [r4] - bl RemoveWindow - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813ADB8 - - thumb_func_start sub_813ADD4 -sub_813ADD4: @ 813ADD4 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x18 - ldr r0, =sub_813A600 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0xFF - beq _0813AE90 - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - ldr r1, =gTasks - adds r6, r0, r1 - ldrh r0, [r6, 0x24] - lsls r0, 24 - lsrs r0, 24 - mov r4, sp - adds r4, 0x16 - add r1, sp, 0x14 - adds r2, r4, 0 - bl ListMenuGetScrollAndRow - ldrh r0, [r6, 0x22] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - bl SetStandardWindowBorderStyle - movs r5, 0 - mov r9, r4 - ldr r0, =gUnknown_085B2CF0 - mov r8, r0 - movs r4, 0 -_0813AE1E: - ldrh r0, [r6, 0x22] - lsls r0, 24 - lsrs r0, 24 - add r1, sp, 0x14 - ldrh r2, [r1] - adds r2, r5 - lsls r2, 2 - ldr r1, =gSpecialVar_0x8004 - ldrh r1, [r1] - lsls r1, 6 - adds r2, r1 - add r2, r8 - ldr r2, [r2] - lsls r1, r5, 28 - lsrs r1, 24 - str r1, [sp] - movs r7, 0xFF - str r7, [sp, 0x4] - str r4, [sp, 0x8] - str r4, [sp, 0xC] - str r4, [sp, 0x10] - movs r1, 0x1 - movs r3, 0xA - bl sub_8199F74 - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x5 - bls _0813AE1E - ldrh r0, [r6, 0x22] - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gText_SelectorArrow - mov r3, r9 - ldrh r1, [r3] - lsls r1, 28 - lsrs r1, 24 - str r1, [sp] - str r7, [sp, 0x4] - movs r1, 0 - str r1, [sp, 0x8] - movs r1, 0x1 - movs r3, 0 - bl PrintTextOnWindow - ldrh r0, [r6, 0x22] - lsls r0, 24 - lsrs r0, 24 - bl PutWindowTilemap - ldrh r0, [r6, 0x22] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x3 - bl CopyWindowToVram -_0813AE90: - add sp, 0x18 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813ADD4 - - thumb_func_start sub_813AEB4 -sub_813AEB4: @ 813AEB4 - push {r4,lr} - movs r1, 0 - ldr r0, =gSpecialVar_0x8005 - strh r1, [r0] - ldr r0, =0x0000400e - bl VarGet - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - ldr r0, =0x0000400d - bl VarGet - lsls r0, 16 - lsrs r1, r0, 16 - cmp r4, 0 - beq _0813AF18 - movs r2, 0 - lsls r1, 1 - ldr r3, =gUnknown_0861500C - ldr r0, =gUnknown_085B320C - adds r0, r1, r0 - ldrh r1, [r0] -_0813AEE2: - lsls r0, r2, 1 - adds r0, r3 - ldrh r0, [r0] - cmp r0, r1 - beq _0813AF0C - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x1D - bls _0813AEE2 - b _0813AF38 - .pool -_0813AF0C: - ldr r0, =gSpecialVar_0x8005 - strh r2, [r0] - b _0813AF38 - .pool -_0813AF18: - movs r2, 0 - lsls r1, 1 - ldr r3, =gUnknown_0861500C - ldr r0, =gUnknown_085B31F8 - adds r0, r1, r0 - ldrh r1, [r0] -_0813AF24: - lsls r0, r2, 1 - adds r0, r3 - ldrh r0, [r0] - cmp r0, r1 - beq _0813AF0C - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x1D - bls _0813AF24 -_0813AF38: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813AEB4 - - thumb_func_start sub_813AF48 -sub_813AF48: @ 813AF48 - push {r4,r5,lr} - ldr r0, =sub_813A600 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0xFF - beq _0813AFB6 - lsls r4, r5, 2 - adds r4, r5 - lsls r4, 3 - ldr r0, =gTasks - adds r4, r0 - ldrh r0, [r4, 0x24] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - movs r2, 0 - bl DestroyListMenuTask - ldr r0, =gUnknown_0203AB64 - ldr r0, [r0] - bl Free - ldrh r0, [r4, 0x22] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x1 - bl sub_8198070 - ldrh r0, [r4, 0x22] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - bl FillWindowPixelBuffer - ldrh r0, [r4, 0x22] - lsls r0, 24 - lsrs r0, 24 - bl ClearWindowTilemap - ldrh r0, [r4, 0x22] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x2 - bl CopyWindowToVram - ldrh r0, [r4, 0x22] - lsls r0, 24 - lsrs r0, 24 - bl RemoveWindow - adds r0, r5, 0 - bl DestroyTask -_0813AFB6: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813AF48 - - thumb_func_start sub_813AFC8 -sub_813AFC8: @ 813AFC8 - push {lr} - ldr r0, =task_deoxys_sound - movs r1, 0x8 - bl CreateTask - pop {r0} - bx r0 - .pool - thumb_func_end sub_813AFC8 - - thumb_func_start task_deoxys_sound -task_deoxys_sound: @ 813AFDC - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r7, r0, 24 - ldr r0, =0x000008d4 - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0813B004 - ldr r1, =gSpecialVar_Result - movs r0, 0x3 - b _0813B06A - .pool -_0813B004: - ldr r0, =0x00004035 - mov r8, r0 - bl VarGet - lsls r0, 16 - lsrs r5, r0, 16 - ldr r4, =0x00004034 - adds r0, r4, 0 - bl VarGet - lsls r0, 16 - lsrs r6, r0, 16 - adds r0, r4, 0 - movs r1, 0 - bl VarSet - cmp r5, 0 - beq _0813B05C - ldr r0, =gUnknown_085B33F6 - subs r1, r5, 0x1 - adds r1, r0 - ldrb r0, [r1] - cmp r0, r6 - bcs _0813B05C - movs r0, 0 - bl sub_813B0B4 - mov r0, r8 - movs r1, 0 - bl VarSet - ldr r1, =gSpecialVar_Result - movs r0, 0 - strh r0, [r1] - b _0813B070 - .pool -_0813B05C: - cmp r5, 0xA - bne _0813B080 - ldr r0, =0x000008d4 - bl FlagSet - ldr r1, =gSpecialVar_Result - movs r0, 0x2 -_0813B06A: - strh r0, [r1] - bl EnableBothScriptContexts -_0813B070: - adds r0, r7, 0 - bl DestroyTask - b _0813B0A2 - .pool -_0813B080: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - lsls r0, r5, 24 - lsrs r0, 24 - bl sub_813B0B4 - ldr r0, =0x00004035 - adds r1, r5, 0 - bl VarSet - ldr r1, =gSpecialVar_Result - movs r0, 0x1 - strh r0, [r1] - adds r0, r7, 0 - bl DestroyTask -_0813B0A2: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end task_deoxys_sound - - thumb_func_start sub_813B0B4 -sub_813B0B4: @ 813B0B4 - push {r4,r5,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 5 - ldr r1, =gUnknown_085B3280 - adds r0, r1 - movs r1, 0xD0 - lsls r1, 1 - movs r2, 0x8 - bl LoadPalette - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldrb r1, [r0, 0x5] - ldrb r2, [r0, 0x4] - movs r0, 0x1 - mov r3, sp - bl TryGetEventObjectIdByLocalIdAndMap - cmp r4, 0 - bne _0813B0F0 - movs r0, 0xC4 - bl PlaySE - b _0813B0F8 - .pool -_0813B0F0: - movs r0, 0x82 - lsls r0, 1 - bl PlaySE -_0813B0F8: - ldr r0, =sub_813B160 - movs r1, 0x8 - bl CreateTask - ldr r3, =gFieldEffectArguments - movs r0, 0x1 - str r0, [r3] - movs r0, 0x3A - str r0, [r3, 0x4] - movs r0, 0x1A - str r0, [r3, 0x8] - ldr r0, =gUnknown_085B33E0 - lsls r2, r4, 1 - adds r1, r2, r0 - ldrb r1, [r1] - str r1, [r3, 0xC] - adds r0, 0x1 - adds r0, r2, r0 - ldrb r0, [r0] - str r0, [r3, 0x10] - adds r5, r2, 0 - cmp r4, 0 - bne _0813B138 - movs r0, 0x3C - b _0813B13A - .pool -_0813B138: - movs r0, 0x5 -_0813B13A: - str r0, [r3, 0x14] - movs r0, 0x42 - bl FieldEffectStart - ldr r0, =gUnknown_085B33E0 - adds r1, r5, r0 - ldrb r1, [r1] - adds r0, 0x1 - adds r0, r5, r0 - ldrb r2, [r0] - movs r0, 0x1 - bl Overworld_SetEventObjTemplateCoords - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813B0B4 - - thumb_func_start sub_813B160 -sub_813B160: @ 813B160 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0x42 - bl FieldEffectActiveListContains - lsls r0, 24 - cmp r0, 0 - bne _0813B17C - bl EnableBothScriptContexts - adds r0, r4, 0 - bl DestroyTask -_0813B17C: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_813B160 - - thumb_func_start increment_var_x4026_on_birth_island_modulo_100 -increment_var_x4026_on_birth_island_modulo_100: @ 813B184 - push {r4,lr} - ldr r4, =0x00004034 - adds r0, r4, 0 - bl VarGet - lsls r0, 16 - lsrs r2, r0, 16 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldrh r1, [r0, 0x4] - ldr r0, =0x00003a1a - cmp r1, r0 - bne _0813B1C8 - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0x63 - bls _0813B1C0 - adds r0, r4, 0 - movs r1, 0 - bl VarSet - b _0813B1C8 - .pool -_0813B1C0: - adds r0, r4, 0 - adds r1, r2, 0 - bl VarSet -_0813B1C8: - pop {r4} - pop {r0} - bx r0 - thumb_func_end increment_var_x4026_on_birth_island_modulo_100 - - thumb_func_start sub_813B1D0 -sub_813B1D0: @ 813B1D0 - push {lr} - ldr r0, =0x00004035 - bl VarGet - lsls r0, 24 - lsrs r0, 19 - ldr r1, =gUnknown_085B3280 - adds r0, r1 - movs r1, 0xD0 - lsls r1, 1 - movs r2, 0x8 - bl LoadPalette - movs r0, 0x80 - lsls r0, 19 - movs r1, 0x10 - movs r2, 0 - bl BlendPalettes - pop {r0} - bx r0 - .pool - thumb_func_end sub_813B1D0 - - thumb_func_start set_unknown_box_id -@ void set_unknown_box_id(char id) -set_unknown_box_id: @ 813B204 - ldr r1, =gUnknown_0203AB6F - strb r0, [r1] - bx lr - .pool - thumb_func_end set_unknown_box_id - - thumb_func_start get_unknown_box_id -get_unknown_box_id: @ 813B210 - ldr r0, =gUnknown_0203AB6F - ldrb r0, [r0] - bx lr - .pool - thumb_func_end get_unknown_box_id - thumb_func_start sub_813B21C sub_813B21C: @ 813B21C push {r4,r5,lr} diff --git a/common_syms/field_specials.txt b/common_syms/field_specials.txt new file mode 100644 index 0000000000..25d874a656 --- /dev/null +++ b/common_syms/field_specials.txt @@ -0,0 +1 @@ +gUnknown_030061D0 diff --git a/data/field_specials.s b/data/field_specials.s index 0f52cb891c..1c2fb32da8 100644 --- a/data/field_specials.s +++ b/data/field_specials.s @@ -3,192 +3,6 @@ .section .rodata - .align 2 -gUnknown_085B3030:: @ 85B3030 - .4byte 0x03000002, 0x00000000, 0x07d00000, 0x00000064 - - .align 2 -gUnknown_085B3040:: @ 85B3040 - .4byte BattleFrontier_Lounge5_Text_26468D - .4byte BattleFrontier_Lounge5_Text_2646E5 - .4byte BattleFrontier_Lounge5_Text_264741 - .4byte BattleFrontier_Lounge5_Text_2647A4 - .4byte BattleFrontier_Lounge5_Text_2647FC - .4byte BattleFrontier_Lounge5_Text_264858 - .4byte BattleFrontier_Lounge5_Text_2648BE - .4byte BattleFrontier_Lounge5_Text_264916 - .4byte BattleFrontier_Lounge5_Text_264972 - .4byte BattleFrontier_Lounge5_Text_2649D5 - .4byte BattleFrontier_Lounge5_Text_264A3F - .4byte BattleFrontier_Lounge5_Text_264A9B - .4byte BattleFrontier_Lounge5_Text_264AF3 - .4byte BattleFrontier_Lounge5_Text_264B5D - .4byte BattleFrontier_Lounge5_Text_2648BE - .4byte BattleFrontier_Lounge5_Text_264BC3 - .4byte BattleFrontier_Lounge5_Text_264C36 - .4byte BattleFrontier_Lounge5_Text_2648BE - .4byte BattleFrontier_Lounge5_Text_264C95 - .4byte BattleFrontier_Lounge5_Text_264D01 - .4byte BattleFrontier_Lounge5_Text_264D6B - .4byte BattleFrontier_Lounge5_Text_264DD7 - .4byte BattleFrontier_Lounge5_Text_264E33 - .4byte BattleFrontier_Lounge5_Text_264E8F - .4byte BattleFrontier_Lounge5_Text_2648BE - - .align 2 -gUnknown_085B30A4:: @ 85B30A4 - .4byte BattleFrontier_Lounge3_Text_262261 - .4byte BattleFrontier_Lounge3_Text_26230D - .4byte BattleFrontier_Lounge3_Text_2623B9 - .4byte BattleFrontier_Lounge3_Text_262464 - .4byte BattleFrontier_Lounge3_Text_26250E - .4byte BattleFrontier_Lounge3_Text_2625B8 - .4byte BattleFrontier_Lounge3_Text_26266A - .4byte BattleFrontier_Lounge3_Text_26271C - .4byte BattleFrontier_Lounge3_Text_2627C9 - .4byte BattleFrontier_Lounge3_Text_262876 - .4byte BattleFrontier_Lounge3_Text_26291A - .4byte BattleFrontier_Lounge3_Text_2629BC - - .align 2 -gUnknown_085B30D4:: @ 85B30D4 - .4byte BattleFrontier_Lounge3_Text_262C04 - .4byte BattleFrontier_Lounge3_Text_262C90 - .4byte BattleFrontier_Lounge3_Text_262D1C - .4byte BattleFrontier_Lounge3_Text_262DA7 - .4byte BattleFrontier_Lounge3_Text_262E34 - .4byte BattleFrontier_Lounge3_Text_262EC1 - .4byte BattleFrontier_Lounge3_Text_262F56 - .4byte BattleFrontier_Lounge3_Text_262FEB - .4byte BattleFrontier_Lounge3_Text_263078 - .4byte BattleFrontier_Lounge3_Text_263105 - .4byte BattleFrontier_Lounge3_Text_26318C - .4byte BattleFrontier_Lounge3_Text_263211 - - .align 1 -gUnknown_085B3104:: @ 85B3104 - .2byte 0x0000, 0x0001, 0x0002, 0x0100, 0x0101, 0x0400, 0x0401, 0x0200, 0x0201, 0x0300, 0x0500, 0x0600 - - .align 2 -gUnknown_085B311C:: @ 85B311C - window_template 0x00, 0x01, 0x01, 0x06, 0x02, 0x0f, 0x0008 - - .align 2 -gUnknown_085B3124:: @ 85B3124 - window_template 0x00, 0x02, 0x09, 0x04, 0x04, 0x0f, 0x0014 - - .align 1 -gUnknown_085B312C:: @ 85B312C - .2byte 0x004b, 0x0067, 0x0057, 0x004f, 0x0054, 0x0055, 0x0056, 0x0050, 0x0051, 0x0052, 0xffff - - .align 1 -gUnknown_085B3142:: @ 85B3142 - .2byte 0x0071, 0x006f, 0x0072, 0x0073, 0x0074, 0xffff - - .align 1 -gUnknown_085B314E:: @ 85B314E - .2byte 0x0040, 0x0043, 0x0041, 0x0046, 0x0042, 0x003f, 0xffff - - .align 1 -gUnknown_085B315C:: @ 85B315C - .2byte 0x00c8, 0x00b4, 0x00b7, 0x00b9, 0x00b3, 0x00ba, 0x00bb, 0x00c4, 0x00c6, 0xffff - - .align 2 -gUnknown_085B3170:: @ 85B3170 - .4byte BattleFrontier_BattlePointExchangeServiceCorner_Text_2601AA - .4byte BattleFrontier_BattlePointExchangeServiceCorner_Text_2601D0 - .4byte BattleFrontier_BattlePointExchangeServiceCorner_Text_260201 - .4byte BattleFrontier_BattlePointExchangeServiceCorner_Text_26022F - .4byte BattleFrontier_BattlePointExchangeServiceCorner_Text_26025B - .4byte BattleFrontier_BattlePointExchangeServiceCorner_Text_260287 - .4byte BattleFrontier_BattlePointExchangeServiceCorner_Text_2602B5 - .4byte BattleFrontier_BattlePointExchangeServiceCorner_Text_2602E0 - .4byte BattleFrontier_BattlePointExchangeServiceCorner_Text_26030F - .4byte BattleFrontier_BattlePointExchangeServiceCorner_Text_26033E - .4byte gText_Exit - - .align 2 -gUnknown_085B319C:: @ 85B319C - .4byte BattleFrontier_BattlePointExchangeServiceCorner_Text_26036C - .4byte BattleFrontier_BattlePointExchangeServiceCorner_Text_26036C - .4byte BattleFrontier_BattlePointExchangeServiceCorner_Text_26036C - .4byte BattleFrontier_BattlePointExchangeServiceCorner_Text_26036C - .4byte BattleFrontier_BattlePointExchangeServiceCorner_Text_26036C - .4byte gText_Exit - - .align 2 -gUnknown_085B31B4:: @ 85B31B4 - .4byte BattleFrontier_BattlePointExchangeServiceCorner_Text_260397 - .4byte BattleFrontier_BattlePointExchangeServiceCorner_Text_2603BE - .4byte BattleFrontier_BattlePointExchangeServiceCorner_Text_2603E6 - .4byte BattleFrontier_BattlePointExchangeServiceCorner_Text_26040E - .4byte BattleFrontier_BattlePointExchangeServiceCorner_Text_260436 - .4byte BattleFrontier_BattlePointExchangeServiceCorner_Text_26045C - .4byte gText_Exit - - .align 2 -gUnknown_085B31D0:: @ 85B31D0 - .4byte BattleFrontier_BattlePointExchangeServiceCorner_Text_26047A - .4byte BattleFrontier_BattlePointExchangeServiceCorner_Text_2604AC - .4byte BattleFrontier_BattlePointExchangeServiceCorner_Text_2604D8 - .4byte BattleFrontier_BattlePointExchangeServiceCorner_Text_26050F - .4byte BattleFrontier_BattlePointExchangeServiceCorner_Text_260542 - .4byte BattleFrontier_BattlePointExchangeServiceCorner_Text_260575 - .4byte BattleFrontier_BattlePointExchangeServiceCorner_Text_2605A8 - .4byte BattleFrontier_BattlePointExchangeServiceCorner_Text_2605E2 - .4byte BattleFrontier_BattlePointExchangeServiceCorner_Text_260613 - .4byte gText_Exit - - .align 1 -gUnknown_085B31F8:: @ 85B31F8 - .2byte 0x0087, 0x0045, 0x008a, 0x0005, 0x0019, 0x0022, 0x009d, 0x0044, 0x0056, 0x000e - - .align 1 -gUnknown_085B320C:: @ 85B320C - .2byte 0x006f, 0x00ad, 0x00bd, 0x0081, 0x00c4, 0x00cb, 0x00f4, 0x0008, 0x0009, 0x0007 - - .align 2 -gUnknown_085B3220:: @ 85B3220 - window_template 0x00, 0x01, 0x07, 0x0c, 0x06, 0x0f, 0x001c - - .align 2 -gUnknown_085B3228:: @ 85B3228 - .4byte BattleFrontier_Lounge7_Text_265E30 - .4byte BattleFrontier_Lounge7_Text_265E5B - .4byte BattleFrontier_Lounge7_Text_265E8A - .4byte BattleFrontier_Lounge7_Text_265EC0 - .4byte BattleFrontier_Lounge7_Text_265EED - .4byte BattleFrontier_Lounge7_Text_265F1C - .4byte BattleFrontier_Lounge7_Text_265F47 - .4byte BattleFrontier_Lounge7_Text_265F77 - .4byte BattleFrontier_Lounge7_Text_265FAA - .4byte BattleFrontier_Lounge7_Text_265FDD - .4byte gText_Exit - - .align 2 -gUnknown_085B3254:: @ 85B3254 - .4byte BattleFrontier_Lounge7_Text_26600A - .4byte BattleFrontier_Lounge7_Text_26603E - .4byte BattleFrontier_Lounge7_Text_266070 - .4byte BattleFrontier_Lounge7_Text_2660A6 - .4byte BattleFrontier_Lounge7_Text_2660D0 - .4byte BattleFrontier_Lounge7_Text_2660FF - .4byte BattleFrontier_Lounge7_Text_26612D - .4byte BattleFrontier_Lounge7_Text_26615F - .4byte BattleFrontier_Lounge7_Text_266185 - .4byte BattleFrontier_Lounge7_Text_2661B5 - .4byte gText_Exit - - .align 2 -gUnknown_085B3280:: @ 85B3280 - .incbin "graphics/unknown/unknown_5B3280.gbapal" - -gUnknown_085B33E0:: @ 85B33E0 - .byte 0x0f, 0x0c, 0x0b, 0x0e, 0x0f, 0x08, 0x13, 0x0e, 0x0c, 0x0b, 0x12, 0x0b, 0x0f, 0x0e, 0x0b, 0x0e, 0x13, 0x0e, 0x0f, 0x0f, 0x0f, 0x0a - -gUnknown_085B33F6:: @ 85B33F6 - .byte 0x04, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x06, 0x03, 0x03 - gUnknown_085B3400:: @ 85B3400 .byte 0x1d, 0x1d, 0x1e, 0x1e, 0x1f, 0x1f, 0x21, 0x21, 0x14, 0x14, 0x28, 0x28, 0x2a, 0x2a, 0x2c, 0x2c diff --git a/graphics/misc/deoxys1.pal b/graphics/misc/deoxys1.pal new file mode 100644 index 0000000000..d90c4cb38d --- /dev/null +++ b/graphics/misc/deoxys1.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +180 180 180 +148 148 148 +90 90 98 +57 57 74 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +222 222 222 +0 0 0 diff --git a/graphics/misc/deoxys10.pal b/graphics/misc/deoxys10.pal new file mode 100644 index 0000000000..8bdd860fb8 --- /dev/null +++ b/graphics/misc/deoxys10.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +246 197 156 +238 82 82 +189 32 32 +123 8 8 +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 +0 0 0 diff --git a/graphics/misc/deoxys11.pal b/graphics/misc/deoxys11.pal new file mode 100644 index 0000000000..9a9ee25309 --- /dev/null +++ b/graphics/misc/deoxys11.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +255 205 156 +255 82 82 +205 32 32 +131 8 8 +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 +0 0 0 diff --git a/graphics/misc/deoxys2.pal b/graphics/misc/deoxys2.pal new file mode 100644 index 0000000000..38806db0f7 --- /dev/null +++ b/graphics/misc/deoxys2.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +180 180 172 +156 139 139 +98 82 90 +57 49 65 +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 +0 0 0 diff --git a/graphics/misc/deoxys3.pal b/graphics/misc/deoxys3.pal new file mode 100644 index 0000000000..24db0e3436 --- /dev/null +++ b/graphics/misc/deoxys3.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +189 180 172 +164 131 131 +106 74 82 +65 41 57 +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 +0 0 0 diff --git a/graphics/misc/deoxys4.pal b/graphics/misc/deoxys4.pal new file mode 100644 index 0000000000..5db08f3665 --- /dev/null +++ b/graphics/misc/deoxys4.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +197 180 172 +172 123 123 +123 65 74 +74 41 49 +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 +0 0 0 diff --git a/graphics/misc/deoxys5.pal b/graphics/misc/deoxys5.pal new file mode 100644 index 0000000000..25a62aae6c --- /dev/null +++ b/graphics/misc/deoxys5.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +205 189 164 +189 115 115 +131 65 65 +82 32 41 +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 +0 0 0 diff --git a/graphics/misc/deoxys6.pal b/graphics/misc/deoxys6.pal new file mode 100644 index 0000000000..0f636873e4 --- /dev/null +++ b/graphics/misc/deoxys6.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +213 189 164 +197 115 115 +148 57 65 +90 32 41 +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 +0 0 0 diff --git a/graphics/misc/deoxys7.pal b/graphics/misc/deoxys7.pal new file mode 100644 index 0000000000..2dba57eef4 --- /dev/null +++ b/graphics/misc/deoxys7.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +222 189 164 +205 106 106 +156 49 57 +98 24 32 +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 +0 0 0 diff --git a/graphics/misc/deoxys8.pal b/graphics/misc/deoxys8.pal new file mode 100644 index 0000000000..d46c269964 --- /dev/null +++ b/graphics/misc/deoxys8.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +230 197 156 +222 98 98 +164 49 49 +106 16 24 +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 +0 0 0 diff --git a/graphics/misc/deoxys9.pal b/graphics/misc/deoxys9.pal new file mode 100644 index 0000000000..f65fee0653 --- /dev/null +++ b/graphics/misc/deoxys9.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +238 197 156 +230 90 90 +180 41 41 +115 16 16 +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 +0 0 0 diff --git a/graphics/unknown/unknown_5B3280.pal b/graphics/unknown/unknown_5B3280.pal deleted file mode 100644 index a23813afb2..0000000000 --- a/graphics/unknown/unknown_5B3280.pal +++ /dev/null @@ -1,179 +0,0 @@ -JASC-PAL -0100 -176 -115 197 164 -180 180 180 -148 148 148 -90 90 98 -57 57 74 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -222 222 222 -0 0 0 -115 197 164 -180 180 172 -156 139 139 -98 82 90 -57 49 65 -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 -0 0 0 -115 197 164 -189 180 172 -164 131 131 -106 74 82 -65 41 57 -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 -0 0 0 -115 197 164 -197 180 172 -172 123 123 -123 65 74 -74 41 49 -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 -0 0 0 -115 197 164 -205 189 164 -189 115 115 -131 65 65 -82 32 41 -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 -0 0 0 -115 197 164 -213 189 164 -197 115 115 -148 57 65 -90 32 41 -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 -0 0 0 -115 197 164 -222 189 164 -205 106 106 -156 49 57 -98 24 32 -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 -0 0 0 -115 197 164 -230 197 156 -222 98 98 -164 49 49 -106 16 24 -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 -0 0 0 -115 197 164 -238 197 156 -230 90 90 -180 41 41 -115 16 16 -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 -0 0 0 -115 197 164 -246 197 156 -238 82 82 -189 32 32 -123 8 8 -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 -0 0 0 -115 197 164 -255 205 156 -255 82 82 -205 32 32 -131 8 8 -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 -0 0 0 diff --git a/include/decoration.h b/include/decoration.h index 76b2f2ec46..f613c25d2e 100644 --- a/include/decoration.h +++ b/include/decoration.h @@ -73,5 +73,6 @@ void sub_8126B2C(u8 taskId); void sub_8127208(u8 taskId); void sub_8127250(u8 *dest, u8 decorCat); bool8 IsSelectedDecorInThePC(void); +u8 AddDecorationIconObject(u8 decor, s16 x, s16 y, u8 priority, u16 tilesTag, u16 paletteTag); #endif //GUARD_DECORATION_H diff --git a/include/field_effect.h b/include/field_effect.h index 9c9501bfa8..cdabd5c992 100644 --- a/include/field_effect.h +++ b/include/field_effect.h @@ -74,7 +74,10 @@ enum FieldEffectScriptIdx FLDEFF_USE_FLY_ANCIENT_TOMB, FLDEFF_PCTURN_ON, FLDEFF_HALL_OF_FAME_RECORD, - FLDEFF_USE_TELEPORT + FLDEFF_USE_TELEPORT, + FLDEFF_64, + FLDEFF_65, + FLDEFF_66, }; extern s32 gFieldEffectArguments[8]; diff --git a/include/field_specials.h b/include/field_specials.h index c1f70a3996..8065b061c4 100644 --- a/include/field_specials.h +++ b/include/field_specials.h @@ -3,7 +3,7 @@ u8 GetLeadMonIndex(void); u8 sub_813B260(void); -u16 get_unknown_box_id(void); +u8 get_unknown_box_id(void); bool8 InMultiBattleRoom(void); #endif // GUARD_FIELD_SPECIALS_H diff --git a/include/menu.h b/include/menu.h index 0c191de575..4cc43dd4c5 100644 --- a/include/menu.h +++ b/include/menu.h @@ -84,5 +84,6 @@ void sub_819A344(u8 a0, u8 *dest, u8 color); void RemoveMapNamePopUpWindow(void); u8 GetMapNamePopUpWindowId(void); u8 AddMapNamePopUpWindow(void); +void sub_8199F74(u8 windowId, u8 fontId, const u8 *str, u8 left, u8 top, u8 speed, void (*callback)(struct TextSubPrinter *, u16), u8 letterSpacing, u8 lineSpacing); #endif // GUARD_MENU_H diff --git a/include/party_menu.h b/include/party_menu.h index d24bc817f7..cb2c388911 100644 --- a/include/party_menu.h +++ b/include/party_menu.h @@ -34,6 +34,8 @@ struct Struct203CEC8 extern struct Struct203CEC8 gUnknown_0203CEC8; +extern const u16 gUnknown_0861500C[]; + bool8 pokemon_has_move(struct Pokemon *, u16); void sub_81B58A8(void); void DoWallyTutorialBagMenu(void); diff --git a/include/strings.h b/include/strings.h index 14ff0048f3..afb26b7cbe 100644 --- a/include/strings.h +++ b/include/strings.h @@ -490,37 +490,6 @@ extern const u8 gText_B4F[]; extern const u8 gText_Rooftop[]; extern const u8 gText_ElevatorNowOn[]; -extern const u8 BattleFrontier_Lounge2_Text_260971[]; -extern const u8 BattleFrontier_Lounge2_Text_260A1E[]; -extern const u8 BattleFrontier_Lounge2_Text_260AE7[]; -extern const u8 BattleFrontier_Lounge2_Text_2619AC[]; -extern const u8 BattleFrontier_Lounge2_Text_261A91[]; -extern const u8 BattleFrontier_Lounge2_Text_261B0C[]; -extern const u8 BattleFrontier_Lounge2_Text_261B95[]; -extern const u8 BattleFrontier_Lounge2_Text_261B95[]; -extern const u8 BattleFrontier_Lounge2_Text_261B95[]; -extern const u8 BattleFrontier_Lounge2_Text_261C1A[]; -extern const u8 BattleFrontier_Lounge2_Text_261C1A[]; -extern const u8 BattleFrontier_Lounge2_Text_261C1A[]; -extern const u8 BattleFrontier_Lounge2_Text_260BC4[]; -extern const u8 BattleFrontier_Lounge2_Text_260C6D[]; -extern const u8 BattleFrontier_Lounge2_Text_260D3A[]; -extern const u8 BattleFrontier_Lounge2_Text_260E1E[]; -extern const u8 BattleFrontier_Lounge2_Text_260EC7[]; -extern const u8 BattleFrontier_Lounge2_Text_260F74[]; -extern const u8 BattleFrontier_Lounge2_Text_2614E6[]; -extern const u8 BattleFrontier_Lounge2_Text_261591[]; -extern const u8 BattleFrontier_Lounge2_Text_26166F[]; -extern const u8 BattleFrontier_Lounge2_Text_261282[]; -extern const u8 BattleFrontier_Lounge2_Text_261329[]; -extern const u8 BattleFrontier_Lounge2_Text_261403[]; -extern const u8 BattleFrontier_Lounge2_Text_261026[]; -extern const u8 BattleFrontier_Lounge2_Text_2610CC[]; -extern const u8 BattleFrontier_Lounge2_Text_261194[]; -extern const u8 BattleFrontier_Lounge2_Text_26174D[]; -extern const u8 BattleFrontier_Lounge2_Text_2617F9[]; -extern const u8 BattleFrontier_Lounge2_Text_2618C4[]; - extern const u8 gText_Exit[]; extern const u8 gText_BlueFlute[]; @@ -647,4 +616,141 @@ extern const u8 gText_Underpowered[]; extern const u8 gText_WhenInDanger[]; extern const u8 gText_Exit[]; +extern const u8 BattleFrontier_Lounge2_Text_260971[]; +extern const u8 BattleFrontier_Lounge2_Text_260A1E[]; +extern const u8 BattleFrontier_Lounge2_Text_260AE7[]; +extern const u8 BattleFrontier_Lounge2_Text_2619AC[]; +extern const u8 BattleFrontier_Lounge2_Text_261A91[]; +extern const u8 BattleFrontier_Lounge2_Text_261B0C[]; +extern const u8 BattleFrontier_Lounge2_Text_261B95[]; +extern const u8 BattleFrontier_Lounge2_Text_261B95[]; +extern const u8 BattleFrontier_Lounge2_Text_261B95[]; +extern const u8 BattleFrontier_Lounge2_Text_261C1A[]; +extern const u8 BattleFrontier_Lounge2_Text_261C1A[]; +extern const u8 BattleFrontier_Lounge2_Text_261C1A[]; +extern const u8 BattleFrontier_Lounge2_Text_260BC4[]; +extern const u8 BattleFrontier_Lounge2_Text_260C6D[]; +extern const u8 BattleFrontier_Lounge2_Text_260D3A[]; +extern const u8 BattleFrontier_Lounge2_Text_260E1E[]; +extern const u8 BattleFrontier_Lounge2_Text_260EC7[]; +extern const u8 BattleFrontier_Lounge2_Text_260F74[]; +extern const u8 BattleFrontier_Lounge2_Text_2614E6[]; +extern const u8 BattleFrontier_Lounge2_Text_261591[]; +extern const u8 BattleFrontier_Lounge2_Text_26166F[]; +extern const u8 BattleFrontier_Lounge2_Text_261282[]; +extern const u8 BattleFrontier_Lounge2_Text_261329[]; +extern const u8 BattleFrontier_Lounge2_Text_261403[]; +extern const u8 BattleFrontier_Lounge2_Text_261026[]; +extern const u8 BattleFrontier_Lounge2_Text_2610CC[]; +extern const u8 BattleFrontier_Lounge2_Text_261194[]; +extern const u8 BattleFrontier_Lounge2_Text_26174D[]; +extern const u8 BattleFrontier_Lounge2_Text_2617F9[]; +extern const u8 BattleFrontier_Lounge2_Text_2618C4[]; + +extern const u8 BattleFrontier_Lounge5_Text_26468D[]; +extern const u8 BattleFrontier_Lounge5_Text_2646E5[]; +extern const u8 BattleFrontier_Lounge5_Text_264741[]; +extern const u8 BattleFrontier_Lounge5_Text_2647A4[]; +extern const u8 BattleFrontier_Lounge5_Text_2647FC[]; +extern const u8 BattleFrontier_Lounge5_Text_264858[]; +extern const u8 BattleFrontier_Lounge5_Text_2648BE[]; +extern const u8 BattleFrontier_Lounge5_Text_264916[]; +extern const u8 BattleFrontier_Lounge5_Text_264972[]; +extern const u8 BattleFrontier_Lounge5_Text_2649D5[]; +extern const u8 BattleFrontier_Lounge5_Text_264A3F[]; +extern const u8 BattleFrontier_Lounge5_Text_264A9B[]; +extern const u8 BattleFrontier_Lounge5_Text_264AF3[]; +extern const u8 BattleFrontier_Lounge5_Text_264B5D[]; +extern const u8 BattleFrontier_Lounge5_Text_2648BE[]; +extern const u8 BattleFrontier_Lounge5_Text_264BC3[]; +extern const u8 BattleFrontier_Lounge5_Text_264C36[]; +extern const u8 BattleFrontier_Lounge5_Text_2648BE[]; +extern const u8 BattleFrontier_Lounge5_Text_264C95[]; +extern const u8 BattleFrontier_Lounge5_Text_264D01[]; +extern const u8 BattleFrontier_Lounge5_Text_264D6B[]; +extern const u8 BattleFrontier_Lounge5_Text_264DD7[]; +extern const u8 BattleFrontier_Lounge5_Text_264E33[]; +extern const u8 BattleFrontier_Lounge5_Text_264E8F[]; +extern const u8 BattleFrontier_Lounge5_Text_2648BE[]; + +extern const u8 BattleFrontier_Lounge3_Text_262261[]; +extern const u8 BattleFrontier_Lounge3_Text_26230D[]; +extern const u8 BattleFrontier_Lounge3_Text_2623B9[]; +extern const u8 BattleFrontier_Lounge3_Text_262464[]; +extern const u8 BattleFrontier_Lounge3_Text_26250E[]; +extern const u8 BattleFrontier_Lounge3_Text_2625B8[]; +extern const u8 BattleFrontier_Lounge3_Text_26266A[]; +extern const u8 BattleFrontier_Lounge3_Text_26271C[]; +extern const u8 BattleFrontier_Lounge3_Text_2627C9[]; +extern const u8 BattleFrontier_Lounge3_Text_262876[]; +extern const u8 BattleFrontier_Lounge3_Text_26291A[]; +extern const u8 BattleFrontier_Lounge3_Text_2629BC[]; + +extern const u8 BattleFrontier_Lounge3_Text_262C04[]; +extern const u8 BattleFrontier_Lounge3_Text_262C90[]; +extern const u8 BattleFrontier_Lounge3_Text_262D1C[]; +extern const u8 BattleFrontier_Lounge3_Text_262DA7[]; +extern const u8 BattleFrontier_Lounge3_Text_262E34[]; +extern const u8 BattleFrontier_Lounge3_Text_262EC1[]; +extern const u8 BattleFrontier_Lounge3_Text_262F56[]; +extern const u8 BattleFrontier_Lounge3_Text_262FEB[]; +extern const u8 BattleFrontier_Lounge3_Text_263078[]; +extern const u8 BattleFrontier_Lounge3_Text_263105[]; +extern const u8 BattleFrontier_Lounge3_Text_26318C[]; +extern const u8 BattleFrontier_Lounge3_Text_263211[]; + +extern const u8 gText_BP[]; + +extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_2601AA[]; +extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_2601D0[]; +extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_260201[]; +extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_26022F[]; +extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_26025B[]; +extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_260287[]; +extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_2602B5[]; +extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_2602E0[]; +extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_26030F[]; +extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_26033E[]; + +extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_26036C[]; + +extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_260397[]; +extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_2603BE[]; +extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_2603E6[]; +extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_26040E[]; +extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_260436[]; +extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_26045C[]; + +extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_26047A[]; +extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_2604AC[]; +extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_2604D8[]; +extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_26050F[]; +extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_260542[]; +extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_260575[]; +extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_2605A8[]; +extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_2605E2[]; +extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_260613[]; + +extern const u8 BattleFrontier_Lounge7_Text_265E30[]; +extern const u8 BattleFrontier_Lounge7_Text_265E5B[]; +extern const u8 BattleFrontier_Lounge7_Text_265E8A[]; +extern const u8 BattleFrontier_Lounge7_Text_265EC0[]; +extern const u8 BattleFrontier_Lounge7_Text_265EED[]; +extern const u8 BattleFrontier_Lounge7_Text_265F1C[]; +extern const u8 BattleFrontier_Lounge7_Text_265F47[]; +extern const u8 BattleFrontier_Lounge7_Text_265F77[]; +extern const u8 BattleFrontier_Lounge7_Text_265FAA[]; +extern const u8 BattleFrontier_Lounge7_Text_265FDD[]; + +extern const u8 BattleFrontier_Lounge7_Text_26600A[]; +extern const u8 BattleFrontier_Lounge7_Text_26603E[]; +extern const u8 BattleFrontier_Lounge7_Text_266070[]; +extern const u8 BattleFrontier_Lounge7_Text_2660A6[]; +extern const u8 BattleFrontier_Lounge7_Text_2660D0[]; +extern const u8 BattleFrontier_Lounge7_Text_2660FF[]; +extern const u8 BattleFrontier_Lounge7_Text_26612D[]; +extern const u8 BattleFrontier_Lounge7_Text_26615F[]; +extern const u8 BattleFrontier_Lounge7_Text_266185[]; +extern const u8 BattleFrontier_Lounge7_Text_2661B5[]; + #endif //GUARD_STRINGS_H diff --git a/src/field_specials.c b/src/field_specials.c index 5f4b4f7841..20165180bf 100644 --- a/src/field_specials.c +++ b/src/field_specials.c @@ -3,17 +3,20 @@ #include "battle.h" #include "battle_tower.h" #include "data2.h" +#include "decoration.h" #include "diploma.h" #include "event_data.h" #include "event_object_movement.h" #include "fieldmap.h" #include "field_camera.h" +#include "field_effect.h" #include "field_message_box.h" #include "field_player_avatar.h" #include "field_region_map.h" #include "field_specials.h" #include "field_weather.h" #include "international_string_util.h" +#include "item_icon.h" #include "link.h" #include "list_menu.h" #include "malloc.h" @@ -1806,10 +1809,10 @@ void sub_8139B60(void) SetStandardWindowBorderStyle(gUnknown_0203AB5E, 0); xPos = GetStringCenterAlignXOffset(1, gText_ElevatorNowOn, 64); - PrintTextOnWindow(gUnknown_0203AB5E, 1, gText_ElevatorNowOn, xPos, 1, 0xFF, NULL); + PrintTextOnWindow(gUnknown_0203AB5E, 1, gText_ElevatorNowOn, xPos, 1, TEXT_SPEED_FF, NULL); xPos = GetStringCenterAlignXOffset(1, gElevatorFloorsTable[gSpecialVar_0x8005], 64); - PrintTextOnWindow(gUnknown_0203AB5E, 1, gElevatorFloorsTable[gSpecialVar_0x8005], xPos, 17, 0xFF, NULL); + PrintTextOnWindow(gUnknown_0203AB5E, 1, gElevatorFloorsTable[gSpecialVar_0x8005], xPos, 17, TEXT_SPEED_FF, NULL); PutWindowTilemap(gUnknown_0203AB5E); CopyWindowToVram(gUnknown_0203AB5E, 3); @@ -2716,3 +2719,872 @@ void sub_813A46C(s32 itemIndex, bool8 onInit, struct ListMenu *list) gUnknown_0203AB6A = misc; } } + +void sub_813A570(u8 taskId); +void sub_813A738(u8 taskId); +void sub_813A600(u8 taskId); + +// stupid r5<->r6 swap +#ifdef NONMATCHING +void sub_813A4EC(u8 taskId) +{ + struct Task *task = &gTasks[taskId]; + s32 itemId = ListMenuHandleInputGetItemId(task->data[14]); + + switch (itemId) + { + case LIST_NOTHING_CHOSEN: + break; + case LIST_B_PRESSED: + gSpecialVar_Result = 0x7F; + PlaySE(SE_SELECT); + sub_813A570(taskId); + break; + default: + gSpecialVar_Result = itemId; + PlaySE(SE_SELECT); + if (task->data[6]) + { + if (itemId == task->data[1] - 1) + { + sub_813A570(taskId); + } + else + { + sub_813A738(taskId); + task->func = sub_813A600; + EnableBothScriptContexts(); + } + } + break; + } +} +#else +NAKED +void sub_813A4EC(u8 taskId) +{ + asm_unified("push {r4-r6,lr}\n\ + lsls r0, 24\n\ + lsrs r5, r0, 24\n\ + lsls r0, r5, 2\n\ + adds r0, r5\n\ + lsls r0, 3\n\ + ldr r1, =gTasks\n\ + adds r6, r0, r1\n\ + ldrh r0, [r6, 0x24]\n\ + lsls r0, 24\n\ + lsrs r0, 24\n\ + bl ListMenuHandleInputGetItemId\n\ + adds r4, r0, 0\n\ + movs r0, 0x2\n\ + negs r0, r0\n\ + cmp r4, r0\n\ + beq _0813A51C\n\ + adds r0, 0x1\n\ + cmp r4, r0\n\ + bne _0813A530\n\ + b _0813A566\n\ + .pool\n\ +_0813A51C:\n\ + ldr r1, =gSpecialVar_Result\n\ + movs r0, 0x7F\n\ + strh r0, [r1]\n\ + movs r0, 0x5\n\ + bl PlaySE\n\ + b _0813A54C\n\ + .pool\n\ +_0813A530:\n\ + ldr r0, =gSpecialVar_Result\n\ + strh r4, [r0]\n\ + movs r0, 0x5\n\ + bl PlaySE\n\ + movs r1, 0x14\n\ + ldrsh r0, [r6, r1]\n\ + cmp r0, 0\n\ + beq _0813A54C\n\ + movs r1, 0xA\n\ + ldrsh r0, [r6, r1]\n\ + subs r0, 0x1\n\ + cmp r4, r0\n\ + bne _0813A558\n\ +_0813A54C:\n\ + adds r0, r5, 0\n\ + bl sub_813A570\n\ + b _0813A566\n\ + .pool\n\ +_0813A558:\n\ + adds r0, r5, 0\n\ + bl sub_813A738\n\ + ldr r0, =sub_813A600\n\ + str r0, [r6]\n\ + bl EnableBothScriptContexts\n\ +_0813A566:\n\ + pop {r4-r6}\n\ + pop {r0}\n\ + bx r0\n\ + .pool"); +} +#endif // NONMATCHING + +void sub_813A570(u8 taskId) +{ + u16 array; + struct Task *task = &gTasks[taskId]; + ListMenuGetCurrentItemArrayId(task->data[14], &array); + sub_813AC44(task->data[11], array); + sub_813A738(taskId); + DestroyListMenuTask(task->data[14], NULL, NULL); + Free(gUnknown_0203AB64); + sub_8198070(task->data[13], 1); + FillWindowPixelBuffer(task->data[13], 0); + CopyWindowToVram(task->data[13], 2); + RemoveWindow(task->data[13]); + DestroyTask(taskId); + EnableBothScriptContexts(); +} + +void sub_813A664(u8 taskId); + +void sub_813A600(u8 taskId) +{ + switch (gTasks[taskId].data[6]) + { + case 1: + default: + break; + case 2: + gTasks[taskId].data[6] = 1; + gTasks[taskId].func = sub_813A664; + break; + } +} + +void sub_813A630(void) +{ + u8 taskId = FindTaskIdByFunc(sub_813A600); + if (taskId == 0xFF) + { + EnableBothScriptContexts(); + } + else + { + gTasks[taskId].data[6]++; + } +} + +void sub_813A664(u8 taskId) +{ + ScriptContext2_Enable(); + sub_813A694(taskId); + gTasks[taskId].func = sub_813A4EC; +} + +const struct ScrollArrowsTemplate gUnknown_085B3030 = { + .firstArrowType = 2, + .firstX = 0, + .firstY = 0, + .secondArrowType = 3, + .secondX = 0, + .secondY = 0, + .fullyUpThreshold = 0, + .fullyDownThreshold = 0, + .tileTag = 2000, + .palTag = 100, + .palNum = 0 +}; + +void sub_813A694(u8 taskId) +{ + struct Task *task = &gTasks[taskId]; + struct ScrollArrowsTemplate template = gUnknown_085B3030; + if (task->data[0] != task->data[1]) + { + template.firstX = (task->data[4] / 2) * 8 + 12 + (task->data[2] - 1) * 8; + template.firstY = 8; + template.secondX = (task->data[4] / 2) * 8 + 12 + (task->data[2] - 1) * 8; + template.secondY = task->data[5] * 8 + 10; + template.fullyUpThreshold = 0; + template.fullyDownThreshold = task->data[1] - task->data[0]; + task->data[12] = AddScrollIndicatorArrowPair(&template, &gUnknown_0203AB68); + } +} + +void sub_813A738(u8 taskId) +{ + struct Task *task = &gTasks[taskId]; + if (task->data[0] != task->data[1]) + { + RemoveScrollIndicatorArrowPair(task->data[12]); + } +} + +void nullsub_55(void) +{ + +} + +void sub_813A76C(void) +{ + u8 i; + for (i = 0; i < 2; i++) + { + if (gLinkPlayers[i].gender == MALE) + { + VarSet(VAR_OBJ_GFX_ID_F - i, EVENT_OBJ_GFX_BRENDAN_NORMAL); + } + else + { + VarSet(VAR_OBJ_GFX_ID_F - i, EVENT_OBJ_GFX_RIVAL_MAY_NORMAL); + } + } +} + +const u8 *const gUnknown_085B3040[] = { + BattleFrontier_Lounge5_Text_26468D, + BattleFrontier_Lounge5_Text_2646E5, + BattleFrontier_Lounge5_Text_264741, + BattleFrontier_Lounge5_Text_2647A4, + BattleFrontier_Lounge5_Text_2647FC, + BattleFrontier_Lounge5_Text_264858, + BattleFrontier_Lounge5_Text_2648BE, + BattleFrontier_Lounge5_Text_264916, + BattleFrontier_Lounge5_Text_264972, + BattleFrontier_Lounge5_Text_2649D5, + BattleFrontier_Lounge5_Text_264A3F, + BattleFrontier_Lounge5_Text_264A9B, + BattleFrontier_Lounge5_Text_264AF3, + BattleFrontier_Lounge5_Text_264B5D, + BattleFrontier_Lounge5_Text_2648BE, + BattleFrontier_Lounge5_Text_264BC3, + BattleFrontier_Lounge5_Text_264C36, + BattleFrontier_Lounge5_Text_2648BE, + BattleFrontier_Lounge5_Text_264C95, + BattleFrontier_Lounge5_Text_264D01, + BattleFrontier_Lounge5_Text_264D6B, + BattleFrontier_Lounge5_Text_264DD7, + BattleFrontier_Lounge5_Text_264E33, + BattleFrontier_Lounge5_Text_264E8F, + BattleFrontier_Lounge5_Text_2648BE, +}; + +void sub_813A7B8(void) +{ + u8 nature; + + if (gSpecialVar_0x8004 >= PARTY_SIZE) + { + gSpecialVar_0x8004 = 0; + } + + nature = GetNature(&gPlayerParty[gSpecialVar_0x8004]); + ShowFieldMessage(gUnknown_085B3040[nature]); +} + +void UpdateFrontierGambler(u16 a0) +{ + u16 *var = GetVarPointer(VAR_FRONTIER_GAMBLER_FACILITY); + *var += a0; + *var %= 12; +} + +const u8 *const gUnknown_085B30A4[] = { + BattleFrontier_Lounge3_Text_262261, + BattleFrontier_Lounge3_Text_26230D, + BattleFrontier_Lounge3_Text_2623B9, + BattleFrontier_Lounge3_Text_262464, + BattleFrontier_Lounge3_Text_26250E, + BattleFrontier_Lounge3_Text_2625B8, + BattleFrontier_Lounge3_Text_26266A, + BattleFrontier_Lounge3_Text_26271C, + BattleFrontier_Lounge3_Text_2627C9, + BattleFrontier_Lounge3_Text_262876, + BattleFrontier_Lounge3_Text_26291A, + BattleFrontier_Lounge3_Text_2629BC, +}; + +void sub_813A820(void) +{ + u16 var = VarGet(VAR_FRONTIER_GAMBLER_FACILITY); + ShowFieldMessage(gUnknown_085B30A4[var]); + VarSet(VAR_FRONTIER_GAMBLER_SET_FACILITY_F, var); +} + +const u8 *const gUnknown_085B30D4[] = { + BattleFrontier_Lounge3_Text_262C04, + BattleFrontier_Lounge3_Text_262C90, + BattleFrontier_Lounge3_Text_262D1C, + BattleFrontier_Lounge3_Text_262DA7, + BattleFrontier_Lounge3_Text_262E34, + BattleFrontier_Lounge3_Text_262EC1, + BattleFrontier_Lounge3_Text_262F56, + BattleFrontier_Lounge3_Text_262FEB, + BattleFrontier_Lounge3_Text_263078, + BattleFrontier_Lounge3_Text_263105, + BattleFrontier_Lounge3_Text_26318C, + BattleFrontier_Lounge3_Text_263211, +}; + +void sub_813A854(void) +{ + ShowFieldMessage(gUnknown_085B30D4[VarGet(VAR_FRONTIER_GAMBLER_SET_FACILITY_F)]); +} + +const u16 gUnknown_085B3104[] = {0x0000, 0x0001, 0x0002, 0x0100, 0x0101, 0x0400, 0x0401, 0x0200, 0x0201, 0x0300, 0x0500, 0x0600}; + +void sub_813A878(u8 a0) +{ + u16 var1 = VarGet(VAR_0x40CE); + u16 var2 = VarGet(VAR_FRONTIER_GAMBLER_SET_FACILITY_F); + u16 var3 = VarGet(VAR_FRONTIER_FACILITY); + + if (VarGet(VAR_FRONTIER_GAMBLER_PLACED_BET_F) == 1) + { + if (gUnknown_085B3104[var2] == (var3 << 8) + var1) + { + if (a0 != 0) + { + VarSet(VAR_FRONTIER_GAMBLER_PLACED_BET_F, 2); + } + else + { + VarSet(VAR_FRONTIER_GAMBLER_PLACED_BET_F, 3); + } + } + } +} + +void sub_813A8FC(void) +{ + u8 string[32]; + u32 x; + StringCopy(ConvertIntToDecimalStringN(string, gSaveBlock2Ptr->frontier.frontierBattlePoints, STR_CONV_MODE_RIGHT_ALIGN, 4), gText_BP); + x = GetStringRightAlignXOffset(1, string, 48); + PrintTextOnWindow(gUnknown_0203AB6D, 1, string, x, 1, 0, NULL); +} + +const struct WindowTemplate gUnknown_085B311C = { + .priority = 0, + .tilemapLeft = 1, + .tilemapTop = 1, + .width = 6, + .height = 2, + .paletteNum = 15, + .baseBlock = 8, +}; + +void sub_813A958(void) +{ + gUnknown_0203AB6D = AddWindow(&gUnknown_085B311C); + SetStandardWindowBorderStyle(gUnknown_0203AB6D, 0); + sub_813A8FC(); + CopyWindowToVram(gUnknown_0203AB6D, 2); +} + +void sub_813A988(void) +{ + sub_8198070(gUnknown_0203AB6D, TRUE); + RemoveWindow(gUnknown_0203AB6D); +} + +void sub_813A9A4(void) +{ + if (gSaveBlock2Ptr->frontier.frontierBattlePoints < gSpecialVar_0x8004) + { + gSaveBlock2Ptr->frontier.frontierBattlePoints = 0; + } + else + { + gSaveBlock2Ptr->frontier.frontierBattlePoints -= gSpecialVar_0x8004; + } +} + +void sub_813A9D0(void) +{ + if (gSaveBlock2Ptr->frontier.frontierBattlePoints + gSpecialVar_0x8004 > 0x270F) + { + gSaveBlock2Ptr->frontier.frontierBattlePoints = 0x270f; + } + else + { + gSaveBlock2Ptr->frontier.frontierBattlePoints = gSaveBlock2Ptr->frontier.frontierBattlePoints + gSpecialVar_0x8004; + } +} + +u16 sub_813AA04(void) +{ + return gSaveBlock2Ptr->frontier.frontierBattlePoints; +} + +const struct WindowTemplate gUnknown_085B3124 = { + .priority = 0, + .tilemapLeft = 2, + .tilemapTop = 9, + .width = 4, + .height = 4, + .paletteNum = 15, + .baseBlock = 20, +}; + +void sub_813AA18(void) +{ + gUnknown_0203AB6E = AddWindow(&gUnknown_085B3124); + SetStandardWindowBorderStyle(gUnknown_0203AB6E, 0); + CopyWindowToVram(gUnknown_0203AB6E, 2); +} + +void sub_813AA44(void) +{ + sub_8198070(gUnknown_0203AB6E, TRUE); + RemoveWindow(gUnknown_0203AB6E); +} + +const u16 gUnknown_085B312C[] = { 0x004b, 0x0067, 0x0057, 0x004f, 0x0054, 0x0055, 0x0056, 0x0050, 0x0051, 0x0052, 0xffff }; +const u16 gUnknown_085B3142[] = { 0x0071, 0x006f, 0x0072, 0x0073, 0x0074, 0xffff }; +const u16 gUnknown_085B314E[] = { 0x0040, 0x0043, 0x0041, 0x0046, 0x0042, 0x003f, 0xffff }; +const u16 gUnknown_085B315C[] = { 0x00c8, 0x00b4, 0x00b7, 0x00b9, 0x00b3, 0x00ba, 0x00bb, 0x00c4, 0x00c6, 0xffff }; + +const u8 *const gUnknown_085B3170[] = { + BattleFrontier_BattlePointExchangeServiceCorner_Text_2601AA, + BattleFrontier_BattlePointExchangeServiceCorner_Text_2601D0, + BattleFrontier_BattlePointExchangeServiceCorner_Text_260201, + BattleFrontier_BattlePointExchangeServiceCorner_Text_26022F, + BattleFrontier_BattlePointExchangeServiceCorner_Text_26025B, + BattleFrontier_BattlePointExchangeServiceCorner_Text_260287, + BattleFrontier_BattlePointExchangeServiceCorner_Text_2602B5, + BattleFrontier_BattlePointExchangeServiceCorner_Text_2602E0, + BattleFrontier_BattlePointExchangeServiceCorner_Text_26030F, + BattleFrontier_BattlePointExchangeServiceCorner_Text_26033E, + gText_Exit, +}; + +const u8 *const gUnknown_085B319C[] = { + BattleFrontier_BattlePointExchangeServiceCorner_Text_26036C, + BattleFrontier_BattlePointExchangeServiceCorner_Text_26036C, + BattleFrontier_BattlePointExchangeServiceCorner_Text_26036C, + BattleFrontier_BattlePointExchangeServiceCorner_Text_26036C, + BattleFrontier_BattlePointExchangeServiceCorner_Text_26036C, + gText_Exit +}; + +const u8 *const gUnknown_085B31B4[] = { + BattleFrontier_BattlePointExchangeServiceCorner_Text_260397, + BattleFrontier_BattlePointExchangeServiceCorner_Text_2603BE, + BattleFrontier_BattlePointExchangeServiceCorner_Text_2603E6, + BattleFrontier_BattlePointExchangeServiceCorner_Text_26040E, + BattleFrontier_BattlePointExchangeServiceCorner_Text_260436, + BattleFrontier_BattlePointExchangeServiceCorner_Text_26045C, + gText_Exit +}; + +const u8 *const gUnknown_085B31D0[] = { + BattleFrontier_BattlePointExchangeServiceCorner_Text_26047A, + BattleFrontier_BattlePointExchangeServiceCorner_Text_2604AC, + BattleFrontier_BattlePointExchangeServiceCorner_Text_2604D8, + BattleFrontier_BattlePointExchangeServiceCorner_Text_26050F, + BattleFrontier_BattlePointExchangeServiceCorner_Text_260542, + BattleFrontier_BattlePointExchangeServiceCorner_Text_260575, + BattleFrontier_BattlePointExchangeServiceCorner_Text_2605A8, + BattleFrontier_BattlePointExchangeServiceCorner_Text_2605E2, + BattleFrontier_BattlePointExchangeServiceCorner_Text_260613, + gText_Exit +}; + +void sub_813ABD4(u16 a0); + +void sub_813AA60(u16 a0, u16 a1) +{ + if (a0 > 2 && a0 < 7) + { + FillWindowPixelRect(0, 0x11, 0, 0, 216, 32); + switch (a0) + { + case 3: + AddTextPrinterParameterized(0, 1, gUnknown_085B3170[a1], 0, NULL, 2, 1, 3); + if (gUnknown_085B312C[a1] == 0xFFFF) + { + sub_813ABD4(gUnknown_085B312C[a1]); + } + else + { + FreeSpriteTilesByTag(5500); + FreeSpritePaletteByTag(5500); + gUnknown_0203AB6C = AddDecorationIconObject(gUnknown_085B312C[a1], 33, 88, 0, 5500, 5500); + } + break; + case 4: + AddTextPrinterParameterized(0, 1, gUnknown_085B319C[a1], 0, NULL, 2, 1, 3); + if (gUnknown_085B3142[a1] == 0xFFFF) + { + sub_813ABD4(gUnknown_085B3142[a1]); + } + else + { + FreeSpriteTilesByTag(5500); + FreeSpritePaletteByTag(5500); + gUnknown_0203AB6C = AddDecorationIconObject(gUnknown_085B3142[a1], 33, 88, 0, 5500, 5500); + } + break; + case 5: + AddTextPrinterParameterized(0, 1, gUnknown_085B31B4[a1], 0, NULL, 2, 1, 3); + sub_813ABD4(gUnknown_085B314E[a1]); + break; + case 6: + AddTextPrinterParameterized(0, 1, gUnknown_085B31D0[a1], 0, NULL, 2, 1, 3); + sub_813ABD4(gUnknown_085B315C[a1]); + break; + } + } +} + +void sub_813ABD4(u16 a0) +{ + FreeSpriteTilesByTag(5500); + FreeSpritePaletteByTag(5500); + gUnknown_0203AB6C = AddItemIconSprite(5500, 5500, a0); + + if (gUnknown_0203AB6C != MAX_SPRITES) + { + gSprites[gUnknown_0203AB6C].oam.priority = 0; + gSprites[gUnknown_0203AB6C].pos1.x = 36; + gSprites[gUnknown_0203AB6C].pos1.y = 92; + } +} + +void sub_813AC44(u16 a0, u16 unused) +{ + if (gUnknown_0203AB6C != MAX_SPRITES) + { + switch (a0) + { + case 3 ... 6: + DestroySpriteAndFreeResources(&gSprites[gUnknown_0203AB6C]); + break; + } + gUnknown_0203AB6C = MAX_SPRITES; + } +} + +const u16 gUnknown_085B31F8[] = { 0x0087, 0x0045, 0x008a, 0x0005, 0x0019, 0x0022, 0x009d, 0x0044, 0x0056, 0x000e }; +const u16 gUnknown_085B320C[] = { 0x006f, 0x00ad, 0x00bd, 0x0081, 0x00c4, 0x00cb, 0x00f4, 0x0008, 0x0009, 0x0007 }; + +void sub_813AC7C(void) +{ + if (gSpecialVar_0x8005 != 0) + { + StringCopy(gStringVar1, gMoveNames[gUnknown_085B320C[gSpecialVar_0x8004]]); + } + else + { + StringCopy(gStringVar1, gMoveNames[gUnknown_085B31F8[gSpecialVar_0x8004]]); + } +} + +const struct WindowTemplate gUnknown_085B3220 = { + .priority = 0, + .tilemapLeft = 1, + .tilemapTop = 7, + .width = 12, + .height = 6, + .paletteNum = 15, + .baseBlock = 28, +}; + +void sub_813ACE8(u8 a0, u16 a1) +{ + if (a0 == 9 || a0 == 10) + { + if (gSpecialVar_0x8006 == 0) + { + gUnknown_0203AB5E = AddWindow(&gUnknown_085B3220); + SetStandardWindowBorderStyle(gUnknown_0203AB5E, 0); + } + sub_813AD34(a0, a1); + } +} + +const u8 *const gUnknown_085B3228[] = { + BattleFrontier_Lounge7_Text_265E30, + BattleFrontier_Lounge7_Text_265E5B, + BattleFrontier_Lounge7_Text_265E8A, + BattleFrontier_Lounge7_Text_265EC0, + BattleFrontier_Lounge7_Text_265EED, + BattleFrontier_Lounge7_Text_265F1C, + BattleFrontier_Lounge7_Text_265F47, + BattleFrontier_Lounge7_Text_265F77, + BattleFrontier_Lounge7_Text_265FAA, + BattleFrontier_Lounge7_Text_265FDD, + gText_Exit, +}; + +const u8 *const gUnknown_085B3254[] = { + BattleFrontier_Lounge7_Text_26600A, + BattleFrontier_Lounge7_Text_26603E, + BattleFrontier_Lounge7_Text_266070, + BattleFrontier_Lounge7_Text_2660A6, + BattleFrontier_Lounge7_Text_2660D0, + BattleFrontier_Lounge7_Text_2660FF, + BattleFrontier_Lounge7_Text_26612D, + BattleFrontier_Lounge7_Text_26615F, + BattleFrontier_Lounge7_Text_266185, + BattleFrontier_Lounge7_Text_2661B5, + gText_Exit, +}; + +void sub_813AD34(u8 a0, u16 a1) +{ + if (a0 == 9 || a0 == 10) + { + FillWindowPixelRect(gUnknown_0203AB5E, 0x11, 0, 0, 96, 48); + if (a0 == 10) + { + PrintTextOnWindow(gUnknown_0203AB5E, 1, gUnknown_085B3254[a1], 0, 1, 0, NULL); + } + else + { + PrintTextOnWindow(gUnknown_0203AB5E, 1, gUnknown_085B3228[a1], 0, 1, 0, NULL); + } + } +} + +void sub_813ADB8(void) +{ + sub_8198070(gUnknown_0203AB5E, TRUE); + RemoveWindow(gUnknown_0203AB5E); +} + +void sub_813ADD4(void) +{ + u16 scrollOffset, selectedRow; + u8 i; + u8 taskId = FindTaskIdByFunc(sub_813A600); + if (taskId != 0xFF) + { + struct Task *task = &gTasks[taskId]; + ListMenuGetScrollAndRow(task->data[14], &scrollOffset, &selectedRow); + SetStandardWindowBorderStyle(task->data[13], 0); + + for (i = 0; i < 6; i++) + { + sub_8199F74(task->data[13], 1, gUnknown_085B2CF0[gSpecialVar_0x8004][scrollOffset + i], 10, i * 16, TEXT_SPEED_FF, NULL, 0, 0); + } + + PrintTextOnWindow(task->data[13], 1, gText_SelectorArrow, 0, selectedRow * 16, TEXT_SPEED_FF, NULL); + PutWindowTilemap(task->data[13]); + CopyWindowToVram(task->data[13], 3); + } +} + +void sub_813AEB4(void) +{ + u8 i; + u16 temp1 = 0; + u16 temp2 = 0; + gSpecialVar_0x8005 = 0; + + temp1 = VarGet(VAR_TEMP_E); + temp2 = VarGet(VAR_TEMP_D); + + if (temp1 != 0) + { + i = 0; + do + { + if (gUnknown_0861500C[i] == gUnknown_085B320C[temp2]) + { + gSpecialVar_0x8005 = i; + break; + } + i++; + } while (i < 30); + } + else + { + i = 0; + do + { + if (gUnknown_0861500C[i] == gUnknown_085B31F8[temp2]) + { + gSpecialVar_0x8005 = i; + break; + } + i++; + } while (i < 30); + } +} + +void sub_813AF48(void) +{ + u8 taskId = FindTaskIdByFunc(sub_813A600); + if (taskId != 0xFF) + { + struct Task *task = &gTasks[taskId]; + DestroyListMenuTask(task->data[14], NULL, NULL); + Free(gUnknown_0203AB64); + sub_8198070(task->data[13], TRUE); + FillWindowPixelBuffer(task->data[13], 0); + ClearWindowTilemap(task->data[13]); + CopyWindowToVram(task->data[13], 2); + RemoveWindow(task->data[13]); + DestroyTask(taskId); + } +} + +void task_deoxys_sound(u8 taskId); + +void sub_813AFC8(void) +{ + CreateTask(task_deoxys_sound, 8); +} + +const u16 gUnknown_085B3280[][16] = { + INCBIN_U16("graphics/misc/deoxys1.gbapal"), + INCBIN_U16("graphics/misc/deoxys2.gbapal"), + INCBIN_U16("graphics/misc/deoxys3.gbapal"), + INCBIN_U16("graphics/misc/deoxys4.gbapal"), + INCBIN_U16("graphics/misc/deoxys5.gbapal"), + INCBIN_U16("graphics/misc/deoxys6.gbapal"), + INCBIN_U16("graphics/misc/deoxys7.gbapal"), + INCBIN_U16("graphics/misc/deoxys8.gbapal"), + INCBIN_U16("graphics/misc/deoxys9.gbapal"), + INCBIN_U16("graphics/misc/deoxys10.gbapal"), + INCBIN_U16("graphics/misc/deoxys11.gbapal"), +}; + +const u8 gUnknown_085B33E0[][2] = { + { 0x0f, 0x0c }, + { 0x0b, 0x0e }, + { 0x0f, 0x08 }, + { 0x13, 0x0e }, + { 0x0c, 0x0b }, + { 0x12, 0x0b }, + { 0x0f, 0x0e }, + { 0x0b, 0x0e }, + { 0x13, 0x0e }, + { 0x0f, 0x0f }, + { 0x0f, 0x0a }, +}; + +const u8 gUnknown_085B33F6[] = { 0x04, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x06, 0x03, 0x03 }; + +void sub_813B0B4(u8 a0); + +void task_deoxys_sound(u8 taskId) +{ + if (FlagGet(FLAG_0x8D4) == TRUE) + { + gSpecialVar_Result = 3; + EnableBothScriptContexts(); + DestroyTask(taskId); + } + else + { + u16 temp1 = VarGet(VAR_0x4035); + u16 temp2 = VarGet(VAR_0x4034); + + VarSet(VAR_0x4034, 0); + if (temp1 != 0 && gUnknown_085B33F6[temp1 - 1] < temp2) + { + sub_813B0B4(0); + VarSet(VAR_0x4035, 0); + gSpecialVar_Result = 0; + DestroyTask(taskId); + } + else if (temp1 == 10) + { + FlagSet(FLAG_0x8D4); + gSpecialVar_Result = 2; + EnableBothScriptContexts(); + DestroyTask(taskId); + } + else + { + temp1++; + sub_813B0B4(temp1); + VarSet(VAR_0x4035, temp1); + gSpecialVar_Result = 1; + DestroyTask(taskId); + } + } +} + +void sub_813B160(u8 taskId); + +void sub_813B0B4(u8 a0) +{ + u8 eventObjectId; + LoadPalette(&gUnknown_085B3280[a0], 0x1A0, 8); + TryGetEventObjectIdByLocalIdAndMap(1, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, &eventObjectId); + + if (a0 == 0) + { + PlaySE(SE_W109); + } + else + { + PlaySE(SE_RG_DEOMOV); + } + + CreateTask(sub_813B160, 8); + + gFieldEffectArguments[0] = 1; + gFieldEffectArguments[1] = 58; + gFieldEffectArguments[2] = 26; + gFieldEffectArguments[3] = gUnknown_085B33E0[a0][0]; + gFieldEffectArguments[4] = gUnknown_085B33E0[a0][1]; + + if (a0 == 0) + { + gFieldEffectArguments[5] = 60; + } + else + { + gFieldEffectArguments[5] = 5; + } + + FieldEffectStart(FLDEFF_66); + Overworld_SetEventObjTemplateCoords(1, gUnknown_085B33E0[a0][0], gUnknown_085B33E0[a0][1]); +} + +void sub_813B160(u8 taskId) +{ + if (FieldEffectActiveListContains(FLDEFF_66) == FALSE) + { + EnableBothScriptContexts(); + DestroyTask(taskId); + } +} + +void increment_var_x4026_on_birth_island_modulo_100(void) +{ + u16 var = VarGet(VAR_0x4034); + if (gSaveBlock1Ptr->location.mapNum == MAP_NUM(BIRTH_ISLAND_EXTERIOR) && gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(BIRTH_ISLAND_EXTERIOR)) + { + var++; + if (var > 99) + { + VarSet(VAR_0x4034, 0); + } + else + { + VarSet(VAR_0x4034, var); + } + } +} + +extern void BlendPalettes(u32, u8, u16); + +void sub_813B1D0(void) +{ + LoadPalette(&gUnknown_085B3280[(u8)VarGet(VAR_0x4035)], 0x1A0, 8); + BlendPalettes(0x04000000, 16, 0); +} + +void set_unknown_box_id(u8 id) +{ + gUnknown_0203AB6F = id; +} + +u8 get_unknown_box_id(void) +{ + return gUnknown_0203AB6F; +} diff --git a/src/menu.c b/src/menu.c index 223f8fd52f..f4ffec0232 100644 --- a/src/menu.c +++ b/src/menu.c @@ -120,7 +120,6 @@ extern void DrawWindowBorder(u8, u8, u8, u8, u8, u8); extern void sub_81980A8(u8, u8, u8, u8, u8, u8); extern u8 MoveMenuCursor(s8); extern u8 sub_8199134(s8, s8); -extern void sub_8199F74(u8 windowId, u8 fontId, const u8 *str, u8 left, u8 top, u8 speed, void (*callback)(struct TextSubPrinter *, u16), u8 letterSpacing, u8 lineSpacing); extern void sub_8198C78(void); extern void task_free_buf_after_copying_tile_data_to_vram(u8 taskId); From c3512e3b39117c29c92b6e6cd3f59a7e6036eb13 Mon Sep 17 00:00:00 2001 From: garak Date: Fri, 10 Aug 2018 10:45:15 -0400 Subject: [PATCH 066/234] port larger heal location changes from poke ruby pr --- data/event_scripts.s | 3 +- .../scripts.inc | 2 +- .../DewfordTown_PokemonCenter_1F/scripts.inc | 2 +- .../EverGrandeCity_HallOfFame/scripts.inc | 4 +- .../scripts.inc | 2 +- .../scripts.inc | 2 +- .../scripts.inc | 2 +- .../FortreeCity_PokemonCenter_1F/scripts.inc | 2 +- data/maps/InsideOfTruck/scripts.inc | 4 +- .../scripts.inc | 2 +- .../LilycoveCity_PokemonCenter_1F/scripts.inc | 2 +- .../MauvilleCity_PokemonCenter_1F/scripts.inc | 2 +- .../MossdeepCity_PokemonCenter_1F/scripts.inc | 2 +- .../OldaleTown_PokemonCenter_1F/scripts.inc | 2 +- .../scripts.inc | 2 +- .../scripts.inc | 2 +- .../RustboroCity_PokemonCenter_1F/scripts.inc | 2 +- data/maps/SSTidalCorridor/scripts.inc | 4 +- .../scripts.inc | 2 +- .../scripts.inc | 2 +- .../scripts.inc | 2 +- include/constants/heal_locations.h | 27 ++++++++++++ include/heal_location.h | 2 - src/data/heal_locations.h | 25 +++++++++++ src/heal_location.c | 26 +----------- src/region_map.c | 42 ++++++++++--------- 26 files changed, 100 insertions(+), 71 deletions(-) create mode 100644 include/constants/heal_locations.h create mode 100644 src/data/heal_locations.h diff --git a/data/event_scripts.s b/data/event_scripts.s index 0336c0c97c..105d989535 100644 --- a/data/event_scripts.s +++ b/data/event_scripts.s @@ -5,6 +5,7 @@ #include "constants/songs.h" #include "constants/species.h" #include "constants/vars.h" +#include "constants/heal_locations.h" #include "constants/trainers.h" .include "asm/macros.inc" .include "asm/macros/event.inc" @@ -3346,7 +3347,7 @@ EventScript_2736D9:: @ 82736D9 end EventScript_2736F4:: @ 82736F4 - setrespawn 16 + setrespawn HEAL_LOCATION_LAVARIDGE_TOWN return EventScript_2736F8:: @ 82736F8 diff --git a/data/maps/BattleFrontier_PokemonCenter_1F/scripts.inc b/data/maps/BattleFrontier_PokemonCenter_1F/scripts.inc index 23818d64c0..3dff67a936 100644 --- a/data/maps/BattleFrontier_PokemonCenter_1F/scripts.inc +++ b/data/maps/BattleFrontier_PokemonCenter_1F/scripts.inc @@ -4,7 +4,7 @@ BattleFrontier_PokemonCenter_1F_MapScripts:: @ 82678F9 .byte 0 BattleFrontier_PokemonCenter_1F_MapScript1_267904: @ 8267904 - setrespawn 22 + setrespawn HEAL_LOCATION_BATTLE_FRONTIER_OUTSIDE_EAST end BattleFrontier_PokemonCenter_1F_EventScript_267908:: @ 8267908 diff --git a/data/maps/DewfordTown_PokemonCenter_1F/scripts.inc b/data/maps/DewfordTown_PokemonCenter_1F/scripts.inc index 15a1c81b92..a9ce59bc1b 100644 --- a/data/maps/DewfordTown_PokemonCenter_1F/scripts.inc +++ b/data/maps/DewfordTown_PokemonCenter_1F/scripts.inc @@ -4,7 +4,7 @@ DewfordTown_PokemonCenter_1F_MapScripts:: @ 81FC523 .byte 0 DewfordTown_PokemonCenter_1F_MapScript1_1FC52E: @ 81FC52E - setrespawn 15 + setrespawn HEAL_LOCATION_DEWFORD_TOWN call DewfordTown_PokemonCenter_1F_EventScript_2718DE end diff --git a/data/maps/EverGrandeCity_HallOfFame/scripts.inc b/data/maps/EverGrandeCity_HallOfFame/scripts.inc index 60f0dd1ad1..763d2ebb10 100644 --- a/data/maps/EverGrandeCity_HallOfFame/scripts.inc +++ b/data/maps/EverGrandeCity_HallOfFame/scripts.inc @@ -51,7 +51,7 @@ EverGrandeCity_HallOfFame_EventScript_229850:: @ 8229850 end EverGrandeCity_HallOfFame_EventScript_2298E9:: @ 82298E9 - setrespawn 1 + setrespawn HEAL_LOCATION_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F fadescreenspeed 1, 24 special GameClear waitstate @@ -59,7 +59,7 @@ EverGrandeCity_HallOfFame_EventScript_2298E9:: @ 82298E9 end EverGrandeCity_HallOfFame_EventScript_2298F5:: @ 82298F5 - setrespawn 2 + setrespawn HEAL_LOCATION_LITTLEROOT_TOWN_MAYS_HOUSE_2F fadescreenspeed 1, 24 special GameClear waitstate diff --git a/data/maps/EverGrandeCity_PokemonCenter_1F/scripts.inc b/data/maps/EverGrandeCity_PokemonCenter_1F/scripts.inc index ed6e6a4977..16b82a592c 100644 --- a/data/maps/EverGrandeCity_PokemonCenter_1F/scripts.inc +++ b/data/maps/EverGrandeCity_PokemonCenter_1F/scripts.inc @@ -4,7 +4,7 @@ EverGrandeCity_PokemonCenter_1F_MapScripts:: @ 8229A34 .byte 0 EverGrandeCity_PokemonCenter_1F_MapScript1_229A3F: @ 8229A3F - setrespawn 11 + setrespawn HEAL_LOCATION_EVER_GRANDE_CITY_1 checkflag FLAG_0x1CF call_if 0, EverGrandeCity_PokemonCenter_1F_EventScript_229A4C end diff --git a/data/maps/EverGrandeCity_PokemonLeague_1F/scripts.inc b/data/maps/EverGrandeCity_PokemonLeague_1F/scripts.inc index f1a6ce17fa..b4046d0225 100644 --- a/data/maps/EverGrandeCity_PokemonLeague_1F/scripts.inc +++ b/data/maps/EverGrandeCity_PokemonLeague_1F/scripts.inc @@ -4,7 +4,7 @@ EverGrandeCity_PokemonLeague_1F_MapScripts:: @ 82295D2 .byte 0 EverGrandeCity_PokemonLeague_1F_MapScript1_2295DD: @ 82295DD - setrespawn 20 + setrespawn HEAL_LOCATION_EVER_GRANDE_CITY_2 setflag FLAG_LANDMARK_POKEMON_LEAGUE checkflag FLAG_0x107 call_if 0, EverGrandeCity_PokemonLeague_1F_EventScript_2295ED diff --git a/data/maps/FallarborTown_PokemonCenter_1F/scripts.inc b/data/maps/FallarborTown_PokemonCenter_1F/scripts.inc index 15f5d2b9e6..d11caa86f8 100644 --- a/data/maps/FallarborTown_PokemonCenter_1F/scripts.inc +++ b/data/maps/FallarborTown_PokemonCenter_1F/scripts.inc @@ -4,7 +4,7 @@ FallarborTown_PokemonCenter_1F_MapScripts:: @ 8200BCD .byte 0 FallarborTown_PokemonCenter_1F_MapScript1_200BD8: @ 8200BD8 - setrespawn 17 + setrespawn HEAL_LOCATION_FALLARBOR_TOWN call FallarborTown_PokemonCenter_1F_EventScript_2718DE end diff --git a/data/maps/FortreeCity_PokemonCenter_1F/scripts.inc b/data/maps/FortreeCity_PokemonCenter_1F/scripts.inc index e119a0f299..4885c7f15e 100644 --- a/data/maps/FortreeCity_PokemonCenter_1F/scripts.inc +++ b/data/maps/FortreeCity_PokemonCenter_1F/scripts.inc @@ -4,7 +4,7 @@ FortreeCity_PokemonCenter_1F_MapScripts:: @ 82173D8 .byte 0 FortreeCity_PokemonCenter_1F_MapScript1_2173E3: @ 82173E3 - setrespawn 7 + setrespawn HEAL_LOCATION_FORTREE_CITY end FortreeCity_PokemonCenter_1F_EventScript_2173E7:: @ 82173E7 diff --git a/data/maps/InsideOfTruck/scripts.inc b/data/maps/InsideOfTruck/scripts.inc index 963dd196d1..24fe954a8b 100644 --- a/data/maps/InsideOfTruck/scripts.inc +++ b/data/maps/InsideOfTruck/scripts.inc @@ -24,7 +24,7 @@ InsideOfTruck_EventScript_23BF04:: @ 823BF04 end InsideOfTruck_EventScript_23BF20:: @ 823BF20 - setrespawn 1 + setrespawn HEAL_LOCATION_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F setvar VAR_0x4092, 1 setflag FLAG_0x2F7 setflag FLAG_0x2FA @@ -37,7 +37,7 @@ InsideOfTruck_EventScript_23BF20:: @ 823BF20 end InsideOfTruck_EventScript_23BF46:: @ 823BF46 - setrespawn 2 + setrespawn HEAL_LOCATION_LITTLEROOT_TOWN_MAYS_HOUSE_2F setvar VAR_0x4092, 2 setflag FLAG_0x2F6 setflag FLAG_0x2F9 diff --git a/data/maps/LavaridgeTown_PokemonCenter_1F/scripts.inc b/data/maps/LavaridgeTown_PokemonCenter_1F/scripts.inc index 24f19b1d09..c7db56a0d8 100644 --- a/data/maps/LavaridgeTown_PokemonCenter_1F/scripts.inc +++ b/data/maps/LavaridgeTown_PokemonCenter_1F/scripts.inc @@ -4,7 +4,7 @@ LavaridgeTown_PokemonCenter_1F_MapScripts:: @ 81FFAFA .byte 0 LavaridgeTown_PokemonCenter_1F_MapScript1_1FFB05: @ 81FFB05 - setrespawn 16 + setrespawn HEAL_LOCATION_LAVARIDGE_TOWN call LavaridgeTown_PokemonCenter_1F_EventScript_2718DE end diff --git a/data/maps/LilycoveCity_PokemonCenter_1F/scripts.inc b/data/maps/LilycoveCity_PokemonCenter_1F/scripts.inc index b6ca099062..934f666ad1 100644 --- a/data/maps/LilycoveCity_PokemonCenter_1F/scripts.inc +++ b/data/maps/LilycoveCity_PokemonCenter_1F/scripts.inc @@ -4,7 +4,7 @@ LilycoveCity_PokemonCenter_1F_MapScripts:: @ 821C5B2 .byte 0 LilycoveCity_PokemonCenter_1F_MapScript1_21C5BD: @ 821C5BD - setrespawn 8 + setrespawn HEAL_LOCATION_LILYCOVE_CITY goto LilycoveCity_PokemonCenter_1F_EventScript_21C5C6 end diff --git a/data/maps/MauvilleCity_PokemonCenter_1F/scripts.inc b/data/maps/MauvilleCity_PokemonCenter_1F/scripts.inc index fb76a5fc79..b2267122b8 100644 --- a/data/maps/MauvilleCity_PokemonCenter_1F/scripts.inc +++ b/data/maps/MauvilleCity_PokemonCenter_1F/scripts.inc @@ -4,7 +4,7 @@ MauvilleCity_PokemonCenter_1F_MapScripts:: @ 8210E5B .byte 0 MauvilleCity_PokemonCenter_1F_MapScript1_210E66: @ 8210E66 - setrespawn 5 + setrespawn HEAL_LOCATION_MAUVILLE_CITY call MauvilleCity_PokemonCenter_1F_EventScript_2718DE goto MauvilleCity_PokemonCenter_1F_EventScript_210E74 end diff --git a/data/maps/MossdeepCity_PokemonCenter_1F/scripts.inc b/data/maps/MossdeepCity_PokemonCenter_1F/scripts.inc index 7fd2e61a06..2ff03b7f36 100644 --- a/data/maps/MossdeepCity_PokemonCenter_1F/scripts.inc +++ b/data/maps/MossdeepCity_PokemonCenter_1F/scripts.inc @@ -4,7 +4,7 @@ MossdeepCity_PokemonCenter_1F_MapScripts:: @ 822223F .byte 0 MossdeepCity_PokemonCenter_1F_MapScript1_22224A: @ 822224A - setrespawn 9 + setrespawn HEAL_LOCATION_MOSSDEEP_CITY end MossdeepCity_PokemonCenter_1F_EventScript_22224E:: @ 822224E diff --git a/data/maps/OldaleTown_PokemonCenter_1F/scripts.inc b/data/maps/OldaleTown_PokemonCenter_1F/scripts.inc index ece540e706..e99e628a6b 100644 --- a/data/maps/OldaleTown_PokemonCenter_1F/scripts.inc +++ b/data/maps/OldaleTown_PokemonCenter_1F/scripts.inc @@ -4,7 +4,7 @@ OldaleTown_PokemonCenter_1F_MapScripts:: @ 81FC006 .byte 0 OldaleTown_PokemonCenter_1F_MapScript1_1FC011: @ 81FC011 - setrespawn 14 + setrespawn HEAL_LOCATION_OLDALE_TOWN call OldaleTown_PokemonCenter_1F_EventScript_2718DE end diff --git a/data/maps/PacifidlogTown_PokemonCenter_1F/scripts.inc b/data/maps/PacifidlogTown_PokemonCenter_1F/scripts.inc index fd34cd2aaa..65af1cdc7e 100644 --- a/data/maps/PacifidlogTown_PokemonCenter_1F/scripts.inc +++ b/data/maps/PacifidlogTown_PokemonCenter_1F/scripts.inc @@ -4,7 +4,7 @@ PacifidlogTown_PokemonCenter_1F_MapScripts:: @ 82034A7 .byte 0 PacifidlogTown_PokemonCenter_1F_MapScript1_2034B2: @ 82034B2 - setrespawn 19 + setrespawn HEAL_LOCATION_PACIFIDLOG_TOWN end PacifidlogTown_PokemonCenter_1F_EventScript_2034B6:: @ 82034B6 diff --git a/data/maps/PetalburgCity_PokemonCenter_1F/scripts.inc b/data/maps/PetalburgCity_PokemonCenter_1F/scripts.inc index f4a31854e8..5b0cdb97ca 100644 --- a/data/maps/PetalburgCity_PokemonCenter_1F/scripts.inc +++ b/data/maps/PetalburgCity_PokemonCenter_1F/scripts.inc @@ -4,7 +4,7 @@ PetalburgCity_PokemonCenter_1F_MapScripts:: @ 82079E8 .byte 0 PetalburgCity_PokemonCenter_1F_MapScript1_2079F3: @ 82079F3 - setrespawn 3 + setrespawn HEAL_LOCATION_PETALBURG_CITY call PetalburgCity_PokemonCenter_1F_EventScript_2718DE end diff --git a/data/maps/RustboroCity_PokemonCenter_1F/scripts.inc b/data/maps/RustboroCity_PokemonCenter_1F/scripts.inc index a9156d5aac..acf33e6474 100644 --- a/data/maps/RustboroCity_PokemonCenter_1F/scripts.inc +++ b/data/maps/RustboroCity_PokemonCenter_1F/scripts.inc @@ -4,7 +4,7 @@ RustboroCity_PokemonCenter_1F_MapScripts:: @ 8214D62 .byte 0 RustboroCity_PokemonCenter_1F_MapScript1_214D6D: @ 8214D6D - setrespawn 6 + setrespawn HEAL_LOCATION_RUSTBORO_CITY call RustboroCity_PokemonCenter_1F_EventScript_2718DE end diff --git a/data/maps/SSTidalCorridor/scripts.inc b/data/maps/SSTidalCorridor/scripts.inc index 2e1b4cfa44..a2985341f7 100644 --- a/data/maps/SSTidalCorridor/scripts.inc +++ b/data/maps/SSTidalCorridor/scripts.inc @@ -123,7 +123,7 @@ SSTidalCorridor_EventScript_23C119:: @ 823C119 end SSTidalCorridor_EventScript_23C13B:: @ 823C13B - setrespawn 8 + setrespawn HEAL_LOCATION_LILYCOVE_CITY msgbox SSTidalCorridor_Text_23C64F, 4 checkflag FLAG_0x104 call_if 1, SSTidalCorridor_EventScript_23C179 @@ -133,7 +133,7 @@ SSTidalCorridor_EventScript_23C13B:: @ 823C13B end SSTidalCorridor_EventScript_23C15A:: @ 823C15A - setrespawn 4 + setrespawn HEAL_LOCATION_SLATEPORT_CITY msgbox SSTidalCorridor_Text_23C64F, 4 checkflag FLAG_0x104 call_if 1, SSTidalCorridor_EventScript_23C179 diff --git a/data/maps/SlateportCity_PokemonCenter_1F/scripts.inc b/data/maps/SlateportCity_PokemonCenter_1F/scripts.inc index 404804c572..dd62280bb4 100644 --- a/data/maps/SlateportCity_PokemonCenter_1F/scripts.inc +++ b/data/maps/SlateportCity_PokemonCenter_1F/scripts.inc @@ -4,7 +4,7 @@ SlateportCity_PokemonCenter_1F_MapScripts:: @ 820DABF .byte 0 SlateportCity_PokemonCenter_1F_MapScript1_20DACA: @ 820DACA - setrespawn 4 + setrespawn HEAL_LOCATION_SLATEPORT_CITY call SlateportCity_PokemonCenter_1F_EventScript_2718DE end diff --git a/data/maps/SootopolisCity_PokemonCenter_1F/scripts.inc b/data/maps/SootopolisCity_PokemonCenter_1F/scripts.inc index fcb1b58631..46dccd97eb 100644 --- a/data/maps/SootopolisCity_PokemonCenter_1F/scripts.inc +++ b/data/maps/SootopolisCity_PokemonCenter_1F/scripts.inc @@ -4,7 +4,7 @@ SootopolisCity_PokemonCenter_1F_MapScripts:: @ 82264F1 .byte 0 SootopolisCity_PokemonCenter_1F_MapScript1_2264FC: @ 82264FC - setrespawn 10 + setrespawn HEAL_LOCATION_SOOTOPOLIS_CITY end SootopolisCity_PokemonCenter_1F_EventScript_226500:: @ 8226500 diff --git a/data/maps/VerdanturfTown_PokemonCenter_1F/scripts.inc b/data/maps/VerdanturfTown_PokemonCenter_1F/scripts.inc index 73c7fe1f39..131df00f7b 100644 --- a/data/maps/VerdanturfTown_PokemonCenter_1F/scripts.inc +++ b/data/maps/VerdanturfTown_PokemonCenter_1F/scripts.inc @@ -4,7 +4,7 @@ VerdanturfTown_PokemonCenter_1F_MapScripts:: @ 8202726 .byte 0 VerdanturfTown_PokemonCenter_1F_MapScript1_202731: @ 8202731 - setrespawn 18 + setrespawn HEAL_LOCATION_VERDANTURF_TOWN call VerdanturfTown_PokemonCenter_1F_EventScript_2718DE end diff --git a/include/constants/heal_locations.h b/include/constants/heal_locations.h new file mode 100644 index 0000000000..64c8956a9b --- /dev/null +++ b/include/constants/heal_locations.h @@ -0,0 +1,27 @@ +#ifndef GUARD_CONSTANTS_HEAL_LOCATIONS_H +#define GUARD_CONSTANTS_HEAL_LOCATIONS_H + +#define HEAL_LOCATION_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F 1 +#define HEAL_LOCATION_LITTLEROOT_TOWN_MAYS_HOUSE_2F 2 +#define HEAL_LOCATION_PETALBURG_CITY 3 +#define HEAL_LOCATION_SLATEPORT_CITY 4 +#define HEAL_LOCATION_MAUVILLE_CITY 5 +#define HEAL_LOCATION_RUSTBORO_CITY 6 +#define HEAL_LOCATION_FORTREE_CITY 7 +#define HEAL_LOCATION_LILYCOVE_CITY 8 +#define HEAL_LOCATION_MOSSDEEP_CITY 9 +#define HEAL_LOCATION_SOOTOPOLIS_CITY 10 +#define HEAL_LOCATION_EVER_GRANDE_CITY_1 11 +#define HEAL_LOCATION_LITTLEROOT_TOWN_1 12 +#define HEAL_LOCATION_LITTLEROOT_TOWN_2 13 +#define HEAL_LOCATION_OLDALE_TOWN 14 +#define HEAL_LOCATION_DEWFORD_TOWN 15 +#define HEAL_LOCATION_LAVARIDGE_TOWN 16 +#define HEAL_LOCATION_FALLARBOR_TOWN 17 +#define HEAL_LOCATION_VERDANTURF_TOWN 18 +#define HEAL_LOCATION_PACIFIDLOG_TOWN 19 +#define HEAL_LOCATION_EVER_GRANDE_CITY_2 20 +#define HEAL_LOCATION_SOUTHERN_ISLAND_EXTERIOR 21 +#define HEAL_LOCATION_BATTLE_FRONTIER_OUTSIDE_EAST 22 + +#endif // GUARD_CONSTANTS_HEAL_LOCATIONS_H diff --git a/include/heal_location.h b/include/heal_location.h index 94dac24173..46f0d785ab 100644 --- a/include/heal_location.h +++ b/include/heal_location.h @@ -1,8 +1,6 @@ #ifndef GUARD_HEAL_LOCATION_H #define GUARD_HEAL_LOCATION_H -#include "sprite.h" - struct HealLocation { s8 group; diff --git a/src/data/heal_locations.h b/src/data/heal_locations.h new file mode 100644 index 0000000000..613bcebe83 --- /dev/null +++ b/src/data/heal_locations.h @@ -0,0 +1,25 @@ +static const struct HealLocation sHealLocations[] = +{ + {MAP_GROUP(LITTLEROOT_TOWN_BRENDANS_HOUSE_2F), MAP_NUM(LITTLEROOT_TOWN_BRENDANS_HOUSE_2F), 4, 2}, + {MAP_GROUP(LITTLEROOT_TOWN_MAYS_HOUSE_2F), MAP_NUM(LITTLEROOT_TOWN_MAYS_HOUSE_2F), 4, 2}, + {MAP_GROUP(PETALBURG_CITY), MAP_NUM(PETALBURG_CITY), 20, 17}, + {MAP_GROUP(SLATEPORT_CITY), MAP_NUM(SLATEPORT_CITY), 19, 20}, + {MAP_GROUP(MAUVILLE_CITY), MAP_NUM(MAUVILLE_CITY), 22, 6}, + {MAP_GROUP(RUSTBORO_CITY), MAP_NUM(RUSTBORO_CITY), 16, 39}, + {MAP_GROUP(FORTREE_CITY), MAP_NUM(FORTREE_CITY), 5, 7}, + {MAP_GROUP(LILYCOVE_CITY), MAP_NUM(LILYCOVE_CITY), 24, 15}, + {MAP_GROUP(MOSSDEEP_CITY), MAP_NUM(MOSSDEEP_CITY), 28, 17}, + {MAP_GROUP(SOOTOPOLIS_CITY), MAP_NUM(SOOTOPOLIS_CITY), 43, 32}, + {MAP_GROUP(EVER_GRANDE_CITY), MAP_NUM(EVER_GRANDE_CITY), 27, 49}, + {MAP_GROUP(LITTLEROOT_TOWN), MAP_NUM(LITTLEROOT_TOWN), 5, 9}, + {MAP_GROUP(LITTLEROOT_TOWN), MAP_NUM(LITTLEROOT_TOWN), 14, 9}, + {MAP_GROUP(OLDALE_TOWN), MAP_NUM(OLDALE_TOWN), 6, 17}, + {MAP_GROUP(DEWFORD_TOWN), MAP_NUM(DEWFORD_TOWN), 2, 11}, + {MAP_GROUP(LAVARIDGE_TOWN), MAP_NUM(LAVARIDGE_TOWN), 9, 7}, + {MAP_GROUP(FALLARBOR_TOWN), MAP_NUM(FALLARBOR_TOWN), 14, 8}, + {MAP_GROUP(VERDANTURF_TOWN), MAP_NUM(VERDANTURF_TOWN), 16, 4}, + {MAP_GROUP(PACIFIDLOG_TOWN), MAP_NUM(PACIFIDLOG_TOWN), 8, 16}, + {MAP_GROUP(EVER_GRANDE_CITY), MAP_NUM(EVER_GRANDE_CITY), 18, 6}, + {MAP_GROUP(SOUTHERN_ISLAND_EXTERIOR), MAP_NUM(SOUTHERN_ISLAND_EXTERIOR), 15, 20}, + {MAP_GROUP(BATTLE_FRONTIER_OUTSIDE_EAST), MAP_NUM(BATTLE_FRONTIER_OUTSIDE_EAST), 3, 52}, +}; diff --git a/src/heal_location.c b/src/heal_location.c index 41b9898feb..b378e8e8cb 100644 --- a/src/heal_location.c +++ b/src/heal_location.c @@ -2,31 +2,7 @@ #include "heal_location.h" #include "constants/maps.h" -static const struct HealLocation sHealLocations[] = -{ - {MAP_GROUP(LITTLEROOT_TOWN_BRENDANS_HOUSE_2F), MAP_NUM(LITTLEROOT_TOWN_BRENDANS_HOUSE_2F), 4, 2}, - {MAP_GROUP(LITTLEROOT_TOWN_MAYS_HOUSE_2F), MAP_NUM(LITTLEROOT_TOWN_MAYS_HOUSE_2F), 4, 2}, - {MAP_GROUP(PETALBURG_CITY), MAP_NUM(PETALBURG_CITY), 20, 17}, - {MAP_GROUP(SLATEPORT_CITY), MAP_NUM(SLATEPORT_CITY), 19, 20}, - {MAP_GROUP(MAUVILLE_CITY), MAP_NUM(MAUVILLE_CITY), 22, 6}, - {MAP_GROUP(RUSTBORO_CITY), MAP_NUM(RUSTBORO_CITY), 16, 39}, - {MAP_GROUP(FORTREE_CITY), MAP_NUM(FORTREE_CITY), 5, 7}, - {MAP_GROUP(LILYCOVE_CITY), MAP_NUM(LILYCOVE_CITY), 24, 15}, - {MAP_GROUP(MOSSDEEP_CITY), MAP_NUM(MOSSDEEP_CITY), 28, 17}, - {MAP_GROUP(SOOTOPOLIS_CITY), MAP_NUM(SOOTOPOLIS_CITY), 43, 32}, - {MAP_GROUP(EVER_GRANDE_CITY), MAP_NUM(EVER_GRANDE_CITY), 27, 49}, - {MAP_GROUP(LITTLEROOT_TOWN), MAP_NUM(LITTLEROOT_TOWN), 5, 9}, - {MAP_GROUP(LITTLEROOT_TOWN), MAP_NUM(LITTLEROOT_TOWN), 14, 9}, - {MAP_GROUP(OLDALE_TOWN), MAP_NUM(OLDALE_TOWN), 6, 17}, - {MAP_GROUP(DEWFORD_TOWN), MAP_NUM(DEWFORD_TOWN), 2, 11}, - {MAP_GROUP(LAVARIDGE_TOWN), MAP_NUM(LAVARIDGE_TOWN), 9, 7}, - {MAP_GROUP(FALLARBOR_TOWN), MAP_NUM(FALLARBOR_TOWN), 14, 8}, - {MAP_GROUP(VERDANTURF_TOWN), MAP_NUM(VERDANTURF_TOWN), 16, 4}, - {MAP_GROUP(PACIFIDLOG_TOWN), MAP_NUM(PACIFIDLOG_TOWN), 8, 16}, - {MAP_GROUP(EVER_GRANDE_CITY), MAP_NUM(EVER_GRANDE_CITY), 18, 6}, - {MAP_GROUP(SOUTHERN_ISLAND_EXTERIOR), MAP_NUM(SOUTHERN_ISLAND_EXTERIOR), 15, 20}, - {MAP_GROUP(BATTLE_FRONTIER_OUTSIDE_EAST), MAP_NUM(BATTLE_FRONTIER_OUTSIDE_EAST), 3, 52}, -}; +#include "data/heal_locations.h" u32 GetHealLocationIndexByMap(u16 mapGroup, u16 mapNum) { diff --git a/src/region_map.c b/src/region_map.c index 5176d49968..5420fbefa2 100644 --- a/src/region_map.c +++ b/src/region_map.c @@ -22,6 +22,8 @@ #include "field_effect.h" #include "region_map.h" #include "constants/region_map_sections.h" +#include "heal_location.h" +#include "constants/heal_locations.h" #define MAP_WIDTH 28 #define MAP_HEIGHT 15 @@ -243,22 +245,22 @@ static const u16 Unknown_085A1D48[] = INCBIN_U16("graphics/pokenav/fly_target_ic static const u8 sUnknown_085A1D68[] = INCBIN_U8("graphics/pokenav/fly_target_icons.4bpp.lz"); static const u8 sUnknown_085A1E3C[][3] = { - {MAP_GROUP(LITTLEROOT_TOWN), MAP_NUM(LITTLEROOT_TOWN), 1}, - {MAP_GROUP(OLDALE_TOWN), MAP_NUM(OLDALE_TOWN), 14}, - {MAP_GROUP(DEWFORD_TOWN), MAP_NUM(DEWFORD_TOWN), 15}, - {MAP_GROUP(LAVARIDGE_TOWN), MAP_NUM(LAVARIDGE_TOWN), 16}, - {MAP_GROUP(FALLARBOR_TOWN), MAP_NUM(FALLARBOR_TOWN), 17}, - {MAP_GROUP(VERDANTURF_TOWN), MAP_NUM(VERDANTURF_TOWN), 18}, - {MAP_GROUP(PACIFIDLOG_TOWN), MAP_NUM(PACIFIDLOG_TOWN), 19}, - {MAP_GROUP(PETALBURG_CITY), MAP_NUM(PETALBURG_CITY), 3}, - {MAP_GROUP(SLATEPORT_CITY), MAP_NUM(SLATEPORT_CITY), 4}, - {MAP_GROUP(MAUVILLE_CITY), MAP_NUM(MAUVILLE_CITY), 5}, - {MAP_GROUP(RUSTBORO_CITY), MAP_NUM(RUSTBORO_CITY), 6}, - {MAP_GROUP(FORTREE_CITY), MAP_NUM(FORTREE_CITY), 7}, - {MAP_GROUP(LILYCOVE_CITY), MAP_NUM(LILYCOVE_CITY), 8}, - {MAP_GROUP(MOSSDEEP_CITY), MAP_NUM(MOSSDEEP_CITY), 9}, - {MAP_GROUP(SOOTOPOLIS_CITY), MAP_NUM(SOOTOPOLIS_CITY), 10}, - {MAP_GROUP(EVER_GRANDE_CITY), MAP_NUM(EVER_GRANDE_CITY), 11}, + {MAP_GROUP(LITTLEROOT_TOWN), MAP_NUM(LITTLEROOT_TOWN), HEAL_LOCATION_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F}, + {MAP_GROUP(OLDALE_TOWN), MAP_NUM(OLDALE_TOWN), HEAL_LOCATION_OLDALE_TOWN}, + {MAP_GROUP(DEWFORD_TOWN), MAP_NUM(DEWFORD_TOWN), HEAL_LOCATION_DEWFORD_TOWN}, + {MAP_GROUP(LAVARIDGE_TOWN), MAP_NUM(LAVARIDGE_TOWN), HEAL_LOCATION_LAVARIDGE_TOWN}, + {MAP_GROUP(FALLARBOR_TOWN), MAP_NUM(FALLARBOR_TOWN), HEAL_LOCATION_FALLARBOR_TOWN}, + {MAP_GROUP(VERDANTURF_TOWN), MAP_NUM(VERDANTURF_TOWN), HEAL_LOCATION_VERDANTURF_TOWN}, + {MAP_GROUP(PACIFIDLOG_TOWN), MAP_NUM(PACIFIDLOG_TOWN), HEAL_LOCATION_PACIFIDLOG_TOWN}, + {MAP_GROUP(PETALBURG_CITY), MAP_NUM(PETALBURG_CITY), HEAL_LOCATION_PETALBURG_CITY}, + {MAP_GROUP(SLATEPORT_CITY), MAP_NUM(SLATEPORT_CITY), HEAL_LOCATION_SLATEPORT_CITY}, + {MAP_GROUP(MAUVILLE_CITY), MAP_NUM(MAUVILLE_CITY), HEAL_LOCATION_MAUVILLE_CITY}, + {MAP_GROUP(RUSTBORO_CITY), MAP_NUM(RUSTBORO_CITY), HEAL_LOCATION_RUSTBORO_CITY}, + {MAP_GROUP(FORTREE_CITY), MAP_NUM(FORTREE_CITY), HEAL_LOCATION_FORTREE_CITY}, + {MAP_GROUP(LILYCOVE_CITY), MAP_NUM(LILYCOVE_CITY), HEAL_LOCATION_LILYCOVE_CITY}, + {MAP_GROUP(MOSSDEEP_CITY), MAP_NUM(MOSSDEEP_CITY), HEAL_LOCATION_MOSSDEEP_CITY}, + {MAP_GROUP(SOOTOPOLIS_CITY), MAP_NUM(SOOTOPOLIS_CITY), HEAL_LOCATION_SOOTOPOLIS_CITY}, + {MAP_GROUP(EVER_GRANDE_CITY), MAP_NUM(EVER_GRANDE_CITY), HEAL_LOCATION_EVER_GRANDE_CITY_1}, {MAP_GROUP(ROUTE101), MAP_NUM(ROUTE101), 0}, {MAP_GROUP(ROUTE102), MAP_NUM(ROUTE102), 0}, {MAP_GROUP(ROUTE103), MAP_NUM(ROUTE103), 0}, @@ -1908,16 +1910,16 @@ static void sub_8124E0C(void) switch (gUnknown_0203A148->regionMap.mapSecId) { case MAPSEC_SOUTHERN_ISLAND: - sub_8084CCC(0x15); + sub_8084CCC(HEAL_LOCATION_SOUTHERN_ISLAND_EXTERIOR); break; case MAPSEC_BATTLE_FRONTIER: - sub_8084CCC(0x16); + sub_8084CCC(HEAL_LOCATION_BATTLE_FRONTIER_OUTSIDE_EAST); break; case MAPSEC_LITTLEROOT_TOWN: - sub_8084CCC(gSaveBlock2Ptr->playerGender == MALE ? 0x0C : 0x0D); + sub_8084CCC(gSaveBlock2Ptr->playerGender == MALE ? HEAL_LOCATION_LITTLEROOT_TOWN_1 : HEAL_LOCATION_LITTLEROOT_TOWN_2); break; case MAPSEC_EVER_GRANDE_CITY: - sub_8084CCC(FlagGet(FLAG_LANDMARK_POKEMON_LEAGUE) && gUnknown_0203A148->regionMap.posWithinMapSec == 0 ? 0x14 : 0x0B); + sub_8084CCC(FlagGet(FLAG_LANDMARK_POKEMON_LEAGUE) && gUnknown_0203A148->regionMap.posWithinMapSec == 0 ? HEAL_LOCATION_EVER_GRANDE_CITY_2 : HEAL_LOCATION_EVER_GRANDE_CITY_1); break; default: if (sUnknown_085A1E3C[gUnknown_0203A148->regionMap.mapSecId][2] != 0) From 1e0f3ec433875aa38c259b866fca7ea38b39d072 Mon Sep 17 00:00:00 2001 From: Diegoisawesome Date: Fri, 10 Aug 2018 14:07:23 -0700 Subject: [PATCH 067/234] Continue decompiling field_specials --- asm/field_specials.s | 282 ------------------------------- data/field_specials.s | 6 - include/field_specials.h | 2 +- include/pokemon_storage_system.h | 1 + src/field_specials.c | 254 +++++++++++++++++++++++++++- 5 files changed, 255 insertions(+), 290 deletions(-) diff --git a/asm/field_specials.s b/asm/field_specials.s index 8b2fe920e6..aa4699b742 100644 --- a/asm/field_specials.s +++ b/asm/field_specials.s @@ -5,288 +5,6 @@ .text - thumb_func_start sub_813B21C -sub_813B21C: @ 813B21C - push {r4,r5,lr} - ldr r5, =0x000008d7 - adds r0, r5, 0 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - bne _0813B258 - bl StorageGetCurrentBox - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, =0x00004036 - bl VarGet - lsls r0, 16 - lsrs r0, 16 - cmp r4, r0 - beq _0813B258 - adds r0, r5, 0 - bl FlagSet - movs r0, 0x1 - b _0813B25A - .pool -_0813B258: - movs r0, 0 -_0813B25A: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_813B21C - - thumb_func_start sub_813B260 -sub_813B260: @ 813B260 - push {r4-r7,lr} - ldr r0, =0x00004036 - bl VarGet - lsls r0, 24 - lsrs r0, 24 - bl set_unknown_box_id - bl StorageGetCurrentBox - lsls r0, 24 - lsrs r4, r0, 24 -_0813B278: - movs r5, 0 - lsls r6, r4, 24 - lsls r7, r4, 16 -_0813B27E: - lsls r1, r5, 24 - lsrs r1, 24 - lsrs r0, r6, 24 - bl GetBoxedMonPtr - movs r1, 0xB - movs r2, 0 - bl GetBoxMonData - cmp r0, 0 - bne _0813B2C0 - bl get_unknown_box_id - lsls r0, 16 - lsrs r0, 16 - cmp r0, r4 - beq _0813B2A6 - ldr r0, =0x000008d7 - bl FlagClear -_0813B2A6: - ldr r0, =0x00004036 - lsrs r1, r7, 16 - bl VarSet - bl sub_813B21C - lsls r0, 24 - lsrs r0, 24 - b _0813B2DC - .pool -_0813B2C0: - adds r5, 0x1 - cmp r5, 0x1D - ble _0813B27E - adds r4, 0x1 - cmp r4, 0xE - bne _0813B2CE - movs r4, 0 -_0813B2CE: - bl StorageGetCurrentBox - lsls r0, 24 - lsrs r0, 24 - cmp r4, r0 - bne _0813B278 - movs r0, 0 -_0813B2DC: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_813B260 - - thumb_func_start sub_813B2E4 -sub_813B2E4: @ 813B2E4 - push {r4,lr} - bl Random - lsls r0, 16 - lsrs r4, r0, 16 - ldr r0, =0x00004038 - movs r1, 0 - bl VarSet - movs r0, 0xDF - lsls r0, 1 - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0813B340 - ldr r0, =0x000001bf - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0813B330 - ldr r0, =0x00004037 - movs r1, 0x7 - ands r4, r1 - adds r1, r4, 0 - adds r1, 0x9 - bl VarSet - b _0813B36A - .pool -_0813B330: - movs r0, 0x1 - ands r4, r0 - cmp r4, 0 - bne _0813B354 - bl Random - lsls r0, 16 - lsrs r4, r0, 16 -_0813B340: - ldr r0, =0x00004037 - movs r1, 0x7 - ands r4, r1 - adds r1, r4, 0x1 - bl VarSet - b _0813B36A - .pool -_0813B354: - bl Random - lsls r0, 16 - lsrs r4, r0, 16 - ldr r0, =0x00004037 - movs r1, 0x7 - ands r4, r1 - adds r1, r4, 0 - adds r1, 0x9 - bl VarSet -_0813B36A: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813B2E4 - - thumb_func_start sub_813B374 -sub_813B374: @ 813B374 - push {r4,lr} - ldr r0, =0x00004037 - bl VarGet - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - ldr r0, =gStringVar1 - ldr r2, =gUnknown_085B3400 - subs r1, r4, 0x1 - adds r1, r2 - ldrb r1, [r1] - movs r2, 0 - bl GetMapName - cmp r4, 0x8 - bls _0813B3A8 - movs r0, 0x1 - b _0813B3AA - .pool -_0813B3A8: - movs r0, 0 -_0813B3AA: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_813B374 - - thumb_func_start sub_813B3B0 -sub_813B3B0: @ 813B3B0 - push {r4-r6,lr} - ldr r5, =0x00004038 - adds r0, r5, 0 - bl VarGet - lsls r0, 16 - lsrs r4, r0, 16 - ldr r0, =0x00004037 - bl VarGet - lsls r0, 16 - lsrs r6, r0, 16 - cmp r6, 0 - beq _0813B47C - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - ldr r0, =0x000003e7 - cmp r4, r0 - bls _0813B474 - adds r0, r5, 0 - movs r1, 0 - bl VarSet - ldr r0, =gSaveBlock1Ptr - ldr r1, [r0] - movs r0, 0x4 - ldrsb r0, [r1, r0] - cmp r0, 0x18 - bne _0813B414 - movs r0, 0x5 - ldrsb r0, [r1, r0] - cmp r0, 0x69 - bgt _0813B414 - cmp r0, 0x65 - blt _0813B414 - ldr r0, =0x00004039 - movs r1, 0x1 - b _0813B478 - .pool -_0813B414: - ldr r0, =gSaveBlock1Ptr - ldr r2, [r0] - movs r1, 0x4 - ldrsb r1, [r2, r1] - adds r3, r0, 0 - cmp r1, 0 - bne _0813B444 - movs r0, 0x5 - ldrsb r0, [r2, r0] - cmp r0, 0x34 - beq _0813B436 - cmp r0, 0x34 - blt _0813B444 - cmp r0, 0x38 - bgt _0813B444 - cmp r0, 0x36 - blt _0813B444 -_0813B436: - ldr r0, =0x00004039 - movs r1, 0x1 - b _0813B478 - .pool -_0813B444: - ldr r3, [r3] - movs r2, 0x5 - ldrsb r2, [r3, r2] - ldr r1, =gUnknown_085B3410 - subs r0, r6, 0x1 - adds r0, r1 - ldrb r0, [r0] - cmp r2, r0 - bne _0813B468 - movs r0, 0x4 - ldrsb r0, [r3, r0] - cmp r0, 0 - bne _0813B468 - movs r0, 0x1 - b _0813B47E - .pool -_0813B468: - ldr r0, =0x00004037 - movs r1, 0 - b _0813B478 - .pool -_0813B474: - adds r0, r5, 0 - adds r1, r4, 0 -_0813B478: - bl VarSet -_0813B47C: - movs r0, 0 -_0813B47E: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_813B3B0 - thumb_func_start sub_813B484 sub_813B484: @ 813B484 push {lr} diff --git a/data/field_specials.s b/data/field_specials.s index 1c2fb32da8..86a8606e16 100644 --- a/data/field_specials.s +++ b/data/field_specials.s @@ -3,12 +3,6 @@ .section .rodata -gUnknown_085B3400:: @ 85B3400 - .byte 0x1d, 0x1d, 0x1e, 0x1e, 0x1f, 0x1f, 0x21, 0x21, 0x14, 0x14, 0x28, 0x28, 0x2a, 0x2a, 0x2c, 0x2c - -gUnknown_085B3410:: @ 85B3410 - .byte 0x1d, 0x1d, 0x1e, 0x1e, 0x1f, 0x1f, 0x21, 0x21, 0x14, 0x14, 0x28, 0x28, 0x2a, 0x2a, 0x2c, 0x2c - gUnknown_085B3420:: @ 85B3420 .byte 0x02, 0x04, 0x01, 0x04, 0x04, 0x01, 0x05, 0x00, 0x01, 0x06, 0x03, 0x01, 0x08, 0x06, 0x01, 0x09, 0x0d, 0x01, 0x0a, 0x07, 0x01, 0x0b, 0x07, 0x01, 0x0c, 0x04, 0x01, 0x0e, 0x05, 0x01, 0x0f, 0x04 .byte 0x01, 0x1a, 0x37, 0x01 diff --git a/include/field_specials.h b/include/field_specials.h index 8065b061c4..c1f70a3996 100644 --- a/include/field_specials.h +++ b/include/field_specials.h @@ -3,7 +3,7 @@ u8 GetLeadMonIndex(void); u8 sub_813B260(void); -u8 get_unknown_box_id(void); +u16 get_unknown_box_id(void); bool8 InMultiBattleRoom(void); #endif // GUARD_FIELD_SPECIALS_H diff --git a/include/pokemon_storage_system.h b/include/pokemon_storage_system.h index 5e07ba1f24..990331e860 100644 --- a/include/pokemon_storage_system.h +++ b/include/pokemon_storage_system.h @@ -10,5 +10,6 @@ void SetBoxMonNickFromAnyBox(u8, u8, u8 *); void CompactPartySlots(void); u32 GetBoxMonDataFromAnyBox(u8 boxId, u8 monPosition, u32 request); bool8 CheckFreePokemonStorageSpace(void); +u8 StorageGetCurrentBox(void); #endif // GUARD_POKEMON_STORAGE_SYSTEM_H diff --git a/src/field_specials.c b/src/field_specials.c index 20165180bf..7d57bddde2 100644 --- a/src/field_specials.c +++ b/src/field_specials.c @@ -3584,7 +3584,259 @@ void set_unknown_box_id(u8 id) gUnknown_0203AB6F = id; } -u8 get_unknown_box_id(void) +u16 get_unknown_box_id(void) { return gUnknown_0203AB6F; } + +bool32 sub_813B21C(void) +{ + if (FlagGet(FLAG_SYS_STORAGE_UNKNOWN_FLAG) == FALSE) + { + if (StorageGetCurrentBox() != VarGet(VAR_STORAGE_UNKNOWN)) + { + FlagSet(FLAG_SYS_STORAGE_UNKNOWN_FLAG); + return TRUE; + } + } + return FALSE; +} + +bool8 sub_813B260(void) +{ + int box; + int i; + set_unknown_box_id(VarGet(VAR_STORAGE_UNKNOWN)); + box = StorageGetCurrentBox(); + do + { + for (i = 0; i < IN_BOX_COUNT; i++) + { + if (GetBoxMonData(GetBoxedMonPtr(box, i), MON_DATA_SPECIES, 0) == 0) + { + if (get_unknown_box_id() != box) + { + FlagClear(FLAG_SYS_STORAGE_UNKNOWN_FLAG); + } + VarSet(VAR_STORAGE_UNKNOWN, box); + return sub_813B21C(); + } + } + + if (++box == TOTAL_BOXES_COUNT) + { + box = 0; + } + } while (box != StorageGetCurrentBox()); + return FALSE; +} + +void sub_813B2E4(void) +{ + u16 randomValue = Random(); + VarSet(VAR_0x4038, 0); + + if (FlagGet(FLAG_0x1BE) == TRUE) + { + VarSet(VAR_0x4037, (randomValue & 7) + 1); + } + else if (FlagGet(FLAG_0x1BF) == TRUE) + { + VarSet(VAR_0x4037, (randomValue & 7) + 9); + } + else if ((randomValue & 1) == 0) + { + randomValue = Random(); + VarSet(VAR_0x4037, (randomValue & 7) + 1); + } + else + { + randomValue = Random(); + VarSet(VAR_0x4037, (randomValue & 7) + 9); + } +} + +const u8 gUnknown_085B3400[] = { 0x1d, 0x1d, 0x1e, 0x1e, 0x1f, 0x1f, 0x21, 0x21, 0x14, 0x14, 0x28, 0x28, 0x2a, 0x2a, 0x2c, 0x2c }; + +bool32 sub_813B374(void) +{ + u16 var = VarGet(VAR_0x4037); + + GetMapName(gStringVar1, gUnknown_085B3400[var - 1], 0); + + if (var < 9) + { + return FALSE; + } + else + { + return TRUE; + } +} + +const u8 gUnknown_085B3410[] = { 0x1d, 0x1d, 0x1e, 0x1e, 0x1f, 0x1f, 0x21, 0x21, 0x14, 0x14, 0x28, 0x28, 0x2a, 0x2a, 0x2c, 0x2c }; + +// last parts of switch statements insist on merging +#ifdef NONMATCHING +bool32 sub_813B3B0(void) +{ + u16 var1 = VarGet(VAR_0x4038); + u16 var2 = VarGet(VAR_0x4037); + + if (var2 != 0) + { + if (++var1 > 999) + { + VarSet(VAR_0x4038, 0); + if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(UNDERWATER_MARINE_CAVE)) + { + switch (gSaveBlock1Ptr->location.mapNum) + { + case MAP_NUM(UNDERWATER_MARINE_CAVE): + case MAP_NUM(MARINE_CAVE_ENTRANCE): + case MAP_NUM(MARINE_CAVE_END): + case MAP_NUM(TERRA_CAVE_ENTRANCE): + case MAP_NUM(TERRA_CAVE_END): + VarSet(VAR_0x4039, 1); + return FALSE; + default: + break; + } + } + + if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(UNDERWATER3)) + { + switch (gSaveBlock1Ptr->location.mapNum) + { + case MAP_NUM(UNDERWATER3): + case MAP_NUM(UNDERWATER5): + case MAP_NUM(UNDERWATER6): + case MAP_NUM(UNDERWATER7): + VarSet(VAR_0x4039, 1); + return FALSE; + default: + break; + } + } + + if (gSaveBlock1Ptr->location.mapNum == gUnknown_085B3410[var2 - 1] && + gSaveBlock1Ptr->location.mapGroup == 0) + { + return TRUE; + } + else + { + VarSet(VAR_0x4037, 0); + return FALSE; + } + } + else + { + VarSet(VAR_0x4038, var1); + return FALSE; + } + } + else + { + return FALSE; + } +} +#else +NAKED +bool32 sub_813B3B0(void) +{ + asm_unified("push {r4-r6,lr}\n\ + ldr r5, =0x00004038\n\ + adds r0, r5, 0\n\ + bl VarGet\n\ + lsls r0, 16\n\ + lsrs r4, r0, 16\n\ + ldr r0, =0x00004037\n\ + bl VarGet\n\ + lsls r0, 16\n\ + lsrs r6, r0, 16\n\ + cmp r6, 0\n\ + beq _0813B47C\n\ + adds r0, r4, 0x1\n\ + lsls r0, 16\n\ + lsrs r4, r0, 16\n\ + ldr r0, =0x000003e7\n\ + cmp r4, r0\n\ + bls _0813B474\n\ + adds r0, r5, 0\n\ + movs r1, 0\n\ + bl VarSet\n\ + ldr r0, =gSaveBlock1Ptr\n\ + ldr r1, [r0]\n\ + movs r0, 0x4\n\ + ldrsb r0, [r1, r0]\n\ + cmp r0, 0x18\n\ + bne _0813B414\n\ + movs r0, 0x5\n\ + ldrsb r0, [r1, r0]\n\ + cmp r0, 0x69\n\ + bgt _0813B414\n\ + cmp r0, 0x65\n\ + blt _0813B414\n\ + ldr r0, =0x00004039\n\ + movs r1, 0x1\n\ + b _0813B478\n\ + .pool\n\ +_0813B414:\n\ + ldr r0, =gSaveBlock1Ptr\n\ + ldr r2, [r0]\n\ + movs r1, 0x4\n\ + ldrsb r1, [r2, r1]\n\ + adds r3, r0, 0\n\ + cmp r1, 0\n\ + bne _0813B444\n\ + movs r0, 0x5\n\ + ldrsb r0, [r2, r0]\n\ + cmp r0, 0x34\n\ + beq _0813B436\n\ + cmp r0, 0x34\n\ + blt _0813B444\n\ + cmp r0, 0x38\n\ + bgt _0813B444\n\ + cmp r0, 0x36\n\ + blt _0813B444\n\ +_0813B436:\n\ + ldr r0, =0x00004039\n\ + movs r1, 0x1\n\ + b _0813B478\n\ + .pool\n\ +_0813B444:\n\ + ldr r3, [r3]\n\ + movs r2, 0x5\n\ + ldrsb r2, [r3, r2]\n\ + ldr r1, =gUnknown_085B3410\n\ + subs r0, r6, 0x1\n\ + adds r0, r1\n\ + ldrb r0, [r0]\n\ + cmp r2, r0\n\ + bne _0813B468\n\ + movs r0, 0x4\n\ + ldrsb r0, [r3, r0]\n\ + cmp r0, 0\n\ + bne _0813B468\n\ + movs r0, 0x1\n\ + b _0813B47E\n\ + .pool\n\ +_0813B468:\n\ + ldr r0, =0x00004037\n\ + movs r1, 0\n\ + b _0813B478\n\ + .pool\n\ +_0813B474:\n\ + adds r0, r5, 0\n\ + adds r1, r4, 0\n\ +_0813B478:\n\ + bl VarSet\n\ +_0813B47C:\n\ + movs r0, 0\n\ +_0813B47E:\n\ + pop {r4-r6}\n\ + pop {r1}\n\ + bx r1"); +} +#endif // NONMATCHING From 2fc3b7f1714011b126c66dbd445194ed50229bb5 Mon Sep 17 00:00:00 2001 From: garak Date: Sat, 11 Aug 2018 10:28:13 -0400 Subject: [PATCH 068/234] change sUnknown_085A1E3C to sMapHealLocations --- src/region_map.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/region_map.c b/src/region_map.c index 5420fbefa2..3bf6ce800d 100644 --- a/src/region_map.c +++ b/src/region_map.c @@ -244,7 +244,7 @@ static const u16 Unknown_085A1D48[] = INCBIN_U16("graphics/pokenav/fly_target_ic static const u8 sUnknown_085A1D68[] = INCBIN_U8("graphics/pokenav/fly_target_icons.4bpp.lz"); -static const u8 sUnknown_085A1E3C[][3] = { +static const u8 sMapHealLocations[][3] = { {MAP_GROUP(LITTLEROOT_TOWN), MAP_NUM(LITTLEROOT_TOWN), HEAL_LOCATION_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F}, {MAP_GROUP(OLDALE_TOWN), MAP_NUM(OLDALE_TOWN), HEAL_LOCATION_OLDALE_TOWN}, {MAP_GROUP(DEWFORD_TOWN), MAP_NUM(DEWFORD_TOWN), HEAL_LOCATION_DEWFORD_TOWN}, @@ -1922,13 +1922,13 @@ static void sub_8124E0C(void) sub_8084CCC(FlagGet(FLAG_LANDMARK_POKEMON_LEAGUE) && gUnknown_0203A148->regionMap.posWithinMapSec == 0 ? HEAL_LOCATION_EVER_GRANDE_CITY_2 : HEAL_LOCATION_EVER_GRANDE_CITY_1); break; default: - if (sUnknown_085A1E3C[gUnknown_0203A148->regionMap.mapSecId][2] != 0) + if (sMapHealLocations[gUnknown_0203A148->regionMap.mapSecId][2] != 0) { - sub_8084CCC(sUnknown_085A1E3C[gUnknown_0203A148->regionMap.mapSecId][2]); + sub_8084CCC(sMapHealLocations[gUnknown_0203A148->regionMap.mapSecId][2]); } else { - warp1_set_2(sUnknown_085A1E3C[gUnknown_0203A148->regionMap.mapSecId][0], sUnknown_085A1E3C[gUnknown_0203A148->regionMap.mapSecId][1], -1); + warp1_set_2(sMapHealLocations[gUnknown_0203A148->regionMap.mapSecId][0], sMapHealLocations[gUnknown_0203A148->regionMap.mapSecId][1], -1); } break; } From 7961aa44baa7935c5d410203e4fc7f29ff194ca1 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Sat, 11 Aug 2018 17:57:20 +0200 Subject: [PATCH 069/234] start porting slot machine --- asm/slot_machine.s | 1921 ++++++---------------------------------- include/slot_machine.h | 2 +- ld_script.txt | 2 + src/slot_machine.c | 887 +++++++++++++++++++ 4 files changed, 1138 insertions(+), 1674 deletions(-) create mode 100644 src/slot_machine.c diff --git a/asm/slot_machine.s b/asm/slot_machine.s index 4f76d1b699..066663c424 100644 --- a/asm/slot_machine.s +++ b/asm/slot_machine.s @@ -5,1432 +5,7 @@ .text - thumb_func_start sub_812A4DC -sub_812A4DC: @ 812A4DC - push {r4,r5,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r1 - movs r0, 0x8 - ldrsh r1, [r4, r0] - cmp r1, 0 - beq _0812A500 - cmp r1, 0x1 - beq _0812A518 - b _0812A530 - .pool -_0812A500: - movs r0, 0x1 - negs r0, r0 - str r1, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _0812A530 -_0812A518: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0812A530 - ldr r0, =sub_812A588 - bl SetMainCallback2 - adds r0, r5, 0 - bl DestroyTask -_0812A530: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812A4DC - thumb_func_start PlaySlotMachine -PlaySlotMachine: @ 812A540 - push {r4-r6,lr} - adds r4, r0, 0 - adds r6, r1, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r5, =gUnknown_0203AB34 - movs r0, 0x68 - bl AllocZeroed - str r0, [r5] - adds r0, r4, 0 - adds r1, r6, 0 - bl sub_812A6D4 - ldr r0, =sub_812A4DC - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r0, 0 - strh r0, [r1, 0x8] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end PlaySlotMachine - - thumb_func_start sub_812A588 -sub_812A588: @ 812A588 - push {lr} - sub sp, 0x4 - ldr r0, =gMain - movs r1, 0x87 - lsls r1, 3 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0xB - bhi _0812A666 - lsls r0, 2 - ldr r1, =_0812A5AC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0812A5AC: - .4byte _0812A5DC - .4byte _0812A5E6 - .4byte _0812A5EC - .4byte _0812A5F6 - .4byte _0812A5FC - .4byte _0812A602 - .4byte _0812A608 - .4byte _0812A60E - .4byte _0812A638 - .4byte _0812A63E - .4byte _0812A644 - .4byte _0812A660 -_0812A5DC: - bl sub_812A750 - bl sub_812A8C4 - b _0812A64C -_0812A5E6: - bl sub_812A7BC - b _0812A64C -_0812A5EC: - bl sub_812A810 - bl sub_812A834 - b _0812A64C -_0812A5F6: - bl sub_812A9AC - b _0812A64C -_0812A5FC: - bl sub_812A9CC - b _0812A64C -_0812A602: - bl sub_812AA48 - b _0812A64C -_0812A608: - bl sub_812A79C - b _0812A64C -_0812A60E: - 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 - movs r0, 0x1 - bl ShowBg - movs r0, 0x2 - bl ShowBg - movs r0, 0x3 - bl ShowBg - b _0812A64C -_0812A638: - bl sub_812FBC4 - b _0812A64C -_0812A63E: - bl sub_812FB14 - b _0812A64C -_0812A644: - bl sub_812AA78 - bl sub_812AA90 -_0812A64C: - ldr r1, =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _0812A666 - .pool -_0812A660: - ldr r0, =sub_812A670 - bl SetMainCallback2 -_0812A666: - add sp, 0x4 - pop {r0} - bx r0 - .pool - thumb_func_end sub_812A588 - - thumb_func_start sub_812A670 -sub_812A670: @ 812A670 - push {lr} - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - pop {r0} - bx r0 - thumb_func_end sub_812A670 - - thumb_func_start sub_812A688 -sub_812A688: @ 812A688 - push {r4,lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - ldr r4, =gUnknown_0203AB34 - ldr r0, [r4] - adds r0, 0x58 - ldrh r1, [r0] - movs r0, 0x40 - bl SetGpuReg - ldr r0, [r4] - adds r0, 0x5A - ldrh r1, [r0] - movs r0, 0x44 - bl SetGpuReg - ldr r0, [r4] - adds r0, 0x5C - ldrh r1, [r0] - movs r0, 0x48 - bl SetGpuReg - ldr r0, [r4] - adds r0, 0x5E - ldrh r1, [r0] - movs r0, 0x4A - bl SetGpuReg - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812A688 - - thumb_func_start sub_812A6D4 -sub_812A6D4: @ 812A6D4 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, =TaskDummy9 - movs r1, 0xFF - bl CreateTask - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - ldr r1, =gTasks - adds r0, r1 - strh r4, [r0, 0x8] - adds r0, 0xA - adds r1, r5, 0 - bl StoreWordInTwoHalfwords - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812A6D4 - - thumb_func_start sub_812A710 -sub_812A710: @ 812A710 - push {lr} - ldr r0, =TaskDummy9 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - lsls r2, r0, 2 - adds r2, r0 - lsls r2, 3 - ldr r0, =gTasks - adds r2, r0 - ldr r3, =gUnknown_0203AB34 - ldr r1, [r3] - ldrh r0, [r2, 0x8] - strb r0, [r1, 0x1] - adds r2, 0xA - ldr r1, [r3] - adds r1, 0x64 - adds r0, r2, 0 - bl LoadWordFromTwoHalfwords - pop {r0} - bx r0 - .pool - thumb_func_end sub_812A710 - - thumb_func_start TaskDummy9 -TaskDummy9: @ 812A74C - bx lr - thumb_func_end TaskDummy9 - - thumb_func_start sub_812A750 -sub_812A750: @ 812A750 - push {lr} - sub sp, 0x4 - movs r0, 0 - bl SetVBlankCallback - movs r0, 0 - bl SetHBlankCallback - movs r0, 0 - str r0, [sp] - movs r1, 0xC0 - lsls r1, 19 - ldr r2, =0x05006000 - mov r0, sp - bl CpuSet - movs r0, 0 - bl ResetBgsAndClearDma3BusyFlags - ldr r1, =gUnknown_085A7424 - movs r0, 0 - movs r2, 0x4 - bl InitBgsFromTemplates - ldr r0, =gUnknown_085A7434 - bl InitWindows - bl DeactivateAllTextPrinters - add sp, 0x4 - pop {r0} - bx r0 - .pool - thumb_func_end sub_812A750 - - thumb_func_start sub_812A79C -sub_812A79C: @ 812A79C - push {lr} - ldr r0, =sub_812A688 - bl SetVBlankCallback - movs r0, 0x1 - bl EnableInterrupts - movs r1, 0xC1 - lsls r1, 6 - movs r0, 0 - bl SetGpuReg - pop {r0} - bx r0 - .pool - thumb_func_end sub_812A79C - - thumb_func_start sub_812A7BC -sub_812A7BC: @ 812A7BC - push {r4-r7,lr} - sub sp, 0x4 - movs r2, 0xC0 - lsls r2, 19 - movs r3, 0x80 - lsls r3, 9 - mov r4, sp - movs r6, 0 - ldr r1, =0x040000d4 - movs r5, 0x80 - lsls r5, 5 - ldr r7, =0x81000800 - movs r0, 0x81 - lsls r0, 24 - mov r12, r0 -_0812A7DA: - strh r6, [r4] - mov r0, sp - str r0, [r1] - str r2, [r1, 0x4] - str r7, [r1, 0x8] - ldr r0, [r1, 0x8] - adds r2, r5 - subs r3, r5 - cmp r3, r5 - bhi _0812A7DA - strh r6, [r4] - mov r0, sp - str r0, [r1] - str r2, [r1, 0x4] - lsrs r0, r3, 1 - mov r2, r12 - orrs r0, r2 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812A7BC - - thumb_func_start sub_812A810 -sub_812A810: @ 812A810 - sub sp, 0x4 - movs r2, 0xE0 - lsls r2, 19 - mov r1, sp - movs r0, 0 - strh r0, [r1] - ldr r0, =0x040000d4 - str r1, [r0] - str r2, [r0, 0x4] - ldr r1, =0x81000200 - str r1, [r0, 0x8] - ldr r0, [r0, 0x8] - add sp, 0x4 - bx lr - .pool - thumb_func_end sub_812A810 - - thumb_func_start sub_812A834 -sub_812A834: @ 812A834 - push {lr} - movs r0, 0x8 - movs r1, 0 - bl SetGpuReg - movs r0, 0xA - movs r1, 0 - bl SetGpuReg - movs r0, 0xC - movs r1, 0 - bl SetGpuReg - movs r0, 0xE - movs r1, 0 - bl SetGpuReg - movs r0, 0x10 - movs r1, 0 - bl SetGpuReg - movs r0, 0x12 - movs r1, 0 - bl SetGpuReg - movs r0, 0x14 - movs r1, 0 - bl SetGpuReg - movs r0, 0x16 - movs r1, 0 - bl SetGpuReg - movs r0, 0x18 - movs r1, 0 - bl SetGpuReg - movs r0, 0x1A - movs r1, 0 - bl SetGpuReg - movs r0, 0x1C - movs r1, 0 - bl SetGpuReg - movs r0, 0x1E - movs r1, 0 - bl SetGpuReg - movs r0, 0x48 - movs r1, 0x3F - bl SetGpuReg - movs r0, 0x4A - movs r1, 0x3F - bl SetGpuReg - ldr r1, =0x00001048 - movs r0, 0x50 - bl SetGpuReg - ldr r1, =0x00000809 - movs r0, 0x52 - bl SetGpuReg - pop {r0} - bx r0 - .pool - thumb_func_end sub_812A834 - - thumb_func_start sub_812A8C4 -sub_812A8C4: @ 812A8C4 - push {r4-r7,lr} - mov r7, r8 - push {r7} - bl sub_812A710 - ldr r5, =gUnknown_0203AB34 - ldr r0, [r5] - movs r4, 0 - strb r4, [r0] - ldr r0, [r5] - strb r4, [r0, 0x2] - bl Random - ldr r2, [r5] - movs r1, 0x1 - ands r1, r0 - strb r1, [r2, 0x3] - ldr r0, [r5] - strb r4, [r0, 0x4] - ldr r0, [r5] - movs r1, 0 - strh r4, [r0, 0x8] - strb r1, [r0, 0xA] - ldr r0, [r5] - strb r1, [r0, 0xB] - bl GetCoins - ldr r2, [r5] - strh r0, [r2, 0xC] - strh r4, [r2, 0xE] - strh r4, [r2, 0x10] - strh r4, [r2, 0x12] - strh r4, [r2, 0x18] - movs r0, 0x8 - strh r0, [r2, 0x1A] - adds r1, r2, 0 - adds r1, 0x58 - movs r0, 0xF0 - strh r0, [r1] - adds r1, 0x2 - movs r0, 0xA0 - strh r0, [r1] - adds r0, r2, 0 - adds r0, 0x5C - movs r1, 0x3F - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - bl GetCurrentMapMusic - ldr r1, [r5] - adds r1, 0x60 - strh r0, [r1] - movs r7, 0 - ldr r0, =gUnknown_085A76B4 - mov r8, r0 -_0812A934: - ldr r0, =gUnknown_0203AB34 - ldr r4, [r0] - lsls r6, r7, 1 - adds r0, r4, 0 - adds r0, 0x22 - adds r0, r6 - movs r1, 0 - strh r1, [r0] - adds r5, r4, 0 - adds r5, 0x28 - adds r5, r6 - ldrb r0, [r4, 0x3] - lsls r0, 1 - lsls r1, r7, 2 - adds r0, r1 - add r0, r8 - movs r1, 0 - ldrsh r0, [r0, r1] - movs r1, 0x15 - bl __modsi3 - strh r0, [r5] - adds r4, 0x1C - adds r4, r6 - movs r2, 0 - ldrsh r0, [r5, r2] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 3 - movs r2, 0xFC - lsls r2, 1 - adds r0, r2, 0 - subs r0, r1 - strh r0, [r4] - movs r1, 0 - ldrsh r0, [r4, r1] - adds r1, r2, 0 - bl __modsi3 - strh r0, [r4] - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - cmp r7, 0x2 - bls _0812A934 - bl GetCoins - lsls r0, 16 - lsrs r0, 16 - bl sub_80EDE70 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812A8C4 - - thumb_func_start sub_812A9AC -sub_812A9AC: @ 812A9AC - push {lr} - bl ResetPaletteFade - bl ResetSpriteData - ldr r1, =gOamLimit - movs r0, 0x80 - strb r0, [r1] - bl FreeAllSpritePalettes - bl ResetTasks - pop {r0} - bx r0 - .pool - thumb_func_end sub_812A9AC - - thumb_func_start sub_812A9CC -sub_812A9CC: @ 812A9CC - push {r4,r5,lr} - ldr r4, =gUnknown_0203AACC - movs r0, 0x8 - bl Alloc - str r0, [r4] - ldr r4, =gUnknown_0203AAD0 - movs r0, 0xE - bl AllocZeroed - str r0, [r4] - ldr r5, =gUnknown_0203AADC - movs r0, 0x8 - bl AllocZeroed - str r0, [r5] - ldr r1, [r4] - ldr r2, =0x00002051 - adds r0, r2, 0 - strh r0, [r1] - ldr r1, [r4] - ldr r2, =0x00002851 - adds r0, r2, 0 - strh r0, [r1, 0x2] - ldr r2, =0x00002061 - adds r0, r2, 0 - strh r0, [r1, 0x4] - ldr r2, =0x00002861 - adds r0, r2, 0 - strh r0, [r1, 0x6] - ldr r2, =0x000020be - adds r0, r2, 0 - strh r0, [r1, 0x8] - ldr r2, =0x000028be - adds r0, r2, 0 - strh r0, [r1, 0xA] - ldr r2, =0x000020bf - adds r0, r2, 0 - strh r0, [r1, 0xC] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812A9CC - - thumb_func_start sub_812AA48 -sub_812AA48: @ 812AA48 - push {lr} - bl sub_812F908 - bl sub_812F958 - bl sub_812F7E4 - movs r1, 0x80 - lsls r1, 2 - movs r0, 0 - movs r2, 0xF0 - bl LoadMessageBoxGfx - movs r1, 0x85 - lsls r1, 2 - movs r0, 0 - movs r2, 0xE0 - bl LoadUserWindowBorderGfx - movs r0, 0 - bl PutWindowTilemap - pop {r0} - bx r0 - thumb_func_end sub_812AA48 - - thumb_func_start sub_812AA78 -sub_812AA78: @ 812AA78 - push {lr} - bl sub_812E0E4 - bl sub_812E1C8 - bl sub_812CEF4 - bl sub_812E300 - pop {r0} - bx r0 - thumb_func_end sub_812AA78 - - thumb_func_start sub_812AA90 -sub_812AA90: @ 812AA90 - push {lr} - bl sub_812D188 - bl sub_812BE5C - bl sub_812DE94 - bl sub_812AAA8 - pop {r0} - bx r0 - thumb_func_end sub_812AA90 - - thumb_func_start sub_812AAA8 -sub_812AAA8: @ 812AAA8 - push {r4,lr} - ldr r4, =sub_812AAC8 - adds r0, r4, 0 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - bl _call_via_r4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812AAA8 - - thumb_func_start sub_812AAC8 -sub_812AAC8: @ 812AAC8 - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r6, =gUnknown_085A7450 - lsls r1, r0, 2 - adds r1, r0 - lsls r4, r1, 3 - ldr r5, =gTasks -_0812AAD8: - ldr r0, =gUnknown_0203AB34 - ldr r0, [r0] - ldrb r0, [r0] - lsls r0, 2 - adds r0, r6 - ldr r1, [r0] - adds r0, r4, r5 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _0812AAD8 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812AAC8 - - thumb_func_start sub_812AB04 -sub_812AB04: @ 812AB04 - push {r4,lr} - sub sp, 0x4 - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r4, =gUnknown_0203AB34 - ldr r0, [r4] - ldrb r0, [r0, 0x2] - bl sub_812D3B4 - ldr r1, [r4] - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - movs r0, 0 - add sp, 0x4 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_812AB04 - - thumb_func_start sub_812AB38 -sub_812AB38: @ 812AB38 - push {lr} - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0812AB50 - ldr r0, =gUnknown_0203AB34 - ldr r1, [r0] - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_0812AB50: - movs r0, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_812AB38 - - thumb_func_start sub_812AB60 -sub_812AB60: @ 812AB60 - push {lr} - ldr r3, =gUnknown_0203AB34 - ldr r1, [r3] - movs r0, 0 - strh r0, [r1, 0xE] - strh r0, [r1, 0x12] - strh r0, [r1, 0x18] - ldrb r2, [r1, 0x4] - movs r0, 0xC0 - ands r0, r2 - strb r0, [r1, 0x4] - ldr r1, [r3] - movs r0, 0x4 - strb r0, [r1] - ldr r3, [r3] - movs r1, 0xC - ldrsh r0, [r3, r1] - cmp r0, 0 - bgt _0812AB90 - movs r0, 0x19 - strb r0, [r3] - b _0812ABA0 - .pool -_0812AB90: - ldrb r0, [r3, 0xA] - cmp r0, 0 - beq _0812ABA0 - movs r0, 0x3 - strb r0, [r3] - movs r0, 0x4 - bl sub_812DEE4 -_0812ABA0: - movs r0, 0x1 - pop {r1} - bx r1 - thumb_func_end sub_812AB60 - - thumb_func_start sub_812ABA8 -sub_812ABA8: @ 812ABA8 - push {lr} - bl sub_812E054 - lsls r0, 24 - cmp r0, 0 - beq _0812ABBC - ldr r0, =gUnknown_0203AB34 - ldr r1, [r0] - movs r0, 0x4 - strb r0, [r1] -_0812ABBC: - movs r0, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_812ABA8 - - thumb_func_start sub_812ABC8 -sub_812ABC8: @ 812ABC8 - push {lr} - movs r0, 0 - bl sub_812DEE4 - ldr r2, =gUnknown_0203AB34 - ldr r1, [r2] - movs r0, 0x5 - strb r0, [r1] - ldr r2, [r2] - movs r0, 0xC - ldrsh r1, [r2, r0] - ldr r0, =0x0000270e - cmp r1, r0 - ble _0812ABE8 - movs r0, 0x17 - strb r0, [r2] -_0812ABE8: - movs r0, 0x1 - pop {r1} - bx r1 - .pool - thumb_func_end sub_812ABC8 - - thumb_func_start sub_812ABF8 -sub_812ABF8: @ 812ABF8 - push {r4,r5,lr} - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _0812AC1C - movs r0, 0 - bl sub_812DC80 - ldr r0, =gUnknown_0203AB34 - ldr r1, [r0] - movs r0, 0x8 - b _0812ACE2 - .pool -_0812AC1C: - movs r0, 0x80 - lsls r0, 1 - ands r0, r1 - cmp r0, 0 - beq _0812AC82 - ldr r0, =gUnknown_0203AB34 - ldr r2, [r0] - movs r1, 0xC - ldrsh r0, [r2, r1] - subs r0, 0x3 - movs r3, 0x12 - ldrsh r1, [r2, r3] - adds r0, r1 - cmp r0, 0 - blt _0812AC7C - ldrh r4, [r2, 0x12] - adds r0, r1, 0 - cmp r0, 0x2 - bgt _0812AC5A -_0812AC42: - lsls r0, r4, 24 - lsrs r0, 24 - bl sub_812CE7C - lsls r0, r4, 16 - movs r2, 0x80 - lsls r2, 9 - adds r0, r2 - lsrs r4, r0, 16 - asrs r0, 16 - cmp r0, 0x2 - ble _0812AC42 -_0812AC5A: - ldr r0, =gUnknown_0203AB34 - ldr r1, [r0] - ldrh r0, [r1, 0xC] - subs r0, 0x3 - ldrh r3, [r1, 0x12] - adds r0, r3 - strh r0, [r1, 0xC] - movs r0, 0x3 - strh r0, [r1, 0x12] - movs r0, 0x9 - strb r0, [r1] - movs r0, 0x5F - bl PlaySE - b _0812ACE4 - .pool -_0812AC7C: - movs r0, 0x6 - strb r0, [r2] - b _0812ACE4 -_0812AC82: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0812ACB2 - ldr r4, =gUnknown_0203AB34 - ldr r0, [r4] - movs r1, 0xC - ldrsh r0, [r0, r1] - cmp r0, 0 - beq _0812ACB2 - movs r0, 0x5F - bl PlaySE - ldr r0, [r4] - ldrb r0, [r0, 0x12] - bl sub_812CE7C - ldr r1, [r4] - ldrh r0, [r1, 0xC] - subs r0, 0x1 - strh r0, [r1, 0xC] - ldrh r0, [r1, 0x12] - adds r0, 0x1 - strh r0, [r1, 0x12] -_0812ACB2: - ldr r0, =gUnknown_0203AB34 - ldr r3, [r0] - movs r1, 0x12 - ldrsh r2, [r3, r1] - ldr r4, =gMain - adds r5, r0, 0 - cmp r2, 0x2 - bgt _0812ACD0 - cmp r2, 0 - beq _0812ACD4 - ldrh r1, [r4, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0812ACD4 -_0812ACD0: - movs r0, 0x9 - strb r0, [r3] -_0812ACD4: - ldrh r1, [r4, 0x2E] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0812ACE4 - ldr r1, [r5] - movs r0, 0x15 -_0812ACE2: - strb r0, [r1] -_0812ACE4: - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_812ABF8 - - thumb_func_start sub_812ACF4 -sub_812ACF4: @ 812ACF4 - push {lr} - sub sp, 0xC - movs r0, 0 - movs r1, 0 - bl NewMenuHelpers_DrawDialogueFrame - ldr r2, =gText_YouDontHaveThreeCoins - movs r0, 0x1 - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - str r0, [sp, 0x8] - movs r1, 0x1 - movs r3, 0 - bl PrintTextOnWindow - movs r0, 0 - movs r1, 0x3 - bl CopyWindowToVram - ldr r0, =gUnknown_0203AB34 - ldr r1, [r0] - movs r0, 0x7 - strb r0, [r1] - movs r0, 0 - add sp, 0xC - pop {r1} - bx r1 - .pool - thumb_func_end sub_812ACF4 - - thumb_func_start sub_812AD34 -sub_812AD34: @ 812AD34 - push {lr} - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0 - beq _0812AD52 - movs r0, 0 - movs r1, 0x1 - bl sub_8197434 - ldr r0, =gUnknown_0203AB34 - ldr r1, [r0] - movs r0, 0x5 - strb r0, [r1] -_0812AD52: - movs r0, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_812AD34 - - thumb_func_start sub_812AD60 -sub_812AD60: @ 812AD60 - push {lr} - bl sub_812DCB4 - lsls r0, 24 - cmp r0, 0 - beq _0812AD74 - ldr r0, =gUnknown_0203AB34 - ldr r1, [r0] - movs r0, 0x5 - strb r0, [r1] -_0812AD74: - movs r0, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_812AD60 - - thumb_func_start sub_812AD80 -sub_812AD80: @ 812AD80 - push {r4,lr} - adds r4, r0, 0 - bl sub_812B4EC - bl sub_812DFDC - movs r0, 0 - bl sub_812BEA4 - movs r0, 0x1 - bl sub_812BEA4 - movs r0, 0x2 - bl sub_812BEA4 - bl sub_80EEC80 - movs r0, 0 - strh r0, [r4, 0x8] - ldr r4, =gUnknown_0203AB34 - ldr r0, [r4] - ldrb r1, [r0, 0x4] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _0812ADC4 - bl sub_812D4AC - ldr r1, [r4] - movs r0, 0xA - b _0812ADCE - .pool -_0812ADC4: - movs r0, 0x1 - bl sub_812DEE4 - ldr r1, [r4] - movs r0, 0xB -_0812ADCE: - strb r0, [r1] - ldr r4, =gUnknown_0203AB34 - ldr r0, [r4] - movs r1, 0x8 - strh r1, [r0, 0x1A] - ldrb r0, [r0, 0xA] - cmp r0, 0 - beq _0812ADE6 - bl dp15_jump_random_unknown - ldr r1, [r4] - strh r0, [r1, 0x1A] -_0812ADE6: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_812AD80 - - thumb_func_start sub_812ADF4 -sub_812ADF4: @ 812ADF4 - push {lr} - bl sub_812D4CC - lsls r0, 24 - cmp r0, 0 - beq _0812AE18 - movs r0, 0x1 - bl sub_812DEE4 - ldr r3, =gUnknown_0203AB34 - ldr r2, [r3] - ldrb r1, [r2, 0x4] - movs r0, 0xDF - ands r0, r1 - strb r0, [r2, 0x4] - ldr r1, [r3] - movs r0, 0xB - strb r0, [r1] -_0812AE18: - movs r0, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_812ADF4 - - thumb_func_start sub_812AE24 -sub_812AE24: @ 812AE24 - push {lr} - ldrh r1, [r0, 0x8] - adds r1, 0x1 - strh r1, [r0, 0x8] - lsls r1, 16 - asrs r1, 16 - cmp r1, 0x1D - ble _0812AE40 - bl sub_812B55C - ldr r0, =gUnknown_0203AB34 - ldr r1, [r0] - movs r0, 0xC - strb r0, [r1] -_0812AE40: - movs r0, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_812AE24 - - thumb_func_start sub_812AE4C -sub_812AE4C: @ 812AE4C - push {r4,lr} - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0812AE78 - movs r0, 0x18 - bl PlaySE - ldr r4, =gUnknown_0203AB34 - ldr r0, [r4] - ldrb r0, [r0, 0x18] - bl sub_812BEDC - ldr r0, [r4] - ldrb r0, [r0, 0x18] - bl sub_812CD40 - ldr r1, [r4] - movs r0, 0xD - strb r0, [r1] -_0812AE78: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_812AE4C - - thumb_func_start sub_812AE88 -sub_812AE88: @ 812AE88 - push {r4,lr} - ldr r4, =gUnknown_0203AB34 - ldr r0, [r4] - ldrb r0, [r0, 0x18] - bl sub_812BF04 - lsls r0, 24 - cmp r0, 0 - bne _0812AEBC - ldr r1, [r4] - ldrh r0, [r1, 0x18] - adds r0, 0x1 - strh r0, [r1, 0x18] - movs r0, 0xC - strb r0, [r1] - ldr r1, [r4] - movs r2, 0x18 - ldrsh r0, [r1, r2] - cmp r0, 0x2 - ble _0812AEB4 - movs r0, 0xE - strb r0, [r1] -_0812AEB4: - movs r0, 0x1 - b _0812AEBE - .pool -_0812AEBC: - movs r0, 0 -_0812AEBE: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_812AE88 - - thumb_func_start sub_812AEC4 -sub_812AEC4: @ 812AEC4 - push {r4,lr} - ldr r4, =gUnknown_0203AB34 - ldr r2, [r4] - ldrb r1, [r2, 0x4] - movs r0, 0xC0 - ands r0, r1 - strb r0, [r2, 0x4] - bl sub_812B828 - ldr r1, [r4] - ldrb r0, [r1, 0xA] - cmp r0, 0 - beq _0812AEEA - subs r0, 0x1 - strb r0, [r1, 0xA] - ldr r1, [r4] - ldrb r0, [r1, 0xB] - adds r0, 0x1 - strb r0, [r1, 0xB] -_0812AEEA: - ldr r1, [r4] - ldrh r0, [r1, 0x8] - cmp r0, 0 - beq _0812AFCC - movs r0, 0xF - strb r0, [r1] - bl sub_812BABC - bl sub_812D0B0 - ldr r2, [r4] - ldrh r0, [r2, 0x10] - ldrh r1, [r2, 0xE] - subs r0, r1 - strh r0, [r2, 0x10] - lsls r0, 16 - cmp r0, 0 - bge _0812AF12 - movs r0, 0 - strh r0, [r2, 0x10] -_0812AF12: - ldr r0, [r4] - ldrh r1, [r0, 0x8] - movs r0, 0xC0 - lsls r0, 1 - ands r0, r1 - cmp r0, 0 - beq _0812AF38 - ldr r0, =0x00000185 - bl PlayFanfare - movs r0, 0x6 - bl sub_812DEE4 - b _0812AF62 - .pool -_0812AF38: - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _0812AF54 - ldr r0, =0x00000185 - bl PlayFanfare - movs r0, 0x5 - bl sub_812DEE4 - b _0812AF62 - .pool -_0812AF54: - movs r0, 0xC3 - lsls r0, 1 - bl PlayFanfare - movs r0, 0x2 - bl sub_812DEE4 -_0812AF62: - ldr r2, =gUnknown_0203AB34 - ldr r3, [r2] - ldrh r1, [r3, 0x8] - movs r0, 0xE0 - lsls r0, 1 - ands r0, r1 - cmp r0, 0 - beq _0812AFA6 - ldrb r1, [r3, 0x4] - movs r0, 0x3F - ands r0, r1 - movs r4, 0 - strb r0, [r3, 0x4] - ldr r3, [r2] - ldrh r1, [r3, 0x8] - movs r0, 0xC0 - lsls r0, 1 - ands r0, r1 - cmp r0, 0 - beq _0812AFA6 - strb r4, [r3, 0xA] - ldr r0, [r2] - strb r4, [r0, 0xB] - ldr r0, [r2] - strb r4, [r0, 0x3] - ldr r3, [r2] - ldrh r1, [r3, 0x8] - movs r0, 0x80 - lsls r0, 1 - ands r0, r1 - cmp r0, 0 - beq _0812AFA6 - movs r0, 0x1 - strb r0, [r3, 0x3] -_0812AFA6: - ldr r3, [r2] - ldrh r1, [r3, 0x8] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _0812AFEE - ldrb r0, [r3, 0x2] - cmp r0, 0xF - bhi _0812AFEE - adds r0, 0x1 - strb r0, [r3, 0x2] - ldr r0, [r2] - ldrb r0, [r0, 0x2] - bl sub_812D1A8 - b _0812AFEE - .pool -_0812AFCC: - movs r0, 0x3 - bl sub_812DEE4 - ldr r1, [r4] - movs r0, 0x14 - strb r0, [r1] - ldr r1, [r4] - ldrh r0, [r1, 0x12] - ldrh r2, [r1, 0x10] - adds r0, r2 - strh r0, [r1, 0x10] - lsls r0, 16 - asrs r0, 16 - ldr r2, =0x0000270f - cmp r0, r2 - ble _0812AFEE - strh r2, [r1, 0x10] -_0812AFEE: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_812AEC4 - - thumb_func_start sub_812AFFC -sub_812AFFC: @ 812AFFC - push {lr} - bl sub_812BADC - lsls r0, 24 - cmp r0, 0 - beq _0812B010 - ldr r0, =gUnknown_0203AB34 - ldr r1, [r0] - movs r0, 0x10 - strb r0, [r1] -_0812B010: - movs r0, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_812AFFC - - thumb_func_start sub_812B01C -sub_812B01C: @ 812B01C - push {r4,lr} - bl sub_812D0E0 - lsls r0, 24 - cmp r0, 0 - beq _0812B088 - ldr r4, =gUnknown_0203AB34 - ldr r1, [r4] - movs r0, 0x13 - strb r0, [r1] - ldr r0, [r4] - ldrh r1, [r0, 0x8] - movs r0, 0xC0 - lsls r0, 1 - ands r0, r1 - cmp r0, 0 - beq _0812B044 - movs r0, 0x1C - bl IncrementGameStat -_0812B044: - ldr r2, [r4] - ldrh r1, [r2, 0x8] - movs r3, 0x4 - adds r0, r3, 0 - ands r0, r1 - cmp r0, 0 - beq _0812B05A - movs r0, 0 - strh r0, [r2, 0x18] - movs r0, 0x9 - strb r0, [r2] -_0812B05A: - ldr r2, [r4] - ldrh r1, [r2, 0x8] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _0812B06A - movs r0, 0x11 - strb r0, [r2] -_0812B06A: - ldr r1, [r4] - ldrb r0, [r1, 0xA] - cmp r0, 0 - beq _0812B088 - ldrh r1, [r1, 0x8] - adds r0, r3, 0 - ands r0, r1 - cmp r0, 0 - beq _0812B088 - movs r0, 0x4 - bl sub_812DEE4 - ldr r1, [r4] - movs r0, 0x12 - strb r0, [r1] -_0812B088: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_812B01C thumb_func_start sub_812B094 sub_812B094: @ 812B094 @@ -1439,7 +14,7 @@ sub_812B094: @ 812B094 lsls r0, 24 cmp r0, 0 bne _0812B0CC - ldr r4, =gUnknown_0203AB34 + ldr r4, =sSlotMachine ldr r1, [r4] movs r0, 0x13 strb r0, [r1] @@ -1456,7 +31,7 @@ sub_812B094: @ 812B094 cmp r0, 0 beq _0812B0CC movs r0, 0x4 - bl sub_812DEE4 + bl sub_8104CAC ldr r1, [r4] movs r0, 0x12 strb r0, [r1] @@ -1471,11 +46,11 @@ _0812B0CC: thumb_func_start sub_812B0D8 sub_812B0D8: @ 812B0D8 push {lr} - bl sub_812E054 + bl sub_8104E18 lsls r0, 24 cmp r0, 0 beq _0812B0FC - ldr r2, =gUnknown_0203AB34 + ldr r2, =sSlotMachine ldr r1, [r2] movs r0, 0x13 strb r0, [r1] @@ -1503,7 +78,7 @@ sub_812B108: @ 812B108 bl sub_812CEB8 movs r0, 0x2 bl sub_812CEB8 - ldr r0, =gUnknown_0203AB34 + ldr r0, =sSlotMachine ldr r1, [r0] movs r0, 0x2 strb r0, [r1] @@ -1526,7 +101,7 @@ sub_812B130: @ 812B130 ble _0812B14E movs r0, 0 strh r0, [r1, 0xA] - ldr r0, =gUnknown_0203AB34 + ldr r0, =sSlotMachine ldr r1, [r0] movs r0, 0x13 strb r0, [r1] @@ -1567,7 +142,7 @@ sub_812B158: @ 812B158 movs r0, 0x15 movs r1, 0x7 bl sub_80323CC - ldr r0, =gUnknown_0203AB34 + ldr r0, =sSlotMachine ldr r1, [r0] movs r0, 0x16 strb r0, [r1] @@ -1595,7 +170,7 @@ sub_812B1B0: @ 812B1B0 bl sub_812CEB8 movs r0, 0x2 bl sub_812CEB8 - ldr r0, =gUnknown_0203AB34 + ldr r0, =sSlotMachine ldr r1, [r0] ldrh r0, [r1, 0x12] ldrh r2, [r1, 0xC] @@ -1615,7 +190,7 @@ _0812B1F8: movs r0, 0 movs r1, 0x1 bl sub_8197434 - ldr r0, =gUnknown_0203AB34 + ldr r0, =sSlotMachine ldr r1, [r0] movs r0, 0x5 _0812B206: @@ -1646,7 +221,7 @@ sub_812B214: @ 812B214 movs r0, 0 movs r1, 0x3 bl CopyWindowToVram - ldr r0, =gUnknown_0203AB34 + ldr r0, =sSlotMachine ldr r1, [r0] movs r0, 0x18 strb r0, [r1] @@ -1669,7 +244,7 @@ sub_812B254: @ 812B254 movs r0, 0 movs r1, 0x1 bl sub_8197434 - ldr r0, =gUnknown_0203AB34 + ldr r0, =sSlotMachine ldr r1, [r0] movs r0, 0x5 strb r0, [r1] @@ -1699,7 +274,7 @@ sub_812B280: @ 812B280 movs r0, 0 movs r1, 0x3 bl CopyWindowToVram - ldr r0, =gUnknown_0203AB34 + ldr r0, =sSlotMachine ldr r1, [r0] movs r0, 0x1A strb r0, [r1] @@ -1722,7 +297,7 @@ sub_812B2C0: @ 812B2C0 movs r0, 0 movs r1, 0x1 bl sub_8197434 - ldr r0, =gUnknown_0203AB34 + ldr r0, =sSlotMachine ldr r1, [r0] movs r0, 0x1B strb r0, [r1] @@ -1737,7 +312,7 @@ _0812B2DE: sub_812B2EC: @ 812B2EC push {r4,lr} sub sp, 0x4 - ldr r4, =gUnknown_0203AB34 + ldr r4, =sSlotMachine ldr r0, [r4] ldrh r0, [r0, 0xC] bl SetCoins @@ -1777,7 +352,7 @@ sub_812B32C: @ 812B32C beq _0812B340 b _0812B470 _0812B340: - ldr r6, =gUnknown_0203AB34 + ldr r6, =sSlotMachine ldr r0, [r6] ldr r0, [r0, 0x64] bl SetMainCallback2 @@ -1912,10 +487,10 @@ _0812B470: .pool thumb_func_end sub_812B32C - thumb_func_start sub_812B4EC -sub_812B4EC: @ 812B4EC + thumb_func_start sub_8102484 +sub_8102484: @ 812B4EC push {r4,lr} - ldr r4, =gUnknown_0203AB34 + ldr r4, =sSlotMachine ldr r1, [r4] ldrb r0, [r1, 0xA] cmp r0, 0 @@ -1950,7 +525,7 @@ _0812B52C: lsrs r3, r0, 24 cmp r3, 0x5 beq _0812B54A - ldr r0, =gUnknown_0203AB34 + ldr r0, =sSlotMachine ldr r2, [r0] ldr r1, =gUnknown_085A7804 lsls r0, r3, 1 @@ -1964,12 +539,12 @@ _0812B54A: pop {r0} bx r0 .pool - thumb_func_end sub_812B4EC + thumb_func_end sub_8102484 - thumb_func_start sub_812B55C -sub_812B55C: @ 812B55C + thumb_func_start sub_81024F0 +sub_81024F0: @ 812B55C push {lr} - ldr r2, =gUnknown_0203AB34 + ldr r2, =sSlotMachine ldr r1, [r2] movs r0, 0 strb r0, [r1, 0x6] @@ -1983,7 +558,7 @@ _0812B572: pop {r0} bx r0 .pool - thumb_func_end sub_812B55C + thumb_func_end sub_81024F0 thumb_func_start sub_812B57C sub_812B57C: @ 812B57C @@ -2023,7 +598,7 @@ sub_812B5B0: @ 812B5B0 lsls r0, 24 lsrs r0, 24 ldr r4, =gUnknown_085A76C0 - ldr r1, =gUnknown_0203AB34 + ldr r1, =sSlotMachine ldr r1, [r1] movs r3, 0x12 ldrsh r2, [r1, r3] @@ -2055,7 +630,7 @@ sub_812B5EC: @ 812B5EC _0812B5F2: bl Random movs r2, 0xFF - ldr r1, =gUnknown_0203AB34 + ldr r1, =sSlotMachine ldr r3, [r1] lsls r1, r5, 16 asrs r4, r1, 16 @@ -2098,7 +673,7 @@ _0812B644: bl Random movs r5, 0xFF ands r5, r0 - ldr r0, =gUnknown_0203AB34 + ldr r0, =sSlotMachine ldr r4, [r0] lsls r2, r6, 16 asrs r1, r2, 16 @@ -2125,7 +700,7 @@ _0812B680: asrs r0, r2, 16 cmp r0, 0x4 bne _0812B69E - ldr r0, =gUnknown_0203AB34 + ldr r0, =sSlotMachine ldr r0, [r0] ldrb r0, [r0, 0x3] cmp r0, 0x1 @@ -2165,7 +740,7 @@ sub_812B6CC: @ 812B6CC push {lr} lsls r0, 24 lsrs r3, r0, 24 - ldr r0, =gUnknown_0203AB34 + ldr r0, =sSlotMachine ldr r2, [r0] ldrb r0, [r2, 0x3] cmp r0, 0 @@ -2190,7 +765,7 @@ _0812B6EA: thumb_func_start sub_812B700 sub_812B700: @ 812B700 push {r4-r6,lr} - ldr r0, =gUnknown_0203AB34 + ldr r0, =sSlotMachine ldr r1, [r0] movs r0, 0 strb r0, [r1, 0x5] @@ -2226,7 +801,7 @@ _0812B72E: cmp r4, r0 bcs _0812B728 _0812B74E: - ldr r0, =gUnknown_0203AB34 + ldr r0, =sSlotMachine ldr r0, [r0] strb r6, [r0, 0x5] _0812B754: @@ -2266,7 +841,7 @@ _0812B786: dp15_jump_random_unknown: @ 812B78C push {r4,r5,lr} movs r4, 0 - ldr r0, =gUnknown_0203AB34 + ldr r0, =sSlotMachine ldr r0, [r0] movs r2, 0x10 ldrsh r1, [r0, r2] @@ -2317,7 +892,7 @@ _0812B7E8: adds r2, r5, 0x2 adds r2, r4, r2 ldr r3, =gUnknown_085A77EC - ldr r1, =gUnknown_0203AB34 + ldr r1, =sSlotMachine ldr r1, [r1] ldrb r1, [r1, 0xB] lsls r1, 1 @@ -2339,10 +914,10 @@ _0812B822: bx r1 thumb_func_end dp15_jump_random_unknown - thumb_func_start sub_812B828 -sub_812B828: @ 812B828 + thumb_func_start CheckMatch +CheckMatch: @ 812B828 push {r4,lr} - ldr r4, =gUnknown_0203AB34 + ldr r4, =sSlotMachine ldr r1, [r4] movs r0, 0 strh r0, [r1, 0x8] @@ -2365,7 +940,7 @@ _0812B852: pop {r0} bx r0 .pool - thumb_func_end sub_812B828 + thumb_func_end CheckMatch thumb_func_start sub_812B85C sub_812B85C: @ 812B85C @@ -2395,7 +970,7 @@ sub_812B85C: @ 812B85C lsrs r1, r0, 24 cmp r1, 0x9 beq _0812B8BC - ldr r0, =gUnknown_0203AB34 + ldr r0, =sSlotMachine ldr r2, [r0] ldr r0, =gUnknown_085A7828 lsls r1, 1 @@ -2448,7 +1023,7 @@ sub_812B8D0: @ 812B8D0 bne _0812B90C movs r1, 0x1 _0812B90C: - ldr r0, =gUnknown_0203AB34 + ldr r0, =sSlotMachine ldr r2, [r0] ldr r0, =gUnknown_085A7828 lsls r1, 1 @@ -2492,7 +1067,7 @@ _0812B930: bne _0812B96A movs r1, 0x1 _0812B96A: - ldr r0, =gUnknown_0203AB34 + ldr r0, =sSlotMachine ldr r2, [r0] ldr r0, =gUnknown_085A7828 lsls r1, 1 @@ -2543,7 +1118,7 @@ sub_812B9A0: @ 812B9A0 beq _0812B9FE cmp r1, 0 beq _0812B9F8 - ldr r0, =gUnknown_0203AB34 + ldr r0, =sSlotMachine ldr r2, [r0] ldr r0, =gUnknown_085A7828 lsls r1, 1 @@ -2586,7 +1161,7 @@ _0812B9FE: beq _0812BA5A cmp r1, 0 beq _0812BA54 - ldr r0, =gUnknown_0203AB34 + ldr r0, =sSlotMachine ldr r2, [r0] ldr r0, =gUnknown_085A7828 lsls r1, 1 @@ -2658,8 +1233,8 @@ _0812BAB6: bx r1 thumb_func_end sub_812BA6C - thumb_func_start sub_812BABC -sub_812BABC: @ 812BABC + thumb_func_start sub_8102A24 +sub_8102A24: @ 812BABC push {r4,lr} ldr r4, =sub_812BAFC adds r0, r4, 0 @@ -2672,10 +1247,10 @@ sub_812BABC: @ 812BABC pop {r0} bx r0 .pool - thumb_func_end sub_812BABC + thumb_func_end sub_8102A24 - thumb_func_start sub_812BADC -sub_812BADC: @ 812BADC + thumb_func_start sub_8102A44 +sub_8102A44: @ 812BADC push {lr} ldr r0, =sub_812BAFC bl FindTaskIdByFunc @@ -2691,7 +1266,7 @@ _0812BAF4: _0812BAF6: pop {r1} bx r1 - thumb_func_end sub_812BADC + thumb_func_end sub_8102A44 thumb_func_start sub_812BAFC sub_812BAFC: @ 812BAFC @@ -2732,7 +1307,7 @@ sub_812BB34: @ 812BB34 ldrh r0, [r4, 0x8] adds r0, 0x1 strh r0, [r4, 0x8] - ldr r0, =gUnknown_0203AB34 + ldr r0, =sSlotMachine ldr r0, [r0] movs r1, 0xE ldrsh r0, [r0, r1] @@ -2771,7 +1346,7 @@ sub_812BB68: @ 812BB68 movs r0, 0x15 bl PlaySE _0812BB8E: - ldr r0, =gUnknown_0203AB34 + ldr r0, =sSlotMachine ldr r2, [r0] ldrh r0, [r2, 0xE] subs r0, 0x1 @@ -2808,7 +1383,7 @@ _0812BBBC: beq _0812BBF6 movs r0, 0x15 bl PlaySE - ldr r1, =gUnknown_0203AB34 + ldr r1, =sSlotMachine ldr r2, [r1] ldrh r0, [r2, 0xE] ldrh r3, [r2, 0xC] @@ -2825,7 +1400,7 @@ _0812BBF0: movs r0, 0 strh r0, [r1, 0xE] _0812BBF6: - ldr r0, =gUnknown_0203AB34 + ldr r0, =sSlotMachine ldr r0, [r0] movs r1, 0xE ldrsh r0, [r0, r1] @@ -2867,7 +1442,7 @@ sub_812BC44: @ 812BC44 lsls r0, 24 lsrs r0, 24 adds r4, r0, 0 - ldr r0, =gUnknown_0203AB34 + ldr r0, =sSlotMachine ldr r0, [r0] lsls r2, r4, 1 adds r0, 0x28 @@ -2913,7 +1488,7 @@ sub_812BC98: @ 812BC98 lsls r1, 16 lsrs r5, r1, 16 movs r6, 0 - ldr r0, =gUnknown_0203AB34 + ldr r0, =sSlotMachine ldr r0, [r0] lsls r1, r4, 1 adds r0, 0x1C @@ -2947,7 +1522,7 @@ _0812BCC2: thumb_func_start sub_812BCE8 sub_812BCE8: @ 812BCE8 push {lr} - ldr r1, =gUnknown_0203AB34 + ldr r1, =sSlotMachine ldr r1, [r1] movs r2, 0x16 ldrsh r1, [r1, r2] @@ -2981,7 +1556,7 @@ sub_812BD28: @ 812BD28 push {r4-r6,lr} adds r5, r0, 0 lsls r5, 24 - ldr r0, =gUnknown_0203AB34 + ldr r0, =sSlotMachine ldr r6, [r0] lsrs r5, 23 adds r4, r6, 0 @@ -3021,7 +1596,7 @@ sub_812BD70: @ 812BD70 adds r5, r0, 0 lsls r1, 16 lsrs r4, r1, 16 - ldr r7, =gUnknown_0203AB34 + ldr r7, =sSlotMachine ldr r0, [r7] lsls r6, r5, 1 adds r0, 0x1C @@ -3067,7 +1642,7 @@ _0812BDC4: thumb_func_start sub_812BDD4 sub_812BDD4: @ 812BDD4 push {r4,lr} - ldr r1, =gUnknown_0203AB34 + ldr r1, =sSlotMachine ldr r4, [r1] lsls r0, 16 asrs r0, 16 @@ -3097,7 +1672,7 @@ sub_812BE0C: @ 812BE0C push {r4,r5,lr} lsls r0, 16 lsrs r4, r0, 16 - ldr r5, =gUnknown_0203AB34 + ldr r5, =sSlotMachine ldr r0, [r5] movs r1, 0x14 ldrsh r0, [r0, r1] @@ -3134,8 +1709,8 @@ _0812BE4E: .pool thumb_func_end sub_812BE0C - thumb_func_start sub_812BE5C -sub_812BE5C: @ 812BE5C + thumb_func_start sub_8102DA8 +sub_8102DA8: @ 812BE5C push {r4-r6,lr} movs r4, 0 ldr r5, =sub_812BF2C @@ -3151,7 +1726,7 @@ _0812BE64: lsls r1, 3 adds r1, r6 strh r4, [r1, 0x26] - ldr r1, =gUnknown_0203AB34 + ldr r1, =sSlotMachine ldr r1, [r1] adds r1, 0x3A adds r1, r4 @@ -3166,15 +1741,15 @@ _0812BE64: pop {r0} bx r0 .pool - thumb_func_end sub_812BE5C + thumb_func_end sub_8102DA8 - thumb_func_start sub_812BEA4 -sub_812BEA4: @ 812BEA4 + thumb_func_start sub_8102DEC +sub_8102DEC: @ 812BEA4 push {r4,lr} lsls r0, 24 lsrs r0, 24 ldr r4, =gTasks - ldr r1, =gUnknown_0203AB34 + ldr r1, =sSlotMachine ldr r2, [r1] adds r2, 0x3A adds r2, r0 @@ -3195,14 +1770,14 @@ sub_812BEA4: @ 812BEA4 pop {r0} bx r0 .pool - thumb_func_end sub_812BEA4 + thumb_func_end sub_8102DEC - thumb_func_start sub_812BEDC -sub_812BEDC: @ 812BEDC + thumb_func_start sub_8102E1C +sub_8102E1C: @ 812BEDC lsls r0, 24 lsrs r0, 24 ldr r2, =gTasks - ldr r1, =gUnknown_0203AB34 + ldr r1, =sSlotMachine ldr r1, [r1] adds r1, 0x3A adds r1, r0 @@ -3215,14 +1790,14 @@ sub_812BEDC: @ 812BEDC strh r1, [r0, 0x8] bx lr .pool - thumb_func_end sub_812BEDC + thumb_func_end sub_8102E1C - thumb_func_start sub_812BF04 -sub_812BF04: @ 812BF04 + thumb_func_start sub_8102E40 +sub_8102E40: @ 812BF04 lsls r0, 24 lsrs r0, 24 ldr r2, =gTasks - ldr r1, =gUnknown_0203AB34 + ldr r1, =sSlotMachine ldr r1, [r1] adds r1, 0x3A adds r1, r0 @@ -3236,7 +1811,7 @@ sub_812BF04: @ 812BF04 lsrs r0, 24 bx lr .pool - thumb_func_end sub_812BF04 + thumb_func_end sub_8102E40 thumb_func_start sub_812BF2C sub_812BF2C: @ 812BF2C @@ -3278,7 +1853,7 @@ sub_812BF68: @ 812BF68 ldrh r0, [r0, 0x26] lsls r0, 24 lsrs r0, 24 - ldr r1, =gUnknown_0203AB34 + ldr r1, =sSlotMachine ldr r1, [r1] movs r2, 0x1A ldrsh r1, [r1, r2] @@ -3297,7 +1872,7 @@ sub_812BF88: @ 812BF88 adds r0, 0x1 movs r2, 0 strh r0, [r4, 0x8] - ldr r0, =gUnknown_0203AB34 + ldr r0, =sSlotMachine ldr r3, [r0] movs r0, 0x26 ldrsh r1, [r4, r0] @@ -3333,7 +1908,7 @@ sub_812BF88: @ 812BF88 cmp r0, 0 bne _0812BFF4 _0812BFDC: - ldr r0, =gUnknown_0203AB34 + ldr r0, =sSlotMachine ldr r1, [r0] movs r0, 0 strb r0, [r1, 0x6] @@ -3345,7 +1920,7 @@ _0812BFDC: ldr r0, [r0] bl _call_via_r0 _0812BFF4: - ldr r0, =gUnknown_0203AB34 + ldr r0, =sSlotMachine ldr r1, [r0] movs r2, 0x26 ldrsh r0, [r4, r2] @@ -3370,7 +1945,7 @@ sub_812C01C: @ 812C01C mov r0, sp movs r2, 0xA bl memcpy - ldr r7, =gUnknown_0203AB34 + ldr r7, =sSlotMachine ldr r5, [r7] movs r1, 0x26 ldrsh r0, [r4, r1] @@ -3427,7 +2002,7 @@ _0812C0A0: _0812C0A4: cmp r2, 0 bne _0812C0D2 - ldr r0, =gUnknown_0203AB34 + ldr r0, =sSlotMachine ldr r1, [r0] movs r6, 0x26 ldrsh r0, [r4, r6] @@ -3461,7 +2036,7 @@ _0812C0D2: sub_812C0E0: @ 812C0E0 push {r4,lr} adds r2, r0, 0 - ldr r4, =gUnknown_0203AB34 + ldr r4, =sSlotMachine ldr r1, [r4] movs r3, 0x26 ldrsh r0, [r2, r3] @@ -3508,7 +2083,7 @@ _0812C12A: thumb_func_start sub_812C138 sub_812C138: @ 812C138 push {r4,r5,lr} - ldr r4, =gUnknown_0203AB34 + ldr r4, =sSlotMachine ldr r0, [r4] ldrb r0, [r0, 0x4] bl sub_812B57C @@ -3564,7 +2139,7 @@ sub_812C184: @ 812C184 cmp r0, r5 bne _0812C1BC _0812C1AC: - ldr r0, =gUnknown_0203AB34 + ldr r0, =sSlotMachine ldr r0, [r0] strb r1, [r0, 0x7] movs r0, 0x1 @@ -3627,7 +2202,7 @@ _0812C212: thumb_func_start sub_812C218 sub_812C218: @ 812C218 push {lr} - ldr r0, =gUnknown_0203AB34 + ldr r0, =sSlotMachine ldr r0, [r0] ldrb r1, [r0, 0x4] movs r0, 0xC2 @@ -3669,7 +2244,7 @@ _0812C24C: lsls r0, 24 cmp r0, 0 beq _0812C278 - ldr r0, =gUnknown_0203AB34 + ldr r0, =sSlotMachine ldr r1, [r0] movs r0, 0x2 strh r0, [r1, 0x34] @@ -3729,7 +2304,7 @@ _0812C2C2: lsls r0, 24 cmp r0, 0 beq _0812C2E8 - ldr r0, =gUnknown_0203AB34 + ldr r0, =sSlotMachine ldr r0, [r0] strh r7, [r0, 0x34] strh r6, [r0, 0x2E] @@ -3746,7 +2321,7 @@ _0812C2E8: _0812C2F4: movs r7, 0x1 adds r6, r5, 0 - ldr r0, =gUnknown_0203AB34 + ldr r0, =sSlotMachine mov r10, r0 _0812C2FC: lsls r5, r7, 16 @@ -3838,7 +2413,7 @@ _0812C390: sub_812C3A0: @ 812C3A0 push {lr} ldr r1, =gUnknown_085A7514 - ldr r0, =gUnknown_0203AB34 + ldr r0, =sSlotMachine ldr r0, [r0] movs r2, 0x12 ldrsh r0, [r0, r2] @@ -3857,7 +2432,7 @@ sub_812C3A0: @ 812C3A0 thumb_func_start sub_812C3C8 sub_812C3C8: @ 812C3C8 push {r4-r7,lr} - ldr r0, =gUnknown_0203AB34 + ldr r0, =sSlotMachine ldr r0, [r0] movs r5, 0 ldrh r7, [r0, 0x34] @@ -3871,7 +2446,7 @@ _0812C3D6: asrs r1, 16 movs r0, 0x1 bl sub_812BC98 - ldr r1, =gUnknown_0203AB34 + ldr r1, =sSlotMachine ldr r1, [r1] lsls r0, 24 lsrs r0, 24 @@ -3904,7 +2479,7 @@ sub_812C414: @ 812C414 lsls r0, 24 cmp r0, 0 beq _0812C476 - ldr r0, =gUnknown_0203AB34 + ldr r0, =sSlotMachine ldr r1, [r0] movs r2, 0x34 ldrsh r0, [r1, r2] @@ -3926,7 +2501,7 @@ _0812C43C: asrs r1, 16 movs r0, 0x1 bl sub_812BC98 - ldr r1, =gUnknown_0203AB34 + ldr r1, =sSlotMachine ldr r1, [r1] lsls r0, 24 lsrs r0, 24 @@ -3949,7 +2524,7 @@ _0812C472: movs r0, 0x1 b _0812C4B2 _0812C476: - ldr r0, =gUnknown_0203AB34 + ldr r0, =sSlotMachine ldr r0, [r0] movs r1, 0x34 ldrsh r0, [r0, r1] @@ -3965,7 +2540,7 @@ _0812C486: asrs r1, 16 movs r0, 0x1 bl sub_812BC98 - ldr r1, =gUnknown_0203AB34 + ldr r1, =sSlotMachine ldr r1, [r1] lsls r0, 24 lsrs r0, 24 @@ -3990,7 +2565,7 @@ _0812C4B2: thumb_func_start sub_812C4BC sub_812C4BC: @ 812C4BC push {r4,lr} - ldr r2, =gUnknown_0203AB34 + ldr r2, =sSlotMachine ldr r0, [r2] ldrb r3, [r0, 0x7] adds r4, r3, 0 @@ -4029,7 +2604,7 @@ sub_812C500: @ 812C500 push {r7} lsls r0, 24 lsrs r7, r0, 24 - ldr r0, =gUnknown_0203AB34 + ldr r0, =sSlotMachine ldr r0, [r0] movs r5, 0 ldrh r1, [r0, 0x36] @@ -4048,7 +2623,7 @@ _0812C518: lsrs r0, 24 cmp r0, r7 bne _0812C544 - ldr r0, =gUnknown_0203AB34 + ldr r0, =sSlotMachine ldr r0, [r0] mov r1, r8 strh r1, [r0, 0x38] @@ -4079,7 +2654,7 @@ sub_812C55C: @ 812C55C push {r7} lsls r0, 24 lsrs r6, r0, 24 - ldr r0, =gUnknown_0203AB34 + ldr r0, =sSlotMachine ldr r0, [r0] movs r2, 0x34 ldrsh r1, [r0, r2] @@ -4094,7 +2669,7 @@ sub_812C55C: @ 812C55C b _0812C5D2 .pool _0812C588: - ldr r0, =gUnknown_0203AB34 + ldr r0, =sSlotMachine ldr r0, [r0] strh r5, [r0, 0x32] mov r1, r8 @@ -4156,7 +2731,7 @@ _0812C5E8: lsls r0, 24 cmp r0, 0 bne _0812C5E2 - ldr r0, =gUnknown_0203AB34 + ldr r0, =sSlotMachine ldr r0, [r0] strh r5, [r0, 0x2E] pop {r4,r5} @@ -4193,7 +2768,7 @@ _0812C624: sub_812C628: @ 812C628 push {lr} ldr r1, =gUnknown_085A752C - ldr r0, =gUnknown_0203AB34 + ldr r0, =sSlotMachine ldr r0, [r0] movs r2, 0x12 ldrsh r0, [r0, r2] @@ -4211,7 +2786,7 @@ sub_812C628: @ 812C628 sub_812C64C: @ 812C64C push {r4-r7,lr} sub sp, 0x4 - ldr r0, =gUnknown_0203AB34 + ldr r0, =sSlotMachine ldr r2, [r0] movs r1, 0x34 ldrsh r0, [r2, r1] @@ -4252,7 +2827,7 @@ _0812C68C: lsrs r0, 24 cmp r1, r0 bne _0812C6B8 - ldr r0, =gUnknown_0203AB34 + ldr r0, =sSlotMachine ldr r1, [r0] movs r0, 0x2 strh r0, [r1, 0x36] @@ -4277,7 +2852,7 @@ _0812C6C4: j5_08111E84: @ 812C6CC push {r4-r7,lr} sub sp, 0x4 - ldr r4, =gUnknown_0203AB34 + ldr r4, =sSlotMachine ldr r2, [r4] ldrh r3, [r2, 0x34] movs r1, 0x34 @@ -4344,7 +2919,7 @@ _0812C744: sub_812C74C: @ 812C74C push {r4-r7,lr} sub sp, 0x4 - ldr r6, =gUnknown_0203AB34 + ldr r6, =sSlotMachine ldr r2, [r6] ldrh r4, [r2, 0x34] movs r0, 0x34 @@ -4362,7 +2937,7 @@ sub_812C74C: @ 812C74C b _0812C84A .pool _0812C778: - ldr r0, =gUnknown_0203AB34 + ldr r0, =sSlotMachine ldr r0, [r0] movs r1, 0 strh r5, [r0, 0x36] @@ -4426,7 +3001,7 @@ _0812C7C6: ble _0812C7C6 movs r5, 0x1 mov r7, sp - ldr r6, =gUnknown_0203AB34 + ldr r6, =sSlotMachine _0812C7F8: ldr r0, [r6] ldrh r1, [r0, 0x34] @@ -4590,7 +3165,7 @@ _0812C8F8: sub_812C8FC: @ 812C8FC push {lr} ldr r1, =gUnknown_085A7538 - ldr r0, =gUnknown_0203AB34 + ldr r0, =sSlotMachine ldr r0, [r0] movs r2, 0x12 ldrsh r0, [r0, r2] @@ -4608,7 +3183,7 @@ sub_812C8FC: @ 812C8FC sub_812C920: @ 812C920 push {r4-r7,lr} movs r6, 0 - ldr r7, =gUnknown_0203AB34 + ldr r7, =sSlotMachine ldr r0, [r7] ldrh r1, [r0, 0x2E] movs r4, 0x2 @@ -4714,7 +3289,7 @@ _0812C9DE: cmp r5, r0 beq _0812C9D8 _0812C9F6: - ldr r0, =gUnknown_0203AB34 + ldr r0, =sSlotMachine ldr r0, [r0] strh r6, [r0, 0x32] pop {r4-r7} @@ -4733,7 +3308,7 @@ sub_812CA08: @ 812CA08 sub sp, 0x4 movs r0, 0 str r0, [sp] - ldr r4, =gUnknown_0203AB34 + ldr r4, =sSlotMachine ldr r2, [r4] movs r5, 0x36 ldrsh r1, [r2, r5] @@ -4785,7 +3360,7 @@ _0812CA7E: asrs r5, r6, 16 cmp r5, 0x4 bgt _0812CAA4 - ldr r0, =gUnknown_0203AB34 + ldr r0, =sSlotMachine ldr r0, [r0] ldrh r1, [r0, 0x36] subs r1, r5 @@ -4800,7 +3375,7 @@ _0812CA7E: lsrs r6, 16 str r6, [sp] _0812CAA4: - ldr r0, =gUnknown_0203AB34 + ldr r0, =sSlotMachine mov r9, r0 _0812CAA8: movs r5, 0x1 @@ -4894,7 +3469,7 @@ _0812CB4A: str r0, [sp] b _0812CAA8 _0812CB60: - ldr r0, =gUnknown_0203AB34 + ldr r0, =sSlotMachine ldr r0, [r0] mov r5, sp ldrh r5, [r5] @@ -4916,7 +3491,7 @@ sub_812CB80: @ 812CB80 mov r7, r8 push {r7} bl sub_812CA08 - ldr r4, =gUnknown_0203AB34 + ldr r4, =sSlotMachine ldr r2, [r4] movs r0, 0x36 ldrsh r1, [r2, r0] @@ -4999,7 +3574,7 @@ _0812CC28: cmp r0, 0x4 ble _0812CBF6 _0812CC34: - ldr r7, =gUnknown_0203AB34 + ldr r7, =sSlotMachine _0812CC36: ldr r0, [r7] ldrh r0, [r0, 0x2E] @@ -5059,7 +3634,7 @@ _0812CCA4: b _0812CC36 .pool _0812CCB4: - ldr r7, =gUnknown_0203AB34 + ldr r7, =sSlotMachine _0812CCB6: ldr r0, [r7] ldrh r0, [r0, 0x2E] @@ -5126,8 +3701,8 @@ _0812CD34: bx r0 thumb_func_end sub_812CB80 - thumb_func_start sub_812CD40 -sub_812CD40: @ 812CD40 + thumb_func_start sub_8103C14 +sub_8103C14: @ 812CD40 push {r4,r5,lr} adds r4, r0, 0 lsls r4, 24 @@ -5149,7 +3724,7 @@ sub_812CD40: @ 812CD40 pop {r0} bx r0 .pool - thumb_func_end sub_812CD40 + thumb_func_end sub_8103C14 thumb_func_start sub_812CD74 sub_812CD74: @ 812CD74 @@ -5290,8 +3865,8 @@ sub_812CE54: @ 812CE54 .pool thumb_func_end sub_812CE54 - thumb_func_start sub_812CE7C -sub_812CE7C: @ 812CE7C + thumb_func_start sub_8103D50 +sub_8103D50: @ 812CE7C push {r4-r7,lr} lsls r0, 24 lsrs r1, r0, 24 @@ -5319,7 +3894,7 @@ _0812CEA8: pop {r0} bx r0 .pool - thumb_func_end sub_812CE7C + thumb_func_end sub_8103D50 thumb_func_start sub_812CEB8 sub_812CEB8: @ 812CEB8 @@ -5352,8 +3927,8 @@ _0812CEE4: .pool thumb_func_end sub_812CEB8 - thumb_func_start sub_812CEF4 -sub_812CEF4: @ 812CEF4 + thumb_func_start sub_8103DC8 +sub_8103DC8: @ 812CEF4 push {r4,r5,lr} movs r4, 0 ldr r5, =gSprites @@ -5367,7 +3942,7 @@ _0812CEFA: lsls r1, 2 adds r1, r5 strh r4, [r1, 0x2E] - ldr r1, =gUnknown_0203AB34 + ldr r1, =sSlotMachine ldr r1, [r1] adds r1, 0x44 adds r1, r4 @@ -5381,13 +3956,13 @@ _0812CEFA: pop {r0} bx r0 .pool - thumb_func_end sub_812CEF4 + thumb_func_end sub_8103DC8 thumb_func_start sub_812CF34 sub_812CF34: @ 812CF34 lsls r0, 24 lsrs r0, 24 - ldr r1, =gUnknown_0203AB34 + ldr r1, =sSlotMachine ldr r1, [r1] adds r1, 0x44 adds r1, r0 @@ -5415,7 +3990,7 @@ sub_812CF34: @ 812CF34 sub_812CF6C: @ 812CF6C push {r4,r5,lr} movs r2, 0 - ldr r0, =gUnknown_0203AB34 + ldr r0, =sSlotMachine ldr r0, [r0] adds r3, r0, 0 adds r3, 0x44 @@ -5456,7 +4031,7 @@ sub_812CFB8: @ 812CFB8 push {r4,lr} movs r4, 0 _0812CFBC: - ldr r0, =gUnknown_0203AB34 + ldr r0, =sSlotMachine ldr r0, [r0] adds r0, 0x44 adds r0, r4 @@ -5591,8 +4166,8 @@ _0812D0A6: .pool thumb_func_end sub_812D024 - thumb_func_start sub_812D0B0 -sub_812D0B0: @ 812D0B0 + thumb_func_start sub_8103F70 +sub_8103F70: @ 812D0B0 push {r4,lr} ldr r4, =sub_812D128 adds r0, r4, 0 @@ -5612,10 +4187,10 @@ sub_812D0B0: @ 812D0B0 pop {r0} bx r0 .pool - thumb_func_end sub_812D0B0 + thumb_func_end sub_8103F70 - thumb_func_start sub_812D0E0 -sub_812D0E0: @ 812D0E0 + thumb_func_start sub_8103FA0 +sub_8103FA0: @ 812D0E0 push {lr} ldr r0, =sub_812D128 bl FindTaskIdByFunc @@ -5646,7 +4221,7 @@ _0812D120: pop {r1} bx r1 .pool - thumb_func_end sub_812D0E0 + thumb_func_end sub_8103FA0 thumb_func_start sub_812D128 sub_812D128: @ 812D128 @@ -5697,25 +4272,25 @@ _0812D166: .pool thumb_func_end sub_812D128 - thumb_func_start sub_812D188 -sub_812D188: @ 812D188 + thumb_func_start sub_8104048 +sub_8104048: @ 812D188 push {lr} ldr r0, =sub_812D230 movs r1, 0x8 bl CreateTask - ldr r1, =gUnknown_0203AB34 + ldr r1, =sSlotMachine ldr r1, [r1] adds r1, 0x3E strb r0, [r1] pop {r0} bx r0 .pool - thumb_func_end sub_812D188 + thumb_func_end sub_8104048 - thumb_func_start sub_812D1A8 -sub_812D1A8: @ 812D1A8 + thumb_func_start sub_8104064 +sub_8104064: @ 812D1A8 push {r4,lr} - ldr r0, =gUnknown_0203AB34 + ldr r0, =sSlotMachine ldr r0, [r0] adds r0, 0x3E ldrb r0, [r0] @@ -5736,12 +4311,12 @@ sub_812D1A8: @ 812D1A8 pop {r0} bx r0 .pool - thumb_func_end sub_812D1A8 + thumb_func_end sub_8104064 thumb_func_start sub_812D1DC sub_812D1DC: @ 812D1DC push {r4,lr} - ldr r0, =gUnknown_0203AB34 + ldr r0, =sSlotMachine ldr r0, [r0] adds r0, 0x3E ldrb r0, [r0] @@ -5765,7 +4340,7 @@ sub_812D1DC: @ 812D1DC thumb_func_start sub_812D20C sub_812D20C: @ 812D20C ldr r2, =gTasks - ldr r0, =gUnknown_0203AB34 + ldr r0, =sSlotMachine ldr r0, [r0] adds r0, 0x3E ldrb r1, [r0] @@ -5987,8 +4562,8 @@ _0812D39E: bx r0 thumb_func_end sub_812D394 - thumb_func_start sub_812D3B4 -sub_812D3B4: @ 812D3B4 + thumb_func_start sub_810423C +sub_810423C: @ 812D3B4 push {r4-r7,lr} lsls r0, 24 lsrs r6, r0, 24 @@ -6095,7 +4670,7 @@ _0812D448: ble _0812D428 _0812D484: ldr r2, =gTasks - ldr r0, =gUnknown_0203AB34 + ldr r0, =sSlotMachine ldr r0, [r0] adds r0, 0x3E ldrb r1, [r0] @@ -6108,10 +4683,10 @@ _0812D484: pop {r0} bx r0 .pool - thumb_func_end sub_812D3B4 + thumb_func_end sub_810423C - thumb_func_start sub_812D4AC -sub_812D4AC: @ 812D4AC + thumb_func_start sub_810430C +sub_810430C: @ 812D4AC push {r4,lr} ldr r4, =sub_812D4EC adds r0, r4, 0 @@ -6124,10 +4699,10 @@ sub_812D4AC: @ 812D4AC pop {r0} bx r0 .pool - thumb_func_end sub_812D4AC + thumb_func_end sub_810430C - thumb_func_start sub_812D4CC -sub_812D4CC: @ 812D4CC + thumb_func_start sub_810432C +sub_810432C: @ 812D4CC push {lr} ldr r0, =sub_812D4EC bl FindTaskIdByFunc @@ -6143,7 +4718,7 @@ _0812D4E4: _0812D4E6: pop {r1} bx r1 - thumb_func_end sub_812D4CC + thumb_func_end sub_810432C thumb_func_start sub_812D4EC sub_812D4EC: @ 812D4EC @@ -6171,7 +4746,7 @@ sub_812D4EC: @ 812D4EC thumb_func_start sub_812D51C sub_812D51C: @ 812D51C push {lr} - ldr r3, =gUnknown_0203AB34 + ldr r3, =sSlotMachine ldr r1, [r3] movs r2, 0 strb r2, [r1, 0xA] @@ -6343,7 +4918,7 @@ sub_812D63C: @ 812D63C movs r1, 0 ldrsh r0, [r6, r1] bl sub_812EBAC - ldr r0, =gUnknown_0203AB34 + ldr r0, =sSlotMachine ldr r0, [r0] adds r0, 0x3F ldrb r1, [r0] @@ -6400,7 +4975,7 @@ sub_812D6EC: @ 812D6EC strh r0, [r4, 0x12] movs r0, 0x2 bl sub_812EBAC - ldr r0, =gUnknown_0203AB34 + ldr r0, =sSlotMachine ldr r0, [r0] adds r0, 0x3F ldrb r1, [r0] @@ -6467,7 +5042,7 @@ sub_812D774: @ 812D774 ble _0812D7DC movs r0, 0 strh r0, [r4, 0x12] - ldr r0, =gUnknown_0203AB34 + ldr r0, =sSlotMachine ldr r1, [r0] ldrb r0, [r1, 0x5] cmp r0, 0 @@ -6512,7 +5087,7 @@ _0812D7DC: sub_812D7E4: @ 812D7E4 push {r4-r6,lr} adds r4, r0, 0 - ldr r6, =gUnknown_0203AB34 + ldr r6, =sSlotMachine ldr r0, [r6] movs r1, 0x14 ldrsh r0, [r0, r1] @@ -6559,7 +5134,7 @@ _0812D842: bne _0812D866 movs r0, 0x1 bl sub_812BCE8 - ldr r1, =gUnknown_0203AB34 + ldr r1, =sSlotMachine ldr r1, [r1] lsls r0, 24 lsrs r0, 24 @@ -6595,7 +5170,7 @@ sub_812D870: @ 812D870 ldrh r0, [r4, 0x8] adds r0, 0x1 strh r0, [r4, 0x8] - ldr r5, =gUnknown_0203AB34 + ldr r5, =sSlotMachine ldr r1, [r5] ldrb r0, [r1, 0x5] cmp r0, 0 @@ -6731,7 +5306,7 @@ _0812D99E: sub_812D9A4: @ 812D9A4 push {r4-r6,lr} adds r5, r0, 0 - ldr r4, =gUnknown_0203AB34 + ldr r4, =sSlotMachine ldr r0, [r4] movs r6, 0 strb r6, [r0, 0xB] @@ -6766,7 +5341,7 @@ sub_812D9A4: @ 812D9A4 .pool _0812DA04: movs r0, 0x4 - bl sub_812DEE4 + bl sub_8104CAC bl dp15_jump_random_unknown strh r0, [r5, 0xA] strh r6, [r5, 0xC] @@ -6784,7 +5359,7 @@ _0812DA1A: sub_812DA20: @ 812DA20 push {r4,r5,lr} adds r4, r0, 0 - ldr r0, =gUnknown_0203AB34 + ldr r0, =sSlotMachine ldr r5, [r0] movs r0, 0x1A ldrsh r1, [r5, r0] @@ -6825,7 +5400,7 @@ _0812DA66: thumb_func_start sub_812DA6C sub_812DA6C: @ 812DA6C push {lr} - bl sub_812E054 + bl sub_8104E18 lsls r0, 24 cmp r0, 0 beq _0812DA86 @@ -6849,7 +5424,7 @@ sub_812DA90: @ 812DA90 bl sub_812EBCC bl sub_812EC20 ldr r5, =gSprites - ldr r3, =gUnknown_0203AB34 + ldr r3, =sSlotMachine ldr r0, [r3] adds r0, 0x4E ldrb r1, [r0] @@ -6929,7 +5504,7 @@ _0812DB3C: bl sub_812E5A8 bl sub_812EDC0 ldr r2, =gSprites - ldr r0, =gUnknown_0203AB34 + ldr r0, =sSlotMachine ldr r0, [r0] adds r0, 0x4E ldrb r1, [r0] @@ -6988,7 +5563,7 @@ sub_812DBBC: @ 812DBBC movs r0, 0x14 movs r1, 0 bl SetGpuReg - ldr r0, =gUnknown_0203AB34 + ldr r0, =sSlotMachine ldr r0, [r0] adds r0, 0x60 ldrh r0, [r0] @@ -7071,8 +5646,8 @@ _0812DC58: .pool thumb_func_end sub_812DC50 - thumb_func_start sub_812DC80 -sub_812DC80: @ 812DC80 + thumb_func_start sub_8104AB8 +sub_8104AB8: @ 812DC80 push {r4,r5,lr} adds r4, r0, 0 lsls r4, 24 @@ -7094,10 +5669,10 @@ sub_812DC80: @ 812DC80 pop {r0} bx r0 .pool - thumb_func_end sub_812DC80 + thumb_func_end sub_8104AB8 - thumb_func_start sub_812DCB4 -sub_812DCB4: @ 812DCB4 + thumb_func_start sub_8104AEC +sub_8104AEC: @ 812DCB4 push {lr} ldr r0, =sub_812DCD4 bl FindTaskIdByFunc @@ -7113,7 +5688,7 @@ _0812DCCC: _0812DCCE: pop {r1} bx r1 - thumb_func_end sub_812DCB4 + thumb_func_end sub_8104AEC thumb_func_start sub_812DCD4 sub_812DCD4: @ 812DCD4 @@ -7182,7 +5757,7 @@ _0812DD3E: sub_812DD48: @ 812DD48 push {r4,lr} adds r4, r0, 0 - bl sub_812DFDC + bl sub_8104DA4 bl sub_812FAF4 ldr r0, =gUnknown_085A7444 bl AddWindow @@ -7295,7 +5870,7 @@ sub_812DE30: @ 812DE30 push {r4,lr} adds r4, r0, 0 ldrb r0, [r4, 0xA] - bl sub_812DEE4 + bl sub_8104CAC ldrh r0, [r4, 0x8] adds r0, 0x1 strh r0, [r4, 0x8] @@ -7309,10 +5884,10 @@ sub_812DE48: @ 812DE48 push {r4,lr} sub sp, 0x4 adds r4, r0, 0 - ldr r0, =gUnknown_0203AB34 + ldr r0, =sSlotMachine ldr r0, [r0] ldrb r0, [r0, 0x2] - bl sub_812D3B4 + bl sub_810423C movs r0, 0x1 negs r0, r0 movs r1, 0 @@ -7343,15 +5918,15 @@ sub_812DE7C: @ 812DE7C .pool thumb_func_end sub_812DE7C - thumb_func_start sub_812DE94 -sub_812DE94: @ 812DE94 + thumb_func_start sub_8104C5C +sub_8104C5C: @ 812DE94 push {lr} ldr r0, =sub_812E0B0 movs r1, 0x3 bl CreateTask lsls r0, 24 lsrs r1, r0, 24 - ldr r0, =gUnknown_0203AB34 + ldr r0, =sSlotMachine ldr r0, [r0] adds r0, 0x3D strb r1, [r0] @@ -7378,18 +5953,18 @@ _0812DEC0: pop {r0} bx r0 .pool - thumb_func_end sub_812DE94 + thumb_func_end sub_8104C5C - thumb_func_start sub_812DEE4 -sub_812DEE4: @ 812DEE4 + thumb_func_start sub_8104CAC +sub_8104CAC: @ 812DEE4 push {r4-r7,lr} mov r7, r8 push {r7} adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 - bl sub_812DFDC - ldr r0, =gUnknown_0203AB34 + bl sub_8104DA4 + ldr r0, =sSlotMachine ldr r0, [r0] adds r0, 0x3D ldrb r1, [r0] @@ -7443,7 +6018,7 @@ _0812DF52: pop {r0} bx r0 .pool - thumb_func_end sub_812DEE4 + thumb_func_end sub_8104CAC thumb_func_start sub_812DF68 sub_812DF68: @ 812DF68 @@ -7455,7 +6030,7 @@ sub_812DF68: @ 812DF68 ldr r4, [sp, 0x1C] lsls r0, 24 lsrs r7, r0, 24 - ldr r0, =gUnknown_0203AB34 + ldr r0, =sSlotMachine ldr r0, [r0] adds r0, 0x3D ldrb r1, [r0] @@ -7505,10 +6080,10 @@ _0812DFCE: bx r0 thumb_func_end sub_812DF68 - thumb_func_start sub_812DFDC -sub_812DFDC: @ 812DFDC + thumb_func_start sub_8104DA4 +sub_8104DA4: @ 812DFDC push {r4-r6,lr} - ldr r0, =gUnknown_0203AB34 + ldr r0, =sSlotMachine ldr r0, [r0] adds r0, 0x3D ldrb r1, [r0] @@ -7558,12 +6133,12 @@ _0812E02E: pop {r0} bx r0 .pool - thumb_func_end sub_812DFDC + thumb_func_end sub_8104DA4 - thumb_func_start sub_812E054 -sub_812E054: @ 812E054 + thumb_func_start sub_8104E18 +sub_8104E18: @ 812E054 push {r4,r5,lr} - ldr r0, =gUnknown_0203AB34 + ldr r0, =sSlotMachine ldr r0, [r0] adds r0, 0x3D ldrb r1, [r0] @@ -7605,7 +6180,7 @@ _0812E0A8: pop {r4,r5} pop {r1} bx r1 - thumb_func_end sub_812E054 + thumb_func_end sub_8104E18 thumb_func_start sub_812E0B0 sub_812E0B0: @ 812E0B0 @@ -7635,8 +6210,8 @@ nullsub_51: @ 812E0E0 bx lr thumb_func_end nullsub_51 - thumb_func_start sub_812E0E4 -sub_812E0E4: @ 812E0E4 + thumb_func_start sub_8104EA8 +sub_8104EA8: @ 812E0E4 push {r4-r7,lr} movs r6, 0 movs r0, 0x30 @@ -7688,13 +6263,13 @@ _0812E0F0: pop {r0} bx r0 .pool - thumb_func_end sub_812E0E4 + thumb_func_end sub_8104EA8 thumb_func_start sub_812E154 sub_812E154: @ 812E154 push {r4,r5,lr} adds r5, r0, 0 - ldr r0, =gUnknown_0203AB34 + ldr r0, =sSlotMachine ldr r4, [r0] movs r1, 0x2E ldrsh r0, [r5, r1] @@ -7746,8 +6321,8 @@ sub_812E154: @ 812E154 .pool thumb_func_end sub_812E154 - thumb_func_start sub_812E1C8 -sub_812E1C8: @ 812E1C8 + thumb_func_start sub_8104F8C +sub_8104F8C: @ 812E1C8 push {r4-r6,lr} movs r4, 0xCB movs r5, 0x1 @@ -7799,7 +6374,7 @@ _0812E1FE: pop {r0} bx r0 .pool - thumb_func_end sub_812E1C8 + thumb_func_end sub_8104F8C thumb_func_start sub_812E230 sub_812E230: @ 812E230 @@ -7862,7 +6437,7 @@ sub_812E230: @ 812E230 sub_812E2A8: @ 812E2A8 push {r4,lr} adds r4, r0, 0 - ldr r0, =gUnknown_0203AB34 + ldr r0, =sSlotMachine ldr r1, [r0] ldrh r2, [r1, 0xC] movs r3, 0x2E @@ -7903,8 +6478,8 @@ _0812E2F6: .pool thumb_func_end sub_812E2A8 - thumb_func_start sub_812E300 -sub_812E300: @ 812E300 + thumb_func_start sub_81050C4 +sub_81050C4: @ 812E300 push {lr} ldr r0, =gUnknown_085A7D10 movs r1, 0x58 @@ -7928,7 +6503,7 @@ sub_812E300: @ 812E300 pop {r0} bx r0 .pool - thumb_func_end sub_812E300 + thumb_func_end sub_81050C4 thumb_func_start sub_812E33C sub_812E33C: @ 812E33C @@ -7999,7 +6574,7 @@ _0812E350: movs r3, 0x2 orrs r1, r3 strb r1, [r2] - ldr r1, =gUnknown_0203AB34 + ldr r1, =sSlotMachine ldr r1, [r1] adds r1, 0x3F strb r0, [r1] @@ -8013,7 +6588,7 @@ _0812E350: thumb_func_start sub_812E3E8 sub_812E3E8: @ 812E3E8 push {r4,lr} - ldr r0, =gUnknown_0203AB34 + ldr r0, =sSlotMachine ldr r0, [r0] adds r0, 0x3F ldrb r1, [r0] @@ -8148,7 +6723,7 @@ _0812E490: ldr r1, =gUnknown_085A7FE0 adds r0, r2, 0 bl SetSubspriteTables - ldr r5, =gUnknown_0203AB34 + ldr r5, =sSlotMachine ldr r0, [r5] adds r0, 0x49 strb r4, [r0] @@ -8280,7 +6855,7 @@ _0812E5BC: strb r1, [r3] ldr r1, =gUnknown_085A8010 bl SetSubspriteTables - ldr r0, =gUnknown_0203AB34 + ldr r0, =sSlotMachine ldr r0, [r0] adds r0, 0x42 strb r4, [r0] @@ -8327,7 +6902,7 @@ _0812E656: mov r2, r12 strb r1, [r2] strh r5, [r3, 0x3C] - ldr r1, =gUnknown_0203AB34 + ldr r1, =sSlotMachine ldr r1, [r1] adds r1, 0x4B adds r1, r4 @@ -8352,7 +6927,7 @@ _0812E656: sub_812E6C4: @ 812E6C4 push {r4,lr} adds r4, r0, 0 - ldr r0, =gUnknown_0203AB34 + ldr r0, =sSlotMachine ldr r1, [r0] ldrh r0, [r4, 0x3C] ldrh r1, [r1, 0x14] @@ -8426,7 +7001,7 @@ sub_812E70C: @ 812E70C adds r0, r2, 0 mov r1, r9 bl SetSubspriteTables - ldr r6, =gUnknown_0203AB34 + ldr r6, =sSlotMachine ldr r0, [r6] adds r0, 0x4E strb r4, [r0] @@ -8502,7 +7077,7 @@ sub_812E7CC: @ 812E7CC strb r1, [r0, 0x5] ldr r1, =gUnknown_085A803C bl SetSubspriteTables - ldr r0, =gUnknown_0203AB34 + ldr r0, =sSlotMachine ldr r0, [r0] adds r0, 0x40 strb r4, [r0] @@ -8515,7 +7090,7 @@ sub_812E7CC: @ 812E7CC thumb_func_start sub_812E82C sub_812E82C: @ 812E82C push {r4,lr} - ldr r0, =gUnknown_0203AB34 + ldr r0, =sSlotMachine ldr r0, [r0] adds r0, 0x40 ldrb r1, [r0] @@ -8527,7 +7102,7 @@ sub_812E82C: @ 812E82C bl DestroySprite movs r4, 0 _0812E846: - ldr r0, =gUnknown_0203AB34 + ldr r0, =sSlotMachine ldr r0, [r0] adds r0, 0x49 adds r0, r4 @@ -8561,7 +7136,7 @@ _0812E878: _0812E888: movs r4, 0 _0812E88A: - ldr r0, =gUnknown_0203AB34 + ldr r0, =sSlotMachine ldr r0, [r0] adds r0, 0x4B adds r0, r4 @@ -8588,7 +7163,7 @@ sub_812E8C4: @ 812E8C4 push {r4,lr} movs r4, 0 _0812E8C8: - ldr r0, =gUnknown_0203AB34 + ldr r0, =sSlotMachine ldr r0, [r0] adds r0, 0x4E adds r0, r4 @@ -8613,7 +7188,7 @@ _0812E8C8: thumb_func_start sub_812E8F8 sub_812E8F8: @ 812E8F8 push {r4,lr} - ldr r0, =gUnknown_0203AB34 + ldr r0, =sSlotMachine ldr r0, [r0] adds r0, 0x42 ldrb r1, [r0] @@ -8674,7 +7249,7 @@ sub_812E934: @ 812E934 movs r2, 0x1 orrs r1, r2 strb r1, [r5] - ldr r6, =gUnknown_0203AB34 + ldr r6, =sSlotMachine ldr r1, [r6] adds r1, 0x50 strb r0, [r1] @@ -8780,7 +7355,7 @@ sub_812EA44: @ 812EA44 lsls r0, 16 lsrs r0, 16 ldr r4, =gSprites - ldr r1, =gUnknown_0203AB34 + ldr r1, =sSlotMachine ldr r3, [r1] adds r1, r3, 0 adds r1, 0x50 @@ -8808,7 +7383,7 @@ sub_812EA7C: @ 812EA7C push {r4,lr} movs r4, 0 _0812EA80: - ldr r0, =gUnknown_0203AB34 + ldr r0, =sSlotMachine ldr r0, [r0] adds r0, 0x50 adds r0, r4 @@ -8866,7 +7441,7 @@ sub_812EAB0: @ 812EAB0 strh r1, [r2, 0x3A] movs r1, 0x8 strh r1, [r2, 0x3C] - ldr r5, =gUnknown_0203AB34 + ldr r5, =sSlotMachine ldr r1, [r5] adds r1, 0x52 strb r0, [r1] @@ -8953,7 +7528,7 @@ _0812EB9A: thumb_func_start sub_812EBAC sub_812EBAC: @ 812EBAC ldr r3, =gSprites - ldr r1, =gUnknown_0203AB34 + ldr r1, =sSlotMachine ldr r1, [r1] adds r1, 0x52 ldrb r2, [r1] @@ -8982,7 +7557,7 @@ sub_812EBCC: @ 812EBCC bl MultiplyInvertedPaletteRGBComponents movs r4, 0 _0812EBEA: - ldr r0, =gUnknown_0203AB34 + ldr r0, =sSlotMachine ldr r0, [r0] adds r0, 0x52 adds r0, r4 @@ -9026,7 +7601,7 @@ sub_812EC20: @ 812EC20 movs r3, 0x4 orrs r2, r3 strb r2, [r1, 0x5] - ldr r1, =gUnknown_0203AB34 + ldr r1, =sSlotMachine ldr r1, [r1] adds r1, 0x41 strb r0, [r1] @@ -9047,7 +7622,7 @@ sub_812EC64: @ 812EC64 thumb_func_start sub_812EC70 sub_812EC70: @ 812EC70 push {lr} - ldr r0, =gUnknown_0203AB34 + ldr r0, =sSlotMachine ldr r0, [r0] adds r0, 0x41 ldrb r1, [r0] @@ -9109,7 +7684,7 @@ _0812ECA4: add r1, sp ldrh r1, [r1] strh r1, [r3, 0x2E] - ldr r1, =gUnknown_0203AB34 + ldr r1, =sSlotMachine ldr r1, [r1] adds r1, 0x54 adds r1, r4 @@ -9188,7 +7763,7 @@ sub_812ED8C: @ 812ED8C push {r4,lr} movs r4, 0 _0812ED90: - ldr r0, =gUnknown_0203AB34 + ldr r0, =sSlotMachine ldr r0, [r0] adds r0, 0x54 adds r0, r4 @@ -9238,7 +7813,7 @@ sub_812EDC0: @ 812EDC0 orrs r1, r2 strb r1, [r0, 0x1] bl InitSpriteAffineAnim - ldr r0, =gUnknown_0203AB34 + ldr r0, =sSlotMachine ldr r0, [r0] adds r0, 0x43 strb r4, [r0] @@ -9331,7 +7906,7 @@ _0812EE90: thumb_func_start sub_812EEA8 sub_812EEA8: @ 812EEA8 ldr r2, =gSprites - ldr r0, =gUnknown_0203AB34 + ldr r0, =sSlotMachine ldr r0, [r0] adds r0, 0x43 ldrb r1, [r0] @@ -9349,7 +7924,7 @@ sub_812EEA8: @ 812EEA8 thumb_func_start sub_812EECC sub_812EECC: @ 812EECC push {r4,lr} - ldr r0, =gUnknown_0203AB34 + ldr r0, =sSlotMachine ldr r0, [r0] adds r0, 0x43 ldrb r0, [r0] @@ -9817,7 +8392,7 @@ _0812F238: .4byte _0812F2AC .4byte _0812F2C2 _0812F250: - ldr r0, =gUnknown_0203AB34 + ldr r0, =sSlotMachine ldr r0, [r0] ldrb r1, [r0, 0xA] subs r1, 0x1 @@ -10378,7 +8953,7 @@ _0812F660: beq _0812F71C b _0812F76C _0812F66A: - ldr r0, =gUnknown_0203AB34 + ldr r0, =sSlotMachine ldr r2, [r0] adds r1, r2, 0 adds r1, 0x5C @@ -10422,7 +8997,7 @@ _0812F6B0: movs r0, 0xD0 strh r0, [r5, 0x34] _0812F6BC: - ldr r0, =gUnknown_0203AB34 + ldr r0, =sSlotMachine ldr r2, [r0] ldrh r0, [r5, 0x32] lsls r0, 8 @@ -10438,7 +9013,7 @@ _0812F6BC: b _0812F75E .pool _0812F6E0: - ldr r6, =gUnknown_0203AB34 + ldr r6, =sSlotMachine ldr r0, [r6] movs r1, 0x12 ldrsh r0, [r0, r1] @@ -10490,7 +9065,7 @@ _0812F738: movs r0, 0xD0 strh r0, [r5, 0x34] _0812F744: - ldr r0, =gUnknown_0203AB34 + ldr r0, =sSlotMachine ldr r2, [r0] ldrh r0, [r5, 0x32] lsls r0, 8 @@ -10559,7 +9134,7 @@ sub_812F794: @ 812F794 thumb_func_start sub_812F7C0 sub_812F7C0: @ 812F7C0 - ldr r0, =gUnknown_0203AB34 + ldr r0, =sSlotMachine ldr r2, [r0] adds r1, r2, 0 adds r1, 0x58 @@ -10955,8 +9530,8 @@ sub_812FAF4: @ 812FAF4 .pool thumb_func_end sub_812FAF4 - thumb_func_start sub_812FB14 -sub_812FB14: @ 812FB14 + thumb_func_start SlotMachineSetup_9_0 +SlotMachineSetup_9_0: @ 812FB14 ldr r1, =gUnknown_03001188 ldr r0, =gUnknown_0203AAF4 ldr r0, [r0] @@ -11015,10 +9590,10 @@ sub_812FB14: @ 812FB14 str r0, [r1, 0x64] bx lr .pool - thumb_func_end sub_812FB14 + thumb_func_end SlotMachineSetup_9_0 - thumb_func_start sub_812FBC4 -sub_812FBC4: @ 812FBC4 + thumb_func_start SlotMachineSetup_8_0 +SlotMachineSetup_8_0: @ 812FBC4 push {r4-r6,lr} mov r6, r8 push {r6} @@ -11218,6 +9793,6 @@ sub_812FBC4: @ 812FBC4 pop {r0} bx r0 .pool - thumb_func_end sub_812FBC4 + thumb_func_end SlotMachineSetup_8_0 .align 2, 0 @ Don't pad with nop. diff --git a/include/slot_machine.h b/include/slot_machine.h index 8334e56fcf..88bbbd91bd 100644 --- a/include/slot_machine.h +++ b/include/slot_machine.h @@ -1,6 +1,6 @@ #ifndef GUARD_SLOT_MACHINE_H #define GUARD_SLOT_MACHINE_H -void PlaySlotMachine(u8, void *); +void PlaySlotMachine(u8, void (callback)(void)); #endif // GUARD_SLOT_MACHINE_H diff --git a/ld_script.txt b/ld_script.txt index f5bfdd598a..c7be8bd4cb 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -167,6 +167,7 @@ SECTIONS { src/region_map.o(.text); asm/cute_sketch.o(.text); src/decoration.o(.text); + src/slot_machine.o(.text); asm/slot_machine.o(.text); asm/contest_painting.o(.text); src/battle_ai_script_commands.o(.text); @@ -460,6 +461,7 @@ SECTIONS { src/region_map.o(.rodata); data/cute_sketch.o(.rodata); src/decoration.o(.rodata); + src/slot_machine.o(.rodata); data/slot_machine.o(.rodata); data/contest_painting.o(.rodata); src/battle_ai_script_commands.o(.rodata); diff --git a/src/slot_machine.c b/src/slot_machine.c new file mode 100644 index 0000000000..02e842ce92 --- /dev/null +++ b/src/slot_machine.c @@ -0,0 +1,887 @@ +#include "global.h" +#include "constants/songs.h" +#include "overworld.h" +#include "field_effect.h" +#include "random.h" +#include "sound.h" +#include "main.h" +#include "slot_machine.h" +#include "string_util.h" +#include "decompress.h" +#include "trig.h" +#include "graphics.h" +#include "palette.h" +#include "util.h" +#include "text.h" +#include "menu.h" +#include "malloc.h" +#include "bg.h" +#include "gpu_regs.h" +#include "coins.h" +#include "tv.h" +#include "text_window.h" +#include "constants/rgb.h" +#include "menu.h" + +enum +{ + SLOT_MACHINE_TAG_7_RED, + SLOT_MACHINE_TAG_7_BLUE, + SLOT_MACHINE_TAG_AZURILL, + SLOT_MACHINE_TAG_LOTAD, + SLOT_MACHINE_TAG_CHERRY, + SLOT_MACHINE_TAG_POWER, + SLOT_MACHINE_TAG_REPLAY +}; + +enum +{ + SLOT_MACHINE_MATCHED_1CHERRY, + SLOT_MACHINE_MATCHED_2CHERRY, + SLOT_MACHINE_MATCHED_REPLAY, + SLOT_MACHINE_MATCHED_LOTAD, + SLOT_MACHINE_MATCHED_AZURILL, + SLOT_MACHINE_MATCHED_POWER, + SLOT_MACHINE_MATCHED_777_MIXED, + SLOT_MACHINE_MATCHED_777_RED, + SLOT_MACHINE_MATCHED_777_BLUE, + SLOT_MACHINE_MATCHED_NONE +}; + +struct SlotMachineEwramStruct +{ + /*0x00*/ u8 state; + /*0x01*/ u8 unk01; + /*0x02*/ u8 pikaPower; + /*0x03*/ u8 unk03; + /*0x04*/ u8 unk04; + /*0x05*/ u8 unk05; + /*0x06*/ u8 unk06; + /*0x07*/ u8 unk07; + /*0x08*/ u16 matchedSymbols; + /*0x0A*/ u8 unk0A; + /*0x0B*/ u8 unk0B; + /*0x0C*/ s16 coins; + /*0x0E*/ s16 payout; + /*0x10*/ s16 unk10; + /*0x12*/ s16 bet; + /*0x14*/ s16 unk14; + /*0x16*/ s16 unk16; + /*0x18*/ s16 unk18; + /*0x1A*/ s16 unk1A; + /*0x1C*/ s16 unk1C[3]; + /*0x22*/ u16 unk22[3]; + /*0x28*/ s16 reelPositions[3]; + /*0x2E*/ s16 unk2E[3]; + /*0x34*/ s16 unk34[3]; + /*0x3A*/ u8 reelTasks[3]; + /*0x3D*/ u8 unk3D; + /*0x3E*/ u8 unk3E; + /*0x3F*/ u8 unk3F; + /*0x40*/ u8 unk40; + /*0x41*/ u8 unk41; + /*0x42*/ u8 unk42; + /*0x43*/ u8 unk43; + /*0x44*/ u8 unk44[5]; + /*0x49*/ u8 unk49[2]; + /*0x49*/ u8 unk4B[3]; + /*0x4E*/ u8 unk4E[2]; + /*0x50*/ u8 unk50[2]; + /*0x52*/ u8 unk52[2]; + /*0x54*/ u8 unk54[4]; + /*0x58*/ u16 win0h; + /*0x5a*/ u16 win0v; + /*0x5c*/ u16 winIn; + /*0x5e*/ u16 winOut; + /*0x60*/ u16 backupMapMusic; + /*0x64*/ MainCallback prevMainCb; +}; + +extern struct SlotMachineEwramStruct *sSlotMachine; + +struct UnkStruct1 +{ + /*0x00*/ u8 unk00; + /*0x01*/ u8 unk01; + /*0x02*/ s16 unk02; +}; + +#define SLOTMACHINE_GFX_TILES 233 + +/*static*/void CB2_SlotMachineSetup(void); +/*static*/void CB2_SlotMachineLoop(void); +/*static*/void PlaySlotMachine_Internal(u8 arg0, MainCallback cb); +/*static*/void SlotMachineDummyTask(u8 taskId); +/*static*/void SlotMachineSetup_0_0(void); +/*static*/void SlotMachineSetup_6_2(void); +/*static*/void SlotMachineSetup_1_0(void); +/*static*/void SlotMachineSetup_2_0(void); +/*static*/void SlotMachineSetup_2_1(void); +/*static*/void SlotMachineSetup_0_1(void); +/*static*/void SlotMachineSetup_3_0(void); +/*static*/void SlotMachineSetup_4_0(void); +/*static*/void SlotMachineSetup_5_0(void); +/*static*/void SlotMachineSetup_6_0(void); +/*static*/void SlotMachineSetup_6_1(void); +/*static*/void SlotMachineSetup_8_0(void); +/*static*/void SlotMachineSetup_9_0(void); +/*static*/void SlotMachineSetup_10_0(void); +/*static*/void SlotMachineSetup_10_1(void); +/*static*/void sub_8101D04(void); +/*static*/void sub_8104DA4(void); +/*static*/void sub_8101D24(u8 taskId); +/*static*/bool8 sub_8101D5C(struct Task *task); +/*static*/bool8 sub_8101D8C(struct Task *task); +/*static*/bool8 sub_8101DB0(struct Task *task); +/*static*/bool8 sub_8101DF4(struct Task *task); +/*static*/bool8 sub_8101E10(struct Task *task); +/*static*/bool8 sub_8101E3C(struct Task *task); +/*static*/bool8 sub_8101F44(struct Task *task); +/*static*/bool8 sub_8101F60(struct Task *task); +/*static*/bool8 sub_8101F88(struct Task *task); +/*static*/bool8 sub_8101FA4(struct Task *task); +/*static*/bool8 sub_8102008(struct Task *task); +/*static*/bool8 sub_8102034(struct Task *task); +/*static*/bool8 sub_8102058(struct Task *task); +/*static*/bool8 sub_8102090(struct Task *task); +bool8 sub_81020C8(struct Task *task); +/*static*/bool8 sub_81021E0(struct Task *task); +/*static*/bool8 sub_81021FC(struct Task *task); +/*static*/bool8 sub_8102264(struct Task *task); +/*static*/bool8 sub_81022A0(struct Task *task); +/*static*/bool8 sub_81022CC(struct Task *task); +/*static*/bool8 sub_81022F0(struct Task *task); +/*static*/bool8 sub_8102318(struct Task *task); +/*static*/bool8 sub_8102344(struct Task *task); +/*static*/bool8 sub_810239C(struct Task *task); +/*static*/bool8 sub_81023B8(struct Task *task); +/*static*/bool8 sub_81023E0(struct Task *task); +/*static*/bool8 sub_81023FC(struct Task *task); +/*static*/bool8 sub_8102424(struct Task *task); +/*static*/bool8 sub_8102460(struct Task *task); +/*static*/void sub_8102484(void); +/*static*/void sub_81024F0(void); +/*static*/bool8 sub_8102540(void); +/*static*/u8 sub_8102578(void); +/*static*/u16 dp15_jump_random_unknown(void); +/*static*/u8 sub_81025BC(void); +/*static*/void CheckMatch(void); +/*static*/void CheckMatch_CenterRow(void); +/*static*/void CheckMatch_TopAndBottom(void); +/*static*/void CheckMatch_Diagonals(void); +/*static*/u8 GetMatchFromSymbolsInRow(u8 c1, u8 c2, u8 c3); +/*static*/void sub_8102A24(void); +/*static*/void sub_8102A64(u8 taskId); +/*static*/bool8 sub_8102A44(void); +/*static*/bool8 sub_8102A9C(struct Task *task); +/*static*/bool8 sub_8102AD0(struct Task *task); +/*static*/bool8 sub_8102B80(struct Task *task); +/*static*/u8 GetTagOfReelSymbolOnScreenAtPos(u8 x, s16 y); +/*static*/void sub_8102DA8(void); +/*static*/void sub_8102DEC(u8 a0); +/*static*/void sub_8102E1C(u8 a0); +/*static*/bool8 sub_8102E40(u8 a0); +/*static*/void sub_8102E68(u8 taskId); +/*static*/bool8 sub_8102EA0(struct Task *task); +/*static*/bool8 sub_8102EA4(struct Task *task); +/*static*/bool8 sub_8102EC0(struct Task *task); +/*static*/bool8 sub_8102F4C(struct Task *task); +/*static*/bool8 sub_8103008(struct Task *task); +/*static*/bool8 sub_810305C(void); +/*static*/bool8 sub_8103154(u8 a0, u8 a1); +/*static*/bool8 sub_81031B4(u8 a0, u8 a1); +/*static*/bool8 sub_81032C0(void); +/*static*/bool8 sub_81032E8(void); +/*static*/bool8 sub_810333C(void); +/*static*/bool8 sub_81033DC(void); +/*static*/bool8 sub_810341C(u8 a0); +/*static*/bool8 sub_810347C(u8 a0); +/*static*/void sub_81034F4(void); +/*static*/void sub_8103540(void); +/*static*/void sub_8103564(void); +/*static*/void j5_08111E84(void); +/*static*/void sub_8103668(void); +/*static*/void sub_810380C(void); +/*static*/void sub_8103830(void); +/*static*/void sub_8103910(void); +/*static*/void sub_8103A78(void); +/*static*/void sub_8103C14(u8 a0); +/*static*/void sub_8103C48(u8 taskId); +/*static*/void sub_8103D50(u8 a0); +/*static*/void sub_8103C78(struct Task *task, u8 taskId); +/*static*/void sub_8103CAC(struct Task *task, u8 taskId); +/*static*/void sub_8103CC8(struct Task *task, u8 taskId); +/*static*/void sub_8103D8C(u8 a0); +/*static*/void sub_8103DC8(void); +/*static*/void sub_8103E04(u8 a0); +/*static*/bool8 sub_8103E38(void); +/*static*/bool8 sub_8103E7C(void); +/*static*/bool8 sub_8103EAC(u8 spriteId); +/*static*/void sub_8103EE4(struct Sprite *sprite); +/*static*/void sub_8103F70(void); +/*static*/bool8 sub_8103FA0(void); +/*static*/void sub_8103FE8(u8 taskId); +/*static*/void sub_8104048(void); +/*static*/void sub_8104064(u8 pikaPower); +/*static*/bool8 sub_81040C8(void); +/*static*/void sub_81040E8(u8 taskId); +/*static*/void nullsub_68(struct Task *task); +/*static*/void sub_810411C(struct Task *task); +/*static*/void sub_8104144(struct Task *task); +/*static*/void sub_81041AC(struct Task *task); +/*static*/void sub_810421C(struct Task *task); +/*static*/void sub_810423C(u8 pikaPower); +/*static*/void sub_810430C(void); +/*static*/bool8 sub_810432C(void); +/*static*/void sub_810434C(u8 taskId); +/*static*/void sub_810437C(struct Task *task); +/*static*/void sub_81043EC(struct Task *task); +/*static*/void sub_8104468(struct Task *task); +/*static*/void sub_8104498(struct Task *task); +/*static*/void sub_8104548(struct Task *task); +/*static*/void sub_8104598(struct Task *task); +/*static*/void sub_81045CC(struct Task *task); +/*static*/void sub_810463C(struct Task *task); +/*static*/void sub_81046C0(struct Task *task); +/*static*/void sub_8104764(struct Task *task); +/*static*/void sub_8104794(struct Task *task); +/*static*/void sub_81047EC(struct Task *task); +/*static*/void sub_8104860(struct Task *task); +/*static*/void sub_81048A8(struct Task *task); +/*static*/void sub_81048CC(struct Task *task); +/*static*/void sub_8104940(struct Task *task); +/*static*/void sub_81049C8(struct Task *task); +/*static*/void sub_81049F8(struct Task *task); +/*static*/void sub_8104A40(s16 a0, s16 a1); +/*static*/void sub_8104A88(s16 a0); +/*static*/void sub_8104AB8(u8 a0); +/*static*/bool8 sub_8104AEC(void); +/*static*/void sub_8104B0C(u8 taskId); +/*static*/void sub_8104B3C(struct Task *task); +/*static*/void sub_8104B60(struct Task *task); +/*static*/void sub_8104B80(struct Task *task); +/*static*/void sub_8104BC8(struct Task *task); +/*static*/void sub_8104BFC(struct Task *task); +/*static*/void sub_8104C44(struct Task *task); +/*static*/void sub_8104C5C(void); +/*static*/void sub_8104CAC(u8 arg0); +/*static*/bool8 sub_8104E18(void); +/*static*/void nullsub_69(struct Task *task); +/*static*/void sub_8104E74(u8 taskId); +/*static*/void sub_8104EA8(void); +/*static*/void sub_8104F8C(void); +/*static*/void sub_8104FF4(s16 x, s16 y, u8 a2, s16 a3); +/*static*/void sub_81050C4(void); +/*static*/void sub_8105100(void); +/*static*/void sub_810514C(void); +/*static*/void sub_81051C0(void); +/*static*/void sub_8105284(void); +/*static*/void sub_81052EC(void); +/*static*/void sub_81053A0(void); +/*static*/void sub_810545C(void); +/*static*/void sub_81054B8(void); +/*static*/void sub_8105524(void); +/*static*/void sub_8105554(void); +/*static*/void sub_8105578(void); +/*static*/void sub_8105688(s16 a0); +/*static*/void sub_81056C0(void); +/*static*/void sub_81056F0(void); +/*static*/void sub_81057E8(s16 a0); +/*static*/void sub_8105804(void); +/*static*/void sub_8105854(void); +/*static*/void sub_81058A0(void); +/*static*/void sub_81058C4(void); +/*static*/void sub_81059B8(void); +/*static*/void sub_81059E8(void); +/*static*/bool8 sub_8105ACC(void); +/*static*/void sub_8105AEC(void); +/*static*/u8 sub_8105B1C(s16 x, s16 y); +/*static*/void sub_8105B88(u8 spriteId); +/*static*/u8 sub_8105BF8(u8 templateIdx, void (*callback)(struct Sprite*), s16 x, s16 y, s16 a4); +/*static*/void sub_81063C0(void); +/*static*/void sub_8106404(void); +/*static*/void sub_8106448(void); +/*static*/void sub_81064B8(void); +/*static*/void sub_81065A8(s16 arg0, u16 arg1, u16 arg2, u16 arg3, u16 arg4); +/*static*/void sub_81065DC(void); +/*static*/extern const struct UnkStruct1 *const gUnknown_083ED048[]; +/*static*/extern const u16 gPalette_83EDE24[]; +/*static*/extern const u8 gUnknown_083ECD04[][3]; +/*static*/extern const u8 gUnknown_083ECE3A[]; +/*static*/extern const u16 gUnknown_083ECE42[]; +/*static*/extern const u16 gUnknown_083ECE48[]; + +// code +#define tState data[0] + +void Task_FadeToSlotMachine(u8 taskId) +{ + switch (gTasks[taskId].tState) + { + case 0: + BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); + gTasks[taskId].tState++; + break; + case 1: + if (!gPaletteFade.active) + { + SetMainCallback2(CB2_SlotMachineSetup); + DestroyTask(taskId); + } + break; + } +} + +void PlaySlotMachine(u8 arg0, MainCallback cb) +{ + u8 taskId; + + sSlotMachine = AllocZeroed(sizeof(*sSlotMachine)); + PlaySlotMachine_Internal(arg0, cb); + taskId = CreateTask(Task_FadeToSlotMachine, 0); + gTasks[taskId].tState = 0; +} + +#undef tState + +void CB2_SlotMachineSetup(void) +{ + switch (gMain.state) + { + case 0: + SlotMachineSetup_0_0(); + SlotMachineSetup_0_1(); + gMain.state++; + break; + case 1: + SlotMachineSetup_1_0(); + gMain.state++; + break; + case 2: + SlotMachineSetup_2_0(); + SlotMachineSetup_2_1(); + gMain.state++; + break; + case 3: + SlotMachineSetup_3_0(); + gMain.state++; + break; + case 4: + SlotMachineSetup_4_0(); + gMain.state++; + break; + case 5: + SlotMachineSetup_5_0(); + gMain.state++; + break; + case 6: + SlotMachineSetup_6_0(); + gMain.state++; + break; + case 7: + BeginNormalPaletteFade(-1, 0, 0x10, 0, 0); + ShowBg(0); + ShowBg(1); + ShowBg(2); + ShowBg(3); + gMain.state++; + break; + case 8: + SlotMachineSetup_8_0(); + gMain.state++; + break; + case 9: + SlotMachineSetup_9_0(); + gMain.state++; + break; + case 10: + SlotMachineSetup_10_0(); + SlotMachineSetup_10_1(); + gMain.state++; + break; + case 11: + SetMainCallback2(CB2_SlotMachineLoop); + break; + } +} + +void CB2_SlotMachineLoop(void) +{ + RunTasks(); + AnimateSprites(); + BuildOamBuffer(); + UpdatePaletteFade(); +} + +void SlotMachine_VBlankCallback(void) +{ + LoadOam(); + ProcessSpriteCopyRequests(); + TransferPlttBuffer(); + SetGpuReg(REG_OFFSET_WIN0H, sSlotMachine->win0h); + SetGpuReg(REG_OFFSET_WIN0V, sSlotMachine->win0v); + SetGpuReg(REG_OFFSET_WININ, sSlotMachine->winIn); + SetGpuReg(REG_OFFSET_WINOUT, sSlotMachine->winOut); +} + +void PlaySlotMachine_Internal(u8 arg0, MainCallback cb) +{ + struct Task *task = gTasks + CreateTask(SlotMachineDummyTask, 0xFF); + task->data[0] = arg0; + StoreWordInTwoHalfwords(task->data + 1, (intptr_t)cb); +} + +void sub_81019EC(void) +{ + struct Task *task = gTasks + FindTaskIdByFunc(SlotMachineDummyTask); + sSlotMachine->unk01 = task->data[0]; + LoadWordFromTwoHalfwords((u16 *)(task->data + 1), (u32 *)&sSlotMachine->prevMainCb); +} + +void SlotMachineDummyTask(u8 taskId) +{ +} + +extern const struct BgTemplate gUnknown_085A7424[4]; +extern const struct WindowTemplate gUnknown_085A7434[]; + +void SlotMachineSetup_0_0(void) +{ + SetVBlankCallback(NULL); + SetHBlankCallback(NULL); + CpuFill32(0, (void *)VRAM, VRAM_SIZE); + ResetBgsAndClearDma3BusyFlags(0); + InitBgsFromTemplates(0, gUnknown_085A7424, ARRAY_COUNT(gUnknown_085A7424)); + InitWindows(gUnknown_085A7434); + DeactivateAllTextPrinters(); +} + +void SlotMachineSetup_6_0(void) +{ + SetVBlankCallback(SlotMachine_VBlankCallback); + EnableInterrupts(INTR_FLAG_VBLANK); + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_1D_MAP | DISPCNT_OBJ_ON | DISPCNT_WIN0_ON); +} + +void SlotMachineSetup_1_0(void) +{ + DmaClearLarge16(3, (u16 *)(BG_VRAM), BG_VRAM_SIZE, 0x1000); +} + +void SlotMachineSetup_2_0(void) +{ + DmaClear16(3, (u16 *)OAM, OAM_SIZE); +} + +void SlotMachineSetup_2_1(void) +{ + SetGpuReg(REG_OFFSET_BG0CNT, 0); + SetGpuReg(REG_OFFSET_BG1CNT, 0); + SetGpuReg(REG_OFFSET_BG2CNT, 0); + SetGpuReg(REG_OFFSET_BG3CNT, 0); + SetGpuReg(REG_OFFSET_BG0HOFS, 0); + SetGpuReg(REG_OFFSET_BG0VOFS, 0); + SetGpuReg(REG_OFFSET_BG1HOFS, 0); + SetGpuReg(REG_OFFSET_BG1VOFS, 0); + SetGpuReg(REG_OFFSET_BG2HOFS, 0); + SetGpuReg(REG_OFFSET_BG2VOFS, 0); + SetGpuReg(REG_OFFSET_BG3HOFS, 0); + SetGpuReg(REG_OFFSET_BG3VOFS, 0); + SetGpuReg(REG_OFFSET_WININ, 0x3f); + SetGpuReg(REG_OFFSET_WINOUT, 0x3f); + SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG3 | BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_OBJ); + SetGpuReg(REG_OFFSET_BLDALPHA, 0x809); +} + +extern const s16 gUnknown_083ECCF8[][2]; + +void SlotMachineSetup_0_1(void) +{ + u8 i; + + sub_81019EC(); + sSlotMachine->state = 0; + sSlotMachine->pikaPower = 0; + sSlotMachine->unk03 = Random() & 1; + sSlotMachine->unk04 = 0; + sSlotMachine->matchedSymbols = 0; + sSlotMachine->unk0A = 0; + sSlotMachine->unk0B = 0; + sSlotMachine->coins = GetCoins(); + sSlotMachine->payout = 0; + sSlotMachine->unk10 = 0; + sSlotMachine->bet = 0; + sSlotMachine->unk18 = 0; + sSlotMachine->unk1A = 8; + sSlotMachine->win0h = 0xf0; + sSlotMachine->win0v = 0xa0; + sSlotMachine->winIn = 0x3f; + sSlotMachine->winOut = 0x3f; + sSlotMachine->backupMapMusic = GetCurrentMapMusic(); + for (i = 0; i < 3; i++) + { + sSlotMachine->unk22[i] = 0; + sSlotMachine->reelPositions[i] = gUnknown_083ECCF8[i][sSlotMachine->unk03] % 21; + sSlotMachine->unk1C[i] = 0x1f8 - sSlotMachine->reelPositions[i] * 24; + sSlotMachine->unk1C[i] %= 0x1f8; + } + sub_80EDE70(GetCoins()); +} + +extern u8 gOamLimit; + +void SlotMachineSetup_3_0(void) +{ + ResetPaletteFade(); + ResetSpriteData(); + gOamLimit = 0x80; + FreeAllSpritePalettes(); + ResetTasks(); +} + +extern u16 *gUnknown_0203AACC; +extern u16 *gUnknown_0203AAD0; +extern u16 *gUnknown_0203AADC; + +void SlotMachineSetup_4_0(void) +{ + gUnknown_0203AACC = Alloc(8); + gUnknown_0203AAD0 = AllocZeroed(0xE); + gUnknown_0203AADC = AllocZeroed(8); + + gUnknown_0203AAD0[0] = 0x2051; + gUnknown_0203AAD0[1] = 0x2851; + gUnknown_0203AAD0[2] = 0x2061; + gUnknown_0203AAD0[3] = 0x2861; + gUnknown_0203AAD0[4] = 0x20BE; + gUnknown_0203AAD0[5] = 0x28BE; + gUnknown_0203AAD0[6] = 0x20BF; +} + +/*static*/void sub_812F908(void); +/*static*/void sub_812F958(void); +/*static*/void sub_812F7E4(void); + +void SlotMachineSetup_5_0(void) +{ + sub_812F908(); + sub_812F958(); + sub_812F7E4(); + LoadMessageBoxGfx(0, 0x200, 0xF0); + LoadUserWindowBorderGfx(0, 0x214, 0xE0); + PutWindowTilemap(0); +} + +void SlotMachineSetup_10_0(void) +{ + sub_8104EA8(); + sub_8104F8C(); + sub_8103DC8(); + sub_81050C4(); +} + +void SlotMachineSetup_10_1(void) +{ + sub_8104048(); + sub_8102DA8(); + sub_8104C5C(); + sub_8101D04(); +} + +void sub_8101D04(void) +{ + sub_8101D24(CreateTask(sub_8101D24, 0)); +} + +extern bool8 (*const gUnknown_083ECAAC[])(struct Task *task); + +void sub_8101D24(u8 taskId) +{ + while (gUnknown_083ECAAC[sSlotMachine->state](gTasks + taskId)) + ; +} + +bool8 sub_8101D5C(struct Task *task) +{ + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB(0, 0, 0)); + sub_810423C(sSlotMachine->pikaPower); + sSlotMachine->state++; + return FALSE; +} + +bool8 sub_8101D8C(struct Task *task) +{ + if (!gPaletteFade.active) + sSlotMachine->state++; + return FALSE; +} + +bool8 sub_8101DB0(struct Task *task) +{ + sSlotMachine->payout = 0; + sSlotMachine->bet = 0; + sSlotMachine->unk18 = 0; + sSlotMachine->unk04 &= 0xc0; + sSlotMachine->state = 4; + if (sSlotMachine->coins <= 0) + { + sSlotMachine->state = 25; + } + else if (sSlotMachine->unk0A) + { + sSlotMachine->state = 3; + sub_8104CAC(4); + } + return TRUE; +} + +bool8 sub_8101DF4(struct Task *task) +{ + if (sub_8104E18()) + sSlotMachine->state = 4; + return FALSE; +} + +bool8 sub_8101E10(struct Task *task) +{ + sub_8104CAC(0); + sSlotMachine->state = 5; + if (sSlotMachine->coins >= 9999) + sSlotMachine->state = 23; + return TRUE; +} + +bool8 sub_8101E3C(struct Task *task) +{ + s16 i; + + if (gMain.newKeys & SELECT_BUTTON) + { + sub_8104AB8(0); + sSlotMachine->state = 8; + } + else if (gMain.newKeys & R_BUTTON) + { + if (sSlotMachine->coins - (3 - sSlotMachine->bet) >= 0) + { + for (i = sSlotMachine->bet; i < 3; i++) + sub_8103D50(i); + sSlotMachine->coins -= (3 - sSlotMachine->bet); + sSlotMachine->bet = 3; + sSlotMachine->state = 9; + PlaySE(SE_REGI); + } + else + { + sSlotMachine->state = 6; + } + } + else + { + if (gMain.newKeys & DPAD_DOWN && sSlotMachine->coins != 0) + { + PlaySE(SE_REGI); + sub_8103D50(sSlotMachine->bet); + sSlotMachine->coins--; + sSlotMachine->bet++; + } + if (sSlotMachine->bet >= 3 || (sSlotMachine->bet != 0 && gMain.newKeys & A_BUTTON)) + sSlotMachine->state = 9; + if (gMain.newKeys & B_BUTTON) + sSlotMachine->state = 21; + } + return FALSE; +} + +extern const u8 gText_YouDontHaveThreeCoins[]; + +bool8 sub_8101F44(struct Task *task) +{ + NewMenuHelpers_DrawDialogueFrame(0, 0); + PrintTextOnWindow(0, 1, gText_YouDontHaveThreeCoins, 0, 1, 0, 0); + CopyWindowToVram(0, 3); + sSlotMachine->state = 7; + return FALSE; +} + +bool8 sub_8101F60(struct Task *task) +{ + if (gMain.newKeys & (A_BUTTON | B_BUTTON)) + { + sub_8197434(0, TRUE); + sSlotMachine->state = 5; + } + return FALSE; +} + +bool8 sub_8101F88(struct Task *task) +{ + if (sub_8104AEC()) + sSlotMachine->state = 5; + return FALSE; +} + +bool8 sub_8101FA4(struct Task *task) +{ + sub_8102484(); + sub_8104DA4(); + sub_8102DEC(0); + sub_8102DEC(1); + sub_8102DEC(2); + sub_80EEC80(); + task->data[0] = 0; + if (sSlotMachine->unk04 & 0x20) + { + sub_810430C(); + sSlotMachine->state = 10; + } + else + { + sub_8104CAC(1); + sSlotMachine->state = 11; + } + sSlotMachine->unk1A = 8; + if (sSlotMachine->unk0A) + sSlotMachine->unk1A = dp15_jump_random_unknown(); + return FALSE; +} + +bool8 sub_8102008(struct Task *task) +{ + if (sub_810432C()) + { + sub_8104CAC(1); + sSlotMachine->unk04 &= 0xDF; + sSlotMachine->state = 11; + } + return FALSE; +} + +bool8 sub_8102034(struct Task *task) +{ + if (++task->data[0] >= 30) + { + sub_81024F0(); + sSlotMachine->state = 12; + } + return FALSE; +} + +bool8 sub_8102058(struct Task *task) +{ + if (gMain.newKeys & A_BUTTON) + { + PlaySE(SE_JYUNI); + sub_8102E1C(sSlotMachine->unk18); + sub_8103C14(sSlotMachine->unk18); + sSlotMachine->state = 13; + } + return FALSE; +} + +bool8 sub_8102090(struct Task *task) +{ + if (!sub_8102E40(sSlotMachine->unk18)) + { + sSlotMachine->unk18++; + sSlotMachine->state = 12; + if (sSlotMachine->unk18 > 2) + { + sSlotMachine->state = 14; + } + return TRUE; + } + return FALSE; +} + +bool8 sub_81020C8(struct Task *task) +{ + sSlotMachine->unk04 &= 0xc0; + CheckMatch(); + if (sSlotMachine->unk0A) + { + sSlotMachine->unk0A--; + sSlotMachine->unk0B++; + } + + if (sSlotMachine->matchedSymbols) + { + sSlotMachine->state = 15; + sub_8102A24(); + sub_8103F70(); + if ((sSlotMachine->unk10 -= sSlotMachine->payout) < 0) + { + sSlotMachine->unk10 = 0; + } + if (sSlotMachine->matchedSymbols & ((1 << SLOT_MACHINE_MATCHED_777_BLUE) | (1 << SLOT_MACHINE_MATCHED_777_RED))) + { + PlayFanfare(MUS_ME_B_BIG); + sub_8104CAC(6); + } + else if (sSlotMachine->matchedSymbols & (1 << SLOT_MACHINE_MATCHED_777_MIXED)) + { + PlayFanfare(MUS_ME_B_BIG); + sub_8104CAC(5); + } + else + { + PlayFanfare(MUS_ME_B_SMALL); + sub_8104CAC(2); + } + if (sSlotMachine->matchedSymbols & ((1 << SLOT_MACHINE_MATCHED_777_MIXED) | (1 << SLOT_MACHINE_MATCHED_777_BLUE) | (1 << SLOT_MACHINE_MATCHED_777_RED))) + { + sSlotMachine->unk04 &= 0x3f; + if (sSlotMachine->matchedSymbols & ((1 << SLOT_MACHINE_MATCHED_777_BLUE) | (1 << SLOT_MACHINE_MATCHED_777_RED))) + { + sSlotMachine->unk0A = 0; + sSlotMachine->unk0B = 0; + sSlotMachine->unk03 = 0; + if (sSlotMachine->matchedSymbols & (1 << SLOT_MACHINE_MATCHED_777_BLUE)) + sSlotMachine->unk03 = 1; + } + } + if (sSlotMachine->matchedSymbols & (1 << SLOT_MACHINE_MATCHED_POWER) && sSlotMachine->pikaPower < 16) + { + sSlotMachine->pikaPower++; + sub_8104064(sSlotMachine->pikaPower); + } + } + else + { + sub_8104CAC(3); + sSlotMachine->state = 20; + if ((sSlotMachine->unk10 += sSlotMachine->bet) > 9999) + sSlotMachine->unk10 = 9999; + } + return FALSE; +} + +bool8 sub_81021E0(struct Task *task) +{ + if (sub_8102A44()) + sSlotMachine->state = 16; + return FALSE; +} + +bool8 sub_81021FC(struct Task *task) +{ + if (sub_8103FA0()) + { + sSlotMachine->state = 19; + if (sSlotMachine->matchedSymbols & ((1 << SLOT_MACHINE_MATCHED_777_RED) | (1 << SLOT_MACHINE_MATCHED_777_BLUE))) + IncrementGameStat(GAME_STAT_SLOT_JACKPOTS); + if (sSlotMachine->matchedSymbols & (1 << SLOT_MACHINE_MATCHED_REPLAY)) + { + sSlotMachine->unk18 = 0; + sSlotMachine->state = 9; + } + if (sSlotMachine->matchedSymbols & (1 << SLOT_MACHINE_MATCHED_POWER)) + sSlotMachine->state = 17; + if (sSlotMachine->unk0A && sSlotMachine->matchedSymbols & (1 << SLOT_MACHINE_MATCHED_REPLAY)) + { + sub_8104CAC(4); + sSlotMachine->state = 18; + } + } + return FALSE; +} From 0e0d1030443ee5c1ffd281eaa89e0b4dccad6ae7 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Sat, 11 Aug 2018 18:47:56 +0200 Subject: [PATCH 070/234] port more of slot machine --- asm/slot_machine.s | 1304 +------------------------------------------ data/slot_machine.s | 90 +-- include/main_menu.h | 1 + src/slot_machine.c | 485 +++++++++++++++- sym_ewram.txt | 2 +- 5 files changed, 551 insertions(+), 1331 deletions(-) diff --git a/asm/slot_machine.s b/asm/slot_machine.s index 066663c424..21cf4a3508 100644 --- a/asm/slot_machine.s +++ b/asm/slot_machine.s @@ -7,1269 +7,9 @@ - thumb_func_start sub_812B094 -sub_812B094: @ 812B094 - push {r4,lr} - bl sub_812D20C - lsls r0, 24 - cmp r0, 0 - bne _0812B0CC - ldr r4, =sSlotMachine - ldr r1, [r4] - movs r0, 0x13 - strb r0, [r1] - ldr r2, [r4] - ldrh r1, [r2, 0x8] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _0812B0CC - movs r0, 0x9 - strb r0, [r2] - ldr r0, [r4] - ldrb r0, [r0, 0xA] - cmp r0, 0 - beq _0812B0CC - movs r0, 0x4 - bl sub_8104CAC - ldr r1, [r4] - movs r0, 0x12 - strb r0, [r1] -_0812B0CC: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_812B094 - thumb_func_start sub_812B0D8 -sub_812B0D8: @ 812B0D8 - push {lr} - bl sub_8104E18 - lsls r0, 24 - cmp r0, 0 - beq _0812B0FC - ldr r2, =sSlotMachine - ldr r1, [r2] - movs r0, 0x13 - strb r0, [r1] - ldr r2, [r2] - ldrh r1, [r2, 0x8] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _0812B0FC - movs r0, 0x9 - strb r0, [r2] -_0812B0FC: - movs r0, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_812B0D8 - - thumb_func_start sub_812B108 -sub_812B108: @ 812B108 - push {lr} - movs r0, 0 - bl sub_812CEB8 - movs r0, 0x1 - bl sub_812CEB8 - movs r0, 0x2 - bl sub_812CEB8 - ldr r0, =sSlotMachine - ldr r1, [r0] - movs r0, 0x2 - strb r0, [r1] - movs r0, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_812B108 - - thumb_func_start sub_812B130 -sub_812B130: @ 812B130 - push {lr} - adds r1, r0, 0 - ldrh r0, [r1, 0xA] - adds r0, 0x1 - strh r0, [r1, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x40 - ble _0812B14E - movs r0, 0 - strh r0, [r1, 0xA] - ldr r0, =sSlotMachine - ldr r1, [r0] - movs r0, 0x13 - strb r0, [r1] -_0812B14E: - movs r0, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_812B130 - - thumb_func_start sub_812B158 -sub_812B158: @ 812B158 - push {lr} - sub sp, 0xC - movs r0, 0 - movs r1, 0 - bl NewMenuHelpers_DrawDialogueFrame - ldr r2, =gText_QuitTheGame - movs r0, 0x1 - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - str r0, [sp, 0x8] - movs r1, 0x1 - movs r3, 0 - bl PrintTextOnWindow - movs r0, 0 - movs r1, 0x3 - bl CopyWindowToVram - movs r2, 0x85 - lsls r2, 2 - movs r3, 0xC0 - lsls r3, 1 - movs r0, 0xE - str r0, [sp] - movs r0, 0xF - str r0, [sp, 0x4] - movs r0, 0x15 - movs r1, 0x7 - bl sub_80323CC - ldr r0, =sSlotMachine - ldr r1, [r0] - movs r0, 0x16 - strb r0, [r1] - movs r0, 0 - add sp, 0xC - pop {r1} - bx r1 - .pool - thumb_func_end sub_812B158 - - thumb_func_start sub_812B1B0 -sub_812B1B0: @ 812B1B0 - push {lr} - bl ProcessMenuInputNoWrap_ - lsls r0, 24 - asrs r1, r0, 24 - cmp r1, 0 - bne _0812B1EC - movs r0, 0 - movs r1, 0x1 - bl sub_8197434 - movs r0, 0 - bl sub_812CEB8 - movs r0, 0x1 - bl sub_812CEB8 - movs r0, 0x2 - bl sub_812CEB8 - ldr r0, =sSlotMachine - ldr r1, [r0] - ldrh r0, [r1, 0x12] - ldrh r2, [r1, 0xC] - adds r0, r2 - strh r0, [r1, 0xC] - movs r0, 0x1B - b _0812B206 - .pool -_0812B1EC: - cmp r1, 0x1 - beq _0812B1F8 - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - bne _0812B208 -_0812B1F8: - movs r0, 0 - movs r1, 0x1 - bl sub_8197434 - ldr r0, =sSlotMachine - ldr r1, [r0] - movs r0, 0x5 -_0812B206: - strb r0, [r1] -_0812B208: - movs r0, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_812B1B0 - - thumb_func_start sub_812B214 -sub_812B214: @ 812B214 - push {lr} - sub sp, 0xC - movs r0, 0 - movs r1, 0 - bl NewMenuHelpers_DrawDialogueFrame - ldr r2, =gText_YouveGot9999Coins - movs r0, 0x1 - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - str r0, [sp, 0x8] - movs r1, 0x1 - movs r3, 0 - bl PrintTextOnWindow - movs r0, 0 - movs r1, 0x3 - bl CopyWindowToVram - ldr r0, =sSlotMachine - ldr r1, [r0] - movs r0, 0x18 - strb r0, [r1] - movs r0, 0 - add sp, 0xC - pop {r1} - bx r1 - .pool - thumb_func_end sub_812B214 - - thumb_func_start sub_812B254 -sub_812B254: @ 812B254 - push {lr} - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0 - beq _0812B272 - movs r0, 0 - movs r1, 0x1 - bl sub_8197434 - ldr r0, =sSlotMachine - ldr r1, [r0] - movs r0, 0x5 - strb r0, [r1] -_0812B272: - movs r0, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_812B254 - - thumb_func_start sub_812B280 -sub_812B280: @ 812B280 - push {lr} - sub sp, 0xC - movs r0, 0 - movs r1, 0 - bl NewMenuHelpers_DrawDialogueFrame - ldr r2, =gText_YouveRunOutOfCoins - movs r0, 0x1 - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - str r0, [sp, 0x8] - movs r1, 0x1 - movs r3, 0 - bl PrintTextOnWindow - movs r0, 0 - movs r1, 0x3 - bl CopyWindowToVram - ldr r0, =sSlotMachine - ldr r1, [r0] - movs r0, 0x1A - strb r0, [r1] - movs r0, 0 - add sp, 0xC - pop {r1} - bx r1 - .pool - thumb_func_end sub_812B280 - - thumb_func_start sub_812B2C0 -sub_812B2C0: @ 812B2C0 - push {lr} - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0 - beq _0812B2DE - movs r0, 0 - movs r1, 0x1 - bl sub_8197434 - ldr r0, =sSlotMachine - ldr r1, [r0] - movs r0, 0x1B - strb r0, [r1] -_0812B2DE: - movs r0, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_812B2C0 - - thumb_func_start sub_812B2EC -sub_812B2EC: @ 812B2EC - push {r4,lr} - sub sp, 0x4 - ldr r4, =sSlotMachine - ldr r0, [r4] - ldrh r0, [r0, 0xC] - bl SetCoins - bl GetCoins - lsls r0, 16 - lsrs r0, 16 - bl sub_80EDD78 - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r1, [r4] - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - movs r0, 0 - add sp, 0x4 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_812B2EC - - thumb_func_start sub_812B32C -sub_812B32C: @ 812B32C - push {r4-r6,lr} - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0 - beq _0812B340 - b _0812B470 -_0812B340: - ldr r6, =sSlotMachine - ldr r0, [r6] - ldr r0, [r0, 0x64] - bl SetMainCallback2 - ldr r4, =gUnknown_0203AAF4 - ldr r0, [r4] - bl Free - str r5, [r4] - ldr r4, =gUnknown_0203AAF8 - ldr r0, [r4] - bl Free - str r5, [r4] - ldr r4, =gUnknown_0203AAFC - ldr r0, [r4] - bl Free - str r5, [r4] - ldr r4, =gUnknown_0203AB00 - ldr r0, [r4] - bl Free - str r5, [r4] - ldr r4, =gUnknown_0203AB04 - ldr r0, [r4] - bl Free - str r5, [r4] - ldr r4, =gUnknown_0203AB08 - ldr r0, [r4] - bl Free - str r5, [r4] - ldr r4, =gUnknown_0203AB0C - ldr r0, [r4] - bl Free - str r5, [r4] - ldr r4, =gUnknown_0203AB10 - ldr r0, [r4] - bl Free - str r5, [r4] - ldr r4, =gUnknown_0203AB14 - ldr r0, [r4] - bl Free - str r5, [r4] - ldr r4, =gUnknown_0203AB18 - ldr r0, [r4] - bl Free - str r5, [r4] - ldr r4, =gUnknown_0203AB1C - ldr r0, [r4] - bl Free - str r5, [r4] - ldr r4, =gUnknown_0203AB20 - ldr r0, [r4] - bl Free - str r5, [r4] - ldr r4, =gUnknown_0203AB24 - ldr r0, [r4] - bl Free - str r5, [r4] - ldr r4, =gUnknown_0203AB28 - ldr r0, [r4] - bl Free - str r5, [r4] - ldr r4, =gUnknown_0203AAE4 - ldr r0, [r4] - cmp r0, 0 - beq _0812B3E4 - bl Free - str r5, [r4] -_0812B3E4: - ldr r4, =gUnknown_0203AAE8 - ldr r0, [r4] - cmp r0, 0 - beq _0812B3F2 - bl Free - str r5, [r4] -_0812B3F2: - ldr r4, =gUnknown_0203AAEC - ldr r0, [r4] - cmp r0, 0 - beq _0812B400 - bl Free - str r5, [r4] -_0812B400: - ldr r4, =gUnknown_0203AAF0 - ldr r0, [r4] - cmp r0, 0 - beq _0812B40E - bl Free - str r5, [r4] -_0812B40E: - ldr r4, =gUnknown_0203AAC8 - ldr r0, [r4] - bl Free - str r5, [r4] - ldr r4, =gUnknown_0203AACC - ldr r0, [r4] - bl Free - str r5, [r4] - ldr r4, =gUnknown_0203AAD0 - ldr r0, [r4] - bl Free - str r5, [r4] - ldr r4, =gUnknown_0203AAD4 - ldr r0, [r4] - bl Free - str r5, [r4] - ldr r4, =gUnknown_0203AAD8 - ldr r0, [r4] - bl Free - str r5, [r4] - ldr r4, =gUnknown_0203AADC - ldr r0, [r4] - bl Free - str r5, [r4] - ldr r4, =gUnknown_0203AAE0 - ldr r0, [r4] - bl Free - str r5, [r4] - ldr r4, =gUnknown_0203AB2C - ldr r0, [r4] - bl Free - str r5, [r4] - ldr r4, =gUnknown_0203AB30 - ldr r0, [r4] - bl Free - str r5, [r4] - ldr r0, [r6] - bl Free - str r5, [r6] -_0812B470: - movs r0, 0 - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_812B32C - - thumb_func_start sub_8102484 -sub_8102484: @ 812B4EC - push {r4,lr} - ldr r4, =sSlotMachine - ldr r1, [r4] - ldrb r0, [r1, 0xA] - cmp r0, 0 - bne _0812B54A - ldrb r1, [r1, 0x4] - movs r0, 0xC0 - ands r0, r1 - cmp r0, 0 - bne _0812B54A - bl sub_812B5B0 - lsls r0, 24 - cmp r0, 0 - beq _0812B52C - bl sub_812B5EC - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x3 - beq _0812B52C - ldr r2, [r4] - ldr r1, =gUnknown_085A77FE - lsls r0, r3, 1 - adds r0, r1 - ldrb r1, [r0] - ldrb r0, [r2, 0x4] - orrs r0, r1 - strb r0, [r2, 0x4] - cmp r3, 0x1 - bne _0812B54A -_0812B52C: - bl sub_812B634 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x5 - beq _0812B54A - ldr r0, =sSlotMachine - ldr r2, [r0] - ldr r1, =gUnknown_085A7804 - lsls r0, r3, 1 - adds r0, r1 - ldrb r1, [r0] - ldrb r0, [r2, 0x4] - orrs r0, r1 - strb r0, [r2, 0x4] -_0812B54A: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8102484 - - thumb_func_start sub_81024F0 -sub_81024F0: @ 812B55C - push {lr} - ldr r2, =sSlotMachine - ldr r1, [r2] - movs r0, 0 - strb r0, [r1, 0x6] - ldr r2, [r2] - ldrb r0, [r2, 0x4] - cmp r0, 0 - beq _0812B572 - movs r0, 0x1 - strb r0, [r2, 0x6] -_0812B572: - pop {r0} - bx r0 - .pool - thumb_func_end sub_81024F0 - - thumb_func_start sub_812B57C -sub_812B57C: @ 812B57C - push {r4,lr} - lsls r0, 24 - lsrs r1, r0, 24 - movs r2, 0 - movs r3, 0x1 - ldr r4, =gUnknown_085A77F6 -_0812B588: - adds r0, r1, 0 - ands r0, r3 - cmp r0, 0 - beq _0812B59C - adds r0, r2, r4 - ldrb r0, [r0] - b _0812B5AA - .pool -_0812B59C: - lsrs r1, 1 - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x7 - bls _0812B588 - movs r0, 0 -_0812B5AA: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_812B57C - - thumb_func_start sub_812B5B0 -sub_812B5B0: @ 812B5B0 - push {r4,lr} - bl Random - lsls r0, 24 - lsrs r0, 24 - ldr r4, =gUnknown_085A76C0 - ldr r1, =sSlotMachine - ldr r1, [r1] - movs r3, 0x12 - ldrsh r2, [r1, r3] - ldrb r3, [r1, 0x1] - lsls r1, r3, 1 - adds r1, r3 - subs r1, 0x1 - adds r2, r1 - adds r2, r4 - ldrb r1, [r2] - cmp r1, r0 - bhi _0812B5E4 - movs r0, 0 - b _0812B5E6 - .pool -_0812B5E4: - movs r0, 0x1 -_0812B5E6: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_812B5B0 - - thumb_func_start sub_812B5EC -sub_812B5EC: @ 812B5EC - push {r4-r6,lr} - movs r5, 0 - ldr r6, =gUnknown_085A76D2 -_0812B5F2: - bl Random - movs r2, 0xFF - ldr r1, =sSlotMachine - ldr r3, [r1] - lsls r1, r5, 16 - asrs r4, r1, 16 - lsls r1, r4, 1 - adds r1, r4 - lsls r1, 1 - ldrb r3, [r3, 0x1] - adds r1, r3 - adds r1, r6 - ldrb r1, [r1] - ands r2, r0 - cmp r1, r2 - bgt _0812B620 - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - asrs r0, 16 - cmp r0, 0x2 - ble _0812B5F2 -_0812B620: - lsls r0, r5, 24 - lsrs r0, 24 - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_812B5EC - - thumb_func_start sub_812B634 -sub_812B634: @ 812B634 - push {r4-r7,lr} - mov r7, r8 - push {r7} - movs r6, 0 - ldr r0, =gUnknown_085A76E4 - mov r8, r0 - movs r7, 0x80 - lsls r7, 17 -_0812B644: - bl Random - movs r5, 0xFF - ands r5, r0 - ldr r0, =sSlotMachine - ldr r4, [r0] - lsls r2, r6, 16 - asrs r1, r2, 16 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 1 - ldrb r3, [r4, 0x1] - adds r0, r3 - add r0, r8 - ldrb r3, [r0] - cmp r1, 0 - bne _0812B680 - ldrb r0, [r4, 0x3] - cmp r0, 0x1 - bne _0812B680 - adds r3, 0xA - asrs r0, r7, 16 - cmp r3, r0 - ble _0812B69E - adds r3, r0, 0 - b _0812B69E - .pool -_0812B680: - asrs r0, r2, 16 - cmp r0, 0x4 - bne _0812B69E - ldr r0, =sSlotMachine - ldr r0, [r0] - ldrb r0, [r0, 0x3] - cmp r0, 0x1 - bne _0812B69E - lsls r0, r3, 16 - ldr r1, =0xfff60000 - adds r0, r1 - lsrs r3, r0, 16 - cmp r0, 0 - bge _0812B69E - movs r3, 0 -_0812B69E: - lsls r0, r3, 16 - asrs r0, 16 - cmp r0, r5 - bgt _0812B6B4 - movs r3, 0x80 - lsls r3, 9 - adds r0, r2, r3 - lsrs r6, r0, 16 - asrs r0, 16 - cmp r0, 0x4 - ble _0812B644 -_0812B6B4: - lsls r0, r6, 24 - lsrs r0, 24 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_812B634 - - thumb_func_start sub_812B6CC -sub_812B6CC: @ 812B6CC - push {lr} - lsls r0, 24 - lsrs r3, r0, 24 - ldr r0, =sSlotMachine - ldr r2, [r0] - ldrb r0, [r2, 0x3] - cmp r0, 0 - beq _0812B6E8 - ldr r0, =gUnknown_085A7768 - b _0812B6EA - .pool -_0812B6E8: - ldr r0, =gUnknown_085A7702 -_0812B6EA: - lsls r1, r3, 4 - adds r1, r3 - ldrb r2, [r2, 0x2] - adds r1, r2 - adds r1, r0 - ldrb r0, [r1] - pop {r1} - bx r1 - .pool - thumb_func_end sub_812B6CC - - thumb_func_start sub_812B700 -sub_812B700: @ 812B700 - push {r4-r6,lr} - ldr r0, =sSlotMachine - ldr r1, [r0] - movs r0, 0 - strb r0, [r1, 0x5] - bl Random - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0 - bl sub_812B6CC - lsls r0, 24 - lsrs r0, 24 - cmp r4, r0 - bcc _0812B754 - movs r6, 0x5 - b _0812B72E - .pool -_0812B728: - subs r0, r5, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 -_0812B72E: - lsls r0, r6, 16 - asrs r5, r0, 16 - cmp r5, 0 - ble _0812B74E - bl Random - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r6, 24 - lsrs r0, 24 - bl sub_812B6CC - lsls r0, 24 - lsrs r0, 24 - cmp r4, r0 - bcs _0812B728 -_0812B74E: - ldr r0, =sSlotMachine - ldr r0, [r0] - strb r6, [r0, 0x5] -_0812B754: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812B700 - - thumb_func_start sub_812B760 -sub_812B760: @ 812B760 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - bl Random - movs r1, 0xFF - ands r1, r0 - ldr r0, =gUnknown_085A77CE - lsls r4, 1 - adds r4, r0 - ldrh r4, [r4] - cmp r1, r4 - bcc _0812B784 - movs r0, 0 - b _0812B786 - .pool -_0812B784: - movs r0, 0x1 -_0812B786: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_812B760 - - thumb_func_start dp15_jump_random_unknown -dp15_jump_random_unknown: @ 812B78C - push {r4,r5,lr} - movs r4, 0 - ldr r0, =sSlotMachine - ldr r0, [r0] - movs r2, 0x10 - ldrsh r1, [r0, r2] - ldr r0, =0x0000012b - cmp r1, r0 - ble _0812B7AC - movs r4, 0x4 - b _0812B7C2 - .pool -_0812B7AC: - cmp r1, 0xF9 - ble _0812B7B4 - movs r4, 0x3 - b _0812B7C2 -_0812B7B4: - cmp r1, 0xC7 - ble _0812B7BC - movs r4, 0x2 - b _0812B7C2 -_0812B7BC: - cmp r1, 0x95 - ble _0812B7C2 - movs r4, 0x1 -_0812B7C2: - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x64 - bl __umodsi3 - lsls r0, 24 - lsrs r1, r0, 24 - ldr r5, =gUnknown_085A77D8 - lsls r4, 2 - adds r0, r4, r5 - ldrb r0, [r0] - cmp r1, r0 - bcs _0812B7E8 - movs r0, 0x4 - b _0812B822 - .pool -_0812B7E8: - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x64 - bl __umodsi3 - lsls r0, 24 - adds r2, r5, 0x2 - adds r2, r4, r2 - ldr r3, =gUnknown_085A77EC - ldr r1, =sSlotMachine - ldr r1, [r1] - ldrb r1, [r1, 0xB] - lsls r1, 1 - adds r1, r3 - ldrb r1, [r1] - ldrb r2, [r2] - adds r1, r2 - lsls r1, 24 - cmp r0, r1 - bcc _0812B820 - movs r0, 0x8 - b _0812B822 - .pool -_0812B820: - movs r0, 0x2 -_0812B822: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end dp15_jump_random_unknown - - thumb_func_start CheckMatch -CheckMatch: @ 812B828 - push {r4,lr} - ldr r4, =sSlotMachine - ldr r1, [r4] - movs r0, 0 - strh r0, [r1, 0x8] - bl sub_812B85C - ldr r0, [r4] - movs r1, 0x12 - ldrsh r0, [r0, r1] - cmp r0, 0x1 - ble _0812B844 - bl sub_812B8D0 -_0812B844: - ldr r0, [r4] - movs r1, 0x12 - ldrsh r0, [r0, r1] - cmp r0, 0x2 - ble _0812B852 - bl sub_812B9A0 -_0812B852: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end CheckMatch - - thumb_func_start sub_812B85C -sub_812B85C: @ 812B85C - push {r4,r5,lr} - movs r0, 0 - movs r1, 0x2 - bl sub_812BC44 - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - movs r0, 0x1 - movs r1, 0x2 - bl sub_812BC44 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x2 - movs r1, 0x2 - bl sub_812BC44 - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_812BA6C - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x9 - beq _0812B8BC - ldr r0, =sSlotMachine - ldr r2, [r0] - ldr r0, =gUnknown_085A7828 - lsls r1, 1 - adds r0, r1, r0 - ldrh r0, [r0] - ldrh r3, [r2, 0xE] - adds r0, r3 - strh r0, [r2, 0xE] - ldr r0, =gUnknown_085A7816 - adds r1, r0 - ldrh r0, [r2, 0x8] - ldrh r1, [r1] - orrs r0, r1 - strh r0, [r2, 0x8] - movs r0, 0 - bl sub_812CF34 -_0812B8BC: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812B85C - - thumb_func_start sub_812B8D0 -sub_812B8D0: @ 812B8D0 - push {r4,r5,lr} - movs r0, 0 - movs r1, 0x1 - bl sub_812BC44 - lsls r0, 24 - lsrs r5, r0, 24 - movs r0, 0x1 - movs r1, 0x1 - bl sub_812BC44 - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0x2 - movs r1, 0x1 - bl sub_812BC44 - lsls r0, 24 - lsrs r2, r0, 24 - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_812BA6C - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x9 - beq _0812B930 - cmp r1, 0 - bne _0812B90C - movs r1, 0x1 -_0812B90C: - ldr r0, =sSlotMachine - ldr r2, [r0] - ldr r0, =gUnknown_085A7828 - lsls r1, 1 - adds r0, r1, r0 - ldrh r0, [r0] - ldrh r3, [r2, 0xE] - adds r0, r3 - strh r0, [r2, 0xE] - ldr r0, =gUnknown_085A7816 - adds r1, r0 - ldrh r0, [r2, 0x8] - ldrh r1, [r1] - orrs r0, r1 - strh r0, [r2, 0x8] - movs r0, 0x1 - bl sub_812CF34 -_0812B930: - movs r0, 0 - movs r1, 0x3 - bl sub_812BC44 - lsls r0, 24 - lsrs r5, r0, 24 - movs r0, 0x1 - movs r1, 0x3 - bl sub_812BC44 - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0x2 - movs r1, 0x3 - bl sub_812BC44 - lsls r0, 24 - lsrs r2, r0, 24 - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_812BA6C - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x9 - beq _0812B98E - cmp r1, 0 - bne _0812B96A - movs r1, 0x1 -_0812B96A: - ldr r0, =sSlotMachine - ldr r2, [r0] - ldr r0, =gUnknown_085A7828 - lsls r1, 1 - adds r0, r1, r0 - ldrh r0, [r0] - ldrh r3, [r2, 0xE] - adds r0, r3 - strh r0, [r2, 0xE] - ldr r0, =gUnknown_085A7816 - adds r1, r0 - ldrh r0, [r2, 0x8] - ldrh r1, [r1] - orrs r0, r1 - strh r0, [r2, 0x8] - movs r0, 0x2 - bl sub_812CF34 -_0812B98E: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812B8D0 - - thumb_func_start sub_812B9A0 -sub_812B9A0: @ 812B9A0 - push {r4,r5,lr} - movs r0, 0 - movs r1, 0x1 - bl sub_812BC44 - lsls r0, 24 - lsrs r5, r0, 24 - movs r0, 0x1 - movs r1, 0x2 - bl sub_812BC44 - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0x2 - movs r1, 0x3 - bl sub_812BC44 - lsls r0, 24 - lsrs r2, r0, 24 - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_812BA6C - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x9 - beq _0812B9FE - cmp r1, 0 - beq _0812B9F8 - ldr r0, =sSlotMachine - ldr r2, [r0] - ldr r0, =gUnknown_085A7828 - lsls r1, 1 - adds r0, r1, r0 - ldrh r0, [r0] - ldrh r3, [r2, 0xE] - adds r0, r3 - strh r0, [r2, 0xE] - ldr r0, =gUnknown_085A7816 - adds r1, r0 - ldrh r0, [r2, 0x8] - ldrh r1, [r1] - orrs r0, r1 - strh r0, [r2, 0x8] -_0812B9F8: - movs r0, 0x3 - bl sub_812CF34 -_0812B9FE: - movs r0, 0 - movs r1, 0x3 - bl sub_812BC44 - lsls r0, 24 - lsrs r5, r0, 24 - movs r0, 0x1 - movs r1, 0x2 - bl sub_812BC44 - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0x2 - movs r1, 0x1 - bl sub_812BC44 - lsls r0, 24 - lsrs r2, r0, 24 - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_812BA6C - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x9 - beq _0812BA5A - cmp r1, 0 - beq _0812BA54 - ldr r0, =sSlotMachine - ldr r2, [r0] - ldr r0, =gUnknown_085A7828 - lsls r1, 1 - adds r0, r1, r0 - ldrh r0, [r0] - ldrh r3, [r2, 0xE] - adds r0, r3 - strh r0, [r2, 0xE] - ldr r0, =gUnknown_085A7816 - adds r1, r0 - ldrh r0, [r2, 0x8] - ldrh r1, [r1] - orrs r0, r1 - strh r0, [r2, 0x8] -_0812BA54: - movs r0, 0x4 - bl sub_812CF34 -_0812BA5A: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812B9A0 - - thumb_func_start sub_812BA6C -sub_812BA6C: @ 812BA6C - push {lr} - lsls r0, 24 - lsrs r3, r0, 24 - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r2, 24 - cmp r3, r1 - bne _0812BA90 - cmp r3, r2 - bne _0812BA90 - ldr r0, =gUnknown_085A780E - adds r0, r3, r0 - ldrb r0, [r0] - b _0812BAB6 - .pool -_0812BA90: - cmp r3, 0 - bne _0812BA9C - cmp r1, 0 - bne _0812BA9C - cmp r2, 0x1 - beq _0812BAA8 -_0812BA9C: - cmp r3, 0x1 - bne _0812BAAC - cmp r1, 0x1 - bne _0812BAAC - cmp r2, 0 - bne _0812BAAC -_0812BAA8: - movs r0, 0x6 - b _0812BAB6 -_0812BAAC: - cmp r3, 0x4 - beq _0812BAB4 - movs r0, 0x9 - b _0812BAB6 -_0812BAB4: - movs r0, 0 -_0812BAB6: - pop {r1} - bx r1 - thumb_func_end sub_812BA6C - - thumb_func_start sub_8102A24 -sub_8102A24: @ 812BABC - push {r4,lr} - ldr r4, =sub_812BAFC - adds r0, r4, 0 - movs r1, 0x4 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - bl _call_via_r4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8102A24 - - thumb_func_start sub_8102A44 -sub_8102A44: @ 812BADC - push {lr} - ldr r0, =sub_812BAFC - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFF - beq _0812BAF4 - movs r0, 0 - b _0812BAF6 - .pool -_0812BAF4: - movs r0, 0x1 -_0812BAF6: - pop {r1} - bx r1 - thumb_func_end sub_8102A44 - - thumb_func_start sub_812BAFC -sub_812BAFC: @ 812BAFC + thumb_func_start sub_8102A64 +sub_8102A64: @ 812BAFC push {r4,r5,lr} lsls r0, 24 lsrs r0, 24 @@ -1294,7 +34,7 @@ _0812BB0E: pop {r0} bx r0 .pool - thumb_func_end sub_812BAFC + thumb_func_end sub_8102A64 thumb_func_start sub_812BB34 sub_812BB34: @ 812BB34 @@ -1424,7 +164,7 @@ sub_812BC20: @ 812BC20 lsls r0, 24 cmp r0, 0 beq _0812BC3A - ldr r0, =sub_812BAFC + ldr r0, =sub_8102A64 bl FindTaskIdByFunc lsls r0, 24 lsrs r0, 24 @@ -1436,8 +176,8 @@ _0812BC3A: .pool thumb_func_end sub_812BC20 - thumb_func_start sub_812BC44 -sub_812BC44: @ 812BC44 + thumb_func_start GetTagOfReelSymbolOnScreenAtPos +GetTagOfReelSymbolOnScreenAtPos: @ 812BC44 push {r4,lr} lsls r0, 24 lsrs r0, 24 @@ -1477,7 +217,7 @@ _0812BC76: pop {r1} bx r1 .pool - thumb_func_end sub_812BC44 + thumb_func_end GetTagOfReelSymbolOnScreenAtPos thumb_func_start sub_812BC98 sub_812BC98: @ 812BC98 @@ -1510,7 +250,7 @@ _0812BCC2: lsls r1, 16 asrs r1, 16 adds r0, r4, 0 - bl sub_812BC44 + bl GetTagOfReelSymbolOnScreenAtPos lsls r0, 24 lsrs r0, 24 pop {r4-r6} @@ -2086,7 +826,7 @@ sub_812C138: @ 812C138 ldr r4, =sSlotMachine ldr r0, [r4] ldrb r0, [r0, 0x4] - bl sub_812B57C + bl sub_810250C lsls r0, 24 lsrs r3, r0, 24 adds r5, r3, 0 @@ -3896,8 +2636,8 @@ _0812CEA8: .pool thumb_func_end sub_8103D50 - thumb_func_start sub_812CEB8 -sub_812CEB8: @ 812CEB8 + thumb_func_start sub_8103D8C +sub_8103D8C: @ 812CEB8 push {r4-r7,lr} lsls r0, 24 lsrs r1, r0, 24 @@ -3925,7 +2665,7 @@ _0812CEE4: pop {r0} bx r0 .pool - thumb_func_end sub_812CEB8 + thumb_func_end sub_8103D8C thumb_func_start sub_8103DC8 sub_8103DC8: @ 812CEF4 @@ -3958,8 +2698,8 @@ _0812CEFA: .pool thumb_func_end sub_8103DC8 - thumb_func_start sub_812CF34 -sub_812CF34: @ 812CF34 + thumb_func_start sub_8103E04 +sub_8103E04: @ 812CF34 lsls r0, 24 lsrs r0, 24 ldr r1, =sSlotMachine @@ -3984,7 +2724,7 @@ sub_812CF34: @ 812CF34 strh r2, [r0, 0x3C] bx lr .pool - thumb_func_end sub_812CF34 + thumb_func_end sub_8103E04 thumb_func_start sub_812CF6C sub_812CF6C: @ 812CF6C @@ -4337,8 +3077,8 @@ sub_812D1DC: @ 812D1DC .pool thumb_func_end sub_812D1DC - thumb_func_start sub_812D20C -sub_812D20C: @ 812D20C + thumb_func_start sub_81040C8 +sub_81040C8: @ 812D20C ldr r2, =gTasks ldr r0, =sSlotMachine ldr r0, [r0] @@ -4353,7 +3093,7 @@ sub_812D20C: @ 812D20C lsrs r0, 24 bx lr .pool - thumb_func_end sub_812D20C + thumb_func_end sub_81040C8 thumb_func_start sub_812D230 sub_812D230: @ 812D230 @@ -4780,7 +3520,7 @@ sub_812D51C: @ 812D51C bl sub_812E650 bl sub_812E70C bl sub_812E7CC - bl sub_812B700 + bl sub_8102680 bl StopMapMusic movs r0, 0xC4 lsls r0, 1 @@ -5066,7 +3806,7 @@ _0812D7B8: b _0812D7D4 _0812D7C6: ldrh r0, [r4, 0x14] - bl sub_812B760 + bl sub_81026DC lsls r0, 24 cmp r0, 0 beq _0812D7D6 @@ -5246,7 +3986,7 @@ sub_812D920: @ 812D920 cmp r0, 0 bne _0812D948 _0812D938: - bl sub_812D20C + bl sub_81040C8 lsls r0, 24 cmp r0, 0 bne _0812D948 @@ -6306,7 +5046,7 @@ sub_812E154: @ 812E154 lsls r1, 16 asrs r1, 16 adds r0, r4, 0 - bl sub_812BC44 + bl GetTagOfReelSymbolOnScreenAtPos lsls r0, 24 lsrs r0, 24 bl GetSpriteTileStartByTag diff --git a/data/slot_machine.s b/data/slot_machine.s index b704cdb7a2..0896d6348a 100644 --- a/data/slot_machine.s +++ b/data/slot_machine.s @@ -20,36 +20,36 @@ gUnknown_085A7444:: @ 85A7444 gUnknown_085A744C:: @ 85A744C .byte 3, 1, 2, 0 -gUnknown_085A7450:: @ 85A7450 - .4byte sub_812AB04 - .4byte sub_812AB38 - .4byte sub_812AB60 - .4byte sub_812ABA8 - .4byte sub_812ABC8 - .4byte sub_812ABF8 - .4byte sub_812ACF4 - .4byte sub_812AD34 - .4byte sub_812AD60 - .4byte sub_812AD80 - .4byte sub_812ADF4 - .4byte sub_812AE24 - .4byte sub_812AE4C - .4byte sub_812AE88 - .4byte sub_812AEC4 - .4byte sub_812AFFC - .4byte sub_812B01C - .4byte sub_812B094 - .4byte sub_812B0D8 - .4byte sub_812B108 - .4byte sub_812B130 - .4byte sub_812B158 - .4byte sub_812B1B0 - .4byte sub_812B214 - .4byte sub_812B254 - .4byte sub_812B280 - .4byte sub_812B2C0 - .4byte sub_812B2EC - .4byte sub_812B32C +gUnknown_083ECAAC:: @ 85A7450 + .4byte sub_8101D5C + .4byte sub_8101D8C + .4byte sub_8101DB0 + .4byte sub_8101DF4 + .4byte sub_8101E10 + .4byte sub_8101E3C + .4byte sub_8101F44 + .4byte sub_8101F60 + .4byte sub_8101F88 + .4byte sub_8101FA4 + .4byte sub_8102008 + .4byte sub_8102034 + .4byte sub_8102058 + .4byte sub_8102090 + .4byte sub_81020C8 + .4byte sub_81021E0 + .4byte sub_81021FC + .4byte sub_8102264 + .4byte sub_81022A0 + .4byte sub_81022CC + .4byte sub_81022F0 + .4byte sub_8102318 + .4byte sub_8102344 + .4byte sub_810239C + .4byte sub_81023B8 + .4byte sub_81023E0_ + .4byte sub_81023FC + .4byte sub_8102424 + .4byte sub_8102460 gUnknown_085A74C4:: @ 85A74C4 .4byte sub_812BB34 @@ -203,10 +203,10 @@ gUnknown_085A766E:: @ 85A766E gUnknown_085A76AD:: @ 85A76AD .byte 1, 0, 5, 4, 3, 2, 0 -gUnknown_085A76B4:: @ 85A76B4 +gUnknown_083ECCF8:: @ 85A76B4 .2byte 0, 6, 0, 10, 0, 2 -gUnknown_085A76C0:: @ 85A76C0 +gUnknown_083ECD04:: @ 85A76C0 .byte 1, 1, 12 .byte 1, 1, 14 .byte 2, 2, 14 @@ -214,19 +214,19 @@ gUnknown_085A76C0:: @ 85A76C0 .byte 2, 3, 16 .byte 3, 3, 16 -gUnknown_085A76D2:: @ 85A76D2 +gUnknown_083ECD16:: @ 85A76D2 .byte 0x19, 0x19, 0x1E, 0x28, 0x28, 0x32 .byte 0x19, 0x19, 0x1E, 0x1E, 0x23, 0x23 .byte 0x19, 0x19, 0x1E, 0x19, 0x19, 0x1E -gUnknown_085A76E4:: @ 85A76E4 +gUnknown_083ECD28:: @ 85A76E4 .byte 0x14, 0x19, 0x19, 0x14, 0x19, 0x19 .byte 0xC, 0xF, 0xF, 0x12, 0x13, 0x16 .byte 0x19, 0x19, 0x19, 0x1E, 0x1E, 0x28 .byte 0x19, 0x19, 0x14, 0x14, 0xF, 0xF .byte 0x28, 0x28, 0x23, 0x23, 0x28, 0x28 -gUnknown_085A7702:: @ 85A7702 +gUnknown_083ECD46:: @ 85A7702 .byte 0xF3, 0xF3, 0xF3, 0x50, 0x50, 0x50, 0x50, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x5, 0x5, 0x5, 0x5 .byte 0x5, 0x5, 0x5, 0x96, 0x96, 0x96, 0x96, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x64, 0x64, 0x64, 0x5 .byte 0x4, 0x4, 0x4, 0x14, 0x14, 0x14, 0x14, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x64, 0x64, 0x64, 0x28 @@ -234,7 +234,7 @@ gUnknown_085A7702:: @ 85A7702 .byte 0x1, 0x1, 0x1, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x5, 0x5, 0x5, 0x64 .byte 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x6 -gUnknown_085A7768:: @ 85A7768 +gUnknown_083ECDAC:: @ 85A7768 .byte 0xF3, 0xF3, 0xF3, 0xC8, 0xC8, 0xC8, 0xC8, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0x46, 0x46, 0x46, 0x05 .byte 0x05, 0x05, 0x05, 0x19, 0x19, 0x19, 0x19, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x02, 0x02, 0x02, 0x06 .byte 0x04, 0x04, 0x04, 0x19, 0x19, 0x19, 0x19, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x28, 0x28, 0x28, 0x23 @@ -242,45 +242,45 @@ gUnknown_085A7768:: @ 85A7768 .byte 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x02, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x28, 0x28, 0x28, 0x64 .byte 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x04, 0x04, 0x04, 0x3C -gUnknown_085A77CE:: @ 85A77CE +gUnknown_083ECE12:: @ 85A77CE .2byte 0x80, 0xAF, 0xC8, 0xE1, 0x100 -gUnknown_085A77D8:: @ 85A77D8 +gUnknown_083ECE1C:: @ 85A77D8 .byte 10, 0, 5, 0 .byte 10, 0, 10, 0 .byte 10, 0, 15, 0 .byte 10, 0, 25, 0 .byte 10, 0, 35, 0 -gUnknown_085A77EC:: @ 85A77EC +gUnknown_083ECE30:: @ 85A77EC .byte 0, 0 .byte 5, 0 .byte 10, 0 .byte 15, 0 .byte 20, 0 -gUnknown_085A77F6:: @ 85A77F6 +gUnknown_083ECE3A:: @ 85A77F6 .byte 6, 4, 3, 2, 5, 0, 0, 0 -gUnknown_085A77FE:: @ 85A77FE +gUnknown_083ECE42:: @ 85A77FE .byte 0x80, 0 .byte 0x20, 0 .byte 0x40, 0 -gUnknown_085A7804:: @ 85A7804 +gUnknown_083ECE48:: @ 85A7804 .byte 16, 0 .byte 8, 0 .byte 4, 0 .byte 2, 0 .byte 1, 0 -gUnknown_085A780E:: @ 85A780E +sSym2Match:: @ 85A780E .byte 7, 8, 4, 3, 0, 5, 2, 0 -gUnknown_085A7816:: @ 85A7816 +sSlotMatchFlags:: @ 85A7816 .2byte 1, 2, 4, 8, 16, 32, 64, 128, 256 -gUnknown_085A7828:: @ 85A7828 +sSlotPayouts:: @ 85A7828 .2byte 2, 4, 0, 6, 12, 3, 0x5A, 0x12C, 0x12C gUnknown_085A783A:: @ 85A783A diff --git a/include/main_menu.h b/include/main_menu.h index 08cd913dcb..4f75b17679 100644 --- a/include/main_menu.h +++ b/include/main_menu.h @@ -2,5 +2,6 @@ #define GUARD_MAIN_MENU_H void CB2_InitMainMenu(void); +void sub_80323CC(u8 a, u8 b, u16 c, u16 d, u8 e, u8 f); #endif // GUARD_MAIN_MENU_H diff --git a/src/slot_machine.c b/src/slot_machine.c index 02e842ce92..fd4726879a 100644 --- a/src/slot_machine.c +++ b/src/slot_machine.c @@ -21,7 +21,7 @@ #include "tv.h" #include "text_window.h" #include "constants/rgb.h" -#include "menu.h" +#include "main_menu.h" enum { @@ -155,13 +155,13 @@ bool8 sub_81020C8(struct Task *task); /*static*/bool8 sub_8102344(struct Task *task); /*static*/bool8 sub_810239C(struct Task *task); /*static*/bool8 sub_81023B8(struct Task *task); -/*static*/bool8 sub_81023E0(struct Task *task); +/*static*/bool8 sub_81023E0_(struct Task *task); /*static*/bool8 sub_81023FC(struct Task *task); /*static*/bool8 sub_8102424(struct Task *task); /*static*/bool8 sub_8102460(struct Task *task); /*static*/void sub_8102484(void); /*static*/void sub_81024F0(void); -/*static*/bool8 sub_8102540(void); +/*static*/bool8 sub_8102540_(void); /*static*/u8 sub_8102578(void); /*static*/u16 dp15_jump_random_unknown(void); /*static*/u8 sub_81025BC(void); @@ -539,9 +539,33 @@ void SlotMachineSetup_3_0(void) ResetTasks(); } +extern u16 *gUnknown_0203AAC8; extern u16 *gUnknown_0203AACC; extern u16 *gUnknown_0203AAD0; extern u16 *gUnknown_0203AADC; +extern void *gUnknown_0203AAF4; +extern void *gUnknown_0203AAF8; +extern void *gUnknown_0203AAFC; +extern void *gUnknown_0203AB00; +extern void *gUnknown_0203AB04; +extern void *gUnknown_0203AB08; +extern void *gUnknown_0203AB0C; +extern void *gUnknown_0203AB10; +extern void *gUnknown_0203AB14; +extern void *gUnknown_0203AB18; +extern void *gUnknown_0203AB1C; +extern void *gUnknown_0203AB20; +extern void *gUnknown_0203AB24; +extern void *gUnknown_0203AB28; +extern void *gUnknown_0203AAE4; +extern void *gUnknown_0203AAE8; +extern void *gUnknown_0203AAEC; +extern void *gUnknown_0203AAF0; +extern void *gUnknown_0203AAD4; +extern void *gUnknown_0203AAD8; +extern void *gUnknown_0203AAE0; +extern void *gUnknown_0203AB2C; +extern void *gUnknown_0203AB30; void SlotMachineSetup_4_0(void) { @@ -694,6 +718,9 @@ bool8 sub_8101E3C(struct Task *task) } extern const u8 gText_YouDontHaveThreeCoins[]; +extern const u8 gText_QuitTheGame[]; +extern const u8 gText_YouveGot9999Coins[]; +extern const u8 gText_YouveRunOutOfCoins[]; bool8 sub_8101F44(struct Task *task) { @@ -885,3 +912,455 @@ bool8 sub_81021FC(struct Task *task) } return FALSE; } + +bool8 sub_8102264(struct Task *task) +{ + if (!sub_81040C8()) + { + sSlotMachine->state = 19; + if (sSlotMachine->matchedSymbols & (1 << SLOT_MACHINE_MATCHED_REPLAY)) + { + sSlotMachine->state = 9; + if (sSlotMachine->unk0A) + { + sub_8104CAC(4); + sSlotMachine->state = 18; + } + } + } + return FALSE; +} + +bool8 sub_81022A0(struct Task *task) +{ + if (sub_8104E18()) + { + sSlotMachine->state = 19; + if (sSlotMachine->matchedSymbols & (1 << SLOT_MACHINE_MATCHED_REPLAY)) + { + sSlotMachine->state = 9; + } + } + return FALSE; +} + +bool8 sub_81022CC(struct Task *task) +{ + sub_8103D8C(0); + sub_8103D8C(1); + sub_8103D8C(2); + sSlotMachine->state = 2; + return FALSE; +} + +bool8 sub_81022F0(struct Task *task) +{ + if (++task->data[1] > 64) + { + task->data[1] = 0; + sSlotMachine->state = 19; + } + return FALSE; +} + +bool8 sub_8102318(struct Task *task) +{ + NewMenuHelpers_DrawDialogueFrame(0, 0); + PrintTextOnWindow(0, 1, gText_QuitTheGame, 0, 1, 0, 0); + CopyWindowToVram(0, 3); + sub_80323CC(0x15, 7, 0x214, 0x180, 0xE, 0xF); + sSlotMachine->state = 22; + return FALSE; +} + +bool8 sub_8102344(struct Task *task) +{ + s8 input = ProcessMenuInputNoWrap_(); + if (input == 0) + { + sub_8197434(0, TRUE); + sub_8103D8C(0); + sub_8103D8C(1); + sub_8103D8C(2); + sSlotMachine->coins += sSlotMachine->bet; + sSlotMachine->state = 27; + } + else if (input == 1 || input == -1) + { + sub_8197434(0, TRUE); + sSlotMachine->state = 5; + } + return FALSE; +} + +bool8 sub_810239C(struct Task *task) +{ + NewMenuHelpers_DrawDialogueFrame(0, 0); + PrintTextOnWindow(0, 1, gText_YouveGot9999Coins, 0, 1, 0, 0); + CopyWindowToVram(0, 3); + sSlotMachine->state = 24; + return FALSE; +} + +bool8 sub_81023B8(struct Task *task) +{ + if (gMain.newKeys & (A_BUTTON | B_BUTTON)) + { + sub_8197434(0, TRUE); + sSlotMachine->state = 5; + } + return FALSE; +} + +bool8 sub_81023E0_(struct Task *task) +{ + NewMenuHelpers_DrawDialogueFrame(0, 0); + PrintTextOnWindow(0, 1, gText_YouveRunOutOfCoins, 0, 1, 0, 0); + CopyWindowToVram(0, 3); + sSlotMachine->state = 26; + return FALSE; +} + +bool8 sub_81023FC(struct Task *task) +{ + if (gMain.newKeys & (A_BUTTON | B_BUTTON)) + { + sub_8197434(0, TRUE); + sSlotMachine->state = 27; + } + return FALSE; +} + +bool8 sub_8102424(struct Task *task) +{ + SetCoins(sSlotMachine->coins); + sub_80EDD78(GetCoins()); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); + sSlotMachine->state++; + return FALSE; +} + +bool8 sub_8102460(struct Task *task) +{ + if (!gPaletteFade.active) + { + SetMainCallback2(sSlotMachine->prevMainCb); + FREE_AND_SET_NULL(gUnknown_0203AAF4); + FREE_AND_SET_NULL(gUnknown_0203AAF8); + FREE_AND_SET_NULL(gUnknown_0203AAFC); + FREE_AND_SET_NULL(gUnknown_0203AB00); + FREE_AND_SET_NULL(gUnknown_0203AB04); + FREE_AND_SET_NULL(gUnknown_0203AB08); + FREE_AND_SET_NULL(gUnknown_0203AB0C); + FREE_AND_SET_NULL(gUnknown_0203AB10); + FREE_AND_SET_NULL(gUnknown_0203AB14); + FREE_AND_SET_NULL(gUnknown_0203AB18); + FREE_AND_SET_NULL(gUnknown_0203AB1C); + FREE_AND_SET_NULL(gUnknown_0203AB20); + FREE_AND_SET_NULL(gUnknown_0203AB24); + FREE_AND_SET_NULL(gUnknown_0203AB28); + if (gUnknown_0203AAE4 != NULL) + FREE_AND_SET_NULL(gUnknown_0203AAE4); + if (gUnknown_0203AAE8 != NULL) + FREE_AND_SET_NULL(gUnknown_0203AAE8); + if (gUnknown_0203AAEC != NULL) + FREE_AND_SET_NULL(gUnknown_0203AAEC); + if (gUnknown_0203AAF0 != NULL) + FREE_AND_SET_NULL(gUnknown_0203AAF0); + FREE_AND_SET_NULL(gUnknown_0203AAC8); + FREE_AND_SET_NULL(gUnknown_0203AACC); + FREE_AND_SET_NULL(gUnknown_0203AAD0); + FREE_AND_SET_NULL(gUnknown_0203AAD4); + FREE_AND_SET_NULL(gUnknown_0203AAD8); + FREE_AND_SET_NULL(gUnknown_0203AADC); + FREE_AND_SET_NULL(gUnknown_0203AAE0); + FREE_AND_SET_NULL(gUnknown_0203AB2C); + FREE_AND_SET_NULL(gUnknown_0203AB30); + + FREE_AND_SET_NULL(sSlotMachine); + } + return FALSE; +} + +void sub_8102484(void) +{ + u8 r3; + + if (sSlotMachine->unk0A == 0) + { + if (!(sSlotMachine->unk04 & 0xc0)) + { + if (sub_8102540_()) + { + r3 = sub_8102578(); + if (r3 != 3) + { + sSlotMachine->unk04 |= gUnknown_083ECE42[r3]; + if (r3 != 1) + { + return; + } + } + } + r3 = sub_81025BC(); + if (r3 != 5) + { + sSlotMachine->unk04 |= gUnknown_083ECE48[r3]; + } + } + } +} + +void sub_81024F0(void) +{ + sSlotMachine->unk06 = 0; + if (sSlotMachine->unk04) + sSlotMachine->unk06 = 1; +} + +u8 sub_810250C(u8 a0) +{ + u8 i; + + for (i = 0; i < 8; i++) + { + if (a0 & 1) + return gUnknown_083ECE3A[i]; + a0 >>= 1; + } + return 0; +} + +bool8 sub_8102540_(void) +{ + u8 rval = Random(); + if (gUnknown_083ECD04[sSlotMachine->unk01][sSlotMachine->bet - 1] > rval) + return TRUE; + return FALSE; +} + +extern const u8 gUnknown_083ECD16[][6]; +extern const u8 gUnknown_083ECD28[][6]; +extern const u8 gUnknown_083ECD46[][17]; +extern const u8 gUnknown_083ECDAC[][17]; + +u8 sub_8102578(void) +{ + s16 i; + + for (i = 0; i < 3; i++) + { + s16 rval = Random() & 0xff; + s16 value = gUnknown_083ECD16[i][sSlotMachine->unk01]; + if (value > rval) + break; + } + return i; +} + +u8 sub_81025BC(void) +{ + s16 i; + + for (i = 0; i < 5; i++) + { + s16 rval = Random() & 0xff; + s16 r3 = gUnknown_083ECD28[i][sSlotMachine->unk01]; + if (i == 0 && sSlotMachine->unk03 == 1) + { + r3 += 10; + if (r3 > 0x100) + r3 = 0x100; + } + else if (i == 4 && sSlotMachine->unk03 == 1) + { + r3 -= 10; + if (r3 < 0) + r3 = 0; + } + if (r3 > rval) + break; + } + return i; +} + +u8 sub_810264C(u8 a0) +{ + if (sSlotMachine->unk03 == 0) + return gUnknown_083ECD46[a0][sSlotMachine->pikaPower]; + else + return gUnknown_083ECDAC[a0][sSlotMachine->pikaPower]; +} + +void sub_8102680(void) +{ + u8 rval; + s16 i; + + sSlotMachine->unk05 = 0; + rval = Random(); + if (rval < sub_810264C(0)) + return; + for (i = 5; i > 0; i--) + { + rval = Random(); + if (rval < sub_810264C(i)) + break; + } + sSlotMachine->unk05 = i; +} + +extern const u16 gUnknown_083ECE12[]; +extern const u16 gUnknown_083ECE1C[][2]; +extern const u16 gUnknown_083ECE30[]; +extern const u16 sSlotMatchFlags[]; +extern const u16 sSlotPayouts[]; + +bool8 sub_81026DC(u16 a0) +{ + u16 rval = Random() & 0xff; + if (rval < gUnknown_083ECE12[a0]) + return TRUE; + else + return FALSE; +} + +u16 dp15_jump_random_unknown(void) +{ + u8 r4 = 0; + u8 rval; + u8 value; + if (sSlotMachine->unk10 >= 300) + r4 = 4; + else if (sSlotMachine->unk10 >= 250) + r4 = 3; + else if (sSlotMachine->unk10 >= 200) + r4 = 2; + else if (sSlotMachine->unk10 >= 150) + r4 = 1; + rval = Random() % 100; + value = gUnknown_083ECE1C[r4][0]; + if (rval < value) + return 4; + rval = Random() % 100; + value = gUnknown_083ECE1C[r4][1] + gUnknown_083ECE30[sSlotMachine->unk0B]; + if (rval < value) + return 2; + return 8; +} + +void CheckMatch(void) +{ + sSlotMachine->matchedSymbols = 0; + CheckMatch_CenterRow(); + if (sSlotMachine->bet > 1) + CheckMatch_TopAndBottom(); + if (sSlotMachine->bet > 2) + CheckMatch_Diagonals(); +} + +void CheckMatch_CenterRow(void) +{ + u8 c1, c2, c3, match; + + c1 = GetTagOfReelSymbolOnScreenAtPos(0, 2); + c2 = GetTagOfReelSymbolOnScreenAtPos(1, 2); + c3 = GetTagOfReelSymbolOnScreenAtPos(2, 2); + match = GetMatchFromSymbolsInRow(c1, c2, c3); + if (match != SLOT_MACHINE_MATCHED_NONE) + { + sSlotMachine->payout += sSlotPayouts[match]; + sSlotMachine->matchedSymbols |= sSlotMatchFlags[match]; + sub_8103E04(0); + } +} + +void CheckMatch_TopAndBottom(void) +{ + u8 c1, c2, c3, match; + + c1 = GetTagOfReelSymbolOnScreenAtPos(0, 1); + c2 = GetTagOfReelSymbolOnScreenAtPos(1, 1); + c3 = GetTagOfReelSymbolOnScreenAtPos(2, 1); + match = GetMatchFromSymbolsInRow(c1, c2, c3); + if (match != SLOT_MACHINE_MATCHED_NONE) + { + if (match == SLOT_MACHINE_MATCHED_1CHERRY) + match = SLOT_MACHINE_MATCHED_2CHERRY; + sSlotMachine->payout += sSlotPayouts[match]; + sSlotMachine->matchedSymbols |= sSlotMatchFlags[match]; + sub_8103E04(1); + } + c1 = GetTagOfReelSymbolOnScreenAtPos(0, 3); + c2 = GetTagOfReelSymbolOnScreenAtPos(1, 3); + c3 = GetTagOfReelSymbolOnScreenAtPos(2, 3); + match = GetMatchFromSymbolsInRow(c1, c2, c3); + if (match != SLOT_MACHINE_MATCHED_NONE) + { + if (match == SLOT_MACHINE_MATCHED_1CHERRY) + match = SLOT_MACHINE_MATCHED_2CHERRY; + sSlotMachine->payout += sSlotPayouts[match]; + sSlotMachine->matchedSymbols |= sSlotMatchFlags[match]; + sub_8103E04(2); + } +} + +void CheckMatch_Diagonals(void) +{ + u8 c1, c2, c3, match; + + c1 = GetTagOfReelSymbolOnScreenAtPos(0, 1); + c2 = GetTagOfReelSymbolOnScreenAtPos(1, 2); + c3 = GetTagOfReelSymbolOnScreenAtPos(2, 3); + match = GetMatchFromSymbolsInRow(c1, c2, c3); + if (match != SLOT_MACHINE_MATCHED_NONE) + { + if (match != SLOT_MACHINE_MATCHED_1CHERRY) + { + sSlotMachine->payout += sSlotPayouts[match]; + sSlotMachine->matchedSymbols |= sSlotMatchFlags[match]; + } + sub_8103E04(3); + } + c1 = GetTagOfReelSymbolOnScreenAtPos(0, 3); + c2 = GetTagOfReelSymbolOnScreenAtPos(1, 2); + c3 = GetTagOfReelSymbolOnScreenAtPos(2, 1); + match = GetMatchFromSymbolsInRow(c1, c2, c3); + if (match != SLOT_MACHINE_MATCHED_NONE) + { + if (match != SLOT_MACHINE_MATCHED_1CHERRY) + { + sSlotMachine->payout += sSlotPayouts[match]; + sSlotMachine->matchedSymbols |= sSlotMatchFlags[match]; + } + sub_8103E04(4); + } +} + +extern const u8 sSym2Match[]; + +u8 GetMatchFromSymbolsInRow(u8 c1, u8 c2, u8 c3) +{ + if (c1 == c2 && c1 == c3) + return sSym2Match[c1]; + if (c1 == SLOT_MACHINE_TAG_7_RED && c2 == SLOT_MACHINE_TAG_7_RED && c3 == SLOT_MACHINE_TAG_7_BLUE) + return SLOT_MACHINE_MATCHED_777_MIXED; + if (c1 == SLOT_MACHINE_TAG_7_BLUE && c2 == SLOT_MACHINE_TAG_7_BLUE && c3 == SLOT_MACHINE_TAG_7_RED) + return SLOT_MACHINE_MATCHED_777_MIXED; + if (c1 == SLOT_MACHINE_TAG_CHERRY) + return SLOT_MACHINE_MATCHED_1CHERRY; + return SLOT_MACHINE_MATCHED_NONE; +} + +void sub_8102A24(void) +{ + sub_8102A64(CreateTask(sub_8102A64, 4)); +} + +bool8 sub_8102A44(void) +{ + if (FindTaskIdByFunc(sub_8102A64) == 0xff) + return TRUE; + else + return FALSE; +} diff --git a/sym_ewram.txt b/sym_ewram.txt index 9a08597a83..4cf633c863 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -593,7 +593,7 @@ gUnknown_0203AB2C: @ 203AB2C gUnknown_0203AB30: @ 203AB30 .space 0x4 -gUnknown_0203AB34: @ 203AB34 +sSlotMachine: @ 203AB34 .space 0x4 .include "src/battle_ai_script_commands.o" From feee4751eb504f9e6cec67f53c43ee849f42fbc3 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Sat, 11 Aug 2018 22:54:34 +0200 Subject: [PATCH 071/234] Make event data look cleaner --- src/event_data.c | 72 +++++++++++++++++++++++------------------------- 1 file changed, 35 insertions(+), 37 deletions(-) diff --git a/src/event_data.c b/src/event_data.c index efd439a3c4..e42f5d5140 100644 --- a/src/event_data.c +++ b/src/event_data.c @@ -47,7 +47,7 @@ void ClearTempFieldEventData(void) FlagClear(FLAG_0x880); } -// probably had different flag splits at one point. +// Probably had different flag splits at one point. void ClearUpperFlags(void) { memset(gSaveBlock1Ptr->flags + 0x124, 0, TEMP_UPPER_FLAGS_SIZE); @@ -112,34 +112,34 @@ bool32 IsMysteryGiftEnabled(void) void sub_809D4D8(void) { - FlagClear(0x1E4); - FlagClear(0x1E5); - FlagClear(0x1E6); - FlagClear(0x1E7); - FlagClear(0x1E8); - FlagClear(0x1E9); - FlagClear(0x1EA); - FlagClear(0x1EB); - FlagClear(0x1EC); - FlagClear(0x1ED); - FlagClear(0x1EE); - FlagClear(0x1EF); - FlagClear(0x1F0); - FlagClear(0x1F1); - FlagClear(0x1F2); - FlagClear(0x1F3); + FlagClear(FLAG_MYSTERY_EVENT_DONE); + FlagClear(FLAG_0x1E5); + FlagClear(FLAG_0x1E6); + FlagClear(FLAG_0x1E7); + FlagClear(FLAG_0x1E8); + FlagClear(FLAG_0x1E9); + FlagClear(FLAG_0x1EA); + FlagClear(FLAG_0x1EB); + FlagClear(FLAG_0x1EC); + FlagClear(FLAG_0x1ED); + FlagClear(FLAG_0x1EE); + FlagClear(FLAG_0x1EF); + FlagClear(FLAG_0x1F0); + FlagClear(FLAG_0x1F1); + FlagClear(FLAG_0x1F2); + FlagClear(FLAG_0x1F3); } void sub_809D570(void) { - VarSet(0x40DD, 0); - VarSet(0x40DE, 0); - VarSet(0x40DF, 0); - VarSet(0x40E0, 0); - VarSet(0x40E1, 0); - VarSet(0x40E2, 0); - VarSet(0x40E3, 0); - VarSet(0x40E4, 0); + VarSet(VAR_EVENT_PICHU_SLOT, 0); + VarSet(VAR_0x40DE, 0); + VarSet(VAR_0x40DF, 0); + VarSet(VAR_0x40E0, 0); + VarSet(VAR_0x40E1, 0); + VarSet(VAR_0x40E2, 0); + VarSet(VAR_0x40E3, 0); + VarSet(VAR_0x40E4, 0); } void DisableResetRTC(void) @@ -164,13 +164,12 @@ bool32 CanResetRTC(void) u16 *GetVarPointer(u16 id) { - if (id < 0x4000) + if (id < VARS_START) return NULL; - - if ((s16)id >= 0) - return &gSaveBlock1Ptr->vars[id - 0x4000]; - - return gSpecialVars[id - 0x8000]; + else if (id < VAR_0x8000) + return &gSaveBlock1Ptr->vars[id - VARS_START]; + else + return gSpecialVars[id - VAR_0x8000]; } u16 VarGet(u16 id) @@ -192,18 +191,17 @@ bool8 VarSet(u16 id, u16 value) u8 VarGetEventObjectGraphicsId(u8 id) { - return VarGet(0x4010 + id); + return VarGet(VAR_OBJ_GFX_ID_0 + id); } u8 *GetFlagPointer(u16 id) { if (id == 0) - return 0; - - if (id < 0x4000) + return NULL; + else if (id < FLAG_SPECIAL_FLAG_0x4000) return &gSaveBlock1Ptr->flags[id / 8]; - - return &gUnknown_020375FC[(id - 0x4000) / 8]; + else + return &gUnknown_020375FC[(id - FLAG_SPECIAL_FLAG_0x4000) / 8]; } u8 FlagSet(u16 id) From 7f167ca9f49c258e4c97e25430e2619a2ddd490f Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Sat, 11 Aug 2018 23:00:16 +0200 Subject: [PATCH 072/234] Update battle_script_commands.c --- src/battle_script_commands.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 5c0b78240f..7f5a4fb487 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -7230,7 +7230,7 @@ static u8 ChangeStatBuffs(s8 statValue, u8 statId, u8 flags, const u8 *BS_ptr) PREPARE_STAT_BUFFER(gBattleTextBuff1, statId) - if ((statValue << 0x18) < 0) // stat decrease + if (statValue <= -1) // Stat decrease. { if (gSideTimers[GET_BATTLER_SIDE(gActiveBattler)].mistTimer && !certain && gCurrentMove != MOVE_CURSE) From b54793be91b1937d059751ea928112052a2429e0 Mon Sep 17 00:00:00 2001 From: Diegoisawesome Date: Sat, 11 Aug 2018 14:51:54 -0700 Subject: [PATCH 073/234] Finish decompiling field_specials --- asm/field_specials.s | 1320 --------------- data/event_scripts.s | 8 +- data/field_specials.s | 23 - .../scripts.inc | 132 +- data/specials.inc | 8 +- include/cable_club.h | 3 + include/constants/flags.h | 8 +- include/constants/vars.h | 6 +- include/field_screen.h | 1 + include/global.h | 10 + include/match_call.h | 2 + include/strings.h | 9 + ld_script.txt | 2 - src/field_specials.c | 1421 +++++++++++------ sym_ewram.txt | 4 - 15 files changed, 1060 insertions(+), 1897 deletions(-) delete mode 100644 asm/field_specials.s delete mode 100644 data/field_specials.s diff --git a/asm/field_specials.s b/asm/field_specials.s deleted file mode 100644 index aa4699b742..0000000000 --- a/asm/field_specials.s +++ /dev/null @@ -1,1320 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_813B484 -sub_813B484: @ 813B484 - push {lr} - movs r0, 0x2 - bl sub_80AB104 - pop {r0} - bx r0 - thumb_func_end sub_813B484 - - thumb_func_start sub_813B490 -sub_813B490: @ 813B490 - push {r4-r7,lr} - movs r3, 0 - ldr r0, =gSaveBlock1Ptr - ldr r4, [r0] - movs r6, 0x4 - ldrsb r6, [r4, r6] - ldr r5, =gUnknown_085B3420 - adds r0, r5, 0x2 - mov r12, r0 - adds r7, r5, 0x1 -_0813B4A4: - lsls r0, r3, 1 - adds r2, r0, r3 - adds r0, r2, r5 - ldrb r0, [r0] - cmp r6, r0 - bne _0813B4CC - movs r1, 0x5 - ldrsb r1, [r4, r1] - adds r0, r2, r7 - ldrb r0, [r0] - cmp r1, r0 - bne _0813B4CC - mov r1, r12 - adds r0, r2, r1 - ldrb r0, [r0] - b _0813B4D8 - .pool -_0813B4CC: - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0xB - bls _0813B4A4 - movs r0, 0x1 -_0813B4D8: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_813B490 - - thumb_func_start sub_813B4E0 -sub_813B4E0: @ 813B4E0 - push {lr} - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - bl GetRematchIdxByTrainerIdx - cmp r0, 0 - blt _0813B50C - movs r1, 0xAE - lsls r1, 1 - adds r0, r1 - lsls r0, 16 - lsrs r0, 16 - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0813B50C - movs r0, 0x1 - b _0813B50E - .pool -_0813B50C: - movs r0, 0 -_0813B50E: - pop {r1} - bx r1 - thumb_func_end sub_813B4E0 - - thumb_func_start sub_813B514 -sub_813B514: @ 813B514 - push {lr} - ldr r0, =0x0000403f - bl VarGet - lsls r0, 16 - cmp r0, 0 - beq _0813B52C - movs r0, 0x1 - b _0813B52E - .pool -_0813B52C: - movs r0, 0 -_0813B52E: - pop {r1} - bx r1 - thumb_func_end sub_813B514 - - thumb_func_start sub_813B534 -sub_813B534: @ 813B534 - push {lr} - ldr r2, =gUnknown_0203AB70 - ldr r1, =gBattleTypeFlags - ldr r0, [r1] - str r0, [r2] - movs r0, 0 - str r0, [r1] - ldr r0, =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - bne _0813B552 - ldr r0, =sub_80B3AF8 - movs r1, 0x5 - bl CreateTask -_0813B552: - pop {r0} - bx r0 - .pool - thumb_func_end sub_813B534 - - thumb_func_start sub_813B568 -sub_813B568: @ 813B568 - push {lr} - ldr r0, =sub_813B57C - movs r1, 0x5 - bl CreateTask - pop {r0} - bx r0 - .pool - thumb_func_end sub_813B568 - - thumb_func_start sub_813B57C -sub_813B57C: @ 813B57C - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - 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, 0x9 - bls _0813B596 - b _0813B7C6 -_0813B596: - lsls r0, 2 - ldr r1, =_0813B5A8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0813B5A8: - .4byte _0813B5D0 - .4byte _0813B5E4 - .4byte _0813B614 - .4byte _0813B6B4 - .4byte _0813B6E4 - .4byte _0813B728 - .4byte _0813B764 - .4byte _0813B772 - .4byte _0813B784 - .4byte _0813B7A8 -_0813B5D0: - ldr r0, =sub_80B3AF8 - bl FuncIsActiveTask - lsls r0, 24 - cmp r0, 0 - beq _0813B5DE - b _0813B7C6 -_0813B5DE: - b _0813B790 - .pool -_0813B5E4: - bl sub_800A520 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0813B5F2 - b _0813B7C6 -_0813B5F2: - bl GetMultiplayerId - lsls r0, 24 - cmp r0, 0 - bne _0813B5FE - b _0813B790 -_0813B5FE: - bl bitmask_all_link_players_but_self - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gSpecialVar_0x8004 - movs r2, 0x2 - bl SendBlock - b _0813B708 - .pool -_0813B614: - bl GetBlockReceivedStatus - movs r1, 0x2 - ands r1, r0 - cmp r1, 0 - bne _0813B622 - b _0813B7C6 -_0813B622: - bl GetMultiplayerId - lsls r0, 24 - cmp r0, 0 - beq _0813B62E - b _0813B790 -_0813B62E: - ldr r5, =gSpecialVar_0x8005 - ldr r0, =gBlockRecvBuffer - movs r1, 0x80 - lsls r1, 1 - adds r0, r1 - ldrh r0, [r0] - strh r0, [r5] - movs r0, 0x1 - bl ResetBlockReceivedFlag - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r0, 0x1 - bne _0813B668 - ldrh r1, [r5] - cmp r1, 0x1 - bne _0813B668 - ldr r0, =gSpecialVar_Result - strh r1, [r0] - b _0813B790 - .pool -_0813B668: - ldr r0, =gSpecialVar_0x8004 - ldrh r1, [r0] - adds r2, r0, 0 - cmp r1, 0 - bne _0813B68C - ldr r0, =gSpecialVar_0x8005 - ldrh r0, [r0] - cmp r0, 0x1 - bne _0813B68C - ldr r1, =gSpecialVar_Result - movs r0, 0x2 - b _0813B6AC - .pool -_0813B68C: - ldrh r0, [r2] - cmp r0, 0x1 - bne _0813B6A8 - ldr r0, =gSpecialVar_0x8005 - ldrh r0, [r0] - cmp r0, 0 - bne _0813B6A8 - ldr r1, =gSpecialVar_Result - movs r0, 0x3 - b _0813B6AC - .pool -_0813B6A8: - ldr r1, =gSpecialVar_Result - movs r0, 0 -_0813B6AC: - strh r0, [r1] - b _0813B790 - .pool -_0813B6B4: - bl sub_800A520 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0813B6C2 - b _0813B7C6 -_0813B6C2: - bl GetMultiplayerId - lsls r0, 24 - cmp r0, 0 - bne _0813B790 - bl bitmask_all_link_players_but_self - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gSpecialVar_Result - movs r2, 0x2 - bl SendBlock - b _0813B708 - .pool -_0813B6E4: - bl GetBlockReceivedStatus - movs r1, 0x1 - ands r1, r0 - cmp r1, 0 - beq _0813B7C6 - bl GetMultiplayerId - lsls r0, 24 - cmp r0, 0 - beq _0813B790 - ldr r1, =gSpecialVar_Result - ldr r0, =gBlockRecvBuffer - ldrh r0, [r0] - strh r0, [r1] - movs r0, 0 - bl ResetBlockReceivedFlag -_0813B708: - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldrh r1, [r0, 0x8] - adds r1, 0x1 - strh r1, [r0, 0x8] - b _0813B7C6 - .pool -_0813B728: - bl GetMultiplayerId - lsls r0, 24 - cmp r0, 0 - bne _0813B74C - ldr r0, =gSpecialVar_Result - ldrh r0, [r0] - cmp r0, 0x2 - bne _0813B790 - ldr r0, =gText_YourPartnerHasRetired - bl ShowFieldAutoScrollMessage - b _0813B790 - .pool -_0813B74C: - ldr r0, =gSpecialVar_Result - ldrh r0, [r0] - cmp r0, 0x3 - bne _0813B790 - ldr r0, =gText_YourPartnerHasRetired - bl ShowFieldAutoScrollMessage - b _0813B790 - .pool -_0813B764: - movs r0, 0 - bl IsTextPrinterActive - lsls r0, 16 - cmp r0, 0 - bne _0813B7C6 - b _0813B790 -_0813B772: - bl sub_800A520 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0813B7C6 - bl sub_800ADF8 - b _0813B790 -_0813B784: - bl sub_800A520 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0813B7C6 -_0813B790: - ldr r0, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - b _0813B7C6 - .pool -_0813B7A8: - ldr r0, =gWirelessCommType - ldrb r0, [r0] - cmp r0, 0 - bne _0813B7B4 - bl sub_800AC34 -_0813B7B4: - ldr r0, =gBattleTypeFlags - ldr r1, =gUnknown_0203AB70 - ldr r1, [r1] - str r1, [r0] - bl EnableBothScriptContexts - adds r0, r4, 0 - bl DestroyTask -_0813B7C6: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813B57C - - thumb_func_start sub_813B7D8 -sub_813B7D8: @ 813B7D8 - push {lr} - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r0, 0 - bne _0813B7F8 - ldr r2, =CB2_ReturnToFieldContinueScriptPlayMapMusic - movs r0, 0 - movs r1, 0x1 - bl DoRayquazaScene - b _0813B802 - .pool -_0813B7F8: - ldr r2, =CB2_ReturnToFieldContinueScriptPlayMapMusic - movs r0, 0x1 - movs r1, 0 - bl DoRayquazaScene -_0813B802: - pop {r0} - bx r0 - .pool - thumb_func_end sub_813B7D8 - - thumb_func_start sub_813B80C -sub_813B80C: @ 813B80C - push {lr} - ldr r0, =sub_813B824 - movs r1, 0x8 - bl CreateTask - movs r0, 0x9D - bl PlaySE - pop {r0} - bx r0 - .pool - thumb_func_end sub_813B80C - - thumb_func_start sub_813B824 -sub_813B824: @ 813B824 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - adds r5, r0, 0 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r4, r0, r1 - ldrh r0, [r4, 0x2] - adds r0, 0x1 - strh r0, [r4, 0x2] - movs r0, 0x2 - ldrsh r1, [r4, r0] - ldr r0, =gSpecialVar_0x8005 - ldrh r0, [r0] - cmp r1, r0 - bne _0813B858 - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] - movs r0, 0 - strh r0, [r4, 0x2] - movs r0, 0x9D - bl PlaySE -_0813B858: - movs r0, 0 - ldrsh r1, [r4, r0] - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - subs r0, 0x1 - cmp r1, r0 - bne _0813B86C - adds r0, r5, 0 - bl DestroyTask -_0813B86C: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813B824 - - thumb_func_start sub_813B880 -sub_813B880: @ 813B880 - push {lr} - ldr r0, =_fwalk - movs r1, 0x8 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r2, 0 - movs r0, 0x4 - strh r0, [r1, 0x8] - strh r0, [r1, 0xA] - strh r0, [r1, 0xC] - strh r2, [r1, 0xE] - pop {r0} - bx r0 - .pool - thumb_func_end sub_813B880 - - thumb_func_start _fwalk -_fwalk: @ 813B8B0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - lsls r0, 2 - add r0, r9 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r5, r0, r1 - movs r0, 0x6 - ldrsh r1, [r5, r0] - lsls r1, 1 - adds r1, r5 - ldrh r0, [r1] - subs r0, 0x1 - strh r0, [r1] - movs r1, 0x6 - ldrsh r0, [r5, r1] - lsls r0, 1 - adds r0, r5 - movs r2, 0 - ldrsh r0, [r0, r2] - cmp r0, 0 - bne _0813B94E - movs r6, 0 -_0813B8EA: - movs r4, 0 - lsls r3, r6, 3 - mov r10, r3 - adds r7, r6, 0x1 - mov r8, r7 -_0813B8F4: - ldr r0, =gSaveBlock1Ptr - ldr r1, [r0] - movs r2, 0 - ldrsh r0, [r1, r2] - adds r0, r4 - adds r0, 0x6 - movs r3, 0x2 - ldrsh r1, [r1, r3] - adds r1, r6 - adds r1, 0x4 - ldr r7, =0x00000201 - adds r2, r4, r7 - add r2, r10 - movs r7, 0x6 - ldrsh r3, [r5, r7] - lsls r3, 5 - adds r2, r3 - lsls r2, 16 - lsrs r2, 16 - bl MapGridSetMetatileIdAt - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x2 - bls _0813B8F4 - mov r1, r8 - lsls r0, r1, 24 - lsrs r6, r0, 24 - cmp r6, 0x3 - bls _0813B8EA - bl DrawWholeMapView - ldrh r0, [r5, 0x6] - adds r0, 0x1 - strh r0, [r5, 0x6] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3 - bne _0813B94E - mov r0, r9 - bl DestroyTask - bl EnableBothScriptContexts -_0813B94E: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end _fwalk - - thumb_func_start sub_813B968 -sub_813B968: @ 813B968 - push {r4,r5,lr} - ldr r5, =gSpecialVar_Result - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - movs r1, 0x7 - bl __udivsi3 - strh r0, [r5] - ldrh r4, [r5] - adds r0, r4, 0 - movs r1, 0x14 - bl __udivsi3 - lsls r0, 16 - lsrs r0, 16 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 2 - subs r4, r1 - strh r4, [r5] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813B968 - - thumb_func_start sub_813B9A0 -sub_813B9A0: @ 813B9A0 - push {lr} - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldrh r1, [r0, 0x1C] - movs r0, 0xB0 - lsls r0, 4 - cmp r1, r0 - bne _0813B9B6 - movs r0, 0x3 - bl Overworld_SetHealLocationWarp -_0813B9B6: - pop {r0} - bx r0 - .pool - thumb_func_end sub_813B9A0 - - thumb_func_start sub_813B9C0 -sub_813B9C0: @ 813B9C0 - push {r4,lr} - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - movs r1, 0x4 - ldrsb r1, [r0, r1] - lsls r1, 8 - ldrb r0, [r0, 0x5] - lsls r0, 24 - asrs r0, 24 - adds r0, r1 - lsls r0, 16 - lsrs r3, r0, 16 - ldr r2, =gUnknown_085B3444 - ldrh r0, [r2] - ldr r1, =0x0000ffff - cmp r0, r1 - beq _0813BA06 - adds r4, r1, 0 - adds r1, r2, 0 -_0813B9E6: - ldrh r0, [r2] - cmp r0, r3 - bne _0813B9FC - movs r0, 0x1 - b _0813BA08 - .pool -_0813B9FC: - adds r1, 0x2 - adds r2, 0x2 - ldrh r0, [r1] - cmp r0, r4 - bne _0813B9E6 -_0813BA06: - movs r0, 0 -_0813BA08: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_813B9C0 - - thumb_func_start ResetFanClub -ResetFanClub: @ 813BA10 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r2, =0x0000141e - adds r1, r0, r2 - movs r2, 0 - strh r2, [r1] - movs r1, 0xA1 - lsls r1, 5 - adds r0, r1 - strh r2, [r0] - bx lr - .pool - thumb_func_end ResetFanClub - - thumb_func_start sub_813BA30 -sub_813BA30: @ 813BA30 - push {lr} - bl sub_813BF44 - lsls r0, 24 - cmp r0, 0 - beq _0813BA52 - bl sub_813BCE8 - ldr r0, =gSaveBlock1Ptr - ldr r1, [r0] - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldrh r0, [r0, 0xE] - movs r2, 0xA1 - lsls r2, 5 - adds r1, r2 - strh r0, [r1] -_0813BA52: - pop {r0} - bx r0 - .pool - thumb_func_end sub_813BA30 - - thumb_func_start sub_813BA60 -sub_813BA60: @ 813BA60 - push {r4,lr} - ldr r4, =gSaveBlock1Ptr - ldr r0, [r4] - ldr r1, =0x0000141e - adds r0, r1 - ldrh r0, [r0] - lsrs r0, 7 - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - bne _0813BAB6 - bl sub_813BF60 - bl sub_813BD84 - ldr r1, [r4] - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldrh r0, [r0, 0xE] - movs r2, 0xA1 - lsls r2, 5 - adds r1, r2 - strh r0, [r1] - ldr r0, =0x00000315 - bl FlagClear - ldr r0, =0x00000316 - bl FlagClear - ldr r0, =0x00000317 - bl FlagClear - movs r0, 0xC6 - lsls r0, 2 - bl FlagClear - ldr r0, =0x000002da - bl FlagClear - ldr r0, =0x00004095 - movs r1, 0x1 - bl VarSet -_0813BAB6: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813BA60 - - thumb_func_start sub_813BADC -sub_813BADC: @ 813BADC - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r0, =0x00004095 - bl VarGet - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x2 - bne _0813BB58 - ldr r4, =gSaveBlock1Ptr - ldr r0, [r4] - ldr r5, =0x0000141e - adds r3, r0, r5 - ldrh r2, [r3] - movs r1, 0x7F - ands r1, r2 - ldr r0, =gUnknown_085B3470 - adds r0, r6, r0 - ldrb r0, [r0] - adds r1, r0 - cmp r1, 0x13 - ble _0813BB54 - bl sub_813BCA8 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x2 - bhi _0813BB3C - bl sub_813BB74 - ldr r0, [r4] - adds r0, r5 - ldrh r2, [r0] - ldr r1, =0x0000ff80 - ands r1, r2 - strh r1, [r0] - b _0813BB58 - .pool -_0813BB3C: - ldr r2, [r4] - adds r2, r5 - ldrh r1, [r2] - ldr r0, =0x0000ff80 - ands r0, r1 - movs r1, 0x14 - orrs r0, r1 - strh r0, [r2] - b _0813BB58 - .pool -_0813BB54: - adds r0, r2, r0 - strh r0, [r3] -_0813BB58: - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, =0x0000141e - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x7F - ands r0, r1 - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_813BADC - - thumb_func_start sub_813BB74 -sub_813BB74: @ 813BB74 - push {r4-r7,lr} - sub sp, 0x8 - movs r3, 0 - movs r5, 0 - ldr r7, =gSaveBlock1Ptr - ldr r2, =0x0000141e - movs r6, 0x1 -_0813BB82: - ldr r0, [r7] - adds r0, r2 - ldrh r1, [r0] - ldr r0, =gUnknown_085B3474 - adds r0, r5, r0 - ldrb r4, [r0] - asrs r1, r4 - ands r1, r6 - cmp r1, 0 - bne _0813BBC8 - adds r3, r5, 0 - str r2, [sp] - str r3, [sp, 0x4] - bl Random - adds r1, r6, 0 - ands r1, r0 - ldr r2, [sp] - ldr r3, [sp, 0x4] - cmp r1, 0 - beq _0813BBC8 - ldr r0, [r7] - adds r0, r2 - adds r1, r6, 0 - lsls r1, r4 - ldrh r2, [r0] - orrs r1, r2 - strh r1, [r0] - b _0813BBEA - .pool -_0813BBC8: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x7 - bls _0813BB82 - ldr r0, =gSaveBlock1Ptr - ldr r2, [r0] - ldr r0, =0x0000141e - adds r2, r0 - ldr r1, =gUnknown_085B3474 - adds r1, r3, r1 - movs r0, 0x1 - ldrb r1, [r1] - lsls r0, r1 - ldrh r1, [r2] - orrs r0, r1 - strh r0, [r2] -_0813BBEA: - adds r0, r3, 0 - add sp, 0x8 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_813BB74 - - thumb_func_start sub_813BC00 -sub_813BC00: @ 813BC00 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - movs r0, 0 - mov r10, r0 - bl sub_813BCA8 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1 - bne _0813BC2E - movs r0, 0 - b _0813BC8E -_0813BC1E: - mov r1, r8 - ldr r0, [r1] - add r0, r9 - lsls r4, r6 - ldrh r1, [r0] - eors r4, r1 - strh r4, [r0] - b _0813BC8C -_0813BC2E: - movs r5, 0 - ldr r2, =gSaveBlock1Ptr - mov r8, r2 - ldr r0, =0x0000141e - mov r9, r0 - movs r4, 0x1 -_0813BC3A: - mov r1, r8 - ldr r0, [r1] - add r0, r9 - ldrh r1, [r0] - ldr r7, =gUnknown_085B347C - adds r0, r5, r7 - ldrb r6, [r0] - asrs r1, r6 - ands r1, r4 - cmp r1, 0 - beq _0813BC5E - mov r10, r5 - bl Random - adds r1, r4, 0 - ands r1, r0 - cmp r1, 0 - bne _0813BC1E -_0813BC5E: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x7 - bls _0813BC3A - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r2, =0x0000141e - adds r4, r0, r2 - ldrh r1, [r4] - mov r2, r10 - adds r0, r2, r7 - ldrb r2, [r0] - adds r0, r1, 0 - asrs r0, r2 - movs r3, 0x1 - ands r0, r3 - cmp r0, 0 - beq _0813BC8C - adds r0, r3, 0 - lsls r0, r2 - eors r1, r0 - strh r1, [r4] -_0813BC8C: - mov r0, r10 -_0813BC8E: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_813BC00 - - thumb_func_start sub_813BCA8 -sub_813BCA8: @ 813BCA8 - push {r4,r5,lr} - movs r3, 0 - movs r2, 0 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, =0x0000141e - adds r0, r1 - ldrh r4, [r0] - movs r5, 0x1 -_0813BCBA: - adds r1, r2, 0 - adds r1, 0x8 - adds r0, r4, 0 - asrs r0, r1 - ands r0, r5 - cmp r0, 0 - beq _0813BCCE - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 -_0813BCCE: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x7 - bls _0813BCBA - adds r0, r3, 0 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_813BCA8 - - thumb_func_start sub_813BCE8 -sub_813BCE8: @ 813BCE8 - push {r4-r6,lr} - movs r5, 0 - ldr r2, =gSaveBlock2Ptr - ldr r0, [r2] - ldrh r1, [r0, 0xE] - ldr r0, =0x000003e6 - cmp r1, r0 - bhi _0813BD58 - adds r6, r2, 0 - b _0813BD32 - .pool -_0813BD04: - ldr r0, [r6] - ldrh r1, [r0, 0xE] - ldr r4, =gSaveBlock1Ptr - ldr r0, [r4] - movs r2, 0xA1 - lsls r2, 5 - adds r0, r2 - ldrh r0, [r0] - subs r1, r0 - cmp r1, 0xB - ble _0813BD58 - bl sub_813BC00 - ldr r0, [r4] - movs r1, 0xA1 - lsls r1, 5 - adds r0, r1 - ldrh r1, [r0] - adds r1, 0xC - strh r1, [r0] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 -_0813BD32: - bl sub_813BCA8 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x4 - bhi _0813BD54 - ldr r0, =gSaveBlock1Ptr - ldr r1, [r0] - ldr r0, [r6] - ldrh r0, [r0, 0xE] - movs r2, 0xA1 - lsls r2, 5 - adds r1, r2 - strh r0, [r1] - b _0813BD58 - .pool -_0813BD54: - cmp r5, 0x8 - bne _0813BD04 -_0813BD58: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_813BCE8 - - thumb_func_start sub_813BD60 -sub_813BD60: @ 813BD60 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, =0x0000141e - adds r0, r1 - ldrh r0, [r0] - ldr r1, =gSpecialVar_0x8004 - ldrh r1, [r1] - asrs r0, r1 - movs r1, 0x1 - ands r0, r1 - bx lr - .pool - thumb_func_end sub_813BD60 - - thumb_func_start sub_813BD84 -sub_813BD84: @ 813BD84 - ldr r0, =gSaveBlock1Ptr - ldr r2, [r0] - ldr r0, =0x0000141e - adds r2, r0 - ldrh r1, [r2] - movs r3, 0x80 - lsls r3, 6 - adds r0, r3, 0 - orrs r0, r1 - movs r3, 0x80 - lsls r3, 1 - adds r1, r3, 0 - orrs r0, r1 - movs r3, 0x80 - lsls r3, 3 - adds r1, r3, 0 - orrs r0, r1 - strh r0, [r2] - bx lr - .pool - thumb_func_end sub_813BD84 - - thumb_func_start sub_813BDB4 -sub_813BDB4: @ 813BDB4 - push {lr} - movs r3, 0 - movs r2, 0 - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - subs r0, 0x8 - cmp r0, 0x7 - bhi _0813BE14 - lsls r0, 2 - ldr r1, =_0813BDD8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0813BDD8: - .4byte _0813BE14 - .4byte _0813BE14 - .4byte _0813BDF8 - .4byte _0813BDFE - .4byte _0813BE04 - .4byte _0813BE0A - .4byte _0813BE10 - .4byte _0813BE14 -_0813BDF8: - movs r3, 0 - movs r2, 0x3 - b _0813BE14 -_0813BDFE: - movs r3, 0 - movs r2, 0x1 - b _0813BE14 -_0813BE04: - movs r3, 0x1 - movs r2, 0 - b _0813BE14 -_0813BE0A: - movs r3, 0 - movs r2, 0x4 - b _0813BE14 -_0813BE10: - movs r3, 0x1 - movs r2, 0x5 -_0813BE14: - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, =0x00003150 - adds r0, r1 - adds r1, r3, 0 - bl sub_813BE30 - pop {r0} - bx r0 - .pool - thumb_func_end sub_813BDB4 - - thumb_func_start sub_813BE30 -sub_813BE30: @ 813BE30 - push {r4-r6,lr} - adds r6, r0, 0 - lsls r1, 24 - lsrs r5, r1, 24 - lsls r2, 24 - lsrs r2, 24 - lsls r0, r5, 4 - adds r1, r6, r0 - ldrb r0, [r1] - cmp r0, 0xFF - bne _0813BEE8 - cmp r2, 0x5 - bhi _0813BED4 - lsls r0, r2, 2 - ldr r1, =_0813BE58 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0813BE58: - .4byte _0813BED4 - .4byte _0813BE70 - .4byte _0813BE84 - .4byte _0813BE98 - .4byte _0813BEAC - .4byte _0813BEC0 -_0813BE70: - ldr r0, =gStringVar1 - ldr r1, =gText_Steven - bl StringCopy - b _0813BF04 - .pool -_0813BE84: - ldr r0, =gStringVar1 - ldr r1, =gText_Brawly - bl StringCopy - b _0813BF04 - .pool -_0813BE98: - ldr r0, =gStringVar1 - ldr r1, =gText_Winona - bl StringCopy - b _0813BF04 - .pool -_0813BEAC: - ldr r0, =gStringVar1 - ldr r1, =gText_Phoebe - bl StringCopy - b _0813BF04 - .pool -_0813BEC0: - ldr r0, =gStringVar1 - ldr r1, =gText_Glacia - bl StringCopy - b _0813BF04 - .pool -_0813BED4: - ldr r0, =gStringVar1 - ldr r1, =gText_Wallace - bl StringCopy - b _0813BF04 - .pool -_0813BEE8: - ldr r4, =gStringVar1 - adds r0, r4, 0 - movs r2, 0x7 - bl StringCopyN - movs r0, 0xFF - strb r0, [r4, 0x7] - adds r0, r6, 0 - adds r0, 0x50 - adds r0, r5 - ldrb r1, [r0] - adds r0, r4, 0 - bl ConvertInternationalString -_0813BF04: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813BE30 - - thumb_func_start sub_813BF10 -sub_813BF10: @ 813BF10 - push {lr} - ldr r0, =0x00004095 - bl VarGet - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x2 - bne _0813BF40 - bl sub_813BA30 - ldr r0, =gBattleOutcome - ldrb r0, [r0] - cmp r0, 0x1 - bne _0813BF3C - bl sub_813BB74 - b _0813BF40 - .pool -_0813BF3C: - bl sub_813BC00 -_0813BF40: - pop {r0} - bx r0 - thumb_func_end sub_813BF10 - - thumb_func_start sub_813BF44 -sub_813BF44: @ 813BF44 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, =0x0000141e - adds r0, r1 - ldrh r0, [r0] - lsrs r0, 7 - movs r1, 0x1 - ands r0, r1 - bx lr - .pool - thumb_func_end sub_813BF44 - - thumb_func_start sub_813BF60 -sub_813BF60: @ 813BF60 - ldr r0, =gSaveBlock1Ptr - ldr r1, [r0] - ldr r0, =0x0000141e - adds r1, r0 - ldrh r2, [r1] - movs r0, 0x80 - orrs r0, r2 - strh r0, [r1] - bx lr - .pool - thumb_func_end sub_813BF60 - - thumb_func_start sub_813BF7C -sub_813BF7C: @ 813BF7C - push {lr} - ldr r0, =gSpecialVar_0x8004 - ldrb r0, [r0] - bl sub_813BADC - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .pool - thumb_func_end sub_813BF7C - - .align 2, 0 @ Don't pad with nop. diff --git a/data/event_scripts.s b/data/event_scripts.s index 90229a4a1b..7dbe3fd015 100644 --- a/data/event_scripts.s +++ b/data/event_scripts.s @@ -1110,10 +1110,10 @@ EventScript_2715DE:: @ 82715DE setflag FLAG_0x2DE setflag FLAG_0x351 setflag FLAG_0x32F - setflag FLAG_0x315 - setflag FLAG_0x316 - setflag FLAG_0x317 - setflag FLAG_0x318 + setflag FLAG_HIDE_FANCLUB_OLD_LADY + setflag FLAG_HIDE_FANCLUB_BOY + setflag FLAG_HIDE_FANCLUB_LITTLE_BOY + setflag FLAG_HIDE_FANCLUB_LADY setflag FLAG_0x2DA setflag FLAG_0x31D setflag FLAG_0x31E diff --git a/data/field_specials.s b/data/field_specials.s deleted file mode 100644 index 86a8606e16..0000000000 --- a/data/field_specials.s +++ /dev/null @@ -1,23 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - -gUnknown_085B3420:: @ 85B3420 - .byte 0x02, 0x04, 0x01, 0x04, 0x04, 0x01, 0x05, 0x00, 0x01, 0x06, 0x03, 0x01, 0x08, 0x06, 0x01, 0x09, 0x0d, 0x01, 0x0a, 0x07, 0x01, 0x0b, 0x07, 0x01, 0x0c, 0x04, 0x01, 0x0e, 0x05, 0x01, 0x0f, 0x04 - .byte 0x01, 0x1a, 0x37, 0x01 - - .align 1 -gUnknown_085B3444:: @ 85B3444 - .2byte 0x0202, 0x0301, 0x0405, 0x0504, 0x0604, 0x0700, 0x0804, 0x090b, 0x0a05, 0x0b05, 0x0c02, 0x0d06, 0x0e03, 0x0f02, 0x100c, 0x100a - .2byte 0x1a35, 0x1918, 0x1919, 0x191a, 0x191b, 0xffff - -gUnknown_085B3470:: @ 85B3470 - .byte 0x02, 0x01, 0x02, 0x01 - -gUnknown_085B3474:: @ 85B3474 - .byte 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f - -gUnknown_085B347C:: @ 85B347C - .byte 0x08, 0x0d, 0x0e, 0x0b, 0x0a, 0x0c, 0x0f, 0x09 - diff --git a/data/maps/LilycoveCity_PokemonTrainerFanClub/scripts.inc b/data/maps/LilycoveCity_PokemonTrainerFanClub/scripts.inc index 74146fc7e2..9587bcae37 100644 --- a/data/maps/LilycoveCity_PokemonTrainerFanClub/scripts.inc +++ b/data/maps/LilycoveCity_PokemonTrainerFanClub/scripts.inc @@ -4,7 +4,7 @@ LilycoveCity_PokemonTrainerFanClub_MapScripts:: @ 821C785 .byte 0 LilycoveCity_PokemonTrainerFanClub_MapScript2_21C790: @ 821C790 - map_script_2 VAR_0x4095, 1, LilycoveCity_PokemonTrainerFanClub_EventScript_21C79A + map_script_2 VAR_LILYCOVE_FAN_CLUB_STATE, 1, LilycoveCity_PokemonTrainerFanClub_EventScript_21C79A .2byte 0 LilycoveCity_PokemonTrainerFanClub_EventScript_21C79A:: @ 821C79A @@ -24,7 +24,7 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21C79A:: @ 821C79A waitmovement 0 applymovement 4, LilycoveCity_PokemonTrainerFanClub_Movement_21C807 waitmovement 0 - setvar VAR_0x4095, 2 + setvar VAR_LILYCOVE_FAN_CLUB_STATE, 2 releaseall end @@ -62,45 +62,45 @@ LilycoveCity_PokemonTrainerFanClub_Movement_21C807: @ 821C807 LilycoveCity_PokemonTrainerFanClub_MapScript1_21C80D: @ 821C80D call LilycoveCity_PokemonTrainerFanClub_EventScript_21C8DA - compare VAR_0x4095, 1 + compare VAR_LILYCOVE_FAN_CLUB_STATE, 1 goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21C9F8 - compare VAR_0x4095, 2 + compare VAR_LILYCOVE_FAN_CLUB_STATE, 2 goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21C829 end LilycoveCity_PokemonTrainerFanClub_EventScript_21C829:: @ 821C829 - special sub_813BCE8 + special UpdateMovedLilycoveFanClubMembers call LilycoveCity_PokemonTrainerFanClub_EventScript_21C8F5 setvar VAR_0x8004, 8 - specialvar VAR_RESULT, sub_813BD60 + specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember compare VAR_RESULT, 0 call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_21C9B8 setvar VAR_0x8004, 9 - specialvar VAR_RESULT, sub_813BD60 + specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember compare VAR_RESULT, 0 call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_21C9C0 setvar VAR_0x8004, 10 - specialvar VAR_RESULT, sub_813BD60 + specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember compare VAR_RESULT, 0 call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_21C9C8 setvar VAR_0x8004, 11 - specialvar VAR_RESULT, sub_813BD60 + specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember compare VAR_RESULT, 0 call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_21C9D0 setvar VAR_0x8004, 12 - specialvar VAR_RESULT, sub_813BD60 + specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember compare VAR_RESULT, 0 call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_21C9D8 setvar VAR_0x8004, 13 - specialvar VAR_RESULT, sub_813BD60 + specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember compare VAR_RESULT, 0 call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_21C9E0 setvar VAR_0x8004, 14 - specialvar VAR_RESULT, sub_813BD60 + specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember compare VAR_RESULT, 0 call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_21C9E8 setvar VAR_0x8004, 15 - specialvar VAR_RESULT, sub_813BD60 + specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember compare VAR_RESULT, 0 call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_21C9F0 end @@ -120,35 +120,35 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21C8F1:: @ 821C8F1 LilycoveCity_PokemonTrainerFanClub_EventScript_21C8F5:: @ 821C8F5 setvar VAR_0x8005, 8 setvar VAR_0x8004, 8 - specialvar VAR_RESULT, sub_813BD60 + specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember compare VAR_RESULT, 0 call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_21C9AE setvar VAR_0x8004, 9 - specialvar VAR_RESULT, sub_813BD60 + specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember compare VAR_RESULT, 0 call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_21C9AE setvar VAR_0x8004, 10 - specialvar VAR_RESULT, sub_813BD60 + specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember compare VAR_RESULT, 0 call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_21C9AE setvar VAR_0x8004, 11 - specialvar VAR_RESULT, sub_813BD60 + specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember compare VAR_RESULT, 0 call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_21C9AE setvar VAR_0x8004, 12 - specialvar VAR_RESULT, sub_813BD60 + specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember compare VAR_RESULT, 0 call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_21C9AE setvar VAR_0x8004, 13 - specialvar VAR_RESULT, sub_813BD60 + specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember compare VAR_RESULT, 0 call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_21C9AE setvar VAR_0x8004, 14 - specialvar VAR_RESULT, sub_813BD60 + specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember compare VAR_RESULT, 0 call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_21C9AE setvar VAR_0x8004, 15 - specialvar VAR_RESULT, sub_813BD60 + specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember compare VAR_RESULT, 0 call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_21C9AE compare VAR_0x8005, 5 @@ -208,13 +208,13 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CA17:: @ 821CA17 lock faceplayer setvar VAR_0x8004, 13 - special sub_813BDB4 - compare VAR_0x4095, 0 + special BufferStreakTrainerText + compare VAR_LILYCOVE_FAN_CLUB_STATE, 0 goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CA84 - specialvar VAR_RESULT, sub_813BD60 + specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember compare VAR_RESULT, 1 goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CA56 - specialvar VAR_RESULT, sub_813BCA8 + specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers compare VAR_RESULT, 7 goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CA7A msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D12A, 4 @@ -222,7 +222,7 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CA17:: @ 821CA17 end LilycoveCity_PokemonTrainerFanClub_EventScript_21CA56:: @ 821CA56 - specialvar VAR_RESULT, sub_813BCA8 + specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers compare VAR_RESULT, 1 goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CA70 msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D094, 4 @@ -248,13 +248,13 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CA8E:: @ 821CA8E lock faceplayer setvar VAR_0x8004, 8 - special sub_813BDB4 - compare VAR_0x4095, 0 + special BufferStreakTrainerText + compare VAR_LILYCOVE_FAN_CLUB_STATE, 0 goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CAFB - specialvar VAR_RESULT, sub_813BD60 + specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember compare VAR_RESULT, 1 goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CACD - specialvar VAR_RESULT, sub_813BCA8 + specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers compare VAR_RESULT, 7 goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CAF1 msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D347, 4 @@ -262,7 +262,7 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CA8E:: @ 821CA8E end LilycoveCity_PokemonTrainerFanClub_EventScript_21CACD:: @ 821CACD - specialvar VAR_RESULT, sub_813BCA8 + specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers compare VAR_RESULT, 1 goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CAE7 msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D2A6, 4 @@ -288,13 +288,13 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CB05:: @ 821CB05 lock faceplayer setvar VAR_0x8004, 9 - special sub_813BDB4 - compare VAR_0x4095, 0 + special BufferStreakTrainerText + compare VAR_LILYCOVE_FAN_CLUB_STATE, 0 goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CB72 - specialvar VAR_RESULT, sub_813BD60 + specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember compare VAR_RESULT, 1 goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CB44 - specialvar VAR_RESULT, sub_813BCA8 + specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers compare VAR_RESULT, 7 goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CB68 msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D52E, 4 @@ -302,7 +302,7 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CB05:: @ 821CB05 end LilycoveCity_PokemonTrainerFanClub_EventScript_21CB44:: @ 821CB44 - specialvar VAR_RESULT, sub_813BCA8 + specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers compare VAR_RESULT, 1 goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CB5E msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D438, 4 @@ -328,13 +328,13 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CB7C:: @ 821CB7C lock faceplayer setvar VAR_0x8004, 10 - special sub_813BDB4 - compare VAR_0x4095, 0 + special BufferStreakTrainerText + compare VAR_LILYCOVE_FAN_CLUB_STATE, 0 goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CBE9 - specialvar VAR_RESULT, sub_813BD60 + specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember compare VAR_RESULT, 1 goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CBBB - specialvar VAR_RESULT, sub_813BCA8 + specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers compare VAR_RESULT, 7 goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CBDF msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D822, 4 @@ -342,7 +342,7 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CB7C:: @ 821CB7C end LilycoveCity_PokemonTrainerFanClub_EventScript_21CBBB:: @ 821CBBB - specialvar VAR_RESULT, sub_813BCA8 + specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers compare VAR_RESULT, 1 goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CBD5 msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D751, 4 @@ -368,11 +368,11 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CBF3:: @ 821CBF3 lock faceplayer setvar VAR_0x8004, 11 - special sub_813BDB4 - specialvar VAR_RESULT, sub_813BD60 + special BufferStreakTrainerText + specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember compare VAR_RESULT, 1 goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CC27 - specialvar VAR_RESULT, sub_813BCA8 + specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers compare VAR_RESULT, 7 goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CC4B msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D9D1, 4 @@ -380,7 +380,7 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CBF3:: @ 821CBF3 end LilycoveCity_PokemonTrainerFanClub_EventScript_21CC27:: @ 821CC27 - specialvar VAR_RESULT, sub_813BCA8 + specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers compare VAR_RESULT, 1 goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CC41 msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D921, 4 @@ -401,11 +401,11 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CC55:: @ 821CC55 lock faceplayer setvar VAR_0x8004, 12 - special sub_813BDB4 - specialvar VAR_RESULT, sub_813BD60 + special BufferStreakTrainerText + specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember compare VAR_RESULT, 1 goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CC89 - specialvar VAR_RESULT, sub_813BCA8 + specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers compare VAR_RESULT, 7 goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CCAD msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DB69, 4 @@ -413,7 +413,7 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CC55:: @ 821CC55 end LilycoveCity_PokemonTrainerFanClub_EventScript_21CC89:: @ 821CC89 - specialvar VAR_RESULT, sub_813BCA8 + specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers compare VAR_RESULT, 1 goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CCA3 msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DA73, 4 @@ -434,11 +434,11 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CCB7:: @ 821CCB7 lock faceplayer setvar VAR_0x8004, 14 - special sub_813BDB4 - specialvar VAR_RESULT, sub_813BD60 + special BufferStreakTrainerText + specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember compare VAR_RESULT, 1 goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CCEB - specialvar VAR_RESULT, sub_813BCA8 + specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers compare VAR_RESULT, 7 goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CD0F msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DD36, 4 @@ -446,7 +446,7 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CCB7:: @ 821CCB7 end LilycoveCity_PokemonTrainerFanClub_EventScript_21CCEB:: @ 821CCEB - specialvar VAR_RESULT, sub_813BCA8 + specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers compare VAR_RESULT, 1 goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CD05 msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DC68, 4 @@ -467,11 +467,11 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CD19:: @ 821CD19 lock faceplayer setvar VAR_0x8004, 15 - special sub_813BDB4 - specialvar VAR_RESULT, sub_813BD60 + special BufferStreakTrainerText + specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember compare VAR_RESULT, 1 goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CD4D - specialvar VAR_RESULT, sub_813BCA8 + specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers compare VAR_RESULT, 7 goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CD71 msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DEFF, 4 @@ -479,7 +479,7 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CD19:: @ 821CD19 end LilycoveCity_PokemonTrainerFanClub_EventScript_21CD4D:: @ 821CD4D - specialvar VAR_RESULT, sub_813BCA8 + specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers compare VAR_RESULT, 1 goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CD67 msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DE72, 4 @@ -512,7 +512,7 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CD90:: @ 821CD90 goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CEFF copyvar VAR_0x800A, VAR_0x8006 setvar VAR_0x8004, 8 - special sub_813BDB4 + special BufferStreakTrainerText msgbox LilycoveCity_PokemonTrainerFanClub_Text_281BCB, 4 setvar VAR_0x8004, 14 copyvar VAR_0x8005, VAR_0x800A @@ -532,7 +532,7 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CDE0:: @ 821CDE0 LilycoveCity_PokemonTrainerFanClub_EventScript_21CDEE:: @ 821CDEE setvar VAR_0x8004, 8 - special sub_813BDB4 + special BufferStreakTrainerText msgbox LilycoveCity_PokemonTrainerFanClub_Text_281C3D, 5 compare VAR_RESULT, 1 goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CEC6 @@ -542,7 +542,7 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CDEE:: @ 821CDEE LilycoveCity_PokemonTrainerFanClub_EventScript_21CE15:: @ 821CE15 setvar VAR_0x8004, 8 - special sub_813BDB4 + special BufferStreakTrainerText msgbox LilycoveCity_PokemonTrainerFanClub_Text_281C65, 4 setvar VAR_0x8004, 14 copyvar VAR_0x8005, VAR_0x800A @@ -557,7 +557,7 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CE15:: @ 821CE15 LilycoveCity_PokemonTrainerFanClub_EventScript_21CE4D:: @ 821CE4D setvar VAR_0x8004, 8 - special sub_813BDB4 + special BufferStreakTrainerText message LilycoveCity_PokemonTrainerFanClub_Text_281C95 waitmessage setvar VAR_0x8004, 2 @@ -568,7 +568,7 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CE4D:: @ 821CE4D case 11, LilycoveCity_PokemonTrainerFanClub_EventScript_21CE9F case 127, LilycoveCity_PokemonTrainerFanClub_EventScript_21CE9F setvar VAR_0x8004, 8 - special sub_813BDB4 + special BufferStreakTrainerText copyvar VAR_0x8006, VAR_0x800A copyvar VAR_0x8005, VAR_RESULT special PutFanClubSpecialOnTheAir @@ -577,7 +577,7 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CE4D:: @ 821CE4D LilycoveCity_PokemonTrainerFanClub_EventScript_21CE9F:: @ 821CE9F setvar VAR_0x8004, 8 - special sub_813BDB4 + special BufferStreakTrainerText msgbox LilycoveCity_PokemonTrainerFanClub_Text_281CCD, 5 compare VAR_RESULT, 1 goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CEC6 @@ -587,14 +587,14 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CE9F:: @ 821CE9F LilycoveCity_PokemonTrainerFanClub_EventScript_21CEC6:: @ 821CEC6 setvar VAR_0x8004, 8 - special sub_813BDB4 + special BufferStreakTrainerText msgbox LilycoveCity_PokemonTrainerFanClub_Text_281CF5, 4 release end LilycoveCity_PokemonTrainerFanClub_EventScript_21CED8:: @ 821CED8 setvar VAR_0x8004, 8 - special sub_813BDB4 + special BufferStreakTrainerText msgbox LilycoveCity_PokemonTrainerFanClub_Text_281D40, 4 setflag FLAG_0x0D2 release @@ -602,7 +602,7 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CED8:: @ 821CED8 LilycoveCity_PokemonTrainerFanClub_EventScript_21CEED:: @ 821CEED setvar VAR_0x8004, 8 - special sub_813BDB4 + special BufferStreakTrainerText msgbox LilycoveCity_PokemonTrainerFanClub_Text_281DB4, 4 release end diff --git a/data/specials.inc b/data/specials.inc index 0b58f39ba3..86355f4840 100644 --- a/data/specials.inc +++ b/data/specials.inc @@ -174,11 +174,11 @@ gSpecials:: @ 81DBA64 def_special GetFirstFreePokeblockSlot def_special DoBerryBlending def_special sub_8142BC8 - def_special sub_813BD60 - def_special sub_813BCA8 - def_special sub_813BDB4 + def_special ShouldMoveLilycoveFanClubMember + def_special GetNumMovedLilycoveFanClubMembers + def_special BufferStreakTrainerText def_special sub_813BA30 - def_special sub_813BCE8 + def_special UpdateMovedLilycoveFanClubMembers def_special sub_813BF60 def_special sub_813BA60 def_special sub_813BF7C diff --git a/include/cable_club.h b/include/cable_club.h index 734a4f070f..8be376721e 100644 --- a/include/cable_club.h +++ b/include/cable_club.h @@ -1,6 +1,8 @@ #ifndef GUARD_CABLE_CLUB_H #define GUARD_CABLE_CLUB_H +#include "task.h" + // Exported type declarations // Exported RAM declarations @@ -11,5 +13,6 @@ void sub_80B37D4(TaskFunc taskFunc); u8 sub_80B3050(void); void sub_80B360C(void); bool32 sub_80B2AF4(u16 *arg0, u16 *arg1); +void sub_80B3AF8(u8 taskId); #endif //GUARD_CABLE_CLUB_H diff --git a/include/constants/flags.h b/include/constants/flags.h index f6143982d9..6c1400410b 100644 --- a/include/constants/flags.h +++ b/include/constants/flags.h @@ -790,10 +790,10 @@ #define FLAG_0x312 0x312 #define FLAG_0x313 0x313 #define FLAG_0x314 0x314 -#define FLAG_0x315 0x315 -#define FLAG_0x316 0x316 -#define FLAG_0x317 0x317 -#define FLAG_0x318 0x318 +#define FLAG_HIDE_FANCLUB_OLD_LADY 0x315 +#define FLAG_HIDE_FANCLUB_BOY 0x316 +#define FLAG_HIDE_FANCLUB_LITTLE_BOY 0x317 +#define FLAG_HIDE_FANCLUB_LADY 0x318 #define FLAG_0x319 0x319 #define FLAG_0x31A 0x31A #define FLAG_0x31B 0x31B diff --git a/include/constants/vars.h b/include/constants/vars.h index 92cbaba5f1..7cf232efe4 100644 --- a/include/constants/vars.h +++ b/include/constants/vars.h @@ -81,8 +81,8 @@ #define VAR_ALTERING_CAVE_WILD_SET 0x403E #define VAR_0x403F 0x403F #define VAR_DAYS 0x4040 -#define VAR_0x4041 0x4041 -#define VAR_0x4042 0x4042 +#define VAR_FANCLUB_UNKNOWN_1 0x4041 +#define VAR_FANCLUB_UNKNOWN_2 0x4042 #define VAR_DEPT_STORE_FLOOR 0x4043 #define VAR_0x4044 0x4044 #define VAR_POKELOT_PRIZE 0x4045 @@ -165,7 +165,7 @@ #define VAR_0x4092 0x4092 #define VAR_0x4093 0x4093 #define VAR_0x4094 0x4094 -#define VAR_0x4095 0x4095 +#define VAR_LILYCOVE_FAN_CLUB_STATE 0x4095 #define VAR_0x4096 0x4096 #define VAR_0x4097 0x4097 #define VAR_0x4098 0x4098 diff --git a/include/field_screen.h b/include/field_screen.h index 268b9312e1..bf15024053 100644 --- a/include/field_screen.h +++ b/include/field_screen.h @@ -15,5 +15,6 @@ void sub_80AC3D0(void); void sub_80AC3E4(void); void PreservePaletteInWeather(u8); void sub_80AF128(void); +void sub_80AB104(u8); #endif //GUARD_FIELD_SCREEN_H diff --git a/include/global.h b/include/global.h index 687ee26d27..2015d47cc7 100644 --- a/include/global.h +++ b/include/global.h @@ -163,6 +163,16 @@ enum OPTIONS_BATTLE_STYLE_SET }; +struct Coords8 { + s8 x; + s8 y; +}; + +struct UCoords8 { + u8 x; + u8 y; +}; + struct Coords16 { s16 x; diff --git a/include/match_call.h b/include/match_call.h index 9698e7cd3f..1f431bfaf1 100644 --- a/include/match_call.h +++ b/include/match_call.h @@ -10,4 +10,6 @@ enum { MATCH_CALL_TYPE_GYMLEADER_ELITEFOUR }; +s32 GetRematchIdxByTrainerIdx(s32 trainerIdx); + #endif //GUARD_MATCH_CALL_H diff --git a/include/strings.h b/include/strings.h index afb26b7cbe..528f70f69e 100644 --- a/include/strings.h +++ b/include/strings.h @@ -753,4 +753,13 @@ extern const u8 BattleFrontier_Lounge7_Text_26615F[]; extern const u8 BattleFrontier_Lounge7_Text_266185[]; extern const u8 BattleFrontier_Lounge7_Text_2661B5[]; +extern const u8 gText_YourPartnerHasRetired[]; + +extern const u8 gText_Wallace[]; +extern const u8 gText_Steven[]; +extern const u8 gText_Brawly[]; +extern const u8 gText_Winona[]; +extern const u8 gText_Phoebe[]; +extern const u8 gText_Glacia[]; + #endif //GUARD_STRINGS_H diff --git a/ld_script.txt b/ld_script.txt index 2a0900e516..0447ce40d5 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -181,7 +181,6 @@ SECTIONS { src/birch_pc.o(.text); src/hof_pc.o(.text); src/field_specials.o(.text); - asm/field_specials.o(.text); src/battle_records.o(.text); asm/pokedex_area_screen.o(.text); src/evolution_scene.o(.text); @@ -471,7 +470,6 @@ SECTIONS { src/fldeff_flash.o(.rodata); src/time_events.o(.rodata); src/field_specials.o(.rodata); - data/field_specials.o(.rodata); src/battle_records.o(.rodata); data/pokedex_area_screen.o(.rodata); src/evolution_scene.o(.rodata); diff --git a/src/field_specials.c b/src/field_specials.c index 7d57bddde2..897bcc8d73 100644 --- a/src/field_specials.c +++ b/src/field_specials.c @@ -2,6 +2,7 @@ #include "main.h" #include "battle.h" #include "battle_tower.h" +#include "cable_club.h" #include "data2.h" #include "decoration.h" #include "diploma.h" @@ -13,6 +14,7 @@ #include "field_message_box.h" #include "field_player_avatar.h" #include "field_region_map.h" +#include "field_screen.h" #include "field_specials.h" #include "field_weather.h" #include "international_string_util.h" @@ -20,6 +22,7 @@ #include "link.h" #include "list_menu.h" #include "malloc.h" +#include "match_call.h" #include "menu.h" #include "overworld.h" #include "party_menu.h" @@ -27,6 +30,7 @@ #include "pokemon.h" #include "pokemon_storage_system.h" #include "random.h" +#include "rayquaza_scene.h" #include "region_map.h" #include "rom_8011DC0.h" #include "rtc.h" @@ -64,6 +68,7 @@ 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; struct ListMenuTemplate gUnknown_030061D0; @@ -73,9 +78,51 @@ extern const u16 gEventObjectPalette33[]; extern const u16 gEventObjectPalette34[]; extern void LoadPalette(const void *src, u32 offset, u16 size); // incorrect signature, needed to match +extern void BlendPalettes(u32, u8, u16); + +void UpdateMovedLilycoveFanClubMembers(void); +void sub_813BF60(void); +u16 GetNumMovedLilycoveFanClubMembers(void); static void RecordCyclingRoadResults(u32, u8); static void LoadLinkPartnerEventObjectSpritePalette(u8 graphicsId, u8 localEventId, u8 paletteNum); +static void Task_PetalburgGym(u8); +static void PetalburgGymFunc(u8, u16); +static void Task_PCTurnOnEffect(u8); +static void PCTurnOnEffect_0(struct Task *); +static void PCTurnOnEffect_1(s16, s8, s8); +static void PCTurnOffEffect(void); +static void Task_LotteryCornerComputerEffect(u8); +static void LotteryCornerComputerEffect(struct Task *); +static void sub_81395BC(u8 taskId); +static void sub_8139620(u8 taskId); +static void sub_8139AF4(u8 taskId); +static void sub_8139C2C(u16 a1, u8 a2); +static void sub_8139C80(u8 taskId); +static void sub_813A2DC(u8 taskId); +static void sub_813AA60(u16 a0, u16 a1); +static void sub_813ACE8(u8 a0, u16 a1); +static void sub_813A42C(void); +static void sub_813A4EC(u8 taskId); +static void sub_813A694(u8 taskId); +static void sub_813A46C(s32 itemIndex, bool8 onInit, struct ListMenu *list); +static void sub_813AC44(u16 a0, u16 a1); +static void sub_813AD34(u8 a0, u16 a1); +static void sub_813A570(u8 taskId); +static void sub_813A738(u8 taskId); +static void sub_813A600(u8 taskId); +static void sub_813A664(u8 taskId); +static void sub_813ABD4(u16 a0); +static void task_deoxys_sound(u8 taskId); +static void sub_813B0B4(u8 a0); +static void sub_813B160(u8 taskId); +static void sub_813B57C(u8 taskId); +static void sub_813B824(u8 taskId); +static void _fwalk(u8 taskId); +static u8 sub_813BF44(void); +static void sub_813BD84(void); +static u16 sub_813BB74(void); +static void sub_813BE30(struct LinkBattleRecords *linkRecords, u8 a, u8 b); void Special_ShowDiploma(void) { @@ -572,12 +619,7 @@ static void LoadLinkPartnerEventObjectSpritePalette(u8 graphicsId, u8 localEvent } } -struct Coords8 { - u8 x; - u8 y; -}; - -const struct Coords8 gUnknown_085B2B68[] = { +static const struct UCoords8 gUnknown_085B2B68[] = { { 7, 22}, {11, 19}, {10, 16}, @@ -699,7 +741,7 @@ void MauvilleGymSpecial2(void) void MauvilleGymSpecial3(void) { int i, x, y; - const struct Coords8 *switchCoords = gUnknown_085B2B68; + const struct UCoords8 *switchCoords = gUnknown_085B2B68; for (i = ARRAY_COUNT(gUnknown_085B2B68) - 1; i >= 0; i--) { MapGridSetMetatileIdAt(switchCoords->x, switchCoords->y, 0x206); @@ -753,10 +795,8 @@ void MauvilleGymSpecial3(void) } } -static void Task_PetalburgGym(u8); -static void PetalburgGymFunc(u8, u16); -const u8 gUnknown_085B2B78[] = {0, 1, 1, 1, 1}; -const u16 gUnknown_085B2B7E[] = {0x218, 0x219, 0x21a, 0x21b, 0x21c}; +static const u8 gUnknown_085B2B78[] = {0, 1, 1, 1, 1}; +static const u16 gUnknown_085B2B7E[] = {0x218, 0x219, 0x21a, 0x21b, 0x21c}; void PetalburgGymSpecial1(void) { @@ -956,7 +996,7 @@ u8 GetLeadMonFriendshipScore(void) return 0; } -void CB2_FieldShowRegionMap(void) +static void CB2_FieldShowRegionMap(void) { FieldInitRegionMap(CB2_ReturnToFieldContinueScriptPlayMapMusic); } @@ -966,10 +1006,6 @@ void FieldShowRegionMap(void) SetMainCallback2(CB2_FieldShowRegionMap); } -static void Task_PCTurnOnEffect(u8); -static void PCTurnOnEffect_0(struct Task *); -static void PCTurnOnEffect_1(s16, s8, s8); - void DoPCTurnOnEffect(void) { if (FuncIsActiveTask(Task_PCTurnOnEffect) != TRUE) @@ -1063,8 +1099,6 @@ static void PCTurnOnEffect_1(s16 flag, s8 dx, s8 dy) MapGridSetMetatileIdAt(gSaveBlock1Ptr->pos.x + dx + 7, gSaveBlock1Ptr->pos.y + dy + 7, tileId | 0xc00); } -static void PCTurnOffEffect(void); - void DoPCTurnOffEffect(void) { PCTurnOffEffect(); @@ -1107,9 +1141,6 @@ static void PCTurnOffEffect(void) DrawWholeMapView(); } -static void Task_LotteryCornerComputerEffect(u8); -static void LotteryCornerComputerEffect(struct Task *); - void DoLotteryCornerComputerEffect(void) { if (FuncIsActiveTask(Task_LotteryCornerComputerEffect) != TRUE) @@ -1279,12 +1310,12 @@ void BufferEReaderTrainerName(void) GetEreaderTrainerName(gStringVar1); } -const u8 gUnknown_085B2B88[] = {12, 2, 4, 5, 1, 8, 7, 11, 3, 10, 9, 6}; -const u8 gUnknown_085B2B94[] = {0, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 5}; -const u8 gUnknown_085B2BA0[] = {3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5}; - u16 GetSlotMachineId(void) { + static const u8 gUnknown_085B2B88[] = {12, 2, 4, 5, 1, 8, 7, 11, 3, 10, 9, 6}; + static const u8 gUnknown_085B2B94[] = {0, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 5}; + static const u8 gUnknown_085B2BA0[] = {3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5}; + u32 v0 = gSaveBlock1Ptr->easyChatPairs[0].unk0_0 + gSaveBlock1Ptr->easyChatPairs[0].unk2 + gUnknown_085B2B88[gSpecialVar_0x8004]; if (GetPriceReduction(2)) { @@ -1436,9 +1467,6 @@ bool8 IsPokerusInParty(void) return TRUE; } -static void sub_81395BC(u8 taskId); -static void sub_8139620(u8 taskId); - void sub_8139560(void) { u8 taskId = CreateTask(sub_81395BC, 9); @@ -1486,7 +1514,7 @@ void SetRoute119Weather(void) { if (is_map_type_1_2_3_5_or_6(get_map_light_from_warp0()) != TRUE) { - SetSav1Weather(0x14); + SetSav1Weather(20); } } @@ -1494,7 +1522,7 @@ void SetRoute123Weather(void) { if (is_map_type_1_2_3_5_or_6(get_map_light_from_warp0()) != TRUE) { - SetSav1Weather(0x15); + SetSav1Weather(21); } } @@ -1545,7 +1573,9 @@ u16 SetPacifidlogTMReceivedDay(void) bool8 MonOTNameMatchesPlayer(void) { if (GetMonData(&gPlayerParty[gSpecialVar_0x8004], MON_DATA_LANGUAGE) != GAME_LANGUAGE) + { return TRUE; // huh? + } GetMonData(&gPlayerParty[gSpecialVar_0x8004], MON_DATA_OT_NAME, gStringVar1); if (!StringCompare(gSaveBlock2Ptr->playerName, gStringVar1)) @@ -1648,9 +1678,6 @@ void sub_8139980(void) SetCameraPanning(8, 0); } -void sub_8139AF4(u8 taskId); -void sub_8139C2C(u16 a1, u8 a2); - const struct WindowTemplate gUnknown_085B2BAC = { .priority = 0, .tilemapLeft = 21, @@ -1682,9 +1709,6 @@ const u8 *const gElevatorFloorsTable[] = { const u16 gUnknown_085B2BF4[] = { 0x0329, 0x032a, 0x032b, 0x0331, 0x0332, 0x0333, 0x0339, 0x033a, 0x033b }; const u16 gUnknown_085B2C06[] = { 0x0329, 0x032b, 0x032a, 0x0331, 0x0333, 0x0332, 0x0339, 0x033b, 0x033a }; -const u8 gUnknown_085B2C18[] = { 0x08, 0x10, 0x18, 0x20, 0x26, 0x2e, 0x34, 0x38, 0x39 }; -const u8 gUnknown_085B2C21[] = { 0x03, 0x06, 0x09, 0x0c, 0x0f, 0x12, 0x15, 0x18, 0x1b }; -const u16 gUnknown_085B2C2A[] = { 0x0202, 0x0301, 0x0405, 0x0504, 0x0604, 0x0700, 0x0804, 0x090b, 0x0a05, 0x0b05, 0x0c02, 0x0d06, 0x0e03, 0x0f02, 0x100c, 0x100a, 0x1a35, 0x193c, 0xffff }; void SetDepartmentStoreFloorVar(void) { @@ -1753,6 +1777,8 @@ u16 sub_81399F4(void) void ShakeScreenInElevator(void) { + static const u8 gUnknown_085B2C18[] = { 0x08, 0x10, 0x18, 0x20, 0x26, 0x2e, 0x34, 0x38, 0x39 }; + s16 *data = gTasks[CreateTask(sub_8139AF4, 9)].data; u16 floorDelta; @@ -1781,7 +1807,7 @@ void ShakeScreenInElevator(void) PlaySE(SE_ELEBETA); } -void sub_8139AF4(u8 taskId) +static void sub_8139AF4(u8 taskId) { s16 *data = gTasks[taskId].data; data[1]++; @@ -1824,10 +1850,10 @@ void sub_8139C10(void) RemoveWindow(gUnknown_0203AB5E); } -void sub_8139C80(u8 taskId); - -void sub_8139C2C(u16 a1, u8 a2) +static void sub_8139C2C(u16 a1, u8 a2) { + static const u8 gUnknown_085B2C21[] = { 0x03, 0x06, 0x09, 0x0c, 0x0f, 0x12, 0x15, 0x18, 0x1b }; + if (FuncIsActiveTask(sub_8139C80) != TRUE) { u8 taskId = CreateTask(sub_8139C80, 8); @@ -1841,7 +1867,7 @@ void sub_8139C2C(u16 a1, u8 a2) // Annoyingly close but compiler wants to add all the parts of the index into the arrays // first and then shift by one, whereas we need each individual part to shift and then be added. #ifdef NONMATCHING -void sub_8139C80(u8 taskId) +static void sub_8139C80(u8 taskId) { u8 x, y; s16 *data = gTasks[taskId].data; @@ -1880,7 +1906,7 @@ void sub_8139C80(u8 taskId) } #else NAKED -void sub_8139C80(u8 taskId) +static void sub_8139C80(u8 taskId) { asm_unified("push {r4-r7,lr}\n\ mov r7, r10\n\ @@ -2064,6 +2090,8 @@ void sub_8139D98(void) bool32 warp0_in_pokecenter(void) { + static const u16 gUnknown_085B2C2A[] = { 0x0202, 0x0301, 0x0405, 0x0504, 0x0604, 0x0700, 0x0804, 0x090b, 0x0a05, 0x0b05, 0x0c02, 0x0d06, 0x0e03, 0x0f02, 0x100c, 0x100a, 0x1a35, 0x193c, 0xffff }; + int i; u16 map = (gUnknown_020322DC.mapGroup << 8) + gUnknown_020322DC.mapNum; @@ -2092,34 +2120,34 @@ void UpdateFrontierManiac(u16 a0) *var %= 10; } -const u8 *const gUnknown_085B2C50[][3] = { - { BattleFrontier_Lounge2_Text_260971, BattleFrontier_Lounge2_Text_260A1E, BattleFrontier_Lounge2_Text_260AE7 }, - { BattleFrontier_Lounge2_Text_2619AC, BattleFrontier_Lounge2_Text_261A91, BattleFrontier_Lounge2_Text_261B0C }, - { BattleFrontier_Lounge2_Text_261B95, BattleFrontier_Lounge2_Text_261B95, BattleFrontier_Lounge2_Text_261B95 }, - { BattleFrontier_Lounge2_Text_261C1A, BattleFrontier_Lounge2_Text_261C1A, BattleFrontier_Lounge2_Text_261C1A }, - { BattleFrontier_Lounge2_Text_260BC4, BattleFrontier_Lounge2_Text_260C6D, BattleFrontier_Lounge2_Text_260D3A }, - { BattleFrontier_Lounge2_Text_260E1E, BattleFrontier_Lounge2_Text_260EC7, BattleFrontier_Lounge2_Text_260F74 }, - { BattleFrontier_Lounge2_Text_2614E6, BattleFrontier_Lounge2_Text_261591, BattleFrontier_Lounge2_Text_26166F }, - { BattleFrontier_Lounge2_Text_261282, BattleFrontier_Lounge2_Text_261329, BattleFrontier_Lounge2_Text_261403 }, - { BattleFrontier_Lounge2_Text_261026, BattleFrontier_Lounge2_Text_2610CC, BattleFrontier_Lounge2_Text_261194 }, - { BattleFrontier_Lounge2_Text_26174D, BattleFrontier_Lounge2_Text_2617F9, BattleFrontier_Lounge2_Text_2618C4 }, -}; - -const u8 gUnknown_085B2CC8[][2] = { - { 0x15, 0x38 }, - { 0x15, 0x23 }, - { 0xff, 0xff }, - { 0xff, 0xff }, - { 0x02, 0x04 }, - { 0x07, 0x15 }, - { 0x07, 0x15 }, - { 0x0e, 0x1c }, - { 0x0d, 0x70 }, - { 0x07, 0x38 } -}; - void sub_8139F20(void) { + static const u8 *const gUnknown_085B2C50[][3] = { + { BattleFrontier_Lounge2_Text_260971, BattleFrontier_Lounge2_Text_260A1E, BattleFrontier_Lounge2_Text_260AE7 }, + { BattleFrontier_Lounge2_Text_2619AC, BattleFrontier_Lounge2_Text_261A91, BattleFrontier_Lounge2_Text_261B0C }, + { BattleFrontier_Lounge2_Text_261B95, BattleFrontier_Lounge2_Text_261B95, BattleFrontier_Lounge2_Text_261B95 }, + { BattleFrontier_Lounge2_Text_261C1A, BattleFrontier_Lounge2_Text_261C1A, BattleFrontier_Lounge2_Text_261C1A }, + { BattleFrontier_Lounge2_Text_260BC4, BattleFrontier_Lounge2_Text_260C6D, BattleFrontier_Lounge2_Text_260D3A }, + { BattleFrontier_Lounge2_Text_260E1E, BattleFrontier_Lounge2_Text_260EC7, BattleFrontier_Lounge2_Text_260F74 }, + { BattleFrontier_Lounge2_Text_2614E6, BattleFrontier_Lounge2_Text_261591, BattleFrontier_Lounge2_Text_26166F }, + { BattleFrontier_Lounge2_Text_261282, BattleFrontier_Lounge2_Text_261329, BattleFrontier_Lounge2_Text_261403 }, + { BattleFrontier_Lounge2_Text_261026, BattleFrontier_Lounge2_Text_2610CC, BattleFrontier_Lounge2_Text_261194 }, + { BattleFrontier_Lounge2_Text_26174D, BattleFrontier_Lounge2_Text_2617F9, BattleFrontier_Lounge2_Text_2618C4 }, + }; + + static const u8 gUnknown_085B2CC8[][2] = { + { 0x15, 0x38 }, + { 0x15, 0x23 }, + { 0xff, 0xff }, + { 0xff, 0xff }, + { 0x02, 0x04 }, + { 0x07, 0x15 }, + { 0x07, 0x15 }, + { 0x0e, 0x1c }, + { 0x0d, 0x70 }, + { 0x07, 0x38 } + }; + u8 i; u16 unk = 0; u16 var = VarGet(VAR_FRONTIER_MANIAC_FACILITY); @@ -2205,12 +2233,12 @@ void sub_8139F20(void) ShowFieldMessage(gUnknown_085B2C50[var][i]); } -const u16 gUnknown_085B2CDC[] = { - 0x0007, 0x000e, 0x0015, 0x001c, 0x0023, 0x0031, 0x003f, 0x004d, 0x005b, 0x0000 -}; - void sub_813A080(void) { + static const u16 gUnknown_085B2CDC[] = { + 0x0007, 0x000e, 0x0015, 0x001c, 0x0023, 0x0031, 0x003f, 0x004d, 0x005b, 0x0000 + }; + u8 i; u16 var = VarGet(VAR_0x40CE); u8 chosenLevel = gSaveBlock2Ptr->frontier.chosenLvl; @@ -2236,8 +2264,6 @@ void sub_813A080(void) gSpecialVar_0x8006 = 12; } -void sub_813A2DC(u8 taskId); - void sub_813A128(void) { u8 taskId = CreateTask(sub_813A2DC, 8); @@ -2374,11 +2400,7 @@ void sub_813A128(void) } } -void sub_813AA60(u16 a0, u16 a1); -void sub_813ACE8(u8 a0, u16 a1); -void sub_813A42C(void); - -const u8 *const gUnknown_085B2CF0[][16] = { +static const u8 *const gUnknown_085B2CF0[][16] = { { gText_Exit, NULL, @@ -2615,10 +2637,7 @@ const u8 *const gUnknown_085B2CF0[][16] = { } }; -void sub_813A4EC(u8 taskId); -void sub_813A694(u8 taskId); - -void sub_813A2DC(u8 taskId) +static void sub_813A2DC(u8 taskId) { u32 unk1; u8 i, windowId; @@ -2672,9 +2691,7 @@ void sub_813A2DC(u8 taskId) gTasks[taskId].func = sub_813A4EC; } -void sub_813A46C(s32 itemIndex, bool8 onInit, struct ListMenu *list); - -void sub_813A42C(void) +static void sub_813A42C(void) { gUnknown_030061D0.items = gUnknown_0203AB64; gUnknown_030061D0.moveCursorFunc = sub_813A46C; @@ -2696,12 +2713,7 @@ void sub_813A42C(void) gUnknown_030061D0.cursorKind = 0; } -void sub_813A4EC(u8 taskId); -void sub_813AA60(u16 a0, u16 a1); -void sub_813AC44(u16 a0, u16 a1); -void sub_813AD34(u8 a0, u16 a1); - -void sub_813A46C(s32 itemIndex, bool8 onInit, struct ListMenu *list) +static void sub_813A46C(s32 itemIndex, bool8 onInit, struct ListMenu *list) { u8 taskId; PlaySE(SE_SELECT); @@ -2720,13 +2732,9 @@ void sub_813A46C(s32 itemIndex, bool8 onInit, struct ListMenu *list) } } -void sub_813A570(u8 taskId); -void sub_813A738(u8 taskId); -void sub_813A600(u8 taskId); - // stupid r5<->r6 swap #ifdef NONMATCHING -void sub_813A4EC(u8 taskId) +static void sub_813A4EC(u8 taskId) { struct Task *task = &gTasks[taskId]; s32 itemId = ListMenuHandleInputGetItemId(task->data[14]); @@ -2743,25 +2751,22 @@ void sub_813A4EC(u8 taskId) default: gSpecialVar_Result = itemId; PlaySE(SE_SELECT); - if (task->data[6]) + if (!task->data[6] || itemId == task->data[1] - 1) { - if (itemId == task->data[1] - 1) - { - sub_813A570(taskId); - } - else - { - sub_813A738(taskId); - task->func = sub_813A600; - EnableBothScriptContexts(); - } + sub_813A570(taskId); + } + else + { + sub_813A738(taskId); + task->func = sub_813A600; + EnableBothScriptContexts(); } break; } } #else NAKED -void sub_813A4EC(u8 taskId) +static void sub_813A4EC(u8 taskId) { asm_unified("push {r4-r6,lr}\n\ lsls r0, 24\n\ @@ -2826,7 +2831,7 @@ _0813A566:\n\ } #endif // NONMATCHING -void sub_813A570(u8 taskId) +static void sub_813A570(u8 taskId) { u16 array; struct Task *task = &gTasks[taskId]; @@ -2843,9 +2848,7 @@ void sub_813A570(u8 taskId) EnableBothScriptContexts(); } -void sub_813A664(u8 taskId); - -void sub_813A600(u8 taskId) +static void sub_813A600(u8 taskId) { switch (gTasks[taskId].data[6]) { @@ -2872,29 +2875,29 @@ void sub_813A630(void) } } -void sub_813A664(u8 taskId) +static void sub_813A664(u8 taskId) { ScriptContext2_Enable(); sub_813A694(taskId); gTasks[taskId].func = sub_813A4EC; } -const struct ScrollArrowsTemplate gUnknown_085B3030 = { - .firstArrowType = 2, - .firstX = 0, - .firstY = 0, - .secondArrowType = 3, - .secondX = 0, - .secondY = 0, - .fullyUpThreshold = 0, - .fullyDownThreshold = 0, - .tileTag = 2000, - .palTag = 100, - .palNum = 0 -}; - -void sub_813A694(u8 taskId) +static void sub_813A694(u8 taskId) { + static const struct ScrollArrowsTemplate gUnknown_085B3030 = { + .firstArrowType = 2, + .firstX = 0, + .firstY = 0, + .secondArrowType = 3, + .secondX = 0, + .secondY = 0, + .fullyUpThreshold = 0, + .fullyDownThreshold = 0, + .tileTag = 2000, + .palTag = 100, + .palNum = 0 + }; + struct Task *task = &gTasks[taskId]; struct ScrollArrowsTemplate template = gUnknown_085B3030; if (task->data[0] != task->data[1]) @@ -2909,7 +2912,7 @@ void sub_813A694(u8 taskId) } } -void sub_813A738(u8 taskId) +static void sub_813A738(u8 taskId) { struct Task *task = &gTasks[taskId]; if (task->data[0] != task->data[1]) @@ -2939,36 +2942,36 @@ void sub_813A76C(void) } } -const u8 *const gUnknown_085B3040[] = { - BattleFrontier_Lounge5_Text_26468D, - BattleFrontier_Lounge5_Text_2646E5, - BattleFrontier_Lounge5_Text_264741, - BattleFrontier_Lounge5_Text_2647A4, - BattleFrontier_Lounge5_Text_2647FC, - BattleFrontier_Lounge5_Text_264858, - BattleFrontier_Lounge5_Text_2648BE, - BattleFrontier_Lounge5_Text_264916, - BattleFrontier_Lounge5_Text_264972, - BattleFrontier_Lounge5_Text_2649D5, - BattleFrontier_Lounge5_Text_264A3F, - BattleFrontier_Lounge5_Text_264A9B, - BattleFrontier_Lounge5_Text_264AF3, - BattleFrontier_Lounge5_Text_264B5D, - BattleFrontier_Lounge5_Text_2648BE, - BattleFrontier_Lounge5_Text_264BC3, - BattleFrontier_Lounge5_Text_264C36, - BattleFrontier_Lounge5_Text_2648BE, - BattleFrontier_Lounge5_Text_264C95, - BattleFrontier_Lounge5_Text_264D01, - BattleFrontier_Lounge5_Text_264D6B, - BattleFrontier_Lounge5_Text_264DD7, - BattleFrontier_Lounge5_Text_264E33, - BattleFrontier_Lounge5_Text_264E8F, - BattleFrontier_Lounge5_Text_2648BE, -}; - void sub_813A7B8(void) { + static const u8 *const gUnknown_085B3040[] = { + BattleFrontier_Lounge5_Text_26468D, + BattleFrontier_Lounge5_Text_2646E5, + BattleFrontier_Lounge5_Text_264741, + BattleFrontier_Lounge5_Text_2647A4, + BattleFrontier_Lounge5_Text_2647FC, + BattleFrontier_Lounge5_Text_264858, + BattleFrontier_Lounge5_Text_2648BE, + BattleFrontier_Lounge5_Text_264916, + BattleFrontier_Lounge5_Text_264972, + BattleFrontier_Lounge5_Text_2649D5, + BattleFrontier_Lounge5_Text_264A3F, + BattleFrontier_Lounge5_Text_264A9B, + BattleFrontier_Lounge5_Text_264AF3, + BattleFrontier_Lounge5_Text_264B5D, + BattleFrontier_Lounge5_Text_2648BE, + BattleFrontier_Lounge5_Text_264BC3, + BattleFrontier_Lounge5_Text_264C36, + BattleFrontier_Lounge5_Text_2648BE, + BattleFrontier_Lounge5_Text_264C95, + BattleFrontier_Lounge5_Text_264D01, + BattleFrontier_Lounge5_Text_264D6B, + BattleFrontier_Lounge5_Text_264DD7, + BattleFrontier_Lounge5_Text_264E33, + BattleFrontier_Lounge5_Text_264E8F, + BattleFrontier_Lounge5_Text_2648BE, + }; + u8 nature; if (gSpecialVar_0x8004 >= PARTY_SIZE) @@ -2987,52 +2990,52 @@ void UpdateFrontierGambler(u16 a0) *var %= 12; } -const u8 *const gUnknown_085B30A4[] = { - BattleFrontier_Lounge3_Text_262261, - BattleFrontier_Lounge3_Text_26230D, - BattleFrontier_Lounge3_Text_2623B9, - BattleFrontier_Lounge3_Text_262464, - BattleFrontier_Lounge3_Text_26250E, - BattleFrontier_Lounge3_Text_2625B8, - BattleFrontier_Lounge3_Text_26266A, - BattleFrontier_Lounge3_Text_26271C, - BattleFrontier_Lounge3_Text_2627C9, - BattleFrontier_Lounge3_Text_262876, - BattleFrontier_Lounge3_Text_26291A, - BattleFrontier_Lounge3_Text_2629BC, -}; - void sub_813A820(void) { + static const u8 *const gUnknown_085B30A4[] = { + BattleFrontier_Lounge3_Text_262261, + BattleFrontier_Lounge3_Text_26230D, + BattleFrontier_Lounge3_Text_2623B9, + BattleFrontier_Lounge3_Text_262464, + BattleFrontier_Lounge3_Text_26250E, + BattleFrontier_Lounge3_Text_2625B8, + BattleFrontier_Lounge3_Text_26266A, + BattleFrontier_Lounge3_Text_26271C, + BattleFrontier_Lounge3_Text_2627C9, + BattleFrontier_Lounge3_Text_262876, + BattleFrontier_Lounge3_Text_26291A, + BattleFrontier_Lounge3_Text_2629BC, + }; + u16 var = VarGet(VAR_FRONTIER_GAMBLER_FACILITY); ShowFieldMessage(gUnknown_085B30A4[var]); VarSet(VAR_FRONTIER_GAMBLER_SET_FACILITY_F, var); } -const u8 *const gUnknown_085B30D4[] = { - BattleFrontier_Lounge3_Text_262C04, - BattleFrontier_Lounge3_Text_262C90, - BattleFrontier_Lounge3_Text_262D1C, - BattleFrontier_Lounge3_Text_262DA7, - BattleFrontier_Lounge3_Text_262E34, - BattleFrontier_Lounge3_Text_262EC1, - BattleFrontier_Lounge3_Text_262F56, - BattleFrontier_Lounge3_Text_262FEB, - BattleFrontier_Lounge3_Text_263078, - BattleFrontier_Lounge3_Text_263105, - BattleFrontier_Lounge3_Text_26318C, - BattleFrontier_Lounge3_Text_263211, -}; - void sub_813A854(void) { + static const u8 *const gUnknown_085B30D4[] = { + BattleFrontier_Lounge3_Text_262C04, + BattleFrontier_Lounge3_Text_262C90, + BattleFrontier_Lounge3_Text_262D1C, + BattleFrontier_Lounge3_Text_262DA7, + BattleFrontier_Lounge3_Text_262E34, + BattleFrontier_Lounge3_Text_262EC1, + BattleFrontier_Lounge3_Text_262F56, + BattleFrontier_Lounge3_Text_262FEB, + BattleFrontier_Lounge3_Text_263078, + BattleFrontier_Lounge3_Text_263105, + BattleFrontier_Lounge3_Text_26318C, + BattleFrontier_Lounge3_Text_263211, + }; + ShowFieldMessage(gUnknown_085B30D4[VarGet(VAR_FRONTIER_GAMBLER_SET_FACILITY_F)]); } -const u16 gUnknown_085B3104[] = {0x0000, 0x0001, 0x0002, 0x0100, 0x0101, 0x0400, 0x0401, 0x0200, 0x0201, 0x0300, 0x0500, 0x0600}; - void sub_813A878(u8 a0) { + static const u16 gUnknown_085B3104[] = {0x0000, 0x0001, 0x0002, 0x0100, 0x0101, 0x0400, 0x0401, 0x0200, 0x0201, 0x0300, 0x0500, 0x0600}; + u16 var1 = VarGet(VAR_0x40CE); u16 var2 = VarGet(VAR_FRONTIER_GAMBLER_SET_FACILITY_F); u16 var3 = VarGet(VAR_FRONTIER_FACILITY); @@ -3062,18 +3065,18 @@ void sub_813A8FC(void) PrintTextOnWindow(gUnknown_0203AB6D, 1, string, x, 1, 0, NULL); } -const struct WindowTemplate gUnknown_085B311C = { - .priority = 0, - .tilemapLeft = 1, - .tilemapTop = 1, - .width = 6, - .height = 2, - .paletteNum = 15, - .baseBlock = 8, -}; - void sub_813A958(void) { + static const struct WindowTemplate gUnknown_085B311C = { + .priority = 0, + .tilemapLeft = 1, + .tilemapTop = 1, + .width = 6, + .height = 2, + .paletteNum = 15, + .baseBlock = 8, + }; + gUnknown_0203AB6D = AddWindow(&gUnknown_085B311C); SetStandardWindowBorderStyle(gUnknown_0203AB6D, 0); sub_813A8FC(); @@ -3115,18 +3118,18 @@ u16 sub_813AA04(void) return gSaveBlock2Ptr->frontier.frontierBattlePoints; } -const struct WindowTemplate gUnknown_085B3124 = { - .priority = 0, - .tilemapLeft = 2, - .tilemapTop = 9, - .width = 4, - .height = 4, - .paletteNum = 15, - .baseBlock = 20, -}; - void sub_813AA18(void) { + static const struct WindowTemplate gUnknown_085B3124 = { + .priority = 0, + .tilemapLeft = 2, + .tilemapTop = 9, + .width = 4, + .height = 4, + .paletteNum = 15, + .baseBlock = 20, + }; + gUnknown_0203AB6E = AddWindow(&gUnknown_085B3124); SetStandardWindowBorderStyle(gUnknown_0203AB6E, 0); CopyWindowToVram(gUnknown_0203AB6E, 2); @@ -3138,61 +3141,59 @@ void sub_813AA44(void) RemoveWindow(gUnknown_0203AB6E); } -const u16 gUnknown_085B312C[] = { 0x004b, 0x0067, 0x0057, 0x004f, 0x0054, 0x0055, 0x0056, 0x0050, 0x0051, 0x0052, 0xffff }; -const u16 gUnknown_085B3142[] = { 0x0071, 0x006f, 0x0072, 0x0073, 0x0074, 0xffff }; -const u16 gUnknown_085B314E[] = { 0x0040, 0x0043, 0x0041, 0x0046, 0x0042, 0x003f, 0xffff }; -const u16 gUnknown_085B315C[] = { 0x00c8, 0x00b4, 0x00b7, 0x00b9, 0x00b3, 0x00ba, 0x00bb, 0x00c4, 0x00c6, 0xffff }; - -const u8 *const gUnknown_085B3170[] = { - BattleFrontier_BattlePointExchangeServiceCorner_Text_2601AA, - BattleFrontier_BattlePointExchangeServiceCorner_Text_2601D0, - BattleFrontier_BattlePointExchangeServiceCorner_Text_260201, - BattleFrontier_BattlePointExchangeServiceCorner_Text_26022F, - BattleFrontier_BattlePointExchangeServiceCorner_Text_26025B, - BattleFrontier_BattlePointExchangeServiceCorner_Text_260287, - BattleFrontier_BattlePointExchangeServiceCorner_Text_2602B5, - BattleFrontier_BattlePointExchangeServiceCorner_Text_2602E0, - BattleFrontier_BattlePointExchangeServiceCorner_Text_26030F, - BattleFrontier_BattlePointExchangeServiceCorner_Text_26033E, - gText_Exit, -}; - -const u8 *const gUnknown_085B319C[] = { - BattleFrontier_BattlePointExchangeServiceCorner_Text_26036C, - BattleFrontier_BattlePointExchangeServiceCorner_Text_26036C, - BattleFrontier_BattlePointExchangeServiceCorner_Text_26036C, - BattleFrontier_BattlePointExchangeServiceCorner_Text_26036C, - BattleFrontier_BattlePointExchangeServiceCorner_Text_26036C, - gText_Exit -}; - -const u8 *const gUnknown_085B31B4[] = { - BattleFrontier_BattlePointExchangeServiceCorner_Text_260397, - BattleFrontier_BattlePointExchangeServiceCorner_Text_2603BE, - BattleFrontier_BattlePointExchangeServiceCorner_Text_2603E6, - BattleFrontier_BattlePointExchangeServiceCorner_Text_26040E, - BattleFrontier_BattlePointExchangeServiceCorner_Text_260436, - BattleFrontier_BattlePointExchangeServiceCorner_Text_26045C, - gText_Exit -}; - -const u8 *const gUnknown_085B31D0[] = { - BattleFrontier_BattlePointExchangeServiceCorner_Text_26047A, - BattleFrontier_BattlePointExchangeServiceCorner_Text_2604AC, - BattleFrontier_BattlePointExchangeServiceCorner_Text_2604D8, - BattleFrontier_BattlePointExchangeServiceCorner_Text_26050F, - BattleFrontier_BattlePointExchangeServiceCorner_Text_260542, - BattleFrontier_BattlePointExchangeServiceCorner_Text_260575, - BattleFrontier_BattlePointExchangeServiceCorner_Text_2605A8, - BattleFrontier_BattlePointExchangeServiceCorner_Text_2605E2, - BattleFrontier_BattlePointExchangeServiceCorner_Text_260613, - gText_Exit -}; - -void sub_813ABD4(u16 a0); - -void sub_813AA60(u16 a0, u16 a1) +static void sub_813AA60(u16 a0, u16 a1) { + static const u16 gUnknown_085B312C[] = { 0x004b, 0x0067, 0x0057, 0x004f, 0x0054, 0x0055, 0x0056, 0x0050, 0x0051, 0x0052, 0xffff }; + static const u16 gUnknown_085B3142[] = { 0x0071, 0x006f, 0x0072, 0x0073, 0x0074, 0xffff }; + static const u16 gUnknown_085B314E[] = { 0x0040, 0x0043, 0x0041, 0x0046, 0x0042, 0x003f, 0xffff }; + static const u16 gUnknown_085B315C[] = { 0x00c8, 0x00b4, 0x00b7, 0x00b9, 0x00b3, 0x00ba, 0x00bb, 0x00c4, 0x00c6, 0xffff }; + + static const u8 *const gUnknown_085B3170[] = { + BattleFrontier_BattlePointExchangeServiceCorner_Text_2601AA, + BattleFrontier_BattlePointExchangeServiceCorner_Text_2601D0, + BattleFrontier_BattlePointExchangeServiceCorner_Text_260201, + BattleFrontier_BattlePointExchangeServiceCorner_Text_26022F, + BattleFrontier_BattlePointExchangeServiceCorner_Text_26025B, + BattleFrontier_BattlePointExchangeServiceCorner_Text_260287, + BattleFrontier_BattlePointExchangeServiceCorner_Text_2602B5, + BattleFrontier_BattlePointExchangeServiceCorner_Text_2602E0, + BattleFrontier_BattlePointExchangeServiceCorner_Text_26030F, + BattleFrontier_BattlePointExchangeServiceCorner_Text_26033E, + gText_Exit, + }; + + static const u8 *const gUnknown_085B319C[] = { + BattleFrontier_BattlePointExchangeServiceCorner_Text_26036C, + BattleFrontier_BattlePointExchangeServiceCorner_Text_26036C, + BattleFrontier_BattlePointExchangeServiceCorner_Text_26036C, + BattleFrontier_BattlePointExchangeServiceCorner_Text_26036C, + BattleFrontier_BattlePointExchangeServiceCorner_Text_26036C, + gText_Exit + }; + + static const u8 *const gUnknown_085B31B4[] = { + BattleFrontier_BattlePointExchangeServiceCorner_Text_260397, + BattleFrontier_BattlePointExchangeServiceCorner_Text_2603BE, + BattleFrontier_BattlePointExchangeServiceCorner_Text_2603E6, + BattleFrontier_BattlePointExchangeServiceCorner_Text_26040E, + BattleFrontier_BattlePointExchangeServiceCorner_Text_260436, + BattleFrontier_BattlePointExchangeServiceCorner_Text_26045C, + gText_Exit + }; + + static const u8 *const gUnknown_085B31D0[] = { + BattleFrontier_BattlePointExchangeServiceCorner_Text_26047A, + BattleFrontier_BattlePointExchangeServiceCorner_Text_2604AC, + BattleFrontier_BattlePointExchangeServiceCorner_Text_2604D8, + BattleFrontier_BattlePointExchangeServiceCorner_Text_26050F, + BattleFrontier_BattlePointExchangeServiceCorner_Text_260542, + BattleFrontier_BattlePointExchangeServiceCorner_Text_260575, + BattleFrontier_BattlePointExchangeServiceCorner_Text_2605A8, + BattleFrontier_BattlePointExchangeServiceCorner_Text_2605E2, + BattleFrontier_BattlePointExchangeServiceCorner_Text_260613, + gText_Exit + }; + if (a0 > 2 && a0 < 7) { FillWindowPixelRect(0, 0x11, 0, 0, 216, 32); @@ -3236,7 +3237,7 @@ void sub_813AA60(u16 a0, u16 a1) } } -void sub_813ABD4(u16 a0) +static void sub_813ABD4(u16 a0) { FreeSpriteTilesByTag(5500); FreeSpritePaletteByTag(5500); @@ -3250,7 +3251,7 @@ void sub_813ABD4(u16 a0) } } -void sub_813AC44(u16 a0, u16 unused) +static void sub_813AC44(u16 a0, u16 unused) { if (gUnknown_0203AB6C != MAX_SPRITES) { @@ -3264,8 +3265,8 @@ void sub_813AC44(u16 a0, u16 unused) } } -const u16 gUnknown_085B31F8[] = { 0x0087, 0x0045, 0x008a, 0x0005, 0x0019, 0x0022, 0x009d, 0x0044, 0x0056, 0x000e }; -const u16 gUnknown_085B320C[] = { 0x006f, 0x00ad, 0x00bd, 0x0081, 0x00c4, 0x00cb, 0x00f4, 0x0008, 0x0009, 0x0007 }; +static const u16 gUnknown_085B31F8[] = { 0x0087, 0x0045, 0x008a, 0x0005, 0x0019, 0x0022, 0x009d, 0x0044, 0x0056, 0x000e }; +static const u16 gUnknown_085B320C[] = { 0x006f, 0x00ad, 0x00bd, 0x0081, 0x00c4, 0x00cb, 0x00f4, 0x0008, 0x0009, 0x0007 }; void sub_813AC7C(void) { @@ -3279,18 +3280,18 @@ void sub_813AC7C(void) } } -const struct WindowTemplate gUnknown_085B3220 = { - .priority = 0, - .tilemapLeft = 1, - .tilemapTop = 7, - .width = 12, - .height = 6, - .paletteNum = 15, - .baseBlock = 28, -}; - -void sub_813ACE8(u8 a0, u16 a1) +static void sub_813ACE8(u8 a0, u16 a1) { + static const struct WindowTemplate gUnknown_085B3220 = { + .priority = 0, + .tilemapLeft = 1, + .tilemapTop = 7, + .width = 12, + .height = 6, + .paletteNum = 15, + .baseBlock = 28, + }; + if (a0 == 9 || a0 == 10) { if (gSpecialVar_0x8006 == 0) @@ -3302,36 +3303,36 @@ void sub_813ACE8(u8 a0, u16 a1) } } -const u8 *const gUnknown_085B3228[] = { - BattleFrontier_Lounge7_Text_265E30, - BattleFrontier_Lounge7_Text_265E5B, - BattleFrontier_Lounge7_Text_265E8A, - BattleFrontier_Lounge7_Text_265EC0, - BattleFrontier_Lounge7_Text_265EED, - BattleFrontier_Lounge7_Text_265F1C, - BattleFrontier_Lounge7_Text_265F47, - BattleFrontier_Lounge7_Text_265F77, - BattleFrontier_Lounge7_Text_265FAA, - BattleFrontier_Lounge7_Text_265FDD, - gText_Exit, -}; - -const u8 *const gUnknown_085B3254[] = { - BattleFrontier_Lounge7_Text_26600A, - BattleFrontier_Lounge7_Text_26603E, - BattleFrontier_Lounge7_Text_266070, - BattleFrontier_Lounge7_Text_2660A6, - BattleFrontier_Lounge7_Text_2660D0, - BattleFrontier_Lounge7_Text_2660FF, - BattleFrontier_Lounge7_Text_26612D, - BattleFrontier_Lounge7_Text_26615F, - BattleFrontier_Lounge7_Text_266185, - BattleFrontier_Lounge7_Text_2661B5, - gText_Exit, -}; - -void sub_813AD34(u8 a0, u16 a1) +static void sub_813AD34(u8 a0, u16 a1) { + static const u8 *const gUnknown_085B3228[] = { + BattleFrontier_Lounge7_Text_265E30, + BattleFrontier_Lounge7_Text_265E5B, + BattleFrontier_Lounge7_Text_265E8A, + BattleFrontier_Lounge7_Text_265EC0, + BattleFrontier_Lounge7_Text_265EED, + BattleFrontier_Lounge7_Text_265F1C, + BattleFrontier_Lounge7_Text_265F47, + BattleFrontier_Lounge7_Text_265F77, + BattleFrontier_Lounge7_Text_265FAA, + BattleFrontier_Lounge7_Text_265FDD, + gText_Exit, + }; + + static const u8 *const gUnknown_085B3254[] = { + BattleFrontier_Lounge7_Text_26600A, + BattleFrontier_Lounge7_Text_26603E, + BattleFrontier_Lounge7_Text_266070, + BattleFrontier_Lounge7_Text_2660A6, + BattleFrontier_Lounge7_Text_2660D0, + BattleFrontier_Lounge7_Text_2660FF, + BattleFrontier_Lounge7_Text_26612D, + BattleFrontier_Lounge7_Text_26615F, + BattleFrontier_Lounge7_Text_266185, + BattleFrontier_Lounge7_Text_2661B5, + gText_Exit, + }; + if (a0 == 9 || a0 == 10) { FillWindowPixelRect(gUnknown_0203AB5E, 0x11, 0, 0, 96, 48); @@ -3429,14 +3430,12 @@ void sub_813AF48(void) } } -void task_deoxys_sound(u8 taskId); - void sub_813AFC8(void) { CreateTask(task_deoxys_sound, 8); } -const u16 gUnknown_085B3280[][16] = { +static const u16 gUnknown_085B3280[][16] = { INCBIN_U16("graphics/misc/deoxys1.gbapal"), INCBIN_U16("graphics/misc/deoxys2.gbapal"), INCBIN_U16("graphics/misc/deoxys3.gbapal"), @@ -3450,7 +3449,7 @@ const u16 gUnknown_085B3280[][16] = { INCBIN_U16("graphics/misc/deoxys11.gbapal"), }; -const u8 gUnknown_085B33E0[][2] = { +static const u8 gUnknown_085B33E0[][2] = { { 0x0f, 0x0c }, { 0x0b, 0x0e }, { 0x0f, 0x08 }, @@ -3464,12 +3463,10 @@ const u8 gUnknown_085B33E0[][2] = { { 0x0f, 0x0a }, }; -const u8 gUnknown_085B33F6[] = { 0x04, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x06, 0x03, 0x03 }; - -void sub_813B0B4(u8 a0); - -void task_deoxys_sound(u8 taskId) +static void task_deoxys_sound(u8 taskId) { + static const u8 gUnknown_085B33F6[] = { 0x04, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x06, 0x03, 0x03 }; + if (FlagGet(FLAG_0x8D4) == TRUE) { gSpecialVar_Result = 3; @@ -3507,9 +3504,7 @@ void task_deoxys_sound(u8 taskId) } } -void sub_813B160(u8 taskId); - -void sub_813B0B4(u8 a0) +static void sub_813B0B4(u8 a0) { u8 eventObjectId; LoadPalette(&gUnknown_085B3280[a0], 0x1A0, 8); @@ -3545,7 +3540,7 @@ void sub_813B0B4(u8 a0) Overworld_SetEventObjTemplateCoords(1, gUnknown_085B33E0[a0][0], gUnknown_085B33E0[a0][1]); } -void sub_813B160(u8 taskId) +static void sub_813B160(u8 taskId) { if (FieldEffectActiveListContains(FLDEFF_66) == FALSE) { @@ -3571,8 +3566,6 @@ void increment_var_x4026_on_birth_island_modulo_100(void) } } -extern void BlendPalettes(u32, u8, u16); - void sub_813B1D0(void) { LoadPalette(&gUnknown_085B3280[(u8)VarGet(VAR_0x4035)], 0x1A0, 8); @@ -3656,10 +3649,10 @@ void sub_813B2E4(void) } } -const u8 gUnknown_085B3400[] = { 0x1d, 0x1d, 0x1e, 0x1e, 0x1f, 0x1f, 0x21, 0x21, 0x14, 0x14, 0x28, 0x28, 0x2a, 0x2a, 0x2c, 0x2c }; - bool32 sub_813B374(void) { + static const u8 gUnknown_085B3400[] = { 0x1d, 0x1d, 0x1e, 0x1e, 0x1f, 0x1f, 0x21, 0x21, 0x14, 0x14, 0x28, 0x28, 0x2a, 0x2a, 0x2c, 0x2c }; + u16 var = VarGet(VAR_0x4037); GetMapName(gStringVar1, gUnknown_085B3400[var - 1], 0); @@ -3674,169 +3667,663 @@ bool32 sub_813B374(void) } } -const u8 gUnknown_085B3410[] = { 0x1d, 0x1d, 0x1e, 0x1e, 0x1f, 0x1f, 0x21, 0x21, 0x14, 0x14, 0x28, 0x28, 0x2a, 0x2a, 0x2c, 0x2c }; - -// last parts of switch statements insist on merging -#ifdef NONMATCHING bool32 sub_813B3B0(void) { + static const u8 gUnknown_085B3410[] = { 0x1d, 0x1d, 0x1e, 0x1e, 0x1f, 0x1f, 0x21, 0x21, 0x14, 0x14, 0x28, 0x28, 0x2a, 0x2a, 0x2c, 0x2c }; + u16 var1 = VarGet(VAR_0x4038); u16 var2 = VarGet(VAR_0x4037); - if (var2 != 0) + if (!var2) { - if (++var1 > 999) - { - VarSet(VAR_0x4038, 0); - if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(UNDERWATER_MARINE_CAVE)) - { - switch (gSaveBlock1Ptr->location.mapNum) - { - case MAP_NUM(UNDERWATER_MARINE_CAVE): - case MAP_NUM(MARINE_CAVE_ENTRANCE): - case MAP_NUM(MARINE_CAVE_END): - case MAP_NUM(TERRA_CAVE_ENTRANCE): - case MAP_NUM(TERRA_CAVE_END): - VarSet(VAR_0x4039, 1); - return FALSE; - default: - break; - } - } - - if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(UNDERWATER3)) - { - switch (gSaveBlock1Ptr->location.mapNum) - { - case MAP_NUM(UNDERWATER3): - case MAP_NUM(UNDERWATER5): - case MAP_NUM(UNDERWATER6): - case MAP_NUM(UNDERWATER7): - VarSet(VAR_0x4039, 1); - return FALSE; - default: - break; - } - } + return FALSE; + } - if (gSaveBlock1Ptr->location.mapNum == gUnknown_085B3410[var2 - 1] && - gSaveBlock1Ptr->location.mapGroup == 0) + if (++var1 > 999) + { + VarSet(VAR_0x4038, 0); + if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(UNDERWATER_MARINE_CAVE)) + { + switch (gSaveBlock1Ptr->location.mapNum) { - return TRUE; + case MAP_NUM(UNDERWATER_MARINE_CAVE): + case MAP_NUM(MARINE_CAVE_ENTRANCE): + case MAP_NUM(MARINE_CAVE_END): + case MAP_NUM(TERRA_CAVE_ENTRANCE): + case MAP_NUM(TERRA_CAVE_END): + VarSet(VAR_0x4039, 1); + return FALSE; + default: + break; } - else + } + + if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(UNDERWATER3)) + { + switch (gSaveBlock1Ptr->location.mapNum) { - VarSet(VAR_0x4037, 0); - return FALSE; + case MAP_NUM(UNDERWATER3): + case MAP_NUM(UNDERWATER5): + case MAP_NUM(UNDERWATER6): + case MAP_NUM(UNDERWATER7): + VarSet(VAR_0x4039, 1); + return FALSE; + default: + break; } } + + if (gSaveBlock1Ptr->location.mapNum == gUnknown_085B3410[var2 - 1] && + gSaveBlock1Ptr->location.mapGroup == 0) + { + return TRUE; + } else { - VarSet(VAR_0x4038, var1); + VarSet(VAR_0x4037, 0); return FALSE; } } else { + VarSet(VAR_0x4038, var1); return FALSE; } } -#else -NAKED -bool32 sub_813B3B0(void) + +void sub_813B484(void) { - asm_unified("push {r4-r6,lr}\n\ - ldr r5, =0x00004038\n\ - adds r0, r5, 0\n\ - bl VarGet\n\ - lsls r0, 16\n\ - lsrs r4, r0, 16\n\ - ldr r0, =0x00004037\n\ - bl VarGet\n\ - lsls r0, 16\n\ - lsrs r6, r0, 16\n\ - cmp r6, 0\n\ - beq _0813B47C\n\ - adds r0, r4, 0x1\n\ - lsls r0, 16\n\ - lsrs r4, r0, 16\n\ - ldr r0, =0x000003e7\n\ - cmp r4, r0\n\ - bls _0813B474\n\ - adds r0, r5, 0\n\ - movs r1, 0\n\ - bl VarSet\n\ - ldr r0, =gSaveBlock1Ptr\n\ - ldr r1, [r0]\n\ - movs r0, 0x4\n\ - ldrsb r0, [r1, r0]\n\ - cmp r0, 0x18\n\ - bne _0813B414\n\ - movs r0, 0x5\n\ - ldrsb r0, [r1, r0]\n\ - cmp r0, 0x69\n\ - bgt _0813B414\n\ - cmp r0, 0x65\n\ - blt _0813B414\n\ - ldr r0, =0x00004039\n\ - movs r1, 0x1\n\ - b _0813B478\n\ - .pool\n\ -_0813B414:\n\ - ldr r0, =gSaveBlock1Ptr\n\ - ldr r2, [r0]\n\ - movs r1, 0x4\n\ - ldrsb r1, [r2, r1]\n\ - adds r3, r0, 0\n\ - cmp r1, 0\n\ - bne _0813B444\n\ - movs r0, 0x5\n\ - ldrsb r0, [r2, r0]\n\ - cmp r0, 0x34\n\ - beq _0813B436\n\ - cmp r0, 0x34\n\ - blt _0813B444\n\ - cmp r0, 0x38\n\ - bgt _0813B444\n\ - cmp r0, 0x36\n\ - blt _0813B444\n\ -_0813B436:\n\ - ldr r0, =0x00004039\n\ - movs r1, 0x1\n\ - b _0813B478\n\ - .pool\n\ -_0813B444:\n\ - ldr r3, [r3]\n\ - movs r2, 0x5\n\ - ldrsb r2, [r3, r2]\n\ - ldr r1, =gUnknown_085B3410\n\ - subs r0, r6, 0x1\n\ - adds r0, r1\n\ - ldrb r0, [r0]\n\ - cmp r2, r0\n\ - bne _0813B468\n\ - movs r0, 0x4\n\ - ldrsb r0, [r3, r0]\n\ - cmp r0, 0\n\ - bne _0813B468\n\ - movs r0, 0x1\n\ - b _0813B47E\n\ - .pool\n\ -_0813B468:\n\ - ldr r0, =0x00004037\n\ - movs r1, 0\n\ - b _0813B478\n\ - .pool\n\ -_0813B474:\n\ - adds r0, r5, 0\n\ - adds r1, r4, 0\n\ -_0813B478:\n\ - bl VarSet\n\ -_0813B47C:\n\ - movs r0, 0\n\ -_0813B47E:\n\ - pop {r4-r6}\n\ - pop {r1}\n\ - bx r1"); + sub_80AB104(2); +} + +bool32 sub_813B490(void) +{ + static const u8 gUnknown_085B3420[][3] = { + { 0x02, 0x04, 0x01 }, + { 0x04, 0x04, 0x01 }, + { 0x05, 0x00, 0x01 }, + { 0x06, 0x03, 0x01 }, + { 0x08, 0x06, 0x01 }, + { 0x09, 0x0d, 0x01 }, + { 0x0a, 0x07, 0x01 }, + { 0x0b, 0x07, 0x01 }, + { 0x0c, 0x04, 0x01 }, + { 0x0e, 0x05, 0x01 }, + { 0x0f, 0x04, 0x01 }, + { 0x1a, 0x37, 0x01 } + }; + + u8 i; + for (i = 0; i < 12; i++) + { + if (gSaveBlock1Ptr->location.mapGroup == gUnknown_085B3420[i][0]) + { + if (gSaveBlock1Ptr->location.mapNum == gUnknown_085B3420[i][1]) + { + return gUnknown_085B3420[i][2]; + } + } + } + return TRUE; +} + +bool32 sub_813B4E0(void) +{ + int index = GetRematchIdxByTrainerIdx(gSpecialVar_0x8004); + if (index >= 0) + { + if (FlagGet(FLAG_MATCH_CALL_REGISTERED + index) == TRUE) + return TRUE; + } + return FALSE; +} + +bool32 sub_813B514(void) +{ + if (!VarGet(VAR_0x403F)) + { + return FALSE; + } + return TRUE; +} + +void sub_813B534(void) +{ + gUnknown_0203AB70 = gBattleTypeFlags; + gBattleTypeFlags = 0; + if (!gReceivedRemoteLinkPlayers) + { + CreateTask(sub_80B3AF8, 5); + } +} + +void sub_813B568(void) +{ + CreateTask(sub_813B57C, 5); +} + +static void sub_813B57C(u8 taskId) +{ + switch (gTasks[taskId].data[0]) + { + case 0: + if (!FuncIsActiveTask(sub_80B3AF8)) + { + gTasks[taskId].data[0]++; + } + break; + case 1: + if (sub_800A520() == TRUE) + { + if (GetMultiplayerId() == 0) + { + gTasks[taskId].data[0]++; + } + else + { + SendBlock(bitmask_all_link_players_but_self(), &gSpecialVar_0x8004, 2); + gTasks[taskId].data[0]++; + } + } + break; + case 2: + if ((GetBlockReceivedStatus() & 2) != 0) + { + if (GetMultiplayerId() == 0) + { + gSpecialVar_0x8005 = gBlockRecvBuffer[1][0]; + ResetBlockReceivedFlag(1); + if (gSpecialVar_0x8004 == 1 && gSpecialVar_0x8005 == 1) + { + gSpecialVar_Result = 1; + } + else if (gSpecialVar_0x8004 == 0 && gSpecialVar_0x8005 == 1) + { + gSpecialVar_Result = 2; + } + else if (gSpecialVar_0x8004 == 1 && gSpecialVar_0x8005 == 0) + { + gSpecialVar_Result = 3; + } + else + { + gSpecialVar_Result = 0; + } + } + gTasks[taskId].data[0]++; + } + break; + case 3: + if (sub_800A520() == TRUE) + { + if (GetMultiplayerId() != 0) + { + gTasks[taskId].data[0]++; + } + else + { + SendBlock(bitmask_all_link_players_but_self(), &gSpecialVar_Result, 2); + gTasks[taskId].data[0]++; + } + } + break; + case 4: + if ((GetBlockReceivedStatus() & 1) != 0) + { + if (GetMultiplayerId() != 0) + { + gSpecialVar_Result = gBlockRecvBuffer[0][0]; + ResetBlockReceivedFlag(0); + gTasks[taskId].data[0]++; + } + else + { + gTasks[taskId].data[0]++; + } + } + break; + case 5: + if (GetMultiplayerId() == 0) + { + if (gSpecialVar_Result == 2) + { + ShowFieldAutoScrollMessage(gText_YourPartnerHasRetired); + } + } + else + { + if (gSpecialVar_Result == 3) + { + ShowFieldAutoScrollMessage(gText_YourPartnerHasRetired); + } + } + gTasks[taskId].data[0]++; + break; + case 6: + if (!IsTextPrinterActive(0)) + { + gTasks[taskId].data[0]++; + } + break; + case 7: + if (sub_800A520() == 1) + { + sub_800ADF8(); + gTasks[taskId].data[0]++; + } + break; + case 8: + if (sub_800A520() == 1) + { + gTasks[taskId].data[0]++; + } + break; + case 9: + if (gWirelessCommType == 0) + { + sub_800AC34(); + } + gBattleTypeFlags = gUnknown_0203AB70; + EnableBothScriptContexts(); + DestroyTask(taskId); + break; + } +} + +void sub_813B7D8(void) +{ + if (gSpecialVar_0x8004 == 0) + { + DoRayquazaScene(0, TRUE, CB2_ReturnToFieldContinueScriptPlayMapMusic); + } + else + { + DoRayquazaScene(1, FALSE, CB2_ReturnToFieldContinueScriptPlayMapMusic); + } +} + +void sub_813B80C(void) +{ + CreateTask(sub_813B824, 8); + PlaySE(SE_W017); +} + +static void sub_813B824(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + + data[1]++; + if (data[1] == gSpecialVar_0x8005) + { + data[0]++; + data[1] = 0; + PlaySE(SE_W017); + } + + if (data[0] == gSpecialVar_0x8004 - 1) + { + DestroyTask(taskId); + } +} + +void sub_813B880(void) +{ + u8 taskId = CreateTask(_fwalk, 8); + gTasks[taskId].data[0] = 4; + gTasks[taskId].data[1] = 4; + gTasks[taskId].data[2] = 4; + gTasks[taskId].data[3] = 0; +} + +static void _fwalk(u8 taskId) +{ + u8 x, y; + s16 *data = gTasks[taskId].data; + + data[data[3]]--; + if (data[data[3]] == 0) + { + for (y = 0; y < 4; y++) + { + for (x = 0; x < 3; x++) + { + MapGridSetMetatileIdAt(gSaveBlock1Ptr->pos.x + x + 6, gSaveBlock1Ptr->pos.y + y + 4, x + 0x201 + y * 8 + data[3] * 32); + } + } + DrawWholeMapView(); + data[3]++; + if (data[3] == 3) + { + DestroyTask(taskId); + EnableBothScriptContexts(); + } + } +} + +void sub_813B968(void) +{ + gSpecialVar_Result = gSpecialVar_0x8004 / 7; + gSpecialVar_Result -= (gSpecialVar_Result / 20) * 20; +} + +void sub_813B9A0(void) +{ + if (gSaveBlock1Ptr->lastHealLocation.mapGroup == MAP_GROUP(DEWFORD_TOWN) && gSaveBlock1Ptr->lastHealLocation.mapNum == MAP_NUM(DEWFORD_TOWN)) + { + Overworld_SetHealLocationWarp(3); + } +} + +bool32 sub_813B9C0(void) +{ + static const u16 gUnknown_085B3444[] = { + MAP_OLDALE_TOWN_POKEMON_CENTER_1F, + MAP_DEWFORD_TOWN_POKEMON_CENTER_1F, + MAP_LAVARIDGE_TOWN_POKEMON_CENTER_1F, + MAP_FALLARBOR_TOWN_POKEMON_CENTER_1F, + MAP_VERDANTURF_TOWN_POKEMON_CENTER_1F, + MAP_PACIFIDLOG_TOWN_POKEMON_CENTER_1F, + MAP_PETALBURG_CITY_POKEMON_CENTER_1F, + MAP_SLATEPORT_CITY_POKEMON_CENTER_1F, + MAP_MAUVILLE_CITY_POKEMON_CENTER_1F, + MAP_RUSTBORO_CITY_POKEMON_CENTER_1F, + MAP_FORTREE_CITY_POKEMON_CENTER_1F, + MAP_LILYCOVE_CITY_POKEMON_CENTER_1F, + MAP_MOSSDEEP_CITY_POKEMON_CENTER_1F, + MAP_SOOTOPOLIS_CITY_POKEMON_CENTER_1F, + MAP_EVER_GRANDE_CITY_POKEMON_CENTER_1F, + MAP_EVER_GRANDE_CITY_POKEMON_LEAGUE_1F, + MAP_BATTLE_FRONTIER_POKEMON_CENTER_1F, + MAP_SINGLE_BATTLE_COLOSSEUM, + MAP_TRADE_CENTER, + MAP_RECORD_CORNER, + MAP_DOUBLE_BATTLE_COLOSSEUM, + 0xffff + }; + + int i; + u16 map = (gSaveBlock1Ptr->location.mapGroup << 8) + gSaveBlock1Ptr->location.mapNum; + + for (i = 0; gUnknown_085B3444[i] != 0xFFFF; i++) + { + if (gUnknown_085B3444[i] == map) + { + return TRUE; + } + } + return FALSE; +} + +void ResetFanClub(void) +{ + gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] = 0; + gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_2 - VARS_START] = 0; +} + +void sub_813BA30(void) +{ + if (sub_813BF44() != 0) + { + UpdateMovedLilycoveFanClubMembers(); + gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_2 - VARS_START] = gSaveBlock2Ptr->playTimeHours; + } +} + +void sub_813BA60(void) +{ + if (!((gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] >> 7) & 1)) + { + sub_813BF60(); + sub_813BD84(); + gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_2 - VARS_START] = gSaveBlock2Ptr->playTimeHours; + FlagClear(FLAG_HIDE_FANCLUB_OLD_LADY); + FlagClear(FLAG_HIDE_FANCLUB_BOY); + FlagClear(FLAG_HIDE_FANCLUB_LITTLE_BOY); + FlagClear(FLAG_HIDE_FANCLUB_LADY); + FlagClear(FLAG_0x2DA); + VarSet(VAR_LILYCOVE_FAN_CLUB_STATE, 1); + } +} + +u8 sub_813BADC(u8 a0) +{ + static const u8 gUnknown_085B3470[] = { 0x02, 0x01, 0x02, 0x01 }; + + if (VarGet(VAR_LILYCOVE_FAN_CLUB_STATE) == 2) + { + if ((gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] & 0x7F) + gUnknown_085B3470[a0] > 19) + { + if (GetNumMovedLilycoveFanClubMembers() < 3) + { + sub_813BB74(); + gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] &= 0xFF80; + } + else + { + gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] = (gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] & 0xFF80) | 0x14; + } + } + else + { + gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] += gUnknown_085B3470[a0]; + } + } + + return gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] & 0x7F; +} + +static u16 sub_813BB74(void) +{ + static const u8 gUnknown_085B3474[] = { 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f }; + + u8 i; + u8 retVal = 0; + + for (i = 0; i < 8; i++) + { + if (!((gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] >> gUnknown_085B3474[i]) & 1)) + { + retVal = i; + if ((Random() & 1) != 0) + { + gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] |= 1 << gUnknown_085B3474[retVal]; + return retVal; + } + } + } + gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] |= 1 << gUnknown_085B3474[retVal]; + return retVal; +} + +static u16 sub_813BC00(void) +{ + static const u8 gUnknown_085B347C[] = { 0x08, 0x0d, 0x0e, 0x0b, 0x0a, 0x0c, 0x0f, 0x09 }; + + u8 i; + u8 retVal = 0; + + if (GetNumMovedLilycoveFanClubMembers() == 1) + { + return 0; + } + + for (i = 0; i < 8; i++) + { + if (((gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] >> gUnknown_085B347C[i]) & 1) != 0) + { + retVal = i; + if ((Random() & 1) != 0) + { + gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] ^= 1 << gUnknown_085B347C[retVal]; + return retVal; + } + } + } + + if (((gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] >> gUnknown_085B347C[retVal]) & 1)) + { + gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] ^= 1 << gUnknown_085B347C[retVal]; + } + + return retVal; +} + +u16 GetNumMovedLilycoveFanClubMembers(void) +{ + u8 i; + u8 retVal = 0; + + for (i = 0; i < 8; i++) + { + if (((gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] >> (i + 8)) & 1) != 0) + { + retVal++; + } + } + + return retVal; +} + +void UpdateMovedLilycoveFanClubMembers(void) +{ + u8 i = 0; + if (gSaveBlock2Ptr->playTimeHours < 999) + { + while (TRUE) + { + if (GetNumMovedLilycoveFanClubMembers() < 5) + { + gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_2 - VARS_START] = gSaveBlock2Ptr->playTimeHours; + break; + } + else if (i == 8) + { + break; + } + else if (gSaveBlock2Ptr->playTimeHours - gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_2 - VARS_START] < 12) + { + return; + } + sub_813BC00(); + gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_2 - VARS_START] += 12; + i++; + } + } +} + +bool8 ShouldMoveLilycoveFanClubMember(void) +{ + return (gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] >> gSpecialVar_0x8004) & 1; +} + +static void sub_813BD84(void) +{ + gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] |= 0x2000; + gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] |= 0x100; + gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] |= 0x400; +} + +void BufferStreakTrainerText(void) +{ + u8 a = 0; + u8 b = 0; + switch (gSpecialVar_0x8004) + { + case 8: + break; + case 9: + break; + case 10: + a = 0; + b = 3; + break; + case 11: + a = 0; + b = 1; + break; + case 12: + a = 1; + b = 0; + break; + case 13: + a = 0; + b = 4; + break; + case 14: + a = 1; + b = 5; + break; + case 15: + break; + } + sub_813BE30(&gSaveBlock1Ptr->linkBattleRecords, a, b); +} + +static void sub_813BE30(struct LinkBattleRecords *linkRecords, u8 a, u8 b) +{ + struct LinkBattleRecord *record = &linkRecords->entries[a]; + if (record->name[0] == EOS) + { + switch (b) + { + case 0: + StringCopy(gStringVar1, gText_Wallace); + break; + case 1: + StringCopy(gStringVar1, gText_Steven); + break; + case 2: + StringCopy(gStringVar1, gText_Brawly); + break; + case 3: + StringCopy(gStringVar1, gText_Winona); + break; + case 4: + StringCopy(gStringVar1, gText_Phoebe); + break; + case 5: + StringCopy(gStringVar1, gText_Glacia); + break; + default: + StringCopy(gStringVar1, gText_Wallace); + break; + } + } + else + { + StringCopyN(gStringVar1, record->name, 7); + gStringVar1[7] = EOS; + ConvertInternationalString(gStringVar1, linkRecords->languages[a]); + } +} + +void sub_813BF10(void) +{ + if (VarGet(VAR_LILYCOVE_FAN_CLUB_STATE) == 2) + { + sub_813BA30(); + if (gBattleOutcome == 1) + { + sub_813BB74(); + } + else + { + sub_813BC00(); + } + } +} + +static bool8 sub_813BF44(void) +{ + return (gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] >> 7) & 1; +} + +void sub_813BF60(void) +{ + gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] |= 0x80; +} + +u8 sub_813BF7C(void) +{ + return sub_813BADC(gSpecialVar_0x8004); } -#endif // NONMATCHING diff --git a/sym_ewram.txt b/sym_ewram.txt index 34c9658e8e..37a34b19a6 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -604,10 +604,6 @@ gPlayerFacingPosition: @ 203AB40 .include "src/pokeblock.o" .include "src/field_specials.o" - -gUnknown_0203AB70: @ 203AB70 - .space 0x4 - .include "src/battle_records.o" gUnknown_0203AB7C: @ 203AB7C From 658f9351fe9349eb16edab8d5d503ef741449d4a Mon Sep 17 00:00:00 2001 From: Diegoisawesome Date: Sat, 11 Aug 2018 14:58:51 -0700 Subject: [PATCH 074/234] Rename some specials --- asm/script_menu.s | 8 ++-- data/event_scripts.s | 2 +- .../MauvilleCity_PokemonCenter_1F/scripts.inc | 2 +- data/scripts/mauville_man.inc | 46 +++++++++---------- data/specials.inc | 46 +++++++++---------- include/mauville_old_man.h | 2 +- include/wild_encounter.h | 2 +- src/hof_pc.c | 4 +- src/mauville_old_man.c | 36 +++++++-------- src/trader.c | 12 ++--- 10 files changed, 80 insertions(+), 80 deletions(-) diff --git a/asm/script_menu.s b/asm/script_menu.s index 670740a777..b56b0749c6 100644 --- a/asm/script_menu.s +++ b/asm/script_menu.s @@ -676,9 +676,9 @@ _080E2360: .pool thumb_func_end sub_80E2308 - thumb_func_start ScrSpecial_CreatePCMenu -@ bool ScrSpecial_CreatePCMenu() -ScrSpecial_CreatePCMenu: @ 80E236C + thumb_func_start Special_CreatePCMenu +@ bool Special_CreatePCMenu() +Special_CreatePCMenu: @ 80E236C push {lr} ldr r0, =sub_80E2058 bl FuncIsActiveTask @@ -698,7 +698,7 @@ _080E2394: _080E2396: pop {r1} bx r1 - thumb_func_end ScrSpecial_CreatePCMenu + thumb_func_end Special_CreatePCMenu thumb_func_start CreatePCMenu CreatePCMenu: @ 80E239C diff --git a/data/event_scripts.s b/data/event_scripts.s index 7dbe3fd015..0d766d70b7 100644 --- a/data/event_scripts.s +++ b/data/event_scripts.s @@ -1772,7 +1772,7 @@ EventScript_271D92:: @ 8271D92 EventScript_271DAC:: @ 8271DAC message gUnknown_0827266F waitmessage - special ScrSpecial_CreatePCMenu + special Special_CreatePCMenu waitstate goto EventScript_271DBC end diff --git a/data/maps/MauvilleCity_PokemonCenter_1F/scripts.inc b/data/maps/MauvilleCity_PokemonCenter_1F/scripts.inc index fb76a5fc79..8472f4caa3 100644 --- a/data/maps/MauvilleCity_PokemonCenter_1F/scripts.inc +++ b/data/maps/MauvilleCity_PokemonCenter_1F/scripts.inc @@ -10,7 +10,7 @@ MauvilleCity_PokemonCenter_1F_MapScript1_210E66: @ 8210E66 end MauvilleCity_PokemonCenter_1F_EventScript_210E74:: @ 8210E74 - special ScrSpecial_SetMauvilleOldManEventObjGfx + special Special_SetMauvilleOldManEventObjGfx end MauvilleCity_PokemonCenter_1F_EventScript_210E78:: @ 8210E78 diff --git a/data/scripts/mauville_man.inc b/data/scripts/mauville_man.inc index 46be101e11..186361a008 100644 --- a/data/scripts/mauville_man.inc +++ b/data/scripts/mauville_man.inc @@ -1,5 +1,5 @@ MauvilleCity_PokemonCenter_1F_EventScript_28E066:: @ 828E066 - special ScrSpecial_GetCurrentMauvilleMan + special Special_GetCurrentMauvilleMan switch VAR_RESULT case 0, MauvilleCity_PokemonCenter_1F_EventScript_28E0A6 case 1, MauvilleCity_PokemonCenter_1F_EventScript_28E167 @@ -20,9 +20,9 @@ MauvilleCity_PokemonCenter_1F_EventScript_28E0A6:: @ 828E0A6 MauvilleCity_PokemonCenter_1F_EventScript_28E0C7:: @ 828E0C7 setvar VAR_0x8004, 0 - special ScrSpecial_PlayBardSong + special Special_PlayBardSong delay 60 - special ScrSpecial_HasBardSongBeenChanged + special Special_HasBardSongBeenChanged compare VAR_RESULT, 0 goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E0F4 msgbox MauvilleCity_PokemonCenter_1F_Text_2903E6, 4 @@ -51,12 +51,12 @@ MauvilleCity_PokemonCenter_1F_EventScript_28E113:: @ 828E113 goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E15D msgbox MauvilleCity_PokemonCenter_1F_Text_2904C1, 4 setvar VAR_0x8004, 1 - special ScrSpecial_PlayBardSong + special Special_PlayBardSong delay 60 msgbox MauvilleCity_PokemonCenter_1F_Text_2904EB, 5 compare VAR_RESULT, 0 goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E113 - special ScrSpecial_SaveBardSongLyrics + special Special_SaveBardSongLyrics msgbox MauvilleCity_PokemonCenter_1F_Text_290514, 4 release end @@ -71,7 +71,7 @@ MauvilleCity_PokemonCenter_1F_EventScript_28E167:: @ 828E167 faceplayer setflag FLAG_SYS_HIPSTER_MEET msgbox MauvilleCity_PokemonCenter_1F_Text_29054C, 4 - special ScrSpecial_GetHipsterSpokenFlag + special Special_GetHipsterSpokenFlag compare VAR_RESULT, 0 goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E18C msgbox MauvilleCity_PokemonCenter_1F_Text_290598, 4 @@ -79,7 +79,7 @@ MauvilleCity_PokemonCenter_1F_EventScript_28E167:: @ 828E167 end MauvilleCity_PokemonCenter_1F_EventScript_28E18C:: @ 828E18C - special ScrSpecial_HipsterTeachWord + special Special_HipsterTeachWord compare VAR_RESULT, 1 goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E1A4 msgbox MauvilleCity_PokemonCenter_1F_Text_290602, 4 @@ -88,7 +88,7 @@ MauvilleCity_PokemonCenter_1F_EventScript_28E18C:: @ 828E18C MauvilleCity_PokemonCenter_1F_EventScript_28E1A4:: @ 828E1A4 msgbox MauvilleCity_PokemonCenter_1F_Text_290666, 4 - special ScrSpecial_SetHipsterSpokenFlag + special Special_SetHipsterSpokenFlag release end @@ -157,7 +157,7 @@ MauvilleCity_PokemonCenter_1F_EventScript_28E4D4:: @ 828E4D4 msgbox MauvilleCity_PokemonCenter_1F_Text_28E1B1, 5 compare VAR_RESULT, 0 goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E503 - special ScrSpecial_GetTraderTradedFlag + special Special_GetTraderTradedFlag compare VAR_RESULT, 1 goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E50D message MauvilleCity_PokemonCenter_1F_Text_28E23F @@ -176,7 +176,7 @@ MauvilleCity_PokemonCenter_1F_EventScript_28E50D:: @ 828E50D end MauvilleCity_PokemonCenter_1F_EventScript_28E517:: @ 828E517 - special ScrSpecial_TraderMenuGetDecoration + special Special_TraderMenuGetDecoration waitstate compare VAR_0x8004, 0 goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E558 @@ -185,7 +185,7 @@ MauvilleCity_PokemonCenter_1F_EventScript_28E517:: @ 828E517 msgbox MauvilleCity_PokemonCenter_1F_Text_28E2A9, 5 compare VAR_RESULT, 0 goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E56E - special ScrSpecial_DoesPlayerHaveNoDecorations + special Special_DoesPlayerHaveNoDecorations compare VAR_RESULT, 1 goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E57A goto MauvilleCity_PokemonCenter_1F_EventScript_28E584 @@ -215,19 +215,19 @@ MauvilleCity_PokemonCenter_1F_EventScript_28E57A:: @ 828E57A MauvilleCity_PokemonCenter_1F_EventScript_28E584:: @ 828E584 msgbox MauvilleCity_PokemonCenter_1F_Text_28E323, 4 - special ScrSpecial_TraderMenuGiveDecoration + special Special_TraderMenuGiveDecoration waitstate compare VAR_0x8006, 0 goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E5D4 compare VAR_0x8006, 65535 goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E5DE - special ScrSpecial_IsDecorationFull + special Special_IsDecorationFull compare VAR_RESULT, 1 goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E5EC msgbox MauvilleCity_PokemonCenter_1F_Text_28E3C4, 5 compare VAR_RESULT, 0 goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E584 - special ScrSpecial_TraderDoDecorationTrade + special Special_TraderDoDecorationTrade msgbox MauvilleCity_PokemonCenter_1F_Text_28E424, 4 release end @@ -813,20 +813,20 @@ MauvilleCity_PokemonCenter_1F_EventScript_29014A:: @ 829014A msgbox MauvilleCity_PokemonCenter_1F_Text_28E5F6, 5 compare VAR_RESULT, 0 goto_eq MauvilleCity_PokemonCenter_1F_EventScript_290219 - specialvar VAR_RESULT, ScrSpecial_StorytellerGetFreeStorySlot + specialvar VAR_RESULT, Special_StorytellerGetFreeStorySlot compare VAR_RESULT, 0 goto_eq MauvilleCity_PokemonCenter_1F_EventScript_2901DA message MauvilleCity_PokemonCenter_1F_Text_28E673 waitmessage - special ScrSpecial_StorytellerStoryListMenu + special Special_StorytellerStoryListMenu waitstate compare VAR_RESULT, 0 goto_eq MauvilleCity_PokemonCenter_1F_EventScript_2901B7 setvar VAR_0x8008, 1 - special ScrSpecial_StorytellerDisplayStory + special Special_StorytellerDisplayStory waitmessage waitbuttonpress - specialvar VAR_RESULT, ScrSpecial_StorytellerUpdateStat + specialvar VAR_RESULT, Special_StorytellerUpdateStat compare VAR_RESULT, 0 goto_eq MauvilleCity_PokemonCenter_1F_EventScript_2901BD goto MauvilleCity_PokemonCenter_1F_EventScript_29020F @@ -837,7 +837,7 @@ MauvilleCity_PokemonCenter_1F_EventScript_2901B7:: @ 82901B7 MauvilleCity_PokemonCenter_1F_EventScript_2901BD:: @ 82901BD msgbox MauvilleCity_PokemonCenter_1F_Text_28E78A, 4 - specialvar VAR_RESULT, ScrSpecial_HasStorytellerAlreadyRecorded + specialvar VAR_RESULT, Special_HasStorytellerAlreadyRecorded compare VAR_RESULT, 1 goto_eq MauvilleCity_PokemonCenter_1F_EventScript_29022D goto MauvilleCity_PokemonCenter_1F_EventScript_2901E2 @@ -849,7 +849,7 @@ MauvilleCity_PokemonCenter_1F_EventScript_2901E2:: @ 82901E2 msgbox MauvilleCity_PokemonCenter_1F_Text_28E7EE, 5 compare VAR_RESULT, 0 goto_eq MauvilleCity_PokemonCenter_1F_EventScript_290219 - specialvar VAR_RESULT, ScrSpecial_StorytellerInitializeRandomStat + specialvar VAR_RESULT, Special_StorytellerInitializeRandomStat compare VAR_RESULT, 1 goto_eq MauvilleCity_PokemonCenter_1F_EventScript_29020F msgbox MauvilleCity_PokemonCenter_1F_Text_28E881, 4 @@ -903,7 +903,7 @@ MauvilleCity_PokemonCenter_1F_EventScript_2902F6:: @ 82902F6 end MauvilleCity_PokemonCenter_1F_EventScript_290317:: @ 8290317 - special ScrSpecial_GiddyShouldTellAnotherTale + special Special_GiddyShouldTellAnotherTale compare VAR_RESULT, 1 goto_eq MauvilleCity_PokemonCenter_1F_EventScript_290359 compare VAR_RESULT, 0 @@ -911,7 +911,7 @@ MauvilleCity_PokemonCenter_1F_EventScript_290317:: @ 8290317 end MauvilleCity_PokemonCenter_1F_EventScript_290331:: @ 8290331 - special ScrSpecial_GiddyShouldTellAnotherTale + special Special_GiddyShouldTellAnotherTale compare VAR_RESULT, 1 goto_eq MauvilleCity_PokemonCenter_1F_EventScript_29034B compare VAR_RESULT, 0 @@ -924,7 +924,7 @@ MauvilleCity_PokemonCenter_1F_EventScript_29034B:: @ 829034B end MauvilleCity_PokemonCenter_1F_EventScript_290359:: @ 8290359 - special ScrSpecial_GenerateGiddyLine + special Special_GenerateGiddyLine special ShowFieldMessageStringVar4 waitmessage yesnobox 20, 8 diff --git a/data/specials.inc b/data/specials.inc index 86355f4840..35b70b5c99 100644 --- a/data/specials.inc +++ b/data/specials.inc @@ -108,28 +108,28 @@ gSpecials:: @ 81DBA64 def_special sub_80FAFF8 def_special easy_chat_input_maybe def_special sub_811EECC - def_special ScrSpecial_GetCurrentMauvilleMan - def_special ScrSpecial_HasBardSongBeenChanged - def_special ScrSpecial_SaveBardSongLyrics - def_special ScrSpecial_GetHipsterSpokenFlag - def_special ScrSpecial_SetHipsterSpokenFlag - def_special ScrSpecial_HipsterTeachWord - def_special ScrSpecial_PlayBardSong - def_special ScrSpecial_SetMauvilleOldManEventObjGfx - def_special ScrSpecial_GenerateGiddyLine - def_special ScrSpecial_GiddyShouldTellAnotherTale - def_special ScrSpecial_StorytellerGetFreeStorySlot - def_special ScrSpecial_StorytellerDisplayStory - def_special ScrSpecial_StorytellerStoryListMenu - def_special ScrSpecial_StorytellerUpdateStat - def_special ScrSpecial_StorytellerInitializeRandomStat - def_special ScrSpecial_HasStorytellerAlreadyRecorded - def_special ScrSpecial_TraderMenuGetDecoration - def_special ScrSpecial_GetTraderTradedFlag - def_special ScrSpecial_DoesPlayerHaveNoDecorations - def_special ScrSpecial_IsDecorationFull - def_special ScrSpecial_TraderMenuGiveDecoration - def_special ScrSpecial_TraderDoDecorationTrade + def_special Special_GetCurrentMauvilleMan + def_special Special_HasBardSongBeenChanged + def_special Special_SaveBardSongLyrics + def_special Special_GetHipsterSpokenFlag + def_special Special_SetHipsterSpokenFlag + def_special Special_HipsterTeachWord + def_special Special_PlayBardSong + def_special Special_SetMauvilleOldManEventObjGfx + def_special Special_GenerateGiddyLine + def_special Special_GiddyShouldTellAnotherTale + def_special Special_StorytellerGetFreeStorySlot + def_special Special_StorytellerDisplayStory + def_special Special_StorytellerStoryListMenu + def_special Special_StorytellerUpdateStat + def_special Special_StorytellerInitializeRandomStat + def_special Special_HasStorytellerAlreadyRecorded + def_special Special_TraderMenuGetDecoration + def_special Special_GetTraderTradedFlag + def_special Special_DoesPlayerHaveNoDecorations + def_special Special_IsDecorationFull + def_special Special_TraderMenuGiveDecoration + def_special Special_TraderDoDecorationTrade def_special GetSeedotSizeRecordInfo def_special CompareSeedotSize def_special GetLotadSizeRecordInfo @@ -273,7 +273,7 @@ gSpecials:: @ 81DBA64 def_special ShowBerryBlenderRecordWindow def_special ResetTrickHouseEndRoomFlag def_special SetTrickHouseEndRoomFlag - def_special ScrSpecial_CreatePCMenu + def_special Special_CreatePCMenu def_special AccessHallOfFamePC def_special Special_ShowDiploma def_special CheckLeadMonCool diff --git a/include/mauville_old_man.h b/include/mauville_old_man.h index 9d71e81aa5..dd7d5c4e00 100644 --- a/include/mauville_old_man.h +++ b/include/mauville_old_man.h @@ -15,7 +15,7 @@ extern struct BardSong gBardSong; void SetMauvilleOldMan(void); u8 GetCurrentMauvilleOldMan(void); -void ScrSpecial_SetMauvilleOldManEventObjGfx(void); +void Special_SetMauvilleOldManEventObjGfx(void); u8 sub_81201C8(void); void sub_8120B70(OldMan *dest); void sub_8120670(void); diff --git a/include/wild_encounter.h b/include/wild_encounter.h index 55bbaa7dde..14a28ee7e0 100644 --- a/include/wild_encounter.h +++ b/include/wild_encounter.h @@ -33,7 +33,7 @@ extern const struct WildPokemonHeader gWildMonHeaders[]; void DisableWildEncounters(bool8 disabled); bool8 StandardWildEncounter(u16 currMetaTileBehavior, u16 previousMetaTileBehavior); -void ScrSpecial_RockSmashWildEncounter(void); +void Special_RockSmashWildEncounter(void); bool8 SweetScentWildEncounter(void); bool8 DoesCurrentMapHaveFishingMons(void); void FishingWildEncounter(u8 rod); diff --git a/src/hof_pc.c b/src/hof_pc.c index 44b9293378..38bf26c65c 100644 --- a/src/hof_pc.c +++ b/src/hof_pc.c @@ -10,7 +10,7 @@ extern void (*gUnknown_0300485C)(void); extern void Overworld_PlaySpecialMapMusic(void); -extern bool16 ScrSpecial_CreatePCMenu(void); +extern bool16 Special_CreatePCMenu(void); extern void ScriptMenu_DisplayPCStartupPrompt(void); static void ReshowPCMenuAfterHallOfFamePC(void); @@ -32,7 +32,7 @@ static void ReshowPCMenuAfterHallOfFamePC(void) { ScriptContext2_Enable(); Overworld_PlaySpecialMapMusic(); - ScrSpecial_CreatePCMenu(); + Special_CreatePCMenu(); ScriptMenu_DisplayPCStartupPrompt(); BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0); CreateTask(Task_WaitForPaletteFade, 10); diff --git a/src/mauville_old_man.c b/src/mauville_old_man.c index 591e3ad9a1..752e19e9c9 100644 --- a/src/mauville_old_man.c +++ b/src/mauville_old_man.c @@ -136,7 +136,7 @@ void SetMauvilleOldMan(void) SetupGiddy(); break; } - ScrSpecial_SetMauvilleOldManEventObjGfx(); + Special_SetMauvilleOldManEventObjGfx(); } u8 GetCurrentMauvilleOldMan(void) @@ -146,12 +146,12 @@ u8 GetCurrentMauvilleOldMan(void) return common->id; } -void ScrSpecial_GetCurrentMauvilleMan(void) +void Special_GetCurrentMauvilleMan(void) { gSpecialVar_Result = GetCurrentMauvilleOldMan(); } -void ScrSpecial_HasBardSongBeenChanged(void) +void Special_HasBardSongBeenChanged(void) { u16 *scriptResult = &gSpecialVar_Result; // why?? struct MauvilleManBard *bard = &gSaveBlock1Ptr->oldMan.bard; @@ -159,7 +159,7 @@ void ScrSpecial_HasBardSongBeenChanged(void) *scriptResult = bard->hasChangedSong; } -void ScrSpecial_SaveBardSongLyrics(void) +void Special_SaveBardSongLyrics(void) { u16 i; struct MauvilleManBard *bard = &gSaveBlock1Ptr->oldMan.bard; @@ -225,13 +225,13 @@ static void PrepareSongText(void) } } -void ScrSpecial_PlayBardSong(void) +void Special_PlayBardSong(void) { StartBardSong(gSpecialVar_0x8004); ScriptContext1_Stop(); } -void ScrSpecial_GetHipsterSpokenFlag(void) +void Special_GetHipsterSpokenFlag(void) { u16 *scriptResult = &gSpecialVar_Result; // again?? struct MauvilleManHipster *hipster = &gSaveBlock1Ptr->oldMan.hipster; @@ -239,14 +239,14 @@ void ScrSpecial_GetHipsterSpokenFlag(void) *scriptResult = hipster->alreadySpoken; } -void ScrSpecial_SetHipsterSpokenFlag(void) +void Special_SetHipsterSpokenFlag(void) { struct MauvilleManHipster *hipster = &gSaveBlock1Ptr->oldMan.hipster; hipster->alreadySpoken = TRUE; } -void ScrSpecial_HipsterTeachWord(void) +void Special_HipsterTeachWord(void) { u16 var = sub_811F01C(); @@ -261,7 +261,7 @@ void ScrSpecial_HipsterTeachWord(void) } } -void ScrSpecial_GiddyShouldTellAnotherTale(void) +void Special_GiddyShouldTellAnotherTale(void) { struct MauvilleManGiddy *giddy = &gSaveBlock1Ptr->oldMan.giddy; @@ -276,7 +276,7 @@ void ScrSpecial_GiddyShouldTellAnotherTale(void) } } -void ScrSpecial_GenerateGiddyLine(void) +void Special_GenerateGiddyLine(void) { struct MauvilleManGiddy *giddy = &gSaveBlock1Ptr->oldMan.giddy; @@ -406,7 +406,7 @@ void ResetMauvilleOldManFlag(void) case MAUVILLE_MAN_GIDDY: break; } - ScrSpecial_SetMauvilleOldManEventObjGfx(); + Special_SetMauvilleOldManEventObjGfx(); } @@ -671,7 +671,7 @@ static void Task_BardSong(u8 taskId) sub_8197224(); } -void ScrSpecial_SetMauvilleOldManEventObjGfx(void) +void Special_SetMauvilleOldManEventObjGfx(void) { VarSet(VAR_OBJ_GFX_ID_0, EVENT_OBJ_GFX_BARD); } @@ -1199,24 +1199,24 @@ static void Task_StoryListMenu(u8 taskId) // Task_StoryListMenu } // Sets gSpecialVar_Result to TRUE if player selected a story -void ScrSpecial_StorytellerStoryListMenu(void) +void Special_StorytellerStoryListMenu(void) { CreateTask(Task_StoryListMenu, 80); } -void ScrSpecial_StorytellerDisplayStory(void) +void Special_StorytellerDisplayStory(void) { StorytellerDisplayStory(sSelectedStory); } -u8 ScrSpecial_StorytellerGetFreeStorySlot(void) +u8 Special_StorytellerGetFreeStorySlot(void) { sStorytellerPtr = &gSaveBlock1Ptr->oldMan.storyteller; return GetFreeStorySlot(); } // Returns TRUE if stat has increased -bool8 ScrSpecial_StorytellerUpdateStat(void) +bool8 Special_StorytellerUpdateStat(void) { u8 r4; sStorytellerPtr = &gSaveBlock1Ptr->oldMan.storyteller; @@ -1230,7 +1230,7 @@ bool8 ScrSpecial_StorytellerUpdateStat(void) return FALSE; } -bool8 ScrSpecial_HasStorytellerAlreadyRecorded(void) +bool8 Special_HasStorytellerAlreadyRecorded(void) { sStorytellerPtr = &gSaveBlock1Ptr->oldMan.storyteller; @@ -1240,7 +1240,7 @@ bool8 ScrSpecial_HasStorytellerAlreadyRecorded(void) return TRUE; } -bool8 ScrSpecial_StorytellerInitializeRandomStat(void) +bool8 Special_StorytellerInitializeRandomStat(void) { sStorytellerPtr = &gSaveBlock1Ptr->oldMan.storyteller; return StorytellerInitializeRandomStat(); diff --git a/src/trader.c b/src/trader.c index c4d70ac9a9..2cb74b23c2 100644 --- a/src/trader.c +++ b/src/trader.c @@ -130,13 +130,13 @@ void Task_HandleGetDecorationMenuInput(u8 taskId) } } -void ScrSpecial_GetTraderTradedFlag(void) +void Special_GetTraderTradedFlag(void) { struct MauvilleOldManTrader *trader = &gSaveBlock1Ptr->oldMan.trader; gSpecialVar_Result = trader->alreadyTraded; } -void ScrSpecial_DoesPlayerHaveNoDecorations(void) +void Special_DoesPlayerHaveNoDecorations(void) { u8 i; @@ -151,7 +151,7 @@ void ScrSpecial_DoesPlayerHaveNoDecorations(void) gSpecialVar_Result = TRUE; } -void ScrSpecial_IsDecorationFull(void) +void Special_IsDecorationFull(void) { gSpecialVar_Result = FALSE; if (gDecorations[gSpecialVar_0x8004].category != gDecorations[gSpecialVar_0x8006].category @@ -162,7 +162,7 @@ void ScrSpecial_IsDecorationFull(void) } } -void ScrSpecial_TraderMenuGiveDecoration(void) +void Special_TraderMenuGiveDecoration(void) { CreateTask(sub_8127208, 0); } @@ -190,7 +190,7 @@ void sub_8133E1C(u8 taskId) EnableBothScriptContexts(); } -void ScrSpecial_TraderDoDecorationTrade(void) +void Special_TraderDoDecorationTrade(void) { struct MauvilleOldManTrader *trader = &gSaveBlock1Ptr->oldMan.trader; @@ -202,7 +202,7 @@ void ScrSpecial_TraderDoDecorationTrade(void) trader->alreadyTraded = TRUE; } -void ScrSpecial_TraderMenuGetDecoration(void) +void Special_TraderMenuGetDecoration(void) { u8 taskId = CreateTask(Task_HandleGetDecorationMenuInput, 0); CreateAvailableDecorationsMenu(taskId); From df5009cb3e723d2bceca45a63acccf54dfafb095 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Sun, 12 Aug 2018 00:03:19 +0200 Subject: [PATCH 075/234] Move move descriptions to C --- data/pokemon_summary_screen.s | 3 - data/text/move_descriptions.inc | 1421 ----------------------------- include/data2.h | 5 +- ld_script.txt | 1 + src/data/text/move_descriptions.h | 714 +++++++++++++++ src/data/text/move_names.h | 3 +- src/pokemon_summary_screen.c | 5 +- 7 files changed, 724 insertions(+), 1428 deletions(-) delete mode 100644 data/text/move_descriptions.inc create mode 100644 src/data/text/move_descriptions.h diff --git a/data/pokemon_summary_screen.s b/data/pokemon_summary_screen.s index 51e515ccbd..0c22aa6cd7 100644 --- a/data/pokemon_summary_screen.s +++ b/data/pokemon_summary_screen.s @@ -3,9 +3,6 @@ .section .rodata -@ 86181C1 - .include "data/text/move_descriptions.inc" - @ 861CAAC .include "data/text/nature_names.inc" diff --git a/data/text/move_descriptions.inc b/data/text/move_descriptions.inc deleted file mode 100644 index 0f6b1adbfc..0000000000 --- a/data/text/move_descriptions.inc +++ /dev/null @@ -1,1421 +0,0 @@ -gNullMoveDescription:: @ 86181C0 - .string "$" - -gPoundMoveDescription:: @ 86181C1 - .string "Pounds the foe with\nforelegs or tail.$" - -gKarateChopMoveDescription:: @ 86181E7 - .string "A chopping attack with a\nhigh critical-hit ratio.$" - -gDoubleSlapMoveDescription:: @ 8618219 - .string "Repeatedly slaps the foe\n2 to 5 times.$" - -gCometPunchMoveDescription:: @ 8618240 - .string "Repeatedly punches the foe\n2 to 5 times.$" - -gMegaPunchMoveDescription:: @ 8618269 - .string "A strong punch thrown with\nincredible power.$" - -gPayDayMoveDescription:: @ 8618296 - .string "Throws coins at the foe.\nMoney is recovered after.$" - -gFirePunchMoveDescription:: @ 86182C9 - .string "A fiery punch that may burn\nthe foe.$" - -gIcePunchMoveDescription:: @ 86182EE - .string "An icy punch that may\nfreeze the foe.$" - -gThunderPunchMoveDescription:: @ 8618314 - .string "An electrified punch that\nmay paralyze the foe.$" - -gScratchMoveDescription:: @ 8618344 - .string "Scratches the foe with\nsharp claws.$" - -gViceGripMoveDescription:: @ 8618368 - .string "Grips the foe with large and\npowerful pincers.$" - -gGuillotineMoveDescription:: @ 8618397 - .string "A powerful pincer attack\nthat may cause fainting.$" - -gRazorWindMoveDescription:: @ 86183C9 - .string "A 2-turn move that strikes\nthe foe on the 2nd turn.$" - -gSwordsDanceMoveDescription:: @ 86183FD - .string "A fighting dance that\nsharply raises ATTACK.$" - -gCutMoveDescription:: @ 861842A - .string "Cuts the foe with sharp\nscythes, claws, etc.$" - -gGustMoveDescription:: @ 8618457 - .string "Strikes the foe with a gust\nof wind whipped up by wings.$" - -gWingAttackMoveDescription:: @ 8618490 - .string "Strikes the foe with wings\nspread wide.$" - -gWhirlwindMoveDescription:: @ 86184B8 - .string "Blows away the foe with\nwind and ends the battle.$" - -gFlyMoveDescription:: @ 86184EA - .string "Flies up on the first turn,\nthen strikes the next turn.$" - -gBindMoveDescription:: @ 8618522 - .string "Binds and squeezes the foe\nfor 2 to 5 turns.$" - -gSlamMoveDescription:: @ 861854F - .string "Slams the foe with a long\ntail, vine, etc.$" - -gVineWhipMoveDescription:: @ 861857A - .string "Strikes the foe with\nslender, whiplike vines.$" - -gStompMoveDescription:: @ 86185A8 - .string "Stomps the enemy with a big\nfoot. May cause flinching.$" - -gDoubleKickMoveDescription:: @ 86185DF - .string "A double-kicking attack\nthat strikes the foe twice.$" - -gMegaKickMoveDescription:: @ 8618613 - .string "An extremely powerful kick\nwith intense force.$" - -gJumpKickMoveDescription:: @ 8618642 - .string "A strong jumping kick. May\nmiss and hurt the kicker.$" - -gRollingKickMoveDescription:: @ 8618677 - .string "A fast kick delivered from\na rapid spin.$" - -gSandAttackMoveDescription:: @ 86186A0 - .string "Reduces the foe’s accuracy\nby hurling sand in its face.$" - -gHeadbuttMoveDescription:: @ 86186D8 - .string "A ramming attack that may\ncause flinching.$" - -gHornAttackMoveDescription:: @ 8618703 - .string "Jabs the foe with sharp\nhorns.$" - -gFuryAttackMoveDescription:: @ 8618722 - .string "Jabs the foe 2 to 5 times\nwith sharp horns, etc.$" - -gHornDrillMoveDescription:: @ 8618753 - .string "A one-hit KO attack that\nuses a horn like a drill.$" - -gTackleMoveDescription:: @ 8618786 - .string "Charges the foe with a full-\nbody tackle.$" - -gBodySlamMoveDescription:: @ 86187B0 - .string "A full-body slam that may\ncause paralysis.$" - -gWrapMoveDescription:: @ 86187DB - .string "Wraps and squeezes the foe\n2 to 5 times with vines, etc.$" - -gTakeDownMoveDescription:: @ 8618814 - .string "A reckless charge attack\nthat also hurts the user.$" - -gThrashMoveDescription:: @ 8618847 - .string "A rampage of 2 to 3 turns\nthat confuses the user.$" - -gDoubleEdgeMoveDescription:: @ 8618879 - .string "A life-risking tackle that\nalso hurts the user.$" - -gTailWhipMoveDescription:: @ 86188A9 - .string "Wags the tail to lower the\nfoe’s DEFENSE.$" - -gPoisonStingMoveDescription:: @ 86188D3 - .string "A toxic attack with barbs,\netc., that may poison.$" - -gTwineedleMoveDescription:: @ 8618905 - .string "Stingers on the forelegs\njab the foe twice.$" - -gPinMissileMoveDescription:: @ 8618931 - .string "Sharp pins are fired to\nstrike 2 to 5 times.$" - -gLeerMoveDescription:: @ 861895E - .string "Frightens the foe with a\nleer to lower DEFENSE.$" - -gBiteMoveDescription:: @ 861898E - .string "Bites with vicious fangs.\nMay cause flinching.$" - -gGrowlMoveDescription:: @ 86189BD - .string "Growls cutely to reduce the\nfoe’s ATTACK.$" - -gRoarMoveDescription:: @ 86189E7 - .string "Makes the foe flee to end\nthe battle.$" - -gSingMoveDescription:: @ 8618A0D - .string "A soothing song lulls the\nfoe into a deep slumber.$" - -gSupersonicMoveDescription:: @ 8618A40 - .string "Emits bizarre sound waves\nthat may confuse the foe.$" - -gSonicBoomMoveDescription:: @ 8618A74 - .string "Launches shock waves that\nalways inflict 20 HP damage.$" - -gDisableMoveDescription:: @ 8618AAB - .string "Psychically disables one of\nthe foe’s moves.$" - -gAcidMoveDescription:: @ 8618AD8 - .string "Sprays a hide-melting acid.\nMay lower DEFENSE.$" - -gEmberMoveDescription:: @ 8618B07 - .string "A weak fire attack that may\ninflict a burn.$" - -gFlamethrowerMoveDescription:: @ 8618B33 - .string "A powerful fire attack that\nmay inflict a burn.$" - -gMistMoveDescription:: @ 8618B63 - .string "Creates a mist that stops\nreduction of abilities.$" - -gWaterGunMoveDescription:: @ 8618B95 - .string "Squirts water to attack\nthe foe.$" - -gHydroPumpMoveDescription:: @ 8618BB6 - .string "Blasts water at high power\nto strike the foe.$" - -gSurfMoveDescription:: @ 8618BE4 - .string "Creates a huge wave, then\ncrashes it down on the foe.$" - -gIceBeamMoveDescription:: @ 8618C1A - .string "Blasts the foe with an icy\nbeam that may freeze it.$" - -gBlizzardMoveDescription:: @ 8618C4E - .string "Hits the foe with an icy\nstorm that may freeze it.$" - -gPsybeamMoveDescription:: @ 8618C81 - .string "Fires a peculiar ray that\nmay confuse the foe.$" - -gBubbleBeamMoveDescription:: @ 8618CB0 - .string "Forcefully sprays bubbles\nthat may lower SPEED.$" - -gAuroraBeamMoveDescription:: @ 8618CE0 - .string "Fires a rainbow-colored\nbeam that may lower ATTACK.$" - -gHyperBeamMoveDescription:: @ 8618D14 - .string "Powerful, but leaves the\nuser immobile the next turn.$" - -gPeckMoveDescription:: @ 8618D4A - .string "Attacks the foe with a\njabbing beak, etc.$" - -gDrillPeckMoveDescription:: @ 8618D74 - .string "A corkscrewing attack with\nthe beak acting as a drill.$" - -gSubmissionMoveDescription:: @ 8618DAB - .string "A reckless body slam that\nalso hurts the user.$" - -gLowKickMoveDescription:: @ 8618DDA - .string "A kick that inflicts more\ndamage on heavier foes.$" - -gCounterMoveDescription:: @ 8618E0C - .string "Retaliates any physical hit\nwith double the power.$" - -gSeismicTossMoveDescription:: @ 8618E3F - .string "Inflicts damage identical\nto the user’s level.$" - -gStrengthMoveDescription:: @ 8618E6E - .string "Builds enormous power,\nthen slams the foe.$" - -gAbsorbMoveDescription:: @ 8618E99 - .string "An attack that absorbs\nhalf the damage inflicted.$" - -gMegaDrainMoveDescription:: @ 8618ECB - .string "An attack that absorbs\nhalf the damage inflicted.$" - -gLeechSeedMoveDescription:: @ 8618EFD - .string "Plants a seed on the foe to\nsteal HP on every turn.$" - -gGrowthMoveDescription:: @ 8618F31 - .string "Forces the body to grow\nand heightens SP. ATK.$" - -gRazorLeafMoveDescription:: @ 8618F60 - .string "Cuts the enemy with leaves.\nHigh critical-hit ratio.$" - -gSolarBeamMoveDescription:: @ 8618F95 - .string "Absorbs light in one turn,\nthen attacks next turn.$" - -gPoisonPowderMoveDescription:: @ 8618FC8 - .string "Scatters a toxic powder\nthat may poison the foe.$" - -gStunSporeMoveDescription:: @ 8618FF9 - .string "Scatters a powder that may\nparalyze the foe.$" - -gSleepPowderMoveDescription:: @ 8619026 - .string "Scatters a powder that may\ncause the foe to sleep.$" - -gPetalDanceMoveDescription:: @ 8619059 - .string "A rampage of 2 to 3 turns\nthat confuses the user.$" - -gStringShotMoveDescription:: @ 861908B - .string "Binds the foe with string\nto reduce its SPEED.$" - -gDragonRageMoveDescription:: @ 86190BA - .string "Launches shock waves that\nalways inflict 40 HP damage.$" - -gFireSpinMoveDescription:: @ 86190F1 - .string "Traps the foe in a ring of\nfire for 2 to 5 turns.$" - -gThunderShockMoveDescription:: @ 8619123 - .string "An electrical attack that\nmay paralyze the foe.$" - -gThunderboltMoveDescription:: @ 8619153 - .string "A strong electrical attack\nthat may paralyze the foe.$" - -gThunderWaveMoveDescription:: @ 8619189 - .string "A weak jolt of electricity\nthat paralyzes the foe.$" - -gThunderMoveDescription:: @ 86191BC - .string "A lightning attack that may\ncause paralysis.$" - -gRockThrowMoveDescription:: @ 86191E9 - .string "Throws small rocks to\nstrike the foe.$" - -gEarthquakeMoveDescription:: @ 861920F - .string "A powerful quake, but has\nno effect on flying foes.$" - -gFissureMoveDescription:: @ 8619243 - .string "A one-hit KO move that\ndrops the foe in a fissure.$" - -gDigMoveDescription:: @ 8619276 - .string "Digs underground the first\nturn and strikes next turn.$" - -gToxicMoveDescription:: @ 86192AD - .string "Poisons the foe with an\nintensifying toxin.$" - -gConfusionMoveDescription:: @ 86192D9 - .string "A psychic attack that may\ncause confusion.$" - -gPsychicMoveDescription:: @ 8619304 - .string "A powerful psychic attack\nthat may lower SP. DEF.$" - -gHypnosisMoveDescription:: @ 8619336 - .string "A hypnotizing move that\nmay induce sleep.$" - -gMeditateMoveDescription:: @ 8619360 - .string "Meditates in a peaceful\nfashion to raise ATTACK.$" - -gAgilityMoveDescription:: @ 8619391 - .string "Relaxes the body to sharply\nboost SPEED.$" - -gQuickAttackMoveDescription:: @ 86193BA - .string "An extremely fast attack\nthat always strikes first.$" - -gRageMoveDescription:: @ 86193EE - .string "Raises the user’s ATTACK\nevery time it is hit.$" - -gTeleportMoveDescription:: @ 861941D - .string "A psychic move for fleeing\nfrom battle instantly.$" - -gNightShadeMoveDescription:: @ 861944F - .string "Inflicts damage identical\nto the user’s level.$" - -gMimicMoveDescription:: @ 861947E - .string "Copies a move used by the\nfoe during one battle.$" - -gScreechMoveDescription:: @ 86194AF - .string "Emits a screech to sharply\nreduce the foe’s DEFENSE.$" - -gDoubleTeamMoveDescription:: @ 86194E4 - .string "Creates illusory copies to\nraise evasiveness.$" - -gRecoverMoveDescription:: @ 8619512 - .string "Recovers up to half the\nuser’s maximum HP.$" - -gHardenMoveDescription:: @ 861953D - .string "Stiffens the body’s \nmuscles to raise DEFENSE.$" - -gMinimizeMoveDescription:: @ 861956C - .string "Minimizes the user’s size\nto raise evasiveness.$" - -gSmokescreenMoveDescription:: @ 861959C - .string "Lowers the foe’s accuracy\nusing smoke, ink, etc.$" - -gConfuseRayMoveDescription:: @ 86195CD - .string "A sinister ray that\nconfuses the foe.$" - -gWithdrawMoveDescription:: @ 86195F3 - .string "Withdraws the body into its\nhard shell to raise DEFENSE.$" - -gDefenseCurlMoveDescription:: @ 861962C - .string "Curls up to conceal weak\nspots and raise DEFENSE.$" - -gBarrierMoveDescription:: @ 861965E - .string "Creates a barrier that\nsharply raises DEFENSE.$" - -gLightScreenMoveDescription:: @ 861968D - .string "Creates a wall of light that\nlowers SP. ATK damage.$" - -gHazeMoveDescription:: @ 86196C1 - .string "Creates a black haze that\neliminates all stat changes.$" - -gReflectMoveDescription:: @ 86196F8 - .string "Creates a wall of light that\nweakens physical attacks.$" - -gFocusEnergyMoveDescription:: @ 861972F - .string "Focuses power to raise the\ncritical-hit ratio.$" - -gBideMoveDescription:: @ 861975E - .string "Endures attack for 2\nturns to retaliate double.$" - -gMetronomeMoveDescription:: @ 861978E - .string "Waggles a finger to use any\nPOKéMON move at random.$" - -gMirrorMoveMoveDescription:: @ 86197C2 - .string "Counters the foe’s attack\nwith the same move.$" - -gSelfDestructMoveDescription:: @ 86197F0 - .string "Inflicts severe damage but\nmakes the user faint.$" - -gEggBombMoveDescription:: @ 8619821 - .string "An egg is forcibly hurled at\nthe foe.$" - -gLickMoveDescription:: @ 8619847 - .string "Licks with a long tongue to\ninjure. May also paralyze.$" - -gSmogMoveDescription:: @ 861987E - .string "An exhaust-gas attack\nthat may also poison.$" - -gSludgeMoveDescription:: @ 86198AA - .string "Sludge is hurled to inflict\ndamage. May also poison.$" - -gBoneClubMoveDescription:: @ 86198DF - .string "Clubs the foe with a bone.\nMay cause flinching.$" - -gFireBlastMoveDescription:: @ 861990F - .string "Incinerates everything it\nstrikes. May cause a burn.$" - -gWaterfallMoveDescription:: @ 8619944 - .string "Charges the foe with speed\nto climb waterfalls.$" - -gClampMoveDescription:: @ 8619974 - .string "Traps and squeezes the\nfoe for 2 to 5 turns.$" - -gSwiftMoveDescription:: @ 86199A1 - .string "Sprays star-shaped rays\nthat never miss.$" - -gSkullBashMoveDescription:: @ 86199CA - .string "Tucks in the head, then\nattacks on the next turn.$" - -gSpikeCannonMoveDescription:: @ 86199FC - .string "Launches sharp spikes that\nstrike 2 to 5 times.$" - -gConstrictMoveDescription:: @ 8619A2C - .string "Constricts to inflict pain.\nMay lower SPEED.$" - -gAmnesiaMoveDescription:: @ 8619A59 - .string "Forgets about something\nand sharply raises SP. DEF.$" - -gKinesisMoveDescription:: @ 8619A8D - .string "Distracts the foe.\nMay lower accuracy.$" - -gSoftBoiledMoveDescription:: @ 8619AB4 - .string "Recovers up to half the\nuser’s maximum HP.$" - -gHiJumpKickMoveDescription:: @ 8619ADF - .string "A jumping knee kick. If it\nmisses, the user is hurt.$" - -gGlareMoveDescription:: @ 8619B14 - .string "Intimidates and frightens\nthe foe into paralysis.$" - -gDreamEaterMoveDescription:: @ 8619B46 - .string "Takes one half the damage\ninflicted on a sleeping foe.$" - -gPoisonGasMoveDescription:: @ 8619B7D - .string "Envelops the foe in a toxic\ngas that may poison.$" - -gBarrageMoveDescription:: @ 8619BAE - .string "Hurls round objects at the\nfoe 2 to 5 times.$" - -gLeechLifeMoveDescription:: @ 8619BDB - .string "An attack that steals half\nthe damage inflicted.$" - -gLovelyKissMoveDescription:: @ 8619C0C - .string "Demands a kiss with a scary\nface that induces sleep.$" - -gSkyAttackMoveDescription:: @ 8619C41 - .string "Searches out weak spots,\nthen strikes the next turn.$" - -gTransformMoveDescription:: @ 8619C76 - .string "Alters the user’s cells to\nbecome a copy of the foe.$" - -gBubbleMoveDescription:: @ 8619CAB - .string "An attack using bubbles.\nMay lower the foe’s SPEED.$" - -gDizzyPunchMoveDescription:: @ 8619CDF - .string "A rhythmic punch that may\nconfuse the foe.$" - -gSporeMoveDescription:: @ 8619D0A - .string "Scatters a cloud of spores\nthat always induce sleep.$" - -gFlashMoveDescription:: @ 8619D3F - .string "Looses a powerful blast of\nlight that cuts accuracy.$" - -gPsywaveMoveDescription:: @ 8619D74 - .string "Attacks with a psychic\nwave of varying intensity.$" - -gSplashMoveDescription:: @ 8619DA6 - .string "It’s just a splash...\nHas no effect whatsoever.$" - -gAcidArmorMoveDescription:: @ 8619DD6 - .string "Liquifies the user’s body\nto sharply raise DEFENSE.$" - -gCrabhammerMoveDescription:: @ 8619E0A - .string "Hammers with a pincer. Has a\nhigh critical-hit ratio.$" - -gExplosionMoveDescription:: @ 8619E40 - .string "Inflicts severe damage but\nmakes the user faint.$" - -gFurySwipesMoveDescription:: @ 8619E71 - .string "Rakes the foe with sharp\nclaws, etc., 2 to 5 times.$" - -gBonemerangMoveDescription:: @ 8619EA5 - .string "Throws a bone boomerang\nthat strikes twice.$" - -gRestMoveDescription:: @ 8619ED1 - .string "The user sleeps for 2 turns,\nrestoring HP and status.$" - -gRockSlideMoveDescription:: @ 8619F07 - .string "Large boulders are hurled.\nMay cause flinching.$" - -gHyperFangMoveDescription:: @ 8619F37 - .string "Attacks with sharp fangs.\nMay cause flinching.$" - -gSharpenMoveDescription:: @ 8619F66 - .string "Reduces the polygon count\nand raises ATTACK.$" - -gConversionMoveDescription:: @ 8619F93 - .string "Changes the user’s type\ninto a known move’s type.$" - -gTriAttackMoveDescription:: @ 8619FC5 - .string "Fires three types of beams\nat the same time.$" - -gSuperFangMoveDescription:: @ 8619FF2 - .string "Attacks with sharp fangs\nand cuts half the foe’s HP.$" - -gSlashMoveDescription:: @ 861A027 - .string "Slashes with claws, etc. Has\na high critical-hit ratio.$" - -gSubstituteMoveDescription:: @ 861A05F - .string "Creates a decoy using 1/4\nof the user’s maximum HP.$" - -gStruggleMoveDescription:: @ 861A093 - .string "Used only if all PP are gone.\nAlso hurts the user a little.$" - -gSketchMoveDescription:: @ 861A0CF - .string "Copies the foe’s last move\npermanently.$" - -gTripleKickMoveDescription:: @ 861A0F7 - .string "Kicks the foe 3 times in a\nrow with rising intensity.$" - -gThiefMoveDescription:: @ 861A12D - .string "While attacking, it may\nsteal the foe’s held item.$" - -gSpiderWebMoveDescription:: @ 861A160 - .string "Ensnares the foe to stop it\nfrom fleeing or switching.$" - -gMindReaderMoveDescription:: @ 861A197 - .string "Senses the foe’s action to\nensure the next move’s hit.$" - -gNightmareMoveDescription:: @ 861A1CE - .string "Inflicts 1/4 damage on a\nsleeping foe every turn.$" - -gFlameWheelMoveDescription:: @ 861A200 - .string "A fiery charge attack that\nmay inflict a burn.$" - -gSnoreMoveDescription:: @ 861A22F - .string "A loud attack that can be\nused only while asleep.$" - -gCurseMoveDescription:: @ 861A261 - .string "A move that functions\ndifferently for GHOSTS.$" - -gFlailMoveDescription:: @ 861A28F - .string "Inflicts more damage when\nthe user’s HP is down.$" - -gConversion2MoveDescription:: @ 861A2C0 - .string "Makes the user resistant\nto the last attack’s type.$" - -gAeroblastMoveDescription:: @ 861A2F4 - .string "Launches a vacuumed blast.\nHigh critical-hit ratio.$" - -gCottonSporeMoveDescription:: @ 861A328 - .string "Spores cling to the foe,\nsharply reducing SPEED.$" - -gReversalMoveDescription:: @ 861A359 - .string "Inflicts more damage when\nthe user’s HP is down.$" - -gSpiteMoveDescription:: @ 861A38A - .string "Spitefully cuts the PP\nof the foe’s last move.$" - -gPowderSnowMoveDescription:: @ 861A3B9 - .string "Blasts the foe with a snowy\ngust. May cause freezing.$" - -gProtectMoveDescription:: @ 861A3EF - .string "Evades attack, but may fail\nif used in succession.$" - -gMachPunchMoveDescription:: @ 861A422 - .string "A punch is thrown at wicked\nspeed to strike first.$" - -gScaryFaceMoveDescription:: @ 861A455 - .string "Frightens with a scary face\nto sharply reduce SPEED.$" - -gFaintAttackMoveDescription:: @ 861A48A - .string "Draws the foe close, then\nstrikes without fail.$" - -gSweetKissMoveDescription:: @ 861A4BA - .string "Demands a kiss with a cute\nlook. May cause confusion.$" - -gBellyDrumMoveDescription:: @ 861A4F0 - .string "Maximizes ATTACK while\nsacrificing HP.$" - -gSludgeBombMoveDescription:: @ 861A517 - .string "Sludge is hurled to inflict\ndamage. May also poison.$" - -gMudSlapMoveDescription:: @ 861A54C - .string "Hurls mud in the foe’s face\nto reduce its accuracy.$" - -gOctazookaMoveDescription:: @ 861A580 - .string "Fires a lump of ink to\ndamage and cut accuracy.$" - -gSpikesMoveDescription:: @ 861A5B0 - .string "Sets spikes that hurt a \nfoe switching in.$" - -gZapCannonMoveDescription:: @ 861A5DB - .string "Powerful and sure to cause\nparalysis, but inaccurate.$" - -gForesightMoveDescription:: @ 861A611 - .string "Negates the foe’s efforts\nto heighten evasiveness.$" - -gDestinyBondMoveDescription:: @ 861A644 - .string "If the user faints, the foe\nis also made to faint.$" - -gPerishSongMoveDescription:: @ 861A677 - .string "Any POKéMON hearing this\nsong faints in 3 turns.$" - -gIcyWindMoveDescription:: @ 861A6A8 - .string "A chilling attack that\nlowers the foe’s SPEED.$" - -gDetectMoveDescription:: @ 861A6D7 - .string "Evades attack, but may fail\nif used in succession.$" - -gBoneRushMoveDescription:: @ 861A70A - .string "Strikes the foe with a bone\nin hand 2 to 5 times.$" - -gLockOnMoveDescription:: @ 861A73C - .string "Locks on to the foe to\nensure the next move hits.$" - -gOutrageMoveDescription:: @ 861A76E - .string "A rampage of 2 to 3 turns\nthat confuses the user.$" - -gSandstormMoveDescription:: @ 861A7A0 - .string "Causes a sandstorm that\nrages for several turns.$" - -gGigaDrainMoveDescription:: @ 861A7D1 - .string "An attack that steals half\nthe damage inflicted.$" - -gEndureMoveDescription:: @ 861A802 - .string "Endures any attack for\n1 turn, leaving at least 1HP.$" - -gCharmMoveDescription:: @ 861A837 - .string "Charms the foe and sharply\nreduces its ATTACK.$" - -gRolloutMoveDescription:: @ 861A866 - .string "An attack lasting 5 turns\nwith rising intensity.$" - -gFalseSwipeMoveDescription:: @ 861A897 - .string "An attack that leaves the\nfoe with at least 1 HP.$" - -gSwaggerMoveDescription:: @ 861A8C9 - .string "Confuses the foe, but also\nsharply raises ATTACK.$" - -gMilkDrinkMoveDescription:: @ 861A8FB - .string "Recovers up to half the\nuser’s maximum HP.$" - -gSparkMoveDescription:: @ 861A926 - .string "An electrified tackle that\nmay paralyze the foe.$" - -gFuryCutterMoveDescription:: @ 861A957 - .string "An attack that intensifies\non each successive hit.$" - -gSteelWingMoveDescription:: @ 861A98A - .string "Strikes the foe with hard\nwings spread wide.$" - -gMeanLookMoveDescription:: @ 861A9B7 - .string "Fixes the foe with a mean\nlook that prevents escape.$" - -gAttractMoveDescription:: @ 861A9EC - .string "Makes the opposite gender\nless likely to attack.$" - -gSleepTalkMoveDescription:: @ 861AA1D - .string "Uses an available move\nrandomly while asleep.$" - -gHealBellMoveDescription:: @ 861AA4B - .string "Chimes soothingly to heal\nall status abnormalities.$" - -gReturnMoveDescription:: @ 861AA7F - .string "An attack that increases\nin power with friendship.$" - -gPresentMoveDescription:: @ 861AAB2 - .string "A gift in the form of a\nbomb. May restore HP.$" - -gFrustrationMoveDescription:: @ 861AAE0 - .string "An attack that is stronger\nif the TRAINER is disliked.$" - -gSafeguardMoveDescription:: @ 861AB17 - .string "A mystical force prevents\nall status problems.$" - -gPainSplitMoveDescription:: @ 861AB46 - .string "Adds the user and foe’s HP,\nthen shares them equally.$" - -gSacredFireMoveDescription:: @ 861AB7C - .string "A mystical fire attack that\nmay inflict a burn.$" - -gMagnitudeMoveDescription:: @ 861ABAC - .string "A ground-shaking attack\nof random intensity.$" - -gDynamicPunchMoveDescription:: @ 861ABD9 - .string "Powerful and sure to cause\nconfusion, but inaccurate.$" - -gMegahornMoveDescription:: @ 861AC0F - .string "A brutal ramming attack\nusing out-thrust horns.$" - -gDragonBreathMoveDescription:: @ 861AC3F - .string "Strikes the foe with an\nincredible blast of breath.$" - -gBatonPassMoveDescription:: @ 861AC73 - .string "Switches out the user while\nkeeping effects in play.$" - -gEncoreMoveDescription:: @ 861ACA8 - .string "Makes the foe repeat its\nlast move over 2 to 6 turns.$" - -gPursuitMoveDescription:: @ 861ACDE - .string "Inflicts bad damage if used\non a foe switching out.$" - -gRapidSpinMoveDescription:: @ 861AD12 - .string "Spins the body at high\nspeed to strike the foe.$" - -gSweetScentMoveDescription:: @ 861AD42 - .string "Allures the foe to reduce\nevasiveness.$" - -gIronTailMoveDescription:: @ 861AD69 - .string "Attacks with a rock-hard\ntail. May lower DEFENSE.$" - -gMetalClawMoveDescription:: @ 861AD9B - .string "A claw attack that may\nraise the user’s ATTACK.$" - -gVitalThrowMoveDescription:: @ 861ADCB - .string "Makes the user’s move last,\nbut it never misses.$" - -gMorningSunMoveDescription:: @ 861ADFC - .string "Restores HP. The amount\nvaries with the weather.$" - -gSynthesisMoveDescription:: @ 861AE2D - .string "Restores HP. The amount\nvaries with the weather.$" - -gMoonlightMoveDescription:: @ 861AE5E - .string "Restores HP. The amount\nvaries with the weather.$" - -gHiddenPowerMoveDescription:: @ 861AE8F - .string "The effectiveness varies\nwith the user.$" - -gCrossChopMoveDescription:: @ 861AEB7 - .string "A double-chopping attack.\nHigh critical-hit ratio.$" - -gTwisterMoveDescription:: @ 861AEEA - .string "Whips up a vicious twister\nto tear at the foe.$" - -gRainDanceMoveDescription:: @ 861AF19 - .string "Boosts the power of WATER-\ntype moves for 5 turns.$" - -gSunnyDayMoveDescription:: @ 861AF4C - .string "Boosts the power of FIRE-\ntype moves for 5 turns.$" - -gCrunchMoveDescription:: @ 861AF7E - .string "Crunches with sharp fangs.\nMay lower SP. DEF.$" - -gMirrorCoatMoveDescription:: @ 861AFAC - .string "Counters the foe’s special\nattack at double the power.$" - -gPsychUpMoveDescription:: @ 861AFE3 - .string "Copies the foe’s effect(s)\nand gives to the user.$" - -gExtremeSpeedMoveDescription:: @ 861B015 - .string "An extremely fast and\npowerful attack.$" - -gAncientPowerMoveDescription:: @ 861B03C - .string "An attack that may raise\nall stats.$" - -gShadowBallMoveDescription:: @ 861B060 - .string "Hurls a black blob that may\nlower the foe’s SP. DEF.$" - -gFutureSightMoveDescription:: @ 861B095 - .string "Heightens inner power to\nstrike 2 turns later.$" - -gRockSmashMoveDescription:: @ 861B0C4 - .string "A rock-crushing attack\nthat may lower DEFENSE.$" - -gWhirlpoolMoveDescription:: @ 861B0F3 - .string "Traps and hurts the foe in\na whirlpool for 2 to 5 turns.$" - -gBeatUpMoveDescription:: @ 861B12C - .string "Summons party POKéMON to\njoin in the attack.$" - -gFakeOutMoveDescription:: @ 861B159 - .string "A 1st-turn, 1st-strike move\nthat causes flinching.$" - -gUproarMoveDescription:: @ 861B18C - .string "Causes an uproar for 2 to 5\nturns and prevents sleep.$" - -gStockpileMoveDescription:: @ 861B1C2 - .string "Charges up power for up to\n3 turns.$" - -gSpitUpMoveDescription:: @ 861B1E6 - .string "Releases stockpiled power\n(the more the better).$" - -gSwallowMoveDescription:: @ 861B217 - .string "Absorbs stockpiled power\nand restores HP.$" - -gHeatWaveMoveDescription:: @ 861B241 - .string "Exhales a hot breath on the\nfoe. May inflict a burn.$" - -gHailMoveDescription:: @ 861B276 - .string "Summons a hailstorm that\nstrikes every turn.$" - -gTormentMoveDescription:: @ 861B2A3 - .string "Torments the foe and stops\nsuccessive use of a move.$" - -gFlatterMoveDescription:: @ 861B2D8 - .string "Confuses the foe, but\nraises its SP. ATK.$" - -gWillOWispMoveDescription:: @ 861B302 - .string "Inflicts a burn on the foe\nwith intense fire.$" - -gMementoMoveDescription:: @ 861B330 - .string "The user faints and lowers\nthe foe’s abilities.$" - -gFacadeMoveDescription:: @ 861B360 - .string "Boosts ATTACK when burned,\nparalyzed, or poisoned.$" - -gFocusPunchMoveDescription:: @ 861B393 - .string "A powerful loyalty attack.\nThe user flinches if hit.$" - -gSmellingSaltMoveDescription:: @ 861B3C8 - .string "Powerful against paralyzed\nfoes, but also heals them.$" - -gFollowMeMoveDescription:: @ 861B3FE - .string "Draws attention to make\nfoes attack only the user.$" - -gNaturePowerMoveDescription:: @ 861B431 - .string "The type of attack varies\ndepending on the location.$" - -gChargeMoveDescription:: @ 861B466 - .string "Charges power to boost the\nelectric move used next.$" - -gTauntMoveDescription:: @ 861B49A - .string "Taunts the foe into only\nusing attack moves.$" - -gHelpingHandMoveDescription:: @ 861B4C7 - .string "Boosts the power of the\nrecipient’s moves.$" - -gTrickMoveDescription:: @ 861B4F2 - .string "Tricks the foe into trading\nheld items.$" - -gRolePlayMoveDescription:: @ 861B51A - .string "Mimics the target and\ncopies its special ability.$" - -gWishMoveDescription:: @ 861B54C - .string "A wish that restores HP.\nIt takes time to work.$" - -gAssistMoveDescription:: @ 861B57C - .string "Attacks randomly with one\nof the partner’s moves.$" - -gIngrainMoveDescription:: @ 861B5AE - .string "Lays roots that restore HP.\nThe user can’t switch out.$" - -gSuperpowerMoveDescription:: @ 861B5E5 - .string "Boosts strength sharply,\nbut lowers abilities.$" - -gMagicCoatMoveDescription:: @ 861B614 - .string "Reflects special effects\nback to the attacker.$" - -gRecycleMoveDescription:: @ 861B643 - .string "Recycles a used item for\none more use.$" - -gRevengeMoveDescription:: @ 861B66A - .string "An attack that gains power\nif injured by the foe.$" - -gBrickBreakMoveDescription:: @ 861B69C - .string "Destroys barriers such as\nREFLECT and causes damage.$" - -gYawnMoveDescription:: @ 861B6D1 - .string "Lulls the foe into yawning,\nthen sleeping next turn.$" - -gKnockOffMoveDescription:: @ 861B706 - .string "Knocks down the foe’s held\nitem to prevent its use.$" - -gEndeavorMoveDescription:: @ 861B73A - .string "Gains power if the user’s HP\nis lower than the foe’s HP.$" - -gEruptionMoveDescription:: @ 861B773 - .string "The higher the user’s HP,\nthe more damage caused.$" - -gSkillSwapMoveDescription:: @ 861B7A5 - .string "The user swaps special\nabilities with the target.$" - -gImprisonMoveDescription:: @ 861B7D7 - .string "Prevents foes from using\nmoves known by the user.$" - -gRefreshMoveDescription:: @ 861B809 - .string "Heals poisoning, paralysis,\nor a burn.$" - -gGrudgeMoveDescription:: @ 861B830 - .string "If the user faints, deletes\nall PP of foe’s last move.$" - -gSnatchMoveDescription:: @ 861B867 - .string "Steals the effects of the\nmove the target uses next.$" - -gSecretPowerMoveDescription:: @ 861B89C - .string "An attack with effects\nthat vary by location.$" - -gDiveMoveDescription:: @ 861B8CA - .string "Dives underwater the first\nturn and strikes next turn.$" - -gArmThrustMoveDescription:: @ 861B901 - .string "Straight-arm punches that\nstrike the foe 2 to 5 times.$" - -gCamouflageMoveDescription:: @ 861B938 - .string "Alters the POKéMON’s type\ndepending on the location.$" - -gTailGlowMoveDescription:: @ 861B96D - .string "Flashes a light that sharply\nraises SP. ATK.$" - -gLusterPurgeMoveDescription:: @ 861B99A - .string "Attacks with a burst of\nlight. May lower SP. DEF.$" - -gMistBallMoveDescription:: @ 861B9CC - .string "Attacks with a flurry of\ndown. May lower SP. ATK.$" - -gFeatherDanceMoveDescription:: @ 861B9FE - .string "Envelops the foe with down\nto sharply reduce ATTACK.$" - -gTeeterDanceMoveDescription:: @ 861BA33 - .string "Confuses all POKéMON on\nthe scene.$" - -gBlazeKickMoveDescription:: @ 861BA56 - .string "A kick with a high critical-\nhit ratio. May cause a burn.$" - -gMudSportMoveDescription:: @ 861BA90 - .string "Covers the user in mud to\nraise electrical resistance.$" - -gIceBallMoveDescription:: @ 861BAC7 - .string "A 5-turn attack that gains\npower on successive hits.$" - -gNeedleArmMoveDescription:: @ 861BAFC - .string "Attacks with thorny arms.\nMay cause flinching.$" - -gSlackOffMoveDescription:: @ 861BB2B - .string "Slacks off and restores\nhalf the maximum HP.$" - -gHyperVoiceMoveDescription:: @ 861BB58 - .string "A loud attack that uses\nsound waves to injure.$" - -gPoisonFangMoveDescription:: @ 861BB87 - .string "A sharp-fanged attack.\nMay badly poison the foe.$" - -gCrushClawMoveDescription:: @ 861BBB8 - .string "Tears at the foe with sharp\nclaws. May lower DEFENSE.$" - -gBlastBurnMoveDescription:: @ 861BBEE - .string "Powerful, but leaves the\nuser immobile the next turn.$" - -gHydroCannonMoveDescription:: @ 861BC24 - .string "Powerful, but leaves the\nuser immobile the next turn.$" - -gMeteorMashMoveDescription:: @ 861BC5A - .string "Fires a meteor-like punch.\nMay raise ATTACK.$" - -gAstonishMoveDescription:: @ 861BC87 - .string "An attack that may shock\nthe foe into flinching.$" - -gWeatherBallMoveDescription:: @ 861BCB8 - .string "The move’s type and power\nchange with the weather.$" - -gAromatherapyMoveDescription:: @ 861BCEB - .string "Heals all status problems\nwith a soothing scent.$" - -gFakeTearsMoveDescription:: @ 861BD1C - .string "Feigns crying to sharply\nlower the foe’s SP. DEF.$" - -gAirCutterMoveDescription:: @ 861BD4E - .string "Hacks with razorlike wind.\nHigh critical-hit ratio.$" - -gOverheatMoveDescription:: @ 861BD82 - .string "Allows a full-power attack,\nbut sharply lowers SP. ATK.$" - -gOdorSleuthMoveDescription:: @ 861BDBA - .string "Negates the foe’s efforts\nto heighten evasiveness.$" - -gRockTombMoveDescription:: @ 861BDED - .string "Stops the foe from moving\nwith rocks and cuts SPEED.$" - -gSilverWindMoveDescription:: @ 861BE22 - .string "A powdery attack that may\nraise abilities.$" - -gMetalSoundMoveDescription:: @ 861BE4D - .string "Emits a horrible screech\nthat sharply lowers SP. DEF.$" - -gGrassWhistleMoveDescription:: @ 861BE83 - .string "Lulls the foe into sleep\nwith a pleasant melody.$" - -gTickleMoveDescription:: @ 861BEB4 - .string "Makes the foe laugh to\nlower ATTACK and DEFENSE.$" - -gCosmicPowerMoveDescription:: @ 861BEE5 - .string "Raises DEFENSE and SP. DEF\nwith a mystic power.$" - -gWaterSpoutMoveDescription:: @ 861BF15 - .string "Inflicts more damage if the\nuser’s HP is high.$" - -gSignalBeamMoveDescription:: @ 861BF44 - .string "A strange beam attack that\nmay confuse the foe.$" - -gShadowPunchMoveDescription:: @ 861BF74 - .string "An unavoidable punch that\nis thrown from shadows.$" - -gExtrasensoryMoveDescription:: @ 861BFA6 - .string "Attacks with a peculiar\npower. May cause flinching.$" - -gSkyUppercutMoveDescription:: @ 861BFDA - .string "An uppercut thrown as if\nleaping into the sky.$" - -gSandTombMoveDescription:: @ 861C009 - .string "Traps and hurts the foe in\nquicksand for 2 to 5 turns.$" - -gSheerColdMoveDescription:: @ 861C040 - .string "A chilling attack that\ncauses fainting if it hits.$" - -gMuddyWaterMoveDescription:: @ 861C073 - .string "Attacks with muddy water.\nMay lower accuracy.$" - -gBulletSeedMoveDescription:: @ 861C0A1 - .string "Shoots 2 to 5 seeds in a row\nto strike the foe.$" - -gAerialAceMoveDescription:: @ 861C0D1 - .string "An extremely speedy and\nunavoidable attack.$" - -gIcicleSpearMoveDescription:: @ 861C0FD - .string "Attacks the foe by firing\n2 to 5 icicles in a row.$" - -gIronDefenseMoveDescription:: @ 861C130 - .string "Hardens the body’s surface\nto sharply raise DEFENSE.$" - -gBlockMoveDescription:: @ 861C165 - .string "Blocks the foe’s way to\nprevent escape.$" - -gHowlMoveDescription:: @ 861C18D - .string "Howls to raise the spirit\nand boosts ATTACK.$" - -gDragonClawMoveDescription:: @ 861C1BA - .string "Slashes the foe with sharp\nclaws.$" - -gFrenzyPlantMoveDescription:: @ 861C1DC - .string "Powerful, but leaves the\nuser immobile the next turn.$" - -gBulkUpMoveDescription:: @ 861C212 - .string "Bulks up the body to boost\nboth ATTACK and DEFENSE.$" - -gBounceMoveDescription:: @ 861C246 - .string "Bounces up, then down the\nnext turn. May paralyze.$" - -gMudShotMoveDescription:: @ 861C279 - .string "Hurls mud at the foe and\nreduces SPEED.$" - -gPoisonTailMoveDescription:: @ 861C2A1 - .string "Has a high critical-hit\nratio. May also poison.$" - -gCovetMoveDescription:: @ 861C2D1 - .string "Cutely begs to obtain an\nitem held by the foe.$" - -gVoltTackleMoveDescription:: @ 861C300 - .string "A life-risking tackle that\nslightly hurts the user.$" - -gMagicalLeafMoveDescription:: @ 861C334 - .string "Attacks with a strange leaf\nthat cannot be evaded.$" - -gWaterSportMoveDescription:: @ 861C367 - .string "The user becomes soaked to\nraise resistance to fire.$" - -gCalmMindMoveDescription:: @ 861C39C - .string "Raises SP. ATK and SP. DEF\nby focusing the mind.$" - -gLeafBladeMoveDescription:: @ 861C3CD - .string "Slashes with a sharp leaf.\nHigh critical-hit ratio.$" - -gDragonDanceMoveDescription:: @ 861C401 - .string "A mystical dance that ups\nATTACK and SPEED.$" - -gRockBlastMoveDescription:: @ 861C42D - .string "Hurls boulders at the foe\n2 to 5 times in a row.$" - -gShockWaveMoveDescription:: @ 861C45E - .string "A fast and unavoidable\nelectric attack.$" - -gWaterPulseMoveDescription:: @ 861C486 - .string "Attacks with ultrasonic\nwaves. May confuse the foe.$" - -gDoomDesireMoveDescription:: @ 861C4BA - .string "Summons strong sunlight to\nattack 2 turns later.$" - -gPsychoBoostMoveDescription:: @ 861C4EB - .string "Allows a full-power attack,\nbut sharply lowers SP. ATK.$" - - .align 2 -gMoveDescriptionPointers:: @ 861C524 - .4byte gPoundMoveDescription - .4byte gKarateChopMoveDescription - .4byte gDoubleSlapMoveDescription - .4byte gCometPunchMoveDescription - .4byte gMegaPunchMoveDescription - .4byte gPayDayMoveDescription - .4byte gFirePunchMoveDescription - .4byte gIcePunchMoveDescription - .4byte gThunderPunchMoveDescription - .4byte gScratchMoveDescription - .4byte gViceGripMoveDescription - .4byte gGuillotineMoveDescription - .4byte gRazorWindMoveDescription - .4byte gSwordsDanceMoveDescription - .4byte gCutMoveDescription - .4byte gGustMoveDescription - .4byte gWingAttackMoveDescription - .4byte gWhirlwindMoveDescription - .4byte gFlyMoveDescription - .4byte gBindMoveDescription - .4byte gSlamMoveDescription - .4byte gVineWhipMoveDescription - .4byte gStompMoveDescription - .4byte gDoubleKickMoveDescription - .4byte gMegaKickMoveDescription - .4byte gJumpKickMoveDescription - .4byte gRollingKickMoveDescription - .4byte gSandAttackMoveDescription - .4byte gHeadbuttMoveDescription - .4byte gHornAttackMoveDescription - .4byte gFuryAttackMoveDescription - .4byte gHornDrillMoveDescription - .4byte gTackleMoveDescription - .4byte gBodySlamMoveDescription - .4byte gWrapMoveDescription - .4byte gTakeDownMoveDescription - .4byte gThrashMoveDescription - .4byte gDoubleEdgeMoveDescription - .4byte gTailWhipMoveDescription - .4byte gPoisonStingMoveDescription - .4byte gTwineedleMoveDescription - .4byte gPinMissileMoveDescription - .4byte gLeerMoveDescription - .4byte gBiteMoveDescription - .4byte gGrowlMoveDescription - .4byte gRoarMoveDescription - .4byte gSingMoveDescription - .4byte gSupersonicMoveDescription - .4byte gSonicBoomMoveDescription - .4byte gDisableMoveDescription - .4byte gAcidMoveDescription - .4byte gEmberMoveDescription - .4byte gFlamethrowerMoveDescription - .4byte gMistMoveDescription - .4byte gWaterGunMoveDescription - .4byte gHydroPumpMoveDescription - .4byte gSurfMoveDescription - .4byte gIceBeamMoveDescription - .4byte gBlizzardMoveDescription - .4byte gPsybeamMoveDescription - .4byte gBubbleBeamMoveDescription - .4byte gAuroraBeamMoveDescription - .4byte gHyperBeamMoveDescription - .4byte gPeckMoveDescription - .4byte gDrillPeckMoveDescription - .4byte gSubmissionMoveDescription - .4byte gLowKickMoveDescription - .4byte gCounterMoveDescription - .4byte gSeismicTossMoveDescription - .4byte gStrengthMoveDescription - .4byte gAbsorbMoveDescription - .4byte gMegaDrainMoveDescription - .4byte gLeechSeedMoveDescription - .4byte gGrowthMoveDescription - .4byte gRazorLeafMoveDescription - .4byte gSolarBeamMoveDescription - .4byte gPoisonPowderMoveDescription - .4byte gStunSporeMoveDescription - .4byte gSleepPowderMoveDescription - .4byte gPetalDanceMoveDescription - .4byte gStringShotMoveDescription - .4byte gDragonRageMoveDescription - .4byte gFireSpinMoveDescription - .4byte gThunderShockMoveDescription - .4byte gThunderboltMoveDescription - .4byte gThunderWaveMoveDescription - .4byte gThunderMoveDescription - .4byte gRockThrowMoveDescription - .4byte gEarthquakeMoveDescription - .4byte gFissureMoveDescription - .4byte gDigMoveDescription - .4byte gToxicMoveDescription - .4byte gConfusionMoveDescription - .4byte gPsychicMoveDescription - .4byte gHypnosisMoveDescription - .4byte gMeditateMoveDescription - .4byte gAgilityMoveDescription - .4byte gQuickAttackMoveDescription - .4byte gRageMoveDescription - .4byte gTeleportMoveDescription - .4byte gNightShadeMoveDescription - .4byte gMimicMoveDescription - .4byte gScreechMoveDescription - .4byte gDoubleTeamMoveDescription - .4byte gRecoverMoveDescription - .4byte gHardenMoveDescription - .4byte gMinimizeMoveDescription - .4byte gSmokescreenMoveDescription - .4byte gConfuseRayMoveDescription - .4byte gWithdrawMoveDescription - .4byte gDefenseCurlMoveDescription - .4byte gBarrierMoveDescription - .4byte gLightScreenMoveDescription - .4byte gHazeMoveDescription - .4byte gReflectMoveDescription - .4byte gFocusEnergyMoveDescription - .4byte gBideMoveDescription - .4byte gMetronomeMoveDescription - .4byte gMirrorMoveMoveDescription - .4byte gSelfDestructMoveDescription - .4byte gEggBombMoveDescription - .4byte gLickMoveDescription - .4byte gSmogMoveDescription - .4byte gSludgeMoveDescription - .4byte gBoneClubMoveDescription - .4byte gFireBlastMoveDescription - .4byte gWaterfallMoveDescription - .4byte gClampMoveDescription - .4byte gSwiftMoveDescription - .4byte gSkullBashMoveDescription - .4byte gSpikeCannonMoveDescription - .4byte gConstrictMoveDescription - .4byte gAmnesiaMoveDescription - .4byte gKinesisMoveDescription - .4byte gSoftBoiledMoveDescription - .4byte gHiJumpKickMoveDescription - .4byte gGlareMoveDescription - .4byte gDreamEaterMoveDescription - .4byte gPoisonGasMoveDescription - .4byte gBarrageMoveDescription - .4byte gLeechLifeMoveDescription - .4byte gLovelyKissMoveDescription - .4byte gSkyAttackMoveDescription - .4byte gTransformMoveDescription - .4byte gBubbleMoveDescription - .4byte gDizzyPunchMoveDescription - .4byte gSporeMoveDescription - .4byte gFlashMoveDescription - .4byte gPsywaveMoveDescription - .4byte gSplashMoveDescription - .4byte gAcidArmorMoveDescription - .4byte gCrabhammerMoveDescription - .4byte gExplosionMoveDescription - .4byte gFurySwipesMoveDescription - .4byte gBonemerangMoveDescription - .4byte gRestMoveDescription - .4byte gRockSlideMoveDescription - .4byte gHyperFangMoveDescription - .4byte gSharpenMoveDescription - .4byte gConversionMoveDescription - .4byte gTriAttackMoveDescription - .4byte gSuperFangMoveDescription - .4byte gSlashMoveDescription - .4byte gSubstituteMoveDescription - .4byte gStruggleMoveDescription - .4byte gSketchMoveDescription - .4byte gTripleKickMoveDescription - .4byte gThiefMoveDescription - .4byte gSpiderWebMoveDescription - .4byte gMindReaderMoveDescription - .4byte gNightmareMoveDescription - .4byte gFlameWheelMoveDescription - .4byte gSnoreMoveDescription - .4byte gCurseMoveDescription - .4byte gFlailMoveDescription - .4byte gConversion2MoveDescription - .4byte gAeroblastMoveDescription - .4byte gCottonSporeMoveDescription - .4byte gReversalMoveDescription - .4byte gSpiteMoveDescription - .4byte gPowderSnowMoveDescription - .4byte gProtectMoveDescription - .4byte gMachPunchMoveDescription - .4byte gScaryFaceMoveDescription - .4byte gFaintAttackMoveDescription - .4byte gSweetKissMoveDescription - .4byte gBellyDrumMoveDescription - .4byte gSludgeBombMoveDescription - .4byte gMudSlapMoveDescription - .4byte gOctazookaMoveDescription - .4byte gSpikesMoveDescription - .4byte gZapCannonMoveDescription - .4byte gForesightMoveDescription - .4byte gDestinyBondMoveDescription - .4byte gPerishSongMoveDescription - .4byte gIcyWindMoveDescription - .4byte gDetectMoveDescription - .4byte gBoneRushMoveDescription - .4byte gLockOnMoveDescription - .4byte gOutrageMoveDescription - .4byte gSandstormMoveDescription - .4byte gGigaDrainMoveDescription - .4byte gEndureMoveDescription - .4byte gCharmMoveDescription - .4byte gRolloutMoveDescription - .4byte gFalseSwipeMoveDescription - .4byte gSwaggerMoveDescription - .4byte gMilkDrinkMoveDescription - .4byte gSparkMoveDescription - .4byte gFuryCutterMoveDescription - .4byte gSteelWingMoveDescription - .4byte gMeanLookMoveDescription - .4byte gAttractMoveDescription - .4byte gSleepTalkMoveDescription - .4byte gHealBellMoveDescription - .4byte gReturnMoveDescription - .4byte gPresentMoveDescription - .4byte gFrustrationMoveDescription - .4byte gSafeguardMoveDescription - .4byte gPainSplitMoveDescription - .4byte gSacredFireMoveDescription - .4byte gMagnitudeMoveDescription - .4byte gDynamicPunchMoveDescription - .4byte gMegahornMoveDescription - .4byte gDragonBreathMoveDescription - .4byte gBatonPassMoveDescription - .4byte gEncoreMoveDescription - .4byte gPursuitMoveDescription - .4byte gRapidSpinMoveDescription - .4byte gSweetScentMoveDescription - .4byte gIronTailMoveDescription - .4byte gMetalClawMoveDescription - .4byte gVitalThrowMoveDescription - .4byte gMorningSunMoveDescription - .4byte gSynthesisMoveDescription - .4byte gMoonlightMoveDescription - .4byte gHiddenPowerMoveDescription - .4byte gCrossChopMoveDescription - .4byte gTwisterMoveDescription - .4byte gRainDanceMoveDescription - .4byte gSunnyDayMoveDescription - .4byte gCrunchMoveDescription - .4byte gMirrorCoatMoveDescription - .4byte gPsychUpMoveDescription - .4byte gExtremeSpeedMoveDescription - .4byte gAncientPowerMoveDescription - .4byte gShadowBallMoveDescription - .4byte gFutureSightMoveDescription - .4byte gRockSmashMoveDescription - .4byte gWhirlpoolMoveDescription - .4byte gBeatUpMoveDescription - .4byte gFakeOutMoveDescription - .4byte gUproarMoveDescription - .4byte gStockpileMoveDescription - .4byte gSpitUpMoveDescription - .4byte gSwallowMoveDescription - .4byte gHeatWaveMoveDescription - .4byte gHailMoveDescription - .4byte gTormentMoveDescription - .4byte gFlatterMoveDescription - .4byte gWillOWispMoveDescription - .4byte gMementoMoveDescription - .4byte gFacadeMoveDescription - .4byte gFocusPunchMoveDescription - .4byte gSmellingSaltMoveDescription - .4byte gFollowMeMoveDescription - .4byte gNaturePowerMoveDescription - .4byte gChargeMoveDescription - .4byte gTauntMoveDescription - .4byte gHelpingHandMoveDescription - .4byte gTrickMoveDescription - .4byte gRolePlayMoveDescription - .4byte gWishMoveDescription - .4byte gAssistMoveDescription - .4byte gIngrainMoveDescription - .4byte gSuperpowerMoveDescription - .4byte gMagicCoatMoveDescription - .4byte gRecycleMoveDescription - .4byte gRevengeMoveDescription - .4byte gBrickBreakMoveDescription - .4byte gYawnMoveDescription - .4byte gKnockOffMoveDescription - .4byte gEndeavorMoveDescription - .4byte gEruptionMoveDescription - .4byte gSkillSwapMoveDescription - .4byte gImprisonMoveDescription - .4byte gRefreshMoveDescription - .4byte gGrudgeMoveDescription - .4byte gSnatchMoveDescription - .4byte gSecretPowerMoveDescription - .4byte gDiveMoveDescription - .4byte gArmThrustMoveDescription - .4byte gCamouflageMoveDescription - .4byte gTailGlowMoveDescription - .4byte gLusterPurgeMoveDescription - .4byte gMistBallMoveDescription - .4byte gFeatherDanceMoveDescription - .4byte gTeeterDanceMoveDescription - .4byte gBlazeKickMoveDescription - .4byte gMudSportMoveDescription - .4byte gIceBallMoveDescription - .4byte gNeedleArmMoveDescription - .4byte gSlackOffMoveDescription - .4byte gHyperVoiceMoveDescription - .4byte gPoisonFangMoveDescription - .4byte gCrushClawMoveDescription - .4byte gBlastBurnMoveDescription - .4byte gHydroCannonMoveDescription - .4byte gMeteorMashMoveDescription - .4byte gAstonishMoveDescription - .4byte gWeatherBallMoveDescription - .4byte gAromatherapyMoveDescription - .4byte gFakeTearsMoveDescription - .4byte gAirCutterMoveDescription - .4byte gOverheatMoveDescription - .4byte gOdorSleuthMoveDescription - .4byte gRockTombMoveDescription - .4byte gSilverWindMoveDescription - .4byte gMetalSoundMoveDescription - .4byte gGrassWhistleMoveDescription - .4byte gTickleMoveDescription - .4byte gCosmicPowerMoveDescription - .4byte gWaterSpoutMoveDescription - .4byte gSignalBeamMoveDescription - .4byte gShadowPunchMoveDescription - .4byte gExtrasensoryMoveDescription - .4byte gSkyUppercutMoveDescription - .4byte gSandTombMoveDescription - .4byte gSheerColdMoveDescription - .4byte gMuddyWaterMoveDescription - .4byte gBulletSeedMoveDescription - .4byte gAerialAceMoveDescription - .4byte gIcicleSpearMoveDescription - .4byte gIronDefenseMoveDescription - .4byte gBlockMoveDescription - .4byte gHowlMoveDescription - .4byte gDragonClawMoveDescription - .4byte gFrenzyPlantMoveDescription - .4byte gBulkUpMoveDescription - .4byte gBounceMoveDescription - .4byte gMudShotMoveDescription - .4byte gPoisonTailMoveDescription - .4byte gCovetMoveDescription - .4byte gVoltTackleMoveDescription - .4byte gMagicalLeafMoveDescription - .4byte gWaterSportMoveDescription - .4byte gCalmMindMoveDescription - .4byte gLeafBladeMoveDescription - .4byte gDragonDanceMoveDescription - .4byte gRockBlastMoveDescription - .4byte gShockWaveMoveDescription - .4byte gWaterPulseMoveDescription - .4byte gDoomDesireMoveDescription - .4byte gPsychoBoostMoveDescription diff --git a/include/data2.h b/include/data2.h index d71958201f..5c75d2593a 100644 --- a/include/data2.h +++ b/include/data2.h @@ -1,6 +1,8 @@ #ifndef GUARD_DATA2_H #define GUARD_DATA2_H +#define MOVE_NAME_LENGTH 12 + struct MonCoords { // This would use a bitfield, but some function @@ -13,10 +15,9 @@ extern struct MonCoords gTrainerBackPicCoords[]; extern struct MonCoords gTrainerFrontPicCoords[]; extern const u8 gSpeciesNames[][POKEMON_NAME_LENGTH + 1]; -extern const u8 gMoveNames[][13]; +extern const u8 gMoveNames[MOVES_COUNT][MOVE_NAME_LENGTH + 1]; extern struct CompressedSpriteSheet gUnknown_0831C620; extern struct CompressedSpritePalette gUnknown_0831C628; extern const struct SpriteTemplate gUnknown_0831C688; - #endif // GUARD_DATA2_H diff --git a/ld_script.txt b/ld_script.txt index f5bfdd598a..fd6b4301bf 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -530,6 +530,7 @@ SECTIONS { src/fossil_specials.o(.rodata); src/fldeff_groundshake.o(.rodata); src/berry_fix_program.o(.rodata); + src/pokemon_summary_screen.o(.rodata); data/pokemon_summary_screen.o(.rodata); data/pokenav.o(.rodata); src/match_call.o(.rodata); diff --git a/src/data/text/move_descriptions.h b/src/data/text/move_descriptions.h new file mode 100644 index 0000000000..f8830c5937 --- /dev/null +++ b/src/data/text/move_descriptions.h @@ -0,0 +1,714 @@ +static const u8 sNullMoveDescription[] = _(""); +static const u8 sPoundMoveDescription[] = _("Pounds the foe with\nforelegs or tail."); +static const u8 sKarateChopMoveDescription[] = _("A chopping attack with a\nhigh critical-hit ratio."); +static const u8 sDoubleSlapMoveDescription[] = _("Repeatedly slaps the foe\n2 to 5 times."); +static const u8 sCometPunchMoveDescription[] = _("Repeatedly punches the foe\n2 to 5 times."); +static const u8 sMegaPunchMoveDescription[] = _("A strong punch thrown with\nincredible power."); +static const u8 sPayDayMoveDescription[] = _("Throws coins at the foe.\nMoney is recovered after."); +static const u8 sFirePunchMoveDescription[] = _("A fiery punch that may burn\nthe foe."); +static const u8 sIcePunchMoveDescription[] = _("An icy punch that may\nfreeze the foe."); +static const u8 sThunderPunchMoveDescription[] = _("An electrified punch that\nmay paralyze the foe."); +static const u8 sScratchMoveDescription[] = _("Scratches the foe with\nsharp claws."); +static const u8 sViceGripMoveDescription[] = _("Grips the foe with large and\npowerful pincers."); +static const u8 sGuillotineMoveDescription[] = _("A powerful pincer attack\nthat may cause fainting."); +static const u8 sRazorWindMoveDescription[] = _("A 2-turn move that strikes\nthe foe on the 2nd turn."); +static const u8 sSwordsDanceMoveDescription[] = _("A fighting dance that\nsharply raises ATTACK."); +static const u8 sCutMoveDescription[] = _("Cuts the foe with sharp\nscythes, claws, etc."); +static const u8 sGustMoveDescription[] = _("Strikes the foe with a gust\nof wind whipped up by wings."); +static const u8 sWingAttackMoveDescription[] = _("Strikes the foe with wings\nspread wide."); +static const u8 sWhirlwindMoveDescription[] = _("Blows away the foe with\nwind and ends the battle."); +static const u8 sFlyMoveDescription[] = _("Flies up on the first turn,\nthen strikes the next turn."); +static const u8 sBindMoveDescription[] = _("Binds and squeezes the foe\nfor 2 to 5 turns."); +static const u8 sSlamMoveDescription[] = _("Slams the foe with a long\ntail, vine, etc."); +static const u8 sVineWhipMoveDescription[] = _("Strikes the foe with\nslender, whiplike vines."); +static const u8 sStompMoveDescription[] = _("Stomps the enemy with a big\nfoot. May cause flinching."); +static const u8 sDoubleKickMoveDescription[] = _("A double-kicking attack\nthat strikes the foe twice."); +static const u8 sMegaKickMoveDescription[] = _("An extremely powerful kick\nwith intense force."); +static const u8 sJumpKickMoveDescription[] = _("A strong jumping kick. May\nmiss and hurt the kicker."); +static const u8 sRollingKickMoveDescription[] = _("A fast kick delivered from\na rapid spin."); +static const u8 sSandAttackMoveDescription[] = _("Reduces the foe’s accuracy\nby hurling sand in its face."); +static const u8 sHeadbuttMoveDescription[] = _("A ramming attack that may\ncause flinching."); +static const u8 sHornAttackMoveDescription[] = _("Jabs the foe with sharp\nhorns."); +static const u8 sFuryAttackMoveDescription[] = _("Jabs the foe 2 to 5 times\nwith sharp horns, etc."); +static const u8 sHornDrillMoveDescription[] = _("A one-hit KO attack that\nuses a horn like a drill."); +static const u8 sTackleMoveDescription[] = _("Charges the foe with a full-\nbody tackle."); +static const u8 sBodySlamMoveDescription[] = _("A full-body slam that may\ncause paralysis."); +static const u8 sWrapMoveDescription[] = _("Wraps and squeezes the foe\n2 to 5 times with vines, etc."); +static const u8 sTakeDownMoveDescription[] = _("A reckless charge attack\nthat also hurts the user."); +static const u8 sThrashMoveDescription[] = _("A rampage of 2 to 3 turns\nthat confuses the user."); +static const u8 sDoubleEdgeMoveDescription[] = _("A life-risking tackle that\nalso hurts the user."); +static const u8 sTailWhipMoveDescription[] = _("Wags the tail to lower the\nfoe’s DEFENSE."); +static const u8 sPoisonStingMoveDescription[] = _("A toxic attack with barbs,\netc., that may poison."); +static const u8 sTwineedleMoveDescription[] = _("Stingers on the forelegs\njab the foe twice."); +static const u8 sPinMissileMoveDescription[] = _("Sharp pins are fired to\nstrike 2 to 5 times."); +static const u8 sLeerMoveDescription[] = _("Frightens the foe with a\nleer to lower DEFENSE."); +static const u8 sBiteMoveDescription[] = _("Bites with vicious fangs.\nMay cause flinching."); +static const u8 sGrowlMoveDescription[] = _("Growls cutely to reduce the\nfoe’s ATTACK."); +static const u8 sRoarMoveDescription[] = _("Makes the foe flee to end\nthe battle."); +static const u8 sSingMoveDescription[] = _("A soothing song lulls the\nfoe into a deep slumber."); +static const u8 sSupersonicMoveDescription[] = _("Emits bizarre sound waves\nthat may confuse the foe."); +static const u8 sSonicBoomMoveDescription[] = _("Launches shock waves that\nalways inflict 20 HP damage."); +static const u8 sDisableMoveDescription[] = _("Psychically disables one of\nthe foe’s moves."); +static const u8 sAcidMoveDescription[] = _("Sprays a hide-melting acid.\nMay lower DEFENSE."); +static const u8 sEmberMoveDescription[] = _("A weak fire attack that may\ninflict a burn."); +static const u8 sFlamethrowerMoveDescription[] = _("A powerful fire attack that\nmay inflict a burn."); +static const u8 sMistMoveDescription[] = _("Creates a mist that stops\nreduction of abilities."); +static const u8 sWaterGunMoveDescription[] = _("Squirts water to attack\nthe foe."); +static const u8 sHydroPumpMoveDescription[] = _("Blasts water at high power\nto strike the foe."); +static const u8 sSurfMoveDescription[] = _("Creates a huge wave, then\ncrashes it down on the foe."); +static const u8 sIceBeamMoveDescription[] = _("Blasts the foe with an icy\nbeam that may freeze it."); +static const u8 sBlizzardMoveDescription[] = _("Hits the foe with an icy\nstorm that may freeze it."); +static const u8 sPsybeamMoveDescription[] = _("Fires a peculiar ray that\nmay confuse the foe."); +static const u8 sBubbleBeamMoveDescription[] = _("Forcefully sprays bubbles\nthat may lower SPEED."); +static const u8 sAuroraBeamMoveDescription[] = _("Fires a rainbow-colored\nbeam that may lower ATTACK."); +static const u8 sHyperBeamMoveDescription[] = _("Powerful, but leaves the\nuser immobile the next turn."); +static const u8 sPeckMoveDescription[] = _("Attacks the foe with a\njabbing beak, etc."); +static const u8 sDrillPeckMoveDescription[] = _("A corkscrewing attack with\nthe beak acting as a drill."); +static const u8 sSubmissionMoveDescription[] = _("A reckless body slam that\nalso hurts the user."); +static const u8 sLowKickMoveDescription[] = _("A kick that inflicts more\ndamage on heavier foes."); +static const u8 sCounterMoveDescription[] = _("Retaliates any physical hit\nwith double the power."); +static const u8 sSeismicTossMoveDescription[] = _("Inflicts damage identical\nto the user’s level."); +static const u8 sStrengthMoveDescription[] = _("Builds enormous power,\nthen slams the foe."); +static const u8 sAbsorbMoveDescription[] = _("An attack that absorbs\nhalf the damage inflicted."); +static const u8 sMegaDrainMoveDescription[] = _("An attack that absorbs\nhalf the damage inflicted."); +static const u8 sLeechSeedMoveDescription[] = _("Plants a seed on the foe to\nsteal HP on every turn."); +static const u8 sGrowthMoveDescription[] = _("Forces the body to grow\nand heightens SP. ATK."); +static const u8 sRazorLeafMoveDescription[] = _("Cuts the enemy with leaves.\nHigh critical-hit ratio."); +static const u8 sSolarBeamMoveDescription[] = _("Absorbs light in one turn,\nthen attacks next turn."); +static const u8 sPoisonPowderMoveDescription[] = _("Scatters a toxic powder\nthat may poison the foe."); +static const u8 sStunSporeMoveDescription[] = _("Scatters a powder that may\nparalyze the foe."); +static const u8 sSleepPowderMoveDescription[] = _("Scatters a powder that may\ncause the foe to sleep."); +static const u8 sPetalDanceMoveDescription[] = _("A rampage of 2 to 3 turns\nthat confuses the user."); +static const u8 sStringShotMoveDescription[] = _("Binds the foe with string\nto reduce its SPEED."); +static const u8 sDragonRageMoveDescription[] = _("Launches shock waves that\nalways inflict 40 HP damage."); +static const u8 sFireSpinMoveDescription[] = _("Traps the foe in a ring of\nfire for 2 to 5 turns."); +static const u8 sThunderShockMoveDescription[] = _("An electrical attack that\nmay paralyze the foe."); +static const u8 sThunderboltMoveDescription[] = _("A strong electrical attack\nthat may paralyze the foe."); +static const u8 sThunderWaveMoveDescription[] = _("A weak jolt of electricity\nthat paralyzes the foe."); +static const u8 sThunderMoveDescription[] = _("A lightning attack that may\ncause paralysis."); +static const u8 sRockThrowMoveDescription[] = _("Throws small rocks to\nstrike the foe."); +static const u8 sEarthquakeMoveDescription[] = _("A powerful quake, but has\nno effect on flying foes."); +static const u8 sFissureMoveDescription[] = _("A one-hit KO move that\ndrops the foe in a fissure."); +static const u8 sDigMoveDescription[] = _("Digs underground the first\nturn and strikes next turn."); +static const u8 sToxicMoveDescription[] = _("Poisons the foe with an\nintensifying toxin."); +static const u8 sConfusionMoveDescription[] = _("A psychic attack that may\ncause confusion."); +static const u8 sPsychicMoveDescription[] = _("A powerful psychic attack\nthat may lower SP. DEF."); +static const u8 sHypnosisMoveDescription[] = _("A hypnotizing move that\nmay induce sleep."); +static const u8 sMeditateMoveDescription[] = _("Meditates in a peaceful\nfashion to raise ATTACK."); +static const u8 sAgilityMoveDescription[] = _("Relaxes the body to sharply\nboost SPEED."); +static const u8 sQuickAttackMoveDescription[] = _("An extremely fast attack\nthat always strikes first."); +static const u8 sRageMoveDescription[] = _("Raises the user’s ATTACK\nevery time it is hit."); +static const u8 sTeleportMoveDescription[] = _("A psychic move for fleeing\nfrom battle instantly."); +static const u8 sNightShadeMoveDescription[] = _("Inflicts damage identical\nto the user’s level."); +static const u8 sMimicMoveDescription[] = _("Copies a move used by the\nfoe during one battle."); +static const u8 sScreechMoveDescription[] = _("Emits a screech to sharply\nreduce the foe’s DEFENSE."); +static const u8 sDoubleTeamMoveDescription[] = _("Creates illusory copies to\nraise evasiveness."); +static const u8 sRecoverMoveDescription[] = _("Recovers up to half the\nuser’s maximum HP."); +static const u8 sHardenMoveDescription[] = _("Stiffens the body’s \nmuscles to raise DEFENSE."); +static const u8 sMinimizeMoveDescription[] = _("Minimizes the user’s size\nto raise evasiveness."); +static const u8 sSmokescreenMoveDescription[] = _("Lowers the foe’s accuracy\nusing smoke, ink, etc."); +static const u8 sConfuseRayMoveDescription[] = _("A sinister ray that\nconfuses the foe."); +static const u8 sWithdrawMoveDescription[] = _("Withdraws the body into its\nhard shell to raise DEFENSE."); +static const u8 sDefenseCurlMoveDescription[] = _("Curls up to conceal weak\nspots and raise DEFENSE."); +static const u8 sBarrierMoveDescription[] = _("Creates a barrier that\nsharply raises DEFENSE."); +static const u8 sLightScreenMoveDescription[] = _("Creates a wall of light that\nlowers SP. ATK damage."); +static const u8 sHazeMoveDescription[] = _("Creates a black haze that\neliminates all stat changes."); +static const u8 sReflectMoveDescription[] = _("Creates a wall of light that\nweakens physical attacks."); +static const u8 sFocusEnergyMoveDescription[] = _("Focuses power to raise the\ncritical-hit ratio."); +static const u8 sBideMoveDescription[] = _("Endures attack for 2\nturns to retaliate double."); +static const u8 sMetronomeMoveDescription[] = _("Waggles a finger to use any\nPOKéMON move at random."); +static const u8 sMirrorMoveMoveDescription[] = _("Counters the foe’s attack\nwith the same move."); +static const u8 sSelfDestructMoveDescription[] = _("Inflicts severe damage but\nmakes the user faint."); +static const u8 sEggBombMoveDescription[] = _("An egg is forcibly hurled at\nthe foe."); +static const u8 sLickMoveDescription[] = _("Licks with a long tongue to\ninjure. May also paralyze."); +static const u8 sSmogMoveDescription[] = _("An exhaust-gas attack\nthat may also poison."); +static const u8 sSludgeMoveDescription[] = _("Sludge is hurled to inflict\ndamage. May also poison."); +static const u8 sBoneClubMoveDescription[] = _("Clubs the foe with a bone.\nMay cause flinching."); +static const u8 sFireBlastMoveDescription[] = _("Incinerates everything it\nstrikes. May cause a burn."); +static const u8 sWaterfallMoveDescription[] = _("Charges the foe with speed\nto climb waterfalls."); +static const u8 sClampMoveDescription[] = _("Traps and squeezes the\nfoe for 2 to 5 turns."); +static const u8 sSwiftMoveDescription[] = _("Sprays star-shaped rays\nthat never miss."); +static const u8 sSkullBashMoveDescription[] = _("Tucks in the head, then\nattacks on the next turn."); +static const u8 sSpikeCannonMoveDescription[] = _("Launches sharp spikes that\nstrike 2 to 5 times."); +static const u8 sConstrictMoveDescription[] = _("Constricts to inflict pain.\nMay lower SPEED."); +static const u8 sAmnesiaMoveDescription[] = _("Forgets about something\nand sharply raises SP. DEF."); +static const u8 sKinesisMoveDescription[] = _("Distracts the foe.\nMay lower accuracy."); +static const u8 sSoftBoiledMoveDescription[] = _("Recovers up to half the\nuser’s maximum HP."); +static const u8 sHiJumpKickMoveDescription[] = _("A jumping knee kick. If it\nmisses, the user is hurt."); +static const u8 sGlareMoveDescription[] = _("Intimidates and frightens\nthe foe into paralysis."); +static const u8 sDreamEaterMoveDescription[] = _("Takes one half the damage\ninflicted on a sleeping foe."); +static const u8 sPoisonGasMoveDescription[] = _("Envelops the foe in a toxic\ngas that may poison."); +static const u8 sBarrageMoveDescription[] = _("Hurls round objects at the\nfoe 2 to 5 times."); +static const u8 sLeechLifeMoveDescription[] = _("An attack that steals half\nthe damage inflicted."); +static const u8 sLovelyKissMoveDescription[] = _("Demands a kiss with a scary\nface that induces sleep."); +static const u8 sSkyAttackMoveDescription[] = _("Searches out weak spots,\nthen strikes the next turn."); +static const u8 sTransformMoveDescription[] = _("Alters the user’s cells to\nbecome a copy of the foe."); +static const u8 sBubbleMoveDescription[] = _("An attack using bubbles.\nMay lower the foe’s SPEED."); +static const u8 sDizzyPunchMoveDescription[] = _("A rhythmic punch that may\nconfuse the foe."); +static const u8 sSporeMoveDescription[] = _("Scatters a cloud of spores\nthat always induce sleep."); +static const u8 sFlashMoveDescription[] = _("Looses a powerful blast of\nlight that cuts accuracy."); +static const u8 sPsywaveMoveDescription[] = _("Attacks with a psychic\nwave of varying intensity."); +static const u8 sSplashMoveDescription[] = _("It’s just a splash...\nHas no effect whatsoever."); +static const u8 sAcidArmorMoveDescription[] = _("Liquifies the user’s body\nto sharply raise DEFENSE."); +static const u8 sCrabhammerMoveDescription[] = _("Hammers with a pincer. Has a\nhigh critical-hit ratio."); +static const u8 sExplosionMoveDescription[] = _("Inflicts severe damage but\nmakes the user faint."); +static const u8 sFurySwipesMoveDescription[] = _("Rakes the foe with sharp\nclaws, etc., 2 to 5 times."); +static const u8 sBonemerangMoveDescription[] = _("Throws a bone boomerang\nthat strikes twice."); +static const u8 sRestMoveDescription[] = _("The user sleeps for 2 turns,\nrestoring HP and status."); +static const u8 sRockSlideMoveDescription[] = _("Large boulders are hurled.\nMay cause flinching."); +static const u8 sHyperFangMoveDescription[] = _("Attacks with sharp fangs.\nMay cause flinching."); +static const u8 sSharpenMoveDescription[] = _("Reduces the polygon count\nand raises ATTACK."); +static const u8 sConversionMoveDescription[] = _("Changes the user’s type\ninto a known move’s type."); +static const u8 sTriAttackMoveDescription[] = _("Fires three types of beams\nat the same time."); +static const u8 sSuperFangMoveDescription[] = _("Attacks with sharp fangs\nand cuts half the foe’s HP."); +static const u8 sSlashMoveDescription[] = _("Slashes with claws, etc. Has\na high critical-hit ratio."); +static const u8 sSubstituteMoveDescription[] = _("Creates a decoy using 1/4\nof the user’s maximum HP."); +static const u8 sStruggleMoveDescription[] = _("Used only if all PP are gone.\nAlso hurts the user a little."); +static const u8 sSketchMoveDescription[] = _("Copies the foe’s last move\npermanently."); +static const u8 sTripleKickMoveDescription[] = _("Kicks the foe 3 times in a\nrow with rising intensity."); +static const u8 sThiefMoveDescription[] = _("While attacking, it may\nsteal the foe’s held item."); +static const u8 sSpiderWebMoveDescription[] = _("Ensnares the foe to stop it\nfrom fleeing or switching."); +static const u8 sMindReaderMoveDescription[] = _("Senses the foe’s action to\nensure the next move’s hit."); +static const u8 sNightmareMoveDescription[] = _("Inflicts 1/4 damage on a\nsleeping foe every turn."); +static const u8 sFlameWheelMoveDescription[] = _("A fiery charge attack that\nmay inflict a burn."); +static const u8 sSnoreMoveDescription[] = _("A loud attack that can be\nused only while asleep."); +static const u8 sCurseMoveDescription[] = _("A move that functions\ndifferently for GHOSTS."); +static const u8 sFlailMoveDescription[] = _("Inflicts more damage when\nthe user’s HP is down."); +static const u8 sConversion2MoveDescription[] = _("Makes the user resistant\nto the last attack’s type."); +static const u8 sAeroblastMoveDescription[] = _("Launches a vacuumed blast.\nHigh critical-hit ratio."); +static const u8 sCottonSporeMoveDescription[] = _("Spores cling to the foe,\nsharply reducing SPEED."); +static const u8 sReversalMoveDescription[] = _("Inflicts more damage when\nthe user’s HP is down."); +static const u8 sSpiteMoveDescription[] = _("Spitefully cuts the PP\nof the foe’s last move."); +static const u8 sPowderSnowMoveDescription[] = _("Blasts the foe with a snowy\ngust. May cause freezing."); +static const u8 sProtectMoveDescription[] = _("Evades attack, but may fail\nif used in succession."); +static const u8 sMachPunchMoveDescription[] = _("A punch is thrown at wicked\nspeed to strike first."); +static const u8 sScaryFaceMoveDescription[] = _("Frightens with a scary face\nto sharply reduce SPEED."); +static const u8 sFaintAttackMoveDescription[] = _("Draws the foe close, then\nstrikes without fail."); +static const u8 sSweetKissMoveDescription[] = _("Demands a kiss with a cute\nlook. May cause confusion."); +static const u8 sBellyDrumMoveDescription[] = _("Maximizes ATTACK while\nsacrificing HP."); +static const u8 sSludgeBombMoveDescription[] = _("Sludge is hurled to inflict\ndamage. May also poison."); +static const u8 sMudSlapMoveDescription[] = _("Hurls mud in the foe’s face\nto reduce its accuracy."); +static const u8 sOctazookaMoveDescription[] = _("Fires a lump of ink to\ndamage and cut accuracy."); +static const u8 sSpikesMoveDescription[] = _("Sets spikes that hurt a \nfoe switching in."); +static const u8 sZapCannonMoveDescription[] = _("Powerful and sure to cause\nparalysis, but inaccurate."); +static const u8 sForesightMoveDescription[] = _("Negates the foe’s efforts\nto heighten evasiveness."); +static const u8 sDestinyBondMoveDescription[] = _("If the user faints, the foe\nis also made to faint."); +static const u8 sPerishSongMoveDescription[] = _("Any POKéMON hearing this\nsong faints in 3 turns."); +static const u8 sIcyWindMoveDescription[] = _("A chilling attack that\nlowers the foe’s SPEED."); +static const u8 sDetectMoveDescription[] = _("Evades attack, but may fail\nif used in succession."); +static const u8 sBoneRushMoveDescription[] = _("Strikes the foe with a bone\nin hand 2 to 5 times."); +static const u8 sLockOnMoveDescription[] = _("Locks on to the foe to\nensure the next move hits."); +static const u8 sOutrageMoveDescription[] = _("A rampage of 2 to 3 turns\nthat confuses the user."); +static const u8 sSandstormMoveDescription[] = _("Causes a sandstorm that\nrages for several turns."); +static const u8 sGigaDrainMoveDescription[] = _("An attack that steals half\nthe damage inflicted."); +static const u8 sEndureMoveDescription[] = _("Endures any attack for\n1 turn, leaving at least 1HP."); +static const u8 sCharmMoveDescription[] = _("Charms the foe and sharply\nreduces its ATTACK."); +static const u8 sRolloutMoveDescription[] = _("An attack lasting 5 turns\nwith rising intensity."); +static const u8 sFalseSwipeMoveDescription[] = _("An attack that leaves the\nfoe with at least 1 HP."); +static const u8 sSwaggerMoveDescription[] = _("Confuses the foe, but also\nsharply raises ATTACK."); +static const u8 sMilkDrinkMoveDescription[] = _("Recovers up to half the\nuser’s maximum HP."); +static const u8 sSparkMoveDescription[] = _("An electrified tackle that\nmay paralyze the foe."); +static const u8 sFuryCutterMoveDescription[] = _("An attack that intensifies\non each successive hit."); +static const u8 sSteelWingMoveDescription[] = _("Strikes the foe with hard\nwings spread wide."); +static const u8 sMeanLookMoveDescription[] = _("Fixes the foe with a mean\nlook that prevents escape."); +static const u8 sAttractMoveDescription[] = _("Makes the opposite gender\nless likely to attack."); +static const u8 sSleepTalkMoveDescription[] = _("Uses an available move\nrandomly while asleep."); +static const u8 sHealBellMoveDescription[] = _("Chimes soothingly to heal\nall status abnormalities."); +static const u8 sReturnMoveDescription[] = _("An attack that increases\nin power with friendship."); +static const u8 sPresentMoveDescription[] = _("A gift in the form of a\nbomb. May restore HP."); +static const u8 sFrustrationMoveDescription[] = _("An attack that is stronger\nif the TRAINER is disliked."); +static const u8 sSafeguardMoveDescription[] = _("A mystical force prevents\nall status problems."); +static const u8 sPainSplitMoveDescription[] = _("Adds the user and foe’s HP,\nthen shares them equally."); +static const u8 sSacredFireMoveDescription[] = _("A mystical fire attack that\nmay inflict a burn."); +static const u8 sMagnitudeMoveDescription[] = _("A ground-shaking attack\nof random intensity."); +static const u8 sDynamicPunchMoveDescription[] = _("Powerful and sure to cause\nconfusion, but inaccurate."); +static const u8 sMegahornMoveDescription[] = _("A brutal ramming attack\nusing out-thrust horns."); +static const u8 sDragonBreathMoveDescription[] = _("Strikes the foe with an\nincredible blast of breath."); +static const u8 sBatonPassMoveDescription[] = _("Switches out the user while\nkeeping effects in play."); +static const u8 sEncoreMoveDescription[] = _("Makes the foe repeat its\nlast move over 2 to 6 turns."); +static const u8 sPursuitMoveDescription[] = _("Inflicts bad damage if used\non a foe switching out."); +static const u8 sRapidSpinMoveDescription[] = _("Spins the body at high\nspeed to strike the foe."); +static const u8 sSweetScentMoveDescription[] = _("Allures the foe to reduce\nevasiveness."); +static const u8 sIronTailMoveDescription[] = _("Attacks with a rock-hard\ntail. May lower DEFENSE."); +static const u8 sMetalClawMoveDescription[] = _("A claw attack that may\nraise the user’s ATTACK."); +static const u8 sVitalThrowMoveDescription[] = _("Makes the user’s move last,\nbut it never misses."); +static const u8 sMorningSunMoveDescription[] = _("Restores HP. The amount\nvaries with the weather."); +static const u8 sSynthesisMoveDescription[] = _("Restores HP. The amount\nvaries with the weather."); +static const u8 sMoonlightMoveDescription[] = _("Restores HP. The amount\nvaries with the weather."); +static const u8 sHiddenPowerMoveDescription[] = _("The effectiveness varies\nwith the user."); +static const u8 sCrossChopMoveDescription[] = _("A double-chopping attack.\nHigh critical-hit ratio."); +static const u8 sTwisterMoveDescription[] = _("Whips up a vicious twister\nto tear at the foe."); +static const u8 sRainDanceMoveDescription[] = _("Boosts the power of WATER-\ntype moves for 5 turns."); +static const u8 sSunnyDayMoveDescription[] = _("Boosts the power of FIRE-\ntype moves for 5 turns."); +static const u8 sCrunchMoveDescription[] = _("Crunches with sharp fangs.\nMay lower SP. DEF."); +static const u8 sMirrorCoatMoveDescription[] = _("Counters the foe’s special\nattack at double the power."); +static const u8 sPsychUpMoveDescription[] = _("Copies the foe’s effect(s)\nand gives to the user."); +static const u8 sExtremeSpeedMoveDescription[] = _("An extremely fast and\npowerful attack."); +static const u8 sAncientPowerMoveDescription[] = _("An attack that may raise\nall stats."); +static const u8 sShadowBallMoveDescription[] = _("Hurls a black blob that may\nlower the foe’s SP. DEF."); +static const u8 sFutureSightMoveDescription[] = _("Heightens inner power to\nstrike 2 turns later."); +static const u8 sRockSmashMoveDescription[] = _("A rock-crushing attack\nthat may lower DEFENSE."); +static const u8 sWhirlpoolMoveDescription[] = _("Traps and hurts the foe in\na whirlpool for 2 to 5 turns."); +static const u8 sBeatUpMoveDescription[] = _("Summons party POKéMON to\njoin in the attack."); +static const u8 sFakeOutMoveDescription[] = _("A 1st-turn, 1st-strike move\nthat causes flinching."); +static const u8 sUproarMoveDescription[] = _("Causes an uproar for 2 to 5\nturns and prevents sleep."); +static const u8 sStockpileMoveDescription[] = _("Charges up power for up to\n3 turns."); +static const u8 sSpitUpMoveDescription[] = _("Releases stockpiled power\n(the more the better)."); +static const u8 sSwallowMoveDescription[] = _("Absorbs stockpiled power\nand restores HP."); +static const u8 sHeatWaveMoveDescription[] = _("Exhales a hot breath on the\nfoe. May inflict a burn."); +static const u8 sHailMoveDescription[] = _("Summons a hailstorm that\nstrikes every turn."); +static const u8 sTormentMoveDescription[] = _("Torments the foe and stops\nsuccessive use of a move."); +static const u8 sFlatterMoveDescription[] = _("Confuses the foe, but\nraises its SP. ATK."); +static const u8 sWillOWispMoveDescription[] = _("Inflicts a burn on the foe\nwith intense fire."); +static const u8 sMementoMoveDescription[] = _("The user faints and lowers\nthe foe’s abilities."); +static const u8 sFacadeMoveDescription[] = _("Boosts ATTACK when burned,\nparalyzed, or poisoned."); +static const u8 sFocusPunchMoveDescription[] = _("A powerful loyalty attack.\nThe user flinches if hit."); +static const u8 sSmellingSaltMoveDescription[] = _("Powerful against paralyzed\nfoes, but also heals them."); +static const u8 sFollowMeMoveDescription[] = _("Draws attention to make\nfoes attack only the user."); +static const u8 sNaturePowerMoveDescription[] = _("The type of attack varies\ndepending on the location."); +static const u8 sChargeMoveDescription[] = _("Charges power to boost the\nelectric move used next."); +static const u8 sTauntMoveDescription[] = _("Taunts the foe into only\nusing attack moves."); +static const u8 sHelpingHandMoveDescription[] = _("Boosts the power of the\nrecipient’s moves."); +static const u8 sTrickMoveDescription[] = _("Tricks the foe into trading\nheld items."); +static const u8 sRolePlayMoveDescription[] = _("Mimics the target and\ncopies its special ability."); +static const u8 sWishMoveDescription[] = _("A wish that restores HP.\nIt takes time to work."); +static const u8 sAssistMoveDescription[] = _("Attacks randomly with one\nof the partner’s moves."); +static const u8 sIngrainMoveDescription[] = _("Lays roots that restore HP.\nThe user can’t switch out."); +static const u8 sSuperpowerMoveDescription[] = _("Boosts strength sharply,\nbut lowers abilities."); +static const u8 sMagicCoatMoveDescription[] = _("Reflects special effects\nback to the attacker."); +static const u8 sRecycleMoveDescription[] = _("Recycles a used item for\none more use."); +static const u8 sRevengeMoveDescription[] = _("An attack that gains power\nif injured by the foe."); +static const u8 sBrickBreakMoveDescription[] = _("Destroys barriers such as\nREFLECT and causes damage."); +static const u8 sYawnMoveDescription[] = _("Lulls the foe into yawning,\nthen sleeping next turn."); +static const u8 sKnockOffMoveDescription[] = _("Knocks down the foe’s held\nitem to prevent its use."); +static const u8 sEndeavorMoveDescription[] = _("Gains power if the user’s HP\nis lower than the foe’s HP."); +static const u8 sEruptionMoveDescription[] = _("The higher the user’s HP,\nthe more damage caused."); +static const u8 sSkillSwapMoveDescription[] = _("The user swaps special\nabilities with the target."); +static const u8 sImprisonMoveDescription[] = _("Prevents foes from using\nmoves known by the user."); +static const u8 sRefreshMoveDescription[] = _("Heals poisoning, paralysis,\nor a burn."); +static const u8 sGrudgeMoveDescription[] = _("If the user faints, deletes\nall PP of foe’s last move."); +static const u8 sSnatchMoveDescription[] = _("Steals the effects of the\nmove the target uses next."); +static const u8 sSecretPowerMoveDescription[] = _("An attack with effects\nthat vary by location."); +static const u8 sDiveMoveDescription[] = _("Dives underwater the first\nturn and strikes next turn."); +static const u8 sArmThrustMoveDescription[] = _("Straight-arm punches that\nstrike the foe 2 to 5 times."); +static const u8 sCamouflageMoveDescription[] = _("Alters the POKéMON’s type\ndepending on the location."); +static const u8 sTailGlowMoveDescription[] = _("Flashes a light that sharply\nraises SP. ATK."); +static const u8 sLusterPurgeMoveDescription[] = _("Attacks with a burst of\nlight. May lower SP. DEF."); +static const u8 sMistBallMoveDescription[] = _("Attacks with a flurry of\ndown. May lower SP. ATK."); +static const u8 sFeatherDanceMoveDescription[] = _("Envelops the foe with down\nto sharply reduce ATTACK."); +static const u8 sTeeterDanceMoveDescription[] = _("Confuses all POKéMON on\nthe scene."); +static const u8 sBlazeKickMoveDescription[] = _("A kick with a high critical-\nhit ratio. May cause a burn."); +static const u8 sMudSportMoveDescription[] = _("Covers the user in mud to\nraise electrical resistance."); +static const u8 sIceBallMoveDescription[] = _("A 5-turn attack that gains\npower on successive hits."); +static const u8 sNeedleArmMoveDescription[] = _("Attacks with thorny arms.\nMay cause flinching."); +static const u8 sSlackOffMoveDescription[] = _("Slacks off and restores\nhalf the maximum HP."); +static const u8 sHyperVoiceMoveDescription[] = _("A loud attack that uses\nsound waves to injure."); +static const u8 sPoisonFangMoveDescription[] = _("A sharp-fanged attack.\nMay badly poison the foe."); +static const u8 sCrushClawMoveDescription[] = _("Tears at the foe with sharp\nclaws. May lower DEFENSE."); +static const u8 sBlastBurnMoveDescription[] = _("Powerful, but leaves the\nuser immobile the next turn."); +static const u8 sHydroCannonMoveDescription[] = _("Powerful, but leaves the\nuser immobile the next turn."); +static const u8 sMeteorMashMoveDescription[] = _("Fires a meteor-like punch.\nMay raise ATTACK."); +static const u8 sAstonishMoveDescription[] = _("An attack that may shock\nthe foe into flinching."); +static const u8 sWeatherBallMoveDescription[] = _("The move’s type and power\nchange with the weather."); +static const u8 sAromatherapyMoveDescription[] = _("Heals all status problems\nwith a soothing scent."); +static const u8 sFakeTearsMoveDescription[] = _("Feigns crying to sharply\nlower the foe’s SP. DEF."); +static const u8 sAirCutterMoveDescription[] = _("Hacks with razorlike wind.\nHigh critical-hit ratio."); +static const u8 sOverheatMoveDescription[] = _("Allows a full-power attack,\nbut sharply lowers SP. ATK."); +static const u8 sOdorSleuthMoveDescription[] = _("Negates the foe’s efforts\nto heighten evasiveness."); +static const u8 sRockTombMoveDescription[] = _("Stops the foe from moving\nwith rocks and cuts SPEED."); +static const u8 sSilverWindMoveDescription[] = _("A powdery attack that may\nraise abilities."); +static const u8 sMetalSoundMoveDescription[] = _("Emits a horrible screech\nthat sharply lowers SP. DEF."); +static const u8 sGrassWhistleMoveDescription[] = _("Lulls the foe into sleep\nwith a pleasant melody."); +static const u8 sTickleMoveDescription[] = _("Makes the foe laugh to\nlower ATTACK and DEFENSE."); +static const u8 sCosmicPowerMoveDescription[] = _("Raises DEFENSE and SP. DEF\nwith a mystic power."); +static const u8 sWaterSpoutMoveDescription[] = _("Inflicts more damage if the\nuser’s HP is high."); +static const u8 sSignalBeamMoveDescription[] = _("A strange beam attack that\nmay confuse the foe."); +static const u8 sShadowPunchMoveDescription[] = _("An unavoidable punch that\nis thrown from shadows."); +static const u8 sExtrasensoryMoveDescription[] = _("Attacks with a peculiar\npower. May cause flinching."); +static const u8 sSkyUppercutMoveDescription[] = _("An uppercut thrown as if\nleaping into the sky."); +static const u8 sSandTombMoveDescription[] = _("Traps and hurts the foe in\nquicksand for 2 to 5 turns."); +static const u8 sSheerColdMoveDescription[] = _("A chilling attack that\ncauses fainting if it hits."); +static const u8 sMuddyWaterMoveDescription[] = _("Attacks with muddy water.\nMay lower accuracy."); +static const u8 sBulletSeedMoveDescription[] = _("Shoots 2 to 5 seeds in a row\nto strike the foe."); +static const u8 sAerialAceMoveDescription[] = _("An extremely speedy and\nunavoidable attack."); +static const u8 sIcicleSpearMoveDescription[] = _("Attacks the foe by firing\n2 to 5 icicles in a row."); +static const u8 sIronDefenseMoveDescription[] = _("Hardens the body’s surface\nto sharply raise DEFENSE."); +static const u8 sBlockMoveDescription[] = _("Blocks the foe’s way to\nprevent escape."); +static const u8 sHowlMoveDescription[] = _("Howls to raise the spirit\nand boosts ATTACK."); +static const u8 sDragonClawMoveDescription[] = _("Slashes the foe with sharp\nclaws."); +static const u8 sFrenzyPlantMoveDescription[] = _("Powerful, but leaves the\nuser immobile the next turn."); +static const u8 sBulkUpMoveDescription[] = _("Bulks up the body to boost\nboth ATTACK and DEFENSE."); +static const u8 sBounceMoveDescription[] = _("Bounces up, then down the\nnext turn. May paralyze."); +static const u8 sMudShotMoveDescription[] = _("Hurls mud at the foe and\nreduces SPEED."); +static const u8 sPoisonTailMoveDescription[] = _("Has a high critical-hit\nratio. May also poison."); +static const u8 sCovetMoveDescription[] = _("Cutely begs to obtain an\nitem held by the foe."); +static const u8 sVoltTackleMoveDescription[] = _("A life-risking tackle that\nslightly hurts the user."); +static const u8 sMagicalLeafMoveDescription[] = _("Attacks with a strange leaf\nthat cannot be evaded."); +static const u8 sWaterSportMoveDescription[] = _("The user becomes soaked to\nraise resistance to fire."); +static const u8 sCalmMindMoveDescription[] = _("Raises SP. ATK and SP. DEF\nby focusing the mind."); +static const u8 sLeafBladeMoveDescription[] = _("Slashes with a sharp leaf.\nHigh critical-hit ratio."); +static const u8 sDragonDanceMoveDescription[] = _("A mystical dance that ups\nATTACK and SPEED."); +static const u8 sRockBlastMoveDescription[] = _("Hurls boulders at the foe\n2 to 5 times in a row."); +static const u8 sShockWaveMoveDescription[] = _("A fast and unavoidable\nelectric attack."); +static const u8 sWaterPulseMoveDescription[] = _("Attacks with ultrasonic\nwaves. May confuse the foe."); +static const u8 sDoomDesireMoveDescription[] = _("Summons strong sunlight to\nattack 2 turns later."); +static const u8 sPsychoBoostMoveDescription[] = _("Allows a full-power attack,\nbut sharply lowers SP. ATK."); + +// MOVE_NONE is ignored in this table. Make sure to always subtract 1 before getting the right pointer. +const u8 *const gMoveDescriptionPointers[MOVES_COUNT - 1] = +{ + [MOVE_POUND - 1] = sPoundMoveDescription, + [MOVE_KARATE_CHOP - 1] = sKarateChopMoveDescription, + [MOVE_DOUBLE_SLAP - 1] = sDoubleSlapMoveDescription, + [MOVE_COMET_PUNCH - 1] = sCometPunchMoveDescription, + [MOVE_MEGA_PUNCH - 1] = sMegaPunchMoveDescription, + [MOVE_PAY_DAY - 1] = sPayDayMoveDescription, + [MOVE_FIRE_PUNCH - 1] = sFirePunchMoveDescription, + [MOVE_ICE_PUNCH - 1] = sIcePunchMoveDescription, + [MOVE_THUNDER_PUNCH - 1] = sThunderPunchMoveDescription, + [MOVE_SCRATCH - 1] = sScratchMoveDescription, + [MOVE_VICE_GRIP - 1] = sViceGripMoveDescription, + [MOVE_GUILLOTINE - 1] = sGuillotineMoveDescription, + [MOVE_RAZOR_WIND - 1] = sRazorWindMoveDescription, + [MOVE_SWORDS_DANCE - 1] = sSwordsDanceMoveDescription, + [MOVE_CUT - 1] = sCutMoveDescription, + [MOVE_GUST - 1] = sGustMoveDescription, + [MOVE_WING_ATTACK - 1] = sWingAttackMoveDescription, + [MOVE_WHIRLWIND - 1] = sWhirlwindMoveDescription, + [MOVE_FLY - 1] = sFlyMoveDescription, + [MOVE_BIND - 1] = sBindMoveDescription, + [MOVE_SLAM - 1] = sSlamMoveDescription, + [MOVE_VINE_WHIP - 1] = sVineWhipMoveDescription, + [MOVE_STOMP - 1] = sStompMoveDescription, + [MOVE_DOUBLE_KICK - 1] = sDoubleKickMoveDescription, + [MOVE_MEGA_KICK - 1] = sMegaKickMoveDescription, + [MOVE_JUMP_KICK - 1] = sJumpKickMoveDescription, + [MOVE_ROLLING_KICK - 1] = sRollingKickMoveDescription, + [MOVE_SAND_ATTACK - 1] = sSandAttackMoveDescription, + [MOVE_HEADBUTT - 1] = sHeadbuttMoveDescription, + [MOVE_HORN_ATTACK - 1] = sHornAttackMoveDescription, + [MOVE_FURY_ATTACK - 1] = sFuryAttackMoveDescription, + [MOVE_HORN_DRILL - 1] = sHornDrillMoveDescription, + [MOVE_TACKLE - 1] = sTackleMoveDescription, + [MOVE_BODY_SLAM - 1] = sBodySlamMoveDescription, + [MOVE_WRAP - 1] = sWrapMoveDescription, + [MOVE_TAKE_DOWN - 1] = sTakeDownMoveDescription, + [MOVE_THRASH - 1] = sThrashMoveDescription, + [MOVE_DOUBLE_EDGE - 1] = sDoubleEdgeMoveDescription, + [MOVE_TAIL_WHIP - 1] = sTailWhipMoveDescription, + [MOVE_POISON_STING - 1] = sPoisonStingMoveDescription, + [MOVE_TWINEEDLE - 1] = sTwineedleMoveDescription, + [MOVE_PIN_MISSILE - 1] = sPinMissileMoveDescription, + [MOVE_LEER - 1] = sLeerMoveDescription, + [MOVE_BITE - 1] = sBiteMoveDescription, + [MOVE_GROWL - 1] = sGrowlMoveDescription, + [MOVE_ROAR - 1] = sRoarMoveDescription, + [MOVE_SING - 1] = sSingMoveDescription, + [MOVE_SUPERSONIC - 1] = sSupersonicMoveDescription, + [MOVE_SONIC_BOOM - 1] = sSonicBoomMoveDescription, + [MOVE_DISABLE - 1] = sDisableMoveDescription, + [MOVE_ACID - 1] = sAcidMoveDescription, + [MOVE_EMBER - 1] = sEmberMoveDescription, + [MOVE_FLAMETHROWER - 1] = sFlamethrowerMoveDescription, + [MOVE_MIST - 1] = sMistMoveDescription, + [MOVE_WATER_GUN - 1] = sWaterGunMoveDescription, + [MOVE_HYDRO_PUMP - 1] = sHydroPumpMoveDescription, + [MOVE_SURF - 1] = sSurfMoveDescription, + [MOVE_ICE_BEAM - 1] = sIceBeamMoveDescription, + [MOVE_BLIZZARD - 1] = sBlizzardMoveDescription, + [MOVE_PSYBEAM - 1] = sPsybeamMoveDescription, + [MOVE_BUBBLE_BEAM - 1] = sBubbleBeamMoveDescription, + [MOVE_AURORA_BEAM - 1] = sAuroraBeamMoveDescription, + [MOVE_HYPER_BEAM - 1] = sHyperBeamMoveDescription, + [MOVE_PECK - 1] = sPeckMoveDescription, + [MOVE_DRILL_PECK - 1] = sDrillPeckMoveDescription, + [MOVE_SUBMISSION - 1] = sSubmissionMoveDescription, + [MOVE_LOW_KICK - 1] = sLowKickMoveDescription, + [MOVE_COUNTER - 1] = sCounterMoveDescription, + [MOVE_SEISMIC_TOSS - 1] = sSeismicTossMoveDescription, + [MOVE_STRENGTH - 1] = sStrengthMoveDescription, + [MOVE_ABSORB - 1] = sAbsorbMoveDescription, + [MOVE_MEGA_DRAIN - 1] = sMegaDrainMoveDescription, + [MOVE_LEECH_SEED - 1] = sLeechSeedMoveDescription, + [MOVE_GROWTH - 1] = sGrowthMoveDescription, + [MOVE_RAZOR_LEAF - 1] = sRazorLeafMoveDescription, + [MOVE_SOLAR_BEAM - 1] = sSolarBeamMoveDescription, + [MOVE_POISON_POWDER - 1] = sPoisonPowderMoveDescription, + [MOVE_STUN_SPORE - 1] = sStunSporeMoveDescription, + [MOVE_SLEEP_POWDER - 1] = sSleepPowderMoveDescription, + [MOVE_PETAL_DANCE - 1] = sPetalDanceMoveDescription, + [MOVE_STRING_SHOT - 1] = sStringShotMoveDescription, + [MOVE_DRAGON_RAGE - 1] = sDragonRageMoveDescription, + [MOVE_FIRE_SPIN - 1] = sFireSpinMoveDescription, + [MOVE_THUNDER_SHOCK - 1] = sThunderShockMoveDescription, + [MOVE_THUNDERBOLT - 1] = sThunderboltMoveDescription, + [MOVE_THUNDER_WAVE - 1] = sThunderWaveMoveDescription, + [MOVE_THUNDER - 1] = sThunderMoveDescription, + [MOVE_ROCK_THROW - 1] = sRockThrowMoveDescription, + [MOVE_EARTHQUAKE - 1] = sEarthquakeMoveDescription, + [MOVE_FISSURE - 1] = sFissureMoveDescription, + [MOVE_DIG - 1] = sDigMoveDescription, + [MOVE_TOXIC - 1] = sToxicMoveDescription, + [MOVE_CONFUSION - 1] = sConfusionMoveDescription, + [MOVE_PSYCHIC - 1] = sPsychicMoveDescription, + [MOVE_HYPNOSIS - 1] = sHypnosisMoveDescription, + [MOVE_MEDITATE - 1] = sMeditateMoveDescription, + [MOVE_AGILITY - 1] = sAgilityMoveDescription, + [MOVE_QUICK_ATTACK - 1] = sQuickAttackMoveDescription, + [MOVE_RAGE - 1] = sRageMoveDescription, + [MOVE_TELEPORT - 1] = sTeleportMoveDescription, + [MOVE_NIGHT_SHADE - 1] = sNightShadeMoveDescription, + [MOVE_MIMIC - 1] = sMimicMoveDescription, + [MOVE_SCREECH - 1] = sScreechMoveDescription, + [MOVE_DOUBLE_TEAM - 1] = sDoubleTeamMoveDescription, + [MOVE_RECOVER - 1] = sRecoverMoveDescription, + [MOVE_HARDEN - 1] = sHardenMoveDescription, + [MOVE_MINIMIZE - 1] = sMinimizeMoveDescription, + [MOVE_SMOKESCREEN - 1] = sSmokescreenMoveDescription, + [MOVE_CONFUSE_RAY - 1] = sConfuseRayMoveDescription, + [MOVE_WITHDRAW - 1] = sWithdrawMoveDescription, + [MOVE_DEFENSE_CURL - 1] = sDefenseCurlMoveDescription, + [MOVE_BARRIER - 1] = sBarrierMoveDescription, + [MOVE_LIGHT_SCREEN - 1] = sLightScreenMoveDescription, + [MOVE_HAZE - 1] = sHazeMoveDescription, + [MOVE_REFLECT - 1] = sReflectMoveDescription, + [MOVE_FOCUS_ENERGY - 1] = sFocusEnergyMoveDescription, + [MOVE_BIDE - 1] = sBideMoveDescription, + [MOVE_METRONOME - 1] = sMetronomeMoveDescription, + [MOVE_MIRROR_MOVE - 1] = sMirrorMoveMoveDescription, + [MOVE_SELF_DESTRUCT - 1] = sSelfDestructMoveDescription, + [MOVE_EGG_BOMB - 1] = sEggBombMoveDescription, + [MOVE_LICK - 1] = sLickMoveDescription, + [MOVE_SMOG - 1] = sSmogMoveDescription, + [MOVE_SLUDGE - 1] = sSludgeMoveDescription, + [MOVE_BONE_CLUB - 1] = sBoneClubMoveDescription, + [MOVE_FIRE_BLAST - 1] = sFireBlastMoveDescription, + [MOVE_WATERFALL - 1] = sWaterfallMoveDescription, + [MOVE_CLAMP - 1] = sClampMoveDescription, + [MOVE_SWIFT - 1] = sSwiftMoveDescription, + [MOVE_SKULL_BASH - 1] = sSkullBashMoveDescription, + [MOVE_SPIKE_CANNON - 1] = sSpikeCannonMoveDescription, + [MOVE_CONSTRICT - 1] = sConstrictMoveDescription, + [MOVE_AMNESIA - 1] = sAmnesiaMoveDescription, + [MOVE_KINESIS - 1] = sKinesisMoveDescription, + [MOVE_SOFT_BOILED - 1] = sSoftBoiledMoveDescription, + [MOVE_HI_JUMP_KICK - 1] = sHiJumpKickMoveDescription, + [MOVE_GLARE - 1] = sGlareMoveDescription, + [MOVE_DREAM_EATER - 1] = sDreamEaterMoveDescription, + [MOVE_POISON_GAS - 1] = sPoisonGasMoveDescription, + [MOVE_BARRAGE - 1] = sBarrageMoveDescription, + [MOVE_LEECH_LIFE - 1] = sLeechLifeMoveDescription, + [MOVE_LOVELY_KISS - 1] = sLovelyKissMoveDescription, + [MOVE_SKY_ATTACK - 1] = sSkyAttackMoveDescription, + [MOVE_TRANSFORM - 1] = sTransformMoveDescription, + [MOVE_BUBBLE - 1] = sBubbleMoveDescription, + [MOVE_DIZZY_PUNCH - 1] = sDizzyPunchMoveDescription, + [MOVE_SPORE - 1] = sSporeMoveDescription, + [MOVE_FLASH - 1] = sFlashMoveDescription, + [MOVE_PSYWAVE - 1] = sPsywaveMoveDescription, + [MOVE_SPLASH - 1] = sSplashMoveDescription, + [MOVE_ACID_ARMOR - 1] = sAcidArmorMoveDescription, + [MOVE_CRABHAMMER - 1] = sCrabhammerMoveDescription, + [MOVE_EXPLOSION - 1] = sExplosionMoveDescription, + [MOVE_FURY_SWIPES - 1] = sFurySwipesMoveDescription, + [MOVE_BONEMERANG - 1] = sBonemerangMoveDescription, + [MOVE_REST - 1] = sRestMoveDescription, + [MOVE_ROCK_SLIDE - 1] = sRockSlideMoveDescription, + [MOVE_HYPER_FANG - 1] = sHyperFangMoveDescription, + [MOVE_SHARPEN - 1] = sSharpenMoveDescription, + [MOVE_CONVERSION - 1] = sConversionMoveDescription, + [MOVE_TRI_ATTACK - 1] = sTriAttackMoveDescription, + [MOVE_SUPER_FANG - 1] = sSuperFangMoveDescription, + [MOVE_SLASH - 1] = sSlashMoveDescription, + [MOVE_SUBSTITUTE - 1] = sSubstituteMoveDescription, + [MOVE_STRUGGLE - 1] = sStruggleMoveDescription, + [MOVE_SKETCH - 1] = sSketchMoveDescription, + [MOVE_TRIPLE_KICK - 1] = sTripleKickMoveDescription, + [MOVE_THIEF - 1] = sThiefMoveDescription, + [MOVE_SPIDER_WEB - 1] = sSpiderWebMoveDescription, + [MOVE_MIND_READER - 1] = sMindReaderMoveDescription, + [MOVE_NIGHTMARE - 1] = sNightmareMoveDescription, + [MOVE_FLAME_WHEEL - 1] = sFlameWheelMoveDescription, + [MOVE_SNORE - 1] = sSnoreMoveDescription, + [MOVE_CURSE - 1] = sCurseMoveDescription, + [MOVE_FLAIL - 1] = sFlailMoveDescription, + [MOVE_CONVERSION_2 - 1] = sConversion2MoveDescription, + [MOVE_AEROBLAST - 1] = sAeroblastMoveDescription, + [MOVE_COTTON_SPORE - 1] = sCottonSporeMoveDescription, + [MOVE_REVERSAL - 1] = sReversalMoveDescription, + [MOVE_SPITE - 1] = sSpiteMoveDescription, + [MOVE_POWDER_SNOW - 1] = sPowderSnowMoveDescription, + [MOVE_PROTECT - 1] = sProtectMoveDescription, + [MOVE_MACH_PUNCH - 1] = sMachPunchMoveDescription, + [MOVE_SCARY_FACE - 1] = sScaryFaceMoveDescription, + [MOVE_FAINT_ATTACK - 1] = sFaintAttackMoveDescription, + [MOVE_SWEET_KISS - 1] = sSweetKissMoveDescription, + [MOVE_BELLY_DRUM - 1] = sBellyDrumMoveDescription, + [MOVE_SLUDGE_BOMB - 1] = sSludgeBombMoveDescription, + [MOVE_MUD_SLAP - 1] = sMudSlapMoveDescription, + [MOVE_OCTAZOOKA - 1] = sOctazookaMoveDescription, + [MOVE_SPIKES - 1] = sSpikesMoveDescription, + [MOVE_ZAP_CANNON - 1] = sZapCannonMoveDescription, + [MOVE_FORESIGHT - 1] = sForesightMoveDescription, + [MOVE_DESTINY_BOND - 1] = sDestinyBondMoveDescription, + [MOVE_PERISH_SONG - 1] = sPerishSongMoveDescription, + [MOVE_ICY_WIND - 1] = sIcyWindMoveDescription, + [MOVE_DETECT - 1] = sDetectMoveDescription, + [MOVE_BONE_RUSH - 1] = sBoneRushMoveDescription, + [MOVE_LOCK_ON - 1] = sLockOnMoveDescription, + [MOVE_OUTRAGE - 1] = sOutrageMoveDescription, + [MOVE_SANDSTORM - 1] = sSandstormMoveDescription, + [MOVE_GIGA_DRAIN - 1] = sGigaDrainMoveDescription, + [MOVE_ENDURE - 1] = sEndureMoveDescription, + [MOVE_CHARM - 1] = sCharmMoveDescription, + [MOVE_ROLLOUT - 1] = sRolloutMoveDescription, + [MOVE_FALSE_SWIPE - 1] = sFalseSwipeMoveDescription, + [MOVE_SWAGGER - 1] = sSwaggerMoveDescription, + [MOVE_MILK_DRINK - 1] = sMilkDrinkMoveDescription, + [MOVE_SPARK - 1] = sSparkMoveDescription, + [MOVE_FURY_CUTTER - 1] = sFuryCutterMoveDescription, + [MOVE_STEEL_WING - 1] = sSteelWingMoveDescription, + [MOVE_MEAN_LOOK - 1] = sMeanLookMoveDescription, + [MOVE_ATTRACT - 1] = sAttractMoveDescription, + [MOVE_SLEEP_TALK - 1] = sSleepTalkMoveDescription, + [MOVE_HEAL_BELL - 1] = sHealBellMoveDescription, + [MOVE_RETURN - 1] = sReturnMoveDescription, + [MOVE_PRESENT - 1] = sPresentMoveDescription, + [MOVE_FRUSTRATION - 1] = sFrustrationMoveDescription, + [MOVE_SAFEGUARD - 1] = sSafeguardMoveDescription, + [MOVE_PAIN_SPLIT - 1] = sPainSplitMoveDescription, + [MOVE_SACRED_FIRE - 1] = sSacredFireMoveDescription, + [MOVE_MAGNITUDE - 1] = sMagnitudeMoveDescription, + [MOVE_DYNAMIC_PUNCH - 1] = sDynamicPunchMoveDescription, + [MOVE_MEGAHORN - 1] = sMegahornMoveDescription, + [MOVE_DRAGON_BREATH - 1] = sDragonBreathMoveDescription, + [MOVE_BATON_PASS - 1] = sBatonPassMoveDescription, + [MOVE_ENCORE - 1] = sEncoreMoveDescription, + [MOVE_PURSUIT - 1] = sPursuitMoveDescription, + [MOVE_RAPID_SPIN - 1] = sRapidSpinMoveDescription, + [MOVE_SWEET_SCENT - 1] = sSweetScentMoveDescription, + [MOVE_IRON_TAIL - 1] = sIronTailMoveDescription, + [MOVE_METAL_CLAW - 1] = sMetalClawMoveDescription, + [MOVE_VITAL_THROW - 1] = sVitalThrowMoveDescription, + [MOVE_MORNING_SUN - 1] = sMorningSunMoveDescription, + [MOVE_SYNTHESIS - 1] = sSynthesisMoveDescription, + [MOVE_MOONLIGHT - 1] = sMoonlightMoveDescription, + [MOVE_HIDDEN_POWER - 1] = sHiddenPowerMoveDescription, + [MOVE_CROSS_CHOP - 1] = sCrossChopMoveDescription, + [MOVE_TWISTER - 1] = sTwisterMoveDescription, + [MOVE_RAIN_DANCE - 1] = sRainDanceMoveDescription, + [MOVE_SUNNY_DAY - 1] = sSunnyDayMoveDescription, + [MOVE_CRUNCH - 1] = sCrunchMoveDescription, + [MOVE_MIRROR_COAT - 1] = sMirrorCoatMoveDescription, + [MOVE_PSYCH_UP - 1] = sPsychUpMoveDescription, + [MOVE_EXTREME_SPEED - 1] = sExtremeSpeedMoveDescription, + [MOVE_ANCIENT_POWER - 1] = sAncientPowerMoveDescription, + [MOVE_SHADOW_BALL - 1] = sShadowBallMoveDescription, + [MOVE_FUTURE_SIGHT - 1] = sFutureSightMoveDescription, + [MOVE_ROCK_SMASH - 1] = sRockSmashMoveDescription, + [MOVE_WHIRLPOOL - 1] = sWhirlpoolMoveDescription, + [MOVE_BEAT_UP - 1] = sBeatUpMoveDescription, + [MOVE_FAKE_OUT - 1] = sFakeOutMoveDescription, + [MOVE_UPROAR - 1] = sUproarMoveDescription, + [MOVE_STOCKPILE - 1] = sStockpileMoveDescription, + [MOVE_SPIT_UP - 1] = sSpitUpMoveDescription, + [MOVE_SWALLOW - 1] = sSwallowMoveDescription, + [MOVE_HEAT_WAVE - 1] = sHeatWaveMoveDescription, + [MOVE_HAIL - 1] = sHailMoveDescription, + [MOVE_TORMENT - 1] = sTormentMoveDescription, + [MOVE_FLATTER - 1] = sFlatterMoveDescription, + [MOVE_WILL_O_WISP - 1] = sWillOWispMoveDescription, + [MOVE_MEMENTO - 1] = sMementoMoveDescription, + [MOVE_FACADE - 1] = sFacadeMoveDescription, + [MOVE_FOCUS_PUNCH - 1] = sFocusPunchMoveDescription, + [MOVE_SMELLING_SALT - 1] = sSmellingSaltMoveDescription, + [MOVE_FOLLOW_ME - 1] = sFollowMeMoveDescription, + [MOVE_NATURE_POWER - 1] = sNaturePowerMoveDescription, + [MOVE_CHARGE - 1] = sChargeMoveDescription, + [MOVE_TAUNT - 1] = sTauntMoveDescription, + [MOVE_HELPING_HAND - 1] = sHelpingHandMoveDescription, + [MOVE_TRICK - 1] = sTrickMoveDescription, + [MOVE_ROLE_PLAY - 1] = sRolePlayMoveDescription, + [MOVE_WISH - 1] = sWishMoveDescription, + [MOVE_ASSIST - 1] = sAssistMoveDescription, + [MOVE_INGRAIN - 1] = sIngrainMoveDescription, + [MOVE_SUPERPOWER - 1] = sSuperpowerMoveDescription, + [MOVE_MAGIC_COAT - 1] = sMagicCoatMoveDescription, + [MOVE_RECYCLE - 1] = sRecycleMoveDescription, + [MOVE_REVENGE - 1] = sRevengeMoveDescription, + [MOVE_BRICK_BREAK - 1] = sBrickBreakMoveDescription, + [MOVE_YAWN - 1] = sYawnMoveDescription, + [MOVE_KNOCK_OFF - 1] = sKnockOffMoveDescription, + [MOVE_ENDEAVOR - 1] = sEndeavorMoveDescription, + [MOVE_ERUPTION - 1] = sEruptionMoveDescription, + [MOVE_SKILL_SWAP - 1] = sSkillSwapMoveDescription, + [MOVE_IMPRISON - 1] = sImprisonMoveDescription, + [MOVE_REFRESH - 1] = sRefreshMoveDescription, + [MOVE_GRUDGE - 1] = sGrudgeMoveDescription, + [MOVE_SNATCH - 1] = sSnatchMoveDescription, + [MOVE_SECRET_POWER - 1] = sSecretPowerMoveDescription, + [MOVE_DIVE - 1] = sDiveMoveDescription, + [MOVE_ARM_THRUST - 1] = sArmThrustMoveDescription, + [MOVE_CAMOUFLAGE - 1] = sCamouflageMoveDescription, + [MOVE_TAIL_GLOW - 1] = sTailGlowMoveDescription, + [MOVE_LUSTER_PURGE - 1] = sLusterPurgeMoveDescription, + [MOVE_MIST_BALL - 1] = sMistBallMoveDescription, + [MOVE_FEATHER_DANCE - 1] = sFeatherDanceMoveDescription, + [MOVE_TEETER_DANCE - 1] = sTeeterDanceMoveDescription, + [MOVE_BLAZE_KICK - 1] = sBlazeKickMoveDescription, + [MOVE_MUD_SPORT - 1] = sMudSportMoveDescription, + [MOVE_ICE_BALL - 1] = sIceBallMoveDescription, + [MOVE_NEEDLE_ARM - 1] = sNeedleArmMoveDescription, + [MOVE_SLACK_OFF - 1] = sSlackOffMoveDescription, + [MOVE_HYPER_VOICE - 1] = sHyperVoiceMoveDescription, + [MOVE_POISON_FANG - 1] = sPoisonFangMoveDescription, + [MOVE_CRUSH_CLAW - 1] = sCrushClawMoveDescription, + [MOVE_BLAST_BURN - 1] = sBlastBurnMoveDescription, + [MOVE_HYDRO_CANNON - 1] = sHydroCannonMoveDescription, + [MOVE_METEOR_MASH - 1] = sMeteorMashMoveDescription, + [MOVE_ASTONISH - 1] = sAstonishMoveDescription, + [MOVE_WEATHER_BALL - 1] = sWeatherBallMoveDescription, + [MOVE_AROMATHERAPY - 1] = sAromatherapyMoveDescription, + [MOVE_FAKE_TEARS - 1] = sFakeTearsMoveDescription, + [MOVE_AIR_CUTTER - 1] = sAirCutterMoveDescription, + [MOVE_OVERHEAT - 1] = sOverheatMoveDescription, + [MOVE_ODOR_SLEUTH - 1] = sOdorSleuthMoveDescription, + [MOVE_ROCK_TOMB - 1] = sRockTombMoveDescription, + [MOVE_SILVER_WIND - 1] = sSilverWindMoveDescription, + [MOVE_METAL_SOUND - 1] = sMetalSoundMoveDescription, + [MOVE_GRASS_WHISTLE - 1] = sGrassWhistleMoveDescription, + [MOVE_TICKLE - 1] = sTickleMoveDescription, + [MOVE_COSMIC_POWER - 1] = sCosmicPowerMoveDescription, + [MOVE_WATER_SPOUT - 1] = sWaterSpoutMoveDescription, + [MOVE_SIGNAL_BEAM - 1] = sSignalBeamMoveDescription, + [MOVE_SHADOW_PUNCH - 1] = sShadowPunchMoveDescription, + [MOVE_EXTRASENSORY - 1] = sExtrasensoryMoveDescription, + [MOVE_SKY_UPPERCUT - 1] = sSkyUppercutMoveDescription, + [MOVE_SAND_TOMB - 1] = sSandTombMoveDescription, + [MOVE_SHEER_COLD - 1] = sSheerColdMoveDescription, + [MOVE_MUDDY_WATER - 1] = sMuddyWaterMoveDescription, + [MOVE_BULLET_SEED - 1] = sBulletSeedMoveDescription, + [MOVE_AERIAL_ACE - 1] = sAerialAceMoveDescription, + [MOVE_ICICLE_SPEAR - 1] = sIcicleSpearMoveDescription, + [MOVE_IRON_DEFENSE - 1] = sIronDefenseMoveDescription, + [MOVE_BLOCK - 1] = sBlockMoveDescription, + [MOVE_HOWL - 1] = sHowlMoveDescription, + [MOVE_DRAGON_CLAW - 1] = sDragonClawMoveDescription, + [MOVE_FRENZY_PLANT - 1] = sFrenzyPlantMoveDescription, + [MOVE_BULK_UP - 1] = sBulkUpMoveDescription, + [MOVE_BOUNCE - 1] = sBounceMoveDescription, + [MOVE_MUD_SHOT - 1] = sMudShotMoveDescription, + [MOVE_POISON_TAIL - 1] = sPoisonTailMoveDescription, + [MOVE_COVET - 1] = sCovetMoveDescription, + [MOVE_VOLT_TACKLE - 1] = sVoltTackleMoveDescription, + [MOVE_MAGICAL_LEAF - 1] = sMagicalLeafMoveDescription, + [MOVE_WATER_SPORT - 1] = sWaterSportMoveDescription, + [MOVE_CALM_MIND - 1] = sCalmMindMoveDescription, + [MOVE_LEAF_BLADE - 1] = sLeafBladeMoveDescription, + [MOVE_DRAGON_DANCE - 1] = sDragonDanceMoveDescription, + [MOVE_ROCK_BLAST - 1] = sRockBlastMoveDescription, + [MOVE_SHOCK_WAVE - 1] = sShockWaveMoveDescription, + [MOVE_WATER_PULSE - 1] = sWaterPulseMoveDescription, + [MOVE_DOOM_DESIRE - 1] = sDoomDesireMoveDescription, + [MOVE_PSYCHO_BOOST - 1] = sPsychoBoostMoveDescription, +}; diff --git a/src/data/text/move_names.h b/src/data/text/move_names.h index 3df7c886b1..9f540f1d68 100644 --- a/src/data/text/move_names.h +++ b/src/data/text/move_names.h @@ -1,4 +1,5 @@ -const u8 gMoveNames[][13] = { +const u8 gMoveNames[MOVES_COUNT][MOVE_NAME_LENGTH + 1] = +{ [MOVE_NONE] = _("-"), [MOVE_POUND] = _("POUND"), [MOVE_KARATE_CHOP] = _("KARATE CHOP"), diff --git a/src/pokemon_summary_screen.c b/src/pokemon_summary_screen.c index 32d2bde4f9..728b887f86 100644 --- a/src/pokemon_summary_screen.c +++ b/src/pokemon_summary_screen.c @@ -57,7 +57,6 @@ extern u8 gUnknown_0861CE7B[]; extern struct WindowTemplate gUnknown_0861CCEC; extern struct WindowTemplate gUnknown_0861CD14; extern const u8 *const gContestEffectDescriptionPointers[]; -extern const u8 *const gMoveDescriptionPointers[]; void sub_81C488C(u8 a); extern u8 sub_81221EC(); @@ -342,6 +341,10 @@ struct UnkSummaryStruct u8 unk_filler4[6]; }; +// const rom data +#include "data/text/move_descriptions.h" + +// code void sub_81BF8EC(u8 a, void *b, u8 c, u8 d, void *e) { u8 byte; From 9bb7a2c7a53e2d4e7ae1dc7c4c3aaf3731638864 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Sun, 12 Aug 2018 00:09:53 +0200 Subject: [PATCH 076/234] make move desc compile --- include/data2.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/data2.h b/include/data2.h index 5c75d2593a..af830a4c4f 100644 --- a/include/data2.h +++ b/include/data2.h @@ -15,7 +15,7 @@ extern struct MonCoords gTrainerBackPicCoords[]; extern struct MonCoords gTrainerFrontPicCoords[]; extern const u8 gSpeciesNames[][POKEMON_NAME_LENGTH + 1]; -extern const u8 gMoveNames[MOVES_COUNT][MOVE_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; From cb9127ccafd894708ede6ece8831de7af483f695 Mon Sep 17 00:00:00 2001 From: Diegoisawesome Date: Sat, 11 Aug 2018 15:16:41 -0700 Subject: [PATCH 077/234] Revert "Rename some specials" This reverts commit 658f9351fe9349eb16edab8d5d503ef741449d4a. --- asm/script_menu.s | 8 ++-- data/event_scripts.s | 2 +- .../MauvilleCity_PokemonCenter_1F/scripts.inc | 2 +- data/scripts/mauville_man.inc | 46 +++++++++---------- data/specials.inc | 46 +++++++++---------- include/mauville_old_man.h | 2 +- include/wild_encounter.h | 2 +- src/hof_pc.c | 4 +- src/mauville_old_man.c | 36 +++++++-------- src/trader.c | 12 ++--- 10 files changed, 80 insertions(+), 80 deletions(-) diff --git a/asm/script_menu.s b/asm/script_menu.s index b56b0749c6..670740a777 100644 --- a/asm/script_menu.s +++ b/asm/script_menu.s @@ -676,9 +676,9 @@ _080E2360: .pool thumb_func_end sub_80E2308 - thumb_func_start Special_CreatePCMenu -@ bool Special_CreatePCMenu() -Special_CreatePCMenu: @ 80E236C + thumb_func_start ScrSpecial_CreatePCMenu +@ bool ScrSpecial_CreatePCMenu() +ScrSpecial_CreatePCMenu: @ 80E236C push {lr} ldr r0, =sub_80E2058 bl FuncIsActiveTask @@ -698,7 +698,7 @@ _080E2394: _080E2396: pop {r1} bx r1 - thumb_func_end Special_CreatePCMenu + thumb_func_end ScrSpecial_CreatePCMenu thumb_func_start CreatePCMenu CreatePCMenu: @ 80E239C diff --git a/data/event_scripts.s b/data/event_scripts.s index 0d766d70b7..7dbe3fd015 100644 --- a/data/event_scripts.s +++ b/data/event_scripts.s @@ -1772,7 +1772,7 @@ EventScript_271D92:: @ 8271D92 EventScript_271DAC:: @ 8271DAC message gUnknown_0827266F waitmessage - special Special_CreatePCMenu + special ScrSpecial_CreatePCMenu waitstate goto EventScript_271DBC end diff --git a/data/maps/MauvilleCity_PokemonCenter_1F/scripts.inc b/data/maps/MauvilleCity_PokemonCenter_1F/scripts.inc index 8472f4caa3..fb76a5fc79 100644 --- a/data/maps/MauvilleCity_PokemonCenter_1F/scripts.inc +++ b/data/maps/MauvilleCity_PokemonCenter_1F/scripts.inc @@ -10,7 +10,7 @@ MauvilleCity_PokemonCenter_1F_MapScript1_210E66: @ 8210E66 end MauvilleCity_PokemonCenter_1F_EventScript_210E74:: @ 8210E74 - special Special_SetMauvilleOldManEventObjGfx + special ScrSpecial_SetMauvilleOldManEventObjGfx end MauvilleCity_PokemonCenter_1F_EventScript_210E78:: @ 8210E78 diff --git a/data/scripts/mauville_man.inc b/data/scripts/mauville_man.inc index 186361a008..46be101e11 100644 --- a/data/scripts/mauville_man.inc +++ b/data/scripts/mauville_man.inc @@ -1,5 +1,5 @@ MauvilleCity_PokemonCenter_1F_EventScript_28E066:: @ 828E066 - special Special_GetCurrentMauvilleMan + special ScrSpecial_GetCurrentMauvilleMan switch VAR_RESULT case 0, MauvilleCity_PokemonCenter_1F_EventScript_28E0A6 case 1, MauvilleCity_PokemonCenter_1F_EventScript_28E167 @@ -20,9 +20,9 @@ MauvilleCity_PokemonCenter_1F_EventScript_28E0A6:: @ 828E0A6 MauvilleCity_PokemonCenter_1F_EventScript_28E0C7:: @ 828E0C7 setvar VAR_0x8004, 0 - special Special_PlayBardSong + special ScrSpecial_PlayBardSong delay 60 - special Special_HasBardSongBeenChanged + special ScrSpecial_HasBardSongBeenChanged compare VAR_RESULT, 0 goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E0F4 msgbox MauvilleCity_PokemonCenter_1F_Text_2903E6, 4 @@ -51,12 +51,12 @@ MauvilleCity_PokemonCenter_1F_EventScript_28E113:: @ 828E113 goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E15D msgbox MauvilleCity_PokemonCenter_1F_Text_2904C1, 4 setvar VAR_0x8004, 1 - special Special_PlayBardSong + special ScrSpecial_PlayBardSong delay 60 msgbox MauvilleCity_PokemonCenter_1F_Text_2904EB, 5 compare VAR_RESULT, 0 goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E113 - special Special_SaveBardSongLyrics + special ScrSpecial_SaveBardSongLyrics msgbox MauvilleCity_PokemonCenter_1F_Text_290514, 4 release end @@ -71,7 +71,7 @@ MauvilleCity_PokemonCenter_1F_EventScript_28E167:: @ 828E167 faceplayer setflag FLAG_SYS_HIPSTER_MEET msgbox MauvilleCity_PokemonCenter_1F_Text_29054C, 4 - special Special_GetHipsterSpokenFlag + special ScrSpecial_GetHipsterSpokenFlag compare VAR_RESULT, 0 goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E18C msgbox MauvilleCity_PokemonCenter_1F_Text_290598, 4 @@ -79,7 +79,7 @@ MauvilleCity_PokemonCenter_1F_EventScript_28E167:: @ 828E167 end MauvilleCity_PokemonCenter_1F_EventScript_28E18C:: @ 828E18C - special Special_HipsterTeachWord + special ScrSpecial_HipsterTeachWord compare VAR_RESULT, 1 goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E1A4 msgbox MauvilleCity_PokemonCenter_1F_Text_290602, 4 @@ -88,7 +88,7 @@ MauvilleCity_PokemonCenter_1F_EventScript_28E18C:: @ 828E18C MauvilleCity_PokemonCenter_1F_EventScript_28E1A4:: @ 828E1A4 msgbox MauvilleCity_PokemonCenter_1F_Text_290666, 4 - special Special_SetHipsterSpokenFlag + special ScrSpecial_SetHipsterSpokenFlag release end @@ -157,7 +157,7 @@ MauvilleCity_PokemonCenter_1F_EventScript_28E4D4:: @ 828E4D4 msgbox MauvilleCity_PokemonCenter_1F_Text_28E1B1, 5 compare VAR_RESULT, 0 goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E503 - special Special_GetTraderTradedFlag + special ScrSpecial_GetTraderTradedFlag compare VAR_RESULT, 1 goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E50D message MauvilleCity_PokemonCenter_1F_Text_28E23F @@ -176,7 +176,7 @@ MauvilleCity_PokemonCenter_1F_EventScript_28E50D:: @ 828E50D end MauvilleCity_PokemonCenter_1F_EventScript_28E517:: @ 828E517 - special Special_TraderMenuGetDecoration + special ScrSpecial_TraderMenuGetDecoration waitstate compare VAR_0x8004, 0 goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E558 @@ -185,7 +185,7 @@ MauvilleCity_PokemonCenter_1F_EventScript_28E517:: @ 828E517 msgbox MauvilleCity_PokemonCenter_1F_Text_28E2A9, 5 compare VAR_RESULT, 0 goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E56E - special Special_DoesPlayerHaveNoDecorations + special ScrSpecial_DoesPlayerHaveNoDecorations compare VAR_RESULT, 1 goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E57A goto MauvilleCity_PokemonCenter_1F_EventScript_28E584 @@ -215,19 +215,19 @@ MauvilleCity_PokemonCenter_1F_EventScript_28E57A:: @ 828E57A MauvilleCity_PokemonCenter_1F_EventScript_28E584:: @ 828E584 msgbox MauvilleCity_PokemonCenter_1F_Text_28E323, 4 - special Special_TraderMenuGiveDecoration + special ScrSpecial_TraderMenuGiveDecoration waitstate compare VAR_0x8006, 0 goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E5D4 compare VAR_0x8006, 65535 goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E5DE - special Special_IsDecorationFull + special ScrSpecial_IsDecorationFull compare VAR_RESULT, 1 goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E5EC msgbox MauvilleCity_PokemonCenter_1F_Text_28E3C4, 5 compare VAR_RESULT, 0 goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E584 - special Special_TraderDoDecorationTrade + special ScrSpecial_TraderDoDecorationTrade msgbox MauvilleCity_PokemonCenter_1F_Text_28E424, 4 release end @@ -813,20 +813,20 @@ MauvilleCity_PokemonCenter_1F_EventScript_29014A:: @ 829014A msgbox MauvilleCity_PokemonCenter_1F_Text_28E5F6, 5 compare VAR_RESULT, 0 goto_eq MauvilleCity_PokemonCenter_1F_EventScript_290219 - specialvar VAR_RESULT, Special_StorytellerGetFreeStorySlot + specialvar VAR_RESULT, ScrSpecial_StorytellerGetFreeStorySlot compare VAR_RESULT, 0 goto_eq MauvilleCity_PokemonCenter_1F_EventScript_2901DA message MauvilleCity_PokemonCenter_1F_Text_28E673 waitmessage - special Special_StorytellerStoryListMenu + special ScrSpecial_StorytellerStoryListMenu waitstate compare VAR_RESULT, 0 goto_eq MauvilleCity_PokemonCenter_1F_EventScript_2901B7 setvar VAR_0x8008, 1 - special Special_StorytellerDisplayStory + special ScrSpecial_StorytellerDisplayStory waitmessage waitbuttonpress - specialvar VAR_RESULT, Special_StorytellerUpdateStat + specialvar VAR_RESULT, ScrSpecial_StorytellerUpdateStat compare VAR_RESULT, 0 goto_eq MauvilleCity_PokemonCenter_1F_EventScript_2901BD goto MauvilleCity_PokemonCenter_1F_EventScript_29020F @@ -837,7 +837,7 @@ MauvilleCity_PokemonCenter_1F_EventScript_2901B7:: @ 82901B7 MauvilleCity_PokemonCenter_1F_EventScript_2901BD:: @ 82901BD msgbox MauvilleCity_PokemonCenter_1F_Text_28E78A, 4 - specialvar VAR_RESULT, Special_HasStorytellerAlreadyRecorded + specialvar VAR_RESULT, ScrSpecial_HasStorytellerAlreadyRecorded compare VAR_RESULT, 1 goto_eq MauvilleCity_PokemonCenter_1F_EventScript_29022D goto MauvilleCity_PokemonCenter_1F_EventScript_2901E2 @@ -849,7 +849,7 @@ MauvilleCity_PokemonCenter_1F_EventScript_2901E2:: @ 82901E2 msgbox MauvilleCity_PokemonCenter_1F_Text_28E7EE, 5 compare VAR_RESULT, 0 goto_eq MauvilleCity_PokemonCenter_1F_EventScript_290219 - specialvar VAR_RESULT, Special_StorytellerInitializeRandomStat + specialvar VAR_RESULT, ScrSpecial_StorytellerInitializeRandomStat compare VAR_RESULT, 1 goto_eq MauvilleCity_PokemonCenter_1F_EventScript_29020F msgbox MauvilleCity_PokemonCenter_1F_Text_28E881, 4 @@ -903,7 +903,7 @@ MauvilleCity_PokemonCenter_1F_EventScript_2902F6:: @ 82902F6 end MauvilleCity_PokemonCenter_1F_EventScript_290317:: @ 8290317 - special Special_GiddyShouldTellAnotherTale + special ScrSpecial_GiddyShouldTellAnotherTale compare VAR_RESULT, 1 goto_eq MauvilleCity_PokemonCenter_1F_EventScript_290359 compare VAR_RESULT, 0 @@ -911,7 +911,7 @@ MauvilleCity_PokemonCenter_1F_EventScript_290317:: @ 8290317 end MauvilleCity_PokemonCenter_1F_EventScript_290331:: @ 8290331 - special Special_GiddyShouldTellAnotherTale + special ScrSpecial_GiddyShouldTellAnotherTale compare VAR_RESULT, 1 goto_eq MauvilleCity_PokemonCenter_1F_EventScript_29034B compare VAR_RESULT, 0 @@ -924,7 +924,7 @@ MauvilleCity_PokemonCenter_1F_EventScript_29034B:: @ 829034B end MauvilleCity_PokemonCenter_1F_EventScript_290359:: @ 8290359 - special Special_GenerateGiddyLine + special ScrSpecial_GenerateGiddyLine special ShowFieldMessageStringVar4 waitmessage yesnobox 20, 8 diff --git a/data/specials.inc b/data/specials.inc index 35b70b5c99..86355f4840 100644 --- a/data/specials.inc +++ b/data/specials.inc @@ -108,28 +108,28 @@ gSpecials:: @ 81DBA64 def_special sub_80FAFF8 def_special easy_chat_input_maybe def_special sub_811EECC - def_special Special_GetCurrentMauvilleMan - def_special Special_HasBardSongBeenChanged - def_special Special_SaveBardSongLyrics - def_special Special_GetHipsterSpokenFlag - def_special Special_SetHipsterSpokenFlag - def_special Special_HipsterTeachWord - def_special Special_PlayBardSong - def_special Special_SetMauvilleOldManEventObjGfx - def_special Special_GenerateGiddyLine - def_special Special_GiddyShouldTellAnotherTale - def_special Special_StorytellerGetFreeStorySlot - def_special Special_StorytellerDisplayStory - def_special Special_StorytellerStoryListMenu - def_special Special_StorytellerUpdateStat - def_special Special_StorytellerInitializeRandomStat - def_special Special_HasStorytellerAlreadyRecorded - def_special Special_TraderMenuGetDecoration - def_special Special_GetTraderTradedFlag - def_special Special_DoesPlayerHaveNoDecorations - def_special Special_IsDecorationFull - def_special Special_TraderMenuGiveDecoration - def_special Special_TraderDoDecorationTrade + def_special ScrSpecial_GetCurrentMauvilleMan + def_special ScrSpecial_HasBardSongBeenChanged + def_special ScrSpecial_SaveBardSongLyrics + def_special ScrSpecial_GetHipsterSpokenFlag + def_special ScrSpecial_SetHipsterSpokenFlag + def_special ScrSpecial_HipsterTeachWord + def_special ScrSpecial_PlayBardSong + def_special ScrSpecial_SetMauvilleOldManEventObjGfx + def_special ScrSpecial_GenerateGiddyLine + def_special ScrSpecial_GiddyShouldTellAnotherTale + def_special ScrSpecial_StorytellerGetFreeStorySlot + def_special ScrSpecial_StorytellerDisplayStory + def_special ScrSpecial_StorytellerStoryListMenu + def_special ScrSpecial_StorytellerUpdateStat + def_special ScrSpecial_StorytellerInitializeRandomStat + def_special ScrSpecial_HasStorytellerAlreadyRecorded + def_special ScrSpecial_TraderMenuGetDecoration + def_special ScrSpecial_GetTraderTradedFlag + def_special ScrSpecial_DoesPlayerHaveNoDecorations + def_special ScrSpecial_IsDecorationFull + def_special ScrSpecial_TraderMenuGiveDecoration + def_special ScrSpecial_TraderDoDecorationTrade def_special GetSeedotSizeRecordInfo def_special CompareSeedotSize def_special GetLotadSizeRecordInfo @@ -273,7 +273,7 @@ gSpecials:: @ 81DBA64 def_special ShowBerryBlenderRecordWindow def_special ResetTrickHouseEndRoomFlag def_special SetTrickHouseEndRoomFlag - def_special Special_CreatePCMenu + def_special ScrSpecial_CreatePCMenu def_special AccessHallOfFamePC def_special Special_ShowDiploma def_special CheckLeadMonCool diff --git a/include/mauville_old_man.h b/include/mauville_old_man.h index dd7d5c4e00..9d71e81aa5 100644 --- a/include/mauville_old_man.h +++ b/include/mauville_old_man.h @@ -15,7 +15,7 @@ extern struct BardSong gBardSong; void SetMauvilleOldMan(void); u8 GetCurrentMauvilleOldMan(void); -void Special_SetMauvilleOldManEventObjGfx(void); +void ScrSpecial_SetMauvilleOldManEventObjGfx(void); u8 sub_81201C8(void); void sub_8120B70(OldMan *dest); void sub_8120670(void); diff --git a/include/wild_encounter.h b/include/wild_encounter.h index 14a28ee7e0..55bbaa7dde 100644 --- a/include/wild_encounter.h +++ b/include/wild_encounter.h @@ -33,7 +33,7 @@ extern const struct WildPokemonHeader gWildMonHeaders[]; void DisableWildEncounters(bool8 disabled); bool8 StandardWildEncounter(u16 currMetaTileBehavior, u16 previousMetaTileBehavior); -void Special_RockSmashWildEncounter(void); +void ScrSpecial_RockSmashWildEncounter(void); bool8 SweetScentWildEncounter(void); bool8 DoesCurrentMapHaveFishingMons(void); void FishingWildEncounter(u8 rod); diff --git a/src/hof_pc.c b/src/hof_pc.c index 38bf26c65c..44b9293378 100644 --- a/src/hof_pc.c +++ b/src/hof_pc.c @@ -10,7 +10,7 @@ extern void (*gUnknown_0300485C)(void); extern void Overworld_PlaySpecialMapMusic(void); -extern bool16 Special_CreatePCMenu(void); +extern bool16 ScrSpecial_CreatePCMenu(void); extern void ScriptMenu_DisplayPCStartupPrompt(void); static void ReshowPCMenuAfterHallOfFamePC(void); @@ -32,7 +32,7 @@ static void ReshowPCMenuAfterHallOfFamePC(void) { ScriptContext2_Enable(); Overworld_PlaySpecialMapMusic(); - Special_CreatePCMenu(); + ScrSpecial_CreatePCMenu(); ScriptMenu_DisplayPCStartupPrompt(); BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0); CreateTask(Task_WaitForPaletteFade, 10); diff --git a/src/mauville_old_man.c b/src/mauville_old_man.c index 752e19e9c9..591e3ad9a1 100644 --- a/src/mauville_old_man.c +++ b/src/mauville_old_man.c @@ -136,7 +136,7 @@ void SetMauvilleOldMan(void) SetupGiddy(); break; } - Special_SetMauvilleOldManEventObjGfx(); + ScrSpecial_SetMauvilleOldManEventObjGfx(); } u8 GetCurrentMauvilleOldMan(void) @@ -146,12 +146,12 @@ u8 GetCurrentMauvilleOldMan(void) return common->id; } -void Special_GetCurrentMauvilleMan(void) +void ScrSpecial_GetCurrentMauvilleMan(void) { gSpecialVar_Result = GetCurrentMauvilleOldMan(); } -void Special_HasBardSongBeenChanged(void) +void ScrSpecial_HasBardSongBeenChanged(void) { u16 *scriptResult = &gSpecialVar_Result; // why?? struct MauvilleManBard *bard = &gSaveBlock1Ptr->oldMan.bard; @@ -159,7 +159,7 @@ void Special_HasBardSongBeenChanged(void) *scriptResult = bard->hasChangedSong; } -void Special_SaveBardSongLyrics(void) +void ScrSpecial_SaveBardSongLyrics(void) { u16 i; struct MauvilleManBard *bard = &gSaveBlock1Ptr->oldMan.bard; @@ -225,13 +225,13 @@ static void PrepareSongText(void) } } -void Special_PlayBardSong(void) +void ScrSpecial_PlayBardSong(void) { StartBardSong(gSpecialVar_0x8004); ScriptContext1_Stop(); } -void Special_GetHipsterSpokenFlag(void) +void ScrSpecial_GetHipsterSpokenFlag(void) { u16 *scriptResult = &gSpecialVar_Result; // again?? struct MauvilleManHipster *hipster = &gSaveBlock1Ptr->oldMan.hipster; @@ -239,14 +239,14 @@ void Special_GetHipsterSpokenFlag(void) *scriptResult = hipster->alreadySpoken; } -void Special_SetHipsterSpokenFlag(void) +void ScrSpecial_SetHipsterSpokenFlag(void) { struct MauvilleManHipster *hipster = &gSaveBlock1Ptr->oldMan.hipster; hipster->alreadySpoken = TRUE; } -void Special_HipsterTeachWord(void) +void ScrSpecial_HipsterTeachWord(void) { u16 var = sub_811F01C(); @@ -261,7 +261,7 @@ void Special_HipsterTeachWord(void) } } -void Special_GiddyShouldTellAnotherTale(void) +void ScrSpecial_GiddyShouldTellAnotherTale(void) { struct MauvilleManGiddy *giddy = &gSaveBlock1Ptr->oldMan.giddy; @@ -276,7 +276,7 @@ void Special_GiddyShouldTellAnotherTale(void) } } -void Special_GenerateGiddyLine(void) +void ScrSpecial_GenerateGiddyLine(void) { struct MauvilleManGiddy *giddy = &gSaveBlock1Ptr->oldMan.giddy; @@ -406,7 +406,7 @@ void ResetMauvilleOldManFlag(void) case MAUVILLE_MAN_GIDDY: break; } - Special_SetMauvilleOldManEventObjGfx(); + ScrSpecial_SetMauvilleOldManEventObjGfx(); } @@ -671,7 +671,7 @@ static void Task_BardSong(u8 taskId) sub_8197224(); } -void Special_SetMauvilleOldManEventObjGfx(void) +void ScrSpecial_SetMauvilleOldManEventObjGfx(void) { VarSet(VAR_OBJ_GFX_ID_0, EVENT_OBJ_GFX_BARD); } @@ -1199,24 +1199,24 @@ static void Task_StoryListMenu(u8 taskId) // Task_StoryListMenu } // Sets gSpecialVar_Result to TRUE if player selected a story -void Special_StorytellerStoryListMenu(void) +void ScrSpecial_StorytellerStoryListMenu(void) { CreateTask(Task_StoryListMenu, 80); } -void Special_StorytellerDisplayStory(void) +void ScrSpecial_StorytellerDisplayStory(void) { StorytellerDisplayStory(sSelectedStory); } -u8 Special_StorytellerGetFreeStorySlot(void) +u8 ScrSpecial_StorytellerGetFreeStorySlot(void) { sStorytellerPtr = &gSaveBlock1Ptr->oldMan.storyteller; return GetFreeStorySlot(); } // Returns TRUE if stat has increased -bool8 Special_StorytellerUpdateStat(void) +bool8 ScrSpecial_StorytellerUpdateStat(void) { u8 r4; sStorytellerPtr = &gSaveBlock1Ptr->oldMan.storyteller; @@ -1230,7 +1230,7 @@ bool8 Special_StorytellerUpdateStat(void) return FALSE; } -bool8 Special_HasStorytellerAlreadyRecorded(void) +bool8 ScrSpecial_HasStorytellerAlreadyRecorded(void) { sStorytellerPtr = &gSaveBlock1Ptr->oldMan.storyteller; @@ -1240,7 +1240,7 @@ bool8 Special_HasStorytellerAlreadyRecorded(void) return TRUE; } -bool8 Special_StorytellerInitializeRandomStat(void) +bool8 ScrSpecial_StorytellerInitializeRandomStat(void) { sStorytellerPtr = &gSaveBlock1Ptr->oldMan.storyteller; return StorytellerInitializeRandomStat(); diff --git a/src/trader.c b/src/trader.c index 2cb74b23c2..c4d70ac9a9 100644 --- a/src/trader.c +++ b/src/trader.c @@ -130,13 +130,13 @@ void Task_HandleGetDecorationMenuInput(u8 taskId) } } -void Special_GetTraderTradedFlag(void) +void ScrSpecial_GetTraderTradedFlag(void) { struct MauvilleOldManTrader *trader = &gSaveBlock1Ptr->oldMan.trader; gSpecialVar_Result = trader->alreadyTraded; } -void Special_DoesPlayerHaveNoDecorations(void) +void ScrSpecial_DoesPlayerHaveNoDecorations(void) { u8 i; @@ -151,7 +151,7 @@ void Special_DoesPlayerHaveNoDecorations(void) gSpecialVar_Result = TRUE; } -void Special_IsDecorationFull(void) +void ScrSpecial_IsDecorationFull(void) { gSpecialVar_Result = FALSE; if (gDecorations[gSpecialVar_0x8004].category != gDecorations[gSpecialVar_0x8006].category @@ -162,7 +162,7 @@ void Special_IsDecorationFull(void) } } -void Special_TraderMenuGiveDecoration(void) +void ScrSpecial_TraderMenuGiveDecoration(void) { CreateTask(sub_8127208, 0); } @@ -190,7 +190,7 @@ void sub_8133E1C(u8 taskId) EnableBothScriptContexts(); } -void Special_TraderDoDecorationTrade(void) +void ScrSpecial_TraderDoDecorationTrade(void) { struct MauvilleOldManTrader *trader = &gSaveBlock1Ptr->oldMan.trader; @@ -202,7 +202,7 @@ void Special_TraderDoDecorationTrade(void) trader->alreadyTraded = TRUE; } -void Special_TraderMenuGetDecoration(void) +void ScrSpecial_TraderMenuGetDecoration(void) { u8 taskId = CreateTask(Task_HandleGetDecorationMenuInput, 0); CreateAvailableDecorationsMenu(taskId); From 57b3393192106f628bde9032308917f7fc3f39cf Mon Sep 17 00:00:00 2001 From: Diegoisawesome Date: Sat, 11 Aug 2018 15:42:08 -0700 Subject: [PATCH 078/234] Fix compile error --- src/rotating_gate.c | 6 ------ 1 file changed, 6 deletions(-) diff --git a/src/rotating_gate.c b/src/rotating_gate.c index 1f5ef165f0..fcced6c8c6 100644 --- a/src/rotating_gate.c +++ b/src/rotating_gate.c @@ -189,12 +189,6 @@ struct RotatingGatePuzzle u8 orientation; }; -struct Coords8 -{ - s8 deltaX; - s8 deltaY; -}; - // .rodata // Fortree static const struct RotatingGatePuzzle sRotatingGate_FortreePuzzleConfig[] = From 7b9a7765e00ea01f07ab7c4169804881749f6513 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Sun, 12 Aug 2018 00:42:25 +0200 Subject: [PATCH 079/234] Make learnsets easier to edit --- .../data/pokemon/level_up_learnset_pointers.h | 826 +++++++++--------- include/data/pokemon/level_up_learnsets.h | 822 ++++++++--------- src/pokemon.c | 6 +- 3 files changed, 827 insertions(+), 827 deletions(-) diff --git a/include/data/pokemon/level_up_learnset_pointers.h b/include/data/pokemon/level_up_learnset_pointers.h index a56b1c09fb..0f648526c8 100644 --- a/include/data/pokemon/level_up_learnset_pointers.h +++ b/include/data/pokemon/level_up_learnset_pointers.h @@ -1,420 +1,420 @@ #ifndef POKEEMERALD_LEVEL_UP_LEARNSET_POINTERS_H #define POKEEMERALD_LEVEL_UP_LEARNSET_POINTERS_H -const u16 *const gLevelUpLearnsets[] = +const u16 *const gLevelUpLearnsets[NUM_SPECIES] = { - gBulbasaurLevelUpLearnset, - gBulbasaurLevelUpLearnset, - gIvysaurLevelUpLearnset, - gVenusaurLevelUpLearnset, - gCharmanderLevelUpLearnset, - gCharmeleonLevelUpLearnset, - gCharizardLevelUpLearnset, - gSquirtleLevelUpLearnset, - gWartortleLevelUpLearnset, - gBlastoiseLevelUpLearnset, - gCaterpieLevelUpLearnset, - gMetapodLevelUpLearnset, - gButterfreeLevelUpLearnset, - gWeedleLevelUpLearnset, - gKakunaLevelUpLearnset, - gBeedrillLevelUpLearnset, - gPidgeyLevelUpLearnset, - gPidgeottoLevelUpLearnset, - gPidgeotLevelUpLearnset, - gRattataLevelUpLearnset, - gRaticateLevelUpLearnset, - gSpearowLevelUpLearnset, - gFearowLevelUpLearnset, - gEkansLevelUpLearnset, - gArbokLevelUpLearnset, - gPikachuLevelUpLearnset, - gRaichuLevelUpLearnset, - gSandshrewLevelUpLearnset, - gSandslashLevelUpLearnset, - gNidoranFLevelUpLearnset, - gNidorinaLevelUpLearnset, - gNidoqueenLevelUpLearnset, - gNidoranMLevelUpLearnset, - gNidorinoLevelUpLearnset, - gNidokingLevelUpLearnset, - gClefairyLevelUpLearnset, - gClefableLevelUpLearnset, - gVulpixLevelUpLearnset, - gNinetalesLevelUpLearnset, - gJigglypuffLevelUpLearnset, - gWigglytuffLevelUpLearnset, - gZubatLevelUpLearnset, - gGolbatLevelUpLearnset, - gOddishLevelUpLearnset, - gGloomLevelUpLearnset, - gVileplumeLevelUpLearnset, - gParasLevelUpLearnset, - gParasectLevelUpLearnset, - gVenonatLevelUpLearnset, - gVenomothLevelUpLearnset, - gDiglettLevelUpLearnset, - gDugtrioLevelUpLearnset, - gMeowthLevelUpLearnset, - gPersianLevelUpLearnset, - gPsyduckLevelUpLearnset, - gGolduckLevelUpLearnset, - gMankeyLevelUpLearnset, - gPrimeapeLevelUpLearnset, - gGrowlitheLevelUpLearnset, - gArcanineLevelUpLearnset, - gPoliwagLevelUpLearnset, - gPoliwhirlLevelUpLearnset, - gPoliwrathLevelUpLearnset, - gAbraLevelUpLearnset, - gKadabraLevelUpLearnset, - gAlakazamLevelUpLearnset, - gMachopLevelUpLearnset, - gMachokeLevelUpLearnset, - gMachampLevelUpLearnset, - gBellsproutLevelUpLearnset, - gWeepinbellLevelUpLearnset, - gVictreebelLevelUpLearnset, - gTentacoolLevelUpLearnset, - gTentacruelLevelUpLearnset, - gGeodudeLevelUpLearnset, - gGravelerLevelUpLearnset, - gGolemLevelUpLearnset, - gPonytaLevelUpLearnset, - gRapidashLevelUpLearnset, - gSlowpokeLevelUpLearnset, - gSlowbroLevelUpLearnset, - gMagnemiteLevelUpLearnset, - gMagnetonLevelUpLearnset, - gFarfetchdLevelUpLearnset, - gDoduoLevelUpLearnset, - gDodrioLevelUpLearnset, - gSeelLevelUpLearnset, - gDewgongLevelUpLearnset, - gGrimerLevelUpLearnset, - gMukLevelUpLearnset, - gShellderLevelUpLearnset, - gCloysterLevelUpLearnset, - gGastlyLevelUpLearnset, - gHaunterLevelUpLearnset, - gGengarLevelUpLearnset, - gOnixLevelUpLearnset, - gDrowzeeLevelUpLearnset, - gHypnoLevelUpLearnset, - gKrabbyLevelUpLearnset, - gKinglerLevelUpLearnset, - gVoltorbLevelUpLearnset, - gElectrodeLevelUpLearnset, - gExeggcuteLevelUpLearnset, - gExeggutorLevelUpLearnset, - gCuboneLevelUpLearnset, - gMarowakLevelUpLearnset, - gHitmonleeLevelUpLearnset, - gHitmonchanLevelUpLearnset, - gLickitungLevelUpLearnset, - gKoffingLevelUpLearnset, - gWeezingLevelUpLearnset, - gRhyhornLevelUpLearnset, - gRhydonLevelUpLearnset, - gChanseyLevelUpLearnset, - gTangelaLevelUpLearnset, - gKangaskhanLevelUpLearnset, - gHorseaLevelUpLearnset, - gSeadraLevelUpLearnset, - gGoldeenLevelUpLearnset, - gSeakingLevelUpLearnset, - gStaryuLevelUpLearnset, - gStarmieLevelUpLearnset, - gMrmimeLevelUpLearnset, - gScytherLevelUpLearnset, - gJynxLevelUpLearnset, - gElectabuzzLevelUpLearnset, - gMagmarLevelUpLearnset, - gPinsirLevelUpLearnset, - gTaurosLevelUpLearnset, - gMagikarpLevelUpLearnset, - gGyaradosLevelUpLearnset, - gLaprasLevelUpLearnset, - gDittoLevelUpLearnset, - gEeveeLevelUpLearnset, - gVaporeonLevelUpLearnset, - gJolteonLevelUpLearnset, - gFlareonLevelUpLearnset, - gPorygonLevelUpLearnset, - gOmanyteLevelUpLearnset, - gOmastarLevelUpLearnset, - gKabutoLevelUpLearnset, - gKabutopsLevelUpLearnset, - gAerodactylLevelUpLearnset, - gSnorlaxLevelUpLearnset, - gArticunoLevelUpLearnset, - gZapdosLevelUpLearnset, - gMoltresLevelUpLearnset, - gDratiniLevelUpLearnset, - gDragonairLevelUpLearnset, - gDragoniteLevelUpLearnset, - gMewtwoLevelUpLearnset, - gMewLevelUpLearnset, - gChikoritaLevelUpLearnset, - gBayleefLevelUpLearnset, - gMeganiumLevelUpLearnset, - gCyndaquilLevelUpLearnset, - gQuilavaLevelUpLearnset, - gTyphlosionLevelUpLearnset, - gTotodileLevelUpLearnset, - gCroconawLevelUpLearnset, - gFeraligatrLevelUpLearnset, - gSentretLevelUpLearnset, - gFurretLevelUpLearnset, - gHoothootLevelUpLearnset, - gNoctowlLevelUpLearnset, - gLedybaLevelUpLearnset, - gLedianLevelUpLearnset, - gSpinarakLevelUpLearnset, - gAriadosLevelUpLearnset, - gCrobatLevelUpLearnset, - gChinchouLevelUpLearnset, - gLanturnLevelUpLearnset, - gPichuLevelUpLearnset, - gCleffaLevelUpLearnset, - gIgglybuffLevelUpLearnset, - gTogepiLevelUpLearnset, - gTogeticLevelUpLearnset, - gNatuLevelUpLearnset, - gXatuLevelUpLearnset, - gMareepLevelUpLearnset, - gFlaaffyLevelUpLearnset, - gAmpharosLevelUpLearnset, - gBellossomLevelUpLearnset, - gMarillLevelUpLearnset, - gAzumarillLevelUpLearnset, - gSudowoodoLevelUpLearnset, - gPolitoedLevelUpLearnset, - gHoppipLevelUpLearnset, - gSkiploomLevelUpLearnset, - gJumpluffLevelUpLearnset, - gAipomLevelUpLearnset, - gSunkernLevelUpLearnset, - gSunfloraLevelUpLearnset, - gYanmaLevelUpLearnset, - gWooperLevelUpLearnset, - gQuagsireLevelUpLearnset, - gEspeonLevelUpLearnset, - gUmbreonLevelUpLearnset, - gMurkrowLevelUpLearnset, - gSlowkingLevelUpLearnset, - gMisdreavusLevelUpLearnset, - gUnownLevelUpLearnset, - gWobbuffetLevelUpLearnset, - gGirafarigLevelUpLearnset, - gPinecoLevelUpLearnset, - gForretressLevelUpLearnset, - gDunsparceLevelUpLearnset, - gGligarLevelUpLearnset, - gSteelixLevelUpLearnset, - gSnubbullLevelUpLearnset, - gGranbullLevelUpLearnset, - gQwilfishLevelUpLearnset, - gScizorLevelUpLearnset, - gShuckleLevelUpLearnset, - gHeracrossLevelUpLearnset, - gSneaselLevelUpLearnset, - gTeddiursaLevelUpLearnset, - gUrsaringLevelUpLearnset, - gSlugmaLevelUpLearnset, - gMagcargoLevelUpLearnset, - gSwinubLevelUpLearnset, - gPiloswineLevelUpLearnset, - gCorsolaLevelUpLearnset, - gRemoraidLevelUpLearnset, - gOctilleryLevelUpLearnset, - gDelibirdLevelUpLearnset, - gMantineLevelUpLearnset, - gSkarmoryLevelUpLearnset, - gHoundourLevelUpLearnset, - gHoundoomLevelUpLearnset, - gKingdraLevelUpLearnset, - gPhanpyLevelUpLearnset, - gDonphanLevelUpLearnset, - gPorygon2LevelUpLearnset, - gStantlerLevelUpLearnset, - gSmeargleLevelUpLearnset, - gTyrogueLevelUpLearnset, - gHitmontopLevelUpLearnset, - gSmoochumLevelUpLearnset, - gElekidLevelUpLearnset, - gMagbyLevelUpLearnset, - gMiltankLevelUpLearnset, - gBlisseyLevelUpLearnset, - gRaikouLevelUpLearnset, - gEnteiLevelUpLearnset, - gSuicuneLevelUpLearnset, - gLarvitarLevelUpLearnset, - gPupitarLevelUpLearnset, - gTyranitarLevelUpLearnset, - gLugiaLevelUpLearnset, - gHoOhLevelUpLearnset, - gCelebiLevelUpLearnset, - gSpecies252LevelUpLearnset, - gSpecies253LevelUpLearnset, - gSpecies254LevelUpLearnset, - gSpecies255LevelUpLearnset, - gSpecies256LevelUpLearnset, - gSpecies257LevelUpLearnset, - gSpecies258LevelUpLearnset, - gSpecies259LevelUpLearnset, - gSpecies260LevelUpLearnset, - gSpecies261LevelUpLearnset, - gSpecies262LevelUpLearnset, - gSpecies263LevelUpLearnset, - gSpecies264LevelUpLearnset, - gSpecies265LevelUpLearnset, - gSpecies266LevelUpLearnset, - gSpecies267LevelUpLearnset, - gSpecies268LevelUpLearnset, - gSpecies269LevelUpLearnset, - gSpecies270LevelUpLearnset, - gSpecies271LevelUpLearnset, - gSpecies272LevelUpLearnset, - gSpecies273LevelUpLearnset, - gSpecies274LevelUpLearnset, - gSpecies275LevelUpLearnset, - gSpecies276LevelUpLearnset, - gTreeckoLevelUpLearnset, - gGrovyleLevelUpLearnset, - gSceptileLevelUpLearnset, - gTorchicLevelUpLearnset, - gCombuskenLevelUpLearnset, - gBlazikenLevelUpLearnset, - gMudkipLevelUpLearnset, - gMarshtompLevelUpLearnset, - gSwampertLevelUpLearnset, - gPoochyenaLevelUpLearnset, - gMightyenaLevelUpLearnset, - gZigzagoonLevelUpLearnset, - gLinooneLevelUpLearnset, - gWurmpleLevelUpLearnset, - gSilcoonLevelUpLearnset, - gBeautiflyLevelUpLearnset, - gCascoonLevelUpLearnset, - gDustoxLevelUpLearnset, - gLotadLevelUpLearnset, - gLombreLevelUpLearnset, - gLudicoloLevelUpLearnset, - gSeedotLevelUpLearnset, - gNuzleafLevelUpLearnset, - gShiftryLevelUpLearnset, - gNincadaLevelUpLearnset, - gNinjaskLevelUpLearnset, - gShedinjaLevelUpLearnset, - gTaillowLevelUpLearnset, - gSwellowLevelUpLearnset, - gShroomishLevelUpLearnset, - gBreloomLevelUpLearnset, - gSpindaLevelUpLearnset, - gWingullLevelUpLearnset, - gPelipperLevelUpLearnset, - gSurskitLevelUpLearnset, - gMasquerainLevelUpLearnset, - gWailmerLevelUpLearnset, - gWailordLevelUpLearnset, - gSkittyLevelUpLearnset, - gDelcattyLevelUpLearnset, - gKecleonLevelUpLearnset, - gBaltoyLevelUpLearnset, - gClaydolLevelUpLearnset, - gNosepassLevelUpLearnset, - gTorkoalLevelUpLearnset, - gSableyeLevelUpLearnset, - gBarboachLevelUpLearnset, - gWhiscashLevelUpLearnset, - gLuvdiscLevelUpLearnset, - gCorphishLevelUpLearnset, - gCrawdauntLevelUpLearnset, - gFeebasLevelUpLearnset, - gMiloticLevelUpLearnset, - gCarvanhaLevelUpLearnset, - gSharpedoLevelUpLearnset, - gTrapinchLevelUpLearnset, - gVibravaLevelUpLearnset, - gFlygonLevelUpLearnset, - gMakuhitaLevelUpLearnset, - gHariyamaLevelUpLearnset, - gElectrikeLevelUpLearnset, - gManectricLevelUpLearnset, - gNumelLevelUpLearnset, - gCameruptLevelUpLearnset, - gSphealLevelUpLearnset, - gSealeoLevelUpLearnset, - gWalreinLevelUpLearnset, - gCacneaLevelUpLearnset, - gCacturneLevelUpLearnset, - gSnoruntLevelUpLearnset, - gGlalieLevelUpLearnset, - gLunatoneLevelUpLearnset, - gSolrockLevelUpLearnset, - gAzurillLevelUpLearnset, - gSpoinkLevelUpLearnset, - gGrumpigLevelUpLearnset, - gPlusleLevelUpLearnset, - gMinunLevelUpLearnset, - gMawileLevelUpLearnset, - gMedititeLevelUpLearnset, - gMedichamLevelUpLearnset, - gSwabluLevelUpLearnset, - gAltariaLevelUpLearnset, - gWynautLevelUpLearnset, - gDuskullLevelUpLearnset, - gDusclopsLevelUpLearnset, - gRoseliaLevelUpLearnset, - gSlakothLevelUpLearnset, - gVigorothLevelUpLearnset, - gSlakingLevelUpLearnset, - gGulpinLevelUpLearnset, - gSwalotLevelUpLearnset, - gTropiusLevelUpLearnset, - gWhismurLevelUpLearnset, - gLoudredLevelUpLearnset, - gExploudLevelUpLearnset, - gClamperlLevelUpLearnset, - gHuntailLevelUpLearnset, - gGorebyssLevelUpLearnset, - gAbsolLevelUpLearnset, - gShuppetLevelUpLearnset, - gBanetteLevelUpLearnset, - gSeviperLevelUpLearnset, - gZangooseLevelUpLearnset, - gRelicanthLevelUpLearnset, - gAronLevelUpLearnset, - gLaironLevelUpLearnset, - gAggronLevelUpLearnset, - gCastformLevelUpLearnset, - gVolbeatLevelUpLearnset, - gIllumiseLevelUpLearnset, - gLileepLevelUpLearnset, - gCradilyLevelUpLearnset, - gAnorithLevelUpLearnset, - gArmaldoLevelUpLearnset, - gRaltsLevelUpLearnset, - gKirliaLevelUpLearnset, - gGardevoirLevelUpLearnset, - gBagonLevelUpLearnset, - gShelgonLevelUpLearnset, - gSalamenceLevelUpLearnset, - gBeldumLevelUpLearnset, - gMetangLevelUpLearnset, - gMetagrossLevelUpLearnset, - gRegirockLevelUpLearnset, - gRegiceLevelUpLearnset, - gRegisteelLevelUpLearnset, - gKyogreLevelUpLearnset, - gGroudonLevelUpLearnset, - gRayquazaLevelUpLearnset, - gLatiasLevelUpLearnset, - gLatiosLevelUpLearnset, - gJirachiLevelUpLearnset, - gDeoxysLevelUpLearnset, - gChimechoLevelUpLearnset + [SPECIES_NONE] = sBulbasaurLevelUpLearnset, + [SPECIES_BULBASAUR] = sBulbasaurLevelUpLearnset, + [SPECIES_IVYSAUR] = sIvysaurLevelUpLearnset, + [SPECIES_VENUSAUR] = sVenusaurLevelUpLearnset, + [SPECIES_CHARMANDER] = sCharmanderLevelUpLearnset, + [SPECIES_CHARMELEON] = sCharmeleonLevelUpLearnset, + [SPECIES_CHARIZARD] = sCharizardLevelUpLearnset, + [SPECIES_SQUIRTLE] = sSquirtleLevelUpLearnset, + [SPECIES_WARTORTLE] = sWartortleLevelUpLearnset, + [SPECIES_BLASTOISE] = sBlastoiseLevelUpLearnset, + [SPECIES_CATERPIE] = sCaterpieLevelUpLearnset, + [SPECIES_METAPOD] = sMetapodLevelUpLearnset, + [SPECIES_BUTTERFREE] = sButterfreeLevelUpLearnset, + [SPECIES_WEEDLE] = sWeedleLevelUpLearnset, + [SPECIES_KAKUNA] = sKakunaLevelUpLearnset, + [SPECIES_BEEDRILL] = sBeedrillLevelUpLearnset, + [SPECIES_PIDGEY] = sPidgeyLevelUpLearnset, + [SPECIES_PIDGEOTTO] = sPidgeottoLevelUpLearnset, + [SPECIES_PIDGEOT] = sPidgeotLevelUpLearnset, + [SPECIES_RATTATA] = sRattataLevelUpLearnset, + [SPECIES_RATICATE] = sRaticateLevelUpLearnset, + [SPECIES_SPEAROW] = sSpearowLevelUpLearnset, + [SPECIES_FEAROW] = sFearowLevelUpLearnset, + [SPECIES_EKANS] = sEkansLevelUpLearnset, + [SPECIES_ARBOK] = sArbokLevelUpLearnset, + [SPECIES_PIKACHU] = sPikachuLevelUpLearnset, + [SPECIES_RAICHU] = sRaichuLevelUpLearnset, + [SPECIES_SANDSHREW] = sSandshrewLevelUpLearnset, + [SPECIES_SANDSLASH] = sSandslashLevelUpLearnset, + [SPECIES_NIDORAN_F] = sNidoranFLevelUpLearnset, + [SPECIES_NIDORINA] = sNidorinaLevelUpLearnset, + [SPECIES_NIDOQUEEN] = sNidoqueenLevelUpLearnset, + [SPECIES_NIDORAN_M] = sNidoranMLevelUpLearnset, + [SPECIES_NIDORINO] = sNidorinoLevelUpLearnset, + [SPECIES_NIDOKING] = sNidokingLevelUpLearnset, + [SPECIES_CLEFAIRY] = sClefairyLevelUpLearnset, + [SPECIES_CLEFABLE] = sClefableLevelUpLearnset, + [SPECIES_VULPIX] = sVulpixLevelUpLearnset, + [SPECIES_NINETALES] = sNinetalesLevelUpLearnset, + [SPECIES_JIGGLYPUFF] = sJigglypuffLevelUpLearnset, + [SPECIES_WIGGLYTUFF] = sWigglytuffLevelUpLearnset, + [SPECIES_ZUBAT] = sZubatLevelUpLearnset, + [SPECIES_GOLBAT] = sGolbatLevelUpLearnset, + [SPECIES_ODDISH] = sOddishLevelUpLearnset, + [SPECIES_GLOOM] = sGloomLevelUpLearnset, + [SPECIES_VILEPLUME] = sVileplumeLevelUpLearnset, + [SPECIES_PARAS] = sParasLevelUpLearnset, + [SPECIES_PARASECT] = sParasectLevelUpLearnset, + [SPECIES_VENONAT] = sVenonatLevelUpLearnset, + [SPECIES_VENOMOTH] = sVenomothLevelUpLearnset, + [SPECIES_DIGLETT] = sDiglettLevelUpLearnset, + [SPECIES_DUGTRIO] = sDugtrioLevelUpLearnset, + [SPECIES_MEOWTH] = sMeowthLevelUpLearnset, + [SPECIES_PERSIAN] = sPersianLevelUpLearnset, + [SPECIES_PSYDUCK] = sPsyduckLevelUpLearnset, + [SPECIES_GOLDUCK] = sGolduckLevelUpLearnset, + [SPECIES_MANKEY] = sMankeyLevelUpLearnset, + [SPECIES_PRIMEAPE] = sPrimeapeLevelUpLearnset, + [SPECIES_GROWLITHE] = sGrowlitheLevelUpLearnset, + [SPECIES_ARCANINE] = sArcanineLevelUpLearnset, + [SPECIES_POLIWAG] = sPoliwagLevelUpLearnset, + [SPECIES_POLIWHIRL] = sPoliwhirlLevelUpLearnset, + [SPECIES_POLIWRATH] = sPoliwrathLevelUpLearnset, + [SPECIES_ABRA] = sAbraLevelUpLearnset, + [SPECIES_KADABRA] = sKadabraLevelUpLearnset, + [SPECIES_ALAKAZAM] = sAlakazamLevelUpLearnset, + [SPECIES_MACHOP] = sMachopLevelUpLearnset, + [SPECIES_MACHOKE] = sMachokeLevelUpLearnset, + [SPECIES_MACHAMP] = sMachampLevelUpLearnset, + [SPECIES_BELLSPROUT] = sBellsproutLevelUpLearnset, + [SPECIES_WEEPINBELL] = sWeepinbellLevelUpLearnset, + [SPECIES_VICTREEBEL] = sVictreebelLevelUpLearnset, + [SPECIES_TENTACOOL] = sTentacoolLevelUpLearnset, + [SPECIES_TENTACRUEL] = sTentacruelLevelUpLearnset, + [SPECIES_GEODUDE] = sGeodudeLevelUpLearnset, + [SPECIES_GRAVELER] = sGravelerLevelUpLearnset, + [SPECIES_GOLEM] = sGolemLevelUpLearnset, + [SPECIES_PONYTA] = sPonytaLevelUpLearnset, + [SPECIES_RAPIDASH] = sRapidashLevelUpLearnset, + [SPECIES_SLOWPOKE] = sSlowpokeLevelUpLearnset, + [SPECIES_SLOWBRO] = sSlowbroLevelUpLearnset, + [SPECIES_MAGNEMITE] = sMagnemiteLevelUpLearnset, + [SPECIES_MAGNETON] = sMagnetonLevelUpLearnset, + [SPECIES_FARFETCHD] = sFarfetchdLevelUpLearnset, + [SPECIES_DODUO] = sDoduoLevelUpLearnset, + [SPECIES_DODRIO] = sDodrioLevelUpLearnset, + [SPECIES_SEEL] = sSeelLevelUpLearnset, + [SPECIES_DEWGONG] = sDewgongLevelUpLearnset, + [SPECIES_GRIMER] = sGrimerLevelUpLearnset, + [SPECIES_MUK] = sMukLevelUpLearnset, + [SPECIES_SHELLDER] = sShellderLevelUpLearnset, + [SPECIES_CLOYSTER] = sCloysterLevelUpLearnset, + [SPECIES_GASTLY] = sGastlyLevelUpLearnset, + [SPECIES_HAUNTER] = sHaunterLevelUpLearnset, + [SPECIES_GENGAR] = sGengarLevelUpLearnset, + [SPECIES_ONIX] = sOnixLevelUpLearnset, + [SPECIES_DROWZEE] = sDrowzeeLevelUpLearnset, + [SPECIES_HYPNO] = sHypnoLevelUpLearnset, + [SPECIES_KRABBY] = sKrabbyLevelUpLearnset, + [SPECIES_KINGLER] = sKinglerLevelUpLearnset, + [SPECIES_VOLTORB] = sVoltorbLevelUpLearnset, + [SPECIES_ELECTRODE] = sElectrodeLevelUpLearnset, + [SPECIES_EXEGGCUTE] = sExeggcuteLevelUpLearnset, + [SPECIES_EXEGGUTOR] = sExeggutorLevelUpLearnset, + [SPECIES_CUBONE] = sCuboneLevelUpLearnset, + [SPECIES_MAROWAK] = sMarowakLevelUpLearnset, + [SPECIES_HITMONLEE] = sHitmonleeLevelUpLearnset, + [SPECIES_HITMONCHAN] = sHitmonchanLevelUpLearnset, + [SPECIES_LICKITUNG] = sLickitungLevelUpLearnset, + [SPECIES_KOFFING] = sKoffingLevelUpLearnset, + [SPECIES_WEEZING] = sWeezingLevelUpLearnset, + [SPECIES_RHYHORN] = sRhyhornLevelUpLearnset, + [SPECIES_RHYDON] = sRhydonLevelUpLearnset, + [SPECIES_CHANSEY] = sChanseyLevelUpLearnset, + [SPECIES_TANGELA] = sTangelaLevelUpLearnset, + [SPECIES_KANGASKHAN] = sKangaskhanLevelUpLearnset, + [SPECIES_HORSEA] = sHorseaLevelUpLearnset, + [SPECIES_SEADRA] = sSeadraLevelUpLearnset, + [SPECIES_GOLDEEN] = sGoldeenLevelUpLearnset, + [SPECIES_SEAKING] = sSeakingLevelUpLearnset, + [SPECIES_STARYU] = sStaryuLevelUpLearnset, + [SPECIES_STARMIE] = sStarmieLevelUpLearnset, + [SPECIES_MR_MIME] = sMrmimeLevelUpLearnset, + [SPECIES_SCYTHER] = sScytherLevelUpLearnset, + [SPECIES_JYNX] = sJynxLevelUpLearnset, + [SPECIES_ELECTABUZZ] = sElectabuzzLevelUpLearnset, + [SPECIES_MAGMAR] = sMagmarLevelUpLearnset, + [SPECIES_PINSIR] = sPinsirLevelUpLearnset, + [SPECIES_TAUROS] = sTaurosLevelUpLearnset, + [SPECIES_MAGIKARP] = sMagikarpLevelUpLearnset, + [SPECIES_GYARADOS] = sGyaradosLevelUpLearnset, + [SPECIES_LAPRAS] = sLaprasLevelUpLearnset, + [SPECIES_DITTO] = sDittoLevelUpLearnset, + [SPECIES_EEVEE] = sEeveeLevelUpLearnset, + [SPECIES_VAPOREON] = sVaporeonLevelUpLearnset, + [SPECIES_JOLTEON] = sJolteonLevelUpLearnset, + [SPECIES_FLAREON] = sFlareonLevelUpLearnset, + [SPECIES_PORYGON] = sPorygonLevelUpLearnset, + [SPECIES_OMANYTE] = sOmanyteLevelUpLearnset, + [SPECIES_OMASTAR] = sOmastarLevelUpLearnset, + [SPECIES_KABUTO] = sKabutoLevelUpLearnset, + [SPECIES_KABUTOPS] = sKabutopsLevelUpLearnset, + [SPECIES_AERODACTYL] = sAerodactylLevelUpLearnset, + [SPECIES_SNORLAX] = sSnorlaxLevelUpLearnset, + [SPECIES_ARTICUNO] = sArticunoLevelUpLearnset, + [SPECIES_ZAPDOS] = sZapdosLevelUpLearnset, + [SPECIES_MOLTRES] = sMoltresLevelUpLearnset, + [SPECIES_DRATINI] = sDratiniLevelUpLearnset, + [SPECIES_DRAGONAIR] = sDragonairLevelUpLearnset, + [SPECIES_DRAGONITE] = sDragoniteLevelUpLearnset, + [SPECIES_MEWTWO] = sMewtwoLevelUpLearnset, + [SPECIES_MEW] = sMewLevelUpLearnset, + [SPECIES_CHIKORITA] = sChikoritaLevelUpLearnset, + [SPECIES_BAYLEEF] = sBayleefLevelUpLearnset, + [SPECIES_MEGANIUM] = sMeganiumLevelUpLearnset, + [SPECIES_CYNDAQUIL] = sCyndaquilLevelUpLearnset, + [SPECIES_QUILAVA] = sQuilavaLevelUpLearnset, + [SPECIES_TYPHLOSION] = sTyphlosionLevelUpLearnset, + [SPECIES_TOTODILE] = sTotodileLevelUpLearnset, + [SPECIES_CROCONAW] = sCroconawLevelUpLearnset, + [SPECIES_FERALIGATR] = sFeraligatrLevelUpLearnset, + [SPECIES_SENTRET] = sSentretLevelUpLearnset, + [SPECIES_FURRET] = sFurretLevelUpLearnset, + [SPECIES_HOOTHOOT] = sHoothootLevelUpLearnset, + [SPECIES_NOCTOWL] = sNoctowlLevelUpLearnset, + [SPECIES_LEDYBA] = sLedybaLevelUpLearnset, + [SPECIES_LEDIAN] = sLedianLevelUpLearnset, + [SPECIES_SPINARAK] = sSpinarakLevelUpLearnset, + [SPECIES_ARIADOS] = sAriadosLevelUpLearnset, + [SPECIES_CROBAT] = sCrobatLevelUpLearnset, + [SPECIES_CHINCHOU] = sChinchouLevelUpLearnset, + [SPECIES_LANTURN] = sLanturnLevelUpLearnset, + [SPECIES_PICHU] = sPichuLevelUpLearnset, + [SPECIES_CLEFFA] = sCleffaLevelUpLearnset, + [SPECIES_IGGLYBUFF] = sIgglybuffLevelUpLearnset, + [SPECIES_TOGEPI] = sTogepiLevelUpLearnset, + [SPECIES_TOGETIC] = sTogeticLevelUpLearnset, + [SPECIES_NATU] = sNatuLevelUpLearnset, + [SPECIES_XATU] = sXatuLevelUpLearnset, + [SPECIES_MAREEP] = sMareepLevelUpLearnset, + [SPECIES_FLAAFFY] = sFlaaffyLevelUpLearnset, + [SPECIES_AMPHAROS] = sAmpharosLevelUpLearnset, + [SPECIES_BELLOSSOM] = sBellossomLevelUpLearnset, + [SPECIES_MARILL] = sMarillLevelUpLearnset, + [SPECIES_AZUMARILL] = sAzumarillLevelUpLearnset, + [SPECIES_SUDOWOODO] = sSudowoodoLevelUpLearnset, + [SPECIES_POLITOED] = sPolitoedLevelUpLearnset, + [SPECIES_HOPPIP] = sHoppipLevelUpLearnset, + [SPECIES_SKIPLOOM] = sSkiploomLevelUpLearnset, + [SPECIES_JUMPLUFF] = sJumpluffLevelUpLearnset, + [SPECIES_AIPOM] = sAipomLevelUpLearnset, + [SPECIES_SUNKERN] = sSunkernLevelUpLearnset, + [SPECIES_SUNFLORA] = sSunfloraLevelUpLearnset, + [SPECIES_YANMA] = sYanmaLevelUpLearnset, + [SPECIES_WOOPER] = sWooperLevelUpLearnset, + [SPECIES_QUAGSIRE] = sQuagsireLevelUpLearnset, + [SPECIES_ESPEON] = sEspeonLevelUpLearnset, + [SPECIES_UMBREON] = sUmbreonLevelUpLearnset, + [SPECIES_MURKROW] = sMurkrowLevelUpLearnset, + [SPECIES_SLOWKING] = sSlowkingLevelUpLearnset, + [SPECIES_MISDREAVUS] = sMisdreavusLevelUpLearnset, + [SPECIES_UNOWN] = sUnownLevelUpLearnset, + [SPECIES_WOBBUFFET] = sWobbuffetLevelUpLearnset, + [SPECIES_GIRAFARIG] = sGirafarigLevelUpLearnset, + [SPECIES_PINECO] = sPinecoLevelUpLearnset, + [SPECIES_FORRETRESS] = sForretressLevelUpLearnset, + [SPECIES_DUNSPARCE] = sDunsparceLevelUpLearnset, + [SPECIES_GLIGAR] = sGligarLevelUpLearnset, + [SPECIES_STEELIX] = sSteelixLevelUpLearnset, + [SPECIES_SNUBBULL] = sSnubbullLevelUpLearnset, + [SPECIES_GRANBULL] = sGranbullLevelUpLearnset, + [SPECIES_QWILFISH] = sQwilfishLevelUpLearnset, + [SPECIES_SCIZOR] = sScizorLevelUpLearnset, + [SPECIES_SHUCKLE] = sShuckleLevelUpLearnset, + [SPECIES_HERACROSS] = sHeracrossLevelUpLearnset, + [SPECIES_SNEASEL] = sSneaselLevelUpLearnset, + [SPECIES_TEDDIURSA] = sTeddiursaLevelUpLearnset, + [SPECIES_URSARING] = sUrsaringLevelUpLearnset, + [SPECIES_SLUGMA] = sSlugmaLevelUpLearnset, + [SPECIES_MAGCARGO] = sMagcargoLevelUpLearnset, + [SPECIES_SWINUB] = sSwinubLevelUpLearnset, + [SPECIES_PILOSWINE] = sPiloswineLevelUpLearnset, + [SPECIES_CORSOLA] = sCorsolaLevelUpLearnset, + [SPECIES_REMORAID] = sRemoraidLevelUpLearnset, + [SPECIES_OCTILLERY] = sOctilleryLevelUpLearnset, + [SPECIES_DELIBIRD] = sDelibirdLevelUpLearnset, + [SPECIES_MANTINE] = sMantineLevelUpLearnset, + [SPECIES_SKARMORY] = sSkarmoryLevelUpLearnset, + [SPECIES_HOUNDOUR] = sHoundourLevelUpLearnset, + [SPECIES_HOUNDOOM] = sHoundoomLevelUpLearnset, + [SPECIES_KINGDRA] = sKingdraLevelUpLearnset, + [SPECIES_PHANPY] = sPhanpyLevelUpLearnset, + [SPECIES_DONPHAN] = sDonphanLevelUpLearnset, + [SPECIES_PORYGON2] = sPorygon2LevelUpLearnset, + [SPECIES_STANTLER] = sStantlerLevelUpLearnset, + [SPECIES_SMEARGLE] = sSmeargleLevelUpLearnset, + [SPECIES_TYROGUE] = sTyrogueLevelUpLearnset, + [SPECIES_HITMONTOP] = sHitmontopLevelUpLearnset, + [SPECIES_SMOOCHUM] = sSmoochumLevelUpLearnset, + [SPECIES_ELEKID] = sElekidLevelUpLearnset, + [SPECIES_MAGBY] = sMagbyLevelUpLearnset, + [SPECIES_MILTANK] = sMiltankLevelUpLearnset, + [SPECIES_BLISSEY] = sBlisseyLevelUpLearnset, + [SPECIES_RAIKOU] = sRaikouLevelUpLearnset, + [SPECIES_ENTEI] = sEnteiLevelUpLearnset, + [SPECIES_SUICUNE] = sSuicuneLevelUpLearnset, + [SPECIES_LARVITAR] = sLarvitarLevelUpLearnset, + [SPECIES_PUPITAR] = sPupitarLevelUpLearnset, + [SPECIES_TYRANITAR] = sTyranitarLevelUpLearnset, + [SPECIES_LUGIA] = sLugiaLevelUpLearnset, + [SPECIES_HO_OH] = sHoOhLevelUpLearnset, + [SPECIES_CELEBI] = sCelebiLevelUpLearnset, + [SPECIES_OLD_UNOWN_B] = sSpecies252LevelUpLearnset, + [SPECIES_OLD_UNOWN_C] = sSpecies253LevelUpLearnset, + [SPECIES_OLD_UNOWN_D] = sSpecies254LevelUpLearnset, + [SPECIES_OLD_UNOWN_E] = sSpecies255LevelUpLearnset, + [SPECIES_OLD_UNOWN_F] = sSpecies256LevelUpLearnset, + [SPECIES_OLD_UNOWN_G] = sSpecies257LevelUpLearnset, + [SPECIES_OLD_UNOWN_H] = sSpecies258LevelUpLearnset, + [SPECIES_OLD_UNOWN_I] = sSpecies259LevelUpLearnset, + [SPECIES_OLD_UNOWN_J] = sSpecies260LevelUpLearnset, + [SPECIES_OLD_UNOWN_K] = sSpecies261LevelUpLearnset, + [SPECIES_OLD_UNOWN_L] = sSpecies262LevelUpLearnset, + [SPECIES_OLD_UNOWN_M] = sSpecies263LevelUpLearnset, + [SPECIES_OLD_UNOWN_N] = sSpecies264LevelUpLearnset, + [SPECIES_OLD_UNOWN_O] = sSpecies265LevelUpLearnset, + [SPECIES_OLD_UNOWN_P] = sSpecies266LevelUpLearnset, + [SPECIES_OLD_UNOWN_Q] = sSpecies267LevelUpLearnset, + [SPECIES_OLD_UNOWN_R] = sSpecies268LevelUpLearnset, + [SPECIES_OLD_UNOWN_S] = sSpecies269LevelUpLearnset, + [SPECIES_OLD_UNOWN_T] = sSpecies270LevelUpLearnset, + [SPECIES_OLD_UNOWN_U] = sSpecies271LevelUpLearnset, + [SPECIES_OLD_UNOWN_V] = sSpecies272LevelUpLearnset, + [SPECIES_OLD_UNOWN_W] = sSpecies273LevelUpLearnset, + [SPECIES_OLD_UNOWN_X] = sSpecies274LevelUpLearnset, + [SPECIES_OLD_UNOWN_Y] = sSpecies275LevelUpLearnset, + [SPECIES_OLD_UNOWN_Z] = sSpecies276LevelUpLearnset, + [SPECIES_TREECKO] = sTreeckoLevelUpLearnset, + [SPECIES_GROVYLE] = sGrovyleLevelUpLearnset, + [SPECIES_SCEPTILE] = sSceptileLevelUpLearnset, + [SPECIES_TORCHIC] = sTorchicLevelUpLearnset, + [SPECIES_COMBUSKEN] = sCombuskenLevelUpLearnset, + [SPECIES_BLAZIKEN] = sBlazikenLevelUpLearnset, + [SPECIES_MUDKIP] = sMudkipLevelUpLearnset, + [SPECIES_MARSHTOMP] = sMarshtompLevelUpLearnset, + [SPECIES_SWAMPERT] = sSwampertLevelUpLearnset, + [SPECIES_POOCHYENA] = sPoochyenaLevelUpLearnset, + [SPECIES_MIGHTYENA] = sMightyenaLevelUpLearnset, + [SPECIES_ZIGZAGOON] = sZigzagoonLevelUpLearnset, + [SPECIES_LINOONE] = sLinooneLevelUpLearnset, + [SPECIES_WURMPLE] = sWurmpleLevelUpLearnset, + [SPECIES_SILCOON] = sSilcoonLevelUpLearnset, + [SPECIES_BEAUTIFLY] = sBeautiflyLevelUpLearnset, + [SPECIES_CASCOON] = sCascoonLevelUpLearnset, + [SPECIES_DUSTOX] = sDustoxLevelUpLearnset, + [SPECIES_LOTAD] = sLotadLevelUpLearnset, + [SPECIES_LOMBRE] = sLombreLevelUpLearnset, + [SPECIES_LUDICOLO] = sLudicoloLevelUpLearnset, + [SPECIES_SEEDOT] = sSeedotLevelUpLearnset, + [SPECIES_NUZLEAF] = sNuzleafLevelUpLearnset, + [SPECIES_SHIFTRY] = sShiftryLevelUpLearnset, + [SPECIES_NINCADA] = sNincadaLevelUpLearnset, + [SPECIES_NINJASK] = sNinjaskLevelUpLearnset, + [SPECIES_SHEDINJA] = sShedinjaLevelUpLearnset, + [SPECIES_TAILLOW] = sTaillowLevelUpLearnset, + [SPECIES_SWELLOW] = sSwellowLevelUpLearnset, + [SPECIES_SHROOMISH] = sShroomishLevelUpLearnset, + [SPECIES_BRELOOM] = sBreloomLevelUpLearnset, + [SPECIES_SPINDA] = sSpindaLevelUpLearnset, + [SPECIES_WINGULL] = sWingullLevelUpLearnset, + [SPECIES_PELIPPER] = sPelipperLevelUpLearnset, + [SPECIES_SURSKIT] = sSurskitLevelUpLearnset, + [SPECIES_MASQUERAIN] = sMasquerainLevelUpLearnset, + [SPECIES_WAILMER] = sWailmerLevelUpLearnset, + [SPECIES_WAILORD] = sWailordLevelUpLearnset, + [SPECIES_SKITTY] = sSkittyLevelUpLearnset, + [SPECIES_DELCATTY] = sDelcattyLevelUpLearnset, + [SPECIES_KECLEON] = sKecleonLevelUpLearnset, + [SPECIES_BALTOY] = sBaltoyLevelUpLearnset, + [SPECIES_CLAYDOL] = sClaydolLevelUpLearnset, + [SPECIES_NOSEPASS] = sNosepassLevelUpLearnset, + [SPECIES_TORKOAL] = sTorkoalLevelUpLearnset, + [SPECIES_SABLEYE] = sSableyeLevelUpLearnset, + [SPECIES_BARBOACH] = sBarboachLevelUpLearnset, + [SPECIES_WHISCASH] = sWhiscashLevelUpLearnset, + [SPECIES_LUVDISC] = sLuvdiscLevelUpLearnset, + [SPECIES_CORPHISH] = sCorphishLevelUpLearnset, + [SPECIES_CRAWDAUNT] = sCrawdauntLevelUpLearnset, + [SPECIES_FEEBAS] = sFeebasLevelUpLearnset, + [SPECIES_MILOTIC] = sMiloticLevelUpLearnset, + [SPECIES_CARVANHA] = sCarvanhaLevelUpLearnset, + [SPECIES_SHARPEDO] = sSharpedoLevelUpLearnset, + [SPECIES_TRAPINCH] = sTrapinchLevelUpLearnset, + [SPECIES_VIBRAVA] = sVibravaLevelUpLearnset, + [SPECIES_FLYGON] = sFlygonLevelUpLearnset, + [SPECIES_MAKUHITA] = sMakuhitaLevelUpLearnset, + [SPECIES_HARIYAMA] = sHariyamaLevelUpLearnset, + [SPECIES_ELECTRIKE] = sElectrikeLevelUpLearnset, + [SPECIES_MANECTRIC] = sManectricLevelUpLearnset, + [SPECIES_NUMEL] = sNumelLevelUpLearnset, + [SPECIES_CAMERUPT] = sCameruptLevelUpLearnset, + [SPECIES_SPHEAL] = sSphealLevelUpLearnset, + [SPECIES_SEALEO] = sSealeoLevelUpLearnset, + [SPECIES_WALREIN] = sWalreinLevelUpLearnset, + [SPECIES_CACNEA] = sCacneaLevelUpLearnset, + [SPECIES_CACTURNE] = sCacturneLevelUpLearnset, + [SPECIES_SNORUNT] = sSnoruntLevelUpLearnset, + [SPECIES_GLALIE] = sGlalieLevelUpLearnset, + [SPECIES_LUNATONE] = sLunatoneLevelUpLearnset, + [SPECIES_SOLROCK] = sSolrockLevelUpLearnset, + [SPECIES_AZURILL] = sAzurillLevelUpLearnset, + [SPECIES_SPOINK] = sSpoinkLevelUpLearnset, + [SPECIES_GRUMPIG] = sGrumpigLevelUpLearnset, + [SPECIES_PLUSLE] = sPlusleLevelUpLearnset, + [SPECIES_MINUN] = sMinunLevelUpLearnset, + [SPECIES_MAWILE] = sMawileLevelUpLearnset, + [SPECIES_MEDITITE] = sMedititeLevelUpLearnset, + [SPECIES_MEDICHAM] = sMedichamLevelUpLearnset, + [SPECIES_SWABLU] = sSwabluLevelUpLearnset, + [SPECIES_ALTARIA] = sAltariaLevelUpLearnset, + [SPECIES_WYNAUT] = sWynautLevelUpLearnset, + [SPECIES_DUSKULL] = sDuskullLevelUpLearnset, + [SPECIES_DUSCLOPS] = sDusclopsLevelUpLearnset, + [SPECIES_ROSELIA] = sRoseliaLevelUpLearnset, + [SPECIES_SLAKOTH] = sSlakothLevelUpLearnset, + [SPECIES_VIGOROTH] = sVigorothLevelUpLearnset, + [SPECIES_SLAKING] = sSlakingLevelUpLearnset, + [SPECIES_GULPIN] = sGulpinLevelUpLearnset, + [SPECIES_SWALOT] = sSwalotLevelUpLearnset, + [SPECIES_TROPIUS] = sTropiusLevelUpLearnset, + [SPECIES_WHISMUR] = sWhismurLevelUpLearnset, + [SPECIES_LOUDRED] = sLoudredLevelUpLearnset, + [SPECIES_EXPLOUD] = sExploudLevelUpLearnset, + [SPECIES_CLAMPERL] = sClamperlLevelUpLearnset, + [SPECIES_HUNTAIL] = sHuntailLevelUpLearnset, + [SPECIES_GOREBYSS] = sGorebyssLevelUpLearnset, + [SPECIES_ABSOL] = sAbsolLevelUpLearnset, + [SPECIES_SHUPPET] = sShuppetLevelUpLearnset, + [SPECIES_BANETTE] = sBanetteLevelUpLearnset, + [SPECIES_SEVIPER] = sSeviperLevelUpLearnset, + [SPECIES_ZANGOOSE] = sZangooseLevelUpLearnset, + [SPECIES_RELICANTH] = sRelicanthLevelUpLearnset, + [SPECIES_ARON] = sAronLevelUpLearnset, + [SPECIES_LAIRON] = sLaironLevelUpLearnset, + [SPECIES_AGGRON] = sAggronLevelUpLearnset, + [SPECIES_CASTFORM] = sCastformLevelUpLearnset, + [SPECIES_VOLBEAT] = sVolbeatLevelUpLearnset, + [SPECIES_ILLUMISE] = sIllumiseLevelUpLearnset, + [SPECIES_LILEEP] = sLileepLevelUpLearnset, + [SPECIES_CRADILY] = sCradilyLevelUpLearnset, + [SPECIES_ANORITH] = sAnorithLevelUpLearnset, + [SPECIES_ARMALDO] = sArmaldoLevelUpLearnset, + [SPECIES_RALTS] = sRaltsLevelUpLearnset, + [SPECIES_KIRLIA] = sKirliaLevelUpLearnset, + [SPECIES_GARDEVOIR] = sGardevoirLevelUpLearnset, + [SPECIES_BAGON] = sBagonLevelUpLearnset, + [SPECIES_SHELGON] = sShelgonLevelUpLearnset, + [SPECIES_SALAMENCE] = sSalamenceLevelUpLearnset, + [SPECIES_BELDUM] = sBeldumLevelUpLearnset, + [SPECIES_METANG] = sMetangLevelUpLearnset, + [SPECIES_METAGROSS] = sMetagrossLevelUpLearnset, + [SPECIES_REGIROCK] = sRegirockLevelUpLearnset, + [SPECIES_REGICE] = sRegiceLevelUpLearnset, + [SPECIES_REGISTEEL] = sRegisteelLevelUpLearnset, + [SPECIES_KYOGRE] = sKyogreLevelUpLearnset, + [SPECIES_GROUDON] = sGroudonLevelUpLearnset, + [SPECIES_RAYQUAZA] = sRayquazaLevelUpLearnset, + [SPECIES_LATIAS] = sLatiasLevelUpLearnset, + [SPECIES_LATIOS] = sLatiosLevelUpLearnset, + [SPECIES_JIRACHI] = sJirachiLevelUpLearnset, + [SPECIES_DEOXYS] = sDeoxysLevelUpLearnset, + [SPECIES_CHIMECHO] = sChimechoLevelUpLearnset, }; #endif //POKEEMERALD_LEVEL_UP_LEARNSET_POINTERS_H diff --git a/include/data/pokemon/level_up_learnsets.h b/include/data/pokemon/level_up_learnsets.h index 4035dc66a2..062873aee4 100644 --- a/include/data/pokemon/level_up_learnsets.h +++ b/include/data/pokemon/level_up_learnsets.h @@ -4,7 +4,7 @@ #define LEVEL_UP_MOVE(lvl, move) ((lvl << 9) | move) #define LEVEL_UP_END 0xffff -const u16 gBulbasaurLevelUpLearnset[] = { +static const u16 sBulbasaurLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 4, MOVE_GROWL), LEVEL_UP_MOVE( 7, MOVE_LEECH_SEED), @@ -19,7 +19,7 @@ const u16 gBulbasaurLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gIvysaurLevelUpLearnset[] = { +static const u16 sIvysaurLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_LEECH_SEED), @@ -36,7 +36,7 @@ const u16 gIvysaurLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gVenusaurLevelUpLearnset[] = { +static const u16 sVenusaurLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_LEECH_SEED), @@ -54,7 +54,7 @@ const u16 gVenusaurLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gCharmanderLevelUpLearnset[] = { +static const u16 sCharmanderLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 7, MOVE_EMBER), @@ -68,7 +68,7 @@ const u16 gCharmanderLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gCharmeleonLevelUpLearnset[] = { +static const u16 sCharmeleonLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_EMBER), @@ -83,7 +83,7 @@ const u16 gCharmeleonLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gCharizardLevelUpLearnset[] = { +static const u16 sCharizardLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_EMBER), @@ -100,7 +100,7 @@ const u16 gCharizardLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSquirtleLevelUpLearnset[] = { +static const u16 sSquirtleLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 4, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 7, MOVE_BUBBLE), @@ -115,7 +115,7 @@ const u16 gSquirtleLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gWartortleLevelUpLearnset[] = { +static const u16 sWartortleLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 1, MOVE_BUBBLE), @@ -132,7 +132,7 @@ const u16 gWartortleLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gBlastoiseLevelUpLearnset[] = { +static const u16 sBlastoiseLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 1, MOVE_BUBBLE), @@ -150,19 +150,19 @@ const u16 gBlastoiseLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gCaterpieLevelUpLearnset[] = { +static const u16 sCaterpieLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_STRING_SHOT), LEVEL_UP_END }; -const u16 gMetapodLevelUpLearnset[] = { +static const u16 sMetapodLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_HARDEN), LEVEL_UP_MOVE( 7, MOVE_HARDEN), LEVEL_UP_END }; -const u16 gButterfreeLevelUpLearnset[] = { +static const u16 sButterfreeLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_CONFUSION), LEVEL_UP_MOVE(10, MOVE_CONFUSION), LEVEL_UP_MOVE(13, MOVE_POISON_POWDER), @@ -177,19 +177,19 @@ const u16 gButterfreeLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gWeedleLevelUpLearnset[] = { +static const u16 sWeedleLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POISON_STING), LEVEL_UP_MOVE( 1, MOVE_STRING_SHOT), LEVEL_UP_END }; -const u16 gKakunaLevelUpLearnset[] = { +static const u16 sKakunaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_HARDEN), LEVEL_UP_MOVE( 7, MOVE_HARDEN), LEVEL_UP_END }; -const u16 gBeedrillLevelUpLearnset[] = { +static const u16 sBeedrillLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_FURY_ATTACK), LEVEL_UP_MOVE(10, MOVE_FURY_ATTACK), LEVEL_UP_MOVE(15, MOVE_FOCUS_ENERGY), @@ -202,7 +202,7 @@ const u16 gBeedrillLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gPidgeyLevelUpLearnset[] = { +static const u16 sPidgeyLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 5, MOVE_SAND_ATTACK), LEVEL_UP_MOVE( 9, MOVE_GUST), @@ -215,7 +215,7 @@ const u16 gPidgeyLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gPidgeottoLevelUpLearnset[] = { +static const u16 sPidgeottoLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), LEVEL_UP_MOVE( 1, MOVE_GUST), @@ -230,7 +230,7 @@ const u16 gPidgeottoLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gPidgeotLevelUpLearnset[] = { +static const u16 sPidgeotLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), LEVEL_UP_MOVE( 1, MOVE_GUST), @@ -246,7 +246,7 @@ const u16 gPidgeotLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gRattataLevelUpLearnset[] = { +static const u16 sRattataLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 7, MOVE_QUICK_ATTACK), @@ -258,7 +258,7 @@ const u16 gRattataLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gRaticateLevelUpLearnset[] = { +static const u16 sRaticateLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), @@ -271,7 +271,7 @@ const u16 gRaticateLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSpearowLevelUpLearnset[] = { +static const u16 sSpearowLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_PECK), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 7, MOVE_LEER), @@ -284,7 +284,7 @@ const u16 gSpearowLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gFearowLevelUpLearnset[] = { +static const u16 sFearowLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_PECK), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_LEER), @@ -298,7 +298,7 @@ const u16 gFearowLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gEkansLevelUpLearnset[] = { +static const u16 sEkansLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_WRAP), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 8, MOVE_POISON_STING), @@ -313,7 +313,7 @@ const u16 gEkansLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gArbokLevelUpLearnset[] = { +static const u16 sArbokLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_WRAP), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_POISON_STING), @@ -330,7 +330,7 @@ const u16 gArbokLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gPikachuLevelUpLearnset[] = { +static const u16 sPikachuLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_THUNDER_SHOCK), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 6, MOVE_TAIL_WHIP), @@ -345,7 +345,7 @@ const u16 gPikachuLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gRaichuLevelUpLearnset[] = { +static const u16 sRaichuLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_THUNDER_SHOCK), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), @@ -353,7 +353,7 @@ const u16 gRaichuLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSandshrewLevelUpLearnset[] = { +static const u16 sSandshrewLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 6, MOVE_DEFENSE_CURL), LEVEL_UP_MOVE(11, MOVE_SAND_ATTACK), @@ -366,7 +366,7 @@ const u16 gSandshrewLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSandslashLevelUpLearnset[] = { +static const u16 sSandslashLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), @@ -381,7 +381,7 @@ const u16 gSandslashLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gNidoranFLevelUpLearnset[] = { +static const u16 sNidoranFLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 8, MOVE_TAIL_WHIP), @@ -395,7 +395,7 @@ const u16 gNidoranFLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gNidorinaLevelUpLearnset[] = { +static const u16 sNidorinaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 8, MOVE_TAIL_WHIP), @@ -409,7 +409,7 @@ const u16 gNidorinaLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gNidoqueenLevelUpLearnset[] = { +static const u16 sNidoqueenLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 1, MOVE_DOUBLE_KICK), @@ -418,7 +418,7 @@ const u16 gNidoqueenLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gNidoranMLevelUpLearnset[] = { +static const u16 sNidoranMLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_PECK), LEVEL_UP_MOVE( 8, MOVE_FOCUS_ENERGY), @@ -432,7 +432,7 @@ const u16 gNidoranMLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gNidorinoLevelUpLearnset[] = { +static const u16 sNidorinoLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_PECK), LEVEL_UP_MOVE( 8, MOVE_FOCUS_ENERGY), @@ -446,7 +446,7 @@ const u16 gNidorinoLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gNidokingLevelUpLearnset[] = { +static const u16 sNidokingLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_PECK), LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), LEVEL_UP_MOVE( 1, MOVE_DOUBLE_KICK), @@ -455,7 +455,7 @@ const u16 gNidokingLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gClefairyLevelUpLearnset[] = { +static const u16 sClefairyLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 5, MOVE_ENCORE), @@ -472,7 +472,7 @@ const u16 gClefairyLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gClefableLevelUpLearnset[] = { +static const u16 sClefableLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SING), LEVEL_UP_MOVE( 1, MOVE_DOUBLE_SLAP), LEVEL_UP_MOVE( 1, MOVE_MINIMIZE), @@ -480,7 +480,7 @@ const u16 gClefableLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gVulpixLevelUpLearnset[] = { +static const u16 sVulpixLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_EMBER), LEVEL_UP_MOVE( 5, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 9, MOVE_ROAR), @@ -495,7 +495,7 @@ const u16 gVulpixLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gNinetalesLevelUpLearnset[] = { +static const u16 sNinetalesLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_EMBER), LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE( 1, MOVE_CONFUSE_RAY), @@ -504,7 +504,7 @@ const u16 gNinetalesLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gJigglypuffLevelUpLearnset[] = { +static const u16 sJigglypuffLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SING), LEVEL_UP_MOVE( 4, MOVE_DEFENSE_CURL), LEVEL_UP_MOVE( 9, MOVE_POUND), @@ -519,7 +519,7 @@ const u16 gJigglypuffLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gWigglytuffLevelUpLearnset[] = { +static const u16 sWigglytuffLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SING), LEVEL_UP_MOVE( 1, MOVE_DISABLE), LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), @@ -527,7 +527,7 @@ const u16 gWigglytuffLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gZubatLevelUpLearnset[] = { +static const u16 sZubatLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_LEECH_LIFE), LEVEL_UP_MOVE( 6, MOVE_SUPERSONIC), LEVEL_UP_MOVE(11, MOVE_ASTONISH), @@ -541,7 +541,7 @@ const u16 gZubatLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gGolbatLevelUpLearnset[] = { +static const u16 sGolbatLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCREECH), LEVEL_UP_MOVE( 1, MOVE_LEECH_LIFE), LEVEL_UP_MOVE( 1, MOVE_SUPERSONIC), @@ -558,7 +558,7 @@ const u16 gGolbatLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gOddishLevelUpLearnset[] = { +static const u16 sOddishLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_ABSORB), LEVEL_UP_MOVE( 7, MOVE_SWEET_SCENT), LEVEL_UP_MOVE(14, MOVE_POISON_POWDER), @@ -570,7 +570,7 @@ const u16 gOddishLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gGloomLevelUpLearnset[] = { +static const u16 sGloomLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_ABSORB), LEVEL_UP_MOVE( 1, MOVE_SWEET_SCENT), LEVEL_UP_MOVE( 1, MOVE_POISON_POWDER), @@ -584,7 +584,7 @@ const u16 gGloomLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gVileplumeLevelUpLearnset[] = { +static const u16 sVileplumeLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_ABSORB), LEVEL_UP_MOVE( 1, MOVE_AROMATHERAPY), LEVEL_UP_MOVE( 1, MOVE_STUN_SPORE), @@ -593,7 +593,7 @@ const u16 gVileplumeLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gParasLevelUpLearnset[] = { +static const u16 sParasLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 7, MOVE_STUN_SPORE), LEVEL_UP_MOVE(13, MOVE_POISON_POWDER), @@ -606,7 +606,7 @@ const u16 gParasLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gParasectLevelUpLearnset[] = { +static const u16 sParasectLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_STUN_SPORE), LEVEL_UP_MOVE( 1, MOVE_POISON_POWDER), @@ -621,7 +621,7 @@ const u16 gParasectLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gVenonatLevelUpLearnset[] = { +static const u16 sVenonatLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_DISABLE), LEVEL_UP_MOVE( 1, MOVE_FORESIGHT), @@ -636,7 +636,7 @@ const u16 gVenonatLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gVenomothLevelUpLearnset[] = { +static const u16 sVenomothLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SILVER_WIND), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_DISABLE), @@ -654,7 +654,7 @@ const u16 gVenomothLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gDiglettLevelUpLearnset[] = { +static const u16 sDiglettLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), LEVEL_UP_MOVE( 5, MOVE_GROWL), @@ -667,7 +667,7 @@ const u16 gDiglettLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gDugtrioLevelUpLearnset[] = { +static const u16 sDugtrioLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TRI_ATTACK), LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), @@ -683,7 +683,7 @@ const u16 gDugtrioLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gMeowthLevelUpLearnset[] = { +static const u16 sMeowthLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE(11, MOVE_BITE), @@ -696,7 +696,7 @@ const u16 gMeowthLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gPersianLevelUpLearnset[] = { +static const u16 sPersianLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_BITE), @@ -710,7 +710,7 @@ const u16 gPersianLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gPsyduckLevelUpLearnset[] = { +static const u16 sPsyduckLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_WATER_SPORT), LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 5, MOVE_TAIL_WHIP), @@ -723,7 +723,7 @@ const u16 gPsyduckLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gGolduckLevelUpLearnset[] = { +static const u16 sGolduckLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_WATER_SPORT), LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), @@ -738,7 +738,7 @@ const u16 gGolduckLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gMankeyLevelUpLearnset[] = { +static const u16 sMankeyLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 9, MOVE_LOW_KICK), @@ -752,7 +752,7 @@ const u16 gMankeyLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gPrimeapeLevelUpLearnset[] = { +static const u16 sPrimeapeLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_LOW_KICK), @@ -769,7 +769,7 @@ const u16 gPrimeapeLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gGrowlitheLevelUpLearnset[] = { +static const u16 sGrowlitheLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_BITE), LEVEL_UP_MOVE( 1, MOVE_ROAR), LEVEL_UP_MOVE( 7, MOVE_EMBER), @@ -783,7 +783,7 @@ const u16 gGrowlitheLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gArcanineLevelUpLearnset[] = { +static const u16 sArcanineLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_BITE), LEVEL_UP_MOVE( 1, MOVE_ROAR), LEVEL_UP_MOVE( 1, MOVE_EMBER), @@ -792,7 +792,7 @@ const u16 gArcanineLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gPoliwagLevelUpLearnset[] = { +static const u16 sPoliwagLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_BUBBLE), LEVEL_UP_MOVE( 7, MOVE_HYPNOSIS), LEVEL_UP_MOVE(13, MOVE_WATER_GUN), @@ -804,7 +804,7 @@ const u16 gPoliwagLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gPoliwhirlLevelUpLearnset[] = { +static const u16 sPoliwhirlLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_BUBBLE), LEVEL_UP_MOVE( 1, MOVE_HYPNOSIS), LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), @@ -818,7 +818,7 @@ const u16 gPoliwhirlLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gPoliwrathLevelUpLearnset[] = { +static const u16 sPoliwrathLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), LEVEL_UP_MOVE( 1, MOVE_HYPNOSIS), LEVEL_UP_MOVE( 1, MOVE_DOUBLE_SLAP), @@ -828,12 +828,12 @@ const u16 gPoliwrathLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gAbraLevelUpLearnset[] = { +static const u16 sAbraLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TELEPORT), LEVEL_UP_END }; -const u16 gKadabraLevelUpLearnset[] = { +static const u16 sKadabraLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TELEPORT), LEVEL_UP_MOVE( 1, MOVE_KINESIS), LEVEL_UP_MOVE( 1, MOVE_CONFUSION), @@ -849,7 +849,7 @@ const u16 gKadabraLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gAlakazamLevelUpLearnset[] = { +static const u16 sAlakazamLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TELEPORT), LEVEL_UP_MOVE( 1, MOVE_KINESIS), LEVEL_UP_MOVE( 1, MOVE_CONFUSION), @@ -865,7 +865,7 @@ const u16 gAlakazamLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gMachopLevelUpLearnset[] = { +static const u16 sMachopLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_LOW_KICK), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 7, MOVE_FOCUS_ENERGY), @@ -881,7 +881,7 @@ const u16 gMachopLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gMachokeLevelUpLearnset[] = { +static const u16 sMachokeLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_LOW_KICK), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), @@ -898,7 +898,7 @@ const u16 gMachokeLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gMachampLevelUpLearnset[] = { +static const u16 sMachampLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_LOW_KICK), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), @@ -915,7 +915,7 @@ const u16 gMachampLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gBellsproutLevelUpLearnset[] = { +static const u16 sBellsproutLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_VINE_WHIP), LEVEL_UP_MOVE( 6, MOVE_GROWTH), LEVEL_UP_MOVE(11, MOVE_WRAP), @@ -929,7 +929,7 @@ const u16 gBellsproutLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gWeepinbellLevelUpLearnset[] = { +static const u16 sWeepinbellLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_VINE_WHIP), LEVEL_UP_MOVE( 1, MOVE_GROWTH), LEVEL_UP_MOVE( 1, MOVE_WRAP), @@ -945,7 +945,7 @@ const u16 gWeepinbellLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gVictreebelLevelUpLearnset[] = { +static const u16 sVictreebelLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_VINE_WHIP), LEVEL_UP_MOVE( 1, MOVE_SLEEP_POWDER), LEVEL_UP_MOVE( 1, MOVE_SWEET_SCENT), @@ -953,7 +953,7 @@ const u16 gVictreebelLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gTentacoolLevelUpLearnset[] = { +static const u16 sTentacoolLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POISON_STING), LEVEL_UP_MOVE( 6, MOVE_SUPERSONIC), LEVEL_UP_MOVE(12, MOVE_CONSTRICT), @@ -966,7 +966,7 @@ const u16 gTentacoolLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gTentacruelLevelUpLearnset[] = { +static const u16 sTentacruelLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POISON_STING), LEVEL_UP_MOVE( 1, MOVE_SUPERSONIC), LEVEL_UP_MOVE( 1, MOVE_CONSTRICT), @@ -981,7 +981,7 @@ const u16 gTentacruelLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gGeodudeLevelUpLearnset[] = { +static const u16 sGeodudeLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), LEVEL_UP_MOVE( 6, MOVE_MUD_SPORT), @@ -996,7 +996,7 @@ const u16 gGeodudeLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gGravelerLevelUpLearnset[] = { +static const u16 sGravelerLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), LEVEL_UP_MOVE( 1, MOVE_MUD_SPORT), @@ -1013,7 +1013,7 @@ const u16 gGravelerLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gGolemLevelUpLearnset[] = { +static const u16 sGolemLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), LEVEL_UP_MOVE( 1, MOVE_MUD_SPORT), @@ -1030,7 +1030,7 @@ const u16 gGolemLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gPonytaLevelUpLearnset[] = { +static const u16 sPonytaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 5, MOVE_GROWL), LEVEL_UP_MOVE( 9, MOVE_TAIL_WHIP), @@ -1044,7 +1044,7 @@ const u16 gPonytaLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gRapidashLevelUpLearnset[] = { +static const u16 sRapidashLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), @@ -1062,7 +1062,7 @@ const u16 gRapidashLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSlowpokeLevelUpLearnset[] = { +static const u16 sSlowpokeLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_CURSE), LEVEL_UP_MOVE( 1, MOVE_YAWN), LEVEL_UP_MOVE( 1, MOVE_TACKLE), @@ -1076,7 +1076,7 @@ const u16 gSlowpokeLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSlowbroLevelUpLearnset[] = { +static const u16 sSlowbroLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_CURSE), LEVEL_UP_MOVE( 1, MOVE_YAWN), LEVEL_UP_MOVE( 1, MOVE_TACKLE), @@ -1092,7 +1092,7 @@ const u16 gSlowbroLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gMagnemiteLevelUpLearnset[] = { +static const u16 sMagnemiteLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_METAL_SOUND), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 6, MOVE_THUNDER_SHOCK), @@ -1107,7 +1107,7 @@ const u16 gMagnemiteLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gMagnetonLevelUpLearnset[] = { +static const u16 sMagnetonLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_METAL_SOUND), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_THUNDER_SHOCK), @@ -1124,7 +1124,7 @@ const u16 gMagnetonLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gFarfetchdLevelUpLearnset[] = { +static const u16 sFarfetchdLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_PECK), LEVEL_UP_MOVE( 6, MOVE_SAND_ATTACK), LEVEL_UP_MOVE(11, MOVE_LEER), @@ -1138,7 +1138,7 @@ const u16 gFarfetchdLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gDoduoLevelUpLearnset[] = { +static const u16 sDoduoLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_PECK), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 9, MOVE_PURSUIT), @@ -1151,7 +1151,7 @@ const u16 gDoduoLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gDodrioLevelUpLearnset[] = { +static const u16 sDodrioLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_PECK), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_PURSUIT), @@ -1166,7 +1166,7 @@ const u16 gDodrioLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSeelLevelUpLearnset[] = { +static const u16 sSeelLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_HEADBUTT), LEVEL_UP_MOVE( 9, MOVE_GROWL), LEVEL_UP_MOVE(17, MOVE_ICY_WIND), @@ -1178,7 +1178,7 @@ const u16 gSeelLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gDewgongLevelUpLearnset[] = { +static const u16 sDewgongLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_HEADBUTT), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_ICY_WIND), @@ -1194,7 +1194,7 @@ const u16 gDewgongLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gGrimerLevelUpLearnset[] = { +static const u16 sGrimerLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POISON_GAS), LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 4, MOVE_HARDEN), @@ -1208,7 +1208,7 @@ const u16 gGrimerLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gMukLevelUpLearnset[] = { +static const u16 sMukLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POISON_GAS), LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_HARDEN), @@ -1223,7 +1223,7 @@ const u16 gMukLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gShellderLevelUpLearnset[] = { +static const u16 sShellderLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_WITHDRAW), LEVEL_UP_MOVE( 9, MOVE_SUPERSONIC), @@ -1235,7 +1235,7 @@ const u16 gShellderLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gCloysterLevelUpLearnset[] = { +static const u16 sCloysterLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_WITHDRAW), LEVEL_UP_MOVE( 1, MOVE_SUPERSONIC), LEVEL_UP_MOVE( 1, MOVE_AURORA_BEAM), @@ -1245,7 +1245,7 @@ const u16 gCloysterLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gGastlyLevelUpLearnset[] = { +static const u16 sGastlyLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_HYPNOSIS), LEVEL_UP_MOVE( 1, MOVE_LICK), LEVEL_UP_MOVE( 8, MOVE_SPITE), @@ -1258,7 +1258,7 @@ const u16 gGastlyLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gHaunterLevelUpLearnset[] = { +static const u16 sHaunterLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_HYPNOSIS), LEVEL_UP_MOVE( 1, MOVE_LICK), LEVEL_UP_MOVE( 1, MOVE_SPITE), @@ -1273,7 +1273,7 @@ const u16 gHaunterLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gGengarLevelUpLearnset[] = { +static const u16 sGengarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_HYPNOSIS), LEVEL_UP_MOVE( 1, MOVE_LICK), LEVEL_UP_MOVE( 1, MOVE_SPITE), @@ -1288,7 +1288,7 @@ const u16 gGengarLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gOnixLevelUpLearnset[] = { +static const u16 sOnixLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_SCREECH), LEVEL_UP_MOVE( 9, MOVE_BIND), @@ -1303,7 +1303,7 @@ const u16 gOnixLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gDrowzeeLevelUpLearnset[] = { +static const u16 sDrowzeeLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_HYPNOSIS), LEVEL_UP_MOVE(10, MOVE_DISABLE), @@ -1317,7 +1317,7 @@ const u16 gDrowzeeLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gHypnoLevelUpLearnset[] = { +static const u16 sHypnoLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_HYPNOSIS), LEVEL_UP_MOVE( 1, MOVE_DISABLE), @@ -1333,7 +1333,7 @@ const u16 gHypnoLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gKrabbyLevelUpLearnset[] = { +static const u16 sKrabbyLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_BUBBLE), LEVEL_UP_MOVE( 5, MOVE_LEER), LEVEL_UP_MOVE(12, MOVE_VICE_GRIP), @@ -1346,7 +1346,7 @@ const u16 gKrabbyLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gKinglerLevelUpLearnset[] = { +static const u16 sKinglerLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_BUBBLE), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_VICE_GRIP), @@ -1361,7 +1361,7 @@ const u16 gKinglerLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gVoltorbLevelUpLearnset[] = { +static const u16 sVoltorbLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_CHARGE), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 8, MOVE_SCREECH), @@ -1376,7 +1376,7 @@ const u16 gVoltorbLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gElectrodeLevelUpLearnset[] = { +static const u16 sElectrodeLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_CHARGE), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_SCREECH), @@ -1393,7 +1393,7 @@ const u16 gElectrodeLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gExeggcuteLevelUpLearnset[] = { +static const u16 sExeggcuteLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_BARRAGE), LEVEL_UP_MOVE( 1, MOVE_UPROAR), LEVEL_UP_MOVE( 1, MOVE_HYPNOSIS), @@ -1407,7 +1407,7 @@ const u16 gExeggcuteLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gExeggutorLevelUpLearnset[] = { +static const u16 sExeggutorLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_BARRAGE), LEVEL_UP_MOVE( 1, MOVE_HYPNOSIS), LEVEL_UP_MOVE( 1, MOVE_CONFUSION), @@ -1416,7 +1416,7 @@ const u16 gExeggutorLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gCuboneLevelUpLearnset[] = { +static const u16 sCuboneLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 5, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 9, MOVE_BONE_CLUB), @@ -1432,7 +1432,7 @@ const u16 gCuboneLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gMarowakLevelUpLearnset[] = { +static const u16 sMarowakLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 1, MOVE_BONE_CLUB), @@ -1451,7 +1451,7 @@ const u16 gMarowakLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gHitmonleeLevelUpLearnset[] = { +static const u16 sHitmonleeLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_REVENGE), LEVEL_UP_MOVE( 1, MOVE_DOUBLE_KICK), LEVEL_UP_MOVE( 6, MOVE_MEDITATE), @@ -1468,7 +1468,7 @@ const u16 gHitmonleeLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gHitmonchanLevelUpLearnset[] = { +static const u16 sHitmonchanLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_REVENGE), LEVEL_UP_MOVE( 1, MOVE_COMET_PUNCH), LEVEL_UP_MOVE( 7, MOVE_AGILITY), @@ -1484,7 +1484,7 @@ const u16 gHitmonchanLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gLickitungLevelUpLearnset[] = { +static const u16 sLickitungLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_LICK), LEVEL_UP_MOVE( 7, MOVE_SUPERSONIC), LEVEL_UP_MOVE(12, MOVE_DEFENSE_CURL), @@ -1498,7 +1498,7 @@ const u16 gLickitungLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gKoffingLevelUpLearnset[] = { +static const u16 sKoffingLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POISON_GAS), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 9, MOVE_SMOG), @@ -1512,7 +1512,7 @@ const u16 gKoffingLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gWeezingLevelUpLearnset[] = { +static const u16 sWeezingLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POISON_GAS), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_SMOG), @@ -1528,7 +1528,7 @@ const u16 gWeezingLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gRhyhornLevelUpLearnset[] = { +static const u16 sRhyhornLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_HORN_ATTACK), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE(10, MOVE_STOMP), @@ -1542,7 +1542,7 @@ const u16 gRhyhornLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gRhydonLevelUpLearnset[] = { +static const u16 sRhydonLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_HORN_ATTACK), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 1, MOVE_STOMP), @@ -1558,7 +1558,7 @@ const u16 gRhydonLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gChanseyLevelUpLearnset[] = { +static const u16 sChanseyLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 5, MOVE_TAIL_WHIP), @@ -1574,7 +1574,7 @@ const u16 gChanseyLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gTangelaLevelUpLearnset[] = { +static const u16 sTangelaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_INGRAIN), LEVEL_UP_MOVE( 1, MOVE_CONSTRICT), LEVEL_UP_MOVE( 4, MOVE_SLEEP_POWDER), @@ -1590,7 +1590,7 @@ const u16 gTangelaLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gKangaskhanLevelUpLearnset[] = { +static const u16 sKangaskhanLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_COMET_PUNCH), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 7, MOVE_BITE), @@ -1604,7 +1604,7 @@ const u16 gKangaskhanLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gHorseaLevelUpLearnset[] = { +static const u16 sHorseaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_BUBBLE), LEVEL_UP_MOVE( 8, MOVE_SMOKESCREEN), LEVEL_UP_MOVE(15, MOVE_LEER), @@ -1616,7 +1616,7 @@ const u16 gHorseaLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSeadraLevelUpLearnset[] = { +static const u16 sSeadraLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_BUBBLE), LEVEL_UP_MOVE( 1, MOVE_SMOKESCREEN), LEVEL_UP_MOVE( 1, MOVE_LEER), @@ -1631,7 +1631,7 @@ const u16 gSeadraLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gGoldeenLevelUpLearnset[] = { +static const u16 sGoldeenLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_PECK), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 1, MOVE_WATER_SPORT), @@ -1645,7 +1645,7 @@ const u16 gGoldeenLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSeakingLevelUpLearnset[] = { +static const u16 sSeakingLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_PECK), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 1, MOVE_WATER_SPORT), @@ -1660,7 +1660,7 @@ const u16 gSeakingLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gStaryuLevelUpLearnset[] = { +static const u16 sStaryuLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_HARDEN), LEVEL_UP_MOVE( 6, MOVE_WATER_GUN), @@ -1676,7 +1676,7 @@ const u16 gStaryuLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gStarmieLevelUpLearnset[] = { +static const u16 sStarmieLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), LEVEL_UP_MOVE( 1, MOVE_RAPID_SPIN), LEVEL_UP_MOVE( 1, MOVE_RECOVER), @@ -1685,7 +1685,7 @@ const u16 gStarmieLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gMrmimeLevelUpLearnset[] = { +static const u16 sMrmimeLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_BARRIER), LEVEL_UP_MOVE( 5, MOVE_CONFUSION), LEVEL_UP_MOVE( 9, MOVE_SUBSTITUTE), @@ -1704,7 +1704,7 @@ const u16 gMrmimeLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gScytherLevelUpLearnset[] = { +static const u16 sScytherLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 6, MOVE_FOCUS_ENERGY), @@ -1719,7 +1719,7 @@ const u16 gScytherLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gJynxLevelUpLearnset[] = { +static const u16 sJynxLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_LICK), LEVEL_UP_MOVE( 1, MOVE_LOVELY_KISS), @@ -1736,7 +1736,7 @@ const u16 gJynxLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gElectabuzzLevelUpLearnset[] = { +static const u16 sElectabuzzLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_THUNDER_PUNCH), @@ -1749,7 +1749,7 @@ const u16 gElectabuzzLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gMagmarLevelUpLearnset[] = { +static const u16 sMagmarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_EMBER), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_SMOG), @@ -1765,7 +1765,7 @@ const u16 gMagmarLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gPinsirLevelUpLearnset[] = { +static const u16 sPinsirLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_VICE_GRIP), LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), LEVEL_UP_MOVE( 7, MOVE_BIND), @@ -1779,7 +1779,7 @@ const u16 gPinsirLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gTaurosLevelUpLearnset[] = { +static const u16 sTaurosLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 4, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 8, MOVE_RAGE), @@ -1792,14 +1792,14 @@ const u16 gTaurosLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gMagikarpLevelUpLearnset[] = { +static const u16 sMagikarpLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SPLASH), LEVEL_UP_MOVE(15, MOVE_TACKLE), LEVEL_UP_MOVE(30, MOVE_FLAIL), LEVEL_UP_END }; -const u16 gGyaradosLevelUpLearnset[] = { +static const u16 sGyaradosLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_THRASH), LEVEL_UP_MOVE(20, MOVE_BITE), LEVEL_UP_MOVE(25, MOVE_DRAGON_RAGE), @@ -1812,7 +1812,7 @@ const u16 gGyaradosLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gLaprasLevelUpLearnset[] = { +static const u16 sLaprasLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_SING), @@ -1828,12 +1828,12 @@ const u16 gLaprasLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gDittoLevelUpLearnset[] = { +static const u16 sDittoLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TRANSFORM), LEVEL_UP_END }; -const u16 gEeveeLevelUpLearnset[] = { +static const u16 sEeveeLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), @@ -1846,7 +1846,7 @@ const u16 gEeveeLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gVaporeonLevelUpLearnset[] = { +static const u16 sVaporeonLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), @@ -1861,7 +1861,7 @@ const u16 gVaporeonLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gJolteonLevelUpLearnset[] = { +static const u16 sJolteonLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), @@ -1876,7 +1876,7 @@ const u16 gJolteonLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gFlareonLevelUpLearnset[] = { +static const u16 sFlareonLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), @@ -1891,7 +1891,7 @@ const u16 gFlareonLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gPorygonLevelUpLearnset[] = { +static const u16 sPorygonLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_CONVERSION_2), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_CONVERSION), @@ -1906,7 +1906,7 @@ const u16 gPorygonLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gOmanyteLevelUpLearnset[] = { +static const u16 sOmanyteLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_CONSTRICT), LEVEL_UP_MOVE( 1, MOVE_WITHDRAW), LEVEL_UP_MOVE(13, MOVE_BITE), @@ -1920,7 +1920,7 @@ const u16 gOmanyteLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gOmastarLevelUpLearnset[] = { +static const u16 sOmastarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_CONSTRICT), LEVEL_UP_MOVE( 1, MOVE_WITHDRAW), LEVEL_UP_MOVE( 1, MOVE_BITE), @@ -1936,7 +1936,7 @@ const u16 gOmastarLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gKabutoLevelUpLearnset[] = { +static const u16 sKabutoLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_HARDEN), LEVEL_UP_MOVE(13, MOVE_ABSORB), @@ -1950,7 +1950,7 @@ const u16 gKabutoLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gKabutopsLevelUpLearnset[] = { +static const u16 sKabutopsLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_HARDEN), LEVEL_UP_MOVE( 1, MOVE_ABSORB), @@ -1966,7 +1966,7 @@ const u16 gKabutopsLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gAerodactylLevelUpLearnset[] = { +static const u16 sAerodactylLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_WING_ATTACK), LEVEL_UP_MOVE( 8, MOVE_AGILITY), LEVEL_UP_MOVE(15, MOVE_BITE), @@ -1978,7 +1978,7 @@ const u16 gAerodactylLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSnorlaxLevelUpLearnset[] = { +static const u16 sSnorlaxLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 6, MOVE_AMNESIA), LEVEL_UP_MOVE(10, MOVE_DEFENSE_CURL), @@ -1995,7 +1995,7 @@ const u16 gSnorlaxLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gArticunoLevelUpLearnset[] = { +static const u16 sArticunoLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_GUST), LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), LEVEL_UP_MOVE(13, MOVE_MIST), @@ -2008,7 +2008,7 @@ const u16 gArticunoLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gZapdosLevelUpLearnset[] = { +static const u16 sZapdosLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_PECK), LEVEL_UP_MOVE( 1, MOVE_THUNDER_SHOCK), LEVEL_UP_MOVE(13, MOVE_THUNDER_WAVE), @@ -2021,7 +2021,7 @@ const u16 gZapdosLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gMoltresLevelUpLearnset[] = { +static const u16 sMoltresLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_WING_ATTACK), LEVEL_UP_MOVE( 1, MOVE_EMBER), LEVEL_UP_MOVE(13, MOVE_FIRE_SPIN), @@ -2034,7 +2034,7 @@ const u16 gMoltresLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gDratiniLevelUpLearnset[] = { +static const u16 sDratiniLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_WRAP), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 8, MOVE_THUNDER_WAVE), @@ -2048,7 +2048,7 @@ const u16 gDratiniLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gDragonairLevelUpLearnset[] = { +static const u16 sDragonairLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_WRAP), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_THUNDER_WAVE), @@ -2064,7 +2064,7 @@ const u16 gDragonairLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gDragoniteLevelUpLearnset[] = { +static const u16 sDragoniteLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_WRAP), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_THUNDER_WAVE), @@ -2081,7 +2081,7 @@ const u16 gDragoniteLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gMewtwoLevelUpLearnset[] = { +static const u16 sMewtwoLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_CONFUSION), LEVEL_UP_MOVE( 1, MOVE_DISABLE), LEVEL_UP_MOVE(11, MOVE_BARRIER), @@ -2096,7 +2096,7 @@ const u16 gMewtwoLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gMewLevelUpLearnset[] = { +static const u16 sMewLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE(10, MOVE_TRANSFORM), LEVEL_UP_MOVE(20, MOVE_MEGA_PUNCH), @@ -2106,7 +2106,7 @@ const u16 gMewLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gChikoritaLevelUpLearnset[] = { +static const u16 sChikoritaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 8, MOVE_RAZOR_LEAF), @@ -2120,7 +2120,7 @@ const u16 gChikoritaLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gBayleefLevelUpLearnset[] = { +static const u16 sBayleefLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_RAZOR_LEAF), @@ -2136,7 +2136,7 @@ const u16 gBayleefLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gMeganiumLevelUpLearnset[] = { +static const u16 sMeganiumLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_RAZOR_LEAF), @@ -2152,7 +2152,7 @@ const u16 gMeganiumLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gCyndaquilLevelUpLearnset[] = { +static const u16 sCyndaquilLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 6, MOVE_SMOKESCREEN), @@ -2164,7 +2164,7 @@ const u16 gCyndaquilLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gQuilavaLevelUpLearnset[] = { +static const u16 sQuilavaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_SMOKESCREEN), @@ -2177,7 +2177,7 @@ const u16 gQuilavaLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gTyphlosionLevelUpLearnset[] = { +static const u16 sTyphlosionLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_SMOKESCREEN), @@ -2191,7 +2191,7 @@ const u16 gTyphlosionLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gTotodileLevelUpLearnset[] = { +static const u16 sTotodileLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 7, MOVE_RAGE), @@ -2204,7 +2204,7 @@ const u16 gTotodileLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gCroconawLevelUpLearnset[] = { +static const u16 sCroconawLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_RAGE), @@ -2218,7 +2218,7 @@ const u16 gCroconawLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gFeraligatrLevelUpLearnset[] = { +static const u16 sFeraligatrLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_RAGE), @@ -2233,7 +2233,7 @@ const u16 gFeraligatrLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSentretLevelUpLearnset[] = { +static const u16 sSentretLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 4, MOVE_DEFENSE_CURL), LEVEL_UP_MOVE( 7, MOVE_QUICK_ATTACK), @@ -2246,7 +2246,7 @@ const u16 gSentretLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gFurretLevelUpLearnset[] = { +static const u16 sFurretLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), @@ -2261,7 +2261,7 @@ const u16 gFurretLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gHoothootLevelUpLearnset[] = { +static const u16 sHoothootLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 6, MOVE_FORESIGHT), @@ -2274,7 +2274,7 @@ const u16 gHoothootLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gNoctowlLevelUpLearnset[] = { +static const u16 sNoctowlLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_FORESIGHT), @@ -2289,7 +2289,7 @@ const u16 gNoctowlLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gLedybaLevelUpLearnset[] = { +static const u16 sLedybaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 8, MOVE_SUPERSONIC), LEVEL_UP_MOVE(15, MOVE_COMET_PUNCH), @@ -2303,7 +2303,7 @@ const u16 gLedybaLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gLedianLevelUpLearnset[] = { +static const u16 sLedianLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_SUPERSONIC), LEVEL_UP_MOVE( 8, MOVE_SUPERSONIC), @@ -2318,7 +2318,7 @@ const u16 gLedianLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSpinarakLevelUpLearnset[] = { +static const u16 sSpinarakLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POISON_STING), LEVEL_UP_MOVE( 1, MOVE_STRING_SHOT), LEVEL_UP_MOVE( 6, MOVE_SCARY_FACE), @@ -2332,7 +2332,7 @@ const u16 gSpinarakLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gAriadosLevelUpLearnset[] = { +static const u16 sAriadosLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POISON_STING), LEVEL_UP_MOVE( 1, MOVE_STRING_SHOT), LEVEL_UP_MOVE( 1, MOVE_SCARY_FACE), @@ -2348,7 +2348,7 @@ const u16 gAriadosLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gCrobatLevelUpLearnset[] = { +static const u16 sCrobatLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCREECH), LEVEL_UP_MOVE( 1, MOVE_LEECH_LIFE), LEVEL_UP_MOVE( 1, MOVE_SUPERSONIC), @@ -2365,7 +2365,7 @@ const u16 gCrobatLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gChinchouLevelUpLearnset[] = { +static const u16 sChinchouLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_BUBBLE), LEVEL_UP_MOVE( 1, MOVE_THUNDER_WAVE), LEVEL_UP_MOVE( 5, MOVE_SUPERSONIC), @@ -2379,7 +2379,7 @@ const u16 gChinchouLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gLanturnLevelUpLearnset[] = { +static const u16 sLanturnLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_BUBBLE), LEVEL_UP_MOVE( 1, MOVE_THUNDER_WAVE), LEVEL_UP_MOVE( 1, MOVE_SUPERSONIC), @@ -2394,7 +2394,7 @@ const u16 gLanturnLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gPichuLevelUpLearnset[] = { +static const u16 sPichuLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_THUNDER_SHOCK), LEVEL_UP_MOVE( 1, MOVE_CHARM), LEVEL_UP_MOVE( 6, MOVE_TAIL_WHIP), @@ -2403,7 +2403,7 @@ const u16 gPichuLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gCleffaLevelUpLearnset[] = { +static const u16 sCleffaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_CHARM), LEVEL_UP_MOVE( 4, MOVE_ENCORE), @@ -2412,7 +2412,7 @@ const u16 gCleffaLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gIgglybuffLevelUpLearnset[] = { +static const u16 sIgglybuffLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SING), LEVEL_UP_MOVE( 1, MOVE_CHARM), LEVEL_UP_MOVE( 4, MOVE_DEFENSE_CURL), @@ -2421,7 +2421,7 @@ const u16 gIgglybuffLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gTogepiLevelUpLearnset[] = { +static const u16 sTogepiLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_CHARM), LEVEL_UP_MOVE( 6, MOVE_METRONOME), @@ -2435,7 +2435,7 @@ const u16 gTogepiLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gTogeticLevelUpLearnset[] = { +static const u16 sTogeticLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_CHARM), LEVEL_UP_MOVE( 6, MOVE_METRONOME), @@ -2449,7 +2449,7 @@ const u16 gTogeticLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gNatuLevelUpLearnset[] = { +static const u16 sNatuLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_PECK), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE(10, MOVE_NIGHT_SHADE), @@ -2461,7 +2461,7 @@ const u16 gNatuLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gXatuLevelUpLearnset[] = { +static const u16 sXatuLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_PECK), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE(10, MOVE_NIGHT_SHADE), @@ -2473,7 +2473,7 @@ const u16 gXatuLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gMareepLevelUpLearnset[] = { +static const u16 sMareepLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 9, MOVE_THUNDER_SHOCK), @@ -2484,7 +2484,7 @@ const u16 gMareepLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gFlaaffyLevelUpLearnset[] = { +static const u16 sFlaaffyLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_THUNDER_SHOCK), @@ -2496,7 +2496,7 @@ const u16 gFlaaffyLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gAmpharosLevelUpLearnset[] = { +static const u16 sAmpharosLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_THUNDER_SHOCK), @@ -2510,7 +2510,7 @@ const u16 gAmpharosLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gBellossomLevelUpLearnset[] = { +static const u16 sBellossomLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_ABSORB), LEVEL_UP_MOVE( 1, MOVE_SWEET_SCENT), LEVEL_UP_MOVE( 1, MOVE_STUN_SPORE), @@ -2520,7 +2520,7 @@ const u16 gBellossomLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gMarillLevelUpLearnset[] = { +static const u16 sMarillLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 3, MOVE_DEFENSE_CURL), LEVEL_UP_MOVE( 6, MOVE_TAIL_WHIP), @@ -2533,7 +2533,7 @@ const u16 gMarillLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gAzumarillLevelUpLearnset[] = { +static const u16 sAzumarillLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), @@ -2549,7 +2549,7 @@ const u16 gAzumarillLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSudowoodoLevelUpLearnset[] = { +static const u16 sSudowoodoLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_ROCK_THROW), LEVEL_UP_MOVE( 1, MOVE_MIMIC), LEVEL_UP_MOVE( 9, MOVE_FLAIL), @@ -2562,7 +2562,7 @@ const u16 gSudowoodoLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gPolitoedLevelUpLearnset[] = { +static const u16 sPolitoedLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), LEVEL_UP_MOVE( 1, MOVE_HYPNOSIS), LEVEL_UP_MOVE( 1, MOVE_DOUBLE_SLAP), @@ -2572,7 +2572,7 @@ const u16 gPolitoedLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gHoppipLevelUpLearnset[] = { +static const u16 sHoppipLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SPLASH), LEVEL_UP_MOVE( 5, MOVE_SYNTHESIS), LEVEL_UP_MOVE( 5, MOVE_TAIL_WHIP), @@ -2586,7 +2586,7 @@ const u16 gHoppipLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSkiploomLevelUpLearnset[] = { +static const u16 sSkiploomLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SPLASH), LEVEL_UP_MOVE( 1, MOVE_SYNTHESIS), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), @@ -2603,7 +2603,7 @@ const u16 gSkiploomLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gJumpluffLevelUpLearnset[] = { +static const u16 sJumpluffLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SPLASH), LEVEL_UP_MOVE( 1, MOVE_SYNTHESIS), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), @@ -2620,7 +2620,7 @@ const u16 gJumpluffLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gAipomLevelUpLearnset[] = { +static const u16 sAipomLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 6, MOVE_SAND_ATTACK), @@ -2634,7 +2634,7 @@ const u16 gAipomLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSunkernLevelUpLearnset[] = { +static const u16 sSunkernLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_ABSORB), LEVEL_UP_MOVE( 6, MOVE_GROWTH), LEVEL_UP_MOVE(13, MOVE_MEGA_DRAIN), @@ -2646,7 +2646,7 @@ const u16 gSunkernLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSunfloraLevelUpLearnset[] = { +static const u16 sSunfloraLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_ABSORB), LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 6, MOVE_GROWTH), @@ -2659,7 +2659,7 @@ const u16 gSunfloraLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gYanmaLevelUpLearnset[] = { +static const u16 sYanmaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_FORESIGHT), LEVEL_UP_MOVE( 7, MOVE_QUICK_ATTACK), @@ -2673,7 +2673,7 @@ const u16 gYanmaLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gWooperLevelUpLearnset[] = { +static const u16 sWooperLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE(11, MOVE_SLAM), @@ -2687,7 +2687,7 @@ const u16 gWooperLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gQuagsireLevelUpLearnset[] = { +static const u16 sQuagsireLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE(11, MOVE_SLAM), @@ -2701,7 +2701,7 @@ const u16 gQuagsireLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gEspeonLevelUpLearnset[] = { +static const u16 sEspeonLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), @@ -2716,7 +2716,7 @@ const u16 gEspeonLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gUmbreonLevelUpLearnset[] = { +static const u16 sUmbreonLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), @@ -2731,7 +2731,7 @@ const u16 gUmbreonLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gMurkrowLevelUpLearnset[] = { +static const u16 sMurkrowLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_PECK), LEVEL_UP_MOVE( 9, MOVE_ASTONISH), LEVEL_UP_MOVE(14, MOVE_PURSUIT), @@ -2743,7 +2743,7 @@ const u16 gMurkrowLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSlowkingLevelUpLearnset[] = { +static const u16 sSlowkingLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_CURSE), LEVEL_UP_MOVE( 1, MOVE_YAWN), LEVEL_UP_MOVE( 1, MOVE_TACKLE), @@ -2757,7 +2757,7 @@ const u16 gSlowkingLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gMisdreavusLevelUpLearnset[] = { +static const u16 sMisdreavusLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_PSYWAVE), LEVEL_UP_MOVE( 6, MOVE_SPITE), @@ -2771,12 +2771,12 @@ const u16 gMisdreavusLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gUnownLevelUpLearnset[] = { +static const u16 sUnownLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_HIDDEN_POWER), LEVEL_UP_END }; -const u16 gWobbuffetLevelUpLearnset[] = { +static const u16 sWobbuffetLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_COUNTER), LEVEL_UP_MOVE( 1, MOVE_MIRROR_COAT), LEVEL_UP_MOVE( 1, MOVE_SAFEGUARD), @@ -2784,7 +2784,7 @@ const u16 gWobbuffetLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gGirafarigLevelUpLearnset[] = { +static const u16 sGirafarigLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 7, MOVE_ASTONISH), @@ -2798,7 +2798,7 @@ const u16 gGirafarigLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gPinecoLevelUpLearnset[] = { +static const u16 sPinecoLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_PROTECT), LEVEL_UP_MOVE( 8, MOVE_SELF_DESTRUCT), @@ -2811,7 +2811,7 @@ const u16 gPinecoLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gForretressLevelUpLearnset[] = { +static const u16 sForretressLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_PROTECT), LEVEL_UP_MOVE( 1, MOVE_SELF_DESTRUCT), @@ -2825,7 +2825,7 @@ const u16 gForretressLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gDunsparceLevelUpLearnset[] = { +static const u16 sDunsparceLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_RAGE), LEVEL_UP_MOVE( 4, MOVE_DEFENSE_CURL), LEVEL_UP_MOVE(11, MOVE_YAWN), @@ -2838,7 +2838,7 @@ const u16 gDunsparceLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gGligarLevelUpLearnset[] = { +static const u16 sGligarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POISON_STING), LEVEL_UP_MOVE( 6, MOVE_SAND_ATTACK), LEVEL_UP_MOVE(13, MOVE_HARDEN), @@ -2850,7 +2850,7 @@ const u16 gGligarLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSteelixLevelUpLearnset[] = { +static const u16 sSteelixLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_SCREECH), LEVEL_UP_MOVE( 9, MOVE_BIND), @@ -2865,7 +2865,7 @@ const u16 gSteelixLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSnubbullLevelUpLearnset[] = { +static const u16 sSnubbullLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_SCARY_FACE), LEVEL_UP_MOVE( 4, MOVE_TAIL_WHIP), @@ -2879,7 +2879,7 @@ const u16 gSnubbullLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gGranbullLevelUpLearnset[] = { +static const u16 sGranbullLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_SCARY_FACE), LEVEL_UP_MOVE( 4, MOVE_TAIL_WHIP), @@ -2893,7 +2893,7 @@ const u16 gGranbullLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gQwilfishLevelUpLearnset[] = { +static const u16 sQwilfishLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SPIKES), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_POISON_STING), @@ -2906,7 +2906,7 @@ const u16 gQwilfishLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gScizorLevelUpLearnset[] = { +static const u16 sScizorLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 6, MOVE_FOCUS_ENERGY), @@ -2921,7 +2921,7 @@ const u16 gScizorLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gShuckleLevelUpLearnset[] = { +static const u16 sShuckleLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_CONSTRICT), LEVEL_UP_MOVE( 1, MOVE_WITHDRAW), LEVEL_UP_MOVE( 9, MOVE_WRAP), @@ -2932,7 +2932,7 @@ const u16 gShuckleLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gHeracrossLevelUpLearnset[] = { +static const u16 sHeracrossLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 6, MOVE_HORN_ATTACK), @@ -2946,7 +2946,7 @@ const u16 gHeracrossLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSneaselLevelUpLearnset[] = { +static const u16 sSneaselLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_TAUNT), @@ -2962,7 +2962,7 @@ const u16 gSneaselLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gTeddiursaLevelUpLearnset[] = { +static const u16 sTeddiursaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 7, MOVE_LICK), @@ -2976,7 +2976,7 @@ const u16 gTeddiursaLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gUrsaringLevelUpLearnset[] = { +static const u16 sUrsaringLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_LICK), @@ -2992,7 +2992,7 @@ const u16 gUrsaringLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSlugmaLevelUpLearnset[] = { +static const u16 sSlugmaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_YAWN), LEVEL_UP_MOVE( 1, MOVE_SMOG), LEVEL_UP_MOVE( 8, MOVE_EMBER), @@ -3005,7 +3005,7 @@ const u16 gSlugmaLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gMagcargoLevelUpLearnset[] = { +static const u16 sMagcargoLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_YAWN), LEVEL_UP_MOVE( 1, MOVE_SMOG), LEVEL_UP_MOVE( 1, MOVE_EMBER), @@ -3020,7 +3020,7 @@ const u16 gMagcargoLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSwinubLevelUpLearnset[] = { +static const u16 sSwinubLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_ODOR_SLEUTH), LEVEL_UP_MOVE(10, MOVE_POWDER_SNOW), @@ -3032,7 +3032,7 @@ const u16 gSwinubLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gPiloswineLevelUpLearnset[] = { +static const u16 sPiloswineLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_HORN_ATTACK), LEVEL_UP_MOVE( 1, MOVE_ODOR_SLEUTH), LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), @@ -3047,7 +3047,7 @@ const u16 gPiloswineLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gCorsolaLevelUpLearnset[] = { +static const u16 sCorsolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 6, MOVE_HARDEN), LEVEL_UP_MOVE(12, MOVE_BUBBLE), @@ -3061,7 +3061,7 @@ const u16 gCorsolaLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gRemoraidLevelUpLearnset[] = { +static const u16 sRemoraidLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), LEVEL_UP_MOVE(11, MOVE_LOCK_ON), LEVEL_UP_MOVE(22, MOVE_PSYBEAM), @@ -3073,7 +3073,7 @@ const u16 gRemoraidLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gOctilleryLevelUpLearnset[] = { +static const u16 sOctilleryLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), LEVEL_UP_MOVE(11, MOVE_CONSTRICT), LEVEL_UP_MOVE(22, MOVE_PSYBEAM), @@ -3086,12 +3086,12 @@ const u16 gOctilleryLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gDelibirdLevelUpLearnset[] = { +static const u16 sDelibirdLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_PRESENT), LEVEL_UP_END }; -const u16 gMantineLevelUpLearnset[] = { +static const u16 sMantineLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_BUBBLE), LEVEL_UP_MOVE( 8, MOVE_SUPERSONIC), @@ -3104,7 +3104,7 @@ const u16 gMantineLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSkarmoryLevelUpLearnset[] = { +static const u16 sSkarmoryLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_PECK), LEVEL_UP_MOVE(10, MOVE_SAND_ATTACK), @@ -3118,7 +3118,7 @@ const u16 gSkarmoryLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gHoundourLevelUpLearnset[] = { +static const u16 sHoundourLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_EMBER), LEVEL_UP_MOVE( 7, MOVE_HOWL), @@ -3132,7 +3132,7 @@ const u16 gHoundourLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gHoundoomLevelUpLearnset[] = { +static const u16 sHoundoomLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_EMBER), LEVEL_UP_MOVE( 1, MOVE_HOWL), @@ -3147,7 +3147,7 @@ const u16 gHoundoomLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gKingdraLevelUpLearnset[] = { +static const u16 sKingdraLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_BUBBLE), LEVEL_UP_MOVE( 1, MOVE_SMOKESCREEN), LEVEL_UP_MOVE( 1, MOVE_LEER), @@ -3162,7 +3162,7 @@ const u16 gKingdraLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gPhanpyLevelUpLearnset[] = { +static const u16 sPhanpyLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_ODOR_SLEUTH), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_GROWL), @@ -3175,7 +3175,7 @@ const u16 gPhanpyLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gDonphanLevelUpLearnset[] = { +static const u16 sDonphanLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_ODOR_SLEUTH), LEVEL_UP_MOVE( 1, MOVE_HORN_ATTACK), LEVEL_UP_MOVE( 1, MOVE_GROWL), @@ -3188,7 +3188,7 @@ const u16 gDonphanLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gPorygon2LevelUpLearnset[] = { +static const u16 sPorygon2LevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_CONVERSION_2), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_CONVERSION), @@ -3203,7 +3203,7 @@ const u16 gPorygon2LevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gStantlerLevelUpLearnset[] = { +static const u16 sStantlerLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 7, MOVE_LEER), LEVEL_UP_MOVE(13, MOVE_ASTONISH), @@ -3216,7 +3216,7 @@ const u16 gStantlerLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSmeargleLevelUpLearnset[] = { +static const u16 sSmeargleLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SKETCH), LEVEL_UP_MOVE(11, MOVE_SKETCH), LEVEL_UP_MOVE(21, MOVE_SKETCH), @@ -3230,12 +3230,12 @@ const u16 gSmeargleLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gTyrogueLevelUpLearnset[] = { +static const u16 sTyrogueLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_END }; -const u16 gHitmontopLevelUpLearnset[] = { +static const u16 sHitmontopLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_REVENGE), LEVEL_UP_MOVE( 1, MOVE_ROLLING_KICK), LEVEL_UP_MOVE( 7, MOVE_FOCUS_ENERGY), @@ -3250,7 +3250,7 @@ const u16 gHitmontopLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSmoochumLevelUpLearnset[] = { +static const u16 sSmoochumLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_LICK), LEVEL_UP_MOVE( 9, MOVE_SWEET_KISS), @@ -3265,7 +3265,7 @@ const u16 gSmoochumLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gElekidLevelUpLearnset[] = { +static const u16 sElekidLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 9, MOVE_THUNDER_PUNCH), @@ -3277,7 +3277,7 @@ const u16 gElekidLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gMagbyLevelUpLearnset[] = { +static const u16 sMagbyLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_EMBER), LEVEL_UP_MOVE( 7, MOVE_LEER), LEVEL_UP_MOVE(13, MOVE_SMOG), @@ -3290,7 +3290,7 @@ const u16 gMagbyLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gMiltankLevelUpLearnset[] = { +static const u16 sMiltankLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 4, MOVE_GROWL), LEVEL_UP_MOVE( 8, MOVE_DEFENSE_CURL), @@ -3303,7 +3303,7 @@ const u16 gMiltankLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gBlisseyLevelUpLearnset[] = { +static const u16 sBlisseyLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 4, MOVE_TAIL_WHIP), @@ -3319,7 +3319,7 @@ const u16 gBlisseyLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gRaikouLevelUpLearnset[] = { +static const u16 sRaikouLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_BITE), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE(11, MOVE_THUNDER_SHOCK), @@ -3333,7 +3333,7 @@ const u16 gRaikouLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gEnteiLevelUpLearnset[] = { +static const u16 sEnteiLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_BITE), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE(11, MOVE_EMBER), @@ -3347,7 +3347,7 @@ const u16 gEnteiLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSuicuneLevelUpLearnset[] = { +static const u16 sSuicuneLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_BITE), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE(11, MOVE_BUBBLE_BEAM), @@ -3361,7 +3361,7 @@ const u16 gSuicuneLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gLarvitarLevelUpLearnset[] = { +static const u16 sLarvitarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_BITE), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 8, MOVE_SANDSTORM), @@ -3375,7 +3375,7 @@ const u16 gLarvitarLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gPupitarLevelUpLearnset[] = { +static const u16 sPupitarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_BITE), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_SANDSTORM), @@ -3391,7 +3391,7 @@ const u16 gPupitarLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gTyranitarLevelUpLearnset[] = { +static const u16 sTyranitarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_BITE), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_SANDSTORM), @@ -3407,7 +3407,7 @@ const u16 gTyranitarLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gLugiaLevelUpLearnset[] = { +static const u16 sLugiaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_WHIRLWIND), LEVEL_UP_MOVE(11, MOVE_SAFEGUARD), LEVEL_UP_MOVE(22, MOVE_GUST), @@ -3421,7 +3421,7 @@ const u16 gLugiaLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gHoOhLevelUpLearnset[] = { +static const u16 sHoOhLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_WHIRLWIND), LEVEL_UP_MOVE(11, MOVE_SAFEGUARD), LEVEL_UP_MOVE(22, MOVE_GUST), @@ -3435,7 +3435,7 @@ const u16 gHoOhLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gCelebiLevelUpLearnset[] = { +static const u16 sCelebiLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_LEECH_SEED), LEVEL_UP_MOVE( 1, MOVE_CONFUSION), LEVEL_UP_MOVE( 1, MOVE_RECOVER), @@ -3448,132 +3448,132 @@ const u16 gCelebiLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSpecies252LevelUpLearnset[] = { +static const u16 sSpecies252LevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_END }; -const u16 gSpecies253LevelUpLearnset[] = { +static const u16 sSpecies253LevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_END }; -const u16 gSpecies254LevelUpLearnset[] = { +static const u16 sSpecies254LevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_END }; -const u16 gSpecies255LevelUpLearnset[] = { +static const u16 sSpecies255LevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_END }; -const u16 gSpecies256LevelUpLearnset[] = { +static const u16 sSpecies256LevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_END }; -const u16 gSpecies257LevelUpLearnset[] = { +static const u16 sSpecies257LevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_END }; -const u16 gSpecies258LevelUpLearnset[] = { +static const u16 sSpecies258LevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_END }; -const u16 gSpecies259LevelUpLearnset[] = { +static const u16 sSpecies259LevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_END }; -const u16 gSpecies260LevelUpLearnset[] = { +static const u16 sSpecies260LevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_END }; -const u16 gSpecies261LevelUpLearnset[] = { +static const u16 sSpecies261LevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_END }; -const u16 gSpecies262LevelUpLearnset[] = { +static const u16 sSpecies262LevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_END }; -const u16 gSpecies263LevelUpLearnset[] = { +static const u16 sSpecies263LevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_END }; -const u16 gSpecies264LevelUpLearnset[] = { +static const u16 sSpecies264LevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_END }; -const u16 gSpecies265LevelUpLearnset[] = { +static const u16 sSpecies265LevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_END }; -const u16 gSpecies266LevelUpLearnset[] = { +static const u16 sSpecies266LevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_END }; -const u16 gSpecies267LevelUpLearnset[] = { +static const u16 sSpecies267LevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_END }; -const u16 gSpecies268LevelUpLearnset[] = { +static const u16 sSpecies268LevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_END }; -const u16 gSpecies269LevelUpLearnset[] = { +static const u16 sSpecies269LevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_END }; -const u16 gSpecies270LevelUpLearnset[] = { +static const u16 sSpecies270LevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_END }; -const u16 gSpecies271LevelUpLearnset[] = { +static const u16 sSpecies271LevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_END }; -const u16 gSpecies272LevelUpLearnset[] = { +static const u16 sSpecies272LevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_END }; -const u16 gSpecies273LevelUpLearnset[] = { +static const u16 sSpecies273LevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_END }; -const u16 gSpecies274LevelUpLearnset[] = { +static const u16 sSpecies274LevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_END }; -const u16 gSpecies275LevelUpLearnset[] = { +static const u16 sSpecies275LevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_END }; -const u16 gSpecies276LevelUpLearnset[] = { +static const u16 sSpecies276LevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_END }; -const u16 gTreeckoLevelUpLearnset[] = { +static const u16 sTreeckoLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 6, MOVE_ABSORB), @@ -3588,7 +3588,7 @@ const u16 gTreeckoLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gGrovyleLevelUpLearnset[] = { +static const u16 sGrovyleLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_ABSORB), @@ -3606,7 +3606,7 @@ const u16 gGrovyleLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSceptileLevelUpLearnset[] = { +static const u16 sSceptileLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_ABSORB), @@ -3624,7 +3624,7 @@ const u16 gSceptileLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gTorchicLevelUpLearnset[] = { +static const u16 sTorchicLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 7, MOVE_FOCUS_ENERGY), @@ -3639,7 +3639,7 @@ const u16 gTorchicLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gCombuskenLevelUpLearnset[] = { +static const u16 sCombuskenLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), @@ -3657,7 +3657,7 @@ const u16 gCombuskenLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gBlazikenLevelUpLearnset[] = { +static const u16 sBlazikenLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_FIRE_PUNCH), LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_GROWL), @@ -3677,7 +3677,7 @@ const u16 gBlazikenLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gMudkipLevelUpLearnset[] = { +static const u16 sMudkipLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 6, MOVE_MUD_SLAP), @@ -3693,7 +3693,7 @@ const u16 gMudkipLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gMarshtompLevelUpLearnset[] = { +static const u16 sMarshtompLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_MUD_SLAP), @@ -3712,7 +3712,7 @@ const u16 gMarshtompLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSwampertLevelUpLearnset[] = { +static const u16 sSwampertLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_MUD_SLAP), @@ -3731,7 +3731,7 @@ const u16 gSwampertLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gPoochyenaLevelUpLearnset[] = { +static const u16 sPoochyenaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 5, MOVE_HOWL), LEVEL_UP_MOVE( 9, MOVE_SAND_ATTACK), @@ -3747,7 +3747,7 @@ const u16 gPoochyenaLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gMightyenaLevelUpLearnset[] = { +static const u16 sMightyenaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_HOWL), LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), @@ -3766,7 +3766,7 @@ const u16 gMightyenaLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gZigzagoonLevelUpLearnset[] = { +static const u16 sZigzagoonLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 5, MOVE_TAIL_WHIP), @@ -3782,7 +3782,7 @@ const u16 gZigzagoonLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gLinooneLevelUpLearnset[] = { +static const u16 sLinooneLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), @@ -3800,20 +3800,20 @@ const u16 gLinooneLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gWurmpleLevelUpLearnset[] = { +static const u16 sWurmpleLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_STRING_SHOT), LEVEL_UP_MOVE( 5, MOVE_POISON_STING), LEVEL_UP_END }; -const u16 gSilcoonLevelUpLearnset[] = { +static const u16 sSilcoonLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_HARDEN), LEVEL_UP_MOVE( 7, MOVE_HARDEN), LEVEL_UP_END }; -const u16 gBeautiflyLevelUpLearnset[] = { +static const u16 sBeautiflyLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_ABSORB), LEVEL_UP_MOVE(10, MOVE_ABSORB), LEVEL_UP_MOVE(13, MOVE_GUST), @@ -3827,13 +3827,13 @@ const u16 gBeautiflyLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gCascoonLevelUpLearnset[] = { +static const u16 sCascoonLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_HARDEN), LEVEL_UP_MOVE( 7, MOVE_HARDEN), LEVEL_UP_END }; -const u16 gDustoxLevelUpLearnset[] = { +static const u16 sDustoxLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_CONFUSION), LEVEL_UP_MOVE(10, MOVE_CONFUSION), LEVEL_UP_MOVE(13, MOVE_GUST), @@ -3847,7 +3847,7 @@ const u16 gDustoxLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gLotadLevelUpLearnset[] = { +static const u16 sLotadLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_ASTONISH), LEVEL_UP_MOVE( 3, MOVE_GROWL), LEVEL_UP_MOVE( 7, MOVE_ABSORB), @@ -3858,7 +3858,7 @@ const u16 gLotadLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gLombreLevelUpLearnset[] = { +static const u16 sLombreLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_ASTONISH), LEVEL_UP_MOVE( 3, MOVE_GROWL), LEVEL_UP_MOVE( 7, MOVE_ABSORB), @@ -3872,7 +3872,7 @@ const u16 gLombreLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gLudicoloLevelUpLearnset[] = { +static const u16 sLudicoloLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_ASTONISH), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_ABSORB), @@ -3880,7 +3880,7 @@ const u16 gLudicoloLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSeedotLevelUpLearnset[] = { +static const u16 sSeedotLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_BIDE), LEVEL_UP_MOVE( 3, MOVE_HARDEN), LEVEL_UP_MOVE( 7, MOVE_GROWTH), @@ -3891,7 +3891,7 @@ const u16 gSeedotLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gNuzleafLevelUpLearnset[] = { +static const u16 sNuzleafLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 3, MOVE_HARDEN), LEVEL_UP_MOVE( 7, MOVE_GROWTH), @@ -3905,7 +3905,7 @@ const u16 gNuzleafLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gShiftryLevelUpLearnset[] = { +static const u16 sShiftryLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_HARDEN), LEVEL_UP_MOVE( 1, MOVE_GROWTH), @@ -3913,7 +3913,7 @@ const u16 gShiftryLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gNincadaLevelUpLearnset[] = { +static const u16 sNincadaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_HARDEN), LEVEL_UP_MOVE( 5, MOVE_LEECH_LIFE), @@ -3927,7 +3927,7 @@ const u16 gNincadaLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gNinjaskLevelUpLearnset[] = { +static const u16 sNinjaskLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_HARDEN), LEVEL_UP_MOVE( 1, MOVE_LEECH_LIFE), @@ -3946,7 +3946,7 @@ const u16 gNinjaskLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gShedinjaLevelUpLearnset[] = { +static const u16 sShedinjaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_HARDEN), LEVEL_UP_MOVE( 5, MOVE_LEECH_LIFE), @@ -3960,7 +3960,7 @@ const u16 gShedinjaLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gTaillowLevelUpLearnset[] = { +static const u16 sTaillowLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_PECK), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 4, MOVE_FOCUS_ENERGY), @@ -3973,7 +3973,7 @@ const u16 gTaillowLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSwellowLevelUpLearnset[] = { +static const u16 sSwellowLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_PECK), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), @@ -3988,7 +3988,7 @@ const u16 gSwellowLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gShroomishLevelUpLearnset[] = { +static const u16 sShroomishLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_ABSORB), LEVEL_UP_MOVE( 4, MOVE_TACKLE), LEVEL_UP_MOVE( 7, MOVE_STUN_SPORE), @@ -4002,7 +4002,7 @@ const u16 gShroomishLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gBreloomLevelUpLearnset[] = { +static const u16 sBreloomLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_ABSORB), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_STUN_SPORE), @@ -4020,7 +4020,7 @@ const u16 gBreloomLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSpindaLevelUpLearnset[] = { +static const u16 sSpindaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 5, MOVE_UPROAR), LEVEL_UP_MOVE(12, MOVE_FAINT_ATTACK), @@ -4035,7 +4035,7 @@ const u16 gSpindaLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gWingullLevelUpLearnset[] = { +static const u16 sWingullLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), LEVEL_UP_MOVE( 7, MOVE_SUPERSONIC), @@ -4047,7 +4047,7 @@ const u16 gWingullLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gPelipperLevelUpLearnset[] = { +static const u16 sPelipperLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), LEVEL_UP_MOVE( 1, MOVE_WATER_SPORT), @@ -4064,7 +4064,7 @@ const u16 gPelipperLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSurskitLevelUpLearnset[] = { +static const u16 sSurskitLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_BUBBLE), LEVEL_UP_MOVE( 7, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE(13, MOVE_SWEET_SCENT), @@ -4076,7 +4076,7 @@ const u16 gSurskitLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gMasquerainLevelUpLearnset[] = { +static const u16 sMasquerainLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_BUBBLE), LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE( 1, MOVE_SWEET_SCENT), @@ -4092,7 +4092,7 @@ const u16 gMasquerainLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gWailmerLevelUpLearnset[] = { +static const u16 sWailmerLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SPLASH), LEVEL_UP_MOVE( 5, MOVE_GROWL), LEVEL_UP_MOVE(10, MOVE_WATER_GUN), @@ -4108,7 +4108,7 @@ const u16 gWailmerLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gWailordLevelUpLearnset[] = { +static const u16 sWailordLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SPLASH), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), @@ -4127,7 +4127,7 @@ const u16 gWailordLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSkittyLevelUpLearnset[] = { +static const u16 sSkittyLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 3, MOVE_TAIL_WHIP), @@ -4143,7 +4143,7 @@ const u16 gSkittyLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gDelcattyLevelUpLearnset[] = { +static const u16 sDelcattyLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_ATTRACT), LEVEL_UP_MOVE( 1, MOVE_SING), @@ -4151,7 +4151,7 @@ const u16 gDelcattyLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gKecleonLevelUpLearnset[] = { +static const u16 sKecleonLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_THIEF), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 1, MOVE_ASTONISH), @@ -4168,7 +4168,7 @@ const u16 gKecleonLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gBaltoyLevelUpLearnset[] = { +static const u16 sBaltoyLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_CONFUSION), LEVEL_UP_MOVE( 3, MOVE_HARDEN), LEVEL_UP_MOVE( 5, MOVE_RAPID_SPIN), @@ -4183,7 +4183,7 @@ const u16 gBaltoyLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gClaydolLevelUpLearnset[] = { +static const u16 sClaydolLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TELEPORT), LEVEL_UP_MOVE( 1, MOVE_CONFUSION), LEVEL_UP_MOVE( 1, MOVE_HARDEN), @@ -4202,7 +4202,7 @@ const u16 gClaydolLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gNosepassLevelUpLearnset[] = { +static const u16 sNosepassLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 7, MOVE_HARDEN), LEVEL_UP_MOVE(13, MOVE_ROCK_THROW), @@ -4216,7 +4216,7 @@ const u16 gNosepassLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gTorkoalLevelUpLearnset[] = { +static const u16 sTorkoalLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_EMBER), LEVEL_UP_MOVE( 4, MOVE_SMOG), LEVEL_UP_MOVE( 7, MOVE_CURSE), @@ -4232,7 +4232,7 @@ const u16 gTorkoalLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSableyeLevelUpLearnset[] = { +static const u16 sSableyeLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 5, MOVE_FORESIGHT), @@ -4249,7 +4249,7 @@ const u16 gSableyeLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gBarboachLevelUpLearnset[] = { +static const u16 sBarboachLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_MUD_SLAP), LEVEL_UP_MOVE( 6, MOVE_MUD_SPORT), LEVEL_UP_MOVE( 6, MOVE_WATER_SPORT), @@ -4264,7 +4264,7 @@ const u16 gBarboachLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gWhiscashLevelUpLearnset[] = { +static const u16 sWhiscashLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TICKLE), LEVEL_UP_MOVE( 1, MOVE_MUD_SLAP), LEVEL_UP_MOVE( 1, MOVE_MUD_SPORT), @@ -4282,7 +4282,7 @@ const u16 gWhiscashLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gLuvdiscLevelUpLearnset[] = { +static const u16 sLuvdiscLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 4, MOVE_CHARM), LEVEL_UP_MOVE(12, MOVE_WATER_GUN), @@ -4295,7 +4295,7 @@ const u16 gLuvdiscLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gCorphishLevelUpLearnset[] = { +static const u16 sCorphishLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_BUBBLE), LEVEL_UP_MOVE( 7, MOVE_HARDEN), LEVEL_UP_MOVE(10, MOVE_VICE_GRIP), @@ -4310,7 +4310,7 @@ const u16 gCorphishLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gCrawdauntLevelUpLearnset[] = { +static const u16 sCrawdauntLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_BUBBLE), LEVEL_UP_MOVE( 1, MOVE_HARDEN), LEVEL_UP_MOVE( 1, MOVE_VICE_GRIP), @@ -4328,14 +4328,14 @@ const u16 gCrawdauntLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gFeebasLevelUpLearnset[] = { +static const u16 sFeebasLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SPLASH), LEVEL_UP_MOVE(15, MOVE_TACKLE), LEVEL_UP_MOVE(30, MOVE_FLAIL), LEVEL_UP_END }; -const u16 gMiloticLevelUpLearnset[] = { +static const u16 sMiloticLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), LEVEL_UP_MOVE( 5, MOVE_WRAP), LEVEL_UP_MOVE(10, MOVE_WATER_SPORT), @@ -4350,7 +4350,7 @@ const u16 gMiloticLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gCarvanhaLevelUpLearnset[] = { +static const u16 sCarvanhaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_BITE), LEVEL_UP_MOVE( 7, MOVE_RAGE), @@ -4364,7 +4364,7 @@ const u16 gCarvanhaLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSharpedoLevelUpLearnset[] = { +static const u16 sSharpedoLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_BITE), LEVEL_UP_MOVE( 1, MOVE_RAGE), @@ -4382,7 +4382,7 @@ const u16 gSharpedoLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gTrapinchLevelUpLearnset[] = { +static const u16 sTrapinchLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_BITE), LEVEL_UP_MOVE( 9, MOVE_SAND_ATTACK), LEVEL_UP_MOVE(17, MOVE_FAINT_ATTACK), @@ -4394,7 +4394,7 @@ const u16 gTrapinchLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gVibravaLevelUpLearnset[] = { +static const u16 sVibravaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_BITE), LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), LEVEL_UP_MOVE( 1, MOVE_FAINT_ATTACK), @@ -4410,7 +4410,7 @@ const u16 gVibravaLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gFlygonLevelUpLearnset[] = { +static const u16 sFlygonLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_BITE), LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), LEVEL_UP_MOVE( 1, MOVE_FAINT_ATTACK), @@ -4426,7 +4426,7 @@ const u16 gFlygonLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gMakuhitaLevelUpLearnset[] = { +static const u16 sMakuhitaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), LEVEL_UP_MOVE( 4, MOVE_SAND_ATTACK), @@ -4443,7 +4443,7 @@ const u16 gMakuhitaLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gHariyamaLevelUpLearnset[] = { +static const u16 sHariyamaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), @@ -4462,7 +4462,7 @@ const u16 gHariyamaLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gElectrikeLevelUpLearnset[] = { +static const u16 sElectrikeLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 4, MOVE_THUNDER_WAVE), LEVEL_UP_MOVE( 9, MOVE_LEER), @@ -4477,7 +4477,7 @@ const u16 gElectrikeLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gManectricLevelUpLearnset[] = { +static const u16 sManectricLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_THUNDER_WAVE), LEVEL_UP_MOVE( 1, MOVE_LEER), @@ -4495,7 +4495,7 @@ const u16 gManectricLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gNumelLevelUpLearnset[] = { +static const u16 sNumelLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE(11, MOVE_EMBER), @@ -4509,7 +4509,7 @@ const u16 gNumelLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gCameruptLevelUpLearnset[] = { +static const u16 sCameruptLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_EMBER), @@ -4526,7 +4526,7 @@ const u16 gCameruptLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSphealLevelUpLearnset[] = { +static const u16 sSphealLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), @@ -4542,7 +4542,7 @@ const u16 gSphealLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSealeoLevelUpLearnset[] = { +static const u16 sSealeoLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), @@ -4559,7 +4559,7 @@ const u16 gSealeoLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gWalreinLevelUpLearnset[] = { +static const u16 sWalreinLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), @@ -4576,7 +4576,7 @@ const u16 gWalreinLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gCacneaLevelUpLearnset[] = { +static const u16 sCacneaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POISON_STING), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 5, MOVE_ABSORB), @@ -4593,7 +4593,7 @@ const u16 gCacneaLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gCacturneLevelUpLearnset[] = { +static const u16 sCacturneLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POISON_STING), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_ABSORB), @@ -4612,7 +4612,7 @@ const u16 gCacturneLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSnoruntLevelUpLearnset[] = { +static const u16 sSnoruntLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 7, MOVE_DOUBLE_TEAM), @@ -4627,7 +4627,7 @@ const u16 gSnoruntLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gGlalieLevelUpLearnset[] = { +static const u16 sGlalieLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_DOUBLE_TEAM), @@ -4645,7 +4645,7 @@ const u16 gGlalieLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gLunatoneLevelUpLearnset[] = { +static const u16 sLunatoneLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_HARDEN), LEVEL_UP_MOVE( 7, MOVE_CONFUSION), @@ -4659,7 +4659,7 @@ const u16 gLunatoneLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSolrockLevelUpLearnset[] = { +static const u16 sSolrockLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_HARDEN), LEVEL_UP_MOVE( 7, MOVE_CONFUSION), @@ -4673,7 +4673,7 @@ const u16 gSolrockLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gAzurillLevelUpLearnset[] = { +static const u16 sAzurillLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SPLASH), LEVEL_UP_MOVE( 3, MOVE_CHARM), LEVEL_UP_MOVE( 6, MOVE_TAIL_WHIP), @@ -4683,7 +4683,7 @@ const u16 gAzurillLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSpoinkLevelUpLearnset[] = { +static const u16 sSpoinkLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SPLASH), LEVEL_UP_MOVE( 7, MOVE_PSYWAVE), LEVEL_UP_MOVE(10, MOVE_ODOR_SLEUTH), @@ -4698,7 +4698,7 @@ const u16 gSpoinkLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gGrumpigLevelUpLearnset[] = { +static const u16 sGrumpigLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SPLASH), LEVEL_UP_MOVE( 1, MOVE_PSYWAVE), LEVEL_UP_MOVE( 1, MOVE_ODOR_SLEUTH), @@ -4716,7 +4716,7 @@ const u16 gGrumpigLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gPlusleLevelUpLearnset[] = { +static const u16 sPlusleLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 4, MOVE_THUNDER_WAVE), LEVEL_UP_MOVE(10, MOVE_QUICK_ATTACK), @@ -4731,7 +4731,7 @@ const u16 gPlusleLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gMinunLevelUpLearnset[] = { +static const u16 sMinunLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 4, MOVE_THUNDER_WAVE), LEVEL_UP_MOVE(10, MOVE_QUICK_ATTACK), @@ -4746,7 +4746,7 @@ const u16 gMinunLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gMawileLevelUpLearnset[] = { +static const u16 sMawileLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_ASTONISH), LEVEL_UP_MOVE( 6, MOVE_FAKE_TEARS), LEVEL_UP_MOVE(11, MOVE_BITE), @@ -4762,7 +4762,7 @@ const u16 gMawileLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gMedititeLevelUpLearnset[] = { +static const u16 sMedititeLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_BIDE), LEVEL_UP_MOVE( 4, MOVE_MEDITATE), LEVEL_UP_MOVE( 9, MOVE_CONFUSION), @@ -4777,7 +4777,7 @@ const u16 gMedititeLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gMedichamLevelUpLearnset[] = { +static const u16 sMedichamLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_FIRE_PUNCH), LEVEL_UP_MOVE( 1, MOVE_THUNDER_PUNCH), LEVEL_UP_MOVE( 1, MOVE_ICE_PUNCH), @@ -4798,7 +4798,7 @@ const u16 gMedichamLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSwabluLevelUpLearnset[] = { +static const u16 sSwabluLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_PECK), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 8, MOVE_ASTONISH), @@ -4813,7 +4813,7 @@ const u16 gSwabluLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gAltariaLevelUpLearnset[] = { +static const u16 sAltariaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_PECK), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_ASTONISH), @@ -4832,7 +4832,7 @@ const u16 gAltariaLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gWynautLevelUpLearnset[] = { +static const u16 sWynautLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SPLASH), LEVEL_UP_MOVE( 1, MOVE_CHARM), LEVEL_UP_MOVE( 1, MOVE_ENCORE), @@ -4843,7 +4843,7 @@ const u16 gWynautLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gDuskullLevelUpLearnset[] = { +static const u16 sDuskullLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_NIGHT_SHADE), LEVEL_UP_MOVE( 5, MOVE_DISABLE), @@ -4858,7 +4858,7 @@ const u16 gDuskullLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gDusclopsLevelUpLearnset[] = { +static const u16 sDusclopsLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_BIND), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_NIGHT_SHADE), @@ -4876,7 +4876,7 @@ const u16 gDusclopsLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gRoseliaLevelUpLearnset[] = { +static const u16 sRoseliaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_ABSORB), LEVEL_UP_MOVE( 5, MOVE_GROWTH), LEVEL_UP_MOVE( 9, MOVE_POISON_STING), @@ -4895,7 +4895,7 @@ const u16 gRoseliaLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSlakothLevelUpLearnset[] = { +static const u16 sSlakothLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_YAWN), LEVEL_UP_MOVE( 7, MOVE_ENCORE), @@ -4908,7 +4908,7 @@ const u16 gSlakothLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gVigorothLevelUpLearnset[] = { +static const u16 sVigorothLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), LEVEL_UP_MOVE( 1, MOVE_ENCORE), @@ -4924,7 +4924,7 @@ const u16 gVigorothLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSlakingLevelUpLearnset[] = { +static const u16 sSlakingLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_YAWN), LEVEL_UP_MOVE( 1, MOVE_ENCORE), @@ -4940,7 +4940,7 @@ const u16 gSlakingLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gGulpinLevelUpLearnset[] = { +static const u16 sGulpinLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 6, MOVE_YAWN), LEVEL_UP_MOVE( 9, MOVE_POISON_GAS), @@ -4955,7 +4955,7 @@ const u16 gGulpinLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSwalotLevelUpLearnset[] = { +static const u16 sSwalotLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_YAWN), LEVEL_UP_MOVE( 1, MOVE_POISON_GAS), @@ -4974,7 +4974,7 @@ const u16 gSwalotLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gTropiusLevelUpLearnset[] = { +static const u16 sTropiusLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_GUST), LEVEL_UP_MOVE( 7, MOVE_GROWTH), @@ -4989,7 +4989,7 @@ const u16 gTropiusLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gWhismurLevelUpLearnset[] = { +static const u16 sWhismurLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 5, MOVE_UPROAR), LEVEL_UP_MOVE(11, MOVE_ASTONISH), @@ -5004,7 +5004,7 @@ const u16 gWhismurLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gLoudredLevelUpLearnset[] = { +static const u16 sLoudredLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_UPROAR), LEVEL_UP_MOVE( 1, MOVE_ASTONISH), @@ -5022,7 +5022,7 @@ const u16 gLoudredLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gExploudLevelUpLearnset[] = { +static const u16 sExploudLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_UPROAR), LEVEL_UP_MOVE( 1, MOVE_ASTONISH), @@ -5041,7 +5041,7 @@ const u16 gExploudLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gClamperlLevelUpLearnset[] = { +static const u16 sClamperlLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_CLAMP), LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), LEVEL_UP_MOVE( 1, MOVE_WHIRLPOOL), @@ -5049,7 +5049,7 @@ const u16 gClamperlLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gHuntailLevelUpLearnset[] = { +static const u16 sHuntailLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_WHIRLPOOL), LEVEL_UP_MOVE( 8, MOVE_BITE), LEVEL_UP_MOVE(15, MOVE_SCREECH), @@ -5061,7 +5061,7 @@ const u16 gHuntailLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gGorebyssLevelUpLearnset[] = { +static const u16 sGorebyssLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_WHIRLPOOL), LEVEL_UP_MOVE( 8, MOVE_CONFUSION), LEVEL_UP_MOVE(15, MOVE_AGILITY), @@ -5073,7 +5073,7 @@ const u16 gGorebyssLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gAbsolLevelUpLearnset[] = { +static const u16 sAbsolLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 5, MOVE_LEER), LEVEL_UP_MOVE( 9, MOVE_TAUNT), @@ -5088,7 +5088,7 @@ const u16 gAbsolLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gShuppetLevelUpLearnset[] = { +static const u16 sShuppetLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_KNOCK_OFF), LEVEL_UP_MOVE( 8, MOVE_SCREECH), LEVEL_UP_MOVE(13, MOVE_NIGHT_SHADE), @@ -5102,7 +5102,7 @@ const u16 gShuppetLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gBanetteLevelUpLearnset[] = { +static const u16 sBanetteLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_KNOCK_OFF), LEVEL_UP_MOVE( 1, MOVE_SCREECH), LEVEL_UP_MOVE( 1, MOVE_NIGHT_SHADE), @@ -5119,7 +5119,7 @@ const u16 gBanetteLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSeviperLevelUpLearnset[] = { +static const u16 sSeviperLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_WRAP), LEVEL_UP_MOVE( 7, MOVE_LICK), LEVEL_UP_MOVE(10, MOVE_BITE), @@ -5133,7 +5133,7 @@ const u16 gSeviperLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gZangooseLevelUpLearnset[] = { +static const u16 sZangooseLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 4, MOVE_LEER), LEVEL_UP_MOVE( 7, MOVE_QUICK_ATTACK), @@ -5148,7 +5148,7 @@ const u16 gZangooseLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gRelicanthLevelUpLearnset[] = { +static const u16 sRelicanthLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_HARDEN), LEVEL_UP_MOVE( 8, MOVE_WATER_GUN), @@ -5163,7 +5163,7 @@ const u16 gRelicanthLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gAronLevelUpLearnset[] = { +static const u16 sAronLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 4, MOVE_HARDEN), LEVEL_UP_MOVE( 7, MOVE_MUD_SLAP), @@ -5179,7 +5179,7 @@ const u16 gAronLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gLaironLevelUpLearnset[] = { +static const u16 sLaironLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_HARDEN), LEVEL_UP_MOVE( 1, MOVE_MUD_SLAP), @@ -5198,7 +5198,7 @@ const u16 gLaironLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gAggronLevelUpLearnset[] = { +static const u16 sAggronLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_HARDEN), LEVEL_UP_MOVE( 1, MOVE_MUD_SLAP), @@ -5217,7 +5217,7 @@ const u16 gAggronLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gCastformLevelUpLearnset[] = { +static const u16 sCastformLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE(10, MOVE_WATER_GUN), LEVEL_UP_MOVE(10, MOVE_EMBER), @@ -5229,7 +5229,7 @@ const u16 gCastformLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gVolbeatLevelUpLearnset[] = { +static const u16 sVolbeatLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 5, MOVE_CONFUSE_RAY), LEVEL_UP_MOVE( 9, MOVE_DOUBLE_TEAM), @@ -5243,7 +5243,7 @@ const u16 gVolbeatLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gIllumiseLevelUpLearnset[] = { +static const u16 sIllumiseLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 5, MOVE_SWEET_SCENT), LEVEL_UP_MOVE( 9, MOVE_CHARM), @@ -5257,7 +5257,7 @@ const u16 gIllumiseLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gLileepLevelUpLearnset[] = { +static const u16 sLileepLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_ASTONISH), LEVEL_UP_MOVE( 8, MOVE_CONSTRICT), LEVEL_UP_MOVE(15, MOVE_ACID), @@ -5271,7 +5271,7 @@ const u16 gLileepLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gCradilyLevelUpLearnset[] = { +static const u16 sCradilyLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_ASTONISH), LEVEL_UP_MOVE( 1, MOVE_CONSTRICT), LEVEL_UP_MOVE( 1, MOVE_ACID), @@ -5288,7 +5288,7 @@ const u16 gCradilyLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gAnorithLevelUpLearnset[] = { +static const u16 sAnorithLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 7, MOVE_HARDEN), LEVEL_UP_MOVE(13, MOVE_MUD_SPORT), @@ -5302,7 +5302,7 @@ const u16 gAnorithLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gArmaldoLevelUpLearnset[] = { +static const u16 sArmaldoLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_HARDEN), LEVEL_UP_MOVE( 1, MOVE_MUD_SPORT), @@ -5319,7 +5319,7 @@ const u16 gArmaldoLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gRaltsLevelUpLearnset[] = { +static const u16 sRaltsLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 6, MOVE_CONFUSION), LEVEL_UP_MOVE(11, MOVE_DOUBLE_TEAM), @@ -5333,7 +5333,7 @@ const u16 gRaltsLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gKirliaLevelUpLearnset[] = { +static const u16 sKirliaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_CONFUSION), LEVEL_UP_MOVE( 1, MOVE_DOUBLE_TEAM), @@ -5350,7 +5350,7 @@ const u16 gKirliaLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gGardevoirLevelUpLearnset[] = { +static const u16 sGardevoirLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_CONFUSION), LEVEL_UP_MOVE( 1, MOVE_DOUBLE_TEAM), @@ -5367,7 +5367,7 @@ const u16 gGardevoirLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gBagonLevelUpLearnset[] = { +static const u16 sBagonLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_RAGE), LEVEL_UP_MOVE( 5, MOVE_BITE), LEVEL_UP_MOVE( 9, MOVE_LEER), @@ -5382,7 +5382,7 @@ const u16 gBagonLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gShelgonLevelUpLearnset[] = { +static const u16 sShelgonLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_RAGE), LEVEL_UP_MOVE( 1, MOVE_BITE), LEVEL_UP_MOVE( 1, MOVE_LEER), @@ -5401,7 +5401,7 @@ const u16 gShelgonLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSalamenceLevelUpLearnset[] = { +static const u16 sSalamenceLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_RAGE), LEVEL_UP_MOVE( 1, MOVE_BITE), LEVEL_UP_MOVE( 1, MOVE_LEER), @@ -5421,12 +5421,12 @@ const u16 gSalamenceLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gBeldumLevelUpLearnset[] = { +static const u16 sBeldumLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TAKE_DOWN), LEVEL_UP_END }; -const u16 gMetangLevelUpLearnset[] = { +static const u16 sMetangLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TAKE_DOWN), LEVEL_UP_MOVE(20, MOVE_CONFUSION), LEVEL_UP_MOVE(20, MOVE_METAL_CLAW), @@ -5440,7 +5440,7 @@ const u16 gMetangLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gMetagrossLevelUpLearnset[] = { +static const u16 sMetagrossLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TAKE_DOWN), LEVEL_UP_MOVE( 1, MOVE_CONFUSION), LEVEL_UP_MOVE( 1, MOVE_METAL_CLAW), @@ -5457,7 +5457,7 @@ const u16 gMetagrossLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gRegirockLevelUpLearnset[] = { +static const u16 sRegirockLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_EXPLOSION), LEVEL_UP_MOVE( 9, MOVE_ROCK_THROW), LEVEL_UP_MOVE(17, MOVE_CURSE), @@ -5470,7 +5470,7 @@ const u16 gRegirockLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gRegiceLevelUpLearnset[] = { +static const u16 sRegiceLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_EXPLOSION), LEVEL_UP_MOVE( 9, MOVE_ICY_WIND), LEVEL_UP_MOVE(17, MOVE_CURSE), @@ -5483,7 +5483,7 @@ const u16 gRegiceLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gRegisteelLevelUpLearnset[] = { +static const u16 sRegisteelLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_EXPLOSION), LEVEL_UP_MOVE( 9, MOVE_METAL_CLAW), LEVEL_UP_MOVE(17, MOVE_CURSE), @@ -5497,7 +5497,7 @@ const u16 gRegisteelLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gKyogreLevelUpLearnset[] = { +static const u16 sKyogreLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_WATER_PULSE), LEVEL_UP_MOVE( 5, MOVE_SCARY_FACE), LEVEL_UP_MOVE(15, MOVE_ANCIENT_POWER), @@ -5512,7 +5512,7 @@ const u16 gKyogreLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gGroudonLevelUpLearnset[] = { +static const u16 sGroudonLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_MUD_SHOT), LEVEL_UP_MOVE( 5, MOVE_SCARY_FACE), LEVEL_UP_MOVE(15, MOVE_ANCIENT_POWER), @@ -5527,7 +5527,7 @@ const u16 gGroudonLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gRayquazaLevelUpLearnset[] = { +static const u16 sRayquazaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TWISTER), LEVEL_UP_MOVE( 5, MOVE_SCARY_FACE), LEVEL_UP_MOVE(15, MOVE_ANCIENT_POWER), @@ -5542,7 +5542,7 @@ const u16 gRayquazaLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gLatiasLevelUpLearnset[] = { +static const u16 sLatiasLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_PSYWAVE), LEVEL_UP_MOVE( 5, MOVE_WISH), LEVEL_UP_MOVE(10, MOVE_HELPING_HAND), @@ -5557,7 +5557,7 @@ const u16 gLatiasLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gLatiosLevelUpLearnset[] = { +static const u16 sLatiosLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_PSYWAVE), LEVEL_UP_MOVE( 5, MOVE_MEMENTO), LEVEL_UP_MOVE(10, MOVE_HELPING_HAND), @@ -5572,7 +5572,7 @@ const u16 gLatiosLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gJirachiLevelUpLearnset[] = { +static const u16 sJirachiLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_WISH), LEVEL_UP_MOVE( 1, MOVE_CONFUSION), LEVEL_UP_MOVE( 5, MOVE_REST), @@ -5588,7 +5588,7 @@ const u16 gJirachiLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gDeoxysLevelUpLearnset[] = { +static const u16 sDeoxysLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_WRAP), LEVEL_UP_MOVE( 5, MOVE_NIGHT_SHADE), @@ -5604,7 +5604,7 @@ const u16 gDeoxysLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gChimechoLevelUpLearnset[] = { +static const u16 sChimechoLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_WRAP), LEVEL_UP_MOVE( 6, MOVE_GROWL), LEVEL_UP_MOVE( 9, MOVE_ASTONISH), diff --git a/src/pokemon.c b/src/pokemon.c index cd7e45758a..7c010cd391 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -2089,7 +2089,7 @@ void GiveBoxMonInitialMoveset(struct BoxPokemon *boxMon) s32 level = GetLevelFromBoxMonExp(boxMon); s32 i; - for (i = 0; gLevelUpLearnsets[species][i] != (u16)-1; i++) + for (i = 0; gLevelUpLearnsets[species][i] != LEVEL_UP_END; i++) { u16 moveLevel; u16 move; @@ -2101,7 +2101,7 @@ void GiveBoxMonInitialMoveset(struct BoxPokemon *boxMon) move = (gLevelUpLearnsets[species][i] & 0x1FF); - if (GiveMoveToBoxMon(boxMon, move) == (u16)-1) + if (GiveMoveToBoxMon(boxMon, move) == 0xFFFF) DeleteFirstMoveAndGiveMoveToBoxMon(boxMon, move); } } @@ -2123,7 +2123,7 @@ u16 MonTryLearningNewMove(struct Pokemon *mon, bool8 firstMove) while ((gLevelUpLearnsets[species][sLearningMoveTableID] & 0xFE00) != (level << 9)) { sLearningMoveTableID++; - if (gLevelUpLearnsets[species][sLearningMoveTableID] == 0xFFFF) + if (gLevelUpLearnsets[species][sLearningMoveTableID] == LEVEL_UP_END) return 0; } } From 3a72e6a80d52215533936f92efbe8e4f3454b7e6 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Sun, 12 Aug 2018 11:39:09 +0200 Subject: [PATCH 080/234] Easy chat review changes --- include/global.h | 4 ++-- src/easy_chat.c | 17 +++++++---------- src/lilycove_lady.c | 22 +++++++++++----------- 3 files changed, 20 insertions(+), 23 deletions(-) diff --git a/include/global.h b/include/global.h index a0722bcc9b..eaac5ea891 100644 --- a/include/global.h +++ b/include/global.h @@ -719,8 +719,8 @@ struct LilycoveLadyQuiz /*0x000*/ u8 id; /*0x001*/ u8 phase; /*0x002*/ u16 unk_002[9]; - /*0x014*/ u16 unk_014[1]; - /*0x016*/ u16 unk_016[1]; + /*0x014*/ u16 unk_014; + /*0x016*/ u16 unk_016; /*0x018*/ u8 playerName[8]; /*0x020*/ u16 playerTrainerId[4]; /*0x028*/ u16 itemId; diff --git a/src/easy_chat.c b/src/easy_chat.c index 26a69f9ff7..fbf4c0e70a 100644 --- a/src/easy_chat.c +++ b/src/easy_chat.c @@ -166,7 +166,7 @@ static void sub_811A2FC(u8 taskId) { case 0: SetVBlankCallback(sub_811A290); - BlendPalettes(-1, 16, 0); + BlendPalettes(0xFFFFFFFF, 16, 0); BeginNormalPaletteFade(-1, -1, 16, 0, 0); data[EZCHAT_TASK_STATE] = 5; break; @@ -341,7 +341,7 @@ void easy_chat_input_maybe(void) sizeParam = 2; break; case 15: - words = gSaveBlock1Ptr->lilycoveLady.quiz.unk_016; + words = &gSaveBlock1Ptr->lilycoveLady.quiz.unk_016; break; case 16: return; @@ -349,7 +349,7 @@ void easy_chat_input_maybe(void) words = gSaveBlock1Ptr->lilycoveLady.quiz.unk_002; break; case 18: - words = gSaveBlock1Ptr->lilycoveLady.quiz.unk_014; + words = &gSaveBlock1Ptr->lilycoveLady.quiz.unk_014; break; case 19: words = (u16 *)&gSaveBlock2Ptr->field_DC[0].field_0[0x28]; @@ -378,7 +378,7 @@ static void sub_811A7E4(void) if (!gPaletteFade.active) { lilycoveLady = &gSaveBlock1Ptr->lilycoveLady; - lilycoveLady->quiz.unk_016[0] = -1; + lilycoveLady->quiz.unk_016 = -1; overworld_free_bg_tilemaps(); sub_811A8F0(); } @@ -420,7 +420,7 @@ static void sub_811A8A4(u16 word) void sub_811A8CC(void) { - sub_811A20C(0xF, gSaveBlock1Ptr->lilycoveLady.quiz.unk_016, CB2_ReturnToFieldContinueScript, 3); + sub_811A20C(0xF, &gSaveBlock1Ptr->lilycoveLady.quiz.unk_016, CB2_ReturnToFieldContinueScript, 3); } void sub_811A8F0(void) @@ -430,7 +430,7 @@ void sub_811A8F0(void) void sub_811A914(void) { - sub_811A20C(0x12, gSaveBlock1Ptr->lilycoveLady.quiz.unk_014, CB2_ReturnToFieldContinueScript, 3); + sub_811A20C(0x12, &gSaveBlock1Ptr->lilycoveLady.quiz.unk_014, CB2_ReturnToFieldContinueScript, 3); } void sub_811A938(void) @@ -494,10 +494,7 @@ static bool8 EasyChat_AllocateResources(u8 kind, u16 *words, u8 sizeParam) static void EasyChat_FreeResources(void) { if (gUnknown_0203A118 != NULL) - { - free(gUnknown_0203A118); - gUnknown_0203A118 = NULL; - } + FREE_AND_SET_NULL(gUnknown_0203A118); } static u16 sub_811AAAC(void) diff --git a/src/lilycove_lady.c b/src/lilycove_lady.c index 159ede91ed..1012a8e087 100644 --- a/src/lilycove_lady.c +++ b/src/lilycove_lady.c @@ -508,7 +508,7 @@ static void sub_818DF00(void) { gUnknown_0203CD68->unk_002[i] = gUnknown_0860B1A4[v0][i]; } - gUnknown_0203CD68->unk_014[0] = sUnknown_0860B1E4[v0]; + gUnknown_0203CD68->unk_014 = sUnknown_0860B1E4[v0]; gUnknown_0203CD68->itemId = sUnknown_0860B204[v0]; gUnknown_0203CD68->unk_02b = v0; gUnknown_0203CD68->playerName[0] = EOS; @@ -525,8 +525,8 @@ static void SetLilycoveQuizLady(void) { gUnknown_0203CD68->unk_002[i] = -1; } - gUnknown_0203CD68->unk_014[0] = -1; - gUnknown_0203CD68->unk_016[0] = -1; + gUnknown_0203CD68->unk_014 = -1; + gUnknown_0203CD68->unk_016 = -1; for (i = 0; i < 4; i ++) { gUnknown_0203CD68->playerTrainerId[i] = 0; @@ -544,7 +544,7 @@ static void sub_818E004(void) gUnknown_0203CD68->id = LILYCOVE_LADY_QUIZ; gUnknown_0203CD68->phase = 0; gUnknown_0203CD68->unk_02a = 0; - gUnknown_0203CD68->unk_016[0] = -1; + gUnknown_0203CD68->unk_016 = -1; } u8 sub_818E038(void) @@ -572,7 +572,7 @@ u8 sub_818E06C(void) struct LilycoveLadyQuiz *quiz; quiz = &gSaveBlock1Ptr->lilycoveLady.quiz; - if (sub_811F8D8(quiz->unk_014[0]) == 0) + if (sub_811F8D8(quiz->unk_014) == 0) { i = quiz->unk_02b; do @@ -586,7 +586,7 @@ u8 sub_818E06C(void) { quiz->unk_002[j] = gUnknown_0860B1A4[i][j]; } - quiz->unk_014[0] = sUnknown_0860B1E4[i]; + quiz->unk_014 = sUnknown_0860B1E4[i]; quiz->itemId = sUnknown_0860B204[i]; quiz->unk_02b = i; quiz->playerName[0] = EOS; @@ -699,8 +699,8 @@ void sub_818E2FC(void) bool8 sub_818E308(void) { gUnknown_0203CD68 = &gSaveBlock1Ptr->lilycoveLady.quiz; - CopyEasyChatWord(gStringVar1, gUnknown_0203CD68->unk_014[0]); - CopyEasyChatWord(gStringVar2, gUnknown_0203CD68->unk_016[0]); + CopyEasyChatWord(gStringVar1, gUnknown_0203CD68->unk_014); + CopyEasyChatWord(gStringVar2, gUnknown_0203CD68->unk_016); return StringCompare(gStringVar1, gStringVar2) ? FALSE : TRUE; } @@ -725,7 +725,7 @@ void sub_818E39C(void) void sub_818E3BC(void) { gUnknown_0203CD68 = &gSaveBlock1Ptr->lilycoveLady.quiz; - gUnknown_0203CD68->unk_016[0] = -1; + gUnknown_0203CD68->unk_016 = -1; } void sub_818E3E0(void) @@ -756,7 +756,7 @@ void sub_818E430(void) { gUnknown_0203CD68->unk_002[i] = -1; } - gUnknown_0203CD68->unk_014[0] = -1; + gUnknown_0203CD68->unk_014 = -1; } void sub_818E47C(void) @@ -793,7 +793,7 @@ void sub_818E510(void) void sub_818E538(void) { gUnknown_0203CD68 = &gSaveBlock1Ptr->lilycoveLady.quiz; - CopyEasyChatWord(gStringVar3, gUnknown_0203CD68->unk_014[0]); + CopyEasyChatWord(gStringVar3, gUnknown_0203CD68->unk_014); } void sub_818E564(void) From 1229bead2ea61019955ededd5f06e64d7e776155 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Sun, 12 Aug 2018 11:50:26 +0200 Subject: [PATCH 081/234] slot machine review changes --- src/slot_machine.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/slot_machine.c b/src/slot_machine.c index fd4726879a..5422103c3c 100644 --- a/src/slot_machine.c +++ b/src/slot_machine.c @@ -319,7 +319,7 @@ void Task_FadeToSlotMachine(u8 taskId) switch (gTasks[taskId].tState) { case 0: - BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); gTasks[taskId].tState++; break; case 1: @@ -487,10 +487,10 @@ void SlotMachineSetup_2_1(void) SetGpuReg(REG_OFFSET_BG2VOFS, 0); SetGpuReg(REG_OFFSET_BG3HOFS, 0); SetGpuReg(REG_OFFSET_BG3VOFS, 0); - SetGpuReg(REG_OFFSET_WININ, 0x3f); - SetGpuReg(REG_OFFSET_WINOUT, 0x3f); + SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG0 | WININ_WIN0_BG1 | WININ_WIN0_BG2 | WININ_WIN0_BG3 | WININ_WIN0_OBJ | WININ_WIN0_CLR); + SetGpuReg(REG_OFFSET_WINOUT, WINOUT_WIN01_BG0 | WINOUT_WIN01_BG1 | WINOUT_WIN01_BG2 | WINOUT_WIN01_BG3 | WINOUT_WIN01_OBJ | WINOUT_WIN01_CLR); SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG3 | BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_OBJ); - SetGpuReg(REG_OFFSET_BLDALPHA, 0x809); + SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(9, 8)); } extern const s16 gUnknown_083ECCF8[][2]; From e787d5b60230550a4a8f1f3251b90e141bfcc5ff Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Sun, 12 Aug 2018 12:08:51 +0200 Subject: [PATCH 082/234] Contest review changes --- src/contest.c | 49 +++++++++++++++++++++++-------------------------- 1 file changed, 23 insertions(+), 26 deletions(-) diff --git a/src/contest.c b/src/contest.c index b2d35f4505..8513fc4a9a 100644 --- a/src/contest.c +++ b/src/contest.c @@ -42,10 +42,7 @@ #include "script_pokemon_util_80F87D8.h" #include "international_string_util.h" #include "data2.h" - -#define DESTROY_POINTER(ptr) \ - free(ptr); \ - ptr = NULL; +#include "constants/rgb.h" extern void (*gFieldCallback)(void); @@ -265,8 +262,8 @@ void sub_80D7678(void) SetGpuReg(REG_OFFSET_BLDCNT, 0); SetGpuReg(REG_OFFSET_BLDALPHA, 0); SetGpuReg(REG_OFFSET_BLDY, 0); - SetGpuReg(REG_OFFSET_WININ, 0x3F3F); - SetGpuReg(REG_OFFSET_WINOUT, 0x3F3F); + SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG0 | WININ_WIN0_BG1 | WININ_WIN0_BG2 | WININ_WIN0_BG3 | WININ_WIN0_OBJ | WININ_WIN0_CLR | WININ_WIN1_BG0 | WININ_WIN1_BG1 | WININ_WIN1_BG2 | WININ_WIN1_BG3 | WININ_WIN1_OBJ | WININ_WIN1_CLR); + SetGpuReg(REG_OFFSET_WINOUT, WINOUT_WIN01_BG0 | WINOUT_WIN01_BG1 | WINOUT_WIN01_BG2 | WINOUT_WIN01_BG3 | WINOUT_WIN01_OBJ | WINOUT_WIN01_CLR | WINOUT_WINOBJ_BG0 | WINOUT_WINOBJ_BG1 | WINOUT_WINOBJ_BG2 | WINOUT_WINOBJ_BG3 | WINOUT_WINOBJ_OBJ | WINOUT_WINOBJ_CLR); SetGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_BG0_ON | DISPCNT_BG1_ON | DISPCNT_BG2_ON | DISPCNT_BG3_ON | DISPCNT_OBJ_ON | DISPCNT_WIN0_ON | DISPCNT_WIN1_ON); gBattle_BG0_X = 0; @@ -333,10 +330,10 @@ void sub_80D782C(void) s32 i; LoadPalette(gUnknown_08587C30, 0xf0, 0x20); - FillPalette(0, 0, 2); + FillPalette(RGB_BLACK, 0, 2); for (i = 10; i < 14; i++) LoadPalette(gPlttBufferUnfaded + 241, 240 + i, 2); - FillPalette(0x7E3F, 0xF3, 2); + FillPalette(RGB(31, 17, 31), 0xF3, 2); } void sub_80D787C(void) @@ -398,23 +395,23 @@ void sub_80D7988(void) void sub_80D7A5C(void) { - DESTROY_POINTER(gContestResources->field_0); - DESTROY_POINTER(gContestResources->field_4); - DESTROY_POINTER(gContestResources->field_8); - DESTROY_POINTER(gContestResources->field_C); - DESTROY_POINTER(gContestResources->field_10); - DESTROY_POINTER(gContestResources->field_14); - DESTROY_POINTER(gContestResources->field_18); - DESTROY_POINTER(gContestResources->field_1c); - DESTROY_POINTER(gContestResources->field_20); - DESTROY_POINTER(gContestResources->field_24[0]); - DESTROY_POINTER(gContestResources->field_24[1]); - DESTROY_POINTER(gContestResources->field_24[2]); - DESTROY_POINTER(gContestResources->field_24[3]); - DESTROY_POINTER(gContestResources->field_34); - DESTROY_POINTER(gContestResources->field_38); - DESTROY_POINTER(gContestResources->field_3c); - DESTROY_POINTER(gContestResources); + FREE_AND_SET_NULL(gContestResources->field_0); + FREE_AND_SET_NULL(gContestResources->field_4); + FREE_AND_SET_NULL(gContestResources->field_8); + FREE_AND_SET_NULL(gContestResources->field_C); + FREE_AND_SET_NULL(gContestResources->field_10); + FREE_AND_SET_NULL(gContestResources->field_14); + FREE_AND_SET_NULL(gContestResources->field_18); + FREE_AND_SET_NULL(gContestResources->field_1c); + FREE_AND_SET_NULL(gContestResources->field_20); + FREE_AND_SET_NULL(gContestResources->field_24[0]); + FREE_AND_SET_NULL(gContestResources->field_24[1]); + FREE_AND_SET_NULL(gContestResources->field_24[2]); + FREE_AND_SET_NULL(gContestResources->field_24[3]); + FREE_AND_SET_NULL(gContestResources->field_34); + FREE_AND_SET_NULL(gContestResources->field_38); + FREE_AND_SET_NULL(gContestResources->field_3c); + FREE_AND_SET_NULL(gContestResources); gUnknown_0202305C = NULL; gUnknown_02023060 = NULL; } @@ -427,7 +424,7 @@ void sub_80D7B24(void) sContestBgCopyFlags = 0; sub_80D7988(); AllocateMonSpritesGfx(); - DESTROY_POINTER(gMonSpritesGfxPtr->firstDecompressed); + FREE_AND_SET_NULL(gMonSpritesGfxPtr->firstDecompressed); gMonSpritesGfxPtr->firstDecompressed = AllocZeroed(0x4000); SetVBlankCallback(NULL); sub_80D779C(); From 7dac22314ee647645771ec713407bb83b3ec3de4 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Sun, 12 Aug 2018 16:40:31 +0200 Subject: [PATCH 083/234] Decompile a bit of pokemon storarage system --- asm/pokemon_storage_system.s | 1533 +----------------------------- data/event_scripts.s | 2 +- data/pokemon_storage_system.s | 12 - data/specials.inc | 2 +- include/pc_screen_effect.h | 16 + include/pokemon_storage_system.h | 72 ++ src/pokemon_storage_system.c | 525 +++++++++- 7 files changed, 609 insertions(+), 1553 deletions(-) create mode 100644 include/pc_screen_effect.h diff --git a/asm/pokemon_storage_system.s b/asm/pokemon_storage_system.s index 24e041b7f5..9e1cf03d81 100644 --- a/asm/pokemon_storage_system.s +++ b/asm/pokemon_storage_system.s @@ -6,1513 +6,8 @@ .text - thumb_func_start sub_80C7128 -sub_80C7128: @ 80C7128 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - adds r6, r0, 0 - adds r7, r3, 0 - ldr r5, [sp, 0x1C] - ldr r4, [sp, 0x20] - ldr r0, [sp, 0x24] - mov r9, r0 - ldr r0, [sp, 0x28] - ldr r3, [sp, 0x2C] - lsls r1, 16 - lsrs r1, 16 - lsls r2, 16 - lsls r5, 16 - lsrs r5, 16 - lsls r4, 16 - lsrs r4, 16 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - lsls r3, 16 - lsrs r3, 16 - mov r0, r9 - lsls r0, 17 - mov r9, r0 - lsrs r2, 11 - adds r2, r1 - lsls r2, 1 - adds r6, r2 - adds r0, r4, 0 - muls r0, r3 - adds r0, r5 - lsls r0, 1 - adds r7, r0 - movs r4, 0 - cmp r4, r8 - bcs _080C7198 - mov r0, r9 - lsrs r0, 1 - mov r9, r0 - lsls r5, r3, 1 -_080C717E: - adds r0, r7, 0 - adds r1, r6, 0 - mov r3, r9 - lsrs r2, r3, 16 - bl CpuSet - adds r6, 0x40 - adds r7, r5 - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, r8 - bcc _080C717E -_080C7198: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80C7128 - thumb_func_start sub_80C71A4 -sub_80C71A4: @ 80C71A4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - adds r4, r0, 0 - ldr r0, [sp, 0x28] - lsls r1, 16 - lsrs r1, 16 - lsls r2, 16 - lsls r0, 16 - lsrs r0, 16 - mov r10, r0 - lsrs r2, 11 - adds r2, r1 - lsls r2, 1 - adds r4, r2 - lsls r3, 17 - lsrs r0, r3, 16 - str r0, [sp, 0x4] - movs r0, 0 - cmp r0, r10 - bcs _080C724E - movs r6, 0x80 - lsls r6, 5 - mov r5, sp - ldr r7, =0x040000d4 - lsrs r3, 17 - mov r9, r3 - mov r1, r9 - movs r2, 0x81 - lsls r2, 24 - orrs r1, r2 - mov r9, r1 -_080C71EA: - adds r3, r4, 0 - ldr r2, [sp, 0x4] - movs r1, 0x40 - adds r1, r4 - mov r8, r1 - adds r0, 0x1 - mov r12, r0 - cmp r2, r6 - bhi _080C7214 - movs r0, 0 - strh r0, [r5] - mov r2, sp - str r2, [r7] - str r4, [r7, 0x4] - mov r0, r9 - str r0, [r7, 0x8] - ldr r0, [r7, 0x8] - b _080C7242 - .pool -_080C7214: - movs r4, 0 - strh r4, [r5] - ldr r1, =0x040000d4 - mov r0, sp - str r0, [r1] - str r3, [r1, 0x4] - ldr r0, =0x81000800 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - adds r3, r6 - subs r2, r6 - cmp r2, r6 - bhi _080C7214 - strh r4, [r5] - mov r0, sp - str r0, [r1] - str r3, [r1, 0x4] - lsrs r0, r2, 1 - movs r2, 0x81 - lsls r2, 24 - orrs r0, r2 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] -_080C7242: - mov r4, r8 - mov r1, r12 - lsls r0, r1, 16 - lsrs r0, 16 - cmp r0, r10 - bcc _080C71EA -_080C724E: - 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_80C71A4 - thumb_func_start c3_0808C39C -c3_0808C39C: @ 80C7268 - push {r4-r7,lr} - sub sp, 0x10 - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, =gTasks - adds r5, r0, r1 - movs r1, 0x8 - ldrsh r0, [r5, r1] - cmp r0, 0x4 - bls _080C7284 - b _080C756A -_080C7284: - lsls r0, 2 - ldr r1, =_080C7298 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080C7298: - .4byte _080C72AC - .4byte _080C730C - .4byte _080C7320 - .4byte _080C746A - .4byte _080C7544 -_080C72AC: - ldrb r0, [r5, 0xA] - adds r1, r5, 0 - adds r1, 0x26 - bl sub_80C75FC - bl sub_81973A4 - movs r0, 0 - movs r1, 0 - bl NewMenuHelpers_DrawDialogueFrame - movs r0, 0 - movs r1, 0x11 - bl FillWindowPixelBuffer - ldr r1, =gUnknown_085716C0 - movs r2, 0xA - ldrsh r0, [r5, r2] - lsls r0, 3 - adds r1, 0x4 - adds r0, r1 - ldr r2, [r0] - movs r0, 0 - str r0, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - movs r0, 0x3 - str r0, [sp, 0xC] - movs r0, 0 - movs r1, 0x1 - movs r3, 0xFF - bl AddTextPrinterParameterized - movs r0, 0 - movs r1, 0x3 - bl CopyWindowToVram - ldrh r0, [r5, 0x26] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x3 - bl CopyWindowToVram - b _080C7318 - .pool -_080C730C: - bl IsWeatherNotFadingIn - lsls r0, 24 - cmp r0, 0 - bne _080C7318 - b _080C756A -_080C7318: - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] - b _080C756A -_080C7320: - bl ProcessMenuInput - lsls r0, 24 - asrs r0, 24 - strh r0, [r5, 0xC] - movs r3, 0xC - ldrsh r1, [r5, r3] - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _080C73D0 - cmp r1, r0 - bgt _080C7342 - subs r0, 0x1 - cmp r1, r0 - beq _080C7348 - b _080C73F6 -_080C7342: - cmp r1, 0x4 - beq _080C73D0 - b _080C73F6 -_080C7348: - ldrh r3, [r5, 0xA] - strh r3, [r5, 0xE] - ldr r2, =gMain - ldrh r1, [r2, 0x2E] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _080C7366 - subs r0, r3, 0x1 - strh r0, [r5, 0xE] - lsls r0, 16 - cmp r0, 0 - bge _080C7366 - movs r0, 0x4 - strh r0, [r5, 0xE] -_080C7366: - ldrh r1, [r2, 0x2E] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _080C7382 - ldrh r0, [r5, 0xE] - adds r0, 0x1 - strh r0, [r5, 0xE] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x4 - ble _080C7382 - movs r0, 0 - strh r0, [r5, 0xE] -_080C7382: - lsls r0, r3, 16 - asrs r0, 16 - ldrh r2, [r5, 0xE] - movs r3, 0xE - ldrsh r1, [r5, r3] - cmp r0, r1 - bne _080C7392 - b _080C756A -_080C7392: - movs r4, 0 - strh r2, [r5, 0xA] - movs r0, 0 - movs r1, 0x11 - bl FillWindowPixelBuffer - ldr r1, =gUnknown_085716C0 - movs r2, 0xA - ldrsh r0, [r5, r2] - lsls r0, 3 - adds r1, 0x4 - adds r0, r1 - ldr r2, [r0] - str r4, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - movs r0, 0x3 - str r0, [sp, 0xC] - movs r0, 0 - movs r1, 0x1 - movs r3, 0 - bl AddTextPrinterParameterized - b _080C756A - .pool -_080C73D0: - ldrh r0, [r5, 0x26] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x1 - bl sub_819746C - bl ScriptContext2_Disable - bl EnableBothScriptContexts - ldrh r0, [r5, 0x26] - lsls r0, 24 - lsrs r0, 24 - bl RemoveWindow - adds r0, r4, 0 - bl DestroyTask - b _080C756A -_080C73F6: - movs r3, 0xC - ldrsh r4, [r5, r3] - cmp r4, 0 - bne _080C7428 - bl CountPartyMons - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x6 - bne _080C7428 - movs r0, 0 - movs r1, 0x11 - bl FillWindowPixelBuffer - ldr r2, =gText_PartyFull - str r4, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - movs r4, 0x3 - str r4, [sp, 0xC] - b _080C7532 - .pool -_080C7428: - movs r1, 0xC - ldrsh r0, [r5, r1] - cmp r0, 0x1 - bne _080C745C - bl CountPartyMons - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x1 - bne _080C745C - movs r0, 0 - movs r1, 0x11 - bl FillWindowPixelBuffer - ldr r2, =gText_JustOnePkmn - movs r0, 0 - str r0, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - str r4, [sp, 0x8] - movs r4, 0x3 - str r4, [sp, 0xC] - b _080C7532 - .pool -_080C745C: - movs r0, 0x1 - movs r1, 0 - bl FadeScreen - movs r0, 0x4 - strh r0, [r5, 0x8] - b _080C756A -_080C746A: - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r7, 0x3 - adds r4, r7, 0 - ands r4, r1 - cmp r4, 0 - beq _080C749C - movs r0, 0 - movs r1, 0x11 - bl FillWindowPixelBuffer - ldr r1, =gUnknown_085716C0 - movs r2, 0xA - ldrsh r0, [r5, r2] - lsls r0, 3 - adds r1, 0x4 - adds r0, r1 - ldr r2, [r0] - movs r0, 0 - str r0, [sp] - b _080C7528 - .pool -_080C749C: - movs r0, 0x40 - ands r0, r1 - lsls r0, 16 - lsrs r6, r0, 16 - cmp r6, 0 - beq _080C74E8 - ldrh r0, [r5, 0xA] - subs r0, 0x1 - strh r0, [r5, 0xA] - lsls r0, 16 - cmp r0, 0 - bge _080C74B8 - movs r0, 0x4 - strh r0, [r5, 0xA] -_080C74B8: - movs r0, 0x1 - negs r0, r0 - bl MoveMenuCursor - bl GetMenuCursorPos - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0xA] - movs r0, 0 - movs r1, 0x11 - bl FillWindowPixelBuffer - ldr r1, =gUnknown_085716C0 - movs r3, 0xA - ldrsh r0, [r5, r3] - lsls r0, 3 - adds r1, 0x4 - adds r0, r1 - ldr r2, [r0] - str r4, [sp] - b _080C7528 - .pool -_080C74E8: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _080C756A - ldrh r0, [r5, 0xA] - adds r0, 0x1 - strh r0, [r5, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3 - ble _080C7500 - strh r6, [r5, 0xA] -_080C7500: - movs r0, 0x1 - bl MoveMenuCursor - bl GetMenuCursorPos - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0xA] - movs r0, 0 - movs r1, 0x11 - bl FillWindowPixelBuffer - ldr r1, =gUnknown_085716C0 - movs r2, 0xA - ldrsh r0, [r5, r2] - lsls r0, 3 - adds r1, 0x4 - adds r0, r1 - ldr r2, [r0] - str r6, [sp] -_080C7528: - movs r4, 0x2 - str r4, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - str r7, [sp, 0xC] -_080C7532: - movs r0, 0 - movs r1, 0x1 - movs r3, 0 - bl AddTextPrinterParameterized - strh r4, [r5, 0x8] - b _080C756A - .pool -_080C7544: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080C756A - bl overworld_free_bg_tilemaps - ldrb r0, [r5, 0xC] - bl sub_80C7D74 - ldrh r0, [r5, 0x26] - lsls r0, 24 - lsrs r0, 24 - bl RemoveWindow - adds r0, r4, 0 - bl DestroyTask -_080C756A: - add sp, 0x10 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end c3_0808C39C - - thumb_func_start sub_80C7578 -sub_80C7578: @ 80C7578 - push {lr} - ldr r0, =c3_0808C39C - movs r1, 0x50 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r0, 0 - strh r0, [r1, 0x8] - strh r0, [r1, 0xA] - bl ScriptContext2_Enable - pop {r0} - bx r0 - .pool - thumb_func_end sub_80C7578 - - thumb_func_start mapldr_0808C6D8 -mapldr_0808C6D8: @ 80C75A8 - push {r4,r5,lr} - ldr r0, =gMain - ldr r5, [r0, 0xC] - movs r0, 0 - bl SetVBlankCallback - ldr r4, =c3_0808C39C - adds r0, r4, 0 - movs r1, 0x50 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r2, 0 - strh r2, [r1, 0x8] - ldr r2, =gUnknown_02039D00 - ldrb r2, [r2] - strh r2, [r1, 0xA] - bl _call_via_r4 - adds r0, r5, 0 - bl SetVBlankCallback - bl pal_fill_black - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end mapldr_0808C6D8 - - thumb_func_start sub_80C75FC -sub_80C75FC: @ 80C75FC - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - sub sp, 0x8 - adds r6, r0, 0 - mov r9, r1 - lsls r6, 24 - lsrs r6, 24 - ldr r0, =gUnknown_085716E8 - ldr r1, [r0, 0x4] - ldr r0, [r0] - str r0, [sp] - str r1, [sp, 0x4] - ldr r0, =gUnknown_085716C0 - mov r8, r0 - movs r1, 0x5 - bl GetMaxWidthInMenuTable - lsls r0, 24 - ldr r2, =0x00ffffff - ldr r1, [sp] - ands r1, r2 - orrs r1, r0 - str r1, [sp] - mov r0, sp - bl AddWindow - adds r5, r0, 0 - lsls r5, 16 - lsrs r5, 16 - lsls r4, r5, 24 - lsrs r4, 24 - adds r0, r4, 0 - movs r1, 0 - bl NewMenuHelpers_DrawStdWindowFrame - adds r0, r4, 0 - movs r1, 0x5 - mov r2, r8 - bl PrintMenuTable - adds r0, r4, 0 - movs r1, 0x5 - adds r2, r6, 0 - bl InitMenuInUpperLeftCornerPlaySoundWhenAPressed - mov r0, r9 - strh r5, [r0] - add sp, 0x8 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80C75FC - - thumb_func_start sub_80C7678 -sub_80C7678: @ 80C7678 - push {lr} - bl sub_80CAEA0 - ldr r1, =gUnknown_02039D00 - strb r0, [r1] - ldr r1, =gFieldCallback - ldr r0, =mapldr_0808C6D8 - str r0, [r1] - ldr r0, =CB2_ReturnToField - bl SetMainCallback2 - pop {r0} - bx r0 - .pool - thumb_func_end sub_80C7678 - - thumb_func_start sub_80C76A4 -sub_80C76A4: @ 80C76A4 - push {r4-r7,lr} - mov r7, r8 - push {r7} - mov r8, r0 - lsls r1, 24 - lsrs r0, r1, 24 - lsls r2, 24 - lsrs r7, r2, 24 - lsls r3, 24 - lsrs r3, 24 - adds r4, r3, 0 - ldr r2, =0x0000ffff - cmp r3, 0x1 - bhi _080C76C6 - movs r2, 0x1 - cmp r3, 0x1 - beq _080C76CA -_080C76C6: - cmp r4, 0x3 - bne _080C7714 -_080C76CA: - lsls r0, 24 - asrs r0, 24 - lsls r2, 16 - asrs r1, r2, 16 - adds r1, r0 - lsls r0, r1, 16 - asrs r1, r0, 16 - adds r6, r2, 0 - cmp r1, 0 - blt _080C7760 - cmp r1, r7 - bgt _080C7760 -_080C76E2: - asrs r4, r0, 16 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 4 - add r0, r8 - movs r1, 0xB - bl GetBoxMonData - cmp r0, 0 - bne _080C770C - asrs r0, r6, 16 - adds r0, r4, r0 - lsls r0, 16 - asrs r2, r0, 16 - cmp r2, 0 - blt _080C7760 - cmp r2, r7 - ble _080C76E2 - b _080C7760 - .pool -_080C770C: - adds r0, r4, 0 - b _080C7764 -_080C7710: - adds r0, r5, 0 - b _080C7764 -_080C7714: - lsls r0, 24 - asrs r0, 24 - lsls r2, 16 - asrs r1, r2, 16 - adds r1, r0 - lsls r0, r1, 16 - asrs r1, r0, 16 - adds r6, r2, 0 - cmp r1, 0 - blt _080C7760 - cmp r1, r7 - bgt _080C7760 -_080C772C: - asrs r5, r0, 16 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 4 - mov r1, r8 - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0xB - bl GetBoxMonData - cmp r0, 0 - beq _080C7750 - adds r0, r4, 0 - movs r1, 0x2D - bl GetBoxMonData - cmp r0, 0 - beq _080C7710 -_080C7750: - asrs r0, r6, 16 - adds r0, r5, r0 - lsls r0, 16 - asrs r2, r0, 16 - cmp r2, 0 - blt _080C7760 - cmp r2, r7 - ble _080C772C -_080C7760: - movs r0, 0x1 - negs r0, r0 -_080C7764: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80C76A4 - - thumb_func_start ResetPokemonStorageSystem -ResetPokemonStorageSystem: @ 80C7770 - push {r4-r6,lr} - movs r0, 0 - bl sub_80D1D18 - movs r5, 0 -_080C777A: - movs r4, 0 - lsls r6, r5, 24 -_080C777E: - lsls r1, r4, 24 - lsrs r1, 24 - lsrs r0, r6, 24 - bl sub_80D2018 - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x1D - bls _080C777E - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0xD - bls _080C777A - movs r5, 0 -_080C779E: - lsls r0, r5, 24 - lsrs r0, 24 - bl GetBoxNamePtr - ldr r1, =gText_Box - bl StringCopy - adds r4, r5, 0x1 - adds r1, r4, 0 - movs r2, 0 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - lsls r4, 16 - lsrs r5, r4, 16 - cmp r5, 0xD - bls _080C779E - movs r5, 0 -_080C77C2: - lsls r0, r5, 24 - lsrs r0, 24 - movs r1, 0x3 - ands r1, r5 - bl sub_80D2120 - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0xD - bls _080C77C2 - bl ResetWaldaWallpaper - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end ResetPokemonStorageSystem - - thumb_func_start sub_80C77E8 -sub_80C77E8: @ 80C77E8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x20 - adds r5, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r6, r1, 0 - lsls r2, 16 - lsrs r2, 16 - adds r7, r2, 0 - lsls r3, 24 - lsrs r3, 24 - mov r8, r3 - ldr r0, =gUnknown_0857173C - str r0, [sp, 0x18] - ldr r1, =0xffff0000 - add r4, sp, 0x18 - ldr r0, [r4, 0x4] - ands r0, r1 - orrs r0, r7 - str r0, [r4, 0x4] - mov r1, sp - ldr r0, =gUnknown_0857175C - str r0, [sp] - movs r0, 0x80 - lsls r0, 4 - strh r0, [r1, 0x4] - strh r6, [r1, 0x6] - ldr r0, =gUnknown_08571F5C - str r0, [sp, 0x8] - movs r0, 0xC0 - lsls r0, 1 - strh r0, [r1, 0xC] - adds r0, r6, 0x1 - strh r0, [r1, 0xE] - add r0, sp, 0x10 - movs r1, 0 - movs r2, 0x8 - bl memset - ldr r0, [sp, 0x38] - cmp r0, 0 - beq _080C7846 - adds r0, r4, 0 - bl LoadSpritePalette -_080C7846: - mov r0, sp - bl LoadSpriteSheets - ldr r0, =gUnknown_02039D04 - str r5, [r0] - movs r1, 0x90 - lsls r1, 2 - adds r0, r5, r1 - strh r6, [r0] - adds r1, 0x2 - adds r0, r5, r1 - strh r7, [r0] - adds r1, 0x4 - adds r0, r5, r1 - mov r1, r8 - strb r1, [r0] - movs r1, 0x8F - lsls r1, 2 - adds r0, r5, r1 - ldr r1, [sp, 0x38] - str r1, [r0] - add sp, 0x20 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80C77E8 - - thumb_func_start sub_80C7890 -sub_80C7890: @ 80C7890 - push {r4,r5,lr} - ldr r5, =gUnknown_02039D04 - ldr r1, [r5] - movs r2, 0x8F - lsls r2, 2 - adds r0, r1, r2 - ldr r0, [r0] - cmp r0, 0 - beq _080C78AC - adds r2, 0x6 - adds r0, r1, r2 - ldrh r0, [r0] - bl FreeSpritePaletteByTag -_080C78AC: - ldr r0, [r5] - movs r4, 0x90 - lsls r4, 2 - adds r0, r4 - ldrh r0, [r0] - bl FreeSpriteTilesByTag - ldr r0, [r5] - adds r0, r4 - ldrh r0, [r0] - adds r0, 0x1 - lsls r0, 16 - lsrs r0, 16 - bl FreeSpriteTilesByTag - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80C7890 - - thumb_func_start sub_80C78D4 -sub_80C78D4: @ 80C78D4 - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl sub_80C7958 - pop {r0} - bx r0 - thumb_func_end sub_80C78D4 - - thumb_func_start sub_80C78E4 -sub_80C78E4: @ 80C78E4 - push {lr} - bl sub_80C7B14 - pop {r0} - bx r0 - thumb_func_end sub_80C78E4 - - thumb_func_start sub_80C78F0 -sub_80C78F0: @ 80C78F0 - push {lr} - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080C790C - movs r0, 0x5 - bl PlaySE - movs r0, 0xC9 - b _080C7954 - .pool -_080C790C: - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080C792C - movs r0, 0x5 - bl PlaySE - ldr r0, =gUnknown_02039D04 - ldr r0, [r0] - movs r1, 0x91 - lsls r1, 2 - adds r0, r1 - ldrb r0, [r0] - b _080C7954 - .pool -_080C792C: - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _080C7940 - movs r0, 0x5 - bl PlaySE - bl sub_80C7BB4 - b _080C7952 -_080C7940: - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080C7952 - movs r0, 0x5 - bl PlaySE - bl sub_80C7B80 -_080C7952: - movs r0, 0xC8 -_080C7954: - pop {r1} - bx r1 - thumb_func_end sub_80C78F0 - - thumb_func_start sub_80C7958 -sub_80C7958: @ 80C7958 - push {r4-r6,lr} - sub sp, 0x3C - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - movs r0, 0 - movs r1, 0 - str r0, [sp, 0x34] - str r1, [sp, 0x38] - movs r1, 0xC0 - lsls r1, 24 - ldr r0, [sp, 0x34] - orrs r0, r1 - str r0, [sp, 0x34] - ldr r1, =0xffff0fff - add r4, sp, 0x34 - ldr r0, [r4, 0x4] - ands r0, r1 - movs r1, 0x80 - lsls r1, 5 - orrs r0, r1 - str r0, [r4, 0x4] - add r1, sp, 0x1C - movs r2, 0 - strh r2, [r1] - mov r0, sp - adds r0, 0x1E - strh r2, [r0] - str r4, [sp, 0x20] - ldr r0, =gDummySpriteAnimTable - str r0, [sp, 0x24] - str r2, [sp, 0x28] - ldr r0, =gDummySpriteAffineAnimTable - str r0, [sp, 0x2C] - ldr r0, =SpriteCallbackDummy - str r0, [sp, 0x30] - add r0, sp, 0x4 - movs r2, 0x18 - bl memcpy - ldr r6, =gUnknown_02039D04 - ldr r0, [r6] - movs r1, 0x91 - lsls r1, 2 - adds r0, r1 - strb r5, [r0] - add r2, sp, 0x4 - ldr r1, [r6] - movs r5, 0x90 - lsls r5, 2 - adds r0, r1, r5 - ldrh r0, [r0] - strh r0, [r2] - ldr r3, =0x00000242 - adds r1, r3 - ldrh r0, [r1] - strh r0, [r2, 0x2] - adds r0, r2, 0 - movs r1, 0xA0 - movs r2, 0x60 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r1, r0, 24 - ldr r3, [r6] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - str r0, [r3] - ldrb r2, [r4, 0x1] - movs r1, 0x3F - adds r0, r1, 0 - ands r0, r2 - movs r2, 0x80 - orrs r0, r2 - strb r0, [r4, 0x1] - ldrb r0, [r4, 0x3] - ands r1, r0 - movs r0, 0x40 - orrs r1, r0 - strb r1, [r4, 0x3] - add r1, sp, 0x4 - adds r3, r5 - ldrh r0, [r3] - adds r0, 0x1 - strh r0, [r1] - ldr r0, =sSpriteAnimTable_8571710 - str r0, [sp, 0xC] - movs r4, 0 -_080C7A10: - ldr r0, [r6] - ldr r1, =0x00000246 - adds r0, r1 - ldrb r3, [r0] - add r0, sp, 0x4 - movs r1, 0x7C - movs r2, 0x50 - bl CreateSprite - lsls r0, 24 - lsrs r1, r0, 24 - ldr r2, [r6] - lsls r3, r4, 2 - adds r2, 0x4 - adds r2, r3 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r1, r0, r1 - str r1, [r2] - movs r5, 0 - movs r0, 0x2 - ands r0, r4 - cmp r0, 0 - beq _080C7A4A - movs r0, 0xC4 - strh r0, [r1, 0x20] - movs r5, 0x2 -_080C7A4A: - movs r0, 0x1 - ands r0, r4 - cmp r0, 0 - beq _080C7A6E - ldr r1, [r6] - adds r1, 0x4 - adds r1, r3 - ldr r2, [r1] - movs r0, 0x70 - strh r0, [r2, 0x22] - ldr r2, [r1] - ldrb r1, [r2, 0x3] - movs r0, 0x3F - ands r0, r1 - strb r0, [r2, 0x3] - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 -_080C7A6E: - ldr r0, [r6] - adds r0, 0x4 - adds r0, r3 - ldr r0, [r0] - lsls r1, r5, 24 - lsrs r1, 24 - bl StartSpriteAnim - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x3 - bls _080C7A10 - movs r4, 0 - ldr r5, =gUnknown_02039D04 -_080C7A8C: - lsls r0, r4, 3 - adds r0, r4 - lsls r0, 19 - movs r3, 0xF8 - lsls r3, 15 - adds r0, r3 - lsrs r0, 16 - lsls r2, r4, 24 - lsrs r2, 24 - ldr r1, [r5] - ldr r3, =0x00000246 - adds r1, r3 - ldrb r1, [r1] - str r1, [sp] - movs r1, 0x58 - movs r3, 0 - bl sub_80CD2E8 - adds r2, r0, 0 - ldr r0, [r5] - lsls r1, r4, 2 - adds r0, 0x20 - adds r0, r1 - str r2, [r0] - cmp r2, 0 - beq _080C7AD4 - movs r1, 0x1 - cmp r4, 0 - bne _080C7ACC - movs r3, 0x1 - negs r3, r3 - adds r1, r3, 0 -_080C7ACC: - strh r1, [r2, 0x2E] - ldr r1, [r0] - ldr r0, =sub_80C7CF4 - str r0, [r1, 0x1C] -_080C7AD4: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x1 - bls _080C7A8C - bl sub_80C7BE4 - add sp, 0x3C - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80C7958 - - thumb_func_start sub_80C7B14 -sub_80C7B14: @ 80C7B14 - push {r4-r6,lr} - ldr r4, =gUnknown_02039D04 - ldr r0, [r4] - ldr r0, [r0] - cmp r0, 0 - beq _080C7B2A - bl DestroySprite - ldr r1, [r4] - movs r0, 0 - str r0, [r1] -_080C7B2A: - movs r5, 0 - adds r6, r4, 0 -_080C7B2E: - ldr r0, [r6] - lsls r4, r5, 2 - adds r0, 0x4 - adds r0, r4 - ldr r0, [r0] - cmp r0, 0 - beq _080C7B4A - bl DestroySprite - ldr r0, [r6] - adds r0, 0x4 - adds r0, r4 - movs r1, 0 - str r1, [r0] -_080C7B4A: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0x3 - bls _080C7B2E - movs r5, 0 -_080C7B56: - ldr r0, =gUnknown_02039D04 - ldr r0, [r0] - lsls r1, r5, 2 - adds r0, 0x20 - adds r0, r1 - ldr r0, [r0] - cmp r0, 0 - beq _080C7B6A - bl DestroySprite -_080C7B6A: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0x1 - bls _080C7B56 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80C7B14 - - thumb_func_start sub_80C7B80 -sub_80C7B80: @ 80C7B80 - push {lr} - ldr r2, =gUnknown_02039D04 - ldr r1, [r2] - movs r0, 0x91 - lsls r0, 2 - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xD - bls _080C7BA6 - ldr r0, [r2] - movs r1, 0x91 - lsls r1, 2 - adds r0, r1 - movs r1, 0 - strb r1, [r0] -_080C7BA6: - bl sub_80C7BE4 - pop {r0} - bx r0 - .pool - thumb_func_end sub_80C7B80 - - thumb_func_start sub_80C7BB4 -sub_80C7BB4: @ 80C7BB4 - push {lr} - ldr r0, =gUnknown_02039D04 - ldr r2, [r0] - movs r1, 0x91 - lsls r1, 2 - adds r0, r2, r1 - ldrb r0, [r0] - cmp r0, 0 - beq _080C7BD0 - subs r1, r0, 0x1 - b _080C7BD2 - .pool -_080C7BD0: - movs r1, 0xD -_080C7BD2: - movs r3, 0x91 - lsls r3, 2 - adds r0, r2, r3 - strb r1, [r0] - bl sub_80C7BE4 - pop {r0} - bx r0 - thumb_func_end sub_80C7BB4 - - thumb_func_start sub_80C7BE4 -sub_80C7BE4: @ 80C7BE4 - push {r4-r6,lr} - mov r6, r10 - mov r5, r9 - mov r4, r8 - push {r4-r6} - sub sp, 0x24 - ldr r0, =gUnknown_02039D04 - mov r9, r0 - ldr r0, [r0] - movs r4, 0x91 - lsls r4, 2 - adds r0, r4 - ldrb r0, [r0] - bl GetBoxNamePtr - mov r10, r0 - mov r1, r9 - ldr r0, [r1] - adds r0, r4 - ldrb r0, [r0] - bl CountMonsInBox - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - add r4, sp, 0x1C - adds r0, r4, 0 - movs r1, 0 - movs r2, 0x8 - bl memset - movs r0, 0x8 - strb r0, [r4, 0x3] - movs r0, 0x4 - strb r0, [r4, 0x4] - adds r0, r4, 0 - bl AddWindow - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - movs r1, 0x44 - bl FillWindowPixelBuffer - movs r0, 0x1 - mov r1, r10 - movs r2, 0x40 - bl GetStringCenterAlignXOffset - lsls r2, r0, 24 - lsrs r2, 24 - ldr r0, =gUnknown_08571734 - mov r8, r0 - str r0, [sp] - movs r6, 0x1 - negs r6, r6 - str r6, [sp, 0x4] - mov r1, r10 - str r1, [sp, 0x8] - adds r0, r4, 0 - movs r1, 0x1 - movs r3, 0x1 - bl box_print - add r0, sp, 0xC - adds r1, r5, 0 - movs r2, 0x1 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - ldr r1, =gUnknown_08571737 - add r0, sp, 0xC - bl StringAppend - movs r0, 0x1 - add r1, sp, 0xC - movs r2, 0x40 - bl GetStringCenterAlignXOffset - lsls r2, r0, 24 - lsrs r2, 24 - mov r0, r8 - str r0, [sp] - str r6, [sp, 0x4] - add r1, sp, 0xC - str r1, [sp, 0x8] - adds r0, r4, 0 - movs r1, 0x1 - movs r3, 0x11 - bl box_print - adds r0, r4, 0 - movs r1, 0x7 - bl GetWindowAttribute - adds r5, r0, 0 - mov r1, r9 - ldr r0, [r1] - movs r1, 0x90 - lsls r1, 2 - adds r0, r1 - ldrh r0, [r0] - bl GetSpriteTileStartByTag - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 11 - ldr r0, =0x06010100 - adds r1, r0 - ldr r2, =0x04000100 - adds r0, r5, 0 - bl CpuSet - adds r0, r4, 0 - bl RemoveWindow - add sp, 0x24 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80C7BE4 - - thumb_func_start sub_80C7CF4 -sub_80C7CF4: @ 80C7CF4 - push {lr} - adds r1, r0, 0 - ldrh r0, [r1, 0x30] - adds r0, 0x1 - movs r2, 0 - strh r0, [r1, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3 - ble _080C7D24 - strh r2, [r1, 0x30] - ldrh r0, [r1, 0x2E] - ldrh r3, [r1, 0x24] - adds r0, r3 - strh r0, [r1, 0x24] - ldrh r0, [r1, 0x32] - adds r0, 0x1 - strh r0, [r1, 0x32] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x5 - ble _080C7D24 - strh r2, [r1, 0x32] - strh r2, [r1, 0x24] -_080C7D24: - pop {r0} - bx r0 - thumb_func_end sub_80C7CF4 - - thumb_func_start sub_80C7D28 -sub_80C7D28: @ 80C7D28 - push {lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl sub_80D2AA4 - bl TransferPlttBuffer - ldr r0, =gUnknown_02039D08 - ldr r0, [r0] - movs r1, 0xB3 - lsls r1, 2 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x18 - bl SetGpuReg - pop {r0} - bx r0 - .pool - thumb_func_end sub_80C7D28 - - thumb_func_start c2_Box -c2_Box: @ 80C7D54 - push {lr} - bl RunTasks - bl do_scheduled_bg_tilemap_copies_to_vram - bl sub_80CA028 - bl sub_80CAA14 - bl AnimateSprites - bl BuildOamBuffer - pop {r0} - bx r0 - thumb_func_end c2_Box thumb_func_start sub_80C7D74 sub_80C7D74: @ 80C7D74 @@ -2473,7 +968,7 @@ _080C8668: ldr r1, =0x000002ca adds r0, r1 ldrb r0, [r0] - bl sub_80D1D18 + bl SetCurrentBox ldr r0, =gUnknown_02039D0C ldrb r0, [r0] cmp r0, 0 @@ -4705,7 +3200,7 @@ _080C9A9C: ldr r2, =0x000002ca adds r0, r2 ldrb r0, [r0] - bl sub_80D1D18 + bl SetCurrentBox ldr r0, =task_pokemon_box_related bl add_to_c3_somehow _080C9AB8: @@ -9968,7 +8463,7 @@ sub_80CC680: @ 80CC680 lsls r0, 24 lsrs r0, 24 adds r1, r4, 0 - bl sub_80D2120 + bl SetBoxWallpaper ldr r0, =gUnknown_02039D08 ldr r0, [r0] ldr r1, =0x00000a62 @@ -13098,7 +11593,7 @@ sub_80CE0E8: @ 80CE0E8 b _080CE10C .pool _080CE108: - bl sub_80D2018 + bl ClearMonInBox _080CE10C: pop {r0} bx r0 @@ -17973,7 +16468,7 @@ _080D09EC: bl sub_80CB778 mov r0, r8 adds r1, r5, 0 - bl sub_80D2018 + bl ClearMonInBox adds r0, r5, 0x1 lsls r0, 24 lsrs r5, r0, 24 @@ -20353,8 +18848,8 @@ StorageGetCurrentBox: @ 80D1D0C .pool thumb_func_end StorageGetCurrentBox - thumb_func_start sub_80D1D18 -sub_80D1D18: @ 80D1D18 + thumb_func_start SetCurrentBox +SetCurrentBox: @ 80D1D18 push {lr} lsls r0, 24 lsrs r1, r0, 24 @@ -20367,7 +18862,7 @@ _080D1D28: pop {r0} bx r0 .pool - thumb_func_end sub_80D1D18 + thumb_func_end SetCurrentBox thumb_func_start GetBoxMonDataFromAnyBox GetBoxMonDataFromAnyBox: @ 80D1D30 @@ -20768,8 +19263,8 @@ _080D2004: .pool thumb_func_end sub_80D1F98 - thumb_func_start sub_80D2018 -sub_80D2018: @ 80D2018 + thumb_func_start ClearMonInBox +ClearMonInBox: @ 80D2018 push {r4,lr} lsls r0, 24 lsrs r3, r0, 24 @@ -20798,7 +19293,7 @@ _080D2048: pop {r0} bx r0 .pool - thumb_func_end sub_80D2018 + thumb_func_end ClearMonInBox thumb_func_start sub_80D2054 sub_80D2054: @ 80D2054 @@ -20914,8 +19409,8 @@ _080D2112: .pool thumb_func_end sub_80D20F8 - thumb_func_start sub_80D2120 -sub_80D2120: @ 80D2120 + thumb_func_start SetBoxWallpaper +SetBoxWallpaper: @ 80D2120 push {lr} lsls r0, 24 lsrs r2, r0, 24 @@ -20935,7 +19430,7 @@ _080D213E: pop {r0} bx r0 .pool - thumb_func_end sub_80D2120 + thumb_func_end SetBoxWallpaper thumb_func_start sub_80D214C sub_80D214C: @ 80D214C diff --git a/data/event_scripts.s b/data/event_scripts.s index f28707fbbc..56658a9948 100644 --- a/data/event_scripts.s +++ b/data/event_scripts.s @@ -1802,7 +1802,7 @@ EventScript_271E0E:: @ 8271E0E checkflag FLAG_SYS_PC_LANETTE call_if 1, EventScript_271E3E msgbox gUnknown_082726A3, 4 - special sub_80C7578 + special ShowPokemonStorageSystem waitstate goto EventScript_271DAC end diff --git a/data/pokemon_storage_system.s b/data/pokemon_storage_system.s index f05613b005..b859133a66 100644 --- a/data/pokemon_storage_system.s +++ b/data/pokemon_storage_system.s @@ -3,18 +3,6 @@ .section .rodata - .align 2 -gUnknown_0857173C:: @ 857173C - .incbin "graphics/unknown/unknown_57173C.gbapal" - - .align 2 -gUnknown_0857175C:: @ 857175C - .incbin "graphics/pokemon_storage/box_selection_popup_center.4bpp" - - .align 2 -gUnknown_08571F5C:: @ 8571F5C - .incbin "graphics/pokemon_storage/box_selection_popup_sides.4bpp" - .align 2 gUnknown_085720DC:: @ 85720DC .incbin "graphics/pokemon_storage/scrolling_bg.4bpp.lz" diff --git a/data/specials.inc b/data/specials.inc index 86355f4840..d0d04837a0 100644 --- a/data/specials.inc +++ b/data/specials.inc @@ -71,7 +71,7 @@ gSpecials:: @ 81DBA64 def_special ShouldTryRematchBattle def_special IsTrainerReadyForRematch def_special BattleSetup_StartRematchBattle - def_special sub_80C7578 + def_special ShowPokemonStorageSystem def_special HasEnoughMonsForDoubleBattle def_special TurnOffTVScreen def_special DoTVShow diff --git a/include/pc_screen_effect.h b/include/pc_screen_effect.h new file mode 100644 index 0000000000..5cfde00938 --- /dev/null +++ b/include/pc_screen_effect.h @@ -0,0 +1,16 @@ +#ifndef GUARD_PC_SCREEN_EFFECT_H +#define GUARD_PC_SCREEN_EFFECT_H + +struct PCScreenEffectStruct +{ + /*0x00*/ u16 tileTag; + /*0x02*/ u16 paletteTag; + /*0x04*/ u16 unk04; + /*0x06*/ u16 unk06; + /*0x08*/ u16 unk08; + /*0x0A*/ u16 unk0A; + /*0x0C*/ s16 unk0C; + /*0x10*/ u32 selectedPalettes; +}; + +#endif //GUARD_PC_SCREEN_EFFECT_H diff --git a/include/pokemon_storage_system.h b/include/pokemon_storage_system.h index 990331e860..03f4e0da6d 100644 --- a/include/pokemon_storage_system.h +++ b/include/pokemon_storage_system.h @@ -4,6 +4,78 @@ #define TOTAL_BOXES_COUNT 14 #define IN_BOX_COUNT 30 +#include "pc_screen_effect.h" +#include "mon_markings.h" + +struct PokemonStorageSystemFunc +{ + u8 (*func)(void); + s8 unk4; +}; + +struct StorageAction +{ + const u8 *text; + u8 format; +}; + +struct StorageText +{ + const u8 *text; + int textId; +}; + +struct PSS_MenuStringPtrs +{ + const u8 *text; + const u8 *desc; +}; + +struct UnkStruct_2000028 +{ + const u8 *unk_00; + u8 *unk_04; + u16 unk_08; + u16 unk_0a; + void (*unk_0c)(struct UnkStruct_2000028 *data); +}; + +struct UnkStruct_2000020 +{ + struct UnkStruct_2000028 *unk_00; + u8 unk_04; + u8 unk_05; +}; + +struct UnkPSSStruct_2002370 +{ + struct Sprite *unk_0000; + struct Sprite *unk_0004[4]; + u32 unk_0014[3]; + struct Sprite *unk_0020[2]; + u8 filler_0028[0x214]; + u32 unk_023c; + u16 unk_0240; + u16 unk_0242; + u8 curBox; + u8 unk_0245; + u8 unk_0246; +}; + +struct PokemonStorageSystemData +{ + u8 state; + u8 boxOption; + u8 unk_0002; + u8 unk_0003; + u8 taskId; + u8 unk_0005[710]; + u16 bg2_X; +}; + +extern struct UnkPSSStruct_2002370 *gUnknown_02039D04; +extern struct PokemonStorageSystemData *gUnknown_02039D08; + u8* GetBoxNamePtr(u8 boxNumber); struct BoxPokemon *GetBoxedMonPtr(u8, u8); void SetBoxMonNickFromAnyBox(u8, u8, u8 *); diff --git a/src/pokemon_storage_system.c b/src/pokemon_storage_system.c index 7f8c24ab72..7c622c2235 100644 --- a/src/pokemon_storage_system.c +++ b/src/pokemon_storage_system.c @@ -7,17 +7,49 @@ #include "text.h" #include "strings.h" #include "window.h" +#include "menu.h" +#include "bg.h" +#include "main.h" +#include "palette.h" +#include "overworld.h" +#include "field_screen.h" +#include "field_weather.h" +#include "script.h" +#include "international_string_util.h" +#include "walda_phrase.h" +#include "sound.h" +#include "gpu_regs.h" +#include "constants/songs.h" IWRAM_DATA u8 gUnknown_03000F78[0x188]; -struct OptionAndDescription -{ - const u8 *optionTxt; - const u8 *descriptionTxt; -}; +extern const u8 gText_PartyFull[]; +extern const u8 gText_Box[]; +extern const u8 gText_JustOnePkmn[]; + +extern u8 gUnknown_02039D00; + +// This file's functions. +void StorageSystemCreatePrimaryMenu(u8 whichMenu, s16 *windowIdPtr); +void sub_80C7D74(u8); +u8 sub_80CAEA0(void); +void SetBoxWallpaper(u8 boxId, u8 wallpaperId); +void SetCurrentBox(u8 boxId); +void ClearMonInBox(u8 boxId, u8 boxPos); +void ResetWaldaWallpaper(void); +void sub_80C7958(u8 curBox); +void sub_80C7B14(void); +void sub_80C7BB4(void); +void sub_80CA028(void); +void sub_80C7B80(void); +void sub_80D2AA4(void); +void sub_80C7BE4(void); +void sub_80CAA14(void); +void sub_80C7CF4(struct Sprite *sprite); +struct Sprite *sub_80CD2E8(u16 x, u16 y, u8 animId, u8 priority, u8 subpriority); // const rom data -const struct OptionAndDescription gUnknown_085716C0[] = +const struct PSS_MenuStringPtrs gUnknown_085716C0[] = { {gText_WithdrawPokemon, gText_WithdrawMonDescription}, {gText_DepositPokemon, gText_DepositMonDescription}, @@ -74,6 +106,10 @@ static const union AffineAnimCmd *const sSpriteAffineAnimTable_8571730[] = const u8 gUnknown_08571734[] = {4, 0xF, 0xE}; const u8 gUnknown_08571737[] = _("/30"); +const u16 gBoxSelectionPopupPalette[] = INCBIN_U16("graphics/unknown/unknown_57173C.gbapal"); +const u8 gBoxSelectionPopupCenterTiles[] = INCBIN_U8("graphics/pokemon_storage/box_selection_popup_center.4bpp"); +const u8 gBoxSelectionPopupSidesTiles[] = INCBIN_U8("graphics/pokemon_storage/box_selection_popup_sides.4bpp"); + // code u8 CountMonsInBox(u8 boxId) { @@ -166,24 +202,473 @@ static u8 *StringCopyAndFillWithSpaces(u8 *dst, const u8 *src, u16 n) return str; } -/* can't match -static void sub_80C7128(u16 *dst, u16 dstToAdd, u16 dstToMul, const u16 *src, u16 srcToAdd, u16 srcToMul, u32 size, u16 count, u16 srcBy) +static void sub_80C7128(u16 *dest, u16 dest_left, u16 dest_top, const u16 *src, u16 src_left, u16 src_top, u16 dest_width, u16 dest_height, u16 src_width) { u16 i; - size <<= 0x11; - dst += (dstToMul * 32) + dstToAdd; - src += (srcToMul * srcBy) + srcToAdd; - - i = 0; - if (i < count) + dest_width *= 2; + dest += dest_top * 0x20 + dest_left; + src += src_top * src_width + src_left; + for (i = 0; i < dest_height; i++) { - size >>= 1; - for (i = 0; i < count; i++) + CpuCopy16(src, dest, dest_width); + dest += 0x20; + src += src_width; + } +} + +#define MAX_DMA_BLOCK_SIZE 0x1000 +#define Dma3FillLarge_(value, dest, size, bit) \ +{ \ + void *_dest = dest; \ + u32 _size = size; \ + while (1) \ + { \ + if (_size <= MAX_DMA_BLOCK_SIZE) \ + { \ + DmaFill##bit(3, value, _dest, _size); \ + break; \ + } \ + DmaFill##bit(3, value, _dest, MAX_DMA_BLOCK_SIZE); \ + _dest += MAX_DMA_BLOCK_SIZE; \ + _size -= MAX_DMA_BLOCK_SIZE; \ + } \ +} + +#define Dma3FillLarge16_(value, dest, size) Dma3FillLarge_(value, dest, size, 16) +#define Dma3FillLarge32_(value, dest, size) Dma3FillLarge_(value, dest, size, 32) + +void sub_80C71A4(u16 *dest, u16 dest_left, u16 dest_top, u16 width, u16 height) +{ + u16 i; + + dest += dest_top * 0x20 + dest_left; + width *= 2; + for (i = 0; i < height; dest += 0x20, i++) + Dma3FillLarge16_(0, dest, width); +} + +void Task_PokemonStorageSystem(u8 taskId) +{ + struct Task *task = gTasks + taskId; + switch (task->data[0]) + { + case 0: + StorageSystemCreatePrimaryMenu(task->data[1], &task->data[15]); + sub_81973A4(); + NewMenuHelpers_DrawDialogueFrame(0, 0); + FillWindowPixelBuffer(0, 0x11); + AddTextPrinterParameterized(0, 1, gUnknown_085716C0[task->data[1]].desc, TEXT_SPEED_FF, NULL, 2, 1, 3); + CopyWindowToVram(0, 3); + CopyWindowToVram(task->data[15], 3); + task->data[0]++; + break; + case 1: + if (IsWeatherNotFadingIn()) { - CpuSet(src, dst, size >> 0x10); - dst += 0x20; - src += srcBy; + task->data[0]++; + } + break; + case 2: + task->data[2] = ProcessMenuInput(); + switch(task->data[2]) + { + case -2: + task->data[3] = task->data[1]; + if (gMain.newKeys & DPAD_UP && --task->data[3] < 0) + task->data[3] = 4; + + if (gMain.newKeys & DPAD_DOWN && ++task->data[3] > 4) + task->data[3] = 0; + if (task->data[1] != task->data[3]) + { + task->data[1] = task->data[3]; + FillWindowPixelBuffer(0, 0x11); + AddTextPrinterParameterized(0, 1, gUnknown_085716C0[task->data[1]].desc, 0, NULL, 2, 1, 3); + } + break; + case -1: + case 4: + sub_819746C(task->data[15], TRUE); + ScriptContext2_Disable(); + EnableBothScriptContexts(); + RemoveWindow(task->data[15]); + DestroyTask(taskId); + break; + default: + if (task->data[2] == 0 && CountPartyMons() == PARTY_SIZE) + { + FillWindowPixelBuffer(0, 0x11); + AddTextPrinterParameterized(0, 1, gText_PartyFull, 0, NULL, 2, 1, 3); + task->data[0] = 3; + } + else if (task->data[2] == 1 && CountPartyMons() == 1) + { + FillWindowPixelBuffer(0, 0x11); + AddTextPrinterParameterized(0, 1, gText_JustOnePkmn, 0, NULL, 2, 1, 3); + task->data[0] = 3; + } + else + { + FadeScreen(1, 0); + task->data[0] = 4; + } + break; + } + break; + case 3: + if (gMain.newKeys & (A_BUTTON | B_BUTTON)) + { + FillWindowPixelBuffer(0, 0x11); + AddTextPrinterParameterized(0, 1, gUnknown_085716C0[task->data[1]].desc, 0, NULL, 2, 1, 3); + task->data[0] = 2; + } + else if (gMain.newKeys & DPAD_UP) + { + if (--task->data[1] < 0) + task->data[1] = 4; + MoveMenuCursor(-1); + task->data[1] = GetMenuCursorPos(); + FillWindowPixelBuffer(0, 0x11); + AddTextPrinterParameterized(0, 1, gUnknown_085716C0[task->data[1]].desc, 0, NULL, 2, 1, 3); + task->data[0] = 2; + } + else if (gMain.newKeys & DPAD_DOWN) + { + if (++task->data[1] > 3) + task->data[1] = 0; + MoveMenuCursor(1); + task->data[1] = GetMenuCursorPos(); + FillWindowPixelBuffer(0, 0x11); + AddTextPrinterParameterized(0, 1, gUnknown_085716C0[task->data[1]].desc, 0, NULL, 2, 1, 3); + task->data[0] = 2; + } + break; + case 4: + if (!gPaletteFade.active) + { + overworld_free_bg_tilemaps(); + sub_80C7D74(task->data[2]); + RemoveWindow(task->data[15]); + DestroyTask(taskId); + } + break; + } +} + +void ShowPokemonStorageSystem(void) +{ + u8 taskId = CreateTask(Task_PokemonStorageSystem, 80); + gTasks[taskId].data[0] = 0; + gTasks[taskId].data[1] = 0; + ScriptContext2_Enable(); +} + +void mapldr_0808C6D8(void) +{ + u8 taskId; + MainCallback vblankCb = gMain.vblankCallback; + + SetVBlankCallback(NULL); + taskId = CreateTask(Task_PokemonStorageSystem, 80); + gTasks[taskId].data[0] = 0; + gTasks[taskId].data[1] = gUnknown_02039D00; + Task_PokemonStorageSystem(taskId); + SetVBlankCallback(vblankCb); + pal_fill_black(); +} + +void StorageSystemCreatePrimaryMenu(u8 whichMenu, s16 *windowIdPtr) +{ + s16 windowId; + struct WindowTemplate winTemplate = gUnknown_085716E8; + winTemplate.width = GetMaxWidthInMenuTable((void *)gUnknown_085716C0, ARRAY_COUNT(gUnknown_085716C0)); + windowId = AddWindow(&winTemplate); + + NewMenuHelpers_DrawStdWindowFrame(windowId, FALSE); + PrintMenuTable(windowId, ARRAY_COUNT(gUnknown_085716C0), (void *)gUnknown_085716C0); + InitMenuInUpperLeftCornerPlaySoundWhenAPressed(windowId, ARRAY_COUNT(gUnknown_085716C0), whichMenu); + *windowIdPtr = windowId; +} + +void sub_80C7678(void) +{ + gUnknown_02039D00 = sub_80CAEA0(); + gFieldCallback = mapldr_0808C6D8; + SetMainCallback2(CB2_ReturnToField); +} + +s16 StorageSystemGetNextMonIndex(struct BoxPokemon *box, s8 startIdx, u8 stopIdx, u8 mode) +{ + s16 i; + s16 direction; + if (mode == 0 || mode == 1) + { + direction = 1; + } + else + { + direction = -1; + } + if (mode == 1 || mode == 3) + { + for (i = startIdx + direction; i >= 0 && i <= stopIdx; i += direction) + { + if (GetBoxMonData(box + i, MON_DATA_SPECIES) != 0) + return i; } } -}*/ + else + { + for (i = startIdx + direction; i >= 0 && i <= stopIdx; i += direction) + { + if (GetBoxMonData(box + i, MON_DATA_SPECIES) != 0 && !GetBoxMonData(box + i, MON_DATA_IS_EGG)) + return i; + } + } + return -1; +} + +void ResetPokemonStorageSystem(void) +{ + u16 boxId; + u16 boxMon; + + SetCurrentBox(0); + for (boxId = 0; boxId < TOTAL_BOXES_COUNT; boxId++) + { + for (boxMon = 0; boxMon < IN_BOX_COUNT; boxMon++) + ClearMonInBox(boxId, boxMon); + } + for (boxId = 0; boxId < TOTAL_BOXES_COUNT; boxId++) + { + u8 *dest = StringCopy(GetBoxNamePtr(boxId), gText_Box); + ConvertIntToDecimalStringN(dest, boxId + 1, STR_CONV_MODE_LEFT_ALIGN, 2); + } + for (boxId = 0; boxId < TOTAL_BOXES_COUNT; boxId++) + { + SetBoxWallpaper(boxId, boxId % 4); + } + ResetWaldaWallpaper(); +} + +void sub_80C77E8(struct UnkPSSStruct_2002370 *a0, u16 tileTag, u16 palTag, u8 a3, bool32 loadPal) +{ + struct SpritePalette palette = + { + gBoxSelectionPopupPalette, palTag + }; + struct SpriteSheet sheets[] = + { + {gBoxSelectionPopupCenterTiles, 0x800, tileTag}, + {gBoxSelectionPopupSidesTiles, 0x180, tileTag + 1}, + {} + }; + + if (loadPal) + LoadSpritePalette(&palette); + + LoadSpriteSheets(sheets); + gUnknown_02039D04 = a0; + a0->unk_0240 = tileTag; + a0->unk_0242 = palTag; + a0->unk_0246 = a3; + a0->unk_023c = loadPal; +} + +void sub_80C7890(void) +{ + if (gUnknown_02039D04->unk_023c) + FreeSpritePaletteByTag(gUnknown_02039D04->unk_0242); + FreeSpriteTilesByTag(gUnknown_02039D04->unk_0240); + FreeSpriteTilesByTag(gUnknown_02039D04->unk_0240 + 1); +} + +void sub_80C78D4(u8 curBox) +{ + sub_80C7958(curBox); +} + +void sub_80C78E4(void) +{ + sub_80C7B14(); +} + +u8 sub_80C78F0(void) +{ + if (gMain.newKeys & B_BUTTON) + { + PlaySE(SE_SELECT); + return 201; + } + if (gMain.newKeys & A_BUTTON) + { + PlaySE(SE_SELECT); + return gUnknown_02039D04->curBox; + } + if (gMain.newKeys & DPAD_LEFT) + { + PlaySE(SE_SELECT); + sub_80C7BB4(); + } + else if (gMain.newKeys & DPAD_RIGHT) + { + PlaySE(SE_SELECT); + sub_80C7B80(); + } + return 200; +} + +void sub_80C7958(u8 curBox) +{ + u16 i; + u8 spriteId; + struct SpriteTemplate template; + struct OamData oamData = {}; + oamData.size = 3; + oamData.paletteNum = 1; + template = (struct SpriteTemplate){ + 0, 0, &oamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + }; + + gUnknown_02039D04->curBox = curBox; + template.tileTag = gUnknown_02039D04->unk_0240; + template.paletteTag = gUnknown_02039D04->unk_0242; + + spriteId = CreateSprite(&template, 0xA0, 0x60, 0); + gUnknown_02039D04->unk_0000 = gSprites + spriteId; + + oamData.shape = ST_OAM_V_RECTANGLE; + oamData.size = 1; + template.tileTag = gUnknown_02039D04->unk_0240 + 1; + template.anims = sSpriteAnimTable_8571710; + for (i = 0; i < 4; i++) + { + u16 r5; + spriteId = CreateSprite(&template, 0x7c, 0x50, gUnknown_02039D04->unk_0246); + gUnknown_02039D04->unk_0004[i] = gSprites + spriteId; + r5 = 0; + if (i & 2) + { + gUnknown_02039D04->unk_0004[i]->pos1.x = 0xc4; + r5 = 2; + } + if (i & 1) + { + gUnknown_02039D04->unk_0004[i]->pos1.y = 0x70; + gUnknown_02039D04->unk_0004[i]->oam.size = 0; + r5++; + } + StartSpriteAnim(gUnknown_02039D04->unk_0004[i], r5); + } + for (i = 0; i < 2; i++) + { + gUnknown_02039D04->unk_0020[i] = sub_80CD2E8(72 * i + 0x7c, 0x58, i, 0, gUnknown_02039D04->unk_0246); + if (gUnknown_02039D04->unk_0020[i]) + { + gUnknown_02039D04->unk_0020[i]->data[0] = (i == 0 ? -1 : 1); + gUnknown_02039D04->unk_0020[i]->callback = sub_80C7CF4; + } + } + sub_80C7BE4(); +} + +void sub_80C7B14(void) +{ + u16 i; + if (gUnknown_02039D04->unk_0000) + { + DestroySprite(gUnknown_02039D04->unk_0000); + gUnknown_02039D04->unk_0000 = NULL; + } + for (i = 0; i < 4; i++) + { + if (gUnknown_02039D04->unk_0004[i]) + { + DestroySprite(gUnknown_02039D04->unk_0004[i]); + gUnknown_02039D04->unk_0004[i] = NULL; + } + } + for (i = 0; i < 2; i++) + { + if (gUnknown_02039D04->unk_0020[i]) + DestroySprite(gUnknown_02039D04->unk_0020[i]); + } +} + +void sub_80C7B80(void) +{ + if (++gUnknown_02039D04->curBox >= TOTAL_BOXES_COUNT) + gUnknown_02039D04->curBox = 0; + sub_80C7BE4(); +} + +void sub_80C7BB4(void) +{ + gUnknown_02039D04->curBox = (gUnknown_02039D04->curBox == 0 ? TOTAL_BOXES_COUNT - 1 : gUnknown_02039D04->curBox - 1); + sub_80C7BE4(); +} + +void sub_80C7BE4(void) +{ + u8 text[16]; + struct WindowTemplate winTemplate; + u8 windowId; + u8 *boxName = GetBoxNamePtr(gUnknown_02039D04->curBox); + u8 nPokemonInBox = CountMonsInBox(gUnknown_02039D04->curBox); + u32 winTileData; + s32 center; + + memset(&winTemplate, 0, sizeof(winTemplate)); + winTemplate.width = 8; + winTemplate.height = 4; + + windowId = AddWindow(&winTemplate); + FillWindowPixelBuffer(windowId, 0x44); + + center = GetStringCenterAlignXOffset(1, boxName, 0x40); + box_print(windowId, 1, center, 1, gUnknown_08571734, TEXT_SPEED_FF, boxName); + + ConvertIntToDecimalStringN(text, nPokemonInBox, 1, 2); + StringAppend(text, gUnknown_08571737); + center = GetStringCenterAlignXOffset(1, text, 0x40); + box_print(windowId, 1, center, 0x11, gUnknown_08571734, TEXT_SPEED_FF, text); + + winTileData = GetWindowAttribute(windowId, WINDOW_TILE_DATA); + CpuCopy32((void *)winTileData, (void *)OBJ_VRAM0 + 0x100 + (GetSpriteTileStartByTag(gUnknown_02039D04->unk_0240) * 32), 0x400); + + RemoveWindow(windowId); +} + +void sub_80C7CF4(struct Sprite *sprite) +{ + if (++sprite->data[1] > 3) + { + sprite->data[1] = 0; + sprite->pos2.x += sprite->data[0]; + if (++sprite->data[2] > 5) + { + sprite->data[2] = 0; + sprite->pos2.x = 0; + } + } +} + +void sub_80C7D28(void) +{ + LoadOam(); + ProcessSpriteCopyRequests(); + sub_80D2AA4(); + TransferPlttBuffer(); + SetGpuReg(REG_OFFSET_BG2HOFS, gUnknown_02039D08->bg2_X); +} + +void c2_Box(void) +{ + RunTasks(); + do_scheduled_bg_tilemap_copies_to_vram(); + sub_80CA028(); + sub_80CAA14(); + AnimateSprites(); + BuildOamBuffer(); +} From 8650f2345d1342fe869d4b9af1d662a823fbba14 Mon Sep 17 00:00:00 2001 From: MCboy Date: Sun, 12 Aug 2018 22:28:41 +0430 Subject: [PATCH 084/234] define function in header --- include/rotating_gate.h | 1 + 1 file changed, 1 insertion(+) diff --git a/include/rotating_gate.h b/include/rotating_gate.h index 50a8389537..2ae26aa5b8 100644 --- a/include/rotating_gate.h +++ b/include/rotating_gate.h @@ -4,5 +4,6 @@ void RotatingGatePuzzleCameraUpdate(s16, s16); void RotatingGate_InitPuzzleAndGraphics(); u32 CheckForRotatingGatePuzzleCollision(u8, s16, s16); +bool32 CheckForRotatingGatePuzzleCollisionWithoutAnimation(u8, s16, s16); #endif // GUARD_ROTATING_GATE_H From e6db9c5d19275c662969f7e06688935ad476f8da Mon Sep 17 00:00:00 2001 From: MCboy Date: Sun, 12 Aug 2018 22:29:44 +0430 Subject: [PATCH 085/234] add function to header --- include/event_object_movement.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/include/event_object_movement.h b/include/event_object_movement.h index a8f5caa280..4d6251275e 100644 --- a/include/event_object_movement.h +++ b/include/event_object_movement.h @@ -146,6 +146,7 @@ u8 GetJumpInPlaceMovementAction(u32); bool8 EventObjectSetHeldMovement(struct EventObject *eventObject, u8 specialAnimId); bool8 EventObjectIsMovementOverridden(struct EventObject *eventObject); u8 EventObjectCheckHeldMovementStatus(struct EventObject *eventObject); +u8 EventObjectGetHeldMovementActionId(struct EventObject *eventObject); void TryOverrideTemplateCoordsForEventObject(const struct EventObject *eventObject, u8 movementType); void OverrideTemplateCoordsForEventObject(const struct EventObject *eventObject); void ShiftStillEventObjectCoords(struct EventObject *pObject); @@ -185,6 +186,7 @@ bool8 FreezeEventObject(struct EventObject *eventObject); u8 GetMoveDirectionFastAnimNum(u8); u8 GetMoveDirectionFasterAnimNum(u8); u8 GetMoveDirectionFastestAnimNum(u8); +u8 GetLedgeJumpDirection(s16, s16, u8); void MovementType_None(struct Sprite *); void MovementType_LookAround(struct Sprite *); From f7c3151ef24fdf02a724646f033241eff331972a Mon Sep 17 00:00:00 2001 From: MCboy Date: Sun, 12 Aug 2018 22:31:19 +0430 Subject: [PATCH 086/234] add functions to header --- include/field_player_avatar.h | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/include/field_player_avatar.h b/include/field_player_avatar.h index 8cd6c275b9..b11b5e21ad 100644 --- a/include/field_player_avatar.h +++ b/include/field_player_avatar.h @@ -45,4 +45,22 @@ void SetPlayerAvatarStateMask(u8 a); u8 GetPlayerAvatarGraphicsIdByStateId(u8 a); u8 GetJumpSpecialMovementAction(u32); +bool8 ForcedMovement_None(void); +bool8 ForcedMovement_Slip(void); +bool8 ForcedMovement_WalkSouth(void); +bool8 ForcedMovement_WalkNorth(void); +bool8 ForcedMovement_WalkWest(void); +bool8 ForcedMovement_WalkEast(void); +bool8 ForcedMovement_PushedSouthByCurrent(void); +bool8 ForcedMovement_PushedNorthByCurrent(void); +bool8 ForcedMovement_PushedWestByCurrent(void); +bool8 ForcedMovement_PushedEastByCurrent(void); +bool8 ForcedMovement_SlideSouth(void); +bool8 ForcedMovement_SlideNorth(void); +bool8 ForcedMovement_SlideWest(void); +bool8 ForcedMovement_SlideEast(void); +bool8 ForcedMovement_0xBB(void); +bool8 ForcedMovement_0xBC(void); +bool8 ForcedMovement_MuddySlope(void); + #endif // GUARD_FIELD_PLAYER_AVATAR_H From 2ddabca996047b0e6404b926f6455b9e73fc27b2 Mon Sep 17 00:00:00 2001 From: MCboy Date: Sun, 12 Aug 2018 22:31:58 +0430 Subject: [PATCH 087/234] apply some changes --- src/field_player_avatar.c | 122 +++++++++++++++----------------------- 1 file changed, 47 insertions(+), 75 deletions(-) diff --git a/src/field_player_avatar.c b/src/field_player_avatar.c index 3289c19856..6ab7216437 100644 --- a/src/field_player_avatar.c +++ b/src/field_player_avatar.c @@ -11,67 +11,36 @@ #include "overworld.h" #include "rotating_gate.h" #include "constants/event_object_movement_constants.h" +#include "field_player_avatar.h" -bool8 ForcedMovement_None(void); -bool8 ForcedMovement_Slip(void); -bool8 ForcedMovement_WalkSouth(void); -bool8 ForcedMovement_WalkNorth(void); -bool8 ForcedMovement_WalkWest(void); -bool8 ForcedMovement_WalkEast(void); -bool8 ForcedMovement_PushedSouthByCurrent(void); -bool8 ForcedMovement_PushedNorthByCurrent(void); -bool8 ForcedMovement_PushedWestByCurrent(void); -bool8 ForcedMovement_PushedEastByCurrent(void); -bool8 ForcedMovement_SlideSouth(void); -bool8 ForcedMovement_SlideNorth(void); -bool8 ForcedMovement_SlideWest(void); -bool8 ForcedMovement_SlideEast(void); -bool8 ForcedMovement_0xBB(void); -bool8 ForcedMovement_0xBC(void); -bool8 ForcedMovement_MuddySlope(void); - -void task_add_bump_boulder(u8, u8); -u8 GetLedgeJumpDirection(s16 x, s16 y, u8 z); -bool32 CheckForRotatingGatePuzzleCollisionWithoutAnimation(u8, s16, s16); // from rotating_gate.c -bool8 ShouldJumpLedge(s16, s16, u8); -bool8 sub_808B1BC(s16, s16, u8); -u8 sub_808B164(struct EventObject *, s16, s16, u8, u8); -u8 CheckForEventObjectCollision(struct EventObject *, s16, s16, u8, u8); -u8 sub_808B238(s16, s16, u8); -void check_acro_bike_metatile(s16, s16, u8, u8 *); -void PlayerNotOnBikeCollide(u8); -void PlayerNotOnBikeCollideWithFarawayIslandMew(u8); -bool8 IsPlayerCollidingWithFarawayIslandMew(u8); -void PlayerRun(u8); -void PlayerTurnInPlace(u8); -void PlayerFaceDirection(u8); -u8 GetPlayerFacingDirection(void); -void MovePlayerNotOnBike(u8, u16); -u8 CheckMovementInputNotOnBike(u8); -u8 GetPlayerMovementDirection(void); -void sub_808C5B0(void); -void sub_808C4D8(void); -void PlayerJumpLedge(u8); -u8 CheckForPlayerAvatarCollision(u8); -void PlayerGoSpeed1(u8); -void PlayerGoSpeed2(u8); -void PlayerGoSpeed3(u8); +extern void task_add_bump_boulder(u8, u8); +static bool8 ShouldJumpLedge(s16, s16, u8); +static bool8 sub_808B1BC(s16, s16, u8); +static u8 sub_808B164(struct EventObject *, s16, s16, u8, u8); +static u8 sub_808B238(s16, s16, u8); +static void check_acro_bike_metatile(s16, s16, u8, u8 *); +extern void PlayerNotOnBikeCollide(u8); +extern void PlayerNotOnBikeCollideWithFarawayIslandMew(u8); +extern void PlayerRun(u8); +static void MovePlayerNotOnBike(u8, u16); +static u8 CheckMovementInputNotOnBike(u8); +extern void sub_808C5B0(void); +extern void sub_808C4D8(void); +static u8 CheckForPlayerAvatarCollision(u8); static u8 EventObjectCB2_NoMovement2(); -void sub_808C280(struct EventObject *); //struct EventObject *playerEventObj -bool8 TryInterruptEventObjectSpecialAnim(struct EventObject *, u8); +extern void sub_808C280(struct EventObject *); +static bool8 TryInterruptEventObjectSpecialAnim(struct EventObject *, u8); void npc_clear_strange_bits(struct EventObject *); -u8 EventObjectGetHeldMovementActionId(struct EventObject *); -void DoPlayerAvatarTransition(void); -bool8 TryDoMetatileBehaviorForcedMovement(); -void MovePlayerAvatarUsingKeypadInput(u8, u16, u16); -void PlayerAllowForcedMovementIfMovingSameDirection(); -void MovePlayerNotOnBike(u8 a, u16 b); -u8 sub_808B028(u8); -u8 GetForcedMovementByMetatileBehavior(); -void PlayerNotOnBikeNotMoving(u8, u16); -void PlayerNotOnBikeTurningInPlace(u8, u16); -void PlayerNotOnBikeMoving(u8, u16); -void sub_808C750(u8); +extern void DoPlayerAvatarTransition(void); +static bool8 TryDoMetatileBehaviorForcedMovement(); +static void MovePlayerAvatarUsingKeypadInput(u8, u16, u16); +static void PlayerAllowForcedMovementIfMovingSameDirection(); +static u8 sub_808B028(u8); +static u8 GetForcedMovementByMetatileBehavior(); +static void PlayerNotOnBikeNotMoving(u8, u16); +static void PlayerNotOnBikeTurningInPlace(u8, u16); +static void PlayerNotOnBikeMoving(u8, u16); +extern void sub_808C750(u8); static bool8 (*const gUnknown_084973FC[])(u8) = { @@ -94,6 +63,7 @@ static bool8 (*const gUnknown_084973FC[])(u8) = MetatileBehavior_IsSecretBaseSpinMat, MetatileBehavior_IsMuddySlope, }; + static bool8 (*const gUnknown_08497444[])(void) = { ForcedMovement_None, @@ -116,6 +86,7 @@ static bool8 (*const gUnknown_08497444[])(void) = ForcedMovement_0xBC, ForcedMovement_MuddySlope, }; + static void (*const gUnknown_08497490[])(u8, u16) = { PlayerNotOnBikeNotMoving, @@ -131,6 +102,7 @@ static bool8 (*const gUnknown_0849749C[])(u8) = MetatileBehavior_IsVerticalRail, MetatileBehavior_IsHorizontalRail, }; + static const u8 gUnknown_084974B0[] = {9, 10, 11, 12, 13, 0, 0, 0}; void MovementType_Player(struct Sprite *sprite) @@ -164,7 +136,7 @@ void player_step(u8 direction, u16 newKeys, u16 heldKeys) } } -bool8 TryInterruptEventObjectSpecialAnim(struct EventObject *playerEventObj, u8 direction) +static bool8 TryInterruptEventObjectSpecialAnim(struct EventObject *playerEventObj, u8 direction) { #ifdef NONMATCHING u8 r5 = direction; @@ -213,7 +185,7 @@ void npc_clear_strange_bits(struct EventObject *eventObj) gPlayerAvatar.flags &= ~PLAYER_AVATAR_FLAG_DASH; } -void MovePlayerAvatarUsingKeypadInput(u8 direction, u16 newKeys, u16 heldKeys) +static void MovePlayerAvatarUsingKeypadInput(u8 direction, u16 newKeys, u16 heldKeys) { if ((gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_MACH_BIKE) || (gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_ACRO_BIKE)) @@ -222,18 +194,18 @@ void MovePlayerAvatarUsingKeypadInput(u8 direction, u16 newKeys, u16 heldKeys) MovePlayerNotOnBike(direction, heldKeys); } -void PlayerAllowForcedMovementIfMovingSameDirection(void) +static void PlayerAllowForcedMovementIfMovingSameDirection(void) { if (gPlayerAvatar.runningState == MOVING) gPlayerAvatar.flags &= ~PLAYER_AVATAR_FLAG_5; } -bool8 TryDoMetatileBehaviorForcedMovement() +static bool8 TryDoMetatileBehaviorForcedMovement() { return gUnknown_08497444[GetForcedMovementByMetatileBehavior()](); } -u8 GetForcedMovementByMetatileBehavior(void) +static u8 GetForcedMovementByMetatileBehavior(void) { u8 i; @@ -404,12 +376,12 @@ bool8 ForcedMovement_MuddySlope(void) } } -void MovePlayerNotOnBike(u8 direction, u16 heldKeys) +static void MovePlayerNotOnBike(u8 direction, u16 heldKeys) { gUnknown_08497490[CheckMovementInputNotOnBike(direction)](direction, heldKeys); } -u8 CheckMovementInputNotOnBike(u8 direction) +static u8 CheckMovementInputNotOnBike(u8 direction) { if (direction == DIR_NONE) { @@ -428,17 +400,17 @@ u8 CheckMovementInputNotOnBike(u8 direction) } } -void PlayerNotOnBikeNotMoving(u8 direction, u16 heldKeys) +static void PlayerNotOnBikeNotMoving(u8 direction, u16 heldKeys) { PlayerFaceDirection(GetPlayerFacingDirection()); } -void PlayerNotOnBikeTurningInPlace(u8 direction, u16 heldKeys) +static void PlayerNotOnBikeTurningInPlace(u8 direction, u16 heldKeys) { PlayerTurnInPlace(direction); } -void PlayerNotOnBikeMoving(u8 direction, u16 heldKeys) +static void PlayerNotOnBikeMoving(u8 direction, u16 heldKeys) { u8 r0 = CheckForPlayerAvatarCollision(direction); @@ -490,7 +462,7 @@ void PlayerNotOnBikeMoving(u8 direction, u16 heldKeys) } } -u8 CheckForPlayerAvatarCollision(u8 direction) +static u8 CheckForPlayerAvatarCollision(u8 direction) { s16 x, y; struct EventObject *playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId]; @@ -501,7 +473,7 @@ u8 CheckForPlayerAvatarCollision(u8 direction) return CheckForEventObjectCollision(playerEventObj, x, y, direction, MapGridGetMetatileBehaviorAt(x, y)); } -u8 sub_808B028(u8 direction) +static u8 sub_808B028(u8 direction) { s16 x, y; struct EventObject *playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId]; @@ -536,7 +508,7 @@ u8 CheckForEventObjectCollision(struct EventObject *a, s16 x, s16 y, u8 directio return collision; } -u8 sub_808B164(struct EventObject *a, s16 x, s16 y, u8 direction, u8 e) +static u8 sub_808B164(struct EventObject *a, s16 x, s16 y, u8 direction, u8 e) { u8 collision = GetCollisionAtCoords(a, x, y, direction); @@ -549,7 +521,7 @@ u8 sub_808B164(struct EventObject *a, s16 x, s16 y, u8 direction, u8 e) return collision; } -bool8 sub_808B1BC(s16 x, s16 y, u8 direction) +static bool8 sub_808B1BC(s16 x, s16 y, u8 direction) { if ((gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_SURFING) && MapGridGetZCoordAt(x, y) == 3 @@ -564,7 +536,7 @@ bool8 sub_808B1BC(s16 x, s16 y, u8 direction) } } -bool8 ShouldJumpLedge(s16 x, s16 y, u8 z) +static bool8 ShouldJumpLedge(s16 x, s16 y, u8 z) { if (GetLedgeJumpDirection(x, y, z) != 0) return TRUE; @@ -572,7 +544,7 @@ bool8 ShouldJumpLedge(s16 x, s16 y, u8 z) return FALSE; } -u8 sub_808B238(s16 x, s16 y, u8 direction) +static u8 sub_808B238(s16 x, s16 y, u8 direction) { if (FlagGet(FLAG_SYS_USE_STRENGTH)) { @@ -594,7 +566,7 @@ u8 sub_808B238(s16 x, s16 y, u8 direction) return 0; } -void check_acro_bike_metatile(s16 unused1, s16 unused2, u8 c, u8 *d) +static void check_acro_bike_metatile(s16 unused1, s16 unused2, u8 c, u8 *d) { u8 i; From 9e9ec8dc963c4786ac3af19102ebe690cb7785d5 Mon Sep 17 00:00:00 2001 From: MCboy Date: Sun, 12 Aug 2018 23:17:27 +0430 Subject: [PATCH 088/234] god damn it contributers :c --- include/event_object_movement.h | 1 + 1 file changed, 1 insertion(+) diff --git a/include/event_object_movement.h b/include/event_object_movement.h index 4d6251275e..1a473eea99 100644 --- a/include/event_object_movement.h +++ b/include/event_object_movement.h @@ -187,6 +187,7 @@ u8 GetMoveDirectionFastAnimNum(u8); u8 GetMoveDirectionFasterAnimNum(u8); u8 GetMoveDirectionFastestAnimNum(u8); u8 GetLedgeJumpDirection(s16, s16, u8); +void CameraObjectSetFollowedObjectId(u8 objectId); void MovementType_None(struct Sprite *); void MovementType_LookAround(struct Sprite *); From 2dd5fc23d4d34890e17a412ae9ad80e23c7aa50d Mon Sep 17 00:00:00 2001 From: Diegoisawesome Date: Sun, 12 Aug 2018 12:54:07 -0700 Subject: [PATCH 089/234] Prepare learn_move for merge --- asm/battle_frontier_2.s | 2 +- asm/easy_chat.s | 8 +- asm/learn_move.s | 1652 -------------------- asm/party_menu.s | 26 +- asm/pokemon_storage_system.s | 8 +- asm/pokemon_summary_screen.s | 2 +- asm/rom_8011DC0.s | 8 +- asm/script_menu.s | 4 +- asm/shop.s | 2 +- asm/slot_machine.s | 2 +- asm/trade.s | 6 +- asm/use_pokeblock.s | 2 +- data/learn_move.s | 93 -- data/maps/FallarborTown_House2/scripts.inc | 2 +- data/specials.inc | 2 +- include/learn_move.h | 4 +- include/list_menu.h | 2 + include/menu.h | 4 +- include/pokemon_summary_screen.h | 1 + include/pokenav.h | 5 +- include/strings.h | 10 + ld_script.txt | 1 - src/battle_script_commands.c | 4 +- src/berry_blender.c | 2 +- src/clear_save_data_screen.c | 2 +- src/egg_hatch.c | 2 +- src/evolution_scene.c | 8 +- src/item_menu.c | 2 +- src/learn_move.c | 877 +++++++++-- src/main_menu.c | 4 +- src/menu.c | 8 +- src/menu_helpers.c | 2 +- src/player_pc.c | 4 +- src/pokeblock.c | 2 +- src/pokemon_summary_screen.c | 2 +- src/secret_base.c | 2 +- src/start_menu.c | 6 +- src/starter_choose.c | 2 +- src/wallclock.c | 2 +- 39 files changed, 875 insertions(+), 1902 deletions(-) delete mode 100644 data/learn_move.s diff --git a/asm/battle_frontier_2.s b/asm/battle_frontier_2.s index 38e0d2e621..8f2d7b0e01 100644 --- a/asm/battle_frontier_2.s +++ b/asm/battle_frontier_2.s @@ -11771,7 +11771,7 @@ sub_81A070C: @ 81A070C ldrsh r0, [r4, r1] cmp r0, 0 bne _081A0730 - bl ProcessMenuInputNoWrapAround + bl Menu_ProcessInputNoWrapAround b _081A0734 .pool _081A0730: diff --git a/asm/easy_chat.s b/asm/easy_chat.s index 4ee0fa2aea..dadc5bda44 100644 --- a/asm/easy_chat.s +++ b/asm/easy_chat.s @@ -1635,7 +1635,7 @@ _0811AF86: thumb_func_start sub_811AF8C sub_811AF8C: @ 811AF8C push {lr} - bl ProcessMenuInputNoWrap_ + bl Menu_ProcessInputNoWrap_ lsls r0, 24 asrs r1, r0, 24 cmp r1, 0 @@ -1684,7 +1684,7 @@ _0811AFE6: thumb_func_start sub_811AFEC sub_811AFEC: @ 811AFEC push {r4,lr} - bl ProcessMenuInputNoWrap_ + bl Menu_ProcessInputNoWrap_ lsls r0, 24 asrs r1, r0, 24 cmp r1, 0 @@ -1727,7 +1727,7 @@ _0811B03A: thumb_func_start sub_811B040 sub_811B040: @ 811B040 push {lr} - bl ProcessMenuInputNoWrap_ + bl Menu_ProcessInputNoWrap_ lsls r0, 24 asrs r1, r0, 24 cmp r1, 0 @@ -1832,7 +1832,7 @@ sub_811B0E8: @ 811B0E8 thumb_func_start sub_811B0F8 sub_811B0F8: @ 811B0F8 push {r4,lr} - bl ProcessMenuInputNoWrap_ + bl Menu_ProcessInputNoWrap_ lsls r0, 24 asrs r1, r0, 24 cmp r1, 0 diff --git a/asm/learn_move.s b/asm/learn_move.s index 2bd50789cc..2428f2984b 100644 --- a/asm/learn_move.s +++ b/asm/learn_move.s @@ -5,1656 +5,4 @@ .text -/* - thumb_func_start sub_8160624 -sub_8160624: @ 8160624 - push {lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - pop {r0} - bx r0 - thumb_func_end sub_8160624 -*/ - -/* - thumb_func_start sub_8160638 -sub_8160638: @ 8160638 - push {lr} - sub sp, 0x4 - bl ScriptContext2_Enable - ldr r0, =sub_8160664 - movs r1, 0xA - bl CreateTask - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - add sp, 0x4 - pop {r0} - bx r0 - .pool - thumb_func_end sub_8160638 -*/ - -/* - thumb_func_start sub_8160664 -sub_8160664: @ 8160664 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08160688 - ldr r0, =sub_81606A0 - bl SetMainCallback2 - ldr r1, =gFieldCallback - ldr r0, =sub_80AF168 - str r0, [r1] - adds r0, r4, 0 - bl DestroyTask -_08160688: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8160664 -*/ - -/* - thumb_func_start sub_81606A0 -sub_81606A0: @ 81606A0 - push {r4-r6,lr} - bl ResetSpriteData - bl FreeAllSpritePalettes - bl ResetTasks - bl clear_scheduled_bg_copies_to_vram - ldr r6, =gUnknown_0203BC34 - movs r0, 0x8C - lsls r0, 1 - bl AllocZeroed - str r0, [r6] - ldr r1, =gSpecialVar_0x8004 - ldrh r1, [r1] - adds r0, 0x44 - movs r5, 0 - strb r1, [r0] - ldr r0, =sub_8160624 - bl SetVBlankCallback - bl sub_81607EC - movs r0, 0 - bl sub_81D2824 - ldr r4, =gUnknown_0203BC38 - movs r0, 0 - strh r5, [r4] - strh r5, [r4, 0x2] - strb r0, [r4, 0x4] - bl sub_8161280 - ldr r0, =gUnknown_085CEBB0 - bl LoadSpriteSheet - ldr r0, =gUnknown_085CEBB8 - bl LoadSpritePalette - bl sub_81610B8 - ldr r0, =gMultiuseListMenuTemplate - ldrh r1, [r4] - ldrh r2, [r4, 0x2] - bl ListMenuInit - ldr r1, [r6] - movs r2, 0x89 - lsls r2, 1 //0x112 - adds r1, r2 //partymon + 0x112 - strb r0, [r1] - movs r0, 0 - movs r1, 0 - movs r2, 0x2 - bl FillPalette - ldr r0, =sub_816082C - bl SetMainCallback2 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81606A0 -*/ - -/* - thumb_func_start sub_8160740 -sub_8160740: @ 8160740 - push {r4,r5,lr} - bl ResetSpriteData - bl FreeAllSpritePalettes - bl ResetTasks - bl clear_scheduled_bg_copies_to_vram - ldr r5, =gUnknown_0203BC34 - movs r0, 0x8C - lsls r0, 1 - bl AllocZeroed - str r0, [r5] - movs r1, 0x1C - strb r1, [r0] - ldr r0, [r5] - ldr r1, =gSpecialVar_0x8004 - ldrh r1, [r1] - adds r0, 0x44 - strb r1, [r0] - ldr r0, [r5] - ldr r1, =gSpecialVar_0x8005 - ldrh r1, [r1] - adds r0, 0x45 - strb r1, [r0] - ldr r0, =sub_8160624 - bl SetVBlankCallback - bl sub_81607EC - ldr r4, =gUnknown_0203BC38 - ldrb r0, [r4, 0x4] - bl sub_81D2824 - bl sub_8161280 - ldr r0, =gUnknown_085CEBB0 - bl LoadSpriteSheet - ldr r0, =gUnknown_085CEBB8 - bl LoadSpritePalette - bl sub_81610B8 - ldr r0, =gMultiuseListMenuTemplate - ldrh r1, [r4] - ldrh r2, [r4, 0x2] - bl ListMenuInit - ldr r1, [r5] - movs r2, 0x89 - lsls r2, 1 - adds r1, r2 - strb r0, [r1] - movs r0, 0 - movs r1, 0 - movs r2, 0x2 - bl FillPalette - ldr r0, =sub_816082C - bl SetMainCallback2 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8160740 -*/ - -/* - thumb_func_start sub_81607EC -sub_81607EC: @ 81607EC - push {lr} - bl ResetVramOamAndBgCntRegs - movs r0, 0 - bl ResetBgsAndClearDma3BusyFlags - ldr r1, =gUnknown_085CEC28 - movs r0, 0 - movs r2, 0x2 - bl InitBgsFromTemplates - bl ResetAllBgsCoordinates - movs r1, 0x82 - lsls r1, 5 - movs r0, 0 - bl SetGpuReg - movs r0, 0 - bl ShowBg - movs r0, 0x1 - bl ShowBg - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - pop {r0} - bx r0 - .pool - thumb_func_end sub_81607EC -*/ - -/* - thumb_func_start sub_816082C -sub_816082C: @ 816082C - push {lr} - bl sub_8160868 - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl do_scheduled_bg_tilemap_copies_to_vram - bl UpdatePaletteFade - pop {r0} - bx r0 - thumb_func_end sub_816082C -*/ - - thumb_func_start sub_816084C -sub_816084C: @ 816084C - push {r4,lr} - adds r1, r0, 0 - ldr r4, =gStringVar4 - adds r0, r4, 0 - bl StringExpandPlaceholders - adds r0, r4, 0 - bl sub_81D2BF4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_816084C - - thumb_func_start sub_8160868 -sub_8160868: @ 8160868 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - ldr r1, =gUnknown_0203BC34 - ldr r0, [r1] - ldrb r0, [r0] - adds r7, r1, 0 - cmp r0, 0x21 - bls _0816087E - b _08160E8A -_0816087E: - lsls r0, 2 - ldr r1, =_08160890 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08160890: - .4byte _08160918 - .4byte _08160932 - .4byte _0816094C - .4byte _08160954 - .4byte _0816095C - .4byte _08160964 - .4byte _08160980 - .4byte _08160E8A - .4byte _08160988 - .4byte _081609A8 - .4byte _08160E8A - .4byte _08160E8A - .4byte _08160A44 - .4byte _08160A64 - .4byte _08160CB8 - .4byte _08160CD8 - .4byte _08160AB8 - .4byte _08160AD0 - .4byte _08160AEC - .4byte _08160C1C - .4byte _08160C48 - .4byte _08160C98 - .4byte _08160CA6 - .4byte _08160E8A - .4byte _08160B2C - .4byte _08160B60 - .4byte _08160B80 - .4byte _08160BDC - .4byte _08160CFC - .4byte _08160D48 - .4byte _08160E0C - .4byte _08160E38 - .4byte _08160E58 - .4byte _08160E70 -_08160918: - ldr r1, [r7] - ldrb r0, [r1] - adds r0, 0x1 - movs r4, 0 - strb r0, [r1] - movs r0, 0 - bl render_previous_quest_text - movs r0, 0x1 - negs r0, r0 - str r4, [sp] - movs r1, 0 - b _08160CAE -_08160932: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _08160940 - b _08160E8A -_08160940: - ldr r1, [r7] - movs r0, 0x4 - b _08160E88 - .pool -_0816094C: - ldr r1, [r7] - ldrb r0, [r1] - adds r0, 0x1 - b _08160E88 -_08160954: - movs r0, 0 - bl render_previous_quest_text - b _0816096A -_0816095C: - movs r0, 0 - bl sub_8160F50 - b _08160E8A -_08160964: - movs r0, 0 - bl sub_8161074 -_0816096A: - ldr r0, =gUnknown_0203BC34 - ldr r1, [r0] - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - bl sub_81611AC - b _08160E8A - .pool -_08160980: - movs r0, 0x1 - bl sub_8160F50 - b _08160E8A -_08160988: - bl sub_81D2C3C - lsls r0, 16 - cmp r0, 0 - beq _08160994 - b _08160E8A -_08160994: - bl sub_81D2C50 - ldr r0, =gUnknown_0203BC34 - ldr r1, [r0] - ldrb r0, [r1] - adds r0, 0x1 - b _08160E88 - .pool -_081609A8: - bl ProcessMenuInputNoWrap_ - lsls r0, 24 - asrs r1, r0, 24 - cmp r1, 0 - bne _08160A0A - ldr r5, =gUnknown_0203BC34 - ldr r0, [r5] - adds r0, 0x44 - ldrb r1, [r0] - movs r0, 0x64 - adds r4, r1, 0 - muls r4, r0 - ldr r0, =gPlayerParty - adds r4, r0 - bl sub_8161054 - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r4, 0 - bl GiveMoveToMon - lsls r0, 16 - ldr r1, =0xffff0000 - cmp r0, r1 - beq _08160A04 - ldr r0, =gText_PkmnLearnedMove4 - bl sub_816084C - ldr r1, =gSpecialVar_0x8004 - movs r0, 0x1 - strh r0, [r1] - ldr r1, [r5] - movs r0, 0x1F - b _08160E88 - .pool -_08160A04: - ldr r1, [r5] - movs r0, 0x10 - b _08160E88 -_08160A0A: - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _08160A18 - cmp r1, 0x1 - beq _08160A18 - b _08160E8A -_08160A18: - ldr r0, =gUnknown_0203BC38 - ldrb r0, [r0, 0x4] - cmp r0, 0 - bne _08160A30 - ldr r0, =gUnknown_0203BC34 - ldr r1, [r0] - movs r0, 0x3 - b _08160E88 - .pool -_08160A30: - cmp r0, 0x1 - beq _08160A36 - b _08160E8A -_08160A36: - ldr r0, =gUnknown_0203BC34 - ldr r1, [r0] - movs r0, 0x5 - b _08160E88 - .pool -_08160A44: - bl sub_81D2C3C - lsls r0, 16 - cmp r0, 0 - beq _08160A50 - b _08160E8A -_08160A50: - bl sub_81D2C50 - ldr r0, =gUnknown_0203BC34 - ldr r1, [r0] - ldrb r0, [r1] - adds r0, 0x1 - b _08160E88 - .pool -_08160A64: - bl ProcessMenuInputNoWrap_ - lsls r0, 24 - asrs r1, r0, 24 - cmp r1, 0 - bne _08160A7C - ldr r0, =gSpecialVar_0x8004 - strh r1, [r0] - b _08160E82 - .pool -_08160A7C: - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _08160A8A - cmp r1, 0x1 - beq _08160A8A - b _08160E8A -_08160A8A: - ldr r0, =gUnknown_0203BC38 - ldrb r0, [r0, 0x4] - cmp r0, 0 - bne _08160AA4 - ldr r0, =gUnknown_0203BC34 - ldr r1, [r0] - movs r0, 0x3 - b _08160E88 - .pool -_08160AA4: - cmp r0, 0x1 - beq _08160AAA - b _08160E8A -_08160AAA: - ldr r0, =gUnknown_0203BC34 - ldr r1, [r0] - movs r0, 0x5 - b _08160E88 - .pool -_08160AB8: - ldr r0, =gText_PkmnTryingToLearnMove - bl sub_816084C - ldr r0, =gUnknown_0203BC34 - ldr r1, [r0] - ldrb r0, [r1] - adds r0, 0x1 - b _08160E88 - .pool -_08160AD0: - bl sub_81D2C3C - lsls r0, 16 - cmp r0, 0 - beq _08160ADC - b _08160E8A -_08160ADC: - bl sub_81D2C50 - ldr r0, =gUnknown_0203BC34 - ldr r1, [r0] - movs r0, 0x12 - b _08160E88 - .pool -_08160AEC: - bl ProcessMenuInputNoWrap_ - lsls r0, 24 - asrs r1, r0, 24 - cmp r1, 0 - bne _08160B10 - ldr r0, =gText_WhichMoveToForget2 - bl sub_816084C - ldr r0, =gUnknown_0203BC34 - ldr r1, [r0] - movs r0, 0x13 - b _08160E88 - .pool -_08160B10: - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _08160B1E - cmp r1, 0x1 - beq _08160B1E - b _08160E8A -_08160B1E: - ldr r0, =gUnknown_0203BC34 - ldr r1, [r0] - movs r0, 0x18 - b _08160E88 - .pool -_08160B2C: - ldr r4, =gStringVar2 - bl sub_8161054 - movs r1, 0xD - muls r1, r0 - ldr r0, =gMoveNames - adds r1, r0 - adds r0, r4, 0 - bl StringCopy - ldr r0, =gText_StopTryingToTeachMove - bl sub_816084C - ldr r0, =gUnknown_0203BC34 - ldr r1, [r0] - ldrb r0, [r1] - adds r0, 0x1 - b _08160E88 - .pool -_08160B60: - bl sub_81D2C3C - lsls r0, 16 - cmp r0, 0 - beq _08160B6C - b _08160E8A -_08160B6C: - bl sub_81D2C50 - ldr r0, =gUnknown_0203BC34 - ldr r1, [r0] - ldrb r0, [r1] - adds r0, 0x1 - b _08160E88 - .pool -_08160B80: - bl ProcessMenuInputNoWrap_ - lsls r0, 24 - asrs r1, r0, 24 - cmp r1, 0 - bne _08160B98 - ldr r0, =gUnknown_0203BC34 - ldr r1, [r0] - movs r0, 0x1B - b _08160E88 - .pool -_08160B98: - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _08160BA6 - cmp r1, 0x1 - beq _08160BA6 - b _08160E8A -_08160BA6: - ldr r0, =gUnknown_0203BC38 - ldrb r0, [r0, 0x4] - cmp r0, 0 - bne _08160BC4 - ldr r2, =gUnknown_0203BC34 - ldr r1, [r2] - movs r0, 0x3 - strb r0, [r1] - adds r7, r2, 0 - b _08160BD0 - .pool -_08160BC4: - ldr r7, =gUnknown_0203BC34 - cmp r0, 0x1 - bne _08160BD0 - ldr r1, [r7] - movs r0, 0x5 - strb r0, [r1] -_08160BD0: - ldr r1, [r7] - movs r0, 0x10 - b _08160E88 - .pool -_08160BDC: - bl sub_81D2C3C - lsls r0, 16 - cmp r0, 0 - beq _08160BE8 - b _08160E8A -_08160BE8: - movs r0, 0x3 - movs r1, 0x11 - bl FillWindowPixelBuffer - ldr r0, =gUnknown_0203BC38 - ldrb r0, [r0, 0x4] - cmp r0, 0 - bne _08160C08 - ldr r0, =gUnknown_0203BC34 - ldr r1, [r0] - movs r0, 0x3 - b _08160E88 - .pool -_08160C08: - cmp r0, 0x1 - beq _08160C0E - b _08160E8A -_08160C0E: - ldr r0, =gUnknown_0203BC34 - ldr r1, [r0] - movs r0, 0x5 - b _08160E88 - .pool -_08160C1C: - bl sub_81D2C3C - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0 - beq _08160C2A - b _08160E8A -_08160C2A: - ldr r0, =gUnknown_0203BC34 - ldr r1, [r0] - movs r0, 0x14 - strb r0, [r1] - subs r0, 0x15 - str r2, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - b _08160E8A - .pool -_08160C48: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _08160C56 - b _08160E8A -_08160C56: - bl sub_8161054 - lsls r0, 16 - lsrs r0, 16 - ldr r4, =gPlayerParty - ldr r1, =gUnknown_0203BC34 - ldr r1, [r1] - adds r1, 0x44 - ldrb r1, [r1] - ldr r2, =gPlayerPartyCount - ldrb r2, [r2] - subs r2, 0x1 - lsls r2, 24 - lsrs r2, 24 - ldr r3, =sub_8160740 - str r0, [sp] - adds r0, r4, 0 - bl sub_81BFA38 - bl sub_8160EA0 - b _08160E8A - .pool -_08160C98: - bl sub_81D2C3C - lsls r0, 16 - cmp r0, 0 - beq _08160CA4 - b _08160E8A -_08160CA4: - b _08160E82 -_08160CA6: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] -_08160CAE: - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - b _08160E8A -_08160CB8: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, =gUnknown_0203BC34 - ldr r1, [r0] - ldrb r0, [r1] - adds r0, 0x1 - b _08160E88 - .pool -_08160CD8: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _08160CE6 - b _08160E8A -_08160CE6: - bl sub_8160EA0 - ldr r0, =CB2_ReturnToField - bl SetMainCallback2 - b _08160E8A - .pool -_08160CFC: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r0, =gUnknown_0203BC34 - ldr r1, [r0] - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - ldr r0, =gUnknown_0203BC38 - ldrb r0, [r0, 0x4] - cmp r0, 0 - bne _08160D30 - movs r0, 0x1 - bl render_previous_quest_text - b _08160D3A - .pool -_08160D30: - cmp r0, 0x1 - bne _08160D3A - movs r0, 0x1 - bl sub_8161074 -_08160D3A: - bl sub_8161234 - movs r0, 0x3 - movs r1, 0x2 - bl CopyWindowToVram - b _08160E8A -_08160D48: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _08160D56 - b _08160E8A -_08160D56: - ldr r1, [r7] - adds r2, r1, 0 - adds r2, 0x45 - ldrb r0, [r2] - cmp r0, 0x4 - bne _08160D6C - movs r0, 0x18 - b _08160E88 - .pool -_08160D6C: - adds r0, r1, 0 - adds r0, 0x44 - ldrb r0, [r0] - movs r4, 0x64 - muls r0, r4 - ldr r5, =gPlayerParty - adds r0, r5 - ldrb r1, [r2] - adds r1, 0xD - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - ldr r2, =gStringVar3 - movs r1, 0xD - mov r8, r1 - mov r1, r8 - muls r1, r0 - ldr r6, =gMoveNames - adds r1, r6 - adds r0, r2, 0 - bl StringCopy - ldr r1, [r7] - adds r0, r1, 0 - adds r0, 0x44 - ldrb r0, [r0] - muls r0, r4 - adds r0, r5 - adds r1, 0x45 - ldrb r1, [r1] - bl RemoveMonPPBonus - ldr r0, [r7] - adds r0, 0x44 - ldrb r0, [r0] - muls r4, r0 - adds r4, r5 - bl sub_8161054 - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - ldr r0, [r7] - adds r0, 0x45 - ldrb r2, [r0] - adds r0, r4, 0 - bl SetMonMoveSlot - ldr r4, =gStringVar2 - bl sub_8161054 - mov r1, r8 - muls r1, r0 - adds r1, r6 - adds r0, r4, 0 - bl StringCopy - ldr r0, =gText_12AndPoof - bl sub_816084C - ldr r1, [r7] - movs r0, 0x1E - strb r0, [r1] - ldr r1, =gSpecialVar_0x8004 - movs r0, 0x1 - strh r0, [r1] - b _08160E8A - .pool -_08160E0C: - bl sub_81D2C3C - lsls r0, 16 - cmp r0, 0 - bne _08160E8A - ldr r0, =gText_PkmnForgotMoveAndLearnedNew - bl sub_816084C - ldr r0, =gUnknown_0203BC34 - ldr r1, [r0] - movs r0, 0x1F - strb r0, [r1] - ldr r0, =0x0000016f - bl PlayFanfare - b _08160E8A - .pool -_08160E38: - bl sub_81D2C3C - lsls r0, 16 - cmp r0, 0 - bne _08160E8A - ldr r0, =0x0000016f - bl PlayFanfare - ldr r0, =gUnknown_0203BC34 - ldr r1, [r0] - movs r0, 0x20 - b _08160E88 - .pool -_08160E58: - bl IsFanfareTaskInactive - lsls r0, 24 - cmp r0, 0 - beq _08160E8A - ldr r0, =gUnknown_0203BC34 - ldr r1, [r0] - movs r0, 0x21 - b _08160E88 - .pool -_08160E70: - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08160E8A - movs r0, 0x5 - bl PlaySE -_08160E82: - ldr r0, =gUnknown_0203BC34 - ldr r1, [r0] - movs r0, 0xE -_08160E88: - strb r0, [r1] -_08160E8A: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8160868 - - thumb_func_start sub_8160EA0 -sub_8160EA0: @ 8160EA0 - push {r4,lr} - bl sub_8161234 - ldr r4, =gUnknown_0203BC34 - ldr r0, [r4] - movs r1, 0x89 - lsls r1, 1 - adds r0, r1 - ldrb r0, [r0] - ldr r1, =gUnknown_0203BC38 - adds r2, r1, 0x2 - bl DestroyListMenuTask - bl FreeAllWindowBuffers - ldr r0, [r4] - bl Free - movs r0, 0 - str r0, [r4] - bl ResetSpriteData - bl FreeAllSpritePalettes - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8160EA0 - - thumb_func_start render_previous_quest_text -render_previous_quest_text: @ 8160EE0 - push {r4-r6,lr} - sub sp, 0xC - lsls r0, 24 - lsrs r5, r0, 24 - movs r2, 0 - ldr r6, =gSprites - ldr r4, =gUnknown_0203BC34 - movs r3, 0x4 -_08160EF0: - ldr r0, [r4] - adds r0, 0x1 - adds r0, r2 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - adds r0, 0x3E - ldrb r1, [r0] - orrs r1, r3 - strb r1, [r0] - adds r2, 0x1 - cmp r2, 0xF - ble _08160EF0 - cmp r5, 0 - bne _08160F38 - ldr r4, =gStringVar4 - ldr r1, =gText_TeachWhichMoveToPkmn - adds r0, r4, 0 - bl StringExpandPlaceholders - movs r0, 0x3 - movs r1, 0x11 - bl FillWindowPixelBuffer - movs r0, 0x1 - str r0, [sp] - str r5, [sp, 0x4] - str r5, [sp, 0x8] - movs r0, 0x3 - movs r1, 0x1 - adds r2, r4, 0 - movs r3, 0 - bl PrintTextOnWindow -_08160F38: - add sp, 0xC - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end render_previous_quest_text - - thumb_func_start sub_8160F50 -sub_8160F50: @ 8160F50 - push {r4-r7,lr} - lsls r0, 24 - lsrs r7, r0, 24 - ldr r6, =gUnknown_0203BC34 - ldr r0, [r6] - movs r4, 0x89 - lsls r4, 1 - adds r0, r4 - ldrb r0, [r0] - bl ListMenuHandleInputGetItemId - adds r5, r0, 0 - ldr r0, [r6] - adds r0, r4 - ldrb r0, [r0] - ldr r4, =gUnknown_0203BC38 - adds r2, r4, 0x2 - adds r1, r4, 0 - bl ListMenuGetScrollAndRow - movs r0, 0x2 - negs r0, r0 - cmp r5, r0 - beq _08160FE4 - adds r0, 0x1 - cmp r5, r0 - bne _08161010 - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x30 - ands r0, r1 - cmp r0, 0 - bne _08160F9C - bl GetLRKeysState - lsls r0, 24 - cmp r0, 0 - beq _0816103E -_08160F9C: - movs r0, 0x5 - bl PlaySE - cmp r7, 0 - bne _08160FC4 - movs r0, 0x1 - bl PutWindowTilemap - ldr r0, [r6] - movs r1, 0x5 - strb r1, [r0] - movs r0, 0x1 - strb r0, [r4, 0x4] - b _08160FD4 - .pool -_08160FC4: - movs r0, 0 - bl PutWindowTilemap - ldr r0, [r6] - movs r2, 0 - movs r1, 0x3 - strb r1, [r0] - strb r2, [r4, 0x4] -_08160FD4: - movs r0, 0x1 - bl schedule_bg_copy_tilemap_to_vram - bl sub_8161054 - bl sub_816137C - b _0816103E -_08160FE4: - movs r0, 0x5 - bl PlaySE - bl sub_8161234 - ldr r1, [r6] - movs r0, 0xC - strb r0, [r1] - ldr r4, =gStringVar4 - ldr r1, =gText_GiveUpTeachingNewMove - adds r0, r4, 0 - bl StringExpandPlaceholders - adds r0, r4, 0 - bl sub_81D2BF4 - b _0816103E - .pool -_08161010: - movs r0, 0x5 - bl PlaySE - bl sub_8161234 - ldr r1, [r6] - movs r0, 0x8 - strb r0, [r1] - ldr r0, =gStringVar2 - movs r1, 0xD - muls r1, r5 - ldr r2, =gMoveNames - adds r1, r2 - bl StringCopy - ldr r4, =gStringVar4 - ldr r1, =gText_TeachX - adds r0, r4, 0 - bl StringExpandPlaceholders - adds r0, r4, 0 - bl sub_81D2BF4 -_0816103E: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8160F50 - - thumb_func_start sub_8161054 -sub_8161054: @ 8161054 - ldr r0, =gUnknown_0203BC34 - ldr r2, [r0] - ldr r1, =gUnknown_0203BC38 - ldrh r0, [r1, 0x2] - ldrh r1, [r1] - adds r0, r1 - lsls r0, 3 - adds r2, 0x4C - adds r2, r0 - ldr r0, [r2] - bx lr - .pool - thumb_func_end sub_8161054 - - thumb_func_start sub_8161074 -sub_8161074: @ 8161074 - push {r4,r5,lr} - sub sp, 0xC - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0 - bne _081610A6 - ldr r4, =gStringVar4 - ldr r1, =gText_TeachWhichMoveToPkmn - adds r0, r4, 0 - bl StringExpandPlaceholders - movs r0, 0x3 - movs r1, 0x11 - bl FillWindowPixelBuffer - movs r0, 0x1 - str r0, [sp] - str r5, [sp, 0x4] - str r5, [sp, 0x8] - movs r0, 0x3 - movs r1, 0x1 - adds r2, r4, 0 - movs r3, 0 - bl PrintTextOnWindow -_081610A6: - add sp, 0xC - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8161074 - - thumb_func_start sub_81610B8 -sub_81610B8: @ 81610B8 - push {r4-r7,lr} - ldr r2, =gUnknown_0203BC34 - ldr r0, [r2] - movs r1, 0x8A - lsls r1, 1 - adds r0, r1 - movs r1, 0xFF - strb r1, [r0] - ldr r0, [r2] - ldr r2, =0x00000113 - adds r1, r0, r2 - movs r0, 0x1 - negs r0, r0 - strb r0, [r1] - bl sub_81611AC - movs r4, 0 - ldr r5, =gUnknown_085CEC10 -_081610DC: - adds r2, r4, 0 - cmp r4, 0 - bge _081610E4 - adds r2, r4, 0x3 -_081610E4: - asrs r2, 2 - lsls r1, r2, 2 - subs r1, r4, r1 - lsls r1, 19 - movs r0, 0xD0 - lsls r0, 15 - adds r1, r0 - asrs r1, 16 - lsls r2, 19 - movs r0, 0x90 - lsls r0, 14 - adds r2, r0 - asrs r2, 16 - adds r0, r5, 0 - movs r3, 0 - bl CreateSprite - ldr r2, =gUnknown_0203BC34 - ldr r1, [r2] - adds r1, 0x1 - adds r1, r4 - strb r0, [r1] - adds r4, 0x1 - cmp r4, 0x7 - ble _081610DC - movs r4, 0 - ldr r7, =gUnknown_085CEC10 - adds r6, r2, 0 -_0816111C: - adds r2, r4, 0 - cmp r4, 0 - bge _08161124 - adds r2, r4, 0x3 -_08161124: - asrs r2, 2 - lsls r1, r2, 2 - subs r1, r4, r1 - lsls r1, 19 - movs r0, 0xD0 - lsls r0, 15 - adds r1, r0 - asrs r1, 16 - lsls r2, 19 - movs r0, 0xD0 - lsls r0, 14 - adds r2, r0 - asrs r2, 16 - adds r0, r7, 0 - movs r3, 0 - bl CreateSprite - ldr r1, [r6] - adds r2, r4, 0 - adds r2, 0x8 - adds r1, 0x1 - adds r1, r2 - strb r0, [r1] - ldr r0, [r6] - adds r0, 0x1 - adds r0, r2 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r5, =gSprites - adds r0, r5 - movs r1, 0x2 - bl StartSpriteAnim - adds r4, 0x1 - cmp r4, 0x7 - ble _0816111C - movs r4, 0 - ldr r3, =gUnknown_0203BC34 - movs r2, 0x4 -_08161176: - ldr r0, [r3] - adds r0, 0x1 - adds r0, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - adds r0, 0x3E - ldrb r1, [r0] - orrs r1, r2 - strb r1, [r0] - adds r4, 0x1 - cmp r4, 0xF - ble _08161176 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81610B8 - - thumb_func_start sub_81611AC -sub_81611AC: @ 81611AC - push {r4-r6,lr} - ldr r4, =gUnknown_0203BC34 - ldr r1, [r4] - movs r2, 0x8A - lsls r2, 1 - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, 0xFF - bne _081611D4 - ldr r0, =gUnknown_085CEBC0 - movs r3, 0x8B - lsls r3, 1 - adds r1, r3 - bl AddScrollIndicatorArrowPair - ldr r1, [r4] - movs r5, 0x8A - lsls r5, 1 - adds r1, r5 - strb r0, [r1] -_081611D4: - ldr r0, [r4] - ldr r6, =0x00000113 - adds r0, r6 - ldrb r0, [r0] - cmp r0, 0xFF - bne _08161210 - ldr r0, =gTempScrollArrowTemplate - adds r2, r0, 0 - ldr r1, =gUnknown_085CEBD0 - ldm r1!, {r3,r5,r6} - stm r2!, {r3,r5,r6} - ldr r1, [r1] - str r1, [r2] - ldr r2, [r4] - movs r3, 0x88 - lsls r3, 1 - adds r1, r2, r3 - ldrb r1, [r1] - ldr r5, =0x00000111 - adds r2, r5 - ldrb r2, [r2] - subs r1, r2 - strh r1, [r0, 0x8] - ldr r1, =gUnknown_0203BC38 - bl AddScrollIndicatorArrowPair - ldr r1, [r4] - ldr r6, =0x00000113 - adds r1, r6 - strb r0, [r1] -_08161210: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81611AC - - thumb_func_start sub_8161234 -sub_8161234: @ 8161234 - push {r4,lr} - ldr r4, =gUnknown_0203BC34 - ldr r0, [r4] - movs r2, 0x8A - lsls r2, 1 - adds r1, r0, r2 - ldrb r0, [r1] - cmp r0, 0xFF - beq _08161256 - bl RemoveScrollIndicatorArrowPair - ldr r0, [r4] - movs r1, 0x8A - lsls r1, 1 - adds r0, r1 - movs r1, 0xFF - strb r1, [r0] -_08161256: - ldr r0, [r4] - ldr r2, =0x00000113 - adds r1, r0, r2 - ldrb r0, [r1] - cmp r0, 0xFF - beq _08161270 - bl RemoveScrollIndicatorArrowPair - ldr r0, [r4] - ldr r2, =0x00000113 - adds r1, r0, r2 - movs r0, 0xFF - strb r0, [r1] -_08161270: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8161234 - - thumb_func_start sub_8161280 -sub_8161280: @ 8161280 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0xC - ldr r4, =gUnknown_0203BC34 - ldr r1, [r4] - adds r0, r1, 0 - adds r0, 0x44 - ldrb r2, [r0] - movs r0, 0x64 - muls r0, r2 - ldr r2, =gPlayerParty - adds r0, r2 - adds r1, 0x12 - bl GetMoveRelearnerMoves - ldr r1, [r4] - movs r6, 0x88 - lsls r6, 1 - adds r1, r6 - strb r0, [r1] - movs r5, 0 - ldr r0, [r4] - adds r0, r6 - ldrb r0, [r0] - cmp r5, r0 - bge _081612F6 - mov r8, r4 - movs r0, 0xD - mov r12, r0 - ldr r2, =gMoveNames - mov r9, r2 -_081612C2: - mov r7, r8 - ldr r4, [r7] - lsls r3, r5, 3 - adds r2, r4, 0 - adds r2, 0x48 - adds r2, r3 - lsls r0, r5, 1 - adds r1, r4, 0 - adds r1, 0x12 - adds r1, r0 - ldrh r0, [r1] - mov r7, r12 - muls r7, r0 - adds r0, r7, 0 - add r0, r9 - str r0, [r2] - adds r0, r4, 0 - adds r0, 0x4C - adds r0, r3 - ldrh r1, [r1] - str r1, [r0] - adds r5, 0x1 - adds r0, r4, r6 - ldrb r0, [r0] - cmp r5, r0 - blt _081612C2 -_081612F6: - ldr r4, =gUnknown_0203BC34 - ldr r0, [r4] - adds r0, 0x44 - ldrb r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0x2 - mov r2, sp - bl GetMonData - ldr r0, =gStringVar1 - mov r1, sp - bl StringCopy10 - ldr r2, [r4] - movs r5, 0x88 - lsls r5, 1 - adds r3, r2, r5 - ldrb r0, [r3] - lsls r0, 3 - adds r1, r2, 0 - adds r1, 0x48 - adds r1, r0 - ldr r0, =gText_Cancel - str r0, [r1] - ldrb r0, [r3] - lsls r0, 3 - adds r2, 0x4C - adds r2, r0 - movs r0, 0x2 - negs r0, r0 - str r0, [r2] - ldrb r0, [r3] - adds r0, 0x1 - strb r0, [r3] - ldr r1, [r4] - adds r0, r1, 0 - adds r0, 0x48 - adds r1, r5 - ldrb r1, [r1] - bl sub_81D28C8 - ldr r1, [r4] - ldr r2, =0x00000111 - adds r1, r2 - strb r0, [r1] - add sp, 0xC - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8161280 - - thumb_func_start sub_816137C -sub_816137C: @ 816137C - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r4, r0, 0 - ldr r0, =gUnknown_0203BC38 - ldrb r0, [r0, 0x4] - cmp r0, 0 - beq _08161394 - movs r0, 0x2 - negs r0, r0 - cmp r4, r0 - bne _081613CC -_08161394: - movs r5, 0 - ldr r4, =gSprites - ldr r3, =gUnknown_0203BC34 - movs r2, 0x4 -_0816139C: - ldr r0, [r3] - adds r0, 0x1 - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r0, 0x3E - ldrb r1, [r0] - orrs r1, r2 - strb r1, [r0] - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0xF - bls _0816139C - b _081614FE - .pool -_081613CC: - ldr r1, =gContestEffects - ldr r0, =gContestMoves - lsls r4, 3 - adds r0, r4, r0 - ldrb r0, [r0] - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0, 0x1] - movs r1, 0xA - bl __udivsi3 - lsls r0, 24 - lsrs r6, r0, 24 - mov r8, r4 - cmp r6, 0xFF - bne _081613EE - movs r6, 0 -_081613EE: - movs r5, 0 - ldr r7, =gUnknown_0203BC34 - ldr r4, =gSprites -_081613F4: - cmp r5, r6 - bcs _08161420 - ldr r0, [r7] - adds r0, 0x1 - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0x1 - bl StartSpriteAnim - b _08161436 - .pool -_08161420: - ldr r0, [r7] - adds r0, 0x1 - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0 - bl StartSpriteAnim -_08161436: - ldr r0, [r7] - adds r0, 0x1 - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r0, 0x3E - ldrb r1, [r0] - movs r3, 0x5 - negs r3, r3 - adds r2, r3, 0 - ands r1, r2 - strb r1, [r0] - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0x7 - bls _081613F4 - ldr r1, =gContestEffects - ldr r0, =gContestMoves - add r0, r8 - ldrb r0, [r0] - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0, 0x2] - movs r1, 0xA - bl __udivsi3 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0xFF - bne _0816147C - movs r6, 0 -_0816147C: - movs r5, 0 - ldr r0, =gUnknown_0203BC34 - mov r8, r0 - ldr r7, =gSprites -_08161484: - cmp r5, r6 - bcs _081614B8 - mov r1, r8 - ldr r0, [r1] - adds r4, r5, 0 - adds r4, 0x8 - adds r0, 0x1 - adds r0, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - movs r1, 0x3 - bl StartSpriteAnim - b _081614D4 - .pool -_081614B8: - mov r3, r8 - ldr r0, [r3] - adds r4, r5, 0 - adds r4, 0x8 - adds r0, 0x1 - adds r0, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - movs r1, 0x2 - bl StartSpriteAnim -_081614D4: - mov r1, r8 - ldr r0, [r1] - adds r0, 0x1 - adds r0, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - adds r0, 0x3E - ldrb r1, [r0] - movs r3, 0x5 - negs r3, r3 - adds r2, r3, 0 - ands r1, r2 - strb r1, [r0] - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0x7 - bls _08161484 -_081614FE: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_816137C - .align 2, 0 @ Don't pad with nop. diff --git a/asm/party_menu.s b/asm/party_menu.s index 0d5c6b6313..5c70e218e6 100644 --- a/asm/party_menu.s +++ b/asm/party_menu.s @@ -2740,7 +2740,7 @@ sub_81B1708: @ 81B1708 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - bl ProcessMenuInputNoWrap_ + bl Menu_ProcessInputNoWrap_ lsls r0, 24 asrs r1, r0, 24 cmp r1, 0 @@ -4196,7 +4196,7 @@ sub_81B227C: @ 81B227C push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - bl ProcessMenuInputNoWrap_ + bl Menu_ProcessInputNoWrap_ lsls r0, 24 asrs r1, r0, 24 cmp r1, 0 @@ -6692,7 +6692,7 @@ sub_81B3730: @ 81B3730 ldrb r0, [r0, 0x17] cmp r0, 0x3 bhi _081B3774 - bl ProcessMenuInputNoWrapAround_other + bl Menu_ProcessInputNoWrapAround_other b _081B3778 .pool _081B3774: @@ -8138,7 +8138,7 @@ sub_81B43DC: @ 81B43DC push {r4-r6,lr} lsls r0, 24 lsrs r4, r0, 24 - bl ProcessMenuInputNoWrap_ + bl Menu_ProcessInputNoWrap_ lsls r0, 24 asrs r1, r0, 24 cmp r1, 0 @@ -8671,7 +8671,7 @@ sub_81B48DC: @ 81B48DC muls r1, r0 ldr r0, =gPlayerParty adds r4, r1, r0 - bl ProcessMenuInputNoWrap_ + bl Menu_ProcessInputNoWrap_ lsls r0, 24 asrs r1, r0, 24 cmp r1, 0 @@ -8963,7 +8963,7 @@ sub_81B4BA0: @ 81B4BA0 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - bl ProcessMenuInputNoWrap_ + bl Menu_ProcessInputNoWrap_ lsls r0, 24 asrs r1, r0, 24 cmp r1, 0 @@ -9069,7 +9069,7 @@ sub_81B4C94: @ 81B4C94 push {r7} lsls r0, 24 lsrs r5, r0, 24 - bl ProcessMenuInputNoWrap_ + bl Menu_ProcessInputNoWrap_ lsls r0, 24 asrs r1, r0, 24 cmp r1, 0 @@ -9877,7 +9877,7 @@ sub_81B5430: @ 81B5430 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - bl ProcessMenuInputNoWrap_ + bl Menu_ProcessInputNoWrap_ lsls r0, 24 asrs r1, r0, 24 cmp r1, 0 @@ -10171,7 +10171,7 @@ sub_81B56D8: @ 81B56D8 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - bl ProcessMenuInputNoWrap_ + bl Menu_ProcessInputNoWrap_ lsls r0, 24 asrs r1, r0, 24 cmp r1, 0 @@ -13156,7 +13156,7 @@ sub_81B7028: @ 81B7028 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - bl ProcessMenuInputNoWrap_ + bl Menu_ProcessInputNoWrap_ lsls r0, 24 asrs r1, r0, 24 cmp r1, 0 @@ -13235,7 +13235,7 @@ sub_81B70B8: @ 81B70B8 ldr r3, =sub_81B70F0 ldrh r4, [r4, 0xE] str r4, [sp] - bl sub_81BFA38 + bl ShowSelectMovePokemonSummaryScreen add sp, 0x4 pop {r4} pop {r0} @@ -13458,7 +13458,7 @@ sub_81B72C8: @ 81B72C8 muls r1, r0 ldr r0, =gPlayerParty adds r4, r1, r0 - bl ProcessMenuInputNoWrap_ + bl Menu_ProcessInputNoWrap_ lsls r0, 24 asrs r5, r0, 24 cmp r5, 0 @@ -15240,7 +15240,7 @@ sub_81B82D4: @ 81B82D4 push {r4-r7,lr} lsls r0, 24 lsrs r5, r0, 24 - bl ProcessMenuInputNoWrap_ + bl Menu_ProcessInputNoWrap_ lsls r0, 24 asrs r1, r0, 24 cmp r1, 0 diff --git a/asm/pokemon_storage_system.s b/asm/pokemon_storage_system.s index 24e041b7f5..e4475c1594 100644 --- a/asm/pokemon_storage_system.s +++ b/asm/pokemon_storage_system.s @@ -3409,7 +3409,7 @@ _080C8F0C: adds r0, 0x1 strb r0, [r1] _080C8F22: - bl ProcessMenuInputNoWrap_ + bl Menu_ProcessInputNoWrap_ lsls r0, 24 asrs r1, r0, 24 cmp r1, 0 @@ -4133,7 +4133,7 @@ _080C9584: b _080C9664 .pool _080C95A4: - bl ProcessMenuInputNoWrap_ + bl Menu_ProcessInputNoWrap_ lsls r0, 24 asrs r1, r0, 24 cmp r1, 0 @@ -4927,7 +4927,7 @@ _080C9C78: b _080C9CAA .pool _080C9C8C: - bl ProcessMenuInputNoWrap_ + bl Menu_ProcessInputNoWrap_ lsls r0, 24 asrs r1, r0, 24 cmp r1, 0 @@ -5058,7 +5058,7 @@ _080C9DAC: b _080C9DE0 .pool _080C9DC0: - bl ProcessMenuInputNoWrap_ + bl Menu_ProcessInputNoWrap_ lsls r0, 24 asrs r1, r0, 24 cmp r1, 0 diff --git a/asm/pokemon_summary_screen.s b/asm/pokemon_summary_screen.s index b2cba6dab6..91b1693fd8 100644 --- a/asm/pokemon_summary_screen.s +++ b/asm/pokemon_summary_screen.s @@ -3040,7 +3040,7 @@ sub_81C5F68: @ 81C5F68 lsrs r0, 24 cmp r0, 0x1 beq _081C5FD0 - bl ProcessMenuInputNoWrapAround + bl Menu_ProcessInputNoWrapAround lsls r0, 24 asrs r4, r0, 24 movs r0, 0x2 diff --git a/asm/rom_8011DC0.s b/asm/rom_8011DC0.s index 61324b2078..306e2892d5 100644 --- a/asm/rom_8011DC0.s +++ b/asm/rom_8011DC0.s @@ -2920,7 +2920,7 @@ _080170E0: negs r0, r0 b _08017110 _080170F2: - bl ProcessMenuInputNoWrap_ + bl Menu_ProcessInputNoWrap_ lsls r0, 24 asrs r1, r0, 24 movs r2, 0x80 @@ -6278,7 +6278,7 @@ _08018BD6: b _08018C3E .pool _08018BE4: - bl ProcessMenuInputNoWrap_ + bl Menu_ProcessInputNoWrap_ lsls r0, 24 asrs r6, r0, 24 movs r1, 0x80 @@ -28890,7 +28890,7 @@ _0802426A: bl sub_8197930 b _080242D0 _08024270: - bl ProcessMenuInputNoWrap_ + bl Menu_ProcessInputNoWrap_ lsls r0, 24 asrs r4, r0, 24 movs r0, 0x2 @@ -47811,7 +47811,7 @@ _0802DA84: thumb_func_start sub_802DA8C sub_802DA8C: @ 802DA8C push {lr} - bl ProcessMenuInputNoWrap_ + bl Menu_ProcessInputNoWrap_ lsls r0, 24 asrs r0, 24 pop {r1} diff --git a/asm/script_menu.s b/asm/script_menu.s index 670740a777..b521121bfd 100644 --- a/asm/script_menu.s +++ b/asm/script_menu.s @@ -327,7 +327,7 @@ _080E2090: ldrsh r0, [r5, r1] cmp r0, 0 bne _080E209E - bl ProcessMenuInputNoWrapAround + bl Menu_ProcessInputNoWrapAround b _080E20A2 _080E209E: bl ProcessMenuInput @@ -444,7 +444,7 @@ task_yes_no_maybe: @ 80E215C b _080E21C4 .pool _080E2180: - bl ProcessMenuInputNoWrap_ + bl Menu_ProcessInputNoWrap_ lsls r0, 24 asrs r1, r0, 24 movs r0, 0x1 diff --git a/asm/shop.s b/asm/shop.s index 1412fef22a..30a5ec278a 100644 --- a/asm/shop.s +++ b/asm/shop.s @@ -137,7 +137,7 @@ Task_ShopMenu: @ 80DFB88 lsls r0, 24 lsrs r4, r0, 24 adds r5, r4, 0 - bl ProcessMenuInputNoWrapAround + bl Menu_ProcessInputNoWrapAround lsls r0, 24 asrs r2, r0, 24 movs r0, 0x2 diff --git a/asm/slot_machine.s b/asm/slot_machine.s index 4f76d1b699..0f7b84d3cc 100644 --- a/asm/slot_machine.s +++ b/asm/slot_machine.s @@ -1581,7 +1581,7 @@ sub_812B158: @ 812B158 thumb_func_start sub_812B1B0 sub_812B1B0: @ 812B1B0 push {lr} - bl ProcessMenuInputNoWrap_ + bl Menu_ProcessInputNoWrap_ lsls r0, 24 asrs r1, r0, 24 cmp r1, 0 diff --git a/asm/trade.s b/asm/trade.s index 763b1a9ec3..19dfd5ff92 100644 --- a/asm/trade.s +++ b/asm/trade.s @@ -3349,7 +3349,7 @@ sub_8078EF8: @ 8078EF8 sub_8078F50: @ 8078F50 push {lr} sub sp, 0x4 - bl ProcessMenuInputNoWrapAround + bl Menu_ProcessInputNoWrapAround lsls r0, 24 asrs r0, 24 movs r1, 0x1 @@ -3695,7 +3695,7 @@ _0807920E: thumb_func_start sub_8079218 sub_8079218: @ 8079218 push {lr} - bl ProcessMenuInputNoWrap_ + bl Menu_ProcessInputNoWrap_ lsls r0, 24 asrs r1, r0, 24 cmp r1, 0 @@ -3797,7 +3797,7 @@ _080792D8: thumb_func_start sub_80792E4 sub_80792E4: @ 80792E4 push {lr} - bl ProcessMenuInputNoWrap_ + bl Menu_ProcessInputNoWrap_ lsls r0, 24 asrs r1, r0, 24 cmp r1, 0 diff --git a/asm/use_pokeblock.s b/asm/use_pokeblock.s index 5047ec65e8..4cee3c4d90 100644 --- a/asm/use_pokeblock.s +++ b/asm/use_pokeblock.s @@ -900,7 +900,7 @@ sub_8166D44: @ 8166D44 thumb_func_start sub_8166DE4 sub_8166DE4: @ 8166DE4 push {r4,lr} - bl ProcessMenuInputNoWrap_ + bl Menu_ProcessInputNoWrap_ lsls r0, 24 lsrs r4, r0, 24 asrs r1, r0, 24 diff --git a/data/learn_move.s b/data/learn_move.s deleted file mode 100644 index 0a2c31e581..0000000000 --- a/data/learn_move.s +++ /dev/null @@ -1,93 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - -gUnknown_085CE9F8:: @ 85CE9F8 - .incbin "graphics/interface/ui_learn_move.gbapal" - -gUnknown_085CEA18:: @ 85CEA18 - .incbin "graphics/interface/ui_learn_move.4bpp" - -gUnknown_085CEB98:: @ 85CEB98 - .2byte 0 - .2byte 0 - .2byte 0 - .2byte 0 - .2byte 0x8000 - .2byte 0 - .2byte 0 - .2byte 0 - .2byte 0x4000 - .2byte 0 - .2byte 0 - .2byte 0 - -gUnknown_085CEBB0:: @ 85CEBB0 - obj_tiles gUnknown_085CEA18, 0x180, 0x1595 - -gUnknown_085CEBB8:: @ 85CEBB8 - obj_pal gUnknown_085CE9F8, 0x1596 - -gUnknown_085CEBC0:: @ 85CEBC0 - .byte 0 - .byte 0x1B - .byte 16 - .byte 1 - .byte 0x75 - .byte 16 - .2byte 0xFFFF - .2byte 0xFFFF - .2byte 0x14CD - .2byte 0x14CD - .byte 0, 0 - -gUnknown_085CEBD0:: @ 85CEBD0 - .byte 2 - .byte 0xC0 - .byte 8 - .byte 3 - .byte 0xC0 - .byte 0x68 - .2byte 0 - .2byte 0 - .2byte 0x1531 - .2byte 0x1531 - .byte 0, 0 - -gUnknown_085CEBE0:: @ 85CEBE0 - .2byte 8 - .2byte 5 - .2byte 0xFFFF - .2byte 0 - -gUnknown_085CEBE8:: @ 85CEBE8 - .2byte 9 - .2byte 5 - .2byte 0xFFFF - .2byte 0 - -gUnknown_085CEBF0:: @ 85CEBF0 - .2byte 10 - .2byte 5 - .2byte 0xFFFF - .2byte 0 - -gUnknown_085CEBF8:: @ 85CEBF8 - .2byte 11 - .2byte 5 - .2byte 0xFFFF - .2byte 0 - -gUnknown_085CEC00:: @ 85CEC00 - .4byte gUnknown_085CEBE0 - .4byte gUnknown_085CEBE8 - .4byte gUnknown_085CEBF0 - .4byte gUnknown_085CEBF8 - -gUnknown_085CEC10:: @ 85CEC10 - spr_template 0x1595, 0x1596, gUnknown_085CEB98, gUnknown_085CEC00, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - -gUnknown_085CEC28:: @ 85CEC28 - .4byte 0x1F0 - .4byte 0x11E1 diff --git a/data/maps/FallarborTown_House2/scripts.inc b/data/maps/FallarborTown_House2/scripts.inc index b78756e0af..7ab0666e89 100644 --- a/data/maps/FallarborTown_House2/scripts.inc +++ b/data/maps/FallarborTown_House2/scripts.inc @@ -38,7 +38,7 @@ FallarborTown_House2_EventScript_2013D6:: @ 82013D6 FallarborTown_House2_EventScript_20140C:: @ 820140C msgbox FallarborTown_House2_Text_2015C3, 4 - special sub_8160638 + special TeachMoveTutorMove waitstate compare VAR_0x8004, 0 goto_eq FallarborTown_House2_EventScript_2013D6 diff --git a/data/specials.inc b/data/specials.inc index 86355f4840..01bb9cb896 100644 --- a/data/specials.inc +++ b/data/specials.inc @@ -235,7 +235,7 @@ gSpecials:: @ 81DBA64 def_special sub_81B9770 def_special sub_81B9718 def_special sub_81B96D0 - def_special sub_8160638 + def_special TeachMoveTutorMove def_special GetRecordedCyclingRoadResults def_special Special_BeginCyclingRoadChallenge def_special GetPlayerAvatarBike diff --git a/include/learn_move.h b/include/learn_move.h index 034d689d42..9a7a779df8 100644 --- a/include/learn_move.h +++ b/include/learn_move.h @@ -1,7 +1,7 @@ #ifndef GUARD_LEARN_MOVE_H #define GUARD_LEARN_MOVE_H -void sub_8160624(void); -void sub_8160638(void); +void VBlankCB_LearnMove(void); +void TeachMoveTutorMove(void); #endif //GUARD_LEARN_MOVE_H diff --git a/include/list_menu.h b/include/list_menu.h index d38980213c..ee3d60f3da 100644 --- a/include/list_menu.h +++ b/include/list_menu.h @@ -1,6 +1,8 @@ #ifndef GUARD_LIST_MENU_H #define GUARD_LIST_MENU_H +#include "window.h" + #define LIST_NOTHING_CHOSEN -1 #define LIST_B_PRESSED -2 #define LIST_HEADER -3 diff --git a/include/menu.h b/include/menu.h index 4cc43dd4c5..5dfd99c64e 100644 --- a/include/menu.h +++ b/include/menu.h @@ -46,7 +46,7 @@ void PrintMenuTable(u8 windowId, u8 itemCount, const struct MenuAction *strs); u8 InitMenuInUpperLeftCornerPlaySoundWhenAPressed(u8 windowId, u8 numItems, u8 initialCursorPos); u8 GetMenuCursorPos(void); s8 ProcessMenuInput(void); -s8 ProcessMenuInputNoWrapAround(void); +s8 Menu_ProcessInputNoWrapAround(void); void blit_move_info_icon(u8 winId, u8 a2, u16 x, u16 y); void reset_temp_tile_data_buffers(void); void *decompress_and_copy_tile_data_to_vram(u8 bgId, const void *src, int size, u16 offset, u8 mode); @@ -54,7 +54,7 @@ bool8 free_temp_tile_data_buffers_if_possible(void); struct WindowTemplate CreateWindowTemplate(u8, u8, u8, u8, u8, u8, u16); void CreateYesNoMenu(const struct WindowTemplate *windowTemplate, u16 borderFirstTileNum, u8 borderPalette, u8 initialCursorPos); void copy_decompressed_tile_data_to_vram_autofree(u8 bgId, const void *src, int size, u16 offset, u8 mode); -s8 ProcessMenuInputNoWrap_(void); +s8 Menu_ProcessInputNoWrap_(void); s8 ProcessMenuInput_other(void); void do_scheduled_bg_tilemap_copies_to_vram(void); void clear_scheduled_bg_copies_to_vram(void); diff --git a/include/pokemon_summary_screen.h b/include/pokemon_summary_screen.h index adadcea038..75caa9a3a0 100755 --- a/include/pokemon_summary_screen.h +++ b/include/pokemon_summary_screen.h @@ -2,5 +2,6 @@ #define GUARD_POKEMON_SUMMARY_SCREEN_H void sub_81C4F98(u8, void(*)(void)); +void ShowSelectMovePokemonSummaryScreen(void *a, u8 b, u8 c, void *d, u16 e); #endif // GUARD_POKEMON_SUMMARY_SCREEN_H diff --git a/include/pokenav.h b/include/pokenav.h index 2bca4db941..1fef8c91bd 100644 --- a/include/pokenav.h +++ b/include/pokenav.h @@ -22,6 +22,9 @@ void sub_81D1D04(u8); bool8 sub_81D1C44(u8); void sub_81D5FB4(u16*); bool8 sub_81D4A58(struct EventObject*); - +void sub_81D2BF4(u8 *); +u16 sub_81D2C3C(void); +void sub_81D2C50(void); +u8 sub_81D28C8(const struct ListMenuItem *items, u16 numChoices); #endif //GUARD_POKENAV_H diff --git a/include/strings.h b/include/strings.h index 528f70f69e..f8d108eba5 100644 --- a/include/strings.h +++ b/include/strings.h @@ -762,4 +762,14 @@ extern const u8 gText_Winona[]; extern const u8 gText_Phoebe[]; extern const u8 gText_Glacia[]; +extern const u8 gText_PkmnLearnedMove4[]; +extern const u8 gText_PkmnTryingToLearnMove[]; +extern const u8 gText_WhichMoveToForget2[]; +extern const u8 gText_StopTryingToTeachMove[]; +extern const u8 gText_12AndPoof[]; +extern const u8 gText_PkmnForgotMoveAndLearnedNew[]; +extern const u8 gText_TeachWhichMoveToPkmn[]; +extern const u8 gText_GiveUpTeachingNewMove[]; +extern const u8 gText_TeachX[]; + #endif //GUARD_STRINGS_H diff --git a/ld_script.txt b/ld_script.txt index 69e677e9b2..972ced45be 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -486,7 +486,6 @@ SECTIONS { data/contest_ai.o(.rodata); src/battle_controller_safari.o(.rodata); data/battle_anim_815A0D4.o(.rodata); - data/learn_move.o(.rodata); src/learn_move.o(.rodata); src/roamer.o(.rodata); data/battle_tower.o(.rodata); diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 7f5a4fb487..b13727a126 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -55,7 +55,7 @@ extern const u8* const gBattleScriptsForMoveEffects[]; // functions extern void sub_81A5718(u8 battlerId); // battle frontier 2 extern void sub_81A56B4(void); // battle frontier 2 -extern void sub_81BFA38(struct Pokemon* party, u8 monPartyId, u8 monCount, void (*callback)(void), u16 move); // pokemon summary screen +extern void ShowSelectMovePokemonSummaryScreen(struct Pokemon* party, u8 monPartyId, u8 monCount, void (*callback)(void), u16 move); // pokemon summary screen extern u8 sub_81C1B94(void); // pokemon summary screen extern void sub_81D388C(struct Pokemon* mon, void* statStoreLocation); // pokenav.s extern void sub_81D3640(u8 arg0, void* statStoreLocation1, void* statStoreLocation2, u8 arg3, u8 arg4, u8 arg5); // pokenav.s @@ -5732,7 +5732,7 @@ static void atk5A_yesnoboxlearnmove(void) if (!gPaletteFade.active) { FreeAllWindowBuffers(); - sub_81BFA38(gPlayerParty, gBattleStruct->expGetterMonId, gPlayerPartyCount - 1, ReshowBattleScreenAfterMenu, gMoveToLearn); + ShowSelectMovePokemonSummaryScreen(gPlayerParty, gBattleStruct->expGetterMonId, gPlayerPartyCount - 1, ReshowBattleScreenAfterMenu, gMoveToLearn); gBattleScripting.learnMoveState++; } break; diff --git a/src/berry_blender.c b/src/berry_blender.c index 257c7233fa..46b0f76ada 100644 --- a/src/berry_blender.c +++ b/src/berry_blender.c @@ -2436,7 +2436,7 @@ static void CB2_HandleBlenderEndGame(void) sBerryBlenderData->gameEndState++; break; case 10: - switch (ProcessMenuInputNoWrap_()) + switch (Menu_ProcessInputNoWrap_()) { case 1: case -1: diff --git a/src/clear_save_data_screen.c b/src/clear_save_data_screen.c index 266ea8250f..5c1f7db20d 100644 --- a/src/clear_save_data_screen.c +++ b/src/clear_save_data_screen.c @@ -86,7 +86,7 @@ static void Task_DoClearSaveDataScreenYesNo(u8 taskId) static void Task_ClearSaveDataScreenYesNoChoice(u8 taskId) { - switch(ProcessMenuInputNoWrap_()) + switch(Menu_ProcessInputNoWrap_()) { case 0: FillWindowPixelBuffer(0, 17); diff --git a/src/egg_hatch.c b/src/egg_hatch.c index 67876f33b6..ab0cd92a23 100644 --- a/src/egg_hatch.c +++ b/src/egg_hatch.c @@ -659,7 +659,7 @@ static void CB2_EggHatch_1(void) } break; case 10: - switch (ProcessMenuInputNoWrap_()) + switch (Menu_ProcessInputNoWrap_()) { case 0: GetMonNick(&gPlayerParty[sEggHatchData->eggPartyID], gStringVar3); diff --git a/src/evolution_scene.c b/src/evolution_scene.c index f039c5f245..7960d6cba1 100644 --- a/src/evolution_scene.c +++ b/src/evolution_scene.c @@ -66,7 +66,7 @@ extern void sub_807F19C(void); extern void sub_807B140(void); extern void EvolutionRenameMon(struct Pokemon *mon, u16 oldSpecies, u16 newSpecies); extern void Overworld_PlaySpecialMapMusic(void); -extern void sub_81BFA38(struct Pokemon *party, u8 monId, u8 partyCount, void *CB2_ptr, u16 move); +extern void ShowSelectMovePokemonSummaryScreen(struct Pokemon *party, u8 monId, u8 partyCount, void *CB2_ptr, u16 move); extern u8 sub_81C1B94(void); extern void sub_807F1A8(u8 arg0, const u8 *arg1, u8 arg2); extern void sub_800E084(void); @@ -918,7 +918,7 @@ static void Task_EvolutionScene(u8 taskID) if (!gPaletteFade.active) { FreeAllWindowBuffers(); - sub_81BFA38(gPlayerParty, gTasks[taskID].tPartyID, + ShowSelectMovePokemonSummaryScreen(gPlayerParty, gTasks[taskID].tPartyID, gPlayerPartyCount - 1, CB2_EvolutionSceneLoadGraphics, gMoveToLearn); gTasks[taskID].tLearnMoveState++; @@ -1222,7 +1222,7 @@ static void Task_TradeEvolutionScene(u8 taskID) } break; case 4: - switch (ProcessMenuInputNoWrap_()) + switch (Menu_ProcessInputNoWrap_()) { case 0: sEvoCursorPos = 0; @@ -1252,7 +1252,7 @@ static void Task_TradeEvolutionScene(u8 taskID) Free(GetBgTilemapBuffer(0)); FreeAllWindowBuffers(); - sub_81BFA38(gPlayerParty, gTasks[taskID].tPartyID, + ShowSelectMovePokemonSummaryScreen(gPlayerParty, gTasks[taskID].tPartyID, gPlayerPartyCount - 1, CB2_TradeEvolutionSceneLoadGraphics, gMoveToLearn); gTasks[taskID].tLearnMoveState++; diff --git a/src/item_menu.c b/src/item_menu.c index d134e63751..f58c2b8b3e 100755 --- a/src/item_menu.c +++ b/src/item_menu.c @@ -1369,7 +1369,7 @@ void Task_HandleInBattleItemMenuInput(u8 taskId) { if (sub_81221EC() != TRUE) { - s8 r4 = ProcessMenuInputNoWrapAround(); + s8 r4 = Menu_ProcessInputNoWrapAround(); switch (r4) { case -2: diff --git a/src/learn_move.c b/src/learn_move.c index addae6a385..b65fd2045d 100644 --- a/src/learn_move.c +++ b/src/learn_move.c @@ -1,26 +1,219 @@ #include "global.h" #include "main.h" -#include "task.h" -#include "script.h" -#include "sprite.h" -#include "palette.h" -#include "menu.h" -#include "menu_helpers.h" -#include "list_menu.h" -#include "malloc.h" -#include "field_screen.h" -#include "event_data.h" #include "bg.h" +#include "data2.h" +#include "event_data.h" +#include "field_screen.h" #include "gpu_regs.h" #include "learn_move.h" +#include "list_menu.h" +#include "malloc.h" +#include "menu.h" +#include "menu_helpers.h" +#include "overworld.h" +#include "palette.h" +#include "pokemon_summary_screen.h" +#include "pokenav.h" +#include "script.h" +#include "sound.h" +#include "sprite.h" +#include "string_util.h" +#include "strings.h" +#include "task.h" +#include "constants/rgb.h" +#include "constants/songs.h" -EWRAM_DATA u8 *gUnknown_0203BC34 = 0; -EWRAM_DATA u8 gUnknown_0203BC38[8] = {0}; +struct LearnMoveStruct +{ + u8 state; + u8 spriteIds[16]; /*0x001*/ + u8 filler11; /*0x011*/ + u16 movesToLearn[4]; /*0x012*/ + u8 filler1A[0x44 - 0x1A]; /*0x01A*/ + u8 partyMon; /*0x044*/ + u8 unk045; /*0x045*/ + u8 filler46[2]; /*0x046*/ + struct ListMenuItem menuItems[4]; /*0x048*/ + u8 filler68[0x110 - 0x68]; /*0x068*/ + u8 numMenuChoices; /*0x110*/ + u8 unk111; /*0x111*/ + u8 listMenuTask; /*0x112*/ + u8 unk113; /*0x113*/ + u8 unk114; /*0x114*/ + u16 unk116; /*0x116*/ +}; + +EWRAM_DATA struct LearnMoveStruct *sLearnMoveStruct = {0}; +EWRAM_DATA struct { + u16 listOffset; + u16 listRow; + u8 showContestInfo; +} gUnknown_0203BC38 = {0}; extern void (*gFieldCallback)(void); -extern const struct SpritePalette gUnknown_085CEBB8; -extern const struct SpriteSheet gUnknown_085CEBB0; -extern const struct BgTemplate gUnknown_085CEC28; + +const u16 gUnknown_085CE9F8[] = INCBIN_U16("graphics/interface/ui_learn_move.gbapal"); +const u8 gUnknown_085CEA18[] = INCBIN_U8("graphics/interface/ui_learn_move.4bpp"); + +const struct OamData gUnknown_085CEB98 = +{ + .y = 0, + .affineMode = 0, + .objMode = ST_OAM_OBJ_NORMAL, + .mosaic = 0, + .bpp = ST_OAM_4BPP, + .shape = ST_OAM_SQUARE, + .x = 0, + .matrixNum = 0, + .size = 0, + .tileNum = 0, + .priority = 0, + .paletteNum = 0, + .affineParam = 0, +}; + +const struct OamData gUnknown_085CEBA0 = +{ + .y = 0, + .affineMode = 0, + .objMode = ST_OAM_OBJ_NORMAL, + .mosaic = 0, + .bpp = ST_OAM_4BPP, + .shape = ST_OAM_V_RECTANGLE, + .x = 0, + .matrixNum = 0, + .size = 0, + .tileNum = 0, + .priority = 0, + .paletteNum = 0, + .affineParam = 0, +}; + +const struct OamData gUnknown_085CEBA8 = +{ + .y = 0, + .affineMode = 0, + .objMode = ST_OAM_OBJ_NORMAL, + .mosaic = 0, + .bpp = ST_OAM_4BPP, + .shape = ST_OAM_H_RECTANGLE, + .x = 0, + .matrixNum = 0, + .size = 0, + .tileNum = 0, + .priority = 0, + .paletteNum = 0, + .affineParam = 0, +}; + +const struct SpriteSheet gUnknown_085CEBB0 = +{ + .data = gUnknown_085CEA18, + .size = 0x180, + .tag = 5525 +}; + +const struct SpritePalette gUnknown_085CEBB8 = +{ + .data = gUnknown_085CE9F8, + .tag = 5526 +}; + +const struct ScrollArrowsTemplate gUnknown_085CEBC0 = +{ + .firstArrowType = 0, + .firstX = 27, + .firstY = 16, + .secondArrowType = 1, + .secondX = 117, + .secondY = 16, + .fullyUpThreshold = -1, + .fullyDownThreshold = -1, + .tileTag = 5325, + .palTag = 5325, + .palNum = 0, +}; + +const struct ScrollArrowsTemplate gUnknown_085CEBD0 = +{ + .firstArrowType = 2, + .firstX = 192, + .firstY = 8, + .secondArrowType = 3, + .secondX = 192, + .secondY = 104, + .fullyUpThreshold = 0, + .fullyDownThreshold = 0, + .tileTag = 5425, + .palTag = 5425, + .palNum = 0, +}; + +const union AnimCmd gUnknown_085CEBE0[] = +{ + ANIMCMD_FRAME(8, 5, FALSE, FALSE), + ANIMCMD_END +}; + +const union AnimCmd gUnknown_085CEBE8[] = +{ + ANIMCMD_FRAME(9, 5, FALSE, FALSE), + ANIMCMD_END +}; + +const union AnimCmd gUnknown_085CEBF0[] = +{ + ANIMCMD_FRAME(10, 5, FALSE, FALSE), + ANIMCMD_END +}; + +const union AnimCmd gUnknown_085CEBF8[] = +{ + ANIMCMD_FRAME(11, 5, FALSE, FALSE), + ANIMCMD_END +}; + +const union AnimCmd *const gUnknown_085CEC00[] = +{ + gUnknown_085CEBE0, + gUnknown_085CEBE8, + gUnknown_085CEBF0, + gUnknown_085CEBF8, +}; + +const struct SpriteTemplate gUnknown_085CEC10 = +{ + .tileTag = 5525, + .paletteTag = 5526, + .oam = &gUnknown_085CEB98, + .anims = gUnknown_085CEC00, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy +}; + +const struct BgTemplate gUnknown_085CEC28[] = +{ + { + .bg = 0, + .charBaseIndex = 0, + .mapBaseIndex = 31, + .screenSize = 0, + .paletteMode = 0, + .priority = 0, + .baseTile = 0, + }, + { + .bg = 1, + .charBaseIndex = 0, + .mapBaseIndex = 30, + .screenSize = 0, + .paletteMode = 0, + .priority = 1, + .baseTile = 0, + }, +}; + extern void sub_81D2824(u16); void sub_8160868(void); @@ -29,111 +222,621 @@ void sub_81610B8(void); void sub_816082C(void); static void sub_8160664(u8 taskId); -void sub_81606A0(void); //CB2_InitLearnMove +void CB2_InitLearnMove(void); void sub_8160740(void); void sub_81607EC(void); void sub_816082C(void); -void sub_8160624(void) //VBlankCB_LearnMove +void VBlankCB_LearnMove(void) { - LoadOam(); - ProcessSpriteCopyRequests(); - TransferPlttBuffer(); + LoadOam(); + ProcessSpriteCopyRequests(); + TransferPlttBuffer(); } -void sub_8160638(void) //TeachMoveTutorMove +void TeachMoveTutorMove(void) { - ScriptContext2_Enable(); - CreateTask(sub_8160664, 0xA); - BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); + ScriptContext2_Enable(); + CreateTask(sub_8160664, 0xA); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); } void sub_8160664(u8 taskId) { - if (!gPaletteFade.active) - { - SetMainCallback2(sub_81606A0); - gFieldCallback = sub_80AF168; - DestroyTask(taskId); - } + if (!gPaletteFade.active) + { + SetMainCallback2(CB2_InitLearnMove); + gFieldCallback = sub_80AF168; + DestroyTask(taskId); + } } -// Doesn't match -void sub_81606A0(void) //CB2_InitLearnMove +void CB2_InitLearnMove(void) { - ResetSpriteData(); - FreeAllSpritePalettes(); - ResetTasks(); - clear_scheduled_bg_copies_to_vram(); + ResetSpriteData(); + FreeAllSpritePalettes(); + ResetTasks(); + clear_scheduled_bg_copies_to_vram(); + sLearnMoveStruct = AllocZeroed(sizeof(struct LearnMoveStruct)); + sLearnMoveStruct->partyMon = gSpecialVar_0x8004; + SetVBlankCallback(VBlankCB_LearnMove); - gUnknown_0203BC34 = AllocZeroed(0x118); //gUnknown_0203BC34 ? - gUnknown_0203BC34[68] = gSpecialVar_0x8004; + sub_81607EC(); + sub_81D2824(0); - SetVBlankCallback(sub_8160624); - sub_81607EC(); - sub_81D2824(0); + gUnknown_0203BC38.listOffset = 0; + gUnknown_0203BC38.listRow = 0; + gUnknown_0203BC38.showContestInfo = 0; - //gUnknown_0203BC38 ? - gUnknown_0203BC38[0] = 0; - gUnknown_0203BC38[2] = 0; - gUnknown_0203BC38[4] = 0; + sub_8161280(); - sub_8161280(); + LoadSpriteSheet(&gUnknown_085CEBB0); + LoadSpritePalette(&gUnknown_085CEBB8); + sub_81610B8(); - LoadSpriteSheet(&gUnknown_085CEBB0); - LoadSpritePalette(&gUnknown_085CEBB8); - sub_81610B8(); - - gUnknown_0203BC34[274] = ListMenuInit(&gMultiuseListMenuTemplate, gUnknown_0203BC38[0], gUnknown_0203BC38[2]); - FillPalette(0, 0, 2); - SetMainCallback2(sub_816082C); + sLearnMoveStruct->listMenuTask = ListMenuInit(&gMultiuseListMenuTemplate, gUnknown_0203BC38.listOffset, gUnknown_0203BC38.listRow); + FillPalette(RGB_BLACK, 0, 2); + SetMainCallback2(sub_816082C); } -// Doesn't match void sub_8160740(void) { - ResetSpriteData(); - FreeAllSpritePalettes(); - ResetTasks(); - clear_scheduled_bg_copies_to_vram(); + ResetSpriteData(); + FreeAllSpritePalettes(); + ResetTasks(); + clear_scheduled_bg_copies_to_vram(); + sLearnMoveStruct = AllocZeroed(sizeof(struct LearnMoveStruct)); + sLearnMoveStruct->state = 28; + sLearnMoveStruct->partyMon = gSpecialVar_0x8004; + sLearnMoveStruct->unk045 = gSpecialVar_0x8005; + SetVBlankCallback(VBlankCB_LearnMove); - gUnknown_0203BC34 = AllocZeroed(0x118); //gUnknown_0203BC34 ? - gUnknown_0203BC34[68] = gSpecialVar_0x8004; - gUnknown_0203BC34[69] = gSpecialVar_0x8005; + sub_81607EC(); + sub_81D2824(gUnknown_0203BC38.showContestInfo); + sub_8161280(); - SetVBlankCallback(sub_8160624); - sub_81607EC(); + LoadSpriteSheet(&gUnknown_085CEBB0); + LoadSpritePalette(&gUnknown_085CEBB8); + sub_81610B8(); - //gUnknown_0203BC38 ? - sub_81D2824(gUnknown_0203BC38[4]); - sub_8161280(); - - LoadSpriteSheet(&gUnknown_085CEBB0); - LoadSpritePalette(&gUnknown_085CEBB8); - - gUnknown_0203BC34[274] = ListMenuInit(&gMultiuseListMenuTemplate, gUnknown_0203BC38[0], gUnknown_0203BC38[2]); - FillPalette(0, 0, 2); - SetMainCallback2(sub_816082C); + sLearnMoveStruct->listMenuTask = ListMenuInit(&gMultiuseListMenuTemplate, gUnknown_0203BC38.listOffset, gUnknown_0203BC38.listRow); + FillPalette(RGB_BLACK, 0, 2); + SetMainCallback2(sub_816082C); } void sub_81607EC(void) { - ResetVramOamAndBgCntRegs(); - ResetBgsAndClearDma3BusyFlags(0); - InitBgsFromTemplates(0, &gUnknown_085CEC28, 2); - ResetAllBgsCoordinates(); - SetGpuReg(0, 0x1040); - ShowBg(0); - ShowBg(1); - SetGpuReg(0x50, 0); + ResetVramOamAndBgCntRegs(); + ResetBgsAndClearDma3BusyFlags(0); + InitBgsFromTemplates(0, gUnknown_085CEC28, 2); + ResetAllBgsCoordinates(); + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 | + DISPCNT_OBJ_1D_MAP | + DISPCNT_OBJ_ON); + ShowBg(0); + ShowBg(1); + SetGpuReg(REG_OFFSET_BLDCNT, 0); } void sub_816082C(void) { - sub_8160868(); - RunTasks(); - AnimateSprites(); - BuildOamBuffer(); - do_scheduled_bg_tilemap_copies_to_vram(); - UpdatePaletteFade(); + sub_8160868(); + RunTasks(); + AnimateSprites(); + BuildOamBuffer(); + do_scheduled_bg_tilemap_copies_to_vram(); + UpdatePaletteFade(); +} + +void sub_816084C(const u8 *src) +{ + StringExpandPlaceholders(gStringVar4, src); + sub_81D2BF4(gStringVar4); +} + +void sub_81611AC(void); +void sub_8160F50(u8); +void sub_8161074(u8); +s32 sub_8161054(void); +void sub_8160EA0(void); +void sub_8161234(void); +void render_previous_quest_text(bool8); + +void sub_8160868(void) +{ + switch (sLearnMoveStruct->state) + { + case 0: + sLearnMoveStruct->state++; + render_previous_quest_text(FALSE); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK); + break; + case 1: + if (!gPaletteFade.active) + { + sLearnMoveStruct->state = 4; + } + break; + case 2: + sLearnMoveStruct->state++; + break; + case 3: + render_previous_quest_text(FALSE); + sLearnMoveStruct->state++; + sub_81611AC(); + break; + case 4: + sub_8160F50(0); + return; + case 5: + sub_8161074(0); + sLearnMoveStruct->state++; + sub_81611AC(); + break; + case 6: + sub_8160F50(1); + break; + case 8: + if (!sub_81D2C3C()) + { + sub_81D2C50(); + sLearnMoveStruct->state++; + } + break; + case 9: + { + s8 selection = Menu_ProcessInputNoWrap_(); + + if (selection == 0) + { + if (GiveMoveToMon(&gPlayerParty[sLearnMoveStruct->partyMon], sub_8161054()) != 0xFFFF) + { + sub_816084C(gText_PkmnLearnedMove4); + gSpecialVar_0x8004 = 1; + sLearnMoveStruct->state = 31; + } + else + { + sLearnMoveStruct->state = 16; + } + } + else if (selection == -1 || selection == 1) + { + if (gUnknown_0203BC38.showContestInfo == FALSE) + { + sLearnMoveStruct->state = 3; + } + else if (gUnknown_0203BC38.showContestInfo == TRUE) + { + sLearnMoveStruct->state = 5; + } + } + } + break; + case 12: + if (!sub_81D2C3C()) + { + sub_81D2C50(); + sLearnMoveStruct->state++; + } + break; + case 13: + { + s8 selection = Menu_ProcessInputNoWrap_(); + + if (selection == 0) + { + gSpecialVar_0x8004 = selection; + sLearnMoveStruct->state = 14; + } + else if (selection == -1 || selection == 1) + { + if (gUnknown_0203BC38.showContestInfo == FALSE) + { + sLearnMoveStruct->state = 3; + } + else if (gUnknown_0203BC38.showContestInfo == TRUE) + { + sLearnMoveStruct->state = 5; + } + } + } + break; + case 16: + sub_816084C(gText_PkmnTryingToLearnMove); + sLearnMoveStruct->state++; + break; + case 17: + if (!sub_81D2C3C()) + { + sub_81D2C50(); + sLearnMoveStruct->state = 18; + } + break; + case 18: + { + s8 var = Menu_ProcessInputNoWrap_(); + + if (var == 0) + { + sub_816084C(gText_WhichMoveToForget2); + sLearnMoveStruct->state = 19; + } + else if (var == -1 || var == 1) + { + sLearnMoveStruct->state = 24; + } + } + break; + case 24: + StringCopy(gStringVar2, gMoveNames[sub_8161054()]); + sub_816084C(gText_StopTryingToTeachMove); + sLearnMoveStruct->state++; + break; + case 25: + if (!sub_81D2C3C()) + { + sub_81D2C50(); + sLearnMoveStruct->state++; + } + break; + case 26: + { + s8 var = Menu_ProcessInputNoWrap_(); + + if (var == 0) + { + sLearnMoveStruct->state = 27; + } + else if (var == -1 || var == 1) + { + // What's the point? It gets set to 16, anyway. + if (gUnknown_0203BC38.showContestInfo == FALSE) + { + sLearnMoveStruct->state = 3; + } + else if (gUnknown_0203BC38.showContestInfo == TRUE) + { + sLearnMoveStruct->state = 5; + } + sLearnMoveStruct->state = 16; + } + } + break; + case 27: + if (!sub_81D2C3C()) + { + FillWindowPixelBuffer(3, 0x11); + if (gUnknown_0203BC38.showContestInfo == FALSE) + { + sLearnMoveStruct->state = 3; + } + else if (gUnknown_0203BC38.showContestInfo == TRUE) + { + sLearnMoveStruct->state = 5; + } + } + break; + case 19: + if (!sub_81D2C3C()) + { + sLearnMoveStruct->state = 20; + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); + } + break; + case 20: + if (!gPaletteFade.active) + { + ShowSelectMovePokemonSummaryScreen(gPlayerParty, sLearnMoveStruct->partyMon, gPlayerPartyCount - 1, sub_8160740, sub_8161054()); + sub_8160EA0(); + } + break; + case 21: + if (!sub_81D2C3C()) + { + sLearnMoveStruct->state = 14; + } + break; + case 22: + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK); + break; + case 14: + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); + sLearnMoveStruct->state++; + break; + case 15: + if (!gPaletteFade.active) + { + sub_8160EA0(); + SetMainCallback2(CB2_ReturnToField); + } + break; + case 28: + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK); + sLearnMoveStruct->state++; + if (gUnknown_0203BC38.showContestInfo == FALSE) + { + render_previous_quest_text(TRUE); + } + else if (gUnknown_0203BC38.showContestInfo == TRUE) + { + sub_8161074(1); + } + sub_8161234(); + CopyWindowToVram(3, 2); + break; + case 29: + if (!gPaletteFade.active) + { + if (sLearnMoveStruct->unk045 == 4) + { + sLearnMoveStruct->state = 24; + } + else + { + u16 moveId = GetMonData(&gPlayerParty[sLearnMoveStruct->partyMon], MON_DATA_MOVE1 + sLearnMoveStruct->unk045); + + StringCopy(gStringVar3, gMoveNames[moveId]); + RemoveMonPPBonus(&gPlayerParty[sLearnMoveStruct->partyMon], sLearnMoveStruct->unk045); + SetMonMoveSlot(&gPlayerParty[sLearnMoveStruct->partyMon], sub_8161054(), sLearnMoveStruct->unk045); + StringCopy(gStringVar2, gMoveNames[sub_8161054()]); + sub_816084C(gText_12AndPoof); + sLearnMoveStruct->state = 30; + gSpecialVar_0x8004 = 1; + } + } + break; + case 30: + if (!sub_81D2C3C()) + { + sub_816084C(gText_PkmnForgotMoveAndLearnedNew); + sLearnMoveStruct->state = 31; + PlayFanfare(MUS_FANFA1); + } + break; + case 31: + if (!sub_81D2C3C()) + { + PlayFanfare(MUS_FANFA1); + sLearnMoveStruct->state = 32; + } + break; + case 32: + if (IsFanfareTaskInactive()) + { + sLearnMoveStruct->state = 33; + } + break; + case 33: + if (gMain.newKeys & A_BUTTON) + { + PlaySE(SE_SELECT); + sLearnMoveStruct->state = 14; + } + break; + } +} + +void sub_8160EA0(void) +{ + sub_8161234(); + DestroyListMenuTask(sLearnMoveStruct->listMenuTask, &gUnknown_0203BC38.listOffset, &gUnknown_0203BC38.listRow); + FreeAllWindowBuffers(); + FREE_AND_SET_NULL(sLearnMoveStruct); + ResetSpriteData(); + FreeAllSpritePalettes(); +} + +void render_previous_quest_text(bool8 a) +{ + s32 i; + + for (i = 0; i < 16; i++) + { + gSprites[sLearnMoveStruct->spriteIds[i]].invisible = TRUE; + } + + if (!a) + { + StringExpandPlaceholders(gStringVar4, gText_TeachWhichMoveToPkmn); + FillWindowPixelBuffer(3, 0x11); + PrintTextOnWindow(3, 1, gStringVar4, 0, 1, 0, NULL); + } +} + +void sub_816137C(s32); + +void sub_8160F50(u8 a0) +{ + s32 itemId = ListMenuHandleInputGetItemId(sLearnMoveStruct->listMenuTask); + ListMenuGetScrollAndRow(sLearnMoveStruct->listMenuTask, &gUnknown_0203BC38.listOffset, &gUnknown_0203BC38.listRow); + + switch (itemId) + { + case LIST_NOTHING_CHOSEN: + if (!(gMain.newKeys & (DPAD_LEFT | DPAD_RIGHT)) && !GetLRKeysState()) + { + break; + } + + PlaySE(SE_SELECT); + + if (a0 == 0) + { + PutWindowTilemap(1); + sLearnMoveStruct->state = 5; + gUnknown_0203BC38.showContestInfo = TRUE; + } + else + { + PutWindowTilemap(0); + sLearnMoveStruct->state = 3; + gUnknown_0203BC38.showContestInfo = FALSE; + } + + schedule_bg_copy_tilemap_to_vram(1); + sub_816137C(sub_8161054()); + break; + case LIST_B_PRESSED: + PlaySE(SE_SELECT); + sub_8161234(); + sLearnMoveStruct->state = 12; + StringExpandPlaceholders(gStringVar4, gText_GiveUpTeachingNewMove); + sub_81D2BF4(gStringVar4); + break; + default: + PlaySE(SE_SELECT); + sub_8161234(); + sLearnMoveStruct->state = 8; + StringCopy(gStringVar2, gMoveNames[itemId]); + StringExpandPlaceholders(gStringVar4, gText_TeachX); + sub_81D2BF4(gStringVar4); + break; + } +} + +s32 sub_8161054(void) +{ + return sLearnMoveStruct->menuItems[gUnknown_0203BC38.listRow + gUnknown_0203BC38.listOffset].id; +} + +void sub_8161074(u8 a0) +{ + if (!a0) + { + StringExpandPlaceholders(gStringVar4, gText_TeachWhichMoveToPkmn); + FillWindowPixelBuffer(3, 0x11); + PrintTextOnWindow(3, 1, gStringVar4, 0, 1, 0, NULL); + } +} + +void sub_81610B8(void) +{ + int i; + + sLearnMoveStruct->unk114 = 0xFF; + sLearnMoveStruct->unk113 = -1; + sub_81611AC(); + + for (i = 0; i < 8; i++) + { + sLearnMoveStruct->spriteIds[i] = CreateSprite(&gUnknown_085CEC10, (i - (i / 4) * 4) * 8 + 104, (i / 4) * 8 + 36, 0); + } + + for (i = 0; i < 8; i++) + { + sLearnMoveStruct->spriteIds[i + 8] = CreateSprite(&gUnknown_085CEC10, (i - (i / 4) * 4) * 8 + 104, (i / 4) * 8 + 52, 0); + StartSpriteAnim(&gSprites[sLearnMoveStruct->spriteIds[i + 8]], 2); + } + + for (i = 0; i < 16; i++) + { + gSprites[sLearnMoveStruct->spriteIds[i]].invisible = TRUE; + } +} + +void sub_81611AC(void) +{ + if (sLearnMoveStruct->unk114 == 0xFF) + { + sLearnMoveStruct->unk114 = AddScrollIndicatorArrowPair(&gUnknown_085CEBC0, &sLearnMoveStruct->unk116); + } + + if (sLearnMoveStruct->unk113 == 0xFF) + { + gTempScrollArrowTemplate = gUnknown_085CEBD0; + gTempScrollArrowTemplate.fullyDownThreshold = sLearnMoveStruct->numMenuChoices - sLearnMoveStruct->unk111; + sLearnMoveStruct->unk113 = AddScrollIndicatorArrowPair(&gTempScrollArrowTemplate, &gUnknown_0203BC38.listOffset); + } +} + +void sub_8161234(void) +{ + if (sLearnMoveStruct->unk114 != 0xFF) + { + RemoveScrollIndicatorArrowPair(sLearnMoveStruct->unk114); + sLearnMoveStruct->unk114 = 0xFF; + } + + if (sLearnMoveStruct->unk113 != 0xFF) + { + RemoveScrollIndicatorArrowPair(sLearnMoveStruct->unk113); + sLearnMoveStruct->unk113 = 0xFF; + } +} + +void sub_8161280(void) +{ + s32 i; + u8 nickname[POKEMON_NAME_LENGTH + 1]; + + sLearnMoveStruct->numMenuChoices = GetMoveRelearnerMoves(&gPlayerParty[sLearnMoveStruct->partyMon], sLearnMoveStruct->movesToLearn); + + for (i = 0; i < sLearnMoveStruct->numMenuChoices; i++) + { + sLearnMoveStruct->menuItems[i].name = gMoveNames[sLearnMoveStruct->movesToLearn[i]]; + sLearnMoveStruct->menuItems[i].id = sLearnMoveStruct->movesToLearn[i]; + } + + GetMonData(&gPlayerParty[sLearnMoveStruct->partyMon], MON_DATA_NICKNAME, nickname); + StringCopy10(gStringVar1, nickname); + sLearnMoveStruct->menuItems[sLearnMoveStruct->numMenuChoices].name = gText_Cancel; + sLearnMoveStruct->menuItems[sLearnMoveStruct->numMenuChoices].id = LIST_B_PRESSED; + sLearnMoveStruct->numMenuChoices++; + sLearnMoveStruct->unk111 = sub_81D28C8(sLearnMoveStruct->menuItems, sLearnMoveStruct->numMenuChoices); +} + +void sub_816137C(s32 item) +{ + u16 i; + + if (!gUnknown_0203BC38.showContestInfo || item == LIST_NOTHING_CHOSEN) + { + for (i = 0; i < 16; i++) + { + gSprites[sLearnMoveStruct->spriteIds[i]].invisible = TRUE; + } + } + else + { + u8 temp1 = gContestEffects[gContestMoves[item].effect].appeal / 10; + + if (temp1 == 0xFF) + { + temp1 = 0; + } + + for (i = 0; i < 8; i++) + { + if (i < temp1) + { + StartSpriteAnim(&gSprites[sLearnMoveStruct->spriteIds[i]], 1); + } + else + { + StartSpriteAnim(&gSprites[sLearnMoveStruct->spriteIds[i]], 0); + } + gSprites[sLearnMoveStruct->spriteIds[i]].invisible = FALSE; + } + + temp1 = gContestEffects[gContestMoves[item].effect].jam / 10; + + if (temp1 == 0xFF) + { + temp1 = 0; + } + + for (i = 0; i < 8; i++) + { + if (i < temp1) + { + StartSpriteAnim(&gSprites[sLearnMoveStruct->spriteIds[i]], 3); + } + else + { + StartSpriteAnim(&gSprites[sLearnMoveStruct->spriteIds[i]], 2); + } + gSprites[sLearnMoveStruct->spriteIds[i]].invisible = FALSE; + } + } } diff --git a/src/main_menu.c b/src/main_menu.c index 3afe1abe58..052035e348 100644 --- a/src/main_menu.c +++ b/src/main_menu.c @@ -1362,7 +1362,7 @@ void task_new_game_prof_birch_speech_part2_3(u8 taskId) void task_new_game_prof_birch_speech_part2_4(u8 taskId) { - switch (ProcessMenuInputNoWrap_()) + switch (Menu_ProcessInputNoWrap_()) { case 0: PlaySE(SE_SELECT); @@ -1802,7 +1802,7 @@ void sub_8031D74(void) s8 sub_8031DB4(void) { - return ProcessMenuInputNoWrapAround(); + return Menu_ProcessInputNoWrapAround(); } void set_default_player_name(u8 nameId) diff --git a/src/menu.c b/src/menu.c index f4ffec0232..eda9513ba6 100644 --- a/src/menu.c +++ b/src/menu.c @@ -986,7 +986,7 @@ s8 ProcessMenuInput(void) return MENU_NOTHING_CHOSEN; } -s8 ProcessMenuInputNoWrapAround(void) +s8 Menu_ProcessInputNoWrapAround(void) { u8 oldPos = gUnknown_0203CD90.cursorPos; @@ -1044,7 +1044,7 @@ s8 ProcessMenuInput_other(void) return MENU_NOTHING_CHOSEN; } -s8 ProcessMenuInputNoWrapAround_other(void) +s8 Menu_ProcessInputNoWrapAround_other(void) { u8 oldPos = gUnknown_0203CD90.cursorPos; @@ -1187,9 +1187,9 @@ void sub_8198C34(const struct WindowTemplate *window, u8 fontId, u16 baseTileNum sub_8198AF8(window, fontId, 0, 1, baseTileNum, paletteNum, 0); } -s8 ProcessMenuInputNoWrap_(void) +s8 Menu_ProcessInputNoWrap_(void) { - s8 result = ProcessMenuInputNoWrapAround(); + s8 result = Menu_ProcessInputNoWrapAround(); if (result != MENU_NOTHING_CHOSEN) sub_8198C78(); return result; diff --git a/src/menu_helpers.c b/src/menu_helpers.c index 178fbb5fac..217fdabaec 100644 --- a/src/menu_helpers.c +++ b/src/menu_helpers.c @@ -169,7 +169,7 @@ void CreateYesNoMenuWithCallbacks(u8 taskId, const struct WindowTemplate *templa static void Task_CallYesOrNoCallback(u8 taskId) { - switch (ProcessMenuInputNoWrap_()) + switch (Menu_ProcessInputNoWrap_()) { case 0: PlaySE(SE_SELECT); diff --git a/src/player_pc.c b/src/player_pc.c index ba18b45ab7..ef00e2e062 100644 --- a/src/player_pc.c +++ b/src/player_pc.c @@ -272,7 +272,7 @@ static void PlayerPCProcessMenuInput(u8 taskId) if(gPcItemMenuOptionsNum > 3) inputOptionId = ProcessMenuInput(); else - inputOptionId = ProcessMenuInputNoWrapAround(); + inputOptionId = Menu_ProcessInputNoWrapAround(); switch(inputOptionId) { @@ -686,7 +686,7 @@ static void Mailbox_DrawYesNoBeforeMove(u8 taskId) static void Mailbox_MoveToBagYesNoPrompt(u8 taskId) { - switch(ProcessMenuInputNoWrap_()) + switch(Menu_ProcessInputNoWrap_()) { case 0: Mailbox_DoMailMoveToBag(taskId); diff --git a/src/pokeblock.c b/src/pokeblock.c index 7dd20b237a..e615693b94 100644 --- a/src/pokeblock.c +++ b/src/pokeblock.c @@ -1042,7 +1042,7 @@ static void Task_HandlePokeblockOptionsInput(u8 taskId) if (sub_81221EC() == TRUE) return; - itemId = ProcessMenuInputNoWrapAround(); + itemId = Menu_ProcessInputNoWrapAround(); if (itemId == MENU_NOTHING_CHOSEN) { return; diff --git a/src/pokemon_summary_screen.c b/src/pokemon_summary_screen.c index 728b887f86..55600b3c44 100644 --- a/src/pokemon_summary_screen.c +++ b/src/pokemon_summary_screen.c @@ -384,7 +384,7 @@ void sub_81BF8EC(u8 a, void *b, u8 c, u8 d, void *e) SetMainCallback2(sub_81BFAE4); } -void sub_81BFA38(void *a, u8 b, u8 c, void *d, u16 e) +void ShowSelectMovePokemonSummaryScreen(void *a, u8 b, u8 c, void *d, u16 e) { sub_81BF8EC(3, a, b, c, d); gUnknown_0203CF1C->unk40C4 = e; diff --git a/src/secret_base.c b/src/secret_base.c index c71f7ed23a..b75163200e 100644 --- a/src/secret_base.c +++ b/src/secret_base.c @@ -997,7 +997,7 @@ void sub_80E9FB0(u8 taskId) { s8 input; - input = ProcessMenuInputNoWrapAround(); + input = Menu_ProcessInputNoWrapAround(); switch (input) { case -1: diff --git a/src/start_menu.c b/src/start_menu.c index 7591d3b57c..60271317a3 100644 --- a/src/start_menu.c +++ b/src/start_menu.c @@ -985,7 +985,7 @@ static u8 SaveYesNoCallback(void) static u8 SaveConfirmInputCallback(void) { - switch (ProcessMenuInputNoWrap_()) + switch (Menu_ProcessInputNoWrap_()) { case 0: // Yes switch (gSaveFileStatus) @@ -1045,7 +1045,7 @@ static u8 SaveConfirmOverwriteCallback(void) static u8 SaveOverwriteInputCallback(void) { - switch (ProcessMenuInputNoWrap_()) + switch (Menu_ProcessInputNoWrap_()) { case 0: // Yes sSaveDialogCallback = SaveSavingMessageCallback; @@ -1169,7 +1169,7 @@ static u8 BattlePyramidRetireYesNoCallback(void) static u8 BattlePyramidRetireInputCallback(void) { - switch (ProcessMenuInputNoWrap_()) + switch (Menu_ProcessInputNoWrap_()) { case 0: // Yes return SAVE_CANCELED; diff --git a/src/starter_choose.c b/src/starter_choose.c index b55b0fbc51..36e2b121a5 100644 --- a/src/starter_choose.c +++ b/src/starter_choose.c @@ -258,7 +258,7 @@ static void Task_StarterChoose5(u8 taskId) { u8 spriteId; - switch (ProcessMenuInputNoWrap_()) + switch (Menu_ProcessInputNoWrap_()) { case 0: // YES // Return the starter choice and exit. diff --git a/src/wallclock.c b/src/wallclock.c index 3d95d75aca..5be20d5c9c 100644 --- a/src/wallclock.c +++ b/src/wallclock.c @@ -763,7 +763,7 @@ static void Task_SetClock3(u8 taskId) static void Task_SetClock4(u8 taskId) { - switch (ProcessMenuInputNoWrap_()) + switch (Menu_ProcessInputNoWrap_()) { case 0: PlaySE(SE_SELECT); From f1daf7442dfd25d12daacd7f59b4c42129d48c09 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Sun, 12 Aug 2018 22:04:49 +0200 Subject: [PATCH 090/234] event data review changes --- include/constants/flags.h | 1 + include/constants/vars.h | 1 + src/event_data.c | 10 +++++----- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/include/constants/flags.h b/include/constants/flags.h index 6c1400410b..a74dffccf9 100644 --- a/include/constants/flags.h +++ b/include/constants/flags.h @@ -1570,6 +1570,7 @@ #define FLAG_0x95E (SYSTEM_FLAGS + 0xFE) #define FLAG_0x95F (SYSTEM_FLAGS + 0xFF) +#define SPECIAL_FLAGS_START 0x4000 // SPECIAL FLAGS (unknown purpose) #define FLAG_SPECIAL_FLAG_0x4000 0x4000 #define FLAG_SPECIAL_FLAG_0x4001 0x4001 diff --git a/include/constants/vars.h b/include/constants/vars.h index 7cf232efe4..e2c59b4fb2 100644 --- a/include/constants/vars.h +++ b/include/constants/vars.h @@ -273,6 +273,7 @@ #define VAR_0x40FE 0x40FE #define VAR_0x40FF 0x40FF +#define SPECIAL_VARS_START 0x8000 // special vars // They are commonly used as parameters to commands, or return values from commands. #define VAR_0x8000 0x8000 diff --git a/src/event_data.c b/src/event_data.c index e42f5d5140..2cbe50f13b 100644 --- a/src/event_data.c +++ b/src/event_data.c @@ -25,7 +25,7 @@ EWRAM_DATA u16 gSpecialVar_MonBoxPos = 0; EWRAM_DATA u16 gSpecialVar_0x8014 = 0; EWRAM_DATA static u8 gUnknown_020375FC[16] = {0}; -extern u16 * const gSpecialVars[]; +extern u16 *const gSpecialVars[]; extern void sub_80BB358(void); @@ -166,10 +166,10 @@ u16 *GetVarPointer(u16 id) { if (id < VARS_START) return NULL; - else if (id < VAR_0x8000) + else if (id < SPECIAL_VARS_START) return &gSaveBlock1Ptr->vars[id - VARS_START]; else - return gSpecialVars[id - VAR_0x8000]; + return gSpecialVars[id - SPECIAL_VARS_START]; } u16 VarGet(u16 id) @@ -198,10 +198,10 @@ u8 *GetFlagPointer(u16 id) { if (id == 0) return NULL; - else if (id < FLAG_SPECIAL_FLAG_0x4000) + else if (id < SPECIAL_FLAGS_START) return &gSaveBlock1Ptr->flags[id / 8]; else - return &gUnknown_020375FC[(id - FLAG_SPECIAL_FLAG_0x4000) / 8]; + return &gUnknown_020375FC[(id - SPECIAL_FLAGS_START) / 8]; } u8 FlagSet(u16 id) From b40957c09b0fdebae2923b9080e1a08d92ad0812 Mon Sep 17 00:00:00 2001 From: Diegoisawesome Date: Sun, 12 Aug 2018 13:33:41 -0700 Subject: [PATCH 091/234] Finish decompiling learn_move --- include/learn_move.h | 2 +- include/pokenav.h | 1 + src/event_data.c | 8 +- src/learn_move.c | 186 +++++++++++++++++++++---------------------- src/slot_machine.c | 2 +- 5 files changed, 96 insertions(+), 103 deletions(-) diff --git a/include/learn_move.h b/include/learn_move.h index 9a7a779df8..2acc21cde2 100644 --- a/include/learn_move.h +++ b/include/learn_move.h @@ -1,7 +1,7 @@ #ifndef GUARD_LEARN_MOVE_H #define GUARD_LEARN_MOVE_H -void VBlankCB_LearnMove(void); void TeachMoveTutorMove(void); +void sub_816137C(s32); #endif //GUARD_LEARN_MOVE_H diff --git a/include/pokenav.h b/include/pokenav.h index 1fef8c91bd..dd3fd49051 100644 --- a/include/pokenav.h +++ b/include/pokenav.h @@ -26,5 +26,6 @@ void sub_81D2BF4(u8 *); u16 sub_81D2C3C(void); void sub_81D2C50(void); u8 sub_81D28C8(const struct ListMenuItem *items, u16 numChoices); +void sub_81D2824(u16); #endif //GUARD_POKENAV_H diff --git a/src/event_data.c b/src/event_data.c index 2cbe50f13b..8a998fe262 100644 --- a/src/event_data.c +++ b/src/event_data.c @@ -168,8 +168,8 @@ u16 *GetVarPointer(u16 id) return NULL; else if (id < SPECIAL_VARS_START) return &gSaveBlock1Ptr->vars[id - VARS_START]; - else - return gSpecialVars[id - SPECIAL_VARS_START]; + else + return gSpecialVars[id - SPECIAL_VARS_START]; } u16 VarGet(u16 id) @@ -200,8 +200,8 @@ u8 *GetFlagPointer(u16 id) return NULL; else if (id < SPECIAL_FLAGS_START) return &gSaveBlock1Ptr->flags[id / 8]; - else - return &gUnknown_020375FC[(id - SPECIAL_FLAGS_START) / 8]; + else + return &gUnknown_020375FC[(id - SPECIAL_FLAGS_START) / 8]; } u8 FlagSet(u16 id) diff --git a/src/learn_move.c b/src/learn_move.c index b65fd2045d..9058a3287f 100644 --- a/src/learn_move.c +++ b/src/learn_move.c @@ -1,6 +1,7 @@ #include "global.h" #include "main.h" #include "bg.h" +#include "contest_effect.h" #include "data2.h" #include "event_data.h" #include "field_screen.h" @@ -23,34 +24,31 @@ #include "constants/rgb.h" #include "constants/songs.h" -struct LearnMoveStruct +static EWRAM_DATA struct { u8 state; - u8 spriteIds[16]; /*0x001*/ - u8 filler11; /*0x011*/ - u16 movesToLearn[4]; /*0x012*/ - u8 filler1A[0x44 - 0x1A]; /*0x01A*/ - u8 partyMon; /*0x044*/ - u8 unk045; /*0x045*/ - u8 filler46[2]; /*0x046*/ - struct ListMenuItem menuItems[4]; /*0x048*/ - u8 filler68[0x110 - 0x68]; /*0x068*/ - u8 numMenuChoices; /*0x110*/ - u8 unk111; /*0x111*/ - u8 listMenuTask; /*0x112*/ - u8 unk113; /*0x113*/ - u8 unk114; /*0x114*/ - u16 unk116; /*0x116*/ -}; + u8 spriteIds[16]; /*0x001*/ + u8 filler11; /*0x011*/ + u16 movesToLearn[4]; /*0x012*/ + u8 filler1A[0x44 - 0x1A]; /*0x01A*/ + u8 partyMon; /*0x044*/ + u8 unk045; /*0x045*/ + u8 filler46[2]; /*0x046*/ + struct ListMenuItem menuItems[4]; /*0x048*/ + u8 filler68[0x110 - 0x68]; /*0x068*/ + u8 numMenuChoices; /*0x110*/ + u8 unk111; /*0x111*/ + u8 listMenuTask; /*0x112*/ + u8 unk113; /*0x113*/ + u8 unk114; /*0x114*/ + u16 unk116; /*0x116*/ +} *sLearnMoveStruct = {0}; -EWRAM_DATA struct LearnMoveStruct *sLearnMoveStruct = {0}; -EWRAM_DATA struct { +static EWRAM_DATA struct { u16 listOffset; u16 listRow; u8 showContestInfo; -} gUnknown_0203BC38 = {0}; - -extern void (*gFieldCallback)(void); +} sLearnMoveStruct2 = {0}; const u16 gUnknown_085CE9F8[] = INCBIN_U16("graphics/interface/ui_learn_move.gbapal"); const u8 gUnknown_085CEA18[] = INCBIN_U8("graphics/interface/ui_learn_move.4bpp"); @@ -214,20 +212,23 @@ const struct BgTemplate gUnknown_085CEC28[] = }, }; -extern void sub_81D2824(u16); - -void sub_8160868(void); -void sub_8161280(void); -void sub_81610B8(void); -void sub_816082C(void); - +static void sub_8160868(void); +static void sub_8161280(void); +static void sub_81610B8(void); +static void sub_816082C(void); static void sub_8160664(u8 taskId); -void CB2_InitLearnMove(void); -void sub_8160740(void); -void sub_81607EC(void); -void sub_816082C(void); +static void CB2_InitLearnMove(void); +static void sub_8160740(void); +static void sub_81607EC(void); +static void sub_81611AC(void); +static void sub_8160F50(u8); +static void sub_8161074(u8); +static s32 sub_8161054(void); +static void sub_8160EA0(void); +static void sub_8161234(void); +static void render_previous_quest_text(bool8); -void VBlankCB_LearnMove(void) +static void VBlankCB_LearnMove(void) { LoadOam(); ProcessSpriteCopyRequests(); @@ -241,7 +242,7 @@ void TeachMoveTutorMove(void) BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); } -void sub_8160664(u8 taskId) +static void sub_8160664(u8 taskId) { if (!gPaletteFade.active) { @@ -251,22 +252,22 @@ void sub_8160664(u8 taskId) } } -void CB2_InitLearnMove(void) +static void CB2_InitLearnMove(void) { ResetSpriteData(); FreeAllSpritePalettes(); ResetTasks(); clear_scheduled_bg_copies_to_vram(); - sLearnMoveStruct = AllocZeroed(sizeof(struct LearnMoveStruct)); + sLearnMoveStruct = AllocZeroed(sizeof(*sLearnMoveStruct)); sLearnMoveStruct->partyMon = gSpecialVar_0x8004; SetVBlankCallback(VBlankCB_LearnMove); sub_81607EC(); sub_81D2824(0); - gUnknown_0203BC38.listOffset = 0; - gUnknown_0203BC38.listRow = 0; - gUnknown_0203BC38.showContestInfo = 0; + sLearnMoveStruct2.listOffset = 0; + sLearnMoveStruct2.listRow = 0; + sLearnMoveStruct2.showContestInfo = 0; sub_8161280(); @@ -274,37 +275,37 @@ void CB2_InitLearnMove(void) LoadSpritePalette(&gUnknown_085CEBB8); sub_81610B8(); - sLearnMoveStruct->listMenuTask = ListMenuInit(&gMultiuseListMenuTemplate, gUnknown_0203BC38.listOffset, gUnknown_0203BC38.listRow); + sLearnMoveStruct->listMenuTask = ListMenuInit(&gMultiuseListMenuTemplate, sLearnMoveStruct2.listOffset, sLearnMoveStruct2.listRow); FillPalette(RGB_BLACK, 0, 2); SetMainCallback2(sub_816082C); } -void sub_8160740(void) +static void sub_8160740(void) { ResetSpriteData(); FreeAllSpritePalettes(); ResetTasks(); clear_scheduled_bg_copies_to_vram(); - sLearnMoveStruct = AllocZeroed(sizeof(struct LearnMoveStruct)); + sLearnMoveStruct = AllocZeroed(sizeof(*sLearnMoveStruct)); sLearnMoveStruct->state = 28; sLearnMoveStruct->partyMon = gSpecialVar_0x8004; sLearnMoveStruct->unk045 = gSpecialVar_0x8005; SetVBlankCallback(VBlankCB_LearnMove); sub_81607EC(); - sub_81D2824(gUnknown_0203BC38.showContestInfo); + sub_81D2824(sLearnMoveStruct2.showContestInfo); sub_8161280(); LoadSpriteSheet(&gUnknown_085CEBB0); LoadSpritePalette(&gUnknown_085CEBB8); sub_81610B8(); - sLearnMoveStruct->listMenuTask = ListMenuInit(&gMultiuseListMenuTemplate, gUnknown_0203BC38.listOffset, gUnknown_0203BC38.listRow); + sLearnMoveStruct->listMenuTask = ListMenuInit(&gMultiuseListMenuTemplate, sLearnMoveStruct2.listOffset, sLearnMoveStruct2.listRow); FillPalette(RGB_BLACK, 0, 2); SetMainCallback2(sub_816082C); } -void sub_81607EC(void) +static void sub_81607EC(void) { ResetVramOamAndBgCntRegs(); ResetBgsAndClearDma3BusyFlags(0); @@ -318,7 +319,7 @@ void sub_81607EC(void) SetGpuReg(REG_OFFSET_BLDCNT, 0); } -void sub_816082C(void) +static void sub_816082C(void) { sub_8160868(); RunTasks(); @@ -328,21 +329,13 @@ void sub_816082C(void) UpdatePaletteFade(); } -void sub_816084C(const u8 *src) +static void sub_816084C(const u8 *src) { StringExpandPlaceholders(gStringVar4, src); sub_81D2BF4(gStringVar4); } -void sub_81611AC(void); -void sub_8160F50(u8); -void sub_8161074(u8); -s32 sub_8161054(void); -void sub_8160EA0(void); -void sub_8161234(void); -void render_previous_quest_text(bool8); - -void sub_8160868(void) +static void sub_8160868(void) { switch (sLearnMoveStruct->state) { @@ -402,11 +395,11 @@ void sub_8160868(void) } else if (selection == -1 || selection == 1) { - if (gUnknown_0203BC38.showContestInfo == FALSE) + if (sLearnMoveStruct2.showContestInfo == FALSE) { sLearnMoveStruct->state = 3; } - else if (gUnknown_0203BC38.showContestInfo == TRUE) + else if (sLearnMoveStruct2.showContestInfo == TRUE) { sLearnMoveStruct->state = 5; } @@ -431,11 +424,11 @@ void sub_8160868(void) } else if (selection == -1 || selection == 1) { - if (gUnknown_0203BC38.showContestInfo == FALSE) + if (sLearnMoveStruct2.showContestInfo == FALSE) { sLearnMoveStruct->state = 3; } - else if (gUnknown_0203BC38.showContestInfo == TRUE) + else if (sLearnMoveStruct2.showContestInfo == TRUE) { sLearnMoveStruct->state = 5; } @@ -491,11 +484,11 @@ void sub_8160868(void) else if (var == -1 || var == 1) { // What's the point? It gets set to 16, anyway. - if (gUnknown_0203BC38.showContestInfo == FALSE) + if (sLearnMoveStruct2.showContestInfo == FALSE) { sLearnMoveStruct->state = 3; } - else if (gUnknown_0203BC38.showContestInfo == TRUE) + else if (sLearnMoveStruct2.showContestInfo == TRUE) { sLearnMoveStruct->state = 5; } @@ -507,11 +500,11 @@ void sub_8160868(void) if (!sub_81D2C3C()) { FillWindowPixelBuffer(3, 0x11); - if (gUnknown_0203BC38.showContestInfo == FALSE) + if (sLearnMoveStruct2.showContestInfo == FALSE) { sLearnMoveStruct->state = 3; } - else if (gUnknown_0203BC38.showContestInfo == TRUE) + else if (sLearnMoveStruct2.showContestInfo == TRUE) { sLearnMoveStruct->state = 5; } @@ -554,11 +547,11 @@ void sub_8160868(void) case 28: BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK); sLearnMoveStruct->state++; - if (gUnknown_0203BC38.showContestInfo == FALSE) + if (sLearnMoveStruct2.showContestInfo == FALSE) { render_previous_quest_text(TRUE); } - else if (gUnknown_0203BC38.showContestInfo == TRUE) + else if (sLearnMoveStruct2.showContestInfo == TRUE) { sub_8161074(1); } @@ -617,17 +610,17 @@ void sub_8160868(void) } } -void sub_8160EA0(void) +static void sub_8160EA0(void) { sub_8161234(); - DestroyListMenuTask(sLearnMoveStruct->listMenuTask, &gUnknown_0203BC38.listOffset, &gUnknown_0203BC38.listRow); + DestroyListMenuTask(sLearnMoveStruct->listMenuTask, &sLearnMoveStruct2.listOffset, &sLearnMoveStruct2.listRow); FreeAllWindowBuffers(); FREE_AND_SET_NULL(sLearnMoveStruct); ResetSpriteData(); FreeAllSpritePalettes(); } -void render_previous_quest_text(bool8 a) +static void render_previous_quest_text(bool8 a) { s32 i; @@ -644,12 +637,10 @@ void render_previous_quest_text(bool8 a) } } -void sub_816137C(s32); - -void sub_8160F50(u8 a0) +static void sub_8160F50(u8 a0) { s32 itemId = ListMenuHandleInputGetItemId(sLearnMoveStruct->listMenuTask); - ListMenuGetScrollAndRow(sLearnMoveStruct->listMenuTask, &gUnknown_0203BC38.listOffset, &gUnknown_0203BC38.listRow); + ListMenuGetScrollAndRow(sLearnMoveStruct->listMenuTask, &sLearnMoveStruct2.listOffset, &sLearnMoveStruct2.listRow); switch (itemId) { @@ -665,13 +656,13 @@ void sub_8160F50(u8 a0) { PutWindowTilemap(1); sLearnMoveStruct->state = 5; - gUnknown_0203BC38.showContestInfo = TRUE; + sLearnMoveStruct2.showContestInfo = TRUE; } else { PutWindowTilemap(0); sLearnMoveStruct->state = 3; - gUnknown_0203BC38.showContestInfo = FALSE; + sLearnMoveStruct2.showContestInfo = FALSE; } schedule_bg_copy_tilemap_to_vram(1); @@ -695,12 +686,12 @@ void sub_8160F50(u8 a0) } } -s32 sub_8161054(void) +static s32 sub_8161054(void) { - return sLearnMoveStruct->menuItems[gUnknown_0203BC38.listRow + gUnknown_0203BC38.listOffset].id; + return sLearnMoveStruct->menuItems[sLearnMoveStruct2.listRow + sLearnMoveStruct2.listOffset].id; } -void sub_8161074(u8 a0) +static void sub_8161074(u8 a0) { if (!a0) { @@ -710,11 +701,11 @@ void sub_8161074(u8 a0) } } -void sub_81610B8(void) +static void sub_81610B8(void) { int i; - sLearnMoveStruct->unk114 = 0xFF; + sLearnMoveStruct->unk114 = -1; sLearnMoveStruct->unk113 = -1; sub_81611AC(); @@ -735,7 +726,7 @@ void sub_81610B8(void) } } -void sub_81611AC(void) +static void sub_81611AC(void) { if (sLearnMoveStruct->unk114 == 0xFF) { @@ -746,11 +737,11 @@ void sub_81611AC(void) { gTempScrollArrowTemplate = gUnknown_085CEBD0; gTempScrollArrowTemplate.fullyDownThreshold = sLearnMoveStruct->numMenuChoices - sLearnMoveStruct->unk111; - sLearnMoveStruct->unk113 = AddScrollIndicatorArrowPair(&gTempScrollArrowTemplate, &gUnknown_0203BC38.listOffset); + sLearnMoveStruct->unk113 = AddScrollIndicatorArrowPair(&gTempScrollArrowTemplate, &sLearnMoveStruct2.listOffset); } } -void sub_8161234(void) +static void sub_8161234(void) { if (sLearnMoveStruct->unk114 != 0xFF) { @@ -765,7 +756,7 @@ void sub_8161234(void) } } -void sub_8161280(void) +static void sub_8161280(void) { s32 i; u8 nickname[POKEMON_NAME_LENGTH + 1]; @@ -788,9 +779,10 @@ void sub_8161280(void) void sub_816137C(s32 item) { + u16 numHearts; u16 i; - if (!gUnknown_0203BC38.showContestInfo || item == LIST_NOTHING_CHOSEN) + if (!sLearnMoveStruct2.showContestInfo || item == LIST_B_PRESSED) { for (i = 0; i < 16; i++) { @@ -799,16 +791,16 @@ void sub_816137C(s32 item) } else { - u8 temp1 = gContestEffects[gContestMoves[item].effect].appeal / 10; + numHearts = (u8)(gContestEffects[gContestMoves[item].effect].appeal / 10); - if (temp1 == 0xFF) + if (numHearts == 0xFF) { - temp1 = 0; + numHearts = 0; } for (i = 0; i < 8; i++) { - if (i < temp1) + if (i < numHearts) { StartSpriteAnim(&gSprites[sLearnMoveStruct->spriteIds[i]], 1); } @@ -819,24 +811,24 @@ void sub_816137C(s32 item) gSprites[sLearnMoveStruct->spriteIds[i]].invisible = FALSE; } - temp1 = gContestEffects[gContestMoves[item].effect].jam / 10; + numHearts = (u8)(gContestEffects[gContestMoves[item].effect].jam / 10); - if (temp1 == 0xFF) + if (numHearts == 0xFF) { - temp1 = 0; + numHearts = 0; } for (i = 0; i < 8; i++) { - if (i < temp1) + if (i < numHearts) { - StartSpriteAnim(&gSprites[sLearnMoveStruct->spriteIds[i]], 3); + StartSpriteAnim(&gSprites[sLearnMoveStruct->spriteIds[i + 8]], 3); } else { - StartSpriteAnim(&gSprites[sLearnMoveStruct->spriteIds[i]], 2); + StartSpriteAnim(&gSprites[sLearnMoveStruct->spriteIds[i + 8]], 2); } - gSprites[sLearnMoveStruct->spriteIds[i]].invisible = FALSE; + gSprites[sLearnMoveStruct->spriteIds[i + 8]].invisible = FALSE; } } } diff --git a/src/slot_machine.c b/src/slot_machine.c index 5422103c3c..6b6a46cf8a 100644 --- a/src/slot_machine.c +++ b/src/slot_machine.c @@ -975,7 +975,7 @@ bool8 sub_8102318(struct Task *task) bool8 sub_8102344(struct Task *task) { - s8 input = ProcessMenuInputNoWrap_(); + s8 input = Menu_ProcessInputNoWrap_(); if (input == 0) { sub_8197434(0, TRUE); From 0d68af7f061ec0826e7f38751b91bae0fd296d55 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Sun, 12 Aug 2018 23:20:17 +0200 Subject: [PATCH 092/234] copy contest effect from ruby --- asm/contest.s | 46 +- asm/contest_ai.s | 2 +- asm/contest_effect.s | 3175 ------------------------ data/contest_effect.s | 18 +- data/contest_effect_function_table.inc | 50 - data/contest_effects.inc | 289 --- data/contest_moves.inc | 2486 ------------------- include/contest.h | 7 + include/contest_effect.h | 2 +- ld_script.txt | 2 + src/contest.c | 10 +- src/contest_effect.c | 1174 +++++++++ src/data/contest_moves.h | 536 ++++ 13 files changed, 1750 insertions(+), 6047 deletions(-) delete mode 100644 data/contest_effect_function_table.inc delete mode 100644 data/contest_effects.inc delete mode 100644 data/contest_moves.inc create mode 100644 src/contest_effect.c create mode 100644 src/data/contest_moves.h diff --git a/asm/contest.s b/asm/contest.s index 6504e7bf10..aec0becbb4 100644 --- a/asm/contest.s +++ b/asm/contest.s @@ -43,7 +43,7 @@ sub_80DB8B8: @ 80DB8B8 lsrs r4, r0, 24 adds r5, r4, 0 adds r0, r4, 0 - bl sub_80DBCA8 + bl Contest_IsMonsTurnDisabled lsls r0, 24 cmp r0, 0 beq _080DB8D0 @@ -568,8 +568,8 @@ _080DBC3C: .pool thumb_func_end sub_80DBAA0 - thumb_func_start sub_80DBCA8 -sub_80DBCA8: @ 80DBCA8 + thumb_func_start Contest_IsMonsTurnDisabled +Contest_IsMonsTurnDisabled: @ 80DBCA8 push {lr} lsls r0, 24 lsrs r0, 24 @@ -599,7 +599,7 @@ _080DBCD8: _080DBCDA: pop {r1} bx r1 - thumb_func_end sub_80DBCA8 + thumb_func_end Contest_IsMonsTurnDisabled thumb_func_start sub_80DBCE0 sub_80DBCE0: @ 80DBCE0 @@ -3233,7 +3233,7 @@ _080DD166: ands r0, r2 strb r0, [r1, 0x15] _080DD1B4: - ldr r0, =gContestEffectFunctionTable + ldr r0, =gContestEffectFuncs add r0, r9 ldr r0, [r0] bl _call_via_r0 @@ -3506,8 +3506,8 @@ _080DD3C4: .pool thumb_func_end sub_80DD080 - thumb_func_start sub_80DD3D4 -sub_80DD3D4: @ 80DD3D4 + thumb_func_start SetContestantEffectStringID +SetContestantEffectStringID: @ 80DD3D4 lsls r0, 24 lsrs r0, 24 ldr r2, =gContestResources @@ -3520,10 +3520,10 @@ sub_80DD3D4: @ 80DD3D4 strb r1, [r2, 0x13] bx lr .pool - thumb_func_end sub_80DD3D4 + thumb_func_end SetContestantEffectStringID - thumb_func_start sub_80DD3F0 -sub_80DD3F0: @ 80DD3F0 + thumb_func_start SetContestantEffectStringID2 +SetContestantEffectStringID2: @ 80DD3F0 lsls r0, 24 lsrs r0, 24 ldr r2, =gContestResources @@ -3536,10 +3536,10 @@ sub_80DD3F0: @ 80DD3F0 strb r1, [r2, 0x14] bx lr .pool - thumb_func_end sub_80DD3F0 + thumb_func_end SetContestantEffectStringID2 - thumb_func_start sub_80DD40C -sub_80DD40C: @ 80DD40C + thumb_func_start SetStartledString +SetStartledString: @ 80DD40C push {lr} lsls r0, 24 lsrs r0, 24 @@ -3550,36 +3550,36 @@ sub_80DD40C: @ 80DD40C cmp r1, 0x3B bls _080DD426 movs r1, 0x35 - bl sub_80DD3D4 + bl SetContestantEffectStringID b _080DD456 _080DD426: cmp r1, 0x27 bls _080DD432 movs r1, 0x34 - bl sub_80DD3D4 + bl SetContestantEffectStringID b _080DD456 _080DD432: cmp r1, 0x1D bls _080DD43E movs r1, 0x33 - bl sub_80DD3D4 + bl SetContestantEffectStringID b _080DD456 _080DD43E: cmp r1, 0x13 bls _080DD44A movs r1, 0x32 - bl sub_80DD3D4 + bl SetContestantEffectStringID b _080DD456 _080DD44A: cmp r2, 0x9 bls _080DD456 adds r0, r3, 0 movs r1, 0x31 - bl sub_80DD3D4 + bl SetContestantEffectStringID _080DD456: pop {r0} bx r0 - thumb_func_end sub_80DD40C + thumb_func_end SetStartledString thumb_func_start sub_80DD45C sub_80DD45C: @ 80DD45C @@ -3678,8 +3678,8 @@ _080DD52C: .pool thumb_func_end sub_80DD45C - thumb_func_start sub_80DD560 -sub_80DD560: @ 80DD560 + thumb_func_start MakeContestantNervous +MakeContestantNervous: @ 80DD560 push {r4,lr} lsls r0, 24 lsrs r0, 24 @@ -3703,7 +3703,7 @@ sub_80DD560: @ 80DD560 pop {r0} bx r0 .pool - thumb_func_end sub_80DD560 + thumb_func_end MakeContestantNervous thumb_func_start sub_80DD590 sub_80DD590: @ 80DD590 @@ -5136,7 +5136,7 @@ _080DE146: beq _080DE1CA lsls r0, r7, 24 lsrs r0, 24 - bl sub_80DBCA8 + bl Contest_IsMonsTurnDisabled lsls r0, 24 cmp r0, 0 bne _080DE1CA diff --git a/asm/contest_ai.s b/asm/contest_ai.s index ff48661f08..0ccc5e9ec0 100644 --- a/asm/contest_ai.s +++ b/asm/contest_ai.s @@ -3329,7 +3329,7 @@ sub_8157C48: @ 8157C48 bl sub_81564AC lsls r0, 24 lsrs r0, 24 - bl sub_80DBCA8 + bl Contest_IsMonsTurnDisabled lsls r0, 24 cmp r0, 0 beq _08157C74 diff --git a/asm/contest_effect.s b/asm/contest_effect.s index 65a720a65c..e69de29bb2 100644 --- a/asm/contest_effect.s +++ b/asm/contest_effect.s @@ -1,3175 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start AreMovesContestCombo -@ u8 AreMovesContestCombo(u16 moveId1, u16 moveId2) -AreMovesContestCombo: @ 80E5414 - push {r4,lr} - sub sp, 0x4 - lsls r0, 16 - lsls r1, 16 - ldr r2, =gContestMoves - lsrs r0, 13 - adds r0, r2 - ldrb r4, [r0, 0x2] - mov r3, sp - lsrs r1, 13 - adds r1, r2 - ldrb r0, [r1, 0x3] - strb r0, [r3] - mov r2, sp - ldrb r0, [r1, 0x4] - strb r0, [r2, 0x1] - ldrb r0, [r1, 0x5] - strb r0, [r2, 0x2] - mov r0, sp - ldrb r1, [r1, 0x6] - strb r1, [r0, 0x3] - cmp r4, 0 - beq _080E5470 - mov r0, sp - ldrb r0, [r0] - cmp r4, r0 - beq _080E545E - mov r0, sp - ldrb r0, [r0, 0x1] - cmp r4, r0 - beq _080E545E - mov r0, sp - ldrb r0, [r0, 0x2] - cmp r4, r0 - beq _080E545E - cmp r4, r1 - bne _080E5470 -_080E545E: - ldr r0, =gComboStarterLookupTable - adds r0, r4, r0 - ldrb r0, [r0] - b _080E5472 - .pool -_080E5470: - movs r0, 0 -_080E5472: - add sp, 0x4 - pop {r4} - pop {r1} - bx r1 - thumb_func_end AreMovesContestCombo - - thumb_func_start ContestEffectFunc_080E547C -ContestEffectFunc_080E547C: @ 80E547C - bx lr - thumb_func_end ContestEffectFunc_080E547C - - thumb_func_start ContestEffectFunc_080E5480 -ContestEffectFunc_080E5480: @ 80E5480 - push {lr} - ldr r3, =gContestResources - ldr r1, [r3] - ldr r0, [r1, 0x8] - ldrb r2, [r0, 0x11] - ldr r1, [r1, 0x4] - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x10] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0, 0x10] - ldr r0, [r3] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0 - bl sub_80DD3D4 - pop {r0} - bx r0 - .pool - thumb_func_end ContestEffectFunc_080E5480 - - thumb_func_start ContestEffectFunc_080E54B0 -ContestEffectFunc_080E54B0: @ 80E54B0 - push {lr} - ldr r3, =gContestResources - ldr r1, [r3] - ldr r0, [r1, 0x8] - ldrb r2, [r0, 0x11] - ldr r1, [r1, 0x4] - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x11] - movs r2, 0x8 - orrs r1, r2 - strb r1, [r0, 0x11] - ldr r0, [r3] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x1 - bl sub_80DD3D4 - pop {r0} - bx r0 - .pool - thumb_func_end ContestEffectFunc_080E54B0 - - thumb_func_start ContestEffectFunc_080E54E0 -ContestEffectFunc_080E54E0: @ 80E54E0 - ldr r3, =gContestResources - ldr r1, [r3] - ldr r0, [r1, 0x8] - ldrb r2, [r0, 0x11] - ldr r1, [r1, 0x4] - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x10] - movs r2, 0x8 - orrs r1, r2 - strb r1, [r0, 0x10] - ldr r1, [r3] - ldr r0, [r1, 0x8] - ldrb r0, [r0, 0x11] - ldr r2, [r1, 0x4] - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - adds r1, r2 - ldrb r2, [r1, 0x15] - movs r0, 0x2 - negs r0, r0 - ands r0, r2 - strb r0, [r1, 0x15] - ldr r1, [r3] - ldr r0, [r1, 0x8] - ldrb r0, [r0, 0x11] - ldr r2, [r1, 0x4] - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - adds r1, r2 - ldrb r2, [r1, 0xB] - movs r0, 0x71 - negs r0, r0 - ands r0, r2 - strb r0, [r1, 0xB] - bx lr - .pool - thumb_func_end ContestEffectFunc_080E54E0 - - thumb_func_start ContestEffectFunc_080E5534 -ContestEffectFunc_080E5534: @ 80E5534 - push {lr} - ldr r3, =gContestResources - ldr r1, [r3] - ldr r0, [r1, 0x8] - ldrb r2, [r0, 0x11] - ldr r1, [r1, 0x4] - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r1 - movs r1, 0x1 - strb r1, [r0, 0x12] - ldr r0, [r3] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x2 - bl sub_80DD3D4 - pop {r0} - bx r0 - .pool - thumb_func_end ContestEffectFunc_080E5534 - - thumb_func_start ContestEffectFunc_080E5560 -ContestEffectFunc_080E5560: @ 80E5560 - push {lr} - ldr r3, =gContestResources - ldr r1, [r3] - ldr r0, [r1, 0x8] - ldrb r2, [r0, 0x11] - ldr r1, [r1, 0x4] - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x10] - movs r2, 0x2 - orrs r1, r2 - strb r1, [r0, 0x10] - ldr r0, [r3] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x3 - bl sub_80DD3D4 - pop {r0} - bx r0 - .pool - thumb_func_end ContestEffectFunc_080E5560 - - thumb_func_start ContestEffectFunc_080E5590 -ContestEffectFunc_080E5590: @ 80E5590 - push {lr} - ldr r3, =gContestResources - ldr r1, [r3] - ldr r0, [r1, 0x8] - ldrb r2, [r0, 0x11] - ldr r1, [r1, 0x4] - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r1 - movs r1, 0x14 - strb r1, [r0, 0xF] - ldr r0, [r3] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x4 - bl sub_80DD3D4 - pop {r0} - bx r0 - .pool - thumb_func_end ContestEffectFunc_080E5590 - - thumb_func_start ContestEffectFunc_080E55BC -ContestEffectFunc_080E55BC: @ 80E55BC - push {lr} - ldr r3, =gContestResources - ldr r1, [r3] - ldr r0, [r1, 0x8] - ldrb r2, [r0, 0x11] - ldr r1, [r1, 0x4] - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x10] - movs r2, 0x1 - orrs r1, r2 - strb r1, [r0, 0x10] - ldr r0, [r3] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x5 - bl sub_80DD3D4 - pop {r0} - bx r0 - .pool - thumb_func_end ContestEffectFunc_080E55BC - - thumb_func_start ContestEffectFunc_080E55EC -ContestEffectFunc_080E55EC: @ 80E55EC - push {r4,r5,lr} - movs r2, 0 - ldr r5, =gContestResources - ldr r0, [r5] - ldr r1, [r0, 0x8] - ldrb r4, [r1, 0x11] - adds r3, r1, r4 - ldrb r0, [r3] - cmp r0, 0 - beq _080E563A - subs r0, 0x1 - ldrb r1, [r1] - cmp r0, r1 - beq _080E5622 - adds r3, r5, 0 -_080E560A: - adds r2, 0x1 - cmp r2, 0x3 - bgt _080E5622 - ldr r0, [r3] - ldr r1, [r0, 0x8] - adds r0, r1, r4 - ldrb r0, [r0] - subs r0, 0x1 - adds r1, r2 - ldrb r1, [r1] - cmp r0, r1 - bne _080E560A -_080E5622: - ldr r1, =gContestResources - ldr r0, [r1] - ldr r0, [r0, 0x8] - strb r2, [r0, 0x8] - ldr r0, [r1] - ldr r1, [r0, 0x8] - movs r0, 0xFF - strb r0, [r1, 0x9] - bl sub_80E6A2C - lsls r0, 24 - lsrs r2, r0, 24 -_080E563A: - cmp r2, 0 - bne _080E564C - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x36 - bl sub_80DD3F0 -_080E564C: - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x30 - bl sub_80DD3D4 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end ContestEffectFunc_080E55EC - - thumb_func_start ContestEffectFunc_080E5664 -ContestEffectFunc_080E5664: @ 80E5664 - push {r4-r6,lr} - movs r1, 0 - ldr r2, =gContestResources - ldr r0, [r2] - ldr r0, [r0, 0x8] - ldrb r5, [r0, 0x11] - adds r0, r5 - ldrb r0, [r0] - cmp r0, 0 - beq _080E56B4 - movs r3, 0 - movs r4, 0 - adds r6, r2, 0 -_080E567E: - ldr r0, [r6] - ldr r2, [r0, 0x8] - adds r0, r2, r5 - adds r1, r2, r3 - ldrb r0, [r0] - ldrb r1, [r1] - cmp r0, r1 - bls _080E5698 - adds r0, r2, 0 - adds r0, 0x8 - adds r0, r4 - strb r3, [r0] - adds r4, 0x1 -_080E5698: - adds r3, 0x1 - cmp r3, 0x3 - ble _080E567E - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0x8] - adds r0, 0x8 - adds r0, r4 - movs r1, 0xFF - strb r1, [r0] - bl sub_80E6A2C - lsls r0, 24 - lsrs r1, r0, 24 -_080E56B4: - cmp r1, 0 - bne _080E56C6 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x36 - bl sub_80DD3F0 -_080E56C6: - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x30 - bl sub_80DD3D4 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end ContestEffectFunc_080E5664 - - thumb_func_start ContestEffectFunc_080E56E0 -ContestEffectFunc_080E56E0: @ 80E56E0 - push {lr} - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0xA - bl __umodsi3 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x14 - cmp r0, 0x1 - bls _080E5702 - movs r1, 0x3C - cmp r0, 0x7 - bhi _080E5702 - movs r1, 0x28 -_080E5702: - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0x8] - strh r1, [r0, 0x4] - bl ContestEffectFunc_080E55EC - pop {r0} - bx r0 - .pool - thumb_func_end ContestEffectFunc_080E56E0 - - thumb_func_start ContestEffectFunc_080E5718 -ContestEffectFunc_080E5718: @ 80E5718 - push {r4-r7,lr} - mov r7, r8 - push {r7} - movs r7, 0 - ldr r1, =gContestResources - ldr r0, [r1] - ldr r0, [r0, 0x8] - ldrb r5, [r0, 0x11] - adds r0, r5 - ldrb r0, [r0] - mov r8, r1 - cmp r0, 0 - beq _080E579E - movs r4, 0 - mov r6, r8 -_080E5736: - ldr r0, [r6] - ldr r2, [r0, 0x8] - adds r0, r2, r5 - adds r1, r2, r4 - ldrb r0, [r0] - ldrb r1, [r1] - cmp r0, r1 - bls _080E5798 - strb r4, [r2, 0x8] - ldr r0, [r6] - ldr r1, [r0, 0x8] - movs r0, 0xFF - strb r0, [r1, 0x9] - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0xA - bl __umodsi3 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - cmp r0, 0 - beq _080E5782 - movs r1, 0xA - cmp r0, 0x2 - bls _080E5782 - movs r1, 0x14 - cmp r0, 0x4 - bls _080E5782 - movs r1, 0x1E - cmp r0, 0x6 - bls _080E5782 - movs r1, 0x3C - cmp r0, 0x8 - bhi _080E5782 - movs r1, 0x28 -_080E5782: - ldr r0, [r6] - ldr r0, [r0, 0x8] - strh r1, [r0, 0x4] - bl sub_80E6A2C - lsls r0, 24 - cmp r0, 0 - beq _080E5798 - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 -_080E5798: - adds r4, 0x1 - cmp r4, 0x3 - ble _080E5736 -_080E579E: - mov r1, r8 - ldr r0, [r1] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x30 - bl sub_80DD3D4 - cmp r7, 0 - bne _080E57BE - mov r1, r8 - ldr r0, [r1] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x36 - bl sub_80DD3F0 -_080E57BE: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end ContestEffectFunc_080E5718 - - thumb_func_start ContestEffectFunc_080E57CC -ContestEffectFunc_080E57CC: @ 80E57CC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - movs r0, 0 - mov r9, r0 - ldr r1, =gContestResources - ldr r0, [r1] - ldr r0, [r0, 0x8] - ldrb r2, [r0, 0x11] - mov r8, r2 - add r0, r8 - ldrb r0, [r0] - mov r10, r1 - cmp r0, 0 - beq _080E5858 - movs r6, 0 - mov r7, r10 - movs r5, 0 -_080E57F4: - ldr r2, [r7] - ldr r0, [r2, 0x8] - mov r3, r8 - adds r1, r0, r3 - adds r0, r6 - ldrb r1, [r1] - ldrb r0, [r0] - cmp r1, r0 - bls _080E5850 - ldr r0, [r2, 0x4] - adds r0, r5, r0 - ldrb r1, [r0, 0x15] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080E5850 - lsls r0, r6, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - bl sub_80E69C8 - lsls r0, 24 - cmp r0, 0 - beq _080E5850 - ldr r0, [r7] - ldr r2, [r0, 0x4] - adds r2, r5, r2 - ldrb r0, [r2, 0x15] - movs r3, 0x11 - negs r3, r3 - adds r1, r3, 0 - ands r0, r1 - strb r0, [r2, 0x15] - ldr r0, [r7] - ldr r2, [r0, 0x4] - adds r2, r5, r2 - ldrb r0, [r2, 0x15] - movs r1, 0x20 - orrs r0, r1 - strb r0, [r2, 0x15] - adds r0, r4, 0 - movs r1, 0x8 - bl sub_80DD3D4 - movs r0, 0x1 - mov r9, r0 -_080E5850: - adds r5, 0x1C - adds r6, 0x1 - cmp r6, 0x3 - ble _080E57F4 -_080E5858: - mov r1, r10 - ldr r0, [r1] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x7 - bl sub_80DD3D4 - mov r2, r9 - cmp r2, 0 - bne _080E587A - mov r3, r10 - ldr r0, [r3] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x36 - bl sub_80DD3F0 -_080E587A: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end ContestEffectFunc_080E57CC - - thumb_func_start ContestEffectFunc_080E588C -ContestEffectFunc_080E588C: @ 80E588C - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - movs r0, 0 - mov r9, r0 - ldr r1, =gContestResources - ldr r0, [r1] - ldr r0, [r0, 0x8] - ldrb r7, [r0, 0x11] - adds r0, r7 - ldrb r0, [r0] - adds r4, r1, 0 - cmp r0, 0 - beq _080E590A - movs r5, 0 - movs r6, 0 - mov r8, r4 -_080E58B0: - ldr r3, [r4] - ldr r2, [r3, 0x8] - adds r0, r2, r7 - adds r1, r2, r5 - ldrb r0, [r0] - ldrb r1, [r1] - cmp r0, r1 - bls _080E5900 - ldr r0, [r3, 0x4] - adds r0, r6, r0 - ldrb r1, [r0, 0x15] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080E58D8 - movs r0, 0x32 - b _080E58DA - .pool -_080E58D8: - movs r0, 0xA -_080E58DA: - strh r0, [r2, 0x4] - mov r1, r8 - ldr r0, [r1] - ldr r0, [r0, 0x8] - strb r5, [r0, 0x8] - ldr r0, [r1] - ldr r1, [r0, 0x8] - movs r0, 0xFF - strb r0, [r1, 0x9] - bl sub_80E6A2C - lsls r0, 24 - cmp r0, 0 - beq _080E5900 - mov r0, r9 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 -_080E5900: - adds r6, 0x1C - adds r5, 0x1 - ldr r4, =gContestResources - cmp r5, 0x3 - ble _080E58B0 -_080E590A: - ldr r0, [r4] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x30 - bl sub_80DD3D4 - mov r0, r9 - cmp r0, 0 - bne _080E5928 - ldr r0, [r4] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x36 - bl sub_80DD3F0 -_080E5928: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end ContestEffectFunc_080E588C - - thumb_func_start ContestEffectFunc_080E5938 -ContestEffectFunc_080E5938: @ 80E5938 - push {r4,lr} - ldr r4, =gContestResources - ldr r1, [r4] - ldr r0, [r1, 0x8] - ldrb r2, [r0, 0x11] - ldr r1, [r1, 0x4] - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x11] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0, 0x11] - bl ContestEffectFunc_080E5664 - ldr r0, [r4] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x30 - bl sub_80DD3D4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end ContestEffectFunc_080E5938 - - thumb_func_start ContestEffectFunc_080E5970 -ContestEffectFunc_080E5970: @ 80E5970 - push {r4,lr} - ldr r4, =gContestResources - ldr r1, [r4] - ldr r0, [r1, 0x8] - ldrb r2, [r0, 0x11] - ldr r1, [r1, 0x4] - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r1 - ldrh r0, [r0, 0x6] - ldr r1, =gContestMoves - lsls r0, 3 - adds r0, r1 - ldrb r0, [r0, 0x1] - lsls r0, 29 - lsrs r0, 29 - bl sub_80E6934 - ldr r0, [r4] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x30 - bl sub_80DD3D4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end ContestEffectFunc_080E5970 - - thumb_func_start ContestEffectFunc_080E59B0 -ContestEffectFunc_080E59B0: @ 80E59B0 - push {lr} - movs r0, 0 - bl sub_80E6934 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x30 - bl sub_80DD3D4 - pop {r0} - bx r0 - .pool - thumb_func_end ContestEffectFunc_080E59B0 - - thumb_func_start ContestEffectFunc_080E59D0 -ContestEffectFunc_080E59D0: @ 80E59D0 - push {lr} - movs r0, 0x1 - bl sub_80E6934 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x30 - bl sub_80DD3D4 - pop {r0} - bx r0 - .pool - thumb_func_end ContestEffectFunc_080E59D0 - - thumb_func_start ContestEffectFunc_080E59F0 -ContestEffectFunc_080E59F0: @ 80E59F0 - push {lr} - movs r0, 0x2 - bl sub_80E6934 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x30 - bl sub_80DD3D4 - pop {r0} - bx r0 - .pool - thumb_func_end ContestEffectFunc_080E59F0 - - thumb_func_start ContestEffectFunc_080E5A10 -ContestEffectFunc_080E5A10: @ 80E5A10 - push {lr} - movs r0, 0x3 - bl sub_80E6934 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x30 - bl sub_80DD3D4 - pop {r0} - bx r0 - .pool - thumb_func_end ContestEffectFunc_080E5A10 - - thumb_func_start ContestEffectFunc_080E5A30 -ContestEffectFunc_080E5A30: @ 80E5A30 - push {lr} - movs r0, 0x4 - bl sub_80E6934 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x30 - bl sub_80DD3D4 - pop {r0} - bx r0 - .pool - thumb_func_end ContestEffectFunc_080E5A30 - - thumb_func_start ContestEffectFunc_080E5A50 -ContestEffectFunc_080E5A50: @ 80E5A50 - push {r4-r6,lr} - movs r4, 0 - ldr r2, =gContestResources - ldr r0, [r2] - ldr r0, [r0, 0x8] - ldrb r1, [r0, 0x11] - adds r0, r1 - ldrb r0, [r0] - adds r6, r2, 0 - cmp r0, 0x3 - beq _080E5AB0 - movs r5, 0 -_080E5A68: - ldr r0, =gContestResources - ldr r0, [r0] - ldr r1, [r0, 0x8] - ldrb r0, [r1, 0x11] - adds r0, r1, r0 - ldrb r0, [r0] - adds r0, 0x1 - adds r1, r5 - ldrb r1, [r1] - cmp r0, r1 - bne _080E5AAA - lsls r0, r5, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - bl sub_80E69C8 - lsls r0, 24 - cmp r0, 0 - beq _080E5AA0 - adds r0, r4, 0 - bl sub_80DD560 - adds r0, r4, 0 - movs r1, 0xA - b _080E5AA4 - .pool -_080E5AA0: - adds r0, r4, 0 - movs r1, 0x3C -_080E5AA4: - bl sub_80DD3D4 - movs r4, 0x1 -_080E5AAA: - adds r5, 0x1 - cmp r5, 0x3 - ble _080E5A68 -_080E5AB0: - ldr r0, [r6] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x9 - bl sub_80DD3D4 - cmp r4, 0 - bne _080E5ACC - ldr r0, [r6] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x36 - bl sub_80DD3F0 -_080E5ACC: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end ContestEffectFunc_080E5A50 - - thumb_func_start ContestEffectFunc_080E5AD4 -ContestEffectFunc_080E5AD4: @ 80E5AD4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x1C - movs r0, 0 - mov r9, r0 - movs r1, 0 - str r1, [sp, 0x18] - mov r0, sp - movs r1, 0xFF - movs r2, 0x5 - bl memset - movs r5, 0 - movs r4, 0 - add r2, sp, 0x10 - mov r8, r2 - add r3, sp, 0x8 - mov r10, r3 - movs r6, 0 -_080E5B00: - ldr r0, =gContestResources - ldr r2, [r0] - ldr r1, [r2, 0x8] - ldrb r0, [r1, 0x11] - adds r0, r1, r0 - adds r1, r5 - ldrb r0, [r0] - ldrb r1, [r1] - cmp r0, r1 - bcs _080E5B38 - ldr r0, [r2, 0x4] - adds r0, r6, r0 - ldrb r1, [r0, 0xC] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _080E5B38 - lsls r0, r5, 24 - lsrs r0, 24 - bl sub_80DBCA8 - lsls r0, 24 - cmp r0, 0 - bne _080E5B38 - mov r1, sp - adds r0, r1, r4 - strb r5, [r0] - adds r4, 0x1 -_080E5B38: - adds r6, 0x1C - adds r5, 0x1 - cmp r5, 0x3 - ble _080E5B00 - cmp r4, 0x1 - bne _080E5B50 - movs r0, 0x3C - mov r2, r8 - strh r0, [r2] - b _080E5B7E - .pool -_080E5B50: - cmp r4, 0x2 - bne _080E5B5E - movs r0, 0x1E - mov r3, r8 - strh r0, [r3] - strh r0, [r3, 0x2] - b _080E5B7E -_080E5B5E: - cmp r4, 0x3 - bne _080E5B6E - movs r0, 0x14 - mov r6, r8 - strh r0, [r6] - strh r0, [r6, 0x2] - strh r0, [r6, 0x4] - b _080E5B7E -_080E5B6E: - mov r1, r8 - movs r2, 0 - mov r0, r8 - adds r0, 0x6 -_080E5B76: - strh r2, [r0] - subs r0, 0x2 - cmp r0, r1 - bge _080E5B76 -_080E5B7E: - movs r5, 0 - ldr r7, =gContestResources - movs r6, 0 - mov r4, r10 -_080E5B86: - ldr r0, [r7] - ldr r0, [r0, 0x4] - adds r0, r6, r0 - ldrb r1, [r0, 0x15] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080E5BD0 - lsls r0, r5, 24 - lsrs r0, 24 - bl sub_80DE1E8 - lsls r0, 24 - cmp r0, 0 - beq _080E5BD0 - ldr r0, [r7] - ldr r0, [r0, 0x4] - adds r0, r6, r0 - ldrh r0, [r0, 0x8] - lsls r0, 3 - ldr r1, =gContestMoves - adds r0, r1 - ldrb r0, [r0, 0x2] - ldr r2, =gComboStarterLookupTable - adds r0, r2 - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 1 - b _080E5BD2 - .pool -_080E5BD0: - movs r0, 0 -_080E5BD2: - strh r0, [r4] - ldr r0, [r7] - ldr r0, [r0, 0x4] - adds r0, r6, r0 - ldrb r0, [r0, 0xD] - lsls r0, 24 - asrs r0, 24 - movs r1, 0xA - bl __divsi3 - lsls r0, 24 - asrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 1 - ldrh r0, [r4] - subs r0, r1 - strh r0, [r4] - adds r6, 0x1C - adds r4, 0x2 - adds r5, 0x1 - cmp r5, 0x3 - ble _080E5B86 - mov r3, r8 - movs r6, 0 - ldrsh r0, [r3, r6] - cmp r0, 0 - beq _080E5CA0 - movs r5, 0 - mov r0, sp - ldrb r0, [r0] - cmp r0, 0xFF - beq _080E5CA0 - mov r4, sp -_080E5C16: - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x64 - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - lsls r1, r5, 1 - add r1, r8 - movs r3, 0 - ldrsh r2, [r1, r3] - ldrb r3, [r4] - lsls r1, r3, 1 - add r1, r10 - movs r6, 0 - ldrsh r1, [r1, r6] - adds r2, r1 - cmp r0, r2 - bge _080E5C66 - adds r0, r3, 0 - bl sub_80E69C8 - lsls r0, 24 - cmp r0, 0 - beq _080E5C70 - ldrb r0, [r4] - bl sub_80DD560 - ldrb r0, [r4] - movs r1, 0xA - bl sub_80DD3D4 - mov r0, r9 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - b _080E5C6A -_080E5C66: - movs r0, 0x1 - str r0, [sp, 0x18] -_080E5C6A: - ldr r1, [sp, 0x18] - cmp r1, 0 - beq _080E5C86 -_080E5C70: - movs r2, 0 - str r2, [sp, 0x18] - ldrb r0, [r4] - movs r1, 0x3C - bl sub_80DD3D4 - mov r0, r9 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 -_080E5C86: - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0x8] - adds r0, 0xD - ldrb r3, [r4] - adds r0, r3 - movs r1, 0x1 - strb r1, [r0] - adds r4, 0x1 - adds r5, 0x1 - ldrb r0, [r4] - cmp r0, 0xFF - bne _080E5C16 -_080E5CA0: - ldr r6, =gContestResources - ldr r0, [r6] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0xB - bl sub_80DD3D4 - mov r0, r9 - cmp r0, 0 - bne _080E5CC0 - ldr r0, [r6] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x36 - bl sub_80DD3F0 -_080E5CC0: - add sp, 0x1C - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end ContestEffectFunc_080E5AD4 - - thumb_func_start ContestEffectFunc_080E5CD4 -ContestEffectFunc_080E5CD4: @ 80E5CD4 - push {r4-r7,lr} - mov r7, r8 - push {r7} - movs r0, 0 - mov r8, r0 - movs r6, 0 - ldr r7, =gContestResources - movs r5, 0 -_080E5CE4: - ldr r2, [r7] - ldr r0, [r2, 0x8] - ldrb r1, [r0, 0x11] - adds r1, r0, r1 - adds r0, r6 - ldrb r1, [r1] - ldrb r0, [r0] - cmp r1, r0 - bls _080E5D46 - ldr r0, [r2, 0x4] - adds r0, r5, r0 - ldrb r0, [r0, 0xD] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0 - ble _080E5D46 - lsls r0, r6, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - bl sub_80E69C8 - lsls r0, 24 - cmp r0, 0 - beq _080E5D46 - ldr r0, [r7] - ldr r0, [r0, 0x4] - adds r0, r5, r0 - movs r1, 0 - strb r1, [r0, 0xD] - ldr r0, [r7] - ldr r2, [r0, 0x4] - adds r2, r5, r2 - ldrb r1, [r2, 0x10] - movs r3, 0x31 - negs r3, r3 - adds r0, r3, 0 - ands r1, r0 - movs r0, 0x20 - orrs r1, r0 - strb r1, [r2, 0x10] - adds r0, r4, 0 - movs r1, 0xD - bl sub_80DD3D4 - mov r0, r8 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 -_080E5D46: - adds r5, 0x1C - adds r6, 0x1 - cmp r6, 0x3 - ble _080E5CE4 - ldr r4, =gContestResources - ldr r0, [r4] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0xC - bl sub_80DD3D4 - mov r0, r8 - cmp r0, 0 - bne _080E5D6E - ldr r0, [r4] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x39 - bl sub_80DD3F0 -_080E5D6E: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end ContestEffectFunc_080E5CD4 - - thumb_func_start ContestEffectFunc_080E5D7C -ContestEffectFunc_080E5D7C: @ 80E5D7C - push {r4-r7,lr} - movs r7, 0 - movs r4, 0 - ldr r5, =gContestResources - movs r6, 0 -_080E5D86: - ldr r3, [r5] - ldr r2, [r3, 0x8] - ldrb r0, [r2, 0x11] - adds r0, r2, r0 - adds r1, r2, r4 - ldrb r0, [r0] - ldrb r1, [r1] - cmp r0, r1 - bls _080E5DD2 - ldr r0, [r3, 0x4] - adds r0, r6, r0 - ldrb r0, [r0, 0xD] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0 - ble _080E5DB0 - movs r0, 0x28 - b _080E5DB2 - .pool -_080E5DB0: - movs r0, 0xA -_080E5DB2: - strh r0, [r2, 0x4] - ldr r0, [r5] - ldr r0, [r0, 0x8] - strb r4, [r0, 0x8] - ldr r0, [r5] - ldr r1, [r0, 0x8] - movs r0, 0xFF - strb r0, [r1, 0x9] - bl sub_80E6A2C - lsls r0, 24 - cmp r0, 0 - beq _080E5DD2 - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 -_080E5DD2: - adds r6, 0x1C - adds r4, 0x1 - cmp r4, 0x3 - ble _080E5D86 - ldr r4, =gContestResources - ldr r0, [r4] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0xE - bl sub_80DD3D4 - cmp r7, 0 - bne _080E5DF8 - ldr r0, [r4] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x39 - bl sub_80DD3F0 -_080E5DF8: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end ContestEffectFunc_080E5D7C - - thumb_func_start ContestEffectFunc_080E5E04 -ContestEffectFunc_080E5E04: @ 80E5E04 - push {r4,lr} - ldr r1, =gUnknown_02039F26 - ldr r0, =gContestResources - ldr r4, [r0] - ldr r0, [r4, 0x8] - ldrb r2, [r0, 0x11] - adds r1, r2, r1 - ldrb r0, [r1] - cmp r0, 0 - bne _080E5E46 - ldr r0, [r4, 0x4] - lsls r1, r2, 3 - subs r1, r2 - lsls r1, 2 - adds r1, r0 - ldrh r0, [r1, 0x6] - ldr r3, =gContestEffects - ldr r2, =gContestMoves - lsls r0, 3 - adds r0, r2 - ldrb r0, [r0] - lsls r0, 2 - adds r0, r3 - ldrb r0, [r0, 0x1] - lsls r0, 1 - ldrh r2, [r1, 0x2] - adds r0, r2 - strh r0, [r1, 0x2] - ldr r0, [r4, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0xF - bl sub_80DD3D4 -_080E5E46: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end ContestEffectFunc_080E5E04 - - thumb_func_start ContestEffectFunc_080E5E5C -ContestEffectFunc_080E5E5C: @ 80E5E5C - push {r4,lr} - ldr r1, =gUnknown_02039F26 - ldr r0, =gContestResources - ldr r4, [r0] - ldr r0, [r4, 0x8] - ldrb r2, [r0, 0x11] - adds r1, r2, r1 - ldrb r0, [r1] - cmp r0, 0x3 - bne _080E5E9E - ldr r0, [r4, 0x4] - lsls r1, r2, 3 - subs r1, r2 - lsls r1, 2 - adds r1, r0 - ldrh r0, [r1, 0x6] - ldr r3, =gContestEffects - ldr r2, =gContestMoves - lsls r0, 3 - adds r0, r2 - ldrb r0, [r0] - lsls r0, 2 - adds r0, r3 - ldrb r0, [r0, 0x1] - lsls r0, 1 - ldrh r2, [r1, 0x2] - adds r0, r2 - strh r0, [r1, 0x2] - ldr r0, [r4, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x10 - bl sub_80DD3D4 -_080E5E9E: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end ContestEffectFunc_080E5E5C - - thumb_func_start ContestEffectFunc_080E5EB4 -ContestEffectFunc_080E5EB4: @ 80E5EB4 - push {r4-r7,lr} - movs r1, 0 - movs r5, 0 - ldr r0, =gContestResources - ldr r4, [r0] - ldr r2, [r4, 0x8] - ldrb r0, [r2, 0x11] - adds r0, r2, r0 - ldrb r6, [r0] - movs r3, 0 -_080E5EC8: - adds r0, r2, r1 - ldrb r0, [r0] - cmp r6, r0 - bls _080E5EDA - ldr r0, [r4, 0x4] - adds r0, r3, r0 - movs r7, 0x2 - ldrsh r0, [r0, r7] - adds r5, r0 -_080E5EDA: - adds r3, 0x1C - adds r1, 0x1 - cmp r1, 0x3 - ble _080E5EC8 - cmp r5, 0 - bge _080E5EE8 - movs r5, 0 -_080E5EE8: - ldr r0, =gContestResources - ldr r3, [r0] - ldr r0, [r3, 0x8] - ldrb r2, [r0, 0x11] - adds r0, r2 - ldrb r0, [r0] - cmp r0, 0 - beq _080E5EFC - cmp r5, 0 - bne _080E5F0C -_080E5EFC: - adds r0, r2, 0 - movs r1, 0x12 - bl sub_80DD3D4 - b _080E5F2C - .pool -_080E5F0C: - ldr r0, [r3, 0x4] - lsls r1, r2, 3 - subs r1, r2 - lsls r1, 2 - adds r1, r0 - lsrs r0, r5, 31 - adds r0, r5, r0 - asrs r0, 1 - ldrh r2, [r1, 0x2] - adds r0, r2 - strh r0, [r1, 0x2] - ldr r0, [r3, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x11 - bl sub_80DD3D4 -_080E5F2C: - ldr r4, =gContestResources - ldr r1, [r4] - ldr r0, [r1, 0x8] - ldrb r2, [r0, 0x11] - ldr r1, [r1, 0x4] - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r1 - movs r7, 0x2 - ldrsh r0, [r0, r7] - bl sub_80E6B70 - ldr r2, [r4] - ldr r1, [r2, 0x8] - ldrb r3, [r1, 0x11] - ldr r2, [r2, 0x4] - lsls r1, r3, 3 - subs r1, r3 - lsls r1, 2 - adds r1, r2 - strh r0, [r1, 0x2] - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end ContestEffectFunc_080E5EB4 - - thumb_func_start ContestEffectFunc_080E5F64 -ContestEffectFunc_080E5F64: @ 80E5F64 - push {r4-r7,lr} - movs r6, 0 - ldr r0, =gContestResources - ldr r4, [r0] - ldr r2, [r4, 0x8] - ldrb r1, [r2, 0x11] - adds r3, r2, r1 - ldrb r1, [r3] - adds r7, r0, 0 - cmp r1, 0 - beq _080E5FB2 - movs r1, 0 - adds r5, r4, 0 - adds r4, r2, 0 - ldrb r0, [r3] - subs r3, r0, 0x1 - movs r2, 0 -_080E5F86: - adds r0, r4, r1 - ldrb r0, [r0] - cmp r3, r0 - bne _080E5F94 - ldr r0, [r5, 0x4] - adds r0, r2, r0 - ldrh r6, [r0, 0x2] -_080E5F94: - adds r2, 0x1C - adds r1, 0x1 - cmp r1, 0x3 - ble _080E5F86 - ldr r3, [r7] - ldr r0, [r3, 0x8] - ldrb r2, [r0, 0x11] - adds r0, r2 - ldrb r0, [r0] - cmp r0, 0 - beq _080E5FB2 - lsls r0, r6, 16 - asrs r4, r0, 16 - cmp r4, 0 - bgt _080E5FC4 -_080E5FB2: - ldr r0, [r7] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x14 - bl sub_80DD3D4 - b _080E5FDE - .pool -_080E5FC4: - ldr r1, [r3, 0x4] - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r1 - ldrh r1, [r0, 0x2] - adds r1, r4, r1 - strh r1, [r0, 0x2] - ldr r0, [r3, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x13 - bl sub_80DD3D4 -_080E5FDE: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end ContestEffectFunc_080E5F64 - - thumb_func_start ContestEffectFunc_080E5FE4 -ContestEffectFunc_080E5FE4: @ 80E5FE4 - push {r4,r5,lr} - ldr r1, =gContestResources - ldr r3, [r1] - ldr r0, [r3, 0x8] - ldrb r2, [r0, 0x11] - adds r0, r2 - ldrb r4, [r0] - adds r5, r1, 0 - cmp r4, 0 - bne _080E600C - ldr r0, [r3, 0x4] - lsls r1, r2, 3 - subs r1, r2 - lsls r1, 2 - adds r1, r0 - movs r0, 0xA - b _080E601C - .pool -_080E600C: - ldr r0, [r3, 0x4] - lsls r1, r2, 3 - subs r1, r2 - lsls r1, 2 - adds r1, r0 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 2 -_080E601C: - strh r0, [r1, 0x2] - cmp r4, 0 - bne _080E6030 - ldr r0, [r5] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x15 - bl sub_80DD3D4 - b _080E6060 -_080E6030: - cmp r4, 0x1 - bne _080E6042 - ldr r0, [r5] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x16 - bl sub_80DD3D4 - b _080E6060 -_080E6042: - cmp r4, 0x2 - bne _080E6054 - ldr r0, [r5] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x17 - bl sub_80DD3D4 - b _080E6060 -_080E6054: - ldr r0, [r5] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x18 - bl sub_80DD3D4 -_080E6060: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end ContestEffectFunc_080E5FE4 - - thumb_func_start ContestEffectFunc_080E6068 -ContestEffectFunc_080E6068: @ 80E6068 - push {r4,lr} - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0xA - bl __umodsi3 - lsls r0, 24 - lsrs r0, 24 - adds r1, r0, 0 - cmp r0, 0x2 - bhi _080E6098 - movs r4, 0xA - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x1A - bl sub_80DD3D4 - b _080E60FC - .pool -_080E6098: - cmp r0, 0x5 - bhi _080E60B4 - movs r4, 0x14 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x1B - bl sub_80DD3D4 - b _080E60FC - .pool -_080E60B4: - cmp r0, 0x7 - bhi _080E60D0 - movs r4, 0x28 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x1C - bl sub_80DD3D4 - b _080E60FC - .pool -_080E60D0: - cmp r1, 0x8 - bhi _080E60EC - movs r4, 0x3C - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x1D - bl sub_80DD3D4 - b _080E60FC - .pool -_080E60EC: - movs r4, 0x50 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x1E - bl sub_80DD3D4 -_080E60FC: - ldr r0, =gContestResources - ldr r1, [r0] - ldr r0, [r1, 0x8] - ldrb r2, [r0, 0x11] - ldr r1, [r1, 0x4] - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r1 - strh r4, [r0, 0x2] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end ContestEffectFunc_080E6068 - - thumb_func_start ContestEffectFunc_080E611C -ContestEffectFunc_080E611C: @ 80E611C - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r2, =gContestResources - ldr r0, [r2] - ldr r3, [r0, 0x8] - ldrb r0, [r3, 0x11] - adds r0, r3, r0 - movs r1, 0 - ldrsb r1, [r0, r1] - subs r0, r1, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - mov r8, r2 - cmp r1, 0 - beq _080E61F8 - mov r7, r8 - ldrb r6, [r3] -_080E6140: - movs r2, 0 - lsls r0, r4, 24 - asrs r1, r0, 24 - adds r5, r0, 0 - cmp r6, r1 - beq _080E616A - ldr r4, =gContestResources -_080E614E: - lsls r0, r2, 24 - movs r2, 0x80 - lsls r2, 17 - adds r0, r2 - lsrs r2, r0, 24 - asrs r3, r0, 24 - cmp r3, 0x3 - bgt _080E616A - ldr r0, [r4] - ldr r0, [r0, 0x8] - adds r0, r3 - ldrb r0, [r0] - cmp r0, r1 - bne _080E614E -_080E616A: - ldr r0, [r7] - lsls r3, r2, 24 - asrs r1, r3, 24 - ldr r2, [r0, 0x4] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r2, r0, r2 - ldrb r1, [r2, 0xB] - movs r0, 0x80 - ands r0, r1 - mov r12, r3 - cmp r0, 0 - bne _080E6190 - ldrb r1, [r2, 0xC] - movs r0, 0x7 - ands r0, r1 - cmp r0, 0 - beq _080E61A4 -_080E6190: - movs r1, 0xFF - lsls r1, 24 - adds r0, r5, r1 - lsrs r4, r0, 24 - cmp r0, 0 - blt _080E61F8 - b _080E6140 - .pool -_080E61A4: - mov r2, r8 - ldr r6, [r2] - ldr r0, [r6, 0x8] - ldrb r1, [r0, 0x11] - ldr r4, [r6, 0x4] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r5, r0, r4 - ldrh r0, [r5, 0x6] - ldr r3, =gContestMoves - lsls r0, 3 - adds r7, r0, r3 - ldrb r2, [r7, 0x1] - lsls r2, 29 - mov r0, r12 - asrs r1, r0, 24 - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r4 - ldrh r0, [r0, 0x6] - lsls r0, 3 - adds r0, r3 - ldrb r0, [r0, 0x1] - lsls r0, 29 - cmp r2, r0 - bne _080E61F8 - ldr r1, =gContestEffects - ldrb r0, [r7] - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0, 0x1] - lsls r0, 1 - ldrh r1, [r5, 0x2] - adds r0, r1 - strh r0, [r5, 0x2] - ldr r0, [r6, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x1F - bl sub_80DD3D4 -_080E61F8: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end ContestEffectFunc_080E611C - - thumb_func_start ContestEffectFunc_080E620C -ContestEffectFunc_080E620C: @ 80E620C - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - ldr r0, =gContestResources - ldr r3, [r0] - ldr r1, [r3, 0x8] - ldrb r2, [r1, 0x11] - adds r1, r2 - ldrb r1, [r1] - mov r9, r0 - cmp r1, 0 - beq _080E62AC - ldr r1, [r3, 0x4] - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r1 - ldrh r0, [r0, 0x6] - mov r8, r0 - movs r6, 0 - ldr r0, =gContestMoves - mov r12, r0 - movs r7, 0 -_080E623C: - mov r1, r9 - ldr r4, [r1] - ldr r0, [r4, 0x8] - ldrb r2, [r0, 0x11] - adds r1, r0, r2 - ldrb r1, [r1] - subs r1, 0x1 - adds r0, r6 - ldrb r0, [r0] - cmp r1, r0 - bne _080E62A4 - mov r1, r8 - lsls r0, r1, 3 - mov r1, r12 - adds r5, r0, r1 - ldrb r1, [r5, 0x1] - lsls r1, 29 - ldr r3, [r4, 0x4] - adds r0, r7, r3 - ldrh r0, [r0, 0x6] - lsls r0, 3 - add r0, r12 - ldrb r0, [r0, 0x1] - lsls r0, 29 - cmp r1, r0 - beq _080E62A4 - lsls r1, r2, 3 - subs r1, r2 - lsls r1, 2 - adds r1, r3 - ldr r2, =gContestEffects - ldrb r0, [r5] - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x1] - lsls r0, 1 - ldrh r2, [r1, 0x2] - adds r0, r2 - strh r0, [r1, 0x2] - ldr r0, [r4, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x20 - bl sub_80DD3D4 - b _080E62AC - .pool -_080E62A4: - adds r7, 0x1C - adds r6, 0x1 - cmp r6, 0x3 - ble _080E623C -_080E62AC: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end ContestEffectFunc_080E620C - - thumb_func_start ContestEffectFunc_080E62B8 -ContestEffectFunc_080E62B8: @ 80E62B8 - push {r4-r7,lr} - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0x8] - ldrb r1, [r0, 0x11] - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - beq _080E632E - movs r5, 0 - movs r6, 0 -_080E62CE: - ldr r0, =gContestResources - ldr r4, [r0] - ldr r1, [r4, 0x8] - ldrb r2, [r1, 0x11] - adds r0, r1, r2 - ldrb r0, [r0] - subs r0, 0x1 - adds r1, r5 - ldrb r1, [r1] - cmp r0, r1 - bne _080E6326 - ldr r1, [r4, 0x4] - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r3, r0, r1 - adds r1, r6, r1 - movs r0, 0x2 - ldrsh r2, [r3, r0] - movs r7, 0x2 - ldrsh r0, [r1, r7] - cmp r2, r0 - ble _080E6314 - adds r0, r2, 0 - lsls r0, 1 - strh r0, [r3, 0x2] - ldr r0, [r4, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x21 - bl sub_80DD3D4 - b _080E6326 - .pool -_080E6314: - cmp r2, r0 - bge _080E6326 - movs r0, 0 - strh r0, [r3, 0x2] - ldr r0, [r4, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x22 - bl sub_80DD3D4 -_080E6326: - adds r6, 0x1C - adds r5, 0x1 - cmp r5, 0x3 - ble _080E62CE -_080E632E: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end ContestEffectFunc_080E62B8 - - thumb_func_start ContestEffectFunc_080E6334 -ContestEffectFunc_080E6334: @ 80E6334 - push {r4,lr} - ldr r4, =gContestResources - ldr r1, [r4] - ldr r0, [r1, 0x8] - ldrb r2, [r0, 0x11] - ldr r1, [r1, 0x4] - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r1, r0, r1 - ldrb r3, [r1, 0xD] - movs r0, 0xD - ldrsb r0, [r1, r0] - cmp r0, 0x1D - bgt _080E6388 - adds r0, r3, 0 - adds r0, 0xA - strb r0, [r1, 0xD] - ldr r1, [r4] - ldr r0, [r1, 0x8] - ldrb r2, [r0, 0x11] - ldr r1, [r1, 0x4] - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r1 - ldrb r2, [r0, 0x10] - movs r1, 0x31 - negs r1, r1 - ands r1, r2 - movs r2, 0x10 - orrs r1, r2 - strb r1, [r0, 0x10] - ldr r0, [r4] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x23 - bl sub_80DD3D4 - b _080E6390 - .pool -_080E6388: - adds r0, r2, 0 - movs r1, 0x3A - bl sub_80DD3D4 -_080E6390: - pop {r4} - pop {r0} - bx r0 - thumb_func_end ContestEffectFunc_080E6334 - - thumb_func_start ContestEffectFunc_080E6398 -ContestEffectFunc_080E6398: @ 80E6398 - push {lr} - ldr r3, =gContestResources - ldr r1, [r3] - ldr r0, [r1, 0x8] - ldrb r2, [r0, 0x11] - ldr r1, [r1, 0x4] - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x11] - movs r2, 0x20 - orrs r1, r2 - strb r1, [r0, 0x11] - ldr r1, [r3] - ldr r0, [r1, 0x8] - ldrb r2, [r0, 0x11] - ldr r1, [r1, 0x4] - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0, 0xD] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0 - beq _080E63DC - adds r0, r2, 0 - movs r1, 0x24 - bl sub_80DD3D4 - b _080E63E4 - .pool -_080E63DC: - adds r0, r2, 0 - movs r1, 0x3B - bl sub_80DD3D4 -_080E63E4: - pop {r0} - bx r0 - thumb_func_end ContestEffectFunc_080E6398 - - thumb_func_start ContestEffectFunc_080E63E8 -ContestEffectFunc_080E63E8: @ 80E63E8 - push {r4-r7,lr} - sub sp, 0x4 - ldr r0, =gContestResources - ldr r2, [r0] - ldr r1, [r2] - ldrb r1, [r1, 0x1] - mov r12, r0 - cmp r1, 0x4 - bne _080E63FC - b _080E6518 -_080E63FC: - movs r6, 0 - adds r4, r2, 0 -_080E6400: - lsls r1, r6, 24 - asrs r1, 24 - mov r0, sp - adds r3, r0, r1 - ldr r2, [r4, 0x4] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x19] - strb r0, [r3] - adds r1, 0x1 - lsls r1, 24 - lsrs r6, r1, 24 - asrs r1, 24 - cmp r1, 0x3 - ble _080E6400 - mov r1, r12 - ldr r0, [r1] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - mov r2, sp - adds r1, r2, r0 - movs r0, 0xFF - strb r0, [r1] - movs r6, 0 - mov r3, r12 - ldr r7, [r3] -_080E6438: - movs r5, 0 -_080E643A: - lsls r0, r5, 24 - asrs r2, r0, 24 - ldr r0, [r7, 0x8] - ldrb r0, [r0, 0x11] - cmp r2, r0 - beq _080E6474 - lsls r0, r6, 24 - asrs r3, r0, 24 - mov r0, sp - adds r4, r0, r2 - ldrb r1, [r4] - cmp r3, r1 - bne _080E6474 - ldr r0, [r7, 0x4] - lsls r1, r2, 3 - subs r1, r2 - lsls r1, 2 - adds r1, r0 - lsls r0, r3, 24 - lsrs r0, 24 - ldrb r1, [r1, 0x19] - cmp r0, r1 - bne _080E6474 - adds r0, r3, 0x1 - strb r0, [r4] - b _080E6484 - .pool -_080E6474: - lsls r0, r5, 24 - movs r2, 0x80 - lsls r2, 17 - adds r0, r2 - lsrs r5, r0, 24 - asrs r0, 24 - cmp r0, 0x3 - ble _080E643A -_080E6484: - cmp r5, 0x4 - beq _080E6498 - lsls r0, r6, 24 - movs r3, 0x80 - lsls r3, 17 - adds r0, r3 - lsrs r6, r0, 24 - asrs r0, 24 - cmp r0, 0x3 - ble _080E6438 -_080E6498: - mov r4, r12 - ldr r1, [r4] - ldr r0, [r1, 0x8] - ldrb r0, [r0, 0x11] - mov r3, sp - adds r2, r3, r0 - movs r0, 0 - strb r0, [r2] - ldr r0, [r1, 0x8] - ldrb r2, [r0, 0x11] - ldr r1, [r1, 0x4] - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r1 - ldrb r2, [r0, 0x10] - movs r1, 0x3F - ands r1, r2 - movs r2, 0x40 - orrs r1, r2 - strb r1, [r0, 0x10] - movs r6, 0 - mov r3, r12 -_080E64C6: - ldr r0, [r3] - lsls r1, r6, 24 - asrs r1, 24 - ldr r2, [r0, 0x4] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r2 - mov r4, sp - adds r2, r4, r1 - ldrb r2, [r2] - strb r2, [r0, 0x19] - adds r1, 0x1 - lsls r1, 24 - lsrs r6, r1, 24 - asrs r1, 24 - cmp r1, 0x3 - ble _080E64C6 - mov r0, r12 - ldr r1, [r0] - ldr r0, [r1, 0x8] - ldrb r2, [r0, 0x11] - ldr r1, [r1, 0x4] - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r1 - ldrb r2, [r0, 0x11] - movs r1, 0x4 - negs r1, r1 - ands r1, r2 - movs r2, 0x1 - orrs r1, r2 - strb r1, [r0, 0x11] - mov r1, r12 - ldr r0, [r1] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x25 - bl sub_80DD3D4 -_080E6518: - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end ContestEffectFunc_080E63E8 - - thumb_func_start ContestEffectFunc_080E6520 -ContestEffectFunc_080E6520: @ 80E6520 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - ldr r0, =gContestResources - ldr r2, [r0] - ldr r1, [r2] - ldrb r1, [r1, 0x1] - mov r12, r0 - cmp r1, 0x4 - bne _080E6538 - b _080E6658 -_080E6538: - movs r6, 0 - adds r4, r2, 0 -_080E653C: - lsls r1, r6, 24 - asrs r1, 24 - mov r0, sp - adds r3, r0, r1 - ldr r2, [r4, 0x4] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x19] - strb r0, [r3] - adds r1, 0x1 - lsls r1, 24 - lsrs r6, r1, 24 - asrs r1, 24 - cmp r1, 0x3 - ble _080E653C - mov r1, r12 - ldr r0, [r1] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - mov r2, sp - adds r1, r2, r0 - movs r0, 0xFF - strb r0, [r1] - movs r6, 0x3 - mov r3, r12 - ldr r7, [r3] - movs r4, 0x1 - negs r4, r4 - mov r8, r4 -_080E657A: - movs r5, 0 -_080E657C: - lsls r0, r5, 24 - asrs r2, r0, 24 - ldr r0, [r7, 0x8] - ldrb r0, [r0, 0x11] - cmp r2, r0 - beq _080E65B4 - lsls r0, r6, 24 - asrs r3, r0, 24 - mov r0, sp - adds r4, r0, r2 - ldrb r1, [r4] - cmp r3, r1 - bne _080E65B4 - ldr r0, [r7, 0x4] - lsls r1, r2, 3 - subs r1, r2 - lsls r1, 2 - adds r1, r0 - lsls r0, r3, 24 - lsrs r0, 24 - ldrb r1, [r1, 0x19] - cmp r0, r1 - bne _080E65B4 - subs r0, r3, 0x1 - strb r0, [r4] - b _080E65C4 - .pool -_080E65B4: - lsls r0, r5, 24 - movs r2, 0x80 - lsls r2, 17 - adds r0, r2 - lsrs r5, r0, 24 - asrs r0, 24 - cmp r0, 0x3 - ble _080E657C -_080E65C4: - cmp r5, 0x4 - beq _080E65D8 - lsls r0, r6, 24 - movs r3, 0xFF - lsls r3, 24 - adds r0, r3 - lsrs r6, r0, 24 - asrs r0, 24 - cmp r0, r8 - bgt _080E657A -_080E65D8: - mov r4, r12 - ldr r1, [r4] - ldr r0, [r1, 0x8] - ldrb r0, [r0, 0x11] - mov r3, sp - adds r2, r3, r0 - movs r0, 0x3 - strb r0, [r2] - ldr r0, [r1, 0x8] - ldrb r2, [r0, 0x11] - ldr r1, [r1, 0x4] - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r1 - ldrb r2, [r0, 0x10] - movs r1, 0x3F - ands r1, r2 - movs r2, 0x40 - orrs r1, r2 - strb r1, [r0, 0x10] - movs r6, 0 - mov r3, r12 -_080E6606: - ldr r0, [r3] - lsls r1, r6, 24 - asrs r1, 24 - ldr r2, [r0, 0x4] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r2 - mov r4, sp - adds r2, r4, r1 - ldrb r2, [r2] - strb r2, [r0, 0x19] - adds r1, 0x1 - lsls r1, 24 - lsrs r6, r1, 24 - asrs r1, 24 - cmp r1, 0x3 - ble _080E6606 - mov r0, r12 - ldr r1, [r0] - ldr r0, [r1, 0x8] - ldrb r2, [r0, 0x11] - ldr r1, [r1, 0x4] - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r1 - ldrb r2, [r0, 0x11] - movs r1, 0x4 - negs r1, r1 - ands r1, r2 - movs r2, 0x2 - orrs r1, r2 - strb r1, [r0, 0x11] - mov r1, r12 - ldr r0, [r1] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x26 - bl sub_80DD3D4 -_080E6658: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end ContestEffectFunc_080E6520 - - thumb_func_start ContestEffectFunc_080E6664 -ContestEffectFunc_080E6664: @ 80E6664 - bx lr - thumb_func_end ContestEffectFunc_080E6664 - - thumb_func_start ContestEffectFunc_080E6668 -ContestEffectFunc_080E6668: @ 80E6668 - push {r4-r7,lr} - sub sp, 0x8 - ldr r0, =gContestResources - ldr r1, [r0] - ldr r0, [r1] - ldrb r0, [r0, 0x1] - cmp r0, 0x4 - beq _080E676C - movs r6, 0 - add r5, sp, 0x4 - adds r4, r1, 0 - adds r7, r5, 0 -_080E6680: - lsls r1, r6, 24 - asrs r1, 24 - mov r0, sp - adds r3, r0, r1 - ldr r2, [r4, 0x4] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x19] - strb r0, [r3] - adds r0, r7, r1 - strb r6, [r0] - adds r1, 0x1 - lsls r1, 24 - lsrs r6, r1, 24 - asrs r1, 24 - cmp r1, 0x3 - ble _080E6680 - movs r6, 0 - adds r7, r5, 0 -_080E66AA: - bl Random - lsls r0, 16 - lsrs r0, 16 - lsls r2, r6, 24 - asrs r2, 24 - movs r1, 0x4 - subs r1, r2 - bl __modsi3 - lsls r0, 24 - lsrs r4, r0, 24 - movs r1, 0 -_080E66C4: - lsls r0, r1, 24 - asrs r2, r0, 24 - adds r3, r7, r2 - ldrb r1, [r3] - adds r5, r0, 0 - cmp r1, 0xFF - beq _080E66EE - cmp r4, 0 - bne _080E66E8 - mov r1, sp - adds r0, r1, r2 - strb r6, [r0] - movs r0, 0xFF - strb r0, [r3] - b _080E66FC - .pool -_080E66E8: - subs r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 -_080E66EE: - movs r1, 0x80 - lsls r1, 17 - adds r0, r5, r1 - lsrs r1, r0, 24 - asrs r0, 24 - cmp r0, 0x3 - ble _080E66C4 -_080E66FC: - lsls r0, r6, 24 - movs r6, 0x80 - lsls r6, 17 - adds r0, r6 - lsrs r6, r0, 24 - asrs r0, 24 - cmp r0, 0x3 - ble _080E66AA - movs r6, 0 - ldr r5, =gContestResources - adds r4, r5, 0 -_080E6712: - ldr r0, [r4] - lsls r3, r6, 24 - asrs r3, 24 - ldr r1, [r0, 0x4] - lsls r2, r3, 3 - subs r2, r3 - lsls r2, 2 - adds r1, r2, r1 - mov r6, sp - adds r0, r6, r3 - ldrb r0, [r0] - strb r0, [r1, 0x19] - ldr r0, [r4] - ldr r0, [r0, 0x4] - adds r2, r0 - ldrb r1, [r2, 0x10] - movs r0, 0x3F - ands r0, r1 - movs r1, 0x80 - orrs r0, r1 - strb r0, [r2, 0x10] - adds r3, 0x1 - lsls r3, 24 - lsrs r6, r3, 24 - asrs r3, 24 - cmp r3, 0x3 - ble _080E6712 - ldr r1, [r5] - ldr r0, [r1, 0x8] - ldrb r2, [r0, 0x11] - ldr r1, [r1, 0x4] - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x11] - movs r2, 0x3 - orrs r1, r2 - strb r1, [r0, 0x11] - ldr r0, [r5] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x27 - bl sub_80DD3D4 -_080E676C: - add sp, 0x8 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end ContestEffectFunc_080E6668 - - thumb_func_start ContestEffectFunc_080E6778 -ContestEffectFunc_080E6778: @ 80E6778 - push {lr} - ldr r3, =gContestMoves - ldr r0, =gContestResources - ldr r1, [r0] - ldr r0, [r1, 0x8] - ldrb r2, [r0, 0x11] - ldr r1, [r1, 0x4] - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r2, r0, r1 - ldrh r0, [r2, 0x6] - lsls r0, 3 - adds r0, r3 - ldrb r0, [r0, 0x1] - lsls r0, 29 - ldr r1, =gSpecialVar_ContestCategory - lsrs r0, 29 - ldrh r1, [r1] - cmp r0, r1 - beq _080E67AA - ldrb r0, [r2, 0x11] - movs r1, 0x10 - orrs r0, r1 - strb r0, [r2, 0x11] -_080E67AA: - pop {r0} - bx r0 - .pool - thumb_func_end ContestEffectFunc_080E6778 - - thumb_func_start ContestEffectFunc_080E67BC -ContestEffectFunc_080E67BC: @ 80E67BC - push {r4-r7,lr} - mov r7, r8 - push {r7} - movs r0, 0 - mov r8, r0 - movs r4, 0 - ldr r5, =gContestResources - movs r6, 0 -_080E67CC: - ldr r3, [r5] - ldr r2, [r3, 0x8] - ldrb r0, [r2, 0x11] - adds r0, r2, r0 - adds r1, r2, r4 - ldrb r0, [r0] - ldrb r1, [r1] - cmp r0, r1 - bls _080E682E - ldr r0, [r3, 0x4] - adds r1, r6, r0 - movs r7, 0x2 - ldrsh r0, [r1, r7] - cmp r0, 0 - ble _080E6808 - lsrs r1, r0, 31 - adds r0, r1 - asrs r0, 1 - strh r0, [r2, 0x4] - ldr r0, [r3, 0x8] - movs r1, 0x4 - ldrsh r0, [r0, r1] - bl sub_80E6BB4 - ldr r1, [r5] - ldr r1, [r1, 0x8] - strh r0, [r1, 0x4] - b _080E680C - .pool -_080E6808: - movs r0, 0xA - strh r0, [r2, 0x4] -_080E680C: - ldr r0, [r5] - ldr r0, [r0, 0x8] - strb r4, [r0, 0x8] - ldr r0, [r5] - ldr r1, [r0, 0x8] - movs r0, 0xFF - strb r0, [r1, 0x9] - bl sub_80E6A2C - lsls r0, 24 - cmp r0, 0 - beq _080E682E - mov r0, r8 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 -_080E682E: - adds r6, 0x1C - adds r4, 0x1 - cmp r4, 0x3 - ble _080E67CC - mov r7, r8 - cmp r7, 0 - bne _080E684A - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x36 - bl sub_80DD3F0 -_080E684A: - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x30 - bl sub_80DD3D4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end ContestEffectFunc_080E67BC - - thumb_func_start ContestEffectFunc_080E6868 -ContestEffectFunc_080E6868: @ 80E6868 - push {r4,lr} - ldr r0, =gContestResources - ldr r1, [r0] - ldr r0, [r1] - ldrb r0, [r0, 0x13] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0 - bne _080E688C - movs r4, 0xA - ldr r0, [r1, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x1A - bl sub_80DD3D4 - b _080E68CE - .pool -_080E688C: - cmp r0, 0x1 - bne _080E689E - movs r4, 0x14 - ldr r0, [r1, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x1B - bl sub_80DD3D4 - b _080E68CE -_080E689E: - cmp r0, 0x2 - bne _080E68B0 - movs r4, 0x1E - ldr r0, [r1, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x1C - bl sub_80DD3D4 - b _080E68CE -_080E68B0: - cmp r0, 0x3 - bne _080E68C2 - movs r4, 0x32 - ldr r0, [r1, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x1D - bl sub_80DD3D4 - b _080E68CE -_080E68C2: - movs r4, 0x3C - ldr r0, [r1, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x1E - bl sub_80DD3D4 -_080E68CE: - ldr r0, =gContestResources - ldr r1, [r0] - ldr r0, [r1, 0x8] - ldrb r2, [r0, 0x11] - ldr r1, [r1, 0x4] - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r1 - strh r4, [r0, 0x2] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end ContestEffectFunc_080E6868 - - thumb_func_start ContestEffectFunc_080E68EC -ContestEffectFunc_080E68EC: @ 80E68EC - push {r4,lr} - ldr r4, =gContestResources - ldr r0, [r4] - ldr r2, [r0, 0x10] - ldrb r1, [r2, 0x1] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _080E692A - movs r0, 0x1 - orrs r0, r1 - strb r0, [r2, 0x1] - ldr r0, [r4] - ldr r3, [r0, 0x10] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x7 - ands r1, r0 - lsls r1, 1 - ldrb r2, [r3, 0x1] - movs r0, 0xF - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3, 0x1] - ldr r0, [r4] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x3D - bl sub_80DD3D4 -_080E692A: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end ContestEffectFunc_080E68EC - - thumb_func_start sub_80E6934 -sub_80E6934: @ 80E6934 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - movs r7, 0 - movs r4, 0 - ldr r6, =gContestResources - ldr r0, =gContestMoves - mov r9, r0 - movs r5, 0 -_080E694E: - ldr r3, [r6] - ldr r2, [r3, 0x8] - ldrb r0, [r2, 0x11] - adds r0, r2, r0 - adds r1, r2, r4 - ldrb r0, [r0] - ldrb r1, [r1] - cmp r0, r1 - bls _080E699E - ldr r0, [r3, 0x4] - adds r0, r5, r0 - ldrh r0, [r0, 0x6] - lsls r0, 3 - add r0, r9 - ldrb r0, [r0, 0x1] - lsls r0, 29 - lsrs r0, 29 - cmp r8, r0 - bne _080E6980 - movs r0, 0x28 - b _080E6982 - .pool -_080E6980: - movs r0, 0xA -_080E6982: - strh r0, [r2, 0x4] - ldr r0, [r6] - ldr r0, [r0, 0x8] - strb r4, [r0, 0x8] - ldr r0, [r6] - ldr r1, [r0, 0x8] - movs r0, 0xFF - strb r0, [r1, 0x9] - bl sub_80E6A2C - lsls r0, 24 - cmp r0, 0 - beq _080E699E - adds r7, 0x1 -_080E699E: - adds r5, 0x1C - adds r4, 0x1 - cmp r4, 0x3 - ble _080E694E - cmp r7, 0 - bne _080E69B8 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x36 - bl sub_80DD3F0 -_080E69B8: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E6934 - - thumb_func_start sub_80E69C8 -sub_80E69C8: @ 80E69C8 - push {lr} - lsls r0, 24 - lsrs r3, r0, 24 - ldr r2, =gContestResources - ldr r0, [r2] - ldr r0, [r0, 0x8] - adds r0, 0xD - adds r0, r3 - movs r1, 0x1 - strb r1, [r0] - ldr r0, [r2] - ldr r1, [r0, 0x4] - lsls r0, r3, 3 - subs r0, r3 - lsls r0, 2 - adds r2, r0, r1 - ldrb r1, [r2, 0x10] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080E69FC - adds r0, r3, 0 - movs r1, 0x2D - b _080E6A22 - .pool -_080E69FC: - ldrb r0, [r2, 0x12] - cmp r0, 0 - bne _080E6A1A - ldrb r1, [r2, 0xB] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080E6A26 - ldrb r1, [r2, 0xC] - movs r0, 0x6 - ands r0, r1 - cmp r0, 0 - bne _080E6A26 - movs r0, 0x1 - b _080E6A28 -_080E6A1A: - subs r0, 0x1 - strb r0, [r2, 0x12] - adds r0, r3, 0 - movs r1, 0x2C -_080E6A22: - bl sub_80DD3D4 -_080E6A26: - movs r0, 0 -_080E6A28: - pop {r1} - bx r1 - thumb_func_end sub_80E69C8 - - thumb_func_start sub_80E6A2C -sub_80E6A2C: @ 80E6A2C - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x8 - mov r0, sp - movs r1, 0 - movs r2, 0x8 - bl memset - movs r7, 0 - ldr r4, =gContestResources - ldr r0, [r4] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x8] - cmp r0, 0xFF - beq _080E6B10 - mov r8, r4 -_080E6A4E: - mov r1, r8 - ldr r0, [r1] - ldr r0, [r0, 0x8] - adds r0, 0x8 - adds r0, r7 - ldrb r5, [r0] - adds r6, r5, 0 - adds r0, r5, 0 - bl sub_80E69C8 - lsls r0, 24 - cmp r0, 0 - beq _080E6AFE - ldr r2, [r4] - ldr r1, [r2, 0x8] - ldrh r0, [r1, 0x4] - strh r0, [r1, 0x6] - ldr r1, [r2, 0x4] - lsls r0, r5, 3 - subs r0, r5 - lsls r4, r0, 2 - adds r1, r4, r1 - ldrb r1, [r1, 0x10] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _080E6A8E - ldr r1, [r2, 0x8] - movs r2, 0x6 - ldrsh r0, [r1, r2] - lsls r0, 1 - strh r0, [r1, 0x6] -_080E6A8E: - mov r0, r8 - ldr r3, [r0] - ldr r0, [r3, 0x4] - adds r1, r4, r0 - ldrb r0, [r1, 0x10] - movs r4, 0x1 - ands r4, r0 - cmp r4, 0 - beq _080E6AB4 - ldr r1, [r3, 0x8] - movs r0, 0xA - strh r0, [r1, 0x6] - adds r0, r5, 0 - movs r1, 0x2F - bl sub_80DD3D4 - b _080E6AFE - .pool -_080E6AB4: - ldr r2, [r3, 0x8] - ldrb r1, [r1, 0xF] - ldrh r0, [r2, 0x6] - subs r0, r1 - strh r0, [r2, 0x6] - ldr r2, [r3, 0x8] - ldrh r1, [r2, 0x6] - movs r3, 0x6 - ldrsh r0, [r2, r3] - cmp r0, 0 - bgt _080E6AD6 - strh r4, [r2, 0x6] - adds r0, r5, 0 - movs r1, 0x2E - bl sub_80DD3D4 - b _080E6AFE -_080E6AD6: - lsls r1, 24 - lsrs r1, 24 - adds r0, r6, 0 - bl sub_80E6B3C - mov r1, r8 - ldr r0, [r1] - ldr r0, [r0, 0x8] - ldrb r1, [r0, 0x6] - adds r0, r6, 0 - bl sub_80DD40C - lsls r0, r6, 1 - mov r2, sp - adds r1, r2, r0 - mov r3, r8 - ldr r0, [r3] - ldr r0, [r0, 0x8] - ldrh r0, [r0, 0x6] - strh r0, [r1] -_080E6AFE: - adds r7, 0x1 - ldr r4, =gContestResources - ldr r0, [r4] - ldr r0, [r0, 0x8] - adds r0, 0x8 - adds r0, r7 - ldrb r0, [r0] - cmp r0, 0xFF - bne _080E6A4E -_080E6B10: - movs r7, 0 - mov r1, sp -_080E6B14: - movs r2, 0 - ldrsh r0, [r1, r2] - cmp r0, 0 - beq _080E6B24 - movs r0, 0x1 - b _080E6B2E - .pool -_080E6B24: - adds r1, 0x2 - adds r7, 0x1 - cmp r7, 0x3 - ble _080E6B14 - movs r0, 0 -_080E6B2E: - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80E6A2C - - thumb_func_start sub_80E6B3C -sub_80E6B3C: @ 80E6B3C - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - ldr r2, =gContestResources - ldr r4, [r2] - ldr r3, [r4, 0x4] - lsls r2, r0, 3 - subs r2, r0 - lsls r2, 2 - adds r3, r2, r3 - ldrh r0, [r3, 0x2] - subs r0, r1 - strh r0, [r3, 0x2] - ldr r0, [r4, 0x4] - adds r2, r0 - ldrb r0, [r2, 0xE] - adds r1, r0 - strb r1, [r2, 0xE] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E6B3C - - thumb_func_start sub_80E6B70 -sub_80E6B70: @ 80E6B70 - push {r4,r5,lr} - lsls r0, 16 - lsrs r5, r0, 16 - asrs r4, r0, 16 - adds r0, r4, 0 - cmp r4, 0 - bge _080E6B80 - negs r0, r4 -_080E6B80: - movs r1, 0xA - bl __modsi3 - lsls r0, 16 - lsrs r0, 16 - cmp r4, 0 - bge _080E6B9E - lsls r0, 16 - asrs r1, r0, 16 - cmp r1, 0 - beq _080E6BA8 - adds r0, r4, 0 - subs r0, 0xA - adds r0, r1, r0 - b _080E6BA4 -_080E6B9E: - lsls r0, 16 - asrs r0, 16 - subs r0, r4, r0 -_080E6BA4: - lsls r0, 16 - lsrs r5, r0, 16 -_080E6BA8: - lsls r0, r5, 16 - asrs r0, 16 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80E6B70 - - thumb_func_start sub_80E6BB4 -sub_80E6BB4: @ 80E6BB4 - push {r4,r5,lr} - lsls r0, 16 - lsrs r5, r0, 16 - asrs r4, r0, 16 - adds r0, r4, 0 - cmp r4, 0 - bge _080E6BC4 - negs r0, r4 -_080E6BC4: - movs r1, 0xA - bl __modsi3 - lsls r0, 16 - asrs r1, r0, 16 - cmp r1, 0 - beq _080E6BDC - adds r0, r4, 0 - adds r0, 0xA - subs r0, r1 - lsls r0, 16 - lsrs r5, r0, 16 -_080E6BDC: - lsls r0, r5, 16 - asrs r0, 16 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80E6BB4 - - .align 2, 0 @ Don't pad with nop. diff --git a/data/contest_effect.s b/data/contest_effect.s index 31b2948367..6c8edba3a5 100644 --- a/data/contest_effect.s +++ b/data/contest_effect.s @@ -3,20 +3,4 @@ .section .rodata -@ 858C2B4 - .include "data/contest_moves.inc" - -@ 858CDCC - .include "data/contest_effects.inc" - -@ A lookup table with a 1 for each combo starter ID and a 0 for ID 0, -@ which means "not a combo starter move". -gComboStarterLookupTable:: @ 858CE8C - .byte 0 - .rept 62 - .byte 1 - .endr - - .align 2 -@ 858CECC - .include "data/contest_effect_function_table.inc" + .align 2 \ No newline at end of file diff --git a/data/contest_effect_function_table.inc b/data/contest_effect_function_table.inc deleted file mode 100644 index 57d1068449..0000000000 --- a/data/contest_effect_function_table.inc +++ /dev/null @@ -1,50 +0,0 @@ - .align 2 -gContestEffectFunctionTable:: @ 858CECC - .4byte ContestEffectFunc_080E547C - .4byte ContestEffectFunc_080E5480 - .4byte ContestEffectFunc_080E54B0 - .4byte ContestEffectFunc_080E54E0 - .4byte ContestEffectFunc_080E5534 - .4byte ContestEffectFunc_080E5560 - .4byte ContestEffectFunc_080E5590 - .4byte ContestEffectFunc_080E55BC - .4byte ContestEffectFunc_080E55EC - .4byte ContestEffectFunc_080E5664 - .4byte ContestEffectFunc_080E55EC - .4byte ContestEffectFunc_080E5664 - .4byte ContestEffectFunc_080E55EC - .4byte ContestEffectFunc_080E5664 - .4byte ContestEffectFunc_080E56E0 - .4byte ContestEffectFunc_080E5718 - .4byte ContestEffectFunc_080E57CC - .4byte ContestEffectFunc_080E588C - .4byte ContestEffectFunc_080E5938 - .4byte ContestEffectFunc_080E5970 - .4byte ContestEffectFunc_080E59B0 - .4byte ContestEffectFunc_080E59D0 - .4byte ContestEffectFunc_080E59F0 - .4byte ContestEffectFunc_080E5A10 - .4byte ContestEffectFunc_080E5A30 - .4byte ContestEffectFunc_080E5A50 - .4byte ContestEffectFunc_080E5AD4 - .4byte ContestEffectFunc_080E5CD4 - .4byte ContestEffectFunc_080E5D7C - .4byte ContestEffectFunc_080E5E04 - .4byte ContestEffectFunc_080E5E5C - .4byte ContestEffectFunc_080E5EB4 - .4byte ContestEffectFunc_080E5F64 - .4byte ContestEffectFunc_080E5FE4 - .4byte ContestEffectFunc_080E6068 - .4byte ContestEffectFunc_080E611C - .4byte ContestEffectFunc_080E620C - .4byte ContestEffectFunc_080E62B8 - .4byte ContestEffectFunc_080E6334 - .4byte ContestEffectFunc_080E6398 - .4byte ContestEffectFunc_080E63E8 - .4byte ContestEffectFunc_080E6520 - .4byte ContestEffectFunc_080E6664 - .4byte ContestEffectFunc_080E6668 - .4byte ContestEffectFunc_080E6778 - .4byte ContestEffectFunc_080E67BC - .4byte ContestEffectFunc_080E6868 - .4byte ContestEffectFunc_080E68EC diff --git a/data/contest_effects.inc b/data/contest_effects.inc deleted file mode 100644 index 46da79e451..0000000000 --- a/data/contest_effects.inc +++ /dev/null @@ -1,289 +0,0 @@ - .align 2 -gContestEffects:: @ 858CDCC -@ 0x00 - .byte 0 @ effect type - .byte 40 @ appeal - .byte 0 @ jam - .byte 0 @ padding - -@ 0x01 - .byte 0 @ effect type - .byte 60 @ appeal - .byte 0 @ jam - .byte 0 @ padding - -@ 0x02 - .byte 0 @ effect type - .byte 80 @ appeal - .byte 0 @ jam - .byte 0 @ padding - -@ 0x03 - .byte 0 @ effect type - .byte 30 @ appeal - .byte 0 @ jam - .byte 0 @ padding - -@ 0x04 - .byte 1 @ effect type - .byte 20 @ appeal - .byte 0 @ jam - .byte 0 @ padding - -@ 0x05 - .byte 1 @ effect type - .byte 10 @ appeal - .byte 0 @ jam - .byte 0 @ padding - -@ 0x06 - .byte 1 @ effect type - .byte 30 @ appeal - .byte 0 @ jam - .byte 0 @ padding - -@ 0x07 - .byte 1 @ effect type - .byte 30 @ appeal - .byte 0 @ jam - .byte 0 @ padding - -@ 0x08 - .byte 2 @ effect type - .byte 30 @ appeal - .byte 20 @ jam - .byte 0 @ padding - -@ 0x09 - .byte 3 @ effect type - .byte 30 @ appeal - .byte 10 @ jam - .byte 0 @ padding - -@ 0x0a - .byte 2 @ effect type - .byte 20 @ appeal - .byte 30 @ jam - .byte 0 @ padding - -@ 0x0b - .byte 3 @ effect type - .byte 20 @ appeal - .byte 20 @ jam - .byte 0 @ padding - -@ 0x0c - .byte 2 @ effect type - .byte 10 @ appeal - .byte 40 @ jam - .byte 0 @ padding - -@ 0x0d - .byte 3 @ effect type - .byte 10 @ appeal - .byte 30 @ jam - .byte 0 @ padding - -@ 0x0e - .byte 2 @ effect type - .byte 30 @ appeal - .byte 20 @ jam - .byte 0 @ padding - -@ 0x0f - .byte 3 @ effect type - .byte 30 @ appeal - .byte 10 @ jam - .byte 0 @ padding - -@ 0x10 - .byte 4 @ effect type - .byte 30 @ appeal - .byte 0 @ jam - .byte 0 @ padding - -@ 0x11 - .byte 3 @ effect type - .byte 20 @ appeal - .byte 10 @ jam - .byte 0 @ padding - -@ 0x12 - .byte 3 @ effect type - .byte 40 @ appeal - .byte 40 @ jam - .byte 0 @ padding - -@ 0x13 - .byte 3 @ effect type - .byte 20 @ appeal - .byte 10 @ jam - .byte 0 @ padding - -@ 0x14 - .byte 3 @ effect type - .byte 20 @ appeal - .byte 10 @ jam - .byte 0 @ padding - -@ 0x15 - .byte 3 @ effect type - .byte 20 @ appeal - .byte 10 @ jam - .byte 0 @ padding - -@ 0x16 - .byte 3 @ effect type - .byte 20 @ appeal - .byte 10 @ jam - .byte 0 @ padding - -@ 0x17 - .byte 3 @ effect type - .byte 20 @ appeal - .byte 10 @ jam - .byte 0 @ padding - -@ 0x18 - .byte 3 @ effect type - .byte 20 @ appeal - .byte 10 @ jam - .byte 0 @ padding - -@ 0x19 - .byte 4 @ effect type - .byte 20 @ appeal - .byte 0 @ jam - .byte 0 @ padding - -@ 0x1a - .byte 4 @ effect type - .byte 20 @ appeal - .byte 0 @ jam - .byte 0 @ padding - -@ 0x1b - .byte 4 @ effect type - .byte 30 @ appeal - .byte 0 @ jam - .byte 0 @ padding - -@ 0x1c - .byte 3 @ effect type - .byte 30 @ appeal - .byte 10 @ jam - .byte 0 @ padding - -@ 0x1d - .byte 5 @ effect type - .byte 20 @ appeal - .byte 0 @ jam - .byte 0 @ padding - -@ 0x1e - .byte 5 @ effect type - .byte 20 @ appeal - .byte 0 @ jam - .byte 0 @ padding - -@ 0x1f - .byte 5 @ effect type - .byte 10 @ appeal - .byte 0 @ jam - .byte 0 @ padding - -@ 0x20 - .byte 5 @ effect type - .byte 10 @ appeal - .byte 0 @ jam - .byte 0 @ padding - -@ 0x21 - .byte 5 @ effect type - .byte 10 @ appeal - .byte 0 @ jam - .byte 0 @ padding - -@ 0x22 - .byte 5 @ effect type - .byte 10 @ appeal - .byte 0 @ jam - .byte 0 @ padding - -@ 0x23 - .byte 5 @ effect type - .byte 20 @ appeal - .byte 0 @ jam - .byte 0 @ padding - -@ 0x24 - .byte 5 @ effect type - .byte 20 @ appeal - .byte 0 @ jam - .byte 0 @ padding - -@ 0x25 - .byte 5 @ effect type - .byte 30 @ appeal - .byte 0 @ jam - .byte 0 @ padding - -@ 0x26 - .byte 5 @ effect type - .byte 10 @ appeal - .byte 0 @ jam - .byte 0 @ padding - -@ 0x27 - .byte 5 @ effect type - .byte 10 @ appeal - .byte 0 @ jam - .byte 0 @ padding - -@ 0x28 - .byte 6 @ effect type - .byte 30 @ appeal - .byte 0 @ jam - .byte 0 @ padding - -@ 0x29 - .byte 6 @ effect type - .byte 30 @ appeal - .byte 0 @ jam - .byte 0 @ padding - -@ 0x2a - .byte 6 @ effect type - .byte 30 @ appeal - .byte 0 @ jam - .byte 0 @ padding - -@ 0x2b - .byte 6 @ effect type - .byte 30 @ appeal - .byte 0 @ jam - .byte 0 @ padding - -@ 0x2c - .byte 5 @ effect type - .byte 10 @ appeal - .byte 0 @ jam - .byte 0 @ padding - -@ 0x2d - .byte 3 @ effect type - .byte 20 @ appeal - .byte 10 @ jam - .byte 0 @ padding - -@ 0x2e - .byte 5 @ effect type - .byte 10 @ appeal - .byte 0 @ jam - .byte 0 @ padding - -@ 0x2f - .byte 4 @ effect type - .byte 30 @ appeal - .byte 0 @ jam - .byte 0 @ padding diff --git a/data/contest_moves.inc b/data/contest_moves.inc deleted file mode 100644 index aecea3a8da..0000000000 --- a/data/contest_moves.inc +++ /dev/null @@ -1,2486 +0,0 @@ - .align 2 -gContestMoves:: @ 858C2B4 -@ - - .byte 0x00 @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Pound - .byte 0x00 @ effect ID - .byte CONTEST_TOUGH - .byte COMBO_STARTER_POUND @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Karate Chop - .byte 0x25 @ effect ID - .byte CONTEST_TOUGH - .byte 0 @ combo starter ID - .byte COMBO_STARTER_FOCUS_ENERGY, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Double Slap - .byte 0x11 @ effect ID - .byte CONTEST_TOUGH - .byte 0 @ combo starter ID - .byte COMBO_STARTER_POUND, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Comet Punch - .byte 0x23 @ effect ID - .byte CONTEST_TOUGH - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Mega Punch - .byte 0x00 @ effect ID - .byte CONTEST_TOUGH - .byte 0 @ combo starter ID - .byte COMBO_STARTER_FOCUS_ENERGY, COMBO_STARTER_MIND_READER, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Pay Day - .byte 0x2e @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Fire Punch - .byte 0x00 @ effect ID - .byte CONTEST_BEAUTY - .byte COMBO_STARTER_FIRE_PUNCH @ combo starter ID - .byte COMBO_STARTER_SUNNY_DAY, COMBO_STARTER_THUNDER_PUNCH, COMBO_STARTER_ICE_PUNCH, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Ice Punch - .byte 0x00 @ effect ID - .byte CONTEST_BEAUTY - .byte COMBO_STARTER_ICE_PUNCH @ combo starter ID - .byte COMBO_STARTER_THUNDER_PUNCH, COMBO_STARTER_FIRE_PUNCH, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Thunder Punch - .byte 0x00 @ effect ID - .byte CONTEST_COOL - .byte COMBO_STARTER_THUNDER_PUNCH @ combo starter ID - .byte COMBO_STARTER_CHARGE, COMBO_STARTER_FIRE_PUNCH, COMBO_STARTER_ICE_PUNCH, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Scratch - .byte 0x00 @ effect ID - .byte CONTEST_TOUGH - .byte COMBO_STARTER_SCRATCH @ combo starter ID - .byte COMBO_STARTER_LEER, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Vice Grip - .byte 0x00 @ effect ID - .byte CONTEST_TOUGH - .byte COMBO_STARTER_VICE_GRIP @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Guillotine - .byte 0x2d @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte COMBO_STARTER_VICE_GRIP, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Razor Wind - .byte 0x25 @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Swords Dance - .byte 0x26 @ effect ID - .byte CONTEST_BEAUTY - .byte COMBO_STARTER_SWORDS_DANCE @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Cut - .byte 0x2d @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte COMBO_STARTER_SWORDS_DANCE, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Gust - .byte 0x2b @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Wing Attack - .byte 0x23 @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Whirlwind - .byte 0x2b @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Fly - .byte 0x05 @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Bind - .byte 0x2f @ effect ID - .byte CONTEST_TOUGH - .byte 0 @ combo starter ID - .byte COMBO_STARTER_VICE_GRIP, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Slam - .byte 0x13 @ effect ID - .byte CONTEST_TOUGH - .byte 0 @ combo starter ID - .byte COMBO_STARTER_POUND, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Vine Whip - .byte 0x00 @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte COMBO_STARTER_GROWTH, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Stomp - .byte 0x0c @ effect ID - .byte CONTEST_TOUGH - .byte 0 @ combo starter ID - .byte 0, COMBO_STARTER_LEER, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Double Kick - .byte 0x23 @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Mega Kick - .byte 0x00 @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte COMBO_STARTER_FOCUS_ENERGY, COMBO_STARTER_MIND_READER, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Jump Kick - .byte 0x01 @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte COMBO_STARTER_MIND_READER, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Rolling Kick - .byte 0x0d @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Sand-Attack - .byte 0x11 @ effect ID - .byte CONTEST_CUTE - .byte COMBO_STARTER_SAND_ATTACK @ combo starter ID - .byte COMBO_STARTER_MUD_SLAP, COMBO_STARTER_SANDSTORM, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Headbutt - .byte 0x0a @ effect ID - .byte CONTEST_TOUGH - .byte 0 @ combo starter ID - .byte COMBO_STARTER_FOCUS_ENERGY, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Horn Attack - .byte 0x00 @ effect ID - .byte CONTEST_COOL - .byte COMBO_STARTER_HORN_ATTACK @ combo starter ID - .byte COMBO_STARTER_LEER, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Fury Attack - .byte 0x11 @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte COMBO_STARTER_HORN_ATTACK, COMBO_STARTER_PECK, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Horn Drill - .byte 0x2d @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte COMBO_STARTER_HORN_ATTACK, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Tackle - .byte 0x00 @ effect ID - .byte CONTEST_TOUGH - .byte 0 @ combo starter ID - .byte COMBO_STARTER_DEFENSE_CURL, COMBO_STARTER_LEER, COMBO_STARTER_HARDEN, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Body Slam - .byte 0x0c @ effect ID - .byte CONTEST_TOUGH - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Wrap - .byte 0x2f @ effect ID - .byte CONTEST_TOUGH - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Take Down - .byte 0x01 @ effect ID - .byte CONTEST_TOUGH - .byte 0 @ combo starter ID - .byte COMBO_STARTER_FOCUS_ENERGY, COMBO_STARTER_HARDEN, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Thrash - .byte 0x12 @ effect ID - .byte CONTEST_TOUGH - .byte 0 @ combo starter ID - .byte COMBO_STARTER_RAGE, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Double-Edge - .byte 0x01 @ effect ID - .byte CONTEST_TOUGH - .byte 0 @ combo starter ID - .byte COMBO_STARTER_FOCUS_ENERGY, COMBO_STARTER_HARDEN, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Tail Whip - .byte 0x1e @ effect ID - .byte CONTEST_CUTE - .byte 0 @ combo starter ID - .byte COMBO_STARTER_CHARM, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Poison Sting - .byte 0x0a @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Twineedle - .byte 0x0a @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Pin Missile - .byte 0x11 @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Leer - .byte 0x2f @ effect ID - .byte CONTEST_COOL - .byte COMBO_STARTER_LEER @ combo starter ID - .byte COMBO_STARTER_RAGE, COMBO_STARTER_SCARY_FACE, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Bite - .byte 0x0d @ effect ID - .byte CONTEST_TOUGH - .byte 0 @ combo starter ID - .byte COMBO_STARTER_LEER, COMBO_STARTER_SCARY_FACE, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Growl - .byte 0x1e @ effect ID - .byte CONTEST_CUTE - .byte 0 @ combo starter ID - .byte COMBO_STARTER_CHARM, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Roar - .byte 0x2b @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Sing - .byte 0x1a @ effect ID - .byte CONTEST_CUTE - .byte COMBO_STARTER_SING @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Supersonic - .byte 0x2b @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Sonic Boom - .byte 0x23 @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Disable - .byte 0x1a @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Acid - .byte 0x0c @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Ember - .byte 0x00 @ effect ID - .byte CONTEST_BEAUTY - .byte 0 @ combo starter ID - .byte COMBO_STARTER_SUNNY_DAY, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Flamethrower - .byte 0x00 @ effect ID - .byte CONTEST_BEAUTY - .byte 0 @ combo starter ID - .byte COMBO_STARTER_SUNNY_DAY, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Mist - .byte 0x05 @ effect ID - .byte CONTEST_BEAUTY - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Water Gun - .byte 0x00 @ effect ID - .byte CONTEST_CUTE - .byte 0 @ combo starter ID - .byte COMBO_STARTER_RAIN_DANCE, COMBO_STARTER_WATER_SPORT, COMBO_STARTER_MUD_SPORT, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Hydro Pump - .byte 0x00 @ effect ID - .byte CONTEST_BEAUTY - .byte 0 @ combo starter ID - .byte COMBO_STARTER_RAIN_DANCE, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Surf - .byte 0x25 @ effect ID - .byte CONTEST_BEAUTY - .byte COMBO_STARTER_SURF @ combo starter ID - .byte COMBO_STARTER_RAIN_DANCE, COMBO_STARTER_DIVE, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Ice Beam - .byte 0x13 @ effect ID - .byte CONTEST_BEAUTY - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Blizzard - .byte 0x00 @ effect ID - .byte CONTEST_BEAUTY - .byte 0 @ combo starter ID - .byte COMBO_STARTER_POWDER_SNOW, COMBO_STARTER_HAIL, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Psybeam - .byte 0x2b @ effect ID - .byte CONTEST_BEAUTY - .byte 0 @ combo starter ID - .byte COMBO_STARTER_CALM_MIND, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Bubble Beam - .byte 0x0d @ effect ID - .byte CONTEST_BEAUTY - .byte 0 @ combo starter ID - .byte COMBO_STARTER_RAIN_DANCE, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Aurora Beam - .byte 0x13 @ effect ID - .byte CONTEST_BEAUTY - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Hyper Beam - .byte 0x12 @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Peck - .byte 0x00 @ effect ID - .byte CONTEST_COOL - .byte COMBO_STARTER_PECK @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Drill Peck - .byte 0x00 @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte COMBO_STARTER_PECK, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Submission - .byte 0x01 @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte COMBO_STARTER_MIND_READER, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Low Kick - .byte 0x0c @ effect ID - .byte CONTEST_TOUGH - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Counter - .byte 0x04 @ effect ID - .byte CONTEST_TOUGH - .byte 0 @ combo starter ID - .byte COMBO_STARTER_TAUNT, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Seismic Toss - .byte 0x13 @ effect ID - .byte CONTEST_TOUGH - .byte 0 @ combo starter ID - .byte COMBO_STARTER_FAKE_OUT, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Strength - .byte 0x13 @ effect ID - .byte CONTEST_TOUGH - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Absorb - .byte 0x0a @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte COMBO_STARTER_GROWTH, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Mega Drain - .byte 0x0c @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte COMBO_STARTER_GROWTH, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Leech Seed - .byte 0x0b @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Growth - .byte 0x26 @ effect ID - .byte CONTEST_BEAUTY - .byte COMBO_STARTER_GROWTH @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Razor Leaf - .byte 0x25 @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte COMBO_STARTER_GROWTH, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Solar Beam - .byte 0x00 @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte COMBO_STARTER_SUNNY_DAY, COMBO_STARTER_GROWTH, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Poison Powder - .byte 0x1b @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte COMBO_STARTER_SWEET_SCENT, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Stun Spore - .byte 0x2d @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte COMBO_STARTER_SWEET_SCENT, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Sleep Powder - .byte 0x0d @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte COMBO_STARTER_SWEET_SCENT, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Petal Dance - .byte 0x12 @ effect ID - .byte CONTEST_BEAUTY - .byte 0 @ combo starter ID - .byte COMBO_STARTER_GROWTH, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ String Shot - .byte 0x0a @ effect ID - .byte CONTEST_SMART - .byte COMBO_STARTER_STRING_SHOT @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Dragon Rage - .byte 0x21 @ effect ID - .byte CONTEST_COOL - .byte COMBO_STARTER_DRAGON_RAGE @ combo starter ID - .byte COMBO_STARTER_DRAGON_BREATH, COMBO_STARTER_DRAGON_DANCE, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Fire Spin - .byte 0x2f @ effect ID - .byte CONTEST_BEAUTY - .byte 0 @ combo starter ID - .byte COMBO_STARTER_SUNNY_DAY, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Thunder Shock - .byte 0x00 @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte COMBO_STARTER_CHARGE, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Thunderbolt - .byte 0x00 @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte COMBO_STARTER_CHARGE, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Thunder Wave - .byte 0x2d @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte COMBO_STARTER_CHARGE, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Thunder - .byte 0x0b @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte COMBO_STARTER_CHARGE, COMBO_STARTER_RAIN_DANCE, COMBO_STARTER_LOCK_ON, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Rock Throw - .byte 0x23 @ effect ID - .byte CONTEST_TOUGH - .byte COMBO_STARTER_ROCK_THROW @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Earthquake - .byte 0x0d @ effect ID - .byte CONTEST_TOUGH - .byte COMBO_STARTER_EARTHQUAKE @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Fissure - .byte 0x2d @ effect ID - .byte CONTEST_TOUGH - .byte 0 @ combo starter ID - .byte COMBO_STARTER_EARTHQUAKE, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Dig - .byte 0x05 @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Toxic - .byte 0x1b @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Confusion - .byte 0x0a @ effect ID - .byte CONTEST_SMART - .byte COMBO_STARTER_CONFUSION @ combo starter ID - .byte COMBO_STARTER_PSYCHIC, COMBO_STARTER_KINESIS, COMBO_STARTER_CALM_MIND, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Psychic - .byte 0x0d @ effect ID - .byte CONTEST_SMART - .byte COMBO_STARTER_PSYCHIC @ combo starter ID - .byte COMBO_STARTER_KINESIS, COMBO_STARTER_CONFUSION, COMBO_STARTER_CALM_MIND, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Hypnosis - .byte 0x0d @ effect ID - .byte CONTEST_SMART - .byte COMBO_STARTER_HYPNOSIS @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Meditate - .byte 0x26 @ effect ID - .byte CONTEST_BEAUTY - .byte 0 @ combo starter ID - .byte COMBO_STARTER_CALM_MIND, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Agility - .byte 0x28 @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte COMBO_STARTER_DOUBLE_TEAM, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Quick Attack - .byte 0x28 @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte COMBO_STARTER_DOUBLE_TEAM, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Rage - .byte 0x03 @ effect ID - .byte CONTEST_COOL - .byte COMBO_STARTER_RAGE @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Teleport - .byte 0x05 @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte COMBO_STARTER_DOUBLE_TEAM, COMBO_STARTER_PSYCHIC, COMBO_STARTER_KINESIS, COMBO_STARTER_CONFUSION @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Night Shade - .byte 0x13 @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Mimic - .byte 0x20 @ effect ID - .byte CONTEST_CUTE - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Screech - .byte 0x0d @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Double Team - .byte 0x04 @ effect ID - .byte CONTEST_COOL - .byte COMBO_STARTER_DOUBLE_TEAM @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Recover - .byte 0x13 @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Harden - .byte 0x04 @ effect ID - .byte CONTEST_TOUGH - .byte COMBO_STARTER_HARDEN @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Minimize - .byte 0x04 @ effect ID - .byte CONTEST_CUTE - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Smokescreen - .byte 0x10 @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte COMBO_STARTER_SMOG, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Confuse Ray - .byte 0x2b @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Withdraw - .byte 0x05 @ effect ID - .byte CONTEST_CUTE - .byte 0 @ combo starter ID - .byte COMBO_STARTER_RAIN_DANCE, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Defense Curl - .byte 0x04 @ effect ID - .byte CONTEST_CUTE - .byte COMBO_STARTER_DEFENSE_CURL @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Barrier - .byte 0x05 @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Light Screen - .byte 0x05 @ effect ID - .byte CONTEST_BEAUTY - .byte 0 @ combo starter ID - .byte COMBO_STARTER_CALM_MIND, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Haze - .byte 0x1b @ effect ID - .byte CONTEST_BEAUTY - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Reflect - .byte 0x05 @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte COMBO_STARTER_CALM_MIND, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Focus Energy - .byte 0x0d @ effect ID - .byte CONTEST_COOL - .byte COMBO_STARTER_FOCUS_ENERGY @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Bide - .byte 0x05 @ effect ID - .byte CONTEST_TOUGH - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Metronome - .byte 0x03 @ effect ID - .byte CONTEST_CUTE - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Mirror Move - .byte 0x20 @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Self-Destruct - .byte 0x02 @ effect ID - .byte CONTEST_BEAUTY - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Egg Bomb - .byte 0x00 @ effect ID - .byte CONTEST_TOUGH - .byte 0 @ combo starter ID - .byte COMBO_STARTER_SOFT_BOILED, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Lick - .byte 0x0c @ effect ID - .byte CONTEST_TOUGH - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Smog - .byte 0x0d @ effect ID - .byte CONTEST_TOUGH - .byte COMBO_STARTER_SMOG @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Sludge - .byte 0x0c @ effect ID - .byte CONTEST_TOUGH - .byte COMBO_STARTER_SLUDGE @ combo starter ID - .byte COMBO_STARTER_SLUDGE_BOMB, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Bone Club - .byte 0x11 @ effect ID - .byte CONTEST_TOUGH - .byte COMBO_STARTER_BONE_CLUB @ combo starter ID - .byte COMBO_STARTER_BONEMERANG, COMBO_STARTER_BONE_RUSH, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Fire Blast - .byte 0x00 @ effect ID - .byte CONTEST_BEAUTY - .byte 0 @ combo starter ID - .byte COMBO_STARTER_SUNNY_DAY, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Waterfall - .byte 0x1e @ effect ID - .byte CONTEST_TOUGH - .byte 0 @ combo starter ID - .byte COMBO_STARTER_RAIN_DANCE, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Clamp - .byte 0x2f @ effect ID - .byte CONTEST_TOUGH - .byte 0 @ combo starter ID - .byte COMBO_STARTER_RAIN_DANCE, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Swift - .byte 0x1d @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Skull Bash - .byte 0x0c @ effect ID - .byte CONTEST_TOUGH - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Spike Cannon - .byte 0x11 @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Constrict - .byte 0x0a @ effect ID - .byte CONTEST_TOUGH - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Amnesia - .byte 0x26 @ effect ID - .byte CONTEST_CUTE - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Kinesis - .byte 0x2f @ effect ID - .byte CONTEST_SMART - .byte COMBO_STARTER_KINESIS @ combo starter ID - .byte COMBO_STARTER_PSYCHIC, COMBO_STARTER_CONFUSION, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Soft-Boiled - .byte 0x00 @ effect ID - .byte CONTEST_BEAUTY - .byte COMBO_STARTER_SOFT_BOILED @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Hi Jump Kick - .byte 0x01 @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte COMBO_STARTER_MIND_READER, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Glare - .byte 0x0d @ effect ID - .byte CONTEST_TOUGH - .byte 0 @ combo starter ID - .byte COMBO_STARTER_LEER, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Dream Eater - .byte 0x0b @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte COMBO_STARTER_HYPNOSIS, COMBO_STARTER_CALM_MIND, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Poison Gas - .byte 0x1b @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Barrage - .byte 0x23 @ effect ID - .byte CONTEST_TOUGH - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Leech Life - .byte 0x0a @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Lovely Kiss - .byte 0x0d @ effect ID - .byte CONTEST_BEAUTY - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Sky Attack - .byte 0x25 @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Transform - .byte 0x03 @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Bubble - .byte 0x0b @ effect ID - .byte CONTEST_CUTE - .byte 0 @ combo starter ID - .byte COMBO_STARTER_RAIN_DANCE, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Dizzy Punch - .byte 0x0c @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Spore - .byte 0x0d @ effect ID - .byte CONTEST_BEAUTY - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Flash - .byte 0x10 @ effect ID - .byte CONTEST_BEAUTY - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Psywave - .byte 0x2d @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte COMBO_STARTER_CALM_MIND, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Splash - .byte 0x1e @ effect ID - .byte CONTEST_CUTE - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Acid Armor - .byte 0x26 @ effect ID - .byte CONTEST_TOUGH - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Crabhammer - .byte 0x25 @ effect ID - .byte CONTEST_TOUGH - .byte 0 @ combo starter ID - .byte COMBO_STARTER_RAIN_DANCE, COMBO_STARTER_SWORDS_DANCE, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Explosion - .byte 0x02 @ effect ID - .byte CONTEST_BEAUTY - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Fury Swipes - .byte 0x11 @ effect ID - .byte CONTEST_TOUGH - .byte 0 @ combo starter ID - .byte COMBO_STARTER_SCRATCH, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Bonemerang - .byte 0x00 @ effect ID - .byte CONTEST_TOUGH - .byte COMBO_STARTER_BONEMERANG @ combo starter ID - .byte COMBO_STARTER_BONE_CLUB, COMBO_STARTER_BONE_RUSH, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Rest - .byte 0x04 @ effect ID - .byte CONTEST_CUTE - .byte COMBO_STARTER_REST @ combo starter ID - .byte COMBO_STARTER_BELLY_DRUM, COMBO_STARTER_CHARM, COMBO_STARTER_YAWN, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Rock Slide - .byte 0x0d @ effect ID - .byte CONTEST_TOUGH - .byte 0 @ combo starter ID - .byte COMBO_STARTER_ROCK_THROW, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Hyper Fang - .byte 0x0c @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Sharpen - .byte 0x26 @ effect ID - .byte CONTEST_CUTE - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Conversion - .byte 0x23 @ effect ID - .byte CONTEST_BEAUTY - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Tri Attack - .byte 0x0b @ effect ID - .byte CONTEST_BEAUTY - .byte 0 @ combo starter ID - .byte COMBO_STARTER_LOCK_ON, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Super Fang - .byte 0x2d @ effect ID - .byte CONTEST_TOUGH - .byte 0 @ combo starter ID - .byte COMBO_STARTER_SCARY_FACE, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Slash - .byte 0x25 @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte COMBO_STARTER_SWORDS_DANCE, COMBO_STARTER_SCRATCH, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Substitute - .byte 0x04 @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Struggle - .byte 0x00 @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Sketch - .byte 0x20 @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Triple Kick - .byte 0x00 @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte COMBO_STARTER_FOCUS_ENERGY, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Thief - .byte 0x1f @ effect ID - .byte CONTEST_TOUGH - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Spider Web - .byte 0x1a @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte COMBO_STARTER_STRING_SHOT, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Mind Reader - .byte 0x2f @ effect ID - .byte CONTEST_SMART - .byte COMBO_STARTER_MIND_READER @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Nightmare - .byte 0x0d @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte COMBO_STARTER_HYPNOSIS, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Flame Wheel - .byte 0x00 @ effect ID - .byte CONTEST_BEAUTY - .byte 0 @ combo starter ID - .byte COMBO_STARTER_SUNNY_DAY, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Snore - .byte 0x00 @ effect ID - .byte CONTEST_CUTE - .byte 0 @ combo starter ID - .byte COMBO_STARTER_REST, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Curse - .byte 0x29 @ effect ID - .byte CONTEST_TOUGH - .byte COMBO_STARTER_CURSE @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Flail - .byte 0x21 @ effect ID - .byte CONTEST_CUTE - .byte 0 @ combo starter ID - .byte COMBO_STARTER_ENDURE, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Conversion 2 - .byte 0x23 @ effect ID - .byte CONTEST_BEAUTY - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Aeroblast - .byte 0x25 @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Cotton Spore - .byte 0x11 @ effect ID - .byte CONTEST_BEAUTY - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Reversal - .byte 0x1e @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte COMBO_STARTER_ENDURE, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Spite - .byte 0x21 @ effect ID - .byte CONTEST_TOUGH - .byte 0 @ combo starter ID - .byte COMBO_STARTER_CURSE, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Powder Snow - .byte 0x00 @ effect ID - .byte CONTEST_BEAUTY - .byte COMBO_STARTER_POWDER_SNOW @ combo starter ID - .byte COMBO_STARTER_HAIL, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Protect - .byte 0x05 @ effect ID - .byte CONTEST_CUTE - .byte 0 @ combo starter ID - .byte COMBO_STARTER_HARDEN, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Mach Punch - .byte 0x28 @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Scary Face - .byte 0x11 @ effect ID - .byte CONTEST_TOUGH - .byte COMBO_STARTER_SCARY_FACE @ combo starter ID - .byte COMBO_STARTER_RAGE, COMBO_STARTER_LEER, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Faint Attack - .byte 0x1d @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte COMBO_STARTER_FAKE_OUT, COMBO_STARTER_LEER, COMBO_STARTER_POUND, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Sweet Kiss - .byte 0x1a @ effect ID - .byte CONTEST_CUTE - .byte 0 @ combo starter ID - .byte COMBO_STARTER_CHARM, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Belly Drum - .byte 0x26 @ effect ID - .byte CONTEST_CUTE - .byte COMBO_STARTER_BELLY_DRUM @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Sludge Bomb - .byte 0x11 @ effect ID - .byte CONTEST_TOUGH - .byte COMBO_STARTER_SLUDGE_BOMB @ combo starter ID - .byte COMBO_STARTER_SLUDGE, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Mud-Slap - .byte 0x11 @ effect ID - .byte CONTEST_CUTE - .byte COMBO_STARTER_MUD_SLAP @ combo starter ID - .byte COMBO_STARTER_SAND_ATTACK, COMBO_STARTER_MUD_SPORT, COMBO_STARTER_SANDSTORM, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Octazooka - .byte 0x11 @ effect ID - .byte CONTEST_TOUGH - .byte 0 @ combo starter ID - .byte COMBO_STARTER_RAIN_DANCE, COMBO_STARTER_LOCK_ON, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Spikes - .byte 0x1a @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Zap Cannon - .byte 0x00 @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte COMBO_STARTER_LOCK_ON, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Foresight - .byte 0x1b @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Destiny Bond - .byte 0x02 @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte COMBO_STARTER_MEAN_LOOK, COMBO_STARTER_CURSE, COMBO_STARTER_ENDURE, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Perish Song - .byte 0x2d @ effect ID - .byte CONTEST_BEAUTY - .byte 0 @ combo starter ID - .byte COMBO_STARTER_MEAN_LOOK, COMBO_STARTER_SING, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Icy Wind - .byte 0x0d @ effect ID - .byte CONTEST_BEAUTY - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Detect - .byte 0x04 @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte COMBO_STARTER_TAUNT, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Bone Rush - .byte 0x00 @ effect ID - .byte CONTEST_TOUGH - .byte COMBO_STARTER_BONE_RUSH @ combo starter ID - .byte COMBO_STARTER_FOCUS_ENERGY, COMBO_STARTER_BONE_CLUB, COMBO_STARTER_BONEMERANG, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Lock-On - .byte 0x2f @ effect ID - .byte CONTEST_SMART - .byte COMBO_STARTER_LOCK_ON @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Outrage - .byte 0x12 @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Sandstorm - .byte 0x2b @ effect ID - .byte CONTEST_TOUGH - .byte COMBO_STARTER_SANDSTORM @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Giga Drain - .byte 0x11 @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte COMBO_STARTER_GROWTH, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Endure - .byte 0x04 @ effect ID - .byte CONTEST_TOUGH - .byte COMBO_STARTER_ENDURE @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Charm - .byte 0x13 @ effect ID - .byte CONTEST_CUTE - .byte COMBO_STARTER_CHARM @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Rollout - .byte 0x2f @ effect ID - .byte CONTEST_TOUGH - .byte 0 @ combo starter ID - .byte COMBO_STARTER_DEFENSE_CURL, COMBO_STARTER_HARDEN, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ False Swipe - .byte 0x0d @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte COMBO_STARTER_SWORDS_DANCE, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Swagger - .byte 0x1d @ effect ID - .byte CONTEST_CUTE - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Milk Drink - .byte 0x23 @ effect ID - .byte CONTEST_CUTE - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Spark - .byte 0x0c @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte COMBO_STARTER_CHARGE, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Fury Cutter - .byte 0x03 @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte COMBO_STARTER_SWORDS_DANCE, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Steel Wing - .byte 0x23 @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Mean Look - .byte 0x1a @ effect ID - .byte CONTEST_BEAUTY - .byte COMBO_STARTER_MEAN_LOOK @ combo starter ID - .byte COMBO_STARTER_CURSE, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Attract - .byte 0x1a @ effect ID - .byte CONTEST_CUTE - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Sleep Talk - .byte 0x03 @ effect ID - .byte CONTEST_CUTE - .byte 0 @ combo starter ID - .byte COMBO_STARTER_REST, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Heal Bell - .byte 0x1e @ effect ID - .byte CONTEST_BEAUTY - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Return - .byte 0x2c @ effect ID - .byte CONTEST_CUTE - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Present - .byte 0x03 @ effect ID - .byte CONTEST_CUTE - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Frustration - .byte 0x2c @ effect ID - .byte CONTEST_CUTE - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Safeguard - .byte 0x05 @ effect ID - .byte CONTEST_BEAUTY - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Pain Split - .byte 0x0c @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte COMBO_STARTER_ENDURE, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Sacred Fire - .byte 0x00 @ effect ID - .byte CONTEST_BEAUTY - .byte 0 @ combo starter ID - .byte COMBO_STARTER_SUNNY_DAY, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Magnitude - .byte 0x2e @ effect ID - .byte CONTEST_TOUGH - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Dynamic Punch - .byte 0x11 @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte COMBO_STARTER_FOCUS_ENERGY, COMBO_STARTER_MIND_READER, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Megahorn - .byte 0x23 @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Dragon Breath - .byte 0x0d @ effect ID - .byte CONTEST_COOL - .byte COMBO_STARTER_DRAGON_BREATH @ combo starter ID - .byte COMBO_STARTER_DRAGON_RAGE, COMBO_STARTER_DRAGON_DANCE, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Baton Pass - .byte 0x1a @ effect ID - .byte CONTEST_CUTE - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Encore - .byte 0x1a @ effect ID - .byte CONTEST_CUTE - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Pursuit - .byte 0x2d @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Rapid Spin - .byte 0x04 @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Sweet Scent - .byte 0x0d @ effect ID - .byte CONTEST_CUTE - .byte COMBO_STARTER_SWEET_SCENT @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Iron Tail - .byte 0x0c @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Metal Claw - .byte 0x00 @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte COMBO_STARTER_METAL_SOUND, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Vital Throw - .byte 0x29 @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte COMBO_STARTER_FAKE_OUT, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Morning Sun - .byte 0x22 @ effect ID - .byte CONTEST_BEAUTY - .byte 0 @ combo starter ID - .byte COMBO_STARTER_SUNNY_DAY, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Synthesis - .byte 0x22 @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte COMBO_STARTER_SUNNY_DAY, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Moonlight - .byte 0x22 @ effect ID - .byte CONTEST_BEAUTY - .byte 0 @ combo starter ID - .byte COMBO_STARTER_SUNNY_DAY, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Hidden Power - .byte 0x03 @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Cross Chop - .byte 0x25 @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte COMBO_STARTER_FOCUS_ENERGY, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Twister - .byte 0x2b @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Rain Dance - .byte 0x2e @ effect ID - .byte CONTEST_TOUGH - .byte COMBO_STARTER_RAIN_DANCE @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Sunny Day - .byte 0x2e @ effect ID - .byte CONTEST_BEAUTY - .byte COMBO_STARTER_SUNNY_DAY @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Crunch - .byte 0x0c @ effect ID - .byte CONTEST_TOUGH - .byte 0 @ combo starter ID - .byte COMBO_STARTER_SCARY_FACE, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Mirror Coat - .byte 0x04 @ effect ID - .byte CONTEST_BEAUTY - .byte 0 @ combo starter ID - .byte COMBO_STARTER_TAUNT, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Psych Up - .byte 0x23 @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Extreme Speed - .byte 0x28 @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Ancient Power - .byte 0x26 @ effect ID - .byte CONTEST_TOUGH - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Shadow Ball - .byte 0x10 @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Future Sight - .byte 0x2f @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte COMBO_STARTER_PSYCHIC, COMBO_STARTER_KINESIS, COMBO_STARTER_CONFUSION, COMBO_STARTER_CALM_MIND @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Rock Smash - .byte 0x27 @ effect ID - .byte CONTEST_TOUGH - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Whirlpool - .byte 0x2f @ effect ID - .byte CONTEST_BEAUTY - .byte 0 @ combo starter ID - .byte COMBO_STARTER_RAIN_DANCE, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Beat Up - .byte 0x2d @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Fake Out - .byte 0x13 @ effect ID - .byte CONTEST_CUTE - .byte COMBO_STARTER_FAKE_OUT @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Uproar - .byte 0x2b @ effect ID - .byte CONTEST_CUTE - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Stockpile - .byte 0x04 @ effect ID - .byte CONTEST_TOUGH - .byte COMBO_STARTER_STOCKPILE @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Spit Up - .byte 0x00 @ effect ID - .byte CONTEST_TOUGH - .byte 0 @ combo starter ID - .byte COMBO_STARTER_STOCKPILE, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Swallow - .byte 0x26 @ effect ID - .byte CONTEST_TOUGH - .byte 0 @ combo starter ID - .byte COMBO_STARTER_STOCKPILE, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Heat Wave - .byte 0x00 @ effect ID - .byte CONTEST_BEAUTY - .byte 0 @ combo starter ID - .byte COMBO_STARTER_SUNNY_DAY, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Hail - .byte 0x0d @ effect ID - .byte CONTEST_BEAUTY - .byte COMBO_STARTER_HAIL @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Torment - .byte 0x1a @ effect ID - .byte CONTEST_TOUGH - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Flatter - .byte 0x1a @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte COMBO_STARTER_CHARM, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Will-O-Wisp - .byte 0x0c @ effect ID - .byte CONTEST_BEAUTY - .byte 0 @ combo starter ID - .byte COMBO_STARTER_SUNNY_DAY, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Memento - .byte 0x02 @ effect ID - .byte CONTEST_TOUGH - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Facade - .byte 0x1e @ effect ID - .byte CONTEST_CUTE - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Focus Punch - .byte 0x29 @ effect ID - .byte CONTEST_TOUGH - .byte 0 @ combo starter ID - .byte COMBO_STARTER_FOCUS_ENERGY, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Smelling Salt - .byte 0x0a @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Follow Me - .byte 0x2f @ effect ID - .byte CONTEST_CUTE - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Nature Power - .byte 0x2e @ effect ID - .byte CONTEST_BEAUTY - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Charge - .byte 0x23 @ effect ID - .byte CONTEST_SMART - .byte COMBO_STARTER_CHARGE @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Taunt - .byte 0x1a @ effect ID - .byte CONTEST_SMART - .byte COMBO_STARTER_TAUNT @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Helping Hand - .byte 0x1a @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Trick - .byte 0x23 @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Role Play - .byte 0x1f @ effect ID - .byte CONTEST_CUTE - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Wish - .byte 0x2f @ effect ID - .byte CONTEST_CUTE - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Assist - .byte 0x22 @ effect ID - .byte CONTEST_CUTE - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Ingrain - .byte 0x05 @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Superpower - .byte 0x01 @ effect ID - .byte CONTEST_TOUGH - .byte 0 @ combo starter ID - .byte COMBO_STARTER_LOCK_ON, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Magic Coat - .byte 0x05 @ effect ID - .byte CONTEST_BEAUTY - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Recycle - .byte 0x03 @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Revenge - .byte 0x29 @ effect ID - .byte CONTEST_TOUGH - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Brick Break - .byte 0x0c @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte COMBO_STARTER_FOCUS_ENERGY, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Yawn - .byte 0x1a @ effect ID - .byte CONTEST_CUTE - .byte COMBO_STARTER_YAWN @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Knock Off - .byte 0x0c @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte COMBO_STARTER_FAKE_OUT, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Endeavor - .byte 0x1e @ effect ID - .byte CONTEST_TOUGH - .byte 0 @ combo starter ID - .byte COMBO_STARTER_ENDURE, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Eruption - .byte 0x21 @ effect ID - .byte CONTEST_BEAUTY - .byte 0 @ combo starter ID - .byte COMBO_STARTER_ENDURE, COMBO_STARTER_EARTHQUAKE, COMBO_STARTER_SUNNY_DAY, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Skill Swap - .byte 0x1f @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Imprison - .byte 0x1b @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Refresh - .byte 0x26 @ effect ID - .byte CONTEST_CUTE - .byte 0 @ combo starter ID - .byte COMBO_STARTER_WATER_SPORT, COMBO_STARTER_SING, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Grudge - .byte 0x21 @ effect ID - .byte CONTEST_TOUGH - .byte 0 @ combo starter ID - .byte COMBO_STARTER_CURSE, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Snatch - .byte 0x2d @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Secret Power - .byte 0x27 @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Dive - .byte 0x04 @ effect ID - .byte CONTEST_BEAUTY - .byte COMBO_STARTER_DIVE @ combo starter ID - .byte COMBO_STARTER_RAIN_DANCE, COMBO_STARTER_SURF, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Arm Thrust - .byte 0x11 @ effect ID - .byte CONTEST_TOUGH - .byte 0 @ combo starter ID - .byte COMBO_STARTER_FOCUS_ENERGY, COMBO_STARTER_FAKE_OUT, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Camouflage - .byte 0x25 @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Tail Glow - .byte 0x26 @ effect ID - .byte CONTEST_BEAUTY - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Luster Purge - .byte 0x0a @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte COMBO_STARTER_CALM_MIND, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Mist Ball - .byte 0x0c @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte COMBO_STARTER_CALM_MIND, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Feather Dance - .byte 0x1e @ effect ID - .byte CONTEST_BEAUTY - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Teeter Dance - .byte 0x12 @ effect ID - .byte CONTEST_CUTE - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Blaze Kick - .byte 0x00 @ effect ID - .byte CONTEST_BEAUTY - .byte 0 @ combo starter ID - .byte COMBO_STARTER_SUNNY_DAY, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Mud Sport - .byte 0x00 @ effect ID - .byte CONTEST_CUTE - .byte COMBO_STARTER_MUD_SPORT @ combo starter ID - .byte COMBO_STARTER_MUD_SLAP, COMBO_STARTER_WATER_SPORT, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Ice Ball - .byte 0x2f @ effect ID - .byte CONTEST_BEAUTY - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Needle Arm - .byte 0x0c @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Slack Off - .byte 0x21 @ effect ID - .byte CONTEST_CUTE - .byte 0 @ combo starter ID - .byte COMBO_STARTER_YAWN, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Hyper Voice - .byte 0x0d @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Poison Fang - .byte 0x1b @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Crush Claw - .byte 0x0c @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte COMBO_STARTER_SWORDS_DANCE, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Blast Burn - .byte 0x12 @ effect ID - .byte CONTEST_BEAUTY - .byte 0 @ combo starter ID - .byte COMBO_STARTER_SUNNY_DAY, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Hydro Cannon - .byte 0x12 @ effect ID - .byte CONTEST_BEAUTY - .byte 0 @ combo starter ID - .byte COMBO_STARTER_RAIN_DANCE, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Meteor Mash - .byte 0x23 @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Astonish - .byte 0x0a @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Weather Ball - .byte 0x00 @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte COMBO_STARTER_RAIN_DANCE, COMBO_STARTER_SUNNY_DAY, COMBO_STARTER_HAIL, COMBO_STARTER_SANDSTORM @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Aromatherapy - .byte 0x1e @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Fake Tears - .byte 0x1e @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Air Cutter - .byte 0x13 @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Overheat - .byte 0x01 @ effect ID - .byte CONTEST_BEAUTY - .byte 0 @ combo starter ID - .byte COMBO_STARTER_SUNNY_DAY, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Odor Sleuth - .byte 0x1b @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Rock Tomb - .byte 0x2f @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte COMBO_STARTER_ROCK_THROW, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Silver Wind - .byte 0x26 @ effect ID - .byte CONTEST_BEAUTY - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Metal Sound - .byte 0x0d @ effect ID - .byte CONTEST_SMART - .byte COMBO_STARTER_METAL_SOUND @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Grass Whistle - .byte 0x0d @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Tickle - .byte 0x1b @ effect ID - .byte CONTEST_CUTE - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Cosmic Power - .byte 0x26 @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Water Spout - .byte 0x21 @ effect ID - .byte CONTEST_BEAUTY - .byte 0 @ combo starter ID - .byte COMBO_STARTER_RAIN_DANCE, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Signal Beam - .byte 0x2b @ effect ID - .byte CONTEST_BEAUTY - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Shadow Punch - .byte 0x1d @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Extrasensory - .byte 0x0c @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Sky Uppercut - .byte 0x13 @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte COMBO_STARTER_FOCUS_ENERGY, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Sand Tomb - .byte 0x2f @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte COMBO_STARTER_SANDSTORM, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Sheer Cold - .byte 0x2d @ effect ID - .byte CONTEST_BEAUTY - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Muddy Water - .byte 0x11 @ effect ID - .byte CONTEST_TOUGH - .byte 0 @ combo starter ID - .byte COMBO_STARTER_RAIN_DANCE, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Bullet Seed - .byte 0x2d @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte COMBO_STARTER_GROWTH, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Aerial Ace - .byte 0x1d @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Icicle Spear - .byte 0x13 @ effect ID - .byte CONTEST_BEAUTY - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Iron Defense - .byte 0x05 @ effect ID - .byte CONTEST_TOUGH - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Block - .byte 0x1a @ effect ID - .byte CONTEST_CUTE - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Howl - .byte 0x26 @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Dragon Claw - .byte 0x13 @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte COMBO_STARTER_DRAGON_BREATH, COMBO_STARTER_DRAGON_RAGE, COMBO_STARTER_DRAGON_DANCE, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Frenzy Plant - .byte 0x12 @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte COMBO_STARTER_GROWTH, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Bulk Up - .byte 0x26 @ effect ID - .byte CONTEST_BEAUTY - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Bounce - .byte 0x05 @ effect ID - .byte CONTEST_CUTE - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Mud Shot - .byte 0x0d @ effect ID - .byte CONTEST_TOUGH - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Poison Tail - .byte 0x1b @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Covet - .byte 0x1f @ effect ID - .byte CONTEST_CUTE - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Volt Tackle - .byte 0x01 @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte COMBO_STARTER_CHARGE, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Magical Leaf - .byte 0x1d @ effect ID - .byte CONTEST_BEAUTY - .byte 0 @ combo starter ID - .byte COMBO_STARTER_GROWTH, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Water Sport - .byte 0x00 @ effect ID - .byte CONTEST_CUTE - .byte COMBO_STARTER_WATER_SPORT @ combo starter ID - .byte COMBO_STARTER_RAIN_DANCE, COMBO_STARTER_MUD_SPORT, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Calm Mind - .byte 0x04 @ effect ID - .byte CONTEST_SMART - .byte COMBO_STARTER_CALM_MIND @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Leaf Blade - .byte 0x25 @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Dragon Dance - .byte 0x26 @ effect ID - .byte CONTEST_COOL - .byte COMBO_STARTER_DRAGON_DANCE @ combo starter ID - .byte COMBO_STARTER_DRAGON_RAGE, COMBO_STARTER_DRAGON_BREATH, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Rock Blast - .byte 0x23 @ effect ID - .byte CONTEST_TOUGH - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Shock Wave - .byte 0x1d @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte COMBO_STARTER_CHARGE, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Water Pulse - .byte 0x2b @ effect ID - .byte CONTEST_BEAUTY - .byte 0 @ combo starter ID - .byte COMBO_STARTER_RAIN_DANCE, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Doom Desire - .byte 0x2f @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Psycho Boost - .byte 0x01 @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte COMBO_STARTER_CALM_MIND, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding diff --git a/include/contest.h b/include/contest.h index b7324e26b5..79c3629088 100644 --- a/include/contest.h +++ b/include/contest.h @@ -414,8 +414,15 @@ extern struct ContestResources *gContestResources; #define shared18000 (*(struct Shared18000 *)(gHeap + 0x1a000)) extern u32 gContestRngValue; +extern u8 gUnknown_02039F26[4]; bool8 IsSpeciesNotUnown(u16 species); void LoadContestBgAfterMoveAnim(void); +void SetContestantEffectStringID(u8 a, u8 b); +void SetContestantEffectStringID2(u8 a, u8 b); +void MakeContestantNervous(u8 p); +bool8 Contest_IsMonsTurnDisabled(u8 a); +bool8 sub_80DE1E8(u8 a); +void SetStartledString(u8 a, u8 b); #endif //GUARD_CONTEST_H diff --git a/include/contest_effect.h b/include/contest_effect.h index 3484ca5df8..1f147aa096 100644 --- a/include/contest_effect.h +++ b/include/contest_effect.h @@ -17,6 +17,6 @@ struct ContestEffect }; extern const struct ContestMove gContestMoves[]; -extern struct ContestEffect gContestEffects[]; +extern const struct ContestEffect gContestEffects[]; #endif //GUARD_CONTEST_EFFECT_H diff --git a/ld_script.txt b/ld_script.txt index 7e0a351db7..78dd9334f9 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -143,6 +143,7 @@ SECTIONS { asm/script_menu.o(.text); src/naming_screen.o(.text); src/money.o(.text); + src/contest_effect.o(.text); asm/contest_effect.o(.text); src/record_mixing.o(.text); src/secret_base.o(.text); @@ -443,6 +444,7 @@ SECTIONS { data/script_menu.o(.rodata); src/naming_screen.o(.rodata); src/money.o(.rodata); + src/contest_effect.o(.rodata); data/contest_effect.o(.rodata); src/record_mixing.o(.rodata); src/secret_base.o(.rodata); diff --git a/src/contest.c b/src/contest.c index 8513fc4a9a..910637387b 100644 --- a/src/contest.c +++ b/src/contest.c @@ -107,7 +107,7 @@ u16 sub_80DE84C(u16); void sub_80DB89C(void); u16 sub_80DB8B8(u8); void sub_80DB918(void); -bool8 sub_80DBCA8(u8); +bool8 Contest_IsMonsTurnDisabled(u8); void sub_80DBF68(void); void sub_80DBF90(void); void sub_80DC2BC(void); @@ -721,7 +721,7 @@ void sub_80D833C(u8 taskId) sub_80DCD48(); DmaCopy32Defvars(3, gPlttBufferUnfaded, shared18000.unk18204, 0x400); ConvertIntToDecimalStringN(gStringVar1, gContestResources->field_0->turnNumber + 1, STR_CONV_MODE_LEFT_ALIGN, 1); - if (!sub_80DBCA8(gContestPlayerMonIndex)) + if (!Contest_IsMonsTurnDisabled(gContestPlayerMonIndex)) StringCopy(gDisplayedStringBattle, gText_0827D507); else StringCopy(gDisplayedStringBattle, gText_0827D531); @@ -745,7 +745,7 @@ void sub_80D8424(u8 taskId) if ((gMain.newKeys & A_BUTTON) || (gMain.newKeys == B_BUTTON)) { PlaySE(SE_SELECT); - if (!sub_80DBCA8(gContestPlayerMonIndex)) + if (!Contest_IsMonsTurnDisabled(gContestPlayerMonIndex)) { sub_80DC490(TRUE); gTasks[taskId].func = sub_80D8490; @@ -819,7 +819,7 @@ void sub_80D8610(u8 taskId) PlaySE(SE_SELECT); sub_80DC490(FALSE); ConvertIntToDecimalStringN(gStringVar1, gContestResources->field_0->turnNumber + 1, STR_CONV_MODE_LEFT_ALIGN, 1); - if (!sub_80DBCA8(gContestPlayerMonIndex)) + if (!Contest_IsMonsTurnDisabled(gContestPlayerMonIndex)) StringCopy(gDisplayedStringBattle, gText_0827D507); else StringCopy(gDisplayedStringBattle, gText_0827D531); @@ -2636,7 +2636,7 @@ void sub_80DB4E0(u16 move, u8 b) { u8 r7 = gUnknown_02039F26[b] * 5 + 2; - if (!sub_80DBCA8(b) && move != MOVE_NONE) + if (!Contest_IsMonsTurnDisabled(b) && move != MOVE_NONE) { u16 tile = sub_80DB2EC(move, b); diff --git a/src/contest_effect.c b/src/contest_effect.c new file mode 100644 index 0000000000..40774641df --- /dev/null +++ b/src/contest_effect.c @@ -0,0 +1,1174 @@ +#include "global.h" +#include "random.h" +#include "contest.h" +#include "contest_effect.h" + +static void ContestEffect_HighlyAppealing(void); +static void ContestEffect_UserMoreEasilyStartled(void); +static void ContestEffect_GreatAppealButNoMoreMoves(void); +static void ContestEffect_RepetitionNotBoring(void); +static void ContestEffect_AvoidStartleOnce(void); +static void ContestEffect_AvoidStartle(void); +static void ContestEffect_AvoidStartleSlightly(void); +static void ContestEffect_UserLessEasilyStartled(void); +static void ContestEffect_StartleFrontMon(void); +static void ContestEffect_StartlePrevMons(void); +static void ContestEffect_StartlePrevMon2(void); +static void ContestEffect_StartlePrevMons2(void); +static void ContestEffect_ShiftJudgeAttention(void); +static void ContestEffect_StartleMonWithJudgesAttention(void); +static void ContestEffect_JamsOthersButMissOneTurn(void); +static void ContestEffect_StartleMonsSameTypeAppeal(void); +static void ContestEffect_StartleMonsCoolAppeal(void); +static void ContestEffect_StartleMonsBeautyAppeal(void); +static void ContestEffect_StartleMonsCuteAppeal(void); +static void ContestEffect_StartleMonsSmartAppeal(void); +static void ContestEffect_StartleMonsToughAppeal(void); +static void ContestEffect_MakeFollowingMonNervous(void); +static void ContestEffect_MakeFollowingMonsNervous(void); +static void ContestEffect_WorsenConditionOfPrevMons(void); +static void ContestEffect_BadlyStartlesMonsInGoodCondition(void); +static void ContestEffect_BetterIfFirst(void); +static void ContestEffect_BetterIfLast(void); +static void ContestEffect_AppealAsGoodAsPrevOnes(void); +static void ContestEffect_AppealAsGoodAsPrevOne(void); +static void ContestEffect_BetterWhenLater(void); +static void ContestEffect_QualityDependsOnTiming(void); +static void ContestEffect_BetterIfSameType(void); +static void ContestEffect_BetterIfDiffType(void); +static void ContestEffect_AffectedByPrevAppeal(void); +static void ContestEffect_ImproveConditionPreventNervousness(void); +static void ContestEffect_BetterWithGoodCondition(void); +static void ContestEffect_NextAppealEarlier(void); +static void ContestEffect_NextAppealLater(void); +static void ContestEffect_MakeScramblingTurnOrderEasier(void); +static void ContestEffect_ScrambleNextTurnOrder(void); +static void ContestEffect_ExciteAudienceInAnyContest(void); +static void ContestEffect_BadlyStartleMonsWithGoodAppeals(void); +static void ContestEffect_BetterWhenAudienceExcited(void); +static void ContestEffect_DontExciteAudience(void); +static void JamByMoveCategory(u8); +static bool8 CanUnnerveContestant(u8); +static u8 WasAtLeastOneOpponentJammed(void); +static void JamContestant(u8, u8); +static s16 RoundTowardsZero(s16); +static s16 RoundUp(s16); + +#include "data/contest_moves.h" + +bool8 AreMovesContestCombo(u16 lastMove, u16 nextMove) +{ + u8 nextMoveComboMoves[4]; + u8 lastMoveComboStarterId = gContestMoves[lastMove].comboStarterId; + nextMoveComboMoves[0] = gContestMoves[nextMove].comboMoves[0]; + nextMoveComboMoves[1] = gContestMoves[nextMove].comboMoves[1]; + nextMoveComboMoves[2] = gContestMoves[nextMove].comboMoves[2]; + nextMoveComboMoves[3] = gContestMoves[nextMove].comboMoves[3]; + + if (lastMoveComboStarterId == 0) + return 0; + + if (lastMoveComboStarterId == nextMoveComboMoves[0] || lastMoveComboStarterId == nextMoveComboMoves[1] || lastMoveComboStarterId == nextMoveComboMoves[2] || lastMoveComboStarterId == nextMoveComboMoves[3]) + return gComboStarterLookupTable[lastMoveComboStarterId]; + + return 0; +} + +// A highly appealing move. +static void ContestEffect_HighlyAppealing(void) +{ +} + +// After this move, the user is more easily startled. +static void ContestEffect_UserMoreEasilyStartled(void) +{ + sContestantStatus[shared192D0.contestant].moreEasilyStartled = TRUE; + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_MORE_CONSCIOUS); +} + +// Makes a great appeal, but allows no more to the end. +static void ContestEffect_GreatAppealButNoMoreMoves(void) +{ + sContestantStatus[shared192D0.contestant].exploded = TRUE; + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_NO_APPEAL); +} + +// Can be used repeatedly without boring the JUDGE. +static void ContestEffect_RepetitionNotBoring(void) +{ + sContestantStatus[shared192D0.contestant].usedRepeatableMove = TRUE; + sContestantStatus[shared192D0.contestant].disappointedRepeat = FALSE; + sContestantStatus[shared192D0.contestant].moveRepeatCount = 0; +} + +// Can avoid being startled by others once. +static void ContestEffect_AvoidStartleOnce(void) +{ + sContestantStatus[shared192D0.contestant].jamSafetyCount = 1; + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_SETTLE_DOWN); +} + +// Can avoid being startled by others. +static void ContestEffect_AvoidStartle(void) +{ + sContestantStatus[shared192D0.contestant].immune = TRUE; + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_OBLIVIOUS_TO_OTHERS); +} + +// Can avoid being startled by others a little. +static void ContestEffect_AvoidStartleSlightly(void) +{ + sContestantStatus[shared192D0.contestant].jamReduction = 20; + SetContestantEffectStringID(shared192D0.contestant,CONTEST_STRING_LESS_AWARE); +} + +// After this move, the user is less likely to be startled. +static void ContestEffect_UserLessEasilyStartled(void) +{ + sContestantStatus[shared192D0.contestant].resistant = TRUE; + SetContestantEffectStringID(shared192D0.contestant,CONTEST_STRING_STOPPED_CARING); +} + +// Slightly startles the POKéMON in front. +static void ContestEffect_StartleFrontMon(void) +{ + u8 idx = 0; + u8 a = shared192D0.contestant; + + if (shared192D0.turnOrder[a] != 0) { + int i; + + for (i = 0; i < 4; i++) + { + if (shared192D0.turnOrder[a] - 1 == shared192D0.turnOrder[i]) + break; + } + shared192D0.jamQueue[0] = i; + shared192D0.jamQueue[1] = 0xFF; + idx = WasAtLeastOneOpponentJammed(); + } + if (idx == 0) + SetContestantEffectStringID2(shared192D0.contestant, CONTEST_STRING_MESSED_UP2); + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_ATTEMPT_STARTLE); +} + +// Slightly startles those that have made appeals. +static void ContestEffect_StartlePrevMons(void) +{ + u8 idx = 0; + u8 a = shared192D0.contestant; + + if (shared192D0.turnOrder[a] != 0) { + int i; + int j = 0; + + for (i = 0; i < 4; i++) + if (shared192D0.turnOrder[a] > shared192D0.turnOrder[i]) + shared192D0.jamQueue[j++] = i; + shared192D0.jamQueue[j] = 0xFF; + idx = WasAtLeastOneOpponentJammed(); + } + if (idx == 0) + SetContestantEffectStringID2(shared192D0.contestant, CONTEST_STRING_MESSED_UP2); + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_ATTEMPT_STARTLE); +} + +// Startles the POKéMON that appealed before the user. +static void ContestEffect_StartlePrevMon2(void) +{ + u8 rval = Random() % 10; + int jam; + + if (rval < 2) + jam = 20; + else if (rval < 8) + jam = 40; + else + jam = 60; + shared192D0.jam = jam; + ContestEffect_StartleFrontMon(); +} + +// Startles all POKéMON that appealed before the user. +static void ContestEffect_StartlePrevMons2(void) +{ + u8 numStartled = 0; + u8 contestant = shared192D0.contestant; + + if (shared192D0.turnOrder[contestant] != 0) + { + int i; + + for (i = 0; i < 4; i++) + { + if (shared192D0.turnOrder[contestant] > shared192D0.turnOrder[i]) + { + shared192D0.jamQueue[0] = i; + shared192D0.jamQueue[1] = 0xFF; + { + u8 rval = Random() % 10; + int jam; + + if (rval == 0) + jam = 0; + else if (rval <= 2) + jam = 10; + else if (rval <= 4) + jam = 20; + else if (rval <= 6) + jam = 30; + else if (rval <= 8) + jam = 40; + else + jam = 60; + shared192D0.jam = jam; + } + if (WasAtLeastOneOpponentJammed()) + numStartled++; + } + } + } + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_ATTEMPT_STARTLE); + if (numStartled == 0) + SetContestantEffectStringID2(shared192D0.contestant, CONTEST_STRING_MESSED_UP2); +} + +// Shifts the JUDGE’s attention from others. +static void ContestEffect_ShiftJudgeAttention(void) +{ + bool32 hitAny = FALSE; + u8 contestant = shared192D0.contestant; + + if (shared192D0.turnOrder[shared192D0.contestant] != 0) + { + int i; + + for (i = 0; i < 4; i++) + { + if (shared192D0.turnOrder[contestant] > shared192D0.turnOrder[i] && + sContestantStatus[i].hasJudgesAttention && + CanUnnerveContestant(i)) + { + sContestantStatus[i].hasJudgesAttention = FALSE; + sContestantStatus[i].judgesAttentionWasRemoved = TRUE; + SetContestantEffectStringID(i, CONTEST_STRING_JUDGE_LOOK_AWAY2); + hitAny = TRUE; + } + } + } + SetContestantEffectStringID(shared192D0.contestant,CONTEST_STRING_DAZZLE_ATTEMPT); + if (!hitAny) + { + SetContestantEffectStringID2(shared192D0.contestant, CONTEST_STRING_MESSED_UP2); + } +} + +// Startles the POKéMON that has the JUDGE’s attention. +static void ContestEffect_StartleMonWithJudgesAttention(void) +{ + u8 numStartled = 0; + u8 contestant = shared192D0.contestant; + + if (shared192D0.turnOrder[shared192D0.contestant] != 0) + { + int i; + + for (i = 0; i < 4; i++) + { + if (shared192D0.turnOrder[contestant] > shared192D0.turnOrder[i]) + { + if (sContestantStatus[i].hasJudgesAttention) + shared192D0.jam = 50; + else + shared192D0.jam = 10; + shared192D0.jamQueue[0] = i; + shared192D0.jamQueue[1] = 0xFF; + if (WasAtLeastOneOpponentJammed()) + numStartled++; + } + } + } + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_ATTEMPT_STARTLE); + if (numStartled == 0) + SetContestantEffectStringID2(shared192D0.contestant, CONTEST_STRING_MESSED_UP2); +} + +// Jams the others, and misses one turn of appeals. +static void ContestEffect_JamsOthersButMissOneTurn(void) +{ + sContestantStatus[shared192D0.contestant].turnSkipped = TRUE; + ContestEffect_StartlePrevMons(); + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_ATTEMPT_STARTLE); +} + +// Startles POKéMON that made a same-type appeal. +static void ContestEffect_StartleMonsSameTypeAppeal(void) +{ + u16 move = sContestantStatus[shared192D0.contestant].currMove; + JamByMoveCategory(gContestMoves[move].contestCategory); + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_ATTEMPT_STARTLE); +} + +// Badly startles POKéMON that made COOL appeals. +static void ContestEffect_StartleMonsCoolAppeal(void) +{ + JamByMoveCategory(CONTEST_CATEGORY_COOL); + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_ATTEMPT_STARTLE); +} + +// Badly startles POKéMON that made BEAUTY appeals. +static void ContestEffect_StartleMonsBeautyAppeal(void) +{ + JamByMoveCategory(CONTEST_CATEGORY_BEAUTY); + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_ATTEMPT_STARTLE); +} + +// Badly startles POKéMON that made CUTE appeals. +static void ContestEffect_StartleMonsCuteAppeal(void) +{ + JamByMoveCategory(CONTEST_CATEGORY_CUTE); + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_ATTEMPT_STARTLE); +} + +// Badly startles POKéMON that made SMART appeals. +static void ContestEffect_StartleMonsSmartAppeal(void) +{ + JamByMoveCategory(CONTEST_CATEGORY_SMART); + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_ATTEMPT_STARTLE); +} + +// Badly startles POKéMON that made TOUGH appeals. +static void ContestEffect_StartleMonsToughAppeal(void) +{ + JamByMoveCategory(CONTEST_CATEGORY_TOUGH); + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_ATTEMPT_STARTLE); +} + +// Makes one POKéMON after the user nervous. +static void ContestEffect_MakeFollowingMonNervous(void) +{ + bool32 hitAny = FALSE; + + if (shared192D0.turnOrder[shared192D0.contestant] != 3) + { + int i; + + for (i = 0; i < 4; i++) + { + if (shared192D0.turnOrder[shared192D0.contestant] + 1 == shared192D0.turnOrder[i]) + { + if (CanUnnerveContestant(i)) + { + MakeContestantNervous(i); + SetContestantEffectStringID(i, CONTEST_STRING_NERVOUS); + hitAny = TRUE; + } + else + { + SetContestantEffectStringID(i, CONTEST_STRING_UNAFFECTED); + hitAny = TRUE; + } + } + } + } + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_UNNERVE_ATTEMPT); + if (!hitAny) + SetContestantEffectStringID2(shared192D0.contestant, CONTEST_STRING_MESSED_UP2); +} + +// Makes all POKéMON after the user nervous. +static void ContestEffect_MakeFollowingMonsNervous(void) +{ + u8 numUnnerved = 0; + bool32 contestantUnnerved = FALSE; + u8 contestantIds[5]; + int i; + int numAfter; + s16 oddsMod[4]; + s16 odds[4]; + + memset(contestantIds, 0xFF, ARRAY_COUNT(contestantIds)); + for (i = 0, numAfter = 0; i < 4; i++) + { + if (shared192D0.turnOrder[shared192D0.contestant] < shared192D0.turnOrder[i] && + !sContestantStatus[i].nervous && !Contest_IsMonsTurnDisabled(i)) + contestantIds[numAfter++] = i; + } + + if (numAfter == 1) + { + odds[0] = 60; + } + else if (numAfter == 2) + { + odds[0] = 30; + odds[1] = 30; + } + else if (numAfter == 3) + { + odds[0] = 20; + odds[1] = 20; + odds[2] = 20; + } + else + { + for (i = 0; i < 4; i++) + odds[i] = 0; + } + for (i = 0; i < 4; i++) + { + if (sContestantStatus[i].hasJudgesAttention && sub_80DE1E8(i)) + oddsMod[i] = gComboStarterLookupTable[gContestMoves[sContestantStatus[i].prevMove].comboStarterId] * 10; + else + oddsMod[i] = 0; + oddsMod[i] -= (sContestantStatus[i].condition / 10) * 10; + } + if (odds[0] != 0) + { + for (i = 0; contestantIds[i] != 0xFF; i++) + { + if (Random() % 100 < odds[i] + oddsMod[contestantIds[i]]) + { + if (CanUnnerveContestant(contestantIds[i])) + { + MakeContestantNervous(contestantIds[i]); + SetContestantEffectStringID(contestantIds[i], CONTEST_STRING_NERVOUS); + numUnnerved++; + } else + contestantUnnerved = TRUE; + } else + contestantUnnerved = TRUE; + if (contestantUnnerved) + { + contestantUnnerved = FALSE; + SetContestantEffectStringID(contestantIds[i], CONTEST_STRING_UNAFFECTED); + numUnnerved++; + } + shared192D0.unnervedPokes[contestantIds[i]] = 1; + } + } + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_UNNERVE_WAITING); + if (numUnnerved == 0) + SetContestantEffectStringID2(shared192D0.contestant, CONTEST_STRING_MESSED_UP2); +} + +// Worsens the condition of those that made appeals. +static void ContestEffect_WorsenConditionOfPrevMons(void) +{ + u8 numHit = 0; + int i; + + for (i = 0; i < 4; i++) + { + if (shared192D0.turnOrder[shared192D0.contestant] > shared192D0.turnOrder[i] && + sContestantStatus[i].condition > 0 && + CanUnnerveContestant(i)) + { + sContestantStatus[i].condition = 0; + sContestantStatus[i].conditionMod = 2; + SetContestantEffectStringID(i, CONTEST_STRING_REGAINED_FORM); + numHit++; + } + } + + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_TAUNT_WELL); + if (numHit == 0) + SetContestantEffectStringID2(shared192D0.contestant, CONTEST_STRING_IGNORED); +} + +// Badly startles POKéMON in good condition. +static void ContestEffect_BadlyStartlesMonsInGoodCondition(void) +{ + u8 numHit = 0; + int i; + + for (i = 0; i < 4; i++) + { + if (shared192D0.turnOrder[shared192D0.contestant] > shared192D0.turnOrder[i]) + { + if (sContestantStatus[i].condition > 0) + shared192D0.jam = 40; + else + shared192D0.jam = 10; + shared192D0.jamQueue[0] = i; + shared192D0.jamQueue[1] = 0xFF; + if (WasAtLeastOneOpponentJammed()) + numHit++; + } + } + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_JAM_WELL); + if (numHit == 0) + SetContestantEffectStringID2(shared192D0.contestant, CONTEST_STRING_IGNORED); +} + +// The appeal works great if performed first. +static void ContestEffect_BetterIfFirst(void) +{ + if (gUnknown_02039F26[shared192D0.contestant] == 0) + { + u16 move = sContestantStatus[shared192D0.contestant].currMove; + sContestantStatus[shared192D0.contestant].appeal2 += 2 * gContestEffects[gContestMoves[move].effect].appeal; + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_HUSTLE_STANDOUT); + } +} + +// The appeal works great if performed last. +static void ContestEffect_BetterIfLast(void) +{ + if (gUnknown_02039F26[shared192D0.contestant] == 3) + { + u16 move = sContestantStatus[shared192D0.contestant].currMove; + sContestantStatus[shared192D0.contestant].appeal2 += 2 * gContestEffects[gContestMoves[move].effect].appeal; + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_WORK_HARD_UNNOTICED); + } +} + +// Makes the appeal as good as those before it. +static void ContestEffect_AppealAsGoodAsPrevOnes(void) +{ + int i; + int appealSum; + + for (i = 0, appealSum = 0; i < 4; i++) + { + if (shared192D0.turnOrder[shared192D0.contestant] > shared192D0.turnOrder[i]) + appealSum += sContestantStatus[i].appeal2; + } + if (appealSum < 0) + appealSum = 0; + if (shared192D0.turnOrder[shared192D0.contestant] == 0 || appealSum == 0) + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_APPEAL_NOT_WELL); + else + { + sContestantStatus[shared192D0.contestant].appeal2 += appealSum / 2; + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_WORK_BEFORE); + } + sContestantStatus[shared192D0.contestant].appeal2 = RoundTowardsZero(sContestantStatus[shared192D0.contestant].appeal2); +} + +// Makes the appeal as good as the one before it. +static void ContestEffect_AppealAsGoodAsPrevOne(void) +{ + s16 appeal = 0; + + if (shared192D0.turnOrder[shared192D0.contestant] != 0) + { + int i; + for (i = 0; i < 4; i++) + { + if (shared192D0.turnOrder[shared192D0.contestant] - 1 == shared192D0.turnOrder[i]) + appeal = sContestantStatus[i].appeal2; + } + } + if (shared192D0.turnOrder[shared192D0.contestant] == 0 || appeal <= 0) + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_APPEAL_NOT_WELL2); + else + { + sContestantStatus[shared192D0.contestant].appeal2 += appeal; + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_WORK_PRECEDING); + } +} + +// The appeal works better the later it is performed. +static void ContestEffect_BetterWhenLater(void) +{ + u8 whichTurn = shared192D0.turnOrder[shared192D0.contestant]; + if (whichTurn == 0) + sContestantStatus[shared192D0.contestant].appeal2 = 10; + else + sContestantStatus[shared192D0.contestant].appeal2 = 20 * whichTurn; + if (whichTurn == 0) + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_APPEAL_NOT_SHOWN_WELL); + else if (whichTurn == 1) + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_APPEAL_SLIGHTLY_WELL); + else if (whichTurn == 2) + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_APPEAL_PRETTY_WELL); + else + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_APPEAL_EXCELLENTLY); +} + +// The appeal’s quality varies depending on its timing. +static void ContestEffect_QualityDependsOnTiming(void) +{ + u8 rval = Random() % 10; + s16 appeal; + + if (rval < 3) + { + appeal = 10; + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_APPEAL_NOT_VERY_WELL); + } else if (rval < 6) + { + appeal = 20; + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_APPEAL_SLIGHTLY_WELL2); + } else if (rval < 8) + { + appeal = 40; + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_APPEAL_PRETTY_WELL2); + } else if (rval < 9) + { + appeal = 60; + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_APPEAL_VERY_WELL); + } + else + { + appeal = 80; + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_APPEAL_EXCELLENTLY2); + } + sContestantStatus[shared192D0.contestant].appeal2 = appeal; +} + +#ifdef NONMATCHING +// Not even close, send help +// Works well if it’s the same type as the one before. +static void ContestEffect_BetterIfSameType(void) +{ + s8 r4; + s8 r2; + + for (r4 = shared192D0.turnOrder[shared192D0.contestant]; r4 > 0; r4--) + { + for (r2 = 0; r2 < 4; r2++) + { + if (shared192D0.turnOrder[r2] == r4 - 1) + break; + } + if (!(sContestantStatus[r2].noMoreTurns || sContestantStatus[r2].nervous || sContestantStatus[r2].numTurnsSkipped)) + { + u16 move = sContestantStatus[shared192D0.contestant].currMove; + + if (gContestMoves[move].contestCategory == gContestMoves[sContestantStatus[r2].currMove].contestCategory) + { + sContestantStatus[shared192D0.contestant].appeal2 += gContestEffects[gContestMoves[move].effect].appeal * 2; + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_SAME_TYPE_GOOD); + } + break; + } + } +} +#else +NAKED void ContestEffect_BetterIfSameType(void) +{ + asm_unified("\n\ + push {r4-r7,lr}\n\ + mov r7, r8\n\ + push {r7}\n\ + ldr r2, =gContestResources\n\ + ldr r0, [r2]\n\ + ldr r3, [r0, 0x8]\n\ + ldrb r0, [r3, 0x11]\n\ + adds r0, r3, r0\n\ + movs r1, 0\n\ + ldrsb r1, [r0, r1]\n\ + subs r0, r1, 0x1\n\ + lsls r0, 24\n\ + lsrs r4, r0, 24\n\ + mov r8, r2\n\ + cmp r1, 0\n\ + beq _080E61F8\n\ + mov r7, r8\n\ + ldrb r6, [r3]\n\ +_080E6140:\n\ + movs r2, 0\n\ + lsls r0, r4, 24\n\ + asrs r1, r0, 24\n\ + adds r5, r0, 0\n\ + cmp r6, r1\n\ + beq _080E616A\n\ + ldr r4, =gContestResources\n\ +_080E614E:\n\ + lsls r0, r2, 24\n\ + movs r2, 0x80\n\ + lsls r2, 17\n\ + adds r0, r2\n\ + lsrs r2, r0, 24\n\ + asrs r3, r0, 24\n\ + cmp r3, 0x3\n\ + bgt _080E616A\n\ + ldr r0, [r4]\n\ + ldr r0, [r0, 0x8]\n\ + adds r0, r3\n\ + ldrb r0, [r0]\n\ + cmp r0, r1\n\ + bne _080E614E\n\ +_080E616A:\n\ + ldr r0, [r7]\n\ + lsls r3, r2, 24\n\ + asrs r1, r3, 24\n\ + ldr r2, [r0, 0x4]\n\ + lsls r0, r1, 3\n\ + subs r0, r1\n\ + lsls r0, 2\n\ + adds r2, r0, r2\n\ + ldrb r1, [r2, 0xB]\n\ + movs r0, 0x80\n\ + ands r0, r1\n\ + mov r12, r3\n\ + cmp r0, 0\n\ + bne _080E6190\n\ + ldrb r1, [r2, 0xC]\n\ + movs r0, 0x7\n\ + ands r0, r1\n\ + cmp r0, 0\n\ + beq _080E61A4\n\ +_080E6190:\n\ + movs r1, 0xFF\n\ + lsls r1, 24\n\ + adds r0, r5, r1\n\ + lsrs r4, r0, 24\n\ + cmp r0, 0\n\ + blt _080E61F8\n\ + b _080E6140\n\ + .pool\n\ +_080E61A4:\n\ + mov r2, r8\n\ + ldr r6, [r2]\n\ + ldr r0, [r6, 0x8]\n\ + ldrb r1, [r0, 0x11]\n\ + ldr r4, [r6, 0x4]\n\ + lsls r0, r1, 3\n\ + subs r0, r1\n\ + lsls r0, 2\n\ + adds r5, r0, r4\n\ + ldrh r0, [r5, 0x6]\n\ + ldr r3, =gContestMoves\n\ + lsls r0, 3\n\ + adds r7, r0, r3\n\ + ldrb r2, [r7, 0x1]\n\ + lsls r2, 29\n\ + mov r0, r12\n\ + asrs r1, r0, 24\n\ + lsls r0, r1, 3\n\ + subs r0, r1\n\ + lsls r0, 2\n\ + adds r0, r4\n\ + ldrh r0, [r0, 0x6]\n\ + lsls r0, 3\n\ + adds r0, r3\n\ + ldrb r0, [r0, 0x1]\n\ + lsls r0, 29\n\ + cmp r2, r0\n\ + bne _080E61F8\n\ + ldr r1, =gContestEffects\n\ + ldrb r0, [r7]\n\ + lsls r0, 2\n\ + adds r0, r1\n\ + ldrb r0, [r0, 0x1]\n\ + lsls r0, 1\n\ + ldrh r1, [r5, 0x2]\n\ + adds r0, r1\n\ + strh r0, [r5, 0x2]\n\ + ldr r0, [r6, 0x8]\n\ + ldrb r0, [r0, 0x11]\n\ + movs r1, 0x1F\n\ + bl SetContestantEffectStringID\n\ +_080E61F8:\n\ + pop {r3}\n\ + mov r8, r3\n\ + pop {r4-r7}\n\ + pop {r0}\n\ + bx r0\n\ + .pool\ + "); +} +#endif + +// Works well if different in type than the one before. +static void ContestEffect_BetterIfDiffType(void) +{ + if (shared192D0.turnOrder[shared192D0.contestant] != 0) + { + u16 move = sContestantStatus[shared192D0.contestant].currMove; + int i; + + for (i = 0; i < 4; i++) + { + if (shared192D0.turnOrder[shared192D0.contestant] - 1 == shared192D0.turnOrder[i] && + gContestMoves[move].contestCategory != gContestMoves[sContestantStatus[i].currMove].contestCategory) + { + sContestantStatus[shared192D0.contestant].appeal2 += gContestEffects[gContestMoves[move].effect].appeal * 2; + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_DIFF_TYPE_GOOD); + break; + } + } + } +} + +// Affected by how well the appeal in front goes. +static void ContestEffect_AffectedByPrevAppeal(void) +{ + if (shared192D0.turnOrder[shared192D0.contestant] != 0) + { + int i; + + for (i = 0; i < 4; i++) + { + if (shared192D0.turnOrder[shared192D0.contestant] - 1 == shared192D0.turnOrder[i]) + { + if (sContestantStatus[shared192D0.contestant].appeal2 > sContestantStatus[i].appeal2) + { + sContestantStatus[shared192D0.contestant].appeal2 *= 2; + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_STOOD_OUT_AS_MUCH); + } + else if (sContestantStatus[shared192D0.contestant].appeal2 < sContestantStatus[i].appeal2) + { + sContestantStatus[shared192D0.contestant].appeal2 = 0; + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_NOT_AS_WELL); + } + } + } + } +} + +// Ups the user’s condition. Helps prevent nervousness. +static void ContestEffect_ImproveConditionPreventNervousness(void) +{ + if (sContestantStatus[shared192D0.contestant].condition < 30) + { + sContestantStatus[shared192D0.contestant].condition += 10; + sContestantStatus[shared192D0.contestant].conditionMod = 1; + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_CONDITION_ROSE); + } + else + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_NO_CONDITION_IMPROVE); +} + +// The appeal works well if the user’s condition is good. +static void ContestEffect_BetterWithGoodCondition(void) +{ + sContestantStatus[shared192D0.contestant].appealTripleCondition = TRUE; + if (sContestantStatus[shared192D0.contestant].condition != 0) + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_HOT_STATUS); + else + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_BAD_CONDITION_WEAK_APPEAL); +} + +// The next appeal can be made earlier next turn. +static void ContestEffect_NextAppealEarlier(void) +{ + s8 i; + s8 j; + u8 turnOrder[4]; + + if (sContest.turnNumber != 4) + { + for (i = 0; i < 4; i++) + turnOrder[i] = sContestantStatus[i].nextTurnOrder; + + turnOrder[shared192D0.contestant] = 0xFF; + + for (i = 0; i < 4; i++) + { + for (j = 0; j < 4; j++) + { + if (j != shared192D0.contestant && + i == turnOrder[j] && + turnOrder[j] == sContestantStatus[j].nextTurnOrder) + { + turnOrder[j]++; + break; + } + } + if (j == 4) + break; + } + + turnOrder[shared192D0.contestant] = 0; + sContestantStatus[shared192D0.contestant].turnOrderMod = 1; + + for (i = 0; i < 4; i++) + { + sContestantStatus[i].nextTurnOrder = turnOrder[i]; + } + sContestantStatus[shared192D0.contestant].turnOrderModAction = 1; + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_MOVE_UP_LINE); + } +} + +// The next appeal can be made later next turn. +static void ContestEffect_NextAppealLater(void) +{ + s8 i; + s8 j; + u8 turnOrder[4]; + + if (sContest.turnNumber != 4) + { + for (i = 0; i < 4; i++) + turnOrder[i] = sContestantStatus[i].nextTurnOrder; + + turnOrder[shared192D0.contestant] = 0xFF; + + for (i = 3; i > -1; i--) + { + for (j = 0; j < 4; j++) + { + if (j != shared192D0.contestant && + i == turnOrder[j] && + turnOrder[j] == sContestantStatus[j].nextTurnOrder) + { + turnOrder[j]--; + break; + } + } + if (j == 4) + break; + } + + turnOrder[shared192D0.contestant] = 3; + sContestantStatus[shared192D0.contestant].turnOrderMod = 1; + + for (i = 0; i < 4; i++) + { + sContestantStatus[i].nextTurnOrder = turnOrder[i]; + } + sContestantStatus[shared192D0.contestant].turnOrderModAction = 2; + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_MOVE_BACK_LINE); + } +} + +// Makes the next turn’s order more easily scrambled. +static void ContestEffect_MakeScramblingTurnOrderEasier(void) +{ + // dummied out? +} + +// Scrambles the order of appeals on the next turn. +static void ContestEffect_ScrambleNextTurnOrder(void) +{ + s8 i; + s8 j; + u8 turnOrder[4]; + u8 unselectedContestants[4]; + + if (sContest.turnNumber != 4) + { + for (i = 0; i < 4; i++) + { + turnOrder[i] = sContestantStatus[i].nextTurnOrder; + unselectedContestants[i] = i; + } + + for (i = 0; i < 4; i++) + { + u8 rval = Random() % (4 - i); + + for (j = 0; j < 4; j++) + { + if (unselectedContestants[j] != 0xFF) + { + if (rval == 0) + { + turnOrder[j] = i; + unselectedContestants[j] = 0xFF; + break; + } + else + rval--; + } + } + } + + for (i = 0; i < 4; i++) + { + sContestantStatus[i].nextTurnOrder = turnOrder[i]; + sContestantStatus[i].turnOrderMod = 2; + } + sContestantStatus[shared192D0.contestant].turnOrderModAction = 3; + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_SCRAMBLE_ORDER); + } +} + +// An appeal that excites the audience in any CONTEST. +static void ContestEffect_ExciteAudienceInAnyContest(void) +{ + if (gContestMoves[sContestantStatus[shared192D0.contestant].currMove].contestCategory != gSpecialVar_ContestCategory) + { + sContestantStatus[shared192D0.contestant].overrideCategoryExcitementMod = TRUE; + } +} + +// Badly startles all POKéMON that made good appeals. +static void ContestEffect_BadlyStartleMonsWithGoodAppeals(void) +{ + int i; + u8 numJammed = 0; + + for (i = 0; i < 4; i++) + { + if (shared192D0.turnOrder[shared192D0.contestant] > shared192D0.turnOrder[i]) + { + if (sContestantStatus[i].appeal2 > 0) + { + shared192D0.jam = sContestantStatus[i].appeal2 / 2; + shared192D0.jam = RoundUp(shared192D0.jam); + } + else + shared192D0.jam = 10; + shared192D0.jamQueue[0] = i; + shared192D0.jamQueue[1] = 0xFF; + if (WasAtLeastOneOpponentJammed()) + numJammed++; + } + } + if (numJammed == 0) + SetContestantEffectStringID2(shared192D0.contestant, CONTEST_STRING_MESSED_UP2); + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_ATTEMPT_STARTLE); +} + +// The appeal works best the more the crowd is excited. +static void ContestEffect_BetterWhenAudienceExcited(void) +{ + s16 appeal; + + if (sContest.applauseLevel == 0) + { + appeal = 10; + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_APPEAL_NOT_VERY_WELL); + } + else if (sContest.applauseLevel == 1) + { + appeal = 20; + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_APPEAL_SLIGHTLY_WELL2); + } + else if (sContest.applauseLevel == 2) + { + appeal = 30; + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_APPEAL_PRETTY_WELL2); + } + else if (sContest.applauseLevel == 3) + { + appeal = 50; + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_APPEAL_VERY_WELL); + } + else + { + appeal = 60; + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_APPEAL_EXCELLENTLY2); + } + sContestantStatus[shared192D0.contestant].appeal2 = appeal; +} + +// Temporarily stops the crowd from growing excited. +static void ContestEffect_DontExciteAudience(void) +{ + if (!shared19328.excitementFrozen) + { + shared19328.excitementFrozen = TRUE; + shared19328.excitementFreezer = shared192D0.contestant; + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_ATTRACTED_ATTENTION); + } +} + +static void JamByMoveCategory(u8 category) +{ + int i; + int numJammed = 0; + + for (i = 0; i < 4; i++) + { + if (shared192D0.turnOrder[shared192D0.contestant] > shared192D0.turnOrder[i]) + { + if (category == gContestMoves[sContestantStatus[i].currMove].contestCategory) + shared192D0.jam = 40; + else + shared192D0.jam = 10; + shared192D0.jamQueue[0] = i; + shared192D0.jamQueue[1] = 0xFF; + if (WasAtLeastOneOpponentJammed()) + numJammed++; + } + } + + if (numJammed == 0) + SetContestantEffectStringID2(shared192D0.contestant, CONTEST_STRING_MESSED_UP2); +} + +static bool8 CanUnnerveContestant(u8 i) +{ + shared192D0.unnervedPokes[i] = 1; + if (sContestantStatus[i].immune) + { + SetContestantEffectStringID(i, CONTEST_STRING_AVOID_SEEING); + return FALSE; + } + else if (sContestantStatus[i].jamSafetyCount != 0) + { + sContestantStatus[i].jamSafetyCount--; + SetContestantEffectStringID(i, CONTEST_STRING_AVERT_GAZE); + return FALSE; + } + else if (!sContestantStatus[i].noMoreTurns && sContestantStatus[i].numTurnsSkipped == 0) + { + return TRUE; + } + + return FALSE; +} + +static bool8 WasAtLeastOneOpponentJammed(void) +{ + s16 jamBuffer[4] = {0}; + int i; + + for (i = 0; shared192D0.jamQueue[i] != 0xFF; i++) + { + u8 contestant = shared192D0.jamQueue[i]; + if (CanUnnerveContestant(contestant)) + { + shared192D0.jam2 = shared192D0.jam; + if (sContestantStatus[contestant].moreEasilyStartled) + shared192D0.jam2 *= 2; + if (sContestantStatus[contestant].resistant) + { + shared192D0.jam2 = 10; + SetContestantEffectStringID(contestant, CONTEST_STRING_LITTLE_DISTRACTED); + } + else if ((shared192D0.jam2 -= sContestantStatus[contestant].jamReduction) <= 0) + { + shared192D0.jam2 = 0; + SetContestantEffectStringID(contestant, CONTEST_STRING_NOT_FAZED); + } + else + { + JamContestant(contestant, shared192D0.jam2); + SetStartledString(contestant, shared192D0.jam2); + jamBuffer[contestant] = shared192D0.jam2; + } + } + } + + for (i = 0; i < 4; i++) + { + if (jamBuffer[i] != 0) + return TRUE; + } + return FALSE; +} + +static void JamContestant(u8 i, u8 jam) +{ + sContestantStatus[i].appeal2 -= jam; + sContestantStatus[i].jam += jam; +} + +static s16 RoundTowardsZero(s16 score) +{ + s16 absScore = abs(score) % 10; + if (score < 0) + { + if (absScore != 0) + score -= 10 - absScore; + } + else + score -= absScore; + return score; +} + +static s16 RoundUp(s16 score) +{ + s16 absScore = abs(score) % 10; + if (absScore != 0) + score += 10 - absScore; + return score; +} diff --git a/src/data/contest_moves.h b/src/data/contest_moves.h new file mode 100644 index 0000000000..fd0bc55647 --- /dev/null +++ b/src/data/contest_moves.h @@ -0,0 +1,536 @@ +#ifndef POKEEMERALD_CONTEST_MOVES_H +#define POKEEMERALD_CONTEST_MOVES_H + +const struct ContestMove gContestMoves[] = +{ + {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, // NONE + {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_TOUGH, COMBO_STARTER_POUND, {0, 0, 0, 0}}, // POUND + {CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_FOCUS_ENERGY, 0, 0, 0}}, // KARATE_CHOP + {CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_POUND, 0, 0, 0}}, // DOUBLE_SLAP + {CONTEST_EFFECT_BETTER_IF_SAME_TYPE, CONTEST_CATEGORY_TOUGH, 0, {0, 0, 0, 0}}, // COMET_PUNCH + {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_FOCUS_ENERGY, COMBO_STARTER_MIND_READER, 0, 0}}, // MEGA_PUNCH + {CONTEST_EFFECT_BETTER_WHEN_AUDIENCE_EXCITED, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, // PAY_DAY + {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_BEAUTY, COMBO_STARTER_FIRE_PUNCH, {COMBO_STARTER_SUNNY_DAY, COMBO_STARTER_THUNDER_PUNCH, COMBO_STARTER_ICE_PUNCH, 0}}, // FIRE_PUNCH + {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_BEAUTY, COMBO_STARTER_ICE_PUNCH, {COMBO_STARTER_THUNDER_PUNCH, COMBO_STARTER_FIRE_PUNCH, 0, 0}}, // ICE_PUNCH + {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_COOL, COMBO_STARTER_THUNDER_PUNCH, {COMBO_STARTER_CHARGE, COMBO_STARTER_FIRE_PUNCH, COMBO_STARTER_ICE_PUNCH, 0}}, // THUNDER_PUNCH + {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_TOUGH, COMBO_STARTER_SCRATCH, {COMBO_STARTER_LEER, 0, 0, 0}}, // SCRATCH + {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_TOUGH, COMBO_STARTER_VICE_GRIP, {0, 0, 0, 0}}, // VICE_GRIP + {CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_VICE_GRIP, 0, 0, 0}}, // GUILLOTINE + {CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, // RAZOR_WIND + {CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, CONTEST_CATEGORY_BEAUTY, COMBO_STARTER_SWORDS_DANCE, {0, 0, 0, 0}}, // SWORDS_DANCE + {CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_SWORDS_DANCE, 0, 0, 0}}, // CUT + {CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, // GUST + {CONTEST_EFFECT_BETTER_IF_SAME_TYPE, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, // WING_ATTACK + {CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, // WHIRLWIND + {CONTEST_EFFECT_AVOID_STARTLE, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, // FLY + {CONTEST_EFFECT_DONT_EXCITE_AUDIENCE, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_VICE_GRIP, 0, 0, 0}}, // BIND + {CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_POUND, 0, 0, 0}}, // SLAM + {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_GROWTH, 0, 0, 0}}, // VINE_WHIP + {CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, CONTEST_CATEGORY_TOUGH, 0, {0, COMBO_STARTER_LEER, 0, 0}}, // STOMP + {CONTEST_EFFECT_BETTER_IF_SAME_TYPE, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, // DOUBLE_KICK + {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_FOCUS_ENERGY, COMBO_STARTER_MIND_READER, 0, 0}}, // MEGA_KICK + {CONTEST_EFFECT_USER_MORE_EASILY_STARTLED, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_MIND_READER, 0, 0, 0}}, // JUMP_KICK + {CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, // ROLLING_KICK + {CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION, CONTEST_CATEGORY_CUTE, COMBO_STARTER_SAND_ATTACK, {COMBO_STARTER_MUD_SLAP, COMBO_STARTER_SANDSTORM, 0, 0}}, // SAND_ATTACK + {CONTEST_EFFECT_STARTLE_PREV_MON, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_FOCUS_ENERGY, 0, 0, 0}}, // HEADBUTT + {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_COOL, COMBO_STARTER_HORN_ATTACK, {COMBO_STARTER_LEER, 0, 0, 0}}, // HORN_ATTACK + {CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_HORN_ATTACK, COMBO_STARTER_PECK, 0, 0}}, // FURY_ATTACK + {CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_HORN_ATTACK, 0, 0, 0}}, // HORN_DRILL + {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_DEFENSE_CURL, COMBO_STARTER_LEER, COMBO_STARTER_HARDEN, 0}}, // TACKLE + {CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, CONTEST_CATEGORY_TOUGH, 0, {0, 0, 0, 0}}, // BODY_SLAM + {CONTEST_EFFECT_DONT_EXCITE_AUDIENCE, CONTEST_CATEGORY_TOUGH, 0, {0, 0, 0, 0}}, // WRAP + {CONTEST_EFFECT_USER_MORE_EASILY_STARTLED, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_FOCUS_ENERGY, COMBO_STARTER_HARDEN, 0, 0}}, // TAKE_DOWN + {CONTEST_EFFECT_JAMS_OTHERS_BUT_MISS_ONE_TURN, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_RAGE, 0, 0, 0}}, // THRASH + {CONTEST_EFFECT_USER_MORE_EASILY_STARTLED, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_FOCUS_ENERGY, COMBO_STARTER_HARDEN, 0, 0}}, // DOUBLE_EDGE + {CONTEST_EFFECT_BETTER_IF_LAST, CONTEST_CATEGORY_CUTE, 0, {COMBO_STARTER_CHARM, 0, 0, 0}}, // TAIL_WHIP + {CONTEST_EFFECT_STARTLE_PREV_MON, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, // POISON_STING + {CONTEST_EFFECT_STARTLE_PREV_MON, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, // TWINEEDLE + {CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, // PIN_MISSILE + {CONTEST_EFFECT_DONT_EXCITE_AUDIENCE, CONTEST_CATEGORY_COOL, COMBO_STARTER_LEER, {COMBO_STARTER_RAGE, COMBO_STARTER_SCARY_FACE, 0, 0}}, // LEER + {CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_LEER, COMBO_STARTER_SCARY_FACE, 0, 0}}, // BITE + {CONTEST_EFFECT_BETTER_IF_LAST, CONTEST_CATEGORY_CUTE, 0, {COMBO_STARTER_CHARM, 0, 0, 0}}, // GROWL + {CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, // ROAR + {CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS, CONTEST_CATEGORY_CUTE, COMBO_STARTER_SING, {0, 0, 0, 0}}, // SING + {CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, // SUPERSONIC + {CONTEST_EFFECT_BETTER_IF_SAME_TYPE, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, // SONIC_BOOM + {CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, // DISABLE + {CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, // ACID + {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_BEAUTY, 0, {COMBO_STARTER_SUNNY_DAY, 0, 0, 0}}, // EMBER + {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_BEAUTY, 0, {COMBO_STARTER_SUNNY_DAY, 0, 0, 0}}, // FLAMETHROWER + {CONTEST_EFFECT_AVOID_STARTLE, CONTEST_CATEGORY_BEAUTY, 0, {0, 0, 0, 0}}, // MIST + {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_CUTE, 0, {COMBO_STARTER_RAIN_DANCE, COMBO_STARTER_WATER_SPORT, COMBO_STARTER_MUD_SPORT, 0}}, // WATER_GUN + {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_BEAUTY, 0, {COMBO_STARTER_RAIN_DANCE, 0, 0, 0}}, // HYDRO_PUMP + {CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL, CONTEST_CATEGORY_BEAUTY, COMBO_STARTER_SURF, {COMBO_STARTER_RAIN_DANCE, COMBO_STARTER_DIVE, 0, 0}}, // SURF + {CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL, CONTEST_CATEGORY_BEAUTY, 0, {0, 0, 0, 0}}, // ICE_BEAM + {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_BEAUTY, 0, {COMBO_STARTER_POWDER_SNOW, COMBO_STARTER_HAIL, 0, 0}}, // BLIZZARD + {CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER, CONTEST_CATEGORY_BEAUTY, 0, {COMBO_STARTER_CALM_MIND, 0, 0, 0}}, // PSYBEAM + {CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, CONTEST_CATEGORY_BEAUTY, 0, {COMBO_STARTER_RAIN_DANCE, 0, 0, 0}}, // BUBBLE_BEAM + {CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL, CONTEST_CATEGORY_BEAUTY, 0, {0, 0, 0, 0}}, // AURORA_BEAM + {CONTEST_EFFECT_JAMS_OTHERS_BUT_MISS_ONE_TURN, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, // HYPER_BEAM + {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_COOL, COMBO_STARTER_PECK, {0, 0, 0, 0}}, // PECK + {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_PECK, 0, 0, 0}}, // DRILL_PECK + {CONTEST_EFFECT_USER_MORE_EASILY_STARTLED, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_MIND_READER, 0, 0, 0}}, // SUBMISSION + {CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, CONTEST_CATEGORY_TOUGH, 0, {0, 0, 0, 0}}, // LOW_KICK + {CONTEST_EFFECT_AVOID_STARTLE_ONCE, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_TAUNT, 0, 0, 0}}, // COUNTER + {CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_FAKE_OUT, 0, 0, 0}}, // SEISMIC_TOSS + {CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL, CONTEST_CATEGORY_TOUGH, 0, {0, 0, 0, 0}}, // STRENGTH + {CONTEST_EFFECT_STARTLE_PREV_MON, CONTEST_CATEGORY_SMART, 0, {COMBO_STARTER_GROWTH, 0, 0, 0}}, // ABSORB + {CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, CONTEST_CATEGORY_SMART, 0, {COMBO_STARTER_GROWTH, 0, 0, 0}}, // MEGA_DRAIN + {CONTEST_EFFECT_STARTLE_PREV_MONS, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, // LEECH_SEED + {CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, CONTEST_CATEGORY_BEAUTY, COMBO_STARTER_GROWTH, {0, 0, 0, 0}}, // GROWTH + {CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_GROWTH, 0, 0, 0}}, // RAZOR_LEAF + {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_SUNNY_DAY, COMBO_STARTER_GROWTH, 0, 0}}, // SOLAR_BEAM + {CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS, CONTEST_CATEGORY_SMART, 0, {COMBO_STARTER_SWEET_SCENT, 0, 0, 0}}, // POISON_POWDER + {CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS, CONTEST_CATEGORY_SMART, 0, {COMBO_STARTER_SWEET_SCENT, 0, 0, 0}}, // STUN_SPORE + {CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, CONTEST_CATEGORY_SMART, 0, {COMBO_STARTER_SWEET_SCENT, 0, 0, 0}}, // SLEEP_POWDER + {CONTEST_EFFECT_JAMS_OTHERS_BUT_MISS_ONE_TURN, CONTEST_CATEGORY_BEAUTY, 0, {COMBO_STARTER_GROWTH, 0, 0, 0}}, // PETAL_DANCE + {CONTEST_EFFECT_STARTLE_PREV_MON, CONTEST_CATEGORY_SMART, COMBO_STARTER_STRING_SHOT, {0, 0, 0, 0}}, // STRING_SHOT + {CONTEST_EFFECT_BETTER_WHEN_LATER, CONTEST_CATEGORY_COOL, COMBO_STARTER_DRAGON_RAGE, {COMBO_STARTER_DRAGON_BREATH, COMBO_STARTER_DRAGON_DANCE, 0, 0}}, // DRAGON_RAGE + {CONTEST_EFFECT_DONT_EXCITE_AUDIENCE, CONTEST_CATEGORY_BEAUTY, 0, {COMBO_STARTER_SUNNY_DAY, 0, 0, 0}}, // FIRE_SPIN + {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_CHARGE, 0, 0, 0}}, // THUNDER_SHOCK + {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_CHARGE, 0, 0, 0}}, // THUNDERBOLT + {CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_CHARGE, 0, 0, 0}}, // THUNDER_WAVE + {CONTEST_EFFECT_STARTLE_PREV_MONS, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_CHARGE, COMBO_STARTER_RAIN_DANCE, COMBO_STARTER_LOCK_ON, 0}}, // THUNDER + {CONTEST_EFFECT_BETTER_IF_SAME_TYPE, CONTEST_CATEGORY_TOUGH, COMBO_STARTER_ROCK_THROW, {0, 0, 0, 0}}, // ROCK_THROW + {CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, CONTEST_CATEGORY_TOUGH, COMBO_STARTER_EARTHQUAKE, {0, 0, 0, 0}}, // EARTHQUAKE + {CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_EARTHQUAKE, 0, 0, 0}}, // FISSURE + {CONTEST_EFFECT_AVOID_STARTLE, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, // DIG + {CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, // TOXIC + {CONTEST_EFFECT_STARTLE_PREV_MON, CONTEST_CATEGORY_SMART, COMBO_STARTER_CONFUSION, {COMBO_STARTER_PSYCHIC, COMBO_STARTER_KINESIS, COMBO_STARTER_CALM_MIND, 0}}, // CONFUSION + {CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, CONTEST_CATEGORY_SMART, COMBO_STARTER_PSYCHIC, {COMBO_STARTER_KINESIS, COMBO_STARTER_CONFUSION, COMBO_STARTER_CALM_MIND, 0}}, // PSYCHIC + {CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, CONTEST_CATEGORY_SMART, COMBO_STARTER_HYPNOSIS, {0, 0, 0, 0}}, // HYPNOSIS + {CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, CONTEST_CATEGORY_BEAUTY, 0, {COMBO_STARTER_CALM_MIND, 0, 0, 0}}, // MEDITATE + {CONTEST_EFFECT_NEXT_APPEAL_EARLIER, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_DOUBLE_TEAM, 0, 0, 0}}, // AGILITY + {CONTEST_EFFECT_NEXT_APPEAL_EARLIER, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_DOUBLE_TEAM, 0, 0, 0}}, // QUICK_ATTACK + {CONTEST_EFFECT_REPETITION_NOT_BORING, CONTEST_CATEGORY_COOL, COMBO_STARTER_RAGE, {0, 0, 0, 0}}, // RAGE + {CONTEST_EFFECT_AVOID_STARTLE, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_DOUBLE_TEAM, COMBO_STARTER_PSYCHIC, COMBO_STARTER_KINESIS, COMBO_STARTER_CONFUSION}}, // TELEPORT + {CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, // NIGHT_SHADE + {CONTEST_EFFECT_APPEAL_AS_GOOD_AS_PREV_ONE, CONTEST_CATEGORY_CUTE, 0, {0, 0, 0, 0}}, // MIMIC + {CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, // SCREECH + {CONTEST_EFFECT_AVOID_STARTLE_ONCE, CONTEST_CATEGORY_COOL, COMBO_STARTER_DOUBLE_TEAM, {0, 0, 0, 0}}, // DOUBLE_TEAM + {CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, // RECOVER + {CONTEST_EFFECT_AVOID_STARTLE_ONCE, CONTEST_CATEGORY_TOUGH, COMBO_STARTER_HARDEN, {0, 0, 0, 0}}, // HARDEN + {CONTEST_EFFECT_AVOID_STARTLE_ONCE, CONTEST_CATEGORY_CUTE, 0, {0, 0, 0, 0}}, // MINIMIZE + {CONTEST_EFFECT_SHIFT_JUDGE_ATTENTION, CONTEST_CATEGORY_SMART, 0, {COMBO_STARTER_SMOG, 0, 0, 0}}, // SMOKESCREEN + {CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, // CONFUSE_RAY + {CONTEST_EFFECT_AVOID_STARTLE, CONTEST_CATEGORY_CUTE, 0, {COMBO_STARTER_RAIN_DANCE, 0, 0, 0}}, // WITHDRAW + {CONTEST_EFFECT_AVOID_STARTLE_ONCE, CONTEST_CATEGORY_CUTE, COMBO_STARTER_DEFENSE_CURL, {0, 0, 0, 0}}, // DEFENSE_CURL + {CONTEST_EFFECT_AVOID_STARTLE, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, // BARRIER + {CONTEST_EFFECT_AVOID_STARTLE, CONTEST_CATEGORY_BEAUTY, 0, {COMBO_STARTER_CALM_MIND, 0, 0, 0}}, // LIGHT_SCREEN + {CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS, CONTEST_CATEGORY_BEAUTY, 0, {0, 0, 0, 0}}, // HAZE + {CONTEST_EFFECT_AVOID_STARTLE, CONTEST_CATEGORY_SMART, 0, {COMBO_STARTER_CALM_MIND, 0, 0, 0}}, // REFLECT + {CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, CONTEST_CATEGORY_COOL, COMBO_STARTER_FOCUS_ENERGY, {0, 0, 0, 0}}, // FOCUS_ENERGY + {CONTEST_EFFECT_AVOID_STARTLE, CONTEST_CATEGORY_TOUGH, 0, {0, 0, 0, 0}}, // BIDE + {CONTEST_EFFECT_REPETITION_NOT_BORING, CONTEST_CATEGORY_CUTE, 0, {0, 0, 0, 0}}, // METRONOME + {CONTEST_EFFECT_APPEAL_AS_GOOD_AS_PREV_ONE, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, // MIRROR_MOVE + {CONTEST_EFFECT_GREAT_APPEAL_BUT_NO_MORE_MOVES, CONTEST_CATEGORY_BEAUTY, 0, {0, 0, 0, 0}}, // SELF_DESTRUCT + {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_SOFT_BOILED, 0, 0, 0}}, // EGG_BOMB + {CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, CONTEST_CATEGORY_TOUGH, 0, {0, 0, 0, 0}}, // LICK + {CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, CONTEST_CATEGORY_TOUGH, COMBO_STARTER_SMOG, {0, 0, 0, 0}}, // SMOG + {CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, CONTEST_CATEGORY_TOUGH, COMBO_STARTER_SLUDGE, {COMBO_STARTER_SLUDGE_BOMB, 0, 0, 0}}, // SLUDGE + {CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION, CONTEST_CATEGORY_TOUGH, COMBO_STARTER_BONE_CLUB, {COMBO_STARTER_BONEMERANG, COMBO_STARTER_BONE_RUSH, 0, 0}}, // BONE_CLUB + {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_BEAUTY, 0, {COMBO_STARTER_SUNNY_DAY, 0, 0, 0}}, // FIRE_BLAST + {CONTEST_EFFECT_BETTER_IF_LAST, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_RAIN_DANCE, 0, 0, 0}}, // WATERFALL + {CONTEST_EFFECT_DONT_EXCITE_AUDIENCE, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_RAIN_DANCE, 0, 0, 0}}, // CLAMP + {CONTEST_EFFECT_BETTER_IF_FIRST, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, // SWIFT + {CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, CONTEST_CATEGORY_TOUGH, 0, {0, 0, 0, 0}}, // SKULL_BASH + {CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, // SPIKE_CANNON + {CONTEST_EFFECT_STARTLE_PREV_MON, CONTEST_CATEGORY_TOUGH, 0, {0, 0, 0, 0}}, // CONSTRICT + {CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, CONTEST_CATEGORY_CUTE, 0, {0, 0, 0, 0}}, // AMNESIA + {CONTEST_EFFECT_DONT_EXCITE_AUDIENCE, CONTEST_CATEGORY_SMART, COMBO_STARTER_KINESIS, {COMBO_STARTER_PSYCHIC, COMBO_STARTER_CONFUSION, 0, 0}}, // KINESIS + {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_BEAUTY, COMBO_STARTER_SOFT_BOILED, {0, 0, 0, 0}}, // SOFT_BOILED + {CONTEST_EFFECT_USER_MORE_EASILY_STARTLED, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_MIND_READER, 0, 0, 0}}, // HI_JUMP_KICK + {CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_LEER, 0, 0, 0}}, // GLARE + {CONTEST_EFFECT_STARTLE_PREV_MONS, CONTEST_CATEGORY_SMART, 0, {COMBO_STARTER_HYPNOSIS, COMBO_STARTER_CALM_MIND, 0, 0}}, // DREAM_EATER + {CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, // POISON_GAS + {CONTEST_EFFECT_BETTER_IF_SAME_TYPE, CONTEST_CATEGORY_TOUGH, 0, {0, 0, 0, 0}}, // BARRAGE + {CONTEST_EFFECT_STARTLE_PREV_MON, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, // LEECH_LIFE + {CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, CONTEST_CATEGORY_BEAUTY, 0, {0, 0, 0, 0}}, // LOVELY_KISS + {CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, // SKY_ATTACK + {CONTEST_EFFECT_REPETITION_NOT_BORING, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, // TRANSFORM + {CONTEST_EFFECT_STARTLE_PREV_MONS, CONTEST_CATEGORY_CUTE, 0, {COMBO_STARTER_RAIN_DANCE, 0, 0, 0}}, // BUBBLE + {CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, // DIZZY_PUNCH + {CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, CONTEST_CATEGORY_BEAUTY, 0, {0, 0, 0, 0}}, // SPORE + {CONTEST_EFFECT_SHIFT_JUDGE_ATTENTION, CONTEST_CATEGORY_BEAUTY, 0, {0, 0, 0, 0}}, // FLASH + {CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS, CONTEST_CATEGORY_SMART, 0, {COMBO_STARTER_CALM_MIND, 0, 0, 0}}, // PSYWAVE + {CONTEST_EFFECT_BETTER_IF_LAST, CONTEST_CATEGORY_CUTE, 0, {0, 0, 0, 0}}, // SPLASH + {CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, CONTEST_CATEGORY_TOUGH, 0, {0, 0, 0, 0}}, // ACID_ARMOR + {CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_RAIN_DANCE, COMBO_STARTER_SWORDS_DANCE, 0, 0}}, // CRABHAMMER + {CONTEST_EFFECT_GREAT_APPEAL_BUT_NO_MORE_MOVES, CONTEST_CATEGORY_BEAUTY, 0, {0, 0, 0, 0}}, // EXPLOSION + {CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_SCRATCH, 0, 0, 0}}, // FURY_SWIPES + {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_TOUGH, COMBO_STARTER_BONEMERANG, {COMBO_STARTER_BONE_CLUB, COMBO_STARTER_BONE_RUSH, 0, 0}}, // BONEMERANG + {CONTEST_EFFECT_AVOID_STARTLE_ONCE, CONTEST_CATEGORY_CUTE, COMBO_STARTER_REST, {COMBO_STARTER_BELLY_DRUM, COMBO_STARTER_CHARM, COMBO_STARTER_YAWN, 0}}, // REST + {CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_ROCK_THROW, 0, 0, 0}}, // ROCK_SLIDE + {CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, // HYPER_FANG + {CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, CONTEST_CATEGORY_CUTE, 0, {0, 0, 0, 0}}, // SHARPEN + {CONTEST_EFFECT_BETTER_IF_SAME_TYPE, CONTEST_CATEGORY_BEAUTY, 0, {0, 0, 0, 0}}, // CONVERSION + {CONTEST_EFFECT_STARTLE_PREV_MONS, CONTEST_CATEGORY_BEAUTY, 0, {COMBO_STARTER_LOCK_ON, 0, 0, 0}}, // TRI_ATTACK + {CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_SCARY_FACE, 0, 0, 0}}, // SUPER_FANG + {CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_SWORDS_DANCE, COMBO_STARTER_SCRATCH, 0, 0}}, // SLASH + {CONTEST_EFFECT_AVOID_STARTLE_ONCE, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, // SUBSTITUTE + {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, // STRUGGLE + {CONTEST_EFFECT_APPEAL_AS_GOOD_AS_PREV_ONE, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, // SKETCH + {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_FOCUS_ENERGY, 0, 0, 0}}, // TRIPLE_KICK + {CONTEST_EFFECT_APPEAL_AS_GOOD_AS_PREV_ONES, CONTEST_CATEGORY_TOUGH, 0, {0, 0, 0, 0}}, // THIEF + {CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS, CONTEST_CATEGORY_SMART, 0, {COMBO_STARTER_STRING_SHOT, 0, 0, 0}}, // SPIDER_WEB + {CONTEST_EFFECT_DONT_EXCITE_AUDIENCE, CONTEST_CATEGORY_SMART, COMBO_STARTER_MIND_READER, {0, 0, 0, 0}}, // MIND_READER + {CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, CONTEST_CATEGORY_SMART, 0, {COMBO_STARTER_HYPNOSIS, 0, 0, 0}}, // NIGHTMARE + {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_BEAUTY, 0, {COMBO_STARTER_SUNNY_DAY, 0, 0, 0}}, // FLAME_WHEEL + {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_CUTE, 0, {COMBO_STARTER_REST, 0, 0, 0}}, // SNORE + {CONTEST_EFFECT_NEXT_APPEAL_LATER, CONTEST_CATEGORY_TOUGH, COMBO_STARTER_CURSE, {0, 0, 0, 0}}, // CURSE + {CONTEST_EFFECT_BETTER_WHEN_LATER, CONTEST_CATEGORY_CUTE, 0, {COMBO_STARTER_ENDURE, 0, 0, 0}}, // FLAIL + {CONTEST_EFFECT_BETTER_IF_SAME_TYPE, CONTEST_CATEGORY_BEAUTY, 0, {0, 0, 0, 0}}, // CONVERSION_2 + {CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, // AEROBLAST + {CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION, CONTEST_CATEGORY_BEAUTY, 0, {0, 0, 0, 0}}, // COTTON_SPORE + {CONTEST_EFFECT_BETTER_IF_LAST, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_ENDURE, 0, 0, 0}}, // REVERSAL + {CONTEST_EFFECT_BETTER_WHEN_LATER, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_CURSE, 0, 0, 0}}, // SPITE + {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_BEAUTY, COMBO_STARTER_POWDER_SNOW, {COMBO_STARTER_HAIL, 0, 0, 0}}, // POWDER_SNOW + {CONTEST_EFFECT_AVOID_STARTLE, CONTEST_CATEGORY_CUTE, 0, {COMBO_STARTER_HARDEN, 0, 0, 0}}, // PROTECT + {CONTEST_EFFECT_NEXT_APPEAL_EARLIER, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, // MACH_PUNCH + {CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION, CONTEST_CATEGORY_TOUGH, COMBO_STARTER_SCARY_FACE, {COMBO_STARTER_RAGE, COMBO_STARTER_LEER, 0, 0}}, // SCARY_FACE + {CONTEST_EFFECT_BETTER_IF_FIRST, CONTEST_CATEGORY_SMART, 0, {COMBO_STARTER_FAKE_OUT, COMBO_STARTER_LEER, COMBO_STARTER_POUND, 0}}, // FAINT_ATTACK + {CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS, CONTEST_CATEGORY_CUTE, 0, {COMBO_STARTER_CHARM, 0, 0, 0}}, // SWEET_KISS + {CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, CONTEST_CATEGORY_CUTE, COMBO_STARTER_BELLY_DRUM, {0, 0, 0, 0}}, // BELLY_DRUM + {CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION, CONTEST_CATEGORY_TOUGH, COMBO_STARTER_SLUDGE_BOMB, {COMBO_STARTER_SLUDGE, 0, 0, 0}}, // SLUDGE_BOMB + {CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION, CONTEST_CATEGORY_CUTE, COMBO_STARTER_MUD_SLAP, {COMBO_STARTER_SAND_ATTACK, COMBO_STARTER_MUD_SPORT, COMBO_STARTER_SANDSTORM, 0}}, // MUD_SLAP + {CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_RAIN_DANCE, COMBO_STARTER_LOCK_ON, 0, 0}}, // OCTAZOOKA + {CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, // SPIKES + {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_LOCK_ON, 0, 0, 0}}, // ZAP_CANNON + {CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, // FORESIGHT + {CONTEST_EFFECT_GREAT_APPEAL_BUT_NO_MORE_MOVES, CONTEST_CATEGORY_SMART, 0, {COMBO_STARTER_MEAN_LOOK, COMBO_STARTER_CURSE, COMBO_STARTER_ENDURE, 0}}, // DESTINY_BOND + {CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS, CONTEST_CATEGORY_BEAUTY, 0, {COMBO_STARTER_MEAN_LOOK, COMBO_STARTER_SING, 0, 0}}, // PERISH_SONG + {CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, CONTEST_CATEGORY_BEAUTY, 0, {0, 0, 0, 0}}, // ICY_WIND + {CONTEST_EFFECT_AVOID_STARTLE_ONCE, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_TAUNT, 0, 0, 0}}, // DETECT + {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_TOUGH, COMBO_STARTER_BONE_RUSH, {COMBO_STARTER_FOCUS_ENERGY, COMBO_STARTER_BONE_CLUB, COMBO_STARTER_BONEMERANG, 0}}, // BONE_RUSH + {CONTEST_EFFECT_DONT_EXCITE_AUDIENCE, CONTEST_CATEGORY_SMART, COMBO_STARTER_LOCK_ON, {0, 0, 0, 0}}, // LOCK_ON + {CONTEST_EFFECT_JAMS_OTHERS_BUT_MISS_ONE_TURN, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, // OUTRAGE + {CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER, CONTEST_CATEGORY_TOUGH, COMBO_STARTER_SANDSTORM, {0, 0, 0, 0}}, // SANDSTORM + {CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION, CONTEST_CATEGORY_SMART, 0, {COMBO_STARTER_GROWTH, 0, 0, 0}}, // GIGA_DRAIN + {CONTEST_EFFECT_AVOID_STARTLE_ONCE, CONTEST_CATEGORY_TOUGH, COMBO_STARTER_ENDURE, {0, 0, 0, 0}}, // ENDURE + {CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL, CONTEST_CATEGORY_CUTE, COMBO_STARTER_CHARM, {0, 0, 0, 0}}, // CHARM + {CONTEST_EFFECT_DONT_EXCITE_AUDIENCE, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_DEFENSE_CURL, COMBO_STARTER_HARDEN, 0, 0}}, // ROLLOUT + {CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_SWORDS_DANCE, 0, 0, 0}}, // FALSE_SWIPE + {CONTEST_EFFECT_BETTER_IF_FIRST, CONTEST_CATEGORY_CUTE, 0, {0, 0, 0, 0}}, // SWAGGER + {CONTEST_EFFECT_BETTER_IF_SAME_TYPE, CONTEST_CATEGORY_CUTE, 0, {0, 0, 0, 0}}, // MILK_DRINK + {CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_CHARGE, 0, 0, 0}}, // SPARK + {CONTEST_EFFECT_REPETITION_NOT_BORING, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_SWORDS_DANCE, 0, 0, 0}}, // FURY_CUTTER + {CONTEST_EFFECT_BETTER_IF_SAME_TYPE, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, // STEEL_WING + {CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS, CONTEST_CATEGORY_BEAUTY, COMBO_STARTER_MEAN_LOOK, {COMBO_STARTER_CURSE, 0, 0, 0}}, // MEAN_LOOK + {CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS, CONTEST_CATEGORY_CUTE, 0, {0, 0, 0, 0}}, // ATTRACT + {CONTEST_EFFECT_REPETITION_NOT_BORING, CONTEST_CATEGORY_CUTE, 0, {COMBO_STARTER_REST, 0, 0, 0}}, // SLEEP_TALK + {CONTEST_EFFECT_BETTER_IF_LAST, CONTEST_CATEGORY_BEAUTY, 0, {0, 0, 0, 0}}, // HEAL_BELL + {CONTEST_EFFECT_EXCITE_AUDIENCE_IN_ANY_CONTEST, CONTEST_CATEGORY_CUTE, 0, {0, 0, 0, 0}}, // RETURN + {CONTEST_EFFECT_REPETITION_NOT_BORING, CONTEST_CATEGORY_CUTE, 0, {0, 0, 0, 0}}, // PRESENT + {CONTEST_EFFECT_EXCITE_AUDIENCE_IN_ANY_CONTEST, CONTEST_CATEGORY_CUTE, 0, {0, 0, 0, 0}}, // FRUSTRATION + {CONTEST_EFFECT_AVOID_STARTLE, CONTEST_CATEGORY_BEAUTY, 0, {0, 0, 0, 0}}, // SAFEGUARD + {CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, CONTEST_CATEGORY_SMART, 0, {COMBO_STARTER_ENDURE, 0, 0, 0}}, // PAIN_SPLIT + {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_BEAUTY, 0, {COMBO_STARTER_SUNNY_DAY, 0, 0, 0}}, // SACRED_FIRE + {CONTEST_EFFECT_BETTER_WHEN_AUDIENCE_EXCITED, CONTEST_CATEGORY_TOUGH, 0, {0, 0, 0, 0}}, // MAGNITUDE + {CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_FOCUS_ENERGY, COMBO_STARTER_MIND_READER, 0, 0}}, // DYNAMIC_PUNCH + {CONTEST_EFFECT_BETTER_IF_SAME_TYPE, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, // MEGAHORN + {CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, CONTEST_CATEGORY_COOL, COMBO_STARTER_DRAGON_BREATH, {COMBO_STARTER_DRAGON_RAGE, COMBO_STARTER_DRAGON_DANCE, 0, 0}}, // DRAGON_BREATH + {CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS, CONTEST_CATEGORY_CUTE, 0, {0, 0, 0, 0}}, // BATON_PASS + {CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS, CONTEST_CATEGORY_CUTE, 0, {0, 0, 0, 0}}, // ENCORE + {CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, // PURSUIT + {CONTEST_EFFECT_AVOID_STARTLE_ONCE, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, // RAPID_SPIN + {CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, CONTEST_CATEGORY_CUTE, COMBO_STARTER_SWEET_SCENT, {0, 0, 0, 0}}, // SWEET_SCENT + {CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, // IRON_TAIL + {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_METAL_SOUND, 0, 0, 0}}, // METAL_CLAW + {CONTEST_EFFECT_NEXT_APPEAL_LATER, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_FAKE_OUT, 0, 0, 0}}, // VITAL_THROW + {CONTEST_EFFECT_QUALITY_DEPENDS_ON_TIMING, CONTEST_CATEGORY_BEAUTY, 0, {COMBO_STARTER_SUNNY_DAY, 0, 0, 0}}, // MORNING_SUN + {CONTEST_EFFECT_QUALITY_DEPENDS_ON_TIMING, CONTEST_CATEGORY_SMART, 0, {COMBO_STARTER_SUNNY_DAY, 0, 0, 0}}, // SYNTHESIS + {CONTEST_EFFECT_QUALITY_DEPENDS_ON_TIMING, CONTEST_CATEGORY_BEAUTY, 0, {COMBO_STARTER_SUNNY_DAY, 0, 0, 0}}, // MOONLIGHT + {CONTEST_EFFECT_REPETITION_NOT_BORING, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, // HIDDEN_POWER + {CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_FOCUS_ENERGY, 0, 0, 0}}, // CROSS_CHOP + {CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, // TWISTER + {CONTEST_EFFECT_BETTER_WHEN_AUDIENCE_EXCITED, CONTEST_CATEGORY_TOUGH, COMBO_STARTER_RAIN_DANCE, {0, 0, 0, 0}}, // RAIN_DANCE + {CONTEST_EFFECT_BETTER_WHEN_AUDIENCE_EXCITED, CONTEST_CATEGORY_BEAUTY, COMBO_STARTER_SUNNY_DAY, {0, 0, 0, 0}}, // SUNNY_DAY + {CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_SCARY_FACE, 0, 0, 0}}, // CRUNCH + {CONTEST_EFFECT_AVOID_STARTLE_ONCE, CONTEST_CATEGORY_BEAUTY, 0, {COMBO_STARTER_TAUNT, 0, 0, 0}}, // MIRROR_COAT + {CONTEST_EFFECT_BETTER_IF_SAME_TYPE, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, // PSYCH_UP + {CONTEST_EFFECT_NEXT_APPEAL_EARLIER, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, // EXTREME_SPEED + {CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, CONTEST_CATEGORY_TOUGH, 0, {0, 0, 0, 0}}, // ANCIENT_POWER + {CONTEST_EFFECT_SHIFT_JUDGE_ATTENTION, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, // SHADOW_BALL + {CONTEST_EFFECT_DONT_EXCITE_AUDIENCE, CONTEST_CATEGORY_SMART, 0, {COMBO_STARTER_PSYCHIC, COMBO_STARTER_KINESIS, COMBO_STARTER_CONFUSION, COMBO_STARTER_CALM_MIND}}, // FUTURE_SIGHT + {CONTEST_EFFECT_BETTER_WITH_GOOD_CONDITION, CONTEST_CATEGORY_TOUGH, 0, {0, 0, 0, 0}}, // ROCK_SMASH + {CONTEST_EFFECT_DONT_EXCITE_AUDIENCE, CONTEST_CATEGORY_BEAUTY, 0, {COMBO_STARTER_RAIN_DANCE, 0, 0, 0}}, // WHIRLPOOL + {CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, // BEAT_UP + {CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL, CONTEST_CATEGORY_CUTE, COMBO_STARTER_FAKE_OUT, {0, 0, 0, 0}}, // FAKE_OUT + {CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER, CONTEST_CATEGORY_CUTE, 0, {0, 0, 0, 0}}, // UPROAR + {CONTEST_EFFECT_AVOID_STARTLE_ONCE, CONTEST_CATEGORY_TOUGH, COMBO_STARTER_STOCKPILE, {0, 0, 0, 0}}, // STOCKPILE + {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_STOCKPILE, 0, 0, 0}}, // SPIT_UP + {CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_STOCKPILE, 0, 0, 0}}, // SWALLOW + {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_BEAUTY, 0, {COMBO_STARTER_SUNNY_DAY, 0, 0, 0}}, // HEAT_WAVE + {CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, CONTEST_CATEGORY_BEAUTY, COMBO_STARTER_HAIL, {0, 0, 0, 0}}, // HAIL + {CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS, CONTEST_CATEGORY_TOUGH, 0, {0, 0, 0, 0}}, // TORMENT + {CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS, CONTEST_CATEGORY_SMART, 0, {COMBO_STARTER_CHARM, 0, 0, 0}}, // FLATTER + {CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, CONTEST_CATEGORY_BEAUTY, 0, {COMBO_STARTER_SUNNY_DAY, 0, 0, 0}}, // WILL_O_WISP + {CONTEST_EFFECT_GREAT_APPEAL_BUT_NO_MORE_MOVES, CONTEST_CATEGORY_TOUGH, 0, {0, 0, 0, 0}}, // MEMENTO + {CONTEST_EFFECT_BETTER_IF_LAST, CONTEST_CATEGORY_CUTE, 0, {0, 0, 0, 0}}, // FACADE + {CONTEST_EFFECT_NEXT_APPEAL_LATER, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_FOCUS_ENERGY, 0, 0, 0}}, // FOCUS_PUNCH + {CONTEST_EFFECT_STARTLE_PREV_MON, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, // SMELLING_SALT + {CONTEST_EFFECT_DONT_EXCITE_AUDIENCE, CONTEST_CATEGORY_CUTE, 0, {0, 0, 0, 0}}, // FOLLOW_ME + {CONTEST_EFFECT_BETTER_WHEN_AUDIENCE_EXCITED, CONTEST_CATEGORY_BEAUTY, 0, {0, 0, 0, 0}}, // NATURE_POWER + {CONTEST_EFFECT_BETTER_IF_SAME_TYPE, CONTEST_CATEGORY_SMART, COMBO_STARTER_CHARGE, {0, 0, 0, 0}}, // CHARGE + {CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS, CONTEST_CATEGORY_SMART, COMBO_STARTER_TAUNT, {0, 0, 0, 0}}, // TAUNT + {CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, // HELPING_HAND + {CONTEST_EFFECT_BETTER_IF_SAME_TYPE, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, // TRICK + {CONTEST_EFFECT_APPEAL_AS_GOOD_AS_PREV_ONES, CONTEST_CATEGORY_CUTE, 0, {0, 0, 0, 0}}, // ROLE_PLAY + {CONTEST_EFFECT_DONT_EXCITE_AUDIENCE, CONTEST_CATEGORY_CUTE, 0, {0, 0, 0, 0}}, // WISH + {CONTEST_EFFECT_QUALITY_DEPENDS_ON_TIMING, CONTEST_CATEGORY_CUTE, 0, {0, 0, 0, 0}}, // ASSIST + {CONTEST_EFFECT_AVOID_STARTLE, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, // INGRAIN + {CONTEST_EFFECT_USER_MORE_EASILY_STARTLED, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_LOCK_ON, 0, 0, 0}}, // SUPERPOWER + {CONTEST_EFFECT_AVOID_STARTLE, CONTEST_CATEGORY_BEAUTY, 0, {0, 0, 0, 0}}, // MAGIC_COAT + {CONTEST_EFFECT_REPETITION_NOT_BORING, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, // RECYCLE + {CONTEST_EFFECT_NEXT_APPEAL_LATER, CONTEST_CATEGORY_TOUGH, 0, {0, 0, 0, 0}}, // REVENGE + {CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_FOCUS_ENERGY, 0, 0, 0}}, // BRICK_BREAK + {CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS, CONTEST_CATEGORY_CUTE, COMBO_STARTER_YAWN, {0, 0, 0, 0}}, // YAWN + {CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, CONTEST_CATEGORY_SMART, 0, {COMBO_STARTER_FAKE_OUT, 0, 0, 0}}, // KNOCK_OFF + {CONTEST_EFFECT_BETTER_IF_LAST, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_ENDURE, 0, 0, 0}}, // ENDEAVOR + {CONTEST_EFFECT_BETTER_WHEN_LATER, CONTEST_CATEGORY_BEAUTY, 0, {COMBO_STARTER_ENDURE, COMBO_STARTER_EARTHQUAKE, COMBO_STARTER_SUNNY_DAY, 0}}, // ERUPTION + {CONTEST_EFFECT_APPEAL_AS_GOOD_AS_PREV_ONES, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, // SKILL_SWAP + {CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, // IMPRISON + {CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, CONTEST_CATEGORY_CUTE, 0, {COMBO_STARTER_WATER_SPORT, COMBO_STARTER_SING, 0, 0}}, // REFRESH + {CONTEST_EFFECT_BETTER_WHEN_LATER, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_CURSE, 0, 0, 0}}, // GRUDGE + {CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, // SNATCH + {CONTEST_EFFECT_BETTER_WITH_GOOD_CONDITION, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, // SECRET_POWER + {CONTEST_EFFECT_AVOID_STARTLE_ONCE, CONTEST_CATEGORY_BEAUTY, COMBO_STARTER_DIVE, {COMBO_STARTER_RAIN_DANCE, COMBO_STARTER_SURF, 0, 0}}, // DIVE + {CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_FOCUS_ENERGY, COMBO_STARTER_FAKE_OUT, 0, 0}}, // ARM_THRUST + {CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, // CAMOUFLAGE + {CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, CONTEST_CATEGORY_BEAUTY, 0, {0, 0, 0, 0}}, // TAIL_GLOW + {CONTEST_EFFECT_STARTLE_PREV_MON, CONTEST_CATEGORY_SMART, 0, {COMBO_STARTER_CALM_MIND, 0, 0, 0}}, // LUSTER_PURGE + {CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, CONTEST_CATEGORY_SMART, 0, {COMBO_STARTER_CALM_MIND, 0, 0, 0}}, // MIST_BALL + {CONTEST_EFFECT_BETTER_IF_LAST, CONTEST_CATEGORY_BEAUTY, 0, {0, 0, 0, 0}}, // FEATHER_DANCE + {CONTEST_EFFECT_JAMS_OTHERS_BUT_MISS_ONE_TURN, CONTEST_CATEGORY_CUTE, 0, {0, 0, 0, 0}}, // TEETER_DANCE + {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_BEAUTY, 0, {COMBO_STARTER_SUNNY_DAY, 0, 0, 0}}, // BLAZE_KICK + {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_CUTE, COMBO_STARTER_MUD_SPORT, {COMBO_STARTER_MUD_SLAP, COMBO_STARTER_WATER_SPORT, 0, 0}}, // MUD_SPORT + {CONTEST_EFFECT_DONT_EXCITE_AUDIENCE, CONTEST_CATEGORY_BEAUTY, 0, {0, 0, 0, 0}}, // ICE_BALL + {CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, // NEEDLE_ARM + {CONTEST_EFFECT_BETTER_WHEN_LATER, CONTEST_CATEGORY_CUTE, 0, {COMBO_STARTER_YAWN, 0, 0, 0}}, // SLACK_OFF + {CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, // HYPER_VOICE + {CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, // POISON_FANG + {CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_SWORDS_DANCE, 0, 0, 0}}, // CRUSH_CLAW + {CONTEST_EFFECT_JAMS_OTHERS_BUT_MISS_ONE_TURN, CONTEST_CATEGORY_BEAUTY, 0, {COMBO_STARTER_SUNNY_DAY, 0, 0, 0}}, // BLAST_BURN + {CONTEST_EFFECT_JAMS_OTHERS_BUT_MISS_ONE_TURN, CONTEST_CATEGORY_BEAUTY, 0, {COMBO_STARTER_RAIN_DANCE, 0, 0, 0}}, // HYDRO_CANNON + {CONTEST_EFFECT_BETTER_IF_SAME_TYPE, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, // METEOR_MASH + {CONTEST_EFFECT_STARTLE_PREV_MON, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, // ASTONISH + {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_SMART, 0, {COMBO_STARTER_RAIN_DANCE, COMBO_STARTER_SUNNY_DAY, COMBO_STARTER_HAIL, COMBO_STARTER_SANDSTORM}}, // WEATHER_BALL + {CONTEST_EFFECT_BETTER_IF_LAST, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, // AROMATHERAPY + {CONTEST_EFFECT_BETTER_IF_LAST, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, // FAKE_TEARS + {CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, // AIR_CUTTER + {CONTEST_EFFECT_USER_MORE_EASILY_STARTLED, CONTEST_CATEGORY_BEAUTY, 0, {COMBO_STARTER_SUNNY_DAY, 0, 0, 0}}, // OVERHEAT + {CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, // ODOR_SLEUTH + {CONTEST_EFFECT_DONT_EXCITE_AUDIENCE, CONTEST_CATEGORY_SMART, 0, {COMBO_STARTER_ROCK_THROW, 0, 0, 0}}, // ROCK_TOMB + {CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, CONTEST_CATEGORY_BEAUTY, 0, {0, 0, 0, 0}}, // SILVER_WIND + {CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, CONTEST_CATEGORY_SMART, COMBO_STARTER_METAL_SOUND, {0, 0, 0, 0}}, // METAL_SOUND + {CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, // GRASS_WHISTLE + {CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS, CONTEST_CATEGORY_CUTE, 0, {0, 0, 0, 0}}, // TICKLE + {CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, // COSMIC_POWER + {CONTEST_EFFECT_BETTER_WHEN_LATER, CONTEST_CATEGORY_BEAUTY, 0, {COMBO_STARTER_RAIN_DANCE, 0, 0, 0}}, // WATER_SPOUT + {CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER, CONTEST_CATEGORY_BEAUTY, 0, {0, 0, 0, 0}}, // SIGNAL_BEAM + {CONTEST_EFFECT_BETTER_IF_FIRST, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, // SHADOW_PUNCH + {CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, // EXTRASENSORY + {CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_FOCUS_ENERGY, 0, 0, 0}}, // SKY_UPPERCUT + {CONTEST_EFFECT_DONT_EXCITE_AUDIENCE, CONTEST_CATEGORY_SMART, 0, {COMBO_STARTER_SANDSTORM, 0, 0, 0}}, // SAND_TOMB + {CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS, CONTEST_CATEGORY_BEAUTY, 0, {0, 0, 0, 0}}, // SHEER_COLD + {CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_RAIN_DANCE, 0, 0, 0}}, // MUDDY_WATER + {CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_GROWTH, 0, 0, 0}}, // BULLET_SEED + {CONTEST_EFFECT_BETTER_IF_FIRST, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, // AERIAL_ACE + {CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL, CONTEST_CATEGORY_BEAUTY, 0, {0, 0, 0, 0}}, // ICICLE_SPEAR + {CONTEST_EFFECT_AVOID_STARTLE, CONTEST_CATEGORY_TOUGH, 0, {0, 0, 0, 0}}, // IRON_DEFENSE + {CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS, CONTEST_CATEGORY_CUTE, 0, {0, 0, 0, 0}}, // BLOCK + {CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, // HOWL + {CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_DRAGON_BREATH, COMBO_STARTER_DRAGON_RAGE, COMBO_STARTER_DRAGON_DANCE, 0}}, // DRAGON_CLAW + {CONTEST_EFFECT_JAMS_OTHERS_BUT_MISS_ONE_TURN, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_GROWTH, 0, 0, 0}}, // FRENZY_PLANT + {CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, CONTEST_CATEGORY_BEAUTY, 0, {0, 0, 0, 0}}, // BULK_UP + {CONTEST_EFFECT_AVOID_STARTLE, CONTEST_CATEGORY_CUTE, 0, {0, 0, 0, 0}}, // BOUNCE + {CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, CONTEST_CATEGORY_TOUGH, 0, {0, 0, 0, 0}}, // MUD_SHOT + {CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, // POISON_TAIL + {CONTEST_EFFECT_APPEAL_AS_GOOD_AS_PREV_ONES, CONTEST_CATEGORY_CUTE, 0, {0, 0, 0, 0}}, // COVET + {CONTEST_EFFECT_USER_MORE_EASILY_STARTLED, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_CHARGE, 0, 0, 0}}, // VOLT_TACKLE + {CONTEST_EFFECT_BETTER_IF_FIRST, CONTEST_CATEGORY_BEAUTY, 0, {COMBO_STARTER_GROWTH, 0, 0, 0}}, // MAGICAL_LEAF + {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_CUTE, COMBO_STARTER_WATER_SPORT, {COMBO_STARTER_RAIN_DANCE, COMBO_STARTER_MUD_SPORT, 0, 0}}, // WATER_SPORT + {CONTEST_EFFECT_AVOID_STARTLE_ONCE, CONTEST_CATEGORY_SMART, COMBO_STARTER_CALM_MIND, {0, 0, 0, 0}}, // CALM_MIND + {CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, // LEAF_BLADE + {CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, CONTEST_CATEGORY_COOL, COMBO_STARTER_DRAGON_DANCE, {COMBO_STARTER_DRAGON_RAGE, COMBO_STARTER_DRAGON_BREATH, 0, 0}}, // DRAGON_DANCE + {CONTEST_EFFECT_BETTER_IF_SAME_TYPE, CONTEST_CATEGORY_TOUGH, 0, {0, 0, 0, 0}}, // ROCK_BLAST + {CONTEST_EFFECT_BETTER_IF_FIRST, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_CHARGE, 0, 0, 0}}, // SHOCK_WAVE + {CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER, CONTEST_CATEGORY_BEAUTY, 0, {COMBO_STARTER_RAIN_DANCE, 0, 0, 0}}, // WATER_PULSE + {CONTEST_EFFECT_DONT_EXCITE_AUDIENCE, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, // DOOM_DESIRE + {CONTEST_EFFECT_USER_MORE_EASILY_STARTLED, CONTEST_CATEGORY_SMART, 0, {COMBO_STARTER_CALM_MIND, 0, 0, 0}}, // PSYCHO_BOOST +}; + +const struct ContestEffect gContestEffects[] = +{ + {0, 40, 0}, // CONTEST_EFFECT_HIGHLY_APPEALING + {0, 60, 0}, // CONTEST_EFFECT_USER_MORE_EASILY_STARTLED + {0, 80, 0}, // CONTEST_EFFECT_GREAT_APPEAL_BUT_NO_MORE_MOVES + {0, 30, 0}, // CONTEST_EFFECT_REPETITION_NOT_BORING + {1, 20, 0}, // CONTEST_EFFECT_AVOID_STARTLE_ONCE + {1, 10, 0}, // CONTEST_EFFECT_AVOID_STARTLE + {1, 30, 0}, // CONTEST_EFFECT_AVOID_STARTLE_SLIGHTLY + {1, 30, 0}, // CONTEST_EFFECT_USER_LESS_EASILY_STARTLED + {2, 30, 20}, // CONTEST_EFFECT_STARTLE_FRONT_MON + {3, 30, 10}, // CONTEST_EFFECT_SLIGHTLY_STARTLE_PREV_MONS + {2, 20, 30}, // CONTEST_EFFECT_STARTLE_PREV_MON + {3, 20, 20}, // CONTEST_EFFECT_STARTLE_PREV_MONS + {2, 10, 40}, // CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON + {3, 10, 30}, // CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS + {2, 30, 20}, // CONTEST_EFFECT_STARTLE_PREV_MON_2 + {3, 30, 10}, // CONTEST_EFFECT_STARTLE_PREV_MONS_2 + {4, 30, 0}, // CONTEST_EFFECT_SHIFT_JUDGE_ATTENTION + {3, 20, 10}, // CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION + {3, 40, 40}, // CONTEST_EFFECT_JAMS_OTHERS_BUT_MISS_ONE_TURN + {3, 20, 10}, // CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL + {3, 20, 10}, // CONTEST_EFFECT_STARTLE_MONS_COOL_APPEAL + {3, 20, 10}, // CONTEST_EFFECT_STARTLE_MONS_BEAUTY_APPEAL + {3, 20, 10}, // CONTEST_EFFECT_STARTLE_MONS_CUTE_APPEAL + {3, 20, 10}, // CONTEST_EFFECT_STARTLE_MONS_SMART_APPEAL + {3, 20, 10}, // CONTEST_EFFECT_STARTLE_MONS_TOUGH_APPEAL + {4, 20, 0}, // CONTEST_EFFECT_MAKE_FOLLOWING_MON_NERVOUS + {4, 20, 0}, // CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS + {4, 30, 0}, // CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS + {3, 30, 10}, // CONTEST_EFFECT_BADLY_STARTLES_MONS_IN_GOOD_CONDITION + {5, 20, 0}, // CONTEST_EFFECT_BETTER_IF_FIRST + {5, 20, 0}, // CONTEST_EFFECT_BETTER_IF_LAST + {5, 10, 0}, // CONTEST_EFFECT_APPEAL_AS_GOOD_AS_PREV_ONES + {5, 10, 0}, // CONTEST_EFFECT_APPEAL_AS_GOOD_AS_PREV_ONE + {5, 10, 0}, // CONTEST_EFFECT_BETTER_WHEN_LATER + {5, 10, 0}, // CONTEST_EFFECT_QUALITY_DEPENDS_ON_TIMING + {5, 20, 0}, // CONTEST_EFFECT_BETTER_IF_SAME_TYPE + {5, 20, 0}, // CONTEST_EFFECT_BETTER_IF_DIFF_TYPE + {5, 30, 0}, // CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL + {5, 10, 0}, // CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS + {5, 10, 0}, // CONTEST_EFFECT_BETTER_WITH_GOOD_CONDITION + {6, 30, 0}, // CONTEST_EFFECT_NEXT_APPEAL_EARLIER + {6, 30, 0}, // CONTEST_EFFECT_NEXT_APPEAL_LATER + {6, 30, 0}, // CONTEST_EFFECT_MAKE_SCRAMBLING_TURN_ORDER_EASIER + {6, 30, 0}, // CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER + {5, 10, 0}, // CONTEST_EFFECT_EXCITE_AUDIENCE_IN_ANY_CONTEST + {3, 20, 10}, // CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS + {5, 10, 0}, // CONTEST_EFFECT_BETTER_WHEN_AUDIENCE_EXCITED + {4, 30, 0} // CONTEST_EFFECT_DONT_EXCITE_AUDIENCE +}; + +// A lookup table with TRUE for each combo starter ID and FALSE for ID 0, +// which means "not a combo starter move". +const bool8 gComboStarterLookupTable[] = +{ + FALSE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE +}; + +void (*const gContestEffectFuncs[])(void) = +{ + ContestEffect_HighlyAppealing, + ContestEffect_UserMoreEasilyStartled, + ContestEffect_GreatAppealButNoMoreMoves, + ContestEffect_RepetitionNotBoring, + ContestEffect_AvoidStartleOnce, + ContestEffect_AvoidStartle, + ContestEffect_AvoidStartleSlightly, + ContestEffect_UserLessEasilyStartled, + ContestEffect_StartleFrontMon, + ContestEffect_StartlePrevMons, + ContestEffect_StartleFrontMon, + ContestEffect_StartlePrevMons, + ContestEffect_StartleFrontMon, + ContestEffect_StartlePrevMons, + ContestEffect_StartlePrevMon2, + ContestEffect_StartlePrevMons2, + ContestEffect_ShiftJudgeAttention, + ContestEffect_StartleMonWithJudgesAttention, + ContestEffect_JamsOthersButMissOneTurn, + ContestEffect_StartleMonsSameTypeAppeal, + ContestEffect_StartleMonsCoolAppeal, + ContestEffect_StartleMonsBeautyAppeal, + ContestEffect_StartleMonsCuteAppeal, + ContestEffect_StartleMonsSmartAppeal, + ContestEffect_StartleMonsToughAppeal, + ContestEffect_MakeFollowingMonNervous, + ContestEffect_MakeFollowingMonsNervous, + ContestEffect_WorsenConditionOfPrevMons, + ContestEffect_BadlyStartlesMonsInGoodCondition, + ContestEffect_BetterIfFirst, + ContestEffect_BetterIfLast, + ContestEffect_AppealAsGoodAsPrevOnes, + ContestEffect_AppealAsGoodAsPrevOne, + ContestEffect_BetterWhenLater, + ContestEffect_QualityDependsOnTiming, + ContestEffect_BetterIfSameType, + ContestEffect_BetterIfDiffType, + ContestEffect_AffectedByPrevAppeal, + ContestEffect_ImproveConditionPreventNervousness, + ContestEffect_BetterWithGoodCondition, + ContestEffect_NextAppealEarlier, + ContestEffect_NextAppealLater, + ContestEffect_MakeScramblingTurnOrderEasier, + ContestEffect_ScrambleNextTurnOrder, + ContestEffect_ExciteAudienceInAnyContest, + ContestEffect_BadlyStartleMonsWithGoodAppeals, + ContestEffect_BetterWhenAudienceExcited, + ContestEffect_DontExciteAudience, +}; + +#endif // POKEEMERALD_CONTEST_MOVES_H From 6dac87abfd2bea0ddf126cdc1e9c31757c8fee36 Mon Sep 17 00:00:00 2001 From: Diegoisawesome Date: Sun, 12 Aug 2018 14:01:08 -0700 Subject: [PATCH 093/234] Cleanup and document learn_move --- asm/learn_move.s | 8 -- asm/pokenav.s | 2 +- include/learn_move.h | 2 +- include/pokenav.h | 1 + ld_script.txt | 1 - src/learn_move.c | 181 +++++++++++++++++++++---------------------- 6 files changed, 93 insertions(+), 102 deletions(-) delete mode 100644 asm/learn_move.s diff --git a/asm/learn_move.s b/asm/learn_move.s deleted file mode 100644 index 2428f2984b..0000000000 --- a/asm/learn_move.s +++ /dev/null @@ -1,8 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/pokenav.s b/asm/pokenav.s index c9fe787e0c..250eca0f27 100644 --- a/asm/pokenav.s +++ b/asm/pokenav.s @@ -22585,7 +22585,7 @@ sub_81D2ACC: @ 81D2ACC push {r7} sub sp, 0xC adds r4, r0, 0 - bl sub_816137C + bl ShowHideHearts movs r0, 0x1 movs r1, 0x11 bl FillWindowPixelBuffer diff --git a/include/learn_move.h b/include/learn_move.h index 2acc21cde2..542ae6a5af 100644 --- a/include/learn_move.h +++ b/include/learn_move.h @@ -2,6 +2,6 @@ #define GUARD_LEARN_MOVE_H void TeachMoveTutorMove(void); -void sub_816137C(s32); +void ShowHideHearts(s32); #endif //GUARD_LEARN_MOVE_H diff --git a/include/pokenav.h b/include/pokenav.h index dd3fd49051..b595e2be91 100644 --- a/include/pokenav.h +++ b/include/pokenav.h @@ -1,6 +1,7 @@ #ifndef GUARD_POKENAV_H #define GUARD_POKENAV_H #include "player_pc.h" +#include "list_menu.h" bool8 sub_81D5C18(void); bool8 sub_81D20BC(void *arg0); diff --git a/ld_script.txt b/ld_script.txt index 1bd90e19a0..5f9d356173 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -209,7 +209,6 @@ SECTIONS { src/fldeff_sweetscent.o(.text); asm/battle_anim_815A0D4.o(.text); src/learn_move.o(.text); - asm/learn_move.o(.text); src/fldeff_softboiled.o(.text); src/decoration_inventory.o(.text); src/roamer.o(.text); diff --git a/src/learn_move.c b/src/learn_move.c index 9058a3287f..e288a393dd 100644 --- a/src/learn_move.c +++ b/src/learn_move.c @@ -1,5 +1,6 @@ #include "global.h" #include "main.h" +#include "battle.h" #include "bg.h" #include "contest_effect.h" #include "data2.h" @@ -28,20 +29,18 @@ static EWRAM_DATA struct { u8 state; u8 spriteIds[16]; /*0x001*/ - u8 filler11; /*0x011*/ u16 movesToLearn[4]; /*0x012*/ u8 filler1A[0x44 - 0x1A]; /*0x01A*/ u8 partyMon; /*0x044*/ - u8 unk045; /*0x045*/ - u8 filler46[2]; /*0x046*/ - struct ListMenuItem menuItems[4]; /*0x048*/ - u8 filler68[0x110 - 0x68]; /*0x068*/ + u8 moveSlot; /*0x045*/ + struct ListMenuItem menuItems[20]; /*0x048*/ + u8 fillerE8[0x110 - 0xE8]; /*0x0E8*/ u8 numMenuChoices; /*0x110*/ - u8 unk111; /*0x111*/ + u8 numToShowAtOnce; /*0x111*/ u8 listMenuTask; /*0x112*/ - u8 unk113; /*0x113*/ - u8 unk114; /*0x114*/ - u16 unk116; /*0x116*/ + u8 scrollArrowTaskId1; /*0x113*/ + u8 scrollArrowTaskId2; /*0x114*/ + u16 scrollOffset; /*0x116*/ } *sLearnMoveStruct = {0}; static EWRAM_DATA struct { @@ -212,21 +211,21 @@ const struct BgTemplate gUnknown_085CEC28[] = }, }; -static void sub_8160868(void); -static void sub_8161280(void); -static void sub_81610B8(void); -static void sub_816082C(void); -static void sub_8160664(u8 taskId); +static void LearnMoveMain(void); +static void CreateMenuItemsList(void); +static void CreateHearts(void); +static void CB2_Main(void); +static void Task_WaitForFadeOut(u8 taskId); static void CB2_InitLearnMove(void); -static void sub_8160740(void); -static void sub_81607EC(void); -static void sub_81611AC(void); -static void sub_8160F50(u8); -static void sub_8161074(u8); -static s32 sub_8161054(void); -static void sub_8160EA0(void); -static void sub_8161234(void); -static void render_previous_quest_text(bool8); +static void CB2_InitLearnMoveReturnFromSelectMove(void); +static void InitBGs(void); +static void AddScrollArrows(void); +static void HandleInput(u8); +static void ShowTeachMoveText(u8); +static s32 GetCurrentItemId(void); +static void FreeListMenuResources(void); +static void RemoveScrollArrows(void); +static void HideSpritesAndPrintTeachText(bool8); static void VBlankCB_LearnMove(void) { @@ -238,11 +237,11 @@ static void VBlankCB_LearnMove(void) void TeachMoveTutorMove(void) { ScriptContext2_Enable(); - CreateTask(sub_8160664, 0xA); + CreateTask(Task_WaitForFadeOut, 0xA); BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); } -static void sub_8160664(u8 taskId) +static void Task_WaitForFadeOut(u8 taskId) { if (!gPaletteFade.active) { @@ -262,25 +261,25 @@ static void CB2_InitLearnMove(void) sLearnMoveStruct->partyMon = gSpecialVar_0x8004; SetVBlankCallback(VBlankCB_LearnMove); - sub_81607EC(); + InitBGs(); sub_81D2824(0); sLearnMoveStruct2.listOffset = 0; sLearnMoveStruct2.listRow = 0; - sLearnMoveStruct2.showContestInfo = 0; + sLearnMoveStruct2.showContestInfo = FALSE; - sub_8161280(); + CreateMenuItemsList(); LoadSpriteSheet(&gUnknown_085CEBB0); LoadSpritePalette(&gUnknown_085CEBB8); - sub_81610B8(); + CreateHearts(); sLearnMoveStruct->listMenuTask = ListMenuInit(&gMultiuseListMenuTemplate, sLearnMoveStruct2.listOffset, sLearnMoveStruct2.listRow); FillPalette(RGB_BLACK, 0, 2); - SetMainCallback2(sub_816082C); + SetMainCallback2(CB2_Main); } -static void sub_8160740(void) +static void CB2_InitLearnMoveReturnFromSelectMove(void) { ResetSpriteData(); FreeAllSpritePalettes(); @@ -289,23 +288,23 @@ static void sub_8160740(void) sLearnMoveStruct = AllocZeroed(sizeof(*sLearnMoveStruct)); sLearnMoveStruct->state = 28; sLearnMoveStruct->partyMon = gSpecialVar_0x8004; - sLearnMoveStruct->unk045 = gSpecialVar_0x8005; + sLearnMoveStruct->moveSlot = gSpecialVar_0x8005; SetVBlankCallback(VBlankCB_LearnMove); - sub_81607EC(); + InitBGs(); sub_81D2824(sLearnMoveStruct2.showContestInfo); - sub_8161280(); + CreateMenuItemsList(); LoadSpriteSheet(&gUnknown_085CEBB0); LoadSpritePalette(&gUnknown_085CEBB8); - sub_81610B8(); + CreateHearts(); sLearnMoveStruct->listMenuTask = ListMenuInit(&gMultiuseListMenuTemplate, sLearnMoveStruct2.listOffset, sLearnMoveStruct2.listRow); FillPalette(RGB_BLACK, 0, 2); - SetMainCallback2(sub_816082C); + SetMainCallback2(CB2_Main); } -static void sub_81607EC(void) +static void InitBGs(void) { ResetVramOamAndBgCntRegs(); ResetBgsAndClearDma3BusyFlags(0); @@ -319,9 +318,9 @@ static void sub_81607EC(void) SetGpuReg(REG_OFFSET_BLDCNT, 0); } -static void sub_816082C(void) +static void CB2_Main(void) { - sub_8160868(); + LearnMoveMain(); RunTasks(); AnimateSprites(); BuildOamBuffer(); @@ -335,13 +334,13 @@ static void sub_816084C(const u8 *src) sub_81D2BF4(gStringVar4); } -static void sub_8160868(void) +static void LearnMoveMain(void) { switch (sLearnMoveStruct->state) { case 0: sLearnMoveStruct->state++; - render_previous_quest_text(FALSE); + HideSpritesAndPrintTeachText(FALSE); BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK); break; case 1: @@ -354,20 +353,20 @@ static void sub_8160868(void) sLearnMoveStruct->state++; break; case 3: - render_previous_quest_text(FALSE); + HideSpritesAndPrintTeachText(FALSE); sLearnMoveStruct->state++; - sub_81611AC(); + AddScrollArrows(); break; case 4: - sub_8160F50(0); + HandleInput(FALSE); return; case 5: - sub_8161074(0); + ShowTeachMoveText(FALSE); sLearnMoveStruct->state++; - sub_81611AC(); + AddScrollArrows(); break; case 6: - sub_8160F50(1); + HandleInput(TRUE); break; case 8: if (!sub_81D2C3C()) @@ -382,7 +381,7 @@ static void sub_8160868(void) if (selection == 0) { - if (GiveMoveToMon(&gPlayerParty[sLearnMoveStruct->partyMon], sub_8161054()) != 0xFFFF) + if (GiveMoveToMon(&gPlayerParty[sLearnMoveStruct->partyMon], GetCurrentItemId()) != 0xFFFF) { sub_816084C(gText_PkmnLearnedMove4); gSpecialVar_0x8004 = 1; @@ -462,7 +461,7 @@ static void sub_8160868(void) } break; case 24: - StringCopy(gStringVar2, gMoveNames[sub_8161054()]); + StringCopy(gStringVar2, gMoveNames[GetCurrentItemId()]); sub_816084C(gText_StopTryingToTeachMove); sLearnMoveStruct->state++; break; @@ -520,8 +519,8 @@ static void sub_8160868(void) case 20: if (!gPaletteFade.active) { - ShowSelectMovePokemonSummaryScreen(gPlayerParty, sLearnMoveStruct->partyMon, gPlayerPartyCount - 1, sub_8160740, sub_8161054()); - sub_8160EA0(); + ShowSelectMovePokemonSummaryScreen(gPlayerParty, sLearnMoveStruct->partyMon, gPlayerPartyCount - 1, CB2_InitLearnMoveReturnFromSelectMove, GetCurrentItemId()); + FreeListMenuResources(); } break; case 21: @@ -540,7 +539,7 @@ static void sub_8160868(void) case 15: if (!gPaletteFade.active) { - sub_8160EA0(); + FreeListMenuResources(); SetMainCallback2(CB2_ReturnToField); } break; @@ -549,30 +548,30 @@ static void sub_8160868(void) sLearnMoveStruct->state++; if (sLearnMoveStruct2.showContestInfo == FALSE) { - render_previous_quest_text(TRUE); + HideSpritesAndPrintTeachText(TRUE); } else if (sLearnMoveStruct2.showContestInfo == TRUE) { - sub_8161074(1); + ShowTeachMoveText(TRUE); } - sub_8161234(); + RemoveScrollArrows(); CopyWindowToVram(3, 2); break; case 29: if (!gPaletteFade.active) { - if (sLearnMoveStruct->unk045 == 4) + if (sLearnMoveStruct->moveSlot == MAX_MON_MOVES) { sLearnMoveStruct->state = 24; } else { - u16 moveId = GetMonData(&gPlayerParty[sLearnMoveStruct->partyMon], MON_DATA_MOVE1 + sLearnMoveStruct->unk045); + u16 moveId = GetMonData(&gPlayerParty[sLearnMoveStruct->partyMon], MON_DATA_MOVE1 + sLearnMoveStruct->moveSlot); StringCopy(gStringVar3, gMoveNames[moveId]); - RemoveMonPPBonus(&gPlayerParty[sLearnMoveStruct->partyMon], sLearnMoveStruct->unk045); - SetMonMoveSlot(&gPlayerParty[sLearnMoveStruct->partyMon], sub_8161054(), sLearnMoveStruct->unk045); - StringCopy(gStringVar2, gMoveNames[sub_8161054()]); + RemoveMonPPBonus(&gPlayerParty[sLearnMoveStruct->partyMon], sLearnMoveStruct->moveSlot); + SetMonMoveSlot(&gPlayerParty[sLearnMoveStruct->partyMon], GetCurrentItemId(), sLearnMoveStruct->moveSlot); + StringCopy(gStringVar2, gMoveNames[GetCurrentItemId()]); sub_816084C(gText_12AndPoof); sLearnMoveStruct->state = 30; gSpecialVar_0x8004 = 1; @@ -610,9 +609,9 @@ static void sub_8160868(void) } } -static void sub_8160EA0(void) +static void FreeListMenuResources(void) { - sub_8161234(); + RemoveScrollArrows(); DestroyListMenuTask(sLearnMoveStruct->listMenuTask, &sLearnMoveStruct2.listOffset, &sLearnMoveStruct2.listRow); FreeAllWindowBuffers(); FREE_AND_SET_NULL(sLearnMoveStruct); @@ -620,7 +619,7 @@ static void sub_8160EA0(void) FreeAllSpritePalettes(); } -static void render_previous_quest_text(bool8 a) +static void HideSpritesAndPrintTeachText(bool8 a) { s32 i; @@ -637,7 +636,7 @@ static void render_previous_quest_text(bool8 a) } } -static void sub_8160F50(u8 a0) +static void HandleInput(bool8 showContest) { s32 itemId = ListMenuHandleInputGetItemId(sLearnMoveStruct->listMenuTask); ListMenuGetScrollAndRow(sLearnMoveStruct->listMenuTask, &sLearnMoveStruct2.listOffset, &sLearnMoveStruct2.listRow); @@ -652,7 +651,7 @@ static void sub_8160F50(u8 a0) PlaySE(SE_SELECT); - if (a0 == 0) + if (showContest == FALSE) { PutWindowTilemap(1); sLearnMoveStruct->state = 5; @@ -666,18 +665,18 @@ static void sub_8160F50(u8 a0) } schedule_bg_copy_tilemap_to_vram(1); - sub_816137C(sub_8161054()); + ShowHideHearts(GetCurrentItemId()); break; case LIST_B_PRESSED: PlaySE(SE_SELECT); - sub_8161234(); + RemoveScrollArrows(); sLearnMoveStruct->state = 12; StringExpandPlaceholders(gStringVar4, gText_GiveUpTeachingNewMove); sub_81D2BF4(gStringVar4); break; default: PlaySE(SE_SELECT); - sub_8161234(); + RemoveScrollArrows(); sLearnMoveStruct->state = 8; StringCopy(gStringVar2, gMoveNames[itemId]); StringExpandPlaceholders(gStringVar4, gText_TeachX); @@ -686,14 +685,14 @@ static void sub_8160F50(u8 a0) } } -static s32 sub_8161054(void) +static s32 GetCurrentItemId(void) { return sLearnMoveStruct->menuItems[sLearnMoveStruct2.listRow + sLearnMoveStruct2.listOffset].id; } -static void sub_8161074(u8 a0) +static void ShowTeachMoveText(bool8 showContest) { - if (!a0) + if (showContest == FALSE) { StringExpandPlaceholders(gStringVar4, gText_TeachWhichMoveToPkmn); FillWindowPixelBuffer(3, 0x11); @@ -701,13 +700,13 @@ static void sub_8161074(u8 a0) } } -static void sub_81610B8(void) +static void CreateHearts(void) { int i; - sLearnMoveStruct->unk114 = -1; - sLearnMoveStruct->unk113 = -1; - sub_81611AC(); + sLearnMoveStruct->scrollArrowTaskId2 = -1; + sLearnMoveStruct->scrollArrowTaskId1 = -1; + AddScrollArrows(); for (i = 0; i < 8; i++) { @@ -726,37 +725,37 @@ static void sub_81610B8(void) } } -static void sub_81611AC(void) +static void AddScrollArrows(void) { - if (sLearnMoveStruct->unk114 == 0xFF) + if (sLearnMoveStruct->scrollArrowTaskId2 == 0xFF) { - sLearnMoveStruct->unk114 = AddScrollIndicatorArrowPair(&gUnknown_085CEBC0, &sLearnMoveStruct->unk116); + sLearnMoveStruct->scrollArrowTaskId2 = AddScrollIndicatorArrowPair(&gUnknown_085CEBC0, &sLearnMoveStruct->scrollOffset); } - if (sLearnMoveStruct->unk113 == 0xFF) + if (sLearnMoveStruct->scrollArrowTaskId1 == 0xFF) { gTempScrollArrowTemplate = gUnknown_085CEBD0; - gTempScrollArrowTemplate.fullyDownThreshold = sLearnMoveStruct->numMenuChoices - sLearnMoveStruct->unk111; - sLearnMoveStruct->unk113 = AddScrollIndicatorArrowPair(&gTempScrollArrowTemplate, &sLearnMoveStruct2.listOffset); + gTempScrollArrowTemplate.fullyDownThreshold = sLearnMoveStruct->numMenuChoices - sLearnMoveStruct->numToShowAtOnce; + sLearnMoveStruct->scrollArrowTaskId1 = AddScrollIndicatorArrowPair(&gTempScrollArrowTemplate, &sLearnMoveStruct2.listOffset); } } -static void sub_8161234(void) +static void RemoveScrollArrows(void) { - if (sLearnMoveStruct->unk114 != 0xFF) + if (sLearnMoveStruct->scrollArrowTaskId2 != 0xFF) { - RemoveScrollIndicatorArrowPair(sLearnMoveStruct->unk114); - sLearnMoveStruct->unk114 = 0xFF; + RemoveScrollIndicatorArrowPair(sLearnMoveStruct->scrollArrowTaskId2); + sLearnMoveStruct->scrollArrowTaskId2 = 0xFF; } - if (sLearnMoveStruct->unk113 != 0xFF) + if (sLearnMoveStruct->scrollArrowTaskId1 != 0xFF) { - RemoveScrollIndicatorArrowPair(sLearnMoveStruct->unk113); - sLearnMoveStruct->unk113 = 0xFF; + RemoveScrollIndicatorArrowPair(sLearnMoveStruct->scrollArrowTaskId1); + sLearnMoveStruct->scrollArrowTaskId1 = 0xFF; } } -static void sub_8161280(void) +static void CreateMenuItemsList(void) { s32 i; u8 nickname[POKEMON_NAME_LENGTH + 1]; @@ -774,10 +773,10 @@ static void sub_8161280(void) sLearnMoveStruct->menuItems[sLearnMoveStruct->numMenuChoices].name = gText_Cancel; sLearnMoveStruct->menuItems[sLearnMoveStruct->numMenuChoices].id = LIST_B_PRESSED; sLearnMoveStruct->numMenuChoices++; - sLearnMoveStruct->unk111 = sub_81D28C8(sLearnMoveStruct->menuItems, sLearnMoveStruct->numMenuChoices); + sLearnMoveStruct->numToShowAtOnce = sub_81D28C8(sLearnMoveStruct->menuItems, sLearnMoveStruct->numMenuChoices); } -void sub_816137C(s32 item) +void ShowHideHearts(s32 item) { u16 numHearts; u16 i; From 1a0e6f7aedf66d0c0da07eccd1dd00c4cbc38a93 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Mon, 13 Aug 2018 21:24:11 +0200 Subject: [PATCH 094/234] match contest effect --- asm/contest_effect.s | 0 data/contest_effect.s | 6 - ld_script.txt | 2 - src/contest_effect.c | 44 ++- src/data/contest_moves.h | 712 +++++++++++++++++++-------------------- 5 files changed, 383 insertions(+), 381 deletions(-) delete mode 100644 asm/contest_effect.s delete mode 100644 data/contest_effect.s diff --git a/asm/contest_effect.s b/asm/contest_effect.s deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/data/contest_effect.s b/data/contest_effect.s deleted file mode 100644 index 6c8edba3a5..0000000000 --- a/data/contest_effect.s +++ /dev/null @@ -1,6 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - - .align 2 \ No newline at end of file diff --git a/ld_script.txt b/ld_script.txt index 78dd9334f9..bd0ac12dc2 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -144,7 +144,6 @@ SECTIONS { src/naming_screen.o(.text); src/money.o(.text); src/contest_effect.o(.text); - asm/contest_effect.o(.text); src/record_mixing.o(.text); src/secret_base.o(.text); src/tv.o(.text); @@ -445,7 +444,6 @@ SECTIONS { src/naming_screen.o(.rodata); src/money.o(.rodata); src/contest_effect.o(.rodata); - data/contest_effect.o(.rodata); src/record_mixing.o(.rodata); src/secret_base.o(.rodata); src/tv.o(.rodata); diff --git a/src/contest_effect.c b/src/contest_effect.c index 40774641df..bf155240c2 100644 --- a/src/contest_effect.c +++ b/src/contest_effect.c @@ -1,5 +1,6 @@ #include "global.h" #include "random.h" +#include "constants/moves.h" #include "contest.h" #include "contest_effect.h" @@ -158,13 +159,16 @@ static void ContestEffect_StartlePrevMons(void) u8 idx = 0; u8 a = shared192D0.contestant; - if (shared192D0.turnOrder[a] != 0) { - int i; - int j = 0; + if (shared192D0.turnOrder[a] != 0) + { + int i, j; - for (i = 0; i < 4; i++) + for (i = 0, j = 0; i < 4; i++) + { if (shared192D0.turnOrder[a] > shared192D0.turnOrder[i]) shared192D0.jamQueue[j++] = i; + } + shared192D0.jamQueue[j] = 0xFF; idx = WasAtLeastOneOpponentJammed(); } @@ -185,6 +189,7 @@ static void ContestEffect_StartlePrevMon2(void) jam = 40; else jam = 60; + shared192D0.jam = jam; ContestEffect_StartleFrontMon(); } @@ -193,7 +198,7 @@ static void ContestEffect_StartlePrevMon2(void) static void ContestEffect_StartlePrevMons2(void) { u8 numStartled = 0; - u8 contestant = shared192D0.contestant; + register u32 contestant asm("r5") = shared192D0.contestant; if (shared192D0.turnOrder[contestant] != 0) { @@ -203,11 +208,11 @@ static void ContestEffect_StartlePrevMons2(void) { if (shared192D0.turnOrder[contestant] > shared192D0.turnOrder[i]) { + u8 rval, jam; + shared192D0.jamQueue[0] = i; shared192D0.jamQueue[1] = 0xFF; - { - u8 rval = Random() % 10; - int jam; + rval = Random() % 10; if (rval == 0) jam = 0; @@ -221,8 +226,9 @@ static void ContestEffect_StartlePrevMons2(void) jam = 40; else jam = 60; + shared192D0.jam = jam; - } + if (WasAtLeastOneOpponentJammed()) numStartled++; } @@ -1124,16 +1130,20 @@ static bool8 WasAtLeastOneOpponentJammed(void) shared192D0.jam2 = 10; SetContestantEffectStringID(contestant, CONTEST_STRING_LITTLE_DISTRACTED); } - else if ((shared192D0.jam2 -= sContestantStatus[contestant].jamReduction) <= 0) - { - shared192D0.jam2 = 0; - SetContestantEffectStringID(contestant, CONTEST_STRING_NOT_FAZED); - } else { - JamContestant(contestant, shared192D0.jam2); - SetStartledString(contestant, shared192D0.jam2); - jamBuffer[contestant] = shared192D0.jam2; + shared192D0.jam2 -= sContestantStatus[contestant].jamReduction; + if (shared192D0.jam2 <= 0) + { + shared192D0.jam2 = 0; + SetContestantEffectStringID(contestant, CONTEST_STRING_NOT_FAZED); + } + else + { + JamContestant(contestant, shared192D0.jam2); + SetStartledString(contestant, shared192D0.jam2); + jamBuffer[contestant] = shared192D0.jam2; + } } } } diff --git a/src/data/contest_moves.h b/src/data/contest_moves.h index fd0bc55647..b47eecb236 100644 --- a/src/data/contest_moves.h +++ b/src/data/contest_moves.h @@ -1,363 +1,363 @@ #ifndef POKEEMERALD_CONTEST_MOVES_H #define POKEEMERALD_CONTEST_MOVES_H -const struct ContestMove gContestMoves[] = +const struct ContestMove gContestMoves[MOVES_COUNT] = { - {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, // NONE - {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_TOUGH, COMBO_STARTER_POUND, {0, 0, 0, 0}}, // POUND - {CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_FOCUS_ENERGY, 0, 0, 0}}, // KARATE_CHOP - {CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_POUND, 0, 0, 0}}, // DOUBLE_SLAP - {CONTEST_EFFECT_BETTER_IF_SAME_TYPE, CONTEST_CATEGORY_TOUGH, 0, {0, 0, 0, 0}}, // COMET_PUNCH - {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_FOCUS_ENERGY, COMBO_STARTER_MIND_READER, 0, 0}}, // MEGA_PUNCH - {CONTEST_EFFECT_BETTER_WHEN_AUDIENCE_EXCITED, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, // PAY_DAY - {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_BEAUTY, COMBO_STARTER_FIRE_PUNCH, {COMBO_STARTER_SUNNY_DAY, COMBO_STARTER_THUNDER_PUNCH, COMBO_STARTER_ICE_PUNCH, 0}}, // FIRE_PUNCH - {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_BEAUTY, COMBO_STARTER_ICE_PUNCH, {COMBO_STARTER_THUNDER_PUNCH, COMBO_STARTER_FIRE_PUNCH, 0, 0}}, // ICE_PUNCH - {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_COOL, COMBO_STARTER_THUNDER_PUNCH, {COMBO_STARTER_CHARGE, COMBO_STARTER_FIRE_PUNCH, COMBO_STARTER_ICE_PUNCH, 0}}, // THUNDER_PUNCH - {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_TOUGH, COMBO_STARTER_SCRATCH, {COMBO_STARTER_LEER, 0, 0, 0}}, // SCRATCH - {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_TOUGH, COMBO_STARTER_VICE_GRIP, {0, 0, 0, 0}}, // VICE_GRIP - {CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_VICE_GRIP, 0, 0, 0}}, // GUILLOTINE - {CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, // RAZOR_WIND - {CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, CONTEST_CATEGORY_BEAUTY, COMBO_STARTER_SWORDS_DANCE, {0, 0, 0, 0}}, // SWORDS_DANCE - {CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_SWORDS_DANCE, 0, 0, 0}}, // CUT - {CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, // GUST - {CONTEST_EFFECT_BETTER_IF_SAME_TYPE, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, // WING_ATTACK - {CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, // WHIRLWIND - {CONTEST_EFFECT_AVOID_STARTLE, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, // FLY - {CONTEST_EFFECT_DONT_EXCITE_AUDIENCE, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_VICE_GRIP, 0, 0, 0}}, // BIND - {CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_POUND, 0, 0, 0}}, // SLAM - {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_GROWTH, 0, 0, 0}}, // VINE_WHIP - {CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, CONTEST_CATEGORY_TOUGH, 0, {0, COMBO_STARTER_LEER, 0, 0}}, // STOMP - {CONTEST_EFFECT_BETTER_IF_SAME_TYPE, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, // DOUBLE_KICK - {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_FOCUS_ENERGY, COMBO_STARTER_MIND_READER, 0, 0}}, // MEGA_KICK - {CONTEST_EFFECT_USER_MORE_EASILY_STARTLED, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_MIND_READER, 0, 0, 0}}, // JUMP_KICK - {CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, // ROLLING_KICK - {CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION, CONTEST_CATEGORY_CUTE, COMBO_STARTER_SAND_ATTACK, {COMBO_STARTER_MUD_SLAP, COMBO_STARTER_SANDSTORM, 0, 0}}, // SAND_ATTACK - {CONTEST_EFFECT_STARTLE_PREV_MON, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_FOCUS_ENERGY, 0, 0, 0}}, // HEADBUTT - {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_COOL, COMBO_STARTER_HORN_ATTACK, {COMBO_STARTER_LEER, 0, 0, 0}}, // HORN_ATTACK - {CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_HORN_ATTACK, COMBO_STARTER_PECK, 0, 0}}, // FURY_ATTACK - {CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_HORN_ATTACK, 0, 0, 0}}, // HORN_DRILL - {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_DEFENSE_CURL, COMBO_STARTER_LEER, COMBO_STARTER_HARDEN, 0}}, // TACKLE - {CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, CONTEST_CATEGORY_TOUGH, 0, {0, 0, 0, 0}}, // BODY_SLAM - {CONTEST_EFFECT_DONT_EXCITE_AUDIENCE, CONTEST_CATEGORY_TOUGH, 0, {0, 0, 0, 0}}, // WRAP - {CONTEST_EFFECT_USER_MORE_EASILY_STARTLED, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_FOCUS_ENERGY, COMBO_STARTER_HARDEN, 0, 0}}, // TAKE_DOWN - {CONTEST_EFFECT_JAMS_OTHERS_BUT_MISS_ONE_TURN, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_RAGE, 0, 0, 0}}, // THRASH - {CONTEST_EFFECT_USER_MORE_EASILY_STARTLED, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_FOCUS_ENERGY, COMBO_STARTER_HARDEN, 0, 0}}, // DOUBLE_EDGE - {CONTEST_EFFECT_BETTER_IF_LAST, CONTEST_CATEGORY_CUTE, 0, {COMBO_STARTER_CHARM, 0, 0, 0}}, // TAIL_WHIP - {CONTEST_EFFECT_STARTLE_PREV_MON, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, // POISON_STING - {CONTEST_EFFECT_STARTLE_PREV_MON, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, // TWINEEDLE - {CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, // PIN_MISSILE - {CONTEST_EFFECT_DONT_EXCITE_AUDIENCE, CONTEST_CATEGORY_COOL, COMBO_STARTER_LEER, {COMBO_STARTER_RAGE, COMBO_STARTER_SCARY_FACE, 0, 0}}, // LEER - {CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_LEER, COMBO_STARTER_SCARY_FACE, 0, 0}}, // BITE - {CONTEST_EFFECT_BETTER_IF_LAST, CONTEST_CATEGORY_CUTE, 0, {COMBO_STARTER_CHARM, 0, 0, 0}}, // GROWL - {CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, // ROAR - {CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS, CONTEST_CATEGORY_CUTE, COMBO_STARTER_SING, {0, 0, 0, 0}}, // SING - {CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, // SUPERSONIC - {CONTEST_EFFECT_BETTER_IF_SAME_TYPE, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, // SONIC_BOOM - {CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, // DISABLE - {CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, // ACID - {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_BEAUTY, 0, {COMBO_STARTER_SUNNY_DAY, 0, 0, 0}}, // EMBER - {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_BEAUTY, 0, {COMBO_STARTER_SUNNY_DAY, 0, 0, 0}}, // FLAMETHROWER - {CONTEST_EFFECT_AVOID_STARTLE, CONTEST_CATEGORY_BEAUTY, 0, {0, 0, 0, 0}}, // MIST - {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_CUTE, 0, {COMBO_STARTER_RAIN_DANCE, COMBO_STARTER_WATER_SPORT, COMBO_STARTER_MUD_SPORT, 0}}, // WATER_GUN - {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_BEAUTY, 0, {COMBO_STARTER_RAIN_DANCE, 0, 0, 0}}, // HYDRO_PUMP - {CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL, CONTEST_CATEGORY_BEAUTY, COMBO_STARTER_SURF, {COMBO_STARTER_RAIN_DANCE, COMBO_STARTER_DIVE, 0, 0}}, // SURF - {CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL, CONTEST_CATEGORY_BEAUTY, 0, {0, 0, 0, 0}}, // ICE_BEAM - {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_BEAUTY, 0, {COMBO_STARTER_POWDER_SNOW, COMBO_STARTER_HAIL, 0, 0}}, // BLIZZARD - {CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER, CONTEST_CATEGORY_BEAUTY, 0, {COMBO_STARTER_CALM_MIND, 0, 0, 0}}, // PSYBEAM - {CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, CONTEST_CATEGORY_BEAUTY, 0, {COMBO_STARTER_RAIN_DANCE, 0, 0, 0}}, // BUBBLE_BEAM - {CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL, CONTEST_CATEGORY_BEAUTY, 0, {0, 0, 0, 0}}, // AURORA_BEAM - {CONTEST_EFFECT_JAMS_OTHERS_BUT_MISS_ONE_TURN, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, // HYPER_BEAM - {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_COOL, COMBO_STARTER_PECK, {0, 0, 0, 0}}, // PECK - {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_PECK, 0, 0, 0}}, // DRILL_PECK - {CONTEST_EFFECT_USER_MORE_EASILY_STARTLED, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_MIND_READER, 0, 0, 0}}, // SUBMISSION - {CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, CONTEST_CATEGORY_TOUGH, 0, {0, 0, 0, 0}}, // LOW_KICK - {CONTEST_EFFECT_AVOID_STARTLE_ONCE, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_TAUNT, 0, 0, 0}}, // COUNTER - {CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_FAKE_OUT, 0, 0, 0}}, // SEISMIC_TOSS - {CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL, CONTEST_CATEGORY_TOUGH, 0, {0, 0, 0, 0}}, // STRENGTH - {CONTEST_EFFECT_STARTLE_PREV_MON, CONTEST_CATEGORY_SMART, 0, {COMBO_STARTER_GROWTH, 0, 0, 0}}, // ABSORB - {CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, CONTEST_CATEGORY_SMART, 0, {COMBO_STARTER_GROWTH, 0, 0, 0}}, // MEGA_DRAIN - {CONTEST_EFFECT_STARTLE_PREV_MONS, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, // LEECH_SEED - {CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, CONTEST_CATEGORY_BEAUTY, COMBO_STARTER_GROWTH, {0, 0, 0, 0}}, // GROWTH - {CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_GROWTH, 0, 0, 0}}, // RAZOR_LEAF - {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_SUNNY_DAY, COMBO_STARTER_GROWTH, 0, 0}}, // SOLAR_BEAM - {CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS, CONTEST_CATEGORY_SMART, 0, {COMBO_STARTER_SWEET_SCENT, 0, 0, 0}}, // POISON_POWDER - {CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS, CONTEST_CATEGORY_SMART, 0, {COMBO_STARTER_SWEET_SCENT, 0, 0, 0}}, // STUN_SPORE - {CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, CONTEST_CATEGORY_SMART, 0, {COMBO_STARTER_SWEET_SCENT, 0, 0, 0}}, // SLEEP_POWDER - {CONTEST_EFFECT_JAMS_OTHERS_BUT_MISS_ONE_TURN, CONTEST_CATEGORY_BEAUTY, 0, {COMBO_STARTER_GROWTH, 0, 0, 0}}, // PETAL_DANCE - {CONTEST_EFFECT_STARTLE_PREV_MON, CONTEST_CATEGORY_SMART, COMBO_STARTER_STRING_SHOT, {0, 0, 0, 0}}, // STRING_SHOT - {CONTEST_EFFECT_BETTER_WHEN_LATER, CONTEST_CATEGORY_COOL, COMBO_STARTER_DRAGON_RAGE, {COMBO_STARTER_DRAGON_BREATH, COMBO_STARTER_DRAGON_DANCE, 0, 0}}, // DRAGON_RAGE - {CONTEST_EFFECT_DONT_EXCITE_AUDIENCE, CONTEST_CATEGORY_BEAUTY, 0, {COMBO_STARTER_SUNNY_DAY, 0, 0, 0}}, // FIRE_SPIN - {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_CHARGE, 0, 0, 0}}, // THUNDER_SHOCK - {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_CHARGE, 0, 0, 0}}, // THUNDERBOLT - {CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_CHARGE, 0, 0, 0}}, // THUNDER_WAVE - {CONTEST_EFFECT_STARTLE_PREV_MONS, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_CHARGE, COMBO_STARTER_RAIN_DANCE, COMBO_STARTER_LOCK_ON, 0}}, // THUNDER - {CONTEST_EFFECT_BETTER_IF_SAME_TYPE, CONTEST_CATEGORY_TOUGH, COMBO_STARTER_ROCK_THROW, {0, 0, 0, 0}}, // ROCK_THROW - {CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, CONTEST_CATEGORY_TOUGH, COMBO_STARTER_EARTHQUAKE, {0, 0, 0, 0}}, // EARTHQUAKE - {CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_EARTHQUAKE, 0, 0, 0}}, // FISSURE - {CONTEST_EFFECT_AVOID_STARTLE, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, // DIG - {CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, // TOXIC - {CONTEST_EFFECT_STARTLE_PREV_MON, CONTEST_CATEGORY_SMART, COMBO_STARTER_CONFUSION, {COMBO_STARTER_PSYCHIC, COMBO_STARTER_KINESIS, COMBO_STARTER_CALM_MIND, 0}}, // CONFUSION - {CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, CONTEST_CATEGORY_SMART, COMBO_STARTER_PSYCHIC, {COMBO_STARTER_KINESIS, COMBO_STARTER_CONFUSION, COMBO_STARTER_CALM_MIND, 0}}, // PSYCHIC - {CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, CONTEST_CATEGORY_SMART, COMBO_STARTER_HYPNOSIS, {0, 0, 0, 0}}, // HYPNOSIS - {CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, CONTEST_CATEGORY_BEAUTY, 0, {COMBO_STARTER_CALM_MIND, 0, 0, 0}}, // MEDITATE - {CONTEST_EFFECT_NEXT_APPEAL_EARLIER, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_DOUBLE_TEAM, 0, 0, 0}}, // AGILITY - {CONTEST_EFFECT_NEXT_APPEAL_EARLIER, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_DOUBLE_TEAM, 0, 0, 0}}, // QUICK_ATTACK - {CONTEST_EFFECT_REPETITION_NOT_BORING, CONTEST_CATEGORY_COOL, COMBO_STARTER_RAGE, {0, 0, 0, 0}}, // RAGE - {CONTEST_EFFECT_AVOID_STARTLE, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_DOUBLE_TEAM, COMBO_STARTER_PSYCHIC, COMBO_STARTER_KINESIS, COMBO_STARTER_CONFUSION}}, // TELEPORT - {CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, // NIGHT_SHADE - {CONTEST_EFFECT_APPEAL_AS_GOOD_AS_PREV_ONE, CONTEST_CATEGORY_CUTE, 0, {0, 0, 0, 0}}, // MIMIC - {CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, // SCREECH - {CONTEST_EFFECT_AVOID_STARTLE_ONCE, CONTEST_CATEGORY_COOL, COMBO_STARTER_DOUBLE_TEAM, {0, 0, 0, 0}}, // DOUBLE_TEAM - {CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, // RECOVER - {CONTEST_EFFECT_AVOID_STARTLE_ONCE, CONTEST_CATEGORY_TOUGH, COMBO_STARTER_HARDEN, {0, 0, 0, 0}}, // HARDEN - {CONTEST_EFFECT_AVOID_STARTLE_ONCE, CONTEST_CATEGORY_CUTE, 0, {0, 0, 0, 0}}, // MINIMIZE - {CONTEST_EFFECT_SHIFT_JUDGE_ATTENTION, CONTEST_CATEGORY_SMART, 0, {COMBO_STARTER_SMOG, 0, 0, 0}}, // SMOKESCREEN - {CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, // CONFUSE_RAY - {CONTEST_EFFECT_AVOID_STARTLE, CONTEST_CATEGORY_CUTE, 0, {COMBO_STARTER_RAIN_DANCE, 0, 0, 0}}, // WITHDRAW - {CONTEST_EFFECT_AVOID_STARTLE_ONCE, CONTEST_CATEGORY_CUTE, COMBO_STARTER_DEFENSE_CURL, {0, 0, 0, 0}}, // DEFENSE_CURL - {CONTEST_EFFECT_AVOID_STARTLE, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, // BARRIER - {CONTEST_EFFECT_AVOID_STARTLE, CONTEST_CATEGORY_BEAUTY, 0, {COMBO_STARTER_CALM_MIND, 0, 0, 0}}, // LIGHT_SCREEN - {CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS, CONTEST_CATEGORY_BEAUTY, 0, {0, 0, 0, 0}}, // HAZE - {CONTEST_EFFECT_AVOID_STARTLE, CONTEST_CATEGORY_SMART, 0, {COMBO_STARTER_CALM_MIND, 0, 0, 0}}, // REFLECT - {CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, CONTEST_CATEGORY_COOL, COMBO_STARTER_FOCUS_ENERGY, {0, 0, 0, 0}}, // FOCUS_ENERGY - {CONTEST_EFFECT_AVOID_STARTLE, CONTEST_CATEGORY_TOUGH, 0, {0, 0, 0, 0}}, // BIDE - {CONTEST_EFFECT_REPETITION_NOT_BORING, CONTEST_CATEGORY_CUTE, 0, {0, 0, 0, 0}}, // METRONOME - {CONTEST_EFFECT_APPEAL_AS_GOOD_AS_PREV_ONE, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, // MIRROR_MOVE - {CONTEST_EFFECT_GREAT_APPEAL_BUT_NO_MORE_MOVES, CONTEST_CATEGORY_BEAUTY, 0, {0, 0, 0, 0}}, // SELF_DESTRUCT - {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_SOFT_BOILED, 0, 0, 0}}, // EGG_BOMB - {CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, CONTEST_CATEGORY_TOUGH, 0, {0, 0, 0, 0}}, // LICK - {CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, CONTEST_CATEGORY_TOUGH, COMBO_STARTER_SMOG, {0, 0, 0, 0}}, // SMOG - {CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, CONTEST_CATEGORY_TOUGH, COMBO_STARTER_SLUDGE, {COMBO_STARTER_SLUDGE_BOMB, 0, 0, 0}}, // SLUDGE - {CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION, CONTEST_CATEGORY_TOUGH, COMBO_STARTER_BONE_CLUB, {COMBO_STARTER_BONEMERANG, COMBO_STARTER_BONE_RUSH, 0, 0}}, // BONE_CLUB - {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_BEAUTY, 0, {COMBO_STARTER_SUNNY_DAY, 0, 0, 0}}, // FIRE_BLAST - {CONTEST_EFFECT_BETTER_IF_LAST, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_RAIN_DANCE, 0, 0, 0}}, // WATERFALL - {CONTEST_EFFECT_DONT_EXCITE_AUDIENCE, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_RAIN_DANCE, 0, 0, 0}}, // CLAMP - {CONTEST_EFFECT_BETTER_IF_FIRST, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, // SWIFT - {CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, CONTEST_CATEGORY_TOUGH, 0, {0, 0, 0, 0}}, // SKULL_BASH - {CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, // SPIKE_CANNON - {CONTEST_EFFECT_STARTLE_PREV_MON, CONTEST_CATEGORY_TOUGH, 0, {0, 0, 0, 0}}, // CONSTRICT - {CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, CONTEST_CATEGORY_CUTE, 0, {0, 0, 0, 0}}, // AMNESIA - {CONTEST_EFFECT_DONT_EXCITE_AUDIENCE, CONTEST_CATEGORY_SMART, COMBO_STARTER_KINESIS, {COMBO_STARTER_PSYCHIC, COMBO_STARTER_CONFUSION, 0, 0}}, // KINESIS - {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_BEAUTY, COMBO_STARTER_SOFT_BOILED, {0, 0, 0, 0}}, // SOFT_BOILED - {CONTEST_EFFECT_USER_MORE_EASILY_STARTLED, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_MIND_READER, 0, 0, 0}}, // HI_JUMP_KICK - {CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_LEER, 0, 0, 0}}, // GLARE - {CONTEST_EFFECT_STARTLE_PREV_MONS, CONTEST_CATEGORY_SMART, 0, {COMBO_STARTER_HYPNOSIS, COMBO_STARTER_CALM_MIND, 0, 0}}, // DREAM_EATER - {CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, // POISON_GAS - {CONTEST_EFFECT_BETTER_IF_SAME_TYPE, CONTEST_CATEGORY_TOUGH, 0, {0, 0, 0, 0}}, // BARRAGE - {CONTEST_EFFECT_STARTLE_PREV_MON, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, // LEECH_LIFE - {CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, CONTEST_CATEGORY_BEAUTY, 0, {0, 0, 0, 0}}, // LOVELY_KISS - {CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, // SKY_ATTACK - {CONTEST_EFFECT_REPETITION_NOT_BORING, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, // TRANSFORM - {CONTEST_EFFECT_STARTLE_PREV_MONS, CONTEST_CATEGORY_CUTE, 0, {COMBO_STARTER_RAIN_DANCE, 0, 0, 0}}, // BUBBLE - {CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, // DIZZY_PUNCH - {CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, CONTEST_CATEGORY_BEAUTY, 0, {0, 0, 0, 0}}, // SPORE - {CONTEST_EFFECT_SHIFT_JUDGE_ATTENTION, CONTEST_CATEGORY_BEAUTY, 0, {0, 0, 0, 0}}, // FLASH - {CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS, CONTEST_CATEGORY_SMART, 0, {COMBO_STARTER_CALM_MIND, 0, 0, 0}}, // PSYWAVE - {CONTEST_EFFECT_BETTER_IF_LAST, CONTEST_CATEGORY_CUTE, 0, {0, 0, 0, 0}}, // SPLASH - {CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, CONTEST_CATEGORY_TOUGH, 0, {0, 0, 0, 0}}, // ACID_ARMOR - {CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_RAIN_DANCE, COMBO_STARTER_SWORDS_DANCE, 0, 0}}, // CRABHAMMER - {CONTEST_EFFECT_GREAT_APPEAL_BUT_NO_MORE_MOVES, CONTEST_CATEGORY_BEAUTY, 0, {0, 0, 0, 0}}, // EXPLOSION - {CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_SCRATCH, 0, 0, 0}}, // FURY_SWIPES - {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_TOUGH, COMBO_STARTER_BONEMERANG, {COMBO_STARTER_BONE_CLUB, COMBO_STARTER_BONE_RUSH, 0, 0}}, // BONEMERANG - {CONTEST_EFFECT_AVOID_STARTLE_ONCE, CONTEST_CATEGORY_CUTE, COMBO_STARTER_REST, {COMBO_STARTER_BELLY_DRUM, COMBO_STARTER_CHARM, COMBO_STARTER_YAWN, 0}}, // REST - {CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_ROCK_THROW, 0, 0, 0}}, // ROCK_SLIDE - {CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, // HYPER_FANG - {CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, CONTEST_CATEGORY_CUTE, 0, {0, 0, 0, 0}}, // SHARPEN - {CONTEST_EFFECT_BETTER_IF_SAME_TYPE, CONTEST_CATEGORY_BEAUTY, 0, {0, 0, 0, 0}}, // CONVERSION - {CONTEST_EFFECT_STARTLE_PREV_MONS, CONTEST_CATEGORY_BEAUTY, 0, {COMBO_STARTER_LOCK_ON, 0, 0, 0}}, // TRI_ATTACK - {CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_SCARY_FACE, 0, 0, 0}}, // SUPER_FANG - {CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_SWORDS_DANCE, COMBO_STARTER_SCRATCH, 0, 0}}, // SLASH - {CONTEST_EFFECT_AVOID_STARTLE_ONCE, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, // SUBSTITUTE - {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, // STRUGGLE - {CONTEST_EFFECT_APPEAL_AS_GOOD_AS_PREV_ONE, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, // SKETCH - {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_FOCUS_ENERGY, 0, 0, 0}}, // TRIPLE_KICK - {CONTEST_EFFECT_APPEAL_AS_GOOD_AS_PREV_ONES, CONTEST_CATEGORY_TOUGH, 0, {0, 0, 0, 0}}, // THIEF - {CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS, CONTEST_CATEGORY_SMART, 0, {COMBO_STARTER_STRING_SHOT, 0, 0, 0}}, // SPIDER_WEB - {CONTEST_EFFECT_DONT_EXCITE_AUDIENCE, CONTEST_CATEGORY_SMART, COMBO_STARTER_MIND_READER, {0, 0, 0, 0}}, // MIND_READER - {CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, CONTEST_CATEGORY_SMART, 0, {COMBO_STARTER_HYPNOSIS, 0, 0, 0}}, // NIGHTMARE - {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_BEAUTY, 0, {COMBO_STARTER_SUNNY_DAY, 0, 0, 0}}, // FLAME_WHEEL - {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_CUTE, 0, {COMBO_STARTER_REST, 0, 0, 0}}, // SNORE - {CONTEST_EFFECT_NEXT_APPEAL_LATER, CONTEST_CATEGORY_TOUGH, COMBO_STARTER_CURSE, {0, 0, 0, 0}}, // CURSE - {CONTEST_EFFECT_BETTER_WHEN_LATER, CONTEST_CATEGORY_CUTE, 0, {COMBO_STARTER_ENDURE, 0, 0, 0}}, // FLAIL - {CONTEST_EFFECT_BETTER_IF_SAME_TYPE, CONTEST_CATEGORY_BEAUTY, 0, {0, 0, 0, 0}}, // CONVERSION_2 - {CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, // AEROBLAST - {CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION, CONTEST_CATEGORY_BEAUTY, 0, {0, 0, 0, 0}}, // COTTON_SPORE - {CONTEST_EFFECT_BETTER_IF_LAST, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_ENDURE, 0, 0, 0}}, // REVERSAL - {CONTEST_EFFECT_BETTER_WHEN_LATER, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_CURSE, 0, 0, 0}}, // SPITE - {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_BEAUTY, COMBO_STARTER_POWDER_SNOW, {COMBO_STARTER_HAIL, 0, 0, 0}}, // POWDER_SNOW - {CONTEST_EFFECT_AVOID_STARTLE, CONTEST_CATEGORY_CUTE, 0, {COMBO_STARTER_HARDEN, 0, 0, 0}}, // PROTECT - {CONTEST_EFFECT_NEXT_APPEAL_EARLIER, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, // MACH_PUNCH - {CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION, CONTEST_CATEGORY_TOUGH, COMBO_STARTER_SCARY_FACE, {COMBO_STARTER_RAGE, COMBO_STARTER_LEER, 0, 0}}, // SCARY_FACE - {CONTEST_EFFECT_BETTER_IF_FIRST, CONTEST_CATEGORY_SMART, 0, {COMBO_STARTER_FAKE_OUT, COMBO_STARTER_LEER, COMBO_STARTER_POUND, 0}}, // FAINT_ATTACK - {CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS, CONTEST_CATEGORY_CUTE, 0, {COMBO_STARTER_CHARM, 0, 0, 0}}, // SWEET_KISS - {CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, CONTEST_CATEGORY_CUTE, COMBO_STARTER_BELLY_DRUM, {0, 0, 0, 0}}, // BELLY_DRUM - {CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION, CONTEST_CATEGORY_TOUGH, COMBO_STARTER_SLUDGE_BOMB, {COMBO_STARTER_SLUDGE, 0, 0, 0}}, // SLUDGE_BOMB - {CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION, CONTEST_CATEGORY_CUTE, COMBO_STARTER_MUD_SLAP, {COMBO_STARTER_SAND_ATTACK, COMBO_STARTER_MUD_SPORT, COMBO_STARTER_SANDSTORM, 0}}, // MUD_SLAP - {CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_RAIN_DANCE, COMBO_STARTER_LOCK_ON, 0, 0}}, // OCTAZOOKA - {CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, // SPIKES - {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_LOCK_ON, 0, 0, 0}}, // ZAP_CANNON - {CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, // FORESIGHT - {CONTEST_EFFECT_GREAT_APPEAL_BUT_NO_MORE_MOVES, CONTEST_CATEGORY_SMART, 0, {COMBO_STARTER_MEAN_LOOK, COMBO_STARTER_CURSE, COMBO_STARTER_ENDURE, 0}}, // DESTINY_BOND - {CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS, CONTEST_CATEGORY_BEAUTY, 0, {COMBO_STARTER_MEAN_LOOK, COMBO_STARTER_SING, 0, 0}}, // PERISH_SONG - {CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, CONTEST_CATEGORY_BEAUTY, 0, {0, 0, 0, 0}}, // ICY_WIND - {CONTEST_EFFECT_AVOID_STARTLE_ONCE, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_TAUNT, 0, 0, 0}}, // DETECT - {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_TOUGH, COMBO_STARTER_BONE_RUSH, {COMBO_STARTER_FOCUS_ENERGY, COMBO_STARTER_BONE_CLUB, COMBO_STARTER_BONEMERANG, 0}}, // BONE_RUSH - {CONTEST_EFFECT_DONT_EXCITE_AUDIENCE, CONTEST_CATEGORY_SMART, COMBO_STARTER_LOCK_ON, {0, 0, 0, 0}}, // LOCK_ON - {CONTEST_EFFECT_JAMS_OTHERS_BUT_MISS_ONE_TURN, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, // OUTRAGE - {CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER, CONTEST_CATEGORY_TOUGH, COMBO_STARTER_SANDSTORM, {0, 0, 0, 0}}, // SANDSTORM - {CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION, CONTEST_CATEGORY_SMART, 0, {COMBO_STARTER_GROWTH, 0, 0, 0}}, // GIGA_DRAIN - {CONTEST_EFFECT_AVOID_STARTLE_ONCE, CONTEST_CATEGORY_TOUGH, COMBO_STARTER_ENDURE, {0, 0, 0, 0}}, // ENDURE - {CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL, CONTEST_CATEGORY_CUTE, COMBO_STARTER_CHARM, {0, 0, 0, 0}}, // CHARM - {CONTEST_EFFECT_DONT_EXCITE_AUDIENCE, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_DEFENSE_CURL, COMBO_STARTER_HARDEN, 0, 0}}, // ROLLOUT - {CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_SWORDS_DANCE, 0, 0, 0}}, // FALSE_SWIPE - {CONTEST_EFFECT_BETTER_IF_FIRST, CONTEST_CATEGORY_CUTE, 0, {0, 0, 0, 0}}, // SWAGGER - {CONTEST_EFFECT_BETTER_IF_SAME_TYPE, CONTEST_CATEGORY_CUTE, 0, {0, 0, 0, 0}}, // MILK_DRINK - {CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_CHARGE, 0, 0, 0}}, // SPARK - {CONTEST_EFFECT_REPETITION_NOT_BORING, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_SWORDS_DANCE, 0, 0, 0}}, // FURY_CUTTER - {CONTEST_EFFECT_BETTER_IF_SAME_TYPE, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, // STEEL_WING - {CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS, CONTEST_CATEGORY_BEAUTY, COMBO_STARTER_MEAN_LOOK, {COMBO_STARTER_CURSE, 0, 0, 0}}, // MEAN_LOOK - {CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS, CONTEST_CATEGORY_CUTE, 0, {0, 0, 0, 0}}, // ATTRACT - {CONTEST_EFFECT_REPETITION_NOT_BORING, CONTEST_CATEGORY_CUTE, 0, {COMBO_STARTER_REST, 0, 0, 0}}, // SLEEP_TALK - {CONTEST_EFFECT_BETTER_IF_LAST, CONTEST_CATEGORY_BEAUTY, 0, {0, 0, 0, 0}}, // HEAL_BELL - {CONTEST_EFFECT_EXCITE_AUDIENCE_IN_ANY_CONTEST, CONTEST_CATEGORY_CUTE, 0, {0, 0, 0, 0}}, // RETURN - {CONTEST_EFFECT_REPETITION_NOT_BORING, CONTEST_CATEGORY_CUTE, 0, {0, 0, 0, 0}}, // PRESENT - {CONTEST_EFFECT_EXCITE_AUDIENCE_IN_ANY_CONTEST, CONTEST_CATEGORY_CUTE, 0, {0, 0, 0, 0}}, // FRUSTRATION - {CONTEST_EFFECT_AVOID_STARTLE, CONTEST_CATEGORY_BEAUTY, 0, {0, 0, 0, 0}}, // SAFEGUARD - {CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, CONTEST_CATEGORY_SMART, 0, {COMBO_STARTER_ENDURE, 0, 0, 0}}, // PAIN_SPLIT - {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_BEAUTY, 0, {COMBO_STARTER_SUNNY_DAY, 0, 0, 0}}, // SACRED_FIRE - {CONTEST_EFFECT_BETTER_WHEN_AUDIENCE_EXCITED, CONTEST_CATEGORY_TOUGH, 0, {0, 0, 0, 0}}, // MAGNITUDE - {CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_FOCUS_ENERGY, COMBO_STARTER_MIND_READER, 0, 0}}, // DYNAMIC_PUNCH - {CONTEST_EFFECT_BETTER_IF_SAME_TYPE, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, // MEGAHORN - {CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, CONTEST_CATEGORY_COOL, COMBO_STARTER_DRAGON_BREATH, {COMBO_STARTER_DRAGON_RAGE, COMBO_STARTER_DRAGON_DANCE, 0, 0}}, // DRAGON_BREATH - {CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS, CONTEST_CATEGORY_CUTE, 0, {0, 0, 0, 0}}, // BATON_PASS - {CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS, CONTEST_CATEGORY_CUTE, 0, {0, 0, 0, 0}}, // ENCORE - {CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, // PURSUIT - {CONTEST_EFFECT_AVOID_STARTLE_ONCE, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, // RAPID_SPIN - {CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, CONTEST_CATEGORY_CUTE, COMBO_STARTER_SWEET_SCENT, {0, 0, 0, 0}}, // SWEET_SCENT - {CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, // IRON_TAIL - {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_METAL_SOUND, 0, 0, 0}}, // METAL_CLAW - {CONTEST_EFFECT_NEXT_APPEAL_LATER, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_FAKE_OUT, 0, 0, 0}}, // VITAL_THROW - {CONTEST_EFFECT_QUALITY_DEPENDS_ON_TIMING, CONTEST_CATEGORY_BEAUTY, 0, {COMBO_STARTER_SUNNY_DAY, 0, 0, 0}}, // MORNING_SUN - {CONTEST_EFFECT_QUALITY_DEPENDS_ON_TIMING, CONTEST_CATEGORY_SMART, 0, {COMBO_STARTER_SUNNY_DAY, 0, 0, 0}}, // SYNTHESIS - {CONTEST_EFFECT_QUALITY_DEPENDS_ON_TIMING, CONTEST_CATEGORY_BEAUTY, 0, {COMBO_STARTER_SUNNY_DAY, 0, 0, 0}}, // MOONLIGHT - {CONTEST_EFFECT_REPETITION_NOT_BORING, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, // HIDDEN_POWER - {CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_FOCUS_ENERGY, 0, 0, 0}}, // CROSS_CHOP - {CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, // TWISTER - {CONTEST_EFFECT_BETTER_WHEN_AUDIENCE_EXCITED, CONTEST_CATEGORY_TOUGH, COMBO_STARTER_RAIN_DANCE, {0, 0, 0, 0}}, // RAIN_DANCE - {CONTEST_EFFECT_BETTER_WHEN_AUDIENCE_EXCITED, CONTEST_CATEGORY_BEAUTY, COMBO_STARTER_SUNNY_DAY, {0, 0, 0, 0}}, // SUNNY_DAY - {CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_SCARY_FACE, 0, 0, 0}}, // CRUNCH - {CONTEST_EFFECT_AVOID_STARTLE_ONCE, CONTEST_CATEGORY_BEAUTY, 0, {COMBO_STARTER_TAUNT, 0, 0, 0}}, // MIRROR_COAT - {CONTEST_EFFECT_BETTER_IF_SAME_TYPE, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, // PSYCH_UP - {CONTEST_EFFECT_NEXT_APPEAL_EARLIER, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, // EXTREME_SPEED - {CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, CONTEST_CATEGORY_TOUGH, 0, {0, 0, 0, 0}}, // ANCIENT_POWER - {CONTEST_EFFECT_SHIFT_JUDGE_ATTENTION, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, // SHADOW_BALL - {CONTEST_EFFECT_DONT_EXCITE_AUDIENCE, CONTEST_CATEGORY_SMART, 0, {COMBO_STARTER_PSYCHIC, COMBO_STARTER_KINESIS, COMBO_STARTER_CONFUSION, COMBO_STARTER_CALM_MIND}}, // FUTURE_SIGHT - {CONTEST_EFFECT_BETTER_WITH_GOOD_CONDITION, CONTEST_CATEGORY_TOUGH, 0, {0, 0, 0, 0}}, // ROCK_SMASH - {CONTEST_EFFECT_DONT_EXCITE_AUDIENCE, CONTEST_CATEGORY_BEAUTY, 0, {COMBO_STARTER_RAIN_DANCE, 0, 0, 0}}, // WHIRLPOOL - {CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, // BEAT_UP - {CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL, CONTEST_CATEGORY_CUTE, COMBO_STARTER_FAKE_OUT, {0, 0, 0, 0}}, // FAKE_OUT - {CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER, CONTEST_CATEGORY_CUTE, 0, {0, 0, 0, 0}}, // UPROAR - {CONTEST_EFFECT_AVOID_STARTLE_ONCE, CONTEST_CATEGORY_TOUGH, COMBO_STARTER_STOCKPILE, {0, 0, 0, 0}}, // STOCKPILE - {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_STOCKPILE, 0, 0, 0}}, // SPIT_UP - {CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_STOCKPILE, 0, 0, 0}}, // SWALLOW - {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_BEAUTY, 0, {COMBO_STARTER_SUNNY_DAY, 0, 0, 0}}, // HEAT_WAVE - {CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, CONTEST_CATEGORY_BEAUTY, COMBO_STARTER_HAIL, {0, 0, 0, 0}}, // HAIL - {CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS, CONTEST_CATEGORY_TOUGH, 0, {0, 0, 0, 0}}, // TORMENT - {CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS, CONTEST_CATEGORY_SMART, 0, {COMBO_STARTER_CHARM, 0, 0, 0}}, // FLATTER - {CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, CONTEST_CATEGORY_BEAUTY, 0, {COMBO_STARTER_SUNNY_DAY, 0, 0, 0}}, // WILL_O_WISP - {CONTEST_EFFECT_GREAT_APPEAL_BUT_NO_MORE_MOVES, CONTEST_CATEGORY_TOUGH, 0, {0, 0, 0, 0}}, // MEMENTO - {CONTEST_EFFECT_BETTER_IF_LAST, CONTEST_CATEGORY_CUTE, 0, {0, 0, 0, 0}}, // FACADE - {CONTEST_EFFECT_NEXT_APPEAL_LATER, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_FOCUS_ENERGY, 0, 0, 0}}, // FOCUS_PUNCH - {CONTEST_EFFECT_STARTLE_PREV_MON, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, // SMELLING_SALT - {CONTEST_EFFECT_DONT_EXCITE_AUDIENCE, CONTEST_CATEGORY_CUTE, 0, {0, 0, 0, 0}}, // FOLLOW_ME - {CONTEST_EFFECT_BETTER_WHEN_AUDIENCE_EXCITED, CONTEST_CATEGORY_BEAUTY, 0, {0, 0, 0, 0}}, // NATURE_POWER - {CONTEST_EFFECT_BETTER_IF_SAME_TYPE, CONTEST_CATEGORY_SMART, COMBO_STARTER_CHARGE, {0, 0, 0, 0}}, // CHARGE - {CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS, CONTEST_CATEGORY_SMART, COMBO_STARTER_TAUNT, {0, 0, 0, 0}}, // TAUNT - {CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, // HELPING_HAND - {CONTEST_EFFECT_BETTER_IF_SAME_TYPE, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, // TRICK - {CONTEST_EFFECT_APPEAL_AS_GOOD_AS_PREV_ONES, CONTEST_CATEGORY_CUTE, 0, {0, 0, 0, 0}}, // ROLE_PLAY - {CONTEST_EFFECT_DONT_EXCITE_AUDIENCE, CONTEST_CATEGORY_CUTE, 0, {0, 0, 0, 0}}, // WISH - {CONTEST_EFFECT_QUALITY_DEPENDS_ON_TIMING, CONTEST_CATEGORY_CUTE, 0, {0, 0, 0, 0}}, // ASSIST - {CONTEST_EFFECT_AVOID_STARTLE, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, // INGRAIN - {CONTEST_EFFECT_USER_MORE_EASILY_STARTLED, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_LOCK_ON, 0, 0, 0}}, // SUPERPOWER - {CONTEST_EFFECT_AVOID_STARTLE, CONTEST_CATEGORY_BEAUTY, 0, {0, 0, 0, 0}}, // MAGIC_COAT - {CONTEST_EFFECT_REPETITION_NOT_BORING, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, // RECYCLE - {CONTEST_EFFECT_NEXT_APPEAL_LATER, CONTEST_CATEGORY_TOUGH, 0, {0, 0, 0, 0}}, // REVENGE - {CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_FOCUS_ENERGY, 0, 0, 0}}, // BRICK_BREAK - {CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS, CONTEST_CATEGORY_CUTE, COMBO_STARTER_YAWN, {0, 0, 0, 0}}, // YAWN - {CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, CONTEST_CATEGORY_SMART, 0, {COMBO_STARTER_FAKE_OUT, 0, 0, 0}}, // KNOCK_OFF - {CONTEST_EFFECT_BETTER_IF_LAST, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_ENDURE, 0, 0, 0}}, // ENDEAVOR - {CONTEST_EFFECT_BETTER_WHEN_LATER, CONTEST_CATEGORY_BEAUTY, 0, {COMBO_STARTER_ENDURE, COMBO_STARTER_EARTHQUAKE, COMBO_STARTER_SUNNY_DAY, 0}}, // ERUPTION - {CONTEST_EFFECT_APPEAL_AS_GOOD_AS_PREV_ONES, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, // SKILL_SWAP - {CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, // IMPRISON - {CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, CONTEST_CATEGORY_CUTE, 0, {COMBO_STARTER_WATER_SPORT, COMBO_STARTER_SING, 0, 0}}, // REFRESH - {CONTEST_EFFECT_BETTER_WHEN_LATER, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_CURSE, 0, 0, 0}}, // GRUDGE - {CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, // SNATCH - {CONTEST_EFFECT_BETTER_WITH_GOOD_CONDITION, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, // SECRET_POWER - {CONTEST_EFFECT_AVOID_STARTLE_ONCE, CONTEST_CATEGORY_BEAUTY, COMBO_STARTER_DIVE, {COMBO_STARTER_RAIN_DANCE, COMBO_STARTER_SURF, 0, 0}}, // DIVE - {CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_FOCUS_ENERGY, COMBO_STARTER_FAKE_OUT, 0, 0}}, // ARM_THRUST - {CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, // CAMOUFLAGE - {CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, CONTEST_CATEGORY_BEAUTY, 0, {0, 0, 0, 0}}, // TAIL_GLOW - {CONTEST_EFFECT_STARTLE_PREV_MON, CONTEST_CATEGORY_SMART, 0, {COMBO_STARTER_CALM_MIND, 0, 0, 0}}, // LUSTER_PURGE - {CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, CONTEST_CATEGORY_SMART, 0, {COMBO_STARTER_CALM_MIND, 0, 0, 0}}, // MIST_BALL - {CONTEST_EFFECT_BETTER_IF_LAST, CONTEST_CATEGORY_BEAUTY, 0, {0, 0, 0, 0}}, // FEATHER_DANCE - {CONTEST_EFFECT_JAMS_OTHERS_BUT_MISS_ONE_TURN, CONTEST_CATEGORY_CUTE, 0, {0, 0, 0, 0}}, // TEETER_DANCE - {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_BEAUTY, 0, {COMBO_STARTER_SUNNY_DAY, 0, 0, 0}}, // BLAZE_KICK - {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_CUTE, COMBO_STARTER_MUD_SPORT, {COMBO_STARTER_MUD_SLAP, COMBO_STARTER_WATER_SPORT, 0, 0}}, // MUD_SPORT - {CONTEST_EFFECT_DONT_EXCITE_AUDIENCE, CONTEST_CATEGORY_BEAUTY, 0, {0, 0, 0, 0}}, // ICE_BALL - {CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, // NEEDLE_ARM - {CONTEST_EFFECT_BETTER_WHEN_LATER, CONTEST_CATEGORY_CUTE, 0, {COMBO_STARTER_YAWN, 0, 0, 0}}, // SLACK_OFF - {CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, // HYPER_VOICE - {CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, // POISON_FANG - {CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_SWORDS_DANCE, 0, 0, 0}}, // CRUSH_CLAW - {CONTEST_EFFECT_JAMS_OTHERS_BUT_MISS_ONE_TURN, CONTEST_CATEGORY_BEAUTY, 0, {COMBO_STARTER_SUNNY_DAY, 0, 0, 0}}, // BLAST_BURN - {CONTEST_EFFECT_JAMS_OTHERS_BUT_MISS_ONE_TURN, CONTEST_CATEGORY_BEAUTY, 0, {COMBO_STARTER_RAIN_DANCE, 0, 0, 0}}, // HYDRO_CANNON - {CONTEST_EFFECT_BETTER_IF_SAME_TYPE, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, // METEOR_MASH - {CONTEST_EFFECT_STARTLE_PREV_MON, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, // ASTONISH - {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_SMART, 0, {COMBO_STARTER_RAIN_DANCE, COMBO_STARTER_SUNNY_DAY, COMBO_STARTER_HAIL, COMBO_STARTER_SANDSTORM}}, // WEATHER_BALL - {CONTEST_EFFECT_BETTER_IF_LAST, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, // AROMATHERAPY - {CONTEST_EFFECT_BETTER_IF_LAST, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, // FAKE_TEARS - {CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, // AIR_CUTTER - {CONTEST_EFFECT_USER_MORE_EASILY_STARTLED, CONTEST_CATEGORY_BEAUTY, 0, {COMBO_STARTER_SUNNY_DAY, 0, 0, 0}}, // OVERHEAT - {CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, // ODOR_SLEUTH - {CONTEST_EFFECT_DONT_EXCITE_AUDIENCE, CONTEST_CATEGORY_SMART, 0, {COMBO_STARTER_ROCK_THROW, 0, 0, 0}}, // ROCK_TOMB - {CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, CONTEST_CATEGORY_BEAUTY, 0, {0, 0, 0, 0}}, // SILVER_WIND - {CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, CONTEST_CATEGORY_SMART, COMBO_STARTER_METAL_SOUND, {0, 0, 0, 0}}, // METAL_SOUND - {CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, // GRASS_WHISTLE - {CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS, CONTEST_CATEGORY_CUTE, 0, {0, 0, 0, 0}}, // TICKLE - {CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, // COSMIC_POWER - {CONTEST_EFFECT_BETTER_WHEN_LATER, CONTEST_CATEGORY_BEAUTY, 0, {COMBO_STARTER_RAIN_DANCE, 0, 0, 0}}, // WATER_SPOUT - {CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER, CONTEST_CATEGORY_BEAUTY, 0, {0, 0, 0, 0}}, // SIGNAL_BEAM - {CONTEST_EFFECT_BETTER_IF_FIRST, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, // SHADOW_PUNCH - {CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, // EXTRASENSORY - {CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_FOCUS_ENERGY, 0, 0, 0}}, // SKY_UPPERCUT - {CONTEST_EFFECT_DONT_EXCITE_AUDIENCE, CONTEST_CATEGORY_SMART, 0, {COMBO_STARTER_SANDSTORM, 0, 0, 0}}, // SAND_TOMB - {CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS, CONTEST_CATEGORY_BEAUTY, 0, {0, 0, 0, 0}}, // SHEER_COLD - {CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_RAIN_DANCE, 0, 0, 0}}, // MUDDY_WATER - {CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_GROWTH, 0, 0, 0}}, // BULLET_SEED - {CONTEST_EFFECT_BETTER_IF_FIRST, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, // AERIAL_ACE - {CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL, CONTEST_CATEGORY_BEAUTY, 0, {0, 0, 0, 0}}, // ICICLE_SPEAR - {CONTEST_EFFECT_AVOID_STARTLE, CONTEST_CATEGORY_TOUGH, 0, {0, 0, 0, 0}}, // IRON_DEFENSE - {CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS, CONTEST_CATEGORY_CUTE, 0, {0, 0, 0, 0}}, // BLOCK - {CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, // HOWL - {CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_DRAGON_BREATH, COMBO_STARTER_DRAGON_RAGE, COMBO_STARTER_DRAGON_DANCE, 0}}, // DRAGON_CLAW - {CONTEST_EFFECT_JAMS_OTHERS_BUT_MISS_ONE_TURN, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_GROWTH, 0, 0, 0}}, // FRENZY_PLANT - {CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, CONTEST_CATEGORY_BEAUTY, 0, {0, 0, 0, 0}}, // BULK_UP - {CONTEST_EFFECT_AVOID_STARTLE, CONTEST_CATEGORY_CUTE, 0, {0, 0, 0, 0}}, // BOUNCE - {CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, CONTEST_CATEGORY_TOUGH, 0, {0, 0, 0, 0}}, // MUD_SHOT - {CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, // POISON_TAIL - {CONTEST_EFFECT_APPEAL_AS_GOOD_AS_PREV_ONES, CONTEST_CATEGORY_CUTE, 0, {0, 0, 0, 0}}, // COVET - {CONTEST_EFFECT_USER_MORE_EASILY_STARTLED, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_CHARGE, 0, 0, 0}}, // VOLT_TACKLE - {CONTEST_EFFECT_BETTER_IF_FIRST, CONTEST_CATEGORY_BEAUTY, 0, {COMBO_STARTER_GROWTH, 0, 0, 0}}, // MAGICAL_LEAF - {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_CUTE, COMBO_STARTER_WATER_SPORT, {COMBO_STARTER_RAIN_DANCE, COMBO_STARTER_MUD_SPORT, 0, 0}}, // WATER_SPORT - {CONTEST_EFFECT_AVOID_STARTLE_ONCE, CONTEST_CATEGORY_SMART, COMBO_STARTER_CALM_MIND, {0, 0, 0, 0}}, // CALM_MIND - {CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, // LEAF_BLADE - {CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, CONTEST_CATEGORY_COOL, COMBO_STARTER_DRAGON_DANCE, {COMBO_STARTER_DRAGON_RAGE, COMBO_STARTER_DRAGON_BREATH, 0, 0}}, // DRAGON_DANCE - {CONTEST_EFFECT_BETTER_IF_SAME_TYPE, CONTEST_CATEGORY_TOUGH, 0, {0, 0, 0, 0}}, // ROCK_BLAST - {CONTEST_EFFECT_BETTER_IF_FIRST, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_CHARGE, 0, 0, 0}}, // SHOCK_WAVE - {CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER, CONTEST_CATEGORY_BEAUTY, 0, {COMBO_STARTER_RAIN_DANCE, 0, 0, 0}}, // WATER_PULSE - {CONTEST_EFFECT_DONT_EXCITE_AUDIENCE, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, // DOOM_DESIRE - {CONTEST_EFFECT_USER_MORE_EASILY_STARTLED, CONTEST_CATEGORY_SMART, 0, {COMBO_STARTER_CALM_MIND, 0, 0, 0}}, // PSYCHO_BOOST + [MOVE_NONE] = {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, + [MOVE_POUND] = {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_TOUGH, COMBO_STARTER_POUND, {0, 0, 0, 0}}, + [MOVE_KARATE_CHOP] = {CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_FOCUS_ENERGY, 0, 0, 0}}, + [MOVE_DOUBLE_SLAP] = {CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_POUND, 0, 0, 0}}, + [MOVE_COMET_PUNCH] = {CONTEST_EFFECT_BETTER_IF_SAME_TYPE, CONTEST_CATEGORY_TOUGH, 0, {0, 0, 0, 0}}, + [MOVE_MEGA_PUNCH] = {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_FOCUS_ENERGY, COMBO_STARTER_MIND_READER, 0, 0}}, + [MOVE_PAY_DAY] = {CONTEST_EFFECT_BETTER_WHEN_AUDIENCE_EXCITED, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, + [MOVE_FIRE_PUNCH] = {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_BEAUTY, COMBO_STARTER_FIRE_PUNCH, {COMBO_STARTER_SUNNY_DAY, COMBO_STARTER_THUNDER_PUNCH, COMBO_STARTER_ICE_PUNCH, 0}}, + [MOVE_ICE_PUNCH] = {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_BEAUTY, COMBO_STARTER_ICE_PUNCH, {COMBO_STARTER_THUNDER_PUNCH, COMBO_STARTER_FIRE_PUNCH, 0, 0}}, + [MOVE_THUNDER_PUNCH] = {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_COOL, COMBO_STARTER_THUNDER_PUNCH, {COMBO_STARTER_CHARGE, COMBO_STARTER_FIRE_PUNCH, COMBO_STARTER_ICE_PUNCH, 0}}, + [MOVE_SCRATCH] = {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_TOUGH, COMBO_STARTER_SCRATCH, {COMBO_STARTER_LEER, 0, 0, 0}}, + [MOVE_VICE_GRIP] = {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_TOUGH, COMBO_STARTER_VICE_GRIP, {0, 0, 0, 0}}, + [MOVE_GUILLOTINE] = {CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_VICE_GRIP, 0, 0, 0}}, + [MOVE_RAZOR_WIND] = {CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, + [MOVE_SWORDS_DANCE] = {CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, CONTEST_CATEGORY_BEAUTY, COMBO_STARTER_SWORDS_DANCE, {0, 0, 0, 0}}, + [MOVE_CUT] = {CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_SWORDS_DANCE, 0, 0, 0}}, + [MOVE_GUST] = {CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, + [MOVE_WING_ATTACK] = {CONTEST_EFFECT_BETTER_IF_SAME_TYPE, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, + [MOVE_WHIRLWIND] = {CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, + [MOVE_FLY] = {CONTEST_EFFECT_AVOID_STARTLE, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, + [MOVE_BIND] = {CONTEST_EFFECT_DONT_EXCITE_AUDIENCE, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_VICE_GRIP, 0, 0, 0}}, + [MOVE_SLAM] = {CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_POUND, 0, 0, 0}}, + [MOVE_VINE_WHIP] = {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_GROWTH, 0, 0, 0}}, + [MOVE_STOMP] = {CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, CONTEST_CATEGORY_TOUGH, 0, {0, COMBO_STARTER_LEER, 0, 0}}, + [MOVE_DOUBLE_KICK] = {CONTEST_EFFECT_BETTER_IF_SAME_TYPE, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, + [MOVE_MEGA_KICK] = {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_FOCUS_ENERGY, COMBO_STARTER_MIND_READER, 0, 0}}, + [MOVE_JUMP_KICK] = {CONTEST_EFFECT_USER_MORE_EASILY_STARTLED, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_MIND_READER, 0, 0, 0}}, + [MOVE_ROLLING_KICK] = {CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, + [MOVE_SAND_ATTACK] = {CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION, CONTEST_CATEGORY_CUTE, COMBO_STARTER_SAND_ATTACK, {COMBO_STARTER_MUD_SLAP, COMBO_STARTER_SANDSTORM, 0, 0}}, + [MOVE_HEADBUTT] = {CONTEST_EFFECT_STARTLE_PREV_MON, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_FOCUS_ENERGY, 0, 0, 0}}, + [MOVE_HORN_ATTACK] = {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_COOL, COMBO_STARTER_HORN_ATTACK, {COMBO_STARTER_LEER, 0, 0, 0}}, + [MOVE_FURY_ATTACK] = {CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_HORN_ATTACK, COMBO_STARTER_PECK, 0, 0}}, + [MOVE_HORN_DRILL] = {CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_HORN_ATTACK, 0, 0, 0}}, + [MOVE_TACKLE] = {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_DEFENSE_CURL, COMBO_STARTER_LEER, COMBO_STARTER_HARDEN, 0}}, + [MOVE_BODY_SLAM] = {CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, CONTEST_CATEGORY_TOUGH, 0, {0, 0, 0, 0}}, + [MOVE_WRAP] = {CONTEST_EFFECT_DONT_EXCITE_AUDIENCE, CONTEST_CATEGORY_TOUGH, 0, {0, 0, 0, 0}}, + [MOVE_TAKE_DOWN] = {CONTEST_EFFECT_USER_MORE_EASILY_STARTLED, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_FOCUS_ENERGY, COMBO_STARTER_HARDEN, 0, 0}}, + [MOVE_THRASH] = {CONTEST_EFFECT_JAMS_OTHERS_BUT_MISS_ONE_TURN, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_RAGE, 0, 0, 0}}, + [MOVE_DOUBLE_EDGE] = {CONTEST_EFFECT_USER_MORE_EASILY_STARTLED, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_FOCUS_ENERGY, COMBO_STARTER_HARDEN, 0, 0}}, + [MOVE_TAIL_WHIP] = {CONTEST_EFFECT_BETTER_IF_LAST, CONTEST_CATEGORY_CUTE, 0, {COMBO_STARTER_CHARM, 0, 0, 0}}, + [MOVE_POISON_STING] = {CONTEST_EFFECT_STARTLE_PREV_MON, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, + [MOVE_TWINEEDLE] = {CONTEST_EFFECT_STARTLE_PREV_MON, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, + [MOVE_PIN_MISSILE] = {CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, + [MOVE_LEER] = {CONTEST_EFFECT_DONT_EXCITE_AUDIENCE, CONTEST_CATEGORY_COOL, COMBO_STARTER_LEER, {COMBO_STARTER_RAGE, COMBO_STARTER_SCARY_FACE, 0, 0}}, + [MOVE_BITE] = {CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_LEER, COMBO_STARTER_SCARY_FACE, 0, 0}}, + [MOVE_GROWL] = {CONTEST_EFFECT_BETTER_IF_LAST, CONTEST_CATEGORY_CUTE, 0, {COMBO_STARTER_CHARM, 0, 0, 0}}, + [MOVE_ROAR] = {CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, + [MOVE_SING] = {CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS, CONTEST_CATEGORY_CUTE, COMBO_STARTER_SING, {0, 0, 0, 0}}, + [MOVE_SUPERSONIC] = {CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, + [MOVE_SONIC_BOOM] = {CONTEST_EFFECT_BETTER_IF_SAME_TYPE, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, + [MOVE_DISABLE] = {CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, + [MOVE_ACID] = {CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, + [MOVE_EMBER] = {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_BEAUTY, 0, {COMBO_STARTER_SUNNY_DAY, 0, 0, 0}}, + [MOVE_FLAMETHROWER] = {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_BEAUTY, 0, {COMBO_STARTER_SUNNY_DAY, 0, 0, 0}}, + [MOVE_MIST] = {CONTEST_EFFECT_AVOID_STARTLE, CONTEST_CATEGORY_BEAUTY, 0, {0, 0, 0, 0}}, + [MOVE_WATER_GUN] = {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_CUTE, 0, {COMBO_STARTER_RAIN_DANCE, COMBO_STARTER_WATER_SPORT, COMBO_STARTER_MUD_SPORT, 0}}, + [MOVE_HYDRO_PUMP] = {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_BEAUTY, 0, {COMBO_STARTER_RAIN_DANCE, 0, 0, 0}}, + [MOVE_SURF] = {CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL, CONTEST_CATEGORY_BEAUTY, COMBO_STARTER_SURF, {COMBO_STARTER_RAIN_DANCE, COMBO_STARTER_DIVE, 0, 0}}, + [MOVE_ICE_BEAM] = {CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL, CONTEST_CATEGORY_BEAUTY, 0, {0, 0, 0, 0}}, + [MOVE_BLIZZARD] = {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_BEAUTY, 0, {COMBO_STARTER_POWDER_SNOW, COMBO_STARTER_HAIL, 0, 0}}, + [MOVE_PSYBEAM] = {CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER, CONTEST_CATEGORY_BEAUTY, 0, {COMBO_STARTER_CALM_MIND, 0, 0, 0}}, + [MOVE_BUBBLE_BEAM] = {CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, CONTEST_CATEGORY_BEAUTY, 0, {COMBO_STARTER_RAIN_DANCE, 0, 0, 0}}, + [MOVE_AURORA_BEAM] = {CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL, CONTEST_CATEGORY_BEAUTY, 0, {0, 0, 0, 0}}, + [MOVE_HYPER_BEAM] = {CONTEST_EFFECT_JAMS_OTHERS_BUT_MISS_ONE_TURN, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, + [MOVE_PECK] = {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_COOL, COMBO_STARTER_PECK, {0, 0, 0, 0}}, + [MOVE_DRILL_PECK] = {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_PECK, 0, 0, 0}}, + [MOVE_SUBMISSION] = {CONTEST_EFFECT_USER_MORE_EASILY_STARTLED, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_MIND_READER, 0, 0, 0}}, + [MOVE_LOW_KICK] = {CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, CONTEST_CATEGORY_TOUGH, 0, {0, 0, 0, 0}}, + [MOVE_COUNTER] = {CONTEST_EFFECT_AVOID_STARTLE_ONCE, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_TAUNT, 0, 0, 0}}, + [MOVE_SEISMIC_TOSS] = {CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_FAKE_OUT, 0, 0, 0}}, + [MOVE_STRENGTH] = {CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL, CONTEST_CATEGORY_TOUGH, 0, {0, 0, 0, 0}}, + [MOVE_ABSORB] = {CONTEST_EFFECT_STARTLE_PREV_MON, CONTEST_CATEGORY_SMART, 0, {COMBO_STARTER_GROWTH, 0, 0, 0}}, + [MOVE_MEGA_DRAIN] = {CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, CONTEST_CATEGORY_SMART, 0, {COMBO_STARTER_GROWTH, 0, 0, 0}}, + [MOVE_LEECH_SEED] = {CONTEST_EFFECT_STARTLE_PREV_MONS, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, + [MOVE_GROWTH] = {CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, CONTEST_CATEGORY_BEAUTY, COMBO_STARTER_GROWTH, {0, 0, 0, 0}}, + [MOVE_RAZOR_LEAF] = {CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_GROWTH, 0, 0, 0}}, + [MOVE_SOLAR_BEAM] = {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_SUNNY_DAY, COMBO_STARTER_GROWTH, 0, 0}}, + [MOVE_POISON_POWDER] = {CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS, CONTEST_CATEGORY_SMART, 0, {COMBO_STARTER_SWEET_SCENT, 0, 0, 0}}, + [MOVE_STUN_SPORE] = {CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS, CONTEST_CATEGORY_SMART, 0, {COMBO_STARTER_SWEET_SCENT, 0, 0, 0}}, + [MOVE_SLEEP_POWDER] = {CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, CONTEST_CATEGORY_SMART, 0, {COMBO_STARTER_SWEET_SCENT, 0, 0, 0}}, + [MOVE_PETAL_DANCE] = {CONTEST_EFFECT_JAMS_OTHERS_BUT_MISS_ONE_TURN, CONTEST_CATEGORY_BEAUTY, 0, {COMBO_STARTER_GROWTH, 0, 0, 0}}, + [MOVE_STRING_SHOT] = {CONTEST_EFFECT_STARTLE_PREV_MON, CONTEST_CATEGORY_SMART, COMBO_STARTER_STRING_SHOT, {0, 0, 0, 0}}, + [MOVE_DRAGON_RAGE] = {CONTEST_EFFECT_BETTER_WHEN_LATER, CONTEST_CATEGORY_COOL, COMBO_STARTER_DRAGON_RAGE, {COMBO_STARTER_DRAGON_BREATH, COMBO_STARTER_DRAGON_DANCE, 0, 0}}, + [MOVE_FIRE_SPIN] = {CONTEST_EFFECT_DONT_EXCITE_AUDIENCE, CONTEST_CATEGORY_BEAUTY, 0, {COMBO_STARTER_SUNNY_DAY, 0, 0, 0}}, + [MOVE_THUNDER_SHOCK] = {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_CHARGE, 0, 0, 0}}, + [MOVE_THUNDERBOLT] = {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_CHARGE, 0, 0, 0}}, + [MOVE_THUNDER_WAVE] = {CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_CHARGE, 0, 0, 0}}, + [MOVE_THUNDER] = {CONTEST_EFFECT_STARTLE_PREV_MONS, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_CHARGE, COMBO_STARTER_RAIN_DANCE, COMBO_STARTER_LOCK_ON, 0}}, + [MOVE_ROCK_THROW] = {CONTEST_EFFECT_BETTER_IF_SAME_TYPE, CONTEST_CATEGORY_TOUGH, COMBO_STARTER_ROCK_THROW, {0, 0, 0, 0}}, + [MOVE_EARTHQUAKE] = {CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, CONTEST_CATEGORY_TOUGH, COMBO_STARTER_EARTHQUAKE, {0, 0, 0, 0}}, + [MOVE_FISSURE] = {CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_EARTHQUAKE, 0, 0, 0}}, + [MOVE_DIG] = {CONTEST_EFFECT_AVOID_STARTLE, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, + [MOVE_TOXIC] = {CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, + [MOVE_CONFUSION] = {CONTEST_EFFECT_STARTLE_PREV_MON, CONTEST_CATEGORY_SMART, COMBO_STARTER_CONFUSION, {COMBO_STARTER_PSYCHIC, COMBO_STARTER_KINESIS, COMBO_STARTER_CALM_MIND, 0}}, + [MOVE_PSYCHIC] = {CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, CONTEST_CATEGORY_SMART, COMBO_STARTER_PSYCHIC, {COMBO_STARTER_KINESIS, COMBO_STARTER_CONFUSION, COMBO_STARTER_CALM_MIND, 0}}, + [MOVE_HYPNOSIS] = {CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, CONTEST_CATEGORY_SMART, COMBO_STARTER_HYPNOSIS, {0, 0, 0, 0}}, + [MOVE_MEDITATE] = {CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, CONTEST_CATEGORY_BEAUTY, 0, {COMBO_STARTER_CALM_MIND, 0, 0, 0}}, + [MOVE_AGILITY] = {CONTEST_EFFECT_NEXT_APPEAL_EARLIER, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_DOUBLE_TEAM, 0, 0, 0}}, + [MOVE_QUICK_ATTACK] = {CONTEST_EFFECT_NEXT_APPEAL_EARLIER, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_DOUBLE_TEAM, 0, 0, 0}}, + [MOVE_RAGE] = {CONTEST_EFFECT_REPETITION_NOT_BORING, CONTEST_CATEGORY_COOL, COMBO_STARTER_RAGE, {0, 0, 0, 0}}, + [MOVE_TELEPORT] = {CONTEST_EFFECT_AVOID_STARTLE, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_DOUBLE_TEAM, COMBO_STARTER_PSYCHIC, COMBO_STARTER_KINESIS, COMBO_STARTER_CONFUSION}}, + [MOVE_NIGHT_SHADE] = {CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, + [MOVE_MIMIC] = {CONTEST_EFFECT_APPEAL_AS_GOOD_AS_PREV_ONE, CONTEST_CATEGORY_CUTE, 0, {0, 0, 0, 0}}, + [MOVE_SCREECH] = {CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, + [MOVE_DOUBLE_TEAM] = {CONTEST_EFFECT_AVOID_STARTLE_ONCE, CONTEST_CATEGORY_COOL, COMBO_STARTER_DOUBLE_TEAM, {0, 0, 0, 0}}, + [MOVE_RECOVER] = {CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, + [MOVE_HARDEN] = {CONTEST_EFFECT_AVOID_STARTLE_ONCE, CONTEST_CATEGORY_TOUGH, COMBO_STARTER_HARDEN, {0, 0, 0, 0}}, + [MOVE_MINIMIZE] = {CONTEST_EFFECT_AVOID_STARTLE_ONCE, CONTEST_CATEGORY_CUTE, 0, {0, 0, 0, 0}}, + [MOVE_SMOKESCREEN] = {CONTEST_EFFECT_SHIFT_JUDGE_ATTENTION, CONTEST_CATEGORY_SMART, 0, {COMBO_STARTER_SMOG, 0, 0, 0}}, + [MOVE_CONFUSE_RAY] = {CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, + [MOVE_WITHDRAW] = {CONTEST_EFFECT_AVOID_STARTLE, CONTEST_CATEGORY_CUTE, 0, {COMBO_STARTER_RAIN_DANCE, 0, 0, 0}}, + [MOVE_DEFENSE_CURL] = {CONTEST_EFFECT_AVOID_STARTLE_ONCE, CONTEST_CATEGORY_CUTE, COMBO_STARTER_DEFENSE_CURL, {0, 0, 0, 0}}, + [MOVE_BARRIER] = {CONTEST_EFFECT_AVOID_STARTLE, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, + [MOVE_LIGHT_SCREEN] = {CONTEST_EFFECT_AVOID_STARTLE, CONTEST_CATEGORY_BEAUTY, 0, {COMBO_STARTER_CALM_MIND, 0, 0, 0}}, + [MOVE_HAZE] = {CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS, CONTEST_CATEGORY_BEAUTY, 0, {0, 0, 0, 0}}, + [MOVE_REFLECT] = {CONTEST_EFFECT_AVOID_STARTLE, CONTEST_CATEGORY_SMART, 0, {COMBO_STARTER_CALM_MIND, 0, 0, 0}}, + [MOVE_FOCUS_ENERGY] = {CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, CONTEST_CATEGORY_COOL, COMBO_STARTER_FOCUS_ENERGY, {0, 0, 0, 0}}, + [MOVE_BIDE] = {CONTEST_EFFECT_AVOID_STARTLE, CONTEST_CATEGORY_TOUGH, 0, {0, 0, 0, 0}}, + [MOVE_METRONOME] = {CONTEST_EFFECT_REPETITION_NOT_BORING, CONTEST_CATEGORY_CUTE, 0, {0, 0, 0, 0}}, + [MOVE_MIRROR_MOVE] = {CONTEST_EFFECT_APPEAL_AS_GOOD_AS_PREV_ONE, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, + [MOVE_SELF_DESTRUCT] = {CONTEST_EFFECT_GREAT_APPEAL_BUT_NO_MORE_MOVES, CONTEST_CATEGORY_BEAUTY, 0, {0, 0, 0, 0}}, + [MOVE_EGG_BOMB] = {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_SOFT_BOILED, 0, 0, 0}}, + [MOVE_LICK] = {CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, CONTEST_CATEGORY_TOUGH, 0, {0, 0, 0, 0}}, + [MOVE_SMOG] = {CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, CONTEST_CATEGORY_TOUGH, COMBO_STARTER_SMOG, {0, 0, 0, 0}}, + [MOVE_SLUDGE] = {CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, CONTEST_CATEGORY_TOUGH, COMBO_STARTER_SLUDGE, {COMBO_STARTER_SLUDGE_BOMB, 0, 0, 0}}, + [MOVE_BONE_CLUB] = {CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION, CONTEST_CATEGORY_TOUGH, COMBO_STARTER_BONE_CLUB, {COMBO_STARTER_BONEMERANG, COMBO_STARTER_BONE_RUSH, 0, 0}}, + [MOVE_FIRE_BLAST] = {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_BEAUTY, 0, {COMBO_STARTER_SUNNY_DAY, 0, 0, 0}}, + [MOVE_WATERFALL] = {CONTEST_EFFECT_BETTER_IF_LAST, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_RAIN_DANCE, 0, 0, 0}}, + [MOVE_CLAMP] = {CONTEST_EFFECT_DONT_EXCITE_AUDIENCE, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_RAIN_DANCE, 0, 0, 0}}, + [MOVE_SWIFT] = {CONTEST_EFFECT_BETTER_IF_FIRST, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, + [MOVE_SKULL_BASH] = {CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, CONTEST_CATEGORY_TOUGH, 0, {0, 0, 0, 0}}, + [MOVE_SPIKE_CANNON] = {CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, + [MOVE_CONSTRICT] = {CONTEST_EFFECT_STARTLE_PREV_MON, CONTEST_CATEGORY_TOUGH, 0, {0, 0, 0, 0}}, + [MOVE_AMNESIA] = {CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, CONTEST_CATEGORY_CUTE, 0, {0, 0, 0, 0}}, + [MOVE_KINESIS] = {CONTEST_EFFECT_DONT_EXCITE_AUDIENCE, CONTEST_CATEGORY_SMART, COMBO_STARTER_KINESIS, {COMBO_STARTER_PSYCHIC, COMBO_STARTER_CONFUSION, 0, 0}}, + [MOVE_SOFT_BOILED] = {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_BEAUTY, COMBO_STARTER_SOFT_BOILED, {0, 0, 0, 0}}, + [MOVE_HI_JUMP_KICK] = {CONTEST_EFFECT_USER_MORE_EASILY_STARTLED, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_MIND_READER, 0, 0, 0}}, + [MOVE_GLARE] = {CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_LEER, 0, 0, 0}}, + [MOVE_DREAM_EATER] = {CONTEST_EFFECT_STARTLE_PREV_MONS, CONTEST_CATEGORY_SMART, 0, {COMBO_STARTER_HYPNOSIS, COMBO_STARTER_CALM_MIND, 0, 0}}, + [MOVE_POISON_GAS] = {CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, + [MOVE_BARRAGE] = {CONTEST_EFFECT_BETTER_IF_SAME_TYPE, CONTEST_CATEGORY_TOUGH, 0, {0, 0, 0, 0}}, + [MOVE_LEECH_LIFE] = {CONTEST_EFFECT_STARTLE_PREV_MON, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, + [MOVE_LOVELY_KISS] = {CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, CONTEST_CATEGORY_BEAUTY, 0, {0, 0, 0, 0}}, + [MOVE_SKY_ATTACK] = {CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, + [MOVE_TRANSFORM] = {CONTEST_EFFECT_REPETITION_NOT_BORING, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, + [MOVE_BUBBLE] = {CONTEST_EFFECT_STARTLE_PREV_MONS, CONTEST_CATEGORY_CUTE, 0, {COMBO_STARTER_RAIN_DANCE, 0, 0, 0}}, + [MOVE_DIZZY_PUNCH] = {CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, + [MOVE_SPORE] = {CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, CONTEST_CATEGORY_BEAUTY, 0, {0, 0, 0, 0}}, + [MOVE_FLASH] = {CONTEST_EFFECT_SHIFT_JUDGE_ATTENTION, CONTEST_CATEGORY_BEAUTY, 0, {0, 0, 0, 0}}, + [MOVE_PSYWAVE] = {CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS, CONTEST_CATEGORY_SMART, 0, {COMBO_STARTER_CALM_MIND, 0, 0, 0}}, + [MOVE_SPLASH] = {CONTEST_EFFECT_BETTER_IF_LAST, CONTEST_CATEGORY_CUTE, 0, {0, 0, 0, 0}}, + [MOVE_ACID_ARMOR] = {CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, CONTEST_CATEGORY_TOUGH, 0, {0, 0, 0, 0}}, + [MOVE_CRABHAMMER] = {CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_RAIN_DANCE, COMBO_STARTER_SWORDS_DANCE, 0, 0}}, + [MOVE_EXPLOSION] = {CONTEST_EFFECT_GREAT_APPEAL_BUT_NO_MORE_MOVES, CONTEST_CATEGORY_BEAUTY, 0, {0, 0, 0, 0}}, + [MOVE_FURY_SWIPES] = {CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_SCRATCH, 0, 0, 0}}, + [MOVE_BONEMERANG] = {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_TOUGH, COMBO_STARTER_BONEMERANG, {COMBO_STARTER_BONE_CLUB, COMBO_STARTER_BONE_RUSH, 0, 0}}, + [MOVE_REST] = {CONTEST_EFFECT_AVOID_STARTLE_ONCE, CONTEST_CATEGORY_CUTE, COMBO_STARTER_REST, {COMBO_STARTER_BELLY_DRUM, COMBO_STARTER_CHARM, COMBO_STARTER_YAWN, 0}}, + [MOVE_ROCK_SLIDE] = {CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_ROCK_THROW, 0, 0, 0}}, + [MOVE_HYPER_FANG] = {CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, + [MOVE_SHARPEN] = {CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, CONTEST_CATEGORY_CUTE, 0, {0, 0, 0, 0}}, + [MOVE_CONVERSION] = {CONTEST_EFFECT_BETTER_IF_SAME_TYPE, CONTEST_CATEGORY_BEAUTY, 0, {0, 0, 0, 0}}, + [MOVE_TRI_ATTACK] = {CONTEST_EFFECT_STARTLE_PREV_MONS, CONTEST_CATEGORY_BEAUTY, 0, {COMBO_STARTER_LOCK_ON, 0, 0, 0}}, + [MOVE_SUPER_FANG] = {CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_SCARY_FACE, 0, 0, 0}}, + [MOVE_SLASH] = {CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_SWORDS_DANCE, COMBO_STARTER_SCRATCH, 0, 0}}, + [MOVE_SUBSTITUTE] = {CONTEST_EFFECT_AVOID_STARTLE_ONCE, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, + [MOVE_STRUGGLE] = {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, + [MOVE_SKETCH] = {CONTEST_EFFECT_APPEAL_AS_GOOD_AS_PREV_ONE, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, + [MOVE_TRIPLE_KICK] = {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_FOCUS_ENERGY, 0, 0, 0}}, + [MOVE_THIEF] = {CONTEST_EFFECT_APPEAL_AS_GOOD_AS_PREV_ONES, CONTEST_CATEGORY_TOUGH, 0, {0, 0, 0, 0}}, + [MOVE_SPIDER_WEB] = {CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS, CONTEST_CATEGORY_SMART, 0, {COMBO_STARTER_STRING_SHOT, 0, 0, 0}}, + [MOVE_MIND_READER] = {CONTEST_EFFECT_DONT_EXCITE_AUDIENCE, CONTEST_CATEGORY_SMART, COMBO_STARTER_MIND_READER, {0, 0, 0, 0}}, + [MOVE_NIGHTMARE] = {CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, CONTEST_CATEGORY_SMART, 0, {COMBO_STARTER_HYPNOSIS, 0, 0, 0}}, + [MOVE_FLAME_WHEEL] = {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_BEAUTY, 0, {COMBO_STARTER_SUNNY_DAY, 0, 0, 0}}, + [MOVE_SNORE] = {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_CUTE, 0, {COMBO_STARTER_REST, 0, 0, 0}}, + [MOVE_CURSE] = {CONTEST_EFFECT_NEXT_APPEAL_LATER, CONTEST_CATEGORY_TOUGH, COMBO_STARTER_CURSE, {0, 0, 0, 0}}, + [MOVE_FLAIL] = {CONTEST_EFFECT_BETTER_WHEN_LATER, CONTEST_CATEGORY_CUTE, 0, {COMBO_STARTER_ENDURE, 0, 0, 0}}, + [MOVE_CONVERSION_2] = {CONTEST_EFFECT_BETTER_IF_SAME_TYPE, CONTEST_CATEGORY_BEAUTY, 0, {0, 0, 0, 0}}, + [MOVE_AEROBLAST] = {CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, + [MOVE_COTTON_SPORE] = {CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION, CONTEST_CATEGORY_BEAUTY, 0, {0, 0, 0, 0}}, + [MOVE_REVERSAL] = {CONTEST_EFFECT_BETTER_IF_LAST, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_ENDURE, 0, 0, 0}}, + [MOVE_SPITE] = {CONTEST_EFFECT_BETTER_WHEN_LATER, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_CURSE, 0, 0, 0}}, + [MOVE_POWDER_SNOW] = {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_BEAUTY, COMBO_STARTER_POWDER_SNOW, {COMBO_STARTER_HAIL, 0, 0, 0}}, + [MOVE_PROTECT] = {CONTEST_EFFECT_AVOID_STARTLE, CONTEST_CATEGORY_CUTE, 0, {COMBO_STARTER_HARDEN, 0, 0, 0}}, + [MOVE_MACH_PUNCH] = {CONTEST_EFFECT_NEXT_APPEAL_EARLIER, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, + [MOVE_SCARY_FACE] = {CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION, CONTEST_CATEGORY_TOUGH, COMBO_STARTER_SCARY_FACE, {COMBO_STARTER_RAGE, COMBO_STARTER_LEER, 0, 0}}, + [MOVE_FAINT_ATTACK] = {CONTEST_EFFECT_BETTER_IF_FIRST, CONTEST_CATEGORY_SMART, 0, {COMBO_STARTER_FAKE_OUT, COMBO_STARTER_LEER, COMBO_STARTER_POUND, 0}}, + [MOVE_SWEET_KISS] = {CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS, CONTEST_CATEGORY_CUTE, 0, {COMBO_STARTER_CHARM, 0, 0, 0}}, + [MOVE_BELLY_DRUM] = {CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, CONTEST_CATEGORY_CUTE, COMBO_STARTER_BELLY_DRUM, {0, 0, 0, 0}}, + [MOVE_SLUDGE_BOMB] = {CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION, CONTEST_CATEGORY_TOUGH, COMBO_STARTER_SLUDGE_BOMB, {COMBO_STARTER_SLUDGE, 0, 0, 0}}, + [MOVE_MUD_SLAP] = {CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION, CONTEST_CATEGORY_CUTE, COMBO_STARTER_MUD_SLAP, {COMBO_STARTER_SAND_ATTACK, COMBO_STARTER_MUD_SPORT, COMBO_STARTER_SANDSTORM, 0}}, + [MOVE_OCTAZOOKA] = {CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_RAIN_DANCE, COMBO_STARTER_LOCK_ON, 0, 0}}, + [MOVE_SPIKES] = {CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, + [MOVE_ZAP_CANNON] = {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_LOCK_ON, 0, 0, 0}}, + [MOVE_FORESIGHT] = {CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, + [MOVE_DESTINY_BOND] = {CONTEST_EFFECT_GREAT_APPEAL_BUT_NO_MORE_MOVES, CONTEST_CATEGORY_SMART, 0, {COMBO_STARTER_MEAN_LOOK, COMBO_STARTER_CURSE, COMBO_STARTER_ENDURE, 0}}, + [MOVE_PERISH_SONG] = {CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS, CONTEST_CATEGORY_BEAUTY, 0, {COMBO_STARTER_MEAN_LOOK, COMBO_STARTER_SING, 0, 0}}, + [MOVE_ICY_WIND] = {CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, CONTEST_CATEGORY_BEAUTY, 0, {0, 0, 0, 0}}, + [MOVE_DETECT] = {CONTEST_EFFECT_AVOID_STARTLE_ONCE, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_TAUNT, 0, 0, 0}}, + [MOVE_BONE_RUSH] = {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_TOUGH, COMBO_STARTER_BONE_RUSH, {COMBO_STARTER_FOCUS_ENERGY, COMBO_STARTER_BONE_CLUB, COMBO_STARTER_BONEMERANG, 0}}, + [MOVE_LOCK_ON] = {CONTEST_EFFECT_DONT_EXCITE_AUDIENCE, CONTEST_CATEGORY_SMART, COMBO_STARTER_LOCK_ON, {0, 0, 0, 0}}, + [MOVE_OUTRAGE] = {CONTEST_EFFECT_JAMS_OTHERS_BUT_MISS_ONE_TURN, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, + [MOVE_SANDSTORM] = {CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER, CONTEST_CATEGORY_TOUGH, COMBO_STARTER_SANDSTORM, {0, 0, 0, 0}}, + [MOVE_GIGA_DRAIN] = {CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION, CONTEST_CATEGORY_SMART, 0, {COMBO_STARTER_GROWTH, 0, 0, 0}}, + [MOVE_ENDURE] = {CONTEST_EFFECT_AVOID_STARTLE_ONCE, CONTEST_CATEGORY_TOUGH, COMBO_STARTER_ENDURE, {0, 0, 0, 0}}, + [MOVE_CHARM] = {CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL, CONTEST_CATEGORY_CUTE, COMBO_STARTER_CHARM, {0, 0, 0, 0}}, + [MOVE_ROLLOUT] = {CONTEST_EFFECT_DONT_EXCITE_AUDIENCE, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_DEFENSE_CURL, COMBO_STARTER_HARDEN, 0, 0}}, + [MOVE_FALSE_SWIPE] = {CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_SWORDS_DANCE, 0, 0, 0}}, + [MOVE_SWAGGER] = {CONTEST_EFFECT_BETTER_IF_FIRST, CONTEST_CATEGORY_CUTE, 0, {0, 0, 0, 0}}, + [MOVE_MILK_DRINK] = {CONTEST_EFFECT_BETTER_IF_SAME_TYPE, CONTEST_CATEGORY_CUTE, 0, {0, 0, 0, 0}}, + [MOVE_SPARK] = {CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_CHARGE, 0, 0, 0}}, + [MOVE_FURY_CUTTER] = {CONTEST_EFFECT_REPETITION_NOT_BORING, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_SWORDS_DANCE, 0, 0, 0}}, + [MOVE_STEEL_WING] = {CONTEST_EFFECT_BETTER_IF_SAME_TYPE, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, + [MOVE_MEAN_LOOK] = {CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS, CONTEST_CATEGORY_BEAUTY, COMBO_STARTER_MEAN_LOOK, {COMBO_STARTER_CURSE, 0, 0, 0}}, + [MOVE_ATTRACT] = {CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS, CONTEST_CATEGORY_CUTE, 0, {0, 0, 0, 0}}, + [MOVE_SLEEP_TALK] = {CONTEST_EFFECT_REPETITION_NOT_BORING, CONTEST_CATEGORY_CUTE, 0, {COMBO_STARTER_REST, 0, 0, 0}}, + [MOVE_HEAL_BELL] = {CONTEST_EFFECT_BETTER_IF_LAST, CONTEST_CATEGORY_BEAUTY, 0, {0, 0, 0, 0}}, + [MOVE_RETURN] = {CONTEST_EFFECT_EXCITE_AUDIENCE_IN_ANY_CONTEST, CONTEST_CATEGORY_CUTE, 0, {0, 0, 0, 0}}, + [MOVE_PRESENT] = {CONTEST_EFFECT_REPETITION_NOT_BORING, CONTEST_CATEGORY_CUTE, 0, {0, 0, 0, 0}}, + [MOVE_FRUSTRATION] = {CONTEST_EFFECT_EXCITE_AUDIENCE_IN_ANY_CONTEST, CONTEST_CATEGORY_CUTE, 0, {0, 0, 0, 0}}, + [MOVE_SAFEGUARD] = {CONTEST_EFFECT_AVOID_STARTLE, CONTEST_CATEGORY_BEAUTY, 0, {0, 0, 0, 0}}, + [MOVE_PAIN_SPLIT] = {CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, CONTEST_CATEGORY_SMART, 0, {COMBO_STARTER_ENDURE, 0, 0, 0}}, + [MOVE_SACRED_FIRE] = {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_BEAUTY, 0, {COMBO_STARTER_SUNNY_DAY, 0, 0, 0}}, + [MOVE_MAGNITUDE] = {CONTEST_EFFECT_BETTER_WHEN_AUDIENCE_EXCITED, CONTEST_CATEGORY_TOUGH, 0, {0, 0, 0, 0}}, + [MOVE_DYNAMIC_PUNCH] = {CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_FOCUS_ENERGY, COMBO_STARTER_MIND_READER, 0, 0}}, + [MOVE_MEGAHORN] = {CONTEST_EFFECT_BETTER_IF_SAME_TYPE, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, + [MOVE_DRAGON_BREATH] = {CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, CONTEST_CATEGORY_COOL, COMBO_STARTER_DRAGON_BREATH, {COMBO_STARTER_DRAGON_RAGE, COMBO_STARTER_DRAGON_DANCE, 0, 0}}, + [MOVE_BATON_PASS] = {CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS, CONTEST_CATEGORY_CUTE, 0, {0, 0, 0, 0}}, + [MOVE_ENCORE] = {CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS, CONTEST_CATEGORY_CUTE, 0, {0, 0, 0, 0}}, + [MOVE_PURSUIT] = {CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, + [MOVE_RAPID_SPIN] = {CONTEST_EFFECT_AVOID_STARTLE_ONCE, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, + [MOVE_SWEET_SCENT] = {CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, CONTEST_CATEGORY_CUTE, COMBO_STARTER_SWEET_SCENT, {0, 0, 0, 0}}, + [MOVE_IRON_TAIL] = {CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, + [MOVE_METAL_CLAW] = {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_METAL_SOUND, 0, 0, 0}}, + [MOVE_VITAL_THROW] = {CONTEST_EFFECT_NEXT_APPEAL_LATER, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_FAKE_OUT, 0, 0, 0}}, + [MOVE_MORNING_SUN] = {CONTEST_EFFECT_QUALITY_DEPENDS_ON_TIMING, CONTEST_CATEGORY_BEAUTY, 0, {COMBO_STARTER_SUNNY_DAY, 0, 0, 0}}, + [MOVE_SYNTHESIS] = {CONTEST_EFFECT_QUALITY_DEPENDS_ON_TIMING, CONTEST_CATEGORY_SMART, 0, {COMBO_STARTER_SUNNY_DAY, 0, 0, 0}}, + [MOVE_MOONLIGHT] = {CONTEST_EFFECT_QUALITY_DEPENDS_ON_TIMING, CONTEST_CATEGORY_BEAUTY, 0, {COMBO_STARTER_SUNNY_DAY, 0, 0, 0}}, + [MOVE_HIDDEN_POWER] = {CONTEST_EFFECT_REPETITION_NOT_BORING, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, + [MOVE_CROSS_CHOP] = {CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_FOCUS_ENERGY, 0, 0, 0}}, + [MOVE_TWISTER] = {CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, + [MOVE_RAIN_DANCE] = {CONTEST_EFFECT_BETTER_WHEN_AUDIENCE_EXCITED, CONTEST_CATEGORY_TOUGH, COMBO_STARTER_RAIN_DANCE, {0, 0, 0, 0}}, + [MOVE_SUNNY_DAY] = {CONTEST_EFFECT_BETTER_WHEN_AUDIENCE_EXCITED, CONTEST_CATEGORY_BEAUTY, COMBO_STARTER_SUNNY_DAY, {0, 0, 0, 0}}, + [MOVE_CRUNCH] = {CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_SCARY_FACE, 0, 0, 0}}, + [MOVE_MIRROR_COAT] = {CONTEST_EFFECT_AVOID_STARTLE_ONCE, CONTEST_CATEGORY_BEAUTY, 0, {COMBO_STARTER_TAUNT, 0, 0, 0}}, + [MOVE_PSYCH_UP] = {CONTEST_EFFECT_BETTER_IF_SAME_TYPE, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, + [MOVE_EXTREME_SPEED] = {CONTEST_EFFECT_NEXT_APPEAL_EARLIER, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, + [MOVE_ANCIENT_POWER] = {CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, CONTEST_CATEGORY_TOUGH, 0, {0, 0, 0, 0}}, + [MOVE_SHADOW_BALL] = {CONTEST_EFFECT_SHIFT_JUDGE_ATTENTION, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, + [MOVE_FUTURE_SIGHT] = {CONTEST_EFFECT_DONT_EXCITE_AUDIENCE, CONTEST_CATEGORY_SMART, 0, {COMBO_STARTER_PSYCHIC, COMBO_STARTER_KINESIS, COMBO_STARTER_CONFUSION, COMBO_STARTER_CALM_MIND}}, + [MOVE_ROCK_SMASH] = {CONTEST_EFFECT_BETTER_WITH_GOOD_CONDITION, CONTEST_CATEGORY_TOUGH, 0, {0, 0, 0, 0}}, + [MOVE_WHIRLPOOL] = {CONTEST_EFFECT_DONT_EXCITE_AUDIENCE, CONTEST_CATEGORY_BEAUTY, 0, {COMBO_STARTER_RAIN_DANCE, 0, 0, 0}}, + [MOVE_BEAT_UP] = {CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, + [MOVE_FAKE_OUT] = {CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL, CONTEST_CATEGORY_CUTE, COMBO_STARTER_FAKE_OUT, {0, 0, 0, 0}}, + [MOVE_UPROAR] = {CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER, CONTEST_CATEGORY_CUTE, 0, {0, 0, 0, 0}}, + [MOVE_STOCKPILE] = {CONTEST_EFFECT_AVOID_STARTLE_ONCE, CONTEST_CATEGORY_TOUGH, COMBO_STARTER_STOCKPILE, {0, 0, 0, 0}}, + [MOVE_SPIT_UP] = {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_STOCKPILE, 0, 0, 0}}, + [MOVE_SWALLOW] = {CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_STOCKPILE, 0, 0, 0}}, + [MOVE_HEAT_WAVE] = {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_BEAUTY, 0, {COMBO_STARTER_SUNNY_DAY, 0, 0, 0}}, + [MOVE_HAIL] = {CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, CONTEST_CATEGORY_BEAUTY, COMBO_STARTER_HAIL, {0, 0, 0, 0}}, + [MOVE_TORMENT] = {CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS, CONTEST_CATEGORY_TOUGH, 0, {0, 0, 0, 0}}, + [MOVE_FLATTER] = {CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS, CONTEST_CATEGORY_SMART, 0, {COMBO_STARTER_CHARM, 0, 0, 0}}, + [MOVE_WILL_O_WISP] = {CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, CONTEST_CATEGORY_BEAUTY, 0, {COMBO_STARTER_SUNNY_DAY, 0, 0, 0}}, + [MOVE_MEMENTO] = {CONTEST_EFFECT_GREAT_APPEAL_BUT_NO_MORE_MOVES, CONTEST_CATEGORY_TOUGH, 0, {0, 0, 0, 0}}, + [MOVE_FACADE] = {CONTEST_EFFECT_BETTER_IF_LAST, CONTEST_CATEGORY_CUTE, 0, {0, 0, 0, 0}}, + [MOVE_FOCUS_PUNCH] = {CONTEST_EFFECT_NEXT_APPEAL_LATER, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_FOCUS_ENERGY, 0, 0, 0}}, + [MOVE_SMELLING_SALT] = {CONTEST_EFFECT_STARTLE_PREV_MON, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, + [MOVE_FOLLOW_ME] = {CONTEST_EFFECT_DONT_EXCITE_AUDIENCE, CONTEST_CATEGORY_CUTE, 0, {0, 0, 0, 0}}, + [MOVE_NATURE_POWER] = {CONTEST_EFFECT_BETTER_WHEN_AUDIENCE_EXCITED, CONTEST_CATEGORY_BEAUTY, 0, {0, 0, 0, 0}}, + [MOVE_CHARGE] = {CONTEST_EFFECT_BETTER_IF_SAME_TYPE, CONTEST_CATEGORY_SMART, COMBO_STARTER_CHARGE, {0, 0, 0, 0}}, + [MOVE_TAUNT] = {CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS, CONTEST_CATEGORY_SMART, COMBO_STARTER_TAUNT, {0, 0, 0, 0}}, + [MOVE_HELPING_HAND] = {CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, + [MOVE_TRICK] = {CONTEST_EFFECT_BETTER_IF_SAME_TYPE, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, + [MOVE_ROLE_PLAY] = {CONTEST_EFFECT_APPEAL_AS_GOOD_AS_PREV_ONES, CONTEST_CATEGORY_CUTE, 0, {0, 0, 0, 0}}, + [MOVE_WISH] = {CONTEST_EFFECT_DONT_EXCITE_AUDIENCE, CONTEST_CATEGORY_CUTE, 0, {0, 0, 0, 0}}, + [MOVE_ASSIST] = {CONTEST_EFFECT_QUALITY_DEPENDS_ON_TIMING, CONTEST_CATEGORY_CUTE, 0, {0, 0, 0, 0}}, + [MOVE_INGRAIN] = {CONTEST_EFFECT_AVOID_STARTLE, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, + [MOVE_SUPERPOWER] = {CONTEST_EFFECT_USER_MORE_EASILY_STARTLED, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_LOCK_ON, 0, 0, 0}}, + [MOVE_MAGIC_COAT] = {CONTEST_EFFECT_AVOID_STARTLE, CONTEST_CATEGORY_BEAUTY, 0, {0, 0, 0, 0}}, + [MOVE_RECYCLE] = {CONTEST_EFFECT_REPETITION_NOT_BORING, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, + [MOVE_REVENGE] = {CONTEST_EFFECT_NEXT_APPEAL_LATER, CONTEST_CATEGORY_TOUGH, 0, {0, 0, 0, 0}}, + [MOVE_BRICK_BREAK] = {CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_FOCUS_ENERGY, 0, 0, 0}}, + [MOVE_YAWN] = {CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS, CONTEST_CATEGORY_CUTE, COMBO_STARTER_YAWN, {0, 0, 0, 0}}, + [MOVE_KNOCK_OFF] = {CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, CONTEST_CATEGORY_SMART, 0, {COMBO_STARTER_FAKE_OUT, 0, 0, 0}}, + [MOVE_ENDEAVOR] = {CONTEST_EFFECT_BETTER_IF_LAST, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_ENDURE, 0, 0, 0}}, + [MOVE_ERUPTION] = {CONTEST_EFFECT_BETTER_WHEN_LATER, CONTEST_CATEGORY_BEAUTY, 0, {COMBO_STARTER_ENDURE, COMBO_STARTER_EARTHQUAKE, COMBO_STARTER_SUNNY_DAY, 0}}, + [MOVE_SKILL_SWAP] = {CONTEST_EFFECT_APPEAL_AS_GOOD_AS_PREV_ONES, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, + [MOVE_IMPRISON] = {CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, + [MOVE_REFRESH] = {CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, CONTEST_CATEGORY_CUTE, 0, {COMBO_STARTER_WATER_SPORT, COMBO_STARTER_SING, 0, 0}}, + [MOVE_GRUDGE] = {CONTEST_EFFECT_BETTER_WHEN_LATER, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_CURSE, 0, 0, 0}}, + [MOVE_SNATCH] = {CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, + [MOVE_SECRET_POWER] = {CONTEST_EFFECT_BETTER_WITH_GOOD_CONDITION, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, + [MOVE_DIVE] = {CONTEST_EFFECT_AVOID_STARTLE_ONCE, CONTEST_CATEGORY_BEAUTY, COMBO_STARTER_DIVE, {COMBO_STARTER_RAIN_DANCE, COMBO_STARTER_SURF, 0, 0}}, + [MOVE_ARM_THRUST] = {CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_FOCUS_ENERGY, COMBO_STARTER_FAKE_OUT, 0, 0}}, + [MOVE_CAMOUFLAGE] = {CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, + [MOVE_TAIL_GLOW] = {CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, CONTEST_CATEGORY_BEAUTY, 0, {0, 0, 0, 0}}, + [MOVE_LUSTER_PURGE] = {CONTEST_EFFECT_STARTLE_PREV_MON, CONTEST_CATEGORY_SMART, 0, {COMBO_STARTER_CALM_MIND, 0, 0, 0}}, + [MOVE_MIST_BALL] = {CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, CONTEST_CATEGORY_SMART, 0, {COMBO_STARTER_CALM_MIND, 0, 0, 0}}, + [MOVE_FEATHER_DANCE] = {CONTEST_EFFECT_BETTER_IF_LAST, CONTEST_CATEGORY_BEAUTY, 0, {0, 0, 0, 0}}, + [MOVE_TEETER_DANCE] = {CONTEST_EFFECT_JAMS_OTHERS_BUT_MISS_ONE_TURN, CONTEST_CATEGORY_CUTE, 0, {0, 0, 0, 0}}, + [MOVE_BLAZE_KICK] = {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_BEAUTY, 0, {COMBO_STARTER_SUNNY_DAY, 0, 0, 0}}, + [MOVE_MUD_SPORT] = {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_CUTE, COMBO_STARTER_MUD_SPORT, {COMBO_STARTER_MUD_SLAP, COMBO_STARTER_WATER_SPORT, 0, 0}}, + [MOVE_ICE_BALL] = {CONTEST_EFFECT_DONT_EXCITE_AUDIENCE, CONTEST_CATEGORY_BEAUTY, 0, {0, 0, 0, 0}}, + [MOVE_NEEDLE_ARM] = {CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, + [MOVE_SLACK_OFF] = {CONTEST_EFFECT_BETTER_WHEN_LATER, CONTEST_CATEGORY_CUTE, 0, {COMBO_STARTER_YAWN, 0, 0, 0}}, + [MOVE_HYPER_VOICE] = {CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, + [MOVE_POISON_FANG] = {CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, + [MOVE_CRUSH_CLAW] = {CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_SWORDS_DANCE, 0, 0, 0}}, + [MOVE_BLAST_BURN] = {CONTEST_EFFECT_JAMS_OTHERS_BUT_MISS_ONE_TURN, CONTEST_CATEGORY_BEAUTY, 0, {COMBO_STARTER_SUNNY_DAY, 0, 0, 0}}, + [MOVE_HYDRO_CANNON] = {CONTEST_EFFECT_JAMS_OTHERS_BUT_MISS_ONE_TURN, CONTEST_CATEGORY_BEAUTY, 0, {COMBO_STARTER_RAIN_DANCE, 0, 0, 0}}, + [MOVE_METEOR_MASH] = {CONTEST_EFFECT_BETTER_IF_SAME_TYPE, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, + [MOVE_ASTONISH] = {CONTEST_EFFECT_STARTLE_PREV_MON, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, + [MOVE_WEATHER_BALL] = {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_SMART, 0, {COMBO_STARTER_RAIN_DANCE, COMBO_STARTER_SUNNY_DAY, COMBO_STARTER_HAIL, COMBO_STARTER_SANDSTORM}}, + [MOVE_AROMATHERAPY] = {CONTEST_EFFECT_BETTER_IF_LAST, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, + [MOVE_FAKE_TEARS] = {CONTEST_EFFECT_BETTER_IF_LAST, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, + [MOVE_AIR_CUTTER] = {CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, + [MOVE_OVERHEAT] = {CONTEST_EFFECT_USER_MORE_EASILY_STARTLED, CONTEST_CATEGORY_BEAUTY, 0, {COMBO_STARTER_SUNNY_DAY, 0, 0, 0}}, + [MOVE_ODOR_SLEUTH] = {CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, + [MOVE_ROCK_TOMB] = {CONTEST_EFFECT_DONT_EXCITE_AUDIENCE, CONTEST_CATEGORY_SMART, 0, {COMBO_STARTER_ROCK_THROW, 0, 0, 0}}, + [MOVE_SILVER_WIND] = {CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, CONTEST_CATEGORY_BEAUTY, 0, {0, 0, 0, 0}}, + [MOVE_METAL_SOUND] = {CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, CONTEST_CATEGORY_SMART, COMBO_STARTER_METAL_SOUND, {0, 0, 0, 0}}, + [MOVE_GRASS_WHISTLE] = {CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, + [MOVE_TICKLE] = {CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS, CONTEST_CATEGORY_CUTE, 0, {0, 0, 0, 0}}, + [MOVE_COSMIC_POWER] = {CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, + [MOVE_WATER_SPOUT] = {CONTEST_EFFECT_BETTER_WHEN_LATER, CONTEST_CATEGORY_BEAUTY, 0, {COMBO_STARTER_RAIN_DANCE, 0, 0, 0}}, + [MOVE_SIGNAL_BEAM] = {CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER, CONTEST_CATEGORY_BEAUTY, 0, {0, 0, 0, 0}}, + [MOVE_SHADOW_PUNCH] = {CONTEST_EFFECT_BETTER_IF_FIRST, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, + [MOVE_EXTRASENSORY] = {CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, + [MOVE_SKY_UPPERCUT] = {CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_FOCUS_ENERGY, 0, 0, 0}}, + [MOVE_SAND_TOMB] = {CONTEST_EFFECT_DONT_EXCITE_AUDIENCE, CONTEST_CATEGORY_SMART, 0, {COMBO_STARTER_SANDSTORM, 0, 0, 0}}, + [MOVE_SHEER_COLD] = {CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS, CONTEST_CATEGORY_BEAUTY, 0, {0, 0, 0, 0}}, + [MOVE_MUDDY_WATER] = {CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_RAIN_DANCE, 0, 0, 0}}, + [MOVE_BULLET_SEED] = {CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_GROWTH, 0, 0, 0}}, + [MOVE_AERIAL_ACE] = {CONTEST_EFFECT_BETTER_IF_FIRST, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, + [MOVE_ICICLE_SPEAR] = {CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL, CONTEST_CATEGORY_BEAUTY, 0, {0, 0, 0, 0}}, + [MOVE_IRON_DEFENSE] = {CONTEST_EFFECT_AVOID_STARTLE, CONTEST_CATEGORY_TOUGH, 0, {0, 0, 0, 0}}, + [MOVE_BLOCK] = {CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS, CONTEST_CATEGORY_CUTE, 0, {0, 0, 0, 0}}, + [MOVE_HOWL] = {CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, + [MOVE_DRAGON_CLAW] = {CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_DRAGON_BREATH, COMBO_STARTER_DRAGON_RAGE, COMBO_STARTER_DRAGON_DANCE, 0}}, + [MOVE_FRENZY_PLANT] = {CONTEST_EFFECT_JAMS_OTHERS_BUT_MISS_ONE_TURN, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_GROWTH, 0, 0, 0}}, + [MOVE_BULK_UP] = {CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, CONTEST_CATEGORY_BEAUTY, 0, {0, 0, 0, 0}}, + [MOVE_BOUNCE] = {CONTEST_EFFECT_AVOID_STARTLE, CONTEST_CATEGORY_CUTE, 0, {0, 0, 0, 0}}, + [MOVE_MUD_SHOT] = {CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, CONTEST_CATEGORY_TOUGH, 0, {0, 0, 0, 0}}, + [MOVE_POISON_TAIL] = {CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, + [MOVE_COVET] = {CONTEST_EFFECT_APPEAL_AS_GOOD_AS_PREV_ONES, CONTEST_CATEGORY_CUTE, 0, {0, 0, 0, 0}}, + [MOVE_VOLT_TACKLE] = {CONTEST_EFFECT_USER_MORE_EASILY_STARTLED, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_CHARGE, 0, 0, 0}}, + [MOVE_MAGICAL_LEAF] = {CONTEST_EFFECT_BETTER_IF_FIRST, CONTEST_CATEGORY_BEAUTY, 0, {COMBO_STARTER_GROWTH, 0, 0, 0}}, + [MOVE_WATER_SPORT] = {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_CUTE, COMBO_STARTER_WATER_SPORT, {COMBO_STARTER_RAIN_DANCE, COMBO_STARTER_MUD_SPORT, 0, 0}}, + [MOVE_CALM_MIND] = {CONTEST_EFFECT_AVOID_STARTLE_ONCE, CONTEST_CATEGORY_SMART, COMBO_STARTER_CALM_MIND, {0, 0, 0, 0}}, + [MOVE_LEAF_BLADE] = {CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, + [MOVE_DRAGON_DANCE] = {CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, CONTEST_CATEGORY_COOL, COMBO_STARTER_DRAGON_DANCE, {COMBO_STARTER_DRAGON_RAGE, COMBO_STARTER_DRAGON_BREATH, 0, 0}}, + [MOVE_ROCK_BLAST] = {CONTEST_EFFECT_BETTER_IF_SAME_TYPE, CONTEST_CATEGORY_TOUGH, 0, {0, 0, 0, 0}}, + [MOVE_SHOCK_WAVE] = {CONTEST_EFFECT_BETTER_IF_FIRST, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_CHARGE, 0, 0, 0}}, + [MOVE_WATER_PULSE] = {CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER, CONTEST_CATEGORY_BEAUTY, 0, {COMBO_STARTER_RAIN_DANCE, 0, 0, 0}}, + [MOVE_DOOM_DESIRE] = {CONTEST_EFFECT_DONT_EXCITE_AUDIENCE, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, + [MOVE_PSYCHO_BOOST] = {CONTEST_EFFECT_USER_MORE_EASILY_STARTLED, CONTEST_CATEGORY_SMART, 0, {COMBO_STARTER_CALM_MIND, 0, 0, 0}}, }; const struct ContestEffect gContestEffects[] = From c72b55a5c4793a75480ba641634d155c806f1cd3 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Tue, 14 Aug 2018 22:28:25 +0200 Subject: [PATCH 095/234] Match the worst function ever --- src/contest_effect.c | 164 ++++++------------------------------------- 1 file changed, 22 insertions(+), 142 deletions(-) diff --git a/src/contest_effect.c b/src/contest_effect.c index bf155240c2..34b9b5807d 100644 --- a/src/contest_effect.c +++ b/src/contest_effect.c @@ -624,160 +624,40 @@ static void ContestEffect_QualityDependsOnTiming(void) sContestantStatus[shared192D0.contestant].appeal2 = appeal; } -#ifdef NONMATCHING -// Not even close, send help -// Works well if it’s the same type as the one before. static void ContestEffect_BetterIfSameType(void) { - s8 r4; - s8 r2; + s8 turnOrder = shared192D0.turnOrder[shared192D0.contestant]; + s8 i = turnOrder - 1, j; + u16 move; - for (r4 = shared192D0.turnOrder[shared192D0.contestant]; r4 > 0; r4--) + if (turnOrder == 0) + return; + + while (1) { - for (r2 = 0; r2 < 4; r2++) + for (j = 0; j < 4; j++) { - if (shared192D0.turnOrder[r2] == r4 - 1) + if (shared192D0.turnOrder[j] == i) break; } - if (!(sContestantStatus[r2].noMoreTurns || sContestantStatus[r2].nervous || sContestantStatus[r2].numTurnsSkipped)) + if (sContestantStatus[j].noMoreTurns || sContestantStatus[j].nervous || sContestantStatus[j].numTurnsSkipped) + { + if (--i < 0) + return; + } + else { - u16 move = sContestantStatus[shared192D0.contestant].currMove; - - if (gContestMoves[move].contestCategory == gContestMoves[sContestantStatus[r2].currMove].contestCategory) - { - sContestantStatus[shared192D0.contestant].appeal2 += gContestEffects[gContestMoves[move].effect].appeal * 2; - SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_SAME_TYPE_GOOD); - } break; } } + + move = sContestantStatus[shared192D0.contestant].currMove; + if (gContestMoves[move].contestCategory == gContestMoves[sContestantStatus[j].currMove].contestCategory) + { + sContestantStatus[shared192D0.contestant].appeal2 += gContestEffects[gContestMoves[move].effect].appeal * 2; + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_SAME_TYPE_GOOD); + } } -#else -NAKED void ContestEffect_BetterIfSameType(void) -{ - asm_unified("\n\ - push {r4-r7,lr}\n\ - mov r7, r8\n\ - push {r7}\n\ - ldr r2, =gContestResources\n\ - ldr r0, [r2]\n\ - ldr r3, [r0, 0x8]\n\ - ldrb r0, [r3, 0x11]\n\ - adds r0, r3, r0\n\ - movs r1, 0\n\ - ldrsb r1, [r0, r1]\n\ - subs r0, r1, 0x1\n\ - lsls r0, 24\n\ - lsrs r4, r0, 24\n\ - mov r8, r2\n\ - cmp r1, 0\n\ - beq _080E61F8\n\ - mov r7, r8\n\ - ldrb r6, [r3]\n\ -_080E6140:\n\ - movs r2, 0\n\ - lsls r0, r4, 24\n\ - asrs r1, r0, 24\n\ - adds r5, r0, 0\n\ - cmp r6, r1\n\ - beq _080E616A\n\ - ldr r4, =gContestResources\n\ -_080E614E:\n\ - lsls r0, r2, 24\n\ - movs r2, 0x80\n\ - lsls r2, 17\n\ - adds r0, r2\n\ - lsrs r2, r0, 24\n\ - asrs r3, r0, 24\n\ - cmp r3, 0x3\n\ - bgt _080E616A\n\ - ldr r0, [r4]\n\ - ldr r0, [r0, 0x8]\n\ - adds r0, r3\n\ - ldrb r0, [r0]\n\ - cmp r0, r1\n\ - bne _080E614E\n\ -_080E616A:\n\ - ldr r0, [r7]\n\ - lsls r3, r2, 24\n\ - asrs r1, r3, 24\n\ - ldr r2, [r0, 0x4]\n\ - lsls r0, r1, 3\n\ - subs r0, r1\n\ - lsls r0, 2\n\ - adds r2, r0, r2\n\ - ldrb r1, [r2, 0xB]\n\ - movs r0, 0x80\n\ - ands r0, r1\n\ - mov r12, r3\n\ - cmp r0, 0\n\ - bne _080E6190\n\ - ldrb r1, [r2, 0xC]\n\ - movs r0, 0x7\n\ - ands r0, r1\n\ - cmp r0, 0\n\ - beq _080E61A4\n\ -_080E6190:\n\ - movs r1, 0xFF\n\ - lsls r1, 24\n\ - adds r0, r5, r1\n\ - lsrs r4, r0, 24\n\ - cmp r0, 0\n\ - blt _080E61F8\n\ - b _080E6140\n\ - .pool\n\ -_080E61A4:\n\ - mov r2, r8\n\ - ldr r6, [r2]\n\ - ldr r0, [r6, 0x8]\n\ - ldrb r1, [r0, 0x11]\n\ - ldr r4, [r6, 0x4]\n\ - lsls r0, r1, 3\n\ - subs r0, r1\n\ - lsls r0, 2\n\ - adds r5, r0, r4\n\ - ldrh r0, [r5, 0x6]\n\ - ldr r3, =gContestMoves\n\ - lsls r0, 3\n\ - adds r7, r0, r3\n\ - ldrb r2, [r7, 0x1]\n\ - lsls r2, 29\n\ - mov r0, r12\n\ - asrs r1, r0, 24\n\ - lsls r0, r1, 3\n\ - subs r0, r1\n\ - lsls r0, 2\n\ - adds r0, r4\n\ - ldrh r0, [r0, 0x6]\n\ - lsls r0, 3\n\ - adds r0, r3\n\ - ldrb r0, [r0, 0x1]\n\ - lsls r0, 29\n\ - cmp r2, r0\n\ - bne _080E61F8\n\ - ldr r1, =gContestEffects\n\ - ldrb r0, [r7]\n\ - lsls r0, 2\n\ - adds r0, r1\n\ - ldrb r0, [r0, 0x1]\n\ - lsls r0, 1\n\ - ldrh r1, [r5, 0x2]\n\ - adds r0, r1\n\ - strh r0, [r5, 0x2]\n\ - ldr r0, [r6, 0x8]\n\ - ldrb r0, [r0, 0x11]\n\ - movs r1, 0x1F\n\ - bl SetContestantEffectStringID\n\ -_080E61F8:\n\ - pop {r3}\n\ - mov r8, r3\n\ - pop {r4-r7}\n\ - pop {r0}\n\ - bx r0\n\ - .pool\ - "); -} -#endif // Works well if different in type than the one before. static void ContestEffect_BetterIfDiffType(void) From 0c7063c5bae47d7152c9563751381b5eee384e4a Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Tue, 14 Aug 2018 23:50:58 +0200 Subject: [PATCH 096/234] Make contest effect table easier to edit in the future --- src/contest_effect.c | 9 +- src/data/contest_moves.h | 3187 +++++++++++++++++++++++++++++++++----- 2 files changed, 2836 insertions(+), 360 deletions(-) diff --git a/src/contest_effect.c b/src/contest_effect.c index 34b9b5807d..d54fb769ef 100644 --- a/src/contest_effect.c +++ b/src/contest_effect.c @@ -67,12 +67,11 @@ bool8 AreMovesContestCombo(u16 lastMove, u16 nextMove) nextMoveComboMoves[3] = gContestMoves[nextMove].comboMoves[3]; if (lastMoveComboStarterId == 0) - return 0; - - if (lastMoveComboStarterId == nextMoveComboMoves[0] || lastMoveComboStarterId == nextMoveComboMoves[1] || lastMoveComboStarterId == nextMoveComboMoves[2] || lastMoveComboStarterId == nextMoveComboMoves[3]) + return FALSE; + else if (lastMoveComboStarterId == nextMoveComboMoves[0] || lastMoveComboStarterId == nextMoveComboMoves[1] || lastMoveComboStarterId == nextMoveComboMoves[2] || lastMoveComboStarterId == nextMoveComboMoves[3]) return gComboStarterLookupTable[lastMoveComboStarterId]; - - return 0; + else + return FALSE; } // A highly appealing move. diff --git a/src/data/contest_moves.h b/src/data/contest_moves.h index b47eecb236..fc262dd211 100644 --- a/src/data/contest_moves.h +++ b/src/data/contest_moves.h @@ -3,361 +3,2838 @@ const struct ContestMove gContestMoves[MOVES_COUNT] = { - [MOVE_NONE] = {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, - [MOVE_POUND] = {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_TOUGH, COMBO_STARTER_POUND, {0, 0, 0, 0}}, - [MOVE_KARATE_CHOP] = {CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_FOCUS_ENERGY, 0, 0, 0}}, - [MOVE_DOUBLE_SLAP] = {CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_POUND, 0, 0, 0}}, - [MOVE_COMET_PUNCH] = {CONTEST_EFFECT_BETTER_IF_SAME_TYPE, CONTEST_CATEGORY_TOUGH, 0, {0, 0, 0, 0}}, - [MOVE_MEGA_PUNCH] = {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_FOCUS_ENERGY, COMBO_STARTER_MIND_READER, 0, 0}}, - [MOVE_PAY_DAY] = {CONTEST_EFFECT_BETTER_WHEN_AUDIENCE_EXCITED, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, - [MOVE_FIRE_PUNCH] = {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_BEAUTY, COMBO_STARTER_FIRE_PUNCH, {COMBO_STARTER_SUNNY_DAY, COMBO_STARTER_THUNDER_PUNCH, COMBO_STARTER_ICE_PUNCH, 0}}, - [MOVE_ICE_PUNCH] = {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_BEAUTY, COMBO_STARTER_ICE_PUNCH, {COMBO_STARTER_THUNDER_PUNCH, COMBO_STARTER_FIRE_PUNCH, 0, 0}}, - [MOVE_THUNDER_PUNCH] = {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_COOL, COMBO_STARTER_THUNDER_PUNCH, {COMBO_STARTER_CHARGE, COMBO_STARTER_FIRE_PUNCH, COMBO_STARTER_ICE_PUNCH, 0}}, - [MOVE_SCRATCH] = {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_TOUGH, COMBO_STARTER_SCRATCH, {COMBO_STARTER_LEER, 0, 0, 0}}, - [MOVE_VICE_GRIP] = {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_TOUGH, COMBO_STARTER_VICE_GRIP, {0, 0, 0, 0}}, - [MOVE_GUILLOTINE] = {CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_VICE_GRIP, 0, 0, 0}}, - [MOVE_RAZOR_WIND] = {CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, - [MOVE_SWORDS_DANCE] = {CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, CONTEST_CATEGORY_BEAUTY, COMBO_STARTER_SWORDS_DANCE, {0, 0, 0, 0}}, - [MOVE_CUT] = {CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_SWORDS_DANCE, 0, 0, 0}}, - [MOVE_GUST] = {CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, - [MOVE_WING_ATTACK] = {CONTEST_EFFECT_BETTER_IF_SAME_TYPE, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, - [MOVE_WHIRLWIND] = {CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, - [MOVE_FLY] = {CONTEST_EFFECT_AVOID_STARTLE, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, - [MOVE_BIND] = {CONTEST_EFFECT_DONT_EXCITE_AUDIENCE, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_VICE_GRIP, 0, 0, 0}}, - [MOVE_SLAM] = {CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_POUND, 0, 0, 0}}, - [MOVE_VINE_WHIP] = {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_GROWTH, 0, 0, 0}}, - [MOVE_STOMP] = {CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, CONTEST_CATEGORY_TOUGH, 0, {0, COMBO_STARTER_LEER, 0, 0}}, - [MOVE_DOUBLE_KICK] = {CONTEST_EFFECT_BETTER_IF_SAME_TYPE, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, - [MOVE_MEGA_KICK] = {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_FOCUS_ENERGY, COMBO_STARTER_MIND_READER, 0, 0}}, - [MOVE_JUMP_KICK] = {CONTEST_EFFECT_USER_MORE_EASILY_STARTLED, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_MIND_READER, 0, 0, 0}}, - [MOVE_ROLLING_KICK] = {CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, - [MOVE_SAND_ATTACK] = {CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION, CONTEST_CATEGORY_CUTE, COMBO_STARTER_SAND_ATTACK, {COMBO_STARTER_MUD_SLAP, COMBO_STARTER_SANDSTORM, 0, 0}}, - [MOVE_HEADBUTT] = {CONTEST_EFFECT_STARTLE_PREV_MON, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_FOCUS_ENERGY, 0, 0, 0}}, - [MOVE_HORN_ATTACK] = {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_COOL, COMBO_STARTER_HORN_ATTACK, {COMBO_STARTER_LEER, 0, 0, 0}}, - [MOVE_FURY_ATTACK] = {CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_HORN_ATTACK, COMBO_STARTER_PECK, 0, 0}}, - [MOVE_HORN_DRILL] = {CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_HORN_ATTACK, 0, 0, 0}}, - [MOVE_TACKLE] = {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_DEFENSE_CURL, COMBO_STARTER_LEER, COMBO_STARTER_HARDEN, 0}}, - [MOVE_BODY_SLAM] = {CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, CONTEST_CATEGORY_TOUGH, 0, {0, 0, 0, 0}}, - [MOVE_WRAP] = {CONTEST_EFFECT_DONT_EXCITE_AUDIENCE, CONTEST_CATEGORY_TOUGH, 0, {0, 0, 0, 0}}, - [MOVE_TAKE_DOWN] = {CONTEST_EFFECT_USER_MORE_EASILY_STARTLED, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_FOCUS_ENERGY, COMBO_STARTER_HARDEN, 0, 0}}, - [MOVE_THRASH] = {CONTEST_EFFECT_JAMS_OTHERS_BUT_MISS_ONE_TURN, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_RAGE, 0, 0, 0}}, - [MOVE_DOUBLE_EDGE] = {CONTEST_EFFECT_USER_MORE_EASILY_STARTLED, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_FOCUS_ENERGY, COMBO_STARTER_HARDEN, 0, 0}}, - [MOVE_TAIL_WHIP] = {CONTEST_EFFECT_BETTER_IF_LAST, CONTEST_CATEGORY_CUTE, 0, {COMBO_STARTER_CHARM, 0, 0, 0}}, - [MOVE_POISON_STING] = {CONTEST_EFFECT_STARTLE_PREV_MON, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, - [MOVE_TWINEEDLE] = {CONTEST_EFFECT_STARTLE_PREV_MON, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, - [MOVE_PIN_MISSILE] = {CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, - [MOVE_LEER] = {CONTEST_EFFECT_DONT_EXCITE_AUDIENCE, CONTEST_CATEGORY_COOL, COMBO_STARTER_LEER, {COMBO_STARTER_RAGE, COMBO_STARTER_SCARY_FACE, 0, 0}}, - [MOVE_BITE] = {CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_LEER, COMBO_STARTER_SCARY_FACE, 0, 0}}, - [MOVE_GROWL] = {CONTEST_EFFECT_BETTER_IF_LAST, CONTEST_CATEGORY_CUTE, 0, {COMBO_STARTER_CHARM, 0, 0, 0}}, - [MOVE_ROAR] = {CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, - [MOVE_SING] = {CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS, CONTEST_CATEGORY_CUTE, COMBO_STARTER_SING, {0, 0, 0, 0}}, - [MOVE_SUPERSONIC] = {CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, - [MOVE_SONIC_BOOM] = {CONTEST_EFFECT_BETTER_IF_SAME_TYPE, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, - [MOVE_DISABLE] = {CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, - [MOVE_ACID] = {CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, - [MOVE_EMBER] = {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_BEAUTY, 0, {COMBO_STARTER_SUNNY_DAY, 0, 0, 0}}, - [MOVE_FLAMETHROWER] = {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_BEAUTY, 0, {COMBO_STARTER_SUNNY_DAY, 0, 0, 0}}, - [MOVE_MIST] = {CONTEST_EFFECT_AVOID_STARTLE, CONTEST_CATEGORY_BEAUTY, 0, {0, 0, 0, 0}}, - [MOVE_WATER_GUN] = {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_CUTE, 0, {COMBO_STARTER_RAIN_DANCE, COMBO_STARTER_WATER_SPORT, COMBO_STARTER_MUD_SPORT, 0}}, - [MOVE_HYDRO_PUMP] = {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_BEAUTY, 0, {COMBO_STARTER_RAIN_DANCE, 0, 0, 0}}, - [MOVE_SURF] = {CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL, CONTEST_CATEGORY_BEAUTY, COMBO_STARTER_SURF, {COMBO_STARTER_RAIN_DANCE, COMBO_STARTER_DIVE, 0, 0}}, - [MOVE_ICE_BEAM] = {CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL, CONTEST_CATEGORY_BEAUTY, 0, {0, 0, 0, 0}}, - [MOVE_BLIZZARD] = {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_BEAUTY, 0, {COMBO_STARTER_POWDER_SNOW, COMBO_STARTER_HAIL, 0, 0}}, - [MOVE_PSYBEAM] = {CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER, CONTEST_CATEGORY_BEAUTY, 0, {COMBO_STARTER_CALM_MIND, 0, 0, 0}}, - [MOVE_BUBBLE_BEAM] = {CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, CONTEST_CATEGORY_BEAUTY, 0, {COMBO_STARTER_RAIN_DANCE, 0, 0, 0}}, - [MOVE_AURORA_BEAM] = {CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL, CONTEST_CATEGORY_BEAUTY, 0, {0, 0, 0, 0}}, - [MOVE_HYPER_BEAM] = {CONTEST_EFFECT_JAMS_OTHERS_BUT_MISS_ONE_TURN, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, - [MOVE_PECK] = {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_COOL, COMBO_STARTER_PECK, {0, 0, 0, 0}}, - [MOVE_DRILL_PECK] = {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_PECK, 0, 0, 0}}, - [MOVE_SUBMISSION] = {CONTEST_EFFECT_USER_MORE_EASILY_STARTLED, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_MIND_READER, 0, 0, 0}}, - [MOVE_LOW_KICK] = {CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, CONTEST_CATEGORY_TOUGH, 0, {0, 0, 0, 0}}, - [MOVE_COUNTER] = {CONTEST_EFFECT_AVOID_STARTLE_ONCE, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_TAUNT, 0, 0, 0}}, - [MOVE_SEISMIC_TOSS] = {CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_FAKE_OUT, 0, 0, 0}}, - [MOVE_STRENGTH] = {CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL, CONTEST_CATEGORY_TOUGH, 0, {0, 0, 0, 0}}, - [MOVE_ABSORB] = {CONTEST_EFFECT_STARTLE_PREV_MON, CONTEST_CATEGORY_SMART, 0, {COMBO_STARTER_GROWTH, 0, 0, 0}}, - [MOVE_MEGA_DRAIN] = {CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, CONTEST_CATEGORY_SMART, 0, {COMBO_STARTER_GROWTH, 0, 0, 0}}, - [MOVE_LEECH_SEED] = {CONTEST_EFFECT_STARTLE_PREV_MONS, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, - [MOVE_GROWTH] = {CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, CONTEST_CATEGORY_BEAUTY, COMBO_STARTER_GROWTH, {0, 0, 0, 0}}, - [MOVE_RAZOR_LEAF] = {CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_GROWTH, 0, 0, 0}}, - [MOVE_SOLAR_BEAM] = {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_SUNNY_DAY, COMBO_STARTER_GROWTH, 0, 0}}, - [MOVE_POISON_POWDER] = {CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS, CONTEST_CATEGORY_SMART, 0, {COMBO_STARTER_SWEET_SCENT, 0, 0, 0}}, - [MOVE_STUN_SPORE] = {CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS, CONTEST_CATEGORY_SMART, 0, {COMBO_STARTER_SWEET_SCENT, 0, 0, 0}}, - [MOVE_SLEEP_POWDER] = {CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, CONTEST_CATEGORY_SMART, 0, {COMBO_STARTER_SWEET_SCENT, 0, 0, 0}}, - [MOVE_PETAL_DANCE] = {CONTEST_EFFECT_JAMS_OTHERS_BUT_MISS_ONE_TURN, CONTEST_CATEGORY_BEAUTY, 0, {COMBO_STARTER_GROWTH, 0, 0, 0}}, - [MOVE_STRING_SHOT] = {CONTEST_EFFECT_STARTLE_PREV_MON, CONTEST_CATEGORY_SMART, COMBO_STARTER_STRING_SHOT, {0, 0, 0, 0}}, - [MOVE_DRAGON_RAGE] = {CONTEST_EFFECT_BETTER_WHEN_LATER, CONTEST_CATEGORY_COOL, COMBO_STARTER_DRAGON_RAGE, {COMBO_STARTER_DRAGON_BREATH, COMBO_STARTER_DRAGON_DANCE, 0, 0}}, - [MOVE_FIRE_SPIN] = {CONTEST_EFFECT_DONT_EXCITE_AUDIENCE, CONTEST_CATEGORY_BEAUTY, 0, {COMBO_STARTER_SUNNY_DAY, 0, 0, 0}}, - [MOVE_THUNDER_SHOCK] = {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_CHARGE, 0, 0, 0}}, - [MOVE_THUNDERBOLT] = {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_CHARGE, 0, 0, 0}}, - [MOVE_THUNDER_WAVE] = {CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_CHARGE, 0, 0, 0}}, - [MOVE_THUNDER] = {CONTEST_EFFECT_STARTLE_PREV_MONS, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_CHARGE, COMBO_STARTER_RAIN_DANCE, COMBO_STARTER_LOCK_ON, 0}}, - [MOVE_ROCK_THROW] = {CONTEST_EFFECT_BETTER_IF_SAME_TYPE, CONTEST_CATEGORY_TOUGH, COMBO_STARTER_ROCK_THROW, {0, 0, 0, 0}}, - [MOVE_EARTHQUAKE] = {CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, CONTEST_CATEGORY_TOUGH, COMBO_STARTER_EARTHQUAKE, {0, 0, 0, 0}}, - [MOVE_FISSURE] = {CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_EARTHQUAKE, 0, 0, 0}}, - [MOVE_DIG] = {CONTEST_EFFECT_AVOID_STARTLE, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, - [MOVE_TOXIC] = {CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, - [MOVE_CONFUSION] = {CONTEST_EFFECT_STARTLE_PREV_MON, CONTEST_CATEGORY_SMART, COMBO_STARTER_CONFUSION, {COMBO_STARTER_PSYCHIC, COMBO_STARTER_KINESIS, COMBO_STARTER_CALM_MIND, 0}}, - [MOVE_PSYCHIC] = {CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, CONTEST_CATEGORY_SMART, COMBO_STARTER_PSYCHIC, {COMBO_STARTER_KINESIS, COMBO_STARTER_CONFUSION, COMBO_STARTER_CALM_MIND, 0}}, - [MOVE_HYPNOSIS] = {CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, CONTEST_CATEGORY_SMART, COMBO_STARTER_HYPNOSIS, {0, 0, 0, 0}}, - [MOVE_MEDITATE] = {CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, CONTEST_CATEGORY_BEAUTY, 0, {COMBO_STARTER_CALM_MIND, 0, 0, 0}}, - [MOVE_AGILITY] = {CONTEST_EFFECT_NEXT_APPEAL_EARLIER, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_DOUBLE_TEAM, 0, 0, 0}}, - [MOVE_QUICK_ATTACK] = {CONTEST_EFFECT_NEXT_APPEAL_EARLIER, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_DOUBLE_TEAM, 0, 0, 0}}, - [MOVE_RAGE] = {CONTEST_EFFECT_REPETITION_NOT_BORING, CONTEST_CATEGORY_COOL, COMBO_STARTER_RAGE, {0, 0, 0, 0}}, - [MOVE_TELEPORT] = {CONTEST_EFFECT_AVOID_STARTLE, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_DOUBLE_TEAM, COMBO_STARTER_PSYCHIC, COMBO_STARTER_KINESIS, COMBO_STARTER_CONFUSION}}, - [MOVE_NIGHT_SHADE] = {CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, - [MOVE_MIMIC] = {CONTEST_EFFECT_APPEAL_AS_GOOD_AS_PREV_ONE, CONTEST_CATEGORY_CUTE, 0, {0, 0, 0, 0}}, - [MOVE_SCREECH] = {CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, - [MOVE_DOUBLE_TEAM] = {CONTEST_EFFECT_AVOID_STARTLE_ONCE, CONTEST_CATEGORY_COOL, COMBO_STARTER_DOUBLE_TEAM, {0, 0, 0, 0}}, - [MOVE_RECOVER] = {CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, - [MOVE_HARDEN] = {CONTEST_EFFECT_AVOID_STARTLE_ONCE, CONTEST_CATEGORY_TOUGH, COMBO_STARTER_HARDEN, {0, 0, 0, 0}}, - [MOVE_MINIMIZE] = {CONTEST_EFFECT_AVOID_STARTLE_ONCE, CONTEST_CATEGORY_CUTE, 0, {0, 0, 0, 0}}, - [MOVE_SMOKESCREEN] = {CONTEST_EFFECT_SHIFT_JUDGE_ATTENTION, CONTEST_CATEGORY_SMART, 0, {COMBO_STARTER_SMOG, 0, 0, 0}}, - [MOVE_CONFUSE_RAY] = {CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, - [MOVE_WITHDRAW] = {CONTEST_EFFECT_AVOID_STARTLE, CONTEST_CATEGORY_CUTE, 0, {COMBO_STARTER_RAIN_DANCE, 0, 0, 0}}, - [MOVE_DEFENSE_CURL] = {CONTEST_EFFECT_AVOID_STARTLE_ONCE, CONTEST_CATEGORY_CUTE, COMBO_STARTER_DEFENSE_CURL, {0, 0, 0, 0}}, - [MOVE_BARRIER] = {CONTEST_EFFECT_AVOID_STARTLE, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, - [MOVE_LIGHT_SCREEN] = {CONTEST_EFFECT_AVOID_STARTLE, CONTEST_CATEGORY_BEAUTY, 0, {COMBO_STARTER_CALM_MIND, 0, 0, 0}}, - [MOVE_HAZE] = {CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS, CONTEST_CATEGORY_BEAUTY, 0, {0, 0, 0, 0}}, - [MOVE_REFLECT] = {CONTEST_EFFECT_AVOID_STARTLE, CONTEST_CATEGORY_SMART, 0, {COMBO_STARTER_CALM_MIND, 0, 0, 0}}, - [MOVE_FOCUS_ENERGY] = {CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, CONTEST_CATEGORY_COOL, COMBO_STARTER_FOCUS_ENERGY, {0, 0, 0, 0}}, - [MOVE_BIDE] = {CONTEST_EFFECT_AVOID_STARTLE, CONTEST_CATEGORY_TOUGH, 0, {0, 0, 0, 0}}, - [MOVE_METRONOME] = {CONTEST_EFFECT_REPETITION_NOT_BORING, CONTEST_CATEGORY_CUTE, 0, {0, 0, 0, 0}}, - [MOVE_MIRROR_MOVE] = {CONTEST_EFFECT_APPEAL_AS_GOOD_AS_PREV_ONE, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, - [MOVE_SELF_DESTRUCT] = {CONTEST_EFFECT_GREAT_APPEAL_BUT_NO_MORE_MOVES, CONTEST_CATEGORY_BEAUTY, 0, {0, 0, 0, 0}}, - [MOVE_EGG_BOMB] = {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_SOFT_BOILED, 0, 0, 0}}, - [MOVE_LICK] = {CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, CONTEST_CATEGORY_TOUGH, 0, {0, 0, 0, 0}}, - [MOVE_SMOG] = {CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, CONTEST_CATEGORY_TOUGH, COMBO_STARTER_SMOG, {0, 0, 0, 0}}, - [MOVE_SLUDGE] = {CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, CONTEST_CATEGORY_TOUGH, COMBO_STARTER_SLUDGE, {COMBO_STARTER_SLUDGE_BOMB, 0, 0, 0}}, - [MOVE_BONE_CLUB] = {CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION, CONTEST_CATEGORY_TOUGH, COMBO_STARTER_BONE_CLUB, {COMBO_STARTER_BONEMERANG, COMBO_STARTER_BONE_RUSH, 0, 0}}, - [MOVE_FIRE_BLAST] = {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_BEAUTY, 0, {COMBO_STARTER_SUNNY_DAY, 0, 0, 0}}, - [MOVE_WATERFALL] = {CONTEST_EFFECT_BETTER_IF_LAST, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_RAIN_DANCE, 0, 0, 0}}, - [MOVE_CLAMP] = {CONTEST_EFFECT_DONT_EXCITE_AUDIENCE, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_RAIN_DANCE, 0, 0, 0}}, - [MOVE_SWIFT] = {CONTEST_EFFECT_BETTER_IF_FIRST, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, - [MOVE_SKULL_BASH] = {CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, CONTEST_CATEGORY_TOUGH, 0, {0, 0, 0, 0}}, - [MOVE_SPIKE_CANNON] = {CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, - [MOVE_CONSTRICT] = {CONTEST_EFFECT_STARTLE_PREV_MON, CONTEST_CATEGORY_TOUGH, 0, {0, 0, 0, 0}}, - [MOVE_AMNESIA] = {CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, CONTEST_CATEGORY_CUTE, 0, {0, 0, 0, 0}}, - [MOVE_KINESIS] = {CONTEST_EFFECT_DONT_EXCITE_AUDIENCE, CONTEST_CATEGORY_SMART, COMBO_STARTER_KINESIS, {COMBO_STARTER_PSYCHIC, COMBO_STARTER_CONFUSION, 0, 0}}, - [MOVE_SOFT_BOILED] = {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_BEAUTY, COMBO_STARTER_SOFT_BOILED, {0, 0, 0, 0}}, - [MOVE_HI_JUMP_KICK] = {CONTEST_EFFECT_USER_MORE_EASILY_STARTLED, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_MIND_READER, 0, 0, 0}}, - [MOVE_GLARE] = {CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_LEER, 0, 0, 0}}, - [MOVE_DREAM_EATER] = {CONTEST_EFFECT_STARTLE_PREV_MONS, CONTEST_CATEGORY_SMART, 0, {COMBO_STARTER_HYPNOSIS, COMBO_STARTER_CALM_MIND, 0, 0}}, - [MOVE_POISON_GAS] = {CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, - [MOVE_BARRAGE] = {CONTEST_EFFECT_BETTER_IF_SAME_TYPE, CONTEST_CATEGORY_TOUGH, 0, {0, 0, 0, 0}}, - [MOVE_LEECH_LIFE] = {CONTEST_EFFECT_STARTLE_PREV_MON, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, - [MOVE_LOVELY_KISS] = {CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, CONTEST_CATEGORY_BEAUTY, 0, {0, 0, 0, 0}}, - [MOVE_SKY_ATTACK] = {CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, - [MOVE_TRANSFORM] = {CONTEST_EFFECT_REPETITION_NOT_BORING, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, - [MOVE_BUBBLE] = {CONTEST_EFFECT_STARTLE_PREV_MONS, CONTEST_CATEGORY_CUTE, 0, {COMBO_STARTER_RAIN_DANCE, 0, 0, 0}}, - [MOVE_DIZZY_PUNCH] = {CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, - [MOVE_SPORE] = {CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, CONTEST_CATEGORY_BEAUTY, 0, {0, 0, 0, 0}}, - [MOVE_FLASH] = {CONTEST_EFFECT_SHIFT_JUDGE_ATTENTION, CONTEST_CATEGORY_BEAUTY, 0, {0, 0, 0, 0}}, - [MOVE_PSYWAVE] = {CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS, CONTEST_CATEGORY_SMART, 0, {COMBO_STARTER_CALM_MIND, 0, 0, 0}}, - [MOVE_SPLASH] = {CONTEST_EFFECT_BETTER_IF_LAST, CONTEST_CATEGORY_CUTE, 0, {0, 0, 0, 0}}, - [MOVE_ACID_ARMOR] = {CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, CONTEST_CATEGORY_TOUGH, 0, {0, 0, 0, 0}}, - [MOVE_CRABHAMMER] = {CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_RAIN_DANCE, COMBO_STARTER_SWORDS_DANCE, 0, 0}}, - [MOVE_EXPLOSION] = {CONTEST_EFFECT_GREAT_APPEAL_BUT_NO_MORE_MOVES, CONTEST_CATEGORY_BEAUTY, 0, {0, 0, 0, 0}}, - [MOVE_FURY_SWIPES] = {CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_SCRATCH, 0, 0, 0}}, - [MOVE_BONEMERANG] = {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_TOUGH, COMBO_STARTER_BONEMERANG, {COMBO_STARTER_BONE_CLUB, COMBO_STARTER_BONE_RUSH, 0, 0}}, - [MOVE_REST] = {CONTEST_EFFECT_AVOID_STARTLE_ONCE, CONTEST_CATEGORY_CUTE, COMBO_STARTER_REST, {COMBO_STARTER_BELLY_DRUM, COMBO_STARTER_CHARM, COMBO_STARTER_YAWN, 0}}, - [MOVE_ROCK_SLIDE] = {CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_ROCK_THROW, 0, 0, 0}}, - [MOVE_HYPER_FANG] = {CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, - [MOVE_SHARPEN] = {CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, CONTEST_CATEGORY_CUTE, 0, {0, 0, 0, 0}}, - [MOVE_CONVERSION] = {CONTEST_EFFECT_BETTER_IF_SAME_TYPE, CONTEST_CATEGORY_BEAUTY, 0, {0, 0, 0, 0}}, - [MOVE_TRI_ATTACK] = {CONTEST_EFFECT_STARTLE_PREV_MONS, CONTEST_CATEGORY_BEAUTY, 0, {COMBO_STARTER_LOCK_ON, 0, 0, 0}}, - [MOVE_SUPER_FANG] = {CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_SCARY_FACE, 0, 0, 0}}, - [MOVE_SLASH] = {CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_SWORDS_DANCE, COMBO_STARTER_SCRATCH, 0, 0}}, - [MOVE_SUBSTITUTE] = {CONTEST_EFFECT_AVOID_STARTLE_ONCE, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, - [MOVE_STRUGGLE] = {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, - [MOVE_SKETCH] = {CONTEST_EFFECT_APPEAL_AS_GOOD_AS_PREV_ONE, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, - [MOVE_TRIPLE_KICK] = {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_FOCUS_ENERGY, 0, 0, 0}}, - [MOVE_THIEF] = {CONTEST_EFFECT_APPEAL_AS_GOOD_AS_PREV_ONES, CONTEST_CATEGORY_TOUGH, 0, {0, 0, 0, 0}}, - [MOVE_SPIDER_WEB] = {CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS, CONTEST_CATEGORY_SMART, 0, {COMBO_STARTER_STRING_SHOT, 0, 0, 0}}, - [MOVE_MIND_READER] = {CONTEST_EFFECT_DONT_EXCITE_AUDIENCE, CONTEST_CATEGORY_SMART, COMBO_STARTER_MIND_READER, {0, 0, 0, 0}}, - [MOVE_NIGHTMARE] = {CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, CONTEST_CATEGORY_SMART, 0, {COMBO_STARTER_HYPNOSIS, 0, 0, 0}}, - [MOVE_FLAME_WHEEL] = {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_BEAUTY, 0, {COMBO_STARTER_SUNNY_DAY, 0, 0, 0}}, - [MOVE_SNORE] = {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_CUTE, 0, {COMBO_STARTER_REST, 0, 0, 0}}, - [MOVE_CURSE] = {CONTEST_EFFECT_NEXT_APPEAL_LATER, CONTEST_CATEGORY_TOUGH, COMBO_STARTER_CURSE, {0, 0, 0, 0}}, - [MOVE_FLAIL] = {CONTEST_EFFECT_BETTER_WHEN_LATER, CONTEST_CATEGORY_CUTE, 0, {COMBO_STARTER_ENDURE, 0, 0, 0}}, - [MOVE_CONVERSION_2] = {CONTEST_EFFECT_BETTER_IF_SAME_TYPE, CONTEST_CATEGORY_BEAUTY, 0, {0, 0, 0, 0}}, - [MOVE_AEROBLAST] = {CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, - [MOVE_COTTON_SPORE] = {CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION, CONTEST_CATEGORY_BEAUTY, 0, {0, 0, 0, 0}}, - [MOVE_REVERSAL] = {CONTEST_EFFECT_BETTER_IF_LAST, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_ENDURE, 0, 0, 0}}, - [MOVE_SPITE] = {CONTEST_EFFECT_BETTER_WHEN_LATER, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_CURSE, 0, 0, 0}}, - [MOVE_POWDER_SNOW] = {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_BEAUTY, COMBO_STARTER_POWDER_SNOW, {COMBO_STARTER_HAIL, 0, 0, 0}}, - [MOVE_PROTECT] = {CONTEST_EFFECT_AVOID_STARTLE, CONTEST_CATEGORY_CUTE, 0, {COMBO_STARTER_HARDEN, 0, 0, 0}}, - [MOVE_MACH_PUNCH] = {CONTEST_EFFECT_NEXT_APPEAL_EARLIER, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, - [MOVE_SCARY_FACE] = {CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION, CONTEST_CATEGORY_TOUGH, COMBO_STARTER_SCARY_FACE, {COMBO_STARTER_RAGE, COMBO_STARTER_LEER, 0, 0}}, - [MOVE_FAINT_ATTACK] = {CONTEST_EFFECT_BETTER_IF_FIRST, CONTEST_CATEGORY_SMART, 0, {COMBO_STARTER_FAKE_OUT, COMBO_STARTER_LEER, COMBO_STARTER_POUND, 0}}, - [MOVE_SWEET_KISS] = {CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS, CONTEST_CATEGORY_CUTE, 0, {COMBO_STARTER_CHARM, 0, 0, 0}}, - [MOVE_BELLY_DRUM] = {CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, CONTEST_CATEGORY_CUTE, COMBO_STARTER_BELLY_DRUM, {0, 0, 0, 0}}, - [MOVE_SLUDGE_BOMB] = {CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION, CONTEST_CATEGORY_TOUGH, COMBO_STARTER_SLUDGE_BOMB, {COMBO_STARTER_SLUDGE, 0, 0, 0}}, - [MOVE_MUD_SLAP] = {CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION, CONTEST_CATEGORY_CUTE, COMBO_STARTER_MUD_SLAP, {COMBO_STARTER_SAND_ATTACK, COMBO_STARTER_MUD_SPORT, COMBO_STARTER_SANDSTORM, 0}}, - [MOVE_OCTAZOOKA] = {CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_RAIN_DANCE, COMBO_STARTER_LOCK_ON, 0, 0}}, - [MOVE_SPIKES] = {CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, - [MOVE_ZAP_CANNON] = {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_LOCK_ON, 0, 0, 0}}, - [MOVE_FORESIGHT] = {CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, - [MOVE_DESTINY_BOND] = {CONTEST_EFFECT_GREAT_APPEAL_BUT_NO_MORE_MOVES, CONTEST_CATEGORY_SMART, 0, {COMBO_STARTER_MEAN_LOOK, COMBO_STARTER_CURSE, COMBO_STARTER_ENDURE, 0}}, - [MOVE_PERISH_SONG] = {CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS, CONTEST_CATEGORY_BEAUTY, 0, {COMBO_STARTER_MEAN_LOOK, COMBO_STARTER_SING, 0, 0}}, - [MOVE_ICY_WIND] = {CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, CONTEST_CATEGORY_BEAUTY, 0, {0, 0, 0, 0}}, - [MOVE_DETECT] = {CONTEST_EFFECT_AVOID_STARTLE_ONCE, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_TAUNT, 0, 0, 0}}, - [MOVE_BONE_RUSH] = {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_TOUGH, COMBO_STARTER_BONE_RUSH, {COMBO_STARTER_FOCUS_ENERGY, COMBO_STARTER_BONE_CLUB, COMBO_STARTER_BONEMERANG, 0}}, - [MOVE_LOCK_ON] = {CONTEST_EFFECT_DONT_EXCITE_AUDIENCE, CONTEST_CATEGORY_SMART, COMBO_STARTER_LOCK_ON, {0, 0, 0, 0}}, - [MOVE_OUTRAGE] = {CONTEST_EFFECT_JAMS_OTHERS_BUT_MISS_ONE_TURN, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, - [MOVE_SANDSTORM] = {CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER, CONTEST_CATEGORY_TOUGH, COMBO_STARTER_SANDSTORM, {0, 0, 0, 0}}, - [MOVE_GIGA_DRAIN] = {CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION, CONTEST_CATEGORY_SMART, 0, {COMBO_STARTER_GROWTH, 0, 0, 0}}, - [MOVE_ENDURE] = {CONTEST_EFFECT_AVOID_STARTLE_ONCE, CONTEST_CATEGORY_TOUGH, COMBO_STARTER_ENDURE, {0, 0, 0, 0}}, - [MOVE_CHARM] = {CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL, CONTEST_CATEGORY_CUTE, COMBO_STARTER_CHARM, {0, 0, 0, 0}}, - [MOVE_ROLLOUT] = {CONTEST_EFFECT_DONT_EXCITE_AUDIENCE, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_DEFENSE_CURL, COMBO_STARTER_HARDEN, 0, 0}}, - [MOVE_FALSE_SWIPE] = {CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_SWORDS_DANCE, 0, 0, 0}}, - [MOVE_SWAGGER] = {CONTEST_EFFECT_BETTER_IF_FIRST, CONTEST_CATEGORY_CUTE, 0, {0, 0, 0, 0}}, - [MOVE_MILK_DRINK] = {CONTEST_EFFECT_BETTER_IF_SAME_TYPE, CONTEST_CATEGORY_CUTE, 0, {0, 0, 0, 0}}, - [MOVE_SPARK] = {CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_CHARGE, 0, 0, 0}}, - [MOVE_FURY_CUTTER] = {CONTEST_EFFECT_REPETITION_NOT_BORING, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_SWORDS_DANCE, 0, 0, 0}}, - [MOVE_STEEL_WING] = {CONTEST_EFFECT_BETTER_IF_SAME_TYPE, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, - [MOVE_MEAN_LOOK] = {CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS, CONTEST_CATEGORY_BEAUTY, COMBO_STARTER_MEAN_LOOK, {COMBO_STARTER_CURSE, 0, 0, 0}}, - [MOVE_ATTRACT] = {CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS, CONTEST_CATEGORY_CUTE, 0, {0, 0, 0, 0}}, - [MOVE_SLEEP_TALK] = {CONTEST_EFFECT_REPETITION_NOT_BORING, CONTEST_CATEGORY_CUTE, 0, {COMBO_STARTER_REST, 0, 0, 0}}, - [MOVE_HEAL_BELL] = {CONTEST_EFFECT_BETTER_IF_LAST, CONTEST_CATEGORY_BEAUTY, 0, {0, 0, 0, 0}}, - [MOVE_RETURN] = {CONTEST_EFFECT_EXCITE_AUDIENCE_IN_ANY_CONTEST, CONTEST_CATEGORY_CUTE, 0, {0, 0, 0, 0}}, - [MOVE_PRESENT] = {CONTEST_EFFECT_REPETITION_NOT_BORING, CONTEST_CATEGORY_CUTE, 0, {0, 0, 0, 0}}, - [MOVE_FRUSTRATION] = {CONTEST_EFFECT_EXCITE_AUDIENCE_IN_ANY_CONTEST, CONTEST_CATEGORY_CUTE, 0, {0, 0, 0, 0}}, - [MOVE_SAFEGUARD] = {CONTEST_EFFECT_AVOID_STARTLE, CONTEST_CATEGORY_BEAUTY, 0, {0, 0, 0, 0}}, - [MOVE_PAIN_SPLIT] = {CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, CONTEST_CATEGORY_SMART, 0, {COMBO_STARTER_ENDURE, 0, 0, 0}}, - [MOVE_SACRED_FIRE] = {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_BEAUTY, 0, {COMBO_STARTER_SUNNY_DAY, 0, 0, 0}}, - [MOVE_MAGNITUDE] = {CONTEST_EFFECT_BETTER_WHEN_AUDIENCE_EXCITED, CONTEST_CATEGORY_TOUGH, 0, {0, 0, 0, 0}}, - [MOVE_DYNAMIC_PUNCH] = {CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_FOCUS_ENERGY, COMBO_STARTER_MIND_READER, 0, 0}}, - [MOVE_MEGAHORN] = {CONTEST_EFFECT_BETTER_IF_SAME_TYPE, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, - [MOVE_DRAGON_BREATH] = {CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, CONTEST_CATEGORY_COOL, COMBO_STARTER_DRAGON_BREATH, {COMBO_STARTER_DRAGON_RAGE, COMBO_STARTER_DRAGON_DANCE, 0, 0}}, - [MOVE_BATON_PASS] = {CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS, CONTEST_CATEGORY_CUTE, 0, {0, 0, 0, 0}}, - [MOVE_ENCORE] = {CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS, CONTEST_CATEGORY_CUTE, 0, {0, 0, 0, 0}}, - [MOVE_PURSUIT] = {CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, - [MOVE_RAPID_SPIN] = {CONTEST_EFFECT_AVOID_STARTLE_ONCE, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, - [MOVE_SWEET_SCENT] = {CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, CONTEST_CATEGORY_CUTE, COMBO_STARTER_SWEET_SCENT, {0, 0, 0, 0}}, - [MOVE_IRON_TAIL] = {CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, - [MOVE_METAL_CLAW] = {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_METAL_SOUND, 0, 0, 0}}, - [MOVE_VITAL_THROW] = {CONTEST_EFFECT_NEXT_APPEAL_LATER, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_FAKE_OUT, 0, 0, 0}}, - [MOVE_MORNING_SUN] = {CONTEST_EFFECT_QUALITY_DEPENDS_ON_TIMING, CONTEST_CATEGORY_BEAUTY, 0, {COMBO_STARTER_SUNNY_DAY, 0, 0, 0}}, - [MOVE_SYNTHESIS] = {CONTEST_EFFECT_QUALITY_DEPENDS_ON_TIMING, CONTEST_CATEGORY_SMART, 0, {COMBO_STARTER_SUNNY_DAY, 0, 0, 0}}, - [MOVE_MOONLIGHT] = {CONTEST_EFFECT_QUALITY_DEPENDS_ON_TIMING, CONTEST_CATEGORY_BEAUTY, 0, {COMBO_STARTER_SUNNY_DAY, 0, 0, 0}}, - [MOVE_HIDDEN_POWER] = {CONTEST_EFFECT_REPETITION_NOT_BORING, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, - [MOVE_CROSS_CHOP] = {CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_FOCUS_ENERGY, 0, 0, 0}}, - [MOVE_TWISTER] = {CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, - [MOVE_RAIN_DANCE] = {CONTEST_EFFECT_BETTER_WHEN_AUDIENCE_EXCITED, CONTEST_CATEGORY_TOUGH, COMBO_STARTER_RAIN_DANCE, {0, 0, 0, 0}}, - [MOVE_SUNNY_DAY] = {CONTEST_EFFECT_BETTER_WHEN_AUDIENCE_EXCITED, CONTEST_CATEGORY_BEAUTY, COMBO_STARTER_SUNNY_DAY, {0, 0, 0, 0}}, - [MOVE_CRUNCH] = {CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_SCARY_FACE, 0, 0, 0}}, - [MOVE_MIRROR_COAT] = {CONTEST_EFFECT_AVOID_STARTLE_ONCE, CONTEST_CATEGORY_BEAUTY, 0, {COMBO_STARTER_TAUNT, 0, 0, 0}}, - [MOVE_PSYCH_UP] = {CONTEST_EFFECT_BETTER_IF_SAME_TYPE, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, - [MOVE_EXTREME_SPEED] = {CONTEST_EFFECT_NEXT_APPEAL_EARLIER, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, - [MOVE_ANCIENT_POWER] = {CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, CONTEST_CATEGORY_TOUGH, 0, {0, 0, 0, 0}}, - [MOVE_SHADOW_BALL] = {CONTEST_EFFECT_SHIFT_JUDGE_ATTENTION, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, - [MOVE_FUTURE_SIGHT] = {CONTEST_EFFECT_DONT_EXCITE_AUDIENCE, CONTEST_CATEGORY_SMART, 0, {COMBO_STARTER_PSYCHIC, COMBO_STARTER_KINESIS, COMBO_STARTER_CONFUSION, COMBO_STARTER_CALM_MIND}}, - [MOVE_ROCK_SMASH] = {CONTEST_EFFECT_BETTER_WITH_GOOD_CONDITION, CONTEST_CATEGORY_TOUGH, 0, {0, 0, 0, 0}}, - [MOVE_WHIRLPOOL] = {CONTEST_EFFECT_DONT_EXCITE_AUDIENCE, CONTEST_CATEGORY_BEAUTY, 0, {COMBO_STARTER_RAIN_DANCE, 0, 0, 0}}, - [MOVE_BEAT_UP] = {CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, - [MOVE_FAKE_OUT] = {CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL, CONTEST_CATEGORY_CUTE, COMBO_STARTER_FAKE_OUT, {0, 0, 0, 0}}, - [MOVE_UPROAR] = {CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER, CONTEST_CATEGORY_CUTE, 0, {0, 0, 0, 0}}, - [MOVE_STOCKPILE] = {CONTEST_EFFECT_AVOID_STARTLE_ONCE, CONTEST_CATEGORY_TOUGH, COMBO_STARTER_STOCKPILE, {0, 0, 0, 0}}, - [MOVE_SPIT_UP] = {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_STOCKPILE, 0, 0, 0}}, - [MOVE_SWALLOW] = {CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_STOCKPILE, 0, 0, 0}}, - [MOVE_HEAT_WAVE] = {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_BEAUTY, 0, {COMBO_STARTER_SUNNY_DAY, 0, 0, 0}}, - [MOVE_HAIL] = {CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, CONTEST_CATEGORY_BEAUTY, COMBO_STARTER_HAIL, {0, 0, 0, 0}}, - [MOVE_TORMENT] = {CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS, CONTEST_CATEGORY_TOUGH, 0, {0, 0, 0, 0}}, - [MOVE_FLATTER] = {CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS, CONTEST_CATEGORY_SMART, 0, {COMBO_STARTER_CHARM, 0, 0, 0}}, - [MOVE_WILL_O_WISP] = {CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, CONTEST_CATEGORY_BEAUTY, 0, {COMBO_STARTER_SUNNY_DAY, 0, 0, 0}}, - [MOVE_MEMENTO] = {CONTEST_EFFECT_GREAT_APPEAL_BUT_NO_MORE_MOVES, CONTEST_CATEGORY_TOUGH, 0, {0, 0, 0, 0}}, - [MOVE_FACADE] = {CONTEST_EFFECT_BETTER_IF_LAST, CONTEST_CATEGORY_CUTE, 0, {0, 0, 0, 0}}, - [MOVE_FOCUS_PUNCH] = {CONTEST_EFFECT_NEXT_APPEAL_LATER, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_FOCUS_ENERGY, 0, 0, 0}}, - [MOVE_SMELLING_SALT] = {CONTEST_EFFECT_STARTLE_PREV_MON, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, - [MOVE_FOLLOW_ME] = {CONTEST_EFFECT_DONT_EXCITE_AUDIENCE, CONTEST_CATEGORY_CUTE, 0, {0, 0, 0, 0}}, - [MOVE_NATURE_POWER] = {CONTEST_EFFECT_BETTER_WHEN_AUDIENCE_EXCITED, CONTEST_CATEGORY_BEAUTY, 0, {0, 0, 0, 0}}, - [MOVE_CHARGE] = {CONTEST_EFFECT_BETTER_IF_SAME_TYPE, CONTEST_CATEGORY_SMART, COMBO_STARTER_CHARGE, {0, 0, 0, 0}}, - [MOVE_TAUNT] = {CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS, CONTEST_CATEGORY_SMART, COMBO_STARTER_TAUNT, {0, 0, 0, 0}}, - [MOVE_HELPING_HAND] = {CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, - [MOVE_TRICK] = {CONTEST_EFFECT_BETTER_IF_SAME_TYPE, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, - [MOVE_ROLE_PLAY] = {CONTEST_EFFECT_APPEAL_AS_GOOD_AS_PREV_ONES, CONTEST_CATEGORY_CUTE, 0, {0, 0, 0, 0}}, - [MOVE_WISH] = {CONTEST_EFFECT_DONT_EXCITE_AUDIENCE, CONTEST_CATEGORY_CUTE, 0, {0, 0, 0, 0}}, - [MOVE_ASSIST] = {CONTEST_EFFECT_QUALITY_DEPENDS_ON_TIMING, CONTEST_CATEGORY_CUTE, 0, {0, 0, 0, 0}}, - [MOVE_INGRAIN] = {CONTEST_EFFECT_AVOID_STARTLE, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, - [MOVE_SUPERPOWER] = {CONTEST_EFFECT_USER_MORE_EASILY_STARTLED, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_LOCK_ON, 0, 0, 0}}, - [MOVE_MAGIC_COAT] = {CONTEST_EFFECT_AVOID_STARTLE, CONTEST_CATEGORY_BEAUTY, 0, {0, 0, 0, 0}}, - [MOVE_RECYCLE] = {CONTEST_EFFECT_REPETITION_NOT_BORING, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, - [MOVE_REVENGE] = {CONTEST_EFFECT_NEXT_APPEAL_LATER, CONTEST_CATEGORY_TOUGH, 0, {0, 0, 0, 0}}, - [MOVE_BRICK_BREAK] = {CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_FOCUS_ENERGY, 0, 0, 0}}, - [MOVE_YAWN] = {CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS, CONTEST_CATEGORY_CUTE, COMBO_STARTER_YAWN, {0, 0, 0, 0}}, - [MOVE_KNOCK_OFF] = {CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, CONTEST_CATEGORY_SMART, 0, {COMBO_STARTER_FAKE_OUT, 0, 0, 0}}, - [MOVE_ENDEAVOR] = {CONTEST_EFFECT_BETTER_IF_LAST, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_ENDURE, 0, 0, 0}}, - [MOVE_ERUPTION] = {CONTEST_EFFECT_BETTER_WHEN_LATER, CONTEST_CATEGORY_BEAUTY, 0, {COMBO_STARTER_ENDURE, COMBO_STARTER_EARTHQUAKE, COMBO_STARTER_SUNNY_DAY, 0}}, - [MOVE_SKILL_SWAP] = {CONTEST_EFFECT_APPEAL_AS_GOOD_AS_PREV_ONES, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, - [MOVE_IMPRISON] = {CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, - [MOVE_REFRESH] = {CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, CONTEST_CATEGORY_CUTE, 0, {COMBO_STARTER_WATER_SPORT, COMBO_STARTER_SING, 0, 0}}, - [MOVE_GRUDGE] = {CONTEST_EFFECT_BETTER_WHEN_LATER, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_CURSE, 0, 0, 0}}, - [MOVE_SNATCH] = {CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, - [MOVE_SECRET_POWER] = {CONTEST_EFFECT_BETTER_WITH_GOOD_CONDITION, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, - [MOVE_DIVE] = {CONTEST_EFFECT_AVOID_STARTLE_ONCE, CONTEST_CATEGORY_BEAUTY, COMBO_STARTER_DIVE, {COMBO_STARTER_RAIN_DANCE, COMBO_STARTER_SURF, 0, 0}}, - [MOVE_ARM_THRUST] = {CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_FOCUS_ENERGY, COMBO_STARTER_FAKE_OUT, 0, 0}}, - [MOVE_CAMOUFLAGE] = {CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, - [MOVE_TAIL_GLOW] = {CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, CONTEST_CATEGORY_BEAUTY, 0, {0, 0, 0, 0}}, - [MOVE_LUSTER_PURGE] = {CONTEST_EFFECT_STARTLE_PREV_MON, CONTEST_CATEGORY_SMART, 0, {COMBO_STARTER_CALM_MIND, 0, 0, 0}}, - [MOVE_MIST_BALL] = {CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, CONTEST_CATEGORY_SMART, 0, {COMBO_STARTER_CALM_MIND, 0, 0, 0}}, - [MOVE_FEATHER_DANCE] = {CONTEST_EFFECT_BETTER_IF_LAST, CONTEST_CATEGORY_BEAUTY, 0, {0, 0, 0, 0}}, - [MOVE_TEETER_DANCE] = {CONTEST_EFFECT_JAMS_OTHERS_BUT_MISS_ONE_TURN, CONTEST_CATEGORY_CUTE, 0, {0, 0, 0, 0}}, - [MOVE_BLAZE_KICK] = {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_BEAUTY, 0, {COMBO_STARTER_SUNNY_DAY, 0, 0, 0}}, - [MOVE_MUD_SPORT] = {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_CUTE, COMBO_STARTER_MUD_SPORT, {COMBO_STARTER_MUD_SLAP, COMBO_STARTER_WATER_SPORT, 0, 0}}, - [MOVE_ICE_BALL] = {CONTEST_EFFECT_DONT_EXCITE_AUDIENCE, CONTEST_CATEGORY_BEAUTY, 0, {0, 0, 0, 0}}, - [MOVE_NEEDLE_ARM] = {CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, - [MOVE_SLACK_OFF] = {CONTEST_EFFECT_BETTER_WHEN_LATER, CONTEST_CATEGORY_CUTE, 0, {COMBO_STARTER_YAWN, 0, 0, 0}}, - [MOVE_HYPER_VOICE] = {CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, - [MOVE_POISON_FANG] = {CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, - [MOVE_CRUSH_CLAW] = {CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_SWORDS_DANCE, 0, 0, 0}}, - [MOVE_BLAST_BURN] = {CONTEST_EFFECT_JAMS_OTHERS_BUT_MISS_ONE_TURN, CONTEST_CATEGORY_BEAUTY, 0, {COMBO_STARTER_SUNNY_DAY, 0, 0, 0}}, - [MOVE_HYDRO_CANNON] = {CONTEST_EFFECT_JAMS_OTHERS_BUT_MISS_ONE_TURN, CONTEST_CATEGORY_BEAUTY, 0, {COMBO_STARTER_RAIN_DANCE, 0, 0, 0}}, - [MOVE_METEOR_MASH] = {CONTEST_EFFECT_BETTER_IF_SAME_TYPE, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, - [MOVE_ASTONISH] = {CONTEST_EFFECT_STARTLE_PREV_MON, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, - [MOVE_WEATHER_BALL] = {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_SMART, 0, {COMBO_STARTER_RAIN_DANCE, COMBO_STARTER_SUNNY_DAY, COMBO_STARTER_HAIL, COMBO_STARTER_SANDSTORM}}, - [MOVE_AROMATHERAPY] = {CONTEST_EFFECT_BETTER_IF_LAST, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, - [MOVE_FAKE_TEARS] = {CONTEST_EFFECT_BETTER_IF_LAST, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, - [MOVE_AIR_CUTTER] = {CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, - [MOVE_OVERHEAT] = {CONTEST_EFFECT_USER_MORE_EASILY_STARTLED, CONTEST_CATEGORY_BEAUTY, 0, {COMBO_STARTER_SUNNY_DAY, 0, 0, 0}}, - [MOVE_ODOR_SLEUTH] = {CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, - [MOVE_ROCK_TOMB] = {CONTEST_EFFECT_DONT_EXCITE_AUDIENCE, CONTEST_CATEGORY_SMART, 0, {COMBO_STARTER_ROCK_THROW, 0, 0, 0}}, - [MOVE_SILVER_WIND] = {CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, CONTEST_CATEGORY_BEAUTY, 0, {0, 0, 0, 0}}, - [MOVE_METAL_SOUND] = {CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, CONTEST_CATEGORY_SMART, COMBO_STARTER_METAL_SOUND, {0, 0, 0, 0}}, - [MOVE_GRASS_WHISTLE] = {CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, - [MOVE_TICKLE] = {CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS, CONTEST_CATEGORY_CUTE, 0, {0, 0, 0, 0}}, - [MOVE_COSMIC_POWER] = {CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, - [MOVE_WATER_SPOUT] = {CONTEST_EFFECT_BETTER_WHEN_LATER, CONTEST_CATEGORY_BEAUTY, 0, {COMBO_STARTER_RAIN_DANCE, 0, 0, 0}}, - [MOVE_SIGNAL_BEAM] = {CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER, CONTEST_CATEGORY_BEAUTY, 0, {0, 0, 0, 0}}, - [MOVE_SHADOW_PUNCH] = {CONTEST_EFFECT_BETTER_IF_FIRST, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, - [MOVE_EXTRASENSORY] = {CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, - [MOVE_SKY_UPPERCUT] = {CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_FOCUS_ENERGY, 0, 0, 0}}, - [MOVE_SAND_TOMB] = {CONTEST_EFFECT_DONT_EXCITE_AUDIENCE, CONTEST_CATEGORY_SMART, 0, {COMBO_STARTER_SANDSTORM, 0, 0, 0}}, - [MOVE_SHEER_COLD] = {CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS, CONTEST_CATEGORY_BEAUTY, 0, {0, 0, 0, 0}}, - [MOVE_MUDDY_WATER] = {CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION, CONTEST_CATEGORY_TOUGH, 0, {COMBO_STARTER_RAIN_DANCE, 0, 0, 0}}, - [MOVE_BULLET_SEED] = {CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_GROWTH, 0, 0, 0}}, - [MOVE_AERIAL_ACE] = {CONTEST_EFFECT_BETTER_IF_FIRST, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, - [MOVE_ICICLE_SPEAR] = {CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL, CONTEST_CATEGORY_BEAUTY, 0, {0, 0, 0, 0}}, - [MOVE_IRON_DEFENSE] = {CONTEST_EFFECT_AVOID_STARTLE, CONTEST_CATEGORY_TOUGH, 0, {0, 0, 0, 0}}, - [MOVE_BLOCK] = {CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS, CONTEST_CATEGORY_CUTE, 0, {0, 0, 0, 0}}, - [MOVE_HOWL] = {CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, - [MOVE_DRAGON_CLAW] = {CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_DRAGON_BREATH, COMBO_STARTER_DRAGON_RAGE, COMBO_STARTER_DRAGON_DANCE, 0}}, - [MOVE_FRENZY_PLANT] = {CONTEST_EFFECT_JAMS_OTHERS_BUT_MISS_ONE_TURN, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_GROWTH, 0, 0, 0}}, - [MOVE_BULK_UP] = {CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, CONTEST_CATEGORY_BEAUTY, 0, {0, 0, 0, 0}}, - [MOVE_BOUNCE] = {CONTEST_EFFECT_AVOID_STARTLE, CONTEST_CATEGORY_CUTE, 0, {0, 0, 0, 0}}, - [MOVE_MUD_SHOT] = {CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, CONTEST_CATEGORY_TOUGH, 0, {0, 0, 0, 0}}, - [MOVE_POISON_TAIL] = {CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS, CONTEST_CATEGORY_SMART, 0, {0, 0, 0, 0}}, - [MOVE_COVET] = {CONTEST_EFFECT_APPEAL_AS_GOOD_AS_PREV_ONES, CONTEST_CATEGORY_CUTE, 0, {0, 0, 0, 0}}, - [MOVE_VOLT_TACKLE] = {CONTEST_EFFECT_USER_MORE_EASILY_STARTLED, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_CHARGE, 0, 0, 0}}, - [MOVE_MAGICAL_LEAF] = {CONTEST_EFFECT_BETTER_IF_FIRST, CONTEST_CATEGORY_BEAUTY, 0, {COMBO_STARTER_GROWTH, 0, 0, 0}}, - [MOVE_WATER_SPORT] = {CONTEST_EFFECT_HIGHLY_APPEALING, CONTEST_CATEGORY_CUTE, COMBO_STARTER_WATER_SPORT, {COMBO_STARTER_RAIN_DANCE, COMBO_STARTER_MUD_SPORT, 0, 0}}, - [MOVE_CALM_MIND] = {CONTEST_EFFECT_AVOID_STARTLE_ONCE, CONTEST_CATEGORY_SMART, COMBO_STARTER_CALM_MIND, {0, 0, 0, 0}}, - [MOVE_LEAF_BLADE] = {CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, - [MOVE_DRAGON_DANCE] = {CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, CONTEST_CATEGORY_COOL, COMBO_STARTER_DRAGON_DANCE, {COMBO_STARTER_DRAGON_RAGE, COMBO_STARTER_DRAGON_BREATH, 0, 0}}, - [MOVE_ROCK_BLAST] = {CONTEST_EFFECT_BETTER_IF_SAME_TYPE, CONTEST_CATEGORY_TOUGH, 0, {0, 0, 0, 0}}, - [MOVE_SHOCK_WAVE] = {CONTEST_EFFECT_BETTER_IF_FIRST, CONTEST_CATEGORY_COOL, 0, {COMBO_STARTER_CHARGE, 0, 0, 0}}, - [MOVE_WATER_PULSE] = {CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER, CONTEST_CATEGORY_BEAUTY, 0, {COMBO_STARTER_RAIN_DANCE, 0, 0, 0}}, - [MOVE_DOOM_DESIRE] = {CONTEST_EFFECT_DONT_EXCITE_AUDIENCE, CONTEST_CATEGORY_COOL, 0, {0, 0, 0, 0}}, - [MOVE_PSYCHO_BOOST] = {CONTEST_EFFECT_USER_MORE_EASILY_STARTLED, CONTEST_CATEGORY_SMART, 0, {COMBO_STARTER_CALM_MIND, 0, 0, 0}}, + [MOVE_NONE] = {0}, + + [MOVE_POUND] = + { + .effect = CONTEST_EFFECT_HIGHLY_APPEALING, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = COMBO_STARTER_POUND, + .comboMoves = {0}, + }, + + [MOVE_KARATE_CHOP] = + { + .effect = CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_FOCUS_ENERGY}, + }, + + [MOVE_DOUBLE_SLAP] = + { + .effect = CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_POUND}, + }, + + [MOVE_COMET_PUNCH] = + { + .effect = CONTEST_EFFECT_BETTER_IF_SAME_TYPE, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_MEGA_PUNCH] = + { + .effect = CONTEST_EFFECT_HIGHLY_APPEALING, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_FOCUS_ENERGY, COMBO_STARTER_MIND_READER}, + }, + + [MOVE_PAY_DAY] = + { + .effect = CONTEST_EFFECT_BETTER_WHEN_AUDIENCE_EXCITED, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_FIRE_PUNCH] = + { + .effect = CONTEST_EFFECT_HIGHLY_APPEALING, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = COMBO_STARTER_FIRE_PUNCH, + .comboMoves = {COMBO_STARTER_SUNNY_DAY, COMBO_STARTER_THUNDER_PUNCH, COMBO_STARTER_ICE_PUNCH}, + }, + + [MOVE_ICE_PUNCH] = + { + .effect = CONTEST_EFFECT_HIGHLY_APPEALING, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = COMBO_STARTER_ICE_PUNCH, + .comboMoves = {COMBO_STARTER_THUNDER_PUNCH, COMBO_STARTER_FIRE_PUNCH}, + }, + + [MOVE_THUNDER_PUNCH] = + { + .effect = CONTEST_EFFECT_HIGHLY_APPEALING, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = COMBO_STARTER_THUNDER_PUNCH, + .comboMoves = {COMBO_STARTER_CHARGE, COMBO_STARTER_FIRE_PUNCH, COMBO_STARTER_ICE_PUNCH}, + }, + + [MOVE_SCRATCH] = + { + .effect = CONTEST_EFFECT_HIGHLY_APPEALING, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = COMBO_STARTER_SCRATCH, + .comboMoves = {COMBO_STARTER_LEER}, + }, + + [MOVE_VICE_GRIP] = + { + .effect = CONTEST_EFFECT_HIGHLY_APPEALING, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = COMBO_STARTER_VICE_GRIP, + .comboMoves = {0}, + }, + + [MOVE_GUILLOTINE] = + { + .effect = CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_VICE_GRIP}, + }, + + [MOVE_RAZOR_WIND] = + { + .effect = CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_SWORDS_DANCE] = + { + .effect = CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = COMBO_STARTER_SWORDS_DANCE, + .comboMoves = {0}, + }, + + [MOVE_CUT] = + { + .effect = CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_SWORDS_DANCE}, + }, + + [MOVE_GUST] = + { + .effect = CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_WING_ATTACK] = + { + .effect = CONTEST_EFFECT_BETTER_IF_SAME_TYPE, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_WHIRLWIND] = + { + .effect = CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_FLY] = + { + .effect = CONTEST_EFFECT_AVOID_STARTLE, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_BIND] = + { + .effect = CONTEST_EFFECT_DONT_EXCITE_AUDIENCE, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_VICE_GRIP}, + }, + + [MOVE_SLAM] = + { + .effect = CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_POUND}, + }, + + [MOVE_VINE_WHIP] = + { + .effect = CONTEST_EFFECT_HIGHLY_APPEALING, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_GROWTH}, + }, + + [MOVE_STOMP] = + { + .effect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = 0,{0, COMBO_STARTER_LEER}, + }, + + [MOVE_DOUBLE_KICK] = + { + .effect = CONTEST_EFFECT_BETTER_IF_SAME_TYPE, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_MEGA_KICK] = + { + .effect = CONTEST_EFFECT_HIGHLY_APPEALING, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_FOCUS_ENERGY, COMBO_STARTER_MIND_READER}, + }, + + [MOVE_JUMP_KICK] = + { + .effect = CONTEST_EFFECT_USER_MORE_EASILY_STARTLED, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_MIND_READER}, + }, + + [MOVE_ROLLING_KICK] = + { + .effect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_SAND_ATTACK] = + { + .effect = CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION, + .contestCategory = CONTEST_CATEGORY_CUTE, + .comboStarterId = COMBO_STARTER_SAND_ATTACK, + .comboMoves = {COMBO_STARTER_MUD_SLAP, COMBO_STARTER_SANDSTORM}, + }, + + [MOVE_HEADBUTT] = + { + .effect = CONTEST_EFFECT_STARTLE_PREV_MON, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_FOCUS_ENERGY}, + }, + + [MOVE_HORN_ATTACK] = + { + .effect = CONTEST_EFFECT_HIGHLY_APPEALING, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = COMBO_STARTER_HORN_ATTACK, + .comboMoves = {COMBO_STARTER_LEER}, + }, + + [MOVE_FURY_ATTACK] = + { + .effect = CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_HORN_ATTACK, COMBO_STARTER_PECK}, + }, + + [MOVE_HORN_DRILL] = + { + .effect = CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_HORN_ATTACK}, + }, + + [MOVE_TACKLE] = + { + .effect = CONTEST_EFFECT_HIGHLY_APPEALING, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_DEFENSE_CURL, COMBO_STARTER_LEER, COMBO_STARTER_HARDEN}, + }, + + [MOVE_BODY_SLAM] = + { + .effect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_WRAP] = + { + .effect = CONTEST_EFFECT_DONT_EXCITE_AUDIENCE, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_TAKE_DOWN] = + { + .effect = CONTEST_EFFECT_USER_MORE_EASILY_STARTLED, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_FOCUS_ENERGY, COMBO_STARTER_HARDEN}, + }, + + [MOVE_THRASH] = + { + .effect = CONTEST_EFFECT_JAMS_OTHERS_BUT_MISS_ONE_TURN, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_RAGE}, + }, + + [MOVE_DOUBLE_EDGE] = + { + .effect = CONTEST_EFFECT_USER_MORE_EASILY_STARTLED, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_FOCUS_ENERGY, COMBO_STARTER_HARDEN}, + }, + + [MOVE_TAIL_WHIP] = + { + .effect = CONTEST_EFFECT_BETTER_IF_LAST, + .contestCategory = CONTEST_CATEGORY_CUTE, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_CHARM}, + }, + + [MOVE_POISON_STING] = + { + .effect = CONTEST_EFFECT_STARTLE_PREV_MON, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_TWINEEDLE] = + { + .effect = CONTEST_EFFECT_STARTLE_PREV_MON, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_PIN_MISSILE] = + { + .effect = CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_LEER] = + { + .effect = CONTEST_EFFECT_DONT_EXCITE_AUDIENCE, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = COMBO_STARTER_LEER, + .comboMoves = {COMBO_STARTER_RAGE, COMBO_STARTER_SCARY_FACE}, + }, + + [MOVE_BITE] = + { + .effect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_LEER, COMBO_STARTER_SCARY_FACE}, + }, + + [MOVE_GROWL] = + { + .effect = CONTEST_EFFECT_BETTER_IF_LAST, + .contestCategory = CONTEST_CATEGORY_CUTE, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_CHARM}, + }, + + [MOVE_ROAR] = + { + .effect = CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_SING] = + { + .effect = CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS, + .contestCategory = CONTEST_CATEGORY_CUTE, + .comboStarterId = COMBO_STARTER_SING, + .comboMoves = {0}, + }, + + [MOVE_SUPERSONIC] = + { + .effect = CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_SONIC_BOOM] = + { + .effect = CONTEST_EFFECT_BETTER_IF_SAME_TYPE, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_DISABLE] = + { + .effect = CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_ACID] = + { + .effect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_EMBER] = + { + .effect = CONTEST_EFFECT_HIGHLY_APPEALING, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_SUNNY_DAY}, + }, + + [MOVE_FLAMETHROWER] = + { + .effect = CONTEST_EFFECT_HIGHLY_APPEALING, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_SUNNY_DAY}, + }, + + [MOVE_MIST] = + { + .effect = CONTEST_EFFECT_AVOID_STARTLE, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_WATER_GUN] = + { + .effect = CONTEST_EFFECT_HIGHLY_APPEALING, + .contestCategory = CONTEST_CATEGORY_CUTE, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_RAIN_DANCE, COMBO_STARTER_WATER_SPORT, COMBO_STARTER_MUD_SPORT}, + }, + + [MOVE_HYDRO_PUMP] = + { + .effect = CONTEST_EFFECT_HIGHLY_APPEALING, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_RAIN_DANCE}, + }, + + [MOVE_SURF] = + { + .effect = CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = COMBO_STARTER_SURF, + .comboMoves = {COMBO_STARTER_RAIN_DANCE, COMBO_STARTER_DIVE}, + }, + + [MOVE_ICE_BEAM] = + { + .effect = CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_BLIZZARD] = + { + .effect = CONTEST_EFFECT_HIGHLY_APPEALING, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_POWDER_SNOW, COMBO_STARTER_HAIL}, + }, + + [MOVE_PSYBEAM] = + { + .effect = CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_CALM_MIND}, + }, + + [MOVE_BUBBLE_BEAM] = + { + .effect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_RAIN_DANCE}, + }, + + [MOVE_AURORA_BEAM] = + { + .effect = CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_HYPER_BEAM] = + { + .effect = CONTEST_EFFECT_JAMS_OTHERS_BUT_MISS_ONE_TURN, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_PECK] = + { + .effect = CONTEST_EFFECT_HIGHLY_APPEALING, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = COMBO_STARTER_PECK, + .comboMoves = {0}, + }, + + [MOVE_DRILL_PECK] = + { + .effect = CONTEST_EFFECT_HIGHLY_APPEALING, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_PECK}, + }, + + [MOVE_SUBMISSION] = + { + .effect = CONTEST_EFFECT_USER_MORE_EASILY_STARTLED, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_MIND_READER}, + }, + + [MOVE_LOW_KICK] = + { + .effect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_COUNTER] = + { + .effect = CONTEST_EFFECT_AVOID_STARTLE_ONCE, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_TAUNT}, + }, + + [MOVE_SEISMIC_TOSS] = + { + .effect = CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_FAKE_OUT}, + }, + + [MOVE_STRENGTH] = + { + .effect = CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_ABSORB] = + { + .effect = CONTEST_EFFECT_STARTLE_PREV_MON, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_GROWTH}, + }, + + [MOVE_MEGA_DRAIN] = + { + .effect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_GROWTH}, + }, + + [MOVE_LEECH_SEED] = + { + .effect = CONTEST_EFFECT_STARTLE_PREV_MONS, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_GROWTH] = + { + .effect = CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = COMBO_STARTER_GROWTH, + .comboMoves = {0}, + }, + + [MOVE_RAZOR_LEAF] = + { + .effect = CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_GROWTH}, + }, + + [MOVE_SOLAR_BEAM] = + { + .effect = CONTEST_EFFECT_HIGHLY_APPEALING, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_SUNNY_DAY, COMBO_STARTER_GROWTH}, + }, + + [MOVE_POISON_POWDER] = + { + .effect = CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_SWEET_SCENT}, + }, + + [MOVE_STUN_SPORE] = + { + .effect = CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_SWEET_SCENT}, + }, + + [MOVE_SLEEP_POWDER] = + { + .effect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_SWEET_SCENT}, + }, + + [MOVE_PETAL_DANCE] = + { + .effect = CONTEST_EFFECT_JAMS_OTHERS_BUT_MISS_ONE_TURN, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_GROWTH}, + }, + + [MOVE_STRING_SHOT] = + { + .effect = CONTEST_EFFECT_STARTLE_PREV_MON, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = COMBO_STARTER_STRING_SHOT, + .comboMoves = {0}, + }, + + [MOVE_DRAGON_RAGE] = + { + .effect = CONTEST_EFFECT_BETTER_WHEN_LATER, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = COMBO_STARTER_DRAGON_RAGE, + .comboMoves = {COMBO_STARTER_DRAGON_BREATH, COMBO_STARTER_DRAGON_DANCE}, + }, + + [MOVE_FIRE_SPIN] = + { + .effect = CONTEST_EFFECT_DONT_EXCITE_AUDIENCE, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_SUNNY_DAY}, + }, + + [MOVE_THUNDER_SHOCK] = + { + .effect = CONTEST_EFFECT_HIGHLY_APPEALING, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_CHARGE}, + }, + + [MOVE_THUNDERBOLT] = + { + .effect = CONTEST_EFFECT_HIGHLY_APPEALING, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_CHARGE}, + }, + + [MOVE_THUNDER_WAVE] = + { + .effect = CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_CHARGE}, + }, + + [MOVE_THUNDER] = + { + .effect = CONTEST_EFFECT_STARTLE_PREV_MONS, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_CHARGE, COMBO_STARTER_RAIN_DANCE, COMBO_STARTER_LOCK_ON}, + }, + + [MOVE_ROCK_THROW] = + { + .effect = CONTEST_EFFECT_BETTER_IF_SAME_TYPE, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = COMBO_STARTER_ROCK_THROW, + .comboMoves = {0}, + }, + + [MOVE_EARTHQUAKE] = + { + .effect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = COMBO_STARTER_EARTHQUAKE, + .comboMoves = {0}, + }, + + [MOVE_FISSURE] = + { + .effect = CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_EARTHQUAKE}, + }, + + [MOVE_DIG] = + { + .effect = CONTEST_EFFECT_AVOID_STARTLE, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_TOXIC] = + { + .effect = CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_CONFUSION] = + { + .effect = CONTEST_EFFECT_STARTLE_PREV_MON, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = COMBO_STARTER_CONFUSION, + .comboMoves = {COMBO_STARTER_PSYCHIC, COMBO_STARTER_KINESIS, COMBO_STARTER_CALM_MIND}, + }, + + [MOVE_PSYCHIC] = + { + .effect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = COMBO_STARTER_PSYCHIC, + .comboMoves = {COMBO_STARTER_KINESIS, COMBO_STARTER_CONFUSION, COMBO_STARTER_CALM_MIND}, + }, + + [MOVE_HYPNOSIS] = + { + .effect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = COMBO_STARTER_HYPNOSIS, + .comboMoves = {0}, + }, + + [MOVE_MEDITATE] = + { + .effect = CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_CALM_MIND}, + }, + + [MOVE_AGILITY] = + { + .effect = CONTEST_EFFECT_NEXT_APPEAL_EARLIER, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_DOUBLE_TEAM}, + }, + + [MOVE_QUICK_ATTACK] = + { + .effect = CONTEST_EFFECT_NEXT_APPEAL_EARLIER, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_DOUBLE_TEAM}, + }, + + [MOVE_RAGE] = + { + .effect = CONTEST_EFFECT_REPETITION_NOT_BORING, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = COMBO_STARTER_RAGE, + .comboMoves = {0}, + }, + + [MOVE_TELEPORT] = + { + .effect = CONTEST_EFFECT_AVOID_STARTLE, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_DOUBLE_TEAM, COMBO_STARTER_PSYCHIC, COMBO_STARTER_KINESIS, COMBO_STARTER_CONFUSION}, + }, + + [MOVE_NIGHT_SHADE] = + { + .effect = CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_MIMIC] = + { + .effect = CONTEST_EFFECT_APPEAL_AS_GOOD_AS_PREV_ONE, + .contestCategory = CONTEST_CATEGORY_CUTE, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_SCREECH] = + { + .effect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_DOUBLE_TEAM] = + { + .effect = CONTEST_EFFECT_AVOID_STARTLE_ONCE, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = COMBO_STARTER_DOUBLE_TEAM, + .comboMoves = {0}, + }, + + [MOVE_RECOVER] = + { + .effect = CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_HARDEN] = + { + .effect = CONTEST_EFFECT_AVOID_STARTLE_ONCE, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = COMBO_STARTER_HARDEN, + .comboMoves = {0}, + }, + + [MOVE_MINIMIZE] = + { + .effect = CONTEST_EFFECT_AVOID_STARTLE_ONCE, + .contestCategory = CONTEST_CATEGORY_CUTE, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_SMOKESCREEN] = + { + .effect = CONTEST_EFFECT_SHIFT_JUDGE_ATTENTION, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_SMOG}, + }, + + [MOVE_CONFUSE_RAY] = + { + .effect = CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_WITHDRAW] = + { + .effect = CONTEST_EFFECT_AVOID_STARTLE, + .contestCategory = CONTEST_CATEGORY_CUTE, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_RAIN_DANCE}, + }, + + [MOVE_DEFENSE_CURL] = + { + .effect = CONTEST_EFFECT_AVOID_STARTLE_ONCE, + .contestCategory = CONTEST_CATEGORY_CUTE, + .comboStarterId = COMBO_STARTER_DEFENSE_CURL, + .comboMoves = {0}, + }, + + [MOVE_BARRIER] = + { + .effect = CONTEST_EFFECT_AVOID_STARTLE, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_LIGHT_SCREEN] = + { + .effect = CONTEST_EFFECT_AVOID_STARTLE, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_CALM_MIND}, + }, + + [MOVE_HAZE] = + { + .effect = CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_REFLECT] = + { + .effect = CONTEST_EFFECT_AVOID_STARTLE, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_CALM_MIND}, + }, + + [MOVE_FOCUS_ENERGY] = + { + .effect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = COMBO_STARTER_FOCUS_ENERGY, + .comboMoves = {0}, + }, + + [MOVE_BIDE] = + { + .effect = CONTEST_EFFECT_AVOID_STARTLE, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_METRONOME] = + { + .effect = CONTEST_EFFECT_REPETITION_NOT_BORING, + .contestCategory = CONTEST_CATEGORY_CUTE, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_MIRROR_MOVE] = + { + .effect = CONTEST_EFFECT_APPEAL_AS_GOOD_AS_PREV_ONE, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_SELF_DESTRUCT] = + { + .effect = CONTEST_EFFECT_GREAT_APPEAL_BUT_NO_MORE_MOVES, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_EGG_BOMB] = + { + .effect = CONTEST_EFFECT_HIGHLY_APPEALING, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_SOFT_BOILED}, + }, + + [MOVE_LICK] = + { + .effect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_SMOG] = + { + .effect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = COMBO_STARTER_SMOG, + .comboMoves = {0}, + }, + + [MOVE_SLUDGE] = + { + .effect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = COMBO_STARTER_SLUDGE, + .comboMoves = {COMBO_STARTER_SLUDGE_BOMB}, + }, + + [MOVE_BONE_CLUB] = + { + .effect = CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = COMBO_STARTER_BONE_CLUB, + .comboMoves = {COMBO_STARTER_BONEMERANG, COMBO_STARTER_BONE_RUSH}, + }, + + [MOVE_FIRE_BLAST] = + { + .effect = CONTEST_EFFECT_HIGHLY_APPEALING, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_SUNNY_DAY}, + }, + + [MOVE_WATERFALL] = + { + .effect = CONTEST_EFFECT_BETTER_IF_LAST, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_RAIN_DANCE}, + }, + + [MOVE_CLAMP] = + { + .effect = CONTEST_EFFECT_DONT_EXCITE_AUDIENCE, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_RAIN_DANCE}, + }, + + [MOVE_SWIFT] = + { + .effect = CONTEST_EFFECT_BETTER_IF_FIRST, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_SKULL_BASH] = + { + .effect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_SPIKE_CANNON] = + { + .effect = CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_CONSTRICT] = + { + .effect = CONTEST_EFFECT_STARTLE_PREV_MON, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_AMNESIA] = + { + .effect = CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, + .contestCategory = CONTEST_CATEGORY_CUTE, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_KINESIS] = + { + .effect = CONTEST_EFFECT_DONT_EXCITE_AUDIENCE, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = COMBO_STARTER_KINESIS, + .comboMoves = {COMBO_STARTER_PSYCHIC, COMBO_STARTER_CONFUSION}, + }, + + [MOVE_SOFT_BOILED] = + { + .effect = CONTEST_EFFECT_HIGHLY_APPEALING, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = COMBO_STARTER_SOFT_BOILED, + .comboMoves = {0}, + }, + + [MOVE_HI_JUMP_KICK] = + { + .effect = CONTEST_EFFECT_USER_MORE_EASILY_STARTLED, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_MIND_READER}, + }, + + [MOVE_GLARE] = + { + .effect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_LEER}, + }, + + [MOVE_DREAM_EATER] = + { + .effect = CONTEST_EFFECT_STARTLE_PREV_MONS, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_HYPNOSIS, COMBO_STARTER_CALM_MIND}, + }, + + [MOVE_POISON_GAS] = + { + .effect = CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_BARRAGE] = + { + .effect = CONTEST_EFFECT_BETTER_IF_SAME_TYPE, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_LEECH_LIFE] = + { + .effect = CONTEST_EFFECT_STARTLE_PREV_MON, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_LOVELY_KISS] = + { + .effect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_SKY_ATTACK] = + { + .effect = CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_TRANSFORM] = + { + .effect = CONTEST_EFFECT_REPETITION_NOT_BORING, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_BUBBLE] = + { + .effect = CONTEST_EFFECT_STARTLE_PREV_MONS, + .contestCategory = CONTEST_CATEGORY_CUTE, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_RAIN_DANCE}, + }, + + [MOVE_DIZZY_PUNCH] = + { + .effect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_SPORE] = + { + .effect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_FLASH] = + { + .effect = CONTEST_EFFECT_SHIFT_JUDGE_ATTENTION, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_PSYWAVE] = + { + .effect = CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_CALM_MIND}, + }, + + [MOVE_SPLASH] = + { + .effect = CONTEST_EFFECT_BETTER_IF_LAST, + .contestCategory = CONTEST_CATEGORY_CUTE, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_ACID_ARMOR] = + { + .effect = CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_CRABHAMMER] = + { + .effect = CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_RAIN_DANCE, COMBO_STARTER_SWORDS_DANCE}, + }, + + [MOVE_EXPLOSION] = + { + .effect = CONTEST_EFFECT_GREAT_APPEAL_BUT_NO_MORE_MOVES, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_FURY_SWIPES] = + { + .effect = CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_SCRATCH}, + }, + + [MOVE_BONEMERANG] = + { + .effect = CONTEST_EFFECT_HIGHLY_APPEALING, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = COMBO_STARTER_BONEMERANG, + .comboMoves = {COMBO_STARTER_BONE_CLUB, COMBO_STARTER_BONE_RUSH}, + }, + + [MOVE_REST] = + { + .effect = CONTEST_EFFECT_AVOID_STARTLE_ONCE, + .contestCategory = CONTEST_CATEGORY_CUTE, + .comboStarterId = COMBO_STARTER_REST, + .comboMoves = {COMBO_STARTER_BELLY_DRUM, COMBO_STARTER_CHARM, COMBO_STARTER_YAWN}, + }, + + [MOVE_ROCK_SLIDE] = + { + .effect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_ROCK_THROW}, + }, + + [MOVE_HYPER_FANG] = + { + .effect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_SHARPEN] = + { + .effect = CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, + .contestCategory = CONTEST_CATEGORY_CUTE, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_CONVERSION] = + { + .effect = CONTEST_EFFECT_BETTER_IF_SAME_TYPE, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_TRI_ATTACK] = + { + .effect = CONTEST_EFFECT_STARTLE_PREV_MONS, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_LOCK_ON}, + }, + + [MOVE_SUPER_FANG] = + { + .effect = CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_SCARY_FACE}, + }, + + [MOVE_SLASH] = + { + .effect = CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_SWORDS_DANCE, COMBO_STARTER_SCRATCH}, + }, + + [MOVE_SUBSTITUTE] = + { + .effect = CONTEST_EFFECT_AVOID_STARTLE_ONCE, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_STRUGGLE] = + { + .effect = CONTEST_EFFECT_HIGHLY_APPEALING, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_SKETCH] = + { + .effect = CONTEST_EFFECT_APPEAL_AS_GOOD_AS_PREV_ONE, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_TRIPLE_KICK] = + { + .effect = CONTEST_EFFECT_HIGHLY_APPEALING, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_FOCUS_ENERGY}, + }, + + [MOVE_THIEF] = + { + .effect = CONTEST_EFFECT_APPEAL_AS_GOOD_AS_PREV_ONES, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_SPIDER_WEB] = + { + .effect = CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_STRING_SHOT}, + }, + + [MOVE_MIND_READER] = + { + .effect = CONTEST_EFFECT_DONT_EXCITE_AUDIENCE, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = COMBO_STARTER_MIND_READER, + .comboMoves = {0}, + }, + + [MOVE_NIGHTMARE] = + { + .effect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_HYPNOSIS}, + }, + + [MOVE_FLAME_WHEEL] = + { + .effect = CONTEST_EFFECT_HIGHLY_APPEALING, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_SUNNY_DAY}, + }, + + [MOVE_SNORE] = + { + .effect = CONTEST_EFFECT_HIGHLY_APPEALING, + .contestCategory = CONTEST_CATEGORY_CUTE, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_REST}, + }, + + [MOVE_CURSE] = + { + .effect = CONTEST_EFFECT_NEXT_APPEAL_LATER, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = COMBO_STARTER_CURSE, + .comboMoves = {0}, + }, + + [MOVE_FLAIL] = + { + .effect = CONTEST_EFFECT_BETTER_WHEN_LATER, + .contestCategory = CONTEST_CATEGORY_CUTE, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_ENDURE}, + }, + + [MOVE_CONVERSION_2] = + { + .effect = CONTEST_EFFECT_BETTER_IF_SAME_TYPE, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_AEROBLAST] = + { + .effect = CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_COTTON_SPORE] = + { + .effect = CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_REVERSAL] = + { + .effect = CONTEST_EFFECT_BETTER_IF_LAST, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_ENDURE}, + }, + + [MOVE_SPITE] = + { + .effect = CONTEST_EFFECT_BETTER_WHEN_LATER, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_CURSE}, + }, + + [MOVE_POWDER_SNOW] = + { + .effect = CONTEST_EFFECT_HIGHLY_APPEALING, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = COMBO_STARTER_POWDER_SNOW, + .comboMoves = {COMBO_STARTER_HAIL}, + }, + + [MOVE_PROTECT] = + { + .effect = CONTEST_EFFECT_AVOID_STARTLE, + .contestCategory = CONTEST_CATEGORY_CUTE, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_HARDEN}, + }, + + [MOVE_MACH_PUNCH] = + { + .effect = CONTEST_EFFECT_NEXT_APPEAL_EARLIER, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_SCARY_FACE] = + { + .effect = CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = COMBO_STARTER_SCARY_FACE, + .comboMoves = {COMBO_STARTER_RAGE, COMBO_STARTER_LEER}, + }, + + [MOVE_FAINT_ATTACK] = + { + .effect = CONTEST_EFFECT_BETTER_IF_FIRST, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_FAKE_OUT, COMBO_STARTER_LEER, COMBO_STARTER_POUND}, + }, + + [MOVE_SWEET_KISS] = + { + .effect = CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS, + .contestCategory = CONTEST_CATEGORY_CUTE, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_CHARM}, + }, + + [MOVE_BELLY_DRUM] = + { + .effect = CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, + .contestCategory = CONTEST_CATEGORY_CUTE, + .comboStarterId = COMBO_STARTER_BELLY_DRUM, + .comboMoves = {0}, + }, + + [MOVE_SLUDGE_BOMB] = + { + .effect = CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = COMBO_STARTER_SLUDGE_BOMB, + .comboMoves = {COMBO_STARTER_SLUDGE}, + }, + + [MOVE_MUD_SLAP] = + { + .effect = CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION, + .contestCategory = CONTEST_CATEGORY_CUTE, + .comboStarterId = COMBO_STARTER_MUD_SLAP, + .comboMoves = {COMBO_STARTER_SAND_ATTACK, COMBO_STARTER_MUD_SPORT, COMBO_STARTER_SANDSTORM}, + }, + + [MOVE_OCTAZOOKA] = + { + .effect = CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_RAIN_DANCE, COMBO_STARTER_LOCK_ON}, + }, + + [MOVE_SPIKES] = + { + .effect = CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_ZAP_CANNON] = + { + .effect = CONTEST_EFFECT_HIGHLY_APPEALING, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_LOCK_ON}, + }, + + [MOVE_FORESIGHT] = + { + .effect = CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_DESTINY_BOND] = + { + .effect = CONTEST_EFFECT_GREAT_APPEAL_BUT_NO_MORE_MOVES, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_MEAN_LOOK, COMBO_STARTER_CURSE, COMBO_STARTER_ENDURE}, + }, + + [MOVE_PERISH_SONG] = + { + .effect = CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_MEAN_LOOK, COMBO_STARTER_SING}, + }, + + [MOVE_ICY_WIND] = + { + .effect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_DETECT] = + { + .effect = CONTEST_EFFECT_AVOID_STARTLE_ONCE, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_TAUNT}, + }, + + [MOVE_BONE_RUSH] = + { + .effect = CONTEST_EFFECT_HIGHLY_APPEALING, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = COMBO_STARTER_BONE_RUSH, + .comboMoves = {COMBO_STARTER_FOCUS_ENERGY, COMBO_STARTER_BONE_CLUB, COMBO_STARTER_BONEMERANG}, + }, + + [MOVE_LOCK_ON] = + { + .effect = CONTEST_EFFECT_DONT_EXCITE_AUDIENCE, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = COMBO_STARTER_LOCK_ON, + .comboMoves = {0}, + }, + + [MOVE_OUTRAGE] = + { + .effect = CONTEST_EFFECT_JAMS_OTHERS_BUT_MISS_ONE_TURN, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_SANDSTORM] = + { + .effect = CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = COMBO_STARTER_SANDSTORM, + .comboMoves = {0}, + }, + + [MOVE_GIGA_DRAIN] = + { + .effect = CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_GROWTH}, + }, + + [MOVE_ENDURE] = + { + .effect = CONTEST_EFFECT_AVOID_STARTLE_ONCE, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = COMBO_STARTER_ENDURE, + .comboMoves = {0}, + }, + + [MOVE_CHARM] = + { + .effect = CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL, + .contestCategory = CONTEST_CATEGORY_CUTE, + .comboStarterId = COMBO_STARTER_CHARM, + .comboMoves = {0}, + }, + + [MOVE_ROLLOUT] = + { + .effect = CONTEST_EFFECT_DONT_EXCITE_AUDIENCE, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_DEFENSE_CURL, COMBO_STARTER_HARDEN}, + }, + + [MOVE_FALSE_SWIPE] = + { + .effect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_SWORDS_DANCE}, + }, + + [MOVE_SWAGGER] = + { + .effect = CONTEST_EFFECT_BETTER_IF_FIRST, + .contestCategory = CONTEST_CATEGORY_CUTE, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_MILK_DRINK] = + { + .effect = CONTEST_EFFECT_BETTER_IF_SAME_TYPE, + .contestCategory = CONTEST_CATEGORY_CUTE, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_SPARK] = + { + .effect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_CHARGE}, + }, + + [MOVE_FURY_CUTTER] = + { + .effect = CONTEST_EFFECT_REPETITION_NOT_BORING, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_SWORDS_DANCE}, + }, + + [MOVE_STEEL_WING] = + { + .effect = CONTEST_EFFECT_BETTER_IF_SAME_TYPE, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_MEAN_LOOK] = + { + .effect = CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = COMBO_STARTER_MEAN_LOOK, + .comboMoves = {COMBO_STARTER_CURSE}, + }, + + [MOVE_ATTRACT] = + { + .effect = CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS, + .contestCategory = CONTEST_CATEGORY_CUTE, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_SLEEP_TALK] = + { + .effect = CONTEST_EFFECT_REPETITION_NOT_BORING, + .contestCategory = CONTEST_CATEGORY_CUTE, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_REST}, + }, + + [MOVE_HEAL_BELL] = + { + .effect = CONTEST_EFFECT_BETTER_IF_LAST, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_RETURN] = + { + .effect = CONTEST_EFFECT_EXCITE_AUDIENCE_IN_ANY_CONTEST, + .contestCategory = CONTEST_CATEGORY_CUTE, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_PRESENT] = + { + .effect = CONTEST_EFFECT_REPETITION_NOT_BORING, + .contestCategory = CONTEST_CATEGORY_CUTE, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_FRUSTRATION] = + { + .effect = CONTEST_EFFECT_EXCITE_AUDIENCE_IN_ANY_CONTEST, + .contestCategory = CONTEST_CATEGORY_CUTE, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_SAFEGUARD] = + { + .effect = CONTEST_EFFECT_AVOID_STARTLE, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_PAIN_SPLIT] = + { + .effect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_ENDURE}, + }, + + [MOVE_SACRED_FIRE] = + { + .effect = CONTEST_EFFECT_HIGHLY_APPEALING, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_SUNNY_DAY}, + }, + + [MOVE_MAGNITUDE] = + { + .effect = CONTEST_EFFECT_BETTER_WHEN_AUDIENCE_EXCITED, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_DYNAMIC_PUNCH] = + { + .effect = CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_FOCUS_ENERGY, COMBO_STARTER_MIND_READER}, + }, + + [MOVE_MEGAHORN] = + { + .effect = CONTEST_EFFECT_BETTER_IF_SAME_TYPE, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_DRAGON_BREATH] = + { + .effect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = COMBO_STARTER_DRAGON_BREATH, + .comboMoves = {COMBO_STARTER_DRAGON_RAGE, COMBO_STARTER_DRAGON_DANCE}, + }, + + [MOVE_BATON_PASS] = + { + .effect = CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS, + .contestCategory = CONTEST_CATEGORY_CUTE, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_ENCORE] = + { + .effect = CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS, + .contestCategory = CONTEST_CATEGORY_CUTE, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_PURSUIT] = + { + .effect = CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_RAPID_SPIN] = + { + .effect = CONTEST_EFFECT_AVOID_STARTLE_ONCE, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_SWEET_SCENT] = + { + .effect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, + .contestCategory = CONTEST_CATEGORY_CUTE, + .comboStarterId = COMBO_STARTER_SWEET_SCENT, + .comboMoves = {0}, + }, + + [MOVE_IRON_TAIL] = + { + .effect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_METAL_CLAW] = + { + .effect = CONTEST_EFFECT_HIGHLY_APPEALING, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_METAL_SOUND}, + }, + + [MOVE_VITAL_THROW] = + { + .effect = CONTEST_EFFECT_NEXT_APPEAL_LATER, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_FAKE_OUT}, + }, + + [MOVE_MORNING_SUN] = + { + .effect = CONTEST_EFFECT_QUALITY_DEPENDS_ON_TIMING, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_SUNNY_DAY}, + }, + + [MOVE_SYNTHESIS] = + { + .effect = CONTEST_EFFECT_QUALITY_DEPENDS_ON_TIMING, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_SUNNY_DAY}, + }, + + [MOVE_MOONLIGHT] = + { + .effect = CONTEST_EFFECT_QUALITY_DEPENDS_ON_TIMING, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_SUNNY_DAY}, + }, + + [MOVE_HIDDEN_POWER] = + { + .effect = CONTEST_EFFECT_REPETITION_NOT_BORING, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_CROSS_CHOP] = + { + .effect = CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_FOCUS_ENERGY}, + }, + + [MOVE_TWISTER] = + { + .effect = CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_RAIN_DANCE] = + { + .effect = CONTEST_EFFECT_BETTER_WHEN_AUDIENCE_EXCITED, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = COMBO_STARTER_RAIN_DANCE, + .comboMoves = {0}, + }, + + [MOVE_SUNNY_DAY] = + { + .effect = CONTEST_EFFECT_BETTER_WHEN_AUDIENCE_EXCITED, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = COMBO_STARTER_SUNNY_DAY, + .comboMoves = {0}, + }, + + [MOVE_CRUNCH] = + { + .effect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_SCARY_FACE}, + }, + + [MOVE_MIRROR_COAT] = + { + .effect = CONTEST_EFFECT_AVOID_STARTLE_ONCE, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_TAUNT}, + }, + + [MOVE_PSYCH_UP] = + { + .effect = CONTEST_EFFECT_BETTER_IF_SAME_TYPE, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_EXTREME_SPEED] = + { + .effect = CONTEST_EFFECT_NEXT_APPEAL_EARLIER, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_ANCIENT_POWER] = + { + .effect = CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_SHADOW_BALL] = + { + .effect = CONTEST_EFFECT_SHIFT_JUDGE_ATTENTION, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_FUTURE_SIGHT] = + { + .effect = CONTEST_EFFECT_DONT_EXCITE_AUDIENCE, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_PSYCHIC, COMBO_STARTER_KINESIS, COMBO_STARTER_CONFUSION, COMBO_STARTER_CALM_MIND}, + }, + + [MOVE_ROCK_SMASH] = + { + .effect = CONTEST_EFFECT_BETTER_WITH_GOOD_CONDITION, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_WHIRLPOOL] = + { + .effect = CONTEST_EFFECT_DONT_EXCITE_AUDIENCE, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_RAIN_DANCE}, + }, + + [MOVE_BEAT_UP] = + { + .effect = CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_FAKE_OUT] = + { + .effect = CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL, + .contestCategory = CONTEST_CATEGORY_CUTE, + .comboStarterId = COMBO_STARTER_FAKE_OUT, + .comboMoves = {0}, + }, + + [MOVE_UPROAR] = + { + .effect = CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER, + .contestCategory = CONTEST_CATEGORY_CUTE, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_STOCKPILE] = + { + .effect = CONTEST_EFFECT_AVOID_STARTLE_ONCE, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = COMBO_STARTER_STOCKPILE, + .comboMoves = {0}, + }, + + [MOVE_SPIT_UP] = + { + .effect = CONTEST_EFFECT_HIGHLY_APPEALING, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_STOCKPILE}, + }, + + [MOVE_SWALLOW] = + { + .effect = CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_STOCKPILE}, + }, + + [MOVE_HEAT_WAVE] = + { + .effect = CONTEST_EFFECT_HIGHLY_APPEALING, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_SUNNY_DAY}, + }, + + [MOVE_HAIL] = + { + .effect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = COMBO_STARTER_HAIL, + .comboMoves = {0}, + }, + + [MOVE_TORMENT] = + { + .effect = CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_FLATTER] = + { + .effect = CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_CHARM}, + }, + + [MOVE_WILL_O_WISP] = + { + .effect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_SUNNY_DAY}, + }, + + [MOVE_MEMENTO] = + { + .effect = CONTEST_EFFECT_GREAT_APPEAL_BUT_NO_MORE_MOVES, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_FACADE] = + { + .effect = CONTEST_EFFECT_BETTER_IF_LAST, + .contestCategory = CONTEST_CATEGORY_CUTE, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_FOCUS_PUNCH] = + { + .effect = CONTEST_EFFECT_NEXT_APPEAL_LATER, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_FOCUS_ENERGY}, + }, + + [MOVE_SMELLING_SALT] = + { + .effect = CONTEST_EFFECT_STARTLE_PREV_MON, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_FOLLOW_ME] = + { + .effect = CONTEST_EFFECT_DONT_EXCITE_AUDIENCE, + .contestCategory = CONTEST_CATEGORY_CUTE, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_NATURE_POWER] = + { + .effect = CONTEST_EFFECT_BETTER_WHEN_AUDIENCE_EXCITED, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_CHARGE] = + { + .effect = CONTEST_EFFECT_BETTER_IF_SAME_TYPE, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = COMBO_STARTER_CHARGE, + .comboMoves = {0}, + }, + + [MOVE_TAUNT] = + { + .effect = CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = COMBO_STARTER_TAUNT, + .comboMoves = {0}, + }, + + [MOVE_HELPING_HAND] = + { + .effect = CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_TRICK] = + { + .effect = CONTEST_EFFECT_BETTER_IF_SAME_TYPE, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_ROLE_PLAY] = + { + .effect = CONTEST_EFFECT_APPEAL_AS_GOOD_AS_PREV_ONES, + .contestCategory = CONTEST_CATEGORY_CUTE, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_WISH] = + { + .effect = CONTEST_EFFECT_DONT_EXCITE_AUDIENCE, + .contestCategory = CONTEST_CATEGORY_CUTE, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_ASSIST] = + { + .effect = CONTEST_EFFECT_QUALITY_DEPENDS_ON_TIMING, + .contestCategory = CONTEST_CATEGORY_CUTE, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_INGRAIN] = + { + .effect = CONTEST_EFFECT_AVOID_STARTLE, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_SUPERPOWER] = + { + .effect = CONTEST_EFFECT_USER_MORE_EASILY_STARTLED, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_LOCK_ON}, + }, + + [MOVE_MAGIC_COAT] = + { + .effect = CONTEST_EFFECT_AVOID_STARTLE, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_RECYCLE] = + { + .effect = CONTEST_EFFECT_REPETITION_NOT_BORING, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_REVENGE] = + { + .effect = CONTEST_EFFECT_NEXT_APPEAL_LATER, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_BRICK_BREAK] = + { + .effect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_FOCUS_ENERGY}, + }, + + [MOVE_YAWN] = + { + .effect = CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS, + .contestCategory = CONTEST_CATEGORY_CUTE, + .comboStarterId = COMBO_STARTER_YAWN, + .comboMoves = {0}, + }, + + [MOVE_KNOCK_OFF] = + { + .effect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_FAKE_OUT}, + }, + + [MOVE_ENDEAVOR] = + { + .effect = CONTEST_EFFECT_BETTER_IF_LAST, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_ENDURE}, + }, + + [MOVE_ERUPTION] = + { + .effect = CONTEST_EFFECT_BETTER_WHEN_LATER, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_ENDURE, COMBO_STARTER_EARTHQUAKE, COMBO_STARTER_SUNNY_DAY}, + }, + + [MOVE_SKILL_SWAP] = + { + .effect = CONTEST_EFFECT_APPEAL_AS_GOOD_AS_PREV_ONES, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_IMPRISON] = + { + .effect = CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_REFRESH] = + { + .effect = CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, + .contestCategory = CONTEST_CATEGORY_CUTE, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_WATER_SPORT, COMBO_STARTER_SING}, + }, + + [MOVE_GRUDGE] = + { + .effect = CONTEST_EFFECT_BETTER_WHEN_LATER, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_CURSE}, + }, + + [MOVE_SNATCH] = + { + .effect = CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_SECRET_POWER] = + { + .effect = CONTEST_EFFECT_BETTER_WITH_GOOD_CONDITION, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_DIVE] = + { + .effect = CONTEST_EFFECT_AVOID_STARTLE_ONCE, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = COMBO_STARTER_DIVE, + .comboMoves = {COMBO_STARTER_RAIN_DANCE, COMBO_STARTER_SURF}, + }, + + [MOVE_ARM_THRUST] = + { + .effect = CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_FOCUS_ENERGY, COMBO_STARTER_FAKE_OUT}, + }, + + [MOVE_CAMOUFLAGE] = + { + .effect = CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_TAIL_GLOW] = + { + .effect = CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_LUSTER_PURGE] = + { + .effect = CONTEST_EFFECT_STARTLE_PREV_MON, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_CALM_MIND}, + }, + + [MOVE_MIST_BALL] = + { + .effect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_CALM_MIND}, + }, + + [MOVE_FEATHER_DANCE] = + { + .effect = CONTEST_EFFECT_BETTER_IF_LAST, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_TEETER_DANCE] = + { + .effect = CONTEST_EFFECT_JAMS_OTHERS_BUT_MISS_ONE_TURN, + .contestCategory = CONTEST_CATEGORY_CUTE, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_BLAZE_KICK] = + { + .effect = CONTEST_EFFECT_HIGHLY_APPEALING, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_SUNNY_DAY}, + }, + + [MOVE_MUD_SPORT] = + { + .effect = CONTEST_EFFECT_HIGHLY_APPEALING, + .contestCategory = CONTEST_CATEGORY_CUTE, + .comboStarterId = COMBO_STARTER_MUD_SPORT, + .comboMoves = {COMBO_STARTER_MUD_SLAP, COMBO_STARTER_WATER_SPORT}, + }, + + [MOVE_ICE_BALL] = + { + .effect = CONTEST_EFFECT_DONT_EXCITE_AUDIENCE, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_NEEDLE_ARM] = + { + .effect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_SLACK_OFF] = + { + .effect = CONTEST_EFFECT_BETTER_WHEN_LATER, + .contestCategory = CONTEST_CATEGORY_CUTE, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_YAWN}, + }, + + [MOVE_HYPER_VOICE] = + { + .effect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_POISON_FANG] = + { + .effect = CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_CRUSH_CLAW] = + { + .effect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_SWORDS_DANCE}, + }, + + [MOVE_BLAST_BURN] = + { + .effect = CONTEST_EFFECT_JAMS_OTHERS_BUT_MISS_ONE_TURN, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_SUNNY_DAY}, + }, + + [MOVE_HYDRO_CANNON] = + { + .effect = CONTEST_EFFECT_JAMS_OTHERS_BUT_MISS_ONE_TURN, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_RAIN_DANCE}, + }, + + [MOVE_METEOR_MASH] = + { + .effect = CONTEST_EFFECT_BETTER_IF_SAME_TYPE, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_ASTONISH] = + { + .effect = CONTEST_EFFECT_STARTLE_PREV_MON, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_WEATHER_BALL] = + { + .effect = CONTEST_EFFECT_HIGHLY_APPEALING, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_RAIN_DANCE, COMBO_STARTER_SUNNY_DAY, COMBO_STARTER_HAIL, COMBO_STARTER_SANDSTORM}, + }, + + [MOVE_AROMATHERAPY] = + { + .effect = CONTEST_EFFECT_BETTER_IF_LAST, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_FAKE_TEARS] = + { + .effect = CONTEST_EFFECT_BETTER_IF_LAST, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_AIR_CUTTER] = + { + .effect = CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_OVERHEAT] = + { + .effect = CONTEST_EFFECT_USER_MORE_EASILY_STARTLED, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_SUNNY_DAY}, + }, + + [MOVE_ODOR_SLEUTH] = + { + .effect = CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_ROCK_TOMB] = + { + .effect = CONTEST_EFFECT_DONT_EXCITE_AUDIENCE, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_ROCK_THROW}, + }, + + [MOVE_SILVER_WIND] = + { + .effect = CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_METAL_SOUND] = + { + .effect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = COMBO_STARTER_METAL_SOUND, + .comboMoves = {0}, + }, + + [MOVE_GRASS_WHISTLE] = + { + .effect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_TICKLE] = + { + .effect = CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS, + .contestCategory = CONTEST_CATEGORY_CUTE, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_COSMIC_POWER] = + { + .effect = CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_WATER_SPOUT] = + { + .effect = CONTEST_EFFECT_BETTER_WHEN_LATER, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_RAIN_DANCE}, + }, + + [MOVE_SIGNAL_BEAM] = + { + .effect = CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_SHADOW_PUNCH] = + { + .effect = CONTEST_EFFECT_BETTER_IF_FIRST, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_EXTRASENSORY] = + { + .effect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_SKY_UPPERCUT] = + { + .effect = CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_FOCUS_ENERGY}, + }, + + [MOVE_SAND_TOMB] = + { + .effect = CONTEST_EFFECT_DONT_EXCITE_AUDIENCE, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_SANDSTORM}, + }, + + [MOVE_SHEER_COLD] = + { + .effect = CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_MUDDY_WATER] = + { + .effect = CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_RAIN_DANCE}, + }, + + [MOVE_BULLET_SEED] = + { + .effect = CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_GROWTH}, + }, + + [MOVE_AERIAL_ACE] = + { + .effect = CONTEST_EFFECT_BETTER_IF_FIRST, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_ICICLE_SPEAR] = + { + .effect = CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_IRON_DEFENSE] = + { + .effect = CONTEST_EFFECT_AVOID_STARTLE, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_BLOCK] = + { + .effect = CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS, + .contestCategory = CONTEST_CATEGORY_CUTE, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_HOWL] = + { + .effect = CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_DRAGON_CLAW] = + { + .effect = CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_DRAGON_BREATH, COMBO_STARTER_DRAGON_RAGE, COMBO_STARTER_DRAGON_DANCE}, + }, + + [MOVE_FRENZY_PLANT] = + { + .effect = CONTEST_EFFECT_JAMS_OTHERS_BUT_MISS_ONE_TURN, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_GROWTH}, + }, + + [MOVE_BULK_UP] = + { + .effect = CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_BOUNCE] = + { + .effect = CONTEST_EFFECT_AVOID_STARTLE, + .contestCategory = CONTEST_CATEGORY_CUTE, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_MUD_SHOT] = + { + .effect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_POISON_TAIL] = + { + .effect = CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_COVET] = + { + .effect = CONTEST_EFFECT_APPEAL_AS_GOOD_AS_PREV_ONES, + .contestCategory = CONTEST_CATEGORY_CUTE, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_VOLT_TACKLE] = + { + .effect = CONTEST_EFFECT_USER_MORE_EASILY_STARTLED, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_CHARGE}, + }, + + [MOVE_MAGICAL_LEAF] = + { + .effect = CONTEST_EFFECT_BETTER_IF_FIRST, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_GROWTH}, + }, + + [MOVE_WATER_SPORT] = + { + .effect = CONTEST_EFFECT_HIGHLY_APPEALING, + .contestCategory = CONTEST_CATEGORY_CUTE, + .comboStarterId = COMBO_STARTER_WATER_SPORT, + .comboMoves = {COMBO_STARTER_RAIN_DANCE, COMBO_STARTER_MUD_SPORT}, + }, + + [MOVE_CALM_MIND] = + { + .effect = CONTEST_EFFECT_AVOID_STARTLE_ONCE, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = COMBO_STARTER_CALM_MIND, + .comboMoves = {0}, + }, + + [MOVE_LEAF_BLADE] = + { + .effect = CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_DRAGON_DANCE] = + { + .effect = CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = COMBO_STARTER_DRAGON_DANCE, + .comboMoves = {COMBO_STARTER_DRAGON_RAGE, COMBO_STARTER_DRAGON_BREATH}, + }, + + [MOVE_ROCK_BLAST] = + { + .effect = CONTEST_EFFECT_BETTER_IF_SAME_TYPE, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_SHOCK_WAVE] = + { + .effect = CONTEST_EFFECT_BETTER_IF_FIRST, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_CHARGE}, + }, + + [MOVE_WATER_PULSE] = + { + .effect = CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_RAIN_DANCE}, + }, + + [MOVE_DOOM_DESIRE] = + { + .effect = CONTEST_EFFECT_DONT_EXCITE_AUDIENCE, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_PSYCHO_BOOST] = + { + .effect = CONTEST_EFFECT_USER_MORE_EASILY_STARTLED, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_CALM_MIND}, + }, }; const struct ContestEffect gContestEffects[] = From 0b22ad4ab520d007b1d0f8b9e1fe9027a2302c40 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Wed, 15 Aug 2018 00:01:43 +0200 Subject: [PATCH 097/234] make contest effect build --- src/pokemon_summary_screen.c | 1 - 1 file changed, 1 deletion(-) diff --git a/src/pokemon_summary_screen.c b/src/pokemon_summary_screen.c index 38b1fea4fb..83554eba55 100644 --- a/src/pokemon_summary_screen.c +++ b/src/pokemon_summary_screen.c @@ -42,7 +42,6 @@ extern struct UnkStruct_61CC04 gUnknown_0861CC10; extern struct UnkStruct_61CC04 gUnknown_0861CBEC; extern struct UnkStruct_61CC04 gUnknown_0861CBF8; extern u16 gSummaryScreenWindow_Tilemap[]; -extern struct ContestEffect gContestEffects[]; extern struct WindowTemplate gUnknown_0861CC24; extern u8 gUnknown_0861CD2C[][3]; extern const u8 gSpeciesNames[][POKEMON_NAME_LENGTH + 1]; From ba225f8eaab5e46f7fc825adc6df833f3996b38d Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Wed, 15 Aug 2018 00:25:19 +0200 Subject: [PATCH 098/234] Fix fakematching in contest effect --- src/contest_effect.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/contest_effect.c b/src/contest_effect.c index d54fb769ef..7c086b7994 100644 --- a/src/contest_effect.c +++ b/src/contest_effect.c @@ -197,9 +197,10 @@ static void ContestEffect_StartlePrevMon2(void) static void ContestEffect_StartlePrevMons2(void) { u8 numStartled = 0; - register u32 contestant asm("r5") = shared192D0.contestant; + u8 contestant = shared192D0.contestant; + u8 turnOrder = shared192D0.turnOrder[contestant]; - if (shared192D0.turnOrder[contestant] != 0) + if (turnOrder != 0) { int i; From a07d69d7c2e65ed8ea71ec88cc3c4cadbb444510 Mon Sep 17 00:00:00 2001 From: Diegoisawesome Date: Tue, 14 Aug 2018 21:56:11 -0700 Subject: [PATCH 099/234] Finish pokemon_summary_screen --- ...emon_summary_screen.s => battle_pyramid.s} | 1533 +---------- data/pokemon_summary_screen.s | 507 ---- data/unk_pokedex_area_screen_helper.s | 110 + include/battle_controllers.h | 2 + include/battle_frontier_2.h | 1 + include/battle_tent.h | 6 + include/contest_effect.h | 1 + include/graphics.h | 20 + include/m4a.h | 1 + include/menu.h | 2 + include/menu_helpers.h | 1 + include/mon_markings.h | 2 + include/party_menu.h | 3 + include/pokeball.h | 2 + include/pokemon_storage_system.h | 1 + include/pokemon_summary_screen.h | 2 +- include/region_map.h | 1 + include/strings.h | 48 + ld_script.txt | 7 +- src/battle_pyramid.c | 248 ++ src/data/text/nature_names.h | 54 + src/pokemon_summary_screen.c | 2396 +++++++++-------- src/unk_pokedex_area_screen_helper.c | 75 + sym_ewram.txt | 27 +- 24 files changed, 1930 insertions(+), 3120 deletions(-) rename asm/{pokemon_summary_screen.s => battle_pyramid.s} (70%) delete mode 100644 data/pokemon_summary_screen.s create mode 100644 data/unk_pokedex_area_screen_helper.s create mode 100644 include/battle_tent.h create mode 100644 src/battle_pyramid.c create mode 100644 src/data/text/nature_names.h create mode 100644 src/unk_pokedex_area_screen_helper.c diff --git a/asm/pokemon_summary_screen.s b/asm/battle_pyramid.s similarity index 70% rename from asm/pokemon_summary_screen.s rename to asm/battle_pyramid.s index 91b1693fd8..ea07fdd0a6 100644 --- a/asm/pokemon_summary_screen.s +++ b/asm/battle_pyramid.s @@ -5,1523 +5,6 @@ .text - - - thumb_func_start sub_81C4568 -sub_81C4568: @ 81C4568 - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - ldr r2, =gUnknown_0203CF1C - ldr r2, [r2] - adds r0, 0x3 - ldr r3, =0x000040d3 - adds r2, r3 - adds r0, r2, r0 - ldrb r0, [r0] - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - ldr r5, =gSprites - adds r4, r5 - adds r1, 0x3 - adds r2, r1 - ldrb r0, [r2] - lsls r3, r0, 4 - adds r3, r0 - lsls r3, 2 - adds r3, r5 - adds r5, r4, 0 - adds r5, 0x2A - ldrb r1, [r5] - adds r2, r3, 0 - adds r2, 0x2A - ldrb r0, [r2] - strb r0, [r5] - strb r1, [r2] - ldrb r6, [r4, 0x5] - lsrs r5, r6, 4 - ldrb r2, [r3, 0x5] - lsrs r2, 4 - lsls r2, 4 - movs r1, 0xF - adds r0, r1, 0 - ands r0, r6 - orrs r0, r2 - strb r0, [r4, 0x5] - lsls r5, 4 - ldrb r0, [r3, 0x5] - ands r1, r0 - orrs r1, r5 - strb r1, [r3, 0x5] - adds r4, 0x3F - ldrb r0, [r4] - movs r2, 0x4 - orrs r0, r2 - movs r1, 0x11 - negs r1, r1 - ands r0, r1 - strb r0, [r4] - adds r3, 0x3F - ldrb r0, [r3] - orrs r0, r2 - ands r0, r1 - strb r0, [r3] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C4568 - - thumb_func_start sub_81C45F4 -sub_81C45F4: @ 81C45F4 - push {r4-r6,lr} - adds r3, r0, 0 - adds r6, r1, 0 - ldr r0, =gUnknown_0203CF1C - ldr r2, [r0] - adds r5, r2, 0 - adds r5, 0x70 - movs r1, 0 - ldrsh r0, [r6, r1] - cmp r0, 0 - beq _081C4620 - cmp r0, 0x1 - bne _081C4610 - b _081C4750 -_081C4610: - adds r0, r3, 0 - bl sub_81C47B4 - lsls r0, 24 - lsrs r0, 24 - b _081C4770 - .pool -_081C4620: - ldr r0, =gMain - ldr r1, =0x00000439 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _081C4680 - ldr r1, =0x000040be - adds r0, r2, r1 - ldrb r1, [r0] - movs r0, 0x3 - bl sub_80688F8 - lsls r0, 24 - cmp r0, 0 - beq _081C4668 - ldrh r2, [r5, 0x2] - lsls r0, r2, 3 - ldr r1, =gMonFrontPicTable - adds r0, r1 - ldr r1, =gMonSpritesGfxPtr - ldr r1, [r1] - ldr r1, [r1, 0x8] - b _081C46D6 - .pool -_081C4668: - ldrh r2, [r5, 0x2] - lsls r0, r2, 3 - ldr r1, =gMonFrontPicTable - adds r0, r1 - ldr r1, =gMonSpritesGfxPtr - ldr r1, [r1] - b _081C46B0 - .pool -_081C4680: - ldr r0, =gMonSpritesGfxPtr - ldr r3, [r0] - adds r4, r0, 0 - cmp r3, 0 - beq _081C46E4 - ldr r1, [r2] - ldr r0, =gPlayerParty - cmp r1, r0 - beq _081C46A6 - ldr r1, =0x000040bc - adds r0, r2, r1 - ldrb r0, [r0] - cmp r0, 0x2 - beq _081C46A6 - adds r1, 0x33 - adds r0, r2, r1 - ldrb r0, [r0] - cmp r0, 0x1 - bne _081C46CC -_081C46A6: - ldrh r2, [r5, 0x2] - lsls r0, r2, 3 - ldr r1, =gMonFrontPicTable - adds r0, r1 - ldr r1, [r4] -_081C46B0: - ldr r1, [r1, 0x8] - ldr r3, [r5, 0xC] - bl HandleLoadSpecialPokePic_2 - b _081C4768 - .pool -_081C46CC: - ldrh r2, [r5, 0x2] - lsls r0, r2, 3 - ldr r1, =gMonFrontPicTable - adds r0, r1 - ldr r1, [r3, 0x8] -_081C46D6: - ldr r3, [r5, 0xC] - bl HandleLoadSpecialPokePic_DontHandleDeoxys - b _081C4768 - .pool -_081C46E4: - ldr r1, [r2] - ldr r0, =gPlayerParty - cmp r1, r0 - beq _081C4700 - ldr r1, =0x000040bc - adds r0, r2, r1 - ldrb r0, [r0] - cmp r0, 0x2 - beq _081C4700 - adds r1, 0x33 - adds r0, r2, r1 - ldrb r0, [r0] - cmp r0, 0x1 - bne _081C472C -_081C4700: - ldrh r4, [r5, 0x2] - lsls r4, 3 - ldr r0, =gMonFrontPicTable - adds r4, r0 - movs r0, 0 - movs r1, 0x1 - bl sub_806F4F8 - adds r1, r0, 0 - ldrh r2, [r5, 0x2] - ldr r3, [r5, 0xC] - adds r0, r4, 0 - bl HandleLoadSpecialPokePic_2 - b _081C4768 - .pool -_081C472C: - ldrh r4, [r5, 0x2] - lsls r4, 3 - ldr r0, =gMonFrontPicTable - adds r4, r0 - movs r0, 0 - movs r1, 0x1 - bl sub_806F4F8 - adds r1, r0, 0 - ldrh r2, [r5, 0x2] - ldr r3, [r5, 0xC] - adds r0, r4, 0 - bl HandleLoadSpecialPokePic_DontHandleDeoxys - b _081C4768 - .pool -_081C4750: - ldrh r0, [r5, 0x2] - ldr r1, [r5, 0x48] - ldr r2, [r5, 0xC] - bl GetMonSpritePalStructFromOtIdPersonality - adds r4, r0, 0 - bl LoadCompressedObjectPalette - ldrh r0, [r4, 0x4] - movs r1, 0x1 - bl SetMultiuseSpriteTemplateToPokemon -_081C4768: - ldrh r0, [r6] - adds r0, 0x1 - strh r0, [r6] - movs r0, 0xFF -_081C4770: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_81C45F4 - - thumb_func_start sub_81C4778 -sub_81C4778: @ 81C4778 - push {r4,lr} - ldr r0, =gUnknown_0203CF1C - ldr r1, [r0] - adds r4, r1, 0 - adds r4, 0x70 - ldrb r0, [r4, 0x4] - cmp r0, 0 - bne _081C47AE - adds r0, r1, 0 - adds r0, 0xC - bl ShouldPlayNormalMonCry - cmp r0, 0x1 - bne _081C47A4 - ldrh r0, [r4, 0x2] - movs r1, 0 - movs r2, 0 - bl PlayCry3 - b _081C47AE - .pool -_081C47A4: - ldrh r0, [r4, 0x2] - movs r1, 0 - movs r2, 0xB - bl PlayCry3 -_081C47AE: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81C4778 - - thumb_func_start sub_81C47B4 -sub_81C47B4: @ 81C47B4 - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r0, =gUnknown_0203CF1C - ldr r6, [r0] - adds r6, 0x70 - ldr r0, =gMultiuseSpriteTemplate - movs r1, 0x28 - movs r2, 0x40 - movs r3, 0x5 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - lsls r4, r0, 4 - add r4, r8 - lsls r4, 2 - ldr r5, =gSprites - adds r7, r4, r5 - adds r0, r7, 0 - bl FreeSpriteOamMatrix - ldrh r0, [r6, 0x2] - movs r1, 0 - strh r0, [r7, 0x2E] - strh r1, [r7, 0x32] - adds r5, 0x1C - adds r4, r5 - ldr r0, =sub_81C4844 - str r0, [r4] - ldrb r1, [r7, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r1 - strb r0, [r7, 0x5] - ldrh r0, [r6, 0x2] - bl IsMonSpriteNotFlipped - lsls r0, 24 - cmp r0, 0 - bne _081C4828 - adds r0, r7, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r2, 0x1 - orrs r1, r2 - strb r1, [r0] - b _081C4836 - .pool -_081C4828: - adds r2, r7, 0 - adds r2, 0x3F - ldrb r1, [r2] - movs r0, 0x2 - negs r0, r0 - ands r0, r1 - strb r0, [r2] -_081C4836: - mov r0, r8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_81C47B4 - - thumb_func_start sub_81C4844 -sub_81C4844: @ 81C4844 - push {r4,r5,lr} - adds r4, r0, 0 - ldr r0, =gUnknown_0203CF1C - ldr r0, [r0] - adds r5, r0, 0 - adds r5, 0x70 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _081C487E - movs r1, 0x32 - ldrsh r0, [r4, r1] - cmp r0, 0x1 - beq _081C487E - ldrh r0, [r4, 0x2E] - bl IsMonSpriteNotFlipped - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x30] - bl sub_81C4778 - ldrh r1, [r4, 0x2E] - ldrb r2, [r5, 0x4] - adds r0, r4, 0 - bl PokemonSummaryDoMonAnimation -_081C487E: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C4844 - - thumb_func_start sub_81C488C -sub_81C488C: @ 81C488C - ldr r1, =gUnknown_0203CF24 - strb r0, [r1] - bx lr - .pool - thumb_func_end sub_81C488C - - thumb_func_start sub_81C4898 -sub_81C4898: @ 81C4898 - push {r4,lr} - ldr r4, =gUnknown_0203CF24 - ldrb r0, [r4] - cmp r0, 0xFF - beq _081C48AA - bl DestroyTask - movs r0, 0xFF - strb r0, [r4] -_081C48AA: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C4898 - - thumb_func_start sub_81C48B4 -sub_81C48B4: @ 81C48B4 - push {lr} - ldr r2, =gSprites - ldr r0, =gUnknown_0203CF1C - ldr r0, [r0] - ldr r1, =0x000040d3 - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r2, 0x1C - adds r0, r2 - ldr r1, [r0] - ldr r0, =SpriteCallbackDummy - cmp r1, r0 - beq _081C48E8 - movs r0, 0x1 - b _081C48EA - .pool -_081C48E8: - movs r0, 0 -_081C48EA: - pop {r1} - bx r1 - thumb_func_end sub_81C48B4 - - thumb_func_start sub_81C48F0 -sub_81C48F0: @ 81C48F0 - push {r4-r6,lr} - ldr r6, =gSprites - ldr r5, =gUnknown_0203CF1C - ldr r0, [r5] - ldr r4, =0x000040d3 - adds r0, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - adds r0, 0x2C - ldrb r1, [r0] - movs r2, 0x40 - orrs r1, r2 - strb r1, [r0] - ldr r0, [r5] - adds r0, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r6, 0 - adds r1, 0x1C - adds r0, r1 - ldr r1, =SpriteCallbackDummy - str r1, [r0] - bl sub_806EE98 - ldr r0, [r5] - adds r0, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - ldrb r0, [r0, 0x5] - lsrs r0, 4 - lsls r3, r0, 4 - movs r1, 0x80 - lsls r1, 1 - adds r0, r1, 0 - orrs r3, r0 - movs r2, 0 - ldr r5, =gPlttBufferUnfaded - ldr r4, =gPlttBufferFaded -_081C494C: - adds r0, r2, r3 - lsls r0, 16 - lsrs r0, 15 - adds r1, r0, r5 - adds r0, r4 - ldrh r0, [r0] - strh r0, [r1] - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0xF - bls _081C494C - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C48F0 - - thumb_func_start sub_81C4984 -sub_81C4984: @ 81C4984 - push {r4-r6,lr} - adds r5, r0, 0 - ldr r1, =0x00007533 - ldr r2, =gUnknown_0861D120 - adds r0, r1, 0 - bl sub_811FF94 - adds r4, r0, 0 - ldr r6, =gUnknown_0203CF1C - ldr r0, [r6] - str r4, [r0, 0x8] - cmp r4, 0 - beq _081C49CE - adds r0, r5, 0 - movs r1, 0x8 - bl GetMonData - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl StartSpriteAnim - ldr r1, [r6] - ldr r2, [r1, 0x8] - movs r0, 0x3C - strh r0, [r2, 0x20] - ldr r2, [r1, 0x8] - movs r0, 0x1A - strh r0, [r2, 0x22] - ldr r2, [r1, 0x8] - ldrb r1, [r2, 0x5] - subs r0, 0x27 - ands r0, r1 - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2, 0x5] -_081C49CE: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C4984 - - thumb_func_start sub_81C49E0 -sub_81C49E0: @ 81C49E0 - push {r4,lr} - adds r4, r0, 0 - ldr r0, =gUnknown_0203CF1C - ldr r0, [r0] - ldr r0, [r0, 0x8] - bl DestroySprite - ldr r0, =0x00007533 - bl FreeSpriteTilesByTag - adds r0, r4, 0 - bl sub_81C4984 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C49E0 - - thumb_func_start sub_81C4A08 -sub_81C4A08: @ 81C4A08 - push {r4,lr} - movs r1, 0x26 - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - bl ItemIdToBallId - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - bl LoadBallGfx - lsls r0, r4, 1 - adds r0, r4 - lsls r0, 3 - ldr r1, =gBallSpriteTemplates - adds r0, r1 - movs r1, 0x10 - movs r2, 0x88 - movs r3, 0 - bl CreateSprite - ldr r2, =gUnknown_0203CF1C - ldr r1, [r2] - ldr r3, =0x000040d4 - adds r1, r3 - strb r0, [r1] - ldr r4, =gSprites - ldr r2, [r2] - adds r2, r3 - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r4, 0 - adds r1, 0x1C - adds r0, r1 - ldr r1, =SpriteCallbackDummy - str r1, [r0] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrb r1, [r0, 0x5] - movs r2, 0xC - orrs r1, r2 - strb r1, [r0, 0x5] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C4A08 - - thumb_func_start sub_81C4A88 -sub_81C4A88: @ 81C4A88 - push {r4,r5,lr} - ldr r5, =gUnknown_0203CF1C - ldr r0, [r5] - ldr r1, =0x000040d5 - adds r4, r0, r1 - ldrb r0, [r4] - cmp r0, 0xFF - bne _081C4AA6 - ldr r0, =gUnknown_0861D108 - movs r1, 0x40 - movs r2, 0x98 - movs r3, 0 - bl CreateSprite - strb r0, [r4] -_081C4AA6: - ldr r0, [r5] - adds r0, 0xC - bl sub_81B205C - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0 - beq _081C4AE8 - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - subs r1, r2, 0x1 - lsls r1, 24 - lsrs r1, 24 - bl StartSpriteAnim - movs r0, 0x2 - movs r1, 0 - bl sub_81C4204 - b _081C4AF0 - .pool -_081C4AE8: - movs r0, 0x2 - movs r1, 0x1 - bl sub_81C4204 -_081C4AF0: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_81C4A88 - - thumb_func_start sub_81C4AF8 -sub_81C4AF8: @ 81C4AF8 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r0, =gUnknown_0203CF1C - ldr r1, =0x000040d3 - add r1, r8 - ldr r0, [r0] - adds r7, r0, r1 - ldr r1, =0x000040c0 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x1 - bls _081C4BD2 - movs r0, 0 - mov r9, r0 - mov r1, r8 - cmp r1, 0x8 - bne _081C4B2A - movs r0, 0x1 - mov r9, r0 -_081C4B2A: - movs r5, 0 - ldr r6, =gSprites - mov r10, r5 -_081C4B30: - lsls r1, r5, 20 - movs r0, 0xB2 - lsls r0, 15 - adds r1, r0 - asrs r1, 16 - ldr r0, =gUnknown_0861D084 - movs r2, 0x28 - mov r3, r9 - bl CreateSprite - adds r1, r7, r5 - strb r0, [r1] - adds r4, r1, 0 - cmp r5, 0 - bne _081C4B74 - ldrb r1, [r7] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - movs r1, 0x4 - bl StartSpriteAnim - b _081C4B9A - .pool -_081C4B74: - cmp r5, 0x9 - bne _081C4B8A - ldrb r1, [r7, 0x9] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - movs r1, 0x5 - bl StartSpriteAnim - b _081C4B9A -_081C4B8A: - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - movs r1, 0x6 - bl StartSpriteAnim -_081C4B9A: - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r6, 0 - adds r1, 0x1C - adds r0, r1 - ldr r1, =sub_81C4BE4 - str r1, [r0] - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - mov r1, r8 - strh r1, [r0, 0x2E] - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - mov r1, r10 - strh r1, [r0, 0x30] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x9 - bls _081C4B30 -_081C4BD2: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C4AF8 - - thumb_func_start sub_81C4BE4 -sub_81C4BE4: @ 81C4BE4 - push {lr} - adds r3, r0, 0 - adds r0, 0x2A - ldrb r0, [r0] - subs r0, 0x4 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bhi _081C4C1C - ldrh r0, [r3, 0x30] - adds r0, 0x1 - movs r1, 0x1F - ands r0, r1 - strh r0, [r3, 0x30] - cmp r0, 0x18 - ble _081C4C10 - adds r2, r3, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - b _081C4C2A -_081C4C10: - adds r2, r3, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - b _081C4C28 -_081C4C1C: - movs r0, 0 - strh r0, [r3, 0x30] - adds r2, r3, 0 - adds r2, 0x3E - ldrb r1, [r2] - subs r0, 0x5 -_081C4C28: - ands r0, r1 -_081C4C2A: - strb r0, [r2] - movs r1, 0x2E - ldrsh r0, [r3, r1] - cmp r0, 0x8 - bne _081C4C44 - ldr r0, =gUnknown_0203CF1C - ldr r0, [r0] - ldr r1, =0x000040c6 - b _081C4C4A - .pool -_081C4C44: - ldr r0, =gUnknown_0203CF1C - ldr r0, [r0] - ldr r1, =0x000040c7 -_081C4C4A: - adds r0, r1 - ldrb r0, [r0] - lsls r0, 4 - strh r0, [r3, 0x26] - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C4BE4 - - thumb_func_start sub_81C4C60 -sub_81C4C60: @ 81C4C60 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - movs r4, 0 -_081C4C68: - adds r0, r5, r4 - lsls r0, 24 - lsrs r0, 24 - bl sub_81C41C0 - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x9 - bls _081C4C68 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_81C4C60 - - thumb_func_start sub_81C4C84 -sub_81C4C84: @ 81C4C84 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r0, =gUnknown_0203CF1C - ldr r0, [r0] - ldr r1, =0x000040db - adds r5, r0, r1 - lsls r0, r6, 1 - adds r0, r6 - lsls r0, 24 - movs r4, 0 - ldr r7, =gSprites - movs r2, 0x80 - lsls r2, 19 - adds r2, r0 - mov r9, r2 - lsrs r6, r0, 24 - movs r1, 0xA0 - lsls r1, 19 - adds r1, r0 - mov r8, r1 -_081C4CB4: - cmp r4, 0 - bne _081C4CD4 - ldrb r1, [r5] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - mov r2, r9 - b _081C4CE4 - .pool -_081C4CD4: - cmp r4, 0x9 - bne _081C4CEC - ldrb r1, [r5, 0x9] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - mov r2, r8 -_081C4CE4: - lsrs r1, r2, 24 - bl StartSpriteAnim - b _081C4D02 -_081C4CEC: - adds r0, r5, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - adds r1, r6, 0x6 - lsls r1, 24 - lsrs r1, 24 - bl StartSpriteAnim -_081C4D02: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x9 - bls _081C4CB4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_81C4C84 - - thumb_func_start sub_81C4D18 -sub_81C4D18: @ 81C4D18 - push {r4-r7,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gUnknown_0203CF1C - ldr r2, =0x000040d3 - adds r0, r2 - ldr r1, [r1] - adds r5, r1, r0 - movs r3, 0 - ldr r4, =gSprites - movs r7, 0x5 - negs r7, r7 - movs r6, 0 -_081C4D32: - adds r2, r5, r3 - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - strh r6, [r0, 0x30] - ldrb r0, [r2] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - adds r1, 0x3E - ldrb r2, [r1] - adds r0, r7, 0 - ands r0, r2 - strb r0, [r1] - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x9 - bls _081C4D32 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C4D18 - - thumb_func_start sub_81C4D70 -sub_81C4D70: @ 81C4D70 - push {r4,r5,lr} - sub sp, 0x4 - adds r5, r0, 0 - ldr r4, =gUnknown_0203CF28 - movs r0, 0x4 - bl Alloc - str r0, [r4] - ldr r1, [r5] - lsls r0, r1, 20 - lsrs r4, r0, 30 - cmp r4, 0 - bne _081C4DDC - lsls r0, r1, 30 - lsrs r0, 30 - movs r1, 0x8 - movs r2, 0 - bl SetBgAttribute - ldr r3, [r5] - lsls r0, r3, 30 - lsrs r0, 30 - ldr r1, =gUnknown_0861D1A0 - lsls r3, 22 - lsrs r3, 24 - str r4, [sp] - movs r2, 0 - bl decompress_and_copy_tile_data_to_vram - ldr r0, [r5] - lsls r0, 30 - lsrs r0, 30 - ldr r1, =gUnknown_0861DEF4 - movs r2, 0x1 - str r2, [sp] - movs r2, 0 - movs r3, 0 - bl decompress_and_copy_tile_data_to_vram - ldr r1, [r5] - lsls r1, 22 - lsrs r1, 24 - str r4, [sp] - movs r2, 0x20 - movs r3, 0x20 - bl sub_8199D3C - b _081C4E2E - .pool -_081C4DDC: - lsls r0, r1, 30 - lsrs r0, 30 - movs r1, 0x8 - movs r2, 0x2 - bl SetBgAttribute - ldr r0, [r5] - lsls r0, 30 - lsrs r0, 30 - movs r1, 0x9 - movs r2, 0x1 - bl SetBgAttribute - ldr r3, [r5] - lsls r0, r3, 30 - lsrs r0, 30 - ldr r1, =gUnknown_0861E208 - lsls r3, 22 - lsrs r3, 24 - movs r2, 0 - str r2, [sp] - bl decompress_and_copy_tile_data_to_vram - ldr r0, [r5] - lsls r0, 30 - lsrs r0, 30 - ldr r1, =gUnknown_0861EF64 - movs r4, 0x1 - str r4, [sp] - movs r2, 0 - movs r3, 0 - bl decompress_and_copy_tile_data_to_vram - ldr r1, [r5] - lsls r1, 22 - lsrs r1, 24 - str r4, [sp] - movs r2, 0x40 - movs r3, 0x40 - bl sub_8199D3C -_081C4E2E: - ldr r0, [r5] - lsls r0, 30 - lsrs r0, 30 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - ldr r0, [r5] - lsls r0, 30 - lsrs r0, 30 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - ldr r0, [r5] - lsls r0, 30 - lsrs r0, 30 - movs r1, 0x4 - movs r2, 0x1 - bl SetBgAttribute - ldr r0, =gUnknown_0861D140 - ldr r1, =gPlttBufferUnfaded + 0xE0 - ldr r2, =0x04000018 - bl CpuSet - ldr r0, =gUnknown_0203CF28 - ldr r1, [r0] - ldr r0, [r5] - lsls r0, 30 - lsrs r0, 30 - strb r0, [r1] - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C4D70 - - thumb_func_start sub_81C4E90 -sub_81C4E90: @ 81C4E90 - push {lr} - bl free_temp_tile_data_buffers_if_possible - lsls r0, 24 - cmp r0, 0 - beq _081C4EA0 - movs r0, 0x1 - b _081C4EAC -_081C4EA0: - ldr r0, =gUnknown_0203CF28 - ldr r0, [r0] - ldrb r0, [r0] - bl ShowBg - movs r0, 0 -_081C4EAC: - pop {r1} - bx r1 - .pool - thumb_func_end sub_81C4E90 - - thumb_func_start sub_81C4EB4 -sub_81C4EB4: @ 81C4EB4 - push {r4,lr} - ldr r4, =gUnknown_0203CF28 - ldr r0, [r4] - cmp r0, 0 - beq _081C4EC6 - bl Free - movs r0, 0 - str r0, [r4] -_081C4EC6: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C4EB4 - - thumb_func_start sub_81C4ED0 -sub_81C4ED0: @ 81C4ED0 - push {lr} - adds r1, r0, 0 - ldr r0, =gUnknown_0203CF28 - ldr r0, [r0] - ldrb r0, [r0] - lsls r1, 8 - movs r2, 0 - bl ChangeBgY - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C4ED0 - - thumb_func_start sub_81C4EEC -sub_81C4EEC: @ 81C4EEC - ldr r1, =gUnknown_0203CF30 - movs r0, 0 - strh r0, [r1, 0x6] - strh r0, [r1, 0x8] - bx lr - .pool - thumb_func_end sub_81C4EEC - - thumb_func_start sub_81C4EFC -sub_81C4EFC: @ 81C4EFC - push {lr} - ldr r1, =CB2_ReturnToFieldWithOpenMenu - movs r0, 0 - bl sub_81C4F98 - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C4EFC - - thumb_func_start sub_81C4F10 -sub_81C4F10: @ 81C4F10 - push {lr} - ldr r1, =SetCB2ToReshowScreenAfterMenu2 - movs r0, 0x1 - bl sub_81C4F98 - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C4F10 - - thumb_func_start sub_81C4F24 -sub_81C4F24: @ 81C4F24 - push {lr} - bl ScriptContext2_Enable - movs r0, 0x1 - movs r1, 0 - bl FadeScreen - ldr r0, =sub_81C4F44 - movs r1, 0xA - bl CreateTask - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C4F24 - - thumb_func_start sub_81C4F44 -sub_81C4F44: @ 81C4F44 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _081C4F6E - bl overworld_free_bg_tilemaps - ldr r0, =gFieldCallback2 - ldr r1, =hm_add_c3_without_phase_2 - str r1, [r0] - ldr r1, =CB2_ReturnToField - movs r0, 0x3 - bl sub_81C4F98 - adds r0, r4, 0 - bl DestroyTask -_081C4F6E: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C4F44 - - thumb_func_start sub_81C4F84 -sub_81C4F84: @ 81C4F84 - push {lr} - ldr r0, =gUnknown_0203CF30 - ldr r1, [r0] - movs r0, 0x4 - bl sub_81C4F98 - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C4F84 - - thumb_func_start sub_81C4F98 -sub_81C4F98: @ 81C4F98 - push {r4-r6,lr} - adds r5, r1, 0 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r6, =gUnknown_0203CF2C - ldr r0, =0x0000098c - bl AllocZeroed - str r0, [r6] - cmp r4, 0x4 - beq _081C4FB2 - ldr r0, =gUnknown_0203CF30 - strb r4, [r0, 0x4] -_081C4FB2: - cmp r5, 0 - beq _081C4FBA - ldr r0, =gUnknown_0203CF30 - str r5, [r0] -_081C4FBA: - ldr r0, [r6] - movs r1, 0 - str r1, [r0] - ldr r1, =0x00000814 - adds r0, r1 - movs r1, 0xFF - strb r1, [r0] - ldr r0, [r6] - ldr r1, =0x00000816 - adds r0, r1 - movs r1, 0x1 - negs r1, r1 - strb r1, [r0] - ldr r0, [r6] - ldr r1, =0x00000804 - adds r0, r1 - movs r1, 0xFF - movs r2, 0xB - bl memset - ldr r0, [r6] - ldr r1, =0x0000080f - adds r0, r1 - movs r1, 0xFF - movs r2, 0x5 - bl memset - ldr r0, =sub_81C504C - bl SetMainCallback2 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C4F98 - - thumb_func_start sub_81C501C -sub_81C501C: @ 81C501C - push {lr} - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl do_scheduled_bg_tilemap_copies_to_vram - bl UpdatePaletteFade - pop {r0} - bx r0 - thumb_func_end sub_81C501C - - thumb_func_start sub_81C5038 -sub_81C5038: @ 81C5038 - push {lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - pop {r0} - bx r0 - thumb_func_end sub_81C5038 - - thumb_func_start sub_81C504C -sub_81C504C: @ 81C504C - push {lr} -_081C504E: - bl sub_81221EC - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _081C5072 - bl sub_81C5078 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _081C5072 - bl sub_81221AC - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _081C504E -_081C5072: - pop {r0} - bx r0 - thumb_func_end sub_81C504C - - thumb_func_start sub_81C5078 -sub_81C5078: @ 81C5078 - push {lr} - sub sp, 0x4 - ldr r0, =gMain - movs r1, 0x87 - lsls r1, 3 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x10 - bls _081C508C - b _081C51BC -_081C508C: - lsls r0, 2 - ldr r1, =_081C50A0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_081C50A0: - .4byte _081C50E4 - .4byte _081C50EE - .4byte _081C50F4 - .4byte _081C50FA - .4byte _081C510C - .4byte _081C5112 - .4byte _081C5122 - .4byte _081C513C - .4byte _081C5148 - .4byte _081C514E - .4byte _081C515C - .4byte _081C5162 - .4byte _081C5168 - .4byte _081C516E - .4byte _081C5174 - .4byte _081C517A - .4byte _081C5188 -_081C50E4: - bl SetVBlankHBlankCallbacksToNull - bl clear_scheduled_bg_copies_to_vram - b _081C51A2 -_081C50EE: - bl ScanlineEffect_Stop - b _081C51A2 -_081C50F4: - bl FreeAllSpritePalettes - b _081C51A2 -_081C50FA: - bl ResetPaletteFade - ldr r2, =gPaletteFade - ldrb r0, [r2, 0x8] - movs r1, 0x80 - orrs r0, r1 - b _081C51A0 - .pool -_081C510C: - bl ResetSpriteData - b _081C51A2 -_081C5112: - bl sub_81221AC - lsls r0, 24 - cmp r0, 0 - bne _081C51A2 - bl ResetTasks - b _081C51A2 -_081C5122: - bl sub_81C51DC - ldr r0, =gUnknown_0203CF2C - ldr r0, [r0] - ldr r1, =0x00000984 - adds r0, r1 - movs r1, 0 - strh r1, [r0] - b _081C51A2 - .pool -_081C513C: - bl sub_81C5238 - lsls r0, 24 - cmp r0, 0 - beq _081C51D4 - b _081C51A2 -_081C5148: - bl sub_81C6BD8 - b _081C51A2 -_081C514E: - bl sub_81C5924 - bl sub_81C59BC - bl sub_81C5A20 - b _081C51A2 -_081C515C: - bl sub_81C5314 - b _081C51A2 -_081C5162: - bl sub_81C56F8 - b _081C51A2 -_081C5168: - bl sub_81C6EF4 - b _081C51A2 -_081C516E: - bl sub_81C5674 - b _081C51A2 -_081C5174: - bl sub_81C700C - b _081C51A2 -_081C517A: - movs r0, 0x1 - negs r0, r0 - movs r1, 0x10 - movs r2, 0 - bl BlendPalettes - b _081C51A2 -_081C5188: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r2, =gPaletteFade - ldrb r1, [r2, 0x8] - movs r0, 0x7F - ands r0, r1 -_081C51A0: - strb r0, [r2, 0x8] -_081C51A2: - ldr r1, =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _081C51D4 - .pool -_081C51BC: - ldr r0, =sub_81C5038 - bl SetVBlankCallback - ldr r0, =sub_81C501C - bl SetMainCallback2 - movs r0, 0x1 - b _081C51D6 - .pool -_081C51D4: - movs r0, 0 -_081C51D6: - add sp, 0x4 - pop {r1} - bx r1 - thumb_func_end sub_81C5078 - - thumb_func_start sub_81C51DC -sub_81C51DC: @ 81C51DC - push {lr} - bl ResetVramOamAndBgCntRegs - movs r0, 0 - bl ResetBgsAndClearDma3BusyFlags - ldr r1, =gUnknown_0861F2B4 - movs r0, 0 - movs r2, 0x3 - bl InitBgsFromTemplates - ldr r0, =gUnknown_0203CF2C - ldr r1, [r0] - adds r1, 0x4 - movs r0, 0x2 - bl SetBgTilemapBuffer - bl ResetAllBgsCoordinates - movs r0, 0x2 - bl schedule_bg_copy_tilemap_to_vram - movs r1, 0x82 - lsls r1, 5 - movs r0, 0 - bl SetGpuReg - movs r0, 0 - bl ShowBg - movs r0, 0x1 - bl ShowBg - movs r0, 0x2 - bl ShowBg - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C51DC - thumb_func_start sub_81C5238 sub_81C5238: @ 81C5238 push {r4,lr} @@ -2001,7 +484,7 @@ sub_81C5674: @ 81C5674 ldr r0, =0x00000b5e str r0, [sp, 0x4] str r0, [sp, 0x8] - ldr r0, =gUnknown_0203CF38 + ldr r0, =gUnknown_0203CF30+8 str r0, [sp, 0xC] movs r0, 0x2 movs r1, 0xAC @@ -2604,7 +1087,7 @@ sub_81C5B4C: @ 81C5B4C cmp r0, 0 bne _081C5BBC ldrb r0, [r2] - ldr r4, =gUnknown_0203CF38 + ldr r4, =gUnknown_0203CF30+8 subs r2, r4, 0x2 adds r1, r4, 0 bl DestroyListMenuTask @@ -2706,7 +1189,7 @@ _081C5C5C: bl ListMenuHandleInputGetItemId adds r6, r0, 0 ldrb r0, [r7] - ldr r1, =gUnknown_0203CF38 + ldr r1, =gUnknown_0203CF30+8 mov r8, r1 mov r2, r8 subs r2, 0x2 @@ -3763,7 +2246,7 @@ sub_81C65CC: @ 81C65CC lsls r0, 3 ldr r1, =gTasks + 0x8 adds r4, r0, r1 - ldr r6, =gUnknown_0203CF38 + ldr r6, =gUnknown_0203CF30+8 subs r7, r6, 0x2 ldr r0, =gMain ldrh r1, [r0, 0x2E] @@ -4089,7 +2572,7 @@ sub_81C68B0: @ 81C68B0 movs r0, 0x5 bl PlaySE ldrb r0, [r4] - ldr r1, =gUnknown_0203CF38 + ldr r1, =gUnknown_0203CF30+8 subs r2, r1, 0x2 bl ListMenuGetScrollAndRow b _081C6940 @@ -4099,7 +2582,7 @@ _081C68F8: bl ListMenuHandleInputGetItemId adds r6, r0, 0 ldrb r0, [r4] - ldr r4, =gUnknown_0203CF38 + ldr r4, =gUnknown_0203CF30+8 subs r2, r4, 0x2 adds r1, r4, 0 bl ListMenuGetScrollAndRow @@ -4156,7 +2639,7 @@ sub_81C6964: @ 81C6964 lsls r0, 3 ldr r1, =gTasks + 0x8 adds r5, r0, r1 - ldr r7, =gUnknown_0203CF38 + ldr r7, =gUnknown_0203CF30+8 subs r0, r7, 0x2 mov r8, r0 ldrh r0, [r0] @@ -4234,7 +2717,7 @@ sub_81C6A14: @ 81C6A14 lsls r0, 3 ldr r1, =gTasks + 0x8 adds r4, r0, r1 - ldr r5, =gUnknown_0203CF38 + ldr r5, =gUnknown_0203CF30+8 subs r7, r5, 0x2 ldr r0, =gUnknown_0203CF2C ldr r0, [r0] diff --git a/data/pokemon_summary_screen.s b/data/pokemon_summary_screen.s deleted file mode 100644 index 0c22aa6cd7..0000000000 --- a/data/pokemon_summary_screen.s +++ /dev/null @@ -1,507 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - -@ 861CAAC - .include "data/text/nature_names.inc" - - .align 2 -gUnknown_0861CBB4:: @ 861CBB4 - .4byte 0x000001f0, 0x000013b9, 0x0000239a, 0x000033db - - .align 2 -gUnknown_0861CBC4:: @ 861CBC4 - .incbin "graphics/interface/unk_tilemap2.bin" - - .align 2 -gUnknown_0861CBEC:: @ 861CBEC - .4byte gUnknown_0861CBC4 - .byte 0x01, 0x00, 0x0a, 0x02, 0x00, 0x12 - - .align 2 -gUnknown_0861CBF8:: @ 861CBF8 - .4byte gUnknown_0861CBC4 - .byte 0x01, 0x00, 0x0a, 0x02, 0x00, 0x32 - - .align 2 -gUnknown_0861CC04:: @ 861CC04 - .4byte gSummaryScreenPowAcc_Tilemap - .byte 0x00 - .byte 0x00 - .byte 0x0A - .byte 0x07 - .byte 0x00 - .byte 0x2D - - .align 2 -gUnknown_0861CC10:: @ 861CC10 - .4byte gUnknown_08DC3C34 - .byte 0x00 - .byte 0x00 - .byte 0x0A - .byte 0x07 - .byte 0x00 - .byte 0x2D - - .align 2 -gUnknown_0861CC1C:: @ 861CC1C - .byte 0x00, 0x02, 0x03, 0x01, 0x04, 0x05, 0x00, 0x00 - - .align 2 -gUnknown_0861CC24:: @ 861CC24 - window_template 0x00, 0x00, 0x00, 0x0b, 0x02, 0x06, 0x0001 - window_template 0x00, 0x00, 0x00, 0x0b, 0x02, 0x06, 0x0017 - window_template 0x00, 0x00, 0x00, 0x0b, 0x02, 0x06, 0x002d - window_template 0x00, 0x00, 0x00, 0x0b, 0x02, 0x06, 0x0043 - window_template 0x00, 0x16, 0x00, 0x08, 0x02, 0x07, 0x0059 - window_template 0x00, 0x16, 0x00, 0x08, 0x02, 0x07, 0x0069 - window_template 0x00, 0x16, 0x00, 0x08, 0x02, 0x07, 0x0079 - window_template 0x00, 0x0b, 0x04, 0x00, 0x02, 0x06, 0x0089 - window_template 0x00, 0x0b, 0x04, 0x12, 0x02, 0x06, 0x0089 - window_template 0x00, 0x0b, 0x06, 0x12, 0x02, 0x06, 0x00ad - window_template 0x00, 0x0a, 0x07, 0x06, 0x06, 0x06, 0x00d1 - window_template 0x00, 0x16, 0x07, 0x05, 0x06, 0x06, 0x00f5 - window_template 0x00, 0x0a, 0x0e, 0x0b, 0x04, 0x06, 0x0113 - window_template 0x00, 0x00, 0x12, 0x06, 0x02, 0x06, 0x013f - window_template 0x00, 0x01, 0x0f, 0x09, 0x04, 0x06, 0x014b - window_template 0x00, 0x01, 0x0f, 0x05, 0x04, 0x06, 0x016f - window_template 0x00, 0x16, 0x04, 0x00, 0x02, 0x06, 0x0183 - window_template 0x00, 0x01, 0x02, 0x04, 0x02, 0x07, 0x0183 - window_template 0x00, 0x01, 0x0c, 0x09, 0x02, 0x06, 0x018b - window_template 0x00, 0x01, 0x0e, 0x09, 0x04, 0x06, 0x019d - null_window_template - - .align 2 -gUnknown_0861CCCC:: @ 861CCCC - window_template 0x00, 0x0b, 0x04, 0x0b, 0x02, 0x06, 0x01c1 - window_template 0x00, 0x16, 0x04, 0x07, 0x02, 0x06, 0x01d7 - window_template 0x00, 0x0b, 0x09, 0x12, 0x04, 0x06, 0x01e5 - window_template 0x00, 0x0b, 0x0e, 0x12, 0x06, 0x06, 0x022d - - .align 2 -gUnknown_0861CCEC:: @ 861CCEC - window_template 0x00, 0x0a, 0x04, 0x0a, 0x02, 0x06, 0x01c1 - window_template 0x00, 0x14, 0x04, 0x0a, 0x02, 0x06, 0x01d5 - window_template 0x00, 0x10, 0x07, 0x06, 0x06, 0x06, 0x01e9 - window_template 0x00, 0x1b, 0x07, 0x03, 0x06, 0x06, 0x020d - window_template 0x00, 0x18, 0x0e, 0x06, 0x04, 0x06, 0x021f - - .align 2 -gUnknown_0861CD14:: @ 861CD14 - window_template 0x00, 0x0f, 0x04, 0x09, 0x0a, 0x06, 0x01c1 - window_template 0x00, 0x18, 0x04, 0x06, 0x0a, 0x08, 0x021b - window_template 0x00, 0x0a, 0x0f, 0x14, 0x04, 0x06, 0x0257 - -gUnknown_0861CD2C:: @ 861CD2C - .byte 0x00, 0x01, 0x02, 0x00, 0x03, 0x04, 0x00, 0x05, 0x06, 0x00, 0x07, 0x08, 0x00, 0x09, 0x0a, 0x00, 0x0b, 0x0c, 0x00, 0x0d, 0x0e, 0x00, 0x07, 0x08, 0x0d, 0x0f, 0x0e, 0x00, 0x01, 0x02, 0x00, 0x03 - .byte 0x04, 0x00, 0x05, 0x06, 0x00, 0x07, 0x08 - -gUnknown_0861CD53:: @ 861CD53 - .incbin "graphics/interface/summary_a_button.4bpp" - -gUnknown_0861CDD3:: @ 861CDD3 - .incbin "graphics/interface/summary_b_button.4bpp" - - .align 2 -gUnknown_0861CE54:: @ 861CE54 - .4byte sub_81C2E00 - .4byte sub_81C3530 - .4byte sub_81C3984 - .4byte sub_81C3D08 - - .align 2 -gUnknown_0861CE64:: @ 861CE64 - .4byte sub_81C2E40 - .4byte sub_81C3554 - .4byte sub_81C39F0 - .4byte sub_81C3D54 - -gUnknown_0861CE74:: @ 861CE74 - .string "{COLOR LIGHT_RED}{SHADOW GREEN}$" - -gUnknown_0861CE7B:: @ 861CE7B - .string "{COLOR WHITE}{SHADOW DARK_GREY}$" - -gUnknown_0861CE82:: @ 861CE82 - .string "{SPECIAL_F7 0x00}/{SPECIAL_F7 0x01}\n" - .string "{SPECIAL_F7 0x02}\n" - .string "{SPECIAL_F7 0x03}$" - -gUnknown_0861CE8E:: @ 861CE8E - .string "{SPECIAL_F7 0x00}\n" - .string "{SPECIAL_F7 0x01}\n" - .string "{SPECIAL_F7 0x02}$" - -gUnknown_0861CE97:: @ 861CE97 - .string "{PP}{SPECIAL_F7 0x00}/{SPECIAL_F7 0x01}$" - - .align 2 -gOamData_861CEA0:: @ 861CEA0 - .2byte 0x4000, 0x8000, 0x0400, 0x0000 - - .align 2 -gSpriteAnim_861CEA8:: @ 861CEA8 - .2byte 0x0000, 0x0000, 0xffff, 0x0000 - - .align 2 -gSpriteAnim_861CEB0:: @ 861CEB0 - .2byte 0x0008, 0x0000, 0xffff, 0x0000 - - .align 2 -gSpriteAnim_861CEB8:: @ 861CEB8 - .2byte 0x0010, 0x0000, 0xffff, 0x0000 - - .align 2 -gSpriteAnim_861CEC0:: @ 861CEC0 - .2byte 0x0018, 0x0000, 0xffff, 0x0000 - - .align 2 -gSpriteAnim_861CEC8:: @ 861CEC8 - .2byte 0x0020, 0x0000, 0xffff, 0x0000 - - .align 2 -gSpriteAnim_861CED0:: @ 861CED0 - .2byte 0x0028, 0x0000, 0xffff, 0x0000 - - .align 2 -gSpriteAnim_861CED8:: @ 861CED8 - .2byte 0x0030, 0x0000, 0xffff, 0x0000 - - .align 2 -gSpriteAnim_861CEE0:: @ 861CEE0 - .2byte 0x0038, 0x0000, 0xffff, 0x0000 - - .align 2 -gSpriteAnim_861CEE8:: @ 861CEE8 - .2byte 0x0040, 0x0000, 0xffff, 0x0000 - - .align 2 -gSpriteAnim_861CEF0:: @ 861CEF0 - .2byte 0x0048, 0x0000, 0xffff, 0x0000 - - .align 2 -gSpriteAnim_861CEF8:: @ 861CEF8 - .2byte 0x0050, 0x0000, 0xffff, 0x0000 - - .align 2 -gSpriteAnim_861CF00:: @ 861CF00 - .2byte 0x0058, 0x0000, 0xffff, 0x0000 - - .align 2 -gSpriteAnim_861CF08:: @ 861CF08 - .2byte 0x0060, 0x0000, 0xffff, 0x0000 - - .align 2 -gSpriteAnim_861CF10:: @ 861CF10 - .2byte 0x0068, 0x0000, 0xffff, 0x0000 - - .align 2 -gSpriteAnim_861CF18:: @ 861CF18 - .2byte 0x0070, 0x0000, 0xffff, 0x0000 - - .align 2 -gSpriteAnim_861CF20:: @ 861CF20 - .2byte 0x0078, 0x0000, 0xffff, 0x0000 - - .align 2 -gSpriteAnim_861CF28:: @ 861CF28 - .2byte 0x0080, 0x0000, 0xffff, 0x0000 - - .align 2 -gSpriteAnim_861CF30:: @ 861CF30 - .2byte 0x0088, 0x0000, 0xffff, 0x0000 - - .align 2 -gSpriteAnim_861CF38:: @ 861CF38 - .2byte 0x0090, 0x0000, 0xffff, 0x0000 - - .align 2 -gSpriteAnim_861CF40:: @ 861CF40 - .2byte 0x0098, 0x0000, 0xffff, 0x0000 - - .align 2 -gSpriteAnim_861CF48:: @ 861CF48 - .2byte 0x00a0, 0x0000, 0xffff, 0x0000 - - .align 2 -gSpriteAnim_861CF50:: @ 861CF50 - .2byte 0x00a8, 0x0000, 0xffff, 0x0000 - - .align 2 -gSpriteAnim_861CF58:: @ 861CF58 - .2byte 0x00b0, 0x0000, 0xffff, 0x0000 - - .align 2 -gSpriteAnimTable_861CF60:: @ 861CF60 - .4byte gSpriteAnim_861CEA8 - .4byte gSpriteAnim_861CEB0 - .4byte gSpriteAnim_861CEB8 - .4byte gSpriteAnim_861CEC0 - .4byte gSpriteAnim_861CEC8 - .4byte gSpriteAnim_861CED0 - .4byte gSpriteAnim_861CED8 - .4byte gSpriteAnim_861CEE0 - .4byte gSpriteAnim_861CEE8 - .4byte gSpriteAnim_861CEF0 - .4byte gSpriteAnim_861CEF8 - .4byte gSpriteAnim_861CF00 - .4byte gSpriteAnim_861CF08 - .4byte gSpriteAnim_861CF10 - .4byte gSpriteAnim_861CF18 - .4byte gSpriteAnim_861CF20 - .4byte gSpriteAnim_861CF28 - .4byte gSpriteAnim_861CF30 - .4byte gSpriteAnim_861CF38 - .4byte gSpriteAnim_861CF40 - .4byte gSpriteAnim_861CF48 - .4byte gSpriteAnim_861CF50 - .4byte gSpriteAnim_861CF58 - - .align 2 -gUnknown_0861CFBC:: @ 861CFBC - obj_tiles gMoveTypes_Gfx, 0x1700, 0x7532 - - .align 2 -gUnknown_0861CFC4:: @ 861CFC4 - spr_template 0x7532, 0x7532, gOamData_861CEA0, gSpriteAnimTable_861CF60, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - -gUnknown_0861CFDC:: @ 861CFDC - .byte 0x0d, 0x0d, 0x0e, 0x0e, 0x0d, 0x0d, 0x0f, 0x0e, 0x0d, 0x0f, 0x0d, 0x0e, 0x0f, 0x0d, 0x0e, 0x0e, 0x0f, 0x0d, 0x0d, 0x0e, 0x0e, 0x0f, 0x0d, 0x00 - - .align 2 -gOamData_861CFF4:: @ 861CFF4 - .2byte 0x0000, 0x4000, 0x0400, 0x0000 - - .align 2 -gSpriteAnim_861CFFC:: @ 861CFFC - .2byte 0x0000, 0x0000, 0xffff, 0x0000 - - .align 2 -gSpriteAnim_861D004:: @ 861D004 - .2byte 0x0004, 0x0000, 0xffff, 0x0000 - - .align 2 -gSpriteAnim_861D00C:: @ 861D00C - .2byte 0x0008, 0x0000, 0xffff, 0x0000 - - .align 2 -gSpriteAnim_861D014:: @ 861D014 - .2byte 0x000c, 0x0000, 0xffff, 0x0000 - - .align 2 -gSpriteAnim_861D01C:: @ 861D01C - .2byte 0x0010, 0x0000, 0xffff, 0x0000 - - .align 2 -gSpriteAnim_861D024:: @ 861D024 - .2byte 0x0010, 0x0040, 0xffff, 0x0000 - - .align 2 -gSpriteAnim_861D02C:: @ 861D02C - .2byte 0x0014, 0x0000, 0xffff, 0x0000 - - .align 2 -gSpriteAnim_861D034:: @ 861D034 - .2byte 0x0018, 0x0000, 0xffff, 0x0000 - - .align 2 -gSpriteAnim_861D03C:: @ 861D03C - .2byte 0x0018, 0x0040, 0xffff, 0x0000 - - .align 2 -gSpriteAnim_861D044:: @ 861D044 - .2byte 0x001c, 0x0000, 0xffff, 0x0000 - - .align 2 -gSpriteAnimTable_861D04C:: @ 861D04C - .4byte gSpriteAnim_861CFFC - .4byte gSpriteAnim_861D004 - .4byte gSpriteAnim_861D00C - .4byte gSpriteAnim_861D014 - .4byte gSpriteAnim_861D01C - .4byte gSpriteAnim_861D024 - .4byte gSpriteAnim_861D02C - .4byte gSpriteAnim_861D034 - .4byte gSpriteAnim_861D03C - .4byte gSpriteAnim_861D044 - - .align 2 -gUnknown_0861D074:: @ 861D074 - obj_tiles gUnknown_08D97BEC, 0x0400, 0x7530 - - .align 2 -gUnknown_0861D07C:: @ 861D07C - obj_pal gUnknown_08D97CF4, 0x7530 - - .align 2 -gUnknown_0861D084:: @ 861D084 - spr_template 0x7530, 0x7530, gOamData_861CFF4, gSpriteAnimTable_861D04C, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gOamData_861D09C:: @ 861D09C - .2byte 0x4000, 0x4000, 0x0c00, 0x0000 - - .align 2 -gSpriteAnim_861D0A4:: @ 861D0A4 - .2byte 0x0000, 0x0000, 0xffff, 0x0000 - - .align 2 -gSpriteAnim_861D0AC:: @ 861D0AC - .2byte 0x0004, 0x0000, 0xffff, 0x0000 - - .align 2 -gSpriteAnim_861D0B4:: @ 861D0B4 - .2byte 0x0008, 0x0000, 0xffff, 0x0000 - - .align 2 -gSpriteAnim_861D0BC:: @ 861D0BC - .2byte 0x000c, 0x0000, 0xffff, 0x0000 - - .align 2 -gSpriteAnim_861D0C4:: @ 861D0C4 - .2byte 0x0010, 0x0000, 0xffff, 0x0000 - - .align 2 -gSpriteAnim_861D0CC:: @ 861D0CC - .2byte 0x0014, 0x0000, 0xffff, 0x0000 - - .align 2 -gSpriteAnim_861D0D4:: @ 861D0D4 - .2byte 0x0018, 0x0000, 0xffff, 0x0000 - - .align 2 -gSpriteAnimTable_861D0DC:: @ 861D0DC - .4byte gSpriteAnim_861D0A4 - .4byte gSpriteAnim_861D0AC - .4byte gSpriteAnim_861D0B4 - .4byte gSpriteAnim_861D0BC - .4byte gSpriteAnim_861D0C4 - .4byte gSpriteAnim_861D0CC - .4byte gSpriteAnim_861D0D4 - - .align 2 -gUnknown_0861D0F8:: @ 861D0F8 - obj_tiles gStatusGfx_Icons, 0x0380, 0x7531 - - .align 2 -gUnknown_0861D100:: @ 861D100 - obj_pal gStatusPal_Icons, 0x7531 - - .align 2 -gUnknown_0861D108:: @ 861D108 - spr_template 0x7531, 0x7531, gOamData_861D09C, gSpriteAnimTable_861D0DC, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gUnknown_0861D120:: @ 861D120 - .incbin "graphics/interface/summary_markings.gbapal" - - .align 2 -gUnknown_0861D140:: @ 861D140 - .incbin "graphics/interface/region_map.gbapal" - - .align 2 -gUnknown_0861D1A0:: @ 861D1A0 - .incbin "graphics/interface/region_map.8bpp.lz" - - .align 2 -gUnknown_0861DEF4:: @ 861DEF4 - .incbin "graphics/interface/region_map.bin.lz" - - .align 2 -gUnknown_0861E208:: @ 861E208 - .incbin "graphics/interface/region_map_affine.8bpp.lz" - - .align 2 -gUnknown_0861EF64:: @ 861EF64 - .incbin "graphics/interface/region_map_affine.bin.lz" - - .align 2 -gUnknown_0861F2B4:: @ 861F2B4 - .4byte 0x000011f0, 0x000001e1, 0x000021de - - .align 2 -gUnknown_0861F2C0:: @ 861F2C0 - .4byte 0x00000000, sub_81C5460, sub_81C5518, 0x00000000, 0x00080000, 0x07003021 - - .align 2 -gUnknown_0861F2D8:: @ 861F2D8 - .4byte gMenuText_Use, sub_81C61E0 - .4byte gMenuText_Toss, sub_81C62C4 - .4byte gMenuText_Give, sub_81C6648 - .4byte gText_Cancel2, sub_81C6258 - .4byte gMenuText_Use, sub_81C679C - .4byte gText_EmptyString2, NULL - -gUnknown_0861F308:: @ 861F308 - .byte 0x00, 0x02, 0x01, 0x03 - -gUnknown_0861F30C:: @ 861F30C - .byte 0x01, 0x03 - -gUnknown_0861F30E:: @ 861F30E - .byte 0x04, 0x03 - -gUnknown_0861F310:: @ 861F310 - .byte 0x03, 0x00, 0x00, 0x00 - -gUnknown_0861F314:: @ 861F314 - .4byte sub_81C654C - .4byte sub_81C63D0 - -gUnknown_0861F31C:: @ 861F31C - .byte 0x00, 0x02, 0x03, 0x00, 0x03, 0x01, 0x01, 0x02, 0x03, 0x00, 0x00, 0x00 - - .align 2 -gUnknown_0861F328:: @ 861F328 - window_template 0x00, 0x0e, 0x02, 0x0f, 0x10, 0x0f, 0x001e - window_template 0x00, 0x00, 0x0d, 0x0e, 0x06, 0x0f, 0x010e - window_template 0x01, 0x02, 0x0f, 0x1b, 0x04, 0x0f, 0x0162 - window_template 0x01, 0x18, 0x11, 0x05, 0x02, 0x0f, 0x01ce - null_window_template - - .align 2 -gUnknown_0861F350:: @ 861F350 - window_template 0x01, 0x16, 0x11, 0x07, 0x02, 0x0f, 0x01d8 - window_template 0x01, 0x16, 0x0f, 0x07, 0x04, 0x0f, 0x01d8 - window_template 0x01, 0x0f, 0x0f, 0x0e, 0x04, 0x0f, 0x01d8 - window_template 0x01, 0x0f, 0x0d, 0x0e, 0x06, 0x0f, 0x01d8 - - .align 2 -gUnknown_0861F370:: @ 861F370 - window_template 0x01, 0x18, 0x0f, 0x05, 0x04, 0x0f, 0x01d8 - - .align 2 -gOamData_861F378:: @ 861F378 - .2byte 0x0100, 0xc000, 0x0400, 0x0000 - - .align 2 -gSpriteAnim_861F380:: @ 861F380 - .2byte 0x0000, 0x0004, 0xffff, 0x0000 - - .align 2 -gSpriteAnimTable_861F388:: @ 861F388 - .4byte gSpriteAnim_861F380 - - .align 2 -gSpriteAffineAnim_861F38C:: @ 861F38C - .2byte 0x0100, 0x0100, 0x0000, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gSpriteAffineAnim_861F39C:: @ 861F39C - .2byte 0x0000, 0x0000, 0x02fe, 0x0000, 0x0000, 0x0000, 0x0402, 0x0000, 0x0000, 0x0000, 0x04fe, 0x0000, 0x0000, 0x0000, 0x0202, 0x0000 - .2byte 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gSpriteAffineAnimTable_861F3C4:: @ 861F3C4 - .4byte gSpriteAffineAnim_861F38C - .4byte gSpriteAffineAnim_861F39C - - .align 2 -gUnknown_0861F3CC:: @ 861F3CC - obj_tiles gBattleFrontierGfx_PyramidBag, 0x0800, 0x1024 - - .align 2 -gUnknown_0861F3D4:: @ 861F3D4 - spr_template 0x1024, 0x1024, gOamData_861F378, gSpriteAnimTable_861F388, NULL, gSpriteAffineAnimTable_861F3C4, SpriteCallbackDummy - diff --git a/data/unk_pokedex_area_screen_helper.s b/data/unk_pokedex_area_screen_helper.s new file mode 100644 index 0000000000..2f3881446f --- /dev/null +++ b/data/unk_pokedex_area_screen_helper.s @@ -0,0 +1,110 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .section .rodata + + .align 2 +gUnknown_0861D1A0:: @ 861D1A0 + .incbin "graphics/interface/region_map.8bpp.lz" + + .align 2 +gUnknown_0861DEF4:: @ 861DEF4 + .incbin "graphics/interface/region_map.bin.lz" + + .align 2 +gUnknown_0861E208:: @ 861E208 + .incbin "graphics/interface/region_map_affine.8bpp.lz" + + .align 2 +gUnknown_0861EF64:: @ 861EF64 + .incbin "graphics/interface/region_map_affine.bin.lz" + + .align 2 +gUnknown_0861F2B4:: @ 861F2B4 + .4byte 0x000011f0, 0x000001e1, 0x000021de + + .align 2 +gUnknown_0861F2C0:: @ 861F2C0 + .4byte 0x00000000, sub_81C5460, sub_81C5518, 0x00000000, 0x00080000, 0x07003021 + + .align 2 +gUnknown_0861F2D8:: @ 861F2D8 + .4byte gMenuText_Use, sub_81C61E0 + .4byte gMenuText_Toss, sub_81C62C4 + .4byte gMenuText_Give, sub_81C6648 + .4byte gText_Cancel2, sub_81C6258 + .4byte gMenuText_Use, sub_81C679C + .4byte gText_EmptyString2, NULL + +gUnknown_0861F308:: @ 861F308 + .byte 0x00, 0x02, 0x01, 0x03 + +gUnknown_0861F30C:: @ 861F30C + .byte 0x01, 0x03 + +gUnknown_0861F30E:: @ 861F30E + .byte 0x04, 0x03 + +gUnknown_0861F310:: @ 861F310 + .byte 0x03, 0x00, 0x00, 0x00 + +gUnknown_0861F314:: @ 861F314 + .4byte sub_81C654C + .4byte sub_81C63D0 + +gUnknown_0861F31C:: @ 861F31C + .byte 0x00, 0x02, 0x03, 0x00, 0x03, 0x01, 0x01, 0x02, 0x03, 0x00, 0x00, 0x00 + + .align 2 +gUnknown_0861F328:: @ 861F328 + window_template 0x00, 0x0e, 0x02, 0x0f, 0x10, 0x0f, 0x001e + window_template 0x00, 0x00, 0x0d, 0x0e, 0x06, 0x0f, 0x010e + window_template 0x01, 0x02, 0x0f, 0x1b, 0x04, 0x0f, 0x0162 + window_template 0x01, 0x18, 0x11, 0x05, 0x02, 0x0f, 0x01ce + null_window_template + + .align 2 +gUnknown_0861F350:: @ 861F350 + window_template 0x01, 0x16, 0x11, 0x07, 0x02, 0x0f, 0x01d8 + window_template 0x01, 0x16, 0x0f, 0x07, 0x04, 0x0f, 0x01d8 + window_template 0x01, 0x0f, 0x0f, 0x0e, 0x04, 0x0f, 0x01d8 + window_template 0x01, 0x0f, 0x0d, 0x0e, 0x06, 0x0f, 0x01d8 + + .align 2 +gUnknown_0861F370:: @ 861F370 + window_template 0x01, 0x18, 0x0f, 0x05, 0x04, 0x0f, 0x01d8 + + .align 2 +gOamData_861F378:: @ 861F378 + .2byte 0x0100, 0xc000, 0x0400, 0x0000 + + .align 2 +gSpriteAnim_861F380:: @ 861F380 + .2byte 0x0000, 0x0004, 0xffff, 0x0000 + + .align 2 +gSpriteAnimTable_861F388:: @ 861F388 + .4byte gSpriteAnim_861F380 + + .align 2 +gSpriteAffineAnim_861F38C:: @ 861F38C + .2byte 0x0100, 0x0100, 0x0000, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 + + .align 2 +gSpriteAffineAnim_861F39C:: @ 861F39C + .2byte 0x0000, 0x0000, 0x02fe, 0x0000, 0x0000, 0x0000, 0x0402, 0x0000, 0x0000, 0x0000, 0x04fe, 0x0000, 0x0000, 0x0000, 0x0202, 0x0000 + .2byte 0x7fff, 0x0000, 0x0000, 0x0000 + + .align 2 +gSpriteAffineAnimTable_861F3C4:: @ 861F3C4 + .4byte gSpriteAffineAnim_861F38C + .4byte gSpriteAffineAnim_861F39C + + .align 2 +gUnknown_0861F3CC:: @ 861F3CC + obj_tiles gBattleFrontierGfx_PyramidBag, 0x0800, 0x1024 + + .align 2 +gUnknown_0861F3D4:: @ 861F3D4 + spr_template 0x1024, 0x1024, gOamData_861F378, gSpriteAnimTable_861F388, NULL, gSpriteAffineAnimTable_861F3C4, SpriteCallbackDummy + diff --git a/include/battle_controllers.h b/include/battle_controllers.h index ff5a629af5..b449bb501d 100644 --- a/include/battle_controllers.h +++ b/include/battle_controllers.h @@ -1,6 +1,8 @@ #ifndef GUARD_BATTLE_CONTROLLERS_H #define GUARD_BATTLE_CONTROLLERS_H +#include "battle.h" + enum { REQUEST_ALL_BATTLE, diff --git a/include/battle_frontier_2.h b/include/battle_frontier_2.h index d410749b9a..09e9740685 100644 --- a/include/battle_frontier_2.h +++ b/include/battle_frontier_2.h @@ -11,5 +11,6 @@ void sub_81AA078(u16*, u8); void sub_81A4C30(void); void sub_819A4F8(void); void sub_819DC00(void); +bool8 sub_81A6BF4(void); #endif // GUARD_BATTLE_FRONTIER_2_H diff --git a/include/battle_tent.h b/include/battle_tent.h new file mode 100644 index 0000000000..a894d4cfb2 --- /dev/null +++ b/include/battle_tent.h @@ -0,0 +1,6 @@ +#ifndef GUARD_BATTLE_TENT_H +#define GUARD_BATTLE_TENT_H + +bool8 sub_81B9E94(void); + +#endif //GUARD_BATTLE_TENT_H diff --git a/include/contest_effect.h b/include/contest_effect.h index 3484ca5df8..c8f5e389ac 100644 --- a/include/contest_effect.h +++ b/include/contest_effect.h @@ -18,5 +18,6 @@ struct ContestEffect extern const struct ContestMove gContestMoves[]; extern struct ContestEffect gContestEffects[]; +extern const u8 *const gContestEffectDescriptionPointers[]; #endif //GUARD_CONTEST_EFFECT_H diff --git a/include/graphics.h b/include/graphics.h index 2dc5e99bf4..a5acca6253 100644 --- a/include/graphics.h +++ b/include/graphics.h @@ -3382,4 +3382,24 @@ extern const u8 gCreditsCopyrightEnd_Gfx[]; extern const u8 gPokenavConditionMarker_Gfx[]; extern const u16 gPokenavConditionMarker_Pal[]; +extern const u8 gUnknown_08D9862C[]; +extern const u8 gUnknown_08D98CC8[]; +extern const u8 gUnknown_08D987FC[]; +extern const u8 gUnknown_08D9898C[]; +extern const u8 gUnknown_08D98B28[]; +extern const u8 gUnknown_08D9853C[]; +extern const u8 gUnknown_08D85620[]; +extern const u16 gSummaryScreenWindow_Tilemap[]; +extern const u16 gMoveTypes_Pal[]; +extern const u8 gUnknown_08D97D0C[]; + +extern const u16 gSummaryScreenPowAcc_Tilemap[]; +extern const u16 gUnknown_08DC3C34[]; + +extern const u8 gMoveTypes_Gfx[]; +extern const u8 gUnknown_08D97BEC[]; +extern const u8 gUnknown_08D97CF4[]; +extern const u8 gStatusGfx_Icons[]; +extern const u8 gStatusPal_Icons[]; + #endif //GUARD_GRAPHICS_H diff --git a/include/m4a.h b/include/m4a.h index a1f413cf5f..5953794958 100644 --- a/include/m4a.h +++ b/include/m4a.h @@ -17,6 +17,7 @@ void m4aMPlayFadeOutTemporarily(struct MusicPlayerInfo *mplayInfo, u16 speed); void m4aMPlayFadeIn(struct MusicPlayerInfo *mplayInfo, u16 speed); void m4aMPlayImmInit(struct MusicPlayerInfo *mplayInfo); +extern struct MusicPlayerInfo gMPlayInfo_BGM; extern struct MusicPlayerInfo gMPlayInfo_SE1; extern struct MusicPlayerInfo gMPlayInfo_SE2; extern struct MusicPlayerInfo gMPlayInfo_SE3; diff --git a/include/menu.h b/include/menu.h index 5dfd99c64e..054d8cb341 100644 --- a/include/menu.h +++ b/include/menu.h @@ -85,5 +85,7 @@ void RemoveMapNamePopUpWindow(void); u8 GetMapNamePopUpWindowId(void); u8 AddMapNamePopUpWindow(void); void sub_8199F74(u8 windowId, u8 fontId, const u8 *str, u8 left, u8 top, u8 speed, void (*callback)(struct TextSubPrinter *, u16), u8 letterSpacing, u8 lineSpacing); +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); #endif // GUARD_MENU_H diff --git a/include/menu_helpers.h b/include/menu_helpers.h index 387a89fdd6..ee8501d189 100644 --- a/include/menu_helpers.h +++ b/include/menu_helpers.h @@ -2,6 +2,7 @@ #define GUARD_MENU_HELPERS_H #include "task.h" +#include "window.h" // Exported type declarations diff --git a/include/mon_markings.h b/include/mon_markings.h index 852e8b4eb6..22c3f14a4f 100644 --- a/include/mon_markings.h +++ b/include/mon_markings.h @@ -21,4 +21,6 @@ struct PokemonMarkMenu /*0x10B4*/ u8 tileLoadState; }; // 10b8 +struct Sprite *sub_811FF94(u16 tileTag, u16 paletteTag, const u16 *palette); + #endif //POKEEMERALD_MON_MARKINGS_H diff --git a/include/party_menu.h b/include/party_menu.h index cb2c388911..02e4812002 100644 --- a/include/party_menu.h +++ b/include/party_menu.h @@ -57,5 +57,8 @@ u8 sub_81B1360(void); void sub_81B8904(u8 arg0, void (*callback)(void)); void OpenPartyMenuInBattle(u8 caseId); u16 ItemIdToBattleMoveId(u16 itemId); +u8 sub_81B205C(struct Pokemon* a); +u8 sub_81B6D14(u16 a); +bool8 hm_add_c3_without_phase_2(void); #endif // GUARD_PARTY_MENU_H diff --git a/include/pokeball.h b/include/pokeball.h index 84178b5b22..30a1d8b11e 100644 --- a/include/pokeball.h +++ b/include/pokeball.h @@ -18,6 +18,8 @@ enum POKEBALL_COUNT }; +extern const struct SpriteTemplate gBallSpriteTemplates[]; + #define POKEBALL_PLAYER_SENDOUT 0xFF #define POKEBALL_OPPONENT_SENDOUT 0xFE diff --git a/include/pokemon_storage_system.h b/include/pokemon_storage_system.h index 03f4e0da6d..a73958d904 100644 --- a/include/pokemon_storage_system.h +++ b/include/pokemon_storage_system.h @@ -83,5 +83,6 @@ void CompactPartySlots(void); u32 GetBoxMonDataFromAnyBox(u8 boxId, u8 monPosition, u32 request); bool8 CheckFreePokemonStorageSpace(void); u8 StorageGetCurrentBox(void); +u8 sub_80D214C(struct BoxPokemon* a, u8 b, u8 c, u8 d); #endif // GUARD_POKEMON_STORAGE_SYSTEM_H diff --git a/include/pokemon_summary_screen.h b/include/pokemon_summary_screen.h index 75caa9a3a0..0580e793c6 100755 --- a/include/pokemon_summary_screen.h +++ b/include/pokemon_summary_screen.h @@ -2,6 +2,6 @@ #define GUARD_POKEMON_SUMMARY_SCREEN_H void sub_81C4F98(u8, void(*)(void)); -void ShowSelectMovePokemonSummaryScreen(void *a, u8 b, u8 c, void *d, u16 e); +void ShowSelectMovePokemonSummaryScreen(struct Pokemon *a, u8 b, u8 c, void *d, u16 e); #endif // GUARD_POKEMON_SUMMARY_SCREEN_H diff --git a/include/region_map.h b/include/region_map.h index af331ad816..6339f7a88e 100644 --- a/include/region_map.h +++ b/include/region_map.h @@ -94,5 +94,6 @@ void CreateRegionMapCursor(u16 tileTag, u16 paletteTag); u8 *GetMapName(u8 *, u16, u16); bool32 sub_8124668(u8 mapSecId); u8 *sub_81245DC(u8 *dest, u16 mapSecId); +u8 *sub_8124610(u8 *dest, u16 mapSecId); #endif //GUARD_REGION_MAP_H diff --git a/include/strings.h b/include/strings.h index f8b216a39d..f88425b26d 100644 --- a/include/strings.h +++ b/include/strings.h @@ -776,4 +776,52 @@ extern const u8 gText_TeachWhichMoveToPkmn[]; extern const u8 gText_GiveUpTeachingNewMove[]; extern const u8 gText_TeachX[]; +extern const u8 gText_LevelSymbol[]; +extern const u8 gText_PkmnInfo[]; +extern const u8 gText_PkmnSkills[]; +extern const u8 gText_BattleMoves[]; +extern const u8 gText_ContestMoves[]; +extern const u8 gText_HMMovesCantBeForgotten2[]; +extern const u8 gText_Info[]; +extern const u8 gText_Switch[]; +extern const u8 gText_RentalPkmn[]; +extern const u8 gText_TypeSlash[]; +extern const u8 gText_HP4[]; +extern const u8 gText_Attack3[]; +extern const u8 gText_Defense3[]; +extern const u8 gText_SpAtk4[]; +extern const u8 gText_SpDef4[]; +extern const u8 gText_Speed2[]; +extern const u8 gText_ExpPoints[]; +extern const u8 gText_NextLv[]; +extern const u8 gText_Status[]; +extern const u8 gText_Power[]; +extern const u8 gText_Accuracy2[]; +extern const u8 gText_Appeal[]; +extern const u8 gText_Jam[]; +extern const u8 gText_OTSlash[]; +extern const u8 gText_UnkCtrlF907F908[]; +extern const u8 gText_XNature[]; +extern const u8 gText_XNatureHatchedAtYZ[]; +extern const u8 gText_XNatureHatchedSomewhereAt[]; +extern const u8 gText_XNatureMetAtYZ[]; +extern const u8 gText_XNatureMetSomewhereAt[]; +extern const u8 gText_XNatureFatefulEncounter[]; +extern const u8 gText_XNatureProbablyMetAt[]; +extern const u8 gText_XNatureObtainedInTrade[]; +extern const u8 gText_EmptyString5[]; +extern const u8 gText_EggWillTakeALongTime[]; +extern const u8 gText_EggAboutToHatch[]; +extern const u8 gText_EggWillHatchSoon[]; +extern const u8 gText_EggWillTakeSomeTime[]; +extern const u8 gText_PeculiarEggNicePlace[]; +extern const u8 gText_PeculiarEggTrade[]; +extern const u8 gText_EggFromTraveler[]; +extern const u8 gText_EggFromHotSprings[]; +extern const u8 gText_OddEggFoundByCouple[]; +extern const u8 gText_None[]; +extern const u8 gText_RibbonsVar1[]; +extern const u8 gText_OneDash[]; +extern const u8 gText_TwoDashes[]; + #endif //GUARD_STRINGS_H diff --git a/ld_script.txt b/ld_script.txt index 5f9d356173..462af2946c 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -262,7 +262,9 @@ SECTIONS { asm/fossil_specials.o(.text); src/berry_fix_program.o(.text); src/pokemon_summary_screen.o(.text); - asm/pokemon_summary_screen.o(.text); + src/unk_pokedex_area_screen_helper.o(.text); + src/battle_pyramid.o(.text); + asm/battle_pyramid.o(.text); asm/pokenav.o(.text); src/match_call.o(.text); asm/pokenav.o(.text.after.match.call); @@ -537,7 +539,8 @@ SECTIONS { src/fldeff_groundshake.o(.rodata); src/berry_fix_program.o(.rodata); src/pokemon_summary_screen.o(.rodata); - data/pokemon_summary_screen.o(.rodata); + src/unk_pokedex_area_screen_helper.o(.rodata); + data/unk_pokedex_area_screen_helper.o(.rodata); data/pokenav.o(.rodata); src/match_call.o(.rodata); data/pokenav.o(.rodata.after.match.call); diff --git a/src/battle_pyramid.c b/src/battle_pyramid.c new file mode 100644 index 0000000000..f9cc48a9a8 --- /dev/null +++ b/src/battle_pyramid.c @@ -0,0 +1,248 @@ +#include "global.h" +#include "main.h" +#include "battle_controllers.h" +#include "bg.h" +#include "field_effect.h" +#include "field_weather.h" +#include "gpu_regs.h" +#include "malloc.h" +#include "menu.h" +#include "menu_helpers.h" +#include "overworld.h" +#include "palette.h" +#include "party_menu.h" +#include "scanline_effect.h" +#include "script.h" +#include "task.h" +#include "constants/rgb.h" + +EWRAM_DATA struct +{ + u32 unk0; + u8 filler4[0x804 - 0x4]; + u8 unk804[11]; + u8 unk80F[5]; + u8 unk814; + u8 filler815; + s8 unk816; + u8 filler817[0x984 - 0x817]; + u16 unk984; + u8 filler986[0x98C - 0x986]; +} *gUnknown_0203CF2C = NULL; +EWRAM_DATA struct +{ + void (*callback)(void); + u8 unk4; + u16 unk6; + u16 unk8; +} gUnknown_0203CF30 = {0}; + +extern const struct BgTemplate gUnknown_0861F2B4[3]; + +void sub_81C4F98(u8 a0, void (*callback)(void)); +void sub_81C4F44(u8 taskId); +void sub_81C504C(void); +bool8 sub_81C5078(void); +void sub_81C51DC(void); +bool8 sub_81C5238(void); +void sub_81C5314(void); +void sub_81C5674(void); +void sub_81C56F8(void); +void sub_81C5924(void); +void sub_81C59BC(void); +void sub_81C5A20(void); +void sub_81C6BD8(void); +void sub_81C6EF4(void); +void sub_81C700C(void); + +void sub_81C4EEC(void) +{ + gUnknown_0203CF30.unk6 = 0; + gUnknown_0203CF30.unk8 = 0; +} + +void sub_81C4EFC(void) +{ + sub_81C4F98(0, CB2_ReturnToFieldWithOpenMenu); +} + +void sub_81C4F10(void) +{ + sub_81C4F98(1, SetCB2ToReshowScreenAfterMenu2); +} + +void sub_81C4F24(void) +{ + ScriptContext2_Enable(); + FadeScreen(1, 0); + CreateTask(sub_81C4F44, 10); +} + +void sub_81C4F44(u8 taskId) +{ + if (!gPaletteFade.active) + { + overworld_free_bg_tilemaps(); + gFieldCallback2 = hm_add_c3_without_phase_2; + sub_81C4F98(3, CB2_ReturnToField); + DestroyTask(taskId); + } +} + +void sub_81C4F84(void) +{ + sub_81C4F98(4, gUnknown_0203CF30.callback); +} + +void sub_81C4F98(u8 a0, void (*callback)(void)) +{ + gUnknown_0203CF2C = AllocZeroed(sizeof(*gUnknown_0203CF2C)); + + if (a0 != 4) + { + gUnknown_0203CF30.unk4 = a0; + } + + if (callback != NULL) + { + gUnknown_0203CF30.callback = callback; + } + + gUnknown_0203CF2C->unk0 = 0; + gUnknown_0203CF2C->unk814 = -1; + gUnknown_0203CF2C->unk816 = -1; + + memset(gUnknown_0203CF2C->unk804, 0xFF, sizeof(gUnknown_0203CF2C->unk804)); + memset(gUnknown_0203CF2C->unk80F, 0xFF, sizeof(gUnknown_0203CF2C->unk80F)); + + SetMainCallback2(sub_81C504C); +} + +void sub_81C501C(void) +{ + RunTasks(); + AnimateSprites(); + BuildOamBuffer(); + do_scheduled_bg_tilemap_copies_to_vram(); + UpdatePaletteFade(); +} + +void sub_81C5038(void) +{ + LoadOam(); + ProcessSpriteCopyRequests(); + TransferPlttBuffer(); +} + +void sub_81C504C(void) +{ + while (sub_81221EC() != TRUE && sub_81C5078() != TRUE && sub_81221AC() != TRUE); +} + +bool8 sub_81C5078(void) +{ + switch (gMain.state) + { + case 0: + SetVBlankHBlankCallbacksToNull(); + clear_scheduled_bg_copies_to_vram(); + gMain.state++; + break; + case 1: + ScanlineEffect_Stop(); + gMain.state++; + break; + case 2: + FreeAllSpritePalettes(); + gMain.state++; + break; + case 3: + ResetPaletteFade(); + gPaletteFade.bufferTransferDisabled = TRUE; + gMain.state++; + break; + case 4: + ResetSpriteData(); + gMain.state++; + break; + case 5: + if (!sub_81221AC()) + { + ResetTasks(); + } + gMain.state++; + break; + case 6: + sub_81C51DC(); + gUnknown_0203CF2C->unk984 = 0; + gMain.state++; + break; + case 7: + if (sub_81C5238()) + { + gMain.state++; + } + break; + case 8: + sub_81C6BD8(); + gMain.state++; + break; + case 9: + sub_81C5924(); + sub_81C59BC(); + sub_81C5A20(); + gMain.state++; + break; + case 10: + sub_81C5314(); + gMain.state++; + break; + case 11: + sub_81C56F8(); + gMain.state++; + break; + case 12: + sub_81C6EF4(); + gMain.state++; + break; + case 13: + sub_81C5674(); + gMain.state++; + break; + case 14: + sub_81C700C(); + gMain.state++; + break; + case 15: + BlendPalettes(0xFFFFFFFF, 0x10, 0); + gMain.state++; + break; + case 16: + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, RGB_BLACK); + gPaletteFade.bufferTransferDisabled = FALSE; + gMain.state++; + break; + default: + SetVBlankCallback(sub_81C5038); + SetMainCallback2(sub_81C501C); + return TRUE; + } + return FALSE; +} + +void sub_81C51DC(void) +{ + ResetVramOamAndBgCntRegs(); + ResetBgsAndClearDma3BusyFlags(0); + InitBgsFromTemplates(0, gUnknown_0861F2B4, ARRAY_COUNT(gUnknown_0861F2B4)); + SetBgTilemapBuffer(2, gUnknown_0203CF2C->filler4); + ResetAllBgsCoordinates(); + schedule_bg_copy_tilemap_to_vram(2); + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 | + DISPCNT_OBJ_1D_MAP | + DISPCNT_OBJ_ON); + ShowBg(0); + ShowBg(1); + ShowBg(2); + SetGpuReg(REG_OFFSET_BLDCNT, 0); +} diff --git a/src/data/text/nature_names.h b/src/data/text/nature_names.h new file mode 100644 index 0000000000..d0d217d9bc --- /dev/null +++ b/src/data/text/nature_names.h @@ -0,0 +1,54 @@ +static const u8 sHardyNatureName[] = _("HARDY"); +static const u8 sLonelyNatureName[] = _("LONELY"); +static const u8 sBraveNatureName[] = _("BRAVE"); +static const u8 sAdamantNatureName[] = _("ADAMANT"); +static const u8 sNaughtyNatureName[] = _("NAUGHTY"); +static const u8 sBoldNatureName[] = _("BOLD"); +static const u8 sDocileNatureName[] = _("DOCILE"); +static const u8 sRelaxedNatureName[] = _("RELAXED"); +static const u8 sImpishNatureName[] = _("IMPISH"); +static const u8 sLaxNatureName[] = _("LAX"); +static const u8 sTimidNatureName[] = _("TIMID"); +static const u8 sHastyNatureName[] = _("HASTY"); +static const u8 sSeriousNatureName[] = _("SERIOUS"); +static const u8 sJollyNatureName[] = _("JOLLY"); +static const u8 sNaiveNatureName[] = _("NAIVE"); +static const u8 sModestNatureName[] = _("MODEST"); +static const u8 sMildNatureName[] = _("MILD"); +static const u8 sQuietNatureName[] = _("QUIET"); +static const u8 sBashfulNatureName[] = _("BASHFUL"); +static const u8 sRashNatureName[] = _("RASH"); +static const u8 sCalmNatureName[] = _("CALM"); +static const u8 sGentleNatureName[] = _("GENTLE"); +static const u8 sSassyNatureName[] = _("SASSY"); +static const u8 sCarefulNatureName[] = _("CAREFUL"); +static const u8 sQuirkyNatureName[] = _("QUIRKY"); + +const u8 *const gNatureNamePointers[] = +{ + [NATURE_HARDY] = sHardyNatureName, + [NATURE_LONELY] = sLonelyNatureName, + [NATURE_BRAVE] = sBraveNatureName, + [NATURE_ADAMANT] = sAdamantNatureName, + [NATURE_NAUGHTY] = sNaughtyNatureName, + [NATURE_BOLD] = sBoldNatureName, + [NATURE_DOCILE] = sDocileNatureName, + [NATURE_RELAXED] = sRelaxedNatureName, + [NATURE_IMPISH] = sImpishNatureName, + [NATURE_LAX] = sLaxNatureName, + [NATURE_TIMID] = sTimidNatureName, + [NATURE_HASTY] = sHastyNatureName, + [NATURE_SERIOUS] = sSeriousNatureName, + [NATURE_JOLLY] = sJollyNatureName, + [NATURE_NAIVE] = sNaiveNatureName, + [NATURE_MODEST] = sModestNatureName, + [NATURE_MILD] = sMildNatureName, + [NATURE_QUIET] = sQuietNatureName, + [NATURE_BASHFUL] = sBashfulNatureName, + [NATURE_RASH] = sRashNatureName, + [NATURE_CALM] = sCalmNatureName, + [NATURE_GENTLE] = sGentleNatureName, + [NATURE_SASSY] = sSassyNatureName, + [NATURE_CAREFUL] = sCarefulNatureName, + [NATURE_QUIRKY] = sQuirkyNatureName, +}; diff --git a/src/pokemon_summary_screen.c b/src/pokemon_summary_screen.c index 7e20a2a92d..b5117d45da 100644 --- a/src/pokemon_summary_screen.c +++ b/src/pokemon_summary_screen.c @@ -1,364 +1,731 @@ #include "global.h" -#include "battle.h" -#include "bg.h" -#include "decompress.h" -#include "item.h" -#include "constants/items.h" -#include "link.h" -#include "m4a.h" #include "main.h" -#include "malloc.h" -#include "constants/moves.h" -#include "palette.h" -#include "pokemon.h" -#include "constants/songs.h" -#include "sound.h" -#include "constants/species.h" -#include "sprite.h" -#include "dynamic_placeholder_text_util.h" -#include "string_util.h" -#include "task.h" -#include "text.h" -#include "window.h" -#include "event_data.h" -#include "gpu_regs.h" -#include "menu.h" -#include "international_string_util.h" -#include "scanline_effect.h" -#include "menu_helpers.h" -#include "daycare.h" -#include "data2.h" +#include "battle.h" +#include "battle_anim.h" +#include "battle_frontier_2.h" +#include "battle_message.h" +#include "battle_tent.h" +#include "bg.h" #include "contest.h" #include "contest_effect.h" +#include "data2.h" +#include "daycare.h" +#include "decompress.h" +#include "dynamic_placeholder_text_util.h" +#include "event_data.h" +#include "gpu_regs.h" +#include "graphics.h" +#include "international_string_util.h" +#include "item.h" +#include "link.h" +#include "m4a.h" +#include "malloc.h" +#include "menu.h" +#include "menu_helpers.h" +#include "mon_markings.h" +#include "party_menu.h" +#include "palette.h" +#include "pokeball.h" +#include "pokemon.h" +#include "pokemon_storage_system.h" +#include "region_map.h" +#include "scanline_effect.h" +#include "sound.h" +#include "sprite.h" +#include "string_util.h" +#include "strings.h" +#include "task.h" +#include "text.h" +#include "tv.h" +#include "window.h" +#include "constants/items.h" +#include "constants/moves.h" +#include "constants/songs.h" +#include "constants/species.h" -extern struct UnkSummaryStruct* gUnknown_0203CF1C; -extern struct BgTemplate gUnknown_0861CBB4; -extern u8 gUnknown_0203CF20; -extern struct MusicPlayerInfo gMPlayInfo_BGM; -extern s8 gUnknown_0861CC1C[]; -extern u8 gUnknown_0203CF21; -extern struct UnkStruct_61CC04 gUnknown_0861CC04; -extern struct UnkStruct_61CC04 gUnknown_0861CC10; -extern struct UnkStruct_61CC04 gUnknown_0861CBEC; -extern struct UnkStruct_61CC04 gUnknown_0861CBF8; -extern u16 gSummaryScreenWindow_Tilemap[]; -extern struct ContestEffect gContestEffects[]; -extern struct WindowTemplate gUnknown_0861CC24; -extern u8 gUnknown_0861CD2C[][3]; -extern const u8 gSpeciesNames[][POKEMON_NAME_LENGTH + 1]; -extern u8 gText_MaleSymbol[]; -extern u8 gText_FemaleSymbol[]; -extern u8 gUnknown_0861CDD3[]; -extern void (*const gUnknown_0861CE54[])(); -extern void (*const gUnknown_0861CE64[])(u8 taskId); -extern struct WindowTemplate gUnknown_0861CCCC; -extern u8 gUnknown_0861CE74[]; -extern u8 gUnknown_0861CE7B[]; -extern struct WindowTemplate gUnknown_0861CCEC; -extern struct WindowTemplate gUnknown_0861CD14; -extern const u8 *const gContestEffectDescriptionPointers[]; - -void sub_81C488C(u8 a); -extern u8 sub_81221EC(); -extern u8 sub_81221AC(); -extern u8 gUnknown_08D9862C; -extern u8 gUnknown_08D98CC8; -extern u8 gUnknown_08D987FC; -extern u8 gUnknown_08D9898C; -extern u8 gUnknown_08D98B28; -extern u8 gUnknown_08D9853C; -extern u8 gUnknown_08D85620; -extern struct CompressedSpriteSheet gUnknown_0861CFBC; -extern struct CompressedSpriteSheet gUnknown_0861D074; -extern struct CompressedSpriteSheet gUnknown_0861D0F8; -extern struct CompressedSpritePalette gUnknown_0861D100; -extern struct CompressedSpritePalette gUnknown_0861D07C; -extern u8 gMoveTypes_Pal; -extern u8 gUnknown_08D97D0C; -extern void sub_81C1E20(u8 taskId); -extern u8 *GetMonNickname(struct Pokemon *mon, u8 *dest); -extern u16 SpeciesToPokedexNum(u16 species); -extern u8 gText_UnkCtrlF908Clear01[]; -extern u8 gText_LevelSymbol[]; -extern u8 gText_PkmnInfo[]; -extern u8 gText_PkmnSkills[]; -extern u8 gText_BattleMoves[]; -extern u8 gText_ContestMoves[]; -extern u8 gText_HMMovesCantBeForgotten2[]; -extern u8 gText_Cancel2[]; -extern u8 gText_Info[]; -extern u8 gText_Switch[]; -extern u8 gText_RentalPkmn[]; -extern u8 gText_TypeSlash[]; -extern u8 gText_HP4[]; -extern u8 gText_Attack3[]; -extern u8 gText_Defense3[]; -extern u8 gText_SpAtk4[]; -extern u8 gText_SpDef4[]; -extern u8 gText_Speed2[]; -extern u8 gText_ExpPoints[]; -extern u8 gText_NextLv[]; -extern u8 gText_Status[]; -extern u8 gText_Power[]; -extern u8 gText_Accuracy2[]; -extern u8 gText_Appeal[]; -extern u8 gText_Jam[]; -extern u8 gText_OTSlash[]; -extern u8 gText_UnkCtrlF907F908[]; -extern u8 gText_XNature[]; -extern u8 gText_XNatureHatchedAtYZ[]; -extern u8 gText_XNatureHatchedSomewhereAt[]; -extern u8 gText_XNatureMetAtYZ[]; -extern u8 gText_XNatureMetSomewhereAt[]; -extern u8 gText_XNatureFatefulEncounter[]; -extern u8 gText_XNatureProbablyMetAt[]; -extern u8 gText_XNatureObtainedInTrade[]; -extern u8 *gNatureNamePointers[]; -extern u8 gText_EmptyString5[]; -extern u32 gBattleTypeFlags; -extern u8 gText_FiveMarks[]; -extern u8 gText_EggWillTakeALongTime[]; -extern u8 gText_EggAboutToHatch[]; -extern u8 gText_EggWillHatchSoon[]; -extern u8 gText_EggWillTakeSomeTime[]; -extern u8 gText_PeculiarEggNicePlace[]; -extern u8 gText_PeculiarEggTrade[]; -extern u8 gText_EggFromTraveler[]; -extern u8 gText_EggFromHotSprings[]; -extern u8 gText_OddEggFoundByCouple[]; -extern u8 gText_None[]; -extern u8 gText_RibbonsVar1[]; -extern u8 gUnknown_0861CE82[]; -extern u8 gUnknown_0861CE8E[]; -extern u8 gText_OneDash[]; -extern u8 gText_TwoDashes[]; -extern u8 gText_ThreeDashes[]; -extern u8 gText_Cancel[]; -extern u8 gUnknown_0861CE97[]; -extern const struct SpriteTemplate gUnknown_0861CFC4; - -extern void sub_8199C30(u8 a, u8 b, u8 c, u8 d, u8 e, u8 f); -extern bool8 sub_81A6BF4(); -extern bool8 sub_81B9E94(); -extern void DynamicPlaceholderTextUtil_Reset(); -extern void sub_8124610(u8 *a, u8 b); -extern int GetPlayerIDAsU32(); -extern u8 GetCurrentPpToMaxPpState(u8 a, u8 b); - -void sub_81BFAE4(void); -void sub_81BFE24(); -u8 sub_81BFEB0(); -void sub_81C2554(); -void sub_81C1BA0(); -void sub_81C0098(struct Pokemon* a); -bool8 sub_81C00F0(struct Pokemon* a); -void sub_81C25E8(); -void sub_81C286C(); -void sub_81C2D9C(u8 a); -void sub_81C0348(); -void sub_81C2AFC(u8 a); -void sub_81C4190(); -void sub_81C42C8(); -u8 sub_81C45F4(void* a, u16* b); -void sub_81C4984(); -void sub_81C4A08(); -void sub_81C4A88(); -void sub_81C4280(); -void sub_81C43A0(); -void sub_81C4484(); -void sub_81C4420(); -void sub_81C0510(u8 taskId); -void sub_81C171C(u8 taskId); -void ResetAllBgsCoordinates(); -u8 sub_81B205C(struct Pokemon* a); -void sub_81C1DA4(u16 a, s16 b); -void sub_81C1EFC(u16 a, s16 b, u16 c); -void sub_81C240C(u16 a); -void sub_81C2194(u16 *a, u16 b, u8 c); -void sub_81C2074(u16 a, s16 b); -void sub_81C2524(); -void sub_81C2228(struct Pokemon* mon); -void sub_81C0484(u8 taskId); -void sub_81C4898(); -void sub_806F47C(u8 a); -u8 GetLRKeysState(); -void sub_81C0604(u8 taskId, s8 a); -void sub_81C0A8C(u8 taskId, s8 a); -void sub_81C48F0(); -void sub_81C0E48(u8 taskId); -void sub_81C0704(u8 taskId); -s8 sub_81C09B4(s8 a); -s8 sub_81C08F8(s8 a); -void sub_81C4204(u8 a, u8 b); -void sub_81C20F0(u8 taskId); -bool8 sub_81C0A50(struct Pokemon* mon); -void sub_81C49E0(); -void sub_81C0E24(); -void sub_81C2C38(u8 a); -void sub_81C0B8C(u8 taskId); -void sub_81C0CC4(u8 taskId); -void sub_81C2DE4(u8 a); -void sub_81C424C(); -void sub_81C0C68(u8 taskId); -void sub_81C0D44(u8 taskId); -void sub_81C22CC(struct Pokemon* mon); -void sub_81C0F44(u8 taskId); -void sub_81C3E9C(u16 a); -void sub_81C3F44(); -void sub_81C44F0(); -void sub_81C4AF8(u8 a); -void sub_81C1070(s16* a, s8 b, u8* c); -void sub_81C11F4(u8 a); -void sub_81C129C(u8 a); -bool8 sub_81C1040(); -void sub_81C4064(); -void sub_81C4C60(u8 a); -void sub_81C12E4(u8 taskId); -void sub_81C4C84(u8 a); -void sub_81C13B0(u8 a, u8 b); -void sub_81C14BC(struct Pokemon *mon, u8 a, u8 b); -void sub_81C15EC(struct BoxPokemon *mon, u8 a, u8 b); -void sub_81C40A0(u8 a, u8 b); -void sub_81C4568(u8 a, u8 b); -void sub_81C174C(u8 taskId); -bool8 sub_81C18A8(); -void sub_81C18F4(u8 a); -u8 sub_81B6D14(u16 a); -void sub_81C1940(u8 taskId); -void sub_81C4154(); -void sub_81C1F80(u8 taskId); -void sub_81C2628(); -void sub_81C2794(); -void sub_81C27DC(struct Pokemon *mon, u16 a); -void sub_81C2D68(u8 a); -void sub_81C335C(); -void sub_81C33CC(); -void sub_81C3428(); -void sub_81C349C(); -void sub_81C2EC4(); -void sub_81C2F5C(); -void sub_81C2FD8(); -void sub_81C302C(); -void sub_81C307C(); -void sub_81C3194(); -void sub_81C31C0(); -bool8 sub_81C3304(); -void sub_81C31F0(u8 *a); -u8 sub_81C3220(); -bool8 sub_81C32BC(); -void sub_81C35E4(); -void sub_81C3690(); -void sub_81C3710(); -void sub_81C37D8(); -void sub_81C3808(); -void sub_81C3890(); -void sub_81C38C0(); -void sub_81C3B08(u8 a); -void sub_81C3E2C(u8 a); -void sub_81C4D18(); - -void SetBgAttribute(u8 bg, u8 attributeId, u8 value); - -bool8 sub_81BFB10(); -u8 sub_81B1250(); - -union UnkUnion +static EWRAM_DATA struct UnkSummaryStruct { - struct Pokemon mon[6]; - struct BoxPokemon boxMon[6]; -}; - - -u8 sub_80D214C(union UnkUnion* a, u8 b, u8 c, u8 d); - -struct PokeSummary -{ - u16 species; // 0x0 - u16 species2; // 0x2 - u8 isEgg; // 0x4 - u8 level; // 0x5 - u8 ribbons; // 0x6 - u8 unk7; // 0x7 - u8 altAbility; // 0x8 - u8 metLocation; // 0x9 - u8 metLevel; // 0xA - u8 metGame; // 0xB - u32 pid; // 0xC - u32 exp; // 0x10 - u16 moves[4]; // 0x14 - u8 pp[4]; // 0x1C - u16 currentHP; // 0x20 - u16 maxHP; // 0x22 - u16 atk; // 0x24 - u16 def; // 0x26 - u16 spatk; // 0x28 - u16 spdef; // 0x2A - u16 speed; // 0x2C - u16 item; // 0x2E - u16 friendship; // 0x30 - u8 OTGender; // 0x32 - u8 nature; // 0x33 - u8 ppBonuses; // 0x34 - u8 sanity; // 0x35 - u8 OTName[8]; // 0x36 - u8 unk3E[9]; // 0x3E - u32 OTID; // 0x48 -}; - -struct UnkSummaryStruct -{ - /*0x00*/ union UnkUnion *unk0; - /*0x04*/ void *unk4; - /*0x08*/ void *unk8; + /*0x00*/ union + { + struct Pokemon *mons; + struct BoxPokemon *boxMons; + } monList; + /*0x04*/ void (*callback)(void); + /*0x08*/ struct Sprite *markingsSpriteId; /*0x0C*/ struct Pokemon currentMon; - /*0x70*/ struct PokeSummary summary; - u16 unkTilemap0[0x400]; - u16 unkTilemap0_1[0x400]; - u16 unkTilemap1[0x400]; - u16 unkTilemap1_1[0x400]; - u16 unkTilemap2[0x400]; - u16 unkTilemap2_1[0x400]; - u16 unkTilemap3[0x400]; - u16 unkTilemap3_1[0x400]; - u8 unk40BC; - u8 unk40BD; - u8 unk40BE; - u8 unk40BF; + /*0x70*/ struct PokeSummary + { + u16 species; // 0x0 + u16 species2; // 0x2 + u8 isEgg; // 0x4 + u8 level; // 0x5 + u8 ribbons; // 0x6 + u8 unk7; // 0x7 + u8 altAbility; // 0x8 + u8 metLocation; // 0x9 + u8 metLevel; // 0xA + u8 metGame; // 0xB + u32 pid; // 0xC + u32 exp; // 0x10 + u16 moves[4]; // 0x14 + u8 pp[4]; // 0x1C + u16 currentHP; // 0x20 + u16 maxHP; // 0x22 + u16 atk; // 0x24 + u16 def; // 0x26 + u16 spatk; // 0x28 + u16 spdef; // 0x2A + u16 speed; // 0x2C + u16 item; // 0x2E + u16 friendship; // 0x30 + u8 OTGender; // 0x32 + u8 nature; // 0x33 + u8 ppBonuses; // 0x34 + u8 sanity; // 0x35 + u8 OTName[8]; // 0x36 + u8 unk3E[9]; // 0x3E + u32 OTID; // 0x48 + } summary; + u16 bgTilemapBuffer1[0x800]; + u16 bgTilemapBuffer2[0x800]; + u16 bgTilemapBuffer3[0x800]; + u16 bgTilemapBuffer4[0x800]; + u8 mode; + bool8 isBoxMon; + u8 curMonIndex; + u8 maxMonIndex; u8 unk40C0; u8 unk40C1; u8 unk40C2; - u8 unk40C3; - u16 unk40C4; - u8 unk40C6; - u8 unk40C7; - u8 unk40C8; + bool8 unk40C3; + u16 newMove; + u8 firstMoveIndex; + u8 secondMoveIndex; + bool8 unk40C8; u8 unk40C9; - u8 unk40CA; - u8 unk40CB[8]; - u8 unk40D3[0x1C]; - u8 unk40EF; + u8 filler40CA; + u8 windowIds[8]; + u8 spriteIds[28]; + bool8 unk40EF; s16 unk40F0; u8 unk_filler4[6]; +} *gUnknown_0203CF1C = NULL; +EWRAM_DATA u8 gUnknown_0203CF20 = 0; +static EWRAM_DATA u8 gUnknown_0203CF21 = 0; +static EWRAM_DATA u8 gFiller_0203CF22[2] = {0}; +static EWRAM_DATA u8 sUnusedTaskId = 0; +static EWRAM_DATA u8 gFiller_0203CF25[3] = {0}; + +extern const struct CompressedSpriteSheet gMonFrontPicTable[]; + +struct UnkStruct_61CC04 +{ + const u16 *ptr; + u16 field_4; + u8 field_6; + u8 field_7; + u8 field_8; + u8 field_9; }; +// forward declarations +bool8 sub_81B1250(void); +bool8 sub_81BFB10(void); +void sub_81BFAE4(void); +void sub_81BFE24(void); +u8 sub_81BFEB0(void); +void sub_81C0098(struct Pokemon* a); +bool8 sub_81C00F0(struct Pokemon* a); +void sub_81C0348(void); +void sub_81C0484(u8 taskId); +void sub_81C0510(u8 taskId); +void sub_81C0604(u8 taskId, s8 a); +void sub_81C0704(u8 taskId); +s8 sub_81C08F8(s8 a); +s8 sub_81C09B4(s8 a); +bool8 sub_81C0A50(struct Pokemon* mon); +void sub_81C0A8C(u8 taskId, s8 a); +void sub_81C0B8C(u8 taskId); +void sub_81C0C68(u8 taskId); +void sub_81C0CC4(u8 taskId); +void sub_81C0D44(u8 taskId); +void sub_81C0E24(void); +void sub_81C0E48(u8 taskId); +void sub_81C0F44(u8 taskId); +bool8 sub_81C1040(void); +void sub_81C1070(s16* a, s8 b, u8* c); +void sub_81C11F4(u8 a); +void sub_81C129C(u8 a); +void sub_81C12E4(u8 taskId); +void sub_81C13B0(u8 a, u8 b); +void sub_81C14BC(struct Pokemon *mon, u8 a, u8 b); +void sub_81C15EC(struct BoxPokemon *mon, u8 a, u8 b); +void sub_81C171C(u8 taskId); +void sub_81C174C(u8 taskId); +bool8 sub_81C18A8(void); +void sub_81C18F4(u8 a); +void sub_81C1940(u8 taskId); +void sub_81C1BA0(void); +void sub_81C1DA4(u16 a, s16 b); +void sub_81C1E20(u8 taskId); +void sub_81C1EFC(u16 a, s16 b, u16 c); +void sub_81C1F80(u8 taskId); +void sub_81C2074(u16 a, s16 b); +void sub_81C20F0(u8 taskId); +void sub_81C2194(u16 *a, u16 b, u8 c); +void sub_81C2228(struct Pokemon* mon); +void sub_81C22CC(struct Pokemon* mon); +void sub_81C240C(u16 a); +void sub_81C2524(void); +void sub_81C2554(void); +void sub_81C25E8(void); +void sub_81C2628(void); +void sub_81C2794(void); +void sub_81C27DC(struct Pokemon *mon, u16 a); +void sub_81C286C(void); +void sub_81C2AFC(u8 a); +void sub_81C2C38(u8 a); +void sub_81C2D68(u8 a); +void sub_81C2D9C(u8 a); +void sub_81C2DE4(u8 a); +void sub_81C2E00(void); +void sub_81C2E40(u8 taskId); +void sub_81C2EC4(void); +void sub_81C2F5C(void); +void sub_81C2FD8(void); +void sub_81C302C(void); +void sub_81C307C(void); +void sub_81C3194(void); +void sub_81C31C0(void); +void sub_81C31F0(u8 *a); +u8 sub_81C3220(void); +bool8 sub_81C32BC(void); +bool8 sub_81C3304(void); +void sub_81C335C(void); +void sub_81C33CC(void); +void sub_81C3428(void); +void sub_81C349C(void); +void sub_81C3554(u8 taskId); +void sub_81C35E4(void); +void sub_81C3530(void); +void sub_81C3690(void); +void sub_81C3710(void); +void sub_81C37D8(void); +void sub_81C3808(void); +void sub_81C3890(void); +void sub_81C38C0(void); +void sub_81C3984(void); +void sub_81C39F0(u8 taskId); +void sub_81C3B08(u8 a); +void sub_81C3D08(void); +void sub_81C3D54(u8 taskId); +void sub_81C3E2C(u8 a); +void sub_81C3E9C(u16 a); +void sub_81C3F44(void); +void sub_81C4064(void); +void sub_81C40A0(u8 a, u8 b); +void sub_81C4154(void); +void sub_81C4190(void); +void sub_81C4204(u8 a, u8 b); +void sub_81C424C(void); +void sub_81C4280(void); +void sub_81C42C8(void); +void sub_81C43A0(void); +void sub_81C4420(void); +void sub_81C4484(void); +void sub_81C44F0(void); +void sub_81C4568(u8 a, u8 b); +u8 sub_81C45F4(struct Pokemon *a, s16 *b); +u8 sub_81C47B4(struct Pokemon *unused); +void sub_81C4844(struct Sprite *); +void sub_81C488C(u8 a); +void sub_81C4898(void); +void sub_81C48F0(void); +void sub_81C4984(struct Pokemon *mon); +void sub_81C49E0(struct Pokemon *mon); +void sub_81C4A08(struct Pokemon *mon); +void sub_81C4A88(void); +void sub_81C4AF8(u8 a); +void sub_81C4BE4(struct Sprite *sprite); +void sub_81C4C60(u8 a); +void sub_81C4C84(u8 a); +void sub_81C4D18(u8 a); + // const rom data #include "data/text/move_descriptions.h" +#include "data/text/nature_names.h" + +static const struct BgTemplate gUnknown_0861CBB4[] = +{ + { + .bg = 0, + .charBaseIndex = 0, + .mapBaseIndex = 31, + .screenSize = 0, + .paletteMode = 0, + .priority = 0, + .baseTile = 0, + }, + { + .bg = 1, + .charBaseIndex = 2, + .mapBaseIndex = 27, + .screenSize = 1, + .paletteMode = 0, + .priority = 1, + .baseTile = 0, + }, + { + .bg = 2, + .charBaseIndex = 2, + .mapBaseIndex = 25, + .screenSize = 1, + .paletteMode = 0, + .priority = 2, + .baseTile = 0, + }, + { + .bg = 3, + .charBaseIndex = 2, + .mapBaseIndex = 29, + .screenSize = 1, + .paletteMode = 0, + .priority = 3, + .baseTile = 0, + }, +}; + +static const u16 gUnknown_0861CBC4[] = INCBIN_U16("graphics/interface/unk_tilemap2.bin"); +static const struct UnkStruct_61CC04 gUnknown_0861CBEC = +{ + gUnknown_0861CBC4, 1, 10, 2, 0, 18 +}; +static const struct UnkStruct_61CC04 gUnknown_0861CBF8 = +{ + gUnknown_0861CBC4, 1, 10, 2, 0, 50 +}; +static const struct UnkStruct_61CC04 gUnknown_0861CC04 = +{ + gSummaryScreenPowAcc_Tilemap, 0, 10, 7, 0, 45 +}; +static const struct UnkStruct_61CC04 gUnknown_0861CC10 = +{ + gUnknown_08DC3C34, 0, 10, 7, 0, 45 +}; +static const s8 gUnknown_0861CC1C[] = {0, 2, 3, 1, 4, 5}; +static const struct WindowTemplate gUnknown_0861CC24[] = +{ + { 0x00, 0x00, 0x00, 0x0b, 0x02, 0x06, 0x0001 }, + { 0x00, 0x00, 0x00, 0x0b, 0x02, 0x06, 0x0017 }, + { 0x00, 0x00, 0x00, 0x0b, 0x02, 0x06, 0x002d }, + { 0x00, 0x00, 0x00, 0x0b, 0x02, 0x06, 0x0043 }, + { 0x00, 0x16, 0x00, 0x08, 0x02, 0x07, 0x0059 }, + { 0x00, 0x16, 0x00, 0x08, 0x02, 0x07, 0x0069 }, + { 0x00, 0x16, 0x00, 0x08, 0x02, 0x07, 0x0079 }, + { 0x00, 0x0b, 0x04, 0x00, 0x02, 0x06, 0x0089 }, + { 0x00, 0x0b, 0x04, 0x12, 0x02, 0x06, 0x0089 }, + { 0x00, 0x0b, 0x06, 0x12, 0x02, 0x06, 0x00ad }, + { 0x00, 0x0a, 0x07, 0x06, 0x06, 0x06, 0x00d1 }, + { 0x00, 0x16, 0x07, 0x05, 0x06, 0x06, 0x00f5 }, + { 0x00, 0x0a, 0x0e, 0x0b, 0x04, 0x06, 0x0113 }, + { 0x00, 0x00, 0x12, 0x06, 0x02, 0x06, 0x013f }, + { 0x00, 0x01, 0x0f, 0x09, 0x04, 0x06, 0x014b }, + { 0x00, 0x01, 0x0f, 0x05, 0x04, 0x06, 0x016f }, + { 0x00, 0x16, 0x04, 0x00, 0x02, 0x06, 0x0183 }, + { 0x00, 0x01, 0x02, 0x04, 0x02, 0x07, 0x0183 }, + { 0x00, 0x01, 0x0c, 0x09, 0x02, 0x06, 0x018b }, + { 0x00, 0x01, 0x0e, 0x09, 0x04, 0x06, 0x019d }, + DUMMY_WIN_TEMPLATE +}; +static const struct WindowTemplate gUnknown_0861CCCC[] = +{ + { 0x00, 0x0b, 0x04, 0x0b, 0x02, 0x06, 0x01c1 }, + { 0x00, 0x16, 0x04, 0x07, 0x02, 0x06, 0x01d7 }, + { 0x00, 0x0b, 0x09, 0x12, 0x04, 0x06, 0x01e5 }, + { 0x00, 0x0b, 0x0e, 0x12, 0x06, 0x06, 0x022d }, +}; +static const struct WindowTemplate gUnknown_0861CCEC[] = +{ + { 0x00, 0x0a, 0x04, 0x0a, 0x02, 0x06, 0x01c1 }, + { 0x00, 0x14, 0x04, 0x0a, 0x02, 0x06, 0x01d5 }, + { 0x00, 0x10, 0x07, 0x06, 0x06, 0x06, 0x01e9 }, + { 0x00, 0x1b, 0x07, 0x03, 0x06, 0x06, 0x020d }, + { 0x00, 0x18, 0x0e, 0x06, 0x04, 0x06, 0x021f }, +}; +static const struct WindowTemplate gUnknown_0861CD14[] = +{ + { 0x00, 0x0f, 0x04, 0x09, 0x0a, 0x06, 0x01c1 }, + { 0x00, 0x18, 0x04, 0x06, 0x0a, 0x08, 0x021b }, + { 0x00, 0x0a, 0x0f, 0x14, 0x04, 0x06, 0x0257 }, +}; +static const u8 sTextColors_861CD2C[][3] = +{ + {0, 1, 2}, + {0, 3, 4}, + {0, 5, 6}, + {0, 7, 8}, + {0, 9, 10}, + {0, 11, 12}, + {0, 13, 14}, + {0, 7, 8}, + {13, 15, 14}, + {0, 1, 2}, + {0, 3, 4}, + {0, 5, 6}, + {0, 7, 8} +}; +static const u8 gUnknown_0861CD53[] = INCBIN_U8("graphics/interface/summary_a_button.4bpp"); +static const u8 gUnknown_0861CDD3[] = INCBIN_U8("graphics/interface/summary_b_button.4bpp"); +static void (*const gUnknown_0861CE54[])(void) = +{ + sub_81C2E00, + sub_81C3530, + sub_81C3984, + sub_81C3D08 +}; +static void (*const gUnknown_0861CE64[])(u8 taskId) = +{ + sub_81C2E40, + sub_81C3554, + sub_81C39F0, + sub_81C3D54 +}; +static const u8 gUnknown_0861CE74[] = _("{COLOR LIGHT_RED}{SHADOW GREEN}"); +static const u8 gUnknown_0861CE7B[] = _("{COLOR WHITE}{SHADOW DARK_GREY}"); +static const u8 gUnknown_0861CE82[] = _("{SPECIAL_F7 0x00}/{SPECIAL_F7 0x01}\n{SPECIAL_F7 0x02}\n{SPECIAL_F7 0x03}"); +static const u8 gUnknown_0861CE8E[] = _("{SPECIAL_F7 0x00}\n{SPECIAL_F7 0x01}\n{SPECIAL_F7 0x02}"); +static const u8 gUnknown_0861CE97[] = _("{PP}{SPECIAL_F7 0x00}/{SPECIAL_F7 0x01}"); +static const struct OamData gOamData_861CEA0 = +{ + .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 union AnimCmd gSpriteAnim_861CEA8[] = { + ANIMCMD_FRAME(0, 0, FALSE, FALSE), + ANIMCMD_END +}; +static const union AnimCmd gSpriteAnim_861CEB0[] = { + ANIMCMD_FRAME(8, 0, FALSE, FALSE), + ANIMCMD_END +}; +static const union AnimCmd gSpriteAnim_861CEB8[] = { + ANIMCMD_FRAME(16, 0, FALSE, FALSE), + ANIMCMD_END +}; +static const union AnimCmd gSpriteAnim_861CEC0[] = { + ANIMCMD_FRAME(24, 0, FALSE, FALSE), + ANIMCMD_END +}; +static const union AnimCmd gSpriteAnim_861CEC8[] = { + ANIMCMD_FRAME(32, 0, FALSE, FALSE), + ANIMCMD_END +}; +static const union AnimCmd gSpriteAnim_861CED0[] = { + ANIMCMD_FRAME(40, 0, FALSE, FALSE), + ANIMCMD_END +}; +static const union AnimCmd gSpriteAnim_861CED8[] = { + ANIMCMD_FRAME(48, 0, FALSE, FALSE), + ANIMCMD_END +}; +static const union AnimCmd gSpriteAnim_861CEE0[] = { + ANIMCMD_FRAME(56, 0, FALSE, FALSE), + ANIMCMD_END +}; +static const union AnimCmd gSpriteAnim_861CEE8[] = { + ANIMCMD_FRAME(64, 0, FALSE, FALSE), + ANIMCMD_END +}; +static const union AnimCmd gSpriteAnim_861CEF0[] = { + ANIMCMD_FRAME(72, 0, FALSE, FALSE), + ANIMCMD_END +}; +static const union AnimCmd gSpriteAnim_861CEF8[] = { + ANIMCMD_FRAME(80, 0, FALSE, FALSE), + ANIMCMD_END +}; +static const union AnimCmd gSpriteAnim_861CF00[] = { + ANIMCMD_FRAME(88, 0, FALSE, FALSE), + ANIMCMD_END +}; +static const union AnimCmd gSpriteAnim_861CF08[] = { + ANIMCMD_FRAME(96, 0, FALSE, FALSE), + ANIMCMD_END +}; +static const union AnimCmd gSpriteAnim_861CF10[] = { + ANIMCMD_FRAME(104, 0, FALSE, FALSE), + ANIMCMD_END +}; +static const union AnimCmd gSpriteAnim_861CF18[] = { + ANIMCMD_FRAME(112, 0, FALSE, FALSE), + ANIMCMD_END +}; +static const union AnimCmd gSpriteAnim_861CF20[] = { + ANIMCMD_FRAME(120, 0, FALSE, FALSE), + ANIMCMD_END +}; +static const union AnimCmd gSpriteAnim_861CF28[] = { + ANIMCMD_FRAME(128, 0, FALSE, FALSE), + ANIMCMD_END +}; +static const union AnimCmd gSpriteAnim_861CF30[] = { + ANIMCMD_FRAME(136, 0, FALSE, FALSE), + ANIMCMD_END +}; +static const union AnimCmd gSpriteAnim_861CF38[] = { + ANIMCMD_FRAME(144, 0, FALSE, FALSE), + ANIMCMD_END +}; +static const union AnimCmd gSpriteAnim_861CF40[] = { + ANIMCMD_FRAME(152, 0, FALSE, FALSE), + ANIMCMD_END +}; +static const union AnimCmd gSpriteAnim_861CF48[] = { + ANIMCMD_FRAME(160, 0, FALSE, FALSE), + ANIMCMD_END +}; +static const union AnimCmd gSpriteAnim_861CF50[] = { + ANIMCMD_FRAME(168, 0, FALSE, FALSE), + ANIMCMD_END +}; +static const union AnimCmd gSpriteAnim_861CF58[] = { + ANIMCMD_FRAME(176, 0, FALSE, FALSE), + ANIMCMD_END +}; +static const union AnimCmd *const gSpriteAnimTable_861CF60[] = { + gSpriteAnim_861CEA8, + gSpriteAnim_861CEB0, + gSpriteAnim_861CEB8, + gSpriteAnim_861CEC0, + gSpriteAnim_861CEC8, + gSpriteAnim_861CED0, + gSpriteAnim_861CED8, + gSpriteAnim_861CEE0, + gSpriteAnim_861CEE8, + gSpriteAnim_861CEF0, + gSpriteAnim_861CEF8, + gSpriteAnim_861CF00, + gSpriteAnim_861CF08, + gSpriteAnim_861CF10, + gSpriteAnim_861CF18, + gSpriteAnim_861CF20, + gSpriteAnim_861CF28, + gSpriteAnim_861CF30, + gSpriteAnim_861CF38, + gSpriteAnim_861CF40, + gSpriteAnim_861CF48, + gSpriteAnim_861CF50, + gSpriteAnim_861CF58, +}; +static const struct CompressedSpriteSheet gUnknown_0861CFBC = +{ + .data = gMoveTypes_Gfx, + .size = 0x1700, + .tag = 30002 +}; +static const struct SpriteTemplate gUnknown_0861CFC4 = +{ + .tileTag = 30002, + .paletteTag = 30002, + .oam = &gOamData_861CEA0, + .anims = gSpriteAnimTable_861CF60, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy +}; +static const u8 gUnknown_0861CFDC[] = {13, 13, 14, 14, 13, 13, 15, 14, 13, 15, 13, 14, 15, 13, 14, 14, 15, 13, 13, 14, 14, 15, 13}; +static const struct OamData gOamData_861CFF4 = +{ + .y = 0, + .affineMode = 0, + .objMode = 0, + .mosaic = 0, + .bpp = 0, + .shape = 0, + .x = 0, + .matrixNum = 0, + .size = 1, + .tileNum = 0, + .priority = 1, + .paletteNum = 0, + .affineParam = 0, +}; +static const union AnimCmd gSpriteAnim_861CFFC[] = { + ANIMCMD_FRAME(0, 0, FALSE, FALSE), + ANIMCMD_END +}; +static const union AnimCmd gSpriteAnim_861D004[] = { + ANIMCMD_FRAME(4, 0, FALSE, FALSE), + ANIMCMD_END +}; +static const union AnimCmd gSpriteAnim_861D00C[] = { + ANIMCMD_FRAME(8, 0, FALSE, FALSE), + ANIMCMD_END +}; +static const union AnimCmd gSpriteAnim_861D014[] = { + ANIMCMD_FRAME(12, 0, FALSE, FALSE), + ANIMCMD_END +}; +static const union AnimCmd gSpriteAnim_861D01C[] = { + ANIMCMD_FRAME(16, 0, FALSE, FALSE), + ANIMCMD_END +}; +static const union AnimCmd gSpriteAnim_861D024[] = { + ANIMCMD_FRAME(16, 0, TRUE, FALSE), + ANIMCMD_END +}; +static const union AnimCmd gSpriteAnim_861D02C[] = { + ANIMCMD_FRAME(20, 0, FALSE, FALSE), + ANIMCMD_END +}; +static const union AnimCmd gSpriteAnim_861D034[] = { + ANIMCMD_FRAME(24, 0, FALSE, FALSE), + ANIMCMD_END +}; +static const union AnimCmd gSpriteAnim_861D03C[] = { + ANIMCMD_FRAME(24, 0, TRUE, FALSE), + ANIMCMD_END +}; +static const union AnimCmd gSpriteAnim_861D044[] = { + ANIMCMD_FRAME(28, 0, FALSE, FALSE), + ANIMCMD_END +}; +static const union AnimCmd *const gSpriteAnimTable_861D04C[] = { + gSpriteAnim_861CFFC, + gSpriteAnim_861D004, + gSpriteAnim_861D00C, + gSpriteAnim_861D014, + gSpriteAnim_861D01C, + gSpriteAnim_861D024, + gSpriteAnim_861D02C, + gSpriteAnim_861D034, + gSpriteAnim_861D03C, + gSpriteAnim_861D044, +}; +static const struct CompressedSpriteSheet gUnknown_0861D074 = +{ + .data = gUnknown_08D97BEC, + .size = 0x400, + .tag = 30000 +}; +static const struct CompressedSpritePalette gUnknown_0861D07C = +{ + .data = gUnknown_08D97CF4, + .tag = 30000 +}; +static const struct SpriteTemplate gUnknown_0861D084 = +{ + .tileTag = 30000, + .paletteTag = 30000, + .oam = &gOamData_861CFF4, + .anims = gSpriteAnimTable_861D04C, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy +}; + const struct OamData gOamData_861D09C = +{ + .y = 0, + .affineMode = 0, + .objMode = 0, + .mosaic = 0, + .bpp = 0, + .shape = 1, + .x = 0, + .matrixNum = 0, + .size = 1, + .tileNum = 0, + .priority = 3, + .paletteNum = 0, + .affineParam = 0, +}; +static const union AnimCmd gSpriteAnim_861D0A4[] = { + ANIMCMD_FRAME(0, 0, FALSE, FALSE), + ANIMCMD_END +}; +static const union AnimCmd gSpriteAnim_861D0AC[] = { + ANIMCMD_FRAME(4, 0, FALSE, FALSE), + ANIMCMD_END +}; +static const union AnimCmd gSpriteAnim_861D0B4[] = { + ANIMCMD_FRAME(8, 0, FALSE, FALSE), + ANIMCMD_END +}; +static const union AnimCmd gSpriteAnim_861D0BC[] = { + ANIMCMD_FRAME(12, 0, FALSE, FALSE), + ANIMCMD_END +}; +static const union AnimCmd gSpriteAnim_861D0C4[] = { + ANIMCMD_FRAME(16, 0, FALSE, FALSE), + ANIMCMD_END +}; +static const union AnimCmd gSpriteAnim_861D0CC[] = { + ANIMCMD_FRAME(20, 0, FALSE, FALSE), + ANIMCMD_END +}; +static const union AnimCmd gSpriteAnim_861D0D4[] = { + ANIMCMD_FRAME(24, 0, FALSE, FALSE), + ANIMCMD_END +}; + const union AnimCmd *const gSpriteAnimTable_861D0DC[] = { + gSpriteAnim_861D0A4, + gSpriteAnim_861D0AC, + gSpriteAnim_861D0B4, + gSpriteAnim_861D0BC, + gSpriteAnim_861D0C4, + gSpriteAnim_861D0CC, + gSpriteAnim_861D0D4, +}; +static const struct CompressedSpriteSheet gUnknown_0861D0F8 = +{ + .data = gStatusGfx_Icons, + .size = 0x380, + .tag = 30001 +}; +static const struct CompressedSpritePalette gUnknown_0861D100 = +{ + .data = gStatusPal_Icons, + .tag = 30001 +}; +static const struct SpriteTemplate gUnknown_0861D108 = +{ + .tileTag = 30001, + .paletteTag = 30001, + .oam = &gOamData_861D09C, + .anims = gSpriteAnimTable_861D0DC, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy +}; +static const u16 gUnknown_0861D120[] = INCBIN_U16("graphics/interface/summary_markings.gbapal"); // code -void sub_81BF8EC(u8 a, void *b, u8 c, u8 d, void *e) +void sub_81BF8EC(u8 mode, void *mons, u8 monIndex, u8 maxMonIndex, void (*callback)(void)) { - u8 byte; - gUnknown_0203CF1C = AllocZeroed(sizeof(struct UnkSummaryStruct)); - gUnknown_0203CF1C->unk40BC = a; - gUnknown_0203CF1C->unk0 = b; - gUnknown_0203CF1C->unk40BE = c; - gUnknown_0203CF1C->unk40BF = d; - gUnknown_0203CF1C->unk4 = e; - if (a == 2) - gUnknown_0203CF1C->unk40BD = 1; + gUnknown_0203CF1C = AllocZeroed(sizeof(*gUnknown_0203CF1C)); + gUnknown_0203CF1C->mode = mode; + gUnknown_0203CF1C->monList.mons = mons; + gUnknown_0203CF1C->curMonIndex = monIndex; + gUnknown_0203CF1C->maxMonIndex = maxMonIndex; + gUnknown_0203CF1C->callback = callback; + + if (mode == 2) + gUnknown_0203CF1C->isBoxMon = TRUE; else - gUnknown_0203CF1C->unk40BD = 0; - switch (a) + gUnknown_0203CF1C->isBoxMon = FALSE; + + switch (mode) { case 0: case 2: @@ -368,32 +735,34 @@ void sub_81BF8EC(u8 a, void *b, u8 c, u8 d, void *e) case 1: gUnknown_0203CF1C->unk40C1 = 0; gUnknown_0203CF1C->unk40C2 = 3; - gUnknown_0203CF1C->unk40C8 = 1; + gUnknown_0203CF1C->unk40C8 = TRUE; break; case 3: gUnknown_0203CF1C->unk40C1 = 2; gUnknown_0203CF1C->unk40C2 = 3; - gUnknown_0203CF1C->unk40C3 = 1; + gUnknown_0203CF1C->unk40C3 = TRUE; break; } - byte = gUnknown_0203CF1C->unk40C1; - gUnknown_0203CF1C->unk40C0 = byte; - sub_81C488C(0xFF); + + gUnknown_0203CF1C->unk40C0 = gUnknown_0203CF1C->unk40C1; + sub_81C488C(-1); + if (gMonSpritesGfxPtr == 0) sub_806F2AC(0, 0); + SetMainCallback2(sub_81BFAE4); } -void ShowSelectMovePokemonSummaryScreen(void *a, u8 b, u8 c, void *d, u16 e) +void ShowSelectMovePokemonSummaryScreen(struct Pokemon *mons, u8 monIndex, u8 maxMonIndex, void (*callback)(void), u16 newMove) { - sub_81BF8EC(3, a, b, c, d); - gUnknown_0203CF1C->unk40C4 = e; + sub_81BF8EC(3, mons, monIndex, maxMonIndex, callback); + gUnknown_0203CF1C->newMove = newMove; } -void sub_81BFA80(u8 a, void *b, u8 c, u8 d, void *e) +void sub_81BFA80(u8 a, struct BoxPokemon *mons, u8 monIndex, u8 maxMonIndex, void (*callback)(void)) { - sub_81BF8EC(a, b, c, d, e); - gUnknown_0203CF1C->unk40EF = 1; + sub_81BF8EC(a, mons, monIndex, maxMonIndex, callback); + gUnknown_0203CF1C->unk40EF = TRUE; } void sub_81BFAB4(void) @@ -412,13 +781,9 @@ void sub_81BFAD0(void) TransferPlttBuffer(); } -void sub_81BFAE4() +void sub_81BFAE4(void) { - while (1) - { - if (sub_81221EC() == 1 || sub_81BFB10() == TRUE || sub_81221AC() == 1) - break; - } + while (sub_81221EC() != TRUE && sub_81BFB10() != TRUE && sub_81221AC() != TRUE); } bool8 sub_81BFB10(void) @@ -454,7 +819,7 @@ bool8 sub_81BFB10(void) gMain.state++; break; case 6: - if (sub_81BFEB0() != 0) + if (sub_81BFEB0() != FALSE) gMain.state++; break; case 7: @@ -501,8 +866,8 @@ bool8 sub_81BFB10(void) gMain.state++; break; case 17: - gUnknown_0203CF1C->unk40D3[0] = sub_81C45F4(&gUnknown_0203CF1C->currentMon, &gUnknown_0203CF1C->unk40F0); - if (gUnknown_0203CF1C->unk40D3[0] != 0xFF) + gUnknown_0203CF1C->spriteIds[0] = sub_81C45F4(&gUnknown_0203CF1C->currentMon, &gUnknown_0203CF1C->unk40F0); + if (gUnknown_0203CF1C->spriteIds[0] != 0xFF) { gUnknown_0203CF1C->unk40F0 = 0; gMain.state++; @@ -525,7 +890,7 @@ bool8 sub_81BFB10(void) gMain.state++; break; case 22: - if (gUnknown_0203CF1C->unk40BC != 3) + if (gUnknown_0203CF1C->mode != 3) CreateTask(sub_81C0510, 0); else CreateTask(sub_81C171C, 0); @@ -548,13 +913,13 @@ bool8 sub_81BFB10(void) return FALSE; } -void sub_81BFE24() +void sub_81BFE24(void) { ResetBgsAndClearDma3BusyFlags(0); - InitBgsFromTemplates(0, &gUnknown_0861CBB4, 4); - SetBgTilemapBuffer(1, &gUnknown_0203CF1C->unkTilemap2); - SetBgTilemapBuffer(2, &gUnknown_0203CF1C->unkTilemap1); - SetBgTilemapBuffer(3, &gUnknown_0203CF1C->unkTilemap0); + InitBgsFromTemplates(0, gUnknown_0861CBB4, ARRAY_COUNT(gUnknown_0861CBB4)); + SetBgTilemapBuffer(1, &gUnknown_0203CF1C->bgTilemapBuffer3); + SetBgTilemapBuffer(2, &gUnknown_0203CF1C->bgTilemapBuffer2); + SetBgTilemapBuffer(3, &gUnknown_0203CF1C->bgTilemapBuffer1); ResetAllBgsCoordinates(); schedule_bg_copy_tilemap_to_vram(1); schedule_bg_copy_tilemap_to_vram(2); @@ -567,7 +932,7 @@ void sub_81BFE24() ShowBg(3); } -u8 sub_81BFEB0() +bool8 sub_81BFEB0(void) { switch (gUnknown_0203CF1C->unk40F0) { @@ -579,24 +944,24 @@ u8 sub_81BFEB0() case 1: if (free_temp_tile_data_buffers_if_possible() != 1) { - LZDecompressWram(&gUnknown_08D9862C, gUnknown_0203CF1C->unkTilemap0); + LZDecompressWram(&gUnknown_08D9862C, &gUnknown_0203CF1C->bgTilemapBuffer1[0]); gUnknown_0203CF1C->unk40F0++; } break; case 2: - LZDecompressWram(&gUnknown_08D98CC8, gUnknown_0203CF1C->unkTilemap0_1); + LZDecompressWram(&gUnknown_08D98CC8, &gUnknown_0203CF1C->bgTilemapBuffer1[0x400]); gUnknown_0203CF1C->unk40F0++; break; case 3: - LZDecompressWram(&gUnknown_08D987FC, gUnknown_0203CF1C->unkTilemap1_1); + LZDecompressWram(&gUnknown_08D987FC, &gUnknown_0203CF1C->bgTilemapBuffer2[0x400]); gUnknown_0203CF1C->unk40F0++; break; case 4: - LZDecompressWram(&gUnknown_08D9898C, gUnknown_0203CF1C->unkTilemap2_1); + LZDecompressWram(&gUnknown_08D9898C, &gUnknown_0203CF1C->bgTilemapBuffer3[0x400]); gUnknown_0203CF1C->unk40F0++; break; case 5: - LZDecompressWram(&gUnknown_08D98B28, gUnknown_0203CF1C->unkTilemap3_1); + LZDecompressWram(&gUnknown_08D98B28, &gUnknown_0203CF1C->bgTilemapBuffer4[0x400]); gUnknown_0203CF1C->unk40F0++; break; case 6: @@ -627,22 +992,22 @@ u8 sub_81BFEB0() case 12: LoadCompressedPalette(&gMoveTypes_Pal, 0x1D0, 0x60); gUnknown_0203CF1C->unk40F0 = 0; - return 1; + return TRUE; } - return 0; + return FALSE; } void sub_81C0098(struct Pokemon *mon) { - if (gUnknown_0203CF1C->unk40BD == 0) + if (!gUnknown_0203CF1C->isBoxMon) { - struct Pokemon *partyMon = gUnknown_0203CF1C->unk0->mon; - *mon = partyMon[gUnknown_0203CF1C->unk40BE]; + struct Pokemon *partyMon = gUnknown_0203CF1C->monList.mons; + *mon = partyMon[gUnknown_0203CF1C->curMonIndex]; } else { - struct BoxPokemon *boxMon = gUnknown_0203CF1C->unk0->boxMon; - BoxMonToMon(&boxMon[gUnknown_0203CF1C->unk40BE], mon); + struct BoxPokemon *boxMon = gUnknown_0203CF1C->monList.boxMons; + BoxMonToMon(&boxMon[gUnknown_0203CF1C->curMonIndex], mon); } } @@ -675,7 +1040,7 @@ bool8 sub_81C00F0(struct Pokemon *a) sum->ppBonuses = GetMonData(a, MON_DATA_PP_BONUSES); break; case 2: - if ((struct Pokemon*)gUnknown_0203CF1C->unk0 == gPlayerParty || gUnknown_0203CF1C->unk40BC == 2 || gUnknown_0203CF1C->unk40EF == 1) + if (gUnknown_0203CF1C->monList.mons == gPlayerParty || gUnknown_0203CF1C->mode == 2 || gUnknown_0203CF1C->unk40EF == TRUE) { sum->nature = GetNature(a); sum->currentHP = GetMonData(a, MON_DATA_HP); @@ -726,14 +1091,14 @@ void sub_81C0348(void) } else { - sub_81C240C(gUnknown_0203CF1C->summary.moves[gUnknown_0203CF1C->unk40C6]); - sub_81C2194(&gUnknown_0203CF1C->unkTilemap2[0], 3, 0); - sub_81C2194(&gUnknown_0203CF1C->unkTilemap3[0], 1, 0); - SetBgTilemapBuffer(1, &gUnknown_0203CF1C->unkTilemap3); - SetBgTilemapBuffer(2, &gUnknown_0203CF1C->unkTilemap2); + sub_81C240C(gUnknown_0203CF1C->summary.moves[gUnknown_0203CF1C->firstMoveIndex]); + sub_81C2194(&gUnknown_0203CF1C->bgTilemapBuffer3[0], 3, 0); + sub_81C2194(&gUnknown_0203CF1C->bgTilemapBuffer4[0], 1, 0); + SetBgTilemapBuffer(1, &gUnknown_0203CF1C->bgTilemapBuffer4); + SetBgTilemapBuffer(2, &gUnknown_0203CF1C->bgTilemapBuffer3); ChangeBgX(2, 0x10000, 1); - ClearWindowTilemap(0x13); - ClearWindowTilemap(0xD); + ClearWindowTilemap(19); + ClearWindowTilemap(13); } if (gUnknown_0203CF1C->summary.unk7 == 0) { @@ -742,13 +1107,13 @@ void sub_81C0348(void) else { if (gUnknown_0203CF1C->unk40C0 != 2 && gUnknown_0203CF1C->unk40C0 != 3) - PutWindowTilemap(0xD); + PutWindowTilemap(13); } sub_81C2524(); sub_81C2228(&gUnknown_0203CF1C->currentMon); } -void sub_81C0434() +void sub_81C0434(void) { FreeAllWindowBuffers(); Free(gUnknown_0203CF1C); @@ -764,8 +1129,8 @@ void sub_81C0484(u8 taskId) { if (sub_81221EC() != 1 && !gPaletteFade.active) { - SetMainCallback2(gUnknown_0203CF1C->unk4); - gUnknown_0203CF20 = gUnknown_0203CF1C->unk40BE; + SetMainCallback2(gUnknown_0203CF1C->callback); + gUnknown_0203CF20 = gUnknown_0203CF1C->curMonIndex; sub_81C4898(); ResetSpriteData(); FreeAllSpritePalettes(); @@ -828,9 +1193,9 @@ void sub_81C0604(u8 taskId, s8 a) { s8 r4_2; - if (gUnknown_0203CF1C->unk40C3 == 0) + if (!gUnknown_0203CF1C->unk40C3) { - if (gUnknown_0203CF1C->unk40BD == 1) + if (gUnknown_0203CF1C->isBoxMon == TRUE) { if (gUnknown_0203CF1C->unk40C0 != 0) { @@ -846,7 +1211,7 @@ void sub_81C0604(u8 taskId, s8 a) else a = 3; } - r4_2 = sub_80D214C(gUnknown_0203CF1C->unk0, gUnknown_0203CF1C->unk40BE, gUnknown_0203CF1C->unk40BF, a); + r4_2 = sub_80D214C(gUnknown_0203CF1C->monList.boxMons, gUnknown_0203CF1C->curMonIndex, gUnknown_0203CF1C->maxMonIndex, a); } else if (sub_81B1250() == 1) { @@ -867,7 +1232,7 @@ void sub_81C0604(u8 taskId, s8 a) schedule_bg_copy_tilemap_to_vram(0); sub_81C2074(0, 2); } - gUnknown_0203CF1C->unk40BE = r4_2; + gUnknown_0203CF1C->curMonIndex = r4_2; gTasks[taskId].data[0] = 0; gTasks[taskId].func = sub_81C0704; } @@ -885,10 +1250,10 @@ void sub_81C0704(u8 taskId) break; case 1: sub_81C4898(); - DestroySpriteAndFreeResources(&gSprites[gUnknown_0203CF1C->unk40D3[0]]); + DestroySpriteAndFreeResources(&gSprites[gUnknown_0203CF1C->spriteIds[0]]); break; case 2: - DestroySpriteAndFreeResources(&gSprites[gUnknown_0203CF1C->unk40D3[1]]); + DestroySpriteAndFreeResources(&gSprites[gUnknown_0203CF1C->spriteIds[1]]); break; case 3: sub_81C0098(&gUnknown_0203CF1C->currentMon); @@ -911,10 +1276,10 @@ void sub_81C0704(u8 taskId) data[1] = 0; break; case 8: - gUnknown_0203CF1C->unk40D3[0] = sub_81C45F4(&gUnknown_0203CF1C->currentMon, &data[1]); - if (gUnknown_0203CF1C->unk40D3[0] == 0xFF) + gUnknown_0203CF1C->spriteIds[0] = sub_81C45F4(&gUnknown_0203CF1C->currentMon, &data[1]); + if (gUnknown_0203CF1C->spriteIds[0] == 0xFF) return; - gSprites[gUnknown_0203CF1C->unk40D3[0]].data[2] = 1; + gSprites[gUnknown_0203CF1C->spriteIds[0]].data[2] = 1; sub_81C0E24(); data[1] = 0; break; @@ -929,7 +1294,7 @@ void sub_81C0704(u8 taskId) sub_81C2524(); break; case 12: - gSprites[gUnknown_0203CF1C->unk40D3[0]].data[2] = 0; + gSprites[gUnknown_0203CF1C->spriteIds[0]].data[2] = 0; break; default: if (sub_81221EC() == 0 && FuncIsActiveTask(sub_81C20F0) == 0) @@ -944,24 +1309,24 @@ void sub_81C0704(u8 taskId) s8 sub_81C08F8(s8 a) { - struct Pokemon *mon = gUnknown_0203CF1C->unk0->mon; + struct Pokemon *mon = gUnknown_0203CF1C->monList.mons; if (gUnknown_0203CF1C->unk40C0 == 0) { - if (a == -1 && gUnknown_0203CF1C->unk40BE == 0) + if (a == -1 && gUnknown_0203CF1C->curMonIndex == 0) return -1; - if (a == 1 && gUnknown_0203CF1C->unk40BE >= gUnknown_0203CF1C->unk40BF) + if (a == 1 && gUnknown_0203CF1C->curMonIndex >= gUnknown_0203CF1C->maxMonIndex) return -1; - return gUnknown_0203CF1C->unk40BE + a; + return gUnknown_0203CF1C->curMonIndex + a; } else { - s8 index = gUnknown_0203CF1C->unk40BE; + s8 index = gUnknown_0203CF1C->curMonIndex; do { index += a; - if (index < 0 || index > gUnknown_0203CF1C->unk40BF) + if (index < 0 || index > gUnknown_0203CF1C->maxMonIndex) return -1; } while (GetMonData(&mon[index], MON_DATA_IS_EGG) != 0); return index; @@ -970,23 +1335,23 @@ s8 sub_81C08F8(s8 a) s8 sub_81C09B4(s8 a) { - struct Pokemon *mon = gUnknown_0203CF1C->unk0->mon; + struct Pokemon *mon = gUnknown_0203CF1C->monList.mons; s8 r5 = 0; u8 i; for (i = 0; i < 6; i++) { - if (gUnknown_0861CC1C[i] == gUnknown_0203CF1C->unk40BE) + if (gUnknown_0861CC1C[i] == gUnknown_0203CF1C->curMonIndex) { r5 = i; break; } } - while (1) + while (TRUE) { int b; - s8* c = &gUnknown_0861CC1C[0]; + const s8* c = gUnknown_0861CC1C; r5 += a; if (r5 < 0 || r5 >= 6) @@ -1001,7 +1366,7 @@ bool8 sub_81C0A50(struct Pokemon* mon) { if (GetMonData(mon, MON_DATA_SPECIES) == 0) return FALSE; - else if (gUnknown_0203CF1C->unk40BE != 0 || GetMonData(mon, MON_DATA_IS_EGG) == 0) + else if (gUnknown_0203CF1C->curMonIndex != 0 || GetMonData(mon, MON_DATA_IS_EGG) == 0) return TRUE; else return FALSE; @@ -1014,10 +1379,11 @@ void sub_81C0A8C(u8 taskId, s8 b) if (summary->isEgg) return; - if (b == -1 && gUnknown_0203CF1C->unk40C0 == gUnknown_0203CF1C->unk40C1) + else if (b == -1 && gUnknown_0203CF1C->unk40C0 == gUnknown_0203CF1C->unk40C1) return; - if (b == 1 && gUnknown_0203CF1C->unk40C0 == gUnknown_0203CF1C->unk40C2) + else if (b == 1 && gUnknown_0203CF1C->unk40C0 == gUnknown_0203CF1C->unk40C2) return; + PlaySE(SE_SELECT); sub_81C2C38(gUnknown_0203CF1C->unk40C0); gUnknown_0203CF1C->unk40C0 += b; @@ -1122,7 +1488,7 @@ void sub_81C0D44(u8 taskId) SwitchTaskToFollowupFunc(taskId); } -void sub_81C0E24() +void sub_81C0E24(void) { if (gUnknown_0203CF1C->unk40C0 == 1) sub_81C22CC(&gUnknown_0203CF1C->currentMon); @@ -1131,20 +1497,20 @@ void sub_81C0E24() void sub_81C0E48(u8 taskId) { u16 move; - gUnknown_0203CF1C->unk40C6 = 0; - move = gUnknown_0203CF1C->summary.moves[gUnknown_0203CF1C->unk40C6]; + gUnknown_0203CF1C->firstMoveIndex = 0; + move = gUnknown_0203CF1C->summary.moves[gUnknown_0203CF1C->firstMoveIndex]; ClearWindowTilemap(0x13); - if (gSprites[gUnknown_0203CF1C->unk40D3[2]].invisible == 0) + if (gSprites[gUnknown_0203CF1C->spriteIds[2]].invisible == 0) ClearWindowTilemap(0xD); sub_81C1DA4(9, -3); sub_81C1EFC(9, -3, move); - if (gUnknown_0203CF1C->unk40C8 == 0) + if (!gUnknown_0203CF1C->unk40C8) { ClearWindowTilemap(5); PutWindowTilemap(6); } - sub_81C2194(&gUnknown_0203CF1C->unkTilemap2[0], 3, 0); - sub_81C2194(&gUnknown_0203CF1C->unkTilemap3[0], 1, 0); + sub_81C2194(&gUnknown_0203CF1C->bgTilemapBuffer3[0], 3, 0); + sub_81C2194(&gUnknown_0203CF1C->bgTilemapBuffer4[0], 1, 0); sub_81C3E9C(move); sub_81C3F44(); sub_81C44F0(); @@ -1165,17 +1531,17 @@ void sub_81C0F44(u8 taskId) if (gMain.newKeys & DPAD_UP) { data[0] = 4; - sub_81C1070(data, -1, &gUnknown_0203CF1C->unk40C6); + sub_81C1070(data, -1, &gUnknown_0203CF1C->firstMoveIndex); } else if (gMain.newKeys & DPAD_DOWN) { data[0] = 4; - sub_81C1070(data, 1, &gUnknown_0203CF1C->unk40C6); + sub_81C1070(data, 1, &gUnknown_0203CF1C->firstMoveIndex); } else if (gMain.newKeys & A_BUTTON) { - if (gUnknown_0203CF1C->unk40C8 == 1 - || (gUnknown_0203CF1C->unk40C4 == 0 && gUnknown_0203CF1C->unk40C6 == 4)) + if (gUnknown_0203CF1C->unk40C8 == TRUE + || (gUnknown_0203CF1C->newMove == MOVE_NONE && gUnknown_0203CF1C->firstMoveIndex == MAX_MON_MOVES)) { PlaySE(SE_SELECT); sub_81C11F4(taskId); @@ -1226,7 +1592,7 @@ void sub_81C1070(s16 *a, s8 b, u8 *c) moveIndex = a[0]; if (moveIndex == 4) { - move = gUnknown_0203CF1C->unk40C4; + move = gUnknown_0203CF1C->newMove; break; } move = gUnknown_0203CF1C->summary.moves[moveIndex]; @@ -1237,16 +1603,16 @@ void sub_81C1070(s16 *a, s8 b, u8 *c) schedule_bg_copy_tilemap_to_vram(1); schedule_bg_copy_tilemap_to_vram(2); sub_81C3E9C(move); - if ((*c == 4 && gUnknown_0203CF1C->unk40C4 == 0) || a[1] == 1) + if ((*c == 4 && gUnknown_0203CF1C->newMove == MOVE_NONE) || a[1] == 1) { ClearWindowTilemap(19); - if (!gSprites[gUnknown_0203CF1C->unk40D3[2]].invisible) + if (!gSprites[gUnknown_0203CF1C->spriteIds[2]].invisible) ClearWindowTilemap(13); schedule_bg_copy_tilemap_to_vram(0); sub_81C1DA4(9, -3); sub_81C1EFC(9, -3, move); } - if (*c != 4 && moveIndex == 4 && gUnknown_0203CF1C->unk40C4 == 0) + if (*c != 4 && moveIndex == 4 && gUnknown_0203CF1C->newMove == MOVE_NONE) { ClearWindowTilemap(14); ClearWindowTilemap(15); @@ -1255,7 +1621,7 @@ void sub_81C1070(s16 *a, s8 b, u8 *c) sub_81C1EFC(0, 3, 0); } *c = moveIndex; - if (c == &gUnknown_0203CF1C->unk40C6) + if (c == &gUnknown_0203CF1C->firstMoveIndex) sub_81C4D18(8); else sub_81C4D18(18); @@ -1267,10 +1633,10 @@ void sub_81C11F4(u8 taskId) ClearWindowTilemap(6); PutWindowTilemap(5); sub_81C3E9C(0); - sub_81C2194(&gUnknown_0203CF1C->unkTilemap2[0], 3, 1); - sub_81C2194(&gUnknown_0203CF1C->unkTilemap3[0], 1, 1); + sub_81C2194(&gUnknown_0203CF1C->bgTilemapBuffer3[0], 3, 1); + sub_81C2194(&gUnknown_0203CF1C->bgTilemapBuffer4[0], 1, 1); sub_81C4064(); - if (gUnknown_0203CF1C->unk40C6 != 4) + if (gUnknown_0203CF1C->firstMoveIndex != MAX_MON_MOVES) { ClearWindowTilemap(14); ClearWindowTilemap(15); @@ -1285,7 +1651,7 @@ void sub_81C11F4(u8 taskId) void sub_81C129C(u8 taskId) { - gUnknown_0203CF1C->unk40C7 = gUnknown_0203CF1C->unk40C6; + gUnknown_0203CF1C->secondMoveIndex = gUnknown_0203CF1C->firstMoveIndex; sub_81C4C84(1); sub_81C4AF8(18); gTasks[taskId].func = sub_81C12E4; @@ -1300,16 +1666,16 @@ void sub_81C12E4(u8 taskId) if (gMain.newKeys & DPAD_UP) { data[0] = 3; - sub_81C1070(&data[0], -1, &gUnknown_0203CF1C->unk40C7); + sub_81C1070(&data[0], -1, &gUnknown_0203CF1C->secondMoveIndex); } else if (gMain.newKeys & DPAD_DOWN) { data[0] = 3; - sub_81C1070(&data[0], 1, &gUnknown_0203CF1C->unk40C7); + sub_81C1070(&data[0], 1, &gUnknown_0203CF1C->secondMoveIndex); } else if (gMain.newKeys & A_BUTTON) { - if (gUnknown_0203CF1C->unk40C6 == gUnknown_0203CF1C->unk40C7) + if (gUnknown_0203CF1C->firstMoveIndex == gUnknown_0203CF1C->secondMoveIndex) { sub_81C13B0(taskId, 0); } @@ -1329,22 +1695,22 @@ void sub_81C13B0(u8 taskId, u8 b) sub_81C4C60(18); if (b == 1) { - if (gUnknown_0203CF1C->unk40BD == 0) + if (!gUnknown_0203CF1C->isBoxMon) { - struct Pokemon *why = gUnknown_0203CF1C->unk0->mon; - sub_81C14BC(&why[gUnknown_0203CF1C->unk40BE], gUnknown_0203CF1C->unk40C6, gUnknown_0203CF1C->unk40C7); + struct Pokemon *why = gUnknown_0203CF1C->monList.mons; + sub_81C14BC(&why[gUnknown_0203CF1C->curMonIndex], gUnknown_0203CF1C->firstMoveIndex, gUnknown_0203CF1C->secondMoveIndex); } else { - struct BoxPokemon *why = gUnknown_0203CF1C->unk0->boxMon; - sub_81C15EC(&why[gUnknown_0203CF1C->unk40BE], gUnknown_0203CF1C->unk40C6, gUnknown_0203CF1C->unk40C7); + struct BoxPokemon *why = gUnknown_0203CF1C->monList.boxMons; + sub_81C15EC(&why[gUnknown_0203CF1C->curMonIndex], gUnknown_0203CF1C->firstMoveIndex, gUnknown_0203CF1C->secondMoveIndex); } sub_81C0098(&gUnknown_0203CF1C->currentMon); - sub_81C40A0(gUnknown_0203CF1C->unk40C6, gUnknown_0203CF1C->unk40C7); - sub_81C4568(gUnknown_0203CF1C->unk40C6, gUnknown_0203CF1C->unk40C7); - gUnknown_0203CF1C->unk40C6 = gUnknown_0203CF1C->unk40C7; + sub_81C40A0(gUnknown_0203CF1C->firstMoveIndex, gUnknown_0203CF1C->secondMoveIndex); + sub_81C4568(gUnknown_0203CF1C->firstMoveIndex, gUnknown_0203CF1C->secondMoveIndex); + gUnknown_0203CF1C->firstMoveIndex = gUnknown_0203CF1C->secondMoveIndex; } - move = gUnknown_0203CF1C->summary.moves[gUnknown_0203CF1C->unk40C6]; + move = gUnknown_0203CF1C->summary.moves[gUnknown_0203CF1C->firstMoveIndex]; sub_81C3E9C(move); sub_81C240C(move); schedule_bg_copy_tilemap_to_vram(1); @@ -1793,12 +2159,12 @@ void sub_81C174C(u8 taskId) if (gMain.newKeys & DPAD_UP) { data[0] = 4; - sub_81C1070(data, -1, &gUnknown_0203CF1C->unk40C6); + sub_81C1070(data, -1, &gUnknown_0203CF1C->firstMoveIndex); } else if (gMain.newKeys & DPAD_DOWN) { data[0] = 4; - sub_81C1070(data, 1, &gUnknown_0203CF1C->unk40C6); + sub_81C1070(data, 1, &gUnknown_0203CF1C->firstMoveIndex); } else if (gMain.newKeys & DPAD_LEFT || GetLRKeysState() == 1) { @@ -1814,7 +2180,7 @@ void sub_81C174C(u8 taskId) { sub_81C48F0(); PlaySE(SE_SELECT); - gUnknown_0203CF21 = gUnknown_0203CF1C->unk40C6; + gUnknown_0203CF21 = gUnknown_0203CF1C->firstMoveIndex; gSpecialVar_0x8005 = gUnknown_0203CF21; sub_81C044C(taskId); } @@ -1837,9 +2203,9 @@ void sub_81C174C(u8 taskId) } } -bool8 sub_81C18A8() +bool8 sub_81C18A8(void) { - if (gUnknown_0203CF1C->unk40C6 == 4 || gUnknown_0203CF1C->unk40C4 == 0 || sub_81B6D14(gUnknown_0203CF1C->summary.moves[gUnknown_0203CF1C->unk40C6]) != 1) + if (gUnknown_0203CF1C->firstMoveIndex == MAX_MON_MOVES || gUnknown_0203CF1C->newMove == MOVE_NONE || sub_81B6D14(gUnknown_0203CF1C->summary.moves[gUnknown_0203CF1C->firstMoveIndex]) != 1) return TRUE; else return FALSE; @@ -1866,7 +2232,7 @@ void sub_81C1940(u8 taskId) { data[1] = 1; data[0] = 4; - sub_81C1070(&data[0], -1, &gUnknown_0203CF1C->unk40C6); + sub_81C1070(&data[0], -1, &gUnknown_0203CF1C->firstMoveIndex); data[1] = 0; gTasks[taskId].func = sub_81C174C; } @@ -1874,7 +2240,7 @@ void sub_81C1940(u8 taskId) { data[1] = 1; data[0] = 4; - sub_81C1070(&data[0], 1, &gUnknown_0203CF1C->unk40C6); + sub_81C1070(&data[0], 1, &gUnknown_0203CF1C->firstMoveIndex); data[1] = 0; gTasks[taskId].func = sub_81C174C; } @@ -1882,11 +2248,10 @@ void sub_81C1940(u8 taskId) { if (gUnknown_0203CF1C->unk40C0 != 2) { - ClearWindowTilemap(19); - if (!gSprites[gUnknown_0203CF1C->unk40D3[2]].invisible) + if (!gSprites[gUnknown_0203CF1C->spriteIds[2]].invisible) ClearWindowTilemap(13); - move = gUnknown_0203CF1C->summary.moves[gUnknown_0203CF1C->unk40C6]; + move = gUnknown_0203CF1C->summary.moves[gUnknown_0203CF1C->firstMoveIndex]; gTasks[taskId].func = sub_81C174C; sub_81C0A8C(taskId, -1); sub_81C1DA4(9, -2); @@ -1898,9 +2263,9 @@ void sub_81C1940(u8 taskId) if (gUnknown_0203CF1C->unk40C0 != 3) { ClearWindowTilemap(19); - if (!gSprites[gUnknown_0203CF1C->unk40D3[2]].invisible) + if (!gSprites[gUnknown_0203CF1C->spriteIds[2]].invisible) ClearWindowTilemap(13); - move = gUnknown_0203CF1C->summary.moves[gUnknown_0203CF1C->unk40C6]; + move = gUnknown_0203CF1C->summary.moves[gUnknown_0203CF1C->firstMoveIndex]; gTasks[taskId].func = sub_81C174C; sub_81C0A8C(taskId, 1); sub_81C1DA4(9, -2); @@ -1910,9 +2275,9 @@ void sub_81C1940(u8 taskId) else if (gMain.newKeys & (A_BUTTON | B_BUTTON)) { ClearWindowTilemap(19); - if (!gSprites[gUnknown_0203CF1C->unk40D3[2]].invisible) + if (!gSprites[gUnknown_0203CF1C->spriteIds[2]].invisible) ClearWindowTilemap(13); - move = gUnknown_0203CF1C->summary.moves[gUnknown_0203CF1C->unk40C6]; + move = gUnknown_0203CF1C->summary.moves[gUnknown_0203CF1C->firstMoveIndex]; sub_81C3E9C(move); schedule_bg_copy_tilemap_to_vram(0); sub_81C1DA4(9, -3); @@ -1922,12 +2287,12 @@ void sub_81C1940(u8 taskId) } } -u8 sub_81C1B94() +u8 sub_81C1B94(void) { return gUnknown_0203CF21; } -void sub_81C1BA0() +void sub_81C1BA0(void) { u16 *alloced = Alloc(32); u8 i; @@ -1992,173 +2357,34 @@ void sub_81C1BA0() Free(alloced); } -struct UnkStruct_61CC04 +void sub_81C1CB0(const struct UnkStruct_61CC04 *unkStruct, u16 *dest, u8 c, bool8 d) { - u8 *ptr; - u8 field_4; - u8 field_5; - u8 field_6; - u8 field_7; - u8 field_8; - u8 field_9; -}; - -#ifdef NONMATCHING -void sub_81C1CB0(struct UnkStruct_61CC04 *a, u16 *b, u8 c, u8 d) -{ - u8 *alloced = Alloc(a->field_6 * (a->field_7 << 1)); - CpuFill16(a->field_4, alloced, a->field_7*a->field_6); - if (a->field_6 != c) + u16 i; + u16 *alloced = Alloc(unkStruct->field_6 * 2 * unkStruct->field_7); + CpuFill16(unkStruct->field_4, alloced, unkStruct->field_6 * 2 * unkStruct->field_7); + if (unkStruct->field_6 != c) { if (!d) { - for (d;d < a->field_7; d++) + for (i = 0; i < unkStruct->field_7; i++) { - CpuCopy16(&a->ptr + ((c + a->field_6*d)), alloced + ((a->field_6*d) << 1), (a->field_6 - c) * 2); + CpuCopy16(&unkStruct->ptr[c + unkStruct->field_6 * i], &alloced[unkStruct->field_6 * i], (unkStruct->field_6 - c) * 2); } } else { - for (d = 0;d < a->field_7; d++) + for (i = 0; i < unkStruct->field_7; i++) { - CpuCopy16(&a->ptr + (a->field_6*d), alloced + ((c + a->field_6*d) << 1), (a->field_6 - c) * 2); + CpuCopy16(&unkStruct->ptr[unkStruct->field_6 * i], &alloced[c + unkStruct->field_6 * i], (unkStruct->field_6 - c) * 2); } } } - d = 0; - while (d < a->field_7) + for (i = 0; i < unkStruct->field_7; i++) { - CpuCopy16(alloced + ((a->field_6*d) << 1), b + ((((a->field_9 + d) << 5) + a->field_8) << 1), a->field_6 * 2); - d++; + CpuCopy16(&alloced[unkStruct->field_6 * i], &dest[(unkStruct->field_9 + i) * 32 + unkStruct->field_8], unkStruct->field_6 * 2); } Free(alloced); } -#else -NAKED -void sub_81C1CB0(struct UnkStruct_61CC04 *a, u16 *b, u8 c, u8 d) -{ - asm(".syntax unified\n\ - push {r4-r7,lr}\n\ - mov r7, r8\n\ - push {r7}\n\ - sub sp, 0x4\n\ - adds r4, r0, 0\n\ - mov r8, r1\n\ - lsls r2, 24\n\ - lsrs r6, r2, 24\n\ - lsls r3, 24\n\ - lsrs r5, r3, 24\n\ - ldrb r1, [r4, 0x6]\n\ - ldrb r0, [r4, 0x7]\n\ - lsls r0, 1\n\ - muls r0, r1\n\ - bl Alloc\n\ - adds r7, r0, 0\n\ - mov r1, sp\n\ - ldrh r0, [r4, 0x4]\n\ - strh r0, [r1]\n\ - ldrb r1, [r4, 0x7]\n\ - ldrb r0, [r4, 0x6]\n\ - adds r2, r1, 0\n\ - muls r2, r0\n\ - movs r0, 0x80\n\ - lsls r0, 17\n\ - orrs r2, r0\n\ - mov r0, sp\n\ - adds r1, r7, 0\n\ - bl CpuSet\n\ - ldrb r0, [r4, 0x6]\n\ - cmp r0, r6\n\ - beq _081C1D60\n\ - cmp r5, 0\n\ - bne _081C1D30\n\ - movs r5, 0\n\ - ldrb r0, [r4, 0x7]\n\ - cmp r5, r0\n\ - bcs _081C1D60\n\ -_081C1D00:\n\ - ldrb r2, [r4, 0x6]\n\ - adds r1, r2, 0\n\ - muls r1, r5\n\ - adds r3, r6, r1\n\ - lsls r3, 1\n\ - ldr r0, [r4]\n\ - adds r0, r3\n\ - lsls r1, 1\n\ - adds r1, r7, r1\n\ - subs r2, r6\n\ - ldr r3, =0x001fffff\n\ - ands r2, r3\n\ - bl CpuSet\n\ - adds r0, r5, 0x1\n\ - lsls r0, 16\n\ - lsrs r5, r0, 16\n\ - ldrb r3, [r4, 0x7]\n\ - cmp r5, r3\n\ - bcc _081C1D00\n\ - b _081C1D60\n\ - .pool\n\ -_081C1D30:\n\ - movs r5, 0\n\ - ldrb r0, [r4, 0x7]\n\ - cmp r5, r0\n\ - bcs _081C1D60\n\ -_081C1D38:\n\ - ldrb r2, [r4, 0x6]\n\ - adds r1, r2, 0\n\ - muls r1, r5\n\ - lsls r3, r1, 1\n\ - ldr r0, [r4]\n\ - adds r0, r3\n\ - adds r1, r6, r1\n\ - lsls r1, 1\n\ - adds r1, r7, r1\n\ - subs r2, r6\n\ - ldr r3, =0x001fffff\n\ - ands r2, r3\n\ - bl CpuSet\n\ - adds r0, r5, 0x1\n\ - lsls r0, 16\n\ - lsrs r5, r0, 16\n\ - ldrb r3, [r4, 0x7]\n\ - cmp r5, r3\n\ - bcc _081C1D38\n\ -_081C1D60:\n\ - movs r5, 0\n\ - b _081C1D8A\n\ - .pool\n\ -_081C1D68:\n\ - ldrb r2, [r4, 0x6]\n\ - adds r0, r2, 0\n\ - muls r0, r5\n\ - lsls r0, 1\n\ - adds r0, r7, r0\n\ - ldrb r1, [r4, 0x9]\n\ - adds r1, r5\n\ - lsls r1, 5\n\ - ldrb r3, [r4, 0x8]\n\ - adds r1, r3\n\ - lsls r1, 1\n\ - add r1, r8\n\ - bl CpuSet\n\ - adds r0, r5, 0x1\n\ - lsls r0, 16\n\ - lsrs r5, r0, 16\n\ -_081C1D8A:\n\ - ldrb r0, [r4, 0x7]\n\ - cmp r5, r0\n\ - bcc _081C1D68\n\ - adds r0, r7, 0\n\ - bl Free\n\ - add sp, 0x4\n\ - pop {r3}\n\ - mov r8, r3\n\ - pop {r4-r7}\n\ - pop {r0}\n\ - bx r0\n\ - .syntax divided\n"); -} -#endif void sub_81C1DA4(u16 a, s16 b) { @@ -2166,7 +2392,7 @@ void sub_81C1DA4(u16 a, s16 b) b = gUnknown_0861CC04.field_6; if (b == 0 || b == gUnknown_0861CC04.field_6) { - sub_81C1CB0(&gUnknown_0861CC04, &gUnknown_0203CF1C->unkTilemap2[0], b, 1); + sub_81C1CB0(&gUnknown_0861CC04, &gUnknown_0203CF1C->bgTilemapBuffer3[0], b, 1); } else { @@ -2192,18 +2418,17 @@ void sub_81C1E20(u8 taskId) { data[1] = gUnknown_0861CC04.field_6; } - sub_81C1CB0(&gUnknown_0861CC04, &gUnknown_0203CF1C->unkTilemap2[0], data[1], 1); + sub_81C1CB0(&gUnknown_0861CC04, &gUnknown_0203CF1C->bgTilemapBuffer3[0], data[1], 1); if (data[1] <= 0 || data[1] >= gUnknown_0861CC04.field_6) { if (data[0] < 0) { if (gUnknown_0203CF1C->unk40C0 == 2) PutWindowTilemap(14); - } else { - if (!gSprites[gUnknown_0203CF1C->unk40D3[2]].invisible) + if (!gSprites[gUnknown_0203CF1C->spriteIds[2]].invisible) PutWindowTilemap(13); PutWindowTilemap(19); } @@ -2219,7 +2444,7 @@ void sub_81C1EFC(u16 a, s16 b, u16 move) if (b > gUnknown_0861CC10.field_6) b = gUnknown_0861CC10.field_6; if (b == 0 || b == gUnknown_0861CC10.field_6) - sub_81C1CB0(&gUnknown_0861CC10, &gUnknown_0203CF1C->unkTilemap3[0], b, 1); + sub_81C1CB0(&gUnknown_0861CC10, &gUnknown_0203CF1C->bgTilemapBuffer4[0], b, 1); else { u8 taskId = FindTaskIdByFunc(sub_81C1F80); @@ -2243,7 +2468,7 @@ void sub_81C1F80(u8 taskId) { data[1] = gUnknown_0861CC10.field_6; } - sub_81C1CB0(&gUnknown_0861CC10, &gUnknown_0203CF1C->unkTilemap3[0], data[1], 1); + sub_81C1CB0(&gUnknown_0861CC10, &gUnknown_0203CF1C->bgTilemapBuffer4[0], data[1], 1); if (data[1] <= 0 || data[1] >= gUnknown_0861CC10.field_6) { if (data[0] < 0) @@ -2254,7 +2479,7 @@ void sub_81C1F80(u8 taskId) } else { - if (!gSprites[gUnknown_0203CF1C->unk40D3[2]].invisible) + if (!gSprites[gUnknown_0203CF1C->spriteIds[2]].invisible) { PutWindowTilemap(13); } @@ -2273,8 +2498,8 @@ void sub_81C2074(u16 a, s16 b) b = gUnknown_0861CBEC.field_6; if (b == 0 || b == gUnknown_0861CBEC.field_6) { - sub_81C1CB0(&gUnknown_0861CBEC, &gUnknown_0203CF1C->unkTilemap0[0], b, 0); - sub_81C1CB0(&gUnknown_0861CBF8, &gUnknown_0203CF1C->unkTilemap0[0], b, 0); + sub_81C1CB0(&gUnknown_0861CBEC, &gUnknown_0203CF1C->bgTilemapBuffer1[0], b, 0); + sub_81C1CB0(&gUnknown_0861CBF8, &gUnknown_0203CF1C->bgTilemapBuffer1[0], b, 0); } else { @@ -2292,8 +2517,8 @@ void sub_81C20F0(u8 taskId) data[1] = 0; else if (data[1] > gUnknown_0861CBEC.field_6) data[1] = gUnknown_0861CBEC.field_6; - sub_81C1CB0(&gUnknown_0861CBEC, &gUnknown_0203CF1C->unkTilemap0[0], data[1], 0); - sub_81C1CB0(&gUnknown_0861CBF8, &gUnknown_0203CF1C->unkTilemap0[0], data[1], 0); + sub_81C1CB0(&gUnknown_0861CBEC, &gUnknown_0203CF1C->bgTilemapBuffer1[0], data[1], 0); + sub_81C1CB0(&gUnknown_0861CBF8, &gUnknown_0203CF1C->bgTilemapBuffer1[0], data[1], 0); schedule_bg_copy_tilemap_to_vram(3); if (data[1] <= 0 || data[1] >= gUnknown_0861CBEC.field_6) { @@ -2307,126 +2532,44 @@ void sub_81C20F0(u8 taskId) } } -// somebody send help this is a complete fucking mess -#ifdef NONMATCHING -void sub_81C2194(u16 *a, u16 b, u8 c) +void sub_81C2194(u16 *output, u16 palette, bool8 c) { u16 i; - int var; - b *= 0x1000; + u32 var; + palette <<= 12; var = 0x56A; if (c == 0) { for (i = 0; i < 20; i++) { - a[(i + var) << 1] = gSummaryScreenWindow_Tilemap[i] + b; - a[((i + var) << 1) + 0x40] = gSummaryScreenWindow_Tilemap[i] + b; - a[((i + var) << 1) + 0x80] = gSummaryScreenWindow_Tilemap[i + 20] + b; + output[var + i] = gSummaryScreenWindow_Tilemap[i] + palette; + output[var + i + 0x20] = gSummaryScreenWindow_Tilemap[i] + palette; + output[var + i + 0x40] = gSummaryScreenWindow_Tilemap[i + 20] + palette; } } else { for (i = 0; i < 20; i++) { - a[(i + var)] = gSummaryScreenWindow_Tilemap[i + 20] + b; - a[((i + var)) + 0x40] = gSummaryScreenWindow_Tilemap[i + 40] + b; - a[((i + var)) + 0x80] = gSummaryScreenWindow_Tilemap[i + 40] + b; + output[var + i] = gSummaryScreenWindow_Tilemap[i + 20] + palette; + output[var + i + 0x20] = gSummaryScreenWindow_Tilemap[i + 40] + palette; + output[var + i + 0x40] = gSummaryScreenWindow_Tilemap[i + 40] + palette; } } } -#else -NAKED -void sub_81C2194(u16 *a, u16 b, u8 c) -{ - asm(".syntax unified\n\ - push {r4-r7,lr}\n\ - adds r6, r0, 0\n\ - lsls r2, 24\n\ - lsls r1, 28\n\ - lsrs r4, r1, 16\n\ - ldr r7, =0x0000056a\n\ - cmp r2, 0\n\ - bne _081C21E4\n\ - movs r3, 0\n\ - ldr r5, =gSummaryScreenWindow_Tilemap\n\ -_081C21A8:\n\ - adds r2, r7, r3\n\ - lsls r2, 1\n\ - adds r2, r6\n\ - lsls r0, r3, 1\n\ - adds r0, r5\n\ - ldrh r1, [r0]\n\ - adds r1, r4, r1\n\ - strh r1, [r2]\n\ - adds r0, r2, 0\n\ - adds r0, 0x40\n\ - strh r1, [r0]\n\ - adds r2, 0x80\n\ - adds r0, r3, 0\n\ - adds r0, 0x14\n\ - lsls r0, 1\n\ - adds r0, r5\n\ - ldrh r0, [r0]\n\ - adds r0, r4, r0\n\ - strh r0, [r2]\n\ - adds r0, r3, 0x1\n\ - lsls r0, 16\n\ - lsrs r3, r0, 16\n\ - cmp r3, 0x13\n\ - bls _081C21A8\n\ - b _081C221C\n\ - .pool\n\ -_081C21E4:\n\ - movs r3, 0\n\ - ldr r5, =gSummaryScreenWindow_Tilemap\n\ -_081C21E8:\n\ - adds r1, r7, r3\n\ - lsls r1, 1\n\ - adds r1, r6\n\ - adds r0, r3, 0\n\ - adds r0, 0x14\n\ - lsls r0, 1\n\ - adds r0, r5\n\ - ldrh r0, [r0]\n\ - adds r0, r4, r0\n\ - strh r0, [r1]\n\ - adds r2, r1, 0\n\ - adds r2, 0x40\n\ - adds r0, r3, 0\n\ - adds r0, 0x28\n\ - lsls r0, 1\n\ - adds r0, r5\n\ - ldrh r0, [r0]\n\ - adds r0, r4, r0\n\ - strh r0, [r2]\n\ - adds r1, 0x80\n\ - strh r0, [r1]\n\ - adds r0, r3, 0x1\n\ - lsls r0, 16\n\ - lsrs r3, r0, 16\n\ - cmp r3, 0x13\n\ - bls _081C21E8\n\ -_081C221C:\n\ - pop {r4-r7}\n\ - pop {r0}\n\ - bx r0\n\ - .pool\n\ - .syntax divided\n"); -} -#endif void sub_81C2228(struct Pokemon *mon) { if (!CheckPartyPokerus(mon, 0) && CheckPartyHasHadPokerus(mon, 0)) { - gUnknown_0203CF1C->unkTilemap0[0x223] = 0x2C; - gUnknown_0203CF1C->unkTilemap0_1[0x223] = 0x2C; + gUnknown_0203CF1C->bgTilemapBuffer1[0x223] = 0x2C; + gUnknown_0203CF1C->bgTilemapBuffer1[0x623] = 0x2C; } else { - gUnknown_0203CF1C->unkTilemap0[0x223] = 0x81A; - gUnknown_0203CF1C->unkTilemap0_1[0x223] = 0x81A; + gUnknown_0203CF1C->bgTilemapBuffer1[0x223] = 0x81A; + gUnknown_0203CF1C->bgTilemapBuffer1[0x623] = 0x81A; } schedule_bg_copy_tilemap_to_vram(3); } @@ -2461,7 +2604,7 @@ void sub_81C22CC(struct Pokemon *unused) r6r7 = 0; } - r9 = &gUnknown_0203CF1C->unkTilemap1_1[0x255]; + r9 = &gUnknown_0203CF1C->bgTilemapBuffer2[0x655]; for (i = 0; i < 8; i++) { if (r6r7 > 7) @@ -2473,7 +2616,7 @@ void sub_81C22CC(struct Pokemon *unused) r6r7 = 0; } - if (GetBgTilemapBuffer(1) == gUnknown_0203CF1C->unkTilemap1) + if (GetBgTilemapBuffer(1) == gUnknown_0203CF1C->bgTilemapBuffer2) schedule_bg_copy_tilemap_to_vram(1); else schedule_bg_copy_tilemap_to_vram(2); @@ -2481,7 +2624,7 @@ void sub_81C22CC(struct Pokemon *unused) void sub_81C240C(u16 move) { - u16* r5 = &gUnknown_0203CF1C->unkTilemap3_1[0]; + u16* r5 = &gUnknown_0203CF1C->bgTilemapBuffer4[0x400]; u8 i; u8 r4; if (move != MOVE_NONE) @@ -2513,7 +2656,7 @@ void sub_81C240C(u16 move) } } -void sub_81C2524() +void sub_81C2524(void) { if (gUnknown_0203CF1C->summary.isEgg != 0) ChangeBgX(3, 0x10000, 0); @@ -2521,23 +2664,23 @@ void sub_81C2524() ChangeBgX(3, 0, 0); } -void sub_81C2554() +void sub_81C2554(void) { u8 i; - InitWindows(&gUnknown_0861CC24); + InitWindows(gUnknown_0861CC24); DeactivateAllTextPrinters(); for (i = 0; i < 20; i++) FillWindowPixelBuffer(i, 0); for (i = 0; i < 8; i++) - gUnknown_0203CF1C->unk40CB[i] |= 0xFF; + gUnknown_0203CF1C->windowIds[i] |= 0xFF; } void sub_81C25A4(u8 a, const u8 *b, u8 c, u8 d, u8 e, u8 f) { - AddTextPrinterParameterized2(a, 1, c, d, 0, e, gUnknown_0861CD2C[f], 0, b); + AddTextPrinterParameterized2(a, 1, c, d, 0, e, sTextColors_861CD2C[f], 0, b); } -void sub_81C25E8() +void sub_81C25E8(void) { FillWindowPixelBuffer(17, 0); FillWindowPixelBuffer(18, 0); @@ -2549,7 +2692,7 @@ void sub_81C25E8() schedule_bg_copy_tilemap_to_vram(0); } -void sub_81C2628() +void sub_81C2628(void) { u8 strArray[16]; struct Pokemon *mon = &gUnknown_0203CF1C->currentMon; @@ -2594,7 +2737,7 @@ void sub_81C2628() PutWindowTilemap(19); } -void sub_81C2794() +void sub_81C2794(void) { GetMonNickname(&gUnknown_0203CF1C->currentMon, gStringVar1); sub_81C25A4(18, gStringVar1, 0, 1, 0, 1); @@ -2625,7 +2768,7 @@ void sub_81C2838(u8 a, bool8 b, u32 c) BlitBitmapToWindow(a, (b) ? &gUnknown_0861CDD3[0] : &gUnknown_0861CDD3[0] - 0x80, c, 0, 16, 16); } -void sub_81C286C() +void sub_81C286C(void) { int r4; int r2; @@ -2705,9 +2848,9 @@ void sub_81C2AFC(u8 a) break; case 2: PutWindowTilemap(2); - if (gUnknown_0203CF1C->unk40BC == 3) + if (gUnknown_0203CF1C->mode == 3) { - if(!(gUnknown_0203CF1C->unk40C4 == 0 && gUnknown_0203CF1C->unk40C6 == 4)) + if(!(gUnknown_0203CF1C->newMove == MOVE_NONE && gUnknown_0203CF1C->firstMoveIndex == MAX_MON_MOVES)) PutWindowTilemap(14); } else @@ -2715,9 +2858,9 @@ void sub_81C2AFC(u8 a) break; case 3: PutWindowTilemap(3); - if (gUnknown_0203CF1C->unk40BC == 3) + if (gUnknown_0203CF1C->mode == 3) { - if(!(gUnknown_0203CF1C->unk40C4 == 0 && gUnknown_0203CF1C->unk40C6 == 4)) + if(!(gUnknown_0203CF1C->newMove == MOVE_NONE && gUnknown_0203CF1C->firstMoveIndex == MAX_MON_MOVES)) PutWindowTilemap(15); } else @@ -2726,7 +2869,7 @@ void sub_81C2AFC(u8 a) } for (i = 0; i < 8; i++) { - PutWindowTilemap(gUnknown_0203CF1C->unk40CB[i]); + PutWindowTilemap(gUnknown_0203CF1C->windowIds[i]); } schedule_bg_copy_tilemap_to_vram(0); } @@ -2748,18 +2891,18 @@ void sub_81C2C38(u8 a) ClearWindowTilemap(12); break; case 2: - if (gUnknown_0203CF1C->unk40BC == 3) + if (gUnknown_0203CF1C->mode == 3) { - if(!(gUnknown_0203CF1C->unk40C4 == 0 && gUnknown_0203CF1C->unk40C6 == 4)) + if(!(gUnknown_0203CF1C->newMove == MOVE_NONE && gUnknown_0203CF1C->firstMoveIndex == MAX_MON_MOVES)) ClearWindowTilemap(14); } else ClearWindowTilemap(5); break; case 3: - if (gUnknown_0203CF1C->unk40BC == 3) + if (gUnknown_0203CF1C->mode == 3) { - if(!(gUnknown_0203CF1C->unk40C4 == 0 && gUnknown_0203CF1C->unk40C6 == 4)) + if(!(gUnknown_0203CF1C->newMove == MOVE_NONE && gUnknown_0203CF1C->firstMoveIndex == MAX_MON_MOVES)) ClearWindowTilemap(15); } else @@ -2771,9 +2914,9 @@ void sub_81C2C38(u8 a) schedule_bg_copy_tilemap_to_vram(0); } -u8 sub_81C2D2C(struct WindowTemplate *template, u8 a) +u8 sub_81C2D2C(const struct WindowTemplate *template, u8 a) { - u8 *windowIdPtr = &(gUnknown_0203CF1C->unk40CB[a]); + u8 *windowIdPtr = &(gUnknown_0203CF1C->windowIds[a]); if (*windowIdPtr == 0xFF) { *windowIdPtr = AddWindow(&template[a]); @@ -2784,7 +2927,7 @@ u8 sub_81C2D2C(struct WindowTemplate *template, u8 a) void sub_81C2D68(u8 a) { - u8 *windowIdPtr = &(gUnknown_0203CF1C->unk40CB[a]); + u8 *windowIdPtr = &(gUnknown_0203CF1C->windowIds[a]); if (*windowIdPtr != 0xFF) { ClearWindowTilemap(*windowIdPtr); @@ -2798,8 +2941,8 @@ void sub_81C2D9C(u8 a) u16 i; for (i = 0; i < 8; i++) { - if (gUnknown_0203CF1C->unk40CB[i] != 0xFF) - FillWindowPixelBuffer(gUnknown_0203CF1C->unk40CB[i], 0); + if (gUnknown_0203CF1C->windowIds[i] != 0xFF) + FillWindowPixelBuffer(gUnknown_0203CF1C->windowIds[i], 0); } gUnknown_0861CE54[a](); } @@ -2809,7 +2952,7 @@ void sub_81C2DE4(u8 a) CreateTask(gUnknown_0861CE64[a], 16); } -void sub_81C2E00() +void sub_81C2E00(void) { if (gUnknown_0203CF1C->summary.isEgg) { @@ -2860,13 +3003,13 @@ void sub_81C2E40(u8 taskId) data[0]++; } -void sub_81C2EC4() +void sub_81C2EC4(void) { u8 r5; int r2; if (sub_81A6BF4() != 1 && sub_81B9E94() != 1) { - r5 = sub_81C2D2C(&gUnknown_0861CCCC, 0); + r5 = sub_81C2D2C(gUnknown_0861CCCC, 0); sub_81C25A4(r5, gText_OTSlash, 0, 1, 0, 1); r2 = GetStringWidth(1, gText_OTSlash, 0); if (gUnknown_0203CF1C->summary.OTGender == 0) @@ -2876,33 +3019,33 @@ void sub_81C2EC4() } } -void sub_81C2F5C() +void sub_81C2F5C(void) { int r4; if (sub_81A6BF4() != TRUE && sub_81B9E94() != TRUE) { ConvertIntToDecimalStringN(StringCopy(gStringVar1, gText_UnkCtrlF907F908), (u16)gUnknown_0203CF1C->summary.OTID, 2, 5); r4 = GetStringRightAlignXOffset(1, gStringVar1, 0x38); - sub_81C25A4(sub_81C2D2C(&gUnknown_0861CCCC, 1), gStringVar1, r4, 1, 0, 1); + sub_81C25A4(sub_81C2D2C(gUnknown_0861CCCC, 1), gStringVar1, r4, 1, 0, 1); } } -void sub_81C2FD8() +void sub_81C2FD8(void) { u8 ability = GetAbilityBySpecies(gUnknown_0203CF1C->summary.species, gUnknown_0203CF1C->summary.altAbility); - sub_81C25A4(sub_81C2D2C(&gUnknown_0861CCCC, 2), gAbilityNames[ability], 0, 1, 0, 1); + sub_81C25A4(sub_81C2D2C(gUnknown_0861CCCC, 2), gAbilityNames[ability], 0, 1, 0, 1); } -void sub_81C302C() +void sub_81C302C(void) { u8 ability = GetAbilityBySpecies(gUnknown_0203CF1C->summary.species, gUnknown_0203CF1C->summary.altAbility); - sub_81C25A4(sub_81C2D2C(&gUnknown_0861CCCC, 2), gAbilityDescriptionPointers[ability], 0, 17, 0, 0); + sub_81C25A4(sub_81C2D2C(gUnknown_0861CCCC, 2), gAbilityDescriptionPointers[ability], 0, 17, 0, 0); } -void sub_81C307C() +void sub_81C307C(void) { struct PokeSummary *sum = &gUnknown_0203CF1C->summary; - u8 *text; + const u8 *text; DynamicPlaceholderTextUtil_Reset(); DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, gUnknown_0861CE74); DynamicPlaceholderTextUtil_SetPlaceholderPtr(1, gUnknown_0861CE7B); @@ -2938,12 +3081,12 @@ void sub_81C307C() } } -void sub_81C3194() +void sub_81C3194(void) { - sub_81C25A4(sub_81C2D2C(&gUnknown_0861CCCC, 3), gStringVar4, 0, 1, 0, 0); + sub_81C25A4(sub_81C2D2C(gUnknown_0861CCCC, 3), gStringVar4, 0, 1, 0, 0); } -void sub_81C31C0() +void sub_81C31C0(void) { struct UnkSummaryStruct *sumStruct = gUnknown_0203CF1C; DynamicPlaceholderTextUtil_SetPlaceholderPtr(2, gNatureNamePointers[sumStruct->summary.nature]); @@ -2959,14 +3102,15 @@ void sub_81C31F0(u8 *a) DynamicPlaceholderTextUtil_SetPlaceholderPtr(3, a); } -u8 sub_81C3220() +u8 sub_81C3220(void) { struct PokeSummary *sum = &gUnknown_0203CF1C->summary; u32 r4; u8 r5; - if (gUnknown_0203CF1C->unk0 == (union UnkUnion *)&gEnemyParty) + + if (gUnknown_0203CF1C->monList.mons == gEnemyParty) { - u8 multiID = GetMultiplayerId()^1; + u8 multiID = GetMultiplayerId() ^ 1; r4 = (u16)gLinkPlayers[multiID].trainerId; r5 = gLinkPlayers[multiID].gender; StringCopy(gStringVar1, gLinkPlayers[multiID].name); @@ -2984,7 +3128,7 @@ u8 sub_81C3220() return 1; } -bool8 sub_81C32BC() +bool8 sub_81C32BC(void) { struct PokeSummary *sum = &gUnknown_0203CF1C->summary; u8 r0 = sum->metGame - 1; @@ -2993,7 +3137,7 @@ bool8 sub_81C32BC() return FALSE; } -bool8 sub_81C32E0() +bool8 sub_81C32E0(void) { struct PokeSummary *sum = &gUnknown_0203CF1C->summary; u8 r0 = sum->metGame - 1; @@ -3002,91 +3146,36 @@ bool8 sub_81C32E0() return FALSE; } -bool8 sub_81C3304() +bool8 sub_81C3304(void) { if ((gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER) && gMain.inBattle) { - if (gUnknown_0203CF1C->unk40BE == 1 || gUnknown_0203CF1C->unk40BE == 4 || gUnknown_0203CF1C->unk40BE == 5) + if (gUnknown_0203CF1C->curMonIndex == 1 || gUnknown_0203CF1C->curMonIndex == 4 || gUnknown_0203CF1C->curMonIndex == 5) return TRUE; } return FALSE; } -#ifdef NONMATCHING -void sub_81C335C() +void sub_81C335C(void) { - u8 r4 = sub_81C2D2C(&gUnknown_0861CCCC, 0); - u32 r5 = GetStringWidth(1, gText_OTSlash, 0); - sub_81C25A4(r4, gText_OTSlash, 0, 1, 0, 1); - sub_81C25A4(r4, gText_FiveMarks, r5, 1, 0, 1); + u32 windowId = sub_81C2D2C(gUnknown_0861CCCC, 0); + u32 width = GetStringWidth(1, gText_OTSlash, 0); + sub_81C25A4(windowId, gText_OTSlash, 0, 1, 0, 1); + sub_81C25A4(windowId, gText_FiveMarks, width, 1, 0, 1); } -#else -NAKED -void sub_81C335C() -{ - asm(".syntax unified\n\ - push {r4-r6,lr}\n\ - mov r6, r9\n\ - mov r5, r8\n\ - push {r5,r6}\n\ - sub sp, 0x8\n\ - ldr r0, =gUnknown_0861CCCC\n\ - movs r1, 0\n\ - bl sub_81C2D2C\n\ - adds r4, r0, 0\n\ - lsls r4, 24\n\ - lsrs r4, 24\n\ - ldr r0, =gText_OTSlash\n\ - mov r8, r0\n\ - movs r0, 0x1\n\ - mov r1, r8\n\ - movs r2, 0\n\ - bl GetStringWidth\n\ - adds r5, r0, 0\n\ - movs r0, 0\n\ - mov r9, r0\n\ - str r0, [sp]\n\ - movs r6, 0x1\n\ - str r6, [sp, 0x4]\n\ - adds r0, r4, 0\n\ - mov r1, r8\n\ - movs r2, 0\n\ - movs r3, 0x1\n\ - bl sub_81C25A4\n\ - ldr r1, =gText_FiveMarks\n\ - lsls r5, 24\n\ - lsrs r5, 24\n\ - mov r0, r9\n\ - str r0, [sp]\n\ - str r6, [sp, 0x4]\n\ - adds r0, r4, 0\n\ - adds r2, r5, 0\n\ - movs r3, 0x1\n\ - bl sub_81C25A4\n\ - add sp, 0x8\n\ - pop {r3,r4}\n\ - mov r8, r3\n\ - mov r9, r4\n\ - pop {r4-r6}\n\ - pop {r0}\n\ - bx r0\n\ - .pool\n\ - .syntax divided\n"); -} -#endif -void sub_81C33CC() +void sub_81C33CC(void) { int r4; StringCopy(gStringVar1, gText_UnkCtrlF907F908); StringAppend(gStringVar1, gText_FiveMarks); r4 = GetStringRightAlignXOffset(1, gStringVar1, 0x38); - sub_81C25A4(sub_81C2D2C(&gUnknown_0861CCCC, 1), gStringVar1, r4, 1, 0, 1); + sub_81C25A4(sub_81C2D2C(gUnknown_0861CCCC, 1), gStringVar1, r4, 1, 0, 1); } -void sub_81C3428() +void sub_81C3428(void) { - u8 *text; + const u8 *text; struct PokeSummary *sum = &gUnknown_0203CF1C->summary; if (gUnknown_0203CF1C->summary.sanity == 1) text = gText_EggWillTakeALongTime; @@ -3098,12 +3187,12 @@ void sub_81C3428() text = gText_EggWillTakeSomeTime; else text = gText_EggWillTakeALongTime; - sub_81C25A4(sub_81C2D2C(&gUnknown_0861CCCC, 2), text, 0, 1, 0, 0); + sub_81C25A4(sub_81C2D2C(gUnknown_0861CCCC, 2), text, 0, 1, 0, 0); } -void sub_81C349C() +void sub_81C349C(void) { - u8 *text; + const u8 *text; struct PokeSummary *sum = &gUnknown_0203CF1C->summary; if (gUnknown_0203CF1C->summary.sanity != 1) { @@ -3118,10 +3207,10 @@ void sub_81C349C() } else text = gText_OddEggFoundByCouple; - sub_81C25A4(sub_81C2D2C(&gUnknown_0861CCCC, 3), text, 0, 1, 0, 0); + sub_81C25A4(sub_81C2D2C(gUnknown_0861CCCC, 3), text, 0, 1, 0, 0); } -void sub_81C3530() +void sub_81C3530(void) { sub_81C35E4(); sub_81C3690(); @@ -3166,11 +3255,11 @@ void sub_81C3554(u8 taskId) data[0]++; } -void sub_81C35E4() +void sub_81C35E4(void) { const u8 *text; int offset; - if (gUnknown_0203CF1C->summary.item == ITEM_ENIGMA_BERRY && sub_81B1250() == 1 && (gUnknown_0203CF1C->unk40BE == 1 || gUnknown_0203CF1C->unk40BE == 4 || gUnknown_0203CF1C->unk40BE == 5)) + if (gUnknown_0203CF1C->summary.item == ITEM_ENIGMA_BERRY && sub_81B1250() == 1 && (gUnknown_0203CF1C->curMonIndex == 1 || gUnknown_0203CF1C->curMonIndex == 4 || gUnknown_0203CF1C->curMonIndex == 5)) { text = ItemId_GetName(ITEM_ENIGMA_BERRY); } @@ -3182,12 +3271,12 @@ void sub_81C35E4() text = gStringVar1; } offset = GetStringCenterAlignXOffset(1, text, 0x48) + 6; - sub_81C25A4(sub_81C2D2C(&gUnknown_0861CCEC, 0), text, offset, 1, 0, 0); + sub_81C25A4(sub_81C2D2C(gUnknown_0861CCEC, 0), text, offset, 1, 0, 0); } -void sub_81C3690() +void sub_81C3690(void) { - u8 *text; + const u8 *text; int offset; if (gUnknown_0203CF1C->summary.ribbons == 0) text = gText_None; @@ -3198,10 +3287,10 @@ void sub_81C3690() text = gStringVar4; } offset = GetStringCenterAlignXOffset(1, text, 0x46) + 6; - sub_81C25A4(sub_81C2D2C(&gUnknown_0861CCEC, 1), text, offset, 1, 0, 0); + sub_81C25A4(sub_81C2D2C(gUnknown_0861CCEC, 1), text, offset, 1, 0, 0); } -void sub_81C3710() +void sub_81C3710(void) { u8 *alloced1 = Alloc(8); u8 *alloced2 = Alloc(8); @@ -3223,12 +3312,12 @@ void sub_81C3710() Free(alloced4); } -void sub_81C37D8() +void sub_81C37D8(void) { - sub_81C25A4(sub_81C2D2C(&gUnknown_0861CCEC, 2), gStringVar4, 4, 1, 0, 0); + sub_81C25A4(sub_81C2D2C(gUnknown_0861CCEC, 2), gStringVar4, 4, 1, 0, 0); } -void sub_81C3808() +void sub_81C3808(void) { ConvertIntToDecimalStringN(gStringVar1, gUnknown_0203CF1C->summary.spatk, 1, 3); ConvertIntToDecimalStringN(gStringVar2, gUnknown_0203CF1C->summary.spdef, 1, 3); @@ -3240,15 +3329,15 @@ void sub_81C3808() DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gUnknown_0861CE8E); } -void sub_81C3890() +void sub_81C3890(void) { - sub_81C25A4(sub_81C2D2C(&gUnknown_0861CCEC, 3), gStringVar4, 2, 1, 0, 0); + sub_81C25A4(sub_81C2D2C(gUnknown_0861CCEC, 3), gStringVar4, 2, 1, 0, 0); } -void sub_81C38C0() +void sub_81C38C0(void) { struct PokeSummary *sum = &gUnknown_0203CF1C->summary; - u8 r6 = sub_81C2D2C(&gUnknown_0861CCEC, 4); + u8 r6 = sub_81C2D2C(gUnknown_0861CCEC, 4); int offset; u32 expToNextLevel; ConvertIntToDecimalStringN(gStringVar1, sum->exp, 1, 7); @@ -3263,22 +3352,22 @@ void sub_81C38C0() sub_81C25A4(r6, gStringVar1, offset, 17, 0, 0); } -void sub_81C3984() +void sub_81C3984(void) { sub_81C3B08(0); sub_81C3B08(1); sub_81C3B08(2); sub_81C3B08(3); - if (gUnknown_0203CF1C->unk40BC == 3) + if (gUnknown_0203CF1C->mode == 3) { sub_81C3F44(); - if (gUnknown_0203CF1C->unk40C6 == 4) + if (gUnknown_0203CF1C->firstMoveIndex == MAX_MON_MOVES) { - if (gUnknown_0203CF1C->unk40C4 != 0) - sub_81C3E9C(gUnknown_0203CF1C->unk40C4); + if (gUnknown_0203CF1C->newMove != MOVE_NONE) + sub_81C3E9C(gUnknown_0203CF1C->newMove); } else - sub_81C3E9C(gUnknown_0203CF1C->summary.moves[gUnknown_0203CF1C->unk40C6]); + sub_81C3E9C(gUnknown_0203CF1C->summary.moves[gUnknown_0203CF1C->firstMoveIndex]); } } @@ -3302,22 +3391,22 @@ void sub_81C39F0(u8 taskId) sub_81C3B08(3); break; case 4: - if (gUnknown_0203CF1C->unk40BC == 3) + if (gUnknown_0203CF1C->mode == 3) sub_81C3F44(); break; case 5: - if (gUnknown_0203CF1C->unk40BC == 3) + if (gUnknown_0203CF1C->mode == 3) { - if (gUnknown_0203CF1C->unk40C6 == 4) - data[1] = gUnknown_0203CF1C->unk40C4; + if (gUnknown_0203CF1C->firstMoveIndex == MAX_MON_MOVES) + data[1] = gUnknown_0203CF1C->newMove; else - data[1] = gUnknown_0203CF1C->summary.moves[gUnknown_0203CF1C->unk40C6]; + data[1] = gUnknown_0203CF1C->summary.moves[gUnknown_0203CF1C->firstMoveIndex]; } break; case 6: - if (gUnknown_0203CF1C->unk40BC == 3) + if (gUnknown_0203CF1C->mode == 3) { - if (!(gUnknown_0203CF1C->unk40C4 == 0 && gUnknown_0203CF1C->unk40C6 == 4)) + if (!(gUnknown_0203CF1C->newMove == MOVE_NONE && gUnknown_0203CF1C->firstMoveIndex == MAX_MON_MOVES)) sub_81C3E9C(data[1]); } break; @@ -3328,193 +3417,44 @@ void sub_81C39F0(u8 taskId) data[0]++; } -#ifdef NONMATCHING void sub_81C3B08(u8 a) { - struct UnkSummaryStruct *r10 = gUnknown_0203CF1C; - u8 r8 = sub_81C2D2C(&gUnknown_0861CD14, 0); - u8 sp = sub_81C2D2C(&gUnknown_0861CD14, 1); - u8 r6; - u8 r5; - u8 *text; - int offset; - u16 move; - if (r10->summary.moves[a] != 0) + u8 pp; + u32 ppState; + const u8 *text; + u32 offset; + struct UnkSummaryStruct *summaryStruct = gUnknown_0203CF1C; + u8 r8 = sub_81C2D2C(gUnknown_0861CD14, 0); + u8 sp = sub_81C2D2C(gUnknown_0861CD14, 1); + u16 move = summaryStruct->summary.moves[a]; + + if (move != 0) { - move = r10->summary.moves[a]; - r6 = CalculatePPWithBonus(move, r10->summary.ppBonuses, a); - sub_81C25A4(r8, gMoveNames[move], 0, (a<<4) + 1, 0, 1); - ConvertIntToDecimalStringN(gStringVar1, r10->summary.pp[a], 1, 2); - ConvertIntToDecimalStringN(gStringVar2, r6, 1, 2); + pp = CalculatePPWithBonus(move, summaryStruct->summary.ppBonuses, a); + sub_81C25A4(r8, gMoveNames[move], 0, a * 16 + 1, 0, 1); + ConvertIntToDecimalStringN(gStringVar1, summaryStruct->summary.pp[a], 1, 2); + ConvertIntToDecimalStringN(gStringVar2, pp, 1, 2); DynamicPlaceholderTextUtil_Reset(); DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, gStringVar1); DynamicPlaceholderTextUtil_SetPlaceholderPtr(1, gStringVar2); DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gUnknown_0861CE97); text = gStringVar4; - r5 = GetCurrentPpToMaxPpState(r10->summary.pp[a], r6) + 9; + ppState = GetCurrentPpToMaxPpState(summaryStruct->summary.pp[a], pp) + 9; offset = GetStringRightAlignXOffset(1, text, 0x2C); } else { - sub_81C25A4(r8, gText_OneDash, 0, (a<<4) + 1, 0, 1); + sub_81C25A4(r8, gText_OneDash, 0, a * 16 + 1, 0, 1); text = gText_TwoDashes; - r5 = 12; + ppState = 12; offset = GetStringCenterAlignXOffset(1, text, 0x2C); } - sub_81C25A4(sp, text, offset, (a<<4), 0, r5); + sub_81C25A4(sp, text, offset, a * 16 + 1, 0, ppState); } -#else -NAKED -void sub_81C3B08(u8 a) -{ - 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\ - lsls r0, 24\n\ - lsrs r7, r0, 24\n\ - ldr r0, =gUnknown_0203CF1C\n\ - ldr r0, [r0]\n\ - mov r10, r0\n\ - ldr r4, =gUnknown_0861CD14\n\ - adds r0, r4, 0\n\ - movs r1, 0\n\ - bl sub_81C2D2C\n\ - lsls r0, 24\n\ - lsrs r0, 24\n\ - mov r8, r0\n\ - adds r0, r4, 0\n\ - movs r1, 0x1\n\ - bl sub_81C2D2C\n\ - lsls r0, 24\n\ - lsrs r0, 24\n\ - str r0, [sp, 0x8]\n\ - lsls r1, r7, 1\n\ - mov r0, r10\n\ - adds r0, 0x84\n\ - adds r0, r1\n\ - ldrh r5, [r0]\n\ - cmp r5, 0\n\ - beq _081C3C00\n\ - mov r0, r10\n\ - adds r0, 0xA4\n\ - ldrb r1, [r0]\n\ - adds r0, r5, 0\n\ - adds r2, r7, 0\n\ - bl CalculatePPWithBonus\n\ - adds r6, r0, 0\n\ - lsls r6, 24\n\ - lsrs r6, 24\n\ - movs r0, 0xD\n\ - adds r1, r5, 0\n\ - muls r1, r0\n\ - ldr r0, =gMoveNames\n\ - adds r1, r0\n\ - lsls r0, r7, 4\n\ - mov r9, r0\n\ - mov r3, r9\n\ - adds r3, 0x1\n\ - lsls r3, 24\n\ - lsrs r3, 24\n\ - movs r0, 0\n\ - str r0, [sp]\n\ - movs r0, 0x1\n\ - str r0, [sp, 0x4]\n\ - mov r0, r8\n\ - movs r2, 0\n\ - bl sub_81C25A4\n\ - ldr r0, =gStringVar1\n\ - mov r8, r0\n\ - mov r5, r10\n\ - adds r5, 0x8C\n\ - adds r5, r7\n\ - ldrb r1, [r5]\n\ - movs r2, 0x1\n\ - movs r3, 0x2\n\ - bl ConvertIntToDecimalStringN\n\ - ldr r4, =gStringVar2\n\ - adds r0, r4, 0\n\ - adds r1, r6, 0\n\ - movs r2, 0x1\n\ - movs r3, 0x2\n\ - bl ConvertIntToDecimalStringN\n\ - bl DynamicPlaceholderTextUtil_Reset\n\ - movs r0, 0\n\ - mov r1, r8\n\ - bl DynamicPlaceholderTextUtil_SetPlaceholderPtr\n\ - movs r0, 0x1\n\ - adds r1, r4, 0\n\ - bl DynamicPlaceholderTextUtil_SetPlaceholderPtr\n\ - ldr r4, =gStringVar4\n\ - ldr r1, =gUnknown_0861CE97\n\ - adds r0, r4, 0\n\ - bl DynamicPlaceholderTextUtil_ExpandPlaceholders\n\ - adds r7, r4, 0\n\ - ldrb r0, [r5]\n\ - adds r1, r6, 0\n\ - bl GetCurrentPpToMaxPpState\n\ - lsls r0, 24\n\ - lsrs r0, 24\n\ - adds r5, r0, 0\n\ - adds r5, 0x9\n\ - movs r0, 0x1\n\ - adds r1, r7, 0\n\ - movs r2, 0x2C\n\ - bl GetStringRightAlignXOffset\n\ - mov r4, r9\n\ - b _081C3C26\n\ - .pool\n\ -_081C3C00:\n\ - ldr r1, =gText_OneDash\n\ - lsls r4, r7, 4\n\ - adds r3, r4, 0x1\n\ - lsls r3, 24\n\ - lsrs r3, 24\n\ - str r5, [sp]\n\ - movs r0, 0x1\n\ - str r0, [sp, 0x4]\n\ - mov r0, r8\n\ - movs r2, 0\n\ - bl sub_81C25A4\n\ - ldr r7, =gText_TwoDashes\n\ - movs r5, 0xC\n\ - movs r0, 0x1\n\ - adds r1, r7, 0\n\ - movs r2, 0x2C\n\ - bl GetStringCenterAlignXOffset\n\ -_081C3C26:\n\ - lsls r2, r0, 24\n\ - lsrs r2, 24\n\ - adds r3, r4, 0x1\n\ - lsls r3, 24\n\ - lsrs r3, 24\n\ - movs r0, 0\n\ - str r0, [sp]\n\ - lsls r0, r5, 24\n\ - lsrs r0, 24\n\ - str r0, [sp, 0x4]\n\ - ldr r0, [sp, 0x8]\n\ - adds r1, r7, 0\n\ - bl sub_81C25A4\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\ - .pool\n\ - .syntax divided\n"); -} -#endif void sub_81C3C5C(u16 move) { - u8 *text; + const u8 *text; if (move != 0) { FillWindowPixelRect(14, 0, 0x35, 0, 0x13, 0x20); @@ -3537,16 +3477,16 @@ void sub_81C3C5C(u16 move) } } -void sub_81C3D08() +void sub_81C3D08(void) { sub_81C3B08(0); sub_81C3B08(1); sub_81C3B08(2); sub_81C3B08(3); - if (gUnknown_0203CF1C->unk40BC == 3) + if (gUnknown_0203CF1C->mode == 3) { sub_81C3F44(); - sub_81C3E2C(gUnknown_0203CF1C->unk40C6); + sub_81C3E2C(gUnknown_0203CF1C->firstMoveIndex); } } @@ -3570,14 +3510,14 @@ void sub_81C3D54(u8 taskId) sub_81C3B08(3); break; case 4: - if (gUnknown_0203CF1C->unk40BC == 3) + if (gUnknown_0203CF1C->mode == 3) sub_81C3F44(); break; case 5: - if (gUnknown_0203CF1C->unk40BC == 3) + if (gUnknown_0203CF1C->mode == 3) { - if (!(gUnknown_0203CF1C->unk40C4 == 0 && gUnknown_0203CF1C->unk40C6 == 4)) - sub_81C3E2C(gUnknown_0203CF1C->unk40C6); + if (!(gUnknown_0203CF1C->newMove == MOVE_NONE && gUnknown_0203CF1C->firstMoveIndex == MAX_MON_MOVES)) + sub_81C3E2C(gUnknown_0203CF1C->firstMoveIndex); } break; case 6: @@ -3592,20 +3532,20 @@ void sub_81C3E2C(u8 moveSlot) u16 move; if (moveSlot == 4) - move = gUnknown_0203CF1C->unk40C4; + move = gUnknown_0203CF1C->newMove; else move = gUnknown_0203CF1C->summary.moves[moveSlot]; if (move != MOVE_NONE) { - u8 windowId = sub_81C2D2C(&gUnknown_0861CD14, 2); + u8 windowId = sub_81C2D2C(gUnknown_0861CD14, 2); sub_81C25A4(windowId, gContestEffectDescriptionPointers[gContestMoves[move].effect], 6, 1, 0, 0); } } void sub_81C3E9C(u16 move) { - u8 windowId = sub_81C2D2C(&gUnknown_0861CD14, 2); + u8 windowId = sub_81C2D2C(gUnknown_0861CD14, 2); FillWindowPixelBuffer(windowId, 0); if (move != MOVE_NONE) { @@ -3630,15 +3570,15 @@ void sub_81C3E9C(u16 move) void sub_81C3F44(void) { - u8 windowId1 = sub_81C2D2C(&gUnknown_0861CD14, 0); - u8 windowId2 = sub_81C2D2C(&gUnknown_0861CD14, 1); - if (gUnknown_0203CF1C->unk40C4 == MOVE_NONE) + u8 windowId1 = sub_81C2D2C(gUnknown_0861CD14, 0); + u8 windowId2 = sub_81C2D2C(gUnknown_0861CD14, 1); + if (gUnknown_0203CF1C->newMove == MOVE_NONE) { sub_81C25A4(windowId1, gText_Cancel, 0, 0x41, 0, 1); } else { - u16 move = gUnknown_0203CF1C->unk40C4; + u16 move = gUnknown_0203CF1C->newMove; if (gUnknown_0203CF1C->unk40C0 == 2) sub_81C25A4(windowId1, gMoveNames[move], 0, 0x41, 0, 6); else @@ -3655,15 +3595,15 @@ void sub_81C3F44(void) void sub_81C4064(void) { - u8 windowId = sub_81C2D2C(&gUnknown_0861CD14, 0); + u8 windowId = sub_81C2D2C(gUnknown_0861CD14, 0); FillWindowPixelRect(windowId, 0, 0, 0x42, 0x48, 0x10); CopyWindowToVram(windowId, 2); } void sub_81C40A0(u8 a, u8 b) { - u8 windowId1 = sub_81C2D2C(&gUnknown_0861CD14, 0); - u8 windowId2 = sub_81C2D2C(&gUnknown_0861CD14, 1); + u8 windowId1 = sub_81C2D2C(gUnknown_0861CD14, 0); + u8 windowId2 = sub_81C2D2C(gUnknown_0861CD14, 1); FillWindowPixelRect(windowId1, 0, 0, a * 16, 0x48, 0x10); FillWindowPixelRect(windowId1, 0, 0, b * 16, 0x48, 0x10); @@ -3677,7 +3617,7 @@ void sub_81C40A0(u8 a, u8 b) void sub_81C4154(void) { - u8 windowId = sub_81C2D2C(&gUnknown_0861CD14, 2); + u8 windowId = sub_81C2D2C(gUnknown_0861CD14, 2); FillWindowPixelBuffer(windowId, 0); sub_81C25A4(windowId, gText_HMMovesCantBeForgotten2, 6, 1, 0, 0); } @@ -3687,21 +3627,21 @@ void sub_81C4190(void) u8 i; for (i = 0; i < 28; i++) - gUnknown_0203CF1C->unk40D3[i] |= 0xFF; + gUnknown_0203CF1C->spriteIds[i] |= 0xFF; } void sub_81C41C0(u8 spriteArrayId) { - if (gUnknown_0203CF1C->unk40D3[spriteArrayId] != 0xFF) + if (gUnknown_0203CF1C->spriteIds[spriteArrayId] != 0xFF) { - DestroySprite(&gSprites[gUnknown_0203CF1C->unk40D3[spriteArrayId]]); - gUnknown_0203CF1C->unk40D3[spriteArrayId] = 0xFF; + DestroySprite(&gSprites[gUnknown_0203CF1C->spriteIds[spriteArrayId]]); + gUnknown_0203CF1C->spriteIds[spriteArrayId] = 0xFF; } } void sub_81C4204(u8 spriteArrayId, bool8 invisible) { - gSprites[gUnknown_0203CF1C->unk40D3[spriteArrayId]].invisible = invisible; + gSprites[gUnknown_0203CF1C->spriteIds[spriteArrayId]].invisible = invisible; } void sub_81C424C(void) @@ -3710,7 +3650,7 @@ void sub_81C424C(void) for (i = 3; i < 28; i++) { - if (gUnknown_0203CF1C->unk40D3[i] != 0xFF) + if (gUnknown_0203CF1C->spriteIds[i] != 0xFF) sub_81C4204(i, TRUE); } } @@ -3739,18 +3679,16 @@ void sub_81C42C8(void) for (i = 3; i < 8; i++) { - if (gUnknown_0203CF1C->unk40D3[i] == 0xFF) - gUnknown_0203CF1C->unk40D3[i] = CreateSprite(&gUnknown_0861CFC4, 0, 0, 2); + if (gUnknown_0203CF1C->spriteIds[i] == 0xFF) + gUnknown_0203CF1C->spriteIds[i] = CreateSprite(&gUnknown_0861CFC4, 0, 0, 2); sub_81C4204(i, TRUE); } } -extern const u8 gUnknown_0861CFDC[]; - void sub_81C4318(u8 typeId, u8 x, u8 y, u8 spriteArrayId) { - struct Sprite *sprite = &gSprites[gUnknown_0203CF1C->unk40D3[spriteArrayId]]; + struct Sprite *sprite = &gSprites[gUnknown_0203CF1C->spriteIds[spriteArrayId]]; StartSpriteAnim(sprite, typeId); sprite->oam.paletteNum = gUnknown_0861CFDC[typeId]; sprite->pos1.x = x + 16; @@ -3809,15 +3747,351 @@ void sub_81C4484(void) void sub_81C44F0(void) { - if (gUnknown_0203CF1C->unk40C4 == MOVE_NONE) + if (gUnknown_0203CF1C->newMove == MOVE_NONE) { sub_81C4204(7, TRUE); } else { if (gUnknown_0203CF1C->unk40C0 == 2) - sub_81C4318(gBattleMoves[gUnknown_0203CF1C->unk40C4].type, 0x55, 0x60, 7); + sub_81C4318(gBattleMoves[gUnknown_0203CF1C->newMove].type, 0x55, 0x60, 7); else - sub_81C4318(NUMBER_OF_MON_TYPES + gContestMoves[gUnknown_0203CF1C->unk40C4].contestCategory, 0x55, 0x60, 7); + sub_81C4318(NUMBER_OF_MON_TYPES + gContestMoves[gUnknown_0203CF1C->newMove].contestCategory, 0x55, 0x60, 7); + } +} + +void sub_81C4568(u8 a0, u8 a1) +{ + struct Sprite *sprite1 = &gSprites[gUnknown_0203CF1C->spriteIds[a0 + 3]]; + struct Sprite *sprite2 = &gSprites[gUnknown_0203CF1C->spriteIds[a1 + 3]]; + + u8 temp = sprite1->animNum; + sprite1->animNum = sprite2->animNum; + sprite2->animNum = temp; + + temp = sprite1->oam.paletteNum; + sprite1->oam.paletteNum = sprite2->oam.paletteNum; + sprite2->oam.paletteNum = temp; + + sprite1->animBeginning = TRUE; + sprite1->animEnded = FALSE; + sprite2->animBeginning = TRUE; + sprite2->animEnded = FALSE; +} + +u8 sub_81C45F4(struct Pokemon *mon, s16 *a1) +{ + const struct CompressedSpritePalette *pal; + struct PokeSummary *summary = &gUnknown_0203CF1C->summary; + + switch (*a1) + { + default: + return sub_81C47B4(mon); + case 0: + if (gMain.inBattle) + { + if (sub_80688F8(3, gUnknown_0203CF1C->curMonIndex)) + { + HandleLoadSpecialPokePic_DontHandleDeoxys(&gMonFrontPicTable[summary->species2], gMonSpritesGfxPtr->sprites[1], summary->species2, summary->pid); + } + else + { + HandleLoadSpecialPokePic_2(&gMonFrontPicTable[summary->species2], gMonSpritesGfxPtr->sprites[1], summary->species2, summary->pid); + } + } + else + { + if (gMonSpritesGfxPtr != NULL) + { + if (gUnknown_0203CF1C->monList.mons == gPlayerParty || gUnknown_0203CF1C->mode == 2 || gUnknown_0203CF1C->unk40EF == TRUE) + { + HandleLoadSpecialPokePic_2(&gMonFrontPicTable[summary->species2], gMonSpritesGfxPtr->sprites[1], summary->species2, summary->pid); + } + else + { + HandleLoadSpecialPokePic_DontHandleDeoxys(&gMonFrontPicTable[summary->species2], gMonSpritesGfxPtr->sprites[1], summary->species2, summary->pid); + } + } + else + { + if (gUnknown_0203CF1C->monList.mons == gPlayerParty || gUnknown_0203CF1C->mode == 2 || gUnknown_0203CF1C->unk40EF == TRUE) + { + HandleLoadSpecialPokePic_2(&gMonFrontPicTable[summary->species2], sub_806F4F8(0, 1), summary->species2, summary->pid); + } + else + { + HandleLoadSpecialPokePic_DontHandleDeoxys(&gMonFrontPicTable[summary->species2], sub_806F4F8(0, 1), summary->species2, summary->pid); + } + } + } + (*a1)++; + return -1; + case 1: + pal = GetMonSpritePalStructFromOtIdPersonality(summary->species2, summary->OTID, summary->pid); + LoadCompressedObjectPalette(pal); + SetMultiuseSpriteTemplateToPokemon(pal->tag, 1); + (*a1)++; + return -1; + } +} + +void sub_81C4778(void) +{ + struct PokeSummary *summary = &gUnknown_0203CF1C->summary; + if (!summary->isEgg) + { + if (ShouldPlayNormalMonCry(&gUnknown_0203CF1C->currentMon) == TRUE) + { + PlayCry3(summary->species2, 0, 0); + } + else + { + PlayCry3(summary->species2, 0, 11); + } + } +} + +u8 sub_81C47B4(struct Pokemon *unused) +{ + struct PokeSummary *summary = &gUnknown_0203CF1C->summary; + u8 spriteId = CreateSprite(&gMultiuseSpriteTemplate, 40, 64, 5); + struct Sprite *sprite = &gSprites[spriteId]; + + FreeSpriteOamMatrix(sprite); + + sprite->data[0] = summary->species2; + sprite->data[2] = 0; + gSprites[spriteId].callback = sub_81C4844; + sprite->oam.priority = 0; + + if (!IsMonSpriteNotFlipped(summary->species2)) + { + sprite->hFlip = TRUE; + } + else + { + sprite->hFlip = FALSE; + } + + return spriteId; +} + +void sub_81C4844(struct Sprite *sprite) +{ + struct PokeSummary *summary = &gUnknown_0203CF1C->summary; + + if (!gPaletteFade.active && sprite->data[2] != 1) + { + sprite->data[1] = IsMonSpriteNotFlipped(sprite->data[0]); + sub_81C4778(); + PokemonSummaryDoMonAnimation(sprite, sprite->data[0], summary->isEgg); + } +} + +void sub_81C488C(u8 a0) +{ + sUnusedTaskId = a0; +} + +void sub_81C4898(void) +{ + if (sUnusedTaskId != 0xFF) + { + DestroyTask(sUnusedTaskId); + sUnusedTaskId = 0xFF; + } +} + +bool32 sub_81C48B4(void) +{ + if (gSprites[gUnknown_0203CF1C->spriteIds[0]].callback == SpriteCallbackDummy) + { + return FALSE; + } + else + { + return TRUE; + } +} + +void sub_81C48F0(void) +{ + u16 i; + u16 paletteIndex; + + gSprites[gUnknown_0203CF1C->spriteIds[0]].animPaused = TRUE; + gSprites[gUnknown_0203CF1C->spriteIds[0]].callback = SpriteCallbackDummy; + sub_806EE98(); + + paletteIndex = (gSprites[gUnknown_0203CF1C->spriteIds[0]].oam.paletteNum * 16) | 0x100; + + for (i = 0; i < 16; i++) + { + gPlttBufferUnfaded[(u16)(i + paletteIndex)] = gPlttBufferFaded[(u16)(i + paletteIndex)]; + } +} + +void sub_81C4984(struct Pokemon *mon) +{ + struct Sprite *sprite = sub_811FF94(30003, 30003, gUnknown_0861D120); + + gUnknown_0203CF1C->markingsSpriteId = sprite; + + if (sprite != NULL) + { + StartSpriteAnim(sprite, GetMonData(mon, MON_DATA_MARKINGS)); + gUnknown_0203CF1C->markingsSpriteId->pos1.x = 60; + gUnknown_0203CF1C->markingsSpriteId->pos1.y = 26; + gUnknown_0203CF1C->markingsSpriteId->oam.priority = 1; + } +} + +void sub_81C49E0(struct Pokemon *mon) +{ + DestroySprite(gUnknown_0203CF1C->markingsSpriteId); + FreeSpriteTilesByTag(30003); + sub_81C4984(mon); +} + +void sub_81C4A08(struct Pokemon *mon) +{ + u8 ball = ItemIdToBallId(GetMonData(mon, MON_DATA_POKEBALL)); + + LoadBallGfx(ball); + gUnknown_0203CF1C->spriteIds[1] = CreateSprite(&gBallSpriteTemplates[ball], 16, 136, 0); + gSprites[gUnknown_0203CF1C->spriteIds[1]].callback = SpriteCallbackDummy; + gSprites[gUnknown_0203CF1C->spriteIds[1]].oam.priority = 3; +} + +void sub_81C4A88(void) +{ + u8 *spriteId = &gUnknown_0203CF1C->spriteIds[2]; + u8 anim; + + if (*spriteId == 0xFF) + { + *spriteId = CreateSprite(&gUnknown_0861D108, 64, 152, 0); + } + + anim = sub_81B205C(&gUnknown_0203CF1C->currentMon); + + if (anim != 0) + { + StartSpriteAnim(&gSprites[*spriteId], anim - 1); + sub_81C4204(2, FALSE); + } + else + { + sub_81C4204(2, TRUE); + } +} + +void sub_81C4AF8(u8 a0) +{ + u8 i; + u8 *spriteIds = &gUnknown_0203CF1C->spriteIds[a0]; + + if (gUnknown_0203CF1C->unk40C0 > 1) + { + u8 subsprite = 0; + if (a0 == 8) + { + subsprite = 1; + } + + for (i = 0; i < 10; i++) + { + spriteIds[i] = CreateSprite(&gUnknown_0861D084, i * 16 + 89, 40, subsprite); + if (i == 0) + { + StartSpriteAnim(&gSprites[spriteIds[0]], 4); + } + else if (i == 9) + { + StartSpriteAnim(&gSprites[spriteIds[9]], 5); + } + else + { + StartSpriteAnim(&gSprites[spriteIds[i]], 6); + } + gSprites[spriteIds[i]].callback = sub_81C4BE4; + gSprites[spriteIds[i]].data[0] = a0; + gSprites[spriteIds[i]].data[1] = 0; + } + } +} + +void sub_81C4BE4(struct Sprite *sprite) +{ + if (sprite->animNum > 3 && sprite->animNum < 7) + { + sprite->data[1] = (sprite->data[1] + 1) & 0x1F; + if (sprite->data[1] > 24) + { + sprite->invisible = TRUE; + } + else + { + sprite->invisible = FALSE; + } + } + else + { + sprite->data[1] = 0; + sprite->invisible = FALSE; + } + + if (sprite->data[0] == 8) + { + sprite->pos2.y = gUnknown_0203CF1C->firstMoveIndex * 16; + } + else + { + sprite->pos2.y = gUnknown_0203CF1C->secondMoveIndex * 16; + } +} + +void sub_81C4C60(u8 a0) +{ + u8 i; + for (i = 0; i < 10; i++) + { + sub_81C41C0(a0 + i); + } +} + +void sub_81C4C84(u8 a0) +{ + u8 i; + u8 *spriteIds = &gUnknown_0203CF1C->spriteIds[8]; + a0 *= 3; + + for (i = 0; i < 10; i++) + { + if (i == 0) + { + StartSpriteAnim(&gSprites[spriteIds[0]], a0 + 4); + } + else if (i == 9) + { + StartSpriteAnim(&gSprites[spriteIds[9]], a0 + 5); + } + else + { + StartSpriteAnim(&gSprites[spriteIds[i]], a0 + 6); + } + } +} + +void sub_81C4D18(u8 a0) +{ + u8 i; + u8 *spriteIds = &gUnknown_0203CF1C->spriteIds[a0]; + + for (i = 0; i < 10; i++) + { + gSprites[spriteIds[i]].data[1] = 0; + gSprites[spriteIds[i]].invisible = FALSE; } } diff --git a/src/unk_pokedex_area_screen_helper.c b/src/unk_pokedex_area_screen_helper.c new file mode 100644 index 0000000000..3bed79a655 --- /dev/null +++ b/src/unk_pokedex_area_screen_helper.c @@ -0,0 +1,75 @@ +#include "global.h" +#include "main.h" +#include "menu.h" +#include "bg.h" +#include "malloc.h" +#include "palette.h" + +EWRAM_DATA u8 *gUnknown_0203CF28 = NULL; + +static const u16 gUnknown_0861D140[] = INCBIN_U16("graphics/interface/region_map.gbapal"); +extern const u8 gUnknown_0861D1A0[]; +extern const u8 gUnknown_0861DEF4[]; +extern const u8 gUnknown_0861E208[]; +extern const u8 gUnknown_0861EF64[]; + +struct UnkStruct_1C4D70 +{ + u32 bg:2; + u32 unk2:8; + u32 unk10:2; + u32 unk12:20; +}; + +void sub_81C4D70(struct UnkStruct_1C4D70 *template) +{ + u8 unk; + gUnknown_0203CF28 = Alloc(4); + unk = template->unk10; + + if (unk == 0) + { + SetBgAttribute(template->bg, BG_CTRL_ATTR_WRAPAROUND, 0); + decompress_and_copy_tile_data_to_vram(template->bg, gUnknown_0861D1A0, 0, template->unk2, unk); + sub_8199D3C(decompress_and_copy_tile_data_to_vram(template->bg, gUnknown_0861DEF4, 0, 0, 1), template->unk2, 32, 32, unk); + } + else + { + SetBgAttribute(template->bg, BG_CTRL_ATTR_WRAPAROUND, 2); + SetBgAttribute(template->bg, 9, 1); + decompress_and_copy_tile_data_to_vram(template->bg, gUnknown_0861E208, 0, template->unk2, 0); + sub_8199D3C(decompress_and_copy_tile_data_to_vram(template->bg, gUnknown_0861EF64, 0, 0, 1), template->unk2, 64, 64, 1); + } + + ChangeBgX(template->bg, 0, 0); + ChangeBgY(template->bg, 0, 0); + SetBgAttribute(template->bg, BG_CTRL_ATTR_SCREENSIZE, 1); + CpuCopy32(gUnknown_0861D140, &gPlttBufferUnfaded[0x70], 0x60); + *gUnknown_0203CF28 = template->bg; +} + +bool32 sub_81C4E90(void) +{ + if (!free_temp_tile_data_buffers_if_possible()) + { + ShowBg(*gUnknown_0203CF28); + return FALSE; + } + else + { + return TRUE; + } +} + +void sub_81C4EB4(void) +{ + if (gUnknown_0203CF28 != NULL) + { + FREE_AND_SET_NULL(gUnknown_0203CF28); + } +} + +void sub_81C4ED0(u32 a0) +{ + ChangeBgY(*gUnknown_0203CF28, a0 * 0x100, 0); +} diff --git a/sym_ewram.txt b/sym_ewram.txt index cf1c8b8d7f..b54d52f905 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -739,30 +739,9 @@ gUnknown_0203CF00: @ 203CF00 .include "src/fossil_specials.o" .include "src/fldeff_groundshake.o" - -gUnknown_0203CF1C: @ 203CF1C - .space 0x4 - -gUnknown_0203CF20: @ 203CF20 - .space 0x1 - -gUnknown_0203CF21: @ 203CF21 - .space 0x3 - -gUnknown_0203CF24: @ 203CF24 - .space 0x4 - -gUnknown_0203CF28: @ 203CF28 - .space 0x4 - -gUnknown_0203CF2C: @ 203CF2C - .space 0x4 - -gUnknown_0203CF30: @ 203CF30 - .space 0x8 - -gUnknown_0203CF38: @ 203CF38 - .space 0x4 + .include "src/pokemon_summary_screen.o" + .include "src/unk_pokedex_area_screen_helper.o" + .include "src/battle_pyramid.o" gUnknown_0203CF3C: @ 203CF3C .space 0x4 From 332a8bcb1d6c9b01e27cc4f5a7a08ae26bf62f79 Mon Sep 17 00:00:00 2001 From: Diegoisawesome Date: Tue, 14 Aug 2018 22:05:48 -0700 Subject: [PATCH 100/234] Extract rodata for unk_pokedex_area_screen_helper --- ...ex_area_screen_helper.s => battle_pyramid.s} | 16 ---------------- include/pokemon_storage_system.h | 2 +- include/pokemon_summary_screen.h | 2 +- ld_script.txt | 2 +- src/pokemon_summary_screen.c | 17 ++++++++--------- src/unk_pokedex_area_screen_helper.c | 8 ++++---- 6 files changed, 15 insertions(+), 32 deletions(-) rename data/{unk_pokedex_area_screen_helper.s => battle_pyramid.s} (87%) diff --git a/data/unk_pokedex_area_screen_helper.s b/data/battle_pyramid.s similarity index 87% rename from data/unk_pokedex_area_screen_helper.s rename to data/battle_pyramid.s index 2f3881446f..7327fb1f80 100644 --- a/data/unk_pokedex_area_screen_helper.s +++ b/data/battle_pyramid.s @@ -3,22 +3,6 @@ .section .rodata - .align 2 -gUnknown_0861D1A0:: @ 861D1A0 - .incbin "graphics/interface/region_map.8bpp.lz" - - .align 2 -gUnknown_0861DEF4:: @ 861DEF4 - .incbin "graphics/interface/region_map.bin.lz" - - .align 2 -gUnknown_0861E208:: @ 861E208 - .incbin "graphics/interface/region_map_affine.8bpp.lz" - - .align 2 -gUnknown_0861EF64:: @ 861EF64 - .incbin "graphics/interface/region_map_affine.bin.lz" - .align 2 gUnknown_0861F2B4:: @ 861F2B4 .4byte 0x000011f0, 0x000001e1, 0x000021de diff --git a/include/pokemon_storage_system.h b/include/pokemon_storage_system.h index a73958d904..9b5358f062 100644 --- a/include/pokemon_storage_system.h +++ b/include/pokemon_storage_system.h @@ -83,6 +83,6 @@ void CompactPartySlots(void); u32 GetBoxMonDataFromAnyBox(u8 boxId, u8 monPosition, u32 request); bool8 CheckFreePokemonStorageSpace(void); u8 StorageGetCurrentBox(void); -u8 sub_80D214C(struct BoxPokemon* a, u8 b, u8 c, u8 d); +u8 sub_80D214C(struct BoxPokemon *a, u8 b, u8 c, u8 d); #endif // GUARD_POKEMON_STORAGE_SYSTEM_H diff --git a/include/pokemon_summary_screen.h b/include/pokemon_summary_screen.h index 0580e793c6..b29548258d 100755 --- a/include/pokemon_summary_screen.h +++ b/include/pokemon_summary_screen.h @@ -2,6 +2,6 @@ #define GUARD_POKEMON_SUMMARY_SCREEN_H void sub_81C4F98(u8, void(*)(void)); -void ShowSelectMovePokemonSummaryScreen(struct Pokemon *a, u8 b, u8 c, void *d, u16 e); +void ShowSelectMovePokemonSummaryScreen(struct Pokemon *, u8, u8, MainCallback, u16); #endif // GUARD_POKEMON_SUMMARY_SCREEN_H diff --git a/ld_script.txt b/ld_script.txt index 462af2946c..2311301b00 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -540,7 +540,7 @@ SECTIONS { src/berry_fix_program.o(.rodata); src/pokemon_summary_screen.o(.rodata); src/unk_pokedex_area_screen_helper.o(.rodata); - data/unk_pokedex_area_screen_helper.o(.rodata); + data/battle_pyramid.o(.rodata); data/pokenav.o(.rodata); src/match_call.o(.rodata); data/pokenav.o(.rodata.after.match.call); diff --git a/src/pokemon_summary_screen.c b/src/pokemon_summary_screen.c index b5117d45da..4d194f74ac 100644 --- a/src/pokemon_summary_screen.c +++ b/src/pokemon_summary_screen.c @@ -45,13 +45,12 @@ static EWRAM_DATA struct UnkSummaryStruct { - /*0x00*/ union - { + /*0x00*/ union { struct Pokemon *mons; struct BoxPokemon *boxMons; } monList; - /*0x04*/ void (*callback)(void); - /*0x08*/ struct Sprite *markingsSpriteId; + /*0x04*/ MainCallback callback; + /*0x08*/ struct Sprite *markingsSprite; /*0x0C*/ struct Pokemon currentMon; /*0x70*/ struct PokeSummary { @@ -3936,20 +3935,20 @@ void sub_81C4984(struct Pokemon *mon) { struct Sprite *sprite = sub_811FF94(30003, 30003, gUnknown_0861D120); - gUnknown_0203CF1C->markingsSpriteId = sprite; + gUnknown_0203CF1C->markingsSprite = sprite; if (sprite != NULL) { StartSpriteAnim(sprite, GetMonData(mon, MON_DATA_MARKINGS)); - gUnknown_0203CF1C->markingsSpriteId->pos1.x = 60; - gUnknown_0203CF1C->markingsSpriteId->pos1.y = 26; - gUnknown_0203CF1C->markingsSpriteId->oam.priority = 1; + gUnknown_0203CF1C->markingsSprite->pos1.x = 60; + gUnknown_0203CF1C->markingsSprite->pos1.y = 26; + gUnknown_0203CF1C->markingsSprite->oam.priority = 1; } } void sub_81C49E0(struct Pokemon *mon) { - DestroySprite(gUnknown_0203CF1C->markingsSpriteId); + DestroySprite(gUnknown_0203CF1C->markingsSprite); FreeSpriteTilesByTag(30003); sub_81C4984(mon); } diff --git a/src/unk_pokedex_area_screen_helper.c b/src/unk_pokedex_area_screen_helper.c index 3bed79a655..521af6dd9b 100644 --- a/src/unk_pokedex_area_screen_helper.c +++ b/src/unk_pokedex_area_screen_helper.c @@ -8,10 +8,10 @@ EWRAM_DATA u8 *gUnknown_0203CF28 = NULL; static const u16 gUnknown_0861D140[] = INCBIN_U16("graphics/interface/region_map.gbapal"); -extern const u8 gUnknown_0861D1A0[]; -extern const u8 gUnknown_0861DEF4[]; -extern const u8 gUnknown_0861E208[]; -extern const u8 gUnknown_0861EF64[]; +static const u8 gUnknown_0861D1A0[] = INCBIN_U8("graphics/interface/region_map.8bpp.lz"); +static const u8 gUnknown_0861DEF4[] = INCBIN_U8("graphics/interface/region_map.bin.lz"); +static const u8 gUnknown_0861E208[] = INCBIN_U8("graphics/interface/region_map_affine.8bpp.lz"); +static const u8 gUnknown_0861EF64[] = INCBIN_U8("graphics/interface/region_map_affine.bin.lz"); struct UnkStruct_1C4D70 { From 0bc975bf57a1603d2d23265ea9fad39cc05622b9 Mon Sep 17 00:00:00 2001 From: Diegoisawesome Date: Wed, 15 Aug 2018 01:44:20 -0700 Subject: [PATCH 101/234] Document and cleanup pokemon_summary_screen --- asm/battle_frontier_2.s | 4 +- asm/party_menu.s | 6 +- asm/pokemon_storage_system.s | 4 +- asm/trade.s | 4 +- include/constants/region_map_sections.h | 4 + include/pokemon_summary_screen.h | 10 + src/pokemon_summary_screen.c | 984 +++++++++++++----------- 7 files changed, 554 insertions(+), 462 deletions(-) diff --git a/asm/battle_frontier_2.s b/asm/battle_frontier_2.s index 8f2d7b0e01..7e72aaf763 100644 --- a/asm/battle_frontier_2.s +++ b/asm/battle_frontier_2.s @@ -1244,7 +1244,7 @@ _0819AF1A: movs r0, 0x1 adds r2, r6, 0 movs r3, 0x5 - bl sub_81BF8EC + bl ShowPokemonSummaryScreen _0819AF50: add sp, 0x4 pop {r4-r6} @@ -4373,7 +4373,7 @@ _0819C9C4: str r0, [sp] movs r0, 0 movs r3, 0x2 - bl sub_81BF8EC + bl ShowPokemonSummaryScreen _0819C9F0: add sp, 0x4 pop {r4-r6} diff --git a/asm/party_menu.s b/asm/party_menu.s index 5c70e218e6..92c4905a49 100644 --- a/asm/party_menu.s +++ b/asm/party_menu.s @@ -6796,7 +6796,7 @@ sub_81B3828: @ 81B3828 ldr r0, =sub_81B3894 str r0, [sp] movs r0, 0x1 - bl sub_81BF8EC + bl ShowPokemonSummaryScreen b _081B3880 .pool _081B3868: @@ -6810,7 +6810,7 @@ _081B3868: ldr r0, =sub_81B3894 str r0, [sp] movs r0, 0 - bl sub_81BF8EC + bl ShowPokemonSummaryScreen _081B3880: add sp, 0x4 pop {r4} @@ -17663,7 +17663,7 @@ sub_81B968C: @ 81B968C ldr r0, =CB2_ReturnToField str r0, [sp] movs r0, 0x3 - bl sub_81BF8EC + bl ShowPokemonSummaryScreen ldr r1, =gFieldCallback ldr r0, =sub_80AF168 str r0, [r1] diff --git a/asm/pokemon_storage_system.s b/asm/pokemon_storage_system.s index 2633db13f5..8fb4f2decc 100644 --- a/asm/pokemon_storage_system.s +++ b/asm/pokemon_storage_system.s @@ -3685,7 +3685,7 @@ _080C9EB4: adds r1, r4, 0 adds r2, r7, 0 adds r3, r6, 0 - bl sub_81BFA80 + bl ShowPokemonSummaryScreenSet40EF b _080C9F56 .pool _080C9F04: @@ -3695,7 +3695,7 @@ _080C9F04: adds r1, r4, 0 adds r2, r7, 0 adds r3, r6, 0 - bl sub_81BF8EC + bl ShowPokemonSummaryScreen b _080C9F56 .pool _080C9F1C: diff --git a/asm/trade.s b/asm/trade.s index 19dfd5ff92..958bb77ea3 100644 --- a/asm/trade.s +++ b/asm/trade.s @@ -3499,7 +3499,7 @@ sub_807905C: @ 807905C ldr r0, =sub_8077B74 str r0, [sp] movs r0, 0x1 - bl sub_81BF8EC + bl ShowPokemonSummaryScreen b _080790C0 .pool _080790A4: @@ -3515,7 +3515,7 @@ _080790A4: ldr r0, =sub_8077B74 str r0, [sp] movs r0, 0x1 - bl sub_81BF8EC + bl ShowPokemonSummaryScreen _080790C0: bl FreeAllWindowBuffers _080790C4: diff --git a/include/constants/region_map_sections.h b/include/constants/region_map_sections.h index b9c518b1b6..8ff75dfa98 100644 --- a/include/constants/region_map_sections.h +++ b/include/constants/region_map_sections.h @@ -216,4 +216,8 @@ #define MAPSEC_TRAINER_HILL 0xD4 #define MAPSEC_NONE 0xD5 +#define MAPSEC_SPECIAL_EGG 0xFD +#define MAPSEC_IN_GAME_TRADE 0xFE +#define MAPSEC_FATEFUL_ENCOUNTER 0xFF + #endif //GUARD_REGIONMAPSEC_H diff --git a/include/pokemon_summary_screen.h b/include/pokemon_summary_screen.h index b29548258d..51175a36a0 100755 --- a/include/pokemon_summary_screen.h +++ b/include/pokemon_summary_screen.h @@ -4,4 +4,14 @@ void sub_81C4F98(u8, void(*)(void)); void ShowSelectMovePokemonSummaryScreen(struct Pokemon *, u8, u8, MainCallback, u16); +// The Pokemon Summary Screen can operate in different modes. Certain features, +// such as move re-ordering, are available in the different modes. +enum PokemonSummaryScreenMode +{ + PSS_MODE_NORMAL, + PSS_MODE_UNK1, + PSS_MODE_UNK2, + PSS_MODE_SELECT_MOVE, +}; + #endif // GUARD_POKEMON_SUMMARY_SCREEN_H diff --git a/src/pokemon_summary_screen.c b/src/pokemon_summary_screen.c index 4d194f74ac..347f382859 100644 --- a/src/pokemon_summary_screen.c +++ b/src/pokemon_summary_screen.c @@ -28,6 +28,7 @@ #include "pokeball.h" #include "pokemon.h" #include "pokemon_storage_system.h" +#include "pokemon_summary_screen.h" #include "region_map.h" #include "scanline_effect.h" #include "sound.h" @@ -40,6 +41,7 @@ #include "window.h" #include "constants/items.h" #include "constants/moves.h" +#include "constants/region_map_sections.h" #include "constants/songs.h" #include "constants/species.h" @@ -58,7 +60,7 @@ static EWRAM_DATA struct UnkSummaryStruct u16 species2; // 0x2 u8 isEgg; // 0x4 u8 level; // 0x5 - u8 ribbons; // 0x6 + u8 ribbonCount; // 0x6 u8 unk7; // 0x7 u8 altAbility; // 0x8 u8 metLocation; // 0x9 @@ -93,9 +95,9 @@ static EWRAM_DATA struct UnkSummaryStruct bool8 isBoxMon; u8 curMonIndex; u8 maxMonIndex; - u8 unk40C0; - u8 unk40C1; - u8 unk40C2; + u8 currPageIndex; + u8 minPageIndex; + u8 maxPageIndex; bool8 unk40C3; u16 newMove; u8 firstMoveIndex; @@ -131,10 +133,10 @@ struct UnkStruct_61CC04 bool8 sub_81B1250(void); bool8 sub_81BFB10(void); void sub_81BFAE4(void); -void sub_81BFE24(void); +static void InitBGs(void); u8 sub_81BFEB0(void); -void sub_81C0098(struct Pokemon* a); -bool8 sub_81C00F0(struct Pokemon* a); +void CopyMonToSummaryStruct(struct Pokemon* a); +bool8 ExtractMonDataToSummaryStruct(struct Pokemon* a); void sub_81C0348(void); void sub_81C0484(u8 taskId); void sub_81C0510(u8 taskId); @@ -156,7 +158,7 @@ void sub_81C1070(s16* a, s8 b, u8* c); void sub_81C11F4(u8 a); void sub_81C129C(u8 a); void sub_81C12E4(u8 taskId); -void sub_81C13B0(u8 a, u8 b); +void sub_81C13B0(u8 taskId, bool8 b); void sub_81C14BC(struct Pokemon *mon, u8 a, u8 b); void sub_81C15EC(struct BoxPokemon *mon, u8 a, u8 b); void sub_81C171C(u8 taskId); @@ -181,7 +183,7 @@ void sub_81C25E8(void); void sub_81C2628(void); void sub_81C2794(void); void sub_81C27DC(struct Pokemon *mon, u16 a); -void sub_81C286C(void); +void PrintRentalMonStatsPage(void); void sub_81C2AFC(u8 a); void sub_81C2C38(u8 a); void sub_81C2D68(u8 a); @@ -189,38 +191,38 @@ void sub_81C2D9C(u8 a); void sub_81C2DE4(u8 a); void sub_81C2E00(void); void sub_81C2E40(u8 taskId); -void sub_81C2EC4(void); -void sub_81C2F5C(void); -void sub_81C2FD8(void); -void sub_81C302C(void); -void sub_81C307C(void); -void sub_81C3194(void); -void sub_81C31C0(void); -void sub_81C31F0(u8 *a); -u8 sub_81C3220(void); -bool8 sub_81C32BC(void); -bool8 sub_81C3304(void); -void sub_81C335C(void); -void sub_81C33CC(void); -void sub_81C3428(void); -void sub_81C349C(void); +void PrintMonOTName(void); +void PrintMonOTID(void); +void PrintMonAbilityName(void); +void PrintMonAbilityDescription(void); +void BufferMonTrainerMemo(void); +void PrintMonTrainerMemo(void); +void BufferNatureString(void); +void GetMetLevelString(u8 *a); +bool8 DoesMonOTMatchOwner(void); +bool8 MonCameFromGBAGames(void); +bool8 IsInGamePartnerMon(void); +void PrintEggOTName(void); +void PrintEggOTID(void); +void PrintEggState(void); +void PrintEggMemo(void); void sub_81C3554(u8 taskId); -void sub_81C35E4(void); +void PrintHeldItemName(void); void sub_81C3530(void); -void sub_81C3690(void); -void sub_81C3710(void); -void sub_81C37D8(void); -void sub_81C3808(void); -void sub_81C3890(void); -void sub_81C38C0(void); +void PrintRibbonCount(void); +void BufferLeftColumnStats(void); +void PrintLeftColumnStats(void); +void BufferRightColumnStats(void); +void PrintRightColumnStats(void); +void PrintExpPointsNextLevel(void); void sub_81C3984(void); void sub_81C39F0(u8 taskId); -void sub_81C3B08(u8 a); +void PrintMoveNameAndPP(u8 a); void sub_81C3D08(void); void sub_81C3D54(u8 taskId); void sub_81C3E2C(u8 a); void sub_81C3E9C(u16 a); -void sub_81C3F44(void); +void PrintNewMoveDetailsOrCancelText(void); void sub_81C4064(void); void sub_81C40A0(u8 a, u8 b); void sub_81C4154(void); @@ -238,7 +240,7 @@ u8 sub_81C45F4(struct Pokemon *a, s16 *b); u8 sub_81C47B4(struct Pokemon *unused); void sub_81C4844(struct Sprite *); void sub_81C488C(u8 a); -void sub_81C4898(void); +void DestoryUnusedTask(void); void sub_81C48F0(void); void sub_81C4984(struct Pokemon *mon); void sub_81C49E0(struct Pokemon *mon); @@ -710,7 +712,7 @@ static const struct SpriteTemplate gUnknown_0861D108 = static const u16 gUnknown_0861D120[] = INCBIN_U16("graphics/interface/summary_markings.gbapal"); // code -void sub_81BF8EC(u8 mode, void *mons, u8 monIndex, u8 maxMonIndex, void (*callback)(void)) +void ShowPokemonSummaryScreen(u8 mode, void *mons, u8 monIndex, u8 maxMonIndex, void (*callback)(void)) { gUnknown_0203CF1C = AllocZeroed(sizeof(*gUnknown_0203CF1C)); gUnknown_0203CF1C->mode = mode; @@ -719,31 +721,31 @@ void sub_81BF8EC(u8 mode, void *mons, u8 monIndex, u8 maxMonIndex, void (*callba gUnknown_0203CF1C->maxMonIndex = maxMonIndex; gUnknown_0203CF1C->callback = callback; - if (mode == 2) + if (mode == PSS_MODE_UNK2) gUnknown_0203CF1C->isBoxMon = TRUE; else gUnknown_0203CF1C->isBoxMon = FALSE; switch (mode) { - case 0: - case 2: - gUnknown_0203CF1C->unk40C1 = 0; - gUnknown_0203CF1C->unk40C2 = 3; + case PSS_MODE_NORMAL: + case PSS_MODE_UNK2: + gUnknown_0203CF1C->minPageIndex = 0; + gUnknown_0203CF1C->maxPageIndex = 3; break; - case 1: - gUnknown_0203CF1C->unk40C1 = 0; - gUnknown_0203CF1C->unk40C2 = 3; + case PSS_MODE_UNK1: + gUnknown_0203CF1C->minPageIndex = 0; + gUnknown_0203CF1C->maxPageIndex = 3; gUnknown_0203CF1C->unk40C8 = TRUE; break; - case 3: - gUnknown_0203CF1C->unk40C1 = 2; - gUnknown_0203CF1C->unk40C2 = 3; + case PSS_MODE_SELECT_MOVE: + gUnknown_0203CF1C->minPageIndex = 2; + gUnknown_0203CF1C->maxPageIndex = 3; gUnknown_0203CF1C->unk40C3 = TRUE; break; } - gUnknown_0203CF1C->unk40C0 = gUnknown_0203CF1C->unk40C1; + gUnknown_0203CF1C->currPageIndex = gUnknown_0203CF1C->minPageIndex; sub_81C488C(-1); if (gMonSpritesGfxPtr == 0) @@ -754,13 +756,13 @@ void sub_81BF8EC(u8 mode, void *mons, u8 monIndex, u8 maxMonIndex, void (*callba void ShowSelectMovePokemonSummaryScreen(struct Pokemon *mons, u8 monIndex, u8 maxMonIndex, void (*callback)(void), u16 newMove) { - sub_81BF8EC(3, mons, monIndex, maxMonIndex, callback); + ShowPokemonSummaryScreen(PSS_MODE_SELECT_MOVE, mons, monIndex, maxMonIndex, callback); gUnknown_0203CF1C->newMove = newMove; } -void sub_81BFA80(u8 a, struct BoxPokemon *mons, u8 monIndex, u8 maxMonIndex, void (*callback)(void)) +void ShowPokemonSummaryScreenSet40EF(u8 mode, struct BoxPokemon *mons, u8 monIndex, u8 maxMonIndex, void (*callback)(void)) { - sub_81BF8EC(a, mons, monIndex, maxMonIndex, callback); + ShowPokemonSummaryScreen(mode, mons, monIndex, maxMonIndex, callback); gUnknown_0203CF1C->unk40EF = TRUE; } @@ -813,7 +815,7 @@ bool8 sub_81BFB10(void) gMain.state++; break; case 5: - sub_81BFE24(); + InitBGs(); gUnknown_0203CF1C->unk40F0 = 0; gMain.state++; break; @@ -830,12 +832,12 @@ bool8 sub_81BFB10(void) gMain.state++; break; case 9: - sub_81C0098(&gUnknown_0203CF1C->currentMon); + CopyMonToSummaryStruct(&gUnknown_0203CF1C->currentMon); gUnknown_0203CF1C->unk40F0 = 0; gMain.state++; break; case 10: - if (sub_81C00F0(&gUnknown_0203CF1C->currentMon) != 0) + if (ExtractMonDataToSummaryStruct(&gUnknown_0203CF1C->currentMon) != 0) gMain.state++; break; case 11: @@ -843,11 +845,11 @@ bool8 sub_81BFB10(void) gMain.state++; break; case 12: - sub_81C286C(); + PrintRentalMonStatsPage(); gMain.state++; break; case 13: - sub_81C2D9C(gUnknown_0203CF1C->unk40C0); + sub_81C2D9C(gUnknown_0203CF1C->currPageIndex); gMain.state++; break; case 14: @@ -855,7 +857,7 @@ bool8 sub_81BFB10(void) gMain.state++; break; case 15: - sub_81C2AFC(gUnknown_0203CF1C->unk40C0); + sub_81C2AFC(gUnknown_0203CF1C->currPageIndex); gMain.state++; break; case 16: @@ -889,7 +891,7 @@ bool8 sub_81BFB10(void) gMain.state++; break; case 22: - if (gUnknown_0203CF1C->mode != 3) + if (gUnknown_0203CF1C->mode != PSS_MODE_SELECT_MOVE) CreateTask(sub_81C0510, 0); else CreateTask(sub_81C171C, 0); @@ -912,7 +914,7 @@ bool8 sub_81BFB10(void) return FALSE; } -void sub_81BFE24(void) +static void InitBGs(void) { ResetBgsAndClearDma3BusyFlags(0); InitBgsFromTemplates(0, gUnknown_0861CBB4, ARRAY_COUNT(gUnknown_0861CBB4)); @@ -996,7 +998,7 @@ bool8 sub_81BFEB0(void) return FALSE; } -void sub_81C0098(struct Pokemon *mon) +void CopyMonToSummaryStruct(struct Pokemon *mon) { if (!gUnknown_0203CF1C->isBoxMon) { @@ -1010,7 +1012,7 @@ void sub_81C0098(struct Pokemon *mon) } } -bool8 sub_81C00F0(struct Pokemon *a) +bool8 ExtractMonDataToSummaryStruct(struct Pokemon *a) { u32 i; struct PokeSummary *sum = &gUnknown_0203CF1C->summary; @@ -1025,10 +1027,12 @@ bool8 sub_81C00F0(struct Pokemon *a) sum->item = GetMonData(a, MON_DATA_HELD_ITEM); sum->pid = GetMonData(a, MON_DATA_PERSONALITY); sum->sanity = GetMonData(a, MON_DATA_SANITY_BIT1); - if (sum->sanity != 0) - sum->isEgg = 1; + + if (sum->sanity) + sum->isEgg = TRUE; else sum->isEgg = GetMonData(a, MON_DATA_IS_EGG); + break; case 1: for (i = 0; i < 4; i++) @@ -1039,7 +1043,7 @@ bool8 sub_81C00F0(struct Pokemon *a) sum->ppBonuses = GetMonData(a, MON_DATA_PP_BONUSES); break; case 2: - if (gUnknown_0203CF1C->monList.mons == gPlayerParty || gUnknown_0203CF1C->mode == 2 || gUnknown_0203CF1C->unk40EF == TRUE) + if (gUnknown_0203CF1C->monList.mons == gPlayerParty || gUnknown_0203CF1C->mode == PSS_MODE_UNK2 || gUnknown_0203CF1C->unk40EF == TRUE) { sum->nature = GetNature(a); sum->currentHP = GetMonData(a, MON_DATA_HP); @@ -1074,7 +1078,7 @@ bool8 sub_81C00F0(struct Pokemon *a) sum->friendship = GetMonData(a, MON_DATA_FRIENDSHIP); break; default: - sum->ribbons = GetMonData(a, MON_DATA_RIBBON_COUNT); + sum->ribbonCount = GetMonData(a, MON_DATA_RIBBON_COUNT); return TRUE; } gUnknown_0203CF1C->unk40F0++; @@ -1083,7 +1087,7 @@ bool8 sub_81C00F0(struct Pokemon *a) void sub_81C0348(void) { - if (gUnknown_0203CF1C->unk40C0 != 2 && gUnknown_0203CF1C->unk40C0 != 3) + if (gUnknown_0203CF1C->currPageIndex != 2 && gUnknown_0203CF1C->currPageIndex != 3) { sub_81C1DA4(0, 255); sub_81C1EFC(0, 255, 0); @@ -1105,7 +1109,7 @@ void sub_81C0348(void) } else { - if (gUnknown_0203CF1C->unk40C0 != 2 && gUnknown_0203CF1C->unk40C0 != 3) + if (gUnknown_0203CF1C->currPageIndex != 2 && gUnknown_0203CF1C->currPageIndex != 3) PutWindowTilemap(13); } sub_81C2524(); @@ -1130,7 +1134,7 @@ void sub_81C0484(u8 taskId) { SetMainCallback2(gUnknown_0203CF1C->callback); gUnknown_0203CF20 = gUnknown_0203CF1C->curMonIndex; - sub_81C4898(); + DestoryUnusedTask(); ResetSpriteData(); FreeAllSpritePalettes(); StopCryAndClearCrySongs(); @@ -1164,9 +1168,9 @@ void sub_81C0510(u8 taskId) } else if (gMain.newKeys & A_BUTTON) { - if (gUnknown_0203CF1C->unk40C0 != 1) + if (gUnknown_0203CF1C->currPageIndex != 1) { - if (gUnknown_0203CF1C->unk40C0 == 0) + if (gUnknown_0203CF1C->currPageIndex == 0) { sub_81C48F0(); PlaySE(SE_SELECT); @@ -1196,7 +1200,7 @@ void sub_81C0604(u8 taskId, s8 a) { if (gUnknown_0203CF1C->isBoxMon == TRUE) { - if (gUnknown_0203CF1C->unk40C0 != 0) + if (gUnknown_0203CF1C->currPageIndex != 0) { if (a == 1) a = 0; @@ -1227,7 +1231,7 @@ void sub_81C0604(u8 taskId, s8 a) if (gUnknown_0203CF1C->summary.unk7 != 0) { sub_81C4204(2, 1); - ClearWindowTilemap(0xD); + ClearWindowTilemap(13); schedule_bg_copy_tilemap_to_vram(0); sub_81C2074(0, 2); } @@ -1248,18 +1252,18 @@ void sub_81C0704(u8 taskId) StopCryAndClearCrySongs(); break; case 1: - sub_81C4898(); + DestoryUnusedTask(); DestroySpriteAndFreeResources(&gSprites[gUnknown_0203CF1C->spriteIds[0]]); break; case 2: DestroySpriteAndFreeResources(&gSprites[gUnknown_0203CF1C->spriteIds[1]]); break; case 3: - sub_81C0098(&gUnknown_0203CF1C->currentMon); + CopyMonToSummaryStruct(&gUnknown_0203CF1C->currentMon); gUnknown_0203CF1C->unk40F0 = 0; break; case 4: - if (sub_81C00F0(&gUnknown_0203CF1C->currentMon) == FALSE) + if (ExtractMonDataToSummaryStruct(&gUnknown_0203CF1C->currentMon) == FALSE) return; break; case 5: @@ -1289,7 +1293,7 @@ void sub_81C0704(u8 taskId) sub_81C25E8(); break; case 11: - sub_81C2D9C(gUnknown_0203CF1C->unk40C0); + sub_81C2D9C(gUnknown_0203CF1C->currPageIndex); sub_81C2524(); break; case 12: @@ -1310,7 +1314,7 @@ s8 sub_81C08F8(s8 a) { struct Pokemon *mon = gUnknown_0203CF1C->monList.mons; - if (gUnknown_0203CF1C->unk40C0 == 0) + if (gUnknown_0203CF1C->currPageIndex == 0) { if (a == -1 && gUnknown_0203CF1C->curMonIndex == 0) return -1; @@ -1378,20 +1382,20 @@ void sub_81C0A8C(u8 taskId, s8 b) if (summary->isEgg) return; - else if (b == -1 && gUnknown_0203CF1C->unk40C0 == gUnknown_0203CF1C->unk40C1) + else if (b == -1 && gUnknown_0203CF1C->currPageIndex == gUnknown_0203CF1C->minPageIndex) return; - else if (b == 1 && gUnknown_0203CF1C->unk40C0 == gUnknown_0203CF1C->unk40C2) + else if (b == 1 && gUnknown_0203CF1C->currPageIndex == gUnknown_0203CF1C->maxPageIndex) return; PlaySE(SE_SELECT); - sub_81C2C38(gUnknown_0203CF1C->unk40C0); - gUnknown_0203CF1C->unk40C0 += b; + sub_81C2C38(gUnknown_0203CF1C->currPageIndex); + gUnknown_0203CF1C->currPageIndex += b; data[0] = 0; if (b == 1) SetTaskFuncWithFollowupFunc(taskId, sub_81C0B8C, gTasks[taskId].func); else SetTaskFuncWithFollowupFunc(taskId, sub_81C0CC4, gTasks[taskId].func); - sub_81C2DE4(gUnknown_0203CF1C->unk40C0); + sub_81C2DE4(gUnknown_0203CF1C->currPageIndex); sub_81C424C(); } @@ -1415,7 +1419,7 @@ void sub_81C0B8C(u8 taskId) schedule_bg_copy_tilemap_to_vram(2); } ChangeBgX(data[1], 0, 0); - SetBgTilemapBuffer(data[1], (u8*)gUnknown_0203CF1C + ((gUnknown_0203CF1C->unk40C0 << 12) + 0xBC)); + SetBgTilemapBuffer(data[1], (u8*)gUnknown_0203CF1C + ((gUnknown_0203CF1C->currPageIndex << 12) + 0xBC)); ShowBg(1); ShowBg(2); } @@ -1432,7 +1436,7 @@ void sub_81C0C68(u8 taskId) data[1] = 0; data[0] = 0; sub_81C1BA0(); - sub_81C2AFC(gUnknown_0203CF1C->unk40C0); + sub_81C2AFC(gUnknown_0203CF1C->currPageIndex); sub_81C4280(); sub_81C0E24(); SwitchTaskToFollowupFunc(taskId); @@ -1470,9 +1474,9 @@ void sub_81C0D44(u8 taskId) SetBgAttribute(1, 7, 2); schedule_bg_copy_tilemap_to_vram(1); } - if (gUnknown_0203CF1C->unk40C0 > 1) + if (gUnknown_0203CF1C->currPageIndex > 1) { - SetBgTilemapBuffer(data[1], (u8*)gUnknown_0203CF1C + ((gUnknown_0203CF1C->unk40C0 << 12) + 0xFFFFF0BC)); + SetBgTilemapBuffer(data[1], (u8*)gUnknown_0203CF1C + ((gUnknown_0203CF1C->currPageIndex << 12) + 0xFFFFF0BC)); ChangeBgX(data[1], 0x10000, 0); } ShowBg(1); @@ -1481,7 +1485,7 @@ void sub_81C0D44(u8 taskId) data[1] = 0; data[0] = 0; sub_81C1BA0(); - sub_81C2AFC(gUnknown_0203CF1C->unk40C0); + sub_81C2AFC(gUnknown_0203CF1C->currPageIndex); sub_81C4280(); sub_81C0E24(); SwitchTaskToFollowupFunc(taskId); @@ -1489,7 +1493,7 @@ void sub_81C0D44(u8 taskId) void sub_81C0E24(void) { - if (gUnknown_0203CF1C->unk40C0 == 1) + if (gUnknown_0203CF1C->currPageIndex == 1) sub_81C22CC(&gUnknown_0203CF1C->currentMon); } @@ -1511,7 +1515,7 @@ void sub_81C0E48(u8 taskId) sub_81C2194(&gUnknown_0203CF1C->bgTilemapBuffer3[0], 3, 0); sub_81C2194(&gUnknown_0203CF1C->bgTilemapBuffer4[0], 1, 0); sub_81C3E9C(move); - sub_81C3F44(); + PrintNewMoveDetailsOrCancelText(); sub_81C44F0(); schedule_bg_copy_tilemap_to_vram(0); schedule_bg_copy_tilemap_to_vram(1); @@ -1658,9 +1662,9 @@ void sub_81C129C(u8 taskId) void sub_81C12E4(u8 taskId) { - u8 a = taskId; s16* data = gTasks[taskId].data; - if (sub_81221EC() != 1) + + if (sub_81221EC() != TRUE) { if (gMain.newKeys & DPAD_UP) { @@ -1679,20 +1683,26 @@ void sub_81C12E4(u8 taskId) sub_81C13B0(taskId, 0); } else + { sub_81C13B0(taskId, 1); + } } else if (gMain.newKeys & B_BUTTON) - sub_81C13B0(a, 0); + { + sub_81C13B0(taskId, 0); + } } } -void sub_81C13B0(u8 taskId, u8 b) +void sub_81C13B0(u8 taskId, bool8 b) { u16 move; + PlaySE(SE_SELECT); sub_81C4C84(0); sub_81C4C60(18); - if (b == 1) + + if (b == TRUE) { if (!gUnknown_0203CF1C->isBoxMon) { @@ -1704,11 +1714,12 @@ void sub_81C13B0(u8 taskId, u8 b) struct BoxPokemon *why = gUnknown_0203CF1C->monList.boxMons; sub_81C15EC(&why[gUnknown_0203CF1C->curMonIndex], gUnknown_0203CF1C->firstMoveIndex, gUnknown_0203CF1C->secondMoveIndex); } - sub_81C0098(&gUnknown_0203CF1C->currentMon); + CopyMonToSummaryStruct(&gUnknown_0203CF1C->currentMon); sub_81C40A0(gUnknown_0203CF1C->firstMoveIndex, gUnknown_0203CF1C->secondMoveIndex); sub_81C4568(gUnknown_0203CF1C->firstMoveIndex, gUnknown_0203CF1C->secondMoveIndex); gUnknown_0203CF1C->firstMoveIndex = gUnknown_0203CF1C->secondMoveIndex; } + move = gUnknown_0203CF1C->summary.moves[gUnknown_0203CF1C->firstMoveIndex]; sub_81C3E9C(move); sub_81C240C(move); @@ -2245,7 +2256,7 @@ void sub_81C1940(u8 taskId) } else if (gMain.newKeys & DPAD_LEFT || GetLRKeysState() == 1) { - if (gUnknown_0203CF1C->unk40C0 != 2) + if (gUnknown_0203CF1C->currPageIndex != 2) { ClearWindowTilemap(19); if (!gSprites[gUnknown_0203CF1C->spriteIds[2]].invisible) @@ -2259,7 +2270,7 @@ void sub_81C1940(u8 taskId) } else if (gMain.newKeys & DPAD_RIGHT || GetLRKeysState() == 2) { - if (gUnknown_0203CF1C->unk40C0 != 3) + if (gUnknown_0203CF1C->currPageIndex != 3) { ClearWindowTilemap(19); if (!gSprites[gUnknown_0203CF1C->spriteIds[2]].invisible) @@ -2298,30 +2309,30 @@ void sub_81C1BA0(void) for (i = 0; i < 4; i++) { u8 j = i << 1; - if (i < gUnknown_0203CF1C->unk40C1) + if (i < gUnknown_0203CF1C->minPageIndex) { alloced[j+0] = 0x40; alloced[j+1] = 0x40; alloced[j+8] = 0x50; alloced[j+9] = 0x50; } - else if (i > gUnknown_0203CF1C->unk40C2) + else if (i > gUnknown_0203CF1C->maxPageIndex) { alloced[j+0] = 0x4A; alloced[j+1] = 0x4A; alloced[j+8] = 0x5A; alloced[j+9] = 0x5A; } - else if (i < gUnknown_0203CF1C->unk40C0) + else if (i < gUnknown_0203CF1C->currPageIndex) { alloced[j+0] = 0x46; alloced[j+1] = 0x47; alloced[j+8] = 0x56; alloced[j+9] = 0x57; } - else if (i == gUnknown_0203CF1C->unk40C0) + else if (i == gUnknown_0203CF1C->currPageIndex) { - if (i != gUnknown_0203CF1C->unk40C2) + if (i != gUnknown_0203CF1C->maxPageIndex) { alloced[j+0] = 0x41; alloced[j+1] = 0x42; @@ -2336,7 +2347,7 @@ void sub_81C1BA0(void) alloced[j+9] = 0x5C; } } - else if (i != gUnknown_0203CF1C->unk40C2) + else if (i != gUnknown_0203CF1C->maxPageIndex) { alloced[j+0] = 0x43; alloced[j+1] = 0x44; @@ -2422,7 +2433,7 @@ void sub_81C1E20(u8 taskId) { if (data[0] < 0) { - if (gUnknown_0203CF1C->unk40C0 == 2) + if (gUnknown_0203CF1C->currPageIndex == 2) PutWindowTilemap(14); } else @@ -2472,7 +2483,7 @@ void sub_81C1F80(u8 taskId) { if (data[0] < 0) { - if (gUnknown_0203CF1C->unk40C0 == 3 && FuncIsActiveTask(sub_81C0B8C) == 0) + if (gUnknown_0203CF1C->currPageIndex == 3 && FuncIsActiveTask(sub_81C0B8C) == 0) PutWindowTilemap(15); sub_81C240C(data[2]); } @@ -2573,9 +2584,9 @@ void sub_81C2228(struct Pokemon *mon) schedule_bg_copy_tilemap_to_vram(3); } -void sub_81C228C(u8 a) +void sub_81C228C(bool8 isMonShiny) { - if (a == 0) + if (!isMonShiny) sub_8199C30(3, 1, 4, 8, 8, 0); else sub_8199C30(3, 1, 4, 8, 8, 5); @@ -2623,41 +2634,51 @@ void sub_81C22CC(struct Pokemon *unused) void sub_81C240C(u16 move) { - u16* r5 = &gUnknown_0203CF1C->bgTilemapBuffer4[0x400]; + u16* tilemap = &gUnknown_0203CF1C->bgTilemapBuffer4[0x400]; u8 i; - u8 r4; + u8 effectValue; + if (move != MOVE_NONE) { - r4 = gContestEffects[gContestMoves[move].effect].appeal; - if (r4 != 0xFF) - r4 /= 10; - for (i = 0;i < 8; i++) + effectValue = gContestEffects[gContestMoves[move].effect].appeal; + + if (effectValue != 0xFF) + effectValue /= 10; + + for (i = 0; i < 8; i++) { - if (r4 != 0xFF && i < r4) + if (effectValue != 0xFF && i < effectValue) { - r5[((i>>2)*32)+(i&3)+0x1E6] = 0x103A; + tilemap[(i / 4 * 32) + (i & 3) + 0x1E6] = 0x103A; } else - r5[((i>>2)*32)+(i&3)+0x1E6] = 0x1039; + { + tilemap[(i / 4 * 32) + (i & 3) + 0x1E6] = 0x1039; + } } - r4 = gContestEffects[gContestMoves[move].effect].jam; - if (r4 != 0xFF) - r4 /= 10; - for (i = 0;i < 8; i++) + + effectValue = gContestEffects[gContestMoves[move].effect].jam; + + if (effectValue != 0xFF) + effectValue /= 10; + + for (i = 0; i < 8; i++) { - if (r4 != 0xFF && i < r4) + if (effectValue != 0xFF && i < effectValue) { - r5[((i>>2)*32)+(i&3)+0x226] = 0x103C; + tilemap[(i / 4 * 32) + (i & 3) + 0x226] = 0x103C; } else - r5[((i>>2)*32)+(i&3)+0x226] = 0x103D; + { + tilemap[(i / 4 * 32) + (i & 3) + 0x226] = 0x103D; + } } } } void sub_81C2524(void) { - if (gUnknown_0203CF1C->summary.isEgg != 0) + if (gUnknown_0203CF1C->summary.isEgg) ChangeBgX(3, 0x10000, 0); else ChangeBgX(3, 0, 0); @@ -2668,15 +2689,20 @@ void sub_81C2554(void) u8 i; InitWindows(gUnknown_0861CC24); DeactivateAllTextPrinters(); + for (i = 0; i < 20; i++) + { FillWindowPixelBuffer(i, 0); + } for (i = 0; i < 8; i++) - gUnknown_0203CF1C->windowIds[i] |= 0xFF; + { + gUnknown_0203CF1C->windowIds[i] = 0xFF; + } } -void sub_81C25A4(u8 a, const u8 *b, u8 c, u8 d, u8 e, u8 f) +static void SummaryScreen_PrintTextOnWindow(u8 windowId, const u8 *string, u8 x, u8 y, u8 lineSpacing, u8 colorId) { - AddTextPrinterParameterized2(a, 1, c, d, 0, e, sTextColors_861CD2C[f], 0, b); + AddTextPrinterParameterized2(windowId, 1, x, y, 0, lineSpacing, sTextColors_861CD2C[colorId], 0, string); } void sub_81C25E8(void) @@ -2684,7 +2710,7 @@ void sub_81C25E8(void) FillWindowPixelBuffer(17, 0); FillWindowPixelBuffer(18, 0); FillWindowPixelBuffer(19, 0); - if (gUnknown_0203CF1C->summary.isEgg == 0) + if (!gUnknown_0203CF1C->summary.isEgg) sub_81C2628(); else sub_81C2794(); @@ -2696,41 +2722,41 @@ void sub_81C2628(void) u8 strArray[16]; struct Pokemon *mon = &gUnknown_0203CF1C->currentMon; struct PokeSummary *summary = &gUnknown_0203CF1C->summary; - u16 r5 = SpeciesToPokedexNum(summary->species); - if (r5 != 0xFFFF) + u16 dexNum = SpeciesToPokedexNum(summary->species); + if (dexNum != 0xFFFF) { StringCopy(gStringVar1, &gText_UnkCtrlF908Clear01[0]); - ConvertIntToDecimalStringN(gStringVar2, r5, 2, 3); + ConvertIntToDecimalStringN(gStringVar2, dexNum, 2, 3); StringAppend(gStringVar1, gStringVar2); - if (IsMonShiny(mon) == 0) + if (!IsMonShiny(mon)) { - sub_81C25A4(17, gStringVar1, 0, 1, 0, 1); - sub_81C228C(0); + SummaryScreen_PrintTextOnWindow(17, gStringVar1, 0, 1, 0, 1); + sub_81C228C(FALSE); } else { - sub_81C25A4(17, gStringVar1, 0, 1, 0, 7); - sub_81C228C(1); + SummaryScreen_PrintTextOnWindow(17, gStringVar1, 0, 1, 0, 7); + sub_81C228C(TRUE); } PutWindowTilemap(17); } else { ClearWindowTilemap(17); - if (IsMonShiny(mon) == 0) - sub_81C228C(0); + if (!IsMonShiny(mon)) + sub_81C228C(FALSE); else - sub_81C228C(1); + sub_81C228C(TRUE); } StringCopy(gStringVar1, &gText_LevelSymbol[0]); ConvertIntToDecimalStringN(gStringVar2, summary->level, 0, 3); StringAppend(gStringVar1, gStringVar2); - sub_81C25A4(19, gStringVar1, 0x18, 17, 0, 1); + SummaryScreen_PrintTextOnWindow(19, gStringVar1, 0x18, 17, 0, 1); GetMonNickname(mon, gStringVar1); - sub_81C25A4(18, gStringVar1, 0, 1, 0, 1); + SummaryScreen_PrintTextOnWindow(18, gStringVar1, 0, 1, 0, 1); strArray[0] = CHAR_SLASH; StringCopy(&strArray[1], &gSpeciesNames[summary->species2][0]); - sub_81C25A4(19, &strArray[0], 0, 1, 0, 1); + SummaryScreen_PrintTextOnWindow(19, &strArray[0], 0, 1, 0, 1); sub_81C27DC(mon, summary->species2); PutWindowTilemap(18); PutWindowTilemap(19); @@ -2739,7 +2765,7 @@ void sub_81C2628(void) void sub_81C2794(void) { GetMonNickname(&gUnknown_0203CF1C->currentMon, gStringVar1); - sub_81C25A4(18, gStringVar1, 0, 1, 0, 1); + SummaryScreen_PrintTextOnWindow(18, gStringVar1, 0, 1, 0, 1); PutWindowTilemap(18); ClearWindowTilemap(17); ClearWindowTilemap(19); @@ -2753,74 +2779,73 @@ void sub_81C27DC(struct Pokemon *mon, u16 a) switch (gender) { case 0: - sub_81C25A4(0x13, &gText_MaleSymbol[0], 0x39, 17, 0, 3); + SummaryScreen_PrintTextOnWindow(19, &gText_MaleSymbol[0], 57, 17, 0, 3); break; case 0xFE: - sub_81C25A4(0x13, &gText_FemaleSymbol[0], 0x39, 17, 0, 4); + SummaryScreen_PrintTextOnWindow(19, &gText_FemaleSymbol[0], 57, 17, 0, 4); break; } } } -void sub_81C2838(u8 a, bool8 b, u32 c) +void PrintAOrBButtonIcon(u8 windowId, bool8 bButton, u32 x) { - BlitBitmapToWindow(a, (b) ? &gUnknown_0861CDD3[0] : &gUnknown_0861CDD3[0] - 0x80, c, 0, 16, 16); + BlitBitmapToWindow(windowId, (bButton) ? gUnknown_0861CDD3 : gUnknown_0861CDD3 - 0x80, x, 0, 16, 16); } -void sub_81C286C(void) +void PrintRentalMonStatsPage(void) { - int r4; - int r2; - int temp; - sub_81C25A4(0, gText_PkmnInfo, 2, 1, 0, 1); - sub_81C25A4(1, gText_PkmnSkills, 2, 1, 0, 1); - sub_81C25A4(2, gText_BattleMoves, 2, 1, 0, 1); - sub_81C25A4(3, gText_ContestMoves, 2, 1, 0, 1); - r4 = GetStringRightAlignXOffset(1, gText_Cancel2, 0x3E); - r2 = r4 - 16; - if (r2 < 0) - r2 = 0; - sub_81C2838(4, 0, r2); - sub_81C25A4(4, gText_Cancel2, r4, 1, 0, 0); - r4 = GetStringRightAlignXOffset(1, gText_Info, 0x3E); - r2 = r4 - 16; - if (r2 < 0) - r2 = 0; - sub_81C2838(5, 0, r2); - sub_81C25A4(5, gText_Info, r4, 1, 0, 0); - r4 = GetStringRightAlignXOffset(1, gText_Switch, 0x3E); - r2 = r4 - 16; - if (r2 < 0) - r2 = 0; - sub_81C2838(6, 0, r2); - sub_81C25A4(6, gText_Switch, r4, 1, 0, 0); - sub_81C25A4(8, gText_RentalPkmn, 0, 1, 0, 1); - sub_81C25A4(9, gText_TypeSlash, 0, 1, 0, 0); - temp = 6; - temp += GetStringCenterAlignXOffset(1, gText_HP4, 42); - sub_81C25A4(10, gText_HP4, temp, 1, 0, 1); - temp = 6; - temp += GetStringCenterAlignXOffset(1, gText_Attack3, 42); - sub_81C25A4(10, gText_Attack3, temp, 17, 0, 1); - temp = 6; - temp += GetStringCenterAlignXOffset(1, gText_Defense3, 42); - sub_81C25A4(10, gText_Defense3, temp, 33, 0, 1); - temp = 2; - temp += GetStringCenterAlignXOffset(1, gText_SpAtk4, 36); - sub_81C25A4(11, gText_SpAtk4, temp, 1, 0, 1); - temp = 2; - temp += GetStringCenterAlignXOffset(1, gText_SpDef4, 36); - sub_81C25A4(11, gText_SpDef4, temp, 17, 0, 1); - temp = 2; - temp += GetStringCenterAlignXOffset(1, gText_Speed2, 36); - sub_81C25A4(11, gText_Speed2, temp, 33, 0, 1); - sub_81C25A4(12, gText_ExpPoints, 6, 1, 0, 1); - sub_81C25A4(12, gText_NextLv, 6, 17, 0, 1); - sub_81C25A4(13, gText_Status, 2, 1, 0, 1); - sub_81C25A4(14, gText_Power, 0, 1, 0, 1); - sub_81C25A4(14, gText_Accuracy2, 0, 17, 0, 1); - sub_81C25A4(15, gText_Appeal, 0, 1, 0, 1); - sub_81C25A4(15, gText_Jam, 0, 17, 0, 1); + int stringXPos; + int iconXPos; + int statsXPos; + + SummaryScreen_PrintTextOnWindow(0, gText_PkmnInfo, 2, 1, 0, 1); + SummaryScreen_PrintTextOnWindow(1, gText_PkmnSkills, 2, 1, 0, 1); + SummaryScreen_PrintTextOnWindow(2, gText_BattleMoves, 2, 1, 0, 1); + SummaryScreen_PrintTextOnWindow(3, gText_ContestMoves, 2, 1, 0, 1); + + stringXPos = GetStringRightAlignXOffset(1, gText_Cancel2, 0x3E); + iconXPos = stringXPos - 16; + if (iconXPos < 0) + iconXPos = 0; + PrintAOrBButtonIcon(4, FALSE, iconXPos); + SummaryScreen_PrintTextOnWindow(4, gText_Cancel2, stringXPos, 1, 0, 0); + + stringXPos = GetStringRightAlignXOffset(1, gText_Info, 0x3E); + iconXPos = stringXPos - 16; + if (iconXPos < 0) + iconXPos = 0; + PrintAOrBButtonIcon(5, FALSE, iconXPos); + SummaryScreen_PrintTextOnWindow(5, gText_Info, stringXPos, 1, 0, 0); + + stringXPos = GetStringRightAlignXOffset(1, gText_Switch, 0x3E); + iconXPos = stringXPos - 16; + if (iconXPos < 0) + iconXPos = 0; + PrintAOrBButtonIcon(6, FALSE, iconXPos); + SummaryScreen_PrintTextOnWindow(6, gText_Switch, stringXPos, 1, 0, 0); + + SummaryScreen_PrintTextOnWindow(8, gText_RentalPkmn, 0, 1, 0, 1); + SummaryScreen_PrintTextOnWindow(9, gText_TypeSlash, 0, 1, 0, 0); + statsXPos = 6 + GetStringCenterAlignXOffset(1, gText_HP4, 42); + SummaryScreen_PrintTextOnWindow(10, gText_HP4, statsXPos, 1, 0, 1); + statsXPos = 6 + GetStringCenterAlignXOffset(1, gText_Attack3, 42); + SummaryScreen_PrintTextOnWindow(10, gText_Attack3, statsXPos, 17, 0, 1); + statsXPos = 6 + GetStringCenterAlignXOffset(1, gText_Defense3, 42); + SummaryScreen_PrintTextOnWindow(10, gText_Defense3, statsXPos, 33, 0, 1); + statsXPos = 2 + GetStringCenterAlignXOffset(1, gText_SpAtk4, 36); + SummaryScreen_PrintTextOnWindow(11, gText_SpAtk4, statsXPos, 1, 0, 1); + statsXPos = 2 + GetStringCenterAlignXOffset(1, gText_SpDef4, 36); + SummaryScreen_PrintTextOnWindow(11, gText_SpDef4, statsXPos, 17, 0, 1); + statsXPos = 2 + GetStringCenterAlignXOffset(1, gText_Speed2, 36); + SummaryScreen_PrintTextOnWindow(11, gText_Speed2, statsXPos, 33, 0, 1); + SummaryScreen_PrintTextOnWindow(12, gText_ExpPoints, 6, 1, 0, 1); + SummaryScreen_PrintTextOnWindow(12, gText_NextLv, 6, 17, 0, 1); + SummaryScreen_PrintTextOnWindow(13, gText_Status, 2, 1, 0, 1); + SummaryScreen_PrintTextOnWindow(14, gText_Power, 0, 1, 0, 1); + SummaryScreen_PrintTextOnWindow(14, gText_Accuracy2, 0, 17, 0, 1); + SummaryScreen_PrintTextOnWindow(15, gText_Appeal, 0, 1, 0, 1); + SummaryScreen_PrintTextOnWindow(15, gText_Jam, 0, 17, 0, 1); } void sub_81C2AFC(u8 a) @@ -2847,23 +2872,27 @@ void sub_81C2AFC(u8 a) break; case 2: PutWindowTilemap(2); - if (gUnknown_0203CF1C->mode == 3) + if (gUnknown_0203CF1C->mode == PSS_MODE_SELECT_MOVE) { - if(!(gUnknown_0203CF1C->newMove == MOVE_NONE && gUnknown_0203CF1C->firstMoveIndex == MAX_MON_MOVES)) + if (gUnknown_0203CF1C->newMove != MOVE_NONE || gUnknown_0203CF1C->firstMoveIndex != MAX_MON_MOVES) PutWindowTilemap(14); } else + { PutWindowTilemap(5); + } break; case 3: PutWindowTilemap(3); - if (gUnknown_0203CF1C->mode == 3) + if (gUnknown_0203CF1C->mode == PSS_MODE_SELECT_MOVE) { - if(!(gUnknown_0203CF1C->newMove == MOVE_NONE && gUnknown_0203CF1C->firstMoveIndex == MAX_MON_MOVES)) + if (gUnknown_0203CF1C->newMove != MOVE_NONE || gUnknown_0203CF1C->firstMoveIndex != MAX_MON_MOVES) PutWindowTilemap(15); } else + { PutWindowTilemap(5); + } break; } for (i = 0; i < 8; i++) @@ -2890,22 +2919,26 @@ void sub_81C2C38(u8 a) ClearWindowTilemap(12); break; case 2: - if (gUnknown_0203CF1C->mode == 3) + if (gUnknown_0203CF1C->mode == PSS_MODE_SELECT_MOVE) { - if(!(gUnknown_0203CF1C->newMove == MOVE_NONE && gUnknown_0203CF1C->firstMoveIndex == MAX_MON_MOVES)) + if (gUnknown_0203CF1C->newMove != MOVE_NONE || gUnknown_0203CF1C->firstMoveIndex != MAX_MON_MOVES) ClearWindowTilemap(14); } else + { ClearWindowTilemap(5); + } break; case 3: - if (gUnknown_0203CF1C->mode == 3) + if (gUnknown_0203CF1C->mode == PSS_MODE_SELECT_MOVE) { - if(!(gUnknown_0203CF1C->newMove == MOVE_NONE && gUnknown_0203CF1C->firstMoveIndex == MAX_MON_MOVES)) + if (gUnknown_0203CF1C->newMove != MOVE_NONE || gUnknown_0203CF1C->firstMoveIndex != MAX_MON_MOVES) ClearWindowTilemap(15); } else + { ClearWindowTilemap(5); + } break; } for (i = 0; i < 8; i++) @@ -2913,12 +2946,12 @@ void sub_81C2C38(u8 a) schedule_bg_copy_tilemap_to_vram(0); } -u8 sub_81C2D2C(const struct WindowTemplate *template, u8 a) +u8 AddWindowFromTemplateList(const struct WindowTemplate *template, u8 templateId) { - u8 *windowIdPtr = &(gUnknown_0203CF1C->windowIds[a]); + u8 *windowIdPtr = &(gUnknown_0203CF1C->windowIds[templateId]); if (*windowIdPtr == 0xFF) { - *windowIdPtr = AddWindow(&template[a]); + *windowIdPtr = AddWindow(&template[templateId]); FillWindowPixelBuffer(*windowIdPtr, 0); } return *windowIdPtr; @@ -2935,7 +2968,7 @@ void sub_81C2D68(u8 a) } } -void sub_81C2D9C(u8 a) +void sub_81C2D9C(u8 pageIndex) { u16 i; for (i = 0; i < 8; i++) @@ -2943,209 +2976,219 @@ void sub_81C2D9C(u8 a) if (gUnknown_0203CF1C->windowIds[i] != 0xFF) FillWindowPixelBuffer(gUnknown_0203CF1C->windowIds[i], 0); } - gUnknown_0861CE54[a](); + gUnknown_0861CE54[pageIndex](); } -void sub_81C2DE4(u8 a) +void sub_81C2DE4(u8 pageIndex) { - CreateTask(gUnknown_0861CE64[a], 16); + CreateTask(gUnknown_0861CE64[pageIndex], 16); } void sub_81C2E00(void) { if (gUnknown_0203CF1C->summary.isEgg) { - sub_81C335C(); - sub_81C33CC(); - sub_81C3428(); - sub_81C349C(); + PrintEggOTName(); + PrintEggOTID(); + PrintEggState(); + PrintEggMemo(); } else { - sub_81C2EC4(); - sub_81C2F5C(); - sub_81C2FD8(); - sub_81C302C(); - sub_81C307C(); - sub_81C3194(); + PrintMonOTName(); + PrintMonOTID(); + PrintMonAbilityName(); + PrintMonAbilityDescription(); + BufferMonTrainerMemo(); + PrintMonTrainerMemo(); } } void sub_81C2E40(u8 taskId) { s16 *data = gTasks[taskId].data; - s16 dataa = data[0] - 1; - switch (dataa) + switch (data[0]) { - case 0: - sub_81C2EC4(); - break; case 1: - sub_81C2F5C(); + PrintMonOTName(); break; case 2: - sub_81C2FD8(); + PrintMonOTID(); break; case 3: - sub_81C302C(); + PrintMonAbilityName(); break; case 4: - sub_81C307C(); + PrintMonAbilityDescription(); break; case 5: - sub_81C3194(); + BufferMonTrainerMemo(); break; case 6: + PrintMonTrainerMemo(); + break; + case 7: DestroyTask(taskId); return; } data[0]++; } -void sub_81C2EC4(void) +void PrintMonOTName(void) { - u8 r5; - int r2; - if (sub_81A6BF4() != 1 && sub_81B9E94() != 1) + u8 windowId; + int x; + if (sub_81A6BF4() != TRUE && sub_81B9E94() != TRUE) { - r5 = sub_81C2D2C(gUnknown_0861CCCC, 0); - sub_81C25A4(r5, gText_OTSlash, 0, 1, 0, 1); - r2 = GetStringWidth(1, gText_OTSlash, 0); + windowId = AddWindowFromTemplateList(gUnknown_0861CCCC, 0); + SummaryScreen_PrintTextOnWindow(windowId, gText_OTSlash, 0, 1, 0, 1); + x = GetStringWidth(1, gText_OTSlash, 0); if (gUnknown_0203CF1C->summary.OTGender == 0) - sub_81C25A4(r5, gUnknown_0203CF1C->summary.OTName, r2, 1, 0, 5); + SummaryScreen_PrintTextOnWindow(windowId, gUnknown_0203CF1C->summary.OTName, x, 1, 0, 5); else - sub_81C25A4(r5, gUnknown_0203CF1C->summary.OTName, r2, 1, 0, 6); + SummaryScreen_PrintTextOnWindow(windowId, gUnknown_0203CF1C->summary.OTName, x, 1, 0, 6); } } -void sub_81C2F5C(void) +void PrintMonOTID(void) { - int r4; + int xPos; if (sub_81A6BF4() != TRUE && sub_81B9E94() != TRUE) { ConvertIntToDecimalStringN(StringCopy(gStringVar1, gText_UnkCtrlF907F908), (u16)gUnknown_0203CF1C->summary.OTID, 2, 5); - r4 = GetStringRightAlignXOffset(1, gStringVar1, 0x38); - sub_81C25A4(sub_81C2D2C(gUnknown_0861CCCC, 1), gStringVar1, r4, 1, 0, 1); + xPos = GetStringRightAlignXOffset(1, gStringVar1, 56); + SummaryScreen_PrintTextOnWindow(AddWindowFromTemplateList(gUnknown_0861CCCC, 1), gStringVar1, xPos, 1, 0, 1); } } -void sub_81C2FD8(void) +void PrintMonAbilityName(void) { u8 ability = GetAbilityBySpecies(gUnknown_0203CF1C->summary.species, gUnknown_0203CF1C->summary.altAbility); - sub_81C25A4(sub_81C2D2C(gUnknown_0861CCCC, 2), gAbilityNames[ability], 0, 1, 0, 1); + SummaryScreen_PrintTextOnWindow(AddWindowFromTemplateList(gUnknown_0861CCCC, 2), gAbilityNames[ability], 0, 1, 0, 1); } -void sub_81C302C(void) +void PrintMonAbilityDescription(void) { u8 ability = GetAbilityBySpecies(gUnknown_0203CF1C->summary.species, gUnknown_0203CF1C->summary.altAbility); - sub_81C25A4(sub_81C2D2C(gUnknown_0861CCCC, 2), gAbilityDescriptionPointers[ability], 0, 17, 0, 0); + SummaryScreen_PrintTextOnWindow(AddWindowFromTemplateList(gUnknown_0861CCCC, 2), gAbilityDescriptionPointers[ability], 0, 17, 0, 0); } -void sub_81C307C(void) +void BufferMonTrainerMemo(void) { struct PokeSummary *sum = &gUnknown_0203CF1C->summary; const u8 *text; + DynamicPlaceholderTextUtil_Reset(); DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, gUnknown_0861CE74); DynamicPlaceholderTextUtil_SetPlaceholderPtr(1, gUnknown_0861CE7B); - sub_81C31C0(); - if (sub_81A6BF4() == TRUE || sub_81B9E94() == TRUE || sub_81C3304() == TRUE) + BufferNatureString(); + + if (sub_81A6BF4() == TRUE || sub_81B9E94() == TRUE || IsInGamePartnerMon() == TRUE) + { DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gText_XNature); + } else { - u8 *alloced1 = Alloc(32); - u8 *alloced2 = Alloc(32); - sub_81C31F0(alloced1); - if (sum->metLocation <= 0xD4) + u8 *metLevelString = Alloc(32); + u8 *metLocationString = Alloc(32); + GetMetLevelString(metLevelString); + + if (sum->metLocation < MAPSEC_NONE) { - sub_8124610(alloced2, sum->metLocation); - DynamicPlaceholderTextUtil_SetPlaceholderPtr(4, alloced2); + sub_8124610(metLocationString, sum->metLocation); + DynamicPlaceholderTextUtil_SetPlaceholderPtr(4, metLocationString); } - if (sub_81C3220() == 1) + + if (DoesMonOTMatchOwner() == TRUE) { if (sum->metLevel == 0) - text = (sum->metLocation > 0xD4) ? gText_XNatureHatchedSomewhereAt : gText_XNatureHatchedAtYZ; + text = (sum->metLocation >= MAPSEC_NONE) ? gText_XNatureHatchedSomewhereAt : gText_XNatureHatchedAtYZ; else - text = (sum->metLocation > 0xD4) ? gText_XNatureMetSomewhereAt : gText_XNatureMetAtYZ; + text = (sum->metLocation >= MAPSEC_NONE) ? gText_XNatureMetSomewhereAt : gText_XNatureMetAtYZ; } - else if (sum->metLocation == 0xFF) + else if (sum->metLocation == MAPSEC_FATEFUL_ENCOUNTER) + { text = gText_XNatureFatefulEncounter; - else if (sum->metLocation != 0xFE && sub_81C32BC()) - text = (sum->metLocation > 0xD4) ? gText_XNatureObtainedInTrade : gText_XNatureProbablyMetAt; + } + else if (sum->metLocation != MAPSEC_IN_GAME_TRADE && MonCameFromGBAGames()) + { + text = (sum->metLocation >= MAPSEC_NONE) ? gText_XNatureObtainedInTrade : gText_XNatureProbablyMetAt; + } else + { text = gText_XNatureObtainedInTrade; + } + DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, text); - Free(alloced1); - Free(alloced2); + Free(metLevelString); + Free(metLocationString); } } -void sub_81C3194(void) +void PrintMonTrainerMemo(void) { - sub_81C25A4(sub_81C2D2C(gUnknown_0861CCCC, 3), gStringVar4, 0, 1, 0, 0); + SummaryScreen_PrintTextOnWindow(AddWindowFromTemplateList(gUnknown_0861CCCC, 3), gStringVar4, 0, 1, 0, 0); } -void sub_81C31C0(void) +void BufferNatureString(void) { struct UnkSummaryStruct *sumStruct = gUnknown_0203CF1C; DynamicPlaceholderTextUtil_SetPlaceholderPtr(2, gNatureNamePointers[sumStruct->summary.nature]); DynamicPlaceholderTextUtil_SetPlaceholderPtr(5, gText_EmptyString5); } -void sub_81C31F0(u8 *a) +void GetMetLevelString(u8 *output) { u8 level = gUnknown_0203CF1C->summary.metLevel; if (level == 0) level = EGG_HATCH_LEVEL; - ConvertIntToDecimalStringN(a, level, 0, 3); - DynamicPlaceholderTextUtil_SetPlaceholderPtr(3, a); + ConvertIntToDecimalStringN(output, level, 0, 3); + DynamicPlaceholderTextUtil_SetPlaceholderPtr(3, output); } -u8 sub_81C3220(void) +bool8 DoesMonOTMatchOwner(void) { struct PokeSummary *sum = &gUnknown_0203CF1C->summary; - u32 r4; - u8 r5; + u32 trainerId; + u8 gender; if (gUnknown_0203CF1C->monList.mons == gEnemyParty) { u8 multiID = GetMultiplayerId() ^ 1; - r4 = (u16)gLinkPlayers[multiID].trainerId; - r5 = gLinkPlayers[multiID].gender; + trainerId = (u16)gLinkPlayers[multiID].trainerId; + gender = gLinkPlayers[multiID].gender; StringCopy(gStringVar1, gLinkPlayers[multiID].name); } else { - r4 = GetPlayerIDAsU32() & 0xFFFF; - r5 = gSaveBlock2Ptr->playerGender; + trainerId = GetPlayerIDAsU32() & 0xFFFF; + gender = gSaveBlock2Ptr->playerGender; StringCopy(gStringVar1, gSaveBlock2Ptr->playerName); } - if (r5 != sum->OTGender || r4 != (sum->OTID & 0xFFFF) || StringCompareWithoutExtCtrlCodes(gStringVar1, sum->OTName)) + if (gender != sum->OTGender || trainerId != (sum->OTID & 0xFFFF) || StringCompareWithoutExtCtrlCodes(gStringVar1, sum->OTName)) { - return 0; + return FALSE; } - return 1; + return TRUE; } -bool8 sub_81C32BC(void) +bool8 MonCameFromGBAGames(void) { struct PokeSummary *sum = &gUnknown_0203CF1C->summary; - u8 r0 = sum->metGame - 1; - if (r0 <= 4) + if (sum->metGame > 0 && sum->metGame <= VERSION_LEAF_GREEN) return TRUE; return FALSE; } -bool8 sub_81C32E0(void) +bool8 MonCameFromRSE(void) { struct PokeSummary *sum = &gUnknown_0203CF1C->summary; - u8 r0 = sum->metGame - 1; - if (r0 <= 2) + if (sum->metGame > 0 && sum->metGame <= VERSION_EMERALD) return TRUE; return FALSE; } -bool8 sub_81C3304(void) +bool8 IsInGamePartnerMon(void) { if ((gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER) && gMain.inBattle) { @@ -3155,28 +3198,29 @@ bool8 sub_81C3304(void) return FALSE; } -void sub_81C335C(void) +void PrintEggOTName(void) { - u32 windowId = sub_81C2D2C(gUnknown_0861CCCC, 0); + u32 windowId = AddWindowFromTemplateList(gUnknown_0861CCCC, 0); u32 width = GetStringWidth(1, gText_OTSlash, 0); - sub_81C25A4(windowId, gText_OTSlash, 0, 1, 0, 1); - sub_81C25A4(windowId, gText_FiveMarks, width, 1, 0, 1); + SummaryScreen_PrintTextOnWindow(windowId, gText_OTSlash, 0, 1, 0, 1); + SummaryScreen_PrintTextOnWindow(windowId, gText_FiveMarks, width, 1, 0, 1); } -void sub_81C33CC(void) +void PrintEggOTID(void) { - int r4; + int x; StringCopy(gStringVar1, gText_UnkCtrlF907F908); StringAppend(gStringVar1, gText_FiveMarks); - r4 = GetStringRightAlignXOffset(1, gStringVar1, 0x38); - sub_81C25A4(sub_81C2D2C(gUnknown_0861CCCC, 1), gStringVar1, r4, 1, 0, 1); + x = GetStringRightAlignXOffset(1, gStringVar1, 56); + SummaryScreen_PrintTextOnWindow(AddWindowFromTemplateList(gUnknown_0861CCCC, 1), gStringVar1, x, 1, 0, 1); } -void sub_81C3428(void) +void PrintEggState(void) { const u8 *text; struct PokeSummary *sum = &gUnknown_0203CF1C->summary; - if (gUnknown_0203CF1C->summary.sanity == 1) + + if (gUnknown_0203CF1C->summary.sanity == TRUE) text = gText_EggWillTakeALongTime; else if (sum->friendship <= 5) text = gText_EggAboutToHatch; @@ -3186,141 +3230,158 @@ void sub_81C3428(void) text = gText_EggWillTakeSomeTime; else text = gText_EggWillTakeALongTime; - sub_81C25A4(sub_81C2D2C(gUnknown_0861CCCC, 2), text, 0, 1, 0, 0); + + SummaryScreen_PrintTextOnWindow(AddWindowFromTemplateList(gUnknown_0861CCCC, 2), text, 0, 1, 0, 0); } -void sub_81C349C(void) +void PrintEggMemo(void) { const u8 *text; struct PokeSummary *sum = &gUnknown_0203CF1C->summary; + if (gUnknown_0203CF1C->summary.sanity != 1) { - if (sum->metLocation == 0xFF) + if (sum->metLocation == MAPSEC_FATEFUL_ENCOUNTER) text = gText_PeculiarEggNicePlace; - else if (sub_81C32BC() == 0 || sub_81C3220() == 0) + else if (MonCameFromGBAGames() == FALSE || DoesMonOTMatchOwner() == FALSE) text = gText_PeculiarEggTrade; - else if (sum->metLocation == 0xFD) - text = (sub_81C32E0() == TRUE) ? gText_EggFromHotSprings : gText_EggFromTraveler; + else if (sum->metLocation == MAPSEC_SPECIAL_EGG) + text = (MonCameFromRSE() == TRUE) ? gText_EggFromHotSprings : gText_EggFromTraveler; else text = gText_OddEggFoundByCouple; } else + { text = gText_OddEggFoundByCouple; - sub_81C25A4(sub_81C2D2C(gUnknown_0861CCCC, 3), text, 0, 1, 0, 0); + } + + SummaryScreen_PrintTextOnWindow(AddWindowFromTemplateList(gUnknown_0861CCCC, 3), text, 0, 1, 0, 0); } void sub_81C3530(void) { - sub_81C35E4(); - sub_81C3690(); - sub_81C3710(); - sub_81C37D8(); - sub_81C3808(); - sub_81C3890(); - sub_81C38C0(); + PrintHeldItemName(); + PrintRibbonCount(); + BufferLeftColumnStats(); + PrintLeftColumnStats(); + BufferRightColumnStats(); + PrintRightColumnStats(); + PrintExpPointsNextLevel(); } void sub_81C3554(u8 taskId) { s16 *data = gTasks[taskId].data; - s16 dataa = data[0] - 1; - switch (dataa) + + switch (data[0]) { - case 0: - sub_81C35E4(); - break; case 1: - sub_81C3690(); + PrintHeldItemName(); break; case 2: - sub_81C3710(); + PrintRibbonCount(); break; case 3: - sub_81C37D8(); + BufferLeftColumnStats(); break; case 4: - sub_81C3808(); + PrintLeftColumnStats(); break; case 5: - sub_81C3890(); + BufferRightColumnStats(); break; case 6: - sub_81C38C0(); + PrintRightColumnStats(); break; case 7: + PrintExpPointsNextLevel(); + break; + case 8: DestroyTask(taskId); return; } data[0]++; } -void sub_81C35E4(void) +void PrintHeldItemName(void) { const u8 *text; int offset; - if (gUnknown_0203CF1C->summary.item == ITEM_ENIGMA_BERRY && sub_81B1250() == 1 && (gUnknown_0203CF1C->curMonIndex == 1 || gUnknown_0203CF1C->curMonIndex == 4 || gUnknown_0203CF1C->curMonIndex == 5)) + + if (gUnknown_0203CF1C->summary.item == ITEM_ENIGMA_BERRY && sub_81B1250() == TRUE && (gUnknown_0203CF1C->curMonIndex == 1 || gUnknown_0203CF1C->curMonIndex == 4 || gUnknown_0203CF1C->curMonIndex == 5)) { text = ItemId_GetName(ITEM_ENIGMA_BERRY); } else if (gUnknown_0203CF1C->summary.item == ITEM_NONE) + { text = gText_None; + } else { CopyItemName(gUnknown_0203CF1C->summary.item, gStringVar1); text = gStringVar1; } - offset = GetStringCenterAlignXOffset(1, text, 0x48) + 6; - sub_81C25A4(sub_81C2D2C(gUnknown_0861CCEC, 0), text, offset, 1, 0, 0); + + offset = GetStringCenterAlignXOffset(1, text, 72) + 6; + SummaryScreen_PrintTextOnWindow(AddWindowFromTemplateList(gUnknown_0861CCEC, 0), text, offset, 1, 0, 0); } -void sub_81C3690(void) +void PrintRibbonCount(void) { const u8 *text; int offset; - if (gUnknown_0203CF1C->summary.ribbons == 0) + + if (gUnknown_0203CF1C->summary.ribbonCount == 0) + { text = gText_None; + } else { - ConvertIntToDecimalStringN(gStringVar1, gUnknown_0203CF1C->summary.ribbons, 1, 2); + ConvertIntToDecimalStringN(gStringVar1, gUnknown_0203CF1C->summary.ribbonCount, 1, 2); StringExpandPlaceholders(gStringVar4, gText_RibbonsVar1); text = gStringVar4; } - offset = GetStringCenterAlignXOffset(1, text, 0x46) + 6; - sub_81C25A4(sub_81C2D2C(gUnknown_0861CCEC, 1), text, offset, 1, 0, 0); + + offset = GetStringCenterAlignXOffset(1, text, 70) + 6; + SummaryScreen_PrintTextOnWindow(AddWindowFromTemplateList(gUnknown_0861CCEC, 1), text, offset, 1, 0, 0); } -void sub_81C3710(void) +void BufferLeftColumnStats(void) { - u8 *alloced1 = Alloc(8); - u8 *alloced2 = Alloc(8); - u8 *alloced3 = Alloc(8); - u8 *alloced4 = Alloc(8); - ConvertIntToDecimalStringN(alloced1, gUnknown_0203CF1C->summary.currentHP, 1, 3); - ConvertIntToDecimalStringN(alloced2, gUnknown_0203CF1C->summary.maxHP, 1, 3); - ConvertIntToDecimalStringN(alloced3, gUnknown_0203CF1C->summary.atk, 1, 7); - ConvertIntToDecimalStringN(alloced4, gUnknown_0203CF1C->summary.def, 1, 7); + u8 *currentHPString = Alloc(8); + u8 *maxHPString = Alloc(8); + u8 *attackString = Alloc(8); + u8 *defenseString = Alloc(8); + + ConvertIntToDecimalStringN(currentHPString, gUnknown_0203CF1C->summary.currentHP, 1, 3); + ConvertIntToDecimalStringN(maxHPString, gUnknown_0203CF1C->summary.maxHP, 1, 3); + ConvertIntToDecimalStringN(attackString, gUnknown_0203CF1C->summary.atk, 1, 7); + ConvertIntToDecimalStringN(defenseString, gUnknown_0203CF1C->summary.def, 1, 7); + DynamicPlaceholderTextUtil_Reset(); - DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, alloced1); - DynamicPlaceholderTextUtil_SetPlaceholderPtr(1, alloced2); - DynamicPlaceholderTextUtil_SetPlaceholderPtr(2, alloced3); - DynamicPlaceholderTextUtil_SetPlaceholderPtr(3, alloced4); + DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, currentHPString); + DynamicPlaceholderTextUtil_SetPlaceholderPtr(1, maxHPString); + DynamicPlaceholderTextUtil_SetPlaceholderPtr(2, attackString); + DynamicPlaceholderTextUtil_SetPlaceholderPtr(3, defenseString); DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gUnknown_0861CE82); - Free(alloced1); - Free(alloced2); - Free(alloced3); - Free(alloced4); + + Free(currentHPString); + Free(maxHPString); + Free(attackString); + Free(defenseString); } -void sub_81C37D8(void) +void PrintLeftColumnStats(void) { - sub_81C25A4(sub_81C2D2C(gUnknown_0861CCEC, 2), gStringVar4, 4, 1, 0, 0); + SummaryScreen_PrintTextOnWindow(AddWindowFromTemplateList(gUnknown_0861CCEC, 2), gStringVar4, 4, 1, 0, 0); } -void sub_81C3808(void) +void BufferRightColumnStats(void) { ConvertIntToDecimalStringN(gStringVar1, gUnknown_0203CF1C->summary.spatk, 1, 3); ConvertIntToDecimalStringN(gStringVar2, gUnknown_0203CF1C->summary.spdef, 1, 3); ConvertIntToDecimalStringN(gStringVar3, gUnknown_0203CF1C->summary.speed, 1, 3); + DynamicPlaceholderTextUtil_Reset(); DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, gStringVar1); DynamicPlaceholderTextUtil_SetPlaceholderPtr(1, gStringVar2); @@ -3328,73 +3389,78 @@ void sub_81C3808(void) DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gUnknown_0861CE8E); } -void sub_81C3890(void) +void PrintRightColumnStats(void) { - sub_81C25A4(sub_81C2D2C(gUnknown_0861CCEC, 3), gStringVar4, 2, 1, 0, 0); + SummaryScreen_PrintTextOnWindow(AddWindowFromTemplateList(gUnknown_0861CCEC, 3), gStringVar4, 2, 1, 0, 0); } -void sub_81C38C0(void) +void PrintExpPointsNextLevel(void) { struct PokeSummary *sum = &gUnknown_0203CF1C->summary; - u8 r6 = sub_81C2D2C(gUnknown_0861CCEC, 4); + u8 windowId = AddWindowFromTemplateList(gUnknown_0861CCEC, 4); int offset; u32 expToNextLevel; + ConvertIntToDecimalStringN(gStringVar1, sum->exp, 1, 7); - offset = GetStringRightAlignXOffset(1, gStringVar1, 0x2A) + 2; - sub_81C25A4(r6, gStringVar1, offset, 1, 0, 0); + offset = GetStringRightAlignXOffset(1, gStringVar1, 42) + 2; + SummaryScreen_PrintTextOnWindow(windowId, gStringVar1, offset, 1, 0, 0); + if (sum->level < MAX_MON_LEVEL) expToNextLevel = gExperienceTables[gBaseStats[sum->species].growthRate][sum->level + 1] - sum->exp; else expToNextLevel = 0; + ConvertIntToDecimalStringN(gStringVar1, expToNextLevel, 1, 6); - offset = GetStringRightAlignXOffset(1, gStringVar1, 0x2A) + 2; - sub_81C25A4(r6, gStringVar1, offset, 17, 0, 0); + offset = GetStringRightAlignXOffset(1, gStringVar1, 42) + 2; + SummaryScreen_PrintTextOnWindow(windowId, gStringVar1, offset, 17, 0, 0); } void sub_81C3984(void) { - sub_81C3B08(0); - sub_81C3B08(1); - sub_81C3B08(2); - sub_81C3B08(3); - if (gUnknown_0203CF1C->mode == 3) + PrintMoveNameAndPP(0); + PrintMoveNameAndPP(1); + PrintMoveNameAndPP(2); + PrintMoveNameAndPP(3); + + if (gUnknown_0203CF1C->mode == PSS_MODE_SELECT_MOVE) { - sub_81C3F44(); + PrintNewMoveDetailsOrCancelText(); if (gUnknown_0203CF1C->firstMoveIndex == MAX_MON_MOVES) { if (gUnknown_0203CF1C->newMove != MOVE_NONE) sub_81C3E9C(gUnknown_0203CF1C->newMove); } else + { sub_81C3E9C(gUnknown_0203CF1C->summary.moves[gUnknown_0203CF1C->firstMoveIndex]); + } } } void sub_81C39F0(u8 taskId) { s16 *data = gTasks[taskId].data; - s16 dataa = data[0] - 1; - switch (dataa) + switch (data[0]) { - case 0: - sub_81C3B08(0); - break; case 1: - sub_81C3B08(1); + PrintMoveNameAndPP(0); break; case 2: - sub_81C3B08(2); + PrintMoveNameAndPP(1); break; case 3: - sub_81C3B08(3); + PrintMoveNameAndPP(2); break; case 4: - if (gUnknown_0203CF1C->mode == 3) - sub_81C3F44(); + PrintMoveNameAndPP(3); break; case 5: - if (gUnknown_0203CF1C->mode == 3) + if (gUnknown_0203CF1C->mode == PSS_MODE_SELECT_MOVE) + PrintNewMoveDetailsOrCancelText(); + break; + case 6: + if (gUnknown_0203CF1C->mode == PSS_MODE_SELECT_MOVE) { if (gUnknown_0203CF1C->firstMoveIndex == MAX_MON_MOVES) data[1] = gUnknown_0203CF1C->newMove; @@ -3402,89 +3468,99 @@ void sub_81C39F0(u8 taskId) data[1] = gUnknown_0203CF1C->summary.moves[gUnknown_0203CF1C->firstMoveIndex]; } break; - case 6: - if (gUnknown_0203CF1C->mode == 3) + case 7: + if (gUnknown_0203CF1C->mode == PSS_MODE_SELECT_MOVE) { - if (!(gUnknown_0203CF1C->newMove == MOVE_NONE && gUnknown_0203CF1C->firstMoveIndex == MAX_MON_MOVES)) + if (gUnknown_0203CF1C->newMove != MOVE_NONE || gUnknown_0203CF1C->firstMoveIndex != MAX_MON_MOVES) sub_81C3E9C(data[1]); } break; - case 7: + case 8: DestroyTask(taskId); return; } data[0]++; } -void sub_81C3B08(u8 a) +void PrintMoveNameAndPP(u8 moveIndex) { u8 pp; u32 ppState; const u8 *text; u32 offset; struct UnkSummaryStruct *summaryStruct = gUnknown_0203CF1C; - u8 r8 = sub_81C2D2C(gUnknown_0861CD14, 0); - u8 sp = sub_81C2D2C(gUnknown_0861CD14, 1); - u16 move = summaryStruct->summary.moves[a]; + u8 moveNameWindowId = AddWindowFromTemplateList(gUnknown_0861CD14, 0); + u8 ppValueWindowId = AddWindowFromTemplateList(gUnknown_0861CD14, 1); + u16 move = summaryStruct->summary.moves[moveIndex]; if (move != 0) { - pp = CalculatePPWithBonus(move, summaryStruct->summary.ppBonuses, a); - sub_81C25A4(r8, gMoveNames[move], 0, a * 16 + 1, 0, 1); - ConvertIntToDecimalStringN(gStringVar1, summaryStruct->summary.pp[a], 1, 2); + pp = CalculatePPWithBonus(move, summaryStruct->summary.ppBonuses, moveIndex); + SummaryScreen_PrintTextOnWindow(moveNameWindowId, gMoveNames[move], 0, moveIndex * 16 + 1, 0, 1); + ConvertIntToDecimalStringN(gStringVar1, summaryStruct->summary.pp[moveIndex], 1, 2); ConvertIntToDecimalStringN(gStringVar2, pp, 1, 2); DynamicPlaceholderTextUtil_Reset(); DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, gStringVar1); DynamicPlaceholderTextUtil_SetPlaceholderPtr(1, gStringVar2); DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gUnknown_0861CE97); text = gStringVar4; - ppState = GetCurrentPpToMaxPpState(summaryStruct->summary.pp[a], pp) + 9; - offset = GetStringRightAlignXOffset(1, text, 0x2C); + ppState = GetCurrentPpToMaxPpState(summaryStruct->summary.pp[moveIndex], pp) + 9; + offset = GetStringRightAlignXOffset(1, text, 44); } else { - sub_81C25A4(r8, gText_OneDash, 0, a * 16 + 1, 0, 1); + SummaryScreen_PrintTextOnWindow(moveNameWindowId, gText_OneDash, 0, moveIndex * 16 + 1, 0, 1); text = gText_TwoDashes; ppState = 12; - offset = GetStringCenterAlignXOffset(1, text, 0x2C); + offset = GetStringCenterAlignXOffset(1, text, 44); } - sub_81C25A4(sp, text, offset, a * 16 + 1, 0, ppState); + + SummaryScreen_PrintTextOnWindow(ppValueWindowId, text, offset, moveIndex * 16 + 1, 0, ppState); } -void sub_81C3C5C(u16 move) +void PrintMovePowerAndAccuracy(u16 moveIndex) { const u8 *text; - if (move != 0) + if (moveIndex != 0) { - FillWindowPixelRect(14, 0, 0x35, 0, 0x13, 0x20); - if (gBattleMoves[move].power <= 1) + FillWindowPixelRect(14, 0, 53, 0, 19, 32); + + if (gBattleMoves[moveIndex].power < 2) + { text = gText_ThreeDashes; + } else { - ConvertIntToDecimalStringN(gStringVar1, gBattleMoves[move].power, 1, 3); + ConvertIntToDecimalStringN(gStringVar1, gBattleMoves[moveIndex].power, 1, 3); text = gStringVar1; } - sub_81C25A4(14, text, 0x35, 1, 0, 0); - if (gBattleMoves[move].accuracy == 0) + + SummaryScreen_PrintTextOnWindow(14, text, 53, 1, 0, 0); + + if (gBattleMoves[moveIndex].accuracy == 0) + { text = gText_ThreeDashes; + } else { - ConvertIntToDecimalStringN(gStringVar1, gBattleMoves[move].accuracy, 1, 3); + ConvertIntToDecimalStringN(gStringVar1, gBattleMoves[moveIndex].accuracy, 1, 3); text = gStringVar1; } - sub_81C25A4(14, text, 0x35, 17, 0, 0); + + SummaryScreen_PrintTextOnWindow(14, text, 53, 17, 0, 0); } } void sub_81C3D08(void) { - sub_81C3B08(0); - sub_81C3B08(1); - sub_81C3B08(2); - sub_81C3B08(3); - if (gUnknown_0203CF1C->mode == 3) + PrintMoveNameAndPP(0); + PrintMoveNameAndPP(1); + PrintMoveNameAndPP(2); + PrintMoveNameAndPP(3); + + if (gUnknown_0203CF1C->mode == PSS_MODE_SELECT_MOVE) { - sub_81C3F44(); + PrintNewMoveDetailsOrCancelText(); sub_81C3E2C(gUnknown_0203CF1C->firstMoveIndex); } } @@ -3497,25 +3573,25 @@ void sub_81C3D54(u8 taskId) switch (dataa) { case 0: - sub_81C3B08(0); + PrintMoveNameAndPP(0); break; case 1: - sub_81C3B08(1); + PrintMoveNameAndPP(1); break; case 2: - sub_81C3B08(2); + PrintMoveNameAndPP(2); break; case 3: - sub_81C3B08(3); + PrintMoveNameAndPP(3); break; case 4: - if (gUnknown_0203CF1C->mode == 3) - sub_81C3F44(); + if (gUnknown_0203CF1C->mode == PSS_MODE_SELECT_MOVE) + PrintNewMoveDetailsOrCancelText(); break; case 5: - if (gUnknown_0203CF1C->mode == 3) + if (gUnknown_0203CF1C->mode == PSS_MODE_SELECT_MOVE) { - if (!(gUnknown_0203CF1C->newMove == MOVE_NONE && gUnknown_0203CF1C->firstMoveIndex == MAX_MON_MOVES)) + if (gUnknown_0203CF1C->newMove != MOVE_NONE || gUnknown_0203CF1C->firstMoveIndex != MAX_MON_MOVES) sub_81C3E2C(gUnknown_0203CF1C->firstMoveIndex); } break; @@ -3537,25 +3613,25 @@ void sub_81C3E2C(u8 moveSlot) if (move != MOVE_NONE) { - u8 windowId = sub_81C2D2C(gUnknown_0861CD14, 2); - sub_81C25A4(windowId, gContestEffectDescriptionPointers[gContestMoves[move].effect], 6, 1, 0, 0); + u8 windowId = AddWindowFromTemplateList(gUnknown_0861CD14, 2); + SummaryScreen_PrintTextOnWindow(windowId, gContestEffectDescriptionPointers[gContestMoves[move].effect], 6, 1, 0, 0); } } void sub_81C3E9C(u16 move) { - u8 windowId = sub_81C2D2C(gUnknown_0861CD14, 2); + u8 windowId = AddWindowFromTemplateList(gUnknown_0861CD14, 2); FillWindowPixelBuffer(windowId, 0); if (move != MOVE_NONE) { - if (gUnknown_0203CF1C->unk40C0 == 2) + if (gUnknown_0203CF1C->currPageIndex == 2) { - sub_81C3C5C(move); - sub_81C25A4(windowId, gMoveDescriptionPointers[move - 1], 6, 1, 0, 0); + PrintMovePowerAndAccuracy(move); + SummaryScreen_PrintTextOnWindow(windowId, gMoveDescriptionPointers[move - 1], 6, 1, 0, 0); } else { - sub_81C25A4(windowId, gContestEffectDescriptionPointers[gContestMoves[move].effect], 6, 1, 0, 0); + SummaryScreen_PrintTextOnWindow(windowId, gContestEffectDescriptionPointers[gContestMoves[move].effect], 6, 1, 0, 0); } PutWindowTilemap(windowId); } @@ -3567,58 +3643,60 @@ void sub_81C3E9C(u16 move) schedule_bg_copy_tilemap_to_vram(0); } -void sub_81C3F44(void) +void PrintNewMoveDetailsOrCancelText(void) { - u8 windowId1 = sub_81C2D2C(gUnknown_0861CD14, 0); - u8 windowId2 = sub_81C2D2C(gUnknown_0861CD14, 1); + u8 windowId1 = AddWindowFromTemplateList(gUnknown_0861CD14, 0); + u8 windowId2 = AddWindowFromTemplateList(gUnknown_0861CD14, 1); + if (gUnknown_0203CF1C->newMove == MOVE_NONE) { - sub_81C25A4(windowId1, gText_Cancel, 0, 0x41, 0, 1); + SummaryScreen_PrintTextOnWindow(windowId1, gText_Cancel, 0, 65, 0, 1); } else { u16 move = gUnknown_0203CF1C->newMove; - if (gUnknown_0203CF1C->unk40C0 == 2) - sub_81C25A4(windowId1, gMoveNames[move], 0, 0x41, 0, 6); + + if (gUnknown_0203CF1C->currPageIndex == 2) + SummaryScreen_PrintTextOnWindow(windowId1, gMoveNames[move], 0, 65, 0, 6); else - sub_81C25A4(windowId1, gMoveNames[move], 0, 0x41, 0, 5); + SummaryScreen_PrintTextOnWindow(windowId1, gMoveNames[move], 0, 65, 0, 5); ConvertIntToDecimalStringN(gStringVar1, gBattleMoves[move].pp, 1, 2); DynamicPlaceholderTextUtil_Reset(); DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, gStringVar1); DynamicPlaceholderTextUtil_SetPlaceholderPtr(1, gStringVar1); DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gUnknown_0861CE97); - sub_81C25A4(windowId2, gStringVar4, GetStringRightAlignXOffset(1, gStringVar4, 0x2C), 0x41, 0, 12); + SummaryScreen_PrintTextOnWindow(windowId2, gStringVar4, GetStringRightAlignXOffset(1, gStringVar4, 0x2C), 0x41, 0, 12); } } void sub_81C4064(void) { - u8 windowId = sub_81C2D2C(gUnknown_0861CD14, 0); - FillWindowPixelRect(windowId, 0, 0, 0x42, 0x48, 0x10); + u8 windowId = AddWindowFromTemplateList(gUnknown_0861CD14, 0); + FillWindowPixelRect(windowId, 0, 0, 66, 72, 16); CopyWindowToVram(windowId, 2); } -void sub_81C40A0(u8 a, u8 b) +void sub_81C40A0(u8 moveIndex1, u8 moveIndex2) { - u8 windowId1 = sub_81C2D2C(gUnknown_0861CD14, 0); - u8 windowId2 = sub_81C2D2C(gUnknown_0861CD14, 1); + u8 windowId1 = AddWindowFromTemplateList(gUnknown_0861CD14, 0); + u8 windowId2 = AddWindowFromTemplateList(gUnknown_0861CD14, 1); - FillWindowPixelRect(windowId1, 0, 0, a * 16, 0x48, 0x10); - FillWindowPixelRect(windowId1, 0, 0, b * 16, 0x48, 0x10); + FillWindowPixelRect(windowId1, 0, 0, moveIndex1 * 16, 0x48, 0x10); + FillWindowPixelRect(windowId1, 0, 0, moveIndex2 * 16, 0x48, 0x10); - FillWindowPixelRect(windowId2, 0, 0, a * 16, 0x30, 0x10); - FillWindowPixelRect(windowId2, 0, 0, b * 16, 0x30, 0x10); + FillWindowPixelRect(windowId2, 0, 0, moveIndex1 * 16, 0x30, 0x10); + FillWindowPixelRect(windowId2, 0, 0, moveIndex2 * 16, 0x30, 0x10); - sub_81C3B08(a); - sub_81C3B08(b); + PrintMoveNameAndPP(moveIndex1); + PrintMoveNameAndPP(moveIndex2); } void sub_81C4154(void) { - u8 windowId = sub_81C2D2C(gUnknown_0861CD14, 2); + u8 windowId = AddWindowFromTemplateList(gUnknown_0861CD14, 2); FillWindowPixelBuffer(windowId, 0); - sub_81C25A4(windowId, gText_HMMovesCantBeForgotten2, 6, 1, 0, 0); + SummaryScreen_PrintTextOnWindow(windowId, gText_HMMovesCantBeForgotten2, 6, 1, 0, 0); } void sub_81C4190(void) @@ -3656,7 +3734,7 @@ void sub_81C424C(void) void sub_81C4280(void) { - switch (gUnknown_0203CF1C->unk40C0) + switch (gUnknown_0203CF1C->currPageIndex) { case 0: sub_81C43A0(); @@ -3752,7 +3830,7 @@ void sub_81C44F0(void) } else { - if (gUnknown_0203CF1C->unk40C0 == 2) + if (gUnknown_0203CF1C->currPageIndex == 2) sub_81C4318(gBattleMoves[gUnknown_0203CF1C->newMove].type, 0x55, 0x60, 7); else sub_81C4318(NUMBER_OF_MON_TYPES + gContestMoves[gUnknown_0203CF1C->newMove].contestCategory, 0x55, 0x60, 7); @@ -3803,7 +3881,7 @@ u8 sub_81C45F4(struct Pokemon *mon, s16 *a1) { if (gMonSpritesGfxPtr != NULL) { - if (gUnknown_0203CF1C->monList.mons == gPlayerParty || gUnknown_0203CF1C->mode == 2 || gUnknown_0203CF1C->unk40EF == TRUE) + if (gUnknown_0203CF1C->monList.mons == gPlayerParty || gUnknown_0203CF1C->mode == PSS_MODE_UNK2 || gUnknown_0203CF1C->unk40EF == TRUE) { HandleLoadSpecialPokePic_2(&gMonFrontPicTable[summary->species2], gMonSpritesGfxPtr->sprites[1], summary->species2, summary->pid); } @@ -3814,7 +3892,7 @@ u8 sub_81C45F4(struct Pokemon *mon, s16 *a1) } else { - if (gUnknown_0203CF1C->monList.mons == gPlayerParty || gUnknown_0203CF1C->mode == 2 || gUnknown_0203CF1C->unk40EF == TRUE) + if (gUnknown_0203CF1C->monList.mons == gPlayerParty || gUnknown_0203CF1C->mode == PSS_MODE_UNK2 || gUnknown_0203CF1C->unk40EF == TRUE) { HandleLoadSpecialPokePic_2(&gMonFrontPicTable[summary->species2], sub_806F4F8(0, 1), summary->species2, summary->pid); } @@ -3893,7 +3971,7 @@ void sub_81C488C(u8 a0) sUnusedTaskId = a0; } -void sub_81C4898(void) +void DestoryUnusedTask(void) { if (sUnusedTaskId != 0xFF) { @@ -3991,7 +4069,7 @@ void sub_81C4AF8(u8 a0) u8 i; u8 *spriteIds = &gUnknown_0203CF1C->spriteIds[a0]; - if (gUnknown_0203CF1C->unk40C0 > 1) + if (gUnknown_0203CF1C->currPageIndex > 1) { u8 subsprite = 0; if (a0 == 8) From c806992cfc5a4fac53f2c8a52b32f7a039773e41 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Wed, 15 Aug 2018 11:43:57 +0200 Subject: [PATCH 102/234] Port contest ai from pokeruby --- asm/contest.s | 24 +- asm/contest_ai.s | 5278 -------------------------------------- asm/contest_effect.s | 2 +- include/contest.h | 9 +- include/contest_ai.h | 16 + include/contest_effect.h | 4 +- src/contest.c | 10 +- src/contest_ai.c | 1758 +++++++++++++ 8 files changed, 1803 insertions(+), 5298 deletions(-) create mode 100644 include/contest_ai.h create mode 100644 src/contest_ai.c diff --git a/asm/contest.s b/asm/contest.s index 6504e7bf10..b67450eef4 100644 --- a/asm/contest.s +++ b/asm/contest.s @@ -43,7 +43,7 @@ sub_80DB8B8: @ 80DB8B8 lsrs r4, r0, 24 adds r5, r4, 0 adds r0, r4, 0 - bl sub_80DBCA8 + bl Contest_IsMonsTurnDisabled lsls r0, 24 cmp r0, 0 beq _080DB8D0 @@ -55,8 +55,8 @@ _080DB8D0: cmp r4, r0 beq _080DB8F4 adds r0, r4, 0 - bl sub_81562C4 - bl sub_8156324 + bl ContestAI_ResetAI + bl ContestAI_GetActionToUse lsls r0, 24 ldr r2, =gContestMons lsrs r0, 23 @@ -533,7 +533,7 @@ _080DBC3C: ldr r0, [r3, 0x4] adds r0, r4, r0 ldrh r0, [r0, 0x6] - bl sub_80DD9F0 + bl Contest_GetMoveExcitement ldr r1, [r5] ldr r2, [r1] ldrb r1, [r2, 0x1] @@ -568,8 +568,8 @@ _080DBC3C: .pool thumb_func_end sub_80DBAA0 - thumb_func_start sub_80DBCA8 -sub_80DBCA8: @ 80DBCA8 + thumb_func_start Contest_IsMonsTurnDisabled +Contest_IsMonsTurnDisabled: @ 80DBCA8 push {lr} lsls r0, 24 lsrs r0, 24 @@ -599,7 +599,7 @@ _080DBCD8: _080DBCDA: pop {r1} bx r1 - thumb_func_end sub_80DBCA8 + thumb_func_end Contest_IsMonsTurnDisabled thumb_func_start sub_80DBCE0 sub_80DBCE0: @ 80DBCE0 @@ -3425,7 +3425,7 @@ _080DD334: ldr r0, [r0, 0x4] adds r0, r4, r0 ldrh r0, [r0, 0x6] - bl sub_80DD9F0 + bl Contest_GetMoveExcitement ldr r1, [r5] ldr r1, [r1, 0x10] strb r0, [r1] @@ -4213,8 +4213,8 @@ _080DD9C8: .pool thumb_func_end sub_80DD940 - thumb_func_start sub_80DD9F0 -sub_80DD9F0: @ 80DD9F0 + thumb_func_start Contest_GetMoveExcitement +Contest_GetMoveExcitement: @ 80DD9F0 lsls r0, 16 ldr r3, =gUnknown_085899EC ldr r1, =gContestMoves @@ -4233,7 +4233,7 @@ sub_80DD9F0: @ 80DD9F0 ldrsb r0, [r1, r0] bx lr .pool - thumb_func_end sub_80DD9F0 + thumb_func_end Contest_GetMoveExcitement thumb_func_start sub_80DDA20 sub_80DDA20: @ 80DDA20 @@ -5136,7 +5136,7 @@ _080DE146: beq _080DE1CA lsls r0, r7, 24 lsrs r0, 24 - bl sub_80DBCA8 + bl Contest_IsMonsTurnDisabled lsls r0, 24 cmp r0, 0 bne _080DE1CA diff --git a/asm/contest_ai.s b/asm/contest_ai.s index ff48661f08..e69de29bb2 100644 --- a/asm/contest_ai.s +++ b/asm/contest_ai.s @@ -1,5278 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_81562C4 -sub_81562C4: @ 81562C4 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r4, =gContestResources - ldr r0, [r4] - ldr r0, [r0, 0xC] - movs r1, 0 - movs r2, 0x44 - bl memset - movs r1, 0 - movs r3, 0x64 - adds r2, r4, 0 -_081562DE: - ldr r0, [r4] - ldr r0, [r0, 0xC] - adds r0, 0x5 - adds r0, r1 - strb r3, [r0] - adds r1, 0x1 - cmp r1, 0x3 - ble _081562DE - ldr r0, [r2] - ldr r0, [r0, 0xC] - adds r0, 0x41 - movs r1, 0 - strb r5, [r0] - ldr r0, [r2] - ldr r0, [r0, 0xC] - adds r0, 0x40 - strb r1, [r0] - ldr r0, [r2] - ldr r2, [r0, 0xC] - ldr r1, =gContestMons - adds r0, r2, 0 - adds r0, 0x41 - ldrb r0, [r0] - lsls r0, 6 - adds r1, 0x18 - adds r0, r1 - ldr r0, [r0] - str r0, [r2, 0x14] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81562C4 - - thumb_func_start sub_8156324 -sub_8156324: @ 8156324 - push {r4-r6,lr} - ldr r1, =gContestResources - ldr r0, [r1] - ldr r0, [r0, 0xC] - ldr r0, [r0, 0x14] - cmp r0, 0 - beq _0815636A - adds r4, r1, 0 - movs r5, 0 -_08156336: - ldr r0, [r4] - ldr r2, [r0, 0xC] - ldr r0, [r2, 0x14] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0815634A - strb r5, [r2] - bl sub_81563B0 -_0815634A: - ldr r0, [r4] - ldr r1, [r0, 0xC] - ldr r0, [r1, 0x14] - lsrs r0, 1 - str r0, [r1, 0x14] - ldrb r0, [r1, 0x10] - adds r0, 0x1 - strb r0, [r1, 0x10] - ldr r0, [r4] - ldr r0, [r0, 0xC] - strb r5, [r0, 0x4] - ldr r0, [r4] - ldr r0, [r0, 0xC] - ldr r0, [r0, 0x14] - cmp r0, 0 - bne _08156336 -_0815636A: - movs r6, 0x3 -_0815636C: - bl Random - adds r5, r0, 0 - ands r5, r6 - ldr r4, =gContestResources - ldr r0, [r4] - ldr r1, [r0, 0xC] - adds r0, r1, 0x5 - adds r0, r5 - ldrb r3, [r0] - movs r2, 0 - ldrb r1, [r1, 0x5] - cmp r3, r1 - bcc _0815639E - adds r1, r4, 0 -_0815638A: - adds r2, 0x1 - cmp r2, 0x3 - bgt _0815639E - ldr r0, [r1] - ldr r0, [r0, 0xC] - adds r0, 0x5 - adds r0, r2 - ldrb r0, [r0] - cmp r3, r0 - bcs _0815638A -_0815639E: - cmp r2, 0x4 - bne _0815636C - adds r0, r5, 0 - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8156324 - - thumb_func_start sub_81563B0 -sub_81563B0: @ 81563B0 - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r5, =gContestResources - ldr r0, [r5] - ldr r0, [r0, 0xC] - ldrb r0, [r0] - adds r4, r5, 0 - cmp r0, 0x2 - beq _081564A0 - adds r7, r5, 0 - ldr r6, =gAIScriptPtr - ldr r0, =gContestMons + 30 - mov r8, r0 -_081563CC: - ldr r0, [r7] - ldr r2, [r0, 0xC] - ldrb r0, [r2] - cmp r0, 0x1 - beq _08156426 - cmp r0, 0x1 - bgt _08156496 - cmp r0, 0 - bne _08156496 - ldr r1, =gContestAIs - ldrb r0, [r2, 0x10] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - str r0, [r6] - ldrb r1, [r2, 0x4] - lsls r1, 1 - adds r0, r2, 0 - adds r0, 0x41 - ldrb r0, [r0] - lsls r0, 6 - adds r1, r0 - add r1, r8 - ldrh r1, [r1] - adds r0, r1, 0 - cmp r0, 0 - bne _08156418 - strh r0, [r2, 0x2] - b _0815641A - .pool -_08156418: - strh r1, [r2, 0x2] -_0815641A: - ldr r0, [r4] - ldr r1, [r0, 0xC] - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _08156496 -_08156426: - ldrh r1, [r2, 0x2] - cmp r1, 0 - beq _08156444 - ldr r1, =gUnknown_085CDD00 - ldr r0, [r6] - ldrb r0, [r0] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - bl _call_via_r0 - b _08156458 - .pool -_08156444: - adds r0, r2, 0x5 - ldrb r2, [r2, 0x4] - adds r0, r2 - strb r1, [r0] - ldr r0, [r7] - ldr r2, [r0, 0xC] - ldrb r1, [r2, 0x9] - movs r0, 0x1 - orrs r0, r1 - strb r0, [r2, 0x9] -_08156458: - ldr r2, =gContestResources - ldr r0, [r2] - ldr r3, [r0, 0xC] - ldrb r1, [r3, 0x9] - movs r0, 0x1 - ands r0, r1 - adds r4, r2, 0 - cmp r0, 0 - beq _08156496 - ldrb r0, [r3, 0x4] - adds r0, 0x1 - movs r2, 0 - strb r0, [r3, 0x4] - ldr r0, [r4] - ldr r1, [r0, 0xC] - ldrb r0, [r1, 0x4] - cmp r0, 0x3 - bhi _08156484 - strb r2, [r1] - b _0815648A - .pool -_08156484: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_0815648A: - ldr r0, [r4] - ldr r2, [r0, 0xC] - ldrb r1, [r2, 0x9] - movs r0, 0xFE - ands r0, r1 - strb r0, [r2, 0x9] -_08156496: - ldr r0, [r5] - ldr r0, [r0, 0xC] - ldrb r0, [r0] - cmp r0, 0x2 - bne _081563CC -_081564A0: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_81563B0 - - thumb_func_start sub_81564AC -sub_81564AC: @ 81564AC - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - movs r1, 0 - ldr r3, =gContestResources - ldr r0, [r3] - ldr r0, [r0, 0x8] - b _081564CC - .pool -_081564C0: - adds r1, 0x1 - cmp r1, 0x3 - bgt _081564D2 - ldr r0, [r3] - ldr r0, [r0, 0x8] - adds r0, r1 -_081564CC: - ldrb r0, [r0] - cmp r0, r2 - bne _081564C0 -_081564D2: - lsls r0, r1, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end sub_81564AC - - thumb_func_start sub_81564DC -sub_81564DC: @ 81564DC - push {r4,lr} - ldr r3, =gContestResources - ldr r0, [r3] - ldr r0, [r0, 0xC] - adds r1, r0, 0x5 - ldrb r0, [r0, 0x4] - adds r1, r0 - ldr r2, =gAIScriptPtr - ldr r0, [r2] - ldrb r0, [r0, 0x1] - lsls r0, 24 - asrs r0, 24 - ldrb r1, [r1] - adds r0, r1 - lsls r0, 16 - lsrs r4, r0, 16 - asrs r0, 16 - cmp r0, 0xFF - ble _08156510 - movs r4, 0xFF - b _08156516 - .pool -_08156510: - cmp r0, 0 - bge _08156516 - movs r4, 0 -_08156516: - ldr r0, [r3] - ldr r1, [r0, 0xC] - adds r0, r1, 0x5 - ldrb r1, [r1, 0x4] - adds r0, r1 - strb r4, [r0] - ldr r0, [r2] - adds r0, 0x2 - str r0, [r2] - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81564DC - - thumb_func_start sub_8156530 -sub_8156530: @ 8156530 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r1, [r0, 0xC] - ldr r0, [r0] - ldrb r0, [r0, 0x1] - strh r0, [r1, 0x18] - ldr r1, =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - bx lr - .pool - thumb_func_end sub_8156530 - - thumb_func_start sub_8156550 -sub_8156550: @ 8156550 - push {lr} - bl sub_8156530 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - bge _0815658C - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08156590 - .pool -_0815658C: - adds r0, r2, 0x5 - str r0, [r3] -_08156590: - pop {r0} - bx r0 - thumb_func_end sub_8156550 - - thumb_func_start sub_8156594 -sub_8156594: @ 8156594 - push {lr} - bl sub_8156530 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - ble _081565D0 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _081565D4 - .pool -_081565D0: - adds r0, r2, 0x5 - str r0, [r3] -_081565D4: - pop {r0} - bx r0 - thumb_func_end sub_8156594 - - thumb_func_start sub_81565D8 -sub_81565D8: @ 81565D8 - push {lr} - bl sub_8156530 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - bne _08156614 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08156618 - .pool -_08156614: - adds r0, r2, 0x5 - str r0, [r3] -_08156618: - pop {r0} - bx r0 - thumb_func_end sub_81565D8 - - thumb_func_start sub_815661C -sub_815661C: @ 815661C - push {lr} - bl sub_8156530 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - beq _08156658 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _0815665C - .pool -_08156658: - adds r0, r2, 0x5 - str r0, [r3] -_0815665C: - pop {r0} - bx r0 - thumb_func_end sub_815661C - - thumb_func_start sub_8156660 -sub_8156660: @ 8156660 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r1, [r0, 0xC] - ldr r0, [r0] - ldrb r0, [r0, 0x13] - lsls r0, 24 - asrs r0, 24 - strh r0, [r1, 0x18] - ldr r1, =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - bx lr - .pool - thumb_func_end sub_8156660 - - thumb_func_start sub_8156684 -sub_8156684: @ 8156684 - push {lr} - bl sub_8156660 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - bge _081566C0 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _081566C4 - .pool -_081566C0: - adds r0, r2, 0x5 - str r0, [r3] -_081566C4: - pop {r0} - bx r0 - thumb_func_end sub_8156684 - - thumb_func_start sub_81566C8 -sub_81566C8: @ 81566C8 - push {lr} - bl sub_8156660 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - ble _08156704 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08156708 - .pool -_08156704: - adds r0, r2, 0x5 - str r0, [r3] -_08156708: - pop {r0} - bx r0 - thumb_func_end sub_81566C8 - - thumb_func_start sub_815670C -sub_815670C: @ 815670C - push {lr} - bl sub_8156660 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - bne _08156748 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _0815674C - .pool -_08156748: - adds r0, r2, 0x5 - str r0, [r3] -_0815674C: - pop {r0} - bx r0 - thumb_func_end sub_815670C - - thumb_func_start sub_8156750 -sub_8156750: @ 8156750 - push {lr} - bl sub_8156660 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - beq _0815678C - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08156790 - .pool -_0815678C: - adds r0, r2, 0x5 - str r0, [r3] -_08156790: - pop {r0} - bx r0 - thumb_func_end sub_8156750 - - thumb_func_start sub_8156794 -sub_8156794: @ 8156794 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r2, [r0, 0xC] - ldr r0, [r0, 0x8] - adds r1, r2, 0 - adds r1, 0x41 - ldrb r1, [r1] - adds r0, r1 - ldrb r0, [r0] - strh r0, [r2, 0x18] - ldr r1, =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - bx lr - .pool - thumb_func_end sub_8156794 - - thumb_func_start sub_81567BC -sub_81567BC: @ 81567BC - push {lr} - bl sub_8156794 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - bge _081567F8 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _081567FC - .pool -_081567F8: - adds r0, r2, 0x5 - str r0, [r3] -_081567FC: - pop {r0} - bx r0 - thumb_func_end sub_81567BC - - thumb_func_start sub_8156800 -sub_8156800: @ 8156800 - push {lr} - bl sub_8156794 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - ble _0815683C - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08156840 - .pool -_0815683C: - adds r0, r2, 0x5 - str r0, [r3] -_08156840: - pop {r0} - bx r0 - thumb_func_end sub_8156800 - - thumb_func_start sub_8156844 -sub_8156844: @ 8156844 - push {lr} - bl sub_8156794 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - bne _08156880 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08156884 - .pool -_08156880: - adds r0, r2, 0x5 - str r0, [r3] -_08156884: - pop {r0} - bx r0 - thumb_func_end sub_8156844 - - thumb_func_start sub_8156888 -sub_8156888: @ 8156888 - push {lr} - bl sub_8156794 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - beq _081568C4 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _081568C8 - .pool -_081568C4: - adds r0, r2, 0x5 - str r0, [r3] -_081568C8: - pop {r0} - bx r0 - thumb_func_end sub_8156888 - - thumb_func_start sub_81568CC -sub_81568CC: @ 81568CC - push {r4,lr} - ldr r0, =gContestResources - ldr r0, [r0] - ldr r4, [r0, 0xC] - adds r1, r4, 0 - adds r1, 0x41 - ldrb r1, [r1] - ldr r2, [r0, 0x4] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0xD] - lsls r0, 24 - asrs r0, 24 - movs r1, 0xA - bl __divsi3 - lsls r0, 24 - asrs r0, 24 - strh r0, [r4, 0x18] - ldr r1, =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81568CC - - thumb_func_start sub_815690C -sub_815690C: @ 815690C - push {lr} - bl sub_81568CC - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - bge _08156948 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _0815694C - .pool -_08156948: - adds r0, r2, 0x5 - str r0, [r3] -_0815694C: - pop {r0} - bx r0 - thumb_func_end sub_815690C - - thumb_func_start sub_8156950 -sub_8156950: @ 8156950 - push {lr} - bl sub_81568CC - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - ble _0815698C - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08156990 - .pool -_0815698C: - adds r0, r2, 0x5 - str r0, [r3] -_08156990: - pop {r0} - bx r0 - thumb_func_end sub_8156950 - - thumb_func_start sub_8156994 -sub_8156994: @ 8156994 - push {lr} - bl sub_81568CC - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - bne _081569D0 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _081569D4 - .pool -_081569D0: - adds r0, r2, 0x5 - str r0, [r3] -_081569D4: - pop {r0} - bx r0 - thumb_func_end sub_8156994 - - thumb_func_start sub_81569D8 -sub_81569D8: @ 81569D8 - push {lr} - bl sub_81568CC - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - beq _08156A14 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08156A18 - .pool -_08156A14: - adds r0, r2, 0x5 - str r0, [r3] -_08156A18: - pop {r0} - bx r0 - thumb_func_end sub_81569D8 - - thumb_func_start sub_8156A1C -sub_8156A1C: @ 8156A1C - ldr r0, =gContestResources - ldr r0, [r0] - ldr r3, [r0, 0xC] - adds r1, r3, 0 - adds r1, 0x41 - ldrb r1, [r1] - ldr r2, [r0, 0x4] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r0, [r0, 0x4] - strh r0, [r3, 0x18] - ldr r1, =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - bx lr - .pool - thumb_func_end sub_8156A1C - - thumb_func_start sub_8156A48 -sub_8156A48: @ 8156A48 - push {r4,r5,lr} - bl sub_8156A1C - ldr r0, =gContestResources - ldr r0, [r0] - ldr r2, [r0, 0xC] - ldr r4, =gAIScriptPtr - ldr r3, [r4] - ldrb r1, [r3] - ldrb r0, [r3, 0x1] - lsls r0, 8 - orrs r1, r0 - movs r5, 0x18 - ldrsh r0, [r2, r5] - lsls r1, 16 - asrs r1, 16 - cmp r0, r1 - bge _08156A8C - ldrb r1, [r3, 0x2] - ldrb r0, [r3, 0x3] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r3, 0x4] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r3, 0x5] - lsls r0, 24 - orrs r1, r0 - str r1, [r4] - b _08156A90 - .pool -_08156A8C: - adds r0, r3, 0x6 - str r0, [r4] -_08156A90: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8156A48 - - thumb_func_start sub_8156A98 -sub_8156A98: @ 8156A98 - push {r4,r5,lr} - bl sub_8156A1C - ldr r0, =gContestResources - ldr r0, [r0] - ldr r2, [r0, 0xC] - ldr r4, =gAIScriptPtr - ldr r3, [r4] - ldrb r1, [r3] - ldrb r0, [r3, 0x1] - lsls r0, 8 - orrs r1, r0 - movs r5, 0x18 - ldrsh r0, [r2, r5] - lsls r1, 16 - asrs r1, 16 - cmp r0, r1 - ble _08156ADC - ldrb r1, [r3, 0x2] - ldrb r0, [r3, 0x3] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r3, 0x4] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r3, 0x5] - lsls r0, 24 - orrs r1, r0 - str r1, [r4] - b _08156AE0 - .pool -_08156ADC: - adds r0, r3, 0x6 - str r0, [r4] -_08156AE0: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8156A98 - - thumb_func_start sub_8156AE8 -sub_8156AE8: @ 8156AE8 - push {r4,r5,lr} - bl sub_8156A1C - ldr r0, =gContestResources - ldr r0, [r0] - ldr r2, [r0, 0xC] - ldr r4, =gAIScriptPtr - ldr r3, [r4] - ldrb r1, [r3] - ldrb r0, [r3, 0x1] - lsls r0, 8 - orrs r1, r0 - movs r5, 0x18 - ldrsh r0, [r2, r5] - lsls r1, 16 - asrs r1, 16 - cmp r0, r1 - bne _08156B2C - ldrb r1, [r3, 0x2] - ldrb r0, [r3, 0x3] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r3, 0x4] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r3, 0x5] - lsls r0, 24 - orrs r1, r0 - str r1, [r4] - b _08156B30 - .pool -_08156B2C: - adds r0, r3, 0x6 - str r0, [r4] -_08156B30: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8156AE8 - - thumb_func_start sub_8156B38 -sub_8156B38: @ 8156B38 - push {r4,r5,lr} - bl sub_8156A1C - ldr r0, =gContestResources - ldr r0, [r0] - ldr r2, [r0, 0xC] - ldr r4, =gAIScriptPtr - ldr r3, [r4] - ldrb r1, [r3] - ldrb r0, [r3, 0x1] - lsls r0, 8 - orrs r1, r0 - movs r5, 0x18 - ldrsh r0, [r2, r5] - lsls r1, 16 - asrs r1, 16 - cmp r0, r1 - beq _08156B7C - ldrb r1, [r3, 0x2] - ldrb r0, [r3, 0x3] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r3, 0x4] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r3, 0x5] - lsls r0, 24 - orrs r1, r0 - str r1, [r4] - b _08156B80 - .pool -_08156B7C: - adds r0, r3, 0x6 - str r0, [r4] -_08156B80: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8156B38 - - thumb_func_start sub_8156B88 -sub_8156B88: @ 8156B88 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r2, [r0, 0xC] - ldr r1, =gContestMonConditions - adds r0, r2, 0 - adds r0, 0x41 - ldrb r0, [r0] - lsls r0, 1 - adds r0, r1 - ldrh r0, [r0] - strh r0, [r2, 0x18] - ldr r1, =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - bx lr - .pool - thumb_func_end sub_8156B88 - - thumb_func_start sub_8156BB4 -sub_8156BB4: @ 8156BB4 - push {r4,r5,lr} - bl sub_8156B88 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r2, [r0, 0xC] - ldr r4, =gAIScriptPtr - ldr r3, [r4] - ldrb r1, [r3] - ldrb r0, [r3, 0x1] - lsls r0, 8 - orrs r1, r0 - movs r5, 0x18 - ldrsh r0, [r2, r5] - lsls r1, 16 - asrs r1, 16 - cmp r0, r1 - bge _08156BF8 - ldrb r1, [r3, 0x2] - ldrb r0, [r3, 0x3] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r3, 0x4] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r3, 0x5] - lsls r0, 24 - orrs r1, r0 - str r1, [r4] - b _08156BFC - .pool -_08156BF8: - adds r0, r3, 0x6 - str r0, [r4] -_08156BFC: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8156BB4 - - thumb_func_start sub_8156C04 -sub_8156C04: @ 8156C04 - push {r4,r5,lr} - bl sub_8156B88 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r2, [r0, 0xC] - ldr r4, =gAIScriptPtr - ldr r3, [r4] - ldrb r1, [r3] - ldrb r0, [r3, 0x1] - lsls r0, 8 - orrs r1, r0 - movs r5, 0x18 - ldrsh r0, [r2, r5] - lsls r1, 16 - asrs r1, 16 - cmp r0, r1 - ble _08156C48 - ldrb r1, [r3, 0x2] - ldrb r0, [r3, 0x3] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r3, 0x4] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r3, 0x5] - lsls r0, 24 - orrs r1, r0 - str r1, [r4] - b _08156C4C - .pool -_08156C48: - adds r0, r3, 0x6 - str r0, [r4] -_08156C4C: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8156C04 - - thumb_func_start sub_8156C54 -sub_8156C54: @ 8156C54 - push {r4,r5,lr} - bl sub_8156B88 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r2, [r0, 0xC] - ldr r4, =gAIScriptPtr - ldr r3, [r4] - ldrb r1, [r3] - ldrb r0, [r3, 0x1] - lsls r0, 8 - orrs r1, r0 - movs r5, 0x18 - ldrsh r0, [r2, r5] - lsls r1, 16 - asrs r1, 16 - cmp r0, r1 - bne _08156C98 - ldrb r1, [r3, 0x2] - ldrb r0, [r3, 0x3] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r3, 0x4] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r3, 0x5] - lsls r0, 24 - orrs r1, r0 - str r1, [r4] - b _08156C9C - .pool -_08156C98: - adds r0, r3, 0x6 - str r0, [r4] -_08156C9C: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8156C54 - - thumb_func_start sub_8156CA4 -sub_8156CA4: @ 8156CA4 - push {r4,r5,lr} - bl sub_8156B88 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r2, [r0, 0xC] - ldr r4, =gAIScriptPtr - ldr r3, [r4] - ldrb r1, [r3] - ldrb r0, [r3, 0x1] - lsls r0, 8 - orrs r1, r0 - movs r5, 0x18 - ldrsh r0, [r2, r5] - lsls r1, 16 - asrs r1, 16 - cmp r0, r1 - beq _08156CE8 - ldrb r1, [r3, 0x2] - ldrb r0, [r3, 0x3] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r3, 0x4] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r3, 0x5] - lsls r0, 24 - orrs r1, r0 - str r1, [r4] - b _08156CEC - .pool -_08156CE8: - adds r0, r3, 0x6 - str r0, [r4] -_08156CEC: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8156CA4 - - thumb_func_start sub_8156CF4 -sub_8156CF4: @ 8156CF4 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r1, [r0, 0xC] - ldr r0, =gSpecialVar_ContestCategory - ldrh r0, [r0] - strh r0, [r1, 0x18] - ldr r1, =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - bx lr - .pool - thumb_func_end sub_8156CF4 - - thumb_func_start sub_8156D18 -sub_8156D18: @ 8156D18 - push {lr} - bl sub_8156CF4 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - bne _08156D54 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08156D58 - .pool -_08156D54: - adds r0, r2, 0x5 - str r0, [r3] -_08156D58: - pop {r0} - bx r0 - thumb_func_end sub_8156D18 - - thumb_func_start sub_8156D5C -sub_8156D5C: @ 8156D5C - push {lr} - bl sub_8156CF4 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - beq _08156D98 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08156D9C - .pool -_08156D98: - adds r0, r2, 0x5 - str r0, [r3] -_08156D9C: - pop {r0} - bx r0 - thumb_func_end sub_8156D5C - - thumb_func_start sub_8156DA0 -sub_8156DA0: @ 8156DA0 - push {r4,lr} - ldr r2, =gContestMons - ldr r4, =gContestResources - ldr r0, [r4] - ldr r0, [r0, 0xC] - ldrb r1, [r0, 0x4] - lsls r1, 1 - adds r0, 0x41 - ldrb r0, [r0] - lsls r0, 6 - adds r1, r0 - adds r2, 0x1E - adds r1, r2 - ldrh r0, [r1] - bl sub_80DD9F0 - ldr r1, [r4] - ldr r1, [r1, 0xC] - lsls r0, 24 - asrs r0, 24 - strh r0, [r1, 0x18] - ldr r1, =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8156DA0 - - thumb_func_start sub_8156DE4 -sub_8156DE4: @ 8156DE4 - push {r4,lr} - bl sub_8156DA0 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - movs r4, 0x18 - ldrsh r1, [r0, r4] - movs r0, 0 - ldrsb r0, [r2, r0] - cmp r1, r0 - bge _08156E20 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08156E24 - .pool -_08156E20: - adds r0, r2, 0x5 - str r0, [r3] -_08156E24: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8156DE4 - - thumb_func_start sub_8156E2C -sub_8156E2C: @ 8156E2C - push {r4,lr} - bl sub_8156DA0 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - movs r4, 0x18 - ldrsh r1, [r0, r4] - movs r0, 0 - ldrsb r0, [r2, r0] - cmp r1, r0 - ble _08156E68 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08156E6C - .pool -_08156E68: - adds r0, r2, 0x5 - str r0, [r3] -_08156E6C: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8156E2C - - thumb_func_start sub_8156E74 -sub_8156E74: @ 8156E74 - push {r4,lr} - bl sub_8156DA0 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - movs r4, 0x18 - ldrsh r1, [r0, r4] - movs r0, 0 - ldrsb r0, [r2, r0] - cmp r1, r0 - bne _08156EB0 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08156EB4 - .pool -_08156EB0: - adds r0, r2, 0x5 - str r0, [r3] -_08156EB4: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8156E74 - - thumb_func_start sub_8156EBC -sub_8156EBC: @ 8156EBC - push {r4,lr} - bl sub_8156DA0 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - movs r4, 0x18 - ldrsh r1, [r0, r4] - movs r0, 0 - ldrsb r0, [r2, r0] - cmp r1, r0 - beq _08156EF8 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08156EFC - .pool -_08156EF8: - adds r0, r2, 0x5 - str r0, [r3] -_08156EFC: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8156EBC - - thumb_func_start sub_8156F04 -sub_8156F04: @ 8156F04 - ldr r2, =gContestMons - ldr r0, =gContestResources - ldr r0, [r0] - ldr r3, [r0, 0xC] - ldrb r1, [r3, 0x4] - lsls r1, 1 - adds r0, r3, 0 - adds r0, 0x41 - ldrb r0, [r0] - lsls r0, 6 - adds r1, r0 - adds r2, 0x1E - adds r1, r2 - ldrh r0, [r1] - ldr r1, =gContestMoves - lsls r0, 3 - adds r0, r1 - ldrb r0, [r0] - strh r0, [r3, 0x18] - ldr r1, =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - bx lr - .pool - thumb_func_end sub_8156F04 - - thumb_func_start sub_8156F44 -sub_8156F44: @ 8156F44 - push {lr} - bl sub_8156F04 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - bne _08156F80 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08156F84 - .pool -_08156F80: - adds r0, r2, 0x5 - str r0, [r3] -_08156F84: - pop {r0} - bx r0 - thumb_func_end sub_8156F44 - - thumb_func_start sub_8156F88 -sub_8156F88: @ 8156F88 - push {lr} - bl sub_8156F04 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - beq _08156FC4 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08156FC8 - .pool -_08156FC4: - adds r0, r2, 0x5 - str r0, [r3] -_08156FC8: - pop {r0} - bx r0 - thumb_func_end sub_8156F88 - - thumb_func_start sub_8156FCC -sub_8156FCC: @ 8156FCC - ldr r2, =gContestMons - ldr r0, =gContestResources - ldr r0, [r0] - ldr r3, [r0, 0xC] - ldrb r1, [r3, 0x4] - lsls r1, 1 - adds r0, r3, 0 - adds r0, 0x41 - ldrb r0, [r0] - lsls r0, 6 - adds r1, r0 - adds r2, 0x1E - adds r1, r2 - ldrh r0, [r1] - ldr r2, =gContestEffects - ldr r1, =gContestMoves - lsls r0, 3 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0] - strh r0, [r3, 0x18] - ldr r1, =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - bx lr - .pool - thumb_func_end sub_8156FCC - - thumb_func_start sub_8157018 -sub_8157018: @ 8157018 - push {lr} - bl sub_8156FCC - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - bne _08157054 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08157058 - .pool -_08157054: - adds r0, r2, 0x5 - str r0, [r3] -_08157058: - pop {r0} - bx r0 - thumb_func_end sub_8157018 - - thumb_func_start sub_815705C -sub_815705C: @ 815705C - push {lr} - bl sub_8156FCC - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - beq _08157098 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _0815709C - .pool -_08157098: - adds r0, r2, 0x5 - str r0, [r3] -_0815709C: - pop {r0} - bx r0 - thumb_func_end sub_815705C - - thumb_func_start sub_81570A0 -sub_81570A0: @ 81570A0 - push {r4-r7,lr} - ldr r2, =gContestMons - ldr r5, =gContestResources - ldr r0, [r5] - ldr r1, [r0, 0xC] - ldrb r0, [r1, 0x4] - lsls r0, 1 - adds r1, 0x41 - ldrb r1, [r1] - lsls r1, 6 - adds r0, r1 - adds r2, 0x1E - adds r0, r2 - ldrh r0, [r0] - ldr r3, =gContestEffects - ldr r4, =gContestMoves - lsls r0, 3 - adds r0, r4 - ldrb r0, [r0] - lsls r0, 2 - adds r0, r3 - ldrb r7, [r0, 0x1] - movs r6, 0 - ldr r0, =gAIScriptPtr - mov r12, r0 - adds r1, r2 -_081570D4: - ldrh r0, [r1] - cmp r0, 0 - beq _081570EA - lsls r0, 3 - adds r0, r4 - ldrb r0, [r0] - lsls r0, 2 - adds r0, r3 - ldrb r0, [r0, 0x1] - cmp r7, r0 - bcc _081570F2 -_081570EA: - adds r1, 0x2 - adds r6, 0x1 - cmp r6, 0x3 - ble _081570D4 -_081570F2: - cmp r6, 0x4 - bne _08157114 - ldr r0, [r5] - ldr r1, [r0, 0xC] - movs r0, 0x1 - b _0815711A - .pool -_08157114: - ldr r0, [r5] - ldr r1, [r0, 0xC] - movs r0, 0 -_0815711A: - strh r0, [r1, 0x18] - mov r1, r12 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_81570A0 - - thumb_func_start sub_815712C -sub_815712C: @ 815712C - push {lr} - bl sub_81570A0 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - cmp r0, 0 - beq _08157164 - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - ldrb r0, [r2, 0x1] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x2] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _0815716C - .pool -_08157164: - ldr r1, =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x4 - str r0, [r1] -_0815716C: - pop {r0} - bx r0 - .pool - thumb_func_end sub_815712C - - thumb_func_start sub_8157174 -sub_8157174: @ 8157174 - push {r4-r7,lr} - ldr r2, =gContestMons - ldr r5, =gContestResources - ldr r0, [r5] - ldr r1, [r0, 0xC] - ldrb r0, [r1, 0x4] - lsls r0, 1 - adds r1, 0x41 - ldrb r1, [r1] - lsls r1, 6 - adds r0, r1 - adds r2, 0x1E - adds r0, r2 - ldrh r0, [r0] - ldr r3, =gContestEffects - ldr r4, =gContestMoves - lsls r0, 3 - adds r0, r4 - ldrb r0, [r0] - lsls r0, 2 - adds r0, r3 - ldrb r7, [r0, 0x2] - movs r6, 0 - ldr r0, =gAIScriptPtr - mov r12, r0 - adds r1, r2 -_081571A8: - ldrh r0, [r1] - cmp r0, 0 - beq _081571BE - lsls r0, 3 - adds r0, r4 - ldrb r0, [r0] - lsls r0, 2 - adds r0, r3 - ldrb r0, [r0, 0x2] - cmp r7, r0 - bcc _081571C6 -_081571BE: - adds r1, 0x2 - adds r6, 0x1 - cmp r6, 0x3 - ble _081571A8 -_081571C6: - cmp r6, 0x4 - bne _081571E8 - ldr r0, [r5] - ldr r1, [r0, 0xC] - movs r0, 0x1 - b _081571EE - .pool -_081571E8: - ldr r0, [r5] - ldr r1, [r0, 0xC] - movs r0, 0 -_081571EE: - strh r0, [r1, 0x18] - mov r1, r12 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8157174 - - thumb_func_start sub_8157200 -sub_8157200: @ 8157200 - push {lr} - bl sub_8157174 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - cmp r0, 0 - beq _08157238 - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08157240 - .pool -_08157238: - ldr r1, =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] -_08157240: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8157200 - - thumb_func_start sub_8157248 -sub_8157248: @ 8157248 - push {r4,lr} - ldr r2, =gContestMons - ldr r0, =gContestResources - ldr r0, [r0] - ldr r4, [r0, 0xC] - ldrb r1, [r4, 0x4] - lsls r1, 1 - adds r0, r4, 0 - adds r0, 0x41 - ldrb r0, [r0] - lsls r0, 6 - adds r1, r0 - adds r2, 0x1E - adds r1, r2 - ldrh r0, [r1] - ldr r2, =gContestEffects - ldr r1, =gContestMoves - lsls r0, 3 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x1] - movs r1, 0xA - bl __udivsi3 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x18] - ldr r1, =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8157248 - - thumb_func_start sub_81572A4 -sub_81572A4: @ 81572A4 - push {lr} - bl sub_8157248 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - bge _081572E0 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _081572E4 - .pool -_081572E0: - adds r0, r2, 0x5 - str r0, [r3] -_081572E4: - pop {r0} - bx r0 - thumb_func_end sub_81572A4 - - thumb_func_start sub_81572E8 -sub_81572E8: @ 81572E8 - push {lr} - bl sub_8157248 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - ble _08157324 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08157328 - .pool -_08157324: - adds r0, r2, 0x5 - str r0, [r3] -_08157328: - pop {r0} - bx r0 - thumb_func_end sub_81572E8 - - thumb_func_start sub_815732C -sub_815732C: @ 815732C - push {lr} - bl sub_8157248 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - bne _08157368 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _0815736C - .pool -_08157368: - adds r0, r2, 0x5 - str r0, [r3] -_0815736C: - pop {r0} - bx r0 - thumb_func_end sub_815732C - - thumb_func_start sub_8157370 -sub_8157370: @ 8157370 - push {lr} - bl sub_8157248 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - beq _081573AC - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _081573B0 - .pool -_081573AC: - adds r0, r2, 0x5 - str r0, [r3] -_081573B0: - pop {r0} - bx r0 - thumb_func_end sub_8157370 - - thumb_func_start sub_81573B4 -sub_81573B4: @ 81573B4 - push {r4,lr} - ldr r2, =gContestMons - ldr r0, =gContestResources - ldr r0, [r0] - ldr r4, [r0, 0xC] - ldrb r1, [r4, 0x4] - lsls r1, 1 - adds r0, r4, 0 - adds r0, 0x41 - ldrb r0, [r0] - lsls r0, 6 - adds r1, r0 - adds r2, 0x1E - adds r1, r2 - ldrh r0, [r1] - ldr r2, =gContestEffects - ldr r1, =gContestMoves - lsls r0, 3 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x2] - movs r1, 0xA - bl __udivsi3 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x18] - ldr r1, =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81573B4 - - thumb_func_start sub_8157410 -sub_8157410: @ 8157410 - push {lr} - bl sub_81573B4 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - bge _0815744C - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08157450 - .pool -_0815744C: - adds r0, r2, 0x5 - str r0, [r3] -_08157450: - pop {r0} - bx r0 - thumb_func_end sub_8157410 - - thumb_func_start sub_8157454 -sub_8157454: @ 8157454 - push {lr} - bl sub_81573B4 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - ble _08157490 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08157494 - .pool -_08157490: - adds r0, r2, 0x5 - str r0, [r3] -_08157494: - pop {r0} - bx r0 - thumb_func_end sub_8157454 - - thumb_func_start sub_8157498 -sub_8157498: @ 8157498 - push {lr} - bl sub_81573B4 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - bne _081574D4 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _081574D8 - .pool -_081574D4: - adds r0, r2, 0x5 - str r0, [r3] -_081574D8: - pop {r0} - bx r0 - thumb_func_end sub_8157498 - - thumb_func_start sub_81574DC -sub_81574DC: @ 81574DC - push {lr} - bl sub_81573B4 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - beq _08157518 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _0815751C - .pool -_08157518: - adds r0, r2, 0x5 - str r0, [r3] -_0815751C: - pop {r0} - bx r0 - thumb_func_end sub_81574DC - - thumb_func_start sub_8157520 -sub_8157520: @ 8157520 - push {r4,r5,lr} - ldr r3, =gContestMons - ldr r5, =gContestResources - ldr r4, [r5] - ldr r1, [r4, 0xC] - ldrb r0, [r1, 0x4] - lsls r0, 1 - adds r1, 0x41 - ldrb r2, [r1] - lsls r1, r2, 6 - adds r0, r1 - adds r3, 0x1E - adds r0, r3 - ldrh r3, [r0] - ldr r1, [r4, 0x4] - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r1 - ldrh r1, [r0, 0x8] - cmp r3, r1 - beq _08157558 - movs r1, 0 - b _08157560 - .pool -_08157558: - ldrb r0, [r0, 0xB] - lsls r0, 25 - lsrs r0, 29 - adds r1, r0, 0x1 -_08157560: - ldr r0, [r5] - ldr r0, [r0, 0xC] - strh r1, [r0, 0x18] - ldr r1, =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8157520 - - thumb_func_start sub_8157578 -sub_8157578: @ 8157578 - push {lr} - bl sub_8157520 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - bge _081575B4 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _081575B8 - .pool -_081575B4: - adds r0, r2, 0x5 - str r0, [r3] -_081575B8: - pop {r0} - bx r0 - thumb_func_end sub_8157578 - - thumb_func_start sub_81575BC -sub_81575BC: @ 81575BC - push {lr} - bl sub_8157520 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - ble _081575F8 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _081575FC - .pool -_081575F8: - adds r0, r2, 0x5 - str r0, [r3] -_081575FC: - pop {r0} - bx r0 - thumb_func_end sub_81575BC - - thumb_func_start sub_8157600 -sub_8157600: @ 8157600 - push {lr} - bl sub_8157520 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - bne _0815763C - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08157640 - .pool -_0815763C: - adds r0, r2, 0x5 - str r0, [r3] -_08157640: - pop {r0} - bx r0 - thumb_func_end sub_8157600 - - thumb_func_start sub_8157644 -sub_8157644: @ 8157644 - push {lr} - bl sub_8157520 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - beq _08157680 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08157684 - .pool -_08157680: - adds r0, r2, 0x5 - str r0, [r3] -_08157684: - pop {r0} - bx r0 - thumb_func_end sub_8157644 - - thumb_func_start sub_8157688 -sub_8157688: @ 8157688 - push {r4-r6,lr} - movs r3, 0 - ldr r2, =gContestMons - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - ldrb r1, [r0, 0x4] - lsls r1, 1 - adds r0, 0x41 - ldrb r0, [r0] - lsls r0, 6 - adds r1, r0 - adds r2, 0x1E - adds r1, r2 - ldrh r5, [r1] - movs r4, 0 - adds r6, r2, 0 -_081576AA: - lsls r1, r4, 1 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - adds r0, 0x41 - ldrb r0, [r0] - lsls r0, 6 - adds r1, r0 - adds r1, r6 - ldrh r0, [r1] - cmp r0, 0 - beq _081576D2 - adds r1, r0, 0 - adds r0, r5, 0 - bl AreMovesContestCombo - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0 - bne _081576DC -_081576D2: - adds r4, 0x1 - cmp r4, 0x3 - ble _081576AA - cmp r3, 0 - beq _081576DE -_081576DC: - movs r3, 0x1 -_081576DE: - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - strh r3, [r0, 0x18] - ldr r1, =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8157688 - - thumb_func_start sub_8157700 -sub_8157700: @ 8157700 - push {lr} - bl sub_8157688 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - cmp r0, 0 - beq _08157738 - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - ldrb r0, [r2, 0x1] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x2] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08157740 - .pool -_08157738: - ldr r1, =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x4 - str r0, [r1] -_08157740: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8157700 - - thumb_func_start sub_8157748 -sub_8157748: @ 8157748 - push {lr} - bl sub_8157688 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _08157780 - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - ldrb r0, [r2, 0x1] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x2] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08157788 - .pool -_08157780: - ldr r1, =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x4 - str r0, [r1] -_08157788: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8157748 - - thumb_func_start sub_8157790 -sub_8157790: @ 8157790 - push {r4-r6,lr} - movs r3, 0 - ldr r2, =gContestMons - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - ldrb r1, [r0, 0x4] - lsls r1, 1 - adds r0, 0x41 - ldrb r0, [r0] - lsls r0, 6 - adds r1, r0 - adds r2, 0x1E - adds r1, r2 - ldrh r5, [r1] - movs r4, 0 - adds r6, r2, 0 -_081577B2: - lsls r1, r4, 1 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - adds r0, 0x41 - ldrb r0, [r0] - lsls r0, 6 - adds r1, r0 - adds r1, r6 - ldrh r0, [r1] - cmp r0, 0 - beq _081577D8 - adds r1, r5, 0 - bl AreMovesContestCombo - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0 - bne _081577E2 -_081577D8: - adds r4, 0x1 - cmp r4, 0x3 - ble _081577B2 - cmp r3, 0 - beq _081577E4 -_081577E2: - movs r3, 0x1 -_081577E4: - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - strh r3, [r0, 0x18] - ldr r1, =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8157790 - - thumb_func_start sub_8157808 -sub_8157808: @ 8157808 - push {lr} - bl sub_8157790 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - cmp r0, 0 - beq _08157840 - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - ldrb r0, [r2, 0x1] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x2] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08157848 - .pool -_08157840: - ldr r1, =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x4 - str r0, [r1] -_08157848: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8157808 - - thumb_func_start sub_8157850 -sub_8157850: @ 8157850 - push {lr} - bl sub_8157790 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _08157888 - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - ldrb r0, [r2, 0x1] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x2] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08157890 - .pool -_08157888: - ldr r1, =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x4 - str r0, [r1] -_08157890: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8157850 - - thumb_func_start sub_8157898 -sub_8157898: @ 8157898 - push {r4-r6,lr} - movs r5, 0 - ldr r3, =gContestMons - ldr r6, =gContestResources - ldr r4, [r6] - ldr r1, [r4, 0xC] - ldrb r0, [r1, 0x4] - lsls r0, 1 - adds r1, 0x41 - ldrb r2, [r1] - lsls r1, r2, 6 - adds r0, r1 - adds r3, 0x1E - adds r0, r3 - ldrh r3, [r0] - ldr r1, [r4, 0x4] - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r1, r0, r1 - ldrh r0, [r1, 0x8] - cmp r0, 0 - beq _081578D0 - adds r1, r3, 0 - bl AreMovesContestCombo - lsls r0, 24 - lsrs r5, r0, 24 -_081578D0: - cmp r5, 0 - beq _081578D6 - movs r5, 0x1 -_081578D6: - ldr r0, [r6] - ldr r0, [r0, 0xC] - strh r5, [r0, 0x18] - ldr r1, =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8157898 - - thumb_func_start sub_81578F8 -sub_81578F8: @ 81578F8 - push {lr} - bl sub_8157898 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - cmp r0, 0 - beq _08157930 - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - ldrb r0, [r2, 0x1] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x2] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08157938 - .pool -_08157930: - ldr r1, =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x4 - str r0, [r1] -_08157938: - pop {r0} - bx r0 - .pool - thumb_func_end sub_81578F8 - - thumb_func_start sub_8157940 -sub_8157940: @ 8157940 - push {lr} - bl sub_8157898 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _08157978 - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - ldrb r0, [r2, 0x1] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x2] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08157980 - .pool -_08157978: - ldr r1, =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x4 - str r0, [r1] -_08157980: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8157940 - - thumb_func_start sub_8157988 -sub_8157988: @ 8157988 - push {r4,r5,lr} - ldr r4, =gAIScriptPtr - ldr r0, [r4] - ldrb r0, [r0, 0x1] - bl sub_81564AC - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gContestResources - ldr r1, [r1] - ldr r5, [r1, 0xC] - ldr r2, [r1, 0x4] - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - adds r1, r2 - movs r0, 0xD - ldrsb r0, [r1, r0] - movs r1, 0xA - bl __divsi3 - lsls r0, 24 - asrs r0, 24 - strh r0, [r5, 0x18] - ldr r0, [r4] - adds r0, 0x2 - str r0, [r4] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8157988 - - thumb_func_start sub_81579CC -sub_81579CC: @ 81579CC - push {lr} - bl sub_8157988 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - bge _08157A08 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08157A0C - .pool -_08157A08: - adds r0, r2, 0x5 - str r0, [r3] -_08157A0C: - pop {r0} - bx r0 - thumb_func_end sub_81579CC - - thumb_func_start sub_8157A10 -sub_8157A10: @ 8157A10 - push {lr} - bl sub_8157988 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - ble _08157A4C - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08157A50 - .pool -_08157A4C: - adds r0, r2, 0x5 - str r0, [r3] -_08157A50: - pop {r0} - bx r0 - thumb_func_end sub_8157A10 - - thumb_func_start sub_8157A54 -sub_8157A54: @ 8157A54 - push {lr} - bl sub_8157988 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - bne _08157A90 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08157A94 - .pool -_08157A90: - adds r0, r2, 0x5 - str r0, [r3] -_08157A94: - pop {r0} - bx r0 - thumb_func_end sub_8157A54 - - thumb_func_start sub_8157A98 -sub_8157A98: @ 8157A98 - push {lr} - bl sub_8157988 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - beq _08157AD4 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08157AD8 - .pool -_08157AD4: - adds r0, r2, 0x5 - str r0, [r3] -_08157AD8: - pop {r0} - bx r0 - thumb_func_end sub_8157A98 - - thumb_func_start sub_8157ADC -sub_8157ADC: @ 8157ADC - push {r4-r6,lr} - movs r6, 0 - ldr r5, =gAIScriptPtr - ldr r0, [r5] - ldrb r0, [r0, 0x1] - bl sub_81564AC - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - bl sub_80DE1E8 - lsls r0, 24 - cmp r0, 0 - beq _08157B18 - ldr r2, =gContestMoves - ldr r0, =gContestResources - ldr r0, [r0] - ldr r1, [r0, 0x4] - lsls r0, r4, 3 - subs r0, r4 - lsls r0, 2 - adds r0, r1 - ldrh r0, [r0, 0x8] - lsls r0, 3 - adds r0, r2 - ldrb r1, [r0, 0x2] - negs r0, r1 - orrs r0, r1 - lsrs r6, r0, 31 -_08157B18: - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - strh r6, [r0, 0x18] - ldr r0, [r5] - adds r0, 0x2 - str r0, [r5] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8157ADC - - thumb_func_start sub_8157B38 -sub_8157B38: @ 8157B38 - push {lr} - bl sub_8157ADC - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - bge _08157B74 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08157B78 - .pool -_08157B74: - adds r0, r2, 0x5 - str r0, [r3] -_08157B78: - pop {r0} - bx r0 - thumb_func_end sub_8157B38 - - thumb_func_start sub_8157B7C -sub_8157B7C: @ 8157B7C - push {lr} - bl sub_8157ADC - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - ble _08157BB8 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08157BBC - .pool -_08157BB8: - adds r0, r2, 0x5 - str r0, [r3] -_08157BBC: - pop {r0} - bx r0 - thumb_func_end sub_8157B7C - - thumb_func_start sub_8157BC0 -sub_8157BC0: @ 8157BC0 - push {lr} - bl sub_8157ADC - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - bne _08157BFC - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08157C00 - .pool -_08157BFC: - adds r0, r2, 0x5 - str r0, [r3] -_08157C00: - pop {r0} - bx r0 - thumb_func_end sub_8157BC0 - - thumb_func_start sub_8157C04 -sub_8157C04: @ 8157C04 - push {lr} - bl sub_8157ADC - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - beq _08157C40 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08157C44 - .pool -_08157C40: - adds r0, r2, 0x5 - str r0, [r3] -_08157C44: - pop {r0} - bx r0 - thumb_func_end sub_8157C04 - - thumb_func_start sub_8157C48 -sub_8157C48: @ 8157C48 - push {lr} - ldr r0, =gAIScriptPtr - ldr r0, [r0] - ldrb r0, [r0, 0x1] - bl sub_81564AC - lsls r0, 24 - lsrs r0, 24 - bl sub_80DBCA8 - lsls r0, 24 - cmp r0, 0 - beq _08157C74 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r1, [r0, 0xC] - movs r0, 0 - b _08157C7C - .pool -_08157C74: - ldr r0, =gContestResources - ldr r0, [r0] - ldr r1, [r0, 0xC] - movs r0, 0x1 -_08157C7C: - strh r0, [r1, 0x18] - ldr r1, =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x2 - str r0, [r1] - pop {r0} - bx r0 - .pool - thumb_func_end sub_8157C48 - - thumb_func_start sub_8157C94 -sub_8157C94: @ 8157C94 - push {lr} - bl sub_8157C48 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - cmp r0, 0 - beq _08157CCC - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - ldrb r0, [r2, 0x1] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x2] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08157CD4 - .pool -_08157CCC: - ldr r1, =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x4 - str r0, [r1] -_08157CD4: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8157C94 - - thumb_func_start sub_8157CDC -sub_8157CDC: @ 8157CDC - push {lr} - bl sub_8157C48 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _08157D14 - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - ldrb r0, [r2, 0x1] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x2] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08157D1C - .pool -_08157D14: - ldr r1, =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x4 - str r0, [r1] -_08157D1C: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8157CDC - - thumb_func_start sub_8157D24 -sub_8157D24: @ 8157D24 - push {r4,lr} - ldr r4, =gAIScriptPtr - ldr r0, [r4] - ldrb r0, [r0, 0x1] - bl sub_81564AC - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gContestResources - ldr r1, [r1] - ldr r3, [r1, 0xC] - ldr r2, [r1, 0x4] - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - adds r1, r2 - ldrb r0, [r1, 0x15] - lsls r0, 28 - lsrs r0, 31 - strh r0, [r3, 0x18] - ldr r0, [r4] - adds r0, 0x2 - str r0, [r4] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8157D24 - - thumb_func_start sub_8157D60 -sub_8157D60: @ 8157D60 - push {lr} - bl sub_8157D24 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - cmp r0, 0 - beq _08157D98 - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - ldrb r0, [r2, 0x1] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x2] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08157DA0 - .pool -_08157D98: - ldr r1, =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x4 - str r0, [r1] -_08157DA0: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8157D60 - - thumb_func_start sub_8157DA8 -sub_8157DA8: @ 8157DA8 - push {lr} - bl sub_8157D24 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _08157DE0 - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - ldrb r0, [r2, 0x1] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x2] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08157DE8 - .pool -_08157DE0: - ldr r1, =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x4 - str r0, [r1] -_08157DE8: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8157DA8 - - thumb_func_start sub_8157DF0 -sub_8157DF0: @ 8157DF0 - push {r4,r5,lr} - ldr r4, =gAIScriptPtr - ldr r0, [r4] - ldrb r0, [r0, 0x1] - bl sub_81564AC - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gContestResources - ldr r1, [r1] - ldr r5, [r1, 0xC] - ldr r3, [r1, 0x4] - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - adds r1, r3 - adds r0, r5, 0 - adds r0, 0x41 - ldrb r2, [r0] - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r3 - ldrh r1, [r1, 0x4] - ldrh r0, [r0, 0x4] - subs r1, r0 - strh r1, [r5, 0x18] - ldr r0, [r4] - adds r0, 0x2 - str r0, [r4] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8157DF0 - - thumb_func_start sub_8157E3C -sub_8157E3C: @ 8157E3C - push {lr} - bl sub_8157DF0 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - cmp r0, 0 - bge _08157E74 - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - ldrb r0, [r2, 0x1] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x2] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08157E7C - .pool -_08157E74: - ldr r1, =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x4 - str r0, [r1] -_08157E7C: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8157E3C - - thumb_func_start sub_8157E84 -sub_8157E84: @ 8157E84 - push {lr} - bl sub_8157DF0 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - cmp r0, 0 - ble _08157EBC - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - ldrb r0, [r2, 0x1] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x2] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08157EC4 - .pool -_08157EBC: - ldr r1, =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x4 - str r0, [r1] -_08157EC4: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8157E84 - - thumb_func_start sub_8157ECC -sub_8157ECC: @ 8157ECC - push {lr} - bl sub_8157DF0 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _08157F04 - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - ldrb r0, [r2, 0x1] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x2] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08157F0C - .pool -_08157F04: - ldr r1, =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x4 - str r0, [r1] -_08157F0C: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8157ECC - - thumb_func_start sub_8157F14 -sub_8157F14: @ 8157F14 - push {lr} - bl sub_8157DF0 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - cmp r0, 0 - beq _08157F4C - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - ldrb r0, [r2, 0x1] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x2] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08157F54 - .pool -_08157F4C: - ldr r1, =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x4 - str r0, [r1] -_08157F54: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8157F14 - - thumb_func_start sub_8157F5C -sub_8157F5C: @ 8157F5C - push {r4,lr} - ldr r4, =gAIScriptPtr - ldr r0, [r4] - ldrb r0, [r0, 0x1] - bl sub_81564AC - lsls r0, 24 - ldr r1, =gContestResources - ldr r1, [r1] - ldr r3, [r1, 0xC] - ldr r2, =gContestMonConditions - lsrs r0, 23 - adds r0, r2 - adds r1, r3, 0 - adds r1, 0x41 - ldrb r1, [r1] - lsls r1, 1 - adds r1, r2 - ldrh r0, [r0] - ldrh r1, [r1] - subs r0, r1 - strh r0, [r3, 0x18] - ldr r0, [r4] - adds r0, 0x2 - str r0, [r4] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8157F5C - - thumb_func_start sub_8157FA0 -sub_8157FA0: @ 8157FA0 - push {lr} - bl sub_8157F5C - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - cmp r0, 0 - bge _08157FD8 - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - ldrb r0, [r2, 0x1] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x2] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08157FE0 - .pool -_08157FD8: - ldr r1, =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x4 - str r0, [r1] -_08157FE0: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8157FA0 - - thumb_func_start sub_8157FE8 -sub_8157FE8: @ 8157FE8 - push {lr} - bl sub_8157F5C - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - cmp r0, 0 - ble _08158020 - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - ldrb r0, [r2, 0x1] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x2] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08158028 - .pool -_08158020: - ldr r1, =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x4 - str r0, [r1] -_08158028: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8157FE8 - - thumb_func_start sub_8158030 -sub_8158030: @ 8158030 - push {lr} - bl sub_8157F5C - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _08158068 - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - ldrb r0, [r2, 0x1] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x2] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08158070 - .pool -_08158068: - ldr r1, =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x4 - str r0, [r1] -_08158070: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8158030 - - thumb_func_start sub_8158078 -sub_8158078: @ 8158078 - push {lr} - bl sub_8157F5C - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - cmp r0, 0 - beq _081580B0 - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - ldrb r0, [r2, 0x1] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x2] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _081580B8 - .pool -_081580B0: - ldr r1, =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x4 - str r0, [r1] -_081580B8: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8158078 - - thumb_func_start sub_81580C0 -sub_81580C0: @ 81580C0 - push {r4,r5,lr} - ldr r5, =gAIScriptPtr - ldr r0, [r5] - ldrb r0, [r0, 0x1] - bl sub_81564AC - lsls r0, 24 - ldr r3, [r5] - ldrb r2, [r3, 0x2] - ldr r1, =gContestResources - ldr r4, [r1] - ldr r1, [r4] - lsrs r0, 23 - lsls r2, 3 - adds r0, r2 - adds r1, 0x1C - adds r1, r0 - ldrh r0, [r1] - ldr r2, [r4, 0xC] - ldr r1, =gContestMoves - lsls r0, 3 - adds r0, r1 - ldrb r0, [r0] - strh r0, [r2, 0x18] - adds r3, 0x3 - str r3, [r5] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81580C0 - - thumb_func_start sub_8158108 -sub_8158108: @ 8158108 - push {lr} - bl sub_81580C0 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - bge _08158144 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08158148 - .pool -_08158144: - adds r0, r2, 0x5 - str r0, [r3] -_08158148: - pop {r0} - bx r0 - thumb_func_end sub_8158108 - - thumb_func_start sub_815814C -sub_815814C: @ 815814C - push {lr} - bl sub_81580C0 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - ble _08158188 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _0815818C - .pool -_08158188: - adds r0, r2, 0x5 - str r0, [r3] -_0815818C: - pop {r0} - bx r0 - thumb_func_end sub_815814C - - thumb_func_start sub_8158190 -sub_8158190: @ 8158190 - push {lr} - bl sub_81580C0 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - bne _081581CC - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _081581D0 - .pool -_081581CC: - adds r0, r2, 0x5 - str r0, [r3] -_081581D0: - pop {r0} - bx r0 - thumb_func_end sub_8158190 - - thumb_func_start sub_81581D4 -sub_81581D4: @ 81581D4 - push {lr} - bl sub_81580C0 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - beq _08158210 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08158214 - .pool -_08158210: - adds r0, r2, 0x5 - str r0, [r3] -_08158214: - pop {r0} - bx r0 - thumb_func_end sub_81581D4 - - thumb_func_start sub_8158218 -sub_8158218: @ 8158218 - push {r4,r5,lr} - ldr r5, =gAIScriptPtr - ldr r0, [r5] - ldrb r0, [r0, 0x1] - bl sub_81564AC - lsls r0, 24 - lsrs r0, 24 - ldr r3, [r5] - ldrb r2, [r3, 0x2] - ldr r1, =gContestResources - ldr r4, [r1] - ldr r1, [r4] - lsls r2, 2 - adds r0, r2 - adds r1, 0x44 - adds r1, r0 - ldr r2, [r4, 0xC] - movs r0, 0 - ldrsb r0, [r1, r0] - strh r0, [r2, 0x18] - adds r3, 0x3 - str r3, [r5] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8158218 - - thumb_func_start sub_8158254 -sub_8158254: @ 8158254 - push {lr} - bl sub_8158218 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - bge _08158290 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08158294 - .pool -_08158290: - adds r0, r2, 0x5 - str r0, [r3] -_08158294: - pop {r0} - bx r0 - thumb_func_end sub_8158254 - - thumb_func_start sub_8158298 -sub_8158298: @ 8158298 - push {lr} - bl sub_8158218 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - ble _081582D4 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _081582D8 - .pool -_081582D4: - adds r0, r2, 0x5 - str r0, [r3] -_081582D8: - pop {r0} - bx r0 - thumb_func_end sub_8158298 - - thumb_func_start sub_81582DC -sub_81582DC: @ 81582DC - push {lr} - bl sub_8158218 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - bne _08158318 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _0815831C - .pool -_08158318: - adds r0, r2, 0x5 - str r0, [r3] -_0815831C: - pop {r0} - bx r0 - thumb_func_end sub_81582DC - - thumb_func_start sub_8158320 -sub_8158320: @ 8158320 - push {lr} - bl sub_8158218 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - beq _0815835C - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08158360 - .pool -_0815835C: - adds r0, r2, 0x5 - str r0, [r3] -_08158360: - pop {r0} - bx r0 - thumb_func_end sub_8158320 - - thumb_func_start sub_8158364 -sub_8158364: @ 8158364 - push {r4,r5,lr} - ldr r5, =gAIScriptPtr - ldr r0, [r5] - ldrb r0, [r0, 0x1] - bl sub_81564AC - lsls r0, 24 - ldr r3, [r5] - ldrb r2, [r3, 0x2] - ldr r1, =gContestResources - ldr r4, [r1] - ldr r1, [r4] - lsrs r0, 23 - lsls r2, 3 - adds r0, r2 - adds r1, 0x1C - adds r1, r0 - ldrh r0, [r1] - ldr r4, [r4, 0xC] - ldr r2, =gContestEffects - ldr r1, =gContestMoves - lsls r0, 3 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0] - strh r0, [r4, 0x18] - adds r3, 0x3 - str r3, [r5] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8158364 - - thumb_func_start sub_81583B8 -sub_81583B8: @ 81583B8 - push {lr} - bl sub_8158364 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - bne _081583F4 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _081583F8 - .pool -_081583F4: - adds r0, r2, 0x5 - str r0, [r3] -_081583F8: - pop {r0} - bx r0 - thumb_func_end sub_81583B8 - - thumb_func_start sub_81583FC -sub_81583FC: @ 81583FC - push {lr} - bl sub_8158364 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - beq _08158438 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _0815843C - .pool -_08158438: - adds r0, r2, 0x5 - str r0, [r3] -_0815843C: - pop {r0} - bx r0 - thumb_func_end sub_81583FC - - thumb_func_start sub_8158440 -sub_8158440: @ 8158440 - push {r4,lr} - ldr r0, =gContestResources - ldr r0, [r0] - ldr r3, [r0, 0xC] - ldr r4, =gAIScriptPtr - ldr r2, [r4] - ldrb r0, [r2, 0x1] - lsls r0, 1 - adds r1, r3, 0 - adds r1, 0x1A - adds r1, r0 - ldrh r0, [r3, 0x18] - strh r0, [r1] - adds r2, 0x2 - str r2, [r4] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8158440 - - thumb_func_start sub_815846C -sub_815846C: @ 815846C - push {r4,lr} - ldr r0, =gContestResources - ldr r0, [r0] - ldr r3, [r0, 0xC] - ldr r4, =gAIScriptPtr - ldr r2, [r4] - ldrb r0, [r2, 0x1] - lsls r0, 1 - adds r3, 0x1A - adds r3, r0 - ldrb r1, [r2, 0x2] - ldrb r0, [r2, 0x3] - lsls r0, 8 - orrs r1, r0 - strh r1, [r3] - adds r2, 0x4 - str r2, [r4] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_815846C - - thumb_func_start sub_815849C -sub_815849C: @ 815849C - push {r4,lr} - ldr r0, =gContestResources - ldr r0, [r0] - ldr r2, [r0, 0xC] - ldr r4, =gAIScriptPtr - ldr r3, [r4] - ldrb r0, [r3, 0x1] - lsls r0, 1 - adds r2, 0x1A - adds r2, r0 - movs r1, 0x2 - ldrsb r1, [r3, r1] - ldrb r0, [r3, 0x3] - lsls r0, 8 - orrs r1, r0 - ldrh r0, [r2] - adds r1, r0 - strh r1, [r2] - adds r3, 0x4 - str r3, [r4] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_815849C - - thumb_func_start sub_81584D4 -sub_81584D4: @ 81584D4 - push {r4,lr} - ldr r0, =gContestResources - ldr r0, [r0] - ldr r2, [r0, 0xC] - ldr r4, =gAIScriptPtr - ldr r3, [r4] - ldrb r1, [r3, 0x1] - lsls r1, 1 - adds r2, 0x1A - adds r1, r2, r1 - ldrb r0, [r3, 0x2] - lsls r0, 1 - adds r2, r0 - ldrh r0, [r2] - ldrh r2, [r1] - adds r0, r2 - strh r0, [r1] - adds r3, 0x3 - str r3, [r4] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81584D4 - - thumb_func_start sub_8158508 -sub_8158508: @ 8158508 - push {r4,lr} - ldr r0, =gContestResources - ldr r0, [r0] - ldr r2, [r0, 0xC] - ldr r4, =gAIScriptPtr - ldr r3, [r4] - ldrb r1, [r3, 0x1] - lsls r1, 1 - adds r2, 0x1A - adds r1, r2, r1 - ldrb r0, [r3, 0x2] - lsls r0, 1 - adds r2, r0 - ldrh r0, [r2] - ldrh r2, [r1] - adds r0, r2 - strh r0, [r1] - adds r3, 0x3 - str r3, [r4] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8158508 - - thumb_func_start sub_815853C -sub_815853C: @ 815853C - push {r4,lr} - ldr r0, =gContestResources - ldr r0, [r0] - ldr r1, [r0, 0xC] - ldr r4, =gAIScriptPtr - ldr r3, [r4] - ldrb r0, [r3, 0x1] - lsls r0, 1 - adds r1, 0x1A - adds r1, r0 - movs r0, 0 - ldrsh r2, [r1, r0] - ldrb r1, [r3, 0x2] - ldrb r0, [r3, 0x3] - lsls r0, 8 - orrs r1, r0 - cmp r2, r1 - bge _08158580 - ldrb r1, [r3, 0x4] - ldrb r0, [r3, 0x5] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r3, 0x6] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r3, 0x7] - lsls r0, 24 - orrs r1, r0 - str r1, [r4] - b _08158586 - .pool -_08158580: - adds r0, r3, 0 - adds r0, 0x8 - str r0, [r4] -_08158586: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_815853C - - thumb_func_start sub_815858C -sub_815858C: @ 815858C - push {r4,lr} - ldr r0, =gContestResources - ldr r0, [r0] - ldr r1, [r0, 0xC] - ldr r4, =gAIScriptPtr - ldr r3, [r4] - ldrb r0, [r3, 0x1] - lsls r0, 1 - adds r1, 0x1A - adds r1, r0 - movs r0, 0 - ldrsh r2, [r1, r0] - ldrb r1, [r3, 0x2] - ldrb r0, [r3, 0x3] - lsls r0, 8 - orrs r1, r0 - cmp r2, r1 - ble _081585D0 - ldrb r1, [r3, 0x4] - ldrb r0, [r3, 0x5] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r3, 0x6] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r3, 0x7] - lsls r0, 24 - orrs r1, r0 - str r1, [r4] - b _081585D6 - .pool -_081585D0: - adds r0, r3, 0 - adds r0, 0x8 - str r0, [r4] -_081585D6: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_815858C - - thumb_func_start sub_81585DC -sub_81585DC: @ 81585DC - push {r4,lr} - ldr r0, =gContestResources - ldr r0, [r0] - ldr r1, [r0, 0xC] - ldr r4, =gAIScriptPtr - ldr r3, [r4] - ldrb r0, [r3, 0x1] - lsls r0, 1 - adds r1, 0x1A - adds r1, r0 - movs r0, 0 - ldrsh r2, [r1, r0] - ldrb r1, [r3, 0x2] - ldrb r0, [r3, 0x3] - lsls r0, 8 - orrs r1, r0 - cmp r2, r1 - bne _08158620 - ldrb r1, [r3, 0x4] - ldrb r0, [r3, 0x5] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r3, 0x6] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r3, 0x7] - lsls r0, 24 - orrs r1, r0 - str r1, [r4] - b _08158626 - .pool -_08158620: - adds r0, r3, 0 - adds r0, 0x8 - str r0, [r4] -_08158626: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81585DC - - thumb_func_start sub_815862C -sub_815862C: @ 815862C - push {r4,lr} - ldr r0, =gContestResources - ldr r0, [r0] - ldr r1, [r0, 0xC] - ldr r4, =gAIScriptPtr - ldr r3, [r4] - ldrb r0, [r3, 0x1] - lsls r0, 1 - adds r1, 0x1A - adds r1, r0 - movs r0, 0 - ldrsh r2, [r1, r0] - ldrb r1, [r3, 0x2] - ldrb r0, [r3, 0x3] - lsls r0, 8 - orrs r1, r0 - cmp r2, r1 - beq _08158670 - ldrb r1, [r3, 0x4] - ldrb r0, [r3, 0x5] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r3, 0x6] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r3, 0x7] - lsls r0, 24 - orrs r1, r0 - str r1, [r4] - b _08158676 - .pool -_08158670: - adds r0, r3, 0 - adds r0, 0x8 - str r0, [r4] -_08158676: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_815862C - - thumb_func_start sub_815867C -sub_815867C: @ 815867C - push {r4,r5,lr} - ldr r0, =gContestResources - ldr r0, [r0] - ldr r2, [r0, 0xC] - ldr r4, =gAIScriptPtr - ldr r3, [r4] - ldrb r1, [r3, 0x1] - lsls r1, 1 - adds r2, 0x1A - adds r1, r2, r1 - ldrb r0, [r3, 0x2] - lsls r0, 1 - adds r2, r0 - movs r0, 0 - ldrsh r1, [r1, r0] - movs r5, 0 - ldrsh r0, [r2, r5] - cmp r1, r0 - bge _081586C4 - ldrb r1, [r3, 0x3] - ldrb r0, [r3, 0x4] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r3, 0x5] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r3, 0x6] - lsls r0, 24 - orrs r1, r0 - str r1, [r4] - b _081586C8 - .pool -_081586C4: - adds r0, r3, 0x7 - str r0, [r4] -_081586C8: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_815867C - - thumb_func_start sub_81586D0 -sub_81586D0: @ 81586D0 - push {r4,r5,lr} - ldr r0, =gContestResources - ldr r0, [r0] - ldr r2, [r0, 0xC] - ldr r4, =gAIScriptPtr - ldr r3, [r4] - ldrb r1, [r3, 0x1] - lsls r1, 1 - adds r2, 0x1A - adds r1, r2, r1 - ldrb r0, [r3, 0x2] - lsls r0, 1 - adds r2, r0 - movs r0, 0 - ldrsh r1, [r1, r0] - movs r5, 0 - ldrsh r0, [r2, r5] - cmp r1, r0 - ble _08158718 - ldrb r1, [r3, 0x3] - ldrb r0, [r3, 0x4] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r3, 0x5] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r3, 0x6] - lsls r0, 24 - orrs r1, r0 - str r1, [r4] - b _0815871C - .pool -_08158718: - adds r0, r3, 0x7 - str r0, [r4] -_0815871C: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_81586D0 - - thumb_func_start sub_8158724 -sub_8158724: @ 8158724 - push {r4,r5,lr} - ldr r0, =gContestResources - ldr r0, [r0] - ldr r2, [r0, 0xC] - ldr r4, =gAIScriptPtr - ldr r3, [r4] - ldrb r1, [r3, 0x1] - lsls r1, 1 - adds r2, 0x1A - adds r1, r2, r1 - ldrb r0, [r3, 0x2] - lsls r0, 1 - adds r2, r0 - movs r0, 0 - ldrsh r1, [r1, r0] - movs r5, 0 - ldrsh r0, [r2, r5] - cmp r1, r0 - bne _0815876C - ldrb r1, [r3, 0x3] - ldrb r0, [r3, 0x4] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r3, 0x5] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r3, 0x6] - lsls r0, 24 - orrs r1, r0 - str r1, [r4] - b _08158770 - .pool -_0815876C: - adds r0, r3, 0x7 - str r0, [r4] -_08158770: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8158724 - - thumb_func_start sub_8158778 -sub_8158778: @ 8158778 - push {r4,r5,lr} - ldr r0, =gContestResources - ldr r0, [r0] - ldr r2, [r0, 0xC] - ldr r4, =gAIScriptPtr - ldr r3, [r4] - ldrb r1, [r3, 0x1] - lsls r1, 1 - adds r2, 0x1A - adds r1, r2, r1 - ldrb r0, [r3, 0x2] - lsls r0, 1 - adds r2, r0 - movs r0, 0 - ldrsh r1, [r1, r0] - movs r5, 0 - ldrsh r0, [r2, r5] - cmp r1, r0 - beq _081587C0 - ldrb r1, [r3, 0x3] - ldrb r0, [r3, 0x4] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r3, 0x5] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r3, 0x6] - lsls r0, 24 - orrs r1, r0 - str r1, [r4] - b _081587C4 - .pool -_081587C0: - adds r0, r3, 0x7 - str r0, [r4] -_081587C4: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8158778 - - thumb_func_start sub_81587CC -sub_81587CC: @ 81587CC - push {r4,r5,lr} - bl Random - movs r2, 0xFF - ands r2, r0 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r1, [r0, 0xC] - ldr r4, =gAIScriptPtr - ldr r3, [r4] - ldrb r0, [r3, 0x1] - lsls r0, 1 - adds r1, 0x1A - adds r1, r0 - movs r5, 0 - ldrsh r0, [r1, r5] - cmp r2, r0 - bge _08158810 - ldrb r1, [r3, 0x2] - ldrb r0, [r3, 0x3] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r3, 0x4] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r3, 0x5] - lsls r0, 24 - orrs r1, r0 - str r1, [r4] - b _08158814 - .pool -_08158810: - adds r0, r3, 0x6 - str r0, [r4] -_08158814: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_81587CC - - thumb_func_start sub_815881C -sub_815881C: @ 815881C - push {r4,r5,lr} - bl Random - movs r2, 0xFF - ands r2, r0 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r1, [r0, 0xC] - ldr r4, =gAIScriptPtr - ldr r3, [r4] - ldrb r0, [r3, 0x1] - lsls r0, 1 - adds r1, 0x1A - adds r1, r0 - movs r5, 0 - ldrsh r0, [r1, r5] - cmp r2, r0 - ble _08158860 - ldrb r1, [r3, 0x2] - ldrb r0, [r3, 0x3] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r3, 0x4] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r3, 0x5] - lsls r0, 24 - orrs r1, r0 - str r1, [r4] - b _08158864 - .pool -_08158860: - adds r0, r3, 0x6 - str r0, [r4] -_08158864: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_815881C - - thumb_func_start sub_815886C -sub_815886C: @ 815886C - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - bx lr - .pool - thumb_func_end sub_815886C - - thumb_func_start dp15_call -dp15_call: @ 815888C - push {r4,lr} - ldr r4, =gAIScriptPtr - ldr r0, [r4] - adds r0, 0x5 - bl sub_81588E0 - ldr r2, [r4] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r4] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end dp15_call - - thumb_func_start sub_81588BC -sub_81588BC: @ 81588BC - push {lr} - bl sub_8158908 - lsls r0, 24 - cmp r0, 0 - bne _081588D6 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r2, [r0, 0xC] - ldrb r1, [r2, 0x9] - movs r0, 0x1 - orrs r0, r1 - strb r0, [r2, 0x9] -_081588D6: - pop {r0} - bx r0 - .pool - thumb_func_end sub_81588BC - - thumb_func_start sub_81588E0 -sub_81588E0: @ 81588E0 - push {r4,lr} - ldr r1, =gContestResources - ldr r1, [r1] - ldr r3, [r1, 0xC] - adds r4, r3, 0 - adds r4, 0x40 - ldrb r1, [r4] - adds r2, r1, 0x1 - strb r2, [r4] - lsls r1, 24 - lsrs r1, 22 - adds r3, 0x20 - adds r3, r1 - str r0, [r3] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81588E0 - - thumb_func_start sub_8158908 -sub_8158908: @ 8158908 - push {lr} - ldr r3, =gContestResources - ldr r0, [r3] - ldr r0, [r0, 0xC] - adds r1, r0, 0 - adds r1, 0x40 - ldrb r0, [r1] - cmp r0, 0 - bne _08158924 - movs r0, 0 - b _08158940 - .pool -_08158924: - subs r0, 0x1 - strb r0, [r1] - ldr r2, =gAIScriptPtr - ldr r0, [r3] - ldr r1, [r0, 0xC] - adds r0, r1, 0 - adds r0, 0x40 - ldrb r0, [r0] - lsls r0, 2 - adds r1, 0x20 - adds r1, r0 - ldr r0, [r1] - str r0, [r2] - movs r0, 0x1 -_08158940: - pop {r1} - bx r1 - .pool - thumb_func_end sub_8158908 - - thumb_func_start sub_8158948 -sub_8158948: @ 8158948 - push {r4-r6,lr} - movs r5, 0 - movs r4, 0 - ldr r6, =gContestMons + 30 -_08158950: - lsls r1, r4, 1 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - adds r0, 0x41 - ldrb r0, [r0] - lsls r0, 6 - adds r1, r0 - adds r1, r6 - ldrh r0, [r1] - cmp r0, 0 - beq _08158980 - bl sub_80DD9F0 - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x1 - bne _08158980 - movs r5, 0x1 - b _08158986 - .pool -_08158980: - adds r4, 0x1 - cmp r4, 0x3 - ble _08158950 -_08158986: - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - strh r5, [r0, 0x18] - ldr r1, =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8158948 - - thumb_func_start sub_81589A4 -sub_81589A4: @ 81589A4 - push {lr} - bl sub_8158948 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - cmp r0, 0 - beq _081589DC - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - ldrb r0, [r2, 0x1] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x2] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _081589E4 - .pool -_081589DC: - ldr r1, =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x4 - str r0, [r1] -_081589E4: - pop {r0} - bx r0 - .pool - thumb_func_end sub_81589A4 - - thumb_func_start sub_81589EC -sub_81589EC: @ 81589EC - push {lr} - bl sub_8158948 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _08158A24 - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - ldrb r0, [r2, 0x1] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x2] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08158A2C - .pool -_08158A24: - ldr r1, =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x4 - str r0, [r1] -_08158A2C: - pop {r0} - bx r0 - .pool - thumb_func_end sub_81589EC - - thumb_func_start sub_8158A34 -sub_8158A34: @ 8158A34 - push {r4-r6,lr} - movs r6, 0 - ldr r3, =gAIScriptPtr - ldr r0, [r3] - ldrb r5, [r0, 0x1] - ldrb r0, [r0, 0x2] - lsls r0, 8 - orrs r5, r0 - movs r4, 0 - ldr r0, =gContestMons - mov r12, r0 - ldr r2, =gContestResources - ldr r0, [r2] - ldr r0, [r0, 0xC] - adds r0, 0x41 - ldrb r0, [r0] - lsls r0, 6 - mov r1, r12 - adds r1, 0x1E - adds r0, r1 - ldrh r0, [r0] - b _08158A88 - .pool -_08158A6C: - adds r4, 0x1 - cmp r4, 0x3 - bgt _08158A8E - lsls r1, r4, 1 - ldr r0, [r2] - ldr r0, [r0, 0xC] - adds r0, 0x41 - ldrb r0, [r0] - lsls r0, 6 - adds r1, r0 - mov r0, r12 - adds r0, 0x1E - adds r1, r0 - ldrh r0, [r1] -_08158A88: - cmp r0, r5 - bne _08158A6C - movs r6, 0x1 -_08158A8E: - ldr r0, [r2] - ldr r0, [r0, 0xC] - strh r6, [r0, 0x18] - ldr r0, [r3] - adds r0, 0x3 - str r0, [r3] - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8158A34 - - thumb_func_start sub_8158AA0 -sub_8158AA0: @ 8158AA0 - push {lr} - bl sub_8158A34 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - cmp r0, 0 - beq _08158AD8 - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - ldrb r0, [r2, 0x1] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x2] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08158AE0 - .pool -_08158AD8: - ldr r1, =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x4 - str r0, [r1] -_08158AE0: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8158AA0 - - thumb_func_start sub_8158AE8 -sub_8158AE8: @ 8158AE8 - push {lr} - bl sub_8158A34 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _08158B20 - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - ldrb r0, [r2, 0x1] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x2] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08158B28 - .pool -_08158B20: - ldr r1, =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x4 - str r0, [r1] -_08158B28: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8158AE8 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/contest_effect.s b/asm/contest_effect.s index 65a720a65c..406de35d84 100644 --- a/asm/contest_effect.s +++ b/asm/contest_effect.s @@ -951,7 +951,7 @@ _080E5B00: bne _080E5B38 lsls r0, r5, 24 lsrs r0, 24 - bl sub_80DBCA8 + bl Contest_IsMonsTurnDisabled lsls r0, 24 cmp r0, 0 bne _080E5B38 diff --git a/include/contest.h b/include/contest.h index b7324e26b5..761b163694 100644 --- a/include/contest.h +++ b/include/contest.h @@ -406,7 +406,7 @@ extern struct ContestResources *gContestResources; #define sContest (*gContestResources->field_0) #define sContestantStatus (gContestResources->field_4) #define shared192D0 (*gContestResources->field_8) -#define eContestAI (*gContestResources->field_C) +#define eContestAI (gContestResources->field_C) #define shared19328 (*gContestResources->field_10) #define shared19338 (*gContestResources->field_14) @@ -417,5 +417,12 @@ extern u32 gContestRngValue; bool8 IsSpeciesNotUnown(u16 species); void LoadContestBgAfterMoveAnim(void); +void SetContestantEffectStringID(u8 a, u8 b); +void SetContestantEffectStringID2(u8 a, u8 b); +void MakeContestantNervous(u8 p); +bool8 Contest_IsMonsTurnDisabled(u8 a); +bool8 sub_80DE1E8(u8 a); +void SetStartledString(u8 a, u8 b); +s8 Contest_GetMoveExcitement(u16); #endif //GUARD_CONTEST_H diff --git a/include/contest_ai.h b/include/contest_ai.h new file mode 100644 index 0000000000..20b9eec10d --- /dev/null +++ b/include/contest_ai.h @@ -0,0 +1,16 @@ +#ifndef GUARD_CONTESTAI_H +#define GUARD_CONTESTAI_H + +// AI states +enum +{ + CONTESTAI_SETTING_UP, + CONTESTAI_PROCESSING, + CONTESTAI_FINISHED, + CONTESTAI_DO_NOT_PROCESS +}; + +void ContestAI_ResetAI(u8); +u8 ContestAI_GetActionToUse(void); + +#endif // GUARD_CONTESTAI_H diff --git a/include/contest_effect.h b/include/contest_effect.h index 3484ca5df8..4b3b151eb1 100644 --- a/include/contest_effect.h +++ b/include/contest_effect.h @@ -17,6 +17,8 @@ struct ContestEffect }; extern const struct ContestMove gContestMoves[]; -extern struct ContestEffect gContestEffects[]; +extern const struct ContestEffect gContestEffects[]; + +bool8 AreMovesContestCombo(u16 lastMove, u16 nextMove); #endif //GUARD_CONTEST_EFFECT_H diff --git a/src/contest.c b/src/contest.c index 8513fc4a9a..910637387b 100644 --- a/src/contest.c +++ b/src/contest.c @@ -107,7 +107,7 @@ u16 sub_80DE84C(u16); void sub_80DB89C(void); u16 sub_80DB8B8(u8); void sub_80DB918(void); -bool8 sub_80DBCA8(u8); +bool8 Contest_IsMonsTurnDisabled(u8); void sub_80DBF68(void); void sub_80DBF90(void); void sub_80DC2BC(void); @@ -721,7 +721,7 @@ void sub_80D833C(u8 taskId) sub_80DCD48(); DmaCopy32Defvars(3, gPlttBufferUnfaded, shared18000.unk18204, 0x400); ConvertIntToDecimalStringN(gStringVar1, gContestResources->field_0->turnNumber + 1, STR_CONV_MODE_LEFT_ALIGN, 1); - if (!sub_80DBCA8(gContestPlayerMonIndex)) + if (!Contest_IsMonsTurnDisabled(gContestPlayerMonIndex)) StringCopy(gDisplayedStringBattle, gText_0827D507); else StringCopy(gDisplayedStringBattle, gText_0827D531); @@ -745,7 +745,7 @@ void sub_80D8424(u8 taskId) if ((gMain.newKeys & A_BUTTON) || (gMain.newKeys == B_BUTTON)) { PlaySE(SE_SELECT); - if (!sub_80DBCA8(gContestPlayerMonIndex)) + if (!Contest_IsMonsTurnDisabled(gContestPlayerMonIndex)) { sub_80DC490(TRUE); gTasks[taskId].func = sub_80D8490; @@ -819,7 +819,7 @@ void sub_80D8610(u8 taskId) PlaySE(SE_SELECT); sub_80DC490(FALSE); ConvertIntToDecimalStringN(gStringVar1, gContestResources->field_0->turnNumber + 1, STR_CONV_MODE_LEFT_ALIGN, 1); - if (!sub_80DBCA8(gContestPlayerMonIndex)) + if (!Contest_IsMonsTurnDisabled(gContestPlayerMonIndex)) StringCopy(gDisplayedStringBattle, gText_0827D507); else StringCopy(gDisplayedStringBattle, gText_0827D531); @@ -2636,7 +2636,7 @@ void sub_80DB4E0(u16 move, u8 b) { u8 r7 = gUnknown_02039F26[b] * 5 + 2; - if (!sub_80DBCA8(b) && move != MOVE_NONE) + if (!Contest_IsMonsTurnDisabled(b) && move != MOVE_NONE) { u16 tile = sub_80DB2EC(move, b); diff --git a/src/contest_ai.c b/src/contest_ai.c new file mode 100644 index 0000000000..059c351e90 --- /dev/null +++ b/src/contest_ai.c @@ -0,0 +1,1758 @@ +#include "global.h" +#include "contest.h" +#include "random.h" +#include "contest_ai.h" +#include "contest_effect.h" + +extern u16 gSpecialVar_ContestCategory; +extern u16 gContestMonConditions[]; + +extern const u8 *gAIScriptPtr; +extern const u8 *gContestAIs[]; + +static void ContestAICmd_unk_00(void); +static void ContestAICmd_get_turn(void); +static void ContestAICmd_unk_02(void); +static void ContestAICmd_unk_03(void); +static void ContestAICmd_unk_04(void); +static void ContestAICmd_unk_05(void); +static void ContestAICmd_get_excitement(void); +static void ContestAICmd_unk_07(void); +static void ContestAICmd_unk_08(void); +static void ContestAICmd_unk_09(void); +static void ContestAICmd_unk_0A(void); +static void ContestAICmd_get_user_order(void); +static void ContestAICmd_unk_0C(void); +static void ContestAICmd_unk_0D(void); +static void ContestAICmd_unk_0E(void); +static void ContestAICmd_unk_0F(void); +static void ContestAICmd_get_user_condition_maybe(void); +static void ContestAICmd_unk_11(void); +static void ContestAICmd_unk_12(void); +static void ContestAICmd_unk_13(void); +static void ContestAICmd_unk_14(void); +static void ContestAICmd_unk_15(void); +static void ContestAICmd_unk_16(void); +static void ContestAICmd_unk_17(void); +static void ContestAICmd_unk_18(void); +static void ContestAICmd_unk_19(void); +static void ContestAICmd_unk_1A(void); +static void ContestAICmd_unk_1B(void); +static void ContestAICmd_unk_1C(void); +static void ContestAICmd_unk_1D(void); +static void ContestAICmd_unk_1E(void); +static void ContestAICmd_get_contest_type(void); +static void ContestAICmd_unk_20(void); +static void ContestAICmd_unk_21(void); +static void ContestAICmd_get_move_excitement(void); +static void ContestAICmd_unk_23(void); +static void ContestAICmd_unk_24(void); +static void ContestAICmd_unk_25(void); +static void ContestAICmd_unk_26(void); +static void ContestAICmd_get_move_effect(void); +static void ContestAICmd_unk_28(void); +static void ContestAICmd_unk_29(void); +static void ContestAICmd_get_move_effect_type(void); +static void ContestAICmd_unk_2B(void); +static void ContestAICmd_unk_2C(void); +static void ContestAICmd_check_move_has_highest_appeal(void); +static void ContestAICmd_unk_2E(void); +static void ContestAICmd_unk_2F(void); +static void ContestAICmd_unk_30(void); +static void ContestAICmd_unk_31(void); +static void ContestAICmd_unk_32(void); +static void ContestAICmd_unk_33(void); +static void ContestAICmd_unk_34(void); +static void ContestAICmd_unk_35(void); +static void ContestAICmd_unk_36(void); +static void ContestAICmd_unk_37(void); +static void ContestAICmd_unk_38(void); +static void ContestAICmd_unk_39(void); +static void ContestAICmd_unk_3A(void); +static void ContestAICmd_get_move_used_count(void); +static void ContestAICmd_unk_3C(void); +static void ContestAICmd_unk_3D(void); +static void ContestAICmd_unk_3E(void); +static void ContestAICmd_unk_3F(void); +static void ContestAICmd_check_combo_starter(void); +static void ContestAICmd_unk_41(void); +static void ContestAICmd_unk_42(void); +static void ContestAICmd_check_combo_finisher(void); +static void ContestAICmd_unk_44(void); +static void ContestAICmd_unk_45(void); +static void ContestAICmd_check_would_finish_combo(void); +static void ContestAICmd_unk_47(void); +static void ContestAICmd_unk_48(void); +static void ContestAICmd_get_condition(void); +static void ContestAICmd_unk_4A(void); +static void ContestAICmd_unk_4B(void); +static void ContestAICmd_unk_4C(void); +static void ContestAICmd_unk_4D(void); +static void ContestAICmd_get_used_combo_starter(void); +static void ContestAICmd_unk_4F(void); +static void ContestAICmd_unk_50(void); +static void ContestAICmd_unk_51(void); +static void ContestAICmd_unk_52(void); +static void ContestAICmd_check_can_participate(void); +static void ContestAICmd_unk_54(void); +static void ContestAICmd_unk_55(void); +static void ContestAICmd_get_val_812A188(void); +static void ContestAICmd_unk_57(void); +static void ContestAICmd_unk_58(void); +static void ContestAICmd_unk_59(void); +static void ContestAICmd_unk_5A(void); +static void ContestAICmd_unk_5B(void); +static void ContestAICmd_unk_5C(void); +static void ContestAICmd_unk_5D(void); +static void ContestAICmd_unk_5E(void); +static void ContestAICmd_unk_5F(void); +static void ContestAICmd_unk_60(void); +static void ContestAICmd_unk_61(void); +static void ContestAICmd_unk_62(void); +static void ContestAICmd_unk_63(void); +static void ContestAICmd_unk_64(void); +static void ContestAICmd_unk_65(void); +static void ContestAICmd_unk_66(void); +static void ContestAICmd_unk_67(void); +static void ContestAICmd_unk_68(void); +static void ContestAICmd_unk_69(void); +static void ContestAICmd_unk_6A(void); +static void ContestAICmd_unk_6B(void); +static void ContestAICmd_unk_6C(void); +static void ContestAICmd_unk_6D(void); +static void ContestAICmd_unk_6E(void); +static void ContestAICmd_unk_6F(void); +static void ContestAICmd_unk_70(void); +static void ContestAICmd_unk_71(void); +static void ContestAICmd_unk_72(void); +static void ContestAICmd_unk_73(void); +static void ContestAICmd_unk_74(void); +static void ContestAICmd_unk_75(void); +static void ContestAICmd_unk_76(void); +static void ContestAICmd_unk_77(void); +static void ContestAICmd_unk_78(void); +static void ContestAICmd_unk_79(void); +static void ContestAICmd_unk_7A(void); +static void ContestAICmd_unk_7B(void); +static void ContestAICmd_unk_7C(void); +static void ContestAICmd_unk_7D(void); +static void ContestAICmd_unk_7E(void); +static void ContestAICmd_unk_7F(void); +static void ContestAICmd_unk_80(void); +static void ContestAICmd_unk_81(void); +static void ContestAICmd_check_for_exciting_move(void); +static void ContestAICmd_unk_83(void); +static void ContestAICmd_unk_84(void); +static void ContestAICmd_unk_85(void); +static void ContestAICmd_unk_86(void); +static void ContestAICmd_unk_87(void); + +typedef void (* ContestAICmdFunc)(void); + +static const ContestAICmdFunc sContestAICmdTable[] = +{ + ContestAICmd_unk_00, // 0x00 + ContestAICmd_get_turn, // 0x01 + ContestAICmd_unk_02, // 0x02 + ContestAICmd_unk_03, // 0x03 + ContestAICmd_unk_04, // 0x04 + ContestAICmd_unk_05, // 0x05 + ContestAICmd_get_excitement, // 0x06 + ContestAICmd_unk_07, // 0x07 + ContestAICmd_unk_08, // 0x08 + ContestAICmd_unk_09, // 0x09 + ContestAICmd_unk_0A, // 0x0A + ContestAICmd_get_user_order, // 0x0B + ContestAICmd_unk_0C, // 0x0C + ContestAICmd_unk_0D, // 0x0D + ContestAICmd_unk_0E, // 0x0E + ContestAICmd_unk_0F, // 0x0F + ContestAICmd_get_user_condition_maybe, // 0x10 + ContestAICmd_unk_11, // 0x11 + ContestAICmd_unk_12, // 0x12 + ContestAICmd_unk_13, // 0x13 + ContestAICmd_unk_14, // 0x14 + ContestAICmd_unk_15, // 0x15 + ContestAICmd_unk_16, // 0x16 + ContestAICmd_unk_17, // 0x17 + ContestAICmd_unk_18, // 0x18 + ContestAICmd_unk_19, // 0x19 + ContestAICmd_unk_1A, // 0x1A + ContestAICmd_unk_1B, // 0x1B + ContestAICmd_unk_1C, // 0x1C + ContestAICmd_unk_1D, // 0x1D + ContestAICmd_unk_1E, // 0x1E + ContestAICmd_get_contest_type, // 0x1F + ContestAICmd_unk_20, // 0x20 + ContestAICmd_unk_21, // 0x21 + ContestAICmd_get_move_excitement, // 0x22 + ContestAICmd_unk_23, // 0x23 + ContestAICmd_unk_24, // 0x24 + ContestAICmd_unk_25, // 0x25 + ContestAICmd_unk_26, // 0x26 + ContestAICmd_get_move_effect, // 0x27 + ContestAICmd_unk_28, // 0x28 + ContestAICmd_unk_29, // 0x29 + ContestAICmd_get_move_effect_type, // 0x2A + ContestAICmd_unk_2B, // 0x2B + ContestAICmd_unk_2C, // 0x2C + ContestAICmd_check_move_has_highest_appeal, // 0x2D + ContestAICmd_unk_2E, // 0x2E + ContestAICmd_unk_2F, // 0x2F + ContestAICmd_unk_30, // 0x30 + ContestAICmd_unk_31, // 0x31 + ContestAICmd_unk_32, // 0x32 + ContestAICmd_unk_33, // 0x33 + ContestAICmd_unk_34, // 0x34 + ContestAICmd_unk_35, // 0x35 + ContestAICmd_unk_36, // 0x36 + ContestAICmd_unk_37, // 0x37 + ContestAICmd_unk_38, // 0x38 + ContestAICmd_unk_39, // 0x39 + ContestAICmd_unk_3A, // 0x3A + ContestAICmd_get_move_used_count, // 0x3B + ContestAICmd_unk_3C, // 0x3C + ContestAICmd_unk_3D, // 0x3D + ContestAICmd_unk_3E, // 0x3E + ContestAICmd_unk_3F, // 0x3F + ContestAICmd_check_combo_starter, // 0x40 + ContestAICmd_unk_41, // 0x41 + ContestAICmd_unk_42, // 0x42 + ContestAICmd_check_combo_finisher, // 0x43 + ContestAICmd_unk_44, // 0x44 + ContestAICmd_unk_45, // 0x45 + ContestAICmd_check_would_finish_combo, // 0x46 + ContestAICmd_unk_47, // 0x47 + ContestAICmd_unk_48, // 0x48 + ContestAICmd_get_condition, // 0x49 + ContestAICmd_unk_4A, // 0x4A + ContestAICmd_unk_4B, // 0x4B + ContestAICmd_unk_4C, // 0x4C + ContestAICmd_unk_4D, // 0x4D + ContestAICmd_get_used_combo_starter, // 0x4E + ContestAICmd_unk_4F, // 0x4F + ContestAICmd_unk_50, // 0x50 + ContestAICmd_unk_51, // 0x51 + ContestAICmd_unk_52, // 0x52 + ContestAICmd_check_can_participate, // 0x53 + ContestAICmd_unk_54, // 0x54 + ContestAICmd_unk_55, // 0x55 + ContestAICmd_get_val_812A188, // 0x56 + ContestAICmd_unk_57, // 0x57 + ContestAICmd_unk_58, // 0x58 + ContestAICmd_unk_59, // 0x59 + ContestAICmd_unk_5A, // 0x5A + ContestAICmd_unk_5B, // 0x5B + ContestAICmd_unk_5C, // 0x5C + ContestAICmd_unk_5D, // 0x5D + ContestAICmd_unk_5E, // 0x5E + ContestAICmd_unk_5F, // 0x5F + ContestAICmd_unk_60, // 0x60 + ContestAICmd_unk_61, // 0x61 + ContestAICmd_unk_62, // 0x62 + ContestAICmd_unk_63, // 0x63 + ContestAICmd_unk_64, // 0x64 + ContestAICmd_unk_65, // 0x65 + ContestAICmd_unk_66, // 0x66 + ContestAICmd_unk_67, // 0x67 + ContestAICmd_unk_68, // 0x68 + ContestAICmd_unk_69, // 0x69 + ContestAICmd_unk_6A, // 0x6A + ContestAICmd_unk_6B, // 0x6B + ContestAICmd_unk_6C, // 0x6C + ContestAICmd_unk_6D, // 0x6D + ContestAICmd_unk_6E, // 0x6E + ContestAICmd_unk_6F, // 0x6F + ContestAICmd_unk_70, // 0x70 + ContestAICmd_unk_71, // 0x71 + ContestAICmd_unk_72, // 0x72 + ContestAICmd_unk_73, // 0x73 + ContestAICmd_unk_74, // 0x74 + ContestAICmd_unk_75, // 0x75 + ContestAICmd_unk_76, // 0x76 + ContestAICmd_unk_77, // 0x77 + ContestAICmd_unk_78, // 0x78 + ContestAICmd_unk_79, // 0x79 + ContestAICmd_unk_7A, // 0x7A + ContestAICmd_unk_7B, // 0x7B + ContestAICmd_unk_7C, // 0x7C + ContestAICmd_unk_7D, // 0x7D + ContestAICmd_unk_7E, // 0x7E + ContestAICmd_unk_7F, // 0x7F + ContestAICmd_unk_80, // 0x80 + ContestAICmd_unk_81, // 0x81 + ContestAICmd_check_for_exciting_move, // 0x82 + ContestAICmd_unk_83, // 0x83 + ContestAICmd_unk_84, // 0x84 + ContestAICmd_unk_85, // 0x85 + ContestAICmd_unk_86, // 0x86 + ContestAICmd_unk_87, // 0x87 +}; + +static void ContestAI_DoAIProcessing(void); +static bool8 sub_81563B0(u8); +static void AIStackPushVar(const u8 *); +static u8 AIStackPop(void); + +void ContestAI_ResetAI(u8 var) +{ + int i; + memset(eContestAI, 0, sizeof(struct ContestAIInfo)); + + for(i = 0; i < 4; i++) + eContestAI->unk5[i] = 100; + + eContestAI->unk41 = var; + eContestAI->unk40 = 0; + eContestAI->flags = gContestMons[eContestAI->unk41].flags; +} + +u8 ContestAI_GetActionToUse(void) +{ + while(eContestAI->flags != 0) + { + if (eContestAI->flags & 1) + { + eContestAI->aiState = 0; + ContestAI_DoAIProcessing(); + } + eContestAI->flags >>= 1; + eContestAI->unk10++; + eContestAI->unk4 = 0; + } + + while (1) + { + u8 rval = Random() & 3; + u8 r2 = eContestAI->unk5[rval]; + int i; + for (i = 0; i < 4; i++) + { + if (r2 < eContestAI->unk5[i]) + break; + } + if (i == 4) + return rval; + } +} + +static void ContestAI_DoAIProcessing(void) +{ + while(eContestAI->aiState != CONTESTAI_FINISHED) + { + switch(eContestAI->aiState) + { + case CONTESTAI_DO_NOT_PROCESS: + break; + case CONTESTAI_SETTING_UP: + gAIScriptPtr = gContestAIs[eContestAI->unk10]; + + if (gContestMons[eContestAI->unk41].moves[eContestAI->unk4] == 0) + eContestAI->unk2 = 0; // don't process a move that doesn't exist. + else + eContestAI->unk2 = gContestMons[eContestAI->unk41].moves[eContestAI->unk4]; + eContestAI->aiState++; + break; + case CONTESTAI_PROCESSING: + if (eContestAI->unk2 != 0) + sContestAICmdTable[*gAIScriptPtr](); // run the command. + else + { + eContestAI->unk5[eContestAI->unk4] = 0; // don't consider a move that doesn't exist. + eContestAI->aiAction |= 1; + } + if (eContestAI->aiAction & 1) + { + eContestAI->unk4++; + if (eContestAI->unk4 < 4) + eContestAI->aiState = 0; + else + eContestAI->aiState++; + eContestAI->aiAction &= 0xFE; // TODO: Define action flags + } + break; + } + } +} + +static u8 sub_81563B0(u8 var) +{ + int i; + + for(i = 0; i < 4; i++) + if (shared192D0.turnOrder[i] == var) + break; + + return i; +} + +static void ContestAICmd_unk_00(void) +{ + s16 score = eContestAI->unk5[eContestAI->unk4] + (s8)gAIScriptPtr[1]; + + if (score > 255) + score = 255; + else if (score < 0) + score = 0; + + eContestAI->unk5[eContestAI->unk4] = score; + + gAIScriptPtr += 2; +} + +static void ContestAICmd_get_turn(void) +{ + eContestAI->scriptResult = sContest.turnNumber; + gAIScriptPtr += 1; +} + +static void ContestAICmd_unk_02(void) +{ + ContestAICmd_get_turn(); + + if (eContestAI->scriptResult < gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_03(void) +{ + ContestAICmd_get_turn(); + + if (eContestAI->scriptResult > gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_04(void) +{ + ContestAICmd_get_turn(); + + if (eContestAI->scriptResult == gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_05(void) +{ + ContestAICmd_get_turn(); + + if (eContestAI->scriptResult != gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_get_excitement(void) +{ + eContestAI->scriptResult = sContest.applauseLevel; + gAIScriptPtr += 1; +} + +static void ContestAICmd_unk_07(void) +{ + ContestAICmd_get_excitement(); + + if (eContestAI->scriptResult < gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_08(void) +{ + ContestAICmd_get_excitement(); + + if (eContestAI->scriptResult > gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_09(void) +{ + ContestAICmd_get_excitement(); + + if (eContestAI->scriptResult == gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_0A(void) +{ + ContestAICmd_get_excitement(); + + if (eContestAI->scriptResult != gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_get_user_order(void) +{ + eContestAI->scriptResult = shared192D0.turnOrder[eContestAI->unk41]; + gAIScriptPtr += 1; +} + +static void ContestAICmd_unk_0C(void) +{ + ContestAICmd_get_user_order(); + + if (eContestAI->scriptResult < gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_0D(void) +{ + ContestAICmd_get_user_order(); + + if (eContestAI->scriptResult > gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_0E(void) +{ + ContestAICmd_get_user_order(); + + if (eContestAI->scriptResult == gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_0F(void) +{ + ContestAICmd_get_user_order(); + + if (eContestAI->scriptResult != gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_get_user_condition_maybe(void) +{ + eContestAI->scriptResult = sContestantStatus[eContestAI->unk41].condition / 10; + gAIScriptPtr += 1; +} + +static void ContestAICmd_unk_11(void) +{ + ContestAICmd_get_user_condition_maybe(); + + if (eContestAI->scriptResult < gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_12(void) +{ + ContestAICmd_get_user_condition_maybe(); + + if (eContestAI->scriptResult > gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_13(void) +{ + ContestAICmd_get_user_condition_maybe(); + + if (eContestAI->scriptResult == gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_14(void) +{ + ContestAICmd_get_user_condition_maybe(); + + if (eContestAI->scriptResult != gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_15(void) +{ + eContestAI->scriptResult = sContestantStatus[eContestAI->unk41].unk4; + gAIScriptPtr += 1; +} + +static void ContestAICmd_unk_16(void) +{ + ContestAICmd_unk_15(); + + if (eContestAI->scriptResult < (s16)T1_READ_16(gAIScriptPtr + 0)) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2); + else + gAIScriptPtr += 6; +} + +static void ContestAICmd_unk_17(void) +{ + ContestAICmd_unk_15(); + + if (eContestAI->scriptResult > (s16)T1_READ_16(gAIScriptPtr + 0)) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2); + else + gAIScriptPtr += 6; +} + +static void ContestAICmd_unk_18(void) +{ + ContestAICmd_unk_15(); + + if (eContestAI->scriptResult == (s16)T1_READ_16(gAIScriptPtr + 0)) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2); + else + gAIScriptPtr += 6; +} + +static void ContestAICmd_unk_19(void) +{ + ContestAICmd_unk_15(); + + if (eContestAI->scriptResult != (s16)T1_READ_16(gAIScriptPtr + 0)) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2); + else + gAIScriptPtr += 6; +} + +static void ContestAICmd_unk_1A(void) +{ + eContestAI->scriptResult = gContestMonConditions[eContestAI->unk41]; + gAIScriptPtr += 1; +} + +static void ContestAICmd_unk_1B(void) +{ + ContestAICmd_unk_1A(); + + if (eContestAI->scriptResult < (s16)T1_READ_16(gAIScriptPtr + 0)) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2); + else + gAIScriptPtr += 6; +} + +static void ContestAICmd_unk_1C(void) +{ + ContestAICmd_unk_1A(); + + if (eContestAI->scriptResult > (s16)T1_READ_16(gAIScriptPtr + 0)) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2); + else + gAIScriptPtr += 6; +} + +static void ContestAICmd_unk_1D(void) +{ + ContestAICmd_unk_1A(); + + if (eContestAI->scriptResult == (s16)T1_READ_16(gAIScriptPtr + 0)) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2); + else + gAIScriptPtr += 6; +} + +static void ContestAICmd_unk_1E(void) +{ + ContestAICmd_unk_1A(); + + if (eContestAI->scriptResult != (s16)T1_READ_16(gAIScriptPtr + 0)) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2); + else + gAIScriptPtr += 6; +} + +static void ContestAICmd_get_contest_type(void) +{ + eContestAI->scriptResult = gSpecialVar_ContestCategory; + gAIScriptPtr += 1; +} + +static void ContestAICmd_unk_20(void) +{ + ContestAICmd_get_contest_type(); + + if (eContestAI->scriptResult == gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_21(void) +{ + ContestAICmd_get_contest_type(); + + if (eContestAI->scriptResult != gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_get_move_excitement(void) +{ + eContestAI->scriptResult = Contest_GetMoveExcitement(gContestMons[eContestAI->unk41].moves[eContestAI->unk4]); + gAIScriptPtr += 1; +} + +static void ContestAICmd_unk_23(void) +{ + ContestAICmd_get_move_excitement(); + + if (eContestAI->scriptResult < (s8)gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_24(void) +{ + ContestAICmd_get_move_excitement(); + + if (eContestAI->scriptResult > (s8)gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_25(void) +{ + ContestAICmd_get_move_excitement(); + + if (eContestAI->scriptResult == (s8)gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_26(void) +{ + ContestAICmd_get_move_excitement(); + + if (eContestAI->scriptResult != (s8)gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_get_move_effect(void) +{ + u16 move = gContestMons[eContestAI->unk41].moves[eContestAI->unk4]; + + eContestAI->scriptResult = gContestMoves[move].effect; + gAIScriptPtr += 1; +} + +static void ContestAICmd_unk_28(void) +{ + ContestAICmd_get_move_effect(); + + if (eContestAI->scriptResult == gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_29(void) +{ + ContestAICmd_get_move_effect(); + + if (eContestAI->scriptResult != gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_get_move_effect_type(void) +{ + u16 move = gContestMons[eContestAI->unk41].moves[eContestAI->unk4]; + + eContestAI->scriptResult = gContestEffects[gContestMoves[move].effect].effectType; + gAIScriptPtr += 1; +} + +static void ContestAICmd_unk_2B(void) +{ + ContestAICmd_get_move_effect_type(); + + if (eContestAI->scriptResult == gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_2C(void) +{ + ContestAICmd_get_move_effect_type(); + + if (eContestAI->scriptResult != gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_check_move_has_highest_appeal(void) +{ + int i; + u16 move = gContestMons[eContestAI->unk41].moves[eContestAI->unk4]; + u8 appeal = gContestEffects[gContestMoves[move].effect].appeal; + + for(i = 0; i < 4; i++) + { + u16 newMove = gContestMons[eContestAI->unk41].moves[i]; + if (newMove != 0 && appeal < gContestEffects[gContestMoves[newMove].effect].appeal) + break; + } + + if (i == 4) + eContestAI->scriptResult = TRUE; + else + eContestAI->scriptResult = FALSE; + + gAIScriptPtr += 1; +} + +static void ContestAICmd_unk_2E(void) +{ + ContestAICmd_check_move_has_highest_appeal(); + + if (eContestAI->scriptResult != FALSE) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); + else + gAIScriptPtr += 4; +} + +static void ContestAICmd_unk_2F(void) +{ + int i; + u16 move = gContestMons[eContestAI->unk41].moves[eContestAI->unk4]; + u8 jam = gContestEffects[gContestMoves[move].effect].jam; + + for(i = 0; i < 4; i++) + { + u16 newMove = gContestMons[eContestAI->unk41].moves[i]; + if (newMove != 0 && jam < gContestEffects[gContestMoves[newMove].effect].jam) + break; + } + + if (i == 4) + eContestAI->scriptResult = TRUE; + else + eContestAI->scriptResult = FALSE; + + gAIScriptPtr += 1; +} + +static void ContestAICmd_unk_30(void) +{ + ContestAICmd_unk_2F(); + + if (eContestAI->scriptResult != FALSE) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_31(void) +{ + u16 move = gContestMons[eContestAI->unk41].moves[eContestAI->unk4]; + + eContestAI->scriptResult = gContestEffects[gContestMoves[move].effect].appeal / 10; + gAIScriptPtr += 1; +} + +static void ContestAICmd_unk_32(void) +{ + ContestAICmd_unk_31(); + + if (eContestAI->scriptResult < gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_33(void) +{ + ContestAICmd_unk_31(); + + if (eContestAI->scriptResult > gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_34(void) +{ + ContestAICmd_unk_31(); + + if (eContestAI->scriptResult == gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_35(void) +{ + ContestAICmd_unk_31(); + + if (eContestAI->scriptResult != gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_36(void) +{ + u16 move = gContestMons[eContestAI->unk41].moves[eContestAI->unk4]; + + eContestAI->scriptResult = gContestEffects[gContestMoves[move].effect].jam / 10; + gAIScriptPtr += 1; +} + +static void ContestAICmd_unk_37(void) +{ + ContestAICmd_unk_36(); + + if (eContestAI->scriptResult < gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_38(void) +{ + ContestAICmd_unk_36(); + + if (eContestAI->scriptResult > gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_39(void) +{ + ContestAICmd_unk_36(); + + if (eContestAI->scriptResult == gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_3A(void) +{ + ContestAICmd_unk_36(); + + if (eContestAI->scriptResult != gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_get_move_used_count(void) +{ + s16 result; + u16 move = gContestMons[eContestAI->unk41].moves[eContestAI->unk4]; + + if (move != sContestantStatus[eContestAI->unk41].prevMove) + result = 0; // move is unique and not reused. + else + result = sContestantStatus[eContestAI->unk41].moveRepeatCount + 1; + + eContestAI->scriptResult = result; + gAIScriptPtr += 1; +} + +static void ContestAICmd_unk_3C(void) +{ + ContestAICmd_get_move_used_count(); + + if (eContestAI->scriptResult < gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_3D(void) +{ + ContestAICmd_get_move_used_count(); + + if (eContestAI->scriptResult > gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_3E(void) +{ + ContestAICmd_get_move_used_count(); + + if (eContestAI->scriptResult == gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_3F(void) +{ + ContestAICmd_get_move_used_count(); + + if (eContestAI->scriptResult != gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_check_combo_starter(void) +{ + u8 result = 0; + int i; + u16 move = gContestMons[eContestAI->unk41].moves[eContestAI->unk4]; + + for(i = 0; i < 4; i++) + { + if (gContestMons[eContestAI->unk41].moves[i]) + { + result = AreMovesContestCombo(move, gContestMons[eContestAI->unk41].moves[i]); + if (result) + { + result = 1; + break; + } + } + } + + if (result) + result = 1; + + eContestAI->scriptResult = result; + gAIScriptPtr += 1; +} + +static void ContestAICmd_unk_41(void) +{ + ContestAICmd_check_combo_starter(); + + if (eContestAI->scriptResult != 0) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); + else + gAIScriptPtr += 4; +} + +static void ContestAICmd_unk_42(void) +{ + ContestAICmd_check_combo_starter(); + + if (eContestAI->scriptResult == 0) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); + else + gAIScriptPtr += 4; +} + +static void ContestAICmd_check_combo_finisher(void) +{ + u8 result = 0; + int i; + u16 move = gContestMons[eContestAI->unk41].moves[eContestAI->unk4]; + + for(i = 0; i < 4; i++) + { + if (gContestMons[eContestAI->unk41].moves[i]) + { + result = AreMovesContestCombo(gContestMons[eContestAI->unk41].moves[i], move); + if (result) + { + result = 1; + break; + } + } + } + + if (result) + result = 1; + + eContestAI->scriptResult = result; + gAIScriptPtr += 1; +} + +static void ContestAICmd_unk_44(void) +{ + ContestAICmd_check_combo_finisher(); + + if (eContestAI->scriptResult != 0) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); + else + gAIScriptPtr += 4; +} + +static void ContestAICmd_unk_45(void) +{ + ContestAICmd_check_combo_finisher(); + + if (eContestAI->scriptResult == 0) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); + else + gAIScriptPtr += 4; +} + +static void ContestAICmd_check_would_finish_combo(void) +{ + u8 result = 0; + u16 move = gContestMons[eContestAI->unk41].moves[eContestAI->unk4]; + + if (sContestantStatus[eContestAI->unk41].prevMove) + result = AreMovesContestCombo(sContestantStatus[eContestAI->unk41].prevMove, move); + + if (result) + result = 1; + + eContestAI->scriptResult = result; + gAIScriptPtr += 1; +} + +static void ContestAICmd_unk_47(void) +{ + ContestAICmd_check_would_finish_combo(); + + if (eContestAI->scriptResult != 0) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); + else + gAIScriptPtr += 4; +} + +static void ContestAICmd_unk_48(void) +{ + ContestAICmd_check_would_finish_combo(); + + if (eContestAI->scriptResult == 0) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); + else + gAIScriptPtr += 4; +} + +static void ContestAICmd_get_condition(void) +{ + int var = sub_81563B0(gAIScriptPtr[1]); + + eContestAI->scriptResult = sContestantStatus[var].condition / 10; + gAIScriptPtr += 2; +} + +static void ContestAICmd_unk_4A(void) +{ + ContestAICmd_get_condition(); + + if (eContestAI->scriptResult < gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_4B(void) +{ + ContestAICmd_get_condition(); + + if (eContestAI->scriptResult > gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_4C(void) +{ + ContestAICmd_get_condition(); + + if (eContestAI->scriptResult == gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_4D(void) +{ + ContestAICmd_get_condition(); + + if (eContestAI->scriptResult != gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_get_used_combo_starter(void) +{ + u16 result = 0; + u8 var = sub_81563B0(gAIScriptPtr[1]); + + if (sub_80DE1E8(var)) + result = gContestMoves[sContestantStatus[var].prevMove].comboStarterId ? 1 : 0; + + eContestAI->scriptResult = result; + gAIScriptPtr += 2; +} + +static void ContestAICmd_unk_4F(void) +{ + ContestAICmd_get_used_combo_starter(); + + if (eContestAI->scriptResult < gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_50(void) +{ + ContestAICmd_get_used_combo_starter(); + + if (eContestAI->scriptResult > gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_51(void) +{ + ContestAICmd_get_used_combo_starter(); + + if (eContestAI->scriptResult == gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_52(void) +{ + ContestAICmd_get_used_combo_starter(); + + if (eContestAI->scriptResult != gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_check_can_participate(void) +{ + if (Contest_IsMonsTurnDisabled(sub_81563B0(gAIScriptPtr[1]))) + eContestAI->scriptResult = FALSE; + else + eContestAI->scriptResult = TRUE; + + gAIScriptPtr += 2; +} + +static void ContestAICmd_unk_54(void) +{ + ContestAICmd_check_can_participate(); + + if (eContestAI->scriptResult != 0) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); + else + gAIScriptPtr += 4; +} + +static void ContestAICmd_unk_55(void) +{ + ContestAICmd_check_can_participate(); + + if (eContestAI->scriptResult == 0) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); + else + gAIScriptPtr += 4; +} + +static void ContestAICmd_get_val_812A188(void) +{ + u8 var = sub_81563B0(gAIScriptPtr[1]); + + eContestAI->scriptResult = sContestantStatus[var].unk15_3; + gAIScriptPtr += 2; +} + +static void ContestAICmd_unk_57(void) +{ + ContestAICmd_get_val_812A188(); + + if (eContestAI->scriptResult != 0) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); + else + gAIScriptPtr += 4; +} + +static void ContestAICmd_unk_58(void) +{ + ContestAICmd_get_val_812A188(); + + if (eContestAI->scriptResult == 0) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); + else + gAIScriptPtr += 4; +} + +static void ContestAICmd_unk_59(void) +{ + u8 var = sub_81563B0(gAIScriptPtr[1]); + + eContestAI->scriptResult = sContestantStatus[var].unk4 - sContestantStatus[eContestAI->unk41].unk4; + gAIScriptPtr += 2; +} + +static void ContestAICmd_unk_5A(void) +{ + ContestAICmd_unk_59(); + + if (eContestAI->scriptResult < 0) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); + else + gAIScriptPtr += 4; +} + +static void ContestAICmd_unk_5B(void) +{ + ContestAICmd_unk_59(); + + if (eContestAI->scriptResult > 0) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); + else + gAIScriptPtr += 4; +} + +static void ContestAICmd_unk_5C(void) +{ + ContestAICmd_unk_59(); + + if (eContestAI->scriptResult == 0) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); + else + gAIScriptPtr += 4; +} + +static void ContestAICmd_unk_5D(void) +{ + ContestAICmd_unk_59(); + + if (eContestAI->scriptResult != 0) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); + else + gAIScriptPtr += 4; +} + +static void ContestAICmd_unk_5E(void) +{ + u8 var = sub_81563B0(gAIScriptPtr[1]); + + eContestAI->scriptResult = gContestMonConditions[var] - gContestMonConditions[eContestAI->unk41]; + gAIScriptPtr += 2; +} + +static void ContestAICmd_unk_5F(void) +{ + ContestAICmd_unk_5E(); + + if (eContestAI->scriptResult < 0) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); + else + gAIScriptPtr += 4; +} + +static void ContestAICmd_unk_60(void) +{ + ContestAICmd_unk_5E(); + + if (eContestAI->scriptResult > 0) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); + else + gAIScriptPtr += 4; +} + +static void ContestAICmd_unk_61(void) +{ + ContestAICmd_unk_5E(); + + if (eContestAI->scriptResult == 0) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); + else + gAIScriptPtr += 4; +} + +static void ContestAICmd_unk_62(void) +{ + ContestAICmd_unk_5E(); + + if (eContestAI->scriptResult != 0) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); + else + gAIScriptPtr += 4; +} + +static void ContestAICmd_unk_63(void) +{ + u8 var = sub_81563B0(gAIScriptPtr[1]); + u8 var2 = gAIScriptPtr[2]; + u16 move = sContest.unk19220[var2][var]; + + eContestAI->scriptResult = gContestMoves[move].effect; + gAIScriptPtr += 3; +} + +static void ContestAICmd_unk_64(void) +{ + ContestAICmd_unk_63(); + + if (eContestAI->scriptResult < gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_65(void) +{ + ContestAICmd_unk_63(); + + if (eContestAI->scriptResult > gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_66(void) +{ + ContestAICmd_unk_63(); + + if (eContestAI->scriptResult == gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_67(void) +{ + ContestAICmd_unk_63(); + + if (eContestAI->scriptResult != gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_68(void) +{ + u8 var = sub_81563B0(gAIScriptPtr[1]); + u8 var2 = gAIScriptPtr[2]; + s8 result = sContest.unk19248[var2][var]; + + eContestAI->scriptResult = result; + gAIScriptPtr += 3; +} + +static void ContestAICmd_unk_69(void) +{ + ContestAICmd_unk_68(); + + if (eContestAI->scriptResult < gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_6A(void) +{ + ContestAICmd_unk_68(); + + if (eContestAI->scriptResult > gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_6B(void) +{ + ContestAICmd_unk_68(); + + if (eContestAI->scriptResult == gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_6C(void) +{ + ContestAICmd_unk_68(); + + if (eContestAI->scriptResult != gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_6D(void) +{ + u8 var = sub_81563B0(gAIScriptPtr[1]); + u8 var2 = gAIScriptPtr[2]; + u16 move = sContest.unk19220[var2][var]; + + eContestAI->scriptResult = gContestEffects[gContestMoves[move].effect].effectType; + gAIScriptPtr += 3; +} + +static void ContestAICmd_unk_6E(void) +{ + ContestAICmd_unk_6D(); + + if (eContestAI->scriptResult == gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_6F(void) +{ + ContestAICmd_unk_6D(); + + if (eContestAI->scriptResult != gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_70(void) +{ + eContestAI->scriptArr[gAIScriptPtr[1]] = eContestAI->scriptResult; + gAIScriptPtr += 2; +} + +static void ContestAICmd_unk_71(void) +{ + eContestAI->scriptArr[gAIScriptPtr[1]] = T1_READ_16(gAIScriptPtr + 2); + gAIScriptPtr += 4; +} + +static void ContestAICmd_unk_72(void) +{ + // wtf? shouldn't T1_READ_16 work here? why the signed 8 load by gAIScriptPtr[2]? + eContestAI->scriptArr[gAIScriptPtr[1]] += ((s8)gAIScriptPtr[2] | gAIScriptPtr[3] << 8); + gAIScriptPtr += 4; +} + +static void ContestAICmd_unk_73(void) +{ + eContestAI->scriptArr[gAIScriptPtr[1]] += eContestAI->scriptArr[gAIScriptPtr[2]]; + gAIScriptPtr += 3; +} + +static void ContestAICmd_unk_74(void) +{ + eContestAI->scriptArr[gAIScriptPtr[1]] += eContestAI->scriptArr[gAIScriptPtr[2]]; + gAIScriptPtr += 3; +} + +static void ContestAICmd_unk_75(void) +{ + if (eContestAI->scriptArr[gAIScriptPtr[1]] < T1_READ_16(gAIScriptPtr + 2)) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 4); + else + gAIScriptPtr += 8; +} + +static void ContestAICmd_unk_76(void) +{ + if (eContestAI->scriptArr[gAIScriptPtr[1]] > T1_READ_16(gAIScriptPtr + 2)) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 4); + else + gAIScriptPtr += 8; +} + +static void ContestAICmd_unk_77(void) +{ + if (eContestAI->scriptArr[gAIScriptPtr[1]] == T1_READ_16(gAIScriptPtr + 2)) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 4); + else + gAIScriptPtr += 8; +} + +static void ContestAICmd_unk_78(void) +{ + if (eContestAI->scriptArr[gAIScriptPtr[1]] != T1_READ_16(gAIScriptPtr + 2)) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 4); + else + gAIScriptPtr += 8; +} + +static void ContestAICmd_unk_79(void) +{ + if (eContestAI->scriptArr[gAIScriptPtr[1]] < (eContestAI->scriptArr[gAIScriptPtr[2]])) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 3); + else + gAIScriptPtr += 7; +} + +static void ContestAICmd_unk_7A(void) +{ + if (eContestAI->scriptArr[gAIScriptPtr[1]] > (eContestAI->scriptArr[gAIScriptPtr[2]])) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 3); + else + gAIScriptPtr += 7; +} + +static void ContestAICmd_unk_7B(void) +{ + if (eContestAI->scriptArr[gAIScriptPtr[1]] == (eContestAI->scriptArr[gAIScriptPtr[2]])) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 3); + else + gAIScriptPtr += 7; +} + +static void ContestAICmd_unk_7C(void) +{ + if (eContestAI->scriptArr[gAIScriptPtr[1]] != (eContestAI->scriptArr[gAIScriptPtr[2]])) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 3); + else + gAIScriptPtr += 7; +} + +static void ContestAICmd_unk_7D(void) +{ + if ((Random() & 0xFF) < eContestAI->scriptArr[gAIScriptPtr[1]]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2); + else + gAIScriptPtr += 6; +} + +static void ContestAICmd_unk_7E(void) +{ + if ((Random() & 0xFF) > eContestAI->scriptArr[gAIScriptPtr[1]]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2); + else + gAIScriptPtr += 6; +} + +// jump +static void ContestAICmd_unk_7F(void) +{ + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); +} + +static void ContestAICmd_unk_80(void) +{ + AIStackPushVar(gAIScriptPtr + 5); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); +} + +static void ContestAICmd_unk_81(void) +{ + if (!AIStackPop()) + eContestAI->aiAction |= 1; +} + +static void AIStackPushVar(const u8 *ptr) +{ + eContestAI->stack[eContestAI->unk40++] = (u32)ptr; +} + +static bool8 AIStackPop(void) +{ + if (eContestAI->unk40 != 0) + { + --eContestAI->unk40; + gAIScriptPtr = (u8 *)eContestAI->stack[eContestAI->unk40]; + return TRUE; + } + else + { + return FALSE; + } +} + +static void ContestAICmd_check_for_exciting_move(void) +{ + int result = 0; + int i; + + for(i = 0; i < 4; i++) + { + if (gContestMons[eContestAI->unk41].moves[i]) + { + // why is it using gSharedMem + 0x19325? that does not exist... + if (Contest_GetMoveExcitement(gContestMons[eContestAI->unk41].moves[i]) == 1) + { + result = 1; + break; + } + } + } + + eContestAI->scriptResult = result; + gAIScriptPtr += 1; +} + +static void ContestAICmd_unk_83(void) +{ + ContestAICmd_check_for_exciting_move(); + + if (eContestAI->scriptResult != 0) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); + else + gAIScriptPtr += 4; +} + +static void ContestAICmd_unk_84(void) +{ + ContestAICmd_check_for_exciting_move(); + + if (eContestAI->scriptResult == 0) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); + else + gAIScriptPtr += 4; +} + +static void ContestAICmd_unk_85(void) +{ + int result = 0; + int i; + u16 arg = T1_READ_16(gAIScriptPtr + 1); + + for(i = 0; i < 4; i++) + { + u16 move = gContestMons[eContestAI->unk41].moves[i]; + if (move == arg) + { + result = 1; + break; + } + } + + eContestAI->scriptResult = result; + gAIScriptPtr += 3; +} + +static void ContestAICmd_unk_86(void) +{ + ContestAICmd_unk_85(); + + if (eContestAI->scriptResult != 0) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); + else + gAIScriptPtr += 4; +} + +static void ContestAICmd_unk_87(void) +{ + ContestAICmd_unk_85(); + + if (eContestAI->scriptResult == 0) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); + else + gAIScriptPtr += 4; +} From 92c4fc6345faf9e5c8af4035103eea26164b68bd Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Wed, 15 Aug 2018 11:50:18 +0200 Subject: [PATCH 103/234] Contest AI clean-up --- asm/contest_ai.s | 0 data/contest_ai.s | 144 ---------------------------------------------- include/contest.h | 9 +-- ld_script.txt | 4 +- src/contest_ai.c | 102 ++++++++++++++++---------------- 5 files changed, 57 insertions(+), 202 deletions(-) delete mode 100644 asm/contest_ai.s delete mode 100644 data/contest_ai.s diff --git a/asm/contest_ai.s b/asm/contest_ai.s deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/data/contest_ai.s b/data/contest_ai.s deleted file mode 100644 index c7cb848a73..0000000000 --- a/data/contest_ai.s +++ /dev/null @@ -1,144 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - - .align 2 -gUnknown_085CDD00:: @ 85CDD00 - .4byte sub_81564DC - .4byte sub_8156530 - .4byte sub_8156550 - .4byte sub_8156594 - .4byte sub_81565D8 - .4byte sub_815661C - .4byte sub_8156660 - .4byte sub_8156684 - .4byte sub_81566C8 - .4byte sub_815670C - .4byte sub_8156750 - .4byte sub_8156794 - .4byte sub_81567BC - .4byte sub_8156800 - .4byte sub_8156844 - .4byte sub_8156888 - .4byte sub_81568CC - .4byte sub_815690C - .4byte sub_8156950 - .4byte sub_8156994 - .4byte sub_81569D8 - .4byte sub_8156A1C - .4byte sub_8156A48 - .4byte sub_8156A98 - .4byte sub_8156AE8 - .4byte sub_8156B38 - .4byte sub_8156B88 - .4byte sub_8156BB4 - .4byte sub_8156C04 - .4byte sub_8156C54 - .4byte sub_8156CA4 - .4byte sub_8156CF4 - .4byte sub_8156D18 - .4byte sub_8156D5C - .4byte sub_8156DA0 - .4byte sub_8156DE4 - .4byte sub_8156E2C - .4byte sub_8156E74 - .4byte sub_8156EBC - .4byte sub_8156F04 - .4byte sub_8156F44 - .4byte sub_8156F88 - .4byte sub_8156FCC - .4byte sub_8157018 - .4byte sub_815705C - .4byte sub_81570A0 - .4byte sub_815712C - .4byte sub_8157174 - .4byte sub_8157200 - .4byte sub_8157248 - .4byte sub_81572A4 - .4byte sub_81572E8 - .4byte sub_815732C - .4byte sub_8157370 - .4byte sub_81573B4 - .4byte sub_8157410 - .4byte sub_8157454 - .4byte sub_8157498 - .4byte sub_81574DC - .4byte sub_8157520 - .4byte sub_8157578 - .4byte sub_81575BC - .4byte sub_8157600 - .4byte sub_8157644 - .4byte sub_8157688 - .4byte sub_8157700 - .4byte sub_8157748 - .4byte sub_8157790 - .4byte sub_8157808 - .4byte sub_8157850 - .4byte sub_8157898 - .4byte sub_81578F8 - .4byte sub_8157940 - .4byte sub_8157988 - .4byte sub_81579CC - .4byte sub_8157A10 - .4byte sub_8157A54 - .4byte sub_8157A98 - .4byte sub_8157ADC - .4byte sub_8157B38 - .4byte sub_8157B7C - .4byte sub_8157BC0 - .4byte sub_8157C04 - .4byte sub_8157C48 - .4byte sub_8157C94 - .4byte sub_8157CDC - .4byte sub_8157D24 - .4byte sub_8157D60 - .4byte sub_8157DA8 - .4byte sub_8157DF0 - .4byte sub_8157E3C - .4byte sub_8157E84 - .4byte sub_8157ECC - .4byte sub_8157F14 - .4byte sub_8157F5C - .4byte sub_8157FA0 - .4byte sub_8157FE8 - .4byte sub_8158030 - .4byte sub_8158078 - .4byte sub_81580C0 - .4byte sub_8158108 - .4byte sub_815814C - .4byte sub_8158190 - .4byte sub_81581D4 - .4byte sub_8158218 - .4byte sub_8158254 - .4byte sub_8158298 - .4byte sub_81582DC - .4byte sub_8158320 - .4byte sub_8158364 - .4byte sub_81583B8 - .4byte sub_81583FC - .4byte sub_8158440 - .4byte sub_815846C - .4byte sub_815849C - .4byte sub_81584D4 - .4byte sub_8158508 - .4byte sub_815853C - .4byte sub_815858C - .4byte sub_81585DC - .4byte sub_815862C - .4byte sub_815867C - .4byte sub_81586D0 - .4byte sub_8158724 - .4byte sub_8158778 - .4byte sub_81587CC - .4byte sub_815881C - .4byte sub_815886C - .4byte dp15_call - .4byte sub_81588BC - .4byte sub_8158948 - .4byte sub_81589A4 - .4byte sub_81589EC - .4byte sub_8158A34 - .4byte sub_8158AA0 - .4byte sub_8158AE8 - diff --git a/include/contest.h b/include/contest.h index 761b163694..18f9ad21f0 100644 --- a/include/contest.h +++ b/include/contest.h @@ -341,7 +341,8 @@ struct UnknownContestStruct7 u8 contestant; }; -struct ContestAIInfo { +struct ContestAIInfo +{ /*0x00*/ u8 aiState; /*0x02*/ u16 unk2; /*0x04*/ u8 unk4; @@ -352,9 +353,9 @@ struct ContestAIInfo { /*0x14*/ u32 flags; /*0x18*/ s16 scriptResult; /*0x1A*/ s16 scriptArr[3]; - /*0x20*/ u32 stack[8]; - /*0x40*/ u8 unk40; - /*0x41*/ u8 unk41; + /*0x20*/ const u8 *stack[8]; + /*0x40*/ u8 stackSize; + /*0x41*/ u8 contestantId; }; struct UnknownContestStruct5 diff --git a/ld_script.txt b/ld_script.txt index 5f9d356173..502515b49b 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -203,7 +203,7 @@ SECTIONS { src/save.o(.text); src/mystery_event_script.o(.text); asm/field_effect_helpers.o(.text); - asm/contest_ai.o(.text); + src/contest_ai.o(.text); src/battle_anim_sound_tasks.o(.text); src/battle_controller_safari.o(.text); src/fldeff_sweetscent.o(.text); @@ -488,7 +488,7 @@ SECTIONS { data/cable_car.o(.rodata); src/save.o(.rodata); data/field_effect_helpers.o(.rodata); - data/contest_ai.o(.rodata); + src/contest_ai.o(.rodata); src/battle_controller_safari.o(.rodata); data/battle_anim_815A0D4.o(.rodata); src/learn_move.o(.rodata); diff --git a/src/contest_ai.c b/src/contest_ai.c index 059c351e90..3324ddf87a 100644 --- a/src/contest_ai.c +++ b/src/contest_ai.c @@ -4,7 +4,6 @@ #include "contest_ai.h" #include "contest_effect.h" -extern u16 gSpecialVar_ContestCategory; extern u16 gContestMonConditions[]; extern const u8 *gAIScriptPtr; @@ -294,22 +293,22 @@ static bool8 sub_81563B0(u8); static void AIStackPushVar(const u8 *); static u8 AIStackPop(void); -void ContestAI_ResetAI(u8 var) +void ContestAI_ResetAI(u8 contestantAI) { int i; memset(eContestAI, 0, sizeof(struct ContestAIInfo)); - for(i = 0; i < 4; i++) + for (i = 0; i < 4; i++) eContestAI->unk5[i] = 100; - eContestAI->unk41 = var; - eContestAI->unk40 = 0; - eContestAI->flags = gContestMons[eContestAI->unk41].flags; + eContestAI->contestantId = contestantAI; + eContestAI->stackSize = 0; + eContestAI->flags = gContestMons[eContestAI->contestantId].flags; } u8 ContestAI_GetActionToUse(void) { - while(eContestAI->flags != 0) + while (eContestAI->flags != 0) { if (eContestAI->flags & 1) { @@ -338,7 +337,7 @@ u8 ContestAI_GetActionToUse(void) static void ContestAI_DoAIProcessing(void) { - while(eContestAI->aiState != CONTESTAI_FINISHED) + while (eContestAI->aiState != CONTESTAI_FINISHED) { switch(eContestAI->aiState) { @@ -347,10 +346,10 @@ static void ContestAI_DoAIProcessing(void) case CONTESTAI_SETTING_UP: gAIScriptPtr = gContestAIs[eContestAI->unk10]; - if (gContestMons[eContestAI->unk41].moves[eContestAI->unk4] == 0) + if (gContestMons[eContestAI->contestantId].moves[eContestAI->unk4] == 0) eContestAI->unk2 = 0; // don't process a move that doesn't exist. else - eContestAI->unk2 = gContestMons[eContestAI->unk41].moves[eContestAI->unk4]; + eContestAI->unk2 = gContestMons[eContestAI->contestantId].moves[eContestAI->unk4]; eContestAI->aiState++; break; case CONTESTAI_PROCESSING: @@ -379,7 +378,7 @@ static u8 sub_81563B0(u8 var) { int i; - for(i = 0; i < 4; i++) + for (i = 0; i < 4; i++) if (shared192D0.turnOrder[i] == var) break; @@ -494,7 +493,7 @@ static void ContestAICmd_unk_0A(void) static void ContestAICmd_get_user_order(void) { - eContestAI->scriptResult = shared192D0.turnOrder[eContestAI->unk41]; + eContestAI->scriptResult = shared192D0.turnOrder[eContestAI->contestantId]; gAIScriptPtr += 1; } @@ -540,7 +539,7 @@ static void ContestAICmd_unk_0F(void) static void ContestAICmd_get_user_condition_maybe(void) { - eContestAI->scriptResult = sContestantStatus[eContestAI->unk41].condition / 10; + eContestAI->scriptResult = sContestantStatus[eContestAI->contestantId].condition / 10; gAIScriptPtr += 1; } @@ -586,7 +585,7 @@ static void ContestAICmd_unk_14(void) static void ContestAICmd_unk_15(void) { - eContestAI->scriptResult = sContestantStatus[eContestAI->unk41].unk4; + eContestAI->scriptResult = sContestantStatus[eContestAI->contestantId].unk4; gAIScriptPtr += 1; } @@ -632,7 +631,7 @@ static void ContestAICmd_unk_19(void) static void ContestAICmd_unk_1A(void) { - eContestAI->scriptResult = gContestMonConditions[eContestAI->unk41]; + eContestAI->scriptResult = gContestMonConditions[eContestAI->contestantId]; gAIScriptPtr += 1; } @@ -704,7 +703,7 @@ static void ContestAICmd_unk_21(void) static void ContestAICmd_get_move_excitement(void) { - eContestAI->scriptResult = Contest_GetMoveExcitement(gContestMons[eContestAI->unk41].moves[eContestAI->unk4]); + eContestAI->scriptResult = Contest_GetMoveExcitement(gContestMons[eContestAI->contestantId].moves[eContestAI->unk4]); gAIScriptPtr += 1; } @@ -750,7 +749,7 @@ static void ContestAICmd_unk_26(void) static void ContestAICmd_get_move_effect(void) { - u16 move = gContestMons[eContestAI->unk41].moves[eContestAI->unk4]; + u16 move = gContestMons[eContestAI->contestantId].moves[eContestAI->unk4]; eContestAI->scriptResult = gContestMoves[move].effect; gAIScriptPtr += 1; @@ -778,7 +777,7 @@ static void ContestAICmd_unk_29(void) static void ContestAICmd_get_move_effect_type(void) { - u16 move = gContestMons[eContestAI->unk41].moves[eContestAI->unk4]; + u16 move = gContestMons[eContestAI->contestantId].moves[eContestAI->unk4]; eContestAI->scriptResult = gContestEffects[gContestMoves[move].effect].effectType; gAIScriptPtr += 1; @@ -807,12 +806,12 @@ static void ContestAICmd_unk_2C(void) static void ContestAICmd_check_move_has_highest_appeal(void) { int i; - u16 move = gContestMons[eContestAI->unk41].moves[eContestAI->unk4]; + u16 move = gContestMons[eContestAI->contestantId].moves[eContestAI->unk4]; u8 appeal = gContestEffects[gContestMoves[move].effect].appeal; - for(i = 0; i < 4; i++) + for (i = 0; i < 4; i++) { - u16 newMove = gContestMons[eContestAI->unk41].moves[i]; + u16 newMove = gContestMons[eContestAI->contestantId].moves[i]; if (newMove != 0 && appeal < gContestEffects[gContestMoves[newMove].effect].appeal) break; } @@ -838,12 +837,12 @@ static void ContestAICmd_unk_2E(void) static void ContestAICmd_unk_2F(void) { int i; - u16 move = gContestMons[eContestAI->unk41].moves[eContestAI->unk4]; + u16 move = gContestMons[eContestAI->contestantId].moves[eContestAI->unk4]; u8 jam = gContestEffects[gContestMoves[move].effect].jam; - for(i = 0; i < 4; i++) + for (i = 0; i < 4; i++) { - u16 newMove = gContestMons[eContestAI->unk41].moves[i]; + u16 newMove = gContestMons[eContestAI->contestantId].moves[i]; if (newMove != 0 && jam < gContestEffects[gContestMoves[newMove].effect].jam) break; } @@ -868,7 +867,7 @@ static void ContestAICmd_unk_30(void) static void ContestAICmd_unk_31(void) { - u16 move = gContestMons[eContestAI->unk41].moves[eContestAI->unk4]; + u16 move = gContestMons[eContestAI->contestantId].moves[eContestAI->unk4]; eContestAI->scriptResult = gContestEffects[gContestMoves[move].effect].appeal / 10; gAIScriptPtr += 1; @@ -916,7 +915,7 @@ static void ContestAICmd_unk_35(void) static void ContestAICmd_unk_36(void) { - u16 move = gContestMons[eContestAI->unk41].moves[eContestAI->unk4]; + u16 move = gContestMons[eContestAI->contestantId].moves[eContestAI->unk4]; eContestAI->scriptResult = gContestEffects[gContestMoves[move].effect].jam / 10; gAIScriptPtr += 1; @@ -965,12 +964,12 @@ static void ContestAICmd_unk_3A(void) static void ContestAICmd_get_move_used_count(void) { s16 result; - u16 move = gContestMons[eContestAI->unk41].moves[eContestAI->unk4]; + u16 move = gContestMons[eContestAI->contestantId].moves[eContestAI->unk4]; - if (move != sContestantStatus[eContestAI->unk41].prevMove) + if (move != sContestantStatus[eContestAI->contestantId].prevMove) result = 0; // move is unique and not reused. else - result = sContestantStatus[eContestAI->unk41].moveRepeatCount + 1; + result = sContestantStatus[eContestAI->contestantId].moveRepeatCount + 1; eContestAI->scriptResult = result; gAIScriptPtr += 1; @@ -1020,13 +1019,13 @@ static void ContestAICmd_check_combo_starter(void) { u8 result = 0; int i; - u16 move = gContestMons[eContestAI->unk41].moves[eContestAI->unk4]; + u16 move = gContestMons[eContestAI->contestantId].moves[eContestAI->unk4]; - for(i = 0; i < 4; i++) + for (i = 0; i < 4; i++) { - if (gContestMons[eContestAI->unk41].moves[i]) + if (gContestMons[eContestAI->contestantId].moves[i]) { - result = AreMovesContestCombo(move, gContestMons[eContestAI->unk41].moves[i]); + result = AreMovesContestCombo(move, gContestMons[eContestAI->contestantId].moves[i]); if (result) { result = 1; @@ -1066,13 +1065,13 @@ static void ContestAICmd_check_combo_finisher(void) { u8 result = 0; int i; - u16 move = gContestMons[eContestAI->unk41].moves[eContestAI->unk4]; + u16 move = gContestMons[eContestAI->contestantId].moves[eContestAI->unk4]; - for(i = 0; i < 4; i++) + for (i = 0; i < 4; i++) { - if (gContestMons[eContestAI->unk41].moves[i]) + if (gContestMons[eContestAI->contestantId].moves[i]) { - result = AreMovesContestCombo(gContestMons[eContestAI->unk41].moves[i], move); + result = AreMovesContestCombo(gContestMons[eContestAI->contestantId].moves[i], move); if (result) { result = 1; @@ -1111,10 +1110,10 @@ static void ContestAICmd_unk_45(void) static void ContestAICmd_check_would_finish_combo(void) { u8 result = 0; - u16 move = gContestMons[eContestAI->unk41].moves[eContestAI->unk4]; + u16 move = gContestMons[eContestAI->contestantId].moves[eContestAI->unk4]; - if (sContestantStatus[eContestAI->unk41].prevMove) - result = AreMovesContestCombo(sContestantStatus[eContestAI->unk41].prevMove, move); + if (sContestantStatus[eContestAI->contestantId].prevMove) + result = AreMovesContestCombo(sContestantStatus[eContestAI->contestantId].prevMove, move); if (result) result = 1; @@ -1305,7 +1304,7 @@ static void ContestAICmd_unk_59(void) { u8 var = sub_81563B0(gAIScriptPtr[1]); - eContestAI->scriptResult = sContestantStatus[var].unk4 - sContestantStatus[eContestAI->unk41].unk4; + eContestAI->scriptResult = sContestantStatus[var].unk4 - sContestantStatus[eContestAI->contestantId].unk4; gAIScriptPtr += 2; } @@ -1353,7 +1352,7 @@ static void ContestAICmd_unk_5E(void) { u8 var = sub_81563B0(gAIScriptPtr[1]); - eContestAI->scriptResult = gContestMonConditions[var] - gContestMonConditions[eContestAI->unk41]; + eContestAI->scriptResult = gContestMonConditions[var] - gContestMonConditions[eContestAI->contestantId]; gAIScriptPtr += 2; } @@ -1658,15 +1657,15 @@ static void ContestAICmd_unk_81(void) static void AIStackPushVar(const u8 *ptr) { - eContestAI->stack[eContestAI->unk40++] = (u32)ptr; + eContestAI->stack[eContestAI->stackSize++] = ptr; } static bool8 AIStackPop(void) { - if (eContestAI->unk40 != 0) + if (eContestAI->stackSize != 0) { - --eContestAI->unk40; - gAIScriptPtr = (u8 *)eContestAI->stack[eContestAI->unk40]; + --eContestAI->stackSize; + gAIScriptPtr = eContestAI->stack[eContestAI->stackSize]; return TRUE; } else @@ -1680,12 +1679,11 @@ static void ContestAICmd_check_for_exciting_move(void) int result = 0; int i; - for(i = 0; i < 4; i++) + for (i = 0; i < 4; i++) { - if (gContestMons[eContestAI->unk41].moves[i]) + if (gContestMons[eContestAI->contestantId].moves[i]) { - // why is it using gSharedMem + 0x19325? that does not exist... - if (Contest_GetMoveExcitement(gContestMons[eContestAI->unk41].moves[i]) == 1) + if (Contest_GetMoveExcitement(gContestMons[eContestAI->contestantId].moves[i]) == 1) { result = 1; break; @@ -1723,9 +1721,9 @@ static void ContestAICmd_unk_85(void) int i; u16 arg = T1_READ_16(gAIScriptPtr + 1); - for(i = 0; i < 4; i++) + for (i = 0; i < 4; i++) { - u16 move = gContestMons[eContestAI->unk41].moves[i]; + u16 move = gContestMons[eContestAI->contestantId].moves[i]; if (move == arg) { result = 1; From dc6cf391cec2bdf1fd0717f6ece90d3b1a55fccd Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Wed, 15 Aug 2018 12:06:23 +0200 Subject: [PATCH 104/234] Make contest ai compile. --- src/pokemon_summary_screen.c | 1 - 1 file changed, 1 deletion(-) diff --git a/src/pokemon_summary_screen.c b/src/pokemon_summary_screen.c index 7e20a2a92d..53320544db 100644 --- a/src/pokemon_summary_screen.c +++ b/src/pokemon_summary_screen.c @@ -42,7 +42,6 @@ extern struct UnkStruct_61CC04 gUnknown_0861CC10; extern struct UnkStruct_61CC04 gUnknown_0861CBEC; extern struct UnkStruct_61CC04 gUnknown_0861CBF8; extern u16 gSummaryScreenWindow_Tilemap[]; -extern struct ContestEffect gContestEffects[]; extern struct WindowTemplate gUnknown_0861CC24; extern u8 gUnknown_0861CD2C[][3]; extern const u8 gSpeciesNames[][POKEMON_NAME_LENGTH + 1]; From a54fa23b5f30b0c6cc24f211137b3f6c892b3cd5 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Wed, 15 Aug 2018 15:49:50 +0200 Subject: [PATCH 105/234] Begin battle frontier 1 --- asm/battle_frontier_1.s | 1792 --------------------------------------- include/global.h | 60 +- ld_script.txt | 2 + src/battle_frontier_1.c | 1235 +++++++++++++++++++++++++++ 4 files changed, 1285 insertions(+), 1804 deletions(-) create mode 100644 src/battle_frontier_1.c diff --git a/asm/battle_frontier_1.s b/asm/battle_frontier_1.s index e353cb4755..6715dadea7 100644 --- a/asm/battle_frontier_1.s +++ b/asm/battle_frontier_1.s @@ -5,1798 +5,6 @@ .text - thumb_func_start sub_818E9AC -sub_818E9AC: @ 818E9AC - push {lr} - ldr r1, =gUnknown_0860D090 - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - bl _call_via_r0 - pop {r0} - bx r0 - .pool - thumb_func_end sub_818E9AC - - thumb_func_start sub_818E9CC -sub_818E9CC: @ 818E9CC - push {r4-r7,lr} - ldr r4, =gSaveBlock2Ptr - ldr r0, [r4] - ldr r1, =0x00000ca9 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 30 - lsrs r5, r0, 30 - ldr r0, =0x000040ce - bl VarGet - lsls r0, 16 - lsrs r7, r0, 16 - ldr r0, [r4] - ldr r2, =0x00000ca8 - adds r0, r2 - movs r6, 0 - strb r6, [r0] - ldr r1, [r4] - adds r2, 0xA - adds r0, r1, r2 - strh r6, [r0] - ldr r0, =0x00000ca9 - adds r1, r0 - ldrb r2, [r1] - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - strb r0, [r1] - ldr r1, [r4] - ldr r2, =0x00000ca9 - adds r1, r2 - ldrb r2, [r1] - movs r0, 0x9 - negs r0, r0 - ands r0, r2 - strb r0, [r1] - ldr r4, [r4] - ldr r0, =0x00000cdc - adds r3, r4, r0 - ldr r2, =gUnknown_0860D0EC - lsls r1, r5, 2 - lsls r0, r7, 3 - adds r1, r0 - adds r1, r2 - ldr r0, [r3] - ldr r1, [r1] - ands r0, r1 - cmp r0, 0 - bne _0818EA3E - lsls r0, r5, 1 - lsls r1, r7, 2 - adds r0, r1 - ldr r2, =0x00000d0c - adds r1, r4, r2 - adds r1, r0 - strh r6, [r1] -_0818EA3E: - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - movs r1, 0x4 - ldrsb r1, [r0, r1] - movs r2, 0x5 - ldrsb r2, [r0, r2] - movs r3, 0x1 - negs r3, r3 - movs r0, 0 - bl saved_warp2_set - ldr r0, =gTrainerBattleOpponent_A - strh r6, [r0] - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_818E9CC - - thumb_func_start sub_818EA84 -sub_818EA84: @ 818EA84 - push {r4-r6,lr} - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r1, =0x00000ca9 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 30 - lsrs r5, r0, 30 - ldr r0, =0x000040ce - bl VarGet - lsls r0, 16 - lsrs r6, r0, 16 - ldr r0, =gSpecialVar_0x8005 - ldrh r0, [r0] - cmp r0, 0x9 - bls _0818EAA8 - b _0818ED10 -_0818EAA8: - lsls r0, 2 - ldr r1, =_0818EAC8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0818EAC8: - .4byte _0818EAF0 - .4byte _0818EB14 - .4byte _0818EB48 - .4byte _0818EB64 - .4byte _0818EB80 - .4byte _0818EB98 - .4byte _0818EBB4 - .4byte _0818EC40 - .4byte _0818ECD0 - .4byte _0818ECF4 -_0818EAF0: - ldr r3, =gSpecialVar_Result - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - lsls r1, r5, 1 - lsls r2, r6, 2 - adds r1, r2 - ldr r2, =0x00000d0c - adds r0, r2 - adds r0, r1 - ldrh r0, [r0] - strh r0, [r3] - b _0818ED10 - .pool -_0818EB14: - ldr r4, =gSpecialVar_Result - ldr r0, =gSaveBlock2Ptr - ldr r2, [r0] - ldr r3, =0x00000cdc - adds r2, r3 - ldr r3, =gUnknown_0860D0EC - lsls r0, r5, 2 - lsls r1, r6, 3 - adds r0, r1 - adds r0, r3 - ldr r1, [r2] - ldr r0, [r0] - ands r1, r0 - negs r0, r1 - orrs r0, r1 - lsrs r0, 31 - strh r0, [r4] - b _0818ED10 - .pool -_0818EB48: - ldr r1, =gSpecialVar_Result - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r2, =0x00000d08 - adds r0, r2 - ldrb r0, [r0] - lsls r0, 31 - b _0818ECBE - .pool -_0818EB64: - ldr r1, =gSpecialVar_Result - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r3, =0x00000d08 - adds r0, r3 - ldrb r0, [r0] - lsls r0, 30 - b _0818ECBE - .pool -_0818EB80: - ldr r1, =gSpecialVar_Result - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r2, =0x00000d08 - adds r0, r2 - b _0818ECBA - .pool -_0818EB98: - ldr r1, =gSpecialVar_Result - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r3, =0x00000d08 - adds r0, r3 - ldrb r0, [r0] - lsls r0, 28 - b _0818ECBE - .pool -_0818EBB4: - ldr r0, =0x000040ce - bl VarGet - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1 - bne _0818EC04 - cmp r5, 0 - beq _0818EBE8 - ldr r1, =gSpecialVar_Result - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r2, =0x00000d08 - adds r0, r2 - ldrb r0, [r0] - lsls r0, 26 - b _0818ECBE - .pool -_0818EBE8: - ldr r1, =gSpecialVar_Result - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r3, =0x00000d08 - adds r0, r3 - ldrb r0, [r0] - lsls r0, 27 - b _0818ECBE - .pool -_0818EC04: - cmp r5, 0 - beq _0818EC24 - ldr r1, =gSpecialVar_Result - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r2, =0x00000d08 - adds r0, r2 - ldrb r0, [r0] - lsls r0, 30 - b _0818ECBE - .pool -_0818EC24: - ldr r1, =gSpecialVar_Result - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r3, =0x00000d08 - adds r0, r3 - ldrb r0, [r0] - lsls r0, 31 - b _0818ECBE - .pool -_0818EC40: - ldr r0, =0x000040ce - bl VarGet - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1 - bne _0818EC90 - cmp r5, 0 - beq _0818EC74 - ldr r1, =gSpecialVar_Result - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r2, =0x00000d08 - adds r0, r2 - ldrb r0, [r0] - lsrs r0, 7 - strh r0, [r1] - b _0818ED10 - .pool -_0818EC74: - ldr r1, =gSpecialVar_Result - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r3, =0x00000d08 - adds r0, r3 - ldrb r0, [r0] - lsls r0, 25 - b _0818ECBE - .pool -_0818EC90: - cmp r5, 0 - beq _0818ECB0 - ldr r1, =gSpecialVar_Result - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r2, =0x00000d08 - adds r0, r2 - ldrb r0, [r0] - lsls r0, 28 - b _0818ECBE - .pool -_0818ECB0: - ldr r1, =gSpecialVar_Result - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r3, =0x00000d08 - adds r0, r3 -_0818ECBA: - ldrb r0, [r0] - lsls r0, 29 -_0818ECBE: - lsrs r0, 31 - strh r0, [r1] - b _0818ED10 - .pool -_0818ECD0: - bl sub_81B8558 - ldr r2, =gUnknown_0203CEF8 - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - movs r1, 0xCB - lsls r1, 4 - adds r0, r1 - ldrh r1, [r0] - strb r1, [r2] - ldrh r0, [r0] - lsrs r0, 8 - strb r0, [r2, 0x1] - b _0818ED10 - .pool -_0818ECF4: - ldr r2, =gSpecialVar_Result - ldr r0, =gSaveBlock2Ptr - ldr r1, [r0] - ldr r3, =0x00000d0a - adds r0, r1, r3 - ldrb r0, [r0] - lsls r0, 1 - adds r3, 0x1 - adds r1, r3 - ldr r3, =0x0000fffd - adds r0, r3 - ldrb r1, [r1] - adds r0, r1 - strh r0, [r2] -_0818ED10: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_818EA84 - - thumb_func_start sub_818ED28 -sub_818ED28: @ 818ED28 - push {r4,r5,lr} - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r1, =0x00000ca9 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 30 - lsrs r4, r0, 30 - ldr r0, =0x000040ce - bl VarGet - lsls r0, 16 - lsrs r5, r0, 16 - ldr r0, =gSpecialVar_0x8005 - ldrh r0, [r0] - cmp r0, 0x8 - bls _0818ED4C - b _0818F01E -_0818ED4C: - lsls r0, 2 - ldr r1, =_0818ED6C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0818ED6C: - .4byte _0818ED90 - .4byte _0818EDB4 - .4byte _0818EE10 - .4byte _0818EE34 - .4byte _0818EE5C - .4byte _0818EE78 - .4byte _0818EEA0 - .4byte _0818EF50 - .4byte _0818F008 -_0818ED90: - ldr r0, =gSaveBlock2Ptr - ldr r2, [r0] - lsls r0, r4, 1 - lsls r1, r5, 2 - adds r0, r1 - ldr r1, =0x00000d0c - adds r2, r1 - adds r2, r0 - ldr r0, =gSpecialVar_0x8006 - ldrh r0, [r0] - strh r0, [r2] - b _0818F01E - .pool -_0818EDB4: - ldr r0, =gSpecialVar_0x8006 - ldrh r0, [r0] - cmp r0, 0 - beq _0818EDE8 - ldr r0, =gSaveBlock2Ptr - ldr r2, [r0] - ldr r0, =0x00000cdc - adds r2, r0 - ldr r3, =gUnknown_0860D0EC - lsls r1, r4, 2 - lsls r0, r5, 3 - adds r1, r0 - adds r1, r3 - ldr r0, [r2] - ldr r1, [r1] - orrs r0, r1 - str r0, [r2] - b _0818F01E - .pool -_0818EDE8: - ldr r0, =gSaveBlock2Ptr - ldr r2, [r0] - ldr r1, =0x00000cdc - adds r2, r1 - ldr r3, =gUnknown_0860D0FC - lsls r1, r4, 2 - lsls r0, r5, 3 - adds r1, r0 - adds r1, r3 - ldr r0, [r2] - ldr r1, [r1] - ands r0, r1 - str r0, [r2] - b _0818F01E - .pool -_0818EE10: - ldr r0, =gSaveBlock2Ptr - ldr r2, [r0] - ldr r0, =gSpecialVar_0x8006 - ldrb r0, [r0] - ldr r1, =0x00000d08 - adds r2, r1 - movs r1, 0x1 - ands r1, r0 - ldrb r3, [r2] - movs r0, 0x2 - negs r0, r0 - b _0818EF74 - .pool -_0818EE34: - ldr r0, =gSaveBlock2Ptr - ldr r3, [r0] - ldr r0, =gSpecialVar_0x8006 - ldrb r0, [r0] - ldr r2, =0x00000d08 - adds r3, r2 - movs r1, 0x1 - ands r1, r0 - lsls r1, 1 - ldrb r2, [r3] - movs r0, 0x3 - negs r0, r0 - b _0818EFF4 - .pool -_0818EE5C: - ldr r0, =gSaveBlock2Ptr - ldr r3, [r0] - ldr r0, =gSpecialVar_0x8006 - ldrb r0, [r0] - ldr r1, =0x00000d08 - adds r3, r1 - b _0818EFE8 - .pool -_0818EE78: - ldr r0, =gSaveBlock2Ptr - ldr r3, [r0] - ldr r0, =gSpecialVar_0x8006 - ldrb r0, [r0] - ldr r2, =0x00000d08 - adds r3, r2 - movs r1, 0x1 - ands r1, r0 - lsls r1, 3 - ldrb r2, [r3] - movs r0, 0x9 - negs r0, r0 - b _0818EFF4 - .pool -_0818EEA0: - ldr r0, =0x000040ce - bl VarGet - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0x1 - bne _0818EF00 - cmp r4, 0 - beq _0818EEDC - ldr r0, =gSaveBlock2Ptr - ldr r3, [r0] - ldr r0, =gSpecialVar_0x8006 - ldrb r0, [r0] - ldr r2, =0x00000d08 - adds r3, r2 - ands r1, r0 - lsls r1, 5 - ldrb r2, [r3] - movs r0, 0x21 - negs r0, r0 - b _0818EFF4 - .pool -_0818EEDC: - ldr r0, =gSaveBlock2Ptr - ldr r3, [r0] - ldr r0, =gSpecialVar_0x8006 - ldrb r0, [r0] - ldr r2, =0x00000d08 - adds r3, r2 - ands r1, r0 - lsls r1, 4 - ldrb r2, [r3] - movs r0, 0x11 - negs r0, r0 - b _0818EFF4 - .pool -_0818EF00: - cmp r4, 0 - beq _0818EF2C - ldr r0, =gSaveBlock2Ptr - ldr r3, [r0] - ldr r0, =gSpecialVar_0x8006 - ldrb r0, [r0] - ldr r1, =0x00000d08 - adds r3, r1 - movs r1, 0x1 - ands r1, r0 - lsls r1, 1 - ldrb r2, [r3] - movs r0, 0x3 - negs r0, r0 - b _0818EFF4 - .pool -_0818EF2C: - ldr r0, =gSaveBlock2Ptr - ldr r2, [r0] - ldr r0, =gSpecialVar_0x8006 - ldrb r0, [r0] - ldr r1, =0x00000d08 - adds r2, r1 - movs r1, 0x1 - ands r1, r0 - ldrb r3, [r2] - movs r0, 0x2 - negs r0, r0 - b _0818EF74 - .pool -_0818EF50: - ldr r0, =0x000040ce - bl VarGet - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0x1 - bne _0818EFB0 - cmp r4, 0 - beq _0818EF8C - ldr r0, =gSaveBlock2Ptr - ldr r2, [r0] - ldr r0, =gSpecialVar_0x8006 - ldrb r1, [r0] - ldr r0, =0x00000d08 - adds r2, r0 - lsls r1, 7 - ldrb r3, [r2] - movs r0, 0x7F -_0818EF74: - ands r0, r3 - orrs r0, r1 - strb r0, [r2] - b _0818F01E - .pool -_0818EF8C: - ldr r0, =gSaveBlock2Ptr - ldr r3, [r0] - ldr r0, =gSpecialVar_0x8006 - ldrb r0, [r0] - ldr r2, =0x00000d08 - adds r3, r2 - ands r1, r0 - lsls r1, 6 - ldrb r2, [r3] - movs r0, 0x41 - negs r0, r0 - b _0818EFF4 - .pool -_0818EFB0: - cmp r4, 0 - beq _0818EFDC - ldr r0, =gSaveBlock2Ptr - ldr r3, [r0] - ldr r0, =gSpecialVar_0x8006 - ldrb r0, [r0] - ldr r1, =0x00000d08 - adds r3, r1 - movs r1, 0x1 - ands r1, r0 - lsls r1, 3 - ldrb r2, [r3] - movs r0, 0x9 - negs r0, r0 - b _0818EFF4 - .pool -_0818EFDC: - ldr r0, =gSaveBlock2Ptr - ldr r3, [r0] - ldr r0, =gSpecialVar_0x8006 - ldrb r0, [r0] - ldr r2, =0x00000d08 - adds r3, r2 -_0818EFE8: - movs r1, 0x1 - ands r1, r0 - lsls r1, 2 - ldrb r2, [r3] - movs r0, 0x5 - negs r0, r0 -_0818EFF4: - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - b _0818F01E - .pool -_0818F008: - ldr r0, =gSaveBlock2Ptr - ldr r2, [r0] - ldr r0, =gUnknown_0203CEF8 - ldrb r1, [r0] - ldrb r0, [r0, 0x1] - lsls r0, 8 - orrs r1, r0 - movs r0, 0xCB - lsls r0, 4 - adds r2, r0 - strh r1, [r2] -_0818F01E: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_818ED28 - - thumb_func_start sub_818F02C -sub_818F02C: @ 818F02C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x3C - movs r0, 0 - str r0, [sp, 0x8] - str r0, [sp, 0xC] - str r0, [sp, 0x10] - movs r0, 0x20 - bl AllocZeroed - str r0, [sp, 0x18] - movs r0, 0x18 - bl AllocZeroed - str r0, [sp, 0x1C] - ldr r4, =gSaveBlock2Ptr - ldr r1, [r4] - ldr r2, =0x00000ca9 - adds r0, r1, r2 - ldrb r0, [r0] - lsls r0, 30 - lsrs r0, 30 - adds r0, 0x1 - ldr r3, =0x00000d0a - adds r1, r3 - strb r0, [r1] - ldr r0, =0x000040ce - bl VarGet - ldr r1, [r4] - adds r0, 0x1 - ldr r5, =0x00000d0b - adds r1, r5 - strb r0, [r1] - ldr r2, [r4] - ldr r7, =0x00000d24 - adds r3, r2, r7 - ldrh r0, [r3] - ldr r5, =0x000003ff - adds r1, r5, 0 - orrs r0, r1 - strh r0, [r3] - ldr r3, =0x00000d25 - adds r2, r3 - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - ldr r1, [r4] - adds r1, r3 - ldrb r2, [r1] - movs r0, 0x19 - negs r0, r0 - ands r0, r2 - strb r0, [r1] - ldr r1, [r4] - adds r1, r3 - ldrb r2, [r1] - movs r0, 0x1F - ands r0, r2 - strb r0, [r1] - movs r7, 0 - mov r10, r7 - mov r8, r4 - ldr r0, =gBattleScripting + 0x14 - mov r9, r0 - movs r4, 0 -_0818F0BA: - mov r1, r8 - ldr r0, [r1] - ldr r2, =0x00000caa - adds r0, r2 - adds r0, r4 - ldrh r0, [r0] - movs r3, 0x64 - muls r0, r3 - add r0, r9 - movs r1, 0xB - movs r2, 0 - bl GetMonData - mov r5, r8 - ldr r1, [r5] - ldr r7, =0x00000d64 - adds r1, r7 - adds r1, r4 - strh r0, [r1] - movs r5, 0 - mov r0, r10 - lsls r7, r0, 4 - adds r6, r7, 0 -_0818F0E8: - mov r1, r8 - ldr r0, [r1] - ldr r2, =0x00000caa - adds r0, r2 - adds r0, r4 - ldrh r0, [r0] - movs r3, 0x64 - muls r0, r3 - add r0, r9 - adds r1, r5, 0 - adds r1, 0xD - movs r2, 0 - bl GetMonData - mov r2, r8 - ldr r1, [r2] - ldr r3, =0x00000efc - adds r1, r3 - adds r1, r6 - strh r0, [r1] - adds r6, 0x2 - adds r5, 0x1 - cmp r5, 0x3 - ble _0818F0E8 - movs r5, 0 - ldr r6, =gSaveBlock2Ptr -_0818F11C: - ldr r0, [r6] - ldr r1, =0x00000caa - adds r0, r1 - adds r0, r4 - ldrh r0, [r0] - movs r2, 0x64 - muls r0, r2 - add r0, r9 - adds r1, r5, 0 - adds r1, 0x1A - movs r2, 0 - bl GetMonData - ldr r1, [r6] - adds r2, r5, r7 - ldr r3, =0x00000f04 - adds r1, r3 - adds r1, r2 - strb r0, [r1] - adds r5, 0x1 - cmp r5, 0x5 - ble _0818F11C - mov r5, r8 - ldr r0, [r5] - ldr r1, =0x00000caa - adds r0, r1 - adds r0, r4 - ldrh r0, [r0] - movs r2, 0x64 - muls r0, r2 - add r0, r9 - bl GetNature - ldr r1, [r5] - adds r1, r7 - ldr r3, =0x00000f0a - adds r1, r3 - strb r0, [r1] - adds r4, 0x2 - movs r5, 0x1 - add r10, r5 - mov r7, r10 - cmp r7, 0x2 - ble _0818F0BA - mov r10, r5 - movs r0, 0x4 - str r0, [sp, 0x34] - movs r1, 0x6 - str r1, [sp, 0x38] -_0818F17E: - mov r2, r10 - cmp r2, 0x5 - ble _0818F22C -_0818F184: - bl sub_81A39C4 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - bl sub_8162548 - lsls r0, 16 - lsrs r4, r0, 16 - movs r5, 0x1 - cmp r5, r10 - bge _0818F1CA - ldr r3, =gSaveBlock2Ptr - ldr r0, [r3] - ldr r7, =0x00000d28 - adds r0, r7 - ldrh r0, [r0] - lsls r0, 22 - lsrs r0, 22 - adds r2, r3, 0 - cmp r0, r4 - beq _0818F1CA - ldr r3, =0x00000d24 -_0818F1B2: - adds r5, 0x1 - cmp r5, r10 - bge _0818F1CA - ldr r0, [r2] - lsls r1, r5, 2 - adds r0, r1 - adds r0, r3 - ldrh r0, [r0] - lsls r0, 22 - lsrs r0, 22 - cmp r0, r4 - bne _0818F1B2 -_0818F1CA: - cmp r5, r10 - bne _0818F184 - ldr r0, =gSaveBlock2Ptr - ldr r3, [r0] - ldr r1, [sp, 0x34] - adds r3, r1 - ldr r2, =0x00000d24 - adds r3, r2 - ldr r5, =0x000003ff - adds r0, r5, 0 - adds r2, r4, 0 - ands r2, r0 - ldrh r0, [r3] - ldr r7, =0xfffffc00 - adds r1, r7, 0 - b _0818F292 - .pool -_0818F22C: - bl sub_81A39C4 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - bl sub_8162548 - lsls r0, 16 - lsrs r4, r0, 16 - movs r5, 0x1 - cmp r5, r10 - bge _0818F274 - ldr r1, =gSaveBlock2Ptr - ldr r0, [r1] - ldr r2, =0x00000d28 - adds r0, r2 - ldrh r0, [r0] - lsls r0, 22 - lsrs r0, 22 - adds r2, r1, 0 - cmp r0, r4 - beq _0818F274 - ldr r3, =0x00000d24 -_0818F25C: - adds r5, 0x1 - cmp r5, r10 - bge _0818F274 - ldr r0, [r2] - lsls r1, r5, 2 - adds r0, r1 - adds r0, r3 - ldrh r0, [r0] - lsls r0, 22 - lsrs r0, 22 - cmp r0, r4 - bne _0818F25C -_0818F274: - cmp r5, r10 - bne _0818F22C - ldr r5, =gSaveBlock2Ptr - ldr r3, [r5] - ldr r7, [sp, 0x34] - adds r3, r7 - ldr r0, =0x00000d24 - adds r3, r0 - ldr r1, =0x000003ff - adds r0, r1, 0 - adds r2, r4, 0 - ands r2, r0 - ldrh r0, [r3] - ldr r5, =0xfffffc00 - adds r1, r5, 0 -_0818F292: - ands r0, r1 - orrs r0, r2 - strh r0, [r3] - movs r5, 0 - lsls r4, 16 - str r4, [sp, 0x2C] - ldr r7, [sp, 0x38] - str r7, [sp, 0x20] -_0818F2A2: - lsls r0, r5, 1 - mov r9, r0 - adds r1, r5, 0x1 - str r1, [sp, 0x24] - lsls r2, r5, 2 - str r2, [sp, 0x28] -_0818F2AE: - ldr r3, [sp, 0x2C] - lsrs r0, r3, 16 - bl sub_8163524 - lsls r0, 16 - lsrs r6, r0, 16 - movs r7, 0 - cmp r7, r5 - bge _0818F300 - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r1, [sp, 0x8] - mov r8, r1 - ldr r2, [sp, 0xC] - mov r12, r2 - ldr r3, =0x00000d64 - adds r0, r3 - ldr r1, [sp, 0x20] - adds r4, r1, r0 -_0818F2D4: - ldrh r3, [r4] - cmp r3, r6 - beq _0818F300 - ldr r2, =gUnknown_0203BC8C - ldr r1, [r2] - lsls r0, r6, 4 - adds r2, r0, r1 - ldrh r0, [r2] - cmp r8, r0 - beq _0818F300 - cmp r12, r0 - beq _0818F300 - lsls r0, r3, 4 - adds r0, r1 - ldrb r0, [r0, 0xA] - ldrb r2, [r2, 0xA] - cmp r0, r2 - beq _0818F300 - adds r4, 0x2 - adds r7, 0x1 - cmp r7, r5 - blt _0818F2D4 -_0818F300: - cmp r7, r5 - bne _0818F2AE - ldr r3, =gSaveBlock2Ptr - ldr r0, [r3] - ldr r1, [sp, 0x38] - add r1, r9 - ldr r5, =0x00000d64 - adds r0, r5 - adds r0, r1 - strh r6, [r0] - ldr r2, [sp, 0x28] - add r2, sp - adds r2, 0x8 - ldr r0, =gUnknown_0203BC8C - ldr r1, [r0] - lsls r0, r6, 4 - adds r0, r1 - ldrh r0, [r0] - str r0, [r2] - ldr r5, [sp, 0x24] - cmp r5, 0x2 - ble _0818F2A2 - ldr r2, [r3] - ldr r7, [sp, 0x34] - adds r2, r7 - ldr r0, =0x00000d25 - adds r2, r0 - ldrb r0, [r2] - movs r3, 0x5 - negs r3, r3 - adds r1, r3, 0 - ands r0, r1 - strb r0, [r2] - ldr r5, =gSaveBlock2Ptr - ldr r2, [r5] - adds r2, r7 - ldr r7, =0x00000d25 - adds r2, r7 - ldrb r0, [r2] - subs r3, 0x14 - adds r1, r3, 0 - ands r0, r1 - strb r0, [r2] - ldr r1, [r5] - ldr r5, [sp, 0x34] - adds r1, r5 - adds r1, r7 - ldrb r2, [r1] - movs r0, 0x1F - ands r0, r2 - strb r0, [r1] - adds r5, 0x4 - str r5, [sp, 0x34] - ldr r7, [sp, 0x38] - adds r7, 0x6 - str r7, [sp, 0x38] - movs r0, 0x1 - add r10, r0 - mov r1, r10 - cmp r1, 0xF - bgt _0818F37C - b _0818F17E -_0818F37C: - movs r7, 0 - ldr r2, [sp, 0x18] - strh r7, [r2] - movs r3, 0 - mov r10, r3 - ldr r6, =gBitTable - ldr r5, =gBaseStats -_0818F38A: - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - mov r2, r10 - lsls r1, r2, 1 - ldr r3, =0x00000caa - adds r0, r3 - adds r0, r1 - ldrh r0, [r0] - subs r4, r0, 0x1 - movs r0, 0x64 - muls r4, r0 - ldr r0, =gPlayerParty - adds r4, r0 - adds r0, r4, 0 - movs r1, 0x3B - movs r2, 0 - bl GetMonData - ldr r2, [sp, 0x18] - ldrh r1, [r2] - adds r1, r0 - strh r1, [r2] - adds r0, r4, 0 - movs r1, 0x3C - movs r2, 0 - bl GetMonData - ldr r3, [sp, 0x18] - ldrh r1, [r3] - adds r1, r0 - strh r1, [r3] - adds r0, r4, 0 - movs r1, 0x3E - movs r2, 0 - bl GetMonData - ldr r2, [sp, 0x18] - ldrh r1, [r2] - adds r1, r0 - strh r1, [r2] - adds r0, r4, 0 - movs r1, 0x3F - movs r2, 0 - bl GetMonData - ldr r3, [sp, 0x18] - ldrh r1, [r3] - adds r1, r0 - strh r1, [r3] - adds r0, r4, 0 - movs r1, 0x3D - movs r2, 0 - bl GetMonData - ldr r2, [sp, 0x18] - ldrh r1, [r2] - adds r1, r0 - strh r1, [r2] - adds r0, r4, 0 - movs r1, 0x3A - movs r2, 0 - bl GetMonData - ldr r3, [sp, 0x18] - ldrh r1, [r3] - adds r1, r0 - strh r1, [r3] - adds r0, r4, 0 - movs r1, 0xB - movs r2, 0 - bl GetMonData - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - adds r1, r5 - ldrb r0, [r1, 0x6] - lsls r0, 2 - adds r0, r6 - ldr r0, [r0] - orrs r7, r0 - adds r0, r4, 0 - movs r1, 0xB - movs r2, 0 - bl GetMonData - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - adds r1, r5 - ldrb r0, [r1, 0x7] - lsls r0, 2 - adds r0, r6 - ldr r0, [r0] - orrs r7, r0 - movs r0, 0x1 - add r10, r0 - mov r1, r10 - cmp r1, 0x2 - ble _0818F38A - movs r4, 0 - movs r1, 0x1 - movs r5, 0x1F -_0818F458: - adds r0, r7, 0 - ands r0, r1 - cmp r0, 0 - beq _0818F462 - adds r4, 0x1 -_0818F462: - asrs r7, 1 - subs r5, 0x1 - cmp r5, 0 - bge _0818F458 - bl sub_8165C40 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x14] - adds r2, r0, 0 - adds r0, r4, 0 - muls r0, r2 - movs r1, 0x14 - bl __divsi3 - ldr r3, [sp, 0x18] - ldrh r1, [r3] - adds r1, r0 - strh r1, [r3] - movs r5, 0x1 - mov r10, r5 - adds r6, r3, 0 - adds r6, 0x2 - movs r7, 0x2 - str r7, [sp, 0x30] -_0818F494: - movs r7, 0 - strh r7, [r6] - ldr r1, =gSaveBlock2Ptr - ldr r0, [r1] - mov r2, r10 - lsls r1, r2, 2 - adds r0, r1 - ldr r3, =0x00000d24 - adds r0, r3 - ldrh r0, [r0] - lsls r0, 22 - lsrs r0, 22 - bl sub_8190168 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - movs r5, 0 - ldr r0, [sp, 0x30] - mov r9, r0 -_0818F4BC: - ldr r1, =gSaveBlock2Ptr - ldr r0, [r1] - mov r4, r9 - add r4, r10 - adds r4, r5 - lsls r4, 1 - ldr r2, =0x00000d64 - adds r0, r2 - adds r0, r4 - ldrh r1, [r0] - ldr r3, =gUnknown_0203BC8C - ldr r0, [r3] - lsls r1, 4 - adds r1, r0 - ldrh r0, [r1] - ldrb r3, [r1, 0xB] - ldrb r1, [r1, 0xC] - str r1, [sp] - ldr r1, [sp, 0x1C] - str r1, [sp, 0x4] - ldr r1, [sp, 0x14] - mov r2, r8 - bl sub_818F720 - ldr r2, [sp, 0x1C] - ldr r1, [r2, 0x4] - ldrh r0, [r6] - adds r0, r1 - ldr r1, [r2, 0x8] - adds r0, r1 - ldr r1, [r2, 0x10] - adds r0, r1 - ldr r1, [r2, 0x14] - adds r0, r1 - ldr r1, [r2, 0xC] - adds r0, r1 - ldr r1, [r2] - adds r0, r1 - strh r0, [r6] - ldr r3, =gSaveBlock2Ptr - ldr r0, [r3] - ldr r1, =0x00000d64 - adds r0, r1 - adds r0, r4 - ldrh r0, [r0] - ldr r2, =gUnknown_0203BC8C - ldr r1, [r2] - lsls r0, 4 - adds r0, r1 - ldrh r0, [r0] - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - ldr r3, =gBaseStats - adds r1, r3 - ldrb r0, [r1, 0x6] - lsls r0, 2 - ldr r2, =gBitTable - adds r0, r2 - ldr r0, [r0] - orrs r7, r0 - ldrb r0, [r1, 0x7] - lsls r0, 2 - adds r0, r2 - ldr r0, [r0] - orrs r7, r0 - adds r5, 0x1 - cmp r5, 0x2 - ble _0818F4BC - movs r4, 0 - movs r1, 0x1 - movs r5, 0x1F -_0818F54C: - adds r0, r7, 0 - ands r0, r1 - cmp r0, 0 - beq _0818F556 - adds r4, 0x1 -_0818F556: - asrs r7, 1 - subs r5, 0x1 - cmp r5, 0 - bge _0818F54C - ldr r3, [sp, 0x14] - adds r0, r4, 0 - muls r0, r3 - movs r1, 0x14 - bl __divsi3 - ldrh r1, [r6] - adds r1, r0 - strh r1, [r6] - adds r6, 0x2 - ldr r5, [sp, 0x30] - adds r5, 0x2 - str r5, [sp, 0x30] - movs r7, 0x1 - add r10, r7 - mov r0, r10 - cmp r0, 0xF - ble _0818F494 - movs r1, 0 - mov r10, r1 - ldr r2, =0x000003ff - mov r8, r2 -_0818F58A: - mov r5, r10 - adds r5, 0x1 - adds r7, r5, 0 - cmp r5, 0xF - bgt _0818F626 - mov r3, r10 - lsls r0, r3, 1 - ldr r1, [sp, 0x18] - adds r6, r0, r1 - lsls r0, r5, 1 - adds r4, r0, r1 -_0818F5A0: - ldrh r1, [r6] - ldrh r0, [r4] - cmp r1, r0 - bcc _0818F5C2 - cmp r1, r0 - bne _0818F61E - ldr r0, =gSaveBlock2Ptr - ldr r1, [r0] - lsls r0, r5, 2 - adds r0, r1, r0 - ldr r2, =0x00000d24 - adds r0, r2 - ldrh r0, [r0] - lsls r2, r0, 22 - lsrs r0, r2, 22 - cmp r0, r8 - bne _0818F602 -_0818F5C2: - mov r0, r10 - adds r1, r5, 0 - ldr r2, [sp, 0x18] - bl sub_818F904 - b _0818F600 - .pool -_0818F600: - b _0818F61E -_0818F602: - mov r3, r10 - lsls r0, r3, 2 - adds r0, r1, r0 - ldr r1, =0x00000d24 - adds r0, r1 - ldrh r0, [r0] - lsls r0, 22 - cmp r0, r2 - bls _0818F61E - mov r0, r10 - adds r1, r5, 0 - ldr r2, [sp, 0x18] - bl sub_818F904 -_0818F61E: - adds r4, 0x2 - adds r5, 0x1 - cmp r5, 0xF - ble _0818F5A0 -_0818F626: - mov r10, r7 - mov r2, r10 - cmp r2, 0xE - ble _0818F58A - bl sub_81A3610 - lsls r0, 24 - cmp r0, 0 - beq _0818F6EE - movs r3, 0 - mov r10, r3 - ldr r0, =gSaveBlock2Ptr - ldr r1, [r0] - ldr r4, =0x00000d24 - adds r1, r4 - ldrh r1, [r1] - lsls r1, 22 - lsrs r1, 22 - ldr r3, =0x000003ff - adds r2, r0, 0 - ldr r6, =gUnknown_0860D3F1 - cmp r1, r3 - beq _0818F674 - adds r5, r2, 0 -_0818F656: - movs r7, 0x1 - add r10, r7 - mov r0, r10 - cmp r0, 0xF - bgt _0818F674 - ldr r0, [r5] - mov r7, r10 - lsls r1, r7, 2 - adds r0, r1 - adds r0, r4 - ldrh r0, [r0] - lsls r0, 22 - lsrs r0, 22 - cmp r0, r3 - bne _0818F656 -_0818F674: - mov r1, r10 - lsls r0, r1, 1 - adds r0, r6 - ldrb r0, [r0] - cmp r0, 0 - beq _0818F6AC - movs r5, 0 - ldr r2, [r2] - ldr r3, =0x00000d24 - adds r2, r3 - ldrh r1, [r2] - ldr r0, =0xfffffc00 - ands r0, r1 - ldr r7, =0x000003fe - adds r1, r7, 0 - b _0818F6BE - .pool -_0818F6AC: - movs r5, 0x1 - ldr r2, [r2] - ldr r0, =0x00000d28 - adds r2, r0 - ldrh r1, [r2] - ldr r0, =0xfffffc00 - ands r0, r1 - ldr r3, =0x000003fe - adds r1, r3, 0 -_0818F6BE: - orrs r0, r1 - strh r0, [r2] - movs r7, 0 - mov r10, r7 - lsls r0, r5, 1 - adds r0, r5 - lsls r4, r0, 1 -_0818F6CC: - mov r1, r10 - lsls r0, r1, 24 - lsrs r0, 24 - bl sub_81A4FF0 - ldr r1, =gSaveBlock2Ptr - ldr r1, [r1] - ldr r2, =0x00000d64 - adds r1, r2 - adds r1, r4 - strh r0, [r1] - adds r4, 0x2 - movs r3, 0x1 - add r10, r3 - mov r5, r10 - cmp r5, 0x2 - ble _0818F6CC -_0818F6EE: - ldr r0, [sp, 0x18] - bl Free - ldr r0, [sp, 0x1C] - bl Free - add sp, 0x3C - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_818F02C - - thumb_func_start sub_818F720 -sub_818F720: @ 818F720 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x1C - adds r7, r1, 0 - mov r9, r2 - ldr r1, [sp, 0x3C] - ldr r2, [sp, 0x40] - mov r8, r2 - lsls r0, 16 - lsrs r6, r0, 16 - lsls r3, 24 - lsrs r5, r3, 24 - lsls r1, 24 - lsrs r1, 24 - str r1, [sp, 0x18] - movs r1, 0 - adds r4, r5, 0 - movs r3, 0x1 - movs r2, 0x5 -_0818F74C: - adds r0, r4, 0 - ands r0, r3 - cmp r0, 0 - beq _0818F756 - adds r1, 0x1 -_0818F756: - lsrs r4, 1 - subs r2, 0x1 - cmp r2, 0 - bge _0818F74C - movs r0, 0xFF - lsls r0, 1 - bl __divsi3 - lsls r0, 16 - lsrs r3, r0, 16 - lsls r0, r6, 3 - mov r10, r0 - movs r1, 0 - mov r12, r1 - mov r1, sp - movs r2, 0x5 -_0818F776: - mov r0, r12 - str r0, [r1] - adds r0, r5, 0 - ands r0, r4 - cmp r0, 0 - beq _0818F784 - str r3, [r1] -_0818F784: - lsls r0, r4, 25 - lsrs r4, r0, 24 - adds r1, 0x4 - subs r2, 0x1 - cmp r2, 0 - bge _0818F776 - ldr r0, =0x0000012f - cmp r6, r0 - bne _0818F7A0 - movs r0, 0x1 - b _0818F7CA - .pool -_0818F7A0: - mov r2, r10 - subs r0, r2, r6 - lsls r0, 2 - ldr r1, =gBaseStats - adds r0, r1 - ldrb r0, [r0] - lsls r0, 1 - mov r2, r9 - adds r1, r0, r2 - ldr r0, [sp] - cmp r0, 0 - bge _0818F7BA - adds r0, 0x3 -_0818F7BA: - asrs r0, 2 - adds r0, r1, r0 - muls r0, r7 - movs r1, 0x64 - bl __divsi3 - adds r0, r7 - adds r0, 0xA -_0818F7CA: - mov r1, r8 - str r0, [r1] - mov r2, r10 - subs r0, r2, r6 - lsls r0, 2 - ldr r1, =gBaseStats - adds r4, r0, r1 - ldrb r0, [r4, 0x1] - lsls r0, 1 - mov r2, r9 - adds r1, r0, r2 - ldr r0, [sp, 0x4] - cmp r0, 0 - bge _0818F7E8 - adds r0, 0x3 -_0818F7E8: - asrs r0, 2 - adds r0, r1, r0 - muls r0, r7 - movs r1, 0x64 - bl __divsi3 - adds r1, r0, 0 - adds r1, 0x5 - mov r0, r8 - str r1, [r0, 0x4] - lsls r1, 16 - lsrs r1, 16 - ldr r0, [sp, 0x18] - movs r2, 0x1 - bl ModifyStatByNature - lsls r0, 24 - lsrs r0, 24 - mov r1, r8 - str r0, [r1, 0x4] - ldrb r0, [r4, 0x2] - lsls r0, 1 - mov r2, r9 - adds r1, r0, r2 - ldr r0, [sp, 0x8] - cmp r0, 0 - bge _0818F820 - adds r0, 0x3 -_0818F820: - asrs r0, 2 - adds r0, r1, r0 - muls r0, r7 - movs r1, 0x64 - bl __divsi3 - adds r1, r0, 0 - adds r1, 0x5 - mov r0, r8 - str r1, [r0, 0x8] - lsls r1, 16 - lsrs r1, 16 - ldr r0, [sp, 0x18] - movs r2, 0x2 - bl ModifyStatByNature - lsls r0, 24 - lsrs r0, 24 - mov r1, r8 - str r0, [r1, 0x8] - ldrb r0, [r4, 0x3] - lsls r0, 1 - mov r2, r9 - adds r1, r0, r2 - ldr r0, [sp, 0xC] - cmp r0, 0 - bge _0818F858 - adds r0, 0x3 -_0818F858: - asrs r0, 2 - adds r0, r1, r0 - muls r0, r7 - movs r1, 0x64 - bl __divsi3 - adds r1, r0, 0 - adds r1, 0x5 - mov r0, r8 - str r1, [r0, 0xC] - lsls r1, 16 - lsrs r1, 16 - ldr r0, [sp, 0x18] - movs r2, 0x3 - bl ModifyStatByNature - lsls r0, 24 - lsrs r0, 24 - mov r1, r8 - str r0, [r1, 0xC] - ldrb r0, [r4, 0x4] - lsls r0, 1 - mov r2, r9 - adds r1, r0, r2 - ldr r0, [sp, 0x10] - cmp r0, 0 - bge _0818F890 - adds r0, 0x3 -_0818F890: - asrs r0, 2 - adds r0, r1, r0 - muls r0, r7 - movs r1, 0x64 - bl __divsi3 - adds r1, r0, 0 - adds r1, 0x5 - mov r0, r8 - str r1, [r0, 0x10] - lsls r1, 16 - lsrs r1, 16 - ldr r0, [sp, 0x18] - movs r2, 0x4 - bl ModifyStatByNature - lsls r0, 24 - lsrs r0, 24 - mov r1, r8 - str r0, [r1, 0x10] - ldrb r0, [r4, 0x5] - lsls r0, 1 - mov r1, r9 - adds r2, r0, r1 - ldr r0, [sp, 0x14] - cmp r0, 0 - bge _0818F8C8 - adds r0, 0x3 -_0818F8C8: - asrs r0, 2 - adds r0, r2, r0 - muls r0, r7 - movs r1, 0x64 - bl __divsi3 - adds r1, r0, 0 - adds r1, 0x5 - mov r2, r8 - str r1, [r2, 0x14] - lsls r1, 16 - lsrs r1, 16 - ldr r0, [sp, 0x18] - movs r2, 0x5 - bl ModifyStatByNature - lsls r0, 24 - lsrs r0, 24 - mov r1, r8 - str r0, [r1, 0x14] - add sp, 0x1C - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_818F720 - - thumb_func_start sub_818F904 -sub_818F904: @ 818F904 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r3, r0, 1 - mov r12, r3 - adds r4, r3, r2 - ldrh r5, [r4] - lsls r7, r1, 1 - mov r9, r7 - add r2, r9 - ldrh r3, [r2] - strh r3, [r4] - strh r5, [r2] - ldr r2, =gSaveBlock2Ptr - ldr r5, [r2] - lsls r6, r0, 2 - adds r6, r5, r6 - ldr r3, =0x00000d24 - adds r6, r3 - ldrh r7, [r6] - mov r10, r7 - mov r2, r10 - lsls r2, 22 - mov r8, r2 - lsls r2, r1, 2 - adds r5, r2 - adds r5, r3 - ldrh r4, [r5] - lsls r4, 22 - lsrs r4, 22 - ldr r3, =0xfffffc00 - adds r2, r3, 0 - mov r7, r10 - ands r2, r7 - orrs r2, r4 - strh r2, [r6] - mov r2, r8 - lsrs r2, 22 - mov r8, r2 - ldrh r2, [r5] - ands r3, r2 - mov r7, r8 - orrs r3, r7 - strh r3, [r5] - ldr r2, =gSaveBlock2Ptr - mov r8, r2 - add r12, r0 - add r9, r1 - mov r3, r9 - lsls r4, r3, 1 - mov r7, r12 - lsls r3, r7, 1 - ldr r7, =0x00000d64 - movs r6, 0x2 -_0818F974: - mov r1, r8 - ldr r0, [r1] - adds r0, r7 - adds r2, r0, r3 - ldrh r5, [r2] - adds r0, r4 - ldrh r1, [r0] - strh r1, [r2] - strh r5, [r0] - adds r4, 0x2 - adds r3, 0x2 - subs r6, 0x1 - cmp r6, 0 - bge _0818F974 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_818F904 thumb_func_start sub_818F9B0 sub_818F9B0: @ 818F9B0 diff --git a/include/global.h b/include/global.h index 1a179d8586..0d2167c475 100644 --- a/include/global.h +++ b/include/global.h @@ -330,6 +330,21 @@ struct EmeraldBattleTowerRecord /*0xE8*/ u32 checksum; }; +struct FrontierMonData +{ + u16 moves[4]; + u8 evs[6]; + u8 nature; +}; + +struct FrontierUnkStruct1 +{ + u16 unk0:10; + u16 unk1:1; + u16 unk2:2; + u16 unk3:3; +}; + struct BattleFrontier { /*0x64C*/ struct EmeraldBattleTowerRecord battleTower; @@ -352,9 +367,11 @@ struct BattleFrontier /*0xCA9*/ u8 field_CA9_d:1; // 0x20 /*0xCA9*/ u8 field_CA9_e:1; // 0x40 /*0xCA9*/ u8 field_CA9_f:1; // 0x80 - /*0xCAA*/ u16 field_CAA[4]; + /*0xCAA*/ u16 field_CAA[3]; + /*0xCB0*/ u16 field_CB0; /*0xCB2*/ u16 field_CB2; - /*0xCB4*/ u16 field_CB4[22]; + /*0xCB4*/ u16 field_CB4[20]; + /*0xCDC*/ u32 field_CDC; /*0xCE0*/ u16 field_CE0[4][2]; /*0xCF0*/ u16 field_CF0[2]; /*0xCF4*/ u16 field_CF4[2]; @@ -362,17 +379,33 @@ struct BattleFrontier /*0xCFC*/ u16 field_CFC[5]; /*0xD06*/ u8 field_D06; /*0xD07*/ u8 field_D07; - /*0xD08*/ u8 filler_D08; + /*0xD08*/ u8 field_D08_0:1; + /*0xD08*/ u8 field_D08_1:1; + /*0xD08*/ u8 field_D08_2:1; + /*0xD08*/ u8 field_D08_3:1; + /*0xD08*/ u8 field_D08_4:1; + /*0xD08*/ u8 field_D08_5:1; + /*0xD08*/ u8 field_D08_6:1; + /*0xD08*/ u8 field_D08_7:1; /*0xD09*/ u8 filler_D09; - /*0xD0A*/ u8 filler_D0A; - /*0xD0B*/ u8 filler_D0B; - /*0xD0C*/ u16 field_D0C[2]; - /*0xD10*/ u8 filler_D10; - /*0xD11*/ u8 filler_D11; - /*0xD12*/ u8 filler_D12; - /*0xD13*/ u8 filler_D13; + /*0xD0A*/ u8 field_D0A; + /*0xD0B*/ u8 field_D0B; + /*0xD0C*/ u16 field_D0C[2][2]; /*0xD14*/ u16 field_D14[2]; - /*0xD18*/ u8 field_D18[0xB0]; + /*0xD18*/ u8 field_D18; + /*0xD19*/ u8 field_D19; + /*0xD1A*/ u8 field_D1A; + /*0xD1B*/ u8 field_D1B; + /*0xD1C*/ u8 field_D1C; + /*0xD1D*/ u8 field_D1D; + /*0xD1E*/ u8 field_D1E; + /*0xD1F*/ u8 field_D1F; + /*0xD20*/ u8 field_D20; + /*0xD21*/ u8 field_D21; + /*0xD22*/ u8 field_D22; + /*0xD23*/ u8 field_D23; + /*0xD24*/ struct FrontierUnkStruct1 field_D24[16]; + /*0xD64*/ u16 field_D64[16][3]; /*0xDC8*/ u16 field_DC8[2]; /*0xDCC*/ u8 filler_DCC[4]; /*0xDD0*/ u16 field_DD0[2]; @@ -409,7 +442,10 @@ struct BattleFrontier /*0xEBA*/ u8 field_EBA[39]; /*0xEE1*/ u8 field_EE1[2][PLAYER_NAME_LENGTH]; /*0xEF1*/ u8 field_EF1[2][4]; - /*0xEF9*/ u8 field_EF9[51]; + /*0xEF9*/ u8 field_EF9; + /*0xEFA*/ u8 field_EFA; + /*0xEFB*/ u8 field_EFB; + /*0xEFC*/ struct FrontierMonData field_EFC[3]; }; struct SaveBlock2 diff --git a/ld_script.txt b/ld_script.txt index 5f9d356173..0ee9c61c29 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -242,6 +242,7 @@ SECTIONS { src/battle_controller_recorded_player.o(.text); src/battle_dome_cards.o(.text); src/lilycove_lady.o(.text); + src/battle_frontier_1.o(.text); asm/battle_frontier_1.o(.text); src/menu.o(.text); asm/battle_frontier_2.o(.text); @@ -521,6 +522,7 @@ SECTIONS { src/battle_controller_recorded_player.o(.rodata); src/battle_dome_cards.o(.rodata); src/lilycove_lady.o(.rodata); + src/battle_frontier_1.o(.rodata); data/battle_frontier_1.o(.rodata); src/menu.o(.rodata); data/battle_frontier_2.o(.rodata); diff --git a/src/battle_frontier_1.c b/src/battle_frontier_1.c new file mode 100644 index 0000000000..b84e919732 --- /dev/null +++ b/src/battle_frontier_1.c @@ -0,0 +1,1235 @@ +#include "global.h" +#include "battle.h" +#include "battle_setup.h" +#include "battle_frontier_1.h" +#include "event_data.h" +#include "overworld.h" +#include "util.h" +#include "malloc.h" +#include "constants/species.h" + +struct Unknown_0203BC8C_Struct +{ + u16 field_0; + u8 field_2; + u8 field_3; + u8 field_4; + u8 field_5; + u8 field_6; + u8 field_7; + u8 field_8; + u8 field_9; + u8 field_A; + u8 field_B; + u8 field_C; + u8 field_D; + u8 field_E; +}; + +extern struct Unknown_0203BC8C_Struct *gUnknown_0203BC8C; + +extern void sub_81B8558(void); +extern u32 sub_81A39C4(void); +extern u16 sub_8162548(u8, u8); +extern u16 sub_8163524(u16); +extern u8 sub_8165C40(void); + +extern u8 gUnknown_0203CEF8[]; + +extern void (* const gUnknown_0860D090[])(void); +extern const u32 gUnknown_0860D0EC[][2]; +extern const u32 gUnknown_0860D0FC[][2]; + +// This file's functions. +u8 sub_8190168(u16); +void sub_818F720(u16 species, s32 level, s32 ivs, u8 evBits, u8 nature, s32 *stats); + +// code +void sub_818E9AC(void) +{ + gUnknown_0860D090[gSpecialVar_0x8004](); +} + +void sub_818E9CC(void) +{ + u32 lvlMode = gSaveBlock2Ptr->frontier.chosenLvl; + u32 id = VarGet(VAR_0x40CE); + + gSaveBlock2Ptr->frontier.field_CA8 = 0; + gSaveBlock2Ptr->frontier.field_CB2 = 0; + gSaveBlock2Ptr->frontier.field_CA9_a = 0; + gSaveBlock2Ptr->frontier.field_CA9_b = 0; + if (!(gSaveBlock2Ptr->frontier.field_CDC & gUnknown_0860D0EC[id][lvlMode])) + gSaveBlock2Ptr->frontier.field_D0C[id][lvlMode] = 0; + + saved_warp2_set(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1); + gTrainerBattleOpponent_A = 0; +} + +void sub_818EA84(void) +{ + u32 lvlMode = gSaveBlock2Ptr->frontier.chosenLvl; + u32 id = VarGet(VAR_0x40CE); + + switch (gSpecialVar_0x8005) + { + case 0: + gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_D0C[id][lvlMode]; + break; + case 1: + gSpecialVar_Result = ((gSaveBlock2Ptr->frontier.field_CDC & gUnknown_0860D0EC[id][lvlMode]) != 0); + break; + case 2: + gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_D08_0; + break; + case 3: + gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_D08_1; + break; + case 4: + gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_D08_2; + break; + case 5: + gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_D08_3; + break; + case 6: + if (VarGet(VAR_0x40CE) == 1) + { + if (lvlMode) + gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_D08_5; + else + gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_D08_4; + } + else + { + if (lvlMode) + gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_D08_1; + else + gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_D08_0; + } + break; + case 7: + if (VarGet(VAR_0x40CE) == 1) + { + if (lvlMode) + gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_D08_7; + else + gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_D08_6; + } + else + { + if (lvlMode) + gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_D08_3; + else + gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_D08_2; + } + break; + case 8: + sub_81B8558(); + gUnknown_0203CEF8[0] = gSaveBlock2Ptr->frontier.field_CB0; + gUnknown_0203CEF8[1] = gSaveBlock2Ptr->frontier.field_CB0 >> 8; + break; + case 9: + gSpecialVar_Result = (gSaveBlock2Ptr->frontier.field_D0A * 2) - 3 + gSaveBlock2Ptr->frontier.field_D0B; + break; + } +} + +void sub_818ED28(void) +{ + u32 lvlMode = gSaveBlock2Ptr->frontier.chosenLvl; + u32 id = VarGet(VAR_0x40CE); + + switch (gSpecialVar_0x8005) + { + case 0: + gSaveBlock2Ptr->frontier.field_D0C[id][lvlMode] = gSpecialVar_0x8006; + break; + case 1: + if (gSpecialVar_0x8006) + gSaveBlock2Ptr->frontier.field_CDC |= gUnknown_0860D0EC[id][lvlMode]; + else + gSaveBlock2Ptr->frontier.field_CDC &= gUnknown_0860D0FC[id][lvlMode]; + break; + case 2: + gSaveBlock2Ptr->frontier.field_D08_0 = gSpecialVar_0x8006; + break; + case 3: + gSaveBlock2Ptr->frontier.field_D08_1 = gSpecialVar_0x8006; + break; + case 4: + gSaveBlock2Ptr->frontier.field_D08_2 = gSpecialVar_0x8006; + break; + case 5: + gSaveBlock2Ptr->frontier.field_D08_3 = gSpecialVar_0x8006; + break; + case 6: + if (VarGet(VAR_0x40CE) == 1) + { + if (lvlMode) + gSaveBlock2Ptr->frontier.field_D08_5 = gSpecialVar_0x8006; + else + gSaveBlock2Ptr->frontier.field_D08_4 = gSpecialVar_0x8006; + } + else + { + if (lvlMode) + gSaveBlock2Ptr->frontier.field_D08_1 = gSpecialVar_0x8006; + else + gSaveBlock2Ptr->frontier.field_D08_0 = gSpecialVar_0x8006; + } + break; + case 7: + if (VarGet(VAR_0x40CE) == 1) + { + if (lvlMode) + gSaveBlock2Ptr->frontier.field_D08_7 = gSpecialVar_0x8006; + else + gSaveBlock2Ptr->frontier.field_D08_6 = gSpecialVar_0x8006; + } + else + { + if (lvlMode) + gSaveBlock2Ptr->frontier.field_D08_3 = gSpecialVar_0x8006; + else + gSaveBlock2Ptr->frontier.field_D08_2 = gSpecialVar_0x8006; + } + break; + case 8: + gSaveBlock2Ptr->frontier.field_CB0 = T1_READ_16(gUnknown_0203CEF8); + break; + } +} + +#ifdef NONMATCHING +// Not even close, this function is insane. +void sub_818F02C(void) +{ + s32 i, j, k, l; + u32 array[16]; + u32 var_28; + u32 var_24; + s32 var_38; + s32 monTypesBits, monTypesCount; + u32 var_54 = 0; + u32 var_50 = 0; + u32 var_4C = 0; + u32 *var_40 = AllocZeroed(0x20); + u16 *var_44 = AllocZeroed(0x18); + u32 var_48; + + gSaveBlock2Ptr->frontier.field_D0A = gSaveBlock2Ptr->frontier.chosenLvl + 1; + gSaveBlock2Ptr->frontier.field_D0B = VarGet(VAR_0x40CE) + 1; + gSaveBlock2Ptr->frontier.field_D24[0].unk0 = 0x3FF; + gSaveBlock2Ptr->frontier.field_D24[0].unk1 = 0; + gSaveBlock2Ptr->frontier.field_D24[0].unk2 = 0; + gSaveBlock2Ptr->frontier.field_D24[0].unk3 = 0; + + for (i = 0; i < 3; i++) + { + gSaveBlock2Ptr->frontier.field_D64[i] = GetMonData(&gPlayerParty[gSaveBlock2Ptr->frontier.field_CAA[i] - 1], MON_DATA_SPECIES, NULL); + for (j = 0; j < 4; j++) + gSaveBlock2Ptr->frontier.field_EFC[i].moves[j] = GetMonData(&gPlayerParty[gSaveBlock2Ptr->frontier.field_CAA[i] - 1], MON_DATA_MOVE1 + j, NULL); + for (j = 0; j < 6; j++) + gSaveBlock2Ptr->frontier.field_EFC[i].evs[j] = GetMonData(&gPlayerParty[gSaveBlock2Ptr->frontier.field_CAA[i] - 1], MON_DATA_HP_EV + j, NULL); + + gSaveBlock2Ptr->frontier.field_EFC[i].nature = GetNature(&gPlayerParty[gSaveBlock2Ptr->frontier.field_CAA[i] - 1]); + } + + var_28 = 4; + var_24 = 6; + for (l = j; l < 16; l++) + { + u16 val; + if (l > 5) + { + while (1) + { + val = sub_8162548(sub_81A39C4(), 0); + for (k = 1; k < l; k++) + { + if (gSaveBlock2Ptr->frontier.field_D24[k].unk0 == val) + break; + } + if (k != l) + { + gSaveBlock2Ptr->frontier.field_D24[var_28].unk0 = val; + break; + } + } + } + else + { + while (1) + { + val = sub_8162548(sub_81A39C4() + 1, 0); + for (k = 1; k < l; k++) + { + if (gSaveBlock2Ptr->frontier.field_D24[k].unk0 == val) + break; + } + if (k != l) + { + gSaveBlock2Ptr->frontier.field_D24[var_28].unk0 = val; + break; + } + } + } + + for (var_38 = 0; var_38 < 3; var_38++) + { + u16 val2; + do + { + val2 = sub_8163524(val); + for (i = 0; i < l; i++) + { + if (gSaveBlock2Ptr->frontier.field_D64[i] == val2) + break; + if (var_54 == gUnknown_0203BC8C[val2].field_0) + break; + if (var_50 == gUnknown_0203BC8C[val2].field_0) + break; + if (gUnknown_0203BC8C[gSaveBlock2Ptr->frontier.field_D64[i]].field_A == gUnknown_0203BC8C[val2].field_A) + break; + } + } while (i != var_38); + + gSaveBlock2Ptr->frontier.field_D64[var_24] = val2; + array[var_38] = gUnknown_0203BC8C[val2].field_0; + } + + gSaveBlock2Ptr->frontier.field_D24[var_28].unk1 = 0; + gSaveBlock2Ptr->frontier.field_D24[var_28].unk2 = 0; + gSaveBlock2Ptr->frontier.field_D24[var_28].unk3 = 0; + } + + for (i = 0; i < 3; i++) + { + struct Pokemon *mon = &gPlayerParty[gSaveBlock2Ptr->frontier.field_CAA[i] - 1]; + var_44[0] += GetMonData(mon, MON_DATA_ATK, NULL); + var_44[0] += GetMonData(mon, MON_DATA_DEF, NULL); + var_44[0] += GetMonData(mon, MON_DATA_SPATK, NULL); + var_44[0] += GetMonData(mon, MON_DATA_SPDEF, NULL); + var_44[0] += GetMonData(mon, MON_DATA_SPEED, NULL); + var_44[0] += GetMonData(mon, MON_DATA_MAX_HP, NULL); + monTypesBits |= gBitTable[gBaseStats[GetMonData(mon, MON_DATA_SPECIES, NULL)].type1]; + monTypesBits |= gBitTable[gBaseStats[GetMonData(mon, MON_DATA_SPECIES, NULL)].type2]; + } + + for (monTypesCount = 0, i = 0; i < 31; i++) + { + if (monTypesBits & 1) + monTypesCount++; + monTypesBits >>= 1; + } + + var_48 = sub_8165C40(); + var_44[0] += (monTypesCount * var_48) / 20; + + for (i = 0; i < 16; i++) + { + u8 r8; + + var_44[i + 1] = 0; + r8 = sub_8190168(gSaveBlock2Ptr->frontier.field_D24[i].unk0); + for (j = 0; j < 3; j++) + { + sub_818F720(gSaveBlock2Ptr->frontier.field_D64[i]); + } + } + + Free(var_44); + Free(var_40); +} +#else +NAKED +void sub_818F02C(void) +{ + asm_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, 0x3C\n\ + movs r0, 0\n\ + str r0, [sp, 0x8]\n\ + str r0, [sp, 0xC]\n\ + str r0, [sp, 0x10]\n\ + movs r0, 0x20\n\ + bl AllocZeroed\n\ + str r0, [sp, 0x18]\n\ + movs r0, 0x18\n\ + bl AllocZeroed\n\ + str r0, [sp, 0x1C]\n\ + ldr r4, =gSaveBlock2Ptr\n\ + ldr r1, [r4]\n\ + ldr r2, =0x00000ca9\n\ + adds r0, r1, r2\n\ + ldrb r0, [r0]\n\ + lsls r0, 30\n\ + lsrs r0, 30\n\ + adds r0, 0x1\n\ + ldr r3, =0x00000d0a\n\ + adds r1, r3\n\ + strb r0, [r1]\n\ + ldr r0, =0x000040ce\n\ + bl VarGet\n\ + ldr r1, [r4]\n\ + adds r0, 0x1\n\ + ldr r5, =0x00000d0b\n\ + adds r1, r5\n\ + strb r0, [r1]\n\ + ldr r2, [r4]\n\ + ldr r7, =0x00000d24\n\ + adds r3, r2, r7\n\ + ldrh r0, [r3]\n\ + ldr r5, =0x000003ff\n\ + adds r1, r5, 0\n\ + orrs r0, r1\n\ + strh r0, [r3]\n\ + ldr r3, =0x00000d25\n\ + adds r2, r3\n\ + ldrb r1, [r2]\n\ + movs r0, 0x5\n\ + negs r0, r0\n\ + ands r0, r1\n\ + strb r0, [r2]\n\ + ldr r1, [r4]\n\ + adds r1, r3\n\ + ldrb r2, [r1]\n\ + movs r0, 0x19\n\ + negs r0, r0\n\ + ands r0, r2\n\ + strb r0, [r1]\n\ + ldr r1, [r4]\n\ + adds r1, r3\n\ + ldrb r2, [r1]\n\ + movs r0, 0x1F\n\ + ands r0, r2\n\ + strb r0, [r1]\n\ + movs r7, 0\n\ + mov r10, r7\n\ + mov r8, r4\n\ + ldr r0, =gBattleScripting + 0x14\n\ + mov r9, r0\n\ + movs r4, 0\n\ +_0818F0BA:\n\ + mov r1, r8\n\ + ldr r0, [r1]\n\ + ldr r2, =0x00000caa\n\ + adds r0, r2\n\ + adds r0, r4\n\ + ldrh r0, [r0]\n\ + movs r3, 0x64\n\ + muls r0, r3\n\ + add r0, r9\n\ + movs r1, 0xB\n\ + movs r2, 0\n\ + bl GetMonData\n\ + mov r5, r8\n\ + ldr r1, [r5]\n\ + ldr r7, =0x00000d64\n\ + adds r1, r7\n\ + adds r1, r4\n\ + strh r0, [r1]\n\ + movs r5, 0\n\ + mov r0, r10\n\ + lsls r7, r0, 4\n\ + adds r6, r7, 0\n\ +_0818F0E8:\n\ + mov r1, r8\n\ + ldr r0, [r1]\n\ + ldr r2, =0x00000caa\n\ + adds r0, r2\n\ + adds r0, r4\n\ + ldrh r0, [r0]\n\ + movs r3, 0x64\n\ + muls r0, r3\n\ + add r0, r9\n\ + adds r1, r5, 0\n\ + adds r1, 0xD\n\ + movs r2, 0\n\ + bl GetMonData\n\ + mov r2, r8\n\ + ldr r1, [r2]\n\ + ldr r3, =0x00000efc\n\ + adds r1, r3\n\ + adds r1, r6\n\ + strh r0, [r1]\n\ + adds r6, 0x2\n\ + adds r5, 0x1\n\ + cmp r5, 0x3\n\ + ble _0818F0E8\n\ + movs r5, 0\n\ + ldr r6, =gSaveBlock2Ptr\n\ +_0818F11C:\n\ + ldr r0, [r6]\n\ + ldr r1, =0x00000caa\n\ + adds r0, r1\n\ + adds r0, r4\n\ + ldrh r0, [r0]\n\ + movs r2, 0x64\n\ + muls r0, r2\n\ + add r0, r9\n\ + adds r1, r5, 0\n\ + adds r1, 0x1A\n\ + movs r2, 0\n\ + bl GetMonData\n\ + ldr r1, [r6]\n\ + adds r2, r5, r7\n\ + ldr r3, =0x00000f04\n\ + adds r1, r3\n\ + adds r1, r2\n\ + strb r0, [r1]\n\ + adds r5, 0x1\n\ + cmp r5, 0x5\n\ + ble _0818F11C\n\ + mov r5, r8\n\ + ldr r0, [r5]\n\ + ldr r1, =0x00000caa\n\ + adds r0, r1\n\ + adds r0, r4\n\ + ldrh r0, [r0]\n\ + movs r2, 0x64\n\ + muls r0, r2\n\ + add r0, r9\n\ + bl GetNature\n\ + ldr r1, [r5]\n\ + adds r1, r7\n\ + ldr r3, =0x00000f0a\n\ + adds r1, r3\n\ + strb r0, [r1]\n\ + adds r4, 0x2\n\ + movs r5, 0x1\n\ + add r10, r5\n\ + mov r7, r10\n\ + cmp r7, 0x2\n\ + ble _0818F0BA\n\ + mov r10, r5\n\ + movs r0, 0x4\n\ + str r0, [sp, 0x34]\n\ + movs r1, 0x6\n\ + str r1, [sp, 0x38]\n\ +_0818F17E:\n\ + mov r2, r10\n\ + cmp r2, 0x5\n\ + ble _0818F22C\n\ +_0818F184:\n\ + bl sub_81A39C4\n\ + lsls r0, 24\n\ + lsrs r0, 24\n\ + movs r1, 0\n\ + bl sub_8162548\n\ + lsls r0, 16\n\ + lsrs r4, r0, 16\n\ + movs r5, 0x1\n\ + cmp r5, r10\n\ + bge _0818F1CA\n\ + ldr r3, =gSaveBlock2Ptr\n\ + ldr r0, [r3]\n\ + ldr r7, =0x00000d28\n\ + adds r0, r7\n\ + ldrh r0, [r0]\n\ + lsls r0, 22\n\ + lsrs r0, 22\n\ + adds r2, r3, 0\n\ + cmp r0, r4\n\ + beq _0818F1CA\n\ + ldr r3, =0x00000d24\n\ +_0818F1B2:\n\ + adds r5, 0x1\n\ + cmp r5, r10\n\ + bge _0818F1CA\n\ + ldr r0, [r2]\n\ + lsls r1, r5, 2\n\ + adds r0, r1\n\ + adds r0, r3\n\ + ldrh r0, [r0]\n\ + lsls r0, 22\n\ + lsrs r0, 22\n\ + cmp r0, r4\n\ + bne _0818F1B2\n\ +_0818F1CA:\n\ + cmp r5, r10\n\ + bne _0818F184\n\ + ldr r0, =gSaveBlock2Ptr\n\ + ldr r3, [r0]\n\ + ldr r1, [sp, 0x34]\n\ + adds r3, r1\n\ + ldr r2, =0x00000d24\n\ + adds r3, r2\n\ + ldr r5, =0x000003ff\n\ + adds r0, r5, 0\n\ + adds r2, r4, 0\n\ + ands r2, r0\n\ + ldrh r0, [r3]\n\ + ldr r7, =0xfffffc00\n\ + adds r1, r7, 0\n\ + b _0818F292\n\ + .pool\n\ +_0818F22C:\n\ + bl sub_81A39C4\n\ + adds r0, 0x1\n\ + lsls r0, 24\n\ + lsrs r0, 24\n\ + movs r1, 0\n\ + bl sub_8162548\n\ + lsls r0, 16\n\ + lsrs r4, r0, 16\n\ + movs r5, 0x1\n\ + cmp r5, r10\n\ + bge _0818F274\n\ + ldr r1, =gSaveBlock2Ptr\n\ + ldr r0, [r1]\n\ + ldr r2, =0x00000d28\n\ + adds r0, r2\n\ + ldrh r0, [r0]\n\ + lsls r0, 22\n\ + lsrs r0, 22\n\ + adds r2, r1, 0\n\ + cmp r0, r4\n\ + beq _0818F274\n\ + ldr r3, =0x00000d24\n\ +_0818F25C:\n\ + adds r5, 0x1\n\ + cmp r5, r10\n\ + bge _0818F274\n\ + ldr r0, [r2]\n\ + lsls r1, r5, 2\n\ + adds r0, r1\n\ + adds r0, r3\n\ + ldrh r0, [r0]\n\ + lsls r0, 22\n\ + lsrs r0, 22\n\ + cmp r0, r4\n\ + bne _0818F25C\n\ +_0818F274:\n\ + cmp r5, r10\n\ + bne _0818F22C\n\ + ldr r5, =gSaveBlock2Ptr\n\ + ldr r3, [r5]\n\ + ldr r7, [sp, 0x34]\n\ + adds r3, r7\n\ + ldr r0, =0x00000d24\n\ + adds r3, r0\n\ + ldr r1, =0x000003ff\n\ + adds r0, r1, 0\n\ + adds r2, r4, 0\n\ + ands r2, r0\n\ + ldrh r0, [r3]\n\ + ldr r5, =0xfffffc00\n\ + adds r1, r5, 0\n\ +_0818F292:\n\ + ands r0, r1\n\ + orrs r0, r2\n\ + strh r0, [r3]\n\ + movs r5, 0\n\ + lsls r4, 16\n\ + str r4, [sp, 0x2C]\n\ + ldr r7, [sp, 0x38]\n\ + str r7, [sp, 0x20]\n\ +_0818F2A2:\n\ + lsls r0, r5, 1\n\ + mov r9, r0\n\ + adds r1, r5, 0x1\n\ + str r1, [sp, 0x24]\n\ + lsls r2, r5, 2\n\ + str r2, [sp, 0x28]\n\ +_0818F2AE:\n\ + ldr r3, [sp, 0x2C]\n\ + lsrs r0, r3, 16\n\ + bl sub_8163524\n\ + lsls r0, 16\n\ + lsrs r6, r0, 16\n\ + movs r7, 0\n\ + cmp r7, r5\n\ + bge _0818F300\n\ + ldr r0, =gSaveBlock2Ptr\n\ + ldr r0, [r0]\n\ + ldr r1, [sp, 0x8]\n\ + mov r8, r1\n\ + ldr r2, [sp, 0xC]\n\ + mov r12, r2\n\ + ldr r3, =0x00000d64\n\ + adds r0, r3\n\ + ldr r1, [sp, 0x20]\n\ + adds r4, r1, r0\n\ +_0818F2D4:\n\ + ldrh r3, [r4]\n\ + cmp r3, r6\n\ + beq _0818F300\n\ + ldr r2, =gUnknown_0203BC8C\n\ + ldr r1, [r2]\n\ + lsls r0, r6, 4\n\ + adds r2, r0, r1\n\ + ldrh r0, [r2]\n\ + cmp r8, r0\n\ + beq _0818F300\n\ + cmp r12, r0\n\ + beq _0818F300\n\ + lsls r0, r3, 4\n\ + adds r0, r1\n\ + ldrb r0, [r0, 0xA]\n\ + ldrb r2, [r2, 0xA]\n\ + cmp r0, r2\n\ + beq _0818F300\n\ + adds r4, 0x2\n\ + adds r7, 0x1\n\ + cmp r7, r5\n\ + blt _0818F2D4\n\ +_0818F300:\n\ + cmp r7, r5\n\ + bne _0818F2AE\n\ + ldr r3, =gSaveBlock2Ptr\n\ + ldr r0, [r3]\n\ + ldr r1, [sp, 0x38]\n\ + add r1, r9\n\ + ldr r5, =0x00000d64\n\ + adds r0, r5\n\ + adds r0, r1\n\ + strh r6, [r0]\n\ + ldr r2, [sp, 0x28]\n\ + add r2, sp\n\ + adds r2, 0x8\n\ + ldr r0, =gUnknown_0203BC8C\n\ + ldr r1, [r0]\n\ + lsls r0, r6, 4\n\ + adds r0, r1\n\ + ldrh r0, [r0]\n\ + str r0, [r2]\n\ + ldr r5, [sp, 0x24]\n\ + cmp r5, 0x2\n\ + ble _0818F2A2\n\ + ldr r2, [r3]\n\ + ldr r7, [sp, 0x34]\n\ + adds r2, r7\n\ + ldr r0, =0x00000d25\n\ + adds r2, r0\n\ + ldrb r0, [r2]\n\ + movs r3, 0x5\n\ + negs r3, r3\n\ + adds r1, r3, 0\n\ + ands r0, r1\n\ + strb r0, [r2]\n\ + ldr r5, =gSaveBlock2Ptr\n\ + ldr r2, [r5]\n\ + adds r2, r7\n\ + ldr r7, =0x00000d25\n\ + adds r2, r7\n\ + ldrb r0, [r2]\n\ + subs r3, 0x14\n\ + adds r1, r3, 0\n\ + ands r0, r1\n\ + strb r0, [r2]\n\ + ldr r1, [r5]\n\ + ldr r5, [sp, 0x34]\n\ + adds r1, r5\n\ + adds r1, r7\n\ + ldrb r2, [r1]\n\ + movs r0, 0x1F\n\ + ands r0, r2\n\ + strb r0, [r1]\n\ + adds r5, 0x4\n\ + str r5, [sp, 0x34]\n\ + ldr r7, [sp, 0x38]\n\ + adds r7, 0x6\n\ + str r7, [sp, 0x38]\n\ + movs r0, 0x1\n\ + add r10, r0\n\ + mov r1, r10\n\ + cmp r1, 0xF\n\ + bgt _0818F37C\n\ + b _0818F17E\n\ +_0818F37C:\n\ + movs r7, 0\n\ + ldr r2, [sp, 0x18]\n\ + strh r7, [r2]\n\ + movs r3, 0\n\ + mov r10, r3\n\ + ldr r6, =gBitTable\n\ + ldr r5, =gBaseStats\n\ +_0818F38A:\n\ + ldr r0, =gSaveBlock2Ptr\n\ + ldr r0, [r0]\n\ + mov r2, r10\n\ + lsls r1, r2, 1\n\ + ldr r3, =0x00000caa\n\ + adds r0, r3\n\ + adds r0, r1\n\ + ldrh r0, [r0]\n\ + subs r4, r0, 0x1\n\ + movs r0, 0x64\n\ + muls r4, r0\n\ + ldr r0, =gPlayerParty\n\ + adds r4, r0\n\ + adds r0, r4, 0\n\ + movs r1, 0x3B\n\ + movs r2, 0\n\ + bl GetMonData\n\ + ldr r2, [sp, 0x18]\n\ + ldrh r1, [r2]\n\ + adds r1, r0\n\ + strh r1, [r2]\n\ + adds r0, r4, 0\n\ + movs r1, 0x3C\n\ + movs r2, 0\n\ + bl GetMonData\n\ + ldr r3, [sp, 0x18]\n\ + ldrh r1, [r3]\n\ + adds r1, r0\n\ + strh r1, [r3]\n\ + adds r0, r4, 0\n\ + movs r1, 0x3E\n\ + movs r2, 0\n\ + bl GetMonData\n\ + ldr r2, [sp, 0x18]\n\ + ldrh r1, [r2]\n\ + adds r1, r0\n\ + strh r1, [r2]\n\ + adds r0, r4, 0\n\ + movs r1, 0x3F\n\ + movs r2, 0\n\ + bl GetMonData\n\ + ldr r3, [sp, 0x18]\n\ + ldrh r1, [r3]\n\ + adds r1, r0\n\ + strh r1, [r3]\n\ + adds r0, r4, 0\n\ + movs r1, 0x3D\n\ + movs r2, 0\n\ + bl GetMonData\n\ + ldr r2, [sp, 0x18]\n\ + ldrh r1, [r2]\n\ + adds r1, r0\n\ + strh r1, [r2]\n\ + adds r0, r4, 0\n\ + movs r1, 0x3A\n\ + movs r2, 0\n\ + bl GetMonData\n\ + ldr r3, [sp, 0x18]\n\ + ldrh r1, [r3]\n\ + adds r1, r0\n\ + strh r1, [r3]\n\ + adds r0, r4, 0\n\ + movs r1, 0xB\n\ + movs r2, 0\n\ + bl GetMonData\n\ + lsls r1, r0, 3\n\ + subs r1, r0\n\ + lsls r1, 2\n\ + adds r1, r5\n\ + ldrb r0, [r1, 0x6]\n\ + lsls r0, 2\n\ + adds r0, r6\n\ + ldr r0, [r0]\n\ + orrs r7, r0\n\ + adds r0, r4, 0\n\ + movs r1, 0xB\n\ + movs r2, 0\n\ + bl GetMonData\n\ + lsls r1, r0, 3\n\ + subs r1, r0\n\ + lsls r1, 2\n\ + adds r1, r5\n\ + ldrb r0, [r1, 0x7]\n\ + lsls r0, 2\n\ + adds r0, r6\n\ + ldr r0, [r0]\n\ + orrs r7, r0\n\ + movs r0, 0x1\n\ + add r10, r0\n\ + mov r1, r10\n\ + cmp r1, 0x2\n\ + ble _0818F38A\n\ + movs r4, 0\n\ + movs r1, 0x1\n\ + movs r5, 0x1F\n\ +_0818F458:\n\ + adds r0, r7, 0\n\ + ands r0, r1\n\ + cmp r0, 0\n\ + beq _0818F462\n\ + adds r4, 0x1\n\ +_0818F462:\n\ + asrs r7, 1\n\ + subs r5, 0x1\n\ + cmp r5, 0\n\ + bge _0818F458\n\ + bl sub_8165C40\n\ + lsls r0, 24\n\ + lsrs r0, 24\n\ + str r0, [sp, 0x14]\n\ + adds r2, r0, 0\n\ + adds r0, r4, 0\n\ + muls r0, r2\n\ + movs r1, 0x14\n\ + bl __divsi3\n\ + ldr r3, [sp, 0x18]\n\ + ldrh r1, [r3]\n\ + adds r1, r0\n\ + strh r1, [r3]\n\ + movs r5, 0x1\n\ + mov r10, r5\n\ + adds r6, r3, 0\n\ + adds r6, 0x2\n\ + movs r7, 0x2\n\ + str r7, [sp, 0x30]\n\ +_0818F494:\n\ + movs r7, 0\n\ + strh r7, [r6]\n\ + ldr r1, =gSaveBlock2Ptr\n\ + ldr r0, [r1]\n\ + mov r2, r10\n\ + lsls r1, r2, 2\n\ + adds r0, r1\n\ + ldr r3, =0x00000d24\n\ + adds r0, r3\n\ + ldrh r0, [r0]\n\ + lsls r0, 22\n\ + lsrs r0, 22\n\ + bl sub_8190168\n\ + lsls r0, 24\n\ + lsrs r0, 24\n\ + mov r8, r0\n\ + movs r5, 0\n\ + ldr r0, [sp, 0x30]\n\ + mov r9, r0\n\ +_0818F4BC:\n\ + ldr r1, =gSaveBlock2Ptr\n\ + ldr r0, [r1]\n\ + mov r4, r9\n\ + add r4, r10\n\ + adds r4, r5\n\ + lsls r4, 1\n\ + ldr r2, =0x00000d64\n\ + adds r0, r2\n\ + adds r0, r4\n\ + ldrh r1, [r0]\n\ + ldr r3, =gUnknown_0203BC8C\n\ + ldr r0, [r3]\n\ + lsls r1, 4\n\ + adds r1, r0\n\ + ldrh r0, [r1]\n\ + ldrb r3, [r1, 0xB]\n\ + ldrb r1, [r1, 0xC]\n\ + str r1, [sp]\n\ + ldr r1, [sp, 0x1C]\n\ + str r1, [sp, 0x4]\n\ + ldr r1, [sp, 0x14]\n\ + mov r2, r8\n\ + bl sub_818F720\n\ + ldr r2, [sp, 0x1C]\n\ + ldr r1, [r2, 0x4]\n\ + ldrh r0, [r6]\n\ + adds r0, r1\n\ + ldr r1, [r2, 0x8]\n\ + adds r0, r1\n\ + ldr r1, [r2, 0x10]\n\ + adds r0, r1\n\ + ldr r1, [r2, 0x14]\n\ + adds r0, r1\n\ + ldr r1, [r2, 0xC]\n\ + adds r0, r1\n\ + ldr r1, [r2]\n\ + adds r0, r1\n\ + strh r0, [r6]\n\ + ldr r3, =gSaveBlock2Ptr\n\ + ldr r0, [r3]\n\ + ldr r1, =0x00000d64\n\ + adds r0, r1\n\ + adds r0, r4\n\ + ldrh r0, [r0]\n\ + ldr r2, =gUnknown_0203BC8C\n\ + ldr r1, [r2]\n\ + lsls r0, 4\n\ + adds r0, r1\n\ + ldrh r0, [r0]\n\ + lsls r1, r0, 3\n\ + subs r1, r0\n\ + lsls r1, 2\n\ + ldr r3, =gBaseStats\n\ + adds r1, r3\n\ + ldrb r0, [r1, 0x6]\n\ + lsls r0, 2\n\ + ldr r2, =gBitTable\n\ + adds r0, r2\n\ + ldr r0, [r0]\n\ + orrs r7, r0\n\ + ldrb r0, [r1, 0x7]\n\ + lsls r0, 2\n\ + adds r0, r2\n\ + ldr r0, [r0]\n\ + orrs r7, r0\n\ + adds r5, 0x1\n\ + cmp r5, 0x2\n\ + ble _0818F4BC\n\ + movs r4, 0\n\ + movs r1, 0x1\n\ + movs r5, 0x1F\n\ +_0818F54C:\n\ + adds r0, r7, 0\n\ + ands r0, r1\n\ + cmp r0, 0\n\ + beq _0818F556\n\ + adds r4, 0x1\n\ +_0818F556:\n\ + asrs r7, 1\n\ + subs r5, 0x1\n\ + cmp r5, 0\n\ + bge _0818F54C\n\ + ldr r3, [sp, 0x14]\n\ + adds r0, r4, 0\n\ + muls r0, r3\n\ + movs r1, 0x14\n\ + bl __divsi3\n\ + ldrh r1, [r6]\n\ + adds r1, r0\n\ + strh r1, [r6]\n\ + adds r6, 0x2\n\ + ldr r5, [sp, 0x30]\n\ + adds r5, 0x2\n\ + str r5, [sp, 0x30]\n\ + movs r7, 0x1\n\ + add r10, r7\n\ + mov r0, r10\n\ + cmp r0, 0xF\n\ + ble _0818F494\n\ + movs r1, 0\n\ + mov r10, r1\n\ + ldr r2, =0x000003ff\n\ + mov r8, r2\n\ +_0818F58A:\n\ + mov r5, r10\n\ + adds r5, 0x1\n\ + adds r7, r5, 0\n\ + cmp r5, 0xF\n\ + bgt _0818F626\n\ + mov r3, r10\n\ + lsls r0, r3, 1\n\ + ldr r1, [sp, 0x18]\n\ + adds r6, r0, r1\n\ + lsls r0, r5, 1\n\ + adds r4, r0, r1\n\ +_0818F5A0:\n\ + ldrh r1, [r6]\n\ + ldrh r0, [r4]\n\ + cmp r1, r0\n\ + bcc _0818F5C2\n\ + cmp r1, r0\n\ + bne _0818F61E\n\ + ldr r0, =gSaveBlock2Ptr\n\ + ldr r1, [r0]\n\ + lsls r0, r5, 2\n\ + adds r0, r1, r0\n\ + ldr r2, =0x00000d24\n\ + adds r0, r2\n\ + ldrh r0, [r0]\n\ + lsls r2, r0, 22\n\ + lsrs r0, r2, 22\n\ + cmp r0, r8\n\ + bne _0818F602\n\ +_0818F5C2:\n\ + mov r0, r10\n\ + adds r1, r5, 0\n\ + ldr r2, [sp, 0x18]\n\ + bl sub_818F904\n\ + b _0818F600\n\ + .pool\n\ +_0818F600:\n\ + b _0818F61E\n\ +_0818F602:\n\ + mov r3, r10\n\ + lsls r0, r3, 2\n\ + adds r0, r1, r0\n\ + ldr r1, =0x00000d24\n\ + adds r0, r1\n\ + ldrh r0, [r0]\n\ + lsls r0, 22\n\ + cmp r0, r2\n\ + bls _0818F61E\n\ + mov r0, r10\n\ + adds r1, r5, 0\n\ + ldr r2, [sp, 0x18]\n\ + bl sub_818F904\n\ +_0818F61E:\n\ + adds r4, 0x2\n\ + adds r5, 0x1\n\ + cmp r5, 0xF\n\ + ble _0818F5A0\n\ +_0818F626:\n\ + mov r10, r7\n\ + mov r2, r10\n\ + cmp r2, 0xE\n\ + ble _0818F58A\n\ + bl sub_81A3610\n\ + lsls r0, 24\n\ + cmp r0, 0\n\ + beq _0818F6EE\n\ + movs r3, 0\n\ + mov r10, r3\n\ + ldr r0, =gSaveBlock2Ptr\n\ + ldr r1, [r0]\n\ + ldr r4, =0x00000d24\n\ + adds r1, r4\n\ + ldrh r1, [r1]\n\ + lsls r1, 22\n\ + lsrs r1, 22\n\ + ldr r3, =0x000003ff\n\ + adds r2, r0, 0\n\ + ldr r6, =gUnknown_0860D3F1\n\ + cmp r1, r3\n\ + beq _0818F674\n\ + adds r5, r2, 0\n\ +_0818F656:\n\ + movs r7, 0x1\n\ + add r10, r7\n\ + mov r0, r10\n\ + cmp r0, 0xF\n\ + bgt _0818F674\n\ + ldr r0, [r5]\n\ + mov r7, r10\n\ + lsls r1, r7, 2\n\ + adds r0, r1\n\ + adds r0, r4\n\ + ldrh r0, [r0]\n\ + lsls r0, 22\n\ + lsrs r0, 22\n\ + cmp r0, r3\n\ + bne _0818F656\n\ +_0818F674:\n\ + mov r1, r10\n\ + lsls r0, r1, 1\n\ + adds r0, r6\n\ + ldrb r0, [r0]\n\ + cmp r0, 0\n\ + beq _0818F6AC\n\ + movs r5, 0\n\ + ldr r2, [r2]\n\ + ldr r3, =0x00000d24\n\ + adds r2, r3\n\ + ldrh r1, [r2]\n\ + ldr r0, =0xfffffc00\n\ + ands r0, r1\n\ + ldr r7, =0x000003fe\n\ + adds r1, r7, 0\n\ + b _0818F6BE\n\ + .pool\n\ +_0818F6AC:\n\ + movs r5, 0x1\n\ + ldr r2, [r2]\n\ + ldr r0, =0x00000d28\n\ + adds r2, r0\n\ + ldrh r1, [r2]\n\ + ldr r0, =0xfffffc00\n\ + ands r0, r1\n\ + ldr r3, =0x000003fe\n\ + adds r1, r3, 0\n\ +_0818F6BE:\n\ + orrs r0, r1\n\ + strh r0, [r2]\n\ + movs r7, 0\n\ + mov r10, r7\n\ + lsls r0, r5, 1\n\ + adds r0, r5\n\ + lsls r4, r0, 1\n\ +_0818F6CC:\n\ + mov r1, r10\n\ + lsls r0, r1, 24\n\ + lsrs r0, 24\n\ + bl sub_81A4FF0\n\ + ldr r1, =gSaveBlock2Ptr\n\ + ldr r1, [r1]\n\ + ldr r2, =0x00000d64\n\ + adds r1, r2\n\ + adds r1, r4\n\ + strh r0, [r1]\n\ + adds r4, 0x2\n\ + movs r3, 0x1\n\ + add r10, r3\n\ + mov r5, r10\n\ + cmp r5, 0x2\n\ + ble _0818F6CC\n\ +_0818F6EE:\n\ + ldr r0, [sp, 0x18]\n\ + bl Free\n\ + ldr r0, [sp, 0x1C]\n\ + bl Free\n\ + add sp, 0x3C\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\ +\n\ + "); +} +#endif // NONMATCHING + +#define CALC_STAT(base, statIndex) \ +{ \ + u8 baseStat = gBaseStats[species].base; \ + stats[statIndex] = (((2 * baseStat + ivs + evs[statIndex] / 4) * level) / 100) + 5; \ + stats[statIndex] = (u8) ModifyStatByNature(nature, stats[statIndex], statIndex); \ +} + +void sub_818F720(u16 species, s32 level, s32 ivs, u8 evBits, u8 nature, s32 *stats) +{ + s32 i, count; + u8 bits; + u16 resultingEvs; + s32 evs[6]; + + count = 0, bits = evBits; + for (i = 0; i < 6; bits >>= 1, i++) + { + if (bits & 1) + count++; + } + + resultingEvs = 510 / count; + for (i = 0; i < 6; bits <<= 1, i++) + { + evs[i] = 0; + if (evBits & bits) + evs[i] = resultingEvs; + } + + if (species == SPECIES_SHEDINJA) + { + stats[STAT_HP] = 1; + } + else + { + s32 n = 2 * gBaseStats[species].baseHP; + stats[STAT_HP] = (((n + ivs + evs[STAT_HP] / 4) * level) / 100) + level + 10; + } + + CALC_STAT(baseAttack, STAT_ATK); + CALC_STAT(baseDefense, STAT_DEF); + CALC_STAT(baseSpeed, STAT_SPEED); + CALC_STAT(baseSpAttack, STAT_SPATK); + CALC_STAT(baseSpDefense, STAT_SPDEF); +} + +#define SWAP_16(x, y) \ +{ \ + temp = x; \ + x = y; \ + y = temp; \ +} + +void sub_818F904(s32 id1, s32 id2, u16 *dst) +{ + s32 i; + u16 temp; + + SWAP_16(dst[id1], dst[id2]); + SWAP_16(gSaveBlock2Ptr->frontier.field_D24[id1].unk0, gSaveBlock2Ptr->frontier.field_D24[id2].unk0); + + for (i = 0; i < 3; i++) + SWAP_16(gSaveBlock2Ptr->frontier.field_D64[id1][i], gSaveBlock2Ptr->frontier.field_D64[id2][i]); +} From ac3f4fd99475912ce52fb88be76a0809d9b6fbed Mon Sep 17 00:00:00 2001 From: Diegoisawesome Date: Wed, 15 Aug 2018 11:47:10 -0700 Subject: [PATCH 106/234] Continue documentation and cleanup of pokemon_summary_screen --- data/text/nature_names.inc | 102 -------------- include/pokemon_summary_screen.h | 8 ++ src/pokemon.c | 6 +- src/pokemon_summary_screen.c | 226 ++++++++++++++++--------------- 4 files changed, 127 insertions(+), 215 deletions(-) delete mode 100644 data/text/nature_names.inc diff --git a/data/text/nature_names.inc b/data/text/nature_names.inc deleted file mode 100644 index 31e2876e23..0000000000 --- a/data/text/nature_names.inc +++ /dev/null @@ -1,102 +0,0 @@ -gHardyNatureName:: @ 861CAAC - .string "HARDY$" - -gLonelyNatureName:: @ 861CAB2 - .string "LONELY$" - -gBraveNatureName:: @ 861CAB9 - .string "BRAVE$" - -gAdamantNatureName:: @ 861CABF - .string "ADAMANT$" - -gNaughtyNatureName:: @ 861CAC7 - .string "NAUGHTY$" - -gBoldNatureName:: @ 861CACF - .string "BOLD$" - -gDocileNatureName:: @ 861CAD4 - .string "DOCILE$" - -gRelaxedNatureName:: @ 861CADB - .string "RELAXED$" - -gImpishNatureName:: @ 861CAE3 - .string "IMPISH$" - -gLaxNatureName:: @ 861CAEA - .string "LAX$" - -gTimidNatureName:: @ 861CAEE - .string "TIMID$" - -gHastyNatureName:: @ 861CAF4 - .string "HASTY$" - -gSeriousNatureName:: @ 861CAFA - .string "SERIOUS$" - -gJollyNatureName:: @ 861CB02 - .string "JOLLY$" - -gNaiveNatureName:: @ 861CB08 - .string "NAIVE$" - -gModestNatureName:: @ 861CB0E - .string "MODEST$" - -gMildNatureName:: @ 861CB15 - .string "MILD$" - -gQuietNatureName:: @ 861CB1A - .string "QUIET$" - -gBashfulNatureName:: @ 861CB20 - .string "BASHFUL$" - -gRashNatureName:: @ 861CB28 - .string "RASH$" - -gCalmNatureName:: @ 861CB2D - .string "CALM$" - -gGentleNatureName:: @ 861CB32 - .string "GENTLE$" - -gSassyNatureName:: @ 861CB39 - .string "SASSY$" - -gCarefulNatureName:: @ 861CB3F - .string "CAREFUL$" - -gQuirkyNatureName:: @ 861CB47 - .string "QUIRKY$" - - .align 2 -gNatureNamePointers:: @ 861CB50 - .4byte gHardyNatureName - .4byte gLonelyNatureName - .4byte gBraveNatureName - .4byte gAdamantNatureName - .4byte gNaughtyNatureName - .4byte gBoldNatureName - .4byte gDocileNatureName - .4byte gRelaxedNatureName - .4byte gImpishNatureName - .4byte gLaxNatureName - .4byte gTimidNatureName - .4byte gHastyNatureName - .4byte gSeriousNatureName - .4byte gJollyNatureName - .4byte gNaiveNatureName - .4byte gModestNatureName - .4byte gMildNatureName - .4byte gQuietNatureName - .4byte gBashfulNatureName - .4byte gRashNatureName - .4byte gCalmNatureName - .4byte gGentleNatureName - .4byte gSassyNatureName - .4byte gCarefulNatureName - .4byte gQuirkyNatureName diff --git a/include/pokemon_summary_screen.h b/include/pokemon_summary_screen.h index 51175a36a0..3d3b6f0e33 100755 --- a/include/pokemon_summary_screen.h +++ b/include/pokemon_summary_screen.h @@ -14,4 +14,12 @@ enum PokemonSummaryScreenMode PSS_MODE_SELECT_MOVE, }; +enum PokemonSummaryScreenPage +{ + PSS_PAGE_INFO, + PSS_PAGE_SKILLS, + PSS_PAGE_BATTLE_MOVES, + PSS_PAGE_CONTEST_MOVES, +}; + #endif // GUARD_POKEMON_SUMMARY_SCREEN_H diff --git a/src/pokemon.c b/src/pokemon.c index 7c010cd391..76eaf65e3b 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -89,7 +89,7 @@ extern u8 GetTrainerEncounterMusicIdInBattlePyramind(u16 trainerOpponentId); extern u8 sub_81D63C8(u16 trainerOpponentId); extern u8 GetFrontierOpponentClass(u16 trainerId); extern void GetFrontierTrainerName(u8* dest, u16 trainerId); -extern void sub_81C488C(u8); +extern void SummaryScreen_SetUnknownTaskId(u8); // this file's functions static u16 CalculateBoxMonChecksum(struct BoxPokemon *boxMon); @@ -5723,7 +5723,7 @@ static void Task_PokemonSummaryAnimateAfterDelay(u8 taskId) if (--gTasks[taskId].data[3] == 0) { StartMonSummaryAnimation(READ_PTR_FROM_TASK(taskId, 0), gTasks[taskId].data[2]); - sub_81C488C(0xFF); + SummaryScreen_SetUnknownTaskId(0xFF); DestroyTask(taskId); } } @@ -5790,7 +5790,7 @@ void PokemonSummaryDoMonAnimation(struct Sprite* sprite, u16 species, bool8 oneF STORE_PTR_IN_TASK(sprite, taskId, 0); gTasks[taskId].data[2] = sMonFrontAnimIdsTable[species - 1]; gTasks[taskId].data[3] = sMonAnimationDelayTable[species - 1]; - sub_81C488C(taskId); + SummaryScreen_SetUnknownTaskId(taskId); SetSpriteCB_MonAnimDummy(sprite); } else diff --git a/src/pokemon_summary_screen.c b/src/pokemon_summary_screen.c index 347f382859..ef55129f49 100644 --- a/src/pokemon_summary_screen.c +++ b/src/pokemon_summary_screen.c @@ -87,10 +87,7 @@ static EWRAM_DATA struct UnkSummaryStruct u8 unk3E[9]; // 0x3E u32 OTID; // 0x48 } summary; - u16 bgTilemapBuffer1[0x800]; - u16 bgTilemapBuffer2[0x800]; - u16 bgTilemapBuffer3[0x800]; - u16 bgTilemapBuffer4[0x800]; + u16 bgTilemapBuffers[4][2][0x400]; u8 mode; bool8 isBoxMon; u8 curMonIndex; @@ -114,7 +111,7 @@ static EWRAM_DATA struct UnkSummaryStruct EWRAM_DATA u8 gUnknown_0203CF20 = 0; static EWRAM_DATA u8 gUnknown_0203CF21 = 0; static EWRAM_DATA u8 gFiller_0203CF22[2] = {0}; -static EWRAM_DATA u8 sUnusedTaskId = 0; +static EWRAM_DATA u8 sUnknownTaskId = 0; static EWRAM_DATA u8 gFiller_0203CF25[3] = {0}; extern const struct CompressedSpriteSheet gMonFrontPicTable[]; @@ -131,8 +128,8 @@ struct UnkStruct_61CC04 // forward declarations bool8 sub_81B1250(void); -bool8 sub_81BFB10(void); -void sub_81BFAE4(void); +static bool8 SummaryScreen_LoadGraphics(void); +static void SummaryScreen_LoadingCB2(void); static void InitBGs(void); u8 sub_81BFEB0(void); void CopyMonToSummaryStruct(struct Pokemon* a); @@ -183,10 +180,10 @@ void sub_81C25E8(void); void sub_81C2628(void); void sub_81C2794(void); void sub_81C27DC(struct Pokemon *mon, u16 a); -void PrintRentalMonStatsPage(void); +static void PrintPageNamesAndStatsPage(void); void sub_81C2AFC(u8 a); void sub_81C2C38(u8 a); -void sub_81C2D68(u8 a); +void SummaryScreen_RemoveWindowByIndex(u8 a); void sub_81C2D9C(u8 a); void sub_81C2DE4(u8 a); void sub_81C2E00(void); @@ -220,8 +217,8 @@ void sub_81C39F0(u8 taskId); void PrintMoveNameAndPP(u8 a); void sub_81C3D08(void); void sub_81C3D54(u8 taskId); -void sub_81C3E2C(u8 a); -void sub_81C3E9C(u16 a); +void PrintContestMoveDescription(u8 a); +void PrintMoveDetails(u16 a); void PrintNewMoveDetailsOrCancelText(void); void sub_81C4064(void); void sub_81C40A0(u8 a, u8 b); @@ -239,13 +236,13 @@ void sub_81C4568(u8 a, u8 b); u8 sub_81C45F4(struct Pokemon *a, s16 *b); u8 sub_81C47B4(struct Pokemon *unused); void sub_81C4844(struct Sprite *); -void sub_81C488C(u8 a); -void DestoryUnusedTask(void); +void SummaryScreen_SetUnknownTaskId(u8 a); +void SummaryScreen_DestroyUnknownTask(void); void sub_81C48F0(void); -void sub_81C4984(struct Pokemon *mon); -void sub_81C49E0(struct Pokemon *mon); -void sub_81C4A08(struct Pokemon *mon); -void sub_81C4A88(void); +void CreateMonMarkingsSprite(struct Pokemon *mon); +void RemoveAndCreateMonMarkingsSprite(struct Pokemon *mon); +void CreateCaughtBallSprite(struct Pokemon *mon); +void CreateSetStatusSprite(void); void sub_81C4AF8(u8 a); void sub_81C4BE4(struct Sprite *sprite); void sub_81C4C60(u8 a); @@ -635,7 +632,7 @@ static const struct SpriteTemplate gUnknown_0861D084 = .affineAnims = gDummySpriteAffineAnimTable, .callback = SpriteCallbackDummy }; - const struct OamData gOamData_861D09C = +static const struct OamData gOamData_861D09C = { .y = 0, .affineMode = 0, @@ -679,7 +676,7 @@ static const union AnimCmd gSpriteAnim_861D0D4[] = { ANIMCMD_FRAME(24, 0, FALSE, FALSE), ANIMCMD_END }; - const union AnimCmd *const gSpriteAnimTable_861D0DC[] = { +static const union AnimCmd *const gSpriteAnimTable_861D0DC[] = { gSpriteAnim_861D0A4, gSpriteAnim_861D0AC, gSpriteAnim_861D0B4, @@ -746,12 +743,12 @@ void ShowPokemonSummaryScreen(u8 mode, void *mons, u8 monIndex, u8 maxMonIndex, } gUnknown_0203CF1C->currPageIndex = gUnknown_0203CF1C->minPageIndex; - sub_81C488C(-1); + SummaryScreen_SetUnknownTaskId(-1); if (gMonSpritesGfxPtr == 0) sub_806F2AC(0, 0); - SetMainCallback2(sub_81BFAE4); + SetMainCallback2(SummaryScreen_LoadingCB2); } void ShowSelectMovePokemonSummaryScreen(struct Pokemon *mons, u8 monIndex, u8 maxMonIndex, void (*callback)(void), u16 newMove) @@ -766,7 +763,7 @@ void ShowPokemonSummaryScreenSet40EF(u8 mode, struct BoxPokemon *mons, u8 monInd gUnknown_0203CF1C->unk40EF = TRUE; } -void sub_81BFAB4(void) +static void SummaryScreen_MainCB2(void) { RunTasks(); AnimateSprites(); @@ -775,19 +772,19 @@ void sub_81BFAB4(void) UpdatePaletteFade(); } -void sub_81BFAD0(void) +static void SummaryScreen_VBlank(void) { LoadOam(); ProcessSpriteCopyRequests(); TransferPlttBuffer(); } -void sub_81BFAE4(void) +static void SummaryScreen_LoadingCB2(void) { - while (sub_81221EC() != TRUE && sub_81BFB10() != TRUE && sub_81221AC() != TRUE); + while (sub_81221EC() != TRUE && SummaryScreen_LoadGraphics() != TRUE && sub_81221AC() != TRUE); } -bool8 sub_81BFB10(void) +static bool8 SummaryScreen_LoadGraphics(void) { switch (gMain.state) { @@ -845,7 +842,7 @@ bool8 sub_81BFB10(void) gMain.state++; break; case 12: - PrintRentalMonStatsPage(); + PrintPageNamesAndStatsPage(); gMain.state++; break; case 13: @@ -875,15 +872,15 @@ bool8 sub_81BFB10(void) } break; case 18: - sub_81C4984(&gUnknown_0203CF1C->currentMon); + CreateMonMarkingsSprite(&gUnknown_0203CF1C->currentMon); gMain.state++; break; case 19: - sub_81C4A08(&gUnknown_0203CF1C->currentMon); + CreateCaughtBallSprite(&gUnknown_0203CF1C->currentMon); gMain.state++; break; case 20: - sub_81C4A88(); + CreateSetStatusSprite(); gMain.state++; break; case 21: @@ -907,8 +904,8 @@ bool8 sub_81BFB10(void) gMain.state++; break; default: - SetVBlankCallback(sub_81BFAD0); - SetMainCallback2(sub_81BFAB4); + SetVBlankCallback(SummaryScreen_VBlank); + SetMainCallback2(SummaryScreen_MainCB2); return TRUE; } return FALSE; @@ -918,9 +915,9 @@ static void InitBGs(void) { ResetBgsAndClearDma3BusyFlags(0); InitBgsFromTemplates(0, gUnknown_0861CBB4, ARRAY_COUNT(gUnknown_0861CBB4)); - SetBgTilemapBuffer(1, &gUnknown_0203CF1C->bgTilemapBuffer3); - SetBgTilemapBuffer(2, &gUnknown_0203CF1C->bgTilemapBuffer2); - SetBgTilemapBuffer(3, &gUnknown_0203CF1C->bgTilemapBuffer1); + SetBgTilemapBuffer(1, gUnknown_0203CF1C->bgTilemapBuffers[PSS_PAGE_BATTLE_MOVES][0]); + SetBgTilemapBuffer(2, gUnknown_0203CF1C->bgTilemapBuffers[PSS_PAGE_SKILLS][0]); + SetBgTilemapBuffer(3, gUnknown_0203CF1C->bgTilemapBuffers[PSS_PAGE_INFO][0]); ResetAllBgsCoordinates(); schedule_bg_copy_tilemap_to_vram(1); schedule_bg_copy_tilemap_to_vram(2); @@ -945,24 +942,24 @@ bool8 sub_81BFEB0(void) case 1: if (free_temp_tile_data_buffers_if_possible() != 1) { - LZDecompressWram(&gUnknown_08D9862C, &gUnknown_0203CF1C->bgTilemapBuffer1[0]); + LZDecompressWram(&gUnknown_08D9862C, gUnknown_0203CF1C->bgTilemapBuffers[PSS_PAGE_INFO][0]); gUnknown_0203CF1C->unk40F0++; } break; case 2: - LZDecompressWram(&gUnknown_08D98CC8, &gUnknown_0203CF1C->bgTilemapBuffer1[0x400]); + LZDecompressWram(&gUnknown_08D98CC8, gUnknown_0203CF1C->bgTilemapBuffers[PSS_PAGE_INFO][1]); gUnknown_0203CF1C->unk40F0++; break; case 3: - LZDecompressWram(&gUnknown_08D987FC, &gUnknown_0203CF1C->bgTilemapBuffer2[0x400]); + LZDecompressWram(&gUnknown_08D987FC, gUnknown_0203CF1C->bgTilemapBuffers[PSS_PAGE_SKILLS][1]); gUnknown_0203CF1C->unk40F0++; break; case 4: - LZDecompressWram(&gUnknown_08D9898C, &gUnknown_0203CF1C->bgTilemapBuffer3[0x400]); + LZDecompressWram(&gUnknown_08D9898C, gUnknown_0203CF1C->bgTilemapBuffers[PSS_PAGE_BATTLE_MOVES][1]); gUnknown_0203CF1C->unk40F0++; break; case 5: - LZDecompressWram(&gUnknown_08D98B28, &gUnknown_0203CF1C->bgTilemapBuffer4[0x400]); + LZDecompressWram(&gUnknown_08D98B28, gUnknown_0203CF1C->bgTilemapBuffers[PSS_PAGE_CONTEST_MOVES][1]); gUnknown_0203CF1C->unk40F0++; break; case 6: @@ -1087,7 +1084,7 @@ bool8 ExtractMonDataToSummaryStruct(struct Pokemon *a) void sub_81C0348(void) { - if (gUnknown_0203CF1C->currPageIndex != 2 && gUnknown_0203CF1C->currPageIndex != 3) + if (gUnknown_0203CF1C->currPageIndex != PSS_PAGE_BATTLE_MOVES && gUnknown_0203CF1C->currPageIndex != PSS_PAGE_CONTEST_MOVES) { sub_81C1DA4(0, 255); sub_81C1EFC(0, 255, 0); @@ -1095,10 +1092,10 @@ void sub_81C0348(void) else { sub_81C240C(gUnknown_0203CF1C->summary.moves[gUnknown_0203CF1C->firstMoveIndex]); - sub_81C2194(&gUnknown_0203CF1C->bgTilemapBuffer3[0], 3, 0); - sub_81C2194(&gUnknown_0203CF1C->bgTilemapBuffer4[0], 1, 0); - SetBgTilemapBuffer(1, &gUnknown_0203CF1C->bgTilemapBuffer4); - SetBgTilemapBuffer(2, &gUnknown_0203CF1C->bgTilemapBuffer3); + sub_81C2194(gUnknown_0203CF1C->bgTilemapBuffers[PSS_PAGE_BATTLE_MOVES][0], 3, 0); + sub_81C2194(gUnknown_0203CF1C->bgTilemapBuffers[PSS_PAGE_CONTEST_MOVES][0], 1, 0); + SetBgTilemapBuffer(1, gUnknown_0203CF1C->bgTilemapBuffers[PSS_PAGE_CONTEST_MOVES][0]); + SetBgTilemapBuffer(2, gUnknown_0203CF1C->bgTilemapBuffers[PSS_PAGE_BATTLE_MOVES][0]); ChangeBgX(2, 0x10000, 1); ClearWindowTilemap(19); ClearWindowTilemap(13); @@ -1109,7 +1106,7 @@ void sub_81C0348(void) } else { - if (gUnknown_0203CF1C->currPageIndex != 2 && gUnknown_0203CF1C->currPageIndex != 3) + if (gUnknown_0203CF1C->currPageIndex != PSS_PAGE_BATTLE_MOVES && gUnknown_0203CF1C->currPageIndex != PSS_PAGE_CONTEST_MOVES) PutWindowTilemap(13); } sub_81C2524(); @@ -1134,7 +1131,7 @@ void sub_81C0484(u8 taskId) { SetMainCallback2(gUnknown_0203CF1C->callback); gUnknown_0203CF20 = gUnknown_0203CF1C->curMonIndex; - DestoryUnusedTask(); + SummaryScreen_DestroyUnknownTask(); ResetSpriteData(); FreeAllSpritePalettes(); StopCryAndClearCrySongs(); @@ -1168,9 +1165,9 @@ void sub_81C0510(u8 taskId) } else if (gMain.newKeys & A_BUTTON) { - if (gUnknown_0203CF1C->currPageIndex != 1) + if (gUnknown_0203CF1C->currPageIndex != PSS_PAGE_SKILLS) { - if (gUnknown_0203CF1C->currPageIndex == 0) + if (gUnknown_0203CF1C->currPageIndex == PSS_PAGE_INFO) { sub_81C48F0(); PlaySE(SE_SELECT); @@ -1200,7 +1197,7 @@ void sub_81C0604(u8 taskId, s8 a) { if (gUnknown_0203CF1C->isBoxMon == TRUE) { - if (gUnknown_0203CF1C->currPageIndex != 0) + if (gUnknown_0203CF1C->currPageIndex != PSS_PAGE_INFO) { if (a == 1) a = 0; @@ -1252,7 +1249,7 @@ void sub_81C0704(u8 taskId) StopCryAndClearCrySongs(); break; case 1: - DestoryUnusedTask(); + SummaryScreen_DestroyUnknownTask(); DestroySpriteAndFreeResources(&gSprites[gUnknown_0203CF1C->spriteIds[0]]); break; case 2: @@ -1267,10 +1264,10 @@ void sub_81C0704(u8 taskId) return; break; case 5: - sub_81C49E0(&gUnknown_0203CF1C->currentMon); + RemoveAndCreateMonMarkingsSprite(&gUnknown_0203CF1C->currentMon); break; case 6: - sub_81C4A08(&gUnknown_0203CF1C->currentMon); + CreateCaughtBallSprite(&gUnknown_0203CF1C->currentMon); break; case 7: if (gUnknown_0203CF1C->summary.unk7) @@ -1314,13 +1311,14 @@ s8 sub_81C08F8(s8 a) { struct Pokemon *mon = gUnknown_0203CF1C->monList.mons; - if (gUnknown_0203CF1C->currPageIndex == 0) + if (gUnknown_0203CF1C->currPageIndex == PSS_PAGE_INFO) { if (a == -1 && gUnknown_0203CF1C->curMonIndex == 0) return -1; - if (a == 1 && gUnknown_0203CF1C->curMonIndex >= gUnknown_0203CF1C->maxMonIndex) + else if (a == 1 && gUnknown_0203CF1C->curMonIndex >= gUnknown_0203CF1C->maxMonIndex) return -1; - return gUnknown_0203CF1C->curMonIndex + a; + else + return gUnknown_0203CF1C->curMonIndex + a; } else { @@ -1419,7 +1417,7 @@ void sub_81C0B8C(u8 taskId) schedule_bg_copy_tilemap_to_vram(2); } ChangeBgX(data[1], 0, 0); - SetBgTilemapBuffer(data[1], (u8*)gUnknown_0203CF1C + ((gUnknown_0203CF1C->currPageIndex << 12) + 0xBC)); + SetBgTilemapBuffer(data[1], gUnknown_0203CF1C->bgTilemapBuffers[gUnknown_0203CF1C->currPageIndex][0]); ShowBg(1); ShowBg(2); } @@ -1512,9 +1510,9 @@ void sub_81C0E48(u8 taskId) ClearWindowTilemap(5); PutWindowTilemap(6); } - sub_81C2194(&gUnknown_0203CF1C->bgTilemapBuffer3[0], 3, 0); - sub_81C2194(&gUnknown_0203CF1C->bgTilemapBuffer4[0], 1, 0); - sub_81C3E9C(move); + sub_81C2194(gUnknown_0203CF1C->bgTilemapBuffers[PSS_PAGE_BATTLE_MOVES][0], 3, 0); + sub_81C2194(gUnknown_0203CF1C->bgTilemapBuffers[PSS_PAGE_CONTEST_MOVES][0], 1, 0); + PrintMoveDetails(move); PrintNewMoveDetailsOrCancelText(); sub_81C44F0(); schedule_bg_copy_tilemap_to_vram(0); @@ -1605,7 +1603,7 @@ void sub_81C1070(s16 *a, s8 b, u8 *c) sub_81C240C(move); schedule_bg_copy_tilemap_to_vram(1); schedule_bg_copy_tilemap_to_vram(2); - sub_81C3E9C(move); + PrintMoveDetails(move); if ((*c == 4 && gUnknown_0203CF1C->newMove == MOVE_NONE) || a[1] == 1) { ClearWindowTilemap(19); @@ -1635,9 +1633,9 @@ void sub_81C11F4(u8 taskId) sub_81C4C60(8); ClearWindowTilemap(6); PutWindowTilemap(5); - sub_81C3E9C(0); - sub_81C2194(&gUnknown_0203CF1C->bgTilemapBuffer3[0], 3, 1); - sub_81C2194(&gUnknown_0203CF1C->bgTilemapBuffer4[0], 1, 1); + PrintMoveDetails(0); + sub_81C2194(gUnknown_0203CF1C->bgTilemapBuffers[PSS_PAGE_BATTLE_MOVES][0], 3, 1); + sub_81C2194(gUnknown_0203CF1C->bgTilemapBuffers[PSS_PAGE_CONTEST_MOVES][0], 1, 1); sub_81C4064(); if (gUnknown_0203CF1C->firstMoveIndex != MAX_MON_MOVES) { @@ -1721,7 +1719,7 @@ void sub_81C13B0(u8 taskId, bool8 b) } move = gUnknown_0203CF1C->summary.moves[gUnknown_0203CF1C->firstMoveIndex]; - sub_81C3E9C(move); + PrintMoveDetails(move); sub_81C240C(move); schedule_bg_copy_tilemap_to_vram(1); schedule_bg_copy_tilemap_to_vram(2); @@ -2288,7 +2286,7 @@ void sub_81C1940(u8 taskId) if (!gSprites[gUnknown_0203CF1C->spriteIds[2]].invisible) ClearWindowTilemap(13); move = gUnknown_0203CF1C->summary.moves[gUnknown_0203CF1C->firstMoveIndex]; - sub_81C3E9C(move); + PrintMoveDetails(move); schedule_bg_copy_tilemap_to_vram(0); sub_81C1DA4(9, -3); sub_81C1EFC(9, -3, move); @@ -2402,7 +2400,7 @@ void sub_81C1DA4(u16 a, s16 b) b = gUnknown_0861CC04.field_6; if (b == 0 || b == gUnknown_0861CC04.field_6) { - sub_81C1CB0(&gUnknown_0861CC04, &gUnknown_0203CF1C->bgTilemapBuffer3[0], b, 1); + sub_81C1CB0(&gUnknown_0861CC04, gUnknown_0203CF1C->bgTilemapBuffers[PSS_PAGE_BATTLE_MOVES][0], b, 1); } else { @@ -2428,7 +2426,7 @@ void sub_81C1E20(u8 taskId) { data[1] = gUnknown_0861CC04.field_6; } - sub_81C1CB0(&gUnknown_0861CC04, &gUnknown_0203CF1C->bgTilemapBuffer3[0], data[1], 1); + sub_81C1CB0(&gUnknown_0861CC04, gUnknown_0203CF1C->bgTilemapBuffers[PSS_PAGE_BATTLE_MOVES][0], data[1], 1); if (data[1] <= 0 || data[1] >= gUnknown_0861CC04.field_6) { if (data[0] < 0) @@ -2454,7 +2452,7 @@ void sub_81C1EFC(u16 a, s16 b, u16 move) if (b > gUnknown_0861CC10.field_6) b = gUnknown_0861CC10.field_6; if (b == 0 || b == gUnknown_0861CC10.field_6) - sub_81C1CB0(&gUnknown_0861CC10, &gUnknown_0203CF1C->bgTilemapBuffer4[0], b, 1); + sub_81C1CB0(&gUnknown_0861CC10, gUnknown_0203CF1C->bgTilemapBuffers[PSS_PAGE_CONTEST_MOVES][0], b, 1); else { u8 taskId = FindTaskIdByFunc(sub_81C1F80); @@ -2478,7 +2476,7 @@ void sub_81C1F80(u8 taskId) { data[1] = gUnknown_0861CC10.field_6; } - sub_81C1CB0(&gUnknown_0861CC10, &gUnknown_0203CF1C->bgTilemapBuffer4[0], data[1], 1); + sub_81C1CB0(&gUnknown_0861CC10, gUnknown_0203CF1C->bgTilemapBuffers[PSS_PAGE_CONTEST_MOVES][0], data[1], 1); if (data[1] <= 0 || data[1] >= gUnknown_0861CC10.field_6) { if (data[0] < 0) @@ -2508,8 +2506,8 @@ void sub_81C2074(u16 a, s16 b) b = gUnknown_0861CBEC.field_6; if (b == 0 || b == gUnknown_0861CBEC.field_6) { - sub_81C1CB0(&gUnknown_0861CBEC, &gUnknown_0203CF1C->bgTilemapBuffer1[0], b, 0); - sub_81C1CB0(&gUnknown_0861CBF8, &gUnknown_0203CF1C->bgTilemapBuffer1[0], b, 0); + sub_81C1CB0(&gUnknown_0861CBEC, gUnknown_0203CF1C->bgTilemapBuffers[PSS_PAGE_INFO][0], b, 0); + sub_81C1CB0(&gUnknown_0861CBF8, gUnknown_0203CF1C->bgTilemapBuffers[PSS_PAGE_INFO][0], b, 0); } else { @@ -2527,14 +2525,14 @@ void sub_81C20F0(u8 taskId) data[1] = 0; else if (data[1] > gUnknown_0861CBEC.field_6) data[1] = gUnknown_0861CBEC.field_6; - sub_81C1CB0(&gUnknown_0861CBEC, &gUnknown_0203CF1C->bgTilemapBuffer1[0], data[1], 0); - sub_81C1CB0(&gUnknown_0861CBF8, &gUnknown_0203CF1C->bgTilemapBuffer1[0], data[1], 0); + sub_81C1CB0(&gUnknown_0861CBEC, gUnknown_0203CF1C->bgTilemapBuffers[PSS_PAGE_INFO][0], data[1], 0); + sub_81C1CB0(&gUnknown_0861CBF8, gUnknown_0203CF1C->bgTilemapBuffers[PSS_PAGE_INFO][0], data[1], 0); schedule_bg_copy_tilemap_to_vram(3); if (data[1] <= 0 || data[1] >= gUnknown_0861CBEC.field_6) { if (data[0] < 0) { - sub_81C4A88(); + CreateSetStatusSprite(); PutWindowTilemap(13); schedule_bg_copy_tilemap_to_vram(0); } @@ -2573,13 +2571,13 @@ void sub_81C2228(struct Pokemon *mon) { if (!CheckPartyPokerus(mon, 0) && CheckPartyHasHadPokerus(mon, 0)) { - gUnknown_0203CF1C->bgTilemapBuffer1[0x223] = 0x2C; - gUnknown_0203CF1C->bgTilemapBuffer1[0x623] = 0x2C; + gUnknown_0203CF1C->bgTilemapBuffers[PSS_PAGE_INFO][0][0x223] = 0x2C; + gUnknown_0203CF1C->bgTilemapBuffers[PSS_PAGE_INFO][1][0x223] = 0x2C; } else { - gUnknown_0203CF1C->bgTilemapBuffer1[0x223] = 0x81A; - gUnknown_0203CF1C->bgTilemapBuffer1[0x623] = 0x81A; + gUnknown_0203CF1C->bgTilemapBuffers[PSS_PAGE_INFO][0][0x223] = 0x81A; + gUnknown_0203CF1C->bgTilemapBuffers[PSS_PAGE_INFO][1][0x223] = 0x81A; } schedule_bg_copy_tilemap_to_vram(3); } @@ -2614,7 +2612,7 @@ void sub_81C22CC(struct Pokemon *unused) r6r7 = 0; } - r9 = &gUnknown_0203CF1C->bgTilemapBuffer2[0x655]; + r9 = &gUnknown_0203CF1C->bgTilemapBuffers[PSS_PAGE_SKILLS][1][0x255]; for (i = 0; i < 8; i++) { if (r6r7 > 7) @@ -2626,7 +2624,7 @@ void sub_81C22CC(struct Pokemon *unused) r6r7 = 0; } - if (GetBgTilemapBuffer(1) == gUnknown_0203CF1C->bgTilemapBuffer2) + if (GetBgTilemapBuffer(1) == gUnknown_0203CF1C->bgTilemapBuffers[PSS_PAGE_SKILLS][0]) schedule_bg_copy_tilemap_to_vram(1); else schedule_bg_copy_tilemap_to_vram(2); @@ -2634,7 +2632,7 @@ void sub_81C22CC(struct Pokemon *unused) void sub_81C240C(u16 move) { - u16* tilemap = &gUnknown_0203CF1C->bgTilemapBuffer4[0x400]; + u16 *tilemap = gUnknown_0203CF1C->bgTilemapBuffers[PSS_PAGE_CONTEST_MOVES][1]; u8 i; u8 effectValue; @@ -2778,10 +2776,10 @@ void sub_81C27DC(struct Pokemon *mon, u16 a) u8 gender = GetMonGender(mon); switch (gender) { - case 0: + case MON_MALE: SummaryScreen_PrintTextOnWindow(19, &gText_MaleSymbol[0], 57, 17, 0, 3); break; - case 0xFE: + case MON_FEMALE: SummaryScreen_PrintTextOnWindow(19, &gText_FemaleSymbol[0], 57, 17, 0, 4); break; } @@ -2793,7 +2791,7 @@ void PrintAOrBButtonIcon(u8 windowId, bool8 bButton, u32 x) BlitBitmapToWindow(windowId, (bButton) ? gUnknown_0861CDD3 : gUnknown_0861CDD3 - 0x80, x, 0, 16, 16); } -void PrintRentalMonStatsPage(void) +static void PrintPageNamesAndStatsPage(void) { int stringXPos; int iconXPos; @@ -2804,7 +2802,7 @@ void PrintRentalMonStatsPage(void) SummaryScreen_PrintTextOnWindow(2, gText_BattleMoves, 2, 1, 0, 1); SummaryScreen_PrintTextOnWindow(3, gText_ContestMoves, 2, 1, 0, 1); - stringXPos = GetStringRightAlignXOffset(1, gText_Cancel2, 0x3E); + stringXPos = GetStringRightAlignXOffset(1, gText_Cancel2, 62); iconXPos = stringXPos - 16; if (iconXPos < 0) iconXPos = 0; @@ -2851,10 +2849,12 @@ void PrintRentalMonStatsPage(void) void sub_81C2AFC(u8 a) { u8 i; + ClearWindowTilemap(0); ClearWindowTilemap(1); ClearWindowTilemap(2); ClearWindowTilemap(3); + switch (a) { case 0: @@ -2895,10 +2895,12 @@ void sub_81C2AFC(u8 a) } break; } + for (i = 0; i < 8; i++) { PutWindowTilemap(gUnknown_0203CF1C->windowIds[i]); } + schedule_bg_copy_tilemap_to_vram(0); } @@ -2941,8 +2943,12 @@ void sub_81C2C38(u8 a) } break; } + for (i = 0; i < 8; i++) - sub_81C2D68(i); + { + SummaryScreen_RemoveWindowByIndex(i); + } + schedule_bg_copy_tilemap_to_vram(0); } @@ -2957,9 +2963,9 @@ u8 AddWindowFromTemplateList(const struct WindowTemplate *template, u8 templateI return *windowIdPtr; } -void sub_81C2D68(u8 a) +void SummaryScreen_RemoveWindowByIndex(u8 windowIndex) { - u8 *windowIdPtr = &(gUnknown_0203CF1C->windowIds[a]); + u8 *windowIdPtr = &(gUnknown_0203CF1C->windowIds[windowIndex]); if (*windowIdPtr != 0xFF) { ClearWindowTilemap(*windowIdPtr); @@ -3428,11 +3434,11 @@ void sub_81C3984(void) if (gUnknown_0203CF1C->firstMoveIndex == MAX_MON_MOVES) { if (gUnknown_0203CF1C->newMove != MOVE_NONE) - sub_81C3E9C(gUnknown_0203CF1C->newMove); + PrintMoveDetails(gUnknown_0203CF1C->newMove); } else { - sub_81C3E9C(gUnknown_0203CF1C->summary.moves[gUnknown_0203CF1C->firstMoveIndex]); + PrintMoveDetails(gUnknown_0203CF1C->summary.moves[gUnknown_0203CF1C->firstMoveIndex]); } } } @@ -3472,7 +3478,7 @@ void sub_81C39F0(u8 taskId) if (gUnknown_0203CF1C->mode == PSS_MODE_SELECT_MOVE) { if (gUnknown_0203CF1C->newMove != MOVE_NONE || gUnknown_0203CF1C->firstMoveIndex != MAX_MON_MOVES) - sub_81C3E9C(data[1]); + PrintMoveDetails(data[1]); } break; case 8: @@ -3561,7 +3567,7 @@ void sub_81C3D08(void) if (gUnknown_0203CF1C->mode == PSS_MODE_SELECT_MOVE) { PrintNewMoveDetailsOrCancelText(); - sub_81C3E2C(gUnknown_0203CF1C->firstMoveIndex); + PrintContestMoveDescription(gUnknown_0203CF1C->firstMoveIndex); } } @@ -3592,7 +3598,7 @@ void sub_81C3D54(u8 taskId) if (gUnknown_0203CF1C->mode == PSS_MODE_SELECT_MOVE) { if (gUnknown_0203CF1C->newMove != MOVE_NONE || gUnknown_0203CF1C->firstMoveIndex != MAX_MON_MOVES) - sub_81C3E2C(gUnknown_0203CF1C->firstMoveIndex); + PrintContestMoveDescription(gUnknown_0203CF1C->firstMoveIndex); } break; case 6: @@ -3602,7 +3608,7 @@ void sub_81C3D54(u8 taskId) data[0]++; } -void sub_81C3E2C(u8 moveSlot) +void PrintContestMoveDescription(u8 moveSlot) { u16 move; @@ -3618,7 +3624,7 @@ void sub_81C3E2C(u8 moveSlot) } } -void sub_81C3E9C(u16 move) +void PrintMoveDetails(u16 move) { u8 windowId = AddWindowFromTemplateList(gUnknown_0861CD14, 2); FillWindowPixelBuffer(windowId, 0); @@ -3707,7 +3713,7 @@ void sub_81C4190(void) gUnknown_0203CF1C->spriteIds[i] |= 0xFF; } -void sub_81C41C0(u8 spriteArrayId) +void DestroySpriteInArray(u8 spriteArrayId) { if (gUnknown_0203CF1C->spriteIds[spriteArrayId] != 0xFF) { @@ -3966,21 +3972,21 @@ void sub_81C4844(struct Sprite *sprite) } } -void sub_81C488C(u8 a0) +void SummaryScreen_SetUnknownTaskId(u8 a0) { - sUnusedTaskId = a0; + sUnknownTaskId = a0; } -void DestoryUnusedTask(void) +void SummaryScreen_DestroyUnknownTask(void) { - if (sUnusedTaskId != 0xFF) + if (sUnknownTaskId != 0xFF) { - DestroyTask(sUnusedTaskId); - sUnusedTaskId = 0xFF; + DestroyTask(sUnknownTaskId); + sUnknownTaskId = 0xFF; } } -bool32 sub_81C48B4(void) +bool32 DoesSpriteHaveCallback(void) { if (gSprites[gUnknown_0203CF1C->spriteIds[0]].callback == SpriteCallbackDummy) { @@ -4009,7 +4015,7 @@ void sub_81C48F0(void) } } -void sub_81C4984(struct Pokemon *mon) +void CreateMonMarkingsSprite(struct Pokemon *mon) { struct Sprite *sprite = sub_811FF94(30003, 30003, gUnknown_0861D120); @@ -4024,14 +4030,14 @@ void sub_81C4984(struct Pokemon *mon) } } -void sub_81C49E0(struct Pokemon *mon) +void RemoveAndCreateMonMarkingsSprite(struct Pokemon *mon) { DestroySprite(gUnknown_0203CF1C->markingsSprite); FreeSpriteTilesByTag(30003); - sub_81C4984(mon); + CreateMonMarkingsSprite(mon); } -void sub_81C4A08(struct Pokemon *mon) +void CreateCaughtBallSprite(struct Pokemon *mon) { u8 ball = ItemIdToBallId(GetMonData(mon, MON_DATA_POKEBALL)); @@ -4041,7 +4047,7 @@ void sub_81C4A08(struct Pokemon *mon) gSprites[gUnknown_0203CF1C->spriteIds[1]].oam.priority = 3; } -void sub_81C4A88(void) +void CreateSetStatusSprite(void) { u8 *spriteId = &gUnknown_0203CF1C->spriteIds[2]; u8 anim; @@ -4134,7 +4140,7 @@ void sub_81C4C60(u8 a0) u8 i; for (i = 0; i < 10; i++) { - sub_81C41C0(a0 + i); + DestroySpriteInArray(a0 + i); } } From 8896b54e8f45528fc6c21cd55cdace2ad03b2796 Mon Sep 17 00:00:00 2001 From: Tetrable Date: Wed, 15 Aug 2018 20:10:28 +0100 Subject: [PATCH 107/234] Add national/hoenn dex defines, update dex arrays --- include/constants/species.h | 832 +++++++++++++++++++++++ src/pokemon.c | 1250 ++++++++++++++++++++++++++++++++++- 2 files changed, 2079 insertions(+), 3 deletions(-) diff --git a/include/constants/species.h b/include/constants/species.h index f698ada14a..cd9b137439 100644 --- a/include/constants/species.h +++ b/include/constants/species.h @@ -447,4 +447,836 @@ #define NUM_SPECIES SPECIES_EGG +// National Dex Index Defines + +#define NATIONAL_DEX_BULBASAUR 1 +#define NATIONAL_DEX_IVYSAUR 2 +#define NATIONAL_DEX_VENUSAUR 3 +#define NATIONAL_DEX_CHARMANDER 4 +#define NATIONAL_DEX_CHARMELEON 5 +#define NATIONAL_DEX_CHARIZARD 6 +#define NATIONAL_DEX_SQUIRTLE 7 +#define NATIONAL_DEX_WARTORTLE 8 +#define NATIONAL_DEX_BLASTOISE 9 +#define NATIONAL_DEX_CATERPIE 10 +#define NATIONAL_DEX_METAPOD 11 +#define NATIONAL_DEX_BUTTERFREE 12 +#define NATIONAL_DEX_WEEDLE 13 +#define NATIONAL_DEX_KAKUNA 14 +#define NATIONAL_DEX_BEEDRILL 15 +#define NATIONAL_DEX_PIDGEY 16 +#define NATIONAL_DEX_PIDGEOTTO 17 +#define NATIONAL_DEX_PIDGEOT 18 +#define NATIONAL_DEX_RATTATA 19 +#define NATIONAL_DEX_RATICATE 20 +#define NATIONAL_DEX_SPEAROW 21 +#define NATIONAL_DEX_FEAROW 22 +#define NATIONAL_DEX_EKANS 23 +#define NATIONAL_DEX_ARBOK 24 +#define NATIONAL_DEX_PIKACHU 25 +#define NATIONAL_DEX_RAICHU 26 +#define NATIONAL_DEX_SANDSHREW 27 +#define NATIONAL_DEX_SANDSLASH 28 +#define NATIONAL_DEX_NIDORAN_F 29 +#define NATIONAL_DEX_NIDORINA 30 +#define NATIONAL_DEX_NIDOQUEEN 31 +#define NATIONAL_DEX_NIDORAN_M 32 +#define NATIONAL_DEX_NIDORINO 33 +#define NATIONAL_DEX_NIDOKING 34 +#define NATIONAL_DEX_CLEFAIRY 35 +#define NATIONAL_DEX_CLEFABLE 36 +#define NATIONAL_DEX_VULPIX 37 +#define NATIONAL_DEX_NINETALES 38 +#define NATIONAL_DEX_JIGGLYPUFF 39 +#define NATIONAL_DEX_WIGGLYTUFF 40 +#define NATIONAL_DEX_ZUBAT 41 +#define NATIONAL_DEX_GOLBAT 42 +#define NATIONAL_DEX_ODDISH 43 +#define NATIONAL_DEX_GLOOM 44 +#define NATIONAL_DEX_VILEPLUME 45 +#define NATIONAL_DEX_PARAS 46 +#define NATIONAL_DEX_PARASECT 47 +#define NATIONAL_DEX_VENONAT 48 +#define NATIONAL_DEX_VENOMOTH 49 +#define NATIONAL_DEX_DIGLETT 50 +#define NATIONAL_DEX_DUGTRIO 51 +#define NATIONAL_DEX_MEOWTH 52 +#define NATIONAL_DEX_PERSIAN 53 +#define NATIONAL_DEX_PSYDUCK 54 +#define NATIONAL_DEX_GOLDUCK 55 +#define NATIONAL_DEX_MANKEY 56 +#define NATIONAL_DEX_PRIMEAPE 57 +#define NATIONAL_DEX_GROWLITHE 58 +#define NATIONAL_DEX_ARCANINE 59 +#define NATIONAL_DEX_POLIWAG 60 +#define NATIONAL_DEX_POLIWHIRL 61 +#define NATIONAL_DEX_POLIWRATH 62 +#define NATIONAL_DEX_ABRA 63 +#define NATIONAL_DEX_KADABRA 64 +#define NATIONAL_DEX_ALAKAZAM 65 +#define NATIONAL_DEX_MACHOP 66 +#define NATIONAL_DEX_MACHOKE 67 +#define NATIONAL_DEX_MACHAMP 68 +#define NATIONAL_DEX_BELLSPROUT 69 +#define NATIONAL_DEX_WEEPINBELL 70 +#define NATIONAL_DEX_VICTREEBEL 71 +#define NATIONAL_DEX_TENTACOOL 72 +#define NATIONAL_DEX_TENTACRUEL 73 +#define NATIONAL_DEX_GEODUDE 74 +#define NATIONAL_DEX_GRAVELER 75 +#define NATIONAL_DEX_GOLEM 76 +#define NATIONAL_DEX_PONYTA 77 +#define NATIONAL_DEX_RAPIDASH 78 +#define NATIONAL_DEX_SLOWPOKE 79 +#define NATIONAL_DEX_SLOWBRO 80 +#define NATIONAL_DEX_MAGNEMITE 81 +#define NATIONAL_DEX_MAGNETON 82 +#define NATIONAL_DEX_FARFETCHD 83 +#define NATIONAL_DEX_DODUO 84 +#define NATIONAL_DEX_DODRIO 85 +#define NATIONAL_DEX_SEEL 86 +#define NATIONAL_DEX_DEWGONG 87 +#define NATIONAL_DEX_GRIMER 88 +#define NATIONAL_DEX_MUK 89 +#define NATIONAL_DEX_SHELLDER 90 +#define NATIONAL_DEX_CLOYSTER 91 +#define NATIONAL_DEX_GASTLY 92 +#define NATIONAL_DEX_HAUNTER 93 +#define NATIONAL_DEX_GENGAR 94 +#define NATIONAL_DEX_ONIX 95 +#define NATIONAL_DEX_DROWZEE 96 +#define NATIONAL_DEX_HYPNO 97 +#define NATIONAL_DEX_KRABBY 98 +#define NATIONAL_DEX_KINGLER 99 +#define NATIONAL_DEX_VOLTORB 100 +#define NATIONAL_DEX_ELECTRODE 101 +#define NATIONAL_DEX_EXEGGCUTE 102 +#define NATIONAL_DEX_EXEGGUTOR 103 +#define NATIONAL_DEX_CUBONE 104 +#define NATIONAL_DEX_MAROWAK 105 +#define NATIONAL_DEX_HITMONLEE 106 +#define NATIONAL_DEX_HITMONCHAN 107 +#define NATIONAL_DEX_LICKITUNG 108 +#define NATIONAL_DEX_KOFFING 109 +#define NATIONAL_DEX_WEEZING 110 +#define NATIONAL_DEX_RHYHORN 111 +#define NATIONAL_DEX_RHYDON 112 +#define NATIONAL_DEX_CHANSEY 113 +#define NATIONAL_DEX_TANGELA 114 +#define NATIONAL_DEX_KANGASKHAN 115 +#define NATIONAL_DEX_HORSEA 116 +#define NATIONAL_DEX_SEADRA 117 +#define NATIONAL_DEX_GOLDEEN 118 +#define NATIONAL_DEX_SEAKING 119 +#define NATIONAL_DEX_STARYU 120 +#define NATIONAL_DEX_STARMIE 121 +#define NATIONAL_DEX_MR_MIME 122 +#define NATIONAL_DEX_SCYTHER 123 +#define NATIONAL_DEX_JYNX 124 +#define NATIONAL_DEX_ELECTABUZZ 125 +#define NATIONAL_DEX_MAGMAR 126 +#define NATIONAL_DEX_PINSIR 127 +#define NATIONAL_DEX_TAUROS 128 +#define NATIONAL_DEX_MAGIKARP 129 +#define NATIONAL_DEX_GYARADOS 130 +#define NATIONAL_DEX_LAPRAS 131 +#define NATIONAL_DEX_DITTO 132 +#define NATIONAL_DEX_EEVEE 133 +#define NATIONAL_DEX_VAPOREON 134 +#define NATIONAL_DEX_JOLTEON 135 +#define NATIONAL_DEX_FLAREON 136 +#define NATIONAL_DEX_PORYGON 137 +#define NATIONAL_DEX_OMANYTE 138 +#define NATIONAL_DEX_OMASTAR 139 +#define NATIONAL_DEX_KABUTO 140 +#define NATIONAL_DEX_KABUTOPS 141 +#define NATIONAL_DEX_AERODACTYL 142 +#define NATIONAL_DEX_SNORLAX 143 +#define NATIONAL_DEX_ARTICUNO 144 +#define NATIONAL_DEX_ZAPDOS 145 +#define NATIONAL_DEX_MOLTRES 146 +#define NATIONAL_DEX_DRATINI 147 +#define NATIONAL_DEX_DRAGONAIR 148 +#define NATIONAL_DEX_DRAGONITE 149 +#define NATIONAL_DEX_MEWTWO 150 +#define NATIONAL_DEX_MEW 151 +#define NATIONAL_DEX_CHIKORITA 152 +#define NATIONAL_DEX_BAYLEEF 153 +#define NATIONAL_DEX_MEGANIUM 154 +#define NATIONAL_DEX_CYNDAQUIL 155 +#define NATIONAL_DEX_QUILAVA 156 +#define NATIONAL_DEX_TYPHLOSION 157 +#define NATIONAL_DEX_TOTODILE 158 +#define NATIONAL_DEX_CROCONAW 159 +#define NATIONAL_DEX_FERALIGATR 160 +#define NATIONAL_DEX_SENTRET 161 +#define NATIONAL_DEX_FURRET 162 +#define NATIONAL_DEX_HOOTHOOT 163 +#define NATIONAL_DEX_NOCTOWL 164 +#define NATIONAL_DEX_LEDYBA 165 +#define NATIONAL_DEX_LEDIAN 166 +#define NATIONAL_DEX_SPINARAK 167 +#define NATIONAL_DEX_ARIADOS 168 +#define NATIONAL_DEX_CROBAT 169 +#define NATIONAL_DEX_CHINCHOU 170 +#define NATIONAL_DEX_LANTURN 171 +#define NATIONAL_DEX_PICHU 172 +#define NATIONAL_DEX_CLEFFA 173 +#define NATIONAL_DEX_IGGLYBUFF 174 +#define NATIONAL_DEX_TOGEPI 175 +#define NATIONAL_DEX_TOGETIC 176 +#define NATIONAL_DEX_NATU 177 +#define NATIONAL_DEX_XATU 178 +#define NATIONAL_DEX_MAREEP 179 +#define NATIONAL_DEX_FLAAFFY 180 +#define NATIONAL_DEX_AMPHAROS 181 +#define NATIONAL_DEX_BELLOSSOM 182 +#define NATIONAL_DEX_MARILL 183 +#define NATIONAL_DEX_AZUMARILL 184 +#define NATIONAL_DEX_SUDOWOODO 185 +#define NATIONAL_DEX_POLITOED 186 +#define NATIONAL_DEX_HOPPIP 187 +#define NATIONAL_DEX_SKIPLOOM 188 +#define NATIONAL_DEX_JUMPLUFF 189 +#define NATIONAL_DEX_AIPOM 190 +#define NATIONAL_DEX_SUNKERN 191 +#define NATIONAL_DEX_SUNFLORA 192 +#define NATIONAL_DEX_YANMA 193 +#define NATIONAL_DEX_WOOPER 194 +#define NATIONAL_DEX_QUAGSIRE 195 +#define NATIONAL_DEX_ESPEON 196 +#define NATIONAL_DEX_UMBREON 197 +#define NATIONAL_DEX_MURKROW 198 +#define NATIONAL_DEX_SLOWKING 199 +#define NATIONAL_DEX_MISDREAVUS 200 +#define NATIONAL_DEX_UNOWN 201 +#define NATIONAL_DEX_WOBBUFFET 202 +#define NATIONAL_DEX_GIRAFARIG 203 +#define NATIONAL_DEX_PINECO 204 +#define NATIONAL_DEX_FORRETRESS 205 +#define NATIONAL_DEX_DUNSPARCE 206 +#define NATIONAL_DEX_GLIGAR 207 +#define NATIONAL_DEX_STEELIX 208 +#define NATIONAL_DEX_SNUBBULL 209 +#define NATIONAL_DEX_GRANBULL 210 +#define NATIONAL_DEX_QWILFISH 211 +#define NATIONAL_DEX_SCIZOR 212 +#define NATIONAL_DEX_SHUCKLE 213 +#define NATIONAL_DEX_HERACROSS 214 +#define NATIONAL_DEX_SNEASEL 215 +#define NATIONAL_DEX_TEDDIURSA 216 +#define NATIONAL_DEX_URSARING 217 +#define NATIONAL_DEX_SLUGMA 218 +#define NATIONAL_DEX_MAGCARGO 219 +#define NATIONAL_DEX_SWINUB 220 +#define NATIONAL_DEX_PILOSWINE 221 +#define NATIONAL_DEX_CORSOLA 222 +#define NATIONAL_DEX_REMORAID 223 +#define NATIONAL_DEX_OCTILLERY 224 +#define NATIONAL_DEX_DELIBIRD 225 +#define NATIONAL_DEX_MANTINE 226 +#define NATIONAL_DEX_SKARMORY 227 +#define NATIONAL_DEX_HOUNDOUR 228 +#define NATIONAL_DEX_HOUNDOOM 229 +#define NATIONAL_DEX_KINGDRA 230 +#define NATIONAL_DEX_PHANPY 231 +#define NATIONAL_DEX_DONPHAN 232 +#define NATIONAL_DEX_PORYGON2 233 +#define NATIONAL_DEX_STANTLER 234 +#define NATIONAL_DEX_SMEARGLE 235 +#define NATIONAL_DEX_TYROGUE 236 +#define NATIONAL_DEX_HITMONTOP 237 +#define NATIONAL_DEX_SMOOCHUM 238 +#define NATIONAL_DEX_ELEKID 239 +#define NATIONAL_DEX_MAGBY 240 +#define NATIONAL_DEX_MILTANK 241 +#define NATIONAL_DEX_BLISSEY 242 +#define NATIONAL_DEX_RAIKOU 243 +#define NATIONAL_DEX_ENTEI 244 +#define NATIONAL_DEX_SUICUNE 245 +#define NATIONAL_DEX_LARVITAR 246 +#define NATIONAL_DEX_PUPITAR 247 +#define NATIONAL_DEX_TYRANITAR 248 +#define NATIONAL_DEX_LUGIA 249 +#define NATIONAL_DEX_HO_OH 250 +#define NATIONAL_DEX_CELEBI 251 + +#define NATIONAL_DEX_OLD_UNOWN_B 387 +#define NATIONAL_DEX_OLD_UNOWN_C 388 +#define NATIONAL_DEX_OLD_UNOWN_D 389 +#define NATIONAL_DEX_OLD_UNOWN_E 390 +#define NATIONAL_DEX_OLD_UNOWN_F 391 +#define NATIONAL_DEX_OLD_UNOWN_G 392 +#define NATIONAL_DEX_OLD_UNOWN_H 393 +#define NATIONAL_DEX_OLD_UNOWN_I 394 +#define NATIONAL_DEX_OLD_UNOWN_J 395 +#define NATIONAL_DEX_OLD_UNOWN_K 396 +#define NATIONAL_DEX_OLD_UNOWN_L 397 +#define NATIONAL_DEX_OLD_UNOWN_M 398 +#define NATIONAL_DEX_OLD_UNOWN_N 399 +#define NATIONAL_DEX_OLD_UNOWN_O 400 +#define NATIONAL_DEX_OLD_UNOWN_P 401 +#define NATIONAL_DEX_OLD_UNOWN_Q 402 +#define NATIONAL_DEX_OLD_UNOWN_R 403 +#define NATIONAL_DEX_OLD_UNOWN_S 404 +#define NATIONAL_DEX_OLD_UNOWN_T 405 +#define NATIONAL_DEX_OLD_UNOWN_U 406 +#define NATIONAL_DEX_OLD_UNOWN_V 407 +#define NATIONAL_DEX_OLD_UNOWN_W 408 +#define NATIONAL_DEX_OLD_UNOWN_X 409 +#define NATIONAL_DEX_OLD_UNOWN_Y 410 +#define NATIONAL_DEX_OLD_UNOWN_Z 411 + +#define NATIONAL_DEX_TREECKO 252 +#define NATIONAL_DEX_GROVYLE 253 +#define NATIONAL_DEX_SCEPTILE 254 +#define NATIONAL_DEX_TORCHIC 255 +#define NATIONAL_DEX_COMBUSKEN 256 +#define NATIONAL_DEX_BLAZIKEN 257 +#define NATIONAL_DEX_MUDKIP 258 +#define NATIONAL_DEX_MARSHTOMP 259 +#define NATIONAL_DEX_SWAMPERT 260 +#define NATIONAL_DEX_POOCHYENA 261 +#define NATIONAL_DEX_MIGHTYENA 262 +#define NATIONAL_DEX_ZIGZAGOON 263 +#define NATIONAL_DEX_LINOONE 264 +#define NATIONAL_DEX_WURMPLE 265 +#define NATIONAL_DEX_SILCOON 266 +#define NATIONAL_DEX_BEAUTIFLY 267 +#define NATIONAL_DEX_CASCOON 268 +#define NATIONAL_DEX_DUSTOX 269 +#define NATIONAL_DEX_LOTAD 270 +#define NATIONAL_DEX_LOMBRE 271 +#define NATIONAL_DEX_LUDICOLO 272 +#define NATIONAL_DEX_SEEDOT 273 +#define NATIONAL_DEX_NUZLEAF 274 +#define NATIONAL_DEX_SHIFTRY 275 +#define NATIONAL_DEX_NINCADA 290 +#define NATIONAL_DEX_NINJASK 291 +#define NATIONAL_DEX_SHEDINJA 292 +#define NATIONAL_DEX_TAILLOW 276 +#define NATIONAL_DEX_SWELLOW 277 +#define NATIONAL_DEX_SHROOMISH 285 +#define NATIONAL_DEX_BRELOOM 286 +#define NATIONAL_DEX_SPINDA 327 +#define NATIONAL_DEX_WINGULL 278 +#define NATIONAL_DEX_PELIPPER 279 +#define NATIONAL_DEX_SURSKIT 283 +#define NATIONAL_DEX_MASQUERAIN 284 +#define NATIONAL_DEX_WAILMER 320 +#define NATIONAL_DEX_WAILORD 321 +#define NATIONAL_DEX_SKITTY 300 +#define NATIONAL_DEX_DELCATTY 301 +#define NATIONAL_DEX_KECLEON 352 +#define NATIONAL_DEX_BALTOY 343 +#define NATIONAL_DEX_CLAYDOL 344 +#define NATIONAL_DEX_NOSEPASS 299 +#define NATIONAL_DEX_TORKOAL 324 +#define NATIONAL_DEX_SABLEYE 302 +#define NATIONAL_DEX_BARBOACH 339 +#define NATIONAL_DEX_WHISCASH 340 +#define NATIONAL_DEX_LUVDISC 370 +#define NATIONAL_DEX_CORPHISH 341 +#define NATIONAL_DEX_CRAWDAUNT 342 +#define NATIONAL_DEX_FEEBAS 349 +#define NATIONAL_DEX_MILOTIC 350 +#define NATIONAL_DEX_CARVANHA 318 +#define NATIONAL_DEX_SHARPEDO 319 +#define NATIONAL_DEX_TRAPINCH 328 +#define NATIONAL_DEX_VIBRAVA 329 +#define NATIONAL_DEX_FLYGON 330 +#define NATIONAL_DEX_MAKUHITA 296 +#define NATIONAL_DEX_HARIYAMA 297 +#define NATIONAL_DEX_ELECTRIKE 309 +#define NATIONAL_DEX_MANECTRIC 310 +#define NATIONAL_DEX_NUMEL 322 +#define NATIONAL_DEX_CAMERUPT 323 +#define NATIONAL_DEX_SPHEAL 363 +#define NATIONAL_DEX_SEALEO 364 +#define NATIONAL_DEX_WALREIN 365 +#define NATIONAL_DEX_CACNEA 331 +#define NATIONAL_DEX_CACTURNE 332 +#define NATIONAL_DEX_SNORUNT 361 +#define NATIONAL_DEX_GLALIE 362 +#define NATIONAL_DEX_LUNATONE 337 +#define NATIONAL_DEX_SOLROCK 338 +#define NATIONAL_DEX_AZURILL 298 +#define NATIONAL_DEX_SPOINK 325 +#define NATIONAL_DEX_GRUMPIG 326 +#define NATIONAL_DEX_PLUSLE 311 +#define NATIONAL_DEX_MINUN 312 +#define NATIONAL_DEX_MAWILE 303 +#define NATIONAL_DEX_MEDITITE 307 +#define NATIONAL_DEX_MEDICHAM 308 +#define NATIONAL_DEX_SWABLU 333 +#define NATIONAL_DEX_ALTARIA 334 +#define NATIONAL_DEX_WYNAUT 360 +#define NATIONAL_DEX_DUSKULL 355 +#define NATIONAL_DEX_DUSCLOPS 356 +#define NATIONAL_DEX_ROSELIA 315 +#define NATIONAL_DEX_SLAKOTH 287 +#define NATIONAL_DEX_VIGOROTH 288 +#define NATIONAL_DEX_SLAKING 289 +#define NATIONAL_DEX_GULPIN 316 +#define NATIONAL_DEX_SWALOT 317 +#define NATIONAL_DEX_TROPIUS 357 +#define NATIONAL_DEX_WHISMUR 293 +#define NATIONAL_DEX_LOUDRED 294 +#define NATIONAL_DEX_EXPLOUD 295 +#define NATIONAL_DEX_CLAMPERL 366 +#define NATIONAL_DEX_HUNTAIL 367 +#define NATIONAL_DEX_GOREBYSS 368 +#define NATIONAL_DEX_ABSOL 359 +#define NATIONAL_DEX_SHUPPET 353 +#define NATIONAL_DEX_BANETTE 354 +#define NATIONAL_DEX_SEVIPER 336 +#define NATIONAL_DEX_ZANGOOSE 335 +#define NATIONAL_DEX_RELICANTH 369 +#define NATIONAL_DEX_ARON 304 +#define NATIONAL_DEX_LAIRON 305 +#define NATIONAL_DEX_AGGRON 306 +#define NATIONAL_DEX_CASTFORM 351 +#define NATIONAL_DEX_VOLBEAT 313 +#define NATIONAL_DEX_ILLUMISE 314 +#define NATIONAL_DEX_LILEEP 345 +#define NATIONAL_DEX_CRADILY 346 +#define NATIONAL_DEX_ANORITH 347 +#define NATIONAL_DEX_ARMALDO 348 +#define NATIONAL_DEX_RALTS 280 +#define NATIONAL_DEX_KIRLIA 281 +#define NATIONAL_DEX_GARDEVOIR 282 +#define NATIONAL_DEX_BAGON 371 +#define NATIONAL_DEX_SHELGON 372 +#define NATIONAL_DEX_SALAMENCE 373 +#define NATIONAL_DEX_BELDUM 374 +#define NATIONAL_DEX_METANG 375 +#define NATIONAL_DEX_METAGROSS 376 +#define NATIONAL_DEX_REGIROCK 377 +#define NATIONAL_DEX_REGICE 378 +#define NATIONAL_DEX_REGISTEEL 379 +#define NATIONAL_DEX_KYOGRE 382 +#define NATIONAL_DEX_GROUDON 383 +#define NATIONAL_DEX_RAYQUAZA 384 +#define NATIONAL_DEX_LATIAS 380 +#define NATIONAL_DEX_LATIOS 381 +#define NATIONAL_DEX_JIRACHI 385 +#define NATIONAL_DEX_DEOXYS 386 +#define NATIONAL_DEX_CHIMECHO 358 + +// Hoenn Dex Index Defines + +#define HOENN_DEX_BULBASAUR 203 +#define HOENN_DEX_IVYSAUR 204 +#define HOENN_DEX_VENUSAUR 205 +#define HOENN_DEX_CHARMANDER 206 +#define HOENN_DEX_CHARMELEON 207 +#define HOENN_DEX_CHARIZARD 208 +#define HOENN_DEX_SQUIRTLE 209 +#define HOENN_DEX_WARTORTLE 210 +#define HOENN_DEX_BLASTOISE 211 +#define HOENN_DEX_CATERPIE 212 +#define HOENN_DEX_METAPOD 213 +#define HOENN_DEX_BUTTERFREE 214 +#define HOENN_DEX_WEEDLE 215 +#define HOENN_DEX_KAKUNA 216 +#define HOENN_DEX_BEEDRILL 217 +#define HOENN_DEX_PIDGEY 218 +#define HOENN_DEX_PIDGEOTTO 219 +#define HOENN_DEX_PIDGEOT 220 +#define HOENN_DEX_RATTATA 221 +#define HOENN_DEX_RATICATE 222 +#define HOENN_DEX_SPEAROW 223 +#define HOENN_DEX_FEAROW 224 +#define HOENN_DEX_EKANS 225 +#define HOENN_DEX_ARBOK 226 +#define HOENN_DEX_PIKACHU 156 +#define HOENN_DEX_RAICHU 157 +#define HOENN_DEX_SANDSHREW 112 +#define HOENN_DEX_SANDSLASH 113 +#define HOENN_DEX_NIDORAN_F 227 +#define HOENN_DEX_NIDORINA 228 +#define HOENN_DEX_NIDOQUEEN 229 +#define HOENN_DEX_NIDORAN_M 230 +#define HOENN_DEX_NIDORINO 231 +#define HOENN_DEX_NIDOKING 232 +#define HOENN_DEX_CLEFAIRY 233 +#define HOENN_DEX_CLEFABLE 234 +#define HOENN_DEX_VULPIX 153 +#define HOENN_DEX_NINETALES 154 +#define HOENN_DEX_JIGGLYPUFF 138 +#define HOENN_DEX_WIGGLYTUFF 139 +#define HOENN_DEX_ZUBAT 63 +#define HOENN_DEX_GOLBAT 64 +#define HOENN_DEX_ODDISH 88 +#define HOENN_DEX_GLOOM 89 +#define HOENN_DEX_VILEPLUME 90 +#define HOENN_DEX_PARAS 235 +#define HOENN_DEX_PARASECT 236 +#define HOENN_DEX_VENONAT 237 +#define HOENN_DEX_VENOMOTH 238 +#define HOENN_DEX_DIGLETT 239 +#define HOENN_DEX_DUGTRIO 240 +#define HOENN_DEX_MEOWTH 241 +#define HOENN_DEX_PERSIAN 242 +#define HOENN_DEX_PSYDUCK 158 +#define HOENN_DEX_GOLDUCK 159 +#define HOENN_DEX_MANKEY 243 +#define HOENN_DEX_PRIMEAPE 244 +#define HOENN_DEX_GROWLITHE 245 +#define HOENN_DEX_ARCANINE 246 +#define HOENN_DEX_POLIWAG 247 +#define HOENN_DEX_POLIWHIRL 248 +#define HOENN_DEX_POLIWRATH 249 +#define HOENN_DEX_ABRA 39 +#define HOENN_DEX_KADABRA 40 +#define HOENN_DEX_ALAKAZAM 41 +#define HOENN_DEX_MACHOP 73 +#define HOENN_DEX_MACHOKE 74 +#define HOENN_DEX_MACHAMP 75 +#define HOENN_DEX_BELLSPROUT 250 +#define HOENN_DEX_WEEPINBELL 251 +#define HOENN_DEX_VICTREEBEL 252 +#define HOENN_DEX_TENTACOOL 66 +#define HOENN_DEX_TENTACRUEL 67 +#define HOENN_DEX_GEODUDE 57 +#define HOENN_DEX_GRAVELER 58 +#define HOENN_DEX_GOLEM 59 +#define HOENN_DEX_PONYTA 253 +#define HOENN_DEX_RAPIDASH 254 +#define HOENN_DEX_SLOWPOKE 255 +#define HOENN_DEX_SLOWBRO 256 +#define HOENN_DEX_MAGNEMITE 82 +#define HOENN_DEX_MAGNETON 83 +#define HOENN_DEX_FARFETCHD 257 +#define HOENN_DEX_DODUO 92 +#define HOENN_DEX_DODRIO 93 +#define HOENN_DEX_SEEL 258 +#define HOENN_DEX_DEWGONG 259 +#define HOENN_DEX_GRIMER 106 +#define HOENN_DEX_MUK 107 +#define HOENN_DEX_SHELLDER 260 +#define HOENN_DEX_CLOYSTER 261 +#define HOENN_DEX_GASTLY 262 +#define HOENN_DEX_HAUNTER 263 +#define HOENN_DEX_GENGAR 264 +#define HOENN_DEX_ONIX 265 +#define HOENN_DEX_DROWZEE 266 +#define HOENN_DEX_HYPNO 267 +#define HOENN_DEX_KRABBY 268 +#define HOENN_DEX_KINGLER 269 +#define HOENN_DEX_VOLTORB 84 +#define HOENN_DEX_ELECTRODE 85 +#define HOENN_DEX_EXEGGCUTE 270 +#define HOENN_DEX_EXEGGUTOR 271 +#define HOENN_DEX_CUBONE 272 +#define HOENN_DEX_MAROWAK 273 +#define HOENN_DEX_HITMONLEE 274 +#define HOENN_DEX_HITMONCHAN 275 +#define HOENN_DEX_LICKITUNG 276 +#define HOENN_DEX_KOFFING 108 +#define HOENN_DEX_WEEZING 109 +#define HOENN_DEX_RHYHORN 169 +#define HOENN_DEX_RHYDON 170 +#define HOENN_DEX_CHANSEY 277 +#define HOENN_DEX_TANGELA 278 +#define HOENN_DEX_KANGASKHAN 279 +#define HOENN_DEX_HORSEA 184 +#define HOENN_DEX_SEADRA 185 +#define HOENN_DEX_GOLDEEN 50 +#define HOENN_DEX_SEAKING 51 +#define HOENN_DEX_STARYU 143 +#define HOENN_DEX_STARMIE 144 +#define HOENN_DEX_MR_MIME 280 +#define HOENN_DEX_SCYTHER 281 +#define HOENN_DEX_JYNX 282 +#define HOENN_DEX_ELECTABUZZ 283 +#define HOENN_DEX_MAGMAR 284 +#define HOENN_DEX_PINSIR 167 +#define HOENN_DEX_TAUROS 285 +#define HOENN_DEX_MAGIKARP 52 +#define HOENN_DEX_GYARADOS 53 +#define HOENN_DEX_LAPRAS 286 +#define HOENN_DEX_DITTO 287 +#define HOENN_DEX_EEVEE 288 +#define HOENN_DEX_VAPOREON 289 +#define HOENN_DEX_JOLTEON 290 +#define HOENN_DEX_FLAREON 291 +#define HOENN_DEX_PORYGON 292 +#define HOENN_DEX_OMANYTE 293 +#define HOENN_DEX_OMASTAR 294 +#define HOENN_DEX_KABUTO 295 +#define HOENN_DEX_KABUTOPS 296 +#define HOENN_DEX_AERODACTYL 297 +#define HOENN_DEX_SNORLAX 298 +#define HOENN_DEX_ARTICUNO 299 +#define HOENN_DEX_ZAPDOS 300 +#define HOENN_DEX_MOLTRES 301 +#define HOENN_DEX_DRATINI 302 +#define HOENN_DEX_DRAGONAIR 303 +#define HOENN_DEX_DRAGONITE 304 +#define HOENN_DEX_MEWTWO 305 +#define HOENN_DEX_MEW 306 +#define HOENN_DEX_CHIKORITA 307 +#define HOENN_DEX_BAYLEEF 308 +#define HOENN_DEX_MEGANIUM 309 +#define HOENN_DEX_CYNDAQUIL 310 +#define HOENN_DEX_QUILAVA 311 +#define HOENN_DEX_TYPHLOSION 312 +#define HOENN_DEX_TOTODILE 313 +#define HOENN_DEX_CROCONAW 314 +#define HOENN_DEX_FERALIGATR 315 +#define HOENN_DEX_SENTRET 316 +#define HOENN_DEX_FURRET 317 +#define HOENN_DEX_HOOTHOOT 318 +#define HOENN_DEX_NOCTOWL 319 +#define HOENN_DEX_LEDYBA 320 +#define HOENN_DEX_LEDIAN 321 +#define HOENN_DEX_SPINARAK 322 +#define HOENN_DEX_ARIADOS 323 +#define HOENN_DEX_CROBAT 65 +#define HOENN_DEX_CHINCHOU 181 +#define HOENN_DEX_LANTURN 182 +#define HOENN_DEX_PICHU 155 +#define HOENN_DEX_CLEFFA 324 +#define HOENN_DEX_IGGLYBUFF 137 +#define HOENN_DEX_TOGEPI 325 +#define HOENN_DEX_TOGETIC 326 +#define HOENN_DEX_NATU 162 +#define HOENN_DEX_XATU 163 +#define HOENN_DEX_MAREEP 327 +#define HOENN_DEX_FLAAFFY 328 +#define HOENN_DEX_AMPHAROS 329 +#define HOENN_DEX_BELLOSSOM 91 +#define HOENN_DEX_MARILL 55 +#define HOENN_DEX_AZUMARILL 56 +#define HOENN_DEX_SUDOWOODO 330 +#define HOENN_DEX_POLITOED 331 +#define HOENN_DEX_HOPPIP 332 +#define HOENN_DEX_SKIPLOOM 333 +#define HOENN_DEX_JUMPLUFF 334 +#define HOENN_DEX_AIPOM 335 +#define HOENN_DEX_SUNKERN 336 +#define HOENN_DEX_SUNFLORA 337 +#define HOENN_DEX_YANMA 338 +#define HOENN_DEX_WOOPER 339 +#define HOENN_DEX_QUAGSIRE 340 +#define HOENN_DEX_ESPEON 341 +#define HOENN_DEX_UMBREON 342 +#define HOENN_DEX_MURKROW 343 +#define HOENN_DEX_SLOWKING 344 +#define HOENN_DEX_MISDREAVUS 345 +#define HOENN_DEX_UNOWN 346 +#define HOENN_DEX_WOBBUFFET 161 +#define HOENN_DEX_GIRAFARIG 164 +#define HOENN_DEX_PINECO 347 +#define HOENN_DEX_FORRETRESS 348 +#define HOENN_DEX_DUNSPARCE 349 +#define HOENN_DEX_GLIGAR 350 +#define HOENN_DEX_STEELIX 351 +#define HOENN_DEX_SNUBBULL 352 +#define HOENN_DEX_GRANBULL 353 +#define HOENN_DEX_QWILFISH 354 +#define HOENN_DEX_SCIZOR 355 +#define HOENN_DEX_SHUCKLE 356 +#define HOENN_DEX_HERACROSS 168 +#define HOENN_DEX_SNEASEL 357 +#define HOENN_DEX_TEDDIURSA 358 +#define HOENN_DEX_URSARING 359 +#define HOENN_DEX_SLUGMA 103 +#define HOENN_DEX_MAGCARGO 104 +#define HOENN_DEX_SWINUB 360 +#define HOENN_DEX_PILOSWINE 361 +#define HOENN_DEX_CORSOLA 180 +#define HOENN_DEX_REMORAID 362 +#define HOENN_DEX_OCTILLERY 363 +#define HOENN_DEX_DELIBIRD 364 +#define HOENN_DEX_MANTINE 365 +#define HOENN_DEX_SKARMORY 115 +#define HOENN_DEX_HOUNDOUR 366 +#define HOENN_DEX_HOUNDOOM 367 +#define HOENN_DEX_KINGDRA 186 +#define HOENN_DEX_PHANPY 165 +#define HOENN_DEX_DONPHAN 166 +#define HOENN_DEX_PORYGON2 368 +#define HOENN_DEX_STANTLER 369 +#define HOENN_DEX_SMEARGLE 370 +#define HOENN_DEX_TYROGUE 371 +#define HOENN_DEX_HITMONTOP 372 +#define HOENN_DEX_SMOOCHUM 373 +#define HOENN_DEX_ELEKID 374 +#define HOENN_DEX_MAGBY 375 +#define HOENN_DEX_MILTANK 376 +#define HOENN_DEX_BLISSEY 377 +#define HOENN_DEX_RAIKOU 378 +#define HOENN_DEX_ENTEI 379 +#define HOENN_DEX_SUICUNE 380 +#define HOENN_DEX_LARVITAR 381 +#define HOENN_DEX_PUPITAR 382 +#define HOENN_DEX_TYRANITAR 383 +#define HOENN_DEX_LUGIA 384 +#define HOENN_DEX_HO_OH 385 +#define HOENN_DEX_CELEBI 386 + +#define HOENN_DEX_OLD_UNOWN_B 387 +#define HOENN_DEX_OLD_UNOWN_C 388 +#define HOENN_DEX_OLD_UNOWN_D 389 +#define HOENN_DEX_OLD_UNOWN_E 390 +#define HOENN_DEX_OLD_UNOWN_F 391 +#define HOENN_DEX_OLD_UNOWN_G 392 +#define HOENN_DEX_OLD_UNOWN_H 393 +#define HOENN_DEX_OLD_UNOWN_I 394 +#define HOENN_DEX_OLD_UNOWN_J 395 +#define HOENN_DEX_OLD_UNOWN_K 396 +#define HOENN_DEX_OLD_UNOWN_L 397 +#define HOENN_DEX_OLD_UNOWN_M 398 +#define HOENN_DEX_OLD_UNOWN_N 399 +#define HOENN_DEX_OLD_UNOWN_O 400 +#define HOENN_DEX_OLD_UNOWN_P 401 +#define HOENN_DEX_OLD_UNOWN_Q 402 +#define HOENN_DEX_OLD_UNOWN_R 403 +#define HOENN_DEX_OLD_UNOWN_S 404 +#define HOENN_DEX_OLD_UNOWN_T 405 +#define HOENN_DEX_OLD_UNOWN_U 406 +#define HOENN_DEX_OLD_UNOWN_V 407 +#define HOENN_DEX_OLD_UNOWN_W 408 +#define HOENN_DEX_OLD_UNOWN_X 409 +#define HOENN_DEX_OLD_UNOWN_Y 410 +#define HOENN_DEX_OLD_UNOWN_Z 411 + +#define HOENN_DEX_TREECKO 1 +#define HOENN_DEX_GROVYLE 2 +#define HOENN_DEX_SCEPTILE 3 +#define HOENN_DEX_TORCHIC 4 +#define HOENN_DEX_COMBUSKEN 5 +#define HOENN_DEX_BLAZIKEN 6 +#define HOENN_DEX_MUDKIP 7 +#define HOENN_DEX_MARSHTOMP 8 +#define HOENN_DEX_SWAMPERT 9 +#define HOENN_DEX_POOCHYENA 10 +#define HOENN_DEX_MIGHTYENA 11 +#define HOENN_DEX_ZIGZAGOON 12 +#define HOENN_DEX_LINOONE 13 +#define HOENN_DEX_WURMPLE 14 +#define HOENN_DEX_SILCOON 15 +#define HOENN_DEX_BEAUTIFLY 16 +#define HOENN_DEX_CASCOON 17 +#define HOENN_DEX_DUSTOX 18 +#define HOENN_DEX_LOTAD 19 +#define HOENN_DEX_LOMBRE 20 +#define HOENN_DEX_LUDICOLO 21 +#define HOENN_DEX_SEEDOT 22 +#define HOENN_DEX_NUZLEAF 23 +#define HOENN_DEX_SHIFTRY 24 +#define HOENN_DEX_NINCADA 42 +#define HOENN_DEX_NINJASK 43 +#define HOENN_DEX_SHEDINJA 44 +#define HOENN_DEX_TAILLOW 25 +#define HOENN_DEX_SWELLOW 26 +#define HOENN_DEX_SHROOMISH 34 +#define HOENN_DEX_BRELOOM 35 +#define HOENN_DEX_SPINDA 114 +#define HOENN_DEX_WINGULL 27 +#define HOENN_DEX_PELIPPER 28 +#define HOENN_DEX_SURSKIT 32 +#define HOENN_DEX_MASQUERAIN 33 +#define HOENN_DEX_WAILMER 99 +#define HOENN_DEX_WAILORD 100 +#define HOENN_DEX_SKITTY 61 +#define HOENN_DEX_DELCATTY 62 +#define HOENN_DEX_KECLEON 145 +#define HOENN_DEX_BALTOY 131 +#define HOENN_DEX_CLAYDOL 132 +#define HOENN_DEX_NOSEPASS 60 +#define HOENN_DEX_TORKOAL 105 +#define HOENN_DEX_SABLEYE 68 +#define HOENN_DEX_BARBOACH 127 +#define HOENN_DEX_WHISCASH 128 +#define HOENN_DEX_LUVDISC 183 +#define HOENN_DEX_CORPHISH 129 +#define HOENN_DEX_CRAWDAUNT 130 +#define HOENN_DEX_FEEBAS 140 +#define HOENN_DEX_MILOTIC 141 +#define HOENN_DEX_CARVANHA 97 +#define HOENN_DEX_SHARPEDO 98 +#define HOENN_DEX_TRAPINCH 116 +#define HOENN_DEX_VIBRAVA 117 +#define HOENN_DEX_FLYGON 118 +#define HOENN_DEX_MAKUHITA 48 +#define HOENN_DEX_HARIYAMA 49 +#define HOENN_DEX_ELECTRIKE 78 +#define HOENN_DEX_MANECTRIC 79 +#define HOENN_DEX_NUMEL 101 +#define HOENN_DEX_CAMERUPT 102 +#define HOENN_DEX_SPHEAL 173 +#define HOENN_DEX_SEALEO 174 +#define HOENN_DEX_WALREIN 175 +#define HOENN_DEX_CACNEA 119 +#define HOENN_DEX_CACTURNE 120 +#define HOENN_DEX_SNORUNT 171 +#define HOENN_DEX_GLALIE 172 +#define HOENN_DEX_LUNATONE 125 +#define HOENN_DEX_SOLROCK 126 +#define HOENN_DEX_AZURILL 54 +#define HOENN_DEX_SPOINK 110 +#define HOENN_DEX_GRUMPIG 111 +#define HOENN_DEX_PLUSLE 80 +#define HOENN_DEX_MINUN 81 +#define HOENN_DEX_MAWILE 69 +#define HOENN_DEX_MEDITITE 76 +#define HOENN_DEX_MEDICHAM 77 +#define HOENN_DEX_SWABLU 121 +#define HOENN_DEX_ALTARIA 122 +#define HOENN_DEX_WYNAUT 160 +#define HOENN_DEX_DUSKULL 148 +#define HOENN_DEX_DUSCLOPS 149 +#define HOENN_DEX_ROSELIA 94 +#define HOENN_DEX_SLAKOTH 36 +#define HOENN_DEX_VIGOROTH 37 +#define HOENN_DEX_SLAKING 38 +#define HOENN_DEX_GULPIN 95 +#define HOENN_DEX_SWALOT 96 +#define HOENN_DEX_TROPIUS 150 +#define HOENN_DEX_WHISMUR 45 +#define HOENN_DEX_LOUDRED 46 +#define HOENN_DEX_EXPLOUD 47 +#define HOENN_DEX_CLAMPERL 176 +#define HOENN_DEX_HUNTAIL 177 +#define HOENN_DEX_GOREBYSS 178 +#define HOENN_DEX_ABSOL 152 +#define HOENN_DEX_SHUPPET 146 +#define HOENN_DEX_BANETTE 147 +#define HOENN_DEX_SEVIPER 124 +#define HOENN_DEX_ZANGOOSE 123 +#define HOENN_DEX_RELICANTH 179 +#define HOENN_DEX_ARON 70 +#define HOENN_DEX_LAIRON 71 +#define HOENN_DEX_AGGRON 72 +#define HOENN_DEX_CASTFORM 142 +#define HOENN_DEX_VOLBEAT 86 +#define HOENN_DEX_ILLUMISE 87 +#define HOENN_DEX_LILEEP 133 +#define HOENN_DEX_CRADILY 134 +#define HOENN_DEX_ANORITH 135 +#define HOENN_DEX_ARMALDO 136 +#define HOENN_DEX_RALTS 29 +#define HOENN_DEX_KIRLIA 30 +#define HOENN_DEX_GARDEVOIR 31 +#define HOENN_DEX_BAGON 187 +#define HOENN_DEX_SHELGON 188 +#define HOENN_DEX_SALAMENCE 189 +#define HOENN_DEX_BELDUM 190 +#define HOENN_DEX_METANG 191 +#define HOENN_DEX_METAGROSS 192 +#define HOENN_DEX_REGIROCK 193 +#define HOENN_DEX_REGICE 194 +#define HOENN_DEX_REGISTEEL 195 +#define HOENN_DEX_KYOGRE 198 +#define HOENN_DEX_GROUDON 199 +#define HOENN_DEX_RAYQUAZA 200 +#define HOENN_DEX_LATIAS 196 +#define HOENN_DEX_LATIOS 197 +#define HOENN_DEX_JIRACHI 201 +#define HOENN_DEX_DEOXYS 202 +#define HOENN_DEX_CHIMECHO 151 + #endif // GUARD_CONSTANTS_SPECIES_H diff --git a/src/pokemon.c b/src/pokemon.c index 7c010cd391..5850712540 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -112,9 +112,1253 @@ EWRAM_DATA struct Unknown_806F160_Struct *gUnknown_020249B4[2] = {NULL}; #include "data/battle_moves.h" static const u8 sUnreferencedData[] = {0x34, 0x00, 0x10, 0x00, 0x01, 0x01, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00}; -const u16 gSpeciesToHoennPokedexNum[] = {203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 156, 157, 112, 113, 227, 228, 229, 230, 231, 232, 233, 234, 153, 154, 138, 139, 63, 64, 88, 89, 90, 235, 236, 237, 238, 239, 240, 241, 242, 158, 159, 243, 244, 245, 246, 247, 248, 249, 39, 40, 41, 73, 74, 75, 250, 251, 252, 66, 67, 57, 58, 59, 253, 254, 255, 256, 82, 83, 257, 92, 93, 258, 259, 106, 107, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 84, 85, 270, 271, 272, 273, 274, 275, 276, 108, 109, 169, 170, 277, 278, 279, 184, 185, 50, 51, 143, 144, 280, 281, 282, 283, 284, 167, 285, 52, 53, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 65, 181, 182, 155, 324, 137, 325, 326, 162, 163, 327, 328, 329, 91, 55, 56, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 161, 164, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 168, 357, 358, 359, 103, 104, 360, 361, 180, 362, 363, 364, 365, 115, 366, 367, 186, 165, 166, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 42, 43, 44, 25, 26, 34, 35, 114, 27, 28, 32, 33, 99, 100, 61, 62, 145, 131, 132, 60, 105, 68, 127, 128, 183, 129, 130, 140, 141, 97, 98, 116, 117, 118, 48, 49, 78, 79, 101, 102, 173, 174, 175, 119, 120, 171, 172, 125, 126, 54, 110, 111, 80, 81, 69, 76, 77, 121, 122, 160, 148, 149, 94, 36, 37, 38, 95, 96, 150, 45, 46, 47, 176, 177, 178, 152, 146, 147, 124, 123, 179, 70, 71, 72, 142, 86, 87, 133, 134, 135, 136, 29, 30, 31, 187, 188, 189, 190, 191, 192, 193, 194, 195, 198, 199, 200, 196, 197, 201, 202, 151}; -const u16 gSpeciesToNationalPokedexNum[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 290, 291, 292, 276, 277, 285, 286, 327, 278, 279, 283, 284, 320, 321, 300, 301, 352, 343, 344, 299, 324, 302, 339, 340, 370, 341, 342, 349, 350, 318, 319, 328, 329, 330, 296, 297, 309, 310, 322, 323, 363, 364, 365, 331, 332, 361, 362, 337, 338, 298, 325, 326, 311, 312, 303, 307, 308, 333, 334, 360, 355, 356, 315, 287, 288, 289, 316, 317, 357, 293, 294, 295, 366, 367, 368, 359, 353, 354, 336, 335, 369, 304, 305, 306, 351, 313, 314, 345, 346, 347, 348, 280, 281, 282, 371, 372, 373, 374, 375, 376, 377, 378, 379, 382, 383, 384, 380, 381, 385, 386, 358}; -const u16 gHoennToNationalOrder[] = {252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 63, 64, 65, 290, 291, 292, 293, 294, 295, 296, 297, 118, 119, 129, 130, 298, 183, 184, 74, 75, 76, 299, 300, 301, 41, 42, 169, 72, 73, 302, 303, 304, 305, 306, 66, 67, 68, 307, 308, 309, 310, 311, 312, 81, 82, 100, 101, 313, 314, 43, 44, 45, 182, 84, 85, 315, 316, 317, 318, 319, 320, 321, 322, 323, 218, 219, 324, 88, 89, 109, 110, 325, 326, 27, 28, 327, 227, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 174, 39, 40, 349, 350, 351, 120, 121, 352, 353, 354, 355, 356, 357, 358, 359, 37, 38, 172, 25, 26, 54, 55, 360, 202, 177, 178, 203, 231, 232, 127, 214, 111, 112, 361, 362, 363, 364, 365, 366, 367, 368, 369, 222, 170, 171, 370, 116, 117, 230, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 29, 30, 31, 32, 33, 34, 35, 36, 46, 47, 48, 49, 50, 51, 52, 53, 56, 57, 58, 59, 60, 61, 62, 69, 70, 71, 77, 78, 79, 80, 83, 86, 87, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 102, 103, 104, 105, 106, 107, 108, 113, 114, 115, 122, 123, 124, 125, 126, 128, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 173, 175, 176, 179, 180, 181, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 215, 216, 217, 220, 221, 223, 224, 225, 226, 228, 229, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411}; +const u16 gSpeciesToHoennPokedexNum[] = // Assigns all species to the Hoenn Dex Index (Summary No. for Hoenn Dex) +{ + // SPECIES_NONE + HOENN_DEX_BULBASAUR, // SPECIES_BULBASAUR + HOENN_DEX_IVYSAUR, // SPECIES_IVYSAUR + HOENN_DEX_VENUSAUR, // SPECIES_VENUSAUR + HOENN_DEX_CHARMANDER, // SPECIES_CHARMANDER + HOENN_DEX_CHARMELEON, // SPECIES_CHARMELEON + HOENN_DEX_CHARIZARD, // SPECIES_CHARIZARD + HOENN_DEX_SQUIRTLE, // SPECIES_SQUIRTLE + HOENN_DEX_WARTORTLE, // SPECIES_WARTORTLE + HOENN_DEX_BLASTOISE, // SPECIES_BLASTOISE + HOENN_DEX_CATERPIE, // SPECIES_CATERPIE + HOENN_DEX_METAPOD, // SPECIES_METAPOD + HOENN_DEX_BUTTERFREE, // SPECIES_BUTTERFREE + HOENN_DEX_WEEDLE, // SPECIES_WEEDLE + HOENN_DEX_KAKUNA, // SPECIES_KAKUNA + HOENN_DEX_BEEDRILL, // SPECIES_BEEDRILL + HOENN_DEX_PIDGEY, // SPECIES_PIDGEY + HOENN_DEX_PIDGEOTTO, // SPECIES_PIDGEOTTO + HOENN_DEX_PIDGEOT, // SPECIES_PIDGEOT + HOENN_DEX_RATTATA, // SPECIES_RATTATA + HOENN_DEX_RATICATE, // SPECIES_RATICATE + HOENN_DEX_SPEAROW, // SPECIES_SPEAROW + HOENN_DEX_FEAROW, // SPECIES_FEAROW + HOENN_DEX_EKANS, // SPECIES_EKANS + HOENN_DEX_ARBOK, // SPECIES_ARBOK + HOENN_DEX_PIKACHU, // SPECIES_PIKACHU + HOENN_DEX_RAICHU, // SPECIES_RAICHU + HOENN_DEX_SANDSHREW, // SPECIES_SANDSHREW + HOENN_DEX_SANDSLASH, // SPECIES_SANDSLASH + HOENN_DEX_NIDORAN_F, // SPECIES_NIDORAN_F + HOENN_DEX_NIDORINA, // SPECIES_NIDORINA + HOENN_DEX_NIDOQUEEN, // SPECIES_NIDOQUEEN + HOENN_DEX_NIDORAN_M, // SPECIES_NIDORAN_M + HOENN_DEX_NIDORINO, // SPECIES_NIDORINO + HOENN_DEX_NIDOKING, // SPECIES_NIDOKING + HOENN_DEX_CLEFAIRY, // SPECIES_CLEFAIRY + HOENN_DEX_CLEFABLE, // SPECIES_CLEFABLE + HOENN_DEX_VULPIX, // SPECIES_VULPIX + HOENN_DEX_NINETALES, // SPECIES_NINETALES + HOENN_DEX_JIGGLYPUFF, // SPECIES_JIGGLYPUFF + HOENN_DEX_WIGGLYTUFF, // SPECIES_WIGGLYTUFF + HOENN_DEX_ZUBAT, // SPECIES_ZUBAT + HOENN_DEX_GOLBAT, // SPECIES_GOLBAT + HOENN_DEX_ODDISH, // SPECIES_ODDISH + HOENN_DEX_GLOOM, // SPECIES_GLOOM + HOENN_DEX_VILEPLUME, // SPECIES_VILEPLUME + HOENN_DEX_PARAS, // SPECIES_PARAS + HOENN_DEX_PARASECT, // SPECIES_PARASECT + HOENN_DEX_VENONAT, // SPECIES_VENONAT + HOENN_DEX_VENOMOTH, // SPECIES_VENOMOTH + HOENN_DEX_DIGLETT, // SPECIES_DIGLETT + HOENN_DEX_DUGTRIO, // SPECIES_DUGTRIO + HOENN_DEX_MEOWTH, // SPECIES_MEOWTH + HOENN_DEX_PERSIAN, // SPECIES_PERSIAN + HOENN_DEX_PSYDUCK, // SPECIES_PSYDUCK + HOENN_DEX_GOLDUCK, // SPECIES_GOLDUCK + HOENN_DEX_MANKEY, // SPECIES_MANKEY + HOENN_DEX_PRIMEAPE, // SPECIES_PRIMEAPE + HOENN_DEX_GROWLITHE, // SPECIES_GROWLITHE + HOENN_DEX_ARCANINE, // SPECIES_ARCANINE + HOENN_DEX_POLIWAG, // SPECIES_POLIWAG + HOENN_DEX_POLIWHIRL, // SPECIES_POLIWHIRL + HOENN_DEX_POLIWRATH, // SPECIES_POLIWRATH + HOENN_DEX_ABRA, // SPECIES_ABRA + HOENN_DEX_KADABRA, // SPECIES_KADABRA + HOENN_DEX_ALAKAZAM, // SPECIES_ALAKAZAM + HOENN_DEX_MACHOP, // SPECIES_MACHOP + HOENN_DEX_MACHOKE, // SPECIES_MACHOKE + HOENN_DEX_MACHAMP, // SPECIES_MACHAMP + HOENN_DEX_BELLSPROUT, // SPECIES_BELLSPROUT + HOENN_DEX_WEEPINBELL, // SPECIES_WEEPINBELL + HOENN_DEX_VICTREEBEL, // SPECIES_VICTREEBEL + HOENN_DEX_TENTACOOL, // SPECIES_TENTACOOL + HOENN_DEX_TENTACRUEL, // SPECIES_TENTACRUEL + HOENN_DEX_GEODUDE, // SPECIES_GEODUDE + HOENN_DEX_GRAVELER, // SPECIES_GRAVELER + HOENN_DEX_GOLEM, // SPECIES_GOLEM + HOENN_DEX_PONYTA, // SPECIES_PONYTA + HOENN_DEX_RAPIDASH, // SPECIES_RAPIDASH + HOENN_DEX_SLOWPOKE, // SPECIES_SLOWPOKE + HOENN_DEX_SLOWBRO, // SPECIES_SLOWBRO + HOENN_DEX_MAGNEMITE, // SPECIES_MAGNEMITE + HOENN_DEX_MAGNETON, // SPECIES_MAGNETON + HOENN_DEX_FARFETCHD, // SPECIES_FARFETCHD + HOENN_DEX_DODUO, // SPECIES_DODUO + HOENN_DEX_DODRIO, // SPECIES_DODRIO + HOENN_DEX_SEEL, // SPECIES_SEEL + HOENN_DEX_DEWGONG, // SPECIES_DEWGONG + HOENN_DEX_GRIMER, // SPECIES_GRIMER + HOENN_DEX_MUK, // SPECIES_MUK + HOENN_DEX_SHELLDER, // SPECIES_SHELLDER + HOENN_DEX_CLOYSTER, // SPECIES_CLOYSTER + HOENN_DEX_GASTLY, // SPECIES_GASTLY + HOENN_DEX_HAUNTER, // SPECIES_HAUNTER + HOENN_DEX_GENGAR, // SPECIES_GENGAR + HOENN_DEX_ONIX, // SPECIES_ONIX + HOENN_DEX_DROWZEE, // SPECIES_DROWZEE + HOENN_DEX_HYPNO, // SPECIES_HYPNO + HOENN_DEX_KRABBY, // SPECIES_KRABBY + HOENN_DEX_KINGLER, // SPECIES_KINGLER + HOENN_DEX_VOLTORB, // SPECIES_VOLTORB + HOENN_DEX_ELECTRODE, // SPECIES_ELECTRODE + HOENN_DEX_EXEGGCUTE, // SPECIES_EXEGGCUTE + HOENN_DEX_EXEGGUTOR, // SPECIES_EXEGGUTOR + HOENN_DEX_CUBONE, // SPECIES_CUBONE + HOENN_DEX_MAROWAK, // SPECIES_MAROWAK + HOENN_DEX_HITMONLEE, // SPECIES_HITMONLEE + HOENN_DEX_HITMONCHAN, // SPECIES_HITMONCHAN + HOENN_DEX_LICKITUNG, // SPECIES_LICKITUNG + HOENN_DEX_KOFFING, // SPECIES_KOFFING + HOENN_DEX_WEEZING, // SPECIES_WEEZING + HOENN_DEX_RHYHORN, // SPECIES_RHYHORN + HOENN_DEX_RHYDON, // SPECIES_RHYDON + HOENN_DEX_CHANSEY, // SPECIES_CHANSEY + HOENN_DEX_TANGELA, // SPECIES_TANGELA + HOENN_DEX_KANGASKHAN, // SPECIES_KANGASKHAN + HOENN_DEX_HORSEA, // SPECIES_HORSEA + HOENN_DEX_SEADRA, // SPECIES_SEADRA + HOENN_DEX_GOLDEEN, // SPECIES_GOLDEEN + HOENN_DEX_SEAKING, // SPECIES_SEAKING + HOENN_DEX_STARYU, // SPECIES_STARYU + HOENN_DEX_STARMIE, // SPECIES_STARMIE + HOENN_DEX_MR_MIME, // SPECIES_MR_MIME + HOENN_DEX_SCYTHER, // SPECIES_SCYTHER + HOENN_DEX_JYNX, // SPECIES_JYNX + HOENN_DEX_ELECTABUZZ, // SPECIES_ELECTABUZZ + HOENN_DEX_MAGMAR, // SPECIES_MAGMAR + HOENN_DEX_PINSIR, // SPECIES_PINSIR + HOENN_DEX_TAUROS, // SPECIES_TAUROS + HOENN_DEX_MAGIKARP, // SPECIES_MAGIKARP + HOENN_DEX_GYARADOS, // SPECIES_GYARADOS + HOENN_DEX_LAPRAS, // SPECIES_LAPRAS + HOENN_DEX_DITTO, // SPECIES_DITTO + HOENN_DEX_EEVEE, // SPECIES_EEVEE + HOENN_DEX_VAPOREON, // SPECIES_VAPOREON + HOENN_DEX_JOLTEON, // SPECIES_JOLTEON + HOENN_DEX_FLAREON, // SPECIES_FLAREON + HOENN_DEX_PORYGON, // SPECIES_PORYGON + HOENN_DEX_OMANYTE, // SPECIES_OMANYTE + HOENN_DEX_OMASTAR, // SPECIES_OMASTAR + HOENN_DEX_KABUTO, // SPECIES_KABUTO + HOENN_DEX_KABUTOPS, // SPECIES_KABUTOPS + HOENN_DEX_AERODACTYL, // SPECIES_AERODACTYL + HOENN_DEX_SNORLAX, // SPECIES_SNORLAX + HOENN_DEX_ARTICUNO, // SPECIES_ARTICUNO + HOENN_DEX_ZAPDOS, // SPECIES_ZAPDOS + HOENN_DEX_MOLTRES, // SPECIES_MOLTRES + HOENN_DEX_DRATINI, // SPECIES_DRATINI + HOENN_DEX_DRAGONAIR, // SPECIES_DRAGONAIR + HOENN_DEX_DRAGONITE, // SPECIES_DRAGONITE + HOENN_DEX_MEWTWO, // SPECIES_MEWTWO + HOENN_DEX_MEW, // SPECIES_MEW + HOENN_DEX_CHIKORITA, // SPECIES_CHIKORITA + HOENN_DEX_BAYLEEF, // SPECIES_BAYLEEF + HOENN_DEX_MEGANIUM, // SPECIES_MEGANIUM + HOENN_DEX_CYNDAQUIL, // SPECIES_CYNDAQUIL + HOENN_DEX_QUILAVA, // SPECIES_QUILAVA + HOENN_DEX_TYPHLOSION, // SPECIES_TYPHLOSION + HOENN_DEX_TOTODILE, // SPECIES_TOTODILE + HOENN_DEX_CROCONAW, // SPECIES_CROCONAW + HOENN_DEX_FERALIGATR, // SPECIES_FERALIGATR + HOENN_DEX_SENTRET, // SPECIES_SENTRET + HOENN_DEX_FURRET, // SPECIES_FURRET + HOENN_DEX_HOOTHOOT, // SPECIES_HOOTHOOT + HOENN_DEX_NOCTOWL, // SPECIES_NOCTOWL + HOENN_DEX_LEDYBA, // SPECIES_LEDYBA + HOENN_DEX_LEDIAN, // SPECIES_LEDIAN + HOENN_DEX_SPINARAK, // SPECIES_SPINARAK + HOENN_DEX_ARIADOS, // SPECIES_ARIADOS + HOENN_DEX_CROBAT, // SPECIES_CROBAT + HOENN_DEX_CHINCHOU, // SPECIES_CHINCHOU + HOENN_DEX_LANTURN, // SPECIES_LANTURN + HOENN_DEX_PICHU, // SPECIES_PICHU + HOENN_DEX_CLEFFA, // SPECIES_CLEFFA + HOENN_DEX_IGGLYBUFF, // SPECIES_IGGLYBUFF + HOENN_DEX_TOGEPI, // SPECIES_TOGEPI + HOENN_DEX_TOGETIC, // SPECIES_TOGETIC + HOENN_DEX_NATU, // SPECIES_NATU + HOENN_DEX_XATU, // SPECIES_XATU + HOENN_DEX_MAREEP, // SPECIES_MAREEP + HOENN_DEX_FLAAFFY, // SPECIES_FLAAFFY + HOENN_DEX_AMPHAROS, // SPECIES_AMPHAROS + HOENN_DEX_BELLOSSOM, // SPECIES_BELLOSSOM + HOENN_DEX_MARILL, // SPECIES_MARILL + HOENN_DEX_AZUMARILL, // SPECIES_AZUMARILL + HOENN_DEX_SUDOWOODO, // SPECIES_SUDOWOODO + HOENN_DEX_POLITOED, // SPECIES_POLITOED + HOENN_DEX_HOPPIP, // SPECIES_HOPPIP + HOENN_DEX_SKIPLOOM, // SPECIES_SKIPLOOM + HOENN_DEX_JUMPLUFF, // SPECIES_JUMPLUFF + HOENN_DEX_AIPOM, // SPECIES_AIPOM + HOENN_DEX_SUNKERN, // SPECIES_SUNKERN + HOENN_DEX_SUNFLORA, // SPECIES_SUNFLORA + HOENN_DEX_YANMA, // SPECIES_YANMA + HOENN_DEX_WOOPER, // SPECIES_WOOPER + HOENN_DEX_QUAGSIRE, // SPECIES_QUAGSIRE + HOENN_DEX_ESPEON, // SPECIES_ESPEON + HOENN_DEX_UMBREON, // SPECIES_UMBREON + HOENN_DEX_MURKROW, // SPECIES_MURKROW + HOENN_DEX_SLOWKING, // SPECIES_SLOWKING + HOENN_DEX_MISDREAVUS, // SPECIES_MISDREAVUS + HOENN_DEX_UNOWN, // SPECIES_UNOWN + HOENN_DEX_WOBBUFFET, // SPECIES_WOBBUFFET + HOENN_DEX_GIRAFARIG, // SPECIES_GIRAFARIG + HOENN_DEX_PINECO, // SPECIES_PINECO + HOENN_DEX_FORRETRESS, // SPECIES_FORRETRESS + HOENN_DEX_DUNSPARCE, // SPECIES_DUNSPARCE + HOENN_DEX_GLIGAR, // SPECIES_GLIGAR + HOENN_DEX_STEELIX, // SPECIES_STEELIX + HOENN_DEX_SNUBBULL, // SPECIES_SNUBBULL + HOENN_DEX_GRANBULL, // SPECIES_GRANBULL + HOENN_DEX_QWILFISH, // SPECIES_QWILFISH + HOENN_DEX_SCIZOR, // SPECIES_SCIZOR + HOENN_DEX_SHUCKLE, // SPECIES_SHUCKLE + HOENN_DEX_HERACROSS, // SPECIES_HERACROSS + HOENN_DEX_SNEASEL, // SPECIES_SNEASEL + HOENN_DEX_TEDDIURSA, // SPECIES_TEDDIURSA + HOENN_DEX_URSARING, // SPECIES_URSARING + HOENN_DEX_SLUGMA, // SPECIES_SLUGMA + HOENN_DEX_MAGCARGO, // SPECIES_MAGCARGO + HOENN_DEX_SWINUB, // SPECIES_SWINUB + HOENN_DEX_PILOSWINE, // SPECIES_PILOSWINE + HOENN_DEX_CORSOLA, // SPECIES_CORSOLA + HOENN_DEX_REMORAID, // SPECIES_REMORAID + HOENN_DEX_OCTILLERY, // SPECIES_OCTILLERY + HOENN_DEX_DELIBIRD, // SPECIES_DELIBIRD + HOENN_DEX_MANTINE, // SPECIES_MANTINE + HOENN_DEX_SKARMORY, // SPECIES_SKARMORY + HOENN_DEX_HOUNDOUR, // SPECIES_HOUNDOUR + HOENN_DEX_HOUNDOOM, // SPECIES_HOUNDOOM + HOENN_DEX_KINGDRA, // SPECIES_KINGDRA + HOENN_DEX_PHANPY, // SPECIES_PHANPY + HOENN_DEX_DONPHAN, // SPECIES_DONPHAN + HOENN_DEX_PORYGON2, // SPECIES_PORYGON2 + HOENN_DEX_STANTLER, // SPECIES_STANTLER + HOENN_DEX_SMEARGLE, // SPECIES_SMEARGLE + HOENN_DEX_TYROGUE, // SPECIES_TYROGUE + HOENN_DEX_HITMONTOP, // SPECIES_HITMONTOP + HOENN_DEX_SMOOCHUM, // SPECIES_SMOOCHUM + HOENN_DEX_ELEKID, // SPECIES_ELEKID + HOENN_DEX_MAGBY, // SPECIES_MAGBY + HOENN_DEX_MILTANK, // SPECIES_MILTANK + HOENN_DEX_BLISSEY, // SPECIES_BLISSEY + HOENN_DEX_RAIKOU, // SPECIES_RAIKOU + HOENN_DEX_ENTEI, // SPECIES_ENTEI + HOENN_DEX_SUICUNE, // SPECIES_SUICUNE + HOENN_DEX_LARVITAR, // SPECIES_LARVITAR + HOENN_DEX_PUPITAR, // SPECIES_PUPITAR + HOENN_DEX_TYRANITAR, // SPECIES_TYRANITAR + HOENN_DEX_LUGIA, // SPECIES_LUGIA + HOENN_DEX_HO_OH, // SPECIES_HO-OH + HOENN_DEX_CELEBI, // SPECIES_CELEBI + HOENN_DEX_OLD_UNOWN_B, // SPECIES_OLD_UNOWN_B + HOENN_DEX_OLD_UNOWN_C, // SPECIES_OLD_UNOWN_C + HOENN_DEX_OLD_UNOWN_D, // SPECIES_OLD_UNOWN_D + HOENN_DEX_OLD_UNOWN_E, // SPECIES_OLD_UNOWN_E + HOENN_DEX_OLD_UNOWN_F, // SPECIES_OLD_UNOWN_F + HOENN_DEX_OLD_UNOWN_G, // SPECIES_OLD_UNOWN_G + HOENN_DEX_OLD_UNOWN_H, // SPECIES_OLD_UNOWN_H + HOENN_DEX_OLD_UNOWN_I, // SPECIES_OLD_UNOWN_I + HOENN_DEX_OLD_UNOWN_J, // SPECIES_OLD_UNOWN_J + HOENN_DEX_OLD_UNOWN_K, // SPECIES_OLD_UNOWN_K + HOENN_DEX_OLD_UNOWN_L, // SPECIES_OLD_UNOWN_L + HOENN_DEX_OLD_UNOWN_M, // SPECIES_OLD_UNOWN_M + HOENN_DEX_OLD_UNOWN_N, // SPECIES_OLD_UNOWN_N + HOENN_DEX_OLD_UNOWN_O, // SPECIES_OLD_UNOWN_O + HOENN_DEX_OLD_UNOWN_P, // SPECIES_OLD_UNOWN_P + HOENN_DEX_OLD_UNOWN_Q, // SPECIES_OLD_UNOWN_Q + HOENN_DEX_OLD_UNOWN_R, // SPECIES_OLD_UNOWN_R + HOENN_DEX_OLD_UNOWN_S, // SPECIES_OLD_UNOWN_S + HOENN_DEX_OLD_UNOWN_T, // SPECIES_OLD_UNOWN_T + HOENN_DEX_OLD_UNOWN_U, // SPECIES_OLD_UNOWN_U + HOENN_DEX_OLD_UNOWN_V, // SPECIES_OLD_UNOWN_V + HOENN_DEX_OLD_UNOWN_W, // SPECIES_OLD_UNOWN_W + HOENN_DEX_OLD_UNOWN_X, // SPECIES_OLD_UNOWN_X + HOENN_DEX_OLD_UNOWN_Y, // SPECIES_OLD_UNOWN_Y + HOENN_DEX_OLD_UNOWN_Z, // SPECIES_OLD_UNOWN_Z + HOENN_DEX_TREECKO, // SPECIES_TREECKO + HOENN_DEX_GROVYLE, // SPECIES_GROVYLE + HOENN_DEX_SCEPTILE, // SPECIES_SCEPTILE + HOENN_DEX_TORCHIC, // SPECIES_TORCHIC + HOENN_DEX_COMBUSKEN, // SPECIES_COMBUSKEN + HOENN_DEX_BLAZIKEN, // SPECIES_BLAZIKEN + HOENN_DEX_MUDKIP, // SPECIES_MUDKIP + HOENN_DEX_MARSHTOMP, // SPECIES_MARSHTOMP + HOENN_DEX_SWAMPERT, // SPECIES_SWAMPERT + HOENN_DEX_POOCHYENA, // SPECIES_POOCHYENA + HOENN_DEX_MIGHTYENA, // SPECIES_MIGHTYENA + HOENN_DEX_ZIGZAGOON, // SPECIES_ZIGZAGOON + HOENN_DEX_LINOONE, // SPECIES_LINOONE + HOENN_DEX_WURMPLE, // SPECIES_WURMPLE + HOENN_DEX_SILCOON, // SPECIES_SILCOON + HOENN_DEX_BEAUTIFLY, // SPECIES_BEAUTIFLY + HOENN_DEX_CASCOON, // SPECIES_CASCOON + HOENN_DEX_DUSTOX, // SPECIES_DUSTOX + HOENN_DEX_LOTAD, // SPECIES_LOTAD + HOENN_DEX_LOMBRE, // SPECIES_LOMBRE + HOENN_DEX_LUDICOLO, // SPECIES_LUDICOLO + HOENN_DEX_SEEDOT, // SPECIES_SEEDOT + HOENN_DEX_NUZLEAF, // SPECIES_NUZLEAF + HOENN_DEX_SHIFTRY, // SPECIES_SHIFTRY + HOENN_DEX_NINCADA, // SPECIES_NINCADA + HOENN_DEX_NINJASK, // SPECIES_NINJASK + HOENN_DEX_SHEDINJA, // SPECIES_SHEDINJA + HOENN_DEX_TAILLOW, // SPECIES_TAILLOW + HOENN_DEX_SWELLOW, // SPECIES_SWELLOW + HOENN_DEX_SHROOMISH, // SPECIES_SHROOMISH + HOENN_DEX_BRELOOM, // SPECIES_BRELOOM + HOENN_DEX_SPINDA, // SPECIES_SPINDA + HOENN_DEX_WINGULL, // SPECIES_WINGULL + HOENN_DEX_PELIPPER, // SPECIES_PELIPPER + HOENN_DEX_SURSKIT, // SPECIES_SURSKIT + HOENN_DEX_MASQUERAIN, // SPECIES_MASQUERAIN + HOENN_DEX_WAILMER, // SPECIES_WAILMER + HOENN_DEX_WAILORD, // SPECIES_WAILORD + HOENN_DEX_SKITTY, // SPECIES_SKITTY + HOENN_DEX_DELCATTY, // SPECIES_DELCATTY + HOENN_DEX_KECLEON, // SPECIES_KECLEON + HOENN_DEX_BALTOY, // SPECIES_BALTOY + HOENN_DEX_CLAYDOL, // SPECIES_CLAYDOL + HOENN_DEX_NOSEPASS, // SPECIES_NOSEPASS + HOENN_DEX_TORKOAL, // SPECIES_TORKOAL + HOENN_DEX_SABLEYE, // SPECIES_SABLEYE + HOENN_DEX_BARBOACH, // SPECIES_BARBOACH + HOENN_DEX_WHISCASH, // SPECIES_WHISCASH + HOENN_DEX_LUVDISC, // SPECIES_LUVDISC + HOENN_DEX_CORPHISH, // SPECIES_CORPHISH + HOENN_DEX_CRAWDAUNT, // SPECIES_CRAWDAUNT + HOENN_DEX_FEEBAS, // SPECIES_FEEBAS + HOENN_DEX_MILOTIC, // SPECIES_MILOTIC + HOENN_DEX_CARVANHA, // SPECIES_CARVANHA + HOENN_DEX_SHARPEDO, // SPECIES_SHARPEDO + HOENN_DEX_TRAPINCH, // SPECIES_TRAPINCH + HOENN_DEX_VIBRAVA, // SPECIES_VIBRAVA + HOENN_DEX_FLYGON, // SPECIES_FLYGON + HOENN_DEX_MAKUHITA, // SPECIES_MAKUHITA + HOENN_DEX_HARIYAMA, // SPECIES_HARIYAMA + HOENN_DEX_ELECTRIKE, // SPECIES_ELECTRIKE + HOENN_DEX_MANECTRIC, // SPECIES_MANECTRIC + HOENN_DEX_NUMEL, // SPECIES_NUMEL + HOENN_DEX_CAMERUPT, // SPECIES_CAMERUPT + HOENN_DEX_SPHEAL, // SPECIES_SPHEAL + HOENN_DEX_SEALEO, // SPECIES_SEALEO + HOENN_DEX_WALREIN, // SPECIES_WALREIN + HOENN_DEX_CACNEA, // SPECIES_CACNEA + HOENN_DEX_CACTURNE, // SPECIES_CACTURNE + HOENN_DEX_SNORUNT, // SPECIES_SNORUNT + HOENN_DEX_GLALIE, // SPECIES_GLALIE + HOENN_DEX_LUNATONE, // SPECIES_LUNATONE + HOENN_DEX_SOLROCK, // SPECIES_SOLROCK + HOENN_DEX_AZURILL, // SPECIES_AZURILL + HOENN_DEX_SPOINK, // SPECIES_SPOINK + HOENN_DEX_GRUMPIG, // SPECIES_GRUMPIG + HOENN_DEX_PLUSLE, // SPECIES_PLUSLE + HOENN_DEX_MINUN, // SPECIES_MINUN + HOENN_DEX_MAWILE, // SPECIES_MAWILE + HOENN_DEX_MEDITITE, // SPECIES_MEDITITE + HOENN_DEX_MEDICHAM, // SPECIES_MEDICHAM + HOENN_DEX_SWABLU, // SPECIES_SWABLU + HOENN_DEX_ALTARIA, // SPECIES_ALTARIA + HOENN_DEX_WYNAUT, // SPECIES_WYNAUT + HOENN_DEX_DUSKULL, // SPECIES_DUSKULL + HOENN_DEX_DUSCLOPS, // SPECIES_DUSCLOPS + HOENN_DEX_ROSELIA, // SPECIES_ROSELIA + HOENN_DEX_SLAKOTH, // SPECIES_SLAKOTH + HOENN_DEX_VIGOROTH, // SPECIES_VIGOROTH + HOENN_DEX_SLAKING, // SPECIES_SLAKING + HOENN_DEX_GULPIN, // SPECIES_GULPIN + HOENN_DEX_SWALOT, // SPECIES_SWALOT + HOENN_DEX_TROPIUS, // SPECIES_TROPIUS + HOENN_DEX_WHISMUR, // SPECIES_WHISMUR + HOENN_DEX_LOUDRED, // SPECIES_LOUDRED + HOENN_DEX_EXPLOUD, // SPECIES_EXPLOUD + HOENN_DEX_CLAMPERL, // SPECIES_CLAMPERL + HOENN_DEX_HUNTAIL, // SPECIES_HUNTAIL + HOENN_DEX_GOREBYSS, // SPECIES_GOREBYSS + HOENN_DEX_ABSOL, // SPECIES_ABSOL + HOENN_DEX_SHUPPET, // SPECIES_SHUPPET + HOENN_DEX_BANETTE, // SPECIES_BANETTE + HOENN_DEX_SEVIPER, // SPECIES_SEVIPER + HOENN_DEX_ZANGOOSE, // SPECIES_ZANGOOSE + HOENN_DEX_RELICANTH, // SPECIES_RELICANTH + HOENN_DEX_ARON, // SPECIES_ARON + HOENN_DEX_LAIRON, // SPECIES_LAIRON + HOENN_DEX_AGGRON, // SPECIES_AGGRON + HOENN_DEX_CASTFORM, // SPECIES_CASTFORM + HOENN_DEX_VOLBEAT, // SPECIES_VOLBEAT + HOENN_DEX_ILLUMISE, // SPECIES_ILLUMISE + HOENN_DEX_LILEEP, // SPECIES_LILEEP + HOENN_DEX_CRADILY, // SPECIES_CRADILY + HOENN_DEX_ANORITH, // SPECIES_ANORITH + HOENN_DEX_ARMALDO, // SPECIES_ARMALDO + HOENN_DEX_RALTS, // SPECIES_RALTS + HOENN_DEX_KIRLIA, // SPECIES_KIRLIA + HOENN_DEX_GARDEVOIR, // SPECIES_GARDEVOIR + HOENN_DEX_BAGON, // SPECIES_BAGON + HOENN_DEX_SHELGON, // SPECIES_SHELGON + HOENN_DEX_SALAMENCE, // SPECIES_SALAMENCE + HOENN_DEX_BELDUM, // SPECIES_BELDUM + HOENN_DEX_METANG, // SPECIES_METANG + HOENN_DEX_METAGROSS, // SPECIES_METAGROSS + HOENN_DEX_REGIROCK, // SPECIES_REGIROCK + HOENN_DEX_REGICE, // SPECIES_REGICE + HOENN_DEX_REGISTEEL, // SPECIES_REGISTEEL + HOENN_DEX_KYOGRE, // SPECIES_KYOGRE + HOENN_DEX_GROUDON, // SPECIES_GROUDON + HOENN_DEX_RAYQUAZA, // SPECIES_RAYQUAZA + HOENN_DEX_LATIAS, // SPECIES_LATIAS + HOENN_DEX_LATIOS, // SPECIES_LATIOS + HOENN_DEX_JIRACHI, // SPECIES_JIRACHI + HOENN_DEX_DEOXYS, // SPECIES_DEOXYS + HOENN_DEX_CHIMECHO // SPECIES_CHIMECHO +}; + +const u16 gSpeciesToNationalPokedexNum[] = // Assigns all species to the National Dex Index (Summary No. for National Dex) +{ + // SPECIES_NONE + NATIONAL_DEX_BULBASAUR, // SPECIES_BULBASAUR + NATIONAL_DEX_IVYSAUR, // SPECIES_IVYSAUR + NATIONAL_DEX_VENUSAUR, // SPECIES_VENUSAUR + NATIONAL_DEX_CHARMANDER, // SPECIES_CHARMANDER + NATIONAL_DEX_CHARMELEON, // SPECIES_CHARMELEON + NATIONAL_DEX_CHARIZARD, // SPECIES_CHARIZARD + NATIONAL_DEX_SQUIRTLE, // SPECIES_SQUIRTLE + NATIONAL_DEX_WARTORTLE, // SPECIES_WARTORTLE + NATIONAL_DEX_BLASTOISE, // SPECIES_BLASTOISE + NATIONAL_DEX_CATERPIE, // SPECIES_CATERPIE + NATIONAL_DEX_METAPOD, // SPECIES_METAPOD + NATIONAL_DEX_BUTTERFREE, // SPECIES_BUTTERFREE + NATIONAL_DEX_WEEDLE, // SPECIES_WEEDLE + NATIONAL_DEX_KAKUNA, // SPECIES_KAKUNA + NATIONAL_DEX_BEEDRILL, // SPECIES_BEEDRILL + NATIONAL_DEX_PIDGEY, // SPECIES_PIDGEY + NATIONAL_DEX_PIDGEOTTO, // SPECIES_PIDGEOTTO + NATIONAL_DEX_PIDGEOT, // SPECIES_PIDGEOT + NATIONAL_DEX_RATTATA, // SPECIES_RATTATA + NATIONAL_DEX_RATICATE, // SPECIES_RATICATE + NATIONAL_DEX_SPEAROW, // SPECIES_SPEAROW + NATIONAL_DEX_FEAROW, // SPECIES_FEAROW + NATIONAL_DEX_EKANS, // SPECIES_EKANS + NATIONAL_DEX_ARBOK, // SPECIES_ARBOK + NATIONAL_DEX_PIKACHU, // SPECIES_PIKACHU + NATIONAL_DEX_RAICHU, // SPECIES_RAICHU + NATIONAL_DEX_SANDSHREW, // SPECIES_SANDSHREW + NATIONAL_DEX_SANDSLASH, // SPECIES_SANDSLASH + NATIONAL_DEX_NIDORAN_F, // SPECIES_NIDORAN_F + NATIONAL_DEX_NIDORINA, // SPECIES_NIDORINA + NATIONAL_DEX_NIDOQUEEN, // SPECIES_NIDOQUEEN + NATIONAL_DEX_NIDORAN_M, // SPECIES_NIDORAN_M + NATIONAL_DEX_NIDORINO, // SPECIES_NIDORINO + NATIONAL_DEX_NIDOKING, // SPECIES_NIDOKING + NATIONAL_DEX_CLEFAIRY, // SPECIES_CLEFAIRY + NATIONAL_DEX_CLEFABLE, // SPECIES_CLEFABLE + NATIONAL_DEX_VULPIX, // SPECIES_VULPIX + NATIONAL_DEX_NINETALES, // SPECIES_NINETALES + NATIONAL_DEX_JIGGLYPUFF, // SPECIES_JIGGLYPUFF + NATIONAL_DEX_WIGGLYTUFF, // SPECIES_WIGGLYTUFF + NATIONAL_DEX_ZUBAT, // SPECIES_ZUBAT + NATIONAL_DEX_GOLBAT, // SPECIES_GOLBAT + NATIONAL_DEX_ODDISH, // SPECIES_ODDISH + NATIONAL_DEX_GLOOM, // SPECIES_GLOOM + NATIONAL_DEX_VILEPLUME, // SPECIES_VILEPLUME + NATIONAL_DEX_PARAS, // SPECIES_PARAS + NATIONAL_DEX_PARASECT, // SPECIES_PARASECT + NATIONAL_DEX_VENONAT, // SPECIES_VENONAT + NATIONAL_DEX_VENOMOTH, // SPECIES_VENOMOTH + NATIONAL_DEX_DIGLETT, // SPECIES_DIGLETT + NATIONAL_DEX_DUGTRIO, // SPECIES_DUGTRIO + NATIONAL_DEX_MEOWTH, // SPECIES_MEOWTH + NATIONAL_DEX_PERSIAN, // SPECIES_PERSIAN + NATIONAL_DEX_PSYDUCK, // SPECIES_PSYDUCK + NATIONAL_DEX_GOLDUCK, // SPECIES_GOLDUCK + NATIONAL_DEX_MANKEY, // SPECIES_MANKEY + NATIONAL_DEX_PRIMEAPE, // SPECIES_PRIMEAPE + NATIONAL_DEX_GROWLITHE, // SPECIES_GROWLITHE + NATIONAL_DEX_ARCANINE, // SPECIES_ARCANINE + NATIONAL_DEX_POLIWAG, // SPECIES_POLIWAG + NATIONAL_DEX_POLIWHIRL, // SPECIES_POLIWHIRL + NATIONAL_DEX_POLIWRATH, // SPECIES_POLIWRATH + NATIONAL_DEX_ABRA, // SPECIES_ABRA + NATIONAL_DEX_KADABRA, // SPECIES_KADABRA + NATIONAL_DEX_ALAKAZAM, // SPECIES_ALAKAZAM + NATIONAL_DEX_MACHOP, // SPECIES_MACHOP + NATIONAL_DEX_MACHOKE, // SPECIES_MACHOKE + NATIONAL_DEX_MACHAMP, // SPECIES_MACHAMP + NATIONAL_DEX_BELLSPROUT, // SPECIES_BELLSPROUT + NATIONAL_DEX_WEEPINBELL, // SPECIES_WEEPINBELL + NATIONAL_DEX_VICTREEBEL, // SPECIES_VICTREEBEL + NATIONAL_DEX_TENTACOOL, // SPECIES_TENTACOOL + NATIONAL_DEX_TENTACRUEL, // SPECIES_TENTACRUEL + NATIONAL_DEX_GEODUDE, // SPECIES_GEODUDE + NATIONAL_DEX_GRAVELER, // SPECIES_GRAVELER + NATIONAL_DEX_GOLEM, // SPECIES_GOLEM + NATIONAL_DEX_PONYTA, // SPECIES_PONYTA + NATIONAL_DEX_RAPIDASH, // SPECIES_RAPIDASH + NATIONAL_DEX_SLOWPOKE, // SPECIES_SLOWPOKE + NATIONAL_DEX_SLOWBRO, // SPECIES_SLOWBRO + NATIONAL_DEX_MAGNEMITE, // SPECIES_MAGNEMITE + NATIONAL_DEX_MAGNETON, // SPECIES_MAGNETON + NATIONAL_DEX_FARFETCHD, // SPECIES_FARFETCHD + NATIONAL_DEX_DODUO, // SPECIES_DODUO + NATIONAL_DEX_DODRIO, // SPECIES_DODRIO + NATIONAL_DEX_SEEL, // SPECIES_SEEL + NATIONAL_DEX_DEWGONG, // SPECIES_DEWGONG + NATIONAL_DEX_GRIMER, // SPECIES_GRIMER + NATIONAL_DEX_MUK, // SPECIES_MUK + NATIONAL_DEX_SHELLDER, // SPECIES_SHELLDER + NATIONAL_DEX_CLOYSTER, // SPECIES_CLOYSTER + NATIONAL_DEX_GASTLY, // SPECIES_GASTLY + NATIONAL_DEX_HAUNTER, // SPECIES_HAUNTER + NATIONAL_DEX_GENGAR, // SPECIES_GENGAR + NATIONAL_DEX_ONIX, // SPECIES_ONIX + NATIONAL_DEX_DROWZEE, // SPECIES_DROWZEE + NATIONAL_DEX_HYPNO, // SPECIES_HYPNO + NATIONAL_DEX_KRABBY, // SPECIES_KRABBY + NATIONAL_DEX_KINGLER, // SPECIES_KINGLER + NATIONAL_DEX_VOLTORB, // SPECIES_VOLTORB + NATIONAL_DEX_ELECTRODE, // SPECIES_ELECTRODE + NATIONAL_DEX_EXEGGCUTE, // SPECIES_EXEGGCUTE + NATIONAL_DEX_EXEGGUTOR, // SPECIES_EXEGGUTOR + NATIONAL_DEX_CUBONE, // SPECIES_CUBONE + NATIONAL_DEX_MAROWAK, // SPECIES_MAROWAK + NATIONAL_DEX_HITMONLEE, // SPECIES_HITMONLEE + NATIONAL_DEX_HITMONCHAN, // SPECIES_HITMONCHAN + NATIONAL_DEX_LICKITUNG, // SPECIES_LICKITUNG + NATIONAL_DEX_KOFFING, // SPECIES_KOFFING + NATIONAL_DEX_WEEZING, // SPECIES_WEEZING + NATIONAL_DEX_RHYHORN, // SPECIES_RHYHORN + NATIONAL_DEX_RHYDON, // SPECIES_RHYDON + NATIONAL_DEX_CHANSEY, // SPECIES_CHANSEY + NATIONAL_DEX_TANGELA, // SPECIES_TANGELA + NATIONAL_DEX_KANGASKHAN, // SPECIES_KANGASKHAN + NATIONAL_DEX_HORSEA, // SPECIES_HORSEA + NATIONAL_DEX_SEADRA, // SPECIES_SEADRA + NATIONAL_DEX_GOLDEEN, // SPECIES_GOLDEEN + NATIONAL_DEX_SEAKING, // SPECIES_SEAKING + NATIONAL_DEX_STARYU, // SPECIES_STARYU + NATIONAL_DEX_STARMIE, // SPECIES_STARMIE + NATIONAL_DEX_MR_MIME, // SPECIES_MR_MIME + NATIONAL_DEX_SCYTHER, // SPECIES_SCYTHER + NATIONAL_DEX_JYNX, // SPECIES_JYNX + NATIONAL_DEX_ELECTABUZZ, // SPECIES_ELECTABUZZ + NATIONAL_DEX_MAGMAR, // SPECIES_MAGMAR + NATIONAL_DEX_PINSIR, // SPECIES_PINSIR + NATIONAL_DEX_TAUROS, // SPECIES_TAUROS + NATIONAL_DEX_MAGIKARP, // SPECIES_MAGIKARP + NATIONAL_DEX_GYARADOS, // SPECIES_GYARADOS + NATIONAL_DEX_LAPRAS, // SPECIES_LAPRAS + NATIONAL_DEX_DITTO, // SPECIES_DITTO + NATIONAL_DEX_EEVEE, // SPECIES_EEVEE + NATIONAL_DEX_VAPOREON, // SPECIES_VAPOREON + NATIONAL_DEX_JOLTEON, // SPECIES_JOLTEON + NATIONAL_DEX_FLAREON, // SPECIES_FLAREON + NATIONAL_DEX_PORYGON, // SPECIES_PORYGON + NATIONAL_DEX_OMANYTE, // SPECIES_OMANYTE + NATIONAL_DEX_OMASTAR, // SPECIES_OMASTAR + NATIONAL_DEX_KABUTO, // SPECIES_KABUTO + NATIONAL_DEX_KABUTOPS, // SPECIES_KABUTOPS + NATIONAL_DEX_AERODACTYL, // SPECIES_AERODACTYL + NATIONAL_DEX_SNORLAX, // SPECIES_SNORLAX + NATIONAL_DEX_ARTICUNO, // SPECIES_ARTICUNO + NATIONAL_DEX_ZAPDOS, // SPECIES_ZAPDOS + NATIONAL_DEX_MOLTRES, // SPECIES_MOLTRES + NATIONAL_DEX_DRATINI, // SPECIES_DRATINI + NATIONAL_DEX_DRAGONAIR, // SPECIES_DRAGONAIR + NATIONAL_DEX_DRAGONITE, // SPECIES_DRAGONITE + NATIONAL_DEX_MEWTWO, // SPECIES_MEWTWO + NATIONAL_DEX_MEW, // SPECIES_MEW + NATIONAL_DEX_CHIKORITA, // SPECIES_CHIKORITA + NATIONAL_DEX_BAYLEEF, // SPECIES_BAYLEEF + NATIONAL_DEX_MEGANIUM, // SPECIES_MEGANIUM + NATIONAL_DEX_CYNDAQUIL, // SPECIES_CYNDAQUIL + NATIONAL_DEX_QUILAVA, // SPECIES_QUILAVA + NATIONAL_DEX_TYPHLOSION, // SPECIES_TYPHLOSION + NATIONAL_DEX_TOTODILE, // SPECIES_TOTODILE + NATIONAL_DEX_CROCONAW, // SPECIES_CROCONAW + NATIONAL_DEX_FERALIGATR, // SPECIES_FERALIGATR + NATIONAL_DEX_SENTRET, // SPECIES_SENTRET + NATIONAL_DEX_FURRET, // SPECIES_FURRET + NATIONAL_DEX_HOOTHOOT, // SPECIES_HOOTHOOT + NATIONAL_DEX_NOCTOWL, // SPECIES_NOCTOWL + NATIONAL_DEX_LEDYBA, // SPECIES_LEDYBA + NATIONAL_DEX_LEDIAN, // SPECIES_LEDIAN + NATIONAL_DEX_SPINARAK, // SPECIES_SPINARAK + NATIONAL_DEX_ARIADOS, // SPECIES_ARIADOS + NATIONAL_DEX_CROBAT, // SPECIES_CROBAT + NATIONAL_DEX_CHINCHOU, // SPECIES_CHINCHOU + NATIONAL_DEX_LANTURN, // SPECIES_LANTURN + NATIONAL_DEX_PICHU, // SPECIES_PICHU + NATIONAL_DEX_CLEFFA, // SPECIES_CLEFFA + NATIONAL_DEX_IGGLYBUFF, // SPECIES_IGGLYBUFF + NATIONAL_DEX_TOGEPI, // SPECIES_TOGEPI + NATIONAL_DEX_TOGETIC, // SPECIES_TOGETIC + NATIONAL_DEX_NATU, // SPECIES_NATU + NATIONAL_DEX_XATU, // SPECIES_XATU + NATIONAL_DEX_MAREEP, // SPECIES_MAREEP + NATIONAL_DEX_FLAAFFY, // SPECIES_FLAAFFY + NATIONAL_DEX_AMPHAROS, // SPECIES_AMPHAROS + NATIONAL_DEX_BELLOSSOM, // SPECIES_BELLOSSOM + NATIONAL_DEX_MARILL, // SPECIES_MARILL + NATIONAL_DEX_AZUMARILL, // SPECIES_AZUMARILL + NATIONAL_DEX_SUDOWOODO, // SPECIES_SUDOWOODO + NATIONAL_DEX_POLITOED, // SPECIES_POLITOED + NATIONAL_DEX_HOPPIP, // SPECIES_HOPPIP + NATIONAL_DEX_SKIPLOOM, // SPECIES_SKIPLOOM + NATIONAL_DEX_JUMPLUFF, // SPECIES_JUMPLUFF + NATIONAL_DEX_AIPOM, // SPECIES_AIPOM + NATIONAL_DEX_SUNKERN, // SPECIES_SUNKERN + NATIONAL_DEX_SUNFLORA, // SPECIES_SUNFLORA + NATIONAL_DEX_YANMA, // SPECIES_YANMA + NATIONAL_DEX_WOOPER, // SPECIES_WOOPER + NATIONAL_DEX_QUAGSIRE, // SPECIES_QUAGSIRE + NATIONAL_DEX_ESPEON, // SPECIES_ESPEON + NATIONAL_DEX_UMBREON, // SPECIES_UMBREON + NATIONAL_DEX_MURKROW, // SPECIES_MURKROW + NATIONAL_DEX_SLOWKING, // SPECIES_SLOWKING + NATIONAL_DEX_MISDREAVUS, // SPECIES_MISDREAVUS + NATIONAL_DEX_UNOWN, // SPECIES_UNOWN + NATIONAL_DEX_WOBBUFFET, // SPECIES_WOBBUFFET + NATIONAL_DEX_GIRAFARIG, // SPECIES_GIRAFARIG + NATIONAL_DEX_PINECO, // SPECIES_PINECO + NATIONAL_DEX_FORRETRESS, // SPECIES_FORRETRESS + NATIONAL_DEX_DUNSPARCE, // SPECIES_DUNSPARCE + NATIONAL_DEX_GLIGAR, // SPECIES_GLIGAR + NATIONAL_DEX_STEELIX, // SPECIES_STEELIX + NATIONAL_DEX_SNUBBULL, // SPECIES_SNUBBULL + NATIONAL_DEX_GRANBULL, // SPECIES_GRANBULL + NATIONAL_DEX_QWILFISH, // SPECIES_QWILFISH + NATIONAL_DEX_SCIZOR, // SPECIES_SCIZOR + NATIONAL_DEX_SHUCKLE, // SPECIES_SHUCKLE + NATIONAL_DEX_HERACROSS, // SPECIES_HERACROSS + NATIONAL_DEX_SNEASEL, // SPECIES_SNEASEL + NATIONAL_DEX_TEDDIURSA, // SPECIES_TEDDIURSA + NATIONAL_DEX_URSARING, // SPECIES_URSARING + NATIONAL_DEX_SLUGMA, // SPECIES_SLUGMA + NATIONAL_DEX_MAGCARGO, // SPECIES_MAGCARGO + NATIONAL_DEX_SWINUB, // SPECIES_SWINUB + NATIONAL_DEX_PILOSWINE, // SPECIES_PILOSWINE + NATIONAL_DEX_CORSOLA, // SPECIES_CORSOLA + NATIONAL_DEX_REMORAID, // SPECIES_REMORAID + NATIONAL_DEX_OCTILLERY, // SPECIES_OCTILLERY + NATIONAL_DEX_DELIBIRD, // SPECIES_DELIBIRD + NATIONAL_DEX_MANTINE, // SPECIES_MANTINE + NATIONAL_DEX_SKARMORY, // SPECIES_SKARMORY + NATIONAL_DEX_HOUNDOUR, // SPECIES_HOUNDOUR + NATIONAL_DEX_HOUNDOOM, // SPECIES_HOUNDOOM + NATIONAL_DEX_KINGDRA, // SPECIES_KINGDRA + NATIONAL_DEX_PHANPY, // SPECIES_PHANPY + NATIONAL_DEX_DONPHAN, // SPECIES_DONPHAN + NATIONAL_DEX_PORYGON2, // SPECIES_PORYGON2 + NATIONAL_DEX_STANTLER, // SPECIES_STANTLER + NATIONAL_DEX_SMEARGLE, // SPECIES_SMEARGLE + NATIONAL_DEX_TYROGUE, // SPECIES_TYROGUE + NATIONAL_DEX_HITMONTOP, // SPECIES_HITMONTOP + NATIONAL_DEX_SMOOCHUM, // SPECIES_SMOOCHUM + NATIONAL_DEX_ELEKID, // SPECIES_ELEKID + NATIONAL_DEX_MAGBY, // SPECIES_MAGBY + NATIONAL_DEX_MILTANK, // SPECIES_MILTANK + NATIONAL_DEX_BLISSEY, // SPECIES_BLISSEY + NATIONAL_DEX_RAIKOU, // SPECIES_RAIKOU + NATIONAL_DEX_ENTEI, // SPECIES_ENTEI + NATIONAL_DEX_SUICUNE, // SPECIES_SUICUNE + NATIONAL_DEX_LARVITAR, // SPECIES_LARVITAR + NATIONAL_DEX_PUPITAR, // SPECIES_PUPITAR + NATIONAL_DEX_TYRANITAR, // SPECIES_TYRANITAR + NATIONAL_DEX_LUGIA, // SPECIES_LUGIA + NATIONAL_DEX_HO_OH, // SPECIES_HO-OH + NATIONAL_DEX_CELEBI, // SPECIES_CELEBI + NATIONAL_DEX_OLD_UNOWN_B, // SPECIES_OLD_UNOWN_B + NATIONAL_DEX_OLD_UNOWN_C, // SPECIES_OLD_UNOWN_C + NATIONAL_DEX_OLD_UNOWN_D, // SPECIES_OLD_UNOWN_D + NATIONAL_DEX_OLD_UNOWN_E, // SPECIES_OLD_UNOWN_E + NATIONAL_DEX_OLD_UNOWN_F, // SPECIES_OLD_UNOWN_F + NATIONAL_DEX_OLD_UNOWN_G, // SPECIES_OLD_UNOWN_G + NATIONAL_DEX_OLD_UNOWN_H, // SPECIES_OLD_UNOWN_H + NATIONAL_DEX_OLD_UNOWN_I, // SPECIES_OLD_UNOWN_I + NATIONAL_DEX_OLD_UNOWN_J, // SPECIES_OLD_UNOWN_J + NATIONAL_DEX_OLD_UNOWN_K, // SPECIES_OLD_UNOWN_K + NATIONAL_DEX_OLD_UNOWN_L, // SPECIES_OLD_UNOWN_L + NATIONAL_DEX_OLD_UNOWN_M, // SPECIES_OLD_UNOWN_M + NATIONAL_DEX_OLD_UNOWN_N, // SPECIES_OLD_UNOWN_N + NATIONAL_DEX_OLD_UNOWN_O, // SPECIES_OLD_UNOWN_O + NATIONAL_DEX_OLD_UNOWN_P, // SPECIES_OLD_UNOWN_P + NATIONAL_DEX_OLD_UNOWN_Q, // SPECIES_OLD_UNOWN_Q + NATIONAL_DEX_OLD_UNOWN_R, // SPECIES_OLD_UNOWN_R + NATIONAL_DEX_OLD_UNOWN_S, // SPECIES_OLD_UNOWN_S + NATIONAL_DEX_OLD_UNOWN_T, // SPECIES_OLD_UNOWN_T + NATIONAL_DEX_OLD_UNOWN_U, // SPECIES_OLD_UNOWN_U + NATIONAL_DEX_OLD_UNOWN_V, // SPECIES_OLD_UNOWN_V + NATIONAL_DEX_OLD_UNOWN_W, // SPECIES_OLD_UNOWN_W + NATIONAL_DEX_OLD_UNOWN_X, // SPECIES_OLD_UNOWN_X + NATIONAL_DEX_OLD_UNOWN_Y, // SPECIES_OLD_UNOWN_Y + NATIONAL_DEX_OLD_UNOWN_Z, // SPECIES_OLD_UNOWN_Z + NATIONAL_DEX_TREECKO, // SPECIES_TREECKO + NATIONAL_DEX_GROVYLE, // SPECIES_GROVYLE + NATIONAL_DEX_SCEPTILE, // SPECIES_SCEPTILE + NATIONAL_DEX_TORCHIC, // SPECIES_TORCHIC + NATIONAL_DEX_COMBUSKEN, // SPECIES_COMBUSKEN + NATIONAL_DEX_BLAZIKEN, // SPECIES_BLAZIKEN + NATIONAL_DEX_MUDKIP, // SPECIES_MUDKIP + NATIONAL_DEX_MARSHTOMP, // SPECIES_MARSHTOMP + NATIONAL_DEX_SWAMPERT, // SPECIES_SWAMPERT + NATIONAL_DEX_POOCHYENA, // SPECIES_POOCHYENA + NATIONAL_DEX_MIGHTYENA, // SPECIES_MIGHTYENA + NATIONAL_DEX_ZIGZAGOON, // SPECIES_ZIGZAGOON + NATIONAL_DEX_LINOONE, // SPECIES_LINOONE + NATIONAL_DEX_WURMPLE, // SPECIES_WURMPLE + NATIONAL_DEX_SILCOON, // SPECIES_SILCOON + NATIONAL_DEX_BEAUTIFLY, // SPECIES_BEAUTIFLY + NATIONAL_DEX_CASCOON, // SPECIES_CASCOON + NATIONAL_DEX_DUSTOX, // SPECIES_DUSTOX + NATIONAL_DEX_LOTAD, // SPECIES_LOTAD + NATIONAL_DEX_LOMBRE, // SPECIES_LOMBRE + NATIONAL_DEX_LUDICOLO, // SPECIES_LUDICOLO + NATIONAL_DEX_SEEDOT, // SPECIES_SEEDOT + NATIONAL_DEX_NUZLEAF, // SPECIES_NUZLEAF + NATIONAL_DEX_SHIFTRY, // SPECIES_SHIFTRY + NATIONAL_DEX_NINCADA, // SPECIES_NINCADA + NATIONAL_DEX_NINJASK, // SPECIES_NINJASK + NATIONAL_DEX_SHEDINJA, // SPECIES_SHEDINJA + NATIONAL_DEX_TAILLOW, // SPECIES_TAILLOW + NATIONAL_DEX_SWELLOW, // SPECIES_SWELLOW + NATIONAL_DEX_SHROOMISH, // SPECIES_SHROOMISH + NATIONAL_DEX_BRELOOM, // SPECIES_BRELOOM + NATIONAL_DEX_SPINDA, // SPECIES_SPINDA + NATIONAL_DEX_WINGULL, // SPECIES_WINGULL + NATIONAL_DEX_PELIPPER, // SPECIES_PELIPPER + NATIONAL_DEX_SURSKIT, // SPECIES_SURSKIT + NATIONAL_DEX_MASQUERAIN, // SPECIES_MASQUERAIN + NATIONAL_DEX_WAILMER, // SPECIES_WAILMER + NATIONAL_DEX_WAILORD, // SPECIES_WAILORD + NATIONAL_DEX_SKITTY, // SPECIES_SKITTY + NATIONAL_DEX_DELCATTY, // SPECIES_DELCATTY + NATIONAL_DEX_KECLEON, // SPECIES_KECLEON + NATIONAL_DEX_BALTOY, // SPECIES_BALTOY + NATIONAL_DEX_CLAYDOL, // SPECIES_CLAYDOL + NATIONAL_DEX_NOSEPASS, // SPECIES_NOSEPASS + NATIONAL_DEX_TORKOAL, // SPECIES_TORKOAL + NATIONAL_DEX_SABLEYE, // SPECIES_SABLEYE + NATIONAL_DEX_BARBOACH, // SPECIES_BARBOACH + NATIONAL_DEX_WHISCASH, // SPECIES_WHISCASH + NATIONAL_DEX_LUVDISC, // SPECIES_LUVDISC + NATIONAL_DEX_CORPHISH, // SPECIES_CORPHISH + NATIONAL_DEX_CRAWDAUNT, // SPECIES_CRAWDAUNT + NATIONAL_DEX_FEEBAS, // SPECIES_FEEBAS + NATIONAL_DEX_MILOTIC, // SPECIES_MILOTIC + NATIONAL_DEX_CARVANHA, // SPECIES_CARVANHA + NATIONAL_DEX_SHARPEDO, // SPECIES_SHARPEDO + NATIONAL_DEX_TRAPINCH, // SPECIES_TRAPINCH + NATIONAL_DEX_VIBRAVA, // SPECIES_VIBRAVA + NATIONAL_DEX_FLYGON, // SPECIES_FLYGON + NATIONAL_DEX_MAKUHITA, // SPECIES_MAKUHITA + NATIONAL_DEX_HARIYAMA, // SPECIES_HARIYAMA + NATIONAL_DEX_ELECTRIKE, // SPECIES_ELECTRIKE + NATIONAL_DEX_MANECTRIC, // SPECIES_MANECTRIC + NATIONAL_DEX_NUMEL, // SPECIES_NUMEL + NATIONAL_DEX_CAMERUPT, // SPECIES_CAMERUPT + NATIONAL_DEX_SPHEAL, // SPECIES_SPHEAL + NATIONAL_DEX_SEALEO, // SPECIES_SEALEO + NATIONAL_DEX_WALREIN, // SPECIES_WALREIN + NATIONAL_DEX_CACNEA, // SPECIES_CACNEA + NATIONAL_DEX_CACTURNE, // SPECIES_CACTURNE + NATIONAL_DEX_SNORUNT, // SPECIES_SNORUNT + NATIONAL_DEX_GLALIE, // SPECIES_GLALIE + NATIONAL_DEX_LUNATONE, // SPECIES_LUNATONE + NATIONAL_DEX_SOLROCK, // SPECIES_SOLROCK + NATIONAL_DEX_AZURILL, // SPECIES_AZURILL + NATIONAL_DEX_SPOINK, // SPECIES_SPOINK + NATIONAL_DEX_GRUMPIG, // SPECIES_GRUMPIG + NATIONAL_DEX_PLUSLE, // SPECIES_PLUSLE + NATIONAL_DEX_MINUN, // SPECIES_MINUN + NATIONAL_DEX_MAWILE, // SPECIES_MAWILE + NATIONAL_DEX_MEDITITE, // SPECIES_MEDITITE + NATIONAL_DEX_MEDICHAM, // SPECIES_MEDICHAM + NATIONAL_DEX_SWABLU, // SPECIES_SWABLU + NATIONAL_DEX_ALTARIA, // SPECIES_ALTARIA + NATIONAL_DEX_WYNAUT, // SPECIES_WYNAUT + NATIONAL_DEX_DUSKULL, // SPECIES_DUSKULL + NATIONAL_DEX_DUSCLOPS, // SPECIES_DUSCLOPS + NATIONAL_DEX_ROSELIA, // SPECIES_ROSELIA + NATIONAL_DEX_SLAKOTH, // SPECIES_SLAKOTH + NATIONAL_DEX_VIGOROTH, // SPECIES_VIGOROTH + NATIONAL_DEX_SLAKING, // SPECIES_SLAKING + NATIONAL_DEX_GULPIN, // SPECIES_GULPIN + NATIONAL_DEX_SWALOT, // SPECIES_SWALOT + NATIONAL_DEX_TROPIUS, // SPECIES_TROPIUS + NATIONAL_DEX_WHISMUR, // SPECIES_WHISMUR + NATIONAL_DEX_LOUDRED, // SPECIES_LOUDRED + NATIONAL_DEX_EXPLOUD, // SPECIES_EXPLOUD + NATIONAL_DEX_CLAMPERL, // SPECIES_CLAMPERL + NATIONAL_DEX_HUNTAIL, // SPECIES_HUNTAIL + NATIONAL_DEX_GOREBYSS, // SPECIES_GOREBYSS + NATIONAL_DEX_ABSOL, // SPECIES_ABSOL + NATIONAL_DEX_SHUPPET, // SPECIES_SHUPPET + NATIONAL_DEX_BANETTE, // SPECIES_BANETTE + NATIONAL_DEX_SEVIPER, // SPECIES_SEVIPER + NATIONAL_DEX_ZANGOOSE, // SPECIES_ZANGOOSE + NATIONAL_DEX_RELICANTH, // SPECIES_RELICANTH + NATIONAL_DEX_ARON, // SPECIES_ARON + NATIONAL_DEX_LAIRON, // SPECIES_LAIRON + NATIONAL_DEX_AGGRON, // SPECIES_AGGRON + NATIONAL_DEX_CASTFORM, // SPECIES_CASTFORM + NATIONAL_DEX_VOLBEAT, // SPECIES_VOLBEAT + NATIONAL_DEX_ILLUMISE, // SPECIES_ILLUMISE + NATIONAL_DEX_LILEEP, // SPECIES_LILEEP + NATIONAL_DEX_CRADILY, // SPECIES_CRADILY + NATIONAL_DEX_ANORITH, // SPECIES_ANORITH + NATIONAL_DEX_ARMALDO, // SPECIES_ARMALDO + NATIONAL_DEX_RALTS, // SPECIES_RALTS + NATIONAL_DEX_KIRLIA, // SPECIES_KIRLIA + NATIONAL_DEX_GARDEVOIR, // SPECIES_GARDEVOIR + NATIONAL_DEX_BAGON, // SPECIES_BAGON + NATIONAL_DEX_SHELGON, // SPECIES_SHELGON + NATIONAL_DEX_SALAMENCE, // SPECIES_SALAMENCE + NATIONAL_DEX_BELDUM, // SPECIES_BELDUM + NATIONAL_DEX_METANG, // SPECIES_METANG + NATIONAL_DEX_METAGROSS, // SPECIES_METAGROSS + NATIONAL_DEX_REGIROCK, // SPECIES_REGIROCK + NATIONAL_DEX_REGICE, // SPECIES_REGICE + NATIONAL_DEX_REGISTEEL, // SPECIES_REGISTEEL + NATIONAL_DEX_KYOGRE, // SPECIES_KYOGRE + NATIONAL_DEX_GROUDON, // SPECIES_GROUDON + NATIONAL_DEX_RAYQUAZA, // SPECIES_RAYQUAZA + NATIONAL_DEX_LATIAS, // SPECIES_LATIAS + NATIONAL_DEX_LATIOS, // SPECIES_LATIOS + NATIONAL_DEX_JIRACHI, // SPECIES_JIRACHI + NATIONAL_DEX_DEOXYS, // SPECIES_DEOXYS + NATIONAL_DEX_CHIMECHO // SPECIES_CHIMECHO +}; + +const u16 gHoennToNationalOrder[] = // Assigns Hoenn Dex Pokémon (Using National Dex Index) +{ + // 0 + NATIONAL_DEX_TREECKO, // HOENN_DEX_TREECKO + NATIONAL_DEX_GROVYLE, // HOENN_DEX_GROVYLE + NATIONAL_DEX_SCEPTILE, // HOENN_DEX_SCEPTILE + NATIONAL_DEX_TORCHIC, // HOENN_DEX_TORCHIC + NATIONAL_DEX_COMBUSKEN, // HOENN_DEX_COMBUSKEN + NATIONAL_DEX_BLAZIKEN, // HOENN_DEX_BLAZIKEN + NATIONAL_DEX_MUDKIP, // HOENN_DEX_MUDKIP + NATIONAL_DEX_MARSHTOMP, // HOENN_DEX_MARSHTOMP + NATIONAL_DEX_SWAMPERT, // HOENN_DEX_SWAMPERT + NATIONAL_DEX_POOCHYENA, // HOENN_DEX_POOCHYENA + NATIONAL_DEX_MIGHTYENA, // HOENN_DEX_MIGHTYENA + NATIONAL_DEX_ZIGZAGOON, // HOENN_DEX_ZIGZAGOON + NATIONAL_DEX_LINOONE, // HOENN_DEX_LINOONE + NATIONAL_DEX_WURMPLE, // HOENN_DEX_WURMPLE + NATIONAL_DEX_SILCOON, // HOENN_DEX_SILCOON + NATIONAL_DEX_BEAUTIFLY, // HOENN_DEX_BEAUTIFLY + NATIONAL_DEX_CASCOON, // HOENN_DEX_CASCOON + NATIONAL_DEX_DUSTOX, // HOENN_DEX_DUSTOX + NATIONAL_DEX_LOTAD, // HOENN_DEX_LOTAD + NATIONAL_DEX_LOMBRE, // HOENN_DEX_LOMBRE + NATIONAL_DEX_LUDICOLO, // HOENN_DEX_LUDICOLO + NATIONAL_DEX_SEEDOT, // HOENN_DEX_SEEDOT + NATIONAL_DEX_NUZLEAF, // HOENN_DEX_NUZLEAF + NATIONAL_DEX_SHIFTRY, // HOENN_DEX_SHIFTRY + NATIONAL_DEX_TAILLOW, // HOENN_DEX_TAILLOW + NATIONAL_DEX_SWELLOW, // HOENN_DEX_SWELLOW + NATIONAL_DEX_WINGULL, // HOENN_DEX_WINGULL + NATIONAL_DEX_PELIPPER, // HOENN_DEX_PELIPPER + NATIONAL_DEX_RALTS, // HOENN_DEX_RALTS + NATIONAL_DEX_KIRLIA, // HOENN_DEX_KIRLIA + NATIONAL_DEX_GARDEVOIR, // HOENN_DEX_GARDEVOIR + NATIONAL_DEX_SURSKIT, // HOENN_DEX_SURSKIT + NATIONAL_DEX_MASQUERAIN, // HOENN_DEX_MASQUERAIN + NATIONAL_DEX_SHROOMISH, // HOENN_DEX_SHROOMISH + NATIONAL_DEX_BRELOOM, // HOENN_DEX_BRELOOM + NATIONAL_DEX_SLAKOTH, // HOENN_DEX_SLAKOTH + NATIONAL_DEX_VIGOROTH, // HOENN_DEX_VIGOROTH + NATIONAL_DEX_SLAKING, // HOENN_DEX_SLAKING + NATIONAL_DEX_ABRA, // HOENN_DEX_ABRA + NATIONAL_DEX_KADABRA, // HOENN_DEX_KADABRA + NATIONAL_DEX_ALAKAZAM, // HOENN_DEX_ALAKAZAM + NATIONAL_DEX_NINCADA, // HOENN_DEX_NINCADA + NATIONAL_DEX_NINJASK, // HOENN_DEX_NINJASK + NATIONAL_DEX_SHEDINJA, // HOENN_DEX_SHEDINJA + NATIONAL_DEX_WHISMUR, // HOENN_DEX_WHISMUR + NATIONAL_DEX_LOUDRED, // HOENN_DEX_LOUDRED + NATIONAL_DEX_EXPLOUD, // HOENN_DEX_EXPLOUD + NATIONAL_DEX_MAKUHITA, // HOENN_DEX_MAKUHITA + NATIONAL_DEX_HARIYAMA, // HOENN_DEX_HARIYAMA + NATIONAL_DEX_GOLDEEN, // HOENN_DEX_GOLDEEN + NATIONAL_DEX_SEAKING, // HOENN_DEX_SEAKING + NATIONAL_DEX_MAGIKARP, // HOENN_DEX_MAGIKARP + NATIONAL_DEX_GYARADOS, // HOENN_DEX_GYARADOS + NATIONAL_DEX_AZURILL, // HOENN_DEX_AZURILL + NATIONAL_DEX_MARILL, // HOENN_DEX_MARILL + NATIONAL_DEX_AZUMARILL, // HOENN_DEX_AZUMARILL + NATIONAL_DEX_GEODUDE, // HOENN_DEX_GEODUDE + NATIONAL_DEX_GRAVELER, // HOENN_DEX_GRAVELER + NATIONAL_DEX_GOLEM, // HOENN_DEX_GOLEM + NATIONAL_DEX_NOSEPASS, // HOENN_DEX_NOSEPASS + NATIONAL_DEX_SKITTY, // HOENN_DEX_SKITTY + NATIONAL_DEX_DELCATTY, // HOENN_DEX_DELCATTY + NATIONAL_DEX_ZUBAT, // HOENN_DEX_ZUBAT + NATIONAL_DEX_GOLBAT, // HOENN_DEX_GOLBAT + NATIONAL_DEX_CROBAT, // HOENN_DEX_CROBAT + NATIONAL_DEX_TENTACOOL, // HOENN_DEX_TENTACOOL + NATIONAL_DEX_TENTACRUEL, // HOENN_DEX_TENTACRUEL + NATIONAL_DEX_SABLEYE, // HOENN_DEX_SABLEYE + NATIONAL_DEX_MAWILE, // HOENN_DEX_MAWILE + NATIONAL_DEX_ARON, // HOENN_DEX_ARON + NATIONAL_DEX_LAIRON, // HOENN_DEX_LAIRON + NATIONAL_DEX_AGGRON, // HOENN_DEX_AGGRON + NATIONAL_DEX_MACHOP, // HOENN_DEX_MACHOP + NATIONAL_DEX_MACHOKE, // HOENN_DEX_MACHOKE + NATIONAL_DEX_MACHAMP, // HOENN_DEX_MACHAMP + NATIONAL_DEX_MEDITITE, // HOENN_DEX_MEDITITE + NATIONAL_DEX_MEDICHAM, // HOENN_DEX_MEDICHAM + NATIONAL_DEX_ELECTRIKE, // HOENN_DEX_ELECTRIKE + NATIONAL_DEX_MANECTRIC, // HOENN_DEX_MANECTRIC + NATIONAL_DEX_PLUSLE, // HOENN_DEX_PLUSLE + NATIONAL_DEX_MINUN, // HOENN_DEX_MINUN + NATIONAL_DEX_MAGNEMITE, // HOENN_DEX_MAGNEMITE + NATIONAL_DEX_MAGNETON, // HOENN_DEX_MAGNETON + NATIONAL_DEX_VOLTORB, // HOENN_DEX_VOLTORB + NATIONAL_DEX_ELECTRODE, // HOENN_DEX_ELECTRODE + NATIONAL_DEX_VOLBEAT, // HOENN_DEX_VOLBEAT + NATIONAL_DEX_ILLUMISE, // HOENN_DEX_ILLUMISE + NATIONAL_DEX_ODDISH, // HOENN_DEX_ODDISH + NATIONAL_DEX_GLOOM, // HOENN_DEX_GLOOM + NATIONAL_DEX_VILEPLUME, // HOENN_DEX_VILEPLUME + NATIONAL_DEX_BELLOSSOM, // HOENN_DEX_BELLOSSOM + NATIONAL_DEX_DODUO, // HOENN_DEX_DODUO + NATIONAL_DEX_DODRIO, // HOENN_DEX_DODRIO + NATIONAL_DEX_ROSELIA, // HOENN_DEX_ROSELIA + NATIONAL_DEX_GULPIN, // HOENN_DEX_GULPIN + NATIONAL_DEX_SWALOT, // HOENN_DEX_SWALOT + NATIONAL_DEX_CARVANHA, // HOENN_DEX_CARVANHA + NATIONAL_DEX_SHARPEDO, // HOENN_DEX_SHARPEDO + NATIONAL_DEX_WAILMER, // HOENN_DEX_WAILMER + NATIONAL_DEX_WAILORD, // HOENN_DEX_WAILORD + NATIONAL_DEX_NUMEL, // HOENN_DEX_NUMEL + NATIONAL_DEX_CAMERUPT, // HOENN_DEX_CAMERUPT + NATIONAL_DEX_SLUGMA, // HOENN_DEX_SLUGMA + NATIONAL_DEX_MAGCARGO, // HOENN_DEX_MAGCARGO + NATIONAL_DEX_TORKOAL, // HOENN_DEX_TORKOAL + NATIONAL_DEX_GRIMER, // HOENN_DEX_GRIMER + NATIONAL_DEX_MUK, // HOENN_DEX_MUK + NATIONAL_DEX_KOFFING, // HOENN_DEX_KOFFING + NATIONAL_DEX_WEEZING, // HOENN_DEX_WEEZING + NATIONAL_DEX_SPOINK, // HOENN_DEX_SPOINK + NATIONAL_DEX_GRUMPIG, // HOENN_DEX_GRUMPIG + NATIONAL_DEX_SANDSHREW, // HOENN_DEX_SANDSHREW + NATIONAL_DEX_SANDSLASH, // HOENN_DEX_SANDSLASH + NATIONAL_DEX_SPINDA, // HOENN_DEX_SPINDA + NATIONAL_DEX_SKARMORY, // HOENN_DEX_SKARMORY + NATIONAL_DEX_TRAPINCH, // HOENN_DEX_TRAPINCH + NATIONAL_DEX_VIBRAVA, // HOENN_DEX_VIBRAVA + NATIONAL_DEX_FLYGON, // HOENN_DEX_FLYGON + NATIONAL_DEX_CACNEA, // HOENN_DEX_CACNEA + NATIONAL_DEX_CACTURNE, // HOENN_DEX_CACTURNE + NATIONAL_DEX_SWABLU, // HOENN_DEX_SWABLU + NATIONAL_DEX_ALTARIA, // HOENN_DEX_ALTARIA + NATIONAL_DEX_ZANGOOSE, // HOENN_DEX_ZANGOOSE + NATIONAL_DEX_SEVIPER, // HOENN_DEX_SEVIPER + NATIONAL_DEX_LUNATONE, // HOENN_DEX_LUNATONE + NATIONAL_DEX_SOLROCK, // HOENN_DEX_SOLROCK + NATIONAL_DEX_BARBOACH, // HOENN_DEX_BARBOACH + NATIONAL_DEX_WHISCASH, // HOENN_DEX_WHISCASH + NATIONAL_DEX_CORPHISH, // HOENN_DEX_CORPHISH + NATIONAL_DEX_CRAWDAUNT, // HOENN_DEX_CRAWDAUNT + NATIONAL_DEX_BALTOY, // HOENN_DEX_BALTOY + NATIONAL_DEX_CLAYDOL, // HOENN_DEX_CLAYDOL + NATIONAL_DEX_LILEEP, // HOENN_DEX_LILEEP + NATIONAL_DEX_CRADILY, // HOENN_DEX_CRADILY + NATIONAL_DEX_ANORITH, // HOENN_DEX_ANORITH + NATIONAL_DEX_ARMALDO, // HOENN_DEX_ARMALDO + NATIONAL_DEX_IGGLYBUFF, // HOENN_DEX_IGGLYBUFF + NATIONAL_DEX_JIGGLYPUFF, // HOENN_DEX_JIGGLYPUFF + NATIONAL_DEX_WIGGLYTUFF, // HOENN_DEX_WIGGLYTUFF + NATIONAL_DEX_FEEBAS, // HOENN_DEX_FEEBAS + NATIONAL_DEX_MILOTIC, // HOENN_DEX_MILOTIC + NATIONAL_DEX_CASTFORM, // HOENN_DEX_CASTFORM + NATIONAL_DEX_STARYU, // HOENN_DEX_STARYU + NATIONAL_DEX_STARMIE, // HOENN_DEX_STARMIE + NATIONAL_DEX_KECLEON, // HOENN_DEX_KECLEON + NATIONAL_DEX_SHUPPET, // HOENN_DEX_SHUPPET + NATIONAL_DEX_BANETTE, // HOENN_DEX_BANETTE + NATIONAL_DEX_DUSKULL, // HOENN_DEX_DUSKULL + NATIONAL_DEX_DUSCLOPS, // HOENN_DEX_DUSCLOPS + NATIONAL_DEX_TROPIUS, // HOENN_DEX_TROPIUS + NATIONAL_DEX_CHIMECHO, // HOENN_DEX_CHIMECHO + NATIONAL_DEX_ABSOL, // HOENN_DEX_ABSOL + NATIONAL_DEX_VULPIX, // HOENN_DEX_VULPIX + NATIONAL_DEX_NINETALES, // HOENN_DEX_NINETALES + NATIONAL_DEX_PICHU, // HOENN_DEX_PICHU + NATIONAL_DEX_PIKACHU, // HOENN_DEX_PIKACHU + NATIONAL_DEX_RAICHU, // HOENN_DEX_RAICHU + NATIONAL_DEX_PSYDUCK, // HOENN_DEX_PSYDUCK + NATIONAL_DEX_GOLDUCK, // HOENN_DEX_GOLDUCK + NATIONAL_DEX_WYNAUT, // HOENN_DEX_WYNAUT + NATIONAL_DEX_WOBBUFFET, // HOENN_DEX_WOBBUFFET + NATIONAL_DEX_NATU, // HOENN_DEX_NATU + NATIONAL_DEX_XATU, // HOENN_DEX_XATU + NATIONAL_DEX_GIRAFARIG, // HOENN_DEX_GIRAFARIG + NATIONAL_DEX_PHANPY, // HOENN_DEX_PHANPY + NATIONAL_DEX_DONPHAN, // HOENN_DEX_DONPHAN + NATIONAL_DEX_PINSIR, // HOENN_DEX_PINSIR + NATIONAL_DEX_HERACROSS, // HOENN_DEX_HERACROSS + NATIONAL_DEX_RHYHORN, // HOENN_DEX_RHYHORN + NATIONAL_DEX_RHYDON, // HOENN_DEX_RHYDON + NATIONAL_DEX_SNORUNT, // HOENN_DEX_SNORUNT + NATIONAL_DEX_GLALIE, // HOENN_DEX_GLALIE + NATIONAL_DEX_SPHEAL, // HOENN_DEX_SPHEAL + NATIONAL_DEX_SEALEO, // HOENN_DEX_SEALEO + NATIONAL_DEX_WALREIN, // HOENN_DEX_WALREIN + NATIONAL_DEX_CLAMPERL, // HOENN_DEX_CLAMPERL + NATIONAL_DEX_HUNTAIL, // HOENN_DEX_HUNTAIL + NATIONAL_DEX_GOREBYSS, // HOENN_DEX_GOREBYSS + NATIONAL_DEX_RELICANTH, // HOENN_DEX_RELICANTH + NATIONAL_DEX_CORSOLA, // HOENN_DEX_CORSOLA + NATIONAL_DEX_CHINCHOU, // HOENN_DEX_CHINCHOU + NATIONAL_DEX_LANTURN, // HOENN_DEX_LANTURN + NATIONAL_DEX_LUVDISC, // HOENN_DEX_LUVDISC + NATIONAL_DEX_HORSEA, // HOENN_DEX_HORSEA + NATIONAL_DEX_SEADRA, // HOENN_DEX_SEADRA + NATIONAL_DEX_KINGDRA, // HOENN_DEX_KINGDRA + NATIONAL_DEX_BAGON, // HOENN_DEX_BAGON + NATIONAL_DEX_SHELGON, // HOENN_DEX_SHELGON + NATIONAL_DEX_SALAMENCE, // HOENN_DEX_SALAMENCE + NATIONAL_DEX_BELDUM, // HOENN_DEX_BELDUM + NATIONAL_DEX_METANG, // HOENN_DEX_METANG + NATIONAL_DEX_METAGROSS, // HOENN_DEX_METAGROSS + NATIONAL_DEX_REGIROCK, // HOENN_DEX_REGIROCK + NATIONAL_DEX_REGICE, // HOENN_DEX_REGICE + NATIONAL_DEX_REGISTEEL, // HOENN_DEX_REGISTEEL + NATIONAL_DEX_LATIAS, // HOENN_DEX_LATIAS + NATIONAL_DEX_LATIOS, // HOENN_DEX_LATIOS + NATIONAL_DEX_KYOGRE, // HOENN_DEX_KYOGRE + NATIONAL_DEX_GROUDON, // HOENN_DEX_GROUDON + NATIONAL_DEX_RAYQUAZA, // HOENN_DEX_RAYQUAZA + NATIONAL_DEX_JIRACHI, // HOENN_DEX_JIRACHI + NATIONAL_DEX_DEOXYS, // HOENN_DEX_DEOXYS + NATIONAL_DEX_BULBASAUR, // HOENN_DEX_BULBASAUR - Pokémon from here onwards are UNSEEN in the Hoenn Dex. + NATIONAL_DEX_IVYSAUR, // HOENN_DEX_IVYSAUR + NATIONAL_DEX_VENUSAUR, // HOENN_DEX_VENUSAUR + NATIONAL_DEX_CHARMANDER, // HOENN_DEX_CHARMANDER + NATIONAL_DEX_CHARMELEON, // HOENN_DEX_CHARMELEON + NATIONAL_DEX_CHARIZARD, // HOENN_DEX_CHARIZARD + NATIONAL_DEX_SQUIRTLE, // HOENN_DEX_SQUIRTLE + NATIONAL_DEX_WARTORTLE, // HOENN_DEX_WARTORTLE + NATIONAL_DEX_BLASTOISE, // HOENN_DEX_BLASTOISE + NATIONAL_DEX_CATERPIE, // HOENN_DEX_CATERPIE + NATIONAL_DEX_METAPOD, // HOENN_DEX_METAPOD + NATIONAL_DEX_BUTTERFREE, // HOENN_DEX_BUTTERFREE + NATIONAL_DEX_WEEDLE, // HOENN_DEX_WEEDLE + NATIONAL_DEX_KAKUNA, // HOENN_DEX_KAKUNA + NATIONAL_DEX_BEEDRILL, // HOENN_DEX_BEEDRILL + NATIONAL_DEX_PIDGEY, // HOENN_DEX_PIDGEY + NATIONAL_DEX_PIDGEOTTO, // HOENN_DEX_PIDGEOTTO + NATIONAL_DEX_PIDGEOT, // HOENN_DEX_PIDGEOT + NATIONAL_DEX_RATTATA, // HOENN_DEX_RATTATA + NATIONAL_DEX_RATICATE, // HOENN_DEX_RATICATE + NATIONAL_DEX_SPEAROW, // HOENN_DEX_SPEAROW + NATIONAL_DEX_FEAROW, // HOENN_DEX_FEAROW + NATIONAL_DEX_EKANS, // HOENN_DEX_EKANS + NATIONAL_DEX_ARBOK, // HOENN_DEX_ARBOK + NATIONAL_DEX_NIDORAN_F, // HOENN_DEX_NIDORAN♀ + NATIONAL_DEX_NIDORINA, // HOENN_DEX_NIDORINA + NATIONAL_DEX_NIDOQUEEN, // HOENN_DEX_NIDOQUEEN + NATIONAL_DEX_NIDORAN_M, // HOENN_DEX_NIDORAN♂ + NATIONAL_DEX_NIDORINO, // HOENN_DEX_NIDORINO + NATIONAL_DEX_NIDOKING, // HOENN_DEX_NIDOKING + NATIONAL_DEX_CLEFAIRY, // HOENN_DEX_CLEFAIRY + NATIONAL_DEX_CLEFABLE, // HOENN_DEX_CLEFABLE + NATIONAL_DEX_PARAS, // HOENN_DEX_PARAS + NATIONAL_DEX_PARASECT, // HOENN_DEX_PARASECT + NATIONAL_DEX_VENONAT, // HOENN_DEX_VENONAT + NATIONAL_DEX_VENOMOTH, // HOENN_DEX_VENOMOTH + NATIONAL_DEX_DIGLETT, // HOENN_DEX_DIGLETT + NATIONAL_DEX_DUGTRIO, // HOENN_DEX_DUGTRIO + NATIONAL_DEX_MEOWTH, // HOENN_DEX_MEOWTH + NATIONAL_DEX_PERSIAN, // HOENN_DEX_PERSIAN + NATIONAL_DEX_MANKEY, // HOENN_DEX_MANKEY + NATIONAL_DEX_PRIMEAPE, // HOENN_DEX_PRIMEAPE + NATIONAL_DEX_GROWLITHE, // HOENN_DEX_GROWLITHE + NATIONAL_DEX_ARCANINE, // HOENN_DEX_ARCANINE + NATIONAL_DEX_POLIWAG, // HOENN_DEX_POLIWAG + NATIONAL_DEX_POLIWHIRL, // HOENN_DEX_POLIWHIRL + NATIONAL_DEX_POLIWRATH, // HOENN_DEX_POLIWRATH + NATIONAL_DEX_BELLSPROUT, // HOENN_DEX_BELLSPROUT + NATIONAL_DEX_WEEPINBELL, // HOENN_DEX_WEEPINBELL + NATIONAL_DEX_VICTREEBEL, // HOENN_DEX_VICTREEBEL + NATIONAL_DEX_PONYTA, // HOENN_DEX_PONYTA + NATIONAL_DEX_RAPIDASH, // HOENN_DEX_RAPIDASH + NATIONAL_DEX_SLOWPOKE, // HOENN_DEX_SLOWPOKE + NATIONAL_DEX_SLOWBRO, // HOENN_DEX_SLOWBRO + NATIONAL_DEX_FARFETCHD, // HOENN_DEX_FARFETCH'D + NATIONAL_DEX_SEEL, // HOENN_DEX_SEEL + NATIONAL_DEX_DEWGONG, // HOENN_DEX_DEWGONG + NATIONAL_DEX_SHELLDER, // HOENN_DEX_SHELLDER + NATIONAL_DEX_CLOYSTER, // HOENN_DEX_CLOYSTER + NATIONAL_DEX_GASTLY, // HOENN_DEX_GASTLY + NATIONAL_DEX_HAUNTER, // HOENN_DEX_HAUNTER + NATIONAL_DEX_GENGAR, // HOENN_DEX_GENGAR + NATIONAL_DEX_ONIX, // HOENN_DEX_ONIX + NATIONAL_DEX_DROWZEE, // HOENN_DEX_DROWZEE + NATIONAL_DEX_HYPNO, // HOENN_DEX_HYPNO + NATIONAL_DEX_KRABBY, // HOENN_DEX_KRABBY + NATIONAL_DEX_KINGLER, // HOENN_DEX_KINGLER + NATIONAL_DEX_EXEGGCUTE, // HOENN_DEX_EXEGGCUTE + NATIONAL_DEX_EXEGGUTOR, // HOENN_DEX_EXEGGUTOR + NATIONAL_DEX_CUBONE, // HOENN_DEX_CUBONE + NATIONAL_DEX_MAROWAK, // HOENN_DEX_MAROWAK + NATIONAL_DEX_HITMONLEE, // HOENN_DEX_HITMONLEE + NATIONAL_DEX_HITMONCHAN, // HOENN_DEX_HITMONCHAN + NATIONAL_DEX_LICKITUNG, // HOENN_DEX_LICKITUNG + NATIONAL_DEX_CHANSEY, // HOENN_DEX_CHANSEY + NATIONAL_DEX_TANGELA, // HOENN_DEX_TANGELA + NATIONAL_DEX_KANGASKHAN, // HOENN_DEX_KANGASKHAN + NATIONAL_DEX_MR_MIME, // HOENN_DEX_MR. MIME + NATIONAL_DEX_SCYTHER, // HOENN_DEX_SCYTHER + NATIONAL_DEX_JYNX, // HOENN_DEX_JYNX + NATIONAL_DEX_ELECTABUZZ, // HOENN_DEX_ELECTABUZZ + NATIONAL_DEX_MAGMAR, // HOENN_DEX_MAGMAR + NATIONAL_DEX_TAUROS, // HOENN_DEX_TAUROS + NATIONAL_DEX_LAPRAS, // HOENN_DEX_LAPRAS + NATIONAL_DEX_DITTO, // HOENN_DEX_DITTO + NATIONAL_DEX_EEVEE, // HOENN_DEX_EEVEE + NATIONAL_DEX_VAPOREON, // HOENN_DEX_VAPOREON + NATIONAL_DEX_JOLTEON, // HOENN_DEX_JOLTEON + NATIONAL_DEX_FLAREON, // HOENN_DEX_FLAREON + NATIONAL_DEX_PORYGON, // HOENN_DEX_PORYGON + NATIONAL_DEX_OMANYTE, // HOENN_DEX_OMANYTE + NATIONAL_DEX_OMASTAR, // HOENN_DEX_OMASTAR + NATIONAL_DEX_KABUTO, // HOENN_DEX_KABUTO + NATIONAL_DEX_KABUTOPS, // HOENN_DEX_KABUTOPS + NATIONAL_DEX_AERODACTYL, // HOENN_DEX_AERODACTYL + NATIONAL_DEX_SNORLAX, // HOENN_DEX_SNORLAX + NATIONAL_DEX_ARTICUNO, // HOENN_DEX_ARTICUNO + NATIONAL_DEX_ZAPDOS, // HOENN_DEX_ZAPDOS + NATIONAL_DEX_MOLTRES, // HOENN_DEX_MOLTRES + NATIONAL_DEX_DRATINI, // HOENN_DEX_DRATINI + NATIONAL_DEX_DRAGONAIR, // HOENN_DEX_DRAGONAIR + NATIONAL_DEX_DRAGONITE, // HOENN_DEX_DRAGONITE + NATIONAL_DEX_MEWTWO, // HOENN_DEX_MEWTWO + NATIONAL_DEX_MEW, // HOENN_DEX_MEW + NATIONAL_DEX_CHIKORITA, // HOENN_DEX_CHIKORITA + NATIONAL_DEX_BAYLEEF, // HOENN_DEX_BAYLEEF + NATIONAL_DEX_MEGANIUM, // HOENN_DEX_MEGANIUM + NATIONAL_DEX_CYNDAQUIL, // HOENN_DEX_CYNDAQUIL + NATIONAL_DEX_QUILAVA, // HOENN_DEX_QUILAVA + NATIONAL_DEX_TYPHLOSION, // HOENN_DEX_TYPHLOSION + NATIONAL_DEX_TOTODILE, // HOENN_DEX_TOTODILE + NATIONAL_DEX_CROCONAW, // HOENN_DEX_CROCONAW + NATIONAL_DEX_FERALIGATR, // HOENN_DEX_FERALIGATR + NATIONAL_DEX_SENTRET, // HOENN_DEX_SENTRET + NATIONAL_DEX_FURRET, // HOENN_DEX_FURRET + NATIONAL_DEX_HOOTHOOT, // HOENN_DEX_HOOTHOOT + NATIONAL_DEX_NOCTOWL, // HOENN_DEX_NOCTOWL + NATIONAL_DEX_LEDYBA, // HOENN_DEX_LEDYBA + NATIONAL_DEX_LEDIAN, // HOENN_DEX_LEDIAN + NATIONAL_DEX_SPINARAK, // HOENN_DEX_SPINARAK + NATIONAL_DEX_ARIADOS, // HOENN_DEX_ARIADOS + NATIONAL_DEX_CLEFFA, // HOENN_DEX_CLEFFA + NATIONAL_DEX_TOGEPI, // HOENN_DEX_TOGEPI + NATIONAL_DEX_TOGETIC, // HOENN_DEX_TOGETIC + NATIONAL_DEX_MAREEP, // HOENN_DEX_MAREEP + NATIONAL_DEX_FLAAFFY, // HOENN_DEX_FLAAFFY + NATIONAL_DEX_AMPHAROS, // HOENN_DEX_AMPHAROS + NATIONAL_DEX_SUDOWOODO, // HOENN_DEX_SUDOWOODO + NATIONAL_DEX_POLITOED, // HOENN_DEX_POLITOED + NATIONAL_DEX_HOPPIP, // HOENN_DEX_HOPPIP + NATIONAL_DEX_SKIPLOOM, // HOENN_DEX_SKIPLOOM + NATIONAL_DEX_JUMPLUFF, // HOENN_DEX_JUMPLUFF + NATIONAL_DEX_AIPOM, // HOENN_DEX_AIPOM + NATIONAL_DEX_SUNKERN, // HOENN_DEX_SUNKERN + NATIONAL_DEX_SUNFLORA, // HOENN_DEX_SUNFLORA + NATIONAL_DEX_YANMA, // HOENN_DEX_YANMA + NATIONAL_DEX_WOOPER, // HOENN_DEX_WOOPER + NATIONAL_DEX_QUAGSIRE, // HOENN_DEX_QUAGSIRE + NATIONAL_DEX_ESPEON, // HOENN_DEX_ESPEON + NATIONAL_DEX_UMBREON, // HOENN_DEX_UMBREON + NATIONAL_DEX_MURKROW, // HOENN_DEX_MURKROW + NATIONAL_DEX_SLOWKING, // HOENN_DEX_SLOWKING + NATIONAL_DEX_MISDREAVUS, // HOENN_DEX_MISDREAVUS + NATIONAL_DEX_UNOWN, // HOENN_DEX_UNOWN + NATIONAL_DEX_PINECO, // HOENN_DEX_PINECO + NATIONAL_DEX_FORRETRESS, // HOENN_DEX_FORRETRESS + NATIONAL_DEX_DUNSPARCE, // HOENN_DEX_DUNSPARCE + NATIONAL_DEX_GLIGAR, // HOENN_DEX_GLIGAR + NATIONAL_DEX_STEELIX, // HOENN_DEX_STEELIX + NATIONAL_DEX_SNUBBULL, // HOENN_DEX_SNUBBULL + NATIONAL_DEX_GRANBULL, // HOENN_DEX_GRANBULL + NATIONAL_DEX_QWILFISH, // HOENN_DEX_QWILFISH + NATIONAL_DEX_SCIZOR, // HOENN_DEX_SCIZOR + NATIONAL_DEX_SHUCKLE, // HOENN_DEX_SHUCKLE + NATIONAL_DEX_SNEASEL, // HOENN_DEX_SNEASEL + NATIONAL_DEX_TEDDIURSA, // HOENN_DEX_TEDDIURSA + NATIONAL_DEX_URSARING, // HOENN_DEX_URSARING + NATIONAL_DEX_SWINUB, // HOENN_DEX_SWINUB + NATIONAL_DEX_PILOSWINE, // HOENN_DEX_PILOSWINE + NATIONAL_DEX_REMORAID, // HOENN_DEX_REMORAID + NATIONAL_DEX_OCTILLERY, // HOENN_DEX_OCTILLERY + NATIONAL_DEX_DELIBIRD, // HOENN_DEX_DELIBIRD + NATIONAL_DEX_MANTINE, // HOENN_DEX_MANTINE + NATIONAL_DEX_HOUNDOUR, // HOENN_DEX_HOUNDOUR + NATIONAL_DEX_HOUNDOOM, // HOENN_DEX_HOUNDOOM + NATIONAL_DEX_PORYGON2, // HOENN_DEX_PORYGON2 + NATIONAL_DEX_STANTLER, // HOENN_DEX_STANTLER + NATIONAL_DEX_SMEARGLE, // HOENN_DEX_SMEARGLE + NATIONAL_DEX_TYROGUE, // HOENN_DEX_TYROGUE + NATIONAL_DEX_HITMONTOP, // HOENN_DEX_HITMONTOP + NATIONAL_DEX_SMOOCHUM, // HOENN_DEX_SMOOCHUM + NATIONAL_DEX_ELEKID, // HOENN_DEX_ELEKID + NATIONAL_DEX_MAGBY, // HOENN_DEX_MAGBY + NATIONAL_DEX_MILTANK, // HOENN_DEX_MILTANK + NATIONAL_DEX_BLISSEY, // HOENN_DEX_BLISSEY + NATIONAL_DEX_RAIKOU, // HOENN_DEX_RAIKOU + NATIONAL_DEX_ENTEI, // HOENN_DEX_ENTEI + NATIONAL_DEX_SUICUNE, // HOENN_DEX_SUICUNE + NATIONAL_DEX_LARVITAR, // HOENN_DEX_LARVITAR + NATIONAL_DEX_PUPITAR, // HOENN_DEX_PUPITAR + NATIONAL_DEX_TYRANITAR, // HOENN_DEX_TYRANITAR + NATIONAL_DEX_LUGIA, // HOENN_DEX_LUGIA + NATIONAL_DEX_HO_OH, // HOENN_DEX_HO-OH + NATIONAL_DEX_CELEBI, // HOENN_DEX_CELEBI + NATIONAL_DEX_OLD_UNOWN_B, // HOENN_DEX_OLD_UNOWN_B + NATIONAL_DEX_OLD_UNOWN_C, // HOENN_DEX_OLD_UNOWN_C + NATIONAL_DEX_OLD_UNOWN_D, // HOENN_DEX_OLD_UNOWN_D + NATIONAL_DEX_OLD_UNOWN_E, // HOENN_DEX_OLD_UNOWN_E + NATIONAL_DEX_OLD_UNOWN_F, // HOENN_DEX_OLD_UNOWN_F + NATIONAL_DEX_OLD_UNOWN_G, // HOENN_DEX_OLD_UNOWN_G + NATIONAL_DEX_OLD_UNOWN_H, // HOENN_DEX_OLD_UNOWN_H + NATIONAL_DEX_OLD_UNOWN_I, // HOENN_DEX_OLD_UNOWN_I + NATIONAL_DEX_OLD_UNOWN_J, // HOENN_DEX_OLD_UNOWN_J + NATIONAL_DEX_OLD_UNOWN_K, // HOENN_DEX_OLD_UNOWN_K + NATIONAL_DEX_OLD_UNOWN_L, // HOENN_DEX_OLD_UNOWN_L + NATIONAL_DEX_OLD_UNOWN_M, // HOENN_DEX_OLD_UNOWN_M + NATIONAL_DEX_OLD_UNOWN_N, // HOENN_DEX_OLD_UNOWN_N + NATIONAL_DEX_OLD_UNOWN_O, // HOENN_DEX_OLD_UNOWN_O + NATIONAL_DEX_OLD_UNOWN_P, // HOENN_DEX_OLD_UNOWN_P + NATIONAL_DEX_OLD_UNOWN_Q, // HOENN_DEX_OLD_UNOWN_Q + NATIONAL_DEX_OLD_UNOWN_R, // HOENN_DEX_OLD_UNOWN_R + NATIONAL_DEX_OLD_UNOWN_S, // HOENN_DEX_OLD_UNOWN_S + NATIONAL_DEX_OLD_UNOWN_T, // HOENN_DEX_OLD_UNOWN_T + NATIONAL_DEX_OLD_UNOWN_U, // HOENN_DEX_OLD_UNOWN_U + NATIONAL_DEX_OLD_UNOWN_V, // HOENN_DEX_OLD_UNOWN_V + NATIONAL_DEX_OLD_UNOWN_W, // HOENN_DEX_OLD_UNOWN_W + NATIONAL_DEX_OLD_UNOWN_X, // HOENN_DEX_OLD_UNOWN_X + NATIONAL_DEX_OLD_UNOWN_Y, // HOENN_DEX_OLD_UNOWN_Y + NATIONAL_DEX_OLD_UNOWN_Z // HOENN_DEX_OLD_UNOWN_Z +}; const struct SpindaSpot gSpindaSpotGraphics[] = { From e2f5e7344593c980b1fbce0a67ab4d57ff76fcd7 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Wed, 15 Aug 2018 23:04:46 +0200 Subject: [PATCH 108/234] More battle dome --- asm/battle_frontier_1.s | 1048 ++------------------------------------ asm/battle_frontier_2.s | 80 +-- asm/battle_tent.s | 18 +- asm/battle_tower.s | 92 ++-- include/battle_message.h | 1 + include/global.h | 10 +- src/battle_frontier_1.c | 440 ++++++++++++++-- src/battle_message.c | 2 +- sym_ewram.txt | 2 +- 9 files changed, 532 insertions(+), 1161 deletions(-) diff --git a/asm/battle_frontier_1.s b/asm/battle_frontier_1.s index 6715dadea7..11f215a836 100644 --- a/asm/battle_frontier_1.s +++ b/asm/battle_frontier_1.s @@ -6,991 +6,11 @@ .text - thumb_func_start sub_818F9B0 -sub_818F9B0: @ 818F9B0 - push {lr} - ldr r0, =gStringVar1 - ldr r2, =gRoundsStringTable - ldr r1, =gSaveBlock2Ptr - ldr r1, [r1] - ldr r3, =0x00000cb2 - adds r1, r3 - ldrh r1, [r1] - lsls r1, 2 - adds r1, r2 - ldr r1, [r1] - bl StringCopy - pop {r0} - bx r0 - .pool - thumb_func_end sub_818F9B0 - thumb_func_start sub_818F9E0 -sub_818F9E0: @ 818F9E0 - push {lr} - ldr r0, =gStringVar1 - ldr r2, =gRoundsStringTable - ldr r1, =gSaveBlock2Ptr - ldr r1, [r1] - ldr r3, =0x00000cb2 - adds r1, r3 - ldrh r1, [r1] - lsls r1, 2 - adds r1, r2 - ldr r1, [r1] - bl StringCopy - ldr r0, =gStringVar2 - ldr r1, =gTrainerBattleOpponent_A - ldrh r1, [r1] - bl sub_8195898 - pop {r0} - bx r0 - .pool - thumb_func_end sub_818F9E0 - thumb_func_start sub_818FA20 -sub_818FA20: @ 818FA20 - push {r4,r5,lr} - ldr r1, =gUnknown_0203CD70 - movs r0, 0 - str r0, [r1] - ldr r4, =gPlayerParty - adds r0, r4, 0 - movs r1, 0x3A - movs r2, 0 - bl GetMonData - ldr r5, =gUnknown_0203CD74 - str r0, [r5] - adds r4, 0x64 - adds r0, r4, 0 - movs r1, 0x3A - movs r2, 0 - bl GetMonData - ldr r1, [r5] - adds r1, r0 - str r1, [r5] - bl CalculatePlayerPartyCount - ldr r0, =gTrainerBattleOpponent_A - ldrh r0, [r0] - bl sub_8195358 - lsls r0, 16 - lsrs r0, 16 - bl sub_818FBDC - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_818FA20 - thumb_func_start sub_818FA74 -sub_818FA74: @ 818FA74 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x30 - adds r5, r2, 0 - str r3, [sp, 0x14] - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x10] - lsls r1, 16 - lsrs r1, 16 - str r1, [sp, 0x28] - lsls r5, 24 - lsrs r5, 24 - add r0, sp, 0xC - movs r1, 0x1 - negs r1, r1 - strb r1, [r0] - ldr r0, [sp, 0x28] - bl sub_8190168 - adds r6, r0, 0 - lsls r6, 24 - lsrs r6, 24 - str r6, [sp, 0x2C] - bl sub_8165C40 - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - movs r0, 0x64 - ldr r4, [sp, 0x10] - adds r3, r4, 0 - muls r3, r0 - str r3, [sp, 0x18] - ldr r6, =gEnemyParty - adds r0, r3, r6 - ldr r7, =gSaveBlock2Ptr - ldr r4, [r7] - lsls r5, 1 - ldr r3, [sp, 0x28] - lsls r1, r3, 1 - adds r1, r3 - lsls r1, 1 - adds r1, r5, r1 - ldr r6, =0x00000d64 - adds r4, r6 - adds r4, r1 - ldrh r3, [r4] - ldr r7, =gUnknown_0203BC8C - ldr r7, [r7] - mov r8, r7 - lsls r3, 4 - add r3, r8 - ldrh r1, [r3] - ldrb r3, [r3, 0xC] - ldr r6, [sp, 0x2C] - str r6, [sp] - ldrh r4, [r4] - lsls r4, 4 - add r4, r8 - ldrb r4, [r4, 0xB] - str r4, [sp, 0x4] - ldr r7, [sp, 0x14] - str r7, [sp, 0x8] - bl CreateMonWithEVSpreadPersonalityOTID - add r0, sp, 0xC - movs r1, 0x1 - negs r1, r1 - strb r1, [r0] - movs r6, 0 - ldr r2, [sp, 0x18] - str r2, [sp, 0x1C] - mov r10, r5 - ldr r3, =0x00000d64 - mov r9, r3 - ldr r3, =gUnknown_0203BC8C - mov r4, r10 - str r4, [sp, 0x20] -_0818FB18: - ldr r7, =gSaveBlock2Ptr - ldr r1, [r7] - ldr r2, [sp, 0x28] - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 1 - mov r8, r0 - mov r5, r10 - add r5, r8 - add r1, r9 - adds r1, r5 - ldrh r0, [r1] - ldr r1, [r3] - lsls r0, 4 - adds r0, r1 - lsls r4, r6, 1 - adds r0, 0x2 - adds r0, r4 - ldrh r1, [r0] - lsls r2, r6, 24 - lsrs r2, 24 - mov r12, r2 - ldr r7, [sp, 0x1C] - ldr r2, =gEnemyParty - adds r0, r7, r2 - mov r2, r12 - str r3, [sp, 0x24] - bl SetMonMoveSlot - ldr r7, =gSaveBlock2Ptr - ldr r0, [r7] - add r0, r9 - adds r0, r5 - ldrh r0, [r0] - ldr r3, [sp, 0x24] - ldr r1, [r3] - lsls r0, 4 - adds r0, r1 - adds r0, 0x2 - adds r0, r4 - ldrh r0, [r0] - cmp r0, 0xDA - bne _0818FB74 - movs r1, 0 - add r0, sp, 0xC - strb r1, [r0] -_0818FB74: - adds r6, 0x1 - cmp r6, 0x3 - ble _0818FB18 - movs r0, 0x64 - ldr r1, [sp, 0x10] - adds r4, r1, 0 - muls r4, r0 - ldr r0, =gEnemyParty - adds r4, r0 - adds r0, r4, 0 - movs r1, 0x20 - add r2, sp, 0xC - bl SetMonData - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r1, [sp, 0x20] - add r1, r8 - ldr r2, =0x00000d64 - adds r0, r2 - adds r0, r1 - ldrh r0, [r0] - ldr r1, =gUnknown_0203BC8C - ldr r1, [r1] - lsls r0, 4 - adds r0, r1 - ldrb r2, [r0, 0xA] - lsls r2, 1 - ldr r0, =gBattleFrontierHeldItems - adds r2, r0 - adds r0, r4, 0 - movs r1, 0xC - bl SetMonData - add sp, 0x30 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_818FA74 - - thumb_func_start sub_818FBDC -sub_818FBDC: @ 818FBDC - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - movs r6, 0 - bl ZeroEnemyPartyMons - mov r0, r8 - bl sub_818FC78 - adds r5, r0, 0 - bl Random - adds r4, r0, 0 - bl Random - lsls r4, 16 - lsrs r7, r4, 16 - lsls r0, 16 - orrs r7, r0 - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0xA - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x5 - bls _0818FC46 - movs r4, 0 -_0818FC20: - movs r0, 0x1 - ands r0, r5 - cmp r0, 0 - beq _0818FC3C - lsls r2, r4, 24 - lsrs r2, 24 - adds r0, r6, 0 - mov r1, r8 - adds r3, r7, 0 - bl sub_818FA74 - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 -_0818FC3C: - asrs r5, 1 - adds r4, 0x1 - cmp r4, 0x2 - ble _0818FC20 - b _0818FC6C -_0818FC46: - movs r4, 0x2 -_0818FC48: - movs r0, 0x4 - ands r0, r5 - cmp r0, 0 - beq _0818FC64 - lsls r2, r4, 24 - lsrs r2, 24 - adds r0, r6, 0 - mov r1, r8 - adds r3, r7, 0 - bl sub_818FA74 - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 -_0818FC64: - lsls r5, 1 - subs r4, 0x1 - cmp r4, 0 - bge _0818FC48 -_0818FC6C: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_818FBDC - - thumb_func_start sub_818FC78 -sub_818FC78: @ 818FC78 - push {r4,r5,lr} - lsls r0, 16 - lsrs r4, r0, 16 - adds r5, r4, 0 - bl Random - movs r1, 0x1 - ands r1, r0 - cmp r1, 0 - beq _0818FCA2 - adds r0, r4, 0 - movs r1, 0 - bl sub_818FCBC - cmp r0, 0 - bne _0818FCB6 - adds r0, r4, 0 - movs r1, 0x1 - bl sub_818FDB8 - b _0818FCB6 -_0818FCA2: - adds r0, r5, 0 - movs r1, 0 - bl sub_818FDB8 - cmp r0, 0 - bne _0818FCB6 - adds r0, r5, 0 - movs r1, 0x1 - bl sub_818FCBC -_0818FCB6: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_818FC78 - - thumb_func_start sub_818FCBC -sub_818FCBC: @ 818FCBC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x1C - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - lsls r1, 24 - lsrs r1, 24 - str r1, [sp, 0xC] - movs r0, 0 - mov r9, r0 - mov r1, r8 - lsls r1, 2 - str r1, [sp, 0x18] -_0818FCDE: - mov r2, r9 - lsls r0, r2, 2 - mov r2, sp - adds r1, r2, r0 - movs r0, 0 - str r0, [r1] - movs r7, 0 - mov r0, r9 - adds r0, 0x1 - str r0, [sp, 0x14] - adds r5, r1, 0 - mov r1, r9 - lsls r1, 1 - str r1, [sp, 0x10] -_0818FCFA: - movs r6, 0 - adds r2, r7, 0x1 - mov r10, r2 -_0818FD00: - ldr r0, =gSaveBlock2Ptr - ldr r1, [r0] - ldr r2, [sp, 0x18] - adds r0, r1, r2 - ldr r2, =0x00000d24 - adds r0, r2 - ldrh r0, [r0] - lsls r0, 22 - lsrs r0, 22 - ldr r2, =0x000003fe - cmp r0, r2 - bne _0818FD3C - mov r1, r9 - lsls r0, r1, 24 - lsls r1, r7, 24 - lsrs r0, 24 - lsrs r1, 24 - bl sub_81A5060 - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - b _0818FD60 - .pool -_0818FD3C: - mov r2, r8 - lsls r0, r2, 1 - add r0, r8 - lsls r0, 1 - ldr r2, [sp, 0x10] - adds r0, r2, r0 - ldr r2, =0x00000d64 - adds r1, r2 - adds r1, r0 - ldrh r0, [r1] - ldr r1, =gUnknown_0203BC8C - ldr r1, [r1] - lsls r0, 4 - adds r0, r1 - lsls r1, r7, 1 - adds r0, 0x2 - adds r0, r1 - ldrh r4, [r0] -_0818FD60: - movs r0, 0x64 - muls r0, r6 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0xB - movs r2, 0 - bl GetMonData - adds r1, r0, 0 - adds r0, r4, 0 - movs r2, 0 - bl sub_818FFC0 - ldr r1, [r5] - adds r1, r0 - str r1, [r5] - adds r6, 0x1 - cmp r6, 0x2 - ble _0818FD00 - mov r7, r10 - cmp r7, 0x3 - ble _0818FCFA - ldr r0, [sp, 0x14] - mov r9, r0 - cmp r0, 0x2 - ble _0818FCDE - mov r0, sp - ldr r1, [sp, 0xC] - bl sub_818FEB4 - add sp, 0x1C - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_818FCBC - - thumb_func_start sub_818FDB8 -sub_818FDB8: @ 818FDB8 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x1C - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - lsls r1, 24 - lsrs r1, 24 - str r1, [sp, 0xC] - movs r0, 0 - mov r9, r0 - mov r1, r8 - lsls r1, 2 - str r1, [sp, 0x18] -_0818FDDA: - mov r2, r9 - lsls r0, r2, 2 - mov r2, sp - adds r1, r2, r0 - movs r0, 0 - str r0, [r1] - movs r7, 0 - mov r0, r9 - adds r0, 0x1 - str r0, [sp, 0x14] - adds r5, r1, 0 - mov r1, r9 - lsls r1, 1 - str r1, [sp, 0x10] -_0818FDF6: - movs r6, 0 - adds r2, r7, 0x1 - mov r10, r2 -_0818FDFC: - ldr r0, =gSaveBlock2Ptr - ldr r1, [r0] - ldr r2, [sp, 0x18] - adds r0, r1, r2 - ldr r2, =0x00000d24 - adds r0, r2 - ldrh r0, [r0] - lsls r0, 22 - lsrs r0, 22 - ldr r2, =0x000003fe - cmp r0, r2 - bne _0818FE38 - mov r1, r9 - lsls r0, r1, 24 - lsls r1, r7, 24 - lsrs r0, 24 - lsrs r1, 24 - bl sub_81A5060 - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - b _0818FE5C - .pool -_0818FE38: - mov r2, r8 - lsls r0, r2, 1 - add r0, r8 - lsls r0, 1 - ldr r2, [sp, 0x10] - adds r0, r2, r0 - ldr r2, =0x00000d64 - adds r1, r2 - adds r1, r0 - ldrh r0, [r1] - ldr r1, =gUnknown_0203BC8C - ldr r1, [r1] - lsls r0, 4 - adds r0, r1 - lsls r1, r7, 1 - adds r0, 0x2 - adds r0, r1 - ldrh r4, [r0] -_0818FE5C: - movs r0, 0x64 - muls r0, r6 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0xB - movs r2, 0 - bl GetMonData - adds r1, r0, 0 - adds r0, r4, 0 - movs r2, 0x1 - bl sub_818FFC0 - ldr r1, [r5] - adds r1, r0 - str r1, [r5] - adds r6, 0x1 - cmp r6, 0x2 - ble _0818FDFC - mov r7, r10 - cmp r7, 0x3 - ble _0818FDF6 - ldr r0, [sp, 0x14] - mov r9, r0 - cmp r0, 0x2 - ble _0818FDDA - mov r0, sp - ldr r1, [sp, 0xC] - bl sub_818FEB4 - add sp, 0x1C - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_818FDB8 - - thumb_func_start sub_818FEB4 -sub_818FEB4: @ 818FEB4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x18 - mov r10, r0 - lsls r1, 24 - lsrs r1, 24 - movs r0, 0 - str r0, [sp, 0xC] - movs r3, 0x2 - add r0, sp, 0x8 -_0818FECE: - str r3, [r0] - subs r0, 0x4 - subs r3, 0x1 - cmp r3, 0 - bge _0818FECE - mov r3, r10 - ldr r2, [r3] - ldr r0, [r3, 0x4] - cmp r2, r0 - bne _0818FF20 - ldr r0, [r3, 0x8] - cmp r2, r0 - bne _0818FF20 - cmp r1, 0 - beq _0818FFAA - movs r3, 0 - ldr r4, =gBitTable -_0818FEF0: - str r3, [sp, 0x14] - bl Random - movs r1, 0x3 - ands r1, r0 - ldr r3, [sp, 0x14] - cmp r1, 0x3 - beq _0818FF16 - lsls r0, r1, 2 - adds r0, r4 - ldr r1, [r0] - ldr r0, [sp, 0xC] - ands r0, r1 - cmp r0, 0 - bne _0818FF16 - ldr r0, [sp, 0xC] - orrs r0, r1 - str r0, [sp, 0xC] - adds r3, 0x1 -_0818FF16: - cmp r3, 0x2 - bne _0818FEF0 - b _0818FFAA - .pool -_0818FF20: - movs r3, 0 - mov r9, sp - mov r8, r10 -_0818FF26: - adds r2, r3, 0x1 - cmp r2, 0x2 - bgt _0818FF84 - mov r6, r8 - mov r7, r9 - lsls r0, r2, 2 - mov r1, sp - adds r5, r0, r1 - mov r1, r10 - adds r4, r0, r1 -_0818FF3A: - ldr r0, [r6] - ldr r1, [r4] - cmp r0, r1 - bge _0818FF4E - str r1, [r6] - str r0, [r4] - ldr r1, [r7] - ldr r0, [r5] - str r0, [r7] - str r1, [r5] -_0818FF4E: - ldr r1, [r6] - ldr r0, [r4] - cmp r1, r0 - bne _0818FF7A - str r2, [sp, 0x10] - str r3, [sp, 0x14] - bl Random - movs r1, 0x1 - ands r1, r0 - ldr r2, [sp, 0x10] - ldr r3, [sp, 0x14] - cmp r1, 0 - beq _0818FF7A - ldr r1, [r6] - ldr r0, [r4] - str r0, [r6] - str r1, [r4] - ldr r1, [r7] - ldr r0, [r5] - str r0, [r7] - str r1, [r5] -_0818FF7A: - adds r5, 0x4 - adds r4, 0x4 - adds r2, 0x1 - cmp r2, 0x2 - ble _0818FF3A -_0818FF84: - movs r4, 0x4 - add r9, r4 - add r8, r4 - adds r3, 0x1 - cmp r3, 0x1 - ble _0818FF26 - ldr r2, =gBitTable - mov r1, sp - movs r3, 0x1 -_0818FF96: - ldm r1!, {r0} - lsls r0, 2 - adds r0, r2 - ldr r0, [r0] - ldr r4, [sp, 0xC] - orrs r4, r0 - str r4, [sp, 0xC] - subs r3, 0x1 - cmp r3, 0 - bge _0818FF96 -_0818FFAA: - ldr r0, [sp, 0xC] - add sp, 0x18 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_818FEB4 - - thumb_func_start sub_818FFC0 -sub_818FFC0: @ 818FFC0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - adds r3, r0, 0 - adds r4, r1, 0 - str r2, [sp] - movs r6, 0 - movs r2, 0x14 - cmp r3, 0 - beq _0818FFF0 - ldr r0, =0x0000ffff - cmp r3, r0 - beq _0818FFF0 - ldr r0, =gBattleMoves - lsls r1, r3, 1 - adds r1, r3 - lsls r1, 2 - adds r3, r1, r0 - ldrb r0, [r3, 0x1] - cmp r0, 0 - bne _0818FFFC -_0818FFF0: - movs r0, 0 - b _08190156 - .pool -_0818FFFC: - ldr r1, =gBaseStats - lsls r0, r4, 3 - subs r0, r4 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x6] - mov r10, r1 - ldrb r1, [r0, 0x7] - mov r9, r1 - ldrb r0, [r0, 0x16] - mov r8, r0 - ldrb r3, [r3, 0x2] - str r3, [sp, 0x4] - cmp r0, 0x1A - bne _0819002C - cmp r3, 0x4 - bne _0819002C - ldr r0, [sp] - cmp r0, 0x1 - bne _081900AA - movs r2, 0x8 - b _081900A4 - .pool -_0819002C: - ldr r0, =gTypeEffectiveness - adds r1, r6, r0 - ldrb r0, [r1] - ldr r7, =gTypeEffectiveness - cmp r0, 0xFF - beq _081900A4 - adds r4, r1, 0 -_0819003A: - ldrb r0, [r4] - cmp r0, 0xFE - beq _08190096 - ldrb r0, [r4] - ldr r1, [sp, 0x4] - cmp r0, r1 - bne _08190096 - ldrb r0, [r4, 0x1] - adds r5, r6, 0x1 - cmp r0, r10 - bne _0819006C - adds r1, r6, 0x2 - mov r0, r8 - cmp r0, 0x19 - bne _0819005E - ldrb r0, [r4, 0x2] - cmp r0, 0x28 - bne _0819006C -_0819005E: - adds r0, r1, r7 - ldrb r0, [r0] - muls r0, r2 - movs r1, 0xA - bl __divsi3 - adds r2, r0, 0 -_0819006C: - adds r0, r5, r7 - ldrb r0, [r0] - cmp r0, r9 - bne _08190096 - cmp r10, r9 - beq _08190096 - adds r1, r6, 0x2 - mov r0, r8 - cmp r0, 0x19 - bne _08190088 - adds r0, r1, r7 - ldrb r0, [r0] - cmp r0, 0x28 - bne _08190096 -_08190088: - adds r0, r1, r7 - ldrb r0, [r0] - muls r0, r2 - movs r1, 0xA - bl __divsi3 - adds r2, r0, 0 -_08190096: - adds r4, 0x3 - adds r6, 0x3 - ldr r1, =gTypeEffectiveness - adds r0, r6, r1 - ldrb r0, [r0] - cmp r0, 0xFF - bne _0819003A -_081900A4: - ldr r0, [sp] - cmp r0, 0x1 - beq _081900E0 -_081900AA: - ldr r1, [sp] - cmp r1, 0x1 - bgt _081900BC - cmp r1, 0 - beq _081900C4 - b _08190154 - .pool -_081900BC: - ldr r0, [sp] - cmp r0, 0x2 - beq _08190114 - b _08190154 -_081900C4: - cmp r2, 0xA - beq _08190146 - cmp r2, 0xA - ble _08190146 - cmp r2, 0x28 - beq _0819014A - cmp r2, 0x28 - bgt _081900DA - cmp r2, 0x14 - beq _08190104 - b _08190146 -_081900DA: - cmp r2, 0x50 - bne _08190146 - b _08190100 -_081900E0: - cmp r2, 0xA - beq _08190104 - cmp r2, 0xA - bgt _081900F2 - cmp r2, 0 - beq _08190100 - cmp r2, 0x5 - beq _0819014A - b _08190146 -_081900F2: - cmp r2, 0x28 - beq _08190108 - cmp r2, 0x28 - ble _08190146 - cmp r2, 0x50 - beq _0819010E - b _08190146 -_08190100: - movs r2, 0x8 - b _08190154 -_08190104: - movs r2, 0x2 - b _08190154 -_08190108: - movs r2, 0x2 - negs r2, r2 - b _08190154 -_0819010E: - movs r2, 0x4 - negs r2, r2 - b _08190154 -_08190114: - cmp r2, 0xA - beq _08190146 - cmp r2, 0xA - bgt _08190126 - cmp r2, 0 - beq _0819013A - cmp r2, 0x5 - beq _08190140 - b _08190146 -_08190126: - cmp r2, 0x28 - beq _0819014E - cmp r2, 0x28 - bgt _08190134 - cmp r2, 0x14 - beq _0819014A - b _08190146 -_08190134: - cmp r2, 0x50 - beq _08190152 - b _08190146 -_0819013A: - movs r2, 0x10 - negs r2, r2 - b _08190154 -_08190140: - movs r2, 0x8 - negs r2, r2 - b _08190154 -_08190146: - movs r2, 0 - b _08190154 -_0819014A: - movs r2, 0x4 - b _08190154 -_0819014E: - movs r2, 0xC - b _08190154 -_08190152: - movs r2, 0x14 -_08190154: - adds r0, r2, 0 -_08190156: - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_818FFC0 - - thumb_func_start sub_8190168 -sub_8190168: @ 8190168 + thumb_func_start GetDomeTrainerMonIvs +GetDomeTrainerMonIvs: @ 8190168 push {lr} lsls r0, 16 lsrs r0, 16 @@ -1020,7 +40,7 @@ _0819019A: adds r0, r1, 0 pop {r1} bx r1 - thumb_func_end sub_8190168 + thumb_func_end GetDomeTrainerMonIvs thumb_func_start sub_81901A0 sub_81901A0: @ 81901A0 @@ -1292,7 +312,7 @@ sub_81903B8: @ 81903B8 bl sub_81902AC lsls r0, 16 lsrs r0, 16 - bl sub_8195358 + bl TrainerIdToTournamentId strh r0, [r4, 0xA] strh r5, [r4, 0xC] strh r5, [r4, 0xE] @@ -5282,7 +4302,7 @@ _08192690: adds r0, r3 adds r0, r5 ldrh r1, [r0] - ldr r0, =gUnknown_0203BC8C + ldr r0, =gFacilityTrainerMons ldr r0, [r0] lsls r1, 4 adds r1, r0 @@ -5538,7 +4558,7 @@ _081928E4: adds r1, r2 adds r1, r0 ldrh r1, [r1] - ldr r0, =gUnknown_0203BC8C + ldr r0, =gFacilityTrainerMons ldr r0, [r0] lsls r1, 4 _081928FA: @@ -5683,7 +4703,7 @@ _08192A20: add r1, r12 adds r1, r0 ldrh r0, [r1] - ldr r1, =gUnknown_0203BC8C + ldr r1, =gFacilityTrainerMons ldr r1, [r1] lsls r0, 4 adds r0, r1 @@ -5919,7 +4939,7 @@ _08192C0C: bge _08192C0C b _08192D70 _08192C24: - ldr r4, =gUnknown_0203BC8C + ldr r4, =gFacilityTrainerMons mov r10, r4 ldr r1, [sp, 0x3C] ldr r2, [sp, 0x20] @@ -6965,7 +5985,7 @@ _08193490: adds r2, r1 adds r2, r0 ldrh r1, [r2] - ldr r0, =gUnknown_0203BC8C + ldr r0, =gFacilityTrainerMons ldr r0, [r0] lsls r1, 4 adds r1, r0 @@ -7114,7 +6134,7 @@ _081935D8: adds r2, r1 adds r2, r0 ldrh r1, [r2] - ldr r0, =gUnknown_0203BC8C + ldr r0, =gFacilityTrainerMons ldr r0, [r0] lsls r1, 4 adds r1, r0 @@ -7974,7 +6994,7 @@ sub_8193D7C: @ 8193D7C bne _08193E10 ldr r5, =gTrainerBattleOpponent_A ldrh r0, [r5] - bl sub_8195358 + bl TrainerIdToTournamentId ldr r4, =gSaveBlock2Ptr ldr r2, [r4] lsls r0, 2 @@ -7986,7 +7006,7 @@ sub_8193D7C: @ 8193D7C orrs r0, r1 strb r0, [r2] ldrh r0, [r5] - bl sub_8195358 + bl TrainerIdToTournamentId ldr r1, [r4] lsls r0, 2 adds r0, r1, r0 @@ -8005,7 +7025,7 @@ sub_8193D7C: @ 8193D7C orrs r1, r2 strb r1, [r0] ldrh r0, [r5] - bl sub_8195358 + bl TrainerIdToTournamentId ldr r2, [r4] lsls r0, 1 movs r3, 0xEC @@ -8027,7 +7047,7 @@ sub_8193D7C: @ 8193D7C _08193E10: ldr r5, =0x000003ff adds r0, r5, 0 - bl sub_8195358 + bl TrainerIdToTournamentId ldr r4, =gSaveBlock2Ptr ldr r2, [r4] lsls r0, 2 @@ -8039,7 +7059,7 @@ _08193E10: orrs r0, r1 strb r0, [r2] adds r0, r5, 0 - bl sub_8195358 + bl TrainerIdToTournamentId ldr r1, [r4] lsls r0, 2 adds r0, r1, r0 @@ -8057,7 +7077,7 @@ _08193E10: orrs r1, r2 strb r1, [r0] adds r0, r5, 0 - bl sub_8195358 + bl TrainerIdToTournamentId ldr r1, [r4] lsls r0, 1 movs r3, 0xEC @@ -8076,7 +7096,7 @@ _08193E10: bne _08193E92 _08193E78: adds r0, r5, 0 - bl sub_8195358 + bl TrainerIdToTournamentId ldr r2, [r4] lsls r0, 2 adds r2, r0 @@ -8127,7 +7147,7 @@ sub_8193ED0: @ 8193ED0 str r0, [sp, 0x54] movs r1, 0 str r1, [sp, 0x58] - bl sub_8165C40 + bl GetFrontierEnemyMonLevel movs r2, 0 str r2, [sp, 0x50] add r3, sp, 0x30 @@ -8193,7 +7213,7 @@ _08193F60: adds r1, r3, r5 adds r1, r0 ldrh r0, [r1] - ldr r1, =gUnknown_0203BC8C + ldr r1, =gFacilityTrainerMons ldr r1, [r1] lsls r0, 4 adds r0, r1 @@ -8266,7 +7286,7 @@ _08193FEE: adds r0, r4 add r0, r8 ldrh r4, [r0] - ldr r3, =gUnknown_0203BC8C + ldr r3, =gFacilityTrainerMons ldr r0, [r3] lsls r4, 4 adds r4, r0 @@ -9729,7 +8749,7 @@ sub_8194CE4: @ 8194CE4 thumb_func_start sub_8194D48 sub_8194D48: @ 8194D48 - ldr r1, =gUnknown_0203BC8C + ldr r1, =gFacilityTrainerMons ldr r0, =gBattleFrontierMons str r0, [r1] ldr r1, =gUnknown_0203BC88 @@ -9909,10 +8929,10 @@ sub_8194EC0: @ 8194EC0 push {r4,lr} ldr r0, =gTrainerBattleOpponent_A ldrh r0, [r0] - bl sub_8195358 + bl TrainerIdToTournamentId adds r4, r0, 0 ldr r0, =0x000003ff - bl sub_8195358 + bl TrainerIdToTournamentId cmp r4, r0 ble _08194EE8 ldr r1, =gSpecialVar_Result @@ -10141,7 +9161,7 @@ _0819509E: bge _081950F4 ldr r0, =gSaveBlock2Ptr ldr r0, [r0] - ldr r1, =gUnknown_0203BC8C + ldr r1, =gFacilityTrainerMons mov r9, r1 ldr r2, [sp, 0x8] mov r8, r2 @@ -10189,7 +9209,7 @@ _081950F4: ldr r2, [sp, 0x2C] add r2, sp adds r2, 0x8 - ldr r3, =gUnknown_0203BC8C + ldr r3, =gFacilityTrainerMons ldr r1, [r3] lsls r0, r5, 4 adds r0, r1 @@ -10260,7 +9280,7 @@ _08195182: ldrh r0, [r0] lsls r0, 22 lsrs r0, 22 - bl sub_8190168 + bl GetDomeTrainerMonIvs lsls r0, 24 lsrs r0, 24 mov r8, r0 @@ -10278,7 +9298,7 @@ _081951AA: adds r0, r2 adds r0, r4 ldrh r1, [r0] - ldr r3, =gUnknown_0203BC8C + ldr r3, =gFacilityTrainerMons ldr r0, [r3] lsls r1, 4 adds r1, r0 @@ -10312,7 +9332,7 @@ _081951AA: adds r0, r1 adds r0, r4 ldrh r0, [r0] - ldr r2, =gUnknown_0203BC8C + ldr r2, =gFacilityTrainerMons ldr r1, [r2] lsls r0, 4 adds r0, r1 @@ -10465,8 +9485,8 @@ _0819533E: .pool thumb_func_end sub_8194F58 - thumb_func_start sub_8195358 -sub_8195358: @ 8195358 + thumb_func_start TrainerIdToTournamentId +TrainerIdToTournamentId: @ 8195358 push {r4,r5,lr} lsls r0, 16 lsrs r3, r0, 16 @@ -10501,7 +9521,7 @@ _0819538E: pop {r1} bx r1 .pool - thumb_func_end sub_8195358 + thumb_func_end TrainerIdToTournamentId thumb_func_start sub_81953A0 sub_81953A0: @ 81953A0 @@ -10768,7 +9788,7 @@ _081955B0: ldr r2, [sp, 0x38] adds r0, r1, r2 ldrh r0, [r0] - ldr r3, =gUnknown_0203BC8C + ldr r3, =gFacilityTrainerMons mov r8, r3 ldr r2, [r3] lsls r0, 4 @@ -10873,7 +9893,7 @@ _08195682: mov r2, r8 adds r0, r1, r2 ldrh r0, [r0] - ldr r5, =gUnknown_0203BC8C + ldr r5, =gFacilityTrainerMons mov r9, r5 ldr r2, [r5] lsls r0, 4 @@ -11121,7 +10141,7 @@ sub_8195898: @ 8195898 lsls r1, 16 lsrs r5, r1, 16 movs r4, 0 - bl sub_8165C40 + bl GetFrontierEnemyMonLevel ldr r0, =0x000003fe cmp r5, r0 bne _081958B8 diff --git a/asm/battle_frontier_2.s b/asm/battle_frontier_2.s index 8f2d7b0e01..46204bb647 100644 --- a/asm/battle_frontier_2.s +++ b/asm/battle_frontier_2.s @@ -1867,7 +1867,7 @@ sub_819B484: @ 819B484 lsls r0, 24 lsrs r0, 24 str r0, [sp, 0x18] - ldr r1, =gUnknown_0203BC8C + ldr r1, =gFacilityTrainerMons ldr r0, =gBattleFrontierMons str r0, [r1] ldrb r1, [r4] @@ -1948,7 +1948,7 @@ _0819B572: ldr r0, [r2] adds r0, r4 adds r0, 0x8 - ldr r1, =gUnknown_0203BC8C + ldr r1, =gFacilityTrainerMons ldr r2, [r1] lsls r5, 4 adds r2, r5, r2 @@ -1973,7 +1973,7 @@ _0819B5B8: ldr r0, [r3] adds r0, r4 adds r0, 0x8 - ldr r5, =gUnknown_0203BC8C + ldr r5, =gFacilityTrainerMons ldr r1, [r5] adds r1, r7, r1 lsls r2, r6, 1 @@ -2045,7 +2045,7 @@ sub_819B63C: @ 819B63C add r0, sp, 0xC movs r1, 0 strb r1, [r0] - ldr r2, =gUnknown_0203BC8C + ldr r2, =gFacilityTrainerMons ldr r0, =gSlateportBattleTentMons str r0, [r2] ldr r0, =gSaveBlock2Ptr @@ -2089,7 +2089,7 @@ _0819B678: adds r4, 0xC adds r0, r4 adds r0, 0x8 - ldr r3, =gUnknown_0203BC8C + ldr r3, =gFacilityTrainerMons ldr r2, [r3] mov r7, r8 lsls r5, r7, 4 @@ -2114,7 +2114,7 @@ _0819B6D4: ldr r0, [r1] adds r0, r4 adds r0, 0x8 - ldr r3, =gUnknown_0203BC8C + ldr r3, =gFacilityTrainerMons ldr r2, [r3] mov r3, r8 lsls r1, r3, 4 @@ -2145,7 +2145,7 @@ _0819B6D4: ldr r0, [r2] adds r0, r4 adds r0, 0x8 - ldr r3, =gUnknown_0203BC8C + ldr r3, =gFacilityTrainerMons ldr r1, [r3] adds r1, r5, r1 ldrb r2, [r1, 0xA] @@ -3936,7 +3936,7 @@ sub_819C5D0: @ 819C5D0 sub_819C634: @ 819C634 push {r4-r7,lr} lsls r0, 16 - ldr r2, =gUnknown_0203BC8C + ldr r2, =gFacilityTrainerMons ldr r1, [r2] lsrs r0, 12 adds r0, r1 @@ -20059,7 +20059,7 @@ _081A4E46: bl ZeroEnemyPartyMons movs r1, 0 str r1, [sp, 0x18] - bl sub_8165C40 + bl GetFrontierEnemyMonLevel lsls r0, 24 lsrs r0, 24 str r0, [sp, 0x1C] @@ -22413,7 +22413,7 @@ _081A627A: lsls r0, 16 lsrs r0, 16 mov r9, r0 - ldr r4, =gUnknown_0203BC8C + ldr r4, =gFacilityTrainerMons ldr r2, [r4] lsls r1, r0, 4 adds r0, r1, r2 @@ -22458,7 +22458,7 @@ _081A62D0: cmp r0, r5 beq _081A6302 adds r6, r4, 0 - ldr r3, =gUnknown_0203BC8C + ldr r3, =gFacilityTrainerMons mov r12, r3 mov r5, r8 ldr r3, [sp, 0x14] @@ -22493,7 +22493,7 @@ _081A631C: ldrh r1, [r3] cmp r1, 0 beq _081A6336 - ldr r6, =gUnknown_0203BC8C + ldr r6, =gFacilityTrainerMons ldr r0, [r6] ldr r6, [sp, 0x24] adds r0, r6, r0 @@ -22512,7 +22512,7 @@ _081A633E: cmp r2, r4 bne _081A636E lsls r4, r7, 1 - ldr r0, =gUnknown_0203BC8C + ldr r0, =gFacilityTrainerMons ldr r1, [r0] add r1, r8 ldrh r0, [r1] @@ -22573,12 +22573,12 @@ sub_81A63CC: @ 81A63CC ands r0, r1 cmp r0, 0x2 beq _081A63FC - ldr r1, =gUnknown_0203BC8C + ldr r1, =gFacilityTrainerMons ldr r0, =gBattleFrontierMons b _081A6400 .pool _081A63FC: - ldr r1, =gUnknown_0203BC8C + ldr r1, =gFacilityTrainerMons ldr r0, =gSlateportBattleTentMons _081A6400: str r0, [r1] @@ -22637,7 +22637,7 @@ _081A6408: adds r1, r2 strb r0, [r1] ldrh r1, [r6] - ldr r0, =gUnknown_0203BC8C + ldr r0, =gFacilityTrainerMons ldr r0, [r0] lsls r1, 4 adds r1, r0 @@ -22679,7 +22679,7 @@ sub_81A64C4: @ 81A64C4 ands r0, r1 cmp r0, 0x2 bne _081A6500 - ldr r1, =gUnknown_0203BC8C + ldr r1, =gFacilityTrainerMons ldr r0, =gSlateportBattleTentMons str r0, [r1] movs r2, 0x1E @@ -22687,7 +22687,7 @@ sub_81A64C4: @ 81A64C4 b _081A6518 .pool _081A6500: - ldr r1, =gUnknown_0203BC8C + ldr r1, =gFacilityTrainerMons ldr r0, =gBattleFrontierMons str r0, [r1] ldrb r1, [r2] @@ -22712,7 +22712,7 @@ _081A6522: mov r1, sp adds r1, 0x12 str r1, [sp, 0x1C] - ldr r2, =gUnknown_0203BC8C + ldr r2, =gFacilityTrainerMons mov r9, r2 _081A6534: ldr r4, =gSaveBlock2Ptr @@ -22879,7 +22879,7 @@ _081A666C: _081A667A: movs r2, 0 mov r8, r2 - ldr r4, =gUnknown_0203BC8C + ldr r4, =gFacilityTrainerMons mov r9, r4 _081A6682: ldr r5, =gSaveBlock2Ptr @@ -23113,7 +23113,7 @@ _081A681A: bne _081A6878 movs r2, 0x1 _081A6878: - ldr r1, =gUnknown_0203BC8C + ldr r1, =gFacilityTrainerMons ldr r0, =gBattleFrontierMons str r0, [r1] mov r1, r9 @@ -23166,7 +23166,7 @@ _081A68F2: bl sub_81A6EF0 lsls r0, 16 lsrs r7, r0, 16 - ldr r0, =gUnknown_0203BC8C + ldr r0, =gFacilityTrainerMons ldr r1, [r0] lsls r2, r7, 4 adds r4, r2, r1 @@ -23226,7 +23226,7 @@ _081A6964: ldrh r4, [r5] cmp r4, 0 beq _081A6994 - ldr r1, =gUnknown_0203BC8C + ldr r1, =gFacilityTrainerMons ldr r0, [r1] mov r2, r9 adds r1, r2, r0 @@ -23262,7 +23262,7 @@ _081A699C: lsls r0, 4 adds r1, r0 strh r7, [r1] - ldr r2, =gUnknown_0203BC8C + ldr r2, =gFacilityTrainerMons ldr r1, [r2] add r1, r9 ldrh r0, [r1] @@ -23307,7 +23307,7 @@ sub_81A6A08: @ 81A6A08 mov r7, r8 push {r7} sub sp, 0x18 - ldr r1, =gUnknown_0203BC8C + ldr r1, =gFacilityTrainerMons ldr r0, =gBattleFrontierMons str r0, [r1] movs r4, 0 @@ -23326,7 +23326,7 @@ _081A6A1E: movs r4, 0 ldr r0, =gUnknown_03006298 mov r8, r0 - ldr r0, =gUnknown_0203BC8C + ldr r0, =gFacilityTrainerMons ldr r6, [r0] ldr r1, =gBaseStats mov r12, r1 @@ -23423,7 +23423,7 @@ sub_81A6AEC: @ 81A6AEC push {r4-r7,lr} sub sp, 0x8 movs r7, 0 - ldr r1, =gUnknown_0203BC8C + ldr r1, =gFacilityTrainerMons ldr r0, =gBattleFrontierMons str r0, [r1] movs r4, 0 @@ -23445,7 +23445,7 @@ _081A6B0E: ldrh r6, [r0] movs r5, 0 _081A6B18: - ldr r0, =gUnknown_0203BC8C + ldr r0, =gFacilityTrainerMons ldr r1, [r0] lsls r0, r6, 4 adds r0, r1 @@ -23590,12 +23590,12 @@ sub_81A6C1C: @ 81A6C1C ands r0, r1 cmp r0, 0x2 beq _081A6C48 - ldr r1, =gUnknown_0203BC8C + ldr r1, =gFacilityTrainerMons ldr r0, =gBattleFrontierMons b _081A6C4C .pool _081A6C48: - ldr r1, =gUnknown_0203BC8C + ldr r1, =gFacilityTrainerMons ldr r0, =gSlateportBattleTentMons _081A6C4C: str r0, [r1] @@ -23615,7 +23615,7 @@ _081A6C50: lsls r1, 4 adds r2, r1 ldrh r2, [r2] - ldr r1, =gUnknown_0203BC8C + ldr r1, =gFacilityTrainerMons ldr r1, [r1] lsls r2, 4 adds r2, r1 @@ -23702,7 +23702,7 @@ sub_81A6CD0: @ 81A6CD0 lsls r0, 24 lsrs r0, 24 str r0, [sp, 0x24] - bl sub_8165C40 + bl GetFrontierEnemyMonLevel lsls r0, 24 lsrs r0, 24 str r0, [sp, 0x20] @@ -23727,7 +23727,7 @@ _081A6D4C: bl sub_81A6EF0 lsls r0, 16 lsrs r5, r0, 16 - ldr r7, =gUnknown_0203BC8C + ldr r7, =gFacilityTrainerMons ldr r1, [r7] lsls r0, r5, 4 adds r0, r1 @@ -23775,7 +23775,7 @@ _081A6DA8: cmp r4, r9 bge _081A6DDC add r2, sp, 0xC - ldr r7, =gUnknown_0203BC8C + ldr r7, =gFacilityTrainerMons ldr r0, [r7] lsls r1, r5, 4 adds r0, r1, r0 @@ -23784,7 +23784,7 @@ _081A6DA8: ldrh r0, [r0] cmp r2, r0 beq _081A6DDC - ldr r6, =gUnknown_0203BC8C + ldr r6, =gFacilityTrainerMons adds r3, r7, 0 add r2, sp, 0xC _081A6DC8: @@ -23805,7 +23805,7 @@ _081A6DDC: cmp r4, r9 bge _081A6E0C ldr r7, =gBattleFrontierHeldItems - ldr r6, =gUnknown_0203BC8C + ldr r6, =gFacilityTrainerMons add r2, sp, 0x14 lsls r3, r5, 4 _081A6DEE: @@ -23833,7 +23833,7 @@ _081A6E0C: mov r1, sp adds r1, r2 adds r1, 0xC - ldr r3, =gUnknown_0203BC8C + ldr r3, =gFacilityTrainerMons ldr r4, [r3] lsls r5, 4 mov r8, r5 @@ -23875,7 +23875,7 @@ _081A6E0C: add r0, r9 mov r8, r0 _081A6E6E: - ldr r1, =gUnknown_0203BC8C + ldr r1, =gFacilityTrainerMons ldr r0, [r1] adds r0, r7, r0 lsls r1, r4, 1 @@ -23898,7 +23898,7 @@ _081A6E6E: movs r1, 0x20 mov r2, r10 bl SetMonData - ldr r2, =gUnknown_0203BC8C + ldr r2, =gFacilityTrainerMons ldr r0, [r2] adds r0, r7, r0 ldrb r2, [r0, 0xA] @@ -29517,7 +29517,7 @@ _081A9C56: bl SetMonData cmp r5, 0 beq _081A9CD4 - bl sub_8165C40 + bl GetFrontierEnemyMonLevel lsls r0, 24 lsrs r5, r0, 24 ldr r1, [sp, 0x10] diff --git a/asm/battle_tent.s b/asm/battle_tent.s index c967390d08..d643457300 100644 --- a/asm/battle_tent.s +++ b/asm/battle_tent.s @@ -22,7 +22,7 @@ sub_81B9EC0: @ 81B9EC0 mov r1, sp adds r1, 0x18 str r1, [sp, 0x2C] - ldr r5, =gUnknown_0203BC8C + ldr r5, =gFacilityTrainerMons ldr r4, =gSlateportBattleTentMons movs r2, 0 adds r3, r1, 0 @@ -73,7 +73,7 @@ _081B9F1E: ldrh r0, [r1] cmp r0, r5 beq _081B9F7C - ldr r0, =gUnknown_0203BC8C + ldr r0, =gFacilityTrainerMons ldr r1, [r0] lsls r0, r5, 4 adds r4, r0, r1 @@ -112,7 +112,7 @@ _081B9F7C: bge _081B9FD4 ldr r0, =gBattleFrontierHeldItems mov r12, r0 - ldr r7, =gUnknown_0203BC8C + ldr r7, =gFacilityTrainerMons ldr r1, [sp, 0x24] ldr r0, [sp, 0x2C] adds r4, r1, r0 @@ -155,7 +155,7 @@ _081B9FD4: lsls r6, 4 adds r1, r6 strh r5, [r1] - ldr r0, =gUnknown_0203BC8C + ldr r0, =gFacilityTrainerMons ldr r0, [r0] lsls r1, r5, 4 adds r1, r0 @@ -208,7 +208,7 @@ sub_81BA040: @ 81BA040 ldr r1, =gUnknown_0203BC88 ldr r0, =gSlateportBattleTentTrainers str r0, [r1] - ldr r1, =gUnknown_0203BC8C + ldr r1, =gFacilityTrainerMons ldr r0, =gSlateportBattleTentMons str r0, [r1] ldr r7, =gSaveBlock2Ptr @@ -324,7 +324,7 @@ _081BA13E: strh r0, [r7] movs r2, 0 ldrh r0, [r7] - ldr r4, =gUnknown_0203BC8C + ldr r4, =gFacilityTrainerMons ldr r3, [r4] lsls r0, 4 adds r0, r3 @@ -356,7 +356,7 @@ _081BA180: cmp r0, r6 beq _081BA1B0 ldr r6, =gUnknown_03001298 - ldr r3, =gUnknown_0203BC8C + ldr r3, =gFacilityTrainerMons mov r2, sp _081BA198: adds r2, 0x2 @@ -386,7 +386,7 @@ _081BA1C0: beq _081BA1DE ldr r1, =gUnknown_03001298 ldrh r0, [r1] - ldr r6, =gUnknown_0203BC8C + ldr r6, =gFacilityTrainerMons ldr r1, [r6] lsls r0, 4 adds r0, r1 @@ -406,7 +406,7 @@ _081BA1E6: bne _081BA220 lsls r2, r5, 1 ldrh r0, [r7] - ldr r1, =gUnknown_0203BC8C + ldr r1, =gFacilityTrainerMons ldr r4, [r1] lsls r0, 4 adds r0, r4 diff --git a/asm/battle_tower.s b/asm/battle_tower.s index 7340ea1ce5..43dc9b19bf 100644 --- a/asm/battle_tower.s +++ b/asm/battle_tower.s @@ -551,7 +551,7 @@ _08162414: bl __udivsi3 lsls r0, 16 lsrs r5, r0, 16 - bl sub_8165C40 + bl GetFrontierEnemyMonLevel subs r4, 0x2 cmp r4, 0x1 bhi _08162488 @@ -784,7 +784,7 @@ sub_8162614: @ 8162614 adds r6, r4, 0 lsls r1, 24 lsrs r5, r1, 24 - bl sub_8165C40 + bl GetFrontierEnemyMonLevel movs r0, 0xFA lsls r0, 1 cmp r4, r0 @@ -962,7 +962,7 @@ sub_81627A4: @ 81627A4 lsls r0, 16 lsrs r4, r0, 16 adds r5, r4, 0 - bl sub_8165C40 + bl GetFrontierEnemyMonLevel movs r0, 0xFA lsls r0, 1 cmp r4, r0 @@ -1335,7 +1335,7 @@ GetFrontierTrainerFrontSpriteId: @ 8162AA0 lsls r0, 16 lsrs r4, r0, 16 adds r5, r4, 0 - bl sub_8165C40 + bl GetFrontierEnemyMonLevel movs r0, 0xFA lsls r0, 1 cmp r4, r0 @@ -1462,7 +1462,7 @@ GetFrontierOpponentClass: @ 8162BD8 lsls r0, 16 lsrs r4, r0, 16 adds r5, r4, 0 - bl sub_8165C40 + bl GetFrontierEnemyMonLevel movs r0, 0xFA lsls r0, 1 cmp r4, r0 @@ -1602,7 +1602,7 @@ sub_8162D34: @ 8162D34 lsls r0, 16 lsrs r4, r0, 16 adds r5, r4, 0 - bl sub_8165C40 + bl GetFrontierEnemyMonLevel movs r0, 0xFA lsls r0, 1 cmp r4, r0 @@ -1704,7 +1704,7 @@ GetFrontierTrainerName: @ 8162E20 lsls r1, 16 lsrs r5, r1, 16 movs r4, 0 - bl sub_8165C40 + bl GetFrontierEnemyMonLevel movs r0, 0xFA lsls r0, 1 cmp r5, r0 @@ -1854,7 +1854,7 @@ sub_8162F68: @ 8162F68 lsls r0, 16 lsrs r4, r0, 16 adds r5, r4, 0 - bl sub_8165C40 + bl GetFrontierEnemyMonLevel movs r0, 0xFA lsls r0, 1 cmp r4, r0 @@ -2025,7 +2025,7 @@ sub_81630C4: @ 81630C4 add r4, sp, 0x14 movs r0, 0xFF strb r0, [r4] - bl sub_8165C40 + bl GetFrontierEnemyMonLevel lsls r0, 24 lsrs r0, 24 str r0, [sp, 0x20] @@ -2258,7 +2258,7 @@ _081632D2: movs r1, 0xB movs r2, 0 bl GetMonData - ldr r1, =gUnknown_0203BC8C + ldr r1, =gFacilityTrainerMons ldr r2, [r1] lsls r1, r4, 4 adds r1, r2 @@ -2291,7 +2291,7 @@ _08163308: movs r1, 0xC movs r2, 0 bl GetMonData - ldr r1, =gUnknown_0203BC8C + ldr r1, =gFacilityTrainerMons ldr r2, [r1] lsls r1, r4, 4 adds r1, r2 @@ -2338,7 +2338,7 @@ _08163368: muls r0, r1 ldr r2, =gEnemyParty adds r0, r2 - ldr r5, =gUnknown_0203BC8C + ldr r5, =gFacilityTrainerMons ldr r2, [r5] lsls r4, 4 adds r2, r4, r2 @@ -2405,7 +2405,7 @@ _081633EC: movs r1, 0x20 add r2, sp, 0x14 bl SetMonData - ldr r0, =gUnknown_0203BC8C + ldr r0, =gFacilityTrainerMons ldr r0, [r0] add r0, r9 ldrb r2, [r0, 0xA] @@ -2551,7 +2551,7 @@ sub_8163524: @ 8163524 adds r4, r0, 0 lsls r4, 16 lsrs r4, 16 - bl sub_8165C40 + bl GetFrontierEnemyMonLevel lsls r0, 24 lsrs r6, r0, 24 ldr r0, =gUnknown_0203BC88 @@ -2728,7 +2728,7 @@ _081636A4: movs r0, 0x1F _081636A6: str r0, [sp, 0x18] - bl sub_8165C40 + bl GetFrontierEnemyMonLevel lsls r0, 24 lsrs r0, 24 str r0, [sp, 0x14] @@ -2759,7 +2759,7 @@ _081636CE: muls r6, r0 ldr r1, =gEnemyParty adds r0, r6, r1 - ldr r3, =gUnknown_0203BC8C + ldr r3, =gFacilityTrainerMons ldr r2, [r3] mov r1, r9 lsls r4, r1, 4 @@ -2784,7 +2784,7 @@ _081636CE: mov r10, r7 adds r7, r4, 0 _08163718: - ldr r0, =gUnknown_0203BC8C + ldr r0, =gFacilityTrainerMons ldr r1, [r0] mov r2, r9 lsls r0, r2, 4 @@ -2813,7 +2813,7 @@ _08163718: movs r1, 0x20 add r2, sp, 0xC bl SetMonData - ldr r1, =gUnknown_0203BC8C + ldr r1, =gFacilityTrainerMons ldr r0, [r1] adds r0, r7, r0 ldrb r2, [r0, 0xA] @@ -2881,7 +2881,7 @@ _081637D0: muls r6, r7 ldr r1, =gEnemyParty adds r0, r6, r1 - ldr r7, =gUnknown_0203BC8C + ldr r7, =gFacilityTrainerMons ldr r2, [r7] lsls r4, 4 adds r2, r4, r2 @@ -2905,7 +2905,7 @@ _081637D0: mov r8, r4 mov r5, r8 _08163818: - ldr r1, =gUnknown_0203BC8C + ldr r1, =gFacilityTrainerMons ldr r0, [r1] adds r0, r5, r0 lsls r4, r7, 1 @@ -2916,7 +2916,7 @@ _08163818: adds r0, r6, r2 adds r2, r7, 0 bl sub_81A7024 - ldr r1, =gUnknown_0203BC8C + ldr r1, =gFacilityTrainerMons ldr r0, [r1] adds r0, r5, r0 adds r0, 0x2 @@ -2942,7 +2942,7 @@ _08163846: movs r1, 0x20 add r2, sp, 0xC bl SetMonData - ldr r1, =gUnknown_0203BC8C + ldr r1, =gFacilityTrainerMons ldr r0, [r1] add r0, r8 ldrb r2, [r0, 0xA] @@ -3029,7 +3029,7 @@ _0816390A: thumb_func_start sub_8163914 sub_8163914: @ 8163914 push {lr} - bl sub_8165C40 + bl GetFrontierEnemyMonLevel ldr r0, =gSpecialVar_0x8005 ldrh r0, [r0] cmp r0, 0 @@ -4091,7 +4091,7 @@ sub_81642A0: @ 81642A0 movs r2, 0 bl GetMonData str r0, [sp, 0x20] - bl sub_8165C40 + bl GetFrontierEnemyMonLevel movs r7, 0 ldr r0, [sp, 0x18] lsls r0, 24 @@ -4200,7 +4200,7 @@ _081643C0: ldr r1, [sp, 0x28] adds r0, r1 ldrh r2, [r0] - ldr r0, =gUnknown_0203BC8C + ldr r0, =gFacilityTrainerMons ldr r0, [r0] lsls r2, 4 adds r2, r0 @@ -4216,7 +4216,7 @@ _081643F4: bge _08164430 ldr r2, =gSaveBlock2Ptr ldr r0, [r2] - ldr r1, =gUnknown_0203BC8C + ldr r1, =gFacilityTrainerMons ldr r3, [r1] lsls r1, r6, 4 adds r1, r3 @@ -4556,7 +4556,7 @@ sub_81646BC: @ 81646BC movs r0, 0 mov r9, r0 mov r10, r0 - bl sub_8165C40 + bl GetFrontierEnemyMonLevel movs r0, 0xFA lsls r0, 1 cmp r5, r0 @@ -4564,7 +4564,7 @@ sub_81646BC: @ 81646BC subs r0, 0xC9 cmp r5, r0 bhi _081646FC - ldr r0, =gUnknown_0203BC8C + ldr r0, =gFacilityTrainerMons ldr r1, [r0] lsls r0, r4, 4 adds r0, r1 @@ -4705,7 +4705,7 @@ sub_8164828: @ 8164828 mov r5, r8 push {r5-r7} sub sp, 0x8 - bl sub_8165C40 + bl GetFrontierEnemyMonLevel bl sub_81A39C4 lsls r0, 16 lsrs r0, 16 @@ -6073,7 +6073,7 @@ sub_8165404: @ 8165404 sub sp, 0x70 lsls r0, 16 lsrs r7, r0, 16 - bl sub_8165C40 + bl GetFrontierEnemyMonLevel ldr r0, =0x00000c03 cmp r7, r0 beq _08165420 @@ -6228,7 +6228,7 @@ _08165564: bls _0816556C b _081656E8 _0816556C: - bl sub_8165C40 + bl GetFrontierEnemyMonLevel lsls r0, 24 lsrs r0, 24 str r0, [sp, 0x50] @@ -6272,7 +6272,7 @@ _081655A6: mov r9, r0 mov r0, r8 add r0, r9 - ldr r6, =gUnknown_0203BC8C + ldr r6, =gFacilityTrainerMons ldr r4, [r6] lsls r5, r1, 4 adds r4, r5, r4 @@ -6339,7 +6339,7 @@ _08165634: movs r1, 0x20 ldr r2, [sp, 0x5C] bl SetMonData - ldr r0, =gUnknown_0203BC8C + ldr r0, =gFacilityTrainerMons ldr r1, [r0] ldr r2, [sp, 0x54] lsls r0, r2, 4 @@ -7083,8 +7083,8 @@ _08165C2A: .pool thumb_func_end sub_8165B88 - thumb_func_start sub_8165C40 -sub_8165C40: @ 8165C40 + thumb_func_start GetFrontierEnemyMonLevel +GetFrontierEnemyMonLevel: @ 8165C40 push {lr} ldr r0, =gSaveBlock2Ptr ldr r0, [r0] @@ -7098,7 +7098,7 @@ sub_8165C40: @ 8165C40 ldr r1, =gUnknown_0203BC88 ldr r0, =gBattleFrontierTrainers str r0, [r1] - ldr r1, =gUnknown_0203BC8C + ldr r1, =gFacilityTrainerMons ldr r0, =gBattleFrontierMons str r0, [r1] ldrb r0, [r2] @@ -7114,7 +7114,7 @@ _08165C88: lsrs r0, 24 pop {r1} bx r1 - thumb_func_end sub_8165C40 + thumb_func_end GetFrontierEnemyMonLevel thumb_func_start BattleFrontierGetOpponentLvl BattleFrontierGetOpponentLvl: @ 8165C90 @@ -7258,7 +7258,7 @@ sub_8165D78: @ 8165D78 ldr r1, =gUnknown_0203BC88 ldr r0, =gSlateportBattleTentTrainers str r0, [r1] - ldr r1, =gUnknown_0203BC8C + ldr r1, =gFacilityTrainerMons ldr r0, =gSlateportBattleTentMons b _08165DF2 .pool @@ -7268,7 +7268,7 @@ _08165DA8: ldr r1, =gUnknown_0203BC88 ldr r0, =gVerdanturfBattleTentTrainers str r0, [r1] - ldr r1, =gUnknown_0203BC8C + ldr r1, =gFacilityTrainerMons ldr r0, =gVerdanturfBattleTentMons b _08165DF2 .pool @@ -7278,7 +7278,7 @@ _08165DC8: ldr r1, =gUnknown_0203BC88 ldr r0, =gFallarborBattleTentTrainers str r0, [r1] - ldr r1, =gUnknown_0203BC8C + ldr r1, =gFacilityTrainerMons ldr r0, =gFallarborBattleTentMons b _08165DF2 .pool @@ -7286,7 +7286,7 @@ _08165DE8: ldr r1, =gUnknown_0203BC88 ldr r0, =gBattleFrontierTrainers str r0, [r1] - ldr r1, =gUnknown_0203BC8C + ldr r1, =gFacilityTrainerMons ldr r0, =gBattleFrontierMons _08165DF2: str r0, [r1] @@ -7456,7 +7456,7 @@ _08165F44: movs r1, 0xB movs r2, 0 bl GetMonData - ldr r1, =gUnknown_0203BC8C + ldr r1, =gFacilityTrainerMons ldr r2, [r1] lsls r1, r4, 4 adds r1, r2 @@ -7489,7 +7489,7 @@ _08165F7A: movs r1, 0xC movs r2, 0 bl GetMonData - ldr r1, =gUnknown_0203BC8C + ldr r1, =gFacilityTrainerMons ldr r2, [r1] lsls r1, r4, 4 adds r1, r2 @@ -7537,7 +7537,7 @@ _08165FDA: muls r0, r6 ldr r1, =gEnemyParty adds r0, r1 - ldr r5, =gUnknown_0203BC8C + ldr r5, =gFacilityTrainerMons ldr r2, [r5] lsls r4, 4 adds r2, r4, r2 @@ -7603,7 +7603,7 @@ _0816605E: movs r1, 0x20 add r2, sp, 0x14 bl SetMonData - ldr r0, =gUnknown_0203BC8C + ldr r0, =gFacilityTrainerMons ldr r0, [r0] add r0, r9 ldrb r2, [r0, 0xA] @@ -7756,7 +7756,7 @@ sub_8166188: @ 8166188 ands r0, r1 cmp r0, 0 beq _081661E8 - bl sub_8165C40 + bl GetFrontierEnemyMonLevel lsls r0, 24 movs r5, 0 ldr r7, =gBaseStats diff --git a/include/battle_message.h b/include/battle_message.h index 147bfa501c..c686072469 100644 --- a/include/battle_message.h +++ b/include/battle_message.h @@ -224,6 +224,7 @@ extern const u8* const gStatNamesTable[]; extern const u8* const gPokeblockWasTooXStringTable[]; extern const u8* const gRefereeStringsTable[]; extern const u8* const gStatNamesTable2[]; +extern const u8 *const gRoundsStringTable[]; extern const u8 gText_PkmnIsEvolving[]; extern const u8 gText_CongratsPkmnEvolved[]; diff --git a/include/global.h b/include/global.h index 0d2167c475..5b78fc4c04 100644 --- a/include/global.h +++ b/include/global.h @@ -337,14 +337,16 @@ struct FrontierMonData u8 nature; }; -struct FrontierUnkStruct1 +struct BattleDomeTrainer { - u16 unk0:10; + u16 trainerId:10; u16 unk1:1; u16 unk2:2; u16 unk3:3; }; +#define DOME_TOURNAMENT_TRAINERS_COUNT 16 + struct BattleFrontier { /*0x64C*/ struct EmeraldBattleTowerRecord battleTower; @@ -404,8 +406,8 @@ struct BattleFrontier /*0xD21*/ u8 field_D21; /*0xD22*/ u8 field_D22; /*0xD23*/ u8 field_D23; - /*0xD24*/ struct FrontierUnkStruct1 field_D24[16]; - /*0xD64*/ u16 field_D64[16][3]; + /*0xD24*/ struct BattleDomeTrainer domeTrainers[DOME_TOURNAMENT_TRAINERS_COUNT]; + /*0xD64*/ u16 domeMonId[DOME_TOURNAMENT_TRAINERS_COUNT][3]; /*0xDC8*/ u16 field_DC8[2]; /*0xDCC*/ u8 filler_DCC[4]; /*0xDD0*/ u16 field_DD0[2]; diff --git a/src/battle_frontier_1.c b/src/battle_frontier_1.c index b84e919732..3c97215e39 100644 --- a/src/battle_frontier_1.c +++ b/src/battle_frontier_1.c @@ -2,47 +2,56 @@ #include "battle.h" #include "battle_setup.h" #include "battle_frontier_1.h" +#include "battle_message.h" #include "event_data.h" #include "overworld.h" #include "util.h" #include "malloc.h" +#include "string_util.h" +#include "random.h" #include "constants/species.h" +#include "constants/moves.h" +#include "constants/trainers.h" +#include "constants/abilities.h" struct Unknown_0203BC8C_Struct { - u16 field_0; - u8 field_2; - u8 field_3; - u8 field_4; - u8 field_5; - u8 field_6; - u8 field_7; - u8 field_8; - u8 field_9; - u8 field_A; - u8 field_B; - u8 field_C; - u8 field_D; - u8 field_E; + u16 species; + u16 moves[4]; + u8 itemTableId; + u8 evSpread; + u8 nature; }; -extern struct Unknown_0203BC8C_Struct *gUnknown_0203BC8C; +extern struct Unknown_0203BC8C_Struct *gFacilityTrainerMons; extern void sub_81B8558(void); extern u32 sub_81A39C4(void); extern u16 sub_8162548(u8, u8); extern u16 sub_8163524(u16); -extern u8 sub_8165C40(void); +extern u8 GetFrontierEnemyMonLevel(void); +extern void sub_8195898(u8 *dst, u16 trainerId); +extern u16 sub_81A5060(u8, u8); extern u8 gUnknown_0203CEF8[]; +extern u32 gUnknown_0203CD70; +extern u32 gUnknown_0203CD74; extern void (* const gUnknown_0860D090[])(void); extern const u32 gUnknown_0860D0EC[][2]; extern const u32 gUnknown_0860D0FC[][2]; +extern const u16 gBattleFrontierHeldItems[]; // This file's functions. -u8 sub_8190168(u16); +u8 GetDomeTrainerMonIvs(u16 trainerId); void sub_818F720(u16 species, s32 level, s32 ivs, u8 evBits, u8 nature, s32 *stats); +void CreateDomeTrainerMons(u16 tournamentTrainerId); +u16 TrainerIdToTournamentId(u16 trainerId); +s32 sub_818FC78(u16 tournamentTrainerId); +s32 sub_818FCBC(u16 tournamentTrainerId, bool8 arg1); +s32 sub_818FDB8(u16 tournamentTrainerId, bool8 arg1); +s32 sub_818FFC0(s32 move, s32 species, s32 arg2); +s32 sub_818FEB4(s32 *arr, bool8 arg1); // code void sub_818E9AC(void) @@ -219,14 +228,14 @@ void sub_818F02C(void) gSaveBlock2Ptr->frontier.field_D0A = gSaveBlock2Ptr->frontier.chosenLvl + 1; gSaveBlock2Ptr->frontier.field_D0B = VarGet(VAR_0x40CE) + 1; - gSaveBlock2Ptr->frontier.field_D24[0].unk0 = 0x3FF; - gSaveBlock2Ptr->frontier.field_D24[0].unk1 = 0; - gSaveBlock2Ptr->frontier.field_D24[0].unk2 = 0; - gSaveBlock2Ptr->frontier.field_D24[0].unk3 = 0; + gSaveBlock2Ptr->frontier.domeTrainers[0].trainerId = 0x3FF; + gSaveBlock2Ptr->frontier.domeTrainers[0].unk1 = 0; + gSaveBlock2Ptr->frontier.domeTrainers[0].unk2 = 0; + gSaveBlock2Ptr->frontier.domeTrainers[0].unk3 = 0; for (i = 0; i < 3; i++) { - gSaveBlock2Ptr->frontier.field_D64[i] = GetMonData(&gPlayerParty[gSaveBlock2Ptr->frontier.field_CAA[i] - 1], MON_DATA_SPECIES, NULL); + gSaveBlock2Ptr->frontier.domeMonId[i] = GetMonData(&gPlayerParty[gSaveBlock2Ptr->frontier.field_CAA[i] - 1], MON_DATA_SPECIES, NULL); for (j = 0; j < 4; j++) gSaveBlock2Ptr->frontier.field_EFC[i].moves[j] = GetMonData(&gPlayerParty[gSaveBlock2Ptr->frontier.field_CAA[i] - 1], MON_DATA_MOVE1 + j, NULL); for (j = 0; j < 6; j++) @@ -247,12 +256,12 @@ void sub_818F02C(void) val = sub_8162548(sub_81A39C4(), 0); for (k = 1; k < l; k++) { - if (gSaveBlock2Ptr->frontier.field_D24[k].unk0 == val) + if (gSaveBlock2Ptr->frontier.domeTrainers[k].trainerId == val) break; } if (k != l) { - gSaveBlock2Ptr->frontier.field_D24[var_28].unk0 = val; + gSaveBlock2Ptr->frontier.domeTrainers[var_28].trainerId = val; break; } } @@ -264,12 +273,12 @@ void sub_818F02C(void) val = sub_8162548(sub_81A39C4() + 1, 0); for (k = 1; k < l; k++) { - if (gSaveBlock2Ptr->frontier.field_D24[k].unk0 == val) + if (gSaveBlock2Ptr->frontier.domeTrainers[k].trainerId == val) break; } if (k != l) { - gSaveBlock2Ptr->frontier.field_D24[var_28].unk0 = val; + gSaveBlock2Ptr->frontier.domeTrainers[var_28].trainerId = val; break; } } @@ -283,24 +292,24 @@ void sub_818F02C(void) val2 = sub_8163524(val); for (i = 0; i < l; i++) { - if (gSaveBlock2Ptr->frontier.field_D64[i] == val2) + if (gSaveBlock2Ptr->frontier.domeMonId[i] == val2) break; - if (var_54 == gUnknown_0203BC8C[val2].field_0) + if (var_54 == gFacilityTrainerMons[val2].field_0) break; - if (var_50 == gUnknown_0203BC8C[val2].field_0) + if (var_50 == gFacilityTrainerMons[val2].field_0) break; - if (gUnknown_0203BC8C[gSaveBlock2Ptr->frontier.field_D64[i]].field_A == gUnknown_0203BC8C[val2].field_A) + if (gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonId[i]].field_A == gFacilityTrainerMons[val2].field_A) break; } } while (i != var_38); - gSaveBlock2Ptr->frontier.field_D64[var_24] = val2; - array[var_38] = gUnknown_0203BC8C[val2].field_0; + gSaveBlock2Ptr->frontier.domeMonId[var_24] = val2; + array[var_38] = gFacilityTrainerMons[val2].field_0; } - gSaveBlock2Ptr->frontier.field_D24[var_28].unk1 = 0; - gSaveBlock2Ptr->frontier.field_D24[var_28].unk2 = 0; - gSaveBlock2Ptr->frontier.field_D24[var_28].unk3 = 0; + gSaveBlock2Ptr->frontier.domeTrainers[var_28].unk1 = 0; + gSaveBlock2Ptr->frontier.domeTrainers[var_28].unk2 = 0; + gSaveBlock2Ptr->frontier.domeTrainers[var_28].unk3 = 0; } for (i = 0; i < 3; i++) @@ -323,7 +332,7 @@ void sub_818F02C(void) monTypesBits >>= 1; } - var_48 = sub_8165C40(); + var_48 = GetFrontierEnemyMonLevel(); var_44[0] += (monTypesCount * var_48) / 20; for (i = 0; i < 16; i++) @@ -331,10 +340,10 @@ void sub_818F02C(void) u8 r8; var_44[i + 1] = 0; - r8 = sub_8190168(gSaveBlock2Ptr->frontier.field_D24[i].unk0); + r8 = GetDomeTrainerMonIvs(gSaveBlock2Ptr->frontier.domeTrainers[i].trainerId); for (j = 0; j < 3; j++) { - sub_818F720(gSaveBlock2Ptr->frontier.field_D64[i]); + sub_818F720(gSaveBlock2Ptr->frontier.domeMonId[i]); } } @@ -659,7 +668,7 @@ _0818F2D4:\n\ ldrh r3, [r4]\n\ cmp r3, r6\n\ beq _0818F300\n\ - ldr r2, =gUnknown_0203BC8C\n\ + ldr r2, =gFacilityTrainerMons\n\ ldr r1, [r2]\n\ lsls r0, r6, 4\n\ adds r2, r0, r1\n\ @@ -692,7 +701,7 @@ _0818F300:\n\ ldr r2, [sp, 0x28]\n\ add r2, sp\n\ adds r2, 0x8\n\ - ldr r0, =gUnknown_0203BC8C\n\ + ldr r0, =gFacilityTrainerMons\n\ ldr r1, [r0]\n\ lsls r0, r6, 4\n\ adds r0, r1\n\ @@ -856,7 +865,7 @@ _0818F462:\n\ subs r5, 0x1\n\ cmp r5, 0\n\ bge _0818F458\n\ - bl sub_8165C40\n\ + bl GetFrontierEnemyMonLevel\n\ lsls r0, 24\n\ lsrs r0, 24\n\ str r0, [sp, 0x14]\n\ @@ -888,7 +897,7 @@ _0818F494:\n\ ldrh r0, [r0]\n\ lsls r0, 22\n\ lsrs r0, 22\n\ - bl sub_8190168\n\ + bl GetDomeTrainerMonIvs\n\ lsls r0, 24\n\ lsrs r0, 24\n\ mov r8, r0\n\ @@ -906,7 +915,7 @@ _0818F4BC:\n\ adds r0, r2\n\ adds r0, r4\n\ ldrh r1, [r0]\n\ - ldr r3, =gUnknown_0203BC8C\n\ + ldr r3, =gFacilityTrainerMons\n\ ldr r0, [r3]\n\ lsls r1, 4\n\ adds r1, r0\n\ @@ -940,7 +949,7 @@ _0818F4BC:\n\ adds r0, r1\n\ adds r0, r4\n\ ldrh r0, [r0]\n\ - ldr r2, =gUnknown_0203BC8C\n\ + ldr r2, =gFacilityTrainerMons\n\ ldr r1, [r2]\n\ lsls r0, 4\n\ adds r0, r1\n\ @@ -1228,8 +1237,347 @@ void sub_818F904(s32 id1, s32 id2, u16 *dst) u16 temp; SWAP_16(dst[id1], dst[id2]); - SWAP_16(gSaveBlock2Ptr->frontier.field_D24[id1].unk0, gSaveBlock2Ptr->frontier.field_D24[id2].unk0); + SWAP_16(gSaveBlock2Ptr->frontier.domeTrainers[id1].trainerId, gSaveBlock2Ptr->frontier.domeTrainers[id2].trainerId); for (i = 0; i < 3; i++) - SWAP_16(gSaveBlock2Ptr->frontier.field_D64[id1][i], gSaveBlock2Ptr->frontier.field_D64[id2][i]); + SWAP_16(gSaveBlock2Ptr->frontier.domeMonId[id1][i], gSaveBlock2Ptr->frontier.domeMonId[id2][i]); } + +void sub_818F9B0(void) +{ + StringCopy(gStringVar1, gRoundsStringTable[gSaveBlock2Ptr->frontier.field_CB2]); +} + +void sub_818F9E0(void) +{ + StringCopy(gStringVar1, gRoundsStringTable[gSaveBlock2Ptr->frontier.field_CB2]); + sub_8195898(gStringVar2, gTrainerBattleOpponent_A); +} + +void sub_818FA20(void) +{ + gUnknown_0203CD70 = 0; + gUnknown_0203CD74 = GetMonData(&gPlayerParty[0], MON_DATA_MAX_HP, NULL); + gUnknown_0203CD74 += GetMonData(&gPlayerParty[1], MON_DATA_MAX_HP, NULL); + CalculatePlayerPartyCount(); + CreateDomeTrainerMons(TrainerIdToTournamentId(gTrainerBattleOpponent_A)); +} + +void CreateDomeMon(u8 monPartyId, u16 tournamentTrainerId, u8 tournamentMonId, u32 otId) +{ + s32 i; + u8 happiness = 0xFF; + u8 fixedIv = GetDomeTrainerMonIvs(tournamentTrainerId); // UB: Should be using trainerId instead of tournamentTrainerId. As a result, all Pokemon have ivs of 3. + u8 level = GetFrontierEnemyMonLevel(); + CreateMonWithEVSpreadPersonalityOTID(&gEnemyParty[monPartyId], + gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonId[tournamentTrainerId][tournamentMonId]].species, + level, + gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonId[tournamentTrainerId][tournamentMonId]].nature, + fixedIv, + gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonId[tournamentTrainerId][tournamentMonId]].evSpread, otId); + + happiness = 0xFF; + for (i = 0; i < 4; i++) + { + SetMonMoveSlot(&gEnemyParty[monPartyId], + gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonId[tournamentTrainerId][tournamentMonId]].moves[i], i); + if (gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonId[tournamentTrainerId][tournamentMonId]].moves[i] == MOVE_FRUSTRATION) + happiness = 0; + } + + SetMonData(&gEnemyParty[monPartyId], MON_DATA_FRIENDSHIP, &happiness); + SetMonData(&gEnemyParty[monPartyId], MON_DATA_HELD_ITEM, + &gBattleFrontierHeldItems[gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonId[tournamentTrainerId][tournamentMonId]].itemTableId]); +} + +void CreateDomeTrainerMons(u16 tournamentTrainerId) +{ + u8 monsCount = 0; + u32 otId = 0; + s32 i, bits; + + ZeroEnemyPartyMons(); + bits = sub_818FC78(tournamentTrainerId); + otId = Random32(); + if (Random() % 10 > 5) + { + for (i = 0; i < 3; i++) + { + if (bits & 1) + { + CreateDomeMon(monsCount, tournamentTrainerId, i, otId); + monsCount++; + } + bits >>= 1; + } + } + else + { + for (i = 2; i >= 0; i--) + { + if (bits & 4) + { + CreateDomeMon(monsCount, tournamentTrainerId, i, otId); + monsCount++; + } + bits <<= 1; + } + } +} + +s32 sub_818FC78(u16 tournamentTrainerId) +{ + s32 bits; + if (Random() & 1) + { + bits = sub_818FCBC(tournamentTrainerId, FALSE); + if (bits == 0) + bits = sub_818FDB8(tournamentTrainerId, TRUE); + } + else + { + bits = sub_818FDB8(tournamentTrainerId, FALSE); + if (bits == 0) + bits = sub_818FCBC(tournamentTrainerId, TRUE); + } + + return bits; +} + +s32 sub_818FCBC(u16 tournamentTrainerId, bool8 arg1) +{ + s32 i, moveId, playerMonId; + s32 array[3]; + + for (i = 0; i < 3; i++) + { + array[i] = 0; + for (moveId = 0; moveId < 4; moveId++) + { + for (playerMonId = 0; playerMonId < 3; playerMonId++) + { + if (gSaveBlock2Ptr->frontier.domeTrainers[tournamentTrainerId].trainerId == TRAINER_FRONTIER_BRAIN) + { + array[i] += sub_818FFC0(sub_81A5060(i, moveId), + GetMonData(&gPlayerParty[playerMonId], MON_DATA_SPECIES, NULL), 0); + } + else + { + array[i] += sub_818FFC0(gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonId[tournamentTrainerId][i]].moves[moveId], + GetMonData(&gPlayerParty[playerMonId], MON_DATA_SPECIES, NULL), 0); + } + } + } + } + return sub_818FEB4(array, arg1); +} + +s32 sub_818FDB8(u16 tournamentTrainerId, bool8 arg1) +{ + s32 i, moveId, playerMonId; + s32 array[3]; + + for (i = 0; i < 3; i++) + { + array[i] = 0; + for (moveId = 0; moveId < 4; moveId++) + { + for (playerMonId = 0; playerMonId < 3; playerMonId++) + { + if (gSaveBlock2Ptr->frontier.domeTrainers[tournamentTrainerId].trainerId == TRAINER_FRONTIER_BRAIN) + { + array[i] += sub_818FFC0(sub_81A5060(i, moveId), + GetMonData(&gPlayerParty[playerMonId], MON_DATA_SPECIES, NULL), 1); + } + else + { + array[i] += sub_818FFC0(gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonId[tournamentTrainerId][i]].moves[moveId], + GetMonData(&gPlayerParty[playerMonId], MON_DATA_SPECIES, NULL), 1); + } + } + } + } + return sub_818FEB4(array, arg1); +} + +s32 sub_818FEB4(s32 *arr, bool8 arg1) +{ + s32 i, j; + s32 bits = 0; + s32 array[3]; + + for (i = 0; i < 3; i++) + array[i] = i; + + if (arr[0] == arr[1] && arr[0] == arr[2]) + { + if (arg1) + { + i = 0; + while (i != 2) + { + u32 rand = Random() & 3; + if (rand != 3 && !(bits & gBitTable[rand])) + { + bits |= gBitTable[rand]; + i++; + } + } + } + } + else + { + for (i = 0; i < 2; i++) + { + for (j = i + 1; j < 3; j++) + { + s32 temp; + + if (arr[i] < arr[j]) + { + temp = arr[i]; + arr[i] = arr[j]; + arr[j] = temp; + + temp = array[i]; + array[i] = array[j]; + array[j] = temp; + } + + if (arr[i] == arr[j] && (Random() & 1)) + { + temp = arr[i]; + arr[i] = arr[j]; + arr[j] = temp; + + temp = array[i]; + array[i] = array[j]; + array[j] = temp; + } + } + } + + for (i = 0; i < 2; i++) + { + bits |= gBitTable[array[i]]; + } + } + + return bits; +} + +/* +s32 sub_818FFC0(s32 move, s32 species, s32 arg2) +{ + u8 type1, type2, ability, moveType; + s32 i = 0; + s32 typePower = 20; + + if (move == MOVE_NONE || move == 0xFFFF || gBattleMoves[move].power == 0) + return 0; + + type1 = gBaseStats[species].type1; + type2 = gBaseStats[species].type2; + ability = gBaseStats[species].ability1; + moveType = gBattleMoves[move].type; + + if (ability == ABILITY_LEVITATE && moveType == TYPE_GROUND) + { + if (arg2 == 1) + typePower = 8; + } + else + { + while (TYPE_EFFECT_ATK_TYPE(i) != TYPE_ENDTABLE) + { + if (TYPE_EFFECT_ATK_TYPE(i) == TYPE_FORESIGHT) + { + i += 3; + continue; + } + else if (TYPE_EFFECT_ATK_TYPE(i) == moveType) + { + // BUG: * 2 is not necessary and makes the condition always false if the ability is wonder guard. + if (TYPE_EFFECT_DEF_TYPE(i) == type1 && (ability != ABILITY_WONDER_GUARD || TYPE_EFFECT_MULTIPLIER(i) == TYPE_MUL_SUPER_EFFECTIVE * 2)) + typePower = (TYPE_EFFECT_MULTIPLIER(i) * typePower) / 10; + if (TYPE_EFFECT_DEF_TYPE(i) == type2 && type1 != type2 && (ability != ABILITY_WONDER_GUARD || TYPE_EFFECT_MULTIPLIER(i) == TYPE_MUL_SUPER_EFFECTIVE * 2)) + typePower = (TYPE_EFFECT_MULTIPLIER(i) * typePower) / 10; + } + i += 3; + } + } + + switch (arg2) + { + case 0: + switch (typePower) + { + case 10: + case 5: + case 0: + default: + typePower = 0; + break; + case 20: + typePower = 2; + break; + case 40: + typePower = 4; + break; + case 80: + typePower = 8; + break; + } + break; + case 1: + switch (typePower) + { + default: + case 20: + typePower = 0; + break; + case 5: + typePower = 4; + break; + case 0: + typePower = 8; + break; + case 10: + typePower = 2; + break; + case 40: + typePower = -2; + break; + case 80: + typePower = -4; + break; + } + break; + case 2: + switch (typePower) + { + case 0: + typePower = -16; + break; + case 5: + typePower = -8; + break; + case 10: + default: + typePower = 0; + break; + case 20: + typePower = 4; + break; + case 40: + typePower = 12; + break; + case 80: + typePower = 20; + break; + } + break; + } + + return typePower; +}*/ diff --git a/src/battle_message.c b/src/battle_message.c index 13502d6f20..78b9ac53b4 100644 --- a/src/battle_message.c +++ b/src/battle_message.c @@ -1248,7 +1248,7 @@ static const u8 sText_Round2[] = _("Round 2"); static const u8 sText_Semifinal[] = _("Semifinal"); static const u8 sText_Final[] = _("Final"); -const u8 * const gRoundsStringTable[] = +const u8 *const gRoundsStringTable[] = { sText_Round1, sText_Round2, diff --git a/sym_ewram.txt b/sym_ewram.txt index cf1c8b8d7f..cb887bd901 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -615,7 +615,7 @@ gUnknown_0203ABB8: @ 203ABB8 gUnknown_0203BC88: @ 203BC88 .space 0x4 -gUnknown_0203BC8C: @ 203BC8C +gFacilityTrainerMons: @ 203BC8C .space 0x4 .include "src/use_pokeblock.o" From e7da51438286bceaa085aad524065cbfe645faf0 Mon Sep 17 00:00:00 2001 From: Diegoisawesome Date: Wed, 15 Aug 2018 15:58:41 -0700 Subject: [PATCH 109/234] Finish documenting and cleaning up summary_screen Also fix remaining nonmatchings --- src/pokemon_summary_screen.c | 1692 ++++++++++++++-------------------- 1 file changed, 672 insertions(+), 1020 deletions(-) diff --git a/src/pokemon_summary_screen.c b/src/pokemon_summary_screen.c index ef55129f49..c47ddb14c5 100644 --- a/src/pokemon_summary_screen.c +++ b/src/pokemon_summary_screen.c @@ -107,7 +107,7 @@ static EWRAM_DATA struct UnkSummaryStruct bool8 unk40EF; s16 unk40F0; u8 unk_filler4[6]; -} *gUnknown_0203CF1C = NULL; +} *pssData = NULL; EWRAM_DATA u8 gUnknown_0203CF20 = 0; static EWRAM_DATA u8 gUnknown_0203CF21 = 0; static EWRAM_DATA u8 gFiller_0203CF22[2] = {0}; @@ -131,123 +131,123 @@ bool8 sub_81B1250(void); static bool8 SummaryScreen_LoadGraphics(void); static void SummaryScreen_LoadingCB2(void); static void InitBGs(void); -u8 sub_81BFEB0(void); -void CopyMonToSummaryStruct(struct Pokemon* a); -bool8 ExtractMonDataToSummaryStruct(struct Pokemon* a); -void sub_81C0348(void); -void sub_81C0484(u8 taskId); -void sub_81C0510(u8 taskId); -void sub_81C0604(u8 taskId, s8 a); -void sub_81C0704(u8 taskId); -s8 sub_81C08F8(s8 a); -s8 sub_81C09B4(s8 a); -bool8 sub_81C0A50(struct Pokemon* mon); -void sub_81C0A8C(u8 taskId, s8 a); -void sub_81C0B8C(u8 taskId); -void sub_81C0C68(u8 taskId); -void sub_81C0CC4(u8 taskId); -void sub_81C0D44(u8 taskId); -void sub_81C0E24(void); -void sub_81C0E48(u8 taskId); -void sub_81C0F44(u8 taskId); -bool8 sub_81C1040(void); -void sub_81C1070(s16* a, s8 b, u8* c); -void sub_81C11F4(u8 a); -void sub_81C129C(u8 a); -void sub_81C12E4(u8 taskId); -void sub_81C13B0(u8 taskId, bool8 b); -void sub_81C14BC(struct Pokemon *mon, u8 a, u8 b); -void sub_81C15EC(struct BoxPokemon *mon, u8 a, u8 b); -void sub_81C171C(u8 taskId); -void sub_81C174C(u8 taskId); -bool8 sub_81C18A8(void); -void sub_81C18F4(u8 a); -void sub_81C1940(u8 taskId); -void sub_81C1BA0(void); -void sub_81C1DA4(u16 a, s16 b); -void sub_81C1E20(u8 taskId); -void sub_81C1EFC(u16 a, s16 b, u16 c); -void sub_81C1F80(u8 taskId); -void sub_81C2074(u16 a, s16 b); -void sub_81C20F0(u8 taskId); -void sub_81C2194(u16 *a, u16 b, u8 c); -void sub_81C2228(struct Pokemon* mon); -void sub_81C22CC(struct Pokemon* mon); -void sub_81C240C(u16 a); -void sub_81C2524(void); -void sub_81C2554(void); -void sub_81C25E8(void); -void sub_81C2628(void); -void sub_81C2794(void); -void sub_81C27DC(struct Pokemon *mon, u16 a); -static void PrintPageNamesAndStatsPage(void); -void sub_81C2AFC(u8 a); -void sub_81C2C38(u8 a); -void SummaryScreen_RemoveWindowByIndex(u8 a); -void sub_81C2D9C(u8 a); -void sub_81C2DE4(u8 a); -void sub_81C2E00(void); -void sub_81C2E40(u8 taskId); -void PrintMonOTName(void); -void PrintMonOTID(void); -void PrintMonAbilityName(void); -void PrintMonAbilityDescription(void); -void BufferMonTrainerMemo(void); -void PrintMonTrainerMemo(void); -void BufferNatureString(void); -void GetMetLevelString(u8 *a); -bool8 DoesMonOTMatchOwner(void); -bool8 MonCameFromGBAGames(void); -bool8 IsInGamePartnerMon(void); -void PrintEggOTName(void); -void PrintEggOTID(void); -void PrintEggState(void); -void PrintEggMemo(void); -void sub_81C3554(u8 taskId); -void PrintHeldItemName(void); -void sub_81C3530(void); -void PrintRibbonCount(void); -void BufferLeftColumnStats(void); -void PrintLeftColumnStats(void); -void BufferRightColumnStats(void); -void PrintRightColumnStats(void); -void PrintExpPointsNextLevel(void); -void sub_81C3984(void); -void sub_81C39F0(u8 taskId); -void PrintMoveNameAndPP(u8 a); -void sub_81C3D08(void); -void sub_81C3D54(u8 taskId); -void PrintContestMoveDescription(u8 a); -void PrintMoveDetails(u16 a); -void PrintNewMoveDetailsOrCancelText(void); -void sub_81C4064(void); -void sub_81C40A0(u8 a, u8 b); -void sub_81C4154(void); -void sub_81C4190(void); -void sub_81C4204(u8 a, u8 b); -void sub_81C424C(void); -void sub_81C4280(void); -void sub_81C42C8(void); -void sub_81C43A0(void); -void sub_81C4420(void); -void sub_81C4484(void); -void sub_81C44F0(void); -void sub_81C4568(u8 a, u8 b); -u8 sub_81C45F4(struct Pokemon *a, s16 *b); -u8 sub_81C47B4(struct Pokemon *unused); -void sub_81C4844(struct Sprite *); +static bool8 SummaryScreen_DecompressGraphics(void); +static void CopyMonToSummaryStruct(struct Pokemon* a); +static bool8 ExtractMonDataToSummaryStruct(struct Pokemon* a); +static void sub_81C0348(void); +static void sub_81C0484(u8 taskId); +static void sub_81C0510(u8 taskId); +static void sub_81C0604(u8 taskId, s8 a); +static void sub_81C0704(u8 taskId); +static s8 sub_81C08F8(s8 a); +static s8 sub_81C09B4(s8 a); +static bool8 sub_81C0A50(struct Pokemon* mon); +static void sub_81C0A8C(u8 taskId, s8 a); +static void sub_81C0B8C(u8 taskId); +static void sub_81C0C68(u8 taskId); +static void sub_81C0CC4(u8 taskId); +static void sub_81C0D44(u8 taskId); +static void sub_81C0E24(void); +static void sub_81C0E48(u8 taskId); +static void sub_81C0F44(u8 taskId); +static bool8 sub_81C1040(void); +static void sub_81C1070(s16* a, s8 b, u8* c); +static void sub_81C11F4(u8 a); +static void sub_81C129C(u8 a); +static void sub_81C12E4(u8 taskId); +static void sub_81C13B0(u8 taskId, bool8 b); +static void SwapMonMoves(struct Pokemon *mon, u8 moveIndex1, u8 moveIndex2); +static void SwapBoxMonMoves(struct BoxPokemon *mon, u8 moveIndex1, u8 moveIndex2); +static void sub_81C171C(u8 taskId); +static void sub_81C174C(u8 taskId); +static bool8 sub_81C18A8(void); +static void sub_81C18F4(u8 a); +static void sub_81C1940(u8 taskId); +static void sub_81C1BA0(void); +static void sub_81C1DA4(u16 a, s16 b); +static void sub_81C1E20(u8 taskId); +static void sub_81C1EFC(u16 a, s16 b, u16 c); +static void sub_81C1F80(u8 taskId); +static void sub_81C2074(u16 a, s16 b); +static void sub_81C20F0(u8 taskId); +static void sub_81C2194(u16 *a, u16 b, u8 c); +static void sub_81C2228(struct Pokemon* mon); +static void sub_81C22CC(struct Pokemon* mon); +static void sub_81C240C(u16 a); +static void sub_81C2524(void); +static void sub_81C2554(void); +static void sub_81C25E8(void); +static void sub_81C2628(void); +static void sub_81C2794(void); +static void sub_81C27DC(struct Pokemon *mon, u16 a); +static void PrintPageNamesAndStatsPageToWindows(void); +static void sub_81C2AFC(u8 a); +static void sub_81C2C38(u8 a); +static void SummaryScreen_RemoveWindowByIndex(u8 a); +static void sub_81C2D9C(u8 a); +static void sub_81C2DE4(u8 a); +static void sub_81C2E00(void); +static void sub_81C2E40(u8 taskId); +static void PrintMonOTName(void); +static void PrintMonOTID(void); +static void PrintMonAbilityName(void); +static void PrintMonAbilityDescription(void); +static void BufferMonTrainerMemo(void); +static void PrintMonTrainerMemo(void); +static void BufferNatureString(void); +static void GetMetLevelString(u8 *a); +static bool8 DoesMonOTMatchOwner(void); +static bool8 DidMonComeFromGBAGames(void); +static bool8 IsInGamePartnerMon(void); +static void PrintEggOTName(void); +static void PrintEggOTID(void); +static void PrintEggState(void); +static void PrintEggMemo(void); +static void sub_81C3554(u8 taskId); +static void PrintHeldItemName(void); +static void sub_81C3530(void); +static void PrintRibbonCount(void); +static void BufferLeftColumnStats(void); +static void PrintLeftColumnStats(void); +static void BufferRightColumnStats(void); +static void PrintRightColumnStats(void); +static void PrintExpPointsNextLevel(void); +static void sub_81C3984(void); +static void sub_81C39F0(u8 taskId); +static void PrintMoveNameAndPP(u8 a); +static void sub_81C3D08(void); +static void sub_81C3D54(u8 taskId); +static void PrintContestMoveDescription(u8 a); +static void PrintMoveDetails(u16 a); +static void PrintNewMoveDetailsOrCancelText(void); +static void sub_81C4064(void); +static void sub_81C40A0(u8 a, u8 b); +static void PrintHMMovesCantBeForgotten(void); +static void sub_81C4190(void); +static void sub_81C4204(u8 a, u8 b); +static void sub_81C424C(void); +static void sub_81C4280(void); +static void sub_81C42C8(void); +static void sub_81C43A0(void); +static void sub_81C4420(void); +static void sub_81C4484(void); +static void sub_81C44F0(void); +static void sub_81C4568(u8 a, u8 b); +static u8 sub_81C45F4(struct Pokemon *a, s16 *b); +static u8 sub_81C47B4(struct Pokemon *unused); +static void sub_81C4844(struct Sprite *); void SummaryScreen_SetUnknownTaskId(u8 a); void SummaryScreen_DestroyUnknownTask(void); -void sub_81C48F0(void); -void CreateMonMarkingsSprite(struct Pokemon *mon); -void RemoveAndCreateMonMarkingsSprite(struct Pokemon *mon); -void CreateCaughtBallSprite(struct Pokemon *mon); -void CreateSetStatusSprite(void); -void sub_81C4AF8(u8 a); -void sub_81C4BE4(struct Sprite *sprite); -void sub_81C4C60(u8 a); -void sub_81C4C84(u8 a); -void sub_81C4D18(u8 a); +static void sub_81C48F0(void); +static void CreateMonMarkingsSprite(struct Pokemon *mon); +static void RemoveAndCreateMonMarkingsSprite(struct Pokemon *mon); +static void CreateCaughtBallSprite(struct Pokemon *mon); +static void CreateSetStatusSprite(void); +static void sub_81C4AF8(u8 a); +static void sub_81C4BE4(struct Sprite *sprite); +static void sub_81C4C60(u8 a); +static void sub_81C4C84(u8 a); +static void sub_81C4D18(u8 a); // const rom data #include "data/text/move_descriptions.h" @@ -711,38 +711,38 @@ static const u16 gUnknown_0861D120[] = INCBIN_U16("graphics/interface/summary_ma // code void ShowPokemonSummaryScreen(u8 mode, void *mons, u8 monIndex, u8 maxMonIndex, void (*callback)(void)) { - gUnknown_0203CF1C = AllocZeroed(sizeof(*gUnknown_0203CF1C)); - gUnknown_0203CF1C->mode = mode; - gUnknown_0203CF1C->monList.mons = mons; - gUnknown_0203CF1C->curMonIndex = monIndex; - gUnknown_0203CF1C->maxMonIndex = maxMonIndex; - gUnknown_0203CF1C->callback = callback; + pssData = AllocZeroed(sizeof(*pssData)); + pssData->mode = mode; + pssData->monList.mons = mons; + pssData->curMonIndex = monIndex; + pssData->maxMonIndex = maxMonIndex; + pssData->callback = callback; if (mode == PSS_MODE_UNK2) - gUnknown_0203CF1C->isBoxMon = TRUE; + pssData->isBoxMon = TRUE; else - gUnknown_0203CF1C->isBoxMon = FALSE; + pssData->isBoxMon = FALSE; switch (mode) { case PSS_MODE_NORMAL: case PSS_MODE_UNK2: - gUnknown_0203CF1C->minPageIndex = 0; - gUnknown_0203CF1C->maxPageIndex = 3; + pssData->minPageIndex = 0; + pssData->maxPageIndex = 3; break; case PSS_MODE_UNK1: - gUnknown_0203CF1C->minPageIndex = 0; - gUnknown_0203CF1C->maxPageIndex = 3; - gUnknown_0203CF1C->unk40C8 = TRUE; + pssData->minPageIndex = 0; + pssData->maxPageIndex = 3; + pssData->unk40C8 = TRUE; break; case PSS_MODE_SELECT_MOVE: - gUnknown_0203CF1C->minPageIndex = 2; - gUnknown_0203CF1C->maxPageIndex = 3; - gUnknown_0203CF1C->unk40C3 = TRUE; + pssData->minPageIndex = 2; + pssData->maxPageIndex = 3; + pssData->unk40C3 = TRUE; break; } - gUnknown_0203CF1C->currPageIndex = gUnknown_0203CF1C->minPageIndex; + pssData->currPageIndex = pssData->minPageIndex; SummaryScreen_SetUnknownTaskId(-1); if (gMonSpritesGfxPtr == 0) @@ -754,13 +754,13 @@ void ShowPokemonSummaryScreen(u8 mode, void *mons, u8 monIndex, u8 maxMonIndex, void ShowSelectMovePokemonSummaryScreen(struct Pokemon *mons, u8 monIndex, u8 maxMonIndex, void (*callback)(void), u16 newMove) { ShowPokemonSummaryScreen(PSS_MODE_SELECT_MOVE, mons, monIndex, maxMonIndex, callback); - gUnknown_0203CF1C->newMove = newMove; + pssData->newMove = newMove; } void ShowPokemonSummaryScreenSet40EF(u8 mode, struct BoxPokemon *mons, u8 monIndex, u8 maxMonIndex, void (*callback)(void)) { ShowPokemonSummaryScreen(mode, mons, monIndex, maxMonIndex, callback); - gUnknown_0203CF1C->unk40EF = TRUE; + pssData->unk40EF = TRUE; } static void SummaryScreen_MainCB2(void) @@ -813,11 +813,11 @@ static bool8 SummaryScreen_LoadGraphics(void) break; case 5: InitBGs(); - gUnknown_0203CF1C->unk40F0 = 0; + pssData->unk40F0 = 0; gMain.state++; break; case 6: - if (sub_81BFEB0() != FALSE) + if (SummaryScreen_DecompressGraphics() != FALSE) gMain.state++; break; case 7: @@ -829,12 +829,12 @@ static bool8 SummaryScreen_LoadGraphics(void) gMain.state++; break; case 9: - CopyMonToSummaryStruct(&gUnknown_0203CF1C->currentMon); - gUnknown_0203CF1C->unk40F0 = 0; + CopyMonToSummaryStruct(&pssData->currentMon); + pssData->unk40F0 = 0; gMain.state++; break; case 10: - if (ExtractMonDataToSummaryStruct(&gUnknown_0203CF1C->currentMon) != 0) + if (ExtractMonDataToSummaryStruct(&pssData->currentMon) != 0) gMain.state++; break; case 11: @@ -842,11 +842,11 @@ static bool8 SummaryScreen_LoadGraphics(void) gMain.state++; break; case 12: - PrintPageNamesAndStatsPage(); + PrintPageNamesAndStatsPageToWindows(); gMain.state++; break; case 13: - sub_81C2D9C(gUnknown_0203CF1C->currPageIndex); + sub_81C2D9C(pssData->currPageIndex); gMain.state++; break; case 14: @@ -854,29 +854,29 @@ static bool8 SummaryScreen_LoadGraphics(void) gMain.state++; break; case 15: - sub_81C2AFC(gUnknown_0203CF1C->currPageIndex); + sub_81C2AFC(pssData->currPageIndex); gMain.state++; break; case 16: sub_81C4190(); sub_81C42C8(); - gUnknown_0203CF1C->unk40F0 = 0; + pssData->unk40F0 = 0; gMain.state++; break; case 17: - gUnknown_0203CF1C->spriteIds[0] = sub_81C45F4(&gUnknown_0203CF1C->currentMon, &gUnknown_0203CF1C->unk40F0); - if (gUnknown_0203CF1C->spriteIds[0] != 0xFF) + pssData->spriteIds[0] = sub_81C45F4(&pssData->currentMon, &pssData->unk40F0); + if (pssData->spriteIds[0] != 0xFF) { - gUnknown_0203CF1C->unk40F0 = 0; + pssData->unk40F0 = 0; gMain.state++; } break; case 18: - CreateMonMarkingsSprite(&gUnknown_0203CF1C->currentMon); + CreateMonMarkingsSprite(&pssData->currentMon); gMain.state++; break; case 19: - CreateCaughtBallSprite(&gUnknown_0203CF1C->currentMon); + CreateCaughtBallSprite(&pssData->currentMon); gMain.state++; break; case 20: @@ -888,7 +888,7 @@ static bool8 SummaryScreen_LoadGraphics(void) gMain.state++; break; case 22: - if (gUnknown_0203CF1C->mode != PSS_MODE_SELECT_MOVE) + if (pssData->mode != PSS_MODE_SELECT_MOVE) CreateTask(sub_81C0510, 0); else CreateTask(sub_81C171C, 0); @@ -915,9 +915,9 @@ static void InitBGs(void) { ResetBgsAndClearDma3BusyFlags(0); InitBgsFromTemplates(0, gUnknown_0861CBB4, ARRAY_COUNT(gUnknown_0861CBB4)); - SetBgTilemapBuffer(1, gUnknown_0203CF1C->bgTilemapBuffers[PSS_PAGE_BATTLE_MOVES][0]); - SetBgTilemapBuffer(2, gUnknown_0203CF1C->bgTilemapBuffers[PSS_PAGE_SKILLS][0]); - SetBgTilemapBuffer(3, gUnknown_0203CF1C->bgTilemapBuffers[PSS_PAGE_INFO][0]); + SetBgTilemapBuffer(1, pssData->bgTilemapBuffers[PSS_PAGE_BATTLE_MOVES][0]); + SetBgTilemapBuffer(2, pssData->bgTilemapBuffers[PSS_PAGE_SKILLS][0]); + SetBgTilemapBuffer(3, pssData->bgTilemapBuffers[PSS_PAGE_INFO][0]); ResetAllBgsCoordinates(); schedule_bg_copy_tilemap_to_vram(1); schedule_bg_copy_tilemap_to_vram(2); @@ -930,90 +930,90 @@ static void InitBGs(void) ShowBg(3); } -bool8 sub_81BFEB0(void) +static bool8 SummaryScreen_DecompressGraphics(void) { - switch (gUnknown_0203CF1C->unk40F0) + switch (pssData->unk40F0) { case 0: reset_temp_tile_data_buffers(); decompress_and_copy_tile_data_to_vram(1, &gUnknown_08D97D0C, 0, 0, 0); - gUnknown_0203CF1C->unk40F0++; + pssData->unk40F0++; break; case 1: if (free_temp_tile_data_buffers_if_possible() != 1) { - LZDecompressWram(&gUnknown_08D9862C, gUnknown_0203CF1C->bgTilemapBuffers[PSS_PAGE_INFO][0]); - gUnknown_0203CF1C->unk40F0++; + LZDecompressWram(&gUnknown_08D9862C, pssData->bgTilemapBuffers[PSS_PAGE_INFO][0]); + pssData->unk40F0++; } break; case 2: - LZDecompressWram(&gUnknown_08D98CC8, gUnknown_0203CF1C->bgTilemapBuffers[PSS_PAGE_INFO][1]); - gUnknown_0203CF1C->unk40F0++; + LZDecompressWram(&gUnknown_08D98CC8, pssData->bgTilemapBuffers[PSS_PAGE_INFO][1]); + pssData->unk40F0++; break; case 3: - LZDecompressWram(&gUnknown_08D987FC, gUnknown_0203CF1C->bgTilemapBuffers[PSS_PAGE_SKILLS][1]); - gUnknown_0203CF1C->unk40F0++; + LZDecompressWram(&gUnknown_08D987FC, pssData->bgTilemapBuffers[PSS_PAGE_SKILLS][1]); + pssData->unk40F0++; break; case 4: - LZDecompressWram(&gUnknown_08D9898C, gUnknown_0203CF1C->bgTilemapBuffers[PSS_PAGE_BATTLE_MOVES][1]); - gUnknown_0203CF1C->unk40F0++; + LZDecompressWram(&gUnknown_08D9898C, pssData->bgTilemapBuffers[PSS_PAGE_BATTLE_MOVES][1]); + pssData->unk40F0++; break; case 5: - LZDecompressWram(&gUnknown_08D98B28, gUnknown_0203CF1C->bgTilemapBuffers[PSS_PAGE_CONTEST_MOVES][1]); - gUnknown_0203CF1C->unk40F0++; + LZDecompressWram(&gUnknown_08D98B28, pssData->bgTilemapBuffers[PSS_PAGE_CONTEST_MOVES][1]); + pssData->unk40F0++; break; case 6: LoadCompressedPalette(&gUnknown_08D9853C, 0, 0x100); LoadPalette(&gUnknown_08D85620, 0x81, 0x1E); - gUnknown_0203CF1C->unk40F0++; + pssData->unk40F0++; break; case 7: LoadCompressedObjectPic(&gUnknown_0861CFBC); - gUnknown_0203CF1C->unk40F0++; + pssData->unk40F0++; break; case 8: LoadCompressedObjectPic(&gUnknown_0861D074); - gUnknown_0203CF1C->unk40F0++; + pssData->unk40F0++; break; case 9: LoadCompressedObjectPic(&gUnknown_0861D0F8); - gUnknown_0203CF1C->unk40F0++; + pssData->unk40F0++; break; case 10: LoadCompressedObjectPalette(&gUnknown_0861D100); - gUnknown_0203CF1C->unk40F0++; + pssData->unk40F0++; break; case 11: LoadCompressedObjectPalette(&gUnknown_0861D07C); - gUnknown_0203CF1C->unk40F0++; + pssData->unk40F0++; break; case 12: LoadCompressedPalette(&gMoveTypes_Pal, 0x1D0, 0x60); - gUnknown_0203CF1C->unk40F0 = 0; + pssData->unk40F0 = 0; return TRUE; } return FALSE; } -void CopyMonToSummaryStruct(struct Pokemon *mon) +static void CopyMonToSummaryStruct(struct Pokemon *mon) { - if (!gUnknown_0203CF1C->isBoxMon) + if (!pssData->isBoxMon) { - struct Pokemon *partyMon = gUnknown_0203CF1C->monList.mons; - *mon = partyMon[gUnknown_0203CF1C->curMonIndex]; + struct Pokemon *partyMon = pssData->monList.mons; + *mon = partyMon[pssData->curMonIndex]; } else { - struct BoxPokemon *boxMon = gUnknown_0203CF1C->monList.boxMons; - BoxMonToMon(&boxMon[gUnknown_0203CF1C->curMonIndex], mon); + struct BoxPokemon *boxMon = pssData->monList.boxMons; + BoxMonToMon(&boxMon[pssData->curMonIndex], mon); } } -bool8 ExtractMonDataToSummaryStruct(struct Pokemon *a) +static bool8 ExtractMonDataToSummaryStruct(struct Pokemon *a) { u32 i; - struct PokeSummary *sum = &gUnknown_0203CF1C->summary; - switch (gUnknown_0203CF1C->unk40F0) + struct PokeSummary *sum = &pssData->summary; + switch (pssData->unk40F0) { case 0: sum->species = GetMonData(a, MON_DATA_SPECIES); @@ -1040,7 +1040,7 @@ bool8 ExtractMonDataToSummaryStruct(struct Pokemon *a) sum->ppBonuses = GetMonData(a, MON_DATA_PP_BONUSES); break; case 2: - if (gUnknown_0203CF1C->monList.mons == gPlayerParty || gUnknown_0203CF1C->mode == PSS_MODE_UNK2 || gUnknown_0203CF1C->unk40EF == TRUE) + if (pssData->monList.mons == gPlayerParty || pssData->mode == PSS_MODE_UNK2 || pssData->unk40EF == TRUE) { sum->nature = GetNature(a); sum->currentHP = GetMonData(a, MON_DATA_HP); @@ -1078,59 +1078,59 @@ bool8 ExtractMonDataToSummaryStruct(struct Pokemon *a) sum->ribbonCount = GetMonData(a, MON_DATA_RIBBON_COUNT); return TRUE; } - gUnknown_0203CF1C->unk40F0++; + pssData->unk40F0++; return FALSE; } -void sub_81C0348(void) +static void sub_81C0348(void) { - if (gUnknown_0203CF1C->currPageIndex != PSS_PAGE_BATTLE_MOVES && gUnknown_0203CF1C->currPageIndex != PSS_PAGE_CONTEST_MOVES) + if (pssData->currPageIndex != PSS_PAGE_BATTLE_MOVES && pssData->currPageIndex != PSS_PAGE_CONTEST_MOVES) { sub_81C1DA4(0, 255); sub_81C1EFC(0, 255, 0); } else { - sub_81C240C(gUnknown_0203CF1C->summary.moves[gUnknown_0203CF1C->firstMoveIndex]); - sub_81C2194(gUnknown_0203CF1C->bgTilemapBuffers[PSS_PAGE_BATTLE_MOVES][0], 3, 0); - sub_81C2194(gUnknown_0203CF1C->bgTilemapBuffers[PSS_PAGE_CONTEST_MOVES][0], 1, 0); - SetBgTilemapBuffer(1, gUnknown_0203CF1C->bgTilemapBuffers[PSS_PAGE_CONTEST_MOVES][0]); - SetBgTilemapBuffer(2, gUnknown_0203CF1C->bgTilemapBuffers[PSS_PAGE_BATTLE_MOVES][0]); + sub_81C240C(pssData->summary.moves[pssData->firstMoveIndex]); + sub_81C2194(pssData->bgTilemapBuffers[PSS_PAGE_BATTLE_MOVES][0], 3, 0); + sub_81C2194(pssData->bgTilemapBuffers[PSS_PAGE_CONTEST_MOVES][0], 1, 0); + SetBgTilemapBuffer(1, pssData->bgTilemapBuffers[PSS_PAGE_CONTEST_MOVES][0]); + SetBgTilemapBuffer(2, pssData->bgTilemapBuffers[PSS_PAGE_BATTLE_MOVES][0]); ChangeBgX(2, 0x10000, 1); ClearWindowTilemap(19); ClearWindowTilemap(13); } - if (gUnknown_0203CF1C->summary.unk7 == 0) + if (pssData->summary.unk7 == 0) { sub_81C2074(0, 0xFF); } else { - if (gUnknown_0203CF1C->currPageIndex != PSS_PAGE_BATTLE_MOVES && gUnknown_0203CF1C->currPageIndex != PSS_PAGE_CONTEST_MOVES) + if (pssData->currPageIndex != PSS_PAGE_BATTLE_MOVES && pssData->currPageIndex != PSS_PAGE_CONTEST_MOVES) PutWindowTilemap(13); } sub_81C2524(); - sub_81C2228(&gUnknown_0203CF1C->currentMon); + sub_81C2228(&pssData->currentMon); } -void sub_81C0434(void) +static void sub_81C0434(void) { FreeAllWindowBuffers(); - Free(gUnknown_0203CF1C); + Free(pssData); } -void sub_81C044C(u8 taskId) +static void sub_81C044C(u8 taskId) { BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); gTasks[taskId].func = sub_81C0484; } -void sub_81C0484(u8 taskId) +static void sub_81C0484(u8 taskId) { - if (sub_81221EC() != 1 && !gPaletteFade.active) + if (sub_81221EC() != TRUE && !gPaletteFade.active) { - SetMainCallback2(gUnknown_0203CF1C->callback); - gUnknown_0203CF20 = gUnknown_0203CF1C->curMonIndex; + SetMainCallback2(pssData->callback); + gUnknown_0203CF20 = pssData->curMonIndex; SummaryScreen_DestroyUnknownTask(); ResetSpriteData(); FreeAllSpritePalettes(); @@ -1143,9 +1143,9 @@ void sub_81C0484(u8 taskId) } } -void sub_81C0510(u8 taskId) +static void sub_81C0510(u8 taskId) { - if (sub_81221EC() != 1 && !gPaletteFade.active) + if (sub_81221EC() != TRUE && !gPaletteFade.active) { if (gMain.newKeys & DPAD_UP) { @@ -1165,9 +1165,9 @@ void sub_81C0510(u8 taskId) } else if (gMain.newKeys & A_BUTTON) { - if (gUnknown_0203CF1C->currPageIndex != PSS_PAGE_SKILLS) + if (pssData->currPageIndex != PSS_PAGE_SKILLS) { - if (gUnknown_0203CF1C->currPageIndex == PSS_PAGE_INFO) + if (pssData->currPageIndex == PSS_PAGE_INFO) { sub_81C48F0(); PlaySE(SE_SELECT); @@ -1189,15 +1189,15 @@ void sub_81C0510(u8 taskId) } } -void sub_81C0604(u8 taskId, s8 a) +static void sub_81C0604(u8 taskId, s8 a) { s8 r4_2; - if (!gUnknown_0203CF1C->unk40C3) + if (!pssData->unk40C3) { - if (gUnknown_0203CF1C->isBoxMon == TRUE) + if (pssData->isBoxMon == TRUE) { - if (gUnknown_0203CF1C->currPageIndex != PSS_PAGE_INFO) + if (pssData->currPageIndex != PSS_PAGE_INFO) { if (a == 1) a = 0; @@ -1211,7 +1211,7 @@ void sub_81C0604(u8 taskId, s8 a) else a = 3; } - r4_2 = sub_80D214C(gUnknown_0203CF1C->monList.boxMons, gUnknown_0203CF1C->curMonIndex, gUnknown_0203CF1C->maxMonIndex, a); + r4_2 = sub_80D214C(pssData->monList.boxMons, pssData->curMonIndex, pssData->maxMonIndex, a); } else if (sub_81B1250() == 1) { @@ -1225,21 +1225,21 @@ void sub_81C0604(u8 taskId, s8 a) if (r4_2 != -1) { PlaySE(SE_SELECT); - if (gUnknown_0203CF1C->summary.unk7 != 0) + if (pssData->summary.unk7 != 0) { sub_81C4204(2, 1); ClearWindowTilemap(13); schedule_bg_copy_tilemap_to_vram(0); sub_81C2074(0, 2); } - gUnknown_0203CF1C->curMonIndex = r4_2; + pssData->curMonIndex = r4_2; gTasks[taskId].data[0] = 0; gTasks[taskId].func = sub_81C0704; } } } -void sub_81C0704(u8 taskId) +static void sub_81C0704(u8 taskId) { s16 *data = gTasks[taskId].data; @@ -1250,36 +1250,36 @@ void sub_81C0704(u8 taskId) break; case 1: SummaryScreen_DestroyUnknownTask(); - DestroySpriteAndFreeResources(&gSprites[gUnknown_0203CF1C->spriteIds[0]]); + DestroySpriteAndFreeResources(&gSprites[pssData->spriteIds[0]]); break; case 2: - DestroySpriteAndFreeResources(&gSprites[gUnknown_0203CF1C->spriteIds[1]]); + DestroySpriteAndFreeResources(&gSprites[pssData->spriteIds[1]]); break; case 3: - CopyMonToSummaryStruct(&gUnknown_0203CF1C->currentMon); - gUnknown_0203CF1C->unk40F0 = 0; + CopyMonToSummaryStruct(&pssData->currentMon); + pssData->unk40F0 = 0; break; case 4: - if (ExtractMonDataToSummaryStruct(&gUnknown_0203CF1C->currentMon) == FALSE) + if (ExtractMonDataToSummaryStruct(&pssData->currentMon) == FALSE) return; break; case 5: - RemoveAndCreateMonMarkingsSprite(&gUnknown_0203CF1C->currentMon); + RemoveAndCreateMonMarkingsSprite(&pssData->currentMon); break; case 6: - CreateCaughtBallSprite(&gUnknown_0203CF1C->currentMon); + CreateCaughtBallSprite(&pssData->currentMon); break; case 7: - if (gUnknown_0203CF1C->summary.unk7) + if (pssData->summary.unk7) sub_81C2074(10, -2); - sub_81C2228(&gUnknown_0203CF1C->currentMon); + sub_81C2228(&pssData->currentMon); data[1] = 0; break; case 8: - gUnknown_0203CF1C->spriteIds[0] = sub_81C45F4(&gUnknown_0203CF1C->currentMon, &data[1]); - if (gUnknown_0203CF1C->spriteIds[0] == 0xFF) + pssData->spriteIds[0] = sub_81C45F4(&pssData->currentMon, &data[1]); + if (pssData->spriteIds[0] == 0xFF) return; - gSprites[gUnknown_0203CF1C->spriteIds[0]].data[2] = 1; + gSprites[pssData->spriteIds[0]].data[2] = 1; sub_81C0E24(); data[1] = 0; break; @@ -1290,11 +1290,11 @@ void sub_81C0704(u8 taskId) sub_81C25E8(); break; case 11: - sub_81C2D9C(gUnknown_0203CF1C->currPageIndex); + sub_81C2D9C(pssData->currPageIndex); sub_81C2524(); break; case 12: - gSprites[gUnknown_0203CF1C->spriteIds[0]].data[2] = 0; + gSprites[pssData->spriteIds[0]].data[2] = 0; break; default: if (sub_81221EC() == 0 && FuncIsActiveTask(sub_81C20F0) == 0) @@ -1307,42 +1307,42 @@ void sub_81C0704(u8 taskId) data[0]++; } -s8 sub_81C08F8(s8 a) +static s8 sub_81C08F8(s8 a) { - struct Pokemon *mon = gUnknown_0203CF1C->monList.mons; + struct Pokemon *mon = pssData->monList.mons; - if (gUnknown_0203CF1C->currPageIndex == PSS_PAGE_INFO) + if (pssData->currPageIndex == PSS_PAGE_INFO) { - if (a == -1 && gUnknown_0203CF1C->curMonIndex == 0) + if (a == -1 && pssData->curMonIndex == 0) return -1; - else if (a == 1 && gUnknown_0203CF1C->curMonIndex >= gUnknown_0203CF1C->maxMonIndex) + else if (a == 1 && pssData->curMonIndex >= pssData->maxMonIndex) return -1; else - return gUnknown_0203CF1C->curMonIndex + a; + return pssData->curMonIndex + a; } else { - s8 index = gUnknown_0203CF1C->curMonIndex; + s8 index = pssData->curMonIndex; do { index += a; - if (index < 0 || index > gUnknown_0203CF1C->maxMonIndex) + if (index < 0 || index > pssData->maxMonIndex) return -1; } while (GetMonData(&mon[index], MON_DATA_IS_EGG) != 0); return index; } } -s8 sub_81C09B4(s8 a) +static s8 sub_81C09B4(s8 a) { - struct Pokemon *mon = gUnknown_0203CF1C->monList.mons; + struct Pokemon *mon = pssData->monList.mons; s8 r5 = 0; u8 i; for (i = 0; i < 6; i++) { - if (gUnknown_0861CC1C[i] == gUnknown_0203CF1C->curMonIndex) + if (gUnknown_0861CC1C[i] == pssData->curMonIndex) { r5 = i; break; @@ -1363,46 +1363,46 @@ s8 sub_81C09B4(s8 a) } } -bool8 sub_81C0A50(struct Pokemon* mon) +static bool8 sub_81C0A50(struct Pokemon* mon) { - if (GetMonData(mon, MON_DATA_SPECIES) == 0) + if (GetMonData(mon, MON_DATA_SPECIES) == SPECIES_NONE) return FALSE; - else if (gUnknown_0203CF1C->curMonIndex != 0 || GetMonData(mon, MON_DATA_IS_EGG) == 0) + else if (pssData->curMonIndex != 0 || GetMonData(mon, MON_DATA_IS_EGG) == 0) return TRUE; else return FALSE; } -void sub_81C0A8C(u8 taskId, s8 b) +static void sub_81C0A8C(u8 taskId, s8 b) { - struct PokeSummary *summary = &gUnknown_0203CF1C->summary; + struct PokeSummary *summary = &pssData->summary; s16 *data = gTasks[taskId].data; if (summary->isEgg) return; - else if (b == -1 && gUnknown_0203CF1C->currPageIndex == gUnknown_0203CF1C->minPageIndex) + else if (b == -1 && pssData->currPageIndex == pssData->minPageIndex) return; - else if (b == 1 && gUnknown_0203CF1C->currPageIndex == gUnknown_0203CF1C->maxPageIndex) + else if (b == 1 && pssData->currPageIndex == pssData->maxPageIndex) return; PlaySE(SE_SELECT); - sub_81C2C38(gUnknown_0203CF1C->currPageIndex); - gUnknown_0203CF1C->currPageIndex += b; + sub_81C2C38(pssData->currPageIndex); + pssData->currPageIndex += b; data[0] = 0; if (b == 1) SetTaskFuncWithFollowupFunc(taskId, sub_81C0B8C, gTasks[taskId].func); else SetTaskFuncWithFollowupFunc(taskId, sub_81C0CC4, gTasks[taskId].func); - sub_81C2DE4(gUnknown_0203CF1C->currPageIndex); + sub_81C2DE4(pssData->currPageIndex); sub_81C424C(); } -void sub_81C0B8C(u8 taskId) +static void sub_81C0B8C(u8 taskId) { s16 *data = gTasks[taskId].data; if (data[0] == 0) { - if (gUnknown_0203CF1C->unk40C9 == 0) + if (pssData->unk40C9 == 0) { data[1] = 1; SetBgAttribute(1, 7, 1); @@ -1417,7 +1417,7 @@ void sub_81C0B8C(u8 taskId) schedule_bg_copy_tilemap_to_vram(2); } ChangeBgX(data[1], 0, 0); - SetBgTilemapBuffer(data[1], gUnknown_0203CF1C->bgTilemapBuffers[gUnknown_0203CF1C->currPageIndex][0]); + SetBgTilemapBuffer(data[1], pssData->bgTilemapBuffers[pssData->currPageIndex][0]); ShowBg(1); ShowBg(2); } @@ -1427,25 +1427,25 @@ void sub_81C0B8C(u8 taskId) gTasks[taskId].func = sub_81C0C68; } -void sub_81C0C68(u8 taskId) +static void sub_81C0C68(u8 taskId) { s16 *data = gTasks[taskId].data; - gUnknown_0203CF1C->unk40C9 ^= 1; + pssData->unk40C9 ^= 1; data[1] = 0; data[0] = 0; sub_81C1BA0(); - sub_81C2AFC(gUnknown_0203CF1C->currPageIndex); + sub_81C2AFC(pssData->currPageIndex); sub_81C4280(); sub_81C0E24(); SwitchTaskToFollowupFunc(taskId); } -void sub_81C0CC4(u8 taskId) +static void sub_81C0CC4(u8 taskId) { s16 *data = gTasks[taskId].data; if (data[0] == 0) { - if (gUnknown_0203CF1C->unk40C9 == 0) + if (pssData->unk40C9 == 0) data[1] = 2; else data[1] = 1; @@ -1457,10 +1457,10 @@ void sub_81C0CC4(u8 taskId) gTasks[taskId].func = sub_81C0D44; } -void sub_81C0D44(u8 taskId) +static void sub_81C0D44(u8 taskId) { s16 *data = gTasks[taskId].data; - if (gUnknown_0203CF1C->unk40C9 == 0) + if (pssData->unk40C9 == 0) { SetBgAttribute(1, 7, 1); SetBgAttribute(2, 7, 2); @@ -1472,46 +1472,46 @@ void sub_81C0D44(u8 taskId) SetBgAttribute(1, 7, 2); schedule_bg_copy_tilemap_to_vram(1); } - if (gUnknown_0203CF1C->currPageIndex > 1) + if (pssData->currPageIndex > 1) { - SetBgTilemapBuffer(data[1], (u8*)gUnknown_0203CF1C + ((gUnknown_0203CF1C->currPageIndex << 12) + 0xFFFFF0BC)); + SetBgTilemapBuffer(data[1], (u8*)pssData + ((pssData->currPageIndex << 12) + 0xFFFFF0BC)); ChangeBgX(data[1], 0x10000, 0); } ShowBg(1); ShowBg(2); - gUnknown_0203CF1C->unk40C9 ^= 1; + pssData->unk40C9 ^= 1; data[1] = 0; data[0] = 0; sub_81C1BA0(); - sub_81C2AFC(gUnknown_0203CF1C->currPageIndex); + sub_81C2AFC(pssData->currPageIndex); sub_81C4280(); sub_81C0E24(); SwitchTaskToFollowupFunc(taskId); } -void sub_81C0E24(void) +static void sub_81C0E24(void) { - if (gUnknown_0203CF1C->currPageIndex == 1) - sub_81C22CC(&gUnknown_0203CF1C->currentMon); + if (pssData->currPageIndex == 1) + sub_81C22CC(&pssData->currentMon); } -void sub_81C0E48(u8 taskId) +static void sub_81C0E48(u8 taskId) { u16 move; - gUnknown_0203CF1C->firstMoveIndex = 0; - move = gUnknown_0203CF1C->summary.moves[gUnknown_0203CF1C->firstMoveIndex]; + pssData->firstMoveIndex = 0; + move = pssData->summary.moves[pssData->firstMoveIndex]; ClearWindowTilemap(0x13); - if (gSprites[gUnknown_0203CF1C->spriteIds[2]].invisible == 0) + if (gSprites[pssData->spriteIds[2]].invisible == 0) ClearWindowTilemap(0xD); sub_81C1DA4(9, -3); sub_81C1EFC(9, -3, move); - if (!gUnknown_0203CF1C->unk40C8) + if (!pssData->unk40C8) { ClearWindowTilemap(5); PutWindowTilemap(6); } - sub_81C2194(gUnknown_0203CF1C->bgTilemapBuffers[PSS_PAGE_BATTLE_MOVES][0], 3, 0); - sub_81C2194(gUnknown_0203CF1C->bgTilemapBuffers[PSS_PAGE_CONTEST_MOVES][0], 1, 0); + sub_81C2194(pssData->bgTilemapBuffers[PSS_PAGE_BATTLE_MOVES][0], 3, 0); + sub_81C2194(pssData->bgTilemapBuffers[PSS_PAGE_CONTEST_MOVES][0], 1, 0); PrintMoveDetails(move); PrintNewMoveDetailsOrCancelText(); sub_81C44F0(); @@ -1522,7 +1522,7 @@ void sub_81C0E48(u8 taskId) gTasks[taskId].func = sub_81C0F44; } -void sub_81C0F44(u8 taskId) +static void sub_81C0F44(u8 taskId) { u8 id = taskId; s16 *data = gTasks[taskId].data; @@ -1532,17 +1532,17 @@ void sub_81C0F44(u8 taskId) if (gMain.newKeys & DPAD_UP) { data[0] = 4; - sub_81C1070(data, -1, &gUnknown_0203CF1C->firstMoveIndex); + sub_81C1070(data, -1, &pssData->firstMoveIndex); } else if (gMain.newKeys & DPAD_DOWN) { data[0] = 4; - sub_81C1070(data, 1, &gUnknown_0203CF1C->firstMoveIndex); + sub_81C1070(data, 1, &pssData->firstMoveIndex); } else if (gMain.newKeys & A_BUTTON) { - if (gUnknown_0203CF1C->unk40C8 == TRUE - || (gUnknown_0203CF1C->newMove == MOVE_NONE && gUnknown_0203CF1C->firstMoveIndex == MAX_MON_MOVES)) + if (pssData->unk40C8 == TRUE + || (pssData->newMove == MOVE_NONE && pssData->firstMoveIndex == MAX_MON_MOVES)) { PlaySE(SE_SELECT); sub_81C11F4(taskId); @@ -1565,18 +1565,18 @@ void sub_81C0F44(u8 taskId) } } -bool8 sub_81C1040(void) +static bool8 sub_81C1040(void) { u8 i; for (i = 1; i < 4; i++) { - if (gUnknown_0203CF1C->summary.moves[i] != 0) + if (pssData->summary.moves[i] != 0) return TRUE; } return FALSE; } -void sub_81C1070(s16 *a, s8 b, u8 *c) +static void sub_81C1070(s16 *a, s8 b, u8 *c) { s8 i; s8 moveIndex; @@ -1593,10 +1593,10 @@ void sub_81C1070(s16 *a, s8 b, u8 *c) moveIndex = a[0]; if (moveIndex == 4) { - move = gUnknown_0203CF1C->newMove; + move = pssData->newMove; break; } - move = gUnknown_0203CF1C->summary.moves[moveIndex]; + move = pssData->summary.moves[moveIndex]; if (move != 0) break; } @@ -1604,16 +1604,16 @@ void sub_81C1070(s16 *a, s8 b, u8 *c) schedule_bg_copy_tilemap_to_vram(1); schedule_bg_copy_tilemap_to_vram(2); PrintMoveDetails(move); - if ((*c == 4 && gUnknown_0203CF1C->newMove == MOVE_NONE) || a[1] == 1) + if ((*c == 4 && pssData->newMove == MOVE_NONE) || a[1] == 1) { ClearWindowTilemap(19); - if (!gSprites[gUnknown_0203CF1C->spriteIds[2]].invisible) + if (!gSprites[pssData->spriteIds[2]].invisible) ClearWindowTilemap(13); schedule_bg_copy_tilemap_to_vram(0); sub_81C1DA4(9, -3); sub_81C1EFC(9, -3, move); } - if (*c != 4 && moveIndex == 4 && gUnknown_0203CF1C->newMove == MOVE_NONE) + if (*c != 4 && moveIndex == 4 && pssData->newMove == MOVE_NONE) { ClearWindowTilemap(14); ClearWindowTilemap(15); @@ -1622,22 +1622,22 @@ void sub_81C1070(s16 *a, s8 b, u8 *c) sub_81C1EFC(0, 3, 0); } *c = moveIndex; - if (c == &gUnknown_0203CF1C->firstMoveIndex) + if (c == &pssData->firstMoveIndex) sub_81C4D18(8); else sub_81C4D18(18); } -void sub_81C11F4(u8 taskId) +static void sub_81C11F4(u8 taskId) { sub_81C4C60(8); ClearWindowTilemap(6); PutWindowTilemap(5); PrintMoveDetails(0); - sub_81C2194(gUnknown_0203CF1C->bgTilemapBuffers[PSS_PAGE_BATTLE_MOVES][0], 3, 1); - sub_81C2194(gUnknown_0203CF1C->bgTilemapBuffers[PSS_PAGE_CONTEST_MOVES][0], 1, 1); + sub_81C2194(pssData->bgTilemapBuffers[PSS_PAGE_BATTLE_MOVES][0], 3, 1); + sub_81C2194(pssData->bgTilemapBuffers[PSS_PAGE_CONTEST_MOVES][0], 1, 1); sub_81C4064(); - if (gUnknown_0203CF1C->firstMoveIndex != MAX_MON_MOVES) + if (pssData->firstMoveIndex != MAX_MON_MOVES) { ClearWindowTilemap(14); ClearWindowTilemap(15); @@ -1650,15 +1650,15 @@ void sub_81C11F4(u8 taskId) gTasks[taskId].func = sub_81C0510; } -void sub_81C129C(u8 taskId) +static void sub_81C129C(u8 taskId) { - gUnknown_0203CF1C->secondMoveIndex = gUnknown_0203CF1C->firstMoveIndex; + pssData->secondMoveIndex = pssData->firstMoveIndex; sub_81C4C84(1); sub_81C4AF8(18); gTasks[taskId].func = sub_81C12E4; } -void sub_81C12E4(u8 taskId) +static void sub_81C12E4(u8 taskId) { s16* data = gTasks[taskId].data; @@ -1667,16 +1667,16 @@ void sub_81C12E4(u8 taskId) if (gMain.newKeys & DPAD_UP) { data[0] = 3; - sub_81C1070(&data[0], -1, &gUnknown_0203CF1C->secondMoveIndex); + sub_81C1070(&data[0], -1, &pssData->secondMoveIndex); } else if (gMain.newKeys & DPAD_DOWN) { data[0] = 3; - sub_81C1070(&data[0], 1, &gUnknown_0203CF1C->secondMoveIndex); + sub_81C1070(&data[0], 1, &pssData->secondMoveIndex); } else if (gMain.newKeys & A_BUTTON) { - if (gUnknown_0203CF1C->firstMoveIndex == gUnknown_0203CF1C->secondMoveIndex) + if (pssData->firstMoveIndex == pssData->secondMoveIndex) { sub_81C13B0(taskId, 0); } @@ -1692,7 +1692,7 @@ void sub_81C12E4(u8 taskId) } } -void sub_81C13B0(u8 taskId, bool8 b) +static void sub_81C13B0(u8 taskId, bool8 b) { u16 move; @@ -1702,23 +1702,23 @@ void sub_81C13B0(u8 taskId, bool8 b) if (b == TRUE) { - if (!gUnknown_0203CF1C->isBoxMon) + if (!pssData->isBoxMon) { - struct Pokemon *why = gUnknown_0203CF1C->monList.mons; - sub_81C14BC(&why[gUnknown_0203CF1C->curMonIndex], gUnknown_0203CF1C->firstMoveIndex, gUnknown_0203CF1C->secondMoveIndex); + struct Pokemon *why = pssData->monList.mons; + SwapMonMoves(&why[pssData->curMonIndex], pssData->firstMoveIndex, pssData->secondMoveIndex); } else { - struct BoxPokemon *why = gUnknown_0203CF1C->monList.boxMons; - sub_81C15EC(&why[gUnknown_0203CF1C->curMonIndex], gUnknown_0203CF1C->firstMoveIndex, gUnknown_0203CF1C->secondMoveIndex); + struct BoxPokemon *why = pssData->monList.boxMons; + SwapBoxMonMoves(&why[pssData->curMonIndex], pssData->firstMoveIndex, pssData->secondMoveIndex); } - CopyMonToSummaryStruct(&gUnknown_0203CF1C->currentMon); - sub_81C40A0(gUnknown_0203CF1C->firstMoveIndex, gUnknown_0203CF1C->secondMoveIndex); - sub_81C4568(gUnknown_0203CF1C->firstMoveIndex, gUnknown_0203CF1C->secondMoveIndex); - gUnknown_0203CF1C->firstMoveIndex = gUnknown_0203CF1C->secondMoveIndex; + CopyMonToSummaryStruct(&pssData->currentMon); + sub_81C40A0(pssData->firstMoveIndex, pssData->secondMoveIndex); + sub_81C4568(pssData->firstMoveIndex, pssData->secondMoveIndex); + pssData->firstMoveIndex = pssData->secondMoveIndex; } - move = gUnknown_0203CF1C->summary.moves[gUnknown_0203CF1C->firstMoveIndex]; + move = pssData->summary.moves[pssData->firstMoveIndex]; PrintMoveDetails(move); sub_81C240C(move); schedule_bg_copy_tilemap_to_vram(1); @@ -1726,437 +1726,84 @@ void sub_81C13B0(u8 taskId, bool8 b) gTasks[taskId].func = sub_81C0F44; } - -#ifdef NONMATCHING -void sub_81C14BC(struct Pokemon *mon, u8 swappingFromId, u8 swappingToId) +static void SwapMonMoves(struct Pokemon *mon, u8 moveIndex1, u8 moveIndex2) { - u16 localMoveTo; - u16 localMoveFrom; - u8 localPpTo; - u8 localPpFrom; - u8 localPpBonuses; - u16* moveFromPtr; - u16* moveToPtr; - u8* ppFromPtr; - u8* ppToPtr; - u8* ppBonusesPtr; + struct PokeSummary* summary = &pssData->summary; - moveFromPtr = &gUnknown_0203CF1C->summary.moves[swappingFromId]; - localMoveFrom = *moveFromPtr; + u16 move1 = summary->moves[moveIndex1]; + u16 move2 = summary->moves[moveIndex2]; + u8 move1pp = summary->pp[moveIndex1]; + u8 move2pp = summary->pp[moveIndex2]; + u8 ppBonuses = summary->ppBonuses; - moveToPtr = &gUnknown_0203CF1C->summary.moves[swappingToId]; - localMoveTo = *moveToPtr; + // Calculate PP bonuses + u8 ppUpMask1 = gUnknown_08329D22[moveIndex1]; + u8 ppBonusMove1 = (ppBonuses & ppUpMask1) >> (moveIndex1 * 2); + u8 ppUpMask2 = gUnknown_08329D22[moveIndex2]; + u8 ppBonusMove2 = (ppBonuses & ppUpMask2) >> (moveIndex2 * 2); + ppBonuses &= ~ppUpMask1; + ppBonuses &= ~ppUpMask2; + ppBonuses |= (ppBonusMove1 << (moveIndex2 * 2)) + (ppBonusMove2 << (moveIndex1 * 2)); - ppFromPtr = &gUnknown_0203CF1C->summary.pp[swappingFromId]; - localPpFrom = *ppFromPtr; + // Swap the moves + SetMonData(mon, MON_DATA_MOVE1 + moveIndex1, &move2); + SetMonData(mon, MON_DATA_MOVE1 + moveIndex2, &move1); + SetMonData(mon, MON_DATA_PP1 + moveIndex1, &move2pp); + SetMonData(mon, MON_DATA_PP1 + moveIndex2, &move1pp); + SetMonData(mon, MON_DATA_PP_BONUSES, &ppBonuses); + + summary->moves[moveIndex1] = move2; + summary->moves[moveIndex2] = move1; - ppToPtr = &gUnknown_0203CF1C->summary.pp[swappingToId]; - localPpTo = *ppToPtr; + summary->pp[moveIndex1] = move2pp; + summary->pp[moveIndex2] = move1pp; - ppBonusesPtr = &gUnknown_0203CF1C->summary.ppBonuses; - localPpBonuses = *ppBonusesPtr; - -{ - u8 bitsFrom, bitsTo; - - bitsFrom = (localPpBonuses & gUnknown_08329D22[swappingFromId]) >> (swappingFromId << 1); - bitsTo = (localPpBonuses & gUnknown_08329D22[swappingToId]) >> (swappingToId << 1); - - - localPpBonuses &= ~(gUnknown_08329D22[swappingFromId]); - localPpBonuses &= ~(gUnknown_08329D22[swappingToId]); - - localPpBonuses |= ((bitsFrom << (swappingToId << 1)) + (bitsTo << (swappingToId << 1))); + summary->ppBonuses = ppBonuses; } - SetMonData(mon, swappingFromId + MON_DATA_MOVE1, &localMoveTo); - SetMonData(mon, swappingToId + MON_DATA_MOVE1, &localMoveFrom); - - SetMonData(mon, swappingFromId + MON_DATA_PP1, &localPpTo); - SetMonData(mon, swappingToId + MON_DATA_PP1, &localPpFrom); - - SetMonData(mon, MON_DATA_PP_BONUSES, &localPpBonuses); - - *moveFromPtr = localMoveTo; - *moveToPtr = localMoveFrom; - - *ppFromPtr = localPpTo; - *ppToPtr = localPpFrom; - - *ppBonusesPtr = localPpBonuses; -} -#else -NAKED -void sub_81C14BC(struct Pokemon *mon, u8 swappingFromId, u8 swappingToId) +static void SwapBoxMonMoves(struct BoxPokemon *mon, u8 moveIndex1, u8 moveIndex2) { - 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, 0x28\n\ - adds r7, r0, 0\n\ - adds r4, r1, 0\n\ - adds r6, r2, 0\n\ - lsls r4, 24\n\ - lsrs r4, 24\n\ - lsls r6, 24\n\ - lsrs r6, 24\n\ - ldr r0, =gUnknown_0203CF1C\n\ - ldr r2, [r0]\n\ - lsls r0, r4, 1\n\ - mov r10, r0\n\ - adds r1, r2, 0\n\ - adds r1, 0x84\n\ - adds r0, r1, r0\n\ - str r0, [sp, 0x8]\n\ - ldrh r0, [r0]\n\ - mov r3, sp\n\ - adds r3, 0x2\n\ - str r3, [sp, 0x1C]\n\ - strh r0, [r3]\n\ - lsls r0, r6, 1\n\ - mov r9, r0\n\ - add r1, r9\n\ - str r1, [sp, 0xC]\n\ - ldrh r1, [r1]\n\ - mov r0, sp\n\ - strh r1, [r0]\n\ - adds r1, r2, 0\n\ - adds r1, 0x8C\n\ - adds r3, r1, r4\n\ - str r3, [sp, 0x10]\n\ - ldrb r0, [r3]\n\ - mov r3, sp\n\ - adds r3, 0x5\n\ - str r3, [sp, 0x24]\n\ - strb r0, [r3]\n\ - adds r1, r6\n\ - str r1, [sp, 0x14]\n\ - ldrb r0, [r1]\n\ - mov r1, sp\n\ - adds r1, 0x4\n\ - str r1, [sp, 0x20]\n\ - strb r0, [r1]\n\ - adds r2, 0xA4\n\ - str r2, [sp, 0x18]\n\ - ldrb r0, [r2]\n\ - mov r5, sp\n\ - adds r5, 0x6\n\ - strb r0, [r5]\n\ - ldr r1, =gUnknown_08329D22\n\ - adds r0, r4, r1\n\ - ldrb r0, [r0]\n\ - mov r8, r0\n\ - ldrb r0, [r5]\n\ - adds r2, r0, 0\n\ - mov r3, r8\n\ - ands r2, r3\n\ - mov r3, r10\n\ - asrs r2, r3\n\ - lsls r2, 24\n\ - lsrs r2, 24\n\ - adds r1, r6, r1\n\ - ldrb r1, [r1]\n\ - mov r12, r1\n\ - adds r1, r0, 0\n\ - mov r3, r12\n\ - ands r1, r3\n\ - mov r3, r9\n\ - asrs r1, r3\n\ - lsls r1, 24\n\ - lsrs r1, 24\n\ - mov r3, r8\n\ - bics r0, r3\n\ - strb r0, [r5]\n\ - ldrb r0, [r5]\n\ - mov r3, r12\n\ - bics r0, r3\n\ - strb r0, [r5]\n\ - mov r0, r9\n\ - lsls r2, r0\n\ - mov r3, r10\n\ - lsls r1, r3\n\ - adds r2, r1\n\ - ldrb r0, [r5]\n\ - orrs r0, r2\n\ - strb r0, [r5]\n\ - adds r1, r4, 0\n\ - adds r1, 0xD\n\ - adds r0, r7, 0\n\ - mov r2, sp\n\ - bl SetMonData\n\ - adds r1, r6, 0\n\ - adds r1, 0xD\n\ - adds r0, r7, 0\n\ - ldr r2, [sp, 0x1C]\n\ - bl SetMonData\n\ - adds r4, 0x11\n\ - adds r0, r7, 0\n\ - adds r1, r4, 0\n\ - ldr r2, [sp, 0x20]\n\ - bl SetMonData\n\ - adds r6, 0x11\n\ - adds r0, r7, 0\n\ - adds r1, r6, 0\n\ - ldr r2, [sp, 0x24]\n\ - bl SetMonData\n\ - adds r0, r7, 0\n\ - movs r1, 0x15\n\ - adds r2, r5, 0\n\ - bl SetMonData\n\ - mov r0, sp\n\ - ldrh r0, [r0]\n\ - ldr r1, [sp, 0x8]\n\ - strh r0, [r1]\n\ - ldr r3, [sp, 0x1C]\n\ - ldrh r0, [r3]\n\ - ldr r1, [sp, 0xC]\n\ - strh r0, [r1]\n\ - ldr r3, [sp, 0x20]\n\ - ldrb r0, [r3]\n\ - ldr r1, [sp, 0x10]\n\ - strb r0, [r1]\n\ - ldr r3, [sp, 0x24]\n\ - ldrb r0, [r3]\n\ - ldr r1, [sp, 0x14]\n\ - strb r0, [r1]\n\ - ldrb r0, [r5]\n\ - ldr r3, [sp, 0x18]\n\ - strb r0, [r3]\n\ - add sp, 0x28\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\n"); -} -#endif + struct PokeSummary* summary = &pssData->summary; -#ifdef NONMATCHING -void sub_81C15EC(struct BoxPokemon *mon, u8 swappingFromId, u8 swappingToId) -{ - u16 localMoveTo; - u16 localMoveFrom; - u8 localPpTo; - u8 localPpFrom; - u8 localPpBonuses; - u16* moveFromPtr; - u16* moveToPtr; - u8* ppFromPtr; - u8* ppToPtr; - u8* ppBonusesPtr; + u16 move1 = summary->moves[moveIndex1]; + u16 move2 = summary->moves[moveIndex2]; + u8 move1pp = summary->pp[moveIndex1]; + u8 move2pp = summary->pp[moveIndex2]; + u8 ppBonuses = summary->ppBonuses; - moveFromPtr = &gUnknown_0203CF1C->summary.moves[swappingFromId]; - localMoveFrom = *moveFromPtr; + // Calculate PP bonuses + u8 ppUpMask1 = gUnknown_08329D22[moveIndex1]; + u8 ppBonusMove1 = (ppBonuses & ppUpMask1) >> (moveIndex1 * 2); + u8 ppUpMask2 = gUnknown_08329D22[moveIndex2]; + u8 ppBonusMove2 = (ppBonuses & ppUpMask2) >> (moveIndex2 * 2); + ppBonuses &= ~ppUpMask1; + ppBonuses &= ~ppUpMask2; + ppBonuses |= (ppBonusMove1 << (moveIndex2 * 2)) + (ppBonusMove2 << (moveIndex1 * 2)); - moveToPtr = &gUnknown_0203CF1C->summary.moves[swappingToId]; - localMoveTo = *moveToPtr; + // Swap the moves + SetBoxMonData(mon, MON_DATA_MOVE1 + moveIndex1, &move2); + SetBoxMonData(mon, MON_DATA_MOVE1 + moveIndex2, &move1); + SetBoxMonData(mon, MON_DATA_PP1 + moveIndex1, &move2pp); + SetBoxMonData(mon, MON_DATA_PP1 + moveIndex2, &move1pp); + SetBoxMonData(mon, MON_DATA_PP_BONUSES, &ppBonuses); + + summary->moves[moveIndex1] = move2; + summary->moves[moveIndex2] = move1; - ppFromPtr = &gUnknown_0203CF1C->summary.pp[swappingFromId]; - localPpFrom = *ppFromPtr; + summary->pp[moveIndex1] = move2pp; + summary->pp[moveIndex2] = move1pp; - ppToPtr = &gUnknown_0203CF1C->summary.pp[swappingToId]; - localPpTo = *ppToPtr; - - ppBonusesPtr = &gUnknown_0203CF1C->summary.ppBonuses; - localPpBonuses = *ppBonusesPtr; - -{ - u8 bitsFrom, bitsTo; - - bitsFrom = (localPpBonuses & gUnknown_08329D22[swappingFromId]) >> (swappingFromId << 1); - bitsTo = (localPpBonuses & gUnknown_08329D22[swappingToId]) >> (swappingToId << 1); - - - localPpBonuses &= ~(gUnknown_08329D22[swappingFromId]); - localPpBonuses &= ~(gUnknown_08329D22[swappingToId]); - - localPpBonuses |= ((bitsFrom << (swappingToId << 1)) + (bitsTo << (swappingToId << 1))); + summary->ppBonuses = ppBonuses; } - SetBoxMonData(mon, swappingFromId + MON_DATA_MOVE1, &localMoveTo); - SetBoxMonData(mon, swappingToId + MON_DATA_MOVE1, &localMoveFrom); - - SetBoxMonData(mon, swappingFromId + MON_DATA_PP1, &localPpTo); - SetBoxMonData(mon, swappingToId + MON_DATA_PP1, &localPpFrom); - - SetBoxMonData(mon, MON_DATA_PP_BONUSES, &localPpBonuses); - - *moveFromPtr = localMoveTo; - *moveToPtr = localMoveFrom; - - *ppFromPtr = localPpTo; - *ppToPtr = localPpFrom; - - *ppBonusesPtr = localPpBonuses; -} -#else -NAKED -void sub_81C15EC(struct BoxPokemon *mon, u8 swappingFromId, u8 swappingToId) -{ - 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, 0x28\n\ - adds r7, r0, 0\n\ - adds r4, r1, 0\n\ - adds r6, r2, 0\n\ - lsls r4, 24\n\ - lsrs r4, 24\n\ - lsls r6, 24\n\ - lsrs r6, 24\n\ - ldr r0, =gUnknown_0203CF1C\n\ - ldr r2, [r0]\n\ - lsls r0, r4, 1\n\ - mov r10, r0\n\ - adds r1, r2, 0\n\ - adds r1, 0x84\n\ - adds r0, r1, r0\n\ - str r0, [sp, 0x8]\n\ - ldrh r0, [r0]\n\ - mov r3, sp\n\ - adds r3, 0x2\n\ - str r3, [sp, 0x1C]\n\ - strh r0, [r3]\n\ - lsls r0, r6, 1\n\ - mov r9, r0\n\ - add r1, r9\n\ - str r1, [sp, 0xC]\n\ - ldrh r1, [r1]\n\ - mov r0, sp\n\ - strh r1, [r0]\n\ - adds r1, r2, 0\n\ - adds r1, 0x8C\n\ - adds r3, r1, r4\n\ - str r3, [sp, 0x10]\n\ - ldrb r0, [r3]\n\ - mov r3, sp\n\ - adds r3, 0x5\n\ - str r3, [sp, 0x24]\n\ - strb r0, [r3]\n\ - adds r1, r6\n\ - str r1, [sp, 0x14]\n\ - ldrb r0, [r1]\n\ - mov r1, sp\n\ - adds r1, 0x4\n\ - str r1, [sp, 0x20]\n\ - strb r0, [r1]\n\ - adds r2, 0xA4\n\ - str r2, [sp, 0x18]\n\ - ldrb r0, [r2]\n\ - mov r5, sp\n\ - adds r5, 0x6\n\ - strb r0, [r5]\n\ - ldr r1, =gUnknown_08329D22\n\ - adds r0, r4, r1\n\ - ldrb r0, [r0]\n\ - mov r8, r0\n\ - ldrb r0, [r5]\n\ - adds r2, r0, 0\n\ - mov r3, r8\n\ - ands r2, r3\n\ - mov r3, r10\n\ - asrs r2, r3\n\ - lsls r2, 24\n\ - lsrs r2, 24\n\ - adds r1, r6, r1\n\ - ldrb r1, [r1]\n\ - mov r12, r1\n\ - adds r1, r0, 0\n\ - mov r3, r12\n\ - ands r1, r3\n\ - mov r3, r9\n\ - asrs r1, r3\n\ - lsls r1, 24\n\ - lsrs r1, 24\n\ - mov r3, r8\n\ - bics r0, r3\n\ - strb r0, [r5]\n\ - ldrb r0, [r5]\n\ - mov r3, r12\n\ - bics r0, r3\n\ - strb r0, [r5]\n\ - mov r0, r9\n\ - lsls r2, r0\n\ - mov r3, r10\n\ - lsls r1, r3\n\ - adds r2, r1\n\ - ldrb r0, [r5]\n\ - orrs r0, r2\n\ - strb r0, [r5]\n\ - adds r1, r4, 0\n\ - adds r1, 0xD\n\ - adds r0, r7, 0\n\ - mov r2, sp\n\ - bl SetBoxMonData\n\ - adds r1, r6, 0\n\ - adds r1, 0xD\n\ - adds r0, r7, 0\n\ - ldr r2, [sp, 0x1C]\n\ - bl SetBoxMonData\n\ - adds r4, 0x11\n\ - adds r0, r7, 0\n\ - adds r1, r4, 0\n\ - ldr r2, [sp, 0x20]\n\ - bl SetBoxMonData\n\ - adds r6, 0x11\n\ - adds r0, r7, 0\n\ - adds r1, r6, 0\n\ - ldr r2, [sp, 0x24]\n\ - bl SetBoxMonData\n\ - adds r0, r7, 0\n\ - movs r1, 0x15\n\ - adds r2, r5, 0\n\ - bl SetBoxMonData\n\ - mov r0, sp\n\ - ldrh r0, [r0]\n\ - ldr r1, [sp, 0x8]\n\ - strh r0, [r1]\n\ - ldr r3, [sp, 0x1C]\n\ - ldrh r0, [r3]\n\ - ldr r1, [sp, 0xC]\n\ - strh r0, [r1]\n\ - ldr r3, [sp, 0x20]\n\ - ldrb r0, [r3]\n\ - ldr r1, [sp, 0x10]\n\ - strb r0, [r1]\n\ - ldr r3, [sp, 0x24]\n\ - ldrb r0, [r3]\n\ - ldr r1, [sp, 0x14]\n\ - strb r0, [r1]\n\ - ldrb r0, [r5]\n\ - ldr r3, [sp, 0x18]\n\ - strb r0, [r3]\n\ - add sp, 0x28\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\n"); -} -#endif - -void sub_81C171C(u8 taskId) +static void sub_81C171C(u8 taskId) { sub_81C44F0(); sub_81C4AF8(8); gTasks[taskId].func = sub_81C174C; } -void sub_81C174C(u8 taskId) +static void sub_81C174C(u8 taskId) { s16* data = gTasks[taskId].data; @@ -2167,12 +1814,12 @@ void sub_81C174C(u8 taskId) if (gMain.newKeys & DPAD_UP) { data[0] = 4; - sub_81C1070(data, -1, &gUnknown_0203CF1C->firstMoveIndex); + sub_81C1070(data, -1, &pssData->firstMoveIndex); } else if (gMain.newKeys & DPAD_DOWN) { data[0] = 4; - sub_81C1070(data, 1, &gUnknown_0203CF1C->firstMoveIndex); + sub_81C1070(data, 1, &pssData->firstMoveIndex); } else if (gMain.newKeys & DPAD_LEFT || GetLRKeysState() == 1) { @@ -2188,7 +1835,7 @@ void sub_81C174C(u8 taskId) { sub_81C48F0(); PlaySE(SE_SELECT); - gUnknown_0203CF21 = gUnknown_0203CF1C->firstMoveIndex; + gUnknown_0203CF21 = pssData->firstMoveIndex; gSpecialVar_0x8005 = gUnknown_0203CF21; sub_81C044C(taskId); } @@ -2211,26 +1858,26 @@ void sub_81C174C(u8 taskId) } } -bool8 sub_81C18A8(void) +static bool8 sub_81C18A8(void) { - if (gUnknown_0203CF1C->firstMoveIndex == MAX_MON_MOVES || gUnknown_0203CF1C->newMove == MOVE_NONE || sub_81B6D14(gUnknown_0203CF1C->summary.moves[gUnknown_0203CF1C->firstMoveIndex]) != 1) + if (pssData->firstMoveIndex == MAX_MON_MOVES || pssData->newMove == MOVE_NONE || sub_81B6D14(pssData->summary.moves[pssData->firstMoveIndex]) != 1) return TRUE; else return FALSE; } -void sub_81C18F4(u8 taskId) +static void sub_81C18F4(u8 taskId) { ClearWindowTilemap(14); ClearWindowTilemap(15); schedule_bg_copy_tilemap_to_vram(0); sub_81C1DA4(0, 3); sub_81C1EFC(0, 3, 0); - sub_81C4154(); + PrintHMMovesCantBeForgotten(); gTasks[taskId].func = sub_81C1940; } -void sub_81C1940(u8 taskId) +static void sub_81C1940(u8 taskId) { s16* data = gTasks[taskId].data; u16 move; @@ -2240,7 +1887,7 @@ void sub_81C1940(u8 taskId) { data[1] = 1; data[0] = 4; - sub_81C1070(&data[0], -1, &gUnknown_0203CF1C->firstMoveIndex); + sub_81C1070(&data[0], -1, &pssData->firstMoveIndex); data[1] = 0; gTasks[taskId].func = sub_81C174C; } @@ -2248,18 +1895,18 @@ void sub_81C1940(u8 taskId) { data[1] = 1; data[0] = 4; - sub_81C1070(&data[0], 1, &gUnknown_0203CF1C->firstMoveIndex); + sub_81C1070(&data[0], 1, &pssData->firstMoveIndex); data[1] = 0; gTasks[taskId].func = sub_81C174C; } else if (gMain.newKeys & DPAD_LEFT || GetLRKeysState() == 1) { - if (gUnknown_0203CF1C->currPageIndex != 2) + if (pssData->currPageIndex != 2) { ClearWindowTilemap(19); - if (!gSprites[gUnknown_0203CF1C->spriteIds[2]].invisible) + if (!gSprites[pssData->spriteIds[2]].invisible) ClearWindowTilemap(13); - move = gUnknown_0203CF1C->summary.moves[gUnknown_0203CF1C->firstMoveIndex]; + move = pssData->summary.moves[pssData->firstMoveIndex]; gTasks[taskId].func = sub_81C174C; sub_81C0A8C(taskId, -1); sub_81C1DA4(9, -2); @@ -2268,12 +1915,12 @@ void sub_81C1940(u8 taskId) } else if (gMain.newKeys & DPAD_RIGHT || GetLRKeysState() == 2) { - if (gUnknown_0203CF1C->currPageIndex != 3) + if (pssData->currPageIndex != 3) { ClearWindowTilemap(19); - if (!gSprites[gUnknown_0203CF1C->spriteIds[2]].invisible) + if (!gSprites[pssData->spriteIds[2]].invisible) ClearWindowTilemap(13); - move = gUnknown_0203CF1C->summary.moves[gUnknown_0203CF1C->firstMoveIndex]; + move = pssData->summary.moves[pssData->firstMoveIndex]; gTasks[taskId].func = sub_81C174C; sub_81C0A8C(taskId, 1); sub_81C1DA4(9, -2); @@ -2283,9 +1930,9 @@ void sub_81C1940(u8 taskId) else if (gMain.newKeys & (A_BUTTON | B_BUTTON)) { ClearWindowTilemap(19); - if (!gSprites[gUnknown_0203CF1C->spriteIds[2]].invisible) + if (!gSprites[pssData->spriteIds[2]].invisible) ClearWindowTilemap(13); - move = gUnknown_0203CF1C->summary.moves[gUnknown_0203CF1C->firstMoveIndex]; + move = pssData->summary.moves[pssData->firstMoveIndex]; PrintMoveDetails(move); schedule_bg_copy_tilemap_to_vram(0); sub_81C1DA4(9, -3); @@ -2300,64 +1947,66 @@ u8 sub_81C1B94(void) return gUnknown_0203CF21; } -void sub_81C1BA0(void) +static void sub_81C1BA0(void) { u16 *alloced = Alloc(32); u8 i; + for (i = 0; i < 4; i++) { - u8 j = i << 1; - if (i < gUnknown_0203CF1C->minPageIndex) + u8 j = i * 2; + + if (i < pssData->minPageIndex) { - alloced[j+0] = 0x40; - alloced[j+1] = 0x40; - alloced[j+8] = 0x50; - alloced[j+9] = 0x50; + alloced[j + 0] = 0x40; + alloced[j + 1] = 0x40; + alloced[j + 8] = 0x50; + alloced[j + 9] = 0x50; } - else if (i > gUnknown_0203CF1C->maxPageIndex) + else if (i > pssData->maxPageIndex) { - alloced[j+0] = 0x4A; - alloced[j+1] = 0x4A; - alloced[j+8] = 0x5A; - alloced[j+9] = 0x5A; + alloced[j + 0] = 0x4A; + alloced[j + 1] = 0x4A; + alloced[j + 8] = 0x5A; + alloced[j + 9] = 0x5A; } - else if (i < gUnknown_0203CF1C->currPageIndex) + else if (i < pssData->currPageIndex) { - alloced[j+0] = 0x46; - alloced[j+1] = 0x47; - alloced[j+8] = 0x56; - alloced[j+9] = 0x57; + alloced[j + 0] = 0x46; + alloced[j + 1] = 0x47; + alloced[j + 8] = 0x56; + alloced[j + 9] = 0x57; } - else if (i == gUnknown_0203CF1C->currPageIndex) + else if (i == pssData->currPageIndex) { - if (i != gUnknown_0203CF1C->maxPageIndex) + if (i != pssData->maxPageIndex) { - alloced[j+0] = 0x41; - alloced[j+1] = 0x42; - alloced[j+8] = 0x51; - alloced[j+9] = 0x52; + alloced[j + 0] = 0x41; + alloced[j + 1] = 0x42; + alloced[j + 8] = 0x51; + alloced[j + 9] = 0x52; } else { - alloced[j+0] = 0x4B; - alloced[j+1] = 0x4C; - alloced[j+8] = 0x5B; - alloced[j+9] = 0x5C; + alloced[j + 0] = 0x4B; + alloced[j + 1] = 0x4C; + alloced[j + 8] = 0x5B; + alloced[j + 9] = 0x5C; } } - else if (i != gUnknown_0203CF1C->maxPageIndex) + else if (i != pssData->maxPageIndex) { - alloced[j+0] = 0x43; - alloced[j+1] = 0x44; - alloced[j+8] = 0x53; - alloced[j+9] = 0x54; + alloced[j + 0] = 0x43; + alloced[j + 1] = 0x44; + alloced[j + 8] = 0x53; + alloced[j + 9] = 0x54; } else { - alloced[j+0] = 0x48; - alloced[j+1] = 0x49; - alloced[j+8] = 0x58; - alloced[j+9] = 0x59; + alloced[j + 0] = 0x48; + alloced[j + 1] = 0x49; + alloced[j + 8] = 0x58; + alloced[j + 9] = 0x59; } } CopyToBgTilemapBufferRect_ChangePalette(3, alloced, 11, 0, 8, 2, 16); @@ -2365,7 +2014,7 @@ void sub_81C1BA0(void) Free(alloced); } -void sub_81C1CB0(const struct UnkStruct_61CC04 *unkStruct, u16 *dest, u8 c, bool8 d) +static void sub_81C1CB0(const struct UnkStruct_61CC04 *unkStruct, u16 *dest, u8 c, bool8 d) { u16 i; u16 *alloced = Alloc(unkStruct->field_6 * 2 * unkStruct->field_7); @@ -2394,13 +2043,13 @@ void sub_81C1CB0(const struct UnkStruct_61CC04 *unkStruct, u16 *dest, u8 c, bool Free(alloced); } -void sub_81C1DA4(u16 a, s16 b) +static void sub_81C1DA4(u16 a, s16 b) { if (b > gUnknown_0861CC04.field_6) b = gUnknown_0861CC04.field_6; if (b == 0 || b == gUnknown_0861CC04.field_6) { - sub_81C1CB0(&gUnknown_0861CC04, gUnknown_0203CF1C->bgTilemapBuffers[PSS_PAGE_BATTLE_MOVES][0], b, 1); + sub_81C1CB0(&gUnknown_0861CC04, pssData->bgTilemapBuffers[PSS_PAGE_BATTLE_MOVES][0], b, 1); } else { @@ -2414,7 +2063,7 @@ void sub_81C1DA4(u16 a, s16 b) } } -void sub_81C1E20(u8 taskId) +static void sub_81C1E20(u8 taskId) { s16 *data = gTasks[taskId].data; data[1] += data[0]; @@ -2426,17 +2075,17 @@ void sub_81C1E20(u8 taskId) { data[1] = gUnknown_0861CC04.field_6; } - sub_81C1CB0(&gUnknown_0861CC04, gUnknown_0203CF1C->bgTilemapBuffers[PSS_PAGE_BATTLE_MOVES][0], data[1], 1); + sub_81C1CB0(&gUnknown_0861CC04, pssData->bgTilemapBuffers[PSS_PAGE_BATTLE_MOVES][0], data[1], 1); if (data[1] <= 0 || data[1] >= gUnknown_0861CC04.field_6) { if (data[0] < 0) { - if (gUnknown_0203CF1C->currPageIndex == 2) + if (pssData->currPageIndex == 2) PutWindowTilemap(14); } else { - if (!gSprites[gUnknown_0203CF1C->spriteIds[2]].invisible) + if (!gSprites[pssData->spriteIds[2]].invisible) PutWindowTilemap(13); PutWindowTilemap(19); } @@ -2447,12 +2096,12 @@ void sub_81C1E20(u8 taskId) schedule_bg_copy_tilemap_to_vram(2); } -void sub_81C1EFC(u16 a, s16 b, u16 move) +static void sub_81C1EFC(u16 a, s16 b, u16 move) { if (b > gUnknown_0861CC10.field_6) b = gUnknown_0861CC10.field_6; if (b == 0 || b == gUnknown_0861CC10.field_6) - sub_81C1CB0(&gUnknown_0861CC10, gUnknown_0203CF1C->bgTilemapBuffers[PSS_PAGE_CONTEST_MOVES][0], b, 1); + sub_81C1CB0(&gUnknown_0861CC10, pssData->bgTilemapBuffers[PSS_PAGE_CONTEST_MOVES][0], b, 1); else { u8 taskId = FindTaskIdByFunc(sub_81C1F80); @@ -2464,7 +2113,7 @@ void sub_81C1EFC(u16 a, s16 b, u16 move) } } -void sub_81C1F80(u8 taskId) +static void sub_81C1F80(u8 taskId) { s16 *data = gTasks[taskId].data; data[1] += data[0]; @@ -2476,18 +2125,18 @@ void sub_81C1F80(u8 taskId) { data[1] = gUnknown_0861CC10.field_6; } - sub_81C1CB0(&gUnknown_0861CC10, gUnknown_0203CF1C->bgTilemapBuffers[PSS_PAGE_CONTEST_MOVES][0], data[1], 1); + sub_81C1CB0(&gUnknown_0861CC10, pssData->bgTilemapBuffers[PSS_PAGE_CONTEST_MOVES][0], data[1], 1); if (data[1] <= 0 || data[1] >= gUnknown_0861CC10.field_6) { if (data[0] < 0) { - if (gUnknown_0203CF1C->currPageIndex == 3 && FuncIsActiveTask(sub_81C0B8C) == 0) + if (pssData->currPageIndex == 3 && FuncIsActiveTask(sub_81C0B8C) == 0) PutWindowTilemap(15); sub_81C240C(data[2]); } else { - if (!gSprites[gUnknown_0203CF1C->spriteIds[2]].invisible) + if (!gSprites[pssData->spriteIds[2]].invisible) { PutWindowTilemap(13); } @@ -2500,14 +2149,14 @@ void sub_81C1F80(u8 taskId) schedule_bg_copy_tilemap_to_vram(2); } -void sub_81C2074(u16 a, s16 b) +static void sub_81C2074(u16 a, s16 b) { if (b > gUnknown_0861CBEC.field_6) b = gUnknown_0861CBEC.field_6; if (b == 0 || b == gUnknown_0861CBEC.field_6) { - sub_81C1CB0(&gUnknown_0861CBEC, gUnknown_0203CF1C->bgTilemapBuffers[PSS_PAGE_INFO][0], b, 0); - sub_81C1CB0(&gUnknown_0861CBF8, gUnknown_0203CF1C->bgTilemapBuffers[PSS_PAGE_INFO][0], b, 0); + sub_81C1CB0(&gUnknown_0861CBEC, pssData->bgTilemapBuffers[PSS_PAGE_INFO][0], b, 0); + sub_81C1CB0(&gUnknown_0861CBF8, pssData->bgTilemapBuffers[PSS_PAGE_INFO][0], b, 0); } else { @@ -2517,7 +2166,7 @@ void sub_81C2074(u16 a, s16 b) } } -void sub_81C20F0(u8 taskId) +static void sub_81C20F0(u8 taskId) { s16 *data = gTasks[taskId].data; data[1] += data[0]; @@ -2525,8 +2174,8 @@ void sub_81C20F0(u8 taskId) data[1] = 0; else if (data[1] > gUnknown_0861CBEC.field_6) data[1] = gUnknown_0861CBEC.field_6; - sub_81C1CB0(&gUnknown_0861CBEC, gUnknown_0203CF1C->bgTilemapBuffers[PSS_PAGE_INFO][0], data[1], 0); - sub_81C1CB0(&gUnknown_0861CBF8, gUnknown_0203CF1C->bgTilemapBuffers[PSS_PAGE_INFO][0], data[1], 0); + sub_81C1CB0(&gUnknown_0861CBEC, pssData->bgTilemapBuffers[PSS_PAGE_INFO][0], data[1], 0); + sub_81C1CB0(&gUnknown_0861CBF8, pssData->bgTilemapBuffers[PSS_PAGE_INFO][0], data[1], 0); schedule_bg_copy_tilemap_to_vram(3); if (data[1] <= 0 || data[1] >= gUnknown_0861CBEC.field_6) { @@ -2540,11 +2189,12 @@ void sub_81C20F0(u8 taskId) } } -void sub_81C2194(u16 *output, u16 palette, bool8 c) +static void sub_81C2194(u16 *output, u16 palette, bool8 c) { u16 i; u32 var; - palette <<= 12; + + palette *= 0x1000; var = 0x56A; if (c == 0) @@ -2567,22 +2217,22 @@ void sub_81C2194(u16 *output, u16 palette, bool8 c) } } -void sub_81C2228(struct Pokemon *mon) +static void sub_81C2228(struct Pokemon *mon) { if (!CheckPartyPokerus(mon, 0) && CheckPartyHasHadPokerus(mon, 0)) { - gUnknown_0203CF1C->bgTilemapBuffers[PSS_PAGE_INFO][0][0x223] = 0x2C; - gUnknown_0203CF1C->bgTilemapBuffers[PSS_PAGE_INFO][1][0x223] = 0x2C; + pssData->bgTilemapBuffers[PSS_PAGE_INFO][0][0x223] = 0x2C; + pssData->bgTilemapBuffers[PSS_PAGE_INFO][1][0x223] = 0x2C; } else { - gUnknown_0203CF1C->bgTilemapBuffers[PSS_PAGE_INFO][0][0x223] = 0x81A; - gUnknown_0203CF1C->bgTilemapBuffers[PSS_PAGE_INFO][1][0x223] = 0x81A; + pssData->bgTilemapBuffers[PSS_PAGE_INFO][0][0x223] = 0x81A; + pssData->bgTilemapBuffers[PSS_PAGE_INFO][1][0x223] = 0x81A; } schedule_bg_copy_tilemap_to_vram(3); } -void sub_81C228C(bool8 isMonShiny) +static void sub_81C228C(bool8 isMonShiny) { if (!isMonShiny) sub_8199C30(3, 1, 4, 8, 8, 0); @@ -2591,10 +2241,10 @@ void sub_81C228C(bool8 isMonShiny) schedule_bg_copy_tilemap_to_vram(3); } -void sub_81C22CC(struct Pokemon *unused) +static void sub_81C22CC(struct Pokemon *unused) { s64 r6r7; - struct PokeSummary *summary = &gUnknown_0203CF1C->summary; + struct PokeSummary *summary = &pssData->summary; u16 *r9; u8 i; @@ -2612,7 +2262,7 @@ void sub_81C22CC(struct Pokemon *unused) r6r7 = 0; } - r9 = &gUnknown_0203CF1C->bgTilemapBuffers[PSS_PAGE_SKILLS][1][0x255]; + r9 = &pssData->bgTilemapBuffers[PSS_PAGE_SKILLS][1][0x255]; for (i = 0; i < 8; i++) { if (r6r7 > 7) @@ -2624,15 +2274,15 @@ void sub_81C22CC(struct Pokemon *unused) r6r7 = 0; } - if (GetBgTilemapBuffer(1) == gUnknown_0203CF1C->bgTilemapBuffers[PSS_PAGE_SKILLS][0]) + if (GetBgTilemapBuffer(1) == pssData->bgTilemapBuffers[PSS_PAGE_SKILLS][0]) schedule_bg_copy_tilemap_to_vram(1); else schedule_bg_copy_tilemap_to_vram(2); } -void sub_81C240C(u16 move) +static void sub_81C240C(u16 move) { - u16 *tilemap = gUnknown_0203CF1C->bgTilemapBuffers[PSS_PAGE_CONTEST_MOVES][1]; + u16 *tilemap = pssData->bgTilemapBuffers[PSS_PAGE_CONTEST_MOVES][1]; u8 i; u8 effectValue; @@ -2674,15 +2324,15 @@ void sub_81C240C(u16 move) } } -void sub_81C2524(void) +static void sub_81C2524(void) { - if (gUnknown_0203CF1C->summary.isEgg) + if (pssData->summary.isEgg) ChangeBgX(3, 0x10000, 0); else ChangeBgX(3, 0, 0); } -void sub_81C2554(void) +static void sub_81C2554(void) { u8 i; InitWindows(gUnknown_0861CC24); @@ -2694,7 +2344,7 @@ void sub_81C2554(void) } for (i = 0; i < 8; i++) { - gUnknown_0203CF1C->windowIds[i] = 0xFF; + pssData->windowIds[i] = 0xFF; } } @@ -2703,23 +2353,23 @@ static void SummaryScreen_PrintTextOnWindow(u8 windowId, const u8 *string, u8 x, AddTextPrinterParameterized2(windowId, 1, x, y, 0, lineSpacing, sTextColors_861CD2C[colorId], 0, string); } -void sub_81C25E8(void) +static void sub_81C25E8(void) { FillWindowPixelBuffer(17, 0); FillWindowPixelBuffer(18, 0); FillWindowPixelBuffer(19, 0); - if (!gUnknown_0203CF1C->summary.isEgg) + if (!pssData->summary.isEgg) sub_81C2628(); else sub_81C2794(); schedule_bg_copy_tilemap_to_vram(0); } -void sub_81C2628(void) +static void sub_81C2628(void) { u8 strArray[16]; - struct Pokemon *mon = &gUnknown_0203CF1C->currentMon; - struct PokeSummary *summary = &gUnknown_0203CF1C->summary; + struct Pokemon *mon = &pssData->currentMon; + struct PokeSummary *summary = &pssData->summary; u16 dexNum = SpeciesToPokedexNum(summary->species); if (dexNum != 0xFFFF) { @@ -2760,38 +2410,38 @@ void sub_81C2628(void) PutWindowTilemap(19); } -void sub_81C2794(void) +static void sub_81C2794(void) { - GetMonNickname(&gUnknown_0203CF1C->currentMon, gStringVar1); + GetMonNickname(&pssData->currentMon, gStringVar1); SummaryScreen_PrintTextOnWindow(18, gStringVar1, 0, 1, 0, 1); PutWindowTilemap(18); ClearWindowTilemap(17); ClearWindowTilemap(19); } -void sub_81C27DC(struct Pokemon *mon, u16 a) +static void sub_81C27DC(struct Pokemon *mon, u16 species) { - if (a != SPECIES_NIDORAN_M && a != SPECIES_NIDORAN_F) + if (species != SPECIES_NIDORAN_M && species != SPECIES_NIDORAN_F) { u8 gender = GetMonGender(mon); switch (gender) { case MON_MALE: - SummaryScreen_PrintTextOnWindow(19, &gText_MaleSymbol[0], 57, 17, 0, 3); + SummaryScreen_PrintTextOnWindow(19, gText_MaleSymbol, 57, 17, 0, 3); break; case MON_FEMALE: - SummaryScreen_PrintTextOnWindow(19, &gText_FemaleSymbol[0], 57, 17, 0, 4); + SummaryScreen_PrintTextOnWindow(19, gText_FemaleSymbol, 57, 17, 0, 4); break; } } } -void PrintAOrBButtonIcon(u8 windowId, bool8 bButton, u32 x) +static void PrintAOrBButtonIcon(u8 windowId, bool8 bButton, u32 x) { BlitBitmapToWindow(windowId, (bButton) ? gUnknown_0861CDD3 : gUnknown_0861CDD3 - 0x80, x, 0, 16, 16); } -static void PrintPageNamesAndStatsPage(void) +static void PrintPageNamesAndStatsPageToWindows(void) { int stringXPos; int iconXPos; @@ -2846,7 +2496,7 @@ static void PrintPageNamesAndStatsPage(void) SummaryScreen_PrintTextOnWindow(15, gText_Jam, 0, 17, 0, 1); } -void sub_81C2AFC(u8 a) +static void sub_81C2AFC(u8 a) { u8 i; @@ -2872,9 +2522,9 @@ void sub_81C2AFC(u8 a) break; case 2: PutWindowTilemap(2); - if (gUnknown_0203CF1C->mode == PSS_MODE_SELECT_MOVE) + if (pssData->mode == PSS_MODE_SELECT_MOVE) { - if (gUnknown_0203CF1C->newMove != MOVE_NONE || gUnknown_0203CF1C->firstMoveIndex != MAX_MON_MOVES) + if (pssData->newMove != MOVE_NONE || pssData->firstMoveIndex != MAX_MON_MOVES) PutWindowTilemap(14); } else @@ -2884,9 +2534,9 @@ void sub_81C2AFC(u8 a) break; case 3: PutWindowTilemap(3); - if (gUnknown_0203CF1C->mode == PSS_MODE_SELECT_MOVE) + if (pssData->mode == PSS_MODE_SELECT_MOVE) { - if (gUnknown_0203CF1C->newMove != MOVE_NONE || gUnknown_0203CF1C->firstMoveIndex != MAX_MON_MOVES) + if (pssData->newMove != MOVE_NONE || pssData->firstMoveIndex != MAX_MON_MOVES) PutWindowTilemap(15); } else @@ -2898,13 +2548,13 @@ void sub_81C2AFC(u8 a) for (i = 0; i < 8; i++) { - PutWindowTilemap(gUnknown_0203CF1C->windowIds[i]); + PutWindowTilemap(pssData->windowIds[i]); } schedule_bg_copy_tilemap_to_vram(0); } -void sub_81C2C38(u8 a) +static void sub_81C2C38(u8 a) { u8 i; switch (a) @@ -2921,9 +2571,9 @@ void sub_81C2C38(u8 a) ClearWindowTilemap(12); break; case 2: - if (gUnknown_0203CF1C->mode == PSS_MODE_SELECT_MOVE) + if (pssData->mode == PSS_MODE_SELECT_MOVE) { - if (gUnknown_0203CF1C->newMove != MOVE_NONE || gUnknown_0203CF1C->firstMoveIndex != MAX_MON_MOVES) + if (pssData->newMove != MOVE_NONE || pssData->firstMoveIndex != MAX_MON_MOVES) ClearWindowTilemap(14); } else @@ -2932,9 +2582,9 @@ void sub_81C2C38(u8 a) } break; case 3: - if (gUnknown_0203CF1C->mode == PSS_MODE_SELECT_MOVE) + if (pssData->mode == PSS_MODE_SELECT_MOVE) { - if (gUnknown_0203CF1C->newMove != MOVE_NONE || gUnknown_0203CF1C->firstMoveIndex != MAX_MON_MOVES) + if (pssData->newMove != MOVE_NONE || pssData->firstMoveIndex != MAX_MON_MOVES) ClearWindowTilemap(15); } else @@ -2952,9 +2602,9 @@ void sub_81C2C38(u8 a) schedule_bg_copy_tilemap_to_vram(0); } -u8 AddWindowFromTemplateList(const struct WindowTemplate *template, u8 templateId) +static u8 AddWindowFromTemplateList(const struct WindowTemplate *template, u8 templateId) { - u8 *windowIdPtr = &(gUnknown_0203CF1C->windowIds[templateId]); + u8 *windowIdPtr = &(pssData->windowIds[templateId]); if (*windowIdPtr == 0xFF) { *windowIdPtr = AddWindow(&template[templateId]); @@ -2963,9 +2613,9 @@ u8 AddWindowFromTemplateList(const struct WindowTemplate *template, u8 templateI return *windowIdPtr; } -void SummaryScreen_RemoveWindowByIndex(u8 windowIndex) +static void SummaryScreen_RemoveWindowByIndex(u8 windowIndex) { - u8 *windowIdPtr = &(gUnknown_0203CF1C->windowIds[windowIndex]); + u8 *windowIdPtr = &(pssData->windowIds[windowIndex]); if (*windowIdPtr != 0xFF) { ClearWindowTilemap(*windowIdPtr); @@ -2974,25 +2624,25 @@ void SummaryScreen_RemoveWindowByIndex(u8 windowIndex) } } -void sub_81C2D9C(u8 pageIndex) +static void sub_81C2D9C(u8 pageIndex) { u16 i; for (i = 0; i < 8; i++) { - if (gUnknown_0203CF1C->windowIds[i] != 0xFF) - FillWindowPixelBuffer(gUnknown_0203CF1C->windowIds[i], 0); + if (pssData->windowIds[i] != 0xFF) + FillWindowPixelBuffer(pssData->windowIds[i], 0); } gUnknown_0861CE54[pageIndex](); } -void sub_81C2DE4(u8 pageIndex) +static void sub_81C2DE4(u8 pageIndex) { CreateTask(gUnknown_0861CE64[pageIndex], 16); } -void sub_81C2E00(void) +static void sub_81C2E00(void) { - if (gUnknown_0203CF1C->summary.isEgg) + if (pssData->summary.isEgg) { PrintEggOTName(); PrintEggOTID(); @@ -3010,7 +2660,7 @@ void sub_81C2E00(void) } } -void sub_81C2E40(u8 taskId) +static void sub_81C2E40(u8 taskId) { s16 *data = gTasks[taskId].data; switch (data[0]) @@ -3040,7 +2690,7 @@ void sub_81C2E40(u8 taskId) data[0]++; } -void PrintMonOTName(void) +static void PrintMonOTName(void) { u8 windowId; int x; @@ -3049,39 +2699,39 @@ void PrintMonOTName(void) windowId = AddWindowFromTemplateList(gUnknown_0861CCCC, 0); SummaryScreen_PrintTextOnWindow(windowId, gText_OTSlash, 0, 1, 0, 1); x = GetStringWidth(1, gText_OTSlash, 0); - if (gUnknown_0203CF1C->summary.OTGender == 0) - SummaryScreen_PrintTextOnWindow(windowId, gUnknown_0203CF1C->summary.OTName, x, 1, 0, 5); + if (pssData->summary.OTGender == 0) + SummaryScreen_PrintTextOnWindow(windowId, pssData->summary.OTName, x, 1, 0, 5); else - SummaryScreen_PrintTextOnWindow(windowId, gUnknown_0203CF1C->summary.OTName, x, 1, 0, 6); + SummaryScreen_PrintTextOnWindow(windowId, pssData->summary.OTName, x, 1, 0, 6); } } -void PrintMonOTID(void) +static void PrintMonOTID(void) { int xPos; if (sub_81A6BF4() != TRUE && sub_81B9E94() != TRUE) { - ConvertIntToDecimalStringN(StringCopy(gStringVar1, gText_UnkCtrlF907F908), (u16)gUnknown_0203CF1C->summary.OTID, 2, 5); + ConvertIntToDecimalStringN(StringCopy(gStringVar1, gText_UnkCtrlF907F908), (u16)pssData->summary.OTID, 2, 5); xPos = GetStringRightAlignXOffset(1, gStringVar1, 56); SummaryScreen_PrintTextOnWindow(AddWindowFromTemplateList(gUnknown_0861CCCC, 1), gStringVar1, xPos, 1, 0, 1); } } -void PrintMonAbilityName(void) +static void PrintMonAbilityName(void) { - u8 ability = GetAbilityBySpecies(gUnknown_0203CF1C->summary.species, gUnknown_0203CF1C->summary.altAbility); + u8 ability = GetAbilityBySpecies(pssData->summary.species, pssData->summary.altAbility); SummaryScreen_PrintTextOnWindow(AddWindowFromTemplateList(gUnknown_0861CCCC, 2), gAbilityNames[ability], 0, 1, 0, 1); } -void PrintMonAbilityDescription(void) +static void PrintMonAbilityDescription(void) { - u8 ability = GetAbilityBySpecies(gUnknown_0203CF1C->summary.species, gUnknown_0203CF1C->summary.altAbility); + u8 ability = GetAbilityBySpecies(pssData->summary.species, pssData->summary.altAbility); SummaryScreen_PrintTextOnWindow(AddWindowFromTemplateList(gUnknown_0861CCCC, 2), gAbilityDescriptionPointers[ability], 0, 17, 0, 0); } -void BufferMonTrainerMemo(void) +static void BufferMonTrainerMemo(void) { - struct PokeSummary *sum = &gUnknown_0203CF1C->summary; + struct PokeSummary *sum = &pssData->summary; const u8 *text; DynamicPlaceholderTextUtil_Reset(); @@ -3116,7 +2766,7 @@ void BufferMonTrainerMemo(void) { text = gText_XNatureFatefulEncounter; } - else if (sum->metLocation != MAPSEC_IN_GAME_TRADE && MonCameFromGBAGames()) + else if (sum->metLocation != MAPSEC_IN_GAME_TRADE && DidMonComeFromGBAGames()) { text = (sum->metLocation >= MAPSEC_NONE) ? gText_XNatureObtainedInTrade : gText_XNatureProbablyMetAt; } @@ -3131,34 +2781,34 @@ void BufferMonTrainerMemo(void) } } -void PrintMonTrainerMemo(void) +static void PrintMonTrainerMemo(void) { SummaryScreen_PrintTextOnWindow(AddWindowFromTemplateList(gUnknown_0861CCCC, 3), gStringVar4, 0, 1, 0, 0); } -void BufferNatureString(void) +static void BufferNatureString(void) { - struct UnkSummaryStruct *sumStruct = gUnknown_0203CF1C; + struct UnkSummaryStruct *sumStruct = pssData; DynamicPlaceholderTextUtil_SetPlaceholderPtr(2, gNatureNamePointers[sumStruct->summary.nature]); DynamicPlaceholderTextUtil_SetPlaceholderPtr(5, gText_EmptyString5); } -void GetMetLevelString(u8 *output) +static void GetMetLevelString(u8 *output) { - u8 level = gUnknown_0203CF1C->summary.metLevel; + u8 level = pssData->summary.metLevel; if (level == 0) level = EGG_HATCH_LEVEL; ConvertIntToDecimalStringN(output, level, 0, 3); DynamicPlaceholderTextUtil_SetPlaceholderPtr(3, output); } -bool8 DoesMonOTMatchOwner(void) +static bool8 DoesMonOTMatchOwner(void) { - struct PokeSummary *sum = &gUnknown_0203CF1C->summary; + struct PokeSummary *sum = &pssData->summary; u32 trainerId; u8 gender; - if (gUnknown_0203CF1C->monList.mons == gEnemyParty) + if (pssData->monList.mons == gEnemyParty) { u8 multiID = GetMultiplayerId() ^ 1; trainerId = (u16)gLinkPlayers[multiID].trainerId; @@ -3178,33 +2828,33 @@ bool8 DoesMonOTMatchOwner(void) return TRUE; } -bool8 MonCameFromGBAGames(void) +static bool8 DidMonComeFromGBAGames(void) { - struct PokeSummary *sum = &gUnknown_0203CF1C->summary; + struct PokeSummary *sum = &pssData->summary; if (sum->metGame > 0 && sum->metGame <= VERSION_LEAF_GREEN) return TRUE; return FALSE; } -bool8 MonCameFromRSE(void) +bool8 DidMonComeFromRSE(void) { - struct PokeSummary *sum = &gUnknown_0203CF1C->summary; + struct PokeSummary *sum = &pssData->summary; if (sum->metGame > 0 && sum->metGame <= VERSION_EMERALD) return TRUE; return FALSE; } -bool8 IsInGamePartnerMon(void) +static bool8 IsInGamePartnerMon(void) { if ((gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER) && gMain.inBattle) { - if (gUnknown_0203CF1C->curMonIndex == 1 || gUnknown_0203CF1C->curMonIndex == 4 || gUnknown_0203CF1C->curMonIndex == 5) + if (pssData->curMonIndex == 1 || pssData->curMonIndex == 4 || pssData->curMonIndex == 5) return TRUE; } return FALSE; } -void PrintEggOTName(void) +static void PrintEggOTName(void) { u32 windowId = AddWindowFromTemplateList(gUnknown_0861CCCC, 0); u32 width = GetStringWidth(1, gText_OTSlash, 0); @@ -3212,7 +2862,7 @@ void PrintEggOTName(void) SummaryScreen_PrintTextOnWindow(windowId, gText_FiveMarks, width, 1, 0, 1); } -void PrintEggOTID(void) +static void PrintEggOTID(void) { int x; StringCopy(gStringVar1, gText_UnkCtrlF907F908); @@ -3221,12 +2871,12 @@ void PrintEggOTID(void) SummaryScreen_PrintTextOnWindow(AddWindowFromTemplateList(gUnknown_0861CCCC, 1), gStringVar1, x, 1, 0, 1); } -void PrintEggState(void) +static void PrintEggState(void) { const u8 *text; - struct PokeSummary *sum = &gUnknown_0203CF1C->summary; + struct PokeSummary *sum = &pssData->summary; - if (gUnknown_0203CF1C->summary.sanity == TRUE) + if (pssData->summary.sanity == TRUE) text = gText_EggWillTakeALongTime; else if (sum->friendship <= 5) text = gText_EggAboutToHatch; @@ -3240,19 +2890,19 @@ void PrintEggState(void) SummaryScreen_PrintTextOnWindow(AddWindowFromTemplateList(gUnknown_0861CCCC, 2), text, 0, 1, 0, 0); } -void PrintEggMemo(void) +static void PrintEggMemo(void) { const u8 *text; - struct PokeSummary *sum = &gUnknown_0203CF1C->summary; + struct PokeSummary *sum = &pssData->summary; - if (gUnknown_0203CF1C->summary.sanity != 1) + if (pssData->summary.sanity != 1) { if (sum->metLocation == MAPSEC_FATEFUL_ENCOUNTER) text = gText_PeculiarEggNicePlace; - else if (MonCameFromGBAGames() == FALSE || DoesMonOTMatchOwner() == FALSE) + else if (DidMonComeFromGBAGames() == FALSE || DoesMonOTMatchOwner() == FALSE) text = gText_PeculiarEggTrade; else if (sum->metLocation == MAPSEC_SPECIAL_EGG) - text = (MonCameFromRSE() == TRUE) ? gText_EggFromHotSprings : gText_EggFromTraveler; + text = (DidMonComeFromRSE() == TRUE) ? gText_EggFromHotSprings : gText_EggFromTraveler; else text = gText_OddEggFoundByCouple; } @@ -3264,7 +2914,7 @@ void PrintEggMemo(void) SummaryScreen_PrintTextOnWindow(AddWindowFromTemplateList(gUnknown_0861CCCC, 3), text, 0, 1, 0, 0); } -void sub_81C3530(void) +static void sub_81C3530(void) { PrintHeldItemName(); PrintRibbonCount(); @@ -3275,7 +2925,7 @@ void sub_81C3530(void) PrintExpPointsNextLevel(); } -void sub_81C3554(u8 taskId) +static void sub_81C3554(u8 taskId) { s16 *data = gTasks[taskId].data; @@ -3309,22 +2959,22 @@ void sub_81C3554(u8 taskId) data[0]++; } -void PrintHeldItemName(void) +static void PrintHeldItemName(void) { const u8 *text; int offset; - if (gUnknown_0203CF1C->summary.item == ITEM_ENIGMA_BERRY && sub_81B1250() == TRUE && (gUnknown_0203CF1C->curMonIndex == 1 || gUnknown_0203CF1C->curMonIndex == 4 || gUnknown_0203CF1C->curMonIndex == 5)) + if (pssData->summary.item == ITEM_ENIGMA_BERRY && sub_81B1250() == TRUE && (pssData->curMonIndex == 1 || pssData->curMonIndex == 4 || pssData->curMonIndex == 5)) { text = ItemId_GetName(ITEM_ENIGMA_BERRY); } - else if (gUnknown_0203CF1C->summary.item == ITEM_NONE) + else if (pssData->summary.item == ITEM_NONE) { text = gText_None; } else { - CopyItemName(gUnknown_0203CF1C->summary.item, gStringVar1); + CopyItemName(pssData->summary.item, gStringVar1); text = gStringVar1; } @@ -3332,18 +2982,18 @@ void PrintHeldItemName(void) SummaryScreen_PrintTextOnWindow(AddWindowFromTemplateList(gUnknown_0861CCEC, 0), text, offset, 1, 0, 0); } -void PrintRibbonCount(void) +static void PrintRibbonCount(void) { const u8 *text; int offset; - if (gUnknown_0203CF1C->summary.ribbonCount == 0) + if (pssData->summary.ribbonCount == 0) { text = gText_None; } else { - ConvertIntToDecimalStringN(gStringVar1, gUnknown_0203CF1C->summary.ribbonCount, 1, 2); + ConvertIntToDecimalStringN(gStringVar1, pssData->summary.ribbonCount, 1, 2); StringExpandPlaceholders(gStringVar4, gText_RibbonsVar1); text = gStringVar4; } @@ -3352,17 +3002,17 @@ void PrintRibbonCount(void) SummaryScreen_PrintTextOnWindow(AddWindowFromTemplateList(gUnknown_0861CCEC, 1), text, offset, 1, 0, 0); } -void BufferLeftColumnStats(void) +static void BufferLeftColumnStats(void) { u8 *currentHPString = Alloc(8); u8 *maxHPString = Alloc(8); u8 *attackString = Alloc(8); u8 *defenseString = Alloc(8); - ConvertIntToDecimalStringN(currentHPString, gUnknown_0203CF1C->summary.currentHP, 1, 3); - ConvertIntToDecimalStringN(maxHPString, gUnknown_0203CF1C->summary.maxHP, 1, 3); - ConvertIntToDecimalStringN(attackString, gUnknown_0203CF1C->summary.atk, 1, 7); - ConvertIntToDecimalStringN(defenseString, gUnknown_0203CF1C->summary.def, 1, 7); + ConvertIntToDecimalStringN(currentHPString, pssData->summary.currentHP, 1, 3); + ConvertIntToDecimalStringN(maxHPString, pssData->summary.maxHP, 1, 3); + ConvertIntToDecimalStringN(attackString, pssData->summary.atk, 1, 7); + ConvertIntToDecimalStringN(defenseString, pssData->summary.def, 1, 7); DynamicPlaceholderTextUtil_Reset(); DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, currentHPString); @@ -3377,16 +3027,16 @@ void BufferLeftColumnStats(void) Free(defenseString); } -void PrintLeftColumnStats(void) +static void PrintLeftColumnStats(void) { SummaryScreen_PrintTextOnWindow(AddWindowFromTemplateList(gUnknown_0861CCEC, 2), gStringVar4, 4, 1, 0, 0); } -void BufferRightColumnStats(void) +static void BufferRightColumnStats(void) { - ConvertIntToDecimalStringN(gStringVar1, gUnknown_0203CF1C->summary.spatk, 1, 3); - ConvertIntToDecimalStringN(gStringVar2, gUnknown_0203CF1C->summary.spdef, 1, 3); - ConvertIntToDecimalStringN(gStringVar3, gUnknown_0203CF1C->summary.speed, 1, 3); + ConvertIntToDecimalStringN(gStringVar1, pssData->summary.spatk, 1, 3); + ConvertIntToDecimalStringN(gStringVar2, pssData->summary.spdef, 1, 3); + ConvertIntToDecimalStringN(gStringVar3, pssData->summary.speed, 1, 3); DynamicPlaceholderTextUtil_Reset(); DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, gStringVar1); @@ -3395,14 +3045,14 @@ void BufferRightColumnStats(void) DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gUnknown_0861CE8E); } -void PrintRightColumnStats(void) +static void PrintRightColumnStats(void) { SummaryScreen_PrintTextOnWindow(AddWindowFromTemplateList(gUnknown_0861CCEC, 3), gStringVar4, 2, 1, 0, 0); } -void PrintExpPointsNextLevel(void) +static void PrintExpPointsNextLevel(void) { - struct PokeSummary *sum = &gUnknown_0203CF1C->summary; + struct PokeSummary *sum = &pssData->summary; u8 windowId = AddWindowFromTemplateList(gUnknown_0861CCEC, 4); int offset; u32 expToNextLevel; @@ -3421,29 +3071,29 @@ void PrintExpPointsNextLevel(void) SummaryScreen_PrintTextOnWindow(windowId, gStringVar1, offset, 17, 0, 0); } -void sub_81C3984(void) +static void sub_81C3984(void) { PrintMoveNameAndPP(0); PrintMoveNameAndPP(1); PrintMoveNameAndPP(2); PrintMoveNameAndPP(3); - if (gUnknown_0203CF1C->mode == PSS_MODE_SELECT_MOVE) + if (pssData->mode == PSS_MODE_SELECT_MOVE) { PrintNewMoveDetailsOrCancelText(); - if (gUnknown_0203CF1C->firstMoveIndex == MAX_MON_MOVES) + if (pssData->firstMoveIndex == MAX_MON_MOVES) { - if (gUnknown_0203CF1C->newMove != MOVE_NONE) - PrintMoveDetails(gUnknown_0203CF1C->newMove); + if (pssData->newMove != MOVE_NONE) + PrintMoveDetails(pssData->newMove); } else { - PrintMoveDetails(gUnknown_0203CF1C->summary.moves[gUnknown_0203CF1C->firstMoveIndex]); + PrintMoveDetails(pssData->summary.moves[pssData->firstMoveIndex]); } } } -void sub_81C39F0(u8 taskId) +static void sub_81C39F0(u8 taskId) { s16 *data = gTasks[taskId].data; @@ -3462,22 +3112,22 @@ void sub_81C39F0(u8 taskId) PrintMoveNameAndPP(3); break; case 5: - if (gUnknown_0203CF1C->mode == PSS_MODE_SELECT_MOVE) + if (pssData->mode == PSS_MODE_SELECT_MOVE) PrintNewMoveDetailsOrCancelText(); break; case 6: - if (gUnknown_0203CF1C->mode == PSS_MODE_SELECT_MOVE) + if (pssData->mode == PSS_MODE_SELECT_MOVE) { - if (gUnknown_0203CF1C->firstMoveIndex == MAX_MON_MOVES) - data[1] = gUnknown_0203CF1C->newMove; + if (pssData->firstMoveIndex == MAX_MON_MOVES) + data[1] = pssData->newMove; else - data[1] = gUnknown_0203CF1C->summary.moves[gUnknown_0203CF1C->firstMoveIndex]; + data[1] = pssData->summary.moves[pssData->firstMoveIndex]; } break; case 7: - if (gUnknown_0203CF1C->mode == PSS_MODE_SELECT_MOVE) + if (pssData->mode == PSS_MODE_SELECT_MOVE) { - if (gUnknown_0203CF1C->newMove != MOVE_NONE || gUnknown_0203CF1C->firstMoveIndex != MAX_MON_MOVES) + if (pssData->newMove != MOVE_NONE || pssData->firstMoveIndex != MAX_MON_MOVES) PrintMoveDetails(data[1]); } break; @@ -3488,13 +3138,13 @@ void sub_81C39F0(u8 taskId) data[0]++; } -void PrintMoveNameAndPP(u8 moveIndex) +static void PrintMoveNameAndPP(u8 moveIndex) { u8 pp; u32 ppState; const u8 *text; u32 offset; - struct UnkSummaryStruct *summaryStruct = gUnknown_0203CF1C; + struct UnkSummaryStruct *summaryStruct = pssData; u8 moveNameWindowId = AddWindowFromTemplateList(gUnknown_0861CD14, 0); u8 ppValueWindowId = AddWindowFromTemplateList(gUnknown_0861CD14, 1); u16 move = summaryStruct->summary.moves[moveIndex]; @@ -3524,7 +3174,7 @@ void PrintMoveNameAndPP(u8 moveIndex) SummaryScreen_PrintTextOnWindow(ppValueWindowId, text, offset, moveIndex * 16 + 1, 0, ppState); } -void PrintMovePowerAndAccuracy(u16 moveIndex) +static void PrintMovePowerAndAccuracy(u16 moveIndex) { const u8 *text; if (moveIndex != 0) @@ -3557,21 +3207,21 @@ void PrintMovePowerAndAccuracy(u16 moveIndex) } } -void sub_81C3D08(void) +static void sub_81C3D08(void) { PrintMoveNameAndPP(0); PrintMoveNameAndPP(1); PrintMoveNameAndPP(2); PrintMoveNameAndPP(3); - if (gUnknown_0203CF1C->mode == PSS_MODE_SELECT_MOVE) + if (pssData->mode == PSS_MODE_SELECT_MOVE) { PrintNewMoveDetailsOrCancelText(); - PrintContestMoveDescription(gUnknown_0203CF1C->firstMoveIndex); + PrintContestMoveDescription(pssData->firstMoveIndex); } } -void sub_81C3D54(u8 taskId) +static void sub_81C3D54(u8 taskId) { s16 *data = gTasks[taskId].data; s16 dataa = data[0] - 1; @@ -3591,14 +3241,14 @@ void sub_81C3D54(u8 taskId) PrintMoveNameAndPP(3); break; case 4: - if (gUnknown_0203CF1C->mode == PSS_MODE_SELECT_MOVE) + if (pssData->mode == PSS_MODE_SELECT_MOVE) PrintNewMoveDetailsOrCancelText(); break; case 5: - if (gUnknown_0203CF1C->mode == PSS_MODE_SELECT_MOVE) + if (pssData->mode == PSS_MODE_SELECT_MOVE) { - if (gUnknown_0203CF1C->newMove != MOVE_NONE || gUnknown_0203CF1C->firstMoveIndex != MAX_MON_MOVES) - PrintContestMoveDescription(gUnknown_0203CF1C->firstMoveIndex); + if (pssData->newMove != MOVE_NONE || pssData->firstMoveIndex != MAX_MON_MOVES) + PrintContestMoveDescription(pssData->firstMoveIndex); } break; case 6: @@ -3608,14 +3258,14 @@ void sub_81C3D54(u8 taskId) data[0]++; } -void PrintContestMoveDescription(u8 moveSlot) +static void PrintContestMoveDescription(u8 moveSlot) { u16 move; if (moveSlot == 4) - move = gUnknown_0203CF1C->newMove; + move = pssData->newMove; else - move = gUnknown_0203CF1C->summary.moves[moveSlot]; + move = pssData->summary.moves[moveSlot]; if (move != MOVE_NONE) { @@ -3624,13 +3274,13 @@ void PrintContestMoveDescription(u8 moveSlot) } } -void PrintMoveDetails(u16 move) +static void PrintMoveDetails(u16 move) { u8 windowId = AddWindowFromTemplateList(gUnknown_0861CD14, 2); FillWindowPixelBuffer(windowId, 0); if (move != MOVE_NONE) { - if (gUnknown_0203CF1C->currPageIndex == 2) + if (pssData->currPageIndex == 2) { PrintMovePowerAndAccuracy(move); SummaryScreen_PrintTextOnWindow(windowId, gMoveDescriptionPointers[move - 1], 6, 1, 0, 0); @@ -3649,20 +3299,20 @@ void PrintMoveDetails(u16 move) schedule_bg_copy_tilemap_to_vram(0); } -void PrintNewMoveDetailsOrCancelText(void) +static void PrintNewMoveDetailsOrCancelText(void) { u8 windowId1 = AddWindowFromTemplateList(gUnknown_0861CD14, 0); u8 windowId2 = AddWindowFromTemplateList(gUnknown_0861CD14, 1); - if (gUnknown_0203CF1C->newMove == MOVE_NONE) + if (pssData->newMove == MOVE_NONE) { SummaryScreen_PrintTextOnWindow(windowId1, gText_Cancel, 0, 65, 0, 1); } else { - u16 move = gUnknown_0203CF1C->newMove; + u16 move = pssData->newMove; - if (gUnknown_0203CF1C->currPageIndex == 2) + if (pssData->currPageIndex == 2) SummaryScreen_PrintTextOnWindow(windowId1, gMoveNames[move], 0, 65, 0, 6); else SummaryScreen_PrintTextOnWindow(windowId1, gMoveNames[move], 0, 65, 0, 5); @@ -3676,14 +3326,14 @@ void PrintNewMoveDetailsOrCancelText(void) } } -void sub_81C4064(void) +static void sub_81C4064(void) { u8 windowId = AddWindowFromTemplateList(gUnknown_0861CD14, 0); FillWindowPixelRect(windowId, 0, 0, 66, 72, 16); CopyWindowToVram(windowId, 2); } -void sub_81C40A0(u8 moveIndex1, u8 moveIndex2) +static void sub_81C40A0(u8 moveIndex1, u8 moveIndex2) { u8 windowId1 = AddWindowFromTemplateList(gUnknown_0861CD14, 0); u8 windowId2 = AddWindowFromTemplateList(gUnknown_0861CD14, 1); @@ -3698,49 +3348,51 @@ void sub_81C40A0(u8 moveIndex1, u8 moveIndex2) PrintMoveNameAndPP(moveIndex2); } -void sub_81C4154(void) +static void PrintHMMovesCantBeForgotten(void) { u8 windowId = AddWindowFromTemplateList(gUnknown_0861CD14, 2); FillWindowPixelBuffer(windowId, 0); SummaryScreen_PrintTextOnWindow(windowId, gText_HMMovesCantBeForgotten2, 6, 1, 0, 0); } -void sub_81C4190(void) +static void sub_81C4190(void) { u8 i; for (i = 0; i < 28; i++) - gUnknown_0203CF1C->spriteIds[i] |= 0xFF; -} - -void DestroySpriteInArray(u8 spriteArrayId) -{ - if (gUnknown_0203CF1C->spriteIds[spriteArrayId] != 0xFF) { - DestroySprite(&gSprites[gUnknown_0203CF1C->spriteIds[spriteArrayId]]); - gUnknown_0203CF1C->spriteIds[spriteArrayId] = 0xFF; + pssData->spriteIds[i] = 0xFF; } } -void sub_81C4204(u8 spriteArrayId, bool8 invisible) +static void DestroySpriteInArray(u8 spriteArrayId) { - gSprites[gUnknown_0203CF1C->spriteIds[spriteArrayId]].invisible = invisible; + if (pssData->spriteIds[spriteArrayId] != 0xFF) + { + DestroySprite(&gSprites[pssData->spriteIds[spriteArrayId]]); + pssData->spriteIds[spriteArrayId] = 0xFF; + } } -void sub_81C424C(void) +static void sub_81C4204(u8 spriteArrayId, bool8 invisible) +{ + gSprites[pssData->spriteIds[spriteArrayId]].invisible = invisible; +} + +static void sub_81C424C(void) { u8 i; for (i = 3; i < 28; i++) { - if (gUnknown_0203CF1C->spriteIds[i] != 0xFF) + if (pssData->spriteIds[i] != 0xFF) sub_81C4204(i, TRUE); } } -void sub_81C4280(void) +static void sub_81C4280(void) { - switch (gUnknown_0203CF1C->currPageIndex) + switch (pssData->currPageIndex) { case 0: sub_81C43A0(); @@ -3756,22 +3408,22 @@ void sub_81C4280(void) } } -void sub_81C42C8(void) +static void sub_81C42C8(void) { u8 i; for (i = 3; i < 8; i++) { - if (gUnknown_0203CF1C->spriteIds[i] == 0xFF) - gUnknown_0203CF1C->spriteIds[i] = CreateSprite(&gUnknown_0861CFC4, 0, 0, 2); + if (pssData->spriteIds[i] == 0xFF) + pssData->spriteIds[i] = CreateSprite(&gUnknown_0861CFC4, 0, 0, 2); sub_81C4204(i, TRUE); } } -void sub_81C4318(u8 typeId, u8 x, u8 y, u8 spriteArrayId) +static void SetMoveTypeSpritePosAndType(u8 typeId, u8 x, u8 y, u8 spriteArrayId) { - struct Sprite *sprite = &gSprites[gUnknown_0203CF1C->spriteIds[spriteArrayId]]; + struct Sprite *sprite = &gSprites[pssData->spriteIds[spriteArrayId]]; StartSpriteAnim(sprite, typeId); sprite->oam.paletteNum = gUnknown_0861CFDC[typeId]; sprite->pos1.x = x + 16; @@ -3779,20 +3431,20 @@ void sub_81C4318(u8 typeId, u8 x, u8 y, u8 spriteArrayId) sub_81C4204(spriteArrayId, FALSE); } -void sub_81C43A0(void) +static void sub_81C43A0(void) { - struct PokeSummary *summary = &gUnknown_0203CF1C->summary; + struct PokeSummary *summary = &pssData->summary; if (summary->isEgg) { - sub_81C4318(TYPE_MYSTERY, 0x78, 0x30, 3); + SetMoveTypeSpritePosAndType(TYPE_MYSTERY, 120, 48, 3); sub_81C4204(4, TRUE); } else { - sub_81C4318(gBaseStats[summary->species].type1, 0x78, 0x30, 3); + SetMoveTypeSpritePosAndType(gBaseStats[summary->species].type1, 0x78, 0x30, 3); if (gBaseStats[summary->species].type1 != gBaseStats[summary->species].type2) { - sub_81C4318(gBaseStats[summary->species].type2, 0xA0, 0x30, 4); + SetMoveTypeSpritePosAndType(gBaseStats[summary->species].type2, 0xA0, 0x30, 4); sub_81C4204(4, FALSE); } else @@ -3802,51 +3454,51 @@ void sub_81C43A0(void) } } -void sub_81C4420(void) +static void sub_81C4420(void) { u8 i; - struct PokeSummary *summary = &gUnknown_0203CF1C->summary; + struct PokeSummary *summary = &pssData->summary; for (i = 0; i < 4; i++) { if (summary->moves[i] != MOVE_NONE) - sub_81C4318(gBattleMoves[summary->moves[i]].type, 0x55, 0x20 + (i * 0x10), i + 3); + SetMoveTypeSpritePosAndType(gBattleMoves[summary->moves[i]].type, 0x55, 0x20 + (i * 0x10), i + 3); else sub_81C4204(i + 3, TRUE); } } -void sub_81C4484(void) +static void sub_81C4484(void) { u8 i; - struct PokeSummary *summary = &gUnknown_0203CF1C->summary; + struct PokeSummary *summary = &pssData->summary; for (i = 0; i < 4; i++) { if (summary->moves[i] != MOVE_NONE) - sub_81C4318(NUMBER_OF_MON_TYPES + gContestMoves[summary->moves[i]].contestCategory, 0x55, 0x20 + (i * 0x10), i + 3); + SetMoveTypeSpritePosAndType(NUMBER_OF_MON_TYPES + gContestMoves[summary->moves[i]].contestCategory, 0x55, 0x20 + (i * 0x10), i + 3); else sub_81C4204(i + 3, TRUE); } } -void sub_81C44F0(void) +static void sub_81C44F0(void) { - if (gUnknown_0203CF1C->newMove == MOVE_NONE) + if (pssData->newMove == MOVE_NONE) { sub_81C4204(7, TRUE); } else { - if (gUnknown_0203CF1C->currPageIndex == 2) - sub_81C4318(gBattleMoves[gUnknown_0203CF1C->newMove].type, 0x55, 0x60, 7); + if (pssData->currPageIndex == 2) + SetMoveTypeSpritePosAndType(gBattleMoves[pssData->newMove].type, 85, 96, 7); else - sub_81C4318(NUMBER_OF_MON_TYPES + gContestMoves[gUnknown_0203CF1C->newMove].contestCategory, 0x55, 0x60, 7); + SetMoveTypeSpritePosAndType(NUMBER_OF_MON_TYPES + gContestMoves[pssData->newMove].contestCategory, 85, 96, 7); } } -void sub_81C4568(u8 a0, u8 a1) +static void sub_81C4568(u8 a0, u8 a1) { - struct Sprite *sprite1 = &gSprites[gUnknown_0203CF1C->spriteIds[a0 + 3]]; - struct Sprite *sprite2 = &gSprites[gUnknown_0203CF1C->spriteIds[a1 + 3]]; + struct Sprite *sprite1 = &gSprites[pssData->spriteIds[a0 + 3]]; + struct Sprite *sprite2 = &gSprites[pssData->spriteIds[a1 + 3]]; u8 temp = sprite1->animNum; sprite1->animNum = sprite2->animNum; @@ -3862,10 +3514,10 @@ void sub_81C4568(u8 a0, u8 a1) sprite2->animEnded = FALSE; } -u8 sub_81C45F4(struct Pokemon *mon, s16 *a1) +static u8 sub_81C45F4(struct Pokemon *mon, s16 *a1) { const struct CompressedSpritePalette *pal; - struct PokeSummary *summary = &gUnknown_0203CF1C->summary; + struct PokeSummary *summary = &pssData->summary; switch (*a1) { @@ -3874,7 +3526,7 @@ u8 sub_81C45F4(struct Pokemon *mon, s16 *a1) case 0: if (gMain.inBattle) { - if (sub_80688F8(3, gUnknown_0203CF1C->curMonIndex)) + if (sub_80688F8(3, pssData->curMonIndex)) { HandleLoadSpecialPokePic_DontHandleDeoxys(&gMonFrontPicTable[summary->species2], gMonSpritesGfxPtr->sprites[1], summary->species2, summary->pid); } @@ -3887,7 +3539,7 @@ u8 sub_81C45F4(struct Pokemon *mon, s16 *a1) { if (gMonSpritesGfxPtr != NULL) { - if (gUnknown_0203CF1C->monList.mons == gPlayerParty || gUnknown_0203CF1C->mode == PSS_MODE_UNK2 || gUnknown_0203CF1C->unk40EF == TRUE) + if (pssData->monList.mons == gPlayerParty || pssData->mode == PSS_MODE_UNK2 || pssData->unk40EF == TRUE) { HandleLoadSpecialPokePic_2(&gMonFrontPicTable[summary->species2], gMonSpritesGfxPtr->sprites[1], summary->species2, summary->pid); } @@ -3898,7 +3550,7 @@ u8 sub_81C45F4(struct Pokemon *mon, s16 *a1) } else { - if (gUnknown_0203CF1C->monList.mons == gPlayerParty || gUnknown_0203CF1C->mode == PSS_MODE_UNK2 || gUnknown_0203CF1C->unk40EF == TRUE) + if (pssData->monList.mons == gPlayerParty || pssData->mode == PSS_MODE_UNK2 || pssData->unk40EF == TRUE) { HandleLoadSpecialPokePic_2(&gMonFrontPicTable[summary->species2], sub_806F4F8(0, 1), summary->species2, summary->pid); } @@ -3919,12 +3571,12 @@ u8 sub_81C45F4(struct Pokemon *mon, s16 *a1) } } -void sub_81C4778(void) +static void sub_81C4778(void) { - struct PokeSummary *summary = &gUnknown_0203CF1C->summary; + struct PokeSummary *summary = &pssData->summary; if (!summary->isEgg) { - if (ShouldPlayNormalMonCry(&gUnknown_0203CF1C->currentMon) == TRUE) + if (ShouldPlayNormalMonCry(&pssData->currentMon) == TRUE) { PlayCry3(summary->species2, 0, 0); } @@ -3935,9 +3587,9 @@ void sub_81C4778(void) } } -u8 sub_81C47B4(struct Pokemon *unused) +static u8 sub_81C47B4(struct Pokemon *unused) { - struct PokeSummary *summary = &gUnknown_0203CF1C->summary; + struct PokeSummary *summary = &pssData->summary; u8 spriteId = CreateSprite(&gMultiuseSpriteTemplate, 40, 64, 5); struct Sprite *sprite = &gSprites[spriteId]; @@ -3960,9 +3612,9 @@ u8 sub_81C47B4(struct Pokemon *unused) return spriteId; } -void sub_81C4844(struct Sprite *sprite) +static void sub_81C4844(struct Sprite *sprite) { - struct PokeSummary *summary = &gUnknown_0203CF1C->summary; + struct PokeSummary *summary = &pssData->summary; if (!gPaletteFade.active && sprite->data[2] != 1) { @@ -3986,9 +3638,9 @@ void SummaryScreen_DestroyUnknownTask(void) } } -bool32 DoesSpriteHaveCallback(void) +static bool32 SummaryScreen_DoesSpriteHaveCallback(void) { - if (gSprites[gUnknown_0203CF1C->spriteIds[0]].callback == SpriteCallbackDummy) + if (gSprites[pssData->spriteIds[0]].callback == SpriteCallbackDummy) { return FALSE; } @@ -3998,16 +3650,16 @@ bool32 DoesSpriteHaveCallback(void) } } -void sub_81C48F0(void) +static void sub_81C48F0(void) { u16 i; u16 paletteIndex; - gSprites[gUnknown_0203CF1C->spriteIds[0]].animPaused = TRUE; - gSprites[gUnknown_0203CF1C->spriteIds[0]].callback = SpriteCallbackDummy; + gSprites[pssData->spriteIds[0]].animPaused = TRUE; + gSprites[pssData->spriteIds[0]].callback = SpriteCallbackDummy; sub_806EE98(); - paletteIndex = (gSprites[gUnknown_0203CF1C->spriteIds[0]].oam.paletteNum * 16) | 0x100; + paletteIndex = (gSprites[pssData->spriteIds[0]].oam.paletteNum * 16) | 0x100; for (i = 0; i < 16; i++) { @@ -4015,41 +3667,41 @@ void sub_81C48F0(void) } } -void CreateMonMarkingsSprite(struct Pokemon *mon) +static void CreateMonMarkingsSprite(struct Pokemon *mon) { struct Sprite *sprite = sub_811FF94(30003, 30003, gUnknown_0861D120); - gUnknown_0203CF1C->markingsSprite = sprite; + pssData->markingsSprite = sprite; if (sprite != NULL) { StartSpriteAnim(sprite, GetMonData(mon, MON_DATA_MARKINGS)); - gUnknown_0203CF1C->markingsSprite->pos1.x = 60; - gUnknown_0203CF1C->markingsSprite->pos1.y = 26; - gUnknown_0203CF1C->markingsSprite->oam.priority = 1; + pssData->markingsSprite->pos1.x = 60; + pssData->markingsSprite->pos1.y = 26; + pssData->markingsSprite->oam.priority = 1; } } -void RemoveAndCreateMonMarkingsSprite(struct Pokemon *mon) +static void RemoveAndCreateMonMarkingsSprite(struct Pokemon *mon) { - DestroySprite(gUnknown_0203CF1C->markingsSprite); + DestroySprite(pssData->markingsSprite); FreeSpriteTilesByTag(30003); CreateMonMarkingsSprite(mon); } -void CreateCaughtBallSprite(struct Pokemon *mon) +static void CreateCaughtBallSprite(struct Pokemon *mon) { u8 ball = ItemIdToBallId(GetMonData(mon, MON_DATA_POKEBALL)); LoadBallGfx(ball); - gUnknown_0203CF1C->spriteIds[1] = CreateSprite(&gBallSpriteTemplates[ball], 16, 136, 0); - gSprites[gUnknown_0203CF1C->spriteIds[1]].callback = SpriteCallbackDummy; - gSprites[gUnknown_0203CF1C->spriteIds[1]].oam.priority = 3; + pssData->spriteIds[1] = CreateSprite(&gBallSpriteTemplates[ball], 16, 136, 0); + gSprites[pssData->spriteIds[1]].callback = SpriteCallbackDummy; + gSprites[pssData->spriteIds[1]].oam.priority = 3; } -void CreateSetStatusSprite(void) +static void CreateSetStatusSprite(void) { - u8 *spriteId = &gUnknown_0203CF1C->spriteIds[2]; + u8 *spriteId = &pssData->spriteIds[2]; u8 anim; if (*spriteId == 0xFF) @@ -4057,7 +3709,7 @@ void CreateSetStatusSprite(void) *spriteId = CreateSprite(&gUnknown_0861D108, 64, 152, 0); } - anim = sub_81B205C(&gUnknown_0203CF1C->currentMon); + anim = sub_81B205C(&pssData->currentMon); if (anim != 0) { @@ -4070,12 +3722,12 @@ void CreateSetStatusSprite(void) } } -void sub_81C4AF8(u8 a0) +static void sub_81C4AF8(u8 a0) { u8 i; - u8 *spriteIds = &gUnknown_0203CF1C->spriteIds[a0]; + u8 *spriteIds = &pssData->spriteIds[a0]; - if (gUnknown_0203CF1C->currPageIndex > 1) + if (pssData->currPageIndex > 1) { u8 subsprite = 0; if (a0 == 8) @@ -4105,7 +3757,7 @@ void sub_81C4AF8(u8 a0) } } -void sub_81C4BE4(struct Sprite *sprite) +static void sub_81C4BE4(struct Sprite *sprite) { if (sprite->animNum > 3 && sprite->animNum < 7) { @@ -4127,15 +3779,15 @@ void sub_81C4BE4(struct Sprite *sprite) if (sprite->data[0] == 8) { - sprite->pos2.y = gUnknown_0203CF1C->firstMoveIndex * 16; + sprite->pos2.y = pssData->firstMoveIndex * 16; } else { - sprite->pos2.y = gUnknown_0203CF1C->secondMoveIndex * 16; + sprite->pos2.y = pssData->secondMoveIndex * 16; } } -void sub_81C4C60(u8 a0) +static void sub_81C4C60(u8 a0) { u8 i; for (i = 0; i < 10; i++) @@ -4144,10 +3796,10 @@ void sub_81C4C60(u8 a0) } } -void sub_81C4C84(u8 a0) +static void sub_81C4C84(u8 a0) { u8 i; - u8 *spriteIds = &gUnknown_0203CF1C->spriteIds[8]; + u8 *spriteIds = &pssData->spriteIds[8]; a0 *= 3; for (i = 0; i < 10; i++) @@ -4167,10 +3819,10 @@ void sub_81C4C84(u8 a0) } } -void sub_81C4D18(u8 a0) +static void sub_81C4D18(u8 firstSpriteId) { u8 i; - u8 *spriteIds = &gUnknown_0203CF1C->spriteIds[a0]; + u8 *spriteIds = &pssData->spriteIds[firstSpriteId]; for (i = 0; i < 10; i++) { From 2b81db7acecd8baa3e343de66fd229040ec81381 Mon Sep 17 00:00:00 2001 From: Diegoisawesome Date: Wed, 15 Aug 2018 18:50:56 -0700 Subject: [PATCH 110/234] Fix Task_Truck1 --- src/field_special_scene.c | 22 +++++++--------------- 1 file changed, 7 insertions(+), 15 deletions(-) diff --git a/src/field_special_scene.c b/src/field_special_scene.c index 6f33b2c9be..c6cb0741d4 100644 --- a/src/field_special_scene.c +++ b/src/field_special_scene.c @@ -63,32 +63,24 @@ s16 GetTruckBoxMovement(int a1) // for the box movement? return 0; } -// smh STILL BROKEN IN EMERALD void Task_Truck1(u8 taskId) { s16 *data = gTasks[taskId].data; - s16 cameraYpan; - s16 box1 = 0; - s16 box2 = 0; - s16 box3 = 0; - u8 mapNum, mapGroup; - register s16 zero asm("r4"); + s16 cameraXpan = 0, cameraYpan = 0; + s16 box1, box2, box3; box1 = GetTruckBoxMovement(data[0] + 30) * 4; // top box. - sub_808E82C(1, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, 3, box1 + 3); + sub_808E82C(1, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, 3 - cameraXpan, box1 + 3); box2 = GetTruckBoxMovement(data[0]) * 2; // bottom left box. - sub_808E82C(2, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, 0, box2 - 3); + sub_808E82C(2, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, -cameraXpan, box2 - 3); box3 = GetTruckBoxMovement(data[0]) * 4; // bottom right box. - mapNum = gSaveBlock1Ptr->location.mapNum; - mapGroup = gSaveBlock1Ptr->location.mapGroup; - zero = 0; - sub_808E82C(3, mapNum, mapGroup, -3, box3); + sub_808E82C(3, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, -3 - cameraXpan, box3); if (++data[0] == SECONDS(500)) // this will never run - data[0] = zero; // reset the timer if it gets stuck. + data[0] = 0; // reset the timer if it gets stuck. cameraYpan = GetTruckCameraBobbingY(data[0]); - SetCameraPanning(0, cameraYpan); + SetCameraPanning(cameraXpan, cameraYpan); } void Task_Truck2(u8 taskId) From 7669a94f0d01c0a825d2ae48c12adef0be445d81 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Thu, 16 Aug 2018 22:46:02 +0200 Subject: [PATCH 111/234] this function is driving me insane --- src/battle_frontier_1.c | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/src/battle_frontier_1.c b/src/battle_frontier_1.c index 3c97215e39..04faad6cd7 100644 --- a/src/battle_frontier_1.c +++ b/src/battle_frontier_1.c @@ -1466,10 +1466,9 @@ s32 sub_818FEB4(s32 *arr, bool8 arg1) return bits; } -/* s32 sub_818FFC0(s32 move, s32 species, s32 arg2) { - u8 type1, type2, ability, moveType; + s32 type1, type2, ability, moveType; s32 i = 0; s32 typePower = 20; @@ -1488,22 +1487,25 @@ s32 sub_818FFC0(s32 move, s32 species, s32 arg2) } else { - while (TYPE_EFFECT_ATK_TYPE(i) != TYPE_ENDTABLE) + while (gTypeEffectiveness[i + 0] != TYPE_ENDTABLE) { - if (TYPE_EFFECT_ATK_TYPE(i) == TYPE_FORESIGHT) + if (gTypeEffectiveness[i + 0] == TYPE_FORESIGHT) { i += 3; - continue; } - else if (TYPE_EFFECT_ATK_TYPE(i) == moveType) + else { - // BUG: * 2 is not necessary and makes the condition always false if the ability is wonder guard. - if (TYPE_EFFECT_DEF_TYPE(i) == type1 && (ability != ABILITY_WONDER_GUARD || TYPE_EFFECT_MULTIPLIER(i) == TYPE_MUL_SUPER_EFFECTIVE * 2)) - typePower = (TYPE_EFFECT_MULTIPLIER(i) * typePower) / 10; - if (TYPE_EFFECT_DEF_TYPE(i) == type2 && type1 != type2 && (ability != ABILITY_WONDER_GUARD || TYPE_EFFECT_MULTIPLIER(i) == TYPE_MUL_SUPER_EFFECTIVE * 2)) - typePower = (TYPE_EFFECT_MULTIPLIER(i) * typePower) / 10; + u8 val = gTypeEffectiveness[i + 0]; + if (val == moveType) + { + // BUG: * 2 is not necessary and makes the condition always false if the ability is wonder guard. + if (gTypeEffectiveness[i + 1] == type1 && (ability != ABILITY_WONDER_GUARD || gTypeEffectiveness[i + 2] == TYPE_MUL_SUPER_EFFECTIVE * 2)) + typePower = (gTypeEffectiveness[i + 2] * typePower) / 10; + if (gTypeEffectiveness[i + 1] == type2 && type1 != type2 && (ability != ABILITY_WONDER_GUARD || gTypeEffectiveness[i + 2] == TYPE_MUL_SUPER_EFFECTIVE * 2)) + typePower = (gTypeEffectiveness[i + 2] * typePower) / 10; + } + i += 3; } - i += 3; } } @@ -1580,4 +1582,4 @@ s32 sub_818FFC0(s32 move, s32 species, s32 arg2) } return typePower; -}*/ +} From 5dd1afd383fafda3bb8b956073e426ffad42fa00 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Thu, 16 Aug 2018 22:55:36 +0200 Subject: [PATCH 112/234] contest effect review changes --- src/contest_effect.c | 24 ++++++++++++++++++++---- src/data/contest_moves.h | 5 ----- 2 files changed, 20 insertions(+), 9 deletions(-) diff --git a/src/contest_effect.c b/src/contest_effect.c index 7c086b7994..760d74d694 100644 --- a/src/contest_effect.c +++ b/src/contest_effect.c @@ -440,10 +440,17 @@ static void ContestEffect_MakeFollowingMonsNervous(void) MakeContestantNervous(contestantIds[i]); SetContestantEffectStringID(contestantIds[i], CONTEST_STRING_NERVOUS); numUnnerved++; - } else + } + else + { contestantUnnerved = TRUE; - } else + } + } + else + { contestantUnnerved = TRUE; + } + if (contestantUnnerved) { contestantUnnerved = FALSE; @@ -542,8 +549,11 @@ static void ContestEffect_AppealAsGoodAsPrevOnes(void) } if (appealSum < 0) appealSum = 0; + if (shared192D0.turnOrder[shared192D0.contestant] == 0 || appealSum == 0) + { SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_APPEAL_NOT_WELL); + } else { sContestantStatus[shared192D0.contestant].appeal2 += appealSum / 2; @@ -567,7 +577,9 @@ static void ContestEffect_AppealAsGoodAsPrevOne(void) } } if (shared192D0.turnOrder[shared192D0.contestant] == 0 || appeal <= 0) + { SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_APPEAL_NOT_WELL2); + } else { sContestantStatus[shared192D0.contestant].appeal2 += appeal; @@ -716,7 +728,9 @@ static void ContestEffect_ImproveConditionPreventNervousness(void) SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_CONDITION_ROSE); } else + { SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_NO_CONDITION_IMPROVE); + } } // The appeal works well if the user’s condition is good. @@ -988,8 +1002,10 @@ static bool8 CanUnnerveContestant(u8 i) { return TRUE; } - - return FALSE; + else + { + return FALSE; + } } static bool8 WasAtLeastOneOpponentJammed(void) diff --git a/src/data/contest_moves.h b/src/data/contest_moves.h index fc262dd211..ae560c8338 100644 --- a/src/data/contest_moves.h +++ b/src/data/contest_moves.h @@ -1,6 +1,3 @@ -#ifndef POKEEMERALD_CONTEST_MOVES_H -#define POKEEMERALD_CONTEST_MOVES_H - const struct ContestMove gContestMoves[MOVES_COUNT] = { [MOVE_NONE] = {0}, @@ -3009,5 +3006,3 @@ void (*const gContestEffectFuncs[])(void) = ContestEffect_BetterWhenAudienceExcited, ContestEffect_DontExciteAudience, }; - -#endif // POKEEMERALD_CONTEST_MOVES_H From 63cbc8f3ccb11b05c627717a2de82d3134d599d9 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Sat, 18 Aug 2018 00:54:18 +0200 Subject: [PATCH 113/234] battle dome - a couple more functions --- asm/battle_frontier_1.s | 1386 +--------------------------------- asm/easy_chat.s | 4 +- asm/pokemon_storage_system.s | 4 +- asm/rom_8011DC0.s | 4 +- asm/trade.s | 4 +- include/global.h | 15 +- include/menu.h | 2 +- src/battle_frontier_1.c | 812 +++++++++++++++++++- src/egg_hatch.c | 2 +- src/evolution_scene.c | 2 +- src/fieldmap.c | 2 +- src/link.c | 2 +- src/menu.c | 2 +- src/pokedex.c | 12 +- 14 files changed, 827 insertions(+), 1426 deletions(-) diff --git a/asm/battle_frontier_1.s b/asm/battle_frontier_1.s index 11f215a836..d2700fff00 100644 --- a/asm/battle_frontier_1.s +++ b/asm/battle_frontier_1.s @@ -8,1384 +8,6 @@ - - thumb_func_start GetDomeTrainerMonIvs -GetDomeTrainerMonIvs: @ 8190168 - push {lr} - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x3 - cmp r0, 0x63 - bls _0819019A - movs r1, 0x6 - cmp r0, 0x77 - bls _0819019A - movs r1, 0x9 - cmp r0, 0x8B - bls _0819019A - movs r1, 0xC - cmp r0, 0x9F - bls _0819019A - movs r1, 0xF - cmp r0, 0xB3 - bls _0819019A - movs r1, 0x12 - cmp r0, 0xC7 - bls _0819019A - movs r1, 0x1F - cmp r0, 0xDB - bhi _0819019A - movs r1, 0x15 -_0819019A: - adds r0, r1, 0 - pop {r1} - bx r1 - thumb_func_end GetDomeTrainerMonIvs - - thumb_func_start sub_81901A0 -sub_81901A0: @ 81901A0 - push {r4-r7,lr} - adds r3, r0, 0 - adds r2, r1, 0 - movs r5, 0 - ldr r0, =gSaveBlock2Ptr - ldr r1, [r0] - ldr r4, =0x00000d24 - adds r1, r4 - ldrh r1, [r1] - lsls r1, 22 - lsrs r1, 22 - mov r12, r0 - ldr r6, =gUnknown_0860D10C - cmp r1, r2 - beq _081901D8 - mov r7, r12 -_081901C0: - adds r5, 0x1 - cmp r5, 0xF - bgt _081901D8 - ldr r0, [r7] - lsls r1, r5, 2 - adds r0, r1 - adds r0, r4 - ldrh r0, [r0] - lsls r0, 22 - lsrs r0, 22 - cmp r0, r2 - bne _081901C0 -_081901D8: - cmp r3, 0 - beq _0819026C - cmp r3, 0x3 - bne _081901FC - lsls r0, r5, 2 - adds r1, r0, 0x3 - adds r1, r6 - ldrb r1, [r1] - adds r4, r1, 0 - adds r4, 0x8 - b _08190206 - .pool -_081901FC: - lsls r0, r5, 2 - adds r1, r3, r0 - adds r1, r6 - ldrb r1, [r1] - adds r4, r1, 0x4 -_08190206: - adds r0, r3, r0 - adds r0, r6 - ldrb r2, [r0] - cmp r2, r4 - bge _08190256 - ldr r1, =gUnknown_0860D14C - adds r0, r2, r1 - ldrb r3, [r0] - adds r6, r1, 0 - cmp r3, r5 - beq _08190234 - mov r1, r12 - ldr r0, [r1] - lsls r1, r3, 2 - adds r0, r1 - ldr r3, =0x00000d25 - adds r0, r3 - b _0819024E - .pool -_08190234: - adds r2, 0x1 - cmp r2, r4 - bge _08190256 - adds r0, r2, r6 - ldrb r1, [r0] - cmp r1, r5 - beq _08190234 - mov r3, r12 - ldr r0, [r3] - lsls r1, 2 - adds r0, r1 - ldr r1, =0x00000d25 - adds r0, r1 -_0819024E: - ldrb r0, [r0] - lsls r0, 29 - cmp r0, 0 - blt _08190234 -_08190256: - cmp r2, r4 - beq _08190286 - ldr r0, =gUnknown_0860D14C - adds r0, r2, r0 - ldrb r0, [r0] - b _08190292 - .pool -_0819026C: - mov r3, r12 - ldr r1, [r3] - lsls r0, r5, 2 - adds r0, r6 - ldrb r2, [r0] - lsls r0, r2, 2 - adds r1, r0 - ldr r0, =0x00000d25 - adds r1, r0 - ldrb r0, [r1] - lsls r0, 29 - cmp r0, 0 - bge _08190290 -_08190286: - movs r0, 0xFF - b _08190292 - .pool -_08190290: - adds r0, r2, 0 -_08190292: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_81901A0 - - thumb_func_start sub_8190298 -sub_8190298: @ 8190298 - push {lr} - bl sub_81902AC - ldr r1, =gTrainerBattleOpponent_A - strh r0, [r1] - pop {r0} - bx r0 - .pool - thumb_func_end sub_8190298 - - thumb_func_start sub_81902AC -sub_81902AC: @ 81902AC - push {r4,lr} - ldr r0, =gSaveBlock2Ptr - ldr r4, [r0] - ldr r1, =0x00000cb2 - adds r0, r4, r1 - ldrh r0, [r0] - ldr r1, =0x000003ff - bl sub_81901A0 - lsls r0, 2 - adds r4, r0 - ldr r0, =0x00000d24 - adds r4, r0 - ldrh r0, [r4] - lsls r0, 22 - lsrs r0, 22 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81902AC - - thumb_func_start sub_81902E4 -sub_81902E4: @ 81902E4 - push {lr} - ldr r0, =gTrainerBattleOpponent_A - ldrh r0, [r0] - movs r1, 0 - bl sub_8162614 - pop {r0} - bx r0 - .pool - thumb_func_end sub_81902E4 - - thumb_func_start sub_81902F8 -sub_81902F8: @ 81902F8 - push {r4,lr} - ldr r4, =gSaveBlock2Ptr - ldr r0, [r4] - ldr r1, =gSpecialVar_0x8005 - ldrh r1, [r1] - ldr r2, =0x00000ca8 - adds r0, r2 - strb r1, [r0] - movs r0, 0x80 - lsls r0, 7 - movs r1, 0 - bl VarSet - ldr r1, [r4] - ldr r0, =0x00000ca9 - adds r1, r0 - ldrb r0, [r1] - movs r2, 0x4 - orrs r0, r2 - strb r0, [r1] - bl sub_81A4C30 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81902F8 - - thumb_func_start sub_819033C -sub_819033C: @ 819033C - push {r4,r5,lr} - ldr r5, =gSaveBlock2Ptr - ldr r0, [r5] - ldr r1, =0x00000ca9 - adds r0, r1 - ldrb r4, [r0] - lsls r4, 30 - lsrs r4, 30 - ldr r0, =0x000040ce - bl VarGet - lsls r0, 24 - ldr r1, [r5] - lsls r4, 1 - lsrs r0, 22 - adds r4, r0 - ldr r3, =0x00000d0c - adds r1, r3 - adds r1, r4 - ldrh r0, [r1] - ldr r2, =0x000003e6 - cmp r0, r2 - bhi _0819036E - adds r0, 0x1 - strh r0, [r1] -_0819036E: - ldr r0, [r5] - ldr r1, =0x00000d1c - adds r0, r1 - adds r1, r0, r4 - ldrh r0, [r1] - cmp r0, r2 - bhi _08190380 - adds r0, 0x1 - strh r0, [r1] -_08190380: - ldr r0, [r5] - adds r1, r0, r3 - adds r1, r4 - ldr r2, =0x00000d14 - adds r0, r2 - adds r0, r4 - ldrh r1, [r1] - ldrh r2, [r0] - cmp r1, r2 - bls _08190396 - strh r1, [r0] -_08190396: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_819033C - - thumb_func_start sub_81903B8 -sub_81903B8: @ 81903B8 - push {r4,r5,lr} - ldr r0, =sub_8190400 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gTasks - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - adds r4, r1 - movs r5, 0 - strh r5, [r4, 0x8] - bl sub_81902AC - lsls r0, 16 - lsrs r0, 16 - bl TrainerIdToTournamentId - strh r0, [r4, 0xA] - strh r5, [r4, 0xC] - strh r5, [r4, 0xE] - ldr r0, =sub_8194B54 - bl SetMainCallback2 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81903B8 - - thumb_func_start sub_8190400 -sub_8190400: @ 8190400 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0xC - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - ldr r1, =gTasks - lsls r0, 2 - add r0, r10 - lsls r0, 3 - adds r6, r0, r1 - movs r0, 0xA - ldrsh r5, [r6, r0] - movs r2, 0xC - ldrsh r1, [r6, r2] - mov r9, r1 - movs r0, 0xE - ldrsh r7, [r6, r0] - movs r1, 0x8 - ldrsh r4, [r6, r1] - cmp r4, 0x1 - beq _08190508 - cmp r4, 0x1 - bgt _08190440 - cmp r4, 0 - beq _0819044E - b _08190772 - .pool -_08190440: - cmp r4, 0x2 - bne _08190446 - b _08190570 -_08190446: - cmp r4, 0x3 - bne _0819044C - b _08190634 -_0819044C: - b _08190772 -_0819044E: - movs r0, 0 - bl SetHBlankCallback - movs r0, 0 - bl SetVBlankCallback - movs r0, 0x1 - bl EnableInterrupts - str r4, [sp, 0x4] - movs r1, 0xC0 - lsls r1, 19 - ldr r2, =0x05006000 - add r0, sp, 0x4 - bl CpuSet - movs r0, 0 - bl ResetBgsAndClearDma3BusyFlags - ldr r1, =gUnknown_0860CE84 - movs r0, 0 - movs r2, 0x4 - bl InitBgsFromTemplates - ldr r0, =gUnknown_0860CEB4 - bl InitWindows - bl DeactivateAllTextPrinters - ldr r0, =gBattle_BG0_X - strh r4, [r0] - ldr r0, =gBattle_BG0_Y - strh r4, [r0] - ldr r0, =gBattle_BG1_X - strh r4, [r0] - ldr r0, =gBattle_BG1_Y - strh r4, [r0] - ldr r0, =gBattle_BG3_X - strh r4, [r0] - ldr r0, =gBattle_BG3_Y - strh r4, [r0] - mov r2, r9 - cmp r2, 0x2 - bne _081904DC - ldr r0, =gBattle_BG2_X - strh r4, [r0] - ldr r0, =gBattle_BG2_Y - strh r4, [r0] - b _081904E6 - .pool -_081904DC: - ldr r0, =gBattle_BG2_X - strh r4, [r0] - ldr r1, =gBattle_BG2_Y - movs r0, 0xA0 - strh r0, [r1] -_081904E6: - ldr r0, =gTasks - mov r2, r10 - lsls r1, r2, 2 - add r1, r10 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - b _08190772 - .pool -_08190508: - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg - movs r0, 0x54 - movs r1, 0 - bl SetGpuReg - movs r0, 0x4C - movs r1, 0 - bl SetGpuReg - movs r0, 0x40 - movs r1, 0 - bl SetGpuReg - movs r0, 0x44 - movs r1, 0 - bl SetGpuReg - movs r0, 0x42 - movs r1, 0 - bl SetGpuReg - movs r0, 0x46 - movs r1, 0 - bl SetGpuReg - movs r0, 0x48 - movs r1, 0 - bl SetGpuReg - movs r0, 0x4A - movs r1, 0x3F - bl SetGpuReg - bl ResetPaletteFade - bl ResetSpriteData - bl FreeAllSpritePalettes - ldr r1, =gReservedSpritePaletteCount - movs r0, 0x4 - strb r0, [r1] - b _08190602 - .pool -_08190570: - ldr r1, =gUnknown_08D83D50 - movs r5, 0x80 - lsls r5, 6 - movs r7, 0 - str r7, [sp] - movs r0, 0x2 - adds r2, r5, 0 - movs r3, 0 - bl copy_decompressed_tile_data_to_vram_autofree - ldr r1, =gUnknown_08D84970 - movs r4, 0x1 - str r4, [sp] - movs r0, 0x2 - adds r2, r5, 0 - movs r3, 0 - bl copy_decompressed_tile_data_to_vram_autofree - ldr r1, =gUnknown_08D84F00 - movs r2, 0x80 - lsls r2, 4 - str r4, [sp] - movs r0, 0x3 - movs r3, 0 - bl copy_decompressed_tile_data_to_vram_autofree - ldr r0, =gUnknown_0860CF50 - bl LoadCompressedObjectPic - ldr r0, =gUnknown_08D85358 - movs r4, 0x80 - lsls r4, 2 - movs r1, 0 - adds r2, r4, 0 - bl LoadCompressedPalette - ldr r0, =gUnknown_08D85444 - movs r1, 0x80 - lsls r1, 1 - adds r2, r4, 0 - bl LoadCompressedPalette - ldr r0, =gUnknown_08D85600 - movs r1, 0xF0 - movs r2, 0x20 - bl LoadCompressedPalette - mov r0, r9 - cmp r0, 0x2 - bne _081905DE - ldr r0, =gUnknown_08D854C8 - movs r1, 0x50 - movs r2, 0x20 - bl LoadCompressedPalette -_081905DE: - str r7, [sp, 0x8] - add r0, sp, 0x8 - ldr r1, =gPlttBufferFaded - ldr r2, =0x05000100 - bl CpuSet - movs r0, 0 - bl ShowBg - movs r0, 0x1 - bl ShowBg - movs r0, 0x2 - bl ShowBg - movs r0, 0x3 - bl ShowBg -_08190602: - ldrh r0, [r6, 0x8] - adds r0, 0x1 - strh r0, [r6, 0x8] - b _08190772 - .pool -_08190634: - ldr r0, =sub_8194B70 - bl SetVBlankCallback - ldr r4, =gUnknown_0203CD78 - movs r0, 0x14 - bl AllocZeroed - str r0, [r4] - movs r6, 0 - lsls r5, 24 - movs r2, 0xFF -_0819064A: - ldr r1, [r4] - adds r1, r6 - ldrb r0, [r1] - orrs r0, r2 - strb r0, [r1] - adds r6, 0x1 - cmp r6, 0xF - ble _0819064A - bl LoadMonIconPalettes - ldr r0, =sub_8190CD4 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r6, r0, 24 - ldr r1, =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r0, r1 - movs r1, 0 - strh r1, [r0, 0x8] - strh r1, [r0, 0xC] - mov r1, r9 - strh r1, [r0, 0xE] - strh r7, [r0, 0x10] - mov r2, r9 - cmp r2, 0x2 - bne _081906A8 - lsrs r1, r5, 24 - movs r0, 0 - bl sub_819314C - ldr r0, =gUnknown_0203CD78 - ldr r1, [r0] - movs r0, 0x1 - strb r0, [r1, 0x10] - b _081906B0 - .pool -_081906A8: - lsrs r1, r5, 24 - movs r0, 0 - bl sub_81924E0 -_081906B0: - movs r1, 0xFA - lsls r1, 5 - movs r0, 0 - bl SetGpuReg - mov r0, r9 - cmp r0, 0 - beq _0819076C - ldr r5, =gUnknown_0860D068 - adds r0, r5, 0 - movs r1, 0x78 - movs r2, 0x4 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r7, r0, 24 - lsls r4, r7, 4 - adds r4, r7 - lsls r4, 2 - ldr r1, =gSprites - mov r8, r1 - add r4, r8 - adds r0, r4, 0 - movs r1, 0 - bl StartSpriteAnim - strh r6, [r4, 0x2E] - adds r0, r5, 0 - movs r1, 0x78 - movs r2, 0x9C - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r7, r0, 24 - lsls r4, r7, 4 - adds r4, r7 - lsls r4, 2 - add r4, r8 - adds r0, r4, 0 - movs r1, 0x1 - bl StartSpriteAnim - strh r6, [r4, 0x2E] - ldr r5, =gUnknown_0860D050 - adds r0, r5, 0 - movs r1, 0x6 - movs r2, 0x50 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r7, r0, 24 - lsls r0, r7, 4 - adds r0, r7 - lsls r0, 2 - mov r2, r8 - adds r4, r0, r2 - adds r0, r4, 0 - movs r1, 0 - bl StartSpriteAnim - strh r6, [r4, 0x2E] - movs r0, 0 - strh r0, [r4, 0x30] - mov r1, r9 - cmp r1, 0x1 - bne _08190746 - adds r0, r4, 0 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] -_08190746: - adds r0, r5, 0 - movs r1, 0xEA - movs r2, 0x50 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r7, r0, 24 - lsls r4, r7, 4 - adds r4, r7 - lsls r4, 2 - add r4, r8 - adds r0, r4, 0 - movs r1, 0x1 - bl StartSpriteAnim - strh r6, [r4, 0x2E] - movs r0, 0x1 - strh r0, [r4, 0x30] -_0819076C: - mov r0, r10 - bl DestroyTask -_08190772: - 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_8190400 - - thumb_func_start sub_8190790 -sub_8190790: @ 8190790 - push {lr} - adds r2, r0, 0 - ldrh r0, [r2, 0x22] - adds r1, r0, 0x4 - strh r1, [r2, 0x22] - movs r3, 0x2E - ldrsh r0, [r2, r3] - cmp r0, 0 - beq _081907D4 - lsls r0, r1, 16 - asrs r0, 16 - movs r1, 0x20 - negs r1, r1 - cmp r0, r1 - blt _081907BC - adds r3, r2, 0 - adds r3, 0x3E - ldrb r1, [r3] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r3] -_081907BC: - ldrh r0, [r2, 0x30] - adds r0, 0x1 - strh r0, [r2, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x28 - bne _081907F0 - ldr r0, =SpriteCallbackDummy - str r0, [r2, 0x1C] - b _081907F0 - .pool -_081907D4: - lsls r0, r1, 16 - asrs r0, 16 - cmp r0, 0xBF - ble _081907F0 - ldr r0, =gUnknown_0203CD78 - ldr r0, [r0] - movs r3, 0x32 - ldrsh r1, [r2, r3] - adds r0, r1 - movs r1, 0xFF - strb r1, [r0] - ldrh r0, [r2, 0x34] - bl sub_818D8F0 -_081907F0: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8190790 - - thumb_func_start sub_81907F8 -sub_81907F8: @ 81907F8 - push {lr} - adds r2, r0, 0 - ldrh r0, [r2, 0x22] - subs r1, r0, 0x4 - strh r1, [r2, 0x22] - movs r3, 0x2E - ldrsh r0, [r2, r3] - cmp r0, 0 - beq _08190838 - lsls r0, r1, 16 - asrs r0, 16 - cmp r0, 0xC0 - bgt _08190820 - adds r3, r2, 0 - adds r3, 0x3E - ldrb r1, [r3] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r3] -_08190820: - ldrh r0, [r2, 0x30] - adds r0, 0x1 - strh r0, [r2, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x28 - bne _08190858 - ldr r0, =SpriteCallbackDummy - str r0, [r2, 0x1C] - b _08190858 - .pool -_08190838: - lsls r0, r1, 16 - asrs r0, 16 - movs r1, 0x20 - negs r1, r1 - cmp r0, r1 - bgt _08190858 - ldr r0, =gUnknown_0203CD78 - ldr r0, [r0] - movs r3, 0x32 - ldrsh r1, [r2, r3] - adds r0, r1 - movs r1, 0xFF - strb r1, [r0] - ldrh r0, [r2, 0x34] - bl sub_818D8F0 -_08190858: - pop {r0} - bx r0 - .pool - thumb_func_end sub_81907F8 - - thumb_func_start sub_8190860 -sub_8190860: @ 8190860 - push {lr} - adds r2, r0, 0 - ldrh r0, [r2, 0x20] - adds r1, r0, 0x4 - strh r1, [r2, 0x20] - movs r3, 0x2E - ldrsh r0, [r2, r3] - cmp r0, 0 - beq _081908A4 - lsls r0, r1, 16 - asrs r0, 16 - movs r1, 0x20 - negs r1, r1 - cmp r0, r1 - blt _0819088C - adds r3, r2, 0 - adds r3, 0x3E - ldrb r1, [r3] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r3] -_0819088C: - ldrh r0, [r2, 0x30] - adds r0, 0x1 - strh r0, [r2, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x40 - bne _081908C0 - ldr r0, =SpriteCallbackDummy - str r0, [r2, 0x1C] - b _081908C0 - .pool -_081908A4: - lsls r1, 16 - ldr r0, =0x010f0000 - cmp r1, r0 - ble _081908C0 - ldr r0, =gUnknown_0203CD78 - ldr r0, [r0] - movs r3, 0x32 - ldrsh r1, [r2, r3] - adds r0, r1 - movs r1, 0xFF - strb r1, [r0] - ldrh r0, [r2, 0x34] - bl sub_818D8F0 -_081908C0: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8190860 - - thumb_func_start sub_81908CC -sub_81908CC: @ 81908CC - push {lr} - adds r2, r0, 0 - ldrh r0, [r2, 0x20] - subs r1, r0, 0x4 - strh r1, [r2, 0x20] - movs r3, 0x2E - ldrsh r0, [r2, r3] - cmp r0, 0 - beq _08190910 - lsls r1, 16 - movs r0, 0x88 - lsls r0, 17 - cmp r1, r0 - bgt _081908F6 - adds r3, r2, 0 - adds r3, 0x3E - ldrb r1, [r3] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r3] -_081908F6: - ldrh r0, [r2, 0x30] - adds r0, 0x1 - strh r0, [r2, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x40 - bne _08190930 - ldr r0, =SpriteCallbackDummy - str r0, [r2, 0x1C] - b _08190930 - .pool -_08190910: - lsls r0, r1, 16 - asrs r0, 16 - movs r1, 0x20 - negs r1, r1 - cmp r0, r1 - bgt _08190930 - ldr r0, =gUnknown_0203CD78 - ldr r0, [r0] - movs r3, 0x32 - ldrsh r1, [r2, r3] - adds r0, r1 - movs r1, 0xFF - strb r1, [r0] - ldrh r0, [r2, 0x34] - bl sub_818D8F0 -_08190930: - pop {r0} - bx r0 - .pool - thumb_func_end sub_81908CC - - thumb_func_start sub_8190938 -sub_8190938: @ 8190938 - push {lr} - adds r1, r0, 0 - movs r2, 0x34 - ldrsh r0, [r1, r2] - cmp r0, 0 - bne _0819094A - adds r0, r1, 0 - bl UpdateMonIconFrame -_0819094A: - pop {r0} - bx r0 - thumb_func_end sub_8190938 - - thumb_func_start sub_8190950 -sub_8190950: @ 8190950 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x34 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _08190962 - adds r0, r4, 0 - bl UpdateMonIconFrame -_08190962: - ldrh r0, [r4, 0x22] - adds r1, r0, 0x4 - strh r1, [r4, 0x22] - movs r2, 0x2E - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _081909A4 - lsls r0, r1, 16 - asrs r0, 16 - movs r1, 0x10 - negs r1, r1 - cmp r0, r1 - blt _0819098A - adds r2, r4, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] -_0819098A: - ldrh r0, [r4, 0x30] - adds r0, 0x1 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x28 - bne _081909C0 - ldr r0, =sub_8190938 - str r0, [r4, 0x1C] - b _081909C0 - .pool -_081909A4: - lsls r0, r1, 16 - asrs r0, 16 - cmp r0, 0xAF - ble _081909C0 - ldr r0, =gUnknown_0203CD78 - ldr r0, [r0] - movs r2, 0x32 - ldrsh r1, [r4, r2] - adds r0, r1 - movs r1, 0xFF - strb r1, [r0] - adds r0, r4, 0 - bl sub_80D2EF8 -_081909C0: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8190950 - - thumb_func_start sub_81909CC -sub_81909CC: @ 81909CC - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x34 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _081909DE - adds r0, r4, 0 - bl UpdateMonIconFrame -_081909DE: - ldrh r0, [r4, 0x22] - subs r1, r0, 0x4 - strh r1, [r4, 0x22] - movs r2, 0x2E - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _08190A1C - lsls r0, r1, 16 - asrs r0, 16 - cmp r0, 0xB0 - bgt _08190A02 - adds r2, r4, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] -_08190A02: - ldrh r0, [r4, 0x30] - adds r0, 0x1 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x28 - bne _08190A3C - ldr r0, =sub_8190938 - str r0, [r4, 0x1C] - b _08190A3C - .pool -_08190A1C: - lsls r0, r1, 16 - asrs r0, 16 - movs r1, 0x10 - negs r1, r1 - cmp r0, r1 - bgt _08190A3C - ldr r0, =gUnknown_0203CD78 - ldr r0, [r0] - movs r2, 0x32 - ldrsh r1, [r4, r2] - adds r0, r1 - movs r1, 0xFF - strb r1, [r0] - adds r0, r4, 0 - bl sub_80D2EF8 -_08190A3C: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81909CC - - thumb_func_start sub_8190A48 -sub_8190A48: @ 8190A48 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x34 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _08190A5A - adds r0, r4, 0 - bl UpdateMonIconFrame -_08190A5A: - ldrh r0, [r4, 0x20] - adds r1, r0, 0x4 - strh r1, [r4, 0x20] - movs r2, 0x2E - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _08190A9C - lsls r0, r1, 16 - asrs r0, 16 - movs r1, 0x10 - negs r1, r1 - cmp r0, r1 - blt _08190A82 - adds r2, r4, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] -_08190A82: - ldrh r0, [r4, 0x30] - adds r0, 0x1 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x40 - bne _08190AB8 - ldr r0, =sub_8190938 - str r0, [r4, 0x1C] - b _08190AB8 - .pool -_08190A9C: - lsls r0, r1, 16 - asrs r0, 16 - cmp r0, 0xFF - ble _08190AB8 - ldr r0, =gUnknown_0203CD78 - ldr r0, [r0] - movs r2, 0x32 - ldrsh r1, [r4, r2] - adds r0, r1 - movs r1, 0xFF - strb r1, [r0] - adds r0, r4, 0 - bl sub_80D2EF8 -_08190AB8: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8190A48 - - thumb_func_start sub_8190AC4 -sub_8190AC4: @ 8190AC4 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x34 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _08190AD6 - adds r0, r4, 0 - bl UpdateMonIconFrame -_08190AD6: - ldrh r0, [r4, 0x20] - subs r1, r0, 0x4 - strh r1, [r4, 0x20] - movs r2, 0x2E - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _08190B14 - lsls r1, 16 - movs r0, 0x80 - lsls r0, 17 - cmp r1, r0 - bgt _08190AFC - adds r2, r4, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] -_08190AFC: - ldrh r0, [r4, 0x30] - adds r0, 0x1 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x40 - bne _08190B34 - ldr r0, =sub_8190938 - str r0, [r4, 0x1C] - b _08190B34 - .pool -_08190B14: - lsls r0, r1, 16 - asrs r0, 16 - movs r1, 0x10 - negs r1, r1 - cmp r0, r1 - bgt _08190B34 - ldr r0, =gUnknown_0203CD78 - ldr r0, [r0] - movs r2, 0x32 - ldrsh r1, [r4, r2] - adds r0, r1 - movs r1, 0xFF - strb r1, [r0] - adds r0, r4, 0 - bl sub_80D2EF8 -_08190B34: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8190AC4 - - thumb_func_start sub_8190B40 -sub_8190B40: @ 8190B40 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - adds r3, r0, 0 - movs r0, 0x2E - ldrsh r6, [r3, r0] - ldr r2, =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r4, r0, r2 - movs r7, 0x10 - ldrsh r1, [r4, r7] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - movs r1, 0xA - ldrsh r0, [r0, r1] - ldr r1, =gUnknown_0860D080 - adds r0, r1 - ldrb r0, [r0] - mov r10, r0 - ldr r1, =gSaveBlock2Ptr - ldr r5, [r1] - ldr r7, =0x00000cb2 - adds r0, r5, r7 - ldrh r0, [r0] - mov r12, r0 - movs r7, 0xE - ldrsh r0, [r4, r7] - mov r9, r2 - mov r8, r1 - cmp r0, 0x1 - bne _08190C0C - movs r1, 0x30 - ldrsh r0, [r3, r1] - cmp r0, 0 - beq _08190BFC - mov r2, r10 - lsls r0, r2, 2 - adds r1, r5, r0 - ldr r7, =0x00000d25 - adds r1, r7 - ldrb r2, [r1] - lsls r1, r2, 29 - adds r4, r0, 0 - cmp r1, 0 - bge _08190BB6 - ldr r0, =gUnknown_0203CD78 - ldr r0, [r0] - ldrb r1, [r0, 0x10] - subs r1, 0x1 - lsls r0, r2, 27 - lsrs r0, 30 - cmp r1, r0 - blt _08190C32 -_08190BB6: - mov r1, r8 - ldr r0, [r1] - adds r0, r4 - ldr r2, =0x00000d25 - adds r0, r2 - ldrb r0, [r0] - lsls r0, 29 - cmp r0, 0 - blt _08190BD4 - ldr r0, =gUnknown_0203CD78 - ldr r0, [r0] - ldrb r0, [r0, 0x10] - subs r0, 0x1 - cmp r0, r12 - blt _08190C32 -_08190BD4: - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - add r0, r9 - movs r7, 0x8 - ldrsh r0, [r0, r7] - b _08190C4C - .pool -_08190BFC: - ldr r0, =gUnknown_0203CD78 - ldr r0, [r0] - ldrb r0, [r0, 0x10] - cmp r0, 0 - bne _08190C32 - b _08190C48 - .pool -_08190C0C: - movs r2, 0x30 - ldrsh r0, [r3, r2] - cmp r0, 0 - beq _08190C28 - ldr r0, =gUnknown_0203CD78 - ldr r0, [r0] - ldrb r0, [r0, 0x10] - cmp r0, 0x1 - bls _08190C32 - movs r7, 0x8 - ldrsh r0, [r4, r7] - b _08190C4C - .pool -_08190C28: - ldr r0, =gUnknown_0203CD78 - ldr r0, [r0] - ldrb r0, [r0, 0x10] - cmp r0, 0 - beq _08190C48 -_08190C32: - adds r2, r3, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - b _08190C5C - .pool -_08190C48: - movs r1, 0x8 - ldrsh r0, [r4, r1] -_08190C4C: - cmp r0, 0x2 - bne _08190C5C - adds r0, r3, 0 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] -_08190C5C: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8190B40 - - thumb_func_start sub_8190C6C -sub_8190C6C: @ 8190C6C - push {lr} - adds r3, r0, 0 - movs r0, 0x2E - ldrsh r1, [r3, r0] - ldr r2, =gTasks - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r1, r0, r2 - movs r2, 0xE - ldrsh r0, [r1, r2] - cmp r0, 0x1 - bne _08190C9C - ldr r0, =gUnknown_0203CD78 - ldr r0, [r0] - ldrb r0, [r0, 0x10] - cmp r0, 0 - bne _08190CA6 - b _08190CC0 - .pool -_08190C9C: - ldr r0, =gUnknown_0203CD78 - ldr r0, [r0] - ldrb r0, [r0, 0x10] - cmp r0, 0x1 - beq _08190CC0 -_08190CA6: - movs r2, 0x8 - ldrsh r0, [r1, r2] - cmp r0, 0x2 - bne _08190CCE - adds r0, r3, 0 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - b _08190CCE - .pool -_08190CC0: - adds r2, r3, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] -_08190CCE: - pop {r0} - bx r0 - thumb_func_end sub_8190C6C - thumb_func_start sub_8190CD4 sub_8190CD4: @ 8190CD4 push {r4-r7,lr} @@ -7719,26 +6341,26 @@ _0819438C: movs r0, 0x1 adds r2, r5, 0 movs r3, 0 - bl copy_decompressed_tile_data_to_vram_autofree + bl DecompressAndLoadBgGfxUsingHeap ldr r1, =gUnknown_08D834FC str r6, [sp] movs r0, 0x2 adds r2, r5, 0 movs r3, 0 - bl copy_decompressed_tile_data_to_vram_autofree + bl DecompressAndLoadBgGfxUsingHeap ldr r1, =gUnknown_08D83B2C movs r4, 0x1 str r4, [sp] movs r0, 0x2 adds r2, r5, 0 movs r3, 0 - bl copy_decompressed_tile_data_to_vram_autofree + bl DecompressAndLoadBgGfxUsingHeap ldr r1, =gUnknown_08D83C3C str r4, [sp] movs r0, 0x3 adds r2, r5, 0 movs r3, 0 - bl copy_decompressed_tile_data_to_vram_autofree + bl DecompressAndLoadBgGfxUsingHeap ldr r0, =gUnknown_08D85358 movs r4, 0x80 lsls r4, 2 diff --git a/asm/easy_chat.s b/asm/easy_chat.s index 2762670431..768311639d 100644 --- a/asm/easy_chat.s +++ b/asm/easy_chat.s @@ -2706,7 +2706,7 @@ _0811C044: movs r0, 0x3 movs r2, 0 movs r3, 0 - bl copy_decompressed_tile_data_to_vram_autofree + bl DecompressAndLoadBgGfxUsingHeap ldr r1, =gEasyChatWindow_Tilemap movs r0, 0x3 movs r2, 0 @@ -2732,7 +2732,7 @@ _0811C090: movs r0, 0x1 movs r2, 0 movs r3, 0 - bl copy_decompressed_tile_data_to_vram_autofree + bl DecompressAndLoadBgGfxUsingHeap movs r0, 0x1 bl CopyBgTilemapBufferToVram b _0811C124 diff --git a/asm/pokemon_storage_system.s b/asm/pokemon_storage_system.s index 2633db13f5..2a14d1e9f8 100644 --- a/asm/pokemon_storage_system.s +++ b/asm/pokemon_storage_system.s @@ -3805,7 +3805,7 @@ sub_80C9FEC: @ 80C9FEC movs r0, 0x3 movs r2, 0 movs r3, 0 - bl copy_decompressed_tile_data_to_vram_autofree + bl DecompressAndLoadBgGfxUsingHeap ldr r0, =gUnknown_08572174 ldr r1, =0x0600f800 bl LZ77UnCompVram @@ -3844,7 +3844,7 @@ sub_80CA044: @ 80CA044 movs r0, 0x1 movs r2, 0 movs r3, 0 - bl copy_decompressed_tile_data_to_vram_autofree + bl DecompressAndLoadBgGfxUsingHeap ldr r0, =gUnknown_085722A0 ldr r5, =gUnknown_02039D08 ldr r1, [r5] diff --git a/asm/rom_8011DC0.s b/asm/rom_8011DC0.s index 306e2892d5..01f29e0a51 100644 --- a/asm/rom_8011DC0.s +++ b/asm/rom_8011DC0.s @@ -7909,7 +7909,7 @@ bgid_upload_textbox_1: @ 8019938 lsls r2, 1 movs r3, 0 str r3, [sp] - bl copy_decompressed_tile_data_to_vram_autofree + bl DecompressAndLoadBgGfxUsingHeap add sp, 0x4 pop {r0} bx r0 @@ -9386,7 +9386,7 @@ sub_801A43C: @ 801A43C movs r0, 0x1 movs r2, 0 movs r3, 0 - bl copy_decompressed_tile_data_to_vram_autofree + bl DecompressAndLoadBgGfxUsingHeap ldr r1, =gWirelessInfoScreenTilemap movs r0, 0x1 movs r2, 0 diff --git a/asm/trade.s b/asm/trade.s index 19dfd5ff92..3267fa950b 100644 --- a/asm/trade.s +++ b/asm/trade.s @@ -7609,7 +7609,7 @@ sub_807B170: @ 807B170 mov r1, r10 movs r2, 0 movs r3, 0 - bl copy_decompressed_tile_data_to_vram_autofree + bl DecompressAndLoadBgGfxUsingHeap ldr r0, =gBattleTextboxTilemap mov r8, r0 ldr r4, =gDecompressionBuffer @@ -7633,7 +7633,7 @@ sub_807B170: @ 807B170 mov r1, r10 movs r2, 0 movs r3, 0 - bl copy_decompressed_tile_data_to_vram_autofree + bl DecompressAndLoadBgGfxUsingHeap mov r0, r8 adds r1, r4, 0 bl LZDecompressWram diff --git a/include/global.h b/include/global.h index 5b78fc4c04..4bfa6194d9 100644 --- a/include/global.h +++ b/include/global.h @@ -393,19 +393,8 @@ struct BattleFrontier /*0xD0A*/ u8 field_D0A; /*0xD0B*/ u8 field_D0B; /*0xD0C*/ u16 field_D0C[2][2]; - /*0xD14*/ u16 field_D14[2]; - /*0xD18*/ u8 field_D18; - /*0xD19*/ u8 field_D19; - /*0xD1A*/ u8 field_D1A; - /*0xD1B*/ u8 field_D1B; - /*0xD1C*/ u8 field_D1C; - /*0xD1D*/ u8 field_D1D; - /*0xD1E*/ u8 field_D1E; - /*0xD1F*/ u8 field_D1F; - /*0xD20*/ u8 field_D20; - /*0xD21*/ u8 field_D21; - /*0xD22*/ u8 field_D22; - /*0xD23*/ u8 field_D23; + /*0xD14*/ u16 field_D14[2][2]; + /*0xD1C*/ u16 field_D1C[2][2]; /*0xD24*/ struct BattleDomeTrainer domeTrainers[DOME_TOURNAMENT_TRAINERS_COUNT]; /*0xD64*/ u16 domeMonId[DOME_TOURNAMENT_TRAINERS_COUNT][3]; /*0xDC8*/ u16 field_DC8[2]; diff --git a/include/menu.h b/include/menu.h index 5dfd99c64e..6273747588 100644 --- a/include/menu.h +++ b/include/menu.h @@ -53,7 +53,7 @@ void *decompress_and_copy_tile_data_to_vram(u8 bgId, const void *src, int size, bool8 free_temp_tile_data_buffers_if_possible(void); struct WindowTemplate CreateWindowTemplate(u8, u8, u8, u8, u8, u8, u16); void CreateYesNoMenu(const struct WindowTemplate *windowTemplate, u16 borderFirstTileNum, u8 borderPalette, u8 initialCursorPos); -void copy_decompressed_tile_data_to_vram_autofree(u8 bgId, const void *src, int size, u16 offset, u8 mode); +void DecompressAndLoadBgGfxUsingHeap(u8 bgId, const void *src, int size, u16 offset, u8 mode); s8 Menu_ProcessInputNoWrap_(void); s8 ProcessMenuInput_other(void); void do_scheduled_bg_tilemap_copies_to_vram(void); diff --git a/src/battle_frontier_1.c b/src/battle_frontier_1.c index 04faad6cd7..d217bfa603 100644 --- a/src/battle_frontier_1.c +++ b/src/battle_frontier_1.c @@ -9,6 +9,16 @@ #include "malloc.h" #include "string_util.h" #include "random.h" +#include "task.h" +#include "main.h" +#include "gpu_regs.h" +#include "text.h" +#include "bg.h" +#include "window.h" +#include "palette.h" +#include "decompress.h" +#include "menu.h" +#include "pokemon_icon.h" #include "constants/species.h" #include "constants/moves.h" #include "constants/trainers.h" @@ -23,6 +33,12 @@ struct Unknown_0203BC8C_Struct u8 nature; }; +struct Unknown_0203CD78_Struct +{ + u8 arr[16]; + u8 unk_11; +}; + extern struct Unknown_0203BC8C_Struct *gFacilityTrainerMons; extern void sub_81B8558(void); @@ -32,10 +48,22 @@ extern u16 sub_8163524(u16); extern u8 GetFrontierEnemyMonLevel(void); extern void sub_8195898(u8 *dst, u16 trainerId); extern u16 sub_81A5060(u8, u8); +extern void sub_8162614(u16, u8); +extern void sub_81A4C30(void); +extern u16 sub_818D8F0(u16); extern u8 gUnknown_0203CEF8[]; extern u32 gUnknown_0203CD70; extern u32 gUnknown_0203CD74; +extern u16 gBattle_BG0_X; +extern u16 gBattle_BG0_Y; +extern u16 gBattle_BG1_X; +extern u16 gBattle_BG1_Y; +extern u16 gBattle_BG2_X; +extern u16 gBattle_BG2_Y; +extern u16 gBattle_BG3_X; +extern u16 gBattle_BG3_Y; +extern struct Unknown_0203CD78_Struct *gUnknown_0203CD78; extern void (* const gUnknown_0860D090[])(void); extern const u32 gUnknown_0860D0EC[][2]; @@ -52,6 +80,13 @@ s32 sub_818FCBC(u16 tournamentTrainerId, bool8 arg1); s32 sub_818FDB8(u16 tournamentTrainerId, bool8 arg1); s32 sub_818FFC0(s32 move, s32 species, s32 arg2); s32 sub_818FEB4(s32 *arr, bool8 arg1); +u16 sub_81902AC(void); +void sub_8190400(u8 taskId); +void sub_8190CD4(u8 taskId); +void sub_8194B54(void); +void sub_8194B70(void); +void sub_819314C(u8, u8); +void sub_81924E0(u8, u8); // code void sub_818E9AC(void) @@ -62,14 +97,14 @@ void sub_818E9AC(void) void sub_818E9CC(void) { u32 lvlMode = gSaveBlock2Ptr->frontier.chosenLvl; - u32 id = VarGet(VAR_0x40CE); + u32 battleMode = VarGet(VAR_0x40CE); gSaveBlock2Ptr->frontier.field_CA8 = 0; gSaveBlock2Ptr->frontier.field_CB2 = 0; gSaveBlock2Ptr->frontier.field_CA9_a = 0; gSaveBlock2Ptr->frontier.field_CA9_b = 0; - if (!(gSaveBlock2Ptr->frontier.field_CDC & gUnknown_0860D0EC[id][lvlMode])) - gSaveBlock2Ptr->frontier.field_D0C[id][lvlMode] = 0; + if (!(gSaveBlock2Ptr->frontier.field_CDC & gUnknown_0860D0EC[battleMode][lvlMode])) + gSaveBlock2Ptr->frontier.field_D0C[battleMode][lvlMode] = 0; saved_warp2_set(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1); gTrainerBattleOpponent_A = 0; @@ -78,15 +113,15 @@ void sub_818E9CC(void) void sub_818EA84(void) { u32 lvlMode = gSaveBlock2Ptr->frontier.chosenLvl; - u32 id = VarGet(VAR_0x40CE); + u32 battleMode = VarGet(VAR_0x40CE); switch (gSpecialVar_0x8005) { case 0: - gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_D0C[id][lvlMode]; + gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_D0C[battleMode][lvlMode]; break; case 1: - gSpecialVar_Result = ((gSaveBlock2Ptr->frontier.field_CDC & gUnknown_0860D0EC[id][lvlMode]) != 0); + gSpecialVar_Result = ((gSaveBlock2Ptr->frontier.field_CDC & gUnknown_0860D0EC[battleMode][lvlMode]) != 0); break; case 2: gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_D08_0; @@ -146,18 +181,18 @@ void sub_818EA84(void) void sub_818ED28(void) { u32 lvlMode = gSaveBlock2Ptr->frontier.chosenLvl; - u32 id = VarGet(VAR_0x40CE); + u32 battleMode = VarGet(VAR_0x40CE); switch (gSpecialVar_0x8005) { case 0: - gSaveBlock2Ptr->frontier.field_D0C[id][lvlMode] = gSpecialVar_0x8006; + gSaveBlock2Ptr->frontier.field_D0C[battleMode][lvlMode] = gSpecialVar_0x8006; break; case 1: if (gSpecialVar_0x8006) - gSaveBlock2Ptr->frontier.field_CDC |= gUnknown_0860D0EC[id][lvlMode]; + gSaveBlock2Ptr->frontier.field_CDC |= gUnknown_0860D0EC[battleMode][lvlMode]; else - gSaveBlock2Ptr->frontier.field_CDC &= gUnknown_0860D0FC[id][lvlMode]; + gSaveBlock2Ptr->frontier.field_CDC &= gUnknown_0860D0FC[battleMode][lvlMode]; break; case 2: gSaveBlock2Ptr->frontier.field_D08_0 = gSpecialVar_0x8006; @@ -1267,7 +1302,7 @@ void CreateDomeMon(u8 monPartyId, u16 tournamentTrainerId, u8 tournamentMonId, u { s32 i; u8 happiness = 0xFF; - u8 fixedIv = GetDomeTrainerMonIvs(tournamentTrainerId); // UB: Should be using trainerId instead of tournamentTrainerId. As a result, all Pokemon have ivs of 3. + u8 fixedIv = GetDomeTrainerMonIvs(tournamentTrainerId); // BUG: Should be using trainerId instead of tournamentTrainerId. As a result, all Pokemon have ivs of 3. u8 level = GetFrontierEnemyMonLevel(); CreateMonWithEVSpreadPersonalityOTID(&gEnemyParty[monPartyId], gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonId[tournamentTrainerId][tournamentMonId]].species, @@ -1466,6 +1501,8 @@ s32 sub_818FEB4(s32 *arr, bool8 arg1) return bits; } +// Functionally equivalent, while loop is impossible to match. +#ifdef NONMATCHING s32 sub_818FFC0(s32 move, s32 species, s32 arg2) { s32 type1, type2, ability, moveType; @@ -1583,3 +1620,756 @@ s32 sub_818FFC0(s32 move, s32 species, s32 arg2) return typePower; } +#else +NAKED +s32 sub_818FFC0(s32 move, s32 species, s32 arg2) +{ + asm_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, 0x8\n\ + adds r3, r0, 0\n\ + adds r4, r1, 0\n\ + str r2, [sp]\n\ + movs r6, 0\n\ + movs r2, 0x14\n\ + cmp r3, 0\n\ + beq _0818FFF0\n\ + ldr r0, =0x0000ffff\n\ + cmp r3, r0\n\ + beq _0818FFF0\n\ + ldr r0, =gBattleMoves\n\ + lsls r1, r3, 1\n\ + adds r1, r3\n\ + lsls r1, 2\n\ + adds r3, r1, r0\n\ + ldrb r0, [r3, 0x1]\n\ + cmp r0, 0\n\ + bne _0818FFFC\n\ +_0818FFF0:\n\ + movs r0, 0\n\ + b _08190156\n\ + .pool\n\ +_0818FFFC:\n\ + ldr r1, =gBaseStats\n\ + lsls r0, r4, 3\n\ + subs r0, r4\n\ + lsls r0, 2\n\ + adds r0, r1\n\ + ldrb r1, [r0, 0x6]\n\ + mov r10, r1\n\ + ldrb r1, [r0, 0x7]\n\ + mov r9, r1\n\ + ldrb r0, [r0, 0x16]\n\ + mov r8, r0\n\ + ldrb r3, [r3, 0x2]\n\ + str r3, [sp, 0x4]\n\ + cmp r0, 0x1A\n\ + bne _0819002C\n\ + cmp r3, 0x4\n\ + bne _0819002C\n\ + ldr r0, [sp]\n\ + cmp r0, 0x1\n\ + bne _081900AA\n\ + movs r2, 0x8\n\ + b _081900A4\n\ + .pool\n\ +_0819002C:\n\ + ldr r0, =gTypeEffectiveness\n\ + adds r1, r6, r0\n\ + ldrb r0, [r1]\n\ + ldr r7, =gTypeEffectiveness\n\ + cmp r0, 0xFF\n\ + beq _081900A4\n\ + adds r4, r1, 0\n\ +_0819003A:\n\ + ldrb r0, [r4]\n\ + cmp r0, 0xFE\n\ + beq _08190096\n\ + ldrb r0, [r4]\n\ + ldr r1, [sp, 0x4]\n\ + cmp r0, r1\n\ + bne _08190096\n\ + ldrb r0, [r4, 0x1]\n\ + adds r5, r6, 0x1\n\ + cmp r0, r10\n\ + bne _0819006C\n\ + adds r1, r6, 0x2\n\ + mov r0, r8\n\ + cmp r0, 0x19\n\ + bne _0819005E\n\ + ldrb r0, [r4, 0x2]\n\ + cmp r0, 0x28\n\ + bne _0819006C\n\ +_0819005E:\n\ + adds r0, r1, r7\n\ + ldrb r0, [r0]\n\ + muls r0, r2\n\ + movs r1, 0xA\n\ + bl __divsi3\n\ + adds r2, r0, 0\n\ +_0819006C:\n\ + adds r0, r5, r7\n\ + ldrb r0, [r0]\n\ + cmp r0, r9\n\ + bne _08190096\n\ + cmp r10, r9\n\ + beq _08190096\n\ + adds r1, r6, 0x2\n\ + mov r0, r8\n\ + cmp r0, 0x19\n\ + bne _08190088\n\ + adds r0, r1, r7\n\ + ldrb r0, [r0]\n\ + cmp r0, 0x28\n\ + bne _08190096\n\ +_08190088:\n\ + adds r0, r1, r7\n\ + ldrb r0, [r0]\n\ + muls r0, r2\n\ + movs r1, 0xA\n\ + bl __divsi3\n\ + adds r2, r0, 0\n\ +_08190096:\n\ + adds r4, 0x3\n\ + adds r6, 0x3\n\ + ldr r1, =gTypeEffectiveness\n\ + adds r0, r6, r1\n\ + ldrb r0, [r0]\n\ + cmp r0, 0xFF\n\ + bne _0819003A\n\ +_081900A4:\n\ + ldr r0, [sp]\n\ + cmp r0, 0x1\n\ + beq _081900E0\n\ +_081900AA:\n\ + ldr r1, [sp]\n\ + cmp r1, 0x1\n\ + bgt _081900BC\n\ + cmp r1, 0\n\ + beq _081900C4\n\ + b _08190154\n\ + .pool\n\ +_081900BC:\n\ + ldr r0, [sp]\n\ + cmp r0, 0x2\n\ + beq _08190114\n\ + b _08190154\n\ +_081900C4:\n\ + cmp r2, 0xA\n\ + beq _08190146\n\ + cmp r2, 0xA\n\ + ble _08190146\n\ + cmp r2, 0x28\n\ + beq _0819014A\n\ + cmp r2, 0x28\n\ + bgt _081900DA\n\ + cmp r2, 0x14\n\ + beq _08190104\n\ + b _08190146\n\ +_081900DA:\n\ + cmp r2, 0x50\n\ + bne _08190146\n\ + b _08190100\n\ +_081900E0:\n\ + cmp r2, 0xA\n\ + beq _08190104\n\ + cmp r2, 0xA\n\ + bgt _081900F2\n\ + cmp r2, 0\n\ + beq _08190100\n\ + cmp r2, 0x5\n\ + beq _0819014A\n\ + b _08190146\n\ +_081900F2:\n\ + cmp r2, 0x28\n\ + beq _08190108\n\ + cmp r2, 0x28\n\ + ble _08190146\n\ + cmp r2, 0x50\n\ + beq _0819010E\n\ + b _08190146\n\ +_08190100:\n\ + movs r2, 0x8\n\ + b _08190154\n\ +_08190104:\n\ + movs r2, 0x2\n\ + b _08190154\n\ +_08190108:\n\ + movs r2, 0x2\n\ + negs r2, r2\n\ + b _08190154\n\ +_0819010E:\n\ + movs r2, 0x4\n\ + negs r2, r2\n\ + b _08190154\n\ +_08190114:\n\ + cmp r2, 0xA\n\ + beq _08190146\n\ + cmp r2, 0xA\n\ + bgt _08190126\n\ + cmp r2, 0\n\ + beq _0819013A\n\ + cmp r2, 0x5\n\ + beq _08190140\n\ + b _08190146\n\ +_08190126:\n\ + cmp r2, 0x28\n\ + beq _0819014E\n\ + cmp r2, 0x28\n\ + bgt _08190134\n\ + cmp r2, 0x14\n\ + beq _0819014A\n\ + b _08190146\n\ +_08190134:\n\ + cmp r2, 0x50\n\ + beq _08190152\n\ + b _08190146\n\ +_0819013A:\n\ + movs r2, 0x10\n\ + negs r2, r2\n\ + b _08190154\n\ +_08190140:\n\ + movs r2, 0x8\n\ + negs r2, r2\n\ + b _08190154\n\ +_08190146:\n\ + movs r2, 0\n\ + b _08190154\n\ +_0819014A:\n\ + movs r2, 0x4\n\ + b _08190154\n\ +_0819014E:\n\ + movs r2, 0xC\n\ + b _08190154\n\ +_08190152:\n\ + movs r2, 0x14\n\ +_08190154:\n\ + adds r0, r2, 0\n\ +_08190156:\n\ + add sp, 0x8\n\ + pop {r3-r5}\n\ + mov r8, r3\n\ + mov r9, r4\n\ + mov r10, r5\n\ + pop {r4-r7}\n\ + pop {r1}\n\ + bx r1\n\ + "); +} +#endif // NONMATCHING + +u8 GetDomeTrainerMonIvs(u16 trainerId) +{ + u8 fixedIv; + if (trainerId <= 99) + fixedIv = 3; + else if (trainerId <= 119) + fixedIv = 6; + else if (trainerId <= 139) + fixedIv = 9; + else if (trainerId <= 159) + fixedIv = 12; + else if (trainerId <= 179) + fixedIv = 15; + else if (trainerId <= 199) + fixedIv = 18; + else if (trainerId <= 219) + fixedIv = 21; + else + fixedIv = 31; + + return fixedIv; +} + +extern const u8 gUnknown_0860D10C[][4]; +extern const u8 gUnknown_0860D14C[]; + +s32 sub_81901A0(s32 arg0, s32 trainerId) +{ + s32 i, j, val; + + for (i = 0; i < DOME_TOURNAMENT_TRAINERS_COUNT; i++) + { + if (gSaveBlock2Ptr->frontier.domeTrainers[i].trainerId == trainerId) + break; + } + + if (arg0 != 0) + { + if (arg0 == 3) + val = gUnknown_0860D10C[i][arg0] + 8; + else + val = gUnknown_0860D10C[i][arg0] + 4; + + for (j = gUnknown_0860D10C[i][arg0]; j < val; j++) + { + if (gUnknown_0860D14C[j] != i && !gSaveBlock2Ptr->frontier.domeTrainers[gUnknown_0860D14C[j]].unk1) + break; + } + + if (j != val) + return gUnknown_0860D14C[j]; + else + return 0xFF; + } + else + { + if (!gSaveBlock2Ptr->frontier.domeTrainers[gUnknown_0860D10C[i][0]].unk1) + return gUnknown_0860D10C[i][0]; + else + return 0xFF; + } +} + +void sub_8190298(void) +{ + gTrainerBattleOpponent_A = sub_81902AC(); +} + +u16 sub_81902AC(void) +{ + return gSaveBlock2Ptr->frontier.domeTrainers[sub_81901A0(gSaveBlock2Ptr->frontier.field_CB2, 0x3FF)].trainerId; +} + +void sub_81902E4(void) +{ + sub_8162614(gTrainerBattleOpponent_A, 0); +} + +void sub_81902F8(void) +{ + gSaveBlock2Ptr->frontier.field_CA8 = gSpecialVar_0x8005; + VarSet(VAR_TEMP_0, 0); + gSaveBlock2Ptr->frontier.field_CA9_a = 1; + sub_81A4C30(); +} + +void sub_819033C(void) +{ + u8 lvlMode = gSaveBlock2Ptr->frontier.chosenLvl; + u8 battleMode = VarGet(VAR_0x40CE); + + if (gSaveBlock2Ptr->frontier.field_D0C[battleMode][lvlMode] < 999) + gSaveBlock2Ptr->frontier.field_D0C[battleMode][lvlMode]++; + if (gSaveBlock2Ptr->frontier.field_D1C[battleMode][lvlMode] < 999) + gSaveBlock2Ptr->frontier.field_D1C[battleMode][lvlMode]++; + + if (gSaveBlock2Ptr->frontier.field_D0C[battleMode][lvlMode] > gSaveBlock2Ptr->frontier.field_D14[battleMode][lvlMode]) + gSaveBlock2Ptr->frontier.field_D14[battleMode][lvlMode] = gSaveBlock2Ptr->frontier.field_D0C[battleMode][lvlMode]; +} + +void sub_81903B8(void) +{ + u8 taskId = CreateTask(sub_8190400, 0); + gTasks[taskId].data[0] = 0; + gTasks[taskId].data[1] = TrainerIdToTournamentId(sub_81902AC()); + gTasks[taskId].data[2] = 0; + gTasks[taskId].data[3] = 0; + + SetMainCallback2(sub_8194B54); +} + +extern const struct BgTemplate gUnknown_0860CE84[4]; +extern const struct WindowTemplate gUnknown_0860CEB4[]; +extern const u8 gUnknown_08D83D50[]; +extern const u8 gUnknown_08D84970[]; +extern const u8 gUnknown_08D84F00[]; +extern const u8 gUnknown_08D85444[]; +extern const u8 gUnknown_08D85358[]; +extern const u8 gUnknown_08D85600[]; +extern const u8 gUnknown_08D854C8[]; +extern const struct CompressedSpriteSheet gUnknown_0860CF50; +extern const struct SpriteTemplate gUnknown_0860D068; +extern const struct SpriteTemplate gUnknown_0860D050; + +void sub_8190400(u8 taskId) +{ + s32 i; + s32 r5 = gTasks[taskId].data[1]; + s32 r9 = gTasks[taskId].data[2]; + s32 r7 = gTasks[taskId].data[3]; + + switch (gTasks[taskId].data[0]) + { + case 0: + SetHBlankCallback(NULL); + SetVBlankCallback(NULL); + EnableInterrupts(INTR_FLAG_VBLANK); + CpuFill32(0, (void *)VRAM, VRAM_SIZE); + ResetBgsAndClearDma3BusyFlags(0); + InitBgsFromTemplates(0, gUnknown_0860CE84, ARRAY_COUNT(gUnknown_0860CE84)); + InitWindows(gUnknown_0860CEB4); + DeactivateAllTextPrinters(); + gBattle_BG0_X = 0; + gBattle_BG0_Y = 0; + gBattle_BG1_X = 0; + gBattle_BG1_Y = 0; + gBattle_BG3_X = 0; + gBattle_BG3_Y = 0; + if (r9 == 2) + gBattle_BG2_X = 0, gBattle_BG2_Y = 0; + else + gBattle_BG2_X = 0, gBattle_BG2_Y = 160; + + gTasks[taskId].data[0]++; + break; + case 1: + SetGpuReg(REG_OFFSET_BLDCNT, 0); + SetGpuReg(REG_OFFSET_BLDALPHA, 0); + SetGpuReg(REG_OFFSET_BLDY, 0); + SetGpuReg(REG_OFFSET_MOSAIC, 0); + SetGpuReg(REG_OFFSET_WIN0H, 0); + SetGpuReg(REG_OFFSET_WIN0V, 0); + SetGpuReg(REG_OFFSET_WIN1H, 0); + SetGpuReg(REG_OFFSET_WIN1V, 0); + SetGpuReg(REG_OFFSET_WININ, 0); + SetGpuReg(REG_OFFSET_WINOUT, WINOUT_WIN01_BG0 | WINOUT_WIN01_BG1 | WINOUT_WIN01_BG2 | WINOUT_WIN01_BG3 | WINOUT_WIN01_OBJ | WINOUT_WIN01_CLR); + ResetPaletteFade(); + ResetSpriteData(); + FreeAllSpritePalettes(); + gReservedSpritePaletteCount = 4; + gTasks[taskId].data[0]++; + break; + case 2: + DecompressAndLoadBgGfxUsingHeap(2, gUnknown_08D83D50, 0x2000, 0, 0); + DecompressAndLoadBgGfxUsingHeap(2, gUnknown_08D84970, 0x2000, 0, 1); + DecompressAndLoadBgGfxUsingHeap(3, gUnknown_08D84F00, 0x800, 0, 1); + LoadCompressedObjectPic(&gUnknown_0860CF50); + LoadCompressedPalette(gUnknown_08D85358, 0, 0x200); + LoadCompressedPalette(gUnknown_08D85444, 0x100, 0x200); + LoadCompressedPalette(gUnknown_08D85600, 0xF0, 0x20); + if (r9 == 2) + LoadCompressedPalette(gUnknown_08D854C8, 0x50, 0x20); + CpuFill32(0, gPlttBufferFaded, 0x400); + ShowBg(0); + ShowBg(1); + ShowBg(2); + ShowBg(3); + gTasks[taskId].data[0]++; + break; + case 3: + SetVBlankCallback(sub_8194B70); + gUnknown_0203CD78 = AllocZeroed(sizeof(*gUnknown_0203CD78)); + for (i = 0; i < DOME_TOURNAMENT_TRAINERS_COUNT; i++) + gUnknown_0203CD78->arr[i] |= 0xFF; + LoadMonIconPalettes(); + i = CreateTask(sub_8190CD4, 0); + gTasks[i].data[0] = 0; + gTasks[i].data[2] = 0; + gTasks[i].data[3] = r9; + gTasks[i].data[4] = r7; + if (r9 == 2) + { + sub_819314C(0, r5); + gUnknown_0203CD78->arr[16] = 1; + } + else + { + sub_81924E0(0, r5); + } + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_ON | DISPCNT_BG_ALL_ON | DISPCNT_OBJ_1D_MAP); + if (r9 != 0) + { + r7 = CreateSprite(&gUnknown_0860D068, 120, 4, 0); + StartSpriteAnim(&gSprites[r7], 0); + gSprites[r7].data[0] = i; + + r7 = CreateSprite(&gUnknown_0860D068, 120, 156, 0); + StartSpriteAnim(&gSprites[r7], 1); + gSprites[r7].data[0] = i; + + r7 = CreateSprite(&gUnknown_0860D050, 6, 80, 0); + StartSpriteAnim(&gSprites[r7], 0); + gSprites[r7].data[0] = i; + gSprites[r7].data[1] = 0; + if (r9 == 1) + gSprites[r7].invisible = 1; + + r7 = CreateSprite(&gUnknown_0860D050, 234, 80, 0); + StartSpriteAnim(&gSprites[r7], 1); + gSprites[r7].data[0] = i; + gSprites[r7].data[1] = 1; + } + DestroyTask(taskId); + break; + } +} + +void sub_8190790(struct Sprite *sprite) +{ + sprite->pos1.y += 4; + if (sprite->data[0] != 0) + { + if (sprite->pos1.y >= -32) + sprite->invisible = 0; + if (++sprite->data[1] == 40) + sprite->callback = SpriteCallbackDummy; + } + else + { + if (sprite->pos1.y >= 192) + { + gUnknown_0203CD78->arr[sprite->data[2]] = 0xFF; + sub_818D8F0(sprite->data[3]); + } + } +} + +void sub_81907F8(struct Sprite *sprite) +{ + sprite->pos1.y -= 4; + if (sprite->data[0] != 0) + { + if (sprite->pos1.y <= 192) + sprite->invisible = 0; + if (++sprite->data[1] == 40) + sprite->callback = SpriteCallbackDummy; + } + else + { + if (sprite->pos1.y <= -32) + { + gUnknown_0203CD78->arr[sprite->data[2]] = 0xFF; + sub_818D8F0(sprite->data[3]); + } + } +} + +void sub_8190860(struct Sprite *sprite) +{ + sprite->pos1.x += 4; + if (sprite->data[0] != 0) + { + if (sprite->pos1.x >= -32) + sprite->invisible = 0; + if (++sprite->data[1] == 64) + sprite->callback = SpriteCallbackDummy; + } + else + { + if (sprite->pos1.x >= 272) + { + gUnknown_0203CD78->arr[sprite->data[2]] = 0xFF; + sub_818D8F0(sprite->data[3]); + } + } +} + +void sub_81908CC(struct Sprite *sprite) +{ + sprite->pos1.x -= 4; + if (sprite->data[0] != 0) + { + if (sprite->pos1.x <= 272) + sprite->invisible = 0; + if (++sprite->data[1] == 64) + sprite->callback = SpriteCallbackDummy; + } + else + { + if (sprite->pos1.x <= -32) + { + gUnknown_0203CD78->arr[sprite->data[2]] = 0xFF; + sub_818D8F0(sprite->data[3]); + } + } +} + +void sub_8190938(struct Sprite *sprite) +{ + if (!sprite->data[3]) + UpdateMonIconFrame(sprite); +} + +void sub_8190950(struct Sprite *sprite) +{ + if (!sprite->data[3]) + UpdateMonIconFrame(sprite); + sprite->pos1.y += 4; + if (sprite->data[0] != 0) + { + if (sprite->pos1.y >= -16) + sprite->invisible = 0; + if (++sprite->data[1] == 40) + sprite->callback = sub_8190938; + } + else + { + if (sprite->pos1.y >= 176) + { + gUnknown_0203CD78->arr[sprite->data[2]] = 0xFF; + sub_80D2EF8(sprite); + } + } +} + +void sub_81909CC(struct Sprite *sprite) +{ + if (!sprite->data[3]) + UpdateMonIconFrame(sprite); + sprite->pos1.y -= 4; + if (sprite->data[0] != 0) + { + if (sprite->pos1.y <= 176) + sprite->invisible = 0; + if (++sprite->data[1] == 40) + sprite->callback = sub_8190938; + } + else + { + if (sprite->pos1.y <= -16) + { + gUnknown_0203CD78->arr[sprite->data[2]] = 0xFF; + sub_80D2EF8(sprite); + } + } +} + +void sub_8190A48(struct Sprite *sprite) +{ + if (!sprite->data[3]) + UpdateMonIconFrame(sprite); + sprite->pos1.x += 4; + if (sprite->data[0] != 0) + { + if (sprite->pos1.x >= -16) + sprite->invisible = 0; + if (++sprite->data[1] == 64) + sprite->callback = sub_8190938; + } + else + { + if (sprite->pos1.x >= 256) + { + gUnknown_0203CD78->arr[sprite->data[2]] = 0xFF; + sub_80D2EF8(sprite); + } + } +} + +void sub_8190AC4(struct Sprite *sprite) +{ + if (!sprite->data[3]) + UpdateMonIconFrame(sprite); + sprite->pos1.x -= 4; + if (sprite->data[0] != 0) + { + if (sprite->pos1.x <= 256) + sprite->invisible = 0; + if (++sprite->data[1] == 64) + sprite->callback = sub_8190938; + } + else + { + if (sprite->pos1.x <= -16) + { + gUnknown_0203CD78->arr[sprite->data[2]] = 0xFF; + sub_80D2EF8(sprite); + } + } +} + +extern const u8 gUnknown_0860D080[]; + +void sub_8190B40(struct Sprite *sprite) +{ + s32 taskId1 = sprite->data[0]; + s32 arrId = gTasks[gTasks[taskId1].data[4]].data[1]; + s32 tournmanetTrainerId = gUnknown_0860D080[arrId]; + s32 r12 = gSaveBlock2Ptr->frontier.field_CB2; + + if (gTasks[taskId1].data[3] == 1) + { + if (sprite->data[1]) + { + if ((gSaveBlock2Ptr->frontier.domeTrainers[tournmanetTrainerId].unk1 + && gUnknown_0203CD78->arr[16] - 1 < gSaveBlock2Ptr->frontier.domeTrainers[tournmanetTrainerId].unk2)) + { + sprite->invisible = 0; + } + else if (!gSaveBlock2Ptr->frontier.domeTrainers[tournmanetTrainerId].unk1 + && gUnknown_0203CD78->arr[16] - 1 < r12) + { + sprite->invisible = 0; + } + else + { + if (gTasks[taskId1].data[0] == 2) + sprite->invisible = 1; + } + } + else + { + if (gUnknown_0203CD78->arr[16] != 0) + { + sprite->invisible = 0; + } + else + { + if (gTasks[taskId1].data[0] == 2) + sprite->invisible = 1; + } + } + } + else + { + if (sprite->data[1]) + { + if (gUnknown_0203CD78->arr[16] > 1) + { + if (gTasks[taskId1].data[0] == 2) + sprite->invisible = 1; + } + else + { + sprite->invisible = 0; + } + } + else + { + if (gUnknown_0203CD78->arr[16] != 0) + { + sprite->invisible = 0; + } + else + { + if (gTasks[taskId1].data[0] == 2) + sprite->invisible = 1; + } + } + } +} + +void sub_8190C6C(struct Sprite *sprite) +{ + s32 taskId1 = sprite->data[0]; + + if (gTasks[taskId1].data[3] == 1) + { + if (gUnknown_0203CD78->arr[16] != 0) + { + if (gTasks[taskId1].data[0] == 2) + sprite->invisible = 1; + } + else + { + sprite->invisible = 0; + } + } + else + { + if (gUnknown_0203CD78->arr[16] != 1) + { + if (gTasks[taskId1].data[0] == 2) + sprite->invisible = 1; + } + else + { + sprite->invisible = 0; + } + } +} diff --git a/src/egg_hatch.c b/src/egg_hatch.c index ab0cd92a23..1c626cc868 100644 --- a/src/egg_hatch.c +++ b/src/egg_hatch.c @@ -512,7 +512,7 @@ static void CB2_EggHatch_0(void) gMain.state++; break; case 2: - copy_decompressed_tile_data_to_vram_autofree(0, gBattleTextboxTiles, 0, 0, 0); + DecompressAndLoadBgGfxUsingHeap(0, gBattleTextboxTiles, 0, 0, 0); CopyToBgTilemapBuffer(0, gBattleTextboxTilemap, 0, 0); LoadCompressedPalette(gBattleTextboxPalette, 0, 0x20); gMain.state++; diff --git a/src/evolution_scene.c b/src/evolution_scene.c index 7960d6cba1..ae15e79fe7 100644 --- a/src/evolution_scene.c +++ b/src/evolution_scene.c @@ -1484,7 +1484,7 @@ static void InitMovingBackgroundTask(bool8 isLink) LoadPalette(sUnknown_085B51E4, 0xA0, 0x20); - copy_decompressed_tile_data_to_vram_autofree(1, sUnknown_085B4134, FALSE, 0, 0); + DecompressAndLoadBgGfxUsingHeap(1, sUnknown_085B4134, FALSE, 0, 0); CopyToBgTilemapBuffer(1, sUnknown_085B482C, 0, 0); CopyToBgTilemapBuffer(outerBgId, sUnknown_085B4D10, 0, 0); CopyBgTilemapBufferToVram(1); diff --git a/src/fieldmap.c b/src/fieldmap.c index f57c4b48f1..8d1988686c 100644 --- a/src/fieldmap.c +++ b/src/fieldmap.c @@ -951,7 +951,7 @@ void copy_tileset_patterns_to_vram2(struct Tileset const *tileset, u16 numTiles, if (!tileset->isCompressed) LoadBgTiles(2, tileset->tiles, numTiles * 32, offset); else - copy_decompressed_tile_data_to_vram_autofree(2, tileset->tiles, numTiles * 32, offset, 0); + DecompressAndLoadBgGfxUsingHeap(2, tileset->tiles, numTiles * 32, offset, 0); } } diff --git a/src/link.c b/src/link.c index b729f86eb8..457e44a016 100644 --- a/src/link.c +++ b/src/link.c @@ -1679,7 +1679,7 @@ void CB2_LinkError(void) static void sub_800B080(void) { LoadBgTiles(0, g2BlankTilesGfx, 0x20, 0); - copy_decompressed_tile_data_to_vram_autofree(1, gWirelessLinkDisplayGfx, FALSE, 0, 0); + DecompressAndLoadBgGfxUsingHeap(1, gWirelessLinkDisplayGfx, FALSE, 0, 0); CopyToBgTilemapBuffer(1, gWirelessLinkDisplayTilemap, 0, 0); CopyBgTilemapBufferToVram(1); LoadPalette(gWirelessLinkDisplayPal, 0, 0x20); diff --git a/src/menu.c b/src/menu.c index eda9513ba6..8a4b4fce55 100644 --- a/src/menu.c +++ b/src/menu.c @@ -1801,7 +1801,7 @@ void *decompress_and_copy_tile_data_to_vram(u8 bgId, const void *src, int size, return NULL; } -void copy_decompressed_tile_data_to_vram_autofree(u8 bgId, const void *src, int size, u16 offset, u8 mode) +void DecompressAndLoadBgGfxUsingHeap(u8 bgId, const void *src, int size, u16 offset, u8 mode) { int sizeOut; void *ptr = malloc_and_decompress(src, &sizeOut); diff --git a/src/pokedex.c b/src/pokedex.c index 0d73a9fe10..2a0033306a 100644 --- a/src/pokedex.c +++ b/src/pokedex.c @@ -1377,7 +1377,7 @@ bool8 sub_80BC514(u8 a) SetBgTilemapBuffer(2, AllocZeroed(0x800)); SetBgTilemapBuffer(1, AllocZeroed(0x800)); SetBgTilemapBuffer(0, AllocZeroed(0x800)); - copy_decompressed_tile_data_to_vram_autofree(3, gPokedexMenu_Gfx, 0x2000, 0, 0); + DecompressAndLoadBgGfxUsingHeap(3, gPokedexMenu_Gfx, 0x2000, 0, 0); CopyToBgTilemapBuffer(1, gUnknown_08DC2C5C, 0, 0); CopyToBgTilemapBuffer(3, gUnknown_08DC2DAC, 0, 0); if (a == 0) @@ -2518,7 +2518,7 @@ void sub_80BEA24(u8 taskId) } break; case 1: - copy_decompressed_tile_data_to_vram_autofree(3, gPokedexMenu_Gfx, 0x2000, 0, 0); + DecompressAndLoadBgGfxUsingHeap(3, gPokedexMenu_Gfx, 0x2000, 0, 0); CopyToBgTilemapBuffer(3, gUnknown_08DC3080, 0, 0); FillWindowPixelBuffer(0, 0); PutWindowTilemap(0); @@ -2813,7 +2813,7 @@ void sub_80BF250(u8 taskId) } break; case 1: - copy_decompressed_tile_data_to_vram_autofree(3, &gPokedexMenu_Gfx, 0x2000, 0, 0); + DecompressAndLoadBgGfxUsingHeap(3, &gPokedexMenu_Gfx, 0x2000, 0, 0); CopyToBgTilemapBuffer(3, &gUnknown_08DC3198, 0, 0); FillWindowPixelBuffer(0, 0); PutWindowTilemap(0); @@ -3007,7 +3007,7 @@ void sub_80BF82C(u8 taskId) } break; case 1: - copy_decompressed_tile_data_to_vram_autofree(3, gPokedexMenu_Gfx, 0x2000, 0, 0); + DecompressAndLoadBgGfxUsingHeap(3, gPokedexMenu_Gfx, 0x2000, 0, 0); CopyToBgTilemapBuffer(3, gUnknown_08DC2E6C, 0, 0); FillWindowPixelBuffer(0, 0); PutWindowTilemap(0); @@ -3354,7 +3354,7 @@ void sub_80BFE38(u8 taskId) } break; case 1: - copy_decompressed_tile_data_to_vram_autofree(3, gPokedexMenu_Gfx, 0x2000, 0, 0); + DecompressAndLoadBgGfxUsingHeap(3, gPokedexMenu_Gfx, 0x2000, 0, 0); CopyToBgTilemapBuffer(3, gUnknown_08DC3080, 0, 0); FillWindowPixelBuffer(0, 0); PutWindowTilemap(0); @@ -4397,7 +4397,7 @@ void sub_80C12E0(u8 taskId) InitWindows(gUnknown_0856F008); DeactivateAllTextPrinters(); PutWindowTilemap(0); - copy_decompressed_tile_data_to_vram_autofree(3, gPokedexSearchMenu_Gfx, 0x2000, 0, 0); + DecompressAndLoadBgGfxUsingHeap(3, gPokedexSearchMenu_Gfx, 0x2000, 0, 0); if (!IsNationalPokedexEnabled()) CopyToBgTilemapBuffer(3, gPokedexSearch2_Tilemap, 0, 0); From f7fd5ce75c481ff1f019d661b4e817c6a8d1a34f Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Sat, 18 Aug 2018 18:23:40 +0200 Subject: [PATCH 114/234] Match one of the hardest battle dome functions --- src/battle_frontier_1.c | 1845 +++++++++++++++++++-------------------- 1 file changed, 897 insertions(+), 948 deletions(-) diff --git a/src/battle_frontier_1.c b/src/battle_frontier_1.c index d217bfa603..c977f7d76e 100644 --- a/src/battle_frontier_1.c +++ b/src/battle_frontier_1.c @@ -36,21 +36,22 @@ struct Unknown_0203BC8C_Struct struct Unknown_0203CD78_Struct { u8 arr[16]; - u8 unk_11; + u8 unk_10; + u8 unk_11[3]; }; -extern struct Unknown_0203BC8C_Struct *gFacilityTrainerMons; - extern void sub_81B8558(void); extern u32 sub_81A39C4(void); extern u16 sub_8162548(u8, u8); -extern u16 sub_8163524(u16); +extern u16 RandomizeFacilityTrainerMonId(u16); extern u8 GetFrontierEnemyMonLevel(void); extern void sub_8195898(u8 *dst, u16 trainerId); extern u16 sub_81A5060(u8, u8); extern void sub_8162614(u16, u8); extern void sub_81A4C30(void); extern u16 sub_818D8F0(u16); +extern bool8 sub_81A3610(void); +extern u16 sub_81A4FF0(u8); extern u8 gUnknown_0203CEF8[]; extern u32 gUnknown_0203CD70; @@ -63,16 +64,37 @@ extern u16 gBattle_BG2_X; extern u16 gBattle_BG2_Y; extern u16 gBattle_BG3_X; extern u16 gBattle_BG3_Y; +extern struct Unknown_0203BC8C_Struct *gFacilityTrainerMons; extern struct Unknown_0203CD78_Struct *gUnknown_0203CD78; extern void (* const gUnknown_0860D090[])(void); extern const u32 gUnknown_0860D0EC[][2]; extern const u32 gUnknown_0860D0FC[][2]; extern const u16 gBattleFrontierHeldItems[]; +extern const u8 gUnknown_0860D10C[][4]; +extern const u8 gUnknown_0860D14C[]; +extern const struct BgTemplate gUnknown_0860CE84[4]; +extern const struct WindowTemplate gUnknown_0860CEB4[]; +extern const struct CompressedSpriteSheet gUnknown_0860CF50; +extern const struct SpriteTemplate gUnknown_0860D068; +extern const struct SpriteTemplate gUnknown_0860D050; +extern const u8 gUnknown_0860D080[]; +extern const u8 gUnknown_0860D15C[]; +extern const u8 gUnknown_0860D3F1[][2]; + +// gfx +extern const u8 gUnknown_08D83D50[]; +extern const u8 gUnknown_08D84970[]; +extern const u8 gUnknown_08D84F00[]; +extern const u8 gUnknown_08D85444[]; +extern const u8 gUnknown_08D85358[]; +extern const u8 gUnknown_08D85600[]; +extern const u8 gUnknown_08D854C8[]; // This file's functions. u8 GetDomeTrainerMonIvs(u16 trainerId); -void sub_818F720(u16 species, s32 level, s32 ivs, u8 evBits, u8 nature, s32 *stats); +void SwapDomeTrainers(s32 id1, s32 id2, u16 *statsArray); +void CalcDomeMonStats(u16 species, s32 level, s32 ivs, u8 evBits, u8 nature, s32 *stats); void CreateDomeTrainerMons(u16 tournamentTrainerId); u16 TrainerIdToTournamentId(u16 trainerId); s32 sub_818FC78(u16 tournamentTrainerId); @@ -83,10 +105,13 @@ s32 sub_818FEB4(s32 *arr, bool8 arg1); u16 sub_81902AC(void); void sub_8190400(u8 taskId); void sub_8190CD4(u8 taskId); +void sub_8194220(u8 taskId); void sub_8194B54(void); void sub_8194B70(void); void sub_819314C(u8, u8); void sub_81924E0(u8, u8); +u8 sub_819221C(u8 taskId); +s32 sub_8192F08(u8, u8*); // code void sub_818E9AC(void) @@ -244,33 +269,34 @@ void sub_818ED28(void) } } -#ifdef NONMATCHING -// Not even close, this function is insane. -void sub_818F02C(void) +void SetDomeTrainersAndMons(void) { - s32 i, j, k, l; - u32 array[16]; - u32 var_28; - u32 var_24; - s32 var_38; + s32 i, j, k; + s32 monLevel; + s32 species[3]; s32 monTypesBits, monTypesCount; - u32 var_54 = 0; - u32 var_50 = 0; - u32 var_4C = 0; - u32 *var_40 = AllocZeroed(0x20); - u16 *var_44 = AllocZeroed(0x18); - u32 var_48; + s32 trainerId; + s32 monTournamentId; + u16 *statSums; + s32 *statValues; + u8 ivs = 0; + + species[0] = 0; + species[1] = 0; + species[2] = 0; + statSums = AllocZeroed(sizeof(u16) * DOME_TOURNAMENT_TRAINERS_COUNT); + statValues = AllocZeroed(sizeof(s32) * 6); gSaveBlock2Ptr->frontier.field_D0A = gSaveBlock2Ptr->frontier.chosenLvl + 1; gSaveBlock2Ptr->frontier.field_D0B = VarGet(VAR_0x40CE) + 1; - gSaveBlock2Ptr->frontier.domeTrainers[0].trainerId = 0x3FF; + gSaveBlock2Ptr->frontier.domeTrainers[0].trainerId = TRAINER_PLAYER; gSaveBlock2Ptr->frontier.domeTrainers[0].unk1 = 0; gSaveBlock2Ptr->frontier.domeTrainers[0].unk2 = 0; gSaveBlock2Ptr->frontier.domeTrainers[0].unk3 = 0; for (i = 0; i < 3; i++) { - gSaveBlock2Ptr->frontier.domeMonId[i] = GetMonData(&gPlayerParty[gSaveBlock2Ptr->frontier.field_CAA[i] - 1], MON_DATA_SPECIES, NULL); + gSaveBlock2Ptr->frontier.domeMonId[0][i] = GetMonData(&gPlayerParty[gSaveBlock2Ptr->frontier.field_CAA[i] - 1], MON_DATA_SPECIES, NULL); for (j = 0; j < 4; j++) gSaveBlock2Ptr->frontier.field_EFC[i].moves[j] = GetMonData(&gPlayerParty[gSaveBlock2Ptr->frontier.field_CAA[i] - 1], MON_DATA_MOVE1 + j, NULL); for (j = 0; j < 6; j++) @@ -279,939 +305,165 @@ void sub_818F02C(void) gSaveBlock2Ptr->frontier.field_EFC[i].nature = GetNature(&gPlayerParty[gSaveBlock2Ptr->frontier.field_CAA[i] - 1]); } - var_28 = 4; - var_24 = 6; - for (l = j; l < 16; l++) + for (i = 1; i < DOME_TOURNAMENT_TRAINERS_COUNT; i++) { - u16 val; - if (l > 5) + if (i > 5) { - while (1) + do { - val = sub_8162548(sub_81A39C4(), 0); - for (k = 1; k < l; k++) + trainerId = sub_8162548(sub_81A39C4(), 0); + for (j = 1; j < i; j++) { - if (gSaveBlock2Ptr->frontier.domeTrainers[k].trainerId == val) + if (gSaveBlock2Ptr->frontier.domeTrainers[j].trainerId == trainerId) break; } - if (k != l) - { - gSaveBlock2Ptr->frontier.domeTrainers[var_28].trainerId = val; - break; - } - } + } while (j != i); + gSaveBlock2Ptr->frontier.domeTrainers[i].trainerId = trainerId; } else { - while (1) - { - val = sub_8162548(sub_81A39C4() + 1, 0); - for (k = 1; k < l; k++) - { - if (gSaveBlock2Ptr->frontier.domeTrainers[k].trainerId == val) - break; - } - if (k != l) - { - gSaveBlock2Ptr->frontier.domeTrainers[var_28].trainerId = val; - break; - } - } - } - - for (var_38 = 0; var_38 < 3; var_38++) - { - u16 val2; do { - val2 = sub_8163524(val); - for (i = 0; i < l; i++) + trainerId = sub_8162548(sub_81A39C4() + 1, 0); + for (j = 1; j < i; j++) { - if (gSaveBlock2Ptr->frontier.domeMonId[i] == val2) - break; - if (var_54 == gFacilityTrainerMons[val2].field_0) - break; - if (var_50 == gFacilityTrainerMons[val2].field_0) - break; - if (gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonId[i]].field_A == gFacilityTrainerMons[val2].field_A) + if (gSaveBlock2Ptr->frontier.domeTrainers[j].trainerId == trainerId) break; } - } while (i != var_38); - - gSaveBlock2Ptr->frontier.domeMonId[var_24] = val2; - array[var_38] = gFacilityTrainerMons[val2].field_0; + } while (j != i); + gSaveBlock2Ptr->frontier.domeTrainers[i].trainerId = trainerId; } - gSaveBlock2Ptr->frontier.domeTrainers[var_28].unk1 = 0; - gSaveBlock2Ptr->frontier.domeTrainers[var_28].unk2 = 0; - gSaveBlock2Ptr->frontier.domeTrainers[var_28].unk3 = 0; + for (j = 0; j < 3; j++) + { + // Make sure the mon is valid. + do + { + monTournamentId = RandomizeFacilityTrainerMonId(trainerId); + for (k = 0; k < j; k++) + { + s32 checkingMonId = gSaveBlock2Ptr->frontier.domeMonId[i][k]; + if (checkingMonId == monTournamentId + || species[0] == gFacilityTrainerMons[monTournamentId].species + || species[1] == gFacilityTrainerMons[monTournamentId].species + || gFacilityTrainerMons[checkingMonId].itemTableId == gFacilityTrainerMons[monTournamentId].itemTableId) + break; + } + } while (k != j); + + gSaveBlock2Ptr->frontier.domeMonId[i][j] = monTournamentId; + species[j] = gFacilityTrainerMons[monTournamentId].species; + } + + gSaveBlock2Ptr->frontier.domeTrainers[i].unk1 = 0; + gSaveBlock2Ptr->frontier.domeTrainers[i].unk2 = 0; + gSaveBlock2Ptr->frontier.domeTrainers[i].unk3 = 0; } + monTypesBits = 0; + statSums[0] = 0; for (i = 0; i < 3; i++) { - struct Pokemon *mon = &gPlayerParty[gSaveBlock2Ptr->frontier.field_CAA[i] - 1]; - var_44[0] += GetMonData(mon, MON_DATA_ATK, NULL); - var_44[0] += GetMonData(mon, MON_DATA_DEF, NULL); - var_44[0] += GetMonData(mon, MON_DATA_SPATK, NULL); - var_44[0] += GetMonData(mon, MON_DATA_SPDEF, NULL); - var_44[0] += GetMonData(mon, MON_DATA_SPEED, NULL); - var_44[0] += GetMonData(mon, MON_DATA_MAX_HP, NULL); - monTypesBits |= gBitTable[gBaseStats[GetMonData(mon, MON_DATA_SPECIES, NULL)].type1]; - monTypesBits |= gBitTable[gBaseStats[GetMonData(mon, MON_DATA_SPECIES, NULL)].type2]; + trainerId = gSaveBlock2Ptr->frontier.field_CAA[i] - 1; // Great variable choice, gamefreak. + statSums[0] += GetMonData(&gPlayerParty[trainerId], MON_DATA_ATK, NULL); + statSums[0] += GetMonData(&gPlayerParty[trainerId], MON_DATA_DEF, NULL); + statSums[0] += GetMonData(&gPlayerParty[trainerId], MON_DATA_SPATK, NULL); + statSums[0] += GetMonData(&gPlayerParty[trainerId], MON_DATA_SPDEF, NULL); + statSums[0] += GetMonData(&gPlayerParty[trainerId], MON_DATA_SPEED, NULL); + statSums[0] += GetMonData(&gPlayerParty[trainerId], MON_DATA_MAX_HP, NULL); + monTypesBits |= gBitTable[gBaseStats[GetMonData(&gPlayerParty[trainerId], MON_DATA_SPECIES, NULL)].type1]; + monTypesBits |= gBitTable[gBaseStats[GetMonData(&gPlayerParty[trainerId], MON_DATA_SPECIES, NULL)].type2]; } - for (monTypesCount = 0, i = 0; i < 31; i++) + for (monTypesCount = 0, j = 0; j < 32; j++) { if (monTypesBits & 1) monTypesCount++; monTypesBits >>= 1; } - var_48 = GetFrontierEnemyMonLevel(); - var_44[0] += (monTypesCount * var_48) / 20; + monLevel = GetFrontierEnemyMonLevel(); + statSums[0] += (monTypesCount * monLevel) / 20; - for (i = 0; i < 16; i++) + for (i = 1; i < DOME_TOURNAMENT_TRAINERS_COUNT; i++) { - u8 r8; - - var_44[i + 1] = 0; - r8 = GetDomeTrainerMonIvs(gSaveBlock2Ptr->frontier.domeTrainers[i].trainerId); + monTypesBits = 0; + statSums[i] = 0; + ivs = GetDomeTrainerMonIvs(gSaveBlock2Ptr->frontier.domeTrainers[i].trainerId); for (j = 0; j < 3; j++) { - sub_818F720(gSaveBlock2Ptr->frontier.domeMonId[i]); + CalcDomeMonStats(gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonId[i][j]].species, + monLevel, ivs, + gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonId[i][j]].evSpread, + gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonId[i][j]].nature, + statValues); + + statSums[i] += statValues[STAT_ATK]; + statSums[i] += statValues[STAT_DEF]; + statSums[i] += statValues[STAT_SPATK]; + statSums[i] += statValues[STAT_SPDEF]; + statSums[i] += statValues[STAT_SPEED]; + statSums[i] += statValues[STAT_HP]; + monTypesBits |= gBitTable[gBaseStats[gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonId[i][j]].species].type1]; + monTypesBits |= gBitTable[gBaseStats[gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonId[i][j]].species].type2]; + } + + for (monTypesCount = 0, j = 0; j < 32; j++) + { + if (monTypesBits & 1) + monTypesCount++; + monTypesBits >>= 1; + } + statSums[i] += (monTypesCount * monLevel) / 20; + } + + for (i = 0; i < DOME_TOURNAMENT_TRAINERS_COUNT - 1; i++) + { + for (j = i + 1; j < DOME_TOURNAMENT_TRAINERS_COUNT; j++) + { + if (statSums[i] < statSums[j]) + { + SwapDomeTrainers(i, j, statSums); + } + else + { + if (statSums[i] == statSums[j]) + { + if (gSaveBlock2Ptr->frontier.domeTrainers[j].trainerId == TRAINER_PLAYER) + SwapDomeTrainers(i, j, statSums); + else if (gSaveBlock2Ptr->frontier.domeTrainers[i].trainerId > gSaveBlock2Ptr->frontier.domeTrainers[j].trainerId) + SwapDomeTrainers(i, j, statSums); + } + } } } - Free(var_44); - Free(var_40); + if (sub_81A3610()) + { + for (i = 0; i < DOME_TOURNAMENT_TRAINERS_COUNT; i++) + { + if (gSaveBlock2Ptr->frontier.domeTrainers[i].trainerId == TRAINER_PLAYER) + break; + } + + if (gUnknown_0860D3F1[i][0] != 0) + { + j = 0; + gSaveBlock2Ptr->frontier.domeTrainers[j].trainerId = TRAINER_FRONTIER_BRAIN; + } + else + { + j = 1; + gSaveBlock2Ptr->frontier.domeTrainers[j].trainerId = TRAINER_FRONTIER_BRAIN; + } + + for (i = 0; i < 3; i++) + gSaveBlock2Ptr->frontier.domeMonId[j][i] = sub_81A4FF0(i); + } + + Free(statSums); + Free(statValues); } -#else -NAKED -void sub_818F02C(void) -{ - asm_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, 0x3C\n\ - movs r0, 0\n\ - str r0, [sp, 0x8]\n\ - str r0, [sp, 0xC]\n\ - str r0, [sp, 0x10]\n\ - movs r0, 0x20\n\ - bl AllocZeroed\n\ - str r0, [sp, 0x18]\n\ - movs r0, 0x18\n\ - bl AllocZeroed\n\ - str r0, [sp, 0x1C]\n\ - ldr r4, =gSaveBlock2Ptr\n\ - ldr r1, [r4]\n\ - ldr r2, =0x00000ca9\n\ - adds r0, r1, r2\n\ - ldrb r0, [r0]\n\ - lsls r0, 30\n\ - lsrs r0, 30\n\ - adds r0, 0x1\n\ - ldr r3, =0x00000d0a\n\ - adds r1, r3\n\ - strb r0, [r1]\n\ - ldr r0, =0x000040ce\n\ - bl VarGet\n\ - ldr r1, [r4]\n\ - adds r0, 0x1\n\ - ldr r5, =0x00000d0b\n\ - adds r1, r5\n\ - strb r0, [r1]\n\ - ldr r2, [r4]\n\ - ldr r7, =0x00000d24\n\ - adds r3, r2, r7\n\ - ldrh r0, [r3]\n\ - ldr r5, =0x000003ff\n\ - adds r1, r5, 0\n\ - orrs r0, r1\n\ - strh r0, [r3]\n\ - ldr r3, =0x00000d25\n\ - adds r2, r3\n\ - ldrb r1, [r2]\n\ - movs r0, 0x5\n\ - negs r0, r0\n\ - ands r0, r1\n\ - strb r0, [r2]\n\ - ldr r1, [r4]\n\ - adds r1, r3\n\ - ldrb r2, [r1]\n\ - movs r0, 0x19\n\ - negs r0, r0\n\ - ands r0, r2\n\ - strb r0, [r1]\n\ - ldr r1, [r4]\n\ - adds r1, r3\n\ - ldrb r2, [r1]\n\ - movs r0, 0x1F\n\ - ands r0, r2\n\ - strb r0, [r1]\n\ - movs r7, 0\n\ - mov r10, r7\n\ - mov r8, r4\n\ - ldr r0, =gBattleScripting + 0x14\n\ - mov r9, r0\n\ - movs r4, 0\n\ -_0818F0BA:\n\ - mov r1, r8\n\ - ldr r0, [r1]\n\ - ldr r2, =0x00000caa\n\ - adds r0, r2\n\ - adds r0, r4\n\ - ldrh r0, [r0]\n\ - movs r3, 0x64\n\ - muls r0, r3\n\ - add r0, r9\n\ - movs r1, 0xB\n\ - movs r2, 0\n\ - bl GetMonData\n\ - mov r5, r8\n\ - ldr r1, [r5]\n\ - ldr r7, =0x00000d64\n\ - adds r1, r7\n\ - adds r1, r4\n\ - strh r0, [r1]\n\ - movs r5, 0\n\ - mov r0, r10\n\ - lsls r7, r0, 4\n\ - adds r6, r7, 0\n\ -_0818F0E8:\n\ - mov r1, r8\n\ - ldr r0, [r1]\n\ - ldr r2, =0x00000caa\n\ - adds r0, r2\n\ - adds r0, r4\n\ - ldrh r0, [r0]\n\ - movs r3, 0x64\n\ - muls r0, r3\n\ - add r0, r9\n\ - adds r1, r5, 0\n\ - adds r1, 0xD\n\ - movs r2, 0\n\ - bl GetMonData\n\ - mov r2, r8\n\ - ldr r1, [r2]\n\ - ldr r3, =0x00000efc\n\ - adds r1, r3\n\ - adds r1, r6\n\ - strh r0, [r1]\n\ - adds r6, 0x2\n\ - adds r5, 0x1\n\ - cmp r5, 0x3\n\ - ble _0818F0E8\n\ - movs r5, 0\n\ - ldr r6, =gSaveBlock2Ptr\n\ -_0818F11C:\n\ - ldr r0, [r6]\n\ - ldr r1, =0x00000caa\n\ - adds r0, r1\n\ - adds r0, r4\n\ - ldrh r0, [r0]\n\ - movs r2, 0x64\n\ - muls r0, r2\n\ - add r0, r9\n\ - adds r1, r5, 0\n\ - adds r1, 0x1A\n\ - movs r2, 0\n\ - bl GetMonData\n\ - ldr r1, [r6]\n\ - adds r2, r5, r7\n\ - ldr r3, =0x00000f04\n\ - adds r1, r3\n\ - adds r1, r2\n\ - strb r0, [r1]\n\ - adds r5, 0x1\n\ - cmp r5, 0x5\n\ - ble _0818F11C\n\ - mov r5, r8\n\ - ldr r0, [r5]\n\ - ldr r1, =0x00000caa\n\ - adds r0, r1\n\ - adds r0, r4\n\ - ldrh r0, [r0]\n\ - movs r2, 0x64\n\ - muls r0, r2\n\ - add r0, r9\n\ - bl GetNature\n\ - ldr r1, [r5]\n\ - adds r1, r7\n\ - ldr r3, =0x00000f0a\n\ - adds r1, r3\n\ - strb r0, [r1]\n\ - adds r4, 0x2\n\ - movs r5, 0x1\n\ - add r10, r5\n\ - mov r7, r10\n\ - cmp r7, 0x2\n\ - ble _0818F0BA\n\ - mov r10, r5\n\ - movs r0, 0x4\n\ - str r0, [sp, 0x34]\n\ - movs r1, 0x6\n\ - str r1, [sp, 0x38]\n\ -_0818F17E:\n\ - mov r2, r10\n\ - cmp r2, 0x5\n\ - ble _0818F22C\n\ -_0818F184:\n\ - bl sub_81A39C4\n\ - lsls r0, 24\n\ - lsrs r0, 24\n\ - movs r1, 0\n\ - bl sub_8162548\n\ - lsls r0, 16\n\ - lsrs r4, r0, 16\n\ - movs r5, 0x1\n\ - cmp r5, r10\n\ - bge _0818F1CA\n\ - ldr r3, =gSaveBlock2Ptr\n\ - ldr r0, [r3]\n\ - ldr r7, =0x00000d28\n\ - adds r0, r7\n\ - ldrh r0, [r0]\n\ - lsls r0, 22\n\ - lsrs r0, 22\n\ - adds r2, r3, 0\n\ - cmp r0, r4\n\ - beq _0818F1CA\n\ - ldr r3, =0x00000d24\n\ -_0818F1B2:\n\ - adds r5, 0x1\n\ - cmp r5, r10\n\ - bge _0818F1CA\n\ - ldr r0, [r2]\n\ - lsls r1, r5, 2\n\ - adds r0, r1\n\ - adds r0, r3\n\ - ldrh r0, [r0]\n\ - lsls r0, 22\n\ - lsrs r0, 22\n\ - cmp r0, r4\n\ - bne _0818F1B2\n\ -_0818F1CA:\n\ - cmp r5, r10\n\ - bne _0818F184\n\ - ldr r0, =gSaveBlock2Ptr\n\ - ldr r3, [r0]\n\ - ldr r1, [sp, 0x34]\n\ - adds r3, r1\n\ - ldr r2, =0x00000d24\n\ - adds r3, r2\n\ - ldr r5, =0x000003ff\n\ - adds r0, r5, 0\n\ - adds r2, r4, 0\n\ - ands r2, r0\n\ - ldrh r0, [r3]\n\ - ldr r7, =0xfffffc00\n\ - adds r1, r7, 0\n\ - b _0818F292\n\ - .pool\n\ -_0818F22C:\n\ - bl sub_81A39C4\n\ - adds r0, 0x1\n\ - lsls r0, 24\n\ - lsrs r0, 24\n\ - movs r1, 0\n\ - bl sub_8162548\n\ - lsls r0, 16\n\ - lsrs r4, r0, 16\n\ - movs r5, 0x1\n\ - cmp r5, r10\n\ - bge _0818F274\n\ - ldr r1, =gSaveBlock2Ptr\n\ - ldr r0, [r1]\n\ - ldr r2, =0x00000d28\n\ - adds r0, r2\n\ - ldrh r0, [r0]\n\ - lsls r0, 22\n\ - lsrs r0, 22\n\ - adds r2, r1, 0\n\ - cmp r0, r4\n\ - beq _0818F274\n\ - ldr r3, =0x00000d24\n\ -_0818F25C:\n\ - adds r5, 0x1\n\ - cmp r5, r10\n\ - bge _0818F274\n\ - ldr r0, [r2]\n\ - lsls r1, r5, 2\n\ - adds r0, r1\n\ - adds r0, r3\n\ - ldrh r0, [r0]\n\ - lsls r0, 22\n\ - lsrs r0, 22\n\ - cmp r0, r4\n\ - bne _0818F25C\n\ -_0818F274:\n\ - cmp r5, r10\n\ - bne _0818F22C\n\ - ldr r5, =gSaveBlock2Ptr\n\ - ldr r3, [r5]\n\ - ldr r7, [sp, 0x34]\n\ - adds r3, r7\n\ - ldr r0, =0x00000d24\n\ - adds r3, r0\n\ - ldr r1, =0x000003ff\n\ - adds r0, r1, 0\n\ - adds r2, r4, 0\n\ - ands r2, r0\n\ - ldrh r0, [r3]\n\ - ldr r5, =0xfffffc00\n\ - adds r1, r5, 0\n\ -_0818F292:\n\ - ands r0, r1\n\ - orrs r0, r2\n\ - strh r0, [r3]\n\ - movs r5, 0\n\ - lsls r4, 16\n\ - str r4, [sp, 0x2C]\n\ - ldr r7, [sp, 0x38]\n\ - str r7, [sp, 0x20]\n\ -_0818F2A2:\n\ - lsls r0, r5, 1\n\ - mov r9, r0\n\ - adds r1, r5, 0x1\n\ - str r1, [sp, 0x24]\n\ - lsls r2, r5, 2\n\ - str r2, [sp, 0x28]\n\ -_0818F2AE:\n\ - ldr r3, [sp, 0x2C]\n\ - lsrs r0, r3, 16\n\ - bl sub_8163524\n\ - lsls r0, 16\n\ - lsrs r6, r0, 16\n\ - movs r7, 0\n\ - cmp r7, r5\n\ - bge _0818F300\n\ - ldr r0, =gSaveBlock2Ptr\n\ - ldr r0, [r0]\n\ - ldr r1, [sp, 0x8]\n\ - mov r8, r1\n\ - ldr r2, [sp, 0xC]\n\ - mov r12, r2\n\ - ldr r3, =0x00000d64\n\ - adds r0, r3\n\ - ldr r1, [sp, 0x20]\n\ - adds r4, r1, r0\n\ -_0818F2D4:\n\ - ldrh r3, [r4]\n\ - cmp r3, r6\n\ - beq _0818F300\n\ - ldr r2, =gFacilityTrainerMons\n\ - ldr r1, [r2]\n\ - lsls r0, r6, 4\n\ - adds r2, r0, r1\n\ - ldrh r0, [r2]\n\ - cmp r8, r0\n\ - beq _0818F300\n\ - cmp r12, r0\n\ - beq _0818F300\n\ - lsls r0, r3, 4\n\ - adds r0, r1\n\ - ldrb r0, [r0, 0xA]\n\ - ldrb r2, [r2, 0xA]\n\ - cmp r0, r2\n\ - beq _0818F300\n\ - adds r4, 0x2\n\ - adds r7, 0x1\n\ - cmp r7, r5\n\ - blt _0818F2D4\n\ -_0818F300:\n\ - cmp r7, r5\n\ - bne _0818F2AE\n\ - ldr r3, =gSaveBlock2Ptr\n\ - ldr r0, [r3]\n\ - ldr r1, [sp, 0x38]\n\ - add r1, r9\n\ - ldr r5, =0x00000d64\n\ - adds r0, r5\n\ - adds r0, r1\n\ - strh r6, [r0]\n\ - ldr r2, [sp, 0x28]\n\ - add r2, sp\n\ - adds r2, 0x8\n\ - ldr r0, =gFacilityTrainerMons\n\ - ldr r1, [r0]\n\ - lsls r0, r6, 4\n\ - adds r0, r1\n\ - ldrh r0, [r0]\n\ - str r0, [r2]\n\ - ldr r5, [sp, 0x24]\n\ - cmp r5, 0x2\n\ - ble _0818F2A2\n\ - ldr r2, [r3]\n\ - ldr r7, [sp, 0x34]\n\ - adds r2, r7\n\ - ldr r0, =0x00000d25\n\ - adds r2, r0\n\ - ldrb r0, [r2]\n\ - movs r3, 0x5\n\ - negs r3, r3\n\ - adds r1, r3, 0\n\ - ands r0, r1\n\ - strb r0, [r2]\n\ - ldr r5, =gSaveBlock2Ptr\n\ - ldr r2, [r5]\n\ - adds r2, r7\n\ - ldr r7, =0x00000d25\n\ - adds r2, r7\n\ - ldrb r0, [r2]\n\ - subs r3, 0x14\n\ - adds r1, r3, 0\n\ - ands r0, r1\n\ - strb r0, [r2]\n\ - ldr r1, [r5]\n\ - ldr r5, [sp, 0x34]\n\ - adds r1, r5\n\ - adds r1, r7\n\ - ldrb r2, [r1]\n\ - movs r0, 0x1F\n\ - ands r0, r2\n\ - strb r0, [r1]\n\ - adds r5, 0x4\n\ - str r5, [sp, 0x34]\n\ - ldr r7, [sp, 0x38]\n\ - adds r7, 0x6\n\ - str r7, [sp, 0x38]\n\ - movs r0, 0x1\n\ - add r10, r0\n\ - mov r1, r10\n\ - cmp r1, 0xF\n\ - bgt _0818F37C\n\ - b _0818F17E\n\ -_0818F37C:\n\ - movs r7, 0\n\ - ldr r2, [sp, 0x18]\n\ - strh r7, [r2]\n\ - movs r3, 0\n\ - mov r10, r3\n\ - ldr r6, =gBitTable\n\ - ldr r5, =gBaseStats\n\ -_0818F38A:\n\ - ldr r0, =gSaveBlock2Ptr\n\ - ldr r0, [r0]\n\ - mov r2, r10\n\ - lsls r1, r2, 1\n\ - ldr r3, =0x00000caa\n\ - adds r0, r3\n\ - adds r0, r1\n\ - ldrh r0, [r0]\n\ - subs r4, r0, 0x1\n\ - movs r0, 0x64\n\ - muls r4, r0\n\ - ldr r0, =gPlayerParty\n\ - adds r4, r0\n\ - adds r0, r4, 0\n\ - movs r1, 0x3B\n\ - movs r2, 0\n\ - bl GetMonData\n\ - ldr r2, [sp, 0x18]\n\ - ldrh r1, [r2]\n\ - adds r1, r0\n\ - strh r1, [r2]\n\ - adds r0, r4, 0\n\ - movs r1, 0x3C\n\ - movs r2, 0\n\ - bl GetMonData\n\ - ldr r3, [sp, 0x18]\n\ - ldrh r1, [r3]\n\ - adds r1, r0\n\ - strh r1, [r3]\n\ - adds r0, r4, 0\n\ - movs r1, 0x3E\n\ - movs r2, 0\n\ - bl GetMonData\n\ - ldr r2, [sp, 0x18]\n\ - ldrh r1, [r2]\n\ - adds r1, r0\n\ - strh r1, [r2]\n\ - adds r0, r4, 0\n\ - movs r1, 0x3F\n\ - movs r2, 0\n\ - bl GetMonData\n\ - ldr r3, [sp, 0x18]\n\ - ldrh r1, [r3]\n\ - adds r1, r0\n\ - strh r1, [r3]\n\ - adds r0, r4, 0\n\ - movs r1, 0x3D\n\ - movs r2, 0\n\ - bl GetMonData\n\ - ldr r2, [sp, 0x18]\n\ - ldrh r1, [r2]\n\ - adds r1, r0\n\ - strh r1, [r2]\n\ - adds r0, r4, 0\n\ - movs r1, 0x3A\n\ - movs r2, 0\n\ - bl GetMonData\n\ - ldr r3, [sp, 0x18]\n\ - ldrh r1, [r3]\n\ - adds r1, r0\n\ - strh r1, [r3]\n\ - adds r0, r4, 0\n\ - movs r1, 0xB\n\ - movs r2, 0\n\ - bl GetMonData\n\ - lsls r1, r0, 3\n\ - subs r1, r0\n\ - lsls r1, 2\n\ - adds r1, r5\n\ - ldrb r0, [r1, 0x6]\n\ - lsls r0, 2\n\ - adds r0, r6\n\ - ldr r0, [r0]\n\ - orrs r7, r0\n\ - adds r0, r4, 0\n\ - movs r1, 0xB\n\ - movs r2, 0\n\ - bl GetMonData\n\ - lsls r1, r0, 3\n\ - subs r1, r0\n\ - lsls r1, 2\n\ - adds r1, r5\n\ - ldrb r0, [r1, 0x7]\n\ - lsls r0, 2\n\ - adds r0, r6\n\ - ldr r0, [r0]\n\ - orrs r7, r0\n\ - movs r0, 0x1\n\ - add r10, r0\n\ - mov r1, r10\n\ - cmp r1, 0x2\n\ - ble _0818F38A\n\ - movs r4, 0\n\ - movs r1, 0x1\n\ - movs r5, 0x1F\n\ -_0818F458:\n\ - adds r0, r7, 0\n\ - ands r0, r1\n\ - cmp r0, 0\n\ - beq _0818F462\n\ - adds r4, 0x1\n\ -_0818F462:\n\ - asrs r7, 1\n\ - subs r5, 0x1\n\ - cmp r5, 0\n\ - bge _0818F458\n\ - bl GetFrontierEnemyMonLevel\n\ - lsls r0, 24\n\ - lsrs r0, 24\n\ - str r0, [sp, 0x14]\n\ - adds r2, r0, 0\n\ - adds r0, r4, 0\n\ - muls r0, r2\n\ - movs r1, 0x14\n\ - bl __divsi3\n\ - ldr r3, [sp, 0x18]\n\ - ldrh r1, [r3]\n\ - adds r1, r0\n\ - strh r1, [r3]\n\ - movs r5, 0x1\n\ - mov r10, r5\n\ - adds r6, r3, 0\n\ - adds r6, 0x2\n\ - movs r7, 0x2\n\ - str r7, [sp, 0x30]\n\ -_0818F494:\n\ - movs r7, 0\n\ - strh r7, [r6]\n\ - ldr r1, =gSaveBlock2Ptr\n\ - ldr r0, [r1]\n\ - mov r2, r10\n\ - lsls r1, r2, 2\n\ - adds r0, r1\n\ - ldr r3, =0x00000d24\n\ - adds r0, r3\n\ - ldrh r0, [r0]\n\ - lsls r0, 22\n\ - lsrs r0, 22\n\ - bl GetDomeTrainerMonIvs\n\ - lsls r0, 24\n\ - lsrs r0, 24\n\ - mov r8, r0\n\ - movs r5, 0\n\ - ldr r0, [sp, 0x30]\n\ - mov r9, r0\n\ -_0818F4BC:\n\ - ldr r1, =gSaveBlock2Ptr\n\ - ldr r0, [r1]\n\ - mov r4, r9\n\ - add r4, r10\n\ - adds r4, r5\n\ - lsls r4, 1\n\ - ldr r2, =0x00000d64\n\ - adds r0, r2\n\ - adds r0, r4\n\ - ldrh r1, [r0]\n\ - ldr r3, =gFacilityTrainerMons\n\ - ldr r0, [r3]\n\ - lsls r1, 4\n\ - adds r1, r0\n\ - ldrh r0, [r1]\n\ - ldrb r3, [r1, 0xB]\n\ - ldrb r1, [r1, 0xC]\n\ - str r1, [sp]\n\ - ldr r1, [sp, 0x1C]\n\ - str r1, [sp, 0x4]\n\ - ldr r1, [sp, 0x14]\n\ - mov r2, r8\n\ - bl sub_818F720\n\ - ldr r2, [sp, 0x1C]\n\ - ldr r1, [r2, 0x4]\n\ - ldrh r0, [r6]\n\ - adds r0, r1\n\ - ldr r1, [r2, 0x8]\n\ - adds r0, r1\n\ - ldr r1, [r2, 0x10]\n\ - adds r0, r1\n\ - ldr r1, [r2, 0x14]\n\ - adds r0, r1\n\ - ldr r1, [r2, 0xC]\n\ - adds r0, r1\n\ - ldr r1, [r2]\n\ - adds r0, r1\n\ - strh r0, [r6]\n\ - ldr r3, =gSaveBlock2Ptr\n\ - ldr r0, [r3]\n\ - ldr r1, =0x00000d64\n\ - adds r0, r1\n\ - adds r0, r4\n\ - ldrh r0, [r0]\n\ - ldr r2, =gFacilityTrainerMons\n\ - ldr r1, [r2]\n\ - lsls r0, 4\n\ - adds r0, r1\n\ - ldrh r0, [r0]\n\ - lsls r1, r0, 3\n\ - subs r1, r0\n\ - lsls r1, 2\n\ - ldr r3, =gBaseStats\n\ - adds r1, r3\n\ - ldrb r0, [r1, 0x6]\n\ - lsls r0, 2\n\ - ldr r2, =gBitTable\n\ - adds r0, r2\n\ - ldr r0, [r0]\n\ - orrs r7, r0\n\ - ldrb r0, [r1, 0x7]\n\ - lsls r0, 2\n\ - adds r0, r2\n\ - ldr r0, [r0]\n\ - orrs r7, r0\n\ - adds r5, 0x1\n\ - cmp r5, 0x2\n\ - ble _0818F4BC\n\ - movs r4, 0\n\ - movs r1, 0x1\n\ - movs r5, 0x1F\n\ -_0818F54C:\n\ - adds r0, r7, 0\n\ - ands r0, r1\n\ - cmp r0, 0\n\ - beq _0818F556\n\ - adds r4, 0x1\n\ -_0818F556:\n\ - asrs r7, 1\n\ - subs r5, 0x1\n\ - cmp r5, 0\n\ - bge _0818F54C\n\ - ldr r3, [sp, 0x14]\n\ - adds r0, r4, 0\n\ - muls r0, r3\n\ - movs r1, 0x14\n\ - bl __divsi3\n\ - ldrh r1, [r6]\n\ - adds r1, r0\n\ - strh r1, [r6]\n\ - adds r6, 0x2\n\ - ldr r5, [sp, 0x30]\n\ - adds r5, 0x2\n\ - str r5, [sp, 0x30]\n\ - movs r7, 0x1\n\ - add r10, r7\n\ - mov r0, r10\n\ - cmp r0, 0xF\n\ - ble _0818F494\n\ - movs r1, 0\n\ - mov r10, r1\n\ - ldr r2, =0x000003ff\n\ - mov r8, r2\n\ -_0818F58A:\n\ - mov r5, r10\n\ - adds r5, 0x1\n\ - adds r7, r5, 0\n\ - cmp r5, 0xF\n\ - bgt _0818F626\n\ - mov r3, r10\n\ - lsls r0, r3, 1\n\ - ldr r1, [sp, 0x18]\n\ - adds r6, r0, r1\n\ - lsls r0, r5, 1\n\ - adds r4, r0, r1\n\ -_0818F5A0:\n\ - ldrh r1, [r6]\n\ - ldrh r0, [r4]\n\ - cmp r1, r0\n\ - bcc _0818F5C2\n\ - cmp r1, r0\n\ - bne _0818F61E\n\ - ldr r0, =gSaveBlock2Ptr\n\ - ldr r1, [r0]\n\ - lsls r0, r5, 2\n\ - adds r0, r1, r0\n\ - ldr r2, =0x00000d24\n\ - adds r0, r2\n\ - ldrh r0, [r0]\n\ - lsls r2, r0, 22\n\ - lsrs r0, r2, 22\n\ - cmp r0, r8\n\ - bne _0818F602\n\ -_0818F5C2:\n\ - mov r0, r10\n\ - adds r1, r5, 0\n\ - ldr r2, [sp, 0x18]\n\ - bl sub_818F904\n\ - b _0818F600\n\ - .pool\n\ -_0818F600:\n\ - b _0818F61E\n\ -_0818F602:\n\ - mov r3, r10\n\ - lsls r0, r3, 2\n\ - adds r0, r1, r0\n\ - ldr r1, =0x00000d24\n\ - adds r0, r1\n\ - ldrh r0, [r0]\n\ - lsls r0, 22\n\ - cmp r0, r2\n\ - bls _0818F61E\n\ - mov r0, r10\n\ - adds r1, r5, 0\n\ - ldr r2, [sp, 0x18]\n\ - bl sub_818F904\n\ -_0818F61E:\n\ - adds r4, 0x2\n\ - adds r5, 0x1\n\ - cmp r5, 0xF\n\ - ble _0818F5A0\n\ -_0818F626:\n\ - mov r10, r7\n\ - mov r2, r10\n\ - cmp r2, 0xE\n\ - ble _0818F58A\n\ - bl sub_81A3610\n\ - lsls r0, 24\n\ - cmp r0, 0\n\ - beq _0818F6EE\n\ - movs r3, 0\n\ - mov r10, r3\n\ - ldr r0, =gSaveBlock2Ptr\n\ - ldr r1, [r0]\n\ - ldr r4, =0x00000d24\n\ - adds r1, r4\n\ - ldrh r1, [r1]\n\ - lsls r1, 22\n\ - lsrs r1, 22\n\ - ldr r3, =0x000003ff\n\ - adds r2, r0, 0\n\ - ldr r6, =gUnknown_0860D3F1\n\ - cmp r1, r3\n\ - beq _0818F674\n\ - adds r5, r2, 0\n\ -_0818F656:\n\ - movs r7, 0x1\n\ - add r10, r7\n\ - mov r0, r10\n\ - cmp r0, 0xF\n\ - bgt _0818F674\n\ - ldr r0, [r5]\n\ - mov r7, r10\n\ - lsls r1, r7, 2\n\ - adds r0, r1\n\ - adds r0, r4\n\ - ldrh r0, [r0]\n\ - lsls r0, 22\n\ - lsrs r0, 22\n\ - cmp r0, r3\n\ - bne _0818F656\n\ -_0818F674:\n\ - mov r1, r10\n\ - lsls r0, r1, 1\n\ - adds r0, r6\n\ - ldrb r0, [r0]\n\ - cmp r0, 0\n\ - beq _0818F6AC\n\ - movs r5, 0\n\ - ldr r2, [r2]\n\ - ldr r3, =0x00000d24\n\ - adds r2, r3\n\ - ldrh r1, [r2]\n\ - ldr r0, =0xfffffc00\n\ - ands r0, r1\n\ - ldr r7, =0x000003fe\n\ - adds r1, r7, 0\n\ - b _0818F6BE\n\ - .pool\n\ -_0818F6AC:\n\ - movs r5, 0x1\n\ - ldr r2, [r2]\n\ - ldr r0, =0x00000d28\n\ - adds r2, r0\n\ - ldrh r1, [r2]\n\ - ldr r0, =0xfffffc00\n\ - ands r0, r1\n\ - ldr r3, =0x000003fe\n\ - adds r1, r3, 0\n\ -_0818F6BE:\n\ - orrs r0, r1\n\ - strh r0, [r2]\n\ - movs r7, 0\n\ - mov r10, r7\n\ - lsls r0, r5, 1\n\ - adds r0, r5\n\ - lsls r4, r0, 1\n\ -_0818F6CC:\n\ - mov r1, r10\n\ - lsls r0, r1, 24\n\ - lsrs r0, 24\n\ - bl sub_81A4FF0\n\ - ldr r1, =gSaveBlock2Ptr\n\ - ldr r1, [r1]\n\ - ldr r2, =0x00000d64\n\ - adds r1, r2\n\ - adds r1, r4\n\ - strh r0, [r1]\n\ - adds r4, 0x2\n\ - movs r3, 0x1\n\ - add r10, r3\n\ - mov r5, r10\n\ - cmp r5, 0x2\n\ - ble _0818F6CC\n\ -_0818F6EE:\n\ - ldr r0, [sp, 0x18]\n\ - bl Free\n\ - ldr r0, [sp, 0x1C]\n\ - bl Free\n\ - add sp, 0x3C\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\ -\n\ - "); -} -#endif // NONMATCHING #define CALC_STAT(base, statIndex) \ { \ @@ -1220,7 +472,7 @@ _0818F6EE:\n\ stats[statIndex] = (u8) ModifyStatByNature(nature, stats[statIndex], statIndex); \ } -void sub_818F720(u16 species, s32 level, s32 ivs, u8 evBits, u8 nature, s32 *stats) +void CalcDomeMonStats(u16 species, s32 level, s32 ivs, u8 evBits, u8 nature, s32 *stats) { s32 i, count; u8 bits; @@ -1266,12 +518,12 @@ void sub_818F720(u16 species, s32 level, s32 ivs, u8 evBits, u8 nature, s32 *sta y = temp; \ } -void sub_818F904(s32 id1, s32 id2, u16 *dst) +void SwapDomeTrainers(s32 id1, s32 id2, u16 *statsArray) { s32 i; u16 temp; - SWAP_16(dst[id1], dst[id2]); + SWAP_16(statsArray[id1], statsArray[id2]); SWAP_16(gSaveBlock2Ptr->frontier.domeTrainers[id1].trainerId, gSaveBlock2Ptr->frontier.domeTrainers[id2].trainerId); for (i = 0; i < 3; i++) @@ -1885,9 +1137,6 @@ u8 GetDomeTrainerMonIvs(u16 trainerId) return fixedIv; } -extern const u8 gUnknown_0860D10C[][4]; -extern const u8 gUnknown_0860D14C[]; - s32 sub_81901A0(s32 arg0, s32 trainerId) { s32 i, j, val; @@ -1932,7 +1181,7 @@ void sub_8190298(void) u16 sub_81902AC(void) { - return gSaveBlock2Ptr->frontier.domeTrainers[sub_81901A0(gSaveBlock2Ptr->frontier.field_CB2, 0x3FF)].trainerId; + return gSaveBlock2Ptr->frontier.domeTrainers[sub_81901A0(gSaveBlock2Ptr->frontier.field_CB2, TRAINER_PLAYER)].trainerId; } void sub_81902E4(void) @@ -1973,19 +1222,6 @@ void sub_81903B8(void) SetMainCallback2(sub_8194B54); } -extern const struct BgTemplate gUnknown_0860CE84[4]; -extern const struct WindowTemplate gUnknown_0860CEB4[]; -extern const u8 gUnknown_08D83D50[]; -extern const u8 gUnknown_08D84970[]; -extern const u8 gUnknown_08D84F00[]; -extern const u8 gUnknown_08D85444[]; -extern const u8 gUnknown_08D85358[]; -extern const u8 gUnknown_08D85600[]; -extern const u8 gUnknown_08D854C8[]; -extern const struct CompressedSpriteSheet gUnknown_0860CF50; -extern const struct SpriteTemplate gUnknown_0860D068; -extern const struct SpriteTemplate gUnknown_0860D050; - void sub_8190400(u8 taskId) { s32 i; @@ -2065,7 +1301,7 @@ void sub_8190400(u8 taskId) if (r9 == 2) { sub_819314C(0, r5); - gUnknown_0203CD78->arr[16] = 1; + gUnknown_0203CD78->unk_10 = 1; } else { @@ -2273,8 +1509,6 @@ void sub_8190AC4(struct Sprite *sprite) } } -extern const u8 gUnknown_0860D080[]; - void sub_8190B40(struct Sprite *sprite) { s32 taskId1 = sprite->data[0]; @@ -2287,12 +1521,12 @@ void sub_8190B40(struct Sprite *sprite) if (sprite->data[1]) { if ((gSaveBlock2Ptr->frontier.domeTrainers[tournmanetTrainerId].unk1 - && gUnknown_0203CD78->arr[16] - 1 < gSaveBlock2Ptr->frontier.domeTrainers[tournmanetTrainerId].unk2)) + && gUnknown_0203CD78->unk_10 - 1 < gSaveBlock2Ptr->frontier.domeTrainers[tournmanetTrainerId].unk2)) { sprite->invisible = 0; } else if (!gSaveBlock2Ptr->frontier.domeTrainers[tournmanetTrainerId].unk1 - && gUnknown_0203CD78->arr[16] - 1 < r12) + && gUnknown_0203CD78->unk_10 - 1 < r12) { sprite->invisible = 0; } @@ -2304,7 +1538,7 @@ void sub_8190B40(struct Sprite *sprite) } else { - if (gUnknown_0203CD78->arr[16] != 0) + if (gUnknown_0203CD78->unk_10 != 0) { sprite->invisible = 0; } @@ -2319,7 +1553,7 @@ void sub_8190B40(struct Sprite *sprite) { if (sprite->data[1]) { - if (gUnknown_0203CD78->arr[16] > 1) + if (gUnknown_0203CD78->unk_10 > 1) { if (gTasks[taskId1].data[0] == 2) sprite->invisible = 1; @@ -2331,7 +1565,7 @@ void sub_8190B40(struct Sprite *sprite) } else { - if (gUnknown_0203CD78->arr[16] != 0) + if (gUnknown_0203CD78->unk_10 != 0) { sprite->invisible = 0; } @@ -2350,7 +1584,7 @@ void sub_8190C6C(struct Sprite *sprite) if (gTasks[taskId1].data[3] == 1) { - if (gUnknown_0203CD78->arr[16] != 0) + if (gUnknown_0203CD78->unk_10 != 0) { if (gTasks[taskId1].data[0] == 2) sprite->invisible = 1; @@ -2362,7 +1596,7 @@ void sub_8190C6C(struct Sprite *sprite) } else { - if (gUnknown_0203CD78->arr[16] != 1) + if (gUnknown_0203CD78->unk_10 != 1) { if (gTasks[taskId1].data[0] == 2) sprite->invisible = 1; @@ -2373,3 +1607,718 @@ void sub_8190C6C(struct Sprite *sprite) } } } + +void sub_8190CD4(u8 taskId) +{ + s32 i; + s32 var; + s32 r9 = gTasks[taskId].data[3]; + s32 taskId2 = gTasks[taskId].data[4]; + s32 arg, arg2; + + switch (gTasks[taskId].data[0]) + { + case 0: + if (!gPaletteFade.active) + { + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0); + gTasks[taskId].data[0] = 1; + } + break; + case 1: + if (!gPaletteFade.active) + gTasks[taskId].data[0] = 2; + break; + case 2: + i = sub_819221C(taskId); + switch (i) + { + case 9: + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); + gTasks[taskId].data[0] = 8; + break; + case 1 ... 8: + gTasks[taskId].data[5] = i; + if (gTasks[taskId].data[2] != 0) + var = 9; + else + var = 0; + + for (i = var; i < var + 9; i++) + { + CopyWindowToVram(i, 2); + FillWindowPixelBuffer(i, 0); + } + gTasks[taskId].data[0] = 3; + break; + case 0: + break; + } + break; + case 3: + i = gTasks[taskId].data[5]; + switch (i) + { + case 1: + case 5: + if (gTasks[taskId].data[2]) + { + gBattle_BG0_X = 0; + gBattle_BG0_Y = 0; + gBattle_BG1_X = 0; + gBattle_BG1_Y = 160; + } + else + { + gBattle_BG0_X = 0; + gBattle_BG0_Y = 160; + gBattle_BG1_X = 0; + gBattle_BG1_Y = 0; + } + + if (i == 1) + { + if (gUnknown_0203CD78->unk_10 == 0) + { + gBattle_BG2_X = 0; + gBattle_BG2_Y = 320; + arg = gUnknown_0860D080[gTasks[taskId2].data[1]]; + sub_81924E0(gTasks[taskId].data[2] | 0x10, arg); + } + else + { + gBattle_BG2_X = 256; + gBattle_BG2_Y = 0; + arg = gUnknown_0860D080[gTasks[taskId2].data[1]]; + sub_81924E0(gTasks[taskId].data[2] | 0x10, arg); + gUnknown_0203CD78->unk_10 = 0; + } + } + else + { + if (gUnknown_0203CD78->unk_10 == 0) + { + arg2 = gTasks[taskId2].data[1] - 16; + sub_8192F08(arg2, gUnknown_0203CD78->unk_11); + gBattle_BG2_X = 0; + gBattle_BG2_Y = 320; + arg = gUnknown_0203CD78->unk_11[0]; + sub_81924E0(gTasks[taskId].data[2] | 0x10, arg); + } + else if (gUnknown_0203CD78->unk_10 == 2) + { + arg2 = gTasks[taskId2].data[1] - 16; + sub_8192F08(arg2, gUnknown_0203CD78->unk_11); + gBattle_BG2_X = 0; + gBattle_BG2_Y = 320; + arg = gUnknown_0203CD78->unk_11[1]; + sub_81924E0(gTasks[taskId].data[2] | 0x10, arg); + } + else + { + gBattle_BG2_X = 256; + gBattle_BG2_Y = 160; + arg2 = gTasks[taskId2].data[1] - 16; + sub_819314C(gTasks[taskId].data[2] | 0x10, arg2); + } + } + + for (i = 0; i < DOME_TOURNAMENT_TRAINERS_COUNT / 2; i++) + { + if (i < 2) + { + if (gUnknown_0203CD78->arr[i] != 0xFF) + { + gSprites[gUnknown_0203CD78->arr[i]].callback = sub_8190790; + gSprites[gUnknown_0203CD78->arr[i]].data[0] = gTasks[taskId].data[2] ^ 1; + gSprites[gUnknown_0203CD78->arr[i]].data[1] = 0; + gSprites[gUnknown_0203CD78->arr[i]].data[2] = i; + gSprites[gUnknown_0203CD78->arr[i]].data[3] = gUnknown_0203CD78->arr[i]; + } + } + else + { + if (gUnknown_0203CD78->arr[i] != 0xFF) + { + gSprites[gUnknown_0203CD78->arr[i]].callback = sub_8190950; + gSprites[gUnknown_0203CD78->arr[i]].data[0] = gTasks[taskId].data[2] ^ 1; + gSprites[gUnknown_0203CD78->arr[i]].data[1] = 0; + gSprites[gUnknown_0203CD78->arr[i]].data[2] = i; + } + } + } + for (i = DOME_TOURNAMENT_TRAINERS_COUNT / 2; i < DOME_TOURNAMENT_TRAINERS_COUNT; i++) + { + if (i < 10) + { + if (gUnknown_0203CD78->arr[i] != 0xFF) + { + gSprites[gUnknown_0203CD78->arr[i]].callback = sub_8190790; + gSprites[gUnknown_0203CD78->arr[i]].data[0] = gTasks[taskId].data[2]; + gSprites[gUnknown_0203CD78->arr[i]].data[1] = 0; + gSprites[gUnknown_0203CD78->arr[i]].data[2] = i; + gSprites[gUnknown_0203CD78->arr[i]].data[3] = gUnknown_0203CD78->arr[i]; + } + } + else + { + if (gUnknown_0203CD78->arr[i] != 0xFF) + { + gSprites[gUnknown_0203CD78->arr[i]].callback = sub_8190950; + gSprites[gUnknown_0203CD78->arr[i]].data[0] = gTasks[taskId].data[2]; + gSprites[gUnknown_0203CD78->arr[i]].data[1] = 0; + gSprites[gUnknown_0203CD78->arr[i]].data[2] = i; + } + } + } + + gTasks[taskId].data[0] = 4; + gTasks[taskId].data[5] = 0; + break; + case 2: + case 6: + if (gTasks[taskId].data[2]) + { + gBattle_BG0_X = 0; + gBattle_BG0_Y = 0; + gBattle_BG1_X = 0; + gBattle_BG1_Y = -160; + } + else + { + gBattle_BG0_X = 0; + gBattle_BG0_Y = -160; + gBattle_BG1_X = 0; + gBattle_BG1_Y = 0; + } + + if (i == 2) + { + if (gUnknown_0203CD78->unk_10 == 0) + { + gBattle_BG2_X = 0; + gBattle_BG2_Y = 160; + arg = gUnknown_0860D080[gTasks[taskId2].data[1]]; + sub_81924E0(gTasks[taskId].data[2] | 4, arg); + } + else + { + gBattle_BG2_X = 0; + gBattle_BG2_Y = 0; + arg = gUnknown_0860D080[gTasks[taskId2].data[1]]; + sub_81924E0(gTasks[taskId].data[2] | 4, arg); + gUnknown_0203CD78->unk_10 = 0; + } + } + else + { + if (gUnknown_0203CD78->unk_10 == 0) + { + arg2 = gTasks[taskId2].data[1] - 16; + sub_8192F08(arg2, gUnknown_0203CD78->unk_11); + gBattle_BG2_X = 0; + gBattle_BG2_Y = 160; + arg = gUnknown_0203CD78->unk_11[0]; + sub_81924E0(gTasks[taskId].data[2] | 4, arg); + } + else if (gUnknown_0203CD78->unk_10 == 2) + { + arg2 = gTasks[taskId2].data[1] - 16; + sub_8192F08(arg2, gUnknown_0203CD78->unk_11); + gBattle_BG2_X = 0; + gBattle_BG2_Y = 160; + arg = gUnknown_0203CD78->unk_11[1]; + sub_81924E0(gTasks[taskId].data[2] | 4, arg); + } + else + { + gBattle_BG2_X = 256; + gBattle_BG2_Y = 0; + arg2 = gTasks[taskId2].data[1] - 16; + sub_819314C(gTasks[taskId].data[2] | 4, arg2); + } + } + + for (i = 0; i < DOME_TOURNAMENT_TRAINERS_COUNT / 2; i++) + { + if (i < 2) + { + if (gUnknown_0203CD78->arr[i] != 0xFF) + { + gSprites[gUnknown_0203CD78->arr[i]].callback = sub_81907F8; + gSprites[gUnknown_0203CD78->arr[i]].data[0] = gTasks[taskId].data[2] ^ 1; + gSprites[gUnknown_0203CD78->arr[i]].data[1] = 0; + gSprites[gUnknown_0203CD78->arr[i]].data[2] = i; + gSprites[gUnknown_0203CD78->arr[i]].data[3] = gUnknown_0203CD78->arr[i]; + } + } + else + { + if (gUnknown_0203CD78->arr[i] != 0xFF) + { + gSprites[gUnknown_0203CD78->arr[i]].callback = sub_81909CC; + gSprites[gUnknown_0203CD78->arr[i]].data[0] = gTasks[taskId].data[2] ^ 1; + gSprites[gUnknown_0203CD78->arr[i]].data[1] = 0; + gSprites[gUnknown_0203CD78->arr[i]].data[2] = i; + } + } + } + for (i = DOME_TOURNAMENT_TRAINERS_COUNT / 2; i < DOME_TOURNAMENT_TRAINERS_COUNT; i++) + { + if (i < 10) + { + if (gUnknown_0203CD78->arr[i] != 0xFF) + { + gSprites[gUnknown_0203CD78->arr[i]].callback = sub_81907F8; + gSprites[gUnknown_0203CD78->arr[i]].data[0] = gTasks[taskId].data[2]; + gSprites[gUnknown_0203CD78->arr[i]].data[1] = 0; + gSprites[gUnknown_0203CD78->arr[i]].data[2] = i; + gSprites[gUnknown_0203CD78->arr[i]].data[3] = gUnknown_0203CD78->arr[i]; + } + } + else + { + if (gUnknown_0203CD78->arr[i] != 0xFF) + { + gSprites[gUnknown_0203CD78->arr[i]].callback = sub_81909CC; + gSprites[gUnknown_0203CD78->arr[i]].data[0] = gTasks[taskId].data[2]; + gSprites[gUnknown_0203CD78->arr[i]].data[1] = 0; + gSprites[gUnknown_0203CD78->arr[i]].data[2] = i; + } + } + } + + gTasks[taskId].data[0] = 5; + gTasks[taskId].data[5] = 0; + break; + case 3: + if (gTasks[taskId].data[2]) + { + gBattle_BG0_X = 0; + gBattle_BG0_Y = 0; + gBattle_BG1_X = 256; + gBattle_BG1_Y = 0; + } + else + { + gBattle_BG0_X = 256; + gBattle_BG0_Y = 0; + gBattle_BG1_X = 0; + gBattle_BG1_Y = 0; + } + + if (gUnknown_0203CD78->unk_10 == 0) + { + gBattle_BG2_X = 256; + gBattle_BG2_Y = 160; + arg = gUnknown_0860D080[gTasks[taskId2].data[1]]; + sub_81924E0(gTasks[taskId].data[2] | 8, arg); + } + else + { + gBattle_BG2_X = 256; + gBattle_BG2_Y = 0; + arg = gUnknown_0860D15C[(gTasks[taskId2].data[1] * 4) + (gUnknown_0203CD78->unk_10 - 1)]; + sub_819314C(gTasks[taskId].data[2] | 8, arg); + } + + for (i = 0; i < DOME_TOURNAMENT_TRAINERS_COUNT / 2; i++) + { + if (i < 2) + { + if (gUnknown_0203CD78->arr[i] != 0xFF) + { + gSprites[gUnknown_0203CD78->arr[i]].callback = sub_8190860; + gSprites[gUnknown_0203CD78->arr[i]].data[0] = gTasks[taskId].data[2] ^ 1; + gSprites[gUnknown_0203CD78->arr[i]].data[1] = 0; + gSprites[gUnknown_0203CD78->arr[i]].data[2] = i; + gSprites[gUnknown_0203CD78->arr[i]].data[3] = gUnknown_0203CD78->arr[i]; + } + } + else + { + if (gUnknown_0203CD78->arr[i] != 0xFF) + { + gSprites[gUnknown_0203CD78->arr[i]].callback = sub_8190A48; + gSprites[gUnknown_0203CD78->arr[i]].data[0] = gTasks[taskId].data[2] ^ 1; + gSprites[gUnknown_0203CD78->arr[i]].data[1] = 0; + gSprites[gUnknown_0203CD78->arr[i]].data[2] = i; + } + } + } + for (i = DOME_TOURNAMENT_TRAINERS_COUNT / 2; i < DOME_TOURNAMENT_TRAINERS_COUNT; i++) + { + if (i < 10) + { + if (gUnknown_0203CD78->arr[i] != 0xFF) + { + gSprites[gUnknown_0203CD78->arr[i]].callback = sub_8190860; + gSprites[gUnknown_0203CD78->arr[i]].data[0] = gTasks[taskId].data[2]; + gSprites[gUnknown_0203CD78->arr[i]].data[1] = 0; + gSprites[gUnknown_0203CD78->arr[i]].data[2] = i; + gSprites[gUnknown_0203CD78->arr[i]].data[3] = gUnknown_0203CD78->arr[i]; + } + } + else + { + if (gUnknown_0203CD78->arr[i] != 0xFF) + { + gSprites[gUnknown_0203CD78->arr[i]].callback = sub_8190A48; + gSprites[gUnknown_0203CD78->arr[i]].data[0] = gTasks[taskId].data[2]; + gSprites[gUnknown_0203CD78->arr[i]].data[1] = 0; + gSprites[gUnknown_0203CD78->arr[i]].data[2] = i; + } + } + } + + gTasks[taskId].data[0] = 6; + gTasks[taskId].data[5] = 0; + break; + case 7: + if (gTasks[taskId].data[2]) + { + gBattle_BG0_X = 0; + gBattle_BG0_Y = 0; + gBattle_BG1_X = 256; + gBattle_BG1_Y = 0; + } + else + { + gBattle_BG0_X = 256; + gBattle_BG0_Y = 0; + gBattle_BG1_X = 0; + gBattle_BG1_Y = 0; + } + + if (gUnknown_0203CD78->unk_10 == 0) + { + gBattle_BG2_X = 256; + gBattle_BG2_Y = 160; + arg = gUnknown_0203CD78->unk_11[0]; + sub_81924E0(gTasks[taskId].data[2] | 8, arg); + } + else + { + gBattle_BG2_X = 0; + gBattle_BG2_Y = 160; + arg2 = gTasks[taskId2].data[1] - 16; + sub_819314C(gTasks[taskId].data[2] | 8, arg2); + } + + for (i = 0; i < DOME_TOURNAMENT_TRAINERS_COUNT / 2; i++) + { + if (i < 2) + { + if (gUnknown_0203CD78->arr[i] != 0xFF) + { + gSprites[gUnknown_0203CD78->arr[i]].callback = sub_8190860; + gSprites[gUnknown_0203CD78->arr[i]].data[0] = gTasks[taskId].data[2] ^ 1; + gSprites[gUnknown_0203CD78->arr[i]].data[1] = 0; + gSprites[gUnknown_0203CD78->arr[i]].data[2] = i; + gSprites[gUnknown_0203CD78->arr[i]].data[3] = gUnknown_0203CD78->arr[i]; + } + } + else + { + if (gUnknown_0203CD78->arr[i] != 0xFF) + { + gSprites[gUnknown_0203CD78->arr[i]].callback = sub_8190A48; + gSprites[gUnknown_0203CD78->arr[i]].data[0] = gTasks[taskId].data[2] ^ 1; + gSprites[gUnknown_0203CD78->arr[i]].data[1] = 0; + gSprites[gUnknown_0203CD78->arr[i]].data[2] = i; + } + } + } + for (i = DOME_TOURNAMENT_TRAINERS_COUNT / 2; i < DOME_TOURNAMENT_TRAINERS_COUNT; i++) + { + if (i < 10) + { + if (gUnknown_0203CD78->arr[i] != 0xFF) + { + gSprites[gUnknown_0203CD78->arr[i]].callback = sub_8190860; + gSprites[gUnknown_0203CD78->arr[i]].data[0] = gTasks[taskId].data[2]; + gSprites[gUnknown_0203CD78->arr[i]].data[1] = 0; + gSprites[gUnknown_0203CD78->arr[i]].data[2] = i; + gSprites[gUnknown_0203CD78->arr[i]].data[3] = gUnknown_0203CD78->arr[i]; + } + } + else + { + if (gUnknown_0203CD78->arr[i] != 0xFF) + { + gSprites[gUnknown_0203CD78->arr[i]].callback = sub_8190A48; + gSprites[gUnknown_0203CD78->arr[i]].data[0] = gTasks[taskId].data[2]; + gSprites[gUnknown_0203CD78->arr[i]].data[1] = 0; + gSprites[gUnknown_0203CD78->arr[i]].data[2] = i; + } + } + } + + gTasks[taskId].data[0] = 6; + gTasks[taskId].data[5] = 0; + break; + case 4: + if (gTasks[taskId].data[2]) + { + gBattle_BG0_X = 0; + gBattle_BG0_Y = 0; + gBattle_BG1_X = -256; + gBattle_BG1_Y = 0; + } + else + { + gBattle_BG0_X = -256; + gBattle_BG0_Y = 0; + gBattle_BG1_X = 0; + gBattle_BG1_Y = 0; + } + + if (gUnknown_0203CD78->unk_10 == 1) + { + gBattle_BG2_X = 0; + gBattle_BG2_Y = 160; + } + else + { + gBattle_BG2_X = 0; + gBattle_BG2_Y = 0; + } + arg = gUnknown_0860D15C[(gUnknown_0203CD78->unk_10 - 1) + (gTasks[taskId2].data[1] * 4)]; + sub_819314C(gTasks[taskId].data[2] | 2, arg); + + for (i = 0; i < DOME_TOURNAMENT_TRAINERS_COUNT / 2; i++) + { + if (i < 2) + { + if (gUnknown_0203CD78->arr[i] != 0xFF) + { + gSprites[gUnknown_0203CD78->arr[i]].callback = sub_81908CC; + gSprites[gUnknown_0203CD78->arr[i]].data[0] = gTasks[taskId].data[2] ^ 1; + gSprites[gUnknown_0203CD78->arr[i]].data[1] = 0; + gSprites[gUnknown_0203CD78->arr[i]].data[2] = i; + gSprites[gUnknown_0203CD78->arr[i]].data[3] = gUnknown_0203CD78->arr[i]; + } + } + else + { + if (gUnknown_0203CD78->arr[i] != 0xFF) + { + gSprites[gUnknown_0203CD78->arr[i]].callback = sub_8190AC4; + gSprites[gUnknown_0203CD78->arr[i]].data[0] = gTasks[taskId].data[2] ^ 1; + gSprites[gUnknown_0203CD78->arr[i]].data[1] = 0; + gSprites[gUnknown_0203CD78->arr[i]].data[2] = i; + } + } + } + for (i = DOME_TOURNAMENT_TRAINERS_COUNT / 2; i < DOME_TOURNAMENT_TRAINERS_COUNT; i++) + { + if (i < 10) + { + if (gUnknown_0203CD78->arr[i] != 0xFF) + { + gSprites[gUnknown_0203CD78->arr[i]].callback = sub_81908CC; + gSprites[gUnknown_0203CD78->arr[i]].data[0] = gTasks[taskId].data[2]; + gSprites[gUnknown_0203CD78->arr[i]].data[1] = 0; + gSprites[gUnknown_0203CD78->arr[i]].data[2] = i; + gSprites[gUnknown_0203CD78->arr[i]].data[3] = gUnknown_0203CD78->arr[i]; + } + } + else + { + if (gUnknown_0203CD78->arr[i] != 0xFF) + { + gSprites[gUnknown_0203CD78->arr[i]].callback = sub_8190AC4; + gSprites[gUnknown_0203CD78->arr[i]].data[0] = gTasks[taskId].data[2]; + gSprites[gUnknown_0203CD78->arr[i]].data[1] = 0; + gSprites[gUnknown_0203CD78->arr[i]].data[2] = i; + } + } + } + + gTasks[taskId].data[0] = 7; + gTasks[taskId].data[5] = 0; + break; + case 8: + if (gTasks[taskId].data[2]) + { + gBattle_BG0_X = 0; + gBattle_BG0_Y = 0; + gBattle_BG1_X = -256; + gBattle_BG1_Y = 0; + } + else + { + gBattle_BG0_X = -256; + gBattle_BG0_Y = 0; + gBattle_BG1_X = 0; + gBattle_BG1_Y = 0; + } + + if (gUnknown_0203CD78->unk_10 == 2) + { + gBattle_BG2_X = 256; + gBattle_BG2_Y = 160; + arg = gUnknown_0203CD78->unk_11[1]; + sub_81924E0(gTasks[taskId].data[2] | 2, arg); + } + else + { + gBattle_BG2_X = 0; + gBattle_BG2_Y = 160; + arg2 = gTasks[taskId2].data[1] - 16; + sub_819314C(gTasks[taskId].data[2] | 2, arg2); + } + + for (i = 0; i < DOME_TOURNAMENT_TRAINERS_COUNT / 2; i++) + { + if (i < 2) + { + if (gUnknown_0203CD78->arr[i] != 0xFF) + { + gSprites[gUnknown_0203CD78->arr[i]].callback = sub_81908CC; + gSprites[gUnknown_0203CD78->arr[i]].data[0] = gTasks[taskId].data[2] ^ 1; + gSprites[gUnknown_0203CD78->arr[i]].data[1] = 0; + gSprites[gUnknown_0203CD78->arr[i]].data[2] = i; + gSprites[gUnknown_0203CD78->arr[i]].data[3] = gUnknown_0203CD78->arr[i]; + } + } + else + { + if (gUnknown_0203CD78->arr[i] != 0xFF) + { + gSprites[gUnknown_0203CD78->arr[i]].callback = sub_8190AC4; + gSprites[gUnknown_0203CD78->arr[i]].data[0] = gTasks[taskId].data[2] ^ 1; + gSprites[gUnknown_0203CD78->arr[i]].data[1] = 0; + gSprites[gUnknown_0203CD78->arr[i]].data[2] = i; + } + } + } + for (i = DOME_TOURNAMENT_TRAINERS_COUNT / 2; i < DOME_TOURNAMENT_TRAINERS_COUNT; i++) + { + if (i < 10) + { + if (gUnknown_0203CD78->arr[i] != 0xFF) + { + gSprites[gUnknown_0203CD78->arr[i]].callback = sub_81908CC; + gSprites[gUnknown_0203CD78->arr[i]].data[0] = gTasks[taskId].data[2]; + gSprites[gUnknown_0203CD78->arr[i]].data[1] = 0; + gSprites[gUnknown_0203CD78->arr[i]].data[2] = i; + gSprites[gUnknown_0203CD78->arr[i]].data[3] = gUnknown_0203CD78->arr[i]; + } + } + else + { + if (gUnknown_0203CD78->arr[i] != 0xFF) + { + gSprites[gUnknown_0203CD78->arr[i]].callback = sub_8190AC4; + gSprites[gUnknown_0203CD78->arr[i]].data[0] = gTasks[taskId].data[2]; + gSprites[gUnknown_0203CD78->arr[i]].data[1] = 0; + gSprites[gUnknown_0203CD78->arr[i]].data[2] = i; + } + } + } + + gTasks[taskId].data[0] = 7; + gTasks[taskId].data[5] = 0; + break; + } + break; + case 4: + if (++gTasks[taskId].data[5] != 41) + { + gBattle_BG0_Y -= 4; + gBattle_BG1_Y -= 4; + gBattle_BG2_Y -= 4; + } + else + { + gTasks[taskId].data[0] = 2; + } + break; + case 5: + if (++gTasks[taskId].data[5] != 41) + { + gBattle_BG0_Y += 4; + gBattle_BG1_Y += 4; + gBattle_BG2_Y += 4; + } + else + { + gTasks[taskId].data[0] = 2; + } + break; + case 6: + if (++gTasks[taskId].data[5] != 65) + { + gBattle_BG0_X -= 4; + gBattle_BG1_X -= 4; + gBattle_BG2_X -= 4; + } + else + { + gTasks[taskId].data[0] = 2; + } + break; + case 7: + if (++gTasks[taskId].data[5] != 65) + { + gBattle_BG0_X += 4; + gBattle_BG1_X += 4; + gBattle_BG2_X += 4; + } + else + { + gTasks[taskId].data[0] = 2; + } + break; + case 8: + if (!gPaletteFade.active) + { + for (i = 0; i < DOME_TOURNAMENT_TRAINERS_COUNT / 2; i++) + { + if (i < 2) + { + if (gUnknown_0203CD78->arr[i] != 0xFF) + sub_818D8F0(gUnknown_0203CD78->arr[i]); + } + else + { + if (gUnknown_0203CD78->arr[i] != 0xFF) + sub_80D2EF8(&gSprites[gUnknown_0203CD78->arr[i]]); + } + } + for (i = DOME_TOURNAMENT_TRAINERS_COUNT / 2; i < DOME_TOURNAMENT_TRAINERS_COUNT; i++) + { + if (i < 10) + { + if (gUnknown_0203CD78->arr[i] != 0xFF) + sub_818D8F0(gUnknown_0203CD78->arr[i]); + } + else + { + if (gUnknown_0203CD78->arr[i] != 0xFF) + sub_80D2EF8(&gSprites[gUnknown_0203CD78->arr[i]]); + } + } + + FreeMonIconPalettes(); + FREE_AND_SET_NULL(gUnknown_0203CD78); + FreeAllWindowBuffers(); + if (r9 == 0) + { + SetMainCallback2(CB2_ReturnToFieldContinueScriptPlayMapMusic); + } + else + { + i = CreateTask(sub_8194220, 0); + gTasks[i].data[0] = 0; + gTasks[i].data[1] = 0; + gTasks[i].data[2] = 3; + gTasks[i].data[3] = gTasks[taskId].data[4]; + gTasks[i].data[4] = gTasks[taskId2].data[6]; + } + DestroyTask(taskId); + } + break; + } +} From e4649245bac064d700413e922b067ecb50133175 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Sat, 18 Aug 2018 19:52:25 +0200 Subject: [PATCH 115/234] this file is too much --- asm/battle_frontier_1.s | 2725 +--------------------------------- asm/battle_tower.s | 8 +- data/battle_frontier_1.s | 4 +- include/constants/trainers.h | 1 + include/global.h | 1 + src/battle_frontier_1.c | 146 +- 6 files changed, 146 insertions(+), 2739 deletions(-) diff --git a/asm/battle_frontier_1.s b/asm/battle_frontier_1.s index d2700fff00..0f8af28a90 100644 --- a/asm/battle_frontier_1.s +++ b/asm/battle_frontier_1.s @@ -6,2721 +6,6 @@ .text - - - thumb_func_start sub_8190CD4 -sub_8190CD4: @ 8190CD4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r1, =gTasks - lsls r0, 2 - add r0, r8 - lsls r0, 3 - adds r0, r1 - movs r3, 0xE - ldrsh r2, [r0, r3] - mov r9, r2 - movs r4, 0x10 - ldrsh r7, [r0, r4] - movs r5, 0x8 - ldrsh r0, [r0, r5] - cmp r0, 0x8 - bls _08190D06 - bl _08192202 -_08190D06: - lsls r0, 2 - ldr r1, =_08190D18 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08190D18: - .4byte _08190D3C - .4byte _08190D7C - .4byte _08190DA8 - .4byte _08190E48 - .4byte _08191FF8 - .4byte _08192038 - .4byte _08192078 - .4byte _081920BC - .4byte _08192106 -_08190D3C: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - beq _08190D50 - bl _08192202 -_08190D50: - movs r0, 0x1 - negs r0, r0 - str r1, [sp] - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r1, =gTasks - mov r6, r8 - lsls r0, r6, 2 - add r0, r8 - lsls r0, 3 - adds r0, r1 - movs r1, 0x1 - strh r1, [r0, 0x8] - bl _08192202 - .pool -_08190D7C: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _08190D8C - bl _08192202 -_08190D8C: - mov r1, r8 - lsls r0, r1, 2 - add r0, r8 - lsls r0, 3 - ldr r2, =gTasks - adds r0, r2 - movs r1, 0x2 - strh r1, [r0, 0x8] - bl _08192202 - .pool -_08190DA8: - mov r0, r8 - bl sub_819221C - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x8 - bgt _08190DBE - cmp r6, 0x1 - bge _08190DF0 - bl _08192202 -_08190DBE: - cmp r6, 0x9 - beq _08190DC6 - bl _08192202 -_08190DC6: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r1, =gTasks - mov r3, r8 - lsls r0, r3, 2 - add r0, r8 - lsls r0, 3 - adds r0, r1 - movs r1, 0x8 - strh r1, [r0, 0x8] - bl _08192202 - .pool -_08190DF0: - ldr r1, =gTasks - mov r4, r8 - lsls r2, r4, 2 - adds r0, r2, r4 - lsls r0, 3 - adds r0, r1 - strh r6, [r0, 0x12] - movs r5, 0xC - ldrsh r0, [r0, r5] - movs r1, 0 - mov r9, r2 - cmp r0, 0 - beq _08190E0C - movs r1, 0x9 -_08190E0C: - adds r6, r1, 0 - adds r0, r6, 0 - adds r0, 0x9 - cmp r6, r0 - bge _08190E32 - adds r5, r0, 0 -_08190E18: - lsls r4, r6, 24 - lsrs r4, 24 - adds r0, r4, 0 - movs r1, 0x2 - bl CopyWindowToVram - adds r0, r4, 0 - movs r1, 0 - bl FillWindowPixelBuffer - adds r6, 0x1 - cmp r6, r5 - blt _08190E18 -_08190E32: - ldr r0, =gTasks - mov r1, r9 - add r1, r8 - lsls r1, 3 - adds r1, r0 - movs r0, 0x3 - strh r0, [r1, 0x8] - bl _08192202 - .pool -_08190E48: - mov r6, r8 - lsls r1, r6, 2 - adds r0, r1, r6 - lsls r0, 3 - ldr r2, =gTasks - adds r0, r2 - movs r3, 0x12 - ldrsh r6, [r0, r3] - subs r0, r6, 0x1 - mov r9, r1 - cmp r0, 0x7 - bls _08190E64 - bl _08192202 -_08190E64: - lsls r0, 2 - ldr r1, =_08190E78 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08190E78: - .4byte _08190E98 - .4byte _08191234 - .4byte _081915CC - .4byte _08191B08 - .4byte _08190E98 - .4byte _08191234 - .4byte _0819187C - .4byte _08191D68 -_08190E98: - mov r0, r9 - add r0, r8 - lsls r0, 3 - ldr r4, =gTasks - adds r0, r4 - movs r5, 0xC - ldrsh r2, [r0, r5] - cmp r2, 0 - beq _08190ED4 - ldr r0, =gBattle_BG0_X - movs r1, 0 - strh r1, [r0] - ldr r0, =gBattle_BG0_Y - strh r1, [r0] - ldr r0, =gBattle_BG1_X - strh r1, [r0] - ldr r1, =gBattle_BG1_Y - movs r0, 0xA0 - strh r0, [r1] - b _08190EE6 - .pool -_08190ED4: - ldr r0, =gBattle_BG0_X - strh r2, [r0] - ldr r1, =gBattle_BG0_Y - movs r0, 0xA0 - strh r0, [r1] - ldr r0, =gBattle_BG1_X - strh r2, [r0] - ldr r0, =gBattle_BG1_Y - strh r2, [r0] -_08190EE6: - cmp r6, 0x1 - bne _08190F9C - ldr r5, =gUnknown_0203CD78 - ldr r0, [r5] - ldrb r1, [r0, 0x10] - cmp r1, 0 - bne _08190F50 - ldr r0, =gBattle_BG2_X - strh r1, [r0] - ldr r1, =gBattle_BG2_Y - movs r6, 0xA0 - lsls r6, 1 - adds r0, r6, 0 - strh r0, [r1] - ldr r3, =gUnknown_0860D080 - ldr r2, =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r2 - movs r4, 0xA - ldrsh r1, [r0, r4] - adds r1, r3 - mov r0, r9 - add r0, r8 - lsls r0, 3 - adds r0, r2 - ldrb r2, [r0, 0xC] - movs r0, 0x10 - orrs r0, r2 - ldrb r1, [r1] - bl sub_81924E0 - b _08191084 - .pool -_08190F50: - ldr r1, =gBattle_BG2_X - movs r6, 0x80 - lsls r6, 1 - adds r0, r6, 0 - strh r0, [r1] - ldr r0, =gBattle_BG2_Y - movs r4, 0 - strh r4, [r0] - ldr r3, =gUnknown_0860D080 - ldr r2, =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r2 - movs r6, 0xA - ldrsh r1, [r0, r6] - adds r1, r3 - mov r0, r9 - add r0, r8 - lsls r0, 3 - adds r0, r2 - ldrb r2, [r0, 0xC] - movs r0, 0x10 - orrs r0, r2 - ldrb r1, [r1] - bl sub_81924E0 - ldr r0, [r5] - strb r4, [r0, 0x10] - b _08191084 - .pool -_08190F9C: - ldr r6, =gUnknown_0203CD78 - ldr r1, [r6] - ldrb r5, [r1, 0x10] - cmp r5, 0 - bne _08190FF8 - ldr r4, =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r4 - movs r2, 0xA - ldrsh r0, [r0, r2] - adds r2, r0, 0 - subs r2, 0x10 - lsls r0, r2, 24 - lsrs r0, 24 - adds r1, 0x11 - bl sub_8192F08 - ldr r0, =gBattle_BG2_X - strh r5, [r0] - ldr r1, =gBattle_BG2_Y - movs r3, 0xA0 - lsls r3, 1 - adds r0, r3, 0 - strh r0, [r1] - ldr r2, [r6] - mov r0, r9 - add r0, r8 - lsls r0, 3 - adds r0, r4 - ldrb r1, [r0, 0xC] - movs r0, 0x10 - orrs r0, r1 - ldrb r1, [r2, 0x11] - bl sub_81924E0 - b _08191084 - .pool -_08190FF8: - cmp r5, 0x2 - bne _0819104C - ldr r4, =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r4 - movs r5, 0xA - ldrsh r0, [r0, r5] - adds r2, r0, 0 - subs r2, 0x10 - lsls r0, r2, 24 - lsrs r0, 24 - adds r1, 0x11 - bl sub_8192F08 - ldr r1, =gBattle_BG2_X - movs r0, 0 - strh r0, [r1] - ldr r1, =gBattle_BG2_Y - movs r2, 0xA0 - lsls r2, 1 - adds r0, r2, 0 - strh r0, [r1] - ldr r2, [r6] - mov r0, r9 - add r0, r8 - lsls r0, 3 - adds r0, r4 - ldrb r1, [r0, 0xC] - movs r0, 0x10 - orrs r0, r1 - ldrb r1, [r2, 0x12] - bl sub_81924E0 - b _08191084 - .pool -_0819104C: - ldr r1, =gBattle_BG2_X - movs r3, 0x80 - lsls r3, 1 - adds r0, r3, 0 - strh r0, [r1] - ldr r1, =gBattle_BG2_Y - movs r0, 0xA0 - strh r0, [r1] - ldr r1, =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r1 - movs r4, 0xA - ldrsh r0, [r0, r4] - adds r2, r0, 0 - subs r2, 0x10 - mov r0, r9 - add r0, r8 - lsls r0, 3 - adds r0, r1 - ldrb r1, [r0, 0xC] - movs r0, 0x10 - orrs r0, r1 - lsls r1, r2, 24 - lsrs r1, 24 - bl sub_819314C -_08191084: - movs r6, 0 - ldr r5, =gUnknown_0203CD78 - mov r10, r5 - ldr r3, =gSprites - mov r0, r9 - add r0, r8 - lsls r0, 3 - ldr r1, =gTasks - adds r5, r0, r1 - mov r12, r6 - adds r4, r3, 0 - adds r4, 0x1C - movs r7, 0x1 -_0819109E: - cmp r6, 0x1 - bgt _0819110C - mov r2, r10 - ldr r0, [r2] - adds r2, r0, r6 - ldrb r0, [r2] - cmp r0, 0xFF - beq _08191150 - adds r1, r0, 0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldr r1, =sub_8190790 - str r1, [r0] - ldrb r0, [r2] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r3 - ldrh r0, [r5, 0xC] - eors r0, r7 - strh r0, [r1, 0x2E] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - mov r1, r12 - strh r1, [r0, 0x30] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - strh r6, [r0, 0x32] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - strh r1, [r0, 0x34] - b _08191150 - .pool -_0819110C: - mov r2, r10 - ldr r0, [r2] - adds r2, r0, r6 - ldrb r0, [r2] - cmp r0, 0xFF - beq _08191150 - adds r1, r0, 0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldr r1, =sub_8190950 - str r1, [r0] - ldrb r0, [r2] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r3 - ldrh r0, [r5, 0xC] - eors r0, r7 - strh r0, [r1, 0x2E] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - mov r1, r12 - strh r1, [r0, 0x30] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - strh r6, [r0, 0x32] -_08191150: - adds r6, 0x1 - cmp r6, 0x7 - ble _0819109E - movs r6, 0x8 - ldr r2, =gUnknown_0203CD78 - mov r12, r2 - ldr r3, =gSprites - ldr r1, =gTasks - mov r0, r9 - add r0, r8 - lsls r0, 3 - adds r5, r0, r1 - movs r4, 0 - adds r7, r3, 0 - adds r7, 0x1C -_0819116E: - cmp r6, 0x9 - bgt _081911D4 - mov r1, r12 - ldr r0, [r1] - adds r2, r0, r6 - ldrb r0, [r2] - cmp r0, 0xFF - beq _08191214 - adds r1, r0, 0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - ldr r1, =sub_8190790 - str r1, [r0] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r1, [r5, 0xC] - strh r1, [r0, 0x2E] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - strh r4, [r0, 0x30] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - strh r6, [r0, 0x32] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - strh r1, [r0, 0x34] - b _08191214 - .pool -_081911D4: - mov r2, r12 - ldr r0, [r2] - adds r2, r0, r6 - ldrb r0, [r2] - cmp r0, 0xFF - beq _08191214 - adds r1, r0, 0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - ldr r1, =sub_8190950 - str r1, [r0] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r1, [r5, 0xC] - strh r1, [r0, 0x2E] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - strh r4, [r0, 0x30] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - strh r6, [r0, 0x32] -_08191214: - adds r6, 0x1 - cmp r6, 0xF - ble _0819116E - mov r0, r9 - add r0, r8 - lsls r0, 3 - ldr r3, =gTasks - adds r0, r3 - movs r2, 0 - movs r1, 0x4 - bl _08191FE8 - .pool -_08191234: - mov r0, r9 - add r0, r8 - lsls r0, 3 - ldr r4, =gTasks - adds r0, r4 - movs r5, 0xC - ldrsh r2, [r0, r5] - cmp r2, 0 - beq _08191278 - ldr r0, =gBattle_BG0_X - movs r1, 0 - strh r1, [r0] - ldr r0, =gBattle_BG0_Y - strh r1, [r0] - ldr r0, =gBattle_BG1_X - strh r1, [r0] - ldr r1, =gBattle_BG1_Y - ldr r2, =0x0000ff60 - adds r0, r2, 0 - strh r0, [r1] - b _0819128C - .pool -_08191278: - ldr r0, =gBattle_BG0_X - strh r2, [r0] - ldr r1, =gBattle_BG0_Y - ldr r3, =0x0000ff60 - adds r0, r3, 0 - strh r0, [r1] - ldr r0, =gBattle_BG1_X - strh r2, [r0] - ldr r0, =gBattle_BG1_Y - strh r2, [r0] -_0819128C: - cmp r6, 0x2 - bne _0819133C - ldr r5, =gUnknown_0203CD78 - ldr r0, [r5] - ldrb r1, [r0, 0x10] - cmp r1, 0 - bne _081912F4 - ldr r0, =gBattle_BG2_X - strh r1, [r0] - ldr r1, =gBattle_BG2_Y - movs r0, 0xA0 - strh r0, [r1] - ldr r3, =gUnknown_0860D080 - ldr r2, =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r2 - movs r4, 0xA - ldrsh r1, [r0, r4] - adds r1, r3 - mov r0, r9 - add r0, r8 - lsls r0, 3 - adds r0, r2 - ldrb r2, [r0, 0xC] - movs r0, 0x4 - orrs r0, r2 - ldrb r1, [r1] - bl sub_81924E0 - b _0819141C - .pool -_081912F4: - ldr r0, =gBattle_BG2_X - movs r4, 0 - strh r4, [r0] - ldr r0, =gBattle_BG2_Y - strh r4, [r0] - ldr r3, =gUnknown_0860D080 - ldr r2, =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r2 - movs r6, 0xA - ldrsh r1, [r0, r6] - adds r1, r3 - mov r0, r9 - add r0, r8 - lsls r0, 3 - adds r0, r2 - ldrb r2, [r0, 0xC] - movs r0, 0x4 - orrs r0, r2 - ldrb r1, [r1] - bl sub_81924E0 - ldr r0, [r5] - strb r4, [r0, 0x10] - b _0819141C - .pool -_0819133C: - ldr r6, =gUnknown_0203CD78 - ldr r1, [r6] - ldrb r5, [r1, 0x10] - cmp r5, 0 - bne _08191394 - ldr r4, =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r4 - movs r2, 0xA - ldrsh r0, [r0, r2] - adds r2, r0, 0 - subs r2, 0x10 - lsls r0, r2, 24 - lsrs r0, 24 - adds r1, 0x11 - bl sub_8192F08 - ldr r0, =gBattle_BG2_X - strh r5, [r0] - ldr r1, =gBattle_BG2_Y - movs r0, 0xA0 - strh r0, [r1] - ldr r2, [r6] - mov r0, r9 - add r0, r8 - lsls r0, 3 - adds r0, r4 - ldrb r1, [r0, 0xC] - movs r0, 0x4 - orrs r0, r1 - ldrb r1, [r2, 0x11] - bl sub_81924E0 - b _0819141C - .pool -_08191394: - cmp r5, 0x2 - bne _081913E4 - ldr r4, =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r4 - movs r3, 0xA - ldrsh r0, [r0, r3] - adds r2, r0, 0 - subs r2, 0x10 - lsls r0, r2, 24 - lsrs r0, 24 - adds r1, 0x11 - bl sub_8192F08 - ldr r1, =gBattle_BG2_X - movs r0, 0 - strh r0, [r1] - ldr r1, =gBattle_BG2_Y - movs r0, 0xA0 - strh r0, [r1] - ldr r2, [r6] - mov r0, r9 - add r0, r8 - lsls r0, 3 - adds r0, r4 - ldrb r1, [r0, 0xC] - movs r0, 0x4 - orrs r0, r1 - ldrb r1, [r2, 0x12] - bl sub_81924E0 - b _0819141C - .pool -_081913E4: - ldr r1, =gBattle_BG2_X - movs r4, 0x80 - lsls r4, 1 - adds r0, r4, 0 - strh r0, [r1] - ldr r1, =gBattle_BG2_Y - movs r0, 0 - strh r0, [r1] - ldr r1, =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r1 - movs r5, 0xA - ldrsh r0, [r0, r5] - adds r2, r0, 0 - subs r2, 0x10 - mov r0, r9 - add r0, r8 - lsls r0, 3 - adds r0, r1 - ldrb r1, [r0, 0xC] - movs r0, 0x4 - orrs r0, r1 - lsls r1, r2, 24 - lsrs r1, 24 - bl sub_819314C -_0819141C: - movs r6, 0 - ldr r0, =gUnknown_0203CD78 - mov r10, r0 - ldr r3, =gSprites - mov r0, r9 - add r0, r8 - lsls r0, 3 - ldr r1, =gTasks - adds r5, r0, r1 - mov r12, r6 - adds r4, r3, 0 - adds r4, 0x1C - movs r7, 0x1 -_08191436: - cmp r6, 0x1 - bgt _081914A4 - mov r2, r10 - ldr r0, [r2] - adds r2, r0, r6 - ldrb r0, [r2] - cmp r0, 0xFF - beq _081914E8 - adds r1, r0, 0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldr r1, =sub_81907F8 - str r1, [r0] - ldrb r0, [r2] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r3 - ldrh r0, [r5, 0xC] - eors r0, r7 - strh r0, [r1, 0x2E] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - mov r1, r12 - strh r1, [r0, 0x30] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - strh r6, [r0, 0x32] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - strh r1, [r0, 0x34] - b _081914E8 - .pool -_081914A4: - mov r2, r10 - ldr r0, [r2] - adds r2, r0, r6 - ldrb r0, [r2] - cmp r0, 0xFF - beq _081914E8 - adds r1, r0, 0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldr r1, =sub_81909CC - str r1, [r0] - ldrb r0, [r2] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r3 - ldrh r0, [r5, 0xC] - eors r0, r7 - strh r0, [r1, 0x2E] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - mov r1, r12 - strh r1, [r0, 0x30] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - strh r6, [r0, 0x32] -_081914E8: - adds r6, 0x1 - cmp r6, 0x7 - ble _08191436 - movs r6, 0x8 - ldr r2, =gUnknown_0203CD78 - mov r12, r2 - ldr r3, =gSprites - ldr r1, =gTasks - mov r0, r9 - add r0, r8 - lsls r0, 3 - adds r5, r0, r1 - movs r4, 0 - adds r7, r3, 0 - adds r7, 0x1C -_08191506: - cmp r6, 0x9 - bgt _0819156C - mov r1, r12 - ldr r0, [r1] - adds r2, r0, r6 - ldrb r0, [r2] - cmp r0, 0xFF - beq _081915AC - adds r1, r0, 0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - ldr r1, =sub_81907F8 - str r1, [r0] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r1, [r5, 0xC] - strh r1, [r0, 0x2E] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - strh r4, [r0, 0x30] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - strh r6, [r0, 0x32] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - strh r1, [r0, 0x34] - b _081915AC - .pool -_0819156C: - mov r2, r12 - ldr r0, [r2] - adds r2, r0, r6 - ldrb r0, [r2] - cmp r0, 0xFF - beq _081915AC - adds r1, r0, 0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - ldr r1, =sub_81909CC - str r1, [r0] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r1, [r5, 0xC] - strh r1, [r0, 0x2E] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - strh r4, [r0, 0x30] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - strh r6, [r0, 0x32] -_081915AC: - adds r6, 0x1 - cmp r6, 0xF - ble _08191506 - mov r0, r9 - add r0, r8 - lsls r0, 3 - ldr r3, =gTasks - adds r0, r3 - movs r2, 0 - movs r1, 0x5 - bl _08191FE8 - .pool -_081915CC: - mov r0, r9 - add r0, r8 - lsls r0, 3 - ldr r4, =gTasks - adds r0, r4 - movs r5, 0xC - ldrsh r2, [r0, r5] - cmp r2, 0 - beq _0819160C - ldr r0, =gBattle_BG0_X - movs r1, 0 - strh r1, [r0] - ldr r0, =gBattle_BG0_Y - strh r1, [r0] - ldr r2, =gBattle_BG1_X - movs r6, 0x80 - lsls r6, 1 - adds r0, r6, 0 - strh r0, [r2] - ldr r0, =gBattle_BG1_Y - strh r1, [r0] - b _08191622 - .pool -_0819160C: - ldr r1, =gBattle_BG0_X - movs r3, 0x80 - lsls r3, 1 - adds r0, r3, 0 - strh r0, [r1] - ldr r0, =gBattle_BG0_Y - strh r2, [r0] - ldr r0, =gBattle_BG1_X - strh r2, [r0] - ldr r0, =gBattle_BG1_Y - strh r2, [r0] -_08191622: - ldr r0, =gUnknown_0203CD78 - ldr r4, [r0] - ldrb r0, [r4, 0x10] - cmp r0, 0 - bne _08191688 - ldr r1, =gBattle_BG2_X - movs r4, 0x80 - lsls r4, 1 - adds r0, r4, 0 - strh r0, [r1] - ldr r1, =gBattle_BG2_Y - movs r0, 0xA0 - strh r0, [r1] - ldr r3, =gUnknown_0860D080 - ldr r2, =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r2 - movs r5, 0xA - ldrsh r1, [r0, r5] - adds r1, r3 - mov r0, r9 - add r0, r8 - lsls r0, 3 - adds r0, r2 - ldrb r2, [r0, 0xC] - movs r0, 0x8 - orrs r0, r2 - ldrb r1, [r1] - bl sub_81924E0 - b _081916C6 - .pool -_08191688: - ldr r1, =gBattle_BG2_X - movs r6, 0x80 - lsls r6, 1 - adds r0, r6, 0 - strh r0, [r1] - ldr r1, =gBattle_BG2_Y - movs r0, 0 - strh r0, [r1] - ldr r3, =gUnknown_0860D15C - ldr r2, =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r2 - movs r5, 0xA - ldrsh r1, [r0, r5] - lsls r1, 2 - subs r1, 0x1 - ldrb r4, [r4, 0x10] - adds r1, r4 - adds r1, r3 - mov r0, r9 - add r0, r8 - lsls r0, 3 - adds r0, r2 - ldrb r2, [r0, 0xC] - movs r0, 0x8 - orrs r0, r2 - ldrb r1, [r1] - bl sub_819314C -_081916C6: - movs r6, 0 - ldr r0, =gUnknown_0203CD78 - mov r10, r0 - ldr r3, =gSprites - mov r0, r9 - add r0, r8 - lsls r0, 3 - ldr r1, =gTasks - adds r5, r0, r1 - mov r12, r6 - adds r4, r3, 0 - adds r4, 0x1C - movs r7, 0x1 -_081916E0: - cmp r6, 0x1 - bgt _08191754 - mov r2, r10 - ldr r0, [r2] - adds r2, r0, r6 - ldrb r0, [r2] - cmp r0, 0xFF - beq _08191798 - adds r1, r0, 0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldr r1, =sub_8190860 - str r1, [r0] - ldrb r0, [r2] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r3 - ldrh r0, [r5, 0xC] - eors r0, r7 - strh r0, [r1, 0x2E] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - mov r1, r12 - strh r1, [r0, 0x30] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - strh r6, [r0, 0x32] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - strh r1, [r0, 0x34] - b _08191798 - .pool -_08191754: - mov r2, r10 - ldr r0, [r2] - adds r2, r0, r6 - ldrb r0, [r2] - cmp r0, 0xFF - beq _08191798 - adds r1, r0, 0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldr r1, =sub_8190A48 - str r1, [r0] - ldrb r0, [r2] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r3 - ldrh r0, [r5, 0xC] - eors r0, r7 - strh r0, [r1, 0x2E] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - mov r1, r12 - strh r1, [r0, 0x30] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - strh r6, [r0, 0x32] -_08191798: - adds r6, 0x1 - cmp r6, 0x7 - ble _081916E0 - movs r6, 0x8 - ldr r2, =gUnknown_0203CD78 - mov r12, r2 - ldr r3, =gSprites - ldr r1, =gTasks - mov r0, r9 - add r0, r8 - lsls r0, 3 - adds r5, r0, r1 - movs r4, 0 - adds r7, r3, 0 - adds r7, 0x1C -_081917B6: - cmp r6, 0x9 - bgt _0819181C - mov r1, r12 - ldr r0, [r1] - adds r2, r0, r6 - ldrb r0, [r2] - cmp r0, 0xFF - beq _0819185C - adds r1, r0, 0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - ldr r1, =sub_8190860 - str r1, [r0] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r1, [r5, 0xC] - strh r1, [r0, 0x2E] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - strh r4, [r0, 0x30] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - strh r6, [r0, 0x32] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - strh r1, [r0, 0x34] - b _0819185C - .pool -_0819181C: - mov r2, r12 - ldr r0, [r2] - adds r2, r0, r6 - ldrb r0, [r2] - cmp r0, 0xFF - beq _0819185C - adds r1, r0, 0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - ldr r1, =sub_8190A48 - str r1, [r0] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r1, [r5, 0xC] - strh r1, [r0, 0x2E] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - strh r4, [r0, 0x30] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - strh r6, [r0, 0x32] -_0819185C: - adds r6, 0x1 - cmp r6, 0xF - ble _081917B6 - mov r0, r9 - add r0, r8 - lsls r0, 3 - ldr r3, =gTasks - adds r0, r3 - movs r2, 0 - movs r1, 0x6 - b _08191FE8 - .pool -_0819187C: - mov r0, r9 - add r0, r8 - lsls r0, 3 - ldr r4, =gTasks - adds r0, r4 - movs r5, 0xC - ldrsh r2, [r0, r5] - cmp r2, 0 - beq _081918BC - ldr r0, =gBattle_BG0_X - movs r1, 0 - strh r1, [r0] - ldr r0, =gBattle_BG0_Y - strh r1, [r0] - ldr r2, =gBattle_BG1_X - movs r6, 0x80 - lsls r6, 1 - adds r0, r6, 0 - strh r0, [r2] - ldr r0, =gBattle_BG1_Y - strh r1, [r0] - b _081918D2 - .pool -_081918BC: - ldr r1, =gBattle_BG0_X - movs r3, 0x80 - lsls r3, 1 - adds r0, r3, 0 - strh r0, [r1] - ldr r0, =gBattle_BG0_Y - strh r2, [r0] - ldr r0, =gBattle_BG1_X - strh r2, [r0] - ldr r0, =gBattle_BG1_Y - strh r2, [r0] -_081918D2: - ldr r0, =gUnknown_0203CD78 - ldr r2, [r0] - ldrb r0, [r2, 0x10] - cmp r0, 0 - bne _08191924 - ldr r1, =gBattle_BG2_X - movs r4, 0x80 - lsls r4, 1 - adds r0, r4, 0 - strh r0, [r1] - ldr r1, =gBattle_BG2_Y - movs r0, 0xA0 - strh r0, [r1] - ldr r1, =gTasks - mov r0, r9 - add r0, r8 - lsls r0, 3 - adds r0, r1 - ldrb r1, [r0, 0xC] - movs r0, 0x8 - orrs r0, r1 - ldrb r1, [r2, 0x11] - bl sub_81924E0 - b _08191958 - .pool -_08191924: - ldr r1, =gBattle_BG2_X - movs r0, 0 - strh r0, [r1] - ldr r1, =gBattle_BG2_Y - movs r0, 0xA0 - strh r0, [r1] - ldr r1, =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r1 - movs r5, 0xA - ldrsh r0, [r0, r5] - adds r2, r0, 0 - subs r2, 0x10 - mov r0, r9 - add r0, r8 - lsls r0, 3 - adds r0, r1 - ldrb r1, [r0, 0xC] - movs r0, 0x8 - orrs r0, r1 - lsls r1, r2, 24 - lsrs r1, 24 - bl sub_819314C -_08191958: - movs r6, 0 - ldr r0, =gUnknown_0203CD78 - mov r10, r0 - ldr r3, =gSprites - mov r0, r9 - add r0, r8 - lsls r0, 3 - ldr r1, =gTasks - adds r5, r0, r1 - mov r12, r6 - adds r4, r3, 0 - adds r4, 0x1C - movs r7, 0x1 -_08191972: - cmp r6, 0x1 - bgt _081919E0 - mov r2, r10 - ldr r0, [r2] - adds r2, r0, r6 - ldrb r0, [r2] - cmp r0, 0xFF - beq _08191A24 - adds r1, r0, 0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldr r1, =sub_8190860 - str r1, [r0] - ldrb r0, [r2] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r3 - ldrh r0, [r5, 0xC] - eors r0, r7 - strh r0, [r1, 0x2E] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - mov r1, r12 - strh r1, [r0, 0x30] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - strh r6, [r0, 0x32] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - strh r1, [r0, 0x34] - b _08191A24 - .pool -_081919E0: - mov r2, r10 - ldr r0, [r2] - adds r2, r0, r6 - ldrb r0, [r2] - cmp r0, 0xFF - beq _08191A24 - adds r1, r0, 0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldr r1, =sub_8190A48 - str r1, [r0] - ldrb r0, [r2] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r3 - ldrh r0, [r5, 0xC] - eors r0, r7 - strh r0, [r1, 0x2E] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - mov r1, r12 - strh r1, [r0, 0x30] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - strh r6, [r0, 0x32] -_08191A24: - adds r6, 0x1 - cmp r6, 0x7 - ble _08191972 - movs r6, 0x8 - ldr r2, =gUnknown_0203CD78 - mov r12, r2 - ldr r3, =gSprites - ldr r1, =gTasks - mov r0, r9 - add r0, r8 - lsls r0, 3 - adds r5, r0, r1 - movs r4, 0 - adds r7, r3, 0 - adds r7, 0x1C -_08191A42: - cmp r6, 0x9 - bgt _08191AA8 - mov r1, r12 - ldr r0, [r1] - adds r2, r0, r6 - ldrb r0, [r2] - cmp r0, 0xFF - beq _08191AE8 - adds r1, r0, 0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - ldr r1, =sub_8190860 - str r1, [r0] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r1, [r5, 0xC] - strh r1, [r0, 0x2E] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - strh r4, [r0, 0x30] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - strh r6, [r0, 0x32] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - strh r1, [r0, 0x34] - b _08191AE8 - .pool -_08191AA8: - mov r2, r12 - ldr r0, [r2] - adds r2, r0, r6 - ldrb r0, [r2] - cmp r0, 0xFF - beq _08191AE8 - adds r1, r0, 0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - ldr r1, =sub_8190A48 - str r1, [r0] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r1, [r5, 0xC] - strh r1, [r0, 0x2E] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - strh r4, [r0, 0x30] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - strh r6, [r0, 0x32] -_08191AE8: - adds r6, 0x1 - cmp r6, 0xF - ble _08191A42 - mov r0, r9 - add r0, r8 - lsls r0, 3 - ldr r3, =gTasks - adds r0, r3 - movs r2, 0 - movs r1, 0x6 - b _08191FE8 - .pool -_08191B08: - mov r0, r9 - add r0, r8 - lsls r0, 3 - ldr r4, =gTasks - adds r0, r4 - movs r5, 0xC - ldrsh r2, [r0, r5] - cmp r2, 0 - beq _08191B48 - ldr r0, =gBattle_BG0_X - movs r1, 0 - strh r1, [r0] - ldr r0, =gBattle_BG0_Y - strh r1, [r0] - ldr r2, =gBattle_BG1_X - movs r6, 0xFF - lsls r6, 8 - adds r0, r6, 0 - strh r0, [r2] - ldr r0, =gBattle_BG1_Y - strh r1, [r0] - b _08191B5E - .pool -_08191B48: - ldr r1, =gBattle_BG0_X - movs r3, 0xFF - lsls r3, 8 - adds r0, r3, 0 - strh r0, [r1] - ldr r0, =gBattle_BG0_Y - strh r2, [r0] - ldr r0, =gBattle_BG1_X - strh r2, [r0] - ldr r0, =gBattle_BG1_Y - strh r2, [r0] -_08191B5E: - ldr r0, =gUnknown_0203CD78 - ldr r0, [r0] - ldrb r0, [r0, 0x10] - cmp r0, 0x1 - bne _08191B94 - ldr r1, =gBattle_BG2_X - movs r0, 0 - strh r0, [r1] - ldr r1, =gBattle_BG2_Y - movs r0, 0xA0 - strh r0, [r1] - b _08191B9E - .pool -_08191B94: - ldr r0, =gBattle_BG2_X - movs r1, 0 - strh r1, [r0] - ldr r0, =gBattle_BG2_Y - strh r1, [r0] -_08191B9E: - ldr r4, =gUnknown_0860D15C - ldr r5, =gUnknown_0203CD78 - ldr r3, [r5] - ldr r2, =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r2 - movs r6, 0xA - ldrsh r1, [r0, r6] - lsls r1, 2 - subs r1, 0x1 - ldrb r3, [r3, 0x10] - adds r1, r3 - adds r1, r4 - mov r4, r9 - add r4, r8 - lsls r4, 3 - adds r4, r2 - ldrb r2, [r4, 0xC] - movs r0, 0x2 - orrs r0, r2 - ldrb r1, [r1] - bl sub_819314C - movs r6, 0 - ldr r7, =gSprites - mov r12, r6 - mov r10, r5 - adds r5, r7, 0 - adds r5, 0x1C -_08191BDC: - cmp r6, 0x1 - bgt _08191C50 - mov r1, r10 - ldr r0, [r1] - adds r3, r0, r6 - ldrb r0, [r3] - cmp r0, 0xFF - beq _08191C96 - adds r1, r0, 0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - ldr r1, =sub_81908CC - str r1, [r0] - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - ldrh r1, [r4, 0xC] - movs r2, 0x1 - eors r1, r2 - strh r1, [r0, 0x2E] - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - mov r2, r12 - strh r2, [r0, 0x30] - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - strh r6, [r0, 0x32] - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - strh r1, [r0, 0x34] - b _08191C96 - .pool -_08191C50: - mov r3, r10 - ldr r0, [r3] - adds r3, r0, r6 - ldrb r0, [r3] - cmp r0, 0xFF - beq _08191C96 - adds r1, r0, 0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - ldr r1, =sub_8190AC4 - str r1, [r0] - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - ldrh r1, [r4, 0xC] - movs r2, 0x1 - eors r1, r2 - strh r1, [r0, 0x2E] - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - mov r1, r12 - strh r1, [r0, 0x30] - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - strh r6, [r0, 0x32] -_08191C96: - adds r6, 0x1 - cmp r6, 0x7 - ble _08191BDC - movs r6, 0x8 - ldr r2, =gUnknown_0203CD78 - mov r12, r2 - ldr r3, =gSprites - ldr r1, =gTasks - mov r0, r9 - add r0, r8 - lsls r0, 3 - adds r5, r0, r1 - movs r4, 0 - adds r7, r3, 0 - adds r7, 0x1C -_08191CB4: - cmp r6, 0x9 - bgt _08191D1C - mov r1, r12 - ldr r0, [r1] - adds r2, r0, r6 - ldrb r0, [r2] - cmp r0, 0xFF - beq _08191D5C - adds r1, r0, 0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - ldr r1, =sub_81908CC - str r1, [r0] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r1, [r5, 0xC] - strh r1, [r0, 0x2E] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - strh r4, [r0, 0x30] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - strh r6, [r0, 0x32] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - strh r1, [r0, 0x34] - b _08191D5C - .pool -_08191D1C: - mov r2, r12 - ldr r0, [r2] - adds r2, r0, r6 - ldrb r0, [r2] - cmp r0, 0xFF - beq _08191D5C - adds r1, r0, 0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - ldr r1, =sub_8190AC4 - str r1, [r0] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r1, [r5, 0xC] - strh r1, [r0, 0x2E] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - strh r4, [r0, 0x30] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - strh r6, [r0, 0x32] -_08191D5C: - adds r6, 0x1 - cmp r6, 0xF - ble _08191CB4 - b _08191FDA - .pool -_08191D68: - mov r0, r9 - add r0, r8 - lsls r0, 3 - ldr r4, =gTasks - adds r0, r4 - movs r5, 0xC - ldrsh r2, [r0, r5] - cmp r2, 0 - beq _08191DA8 - ldr r0, =gBattle_BG0_X - movs r1, 0 - strh r1, [r0] - ldr r0, =gBattle_BG0_Y - strh r1, [r0] - ldr r2, =gBattle_BG1_X - movs r6, 0xFF - lsls r6, 8 - adds r0, r6, 0 - strh r0, [r2] - ldr r0, =gBattle_BG1_Y - strh r1, [r0] - b _08191DBE - .pool -_08191DA8: - ldr r1, =gBattle_BG0_X - movs r3, 0xFF - lsls r3, 8 - adds r0, r3, 0 - strh r0, [r1] - ldr r0, =gBattle_BG0_Y - strh r2, [r0] - ldr r0, =gBattle_BG1_X - strh r2, [r0] - ldr r0, =gBattle_BG1_Y - strh r2, [r0] -_08191DBE: - ldr r0, =gUnknown_0203CD78 - ldr r2, [r0] - ldrb r0, [r2, 0x10] - cmp r0, 0x2 - bne _08191E10 - ldr r1, =gBattle_BG2_X - movs r4, 0x80 - lsls r4, 1 - adds r0, r4, 0 - strh r0, [r1] - ldr r1, =gBattle_BG2_Y - movs r0, 0xA0 - strh r0, [r1] - ldr r1, =gTasks - mov r0, r9 - add r0, r8 - lsls r0, 3 - adds r0, r1 - ldrb r1, [r0, 0xC] - movs r0, 0x2 - orrs r0, r1 - ldrb r1, [r2, 0x12] - bl sub_81924E0 - b _08191E44 - .pool -_08191E10: - ldr r1, =gBattle_BG2_X - movs r0, 0 - strh r0, [r1] - ldr r1, =gBattle_BG2_Y - movs r0, 0xA0 - strh r0, [r1] - ldr r1, =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r1 - movs r5, 0xA - ldrsh r0, [r0, r5] - adds r2, r0, 0 - subs r2, 0x10 - mov r0, r9 - add r0, r8 - lsls r0, 3 - adds r0, r1 - ldrb r1, [r0, 0xC] - movs r0, 0x2 - orrs r0, r1 - lsls r1, r2, 24 - lsrs r1, 24 - bl sub_819314C -_08191E44: - movs r6, 0 - ldr r0, =gUnknown_0203CD78 - mov r10, r0 - ldr r3, =gSprites - mov r0, r9 - add r0, r8 - lsls r0, 3 - ldr r1, =gTasks - adds r5, r0, r1 - mov r12, r6 - adds r4, r3, 0 - adds r4, 0x1C - movs r7, 0x1 -_08191E5E: - cmp r6, 0x1 - bgt _08191ECC - mov r2, r10 - ldr r0, [r2] - adds r2, r0, r6 - ldrb r0, [r2] - cmp r0, 0xFF - beq _08191F10 - adds r1, r0, 0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldr r1, =sub_81908CC - str r1, [r0] - ldrb r0, [r2] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r3 - ldrh r0, [r5, 0xC] - eors r0, r7 - strh r0, [r1, 0x2E] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - mov r1, r12 - strh r1, [r0, 0x30] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - strh r6, [r0, 0x32] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - strh r1, [r0, 0x34] - b _08191F10 - .pool -_08191ECC: - mov r2, r10 - ldr r0, [r2] - adds r2, r0, r6 - ldrb r0, [r2] - cmp r0, 0xFF - beq _08191F10 - adds r1, r0, 0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldr r1, =sub_8190AC4 - str r1, [r0] - ldrb r0, [r2] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r3 - ldrh r0, [r5, 0xC] - eors r0, r7 - strh r0, [r1, 0x2E] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - mov r1, r12 - strh r1, [r0, 0x30] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - strh r6, [r0, 0x32] -_08191F10: - adds r6, 0x1 - cmp r6, 0x7 - ble _08191E5E - movs r6, 0x8 - ldr r2, =gUnknown_0203CD78 - mov r12, r2 - ldr r3, =gSprites - ldr r1, =gTasks - mov r0, r9 - add r0, r8 - lsls r0, 3 - adds r5, r0, r1 - movs r4, 0 - adds r7, r3, 0 - adds r7, 0x1C -_08191F2E: - cmp r6, 0x9 - bgt _08191F94 - mov r1, r12 - ldr r0, [r1] - adds r2, r0, r6 - ldrb r0, [r2] - cmp r0, 0xFF - beq _08191FD4 - adds r1, r0, 0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - ldr r1, =sub_81908CC - str r1, [r0] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r1, [r5, 0xC] - strh r1, [r0, 0x2E] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - strh r4, [r0, 0x30] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - strh r6, [r0, 0x32] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - strh r1, [r0, 0x34] - b _08191FD4 - .pool -_08191F94: - mov r2, r12 - ldr r0, [r2] - adds r2, r0, r6 - ldrb r0, [r2] - cmp r0, 0xFF - beq _08191FD4 - adds r1, r0, 0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - ldr r1, =sub_8190AC4 - str r1, [r0] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r1, [r5, 0xC] - strh r1, [r0, 0x2E] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - strh r4, [r0, 0x30] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - strh r6, [r0, 0x32] -_08191FD4: - adds r6, 0x1 - cmp r6, 0xF - ble _08191F2E -_08191FDA: - mov r0, r9 - add r0, r8 - lsls r0, 3 - ldr r3, =gTasks - adds r0, r3 - movs r2, 0 - movs r1, 0x7 -_08191FE8: - strh r1, [r0, 0x8] - strh r2, [r0, 0x12] - b _08192202 - .pool -_08191FF8: - mov r4, r8 - lsls r0, r4, 2 - add r0, r8 - lsls r0, 3 - ldr r5, =gTasks - adds r1, r0, r5 - ldrh r0, [r1, 0x12] - adds r0, 0x1 - strh r0, [r1, 0x12] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x29 - beq _08192100 - ldr r1, =gBattle_BG0_Y - ldrh r0, [r1] - subs r0, 0x4 - strh r0, [r1] - ldr r1, =gBattle_BG1_Y - ldrh r0, [r1] - subs r0, 0x4 - strh r0, [r1] - ldr r1, =gBattle_BG2_Y - b _081920A4 - .pool -_08192038: - mov r6, r8 - lsls r0, r6, 2 - add r0, r8 - lsls r0, 3 - ldr r2, =gTasks - adds r1, r0, r2 - ldrh r0, [r1, 0x12] - adds r0, 0x1 - strh r0, [r1, 0x12] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x29 - beq _08192100 - ldr r1, =gBattle_BG0_Y - ldrh r0, [r1] - adds r0, 0x4 - strh r0, [r1] - ldr r1, =gBattle_BG1_Y - ldrh r0, [r1] - adds r0, 0x4 - strh r0, [r1] - ldr r1, =gBattle_BG2_Y - b _081920E8 - .pool -_08192078: - mov r3, r8 - lsls r0, r3, 2 - add r0, r8 - lsls r0, 3 - ldr r4, =gTasks - adds r1, r0, r4 - ldrh r0, [r1, 0x12] - adds r0, 0x1 - strh r0, [r1, 0x12] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x41 - beq _08192100 - ldr r1, =gBattle_BG0_X - ldrh r0, [r1] - subs r0, 0x4 - strh r0, [r1] - ldr r1, =gBattle_BG1_X - ldrh r0, [r1] - subs r0, 0x4 - strh r0, [r1] - ldr r1, =gBattle_BG2_X -_081920A4: - ldrh r0, [r1] - subs r0, 0x4 - strh r0, [r1] - b _08192202 - .pool -_081920BC: - mov r5, r8 - lsls r0, r5, 2 - add r0, r8 - lsls r0, 3 - ldr r6, =gTasks - adds r1, r0, r6 - ldrh r0, [r1, 0x12] - adds r0, 0x1 - strh r0, [r1, 0x12] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x41 - beq _08192100 - ldr r1, =gBattle_BG0_X - ldrh r0, [r1] - adds r0, 0x4 - strh r0, [r1] - ldr r1, =gBattle_BG1_X - ldrh r0, [r1] - adds r0, 0x4 - strh r0, [r1] - ldr r1, =gBattle_BG2_X -_081920E8: - ldrh r0, [r1] - adds r0, 0x4 - strh r0, [r1] - b _08192202 - .pool -_08192100: - movs r0, 0x2 - strh r0, [r1, 0x8] - b _08192202 -_08192106: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08192202 - movs r6, 0 - ldr r4, =gUnknown_0203CD78 -_08192116: - cmp r6, 0x1 - bgt _08192134 - ldr r0, [r4] - adds r1, r0, r6 - ldrb r0, [r1] - cmp r0, 0xFF - beq _0819214E - bl sub_818D8F0 - b _0819214E - .pool -_08192134: - ldr r0, [r4] - adds r1, r0, r6 - ldrb r0, [r1] - cmp r0, 0xFF - beq _0819214E - adds r1, r0, 0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - bl sub_80D2EF8 -_0819214E: - adds r6, 0x1 - cmp r6, 0x7 - ble _08192116 - movs r6, 0x8 - ldr r4, =gUnknown_0203CD78 -_08192158: - cmp r6, 0x9 - bgt _08192174 - ldr r0, [r4] - adds r1, r0, r6 - ldrb r0, [r1] - cmp r0, 0xFF - beq _0819218E - bl sub_818D8F0 - b _0819218E - .pool -_08192174: - ldr r0, [r4] - adds r1, r0, r6 - ldrb r0, [r1] - cmp r0, 0xFF - beq _0819218E - adds r1, r0, 0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - bl sub_80D2EF8 -_0819218E: - adds r6, 0x1 - cmp r6, 0xF - ble _08192158 - bl FreeMonIconPalettes - ldr r4, =gUnknown_0203CD78 - ldr r0, [r4] - bl Free - movs r5, 0 - str r5, [r4] - bl FreeAllWindowBuffers - mov r0, r9 - cmp r0, 0 - bne _081921C4 - ldr r0, =CB2_ReturnToFieldContinueScriptPlayMapMusic - bl SetMainCallback2 - b _081921FC - .pool -_081921C4: - ldr r0, =sub_8194220 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r6, r0, 24 - ldr r2, =gTasks - lsls r1, r6, 2 - adds r1, r6 - lsls r1, 3 - adds r1, r2 - strh r5, [r1, 0x8] - strh r5, [r1, 0xA] - movs r0, 0x3 - strh r0, [r1, 0xC] - mov r3, r8 - lsls r0, r3, 2 - add r0, r8 - lsls r0, 3 - adds r0, r2 - ldrh r0, [r0, 0x10] - strh r0, [r1, 0xE] - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r2 - ldrh r0, [r0, 0x14] - strh r0, [r1, 0x10] -_081921FC: - mov r0, r8 - bl DestroyTask -_08192202: - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8190CD4 - - thumb_func_start sub_819221C -sub_819221C: @ 819221C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - movs r7, 0 - ldr r2, =gTasks - lsls r0, 2 - add r0, r9 - lsls r0, 3 - adds r0, r2 - mov r12, r0 - movs r1, 0x10 - ldrsh r6, [r0, r1] - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r0, r2 - movs r3, 0xA - ldrsh r5, [r0, r3] - ldr r0, =gUnknown_0860D080 - adds r0, r5, r0 - ldrb r0, [r0] - mov r10, r0 - ldr r3, =gSaveBlock2Ptr - ldr r0, [r3] - ldr r1, =0x00000cb2 - adds r0, r1 - ldrh r0, [r0] - mov r8, r0 - ldr r1, =gMain - ldrh r4, [r1, 0x2E] - movs r0, 0x3 - ands r0, r4 - adds r2, r1, 0 - cmp r0, 0 - beq _0819226E - movs r7, 0x9 -_0819226E: - mov r3, r12 - movs r1, 0xE - ldrsh r0, [r3, r1] - cmp r0, 0 - bne _0819227A - b _081924CC -_0819227A: - cmp r0, 0x1 - beq _08192280 - b _081923B0 -_08192280: - movs r0, 0x40 - ands r0, r4 - cmp r0, 0 - beq _081922BA - ldr r0, =gUnknown_0203CD78 - ldr r0, [r0] - ldrb r0, [r0, 0x10] - cmp r0, 0 - bne _081922BA - cmp r5, 0 - bne _081922B4 - movs r5, 0xF - b _081922B6 - .pool -_081922B4: - subs r5, 0x1 -_081922B6: - movs r7, 0x1 - b _08192360 -_081922BA: - ldrh r1, [r2, 0x2E] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _081922E2 - ldr r0, =gUnknown_0203CD78 - ldr r0, [r0] - ldrb r0, [r0, 0x10] - cmp r0, 0 - bne _081922E2 - cmp r5, 0xF - bne _081922DC - movs r5, 0 - b _081922DE - .pool -_081922DC: - adds r5, 0x1 -_081922DE: - movs r7, 0x2 - b _08192360 -_081922E2: - ldrh r1, [r2, 0x2E] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _08192304 - ldr r0, =gUnknown_0203CD78 - ldr r1, [r0] - ldrb r0, [r1, 0x10] - cmp r0, 0 - beq _08192304 - subs r0, 0x1 - strb r0, [r1, 0x10] - movs r7, 0x3 - b _08192360 - .pool -_08192304: - ldrh r1, [r2, 0x2E] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _08192360 - ldr r2, =gSaveBlock2Ptr - ldr r0, [r2] - mov r3, r10 - lsls r1, r3, 2 - adds r0, r1 - ldr r2, =0x00000d25 - adds r0, r2 - ldrb r3, [r0] - lsls r0, r3, 29 - mov r12, r1 - cmp r0, 0 - bge _0819233C - ldr r0, =gUnknown_0203CD78 - ldr r2, [r0] - ldrb r4, [r2, 0x10] - subs r1, r4, 0x1 - lsls r0, r3, 27 - lsrs r0, 30 - cmp r1, r0 - bge _0819233C - adds r0, r4, 0x1 - strb r0, [r2, 0x10] - movs r7, 0x4 -_0819233C: - ldr r3, =gSaveBlock2Ptr - ldr r0, [r3] - add r0, r12 - ldr r1, =0x00000d25 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 29 - cmp r0, 0 - blt _08192360 - ldr r0, =gUnknown_0203CD78 - ldr r3, [r0] - ldrb r1, [r3, 0x10] - subs r0, r1, 0x1 - cmp r0, r8 - bge _08192360 - adds r0, r1, 0x1 - strb r0, [r3, 0x10] - movs r7, 0x4 -_08192360: - cmp r7, 0x9 - beq _08192366 - b _081924A0 -_08192366: - ldr r0, =gUnknown_0203CD78 - ldr r3, [r0] - ldrb r0, [r3, 0x10] - cmp r0, 0 - beq _081923A0 - lsls r1, r6, 2 - adds r1, r6 - lsls r1, 3 - ldr r2, =gTasks - adds r1, r2 - ldr r2, =gUnknown_0860D1A0 - lsrs r0, r5, 31 - adds r0, r5, r0 - asrs r0, 1 - lsls r0, 2 - subs r0, 0x1 - ldrb r3, [r3, 0x10] - adds r0, r3 - b _08192482 - .pool -_081923A0: - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - ldr r3, =gTasks - adds r0, r3 - b _0819249E - .pool -_081923B0: - movs r0, 0x40 - ands r0, r4 - cmp r0, 0 - beq _081923DE - ldr r0, =gUnknown_0203CD78 - ldr r0, [r0] - ldrb r0, [r0, 0x10] - cmp r0, 0x1 - bne _081923DE - cmp r5, 0x10 - bne _081923D8 - ldr r0, =gUnknown_0860D19C - add r0, r8 - ldrb r5, [r0] - b _081923DA - .pool -_081923D8: - subs r5, 0x1 -_081923DA: - movs r7, 0x5 - b _08192446 -_081923DE: - ldrh r1, [r2, 0x2E] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0819240E - ldr r0, =gUnknown_0203CD78 - ldr r0, [r0] - ldrb r0, [r0, 0x10] - cmp r0, 0x1 - bne _0819240E - ldr r0, =gUnknown_0860D19C - add r0, r8 - ldrb r0, [r0] - cmp r5, r0 - bne _08192408 - movs r5, 0x10 - b _0819240A - .pool -_08192408: - adds r5, 0x1 -_0819240A: - movs r7, 0x6 - b _08192446 -_0819240E: - ldrh r1, [r2, 0x2E] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _0819242C - ldr r0, =gUnknown_0203CD78 - ldr r1, [r0] - ldrb r0, [r1, 0x10] - cmp r0, 0 - beq _0819242C - movs r7, 0x7 - subs r0, 0x1 - b _08192444 - .pool -_0819242C: - ldrh r1, [r2, 0x2E] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _08192446 - ldr r0, =gUnknown_0203CD78 - ldr r1, [r0] - ldrb r0, [r1, 0x10] - cmp r0, 0x1 - bhi _08192446 - movs r7, 0x8 - adds r0, 0x1 -_08192444: - strb r0, [r1, 0x10] -_08192446: - cmp r7, 0x9 - bne _081924A0 - ldr r0, =gUnknown_0203CD78 - ldr r0, [r0] - ldrb r1, [r0, 0x10] - cmp r1, 0 - bne _08192470 - lsls r1, r6, 2 - adds r1, r6 - lsls r1, 3 - ldr r2, =gTasks - adds r1, r2 - ldr r2, =gUnknown_0860D1C0 - ldrb r0, [r0, 0x11] - b _08192482 - .pool -_08192470: - cmp r1, 0x2 - bne _08192494 - lsls r1, r6, 2 - adds r1, r6 - lsls r1, 3 - ldr r3, =gTasks - adds r1, r3 - ldr r2, =gUnknown_0860D1C0 - ldrb r0, [r0, 0x12] -_08192482: - adds r0, r2 - ldrb r0, [r0] - strh r0, [r1, 0xA] - b _081924A0 - .pool -_08192494: - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - ldr r1, =gTasks - adds r0, r1 -_0819249E: - strh r5, [r0, 0xA] -_081924A0: - cmp r7, 0 - beq _081924CC - cmp r7, 0x9 - beq _081924CC - movs r0, 0x5 - bl PlaySE - ldr r1, =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r0, r1 - strh r5, [r0, 0xA] - mov r2, r9 - lsls r0, r2, 2 - add r0, r9 - lsls r0, 3 - adds r0, r1 - ldrh r1, [r0, 0xC] - movs r2, 0x1 - eors r1, r2 - strh r1, [r0, 0xC] -_081924CC: - adds r0, r7, 0 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_819221C - thumb_func_start sub_81924E0 sub_81924E0: @ 81924E0 push {r4-r7,lr} @@ -7775,7 +5060,7 @@ _08195092: _0819509E: ldr r4, [sp, 0x30] lsrs r0, r4, 16 - bl sub_8163524 + bl RandomizeFacilityTrainerMonId lsls r0, 16 lsrs r5, r0, 16 movs r7, 0 @@ -7932,7 +5217,7 @@ _081951AA: str r1, [sp, 0x4] movs r1, 0x32 mov r2, r8 - bl sub_818F720 + bl CalcDomeMonStats ldr r2, [sp, 0x1C] ldr r1, [r2, 0x4] ldrh r0, [r5] @@ -8031,7 +5316,7 @@ _08195288: mov r0, r10 adds r1, r6, 0 ldr r2, [sp, 0x18] - bl sub_818F904 + bl SwapDomeTrainers b _081952F0 .pool _081952C4: @@ -8055,7 +5340,7 @@ _081952C4: mov r0, r10 adds r1, r6, 0 ldr r2, [sp, 0x18] - bl sub_818F904 + bl SwapDomeTrainers _081952F0: adds r4, 0x2 adds r6, 0x1 @@ -8272,7 +5557,7 @@ _08195488: str r5, [sp, 0x4] lsrs r1, 22 ldr r0, [sp] - bl sub_81901A0 + bl TournamentIdOfOpponent str r0, [sp, 0x8] ldr r0, =gSaveBlock2Ptr ldr r3, [r0] diff --git a/asm/battle_tower.s b/asm/battle_tower.s index 43dc9b19bf..e905342667 100644 --- a/asm/battle_tower.s +++ b/asm/battle_tower.s @@ -2545,8 +2545,8 @@ _081634D4: .pool thumb_func_end sub_8163444 - thumb_func_start sub_8163524 -sub_8163524: @ 8163524 + thumb_func_start RandomizeFacilityTrainerMonId +RandomizeFacilityTrainerMonId: @ 8163524 push {r4-r6,lr} adds r4, r0, 0 lsls r4, 16 @@ -2598,7 +2598,7 @@ _08163580: pop {r1} bx r1 .pool - thumb_func_end sub_8163524 + thumb_func_end RandomizeFacilityTrainerMonId thumb_func_start sub_8163590 sub_8163590: @ 8163590 @@ -4186,7 +4186,7 @@ _081643A8: str r0, [sp, 0x28] _081643C0: mov r0, r8 - bl sub_8163524 + bl RandomizeFacilityTrainerMonId lsls r0, 16 lsrs r6, r0, 16 movs r0, 0x1 diff --git a/data/battle_frontier_1.s b/data/battle_frontier_1.s index e2eb99505e..e0e2b73b40 100644 --- a/data/battle_frontier_1.s +++ b/data/battle_frontier_1.s @@ -393,7 +393,7 @@ gUnknown_0860D090:: @ 860D090 .4byte sub_818F9B0 .4byte sub_818F9E0 .4byte sub_818FA20 - .4byte sub_81903B8 + .4byte ShowDomeOpponentInfo .4byte sub_81938A4 .4byte sub_81938E0 .4byte sub_8190298 @@ -409,7 +409,7 @@ gUnknown_0860D090:: @ 860D090 .4byte sub_8194EC0 .4byte sub_8194EF8 .4byte sub_8194F58 - .4byte sub_818F02C + .4byte InitDomeTrainers .align 2 gUnknown_0860D0EC:: @ 860D0EC diff --git a/include/constants/trainers.h b/include/constants/trainers.h index 57c7fd523f..df908c8bfd 100644 --- a/include/constants/trainers.h +++ b/include/constants/trainers.h @@ -5,6 +5,7 @@ // Special Trainer Ids. #define TRAINER_FRONTIER_BRAIN 1022 +#define TRAINER_PLAYER 1023 #define TRAINER_SECRET_BASE 1024 #define TRAINER_LINK_OPPONENT 2048 #define TRAINER_OPPONENT_C00 3072 diff --git a/include/global.h b/include/global.h index 4bfa6194d9..9f2c7c9a25 100644 --- a/include/global.h +++ b/include/global.h @@ -397,6 +397,7 @@ struct BattleFrontier /*0xD1C*/ u16 field_D1C[2][2]; /*0xD24*/ struct BattleDomeTrainer domeTrainers[DOME_TOURNAMENT_TRAINERS_COUNT]; /*0xD64*/ u16 domeMonId[DOME_TOURNAMENT_TRAINERS_COUNT][3]; + /*0xD64*/ u16 field_DC4[2]; /*0xDC8*/ u16 field_DC8[2]; /*0xDCC*/ u8 filler_DCC[4]; /*0xDD0*/ u16 field_DD0[2]; diff --git a/src/battle_frontier_1.c b/src/battle_frontier_1.c index c977f7d76e..784ad36567 100644 --- a/src/battle_frontier_1.c +++ b/src/battle_frontier_1.c @@ -18,11 +18,19 @@ #include "palette.h" #include "decompress.h" #include "menu.h" +#include "sound.h" #include "pokemon_icon.h" #include "constants/species.h" #include "constants/moves.h" #include "constants/trainers.h" #include "constants/abilities.h" +#include "constants/songs.h" + +#define DOME_ROUND1 0 +#define DOME_ROUND2 1 +#define DOME_QUARTERFINAL 1 // Different name for the same round. +#define DOME_SEMIFINAL 2 +#define DOME_FINAL 3 struct Unknown_0203BC8C_Struct { @@ -80,6 +88,9 @@ extern const struct SpriteTemplate gUnknown_0860D068; extern const struct SpriteTemplate gUnknown_0860D050; extern const u8 gUnknown_0860D080[]; extern const u8 gUnknown_0860D15C[]; +extern const u8 gUnknown_0860D1A0[]; +extern const u8 gUnknown_0860D19C[]; +extern const u8 gUnknown_0860D1C0[]; extern const u8 gUnknown_0860D3F1[][2]; // gfx @@ -102,7 +113,7 @@ s32 sub_818FCBC(u16 tournamentTrainerId, bool8 arg1); s32 sub_818FDB8(u16 tournamentTrainerId, bool8 arg1); s32 sub_818FFC0(s32 move, s32 species, s32 arg2); s32 sub_818FEB4(s32 *arr, bool8 arg1); -u16 sub_81902AC(void); +u16 TrainerIdOfPlayerOpponent(void); void sub_8190400(u8 taskId); void sub_8190CD4(u8 taskId); void sub_8194220(u8 taskId); @@ -269,7 +280,7 @@ void sub_818ED28(void) } } -void SetDomeTrainersAndMons(void) +void InitDomeTrainers(void) { s32 i, j, k; s32 monLevel; @@ -1137,7 +1148,7 @@ u8 GetDomeTrainerMonIvs(u16 trainerId) return fixedIv; } -s32 sub_81901A0(s32 arg0, s32 trainerId) +s32 TournamentIdOfOpponent(s32 roundId, s32 trainerId) { s32 i, j, val; @@ -1147,14 +1158,14 @@ s32 sub_81901A0(s32 arg0, s32 trainerId) break; } - if (arg0 != 0) + if (roundId != DOME_ROUND1) { - if (arg0 == 3) - val = gUnknown_0860D10C[i][arg0] + 8; + if (roundId == DOME_FINAL) + val = gUnknown_0860D10C[i][roundId] + 8; else - val = gUnknown_0860D10C[i][arg0] + 4; + val = gUnknown_0860D10C[i][roundId] + 4; - for (j = gUnknown_0860D10C[i][arg0]; j < val; j++) + for (j = gUnknown_0860D10C[i][roundId]; j < val; j++) { if (gUnknown_0860D14C[j] != i && !gSaveBlock2Ptr->frontier.domeTrainers[gUnknown_0860D14C[j]].unk1) break; @@ -1176,12 +1187,12 @@ s32 sub_81901A0(s32 arg0, s32 trainerId) void sub_8190298(void) { - gTrainerBattleOpponent_A = sub_81902AC(); + gTrainerBattleOpponent_A = TrainerIdOfPlayerOpponent(); } -u16 sub_81902AC(void) +u16 TrainerIdOfPlayerOpponent(void) { - return gSaveBlock2Ptr->frontier.domeTrainers[sub_81901A0(gSaveBlock2Ptr->frontier.field_CB2, TRAINER_PLAYER)].trainerId; + return gSaveBlock2Ptr->frontier.domeTrainers[TournamentIdOfOpponent(gSaveBlock2Ptr->frontier.field_CB2, TRAINER_PLAYER)].trainerId; } void sub_81902E4(void) @@ -1211,11 +1222,11 @@ void sub_819033C(void) gSaveBlock2Ptr->frontier.field_D14[battleMode][lvlMode] = gSaveBlock2Ptr->frontier.field_D0C[battleMode][lvlMode]; } -void sub_81903B8(void) +void ShowDomeOpponentInfo(void) { u8 taskId = CreateTask(sub_8190400, 0); gTasks[taskId].data[0] = 0; - gTasks[taskId].data[1] = TrainerIdToTournamentId(sub_81902AC()); + gTasks[taskId].data[1] = TrainerIdToTournamentId(TrainerIdOfPlayerOpponent()); gTasks[taskId].data[2] = 0; gTasks[taskId].data[3] = 0; @@ -2322,3 +2333,112 @@ void sub_8190CD4(u8 taskId) break; } } + +u8 sub_819221C(u8 taskId) +{ + u8 retVal = 0; + s32 taskId2 = gTasks[taskId].data[4]; + s32 r5 = gTasks[taskId2].data[1]; + u8 r10 = gUnknown_0860D080[r5]; + u16 roundId = gSaveBlock2Ptr->frontier.field_CB2; + + if (gMain.newKeys & (A_BUTTON | B_BUTTON)) + retVal = 9; + + if (gTasks[taskId].data[3] != 0) + { + if (gTasks[taskId].data[3] == 1) + { + if (gMain.newKeys & DPAD_UP && gUnknown_0203CD78->unk_10 == 0) + { + if (r5 == 0) + r5 = 15; + else + r5--; + retVal = 1; + } + else if (gMain.newKeys & DPAD_DOWN && gUnknown_0203CD78->unk_10 != 0) + { + if (r5 == 15) + r5 = 0; + else + r5++; + retVal = 2; + } + else if (gMain.newKeys & DPAD_LEFT && gUnknown_0203CD78->unk_10 != 0) + { + gUnknown_0203CD78->unk_10--; + retVal = 3; + } + else if (gMain.newKeys & DPAD_RIGHT) + { + if (gSaveBlock2Ptr->frontier.domeTrainers[r10].unk1 && gUnknown_0203CD78->unk_10 - 1 < gSaveBlock2Ptr->frontier.domeTrainers[r10].unk2) + { + gUnknown_0203CD78->unk_10++; + retVal = 4; + } + if (!gSaveBlock2Ptr->frontier.domeTrainers[r10].unk1 && gUnknown_0203CD78->unk_10 - 1 < roundId) + { + gUnknown_0203CD78->unk_10++; + retVal = 4; + } + } + + if (retVal == 9) + { + if (gUnknown_0203CD78->unk_10 != 0) + gTasks[taskId2].data[1] = gUnknown_0860D1A0[(r5 / 2) * 4 + (gUnknown_0203CD78->unk_10 - 1)]; + else + gTasks[taskId2].data[1] = r5; + } + } + else + { + if (gMain.newKeys & DPAD_UP && gUnknown_0203CD78->unk_10 == 1) + { + if (r5 == 16) + r5 = gUnknown_0860D19C[roundId]; + else + r5--; + retVal = 5; + } + else if (gMain.newKeys & DPAD_DOWN && gUnknown_0203CD78->unk_10 == 1) + { + if (r5 == gUnknown_0860D19C[roundId]) + r5 = 16; + else + r5++; + retVal = 6; + } + else if (gMain.newKeys & DPAD_LEFT && gUnknown_0203CD78->unk_10 != 0) + { + retVal = 7; + gUnknown_0203CD78->unk_10--; + } + else if (gMain.newKeys & DPAD_RIGHT && (gUnknown_0203CD78->unk_10 == 0 || gUnknown_0203CD78->unk_10 == 1)) + { + retVal = 8; + gUnknown_0203CD78->unk_10++; + } + + if (retVal == 9) + { + if (gUnknown_0203CD78->unk_10 == 0) + gTasks[taskId2].data[1] = gUnknown_0860D1C0[gUnknown_0203CD78->unk_11[0]]; + else if (gUnknown_0203CD78->unk_10 == 2) + gTasks[taskId2].data[1] = gUnknown_0860D1C0[gUnknown_0203CD78->unk_11[1]]; + else + gTasks[taskId2].data[1] = r5; + } + } + + if (retVal != 0 && retVal != 9) + { + PlaySE(SE_SELECT); + gTasks[taskId2].data[1] = r5; + gTasks[taskId].data[2] ^= 1; + } + } + + return retVal; +} From fb19a8fc59fcf67c6d4ddfd696e172bcacff27b7 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Sun, 19 Aug 2018 01:06:10 +0200 Subject: [PATCH 116/234] battle dome cards sensibly renamed --- asm/battle_frontier_1.s | 6 +- asm/battle_frontier_2.s | 22 +- asm/pokenav.s | 8 +- include/battle_dome_cards.h | 13 -- include/constants/trainers.h | 4 +- include/trainer_pokemon_sprites.h | 13 ++ ld_script.txt | 4 +- src/battle_frontier_1.c | 182 ++++++++------- src/credits.c | 9 +- src/field_effect.c | 12 +- src/field_specials.c | 34 +-- src/hall_of_fame.c | 28 +-- src/main_menu.c | 16 +- src/new_game.c | 4 +- src/overworld.c | 4 +- src/pokedex.c | 116 +++++----- src/pokemon.c | 4 +- src/record_mixing.c | 2 +- src/starter_choose.c | 15 +- ...dome_cards.c => trainer_pokemon_sprites.c} | 216 ++++++++---------- sym_ewram.txt | 2 +- 21 files changed, 342 insertions(+), 372 deletions(-) delete mode 100644 include/battle_dome_cards.h create mode 100644 include/trainer_pokemon_sprites.h rename src/{battle_dome_cards.c => trainer_pokemon_sprites.c} (52%) diff --git a/asm/battle_frontier_1.s b/asm/battle_frontier_1.s index 0f8af28a90..f1508c2970 100644 --- a/asm/battle_frontier_1.s +++ b/asm/battle_frontier_1.s @@ -121,7 +121,7 @@ _081925B6: ldr r1, =0x0000ffff str r1, [sp, 0x4] movs r1, 0x1 - bl sub_818D8AC + bl CreateTrainerPicSprite ldr r1, =gUnknown_0203CD78 ldr r1, [r1] adds r1, r5 @@ -1701,7 +1701,7 @@ _081932F8: ldr r1, =0x0000ffff str r1, [sp, 0x4] movs r1, 0x1 - bl sub_818D8AC + bl CreateTrainerPicSprite ldr r1, =gUnknown_0203CD78 ldr r1, [r1] ldr r2, [sp, 0x3C] @@ -1789,7 +1789,7 @@ _081933B8: ldr r1, =0x0000ffff str r1, [sp, 0x4] movs r1, 0x1 - bl sub_818D8AC + bl CreateTrainerPicSprite ldr r1, =gUnknown_0203CD78 ldr r1, [r1] add r1, r9 diff --git a/asm/battle_frontier_2.s b/asm/battle_frontier_2.s index 46204bb647..ad79758755 100644 --- a/asm/battle_frontier_2.s +++ b/asm/battle_frontier_2.s @@ -2935,7 +2935,7 @@ sub_819BD70: @ 819BD70 adds r0, r5, 0 mov r2, r8 movs r3, 0x1 - bl sub_818D7D8 + bl CreateMonPicSprite_HandleDeoxys ldr r1, [r6] movs r2, 0xA6 lsls r2, 2 @@ -3053,7 +3053,7 @@ sub_819BE34: @ 819BE34 adds r0, r5, 0 mov r2, r9 movs r3, 0x1 - bl sub_818D7D8 + bl CreateMonPicSprite_HandleDeoxys ldr r1, [r6] movs r2, 0xA6 lsls r2, 2 @@ -3166,7 +3166,7 @@ _0819BF48: adds r0, r5, 0 adds r2, r6, 0 movs r3, 0x1 - bl sub_818D7D8 + bl CreateMonPicSprite_HandleDeoxys mov r2, r9 ldr r1, [r2] add r1, r8 @@ -3846,19 +3846,19 @@ sub_819C568: @ 819C568 lsls r1, 2 adds r0, r1 ldrb r0, [r0] - bl sub_818D820 + bl FreeAndDestroyMonPicSprite ldr r0, [r4] movs r1, 0xA6 lsls r1, 2 adds r0, r1 ldrb r0, [r0] - bl sub_818D820 + bl FreeAndDestroyMonPicSprite ldr r0, [r4] movs r1, 0xA7 lsls r1, 2 adds r0, r1 ldrb r0, [r0] - bl sub_818D820 + bl FreeAndDestroyMonPicSprite ldr r0, =sub_819C2D4 movs r1, 0x1 bl CreateTask @@ -6709,7 +6709,7 @@ _0819DDA8: bl ResetSpriteData bl ResetTasks bl FreeAllSpritePalettes - bl dp13_810BB8C + bl ResetAllPicSprites ldr r0, =gFrontierFactorySelectMenu_Gfx ldr r5, =gUnknown_0203CE40 ldr r1, [r5] @@ -9315,7 +9315,7 @@ sub_819F304: @ 819F304 adds r0, r5, 0 mov r1, r9 movs r3, 0x1 - bl sub_818D7D8 + bl CreateMonPicSprite_HandleDeoxys ldr r1, [r6] adds r1, 0x2C strb r0, [r1] @@ -9370,7 +9370,7 @@ sub_819F3F8: @ 819F3F8 lsrs r5, 24 lsls r0, r4, 24 lsrs r0, 24 - bl sub_818D820 + bl FreeAndDestroyMonPicSprite ldr r0, =sub_819F7B4 movs r1, 0x1 bl CreateTask @@ -9403,7 +9403,7 @@ sub_819F444: @ 819F444 adds r6, r1, 0 lsls r0, r4, 24 lsrs r0, 24 - bl sub_818D820 + bl FreeAndDestroyMonPicSprite ldr r5, =gSprites lsls r4, 16 lsrs r1, r4, 24 @@ -9996,7 +9996,7 @@ _0819F908: adds r0, r4, 0 adds r2, r5, 0 movs r3, 0x1 - bl sub_818D7D8 + bl CreateMonPicSprite_HandleDeoxys ldr r2, =gUnknown_03001284 ldr r1, [r2] adds r1, 0x2C diff --git a/asm/pokenav.s b/asm/pokenav.s index 250eca0f27..8adb3cbd91 100644 --- a/asm/pokenav.s +++ b/asm/pokenav.s @@ -20169,7 +20169,7 @@ sub_81D1148: @ 81D1148 add r2, sp, 0x8 mov r0, sp bl sub_81D0760 - bl dp13_810BB8C + bl ResetAllPicSprites movs r0, 0x28 movs r1, 0x68 bl sub_81D1184 @@ -20187,7 +20187,7 @@ sub_81D1148: @ 81D1148 sub_81D1178: @ 81D1178 push {lr} ldrh r0, [r0, 0x10] - bl sub_818D820 + bl FreeAndDestroyMonPicSprite pop {r0} bx r0 thumb_func_end sub_81D1178 @@ -20213,7 +20213,7 @@ sub_81D1184: @ 81D1184 ldr r3, =0x0000ffff str r3, [sp, 0xC] movs r3, 0x1 - bl sub_818D7D8 + bl CreateMonPicSprite_HandleDeoxys lsls r0, 16 lsrs r0, 16 ldr r1, =gSprites @@ -20256,7 +20256,7 @@ sub_81D11FC: @ 81D11FC push {r4,r5,lr} adds r4, r0, 0 ldrh r0, [r4, 0x10] - bl sub_818D820 + bl FreeAndDestroyMonPicSprite movs r5, 0x20 negs r5, r5 adds r0, r5, 0 diff --git a/include/battle_dome_cards.h b/include/battle_dome_cards.h deleted file mode 100644 index a0696d1563..0000000000 --- a/include/battle_dome_cards.h +++ /dev/null @@ -1,13 +0,0 @@ -#ifndef GUARD_BATTLE_DOME_CARDS_H -#define GUARD_BATTLE_DOME_CARDS_H - -bool16 dp13_810BB8C(void); -u16 sub_818D3E4(u16 species, u32 otId, u32 personality, u8 flags, s16 x, s16 y, u8 paletteSlot, u16 paletteTag); -u16 sub_818D7D8(u16 species, u32 otId, u32 personality, bool8 isFrontPic, s16 x, s16 y, u8 paletteSlot, u16 paletteTag); -u16 sub_818D820(u16 spriteId); -u16 sub_818D8AC(u16 species, bool8 isFrontPic, s16 x, s16 y, u8 paletteSlot, u16 paletteTag); -u16 sub_818D8F0(u16 spriteId); -u16 sub_818D938(u16 species, bool8 isFrontPic, u16 destX, u16 destY, u8 paletteSlot, u8 windowId); -u8 sub_818D97C(u8 a0, u8 a1); - -#endif //GUARD_BATTLE_DOME_CARDS_H diff --git a/include/constants/trainers.h b/include/constants/trainers.h index df908c8bfd..f79216d942 100644 --- a/include/constants/trainers.h +++ b/include/constants/trainers.h @@ -174,10 +174,10 @@ #define FACILITY_CLASS_TWINS 0x39 #define FACILITY_CLASS_SAILOR 0x3a #define FACILITY_CLASS_PKMN_TRAINER_1 0x3b -#define FACILITY_CLASS_PKMN_TRAINER_MAY 0x3c +#define FACILITY_CLASS_PKMN_TRAINER_BRENDAN 0x3c #define FACILITY_CLASS_PKMN_TRAINER_3 0x3d #define FACILITY_CLASS_PKMN_TRAINER_4 0x3e -#define FACILITY_CLASS_PKMN_TRAINER_BRENDAN 0x3f +#define FACILITY_CLASS_PKMN_TRAINER_MAY 0x3f #define FACILITY_CLASS_PKMN_TRAINER_6 0x40 #define FACILITY_CLASS_PKMN_TRAINER_7 0x41 #define FACILITY_CLASS_PKMN_BREEDER_2 0x42 diff --git a/include/trainer_pokemon_sprites.h b/include/trainer_pokemon_sprites.h new file mode 100644 index 0000000000..90ceedaf5f --- /dev/null +++ b/include/trainer_pokemon_sprites.h @@ -0,0 +1,13 @@ +#ifndef GUARD_TRAINER_POKEMON_SPRITES_H +#define GUARD_TRAINER_POKEMON_SPRITES_H + +bool16 ResetAllPicSprites(void); +u16 CreatePicSprite2(u16 species, u32 otId, u32 personality, u8 flags, s16 x, s16 y, u8 paletteSlot, u16 paletteTag); +u16 CreateMonPicSprite_HandleDeoxys(u16 species, u32 otId, u32 personality, bool8 isFrontPic, s16 x, s16 y, u8 paletteSlot, u16 paletteTag); +u16 FreeAndDestroyMonPicSprite(u16 spriteId); +u16 CreateTrainerPicSprite(u16 species, bool8 isFrontPic, s16 x, s16 y, u8 paletteSlot, u16 paletteTag); +u16 FreeAndDestroyTrainerPicSprite(u16 spriteId); +u16 sub_818D938(u16 species, bool8 isFrontPic, u16 destX, u16 destY, u8 paletteSlot, u8 windowId); +u16 PlayerGenderToFrontTrainerPicId_Debug(u8 gender, bool8 getClass); + +#endif // GUARD_TRAINER_POKEMON_SPRITES_H diff --git a/ld_script.txt b/ld_script.txt index 0ee9c61c29..0eee2e8cef 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -240,7 +240,7 @@ SECTIONS { src/recorded_battle.o(.text); src/battle_controller_recorded_opponent.o(.text); src/battle_controller_recorded_player.o(.text); - src/battle_dome_cards.o(.text); + src/trainer_pokemon_sprites.o(.text); src/lilycove_lady.o(.text); src/battle_frontier_1.o(.text); asm/battle_frontier_1.o(.text); @@ -520,7 +520,7 @@ SECTIONS { src/pokemon_animation.o(.rodata); src/battle_controller_recorded_opponent.o(.rodata); src/battle_controller_recorded_player.o(.rodata); - src/battle_dome_cards.o(.rodata); + src/trainer_pokemon_sprites.o(.rodata); src/lilycove_lady.o(.rodata); src/battle_frontier_1.o(.rodata); data/battle_frontier_1.o(.rodata); diff --git a/src/battle_frontier_1.c b/src/battle_frontier_1.c index 784ad36567..a1d8b2c317 100644 --- a/src/battle_frontier_1.c +++ b/src/battle_frontier_1.c @@ -20,6 +20,7 @@ #include "menu.h" #include "sound.h" #include "pokemon_icon.h" +#include "trainer_pokemon_sprites.h" #include "constants/species.h" #include "constants/moves.h" #include "constants/trainers.h" @@ -57,7 +58,6 @@ extern void sub_8195898(u8 *dst, u16 trainerId); extern u16 sub_81A5060(u8, u8); extern void sub_8162614(u16, u8); extern void sub_81A4C30(void); -extern u16 sub_818D8F0(u16); extern bool8 sub_81A3610(void); extern u16 sub_81A4FF0(u8); @@ -1361,7 +1361,7 @@ void sub_8190790(struct Sprite *sprite) if (sprite->pos1.y >= 192) { gUnknown_0203CD78->arr[sprite->data[2]] = 0xFF; - sub_818D8F0(sprite->data[3]); + FreeAndDestroyTrainerPicSprite(sprite->data[3]); } } } @@ -1381,7 +1381,7 @@ void sub_81907F8(struct Sprite *sprite) if (sprite->pos1.y <= -32) { gUnknown_0203CD78->arr[sprite->data[2]] = 0xFF; - sub_818D8F0(sprite->data[3]); + FreeAndDestroyTrainerPicSprite(sprite->data[3]); } } } @@ -1401,7 +1401,7 @@ void sub_8190860(struct Sprite *sprite) if (sprite->pos1.x >= 272) { gUnknown_0203CD78->arr[sprite->data[2]] = 0xFF; - sub_818D8F0(sprite->data[3]); + FreeAndDestroyTrainerPicSprite(sprite->data[3]); } } } @@ -1421,7 +1421,7 @@ void sub_81908CC(struct Sprite *sprite) if (sprite->pos1.x <= -32) { gUnknown_0203CD78->arr[sprite->data[2]] = 0xFF; - sub_818D8F0(sprite->data[3]); + FreeAndDestroyTrainerPicSprite(sprite->data[3]); } } } @@ -2290,7 +2290,7 @@ void sub_8190CD4(u8 taskId) if (i < 2) { if (gUnknown_0203CD78->arr[i] != 0xFF) - sub_818D8F0(gUnknown_0203CD78->arr[i]); + FreeAndDestroyTrainerPicSprite(gUnknown_0203CD78->arr[i]); } else { @@ -2303,7 +2303,7 @@ void sub_8190CD4(u8 taskId) if (i < 10) { if (gUnknown_0203CD78->arr[i] != 0xFF) - sub_818D8F0(gUnknown_0203CD78->arr[i]); + FreeAndDestroyTrainerPicSprite(gUnknown_0203CD78->arr[i]); } else { @@ -2345,100 +2345,108 @@ u8 sub_819221C(u8 taskId) if (gMain.newKeys & (A_BUTTON | B_BUTTON)) retVal = 9; - if (gTasks[taskId].data[3] != 0) + if (gTasks[taskId].data[3] == 0) + return retVal; + + if (gTasks[taskId].data[3] == 1) { - if (gTasks[taskId].data[3] == 1) + if (gMain.newKeys & DPAD_UP && gUnknown_0203CD78->unk_10 == 0) { - if (gMain.newKeys & DPAD_UP && gUnknown_0203CD78->unk_10 == 0) - { - if (r5 == 0) - r5 = 15; - else - r5--; - retVal = 1; - } - else if (gMain.newKeys & DPAD_DOWN && gUnknown_0203CD78->unk_10 != 0) - { - if (r5 == 15) - r5 = 0; - else - r5++; - retVal = 2; - } - else if (gMain.newKeys & DPAD_LEFT && gUnknown_0203CD78->unk_10 != 0) - { - gUnknown_0203CD78->unk_10--; - retVal = 3; - } - else if (gMain.newKeys & DPAD_RIGHT) - { - if (gSaveBlock2Ptr->frontier.domeTrainers[r10].unk1 && gUnknown_0203CD78->unk_10 - 1 < gSaveBlock2Ptr->frontier.domeTrainers[r10].unk2) - { - gUnknown_0203CD78->unk_10++; - retVal = 4; - } - if (!gSaveBlock2Ptr->frontier.domeTrainers[r10].unk1 && gUnknown_0203CD78->unk_10 - 1 < roundId) - { - gUnknown_0203CD78->unk_10++; - retVal = 4; - } - } - - if (retVal == 9) - { - if (gUnknown_0203CD78->unk_10 != 0) - gTasks[taskId2].data[1] = gUnknown_0860D1A0[(r5 / 2) * 4 + (gUnknown_0203CD78->unk_10 - 1)]; - else - gTasks[taskId2].data[1] = r5; - } + if (r5 == 0) + r5 = 15; + else + r5--; + retVal = 1; } - else + else if (gMain.newKeys & DPAD_DOWN && gUnknown_0203CD78->unk_10 == 0) { - if (gMain.newKeys & DPAD_UP && gUnknown_0203CD78->unk_10 == 1) + if (r5 == 15) + r5 = 0; + else + r5++; + retVal = 2; + } + else if (gMain.newKeys & DPAD_LEFT && gUnknown_0203CD78->unk_10 != 0) + { + gUnknown_0203CD78->unk_10--; + retVal = 3; + } + else if (gMain.newKeys & DPAD_RIGHT) + { + if (gSaveBlock2Ptr->frontier.domeTrainers[r10].unk1 && gUnknown_0203CD78->unk_10 - 1 < gSaveBlock2Ptr->frontier.domeTrainers[r10].unk2) { - if (r5 == 16) - r5 = gUnknown_0860D19C[roundId]; - else - r5--; - retVal = 5; - } - else if (gMain.newKeys & DPAD_DOWN && gUnknown_0203CD78->unk_10 == 1) - { - if (r5 == gUnknown_0860D19C[roundId]) - r5 = 16; - else - r5++; - retVal = 6; - } - else if (gMain.newKeys & DPAD_LEFT && gUnknown_0203CD78->unk_10 != 0) - { - retVal = 7; - gUnknown_0203CD78->unk_10--; - } - else if (gMain.newKeys & DPAD_RIGHT && (gUnknown_0203CD78->unk_10 == 0 || gUnknown_0203CD78->unk_10 == 1)) - { - retVal = 8; gUnknown_0203CD78->unk_10++; + retVal = 4; } - - if (retVal == 9) + if (!gSaveBlock2Ptr->frontier.domeTrainers[r10].unk1 && gUnknown_0203CD78->unk_10 - 1 < roundId) { - if (gUnknown_0203CD78->unk_10 == 0) - gTasks[taskId2].data[1] = gUnknown_0860D1C0[gUnknown_0203CD78->unk_11[0]]; - else if (gUnknown_0203CD78->unk_10 == 2) - gTasks[taskId2].data[1] = gUnknown_0860D1C0[gUnknown_0203CD78->unk_11[1]]; - else - gTasks[taskId2].data[1] = r5; + gUnknown_0203CD78->unk_10++; + retVal = 4; } } - if (retVal != 0 && retVal != 9) + if (retVal == 9) { - PlaySE(SE_SELECT); - gTasks[taskId2].data[1] = r5; - gTasks[taskId].data[2] ^= 1; + if (gUnknown_0203CD78->unk_10 != 0) + gTasks[taskId2].data[1] = gUnknown_0860D1A0[(r5 / 2) * 4 + (gUnknown_0203CD78->unk_10 - 1)]; + else + gTasks[taskId2].data[1] = r5; + } + } + else + { + if (gMain.newKeys & DPAD_UP && gUnknown_0203CD78->unk_10 == 1) + { + if (r5 == 16) + r5 = gUnknown_0860D19C[roundId]; + else + r5--; + retVal = 5; + } + else if (gMain.newKeys & DPAD_DOWN && gUnknown_0203CD78->unk_10 == 1) + { + if (r5 == gUnknown_0860D19C[roundId]) + r5 = 16; + else + r5++; + retVal = 6; + } + else if (gMain.newKeys & DPAD_LEFT && gUnknown_0203CD78->unk_10 != 0) + { + retVal = 7; + gUnknown_0203CD78->unk_10--; + } + else if (gMain.newKeys & DPAD_RIGHT && (gUnknown_0203CD78->unk_10 == 0 || gUnknown_0203CD78->unk_10 == 1)) + { + retVal = 8; + gUnknown_0203CD78->unk_10++; + } + + if (retVal == 9) + { + if (gUnknown_0203CD78->unk_10 == 0) + gTasks[taskId2].data[1] = gUnknown_0860D1C0[gUnknown_0203CD78->unk_11[0]]; + else if (gUnknown_0203CD78->unk_10 == 2) + gTasks[taskId2].data[1] = gUnknown_0860D1C0[gUnknown_0203CD78->unk_11[1]]; + else + gTasks[taskId2].data[1] = r5; } } + if (retVal != 0 && retVal != 9) + { + PlaySE(SE_SELECT); + gTasks[taskId2].data[1] = r5; + gTasks[taskId].data[2] ^= 1; + } + + return retVal; } + +/* +void sub_81924E0(u8 arg0, u8 arg1) +{ + +} +*/ diff --git a/src/credits.c b/src/credits.c index a88e4b5494..c054958ce3 100644 --- a/src/credits.c +++ b/src/credits.c @@ -12,7 +12,7 @@ #include "gpu_regs.h" #include "m4a.h" #include "constants/rgb.h" -#include "battle_dome_cards.h" +#include "trainer_pokemon_sprites.h" #include "starter_choose.h" #include "decompress.h" #include "intro_credits_graphics.h" @@ -1197,7 +1197,6 @@ void sub_8175620(void) u8 taskIdA; s16 taskIdC; u8 taskIdB; - u16 savedIme; sub_8175CE4(); SetVBlankCallback(NULL); @@ -1333,7 +1332,7 @@ static void sub_81758E4(u8 taskIdA) u16 *temp; ResetSpriteData(); - dp13_810BB8C(); + ResetAllPicSprites(); FreeAllSpritePalettes(); gReservedSpritePaletteCount = 8; LZ77UnCompVram(&gBirchHelpGfx, (void *)VRAM); @@ -2164,7 +2163,7 @@ static void sub_8177050(struct Sprite *sprite) { if (gUnknown_0203BD28) { - sub_818D820(sprite->data[6]); + FreeAndDestroyMonPicSprite(sprite->data[6]); return; } @@ -2242,7 +2241,7 @@ static void sub_8177050(struct Sprite *sprite) case 10: SetGpuReg(REG_OFFSET_BLDCNT, 0); SetGpuReg(REG_OFFSET_BLDALPHA, 0); - sub_818D820(sprite->data[6]); + FreeAndDestroyMonPicSprite(sprite->data[6]); break; } } diff --git a/src/field_effect.c b/src/field_effect.c index f047c78a35..13de58aa4a 100644 --- a/src/field_effect.c +++ b/src/field_effect.c @@ -1,8 +1,6 @@ - -// Includes #include "global.h" #include "field_effect.h" -#include "battle_dome_cards.h" +#include "trainer_pokemon_sprites.h" #include "decompress.h" #include "field_camera.h" #include "field_effect_helpers.h" @@ -557,7 +555,7 @@ u8 AddNewGameBirchObject(s16 x, s16 y, u8 subpriority) #ifdef NONMATCHING u8 CreateMonSprite_PicBox(u16 species, s16 x, s16 y) { - u16 spriteId = sub_818D7D8(species, 0, 0x8000, 1, x, y, 0, gMonPaletteTable[species].tag); + u16 spriteId = CreateMonPicSprite_HandleDeoxys(species, 0, 0x8000, 1, x, y, 0, gMonPaletteTable[species].tag); PreservePaletteInWeather(IndexOfSpritePaletteTag(gMonPaletteTable[species].tag) + 0x10); if (spriteId == 0xFFFF) return 0x40; @@ -590,7 +588,7 @@ u8 CreateMonSprite_PicBox(u16 species, s16 x, s16 y) movs r1, 0\n\ adds r2, r3, 0\n\ movs r3, 0x1\n\ - bl sub_818D7D8\n\ + bl CreateMonPicSprite_HandleDeoxys\n\ lsls r0, 16\n\ lsrs r5, r0, 16\n\ ldrh r0, [r4, 0x4]\n\ @@ -619,7 +617,7 @@ _080B5FDE:\n\ u8 CreateMonSprite_FieldMove(u16 species, u32 d, u32 g, s16 x, s16 y, u8 subpriority) { const struct CompressedSpritePalette *spritePalette = GetMonSpritePalStructFromOtIdPersonality(species, d, g); - u16 spriteId = sub_818D7D8(species, d, g, 1, x, y, 0, spritePalette->tag); + u16 spriteId = CreateMonPicSprite_HandleDeoxys(species, d, g, 1, x, y, 0, spritePalette->tag); PreservePaletteInWeather(IndexOfSpritePaletteTag(spritePalette->tag) + 0x10); if (spriteId == 0xFFFF) return 0x40; @@ -634,7 +632,7 @@ void FreeResourcesAndDestroySprite(struct Sprite *sprite, u8 spriteId) { FreeOamMatrix(sprite->oam.matrixNum); } - sub_818D820(spriteId); + FreeAndDestroyMonPicSprite(spriteId); } #ifdef NONMATCHING diff --git a/src/field_specials.c b/src/field_specials.c index 897bcc8d73..e20ccf618c 100644 --- a/src/field_specials.c +++ b/src/field_specials.c @@ -1645,7 +1645,7 @@ bool8 sub_81398C0(void) StringCopy(gStringVar2, gMoveNames[ItemIdToBattleMoveId(gSpecialVar_0x8004)]); return TRUE; } - + return FALSE; } @@ -1799,7 +1799,7 @@ void ShakeScreenInElevator(void) if (floorDelta > 8) floorDelta = 8; - + data[5] = gUnknown_085B2C18[floorDelta]; SetCameraPanningCallback(NULL); @@ -1830,16 +1830,16 @@ static void sub_8139AF4(u8 taskId) void sub_8139B60(void) { int xPos; - + gUnknown_0203AB5E = AddWindow(&gUnknown_085B2BAC); SetStandardWindowBorderStyle(gUnknown_0203AB5E, 0); - + xPos = GetStringCenterAlignXOffset(1, gText_ElevatorNowOn, 64); PrintTextOnWindow(gUnknown_0203AB5E, 1, gText_ElevatorNowOn, xPos, 1, TEXT_SPEED_FF, NULL); - + xPos = GetStringCenterAlignXOffset(1, gElevatorFloorsTable[gSpecialVar_0x8005], 64); PrintTextOnWindow(gUnknown_0203AB5E, 1, gElevatorFloorsTable[gSpecialVar_0x8005], xPos, 17, TEXT_SPEED_FF, NULL); - + PutWindowTilemap(gUnknown_0203AB5E); CopyWindowToVram(gUnknown_0203AB5E, 3); } @@ -2167,13 +2167,13 @@ void sub_8139F20(void) } break; case 4: - if (gSaveBlock2Ptr->frontier.field_D0C[0] >= gSaveBlock2Ptr->frontier.field_D0C[1]) + if (gSaveBlock2Ptr->frontier.field_D0C[0][0] >= gSaveBlock2Ptr->frontier.field_D0C[0][1]) { - unk = gSaveBlock2Ptr->frontier.field_D0C[0]; + unk = gSaveBlock2Ptr->frontier.field_D0C[0][0]; } else { - unk = gSaveBlock2Ptr->frontier.field_D0C[1]; + unk = gSaveBlock2Ptr->frontier.field_D0C[0][1]; } break; case 5: @@ -2662,8 +2662,8 @@ static void sub_813A2DC(u8 taskId) } task->data[4] = convert_pixel_width_to_tile_width(unk1); - - if (task->data[2] + task->data[4] > 0x1D) + + if (task->data[2] + task->data[4] > 0x1D) { int unk2 = 0x1D - task->data[4]; if (unk2 < 0) @@ -3363,7 +3363,7 @@ void sub_813ADD4(void) struct Task *task = &gTasks[taskId]; ListMenuGetScrollAndRow(task->data[14], &scrollOffset, &selectedRow); SetStandardWindowBorderStyle(task->data[13], 0); - + for (i = 0; i < 6; i++) { sub_8199F74(task->data[13], 1, gUnknown_085B2CF0[gSpecialVar_0x8004][scrollOffset + i], 10, i * 16, TEXT_SPEED_FF, NULL, 0, 0); @@ -3381,7 +3381,7 @@ void sub_813AEB4(void) u16 temp1 = 0; u16 temp2 = 0; gSpecialVar_0x8005 = 0; - + temp1 = VarGet(VAR_TEMP_E); temp2 = VarGet(VAR_TEMP_D); @@ -3509,7 +3509,7 @@ static void sub_813B0B4(u8 a0) u8 eventObjectId; LoadPalette(&gUnknown_085B3280[a0], 0x1A0, 8); TryGetEventObjectIdByLocalIdAndMap(1, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, &eventObjectId); - + if (a0 == 0) { PlaySE(SE_W109); @@ -3656,7 +3656,7 @@ bool32 sub_813B374(void) u16 var = VarGet(VAR_0x4037); GetMapName(gStringVar1, gUnknown_085B3400[var - 1], 0); - + if (var < 9) { return FALSE; @@ -3697,7 +3697,7 @@ bool32 sub_813B3B0(void) break; } } - + if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(UNDERWATER3)) { switch (gSaveBlock1Ptr->location.mapNum) @@ -4159,7 +4159,7 @@ static u16 sub_813BC00(void) } } } - + if (((gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] >> gUnknown_085B347C[retVal]) & 1)) { gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] ^= 1 << gUnknown_085B347C[retVal]; diff --git a/src/hall_of_fame.c b/src/hall_of_fame.c index f5c4ba4917..33c85d448f 100644 --- a/src/hall_of_fame.c +++ b/src/hall_of_fame.c @@ -5,6 +5,7 @@ #include "sprite.h" #include "pokemon.h" #include "text.h" +#include "text_window.h" #include "malloc.h" #include "gpu_regs.h" #include "main.h" @@ -26,6 +27,7 @@ #include "event_data.h" #include "overworld.h" #include "menu.h" +#include "trainer_pokemon_sprites.h" struct HallofFameMon { @@ -81,18 +83,10 @@ extern const u8 gText_MainMenuTime[]; extern const u8 gContestConfetti_Gfx[]; extern const u8 gContestConfetti_Pal[]; -extern void NewMenuHelpers_DrawDialogueFrame(u8, u8); extern void sub_8175620(void); extern u8 TrySavingData(u8); -extern u8 sub_818D3E4(u16 species, u32 trainerId, u32 personality, u8 flags, s16 x, s16 y, u8, u16); extern void sub_8197434(u8, u8); extern u16 sub_818D97C(u8 playerGender, u8); -extern u16 sub_818D8AC(u16, u8, s16, s16, u8, u16); -extern const void* stdpal_get(u8); -extern void LoadWindowGfx(u8, u8, u16, u8); -extern u16 sub_818D820(u16); -extern u16 sub_818D8F0(u16); -extern u16 sub_818D7D8(u16 species, u32 trainerId, u32 personality, u8 arg3, s16 sp0, s16 sp1, u8 sp2, u16 sp3); extern void sub_8198204(u8 *dst, const u8 *src, u8, u8, u8); extern bool8 sub_80F9C30(void); extern void sub_8198314(void); @@ -102,8 +96,6 @@ extern void sub_80F9BF4(u16, u16, u8); extern void sub_81980F0(u8, u8, u8, u8, u16); extern void sub_80F9BCC(u16, u16, u8); extern bool8 sub_80F9C1C(void); -extern u16 SpeciesToPokedexNum(u16 species); -extern void dp13_810BB8C(void); extern void sub_81971D0(void); extern void sub_8197200(void); extern void sub_8152254(void); @@ -611,7 +603,7 @@ static void Task_Hof_DisplayMon(u8 taskId) if (currMon->species == SPECIES_EGG) field6 += 10; - spriteId = sub_818D3E4(currMon->species, currMon->tid, currMon->personality, 1, xPos, yPos, currMonId, 0xFFFF); + spriteId = CreatePicSprite2(currMon->species, currMon->tid, currMon->personality, 1, xPos, yPos, currMonId, 0xFFFF); gSprites[spriteId].tDestinationX = field4; gSprites[spriteId].tDestinationY = field6; gSprites[spriteId].data[0] = 0; @@ -723,7 +715,7 @@ static void sub_8173EE4(u8 taskId) ShowBg(0); ShowBg(1); ShowBg(3); - gTasks[taskId].tPlayerSpriteID = sub_818D8AC(sub_818D97C(gSaveBlock2Ptr->playerGender, 1), 1, 120, 72, 6, 0xFFFF); + gTasks[taskId].tPlayerSpriteID = CreateTrainerPicSprite(PlayerGenderToFrontTrainerPicId_Debug(gSaveBlock2Ptr->playerGender, TRUE), 1, 120, 72, 6, 0xFFFF); AddWindow(&sHof_WindowTemplate); LoadWindowGfx(1, gSaveBlock2Ptr->optionsWindowFrameType, 0x21D, 0xD0); LoadPalette(stdpal_get(1), 0xE0, 0x20); @@ -780,11 +772,11 @@ static void Task_Hof_HandleExit(u8 taskId) if (spriteId != 0xFF) { FreeOamMatrix(gSprites[spriteId].oam.matrixNum); - sub_818D820(spriteId); + FreeAndDestroyMonPicSprite(spriteId); } } - sub_818D8F0(gTasks[taskId].tPlayerSpriteID); + FreeAndDestroyTrainerPicSprite(gTasks[taskId].tPlayerSpriteID); HideBg(0); HideBg(1); HideBg(3); @@ -956,7 +948,7 @@ static void Task_HofPC_DrawSpritesPrintText(u8 taskId) if (currMon->species == SPECIES_EGG) posY += 10; - spriteId = sub_818D7D8(currMon->species, currMon->tid, currMon->personality, 1, posX, posY, i, 0xFFFF); + spriteId = CreateMonPicSprite_HandleDeoxys(currMon->species, currMon->tid, currMon->personality, 1, posX, posY, i, 0xFFFF); gSprites[spriteId].oam.priority = 1; gTasks[taskId].tMonSpriteId(i) = spriteId; } @@ -1026,7 +1018,7 @@ static void Task_HofPC_HandleInput(u8 taskId) u8 spriteId = gTasks[taskId].tMonSpriteId(i); if (spriteId != 0xFF) { - sub_818D820(spriteId); + FreeAndDestroyMonPicSprite(spriteId); gTasks[taskId].tMonSpriteId(i) = 0xFF; } } @@ -1087,7 +1079,7 @@ static void Task_HofPC_HandleExit(u8 taskId) u16 spriteId = gTasks[taskId].tMonSpriteId(i); if (spriteId != 0xFF) { - sub_818D820(spriteId); + FreeAndDestroyMonPicSprite(spriteId); gTasks[taskId].tMonSpriteId(i) = 0xFF; } } @@ -1305,7 +1297,7 @@ static void sub_8174F70(void) ResetTasks(); ResetSpriteData(); reset_temp_tile_data_buffers(); - dp13_810BB8C(); + ResetAllPicSprites(); FreeAllSpritePalettes(); gReservedSpritePaletteCount = 8; LoadCompressedObjectPic(&sHallOfFame_ConfettiSpriteSheet); diff --git a/src/main_menu.c b/src/main_menu.c index 052035e348..e28faf986a 100644 --- a/src/main_menu.c +++ b/src/main_menu.c @@ -1,7 +1,5 @@ - -// Includes #include "global.h" -#include "battle_dome_cards.h" +#include "trainer_pokemon_sprites.h" #include "bg.h" #include "constants/flags.h" #include "constants/rgb.h" @@ -1018,7 +1016,7 @@ void task_new_game_prof_birch_speech_1(u8 taskId) ScanlineEffect_Stop(); ResetSpriteData(); FreeAllSpritePalettes(); - dp13_810BB8C(); + ResetAllPicSprites(); AddBirchSpeechObjects(taskId); BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0); gTasks[taskId].data[4] = 0; @@ -1336,7 +1334,7 @@ void task_new_game_prof_birch_speech_17(u8 taskId) if (!gPaletteFade.active) { FreeAllWindowBuffers(); - sub_818D820(gTasks[taskId].data[9]); + FreeAndDestroyMonPicSprite(gTasks[taskId].data[9]); set_default_player_name(Random() % 20); DestroyTask(taskId); DoNamingScreen(0, gSaveBlock2Ptr->playerName, gSaveBlock2Ptr->playerGender, 0, 0, new_game_prof_birch_speech_part2_start); @@ -1515,8 +1513,8 @@ void task_new_game_prof_birch_speech_part2_12(u8 taskId) if (!gPaletteFade.active) { FreeAllWindowBuffers(); - sub_818D820(gTasks[taskId].data[9]); - dp13_810BB8C(); + FreeAndDestroyMonPicSprite(gTasks[taskId].data[9]); + ResetAllPicSprites(); SetMainCallback2(CB2_NewGame); DestroyTask(taskId); } @@ -1558,7 +1556,7 @@ void new_game_prof_birch_speech_part2_start(void) ScanlineEffect_Stop(); ResetSpriteData(); FreeAllSpritePalettes(); - dp13_810BB8C(); + ResetAllPicSprites(); AddBirchSpeechObjects(taskId); if (gSaveBlock2Ptr->playerGender != MALE) { @@ -1613,7 +1611,7 @@ void sub_80318D8(struct Sprite *sprite) u8 sub_80318F4(u8 a, u8 b) { - return sub_818D3E4(SPECIES_LOTAD, 8, 0, 1, a, b, 14, -1); + return CreatePicSprite2(SPECIES_LOTAD, 8, 0, 1, a, b, 14, -1); } void AddBirchSpeechObjects(u8 taskId) diff --git a/src/new_game.c b/src/new_game.c index 8b8436d105..da5e91229c 100644 --- a/src/new_game.c +++ b/src/new_game.c @@ -23,6 +23,8 @@ #include "overworld.h" #include "mail.h" #include "battle_records.h" +#include "item.h" +#include "pokedex.h" extern u8 gDifferentSaveFile; extern u16 gSaveFileStatus; @@ -33,13 +35,11 @@ extern u16 GetGeneratedTrainerIdLower(void); extern void ClearContestWinnerPicsInContestHall(void); extern void sub_80BB358(void); extern void ResetBagScrollPositions(void); -extern void ResetPokedex(void); extern void ResetGabbyAndTy(void); extern void ResetSecretBases(void); extern void ResetLinkContestBoolean(void); extern void sub_8052DA8(void); extern void ResetPokemonStorageSystem(void); -extern void ClearBag(void); extern void NewGameInitPCItems(void); extern void ClearDecorationInventories(void); extern void ResetFanClub(void); diff --git a/src/overworld.c b/src/overworld.c index d85af9e4d4..1cf830cf70 100644 --- a/src/overworld.c +++ b/src/overworld.c @@ -151,7 +151,7 @@ extern void TransferTilesetAnimsBuffer(void); extern bool32 sub_81D5F48(void); extern u8 GetCurrentTrainerHillMapId(void); extern bool8 warp0_in_pokecenter(void); -extern void dp13_810BB8C(void); +extern void ResetAllPicSprites(void); extern void FieldEffectActiveListClear(void); extern void SetUpFieldTasks(void); extern void sub_81BE6B8(void); @@ -2149,7 +2149,7 @@ static void sub_8086988(u32 a1) ResetSpriteData(); ResetPaletteFade(); ScanlineEffect_Clear(); - dp13_810BB8C(); + ResetAllPicSprites(); ResetCameraUpdateInfo(); InstallCameraPanAheadCallback(); if (!a1) diff --git a/src/pokedex.c b/src/pokedex.c index 2a0033306a..2cb3c153ff 100644 --- a/src/pokedex.c +++ b/src/pokedex.c @@ -11,7 +11,7 @@ #include "main.h" #include "sound.h" #include "task.h" -#include "battle_dome_cards.h" +#include "trainer_pokemon_sprites.h" #include "scanline_effect.h" #include "malloc.h" #include "gpu_regs.h" @@ -821,7 +821,7 @@ const u8 sText_TenDashes[] = _("----------"); void ResetPokedex(void) { u16 i; - + gUnknown_02039B50 = 0; gUnknown_02039B52 = 64; gUnknown_030060B0 = 0; @@ -910,7 +910,7 @@ void sub_80BB534(void) { u8 *addr; u32 size; - + switch (gMain.state) { case 0: @@ -929,7 +929,7 @@ void sub_80BB534(void) ResetPaletteFade(); FreeAllSpritePalettes(); gReservedSpritePaletteCount = 8; - dp13_810BB8C(); + ResetAllPicSprites(); gMain.state++; break; case 2: @@ -984,7 +984,7 @@ void sub_80BB78C(u8 taskId) void sub_80BB7D4(u8 taskId) { SetGpuReg(REG_OFFSET_BG0VOFS, gUnknown_02039B4C->menuY); - + if (gUnknown_02039B4C->menuY) { gUnknown_02039B4C->menuY -= 8; @@ -1467,7 +1467,7 @@ void sub_80BC844(u8 a) void sub_80BC890(void) { void* tilemapBuffer; - + FreeAllWindowBuffers(); tilemapBuffer = GetBgTilemapBuffer(0); if (tilemapBuffer) @@ -1487,7 +1487,7 @@ void sub_80BC8D4(u8 dexMode, u8 sortMode) { u16 vars[3]; //I have no idea why three regular variables are stored in an array, but whatever. s16 i; - + gUnknown_02039B4C->pokemonListCount = 0; switch (dexMode) @@ -1633,7 +1633,7 @@ void sub_80BC8D4(u8 dexMode, u8 sortMode) void sub_80BCE2C(u8 windowId, u8 fontId, const u8* str, u8 left, u8 top) { u8 color[3]; - + color[0] = 0; color[1] = 15; color[2] = 3; @@ -1731,7 +1731,7 @@ void sub_80BD154(u16 a, u8 left, u8 top, u16 unused) { u8 text[6]; u16 r6; - + memcpy(text, gUnknown_0855D2B8, 6); r6 = gUnknown_02039B4C->unk0[a].dexNum; if (gUnknown_02039B4C->dexMode == DEX_MODE_HOENN) @@ -1753,7 +1753,7 @@ void sub_80BD1F4(u16 a, u8 x, u8 y, u16 unused) u8 sub_80BD23C(u16 num, u8 left, u8 top) { const u8* str; - + num = NationalPokedexNumToSpecies(num); if (num) str = gSpeciesNames[num]; @@ -1773,7 +1773,7 @@ void sub_80BD2B4(u16 a, u16 b) u8 i; u16 unk; u8 spriteId; - + gPaletteFade.bufferTransferDisabled = TRUE; for (i = 0; i < 4; i++) @@ -1803,13 +1803,13 @@ void sub_80BD2B4(u16 a, u16 b) gSprites[spriteId].callback = sub_80BE4E0; gSprites[spriteId].data[5] = 32; } - + sub_80BCE84(0, a, b); SetGpuReg(REG_OFFSET_BG2VOFS, gUnknown_02039B4C->unk62D); gUnknown_02039B4C->unk630 = 0; gUnknown_02039B4C->unk632 = 0; - + gPaletteFade.bufferTransferDisabled = FALSE; } @@ -1897,7 +1897,7 @@ u16 sub_80BD69C(u16 a, u16 b) u8 i; u16 r6; u8 r10 = 0; - + if ((gMain.heldKeys & DPAD_UP) && (a > 0)) { r10 = 1; @@ -1917,7 +1917,7 @@ u16 sub_80BD69C(u16 a, u16 b) else if ((gMain.newKeys & DPAD_LEFT) && (a > 0)) { r6 = a; - + for (i = 0; i < 7; i++) a = sub_80C0E0C(1, a, 0, gUnknown_02039B4C->pokemonListCount - 1); gUnknown_02039B4C->unk62C += 16 * (a - r6); @@ -1935,13 +1935,13 @@ u16 sub_80BD69C(u16 a, u16 b) sub_80BD2B4(a, 0xE); PlaySE(SE_Z_PAGE); } - + if (r10 == 0) { gUnknown_02039B4C->unk638 = 0; return a; } - + r5 = gUnknown_0855D28C[gUnknown_02039B4C->unk638 / 4]; r3 = gUnknown_0855D291[gUnknown_02039B4C->unk638 / 4]; gUnknown_02039B4C->unk62E = r3; @@ -2030,7 +2030,7 @@ u8 sub_80BDA40(void) { if (gUnknown_02039B4C->unk61E[i] != 0xFFFF) { - sub_818D820(gUnknown_02039B4C->unk61E[i]); + FreeAndDestroyMonPicSprite(gUnknown_02039B4C->unk61E[i]); gUnknown_02039B4C->unk61E[i] |= 0xFFFF; } } @@ -2109,7 +2109,7 @@ void sub_80BDB7C(u8 a) if (a == 0) { u32 _a; - + if (!IsNationalPokedexEnabled()) { CreateSprite(&gUnknown_0855D1F4, 32, 40, 1); @@ -2160,22 +2160,22 @@ void sub_80BDB7C(u8 a) else { u16 r6; - + CreateSprite(&gUnknown_0855D1F4, 32, 40, 1); spriteId = CreateSprite(&gUnknown_0855D1F4, 32, 76, 1); StartSpriteAnim(&gSprites[spriteId], 1); CreateSprite(&gUnknown_0855D20C, 17, 45, 1); - + spriteId = CreateSprite(&gUnknown_0855D20C, 17, 55, 1); StartSpriteAnim(&gSprites[spriteId], 1); CreateSprite(&gUnknown_0855D20C, 17, 81, 1); - + spriteId = CreateSprite(&gUnknown_0855D20C, 17, 91, 1); StartSpriteAnim(&gSprites[spriteId], 1); - + r6 = GetHoennPokedexCount(0); _a = 0; @@ -2197,9 +2197,9 @@ void sub_80BDB7C(u8 a) spriteId = CreateSprite(&gUnknown_0855D23C, 56, 45, 1); r5 = (r6 % 100) % 10; StartSpriteAnim(&gSprites[spriteId], r5); - + _a = 0; - + spriteId = CreateSprite(&gUnknown_0855D23C, 40, 55, 1); r5 = gUnknown_02039B4C->unk61A / 100; StartSpriteAnim(&gSprites[spriteId], r5); @@ -2207,21 +2207,21 @@ void sub_80BDB7C(u8 a) _a = 1; else gSprites[spriteId].invisible = TRUE; - + spriteId = CreateSprite(&gUnknown_0855D23C, 48, 55, 1); r5 = (gUnknown_02039B4C->unk61A % 100) / 10; if (r5 != 0 || _a != 0) StartSpriteAnim(&gSprites[spriteId], r5); else gSprites[spriteId].invisible = TRUE; - + spriteId = CreateSprite(&gUnknown_0855D23C, 56, 55, 1); r5 = (gUnknown_02039B4C->unk61A % 100) % 10; StartSpriteAnim(&gSprites[spriteId], r5); - + r6 = GetHoennPokedexCount(1); _a = 0; - + spriteId = CreateSprite(&gUnknown_0855D23C, 40, 81, 1); r5 = r6 / 100; StartSpriteAnim(&gSprites[spriteId], r5); @@ -2229,20 +2229,20 @@ void sub_80BDB7C(u8 a) _a = 1; else gSprites[spriteId].invisible = TRUE; - + spriteId = CreateSprite(&gUnknown_0855D23C, 48, 81, 1); r5 = (r6 % 100) / 10; if (r5 != 0 || _a != 0) StartSpriteAnim(&gSprites[spriteId], r5); else gSprites[spriteId].invisible = TRUE; - + spriteId = CreateSprite(&gUnknown_0855D23C, 56, 81, 1); r5 = (r6 % 100) % 10; StartSpriteAnim(&gSprites[spriteId], r5); - + _a = 0; - + spriteId = CreateSprite(&gUnknown_0855D23C, 40, 91, 1); r5 = gUnknown_02039B4C->unk61C / 100; StartSpriteAnim(&gSprites[spriteId], r5); @@ -2250,14 +2250,14 @@ void sub_80BDB7C(u8 a) _a = 1; else gSprites[spriteId].invisible = TRUE; - + spriteId = CreateSprite(&gUnknown_0855D23C, 48, 91, 1); r5 = (gUnknown_02039B4C->unk61C % 100) / 10; if (r5 != 0 || _a != 0) StartSpriteAnim(&gSprites[spriteId], r5); else gSprites[spriteId].invisible = TRUE; - + spriteId = CreateSprite(&gUnknown_0855D23C, 56, 91, 1); r5 = (gUnknown_02039B4C->unk61C % 100) % 10; StartSpriteAnim(&gSprites[spriteId], r5); @@ -2313,7 +2313,7 @@ void sub_80BE4E0(struct Sprite *sprite) if (gUnknown_02039B4C->unk64A != 0 && gUnknown_02039B4C->unk64A != 3) { - sub_818D820(gUnknown_02039B4C->unk61E[data1]); + FreeAndDestroyMonPicSprite(gUnknown_02039B4C->unk61E[data1]); gUnknown_02039B4C->unk61E[data1] = 0xFFFF; } else @@ -2339,7 +2339,7 @@ void sub_80BE4E0(struct Sprite *sprite) if ((sprite->data[5] <= -64 || sprite->data[5] >= 64) && sprite->data[0] != 0) { - sub_818D820(gUnknown_02039B4C->unk61E[data1]); + FreeAndDestroyMonPicSprite(gUnknown_02039B4C->unk61E[data1]); gUnknown_02039B4C->unk61E[data1] = 0xFFFF; } } @@ -2449,14 +2449,14 @@ void sub_80BE8DC(const u8* str, u8 left, u8 top) color[0] = 0; color[1] = 15; color[2] = 3; - + AddTextPrinterParameterized2(0, 1, left, top, 0, 0, color, -1, str); } u8 sub_80BE91C(struct PokedexListItem* item, u8 b) { u8 taskId; - + gUnknown_02039B54 = item; taskId = CreateTask(sub_80BEA24, 0); gTasks[taskId].data[0] = 0; @@ -2473,7 +2473,7 @@ u8 sub_80BE91C(struct PokedexListItem* item, u8 b) SetBgTilemapBuffer(0, AllocZeroed(0x800)); InitWindows(gUnknown_0856E640); DeactivateAllTextPrinters(); - + return taskId; } @@ -2703,7 +2703,7 @@ void sub_80BEFD0(u8 taskId) { if (!gPaletteFade.active) { - sub_818D820(gTasks[taskId].data[4]); + FreeAndDestroyMonPicSprite(gTasks[taskId].data[4]); switch (gUnknown_02039B4C->unk64E) { case 1: @@ -2724,7 +2724,7 @@ void sub_80BF038(u8 taskId) { if (!gPaletteFade.active) { - sub_818D820(gTasks[taskId].data[4]); + FreeAndDestroyMonPicSprite(gTasks[taskId].data[4]); gTasks[taskId].func = sub_80BEA24; } } @@ -2733,7 +2733,7 @@ void sub_80BF070(u8 taskId) { if (!gPaletteFade.active) { - sub_818D820(gTasks[taskId].data[4]); + FreeAndDestroyMonPicSprite(gTasks[taskId].data[4]); sub_80BEDB0(); DestroyTask(taskId); } @@ -2960,7 +2960,7 @@ void sub_80BF790(u8 taskId) if (!gPaletteFade.active) { sub_8145914(); - sub_818D820(gTasks[taskId].data[4]); + FreeAndDestroyMonPicSprite(gTasks[taskId].data[4]); switch (gUnknown_02039B4C->unk64E) { default: @@ -3109,8 +3109,8 @@ void sub_80BFC78(u8 taskId) { if (!gPaletteFade.active) { - sub_818D820(gTasks[taskId].data[4]); - sub_818D8F0(gTasks[taskId].data[5]); + FreeAndDestroyMonPicSprite(gTasks[taskId].data[4]); + FreeAndDestroyTrainerPicSprite(gTasks[taskId].data[5]); switch (gUnknown_02039B4C->unk64E) { default: @@ -3334,7 +3334,7 @@ void sub_80BFE38(u8 taskId) { u8 spriteId; u16 dexNum = gTasks[taskId].data[1]; - + switch (gTasks[taskId].data[0]) { case 0: @@ -3440,7 +3440,7 @@ void blockset_load_palette_to_gpu(u8 taskId) buffer = GetBgTilemapBuffer(3); if (buffer) Free(buffer); - + species = NationalPokedexNumToSpecies(gTasks[taskId].data[1]); otId = ((u16)gTasks[taskId].data[13] << 16) | (u16)gTasks[taskId].data[12]; personality = ((u16)gTasks[taskId].data[15] << 16) | (u16)gTasks[taskId].data[14]; @@ -3472,7 +3472,7 @@ void sub_80C020C(u32 num, u32 value, u32 c, u32 d) const u8 *text; const u8 *text2; const u8 *text3; - + if (d) sub_80BE8DC(gText_PokedexRegistration, GetStringCenterAlignXOffset(1, gText_PokedexRegistration, 0xF0), 0); if (value == 0) @@ -4064,7 +4064,7 @@ void sub_80C0A88(u8 windowId, const u8 *str, u8 left, u8 top) color[0] = 0; color[1] = 15; color[2] = 3; - + AddTextPrinterParameterized2(windowId, 1, left, top, 0, 0, color, -1, str); } @@ -4107,7 +4107,7 @@ void sub_80C0BF0(u8 windowId, const u8* str, u8 left, u8 top) u8 str2[11]; u8 i; u8 count; - + for (i = 0; i < 11; i++) str2[i] = CHAR_SPACE; for (count = 0; str[count] != CHAR_SPACE && count < 11; count++) @@ -4232,12 +4232,12 @@ u32 sub_80C0E68(u16 a) u16 sub_80C0E9C(u16 num, s16 x, s16 y, u16 paletteSlot) { num = NationalPokedexNumToSpecies(num); - return sub_818D7D8(num, 8, sub_80C0E68(num), TRUE, x, y, paletteSlot, 0xFFFF); + return CreateMonPicSprite_HandleDeoxys(num, 8, sub_80C0E68(num), TRUE, x, y, paletteSlot, 0xFFFF); } u16 sub_80C0EF8(u16 species, s16 x, s16 y, s8 paletteSlot) { - return sub_818D8AC(species, TRUE, x, y, paletteSlot, 0xFFFF); + return CreateTrainerPicSprite(species, TRUE, x, y, paletteSlot, 0xFFFF); } int sub_80C0F30(u8 dexMode, u8 sortMode, u8 abcGroup, u8 bodyColor, u8 type1, u8 type2) @@ -4364,7 +4364,7 @@ u8 sub_80C1258(void) void sub_80C1270(const u8 *str, u32 left, u32 top) { u8 color[3]; - + color[0] = 0; color[1] = 15; color[2] = 2; @@ -4398,7 +4398,7 @@ void sub_80C12E0(u8 taskId) DeactivateAllTextPrinters(); PutWindowTilemap(0); DecompressAndLoadBgGfxUsingHeap(3, gPokedexSearchMenu_Gfx, 0x2000, 0, 0); - + if (!IsNationalPokedexEnabled()) CopyToBgTilemapBuffer(3, gPokedexSearch2_Tilemap, 0, 0); else @@ -4450,7 +4450,7 @@ void sub_80C12E0(u8 taskId) void sub_80C152C(void) { void* tilemapBuffer; - + FreeAllWindowBuffers(); tilemapBuffer = GetBgTilemapBuffer(0); if (tilemapBuffer) @@ -4992,12 +4992,12 @@ void sub_80C2064(u8 a, u8 b) void sub_80C20F8(u8 taskId) { u16 var; - + sub_80C12B0(0x28, 0x10, 0x60, 0x50); var = gTasks[taskId].data[6] + gTasks[taskId].data[7]; sub_80C1270(gUnknown_0856EE5C[var].text2, 0x2D, 0x11); - + var = gTasks[taskId].data[8] + gTasks[taskId].data[9]; sub_80C1270(gUnknown_0856EEB4[var].text2, 0x2D, 0x21); diff --git a/src/pokemon.c b/src/pokemon.c index 7c010cd391..7dedc917f7 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -5874,9 +5874,9 @@ u16 FacilityClassToPicIndex(u16 facilityClass) u16 PlayerGenderToFrontTrainerPicId(u8 playerGender) { if (playerGender != MALE) - return FacilityClassToPicIndex(FACILITY_CLASS_PKMN_TRAINER_BRENDAN); - else return FacilityClassToPicIndex(FACILITY_CLASS_PKMN_TRAINER_MAY); + else + return FacilityClassToPicIndex(FACILITY_CLASS_PKMN_TRAINER_BRENDAN); } void HandleSetPokedexFlag(u16 nationalNum, u8 caseId, u32 personality) diff --git a/src/record_mixing.c b/src/record_mixing.c index 8b21e214f8..8e85fed181 100644 --- a/src/record_mixing.c +++ b/src/record_mixing.c @@ -1635,7 +1635,7 @@ void sub_80E8260(struct UnkRecordMixingStruct2 *dst) dst->field_0[0][i].field_4 = gSaveBlock2Ptr->frontier.field_CF0[i]; dst->field_0[1][i].field_4 = gSaveBlock2Ptr->frontier.field_CF4[i]; dst->field_0[2][i].field_4 = gSaveBlock2Ptr->frontier.field_CF8[i]; - dst->field_0[3][i].field_4 = gSaveBlock2Ptr->frontier.field_D14[i]; + dst->field_0[3][i].field_4 = gSaveBlock2Ptr->frontier.field_D14[0][i]; dst->field_0[4][i].field_4 = gSaveBlock2Ptr->frontier.field_DD0[i]; dst->field_0[5][i].field_4 = gSaveBlock2Ptr->frontier.field_DDE[i]; dst->field_0[6][i].field_4 = gSaveBlock2Ptr->frontier.field_DEA[i]; diff --git a/src/starter_choose.c b/src/starter_choose.c index 36e2b121a5..c1e7eea407 100644 --- a/src/starter_choose.c +++ b/src/starter_choose.c @@ -20,6 +20,7 @@ #include "international_string_util.h" #include "trig.h" #include "scanline_effect.h" +#include "trainer_pokemon_sprites.h" #define STARTER_MON_COUNT 3 @@ -48,12 +49,6 @@ extern const u8 gStarterChoose_LabelCoords[][2]; extern const u8 gUnknown_085B1E0C[]; extern const u8 gUnknown_085B1E28[][2]; -extern void clear_scheduled_bg_copies_to_vram(void); -extern void dp13_810BB8C(void); -extern void do_scheduled_bg_tilemap_copies_to_vram(void); -extern u16 sub_818D820(u16); -extern u8 sub_818D3E4(u16 species, u32 trainerId, u32 personality, u8 flags, s16 x, s16 y, u8, u16); - // this file's functions static void MainCallback2_StarterChoose(void); static void sub_8134604(void); @@ -132,7 +127,7 @@ void CB2_ChooseStarter(void) ResetSpriteData(); ResetPaletteFade(); FreeAllSpritePalettes(); - dp13_810BB8C(); + ResetAllPicSprites(); LoadPalette(GetOverworldTextboxPalettePtr(), 0xE0, 0x20); LoadPalette(gBirchBagGrassPal, 0, 0x40); @@ -263,7 +258,7 @@ static void Task_StarterChoose5(u8 taskId) case 0: // YES // Return the starter choice and exit. gSpecialVar_Result = gTasks[taskId].tStarterSelection; - dp13_810BB8C(); + ResetAllPicSprites(); SetMainCallback2(gMain.savedCallback); break; case 1: // NO @@ -271,7 +266,7 @@ static void Task_StarterChoose5(u8 taskId) PlaySE(SE_SELECT); spriteId = gTasks[taskId].tPkmnSpriteId; FreeOamMatrix(gSprites[spriteId].oam.matrixNum); - sub_818D820(spriteId); + FreeAndDestroyMonPicSprite(spriteId); spriteId = gTasks[taskId].tCircleSpriteId; FreeOamMatrix(gSprites[spriteId].oam.matrixNum); @@ -349,7 +344,7 @@ static u8 CreatePokemonFrontSprite(u16 species, u8 x, u8 y) { u8 spriteId; - spriteId = sub_818D3E4(species, 8, 0, 1, x, y, 0xE, 0xFFFF); + spriteId = CreatePicSprite2(species, 8, 0, 1, x, y, 0xE, 0xFFFF); gSprites[spriteId].oam.priority = 0; return spriteId; } diff --git a/src/battle_dome_cards.c b/src/trainer_pokemon_sprites.c similarity index 52% rename from src/battle_dome_cards.c rename to src/trainer_pokemon_sprites.c index 5e659a2e89..085e66214c 100644 --- a/src/battle_dome_cards.c +++ b/src/trainer_pokemon_sprites.c @@ -1,5 +1,3 @@ - -// Includes #include "global.h" #include "sprite.h" #include "window.h" @@ -7,7 +5,10 @@ #include "constants/species.h" #include "palette.h" #include "decompress.h" -#include "battle_dome_cards.h" +#include "trainer_pokemon_sprites.h" +#include "data2.h" +#include "pokemon.h" +#include "constants/trainers.h" extern const struct CompressedSpriteSheet gMonFrontPicTable[NUM_SPECIES]; extern const struct CompressedSpriteSheet gMonBackPicTable[NUM_SPECIES]; @@ -19,11 +20,10 @@ 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 gUnknown_0830536C[]; -extern const u8 gFacilityClassToPicIndex[]; // Static type declarations -struct BattleDomeCard +struct PicData { u8 *frames; struct SpriteFrameImage *images; @@ -33,15 +33,16 @@ struct BattleDomeCard }; // Static RAM declarations +#define PICS_COUNT 8 -static EWRAM_DATA struct SpriteTemplate gUnknown_0203CCEC = {}; -static EWRAM_DATA struct BattleDomeCard gUnknown_0203CD04[8] = {}; +static EWRAM_DATA struct SpriteTemplate sCreatingSpriteTemplate = {}; +static EWRAM_DATA struct PicData sSpritePics[PICS_COUNT] = {}; // Static ROM declarations // .rodata -static const struct BattleDomeCard gUnknown_0860B058 = {}; +static const struct PicData sDummyPicData = {}; static const struct OamData gUnknown_0860B064 = { .size = 3 @@ -53,80 +54,67 @@ static const struct OamData gUnknown_0860B06C = // .text -static void nullsub_122(struct Sprite *sprite) +static void DummyPicSpriteCallback(struct Sprite *sprite) { } -bool16 dp13_810BB8C(void) +bool16 ResetAllPicSprites(void) { int i; - for (i = 0; i < 8; i ++) - { - gUnknown_0203CD04[i] = gUnknown_0860B058; - } + for (i = 0; i < PICS_COUNT; i ++) + sSpritePics[i] = sDummyPicData; + return FALSE; } -static bool16 load_pokemon_image_TODO(u16 species, u32 personality, bool8 isFrontPic, u8 *dest, bool8 isTrainer, bool8 ignoreDeoxys) +static bool16 DecompressPic(u16 species, u32 personality, bool8 isFrontPic, u8 *dest, bool8 isTrainer, bool8 ignoreDeoxys) { if (!isTrainer) { if (isFrontPic) { if (!ignoreDeoxys) - { LoadSpecialPokePic(&gMonFrontPicTable[species], dest, species, personality, isFrontPic); - } else - { LoadSpecialPokePic_DontHandleDeoxys(&gMonFrontPicTable[species], dest, species, personality, isFrontPic); - } } else { if (!ignoreDeoxys) - { LoadSpecialPokePic(&gMonBackPicTable[species], dest, species, personality, isFrontPic); - } else - { LoadSpecialPokePic_DontHandleDeoxys(&gMonBackPicTable[species], dest, species, personality, isFrontPic); - } } } else { if (isFrontPic) - { DecompressPicFromTable(&gTrainerFrontPicTable[species], dest, species); - } else - { DecompressPicFromTable(&gTrainerBackPicTable[species], dest, species); - } } return FALSE; } -static bool16 sub_818D09C(u16 species, u32 personality, bool8 isFrontPic, u8 *dest, bool8 isTrainer) +static bool16 DecompressPic_HandleDeoxys(u16 species, u32 personality, bool8 isFrontPic, u8 *dest, bool8 isTrainer) { - return load_pokemon_image_TODO(species, personality, isFrontPic, dest, isTrainer, FALSE); + return DecompressPic(species, personality, isFrontPic, dest, isTrainer, FALSE); } -static void sub_818D0C4(u16 species, u32 otId, u32 personality, u8 paletteSlot, u16 paletteTag, bool8 isTrainer) +static void LoadPicPaletteByTagOrSlot(u16 species, u32 otId, u32 personality, u8 paletteSlot, u16 paletteTag, bool8 isTrainer) { if (!isTrainer) { if (paletteTag == 0xFFFF) { - gUnknown_0203CCEC.paletteTag |= 0xFFFF; + sCreatingSpriteTemplate.paletteTag |= 0xFFFF; LoadCompressedPalette(GetFrontSpritePalFromSpeciesAndPersonality(species, otId, personality), 0x100 + paletteSlot * 0x10, 0x20); } else { - gUnknown_0203CCEC.paletteTag = paletteTag; + sCreatingSpriteTemplate.paletteTag = paletteTag; LoadCompressedObjectPalette(GetMonSpritePalStructFromOtIdPersonality(species, otId, personality)); } } @@ -134,42 +122,34 @@ static void sub_818D0C4(u16 species, u32 otId, u32 personality, u8 paletteSlot, { if (paletteTag == 0xFFFF) { - gUnknown_0203CCEC.paletteTag |= 0xFFFF; + sCreatingSpriteTemplate.paletteTag |= 0xFFFF; LoadCompressedPalette(gTrainerFrontPicPaletteTable[species].data, 0x100 + paletteSlot * 0x10, 0x20); } else { - gUnknown_0203CCEC.paletteTag = paletteTag; + sCreatingSpriteTemplate.paletteTag = paletteTag; LoadCompressedObjectPalette(&gTrainerFrontPicPaletteTable[species]); } } } -static void sub_818D180(u16 species, u32 otId, u32 personality, u8 paletteSlot, bool8 isTrainer) +static void LoadPicPaletteBySlot(u16 species, u32 otId, u32 personality, u8 paletteSlot, bool8 isTrainer) { if (!isTrainer) - { LoadCompressedPalette(GetFrontSpritePalFromSpeciesAndPersonality(species, otId, personality), paletteSlot * 0x10, 0x20); - } else - { LoadCompressedPalette(gTrainerFrontPicPaletteTable[species].data, paletteSlot * 0x10, 0x20); - } } -static void uns_builder_assign_animtable1(bool8 isTrainer) +static void AssignSpriteAnimsTable(bool8 isTrainer) { if (!isTrainer) - { - gUnknown_0203CCEC.anims = gPlayerMonSpriteAnimsTable; - } + sCreatingSpriteTemplate.anims = gPlayerMonSpriteAnimsTable; else - { - gUnknown_0203CCEC.anims = gUnknown_0830536C[0]; - } + sCreatingSpriteTemplate.anims = gUnknown_0830536C[0]; } -static u16 oamt_spawn_poke_or_trainer_picture(u16 species, u32 otId, u32 personality, bool8 isFrontPic, s16 x, s16 y, u8 paletteSlot, u16 paletteTag, bool8 isTrainer, bool8 ignoreDeoxys) +static u16 CreatePicSprite(u16 species, u32 otId, u32 personality, bool8 isFrontPic, s16 x, s16 y, u8 paletteSlot, u16 paletteTag, bool8 isTrainer, bool8 ignoreDeoxys) { u8 i; u8 *framePics; @@ -177,14 +157,14 @@ static u16 oamt_spawn_poke_or_trainer_picture(u16 species, u32 otId, u32 persona int j; u8 spriteId; - for (i = 0; i < 8; i ++) + for (i = 0; i < PICS_COUNT; i ++) { - if (!gUnknown_0203CD04[i].active) + if (!sSpritePics[i].active) { break; } } - if (i == 8) + if (i == PICS_COUNT) { return 0xFFFF; } @@ -199,7 +179,7 @@ static u16 oamt_spawn_poke_or_trainer_picture(u16 species, u32 otId, u32 persona Free(framePics); return 0xFFFF; } - if (load_pokemon_image_TODO(species, personality, isFrontPic, framePics, isTrainer, ignoreDeoxys)) + if (DecompressPic(species, personality, isFrontPic, framePics, isTrainer, ignoreDeoxys)) { // debug trap? return 0xFFFF; @@ -209,32 +189,32 @@ static u16 oamt_spawn_poke_or_trainer_picture(u16 species, u32 otId, u32 persona images[j].data = framePics + 0x800 * j; images[j].size = 0x800; } - gUnknown_0203CCEC.tileTag = 0xFFFF; - gUnknown_0203CCEC.oam = &gUnknown_0860B064; - uns_builder_assign_animtable1(isTrainer); - gUnknown_0203CCEC.images = images; - gUnknown_0203CCEC.affineAnims = gDummySpriteAffineAnimTable; - gUnknown_0203CCEC.callback = nullsub_122; - sub_818D0C4(species, otId, personality, paletteSlot, paletteTag, isTrainer); - spriteId = CreateSprite(&gUnknown_0203CCEC, x, y, 0); + sCreatingSpriteTemplate.tileTag = 0xFFFF; + sCreatingSpriteTemplate.oam = &gUnknown_0860B064; + AssignSpriteAnimsTable(isTrainer); + sCreatingSpriteTemplate.images = images; + sCreatingSpriteTemplate.affineAnims = gDummySpriteAffineAnimTable; + sCreatingSpriteTemplate.callback = DummyPicSpriteCallback; + LoadPicPaletteByTagOrSlot(species, otId, personality, paletteSlot, paletteTag, isTrainer); + spriteId = CreateSprite(&sCreatingSpriteTemplate, x, y, 0); if (paletteTag == 0xFFFF) { gSprites[spriteId].oam.paletteNum = paletteSlot; } - gUnknown_0203CD04[i].frames = framePics; - gUnknown_0203CD04[i].images = images; - gUnknown_0203CD04[i].paletteTag = paletteTag; - gUnknown_0203CD04[i].spriteId = spriteId; - gUnknown_0203CD04[i].active = TRUE; + sSpritePics[i].frames = framePics; + sSpritePics[i].images = images; + sSpritePics[i].paletteTag = paletteTag; + sSpritePics[i].spriteId = spriteId; + sSpritePics[i].active = TRUE; return spriteId; } -static u16 sub_818D384(u16 species, u32 otId, u32 personality, bool8 isFrontPic, s16 x, s16 y, u8 paletteSlot, u16 paletteTag, bool8 isTrainer) +static u16 CreatePicSprite_HandleDeoxys(u16 species, u32 otId, u32 personality, bool8 isFrontPic, s16 x, s16 y, u8 paletteSlot, u16 paletteTag, bool8 isTrainer) { - return oamt_spawn_poke_or_trainer_picture(species, otId, personality, isFrontPic, x, y, paletteSlot, paletteTag, isTrainer, FALSE); + return CreatePicSprite(species, otId, personality, isFrontPic, x, y, paletteSlot, paletteTag, isTrainer, FALSE); } -u16 sub_818D3E4(u16 species, u32 otId, u32 personality, u8 flags, s16 x, s16 y, u8 paletteSlot, u16 paletteTag) +u16 CreatePicSprite2(u16 species, u32 otId, u32 personality, u8 flags, s16 x, s16 y, u8 paletteSlot, u16 paletteTag) { u8 *framePics; struct SpriteFrameImage *images; @@ -243,14 +223,14 @@ u16 sub_818D3E4(u16 species, u32 otId, u32 personality, u8 flags, s16 x, s16 y, u8 spriteId; u8 flags2; - for (i = 0; i < 8; i ++) + for (i = 0; i < PICS_COUNT; i ++) { - if (!gUnknown_0203CD04[i].active) + if (!sSpritePics[i].active) { break; } } - if (i == 8) + if (i == PICS_COUNT) { return 0xFFFF; } @@ -274,7 +254,7 @@ u16 sub_818D3E4(u16 species, u32 otId, u32 personality, u8 flags, s16 x, s16 y, Free(framePics); return 0xFFFF; } - if (load_pokemon_image_TODO(species, personality, flags, framePics, FALSE, FALSE)) + if (DecompressPic(species, personality, flags, framePics, FALSE, FALSE)) { // debug trap? return 0xFFFF; @@ -284,76 +264,76 @@ u16 sub_818D3E4(u16 species, u32 otId, u32 personality, u8 flags, s16 x, s16 y, images[j].data = framePics + 0x800 * j; images[j].size = 0x800; } - gUnknown_0203CCEC.tileTag = 0xFFFF; - gUnknown_0203CCEC.anims = gMonAnimationsSpriteAnimsPtrTable[species]; - gUnknown_0203CCEC.images = images; + sCreatingSpriteTemplate.tileTag = 0xFFFF; + sCreatingSpriteTemplate.anims = gMonAnimationsSpriteAnimsPtrTable[species]; + sCreatingSpriteTemplate.images = images; if (flags2 == 0x01) { - gUnknown_0203CCEC.affineAnims = gUnknown_082FF694; - gUnknown_0203CCEC.oam = &gUnknown_0860B06C; + sCreatingSpriteTemplate.affineAnims = gUnknown_082FF694; + sCreatingSpriteTemplate.oam = &gUnknown_0860B06C; } else if (flags2 == 0x00) { - gUnknown_0203CCEC.affineAnims = gUnknown_082FF618; - gUnknown_0203CCEC.oam = &gUnknown_0860B06C; + sCreatingSpriteTemplate.affineAnims = gUnknown_082FF618; + sCreatingSpriteTemplate.oam = &gUnknown_0860B06C; } else { - gUnknown_0203CCEC.oam = &gUnknown_0860B064; - gUnknown_0203CCEC.affineAnims = gDummySpriteAffineAnimTable; + sCreatingSpriteTemplate.oam = &gUnknown_0860B064; + sCreatingSpriteTemplate.affineAnims = gDummySpriteAffineAnimTable; } - gUnknown_0203CCEC.callback = nullsub_122; - sub_818D0C4(species, otId, personality, paletteSlot, paletteTag, FALSE); - spriteId = CreateSprite(&gUnknown_0203CCEC, x, y, 0); + sCreatingSpriteTemplate.callback = DummyPicSpriteCallback; + LoadPicPaletteByTagOrSlot(species, otId, personality, paletteSlot, paletteTag, FALSE); + spriteId = CreateSprite(&sCreatingSpriteTemplate, x, y, 0); if (paletteTag == 0xFFFF) { gSprites[spriteId].oam.paletteNum = paletteSlot; } - gUnknown_0203CD04[i].frames = framePics; - gUnknown_0203CD04[i].images = images; - gUnknown_0203CD04[i].paletteTag = paletteTag; - gUnknown_0203CD04[i].spriteId = spriteId; - gUnknown_0203CD04[i].active = TRUE; + sSpritePics[i].frames = framePics; + sSpritePics[i].images = images; + sSpritePics[i].paletteTag = paletteTag; + sSpritePics[i].spriteId = spriteId; + sSpritePics[i].active = TRUE; return spriteId; } -static u16 sub_818D5B0(u16 spriteId) +static u16 FreeAndDestroyPicSpriteInternal(u16 spriteId) { u8 i; u8 *framePics; struct SpriteFrameImage *images; - for (i = 0; i < 8; i ++) + for (i = 0; i < PICS_COUNT; i ++) { - if (gUnknown_0203CD04[i].spriteId == spriteId) + if (sSpritePics[i].spriteId == spriteId) { break; } } - if (i == 8) + if (i == PICS_COUNT) { return 0xFFFF; } - framePics = gUnknown_0203CD04[i].frames; - images = gUnknown_0203CD04[i].images; - if (gUnknown_0203CD04[i].paletteTag != 0xFFFF) + framePics = sSpritePics[i].frames; + images = sSpritePics[i].images; + if (sSpritePics[i].paletteTag != 0xFFFF) { FreeSpritePaletteByTag(GetSpritePaletteTagByPaletteNum(gSprites[spriteId].oam.paletteNum)); } DestroySprite(&gSprites[spriteId]); Free(framePics); Free(images); - gUnknown_0203CD04[i] = gUnknown_0860B058; + sSpritePics[i] = sDummyPicData; return 0; } static u16 sub_818D65C(u16 species, u32 otId, u32 personality, bool8 isFrontPic, u8 paletteSlot, u8 windowId, bool8 isTrainer) { - if (sub_818D09C(species, personality, isFrontPic, (u8 *)GetWindowAttribute(windowId, WINDOW_TILE_DATA), FALSE)) + if (DecompressPic_HandleDeoxys(species, personality, isFrontPic, (u8 *)GetWindowAttribute(windowId, WINDOW_TILE_DATA), FALSE)) { return 0xFFFF; } - sub_818D180(species, otId, personality, paletteSlot, isTrainer); + LoadPicPaletteBySlot(species, otId, personality, paletteSlot, isTrainer); return 0; } @@ -362,29 +342,29 @@ static u16 sub_818D6CC(u16 species, u32 otId, u32 personality, bool8 isFrontPic, u8 *framePics; framePics = Alloc(4 * 0x800); - if (framePics && !sub_818D09C(species, personality, isFrontPic, framePics, isTrainer)) + if (framePics && !DecompressPic_HandleDeoxys(species, personality, isFrontPic, framePics, isTrainer)) { BlitBitmapRectToWindow(windowId, framePics, 0, 0, 0x40, 0x40, destX, destY, 0x40, 0x40); - sub_818D180(species, otId, personality, paletteSlot, isTrainer); + LoadPicPaletteBySlot(species, otId, personality, paletteSlot, isTrainer); Free(framePics); return 0; } return 0xFFFF; } -static u16 sub_818D778(u16 species, u32 otId, u32 personality, bool8 isFrontPic, s16 x, s16 y, u8 paletteSlot, u16 paletteTag, bool8 ignoreDeoxys) +static u16 CreateMonPicSprite(u16 species, u32 otId, u32 personality, bool8 isFrontPic, s16 x, s16 y, u8 paletteSlot, u16 paletteTag, bool8 ignoreDeoxys) { - return oamt_spawn_poke_or_trainer_picture(species, otId, personality, isFrontPic, x, y, paletteSlot, paletteTag, FALSE, ignoreDeoxys); + return CreatePicSprite(species, otId, personality, isFrontPic, x, y, paletteSlot, paletteTag, FALSE, ignoreDeoxys); } -u16 sub_818D7D8(u16 species, u32 otId, u32 personality, bool8 isFrontPic, s16 x, s16 y, u8 paletteSlot, u16 paletteTag) +u16 CreateMonPicSprite_HandleDeoxys(u16 species, u32 otId, u32 personality, bool8 isFrontPic, s16 x, s16 y, u8 paletteSlot, u16 paletteTag) { - return sub_818D778(species, otId, personality, isFrontPic, x, y, paletteSlot, paletteTag, FALSE); + return CreateMonPicSprite(species, otId, personality, isFrontPic, x, y, paletteSlot, paletteTag, FALSE); } -u16 sub_818D820(u16 spriteId) +u16 FreeAndDestroyMonPicSprite(u16 spriteId) { - return sub_818D5B0(spriteId); + return FreeAndDestroyPicSpriteInternal(spriteId); } u16 sub_818D834(u16 species, u32 otId, u32 personality, bool8 isFrontPic, u8 paletteSlot, u8 windowId) @@ -397,14 +377,14 @@ u16 sub_818D864(u16 species, u32 otId, u32 personality, bool8 isFrontPic, u16 de return sub_818D6CC(species, otId, personality, isFrontPic, destX, destY, paletteSlot, windowId, FALSE); } -u16 sub_818D8AC(u16 species, bool8 isFrontPic, s16 x, s16 y, u8 paletteSlot, u16 paletteTag) +u16 CreateTrainerPicSprite(u16 species, bool8 isFrontPic, s16 x, s16 y, u8 paletteSlot, u16 paletteTag) { - return sub_818D384(species, 0, 0, isFrontPic, x, y, paletteSlot, paletteTag, TRUE); + return CreatePicSprite_HandleDeoxys(species, 0, 0, isFrontPic, x, y, paletteSlot, paletteTag, TRUE); } -u16 sub_818D8F0(u16 spriteId) +u16 FreeAndDestroyTrainerPicSprite(u16 spriteId) { - return sub_818D5B0(spriteId); + return FreeAndDestroyPicSpriteInternal(spriteId); } u16 sub_818D904(u16 species, bool8 isFrontPic, u8 paletteSlot, u8 windowId) @@ -417,17 +397,17 @@ u16 sub_818D938(u16 species, bool8 isFrontPic, u16 destX, u16 destY, u8 paletteS return sub_818D6CC(species, 0, 0, isFrontPic, destX, destY, paletteSlot, windowId, TRUE); } -u8 sub_818D97C(u8 a0, u8 a1) +u16 PlayerGenderToFrontTrainerPicId_Debug(u8 gender, bool8 getClass) { - if (a1 == 1) + if (getClass == TRUE) { - switch (a0) + switch (gender) { - default: - return gFacilityClassToPicIndex[0x3F]; - case 0: - return gFacilityClassToPicIndex[0x3C]; + default: + return gFacilityClassToPicIndex[FACILITY_CLASS_PKMN_TRAINER_MAY]; + case MALE: + return gFacilityClassToPicIndex[FACILITY_CLASS_PKMN_TRAINER_BRENDAN]; } } - return a0; + return gender; } diff --git a/sym_ewram.txt b/sym_ewram.txt index cb887bd901..05c5a59503 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -633,7 +633,7 @@ gFacilityTrainerMons: @ 203BC8C .include "src/pokeblock_feed.o" .include "src/intro_credits_graphics.o" .include "src/recorded_battle.o" - .include "src/battle_dome_cards.o" + .include "src/trainer_pokemon_sprites.o" .include "src/lilycove_lady.o" gUnknown_0203CD70: @ 203CD70 From 239c56496b2bc88f485b6305ddce44155735410b Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Sun, 19 Aug 2018 17:13:05 +0200 Subject: [PATCH 117/234] This is impossible --- asm/battle_frontier_1.s | 60 +++---- include/pokemon.h | 1 + src/battle_frontier_1.c | 388 +++++++++++++++++++++++++++++++++++++++- 3 files changed, 413 insertions(+), 36 deletions(-) diff --git a/asm/battle_frontier_1.s b/asm/battle_frontier_1.s index f1508c2970..f18f5dbf68 100644 --- a/asm/battle_frontier_1.s +++ b/asm/battle_frontier_1.s @@ -101,7 +101,7 @@ _08192598: ldr r3, [sp, 0x24] cmp r3, r0 bne _081925AC - bl sub_8195910 + bl GetDomeBrainTrainerPicId b _081925B2 .pool _081925AC: @@ -316,7 +316,7 @@ _08192784: ldr r1, [sp, 0x24] cmp r1, r0 bne _08192798 - bl sub_8195924 + bl GetDomeBrainTrainerClass b _0819279E .pool _08192798: @@ -373,7 +373,7 @@ _08192800: bne _08192824 ldr r4, =gStringVar2 adds r0, r4, 0 - bl sub_8195938 + bl CopyDomeBrainTrainerName adds r0, r5, 0 adds r1, r4, 0 bl StringAppend @@ -383,7 +383,7 @@ _08192824: ldr r4, =gStringVar2 ldr r1, [sp, 0x24] adds r0, r4, 0 - bl sub_8195898 + bl CopyDomeOpponentName adds r0, r5, 0 adds r1, r4, 0 bl StringAppend @@ -1296,13 +1296,13 @@ _08192F9C: cmp r0, r9 bne _08192FB0 ldr r0, =gStringVar1 - bl sub_8195938 + bl CopyDomeBrainTrainerName b _08192FB8 .pool _08192FB0: lsrs r1, 22 ldr r0, =gStringVar1 - bl sub_8195898 + bl CopyDomeOpponentName _08192FB8: movs r2, 0x1 add r8, r2 @@ -1442,13 +1442,13 @@ _081930E0: cmp r1, r0 bne _081930F8 ldr r0, =gStringVar1 - bl sub_8195938 + bl CopyDomeBrainTrainerName b _08193100 .pool _081930F8: lsrs r1, 22 ldr r0, =gStringVar1 - bl sub_8195898 + bl CopyDomeOpponentName _08193100: mov r0, r8 cmp r0, 0x2 @@ -1683,7 +1683,7 @@ _081932D4: ldr r0, =0x000003fe cmp r1, r0 bne _081932E4 - bl sub_8195910 + bl GetDomeBrainTrainerPicId b _081932EC .pool _081932E4: @@ -1765,7 +1765,7 @@ _08193388: ldr r0, =0x000003fe cmp r1, r0 bne _081933A4 - bl sub_8195910 + bl GetDomeBrainTrainerPicId lsls r0, 24 lsrs r0, 24 ldr r2, [sp, 0x7C] @@ -2207,14 +2207,14 @@ _0819375C: cmp r1, r0 bne _08193774 ldr r0, =gStringVar1 - bl sub_8195938 + bl CopyDomeBrainTrainerName b _0819377E .pool _08193774: ldr r0, =gStringVar1 lsls r1, 16 lsrs r1, 16 - bl sub_8195898 + bl CopyDomeOpponentName _0819377E: add r0, sp, 0xC movs r4, 0x2 @@ -2262,14 +2262,14 @@ _081937E4: cmp r1, r0 bne _081937F8 adds r0, r5, 0 - bl sub_8195938 + bl CopyDomeBrainTrainerName b _08193802 .pool _081937F8: lsls r1, 16 lsrs r1, 16 adds r0, r5, 0 - bl sub_8195898 + bl CopyDomeOpponentName _08193802: ldr r0, =gStringVar1 str r0, [sp, 0xC] @@ -3800,7 +3800,7 @@ _0819456C: lsls r1, 22 lsrs r1, 22 ldr r0, =gDisplayedStringBattle - bl sub_8195898 + bl CopyDomeOpponentName mov r2, r10 cmp r2, 0x1 bne _081945C4 @@ -4342,7 +4342,7 @@ _08194A1C: lsls r1, 22 lsrs r1, 22 mov r0, r9 - bl sub_8195898 + bl CopyDomeOpponentName mov r0, r8 ldr r2, [r0] adds r0, r2, r5 @@ -4895,7 +4895,7 @@ _08194F2A: ldrh r1, [r1] lsls r1, 22 lsrs r1, 22 - bl sub_8195898 + bl CopyDomeOpponentName pop {r4} pop {r0} bx r0 @@ -6041,8 +6041,8 @@ _0819587E: .pool thumb_func_end sub_8195438 - thumb_func_start sub_8195898 -sub_8195898: @ 8195898 + thumb_func_start CopyDomeOpponentName +CopyDomeOpponentName: @ 8195898 push {r4-r6,lr} adds r6, r0, 0 lsls r1, 16 @@ -6053,7 +6053,7 @@ sub_8195898: @ 8195898 cmp r5, r0 bne _081958B8 adds r0, r6, 0 - bl sub_8195938 + bl CopyDomeBrainTrainerName b _08195902 .pool _081958B8: @@ -6099,30 +6099,30 @@ _08195902: pop {r0} bx r0 .pool - thumb_func_end sub_8195898 + thumb_func_end CopyDomeOpponentName - thumb_func_start sub_8195910 -sub_8195910: @ 8195910 + thumb_func_start GetDomeBrainTrainerPicId +GetDomeBrainTrainerPicId: @ 8195910 ldr r0, =gTrainers ldr r1, =0x00007df3 adds r0, r1 ldrb r0, [r0] bx lr .pool - thumb_func_end sub_8195910 + thumb_func_end GetDomeBrainTrainerPicId - thumb_func_start sub_8195924 -sub_8195924: @ 8195924 + thumb_func_start GetDomeBrainTrainerClass +GetDomeBrainTrainerClass: @ 8195924 ldr r0, =gTrainers ldr r1, =0x00007df1 adds r0, r1 ldrb r0, [r0] bx lr .pool - thumb_func_end sub_8195924 + thumb_func_end GetDomeBrainTrainerClass - thumb_func_start sub_8195938 -sub_8195938: @ 8195938 + thumb_func_start CopyDomeBrainTrainerName +CopyDomeBrainTrainerName: @ 8195938 push {r4,lr} adds r3, r0, 0 movs r2, 0 @@ -6142,7 +6142,7 @@ _08195940: pop {r0} bx r0 .pool - thumb_func_end sub_8195938 + thumb_func_end CopyDomeBrainTrainerName thumb_func_start sub_8195960 sub_8195960: @ 8195960 diff --git a/include/pokemon.h b/include/pokemon.h index a60ad66bed..09496b5c3d 100644 --- a/include/pokemon.h +++ b/include/pokemon.h @@ -456,6 +456,7 @@ extern const u8 gStatStageRatios[][2]; extern const u16 gUnknown_08329D54[]; extern const struct SpriteTemplate gUnknown_08329D98[]; extern const struct CompressedSpritePalette gMonPaletteTable[]; +extern const s8 gNatureStatTable[][5]; void ZeroBoxMonData(struct BoxPokemon *boxMon); void ZeroMonData(struct Pokemon *mon); diff --git a/src/battle_frontier_1.c b/src/battle_frontier_1.c index a1d8b2c317..692f942fc9 100644 --- a/src/battle_frontier_1.c +++ b/src/battle_frontier_1.c @@ -20,6 +20,8 @@ #include "menu.h" #include "sound.h" #include "pokemon_icon.h" +#include "data2.h" +#include "international_string_util.h" #include "trainer_pokemon_sprites.h" #include "constants/species.h" #include "constants/moves.h" @@ -54,12 +56,16 @@ extern u32 sub_81A39C4(void); extern u16 sub_8162548(u8, u8); extern u16 RandomizeFacilityTrainerMonId(u16); extern u8 GetFrontierEnemyMonLevel(void); -extern void sub_8195898(u8 *dst, u16 trainerId); +extern void CopyDomeOpponentName(u8 *dst, u16 trainerId); extern u16 sub_81A5060(u8, u8); +extern u8 sub_81A50F0(u8, u8); +extern u8 sub_81A50B0(u8); extern void sub_8162614(u16, u8); extern void sub_81A4C30(void); extern bool8 sub_81A3610(void); extern u16 sub_81A4FF0(u8); +extern u8 GetFrontierTrainerFrontSpriteId(u16); +extern u8 GetFrontierOpponentClass(u16); extern u8 gUnknown_0203CEF8[]; extern u32 gUnknown_0203CD70; @@ -90,8 +96,17 @@ extern const u8 gUnknown_0860D080[]; extern const u8 gUnknown_0860D15C[]; extern const u8 gUnknown_0860D1A0[]; extern const u8 gUnknown_0860D19C[]; +extern const u8 gUnknown_0860D349[]; extern const u8 gUnknown_0860D1C0[]; +extern const u8 gUnknown_0860D343[]; +extern const u8 gUnknown_0860D340[]; +extern const u8 gUnknown_0860D346[]; +extern const u8 gUnknown_0860B358[][16]; +extern const u8 gUnknown_0860C988[31][16]; extern const u8 gUnknown_0860D3F1[][2]; +extern const u8 *const gBattleDomePotentialPointers[]; +extern const u8 *const gBattleDomeOpponentStylePointers[]; +extern const u8 *const gBattleDomeOpponentStatsPointers[]; // gfx extern const u8 gUnknown_08D83D50[]; @@ -102,6 +117,9 @@ extern const u8 gUnknown_08D85358[]; extern const u8 gUnknown_08D85600[]; extern const u8 gUnknown_08D854C8[]; +// text +extern const u8 gTrainerClassNames[][0xD]; + // This file's functions. u8 GetDomeTrainerMonIvs(u16 trainerId); void SwapDomeTrainers(s32 id1, s32 id2, u16 *statsArray); @@ -120,9 +138,13 @@ void sub_8194220(u8 taskId); void sub_8194B54(void); void sub_8194B70(void); void sub_819314C(u8, u8); -void sub_81924E0(u8, u8); +void sub_81924E0(u8, u8 trainerTournamentId); u8 sub_819221C(u8 taskId); s32 sub_8192F08(u8, u8*); +u8 GetDomeBrainTrainerPicId(void); +u8 GetDomeBrainTrainerClass(void); +void CopyDomeBrainTrainerName(u8 *dst); +void CopyDomeOpponentName(u8 *dst, u16 trainerId); // code void sub_818E9AC(void) @@ -549,7 +571,7 @@ void sub_818F9B0(void) void sub_818F9E0(void) { StringCopy(gStringVar1, gRoundsStringTable[gSaveBlock2Ptr->frontier.field_CB2]); - sub_8195898(gStringVar2, gTrainerBattleOpponent_A); + CopyDomeOpponentName(gStringVar2, gTrainerBattleOpponent_A); } void sub_818FA20(void) @@ -2444,9 +2466,363 @@ u8 sub_819221C(u8 taskId) return retVal; } -/* -void sub_81924E0(u8 arg0, u8 arg1) +void sub_81924E0(u8 arg0, u8 trainerTournamentId) { + s32 i, j, k; + s16 *allocatedArray; + struct TextSubPrinter textPrinter; + s32 trainerId; + s32 windowId; + s32 x, y; + u8 palSlot; + u8 nature; + j = 0; + windowId = 0; + x = 0; + y = 0; + palSlot = 0; + allocatedArray = AllocZeroed(sizeof(s16) * 18); + trainerId = gSaveBlock2Ptr->frontier.domeTrainers[trainerTournamentId].trainerId; + + if (arg0 & 1) + j = 8, windowId = 9, palSlot = 2; + if (arg0 & 2) + x = 256; + if (arg0 & 4) + y = 160; + if (arg0 & 8) + x = -256; + if (arg0 & 0x10) + y = -160; + + if (trainerId == TRAINER_PLAYER) + gUnknown_0203CD78->arr[j] = CreateTrainerPicSprite(PlayerGenderToFrontTrainerPicId(gSaveBlock2Ptr->playerGender), TRUE, x + 48, y + 64, palSlot + 12, 0xFFFF); + else if (trainerId == TRAINER_FRONTIER_BRAIN) + gUnknown_0203CD78->arr[j] = CreateTrainerPicSprite(GetDomeBrainTrainerPicId(), TRUE, x + 48, y + 64, palSlot + 12, 0xFFFF); + else + gUnknown_0203CD78->arr[j] = CreateTrainerPicSprite(GetFrontierTrainerFrontSpriteId(trainerId), TRUE, x + 48, y + 64, palSlot + 12, 0xFFFF); + + if (arg0 & 0x1E) + gSprites[gUnknown_0203CD78->arr[j]].invisible = 1; + + for (i = 0; i < 3; i++) + { + if (trainerId == TRAINER_PLAYER) + gUnknown_0203CD78->arr[i + 2 + j] = CreateMonIcon(gSaveBlock2Ptr->frontier.domeMonId[trainerTournamentId][i], + sub_8190938, + x | gUnknown_0860D340[i], + y + gUnknown_0860D343[i], + 0, 0, TRUE); + else if (trainerId == TRAINER_FRONTIER_BRAIN) + gUnknown_0203CD78->arr[i + 2 + j] = CreateMonIcon(gSaveBlock2Ptr->frontier.domeMonId[trainerTournamentId][i], + sub_8190938, + x | gUnknown_0860D340[i], + y + gUnknown_0860D343[i], + 0, 0, TRUE); + else + gUnknown_0203CD78->arr[i + 2 + j] = CreateMonIcon(gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonId[trainerTournamentId][i]].species, + sub_8190938, + x | gUnknown_0860D340[i], + y + gUnknown_0860D343[i], + 0, 0, TRUE); + gSprites[gUnknown_0203CD78->arr[i + 2 + j]].oam.priority = 0; + if (arg0 & 0x1E) + gSprites[gUnknown_0203CD78->arr[i + 2 + j]].invisible = 1; + } + textPrinter.fontId = 2; + textPrinter.x = 0; + textPrinter.y = 0; + textPrinter.currentX = 0; + textPrinter.currentY = 0; + textPrinter.letterSpacing = 2; + textPrinter.lineSpacing = 0; + textPrinter.fontColor_l = 0; + textPrinter.fgColor = 14; + textPrinter.bgColor = 0; + textPrinter.shadowColor = 13; + + i = 0; + if (trainerId == TRAINER_PLAYER) + j = gFacilityClassToTrainerClass[FACILITY_CLASS_PKMN_TRAINER_BRENDAN]; + else if (trainerId == TRAINER_FRONTIER_BRAIN) + j = GetDomeBrainTrainerClass(); + else + j = GetFrontierOpponentClass(trainerId); + + for (;gTrainerClassNames[j][i] != EOS; i++) + gStringVar1[i] = gTrainerClassNames[j][i]; + gStringVar1[i] = CHAR_SPACE; + gStringVar1[i + 1] = EOS; + + if (trainerId == TRAINER_PLAYER) + { + StringAppend(gStringVar1, gSaveBlock2Ptr->playerName); + } + else if (trainerId == TRAINER_FRONTIER_BRAIN) + { + CopyDomeBrainTrainerName(gStringVar2); + StringAppend(gStringVar1, gStringVar2); + } + else + { + CopyDomeOpponentName(gStringVar2, trainerId); + StringAppend(gStringVar1, gStringVar2); + } + + textPrinter.currentX = GetStringCenterAlignXOffsetWithLetterSpacing(textPrinter.fontId, gStringVar1, 0xD0, textPrinter.letterSpacing); + textPrinter.current_text_offset = gStringVar1; + textPrinter.windowId = windowId; + PutWindowTilemap(windowId); + CopyWindowToVram(windowId, 3); + AddTextPrinter(&textPrinter, 0, NULL); + textPrinter.letterSpacing = 0; + + for (i = 0; i < 3; i++) + { + textPrinter.currentY = gUnknown_0860D346[i]; + if (trainerId == TRAINER_PLAYER) + textPrinter.current_text_offset = gSpeciesNames[gSaveBlock2Ptr->frontier.domeMonId[trainerTournamentId][i]]; + else if (trainerId == TRAINER_FRONTIER_BRAIN) + textPrinter.current_text_offset = gSpeciesNames[gSaveBlock2Ptr->frontier.domeMonId[trainerTournamentId][i]]; + else + textPrinter.current_text_offset = gSpeciesNames[gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonId[trainerTournamentId][i]].species]; + + textPrinter.windowId = windowId + i + 1; + if (i == 1) + textPrinter.currentX = 7; + else + textPrinter.currentX = 0; + + j = i + 1; + PutWindowTilemap(windowId + j); + CopyWindowToVram(windowId + j, 3); + AddTextPrinter(&textPrinter, 0, NULL); + } + + PutWindowTilemap(windowId + 4); + CopyWindowToVram(windowId + 4, 3); + if (trainerId == TRAINER_FRONTIER_BRAIN) + textPrinter.current_text_offset = gBattleDomePotentialPointers[16]; + else + textPrinter.current_text_offset = gBattleDomePotentialPointers[trainerTournamentId]; + + textPrinter.fontId = 1; + textPrinter.windowId = windowId + 4; + textPrinter.currentX = 0; + textPrinter.y = 4; + textPrinter.currentY = 4; + AddTextPrinter(&textPrinter, 0, NULL); + + for (i = 0; i < 3; i++) + { + for (j = 0; j < 4; j++) + { + for (k = 0; k < DOME_TOURNAMENT_TRAINERS_COUNT; k++) + { + if (trainerId == TRAINER_FRONTIER_BRAIN) + allocatedArray[k] += gUnknown_0860B358[sub_81A5060(i, j)][k]; + else if (trainerId == TRAINER_PLAYER) + allocatedArray[k] += gUnknown_0860B358[gSaveBlock2Ptr->frontier.field_EFC[i].moves[j]][k]; + else + allocatedArray[k] += gUnknown_0860B358[gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonId[trainerTournamentId][i]].moves[j]][k]; + } + } + } + + for (i = 0; i < ARRAY_COUNT(gUnknown_0860C988); i++) + { + s32 r4 = 0; + + for (k = 0, j = 0; j < DOME_TOURNAMENT_TRAINERS_COUNT; j++) + { + if (gUnknown_0860C988[i][j] != 0) + { + r4++; + if (allocatedArray[j] != 0 && allocatedArray[j] >= gUnknown_0860C988[i][j]) + k++; + } + } + if (r4 == k) + break; + } + + textPrinter.current_text_offset = gBattleDomeOpponentStylePointers[i]; + textPrinter.y = 20; + textPrinter.currentY = 20; + AddTextPrinter(&textPrinter, 0, NULL); + + for (i = 0; i < 18; i++) + allocatedArray[i] = 0; + + if (trainerId == TRAINER_FRONTIER_BRAIN || trainerId == TRAINER_PLAYER) + { + for (i = 0; i < 3; i++) + { + for (j = 0; j < 6; j++) + { + if (trainerId == TRAINER_FRONTIER_BRAIN) + allocatedArray[j] = sub_81A50F0(i, j); + else + allocatedArray[j] = gSaveBlock2Ptr->frontier.field_EFC[i].evs[j]; + } + allocatedArray[6] += allocatedArray[0]; + for (j = 0; j < 5; j++) + { + if (trainerId == TRAINER_FRONTIER_BRAIN) + nature = sub_81A50B0(i); + else + nature = gSaveBlock2Ptr->frontier.field_EFC[i].nature; + + if (gNatureStatTable[nature][j] > 0) + { + allocatedArray[j + 7] += (allocatedArray[j + 1] * 110) / 100; + } + else if (gNatureStatTable[nature][j] < 0) + { + allocatedArray[j + 7] += (allocatedArray[j + 1] * 90) / 100; + allocatedArray[j + 13]++; + } + else + { + allocatedArray[j + 7] += allocatedArray[j + 1]; + } + } + } + for (j = 0, i = 0; i < 6; i++) + j += allocatedArray[6 + i]; + for (i = 0; i < 6; i++) + allocatedArray[i] = (allocatedArray[6 + i] * 100) / j; + } + else + { + for (i = 0; i < 3; i++) + { + s32 evBits = gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonId[trainerTournamentId][i]].evSpread; + for (k = 0, j = 0; j < 6; j++) + { + allocatedArray[j] = 0; + if (evBits & 1) + k++; + evBits >>= 1; + } + k = 510 / k; + evBits = gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonId[trainerTournamentId][i]].evSpread; + for (j = 0; j < 6; j++) + { + if (evBits & 1) + allocatedArray[j] = k; + evBits >>= 1; + } + + allocatedArray[6] += allocatedArray[0]; + for (j = 0; j < 5; j++) + { + nature = gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonId[trainerTournamentId][i]].nature; + if (gNatureStatTable[nature][j] > 0) + { + allocatedArray[j + 7] += (allocatedArray[j + 1] * 110) / 100; + } + else if (gNatureStatTable[nature][j] < 0) + { + allocatedArray[j + 7] += (allocatedArray[j + 1] * 90) / 100; + allocatedArray[j + 13]++; + } + else + { + allocatedArray[j + 7] += allocatedArray[j + 1]; + } + } + } + for (j = 0, i = 0; i < 6; i++) + j += allocatedArray[i + 6]; + for (i = 0; i < 6; i++) + allocatedArray[i] = (allocatedArray[6 + i] * 100) / j; + } + + for (i = 0, j = 0, k = 0; k < 6; k++) + { + if (allocatedArray[k] > 29) + { + if (i == 2) + { + if (allocatedArray[6] < allocatedArray[k]) + { + s16 var_24 = allocatedArray[7]; + if (allocatedArray[7] < allocatedArray[k]) + { + if (allocatedArray[6] < allocatedArray[7]) + { + allocatedArray[6] = var_24; + allocatedArray[7] = k; + } + else + { + allocatedArray[7] = k; + } + } + else + { + allocatedArray[6] = var_24; + allocatedArray[7] = k; + } + } + else + { + if (allocatedArray[7] < allocatedArray[k]) + allocatedArray[7] = k; + } + } + else + { + allocatedArray[i + 7] = k; + i++; + } + } + if (allocatedArray[k] == 0) + { + if (j == 2) + { + if (allocatedArray[k + 12] >= 2 + || ((allocatedArray[k + 12] == 1 && (allocatedArray[12 + allocatedArray[8]] != 0 || allocatedArray[12 + allocatedArray[9]] == 0)) + ) + ) + { + allocatedArray[8] = allocatedArray[9]; + allocatedArray[9] = k; + } + else if (allocatedArray[k + 12] == 1 && allocatedArray[12 + allocatedArray[8]] == 0) + { + allocatedArray[8] = allocatedArray[9]; + allocatedArray[9] = k; + } + else if (allocatedArray[k + 12] == 1 && allocatedArray[12 + allocatedArray[9]] == 0) + { + allocatedArray[9] = k; + } + } + else + { + allocatedArray[j + 8] = k; + j++; + } + } + } + + if (i == 2) + i = gUnknown_0860D349[allocatedArray[6]] + (allocatedArray[7] - (allocatedArray[6] + 1)); + else if (i == 1) + i = allocatedArray[6] + 15; + else if (j == 2) + i = gUnknown_0860D349[allocatedArray[8]] + (allocatedArray[9] - (allocatedArray[8] + 1)) + 21; + else if (j == 1) + i = allocatedArray[8] + 36; + else + i = 42; + + textPrinter.current_text_offset = gBattleDomeOpponentStatsPointers[i]; + textPrinter.y = 36; + textPrinter.currentY = 36; + AddTextPrinter(&textPrinter, 0, NULL); + Free(allocatedArray); } -*/ From 4a0f7398ece5d07e432c555ed75106554db8f97c Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Sun, 19 Aug 2018 20:21:37 +0200 Subject: [PATCH 118/234] Cant believe Ive matched this --- asm/battle_frontier_1.s | 1225 --------------------------------------- src/battle_frontier_1.c | 146 ++--- 2 files changed, 73 insertions(+), 1298 deletions(-) diff --git a/asm/battle_frontier_1.s b/asm/battle_frontier_1.s index f18f5dbf68..d662e47419 100644 --- a/asm/battle_frontier_1.s +++ b/asm/battle_frontier_1.s @@ -5,1231 +5,6 @@ .text - - thumb_func_start sub_81924E0 -sub_81924E0: @ 81924E0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x58 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x1C] - lsls r1, 24 - lsrs r1, 24 - str r1, [sp, 0x20] - movs r5, 0 - movs r0, 0 - str r0, [sp, 0x28] - movs r1, 0 - str r1, [sp, 0x2C] - movs r2, 0 - str r2, [sp, 0x30] - movs r4, 0 - movs r0, 0x24 - bl AllocZeroed - mov r8, r0 - ldr r0, =gSaveBlock2Ptr - ldr r1, [r0] - ldr r3, [sp, 0x20] - lsls r0, r3, 2 - adds r0, r1, r0 - ldr r2, =0x00000d24 - adds r0, r2 - ldrh r0, [r0] - lsls r0, 22 - lsrs r0, 22 - str r0, [sp, 0x24] - movs r0, 0x1 - ldr r3, [sp, 0x1C] - ands r0, r3 - cmp r0, 0 - beq _08192538 - movs r5, 0x8 - movs r4, 0x9 - str r4, [sp, 0x28] - movs r4, 0x2 -_08192538: - movs r0, 0x2 - ldr r2, [sp, 0x1C] - ands r0, r2 - cmp r0, 0 - beq _08192548 - movs r3, 0x80 - lsls r3, 1 - str r3, [sp, 0x2C] -_08192548: - movs r0, 0x4 - ldr r2, [sp, 0x1C] - ands r0, r2 - cmp r0, 0 - beq _08192556 - movs r3, 0xA0 - str r3, [sp, 0x30] -_08192556: - movs r0, 0x8 - ldr r2, [sp, 0x1C] - ands r0, r2 - cmp r0, 0 - beq _08192564 - ldr r3, =0xffffff00 - str r3, [sp, 0x2C] -_08192564: - movs r0, 0x10 - ldr r2, [sp, 0x1C] - ands r0, r2 - cmp r0, 0 - beq _08192574 - movs r3, 0xA0 - negs r3, r3 - str r3, [sp, 0x30] -_08192574: - ldr r0, =0x000003ff - ldr r2, [sp, 0x24] - cmp r2, r0 - bne _08192598 - ldrb r0, [r1, 0x8] - bl PlayerGenderToFrontTrainerPicId - lsls r0, 16 - lsrs r0, 16 - b _081925B6 - .pool -_08192598: - ldr r0, =0x000003fe - ldr r3, [sp, 0x24] - cmp r3, r0 - bne _081925AC - bl GetDomeBrainTrainerPicId - b _081925B2 - .pool -_081925AC: - ldr r0, [sp, 0x24] - bl GetFrontierTrainerFrontSpriteId -_081925B2: - lsls r0, 24 - lsrs r0, 24 -_081925B6: - ldr r2, [sp, 0x2C] - adds r2, 0x30 - ldr r3, [sp, 0x30] - adds r3, 0x40 - adds r1, r4, 0 - adds r1, 0xC - str r1, [sp] - ldr r1, =0x0000ffff - str r1, [sp, 0x4] - movs r1, 0x1 - bl CreateTrainerPicSprite - ldr r1, =gUnknown_0203CD78 - ldr r1, [r1] - adds r1, r5 - strb r0, [r1] - movs r0, 0x1E - ldr r4, [sp, 0x1C] - ands r0, r4 - cmp r0, 0 - beq _081925FC - ldr r2, =gSprites - ldr r0, =gUnknown_0203CD78 - ldr r0, [r0] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] -_081925FC: - movs r7, 0 - ldr r0, [sp, 0x20] - lsls r0, 1 - str r0, [sp, 0x3C] - adds r1, r5, 0x2 - ldr r2, [sp, 0x28] - lsls r2, 24 - str r2, [sp, 0x44] - ldr r3, [sp, 0x28] - adds r3, 0x4 - str r3, [sp, 0x40] - ldr r4, [sp, 0x20] - adds r0, r4 - ldr r6, =gUnknown_0203CD78 - ldr r2, =gSprites - mov r10, r2 - adds r4, r1, 0 - lsls r5, r0, 1 - movs r3, 0 - mov r9, r3 -_08192624: - ldr r0, =0x000003ff - ldr r1, [sp, 0x24] - cmp r1, r0 - bne _08192660 - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r2, =0x00000d64 - adds r0, r2 - adds r0, r5 - ldrh r0, [r0] - ldr r1, =gUnknown_0860D340 - adds r1, r7, r1 - ldrb r2, [r1] - ldr r3, [sp, 0x2C] - orrs r2, r3 - b _081926B0 - .pool -_08192660: - ldr r0, =0x000003fe - ldr r3, [sp, 0x24] - cmp r3, r0 - bne _08192690 - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r1, =0x00000d64 - adds r0, r1 - adds r0, r5 - ldrh r0, [r0] - ldr r1, =gUnknown_0860D340 - adds r1, r7, r1 - ldrb r2, [r1] - ldr r3, [sp, 0x2C] - orrs r2, r3 - b _081926B0 - .pool -_08192690: - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r3, =0x00000d64 - adds r0, r3 - adds r0, r5 - ldrh r1, [r0] - ldr r0, =gFacilityTrainerMons - ldr r0, [r0] - lsls r1, 4 - adds r1, r0 - ldrh r0, [r1] - ldr r1, =gUnknown_0860D340 - adds r1, r7, r1 - ldrb r2, [r1] - ldr r1, [sp, 0x2C] - orrs r2, r1 -_081926B0: - ldr r1, =gUnknown_0860D343 - adds r1, r7, r1 - ldrb r3, [r1] - ldr r1, [sp, 0x30] - adds r3, r1 - mov r1, r9 - str r1, [sp] - str r1, [sp, 0x4] - movs r1, 0x1 - str r1, [sp, 0x8] - ldr r1, =sub_8190938 - bl CreateMonIcon - ldr r1, [r6] - adds r1, r4 - strb r0, [r1] - ldr r0, [r6] - adds r0, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - add r0, r10 - ldrb r1, [r0, 0x5] - movs r2, 0xD - negs r2, r2 - ands r1, r2 - strb r1, [r0, 0x5] - movs r0, 0x1E - ldr r3, [sp, 0x1C] - ands r0, r3 - cmp r0, 0 - beq _0819270A - ldr r0, [r6] - adds r0, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - add r0, r10 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] -_0819270A: - adds r4, 0x1 - adds r5, 0x2 - adds r7, 0x1 - cmp r7, 0x2 - ble _08192624 - add r0, sp, 0xC - movs r2, 0 - movs r3, 0x2 - strb r3, [r0, 0x5] - strb r2, [r0, 0x6] - strb r2, [r0, 0x7] - adds r1, r0, 0 - adds r0, r2, 0 - strb r0, [r1, 0x8] - adds r0, r1, 0 - ldrb r0, [r0, 0x7] - strb r0, [r1, 0x9] - adds r0, r1, 0 - strb r3, [r0, 0xA] - strb r2, [r0, 0xB] - adds r3, r0, 0 - ldrb r2, [r3, 0xC] - movs r1, 0x10 - negs r1, r1 - adds r0, r1, 0 - ands r0, r2 - strb r0, [r3, 0xC] - adds r2, r3, 0 - movs r0, 0xE0 - strb r0, [r2, 0xC] - ldrb r0, [r2, 0xD] - ands r1, r0 - strb r1, [r2, 0xD] - adds r1, r2, 0 - movs r0, 0xD0 - strb r0, [r1, 0xD] - movs r7, 0 - ldr r0, =0x000003ff - ldr r4, [sp, 0x24] - cmp r4, r0 - bne _08192784 - ldr r0, =gFacilityClassToTrainerClass - adds r0, 0x3C - ldrb r5, [r0] - b _081927A2 - .pool -_08192784: - ldr r0, =0x000003fe - ldr r1, [sp, 0x24] - cmp r1, r0 - bne _08192798 - bl GetDomeBrainTrainerClass - b _0819279E - .pool -_08192798: - ldr r0, [sp, 0x24] - bl GetFrontierOpponentClass -_0819279E: - lsls r0, 24 - lsrs r5, r0, 24 -_081927A2: - ldr r2, =gTrainerClassNames - movs r0, 0xD - adds r1, r5, 0 - muls r1, r0 - adds r0, r7, r1 - adds r0, r2 - ldrb r0, [r0] - cmp r0, 0xFF - beq _081927CA - ldr r3, =gStringVar1 - adds r0, r1, r2 - adds r2, r7, r0 -_081927BA: - adds r0, r7, r3 - ldrb r1, [r2] - strb r1, [r0] - adds r2, 0x1 - adds r7, 0x1 - ldrb r0, [r2] - cmp r0, 0xFF - bne _081927BA -_081927CA: - ldr r5, =gStringVar1 - adds r1, r7, r5 - movs r0, 0 - strb r0, [r1] - adds r0, r7, 0x1 - adds r0, r5 - movs r1, 0xFF - strb r1, [r0] - ldr r0, =0x000003ff - ldr r2, [sp, 0x24] - cmp r2, r0 - bne _08192800 - ldr r0, =gSaveBlock2Ptr - ldr r1, [r0] - adds r0, r5, 0 - bl StringAppend - b _08192836 - .pool -_08192800: - ldr r0, =0x000003fe - ldr r3, [sp, 0x24] - cmp r3, r0 - bne _08192824 - ldr r4, =gStringVar2 - adds r0, r4, 0 - bl CopyDomeBrainTrainerName - adds r0, r5, 0 - adds r1, r4, 0 - bl StringAppend - b _08192836 - .pool -_08192824: - ldr r4, =gStringVar2 - ldr r1, [sp, 0x24] - adds r0, r4, 0 - bl CopyDomeOpponentName - adds r0, r5, 0 - adds r1, r4, 0 - bl StringAppend -_08192836: - add r0, sp, 0xC - ldrb r0, [r0, 0x5] - ldr r4, =gStringVar1 - add r1, sp, 0xC - ldrb r3, [r1, 0xA] - adds r1, r4, 0 - movs r2, 0xD0 - bl GetStringCenterAlignXOffsetWithLetterSpacing - add r1, sp, 0xC - movs r5, 0 - strb r0, [r1, 0x8] - str r4, [sp, 0xC] - adds r0, r1, 0 - add r4, sp, 0x28 - ldrb r4, [r4] - strb r4, [r0, 0x4] - ldr r0, [sp, 0x44] - lsrs r4, r0, 24 - adds r0, r4, 0 - bl PutWindowTilemap - adds r0, r4, 0 - movs r1, 0x3 - bl CopyWindowToVram - add r0, sp, 0xC - movs r1, 0 - movs r2, 0 - bl AddTextPrinter - add r0, sp, 0xC - strb r5, [r0, 0xA] - movs r7, 0 - adds r6, r0, 0 - ldr r1, [sp, 0x3C] - ldr r2, [sp, 0x20] - adds r0, r1, r2 - lsls r0, 1 - mov r9, r0 - movs r3, 0xB - mov r10, r3 -_0819288A: - ldr r0, =gUnknown_0860D346 - adds r0, r7, r0 - ldrb r0, [r0] - strb r0, [r6, 0x9] - ldr r0, =0x000003ff - ldr r4, [sp, 0x24] - cmp r4, r0 - bne _081928C0 - ldr r0, =gSaveBlock2Ptr - ldr r1, [r0] - lsls r0, r7, 1 - add r0, r9 - ldr r2, =0x00000d64 - adds r1, r2 - b _081928FA - .pool -_081928C0: - ldr r0, =0x000003fe - ldr r4, [sp, 0x24] - cmp r4, r0 - bne _081928E4 - ldr r0, =gSaveBlock2Ptr - ldr r1, [r0] - lsls r0, r7, 1 - add r0, r9 - ldr r2, =0x00000d64 - adds r1, r2 - b _081928FA - .pool -_081928E4: - ldr r4, =gSaveBlock2Ptr - ldr r1, [r4] - lsls r0, r7, 1 - add r0, r9 - ldr r2, =0x00000d64 - adds r1, r2 - adds r1, r0 - ldrh r1, [r1] - ldr r0, =gFacilityTrainerMons - ldr r0, [r0] - lsls r1, 4 -_081928FA: - adds r1, r0 - ldrh r0, [r1] - mov r3, r10 - muls r3, r0 - adds r0, r3, 0 - ldr r1, =gSpeciesNames - adds r0, r1 - str r0, [sp, 0xC] - adds r0, r7, 0x1 - ldr r4, [sp, 0x28] - adds r0, r4 - movs r1, 0 - strb r0, [r6, 0x4] - cmp r7, 0x1 - bne _08192930 - movs r0, 0x7 - strb r0, [r6, 0x8] - b _08192932 - .pool -_08192930: - strb r1, [r6, 0x8] -_08192932: - adds r5, r7, 0x1 - ldr r0, [sp, 0x28] - adds r4, r5, r0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - bl PutWindowTilemap - adds r0, r4, 0 - movs r1, 0x3 - bl CopyWindowToVram - add r0, sp, 0xC - movs r1, 0 - movs r2, 0 - bl AddTextPrinter - adds r7, r5, 0 - cmp r7, 0x2 - ble _0819288A - ldr r4, [sp, 0x40] - adds r0, r4, 0 - bl PutWindowTilemap - adds r0, r4, 0 - movs r1, 0x3 - bl CopyWindowToVram - ldr r0, =0x000003fe - ldr r1, [sp, 0x24] - cmp r1, r0 - bne _08192980 - ldr r0, =gBattleDomePotentialPointers - ldr r0, [r0, 0x40] - b _0819298A - .pool -_08192980: - ldr r0, =gBattleDomePotentialPointers - ldr r2, [sp, 0x20] - lsls r1, r2, 2 - adds r1, r0 - ldr r0, [r1] -_0819298A: - str r0, [sp, 0xC] - add r1, sp, 0xC - movs r2, 0 - movs r0, 0x1 - strb r0, [r1, 0x5] - adds r0, r1, 0 - add r3, sp, 0x40 - ldrb r3, [r3] - strb r3, [r0, 0x4] - strb r2, [r0, 0x8] - movs r1, 0x4 - strb r1, [r0, 0x7] - strb r1, [r0, 0x9] - movs r1, 0 - bl AddTextPrinter - movs r7, 0 - ldr r3, =gUnknown_0860B358 -_081929AE: - movs r5, 0 - adds r4, r7, 0x1 - str r4, [sp, 0x38] - lsls r0, r7, 1 - str r0, [sp, 0x34] - lsls r2, r7, 4 -_081929BA: - movs r6, 0 - lsls r1, r5, 1 - mov r10, r1 - mov r4, r8 - mov r9, r2 -_081929C4: - ldr r0, =0x000003fe - ldr r1, [sp, 0x24] - cmp r1, r0 - bne _08192A00 - lsls r0, r7, 24 - lsls r1, r5, 24 - lsrs r0, 24 - lsrs r1, 24 - str r2, [sp, 0x48] - str r3, [sp, 0x4C] - bl sub_81A5060 - lsls r0, 16 - lsrs r0, 12 - adds r0, r6, r0 - ldr r3, [sp, 0x4C] - adds r0, r3 - ldrh r1, [r4] - ldrb r0, [r0] - adds r1, r0 - strh r1, [r4] - ldr r2, [sp, 0x48] - b _08192A58 - .pool -_08192A00: - ldr r0, =0x000003ff - ldr r1, [sp, 0x24] - cmp r1, r0 - bne _08192A20 - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r1, =0x00000efc - adds r0, r1 - add r0, r9 - b _08192A48 - .pool -_08192A20: - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - mov r12, r0 - ldr r0, [sp, 0x3C] - ldr r1, [sp, 0x20] - adds r0, r1 - str r0, [sp, 0x50] - lsls r0, 1 - ldr r1, [sp, 0x34] - adds r0, r1, r0 - ldr r1, =0x00000d64 - add r1, r12 - adds r1, r0 - ldrh r0, [r1] - ldr r1, =gFacilityTrainerMons - ldr r1, [r1] - lsls r0, 4 - adds r0, r1 - adds r0, 0x2 - add r0, r10 -_08192A48: - ldrh r0, [r0] - lsls r0, 4 - adds r0, r6, r0 - adds r0, r3 - ldrh r1, [r4] - ldrb r0, [r0] - adds r1, r0 - strh r1, [r4] -_08192A58: - adds r4, 0x2 - adds r6, 0x1 - cmp r6, 0xF - ble _081929C4 - adds r2, 0x2 - adds r5, 0x1 - cmp r5, 0x3 - ble _081929BA - ldr r7, [sp, 0x38] - cmp r7, 0x2 - ble _081929AE - movs r7, 0 - ldr r2, =gBattleDomeOpponentStylePointers - mov r9, r2 - ldr r3, =gUnknown_0860C988 - mov r10, r3 -_08192A78: - movs r4, 0 - movs r6, 0 - movs r5, 0 - mov r3, r8 - lsls r0, r7, 4 - mov r1, r10 - adds r2, r0, r1 -_08192A86: - ldrb r0, [r2] - cmp r0, 0 - beq _08192A9E - adds r4, 0x1 - movs r1, 0 - ldrsh r0, [r3, r1] - cmp r0, 0 - beq _08192A9E - ldrb r1, [r2] - cmp r0, r1 - blt _08192A9E - adds r6, 0x1 -_08192A9E: - adds r3, 0x2 - adds r2, 0x1 - adds r5, 0x1 - cmp r5, 0xF - ble _08192A86 - cmp r4, r6 - beq _08192AB2 - adds r7, 0x1 - cmp r7, 0x1E - bls _08192A78 -_08192AB2: - lsls r0, r7, 2 - add r0, r9 - ldr r0, [r0] - str r0, [sp, 0xC] - add r0, sp, 0xC - movs r1, 0x14 - strb r1, [r0, 0x7] - strb r1, [r0, 0x9] - movs r1, 0 - movs r2, 0 - bl AddTextPrinter - movs r1, 0 - mov r0, r8 - adds r0, 0x22 -_08192AD0: - strh r1, [r0] - subs r0, 0x2 - cmp r0, r8 - bge _08192AD0 - ldr r2, [sp, 0x24] - ldr r3, =0xfffffc02 - adds r0, r2, r3 - cmp r0, 0x1 - bls _08192AE4 - b _08192C24 -_08192AE4: - movs r7, 0 - movs r4, 0 - mov r9, r4 -_08192AEA: - movs r5, 0 - mov r4, r8 - mov r6, r9 -_08192AF0: - ldr r0, =0x000003fe - ldr r1, [sp, 0x24] - cmp r1, r0 - bne _08192B24 - lsls r1, r5, 24 - lsrs r1, 24 - lsrs r0, r6, 24 - bl sub_81A50F0 - lsls r0, 24 - lsrs r0, 24 - b _08192B34 - .pool -_08192B24: - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - lsls r1, r7, 4 - adds r1, r5, r1 - ldr r2, =0x00000f04 - adds r0, r2 - adds r0, r1 - ldrb r0, [r0] -_08192B34: - strh r0, [r4] - adds r4, 0x2 - adds r5, 0x1 - cmp r5, 0x5 - ble _08192AF0 - mov r3, r8 - ldrh r0, [r3] - ldrh r4, [r3, 0xC] - adds r0, r4 - strh r0, [r3, 0xC] - movs r5, 0 - mov r4, r8 -_08192B4C: - ldr r0, =0x000003fe - ldr r1, [sp, 0x24] - cmp r1, r0 - bne _08192B70 - mov r2, r9 - lsrs r0, r2, 24 - bl sub_81A50B0 - lsls r0, 24 - lsrs r2, r0, 24 - b _08192B7E - .pool -_08192B70: - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - lsls r1, r7, 4 - adds r0, r1 - ldr r3, =0x00000f0a - adds r0, r3 - ldrb r2, [r0] -_08192B7E: - ldr r1, =gNatureStatTable - lsls r0, r2, 2 - adds r0, r2 - adds r0, r5, r0 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0 - ble _08192BB4 - movs r0, 0x2 - ldrsh r1, [r4, r0] - movs r0, 0x6E - muls r0, r1 - movs r1, 0x64 - bl __divsi3 - ldrh r1, [r4, 0xE] - adds r1, r0 - strh r1, [r4, 0xE] - b _08192BDC - .pool -_08192BB4: - cmp r0, 0 - bge _08192BD4 - movs r2, 0x2 - ldrsh r1, [r4, r2] - movs r0, 0x5A - muls r0, r1 - movs r1, 0x64 - bl __divsi3 - ldrh r1, [r4, 0xE] - adds r1, r0 - strh r1, [r4, 0xE] - ldrh r0, [r4, 0x1A] - adds r0, 0x1 - strh r0, [r4, 0x1A] - b _08192BDC -_08192BD4: - ldrh r0, [r4, 0x2] - ldrh r3, [r4, 0xE] - adds r0, r3 - strh r0, [r4, 0xE] -_08192BDC: - adds r4, 0x2 - adds r5, 0x1 - cmp r5, 0x4 - ble _08192B4C - movs r4, 0x80 - lsls r4, 17 - add r9, r4 - adds r7, 0x1 - cmp r7, 0x2 - bgt _08192BF2 - b _08192AEA -_08192BF2: - movs r5, 0 - mov r1, r8 - movs r7, 0x5 -_08192BF8: - movs r2, 0xC - ldrsh r0, [r1, r2] - adds r5, r0 - adds r1, 0x2 - subs r7, 0x1 - cmp r7, 0 - bge _08192BF8 - movs r6, 0x64 - mov r4, r8 - movs r7, 0x5 -_08192C0C: - movs r3, 0xC - ldrsh r0, [r4, r3] - muls r0, r6 - adds r1, r5, 0 - bl __divsi3 - strh r0, [r4] - adds r4, 0x2 - subs r7, 0x1 - cmp r7, 0 - bge _08192C0C - b _08192D70 -_08192C24: - ldr r4, =gFacilityTrainerMons - mov r10, r4 - ldr r1, [sp, 0x3C] - ldr r2, [sp, 0x20] - adds r0, r1, r2 - lsls r0, 1 - mov r9, r0 - movs r7, 0x2 -_08192C34: - ldr r3, =gSaveBlock2Ptr - ldr r0, [r3] - ldr r4, =0x00000d64 - adds r0, r4 - add r0, r9 - ldrh r0, [r0] - mov r2, r10 - ldr r1, [r2] - lsls r0, 4 - adds r0, r1 - ldrb r2, [r0, 0xB] - movs r6, 0 - movs r4, 0 - movs r3, 0x1 - mov r1, r8 - movs r5, 0x5 -_08192C54: - strh r4, [r1] - adds r0, r2, 0 - ands r0, r3 - cmp r0, 0 - beq _08192C60 - adds r6, 0x1 -_08192C60: - asrs r2, 1 - adds r1, 0x2 - subs r5, 0x1 - cmp r5, 0 - bge _08192C54 - movs r0, 0xFF - lsls r0, 1 - adds r1, r6, 0 - bl __divsi3 - adds r6, r0, 0 - ldr r3, =gSaveBlock2Ptr - ldr r0, [r3] - ldr r4, =0x00000d64 - adds r0, r4 - add r0, r9 - ldrh r0, [r0] - mov r2, r10 - ldr r1, [r2] - lsls r0, 4 - adds r0, r1 - ldrb r2, [r0, 0xB] - movs r3, 0x1 - mov r1, r8 - movs r5, 0x5 -_08192C92: - adds r0, r2, 0 - ands r0, r3 - cmp r0, 0 - beq _08192C9C - strh r6, [r1] -_08192C9C: - asrs r2, 1 - adds r1, 0x2 - subs r5, 0x1 - cmp r5, 0 - bge _08192C92 - mov r3, r8 - ldrh r0, [r3] - ldrh r4, [r3, 0xC] - adds r0, r4 - strh r0, [r3, 0xC] - movs r5, 0 - mov r4, r8 -_08192CB4: - ldr r1, =gSaveBlock2Ptr - ldr r0, [r1] - ldr r2, =0x00000d64 - adds r0, r2 - add r0, r9 - ldrh r0, [r0] - mov r3, r10 - ldr r1, [r3] - lsls r0, 4 - adds r0, r1 - ldrb r2, [r0, 0xC] - lsls r0, r2, 2 - adds r0, r2 - adds r0, r5, r0 - ldr r1, =gNatureStatTable - adds r0, r1 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0 - ble _08192D04 - movs r2, 0x2 - ldrsh r1, [r4, r2] - movs r0, 0x6E - muls r0, r1 - movs r1, 0x64 - bl __divsi3 - ldrh r1, [r4, 0xE] - adds r1, r0 - strh r1, [r4, 0xE] - b _08192D2C - .pool -_08192D04: - cmp r0, 0 - bge _08192D24 - movs r3, 0x2 - ldrsh r1, [r4, r3] - movs r0, 0x5A - muls r0, r1 - movs r1, 0x64 - bl __divsi3 - ldrh r1, [r4, 0xE] - adds r1, r0 - strh r1, [r4, 0xE] - ldrh r0, [r4, 0x1A] - adds r0, 0x1 - strh r0, [r4, 0x1A] - b _08192D2C -_08192D24: - ldrh r0, [r4, 0x2] - ldrh r1, [r4, 0xE] - adds r0, r1 - strh r0, [r4, 0xE] -_08192D2C: - adds r4, 0x2 - adds r5, 0x1 - cmp r5, 0x4 - ble _08192CB4 - movs r2, 0x2 - add r9, r2 - subs r7, 0x1 - cmp r7, 0 - blt _08192D40 - b _08192C34 -_08192D40: - movs r5, 0 - mov r1, r8 - movs r7, 0x5 -_08192D46: - movs r3, 0xC - ldrsh r0, [r1, r3] - adds r5, r0 - adds r1, 0x2 - subs r7, 0x1 - cmp r7, 0 - bge _08192D46 - movs r6, 0x64 - mov r4, r8 - movs r7, 0x5 -_08192D5A: - movs r1, 0xC - ldrsh r0, [r4, r1] - muls r0, r6 - adds r1, r5, 0 - bl __divsi3 - strh r0, [r4] - adds r4, 0x2 - subs r7, 0x1 - cmp r7, 0 - bge _08192D5A -_08192D70: - movs r7, 0 - movs r5, 0 - movs r6, 0 - mov r4, r8 - mov r10, r8 - mov r9, r8 -_08192D7C: - movs r2, 0 - ldrsh r1, [r4, r2] - cmp r1, 0x1D - ble _08192DDE - cmp r7, 0x2 - bne _08192DD4 - mov r3, r8 - movs r0, 0xC - ldrsh r3, [r3, r0] - mov r12, r3 - cmp r12, r1 - bge _08192DC6 - mov r2, r8 - ldrh r2, [r2, 0xE] - add r3, sp, 0x54 - strh r2, [r3] - mov r2, r8 - movs r3, 0xE - ldrsh r0, [r2, r3] - cmp r0, r1 - bge _08192DBA - cmp r12, r0 - bge _08192DB4 - add r0, sp, 0x54 - ldrh r0, [r0] - strh r0, [r2, 0xC] - strh r6, [r2, 0xE] - b _08192DDE -_08192DB4: - mov r1, r8 - strh r6, [r1, 0xE] - b _08192DDE -_08192DBA: - add r2, sp, 0x54 - ldrh r3, [r2] - mov r2, r8 - strh r3, [r2, 0xC] - strh r6, [r2, 0xE] - b _08192DDE -_08192DC6: - mov r3, r8 - movs r2, 0xE - ldrsh r0, [r3, r2] - cmp r0, r1 - bge _08192DDE - strh r6, [r3, 0xE] - b _08192DDE -_08192DD4: - mov r3, r9 - strh r6, [r3, 0xC] - movs r0, 0x2 - add r9, r0 - adds r7, 0x1 -_08192DDE: - movs r1, 0 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _08192E64 - cmp r5, 0x2 - bne _08192E5A - movs r2, 0x18 - ldrsh r0, [r4, r2] - cmp r0, 0x1 - bgt _08192E18 - cmp r0, 0x1 - bne _08192E64 - mov r3, r8 - movs r1, 0x10 - ldrsh r0, [r3, r1] - lsls r0, 1 - add r0, r8 - movs r2, 0x18 - ldrsh r0, [r0, r2] - cmp r0, 0 - bne _08192E22 - movs r1, 0x12 - ldrsh r0, [r3, r1] - lsls r0, 1 - add r0, r8 - movs r2, 0x18 - ldrsh r0, [r0, r2] - cmp r0, 0 - bne _08192E22 -_08192E18: - mov r3, r8 - ldrh r0, [r3, 0x12] - strh r0, [r3, 0x10] - strh r6, [r3, 0x12] - b _08192E64 -_08192E22: - movs r1, 0x18 - ldrsh r0, [r4, r1] - cmp r0, 0x1 - bne _08192E64 - mov r2, r8 - movs r3, 0x10 - ldrsh r0, [r2, r3] - lsls r0, 1 - add r0, r8 - movs r1, 0x18 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _08192E44 - ldrh r0, [r2, 0x12] - strh r0, [r2, 0x10] - strh r6, [r2, 0x12] - b _08192E64 -_08192E44: - mov r2, r8 - movs r3, 0x12 - ldrsh r0, [r2, r3] - lsls r0, 1 - add r0, r8 - movs r1, 0x18 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _08192E64 - strh r6, [r2, 0x12] - b _08192E64 -_08192E5A: - mov r2, r10 - strh r6, [r2, 0x10] - movs r3, 0x2 - add r10, r3 - adds r5, 0x1 -_08192E64: - adds r4, 0x2 - adds r6, 0x1 - cmp r6, 0x5 - ble _08192D7C - cmp r7, 0x2 - bne _08192E8C - ldr r0, =gUnknown_0860D349 - mov r4, r8 - movs r1, 0xC - ldrsh r2, [r4, r1] - adds r0, r2, r0 - movs r3, 0xE - ldrsh r1, [r4, r3] - subs r1, 0x1 - subs r1, r2 - ldrb r0, [r0] - adds r7, r1, r0 - b _08192ED2 - .pool -_08192E8C: - cmp r7, 0x1 - bne _08192E9C - mov r4, r8 - movs r1, 0xC - ldrsh r0, [r4, r1] - adds r7, r0, 0 - adds r7, 0xF - b _08192ED2 -_08192E9C: - cmp r5, 0x2 - bne _08192EC0 - ldr r0, =gUnknown_0860D349 - mov r3, r8 - movs r4, 0x10 - ldrsh r2, [r3, r4] - adds r0, r2, r0 - movs r4, 0x12 - ldrsh r1, [r3, r4] - subs r1, 0x1 - subs r1, r2 - ldrb r0, [r0] - adds r1, r0 - adds r7, r1, 0 - adds r7, 0x15 - b _08192ED2 - .pool -_08192EC0: - cmp r5, 0x1 - bne _08192ED0 - mov r1, r8 - movs r2, 0x10 - ldrsh r0, [r1, r2] - adds r7, r0, 0 - adds r7, 0x24 - b _08192ED2 -_08192ED0: - movs r7, 0x2A -_08192ED2: - lsls r0, r7, 2 - ldr r3, =gBattleDomeOpponentStatsPointers - adds r0, r3 - ldr r0, [r0] - str r0, [sp, 0xC] - add r0, sp, 0xC - movs r1, 0x24 - strb r1, [r0, 0x7] - strb r1, [r0, 0x9] - movs r1, 0 - movs r2, 0 - bl AddTextPrinter - mov r0, r8 - bl Free - 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_81924E0 - thumb_func_start sub_8192F08 sub_8192F08: @ 8192F08 push {r4-r7,lr} diff --git a/src/battle_frontier_1.c b/src/battle_frontier_1.c index 692f942fc9..f65a25a16d 100644 --- a/src/battle_frontier_1.c +++ b/src/battle_frontier_1.c @@ -138,7 +138,7 @@ void sub_8194220(u8 taskId); void sub_8194B54(void); void sub_8194B70(void); void sub_819314C(u8, u8); -void sub_81924E0(u8, u8 trainerTournamentId); +static void DisplayTrainerInfoOnCard(u8 flags, u8 trainerTournamentId); u8 sub_819221C(u8 taskId); s32 sub_8192F08(u8, u8*); u8 GetDomeBrainTrainerPicId(void); @@ -1338,7 +1338,7 @@ void sub_8190400(u8 taskId) } else { - sub_81924E0(0, r5); + DisplayTrainerInfoOnCard(0, r5); } SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_ON | DISPCNT_BG_ALL_ON | DISPCNT_OBJ_1D_MAP); if (r9 != 0) @@ -1647,7 +1647,7 @@ void sub_8190CD4(u8 taskId) s32 var; s32 r9 = gTasks[taskId].data[3]; s32 taskId2 = gTasks[taskId].data[4]; - s32 arg, arg2; + s32 trainerTournamentId, arg2; switch (gTasks[taskId].data[0]) { @@ -1715,15 +1715,15 @@ void sub_8190CD4(u8 taskId) { gBattle_BG2_X = 0; gBattle_BG2_Y = 320; - arg = gUnknown_0860D080[gTasks[taskId2].data[1]]; - sub_81924E0(gTasks[taskId].data[2] | 0x10, arg); + trainerTournamentId = gUnknown_0860D080[gTasks[taskId2].data[1]]; + DisplayTrainerInfoOnCard(gTasks[taskId].data[2] | 0x10, trainerTournamentId); } else { gBattle_BG2_X = 256; gBattle_BG2_Y = 0; - arg = gUnknown_0860D080[gTasks[taskId2].data[1]]; - sub_81924E0(gTasks[taskId].data[2] | 0x10, arg); + trainerTournamentId = gUnknown_0860D080[gTasks[taskId2].data[1]]; + DisplayTrainerInfoOnCard(gTasks[taskId].data[2] | 0x10, trainerTournamentId); gUnknown_0203CD78->unk_10 = 0; } } @@ -1735,8 +1735,8 @@ void sub_8190CD4(u8 taskId) sub_8192F08(arg2, gUnknown_0203CD78->unk_11); gBattle_BG2_X = 0; gBattle_BG2_Y = 320; - arg = gUnknown_0203CD78->unk_11[0]; - sub_81924E0(gTasks[taskId].data[2] | 0x10, arg); + trainerTournamentId = gUnknown_0203CD78->unk_11[0]; + DisplayTrainerInfoOnCard(gTasks[taskId].data[2] | 0x10, trainerTournamentId); } else if (gUnknown_0203CD78->unk_10 == 2) { @@ -1744,8 +1744,8 @@ void sub_8190CD4(u8 taskId) sub_8192F08(arg2, gUnknown_0203CD78->unk_11); gBattle_BG2_X = 0; gBattle_BG2_Y = 320; - arg = gUnknown_0203CD78->unk_11[1]; - sub_81924E0(gTasks[taskId].data[2] | 0x10, arg); + trainerTournamentId = gUnknown_0203CD78->unk_11[1]; + DisplayTrainerInfoOnCard(gTasks[taskId].data[2] | 0x10, trainerTournamentId); } else { @@ -1831,15 +1831,15 @@ void sub_8190CD4(u8 taskId) { gBattle_BG2_X = 0; gBattle_BG2_Y = 160; - arg = gUnknown_0860D080[gTasks[taskId2].data[1]]; - sub_81924E0(gTasks[taskId].data[2] | 4, arg); + trainerTournamentId = gUnknown_0860D080[gTasks[taskId2].data[1]]; + DisplayTrainerInfoOnCard(gTasks[taskId].data[2] | 4, trainerTournamentId); } else { gBattle_BG2_X = 0; gBattle_BG2_Y = 0; - arg = gUnknown_0860D080[gTasks[taskId2].data[1]]; - sub_81924E0(gTasks[taskId].data[2] | 4, arg); + trainerTournamentId = gUnknown_0860D080[gTasks[taskId2].data[1]]; + DisplayTrainerInfoOnCard(gTasks[taskId].data[2] | 4, trainerTournamentId); gUnknown_0203CD78->unk_10 = 0; } } @@ -1851,8 +1851,8 @@ void sub_8190CD4(u8 taskId) sub_8192F08(arg2, gUnknown_0203CD78->unk_11); gBattle_BG2_X = 0; gBattle_BG2_Y = 160; - arg = gUnknown_0203CD78->unk_11[0]; - sub_81924E0(gTasks[taskId].data[2] | 4, arg); + trainerTournamentId = gUnknown_0203CD78->unk_11[0]; + DisplayTrainerInfoOnCard(gTasks[taskId].data[2] | 4, trainerTournamentId); } else if (gUnknown_0203CD78->unk_10 == 2) { @@ -1860,8 +1860,8 @@ void sub_8190CD4(u8 taskId) sub_8192F08(arg2, gUnknown_0203CD78->unk_11); gBattle_BG2_X = 0; gBattle_BG2_Y = 160; - arg = gUnknown_0203CD78->unk_11[1]; - sub_81924E0(gTasks[taskId].data[2] | 4, arg); + trainerTournamentId = gUnknown_0203CD78->unk_11[1]; + DisplayTrainerInfoOnCard(gTasks[taskId].data[2] | 4, trainerTournamentId); } else { @@ -1944,15 +1944,15 @@ void sub_8190CD4(u8 taskId) { gBattle_BG2_X = 256; gBattle_BG2_Y = 160; - arg = gUnknown_0860D080[gTasks[taskId2].data[1]]; - sub_81924E0(gTasks[taskId].data[2] | 8, arg); + trainerTournamentId = gUnknown_0860D080[gTasks[taskId2].data[1]]; + DisplayTrainerInfoOnCard(gTasks[taskId].data[2] | 8, trainerTournamentId); } else { gBattle_BG2_X = 256; gBattle_BG2_Y = 0; - arg = gUnknown_0860D15C[(gTasks[taskId2].data[1] * 4) + (gUnknown_0203CD78->unk_10 - 1)]; - sub_819314C(gTasks[taskId].data[2] | 8, arg); + trainerTournamentId = gUnknown_0860D15C[(gTasks[taskId2].data[1] * 4) + (gUnknown_0203CD78->unk_10 - 1)]; + sub_819314C(gTasks[taskId].data[2] | 8, trainerTournamentId); } for (i = 0; i < DOME_TOURNAMENT_TRAINERS_COUNT / 2; i++) @@ -2027,8 +2027,8 @@ void sub_8190CD4(u8 taskId) { gBattle_BG2_X = 256; gBattle_BG2_Y = 160; - arg = gUnknown_0203CD78->unk_11[0]; - sub_81924E0(gTasks[taskId].data[2] | 8, arg); + trainerTournamentId = gUnknown_0203CD78->unk_11[0]; + DisplayTrainerInfoOnCard(gTasks[taskId].data[2] | 8, trainerTournamentId); } else { @@ -2116,8 +2116,8 @@ void sub_8190CD4(u8 taskId) gBattle_BG2_X = 0; gBattle_BG2_Y = 0; } - arg = gUnknown_0860D15C[(gUnknown_0203CD78->unk_10 - 1) + (gTasks[taskId2].data[1] * 4)]; - sub_819314C(gTasks[taskId].data[2] | 2, arg); + trainerTournamentId = gUnknown_0860D15C[(gUnknown_0203CD78->unk_10 - 1) + (gTasks[taskId2].data[1] * 4)]; + sub_819314C(gTasks[taskId].data[2] | 2, trainerTournamentId); for (i = 0; i < DOME_TOURNAMENT_TRAINERS_COUNT / 2; i++) { @@ -2191,8 +2191,8 @@ void sub_8190CD4(u8 taskId) { gBattle_BG2_X = 256; gBattle_BG2_Y = 160; - arg = gUnknown_0203CD78->unk_11[1]; - sub_81924E0(gTasks[taskId].data[2] | 2, arg); + trainerTournamentId = gUnknown_0203CD78->unk_11[1]; + DisplayTrainerInfoOnCard(gTasks[taskId].data[2] | 2, trainerTournamentId); } else { @@ -2462,79 +2462,81 @@ u8 sub_819221C(u8 taskId) gTasks[taskId].data[2] ^= 1; } - return retVal; } -void sub_81924E0(u8 arg0, u8 trainerTournamentId) +static void DisplayTrainerInfoOnCard(u8 flags, u8 trainerTournamentId) { - s32 i, j, k; - s16 *allocatedArray; struct TextSubPrinter textPrinter; - s32 trainerId; - s32 windowId; - s32 x, y; - u8 palSlot; - u8 nature; - - j = 0; - windowId = 0; - x = 0; - y = 0; - palSlot = 0; - allocatedArray = AllocZeroed(sizeof(s16) * 18); + s32 i, j, k; + s32 trainerId = 0; + u8 nature = 0; + s32 arrId = 0; + s32 windowId = 0; + s32 x = 0, y = 0; + u8 palSlot = 0; + s16 *allocatedArray = AllocZeroed(sizeof(s16) * 18); trainerId = gSaveBlock2Ptr->frontier.domeTrainers[trainerTournamentId].trainerId; - if (arg0 & 1) - j = 8, windowId = 9, palSlot = 2; - if (arg0 & 2) + if (flags & 1) + arrId = 8, windowId = 9, palSlot = 2; + if (flags & 2) x = 256; - if (arg0 & 4) + if (flags & 4) y = 160; - if (arg0 & 8) + if (flags & 8) x = -256; - if (arg0 & 0x10) + if (flags & 0x10) y = -160; if (trainerId == TRAINER_PLAYER) - gUnknown_0203CD78->arr[j] = CreateTrainerPicSprite(PlayerGenderToFrontTrainerPicId(gSaveBlock2Ptr->playerGender), TRUE, x + 48, y + 64, palSlot + 12, 0xFFFF); + gUnknown_0203CD78->arr[arrId] = CreateTrainerPicSprite(PlayerGenderToFrontTrainerPicId(gSaveBlock2Ptr->playerGender), TRUE, x + 48, y + 64, palSlot + 12, 0xFFFF); else if (trainerId == TRAINER_FRONTIER_BRAIN) - gUnknown_0203CD78->arr[j] = CreateTrainerPicSprite(GetDomeBrainTrainerPicId(), TRUE, x + 48, y + 64, palSlot + 12, 0xFFFF); + gUnknown_0203CD78->arr[arrId] = CreateTrainerPicSprite(GetDomeBrainTrainerPicId(), TRUE, x + 48, y + 64, palSlot + 12, 0xFFFF); else - gUnknown_0203CD78->arr[j] = CreateTrainerPicSprite(GetFrontierTrainerFrontSpriteId(trainerId), TRUE, x + 48, y + 64, palSlot + 12, 0xFFFF); + gUnknown_0203CD78->arr[arrId] = CreateTrainerPicSprite(GetFrontierTrainerFrontSpriteId(trainerId), TRUE, x + 48, y + 64, palSlot + 12, 0xFFFF); - if (arg0 & 0x1E) - gSprites[gUnknown_0203CD78->arr[j]].invisible = 1; + if (flags & 0x1E) + gSprites[gUnknown_0203CD78->arr[arrId]].invisible = 1; for (i = 0; i < 3; i++) { if (trainerId == TRAINER_PLAYER) - gUnknown_0203CD78->arr[i + 2 + j] = CreateMonIcon(gSaveBlock2Ptr->frontier.domeMonId[trainerTournamentId][i], + { + gUnknown_0203CD78->arr[2 + i + arrId] = CreateMonIcon(gSaveBlock2Ptr->frontier.domeMonId[trainerTournamentId][i], sub_8190938, x | gUnknown_0860D340[i], y + gUnknown_0860D343[i], 0, 0, TRUE); + gSprites[gUnknown_0203CD78->arr[2 + i + arrId]].oam.priority = 0; + } else if (trainerId == TRAINER_FRONTIER_BRAIN) - gUnknown_0203CD78->arr[i + 2 + j] = CreateMonIcon(gSaveBlock2Ptr->frontier.domeMonId[trainerTournamentId][i], + { + gUnknown_0203CD78->arr[2 + i + arrId] = CreateMonIcon(gSaveBlock2Ptr->frontier.domeMonId[trainerTournamentId][i], sub_8190938, x | gUnknown_0860D340[i], y + gUnknown_0860D343[i], 0, 0, TRUE); + gSprites[gUnknown_0203CD78->arr[2 + i + arrId]].oam.priority = 0; + } else - gUnknown_0203CD78->arr[i + 2 + j] = CreateMonIcon(gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonId[trainerTournamentId][i]].species, + { + gUnknown_0203CD78->arr[2 + i + arrId] = CreateMonIcon(gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonId[trainerTournamentId][i]].species, sub_8190938, x | gUnknown_0860D340[i], y + gUnknown_0860D343[i], 0, 0, TRUE); - gSprites[gUnknown_0203CD78->arr[i + 2 + j]].oam.priority = 0; - if (arg0 & 0x1E) - gSprites[gUnknown_0203CD78->arr[i + 2 + j]].invisible = 1; + gSprites[gUnknown_0203CD78->arr[2 + i + arrId]].oam.priority = 0; + } + + if (flags & 0x1E) + gSprites[gUnknown_0203CD78->arr[2 + i + arrId]].invisible = 1; } textPrinter.fontId = 2; textPrinter.x = 0; textPrinter.y = 0; - textPrinter.currentX = 0; - textPrinter.currentY = 0; + textPrinter.currentX = textPrinter.x; + textPrinter.currentY = textPrinter.y; textPrinter.letterSpacing = 2; textPrinter.lineSpacing = 0; textPrinter.fontColor_l = 0; @@ -2588,15 +2590,14 @@ void sub_81924E0(u8 arg0, u8 trainerTournamentId) else textPrinter.current_text_offset = gSpeciesNames[gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonId[trainerTournamentId][i]].species]; - textPrinter.windowId = windowId + i + 1; + textPrinter.windowId = 1 + i + windowId; if (i == 1) textPrinter.currentX = 7; else textPrinter.currentX = 0; - j = i + 1; - PutWindowTilemap(windowId + j); - CopyWindowToVram(windowId + j, 3); + PutWindowTilemap(1 + i + windowId); + CopyWindowToVram(1 + i + windowId, 3); AddTextPrinter(&textPrinter, 0, NULL); } @@ -2748,12 +2749,11 @@ void sub_81924E0(u8 arg0, u8 trainerTournamentId) { if (allocatedArray[6] < allocatedArray[k]) { - s16 var_24 = allocatedArray[7]; if (allocatedArray[7] < allocatedArray[k]) { if (allocatedArray[6] < allocatedArray[7]) { - allocatedArray[6] = var_24; + allocatedArray[6] = allocatedArray[7]; allocatedArray[7] = k; } else @@ -2763,7 +2763,7 @@ void sub_81924E0(u8 arg0, u8 trainerTournamentId) } else { - allocatedArray[6] = var_24; + allocatedArray[6] = allocatedArray[7]; allocatedArray[7] = k; } } @@ -2775,7 +2775,7 @@ void sub_81924E0(u8 arg0, u8 trainerTournamentId) } else { - allocatedArray[i + 7] = k; + allocatedArray[i + 6] = k; i++; } } @@ -2784,7 +2784,7 @@ void sub_81924E0(u8 arg0, u8 trainerTournamentId) if (j == 2) { if (allocatedArray[k + 12] >= 2 - || ((allocatedArray[k + 12] == 1 && (allocatedArray[12 + allocatedArray[8]] != 0 || allocatedArray[12 + allocatedArray[9]] == 0)) + || ((allocatedArray[k + 12] == 1 && allocatedArray[12 + allocatedArray[8]] == 0 && allocatedArray[12 + allocatedArray[9]] == 0) ) ) { From 5da12f2b21e5e9018fc151b2765587cb84109cfb Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Sun, 19 Aug 2018 22:26:07 +0200 Subject: [PATCH 119/234] battle dome - more work --- asm/battle_frontier_1.s | 260 ----------------------- data/battle_frontier_1.s | 180 ---------------- include/global.h | 9 +- src/battle_frontier_1.c | 432 ++++++++++++++++++++++++++++++++++++++- 4 files changed, 436 insertions(+), 445 deletions(-) diff --git a/asm/battle_frontier_1.s b/asm/battle_frontier_1.s index d662e47419..1aa100d794 100644 --- a/asm/battle_frontier_1.s +++ b/asm/battle_frontier_1.s @@ -5,266 +5,6 @@ .text - thumb_func_start sub_8192F08 -sub_8192F08: @ 8192F08 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x10 - str r1, [sp] - lsls r0, 24 - lsrs r7, r0, 24 - movs r0, 0 - str r0, [sp, 0x4] - mov r8, r0 - ldr r2, =gUnknown_0860D3C4 - lsls r0, r7, 1 - adds r0, r7 - adds r1, r0, r2 - ldrb r6, [r1] - adds r1, r2, 0x1 - adds r0, r1 - ldrb r0, [r0] - adds r0, r6, r0 - adds r3, r2, 0 - cmp r6, r0 - bge _08192FD4 - ldr r5, =gSaveBlock2Ptr - ldr r1, =0x000003ff - mov r10, r1 - ldr r2, =0x000003fe - mov r9, r2 -_08192F42: - ldr r0, =gUnknown_0860D3B4 - adds r0, r6, r0 - ldrb r4, [r0] - ldr r0, [r5] - lsls r1, r4, 2 - adds r0, r1 - ldr r2, =0x00000d25 - adds r0, r2 - ldrb r0, [r0] - lsls r0, 29 - cmp r0, 0 - blt _08192FBE - ldr r0, [sp] - add r0, r8 - strb r4, [r0] - ldr r2, [r5] - adds r0, r2, r1 - ldr r1, =0x00000d24 - adds r0, r1 - ldrh r0, [r0] - lsls r1, r0, 22 - lsrs r0, r1, 22 - cmp r0, r10 - bne _08192F9C - ldr r0, =gStringVar1 - adds r1, r2, 0 - bl StringCopy - b _08192FB8 - .pool -_08192F9C: - lsrs r0, r1, 22 - cmp r0, r9 - bne _08192FB0 - ldr r0, =gStringVar1 - bl CopyDomeBrainTrainerName - b _08192FB8 - .pool -_08192FB0: - lsrs r1, 22 - ldr r0, =gStringVar1 - bl CopyDomeOpponentName -_08192FB8: - movs r2, 0x1 - add r8, r2 - ldr r3, =gUnknown_0860D3C4 -_08192FBE: - adds r6, 0x1 - lsls r1, r7, 1 - adds r1, r7 - adds r0, r1, r3 - ldrb r2, [r0] - adds r0, r3, 0x1 - adds r1, r0 - ldrb r0, [r1] - adds r2, r0 - cmp r6, r2 - blt _08192F42 -_08192FD4: - mov r5, r8 - cmp r5, 0x2 - bne _08192FE8 - movs r0, 0 - b _0819313C - .pool -_08192FE8: - mov r12, r3 - lsls r3, r7, 1 - adds r0, r3, r7 - mov r2, r12 - adds r1, r0, r2 - ldrb r6, [r1] - mov r1, r12 - adds r1, 0x1 - adds r0, r1 - ldrb r0, [r0] - adds r0, r6, r0 - str r3, [sp, 0x8] - cmp r6, r0 - blt _08193006 - b _08193126 -_08193006: - ldr r5, =gSaveBlock2Ptr - mov r10, r5 - ldr r0, =0x00000d25 - mov r9, r0 -_0819300E: - ldr r0, =gUnknown_0860D3B4 - adds r0, r6, r0 - ldrb r4, [r0] - mov r1, r10 - ldr r0, [r1] - lsls r2, r4, 2 - str r2, [sp, 0xC] - adds r0, r2 - add r0, r9 - ldrb r2, [r0] - lsls r0, r2, 29 - cmp r0, 0 - bge _08193100 - lsls r2, 27 - adds r1, r3, r7 - mov r0, r12 - adds r0, 0x2 - adds r1, r0 - lsrs r2, 30 - ldrb r1, [r1] - cmp r2, r1 - bcc _08193100 - ldr r0, [sp] - add r0, r8 - strb r4, [r0] - movs r5, 0x1 - add r8, r5 - mov r0, r10 - ldr r3, [r0] - ldr r5, [sp, 0xC] - adds r2, r3, r5 - adds r0, r2, 0 - add r0, r9 - ldrb r5, [r0] - mov r12, r5 - mov r0, r12 - lsls r0, 27 - lsrs r0, 30 - cmp r0, r1 - bne _081930BC - lsls r4, 1 - movs r1, 0xEC - lsls r1, 4 - adds r0, r3, r1 - adds r0, r4 - ldrh r1, [r0] - movs r0, 0xD - muls r1, r0 - ldr r0, =gMoveNames - adds r1, r0 - ldr r0, =gStringVar2 - bl StringCopy - mov r2, r10 - ldr r1, [r2] - ldr r5, [sp, 0xC] - adds r0, r1, r5 - add r0, r9 - ldrb r0, [r0] - lsls r2, r0, 24 - lsrs r0, r2, 29 - lsls r0, 1 - str r0, [sp, 0x4] - movs r0, 0xEC - lsls r0, 4 - adds r1, r0 - adds r1, r4 - ldrh r0, [r1] - cmp r0, 0 - bne _08193100 - lsrs r0, r2, 29 - cmp r0, 0 - bne _08193100 - movs r1, 0x4 - str r1, [sp, 0x4] - b _08193100 - .pool -_081930BC: - ldr r5, =0x00000d24 - adds r0, r2, r5 - ldrh r0, [r0] - lsls r1, r0, 22 - ldr r0, =0xffc00000 - cmp r1, r0 - bne _081930E0 - ldr r0, =gStringVar1 - adds r1, r3, 0 - bl StringCopy - b _08193100 - .pool -_081930E0: - ldr r0, =0xff800000 - cmp r1, r0 - bne _081930F8 - ldr r0, =gStringVar1 - bl CopyDomeBrainTrainerName - b _08193100 - .pool -_081930F8: - lsrs r1, 22 - ldr r0, =gStringVar1 - bl CopyDomeOpponentName -_08193100: - mov r0, r8 - cmp r0, 0x2 - beq _08193126 - adds r6, 0x1 - ldr r1, =gUnknown_0860D3C4 - mov r12, r1 - ldr r3, [sp, 0x8] - adds r1, r3, r7 - mov r2, r12 - adds r0, r1, r2 - ldrb r2, [r0] - mov r0, r12 - adds r0, 0x1 - adds r1, r0 - ldrb r0, [r1] - adds r2, r0 - cmp r6, r2 - bge _08193126 - b _0819300E -_08193126: - cmp r7, 0xE - beq _08193138 - ldr r0, [sp, 0x4] - adds r0, 0x1 - b _0819313C - .pool -_08193138: - ldr r0, [sp, 0x4] - adds r0, 0x2 -_0819313C: - add sp, 0x10 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8192F08 - thumb_func_start sub_819314C sub_819314C: @ 819314C push {r4-r7,lr} diff --git a/data/battle_frontier_1.s b/data/battle_frontier_1.s index e0e2b73b40..3901d3b864 100644 --- a/data/battle_frontier_1.s +++ b/data/battle_frontier_1.s @@ -5,186 +5,6 @@ .section .rodata -gUnknown_0860B358:: @ 860B358 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01 - .byte 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x01 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 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, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 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, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 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, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x01, 0x01 - .byte 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 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, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00 - .byte 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00 - .byte 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 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, 0x01, 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, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01 - .byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x01, 0x01 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01 - .byte 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00 - .byte 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01 - .byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01 - .byte 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01 - .byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00 - .byte 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x01 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x01, 0x01 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 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, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 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, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x01, 0x01 - gUnknown_0860C988:: @ 860C988 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x01, 0x01, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 diff --git a/include/global.h b/include/global.h index 9f2c7c9a25..a4db847a4a 100644 --- a/include/global.h +++ b/include/global.h @@ -431,7 +431,14 @@ struct BattleFrontier /*0xE6E*/ u16 field_E6E; /*0xE70*/ u8 field_E70[72]; /*0xEB8*/ u16 frontierBattlePoints; - /*0xEBA*/ u8 field_EBA[39]; + /*0xEBA*/ u8 field_EBA; + /*0xEBB*/ u8 field_EBB; + /*0xEBC*/ u8 field_EBC; + /*0xEBD*/ u8 field_EBD; + /*0xEBE*/ u8 field_EBE; + /*0xEBF*/ u8 field_EBF; + /*0xEC0*/ u16 field_EC0[16]; + /*0xEE0*/ u8 field_EE0; /*0xEE1*/ u8 field_EE1[2][PLAYER_NAME_LENGTH]; /*0xEF1*/ u8 field_EF1[2][4]; /*0xEF9*/ u8 field_EF9; diff --git a/src/battle_frontier_1.c b/src/battle_frontier_1.c index f65a25a16d..0c718ed742 100644 --- a/src/battle_frontier_1.c +++ b/src/battle_frontier_1.c @@ -101,9 +101,10 @@ extern const u8 gUnknown_0860D1C0[]; extern const u8 gUnknown_0860D343[]; extern const u8 gUnknown_0860D340[]; extern const u8 gUnknown_0860D346[]; -extern const u8 gUnknown_0860B358[][16]; extern const u8 gUnknown_0860C988[31][16]; extern const u8 gUnknown_0860D3F1[][2]; +extern const u8 gUnknown_0860D3C4[][3]; +extern const u8 gUnknown_0860D3B4[]; extern const u8 *const gBattleDomePotentialPointers[]; extern const u8 *const gBattleDomeOpponentStylePointers[]; extern const u8 *const gBattleDomeOpponentStatsPointers[]; @@ -146,6 +147,367 @@ u8 GetDomeBrainTrainerClass(void); void CopyDomeBrainTrainerName(u8 *dst); void CopyDomeOpponentName(u8 *dst, u16 trainerId); +// const rom data +ALIGNED(4) +static const u8 sMovePoints[MOVES_COUNT][DOME_TOURNAMENT_TRAINERS_COUNT] = +{ + [MOVE_NONE] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, + [MOVE_POUND] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0}, + [MOVE_KARATE_CHOP] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0}, + [MOVE_DOUBLE_SLAP] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0}, + [MOVE_COMET_PUNCH] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0}, + [MOVE_MEGA_PUNCH] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0}, + [MOVE_PAY_DAY] = {0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1}, + [MOVE_FIRE_PUNCH] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1}, + [MOVE_ICE_PUNCH] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1}, + [MOVE_THUNDER_PUNCH] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1}, + [MOVE_SCRATCH] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0}, + [MOVE_VICE_GRIP] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0}, + [MOVE_GUILLOTINE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0}, + [MOVE_RAZOR_WIND] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0}, + [MOVE_SWORDS_DANCE] = {1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0}, + [MOVE_CUT] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0}, + [MOVE_GUST] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0}, + [MOVE_WING_ATTACK] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0}, + [MOVE_WHIRLWIND] = {1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0}, + [MOVE_FLY] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0}, + [MOVE_BIND] = {0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1}, + [MOVE_SLAM] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0}, + [MOVE_VINE_WHIP] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0}, + [MOVE_STOMP] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1}, + [MOVE_DOUBLE_KICK] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0}, + [MOVE_MEGA_KICK] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0}, + [MOVE_JUMP_KICK] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0}, + [MOVE_ROLLING_KICK] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1}, + [MOVE_SAND_ATTACK] = {0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0}, + [MOVE_HEADBUTT] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1}, + [MOVE_HORN_ATTACK] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0}, + [MOVE_FURY_ATTACK] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0}, + [MOVE_HORN_DRILL] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0}, + [MOVE_TACKLE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0}, + [MOVE_BODY_SLAM] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1}, + [MOVE_WRAP] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1}, + [MOVE_TAKE_DOWN] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0}, + [MOVE_THRASH] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1}, + [MOVE_DOUBLE_EDGE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0}, + [MOVE_TAIL_WHIP] = {0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0}, + [MOVE_POISON_STING] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1}, + [MOVE_TWINEEDLE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1}, + [MOVE_PIN_MISSILE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0}, + [MOVE_LEER] = {0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0}, + [MOVE_BITE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1}, + [MOVE_GROWL] = {0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0}, + [MOVE_ROAR] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0}, + [MOVE_SING] = {0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0}, + [MOVE_SUPERSONIC] = {0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0}, + [MOVE_SONIC_BOOM] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0}, + [MOVE_DISABLE] = {0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0}, + [MOVE_ACID] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1}, + [MOVE_EMBER] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1}, + [MOVE_FLAMETHROWER] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1}, + [MOVE_MIST] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, + [MOVE_WATER_GUN] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0}, + [MOVE_HYDRO_PUMP] = {1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0}, + [MOVE_SURF] = {1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0}, + [MOVE_ICE_BEAM] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1}, + [MOVE_BLIZZARD] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1}, + [MOVE_PSYBEAM] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1}, + [MOVE_BUBBLE_BEAM] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1}, + [MOVE_AURORA_BEAM] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1}, + [MOVE_HYPER_BEAM] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0}, + [MOVE_PECK] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0}, + [MOVE_DRILL_PECK] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0}, + [MOVE_SUBMISSION] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0}, + [MOVE_LOW_KICK] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0}, + [MOVE_COUNTER] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0}, + [MOVE_SEISMIC_TOSS] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0}, + [MOVE_STRENGTH] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0}, + [MOVE_ABSORB] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0}, + [MOVE_MEGA_DRAIN] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0}, + [MOVE_LEECH_SEED] = {1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0}, + [MOVE_GROWTH] = {0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, + [MOVE_RAZOR_LEAF] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0}, + [MOVE_SOLAR_BEAM] = {1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 0}, + [MOVE_POISON_POWDER] = {0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0}, + [MOVE_STUN_SPORE] = {0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0}, + [MOVE_SLEEP_POWDER] = {0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0}, + [MOVE_PETAL_DANCE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1}, + [MOVE_STRING_SHOT] = {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, + [MOVE_DRAGON_RAGE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0}, + [MOVE_FIRE_SPIN] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1}, + [MOVE_THUNDER_SHOCK] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1}, + [MOVE_THUNDERBOLT] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1}, + [MOVE_THUNDER_WAVE] = {0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0}, + [MOVE_THUNDER] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1}, + [MOVE_ROCK_THROW] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0}, + [MOVE_EARTHQUAKE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 0}, + [MOVE_FISSURE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0}, + [MOVE_DIG] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0}, + [MOVE_TOXIC] = {0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1}, + [MOVE_CONFUSION] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1}, + [MOVE_PSYCHIC] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1}, + [MOVE_HYPNOSIS] = {1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, + [MOVE_MEDITATE] = {1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, + [MOVE_AGILITY] = {0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, + [MOVE_QUICK_ATTACK] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0}, + [MOVE_RAGE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0}, + [MOVE_TELEPORT] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, + [MOVE_NIGHT_SHADE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0}, + [MOVE_MIMIC] = {0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0}, + [MOVE_SCREECH] = {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, + [MOVE_DOUBLE_TEAM] = {0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0}, + [MOVE_RECOVER] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, + [MOVE_HARDEN] = {0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0}, + [MOVE_MINIMIZE] = {0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0}, + [MOVE_SMOKESCREEN] = {0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0}, + [MOVE_CONFUSE_RAY] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0}, + [MOVE_WITHDRAW] = {0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0}, + [MOVE_DEFENSE_CURL] = {0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0}, + [MOVE_BARRIER] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0}, + [MOVE_LIGHT_SCREEN] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0}, + [MOVE_HAZE] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, + [MOVE_REFLECT] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0}, + [MOVE_FOCUS_ENERGY] = {1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, + [MOVE_BIDE] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0}, + [MOVE_METRONOME] = {0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0}, + [MOVE_MIRROR_MOVE] = {0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0}, + [MOVE_SELF_DESTRUCT] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0}, + [MOVE_EGG_BOMB] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0}, + [MOVE_LICK] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1}, + [MOVE_SMOG] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1}, + [MOVE_SLUDGE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1}, + [MOVE_BONE_CLUB] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1}, + [MOVE_FIRE_BLAST] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1}, + [MOVE_WATERFALL] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0}, + [MOVE_CLAMP] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1}, + [MOVE_SWIFT] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0}, + [MOVE_SKULL_BASH] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0}, + [MOVE_SPIKE_CANNON] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0}, + [MOVE_CONSTRICT] = {0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1}, + [MOVE_AMNESIA] = {0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0}, + [MOVE_KINESIS] = {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, + [MOVE_SOFT_BOILED] = {0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0}, + [MOVE_HI_JUMP_KICK] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0}, + [MOVE_GLARE] = {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, + [MOVE_DREAM_EATER] = {1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0}, + [MOVE_POISON_GAS] = {0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0}, + [MOVE_BARRAGE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0}, + [MOVE_LEECH_LIFE] = {0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0}, + [MOVE_LOVELY_KISS] = {0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0}, + [MOVE_SKY_ATTACK] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1}, + [MOVE_TRANSFORM] = {0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, + [MOVE_BUBBLE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1}, + [MOVE_DIZZY_PUNCH] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1}, + [MOVE_SPORE] = {0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0}, + [MOVE_FLASH] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, + [MOVE_PSYWAVE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0}, + [MOVE_SPLASH] = {0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, + [MOVE_ACID_ARMOR] = {0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0}, + [MOVE_CRABHAMMER] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0}, + [MOVE_EXPLOSION] = {0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 0}, + [MOVE_FURY_SWIPES] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0}, + [MOVE_BONEMERANG] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0}, + [MOVE_REST] = {1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, + [MOVE_ROCK_SLIDE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1}, + [MOVE_HYPER_FANG] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1}, + [MOVE_SHARPEN] = {0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0}, + [MOVE_CONVERSION] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0}, + [MOVE_TRI_ATTACK] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1}, + [MOVE_SUPER_FANG] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0}, + [MOVE_SLASH] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0}, + [MOVE_SUBSTITUTE] = {0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0}, + [MOVE_STRUGGLE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0}, + [MOVE_SKETCH] = {0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0}, + [MOVE_TRIPLE_KICK] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0}, + [MOVE_THIEF] = {0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1}, + [MOVE_SPIDER_WEB] = {0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0}, + [MOVE_MIND_READER] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0}, + [MOVE_NIGHTMARE] = {1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0}, + [MOVE_FLAME_WHEEL] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1}, + [MOVE_SNORE] = {1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1}, + [MOVE_CURSE] = {0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0}, + [MOVE_FLAIL] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0}, + [MOVE_CONVERSION_2] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0}, + [MOVE_AEROBLAST] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0}, + [MOVE_COTTON_SPORE] = {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, + [MOVE_REVERSAL] = {1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0}, + [MOVE_SPITE] = {0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0}, + [MOVE_POWDER_SNOW] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1}, + [MOVE_PROTECT] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0}, + [MOVE_MACH_PUNCH] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0}, + [MOVE_SCARY_FACE] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, + [MOVE_FAINT_ATTACK] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0}, + [MOVE_SWEET_KISS] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, + [MOVE_BELLY_DRUM] = {1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, + [MOVE_SLUDGE_BOMB] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1}, + [MOVE_MUD_SLAP] = {0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1}, + [MOVE_OCTAZOOKA] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1}, + [MOVE_SPIKES] = {1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, + [MOVE_ZAP_CANNON] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1}, + [MOVE_FORESIGHT] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0}, + [MOVE_DESTINY_BOND] = {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0}, + [MOVE_PERISH_SONG] = {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0}, + [MOVE_ICY_WIND] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1}, + [MOVE_DETECT] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0}, + [MOVE_BONE_RUSH] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0}, + [MOVE_LOCK_ON] = {1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0}, + [MOVE_OUTRAGE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1}, + [MOVE_SANDSTORM] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, + [MOVE_GIGA_DRAIN] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0}, + [MOVE_ENDURE] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0}, + [MOVE_CHARM] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0}, + [MOVE_ROLLOUT] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0}, + [MOVE_FALSE_SWIPE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0}, + [MOVE_SWAGGER] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1}, + [MOVE_MILK_DRINK] = {0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, + [MOVE_SPARK] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1}, + [MOVE_FURY_CUTTER] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0}, + [MOVE_STEEL_WING] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1}, + [MOVE_MEAN_LOOK] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0}, + [MOVE_ATTRACT] = {0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0}, + [MOVE_SLEEP_TALK] = {1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0}, + [MOVE_HEAL_BELL] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0}, + [MOVE_RETURN] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0}, + [MOVE_PRESENT] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0}, + [MOVE_FRUSTRATION] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0}, + [MOVE_SAFEGUARD] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0}, + [MOVE_PAIN_SPLIT] = {0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0}, + [MOVE_SACRED_FIRE] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1}, + [MOVE_MAGNITUDE] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0}, + [MOVE_DYNAMIC_PUNCH] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1}, + [MOVE_MEGAHORN] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0}, + [MOVE_DRAGON_BREATH] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1}, + [MOVE_BATON_PASS] = {1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, + [MOVE_ENCORE] = {0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0}, + [MOVE_PURSUIT] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0}, + [MOVE_RAPID_SPIN] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0}, + [MOVE_SWEET_SCENT] = {0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0}, + [MOVE_IRON_TAIL] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1}, + [MOVE_METAL_CLAW] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1}, + [MOVE_VITAL_THROW] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0}, + [MOVE_MORNING_SUN] = {1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0}, + [MOVE_SYNTHESIS] = {1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0}, + [MOVE_MOONLIGHT] = {1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0}, + [MOVE_HIDDEN_POWER] = {0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0}, + [MOVE_CROSS_CHOP] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0}, + [MOVE_TWISTER] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1}, + [MOVE_RAIN_DANCE] = {1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0}, + [MOVE_SUNNY_DAY] = {1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0}, + [MOVE_CRUNCH] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1}, + [MOVE_MIRROR_COAT] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0}, + [MOVE_PSYCH_UP] = {0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, + [MOVE_EXTREME_SPEED] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0}, + [MOVE_ANCIENT_POWER] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1}, + [MOVE_SHADOW_BALL] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1}, + [MOVE_FUTURE_SIGHT] = {0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0}, + [MOVE_ROCK_SMASH] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1}, + [MOVE_WHIRLPOOL] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1}, + [MOVE_BEAT_UP] = {0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0}, + [MOVE_FAKE_OUT] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0}, + [MOVE_UPROAR] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1}, + [MOVE_STOCKPILE] = {1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, + [MOVE_SPIT_UP] = {1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0}, + [MOVE_SWALLOW] = {1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, + [MOVE_HEAT_WAVE] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1}, + [MOVE_HAIL] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, + [MOVE_TORMENT] = {0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0}, + [MOVE_FLATTER] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0}, + [MOVE_WILL_O_WISP] = {0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0}, + [MOVE_MEMENTO] = {0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0}, + [MOVE_FACADE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0}, + [MOVE_FOCUS_PUNCH] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0}, + [MOVE_SMELLING_SALT] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0}, + [MOVE_FOLLOW_ME] = {0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0}, + [MOVE_NATURE_POWER] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0}, + [MOVE_CHARGE] = {1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0}, + [MOVE_TAUNT] = {0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0}, + [MOVE_HELPING_HAND] = {0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0}, + [MOVE_TRICK] = {0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0}, + [MOVE_ROLE_PLAY] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0}, + [MOVE_WISH] = {0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0}, + [MOVE_ASSIST] = {0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0}, + [MOVE_INGRAIN] = {1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0}, + [MOVE_SUPERPOWER] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 1, 0}, + [MOVE_MAGIC_COAT] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0}, + [MOVE_RECYCLE] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0}, + [MOVE_REVENGE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0}, + [MOVE_BRICK_BREAK] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0}, + [MOVE_YAWN] = {1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0}, + [MOVE_KNOCK_OFF] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1}, + [MOVE_ENDEAVOR] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0}, + [MOVE_ERUPTION] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0}, + [MOVE_SKILL_SWAP] = {0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0}, + [MOVE_IMPRISON] = {0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0}, + [MOVE_REFRESH] = {0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0}, + [MOVE_GRUDGE] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0}, + [MOVE_SNATCH] = {0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0}, + [MOVE_SECRET_POWER] = {0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1}, + [MOVE_DIVE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0}, + [MOVE_ARM_THRUST] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0}, + [MOVE_CAMOUFLAGE] = {0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0}, + [MOVE_TAIL_GLOW] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0}, + [MOVE_LUSTER_PURGE] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1}, + [MOVE_MIST_BALL] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1}, + [MOVE_FEATHER_DANCE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0}, + [MOVE_TEETER_DANCE] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0}, + [MOVE_BLAZE_KICK] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1}, + [MOVE_MUD_SPORT] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0}, + [MOVE_ICE_BALL] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0}, + [MOVE_NEEDLE_ARM] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1}, + [MOVE_SLACK_OFF] = {0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0}, + [MOVE_HYPER_VOICE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0}, + [MOVE_POISON_FANG] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1}, + [MOVE_CRUSH_CLAW] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1}, + [MOVE_BLAST_BURN] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0}, + [MOVE_HYDRO_CANNON] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0}, + [MOVE_METEOR_MASH] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1}, + [MOVE_ASTONISH] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1}, + [MOVE_WEATHER_BALL] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0}, + [MOVE_AROMATHERAPY] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0}, + [MOVE_FAKE_TEARS] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0}, + [MOVE_AIR_CUTTER] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0}, + [MOVE_OVERHEAT] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1}, + [MOVE_ODOR_SLEUTH] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0}, + [MOVE_ROCK_TOMB] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1}, + [MOVE_SILVER_WIND] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1}, + [MOVE_METAL_SOUND] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, + [MOVE_GRASS_WHISTLE] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, + [MOVE_TICKLE] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0}, + [MOVE_COSMIC_POWER] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, + [MOVE_WATER_SPOUT] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0}, + [MOVE_SIGNAL_BEAM] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1}, + [MOVE_SHADOW_PUNCH] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0}, + [MOVE_EXTRASENSORY] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1}, + [MOVE_SKY_UPPERCUT] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0}, + [MOVE_SAND_TOMB] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1}, + [MOVE_SHEER_COLD] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0}, + [MOVE_MUDDY_WATER] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1}, + [MOVE_BULLET_SEED] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0}, + [MOVE_AERIAL_ACE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0}, + [MOVE_ICICLE_SPEAR] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0}, + [MOVE_IRON_DEFENSE] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0}, + [MOVE_BLOCK] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0}, + [MOVE_HOWL] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, + [MOVE_DRAGON_CLAW] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0}, + [MOVE_FRENZY_PLANT] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0}, + [MOVE_BULK_UP] = {1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, + [MOVE_BOUNCE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1}, + [MOVE_MUD_SHOT] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1}, + [MOVE_POISON_TAIL] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1}, + [MOVE_COVET] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1}, + [MOVE_VOLT_TACKLE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0}, + [MOVE_MAGICAL_LEAF] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0}, + [MOVE_WATER_SPORT] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0}, + [MOVE_CALM_MIND] = {1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, + [MOVE_LEAF_BLADE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0}, + [MOVE_DRAGON_DANCE] = {1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, + [MOVE_ROCK_BLAST] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0}, + [MOVE_SHOCK_WAVE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0}, + [MOVE_WATER_PULSE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1}, + [MOVE_DOOM_DESIRE] = {0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0}, + [MOVE_PSYCHO_BOOST] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1}, +}; + // code void sub_818E9AC(void) { @@ -2622,11 +2984,11 @@ static void DisplayTrainerInfoOnCard(u8 flags, u8 trainerTournamentId) for (k = 0; k < DOME_TOURNAMENT_TRAINERS_COUNT; k++) { if (trainerId == TRAINER_FRONTIER_BRAIN) - allocatedArray[k] += gUnknown_0860B358[sub_81A5060(i, j)][k]; + allocatedArray[k] += sMovePoints[sub_81A5060(i, j)][k]; else if (trainerId == TRAINER_PLAYER) - allocatedArray[k] += gUnknown_0860B358[gSaveBlock2Ptr->frontier.field_EFC[i].moves[j]][k]; + allocatedArray[k] += sMovePoints[gSaveBlock2Ptr->frontier.field_EFC[i].moves[j]][k]; else - allocatedArray[k] += gUnknown_0860B358[gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonId[trainerTournamentId][i]].moves[j]][k]; + allocatedArray[k] += sMovePoints[gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonId[trainerTournamentId][i]].moves[j]][k]; } } } @@ -2826,3 +3188,65 @@ static void DisplayTrainerInfoOnCard(u8 flags, u8 trainerTournamentId) AddTextPrinter(&textPrinter, 0, NULL); Free(allocatedArray); } + +s32 sub_8192F08(u8 arg0, u8 *arg1) +{ + s32 i; + u8 tournamentId; + s32 retVal = 0; + s32 count = 0; + + for (i = gUnknown_0860D3C4[arg0][0]; i < gUnknown_0860D3C4[arg0][0] + gUnknown_0860D3C4[arg0][1]; i++) + { + tournamentId = gUnknown_0860D3B4[i]; + if (!gSaveBlock2Ptr->frontier.domeTrainers[tournamentId].unk1) + { + arg1[count] = tournamentId; + if (gSaveBlock2Ptr->frontier.domeTrainers[tournamentId].trainerId == TRAINER_PLAYER) + StringCopy(gStringVar1, gSaveBlock2Ptr->playerName); + else if (gSaveBlock2Ptr->frontier.domeTrainers[tournamentId].trainerId == TRAINER_FRONTIER_BRAIN) + CopyDomeBrainTrainerName(gStringVar1); + else + CopyDomeOpponentName(gStringVar1, gSaveBlock2Ptr->frontier.domeTrainers[tournamentId].trainerId); + count++; + } + } + + if (count == 2) + return 0; + + for (i = gUnknown_0860D3C4[arg0][0]; i < gUnknown_0860D3C4[arg0][0] + gUnknown_0860D3C4[arg0][1]; i++) + { + tournamentId = gUnknown_0860D3B4[i]; + if (gSaveBlock2Ptr->frontier.domeTrainers[tournamentId].unk1 + && gSaveBlock2Ptr->frontier.domeTrainers[tournamentId].unk2 >= gUnknown_0860D3C4[arg0][2]) + { + arg1[count] = tournamentId; + count++; + if (gSaveBlock2Ptr->frontier.domeTrainers[tournamentId].unk2 == gUnknown_0860D3C4[arg0][2]) + { + StringCopy(gStringVar2, gMoveNames[gSaveBlock2Ptr->frontier.field_EC0[tournamentId]]); + retVal = gSaveBlock2Ptr->frontier.domeTrainers[tournamentId].unk3 * 2; + if (gSaveBlock2Ptr->frontier.field_EC0[tournamentId] == 0 && gSaveBlock2Ptr->frontier.domeTrainers[tournamentId].unk3 == 0) + retVal = 4; + } + else + { + if (gSaveBlock2Ptr->frontier.domeTrainers[tournamentId].trainerId == TRAINER_PLAYER) + StringCopy(gStringVar1, gSaveBlock2Ptr->playerName); + else if (gSaveBlock2Ptr->frontier.domeTrainers[tournamentId].trainerId == TRAINER_FRONTIER_BRAIN) + CopyDomeBrainTrainerName(gStringVar1); + else + CopyDomeOpponentName(gStringVar1, gSaveBlock2Ptr->frontier.domeTrainers[tournamentId].trainerId); + } + } + + if (count == 2) + break; + } + + if (arg0 == 14) + return retVal + 2; + else + return retVal + 1; +} From a12b69eae1d24168e0135b42c766b3b5d64d7007 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Mon, 20 Aug 2018 22:56:05 +0200 Subject: [PATCH 120/234] DisplayMatchInfoOnCard decompiled --- asm/battle_frontier_1.s | 853 ---------------------------------------- asm/battle_frontier_2.s | 2 +- src/battle_frontier_1.c | 372 ++++++++++++++---- 3 files changed, 298 insertions(+), 929 deletions(-) diff --git a/asm/battle_frontier_1.s b/asm/battle_frontier_1.s index 1aa100d794..a68dbf3296 100644 --- a/asm/battle_frontier_1.s +++ b/asm/battle_frontier_1.s @@ -5,859 +5,6 @@ .text - thumb_func_start sub_819314C -sub_819314C: @ 819314C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x80 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x34] - lsls r1, 24 - lsrs r6, r1, 24 - movs r0, 0 - str r0, [sp, 0x3C] - movs r7, 0 - movs r1, 0 - str r1, [sp, 0x40] - movs r2, 0 - str r2, [sp, 0x44] - mov r9, r2 - movs r0, 0x1 - ldr r3, [sp, 0x34] - ands r0, r3 - cmp r0, 0 - beq _08193186 - movs r7, 0x8 - str r7, [sp, 0x3C] - movs r7, 0x9 - movs r0, 0x2 - mov r9, r0 -_08193186: - movs r0, 0x2 - ldr r1, [sp, 0x34] - ands r0, r1 - cmp r0, 0 - beq _08193196 - movs r2, 0x80 - lsls r2, 1 - str r2, [sp, 0x40] -_08193196: - movs r0, 0x4 - ldr r3, [sp, 0x34] - ands r0, r3 - cmp r0, 0 - beq _081931A4 - movs r0, 0xA0 - str r0, [sp, 0x44] -_081931A4: - movs r0, 0x8 - ldr r1, [sp, 0x34] - ands r0, r1 - cmp r0, 0 - beq _081931B2 - ldr r2, =0xffffff00 - str r2, [sp, 0x40] -_081931B2: - movs r0, 0x10 - ldr r3, [sp, 0x34] - ands r0, r3 - cmp r0, 0 - beq _081931C2 - movs r0, 0xA0 - negs r0, r0 - str r0, [sp, 0x44] -_081931C2: - ldr r4, =gUnknown_0203CD78 - ldr r1, [r4] - adds r1, 0x11 - adds r0, r6, 0 - bl sub_8192F08 - str r0, [sp, 0x38] - movs r5, 0 - mov r1, sp - adds r1, 0x1C - str r1, [sp, 0x48] - mov r2, sp - adds r2, 0x24 - str r2, [sp, 0x4C] - lsls r1, r6, 1 - mov r3, sp - adds r3, 0x2C - str r3, [sp, 0x50] - ldr r0, [sp, 0x40] - adds r0, 0x30 - mov r8, r0 - ldr r2, [sp, 0x44] - adds r2, 0x58 - str r2, [sp, 0x78] - movs r3, 0xC - add r3, r9 - mov r10, r3 - ldr r0, [sp, 0x40] - adds r0, 0xC0 - str r0, [sp, 0x7C] - mov r2, r9 - adds r2, 0xD - str r2, [sp, 0x74] - ldr r3, [sp, 0x3C] - adds r3, 0x1 - mov r9, r3 - ldr r0, [sp, 0x3C] - adds r0, 0x2 - str r0, [sp, 0x54] - ldr r2, [sp, 0x3C] - adds r2, 0x5 - str r2, [sp, 0x5C] - adds r3, r7, 0 - adds r3, 0x8 - str r3, [sp, 0x6C] - adds r0, r7, 0x6 - str r0, [sp, 0x64] - adds r2, r7, 0x7 - str r2, [sp, 0x68] - lsls r3, r6, 2 - str r3, [sp, 0x58] - adds r0, r7, 0x5 - str r0, [sp, 0x60] - ldr r0, [r4] - adds r0, 0x11 - mov r12, r0 - ldr r0, =gSaveBlock2Ptr - ldr r4, [r0] - ldr r0, =gUnknown_0860D3C6 - movs r3, 0 - adds r1, r6 - adds r1, r0 - ldrb r6, [r1] -_08193240: - ldr r1, [sp, 0x48] - adds r2, r3, r1 - mov r7, r12 - adds r0, r7, r5 - ldrb r0, [r0] - str r0, [r2] - ldr r7, [sp, 0x4C] - adds r1, r3, r7 - lsls r0, 2 - adds r0, r4, r0 - ldr r7, =0x00000d24 - adds r0, r7 - ldrh r0, [r0] - lsls r0, 22 - lsrs r0, 22 - str r0, [r1] - ldr r0, [r2] - lsls r0, 2 - adds r0, r4, r0 - ldr r1, =0x00000d25 - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 27 - lsrs r0, 30 - cmp r0, r6 - bhi _0819329C - lsls r0, r1, 29 - cmp r0, 0 - bge _0819329C - ldr r2, [sp, 0x50] - adds r1, r3, r2 - movs r0, 0x1 - b _081932A2 - .pool -_0819329C: - ldr r7, [sp, 0x50] - adds r1, r3, r7 - movs r0, 0 -_081932A2: - str r0, [r1] - adds r3, 0x4 - adds r5, 0x1 - cmp r5, 0x1 - ble _08193240 - ldr r1, [sp, 0x24] - ldr r0, =0x000003ff - cmp r1, r0 - bne _081932D4 - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldrb r0, [r0, 0x8] - bl PlayerGenderToFrontTrainerPicId - lsls r0, 16 - lsrs r0, 16 - mov r2, r8 - ldr r3, [sp, 0x78] - mov r1, r10 - str r1, [sp] - b _081932F8 - .pool -_081932D4: - ldr r0, =0x000003fe - cmp r1, r0 - bne _081932E4 - bl GetDomeBrainTrainerPicId - b _081932EC - .pool -_081932E4: - lsls r0, r1, 16 - lsrs r0, 16 - bl GetFrontierTrainerFrontSpriteId -_081932EC: - lsls r0, 24 - lsrs r0, 24 - mov r2, r8 - ldr r3, [sp, 0x78] - mov r7, r10 - str r7, [sp] -_081932F8: - ldr r1, =0x0000ffff - str r1, [sp, 0x4] - movs r1, 0x1 - bl CreateTrainerPicSprite - ldr r1, =gUnknown_0203CD78 - ldr r1, [r1] - ldr r2, [sp, 0x3C] - adds r1, r2 - strb r0, [r1] - movs r0, 0x1E - ldr r3, [sp, 0x34] - ands r0, r3 - cmp r0, 0 - beq _08193334 - ldr r2, =gSprites - ldr r0, =gUnknown_0203CD78 - ldr r0, [r0] - ldr r7, [sp, 0x3C] - adds r0, r7 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] -_08193334: - ldr r0, [sp, 0x2C] - cmp r0, 0 - beq _0819335A - ldr r2, =gSprites - ldr r0, =gUnknown_0203CD78 - ldr r0, [r0] - ldr r1, [sp, 0x3C] - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r2, [r0, 0x5] - movs r1, 0xF - ands r1, r2 - movs r2, 0x30 - orrs r1, r2 - strb r1, [r0, 0x5] -_0819335A: - ldr r2, [sp, 0x4C] - ldr r1, [r2, 0x4] - ldr r0, =0x000003ff - cmp r1, r0 - bne _08193388 - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldrb r0, [r0, 0x8] - bl PlayerGenderToFrontTrainerPicId - lsls r0, 16 - lsrs r0, 16 - b _081933B0 - .pool -_08193388: - ldr r0, =0x000003fe - cmp r1, r0 - bne _081933A4 - bl GetDomeBrainTrainerPicId - lsls r0, 24 - lsrs r0, 24 - ldr r2, [sp, 0x7C] - ldr r3, [sp, 0x78] - ldr r1, [sp, 0x74] - str r1, [sp] - b _081933B8 - .pool -_081933A4: - lsls r0, r1, 16 - lsrs r0, 16 - bl GetFrontierTrainerFrontSpriteId - lsls r0, 24 - lsrs r0, 24 -_081933B0: - ldr r2, [sp, 0x7C] - ldr r3, [sp, 0x78] - ldr r7, [sp, 0x74] - str r7, [sp] -_081933B8: - ldr r1, =0x0000ffff - str r1, [sp, 0x4] - movs r1, 0x1 - bl CreateTrainerPicSprite - ldr r1, =gUnknown_0203CD78 - ldr r1, [r1] - add r1, r9 - strb r0, [r1] - movs r0, 0x1E - ldr r1, [sp, 0x34] - ands r0, r1 - cmp r0, 0 - beq _081933F0 - ldr r2, =gSprites - ldr r0, =gUnknown_0203CD78 - ldr r0, [r0] - add r0, r9 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] -_081933F0: - ldr r2, [sp, 0x50] - ldr r0, [r2, 0x4] - cmp r0, 0 - beq _08193416 - ldr r2, =gSprites - ldr r0, =gUnknown_0203CD78 - ldr r0, [r0] - add r0, r9 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r2, [r0, 0x5] - movs r1, 0xF - ands r1, r2 - movs r2, 0x30 - orrs r1, r2 - strb r1, [r0, 0x5] -_08193416: - movs r5, 0 - ldr r3, [sp, 0x38] - lsls r3, 2 - str r3, [sp, 0x70] - mov r8, r5 - ldr r6, =gUnknown_0203CD78 - ldr r7, =gSprites - ldr r4, [sp, 0x54] - mov r9, r5 - movs r0, 0x1 - mov r10, r0 -_0819342C: - ldr r1, [sp, 0x24] - ldr r0, =0x000003ff - cmp r1, r0 - bne _08193464 - ldr r0, =gSaveBlock2Ptr - ldr r2, [r0] - ldr r1, [sp, 0x1C] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 1 - add r0, r9 - ldr r1, =0x00000d64 - adds r2, r1 - adds r2, r0 - ldrh r0, [r2] - b _081934B0 - .pool -_08193464: - ldr r0, =0x000003fe - cmp r1, r0 - bne _08193490 - ldr r0, =gSaveBlock2Ptr - ldr r2, [r0] - ldr r1, [sp, 0x1C] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 1 - add r0, r9 - ldr r1, =0x00000d64 - adds r2, r1 - adds r2, r0 - ldrh r0, [r2] - b _081934B0 - .pool -_08193490: - ldr r0, =gSaveBlock2Ptr - ldr r2, [r0] - ldr r1, [sp, 0x1C] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 1 - add r0, r9 - ldr r1, =0x00000d64 - adds r2, r1 - adds r2, r0 - ldrh r1, [r2] - ldr r0, =gFacilityTrainerMons - ldr r0, [r0] - lsls r1, 4 - adds r1, r0 - ldrh r0, [r1] -_081934B0: - ldr r1, =gUnknown_0860D3A8 - adds r1, r5, r1 - ldrb r2, [r1] - ldr r3, [sp, 0x40] - orrs r2, r3 - ldr r1, =gUnknown_0860D3AB - adds r1, r5, r1 - ldrb r3, [r1] - ldr r1, [sp, 0x44] - adds r3, r1 - mov r1, r8 - str r1, [sp] - str r1, [sp, 0x4] - mov r1, r10 - str r1, [sp, 0x8] - ldr r1, =sub_8190938 - bl CreateMonIcon - ldr r1, [r6] - adds r1, r4 - strb r0, [r1] - ldr r0, [r6] - adds r0, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - ldrb r1, [r0, 0x5] - movs r3, 0xD - negs r3, r3 - adds r2, r3, 0 - ands r1, r2 - strb r1, [r0, 0x5] - movs r0, 0x1E - ldr r1, [sp, 0x34] - ands r0, r1 - cmp r0, 0 - beq _08193516 - ldr r0, [r6] - adds r0, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] -_08193516: - ldr r0, [sp, 0x2C] - cmp r0, 0 - beq _08193548 - ldr r0, [r6] - adds r0, r4 - ldrb r0, [r0] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r7 - ldrb r2, [r1, 0x5] - movs r0, 0xF - ands r0, r2 - movs r2, 0x30 - orrs r0, r2 - strb r0, [r1, 0x5] - ldr r0, [r6] - adds r0, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - mov r2, r10 - strh r2, [r0, 0x34] -_08193548: - adds r4, 0x1 - movs r3, 0x2 - add r9, r3 - adds r5, 0x1 - cmp r5, 0x2 - bgt _08193556 - b _0819342C -_08193556: - movs r5, 0 - ldr r6, =gUnknown_0203CD78 - ldr r7, =gSprites - mov r8, r7 - ldr r4, [sp, 0x5C] - mov r9, r5 - movs r7, 0 -_08193564: - ldr r0, [sp, 0x4C] - ldr r1, [r0, 0x4] - ldr r0, =0x000003ff - cmp r1, r0 - bne _081935AC - ldr r0, =gSaveBlock2Ptr - ldr r2, [r0] - ldr r3, [sp, 0x48] - ldr r1, [r3, 0x4] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 1 - add r0, r9 - ldr r1, =0x00000d64 - adds r2, r1 - adds r2, r0 - ldrh r0, [r2] - b _081935FA - .pool -_081935AC: - ldr r0, =0x000003fe - cmp r1, r0 - bne _081935D8 - ldr r0, =gSaveBlock2Ptr - ldr r2, [r0] - ldr r0, [sp, 0x48] - ldr r1, [r0, 0x4] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 1 - add r0, r9 - ldr r1, =0x00000d64 - adds r2, r1 - adds r2, r0 - ldrh r0, [r2] - b _081935FA - .pool -_081935D8: - ldr r0, =gSaveBlock2Ptr - ldr r2, [r0] - ldr r0, [sp, 0x48] - ldr r1, [r0, 0x4] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 1 - add r0, r9 - ldr r1, =0x00000d64 - adds r2, r1 - adds r2, r0 - ldrh r1, [r2] - ldr r0, =gFacilityTrainerMons - ldr r0, [r0] - lsls r1, 4 - adds r1, r0 - ldrh r0, [r1] -_081935FA: - ldr r1, =gUnknown_0860D3AE - adds r1, r5, r1 - ldrb r2, [r1] - ldr r3, [sp, 0x40] - orrs r2, r3 - ldr r1, =gUnknown_0860D3B1 - adds r1, r5, r1 - ldrb r3, [r1] - ldr r1, [sp, 0x44] - adds r3, r1 - str r7, [sp] - str r7, [sp, 0x4] - movs r1, 0x1 - str r1, [sp, 0x8] - ldr r1, =sub_8190938 - bl CreateMonIcon - ldr r1, [r6] - adds r1, r4 - strb r0, [r1] - ldr r0, [r6] - adds r0, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - add r0, r8 - ldrb r1, [r0, 0x5] - movs r3, 0xD - negs r3, r3 - adds r2, r3, 0 - ands r1, r2 - strb r1, [r0, 0x5] - movs r0, 0x1E - ldr r1, [sp, 0x34] - ands r0, r1 - cmp r0, 0 - beq _0819365E - ldr r0, [r6] - adds r0, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - add r0, r8 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] -_0819365E: - ldr r2, [sp, 0x50] - ldr r0, [r2, 0x4] - cmp r0, 0 - beq _08193692 - ldr r0, [r6] - adds r0, r4 - ldrb r0, [r0] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - add r1, r8 - ldrb r2, [r1, 0x5] - movs r0, 0xF - ands r0, r2 - movs r2, 0x30 - orrs r0, r2 - strb r0, [r1, 0x5] - ldr r0, [r6] - adds r0, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - add r0, r8 - movs r1, 0x1 - strh r1, [r0, 0x34] -_08193692: - adds r4, 0x1 - movs r3, 0x2 - add r9, r3 - adds r5, 0x1 - cmp r5, 0x2 - bgt _081936A0 - b _08193564 -_081936A0: - add r0, sp, 0xC - movs r5, 0 - strb r5, [r0, 0x6] - adds r1, r0, 0 - movs r0, 0x2 - strb r0, [r1, 0x7] - adds r0, r1, 0 - ldrb r0, [r0, 0x6] - strb r0, [r1, 0x8] - adds r0, r1, 0 - ldrb r0, [r0, 0x7] - strb r0, [r1, 0x9] - adds r0, r1, 0 - strb r5, [r0, 0xA] - strb r5, [r0, 0xB] - adds r3, r0, 0 - ldrb r2, [r3, 0xC] - movs r1, 0x10 - negs r1, r1 - adds r0, r1, 0 - ands r0, r2 - strb r0, [r3, 0xC] - adds r2, r3, 0 - movs r0, 0xE0 - strb r0, [r2, 0xC] - ldrb r0, [r2, 0xD] - ands r1, r0 - strb r1, [r2, 0xD] - adds r1, r2, 0 - movs r0, 0xD0 - strb r0, [r1, 0xD] - ldr r4, =gStringVar4 - ldr r0, =gBattleDomeWinStringsPointers - ldr r7, [sp, 0x70] - adds r0, r7, r0 - ldr r1, [r0] - adds r0, r4, 0 - bl StringExpandPlaceholders - str r4, [sp, 0xC] - add r0, sp, 0xC - add r1, sp, 0x6C - ldrb r1, [r1] - strb r1, [r0, 0x4] - adds r1, r0, 0 - movs r0, 0x1 - strb r0, [r1, 0x5] - ldr r4, [sp, 0x6C] - adds r0, r4, 0 - bl PutWindowTilemap - adds r0, r4, 0 - movs r1, 0x3 - bl CopyWindowToVram - add r0, sp, 0xC - strb r5, [r0, 0x8] - adds r1, r0, 0 - strb r5, [r0, 0x7] - strb r5, [r1, 0x9] - movs r1, 0 - movs r2, 0 - bl AddTextPrinter - ldr r1, [sp, 0x24] - ldr r0, =0x000003ff - cmp r1, r0 - bne _0819375C - ldr r0, =gStringVar1 - ldr r1, =gSaveBlock2Ptr - ldr r1, [r1] - bl StringCopy - b _0819377E - .pool -_0819375C: - ldr r0, =0x000003fe - cmp r1, r0 - bne _08193774 - ldr r0, =gStringVar1 - bl CopyDomeBrainTrainerName - b _0819377E - .pool -_08193774: - ldr r0, =gStringVar1 - lsls r1, 16 - lsrs r1, 16 - bl CopyDomeOpponentName -_0819377E: - add r0, sp, 0xC - movs r4, 0x2 - strb r4, [r0, 0x5] - strb r4, [r0, 0xA] - ldr r5, =gStringVar1 - str r5, [sp, 0xC] - add r2, sp, 0x64 - ldrb r2, [r2] - strb r2, [r0, 0x4] - ldrb r0, [r0, 0x5] - ldr r1, [sp, 0xC] - add r2, sp, 0xC - ldrb r3, [r2, 0xA] - movs r2, 0x40 - bl GetStringCenterAlignXOffsetWithLetterSpacing - add r1, sp, 0xC - strb r0, [r1, 0x8] - adds r0, r1, 0 - strb r4, [r0, 0x7] - strb r4, [r1, 0x9] - ldr r4, [sp, 0x64] - adds r0, r4, 0 - bl PutWindowTilemap - adds r0, r4, 0 - movs r1, 0x3 - bl CopyWindowToVram - add r0, sp, 0xC - movs r1, 0 - movs r2, 0 - bl AddTextPrinter - ldr r3, [sp, 0x4C] - ldr r1, [r3, 0x4] - ldr r0, =0x000003ff - cmp r1, r0 - bne _081937E4 - ldr r0, =gSaveBlock2Ptr - ldr r1, [r0] - adds r0, r5, 0 - bl StringCopy - b _08193802 - .pool -_081937E4: - ldr r0, =0x000003fe - cmp r1, r0 - bne _081937F8 - adds r0, r5, 0 - bl CopyDomeBrainTrainerName - b _08193802 - .pool -_081937F8: - lsls r1, 16 - lsrs r1, 16 - adds r0, r5, 0 - bl CopyDomeOpponentName -_08193802: - ldr r0, =gStringVar1 - str r0, [sp, 0xC] - add r0, sp, 0xC - movs r6, 0 - add r7, sp, 0x68 - ldrb r7, [r7] - strb r7, [r0, 0x4] - ldrb r0, [r0, 0x5] - ldr r1, [sp, 0xC] - add r2, sp, 0xC - ldrb r3, [r2, 0xA] - movs r2, 0x40 - bl GetStringCenterAlignXOffsetWithLetterSpacing - add r1, sp, 0xC - strb r0, [r1, 0x8] - adds r0, r1, 0 - movs r5, 0x2 - strb r5, [r0, 0x7] - strb r5, [r1, 0x9] - ldr r4, [sp, 0x68] - adds r0, r4, 0 - bl PutWindowTilemap - adds r0, r4, 0 - movs r1, 0x3 - bl CopyWindowToVram - add r0, sp, 0xC - movs r1, 0 - movs r2, 0 - bl AddTextPrinter - add r0, sp, 0xC - strb r6, [r0, 0xA] - ldr r0, =gBattleDomeMatchNumberPointers - ldr r1, [sp, 0x58] - adds r0, r1, r0 - ldr r0, [r0] - str r0, [sp, 0xC] - add r0, sp, 0xC - add r2, sp, 0x60 - ldrb r2, [r2] - strb r2, [r0, 0x4] - ldrb r0, [r0, 0x5] - ldr r1, [sp, 0xC] - add r2, sp, 0xC - ldrb r3, [r2, 0xA] - movs r2, 0xA0 - bl GetStringCenterAlignXOffsetWithLetterSpacing - add r1, sp, 0xC - strb r0, [r1, 0x8] - adds r0, r1, 0 - strb r5, [r0, 0x7] - strb r5, [r1, 0x9] - ldr r4, [sp, 0x60] - adds r0, r4, 0 - bl PutWindowTilemap - adds r0, r4, 0 - movs r1, 0x3 - bl CopyWindowToVram - add r0, sp, 0xC - movs r1, 0 - movs r2, 0 - bl AddTextPrinter - add sp, 0x80 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_819314C - thumb_func_start sub_81938A4 sub_81938A4: @ 81938A4 push {lr} diff --git a/asm/battle_frontier_2.s b/asm/battle_frontier_2.s index ad79758755..7d17f5c6c8 100644 --- a/asm/battle_frontier_2.s +++ b/asm/battle_frontier_2.s @@ -20049,7 +20049,7 @@ sub_81A4E04: @ 81A4E04 bl sub_81953A0 lsls r0, 16 lsrs r0, 16 - bl sub_818FC78 + bl GetTrainerMonCountInBits adds r4, r0, 0 b _081A4E46 .pool diff --git a/src/battle_frontier_1.c b/src/battle_frontier_1.c index 0c718ed742..ccead08454 100644 --- a/src/battle_frontier_1.c +++ b/src/battle_frontier_1.c @@ -105,9 +105,15 @@ extern const u8 gUnknown_0860C988[31][16]; extern const u8 gUnknown_0860D3F1[][2]; extern const u8 gUnknown_0860D3C4[][3]; extern const u8 gUnknown_0860D3B4[]; +extern const u8 gUnknown_0860D3A8[]; +extern const u8 gUnknown_0860D3AB[]; +extern const u8 gUnknown_0860D3AE[]; +extern const u8 gUnknown_0860D3B1[]; extern const u8 *const gBattleDomePotentialPointers[]; extern const u8 *const gBattleDomeOpponentStylePointers[]; extern const u8 *const gBattleDomeOpponentStatsPointers[]; +extern const u8 *const gBattleDomeWinStringsPointers[]; +extern const u8 *const gBattleDomeMatchNumberPointers[]; // gfx extern const u8 gUnknown_08D83D50[]; @@ -127,7 +133,7 @@ void SwapDomeTrainers(s32 id1, s32 id2, u16 *statsArray); void CalcDomeMonStats(u16 species, s32 level, s32 ivs, u8 evBits, u8 nature, s32 *stats); void CreateDomeTrainerMons(u16 tournamentTrainerId); u16 TrainerIdToTournamentId(u16 trainerId); -s32 sub_818FC78(u16 tournamentTrainerId); +s32 GetTrainerMonCountInBits(u16 tournamentTrainerId); s32 sub_818FCBC(u16 tournamentTrainerId, bool8 arg1); s32 sub_818FDB8(u16 tournamentTrainerId, bool8 arg1); s32 sub_818FFC0(s32 move, s32 species, s32 arg2); @@ -138,7 +144,7 @@ void sub_8190CD4(u8 taskId); void sub_8194220(u8 taskId); void sub_8194B54(void); void sub_8194B70(void); -void sub_819314C(u8, u8); +static void DrawMatchInfoOnCard(u8 flags, u8 matchNo); static void DisplayTrainerInfoOnCard(u8 flags, u8 trainerTournamentId); u8 sub_819221C(u8 taskId); s32 sub_8192F08(u8, u8*); @@ -979,7 +985,7 @@ void CreateDomeTrainerMons(u16 tournamentTrainerId) s32 i, bits; ZeroEnemyPartyMons(); - bits = sub_818FC78(tournamentTrainerId); + bits = GetTrainerMonCountInBits(tournamentTrainerId); otId = Random32(); if (Random() % 10 > 5) { @@ -1007,7 +1013,7 @@ void CreateDomeTrainerMons(u16 tournamentTrainerId) } } -s32 sub_818FC78(u16 tournamentTrainerId) +s32 GetTrainerMonCountInBits(u16 tournamentTrainerId) { s32 bits; if (Random() & 1) @@ -1695,7 +1701,7 @@ void sub_8190400(u8 taskId) gTasks[i].data[4] = r7; if (r9 == 2) { - sub_819314C(0, r5); + DrawMatchInfoOnCard(0, r5); gUnknown_0203CD78->unk_10 = 1; } else @@ -1730,7 +1736,11 @@ void sub_8190400(u8 taskId) } } -void sub_8190790(struct Sprite *sprite) +// Note: Card scrolling up means the current card goes down and another one appears from top. +// The same is true for scrolling left. +// That means that the sprite needs to move with the moving card in the opposite scrolling direction. + +static void SpriteCb_TrainerIconCardScrollUp(struct Sprite *sprite) { sprite->pos1.y += 4; if (sprite->data[0] != 0) @@ -1750,7 +1760,7 @@ void sub_8190790(struct Sprite *sprite) } } -void sub_81907F8(struct Sprite *sprite) +static void SpriteCb_TrainerIconCardScrollDown(struct Sprite *sprite) { sprite->pos1.y -= 4; if (sprite->data[0] != 0) @@ -1770,7 +1780,7 @@ void sub_81907F8(struct Sprite *sprite) } } -void sub_8190860(struct Sprite *sprite) +static void SpriteCb_TrainerIconCardScrollLeft(struct Sprite *sprite) { sprite->pos1.x += 4; if (sprite->data[0] != 0) @@ -1790,7 +1800,7 @@ void sub_8190860(struct Sprite *sprite) } } -void sub_81908CC(struct Sprite *sprite) +static void SpriteCb_TrainerIconCardScrollRight(struct Sprite *sprite) { sprite->pos1.x -= 4; if (sprite->data[0] != 0) @@ -1810,15 +1820,17 @@ void sub_81908CC(struct Sprite *sprite) } } -void sub_8190938(struct Sprite *sprite) +#define sMonIconStill data[3] + +static void SpriteCb_MonIcon(struct Sprite *sprite) { - if (!sprite->data[3]) + if (!sprite->sMonIconStill) UpdateMonIconFrame(sprite); } -void sub_8190950(struct Sprite *sprite) +static void SpriteCb_MonIconCardScrollUp(struct Sprite *sprite) { - if (!sprite->data[3]) + if (!sprite->sMonIconStill) UpdateMonIconFrame(sprite); sprite->pos1.y += 4; if (sprite->data[0] != 0) @@ -1826,7 +1838,7 @@ void sub_8190950(struct Sprite *sprite) if (sprite->pos1.y >= -16) sprite->invisible = 0; if (++sprite->data[1] == 40) - sprite->callback = sub_8190938; + sprite->callback = SpriteCb_MonIcon; } else { @@ -1838,9 +1850,9 @@ void sub_8190950(struct Sprite *sprite) } } -void sub_81909CC(struct Sprite *sprite) +static void SpriteCb_MonIconCardScrollDown(struct Sprite *sprite) { - if (!sprite->data[3]) + if (!sprite->sMonIconStill) UpdateMonIconFrame(sprite); sprite->pos1.y -= 4; if (sprite->data[0] != 0) @@ -1848,7 +1860,7 @@ void sub_81909CC(struct Sprite *sprite) if (sprite->pos1.y <= 176) sprite->invisible = 0; if (++sprite->data[1] == 40) - sprite->callback = sub_8190938; + sprite->callback = SpriteCb_MonIcon; } else { @@ -1860,9 +1872,9 @@ void sub_81909CC(struct Sprite *sprite) } } -void sub_8190A48(struct Sprite *sprite) +static void SpriteCb_MonIconCardScrollLeft(struct Sprite *sprite) { - if (!sprite->data[3]) + if (!sprite->sMonIconStill) UpdateMonIconFrame(sprite); sprite->pos1.x += 4; if (sprite->data[0] != 0) @@ -1870,7 +1882,7 @@ void sub_8190A48(struct Sprite *sprite) if (sprite->pos1.x >= -16) sprite->invisible = 0; if (++sprite->data[1] == 64) - sprite->callback = sub_8190938; + sprite->callback = SpriteCb_MonIcon; } else { @@ -1882,9 +1894,9 @@ void sub_8190A48(struct Sprite *sprite) } } -void sub_8190AC4(struct Sprite *sprite) +static void SpriteCb_MonIconCardScrollRight(struct Sprite *sprite) { - if (!sprite->data[3]) + if (!sprite->sMonIconStill) UpdateMonIconFrame(sprite); sprite->pos1.x -= 4; if (sprite->data[0] != 0) @@ -1892,7 +1904,7 @@ void sub_8190AC4(struct Sprite *sprite) if (sprite->pos1.x <= 256) sprite->invisible = 0; if (++sprite->data[1] == 64) - sprite->callback = sub_8190938; + sprite->callback = SpriteCb_MonIcon; } else { @@ -2006,10 +2018,11 @@ void sub_8190C6C(struct Sprite *sprite) void sub_8190CD4(u8 taskId) { s32 i; - s32 var; + s32 windowId = 0; s32 r9 = gTasks[taskId].data[3]; s32 taskId2 = gTasks[taskId].data[4]; - s32 trainerTournamentId, arg2; + s32 trainerTournamentId = 0; + s32 matchNo = 0; switch (gTasks[taskId].data[0]) { @@ -2035,11 +2048,11 @@ void sub_8190CD4(u8 taskId) case 1 ... 8: gTasks[taskId].data[5] = i; if (gTasks[taskId].data[2] != 0) - var = 9; + windowId = 9; else - var = 0; + windowId = 0; - for (i = var; i < var + 9; i++) + for (i = windowId; i < windowId + 9; i++) { CopyWindowToVram(i, 2); FillWindowPixelBuffer(i, 0); @@ -2093,8 +2106,8 @@ void sub_8190CD4(u8 taskId) { if (gUnknown_0203CD78->unk_10 == 0) { - arg2 = gTasks[taskId2].data[1] - 16; - sub_8192F08(arg2, gUnknown_0203CD78->unk_11); + matchNo = gTasks[taskId2].data[1] - 16; + sub_8192F08(matchNo, gUnknown_0203CD78->unk_11); gBattle_BG2_X = 0; gBattle_BG2_Y = 320; trainerTournamentId = gUnknown_0203CD78->unk_11[0]; @@ -2102,8 +2115,8 @@ void sub_8190CD4(u8 taskId) } else if (gUnknown_0203CD78->unk_10 == 2) { - arg2 = gTasks[taskId2].data[1] - 16; - sub_8192F08(arg2, gUnknown_0203CD78->unk_11); + matchNo = gTasks[taskId2].data[1] - 16; + sub_8192F08(matchNo, gUnknown_0203CD78->unk_11); gBattle_BG2_X = 0; gBattle_BG2_Y = 320; trainerTournamentId = gUnknown_0203CD78->unk_11[1]; @@ -2113,8 +2126,8 @@ void sub_8190CD4(u8 taskId) { gBattle_BG2_X = 256; gBattle_BG2_Y = 160; - arg2 = gTasks[taskId2].data[1] - 16; - sub_819314C(gTasks[taskId].data[2] | 0x10, arg2); + matchNo = gTasks[taskId2].data[1] - 16; + DrawMatchInfoOnCard(gTasks[taskId].data[2] | 0x10, matchNo); } } @@ -2124,7 +2137,7 @@ void sub_8190CD4(u8 taskId) { if (gUnknown_0203CD78->arr[i] != 0xFF) { - gSprites[gUnknown_0203CD78->arr[i]].callback = sub_8190790; + gSprites[gUnknown_0203CD78->arr[i]].callback = SpriteCb_TrainerIconCardScrollUp; gSprites[gUnknown_0203CD78->arr[i]].data[0] = gTasks[taskId].data[2] ^ 1; gSprites[gUnknown_0203CD78->arr[i]].data[1] = 0; gSprites[gUnknown_0203CD78->arr[i]].data[2] = i; @@ -2135,7 +2148,7 @@ void sub_8190CD4(u8 taskId) { if (gUnknown_0203CD78->arr[i] != 0xFF) { - gSprites[gUnknown_0203CD78->arr[i]].callback = sub_8190950; + gSprites[gUnknown_0203CD78->arr[i]].callback = SpriteCb_MonIconCardScrollUp; gSprites[gUnknown_0203CD78->arr[i]].data[0] = gTasks[taskId].data[2] ^ 1; gSprites[gUnknown_0203CD78->arr[i]].data[1] = 0; gSprites[gUnknown_0203CD78->arr[i]].data[2] = i; @@ -2148,7 +2161,7 @@ void sub_8190CD4(u8 taskId) { if (gUnknown_0203CD78->arr[i] != 0xFF) { - gSprites[gUnknown_0203CD78->arr[i]].callback = sub_8190790; + gSprites[gUnknown_0203CD78->arr[i]].callback = SpriteCb_TrainerIconCardScrollUp; gSprites[gUnknown_0203CD78->arr[i]].data[0] = gTasks[taskId].data[2]; gSprites[gUnknown_0203CD78->arr[i]].data[1] = 0; gSprites[gUnknown_0203CD78->arr[i]].data[2] = i; @@ -2159,7 +2172,7 @@ void sub_8190CD4(u8 taskId) { if (gUnknown_0203CD78->arr[i] != 0xFF) { - gSprites[gUnknown_0203CD78->arr[i]].callback = sub_8190950; + gSprites[gUnknown_0203CD78->arr[i]].callback = SpriteCb_MonIconCardScrollUp; gSprites[gUnknown_0203CD78->arr[i]].data[0] = gTasks[taskId].data[2]; gSprites[gUnknown_0203CD78->arr[i]].data[1] = 0; gSprites[gUnknown_0203CD78->arr[i]].data[2] = i; @@ -2209,8 +2222,8 @@ void sub_8190CD4(u8 taskId) { if (gUnknown_0203CD78->unk_10 == 0) { - arg2 = gTasks[taskId2].data[1] - 16; - sub_8192F08(arg2, gUnknown_0203CD78->unk_11); + matchNo = gTasks[taskId2].data[1] - 16; + sub_8192F08(matchNo, gUnknown_0203CD78->unk_11); gBattle_BG2_X = 0; gBattle_BG2_Y = 160; trainerTournamentId = gUnknown_0203CD78->unk_11[0]; @@ -2218,8 +2231,8 @@ void sub_8190CD4(u8 taskId) } else if (gUnknown_0203CD78->unk_10 == 2) { - arg2 = gTasks[taskId2].data[1] - 16; - sub_8192F08(arg2, gUnknown_0203CD78->unk_11); + matchNo = gTasks[taskId2].data[1] - 16; + sub_8192F08(matchNo, gUnknown_0203CD78->unk_11); gBattle_BG2_X = 0; gBattle_BG2_Y = 160; trainerTournamentId = gUnknown_0203CD78->unk_11[1]; @@ -2229,8 +2242,8 @@ void sub_8190CD4(u8 taskId) { gBattle_BG2_X = 256; gBattle_BG2_Y = 0; - arg2 = gTasks[taskId2].data[1] - 16; - sub_819314C(gTasks[taskId].data[2] | 4, arg2); + matchNo = gTasks[taskId2].data[1] - 16; + DrawMatchInfoOnCard(gTasks[taskId].data[2] | 4, matchNo); } } @@ -2240,7 +2253,7 @@ void sub_8190CD4(u8 taskId) { if (gUnknown_0203CD78->arr[i] != 0xFF) { - gSprites[gUnknown_0203CD78->arr[i]].callback = sub_81907F8; + gSprites[gUnknown_0203CD78->arr[i]].callback = SpriteCb_TrainerIconCardScrollDown; gSprites[gUnknown_0203CD78->arr[i]].data[0] = gTasks[taskId].data[2] ^ 1; gSprites[gUnknown_0203CD78->arr[i]].data[1] = 0; gSprites[gUnknown_0203CD78->arr[i]].data[2] = i; @@ -2251,7 +2264,7 @@ void sub_8190CD4(u8 taskId) { if (gUnknown_0203CD78->arr[i] != 0xFF) { - gSprites[gUnknown_0203CD78->arr[i]].callback = sub_81909CC; + gSprites[gUnknown_0203CD78->arr[i]].callback = SpriteCb_MonIconCardScrollDown; gSprites[gUnknown_0203CD78->arr[i]].data[0] = gTasks[taskId].data[2] ^ 1; gSprites[gUnknown_0203CD78->arr[i]].data[1] = 0; gSprites[gUnknown_0203CD78->arr[i]].data[2] = i; @@ -2264,7 +2277,7 @@ void sub_8190CD4(u8 taskId) { if (gUnknown_0203CD78->arr[i] != 0xFF) { - gSprites[gUnknown_0203CD78->arr[i]].callback = sub_81907F8; + gSprites[gUnknown_0203CD78->arr[i]].callback = SpriteCb_TrainerIconCardScrollDown; gSprites[gUnknown_0203CD78->arr[i]].data[0] = gTasks[taskId].data[2]; gSprites[gUnknown_0203CD78->arr[i]].data[1] = 0; gSprites[gUnknown_0203CD78->arr[i]].data[2] = i; @@ -2275,7 +2288,7 @@ void sub_8190CD4(u8 taskId) { if (gUnknown_0203CD78->arr[i] != 0xFF) { - gSprites[gUnknown_0203CD78->arr[i]].callback = sub_81909CC; + gSprites[gUnknown_0203CD78->arr[i]].callback = SpriteCb_MonIconCardScrollDown; gSprites[gUnknown_0203CD78->arr[i]].data[0] = gTasks[taskId].data[2]; gSprites[gUnknown_0203CD78->arr[i]].data[1] = 0; gSprites[gUnknown_0203CD78->arr[i]].data[2] = i; @@ -2313,8 +2326,8 @@ void sub_8190CD4(u8 taskId) { gBattle_BG2_X = 256; gBattle_BG2_Y = 0; - trainerTournamentId = gUnknown_0860D15C[(gTasks[taskId2].data[1] * 4) + (gUnknown_0203CD78->unk_10 - 1)]; - sub_819314C(gTasks[taskId].data[2] | 8, trainerTournamentId); + matchNo = gUnknown_0860D15C[(gTasks[taskId2].data[1] * 4) + (gUnknown_0203CD78->unk_10 - 1)]; + DrawMatchInfoOnCard(gTasks[taskId].data[2] | 8, matchNo); } for (i = 0; i < DOME_TOURNAMENT_TRAINERS_COUNT / 2; i++) @@ -2323,7 +2336,7 @@ void sub_8190CD4(u8 taskId) { if (gUnknown_0203CD78->arr[i] != 0xFF) { - gSprites[gUnknown_0203CD78->arr[i]].callback = sub_8190860; + gSprites[gUnknown_0203CD78->arr[i]].callback = SpriteCb_TrainerIconCardScrollLeft; gSprites[gUnknown_0203CD78->arr[i]].data[0] = gTasks[taskId].data[2] ^ 1; gSprites[gUnknown_0203CD78->arr[i]].data[1] = 0; gSprites[gUnknown_0203CD78->arr[i]].data[2] = i; @@ -2334,7 +2347,7 @@ void sub_8190CD4(u8 taskId) { if (gUnknown_0203CD78->arr[i] != 0xFF) { - gSprites[gUnknown_0203CD78->arr[i]].callback = sub_8190A48; + gSprites[gUnknown_0203CD78->arr[i]].callback = SpriteCb_MonIconCardScrollLeft; gSprites[gUnknown_0203CD78->arr[i]].data[0] = gTasks[taskId].data[2] ^ 1; gSprites[gUnknown_0203CD78->arr[i]].data[1] = 0; gSprites[gUnknown_0203CD78->arr[i]].data[2] = i; @@ -2347,7 +2360,7 @@ void sub_8190CD4(u8 taskId) { if (gUnknown_0203CD78->arr[i] != 0xFF) { - gSprites[gUnknown_0203CD78->arr[i]].callback = sub_8190860; + gSprites[gUnknown_0203CD78->arr[i]].callback = SpriteCb_TrainerIconCardScrollLeft; gSprites[gUnknown_0203CD78->arr[i]].data[0] = gTasks[taskId].data[2]; gSprites[gUnknown_0203CD78->arr[i]].data[1] = 0; gSprites[gUnknown_0203CD78->arr[i]].data[2] = i; @@ -2358,7 +2371,7 @@ void sub_8190CD4(u8 taskId) { if (gUnknown_0203CD78->arr[i] != 0xFF) { - gSprites[gUnknown_0203CD78->arr[i]].callback = sub_8190A48; + gSprites[gUnknown_0203CD78->arr[i]].callback = SpriteCb_MonIconCardScrollLeft; gSprites[gUnknown_0203CD78->arr[i]].data[0] = gTasks[taskId].data[2]; gSprites[gUnknown_0203CD78->arr[i]].data[1] = 0; gSprites[gUnknown_0203CD78->arr[i]].data[2] = i; @@ -2396,8 +2409,8 @@ void sub_8190CD4(u8 taskId) { gBattle_BG2_X = 0; gBattle_BG2_Y = 160; - arg2 = gTasks[taskId2].data[1] - 16; - sub_819314C(gTasks[taskId].data[2] | 8, arg2); + matchNo = gTasks[taskId2].data[1] - 16; + DrawMatchInfoOnCard(gTasks[taskId].data[2] | 8, matchNo); } for (i = 0; i < DOME_TOURNAMENT_TRAINERS_COUNT / 2; i++) @@ -2406,7 +2419,7 @@ void sub_8190CD4(u8 taskId) { if (gUnknown_0203CD78->arr[i] != 0xFF) { - gSprites[gUnknown_0203CD78->arr[i]].callback = sub_8190860; + gSprites[gUnknown_0203CD78->arr[i]].callback = SpriteCb_TrainerIconCardScrollLeft; gSprites[gUnknown_0203CD78->arr[i]].data[0] = gTasks[taskId].data[2] ^ 1; gSprites[gUnknown_0203CD78->arr[i]].data[1] = 0; gSprites[gUnknown_0203CD78->arr[i]].data[2] = i; @@ -2417,7 +2430,7 @@ void sub_8190CD4(u8 taskId) { if (gUnknown_0203CD78->arr[i] != 0xFF) { - gSprites[gUnknown_0203CD78->arr[i]].callback = sub_8190A48; + gSprites[gUnknown_0203CD78->arr[i]].callback = SpriteCb_MonIconCardScrollLeft; gSprites[gUnknown_0203CD78->arr[i]].data[0] = gTasks[taskId].data[2] ^ 1; gSprites[gUnknown_0203CD78->arr[i]].data[1] = 0; gSprites[gUnknown_0203CD78->arr[i]].data[2] = i; @@ -2430,7 +2443,7 @@ void sub_8190CD4(u8 taskId) { if (gUnknown_0203CD78->arr[i] != 0xFF) { - gSprites[gUnknown_0203CD78->arr[i]].callback = sub_8190860; + gSprites[gUnknown_0203CD78->arr[i]].callback = SpriteCb_TrainerIconCardScrollLeft; gSprites[gUnknown_0203CD78->arr[i]].data[0] = gTasks[taskId].data[2]; gSprites[gUnknown_0203CD78->arr[i]].data[1] = 0; gSprites[gUnknown_0203CD78->arr[i]].data[2] = i; @@ -2441,7 +2454,7 @@ void sub_8190CD4(u8 taskId) { if (gUnknown_0203CD78->arr[i] != 0xFF) { - gSprites[gUnknown_0203CD78->arr[i]].callback = sub_8190A48; + gSprites[gUnknown_0203CD78->arr[i]].callback = SpriteCb_MonIconCardScrollLeft; gSprites[gUnknown_0203CD78->arr[i]].data[0] = gTasks[taskId].data[2]; gSprites[gUnknown_0203CD78->arr[i]].data[1] = 0; gSprites[gUnknown_0203CD78->arr[i]].data[2] = i; @@ -2478,8 +2491,8 @@ void sub_8190CD4(u8 taskId) gBattle_BG2_X = 0; gBattle_BG2_Y = 0; } - trainerTournamentId = gUnknown_0860D15C[(gUnknown_0203CD78->unk_10 - 1) + (gTasks[taskId2].data[1] * 4)]; - sub_819314C(gTasks[taskId].data[2] | 2, trainerTournamentId); + matchNo = gUnknown_0860D15C[(gUnknown_0203CD78->unk_10 - 1) + (gTasks[taskId2].data[1] * 4)]; + DrawMatchInfoOnCard(gTasks[taskId].data[2] | 2, matchNo); for (i = 0; i < DOME_TOURNAMENT_TRAINERS_COUNT / 2; i++) { @@ -2487,7 +2500,7 @@ void sub_8190CD4(u8 taskId) { if (gUnknown_0203CD78->arr[i] != 0xFF) { - gSprites[gUnknown_0203CD78->arr[i]].callback = sub_81908CC; + gSprites[gUnknown_0203CD78->arr[i]].callback = SpriteCb_TrainerIconCardScrollRight; gSprites[gUnknown_0203CD78->arr[i]].data[0] = gTasks[taskId].data[2] ^ 1; gSprites[gUnknown_0203CD78->arr[i]].data[1] = 0; gSprites[gUnknown_0203CD78->arr[i]].data[2] = i; @@ -2498,7 +2511,7 @@ void sub_8190CD4(u8 taskId) { if (gUnknown_0203CD78->arr[i] != 0xFF) { - gSprites[gUnknown_0203CD78->arr[i]].callback = sub_8190AC4; + gSprites[gUnknown_0203CD78->arr[i]].callback = SpriteCb_MonIconCardScrollRight; gSprites[gUnknown_0203CD78->arr[i]].data[0] = gTasks[taskId].data[2] ^ 1; gSprites[gUnknown_0203CD78->arr[i]].data[1] = 0; gSprites[gUnknown_0203CD78->arr[i]].data[2] = i; @@ -2511,7 +2524,7 @@ void sub_8190CD4(u8 taskId) { if (gUnknown_0203CD78->arr[i] != 0xFF) { - gSprites[gUnknown_0203CD78->arr[i]].callback = sub_81908CC; + gSprites[gUnknown_0203CD78->arr[i]].callback = SpriteCb_TrainerIconCardScrollRight; gSprites[gUnknown_0203CD78->arr[i]].data[0] = gTasks[taskId].data[2]; gSprites[gUnknown_0203CD78->arr[i]].data[1] = 0; gSprites[gUnknown_0203CD78->arr[i]].data[2] = i; @@ -2522,7 +2535,7 @@ void sub_8190CD4(u8 taskId) { if (gUnknown_0203CD78->arr[i] != 0xFF) { - gSprites[gUnknown_0203CD78->arr[i]].callback = sub_8190AC4; + gSprites[gUnknown_0203CD78->arr[i]].callback = SpriteCb_MonIconCardScrollRight; gSprites[gUnknown_0203CD78->arr[i]].data[0] = gTasks[taskId].data[2]; gSprites[gUnknown_0203CD78->arr[i]].data[1] = 0; gSprites[gUnknown_0203CD78->arr[i]].data[2] = i; @@ -2560,8 +2573,8 @@ void sub_8190CD4(u8 taskId) { gBattle_BG2_X = 0; gBattle_BG2_Y = 160; - arg2 = gTasks[taskId2].data[1] - 16; - sub_819314C(gTasks[taskId].data[2] | 2, arg2); + matchNo = gTasks[taskId2].data[1] - 16; + DrawMatchInfoOnCard(gTasks[taskId].data[2] | 2, matchNo); } for (i = 0; i < DOME_TOURNAMENT_TRAINERS_COUNT / 2; i++) @@ -2570,7 +2583,7 @@ void sub_8190CD4(u8 taskId) { if (gUnknown_0203CD78->arr[i] != 0xFF) { - gSprites[gUnknown_0203CD78->arr[i]].callback = sub_81908CC; + gSprites[gUnknown_0203CD78->arr[i]].callback = SpriteCb_TrainerIconCardScrollRight; gSprites[gUnknown_0203CD78->arr[i]].data[0] = gTasks[taskId].data[2] ^ 1; gSprites[gUnknown_0203CD78->arr[i]].data[1] = 0; gSprites[gUnknown_0203CD78->arr[i]].data[2] = i; @@ -2581,7 +2594,7 @@ void sub_8190CD4(u8 taskId) { if (gUnknown_0203CD78->arr[i] != 0xFF) { - gSprites[gUnknown_0203CD78->arr[i]].callback = sub_8190AC4; + gSprites[gUnknown_0203CD78->arr[i]].callback = SpriteCb_MonIconCardScrollRight; gSprites[gUnknown_0203CD78->arr[i]].data[0] = gTasks[taskId].data[2] ^ 1; gSprites[gUnknown_0203CD78->arr[i]].data[1] = 0; gSprites[gUnknown_0203CD78->arr[i]].data[2] = i; @@ -2594,7 +2607,7 @@ void sub_8190CD4(u8 taskId) { if (gUnknown_0203CD78->arr[i] != 0xFF) { - gSprites[gUnknown_0203CD78->arr[i]].callback = sub_81908CC; + gSprites[gUnknown_0203CD78->arr[i]].callback = SpriteCb_TrainerIconCardScrollRight; gSprites[gUnknown_0203CD78->arr[i]].data[0] = gTasks[taskId].data[2]; gSprites[gUnknown_0203CD78->arr[i]].data[1] = 0; gSprites[gUnknown_0203CD78->arr[i]].data[2] = i; @@ -2605,7 +2618,7 @@ void sub_8190CD4(u8 taskId) { if (gUnknown_0203CD78->arr[i] != 0xFF) { - gSprites[gUnknown_0203CD78->arr[i]].callback = sub_8190AC4; + gSprites[gUnknown_0203CD78->arr[i]].callback = SpriteCb_MonIconCardScrollRight; gSprites[gUnknown_0203CD78->arr[i]].data[0] = gTasks[taskId].data[2]; gSprites[gUnknown_0203CD78->arr[i]].data[1] = 0; gSprites[gUnknown_0203CD78->arr[i]].data[2] = i; @@ -2866,7 +2879,7 @@ static void DisplayTrainerInfoOnCard(u8 flags, u8 trainerTournamentId) if (trainerId == TRAINER_PLAYER) { gUnknown_0203CD78->arr[2 + i + arrId] = CreateMonIcon(gSaveBlock2Ptr->frontier.domeMonId[trainerTournamentId][i], - sub_8190938, + SpriteCb_MonIcon, x | gUnknown_0860D340[i], y + gUnknown_0860D343[i], 0, 0, TRUE); @@ -2875,7 +2888,7 @@ static void DisplayTrainerInfoOnCard(u8 flags, u8 trainerTournamentId) else if (trainerId == TRAINER_FRONTIER_BRAIN) { gUnknown_0203CD78->arr[2 + i + arrId] = CreateMonIcon(gSaveBlock2Ptr->frontier.domeMonId[trainerTournamentId][i], - sub_8190938, + SpriteCb_MonIcon, x | gUnknown_0860D340[i], y + gUnknown_0860D343[i], 0, 0, TRUE); @@ -2884,7 +2897,7 @@ static void DisplayTrainerInfoOnCard(u8 flags, u8 trainerTournamentId) else { gUnknown_0203CD78->arr[2 + i + arrId] = CreateMonIcon(gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonId[trainerTournamentId][i]].species, - sub_8190938, + SpriteCb_MonIcon, x | gUnknown_0860D340[i], y + gUnknown_0860D343[i], 0, 0, TRUE); @@ -3250,3 +3263,212 @@ s32 sub_8192F08(u8 arg0, u8 *arg1) else return retVal + 1; } + +static void DrawMatchInfoOnCard(u8 flags, u8 matchNo) +{ + struct TextSubPrinter textPrinter; + s32 tournamentIds[2]; + s32 trainerIds[2]; + bool32 lost[2]; + s32 i; + s32 winStringId = 0; + s32 arrId = 0; + s32 windowId = 0; + s32 x = 0, y = 0; + u8 palSlot = 0; + + if (flags & 1) + arrId = 8, windowId = 9, palSlot = 2; + if (flags & 2) + x = 256; + if (flags & 4) + y = 160; + if (flags & 8) + x = -256; + if (flags & 0x10) + y = -160; + + // Copy trainers information to handy arrays. + winStringId = sub_8192F08(matchNo, gUnknown_0203CD78->unk_11); + for (i = 0; i < 2; i++) + { + tournamentIds[i] = gUnknown_0203CD78->unk_11[i]; + trainerIds[i] = gSaveBlock2Ptr->frontier.domeTrainers[tournamentIds[i]].trainerId; + if (gSaveBlock2Ptr->frontier.domeTrainers[tournamentIds[i]].unk2 <= gUnknown_0860D3C4[matchNo][2] + && gSaveBlock2Ptr->frontier.domeTrainers[tournamentIds[i]].unk1) + lost[i] = TRUE; + else + lost[i] = FALSE; + } + + // Draw first trainer sprite. + if (trainerIds[0] == TRAINER_PLAYER) + gUnknown_0203CD78->arr[arrId] = CreateTrainerPicSprite(PlayerGenderToFrontTrainerPicId(gSaveBlock2Ptr->playerGender), TRUE, x + 48, y + 88, palSlot + 12, 0xFFFF); + else if (trainerIds[0] == TRAINER_FRONTIER_BRAIN) + gUnknown_0203CD78->arr[arrId] = CreateTrainerPicSprite(GetDomeBrainTrainerPicId(), TRUE, x + 48, y + 88, palSlot + 12, 0xFFFF); + else + gUnknown_0203CD78->arr[arrId] = CreateTrainerPicSprite(GetFrontierTrainerFrontSpriteId(trainerIds[0]), TRUE, x + 48, y + 88, palSlot + 12, 0xFFFF); + + if (flags & 0x1E) + gSprites[gUnknown_0203CD78->arr[arrId]].invisible = 1; + if (lost[0]) + gSprites[gUnknown_0203CD78->arr[arrId]].oam.paletteNum = 3; + + // Draw second trainer sprite. + if (trainerIds[1] == TRAINER_PLAYER) + gUnknown_0203CD78->arr[1 + arrId] = CreateTrainerPicSprite(PlayerGenderToFrontTrainerPicId(gSaveBlock2Ptr->playerGender), TRUE, x + 192, y + 88, palSlot + 13, 0xFFFF); + else if (trainerIds[1] == TRAINER_FRONTIER_BRAIN) + gUnknown_0203CD78->arr[1 + arrId] = CreateTrainerPicSprite(GetDomeBrainTrainerPicId(), TRUE, x + 192, y + 88, palSlot + 13, 0xFFFF); + else + gUnknown_0203CD78->arr[1 + arrId] = CreateTrainerPicSprite(GetFrontierTrainerFrontSpriteId(trainerIds[1]), TRUE, x + 192, y + 88, palSlot + 13, 0xFFFF); + + if (flags & 0x1E) + gSprites[gUnknown_0203CD78->arr[1 + arrId]].invisible = 1; + if (lost[1]) + gSprites[gUnknown_0203CD78->arr[1 + arrId]].oam.paletteNum = 3; + + // Draw first trainer's pokemon icons. + for (i = 0; i < 3; i++) + { + if (trainerIds[0] == TRAINER_PLAYER) + { + gUnknown_0203CD78->arr[2 + i + arrId] = CreateMonIcon(gSaveBlock2Ptr->frontier.domeMonId[tournamentIds[0]][i], + SpriteCb_MonIcon, + x | gUnknown_0860D3A8[i], + y + gUnknown_0860D3AB[i], + 0, 0, TRUE); + gSprites[gUnknown_0203CD78->arr[2 + i + arrId]].oam.priority = 0; + } + else if (trainerIds[0] == TRAINER_FRONTIER_BRAIN) + { + gUnknown_0203CD78->arr[2 + i + arrId] = CreateMonIcon(gSaveBlock2Ptr->frontier.domeMonId[tournamentIds[0]][i], + SpriteCb_MonIcon, + x | gUnknown_0860D3A8[i], + y + gUnknown_0860D3AB[i], + 0, 0, TRUE); + gSprites[gUnknown_0203CD78->arr[2 + i + arrId]].oam.priority = 0; + } + else + { + gUnknown_0203CD78->arr[2 + i + arrId] = CreateMonIcon(gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonId[tournamentIds[0]][i]].species, + SpriteCb_MonIcon, + x | gUnknown_0860D3A8[i], + y + gUnknown_0860D3AB[i], + 0, 0, TRUE); + gSprites[gUnknown_0203CD78->arr[2 + i + arrId]].oam.priority = 0; + } + + if (flags & 0x1E) + gSprites[gUnknown_0203CD78->arr[2 + i + arrId]].invisible = 1; + if (lost[0]) + { + gSprites[gUnknown_0203CD78->arr[2 + i + arrId]].oam.paletteNum = 3; + gSprites[gUnknown_0203CD78->arr[2 + i + arrId]].sMonIconStill = TRUE; + } + } + + // Draw second trainer's pokemon icons. + for (i = 0; i < 3; i++) + { + if (trainerIds[1] == TRAINER_PLAYER) + { + gUnknown_0203CD78->arr[5 + i + arrId] = CreateMonIcon(gSaveBlock2Ptr->frontier.domeMonId[tournamentIds[1]][i], + SpriteCb_MonIcon, + x | gUnknown_0860D3AE[i], + y + gUnknown_0860D3B1[i], + 0, 0, TRUE); + gSprites[gUnknown_0203CD78->arr[5 + i + arrId]].oam.priority = 0; + } + else if (trainerIds[1] == TRAINER_FRONTIER_BRAIN) + { + gUnknown_0203CD78->arr[5 + i + arrId] = CreateMonIcon(gSaveBlock2Ptr->frontier.domeMonId[tournamentIds[1]][i], + SpriteCb_MonIcon, + x | gUnknown_0860D3AE[i], + y + gUnknown_0860D3B1[i], + 0, 0, TRUE); + gSprites[gUnknown_0203CD78->arr[5 + i + arrId]].oam.priority = 0; + } + else + { + gUnknown_0203CD78->arr[5 + i + arrId] = CreateMonIcon(gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonId[tournamentIds[1]][i]].species, + SpriteCb_MonIcon, + x | gUnknown_0860D3AE[i], + y + gUnknown_0860D3B1[i], + 0, 0, TRUE); + gSprites[gUnknown_0203CD78->arr[5 + i + arrId]].oam.priority = 0; + } + + if (flags & 0x1E) + gSprites[gUnknown_0203CD78->arr[5 + i + arrId]].invisible = 1; + if (lost[1]) + { + gSprites[gUnknown_0203CD78->arr[5 + i + arrId]].oam.paletteNum = 3; + gSprites[gUnknown_0203CD78->arr[5 + i + arrId]].sMonIconStill = TRUE; + } + } + + // Print the win string (or 'Let the battle begin!' one). + textPrinter.x = 0; + textPrinter.y = 2; + textPrinter.currentX = textPrinter.x; + textPrinter.currentY = textPrinter.y; + textPrinter.letterSpacing = 0; + textPrinter.lineSpacing = 0; + textPrinter.fontColor_l = 0; + textPrinter.fgColor = 14; + textPrinter.bgColor = 0; + textPrinter.shadowColor = 13; + StringExpandPlaceholders(gStringVar4, gBattleDomeWinStringsPointers[winStringId]); + textPrinter.current_text_offset = gStringVar4; + textPrinter.windowId = windowId + 8; + textPrinter.fontId = 1; + PutWindowTilemap(windowId + 8); + CopyWindowToVram(windowId + 8, 3); + textPrinter.currentX = 0; + textPrinter.currentY = textPrinter.y = 0; + AddTextPrinter(&textPrinter, 0, NULL); + + // Print first trainer's name. + if (trainerIds[0] == TRAINER_PLAYER) + StringCopy(gStringVar1, gSaveBlock2Ptr->playerName); + else if (trainerIds[0] == TRAINER_FRONTIER_BRAIN) + CopyDomeBrainTrainerName(gStringVar1); + else + CopyDomeOpponentName(gStringVar1, trainerIds[0]); + + textPrinter.fontId = 2; + textPrinter.letterSpacing = 2; + textPrinter.current_text_offset = gStringVar1; + textPrinter.windowId = windowId + 6; + textPrinter.currentX = GetStringCenterAlignXOffsetWithLetterSpacing(textPrinter.fontId, textPrinter.current_text_offset, 0x40, textPrinter.letterSpacing); + textPrinter.currentY = textPrinter.y = 2; + PutWindowTilemap(windowId + 6); + CopyWindowToVram(windowId + 6, 3); + AddTextPrinter(&textPrinter, 0, NULL); + + // Print second trainer's name. + if (trainerIds[1] == TRAINER_PLAYER) + StringCopy(gStringVar1, gSaveBlock2Ptr->playerName); + else if (trainerIds[1] == TRAINER_FRONTIER_BRAIN) + CopyDomeBrainTrainerName(gStringVar1); + else + CopyDomeOpponentName(gStringVar1, trainerIds[1]); + + textPrinter.current_text_offset = gStringVar1; + textPrinter.windowId = windowId + 7; + textPrinter.currentX = GetStringCenterAlignXOffsetWithLetterSpacing(textPrinter.fontId, textPrinter.current_text_offset, 0x40, textPrinter.letterSpacing); + textPrinter.currentY = textPrinter.y = 2; + PutWindowTilemap(windowId + 7); + CopyWindowToVram(windowId + 7, 3); + AddTextPrinter(&textPrinter, 0, NULL); + + // Print match number. + textPrinter.letterSpacing = 0; + textPrinter.current_text_offset = gBattleDomeMatchNumberPointers[matchNo]; + textPrinter.windowId = windowId + 5; + textPrinter.currentX = GetStringCenterAlignXOffsetWithLetterSpacing(textPrinter.fontId, textPrinter.current_text_offset, 0xA0, textPrinter.letterSpacing); + textPrinter.currentY = textPrinter.y = 2; + PutWindowTilemap(windowId + 5); + CopyWindowToVram(windowId + 5, 3); + AddTextPrinter(&textPrinter, 0, NULL); +} From dea1de3fed1e47323dd148fa62225712fc0d52b2 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Tue, 21 Aug 2018 23:36:59 +0200 Subject: [PATCH 121/234] More battle dome --- asm/battle_frontier_1.s | 518 ---------------------------------------- src/battle_frontier_1.c | 186 ++++++++++++++- 2 files changed, 177 insertions(+), 527 deletions(-) diff --git a/asm/battle_frontier_1.s b/asm/battle_frontier_1.s index a68dbf3296..c6866ebf05 100644 --- a/asm/battle_frontier_1.s +++ b/asm/battle_frontier_1.s @@ -5,525 +5,7 @@ .text - thumb_func_start sub_81938A4 -sub_81938A4: @ 81938A4 - push {lr} - ldr r0, =sub_8194220 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r2, 0 - strh r2, [r1, 0x8] - strh r2, [r1, 0xA] - movs r0, 0x2 - strh r0, [r1, 0xC] - strh r2, [r1, 0x10] - ldr r0, =sub_8194B54 - bl SetMainCallback2 - pop {r0} - bx r0 - .pool - thumb_func_end sub_81938A4 - thumb_func_start sub_81938E0 -sub_81938E0: @ 81938E0 - push {r4,lr} - bl sub_8194D48 - ldr r4, =gSaveBlock2Ptr - ldr r2, [r4] - ldr r1, =0x00000d0a - adds r0, r2, r1 - ldrb r1, [r0] - subs r1, 0x1 - ldr r0, =0x00000ca9 - adds r2, r0 - movs r0, 0x3 - ands r1, r0 - ldrb r3, [r2] - movs r0, 0x4 - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r2] - ldr r0, [r4] - ldr r1, =0x00000cb2 - adds r0, r1 - movs r4, 0 - movs r1, 0x3 - strh r1, [r0] - ldr r0, =sub_8194220 - movs r1, 0 - 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] - strh r4, [r1, 0xA] - movs r0, 0x2 - strh r0, [r1, 0xC] - movs r0, 0x1 - strh r0, [r1, 0x10] - ldr r0, =sub_8194B54 - bl SetMainCallback2 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81938E0 - - thumb_func_start sub_819395C -sub_819395C: @ 819395C - push {r4-r7,lr} - sub sp, 0x4 - 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, 0xA - ldrsh r7, [r0, r2] - movs r2, 0x8 - ldrsh r0, [r0, r2] - adds r2, r1, 0 - cmp r0, 0x7 - bls _0819397E - b _08193BC2 -_0819397E: - lsls r0, 2 - ldr r1, =_08193990 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08193990: - .4byte _081939B0 - .4byte _08193A00 - .4byte _08193A20 - .4byte _08193AA8 - .4byte _08193BC2 - .4byte _08193B20 - .4byte _08193BC2 - .4byte _08193B84 -_081939B0: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - beq _081939C2 - b _08193BC2 -_081939C2: - movs r0, 0x1 - negs r0, r0 - str r1, [sp] - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - movs r1, 0x1 - strh r1, [r0, 0x8] - lsls r0, r7, 4 - adds r0, r7 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - movs r1, 0x1 - bl StartSpriteAnim - b _08193BC2 - .pool -_08193A00: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _08193A0E - b _08193BC2 -_08193A0E: - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r2 - movs r1, 0x2 - strh r1, [r0, 0x8] - b _08193BC2 - .pool -_08193A20: - adds r0, r5, 0 - bl sub_8193BDC - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08193A30 - b _08193BC2 -_08193A30: - cmp r0, 0x1 - ble _08193A3C - cmp r0, 0x2 - beq _08193A60 - cmp r0, 0x3 - beq _08193A84 -_08193A3C: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - movs r1, 0x7 - strh r1, [r0, 0x8] - b _08193BC2 - .pool -_08193A60: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - movs r1, 0x3 - strh r1, [r0, 0x8] - b _08193BC2 - .pool -_08193A84: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - movs r1, 0x5 - strh r1, [r0, 0x8] - b _08193BC2 - .pool -_08193AA8: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0 - beq _08193ABA - b _08193BC2 -_08193ABA: - bl FreeAllWindowBuffers - bl ScanlineEffect_Stop - ldr r4, =gUnknown_0203CD7C - ldr r0, [r4] - bl Free - str r6, [r4] - ldr r0, =sub_8190400 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r3, r0, 24 - ldr r2, =gTasks - lsls r1, r3, 2 - adds r1, r3 - lsls r1, 3 - adds r1, r2 - movs r3, 0 - strh r6, [r1, 0x8] - ldr r0, =gUnknown_0860D080 - adds r0, r7, r0 - ldrb r0, [r0] - strh r0, [r1, 0xA] - movs r0, 0x1 - strh r0, [r1, 0xC] - strh r5, [r1, 0xE] - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r2 - movs r1, 0x4 - strh r1, [r0, 0x8] - ldr r0, =gUnknown_0203CD78 - ldr r0, [r0] - strb r3, [r0, 0x10] - b _08193BC2 - .pool -_08193B20: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0 - bne _08193BC2 - bl FreeAllWindowBuffers - bl ScanlineEffect_Stop - ldr r4, =gUnknown_0203CD7C - ldr r0, [r4] - bl Free - str r6, [r4] - ldr r0, =sub_8190400 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r3, r0, 24 - ldr r2, =gTasks - lsls r0, r3, 2 - adds r0, r3 - lsls r0, 3 - adds r0, r2 - strh r6, [r0, 0x8] - adds r1, r7, 0 - subs r1, 0x10 - strh r1, [r0, 0xA] - movs r1, 0x2 - strh r1, [r0, 0xC] - strh r5, [r0, 0xE] - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r2 - movs r1, 0x6 - strh r1, [r0, 0x8] - b _08193BC2 - .pool -_08193B84: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0 - bne _08193BC2 - bl FreeAllWindowBuffers - bl ScanlineEffect_Stop - ldr r4, =gUnknown_0203CD7C - ldr r0, [r4] - bl Free - str r6, [r4] - ldr r0, =CB2_ReturnToFieldContinueScriptPlayMapMusic - bl SetMainCallback2 - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - ldrb r0, [r0, 0x16] - bl DestroyTask - adds r0, r5, 0 - bl DestroyTask -_08193BC2: - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_819395C - - thumb_func_start sub_8193BDC -sub_8193BDC: @ 8193BDC - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 24 - lsrs r7, r0, 24 - movs r0, 0x1 - mov r9, r0 - movs r1, 0x4 - mov r8, r1 - ldr r1, =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r1 - movs r1, 0xA - ldrsh r5, [r0, r1] - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r1, =0x00000cb2 - adds r0, r1 - ldrh r6, [r0] - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - adds r2, r1, 0 - adds r3, r0, 0 - cmp r2, 0x2 - beq _08193C20 - mov r0, r9 - ands r0, r1 - cmp r0, 0 - beq _08193C58 - cmp r5, 0x1F - bne _08193C3C -_08193C20: - movs r0, 0x5 - bl PlaySE - movs r0, 0 - mov r9, r0 - b _08193CDE - .pool -_08193C3C: - cmp r5, 0xF - bgt _08193C4C - movs r0, 0x5 - bl PlaySE - movs r1, 0x2 - mov r9, r1 - b _08193CDE -_08193C4C: - movs r0, 0x5 - bl PlaySE - movs r0, 0x3 - mov r9, r0 - b _08193CDE -_08193C58: - cmp r2, 0x40 - bne _08193C78 - ldr r0, =gUnknown_0860CBF1 - lsls r1, r5, 2 - adds r1, r5 - adds r1, r6 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1] - cmp r0, 0xFF - beq _08193C78 - movs r1, 0 - mov r8, r1 - b _08193CDE - .pool -_08193C78: - ldrh r0, [r3, 0x2E] - cmp r0, 0x80 - bne _08193C9C - ldr r0, =gUnknown_0860CBF1 - lsls r1, r5, 2 - adds r1, r5 - adds r1, r6 - lsls r1, 2 - adds r0, 0x1 - adds r1, r0 - ldrb r0, [r1] - cmp r0, 0xFF - beq _08193C9C - movs r0, 0x1 - b _08193CDC - .pool -_08193C9C: - ldrh r0, [r3, 0x2E] - cmp r0, 0x20 - bne _08193CC0 - ldr r0, =gUnknown_0860CBF1 - lsls r1, r5, 2 - adds r1, r5 - adds r1, r6 - lsls r1, 2 - adds r0, 0x2 - adds r1, r0 - ldrb r0, [r1] - cmp r0, 0xFF - beq _08193CC0 - movs r1, 0x2 - mov r8, r1 - b _08193CDE - .pool -_08193CC0: - ldrh r0, [r3, 0x2E] - cmp r0, 0x10 - bne _08193CDE - ldr r0, =gUnknown_0860CBF1 - lsls r1, r5, 2 - adds r1, r5 - adds r1, r6 - lsls r1, 2 - adds r0, 0x3 - adds r1, r0 - ldrb r0, [r1] - cmp r0, 0xFF - beq _08193CDE - movs r0, 0x3 -_08193CDC: - mov r8, r0 -_08193CDE: - mov r1, r8 - cmp r1, 0x4 - beq _08193D26 - movs r0, 0x5 - bl PlaySE - lsls r0, r5, 4 - adds r0, r5 - lsls r0, 2 - ldr r4, =gSprites - adds r0, r4 - movs r1, 0 - bl StartSpriteAnim - ldr r2, =gUnknown_0860CBF1 - lsls r1, r6, 2 - add r1, r8 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 2 - adds r1, r0 - adds r1, r2 - ldrb r5, [r1] - lsls r0, r5, 4 - adds r0, r5 - lsls r0, 2 - adds r0, r4 - movs r1, 0x1 - bl StartSpriteAnim - ldr r1, =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r1 - strh r5, [r0, 0xA] -_08193D26: - mov r0, r9 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8193BDC thumb_func_start sub_8193D40 sub_8193D40: @ 8193D40 diff --git a/src/battle_frontier_1.c b/src/battle_frontier_1.c index ccead08454..db6f99c8c7 100644 --- a/src/battle_frontier_1.c +++ b/src/battle_frontier_1.c @@ -23,6 +23,7 @@ #include "data2.h" #include "international_string_util.h" #include "trainer_pokemon_sprites.h" +#include "scanline_effect.h" #include "constants/species.h" #include "constants/moves.h" #include "constants/trainers.h" @@ -80,6 +81,7 @@ extern u16 gBattle_BG3_X; extern u16 gBattle_BG3_Y; extern struct Unknown_0203BC8C_Struct *gFacilityTrainerMons; extern struct Unknown_0203CD78_Struct *gUnknown_0203CD78; +extern void *gUnknown_0203CD7C; extern void (* const gUnknown_0860D090[])(void); extern const u32 gUnknown_0860D0EC[][2]; @@ -109,6 +111,8 @@ extern const u8 gUnknown_0860D3A8[]; extern const u8 gUnknown_0860D3AB[]; extern const u8 gUnknown_0860D3AE[]; extern const u8 gUnknown_0860D3B1[]; +extern const u8 gUnknown_0860D080[]; +extern const u8 gUnknown_0860CBF1[][5][4]; extern const u8 *const gBattleDomePotentialPointers[]; extern const u8 *const gBattleDomeOpponentStylePointers[]; extern const u8 *const gBattleDomeOpponentStatsPointers[]; @@ -144,7 +148,7 @@ void sub_8190CD4(u8 taskId); void sub_8194220(u8 taskId); void sub_8194B54(void); void sub_8194B70(void); -static void DrawMatchInfoOnCard(u8 flags, u8 matchNo); +static void DisplayMatchInfoOnCard(u8 flags, u8 matchNo); static void DisplayTrainerInfoOnCard(u8 flags, u8 trainerTournamentId); u8 sub_819221C(u8 taskId); s32 sub_8192F08(u8, u8*); @@ -152,6 +156,8 @@ u8 GetDomeBrainTrainerPicId(void); u8 GetDomeBrainTrainerClass(void); void CopyDomeBrainTrainerName(u8 *dst); void CopyDomeOpponentName(u8 *dst, u16 trainerId); +void sub_8194D48(void); +u8 sub_8193BDC(u8 taskId); // const rom data ALIGNED(4) @@ -1701,7 +1707,7 @@ void sub_8190400(u8 taskId) gTasks[i].data[4] = r7; if (r9 == 2) { - DrawMatchInfoOnCard(0, r5); + DisplayMatchInfoOnCard(0, r5); gUnknown_0203CD78->unk_10 = 1; } else @@ -2127,7 +2133,7 @@ void sub_8190CD4(u8 taskId) gBattle_BG2_X = 256; gBattle_BG2_Y = 160; matchNo = gTasks[taskId2].data[1] - 16; - DrawMatchInfoOnCard(gTasks[taskId].data[2] | 0x10, matchNo); + DisplayMatchInfoOnCard(gTasks[taskId].data[2] | 0x10, matchNo); } } @@ -2243,7 +2249,7 @@ void sub_8190CD4(u8 taskId) gBattle_BG2_X = 256; gBattle_BG2_Y = 0; matchNo = gTasks[taskId2].data[1] - 16; - DrawMatchInfoOnCard(gTasks[taskId].data[2] | 4, matchNo); + DisplayMatchInfoOnCard(gTasks[taskId].data[2] | 4, matchNo); } } @@ -2327,7 +2333,7 @@ void sub_8190CD4(u8 taskId) gBattle_BG2_X = 256; gBattle_BG2_Y = 0; matchNo = gUnknown_0860D15C[(gTasks[taskId2].data[1] * 4) + (gUnknown_0203CD78->unk_10 - 1)]; - DrawMatchInfoOnCard(gTasks[taskId].data[2] | 8, matchNo); + DisplayMatchInfoOnCard(gTasks[taskId].data[2] | 8, matchNo); } for (i = 0; i < DOME_TOURNAMENT_TRAINERS_COUNT / 2; i++) @@ -2410,7 +2416,7 @@ void sub_8190CD4(u8 taskId) gBattle_BG2_X = 0; gBattle_BG2_Y = 160; matchNo = gTasks[taskId2].data[1] - 16; - DrawMatchInfoOnCard(gTasks[taskId].data[2] | 8, matchNo); + DisplayMatchInfoOnCard(gTasks[taskId].data[2] | 8, matchNo); } for (i = 0; i < DOME_TOURNAMENT_TRAINERS_COUNT / 2; i++) @@ -2492,7 +2498,7 @@ void sub_8190CD4(u8 taskId) gBattle_BG2_Y = 0; } matchNo = gUnknown_0860D15C[(gUnknown_0203CD78->unk_10 - 1) + (gTasks[taskId2].data[1] * 4)]; - DrawMatchInfoOnCard(gTasks[taskId].data[2] | 2, matchNo); + DisplayMatchInfoOnCard(gTasks[taskId].data[2] | 2, matchNo); for (i = 0; i < DOME_TOURNAMENT_TRAINERS_COUNT / 2; i++) { @@ -2574,7 +2580,7 @@ void sub_8190CD4(u8 taskId) gBattle_BG2_X = 0; gBattle_BG2_Y = 160; matchNo = gTasks[taskId2].data[1] - 16; - DrawMatchInfoOnCard(gTasks[taskId].data[2] | 2, matchNo); + DisplayMatchInfoOnCard(gTasks[taskId].data[2] | 2, matchNo); } for (i = 0; i < DOME_TOURNAMENT_TRAINERS_COUNT / 2; i++) @@ -3264,7 +3270,7 @@ s32 sub_8192F08(u8 arg0, u8 *arg1) return retVal + 1; } -static void DrawMatchInfoOnCard(u8 flags, u8 matchNo) +static void DisplayMatchInfoOnCard(u8 flags, u8 matchNo) { struct TextSubPrinter textPrinter; s32 tournamentIds[2]; @@ -3472,3 +3478,165 @@ static void DrawMatchInfoOnCard(u8 flags, u8 matchNo) CopyWindowToVram(windowId + 5, 3); AddTextPrinter(&textPrinter, 0, NULL); } + +void sub_81938A4(void) +{ + u8 taskId = CreateTask(sub_8194220, 0); + gTasks[taskId].data[0] = 0; + gTasks[taskId].data[1] = 0; + gTasks[taskId].data[2] = 2; + gTasks[taskId].data[4] = 0; + SetMainCallback2(sub_8194B54); +} + +void sub_81938E0(void) +{ + u8 taskId; + + sub_8194D48(); + gSaveBlock2Ptr->frontier.chosenLvl = gSaveBlock2Ptr->frontier.field_D0A - 1; + gSaveBlock2Ptr->frontier.field_CB2 = 3; + taskId = CreateTask(sub_8194220, 0); + gTasks[taskId].data[0] = 0; + gTasks[taskId].data[1] = 0; + gTasks[taskId].data[2] = 2; + gTasks[taskId].data[4] = 1; + SetMainCallback2(sub_8194B54); +} + +void sub_819395C(u8 taskId) +{ + u8 newTaskId = 0; + s32 spriteId = gTasks[taskId].data[1]; + + switch (gTasks[taskId].data[0]) + { + case 0: + if (!gPaletteFade.active) + { + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0); + gTasks[taskId].data[0] = 1; + StartSpriteAnim(&gSprites[spriteId], 1); + } + break; + case 1: + if (!gPaletteFade.active) + gTasks[taskId].data[0] = 2; + break; + case 2: + switch (sub_8193BDC(taskId)) + { + case 0: + default: + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); + gTasks[taskId].data[0] = 7; + break; + case 1: + break; + case 2: + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); + gTasks[taskId].data[0] = 3; + break; + case 3: + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); + gTasks[taskId].data[0] = 5; + break; + } + break; + case 3: + if (!gPaletteFade.active) + { + FreeAllWindowBuffers(); + ScanlineEffect_Stop(); + FREE_AND_SET_NULL(gUnknown_0203CD7C); + newTaskId = CreateTask(sub_8190400, 0); + gTasks[newTaskId].data[0] = 0; + gTasks[newTaskId].data[1] = gUnknown_0860D080[spriteId]; + gTasks[newTaskId].data[2] = 1; + gTasks[newTaskId].data[3] = taskId; + + gTasks[taskId].data[0] = 4; + gUnknown_0203CD78->unk_10 = 0; + } + break; + case 4: + break; + case 5: + if (!gPaletteFade.active) + { + FreeAllWindowBuffers(); + ScanlineEffect_Stop(); + FREE_AND_SET_NULL(gUnknown_0203CD7C); + newTaskId = CreateTask(sub_8190400, 0); + gTasks[newTaskId].data[0] = 0; + gTasks[newTaskId].data[1] = spriteId - 16; + gTasks[newTaskId].data[2] = 2; + gTasks[newTaskId].data[3] = taskId; + + gTasks[taskId].data[0] = 6; + } + break; + case 6: + break; + case 7: + if (!gPaletteFade.active) + { + FreeAllWindowBuffers(); + ScanlineEffect_Stop(); + FREE_AND_SET_NULL(gUnknown_0203CD7C); + SetMainCallback2(CB2_ReturnToFieldContinueScriptPlayMapMusic); + DestroyTask(gTasks[taskId].data[7]); + DestroyTask(taskId); + } + break; + } +} + +u8 sub_8193BDC(u8 taskId) +{ + u8 retVal = 1; + s32 arrId = 4; + s32 spriteId = gTasks[taskId].data[1]; + s32 roundId = gSaveBlock2Ptr->frontier.field_CB2; + + if (gMain.newKeys == B_BUTTON || (gMain.newKeys & A_BUTTON && spriteId == 31)) + { + PlaySE(SE_SELECT); + retVal = 0; + } + else if (gMain.newKeys & A_BUTTON) + { + if (spriteId < 16) + { + PlaySE(SE_SELECT); + retVal = 2; + } + else + { + PlaySE(SE_SELECT); + retVal = 3; + } + } + else + { + if (gMain.newKeys == DPAD_UP && gUnknown_0860CBF1[spriteId][roundId][0] != 0xFF) + arrId = 0; + else if (gMain.newKeys == DPAD_DOWN && gUnknown_0860CBF1[spriteId][roundId][1] != 0xFF) + arrId = 1; + else if (gMain.newKeys == DPAD_LEFT && gUnknown_0860CBF1[spriteId][roundId][2] != 0xFF) + arrId = 2; + else if (gMain.newKeys == DPAD_RIGHT && gUnknown_0860CBF1[spriteId][roundId][3] != 0xFF) + arrId = 3; + } + + if (arrId != 4) + { + PlaySE(SE_SELECT); + StartSpriteAnim(&gSprites[spriteId], 0); + spriteId = gUnknown_0860CBF1[spriteId][roundId][arrId]; + StartSpriteAnim(&gSprites[spriteId], 1); + gTasks[taskId].data[1] = spriteId; + } + + return retVal; +} From ef6a3c2278c63d1e29d8b2352f2b08b63e0d97de Mon Sep 17 00:00:00 2001 From: Slawter666 <38655737+Slawter666@users.noreply.github.com> Date: Wed, 22 Aug 2018 14:34:36 +0100 Subject: [PATCH 122/234] Move some data from data2b.s to C --- data/data2b.s | 131 - data/enemy_mon_elevation.inc | 415 - data/graphics/pokemon/front_anims.inc | 6915 --------------- data/graphics/pokemon/front_pic_table.inc | 442 - data/graphics/trainers/back_pic_coords.inc | 10 - .../trainers/back_pic_palette_table.inc | 10 - data/graphics/trainers/back_pic_table.inc | 10 - .../pokemon_graphics/enemy_mon_elevation.h | 417 + include/data/pokemon_graphics/front_anims.h | 7391 +++++++++++++++++ .../data/pokemon_graphics/front_pic_table.h | 446 + .../data/trainer_graphics/back_pic_tables.h | 35 + .../data/trainer_graphics/front_pic_tables.h | 290 + include/graphics.h | 204 + ld_script.txt | 1 + src/data2b.c | 127 + 15 files changed, 8911 insertions(+), 7933 deletions(-) delete mode 100644 data/enemy_mon_elevation.inc delete mode 100644 data/graphics/pokemon/front_anims.inc delete mode 100644 data/graphics/pokemon/front_pic_table.inc delete mode 100644 data/graphics/trainers/back_pic_coords.inc delete mode 100644 data/graphics/trainers/back_pic_palette_table.inc delete mode 100644 data/graphics/trainers/back_pic_table.inc create mode 100644 include/data/pokemon_graphics/enemy_mon_elevation.h create mode 100644 include/data/pokemon_graphics/front_anims.h create mode 100644 include/data/pokemon_graphics/front_pic_table.h create mode 100644 include/data/trainer_graphics/back_pic_tables.h create mode 100644 include/data/trainer_graphics/front_pic_tables.h create mode 100644 src/data2b.c diff --git a/data/data2b.s b/data/data2b.s index bf28d13d62..31020a852c 100644 --- a/data/data2b.s +++ b/data/data2b.s @@ -4499,134 +4499,3 @@ gUnknown_08305D0C:: @ 8305D0C .4byte gUnknown_08305CF4 .4byte gUnknown_08305CFC .4byte gUnknown_08305D04 - - -@ 8305D2C - .include "data/graphics/trainers/back_pic_coords.inc" - -@ 8305D4C - .include "data/graphics/trainers/back_pic_table.inc" - -@ 8305D8C - .include "data/graphics/trainers/back_pic_palette_table.inc" - -@ 8305DCC - .include "data/enemy_mon_elevation.inc" - -@ 8305F68 - .include "data/graphics/pokemon/front_anims.inc" - -@ 830A18C - .include "data/graphics/pokemon/front_pic_table.inc" - -@ 830AF4C - .4byte 0x00000888, 0x00000888, 0x00000888, 0x00000888 - .4byte 0x00000088, 0x00000888, 0x00000888, 0x00000886 - .4byte 0x00000888, 0x00000886, 0x00000888, 0x00000888 - .4byte 0x00000888, 0x00000888, 0x00000888, 0x00000888 - .4byte 0x00000886, 0x00000888, 0x00000888, 0x00000888 - .4byte 0x00000888, 0x00000888, 0x00000886, 0x00000886 - .4byte 0x00000888, 0x00000088, 0x00000088, 0x00000088 - .4byte 0x00000088, 0x00000888, 0x00000886, 0x00000888 - .4byte 0x00000888, 0x00000888, 0x00000886, 0x00000886 - .4byte 0x00000888, 0x00000088, 0x00000088, 0x00000088 - .4byte 0x00000088, 0x00000886, 0x00000886, 0x00000088 - .4byte 0x00000886, 0x00000886, 0x00000888, 0x00000888 - .4byte 0x00000888, 0x00000888, 0x00000888, 0x00000888 - .4byte 0x00000886, 0x00000888, 0x00000088, 0x00000088 - .4byte 0x00000888, 0x00000888, 0x00000888, 0x00000886 - .4byte 0x00000888, 0x00000888, 0x00000888, 0x00000886 - .4byte 0x00000886, 0x00000886, 0x00000886, 0x00000886 - .4byte 0x00000886, 0x00000886, 0x00000888, 0x00000888 - .4byte 0x00000886, 0x00000886, 0x00000886, 0x00000886 - .4byte 0x00000886, 0x00000888, 0x00000888, 0x00000888 - .4byte 0x00000888, 0x00000886, 0x00000886, 0x00000888 - .4byte 0x00000886, 0x00000886, 0x00000888, 0x00000888 - .4byte 0x00000088, 0x00000088, 0x00000888, 0x00000888 - .4byte 0x00000888, 0x00000888, 0x00000888, 0x00000888 - .4byte 0x00000888, 0x00000888, 0x00000888, 0x00000888 - .4byte 0x00000886, 0x00000886, 0x00000888, 0x00000888 - .4byte 0x00000888, 0x00000888, 0x00000088, 0x00000886 - .4byte 0x00000888, 0x00000088, 0x00000088, 0x00000088 - .4byte 0x00000088, 0x00000888, 0x00000886, 0x00000888 - .4byte 0x00000088, 0x00000088, 0x00000886, 0x00000886 - .4byte 0x00000088, 0x00000088, 0x00000888, 0x00000886 - .4byte 0x00000886, 0x00000888, 0x00000888, 0x00000088 - .4byte 0x00000888, 0x00000886, 0x00000886, 0x00000888 - .4byte 0x00000886, 0x00000888, 0x00000888, 0x00000886 - .4byte 0x00000888, 0x00000888, 0x00000888, 0x00000888 - .4byte 0x00000888, 0x00000888, 0x00000888, 0x00000888 - .4byte 0x00000888, 0x00000888, 0x00000888, 0x00000888 - .4byte 0x00000888, 0x00000888, 0x00000088, 0x00000888 - .4byte 0x00000888, 0x00000888, 0x00000888, 0x00000888 - .4byte 0x00000088, 0x00000888, 0x00000888, 0x00000886 - .4byte 0x00000886, 0x00000888, 0x00000888, 0x00000888 - .4byte 0x00000888, 0x00000888, 0x00000888, 0x00000886 - .4byte 0x00000888, 0x00000886, 0x00000088, 0x00000088 - .4byte 0x00000088, 0x00000888, 0x00000088, 0x00000888 - .4byte 0x00000888, 0x00000088, 0x00000088, 0x00000888 - .4byte 0x00000886, 0x00000888, 0x00000886, 0x00000886 - .4byte 0x00000886, 0x00000888, 0x00000888, 0x00000888 - .4byte 0x00000088, 0x00000888, 0x00000888, 0x00000888 - .4byte 0x00000088, 0x00000888, 0x00000888, 0x00000888 - .4byte 0x00000888, 0x00000888, 0x00000888, 0x00000888 - .4byte 0x00000888, 0x00000888, 0x00000088, 0x00000088 - .4byte 0x00000886, 0x00000888, 0x00000888, 0x00000888 - .4byte 0x00000888, 0x00000888, 0x00000888, 0x00000888 - .4byte 0x00000888, 0x00000888, 0x00000088, 0x00000888 - .4byte 0x00000886, 0x00000888, 0x00000088, 0x00000088 - .4byte 0x00000888, 0x00000888, 0x00000088, 0x00000888 - .4byte 0x00000888, 0x00000888, 0x00000888, 0x00000088 - .4byte 0x00000888, 0x00000888, 0x00000088, 0x00000088 - .4byte 0x00000088, 0x00000888, 0x00000088, 0x00000888 - .4byte 0x00000888, 0x00000888, 0x00000888, 0x00000888 - .4byte 0x00000888, 0x00000888, 0x00000888, 0x00000888 - .4byte 0x00000888, 0x00000888, 0x00000888, 0x00000888 - .4byte 0x00000888, 0x00000886, 0x00000888, 0x00000888 - .4byte 0x00000888, 0x00000888, 0x00000888, 0x00000888 - .4byte 0x00000888, 0x00000888, 0x00000888, 0x00000888 - .4byte 0x00000888, 0x00000888, 0x00000888, 0x00000888 - .4byte 0x00000888, 0x00000888, 0x00000888, 0x00000888 - .4byte 0x00000888, 0x00000888, 0x00000888, 0x00000888 - .4byte 0x00000888, 0x00000888, 0x00000888, 0x00000888 - .4byte 0x00000888, 0x00000886, 0x00000886, 0x00000886 - .4byte 0x00000088, 0x00000088, 0x00000088, 0x00000886 - .4byte 0x00000088, 0x00000886, 0x00000886, 0x00000886 - .4byte 0x00000088, 0x00000886, 0x00000088, 0x00000088 - .4byte 0x00000088, 0x00000088, 0x00000088, 0x00000886 - .4byte 0x00000886, 0x00000886, 0x00000888, 0x00000888 - .4byte 0x00000886, 0x00000886, 0x00000886, 0x00000886 - .4byte 0x00000088, 0x00000088, 0x00000886, 0x00000886 - .4byte 0x00001882, 0x00000088, 0x00000088, 0x00000088 - .4byte 0x00000088, 0x00000886, 0x00000886, 0x00000886 - .4byte 0x00000088, 0x00000088, 0x00000088, 0x00000088 - .4byte 0x00000886, 0x00000088, 0x00000886, 0x00000088 - .4byte 0x00000088, 0x00000088, 0x00000088, 0x00000088 - .4byte 0x00000088, 0x00000088, 0x00000886, 0x00000886 - .4byte 0x00000088, 0x00000088, 0x00000088, 0x00000886 - .4byte 0x00000886, 0x00000088, 0x00000088, 0x00000088 - .4byte 0x00000088, 0x00000088, 0x00000088, 0x00000088 - .4byte 0x00000088, 0x00000088, 0x00000088, 0x00000088 - .4byte 0x00000088, 0x00000088, 0x00000886, 0x00000088 - .4byte 0x00000088, 0x00000886, 0x00000886, 0x00000886 - .4byte 0x00000886, 0x00000886, 0x00000088, 0x00000088 - .4byte 0x00000088, 0x00000088, 0x00000088, 0x00000886 - .4byte 0x00000886, 0x00000886, 0x00000886, 0x00000088 - .4byte 0x00000886, 0x00000088, 0x00000886, 0x00000886 - .4byte 0x00000886, 0x00000088, 0x00000088, 0x00000088 - .4byte 0x00000088, 0x00000088, 0x00000088, 0x00000088 - .4byte 0x00000088, 0x00000088, 0x00000886, 0x00000886 - .4byte 0x00000886, 0x00000888, 0x00000886, 0x00000886 - .4byte 0x00000088, 0x00000088, 0x00000088, 0x00000088 - .4byte 0x00000886, 0x00000886, 0x00000088, 0x00000088 - .4byte 0x00000088, 0x00000088, 0x00000088, 0x00000088 - .4byte 0x00000088, 0x00000088, 0x00000088, 0x00000088 - .4byte 0x00000088, 0x00000088, 0x00000088, 0x00000088 - .4byte 0x00000088, 0x00000088, 0x00000088, 0x00000088 - .4byte 0x00000088, 0x00000888, 0x00000888, 0x00000888 - .4byte 0x00000888, 0x00000888, 0x00000888, 0x00000888 - .4byte 0x00000888, 0x00000888, 0x00000888, 0x00000888 - .4byte 0x00000888, 0x00000888, 0x00000888, 0x00000888 - .4byte 0x00000888, 0x00000888, 0x00000888, 0x00000888 - .4byte 0x00000888, 0x00000888, 0x00000888, 0x00000888 - .4byte 0x00000888, 0x00000888, 0x00000888, 0x00000888 diff --git a/data/enemy_mon_elevation.inc b/data/enemy_mon_elevation.inc deleted file mode 100644 index 2dadadd076..0000000000 --- a/data/enemy_mon_elevation.inc +++ /dev/null @@ -1,415 +0,0 @@ -@ This determines how much higher above the usual position the enemy Pokémon -@ is during battle. Species that float or fly have nonzero values. -gEnemyMonElevation:: @ 8305DCC - .byte 0 @ 0 - .byte 0 @ SPECIES_BULBASAUR - .byte 0 @ SPECIES_IVYSAUR - .byte 0 @ SPECIES_VENUSAUR - .byte 0 @ SPECIES_CHARMANDER - .byte 0 @ SPECIES_CHARMELEON - .byte 0 @ SPECIES_CHARIZARD - .byte 0 @ SPECIES_SQUIRTLE - .byte 0 @ SPECIES_WARTORTLE - .byte 0 @ SPECIES_BLASTOISE - .byte 0 @ SPECIES_CATERPIE - .byte 0 @ SPECIES_METAPOD - .byte 8 @ SPECIES_BUTTERFREE - .byte 0 @ SPECIES_WEEDLE - .byte 0 @ SPECIES_KAKUNA - .byte 8 @ SPECIES_BEEDRILL - .byte 16 @ SPECIES_PIDGEY - .byte 0 @ SPECIES_PIDGEOTTO - .byte 4 @ SPECIES_PIDGEOT - .byte 0 @ SPECIES_RATTATA - .byte 0 @ SPECIES_RATICATE - .byte 0 @ SPECIES_SPEAROW - .byte 6 @ SPECIES_FEAROW - .byte 0 @ SPECIES_EKANS - .byte 0 @ SPECIES_ARBOK - .byte 0 @ SPECIES_PIKACHU - .byte 0 @ SPECIES_RAICHU - .byte 0 @ SPECIES_SANDSHREW - .byte 0 @ SPECIES_SANDSLASH - .byte 0 @ SPECIES_NIDORAN_F - .byte 0 @ SPECIES_NIDORINA - .byte 0 @ SPECIES_NIDOQUEEN - .byte 0 @ SPECIES_NIDORAN_M - .byte 0 @ SPECIES_NIDORINO - .byte 0 @ SPECIES_NIDOKING - .byte 0 @ SPECIES_CLEFAIRY - .byte 0 @ SPECIES_CLEFABLE - .byte 0 @ SPECIES_VULPIX - .byte 0 @ SPECIES_NINETALES - .byte 0 @ SPECIES_JIGGLYPUFF - .byte 0 @ SPECIES_WIGGLYTUFF - .byte 8 @ SPECIES_ZUBAT - .byte 8 @ SPECIES_GOLBAT - .byte 0 @ SPECIES_ODDISH - .byte 0 @ SPECIES_GLOOM - .byte 0 @ SPECIES_VILEPLUME - .byte 0 @ SPECIES_PARAS - .byte 0 @ SPECIES_PARASECT - .byte 0 @ SPECIES_VENONAT - .byte 8 @ SPECIES_VENOMOTH - .byte 0 @ SPECIES_DIGLETT - .byte 0 @ SPECIES_DUGTRIO - .byte 0 @ SPECIES_MEOWTH - .byte 0 @ SPECIES_PERSIAN - .byte 0 @ SPECIES_PSYDUCK - .byte 0 @ SPECIES_GOLDUCK - .byte 0 @ SPECIES_MANKEY - .byte 0 @ SPECIES_PRIMEAPE - .byte 0 @ SPECIES_GROWLITHE - .byte 0 @ SPECIES_ARCANINE - .byte 0 @ SPECIES_POLIWAG - .byte 0 @ SPECIES_POLIWHIRL - .byte 0 @ SPECIES_POLIWRATH - .byte 0 @ SPECIES_ABRA - .byte 0 @ SPECIES_KADABRA - .byte 0 @ SPECIES_ALAKAZAM - .byte 0 @ SPECIES_MACHOP - .byte 0 @ SPECIES_MACHOKE - .byte 0 @ SPECIES_MACHAMP - .byte 0 @ SPECIES_BELLSPROUT - .byte 0 @ SPECIES_WEEPINBELL - .byte 0 @ SPECIES_VICTREEBEL - .byte 0 @ SPECIES_TENTACOOL - .byte 0 @ SPECIES_TENTACRUEL - .byte 16 @ SPECIES_GEODUDE - .byte 0 @ SPECIES_GRAVELER - .byte 0 @ SPECIES_GOLEM - .byte 0 @ SPECIES_PONYTA - .byte 0 @ SPECIES_RAPIDASH - .byte 0 @ SPECIES_SLOWPOKE - .byte 0 @ SPECIES_SLOWBRO - .byte 16 @ SPECIES_MAGNEMITE - .byte 8 @ SPECIES_MAGNETON - .byte 0 @ SPECIES_FARFETCHD - .byte 0 @ SPECIES_DODUO - .byte 0 @ SPECIES_DODRIO - .byte 0 @ SPECIES_SEEL - .byte 0 @ SPECIES_DEWGONG - .byte 0 @ SPECIES_GRIMER - .byte 0 @ SPECIES_MUK - .byte 0 @ SPECIES_SHELLDER - .byte 0 @ SPECIES_CLOYSTER - .byte 4 @ SPECIES_GASTLY - .byte 4 @ SPECIES_HAUNTER - .byte 0 @ SPECIES_GENGAR - .byte 0 @ SPECIES_ONIX - .byte 0 @ SPECIES_DROWZEE - .byte 0 @ SPECIES_HYPNO - .byte 0 @ SPECIES_KRABBY - .byte 0 @ SPECIES_KINGLER - .byte 10 @ SPECIES_VOLTORB - .byte 12 @ SPECIES_ELECTRODE - .byte 0 @ SPECIES_EXEGGCUTE - .byte 0 @ SPECIES_EXEGGUTOR - .byte 0 @ SPECIES_CUBONE - .byte 0 @ SPECIES_MAROWAK - .byte 0 @ SPECIES_HITMONLEE - .byte 0 @ SPECIES_HITMONCHAN - .byte 0 @ SPECIES_LICKITUNG - .byte 8 @ SPECIES_KOFFING - .byte 6 @ SPECIES_WEEZING - .byte 0 @ SPECIES_RHYHORN - .byte 0 @ SPECIES_RHYDON - .byte 0 @ SPECIES_CHANSEY - .byte 0 @ SPECIES_TANGELA - .byte 0 @ SPECIES_KANGASKHAN - .byte 0 @ SPECIES_HORSEA - .byte 0 @ SPECIES_SEADRA - .byte 0 @ SPECIES_GOLDEEN - .byte 0 @ SPECIES_SEAKING - .byte 0 @ SPECIES_STARYU - .byte 0 @ SPECIES_STARMIE - .byte 0 @ SPECIES_MR_MIME - .byte 0 @ SPECIES_SCYTHER - .byte 0 @ SPECIES_JYNX - .byte 0 @ SPECIES_ELECTABUZZ - .byte 0 @ SPECIES_MAGMAR - .byte 0 @ SPECIES_PINSIR - .byte 0 @ SPECIES_TAUROS - .byte 0 @ SPECIES_MAGIKARP - .byte 0 @ SPECIES_GYARADOS - .byte 0 @ SPECIES_LAPRAS - .byte 0 @ SPECIES_DITTO - .byte 0 @ SPECIES_EEVEE - .byte 0 @ SPECIES_VAPOREON - .byte 0 @ SPECIES_JOLTEON - .byte 0 @ SPECIES_FLAREON - .byte 0 @ SPECIES_PORYGON - .byte 0 @ SPECIES_OMANYTE - .byte 0 @ SPECIES_OMASTAR - .byte 0 @ SPECIES_KABUTO - .byte 0 @ SPECIES_KABUTOPS - .byte 7 @ SPECIES_AERODACTYL - .byte 0 @ SPECIES_SNORLAX - .byte 6 @ SPECIES_ARTICUNO - .byte 8 @ SPECIES_ZAPDOS - .byte 5 @ SPECIES_MOLTRES - .byte 0 @ SPECIES_DRATINI - .byte 0 @ SPECIES_DRAGONAIR - .byte 6 @ SPECIES_DRAGONITE - .byte 0 @ SPECIES_MEWTWO - .byte 8 @ SPECIES_MEW - .byte 0 @ SPECIES_CHIKORITA - .byte 0 @ SPECIES_BAYLEEF - .byte 0 @ SPECIES_MEGANIUM - .byte 0 @ SPECIES_CYNDAQUIL - .byte 0 @ SPECIES_QUILAVA - .byte 0 @ SPECIES_TYPHLOSION - .byte 0 @ SPECIES_TOTODILE - .byte 0 @ SPECIES_CROCONAW - .byte 0 @ SPECIES_FERALIGATR - .byte 0 @ SPECIES_SENTRET - .byte 0 @ SPECIES_FURRET - .byte 0 @ SPECIES_HOOTHOOT - .byte 0 @ SPECIES_NOCTOWL - .byte 0 @ SPECIES_LEDYBA - .byte 8 @ SPECIES_LEDIAN - .byte 0 @ SPECIES_SPINARAK - .byte 0 @ SPECIES_ARIADOS - .byte 6 @ SPECIES_CROBAT - .byte 0 @ SPECIES_CHINCHOU - .byte 0 @ SPECIES_LANTURN - .byte 0 @ SPECIES_PICHU - .byte 0 @ SPECIES_CLEFFA - .byte 0 @ SPECIES_IGGLYBUFF - .byte 0 @ SPECIES_TOGEPI - .byte 0 @ SPECIES_TOGETIC - .byte 0 @ SPECIES_NATU - .byte 0 @ SPECIES_XATU - .byte 0 @ SPECIES_MAREEP - .byte 0 @ SPECIES_FLAAFFY - .byte 0 @ SPECIES_AMPHAROS - .byte 0 @ SPECIES_BELLOSSOM - .byte 0 @ SPECIES_MARILL - .byte 0 @ SPECIES_AZUMARILL - .byte 0 @ SPECIES_SUDOWOODO - .byte 0 @ SPECIES_POLITOED - .byte 11 @ SPECIES_HOPPIP - .byte 12 @ SPECIES_SKIPLOOM - .byte 9 @ SPECIES_JUMPLUFF - .byte 0 @ SPECIES_AIPOM - .byte 0 @ SPECIES_SUNKERN - .byte 0 @ SPECIES_SUNFLORA - .byte 8 @ SPECIES_YANMA - .byte 0 @ SPECIES_WOOPER - .byte 0 @ SPECIES_QUAGSIRE - .byte 0 @ SPECIES_ESPEON - .byte 0 @ SPECIES_UMBREON - .byte 0 @ SPECIES_MURKROW - .byte 0 @ SPECIES_SLOWKING - .byte 8 @ SPECIES_MISDREAVUS - .byte 8 @ SPECIES_UNOWN - .byte 0 @ SPECIES_WOBBUFFET - .byte 0 @ SPECIES_GIRAFARIG - .byte 0 @ SPECIES_PINECO - .byte 0 @ SPECIES_FORRETRESS - .byte 0 @ SPECIES_DUNSPARCE - .byte 6 @ SPECIES_GLIGAR - .byte 0 @ SPECIES_STEELIX - .byte 0 @ SPECIES_SNUBBULL - .byte 0 @ SPECIES_GRANBULL - .byte 0 @ SPECIES_QWILFISH - .byte 0 @ SPECIES_SCIZOR - .byte 0 @ SPECIES_SHUCKLE - .byte 0 @ SPECIES_HERACROSS - .byte 0 @ SPECIES_SNEASEL - .byte 0 @ SPECIES_TEDDIURSA - .byte 0 @ SPECIES_URSARING - .byte 0 @ SPECIES_SLUGMA - .byte 0 @ SPECIES_MAGCARGO - .byte 0 @ SPECIES_SWINUB - .byte 0 @ SPECIES_PILOSWINE - .byte 0 @ SPECIES_CORSOLA - .byte 0 @ SPECIES_REMORAID - .byte 0 @ SPECIES_OCTILLERY - .byte 0 @ SPECIES_DELIBIRD - .byte 0 @ SPECIES_MANTINE - .byte 0 @ SPECIES_SKARMORY - .byte 0 @ SPECIES_HOUNDOUR - .byte 0 @ SPECIES_HOUNDOOM - .byte 0 @ SPECIES_KINGDRA - .byte 0 @ SPECIES_PHANPY - .byte 0 @ SPECIES_DONPHAN - .byte 0 @ SPECIES_PORYGON2 - .byte 0 @ SPECIES_STANTLER - .byte 0 @ SPECIES_SMEARGLE - .byte 0 @ SPECIES_TYROGUE - .byte 0 @ SPECIES_HITMONTOP - .byte 0 @ SPECIES_SMOOCHUM - .byte 0 @ SPECIES_ELEKID - .byte 0 @ SPECIES_MAGBY - .byte 0 @ SPECIES_MILTANK - .byte 0 @ SPECIES_BLISSEY - .byte 0 @ SPECIES_RAIKOU - .byte 0 @ SPECIES_ENTEI - .byte 0 @ SPECIES_SUICUNE - .byte 0 @ SPECIES_LARVITAR - .byte 0 @ SPECIES_PUPITAR - .byte 0 @ SPECIES_TYRANITAR - .byte 6 @ SPECIES_LUGIA - .byte 6 @ SPECIES_HO_OH - .byte 15 @ SPECIES_CELEBI - .byte 0 @ 252 - .byte 0 @ 253 - .byte 0 @ 254 - .byte 0 @ 255 - .byte 0 @ 256 - .byte 0 @ 257 - .byte 0 @ 258 - .byte 0 @ 259 - .byte 0 @ 260 - .byte 0 @ 261 - .byte 0 @ 262 - .byte 0 @ 263 - .byte 0 @ 264 - .byte 0 @ 265 - .byte 0 @ 266 - .byte 0 @ 267 - .byte 0 @ 268 - .byte 0 @ 269 - .byte 0 @ 270 - .byte 0 @ 271 - .byte 0 @ 272 - .byte 0 @ 273 - .byte 0 @ 274 - .byte 0 @ 275 - .byte 0 @ 276 - .byte 0 @ SPECIES_TREECKO - .byte 0 @ SPECIES_GROVYLE - .byte 0 @ SPECIES_SCEPTILE - .byte 0 @ SPECIES_TORCHIC - .byte 0 @ SPECIES_COMBUSKEN - .byte 0 @ SPECIES_BLAZIKEN - .byte 0 @ SPECIES_MUDKIP - .byte 0 @ SPECIES_MARSHTOMP - .byte 0 @ SPECIES_SWAMPERT - .byte 0 @ SPECIES_POOCHYENA - .byte 0 @ SPECIES_MIGHTYENA - .byte 0 @ SPECIES_ZIGZAGOON - .byte 0 @ SPECIES_LINOONE - .byte 0 @ SPECIES_WURMPLE - .byte 0 @ SPECIES_SILCOON - .byte 8 @ SPECIES_BEAUTIFLY - .byte 0 @ SPECIES_CASCOON - .byte 10 @ SPECIES_DUSTOX - .byte 0 @ SPECIES_LOTAD - .byte 0 @ SPECIES_LOMBRE - .byte 0 @ SPECIES_LUDICOLO - .byte 0 @ SPECIES_SEEDOT - .byte 0 @ SPECIES_NUZLEAF - .byte 0 @ SPECIES_SHIFTRY - .byte 0 @ SPECIES_NINCADA - .byte 10 @ SPECIES_NINJASK - .byte 8 @ SPECIES_SHEDINJA - .byte 0 @ SPECIES_TAILLOW - .byte 0 @ SPECIES_SWELLOW - .byte 0 @ SPECIES_SHROOMISH - .byte 0 @ SPECIES_BRELOOM - .byte 0 @ SPECIES_SPINDA - .byte 16 @ SPECIES_WINGULL - .byte 8 @ SPECIES_PELIPPER - .byte 0 @ SPECIES_SURSKIT - .byte 10 @ SPECIES_MASQUERAIN - .byte 0 @ SPECIES_WAILMER - .byte 0 @ SPECIES_WAILORD - .byte 0 @ SPECIES_SKITTY - .byte 0 @ SPECIES_DELCATTY - .byte 0 @ SPECIES_KECLEON - .byte 4 @ SPECIES_BALTOY - .byte 10 @ SPECIES_CLAYDOL - .byte 0 @ SPECIES_NOSEPASS - .byte 0 @ SPECIES_TORKOAL - .byte 0 @ SPECIES_SABLEYE - .byte 0 @ SPECIES_BARBOACH - .byte 0 @ SPECIES_WHISCASH - .byte 0 @ SPECIES_LUVDISC - .byte 0 @ SPECIES_CORPHISH - .byte 0 @ SPECIES_CRAWDAUNT - .byte 0 @ SPECIES_FEEBAS - .byte 0 @ SPECIES_MILOTIC - .byte 0 @ SPECIES_CARVANHA - .byte 0 @ SPECIES_SHARPEDO - .byte 0 @ SPECIES_TRAPINCH - .byte 0 @ SPECIES_VIBRAVA - .byte 7 @ SPECIES_FLYGON - .byte 0 @ SPECIES_MAKUHITA - .byte 0 @ SPECIES_HARIYAMA - .byte 0 @ SPECIES_ELECTRIKE - .byte 0 @ SPECIES_MANECTRIC - .byte 0 @ SPECIES_NUMEL - .byte 0 @ SPECIES_CAMERUPT - .byte 0 @ SPECIES_SPHEAL - .byte 0 @ SPECIES_SEALEO - .byte 0 @ SPECIES_WALREIN - .byte 0 @ SPECIES_CACNEA - .byte 0 @ SPECIES_CACTURNE - .byte 0 @ SPECIES_SNORUNT - .byte 12 @ SPECIES_GLALIE - .byte 13 @ SPECIES_LUNATONE - .byte 4 @ SPECIES_SOLROCK - .byte 0 @ SPECIES_AZURILL - .byte 0 @ SPECIES_SPOINK - .byte 0 @ SPECIES_GRUMPIG - .byte 0 @ SPECIES_PLUSLE - .byte 0 @ SPECIES_MINUN - .byte 0 @ SPECIES_MAWILE - .byte 0 @ SPECIES_MEDITITE - .byte 0 @ SPECIES_MEDICHAM - .byte 12 @ SPECIES_SWABLU - .byte 8 @ SPECIES_ALTARIA - .byte 0 @ SPECIES_WYNAUT - .byte 9 @ SPECIES_DUSKULL - .byte 0 @ SPECIES_DUSCLOPS - .byte 0 @ SPECIES_ROSELIA - .byte 0 @ SPECIES_SLAKOTH - .byte 0 @ SPECIES_VIGOROTH - .byte 0 @ SPECIES_SLAKING - .byte 0 @ SPECIES_GULPIN - .byte 0 @ SPECIES_SWALOT - .byte 0 @ SPECIES_TROPIUS - .byte 0 @ SPECIES_WHISMUR - .byte 0 @ SPECIES_LOUDRED - .byte 0 @ SPECIES_EXPLOUD - .byte 0 @ SPECIES_CLAMPERL - .byte 0 @ SPECIES_HUNTAIL - .byte 0 @ SPECIES_GOREBYSS - .byte 0 @ SPECIES_ABSOL - .byte 12 @ SPECIES_SHUPPET - .byte 8 @ SPECIES_BANETTE - .byte 0 @ SPECIES_SEVIPER - .byte 0 @ SPECIES_ZANGOOSE - .byte 0 @ SPECIES_RELICANTH - .byte 0 @ SPECIES_ARON - .byte 0 @ SPECIES_LAIRON - .byte 0 @ SPECIES_AGGRON - .byte 16 @ SPECIES_CASTFORM - .byte 0 @ SPECIES_VOLBEAT - .byte 0 @ SPECIES_ILLUMISE - .byte 0 @ SPECIES_LILEEP - .byte 0 @ SPECIES_CRADILY - .byte 0 @ SPECIES_ANORITH - .byte 0 @ SPECIES_ARMALDO - .byte 0 @ SPECIES_RALTS - .byte 0 @ SPECIES_KIRLIA - .byte 0 @ SPECIES_GARDEVOIR - .byte 0 @ SPECIES_BAGON - .byte 0 @ SPECIES_SHELGON - .byte 0 @ SPECIES_SALAMENCE - .byte 8 @ SPECIES_BELDUM - .byte 0 @ SPECIES_METANG - .byte 0 @ SPECIES_METAGROSS - .byte 0 @ SPECIES_REGIROCK - .byte 0 @ SPECIES_REGICE - .byte 0 @ SPECIES_REGISTEEL - .byte 0 @ SPECIES_KYOGRE - .byte 0 @ SPECIES_GROUDON - .byte 6 @ SPECIES_RAYQUAZA - .byte 6 @ SPECIES_LATIAS - .byte 6 @ SPECIES_LATIOS - .byte 12 @ SPECIES_JIRACHI - .byte 8 @ SPECIES_DEOXYS - .byte 12 @ SPECIES_CHIMECHO diff --git a/data/graphics/pokemon/front_anims.inc b/data/graphics/pokemon/front_anims.inc deleted file mode 100644 index 69341c88d7..0000000000 --- a/data/graphics/pokemon/front_anims.inc +++ /dev/null @@ -1,6915 +0,0 @@ - - .align 2 -gAnimCmd_NONE_1:: @ 8305F68 - obj_image_anim_frame 0, 30 - obj_image_anim_frame 1, 30 - obj_image_anim_frame 0, 1 - obj_image_anim_end - - .align 2 -gAnimCmd_BULBASAUR_1:: @ 8305F78 - obj_image_anim_frame 0, 30 - obj_image_anim_frame 1, 30 - obj_image_anim_frame 0, 1 - obj_image_anim_end - - .align 2 -gAnimCmd_IVYSAUR_1:: @ 8305F88 - obj_image_anim_frame 0, 1 - obj_image_anim_frame 1, 36 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_VENUSAUR_1:: @ 8305F98 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 25 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_CHARMANDER_1:: @ 8305FA8 - obj_image_anim_frame 0, 2 - obj_image_anim_frame 1, 46 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_CHARMELEON_1:: @ 8305FB8 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 25 - obj_image_anim_frame 0, 30 - obj_image_anim_end - - .align 2 -gAnimCmd_CHARIZARD_1:: @ 8305FC8 - obj_image_anim_frame 1, 40 - obj_image_anim_frame 0, 5 - obj_image_anim_end - - .align 2 -gAnimCmd_SQUIRTLE_1:: @ 8305FD4 - obj_image_anim_frame 1, 50 - obj_image_anim_frame 1, 50 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_WARTORTLE_1:: @ 8305FE4 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 5 - obj_image_anim_end - - .align 2 -gAnimCmd_BLASTOISE_1:: @ 8305FF4 - obj_image_anim_frame 0, 50 - obj_image_anim_frame 1, 25 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 1, 25 - obj_image_anim_frame 0, 1 - obj_image_anim_end - - .align 2 -gAnimCmd_CATERPIE_1:: @ 830600C - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 5 - obj_image_anim_end - - .align 2 -gAnimCmd_METAPOD_1:: @ 8306030 - obj_image_anim_frame 1, 45 - obj_image_anim_frame 0, 5 - obj_image_anim_end - - .align 2 -gAnimCmd_BUTTERFREE_1:: @ 830603C - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 25 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_end - - .align 2 -gAnimCmd_WEEDLE_1:: @ 8306074 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 5 - obj_image_anim_end - - .align 2 -gAnimCmd_KAKUNA_1:: @ 8306094 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_end - - .align 2 -gAnimCmd_BEEDRILL_1:: @ 83060C4 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 35 - obj_image_anim_frame 0, 28 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_PIDGEY_1:: @ 83060DC - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_PIDGEOTTO_1:: @ 8306110 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 35 - obj_image_anim_frame 0, 5 - obj_image_anim_end - - .align 2 -gAnimCmd_PIDGEOT_1:: @ 8306128 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 1 - obj_image_anim_end - - .align 2 -gAnimCmd_RATTATA_1:: @ 830613C - obj_image_anim_frame 0, 3 - obj_image_anim_frame 1, 50 - obj_image_anim_frame 1, 28 - obj_image_anim_frame 0, 5 - obj_image_anim_end - - .align 2 -gAnimCmd_RATICATE_1:: @ 8306150 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_end - - .align 2 -gAnimCmd_SPEAROW_1:: @ 8306184 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_end - - .align 2 -gAnimCmd_FEAROW_1:: @ 83061C8 - obj_image_anim_frame 1, 7 - obj_image_anim_frame 0, 7 - obj_image_anim_frame 1, 7 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 7 - obj_image_anim_frame 0, 7 - obj_image_anim_frame 1, 7 - obj_image_anim_frame 0, 7 - obj_image_anim_end - - .align 2 -gAnimCmd_EKANS_1:: @ 83061EC - obj_image_anim_frame 1, 8 - obj_image_anim_frame 0, 8 - obj_image_anim_frame 1, 8 - obj_image_anim_frame 0, 8 - obj_image_anim_frame 1, 40 - obj_image_anim_frame 0, 8 - obj_image_anim_end - - .align 2 -gAnimCmd_ARBOK_1:: @ 8306208 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 35 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_PIKACHU_1:: @ 8306218 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_PIKACHU_2:: @ 8306230 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_RAICHU_1:: @ 8306244 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_RAICHU_2:: @ 830625C - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_SANDSHREW_1:: @ 8306270 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_SANDSHREW_2:: @ 8306288 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_SANDSLASH_1:: @ 830629C - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_SANDSLASH_2:: @ 83062B4 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_NIDORAN_F_1:: @ 83062C8 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 50 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 1 - obj_image_anim_end - - .align 2 -gAnimCmd_NIDORINA_1:: @ 83062F0 - obj_image_anim_frame 1, 40 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_NIDOQUEEN_1:: @ 83062FC - obj_image_anim_frame 1, 45 - obj_image_anim_frame 0, 5 - obj_image_anim_end - - .align 2 -gAnimCmd_NIDORAN_M_1:: @ 8306308 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 5 - obj_image_anim_end - - .align 2 -gAnimCmd_NIDORINO_1:: @ 8306318 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 5 - obj_image_anim_end - - .align 2 -gAnimCmd_NIDOKING_1:: @ 8306328 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 40 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_CLEFAIRY_1:: @ 830633C - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_CLEFABLE_1:: @ 830634C - obj_image_anim_frame 1, 27 - obj_image_anim_frame 0, 27 - obj_image_anim_frame 1, 24 - obj_image_anim_frame 0, 25 - obj_image_anim_frame 1, 27 - obj_image_anim_frame 0, 5 - obj_image_anim_end - - .align 2 -gAnimCmd_VULPIX_1:: @ 8306368 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_VULPIX_2:: @ 8306380 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_NINETALES_1:: @ 8306394 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_NINETALES_2:: @ 83063AC - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_JIGGLYPUFF_1:: @ 83063C0 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_JIGGLYPUFF_2:: @ 83063D8 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_WIGGLYTUFF_1:: @ 83063EC - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_WIGGLYTUFF_2:: @ 8306404 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_ZUBAT_1:: @ 8306418 - obj_image_anim_frame 0, 3 - obj_image_anim_frame 1, 3 - obj_image_anim_frame 0, 3 - obj_image_anim_frame 1, 3 - obj_image_anim_frame 0, 3 - obj_image_anim_frame 1, 3 - obj_image_anim_frame 0, 3 - obj_image_anim_frame 1, 3 - obj_image_anim_frame 0, 3 - obj_image_anim_frame 1, 3 - obj_image_anim_frame 0, 3 - obj_image_anim_frame 1, 3 - obj_image_anim_frame 0, 3 - obj_image_anim_end - - .align 2 -gAnimCmd_GOLBAT_1:: @ 8306450 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 1 - obj_image_anim_end - - .align 2 -gAnimCmd_ODDISH_1:: @ 83064A0 - obj_image_anim_frame 0, 11 - obj_image_anim_frame 1, 11 - obj_image_anim_frame 0, 11 - obj_image_anim_frame 1, 11 - obj_image_anim_frame 0, 11 - obj_image_anim_frame 1, 11 - obj_image_anim_frame 0, 6 - obj_image_anim_end - - .align 2 -gAnimCmd_GLOOM_1:: @ 83064C0 - obj_image_anim_frame 0, 21 - obj_image_anim_frame 1, 45 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_VILEPLUME_1:: @ 83064D4 - obj_image_anim_frame 0, 7 - obj_image_anim_frame 1, 21 - obj_image_anim_frame 0, 13 - obj_image_anim_frame 1, 21 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_PARAS_1:: @ 83064EC - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_end - - .align 2 -gAnimCmd_PARASECT_1:: @ 8306530 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 35 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_VENONAT_1:: @ 830654C - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 35 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_VENOMOTH_1:: @ 8306568 - obj_image_anim_frame 1, 4 - obj_image_anim_frame 0, 4 - obj_image_anim_frame 1, 4 - obj_image_anim_frame 0, 4 - obj_image_anim_frame 1, 4 - obj_image_anim_frame 0, 4 - obj_image_anim_frame 1, 4 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 4 - obj_image_anim_frame 0, 4 - obj_image_anim_frame 1, 4 - obj_image_anim_frame 0, 4 - obj_image_anim_frame 1, 4 - obj_image_anim_frame 0, 4 - obj_image_anim_frame 1, 4 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 4 - obj_image_anim_frame 0, 4 - obj_image_anim_frame 1, 4 - obj_image_anim_frame 0, 4 - obj_image_anim_frame 1, 4 - obj_image_anim_frame 0, 4 - obj_image_anim_end - - .align 2 -gAnimCmd_DIGLETT_1:: @ 83065C4 - obj_image_anim_frame 0, 25 - obj_image_anim_frame 1, 35 - obj_image_anim_frame 0, 5 - obj_image_anim_end - - .align 2 -gAnimCmd_DUGTRIO_1:: @ 83065D4 - obj_image_anim_frame 1, 35 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_MEOWTH_1:: @ 8306600 - obj_image_anim_frame 1, 8 - obj_image_anim_frame 0, 8 - obj_image_anim_frame 1, 8 - obj_image_anim_frame 0, 17 - obj_image_anim_frame 1, 30 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_PERSIAN_1:: @ 830661C - obj_image_anim_frame 1, 50 - obj_image_anim_frame 0, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_PSYDUCK_1:: @ 8306628 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_PSYDUCK_2:: @ 8306640 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_GOLDUCK_1:: @ 8306654 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_GOLDUCK_2:: @ 830666C - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_MANKEY_1:: @ 8306680 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 28 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 5 - obj_image_anim_end - - .align 2 -gAnimCmd_PRIMEAPE_1:: @ 830669C - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_GROWLITHE_1:: @ 83066B8 - obj_image_anim_frame 1, 8 - obj_image_anim_frame 0, 8 - obj_image_anim_frame 1, 8 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_ARCANINE_1:: @ 83066D4 - obj_image_anim_frame 1, 8 - obj_image_anim_frame 0, 8 - obj_image_anim_frame 1, 8 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 40 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_POLIWAG_1:: @ 83066F0 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_POLIWHIRL_1:: @ 8306700 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 25 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_POLIWRATH_1:: @ 8306718 - obj_image_anim_frame 1, 45 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_ABRA_1:: @ 8306724 - obj_image_anim_frame 0, 7 - obj_image_anim_frame 1, 21 - obj_image_anim_frame 0, 13 - obj_image_anim_frame 1, 21 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_KADABRA_1:: @ 830673C - obj_image_anim_frame 0, 12 - obj_image_anim_frame 1, 45 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_ALAKAZAM_1:: @ 830674C - obj_image_anim_frame 0, 9 - obj_image_anim_frame 1, 54 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_MACHOP_1:: @ 830675C - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_MACHOKE_1:: @ 830677C - obj_image_anim_frame 0, 20 - obj_image_anim_frame 1, 44 - obj_image_anim_frame 0, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_MACHAMP_1:: @ 830678C - obj_image_anim_frame 0, 11 - obj_image_anim_frame 1, 11 - obj_image_anim_frame 0, 11 - obj_image_anim_frame 1, 11 - obj_image_anim_frame 0, 11 - obj_image_anim_frame 1, 11 - obj_image_anim_frame 0, 11 - obj_image_anim_end - - .align 2 -gAnimCmd_BELLSPROUT_1:: @ 83067AC - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 25 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_WEEPINBELL_1:: @ 83067BC - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 25 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 25 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 25 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_VICTREEBEL_1:: @ 83067DC - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_TENTACOOL_1:: @ 83067FC - obj_image_anim_frame 0, 8 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 7 - obj_image_anim_frame 1, 11 - obj_image_anim_frame 0, 11 - obj_image_anim_end - - .align 2 -gAnimCmd_TENTACRUEL_1:: @ 8306814 - obj_image_anim_frame 0, 19 - obj_image_anim_frame 1, 35 - obj_image_anim_frame 0, 19 - obj_image_anim_frame 1, 19 - obj_image_anim_frame 0, 8 - obj_image_anim_end - - .align 2 -gAnimCmd_GEODUDE_1:: @ 830682C - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 36 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_GRAVELER_1:: @ 830683C - obj_image_anim_frame 0, 16 - obj_image_anim_frame 1, 16 - obj_image_anim_frame 0, 16 - obj_image_anim_frame 1, 16 - obj_image_anim_frame 0, 16 - obj_image_anim_end - - .align 2 -gAnimCmd_GOLEM_1:: @ 8306854 - obj_image_anim_frame 0, 8 - obj_image_anim_frame 1, 31 - obj_image_anim_frame 0, 1 - obj_image_anim_frame 0, 2 - obj_image_anim_frame 0, 8 - obj_image_anim_end - - .align 2 -gAnimCmd_PONYTA_1:: @ 830686C - obj_image_anim_frame 1, 45 - obj_image_anim_frame 0, 5 - obj_image_anim_end - - .align 2 -gAnimCmd_RAPIDASH_1:: @ 8306878 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 40 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_SLOWPOKE_1:: @ 8306888 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 1, 50 - obj_image_anim_frame 0, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_SLOWBRO_1:: @ 8306898 - obj_image_anim_frame 1, 50 - obj_image_anim_frame 1, 45 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_MAGNEMITE_1:: @ 83068A8 - obj_image_anim_frame 0, 28 - obj_image_anim_frame 1, 28 - obj_image_anim_frame 0, 28 - obj_image_anim_frame 1, 28 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_MAGNETON_1:: @ 83068C0 - obj_image_anim_frame 0, 14 - obj_image_anim_frame 1, 14 - obj_image_anim_frame 0, 14 - obj_image_anim_frame 1, 14 - obj_image_anim_frame 0, 14 - obj_image_anim_frame 1, 14 - obj_image_anim_frame 0, 14 - obj_image_anim_end - - .align 2 -gAnimCmd_FARFETCHD_1:: @ 83068E0 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_end - - .align 2 -gAnimCmd_DODUO_1:: @ 8306914 - obj_image_anim_frame 0, 18 - obj_image_anim_frame 1, 18 - obj_image_anim_frame 0, 18 - obj_image_anim_frame 1, 18 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_DODRIO_1:: @ 830692C - obj_image_anim_frame 0, 12 - obj_image_anim_frame 1, 12 - obj_image_anim_frame 0, 12 - obj_image_anim_frame 1, 12 - obj_image_anim_frame 0, 12 - obj_image_anim_frame 1, 12 - obj_image_anim_frame 0, 12 - obj_image_anim_frame 1, 12 - obj_image_anim_frame 0, 8 - obj_image_anim_end - - .align 2 -gAnimCmd_SEEL_1:: @ 8306954 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_DEWGONG_1:: @ 8306978 - obj_image_anim_frame 0, 30 - obj_image_anim_frame 1, 30 - obj_image_anim_frame 0, 30 - obj_image_anim_end - - .align 2 -gAnimCmd_GRIMER_1:: @ 8306988 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_GRIMER_2:: @ 83069A0 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_MUK_1:: @ 83069B4 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_MUK_2:: @ 83069CC - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_SHELLDER_1:: @ 83069E0 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 45 - obj_image_anim_frame 0, 5 - obj_image_anim_end - - .align 2 -gAnimCmd_CLOYSTER_1:: @ 83069F4 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 25 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_end - - .align 2 -gAnimCmd_GASTLY_1:: @ 8306A38 - obj_image_anim_frame 1, 50 - obj_image_anim_frame 1, 30 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_HAUNTER_1:: @ 8306A48 - obj_image_anim_frame 1, 8 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 35 - obj_image_anim_frame 1, 30 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_GENGAR_1:: @ 8306A60 - obj_image_anim_frame 1, 50 - obj_image_anim_frame 1, 40 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_ONIX_1:: @ 8306A70 - obj_image_anim_frame 1, 50 - obj_image_anim_frame 1, 30 - obj_image_anim_frame 0, 30 - obj_image_anim_end - - .align 2 -gAnimCmd_DROWZEE_1:: @ 8306A80 - obj_image_anim_frame 1, 12 - obj_image_anim_frame 0, 12 - obj_image_anim_frame 1, 12 - obj_image_anim_frame 0, 12 - obj_image_anim_frame 1, 45 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_HYPNO_1:: @ 8306A9C - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_KRABBY_1:: @ 8306ABC - obj_image_anim_frame 1, 8 - obj_image_anim_frame 0, 8 - obj_image_anim_frame 1, 8 - obj_image_anim_frame 0, 8 - obj_image_anim_frame 1, 8 - obj_image_anim_frame 0, 8 - obj_image_anim_end - - .align 2 -gAnimCmd_KINGLER_1:: @ 8306AD8 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 25 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_VOLTORB_1:: @ 8306B00 - obj_image_anim_frame 0, 4 - obj_image_anim_frame 1, 25 - obj_image_anim_frame 0, 4 - obj_image_anim_frame 1, 25 - obj_image_anim_frame 0, 4 - obj_image_anim_end - - .align 2 -gAnimCmd_ELECTRODE_1:: @ 8306B18 - obj_image_anim_frame 0, 8 - obj_image_anim_frame 1, 30 - obj_image_anim_frame 0, 8 - obj_image_anim_frame 1, 30 - obj_image_anim_frame 0, 8 - obj_image_anim_end - - .align 2 -gAnimCmd_EXEGGCUTE_1:: @ 8306B30 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_EXEGGUTOR_1:: @ 8306B58 - obj_image_anim_frame 1, 35 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_CUBONE_1:: @ 8306B64 - obj_image_anim_frame 1, 14 - obj_image_anim_frame 0, 14 - obj_image_anim_frame 1, 14 - obj_image_anim_frame 0, 14 - obj_image_anim_frame 1, 14 - obj_image_anim_frame 0, 14 - obj_image_anim_end - - .align 2 -gAnimCmd_MAROWAK_1:: @ 8306B80 - obj_image_anim_frame 1, 14 - obj_image_anim_frame 0, 14 - obj_image_anim_frame 1, 14 - obj_image_anim_frame 0, 14 - obj_image_anim_frame 1, 14 - obj_image_anim_frame 0, 14 - obj_image_anim_end - - .align 2 -gAnimCmd_HITMONLEE_1:: @ 8306B9C - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_HITMONCHAN_1:: @ 8306BA8 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 25 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_LICKITUNG_1:: @ 8306BCC - obj_image_anim_frame 0, 28 - obj_image_anim_frame 1, 32 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_KOFFING_1:: @ 8306BDC - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_KOFFING_2:: @ 8306BF4 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_WEEZING_1:: @ 8306C08 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_WEEZING_2:: @ 8306C20 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_RHYHORN_1:: @ 8306C34 - obj_image_anim_frame 0, 11 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_RHYHORN_2:: @ 8306C4C - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_RHYDON_1:: @ 8306C60 - obj_image_anim_frame 0, 11 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 48 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_RHYDON_2:: @ 8306C78 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_CHANSEY_1:: @ 8306C8C - obj_image_anim_frame 0, 30 - obj_image_anim_frame 1, 30 - obj_image_anim_frame 0, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_TANGELA_1:: @ 8306C9C - obj_image_anim_frame 1, 9 - obj_image_anim_frame 0, 9 - obj_image_anim_frame 1, 9 - obj_image_anim_frame 0, 9 - obj_image_anim_frame 1, 9 - obj_image_anim_frame 0, 9 - obj_image_anim_frame 1, 9 - obj_image_anim_frame 0, 9 - obj_image_anim_frame 1, 9 - obj_image_anim_frame 0, 9 - obj_image_anim_end - - .align 2 -gAnimCmd_KANGASKHAN_1:: @ 8306CC8 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_HORSEA_1:: @ 8306CDC - obj_image_anim_frame 0, 11 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_HORSEA_2:: @ 8306CF4 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_SEADRA_1:: @ 8306D08 - obj_image_anim_frame 0, 11 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_SEADRA_2:: @ 8306D20 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_GOLDEEN_1:: @ 8306D34 - obj_image_anim_frame 0, 16 - obj_image_anim_frame 1, 16 - obj_image_anim_frame 0, 16 - obj_image_anim_frame 1, 16 - obj_image_anim_frame 0, 16 - obj_image_anim_frame 1, 16 - obj_image_anim_frame 0, 16 - obj_image_anim_frame 1, 16 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_SEAKING_1:: @ 8306D5C - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_STARYU_1:: @ 8306D74 - obj_image_anim_frame 0, 11 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_STARYU_2:: @ 8306D8C - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_STARMIE_1:: @ 8306DA0 - obj_image_anim_frame 0, 11 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_STARMIE_2:: @ 8306DB8 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_MR_MIME_1:: @ 8306DCC - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_SCYTHER_1:: @ 8306DE8 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 25 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_end - - .align 2 -gAnimCmd_JYNX_1:: @ 8306E0C - obj_image_anim_frame 1, 40 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 50 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_ELECTABUZZ_1:: @ 8306E24 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 40 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_MAGMAR_1:: @ 8306E38 - obj_image_anim_frame 1, 40 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_PINSIR_1:: @ 8306E44 - obj_image_anim_frame 0, 11 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_PINSIR_2:: @ 8306E5C - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_TAUROS_1:: @ 8306E70 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 1, 25 - obj_image_anim_frame 0, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_MAGIKARP_1:: @ 8306E84 - obj_image_anim_frame 0, 8 - obj_image_anim_frame 1, 8 - obj_image_anim_frame 0, 8 - obj_image_anim_frame 1, 8 - obj_image_anim_frame 0, 8 - obj_image_anim_frame 1, 8 - obj_image_anim_frame 0, 8 - obj_image_anim_frame 1, 8 - obj_image_anim_frame 0, 8 - obj_image_anim_end - - .align 2 -gAnimCmd_GYARADOS_1:: @ 8306EAC - obj_image_anim_frame 0, 8 - obj_image_anim_frame 1, 32 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_LAPRAS_1:: @ 8306EBC - obj_image_anim_frame 1, 30 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_DITTO_1:: @ 8306EC8 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_EEVEE_1:: @ 8306EDC - obj_image_anim_frame 1, 33 - obj_image_anim_frame 0, 5 - obj_image_anim_end - - .align 2 -gAnimCmd_VAPOREON_1:: @ 8306EE8 - obj_image_anim_frame 1, 40 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_JOLTEON_1:: @ 8306EF4 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_FLAREON_1:: @ 8306F00 - obj_image_anim_frame 1, 30 - obj_image_anim_frame 0, 30 - obj_image_anim_end - - .align 2 -gAnimCmd_PORYGON_1:: @ 8306F0C - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_OMANYTE_1:: @ 8306F20 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_OMASTAR_1:: @ 8306F44 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_KABUTO_1:: @ 8306F58 - obj_image_anim_frame 1, 8 - obj_image_anim_frame 0, 8 - obj_image_anim_frame 1, 8 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 1, 8 - obj_image_anim_frame 0, 8 - obj_image_anim_frame 1, 8 - obj_image_anim_frame 0, 8 - obj_image_anim_end - - .align 2 -gAnimCmd_KABUTOPS_1:: @ 8306F7C - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_AERODACTYL_1:: @ 8306F90 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 25 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 25 - obj_image_anim_end - - .align 2 -gAnimCmd_SNORLAX_1:: @ 8306FA4 - obj_image_anim_frame 1, 50 - obj_image_anim_frame 1, 50 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_ARTICUNO_1:: @ 8306FB4 - obj_image_anim_frame 1, 25 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_ZAPDOS_1:: @ 8306FC8 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 30 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_MOLTRES_1:: @ 8306FDC - obj_image_anim_frame 1, 3 - obj_image_anim_frame 0, 3 - obj_image_anim_frame 1, 3 - obj_image_anim_frame 0, 3 - obj_image_anim_frame 1, 3 - obj_image_anim_frame 0, 3 - obj_image_anim_frame 1, 3 - obj_image_anim_frame 0, 3 - obj_image_anim_frame 1, 3 - obj_image_anim_frame 0, 3 - obj_image_anim_frame 1, 3 - obj_image_anim_frame 0, 3 - obj_image_anim_frame 1, 3 - obj_image_anim_frame 0, 3 - obj_image_anim_frame 1, 3 - obj_image_anim_frame 0, 3 - obj_image_anim_frame 1, 3 - obj_image_anim_frame 0, 3 - obj_image_anim_frame 1, 3 - obj_image_anim_frame 0, 3 - obj_image_anim_frame 1, 3 - obj_image_anim_frame 0, 3 - obj_image_anim_frame 1, 3 - obj_image_anim_frame 0, 3 - obj_image_anim_frame 1, 3 - obj_image_anim_frame 0, 3 - obj_image_anim_frame 1, 3 - obj_image_anim_frame 0, 3 - obj_image_anim_frame 1, 3 - obj_image_anim_frame 0, 3 - obj_image_anim_frame 1, 3 - obj_image_anim_frame 0, 3 - obj_image_anim_end - - .align 2 -gAnimCmd_DRATINI_1:: @ 8307060 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_DRAGONAIR_1:: @ 8307070 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_DRAGONITE_1:: @ 8307084 - obj_image_anim_frame 1, 50 - obj_image_anim_frame 1, 30 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_MEWTWO_1:: @ 8307094 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_MEW_1:: @ 83070A0 - obj_image_anim_frame 1, 50 - obj_image_anim_frame 1, 40 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_CHIKORITA_1:: @ 83070B0 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_BAYLEEF_1:: @ 83070C0 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_MEGANIUM_1:: @ 83070CC - obj_image_anim_frame 1, 30 - obj_image_anim_frame 0, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_CYNDAQUIL_1:: @ 83070D8 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_QUILAVA_1:: @ 83070EC - obj_image_anim_frame 1, 30 - obj_image_anim_frame 0, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_TYPHLOSION_1:: @ 83070F8 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_TOTODILE_1:: @ 8307104 - obj_image_anim_frame 1, 8 - obj_image_anim_frame 0, 8 - obj_image_anim_frame 1, 8 - obj_image_anim_frame 0, 8 - obj_image_anim_frame 1, 8 - obj_image_anim_frame 0, 8 - obj_image_anim_end - - .align 2 -gAnimCmd_CROCONAW_1:: @ 8307120 - obj_image_anim_frame 1, 40 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_FERALIGATR_1:: @ 830712C - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 25 - obj_image_anim_frame 0, 40 - obj_image_anim_end - - .align 2 -gAnimCmd_SENTRET_1:: @ 8307140 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_FURRET_1:: @ 8307154 - obj_image_anim_frame 1, 35 - obj_image_anim_frame 0, 5 - obj_image_anim_end - - .align 2 -gAnimCmd_HOOTHOOT_1:: @ 8307160 - obj_image_anim_frame 1, 7 - obj_image_anim_frame 0, 7 - obj_image_anim_frame 1, 7 - obj_image_anim_frame 0, 7 - obj_image_anim_frame 1, 7 - obj_image_anim_frame 0, 7 - obj_image_anim_frame 1, 7 - obj_image_anim_frame 0, 7 - obj_image_anim_frame 1, 7 - obj_image_anim_frame 0, 7 - obj_image_anim_frame 1, 7 - obj_image_anim_frame 0, 7 - obj_image_anim_end - - .align 2 -gAnimCmd_NOCTOWL_1:: @ 8307194 - obj_image_anim_frame 1, 40 - obj_image_anim_frame 0, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_LEDYBA_1:: @ 83071A0 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_LEDIAN_1:: @ 83071B4 - obj_image_anim_frame 1, 3 - obj_image_anim_frame 0, 3 - obj_image_anim_frame 1, 3 - obj_image_anim_frame 0, 3 - obj_image_anim_frame 1, 3 - obj_image_anim_frame 0, 3 - obj_image_anim_frame 1, 3 - obj_image_anim_frame 0, 3 - obj_image_anim_frame 1, 3 - obj_image_anim_frame 0, 3 - obj_image_anim_frame 1, 3 - obj_image_anim_frame 0, 3 - obj_image_anim_frame 1, 3 - obj_image_anim_frame 0, 3 - obj_image_anim_frame 1, 3 - obj_image_anim_frame 0, 3 - obj_image_anim_frame 1, 3 - obj_image_anim_frame 0, 3 - obj_image_anim_frame 1, 3 - obj_image_anim_frame 0, 3 - obj_image_anim_frame 1, 3 - obj_image_anim_frame 0, 3 - obj_image_anim_frame 1, 3 - obj_image_anim_frame 0, 3 - obj_image_anim_frame 1, 3 - obj_image_anim_frame 0, 3 - obj_image_anim_end - - .align 2 -gAnimCmd_SPINARAK_1:: @ 8307220 - obj_image_anim_frame 1, 6 - obj_image_anim_frame 0, 6 - obj_image_anim_frame 1, 6 - obj_image_anim_frame 0, 6 - obj_image_anim_frame 1, 6 - obj_image_anim_frame 0, 6 - obj_image_anim_frame 1, 6 - obj_image_anim_frame 0, 6 - obj_image_anim_end - - .align 2 -gAnimCmd_ARIADOS_1:: @ 8307244 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_CROBAT_1:: @ 8307258 - obj_image_anim_frame 0, 2 - obj_image_anim_frame 1, 2 - obj_image_anim_frame 0, 2 - obj_image_anim_frame 1, 2 - obj_image_anim_frame 0, 2 - obj_image_anim_frame 1, 2 - obj_image_anim_frame 0, 2 - obj_image_anim_frame 1, 2 - obj_image_anim_frame 0, 2 - obj_image_anim_frame 1, 2 - obj_image_anim_frame 0, 2 - obj_image_anim_frame 1, 2 - obj_image_anim_frame 0, 2 - obj_image_anim_frame 1, 2 - obj_image_anim_frame 0, 2 - obj_image_anim_frame 1, 2 - obj_image_anim_frame 0, 2 - obj_image_anim_end - - .align 2 -gAnimCmd_CHINCHOU_1:: @ 83072A0 - obj_image_anim_frame 0, 11 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_CHINCHOU_2:: @ 83072B8 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_LANTURN_1:: @ 83072CC - obj_image_anim_frame 0, 11 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_LANTURN_2:: @ 83072E4 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_PICHU_1:: @ 83072F8 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_PICHU_2:: @ 8307310 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_CLEFFA_1:: @ 8307324 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_IGGLYBUFF_1:: @ 8307338 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_IGGLYBUFF_2:: @ 8307350 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_TOGEPI_1:: @ 8307364 - obj_image_anim_frame 1, 50 - obj_image_anim_frame 1, 50 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_TOGETIC_1:: @ 8307374 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_NATU_1:: @ 8307384 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_NATU_2:: @ 830739C - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_XATU_1:: @ 83073B0 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 45 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_XATU_2:: @ 83073D0 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_MAREEP_1:: @ 83073E4 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_FLAAFFY_1:: @ 8307400 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_AMPHAROS_1:: @ 8307414 - obj_image_anim_frame 1, 50 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_BELLOSSOM_1:: @ 8307424 - obj_image_anim_frame 0, 22 - obj_image_anim_frame 1, 22 - obj_image_anim_frame 0, 22 - obj_image_anim_frame 1, 22 - obj_image_anim_frame 0, 22 - obj_image_anim_frame 1, 22 - obj_image_anim_frame 0, 22 - obj_image_anim_end - - .align 2 -gAnimCmd_MARILL_1:: @ 8307444 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 1, 44 - obj_image_anim_frame 0, 22 - obj_image_anim_frame 1, 44 - obj_image_anim_frame 0, 11 - obj_image_anim_end - - .align 2 -gAnimCmd_AZUMARILL_1:: @ 830745C - obj_image_anim_frame 0, 22 - obj_image_anim_frame 1, 22 - obj_image_anim_frame 0, 22 - obj_image_anim_frame 1, 22 - obj_image_anim_frame 0, 11 - obj_image_anim_end - - .align 2 -gAnimCmd_SUDOWOODO_1:: @ 8307474 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_POLITOED_1:: @ 8307490 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 35 - obj_image_anim_frame 0, 5 - obj_image_anim_end - - .align 2 -gAnimCmd_HOPPIP_1:: @ 83074AC - obj_image_anim_frame 1, 25 - obj_image_anim_frame 0, 25 - obj_image_anim_frame 1, 25 - obj_image_anim_frame 0, 25 - obj_image_anim_end - - .align 2 -gAnimCmd_SKIPLOOM_1:: @ 83074C0 - obj_image_anim_frame 1, 12 - obj_image_anim_frame 0, 12 - obj_image_anim_frame 1, 12 - obj_image_anim_frame 0, 30 - obj_image_anim_frame 1, 12 - obj_image_anim_frame 0, 12 - obj_image_anim_frame 1, 12 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_JUMPLUFF_1:: @ 83074E4 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 25 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 25 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_AIPOM_1:: @ 8307500 - obj_image_anim_frame 1, 35 - obj_image_anim_frame 0, 5 - obj_image_anim_end - - .align 2 -gAnimCmd_SUNKERN_1:: @ 830750C - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_SUNFLORA_1:: @ 8307520 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_YANMA_1:: @ 8307530 - obj_image_anim_frame 1, 2 - obj_image_anim_frame 0, 2 - obj_image_anim_frame 1, 2 - obj_image_anim_frame 0, 2 - obj_image_anim_frame 1, 2 - obj_image_anim_frame 0, 2 - obj_image_anim_frame 1, 2 - obj_image_anim_frame 0, 2 - obj_image_anim_frame 1, 2 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 1, 2 - obj_image_anim_frame 0, 2 - obj_image_anim_frame 1, 2 - obj_image_anim_frame 0, 2 - obj_image_anim_frame 1, 2 - obj_image_anim_frame 0, 2 - obj_image_anim_frame 1, 2 - obj_image_anim_frame 0, 2 - obj_image_anim_frame 1, 2 - obj_image_anim_frame 0, 2 - obj_image_anim_frame 1, 2 - obj_image_anim_frame 0, 2 - obj_image_anim_end - - .align 2 -gAnimCmd_WOOPER_1:: @ 830758C - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_QUAGSIRE_1:: @ 830759C - obj_image_anim_frame 1, 32 - obj_image_anim_frame 0, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_ESPEON_1:: @ 83075A8 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 25 - obj_image_anim_frame 0, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_UMBREON_1:: @ 83075B8 - obj_image_anim_frame 1, 40 - obj_image_anim_frame 0, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_MURKROW_1:: @ 83075C4 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_SLOWKING_1:: @ 83075D0 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_MISDREAVUS_1:: @ 83075E0 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_UNOWN_1:: @ 830760C - obj_image_anim_frame 0, 30 - obj_image_anim_frame 1, 30 - obj_image_anim_frame 0, 1 - obj_image_anim_end - - .align 2 -gAnimCmd_WOBBUFFET_1:: @ 830761C - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_WOBBUFFET_2:: @ 8307634 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_GIRAFARIG_1:: @ 8307648 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_GIRAFARIG_2:: @ 8307668 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_PINECO_1:: @ 830767C - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_FORRETRESS_1:: @ 83076A0 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_DUNSPARCE_1:: @ 83076B4 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_GLIGAR_1:: @ 83076C8 - obj_image_anim_frame 1, 17 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_STEELIX_1:: @ 83076D4 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 8 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 1, 35 - obj_image_anim_frame 0, 5 - obj_image_anim_end - - .align 2 -gAnimCmd_SNUBBULL_1:: @ 83076F0 - obj_image_anim_frame 1, 32 - obj_image_anim_frame 0, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_GRANBULL_1:: @ 83076FC - obj_image_anim_frame 1, 35 - obj_image_anim_frame 0, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_QWILFISH_1:: @ 8307708 - obj_image_anim_frame 1, 8 - obj_image_anim_frame 0, 8 - obj_image_anim_frame 1, 8 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 50 - obj_image_anim_frame 1, 30 - obj_image_anim_frame 0, 30 - obj_image_anim_end - - .align 2 -gAnimCmd_SCIZOR_1:: @ 8307728 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_SHUCKLE_1:: @ 8307734 - obj_image_anim_frame 1, 50 - obj_image_anim_frame 1, 50 - obj_image_anim_frame 0, 30 - obj_image_anim_end - - .align 2 -gAnimCmd_HERACROSS_1:: @ 8307744 - obj_image_anim_frame 0, 11 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_HERACROSS_2:: @ 830775C - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_SNEASEL_1:: @ 8307770 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_TEDDIURSA_1:: @ 830777C - obj_image_anim_frame 1, 30 - obj_image_anim_frame 0, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_URSARING_1:: @ 8307788 - obj_image_anim_frame 1, 40 - obj_image_anim_frame 0, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_SLUGMA_1:: @ 8307794 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_SLUGMA_2:: @ 83077AC - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_MAGCARGO_1:: @ 83077C0 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_MAGCARGO_2:: @ 83077D8 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_SWINUB_1:: @ 83077EC - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_PILOSWINE_1:: @ 8307800 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_CORSOLA_1:: @ 8307814 - obj_image_anim_frame 0, 11 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_CORSOLA_2:: @ 830782C - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_REMORAID_1:: @ 8307840 - obj_image_anim_frame 1, 8 - obj_image_anim_frame 0, 8 - obj_image_anim_frame 1, 8 - obj_image_anim_frame 0, 8 - obj_image_anim_end - - .align 2 -gAnimCmd_OCTILLERY_1:: @ 8307854 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 30 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_DELIBIRD_1:: @ 8307868 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_MANTINE_1:: @ 830787C - obj_image_anim_frame 1, 30 - obj_image_anim_frame 0, 30 - obj_image_anim_frame 1, 30 - obj_image_anim_frame 0, 40 - obj_image_anim_end - - .align 2 -gAnimCmd_SKARMORY_1:: @ 8307890 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_SKARMORY_2:: @ 83078A8 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_HOUNDOUR_1:: @ 83078BC - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_HOUNDOOM_1:: @ 83078D0 - obj_image_anim_frame 1, 40 - obj_image_anim_frame 0, 30 - obj_image_anim_end - - .align 2 -gAnimCmd_KINGDRA_1:: @ 83078DC - obj_image_anim_frame 0, 11 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_KINGDRA_2:: @ 83078F4 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_PHANPY_1:: @ 8307908 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_PHANPY_2:: @ 8307928 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_DONPHAN_1:: @ 830793C - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_DONPHAN_2:: @ 830795C - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_PORYGON2_1:: @ 8307970 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_STANTLER_1:: @ 8307988 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_SMEARGLE_1:: @ 8307994 - obj_image_anim_frame 1, 12 - obj_image_anim_frame 0, 12 - obj_image_anim_frame 1, 12 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_TYROGUE_1:: @ 83079A8 - obj_image_anim_frame 1, 40 - obj_image_anim_frame 0, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_HITMONTOP_1:: @ 83079B4 - obj_image_anim_frame 0, 4 - obj_image_anim_frame 1, 4 - obj_image_anim_frame 0, 4 - obj_image_anim_frame 1, 4 - obj_image_anim_frame 0, 4 - obj_image_anim_frame 1, 4 - obj_image_anim_frame 0, 4 - obj_image_anim_frame 1, 4 - obj_image_anim_frame 0, 4 - obj_image_anim_frame 1, 4 - obj_image_anim_frame 0, 4 - obj_image_anim_end - - .align 2 -gAnimCmd_SMOOCHUM_1:: @ 83079E4 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 30 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_ELEKID_1:: @ 8307A00 - obj_image_anim_frame 1, 50 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_MAGBY_1:: @ 8307A10 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_MILTANK_1:: @ 8307A30 - obj_image_anim_frame 1, 30 - obj_image_anim_frame 0, 30 - obj_image_anim_end - - .align 2 -gAnimCmd_BLISSEY_1:: @ 8307A3C - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_RAIKOU_1:: @ 8307A48 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 30 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_ENTEI_1:: @ 8307A5C - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_SUICUNE_1:: @ 8307A68 - obj_image_anim_frame 1, 40 - obj_image_anim_frame 0, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_LARVITAR_1:: @ 8307A74 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_PUPITAR_1:: @ 8307A88 - obj_image_anim_frame 1, 40 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_TYRANITAR_1:: @ 8307A94 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_LUGIA_1:: @ 8307AA8 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_HO_OH_1:: @ 8307AB4 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_CELEBI_1:: @ 8307AC0 - obj_image_anim_frame 1, 30 - obj_image_anim_frame 0, 30 - obj_image_anim_frame 1, 30 - obj_image_anim_frame 0, 30 - obj_image_anim_end - - .align 2 -gAnimCmd_OLD_UNOWN_B_1:: @ 8307AD4 - obj_image_anim_frame 0, 30 - obj_image_anim_frame 1, 30 - obj_image_anim_frame 0, 1 - obj_image_anim_end - - .align 2 -gAnimCmd_TREECKO_1:: @ 8307AE4 - obj_image_anim_frame 0, 6 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 6 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 3 - obj_image_anim_end - - .align 2 -gAnimCmd_GROVYLE_1:: @ 8307AFC - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 18 - obj_image_anim_frame 0, 7 - obj_image_anim_frame 1, 12 - obj_image_anim_frame 0, 6 - obj_image_anim_end - - .align 2 -gAnimCmd_SCEPTILE_1:: @ 8307B14 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 26 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_TORCHIC_1:: @ 8307B24 - obj_image_anim_frame 0, 7 - obj_image_anim_frame 1, 4 - obj_image_anim_frame 0, 4 - obj_image_anim_frame 1, 4 - obj_image_anim_frame 0, 4 - obj_image_anim_frame 1, 4 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_COMBUSKEN_1:: @ 8307B44 - obj_image_anim_frame 0, 8 - obj_image_anim_frame 1, 25 - obj_image_anim_frame 0, 12 - obj_image_anim_end - - .align 2 -gAnimCmd_BLAZIKEN_1:: @ 8307B54 - obj_image_anim_frame 0, 1 - obj_image_anim_frame 1, 25 - obj_image_anim_frame 0, 7 - obj_image_anim_frame 1, 7 - obj_image_anim_frame 0, 7 - obj_image_anim_end - - .align 2 -gAnimCmd_BLAZIKEN_2:: @ 8307B6C - obj_image_anim_frame 0, 1 - obj_image_anim_frame 2, 8 - obj_image_anim_frame 0, 8 - obj_image_anim_end - - .align 2 -gAnimCmd_BLAZIKEN_3:: @ 8307B7C - obj_image_anim_frame 0, 10 - obj_image_anim_frame 2, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_BLAZIKEN_4:: @ 8307B88 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_MUDKIP_1:: @ 8307B90 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 8 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 13 - obj_image_anim_frame 0, 7 - obj_image_anim_end - - .align 2 -gAnimCmd_MARSHTOMP_1:: @ 8307BA8 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 1 - obj_image_anim_end - - .align 2 -gAnimCmd_SWAMPERT_1:: @ 8307BD0 - obj_image_anim_frame 0, 8 - obj_image_anim_frame 1, 44 - obj_image_anim_frame 0, 18 - obj_image_anim_frame 1, 18 - obj_image_anim_frame 0, 7 - obj_image_anim_end - - .align 2 -gAnimCmd_POOCHYENA_1:: @ 8307BE8 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 44 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_MIGHTYENA_1:: @ 8307BF8 - obj_image_anim_frame 0, 27 - obj_image_anim_frame 1, 6 - obj_image_anim_frame 0, 6 - obj_image_anim_frame 1, 6 - obj_image_anim_frame 0, 6 - obj_image_anim_end - - .align 2 -gAnimCmd_ZIGZAGOON_1:: @ 8307C10 - obj_image_anim_frame 0, 27 - obj_image_anim_frame 1, 6 - obj_image_anim_frame 0, 6 - obj_image_anim_frame 1, 6 - obj_image_anim_frame 0, 1 - obj_image_anim_end - - .align 2 -gAnimCmd_LINOONE_1:: @ 8307C28 - obj_image_anim_frame 0, 14 - obj_image_anim_frame 1, 14 - obj_image_anim_frame 0, 14 - obj_image_anim_frame 1, 14 - obj_image_anim_frame 0, 14 - obj_image_anim_end - - .align 2 -gAnimCmd_WURMPLE_1:: @ 8307C40 - obj_image_anim_frame 0, 22 - obj_image_anim_frame 1, 35 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_SILCOON_1:: @ 8307C50 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 25 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_SILCOON_2:: @ 8307C60 - obj_image_anim_frame 1, 1 - obj_image_anim_end - - .align 2 -gAnimCmd_BEAUTIFLY_1:: @ 8307C68 - obj_image_anim_frame 0, 2 - obj_image_anim_frame 1, 2 - obj_image_anim_frame 0, 2 - obj_image_anim_frame 1, 2 - obj_image_anim_frame 0, 2 - obj_image_anim_frame 1, 2 - obj_image_anim_frame 0, 2 - obj_image_anim_frame 1, 2 - obj_image_anim_frame 0, 2 - obj_image_anim_end - - .align 2 -gAnimCmd_BEAUTIFLY_2:: @ 8307C90 - obj_image_anim_frame 1, 1 - obj_image_anim_end - - .align 2 -gAnimCmd_CASCOON_1:: @ 8307C98 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_CASCOON_2:: @ 8307CB0 - obj_image_anim_frame 1, 1 - obj_image_anim_end - - .align 2 -gAnimCmd_DUSTOX_1:: @ 8307CB8 - obj_image_anim_frame 0, 1 - obj_image_anim_frame 1, 1 - obj_image_anim_frame 0, 1 - obj_image_anim_frame 1, 1 - obj_image_anim_frame 0, 2 - obj_image_anim_frame 1, 2 - obj_image_anim_frame 0, 3 - obj_image_anim_frame 1, 3 - obj_image_anim_frame 0, 4 - obj_image_anim_frame 1, 4 - obj_image_anim_frame 0, 8 - obj_image_anim_frame 1, 8 - obj_image_anim_frame 0, 12 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_DUSTOX_2:: @ 8307CF8 - obj_image_anim_frame 1, 1 - obj_image_anim_end - - .align 2 -gAnimCmd_LOTAD_1:: @ 8307D00 - obj_image_anim_frame 0, 22 - obj_image_anim_frame 1, 55 - obj_image_anim_frame 0, 22 - obj_image_anim_end - - .align 2 -gAnimCmd_LOMBRE_1:: @ 8307D10 - obj_image_anim_frame 0, 6 - obj_image_anim_frame 1, 30 - obj_image_anim_frame 0, 6 - obj_image_anim_frame 1, 30 - obj_image_anim_frame 0, 7 - obj_image_anim_end - - .align 2 -gAnimCmd_LUDICOLO_1:: @ 8307D28 - obj_image_anim_frame 0, 22 - obj_image_anim_frame 1, 22 - obj_image_anim_frame 0, 22 - obj_image_anim_frame 1, 22 - obj_image_anim_frame 0, 22 - obj_image_anim_frame 1, 22 - obj_image_anim_frame 0, 22 - obj_image_anim_end - - .align 2 -gAnimCmd_SEEDOT_1:: @ 8307D48 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_NUZLEAF_1:: @ 8307D70 - obj_image_anim_frame 0, 7 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 7 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 7 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 7 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 7 - obj_image_anim_end - - .align 2 -gAnimCmd_SHIFTRY_1:: @ 8307D98 - obj_image_anim_frame 0, 7 - obj_image_anim_frame 1, 35 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_NINCADA_1:: @ 8307DA8 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 22 - obj_image_anim_frame 0, 11 - obj_image_anim_frame 1, 33 - obj_image_anim_frame 0, 11 - obj_image_anim_end - - .align 2 -gAnimCmd_NINJASK_1:: @ 8307DC0 - obj_image_anim_frame 0, 1 - obj_image_anim_frame 1, 1 - obj_image_anim_frame 0, 1 - obj_image_anim_frame 1, 1 - obj_image_anim_frame 0, 1 - obj_image_anim_frame 1, 1 - obj_image_anim_frame 0, 1 - obj_image_anim_frame 1, 1 - obj_image_anim_frame 0, 33 - obj_image_anim_frame 0, 1 - obj_image_anim_frame 1, 1 - obj_image_anim_frame 0, 1 - obj_image_anim_frame 1, 1 - obj_image_anim_frame 0, 1 - obj_image_anim_frame 1, 1 - obj_image_anim_frame 0, 1 - obj_image_anim_frame 1, 1 - obj_image_anim_frame 0, 11 - obj_image_anim_end - - .align 2 -gAnimCmd_SHEDINJA_1:: @ 8307E0C - obj_image_anim_frame 0, 33 - obj_image_anim_frame 1, 33 - obj_image_anim_frame 0, 33 - obj_image_anim_frame 1, 33 - obj_image_anim_frame 0, 11 - obj_image_anim_end - - .align 2 -gAnimCmd_TAILLOW_1:: @ 8307E24 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 2 - obj_image_anim_frame 1, 2 - obj_image_anim_frame 0, 2 - obj_image_anim_frame 1, 2 - obj_image_anim_frame 0, 2 - obj_image_anim_frame 1, 2 - obj_image_anim_frame 0, 1 - obj_image_anim_end - - .align 2 -gAnimCmd_SWELLOW_1:: @ 8307E4C - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 18 - obj_image_anim_frame 0, 11 - obj_image_anim_end - - .align 2 -gAnimCmd_SHROOMISH_1:: @ 8307E5C - obj_image_anim_frame 0, 6 - obj_image_anim_frame 1, 6 - obj_image_anim_frame 0, 6 - obj_image_anim_frame 1, 6 - obj_image_anim_frame 0, 6 - obj_image_anim_frame 1, 6 - obj_image_anim_frame 0, 6 - obj_image_anim_frame 1, 6 - obj_image_anim_frame 0, 6 - obj_image_anim_frame 1, 6 - obj_image_anim_frame 0, 6 - obj_image_anim_end - - .align 2 -gAnimCmd_BRELOOM_1:: @ 8307E8C - obj_image_anim_frame 0, 6 - obj_image_anim_frame 1, 30 - obj_image_anim_frame 0, 6 - obj_image_anim_frame 1, 30 - obj_image_anim_frame 0, 7 - obj_image_anim_end - - .align 2 -gAnimCmd_WINGULL_1:: @ 8307EA4 - obj_image_anim_frame 0, 17 - obj_image_anim_frame 1, 23 - obj_image_anim_frame 0, 13 - obj_image_anim_end - - .align 2 -gAnimCmd_PELIPPER_1:: @ 8307EB4 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_end - - .align 2 -gAnimCmd_SURSKIT_1:: @ 8307EDC - obj_image_anim_frame 0, 6 - obj_image_anim_frame 1, 18 - obj_image_anim_frame 0, 6 - obj_image_anim_frame 1, 18 - obj_image_anim_frame 0, 8 - obj_image_anim_end - - .align 2 -gAnimCmd_SURSKIT_2:: @ 8307EF4 - obj_image_anim_frame 1, 1 - obj_image_anim_end - - .align 2 -gAnimCmd_MASQUERAIN_1:: @ 8307EFC - obj_image_anim_frame 0, 8 - obj_image_anim_frame 1, 8 - obj_image_anim_frame 0, 8 - obj_image_anim_frame 1, 8 - obj_image_anim_frame 0, 8 - obj_image_anim_frame 1, 8 - obj_image_anim_frame 0, 8 - obj_image_anim_frame 1, 8 - obj_image_anim_frame 0, 8 - obj_image_anim_end - - .align 2 -gAnimCmd_MASQUERAIN_2:: @ 8307F24 - obj_image_anim_frame 1, 1 - obj_image_anim_end - - .align 2 -gAnimCmd_WAILMER_1:: @ 8307F2C - obj_image_anim_frame 0, 22 - obj_image_anim_frame 1, 22 - obj_image_anim_frame 0, 22 - obj_image_anim_frame 1, 22 - obj_image_anim_frame 0, 22 - obj_image_anim_frame 1, 22 - obj_image_anim_frame 0, 22 - obj_image_anim_end - - .align 2 -gAnimCmd_WAILORD_1:: @ 8307F4C - obj_image_anim_frame 0, 26 - obj_image_anim_frame 1, 48 - obj_image_anim_frame 0, 33 - obj_image_anim_end - - .align 2 -gAnimCmd_SKITTY_1:: @ 8307F5C - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 35 - obj_image_anim_frame 0, 9 - obj_image_anim_end - - .align 2 -gAnimCmd_DELCATTY_1:: @ 8307F6C - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 46 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_KECLEON_1:: @ 8307F7C - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 18 - obj_image_anim_frame 0, 8 - obj_image_anim_frame 1, 8 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_BALTOY_1:: @ 8307F94 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 50 - obj_image_anim_end - - .align 2 -gAnimCmd_CLAYDOL_1:: @ 8307FB4 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_NOSEPASS_1:: @ 8307FD4 - obj_image_anim_frame 0, 27 - obj_image_anim_frame 1, 27 - obj_image_anim_frame 0, 27 - obj_image_anim_frame 1, 27 - obj_image_anim_frame 0, 27 - obj_image_anim_frame 1, 27 - obj_image_anim_frame 0, 3 - obj_image_anim_end - - .align 2 -gAnimCmd_TORKOAL_1:: @ 8307FF4 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_SABLEYE_1:: @ 830800C - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_BARBOACH_1:: @ 8308024 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 50 - obj_image_anim_end - - .align 2 -gAnimCmd_WHISCASH_1:: @ 830805C - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_LUVDISC_1:: @ 8308094 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_CORPHISH_1:: @ 83080AC - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 50 - obj_image_anim_end - - .align 2 -gAnimCmd_CRAWDAUNT_1:: @ 83080CC - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_FEEBAS_1:: @ 83080E4 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_MILOTIC_1:: @ 8308104 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_CARVANHA_1:: @ 8308124 - obj_image_anim_frame 0, 6 - obj_image_anim_frame 1, 6 - obj_image_anim_frame 0, 6 - obj_image_anim_frame 1, 6 - obj_image_anim_frame 0, 6 - obj_image_anim_frame 1, 6 - obj_image_anim_frame 0, 6 - obj_image_anim_frame 1, 6 - obj_image_anim_frame 0, 6 - obj_image_anim_end - - .align 2 -gAnimCmd_SHARPEDO_1:: @ 830814C - obj_image_anim_frame 0, 6 - obj_image_anim_frame 1, 6 - obj_image_anim_frame 0, 6 - obj_image_anim_frame 1, 6 - obj_image_anim_frame 0, 6 - obj_image_anim_frame 1, 6 - obj_image_anim_frame 0, 6 - obj_image_anim_frame 1, 6 - obj_image_anim_frame 0, 22 - obj_image_anim_end - - .align 2 -gAnimCmd_TRAPINCH_1:: @ 8308174 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_VIBRAVA_1:: @ 830818C - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 50 - obj_image_anim_end - - .align 2 -gAnimCmd_FLYGON_1:: @ 83081AC - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 50 - obj_image_anim_end - - .align 2 -gAnimCmd_MAKUHITA_1:: @ 83081CC - obj_image_anim_frame 0, 7 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 7 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 7 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 7 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 22 - obj_image_anim_end - - .align 2 -gAnimCmd_HARIYAMA_1:: @ 83081F4 - obj_image_anim_frame 0, 30 - obj_image_anim_frame 1, 30 - obj_image_anim_frame 1, 16 - obj_image_anim_frame 0, 11 - obj_image_anim_end - - .align 2 -gAnimCmd_ELECTRIKE_1:: @ 8308208 - obj_image_anim_frame 0, 8 - obj_image_anim_frame 1, 25 - obj_image_anim_frame 0, 17 - obj_image_anim_frame 1, 25 - obj_image_anim_frame 0, 3 - obj_image_anim_end - - .align 2 -gAnimCmd_MANECTRIC_1:: @ 8308220 - obj_image_anim_frame 0, 8 - obj_image_anim_frame 1, 33 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 25 - obj_image_anim_frame 0, 3 - obj_image_anim_end - - .align 2 -gAnimCmd_NUMEL_1:: @ 8308238 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 40 - obj_image_anim_end - - .align 2 -gAnimCmd_CAMERUPT_1:: @ 8308250 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_SPHEAL_1:: @ 8308270 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 43 - obj_image_anim_frame 1, 60 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_SEALEO_1:: @ 8308294 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_WALREIN_1:: @ 83082AC - obj_image_anim_frame 0, 2 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 30 - obj_image_anim_frame 1, 6 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_CACNEA_1:: @ 83082C4 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_CACTURNE_1:: @ 83082F4 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_SNORUNT_1:: @ 830830C - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_GLALIE_1:: @ 8308324 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_LUNATONE_1:: @ 830833C - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_LUNATONE_2:: @ 8308354 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_SOLROCK_1:: @ 8308368 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_SOLROCK_2:: @ 8308380 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_AZURILL_1:: @ 8308394 - obj_image_anim_frame 0, 12 - obj_image_anim_frame 1, 12 - obj_image_anim_frame 0, 12 - obj_image_anim_frame 1, 12 - obj_image_anim_frame 0, 12 - obj_image_anim_frame 1, 12 - obj_image_anim_frame 0, 12 - obj_image_anim_end - - .align 2 -gAnimCmd_SPOINK_1:: @ 83083B4 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_GRUMPIG_1:: @ 83083E4 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_PLUSLE_1:: @ 83083FC - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_MINUN_1:: @ 8308414 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_MAWILE_1:: @ 830842C - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_MEDITITE_1:: @ 830844C - obj_image_anim_frame 0, 22 - obj_image_anim_frame 1, 2 - obj_image_anim_frame 0, 22 - obj_image_anim_end - - .align 2 -gAnimCmd_MEDICHAM_1:: @ 830845C - obj_image_anim_frame 0, 11 - obj_image_anim_frame 1, 11 - obj_image_anim_frame 0, 11 - obj_image_anim_frame 1, 11 - obj_image_anim_frame 0, 11 - obj_image_anim_frame 1, 11 - obj_image_anim_frame 0, 11 - obj_image_anim_end - - .align 2 -gAnimCmd_SWABLU_1:: @ 830847C - obj_image_anim_frame 0, 1 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_SWABLU_2:: @ 830849C - obj_image_anim_frame 0, 1 - obj_image_anim_frame 2, 8 - obj_image_anim_frame 0, 12 - obj_image_anim_frame 2, 8 - obj_image_anim_frame 0, 12 - obj_image_anim_frame 2, 8 - obj_image_anim_end - - .align 2 -gAnimCmd_ALTARIA_1:: @ 83084B8 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_ALTARIA_2:: @ 83084D0 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_WYNAUT_1:: @ 83084E4 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_DUSKULL_1:: @ 83084FC - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_DUSCLOPS_1:: @ 8308514 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_ROSELIA_1:: @ 830852C - obj_image_anim_frame 0, 18 - obj_image_anim_frame 1, 44 - obj_image_anim_frame 0, 22 - obj_image_anim_end - - .align 2 -gAnimCmd_SLAKOTH_1:: @ 830853C - obj_image_anim_frame 0, 13 - obj_image_anim_frame 1, 22 - obj_image_anim_frame 0, 8 - obj_image_anim_frame 1, 22 - obj_image_anim_frame 0, 11 - obj_image_anim_frame 0, 11 - obj_image_anim_end - - .align 2 -gAnimCmd_VIGOROTH_1:: @ 8308558 - obj_image_anim_frame 0, 13 - obj_image_anim_frame 1, 7 - obj_image_anim_frame 0, 13 - obj_image_anim_frame 1, 7 - obj_image_anim_frame 0, 13 - obj_image_anim_frame 1, 7 - obj_image_anim_frame 0, 11 - obj_image_anim_end - - .align 2 -gAnimCmd_SLAKING_1:: @ 8308578 - obj_image_anim_frame 0, 22 - obj_image_anim_frame 1, 22 - obj_image_anim_frame 0, 22 - obj_image_anim_frame 1, 22 - obj_image_anim_frame 0, 22 - obj_image_anim_frame 1, 22 - obj_image_anim_frame 0, 22 - obj_image_anim_end - - .align 2 -gAnimCmd_GULPIN_1:: @ 8308598 - obj_image_anim_frame 0, 14 - obj_image_anim_frame 1, 14 - obj_image_anim_frame 0, 14 - obj_image_anim_frame 1, 14 - obj_image_anim_frame 0, 4 - obj_image_anim_end - - .align 2 -gAnimCmd_SWALOT_1:: @ 83085B0 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 30 - obj_image_anim_frame 1, 30 - obj_image_anim_frame 0, 30 - obj_image_anim_end - - .align 2 -gAnimCmd_TROPIUS_1:: @ 83085C4 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_WHISMUR_1:: @ 83085DC - obj_image_anim_frame 0, 9 - obj_image_anim_frame 1, 9 - obj_image_anim_frame 0, 9 - obj_image_anim_frame 1, 9 - obj_image_anim_frame 0, 33 - obj_image_anim_frame 0, 9 - obj_image_anim_frame 1, 9 - obj_image_anim_frame 0, 9 - obj_image_anim_frame 1, 9 - obj_image_anim_frame 0, 9 - obj_image_anim_end - - .align 2 -gAnimCmd_LOUDRED_1:: @ 8308608 - obj_image_anim_frame 0, 9 - obj_image_anim_frame 1, 9 - obj_image_anim_frame 0, 9 - obj_image_anim_frame 1, 9 - obj_image_anim_frame 0, 33 - obj_image_anim_end - - .align 2 -gAnimCmd_EXPLOUD_1:: @ 8308620 - obj_image_anim_frame 0, 9 - obj_image_anim_frame 1, 44 - obj_image_anim_frame 0, 9 - obj_image_anim_end - - .align 2 -gAnimCmd_CLAMPERL_1:: @ 8308630 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_HUNTAIL_1:: @ 8308648 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_GOREBYSS_1:: @ 8308660 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_ABSOL_1:: @ 8308678 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_SHUPPET_1:: @ 8308690 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_BANETTE_1:: @ 83086B0 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_SEVIPER_1:: @ 83086D0 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 50 - obj_image_anim_end - - .align 2 -gAnimCmd_ZANGOOSE_1:: @ 83086F0 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 50 - obj_image_anim_end - - .align 2 -gAnimCmd_RELICANTH_1:: @ 8308710 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_ARON_1:: @ 8308728 - obj_image_anim_frame 0, 33 - obj_image_anim_frame 1, 44 - obj_image_anim_frame 0, 33 - obj_image_anim_frame 1, 33 - obj_image_anim_frame 0, 11 - obj_image_anim_end - - .align 2 -gAnimCmd_LAIRON_1:: @ 8308740 - obj_image_anim_frame 0, 12 - obj_image_anim_frame 1, 29 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 29 - obj_image_anim_frame 0, 1 - obj_image_anim_end - - .align 2 -gAnimCmd_AGGRON_1:: @ 8308758 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 44 - obj_image_anim_frame 0, 11 - obj_image_anim_end - - .align 2 -gAnimCmd_CASTFORM_0:: @ 8308768 - obj_image_anim_frame 0, 1 - obj_image_anim_end - - .align 2 -gAnimCmd_CASTFORM_1:: @ 8308770 - obj_image_anim_frame 1, 1 - obj_image_anim_end - - .align 2 -gAnimCmd_CASTFORM_2:: @ 8308778 - obj_image_anim_frame 2, 1 - obj_image_anim_end - - .align 2 -gAnimCmd_CASTFORM_3:: @ 8308780 - obj_image_anim_frame 3, 1 - obj_image_anim_end - - .align 2 -gAnimCmd_VOLBEAT_1:: @ 8308788 - obj_image_anim_frame 0, 11 - obj_image_anim_frame 1, 11 - obj_image_anim_frame 0, 11 - obj_image_anim_frame 1, 11 - obj_image_anim_frame 0, 11 - obj_image_anim_frame 1, 11 - obj_image_anim_frame 0, 5 - obj_image_anim_end - - .align 2 -gAnimCmd_ILLUMISE_1:: @ 83087A8 - obj_image_anim_frame 0, 22 - obj_image_anim_frame 1, 22 - obj_image_anim_frame 0, 22 - obj_image_anim_frame 1, 22 - obj_image_anim_frame 0, 11 - obj_image_anim_end - - .align 2 -gAnimCmd_LILEEP_1:: @ 83087C0 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_CRADILY_1:: @ 83087D8 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_ANORITH_1:: @ 83087F8 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_ARMALDO_1:: @ 8308818 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_RALTS_1:: @ 8308830 - obj_image_anim_frame 0, 8 - obj_image_anim_frame 1, 25 - obj_image_anim_frame 0, 8 - obj_image_anim_end - - .align 2 -gAnimCmd_KIRLIA_1:: @ 8308840 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 39 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_GARDEVOIR_1:: @ 8308850 - obj_image_anim_frame 0, 3 - obj_image_anim_frame 1, 3 - obj_image_anim_frame 0, 3 - obj_image_anim_frame 1, 3 - obj_image_anim_frame 0, 3 - obj_image_anim_frame 1, 3 - obj_image_anim_frame 0, 3 - obj_image_anim_frame 1, 3 - obj_image_anim_frame 0, 3 - obj_image_anim_frame 1, 3 - obj_image_anim_frame 0, 3 - obj_image_anim_frame 1, 3 - obj_image_anim_frame 0, 1 - obj_image_anim_end - - .align 2 -gAnimCmd_BAGON_1:: @ 8308888 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_SHELGON_1:: @ 83088A0 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_SALAMENCE_1:: @ 83088B8 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 30 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_BELDUM_1:: @ 83088D0 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_METANG_1:: @ 83088E8 - obj_image_anim_frame 0, 8 - obj_image_anim_frame 1, 8 - obj_image_anim_frame 0, 8 - obj_image_anim_frame 1, 8 - obj_image_anim_frame 0, 8 - obj_image_anim_end - - .align 2 -gAnimCmd_METAGROSS_1:: @ 8308900 - obj_image_anim_frame 0, 16 - obj_image_anim_frame 1, 16 - obj_image_anim_frame 0, 16 - obj_image_anim_frame 1, 16 - obj_image_anim_frame 0, 16 - obj_image_anim_end - - .align 2 -gAnimCmd_REGIROCK_1:: @ 8308918 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_REGIROCK_2:: @ 8308930 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_REGICE_1:: @ 8308944 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 18 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_REGISTEEL_1:: @ 830895C - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_REGISTEEL_2:: @ 8308974 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_KYOGRE_1:: @ 8308988 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_KYOGRE_2:: @ 83089A0 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_GROUDON_1:: @ 83089B4 - obj_image_anim_frame 0, 11 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_GROUDON_2:: @ 83089CC - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_RAYQUAZA_1:: @ 83089E0 - obj_image_anim_frame 0, 1 - obj_image_anim_frame 1, 8 - obj_image_anim_frame 0, 22 - obj_image_anim_frame 1, 6 - obj_image_anim_frame 0, 6 - obj_image_anim_end - - .align 2 -gAnimCmd_RAYQUAZA_2:: @ 83089F8 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_LATIAS_1:: @ 8308A0C - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_LATIAS_2:: @ 8308A24 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_LATIOS_1:: @ 8308A38 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_LATIOS_2:: @ 8308A50 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_JIRACHI_1:: @ 8308A64 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_JIRACHI_2:: @ 8308A90 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_DEOXYS_1:: @ 8308AA4 - obj_image_anim_frame 0, 16 - obj_image_anim_frame 1, 16 - obj_image_anim_frame 0, 26 - obj_image_anim_frame 1, 16 - obj_image_anim_frame 0, 16 - obj_image_anim_end - - .align 2 -gAnimCmd_DEOXYS_2:: @ 8308ABC - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_CHIMECHO_1:: @ 8308AD0 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_EGG_1:: @ 8308AF8 - obj_image_anim_frame 0, 6 - obj_image_anim_frame 1, 6 - obj_image_anim_frame 2, 6 - obj_image_anim_frame 3, 6 - obj_image_anim_end - - .align 2 -gAnimCmd_UNOWN_B_1:: @ 8308B0C - obj_image_anim_frame 0, 30 - obj_image_anim_frame 1, 30 - obj_image_anim_frame 0, 1 - obj_image_anim_end - - .align 2 -gAnimCmd_UNOWN_C_1:: @ 8308B1C - obj_image_anim_frame 0, 30 - obj_image_anim_frame 1, 30 - obj_image_anim_frame 0, 1 - obj_image_anim_end - - .align 2 -gAnimCmd_UNOWN_D_1:: @ 8308B2C - obj_image_anim_frame 0, 30 - obj_image_anim_frame 1, 30 - obj_image_anim_frame 0, 1 - obj_image_anim_end - - .align 2 -gAnimCmd_UNOWN_E_1:: @ 8308B3C - obj_image_anim_frame 0, 30 - obj_image_anim_frame 1, 30 - obj_image_anim_frame 0, 1 - obj_image_anim_end - - .align 2 -gAnimCmd_UNOWN_F_1:: @ 8308B4C - obj_image_anim_frame 0, 30 - obj_image_anim_frame 1, 30 - obj_image_anim_frame 0, 1 - obj_image_anim_end - - .align 2 -gAnimCmd_UNOWN_G_1:: @ 8308B5C - obj_image_anim_frame 0, 30 - obj_image_anim_frame 1, 30 - obj_image_anim_frame 0, 1 - obj_image_anim_end - - .align 2 -gAnimCmd_UNOWN_H_1:: @ 8308B6C - obj_image_anim_frame 0, 30 - obj_image_anim_frame 1, 30 - obj_image_anim_frame 0, 1 - obj_image_anim_end - - .align 2 -gAnimCmd_UNOWN_I_1:: @ 8308B7C - obj_image_anim_frame 0, 30 - obj_image_anim_frame 1, 30 - obj_image_anim_frame 0, 1 - obj_image_anim_end - - .align 2 -gAnimCmd_UNOWN_J_1:: @ 8308B8C - obj_image_anim_frame 0, 30 - obj_image_anim_frame 1, 30 - obj_image_anim_frame 0, 1 - obj_image_anim_end - - .align 2 -gAnimCmd_UNOWN_K_1:: @ 8308B9C - obj_image_anim_frame 0, 30 - obj_image_anim_frame 1, 30 - obj_image_anim_frame 0, 1 - obj_image_anim_end - - .align 2 -gAnimCmd_UNOWN_L_1:: @ 8308BAC - obj_image_anim_frame 0, 30 - obj_image_anim_frame 1, 30 - obj_image_anim_frame 0, 1 - obj_image_anim_end - - .align 2 -gAnimCmd_UNOWN_M_1:: @ 8308BBC - obj_image_anim_frame 0, 30 - obj_image_anim_frame 1, 30 - obj_image_anim_frame 0, 1 - obj_image_anim_end - - .align 2 -gAnimCmd_UNOWN_N_1:: @ 8308BCC - obj_image_anim_frame 0, 30 - obj_image_anim_frame 1, 30 - obj_image_anim_frame 0, 1 - obj_image_anim_end - - .align 2 -gAnimCmd_UNOWN_O_1:: @ 8308BDC - obj_image_anim_frame 0, 30 - obj_image_anim_frame 1, 30 - obj_image_anim_frame 0, 1 - obj_image_anim_end - - .align 2 -gAnimCmd_UNOWN_P_1:: @ 8308BEC - obj_image_anim_frame 0, 30 - obj_image_anim_frame 1, 30 - obj_image_anim_frame 0, 1 - obj_image_anim_end - - .align 2 -gAnimCmd_UNOWN_Q_1:: @ 8308BFC - obj_image_anim_frame 0, 30 - obj_image_anim_frame 1, 30 - obj_image_anim_frame 0, 1 - obj_image_anim_end - - .align 2 -gAnimCmd_UNOWN_R_1:: @ 8308C0C - obj_image_anim_frame 0, 30 - obj_image_anim_frame 1, 30 - obj_image_anim_frame 0, 1 - obj_image_anim_end - - .align 2 -gAnimCmd_UNOWN_S_1:: @ 8308C1C - obj_image_anim_frame 0, 30 - obj_image_anim_frame 1, 30 - obj_image_anim_frame 0, 1 - obj_image_anim_end - - .align 2 -gAnimCmd_UNOWN_T_1:: @ 8308C2C - obj_image_anim_frame 0, 30 - obj_image_anim_frame 1, 30 - obj_image_anim_frame 0, 1 - obj_image_anim_end - - .align 2 -gAnimCmd_UNOWN_U_1:: @ 8308C3C - obj_image_anim_frame 0, 30 - obj_image_anim_frame 1, 30 - obj_image_anim_frame 0, 1 - obj_image_anim_end - - .align 2 -gAnimCmd_UNOWN_V_1:: @ 8308C4C - obj_image_anim_frame 0, 30 - obj_image_anim_frame 1, 30 - obj_image_anim_frame 0, 1 - obj_image_anim_end - - .align 2 -gAnimCmd_UNOWN_W_1:: @ 8308C5C - obj_image_anim_frame 0, 30 - obj_image_anim_frame 1, 30 - obj_image_anim_frame 0, 1 - obj_image_anim_end - - .align 2 -gAnimCmd_UNOWN_X_1:: @ 8308C6C - obj_image_anim_frame 0, 30 - obj_image_anim_frame 1, 30 - obj_image_anim_frame 0, 1 - obj_image_anim_end - - .align 2 -gAnimCmd_UNOWN_Y_1:: @ 8308C7C - obj_image_anim_frame 0, 30 - obj_image_anim_frame 1, 30 - obj_image_anim_frame 0, 1 - obj_image_anim_end - - .align 2 -gAnimCmd_UNOWN_Z_1:: @ 8308C8C - obj_image_anim_frame 0, 30 - obj_image_anim_frame 1, 30 - obj_image_anim_frame 0, 1 - obj_image_anim_end - - .align 2 -gAnimCmd_UNOWN_EMARK_1:: @ 8308C9C - obj_image_anim_frame 0, 30 - obj_image_anim_frame 1, 30 - obj_image_anim_frame 0, 1 - obj_image_anim_end - - .align 2 -gAnimCmd_UNOWN_QMARK_1:: @ 8308CAC - obj_image_anim_frame 0, 30 - obj_image_anim_frame 1, 30 - obj_image_anim_frame 0, 1 - obj_image_anim_end - - .align 2 -gAnims_NONE:: @ 8308CBC - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_NONE_1 - - .align 2 -gAnims_BULBASAUR:: @ 8308CC4 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_BULBASAUR_1 - - .align 2 -gAnims_IVYSAUR:: @ 8308CCC - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_IVYSAUR_1 - - .align 2 -gAnims_VENUSAUR:: @ 8308CD4 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_VENUSAUR_1 - - .align 2 -gAnims_CHARMANDER:: @ 8308CDC - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_CHARMANDER_1 - - .align 2 -gAnims_CHARMELEON:: @ 8308CE4 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_CHARMELEON_1 - - .align 2 -gAnims_CHARIZARD:: @ 8308CEC - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_CHARIZARD_1 - - .align 2 -gAnims_SQUIRTLE:: @ 8308CF4 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_SQUIRTLE_1 - - .align 2 -gAnims_WARTORTLE:: @ 8308CFC - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_WARTORTLE_1 - - .align 2 -gAnims_BLASTOISE:: @ 8308D04 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_BLASTOISE_1 - - .align 2 -gAnims_CATERPIE:: @ 8308D0C - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_CATERPIE_1 - - .align 2 -gAnims_METAPOD:: @ 8308D14 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_METAPOD_1 - - .align 2 -gAnims_BUTTERFREE:: @ 8308D1C - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_BUTTERFREE_1 - - .align 2 -gAnims_WEEDLE:: @ 8308D24 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_WEEDLE_1 - - .align 2 -gAnims_KAKUNA:: @ 8308D2C - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_KAKUNA_1 - - .align 2 -gAnims_BEEDRILL:: @ 8308D34 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_BEEDRILL_1 - - .align 2 -gAnims_PIDGEY:: @ 8308D3C - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_PIDGEY_1 - - .align 2 -gAnims_PIDGEOTTO:: @ 8308D44 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_PIDGEOTTO_1 - - .align 2 -gAnims_PIDGEOT:: @ 8308D4C - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_PIDGEOT_1 - - .align 2 -gAnims_RATTATA:: @ 8308D54 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_RATTATA_1 - - .align 2 -gAnims_RATICATE:: @ 8308D5C - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_RATICATE_1 - - .align 2 -gAnims_SPEAROW:: @ 8308D64 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_SPEAROW_1 - - .align 2 -gAnims_FEAROW:: @ 8308D6C - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_FEAROW_1 - - .align 2 -gAnims_EKANS:: @ 8308D74 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_EKANS_1 - - .align 2 -gAnims_ARBOK:: @ 8308D7C - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_ARBOK_1 - - .align 2 -gAnims_PIKACHU:: @ 8308D84 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_PIKACHU_1 - .4byte gAnimCmd_PIKACHU_2 - - .align 2 -gAnims_RAICHU:: @ 8308D90 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_RAICHU_1 - .4byte gAnimCmd_RAICHU_2 - - .align 2 -gAnims_SANDSHREW:: @ 8308D9C - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_SANDSHREW_1 - .4byte gAnimCmd_SANDSHREW_2 - - .align 2 -gAnims_SANDSLASH:: @ 8308DA8 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_SANDSLASH_1 - .4byte gAnimCmd_SANDSLASH_2 - - .align 2 -gAnims_NIDORAN_F:: @ 8308DB4 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_NIDORAN_F_1 - - .align 2 -gAnims_NIDORINA:: @ 8308DBC - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_NIDORINA_1 - - .align 2 -gAnims_NIDOQUEEN:: @ 8308DC4 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_NIDOQUEEN_1 - - .align 2 -gAnims_NIDORAN_M:: @ 8308DCC - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_NIDORAN_M_1 - - .align 2 -gAnims_NIDORINO:: @ 8308DD4 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_NIDORINO_1 - - .align 2 -gAnims_NIDOKING:: @ 8308DDC - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_NIDOKING_1 - - .align 2 -gAnims_CLEFAIRY:: @ 8308DE4 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_CLEFAIRY_1 - - .align 2 -gAnims_CLEFABLE:: @ 8308DEC - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_CLEFABLE_1 - - .align 2 -gAnims_VULPIX:: @ 8308DF4 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_VULPIX_1 - .4byte gAnimCmd_VULPIX_2 - - .align 2 -gAnims_NINETALES:: @ 8308E00 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_NINETALES_1 - .4byte gAnimCmd_NINETALES_2 - - .align 2 -gAnims_JIGGLYPUFF:: @ 8308E0C - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_JIGGLYPUFF_1 - .4byte gAnimCmd_JIGGLYPUFF_2 - - .align 2 -gAnims_WIGGLYTUFF:: @ 8308E18 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_WIGGLYTUFF_1 - .4byte gAnimCmd_WIGGLYTUFF_2 - - .align 2 -gAnims_ZUBAT:: @ 8308E24 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_ZUBAT_1 - - .align 2 -gAnims_GOLBAT:: @ 8308E2C - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_GOLBAT_1 - - .align 2 -gAnims_ODDISH:: @ 8308E34 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_ODDISH_1 - - .align 2 -gAnims_GLOOM:: @ 8308E3C - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_GLOOM_1 - - .align 2 -gAnims_VILEPLUME:: @ 8308E44 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_VILEPLUME_1 - - .align 2 -gAnims_PARAS:: @ 8308E4C - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_PARAS_1 - - .align 2 -gAnims_PARASECT:: @ 8308E54 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_PARASECT_1 - - .align 2 -gAnims_VENONAT:: @ 8308E5C - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_VENONAT_1 - - .align 2 -gAnims_VENOMOTH:: @ 8308E64 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_VENOMOTH_1 - - .align 2 -gAnims_DIGLETT:: @ 8308E6C - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_DIGLETT_1 - - .align 2 -gAnims_DUGTRIO:: @ 8308E74 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_DUGTRIO_1 - - .align 2 -gAnims_MEOWTH:: @ 8308E7C - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_MEOWTH_1 - - .align 2 -gAnims_PERSIAN:: @ 8308E84 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_PERSIAN_1 - - .align 2 -gAnims_PSYDUCK:: @ 8308E8C - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_PSYDUCK_1 - .4byte gAnimCmd_PSYDUCK_2 - - .align 2 -gAnims_GOLDUCK:: @ 8308E98 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_GOLDUCK_1 - .4byte gAnimCmd_GOLDUCK_2 - - .align 2 -gAnims_MANKEY:: @ 8308EA4 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_MANKEY_1 - - .align 2 -gAnims_PRIMEAPE:: @ 8308EAC - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_PRIMEAPE_1 - - .align 2 -gAnims_GROWLITHE:: @ 8308EB4 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_GROWLITHE_1 - - .align 2 -gAnims_ARCANINE:: @ 8308EBC - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_ARCANINE_1 - - .align 2 -gAnims_POLIWAG:: @ 8308EC4 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_POLIWAG_1 - - .align 2 -gAnims_POLIWHIRL:: @ 8308ECC - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_POLIWHIRL_1 - - .align 2 -gAnims_POLIWRATH:: @ 8308ED4 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_POLIWRATH_1 - - .align 2 -gAnims_ABRA:: @ 8308EDC - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_ABRA_1 - - .align 2 -gAnims_KADABRA:: @ 8308EE4 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_KADABRA_1 - - .align 2 -gAnims_ALAKAZAM:: @ 8308EEC - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_ALAKAZAM_1 - - .align 2 -gAnims_MACHOP:: @ 8308EF4 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_MACHOP_1 - - .align 2 -gAnims_MACHOKE:: @ 8308EFC - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_MACHOKE_1 - - .align 2 -gAnims_MACHAMP:: @ 8308F04 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_MACHAMP_1 - - .align 2 -gAnims_BELLSPROUT:: @ 8308F0C - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_BELLSPROUT_1 - - .align 2 -gAnims_WEEPINBELL:: @ 8308F14 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_WEEPINBELL_1 - - .align 2 -gAnims_VICTREEBEL:: @ 8308F1C - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_VICTREEBEL_1 - - .align 2 -gAnims_TENTACOOL:: @ 8308F24 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_TENTACOOL_1 - - .align 2 -gAnims_TENTACRUEL:: @ 8308F2C - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_TENTACRUEL_1 - - .align 2 -gAnims_GEODUDE:: @ 8308F34 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_GEODUDE_1 - - .align 2 -gAnims_GRAVELER:: @ 8308F3C - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_GRAVELER_1 - - .align 2 -gAnims_GOLEM:: @ 8308F44 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_GOLEM_1 - - .align 2 -gAnims_PONYTA:: @ 8308F4C - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_PONYTA_1 - - .align 2 -gAnims_RAPIDASH:: @ 8308F54 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_RAPIDASH_1 - - .align 2 -gAnims_SLOWPOKE:: @ 8308F5C - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_SLOWPOKE_1 - - .align 2 -gAnims_SLOWBRO:: @ 8308F64 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_SLOWBRO_1 - - .align 2 -gAnims_MAGNEMITE:: @ 8308F6C - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_MAGNEMITE_1 - - .align 2 -gAnims_MAGNETON:: @ 8308F74 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_MAGNETON_1 - - .align 2 -gAnims_FARFETCHD:: @ 8308F7C - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_FARFETCHD_1 - - .align 2 -gAnims_DODUO:: @ 8308F84 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_DODUO_1 - - .align 2 -gAnims_DODRIO:: @ 8308F8C - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_DODRIO_1 - - .align 2 -gAnims_SEEL:: @ 8308F94 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_SEEL_1 - - .align 2 -gAnims_DEWGONG:: @ 8308F9C - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_DEWGONG_1 - - .align 2 -gAnims_GRIMER:: @ 8308FA4 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_GRIMER_1 - .4byte gAnimCmd_GRIMER_2 - - .align 2 -gAnims_MUK:: @ 8308FB0 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_MUK_1 - .4byte gAnimCmd_MUK_2 - - .align 2 -gAnims_SHELLDER:: @ 8308FBC - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_SHELLDER_1 - - .align 2 -gAnims_CLOYSTER:: @ 8308FC4 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_CLOYSTER_1 - - .align 2 -gAnims_GASTLY:: @ 8308FCC - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_GASTLY_1 - - .align 2 -gAnims_HAUNTER:: @ 8308FD4 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_HAUNTER_1 - - .align 2 -gAnims_GENGAR:: @ 8308FDC - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_GENGAR_1 - - .align 2 -gAnims_ONIX:: @ 8308FE4 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_ONIX_1 - - .align 2 -gAnims_DROWZEE:: @ 8308FEC - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_DROWZEE_1 - - .align 2 -gAnims_HYPNO:: @ 8308FF4 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_HYPNO_1 - - .align 2 -gAnims_KRABBY:: @ 8308FFC - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_KRABBY_1 - - .align 2 -gAnims_KINGLER:: @ 8309004 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_KINGLER_1 - - .align 2 -gAnims_VOLTORB:: @ 830900C - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_VOLTORB_1 - - .align 2 -gAnims_ELECTRODE:: @ 8309014 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_ELECTRODE_1 - - .align 2 -gAnims_EXEGGCUTE:: @ 830901C - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_EXEGGCUTE_1 - - .align 2 -gAnims_EXEGGUTOR:: @ 8309024 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_EXEGGUTOR_1 - - .align 2 -gAnims_CUBONE:: @ 830902C - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_CUBONE_1 - - .align 2 -gAnims_MAROWAK:: @ 8309034 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_MAROWAK_1 - - .align 2 -gAnims_HITMONLEE:: @ 830903C - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_HITMONLEE_1 - - .align 2 -gAnims_HITMONCHAN:: @ 8309044 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_HITMONCHAN_1 - - .align 2 -gAnims_LICKITUNG:: @ 830904C - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_LICKITUNG_1 - - .align 2 -gAnims_KOFFING:: @ 8309054 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_KOFFING_1 - .4byte gAnimCmd_KOFFING_2 - - .align 2 -gAnims_WEEZING:: @ 8309060 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_WEEZING_1 - .4byte gAnimCmd_WEEZING_2 - - .align 2 -gAnims_RHYHORN:: @ 830906C - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_RHYHORN_1 - .4byte gAnimCmd_RHYHORN_2 - - .align 2 -gAnims_RHYDON:: @ 8309078 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_RHYDON_1 - .4byte gAnimCmd_RHYDON_2 - - .align 2 -gAnims_CHANSEY:: @ 8309084 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_CHANSEY_1 - - .align 2 -gAnims_TANGELA:: @ 830908C - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_TANGELA_1 - - .align 2 -gAnims_KANGASKHAN:: @ 8309094 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_KANGASKHAN_1 - - .align 2 -gAnims_HORSEA:: @ 830909C - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_HORSEA_1 - .4byte gAnimCmd_HORSEA_2 - - .align 2 -gAnims_SEADRA:: @ 83090A8 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_SEADRA_1 - .4byte gAnimCmd_SEADRA_2 - - .align 2 -gAnims_GOLDEEN:: @ 83090B4 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_GOLDEEN_1 - - .align 2 -gAnims_SEAKING:: @ 83090BC - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_SEAKING_1 - - .align 2 -gAnims_STARYU:: @ 83090C4 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_STARYU_1 - .4byte gAnimCmd_STARYU_2 - - .align 2 -gAnims_STARMIE:: @ 83090D0 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_STARMIE_1 - .4byte gAnimCmd_STARMIE_2 - - .align 2 -gAnims_MR_MIME:: @ 83090DC - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_MR_MIME_1 - - .align 2 -gAnims_SCYTHER:: @ 83090E4 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_SCYTHER_1 - - .align 2 -gAnims_JYNX:: @ 83090EC - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_JYNX_1 - - .align 2 -gAnims_ELECTABUZZ:: @ 83090F4 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_ELECTABUZZ_1 - - .align 2 -gAnims_MAGMAR:: @ 83090FC - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_MAGMAR_1 - - .align 2 -gAnims_PINSIR:: @ 8309104 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_PINSIR_1 - .4byte gAnimCmd_PINSIR_2 - - .align 2 -gAnims_TAUROS:: @ 8309110 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_TAUROS_1 - - .align 2 -gAnims_MAGIKARP:: @ 8309118 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_MAGIKARP_1 - - .align 2 -gAnims_GYARADOS:: @ 8309120 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_GYARADOS_1 - - .align 2 -gAnims_LAPRAS:: @ 8309128 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_LAPRAS_1 - - .align 2 -gAnims_DITTO:: @ 8309130 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_DITTO_1 - - .align 2 -gAnims_EEVEE:: @ 8309138 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_EEVEE_1 - - .align 2 -gAnims_VAPOREON:: @ 8309140 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_VAPOREON_1 - - .align 2 -gAnims_JOLTEON:: @ 8309148 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_JOLTEON_1 - - .align 2 -gAnims_FLAREON:: @ 8309150 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_FLAREON_1 - - .align 2 -gAnims_PORYGON:: @ 8309158 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_PORYGON_1 - - .align 2 -gAnims_OMANYTE:: @ 8309160 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_OMANYTE_1 - - .align 2 -gAnims_OMASTAR:: @ 8309168 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_OMASTAR_1 - - .align 2 -gAnims_KABUTO:: @ 8309170 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_KABUTO_1 - - .align 2 -gAnims_KABUTOPS:: @ 8309178 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_KABUTOPS_1 - - .align 2 -gAnims_AERODACTYL:: @ 8309180 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_AERODACTYL_1 - - .align 2 -gAnims_SNORLAX:: @ 8309188 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_SNORLAX_1 - - .align 2 -gAnims_ARTICUNO:: @ 8309190 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_ARTICUNO_1 - - .align 2 -gAnims_ZAPDOS:: @ 8309198 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_ZAPDOS_1 - - .align 2 -gAnims_MOLTRES:: @ 83091A0 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_MOLTRES_1 - - .align 2 -gAnims_DRATINI:: @ 83091A8 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_DRATINI_1 - - .align 2 -gAnims_DRAGONAIR:: @ 83091B0 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_DRAGONAIR_1 - - .align 2 -gAnims_DRAGONITE:: @ 83091B8 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_DRAGONITE_1 - - .align 2 -gAnims_MEWTWO:: @ 83091C0 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_MEWTWO_1 - - .align 2 -gAnims_MEW:: @ 83091C8 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_MEW_1 - - .align 2 -gAnims_CHIKORITA:: @ 83091D0 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_CHIKORITA_1 - - .align 2 -gAnims_BAYLEEF:: @ 83091D8 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_BAYLEEF_1 - - .align 2 -gAnims_MEGANIUM:: @ 83091E0 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_MEGANIUM_1 - - .align 2 -gAnims_CYNDAQUIL:: @ 83091E8 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_CYNDAQUIL_1 - - .align 2 -gAnims_QUILAVA:: @ 83091F0 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_QUILAVA_1 - - .align 2 -gAnims_TYPHLOSION:: @ 83091F8 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_TYPHLOSION_1 - - .align 2 -gAnims_TOTODILE:: @ 8309200 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_TOTODILE_1 - - .align 2 -gAnims_CROCONAW:: @ 8309208 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_CROCONAW_1 - - .align 2 -gAnims_FERALIGATR:: @ 8309210 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_FERALIGATR_1 - - .align 2 -gAnims_SENTRET:: @ 8309218 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_SENTRET_1 - - .align 2 -gAnims_FURRET:: @ 8309220 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_FURRET_1 - - .align 2 -gAnims_HOOTHOOT:: @ 8309228 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_HOOTHOOT_1 - - .align 2 -gAnims_NOCTOWL:: @ 8309230 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_NOCTOWL_1 - - .align 2 -gAnims_LEDYBA:: @ 8309238 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_LEDYBA_1 - - .align 2 -gAnims_LEDIAN:: @ 8309240 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_LEDIAN_1 - - .align 2 -gAnims_SPINARAK:: @ 8309248 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_SPINARAK_1 - - .align 2 -gAnims_ARIADOS:: @ 8309250 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_ARIADOS_1 - - .align 2 -gAnims_CROBAT:: @ 8309258 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_CROBAT_1 - - .align 2 -gAnims_CHINCHOU:: @ 8309260 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_CHINCHOU_1 - .4byte gAnimCmd_CHINCHOU_2 - - .align 2 -gAnims_LANTURN:: @ 830926C - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_LANTURN_1 - .4byte gAnimCmd_LANTURN_2 - - .align 2 -gAnims_PICHU:: @ 8309278 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_PICHU_1 - .4byte gAnimCmd_PICHU_2 - - .align 2 -gAnims_CLEFFA:: @ 8309284 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_CLEFFA_1 - - .align 2 -gAnims_IGGLYBUFF:: @ 830928C - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_IGGLYBUFF_1 - .4byte gAnimCmd_IGGLYBUFF_2 - - .align 2 -gAnims_TOGEPI:: @ 8309298 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_TOGEPI_1 - - .align 2 -gAnims_TOGETIC:: @ 83092A0 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_TOGETIC_1 - - .align 2 -gAnims_NATU:: @ 83092A8 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_NATU_1 - .4byte gAnimCmd_NATU_2 - - .align 2 -gAnims_XATU:: @ 83092B4 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_XATU_1 - .4byte gAnimCmd_XATU_2 - - .align 2 -gAnims_MAREEP:: @ 83092C0 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_MAREEP_1 - - .align 2 -gAnims_FLAAFFY:: @ 83092C8 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_FLAAFFY_1 - - .align 2 -gAnims_AMPHAROS:: @ 83092D0 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_AMPHAROS_1 - - .align 2 -gAnims_BELLOSSOM:: @ 83092D8 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_BELLOSSOM_1 - - .align 2 -gAnims_MARILL:: @ 83092E0 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_MARILL_1 - - .align 2 -gAnims_AZUMARILL:: @ 83092E8 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_AZUMARILL_1 - - .align 2 -gAnims_SUDOWOODO:: @ 83092F0 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_SUDOWOODO_1 - - .align 2 -gAnims_POLITOED:: @ 83092F8 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_POLITOED_1 - - .align 2 -gAnims_HOPPIP:: @ 8309300 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_HOPPIP_1 - - .align 2 -gAnims_SKIPLOOM:: @ 8309308 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_SKIPLOOM_1 - - .align 2 -gAnims_JUMPLUFF:: @ 8309310 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_JUMPLUFF_1 - - .align 2 -gAnims_AIPOM:: @ 8309318 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_AIPOM_1 - - .align 2 -gAnims_SUNKERN:: @ 8309320 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_SUNKERN_1 - - .align 2 -gAnims_SUNFLORA:: @ 8309328 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_SUNFLORA_1 - - .align 2 -gAnims_YANMA:: @ 8309330 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_YANMA_1 - - .align 2 -gAnims_WOOPER:: @ 8309338 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_WOOPER_1 - - .align 2 -gAnims_QUAGSIRE:: @ 8309340 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_QUAGSIRE_1 - - .align 2 -gAnims_ESPEON:: @ 8309348 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_ESPEON_1 - - .align 2 -gAnims_UMBREON:: @ 8309350 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_UMBREON_1 - - .align 2 -gAnims_MURKROW:: @ 8309358 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_MURKROW_1 - - .align 2 -gAnims_SLOWKING:: @ 8309360 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_SLOWKING_1 - - .align 2 -gAnims_MISDREAVUS:: @ 8309368 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_MISDREAVUS_1 - - .align 2 -gAnims_UNOWN:: @ 8309370 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_UNOWN_1 - - .align 2 -gAnims_WOBBUFFET:: @ 8309378 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_WOBBUFFET_1 - .4byte gAnimCmd_WOBBUFFET_2 - - .align 2 -gAnims_GIRAFARIG:: @ 8309384 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_GIRAFARIG_1 - .4byte gAnimCmd_GIRAFARIG_2 - - .align 2 -gAnims_PINECO:: @ 8309390 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_PINECO_1 - - .align 2 -gAnims_FORRETRESS:: @ 8309398 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_FORRETRESS_1 - - .align 2 -gAnims_DUNSPARCE:: @ 83093A0 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_DUNSPARCE_1 - - .align 2 -gAnims_GLIGAR:: @ 83093A8 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_GLIGAR_1 - - .align 2 -gAnims_STEELIX:: @ 83093B0 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_STEELIX_1 - - .align 2 -gAnims_SNUBBULL:: @ 83093B8 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_SNUBBULL_1 - - .align 2 -gAnims_GRANBULL:: @ 83093C0 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_GRANBULL_1 - - .align 2 -gAnims_QWILFISH:: @ 83093C8 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_QWILFISH_1 - - .align 2 -gAnims_SCIZOR:: @ 83093D0 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_SCIZOR_1 - - .align 2 -gAnims_SHUCKLE:: @ 83093D8 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_SHUCKLE_1 - - .align 2 -gAnims_HERACROSS:: @ 83093E0 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_HERACROSS_1 - .4byte gAnimCmd_HERACROSS_2 - - .align 2 -gAnims_SNEASEL:: @ 83093EC - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_SNEASEL_1 - - .align 2 -gAnims_TEDDIURSA:: @ 83093F4 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_TEDDIURSA_1 - - .align 2 -gAnims_URSARING:: @ 83093FC - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_URSARING_1 - - .align 2 -gAnims_SLUGMA:: @ 8309404 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_SLUGMA_1 - .4byte gAnimCmd_SLUGMA_2 - - .align 2 -gAnims_MAGCARGO:: @ 8309410 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_MAGCARGO_1 - .4byte gAnimCmd_MAGCARGO_2 - - .align 2 -gAnims_SWINUB:: @ 830941C - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_SWINUB_1 - - .align 2 -gAnims_PILOSWINE:: @ 8309424 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_PILOSWINE_1 - - .align 2 -gAnims_CORSOLA:: @ 830942C - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_CORSOLA_1 - .4byte gAnimCmd_CORSOLA_2 - - .align 2 -gAnims_REMORAID:: @ 8309438 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_REMORAID_1 - - .align 2 -gAnims_OCTILLERY:: @ 8309440 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_OCTILLERY_1 - - .align 2 -gAnims_DELIBIRD:: @ 8309448 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_DELIBIRD_1 - - .align 2 -gAnims_MANTINE:: @ 8309450 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_MANTINE_1 - - .align 2 -gAnims_SKARMORY:: @ 8309458 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_SKARMORY_1 - .4byte gAnimCmd_SKARMORY_2 - - .align 2 -gAnims_HOUNDOUR:: @ 8309464 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_HOUNDOUR_1 - - .align 2 -gAnims_HOUNDOOM:: @ 830946C - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_HOUNDOOM_1 - - .align 2 -gAnims_KINGDRA:: @ 8309474 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_KINGDRA_1 - .4byte gAnimCmd_KINGDRA_2 - - .align 2 -gAnims_PHANPY:: @ 8309480 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_PHANPY_1 - .4byte gAnimCmd_PHANPY_2 - - .align 2 -gAnims_DONPHAN:: @ 830948C - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_DONPHAN_1 - .4byte gAnimCmd_DONPHAN_2 - - .align 2 -gAnims_PORYGON2:: @ 8309498 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_PORYGON2_1 - - .align 2 -gAnims_STANTLER:: @ 83094A0 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_STANTLER_1 - - .align 2 -gAnims_SMEARGLE:: @ 83094A8 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_SMEARGLE_1 - - .align 2 -gAnims_TYROGUE:: @ 83094B0 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_TYROGUE_1 - - .align 2 -gAnims_HITMONTOP:: @ 83094B8 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_HITMONTOP_1 - - .align 2 -gAnims_SMOOCHUM:: @ 83094C0 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_SMOOCHUM_1 - - .align 2 -gAnims_ELEKID:: @ 83094C8 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_ELEKID_1 - - .align 2 -gAnims_MAGBY:: @ 83094D0 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_MAGBY_1 - - .align 2 -gAnims_MILTANK:: @ 83094D8 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_MILTANK_1 - - .align 2 -gAnims_BLISSEY:: @ 83094E0 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_BLISSEY_1 - - .align 2 -gAnims_RAIKOU:: @ 83094E8 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_RAIKOU_1 - - .align 2 -gAnims_ENTEI:: @ 83094F0 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_ENTEI_1 - - .align 2 -gAnims_SUICUNE:: @ 83094F8 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_SUICUNE_1 - - .align 2 -gAnims_LARVITAR:: @ 8309500 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_LARVITAR_1 - - .align 2 -gAnims_PUPITAR:: @ 8309508 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_PUPITAR_1 - - .align 2 -gAnims_TYRANITAR:: @ 8309510 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_TYRANITAR_1 - - .align 2 -gAnims_LUGIA:: @ 8309518 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_LUGIA_1 - - .align 2 -gAnims_HO_OH:: @ 8309520 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_HO_OH_1 - - .align 2 -gAnims_CELEBI:: @ 8309528 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_CELEBI_1 - - .align 2 -gAnims_OLD_UNOWN_B:: @ 8309530 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_OLD_UNOWN_B_1 - - .align 2 -gAnims_TREECKO:: @ 8309538 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_TREECKO_1 - - .align 2 -gAnims_GROVYLE:: @ 8309540 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_GROVYLE_1 - - .align 2 -gAnims_SCEPTILE:: @ 8309548 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_SCEPTILE_1 - - .align 2 -gAnims_TORCHIC:: @ 8309550 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_TORCHIC_1 - - .align 2 -gAnims_COMBUSKEN:: @ 8309558 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_COMBUSKEN_1 - - .align 2 -gAnims_BLAZIKEN:: @ 8309560 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_BLAZIKEN_1 - .4byte gAnimCmd_BLAZIKEN_2 - .4byte gAnimCmd_BLAZIKEN_3 - .4byte gAnimCmd_BLAZIKEN_4 - - .align 2 -gAnims_MUDKIP:: @ 8309574 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_MUDKIP_1 - - .align 2 -gAnims_MARSHTOMP:: @ 830957C - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_MARSHTOMP_1 - - .align 2 -gAnims_SWAMPERT:: @ 8309584 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_SWAMPERT_1 - - .align 2 -gAnims_POOCHYENA:: @ 830958C - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_POOCHYENA_1 - - .align 2 -gAnims_MIGHTYENA:: @ 8309594 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_MIGHTYENA_1 - - .align 2 -gAnims_ZIGZAGOON:: @ 830959C - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_ZIGZAGOON_1 - - .align 2 -gAnims_LINOONE:: @ 83095A4 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_LINOONE_1 - - .align 2 -gAnims_WURMPLE:: @ 83095AC - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_WURMPLE_1 - - .align 2 -gAnims_SILCOON:: @ 83095B4 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_SILCOON_1 - .4byte gAnimCmd_SILCOON_2 - - .align 2 -gAnims_BEAUTIFLY:: @ 83095C0 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_BEAUTIFLY_1 - .4byte gAnimCmd_BEAUTIFLY_2 - - .align 2 -gAnims_CASCOON:: @ 83095CC - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_CASCOON_1 - .4byte gAnimCmd_CASCOON_2 - - .align 2 -gAnims_DUSTOX:: @ 83095D8 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_DUSTOX_1 - .4byte gAnimCmd_DUSTOX_2 - - .align 2 -gAnims_LOTAD:: @ 83095E4 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_LOTAD_1 - - .align 2 -gAnims_LOMBRE:: @ 83095EC - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_LOMBRE_1 - - .align 2 -gAnims_LUDICOLO:: @ 83095F4 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_LUDICOLO_1 - - .align 2 -gAnims_SEEDOT:: @ 83095FC - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_SEEDOT_1 - - .align 2 -gAnims_NUZLEAF:: @ 8309604 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_NUZLEAF_1 - - .align 2 -gAnims_SHIFTRY:: @ 830960C - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_SHIFTRY_1 - - .align 2 -gAnims_NINCADA:: @ 8309614 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_NINCADA_1 - - .align 2 -gAnims_NINJASK:: @ 830961C - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_NINJASK_1 - - .align 2 -gAnims_SHEDINJA:: @ 8309624 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_SHEDINJA_1 - - .align 2 -gAnims_TAILLOW:: @ 830962C - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_TAILLOW_1 - - .align 2 -gAnims_SWELLOW:: @ 8309634 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_SWELLOW_1 - - .align 2 -gAnims_SHROOMISH:: @ 830963C - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_SHROOMISH_1 - - .align 2 -gAnims_BRELOOM:: @ 8309644 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_BRELOOM_1 - - .align 2 -gAnims_SPINDA:: @ 830964C - .4byte gAnimCmd_General_Frame0 - - .align 2 -gAnims_WINGULL:: @ 8309650 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_WINGULL_1 - - .align 2 -gAnims_PELIPPER:: @ 8309658 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_PELIPPER_1 - - .align 2 -gAnims_SURSKIT:: @ 8309660 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_SURSKIT_1 - .4byte gAnimCmd_SURSKIT_2 - - .align 2 -gAnims_MASQUERAIN:: @ 830966C - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_MASQUERAIN_1 - .4byte gAnimCmd_MASQUERAIN_2 - - .align 2 -gAnims_WAILMER:: @ 8309678 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_WAILMER_1 - - .align 2 -gAnims_WAILORD:: @ 8309680 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_WAILORD_1 - - .align 2 -gAnims_SKITTY:: @ 8309688 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_SKITTY_1 - - .align 2 -gAnims_DELCATTY:: @ 8309690 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_DELCATTY_1 - - .align 2 -gAnims_KECLEON:: @ 8309698 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_KECLEON_1 - - .align 2 -gAnims_BALTOY:: @ 83096A0 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_BALTOY_1 - - .align 2 -gAnims_CLAYDOL:: @ 83096A8 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_CLAYDOL_1 - - .align 2 -gAnims_NOSEPASS:: @ 83096B0 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_NOSEPASS_1 - - .align 2 -gAnims_TORKOAL:: @ 83096B8 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_TORKOAL_1 - - .align 2 -gAnims_SABLEYE:: @ 83096C0 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_SABLEYE_1 - - .align 2 -gAnims_BARBOACH:: @ 83096C8 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_BARBOACH_1 - - .align 2 -gAnims_WHISCASH:: @ 83096D0 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_WHISCASH_1 - - .align 2 -gAnims_LUVDISC:: @ 83096D8 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_LUVDISC_1 - - .align 2 -gAnims_CORPHISH:: @ 83096E0 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_CORPHISH_1 - - .align 2 -gAnims_CRAWDAUNT:: @ 83096E8 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_CRAWDAUNT_1 - - .align 2 -gAnims_FEEBAS:: @ 83096F0 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_FEEBAS_1 - - .align 2 -gAnims_MILOTIC:: @ 83096F8 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_MILOTIC_1 - - .align 2 -gAnims_CARVANHA:: @ 8309700 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_CARVANHA_1 - - .align 2 -gAnims_SHARPEDO:: @ 8309708 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_SHARPEDO_1 - - .align 2 -gAnims_TRAPINCH:: @ 8309710 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_TRAPINCH_1 - - .align 2 -gAnims_VIBRAVA:: @ 8309718 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_VIBRAVA_1 - - .align 2 -gAnims_FLYGON:: @ 8309720 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_FLYGON_1 - - .align 2 -gAnims_MAKUHITA:: @ 8309728 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_MAKUHITA_1 - - .align 2 -gAnims_HARIYAMA:: @ 8309730 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_HARIYAMA_1 - - .align 2 -gAnims_ELECTRIKE:: @ 8309738 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_ELECTRIKE_1 - - .align 2 -gAnims_MANECTRIC:: @ 8309740 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_MANECTRIC_1 - - .align 2 -gAnims_NUMEL:: @ 8309748 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_NUMEL_1 - - .align 2 -gAnims_CAMERUPT:: @ 8309750 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_CAMERUPT_1 - - .align 2 -gAnims_SPHEAL:: @ 8309758 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_SPHEAL_1 - - .align 2 -gAnims_SEALEO:: @ 8309760 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_SEALEO_1 - - .align 2 -gAnims_WALREIN:: @ 8309768 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_WALREIN_1 - - .align 2 -gAnims_CACNEA:: @ 8309770 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_CACNEA_1 - - .align 2 -gAnims_CACTURNE:: @ 8309778 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_CACTURNE_1 - - .align 2 -gAnims_SNORUNT:: @ 8309780 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_SNORUNT_1 - - .align 2 -gAnims_GLALIE:: @ 8309788 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_GLALIE_1 - - .align 2 -gAnims_LUNATONE:: @ 8309790 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_LUNATONE_1 - .4byte gAnimCmd_LUNATONE_2 - - .align 2 -gAnims_SOLROCK:: @ 830979C - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_SOLROCK_1 - .4byte gAnimCmd_SOLROCK_2 - - .align 2 -gAnims_AZURILL:: @ 83097A8 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_AZURILL_1 - - .align 2 -gAnims_SPOINK:: @ 83097B0 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_SPOINK_1 - - .align 2 -gAnims_GRUMPIG:: @ 83097B8 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_GRUMPIG_1 - - .align 2 -gAnims_PLUSLE:: @ 83097C0 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_PLUSLE_1 - - .align 2 -gAnims_MINUN:: @ 83097C8 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_MINUN_1 - - .align 2 -gAnims_MAWILE:: @ 83097D0 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_MAWILE_1 - - .align 2 -gAnims_MEDITITE:: @ 83097D8 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_MEDITITE_1 - - .align 2 -gAnims_MEDICHAM:: @ 83097E0 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_MEDICHAM_1 - - .align 2 -gAnims_SWABLU:: @ 83097E8 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_SWABLU_1 - .4byte gAnimCmd_SWABLU_2 - - .align 2 -gAnims_ALTARIA:: @ 83097F4 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_ALTARIA_1 - .4byte gAnimCmd_ALTARIA_2 - - .align 2 -gAnims_WYNAUT:: @ 8309800 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_WYNAUT_1 - - .align 2 -gAnims_DUSKULL:: @ 8309808 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_DUSKULL_1 - - .align 2 -gAnims_DUSCLOPS:: @ 8309810 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_DUSCLOPS_1 - - .align 2 -gAnims_ROSELIA:: @ 8309818 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_ROSELIA_1 - - .align 2 -gAnims_SLAKOTH:: @ 8309820 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_SLAKOTH_1 - - .align 2 -gAnims_VIGOROTH:: @ 8309828 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_VIGOROTH_1 - - .align 2 -gAnims_SLAKING:: @ 8309830 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_SLAKING_1 - - .align 2 -gAnims_GULPIN:: @ 8309838 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_GULPIN_1 - - .align 2 -gAnims_SWALOT:: @ 8309840 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_SWALOT_1 - - .align 2 -gAnims_TROPIUS:: @ 8309848 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_TROPIUS_1 - - .align 2 -gAnims_WHISMUR:: @ 8309850 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_WHISMUR_1 - - .align 2 -gAnims_LOUDRED:: @ 8309858 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_LOUDRED_1 - - .align 2 -gAnims_EXPLOUD:: @ 8309860 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_EXPLOUD_1 - - .align 2 -gAnims_CLAMPERL:: @ 8309868 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_CLAMPERL_1 - - .align 2 -gAnims_HUNTAIL:: @ 8309870 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_HUNTAIL_1 - - .align 2 -gAnims_GOREBYSS:: @ 8309878 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_GOREBYSS_1 - - .align 2 -gAnims_ABSOL:: @ 8309880 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_ABSOL_1 - - .align 2 -gAnims_SHUPPET:: @ 8309888 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_SHUPPET_1 - - .align 2 -gAnims_BANETTE:: @ 8309890 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_BANETTE_1 - - .align 2 -gAnims_SEVIPER:: @ 8309898 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_SEVIPER_1 - - .align 2 -gAnims_ZANGOOSE:: @ 83098A0 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_ZANGOOSE_1 - - .align 2 -gAnims_RELICANTH:: @ 83098A8 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_RELICANTH_1 - - .align 2 -gAnims_ARON:: @ 83098B0 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_ARON_1 - - .align 2 -gAnims_LAIRON:: @ 83098B8 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_LAIRON_1 - - .align 2 -gAnims_AGGRON:: @ 83098C0 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_AGGRON_1 - - .align 2 -gAnims_CASTFORM:: @ 83098C8 - .4byte gAnimCmd_CASTFORM_0 - .4byte gAnimCmd_CASTFORM_1 - .4byte gAnimCmd_CASTFORM_2 - .4byte gAnimCmd_CASTFORM_3 - - .align 2 -gAnims_VOLBEAT:: @ 83098D8 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_VOLBEAT_1 - - .align 2 -gAnims_ILLUMISE:: @ 83098E0 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_ILLUMISE_1 - - .align 2 -gAnims_LILEEP:: @ 83098E8 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_LILEEP_1 - - .align 2 -gAnims_CRADILY:: @ 83098F0 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_CRADILY_1 - - .align 2 -gAnims_ANORITH:: @ 83098F8 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_ANORITH_1 - - .align 2 -gAnims_ARMALDO:: @ 8309900 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_ARMALDO_1 - - .align 2 -gAnims_RALTS:: @ 8309908 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_RALTS_1 - - .align 2 -gAnims_KIRLIA:: @ 8309910 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_KIRLIA_1 - - .align 2 -gAnims_GARDEVOIR:: @ 8309918 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_GARDEVOIR_1 - - .align 2 -gAnims_BAGON:: @ 8309920 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_BAGON_1 - - .align 2 -gAnims_SHELGON:: @ 8309928 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_SHELGON_1 - - .align 2 -gAnims_SALAMENCE:: @ 8309930 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_SALAMENCE_1 - - .align 2 -gAnims_BELDUM:: @ 8309938 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_BELDUM_1 - - .align 2 -gAnims_METANG:: @ 8309940 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_METANG_1 - - .align 2 -gAnims_METAGROSS:: @ 8309948 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_METAGROSS_1 - - .align 2 -gAnims_REGIROCK:: @ 8309950 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_REGIROCK_1 - .4byte gAnimCmd_REGIROCK_2 - - .align 2 -gAnims_REGICE:: @ 830995C - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_REGICE_1 - - .align 2 -gAnims_REGISTEEL:: @ 8309964 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_REGISTEEL_1 - .4byte gAnimCmd_REGISTEEL_2 - - .align 2 -gAnims_KYOGRE:: @ 8309970 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_KYOGRE_1 - .4byte gAnimCmd_KYOGRE_2 - - .align 2 -gAnims_GROUDON:: @ 830997C - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_GROUDON_1 - .4byte gAnimCmd_GROUDON_2 - - .align 2 -gAnims_RAYQUAZA:: @ 8309988 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_RAYQUAZA_1 - .4byte gAnimCmd_RAYQUAZA_2 - - .align 2 -gAnims_LATIAS:: @ 8309994 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_LATIAS_1 - .4byte gAnimCmd_LATIAS_2 - - .align 2 -gAnims_LATIOS:: @ 83099A0 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_LATIOS_1 - .4byte gAnimCmd_LATIOS_2 - - .align 2 -gAnims_JIRACHI:: @ 83099AC - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_JIRACHI_1 - .4byte gAnimCmd_JIRACHI_2 - - .align 2 -gAnims_DEOXYS:: @ 83099B8 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_DEOXYS_1 - .4byte gAnimCmd_DEOXYS_2 - - .align 2 -gAnims_CHIMECHO:: @ 83099C4 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_CHIMECHO_1 - - .align 2 -gAnims_EGG:: @ 83099CC - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_EGG_1 - - .align 2 -gAnims_UNOWN_B:: @ 83099D4 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_UNOWN_B_1 - - .align 2 -gAnims_UNOWN_C:: @ 83099DC - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_UNOWN_C_1 - - .align 2 -gAnims_UNOWN_D:: @ 83099E4 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_UNOWN_D_1 - - .align 2 -gAnims_UNOWN_E:: @ 83099EC - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_UNOWN_E_1 - - .align 2 -gAnims_UNOWN_F:: @ 83099F4 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_UNOWN_F_1 - - .align 2 -gAnims_UNOWN_G:: @ 83099FC - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_UNOWN_G_1 - - .align 2 -gAnims_UNOWN_H:: @ 8309A04 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_UNOWN_H_1 - - .align 2 -gAnims_UNOWN_I:: @ 8309A0C - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_UNOWN_I_1 - - .align 2 -gAnims_UNOWN_J:: @ 8309A14 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_UNOWN_J_1 - - .align 2 -gAnims_UNOWN_K:: @ 8309A1C - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_UNOWN_K_1 - - .align 2 -gAnims_UNOWN_L:: @ 8309A24 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_UNOWN_L_1 - - .align 2 -gAnims_UNOWN_M:: @ 8309A2C - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_UNOWN_M_1 - - .align 2 -gAnims_UNOWN_N:: @ 8309A34 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_UNOWN_N_1 - - .align 2 -gAnims_UNOWN_O:: @ 8309A3C - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_UNOWN_O_1 - - .align 2 -gAnims_UNOWN_P:: @ 8309A44 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_UNOWN_P_1 - - .align 2 -gAnims_UNOWN_Q:: @ 8309A4C - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_UNOWN_Q_1 - - .align 2 -gAnims_UNOWN_R:: @ 8309A54 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_UNOWN_R_1 - - .align 2 -gAnims_UNOWN_S:: @ 8309A5C - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_UNOWN_S_1 - - .align 2 -gAnims_UNOWN_T:: @ 8309A64 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_UNOWN_T_1 - - .align 2 -gAnims_UNOWN_U:: @ 8309A6C - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_UNOWN_U_1 - - .align 2 -gAnims_UNOWN_V:: @ 8309A74 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_UNOWN_V_1 - - .align 2 -gAnims_UNOWN_W:: @ 8309A7C - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_UNOWN_W_1 - - .align 2 -gAnims_UNOWN_X:: @ 8309A84 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_UNOWN_X_1 - - .align 2 -gAnims_UNOWN_Y:: @ 8309A8C - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_UNOWN_Y_1 - - .align 2 -gAnims_UNOWN_Z:: @ 8309A94 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_UNOWN_Z_1 - - .align 2 -gAnims_UNOWN_EMARK:: @ 8309A9C - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_UNOWN_EMARK_1 - - .align 2 -gAnims_UNOWN_QMARK:: @ 8309AA4 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_UNOWN_QMARK_1 - - .align 2 -gMonAnimationsSpriteAnimsPtrTable:: @ 8309AAC - .4byte gAnims_NONE - .4byte gAnims_BULBASAUR - .4byte gAnims_IVYSAUR - .4byte gAnims_VENUSAUR - .4byte gAnims_CHARMANDER - .4byte gAnims_CHARMELEON - .4byte gAnims_CHARIZARD - .4byte gAnims_SQUIRTLE - .4byte gAnims_WARTORTLE - .4byte gAnims_BLASTOISE - .4byte gAnims_CATERPIE - .4byte gAnims_METAPOD - .4byte gAnims_BUTTERFREE - .4byte gAnims_WEEDLE - .4byte gAnims_KAKUNA - .4byte gAnims_BEEDRILL - .4byte gAnims_PIDGEY - .4byte gAnims_PIDGEOTTO - .4byte gAnims_PIDGEOT - .4byte gAnims_RATTATA - .4byte gAnims_RATICATE - .4byte gAnims_SPEAROW - .4byte gAnims_FEAROW - .4byte gAnims_EKANS - .4byte gAnims_ARBOK - .4byte gAnims_PIKACHU - .4byte gAnims_RAICHU - .4byte gAnims_SANDSHREW - .4byte gAnims_SANDSLASH - .4byte gAnims_NIDORAN_F - .4byte gAnims_NIDORINA - .4byte gAnims_NIDOQUEEN - .4byte gAnims_NIDORAN_M - .4byte gAnims_NIDORINO - .4byte gAnims_NIDOKING - .4byte gAnims_CLEFAIRY - .4byte gAnims_CLEFABLE - .4byte gAnims_VULPIX - .4byte gAnims_NINETALES - .4byte gAnims_JIGGLYPUFF - .4byte gAnims_WIGGLYTUFF - .4byte gAnims_ZUBAT - .4byte gAnims_GOLBAT - .4byte gAnims_ODDISH - .4byte gAnims_GLOOM - .4byte gAnims_VILEPLUME - .4byte gAnims_PARAS - .4byte gAnims_PARASECT - .4byte gAnims_VENONAT - .4byte gAnims_VENOMOTH - .4byte gAnims_DIGLETT - .4byte gAnims_DUGTRIO - .4byte gAnims_MEOWTH - .4byte gAnims_PERSIAN - .4byte gAnims_PSYDUCK - .4byte gAnims_GOLDUCK - .4byte gAnims_MANKEY - .4byte gAnims_PRIMEAPE - .4byte gAnims_GROWLITHE - .4byte gAnims_ARCANINE - .4byte gAnims_POLIWAG - .4byte gAnims_POLIWHIRL - .4byte gAnims_POLIWRATH - .4byte gAnims_ABRA - .4byte gAnims_KADABRA - .4byte gAnims_ALAKAZAM - .4byte gAnims_MACHOP - .4byte gAnims_MACHOKE - .4byte gAnims_MACHAMP - .4byte gAnims_BELLSPROUT - .4byte gAnims_WEEPINBELL - .4byte gAnims_VICTREEBEL - .4byte gAnims_TENTACOOL - .4byte gAnims_TENTACRUEL - .4byte gAnims_GEODUDE - .4byte gAnims_GRAVELER - .4byte gAnims_GOLEM - .4byte gAnims_PONYTA - .4byte gAnims_RAPIDASH - .4byte gAnims_SLOWPOKE - .4byte gAnims_SLOWBRO - .4byte gAnims_MAGNEMITE - .4byte gAnims_MAGNETON - .4byte gAnims_FARFETCHD - .4byte gAnims_DODUO - .4byte gAnims_DODRIO - .4byte gAnims_SEEL - .4byte gAnims_DEWGONG - .4byte gAnims_GRIMER - .4byte gAnims_MUK - .4byte gAnims_SHELLDER - .4byte gAnims_CLOYSTER - .4byte gAnims_GASTLY - .4byte gAnims_HAUNTER - .4byte gAnims_GENGAR - .4byte gAnims_ONIX - .4byte gAnims_DROWZEE - .4byte gAnims_HYPNO - .4byte gAnims_KRABBY - .4byte gAnims_KINGLER - .4byte gAnims_VOLTORB - .4byte gAnims_ELECTRODE - .4byte gAnims_EXEGGCUTE - .4byte gAnims_EXEGGUTOR - .4byte gAnims_CUBONE - .4byte gAnims_MAROWAK - .4byte gAnims_HITMONLEE - .4byte gAnims_HITMONCHAN - .4byte gAnims_LICKITUNG - .4byte gAnims_KOFFING - .4byte gAnims_WEEZING - .4byte gAnims_RHYHORN - .4byte gAnims_RHYDON - .4byte gAnims_CHANSEY - .4byte gAnims_TANGELA - .4byte gAnims_KANGASKHAN - .4byte gAnims_HORSEA - .4byte gAnims_SEADRA - .4byte gAnims_GOLDEEN - .4byte gAnims_SEAKING - .4byte gAnims_STARYU - .4byte gAnims_STARMIE - .4byte gAnims_MR_MIME - .4byte gAnims_SCYTHER - .4byte gAnims_JYNX - .4byte gAnims_ELECTABUZZ - .4byte gAnims_MAGMAR - .4byte gAnims_PINSIR - .4byte gAnims_TAUROS - .4byte gAnims_MAGIKARP - .4byte gAnims_GYARADOS - .4byte gAnims_LAPRAS - .4byte gAnims_DITTO - .4byte gAnims_EEVEE - .4byte gAnims_VAPOREON - .4byte gAnims_JOLTEON - .4byte gAnims_FLAREON - .4byte gAnims_PORYGON - .4byte gAnims_OMANYTE - .4byte gAnims_OMASTAR - .4byte gAnims_KABUTO - .4byte gAnims_KABUTOPS - .4byte gAnims_AERODACTYL - .4byte gAnims_SNORLAX - .4byte gAnims_ARTICUNO - .4byte gAnims_ZAPDOS - .4byte gAnims_MOLTRES - .4byte gAnims_DRATINI - .4byte gAnims_DRAGONAIR - .4byte gAnims_DRAGONITE - .4byte gAnims_MEWTWO - .4byte gAnims_MEW - .4byte gAnims_CHIKORITA - .4byte gAnims_BAYLEEF - .4byte gAnims_MEGANIUM - .4byte gAnims_CYNDAQUIL - .4byte gAnims_QUILAVA - .4byte gAnims_TYPHLOSION - .4byte gAnims_TOTODILE - .4byte gAnims_CROCONAW - .4byte gAnims_FERALIGATR - .4byte gAnims_SENTRET - .4byte gAnims_FURRET - .4byte gAnims_HOOTHOOT - .4byte gAnims_NOCTOWL - .4byte gAnims_LEDYBA - .4byte gAnims_LEDIAN - .4byte gAnims_SPINARAK - .4byte gAnims_ARIADOS - .4byte gAnims_CROBAT - .4byte gAnims_CHINCHOU - .4byte gAnims_LANTURN - .4byte gAnims_PICHU - .4byte gAnims_CLEFFA - .4byte gAnims_IGGLYBUFF - .4byte gAnims_TOGEPI - .4byte gAnims_TOGETIC - .4byte gAnims_NATU - .4byte gAnims_XATU - .4byte gAnims_MAREEP - .4byte gAnims_FLAAFFY - .4byte gAnims_AMPHAROS - .4byte gAnims_BELLOSSOM - .4byte gAnims_MARILL - .4byte gAnims_AZUMARILL - .4byte gAnims_SUDOWOODO - .4byte gAnims_POLITOED - .4byte gAnims_HOPPIP - .4byte gAnims_SKIPLOOM - .4byte gAnims_JUMPLUFF - .4byte gAnims_AIPOM - .4byte gAnims_SUNKERN - .4byte gAnims_SUNFLORA - .4byte gAnims_YANMA - .4byte gAnims_WOOPER - .4byte gAnims_QUAGSIRE - .4byte gAnims_ESPEON - .4byte gAnims_UMBREON - .4byte gAnims_MURKROW - .4byte gAnims_SLOWKING - .4byte gAnims_MISDREAVUS - .4byte gAnims_UNOWN - .4byte gAnims_WOBBUFFET - .4byte gAnims_GIRAFARIG - .4byte gAnims_PINECO - .4byte gAnims_FORRETRESS - .4byte gAnims_DUNSPARCE - .4byte gAnims_GLIGAR - .4byte gAnims_STEELIX - .4byte gAnims_SNUBBULL - .4byte gAnims_GRANBULL - .4byte gAnims_QWILFISH - .4byte gAnims_SCIZOR - .4byte gAnims_SHUCKLE - .4byte gAnims_HERACROSS - .4byte gAnims_SNEASEL - .4byte gAnims_TEDDIURSA - .4byte gAnims_URSARING - .4byte gAnims_SLUGMA - .4byte gAnims_MAGCARGO - .4byte gAnims_SWINUB - .4byte gAnims_PILOSWINE - .4byte gAnims_CORSOLA - .4byte gAnims_REMORAID - .4byte gAnims_OCTILLERY - .4byte gAnims_DELIBIRD - .4byte gAnims_MANTINE - .4byte gAnims_SKARMORY - .4byte gAnims_HOUNDOUR - .4byte gAnims_HOUNDOOM - .4byte gAnims_KINGDRA - .4byte gAnims_PHANPY - .4byte gAnims_DONPHAN - .4byte gAnims_PORYGON2 - .4byte gAnims_STANTLER - .4byte gAnims_SMEARGLE - .4byte gAnims_TYROGUE - .4byte gAnims_HITMONTOP - .4byte gAnims_SMOOCHUM - .4byte gAnims_ELEKID - .4byte gAnims_MAGBY - .4byte gAnims_MILTANK - .4byte gAnims_BLISSEY - .4byte gAnims_RAIKOU - .4byte gAnims_ENTEI - .4byte gAnims_SUICUNE - .4byte gAnims_LARVITAR - .4byte gAnims_PUPITAR - .4byte gAnims_TYRANITAR - .4byte gAnims_LUGIA - .4byte gAnims_HO_OH - .4byte gAnims_CELEBI - .4byte gAnims_OLD_UNOWN_B - .4byte gAnims_OLD_UNOWN_B - .4byte gAnims_OLD_UNOWN_B - .4byte gAnims_OLD_UNOWN_B - .4byte gAnims_OLD_UNOWN_B - .4byte gAnims_OLD_UNOWN_B - .4byte gAnims_OLD_UNOWN_B - .4byte gAnims_OLD_UNOWN_B - .4byte gAnims_OLD_UNOWN_B - .4byte gAnims_OLD_UNOWN_B - .4byte gAnims_OLD_UNOWN_B - .4byte gAnims_OLD_UNOWN_B - .4byte gAnims_OLD_UNOWN_B - .4byte gAnims_OLD_UNOWN_B - .4byte gAnims_OLD_UNOWN_B - .4byte gAnims_OLD_UNOWN_B - .4byte gAnims_OLD_UNOWN_B - .4byte gAnims_OLD_UNOWN_B - .4byte gAnims_OLD_UNOWN_B - .4byte gAnims_OLD_UNOWN_B - .4byte gAnims_OLD_UNOWN_B - .4byte gAnims_OLD_UNOWN_B - .4byte gAnims_OLD_UNOWN_B - .4byte gAnims_OLD_UNOWN_B - .4byte gAnims_OLD_UNOWN_B - .4byte gAnims_TREECKO - .4byte gAnims_GROVYLE - .4byte gAnims_SCEPTILE - .4byte gAnims_TORCHIC - .4byte gAnims_COMBUSKEN - .4byte gAnims_BLAZIKEN - .4byte gAnims_MUDKIP - .4byte gAnims_MARSHTOMP - .4byte gAnims_SWAMPERT - .4byte gAnims_POOCHYENA - .4byte gAnims_MIGHTYENA - .4byte gAnims_ZIGZAGOON - .4byte gAnims_LINOONE - .4byte gAnims_WURMPLE - .4byte gAnims_SILCOON - .4byte gAnims_BEAUTIFLY - .4byte gAnims_CASCOON - .4byte gAnims_DUSTOX - .4byte gAnims_LOTAD - .4byte gAnims_LOMBRE - .4byte gAnims_LUDICOLO - .4byte gAnims_SEEDOT - .4byte gAnims_NUZLEAF - .4byte gAnims_SHIFTRY - .4byte gAnims_NINCADA - .4byte gAnims_NINJASK - .4byte gAnims_SHEDINJA - .4byte gAnims_TAILLOW - .4byte gAnims_SWELLOW - .4byte gAnims_SHROOMISH - .4byte gAnims_BRELOOM - .4byte gAnims_SPINDA - .4byte gAnims_WINGULL - .4byte gAnims_PELIPPER - .4byte gAnims_SURSKIT - .4byte gAnims_MASQUERAIN - .4byte gAnims_WAILMER - .4byte gAnims_WAILORD - .4byte gAnims_SKITTY - .4byte gAnims_DELCATTY - .4byte gAnims_KECLEON - .4byte gAnims_BALTOY - .4byte gAnims_CLAYDOL - .4byte gAnims_NOSEPASS - .4byte gAnims_TORKOAL - .4byte gAnims_SABLEYE - .4byte gAnims_BARBOACH - .4byte gAnims_WHISCASH - .4byte gAnims_LUVDISC - .4byte gAnims_CORPHISH - .4byte gAnims_CRAWDAUNT - .4byte gAnims_FEEBAS - .4byte gAnims_MILOTIC - .4byte gAnims_CARVANHA - .4byte gAnims_SHARPEDO - .4byte gAnims_TRAPINCH - .4byte gAnims_VIBRAVA - .4byte gAnims_FLYGON - .4byte gAnims_MAKUHITA - .4byte gAnims_HARIYAMA - .4byte gAnims_ELECTRIKE - .4byte gAnims_MANECTRIC - .4byte gAnims_NUMEL - .4byte gAnims_CAMERUPT - .4byte gAnims_SPHEAL - .4byte gAnims_SEALEO - .4byte gAnims_WALREIN - .4byte gAnims_CACNEA - .4byte gAnims_CACTURNE - .4byte gAnims_SNORUNT - .4byte gAnims_GLALIE - .4byte gAnims_LUNATONE - .4byte gAnims_SOLROCK - .4byte gAnims_AZURILL - .4byte gAnims_SPOINK - .4byte gAnims_GRUMPIG - .4byte gAnims_PLUSLE - .4byte gAnims_MINUN - .4byte gAnims_MAWILE - .4byte gAnims_MEDITITE - .4byte gAnims_MEDICHAM - .4byte gAnims_SWABLU - .4byte gAnims_ALTARIA - .4byte gAnims_WYNAUT - .4byte gAnims_DUSKULL - .4byte gAnims_DUSCLOPS - .4byte gAnims_ROSELIA - .4byte gAnims_SLAKOTH - .4byte gAnims_VIGOROTH - .4byte gAnims_SLAKING - .4byte gAnims_GULPIN - .4byte gAnims_SWALOT - .4byte gAnims_TROPIUS - .4byte gAnims_WHISMUR - .4byte gAnims_LOUDRED - .4byte gAnims_EXPLOUD - .4byte gAnims_CLAMPERL - .4byte gAnims_HUNTAIL - .4byte gAnims_GOREBYSS - .4byte gAnims_ABSOL - .4byte gAnims_SHUPPET - .4byte gAnims_BANETTE - .4byte gAnims_SEVIPER - .4byte gAnims_ZANGOOSE - .4byte gAnims_RELICANTH - .4byte gAnims_ARON - .4byte gAnims_LAIRON - .4byte gAnims_AGGRON - .4byte gAnims_CASTFORM - .4byte gAnims_VOLBEAT - .4byte gAnims_ILLUMISE - .4byte gAnims_LILEEP - .4byte gAnims_CRADILY - .4byte gAnims_ANORITH - .4byte gAnims_ARMALDO - .4byte gAnims_RALTS - .4byte gAnims_KIRLIA - .4byte gAnims_GARDEVOIR - .4byte gAnims_BAGON - .4byte gAnims_SHELGON - .4byte gAnims_SALAMENCE - .4byte gAnims_BELDUM - .4byte gAnims_METANG - .4byte gAnims_METAGROSS - .4byte gAnims_REGIROCK - .4byte gAnims_REGICE - .4byte gAnims_REGISTEEL - .4byte gAnims_KYOGRE - .4byte gAnims_GROUDON - .4byte gAnims_RAYQUAZA - .4byte gAnims_LATIAS - .4byte gAnims_LATIOS - .4byte gAnims_JIRACHI - .4byte gAnims_DEOXYS - .4byte gAnims_CHIMECHO - .4byte gAnims_EGG - .4byte gAnims_UNOWN_B - .4byte gAnims_UNOWN_C - .4byte gAnims_UNOWN_D - .4byte gAnims_UNOWN_E - .4byte gAnims_UNOWN_F - .4byte gAnims_UNOWN_G - .4byte gAnims_UNOWN_H - .4byte gAnims_UNOWN_I - .4byte gAnims_UNOWN_J - .4byte gAnims_UNOWN_K - .4byte gAnims_UNOWN_L - .4byte gAnims_UNOWN_M - .4byte gAnims_UNOWN_N - .4byte gAnims_UNOWN_O - .4byte gAnims_UNOWN_P - .4byte gAnims_UNOWN_Q - .4byte gAnims_UNOWN_R - .4byte gAnims_UNOWN_S - .4byte gAnims_UNOWN_T - .4byte gAnims_UNOWN_U - .4byte gAnims_UNOWN_V - .4byte gAnims_UNOWN_W - .4byte gAnims_UNOWN_X - .4byte gAnims_UNOWN_Y - .4byte gAnims_UNOWN_Z - .4byte gAnims_UNOWN_EMARK - .4byte gAnims_UNOWN_QMARK diff --git a/data/graphics/pokemon/front_pic_table.inc b/data/graphics/pokemon/front_pic_table.inc deleted file mode 100644 index 7f481e1900..0000000000 --- a/data/graphics/pokemon/front_pic_table.inc +++ /dev/null @@ -1,442 +0,0 @@ - .align 2 -gMonFrontPicTable:: @ 830A18C - obj_tiles gMonFrontPic_CircledQuestionMark, 0x800, 0 - obj_tiles gMonFrontPic_Bulbasaur, 0x800, 1 - obj_tiles gMonFrontPic_Ivysaur, 0x800, 2 - obj_tiles gMonFrontPic_Venusaur, 0x800, 3 - obj_tiles gMonFrontPic_Charmander, 0x800, 4 - obj_tiles gMonFrontPic_Charmeleon, 0x800, 5 - obj_tiles gMonFrontPic_Charizard, 0x800, 6 - obj_tiles gMonFrontPic_Squirtle, 0x800, 7 - obj_tiles gMonFrontPic_Wartortle, 0x800, 8 - obj_tiles gMonFrontPic_Blastoise, 0x800, 9 - obj_tiles gMonFrontPic_Caterpie, 0x800, 10 - obj_tiles gMonFrontPic_Metapod, 0x800, 11 - obj_tiles gMonFrontPic_Butterfree, 0x800, 12 - obj_tiles gMonFrontPic_Weedle, 0x800, 13 - obj_tiles gMonFrontPic_Kakuna, 0x800, 14 - obj_tiles gMonFrontPic_Beedrill, 0x800, 15 - obj_tiles gMonFrontPic_Pidgey, 0x800, 16 - obj_tiles gMonFrontPic_Pidgeotto, 0x800, 17 - obj_tiles gMonFrontPic_Pidgeot, 0x800, 18 - obj_tiles gMonFrontPic_Rattata, 0x800, 19 - obj_tiles gMonFrontPic_Raticate, 0x800, 20 - obj_tiles gMonFrontPic_Spearow, 0x800, 21 - obj_tiles gMonFrontPic_Fearow, 0x800, 22 - obj_tiles gMonFrontPic_Ekans, 0x800, 23 - obj_tiles gMonFrontPic_Arbok, 0x800, 24 - obj_tiles gMonFrontPic_Pikachu, 0x800, 25 - obj_tiles gMonFrontPic_Raichu, 0x800, 26 - obj_tiles gMonFrontPic_Sandshrew, 0x800, 27 - obj_tiles gMonFrontPic_Sandslash, 0x800, 28 - obj_tiles gMonFrontPic_NidoranF, 0x800, 29 - obj_tiles gMonFrontPic_Nidorina, 0x800, 30 - obj_tiles gMonFrontPic_Nidoqueen, 0x800, 31 - obj_tiles gMonFrontPic_NidoranM, 0x800, 32 - obj_tiles gMonFrontPic_Nidorino, 0x800, 33 - obj_tiles gMonFrontPic_Nidoking, 0x800, 34 - obj_tiles gMonFrontPic_Clefairy, 0x800, 35 - obj_tiles gMonFrontPic_Clefable, 0x800, 36 - obj_tiles gMonFrontPic_Vulpix, 0x800, 37 - obj_tiles gMonFrontPic_Ninetales, 0x800, 38 - obj_tiles gMonFrontPic_Jigglypuff, 0x800, 39 - obj_tiles gMonFrontPic_Wigglytuff, 0x800, 40 - obj_tiles gMonFrontPic_Zubat, 0x800, 41 - obj_tiles gMonFrontPic_Golbat, 0x800, 42 - obj_tiles gMonFrontPic_Oddish, 0x800, 43 - obj_tiles gMonFrontPic_Gloom, 0x800, 44 - obj_tiles gMonFrontPic_Vileplume, 0x800, 45 - obj_tiles gMonFrontPic_Paras, 0x800, 46 - obj_tiles gMonFrontPic_Parasect, 0x800, 47 - obj_tiles gMonFrontPic_Venonat, 0x800, 48 - obj_tiles gMonFrontPic_Venomoth, 0x800, 49 - obj_tiles gMonFrontPic_Diglett, 0x800, 50 - obj_tiles gMonFrontPic_Dugtrio, 0x800, 51 - obj_tiles gMonFrontPic_Meowth, 0x800, 52 - obj_tiles gMonFrontPic_Persian, 0x800, 53 - obj_tiles gMonFrontPic_Psyduck, 0x800, 54 - obj_tiles gMonFrontPic_Golduck, 0x800, 55 - obj_tiles gMonFrontPic_Mankey, 0x800, 56 - obj_tiles gMonFrontPic_Primeape, 0x800, 57 - obj_tiles gMonFrontPic_Growlithe, 0x800, 58 - obj_tiles gMonFrontPic_Arcanine, 0x800, 59 - obj_tiles gMonFrontPic_Poliwag, 0x800, 60 - obj_tiles gMonFrontPic_Poliwhirl, 0x800, 61 - obj_tiles gMonFrontPic_Poliwrath, 0x800, 62 - obj_tiles gMonFrontPic_Abra, 0x800, 63 - obj_tiles gMonFrontPic_Kadabra, 0x800, 64 - obj_tiles gMonFrontPic_Alakazam, 0x800, 65 - obj_tiles gMonFrontPic_Machop, 0x800, 66 - obj_tiles gMonFrontPic_Machoke, 0x800, 67 - obj_tiles gMonFrontPic_Machamp, 0x800, 68 - obj_tiles gMonFrontPic_Bellsprout, 0x800, 69 - obj_tiles gMonFrontPic_Weepinbell, 0x800, 70 - obj_tiles gMonFrontPic_Victreebel, 0x800, 71 - obj_tiles gMonFrontPic_Tentacool, 0x800, 72 - obj_tiles gMonFrontPic_Tentacruel, 0x800, 73 - obj_tiles gMonFrontPic_Geodude, 0x800, 74 - obj_tiles gMonFrontPic_Graveler, 0x800, 75 - obj_tiles gMonFrontPic_Golem, 0x800, 76 - obj_tiles gMonFrontPic_Ponyta, 0x800, 77 - obj_tiles gMonFrontPic_Rapidash, 0x800, 78 - obj_tiles gMonFrontPic_Slowpoke, 0x800, 79 - obj_tiles gMonFrontPic_Slowbro, 0x800, 80 - obj_tiles gMonFrontPic_Magnemite, 0x800, 81 - obj_tiles gMonFrontPic_Magneton, 0x800, 82 - obj_tiles gMonFrontPic_Farfetchd, 0x800, 83 - obj_tiles gMonFrontPic_Doduo, 0x800, 84 - obj_tiles gMonFrontPic_Dodrio, 0x800, 85 - obj_tiles gMonFrontPic_Seel, 0x800, 86 - obj_tiles gMonFrontPic_Dewgong, 0x800, 87 - obj_tiles gMonFrontPic_Grimer, 0x800, 88 - obj_tiles gMonFrontPic_Muk, 0x800, 89 - obj_tiles gMonFrontPic_Shellder, 0x800, 90 - obj_tiles gMonFrontPic_Cloyster, 0x800, 91 - obj_tiles gMonFrontPic_Gastly, 0x800, 92 - obj_tiles gMonFrontPic_Haunter, 0x800, 93 - obj_tiles gMonFrontPic_Gengar, 0x800, 94 - obj_tiles gMonFrontPic_Onix, 0x800, 95 - obj_tiles gMonFrontPic_Drowzee, 0x800, 96 - obj_tiles gMonFrontPic_Hypno, 0x800, 97 - obj_tiles gMonFrontPic_Krabby, 0x800, 98 - obj_tiles gMonFrontPic_Kingler, 0x800, 99 - obj_tiles gMonFrontPic_Voltorb, 0x800, 100 - obj_tiles gMonFrontPic_Electrode, 0x800, 101 - obj_tiles gMonFrontPic_Exeggcute, 0x800, 102 - obj_tiles gMonFrontPic_Exeggutor, 0x800, 103 - obj_tiles gMonFrontPic_Cubone, 0x800, 104 - obj_tiles gMonFrontPic_Marowak, 0x800, 105 - obj_tiles gMonFrontPic_Hitmonlee, 0x800, 106 - obj_tiles gMonFrontPic_Hitmonchan, 0x800, 107 - obj_tiles gMonFrontPic_Lickitung, 0x800, 108 - obj_tiles gMonFrontPic_Koffing, 0x800, 109 - obj_tiles gMonFrontPic_Weezing, 0x800, 110 - obj_tiles gMonFrontPic_Rhyhorn, 0x800, 111 - obj_tiles gMonFrontPic_Rhydon, 0x800, 112 - obj_tiles gMonFrontPic_Chansey, 0x800, 113 - obj_tiles gMonFrontPic_Tangela, 0x800, 114 - obj_tiles gMonFrontPic_Kangaskhan, 0x800, 115 - obj_tiles gMonFrontPic_Horsea, 0x800, 116 - obj_tiles gMonFrontPic_Seadra, 0x800, 117 - obj_tiles gMonFrontPic_Goldeen, 0x800, 118 - obj_tiles gMonFrontPic_Seaking, 0x800, 119 - obj_tiles gMonFrontPic_Staryu, 0x800, 120 - obj_tiles gMonFrontPic_Starmie, 0x800, 121 - obj_tiles gMonFrontPic_Mrmime, 0x800, 122 - obj_tiles gMonFrontPic_Scyther, 0x800, 123 - obj_tiles gMonFrontPic_Jynx, 0x800, 124 - obj_tiles gMonFrontPic_Electabuzz, 0x800, 125 - obj_tiles gMonFrontPic_Magmar, 0x800, 126 - obj_tiles gMonFrontPic_Pinsir, 0x800, 127 - obj_tiles gMonFrontPic_Tauros, 0x800, 128 - obj_tiles gMonFrontPic_Magikarp, 0x800, 129 - obj_tiles gMonFrontPic_Gyarados, 0x800, 130 - obj_tiles gMonFrontPic_Lapras, 0x800, 131 - obj_tiles gMonFrontPic_Ditto, 0x800, 132 - obj_tiles gMonFrontPic_Eevee, 0x800, 133 - obj_tiles gMonFrontPic_Vaporeon, 0x800, 134 - obj_tiles gMonFrontPic_Jolteon, 0x800, 135 - obj_tiles gMonFrontPic_Flareon, 0x800, 136 - obj_tiles gMonFrontPic_Porygon, 0x800, 137 - obj_tiles gMonFrontPic_Omanyte, 0x800, 138 - obj_tiles gMonFrontPic_Omastar, 0x800, 139 - obj_tiles gMonFrontPic_Kabuto, 0x800, 140 - obj_tiles gMonFrontPic_Kabutops, 0x800, 141 - obj_tiles gMonFrontPic_Aerodactyl, 0x800, 142 - obj_tiles gMonFrontPic_Snorlax, 0x800, 143 - obj_tiles gMonFrontPic_Articuno, 0x800, 144 - obj_tiles gMonFrontPic_Zapdos, 0x800, 145 - obj_tiles gMonFrontPic_Moltres, 0x800, 146 - obj_tiles gMonFrontPic_Dratini, 0x800, 147 - obj_tiles gMonFrontPic_Dragonair, 0x800, 148 - obj_tiles gMonFrontPic_Dragonite, 0x800, 149 - obj_tiles gMonFrontPic_Mewtwo, 0x800, 150 - obj_tiles gMonFrontPic_Mew, 0x800, 151 - obj_tiles gMonFrontPic_Chikorita, 0x800, 152 - obj_tiles gMonFrontPic_Bayleef, 0x800, 153 - obj_tiles gMonFrontPic_Meganium, 0x800, 154 - obj_tiles gMonFrontPic_Cyndaquil, 0x800, 155 - obj_tiles gMonFrontPic_Quilava, 0x800, 156 - obj_tiles gMonFrontPic_Typhlosion, 0x800, 157 - obj_tiles gMonFrontPic_Totodile, 0x800, 158 - obj_tiles gMonFrontPic_Croconaw, 0x800, 159 - obj_tiles gMonFrontPic_Feraligatr, 0x800, 160 - obj_tiles gMonFrontPic_Sentret, 0x800, 161 - obj_tiles gMonFrontPic_Furret, 0x800, 162 - obj_tiles gMonFrontPic_Hoothoot, 0x800, 163 - obj_tiles gMonFrontPic_Noctowl, 0x800, 164 - obj_tiles gMonFrontPic_Ledyba, 0x800, 165 - obj_tiles gMonFrontPic_Ledian, 0x800, 166 - obj_tiles gMonFrontPic_Spinarak, 0x800, 167 - obj_tiles gMonFrontPic_Ariados, 0x800, 168 - obj_tiles gMonFrontPic_Crobat, 0x800, 169 - obj_tiles gMonFrontPic_Chinchou, 0x800, 170 - obj_tiles gMonFrontPic_Lanturn, 0x800, 171 - obj_tiles gMonFrontPic_Pichu, 0x800, 172 - obj_tiles gMonFrontPic_Cleffa, 0x800, 173 - obj_tiles gMonFrontPic_Igglybuff, 0x800, 174 - obj_tiles gMonFrontPic_Togepi, 0x800, 175 - obj_tiles gMonFrontPic_Togetic, 0x800, 176 - obj_tiles gMonFrontPic_Natu, 0x800, 177 - obj_tiles gMonFrontPic_Xatu, 0x800, 178 - obj_tiles gMonFrontPic_Mareep, 0x800, 179 - obj_tiles gMonFrontPic_Flaaffy, 0x800, 180 - obj_tiles gMonFrontPic_Ampharos, 0x800, 181 - obj_tiles gMonFrontPic_Bellossom, 0x800, 182 - obj_tiles gMonFrontPic_Marill, 0x800, 183 - obj_tiles gMonFrontPic_Azumarill, 0x800, 184 - obj_tiles gMonFrontPic_Sudowoodo, 0x800, 185 - obj_tiles gMonFrontPic_Politoed, 0x800, 186 - obj_tiles gMonFrontPic_Hoppip, 0x800, 187 - obj_tiles gMonFrontPic_Skiploom, 0x800, 188 - obj_tiles gMonFrontPic_Jumpluff, 0x800, 189 - obj_tiles gMonFrontPic_Aipom, 0x800, 190 - obj_tiles gMonFrontPic_Sunkern, 0x800, 191 - obj_tiles gMonFrontPic_Sunflora, 0x800, 192 - obj_tiles gMonFrontPic_Yanma, 0x800, 193 - obj_tiles gMonFrontPic_Wooper, 0x800, 194 - obj_tiles gMonFrontPic_Quagsire, 0x800, 195 - obj_tiles gMonFrontPic_Espeon, 0x800, 196 - obj_tiles gMonFrontPic_Umbreon, 0x800, 197 - obj_tiles gMonFrontPic_Murkrow, 0x800, 198 - obj_tiles gMonFrontPic_Slowking, 0x800, 199 - obj_tiles gMonFrontPic_Misdreavus, 0x800, 200 - obj_tiles gMonFrontPic_UnownA, 0x800, 201 - obj_tiles gMonFrontPic_Wobbuffet, 0x800, 202 - obj_tiles gMonFrontPic_Girafarig, 0x800, 203 - obj_tiles gMonFrontPic_Pineco, 0x800, 204 - obj_tiles gMonFrontPic_Forretress, 0x800, 205 - obj_tiles gMonFrontPic_Dunsparce, 0x800, 206 - obj_tiles gMonFrontPic_Gligar, 0x800, 207 - obj_tiles gMonFrontPic_Steelix, 0x800, 208 - obj_tiles gMonFrontPic_Snubbull, 0x800, 209 - obj_tiles gMonFrontPic_Granbull, 0x800, 210 - obj_tiles gMonFrontPic_Qwilfish, 0x800, 211 - obj_tiles gMonFrontPic_Scizor, 0x800, 212 - obj_tiles gMonFrontPic_Shuckle, 0x800, 213 - obj_tiles gMonFrontPic_Heracross, 0x800, 214 - obj_tiles gMonFrontPic_Sneasel, 0x800, 215 - obj_tiles gMonFrontPic_Teddiursa, 0x800, 216 - obj_tiles gMonFrontPic_Ursaring, 0x800, 217 - obj_tiles gMonFrontPic_Slugma, 0x800, 218 - obj_tiles gMonFrontPic_Magcargo, 0x800, 219 - obj_tiles gMonFrontPic_Swinub, 0x800, 220 - obj_tiles gMonFrontPic_Piloswine, 0x800, 221 - obj_tiles gMonFrontPic_Corsola, 0x800, 222 - obj_tiles gMonFrontPic_Remoraid, 0x800, 223 - obj_tiles gMonFrontPic_Octillery, 0x800, 224 - obj_tiles gMonFrontPic_Delibird, 0x800, 225 - obj_tiles gMonFrontPic_Mantine, 0x800, 226 - obj_tiles gMonFrontPic_Skarmory, 0x800, 227 - obj_tiles gMonFrontPic_Houndour, 0x800, 228 - obj_tiles gMonFrontPic_Houndoom, 0x800, 229 - obj_tiles gMonFrontPic_Kingdra, 0x800, 230 - obj_tiles gMonFrontPic_Phanpy, 0x800, 231 - obj_tiles gMonFrontPic_Donphan, 0x800, 232 - obj_tiles gMonFrontPic_Porygon2, 0x800, 233 - obj_tiles gMonFrontPic_Stantler, 0x800, 234 - obj_tiles gMonFrontPic_Smeargle, 0x800, 235 - obj_tiles gMonFrontPic_Tyrogue, 0x800, 236 - obj_tiles gMonFrontPic_Hitmontop, 0x800, 237 - obj_tiles gMonFrontPic_Smoochum, 0x800, 238 - obj_tiles gMonFrontPic_Elekid, 0x800, 239 - obj_tiles gMonFrontPic_Magby, 0x800, 240 - obj_tiles gMonFrontPic_Miltank, 0x800, 241 - obj_tiles gMonFrontPic_Blissey, 0x800, 242 - obj_tiles gMonFrontPic_Raikou, 0x800, 243 - obj_tiles gMonFrontPic_Entei, 0x800, 244 - obj_tiles gMonFrontPic_Suicune, 0x800, 245 - obj_tiles gMonFrontPic_Larvitar, 0x800, 246 - obj_tiles gMonFrontPic_Pupitar, 0x800, 247 - obj_tiles gMonFrontPic_Tyranitar, 0x800, 248 - obj_tiles gMonFrontPic_Lugia, 0x800, 249 - obj_tiles gMonFrontPic_HoOh, 0x800, 250 - obj_tiles gMonFrontPic_Celebi, 0x800, 251 - obj_tiles gMonFrontPic_DoubleQuestionMark, 0x800, 252 - obj_tiles gMonFrontPic_DoubleQuestionMark, 0x800, 253 - obj_tiles gMonFrontPic_DoubleQuestionMark, 0x800, 254 - obj_tiles gMonFrontPic_DoubleQuestionMark, 0x800, 255 - obj_tiles gMonFrontPic_DoubleQuestionMark, 0x800, 256 - obj_tiles gMonFrontPic_DoubleQuestionMark, 0x800, 257 - obj_tiles gMonFrontPic_DoubleQuestionMark, 0x800, 258 - obj_tiles gMonFrontPic_DoubleQuestionMark, 0x800, 259 - obj_tiles gMonFrontPic_DoubleQuestionMark, 0x800, 260 - obj_tiles gMonFrontPic_DoubleQuestionMark, 0x800, 261 - obj_tiles gMonFrontPic_DoubleQuestionMark, 0x800, 262 - obj_tiles gMonFrontPic_DoubleQuestionMark, 0x800, 263 - obj_tiles gMonFrontPic_DoubleQuestionMark, 0x800, 264 - obj_tiles gMonFrontPic_DoubleQuestionMark, 0x800, 265 - obj_tiles gMonFrontPic_DoubleQuestionMark, 0x800, 266 - obj_tiles gMonFrontPic_DoubleQuestionMark, 0x800, 267 - obj_tiles gMonFrontPic_DoubleQuestionMark, 0x800, 268 - obj_tiles gMonFrontPic_DoubleQuestionMark, 0x800, 269 - obj_tiles gMonFrontPic_DoubleQuestionMark, 0x800, 270 - obj_tiles gMonFrontPic_DoubleQuestionMark, 0x800, 271 - obj_tiles gMonFrontPic_DoubleQuestionMark, 0x800, 272 - obj_tiles gMonFrontPic_DoubleQuestionMark, 0x800, 273 - obj_tiles gMonFrontPic_DoubleQuestionMark, 0x800, 274 - obj_tiles gMonFrontPic_DoubleQuestionMark, 0x800, 275 - obj_tiles gMonFrontPic_DoubleQuestionMark, 0x800, 276 - obj_tiles gMonFrontPic_Treecko, 0x800, 277 - obj_tiles gMonFrontPic_Grovyle, 0x800, 278 - obj_tiles gMonFrontPic_Sceptile, 0x800, 279 - obj_tiles gMonFrontPic_Torchic, 0x800, 280 - obj_tiles gMonFrontPic_Combusken, 0x800, 281 - obj_tiles gMonFrontPic_Blaziken, 0x800, 282 - obj_tiles gMonFrontPic_Mudkip, 0x800, 283 - obj_tiles gMonFrontPic_Marshtomp, 0x800, 284 - obj_tiles gMonFrontPic_Swampert, 0x800, 285 - obj_tiles gMonFrontPic_Poochyena, 0x800, 286 - obj_tiles gMonFrontPic_Mightyena, 0x800, 287 - obj_tiles gMonFrontPic_Zigzagoon, 0x800, 288 - obj_tiles gMonFrontPic_Linoone, 0x800, 289 - obj_tiles gMonFrontPic_Wurmple, 0x800, 290 - obj_tiles gMonFrontPic_Silcoon, 0x800, 291 - obj_tiles gMonFrontPic_Beautifly, 0x800, 292 - obj_tiles gMonFrontPic_Cascoon, 0x800, 293 - obj_tiles gMonFrontPic_Dustox, 0x800, 294 - obj_tiles gMonFrontPic_Lotad, 0x800, 295 - obj_tiles gMonFrontPic_Lombre, 0x800, 296 - obj_tiles gMonFrontPic_Ludicolo, 0x800, 297 - obj_tiles gMonFrontPic_Seedot, 0x800, 298 - obj_tiles gMonFrontPic_Nuzleaf, 0x800, 299 - obj_tiles gMonFrontPic_Shiftry, 0x800, 300 - obj_tiles gMonFrontPic_Nincada, 0x800, 301 - obj_tiles gMonFrontPic_Ninjask, 0x800, 302 - obj_tiles gMonFrontPic_Shedinja, 0x800, 303 - obj_tiles gMonFrontPic_Taillow, 0x800, 304 - obj_tiles gMonFrontPic_Swellow, 0x800, 305 - obj_tiles gMonFrontPic_Shroomish, 0x800, 306 - obj_tiles gMonFrontPic_Breloom, 0x800, 307 - obj_tiles gMonFrontPic_Spinda, 0x800, 308 - obj_tiles gMonFrontPic_Wingull, 0x800, 309 - obj_tiles gMonFrontPic_Pelipper, 0x800, 310 - obj_tiles gMonFrontPic_Surskit, 0x800, 311 - obj_tiles gMonFrontPic_Masquerain, 0x800, 312 - obj_tiles gMonFrontPic_Wailmer, 0x800, 313 - obj_tiles gMonFrontPic_Wailord, 0x800, 314 - obj_tiles gMonFrontPic_Skitty, 0x800, 315 - obj_tiles gMonFrontPic_Delcatty, 0x800, 316 - obj_tiles gMonFrontPic_Kecleon, 0x800, 317 - obj_tiles gMonFrontPic_Baltoy, 0x800, 318 - obj_tiles gMonFrontPic_Claydol, 0x800, 319 - obj_tiles gMonFrontPic_Nosepass, 0x800, 320 - obj_tiles gMonFrontPic_Torkoal, 0x800, 321 - obj_tiles gMonFrontPic_Sableye, 0x800, 322 - obj_tiles gMonFrontPic_Barboach, 0x800, 323 - obj_tiles gMonFrontPic_Whiscash, 0x800, 324 - obj_tiles gMonFrontPic_Luvdisc, 0x800, 325 - obj_tiles gMonFrontPic_Corphish, 0x800, 326 - obj_tiles gMonFrontPic_Crawdaunt, 0x800, 327 - obj_tiles gMonFrontPic_Feebas, 0x800, 328 - obj_tiles gMonFrontPic_Milotic, 0x800, 329 - obj_tiles gMonFrontPic_Carvanha, 0x800, 330 - obj_tiles gMonFrontPic_Sharpedo, 0x800, 331 - obj_tiles gMonFrontPic_Trapinch, 0x800, 332 - obj_tiles gMonFrontPic_Vibrava, 0x800, 333 - obj_tiles gMonFrontPic_Flygon, 0x800, 334 - obj_tiles gMonFrontPic_Makuhita, 0x800, 335 - obj_tiles gMonFrontPic_Hariyama, 0x800, 336 - obj_tiles gMonFrontPic_Electrike, 0x800, 337 - obj_tiles gMonFrontPic_Manectric, 0x800, 338 - obj_tiles gMonFrontPic_Numel, 0x800, 339 - obj_tiles gMonFrontPic_Camerupt, 0x800, 340 - obj_tiles gMonFrontPic_Spheal, 0x800, 341 - obj_tiles gMonFrontPic_Sealeo, 0x800, 342 - obj_tiles gMonFrontPic_Walrein, 0x800, 343 - obj_tiles gMonFrontPic_Cacnea, 0x800, 344 - obj_tiles gMonFrontPic_Cacturne, 0x800, 345 - obj_tiles gMonFrontPic_Snorunt, 0x800, 346 - obj_tiles gMonFrontPic_Glalie, 0x800, 347 - obj_tiles gMonFrontPic_Lunatone, 0x800, 348 - obj_tiles gMonFrontPic_Solrock, 0x800, 349 - obj_tiles gMonFrontPic_Azurill, 0x800, 350 - obj_tiles gMonFrontPic_Spoink, 0x800, 351 - obj_tiles gMonFrontPic_Grumpig, 0x800, 352 - obj_tiles gMonFrontPic_Plusle, 0x800, 353 - obj_tiles gMonFrontPic_Minun, 0x800, 354 - obj_tiles gMonFrontPic_Mawile, 0x800, 355 - obj_tiles gMonFrontPic_Meditite, 0x800, 356 - obj_tiles gMonFrontPic_Medicham, 0x800, 357 - obj_tiles gMonFrontPic_Swablu, 0x800, 358 - obj_tiles gMonFrontPic_Altaria, 0x800, 359 - obj_tiles gMonFrontPic_Wynaut, 0x800, 360 - obj_tiles gMonFrontPic_Duskull, 0x800, 361 - obj_tiles gMonFrontPic_Dusclops, 0x800, 362 - obj_tiles gMonFrontPic_Roselia, 0x800, 363 - obj_tiles gMonFrontPic_Slakoth, 0x800, 364 - obj_tiles gMonFrontPic_Vigoroth, 0x800, 365 - obj_tiles gMonFrontPic_Slaking, 0x800, 366 - obj_tiles gMonFrontPic_Gulpin, 0x800, 367 - obj_tiles gMonFrontPic_Swalot, 0x800, 368 - obj_tiles gMonFrontPic_Tropius, 0x800, 369 - obj_tiles gMonFrontPic_Whismur, 0x800, 370 - obj_tiles gMonFrontPic_Loudred, 0x800, 371 - obj_tiles gMonFrontPic_Exploud, 0x800, 372 - obj_tiles gMonFrontPic_Clamperl, 0x800, 373 - obj_tiles gMonFrontPic_Huntail, 0x800, 374 - obj_tiles gMonFrontPic_Gorebyss, 0x800, 375 - obj_tiles gMonFrontPic_Absol, 0x800, 376 - obj_tiles gMonFrontPic_Shuppet, 0x800, 377 - obj_tiles gMonFrontPic_Banette, 0x800, 378 - obj_tiles gMonFrontPic_Seviper, 0x800, 379 - obj_tiles gMonFrontPic_Zangoose, 0x800, 380 - obj_tiles gMonFrontPic_Relicanth, 0x800, 381 - obj_tiles gMonFrontPic_Aron, 0x800, 382 - obj_tiles gMonFrontPic_Lairon, 0x800, 383 - obj_tiles gMonFrontPic_Aggron, 0x800, 384 - obj_tiles gMonFrontPic_Castform, 0x800, 385 - obj_tiles gMonFrontPic_Volbeat, 0x800, 386 - obj_tiles gMonFrontPic_Illumise, 0x800, 387 - obj_tiles gMonFrontPic_Lileep, 0x800, 388 - obj_tiles gMonFrontPic_Cradily, 0x800, 389 - obj_tiles gMonFrontPic_Anorith, 0x800, 390 - obj_tiles gMonFrontPic_Armaldo, 0x800, 391 - obj_tiles gMonFrontPic_Ralts, 0x800, 392 - obj_tiles gMonFrontPic_Kirlia, 0x800, 393 - obj_tiles gMonFrontPic_Gardevoir, 0x800, 394 - obj_tiles gMonFrontPic_Bagon, 0x800, 395 - obj_tiles gMonFrontPic_Shelgon, 0x800, 396 - obj_tiles gMonFrontPic_Salamence, 0x800, 397 - obj_tiles gMonFrontPic_Beldum, 0x800, 398 - obj_tiles gMonFrontPic_Metang, 0x800, 399 - obj_tiles gMonFrontPic_Metagross, 0x800, 400 - obj_tiles gMonFrontPic_Regirock, 0x800, 401 - obj_tiles gMonFrontPic_Regice, 0x800, 402 - obj_tiles gMonFrontPic_Registeel, 0x800, 403 - obj_tiles gMonFrontPic_Kyogre, 0x800, 404 - obj_tiles gMonFrontPic_Groudon, 0x800, 405 - obj_tiles gMonFrontPic_Rayquaza, 0x800, 406 - obj_tiles gMonFrontPic_Latias, 0x800, 407 - obj_tiles gMonFrontPic_Latios, 0x800, 408 - obj_tiles gMonFrontPic_Jirachi, 0x800, 409 - obj_tiles gMonFrontPic_Deoxys, 0x800, 410 - obj_tiles gMonFrontPic_Chimecho, 0x800, 411 - obj_tiles gMonFrontPic_Egg, 0x800, 412 - obj_tiles gMonFrontPic_UnownB, 0x800, 413 - obj_tiles gMonFrontPic_UnownC, 0x800, 414 - obj_tiles gMonFrontPic_UnownD, 0x800, 415 - obj_tiles gMonFrontPic_UnownE, 0x800, 416 - obj_tiles gMonFrontPic_UnownF, 0x800, 417 - obj_tiles gMonFrontPic_UnownG, 0x800, 418 - obj_tiles gMonFrontPic_UnownH, 0x800, 419 - obj_tiles gMonFrontPic_UnownI, 0x800, 420 - obj_tiles gMonFrontPic_UnownJ, 0x800, 421 - obj_tiles gMonFrontPic_UnownK, 0x800, 422 - obj_tiles gMonFrontPic_UnownL, 0x800, 423 - obj_tiles gMonFrontPic_UnownM, 0x800, 424 - obj_tiles gMonFrontPic_UnownN, 0x800, 425 - obj_tiles gMonFrontPic_UnownO, 0x800, 426 - obj_tiles gMonFrontPic_UnownP, 0x800, 427 - obj_tiles gMonFrontPic_UnownQ, 0x800, 428 - obj_tiles gMonFrontPic_UnownR, 0x800, 429 - obj_tiles gMonFrontPic_UnownS, 0x800, 430 - obj_tiles gMonFrontPic_UnownT, 0x800, 431 - obj_tiles gMonFrontPic_UnownU, 0x800, 432 - obj_tiles gMonFrontPic_UnownV, 0x800, 433 - obj_tiles gMonFrontPic_UnownW, 0x800, 434 - obj_tiles gMonFrontPic_UnownX, 0x800, 435 - obj_tiles gMonFrontPic_UnownY, 0x800, 436 - obj_tiles gMonFrontPic_UnownZ, 0x800, 437 - obj_tiles gMonFrontPic_UnownExclamationMark, 0x800, 438 - obj_tiles gMonFrontPic_UnownQuestionMark, 0x800, 439 diff --git a/data/graphics/trainers/back_pic_coords.inc b/data/graphics/trainers/back_pic_coords.inc deleted file mode 100644 index 57a45c71e8..0000000000 --- a/data/graphics/trainers/back_pic_coords.inc +++ /dev/null @@ -1,10 +0,0 @@ - .align 2 -gTrainerBackPicCoords:: @ 8305D2C - .byte 0x08, 0x04, 0x00, 0x00 - .byte 0x08, 0x04, 0x00, 0x00 - .byte 0x08, 0x05, 0x00, 0x00 - .byte 0x08, 0x05, 0x00, 0x00 - .byte 0x08, 0x04, 0x00, 0x00 - .byte 0x08, 0x04, 0x00, 0x00 - .byte 0x08, 0x04, 0x00, 0x00 - .byte 0x08, 0x04, 0x00, 0x00 diff --git a/data/graphics/trainers/back_pic_palette_table.inc b/data/graphics/trainers/back_pic_palette_table.inc deleted file mode 100644 index 46e56f2ac1..0000000000 --- a/data/graphics/trainers/back_pic_palette_table.inc +++ /dev/null @@ -1,10 +0,0 @@ - .align 2 -gTrainerBackPicPaletteTable:: @ 8305D8C - obj_pal gTrainerPalette_Brendan, 0 - obj_pal gTrainerPalette_May, 1 - obj_pal gTrainerBackPicPalette_Red, 2 - obj_pal gTrainerBackPicPalette_Leaf, 3 - obj_pal gTrainerPalette_RubySapphireBrendan, 4 - obj_pal gTrainerPalette_RubySapphireMay, 5 - obj_pal gTrainerPalette_Wally, 6 - obj_pal gTrainerPalette_Steven, 7 diff --git a/data/graphics/trainers/back_pic_table.inc b/data/graphics/trainers/back_pic_table.inc deleted file mode 100644 index e67c2a0734..0000000000 --- a/data/graphics/trainers/back_pic_table.inc +++ /dev/null @@ -1,10 +0,0 @@ - .align 2 -gTrainerBackPicTable:: @ 8305D4C - obj_tiles gTrainerBackPic_Brendan, 0x2000, 0 - obj_tiles gTrainerBackPic_May, 0x2000, 1 - obj_tiles gTrainerBackPic_Red, 0x2800, 2 - obj_tiles gTrainerBackPic_Leaf, 0x2800, 3 - obj_tiles gTrainerBackPic_RubySapphireBrendan, 0x2000, 4 - obj_tiles gTrainerBackPic_RubySapphireMay, 0x2000, 5 - obj_tiles gTrainerBackPic_Wally, 0x2000, 6 - obj_tiles gTrainerBackPic_Steven, 0x2000, 7 diff --git a/include/data/pokemon_graphics/enemy_mon_elevation.h b/include/data/pokemon_graphics/enemy_mon_elevation.h new file mode 100644 index 0000000000..80e2a415a2 --- /dev/null +++ b/include/data/pokemon_graphics/enemy_mon_elevation.h @@ -0,0 +1,417 @@ +// 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[] = +{ + 0, // 0 + 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 + 8, // SPECIES_BUTTERFREE + 0, // SPECIES_WEEDLE + 0, // SPECIES_KAKUNA + 8, // SPECIES_BEEDRILL + 16, // SPECIES_PIDGEY + 0, // SPECIES_PIDGEOTTO + 4, // SPECIES_PIDGEOT + 0, // SPECIES_RATTATA + 0, // SPECIES_RATICATE + 0, // SPECIES_SPEAROW + 6, // SPECIES_FEAROW + 0, // 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 + 8, // SPECIES_ZUBAT + 8, // SPECIES_GOLBAT + 0, // SPECIES_ODDISH + 0, // SPECIES_GLOOM + 0, // SPECIES_VILEPLUME + 0, // SPECIES_PARAS + 0, // SPECIES_PARASECT + 0, // SPECIES_VENONAT + 8, // SPECIES_VENOMOTH + 0, // 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 + 16, // SPECIES_GEODUDE + 0, // SPECIES_GRAVELER + 0, // SPECIES_GOLEM + 0, // SPECIES_PONYTA + 0, // SPECIES_RAPIDASH + 0, // SPECIES_SLOWPOKE + 0, // SPECIES_SLOWBRO + 16, // SPECIES_MAGNEMITE + 8, // SPECIES_MAGNETON + 0, // 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 + 4, // SPECIES_GASTLY + 4, // SPECIES_HAUNTER + 0, // SPECIES_GENGAR + 0, // SPECIES_ONIX + 0, // SPECIES_DROWZEE + 0, // SPECIES_HYPNO + 0, // SPECIES_KRABBY + 0, // SPECIES_KINGLER + 10, // SPECIES_VOLTORB + 12, // SPECIES_ELECTRODE + 0, // SPECIES_EXEGGCUTE + 0, // SPECIES_EXEGGUTOR + 0, // SPECIES_CUBONE + 0, // SPECIES_MAROWAK + 0, // SPECIES_HITMONLEE + 0, // SPECIES_HITMONCHAN + 0, // SPECIES_LICKITUNG + 8, // SPECIES_KOFFING + 6, // SPECIES_WEEZING + 0, // 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 + 7, // SPECIES_AERODACTYL + 0, // SPECIES_SNORLAX + 6, // SPECIES_ARTICUNO + 8, // SPECIES_ZAPDOS + 5, // SPECIES_MOLTRES + 0, // SPECIES_DRATINI + 0, // SPECIES_DRAGONAIR + 6, // SPECIES_DRAGONITE + 0, // SPECIES_MEWTWO + 8, // SPECIES_MEW + 0, // 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 + 8, // SPECIES_LEDIAN + 0, // SPECIES_SPINARAK + 0, // SPECIES_ARIADOS + 6, // SPECIES_CROBAT + 0, // 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 + 11, // SPECIES_HOPPIP + 12, // SPECIES_SKIPLOOM + 9, // SPECIES_JUMPLUFF + 0, // SPECIES_AIPOM + 0, // SPECIES_SUNKERN + 0, // SPECIES_SUNFLORA + 8, // SPECIES_YANMA + 0, // SPECIES_WOOPER + 0, // SPECIES_QUAGSIRE + 0, // SPECIES_ESPEON + 0, // SPECIES_UMBREON + 0, // SPECIES_MURKROW + 0, // SPECIES_SLOWKING + 8, // SPECIES_MISDREAVUS + 8, // SPECIES_UNOWN + 0, // SPECIES_WOBBUFFET + 0, // SPECIES_GIRAFARIG + 0, // SPECIES_PINECO + 0, // SPECIES_FORRETRESS + 0, // SPECIES_DUNSPARCE + 6, // SPECIES_GLIGAR + 0, // 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 + 6, // SPECIES_LUGIA + 6, // SPECIES_HO_OH + 15, // SPECIES_CELEBI + 0, // 252 + 0, // 253 + 0, // 254 + 0, // 255 + 0, // 256 + 0, // 257 + 0, // 258 + 0, // 259 + 0, // 260 + 0, // 261 + 0, // 262 + 0, // 263 + 0, // 264 + 0, // 265 + 0, // 266 + 0, // 267 + 0, // 268 + 0, // 269 + 0, // 270 + 0, // 271 + 0, // 272 + 0, // 273 + 0, // 274 + 0, // 275 + 0, // 276 + 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 + 8, // SPECIES_BEAUTIFLY + 0, // SPECIES_CASCOON + 10, // SPECIES_DUSTOX + 0, // SPECIES_LOTAD + 0, // SPECIES_LOMBRE + 0, // SPECIES_LUDICOLO + 0, // SPECIES_SEEDOT + 0, // SPECIES_NUZLEAF + 0, // SPECIES_SHIFTRY + 0, // SPECIES_NINCADA + 10, // SPECIES_NINJASK + 8, // SPECIES_SHEDINJA + 0, // SPECIES_TAILLOW + 0, // SPECIES_SWELLOW + 0, // SPECIES_SHROOMISH + 0, // SPECIES_BRELOOM + 0, // SPECIES_SPINDA + 16, // SPECIES_WINGULL + 8, // SPECIES_PELIPPER + 0, // SPECIES_SURSKIT + 10, // SPECIES_MASQUERAIN + 0, // SPECIES_WAILMER + 0, // SPECIES_WAILORD + 0, // SPECIES_SKITTY + 0, // SPECIES_DELCATTY + 0, // SPECIES_KECLEON + 4, // SPECIES_BALTOY + 10, // SPECIES_CLAYDOL + 0, // 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 + 7, // SPECIES_FLYGON + 0, // 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 + 12, // SPECIES_GLALIE + 13, // SPECIES_LUNATONE + 4, // SPECIES_SOLROCK + 0, // SPECIES_AZURILL + 0, // SPECIES_SPOINK + 0, // SPECIES_GRUMPIG + 0, // SPECIES_PLUSLE + 0, // SPECIES_MINUN + 0, // SPECIES_MAWILE + 0, // SPECIES_MEDITITE + 0, // SPECIES_MEDICHAM + 12, // SPECIES_SWABLU + 8, // SPECIES_ALTARIA + 0, // SPECIES_WYNAUT + 9, // SPECIES_DUSKULL + 0, // 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 + 12, // SPECIES_SHUPPET + 8, // SPECIES_BANETTE + 0, // SPECIES_SEVIPER + 0, // SPECIES_ZANGOOSE + 0, // SPECIES_RELICANTH + 0, // SPECIES_ARON + 0, // SPECIES_LAIRON + 0, // SPECIES_AGGRON + 16, // SPECIES_CASTFORM + 0, // 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 + 8, // SPECIES_BELDUM + 0, // SPECIES_METANG + 0, // SPECIES_METAGROSS + 0, // SPECIES_REGIROCK + 0, // SPECIES_REGICE + 0, // SPECIES_REGISTEEL + 0, // SPECIES_KYOGRE + 0, // SPECIES_GROUDON + 6, // SPECIES_RAYQUAZA + 6, // SPECIES_LATIAS + 6, // SPECIES_LATIOS + 12, // SPECIES_JIRACHI + 8, // SPECIES_DEOXYS + 12, // SPECIES_CHIMECHO +}; diff --git a/include/data/pokemon_graphics/front_anims.h b/include/data/pokemon_graphics/front_anims.h new file mode 100644 index 0000000000..0e7b75bde2 --- /dev/null +++ b/include/data/pokemon_graphics/front_anims.h @@ -0,0 +1,7391 @@ + +const union AnimCmd gAnimCmd_NONE_1[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_BULBASAUR_1[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_IVYSAUR_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 36), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_VENUSAUR_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_CHARMANDER_1[] = +{ + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 46), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_CHARMELEON_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 30), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_CHARIZARD_1[] = +{ + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SQUIRTLE_1[] = +{ + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_WARTORTLE_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_BLASTOISE_1[] = +{ + ANIMCMD_FRAME(0, 50), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_CATERPIE_1[] = +{ + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_METAPOD_1[] = +{ + ANIMCMD_FRAME(1, 45), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_BUTTERFREE_1[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 25), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_WEEDLE_1[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_KAKUNA_1[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_BEEDRILL_1[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 35), + ANIMCMD_FRAME(0, 28), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_PIDGEY_1[] = +{ + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_PIDGEOTTO_1[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 35), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_PIDGEOT_1[] = +{ + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + + +const union AnimCmd gAnimCmd_RATTATA_1[] = +{ + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(1, 28), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_RATICATE_1[] = +{ + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SPEAROW_1[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_FEAROW_1[] = +{ + ANIMCMD_FRAME(1, 7), + ANIMCMD_FRAME(0, 7), + ANIMCMD_FRAME(1, 7), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 7), + ANIMCMD_FRAME(0, 7), + ANIMCMD_FRAME(1, 7), + ANIMCMD_FRAME(0, 7), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_EKANS_1[] = +{ + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 8), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_ARBOK_1[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 35), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_PIKACHU_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_PIKACHU_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_RAICHU_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_RAICHU_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SANDSHREW_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SANDSHREW_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SANDSLASH_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SANDSLASH_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_NIDORAN_F_1[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 50), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_NIDORINA_1[] = +{ + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_NIDOQUEEN_1[] = +{ + ANIMCMD_FRAME(1, 45), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_NIDORAN_M_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_NIDORINO_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_NIDOKING_1[] = +{ + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_CLEFAIRY_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_CLEFABLE_1[] = +{ + ANIMCMD_FRAME(1, 27), + ANIMCMD_FRAME(0, 27), + ANIMCMD_FRAME(1, 24), + ANIMCMD_FRAME(0, 25), + ANIMCMD_FRAME(1, 27), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_VULPIX_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_VULPIX_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_NINETALES_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_NINETALES_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_JIGGLYPUFF_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_JIGGLYPUFF_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_WIGGLYTUFF_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_WIGGLYTUFF_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_ZUBAT_1[] = +{ + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_GOLBAT_1[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_ODDISH_1[] = +{ + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 11), + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 11), + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 11), + ANIMCMD_FRAME(0, 6), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_GLOOM_1[] = +{ + ANIMCMD_FRAME(0, 21), + ANIMCMD_FRAME(1, 45), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_VILEPLUME_1[] = +{ + ANIMCMD_FRAME(0, 7), + ANIMCMD_FRAME(1, 21), + ANIMCMD_FRAME(0, 13), + ANIMCMD_FRAME(1, 21), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_PARAS_1[] = +{ + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_PARASECT_1[] = +{ + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 35), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_VENONAT_1[] = +{ + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 35), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_VENOMOTH_1[] = +{ + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_DIGLETT_1[] = +{ + ANIMCMD_FRAME(0, 25), + ANIMCMD_FRAME(1, 35), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_DUGTRIO_1[] = +{ + ANIMCMD_FRAME(1, 35), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_MEOWTH_1[] = +{ + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 17), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_PERSIAN_1[] = +{ + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(0, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_PSYDUCK_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_PSYDUCK_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_GOLDUCK_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_GOLDUCK_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_MANKEY_1[] = +{ + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 28), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_PRIMEAPE_1[] = +{ + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_GROWLITHE_1[] = +{ + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_ARCANINE_1[] = +{ + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END,}; + +const union AnimCmd gAnimCmd_POLIWAG_1[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_POLIWHIRL_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_POLIWRATH_1[] = +{ + ANIMCMD_FRAME(1, 45), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_ABRA_1[] = +{ + ANIMCMD_FRAME(0, 7), + ANIMCMD_FRAME(1, 21), + ANIMCMD_FRAME(0, 13), + ANIMCMD_FRAME(1, 21), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_KADABRA_1[] = +{ + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 45), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_ALAKAZAM_1[] = +{ + ANIMCMD_FRAME(0, 9), + ANIMCMD_FRAME(1, 54), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_MACHOP_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_MACHOKE_1[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 44), + ANIMCMD_FRAME(0, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_MACHAMP_1[] = +{ + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 11), + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 11), + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 11), + ANIMCMD_FRAME(0, 11), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_BELLSPROUT_1[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_WEEPINBELL_1[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_VICTREEBEL_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_TENTACOOL_1[] = +{ + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 7), + ANIMCMD_FRAME(1, 11), + ANIMCMD_FRAME(0, 11), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_TENTACRUEL_1[] = +{ + ANIMCMD_FRAME(0, 19), + ANIMCMD_FRAME(1, 35), + ANIMCMD_FRAME(0, 19), + ANIMCMD_FRAME(1, 19), + ANIMCMD_FRAME(0, 8), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_GEODUDE_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 36), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_GRAVELER_1[] = +{ + ANIMCMD_FRAME(0, 16), + ANIMCMD_FRAME(1, 16), + ANIMCMD_FRAME(0, 16), + ANIMCMD_FRAME(1, 16), + ANIMCMD_FRAME(0, 16), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_GOLEM_1[] = +{ + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 31), + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(0, 8), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_PONYTA_1[] = +{ + ANIMCMD_FRAME(1, 45), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_RAPIDASH_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SLOWPOKE_1[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(0, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SLOWBRO_1[] = +{ + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(1, 45), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_MAGNEMITE_1[] = +{ + ANIMCMD_FRAME(0, 28), + ANIMCMD_FRAME(1, 28), + ANIMCMD_FRAME(0, 28), + ANIMCMD_FRAME(1, 28), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_MAGNETON_1[] = +{ + ANIMCMD_FRAME(0, 14), + ANIMCMD_FRAME(1, 14), + ANIMCMD_FRAME(0, 14), + ANIMCMD_FRAME(1, 14), + ANIMCMD_FRAME(0, 14), + ANIMCMD_FRAME(1, 14), + ANIMCMD_FRAME(0, 14), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_FARFETCHD_1[] = +{ + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_DODUO_1[] = +{ + ANIMCMD_FRAME(0, 18), + ANIMCMD_FRAME(1, 18), + ANIMCMD_FRAME(0, 18), + ANIMCMD_FRAME(1, 18), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_DODRIO_1[] = +{ + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 8), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SEEL_1[] = +{ + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_DEWGONG_1[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 30), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_GRIMER_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_GRIMER_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_MUK_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_MUK_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SHELLDER_1[] = +{ + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 45), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_CLOYSTER_1[] = +{ + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 25), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_GASTLY_1[] = +{ + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_HAUNTER_1[] = +{ + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 35), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_GENGAR_1[] = +{ + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_ONIX_1[] = +{ + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 30), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_DROWZEE_1[] = +{ + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 45), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_HYPNO_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_KRABBY_1[] = +{ + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_KINGLER_1[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 25), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_VOLTORB_1[] = +{ + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 4), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_ELECTRODE_1[] = +{ + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 8), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_EXEGGCUTE_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_EXEGGUTOR_1[] = +{ + ANIMCMD_FRAME(1, 35), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END,}; + + +const union AnimCmd gAnimCmd_CUBONE_1[] = +{ + ANIMCMD_FRAME(1, 14), + ANIMCMD_FRAME(0, 14), + ANIMCMD_FRAME(1, 14), + ANIMCMD_FRAME(0, 14), + ANIMCMD_FRAME(1, 14), + ANIMCMD_FRAME(0, 14), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_MAROWAK_1[] = +{ + ANIMCMD_FRAME(1, 14), + ANIMCMD_FRAME(0, 14), + ANIMCMD_FRAME(1, 14), + ANIMCMD_FRAME(0, 14), + ANIMCMD_FRAME(1, 14), + ANIMCMD_FRAME(0, 14), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_HITMONLEE_1[] = +{ + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_HITMONCHAN_1[] = +{ + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_LICKITUNG_1[] = +{ + ANIMCMD_FRAME(0, 28), + ANIMCMD_FRAME(1, 32), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_KOFFING_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_KOFFING_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_WEEZING_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_WEEZING_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_RHYHORN_1[] = +{ + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_RHYHORN_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_RHYDON_1[] = +{ + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 48), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_RHYDON_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_CHANSEY_1[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_TANGELA_1[] = +{ + ANIMCMD_FRAME(1, 9), + ANIMCMD_FRAME(0, 9), + ANIMCMD_FRAME(1, 9), + ANIMCMD_FRAME(0, 9), + ANIMCMD_FRAME(1, 9), + ANIMCMD_FRAME(0, 9), + ANIMCMD_FRAME(1, 9), + ANIMCMD_FRAME(0, 9), + ANIMCMD_FRAME(1, 9), + ANIMCMD_FRAME(0, 9), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_KANGASKHAN_1[] = +{ + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_HORSEA_1[] = +{ + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_HORSEA_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SEADRA_1[] = +{ + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SEADRA_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_GOLDEEN_1[] = +{ + ANIMCMD_FRAME(0, 16), + ANIMCMD_FRAME(1, 16), + ANIMCMD_FRAME(0, 16), + ANIMCMD_FRAME(1, 16), + ANIMCMD_FRAME(0, 16), + ANIMCMD_FRAME(1, 16), + ANIMCMD_FRAME(0, 16), + ANIMCMD_FRAME(1, 16), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SEAKING_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_STARYU_1[] = +{ + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_STARYU_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_STARMIE_1[] = +{ + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_STARMIE_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_MR_MIME_1[] = +{ + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SCYTHER_1[] = +{ + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_JYNX_1[] = +{ + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_ELECTABUZZ_1[] = +{ + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_MAGMAR_1[] = +{ + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_PINSIR_1[] = +{ + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_PINSIR_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_TAUROS_1[] = +{ + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_MAGIKARP_1[] = +{ + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_GYARADOS_1[] = +{ + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 32), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_LAPRAS_1[] = +{ + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_DITTO_1[] = +{ + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_EEVEE_1[] = +{ + ANIMCMD_FRAME(1, 33), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_VAPOREON_1[] = +{ + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_JOLTEON_1[] = +{ + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_FLAREON_1[] = +{ + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 30), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_PORYGON_1[] = +{ + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_OMANYTE_1[] = +{ + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_OMASTAR_1[] = +{ + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_KABUTO_1[] = +{ + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_KABUTOPS_1[] = +{ + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_AERODACTYL_1[] = +{ + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 25), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 25), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SNORLAX_1[] = +{ + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_ARTICUNO_1[] = +{ + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_ZAPDOS_1[] = +{ + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_MOLTRES_1[] = +{ + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_DRATINI_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_DRAGONAIR_1[] = +{ + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_DRAGONITE_1[] = +{ + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_MEWTWO_1[] = +{ + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_MEW_1[] = +{ + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_CHIKORITA_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END,}; + + +const union AnimCmd gAnimCmd_BAYLEEF_1[] = +{ + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_MEGANIUM_1[] = +{ + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_CYNDAQUIL_1[] = +{ + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_QUILAVA_1[] = +{ + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_TYPHLOSION_1[] = +{ + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_TOTODILE_1[] = +{ + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_CROCONAW_1[] = +{ + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_FERALIGATR_1[] = +{ + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 40), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SENTRET_1[] = +{ + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_FURRET_1[] = +{ + ANIMCMD_FRAME(1, 35), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_HOOTHOOT_1[] = +{ + ANIMCMD_FRAME(1, 7), + ANIMCMD_FRAME(0, 7), + ANIMCMD_FRAME(1, 7), + ANIMCMD_FRAME(0, 7), + ANIMCMD_FRAME(1, 7), + ANIMCMD_FRAME(0, 7), + ANIMCMD_FRAME(1, 7), + ANIMCMD_FRAME(0, 7), + ANIMCMD_FRAME(1, 7), + ANIMCMD_FRAME(0, 7), + ANIMCMD_FRAME(1, 7), + ANIMCMD_FRAME(0, 7), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_NOCTOWL_1[] = +{ + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_LEDYBA_1[] = +{ + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_LEDIAN_1[] = +{ + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SPINARAK_1[] = +{ + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 6), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_ARIADOS_1[] = +{ + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_CROBAT_1[] = +{ + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_CHINCHOU_1[] = +{ + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_CHINCHOU_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_LANTURN_1[] = +{ + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_LANTURN_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_PICHU_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_PICHU_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_CLEFFA_1[] = +{ + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_IGGLYBUFF_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_IGGLYBUFF_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_TOGEPI_1[] = +{ + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_TOGETIC_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_NATU_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_NATU_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_XATU_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 45), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_XATU_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_MAREEP_1[] = +{ + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_FLAAFFY_1[] = +{ + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_AMPHAROS_1[] = +{ + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_BELLOSSOM_1[] = +{ + ANIMCMD_FRAME(0, 22), + ANIMCMD_FRAME(1, 22), + ANIMCMD_FRAME(0, 22), + ANIMCMD_FRAME(1, 22), + ANIMCMD_FRAME(0, 22), + ANIMCMD_FRAME(1, 22), + ANIMCMD_FRAME(0, 22), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_MARILL_1[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 44), + ANIMCMD_FRAME(0, 22), + ANIMCMD_FRAME(1, 44), + ANIMCMD_FRAME(0, 11), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_AZUMARILL_1[] = +{ + ANIMCMD_FRAME(0, 22), + ANIMCMD_FRAME(1, 22), + ANIMCMD_FRAME(0, 22), + ANIMCMD_FRAME(1, 22), + ANIMCMD_FRAME(0, 11), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SUDOWOODO_1[] = +{ + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_POLITOED_1[] = +{ + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 35), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_HOPPIP_1[] = +{ + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 25), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 25), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SKIPLOOM_1[] = +{ + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_JUMPLUFF_1[] = +{ + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 25), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 25), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_AIPOM_1[] = +{ + ANIMCMD_FRAME(1, 35), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SUNKERN_1[] = +{ + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SUNFLORA_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_YANMA_1[] = +{ + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_WOOPER_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_QUAGSIRE_1[] = +{ + ANIMCMD_FRAME(1, 32), + ANIMCMD_FRAME(0, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_ESPEON_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_UMBREON_1[] = +{ + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_MURKROW_1[] = +{ + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SLOWKING_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_MISDREAVUS_1[] = +{ + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_UNOWN_1[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_WOBBUFFET_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_WOBBUFFET_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_GIRAFARIG_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_GIRAFARIG_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_PINECO_1[] = +{ + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_FORRETRESS_1[] = +{ + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_DUNSPARCE_1[] = +{ + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_GLIGAR_1[] = +{ + ANIMCMD_FRAME(1, 17), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_STEELIX_1[] = +{ + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 35), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SNUBBULL_1[] = +{ + ANIMCMD_FRAME(1, 32), + ANIMCMD_FRAME(0, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_GRANBULL_1[] = +{ + ANIMCMD_FRAME(1, 35), + ANIMCMD_FRAME(0, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_QWILFISH_1[] = +{ + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 30), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SCIZOR_1[] = +{ + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SHUCKLE_1[] = +{ + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(0, 30), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_HERACROSS_1[] = +{ + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_HERACROSS_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SNEASEL_1[] = +{ + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_TEDDIURSA_1[] = +{ + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_URSARING_1[] = +{ + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SLUGMA_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SLUGMA_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_MAGCARGO_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_MAGCARGO_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SWINUB_1[] = +{ + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_PILOSWINE_1[] = +{ + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_CORSOLA_1[] = +{ + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_CORSOLA_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_REMORAID_1[] = +{ + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_OCTILLERY_1[] = +{ + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_DELIBIRD_1[] = +{ + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_MANTINE_1[] = +{ + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 40), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SKARMORY_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SKARMORY_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_HOUNDOUR_1[] = +{ + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_HOUNDOOM_1[] = +{ + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 30), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_KINGDRA_1[] = +{ + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_KINGDRA_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_PHANPY_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_PHANPY_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_DONPHAN_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_DONPHAN_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_PORYGON2_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_STANTLER_1[] = +{ + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SMEARGLE_1[] = +{ + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_TYROGUE_1[] = +{ + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_HITMONTOP_1[] = +{ + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SMOOCHUM_1[] = +{ + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_ELEKID_1[] = +{ + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_MAGBY_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_MILTANK_1[] = +{ + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 30), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_BLISSEY_1[] = +{ + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_RAIKOU_1[] = +{ + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_ENTEI_1[] = +{ + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SUICUNE_1[] = +{ + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_LARVITAR_1[] = +{ + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_PUPITAR_1[] = +{ + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_TYRANITAR_1[] = +{ + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_LUGIA_1[] = +{ + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_HO_OH_1[] = +{ + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_CELEBI_1[] = +{ + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 30), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_OLD_UNOWN_B_1[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_TREECKO_1[] = +{ + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 3), + ANIMCMD_END,}; + +const union AnimCmd gAnimCmd_GROVYLE_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 18), + ANIMCMD_FRAME(0, 7), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 6), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SCEPTILE_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 26), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_TORCHIC_1[] = +{ + ANIMCMD_FRAME(0, 7), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_COMBUSKEN_1[] = +{ + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 12), + ANIMCMD_END,}; + +const union AnimCmd gAnimCmd_BLAZIKEN_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 7), + ANIMCMD_FRAME(1, 7), + ANIMCMD_FRAME(0, 7), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_BLAZIKEN_2[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(2, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_BLAZIKEN_3[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(2, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_BLAZIKEN_4[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_MUDKIP_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 13), + ANIMCMD_FRAME(0, 7), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_MARSHTOMP_1[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SWAMPERT_1[] = +{ + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 44), + ANIMCMD_FRAME(0, 18), + ANIMCMD_FRAME(1, 18), + ANIMCMD_FRAME(0, 7), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_POOCHYENA_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 44), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_MIGHTYENA_1[] = +{ + ANIMCMD_FRAME(0, 27), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 6), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_ZIGZAGOON_1[] = +{ + ANIMCMD_FRAME(0, 27), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_LINOONE_1[] = +{ + ANIMCMD_FRAME(0, 14), + ANIMCMD_FRAME(1, 14), + ANIMCMD_FRAME(0, 14), + ANIMCMD_FRAME(1, 14), + ANIMCMD_FRAME(0, 14), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_WURMPLE_1[] = +{ + ANIMCMD_FRAME(0, 22), + ANIMCMD_FRAME(1, 35), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SILCOON_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SILCOON_2[] = +{ + ANIMCMD_FRAME(1, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_BEAUTIFLY_1[] = +{ + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_BEAUTIFLY_2[] = +{ + ANIMCMD_FRAME(1, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_CASCOON_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_CASCOON_2[] = +{ + ANIMCMD_FRAME(1, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_DUSTOX_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 1), + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 1), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_DUSTOX_2[] = +{ + ANIMCMD_FRAME(1, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_LOTAD_1[] = +{ + ANIMCMD_FRAME(0, 22), + ANIMCMD_FRAME(1, 55), + ANIMCMD_FRAME(0, 22), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_LOMBRE_1[] = +{ + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 7), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_LUDICOLO_1[] = +{ + ANIMCMD_FRAME(0, 22), + ANIMCMD_FRAME(1, 22), + ANIMCMD_FRAME(0, 22), + ANIMCMD_FRAME(1, 22), + ANIMCMD_FRAME(0, 22), + ANIMCMD_FRAME(1, 22), + ANIMCMD_FRAME(0, 22), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SEEDOT_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_NUZLEAF_1[] = +{ + ANIMCMD_FRAME(0, 7), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 7), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 7), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 7), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 7), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SHIFTRY_1[] = +{ + ANIMCMD_FRAME(0, 7), + ANIMCMD_FRAME(1, 35), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_NINCADA_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 22), + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 33), + ANIMCMD_FRAME(0, 11), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_NINJASK_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 1), + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 1), + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 1), + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 1), + ANIMCMD_FRAME(0, 33), + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 1), + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 1), + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 1), + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 1), + ANIMCMD_FRAME(0, 11), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SHEDINJA_1[] = +{ + ANIMCMD_FRAME(0, 33), + ANIMCMD_FRAME(1, 33), + ANIMCMD_FRAME(0, 33), + ANIMCMD_FRAME(1, 33), + ANIMCMD_FRAME(0, 11), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_TAILLOW_1[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SWELLOW_1[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 18), + ANIMCMD_FRAME(0, 11), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SHROOMISH_1[] = +{ + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 6), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_BRELOOM_1[] = +{ + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 7), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_WINGULL_1[] = +{ + ANIMCMD_FRAME(0, 17), + ANIMCMD_FRAME(1, 23), + ANIMCMD_FRAME(0, 13), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_PELIPPER_1[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SURSKIT_1[] = +{ + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 18), + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 18), + ANIMCMD_FRAME(0, 8), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SURSKIT_2[] = +{ + ANIMCMD_FRAME(1, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_MASQUERAIN_1[] = +{ + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_MASQUERAIN_2[] = +{ + ANIMCMD_FRAME(1, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_WAILMER_1[] = +{ + ANIMCMD_FRAME(0, 22), + ANIMCMD_FRAME(1, 22), + ANIMCMD_FRAME(0, 22), + ANIMCMD_FRAME(1, 22), + ANIMCMD_FRAME(0, 22), + ANIMCMD_FRAME(1, 22), + ANIMCMD_FRAME(0, 22), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_WAILORD_1[] = +{ + ANIMCMD_FRAME(0, 26), + ANIMCMD_FRAME(1, 48), + ANIMCMD_FRAME(0, 33), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SKITTY_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 35), + ANIMCMD_FRAME(0, 9), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_DELCATTY_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 46), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_KECLEON_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 18), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_BALTOY_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 50), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_CLAYDOL_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_NOSEPASS_1[] = +{ + ANIMCMD_FRAME(0, 27), + ANIMCMD_FRAME(1, 27), + ANIMCMD_FRAME(0, 27), + ANIMCMD_FRAME(1, 27), + ANIMCMD_FRAME(0, 27), + ANIMCMD_FRAME(1, 27), + ANIMCMD_FRAME(0, 3), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_TORKOAL_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SABLEYE_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_BARBOACH_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 50), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_WHISCASH_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_LUVDISC_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_CORPHISH_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 50), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_CRAWDAUNT_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_FEEBAS_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_MILOTIC_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_CARVANHA_1[] = +{ + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 6), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SHARPEDO_1[] = +{ + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 22), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_TRAPINCH_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_VIBRAVA_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 50), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_FLYGON_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 50), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_MAKUHITA_1[] = +{ + ANIMCMD_FRAME(0, 7), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 7), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 7), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 7), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 22), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_HARIYAMA_1[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(1, 16), + ANIMCMD_FRAME(0, 11), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_ELECTRIKE_1[] = +{ + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 17), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 3), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_MANECTRIC_1[] = +{ + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 33), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 3), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_NUMEL_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 40), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_CAMERUPT_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SPHEAL_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 43), + ANIMCMD_FRAME(1, 60), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SEALEO_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_WALREIN_1[] = +{ + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_CACNEA_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_CACTURNE_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SNORUNT_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_GLALIE_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_LUNATONE_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_LUNATONE_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SOLROCK_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SOLROCK_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_AZURILL_1[] = +{ + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SPOINK_1[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_GRUMPIG_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_PLUSLE_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_MINUN_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_MAWILE_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_MEDITITE_1[] = +{ + ANIMCMD_FRAME(0, 22), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 22), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_MEDICHAM_1[] = +{ + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 11), + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 11), + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 11), + ANIMCMD_FRAME(0, 11), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SWABLU_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SWABLU_2[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(2, 8), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(2, 8), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(2, 8), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_ALTARIA_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_ALTARIA_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_WYNAUT_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_DUSKULL_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_DUSCLOPS_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_ROSELIA_1[] = +{ + ANIMCMD_FRAME(0, 18), + ANIMCMD_FRAME(1, 44), + ANIMCMD_FRAME(0, 22), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SLAKOTH_1[] = +{ + ANIMCMD_FRAME(0, 13), + ANIMCMD_FRAME(1, 22), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 22), + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(0, 11), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_VIGOROTH_1[] = +{ + ANIMCMD_FRAME(0, 13), + ANIMCMD_FRAME(1, 7), + ANIMCMD_FRAME(0, 13), + ANIMCMD_FRAME(1, 7), + ANIMCMD_FRAME(0, 13), + ANIMCMD_FRAME(1, 7), + ANIMCMD_FRAME(0, 11), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SLAKING_1[] = +{ + ANIMCMD_FRAME(0, 22), + ANIMCMD_FRAME(1, 22), + ANIMCMD_FRAME(0, 22), + ANIMCMD_FRAME(1, 22), + ANIMCMD_FRAME(0, 22), + ANIMCMD_FRAME(1, 22), + ANIMCMD_FRAME(0, 22), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_GULPIN_1[] = +{ + ANIMCMD_FRAME(0, 14), + ANIMCMD_FRAME(1, 14), + ANIMCMD_FRAME(0, 14), + ANIMCMD_FRAME(1, 14), + ANIMCMD_FRAME(0, 4), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SWALOT_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 30), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_TROPIUS_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_WHISMUR_1[] = +{ + ANIMCMD_FRAME(0, 9), + ANIMCMD_FRAME(1, 9), + ANIMCMD_FRAME(0, 9), + ANIMCMD_FRAME(1, 9), + ANIMCMD_FRAME(0, 33), + ANIMCMD_FRAME(0, 9), + ANIMCMD_FRAME(1, 9), + ANIMCMD_FRAME(0, 9), + ANIMCMD_FRAME(1, 9), + ANIMCMD_FRAME(0, 9), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_LOUDRED_1[] = +{ + ANIMCMD_FRAME(0, 9), + ANIMCMD_FRAME(1, 9), + ANIMCMD_FRAME(0, 9), + ANIMCMD_FRAME(1, 9), + ANIMCMD_FRAME(0, 33), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_EXPLOUD_1[] = +{ + ANIMCMD_FRAME(0, 9), + ANIMCMD_FRAME(1, 44), + ANIMCMD_FRAME(0, 9), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_CLAMPERL_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_HUNTAIL_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_GOREBYSS_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_ABSOL_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SHUPPET_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_BANETTE_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SEVIPER_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 50), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_ZANGOOSE_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 50), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_RELICANTH_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_ARON_1[] = +{ + ANIMCMD_FRAME(0, 33), + ANIMCMD_FRAME(1, 44), + ANIMCMD_FRAME(0, 33), + ANIMCMD_FRAME(1, 33), + ANIMCMD_FRAME(0, 11), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_LAIRON_1[] = +{ + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 29), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 29), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_AGGRON_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 44), + ANIMCMD_FRAME(0, 11), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_CASTFORM_0[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_CASTFORM_1[] = +{ + ANIMCMD_FRAME(1, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_CASTFORM_2[] = +{ + ANIMCMD_FRAME(2, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_CASTFORM_3[] = +{ + ANIMCMD_FRAME(3, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_VOLBEAT_1[] = +{ + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 11), + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 11), + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 11), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_ILLUMISE_1[] = +{ + ANIMCMD_FRAME(0, 22), + ANIMCMD_FRAME(1, 22), + ANIMCMD_FRAME(0, 22), + ANIMCMD_FRAME(1, 22), + ANIMCMD_FRAME(0, 11), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_LILEEP_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_CRADILY_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_ANORITH_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_ARMALDO_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_RALTS_1[] = +{ + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 8), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_KIRLIA_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 39), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_GARDEVOIR_1[] = +{ + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_BAGON_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SHELGON_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SALAMENCE_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_BELDUM_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_METANG_1[] = +{ + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_METAGROSS_1[] = +{ + ANIMCMD_FRAME(0, 16), + ANIMCMD_FRAME(1, 16), + ANIMCMD_FRAME(0, 16), + ANIMCMD_FRAME(1, 16), + ANIMCMD_FRAME(0, 16), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_REGIROCK_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_REGIROCK_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_REGICE_1[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 18), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_REGISTEEL_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_REGISTEEL_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_KYOGRE_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_KYOGRE_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_GROUDON_1[] = +{ + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_GROUDON_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_RAYQUAZA_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 22), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 6), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_RAYQUAZA_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_LATIAS_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_LATIAS_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_LATIOS_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_LATIOS_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_JIRACHI_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_JIRACHI_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_DEOXYS_1[] = +{ + ANIMCMD_FRAME(0, 16), + ANIMCMD_FRAME(1, 16), + ANIMCMD_FRAME(0, 26), + ANIMCMD_FRAME(1, 16), + ANIMCMD_FRAME(0, 16), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_DEOXYS_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_CHIMECHO_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_EGG_1[] = +{ + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(2, 6), + ANIMCMD_FRAME(3, 6), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_UNOWN_B_1[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_UNOWN_C_1[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_UNOWN_D_1[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_UNOWN_E_1[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_UNOWN_F_1[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_UNOWN_G_1[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_UNOWN_H_1[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_UNOWN_I_1[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_UNOWN_J_1[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_UNOWN_K_1[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_UNOWN_L_1[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_UNOWN_M_1[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_UNOWN_N_1[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_UNOWN_O_1[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_UNOWN_P_1[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_UNOWN_Q_1[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_UNOWN_R_1[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_UNOWN_S_1[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_UNOWN_T_1[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_UNOWN_U_1[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_UNOWN_V_1[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_UNOWN_W_1[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_UNOWN_X_1[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_UNOWN_Y_1[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_UNOWN_Z_1[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_UNOWN_EMARK_1[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_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, +}; + +const union AnimCmd *const gAnims_BULBASAUR[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_BULBASAUR_1, +}; + +const union AnimCmd *const gAnims_IVYSAUR[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_IVYSAUR_1, +}; + +const union AnimCmd *const gAnims_VENUSAUR[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_VENUSAUR_1, +}; + +const union AnimCmd *const gAnims_CHARMANDER[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_CHARMANDER_1, +}; + +const union AnimCmd *const gAnims_CHARMELEON[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_CHARMELEON_1, +}; + +const union AnimCmd *const gAnims_CHARIZARD[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_CHARIZARD_1, +}; + +const union AnimCmd *const gAnims_SQUIRTLE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SQUIRTLE_1, +}; + +const union AnimCmd *const gAnims_WARTORTLE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_WARTORTLE_1, +}; + +const union AnimCmd *const gAnims_BLASTOISE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_BLASTOISE_1, +}; + +const union AnimCmd *const gAnims_CATERPIE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_CATERPIE_1, +}; + +const union AnimCmd *const gAnims_METAPOD[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_METAPOD_1, +}; + +const union AnimCmd *const gAnims_BUTTERFREE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_BUTTERFREE_1, +}; + +const union AnimCmd *const gAnims_WEEDLE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_WEEDLE_1, +}; + +const union AnimCmd *const gAnims_KAKUNA[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_KAKUNA_1, +}; + +const union AnimCmd *const gAnims_BEEDRILL[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_BEEDRILL_1, +}; + +const union AnimCmd *const gAnims_PIDGEY[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_PIDGEY_1, +}; + +const union AnimCmd *const gAnims_PIDGEOTTO[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_PIDGEOTTO_1, +}; + +const union AnimCmd *const gAnims_PIDGEOT[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_PIDGEOT_1, +}; + +const union AnimCmd *const gAnims_RATTATA[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_RATTATA_1, +}; + +const union AnimCmd *const gAnims_RATICATE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_RATICATE_1, +}; + +const union AnimCmd *const gAnims_SPEAROW[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SPEAROW_1, +}; + +const union AnimCmd *const gAnims_FEAROW[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_FEAROW_1, +}; + +const union AnimCmd *const gAnims_EKANS[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_EKANS_1, +}; + +const union AnimCmd *const gAnims_ARBOK[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_ARBOK_1, +}; + +const union AnimCmd *const gAnims_PIKACHU[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_PIKACHU_1, + gAnimCmd_PIKACHU_2, +}; + +const union AnimCmd *const gAnims_RAICHU[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_RAICHU_1, + gAnimCmd_RAICHU_2, +}; + +const union AnimCmd *const gAnims_SANDSHREW[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SANDSHREW_1, + gAnimCmd_SANDSHREW_2, +}; + +const union AnimCmd *const gAnims_SANDSLASH[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SANDSLASH_1, + gAnimCmd_SANDSLASH_2, +}; + +const union AnimCmd *const gAnims_NIDORAN_F[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_NIDORAN_F_1, +}; + +const union AnimCmd *const gAnims_NIDORINA[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_NIDORINA_1, +}; + +const union AnimCmd *const gAnims_NIDOQUEEN[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_NIDOQUEEN_1, +}; + +const union AnimCmd *const gAnims_NIDORAN_M[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_NIDORAN_M_1, +}; + +const union AnimCmd *const gAnims_NIDORINO[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_NIDORINO_1, +}; + +const union AnimCmd *const gAnims_NIDOKING[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_NIDOKING_1, +}; + +const union AnimCmd *const gAnims_CLEFAIRY[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_CLEFAIRY_1, +}; + +const union AnimCmd *const gAnims_CLEFABLE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_CLEFABLE_1, +}; + +const union AnimCmd *const gAnims_VULPIX[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_VULPIX_1, + gAnimCmd_VULPIX_2, +}; + +const union AnimCmd *const gAnims_NINETALES[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_NINETALES_1, + gAnimCmd_NINETALES_2, +}; + +const union AnimCmd *const gAnims_JIGGLYPUFF[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_JIGGLYPUFF_1, + gAnimCmd_JIGGLYPUFF_2, +}; + +const union AnimCmd *const gAnims_WIGGLYTUFF[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_WIGGLYTUFF_1, + gAnimCmd_WIGGLYTUFF_2, +}; + +const union AnimCmd *const gAnims_ZUBAT[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_ZUBAT_1, +}; + +const union AnimCmd *const gAnims_GOLBAT[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_GOLBAT_1, +}; + +const union AnimCmd *const gAnims_ODDISH[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_ODDISH_1, +}; + +const union AnimCmd *const gAnims_GLOOM[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_GLOOM_1, +}; + +const union AnimCmd *const gAnims_VILEPLUME[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_VILEPLUME_1, +}; + +const union AnimCmd *const gAnims_PARAS[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_PARAS_1, +}; + +const union AnimCmd *const gAnims_PARASECT[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_PARASECT_1, +}; + +const union AnimCmd *const gAnims_VENONAT[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_VENONAT_1, +}; + +const union AnimCmd *const gAnims_VENOMOTH[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_VENOMOTH_1, +}; + +const union AnimCmd *const gAnims_DIGLETT[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_DIGLETT_1, +}; + +const union AnimCmd *const gAnims_DUGTRIO[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_DUGTRIO_1, +}; + +const union AnimCmd *const gAnims_MEOWTH[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_MEOWTH_1, +}; + +const union AnimCmd *const gAnims_PERSIAN[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_PERSIAN_1, +}; + +const union AnimCmd *const gAnims_PSYDUCK[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_PSYDUCK_1, + gAnimCmd_PSYDUCK_2, +}; + +const union AnimCmd *const gAnims_GOLDUCK[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_GOLDUCK_1, + gAnimCmd_GOLDUCK_2, +}; + +const union AnimCmd *const gAnims_MANKEY[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_MANKEY_1, +}; + +const union AnimCmd *const gAnims_PRIMEAPE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_PRIMEAPE_1, +}; + +const union AnimCmd *const gAnims_GROWLITHE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_GROWLITHE_1, +}; + +const union AnimCmd *const gAnims_ARCANINE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_ARCANINE_1, +}; + +const union AnimCmd *const gAnims_POLIWAG[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_POLIWAG_1, +}; + +const union AnimCmd *const gAnims_POLIWHIRL[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_POLIWHIRL_1, +}; + +const union AnimCmd *const gAnims_POLIWRATH[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_POLIWRATH_1, +}; + +const union AnimCmd *const gAnims_ABRA[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_ABRA_1, +}; + +const union AnimCmd *const gAnims_KADABRA[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_KADABRA_1, +}; + +const union AnimCmd *const gAnims_ALAKAZAM[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_ALAKAZAM_1, +}; + +const union AnimCmd *const gAnims_MACHOP[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_MACHOP_1, +}; + +const union AnimCmd *const gAnims_MACHOKE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_MACHOKE_1, +}; + +const union AnimCmd *const gAnims_MACHAMP[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_MACHAMP_1, +}; + +const union AnimCmd *const gAnims_BELLSPROUT[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_BELLSPROUT_1, +}; + +const union AnimCmd *const gAnims_WEEPINBELL[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_WEEPINBELL_1, +}; + +const union AnimCmd *const gAnims_VICTREEBEL[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_VICTREEBEL_1, +}; + +const union AnimCmd *const gAnims_TENTACOOL[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_TENTACOOL_1, +}; + +const union AnimCmd *const gAnims_TENTACRUEL[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_TENTACRUEL_1, +}; + +const union AnimCmd *const gAnims_GEODUDE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_GEODUDE_1, +}; + +const union AnimCmd *const gAnims_GRAVELER[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_GRAVELER_1, +}; + +const union AnimCmd *const gAnims_GOLEM[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_GOLEM_1, +}; + +const union AnimCmd *const gAnims_PONYTA[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_PONYTA_1, +}; + +const union AnimCmd *const gAnims_RAPIDASH[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_RAPIDASH_1, +}; + +const union AnimCmd *const gAnims_SLOWPOKE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SLOWPOKE_1, +}; + +const union AnimCmd *const gAnims_SLOWBRO[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SLOWBRO_1, +}; + +const union AnimCmd *const gAnims_MAGNEMITE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_MAGNEMITE_1, +}; + +const union AnimCmd *const gAnims_MAGNETON[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_MAGNETON_1, +}; + +const union AnimCmd *const gAnims_FARFETCHD[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_FARFETCHD_1, +}; + +const union AnimCmd *const gAnims_DODUO[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_DODUO_1, +}; + +const union AnimCmd *const gAnims_DODRIO[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_DODRIO_1, +}; + +const union AnimCmd *const gAnims_SEEL[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SEEL_1, +}; + +const union AnimCmd *const gAnims_DEWGONG[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_DEWGONG_1, +}; + +const union AnimCmd *const gAnims_GRIMER[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_GRIMER_1, + gAnimCmd_GRIMER_2, +}; + +const union AnimCmd *const gAnims_MUK[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_MUK_1, + gAnimCmd_MUK_2, +}; + +const union AnimCmd *const gAnims_SHELLDER[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SHELLDER_1, +}; + +const union AnimCmd *const gAnims_CLOYSTER[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_CLOYSTER_1, +}; + +const union AnimCmd *const gAnims_GASTLY[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_GASTLY_1, +}; + +const union AnimCmd *const gAnims_HAUNTER[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_HAUNTER_1, +}; + +const union AnimCmd *const gAnims_GENGAR[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_GENGAR_1, +}; + +const union AnimCmd *const gAnims_ONIX[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_ONIX_1, +}; + +const union AnimCmd *const gAnims_DROWZEE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_DROWZEE_1, +}; + +const union AnimCmd *const gAnims_HYPNO[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_HYPNO_1, +}; + +const union AnimCmd *const gAnims_KRABBY[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_KRABBY_1, +}; + +const union AnimCmd *const gAnims_KINGLER[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_KINGLER_1, +}; + +const union AnimCmd *const gAnims_VOLTORB[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_VOLTORB_1, +}; + +const union AnimCmd *const gAnims_ELECTRODE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_ELECTRODE_1, +}; + +const union AnimCmd *const gAnims_EXEGGCUTE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_EXEGGCUTE_1, +}; + +const union AnimCmd *const gAnims_EXEGGUTOR[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_EXEGGUTOR_1, +}; + +const union AnimCmd *const gAnims_CUBONE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_CUBONE_1, +}; + +const union AnimCmd *const gAnims_MAROWAK[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_MAROWAK_1, +}; + +const union AnimCmd *const gAnims_HITMONLEE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_HITMONLEE_1, +}; + +const union AnimCmd *const gAnims_HITMONCHAN[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_HITMONCHAN_1, +}; + +const union AnimCmd *const gAnims_LICKITUNG[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_LICKITUNG_1, +}; + +const union AnimCmd *const gAnims_KOFFING[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_KOFFING_1, + gAnimCmd_KOFFING_2, +}; + +const union AnimCmd *const gAnims_WEEZING[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_WEEZING_1, + gAnimCmd_WEEZING_2, +}; + +const union AnimCmd *const gAnims_RHYHORN[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_RHYHORN_1, + gAnimCmd_RHYHORN_2, +}; + +const union AnimCmd *const gAnims_RHYDON[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_RHYDON_1, + gAnimCmd_RHYDON_2, +}; + +const union AnimCmd *const gAnims_CHANSEY[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_CHANSEY_1, +}; + +const union AnimCmd *const gAnims_TANGELA[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_TANGELA_1, +}; + +const union AnimCmd *const gAnims_KANGASKHAN[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_KANGASKHAN_1, +}; + +const union AnimCmd *const gAnims_HORSEA[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_HORSEA_1, + gAnimCmd_HORSEA_2, +}; + +const union AnimCmd *const gAnims_SEADRA[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SEADRA_1, + gAnimCmd_SEADRA_2, +}; + +const union AnimCmd *const gAnims_GOLDEEN[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_GOLDEEN_1, +}; + +const union AnimCmd *const gAnims_SEAKING[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SEAKING_1, +}; + +const union AnimCmd *const gAnims_STARYU[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_STARYU_1, + gAnimCmd_STARYU_2, +}; + +const union AnimCmd *const gAnims_STARMIE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_STARMIE_1, + gAnimCmd_STARMIE_2, +}; + +const union AnimCmd *const gAnims_MR_MIME[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_MR_MIME_1, +}; + +const union AnimCmd *const gAnims_SCYTHER[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SCYTHER_1, +}; + +const union AnimCmd *const gAnims_JYNX[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_JYNX_1, +}; + +const union AnimCmd *const gAnims_ELECTABUZZ[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_ELECTABUZZ_1, +}; + +const union AnimCmd *const gAnims_MAGMAR[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_MAGMAR_1, +}; + +const union AnimCmd *const gAnims_PINSIR[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_PINSIR_1, + gAnimCmd_PINSIR_2, +}; + +const union AnimCmd *const gAnims_TAUROS[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_TAUROS_1, +}; + +const union AnimCmd *const gAnims_MAGIKARP[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_MAGIKARP_1, +}; + +const union AnimCmd *const gAnims_GYARADOS[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_GYARADOS_1, +}; + +const union AnimCmd *const gAnims_LAPRAS[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_LAPRAS_1, +}; + +const union AnimCmd *const gAnims_DITTO[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_DITTO_1, +}; + +const union AnimCmd *const gAnims_EEVEE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_EEVEE_1, +}; + +const union AnimCmd *const gAnims_VAPOREON[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_VAPOREON_1, +}; + +const union AnimCmd *const gAnims_JOLTEON[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_JOLTEON_1, +}; + +const union AnimCmd *const gAnims_FLAREON[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_FLAREON_1, +}; + +const union AnimCmd *const gAnims_PORYGON[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_PORYGON_1, +}; + +const union AnimCmd *const gAnims_OMANYTE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_OMANYTE_1, +}; + +const union AnimCmd *const gAnims_OMASTAR[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_OMASTAR_1, +}; + +const union AnimCmd *const gAnims_KABUTO[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_KABUTO_1, +}; + +const union AnimCmd *const gAnims_KABUTOPS[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_KABUTOPS_1, +}; + +const union AnimCmd *const gAnims_AERODACTYL[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_AERODACTYL_1, +}; + +const union AnimCmd *const gAnims_SNORLAX[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SNORLAX_1, +}; + +const union AnimCmd *const gAnims_ARTICUNO[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_ARTICUNO_1, +}; + +const union AnimCmd *const gAnims_ZAPDOS[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_ZAPDOS_1, +}; + +const union AnimCmd *const gAnims_MOLTRES[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_MOLTRES_1, +}; + +const union AnimCmd *const gAnims_DRATINI[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_DRATINI_1, +}; + +const union AnimCmd *const gAnims_DRAGONAIR[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_DRAGONAIR_1, +}; + +const union AnimCmd *const gAnims_DRAGONITE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_DRAGONITE_1, +}; + +const union AnimCmd *const gAnims_MEWTWO[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_MEWTWO_1, +}; + +const union AnimCmd *const gAnims_MEW[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_MEW_1, +}; + +const union AnimCmd *const gAnims_CHIKORITA[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_CHIKORITA_1, +}; + +const union AnimCmd *const gAnims_BAYLEEF[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_BAYLEEF_1, +}; + +const union AnimCmd *const gAnims_MEGANIUM[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_MEGANIUM_1, +}; + +const union AnimCmd *const gAnims_CYNDAQUIL[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_CYNDAQUIL_1, +}; + +const union AnimCmd *const gAnims_QUILAVA[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_QUILAVA_1, +}; + +const union AnimCmd *const gAnims_TYPHLOSION[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_TYPHLOSION_1, +}; + +const union AnimCmd *const gAnims_TOTODILE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_TOTODILE_1, +}; + +const union AnimCmd *const gAnims_CROCONAW[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_CROCONAW_1, +}; + +const union AnimCmd *const gAnims_FERALIGATR[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_FERALIGATR_1, +}; + +const union AnimCmd *const gAnims_SENTRET[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SENTRET_1, +}; + +const union AnimCmd *const gAnims_FURRET[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_FURRET_1, +}; + +const union AnimCmd *const gAnims_HOOTHOOT[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_HOOTHOOT_1, +}; + +const union AnimCmd *const gAnims_NOCTOWL[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_NOCTOWL_1, +}; + +const union AnimCmd *const gAnims_LEDYBA[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_LEDYBA_1, +}; + +const union AnimCmd *const gAnims_LEDIAN[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_LEDIAN_1, +}; + +const union AnimCmd *const gAnims_SPINARAK[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SPINARAK_1, +}; + +const union AnimCmd *const gAnims_ARIADOS[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_ARIADOS_1, +}; + +const union AnimCmd *const gAnims_CROBAT[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_CROBAT_1, +}; + +const union AnimCmd *const gAnims_CHINCHOU[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_CHINCHOU_1, + gAnimCmd_CHINCHOU_2, +}; + +const union AnimCmd *const gAnims_LANTURN[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_LANTURN_1, + gAnimCmd_LANTURN_2, +}; + +const union AnimCmd *const gAnims_PICHU[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_PICHU_1, + gAnimCmd_PICHU_2, +}; + +const union AnimCmd *const gAnims_CLEFFA[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_CLEFFA_1, +}; + +const union AnimCmd *const gAnims_IGGLYBUFF[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_IGGLYBUFF_1, + gAnimCmd_IGGLYBUFF_2, +}; + +const union AnimCmd *const gAnims_TOGEPI[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_TOGEPI_1, +}; + +const union AnimCmd *const gAnims_TOGETIC[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_TOGETIC_1, +}; + +const union AnimCmd *const gAnims_NATU[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_NATU_1, + gAnimCmd_NATU_2, +}; + +const union AnimCmd *const gAnims_XATU[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_XATU_1, + gAnimCmd_XATU_2, +}; + +const union AnimCmd *const gAnims_MAREEP[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_MAREEP_1, +}; + +const union AnimCmd *const gAnims_FLAAFFY[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_FLAAFFY_1, +}; + +const union AnimCmd *const gAnims_AMPHAROS[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_AMPHAROS_1, +}; + +const union AnimCmd *const gAnims_BELLOSSOM[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_BELLOSSOM_1, +}; + +const union AnimCmd *const gAnims_MARILL[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_MARILL_1, +}; + +const union AnimCmd *const gAnims_AZUMARILL[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_AZUMARILL_1, +}; + +const union AnimCmd *const gAnims_SUDOWOODO[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SUDOWOODO_1, +}; + +const union AnimCmd *const gAnims_POLITOED[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_POLITOED_1, +}; + +const union AnimCmd *const gAnims_HOPPIP[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_HOPPIP_1, +}; + +const union AnimCmd *const gAnims_SKIPLOOM[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SKIPLOOM_1, +}; + +const union AnimCmd *const gAnims_JUMPLUFF[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_JUMPLUFF_1, +}; + +const union AnimCmd *const gAnims_AIPOM[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_AIPOM_1, +}; + +const union AnimCmd *const gAnims_SUNKERN[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SUNKERN_1, +}; + +const union AnimCmd *const gAnims_SUNFLORA[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SUNFLORA_1, +}; + +const union AnimCmd *const gAnims_YANMA[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_YANMA_1, +}; + +const union AnimCmd *const gAnims_WOOPER[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_WOOPER_1, +}; + +const union AnimCmd *const gAnims_QUAGSIRE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_QUAGSIRE_1, +}; + +const union AnimCmd *const gAnims_ESPEON[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_ESPEON_1, +}; + +const union AnimCmd *const gAnims_UMBREON[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_UMBREON_1, +}; + +const union AnimCmd *const gAnims_MURKROW[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_MURKROW_1, +}; + +const union AnimCmd *const gAnims_SLOWKING[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SLOWKING_1, +}; + +const union AnimCmd *const gAnims_MISDREAVUS[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_MISDREAVUS_1, +}; + +const union AnimCmd *const gAnims_UNOWN[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_UNOWN_1, +}; + +const union AnimCmd *const gAnims_WOBBUFFET[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_WOBBUFFET_1, + gAnimCmd_WOBBUFFET_2, +}; + +const union AnimCmd *const gAnims_GIRAFARIG[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_GIRAFARIG_1, + gAnimCmd_GIRAFARIG_2, +}; + +const union AnimCmd *const gAnims_PINECO[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_PINECO_1, +}; + +const union AnimCmd *const gAnims_FORRETRESS[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_FORRETRESS_1, +}; + +const union AnimCmd *const gAnims_DUNSPARCE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_DUNSPARCE_1, +}; + +const union AnimCmd *const gAnims_GLIGAR[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_GLIGAR_1, +}; + +const union AnimCmd *const gAnims_STEELIX[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_STEELIX_1, +}; + +const union AnimCmd *const gAnims_SNUBBULL[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SNUBBULL_1, +}; + +const union AnimCmd *const gAnims_GRANBULL[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_GRANBULL_1, +}; + +const union AnimCmd *const gAnims_QWILFISH[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_QWILFISH_1, +}; + +const union AnimCmd *const gAnims_SCIZOR[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SCIZOR_1, +}; + +const union AnimCmd *const gAnims_SHUCKLE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SHUCKLE_1, +}; + +const union AnimCmd *const gAnims_HERACROSS[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_HERACROSS_1, + gAnimCmd_HERACROSS_2, +}; + +const union AnimCmd *const gAnims_SNEASEL[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SNEASEL_1, +}; + +const union AnimCmd *const gAnims_TEDDIURSA[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_TEDDIURSA_1, +}; + +const union AnimCmd *const gAnims_URSARING[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_URSARING_1, +}; + +const union AnimCmd *const gAnims_SLUGMA[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SLUGMA_1, + gAnimCmd_SLUGMA_2, +}; + +const union AnimCmd *const gAnims_MAGCARGO[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_MAGCARGO_1, + gAnimCmd_MAGCARGO_2, +}; + +const union AnimCmd *const gAnims_SWINUB[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SWINUB_1, +}; + +const union AnimCmd *const gAnims_PILOSWINE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_PILOSWINE_1, +}; + +const union AnimCmd *const gAnims_CORSOLA[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_CORSOLA_1, + gAnimCmd_CORSOLA_2, +}; + +const union AnimCmd *const gAnims_REMORAID[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_REMORAID_1, +}; + +const union AnimCmd *const gAnims_OCTILLERY[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_OCTILLERY_1, +}; + +const union AnimCmd *const gAnims_DELIBIRD[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_DELIBIRD_1, +}; + +const union AnimCmd *const gAnims_MANTINE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_MANTINE_1, +}; + +const union AnimCmd *const gAnims_SKARMORY[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SKARMORY_1, + gAnimCmd_SKARMORY_2, +}; + +const union AnimCmd *const gAnims_HOUNDOUR[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_HOUNDOUR_1, +}; + +const union AnimCmd *const gAnims_HOUNDOOM[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_HOUNDOOM_1, +}; + +const union AnimCmd *const gAnims_KINGDRA[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_KINGDRA_1, + gAnimCmd_KINGDRA_2, +}; + +const union AnimCmd *const gAnims_PHANPY[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_PHANPY_1, + gAnimCmd_PHANPY_2, +}; + +const union AnimCmd *const gAnims_DONPHAN[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_DONPHAN_1, + gAnimCmd_DONPHAN_2, +}; + +const union AnimCmd *const gAnims_PORYGON2[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_PORYGON2_1, +}; + +const union AnimCmd *const gAnims_STANTLER[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_STANTLER_1, +}; + +const union AnimCmd *const gAnims_SMEARGLE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SMEARGLE_1, +}; + +const union AnimCmd *const gAnims_TYROGUE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_TYROGUE_1, +}; + +const union AnimCmd *const gAnims_HITMONTOP[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_HITMONTOP_1, +}; + +const union AnimCmd *const gAnims_SMOOCHUM[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SMOOCHUM_1, +}; + +const union AnimCmd *const gAnims_ELEKID[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_ELEKID_1, +}; + +const union AnimCmd *const gAnims_MAGBY[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_MAGBY_1, +}; + +const union AnimCmd *const gAnims_MILTANK[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_MILTANK_1, +}; + +const union AnimCmd *const gAnims_BLISSEY[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_BLISSEY_1, +}; + +const union AnimCmd *const gAnims_RAIKOU[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_RAIKOU_1, +}; + +const union AnimCmd *const gAnims_ENTEI[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_ENTEI_1, +}; + +const union AnimCmd *const gAnims_SUICUNE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SUICUNE_1, +}; + +const union AnimCmd *const gAnims_LARVITAR[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_LARVITAR_1, +}; + +const union AnimCmd *const gAnims_PUPITAR[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_PUPITAR_1, +}; + +const union AnimCmd *const gAnims_TYRANITAR[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_TYRANITAR_1, +}; + +const union AnimCmd *const gAnims_LUGIA[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_LUGIA_1, +}; + +const union AnimCmd *const gAnims_HO_OH[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_HO_OH_1, +}; + +const union AnimCmd *const gAnims_CELEBI[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_CELEBI_1, +}; + +const union AnimCmd *const gAnims_OLD_UNOWN_B[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_OLD_UNOWN_B_1, +}; + +const union AnimCmd *const gAnims_TREECKO[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_TREECKO_1, +}; + +const union AnimCmd *const gAnims_GROVYLE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_GROVYLE_1, +}; + +const union AnimCmd *const gAnims_SCEPTILE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SCEPTILE_1, +}; + +const union AnimCmd *const gAnims_TORCHIC[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_TORCHIC_1, +}; + +const union AnimCmd *const gAnims_COMBUSKEN[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_COMBUSKEN_1, +}; + +const union AnimCmd *const gAnims_BLAZIKEN[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_BLAZIKEN_1, + gAnimCmd_BLAZIKEN_2, + gAnimCmd_BLAZIKEN_3, + gAnimCmd_BLAZIKEN_4, +}; + +const union AnimCmd *const gAnims_MUDKIP[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_MUDKIP_1, +}; + +const union AnimCmd *const gAnims_MARSHTOMP[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_MARSHTOMP_1, +}; + +const union AnimCmd *const gAnims_SWAMPERT[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SWAMPERT_1, +}; + +const union AnimCmd *const gAnims_POOCHYENA[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_POOCHYENA_1, +}; + +const union AnimCmd *const gAnims_MIGHTYENA[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_MIGHTYENA_1, +}; + +const union AnimCmd *const gAnims_ZIGZAGOON[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_ZIGZAGOON_1, +}; + +const union AnimCmd *const gAnims_LINOONE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_LINOONE_1, +}; + +const union AnimCmd *const gAnims_WURMPLE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_WURMPLE_1, +}; + +const union AnimCmd *const gAnims_SILCOON[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SILCOON_1, + gAnimCmd_SILCOON_2, +}; + +const union AnimCmd *const gAnims_BEAUTIFLY[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_BEAUTIFLY_1, + gAnimCmd_BEAUTIFLY_2, +}; + +const union AnimCmd *const gAnims_CASCOON[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_CASCOON_1, + gAnimCmd_CASCOON_2, +}; + +const union AnimCmd *const gAnims_DUSTOX[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_DUSTOX_1, + gAnimCmd_DUSTOX_2, +}; + +const union AnimCmd *const gAnims_LOTAD[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_LOTAD_1, +}; + +const union AnimCmd *const gAnims_LOMBRE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_LOMBRE_1, +}; + +const union AnimCmd *const gAnims_LUDICOLO[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_LUDICOLO_1, +}; + +const union AnimCmd *const gAnims_SEEDOT[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SEEDOT_1, +}; + +const union AnimCmd *const gAnims_NUZLEAF[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_NUZLEAF_1, +}; + +const union AnimCmd *const gAnims_SHIFTRY[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SHIFTRY_1, +}; + +const union AnimCmd *const gAnims_NINCADA[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_NINCADA_1, +}; + +const union AnimCmd *const gAnims_NINJASK[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_NINJASK_1, +}; + +const union AnimCmd *const gAnims_SHEDINJA[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SHEDINJA_1, +}; + +const union AnimCmd *const gAnims_TAILLOW[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_TAILLOW_1, +}; + +const union AnimCmd *const gAnims_SWELLOW[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SWELLOW_1, +}; + +const union AnimCmd *const gAnims_SHROOMISH[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SHROOMISH_1, +}; + +const union AnimCmd *const gAnims_BRELOOM[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_BRELOOM_1, +}; + +const union AnimCmd *const gAnims_SPINDA[] ={ + gAnimCmd_General_Frame0, +}; + +const union AnimCmd *const gAnims_WINGULL[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_WINGULL_1, +}; + +const union AnimCmd *const gAnims_PELIPPER[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_PELIPPER_1, +}; + +const union AnimCmd *const gAnims_SURSKIT[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SURSKIT_1, + gAnimCmd_SURSKIT_2, +}; + +const union AnimCmd *const gAnims_MASQUERAIN[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_MASQUERAIN_1, + gAnimCmd_MASQUERAIN_2, +}; + +const union AnimCmd *const gAnims_WAILMER[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_WAILMER_1, +}; + +const union AnimCmd *const gAnims_WAILORD[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_WAILORD_1, +}; + +const union AnimCmd *const gAnims_SKITTY[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SKITTY_1, +}; + +const union AnimCmd *const gAnims_DELCATTY[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_DELCATTY_1, +}; + +const union AnimCmd *const gAnims_KECLEON[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_KECLEON_1, +}; + +const union AnimCmd *const gAnims_BALTOY[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_BALTOY_1, +}; + +const union AnimCmd *const gAnims_CLAYDOL[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_CLAYDOL_1, +}; + +const union AnimCmd *const gAnims_NOSEPASS[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_NOSEPASS_1, +}; + +const union AnimCmd *const gAnims_TORKOAL[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_TORKOAL_1, +}; + +const union AnimCmd *const gAnims_SABLEYE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SABLEYE_1, +}; + +const union AnimCmd *const gAnims_BARBOACH[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_BARBOACH_1, +}; + +const union AnimCmd *const gAnims_WHISCASH[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_WHISCASH_1, +}; + +const union AnimCmd *const gAnims_LUVDISC[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_LUVDISC_1, +}; + +const union AnimCmd *const gAnims_CORPHISH[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_CORPHISH_1, +}; + +const union AnimCmd *const gAnims_CRAWDAUNT[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_CRAWDAUNT_1, +}; + +const union AnimCmd *const gAnims_FEEBAS[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_FEEBAS_1, +}; + +const union AnimCmd *const gAnims_MILOTIC[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_MILOTIC_1, +}; + +const union AnimCmd *const gAnims_CARVANHA[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_CARVANHA_1, +}; + +const union AnimCmd *const gAnims_SHARPEDO[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SHARPEDO_1, +}; + +const union AnimCmd *const gAnims_TRAPINCH[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_TRAPINCH_1, +}; + +const union AnimCmd *const gAnims_VIBRAVA[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_VIBRAVA_1, +}; + +const union AnimCmd *const gAnims_FLYGON[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_FLYGON_1, +}; + +const union AnimCmd *const gAnims_MAKUHITA[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_MAKUHITA_1, +}; + +const union AnimCmd *const gAnims_HARIYAMA[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_HARIYAMA_1, +}; + +const union AnimCmd *const gAnims_ELECTRIKE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_ELECTRIKE_1, +}; + +const union AnimCmd *const gAnims_MANECTRIC[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_MANECTRIC_1, +}; + +const union AnimCmd *const gAnims_NUMEL[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_NUMEL_1, +}; + +const union AnimCmd *const gAnims_CAMERUPT[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_CAMERUPT_1, +}; + +const union AnimCmd *const gAnims_SPHEAL[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SPHEAL_1, +}; + +const union AnimCmd *const gAnims_SEALEO[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SEALEO_1, +}; + +const union AnimCmd *const gAnims_WALREIN[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_WALREIN_1, +}; + +const union AnimCmd *const gAnims_CACNEA[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_CACNEA_1, +}; + +const union AnimCmd *const gAnims_CACTURNE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_CACTURNE_1, +}; + +const union AnimCmd *const gAnims_SNORUNT[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SNORUNT_1, +}; + +const union AnimCmd *const gAnims_GLALIE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_GLALIE_1, +}; + +const union AnimCmd *const gAnims_LUNATONE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_LUNATONE_1, + gAnimCmd_LUNATONE_2, +}; + +const union AnimCmd *const gAnims_SOLROCK[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SOLROCK_1, + gAnimCmd_SOLROCK_2, +}; + +const union AnimCmd *const gAnims_AZURILL[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_AZURILL_1, +}; + +const union AnimCmd *const gAnims_SPOINK[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SPOINK_1, +}; + +const union AnimCmd *const gAnims_GRUMPIG[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_GRUMPIG_1, +}; + +const union AnimCmd *const gAnims_PLUSLE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_PLUSLE_1, +}; + +const union AnimCmd *const gAnims_MINUN[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_MINUN_1, +}; + +const union AnimCmd *const gAnims_MAWILE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_MAWILE_1, +}; + +const union AnimCmd *const gAnims_MEDITITE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_MEDITITE_1, +}; + +const union AnimCmd *const gAnims_MEDICHAM[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_MEDICHAM_1, +}; + +const union AnimCmd *const gAnims_SWABLU[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SWABLU_1, + gAnimCmd_SWABLU_2, +}; + +const union AnimCmd *const gAnims_ALTARIA[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_ALTARIA_1, + gAnimCmd_ALTARIA_2, +}; + +const union AnimCmd *const gAnims_WYNAUT[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_WYNAUT_1, +}; + +const union AnimCmd *const gAnims_DUSKULL[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_DUSKULL_1, +}; + +const union AnimCmd *const gAnims_DUSCLOPS[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_DUSCLOPS_1, +}; + +const union AnimCmd *const gAnims_ROSELIA[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_ROSELIA_1, +}; + +const union AnimCmd *const gAnims_SLAKOTH[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SLAKOTH_1, +}; + +const union AnimCmd *const gAnims_VIGOROTH[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_VIGOROTH_1, +}; + +const union AnimCmd *const gAnims_SLAKING[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SLAKING_1, +}; + +const union AnimCmd *const gAnims_GULPIN[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_GULPIN_1, +}; + +const union AnimCmd *const gAnims_SWALOT[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SWALOT_1, +}; + +const union AnimCmd *const gAnims_TROPIUS[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_TROPIUS_1, +}; + +const union AnimCmd *const gAnims_WHISMUR[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_WHISMUR_1, +}; + +const union AnimCmd *const gAnims_LOUDRED[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_LOUDRED_1, +}; + +const union AnimCmd *const gAnims_EXPLOUD[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_EXPLOUD_1, +}; + +const union AnimCmd *const gAnims_CLAMPERL[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_CLAMPERL_1, +}; + +const union AnimCmd *const gAnims_HUNTAIL[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_HUNTAIL_1, +}; + +const union AnimCmd *const gAnims_GOREBYSS[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_GOREBYSS_1, +}; + +const union AnimCmd *const gAnims_ABSOL[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_ABSOL_1, +}; + +const union AnimCmd *const gAnims_SHUPPET[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SHUPPET_1, +}; + +const union AnimCmd *const gAnims_BANETTE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_BANETTE_1, +}; + +const union AnimCmd *const gAnims_SEVIPER[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SEVIPER_1, +}; + +const union AnimCmd *const gAnims_ZANGOOSE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_ZANGOOSE_1, +}; + +const union AnimCmd *const gAnims_RELICANTH[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_RELICANTH_1, +}; + +const union AnimCmd *const gAnims_ARON[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_ARON_1, +}; + +const union AnimCmd *const gAnims_LAIRON[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_LAIRON_1, +}; + +const union AnimCmd *const gAnims_AGGRON[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_AGGRON_1, +}; + +const union AnimCmd *const gAnims_CASTFORM[] ={ + gAnimCmd_CASTFORM_0, + gAnimCmd_CASTFORM_1, + gAnimCmd_CASTFORM_2, + gAnimCmd_CASTFORM_3, +}; + +const union AnimCmd *const gAnims_VOLBEAT[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_VOLBEAT_1, +}; + +const union AnimCmd *const gAnims_ILLUMISE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_ILLUMISE_1, +}; + +const union AnimCmd *const gAnims_LILEEP[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_LILEEP_1, +}; + +const union AnimCmd *const gAnims_CRADILY[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_CRADILY_1, +}; + +const union AnimCmd *const gAnims_ANORITH[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_ANORITH_1, +}; + +const union AnimCmd *const gAnims_ARMALDO[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_ARMALDO_1, +}; + +const union AnimCmd *const gAnims_RALTS[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_RALTS_1, +}; + +const union AnimCmd *const gAnims_KIRLIA[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_KIRLIA_1, +}; + +const union AnimCmd *const gAnims_GARDEVOIR[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_GARDEVOIR_1, +}; + +const union AnimCmd *const gAnims_BAGON[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_BAGON_1, +}; + +const union AnimCmd *const gAnims_SHELGON[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SHELGON_1, +}; + +const union AnimCmd *const gAnims_SALAMENCE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SALAMENCE_1, +}; + +const union AnimCmd *const gAnims_BELDUM[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_BELDUM_1, +}; + +const union AnimCmd *const gAnims_METANG[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_METANG_1, +}; + +const union AnimCmd *const gAnims_METAGROSS[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_METAGROSS_1, +}; + +const union AnimCmd *const gAnims_REGIROCK[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_REGIROCK_1, + gAnimCmd_REGIROCK_2, +}; + +const union AnimCmd *const gAnims_REGICE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_REGICE_1, +}; + +const union AnimCmd *const gAnims_REGISTEEL[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_REGISTEEL_1, + gAnimCmd_REGISTEEL_2, +}; + +const union AnimCmd *const gAnims_KYOGRE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_KYOGRE_1, + gAnimCmd_KYOGRE_2, +}; + +const union AnimCmd *const gAnims_GROUDON[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_GROUDON_1, + gAnimCmd_GROUDON_2, +}; + +const union AnimCmd *const gAnims_RAYQUAZA[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_RAYQUAZA_1, + gAnimCmd_RAYQUAZA_2, +}; + +const union AnimCmd *const gAnims_LATIAS[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_LATIAS_1, + gAnimCmd_LATIAS_2, +}; + +const union AnimCmd *const gAnims_LATIOS[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_LATIOS_1, + gAnimCmd_LATIOS_2, +}; + +const union AnimCmd *const gAnims_JIRACHI[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_JIRACHI_1, + gAnimCmd_JIRACHI_2, +}; + +const union AnimCmd *const gAnims_DEOXYS[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_DEOXYS_1, + gAnimCmd_DEOXYS_2, +}; + +const union AnimCmd *const gAnims_CHIMECHO[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_CHIMECHO_1, +}; + +const union AnimCmd *const gAnims_EGG[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_EGG_1, +}; + +const union AnimCmd *const gAnims_UNOWN_B[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_UNOWN_B_1, +}; + +const union AnimCmd *const gAnims_UNOWN_C[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_UNOWN_C_1, +}; + +const union AnimCmd *const gAnims_UNOWN_D[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_UNOWN_D_1, +}; + +const union AnimCmd *const gAnims_UNOWN_E[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_UNOWN_E_1, +}; + +const union AnimCmd *const gAnims_UNOWN_F[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_UNOWN_F_1, +}; + +const union AnimCmd *const gAnims_UNOWN_G[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_UNOWN_G_1, +}; + +const union AnimCmd *const gAnims_UNOWN_H[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_UNOWN_H_1, +}; + +const union AnimCmd *const gAnims_UNOWN_I[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_UNOWN_I_1, +}; + +const union AnimCmd *const gAnims_UNOWN_J[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_UNOWN_J_1, +}; + +const union AnimCmd *const gAnims_UNOWN_K[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_UNOWN_K_1, +}; + +const union AnimCmd *const gAnims_UNOWN_L[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_UNOWN_L_1, +}; + +const union AnimCmd *const gAnims_UNOWN_M[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_UNOWN_M_1, +}; + +const union AnimCmd *const gAnims_UNOWN_N[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_UNOWN_N_1, +}; + +const union AnimCmd *const gAnims_UNOWN_O[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_UNOWN_O_1, +}; + +const union AnimCmd *const gAnims_UNOWN_P[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_UNOWN_P_1, +}; + +const union AnimCmd *const gAnims_UNOWN_Q[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_UNOWN_Q_1, +}; + +const union AnimCmd *const gAnims_UNOWN_R[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_UNOWN_R_1, +}; + +const union AnimCmd *const gAnims_UNOWN_S[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_UNOWN_S_1, +}; + +const union AnimCmd *const gAnims_UNOWN_T[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_UNOWN_T_1, +}; + +const union AnimCmd *const gAnims_UNOWN_U[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_UNOWN_U_1, +}; + +const union AnimCmd *const gAnims_UNOWN_V[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_UNOWN_V_1, +}; + +const union AnimCmd *const gAnims_UNOWN_W[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_UNOWN_W_1, +}; + +const union AnimCmd *const gAnims_UNOWN_X[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_UNOWN_X_1, +}; + +const union AnimCmd *const gAnims_UNOWN_Y[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_UNOWN_Y_1, +}; + +const union AnimCmd *const gAnims_UNOWN_Z[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_UNOWN_Z_1, +}; + +const union AnimCmd *const gAnims_UNOWN_EMARK[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_UNOWN_EMARK_1, +}; + +const union AnimCmd *const gAnims_UNOWN_QMARK[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_UNOWN_QMARK_1, +}; + +const union AnimCmd* const * const gMonAnimationsSpriteAnimsPtrTable[] = +{ + gAnims_NONE, + gAnims_BULBASAUR, + gAnims_IVYSAUR, + gAnims_VENUSAUR, + gAnims_CHARMANDER, + gAnims_CHARMELEON, + gAnims_CHARIZARD, + gAnims_SQUIRTLE, + gAnims_WARTORTLE, + gAnims_BLASTOISE, + gAnims_CATERPIE, + gAnims_METAPOD, + gAnims_BUTTERFREE, + gAnims_WEEDLE, + gAnims_KAKUNA, + gAnims_BEEDRILL, + gAnims_PIDGEY, + gAnims_PIDGEOTTO, + gAnims_PIDGEOT, + gAnims_RATTATA, + gAnims_RATICATE, + gAnims_SPEAROW, + gAnims_FEAROW, + gAnims_EKANS, + gAnims_ARBOK, + gAnims_PIKACHU, + gAnims_RAICHU, + gAnims_SANDSHREW, + gAnims_SANDSLASH, + gAnims_NIDORAN_F, + gAnims_NIDORINA, + gAnims_NIDOQUEEN, + gAnims_NIDORAN_M, + gAnims_NIDORINO, + gAnims_NIDOKING, + gAnims_CLEFAIRY, + gAnims_CLEFABLE, + gAnims_VULPIX, + gAnims_NINETALES, + gAnims_JIGGLYPUFF, + gAnims_WIGGLYTUFF, + gAnims_ZUBAT, + gAnims_GOLBAT, + gAnims_ODDISH, + gAnims_GLOOM, + gAnims_VILEPLUME, + gAnims_PARAS, + gAnims_PARASECT, + gAnims_VENONAT, + gAnims_VENOMOTH, + gAnims_DIGLETT, + gAnims_DUGTRIO, + gAnims_MEOWTH, + gAnims_PERSIAN, + gAnims_PSYDUCK, + gAnims_GOLDUCK, + gAnims_MANKEY, + gAnims_PRIMEAPE, + gAnims_GROWLITHE, + gAnims_ARCANINE, + gAnims_POLIWAG, + gAnims_POLIWHIRL, + gAnims_POLIWRATH, + gAnims_ABRA, + gAnims_KADABRA, + gAnims_ALAKAZAM, + gAnims_MACHOP, + gAnims_MACHOKE, + gAnims_MACHAMP, + gAnims_BELLSPROUT, + gAnims_WEEPINBELL, + gAnims_VICTREEBEL, + gAnims_TENTACOOL, + gAnims_TENTACRUEL, + gAnims_GEODUDE, + gAnims_GRAVELER, + gAnims_GOLEM, + gAnims_PONYTA, + gAnims_RAPIDASH, + gAnims_SLOWPOKE, + gAnims_SLOWBRO, + gAnims_MAGNEMITE, + gAnims_MAGNETON, + gAnims_FARFETCHD, + gAnims_DODUO, + gAnims_DODRIO, + gAnims_SEEL, + gAnims_DEWGONG, + gAnims_GRIMER, + gAnims_MUK, + gAnims_SHELLDER, + gAnims_CLOYSTER, + gAnims_GASTLY, + gAnims_HAUNTER, + gAnims_GENGAR, + gAnims_ONIX, + gAnims_DROWZEE, + gAnims_HYPNO, + gAnims_KRABBY, + gAnims_KINGLER, + gAnims_VOLTORB, + gAnims_ELECTRODE, + gAnims_EXEGGCUTE, + gAnims_EXEGGUTOR, + gAnims_CUBONE, + gAnims_MAROWAK, + gAnims_HITMONLEE, + gAnims_HITMONCHAN, + gAnims_LICKITUNG, + gAnims_KOFFING, + gAnims_WEEZING, + gAnims_RHYHORN, + gAnims_RHYDON, + gAnims_CHANSEY, + gAnims_TANGELA, + gAnims_KANGASKHAN, + gAnims_HORSEA, + gAnims_SEADRA, + gAnims_GOLDEEN, + gAnims_SEAKING, + gAnims_STARYU, + gAnims_STARMIE, + gAnims_MR_MIME, + gAnims_SCYTHER, + gAnims_JYNX, + gAnims_ELECTABUZZ, + gAnims_MAGMAR, + gAnims_PINSIR, + gAnims_TAUROS, + gAnims_MAGIKARP, + gAnims_GYARADOS, + gAnims_LAPRAS, + gAnims_DITTO, + gAnims_EEVEE, + gAnims_VAPOREON, + gAnims_JOLTEON, + gAnims_FLAREON, + gAnims_PORYGON, + gAnims_OMANYTE, + gAnims_OMASTAR, + gAnims_KABUTO, + gAnims_KABUTOPS, + gAnims_AERODACTYL, + gAnims_SNORLAX, + gAnims_ARTICUNO, + gAnims_ZAPDOS, + gAnims_MOLTRES, + gAnims_DRATINI, + gAnims_DRAGONAIR, + gAnims_DRAGONITE, + gAnims_MEWTWO, + gAnims_MEW, + gAnims_CHIKORITA, + gAnims_BAYLEEF, + gAnims_MEGANIUM, + gAnims_CYNDAQUIL, + gAnims_QUILAVA, + gAnims_TYPHLOSION, + gAnims_TOTODILE, + gAnims_CROCONAW, + gAnims_FERALIGATR, + gAnims_SENTRET, + gAnims_FURRET, + gAnims_HOOTHOOT, + gAnims_NOCTOWL, + gAnims_LEDYBA, + gAnims_LEDIAN, + gAnims_SPINARAK, + gAnims_ARIADOS, + gAnims_CROBAT, + gAnims_CHINCHOU, + gAnims_LANTURN, + gAnims_PICHU, + gAnims_CLEFFA, + gAnims_IGGLYBUFF, + gAnims_TOGEPI, + gAnims_TOGETIC, + gAnims_NATU, + gAnims_XATU, + gAnims_MAREEP, + gAnims_FLAAFFY, + gAnims_AMPHAROS, + gAnims_BELLOSSOM, + gAnims_MARILL, + gAnims_AZUMARILL, + gAnims_SUDOWOODO, + gAnims_POLITOED, + gAnims_HOPPIP, + gAnims_SKIPLOOM, + gAnims_JUMPLUFF, + gAnims_AIPOM, + gAnims_SUNKERN, + gAnims_SUNFLORA, + gAnims_YANMA, + gAnims_WOOPER, + gAnims_QUAGSIRE, + gAnims_ESPEON, + gAnims_UMBREON, + gAnims_MURKROW, + gAnims_SLOWKING, + gAnims_MISDREAVUS, + gAnims_UNOWN, + gAnims_WOBBUFFET, + gAnims_GIRAFARIG, + gAnims_PINECO, + gAnims_FORRETRESS, + gAnims_DUNSPARCE, + gAnims_GLIGAR, + gAnims_STEELIX, + gAnims_SNUBBULL, + gAnims_GRANBULL, + gAnims_QWILFISH, + gAnims_SCIZOR, + gAnims_SHUCKLE, + gAnims_HERACROSS, + gAnims_SNEASEL, + gAnims_TEDDIURSA, + gAnims_URSARING, + gAnims_SLUGMA, + gAnims_MAGCARGO, + gAnims_SWINUB, + gAnims_PILOSWINE, + gAnims_CORSOLA, + gAnims_REMORAID, + gAnims_OCTILLERY, + gAnims_DELIBIRD, + gAnims_MANTINE, + gAnims_SKARMORY, + gAnims_HOUNDOUR, + gAnims_HOUNDOOM, + gAnims_KINGDRA, + gAnims_PHANPY, + gAnims_DONPHAN, + gAnims_PORYGON2, + gAnims_STANTLER, + gAnims_SMEARGLE, + gAnims_TYROGUE, + gAnims_HITMONTOP, + gAnims_SMOOCHUM, + gAnims_ELEKID, + gAnims_MAGBY, + gAnims_MILTANK, + gAnims_BLISSEY, + gAnims_RAIKOU, + gAnims_ENTEI, + gAnims_SUICUNE, + gAnims_LARVITAR, + gAnims_PUPITAR, + gAnims_TYRANITAR, + gAnims_LUGIA, + gAnims_HO_OH, + gAnims_CELEBI, + gAnims_OLD_UNOWN_B, + gAnims_OLD_UNOWN_B, + gAnims_OLD_UNOWN_B, + gAnims_OLD_UNOWN_B, + gAnims_OLD_UNOWN_B, + gAnims_OLD_UNOWN_B, + gAnims_OLD_UNOWN_B, + gAnims_OLD_UNOWN_B, + gAnims_OLD_UNOWN_B, + gAnims_OLD_UNOWN_B, + gAnims_OLD_UNOWN_B, + gAnims_OLD_UNOWN_B, + gAnims_OLD_UNOWN_B, + gAnims_OLD_UNOWN_B, + gAnims_OLD_UNOWN_B, + gAnims_OLD_UNOWN_B, + gAnims_OLD_UNOWN_B, + gAnims_OLD_UNOWN_B, + gAnims_OLD_UNOWN_B, + gAnims_OLD_UNOWN_B, + gAnims_OLD_UNOWN_B, + gAnims_OLD_UNOWN_B, + gAnims_OLD_UNOWN_B, + gAnims_OLD_UNOWN_B, + gAnims_OLD_UNOWN_B, + gAnims_TREECKO, + gAnims_GROVYLE, + gAnims_SCEPTILE, + gAnims_TORCHIC, + gAnims_COMBUSKEN, + gAnims_BLAZIKEN, + gAnims_MUDKIP, + gAnims_MARSHTOMP, + gAnims_SWAMPERT, + gAnims_POOCHYENA, + gAnims_MIGHTYENA, + gAnims_ZIGZAGOON, + gAnims_LINOONE, + gAnims_WURMPLE, + gAnims_SILCOON, + gAnims_BEAUTIFLY, + gAnims_CASCOON, + gAnims_DUSTOX, + gAnims_LOTAD, + gAnims_LOMBRE, + gAnims_LUDICOLO, + gAnims_SEEDOT, + gAnims_NUZLEAF, + gAnims_SHIFTRY, + gAnims_NINCADA, + gAnims_NINJASK, + gAnims_SHEDINJA, + gAnims_TAILLOW, + gAnims_SWELLOW, + gAnims_SHROOMISH, + gAnims_BRELOOM, + gAnims_SPINDA, + gAnims_WINGULL, + gAnims_PELIPPER, + gAnims_SURSKIT, + gAnims_MASQUERAIN, + gAnims_WAILMER, + gAnims_WAILORD, + gAnims_SKITTY, + gAnims_DELCATTY, + gAnims_KECLEON, + gAnims_BALTOY, + gAnims_CLAYDOL, + gAnims_NOSEPASS, + gAnims_TORKOAL, + gAnims_SABLEYE, + gAnims_BARBOACH, + gAnims_WHISCASH, + gAnims_LUVDISC, + gAnims_CORPHISH, + gAnims_CRAWDAUNT, + gAnims_FEEBAS, + gAnims_MILOTIC, + gAnims_CARVANHA, + gAnims_SHARPEDO, + gAnims_TRAPINCH, + gAnims_VIBRAVA, + gAnims_FLYGON, + gAnims_MAKUHITA, + gAnims_HARIYAMA, + gAnims_ELECTRIKE, + gAnims_MANECTRIC, + gAnims_NUMEL, + gAnims_CAMERUPT, + gAnims_SPHEAL, + gAnims_SEALEO, + gAnims_WALREIN, + gAnims_CACNEA, + gAnims_CACTURNE, + gAnims_SNORUNT, + gAnims_GLALIE, + gAnims_LUNATONE, + gAnims_SOLROCK, + gAnims_AZURILL, + gAnims_SPOINK, + gAnims_GRUMPIG, + gAnims_PLUSLE, + gAnims_MINUN, + gAnims_MAWILE, + gAnims_MEDITITE, + gAnims_MEDICHAM, + gAnims_SWABLU, + gAnims_ALTARIA, + gAnims_WYNAUT, + gAnims_DUSKULL, + gAnims_DUSCLOPS, + gAnims_ROSELIA, + gAnims_SLAKOTH, + gAnims_VIGOROTH, + gAnims_SLAKING, + gAnims_GULPIN, + gAnims_SWALOT, + gAnims_TROPIUS, + gAnims_WHISMUR, + gAnims_LOUDRED, + gAnims_EXPLOUD, + gAnims_CLAMPERL, + gAnims_HUNTAIL, + gAnims_GOREBYSS, + gAnims_ABSOL, + gAnims_SHUPPET, + gAnims_BANETTE, + gAnims_SEVIPER, + gAnims_ZANGOOSE, + gAnims_RELICANTH, + gAnims_ARON, + gAnims_LAIRON, + gAnims_AGGRON, + gAnims_CASTFORM, + gAnims_VOLBEAT, + gAnims_ILLUMISE, + gAnims_LILEEP, + gAnims_CRADILY, + gAnims_ANORITH, + gAnims_ARMALDO, + gAnims_RALTS, + gAnims_KIRLIA, + gAnims_GARDEVOIR, + gAnims_BAGON, + gAnims_SHELGON, + gAnims_SALAMENCE, + gAnims_BELDUM, + gAnims_METANG, + gAnims_METAGROSS, + gAnims_REGIROCK, + gAnims_REGICE, + gAnims_REGISTEEL, + gAnims_KYOGRE, + gAnims_GROUDON, + gAnims_RAYQUAZA, + gAnims_LATIAS, + gAnims_LATIOS, + gAnims_JIRACHI, + gAnims_DEOXYS, + gAnims_CHIMECHO, + gAnims_EGG, + gAnims_UNOWN_B, + gAnims_UNOWN_C, + gAnims_UNOWN_D, + gAnims_UNOWN_E, + gAnims_UNOWN_F, + gAnims_UNOWN_G, + gAnims_UNOWN_H, + gAnims_UNOWN_I, + gAnims_UNOWN_J, + gAnims_UNOWN_K, + gAnims_UNOWN_L, + gAnims_UNOWN_M, + gAnims_UNOWN_N, + gAnims_UNOWN_O, + gAnims_UNOWN_P, + gAnims_UNOWN_Q, + gAnims_UNOWN_R, + gAnims_UNOWN_S, + gAnims_UNOWN_T, + gAnims_UNOWN_U, + gAnims_UNOWN_V, + gAnims_UNOWN_W, + gAnims_UNOWN_X, + gAnims_UNOWN_Y, + gAnims_UNOWN_Z, + gAnims_UNOWN_EMARK, + gAnims_UNOWN_QMARK, +}; diff --git a/include/data/pokemon_graphics/front_pic_table.h b/include/data/pokemon_graphics/front_pic_table.h new file mode 100644 index 0000000000..5aa22f4f8a --- /dev/null +++ b/include/data/pokemon_graphics/front_pic_table.h @@ -0,0 +1,446 @@ +const struct CompressedSpriteSheet gMonFrontPicTable[] = +{ //.data .size .tag + gMonFrontPic_CircledQuestionMark, 0x800, 0, + gMonFrontPic_Bulbasaur, 0x800, 1, + gMonFrontPic_Ivysaur, 0x800, 2, + gMonFrontPic_Venusaur, 0x800, 3, + gMonFrontPic_Charmander, 0x800, 4, + gMonFrontPic_Charmeleon, 0x800, 5, + gMonFrontPic_Charizard, 0x800, 6, + gMonFrontPic_Squirtle, 0x800, 7, + gMonFrontPic_Wartortle, 0x800, 8, + gMonFrontPic_Blastoise, 0x800, 9, + gMonFrontPic_Caterpie, 0x800, 10, + gMonFrontPic_Metapod, 0x800, 11, + gMonFrontPic_Butterfree, 0x800, 12, + gMonFrontPic_Weedle, 0x800, 13, + gMonFrontPic_Kakuna, 0x800, 14, + gMonFrontPic_Beedrill, 0x800, 15, + gMonFrontPic_Pidgey, 0x800, 16, + gMonFrontPic_Pidgeotto, 0x800, 17, + gMonFrontPic_Pidgeot, 0x800, 18, + gMonFrontPic_Rattata, 0x800, 19, + gMonFrontPic_Raticate, 0x800, 20, + gMonFrontPic_Spearow, 0x800, 21, + gMonFrontPic_Fearow, 0x800, 22, + gMonFrontPic_Ekans, 0x800, 23, + gMonFrontPic_Arbok, 0x800, 24, + gMonFrontPic_Pikachu, 0x800, 25, + gMonFrontPic_Raichu, 0x800, 26, + gMonFrontPic_Sandshrew, 0x800, 27, + gMonFrontPic_Sandslash, 0x800, 28, + gMonFrontPic_NidoranF, 0x800, 29, + gMonFrontPic_Nidorina, 0x800, 30, + gMonFrontPic_Nidoqueen, 0x800, 31, + gMonFrontPic_NidoranM, 0x800, 32, + gMonFrontPic_Nidorino, 0x800, 33, + gMonFrontPic_Nidoking, 0x800, 34, + gMonFrontPic_Clefairy, 0x800, 35, + gMonFrontPic_Clefable, 0x800, 36, + gMonFrontPic_Vulpix, 0x800, 37, + gMonFrontPic_Ninetales, 0x800, 38, + gMonFrontPic_Jigglypuff, 0x800, 39, + gMonFrontPic_Wigglytuff, 0x800, 40, + gMonFrontPic_Zubat, 0x800, 41, + gMonFrontPic_Golbat, 0x800, 42, + gMonFrontPic_Oddish, 0x800, 43, + gMonFrontPic_Gloom, 0x800, 44, + gMonFrontPic_Vileplume, 0x800, 45, + gMonFrontPic_Paras, 0x800, 46, + gMonFrontPic_Parasect, 0x800, 47, + gMonFrontPic_Venonat, 0x800, 48, + gMonFrontPic_Venomoth, 0x800, 49, + gMonFrontPic_Diglett, 0x800, 50, + gMonFrontPic_Dugtrio, 0x800, 51, + gMonFrontPic_Meowth, 0x800, 52, + gMonFrontPic_Persian, 0x800, 53, + gMonFrontPic_Psyduck, 0x800, 54, + gMonFrontPic_Golduck, 0x800, 55, + gMonFrontPic_Mankey, 0x800, 56, + gMonFrontPic_Primeape, 0x800, 57, + gMonFrontPic_Growlithe, 0x800, 58, + gMonFrontPic_Arcanine, 0x800, 59, + gMonFrontPic_Poliwag, 0x800, 60, + gMonFrontPic_Poliwhirl, 0x800, 61, + gMonFrontPic_Poliwrath, 0x800, 62, + gMonFrontPic_Abra, 0x800, 63, + gMonFrontPic_Kadabra, 0x800, 64, + gMonFrontPic_Alakazam, 0x800, 65, + gMonFrontPic_Machop, 0x800, 66, + gMonFrontPic_Machoke, 0x800, 67, + gMonFrontPic_Machamp, 0x800, 68, + gMonFrontPic_Bellsprout, 0x800, 69, + gMonFrontPic_Weepinbell, 0x800, 70, + gMonFrontPic_Victreebel, 0x800, 71, + gMonFrontPic_Tentacool, 0x800, 72, + gMonFrontPic_Tentacruel, 0x800, 73, + gMonFrontPic_Geodude, 0x800, 74, + gMonFrontPic_Graveler, 0x800, 75, + gMonFrontPic_Golem, 0x800, 76, + gMonFrontPic_Ponyta, 0x800, 77, + gMonFrontPic_Rapidash, 0x800, 78, + gMonFrontPic_Slowpoke, 0x800, 79, + gMonFrontPic_Slowbro, 0x800, 80, + gMonFrontPic_Magnemite, 0x800, 81, + gMonFrontPic_Magneton, 0x800, 82, + gMonFrontPic_Farfetchd, 0x800, 83, + gMonFrontPic_Doduo, 0x800, 84, + gMonFrontPic_Dodrio, 0x800, 85, + gMonFrontPic_Seel, 0x800, 86, + gMonFrontPic_Dewgong, 0x800, 87, + gMonFrontPic_Grimer, 0x800, 88, + gMonFrontPic_Muk, 0x800, 89, + gMonFrontPic_Shellder, 0x800, 90, + gMonFrontPic_Cloyster, 0x800, 91, + gMonFrontPic_Gastly, 0x800, 92, + gMonFrontPic_Haunter, 0x800, 93, + gMonFrontPic_Gengar, 0x800, 94, + gMonFrontPic_Onix, 0x800, 95, + gMonFrontPic_Drowzee, 0x800, 96, + gMonFrontPic_Hypno, 0x800, 97, + gMonFrontPic_Krabby, 0x800, 98, + gMonFrontPic_Kingler, 0x800, 99, + gMonFrontPic_Voltorb, 0x800, 100, + gMonFrontPic_Electrode, 0x800, 101, + gMonFrontPic_Exeggcute, 0x800, 102, + gMonFrontPic_Exeggutor, 0x800, 103, + gMonFrontPic_Cubone, 0x800, 104, + gMonFrontPic_Marowak, 0x800, 105, + gMonFrontPic_Hitmonlee, 0x800, 106, + gMonFrontPic_Hitmonchan, 0x800, 107, + gMonFrontPic_Lickitung, 0x800, 108, + gMonFrontPic_Koffing, 0x800, 109, + gMonFrontPic_Weezing, 0x800, 110, + gMonFrontPic_Rhyhorn, 0x800, 111, + gMonFrontPic_Rhydon, 0x800, 112, + gMonFrontPic_Chansey, 0x800, 113, + gMonFrontPic_Tangela, 0x800, 114, + gMonFrontPic_Kangaskhan, 0x800, 115, + gMonFrontPic_Horsea, 0x800, 116, + gMonFrontPic_Seadra, 0x800, 117, + gMonFrontPic_Goldeen, 0x800, 118, + gMonFrontPic_Seaking, 0x800, 119, + gMonFrontPic_Staryu, 0x800, 120, + gMonFrontPic_Starmie, 0x800, 121, + gMonFrontPic_Mrmime, 0x800, 122, + gMonFrontPic_Scyther, 0x800, 123, + gMonFrontPic_Jynx, 0x800, 124, + gMonFrontPic_Electabuzz, 0x800, 125, + gMonFrontPic_Magmar, 0x800, 126, + gMonFrontPic_Pinsir, 0x800, 127, + gMonFrontPic_Tauros, 0x800, 128, + gMonFrontPic_Magikarp, 0x800, 129, + gMonFrontPic_Gyarados, 0x800, 130, + gMonFrontPic_Lapras, 0x800, 131, + gMonFrontPic_Ditto, 0x800, 132, + gMonFrontPic_Eevee, 0x800, 133, + gMonFrontPic_Vaporeon, 0x800, 134, + gMonFrontPic_Jolteon, 0x800, 135, + gMonFrontPic_Flareon, 0x800, 136, + gMonFrontPic_Porygon, 0x800, 137, + gMonFrontPic_Omanyte, 0x800, 138, + gMonFrontPic_Omastar, 0x800, 139, + gMonFrontPic_Kabuto, 0x800, 140, + gMonFrontPic_Kabutops, 0x800, 141, + gMonFrontPic_Aerodactyl, 0x800, 142, + gMonFrontPic_Snorlax, 0x800, 143, + gMonFrontPic_Articuno, 0x800, 144, + gMonFrontPic_Zapdos, 0x800, 145, + gMonFrontPic_Moltres, 0x800, 146, + gMonFrontPic_Dratini, 0x800, 147, + gMonFrontPic_Dragonair, 0x800, 148, + gMonFrontPic_Dragonite, 0x800, 149, + gMonFrontPic_Mewtwo, 0x800, 150, + gMonFrontPic_Mew, 0x800, 151, +// Gen II + gMonFrontPic_Chikorita, 0x800, 152, + gMonFrontPic_Bayleef, 0x800, 153, + gMonFrontPic_Meganium, 0x800, 154, + gMonFrontPic_Cyndaquil, 0x800, 155, + gMonFrontPic_Quilava, 0x800, 156, + gMonFrontPic_Typhlosion, 0x800, 157, + gMonFrontPic_Totodile, 0x800, 158, + gMonFrontPic_Croconaw, 0x800, 159, + gMonFrontPic_Feraligatr, 0x800, 160, + gMonFrontPic_Sentret, 0x800, 161, + gMonFrontPic_Furret, 0x800, 162, + gMonFrontPic_Hoothoot, 0x800, 163, + gMonFrontPic_Noctowl, 0x800, 164, + gMonFrontPic_Ledyba, 0x800, 165, + gMonFrontPic_Ledian, 0x800, 166, + gMonFrontPic_Spinarak, 0x800, 167, + gMonFrontPic_Ariados, 0x800, 168, + gMonFrontPic_Crobat, 0x800, 169, + gMonFrontPic_Chinchou, 0x800, 170, + gMonFrontPic_Lanturn, 0x800, 171, + gMonFrontPic_Pichu, 0x800, 172, + gMonFrontPic_Cleffa, 0x800, 173, + gMonFrontPic_Igglybuff, 0x800, 174, + gMonFrontPic_Togepi, 0x800, 175, + gMonFrontPic_Togetic, 0x800, 176, + gMonFrontPic_Natu, 0x800, 177, + gMonFrontPic_Xatu, 0x800, 178, + gMonFrontPic_Mareep, 0x800, 179, + gMonFrontPic_Flaaffy, 0x800, 180, + gMonFrontPic_Ampharos, 0x800, 181, + gMonFrontPic_Bellossom, 0x800, 182, + gMonFrontPic_Marill, 0x800, 183, + gMonFrontPic_Azumarill, 0x800, 184, + gMonFrontPic_Sudowoodo, 0x800, 185, + gMonFrontPic_Politoed, 0x800, 186, + gMonFrontPic_Hoppip, 0x800, 187, + gMonFrontPic_Skiploom, 0x800, 188, + gMonFrontPic_Jumpluff, 0x800, 189, + gMonFrontPic_Aipom, 0x800, 190, + gMonFrontPic_Sunkern, 0x800, 191, + gMonFrontPic_Sunflora, 0x800, 192, + gMonFrontPic_Yanma, 0x800, 193, + gMonFrontPic_Wooper, 0x800, 194, + gMonFrontPic_Quagsire, 0x800, 195, + gMonFrontPic_Espeon, 0x800, 196, + gMonFrontPic_Umbreon, 0x800, 197, + gMonFrontPic_Murkrow, 0x800, 198, + gMonFrontPic_Slowking, 0x800, 199, + gMonFrontPic_Misdreavus, 0x800, 200, + gMonFrontPic_UnownA, 0x800, 201, + gMonFrontPic_Wobbuffet, 0x800, 202, + gMonFrontPic_Girafarig, 0x800, 203, + gMonFrontPic_Pineco, 0x800, 204, + gMonFrontPic_Forretress, 0x800, 205, + gMonFrontPic_Dunsparce, 0x800, 206, + gMonFrontPic_Gligar, 0x800, 207, + gMonFrontPic_Steelix, 0x800, 208, + gMonFrontPic_Snubbull, 0x800, 209, + gMonFrontPic_Granbull, 0x800, 210, + gMonFrontPic_Qwilfish, 0x800, 211, + gMonFrontPic_Scizor, 0x800, 212, + gMonFrontPic_Shuckle, 0x800, 213, + gMonFrontPic_Heracross, 0x800, 214, + gMonFrontPic_Sneasel, 0x800, 215, + gMonFrontPic_Teddiursa, 0x800, 216, + gMonFrontPic_Ursaring, 0x800, 217, + gMonFrontPic_Slugma, 0x800, 218, + gMonFrontPic_Magcargo, 0x800, 219, + gMonFrontPic_Swinub, 0x800, 220, + gMonFrontPic_Piloswine, 0x800, 221, + gMonFrontPic_Corsola, 0x800, 222, + gMonFrontPic_Remoraid, 0x800, 223, + gMonFrontPic_Octillery, 0x800, 224, + gMonFrontPic_Delibird, 0x800, 225, + gMonFrontPic_Mantine, 0x800, 226, + gMonFrontPic_Skarmory, 0x800, 227, + gMonFrontPic_Houndour, 0x800, 228, + gMonFrontPic_Houndoom, 0x800, 229, + gMonFrontPic_Kingdra, 0x800, 230, + gMonFrontPic_Phanpy, 0x800, 231, + gMonFrontPic_Donphan, 0x800, 232, + gMonFrontPic_Porygon2, 0x800, 233, + gMonFrontPic_Stantler, 0x800, 234, + gMonFrontPic_Smeargle, 0x800, 235, + gMonFrontPic_Tyrogue, 0x800, 236, + gMonFrontPic_Hitmontop, 0x800, 237, + gMonFrontPic_Smoochum, 0x800, 238, + gMonFrontPic_Elekid, 0x800, 239, + gMonFrontPic_Magby, 0x800, 240, + gMonFrontPic_Miltank, 0x800, 241, + gMonFrontPic_Blissey, 0x800, 242, + gMonFrontPic_Raikou, 0x800, 243, + gMonFrontPic_Entei, 0x800, 244, + gMonFrontPic_Suicune, 0x800, 245, + gMonFrontPic_Larvitar, 0x800, 246, + gMonFrontPic_Pupitar, 0x800, 247, + gMonFrontPic_Tyranitar, 0x800, 248, + gMonFrontPic_Lugia, 0x800, 249, + gMonFrontPic_HoOh, 0x800, 250, + gMonFrontPic_Celebi, 0x800, 251, +// Empty slots + gMonFrontPic_DoubleQuestionMark, 0x800, 252, + gMonFrontPic_DoubleQuestionMark, 0x800, 253, + gMonFrontPic_DoubleQuestionMark, 0x800, 254, + gMonFrontPic_DoubleQuestionMark, 0x800, 255, + gMonFrontPic_DoubleQuestionMark, 0x800, 256, + gMonFrontPic_DoubleQuestionMark, 0x800, 257, + gMonFrontPic_DoubleQuestionMark, 0x800, 258, + gMonFrontPic_DoubleQuestionMark, 0x800, 259, + gMonFrontPic_DoubleQuestionMark, 0x800, 260, + gMonFrontPic_DoubleQuestionMark, 0x800, 261, + gMonFrontPic_DoubleQuestionMark, 0x800, 262, + gMonFrontPic_DoubleQuestionMark, 0x800, 263, + gMonFrontPic_DoubleQuestionMark, 0x800, 264, + gMonFrontPic_DoubleQuestionMark, 0x800, 265, + gMonFrontPic_DoubleQuestionMark, 0x800, 266, + gMonFrontPic_DoubleQuestionMark, 0x800, 267, + gMonFrontPic_DoubleQuestionMark, 0x800, 268, + gMonFrontPic_DoubleQuestionMark, 0x800, 269, + gMonFrontPic_DoubleQuestionMark, 0x800, 270, + gMonFrontPic_DoubleQuestionMark, 0x800, 271, + gMonFrontPic_DoubleQuestionMark, 0x800, 272, + gMonFrontPic_DoubleQuestionMark, 0x800, 273, + gMonFrontPic_DoubleQuestionMark, 0x800, 274, + gMonFrontPic_DoubleQuestionMark, 0x800, 275, + gMonFrontPic_DoubleQuestionMark, 0x800, 276, +// Gen III + gMonFrontPic_Treecko, 0x800, 277, + gMonFrontPic_Grovyle, 0x800, 278, + gMonFrontPic_Sceptile, 0x800, 279, + gMonFrontPic_Torchic, 0x800, 280, + gMonFrontPic_Combusken, 0x800, 281, + gMonFrontPic_Blaziken, 0x800, 282, + gMonFrontPic_Mudkip, 0x800, 283, + gMonFrontPic_Marshtomp, 0x800, 284, + gMonFrontPic_Swampert, 0x800, 285, + gMonFrontPic_Poochyena, 0x800, 286, + gMonFrontPic_Mightyena, 0x800, 287, + gMonFrontPic_Zigzagoon, 0x800, 288, + gMonFrontPic_Linoone, 0x800, 289, + gMonFrontPic_Wurmple, 0x800, 290, + gMonFrontPic_Silcoon, 0x800, 291, + gMonFrontPic_Beautifly, 0x800, 292, + gMonFrontPic_Cascoon, 0x800, 293, + gMonFrontPic_Dustox, 0x800, 294, + gMonFrontPic_Lotad, 0x800, 295, + gMonFrontPic_Lombre, 0x800, 296, + gMonFrontPic_Ludicolo, 0x800, 297, + gMonFrontPic_Seedot, 0x800, 298, + gMonFrontPic_Nuzleaf, 0x800, 299, + gMonFrontPic_Shiftry, 0x800, 300, + gMonFrontPic_Nincada, 0x800, 301, + gMonFrontPic_Ninjask, 0x800, 302, + gMonFrontPic_Shedinja, 0x800, 303, + gMonFrontPic_Taillow, 0x800, 304, + gMonFrontPic_Swellow, 0x800, 305, + gMonFrontPic_Shroomish, 0x800, 306, + gMonFrontPic_Breloom, 0x800, 307, + gMonFrontPic_Spinda, 0x800, 308, + gMonFrontPic_Wingull, 0x800, 309, + gMonFrontPic_Pelipper, 0x800, 310, + gMonFrontPic_Surskit, 0x800, 311, + gMonFrontPic_Masquerain, 0x800, 312, + gMonFrontPic_Wailmer, 0x800, 313, + gMonFrontPic_Wailord, 0x800, 314, + gMonFrontPic_Skitty, 0x800, 315, + gMonFrontPic_Delcatty, 0x800, 316, + gMonFrontPic_Kecleon, 0x800, 317, + gMonFrontPic_Baltoy, 0x800, 318, + gMonFrontPic_Claydol, 0x800, 319, + gMonFrontPic_Nosepass, 0x800, 320, + gMonFrontPic_Torkoal, 0x800, 321, + gMonFrontPic_Sableye, 0x800, 322, + gMonFrontPic_Barboach, 0x800, 323, + gMonFrontPic_Whiscash, 0x800, 324, + gMonFrontPic_Luvdisc, 0x800, 325, + gMonFrontPic_Corphish, 0x800, 326, + gMonFrontPic_Crawdaunt, 0x800, 327, + gMonFrontPic_Feebas, 0x800, 328, + gMonFrontPic_Milotic, 0x800, 329, + gMonFrontPic_Carvanha, 0x800, 330, + gMonFrontPic_Sharpedo, 0x800, 331, + gMonFrontPic_Trapinch, 0x800, 332, + gMonFrontPic_Vibrava, 0x800, 333, + gMonFrontPic_Flygon, 0x800, 334, + gMonFrontPic_Makuhita, 0x800, 335, + gMonFrontPic_Hariyama, 0x800, 336, + gMonFrontPic_Electrike, 0x800, 337, + gMonFrontPic_Manectric, 0x800, 338, + gMonFrontPic_Numel, 0x800, 339, + gMonFrontPic_Camerupt, 0x800, 340, + gMonFrontPic_Spheal, 0x800, 341, + gMonFrontPic_Sealeo, 0x800, 342, + gMonFrontPic_Walrein, 0x800, 343, + gMonFrontPic_Cacnea, 0x800, 344, + gMonFrontPic_Cacturne, 0x800, 345, + gMonFrontPic_Snorunt, 0x800, 346, + gMonFrontPic_Glalie, 0x800, 347, + gMonFrontPic_Lunatone, 0x800, 348, + gMonFrontPic_Solrock, 0x800, 349, + gMonFrontPic_Azurill, 0x800, 350, + gMonFrontPic_Spoink, 0x800, 351, + gMonFrontPic_Grumpig, 0x800, 352, + gMonFrontPic_Plusle, 0x800, 353, + gMonFrontPic_Minun, 0x800, 354, + gMonFrontPic_Mawile, 0x800, 355, + gMonFrontPic_Meditite, 0x800, 356, + gMonFrontPic_Medicham, 0x800, 357, + gMonFrontPic_Swablu, 0x800, 358, + gMonFrontPic_Altaria, 0x800, 359, + gMonFrontPic_Wynaut, 0x800, 360, + gMonFrontPic_Duskull, 0x800, 361, + gMonFrontPic_Dusclops, 0x800, 362, + gMonFrontPic_Roselia, 0x800, 363, + gMonFrontPic_Slakoth, 0x800, 364, + gMonFrontPic_Vigoroth, 0x800, 365, + gMonFrontPic_Slaking, 0x800, 366, + gMonFrontPic_Gulpin, 0x800, 367, + gMonFrontPic_Swalot, 0x800, 368, + gMonFrontPic_Tropius, 0x800, 369, + gMonFrontPic_Whismur, 0x800, 370, + gMonFrontPic_Loudred, 0x800, 371, + gMonFrontPic_Exploud, 0x800, 372, + gMonFrontPic_Clamperl, 0x800, 373, + gMonFrontPic_Huntail, 0x800, 374, + gMonFrontPic_Gorebyss, 0x800, 375, + gMonFrontPic_Absol, 0x800, 376, + gMonFrontPic_Shuppet, 0x800, 377, + gMonFrontPic_Banette, 0x800, 378, + gMonFrontPic_Seviper, 0x800, 379, + gMonFrontPic_Zangoose, 0x800, 380, + gMonFrontPic_Relicanth, 0x800, 381, + gMonFrontPic_Aron, 0x800, 382, + gMonFrontPic_Lairon, 0x800, 383, + gMonFrontPic_Aggron, 0x800, 384, + gMonFrontPic_Castform, 0x800, 385, + gMonFrontPic_Volbeat, 0x800, 386, + gMonFrontPic_Illumise, 0x800, 387, + gMonFrontPic_Lileep, 0x800, 388, + gMonFrontPic_Cradily, 0x800, 389, + gMonFrontPic_Anorith, 0x800, 390, + gMonFrontPic_Armaldo, 0x800, 391, + gMonFrontPic_Ralts, 0x800, 392, + gMonFrontPic_Kirlia, 0x800, 393, + gMonFrontPic_Gardevoir, 0x800, 394, + gMonFrontPic_Bagon, 0x800, 395, + gMonFrontPic_Shelgon, 0x800, 396, + gMonFrontPic_Salamence, 0x800, 397, + gMonFrontPic_Beldum, 0x800, 398, + gMonFrontPic_Metang, 0x800, 399, + gMonFrontPic_Metagross, 0x800, 400, + gMonFrontPic_Regirock, 0x800, 401, + gMonFrontPic_Regice, 0x800, 402, + gMonFrontPic_Registeel, 0x800, 403, + gMonFrontPic_Kyogre, 0x800, 404, + gMonFrontPic_Groudon, 0x800, 405, + gMonFrontPic_Rayquaza, 0x800, 406, + gMonFrontPic_Latias, 0x800, 407, + gMonFrontPic_Latios, 0x800, 408, + gMonFrontPic_Jirachi, 0x800, 409, + gMonFrontPic_Deoxys, 0x800, 410, + gMonFrontPic_Chimecho, 0x800, 411, + gMonFrontPic_Egg, 0x800, 412, + gMonFrontPic_UnownB, 0x800, 413, + gMonFrontPic_UnownC, 0x800, 414, + gMonFrontPic_UnownD, 0x800, 415, + gMonFrontPic_UnownE, 0x800, 416, + gMonFrontPic_UnownF, 0x800, 417, + gMonFrontPic_UnownG, 0x800, 418, + gMonFrontPic_UnownH, 0x800, 419, + gMonFrontPic_UnownI, 0x800, 420, + gMonFrontPic_UnownJ, 0x800, 421, + gMonFrontPic_UnownK, 0x800, 422, + gMonFrontPic_UnownL, 0x800, 423, + gMonFrontPic_UnownM, 0x800, 424, + gMonFrontPic_UnownN, 0x800, 425, + gMonFrontPic_UnownO, 0x800, 426, + gMonFrontPic_UnownP, 0x800, 427, + gMonFrontPic_UnownQ, 0x800, 428, + gMonFrontPic_UnownR, 0x800, 429, + gMonFrontPic_UnownS, 0x800, 430, + gMonFrontPic_UnownT, 0x800, 431, + gMonFrontPic_UnownU, 0x800, 432, + gMonFrontPic_UnownV, 0x800, 433, + gMonFrontPic_UnownW, 0x800, 434, + gMonFrontPic_UnownX, 0x800, 435, + gMonFrontPic_UnownY, 0x800, 436, + gMonFrontPic_UnownZ, 0x800, 437, + gMonFrontPic_UnownExclamationMark, 0x800, 438, + gMonFrontPic_UnownQuestionMark, 0x800, 439, +}; diff --git a/include/data/trainer_graphics/back_pic_tables.h b/include/data/trainer_graphics/back_pic_tables.h new file mode 100644 index 0000000000..ba7f73ebb6 --- /dev/null +++ b/include/data/trainer_graphics/back_pic_tables.h @@ -0,0 +1,35 @@ +const u8 gTrainerBackPicCoords[] = +{ + 8, 4, 0, 0, + 8, 4, 0, 0, + 8, 5, 0, 0, + 8, 5, 0, 0, + 8, 4, 0, 0, + 8, 4, 0, 0, + 8, 4, 0, 0, + 8, 4, 0, 0, +}; + +const struct CompressedSpriteSheet gTrainerBackPicTable[] = +{ + gTrainerBackPic_Brendan, 0x2000, 0, + gTrainerBackPic_May, 0x2000, 1, + gTrainerBackPic_Red, 0x2800, 2, + gTrainerBackPic_Leaf, 0x2800, 3, + gTrainerBackPic_RubySapphireBrendan, 0x2000, 4, + gTrainerBackPic_RubySapphireMay, 0x2000, 5, + gTrainerBackPic_Wally, 0x2000, 6, + gTrainerBackPic_Steven, 0x2000, 7, +}; + +const struct CompressedSpritePalette gTrainerBackPicPaletteTable[] = +{ + gTrainerPalette_Brendan, 0, + gTrainerPalette_May, 1, + gTrainerBackPicPalette_Red, 2, + gTrainerBackPicPalette_Leaf, 3, + gTrainerPalette_RubySapphireBrendan, 4, + gTrainerPalette_RubySapphireMay, 5, + gTrainerPalette_Wally, 6, + gTrainerPalette_Steven, 7, +}; diff --git a/include/data/trainer_graphics/front_pic_tables.h b/include/data/trainer_graphics/front_pic_tables.h new file mode 100644 index 0000000000..feb05f3f36 --- /dev/null +++ b/include/data/trainer_graphics/front_pic_tables.h @@ -0,0 +1,290 @@ +const u8 gTrainerFrontPicCoords[] = +{ + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 2, 0, 0, + 8, 2, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 2, 0, 0, + 8, 1, 0, 0, + 8, 2, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 2, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 2, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, +}; + +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_WinstrateM, 0x1000, 51, + gTrainerFrontPic_WinstrateF, 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, +}; + +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_WinstrateM, 51, + gTrainerPalette_WinstrateF, 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, +} diff --git a/include/graphics.h b/include/graphics.h index a5acca6253..1f2522ef98 100644 --- a/include/graphics.h +++ b/include/graphics.h @@ -2437,10 +2437,214 @@ extern const u8 gMonFrontPic_UnownQuestionMark[]; extern const u8 gMonBackPic_UnownQuestionMark[]; extern const u8 gMonIcon_UnownQuestionMark[]; +extern const u8 gMonFrontPic_CircledQuestionMark[]; extern const u8 gMonIcon_QuestionMark[]; +extern const u8 gMonFrontPic_DoubleQuestionMark[]; +extern const u8 gMonFrontPic_Egg[]; extern const u8 gMonIcon_Egg[]; extern const u16 gMonIconPalettes[][16]; +// trainer sprites +extern const u8 gTrainerFrontPic_Hiker[]; +extern const u8 gTrainerFrontPic_AquaGruntM[]; +extern const u8 gTrainerFrontPic_PokemonBreederF[]; +extern const u8 gTrainerFrontPic_CoolTrainerM[]; +extern const u8 gTrainerFrontPic_BirdKeeper[]; +extern const u8 gTrainerFrontPic_Collector[]; +extern const u8 gTrainerFrontPic_AquaGruntF[]; +extern const u8 gTrainerFrontPic_SwimmerM[]; +extern const u8 gTrainerFrontPic_MagmaGruntM[]; +extern const u8 gTrainerFrontPic_ExpertM[]; +extern const u8 gTrainerFrontPic_AquaAdminM[]; +extern const u8 gTrainerFrontPic_BlackBelt[]; +extern const u8 gTrainerFrontPic_AquaAdminF[]; +extern const u8 gTrainerFrontPic_AquaLeaderArchie[]; +extern const u8 gTrainerFrontPic_HexManiac[]; +extern const u8 gTrainerFrontPic_AromaLady[]; +extern const u8 gTrainerFrontPic_RuinManiac[]; +extern const u8 gTrainerFrontPic_Interviewer[]; +extern const u8 gTrainerFrontPic_TuberF[]; +extern const u8 gTrainerFrontPic_TuberM[]; +extern const u8 gTrainerFrontPic_CoolTrainerF[]; +extern const u8 gTrainerFrontPic_Lady[]; +extern const u8 gTrainerFrontPic_Beauty[]; +extern const u8 gTrainerFrontPic_RichBoy[]; +extern const u8 gTrainerFrontPic_ExpertF[]; +extern const u8 gTrainerFrontPic_Pokemaniac[]; +extern const u8 gTrainerFrontPic_MagmaGruntF[]; +extern const u8 gTrainerFrontPic_Guitarist[]; +extern const u8 gTrainerFrontPic_Kindler[]; +extern const u8 gTrainerFrontPic_Camper[]; +extern const u8 gTrainerFrontPic_Picnicker[]; +extern const u8 gTrainerFrontPic_BugManiac[]; +extern const u8 gTrainerFrontPic_PokemonBreederM[]; +extern const u8 gTrainerFrontPic_PsychicM[]; +extern const u8 gTrainerFrontPic_PsychicF[]; +extern const u8 gTrainerFrontPic_Gentleman[]; +extern const u8 gTrainerFrontPic_EliteFourSidney[]; +extern const u8 gTrainerFrontPic_EliteFourPhoebe[]; +extern const u8 gTrainerFrontPic_EliteFourGlacia[]; +extern const u8 gTrainerFrontPic_EliteFourDrake[]; +extern const u8 gTrainerFrontPic_LeaderRoxanne[]; +extern const u8 gTrainerFrontPic_LeaderBrawly[]; +extern const u8 gTrainerFrontPic_LeaderWattson[]; +extern const u8 gTrainerFrontPic_LeaderFlannery[]; +extern const u8 gTrainerFrontPic_LeaderNorman[]; +extern const u8 gTrainerFrontPic_LeaderWinona[]; +extern const u8 gTrainerFrontPic_LeaderTateAndLiza[]; +extern const u8 gTrainerFrontPic_LeaderJuan[]; +extern const u8 gTrainerFrontPic_SchoolKidM[]; +extern const u8 gTrainerFrontPic_SchoolKidF[]; +extern const u8 gTrainerFrontPic_SrAndJr[]; +extern const u8 gTrainerFrontPic_WinstrateM[]; +extern const u8 gTrainerFrontPic_WinstrateF[]; +extern const u8 gTrainerFrontPic_Youngster[]; +extern const u8 gTrainerFrontPic_ChampionWallace[]; +extern const u8 gTrainerFrontPic_Fisherman[]; +extern const u8 gTrainerFrontPic_CyclingTriathleteM[]; +extern const u8 gTrainerFrontPic_CyclingTriathleteF[]; +extern const u8 gTrainerFrontPic_RunningTriathleteM[]; +extern const u8 gTrainerFrontPic_RunningTriathleteF[]; +extern const u8 gTrainerFrontPic_SwimmingTriathleteM[]; +extern const u8 gTrainerFrontPic_SwimmingTriathleteF[]; +extern const u8 gTrainerFrontPic_DragonTamer[]; +extern const u8 gTrainerFrontPic_NinjaBoy[]; +extern const u8 gTrainerFrontPic_BattleGirl[]; +extern const u8 gTrainerFrontPic_ParasolLady[]; +extern const u8 gTrainerFrontPic_SwimmerF[]; +extern const u8 gTrainerFrontPic_Twins[]; +extern const u8 gTrainerFrontPic_Sailor[]; +extern const u8 gTrainerFrontPic_MagmaAdmin[]; +extern const u8 gTrainerFrontPic_Wally[]; +extern const u8 gTrainerFrontPic_Brendan[]; +extern const u8 gTrainerFrontPic_May[]; +extern const u8 gTrainerFrontPic_BugCatcher[]; +extern const u8 gTrainerFrontPic_PokemonRangerM[]; +extern const u8 gTrainerFrontPic_PokemonRangerF[]; +extern const u8 gTrainerFrontPic_MagmaLeaderMaxie[]; +extern const u8 gTrainerFrontPic_Lass[]; +extern const u8 gTrainerFrontPic_YoungCouple[]; +extern const u8 gTrainerFrontPic_OldCouple[]; +extern const u8 gTrainerFrontPic_SisAndBro[]; +extern const u8 gTrainerFrontPic_Steven[]; +extern const u8 gTrainerFrontPic_SalonMaidenAnabel[]; +extern const u8 gTrainerFrontPic_DomeAceTucker[]; +extern const u8 gTrainerFrontPic_PalaceMavenSpenser[]; +extern const u8 gTrainerFrontPic_ArenaTycoonGreta[]; +extern const u8 gTrainerFrontPic_FactoryHeadNoland[]; +extern const u8 gTrainerFrontPic_PikeQueenLucy[]; +extern const u8 gTrainerFrontPic_PyramidKingBrandon[]; +extern const u8 gTrainerFrontPic_Red[]; +extern const u8 gTrainerFrontPic_Leaf[]; +extern const u8 gTrainerFrontPic_RubySapphireBrendan[]; +extern const u8 gTrainerFrontPic_RubySapphireMay[]; + +extern const u8 gTrainerPalette_Hiker[]; +extern const u8 gTrainerPalette_AquaGruntM[]; +extern const u8 gTrainerPalette_PokemonBreederF[]; +extern const u8 gTrainerPalette_CoolTrainerM[]; +extern const u8 gTrainerPalette_BirdKeeper[]; +extern const u8 gTrainerPalette_Collector[]; +extern const u8 gTrainerPalette_AquaGruntF[]; +extern const u8 gTrainerPalette_SwimmerM[]; +extern const u8 gTrainerPalette_MagmaGruntM[]; +extern const u8 gTrainerPalette_ExpertM[]; +extern const u8 gTrainerPalette_AquaAdminM[]; +extern const u8 gTrainerPalette_BlackBelt[]; +extern const u8 gTrainerPalette_AquaAdminF[]; +extern const u8 gTrainerPalette_AquaLeaderArchie[]; +extern const u8 gTrainerPalette_HexManiac[]; +extern const u8 gTrainerPalette_AromaLady[]; +extern const u8 gTrainerPalette_RuinManiac[]; +extern const u8 gTrainerPalette_Interviewer[]; +extern const u8 gTrainerPalette_TuberF[]; +extern const u8 gTrainerPalette_TuberM[]; +extern const u8 gTrainerPalette_CoolTrainerF[]; +extern const u8 gTrainerPalette_Lady[]; +extern const u8 gTrainerPalette_Beauty[]; +extern const u8 gTrainerPalette_RichBoy[]; +extern const u8 gTrainerPalette_ExpertF[]; +extern const u8 gTrainerPalette_Pokemaniac[]; +extern const u8 gTrainerPalette_MagmaGruntF[]; +extern const u8 gTrainerPalette_Guitarist[]; +extern const u8 gTrainerPalette_Kindler[]; +extern const u8 gTrainerPalette_Camper[]; +extern const u8 gTrainerPalette_Picnicker[]; +extern const u8 gTrainerPalette_BugManiac[]; +extern const u8 gTrainerPalette_PokemonBreederM[]; +extern const u8 gTrainerPalette_PsychicM[]; +extern const u8 gTrainerPalette_PsychicF[]; +extern const u8 gTrainerPalette_Gentleman[]; +extern const u8 gTrainerPalette_EliteFourSidney[]; +extern const u8 gTrainerPalette_EliteFourPhoebe[]; +extern const u8 gTrainerPalette_EliteFourGlacia[]; +extern const u8 gTrainerPalette_EliteFourDrake[]; +extern const u8 gTrainerPalette_LeaderRoxanne[]; +extern const u8 gTrainerPalette_LeaderBrawly[]; +extern const u8 gTrainerPalette_LeaderWattson[]; +extern const u8 gTrainerPalette_LeaderFlannery[]; +extern const u8 gTrainerPalette_LeaderNorman[]; +extern const u8 gTrainerPalette_LeaderWinona[]; +extern const u8 gTrainerPalette_LeaderTateAndLiza[]; +extern const u8 gTrainerPalette_LeaderJuan[]; +extern const u8 gTrainerPalette_SchoolKidM[]; +extern const u8 gTrainerPalette_SchoolKidF[]; +extern const u8 gTrainerPalette_SrAndJr[]; +extern const u8 gTrainerPalette_WinstrateM[]; +extern const u8 gTrainerPalette_WinstrateF[]; +extern const u8 gTrainerPalette_Youngster[]; +extern const u8 gTrainerPalette_ChampionWallace[]; +extern const u8 gTrainerPalette_Fisherman[]; +extern const u8 gTrainerPalette_CyclingTriathleteM[]; +extern const u8 gTrainerPalette_CyclingTriathleteF[]; +extern const u8 gTrainerPalette_RunningTriathleteM[]; +extern const u8 gTrainerPalette_RunningTriathleteF[]; +extern const u8 gTrainerPalette_SwimmingTriathleteM[]; +extern const u8 gTrainerPalette_SwimmingTriathleteF[]; +extern const u8 gTrainerPalette_DragonTamer[]; +extern const u8 gTrainerPalette_NinjaBoy[]; +extern const u8 gTrainerPalette_BattleGirl[]; +extern const u8 gTrainerPalette_ParasolLady[]; +extern const u8 gTrainerPalette_SwimmerF[]; +extern const u8 gTrainerPalette_Twins[]; +extern const u8 gTrainerPalette_Sailor[]; +extern const u8 gTrainerPalette_MagmaAdmin[]; +extern const u8 gTrainerPalette_Wally[]; +extern const u8 gTrainerPalette_Brendan[]; +extern const u8 gTrainerPalette_May[]; +extern const u8 gTrainerPalette_BugCatcher[]; +extern const u8 gTrainerPalette_PokemonRangerM[]; +extern const u8 gTrainerPalette_PokemonRangerF[]; +extern const u8 gTrainerPalette_MagmaLeaderMaxie[]; +extern const u8 gTrainerPalette_Lass[]; +extern const u8 gTrainerPalette_YoungCouple[]; +extern const u8 gTrainerPalette_OldCouple[]; +extern const u8 gTrainerPalette_SisAndBro[]; +extern const u8 gTrainerPalette_Steven[]; +extern const u8 gTrainerPalette_SalonMaidenAnabel[]; +extern const u8 gTrainerPalette_DomeAceTucker[]; +extern const u8 gTrainerPalette_PalaceMavenSpenser[]; +extern const u8 gTrainerPalette_ArenaTycoonGreta[]; +extern const u8 gTrainerPalette_FactoryHeadNoland[]; +extern const u8 gTrainerPalette_PikeQueenLucy[]; +extern const u8 gTrainerPalette_PyramidKingBrandon[]; +extern const u8 gTrainerPalette_Red[]; +extern const u8 gTrainerPalette_Leaf[]; +extern const u8 gTrainerPalette_RubySapphireBrendan[]; +extern const u8 gTrainerPalette_RubySapphireMay[]; + +extern const u8 gTrainerBackPic_Brendan[]; +extern const u8 gTrainerBackPic_May[]; +extern const u8 gTrainerBackPic_Red[]; +extern const u8 gTrainerBackPic_Leaf[]; +extern const u8 gTrainerBackPic_RubySapphireBrendan[]; +extern const u8 gTrainerBackPic_RubySapphireMay[]; +extern const u8 gTrainerBackPic_Wally[]; +extern const u8 gTrainerBackPic_Steven[]; + +extern const u8 gTrainerBackPicPalette_Red[]; +extern const u8 gTrainerBackPicPalette_Leaf[]; + // pokeblock extern const u8 gMenuPokeblock_Gfx[]; extern const u8 gMenuPokeblock_Pal[]; diff --git a/ld_script.txt b/ld_script.txt index 62074be92b..a4ef0bb17d 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -379,6 +379,7 @@ SECTIONS { src/main_menu.o(.rodata); src/rom_8034C54.o(.rodata); data/data2b.o(.rodata); + src/data2b.o(.rodata); src/battle_data.o(.rodata); data/data2c.o(.rodata); src/battle_main.o(.rodata); diff --git a/src/data2b.c b/src/data2b.c new file mode 100644 index 0000000000..8a78a9d904 --- /dev/null +++ b/src/data2b.c @@ -0,0 +1,127 @@ +#include "global.h" +#include "graphics.h" + +extern const union AnimCmd gAnimCmd_General_Frame0[]; +extern const union AnimCmd AnimCmd_82FF540[]; + +//#include "data/trainer_graphics/front_pic_tables.h" + +#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_table.h" + +const u32 gUnknown830AF4C[] = // Potentially part of battle_data.c +{ + 0x00000888, 0x00000888, 0x00000888, 0x00000888, + 0x00000088, 0x00000888, 0x00000888, 0x00000886, + 0x00000888, 0x00000886, 0x00000888, 0x00000888, + 0x00000888, 0x00000888, 0x00000888, 0x00000888, + 0x00000886, 0x00000888, 0x00000888, 0x00000888, + 0x00000888, 0x00000888, 0x00000886, 0x00000886, + 0x00000888, 0x00000088, 0x00000088, 0x00000088, + 0x00000088, 0x00000888, 0x00000886, 0x00000888, + 0x00000888, 0x00000888, 0x00000886, 0x00000886, + 0x00000888, 0x00000088, 0x00000088, 0x00000088, + 0x00000088, 0x00000886, 0x00000886, 0x00000088, + 0x00000886, 0x00000886, 0x00000888, 0x00000888, + 0x00000888, 0x00000888, 0x00000888, 0x00000888, + 0x00000886, 0x00000888, 0x00000088, 0x00000088, + 0x00000888, 0x00000888, 0x00000888, 0x00000886, + 0x00000888, 0x00000888, 0x00000888, 0x00000886, + 0x00000886, 0x00000886, 0x00000886, 0x00000886, + 0x00000886, 0x00000886, 0x00000888, 0x00000888, + 0x00000886, 0x00000886, 0x00000886, 0x00000886, + 0x00000886, 0x00000888, 0x00000888, 0x00000888, + 0x00000888, 0x00000886, 0x00000886, 0x00000888, + 0x00000886, 0x00000886, 0x00000888, 0x00000888, + 0x00000088, 0x00000088, 0x00000888, 0x00000888, + 0x00000888, 0x00000888, 0x00000888, 0x00000888, + 0x00000888, 0x00000888, 0x00000888, 0x00000888, + 0x00000886, 0x00000886, 0x00000888, 0x00000888, + 0x00000888, 0x00000888, 0x00000088, 0x00000886, + 0x00000888, 0x00000088, 0x00000088, 0x00000088, + 0x00000088, 0x00000888, 0x00000886, 0x00000888, + 0x00000088, 0x00000088, 0x00000886, 0x00000886, + 0x00000088, 0x00000088, 0x00000888, 0x00000886, + 0x00000886, 0x00000888, 0x00000888, 0x00000088, + 0x00000888, 0x00000886, 0x00000886, 0x00000888, + 0x00000886, 0x00000888, 0x00000888, 0x00000886, + 0x00000888, 0x00000888, 0x00000888, 0x00000888, + 0x00000888, 0x00000888, 0x00000888, 0x00000888, + 0x00000888, 0x00000888, 0x00000888, 0x00000888, + 0x00000888, 0x00000888, 0x00000088, 0x00000888, + 0x00000888, 0x00000888, 0x00000888, 0x00000888, + 0x00000088, 0x00000888, 0x00000888, 0x00000886, + 0x00000886, 0x00000888, 0x00000888, 0x00000888, + 0x00000888, 0x00000888, 0x00000888, 0x00000886, + 0x00000888, 0x00000886, 0x00000088, 0x00000088, + 0x00000088, 0x00000888, 0x00000088, 0x00000888, + 0x00000888, 0x00000088, 0x00000088, 0x00000888, + 0x00000886, 0x00000888, 0x00000886, 0x00000886, + 0x00000886, 0x00000888, 0x00000888, 0x00000888, + 0x00000088, 0x00000888, 0x00000888, 0x00000888, + 0x00000088, 0x00000888, 0x00000888, 0x00000888, + 0x00000888, 0x00000888, 0x00000888, 0x00000888, + 0x00000888, 0x00000888, 0x00000088, 0x00000088, + 0x00000886, 0x00000888, 0x00000888, 0x00000888, + 0x00000888, 0x00000888, 0x00000888, 0x00000888, + 0x00000888, 0x00000888, 0x00000088, 0x00000888, + 0x00000886, 0x00000888, 0x00000088, 0x00000088, + 0x00000888, 0x00000888, 0x00000088, 0x00000888, + 0x00000888, 0x00000888, 0x00000888, 0x00000088, + 0x00000888, 0x00000888, 0x00000088, 0x00000088, + 0x00000088, 0x00000888, 0x00000088, 0x00000888, + 0x00000888, 0x00000888, 0x00000888, 0x00000888, + 0x00000888, 0x00000888, 0x00000888, 0x00000888, + 0x00000888, 0x00000888, 0x00000888, 0x00000888, + 0x00000888, 0x00000886, 0x00000888, 0x00000888, + 0x00000888, 0x00000888, 0x00000888, 0x00000888, + 0x00000888, 0x00000888, 0x00000888, 0x00000888, + 0x00000888, 0x00000888, 0x00000888, 0x00000888, + 0x00000888, 0x00000888, 0x00000888, 0x00000888, + 0x00000888, 0x00000888, 0x00000888, 0x00000888, + 0x00000888, 0x00000888, 0x00000888, 0x00000888, + 0x00000888, 0x00000886, 0x00000886, 0x00000886, + 0x00000088, 0x00000088, 0x00000088, 0x00000886, + 0x00000088, 0x00000886, 0x00000886, 0x00000886, + 0x00000088, 0x00000886, 0x00000088, 0x00000088, + 0x00000088, 0x00000088, 0x00000088, 0x00000886, + 0x00000886, 0x00000886, 0x00000888, 0x00000888, + 0x00000886, 0x00000886, 0x00000886, 0x00000886, + 0x00000088, 0x00000088, 0x00000886, 0x00000886, + 0x00001882, 0x00000088, 0x00000088, 0x00000088, + 0x00000088, 0x00000886, 0x00000886, 0x00000886, + 0x00000088, 0x00000088, 0x00000088, 0x00000088, + 0x00000886, 0x00000088, 0x00000886, 0x00000088, + 0x00000088, 0x00000088, 0x00000088, 0x00000088, + 0x00000088, 0x00000088, 0x00000886, 0x00000886, + 0x00000088, 0x00000088, 0x00000088, 0x00000886, + 0x00000886, 0x00000088, 0x00000088, 0x00000088, + 0x00000088, 0x00000088, 0x00000088, 0x00000088, + 0x00000088, 0x00000088, 0x00000088, 0x00000088, + 0x00000088, 0x00000088, 0x00000886, 0x00000088, + 0x00000088, 0x00000886, 0x00000886, 0x00000886, + 0x00000886, 0x00000886, 0x00000088, 0x00000088, + 0x00000088, 0x00000088, 0x00000088, 0x00000886, + 0x00000886, 0x00000886, 0x00000886, 0x00000088, + 0x00000886, 0x00000088, 0x00000886, 0x00000886, + 0x00000886, 0x00000088, 0x00000088, 0x00000088, + 0x00000088, 0x00000088, 0x00000088, 0x00000088, + 0x00000088, 0x00000088, 0x00000886, 0x00000886, + 0x00000886, 0x00000888, 0x00000886, 0x00000886, + 0x00000088, 0x00000088, 0x00000088, 0x00000088, + 0x00000886, 0x00000886, 0x00000088, 0x00000088, + 0x00000088, 0x00000088, 0x00000088, 0x00000088, + 0x00000088, 0x00000088, 0x00000088, 0x00000088, + 0x00000088, 0x00000088, 0x00000088, 0x00000088, + 0x00000088, 0x00000088, 0x00000088, 0x00000088, + 0x00000088, 0x00000888, 0x00000888, 0x00000888, + 0x00000888, 0x00000888, 0x00000888, 0x00000888, + 0x00000888, 0x00000888, 0x00000888, 0x00000888, + 0x00000888, 0x00000888, 0x00000888, 0x00000888, + 0x00000888, 0x00000888, 0x00000888, 0x00000888, + 0x00000888, 0x00000888, 0x00000888, 0x00000888, + 0x00000888, 0x00000888, 0x00000888, 0x00000888, +}; From 4db5ef3ae64896f27ccb91536d7d426541fbcd5a Mon Sep 17 00:00:00 2001 From: Slawter666 <38655737+Slawter666@users.noreply.github.com> Date: Wed, 22 Aug 2018 21:41:34 +0100 Subject: [PATCH 123/234] Convert more data --- data/data2b.s | 50 -------------- .../data/trainer_graphics/back_pic_anims.h | 67 +++++++++++++++++++ src/data2b.c | 2 +- 3 files changed, 68 insertions(+), 51 deletions(-) create mode 100644 include/data/trainer_graphics/back_pic_anims.h diff --git a/data/data2b.s b/data/data2b.s index 31020a852c..c135bc4391 100644 --- a/data/data2b.s +++ b/data/data2b.s @@ -4449,53 +4449,3 @@ gUnknown_08305CB4:: @ 8305CB4 .2byte 0x0000, 0x0018, 0x0001, 0x0009, 0x0002, 0x0018, 0x0000, 0x0009 .2byte 0x0003, 0x0032, 0xffff, 0x0000 - .align 2 -gUnknown_08305CCC:: @ 8305CCC - .4byte AnimCmd_82FF540 - .4byte gUnknown_08305C24 - - .align 2 -gUnknown_08305CD4:: @ 8305CD4 - .4byte AnimCmd_82FF540 - .4byte gUnknown_08305C3C - - .align 2 -gUnknown_08305CDC:: @ 8305CDC - .4byte gAnimCmd_General_Frame0 - .4byte gUnknown_08305C6C - - .align 2 -gUnknown_08305CE4:: @ 8305CE4 - .4byte gAnimCmd_General_Frame0 - .4byte gUnknown_08305C84 - - .align 2 -gUnknown_08305CEC:: @ 8305CEC - .4byte AnimCmd_82FF540 - .4byte gUnknown_08305C9C - - .align 2 -gUnknown_08305CF4:: @ 8305CF4 - .4byte AnimCmd_82FF540 - .4byte gUnknown_08305CB4 - - .align 2 -gUnknown_08305CFC:: @ 8305CFC - .4byte AnimCmd_82FF540 - .4byte gUnknown_08305C54 - - .align 2 -gUnknown_08305D04:: @ 8305D04 - .4byte AnimCmd_82FF540 - .4byte gUnknown_08305C3C - - .align 2 -gUnknown_08305D0C:: @ 8305D0C - .4byte gUnknown_08305CCC - .4byte gUnknown_08305CD4 - .4byte gUnknown_08305CDC - .4byte gUnknown_08305CE4 - .4byte gUnknown_08305CEC - .4byte gUnknown_08305CF4 - .4byte gUnknown_08305CFC - .4byte gUnknown_08305D04 diff --git a/include/data/trainer_graphics/back_pic_anims.h b/include/data/trainer_graphics/back_pic_anims.h new file mode 100644 index 0000000000..67078401e0 --- /dev/null +++ b/include/data/trainer_graphics/back_pic_anims.h @@ -0,0 +1,67 @@ +extern const union AnimCmd gUnknown_08305C24[]; +extern const union AnimCmd gUnknown_08305C3C[]; +extern const union AnimCmd gUnknown_08305C6C[]; +extern const union AnimCmd gUnknown_08305C84[]; +extern const union AnimCmd gUnknown_08305C9C[]; +extern const union AnimCmd gUnknown_08305CB4[]; +extern const union AnimCmd gUnknown_08305C54[]; + +const union AnimCmd *const gUnknown_08305CCC[] = +{ + AnimCmd_82FF540, + gUnknown_08305C24, +}; + +const union AnimCmd *const gUnknown_08305CD4[] = +{ + AnimCmd_82FF540, + gUnknown_08305C3C, +}; + +const union AnimCmd *const gUnknown_08305CDC[] = +{ + gAnimCmd_General_Frame0, + gUnknown_08305C6C, +}; + +const union AnimCmd *const gUnknown_08305CE4[] = +{ + gAnimCmd_General_Frame0, + gUnknown_08305C84, +}; + +const union AnimCmd *const gUnknown_08305CEC[] = +{ + AnimCmd_82FF540, + gUnknown_08305C9C, +}; + +const union AnimCmd *const gUnknown_08305CF4[] = +{ + AnimCmd_82FF540, + gUnknown_08305CB4, +}; + +const union AnimCmd *const gUnknown_08305CFC[] = +{ + AnimCmd_82FF540, + gUnknown_08305C54, +}; + +const union AnimCmd *const gUnknown_08305D04[] = +{ + AnimCmd_82FF540, + gUnknown_08305C3C, +}; + +const union AnimCmd *const *const gUnknown_08305D0C[] = +{ + gUnknown_08305CCC, + gUnknown_08305CD4, + gUnknown_08305CDC, + gUnknown_08305CE4, + gUnknown_08305CEC, + gUnknown_08305CF4, + gUnknown_08305CFC, + gUnknown_08305D04, +}; diff --git a/src/data2b.c b/src/data2b.c index 8a78a9d904..78e671a7ac 100644 --- a/src/data2b.c +++ b/src/data2b.c @@ -5,7 +5,7 @@ extern const union AnimCmd gAnimCmd_General_Frame0[]; extern const union AnimCmd AnimCmd_82FF540[]; //#include "data/trainer_graphics/front_pic_tables.h" - +#include "data/trainer_graphics/back_pic_anims.h" #include "data/trainer_graphics/back_pic_tables.h" #include "data/pokemon_graphics/enemy_mon_elevation.h" From ed24233274a1aa134fb3c52e92f402c7fc3598c3 Mon Sep 17 00:00:00 2001 From: Slawter666 <38655737+Slawter666@users.noreply.github.com> Date: Wed, 22 Aug 2018 23:03:44 +0100 Subject: [PATCH 124/234] Convert more of data2b.s to C --- data/data2b.s | 520 ------------------ data/graphics/pokemon/back_pic_table.inc | 442 --------------- data/graphics/pokemon/palette_table.inc | 442 --------------- data/graphics/pokemon/shiny_palette_table.inc | 442 --------------- data/graphics/trainers/front_pic_coords.inc | 95 ---- .../trainers/front_pic_palette_table.inc | 95 ---- data/graphics/trainers/front_pic_table.inc | 95 ---- .../data/pokemon_graphics/back_pic_table.h | 443 +++++++++++++++ include/data/pokemon_graphics/palette_table.h | 443 +++++++++++++++ .../pokemon_graphics/shiny_palette_table.h | 443 +++++++++++++++ .../data/trainer_graphics/back_pic_anims.h | 76 ++- .../data/trainer_graphics/front_pic_anims.h | 190 +++++++ .../data/trainer_graphics/front_pic_tables.h | 2 +- include/graphics.h | 7 + src/data2b.c | 7 +- 15 files changed, 1602 insertions(+), 2140 deletions(-) delete mode 100644 data/graphics/pokemon/back_pic_table.inc delete mode 100644 data/graphics/pokemon/palette_table.inc delete mode 100644 data/graphics/pokemon/shiny_palette_table.inc delete mode 100644 data/graphics/trainers/front_pic_coords.inc delete mode 100644 data/graphics/trainers/front_pic_palette_table.inc delete mode 100644 data/graphics/trainers/front_pic_table.inc create mode 100644 include/data/pokemon_graphics/back_pic_table.h create mode 100644 include/data/pokemon_graphics/palette_table.h create mode 100644 include/data/pokemon_graphics/shiny_palette_table.h create mode 100644 include/data/trainer_graphics/front_pic_anims.h diff --git a/data/data2b.s b/data/data2b.s index c135bc4391..8d20be90fe 100644 --- a/data/data2b.s +++ b/data/data2b.s @@ -3929,523 +3929,3 @@ gUnknown_083021D8:: @ 83021D8 .byte 0x46, 0x0a, 0x00, 0x00 .byte 0x37, 0x06, 0x00, 0x00 .byte 0x47, 0x06, 0x00, 0x00 - -@ 83028B8 - .include "data/graphics/pokemon/back_pic_table.inc" - -@ 8303678 - .include "data/graphics/pokemon/palette_table.inc" - -@ 8304438 - .include "data/graphics/pokemon/shiny_palette_table.inc" - -gUnknown_083051F8:: @ 83051F8 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_083051FC:: @ 83051FC - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08305200:: @ 8305200 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08305204:: @ 8305204 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08305208:: @ 8305208 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_0830520C:: @ 830520C - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08305210:: @ 8305210 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08305214:: @ 8305214 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08305218:: @ 8305218 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_0830521C:: @ 830521C - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08305220:: @ 8305220 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08305224:: @ 8305224 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08305228:: @ 8305228 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_0830522C:: @ 830522C - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08305230:: @ 8305230 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08305234:: @ 8305234 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08305238:: @ 8305238 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_0830523C:: @ 830523C - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08305240:: @ 8305240 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08305244:: @ 8305244 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08305248:: @ 8305248 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_0830524C:: @ 830524C - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08305250:: @ 8305250 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08305254:: @ 8305254 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08305258:: @ 8305258 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_0830525C:: @ 830525C - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08305260:: @ 8305260 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08305264:: @ 8305264 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08305268:: @ 8305268 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_0830526C:: @ 830526C - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08305270:: @ 8305270 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08305274:: @ 8305274 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08305278:: @ 8305278 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_0830527C:: @ 830527C - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08305280:: @ 8305280 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08305284:: @ 8305284 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08305288:: @ 8305288 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_0830528C:: @ 830528C - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08305290:: @ 8305290 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08305294:: @ 8305294 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08305298:: @ 8305298 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_0830529C:: @ 830529C - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_083052A0:: @ 83052A0 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_083052A4:: @ 83052A4 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_083052A8:: @ 83052A8 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_083052AC:: @ 83052AC - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_083052B0:: @ 83052B0 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_083052B4:: @ 83052B4 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_083052B8:: @ 83052B8 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_083052BC:: @ 83052BC - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_083052C0:: @ 83052C0 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_083052C4:: @ 83052C4 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_083052C8:: @ 83052C8 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_083052CC:: @ 83052CC - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_083052D0:: @ 83052D0 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_083052D4:: @ 83052D4 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_083052D8:: @ 83052D8 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_083052DC:: @ 83052DC - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_083052E0:: @ 83052E0 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_083052E4:: @ 83052E4 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_083052E8:: @ 83052E8 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_083052EC:: @ 83052EC - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_083052F0:: @ 83052F0 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_083052F4:: @ 83052F4 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_083052F8:: @ 83052F8 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_083052FC:: @ 83052FC - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08305300:: @ 8305300 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08305304:: @ 8305304 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08305308:: @ 8305308 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_0830530C:: @ 830530C - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08305310:: @ 8305310 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08305314:: @ 8305314 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08305318:: @ 8305318 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_0830531C:: @ 830531C - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08305320:: @ 8305320 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08305324:: @ 8305324 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08305328:: @ 8305328 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_0830532C:: @ 830532C - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08305330:: @ 8305330 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08305334:: @ 8305334 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08305338:: @ 8305338 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_0830533C:: @ 830533C - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08305340:: @ 8305340 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08305344:: @ 8305344 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08305348:: @ 8305348 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_0830534C:: @ 830534C - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08305350:: @ 8305350 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08305354:: @ 8305354 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08305358:: @ 8305358 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_0830535C:: @ 830535C - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08305360:: @ 8305360 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08305364:: @ 8305364 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08305368:: @ 8305368 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_0830536C:: @ 830536C - .4byte gUnknown_083051F8 - .4byte gUnknown_083051FC - .4byte gUnknown_08305200 - .4byte gUnknown_08305204 - .4byte gUnknown_08305208 - .4byte gUnknown_0830520C - .4byte gUnknown_08305210 - .4byte gUnknown_08305214 - .4byte gUnknown_08305218 - .4byte gUnknown_0830521C - .4byte gUnknown_08305220 - .4byte gUnknown_08305224 - .4byte gUnknown_08305228 - .4byte gUnknown_0830522C - .4byte gUnknown_08305230 - .4byte gUnknown_08305234 - .4byte gUnknown_08305238 - .4byte gUnknown_0830523C - .4byte gUnknown_08305240 - .4byte gUnknown_08305244 - .4byte gUnknown_08305248 - .4byte gUnknown_0830524C - .4byte gUnknown_08305250 - .4byte gUnknown_08305254 - .4byte gUnknown_08305258 - .4byte gUnknown_0830525C - .4byte gUnknown_08305260 - .4byte gUnknown_08305264 - .4byte gUnknown_08305268 - .4byte gUnknown_0830526C - .4byte gUnknown_08305270 - .4byte gUnknown_08305274 - .4byte gUnknown_08305278 - .4byte gUnknown_0830527C - .4byte gUnknown_08305280 - .4byte gUnknown_08305284 - .4byte gUnknown_08305288 - .4byte gUnknown_0830528C - .4byte gUnknown_08305290 - .4byte gUnknown_08305294 - .4byte gUnknown_08305298 - .4byte gUnknown_0830529C - .4byte gUnknown_083052A0 - .4byte gUnknown_083052A4 - .4byte gUnknown_083052A8 - .4byte gUnknown_083052AC - .4byte gUnknown_083052B0 - .4byte gUnknown_083052B4 - .4byte gUnknown_083052B8 - .4byte gUnknown_083052BC - .4byte gUnknown_083052C0 - .4byte gUnknown_083052C4 - .4byte gUnknown_083052C8 - .4byte gUnknown_083052CC - .4byte gUnknown_083052D0 - .4byte gUnknown_083052D4 - .4byte gUnknown_083052D8 - .4byte gUnknown_083052DC - .4byte gUnknown_083052E0 - .4byte gUnknown_083052E4 - .4byte gUnknown_083052E8 - .4byte gUnknown_083052EC - .4byte gUnknown_083052F0 - .4byte gUnknown_083052F4 - .4byte gUnknown_083052F8 - .4byte gUnknown_083052FC - .4byte gUnknown_08305300 - .4byte gUnknown_08305304 - .4byte gUnknown_08305308 - .4byte gUnknown_0830530C - .4byte gUnknown_08305310 - .4byte gUnknown_08305314 - .4byte gUnknown_08305318 - .4byte gUnknown_0830531C - .4byte gUnknown_08305320 - .4byte gUnknown_08305324 - .4byte gUnknown_08305328 - .4byte gUnknown_0830532C - .4byte gUnknown_08305330 - .4byte gUnknown_08305334 - .4byte gUnknown_08305338 - .4byte gUnknown_0830533C - .4byte gUnknown_08305340 - .4byte gUnknown_08305344 - .4byte gUnknown_08305348 - .4byte gUnknown_0830534C - .4byte gUnknown_08305350 - .4byte gUnknown_08305354 - .4byte gUnknown_08305358 - .4byte gUnknown_0830535C - .4byte gUnknown_08305360 - .4byte gUnknown_08305364 - .4byte gUnknown_08305368 - -@ 83054E0 - .include "data/graphics/trainers/front_pic_coords.inc" - -@ 8305654 - .include "data/graphics/trainers/front_pic_table.inc" - -@ 830593C - .include "data/graphics/trainers/front_pic_palette_table.inc" - -gUnknown_08305C24:: @ 8305C24 - .2byte 0x0000, 0x0018, 0x0001, 0x0009, 0x0002, 0x0018, 0x0000, 0x0009 - .2byte 0x0003, 0x0032, 0xffff, 0x0000 - - .align 2 -gUnknown_08305C3C:: @ 8305C3C - .2byte 0x0000, 0x0018, 0x0001, 0x0009, 0x0002, 0x0018, 0x0000, 0x0009 - .2byte 0x0003, 0x0032, 0xffff, 0x0000 - - .align 2 -gUnknown_08305C54:: @ 8305C54 - .2byte 0x0000, 0x0018, 0x0001, 0x0009, 0x0002, 0x0018, 0x0000, 0x0009 - .2byte 0x0003, 0x0032, 0xffff, 0x0000 - - .align 2 -gUnknown_08305C6C:: @ 8305C6C - .2byte 0x0001, 0x0014, 0x0002, 0x0006, 0x0003, 0x0006, 0x0004, 0x0018 - .2byte 0x0000, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_08305C84:: @ 8305C84 - .2byte 0x0001, 0x0014, 0x0002, 0x0006, 0x0003, 0x0006, 0x0004, 0x0018 - .2byte 0x0000, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_08305C9C:: @ 8305C9C - .2byte 0x0000, 0x0018, 0x0001, 0x0009, 0x0002, 0x0018, 0x0000, 0x0009 - .2byte 0x0003, 0x0032, 0xffff, 0x0000 - - .align 2 -gUnknown_08305CB4:: @ 8305CB4 - .2byte 0x0000, 0x0018, 0x0001, 0x0009, 0x0002, 0x0018, 0x0000, 0x0009 - .2byte 0x0003, 0x0032, 0xffff, 0x0000 - diff --git a/data/graphics/pokemon/back_pic_table.inc b/data/graphics/pokemon/back_pic_table.inc deleted file mode 100644 index b1b477f30f..0000000000 --- a/data/graphics/pokemon/back_pic_table.inc +++ /dev/null @@ -1,442 +0,0 @@ - .align 2 -gMonBackPicTable:: @ 83028B8 - obj_tiles gMonBackPic_CircledQuestionMark, 0x800, 0 - obj_tiles gMonBackPic_Bulbasaur, 0x800, 1 - obj_tiles gMonBackPic_Ivysaur, 0x800, 2 - obj_tiles gMonBackPic_Venusaur, 0x800, 3 - obj_tiles gMonBackPic_Charmander, 0x800, 4 - obj_tiles gMonBackPic_Charmeleon, 0x800, 5 - obj_tiles gMonBackPic_Charizard, 0x800, 6 - obj_tiles gMonBackPic_Squirtle, 0x800, 7 - obj_tiles gMonBackPic_Wartortle, 0x800, 8 - obj_tiles gMonBackPic_Blastoise, 0x800, 9 - obj_tiles gMonBackPic_Caterpie, 0x800, 10 - obj_tiles gMonBackPic_Metapod, 0x800, 11 - obj_tiles gMonBackPic_Butterfree, 0x800, 12 - obj_tiles gMonBackPic_Weedle, 0x800, 13 - obj_tiles gMonBackPic_Kakuna, 0x800, 14 - obj_tiles gMonBackPic_Beedrill, 0x800, 15 - obj_tiles gMonBackPic_Pidgey, 0x800, 16 - obj_tiles gMonBackPic_Pidgeotto, 0x800, 17 - obj_tiles gMonBackPic_Pidgeot, 0x800, 18 - obj_tiles gMonBackPic_Rattata, 0x800, 19 - obj_tiles gMonBackPic_Raticate, 0x800, 20 - obj_tiles gMonBackPic_Spearow, 0x800, 21 - obj_tiles gMonBackPic_Fearow, 0x800, 22 - obj_tiles gMonBackPic_Ekans, 0x800, 23 - obj_tiles gMonBackPic_Arbok, 0x800, 24 - obj_tiles gMonBackPic_Pikachu, 0x800, 25 - obj_tiles gMonBackPic_Raichu, 0x800, 26 - obj_tiles gMonBackPic_Sandshrew, 0x800, 27 - obj_tiles gMonBackPic_Sandslash, 0x800, 28 - obj_tiles gMonBackPic_NidoranF, 0x800, 29 - obj_tiles gMonBackPic_Nidorina, 0x800, 30 - obj_tiles gMonBackPic_Nidoqueen, 0x800, 31 - obj_tiles gMonBackPic_NidoranM, 0x800, 32 - obj_tiles gMonBackPic_Nidorino, 0x800, 33 - obj_tiles gMonBackPic_Nidoking, 0x800, 34 - obj_tiles gMonBackPic_Clefairy, 0x800, 35 - obj_tiles gMonBackPic_Clefable, 0x800, 36 - obj_tiles gMonBackPic_Vulpix, 0x800, 37 - obj_tiles gMonBackPic_Ninetales, 0x800, 38 - obj_tiles gMonBackPic_Jigglypuff, 0x800, 39 - obj_tiles gMonBackPic_Wigglytuff, 0x800, 40 - obj_tiles gMonBackPic_Zubat, 0x800, 41 - obj_tiles gMonBackPic_Golbat, 0x800, 42 - obj_tiles gMonBackPic_Oddish, 0x800, 43 - obj_tiles gMonBackPic_Gloom, 0x800, 44 - obj_tiles gMonBackPic_Vileplume, 0x800, 45 - obj_tiles gMonBackPic_Paras, 0x800, 46 - obj_tiles gMonBackPic_Parasect, 0x800, 47 - obj_tiles gMonBackPic_Venonat, 0x800, 48 - obj_tiles gMonBackPic_Venomoth, 0x800, 49 - obj_tiles gMonBackPic_Diglett, 0x800, 50 - obj_tiles gMonBackPic_Dugtrio, 0x800, 51 - obj_tiles gMonBackPic_Meowth, 0x800, 52 - obj_tiles gMonBackPic_Persian, 0x800, 53 - obj_tiles gMonBackPic_Psyduck, 0x800, 54 - obj_tiles gMonBackPic_Golduck, 0x800, 55 - obj_tiles gMonBackPic_Mankey, 0x800, 56 - obj_tiles gMonBackPic_Primeape, 0x800, 57 - obj_tiles gMonBackPic_Growlithe, 0x800, 58 - obj_tiles gMonBackPic_Arcanine, 0x800, 59 - obj_tiles gMonBackPic_Poliwag, 0x800, 60 - obj_tiles gMonBackPic_Poliwhirl, 0x800, 61 - obj_tiles gMonBackPic_Poliwrath, 0x800, 62 - obj_tiles gMonBackPic_Abra, 0x800, 63 - obj_tiles gMonBackPic_Kadabra, 0x800, 64 - obj_tiles gMonBackPic_Alakazam, 0x800, 65 - obj_tiles gMonBackPic_Machop, 0x800, 66 - obj_tiles gMonBackPic_Machoke, 0x800, 67 - obj_tiles gMonBackPic_Machamp, 0x800, 68 - obj_tiles gMonBackPic_Bellsprout, 0x800, 69 - obj_tiles gMonBackPic_Weepinbell, 0x800, 70 - obj_tiles gMonBackPic_Victreebel, 0x800, 71 - obj_tiles gMonBackPic_Tentacool, 0x800, 72 - obj_tiles gMonBackPic_Tentacruel, 0x800, 73 - obj_tiles gMonBackPic_Geodude, 0x800, 74 - obj_tiles gMonBackPic_Graveler, 0x800, 75 - obj_tiles gMonBackPic_Golem, 0x800, 76 - obj_tiles gMonBackPic_Ponyta, 0x800, 77 - obj_tiles gMonBackPic_Rapidash, 0x800, 78 - obj_tiles gMonBackPic_Slowpoke, 0x800, 79 - obj_tiles gMonBackPic_Slowbro, 0x800, 80 - obj_tiles gMonBackPic_Magnemite, 0x800, 81 - obj_tiles gMonBackPic_Magneton, 0x800, 82 - obj_tiles gMonBackPic_Farfetchd, 0x800, 83 - obj_tiles gMonBackPic_Doduo, 0x800, 84 - obj_tiles gMonBackPic_Dodrio, 0x800, 85 - obj_tiles gMonBackPic_Seel, 0x800, 86 - obj_tiles gMonBackPic_Dewgong, 0x800, 87 - obj_tiles gMonBackPic_Grimer, 0x800, 88 - obj_tiles gMonBackPic_Muk, 0x800, 89 - obj_tiles gMonBackPic_Shellder, 0x800, 90 - obj_tiles gMonBackPic_Cloyster, 0x800, 91 - obj_tiles gMonBackPic_Gastly, 0x800, 92 - obj_tiles gMonBackPic_Haunter, 0x800, 93 - obj_tiles gMonBackPic_Gengar, 0x800, 94 - obj_tiles gMonBackPic_Onix, 0x800, 95 - obj_tiles gMonBackPic_Drowzee, 0x800, 96 - obj_tiles gMonBackPic_Hypno, 0x800, 97 - obj_tiles gMonBackPic_Krabby, 0x800, 98 - obj_tiles gMonBackPic_Kingler, 0x800, 99 - obj_tiles gMonBackPic_Voltorb, 0x800, 100 - obj_tiles gMonBackPic_Electrode, 0x800, 101 - obj_tiles gMonBackPic_Exeggcute, 0x800, 102 - obj_tiles gMonBackPic_Exeggutor, 0x800, 103 - obj_tiles gMonBackPic_Cubone, 0x800, 104 - obj_tiles gMonBackPic_Marowak, 0x800, 105 - obj_tiles gMonBackPic_Hitmonlee, 0x800, 106 - obj_tiles gMonBackPic_Hitmonchan, 0x800, 107 - obj_tiles gMonBackPic_Lickitung, 0x800, 108 - obj_tiles gMonBackPic_Koffing, 0x800, 109 - obj_tiles gMonBackPic_Weezing, 0x800, 110 - obj_tiles gMonBackPic_Rhyhorn, 0x800, 111 - obj_tiles gMonBackPic_Rhydon, 0x800, 112 - obj_tiles gMonBackPic_Chansey, 0x800, 113 - obj_tiles gMonBackPic_Tangela, 0x800, 114 - obj_tiles gMonBackPic_Kangaskhan, 0x800, 115 - obj_tiles gMonBackPic_Horsea, 0x800, 116 - obj_tiles gMonBackPic_Seadra, 0x800, 117 - obj_tiles gMonBackPic_Goldeen, 0x800, 118 - obj_tiles gMonBackPic_Seaking, 0x800, 119 - obj_tiles gMonBackPic_Staryu, 0x800, 120 - obj_tiles gMonBackPic_Starmie, 0x800, 121 - obj_tiles gMonBackPic_Mrmime, 0x800, 122 - obj_tiles gMonBackPic_Scyther, 0x800, 123 - obj_tiles gMonBackPic_Jynx, 0x800, 124 - obj_tiles gMonBackPic_Electabuzz, 0x800, 125 - obj_tiles gMonBackPic_Magmar, 0x800, 126 - obj_tiles gMonBackPic_Pinsir, 0x800, 127 - obj_tiles gMonBackPic_Tauros, 0x800, 128 - obj_tiles gMonBackPic_Magikarp, 0x800, 129 - obj_tiles gMonBackPic_Gyarados, 0x800, 130 - obj_tiles gMonBackPic_Lapras, 0x800, 131 - obj_tiles gMonBackPic_Ditto, 0x800, 132 - obj_tiles gMonBackPic_Eevee, 0x800, 133 - obj_tiles gMonBackPic_Vaporeon, 0x800, 134 - obj_tiles gMonBackPic_Jolteon, 0x800, 135 - obj_tiles gMonBackPic_Flareon, 0x800, 136 - obj_tiles gMonBackPic_Porygon, 0x800, 137 - obj_tiles gMonBackPic_Omanyte, 0x800, 138 - obj_tiles gMonBackPic_Omastar, 0x800, 139 - obj_tiles gMonBackPic_Kabuto, 0x800, 140 - obj_tiles gMonBackPic_Kabutops, 0x800, 141 - obj_tiles gMonBackPic_Aerodactyl, 0x800, 142 - obj_tiles gMonBackPic_Snorlax, 0x800, 143 - obj_tiles gMonBackPic_Articuno, 0x800, 144 - obj_tiles gMonBackPic_Zapdos, 0x800, 145 - obj_tiles gMonBackPic_Moltres, 0x800, 146 - obj_tiles gMonBackPic_Dratini, 0x800, 147 - obj_tiles gMonBackPic_Dragonair, 0x800, 148 - obj_tiles gMonBackPic_Dragonite, 0x800, 149 - obj_tiles gMonBackPic_Mewtwo, 0x800, 150 - obj_tiles gMonBackPic_Mew, 0x800, 151 - obj_tiles gMonBackPic_Chikorita, 0x800, 152 - obj_tiles gMonBackPic_Bayleef, 0x800, 153 - obj_tiles gMonBackPic_Meganium, 0x800, 154 - obj_tiles gMonBackPic_Cyndaquil, 0x800, 155 - obj_tiles gMonBackPic_Quilava, 0x800, 156 - obj_tiles gMonBackPic_Typhlosion, 0x800, 157 - obj_tiles gMonBackPic_Totodile, 0x800, 158 - obj_tiles gMonBackPic_Croconaw, 0x800, 159 - obj_tiles gMonBackPic_Feraligatr, 0x800, 160 - obj_tiles gMonBackPic_Sentret, 0x800, 161 - obj_tiles gMonBackPic_Furret, 0x800, 162 - obj_tiles gMonBackPic_Hoothoot, 0x800, 163 - obj_tiles gMonBackPic_Noctowl, 0x800, 164 - obj_tiles gMonBackPic_Ledyba, 0x800, 165 - obj_tiles gMonBackPic_Ledian, 0x800, 166 - obj_tiles gMonBackPic_Spinarak, 0x800, 167 - obj_tiles gMonBackPic_Ariados, 0x800, 168 - obj_tiles gMonBackPic_Crobat, 0x800, 169 - obj_tiles gMonBackPic_Chinchou, 0x800, 170 - obj_tiles gMonBackPic_Lanturn, 0x800, 171 - obj_tiles gMonBackPic_Pichu, 0x800, 172 - obj_tiles gMonBackPic_Cleffa, 0x800, 173 - obj_tiles gMonBackPic_Igglybuff, 0x800, 174 - obj_tiles gMonBackPic_Togepi, 0x800, 175 - obj_tiles gMonBackPic_Togetic, 0x800, 176 - obj_tiles gMonBackPic_Natu, 0x800, 177 - obj_tiles gMonBackPic_Xatu, 0x800, 178 - obj_tiles gMonBackPic_Mareep, 0x800, 179 - obj_tiles gMonBackPic_Flaaffy, 0x800, 180 - obj_tiles gMonBackPic_Ampharos, 0x800, 181 - obj_tiles gMonBackPic_Bellossom, 0x800, 182 - obj_tiles gMonBackPic_Marill, 0x800, 183 - obj_tiles gMonBackPic_Azumarill, 0x800, 184 - obj_tiles gMonBackPic_Sudowoodo, 0x800, 185 - obj_tiles gMonBackPic_Politoed, 0x800, 186 - obj_tiles gMonBackPic_Hoppip, 0x800, 187 - obj_tiles gMonBackPic_Skiploom, 0x800, 188 - obj_tiles gMonBackPic_Jumpluff, 0x800, 189 - obj_tiles gMonBackPic_Aipom, 0x800, 190 - obj_tiles gMonBackPic_Sunkern, 0x800, 191 - obj_tiles gMonBackPic_Sunflora, 0x800, 192 - obj_tiles gMonBackPic_Yanma, 0x800, 193 - obj_tiles gMonBackPic_Wooper, 0x800, 194 - obj_tiles gMonBackPic_Quagsire, 0x800, 195 - obj_tiles gMonBackPic_Espeon, 0x800, 196 - obj_tiles gMonBackPic_Umbreon, 0x800, 197 - obj_tiles gMonBackPic_Murkrow, 0x800, 198 - obj_tiles gMonBackPic_Slowking, 0x800, 199 - obj_tiles gMonBackPic_Misdreavus, 0x800, 200 - obj_tiles gMonBackPic_UnownA, 0x800, 201 - obj_tiles gMonBackPic_Wobbuffet, 0x800, 202 - obj_tiles gMonBackPic_Girafarig, 0x800, 203 - obj_tiles gMonBackPic_Pineco, 0x800, 204 - obj_tiles gMonBackPic_Forretress, 0x800, 205 - obj_tiles gMonBackPic_Dunsparce, 0x800, 206 - obj_tiles gMonBackPic_Gligar, 0x800, 207 - obj_tiles gMonBackPic_Steelix, 0x800, 208 - obj_tiles gMonBackPic_Snubbull, 0x800, 209 - obj_tiles gMonBackPic_Granbull, 0x800, 210 - obj_tiles gMonBackPic_Qwilfish, 0x800, 211 - obj_tiles gMonBackPic_Scizor, 0x800, 212 - obj_tiles gMonBackPic_Shuckle, 0x800, 213 - obj_tiles gMonBackPic_Heracross, 0x800, 214 - obj_tiles gMonBackPic_Sneasel, 0x800, 215 - obj_tiles gMonBackPic_Teddiursa, 0x800, 216 - obj_tiles gMonBackPic_Ursaring, 0x800, 217 - obj_tiles gMonBackPic_Slugma, 0x800, 218 - obj_tiles gMonBackPic_Magcargo, 0x800, 219 - obj_tiles gMonBackPic_Swinub, 0x800, 220 - obj_tiles gMonBackPic_Piloswine, 0x800, 221 - obj_tiles gMonBackPic_Corsola, 0x800, 222 - obj_tiles gMonBackPic_Remoraid, 0x800, 223 - obj_tiles gMonBackPic_Octillery, 0x800, 224 - obj_tiles gMonBackPic_Delibird, 0x800, 225 - obj_tiles gMonBackPic_Mantine, 0x800, 226 - obj_tiles gMonBackPic_Skarmory, 0x800, 227 - obj_tiles gMonBackPic_Houndour, 0x800, 228 - obj_tiles gMonBackPic_Houndoom, 0x800, 229 - obj_tiles gMonBackPic_Kingdra, 0x800, 230 - obj_tiles gMonBackPic_Phanpy, 0x800, 231 - obj_tiles gMonBackPic_Donphan, 0x800, 232 - obj_tiles gMonBackPic_Porygon2, 0x800, 233 - obj_tiles gMonBackPic_Stantler, 0x800, 234 - obj_tiles gMonBackPic_Smeargle, 0x800, 235 - obj_tiles gMonBackPic_Tyrogue, 0x800, 236 - obj_tiles gMonBackPic_Hitmontop, 0x800, 237 - obj_tiles gMonBackPic_Smoochum, 0x800, 238 - obj_tiles gMonBackPic_Elekid, 0x800, 239 - obj_tiles gMonBackPic_Magby, 0x800, 240 - obj_tiles gMonBackPic_Miltank, 0x800, 241 - obj_tiles gMonBackPic_Blissey, 0x800, 242 - obj_tiles gMonBackPic_Raikou, 0x800, 243 - obj_tiles gMonBackPic_Entei, 0x800, 244 - obj_tiles gMonBackPic_Suicune, 0x800, 245 - obj_tiles gMonBackPic_Larvitar, 0x800, 246 - obj_tiles gMonBackPic_Pupitar, 0x800, 247 - obj_tiles gMonBackPic_Tyranitar, 0x800, 248 - obj_tiles gMonBackPic_Lugia, 0x800, 249 - obj_tiles gMonBackPic_HoOh, 0x800, 250 - obj_tiles gMonBackPic_Celebi, 0x800, 251 - obj_tiles gMonBackPic_DoubleQuestionMark, 0x800, 252 - obj_tiles gMonBackPic_DoubleQuestionMark, 0x800, 253 - obj_tiles gMonBackPic_DoubleQuestionMark, 0x800, 254 - obj_tiles gMonBackPic_DoubleQuestionMark, 0x800, 255 - obj_tiles gMonBackPic_DoubleQuestionMark, 0x800, 256 - obj_tiles gMonBackPic_DoubleQuestionMark, 0x800, 257 - obj_tiles gMonBackPic_DoubleQuestionMark, 0x800, 258 - obj_tiles gMonBackPic_DoubleQuestionMark, 0x800, 259 - obj_tiles gMonBackPic_DoubleQuestionMark, 0x800, 260 - obj_tiles gMonBackPic_DoubleQuestionMark, 0x800, 261 - obj_tiles gMonBackPic_DoubleQuestionMark, 0x800, 262 - obj_tiles gMonBackPic_DoubleQuestionMark, 0x800, 263 - obj_tiles gMonBackPic_DoubleQuestionMark, 0x800, 264 - obj_tiles gMonBackPic_DoubleQuestionMark, 0x800, 265 - obj_tiles gMonBackPic_DoubleQuestionMark, 0x800, 266 - obj_tiles gMonBackPic_DoubleQuestionMark, 0x800, 267 - obj_tiles gMonBackPic_DoubleQuestionMark, 0x800, 268 - obj_tiles gMonBackPic_DoubleQuestionMark, 0x800, 269 - obj_tiles gMonBackPic_DoubleQuestionMark, 0x800, 270 - obj_tiles gMonBackPic_DoubleQuestionMark, 0x800, 271 - obj_tiles gMonBackPic_DoubleQuestionMark, 0x800, 272 - obj_tiles gMonBackPic_DoubleQuestionMark, 0x800, 273 - obj_tiles gMonBackPic_DoubleQuestionMark, 0x800, 274 - obj_tiles gMonBackPic_DoubleQuestionMark, 0x800, 275 - obj_tiles gMonBackPic_DoubleQuestionMark, 0x800, 276 - obj_tiles gMonBackPic_Treecko, 0x800, 277 - obj_tiles gMonBackPic_Grovyle, 0x800, 278 - obj_tiles gMonBackPic_Sceptile, 0x800, 279 - obj_tiles gMonBackPic_Torchic, 0x800, 280 - obj_tiles gMonBackPic_Combusken, 0x800, 281 - obj_tiles gMonBackPic_Blaziken, 0x800, 282 - obj_tiles gMonBackPic_Mudkip, 0x800, 283 - obj_tiles gMonBackPic_Marshtomp, 0x800, 284 - obj_tiles gMonBackPic_Swampert, 0x800, 285 - obj_tiles gMonBackPic_Poochyena, 0x800, 286 - obj_tiles gMonBackPic_Mightyena, 0x800, 287 - obj_tiles gMonBackPic_Zigzagoon, 0x800, 288 - obj_tiles gMonBackPic_Linoone, 0x800, 289 - obj_tiles gMonBackPic_Wurmple, 0x800, 290 - obj_tiles gMonBackPic_Silcoon, 0x800, 291 - obj_tiles gMonBackPic_Beautifly, 0x800, 292 - obj_tiles gMonBackPic_Cascoon, 0x800, 293 - obj_tiles gMonBackPic_Dustox, 0x800, 294 - obj_tiles gMonBackPic_Lotad, 0x800, 295 - obj_tiles gMonBackPic_Lombre, 0x800, 296 - obj_tiles gMonBackPic_Ludicolo, 0x800, 297 - obj_tiles gMonBackPic_Seedot, 0x800, 298 - obj_tiles gMonBackPic_Nuzleaf, 0x800, 299 - obj_tiles gMonBackPic_Shiftry, 0x800, 300 - obj_tiles gMonBackPic_Nincada, 0x800, 301 - obj_tiles gMonBackPic_Ninjask, 0x800, 302 - obj_tiles gMonBackPic_Shedinja, 0x800, 303 - obj_tiles gMonBackPic_Taillow, 0x800, 304 - obj_tiles gMonBackPic_Swellow, 0x800, 305 - obj_tiles gMonBackPic_Shroomish, 0x800, 306 - obj_tiles gMonBackPic_Breloom, 0x800, 307 - obj_tiles gMonBackPic_Spinda, 0x800, 308 - obj_tiles gMonBackPic_Wingull, 0x800, 309 - obj_tiles gMonBackPic_Pelipper, 0x800, 310 - obj_tiles gMonBackPic_Surskit, 0x800, 311 - obj_tiles gMonBackPic_Masquerain, 0x800, 312 - obj_tiles gMonBackPic_Wailmer, 0x800, 313 - obj_tiles gMonBackPic_Wailord, 0x800, 314 - obj_tiles gMonBackPic_Skitty, 0x800, 315 - obj_tiles gMonBackPic_Delcatty, 0x800, 316 - obj_tiles gMonBackPic_Kecleon, 0x800, 317 - obj_tiles gMonBackPic_Baltoy, 0x800, 318 - obj_tiles gMonBackPic_Claydol, 0x800, 319 - obj_tiles gMonBackPic_Nosepass, 0x800, 320 - obj_tiles gMonBackPic_Torkoal, 0x800, 321 - obj_tiles gMonBackPic_Sableye, 0x800, 322 - obj_tiles gMonBackPic_Barboach, 0x800, 323 - obj_tiles gMonBackPic_Whiscash, 0x800, 324 - obj_tiles gMonBackPic_Luvdisc, 0x800, 325 - obj_tiles gMonBackPic_Corphish, 0x800, 326 - obj_tiles gMonBackPic_Crawdaunt, 0x800, 327 - obj_tiles gMonBackPic_Feebas, 0x800, 328 - obj_tiles gMonBackPic_Milotic, 0x800, 329 - obj_tiles gMonBackPic_Carvanha, 0x800, 330 - obj_tiles gMonBackPic_Sharpedo, 0x800, 331 - obj_tiles gMonBackPic_Trapinch, 0x800, 332 - obj_tiles gMonBackPic_Vibrava, 0x800, 333 - obj_tiles gMonBackPic_Flygon, 0x800, 334 - obj_tiles gMonBackPic_Makuhita, 0x800, 335 - obj_tiles gMonBackPic_Hariyama, 0x800, 336 - obj_tiles gMonBackPic_Electrike, 0x800, 337 - obj_tiles gMonBackPic_Manectric, 0x800, 338 - obj_tiles gMonBackPic_Numel, 0x800, 339 - obj_tiles gMonBackPic_Camerupt, 0x800, 340 - obj_tiles gMonBackPic_Spheal, 0x800, 341 - obj_tiles gMonBackPic_Sealeo, 0x800, 342 - obj_tiles gMonBackPic_Walrein, 0x800, 343 - obj_tiles gMonBackPic_Cacnea, 0x800, 344 - obj_tiles gMonBackPic_Cacturne, 0x800, 345 - obj_tiles gMonBackPic_Snorunt, 0x800, 346 - obj_tiles gMonBackPic_Glalie, 0x800, 347 - obj_tiles gMonBackPic_Lunatone, 0x800, 348 - obj_tiles gMonBackPic_Solrock, 0x800, 349 - obj_tiles gMonBackPic_Azurill, 0x800, 350 - obj_tiles gMonBackPic_Spoink, 0x800, 351 - obj_tiles gMonBackPic_Grumpig, 0x800, 352 - obj_tiles gMonBackPic_Plusle, 0x800, 353 - obj_tiles gMonBackPic_Minun, 0x800, 354 - obj_tiles gMonBackPic_Mawile, 0x800, 355 - obj_tiles gMonBackPic_Meditite, 0x800, 356 - obj_tiles gMonBackPic_Medicham, 0x800, 357 - obj_tiles gMonBackPic_Swablu, 0x800, 358 - obj_tiles gMonBackPic_Altaria, 0x800, 359 - obj_tiles gMonBackPic_Wynaut, 0x800, 360 - obj_tiles gMonBackPic_Duskull, 0x800, 361 - obj_tiles gMonBackPic_Dusclops, 0x800, 362 - obj_tiles gMonBackPic_Roselia, 0x800, 363 - obj_tiles gMonBackPic_Slakoth, 0x800, 364 - obj_tiles gMonBackPic_Vigoroth, 0x800, 365 - obj_tiles gMonBackPic_Slaking, 0x800, 366 - obj_tiles gMonBackPic_Gulpin, 0x800, 367 - obj_tiles gMonBackPic_Swalot, 0x800, 368 - obj_tiles gMonBackPic_Tropius, 0x800, 369 - obj_tiles gMonBackPic_Whismur, 0x800, 370 - obj_tiles gMonBackPic_Loudred, 0x800, 371 - obj_tiles gMonBackPic_Exploud, 0x800, 372 - obj_tiles gMonBackPic_Clamperl, 0x800, 373 - obj_tiles gMonBackPic_Huntail, 0x800, 374 - obj_tiles gMonBackPic_Gorebyss, 0x800, 375 - obj_tiles gMonBackPic_Absol, 0x800, 376 - obj_tiles gMonBackPic_Shuppet, 0x800, 377 - obj_tiles gMonBackPic_Banette, 0x800, 378 - obj_tiles gMonBackPic_Seviper, 0x800, 379 - obj_tiles gMonBackPic_Zangoose, 0x800, 380 - obj_tiles gMonBackPic_Relicanth, 0x800, 381 - obj_tiles gMonBackPic_Aron, 0x800, 382 - obj_tiles gMonBackPic_Lairon, 0x800, 383 - obj_tiles gMonBackPic_Aggron, 0x800, 384 - obj_tiles gMonBackPic_Castform, 0x800, 385 - obj_tiles gMonBackPic_Volbeat, 0x800, 386 - obj_tiles gMonBackPic_Illumise, 0x800, 387 - obj_tiles gMonBackPic_Lileep, 0x800, 388 - obj_tiles gMonBackPic_Cradily, 0x800, 389 - obj_tiles gMonBackPic_Anorith, 0x800, 390 - obj_tiles gMonBackPic_Armaldo, 0x800, 391 - obj_tiles gMonBackPic_Ralts, 0x800, 392 - obj_tiles gMonBackPic_Kirlia, 0x800, 393 - obj_tiles gMonBackPic_Gardevoir, 0x800, 394 - obj_tiles gMonBackPic_Bagon, 0x800, 395 - obj_tiles gMonBackPic_Shelgon, 0x800, 396 - obj_tiles gMonBackPic_Salamence, 0x800, 397 - obj_tiles gMonBackPic_Beldum, 0x800, 398 - obj_tiles gMonBackPic_Metang, 0x800, 399 - obj_tiles gMonBackPic_Metagross, 0x800, 400 - obj_tiles gMonBackPic_Regirock, 0x800, 401 - obj_tiles gMonBackPic_Regice, 0x800, 402 - obj_tiles gMonBackPic_Registeel, 0x800, 403 - obj_tiles gMonBackPic_Kyogre, 0x800, 404 - obj_tiles gMonBackPic_Groudon, 0x800, 405 - obj_tiles gMonBackPic_Rayquaza, 0x800, 406 - obj_tiles gMonBackPic_Latias, 0x800, 407 - obj_tiles gMonBackPic_Latios, 0x800, 408 - obj_tiles gMonBackPic_Jirachi, 0x800, 409 - obj_tiles gMonBackPic_Deoxys, 0x800, 410 - obj_tiles gMonBackPic_Chimecho, 0x800, 411 - obj_tiles gMonStillFrontPic_Egg, 0x800, 412 - obj_tiles gMonBackPic_UnownB, 0x800, 413 - obj_tiles gMonBackPic_UnownC, 0x800, 414 - obj_tiles gMonBackPic_UnownD, 0x800, 415 - obj_tiles gMonBackPic_UnownE, 0x800, 416 - obj_tiles gMonBackPic_UnownF, 0x800, 417 - obj_tiles gMonBackPic_UnownG, 0x800, 418 - obj_tiles gMonBackPic_UnownH, 0x800, 419 - obj_tiles gMonBackPic_UnownI, 0x800, 420 - obj_tiles gMonBackPic_UnownJ, 0x800, 421 - obj_tiles gMonBackPic_UnownK, 0x800, 422 - obj_tiles gMonBackPic_UnownL, 0x800, 423 - obj_tiles gMonBackPic_UnownM, 0x800, 424 - obj_tiles gMonBackPic_UnownN, 0x800, 425 - obj_tiles gMonBackPic_UnownO, 0x800, 426 - obj_tiles gMonBackPic_UnownP, 0x800, 427 - obj_tiles gMonBackPic_UnownQ, 0x800, 428 - obj_tiles gMonBackPic_UnownR, 0x800, 429 - obj_tiles gMonBackPic_UnownS, 0x800, 430 - obj_tiles gMonBackPic_UnownT, 0x800, 431 - obj_tiles gMonBackPic_UnownU, 0x800, 432 - obj_tiles gMonBackPic_UnownV, 0x800, 433 - obj_tiles gMonBackPic_UnownW, 0x800, 434 - obj_tiles gMonBackPic_UnownX, 0x800, 435 - obj_tiles gMonBackPic_UnownY, 0x800, 436 - obj_tiles gMonBackPic_UnownZ, 0x800, 437 - obj_tiles gMonBackPic_UnownExclamationMark, 0x800, 438 - obj_tiles gMonBackPic_UnownQuestionMark, 0x800, 439 diff --git a/data/graphics/pokemon/palette_table.inc b/data/graphics/pokemon/palette_table.inc deleted file mode 100644 index d636d13ec1..0000000000 --- a/data/graphics/pokemon/palette_table.inc +++ /dev/null @@ -1,442 +0,0 @@ - .align 2 -gMonPaletteTable:: @ 8303678 - obj_pal gMonPalette_CircledQuestionMark, 0 - obj_pal gMonPalette_Bulbasaur, 1 - obj_pal gMonPalette_Ivysaur, 2 - obj_pal gMonPalette_Venusaur, 3 - obj_pal gMonPalette_Charmander, 4 - obj_pal gMonPalette_Charmeleon, 5 - obj_pal gMonPalette_Charizard, 6 - obj_pal gMonPalette_Squirtle, 7 - obj_pal gMonPalette_Wartortle, 8 - obj_pal gMonPalette_Blastoise, 9 - obj_pal gMonPalette_Caterpie, 10 - obj_pal gMonPalette_Metapod, 11 - obj_pal gMonPalette_Butterfree, 12 - obj_pal gMonPalette_Weedle, 13 - obj_pal gMonPalette_Kakuna, 14 - obj_pal gMonPalette_Beedrill, 15 - obj_pal gMonPalette_Pidgey, 16 - obj_pal gMonPalette_Pidgeotto, 17 - obj_pal gMonPalette_Pidgeot, 18 - obj_pal gMonPalette_Rattata, 19 - obj_pal gMonPalette_Raticate, 20 - obj_pal gMonPalette_Spearow, 21 - obj_pal gMonPalette_Fearow, 22 - obj_pal gMonPalette_Ekans, 23 - obj_pal gMonPalette_Arbok, 24 - obj_pal gMonPalette_Pikachu, 25 - obj_pal gMonPalette_Raichu, 26 - obj_pal gMonPalette_Sandshrew, 27 - obj_pal gMonPalette_Sandslash, 28 - obj_pal gMonPalette_NidoranF, 29 - obj_pal gMonPalette_Nidorina, 30 - obj_pal gMonPalette_Nidoqueen, 31 - obj_pal gMonPalette_NidoranM, 32 - obj_pal gMonPalette_Nidorino, 33 - obj_pal gMonPalette_Nidoking, 34 - obj_pal gMonPalette_Clefairy, 35 - obj_pal gMonPalette_Clefable, 36 - obj_pal gMonPalette_Vulpix, 37 - obj_pal gMonPalette_Ninetales, 38 - obj_pal gMonPalette_Jigglypuff, 39 - obj_pal gMonPalette_Wigglytuff, 40 - obj_pal gMonPalette_Zubat, 41 - obj_pal gMonPalette_Golbat, 42 - obj_pal gMonPalette_Oddish, 43 - obj_pal gMonPalette_Gloom, 44 - obj_pal gMonPalette_Vileplume, 45 - obj_pal gMonPalette_Paras, 46 - obj_pal gMonPalette_Parasect, 47 - obj_pal gMonPalette_Venonat, 48 - obj_pal gMonPalette_Venomoth, 49 - obj_pal gMonPalette_Diglett, 50 - obj_pal gMonPalette_Dugtrio, 51 - obj_pal gMonPalette_Meowth, 52 - obj_pal gMonPalette_Persian, 53 - obj_pal gMonPalette_Psyduck, 54 - obj_pal gMonPalette_Golduck, 55 - obj_pal gMonPalette_Mankey, 56 - obj_pal gMonPalette_Primeape, 57 - obj_pal gMonPalette_Growlithe, 58 - obj_pal gMonPalette_Arcanine, 59 - obj_pal gMonPalette_Poliwag, 60 - obj_pal gMonPalette_Poliwhirl, 61 - obj_pal gMonPalette_Poliwrath, 62 - obj_pal gMonPalette_Abra, 63 - obj_pal gMonPalette_Kadabra, 64 - obj_pal gMonPalette_Alakazam, 65 - obj_pal gMonPalette_Machop, 66 - obj_pal gMonPalette_Machoke, 67 - obj_pal gMonPalette_Machamp, 68 - obj_pal gMonPalette_Bellsprout, 69 - obj_pal gMonPalette_Weepinbell, 70 - obj_pal gMonPalette_Victreebel, 71 - obj_pal gMonPalette_Tentacool, 72 - obj_pal gMonPalette_Tentacruel, 73 - obj_pal gMonPalette_Geodude, 74 - obj_pal gMonPalette_Graveler, 75 - obj_pal gMonPalette_Golem, 76 - obj_pal gMonPalette_Ponyta, 77 - obj_pal gMonPalette_Rapidash, 78 - obj_pal gMonPalette_Slowpoke, 79 - obj_pal gMonPalette_Slowbro, 80 - obj_pal gMonPalette_Magnemite, 81 - obj_pal gMonPalette_Magneton, 82 - obj_pal gMonPalette_Farfetchd, 83 - obj_pal gMonPalette_Doduo, 84 - obj_pal gMonPalette_Dodrio, 85 - obj_pal gMonPalette_Seel, 86 - obj_pal gMonPalette_Dewgong, 87 - obj_pal gMonPalette_Grimer, 88 - obj_pal gMonPalette_Muk, 89 - obj_pal gMonPalette_Shellder, 90 - obj_pal gMonPalette_Cloyster, 91 - obj_pal gMonPalette_Gastly, 92 - obj_pal gMonPalette_Haunter, 93 - obj_pal gMonPalette_Gengar, 94 - obj_pal gMonPalette_Onix, 95 - obj_pal gMonPalette_Drowzee, 96 - obj_pal gMonPalette_Hypno, 97 - obj_pal gMonPalette_Krabby, 98 - obj_pal gMonPalette_Kingler, 99 - obj_pal gMonPalette_Voltorb, 100 - obj_pal gMonPalette_Electrode, 101 - obj_pal gMonPalette_Exeggcute, 102 - obj_pal gMonPalette_Exeggutor, 103 - obj_pal gMonPalette_Cubone, 104 - obj_pal gMonPalette_Marowak, 105 - obj_pal gMonPalette_Hitmonlee, 106 - obj_pal gMonPalette_Hitmonchan, 107 - obj_pal gMonPalette_Lickitung, 108 - obj_pal gMonPalette_Koffing, 109 - obj_pal gMonPalette_Weezing, 110 - obj_pal gMonPalette_Rhyhorn, 111 - obj_pal gMonPalette_Rhydon, 112 - obj_pal gMonPalette_Chansey, 113 - obj_pal gMonPalette_Tangela, 114 - obj_pal gMonPalette_Kangaskhan, 115 - obj_pal gMonPalette_Horsea, 116 - obj_pal gMonPalette_Seadra, 117 - obj_pal gMonPalette_Goldeen, 118 - obj_pal gMonPalette_Seaking, 119 - obj_pal gMonPalette_Staryu, 120 - obj_pal gMonPalette_Starmie, 121 - obj_pal gMonPalette_Mrmime, 122 - obj_pal gMonPalette_Scyther, 123 - obj_pal gMonPalette_Jynx, 124 - obj_pal gMonPalette_Electabuzz, 125 - obj_pal gMonPalette_Magmar, 126 - obj_pal gMonPalette_Pinsir, 127 - obj_pal gMonPalette_Tauros, 128 - obj_pal gMonPalette_Magikarp, 129 - obj_pal gMonPalette_Gyarados, 130 - obj_pal gMonPalette_Lapras, 131 - obj_pal gMonPalette_Ditto, 132 - obj_pal gMonPalette_Eevee, 133 - obj_pal gMonPalette_Vaporeon, 134 - obj_pal gMonPalette_Jolteon, 135 - obj_pal gMonPalette_Flareon, 136 - obj_pal gMonPalette_Porygon, 137 - obj_pal gMonPalette_Omanyte, 138 - obj_pal gMonPalette_Omastar, 139 - obj_pal gMonPalette_Kabuto, 140 - obj_pal gMonPalette_Kabutops, 141 - obj_pal gMonPalette_Aerodactyl, 142 - obj_pal gMonPalette_Snorlax, 143 - obj_pal gMonPalette_Articuno, 144 - obj_pal gMonPalette_Zapdos, 145 - obj_pal gMonPalette_Moltres, 146 - obj_pal gMonPalette_Dratini, 147 - obj_pal gMonPalette_Dragonair, 148 - obj_pal gMonPalette_Dragonite, 149 - obj_pal gMonPalette_Mewtwo, 150 - obj_pal gMonPalette_Mew, 151 - obj_pal gMonPalette_Chikorita, 152 - obj_pal gMonPalette_Bayleef, 153 - obj_pal gMonPalette_Meganium, 154 - obj_pal gMonPalette_Cyndaquil, 155 - obj_pal gMonPalette_Quilava, 156 - obj_pal gMonPalette_Typhlosion, 157 - obj_pal gMonPalette_Totodile, 158 - obj_pal gMonPalette_Croconaw, 159 - obj_pal gMonPalette_Feraligatr, 160 - obj_pal gMonPalette_Sentret, 161 - obj_pal gMonPalette_Furret, 162 - obj_pal gMonPalette_Hoothoot, 163 - obj_pal gMonPalette_Noctowl, 164 - obj_pal gMonPalette_Ledyba, 165 - obj_pal gMonPalette_Ledian, 166 - obj_pal gMonPalette_Spinarak, 167 - obj_pal gMonPalette_Ariados, 168 - obj_pal gMonPalette_Crobat, 169 - obj_pal gMonPalette_Chinchou, 170 - obj_pal gMonPalette_Lanturn, 171 - obj_pal gMonPalette_Pichu, 172 - obj_pal gMonPalette_Cleffa, 173 - obj_pal gMonPalette_Igglybuff, 174 - obj_pal gMonPalette_Togepi, 175 - obj_pal gMonPalette_Togetic, 176 - obj_pal gMonPalette_Natu, 177 - obj_pal gMonPalette_Xatu, 178 - obj_pal gMonPalette_Mareep, 179 - obj_pal gMonPalette_Flaaffy, 180 - obj_pal gMonPalette_Ampharos, 181 - obj_pal gMonPalette_Bellossom, 182 - obj_pal gMonPalette_Marill, 183 - obj_pal gMonPalette_Azumarill, 184 - obj_pal gMonPalette_Sudowoodo, 185 - obj_pal gMonPalette_Politoed, 186 - obj_pal gMonPalette_Hoppip, 187 - obj_pal gMonPalette_Skiploom, 188 - obj_pal gMonPalette_Jumpluff, 189 - obj_pal gMonPalette_Aipom, 190 - obj_pal gMonPalette_Sunkern, 191 - obj_pal gMonPalette_Sunflora, 192 - obj_pal gMonPalette_Yanma, 193 - obj_pal gMonPalette_Wooper, 194 - obj_pal gMonPalette_Quagsire, 195 - obj_pal gMonPalette_Espeon, 196 - obj_pal gMonPalette_Umbreon, 197 - obj_pal gMonPalette_Murkrow, 198 - obj_pal gMonPalette_Slowking, 199 - obj_pal gMonPalette_Misdreavus, 200 - obj_pal gMonPalette_Unown, 201 - obj_pal gMonPalette_Wobbuffet, 202 - obj_pal gMonPalette_Girafarig, 203 - obj_pal gMonPalette_Pineco, 204 - obj_pal gMonPalette_Forretress, 205 - obj_pal gMonPalette_Dunsparce, 206 - obj_pal gMonPalette_Gligar, 207 - obj_pal gMonPalette_Steelix, 208 - obj_pal gMonPalette_Snubbull, 209 - obj_pal gMonPalette_Granbull, 210 - obj_pal gMonPalette_Qwilfish, 211 - obj_pal gMonPalette_Scizor, 212 - obj_pal gMonPalette_Shuckle, 213 - obj_pal gMonPalette_Heracross, 214 - obj_pal gMonPalette_Sneasel, 215 - obj_pal gMonPalette_Teddiursa, 216 - obj_pal gMonPalette_Ursaring, 217 - obj_pal gMonPalette_Slugma, 218 - obj_pal gMonPalette_Magcargo, 219 - obj_pal gMonPalette_Swinub, 220 - obj_pal gMonPalette_Piloswine, 221 - obj_pal gMonPalette_Corsola, 222 - obj_pal gMonPalette_Remoraid, 223 - obj_pal gMonPalette_Octillery, 224 - obj_pal gMonPalette_Delibird, 225 - obj_pal gMonPalette_Mantine, 226 - obj_pal gMonPalette_Skarmory, 227 - obj_pal gMonPalette_Houndour, 228 - obj_pal gMonPalette_Houndoom, 229 - obj_pal gMonPalette_Kingdra, 230 - obj_pal gMonPalette_Phanpy, 231 - obj_pal gMonPalette_Donphan, 232 - obj_pal gMonPalette_Porygon2, 233 - obj_pal gMonPalette_Stantler, 234 - obj_pal gMonPalette_Smeargle, 235 - obj_pal gMonPalette_Tyrogue, 236 - obj_pal gMonPalette_Hitmontop, 237 - obj_pal gMonPalette_Smoochum, 238 - obj_pal gMonPalette_Elekid, 239 - obj_pal gMonPalette_Magby, 240 - obj_pal gMonPalette_Miltank, 241 - obj_pal gMonPalette_Blissey, 242 - obj_pal gMonPalette_Raikou, 243 - obj_pal gMonPalette_Entei, 244 - obj_pal gMonPalette_Suicune, 245 - obj_pal gMonPalette_Larvitar, 246 - obj_pal gMonPalette_Pupitar, 247 - obj_pal gMonPalette_Tyranitar, 248 - obj_pal gMonPalette_Lugia, 249 - obj_pal gMonPalette_HoOh, 250 - obj_pal gMonPalette_Celebi, 251 - obj_pal gMonPalette_DoubleQuestionMark, 252 - obj_pal gMonPalette_DoubleQuestionMark, 253 - obj_pal gMonPalette_DoubleQuestionMark, 254 - obj_pal gMonPalette_DoubleQuestionMark, 255 - obj_pal gMonPalette_DoubleQuestionMark, 256 - obj_pal gMonPalette_DoubleQuestionMark, 257 - obj_pal gMonPalette_DoubleQuestionMark, 258 - obj_pal gMonPalette_DoubleQuestionMark, 259 - obj_pal gMonPalette_DoubleQuestionMark, 260 - obj_pal gMonPalette_DoubleQuestionMark, 261 - obj_pal gMonPalette_DoubleQuestionMark, 262 - obj_pal gMonPalette_DoubleQuestionMark, 263 - obj_pal gMonPalette_DoubleQuestionMark, 264 - obj_pal gMonPalette_DoubleQuestionMark, 265 - obj_pal gMonPalette_DoubleQuestionMark, 266 - obj_pal gMonPalette_DoubleQuestionMark, 267 - obj_pal gMonPalette_DoubleQuestionMark, 268 - obj_pal gMonPalette_DoubleQuestionMark, 269 - obj_pal gMonPalette_DoubleQuestionMark, 270 - obj_pal gMonPalette_DoubleQuestionMark, 271 - obj_pal gMonPalette_DoubleQuestionMark, 272 - obj_pal gMonPalette_DoubleQuestionMark, 273 - obj_pal gMonPalette_DoubleQuestionMark, 274 - obj_pal gMonPalette_DoubleQuestionMark, 275 - obj_pal gMonPalette_DoubleQuestionMark, 276 - obj_pal gMonPalette_Treecko, 277 - obj_pal gMonPalette_Grovyle, 278 - obj_pal gMonPalette_Sceptile, 279 - obj_pal gMonPalette_Torchic, 280 - obj_pal gMonPalette_Combusken, 281 - obj_pal gMonPalette_Blaziken, 282 - obj_pal gMonPalette_Mudkip, 283 - obj_pal gMonPalette_Marshtomp, 284 - obj_pal gMonPalette_Swampert, 285 - obj_pal gMonPalette_Poochyena, 286 - obj_pal gMonPalette_Mightyena, 287 - obj_pal gMonPalette_Zigzagoon, 288 - obj_pal gMonPalette_Linoone, 289 - obj_pal gMonPalette_Wurmple, 290 - obj_pal gMonPalette_Silcoon, 291 - obj_pal gMonPalette_Beautifly, 292 - obj_pal gMonPalette_Cascoon, 293 - obj_pal gMonPalette_Dustox, 294 - obj_pal gMonPalette_Lotad, 295 - obj_pal gMonPalette_Lombre, 296 - obj_pal gMonPalette_Ludicolo, 297 - obj_pal gMonPalette_Seedot, 298 - obj_pal gMonPalette_Nuzleaf, 299 - obj_pal gMonPalette_Shiftry, 300 - obj_pal gMonPalette_Nincada, 301 - obj_pal gMonPalette_Ninjask, 302 - obj_pal gMonPalette_Shedinja, 303 - obj_pal gMonPalette_Taillow, 304 - obj_pal gMonPalette_Swellow, 305 - obj_pal gMonPalette_Shroomish, 306 - obj_pal gMonPalette_Breloom, 307 - obj_pal gMonPalette_Spinda, 308 - obj_pal gMonPalette_Wingull, 309 - obj_pal gMonPalette_Pelipper, 310 - obj_pal gMonPalette_Surskit, 311 - obj_pal gMonPalette_Masquerain, 312 - obj_pal gMonPalette_Wailmer, 313 - obj_pal gMonPalette_Wailord, 314 - obj_pal gMonPalette_Skitty, 315 - obj_pal gMonPalette_Delcatty, 316 - obj_pal gMonPalette_Kecleon, 317 - obj_pal gMonPalette_Baltoy, 318 - obj_pal gMonPalette_Claydol, 319 - obj_pal gMonPalette_Nosepass, 320 - obj_pal gMonPalette_Torkoal, 321 - obj_pal gMonPalette_Sableye, 322 - obj_pal gMonPalette_Barboach, 323 - obj_pal gMonPalette_Whiscash, 324 - obj_pal gMonPalette_Luvdisc, 325 - obj_pal gMonPalette_Corphish, 326 - obj_pal gMonPalette_Crawdaunt, 327 - obj_pal gMonPalette_Feebas, 328 - obj_pal gMonPalette_Milotic, 329 - obj_pal gMonPalette_Carvanha, 330 - obj_pal gMonPalette_Sharpedo, 331 - obj_pal gMonPalette_Trapinch, 332 - obj_pal gMonPalette_Vibrava, 333 - obj_pal gMonPalette_Flygon, 334 - obj_pal gMonPalette_Makuhita, 335 - obj_pal gMonPalette_Hariyama, 336 - obj_pal gMonPalette_Electrike, 337 - obj_pal gMonPalette_Manectric, 338 - obj_pal gMonPalette_Numel, 339 - obj_pal gMonPalette_Camerupt, 340 - obj_pal gMonPalette_Spheal, 341 - obj_pal gMonPalette_Sealeo, 342 - obj_pal gMonPalette_Walrein, 343 - obj_pal gMonPalette_Cacnea, 344 - obj_pal gMonPalette_Cacturne, 345 - obj_pal gMonPalette_Snorunt, 346 - obj_pal gMonPalette_Glalie, 347 - obj_pal gMonPalette_Lunatone, 348 - obj_pal gMonPalette_Solrock, 349 - obj_pal gMonPalette_Azurill, 350 - obj_pal gMonPalette_Spoink, 351 - obj_pal gMonPalette_Grumpig, 352 - obj_pal gMonPalette_Plusle, 353 - obj_pal gMonPalette_Minun, 354 - obj_pal gMonPalette_Mawile, 355 - obj_pal gMonPalette_Meditite, 356 - obj_pal gMonPalette_Medicham, 357 - obj_pal gMonPalette_Swablu, 358 - obj_pal gMonPalette_Altaria, 359 - obj_pal gMonPalette_Wynaut, 360 - obj_pal gMonPalette_Duskull, 361 - obj_pal gMonPalette_Dusclops, 362 - obj_pal gMonPalette_Roselia, 363 - obj_pal gMonPalette_Slakoth, 364 - obj_pal gMonPalette_Vigoroth, 365 - obj_pal gMonPalette_Slaking, 366 - obj_pal gMonPalette_Gulpin, 367 - obj_pal gMonPalette_Swalot, 368 - obj_pal gMonPalette_Tropius, 369 - obj_pal gMonPalette_Whismur, 370 - obj_pal gMonPalette_Loudred, 371 - obj_pal gMonPalette_Exploud, 372 - obj_pal gMonPalette_Clamperl, 373 - obj_pal gMonPalette_Huntail, 374 - obj_pal gMonPalette_Gorebyss, 375 - obj_pal gMonPalette_Absol, 376 - obj_pal gMonPalette_Shuppet, 377 - obj_pal gMonPalette_Banette, 378 - obj_pal gMonPalette_Seviper, 379 - obj_pal gMonPalette_Zangoose, 380 - obj_pal gMonPalette_Relicanth, 381 - obj_pal gMonPalette_Aron, 382 - obj_pal gMonPalette_Lairon, 383 - obj_pal gMonPalette_Aggron, 384 - obj_pal gMonPalette_Castform, 385 - obj_pal gMonPalette_Volbeat, 386 - obj_pal gMonPalette_Illumise, 387 - obj_pal gMonPalette_Lileep, 388 - obj_pal gMonPalette_Cradily, 389 - obj_pal gMonPalette_Anorith, 390 - obj_pal gMonPalette_Armaldo, 391 - obj_pal gMonPalette_Ralts, 392 - obj_pal gMonPalette_Kirlia, 393 - obj_pal gMonPalette_Gardevoir, 394 - obj_pal gMonPalette_Bagon, 395 - obj_pal gMonPalette_Shelgon, 396 - obj_pal gMonPalette_Salamence, 397 - obj_pal gMonPalette_Beldum, 398 - obj_pal gMonPalette_Metang, 399 - obj_pal gMonPalette_Metagross, 400 - obj_pal gMonPalette_Regirock, 401 - obj_pal gMonPalette_Regice, 402 - obj_pal gMonPalette_Registeel, 403 - obj_pal gMonPalette_Kyogre, 404 - obj_pal gMonPalette_Groudon, 405 - obj_pal gMonPalette_Rayquaza, 406 - obj_pal gMonPalette_Latias, 407 - obj_pal gMonPalette_Latios, 408 - obj_pal gMonPalette_Jirachi, 409 - obj_pal gMonPalette_Deoxys, 410 - obj_pal gMonPalette_Chimecho, 411 - obj_pal gMonPalette_Egg, 412 - obj_pal gMonPalette_Unown, 413 - obj_pal gMonPalette_Unown, 414 - obj_pal gMonPalette_Unown, 415 - obj_pal gMonPalette_Unown, 416 - obj_pal gMonPalette_Unown, 417 - obj_pal gMonPalette_Unown, 418 - obj_pal gMonPalette_Unown, 419 - obj_pal gMonPalette_Unown, 420 - obj_pal gMonPalette_Unown, 421 - obj_pal gMonPalette_Unown, 422 - obj_pal gMonPalette_Unown, 423 - obj_pal gMonPalette_Unown, 424 - obj_pal gMonPalette_Unown, 425 - obj_pal gMonPalette_Unown, 426 - obj_pal gMonPalette_Unown, 427 - obj_pal gMonPalette_Unown, 428 - obj_pal gMonPalette_Unown, 429 - obj_pal gMonPalette_Unown, 430 - obj_pal gMonPalette_Unown, 431 - obj_pal gMonPalette_Unown, 432 - obj_pal gMonPalette_Unown, 433 - obj_pal gMonPalette_Unown, 434 - obj_pal gMonPalette_Unown, 435 - obj_pal gMonPalette_Unown, 436 - obj_pal gMonPalette_Unown, 437 - obj_pal gMonPalette_Unown, 438 - obj_pal gMonPalette_Unown, 439 diff --git a/data/graphics/pokemon/shiny_palette_table.inc b/data/graphics/pokemon/shiny_palette_table.inc deleted file mode 100644 index 7248202213..0000000000 --- a/data/graphics/pokemon/shiny_palette_table.inc +++ /dev/null @@ -1,442 +0,0 @@ - .align 2 -gMonShinyPaletteTable:: @ 8304438 - obj_pal gMonShinyPalette_CircledQuestionMark, 500 - obj_pal gMonShinyPalette_Bulbasaur, 501 - obj_pal gMonShinyPalette_Ivysaur, 502 - obj_pal gMonShinyPalette_Venusaur, 503 - obj_pal gMonShinyPalette_Charmander, 504 - obj_pal gMonShinyPalette_Charmeleon, 505 - obj_pal gMonShinyPalette_Charizard, 506 - obj_pal gMonShinyPalette_Squirtle, 507 - obj_pal gMonShinyPalette_Wartortle, 508 - obj_pal gMonShinyPalette_Blastoise, 509 - obj_pal gMonShinyPalette_Caterpie, 510 - obj_pal gMonShinyPalette_Metapod, 511 - obj_pal gMonShinyPalette_Butterfree, 512 - obj_pal gMonShinyPalette_Weedle, 513 - obj_pal gMonShinyPalette_Kakuna, 514 - obj_pal gMonShinyPalette_Beedrill, 515 - obj_pal gMonShinyPalette_Pidgey, 516 - obj_pal gMonShinyPalette_Pidgeotto, 517 - obj_pal gMonShinyPalette_Pidgeot, 518 - obj_pal gMonShinyPalette_Rattata, 519 - obj_pal gMonShinyPalette_Raticate, 520 - obj_pal gMonShinyPalette_Spearow, 521 - obj_pal gMonShinyPalette_Fearow, 522 - obj_pal gMonShinyPalette_Ekans, 523 - obj_pal gMonShinyPalette_Arbok, 524 - obj_pal gMonShinyPalette_Pikachu, 525 - obj_pal gMonShinyPalette_Raichu, 526 - obj_pal gMonShinyPalette_Sandshrew, 527 - obj_pal gMonShinyPalette_Sandslash, 528 - obj_pal gMonShinyPalette_NidoranF, 529 - obj_pal gMonShinyPalette_Nidorina, 530 - obj_pal gMonShinyPalette_Nidoqueen, 531 - obj_pal gMonShinyPalette_NidoranM, 532 - obj_pal gMonShinyPalette_Nidorino, 533 - obj_pal gMonShinyPalette_Nidoking, 534 - obj_pal gMonShinyPalette_Clefairy, 535 - obj_pal gMonShinyPalette_Clefable, 536 - obj_pal gMonShinyPalette_Vulpix, 537 - obj_pal gMonShinyPalette_Ninetales, 538 - obj_pal gMonShinyPalette_Jigglypuff, 539 - obj_pal gMonShinyPalette_Wigglytuff, 540 - obj_pal gMonShinyPalette_Zubat, 541 - obj_pal gMonShinyPalette_Golbat, 542 - obj_pal gMonShinyPalette_Oddish, 543 - obj_pal gMonShinyPalette_Gloom, 544 - obj_pal gMonShinyPalette_Vileplume, 545 - obj_pal gMonShinyPalette_Paras, 546 - obj_pal gMonShinyPalette_Parasect, 547 - obj_pal gMonShinyPalette_Venonat, 548 - obj_pal gMonShinyPalette_Venomoth, 549 - obj_pal gMonShinyPalette_Diglett, 550 - obj_pal gMonShinyPalette_Dugtrio, 551 - obj_pal gMonShinyPalette_Meowth, 552 - obj_pal gMonShinyPalette_Persian, 553 - obj_pal gMonShinyPalette_Psyduck, 554 - obj_pal gMonShinyPalette_Golduck, 555 - obj_pal gMonShinyPalette_Mankey, 556 - obj_pal gMonShinyPalette_Primeape, 557 - obj_pal gMonShinyPalette_Growlithe, 558 - obj_pal gMonShinyPalette_Arcanine, 559 - obj_pal gMonShinyPalette_Poliwag, 560 - obj_pal gMonShinyPalette_Poliwhirl, 561 - obj_pal gMonShinyPalette_Poliwrath, 562 - obj_pal gMonShinyPalette_Abra, 563 - obj_pal gMonShinyPalette_Kadabra, 564 - obj_pal gMonShinyPalette_Alakazam, 565 - obj_pal gMonShinyPalette_Machop, 566 - obj_pal gMonShinyPalette_Machoke, 567 - obj_pal gMonShinyPalette_Machamp, 568 - obj_pal gMonShinyPalette_Bellsprout, 569 - obj_pal gMonShinyPalette_Weepinbell, 570 - obj_pal gMonShinyPalette_Victreebel, 571 - obj_pal gMonShinyPalette_Tentacool, 572 - obj_pal gMonShinyPalette_Tentacruel, 573 - obj_pal gMonShinyPalette_Geodude, 574 - obj_pal gMonShinyPalette_Graveler, 575 - obj_pal gMonShinyPalette_Golem, 576 - obj_pal gMonShinyPalette_Ponyta, 577 - obj_pal gMonShinyPalette_Rapidash, 578 - obj_pal gMonShinyPalette_Slowpoke, 579 - obj_pal gMonShinyPalette_Slowbro, 580 - obj_pal gMonShinyPalette_Magnemite, 581 - obj_pal gMonShinyPalette_Magneton, 582 - obj_pal gMonShinyPalette_Farfetchd, 583 - obj_pal gMonShinyPalette_Doduo, 584 - obj_pal gMonShinyPalette_Dodrio, 585 - obj_pal gMonShinyPalette_Seel, 586 - obj_pal gMonShinyPalette_Dewgong, 587 - obj_pal gMonShinyPalette_Grimer, 588 - obj_pal gMonShinyPalette_Muk, 589 - obj_pal gMonShinyPalette_Shellder, 590 - obj_pal gMonShinyPalette_Cloyster, 591 - obj_pal gMonShinyPalette_Gastly, 592 - obj_pal gMonShinyPalette_Haunter, 593 - obj_pal gMonShinyPalette_Gengar, 594 - obj_pal gMonShinyPalette_Onix, 595 - obj_pal gMonShinyPalette_Drowzee, 596 - obj_pal gMonShinyPalette_Hypno, 597 - obj_pal gMonShinyPalette_Krabby, 598 - obj_pal gMonShinyPalette_Kingler, 599 - obj_pal gMonShinyPalette_Voltorb, 600 - obj_pal gMonShinyPalette_Electrode, 601 - obj_pal gMonShinyPalette_Exeggcute, 602 - obj_pal gMonShinyPalette_Exeggutor, 603 - obj_pal gMonShinyPalette_Cubone, 604 - obj_pal gMonShinyPalette_Marowak, 605 - obj_pal gMonShinyPalette_Hitmonlee, 606 - obj_pal gMonShinyPalette_Hitmonchan, 607 - obj_pal gMonShinyPalette_Lickitung, 608 - obj_pal gMonShinyPalette_Koffing, 609 - obj_pal gMonShinyPalette_Weezing, 610 - obj_pal gMonShinyPalette_Rhyhorn, 611 - obj_pal gMonShinyPalette_Rhydon, 612 - obj_pal gMonShinyPalette_Chansey, 613 - obj_pal gMonShinyPalette_Tangela, 614 - obj_pal gMonShinyPalette_Kangaskhan, 615 - obj_pal gMonShinyPalette_Horsea, 616 - obj_pal gMonShinyPalette_Seadra, 617 - obj_pal gMonShinyPalette_Goldeen, 618 - obj_pal gMonShinyPalette_Seaking, 619 - obj_pal gMonShinyPalette_Staryu, 620 - obj_pal gMonShinyPalette_Starmie, 621 - obj_pal gMonShinyPalette_Mrmime, 622 - obj_pal gMonShinyPalette_Scyther, 623 - obj_pal gMonShinyPalette_Jynx, 624 - obj_pal gMonShinyPalette_Electabuzz, 625 - obj_pal gMonShinyPalette_Magmar, 626 - obj_pal gMonShinyPalette_Pinsir, 627 - obj_pal gMonShinyPalette_Tauros, 628 - obj_pal gMonShinyPalette_Magikarp, 629 - obj_pal gMonShinyPalette_Gyarados, 630 - obj_pal gMonShinyPalette_Lapras, 631 - obj_pal gMonShinyPalette_Ditto, 632 - obj_pal gMonShinyPalette_Eevee, 633 - obj_pal gMonShinyPalette_Vaporeon, 634 - obj_pal gMonShinyPalette_Jolteon, 635 - obj_pal gMonShinyPalette_Flareon, 636 - obj_pal gMonShinyPalette_Porygon, 637 - obj_pal gMonShinyPalette_Omanyte, 638 - obj_pal gMonShinyPalette_Omastar, 639 - obj_pal gMonShinyPalette_Kabuto, 640 - obj_pal gMonShinyPalette_Kabutops, 641 - obj_pal gMonShinyPalette_Aerodactyl, 642 - obj_pal gMonShinyPalette_Snorlax, 643 - obj_pal gMonShinyPalette_Articuno, 644 - obj_pal gMonShinyPalette_Zapdos, 645 - obj_pal gMonShinyPalette_Moltres, 646 - obj_pal gMonShinyPalette_Dratini, 647 - obj_pal gMonShinyPalette_Dragonair, 648 - obj_pal gMonShinyPalette_Dragonite, 649 - obj_pal gMonShinyPalette_Mewtwo, 650 - obj_pal gMonShinyPalette_Mew, 651 - obj_pal gMonShinyPalette_Chikorita, 652 - obj_pal gMonShinyPalette_Bayleef, 653 - obj_pal gMonShinyPalette_Meganium, 654 - obj_pal gMonShinyPalette_Cyndaquil, 655 - obj_pal gMonShinyPalette_Quilava, 656 - obj_pal gMonShinyPalette_Typhlosion, 657 - obj_pal gMonShinyPalette_Totodile, 658 - obj_pal gMonShinyPalette_Croconaw, 659 - obj_pal gMonShinyPalette_Feraligatr, 660 - obj_pal gMonShinyPalette_Sentret, 661 - obj_pal gMonShinyPalette_Furret, 662 - obj_pal gMonShinyPalette_Hoothoot, 663 - obj_pal gMonShinyPalette_Noctowl, 664 - obj_pal gMonShinyPalette_Ledyba, 665 - obj_pal gMonShinyPalette_Ledian, 666 - obj_pal gMonShinyPalette_Spinarak, 667 - obj_pal gMonShinyPalette_Ariados, 668 - obj_pal gMonShinyPalette_Crobat, 669 - obj_pal gMonShinyPalette_Chinchou, 670 - obj_pal gMonShinyPalette_Lanturn, 671 - obj_pal gMonShinyPalette_Pichu, 672 - obj_pal gMonShinyPalette_Cleffa, 673 - obj_pal gMonShinyPalette_Igglybuff, 674 - obj_pal gMonShinyPalette_Togepi, 675 - obj_pal gMonShinyPalette_Togetic, 676 - obj_pal gMonShinyPalette_Natu, 677 - obj_pal gMonShinyPalette_Xatu, 678 - obj_pal gMonShinyPalette_Mareep, 679 - obj_pal gMonShinyPalette_Flaaffy, 680 - obj_pal gMonShinyPalette_Ampharos, 681 - obj_pal gMonShinyPalette_Bellossom, 682 - obj_pal gMonShinyPalette_Marill, 683 - obj_pal gMonShinyPalette_Azumarill, 684 - obj_pal gMonShinyPalette_Sudowoodo, 685 - obj_pal gMonShinyPalette_Politoed, 686 - obj_pal gMonShinyPalette_Hoppip, 687 - obj_pal gMonShinyPalette_Skiploom, 688 - obj_pal gMonShinyPalette_Jumpluff, 689 - obj_pal gMonShinyPalette_Aipom, 690 - obj_pal gMonShinyPalette_Sunkern, 691 - obj_pal gMonShinyPalette_Sunflora, 692 - obj_pal gMonShinyPalette_Yanma, 693 - obj_pal gMonShinyPalette_Wooper, 694 - obj_pal gMonShinyPalette_Quagsire, 695 - obj_pal gMonShinyPalette_Espeon, 696 - obj_pal gMonShinyPalette_Umbreon, 697 - obj_pal gMonShinyPalette_Murkrow, 698 - obj_pal gMonShinyPalette_Slowking, 699 - obj_pal gMonShinyPalette_Misdreavus, 700 - obj_pal gMonShinyPalette_Unown, 701 - obj_pal gMonShinyPalette_Wobbuffet, 702 - obj_pal gMonShinyPalette_Girafarig, 703 - obj_pal gMonShinyPalette_Pineco, 704 - obj_pal gMonShinyPalette_Forretress, 705 - obj_pal gMonShinyPalette_Dunsparce, 706 - obj_pal gMonShinyPalette_Gligar, 707 - obj_pal gMonShinyPalette_Steelix, 708 - obj_pal gMonShinyPalette_Snubbull, 709 - obj_pal gMonShinyPalette_Granbull, 710 - obj_pal gMonShinyPalette_Qwilfish, 711 - obj_pal gMonShinyPalette_Scizor, 712 - obj_pal gMonShinyPalette_Shuckle, 713 - obj_pal gMonShinyPalette_Heracross, 714 - obj_pal gMonShinyPalette_Sneasel, 715 - obj_pal gMonShinyPalette_Teddiursa, 716 - obj_pal gMonShinyPalette_Ursaring, 717 - obj_pal gMonShinyPalette_Slugma, 718 - obj_pal gMonShinyPalette_Magcargo, 719 - obj_pal gMonShinyPalette_Swinub, 720 - obj_pal gMonShinyPalette_Piloswine, 721 - obj_pal gMonShinyPalette_Corsola, 722 - obj_pal gMonShinyPalette_Remoraid, 723 - obj_pal gMonShinyPalette_Octillery, 724 - obj_pal gMonShinyPalette_Delibird, 725 - obj_pal gMonShinyPalette_Mantine, 726 - obj_pal gMonShinyPalette_Skarmory, 727 - obj_pal gMonShinyPalette_Houndour, 728 - obj_pal gMonShinyPalette_Houndoom, 729 - obj_pal gMonShinyPalette_Kingdra, 730 - obj_pal gMonShinyPalette_Phanpy, 731 - obj_pal gMonShinyPalette_Donphan, 732 - obj_pal gMonShinyPalette_Porygon2, 733 - obj_pal gMonShinyPalette_Stantler, 734 - obj_pal gMonShinyPalette_Smeargle, 735 - obj_pal gMonShinyPalette_Tyrogue, 736 - obj_pal gMonShinyPalette_Hitmontop, 737 - obj_pal gMonShinyPalette_Smoochum, 738 - obj_pal gMonShinyPalette_Elekid, 739 - obj_pal gMonShinyPalette_Magby, 740 - obj_pal gMonShinyPalette_Miltank, 741 - obj_pal gMonShinyPalette_Blissey, 742 - obj_pal gMonShinyPalette_Raikou, 743 - obj_pal gMonShinyPalette_Entei, 744 - obj_pal gMonShinyPalette_Suicune, 745 - obj_pal gMonShinyPalette_Larvitar, 746 - obj_pal gMonShinyPalette_Pupitar, 747 - obj_pal gMonShinyPalette_Tyranitar, 748 - obj_pal gMonShinyPalette_Lugia, 749 - obj_pal gMonShinyPalette_HoOh, 750 - obj_pal gMonShinyPalette_Celebi, 751 - obj_pal gMonShinyPalette_DoubleQuestionMark, 752 - obj_pal gMonShinyPalette_DoubleQuestionMark, 753 - obj_pal gMonShinyPalette_DoubleQuestionMark, 754 - obj_pal gMonShinyPalette_DoubleQuestionMark, 755 - obj_pal gMonShinyPalette_DoubleQuestionMark, 756 - obj_pal gMonShinyPalette_DoubleQuestionMark, 757 - obj_pal gMonShinyPalette_DoubleQuestionMark, 758 - obj_pal gMonShinyPalette_DoubleQuestionMark, 759 - obj_pal gMonShinyPalette_DoubleQuestionMark, 760 - obj_pal gMonShinyPalette_DoubleQuestionMark, 761 - obj_pal gMonShinyPalette_DoubleQuestionMark, 762 - obj_pal gMonShinyPalette_DoubleQuestionMark, 763 - obj_pal gMonShinyPalette_DoubleQuestionMark, 764 - obj_pal gMonShinyPalette_DoubleQuestionMark, 765 - obj_pal gMonShinyPalette_DoubleQuestionMark, 766 - obj_pal gMonShinyPalette_DoubleQuestionMark, 767 - obj_pal gMonShinyPalette_DoubleQuestionMark, 768 - obj_pal gMonShinyPalette_DoubleQuestionMark, 769 - obj_pal gMonShinyPalette_DoubleQuestionMark, 770 - obj_pal gMonShinyPalette_DoubleQuestionMark, 771 - obj_pal gMonShinyPalette_DoubleQuestionMark, 772 - obj_pal gMonShinyPalette_DoubleQuestionMark, 773 - obj_pal gMonShinyPalette_DoubleQuestionMark, 774 - obj_pal gMonShinyPalette_DoubleQuestionMark, 775 - obj_pal gMonShinyPalette_DoubleQuestionMark, 776 - obj_pal gMonShinyPalette_Treecko, 777 - obj_pal gMonShinyPalette_Grovyle, 778 - obj_pal gMonShinyPalette_Sceptile, 779 - obj_pal gMonShinyPalette_Torchic, 780 - obj_pal gMonShinyPalette_Combusken, 781 - obj_pal gMonShinyPalette_Blaziken, 782 - obj_pal gMonShinyPalette_Mudkip, 783 - obj_pal gMonShinyPalette_Marshtomp, 784 - obj_pal gMonShinyPalette_Swampert, 785 - obj_pal gMonShinyPalette_Poochyena, 786 - obj_pal gMonShinyPalette_Mightyena, 787 - obj_pal gMonShinyPalette_Zigzagoon, 788 - obj_pal gMonShinyPalette_Linoone, 789 - obj_pal gMonShinyPalette_Wurmple, 790 - obj_pal gMonShinyPalette_Silcoon, 791 - obj_pal gMonShinyPalette_Beautifly, 792 - obj_pal gMonShinyPalette_Cascoon, 793 - obj_pal gMonShinyPalette_Dustox, 794 - obj_pal gMonShinyPalette_Lotad, 795 - obj_pal gMonShinyPalette_Lombre, 796 - obj_pal gMonShinyPalette_Ludicolo, 797 - obj_pal gMonShinyPalette_Seedot, 798 - obj_pal gMonShinyPalette_Nuzleaf, 799 - obj_pal gMonShinyPalette_Shiftry, 800 - obj_pal gMonShinyPalette_Nincada, 801 - obj_pal gMonShinyPalette_Ninjask, 802 - obj_pal gMonShinyPalette_Shedinja, 803 - obj_pal gMonShinyPalette_Taillow, 804 - obj_pal gMonShinyPalette_Swellow, 805 - obj_pal gMonShinyPalette_Shroomish, 806 - obj_pal gMonShinyPalette_Breloom, 807 - obj_pal gMonShinyPalette_Spinda, 808 - obj_pal gMonShinyPalette_Wingull, 809 - obj_pal gMonShinyPalette_Pelipper, 810 - obj_pal gMonShinyPalette_Surskit, 811 - obj_pal gMonShinyPalette_Masquerain, 812 - obj_pal gMonShinyPalette_Wailmer, 813 - obj_pal gMonShinyPalette_Wailord, 814 - obj_pal gMonShinyPalette_Skitty, 815 - obj_pal gMonShinyPalette_Delcatty, 816 - obj_pal gMonShinyPalette_Kecleon, 817 - obj_pal gMonShinyPalette_Baltoy, 818 - obj_pal gMonShinyPalette_Claydol, 819 - obj_pal gMonShinyPalette_Nosepass, 820 - obj_pal gMonShinyPalette_Torkoal, 821 - obj_pal gMonShinyPalette_Sableye, 822 - obj_pal gMonShinyPalette_Barboach, 823 - obj_pal gMonShinyPalette_Whiscash, 824 - obj_pal gMonShinyPalette_Luvdisc, 825 - obj_pal gMonShinyPalette_Corphish, 826 - obj_pal gMonShinyPalette_Crawdaunt, 827 - obj_pal gMonShinyPalette_Feebas, 828 - obj_pal gMonShinyPalette_Milotic, 829 - obj_pal gMonShinyPalette_Carvanha, 830 - obj_pal gMonShinyPalette_Sharpedo, 831 - obj_pal gMonShinyPalette_Trapinch, 832 - obj_pal gMonShinyPalette_Vibrava, 833 - obj_pal gMonShinyPalette_Flygon, 834 - obj_pal gMonShinyPalette_Makuhita, 835 - obj_pal gMonShinyPalette_Hariyama, 836 - obj_pal gMonShinyPalette_Electrike, 837 - obj_pal gMonShinyPalette_Manectric, 838 - obj_pal gMonShinyPalette_Numel, 839 - obj_pal gMonShinyPalette_Camerupt, 840 - obj_pal gMonShinyPalette_Spheal, 841 - obj_pal gMonShinyPalette_Sealeo, 842 - obj_pal gMonShinyPalette_Walrein, 843 - obj_pal gMonShinyPalette_Cacnea, 844 - obj_pal gMonShinyPalette_Cacturne, 845 - obj_pal gMonShinyPalette_Snorunt, 846 - obj_pal gMonShinyPalette_Glalie, 847 - obj_pal gMonShinyPalette_Lunatone, 848 - obj_pal gMonShinyPalette_Solrock, 849 - obj_pal gMonShinyPalette_Azurill, 850 - obj_pal gMonShinyPalette_Spoink, 851 - obj_pal gMonShinyPalette_Grumpig, 852 - obj_pal gMonShinyPalette_Plusle, 853 - obj_pal gMonShinyPalette_Minun, 854 - obj_pal gMonShinyPalette_Mawile, 855 - obj_pal gMonShinyPalette_Meditite, 856 - obj_pal gMonShinyPalette_Medicham, 857 - obj_pal gMonShinyPalette_Swablu, 858 - obj_pal gMonShinyPalette_Altaria, 859 - obj_pal gMonShinyPalette_Wynaut, 860 - obj_pal gMonShinyPalette_Duskull, 861 - obj_pal gMonShinyPalette_Dusclops, 862 - obj_pal gMonShinyPalette_Roselia, 863 - obj_pal gMonShinyPalette_Slakoth, 864 - obj_pal gMonShinyPalette_Vigoroth, 865 - obj_pal gMonShinyPalette_Slaking, 866 - obj_pal gMonShinyPalette_Gulpin, 867 - obj_pal gMonShinyPalette_Swalot, 868 - obj_pal gMonShinyPalette_Tropius, 869 - obj_pal gMonShinyPalette_Whismur, 870 - obj_pal gMonShinyPalette_Loudred, 871 - obj_pal gMonShinyPalette_Exploud, 872 - obj_pal gMonShinyPalette_Clamperl, 873 - obj_pal gMonShinyPalette_Huntail, 874 - obj_pal gMonShinyPalette_Gorebyss, 875 - obj_pal gMonShinyPalette_Absol, 876 - obj_pal gMonShinyPalette_Shuppet, 877 - obj_pal gMonShinyPalette_Banette, 878 - obj_pal gMonShinyPalette_Seviper, 879 - obj_pal gMonShinyPalette_Zangoose, 880 - obj_pal gMonShinyPalette_Relicanth, 881 - obj_pal gMonShinyPalette_Aron, 882 - obj_pal gMonShinyPalette_Lairon, 883 - obj_pal gMonShinyPalette_Aggron, 884 - obj_pal gMonShinyPalette_Castform, 885 - obj_pal gMonShinyPalette_Volbeat, 886 - obj_pal gMonShinyPalette_Illumise, 887 - obj_pal gMonShinyPalette_Lileep, 888 - obj_pal gMonShinyPalette_Cradily, 889 - obj_pal gMonShinyPalette_Anorith, 890 - obj_pal gMonShinyPalette_Armaldo, 891 - obj_pal gMonShinyPalette_Ralts, 892 - obj_pal gMonShinyPalette_Kirlia, 893 - obj_pal gMonShinyPalette_Gardevoir, 894 - obj_pal gMonShinyPalette_Bagon, 895 - obj_pal gMonShinyPalette_Shelgon, 896 - obj_pal gMonShinyPalette_Salamence, 897 - obj_pal gMonShinyPalette_Beldum, 898 - obj_pal gMonShinyPalette_Metang, 899 - obj_pal gMonShinyPalette_Metagross, 900 - obj_pal gMonShinyPalette_Regirock, 901 - obj_pal gMonShinyPalette_Regice, 902 - obj_pal gMonShinyPalette_Registeel, 903 - obj_pal gMonShinyPalette_Kyogre, 904 - obj_pal gMonShinyPalette_Groudon, 905 - obj_pal gMonShinyPalette_Rayquaza, 906 - obj_pal gMonShinyPalette_Latias, 907 - obj_pal gMonShinyPalette_Latios, 908 - obj_pal gMonShinyPalette_Jirachi, 909 - obj_pal gMonShinyPalette_Deoxys, 910 - obj_pal gMonShinyPalette_Chimecho, 911 - obj_pal gMonPalette_Egg, 912 - obj_pal gMonShinyPalette_Unown, 913 - obj_pal gMonShinyPalette_Unown, 914 - obj_pal gMonShinyPalette_Unown, 915 - obj_pal gMonShinyPalette_Unown, 916 - obj_pal gMonShinyPalette_Unown, 917 - obj_pal gMonShinyPalette_Unown, 918 - obj_pal gMonShinyPalette_Unown, 919 - obj_pal gMonShinyPalette_Unown, 920 - obj_pal gMonShinyPalette_Unown, 921 - obj_pal gMonShinyPalette_Unown, 922 - obj_pal gMonShinyPalette_Unown, 923 - obj_pal gMonShinyPalette_Unown, 924 - obj_pal gMonShinyPalette_Unown, 925 - obj_pal gMonShinyPalette_Unown, 926 - obj_pal gMonShinyPalette_Unown, 927 - obj_pal gMonShinyPalette_Unown, 928 - obj_pal gMonShinyPalette_Unown, 929 - obj_pal gMonShinyPalette_Unown, 930 - obj_pal gMonShinyPalette_Unown, 931 - obj_pal gMonShinyPalette_Unown, 932 - obj_pal gMonShinyPalette_Unown, 933 - obj_pal gMonShinyPalette_Unown, 934 - obj_pal gMonShinyPalette_Unown, 935 - obj_pal gMonShinyPalette_Unown, 936 - obj_pal gMonShinyPalette_Unown, 937 - obj_pal gMonShinyPalette_Unown, 938 - obj_pal gMonShinyPalette_Unown, 939 diff --git a/data/graphics/trainers/front_pic_coords.inc b/data/graphics/trainers/front_pic_coords.inc deleted file mode 100644 index 8d20f0a9ee..0000000000 --- a/data/graphics/trainers/front_pic_coords.inc +++ /dev/null @@ -1,95 +0,0 @@ - .align 2 -gTrainerFrontPicCoords:: @ 83054E0 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x02, 0x00, 0x00 - .byte 0x08, 0x02, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x02, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x02, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x02, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x02, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 diff --git a/data/graphics/trainers/front_pic_palette_table.inc b/data/graphics/trainers/front_pic_palette_table.inc deleted file mode 100644 index 44cf98dabc..0000000000 --- a/data/graphics/trainers/front_pic_palette_table.inc +++ /dev/null @@ -1,95 +0,0 @@ - .align 2 -gTrainerFrontPicPaletteTable:: @ 830593C - obj_pal gTrainerPalette_Hiker, 0 - obj_pal gTrainerPalette_AquaGruntM, 1 - obj_pal gTrainerPalette_PokemonBreederF, 2 - obj_pal gTrainerPalette_CoolTrainerM, 3 - obj_pal gTrainerPalette_BirdKeeper, 4 - obj_pal gTrainerPalette_Collector, 5 - obj_pal gTrainerPalette_AquaGruntF, 6 - obj_pal gTrainerPalette_SwimmerM, 7 - obj_pal gTrainerPalette_MagmaGruntM, 8 - obj_pal gTrainerPalette_ExpertM, 9 - obj_pal gTrainerPalette_AquaAdminM, 10 - obj_pal gTrainerPalette_BlackBelt, 11 - obj_pal gTrainerPalette_AquaAdminF, 12 - obj_pal gTrainerPalette_AquaLeaderArchie, 13 - obj_pal gTrainerPalette_HexManiac, 14 - obj_pal gTrainerPalette_AromaLady, 15 - obj_pal gTrainerPalette_RuinManiac, 16 - obj_pal gTrainerPalette_Interviewer, 17 - obj_pal gTrainerPalette_TuberF, 18 - obj_pal gTrainerPalette_TuberM, 19 - obj_pal gTrainerPalette_CoolTrainerF, 20 - obj_pal gTrainerPalette_Lady, 21 - obj_pal gTrainerPalette_Beauty, 22 - obj_pal gTrainerPalette_RichBoy, 23 - obj_pal gTrainerPalette_ExpertF, 24 - obj_pal gTrainerPalette_Pokemaniac, 25 - obj_pal gTrainerPalette_MagmaGruntF, 26 - obj_pal gTrainerPalette_Guitarist, 27 - obj_pal gTrainerPalette_Kindler, 28 - obj_pal gTrainerPalette_Camper, 29 - obj_pal gTrainerPalette_Picnicker, 30 - obj_pal gTrainerPalette_BugManiac, 31 - obj_pal gTrainerPalette_PokemonBreederM, 32 - obj_pal gTrainerPalette_PsychicM, 33 - obj_pal gTrainerPalette_PsychicF, 34 - obj_pal gTrainerPalette_Gentleman, 35 - obj_pal gTrainerPalette_EliteFourSidney, 36 - obj_pal gTrainerPalette_EliteFourPhoebe, 37 - obj_pal gTrainerPalette_EliteFourGlacia, 38 - obj_pal gTrainerPalette_EliteFourDrake, 39 - obj_pal gTrainerPalette_LeaderRoxanne, 40 - obj_pal gTrainerPalette_LeaderBrawly, 41 - obj_pal gTrainerPalette_LeaderWattson, 42 - obj_pal gTrainerPalette_LeaderFlannery, 43 - obj_pal gTrainerPalette_LeaderNorman, 44 - obj_pal gTrainerPalette_LeaderWinona, 45 - obj_pal gTrainerPalette_LeaderTateAndLiza, 46 - obj_pal gTrainerPalette_LeaderJuan, 47 - obj_pal gTrainerPalette_SchoolKidM, 48 - obj_pal gTrainerPalette_SchoolKidF, 49 - obj_pal gTrainerPalette_SrAndJr, 50 - obj_pal gTrainerPalette_WinstrateM, 51 - obj_pal gTrainerPalette_WinstrateF, 52 - obj_pal gTrainerPalette_Youngster, 53 - obj_pal gTrainerPalette_ChampionWallace, 54 - obj_pal gTrainerPalette_Fisherman, 55 - obj_pal gTrainerPalette_CyclingTriathleteM, 56 - obj_pal gTrainerPalette_CyclingTriathleteF, 57 - obj_pal gTrainerPalette_RunningTriathleteM, 58 - obj_pal gTrainerPalette_RunningTriathleteF, 59 - obj_pal gTrainerPalette_SwimmingTriathleteM, 60 - obj_pal gTrainerPalette_SwimmingTriathleteF, 61 - obj_pal gTrainerPalette_DragonTamer, 62 - obj_pal gTrainerPalette_NinjaBoy, 63 - obj_pal gTrainerPalette_BattleGirl, 64 - obj_pal gTrainerPalette_ParasolLady, 65 - obj_pal gTrainerPalette_SwimmerF, 66 - obj_pal gTrainerPalette_Twins, 67 - obj_pal gTrainerPalette_Sailor, 68 - obj_pal gTrainerPalette_MagmaAdmin, 69 - obj_pal gTrainerPalette_Wally, 70 - obj_pal gTrainerPalette_Brendan, 71 - obj_pal gTrainerPalette_May, 72 - obj_pal gTrainerPalette_BugCatcher, 73 - obj_pal gTrainerPalette_PokemonRangerM, 74 - obj_pal gTrainerPalette_PokemonRangerF, 75 - obj_pal gTrainerPalette_MagmaLeaderMaxie, 76 - obj_pal gTrainerPalette_Lass, 77 - obj_pal gTrainerPalette_YoungCouple, 78 - obj_pal gTrainerPalette_OldCouple, 79 - obj_pal gTrainerPalette_SisAndBro, 80 - obj_pal gTrainerPalette_Steven, 81 - obj_pal gTrainerPalette_SalonMaidenAnabel, 82 - obj_pal gTrainerPalette_DomeAceTucker, 83 - obj_pal gTrainerPalette_PalaceMavenSpenser, 84 - obj_pal gTrainerPalette_ArenaTycoonGreta, 85 - obj_pal gTrainerPalette_FactoryHeadNoland, 86 - obj_pal gTrainerPalette_PikeQueenLucy, 87 - obj_pal gTrainerPalette_PyramidKingBrandon, 88 - obj_pal gTrainerPalette_Red, 89 - obj_pal gTrainerPalette_Leaf, 90 - obj_pal gTrainerPalette_RubySapphireBrendan, 91 - obj_pal gTrainerPalette_RubySapphireMay, 92 diff --git a/data/graphics/trainers/front_pic_table.inc b/data/graphics/trainers/front_pic_table.inc deleted file mode 100644 index 91294d170f..0000000000 --- a/data/graphics/trainers/front_pic_table.inc +++ /dev/null @@ -1,95 +0,0 @@ - .align 2 -gTrainerFrontPicTable:: @ 8305654 - obj_tiles gTrainerFrontPic_Hiker, 0x800, 0 - obj_tiles gTrainerFrontPic_AquaGruntM, 0x800, 1 - obj_tiles gTrainerFrontPic_PokemonBreederF, 0x800, 2 - obj_tiles gTrainerFrontPic_CoolTrainerM, 0x800, 3 - obj_tiles gTrainerFrontPic_BirdKeeper, 0x800, 4 - obj_tiles gTrainerFrontPic_Collector, 0x800, 5 - obj_tiles gTrainerFrontPic_AquaGruntF, 0x800, 6 - obj_tiles gTrainerFrontPic_SwimmerM, 0x800, 7 - obj_tiles gTrainerFrontPic_MagmaGruntM, 0x800, 8 - obj_tiles gTrainerFrontPic_ExpertM, 0x800, 9 - obj_tiles gTrainerFrontPic_AquaAdminM, 0x800, 10 - obj_tiles gTrainerFrontPic_BlackBelt, 0x800, 11 - obj_tiles gTrainerFrontPic_AquaAdminF, 0x800, 12 - obj_tiles gTrainerFrontPic_AquaLeaderArchie, 0x800, 13 - obj_tiles gTrainerFrontPic_HexManiac, 0x800, 14 - obj_tiles gTrainerFrontPic_AromaLady, 0x800, 15 - obj_tiles gTrainerFrontPic_RuinManiac, 0x800, 16 - obj_tiles gTrainerFrontPic_Interviewer, 0x800, 17 - obj_tiles gTrainerFrontPic_TuberF, 0x800, 18 - obj_tiles gTrainerFrontPic_TuberM, 0x800, 19 - obj_tiles gTrainerFrontPic_CoolTrainerF, 0x800, 20 - obj_tiles gTrainerFrontPic_Lady, 0x800, 21 - obj_tiles gTrainerFrontPic_Beauty, 0x800, 22 - obj_tiles gTrainerFrontPic_RichBoy, 0x800, 23 - obj_tiles gTrainerFrontPic_ExpertF, 0x800, 24 - obj_tiles gTrainerFrontPic_Pokemaniac, 0x800, 25 - obj_tiles gTrainerFrontPic_MagmaGruntF, 0x800, 26 - obj_tiles gTrainerFrontPic_Guitarist, 0x800, 27 - obj_tiles gTrainerFrontPic_Kindler, 0x800, 28 - obj_tiles gTrainerFrontPic_Camper, 0x800, 29 - obj_tiles gTrainerFrontPic_Picnicker, 0x800, 30 - obj_tiles gTrainerFrontPic_BugManiac, 0x800, 31 - obj_tiles gTrainerFrontPic_PokemonBreederM, 0x800, 32 - obj_tiles gTrainerFrontPic_PsychicM, 0x800, 33 - obj_tiles gTrainerFrontPic_PsychicF, 0x800, 34 - obj_tiles gTrainerFrontPic_Gentleman, 0x800, 35 - obj_tiles gTrainerFrontPic_EliteFourSidney, 0x800, 36 - obj_tiles gTrainerFrontPic_EliteFourPhoebe, 0x800, 37 - obj_tiles gTrainerFrontPic_EliteFourGlacia, 0x800, 38 - obj_tiles gTrainerFrontPic_EliteFourDrake, 0x800, 39 - obj_tiles gTrainerFrontPic_LeaderRoxanne, 0x800, 40 - obj_tiles gTrainerFrontPic_LeaderBrawly, 0x800, 41 - obj_tiles gTrainerFrontPic_LeaderWattson, 0x800, 42 - obj_tiles gTrainerFrontPic_LeaderFlannery, 0x800, 43 - obj_tiles gTrainerFrontPic_LeaderNorman, 0x800, 44 - obj_tiles gTrainerFrontPic_LeaderWinona, 0x800, 45 - obj_tiles gTrainerFrontPic_LeaderTateAndLiza, 0x800, 46 - obj_tiles gTrainerFrontPic_LeaderJuan, 0x800, 47 - obj_tiles gTrainerFrontPic_SchoolKidM, 0x800, 48 - obj_tiles gTrainerFrontPic_SchoolKidF, 0x800, 49 - obj_tiles gTrainerFrontPic_SrAndJr, 0x1000, 50 - obj_tiles gTrainerFrontPic_WinstrateM, 0x1000, 51 - obj_tiles gTrainerFrontPic_WinstrateF, 0x800, 52 - obj_tiles gTrainerFrontPic_Youngster, 0x800, 53 - obj_tiles gTrainerFrontPic_ChampionWallace, 0x1000, 54 - obj_tiles gTrainerFrontPic_Fisherman, 0x800, 55 - obj_tiles gTrainerFrontPic_CyclingTriathleteM, 0x1000, 56 - obj_tiles gTrainerFrontPic_CyclingTriathleteF, 0x800, 57 - obj_tiles gTrainerFrontPic_RunningTriathleteM, 0x800, 58 - obj_tiles gTrainerFrontPic_RunningTriathleteF, 0x800, 59 - obj_tiles gTrainerFrontPic_SwimmingTriathleteM, 0x800, 60 - obj_tiles gTrainerFrontPic_SwimmingTriathleteF, 0x800, 61 - obj_tiles gTrainerFrontPic_DragonTamer, 0x800, 62 - obj_tiles gTrainerFrontPic_NinjaBoy, 0x800, 63 - obj_tiles gTrainerFrontPic_BattleGirl, 0x1000, 64 - obj_tiles gTrainerFrontPic_ParasolLady, 0x800, 65 - obj_tiles gTrainerFrontPic_SwimmerF, 0x800, 66 - obj_tiles gTrainerFrontPic_Twins, 0x800, 67 - obj_tiles gTrainerFrontPic_Sailor, 0x800, 68 - obj_tiles gTrainerFrontPic_MagmaAdmin, 0x800, 69 - obj_tiles gTrainerFrontPic_Wally, 0x800, 70 - obj_tiles gTrainerFrontPic_Brendan, 0x800, 71 - obj_tiles gTrainerFrontPic_May, 0x800, 72 - obj_tiles gTrainerFrontPic_BugCatcher, 0x800, 73 - obj_tiles gTrainerFrontPic_PokemonRangerM, 0x800, 74 - obj_tiles gTrainerFrontPic_PokemonRangerF, 0x800, 75 - obj_tiles gTrainerFrontPic_MagmaLeaderMaxie, 0x800, 76 - obj_tiles gTrainerFrontPic_Lass, 0x800, 77 - obj_tiles gTrainerFrontPic_YoungCouple, 0x800, 78 - obj_tiles gTrainerFrontPic_OldCouple, 0x800, 79 - obj_tiles gTrainerFrontPic_SisAndBro, 0x800, 80 - obj_tiles gTrainerFrontPic_Steven, 0x800, 81 - obj_tiles gTrainerFrontPic_SalonMaidenAnabel, 0x800, 82 - obj_tiles gTrainerFrontPic_DomeAceTucker, 0x800, 83 - obj_tiles gTrainerFrontPic_PalaceMavenSpenser, 0x800, 84 - obj_tiles gTrainerFrontPic_ArenaTycoonGreta, 0x1000, 85 - obj_tiles gTrainerFrontPic_FactoryHeadNoland, 0x800, 86 - obj_tiles gTrainerFrontPic_PikeQueenLucy, 0x800, 87 - obj_tiles gTrainerFrontPic_PyramidKingBrandon, 0x800, 88 - obj_tiles gTrainerFrontPic_Red, 0x800, 89 - obj_tiles gTrainerFrontPic_Leaf, 0x800, 90 - obj_tiles gTrainerFrontPic_RubySapphireBrendan, 0x800, 91 - obj_tiles gTrainerFrontPic_RubySapphireMay, 0x800, 92 diff --git a/include/data/pokemon_graphics/back_pic_table.h b/include/data/pokemon_graphics/back_pic_table.h new file mode 100644 index 0000000000..7426a8dc42 --- /dev/null +++ b/include/data/pokemon_graphics/back_pic_table.h @@ -0,0 +1,443 @@ +const struct CompressedSpriteSheet gMonBackPicTable[] = +{ + gMonBackPic_CircledQuestionMark, 0x800, 0, + gMonBackPic_Bulbasaur, 0x800, 1, + gMonBackPic_Ivysaur, 0x800, 2, + gMonBackPic_Venusaur, 0x800, 3, + gMonBackPic_Charmander, 0x800, 4, + gMonBackPic_Charmeleon, 0x800, 5, + gMonBackPic_Charizard, 0x800, 6, + gMonBackPic_Squirtle, 0x800, 7, + gMonBackPic_Wartortle, 0x800, 8, + gMonBackPic_Blastoise, 0x800, 9, + gMonBackPic_Caterpie, 0x800, 10, + gMonBackPic_Metapod, 0x800, 11, + gMonBackPic_Butterfree, 0x800, 12, + gMonBackPic_Weedle, 0x800, 13, + gMonBackPic_Kakuna, 0x800, 14, + gMonBackPic_Beedrill, 0x800, 15, + gMonBackPic_Pidgey, 0x800, 16, + gMonBackPic_Pidgeotto, 0x800, 17, + gMonBackPic_Pidgeot, 0x800, 18, + gMonBackPic_Rattata, 0x800, 19, + gMonBackPic_Raticate, 0x800, 20, + gMonBackPic_Spearow, 0x800, 21, + gMonBackPic_Fearow, 0x800, 22, + gMonBackPic_Ekans, 0x800, 23, + gMonBackPic_Arbok, 0x800, 24, + gMonBackPic_Pikachu, 0x800, 25, + gMonBackPic_Raichu, 0x800, 26, + gMonBackPic_Sandshrew, 0x800, 27, + gMonBackPic_Sandslash, 0x800, 28, + gMonBackPic_NidoranF, 0x800, 29, + gMonBackPic_Nidorina, 0x800, 30, + gMonBackPic_Nidoqueen, 0x800, 31, + gMonBackPic_NidoranM, 0x800, 32, + gMonBackPic_Nidorino, 0x800, 33, + gMonBackPic_Nidoking, 0x800, 34, + gMonBackPic_Clefairy, 0x800, 35, + gMonBackPic_Clefable, 0x800, 36, + gMonBackPic_Vulpix, 0x800, 37, + gMonBackPic_Ninetales, 0x800, 38, + gMonBackPic_Jigglypuff, 0x800, 39, + gMonBackPic_Wigglytuff, 0x800, 40, + gMonBackPic_Zubat, 0x800, 41, + gMonBackPic_Golbat, 0x800, 42, + gMonBackPic_Oddish, 0x800, 43, + gMonBackPic_Gloom, 0x800, 44, + gMonBackPic_Vileplume, 0x800, 45, + gMonBackPic_Paras, 0x800, 46, + gMonBackPic_Parasect, 0x800, 47, + gMonBackPic_Venonat, 0x800, 48, + gMonBackPic_Venomoth, 0x800, 49, + gMonBackPic_Diglett, 0x800, 50, + gMonBackPic_Dugtrio, 0x800, 51, + gMonBackPic_Meowth, 0x800, 52, + gMonBackPic_Persian, 0x800, 53, + gMonBackPic_Psyduck, 0x800, 54, + gMonBackPic_Golduck, 0x800, 55, + gMonBackPic_Mankey, 0x800, 56, + gMonBackPic_Primeape, 0x800, 57, + gMonBackPic_Growlithe, 0x800, 58, + gMonBackPic_Arcanine, 0x800, 59, + gMonBackPic_Poliwag, 0x800, 60, + gMonBackPic_Poliwhirl, 0x800, 61, + gMonBackPic_Poliwrath, 0x800, 62, + gMonBackPic_Abra, 0x800, 63, + gMonBackPic_Kadabra, 0x800, 64, + gMonBackPic_Alakazam, 0x800, 65, + gMonBackPic_Machop, 0x800, 66, + gMonBackPic_Machoke, 0x800, 67, + gMonBackPic_Machamp, 0x800, 68, + gMonBackPic_Bellsprout, 0x800, 69, + gMonBackPic_Weepinbell, 0x800, 70, + gMonBackPic_Victreebel, 0x800, 71, + gMonBackPic_Tentacool, 0x800, 72, + gMonBackPic_Tentacruel, 0x800, 73, + gMonBackPic_Geodude, 0x800, 74, + gMonBackPic_Graveler, 0x800, 75, + gMonBackPic_Golem, 0x800, 76, + gMonBackPic_Ponyta, 0x800, 77, + gMonBackPic_Rapidash, 0x800, 78, + gMonBackPic_Slowpoke, 0x800, 79, + gMonBackPic_Slowbro, 0x800, 80, + gMonBackPic_Magnemite, 0x800, 81, + gMonBackPic_Magneton, 0x800, 82, + gMonBackPic_Farfetchd, 0x800, 83, + gMonBackPic_Doduo, 0x800, 84, + gMonBackPic_Dodrio, 0x800, 85, + gMonBackPic_Seel, 0x800, 86, + gMonBackPic_Dewgong, 0x800, 87, + gMonBackPic_Grimer, 0x800, 88, + gMonBackPic_Muk, 0x800, 89, + gMonBackPic_Shellder, 0x800, 90, + gMonBackPic_Cloyster, 0x800, 91, + gMonBackPic_Gastly, 0x800, 92, + gMonBackPic_Haunter, 0x800, 93, + gMonBackPic_Gengar, 0x800, 94, + gMonBackPic_Onix, 0x800, 95, + gMonBackPic_Drowzee, 0x800, 96, + gMonBackPic_Hypno, 0x800, 97, + gMonBackPic_Krabby, 0x800, 98, + gMonBackPic_Kingler, 0x800, 99, + gMonBackPic_Voltorb, 0x800, 100, + gMonBackPic_Electrode, 0x800, 101, + gMonBackPic_Exeggcute, 0x800, 102, + gMonBackPic_Exeggutor, 0x800, 103, + gMonBackPic_Cubone, 0x800, 104, + gMonBackPic_Marowak, 0x800, 105, + gMonBackPic_Hitmonlee, 0x800, 106, + gMonBackPic_Hitmonchan, 0x800, 107, + gMonBackPic_Lickitung, 0x800, 108, + gMonBackPic_Koffing, 0x800, 109, + gMonBackPic_Weezing, 0x800, 110, + gMonBackPic_Rhyhorn, 0x800, 111, + gMonBackPic_Rhydon, 0x800, 112, + gMonBackPic_Chansey, 0x800, 113, + gMonBackPic_Tangela, 0x800, 114, + gMonBackPic_Kangaskhan, 0x800, 115, + gMonBackPic_Horsea, 0x800, 116, + gMonBackPic_Seadra, 0x800, 117, + gMonBackPic_Goldeen, 0x800, 118, + gMonBackPic_Seaking, 0x800, 119, + gMonBackPic_Staryu, 0x800, 120, + gMonBackPic_Starmie, 0x800, 121, + gMonBackPic_Mrmime, 0x800, 122, + gMonBackPic_Scyther, 0x800, 123, + gMonBackPic_Jynx, 0x800, 124, + gMonBackPic_Electabuzz, 0x800, 125, + gMonBackPic_Magmar, 0x800, 126, + gMonBackPic_Pinsir, 0x800, 127, + gMonBackPic_Tauros, 0x800, 128, + gMonBackPic_Magikarp, 0x800, 129, + gMonBackPic_Gyarados, 0x800, 130, + gMonBackPic_Lapras, 0x800, 131, + gMonBackPic_Ditto, 0x800, 132, + gMonBackPic_Eevee, 0x800, 133, + gMonBackPic_Vaporeon, 0x800, 134, + gMonBackPic_Jolteon, 0x800, 135, + gMonBackPic_Flareon, 0x800, 136, + gMonBackPic_Porygon, 0x800, 137, + gMonBackPic_Omanyte, 0x800, 138, + gMonBackPic_Omastar, 0x800, 139, + gMonBackPic_Kabuto, 0x800, 140, + gMonBackPic_Kabutops, 0x800, 141, + gMonBackPic_Aerodactyl, 0x800, 142, + gMonBackPic_Snorlax, 0x800, 143, + gMonBackPic_Articuno, 0x800, 144, + gMonBackPic_Zapdos, 0x800, 145, + gMonBackPic_Moltres, 0x800, 146, + gMonBackPic_Dratini, 0x800, 147, + gMonBackPic_Dragonair, 0x800, 148, + gMonBackPic_Dragonite, 0x800, 149, + gMonBackPic_Mewtwo, 0x800, 150, + gMonBackPic_Mew, 0x800, 151, + gMonBackPic_Chikorita, 0x800, 152, + gMonBackPic_Bayleef, 0x800, 153, + gMonBackPic_Meganium, 0x800, 154, + gMonBackPic_Cyndaquil, 0x800, 155, + gMonBackPic_Quilava, 0x800, 156, + gMonBackPic_Typhlosion, 0x800, 157, + gMonBackPic_Totodile, 0x800, 158, + gMonBackPic_Croconaw, 0x800, 159, + gMonBackPic_Feraligatr, 0x800, 160, + gMonBackPic_Sentret, 0x800, 161, + gMonBackPic_Furret, 0x800, 162, + gMonBackPic_Hoothoot, 0x800, 163, + gMonBackPic_Noctowl, 0x800, 164, + gMonBackPic_Ledyba, 0x800, 165, + gMonBackPic_Ledian, 0x800, 166, + gMonBackPic_Spinarak, 0x800, 167, + gMonBackPic_Ariados, 0x800, 168, + gMonBackPic_Crobat, 0x800, 169, + gMonBackPic_Chinchou, 0x800, 170, + gMonBackPic_Lanturn, 0x800, 171, + gMonBackPic_Pichu, 0x800, 172, + gMonBackPic_Cleffa, 0x800, 173, + gMonBackPic_Igglybuff, 0x800, 174, + gMonBackPic_Togepi, 0x800, 175, + gMonBackPic_Togetic, 0x800, 176, + gMonBackPic_Natu, 0x800, 177, + gMonBackPic_Xatu, 0x800, 178, + gMonBackPic_Mareep, 0x800, 179, + gMonBackPic_Flaaffy, 0x800, 180, + gMonBackPic_Ampharos, 0x800, 181, + gMonBackPic_Bellossom, 0x800, 182, + gMonBackPic_Marill, 0x800, 183, + gMonBackPic_Azumarill, 0x800, 184, + gMonBackPic_Sudowoodo, 0x800, 185, + gMonBackPic_Politoed, 0x800, 186, + gMonBackPic_Hoppip, 0x800, 187, + gMonBackPic_Skiploom, 0x800, 188, + gMonBackPic_Jumpluff, 0x800, 189, + gMonBackPic_Aipom, 0x800, 190, + gMonBackPic_Sunkern, 0x800, 191, + gMonBackPic_Sunflora, 0x800, 192, + gMonBackPic_Yanma, 0x800, 193, + gMonBackPic_Wooper, 0x800, 194, + gMonBackPic_Quagsire, 0x800, 195, + gMonBackPic_Espeon, 0x800, 196, + gMonBackPic_Umbreon, 0x800, 197, + gMonBackPic_Murkrow, 0x800, 198, + gMonBackPic_Slowking, 0x800, 199, + gMonBackPic_Misdreavus, 0x800, 200, + gMonBackPic_UnownA, 0x800, 201, + gMonBackPic_Wobbuffet, 0x800, 202, + gMonBackPic_Girafarig, 0x800, 203, + gMonBackPic_Pineco, 0x800, 204, + gMonBackPic_Forretress, 0x800, 205, + gMonBackPic_Dunsparce, 0x800, 206, + gMonBackPic_Gligar, 0x800, 207, + gMonBackPic_Steelix, 0x800, 208, + gMonBackPic_Snubbull, 0x800, 209, + gMonBackPic_Granbull, 0x800, 210, + gMonBackPic_Qwilfish, 0x800, 211, + gMonBackPic_Scizor, 0x800, 212, + gMonBackPic_Shuckle, 0x800, 213, + gMonBackPic_Heracross, 0x800, 214, + gMonBackPic_Sneasel, 0x800, 215, + gMonBackPic_Teddiursa, 0x800, 216, + gMonBackPic_Ursaring, 0x800, 217, + gMonBackPic_Slugma, 0x800, 218, + gMonBackPic_Magcargo, 0x800, 219, + gMonBackPic_Swinub, 0x800, 220, + gMonBackPic_Piloswine, 0x800, 221, + gMonBackPic_Corsola, 0x800, 222, + gMonBackPic_Remoraid, 0x800, 223, + gMonBackPic_Octillery, 0x800, 224, + gMonBackPic_Delibird, 0x800, 225, + gMonBackPic_Mantine, 0x800, 226, + gMonBackPic_Skarmory, 0x800, 227, + gMonBackPic_Houndour, 0x800, 228, + gMonBackPic_Houndoom, 0x800, 229, + gMonBackPic_Kingdra, 0x800, 230, + gMonBackPic_Phanpy, 0x800, 231, + gMonBackPic_Donphan, 0x800, 232, + gMonBackPic_Porygon2, 0x800, 233, + gMonBackPic_Stantler, 0x800, 234, + gMonBackPic_Smeargle, 0x800, 235, + gMonBackPic_Tyrogue, 0x800, 236, + gMonBackPic_Hitmontop, 0x800, 237, + gMonBackPic_Smoochum, 0x800, 238, + gMonBackPic_Elekid, 0x800, 239, + gMonBackPic_Magby, 0x800, 240, + gMonBackPic_Miltank, 0x800, 241, + gMonBackPic_Blissey, 0x800, 242, + gMonBackPic_Raikou, 0x800, 243, + gMonBackPic_Entei, 0x800, 244, + gMonBackPic_Suicune, 0x800, 245, + gMonBackPic_Larvitar, 0x800, 246, + gMonBackPic_Pupitar, 0x800, 247, + gMonBackPic_Tyranitar, 0x800, 248, + gMonBackPic_Lugia, 0x800, 249, + gMonBackPic_HoOh, 0x800, 250, + gMonBackPic_Celebi, 0x800, 251, + gMonBackPic_DoubleQuestionMark, 0x800, 252, + gMonBackPic_DoubleQuestionMark, 0x800, 253, + gMonBackPic_DoubleQuestionMark, 0x800, 254, + gMonBackPic_DoubleQuestionMark, 0x800, 255, + gMonBackPic_DoubleQuestionMark, 0x800, 256, + gMonBackPic_DoubleQuestionMark, 0x800, 257, + gMonBackPic_DoubleQuestionMark, 0x800, 258, + gMonBackPic_DoubleQuestionMark, 0x800, 259, + gMonBackPic_DoubleQuestionMark, 0x800, 260, + gMonBackPic_DoubleQuestionMark, 0x800, 261, + gMonBackPic_DoubleQuestionMark, 0x800, 262, + gMonBackPic_DoubleQuestionMark, 0x800, 263, + gMonBackPic_DoubleQuestionMark, 0x800, 264, + gMonBackPic_DoubleQuestionMark, 0x800, 265, + gMonBackPic_DoubleQuestionMark, 0x800, 266, + gMonBackPic_DoubleQuestionMark, 0x800, 267, + gMonBackPic_DoubleQuestionMark, 0x800, 268, + gMonBackPic_DoubleQuestionMark, 0x800, 269, + gMonBackPic_DoubleQuestionMark, 0x800, 270, + gMonBackPic_DoubleQuestionMark, 0x800, 271, + gMonBackPic_DoubleQuestionMark, 0x800, 272, + gMonBackPic_DoubleQuestionMark, 0x800, 273, + gMonBackPic_DoubleQuestionMark, 0x800, 274, + gMonBackPic_DoubleQuestionMark, 0x800, 275, + gMonBackPic_DoubleQuestionMark, 0x800, 276, + gMonBackPic_Treecko, 0x800, 277, + gMonBackPic_Grovyle, 0x800, 278, + gMonBackPic_Sceptile, 0x800, 279, + gMonBackPic_Torchic, 0x800, 280, + gMonBackPic_Combusken, 0x800, 281, + gMonBackPic_Blaziken, 0x800, 282, + gMonBackPic_Mudkip, 0x800, 283, + gMonBackPic_Marshtomp, 0x800, 284, + gMonBackPic_Swampert, 0x800, 285, + gMonBackPic_Poochyena, 0x800, 286, + gMonBackPic_Mightyena, 0x800, 287, + gMonBackPic_Zigzagoon, 0x800, 288, + gMonBackPic_Linoone, 0x800, 289, + gMonBackPic_Wurmple, 0x800, 290, + gMonBackPic_Silcoon, 0x800, 291, + gMonBackPic_Beautifly, 0x800, 292, + gMonBackPic_Cascoon, 0x800, 293, + gMonBackPic_Dustox, 0x800, 294, + gMonBackPic_Lotad, 0x800, 295, + gMonBackPic_Lombre, 0x800, 296, + gMonBackPic_Ludicolo, 0x800, 297, + gMonBackPic_Seedot, 0x800, 298, + gMonBackPic_Nuzleaf, 0x800, 299, + gMonBackPic_Shiftry, 0x800, 300, + gMonBackPic_Nincada, 0x800, 301, + gMonBackPic_Ninjask, 0x800, 302, + gMonBackPic_Shedinja, 0x800, 303, + gMonBackPic_Taillow, 0x800, 304, + gMonBackPic_Swellow, 0x800, 305, + gMonBackPic_Shroomish, 0x800, 306, + gMonBackPic_Breloom, 0x800, 307, + gMonBackPic_Spinda, 0x800, 308, + gMonBackPic_Wingull, 0x800, 309, + gMonBackPic_Pelipper, 0x800, 310, + gMonBackPic_Surskit, 0x800, 311, + gMonBackPic_Masquerain, 0x800, 312, + gMonBackPic_Wailmer, 0x800, 313, + gMonBackPic_Wailord, 0x800, 314, + gMonBackPic_Skitty, 0x800, 315, + gMonBackPic_Delcatty, 0x800, 316, + gMonBackPic_Kecleon, 0x800, 317, + gMonBackPic_Baltoy, 0x800, 318, + gMonBackPic_Claydol, 0x800, 319, + gMonBackPic_Nosepass, 0x800, 320, + gMonBackPic_Torkoal, 0x800, 321, + gMonBackPic_Sableye, 0x800, 322, + gMonBackPic_Barboach, 0x800, 323, + gMonBackPic_Whiscash, 0x800, 324, + gMonBackPic_Luvdisc, 0x800, 325, + gMonBackPic_Corphish, 0x800, 326, + gMonBackPic_Crawdaunt, 0x800, 327, + gMonBackPic_Feebas, 0x800, 328, + gMonBackPic_Milotic, 0x800, 329, + gMonBackPic_Carvanha, 0x800, 330, + gMonBackPic_Sharpedo, 0x800, 331, + gMonBackPic_Trapinch, 0x800, 332, + gMonBackPic_Vibrava, 0x800, 333, + gMonBackPic_Flygon, 0x800, 334, + gMonBackPic_Makuhita, 0x800, 335, + gMonBackPic_Hariyama, 0x800, 336, + gMonBackPic_Electrike, 0x800, 337, + gMonBackPic_Manectric, 0x800, 338, + gMonBackPic_Numel, 0x800, 339, + gMonBackPic_Camerupt, 0x800, 340, + gMonBackPic_Spheal, 0x800, 341, + gMonBackPic_Sealeo, 0x800, 342, + gMonBackPic_Walrein, 0x800, 343, + gMonBackPic_Cacnea, 0x800, 344, + gMonBackPic_Cacturne, 0x800, 345, + gMonBackPic_Snorunt, 0x800, 346, + gMonBackPic_Glalie, 0x800, 347, + gMonBackPic_Lunatone, 0x800, 348, + gMonBackPic_Solrock, 0x800, 349, + gMonBackPic_Azurill, 0x800, 350, + gMonBackPic_Spoink, 0x800, 351, + gMonBackPic_Grumpig, 0x800, 352, + gMonBackPic_Plusle, 0x800, 353, + gMonBackPic_Minun, 0x800, 354, + gMonBackPic_Mawile, 0x800, 355, + gMonBackPic_Meditite, 0x800, 356, + gMonBackPic_Medicham, 0x800, 357, + gMonBackPic_Swablu, 0x800, 358, + gMonBackPic_Altaria, 0x800, 359, + gMonBackPic_Wynaut, 0x800, 360, + gMonBackPic_Duskull, 0x800, 361, + gMonBackPic_Dusclops, 0x800, 362, + gMonBackPic_Roselia, 0x800, 363, + gMonBackPic_Slakoth, 0x800, 364, + gMonBackPic_Vigoroth, 0x800, 365, + gMonBackPic_Slaking, 0x800, 366, + gMonBackPic_Gulpin, 0x800, 367, + gMonBackPic_Swalot, 0x800, 368, + gMonBackPic_Tropius, 0x800, 369, + gMonBackPic_Whismur, 0x800, 370, + gMonBackPic_Loudred, 0x800, 371, + gMonBackPic_Exploud, 0x800, 372, + gMonBackPic_Clamperl, 0x800, 373, + gMonBackPic_Huntail, 0x800, 374, + gMonBackPic_Gorebyss, 0x800, 375, + gMonBackPic_Absol, 0x800, 376, + gMonBackPic_Shuppet, 0x800, 377, + gMonBackPic_Banette, 0x800, 378, + gMonBackPic_Seviper, 0x800, 379, + gMonBackPic_Zangoose, 0x800, 380, + gMonBackPic_Relicanth, 0x800, 381, + gMonBackPic_Aron, 0x800, 382, + gMonBackPic_Lairon, 0x800, 383, + gMonBackPic_Aggron, 0x800, 384, + gMonBackPic_Castform, 0x800, 385, + gMonBackPic_Volbeat, 0x800, 386, + gMonBackPic_Illumise, 0x800, 387, + gMonBackPic_Lileep, 0x800, 388, + gMonBackPic_Cradily, 0x800, 389, + gMonBackPic_Anorith, 0x800, 390, + gMonBackPic_Armaldo, 0x800, 391, + gMonBackPic_Ralts, 0x800, 392, + gMonBackPic_Kirlia, 0x800, 393, + gMonBackPic_Gardevoir, 0x800, 394, + gMonBackPic_Bagon, 0x800, 395, + gMonBackPic_Shelgon, 0x800, 396, + gMonBackPic_Salamence, 0x800, 397, + gMonBackPic_Beldum, 0x800, 398, + gMonBackPic_Metang, 0x800, 399, + gMonBackPic_Metagross, 0x800, 400, + gMonBackPic_Regirock, 0x800, 401, + gMonBackPic_Regice, 0x800, 402, + gMonBackPic_Registeel, 0x800, 403, + gMonBackPic_Kyogre, 0x800, 404, + gMonBackPic_Groudon, 0x800, 405, + gMonBackPic_Rayquaza, 0x800, 406, + gMonBackPic_Latias, 0x800, 407, + gMonBackPic_Latios, 0x800, 408, + gMonBackPic_Jirachi, 0x800, 409, + gMonBackPic_Deoxys, 0x800, 410, + gMonBackPic_Chimecho, 0x800, 411, + gMonStillFrontPic_Egg, 0x800, 412, + gMonBackPic_UnownB, 0x800, 413, + gMonBackPic_UnownC, 0x800, 414, + gMonBackPic_UnownD, 0x800, 415, + gMonBackPic_UnownE, 0x800, 416, + gMonBackPic_UnownF, 0x800, 417, + gMonBackPic_UnownG, 0x800, 418, + gMonBackPic_UnownH, 0x800, 419, + gMonBackPic_UnownI, 0x800, 420, + gMonBackPic_UnownJ, 0x800, 421, + gMonBackPic_UnownK, 0x800, 422, + gMonBackPic_UnownL, 0x800, 423, + gMonBackPic_UnownM, 0x800, 424, + gMonBackPic_UnownN, 0x800, 425, + gMonBackPic_UnownO, 0x800, 426, + gMonBackPic_UnownP, 0x800, 427, + gMonBackPic_UnownQ, 0x800, 428, + gMonBackPic_UnownR, 0x800, 429, + gMonBackPic_UnownS, 0x800, 430, + gMonBackPic_UnownT, 0x800, 431, + gMonBackPic_UnownU, 0x800, 432, + gMonBackPic_UnownV, 0x800, 433, + gMonBackPic_UnownW, 0x800, 434, + gMonBackPic_UnownX, 0x800, 435, + gMonBackPic_UnownY, 0x800, 436, + gMonBackPic_UnownZ, 0x800, 437, + gMonBackPic_UnownExclamationMark, 0x800, 438, + gMonBackPic_UnownQuestionMark, 0x800, 439, +}; diff --git a/include/data/pokemon_graphics/palette_table.h b/include/data/pokemon_graphics/palette_table.h new file mode 100644 index 0000000000..99412daa5f --- /dev/null +++ b/include/data/pokemon_graphics/palette_table.h @@ -0,0 +1,443 @@ +const struct CompressedSpritePalette gMonPaletteTable[] = +{ + gMonPalette_CircledQuestionMark, 0, + gMonPalette_Bulbasaur, 1, + gMonPalette_Ivysaur, 2, + gMonPalette_Venusaur, 3, + gMonPalette_Charmander, 4, + gMonPalette_Charmeleon, 5, + gMonPalette_Charizard, 6, + gMonPalette_Squirtle, 7, + gMonPalette_Wartortle, 8, + gMonPalette_Blastoise, 9, + gMonPalette_Caterpie, 10, + gMonPalette_Metapod, 11, + gMonPalette_Butterfree, 12, + gMonPalette_Weedle, 13, + gMonPalette_Kakuna, 14, + gMonPalette_Beedrill, 15, + gMonPalette_Pidgey, 16, + gMonPalette_Pidgeotto, 17, + gMonPalette_Pidgeot, 18, + gMonPalette_Rattata, 19, + gMonPalette_Raticate, 20, + gMonPalette_Spearow, 21, + gMonPalette_Fearow, 22, + gMonPalette_Ekans, 23, + gMonPalette_Arbok, 24, + gMonPalette_Pikachu, 25, + gMonPalette_Raichu, 26, + gMonPalette_Sandshrew, 27, + gMonPalette_Sandslash, 28, + gMonPalette_NidoranF, 29, + gMonPalette_Nidorina, 30, + gMonPalette_Nidoqueen, 31, + gMonPalette_NidoranM, 32, + gMonPalette_Nidorino, 33, + gMonPalette_Nidoking, 34, + gMonPalette_Clefairy, 35, + gMonPalette_Clefable, 36, + gMonPalette_Vulpix, 37, + gMonPalette_Ninetales, 38, + gMonPalette_Jigglypuff, 39, + gMonPalette_Wigglytuff, 40, + gMonPalette_Zubat, 41, + gMonPalette_Golbat, 42, + gMonPalette_Oddish, 43, + gMonPalette_Gloom, 44, + gMonPalette_Vileplume, 45, + gMonPalette_Paras, 46, + gMonPalette_Parasect, 47, + gMonPalette_Venonat, 48, + gMonPalette_Venomoth, 49, + gMonPalette_Diglett, 50, + gMonPalette_Dugtrio, 51, + gMonPalette_Meowth, 52, + gMonPalette_Persian, 53, + gMonPalette_Psyduck, 54, + gMonPalette_Golduck, 55, + gMonPalette_Mankey, 56, + gMonPalette_Primeape, 57, + gMonPalette_Growlithe, 58, + gMonPalette_Arcanine, 59, + gMonPalette_Poliwag, 60, + gMonPalette_Poliwhirl, 61, + gMonPalette_Poliwrath, 62, + gMonPalette_Abra, 63, + gMonPalette_Kadabra, 64, + gMonPalette_Alakazam, 65, + gMonPalette_Machop, 66, + gMonPalette_Machoke, 67, + gMonPalette_Machamp, 68, + gMonPalette_Bellsprout, 69, + gMonPalette_Weepinbell, 70, + gMonPalette_Victreebel, 71, + gMonPalette_Tentacool, 72, + gMonPalette_Tentacruel, 73, + gMonPalette_Geodude, 74, + gMonPalette_Graveler, 75, + gMonPalette_Golem, 76, + gMonPalette_Ponyta, 77, + gMonPalette_Rapidash, 78, + gMonPalette_Slowpoke, 79, + gMonPalette_Slowbro, 80, + gMonPalette_Magnemite, 81, + gMonPalette_Magneton, 82, + gMonPalette_Farfetchd, 83, + gMonPalette_Doduo, 84, + gMonPalette_Dodrio, 85, + gMonPalette_Seel, 86, + gMonPalette_Dewgong, 87, + gMonPalette_Grimer, 88, + gMonPalette_Muk, 89, + gMonPalette_Shellder, 90, + gMonPalette_Cloyster, 91, + gMonPalette_Gastly, 92, + gMonPalette_Haunter, 93, + gMonPalette_Gengar, 94, + gMonPalette_Onix, 95, + gMonPalette_Drowzee, 96, + gMonPalette_Hypno, 97, + gMonPalette_Krabby, 98, + gMonPalette_Kingler, 99, + gMonPalette_Voltorb, 100, + gMonPalette_Electrode, 101, + gMonPalette_Exeggcute, 102, + gMonPalette_Exeggutor, 103, + gMonPalette_Cubone, 104, + gMonPalette_Marowak, 105, + gMonPalette_Hitmonlee, 106, + gMonPalette_Hitmonchan, 107, + gMonPalette_Lickitung, 108, + gMonPalette_Koffing, 109, + gMonPalette_Weezing, 110, + gMonPalette_Rhyhorn, 111, + gMonPalette_Rhydon, 112, + gMonPalette_Chansey, 113, + gMonPalette_Tangela, 114, + gMonPalette_Kangaskhan, 115, + gMonPalette_Horsea, 116, + gMonPalette_Seadra, 117, + gMonPalette_Goldeen, 118, + gMonPalette_Seaking, 119, + gMonPalette_Staryu, 120, + gMonPalette_Starmie, 121, + gMonPalette_Mrmime, 122, + gMonPalette_Scyther, 123, + gMonPalette_Jynx, 124, + gMonPalette_Electabuzz, 125, + gMonPalette_Magmar, 126, + gMonPalette_Pinsir, 127, + gMonPalette_Tauros, 128, + gMonPalette_Magikarp, 129, + gMonPalette_Gyarados, 130, + gMonPalette_Lapras, 131, + gMonPalette_Ditto, 132, + gMonPalette_Eevee, 133, + gMonPalette_Vaporeon, 134, + gMonPalette_Jolteon, 135, + gMonPalette_Flareon, 136, + gMonPalette_Porygon, 137, + gMonPalette_Omanyte, 138, + gMonPalette_Omastar, 139, + gMonPalette_Kabuto, 140, + gMonPalette_Kabutops, 141, + gMonPalette_Aerodactyl, 142, + gMonPalette_Snorlax, 143, + gMonPalette_Articuno, 144, + gMonPalette_Zapdos, 145, + gMonPalette_Moltres, 146, + gMonPalette_Dratini, 147, + gMonPalette_Dragonair, 148, + gMonPalette_Dragonite, 149, + gMonPalette_Mewtwo, 150, + gMonPalette_Mew, 151, + gMonPalette_Chikorita, 152, + gMonPalette_Bayleef, 153, + gMonPalette_Meganium, 154, + gMonPalette_Cyndaquil, 155, + gMonPalette_Quilava, 156, + gMonPalette_Typhlosion, 157, + gMonPalette_Totodile, 158, + gMonPalette_Croconaw, 159, + gMonPalette_Feraligatr, 160, + gMonPalette_Sentret, 161, + gMonPalette_Furret, 162, + gMonPalette_Hoothoot, 163, + gMonPalette_Noctowl, 164, + gMonPalette_Ledyba, 165, + gMonPalette_Ledian, 166, + gMonPalette_Spinarak, 167, + gMonPalette_Ariados, 168, + gMonPalette_Crobat, 169, + gMonPalette_Chinchou, 170, + gMonPalette_Lanturn, 171, + gMonPalette_Pichu, 172, + gMonPalette_Cleffa, 173, + gMonPalette_Igglybuff, 174, + gMonPalette_Togepi, 175, + gMonPalette_Togetic, 176, + gMonPalette_Natu, 177, + gMonPalette_Xatu, 178, + gMonPalette_Mareep, 179, + gMonPalette_Flaaffy, 180, + gMonPalette_Ampharos, 181, + gMonPalette_Bellossom, 182, + gMonPalette_Marill, 183, + gMonPalette_Azumarill, 184, + gMonPalette_Sudowoodo, 185, + gMonPalette_Politoed, 186, + gMonPalette_Hoppip, 187, + gMonPalette_Skiploom, 188, + gMonPalette_Jumpluff, 189, + gMonPalette_Aipom, 190, + gMonPalette_Sunkern, 191, + gMonPalette_Sunflora, 192, + gMonPalette_Yanma, 193, + gMonPalette_Wooper, 194, + gMonPalette_Quagsire, 195, + gMonPalette_Espeon, 196, + gMonPalette_Umbreon, 197, + gMonPalette_Murkrow, 198, + gMonPalette_Slowking, 199, + gMonPalette_Misdreavus, 200, + gMonPalette_Unown, 201, + gMonPalette_Wobbuffet, 202, + gMonPalette_Girafarig, 203, + gMonPalette_Pineco, 204, + gMonPalette_Forretress, 205, + gMonPalette_Dunsparce, 206, + gMonPalette_Gligar, 207, + gMonPalette_Steelix, 208, + gMonPalette_Snubbull, 209, + gMonPalette_Granbull, 210, + gMonPalette_Qwilfish, 211, + gMonPalette_Scizor, 212, + gMonPalette_Shuckle, 213, + gMonPalette_Heracross, 214, + gMonPalette_Sneasel, 215, + gMonPalette_Teddiursa, 216, + gMonPalette_Ursaring, 217, + gMonPalette_Slugma, 218, + gMonPalette_Magcargo, 219, + gMonPalette_Swinub, 220, + gMonPalette_Piloswine, 221, + gMonPalette_Corsola, 222, + gMonPalette_Remoraid, 223, + gMonPalette_Octillery, 224, + gMonPalette_Delibird, 225, + gMonPalette_Mantine, 226, + gMonPalette_Skarmory, 227, + gMonPalette_Houndour, 228, + gMonPalette_Houndoom, 229, + gMonPalette_Kingdra, 230, + gMonPalette_Phanpy, 231, + gMonPalette_Donphan, 232, + gMonPalette_Porygon2, 233, + gMonPalette_Stantler, 234, + gMonPalette_Smeargle, 235, + gMonPalette_Tyrogue, 236, + gMonPalette_Hitmontop, 237, + gMonPalette_Smoochum, 238, + gMonPalette_Elekid, 239, + gMonPalette_Magby, 240, + gMonPalette_Miltank, 241, + gMonPalette_Blissey, 242, + gMonPalette_Raikou, 243, + gMonPalette_Entei, 244, + gMonPalette_Suicune, 245, + gMonPalette_Larvitar, 246, + gMonPalette_Pupitar, 247, + gMonPalette_Tyranitar, 248, + gMonPalette_Lugia, 249, + gMonPalette_HoOh, 250, + gMonPalette_Celebi, 251, + gMonPalette_DoubleQuestionMark, 252, + gMonPalette_DoubleQuestionMark, 253, + gMonPalette_DoubleQuestionMark, 254, + gMonPalette_DoubleQuestionMark, 255, + gMonPalette_DoubleQuestionMark, 256, + gMonPalette_DoubleQuestionMark, 257, + gMonPalette_DoubleQuestionMark, 258, + gMonPalette_DoubleQuestionMark, 259, + gMonPalette_DoubleQuestionMark, 260, + gMonPalette_DoubleQuestionMark, 261, + gMonPalette_DoubleQuestionMark, 262, + gMonPalette_DoubleQuestionMark, 263, + gMonPalette_DoubleQuestionMark, 264, + gMonPalette_DoubleQuestionMark, 265, + gMonPalette_DoubleQuestionMark, 266, + gMonPalette_DoubleQuestionMark, 267, + gMonPalette_DoubleQuestionMark, 268, + gMonPalette_DoubleQuestionMark, 269, + gMonPalette_DoubleQuestionMark, 270, + gMonPalette_DoubleQuestionMark, 271, + gMonPalette_DoubleQuestionMark, 272, + gMonPalette_DoubleQuestionMark, 273, + gMonPalette_DoubleQuestionMark, 274, + gMonPalette_DoubleQuestionMark, 275, + gMonPalette_DoubleQuestionMark, 276, + gMonPalette_Treecko, 277, + gMonPalette_Grovyle, 278, + gMonPalette_Sceptile, 279, + gMonPalette_Torchic, 280, + gMonPalette_Combusken, 281, + gMonPalette_Blaziken, 282, + gMonPalette_Mudkip, 283, + gMonPalette_Marshtomp, 284, + gMonPalette_Swampert, 285, + gMonPalette_Poochyena, 286, + gMonPalette_Mightyena, 287, + gMonPalette_Zigzagoon, 288, + gMonPalette_Linoone, 289, + gMonPalette_Wurmple, 290, + gMonPalette_Silcoon, 291, + gMonPalette_Beautifly, 292, + gMonPalette_Cascoon, 293, + gMonPalette_Dustox, 294, + gMonPalette_Lotad, 295, + gMonPalette_Lombre, 296, + gMonPalette_Ludicolo, 297, + gMonPalette_Seedot, 298, + gMonPalette_Nuzleaf, 299, + gMonPalette_Shiftry, 300, + gMonPalette_Nincada, 301, + gMonPalette_Ninjask, 302, + gMonPalette_Shedinja, 303, + gMonPalette_Taillow, 304, + gMonPalette_Swellow, 305, + gMonPalette_Shroomish, 306, + gMonPalette_Breloom, 307, + gMonPalette_Spinda, 308, + gMonPalette_Wingull, 309, + gMonPalette_Pelipper, 310, + gMonPalette_Surskit, 311, + gMonPalette_Masquerain, 312, + gMonPalette_Wailmer, 313, + gMonPalette_Wailord, 314, + gMonPalette_Skitty, 315, + gMonPalette_Delcatty, 316, + gMonPalette_Kecleon, 317, + gMonPalette_Baltoy, 318, + gMonPalette_Claydol, 319, + gMonPalette_Nosepass, 320, + gMonPalette_Torkoal, 321, + gMonPalette_Sableye, 322, + gMonPalette_Barboach, 323, + gMonPalette_Whiscash, 324, + gMonPalette_Luvdisc, 325, + gMonPalette_Corphish, 326, + gMonPalette_Crawdaunt, 327, + gMonPalette_Feebas, 328, + gMonPalette_Milotic, 329, + gMonPalette_Carvanha, 330, + gMonPalette_Sharpedo, 331, + gMonPalette_Trapinch, 332, + gMonPalette_Vibrava, 333, + gMonPalette_Flygon, 334, + gMonPalette_Makuhita, 335, + gMonPalette_Hariyama, 336, + gMonPalette_Electrike, 337, + gMonPalette_Manectric, 338, + gMonPalette_Numel, 339, + gMonPalette_Camerupt, 340, + gMonPalette_Spheal, 341, + gMonPalette_Sealeo, 342, + gMonPalette_Walrein, 343, + gMonPalette_Cacnea, 344, + gMonPalette_Cacturne, 345, + gMonPalette_Snorunt, 346, + gMonPalette_Glalie, 347, + gMonPalette_Lunatone, 348, + gMonPalette_Solrock, 349, + gMonPalette_Azurill, 350, + gMonPalette_Spoink, 351, + gMonPalette_Grumpig, 352, + gMonPalette_Plusle, 353, + gMonPalette_Minun, 354, + gMonPalette_Mawile, 355, + gMonPalette_Meditite, 356, + gMonPalette_Medicham, 357, + gMonPalette_Swablu, 358, + gMonPalette_Altaria, 359, + gMonPalette_Wynaut, 360, + gMonPalette_Duskull, 361, + gMonPalette_Dusclops, 362, + gMonPalette_Roselia, 363, + gMonPalette_Slakoth, 364, + gMonPalette_Vigoroth, 365, + gMonPalette_Slaking, 366, + gMonPalette_Gulpin, 367, + gMonPalette_Swalot, 368, + gMonPalette_Tropius, 369, + gMonPalette_Whismur, 370, + gMonPalette_Loudred, 371, + gMonPalette_Exploud, 372, + gMonPalette_Clamperl, 373, + gMonPalette_Huntail, 374, + gMonPalette_Gorebyss, 375, + gMonPalette_Absol, 376, + gMonPalette_Shuppet, 377, + gMonPalette_Banette, 378, + gMonPalette_Seviper, 379, + gMonPalette_Zangoose, 380, + gMonPalette_Relicanth, 381, + gMonPalette_Aron, 382, + gMonPalette_Lairon, 383, + gMonPalette_Aggron, 384, + gMonPalette_Castform, 385, + gMonPalette_Volbeat, 386, + gMonPalette_Illumise, 387, + gMonPalette_Lileep, 388, + gMonPalette_Cradily, 389, + gMonPalette_Anorith, 390, + gMonPalette_Armaldo, 391, + gMonPalette_Ralts, 392, + gMonPalette_Kirlia, 393, + gMonPalette_Gardevoir, 394, + gMonPalette_Bagon, 395, + gMonPalette_Shelgon, 396, + gMonPalette_Salamence, 397, + gMonPalette_Beldum, 398, + gMonPalette_Metang, 399, + gMonPalette_Metagross, 400, + gMonPalette_Regirock, 401, + gMonPalette_Regice, 402, + gMonPalette_Registeel, 403, + gMonPalette_Kyogre, 404, + gMonPalette_Groudon, 405, + gMonPalette_Rayquaza, 406, + gMonPalette_Latias, 407, + gMonPalette_Latios, 408, + gMonPalette_Jirachi, 409, + gMonPalette_Deoxys, 410, + gMonPalette_Chimecho, 411, + gMonPalette_Egg, 412, + gMonPalette_Unown, 413, + gMonPalette_Unown, 414, + gMonPalette_Unown, 415, + gMonPalette_Unown, 416, + gMonPalette_Unown, 417, + gMonPalette_Unown, 418, + gMonPalette_Unown, 419, + gMonPalette_Unown, 420, + gMonPalette_Unown, 421, + gMonPalette_Unown, 422, + gMonPalette_Unown, 423, + gMonPalette_Unown, 424, + gMonPalette_Unown, 425, + gMonPalette_Unown, 426, + gMonPalette_Unown, 427, + gMonPalette_Unown, 428, + gMonPalette_Unown, 429, + gMonPalette_Unown, 430, + gMonPalette_Unown, 431, + gMonPalette_Unown, 432, + gMonPalette_Unown, 433, + gMonPalette_Unown, 434, + gMonPalette_Unown, 435, + gMonPalette_Unown, 436, + gMonPalette_Unown, 437, + gMonPalette_Unown, 438, + gMonPalette_Unown, 439, +}; diff --git a/include/data/pokemon_graphics/shiny_palette_table.h b/include/data/pokemon_graphics/shiny_palette_table.h new file mode 100644 index 0000000000..91708fafa4 --- /dev/null +++ b/include/data/pokemon_graphics/shiny_palette_table.h @@ -0,0 +1,443 @@ +const struct CompressedSpritePalette gMonShinyPaletteTable[] = +{ + gMonShinyPalette_CircledQuestionMark, 500, + gMonShinyPalette_Bulbasaur, 501, + gMonShinyPalette_Ivysaur, 502, + gMonShinyPalette_Venusaur, 503, + gMonShinyPalette_Charmander, 504, + gMonShinyPalette_Charmeleon, 505, + gMonShinyPalette_Charizard, 506, + gMonShinyPalette_Squirtle, 507, + gMonShinyPalette_Wartortle, 508, + gMonShinyPalette_Blastoise, 509, + gMonShinyPalette_Caterpie, 510, + gMonShinyPalette_Metapod, 511, + gMonShinyPalette_Butterfree, 512, + gMonShinyPalette_Weedle, 513, + gMonShinyPalette_Kakuna, 514, + gMonShinyPalette_Beedrill, 515, + gMonShinyPalette_Pidgey, 516, + gMonShinyPalette_Pidgeotto, 517, + gMonShinyPalette_Pidgeot, 518, + gMonShinyPalette_Rattata, 519, + gMonShinyPalette_Raticate, 520, + gMonShinyPalette_Spearow, 521, + gMonShinyPalette_Fearow, 522, + gMonShinyPalette_Ekans, 523, + gMonShinyPalette_Arbok, 524, + gMonShinyPalette_Pikachu, 525, + gMonShinyPalette_Raichu, 526, + gMonShinyPalette_Sandshrew, 527, + gMonShinyPalette_Sandslash, 528, + gMonShinyPalette_NidoranF, 529, + gMonShinyPalette_Nidorina, 530, + gMonShinyPalette_Nidoqueen, 531, + gMonShinyPalette_NidoranM, 532, + gMonShinyPalette_Nidorino, 533, + gMonShinyPalette_Nidoking, 534, + gMonShinyPalette_Clefairy, 535, + gMonShinyPalette_Clefable, 536, + gMonShinyPalette_Vulpix, 537, + gMonShinyPalette_Ninetales, 538, + gMonShinyPalette_Jigglypuff, 539, + gMonShinyPalette_Wigglytuff, 540, + gMonShinyPalette_Zubat, 541, + gMonShinyPalette_Golbat, 542, + gMonShinyPalette_Oddish, 543, + gMonShinyPalette_Gloom, 544, + gMonShinyPalette_Vileplume, 545, + gMonShinyPalette_Paras, 546, + gMonShinyPalette_Parasect, 547, + gMonShinyPalette_Venonat, 548, + gMonShinyPalette_Venomoth, 549, + gMonShinyPalette_Diglett, 550, + gMonShinyPalette_Dugtrio, 551, + gMonShinyPalette_Meowth, 552, + gMonShinyPalette_Persian, 553, + gMonShinyPalette_Psyduck, 554, + gMonShinyPalette_Golduck, 555, + gMonShinyPalette_Mankey, 556, + gMonShinyPalette_Primeape, 557, + gMonShinyPalette_Growlithe, 558, + gMonShinyPalette_Arcanine, 559, + gMonShinyPalette_Poliwag, 560, + gMonShinyPalette_Poliwhirl, 561, + gMonShinyPalette_Poliwrath, 562, + gMonShinyPalette_Abra, 563, + gMonShinyPalette_Kadabra, 564, + gMonShinyPalette_Alakazam, 565, + gMonShinyPalette_Machop, 566, + gMonShinyPalette_Machoke, 567, + gMonShinyPalette_Machamp, 568, + gMonShinyPalette_Bellsprout, 569, + gMonShinyPalette_Weepinbell, 570, + gMonShinyPalette_Victreebel, 571, + gMonShinyPalette_Tentacool, 572, + gMonShinyPalette_Tentacruel, 573, + gMonShinyPalette_Geodude, 574, + gMonShinyPalette_Graveler, 575, + gMonShinyPalette_Golem, 576, + gMonShinyPalette_Ponyta, 577, + gMonShinyPalette_Rapidash, 578, + gMonShinyPalette_Slowpoke, 579, + gMonShinyPalette_Slowbro, 580, + gMonShinyPalette_Magnemite, 581, + gMonShinyPalette_Magneton, 582, + gMonShinyPalette_Farfetchd, 583, + gMonShinyPalette_Doduo, 584, + gMonShinyPalette_Dodrio, 585, + gMonShinyPalette_Seel, 586, + gMonShinyPalette_Dewgong, 587, + gMonShinyPalette_Grimer, 588, + gMonShinyPalette_Muk, 589, + gMonShinyPalette_Shellder, 590, + gMonShinyPalette_Cloyster, 591, + gMonShinyPalette_Gastly, 592, + gMonShinyPalette_Haunter, 593, + gMonShinyPalette_Gengar, 594, + gMonShinyPalette_Onix, 595, + gMonShinyPalette_Drowzee, 596, + gMonShinyPalette_Hypno, 597, + gMonShinyPalette_Krabby, 598, + gMonShinyPalette_Kingler, 599, + gMonShinyPalette_Voltorb, 600, + gMonShinyPalette_Electrode, 601, + gMonShinyPalette_Exeggcute, 602, + gMonShinyPalette_Exeggutor, 603, + gMonShinyPalette_Cubone, 604, + gMonShinyPalette_Marowak, 605, + gMonShinyPalette_Hitmonlee, 606, + gMonShinyPalette_Hitmonchan, 607, + gMonShinyPalette_Lickitung, 608, + gMonShinyPalette_Koffing, 609, + gMonShinyPalette_Weezing, 610, + gMonShinyPalette_Rhyhorn, 611, + gMonShinyPalette_Rhydon, 612, + gMonShinyPalette_Chansey, 613, + gMonShinyPalette_Tangela, 614, + gMonShinyPalette_Kangaskhan, 615, + gMonShinyPalette_Horsea, 616, + gMonShinyPalette_Seadra, 617, + gMonShinyPalette_Goldeen, 618, + gMonShinyPalette_Seaking, 619, + gMonShinyPalette_Staryu, 620, + gMonShinyPalette_Starmie, 621, + gMonShinyPalette_Mrmime, 622, + gMonShinyPalette_Scyther, 623, + gMonShinyPalette_Jynx, 624, + gMonShinyPalette_Electabuzz, 625, + gMonShinyPalette_Magmar, 626, + gMonShinyPalette_Pinsir, 627, + gMonShinyPalette_Tauros, 628, + gMonShinyPalette_Magikarp, 629, + gMonShinyPalette_Gyarados, 630, + gMonShinyPalette_Lapras, 631, + gMonShinyPalette_Ditto, 632, + gMonShinyPalette_Eevee, 633, + gMonShinyPalette_Vaporeon, 634, + gMonShinyPalette_Jolteon, 635, + gMonShinyPalette_Flareon, 636, + gMonShinyPalette_Porygon, 637, + gMonShinyPalette_Omanyte, 638, + gMonShinyPalette_Omastar, 639, + gMonShinyPalette_Kabuto, 640, + gMonShinyPalette_Kabutops, 641, + gMonShinyPalette_Aerodactyl, 642, + gMonShinyPalette_Snorlax, 643, + gMonShinyPalette_Articuno, 644, + gMonShinyPalette_Zapdos, 645, + gMonShinyPalette_Moltres, 646, + gMonShinyPalette_Dratini, 647, + gMonShinyPalette_Dragonair, 648, + gMonShinyPalette_Dragonite, 649, + gMonShinyPalette_Mewtwo, 650, + gMonShinyPalette_Mew, 651, + gMonShinyPalette_Chikorita, 652, + gMonShinyPalette_Bayleef, 653, + gMonShinyPalette_Meganium, 654, + gMonShinyPalette_Cyndaquil, 655, + gMonShinyPalette_Quilava, 656, + gMonShinyPalette_Typhlosion, 657, + gMonShinyPalette_Totodile, 658, + gMonShinyPalette_Croconaw, 659, + gMonShinyPalette_Feraligatr, 660, + gMonShinyPalette_Sentret, 661, + gMonShinyPalette_Furret, 662, + gMonShinyPalette_Hoothoot, 663, + gMonShinyPalette_Noctowl, 664, + gMonShinyPalette_Ledyba, 665, + gMonShinyPalette_Ledian, 666, + gMonShinyPalette_Spinarak, 667, + gMonShinyPalette_Ariados, 668, + gMonShinyPalette_Crobat, 669, + gMonShinyPalette_Chinchou, 670, + gMonShinyPalette_Lanturn, 671, + gMonShinyPalette_Pichu, 672, + gMonShinyPalette_Cleffa, 673, + gMonShinyPalette_Igglybuff, 674, + gMonShinyPalette_Togepi, 675, + gMonShinyPalette_Togetic, 676, + gMonShinyPalette_Natu, 677, + gMonShinyPalette_Xatu, 678, + gMonShinyPalette_Mareep, 679, + gMonShinyPalette_Flaaffy, 680, + gMonShinyPalette_Ampharos, 681, + gMonShinyPalette_Bellossom, 682, + gMonShinyPalette_Marill, 683, + gMonShinyPalette_Azumarill, 684, + gMonShinyPalette_Sudowoodo, 685, + gMonShinyPalette_Politoed, 686, + gMonShinyPalette_Hoppip, 687, + gMonShinyPalette_Skiploom, 688, + gMonShinyPalette_Jumpluff, 689, + gMonShinyPalette_Aipom, 690, + gMonShinyPalette_Sunkern, 691, + gMonShinyPalette_Sunflora, 692, + gMonShinyPalette_Yanma, 693, + gMonShinyPalette_Wooper, 694, + gMonShinyPalette_Quagsire, 695, + gMonShinyPalette_Espeon, 696, + gMonShinyPalette_Umbreon, 697, + gMonShinyPalette_Murkrow, 698, + gMonShinyPalette_Slowking, 699, + gMonShinyPalette_Misdreavus, 700, + gMonShinyPalette_Unown, 701, + gMonShinyPalette_Wobbuffet, 702, + gMonShinyPalette_Girafarig, 703, + gMonShinyPalette_Pineco, 704, + gMonShinyPalette_Forretress, 705, + gMonShinyPalette_Dunsparce, 706, + gMonShinyPalette_Gligar, 707, + gMonShinyPalette_Steelix, 708, + gMonShinyPalette_Snubbull, 709, + gMonShinyPalette_Granbull, 710, + gMonShinyPalette_Qwilfish, 711, + gMonShinyPalette_Scizor, 712, + gMonShinyPalette_Shuckle, 713, + gMonShinyPalette_Heracross, 714, + gMonShinyPalette_Sneasel, 715, + gMonShinyPalette_Teddiursa, 716, + gMonShinyPalette_Ursaring, 717, + gMonShinyPalette_Slugma, 718, + gMonShinyPalette_Magcargo, 719, + gMonShinyPalette_Swinub, 720, + gMonShinyPalette_Piloswine, 721, + gMonShinyPalette_Corsola, 722, + gMonShinyPalette_Remoraid, 723, + gMonShinyPalette_Octillery, 724, + gMonShinyPalette_Delibird, 725, + gMonShinyPalette_Mantine, 726, + gMonShinyPalette_Skarmory, 727, + gMonShinyPalette_Houndour, 728, + gMonShinyPalette_Houndoom, 729, + gMonShinyPalette_Kingdra, 730, + gMonShinyPalette_Phanpy, 731, + gMonShinyPalette_Donphan, 732, + gMonShinyPalette_Porygon2, 733, + gMonShinyPalette_Stantler, 734, + gMonShinyPalette_Smeargle, 735, + gMonShinyPalette_Tyrogue, 736, + gMonShinyPalette_Hitmontop, 737, + gMonShinyPalette_Smoochum, 738, + gMonShinyPalette_Elekid, 739, + gMonShinyPalette_Magby, 740, + gMonShinyPalette_Miltank, 741, + gMonShinyPalette_Blissey, 742, + gMonShinyPalette_Raikou, 743, + gMonShinyPalette_Entei, 744, + gMonShinyPalette_Suicune, 745, + gMonShinyPalette_Larvitar, 746, + gMonShinyPalette_Pupitar, 747, + gMonShinyPalette_Tyranitar, 748, + gMonShinyPalette_Lugia, 749, + gMonShinyPalette_HoOh, 750, + gMonShinyPalette_Celebi, 751, + gMonShinyPalette_DoubleQuestionMark, 752, + gMonShinyPalette_DoubleQuestionMark, 753, + gMonShinyPalette_DoubleQuestionMark, 754, + gMonShinyPalette_DoubleQuestionMark, 755, + gMonShinyPalette_DoubleQuestionMark, 756, + gMonShinyPalette_DoubleQuestionMark, 757, + gMonShinyPalette_DoubleQuestionMark, 758, + gMonShinyPalette_DoubleQuestionMark, 759, + gMonShinyPalette_DoubleQuestionMark, 760, + gMonShinyPalette_DoubleQuestionMark, 761, + gMonShinyPalette_DoubleQuestionMark, 762, + gMonShinyPalette_DoubleQuestionMark, 763, + gMonShinyPalette_DoubleQuestionMark, 764, + gMonShinyPalette_DoubleQuestionMark, 765, + gMonShinyPalette_DoubleQuestionMark, 766, + gMonShinyPalette_DoubleQuestionMark, 767, + gMonShinyPalette_DoubleQuestionMark, 768, + gMonShinyPalette_DoubleQuestionMark, 769, + gMonShinyPalette_DoubleQuestionMark, 770, + gMonShinyPalette_DoubleQuestionMark, 771, + gMonShinyPalette_DoubleQuestionMark, 772, + gMonShinyPalette_DoubleQuestionMark, 773, + gMonShinyPalette_DoubleQuestionMark, 774, + gMonShinyPalette_DoubleQuestionMark, 775, + gMonShinyPalette_DoubleQuestionMark, 776, + gMonShinyPalette_Treecko, 777, + gMonShinyPalette_Grovyle, 778, + gMonShinyPalette_Sceptile, 779, + gMonShinyPalette_Torchic, 780, + gMonShinyPalette_Combusken, 781, + gMonShinyPalette_Blaziken, 782, + gMonShinyPalette_Mudkip, 783, + gMonShinyPalette_Marshtomp, 784, + gMonShinyPalette_Swampert, 785, + gMonShinyPalette_Poochyena, 786, + gMonShinyPalette_Mightyena, 787, + gMonShinyPalette_Zigzagoon, 788, + gMonShinyPalette_Linoone, 789, + gMonShinyPalette_Wurmple, 790, + gMonShinyPalette_Silcoon, 791, + gMonShinyPalette_Beautifly, 792, + gMonShinyPalette_Cascoon, 793, + gMonShinyPalette_Dustox, 794, + gMonShinyPalette_Lotad, 795, + gMonShinyPalette_Lombre, 796, + gMonShinyPalette_Ludicolo, 797, + gMonShinyPalette_Seedot, 798, + gMonShinyPalette_Nuzleaf, 799, + gMonShinyPalette_Shiftry, 800, + gMonShinyPalette_Nincada, 801, + gMonShinyPalette_Ninjask, 802, + gMonShinyPalette_Shedinja, 803, + gMonShinyPalette_Taillow, 804, + gMonShinyPalette_Swellow, 805, + gMonShinyPalette_Shroomish, 806, + gMonShinyPalette_Breloom, 807, + gMonShinyPalette_Spinda, 808, + gMonShinyPalette_Wingull, 809, + gMonShinyPalette_Pelipper, 810, + gMonShinyPalette_Surskit, 811, + gMonShinyPalette_Masquerain, 812, + gMonShinyPalette_Wailmer, 813, + gMonShinyPalette_Wailord, 814, + gMonShinyPalette_Skitty, 815, + gMonShinyPalette_Delcatty, 816, + gMonShinyPalette_Kecleon, 817, + gMonShinyPalette_Baltoy, 818, + gMonShinyPalette_Claydol, 819, + gMonShinyPalette_Nosepass, 820, + gMonShinyPalette_Torkoal, 821, + gMonShinyPalette_Sableye, 822, + gMonShinyPalette_Barboach, 823, + gMonShinyPalette_Whiscash, 824, + gMonShinyPalette_Luvdisc, 825, + gMonShinyPalette_Corphish, 826, + gMonShinyPalette_Crawdaunt, 827, + gMonShinyPalette_Feebas, 828, + gMonShinyPalette_Milotic, 829, + gMonShinyPalette_Carvanha, 830, + gMonShinyPalette_Sharpedo, 831, + gMonShinyPalette_Trapinch, 832, + gMonShinyPalette_Vibrava, 833, + gMonShinyPalette_Flygon, 834, + gMonShinyPalette_Makuhita, 835, + gMonShinyPalette_Hariyama, 836, + gMonShinyPalette_Electrike, 837, + gMonShinyPalette_Manectric, 838, + gMonShinyPalette_Numel, 839, + gMonShinyPalette_Camerupt, 840, + gMonShinyPalette_Spheal, 841, + gMonShinyPalette_Sealeo, 842, + gMonShinyPalette_Walrein, 843, + gMonShinyPalette_Cacnea, 844, + gMonShinyPalette_Cacturne, 845, + gMonShinyPalette_Snorunt, 846, + gMonShinyPalette_Glalie, 847, + gMonShinyPalette_Lunatone, 848, + gMonShinyPalette_Solrock, 849, + gMonShinyPalette_Azurill, 850, + gMonShinyPalette_Spoink, 851, + gMonShinyPalette_Grumpig, 852, + gMonShinyPalette_Plusle, 853, + gMonShinyPalette_Minun, 854, + gMonShinyPalette_Mawile, 855, + gMonShinyPalette_Meditite, 856, + gMonShinyPalette_Medicham, 857, + gMonShinyPalette_Swablu, 858, + gMonShinyPalette_Altaria, 859, + gMonShinyPalette_Wynaut, 860, + gMonShinyPalette_Duskull, 861, + gMonShinyPalette_Dusclops, 862, + gMonShinyPalette_Roselia, 863, + gMonShinyPalette_Slakoth, 864, + gMonShinyPalette_Vigoroth, 865, + gMonShinyPalette_Slaking, 866, + gMonShinyPalette_Gulpin, 867, + gMonShinyPalette_Swalot, 868, + gMonShinyPalette_Tropius, 869, + gMonShinyPalette_Whismur, 870, + gMonShinyPalette_Loudred, 871, + gMonShinyPalette_Exploud, 872, + gMonShinyPalette_Clamperl, 873, + gMonShinyPalette_Huntail, 874, + gMonShinyPalette_Gorebyss, 875, + gMonShinyPalette_Absol, 876, + gMonShinyPalette_Shuppet, 877, + gMonShinyPalette_Banette, 878, + gMonShinyPalette_Seviper, 879, + gMonShinyPalette_Zangoose, 880, + gMonShinyPalette_Relicanth, 881, + gMonShinyPalette_Aron, 882, + gMonShinyPalette_Lairon, 883, + gMonShinyPalette_Aggron, 884, + gMonShinyPalette_Castform, 885, + gMonShinyPalette_Volbeat, 886, + gMonShinyPalette_Illumise, 887, + gMonShinyPalette_Lileep, 888, + gMonShinyPalette_Cradily, 889, + gMonShinyPalette_Anorith, 890, + gMonShinyPalette_Armaldo, 891, + gMonShinyPalette_Ralts, 892, + gMonShinyPalette_Kirlia, 893, + gMonShinyPalette_Gardevoir, 894, + gMonShinyPalette_Bagon, 895, + gMonShinyPalette_Shelgon, 896, + gMonShinyPalette_Salamence, 897, + gMonShinyPalette_Beldum, 898, + gMonShinyPalette_Metang, 899, + gMonShinyPalette_Metagross, 900, + gMonShinyPalette_Regirock, 901, + gMonShinyPalette_Regice, 902, + gMonShinyPalette_Registeel, 903, + gMonShinyPalette_Kyogre, 904, + gMonShinyPalette_Groudon, 905, + gMonShinyPalette_Rayquaza, 906, + gMonShinyPalette_Latias, 907, + gMonShinyPalette_Latios, 908, + gMonShinyPalette_Jirachi, 909, + gMonShinyPalette_Deoxys, 910, + gMonShinyPalette_Chimecho, 911, + gMonPalette_Egg, 912, + gMonShinyPalette_Unown, 913, + gMonShinyPalette_Unown, 914, + gMonShinyPalette_Unown, 915, + gMonShinyPalette_Unown, 916, + gMonShinyPalette_Unown, 917, + gMonShinyPalette_Unown, 918, + gMonShinyPalette_Unown, 919, + gMonShinyPalette_Unown, 920, + gMonShinyPalette_Unown, 921, + gMonShinyPalette_Unown, 922, + gMonShinyPalette_Unown, 923, + gMonShinyPalette_Unown, 924, + gMonShinyPalette_Unown, 925, + gMonShinyPalette_Unown, 926, + gMonShinyPalette_Unown, 927, + gMonShinyPalette_Unown, 928, + gMonShinyPalette_Unown, 929, + gMonShinyPalette_Unown, 930, + gMonShinyPalette_Unown, 931, + gMonShinyPalette_Unown, 932, + gMonShinyPalette_Unown, 933, + gMonShinyPalette_Unown, 934, + gMonShinyPalette_Unown, 935, + gMonShinyPalette_Unown, 936, + gMonShinyPalette_Unown, 937, + gMonShinyPalette_Unown, 938, + gMonShinyPalette_Unown, 939, +}; diff --git a/include/data/trainer_graphics/back_pic_anims.h b/include/data/trainer_graphics/back_pic_anims.h index 67078401e0..e2419b6f66 100644 --- a/include/data/trainer_graphics/back_pic_anims.h +++ b/include/data/trainer_graphics/back_pic_anims.h @@ -1,10 +1,72 @@ -extern const union AnimCmd gUnknown_08305C24[]; -extern const union AnimCmd gUnknown_08305C3C[]; -extern const union AnimCmd gUnknown_08305C6C[]; -extern const union AnimCmd gUnknown_08305C84[]; -extern const union AnimCmd gUnknown_08305C9C[]; -extern const union AnimCmd gUnknown_08305CB4[]; -extern const union AnimCmd gUnknown_08305C54[]; +const union AnimCmd gUnknown_08305C24[] = +{ + ANIMCMD_FRAME(0, 24), + ANIMCMD_FRAME(1, 9), + ANIMCMD_FRAME(2, 24), + ANIMCMD_FRAME(0, 9), + ANIMCMD_FRAME(3, 50), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_08305C3C[] = +{ + ANIMCMD_FRAME(0, 24), + ANIMCMD_FRAME(1, 9), + ANIMCMD_FRAME(2, 24), + ANIMCMD_FRAME(0, 9), + ANIMCMD_FRAME(3, 50), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_08305C54[] = +{ + ANIMCMD_FRAME(0, 24), + ANIMCMD_FRAME(1, 9), + ANIMCMD_FRAME(2, 24), + ANIMCMD_FRAME(0, 9), + ANIMCMD_FRAME(3, 50), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_08305C6C[] = +{ + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(2, 6), + ANIMCMD_FRAME(3, 6), + ANIMCMD_FRAME(4, 24), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_08305C84[] = +{ + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(2, 6), + ANIMCMD_FRAME(3, 6), + ANIMCMD_FRAME(4, 24), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_08305C9C[] = +{ + ANIMCMD_FRAME(0, 24), + ANIMCMD_FRAME(1, 9), + ANIMCMD_FRAME(2, 24), + ANIMCMD_FRAME(0, 9), + ANIMCMD_FRAME(3, 50), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_08305CB4[] = +{ + ANIMCMD_FRAME(0, 24), + ANIMCMD_FRAME(1, 9), + ANIMCMD_FRAME(2, 24), + ANIMCMD_FRAME(0, 9), + ANIMCMD_FRAME(3, 50), + ANIMCMD_END, +}; const union AnimCmd *const gUnknown_08305CCC[] = { diff --git a/include/data/trainer_graphics/front_pic_anims.h b/include/data/trainer_graphics/front_pic_anims.h new file mode 100644 index 0000000000..423ce33b93 --- /dev/null +++ b/include/data/trainer_graphics/front_pic_anims.h @@ -0,0 +1,190 @@ +const union AnimCmd *const gUnknown_083051F8[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_083051FC[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305200[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305204[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305208[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_0830520C[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305210[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305214[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305218[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_0830521C[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305220[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305224[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305228[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_0830522C[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305230[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305234[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305238[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_0830523C[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305240[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305244[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305248[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_0830524C[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305250[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305254[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305258[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_0830525C[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305260[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305264[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305268[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_0830526C[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305270[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305274[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305278[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_0830527C[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305280[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305284[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305288[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_0830528C[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305290[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305294[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305298[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_0830529C[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_083052A0[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_083052A4[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_083052A8[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_083052AC[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_083052B0[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_083052B4[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_083052B8[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_083052BC[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_083052C0[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_083052C4[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_083052C8[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_083052CC[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_083052D0[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_083052D4[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_083052D8[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_083052DC[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_083052E0[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_083052E4[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_083052E8[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_083052EC[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_083052F0[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_083052F4[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_083052F8[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_083052FC[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305300[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305304[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305308[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_0830530C[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305310[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305314[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305318[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_0830531C[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305320[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305324[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305328[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_0830532C[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305330[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305334[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305338[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_0830533C[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305340[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305344[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305348[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_0830534C[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305350[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305354[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305358[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_0830535C[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305360[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305364[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305368[] = {gAnimCmd_General_Frame0}; + +const union AnimCmd *const *const gUnknown_0830536C[] = +{ + gUnknown_083051F8, + gUnknown_083051FC, + gUnknown_08305200, + gUnknown_08305204, + gUnknown_08305208, + gUnknown_0830520C, + gUnknown_08305210, + gUnknown_08305214, + gUnknown_08305218, + gUnknown_0830521C, + gUnknown_08305220, + gUnknown_08305224, + gUnknown_08305228, + gUnknown_0830522C, + gUnknown_08305230, + gUnknown_08305234, + gUnknown_08305238, + gUnknown_0830523C, + gUnknown_08305240, + gUnknown_08305244, + gUnknown_08305248, + gUnknown_0830524C, + gUnknown_08305250, + gUnknown_08305254, + gUnknown_08305258, + gUnknown_0830525C, + gUnknown_08305260, + gUnknown_08305264, + gUnknown_08305268, + gUnknown_0830526C, + gUnknown_08305270, + gUnknown_08305274, + gUnknown_08305278, + gUnknown_0830527C, + gUnknown_08305280, + gUnknown_08305284, + gUnknown_08305288, + gUnknown_0830528C, + gUnknown_08305290, + gUnknown_08305294, + gUnknown_08305298, + gUnknown_0830529C, + gUnknown_083052A0, + gUnknown_083052A4, + gUnknown_083052A8, + gUnknown_083052AC, + gUnknown_083052B0, + gUnknown_083052B4, + gUnknown_083052B8, + gUnknown_083052BC, + gUnknown_083052C0, + gUnknown_083052C4, + gUnknown_083052C8, + gUnknown_083052CC, + gUnknown_083052D0, + gUnknown_083052D4, + gUnknown_083052D8, + gUnknown_083052DC, + gUnknown_083052E0, + gUnknown_083052E4, + gUnknown_083052E8, + gUnknown_083052EC, + gUnknown_083052F0, + gUnknown_083052F4, + gUnknown_083052F8, + gUnknown_083052FC, + gUnknown_08305300, + gUnknown_08305304, + gUnknown_08305308, + gUnknown_0830530C, + gUnknown_08305310, + gUnknown_08305314, + gUnknown_08305318, + gUnknown_0830531C, + gUnknown_08305320, + gUnknown_08305324, + gUnknown_08305328, + gUnknown_0830532C, + gUnknown_08305330, + gUnknown_08305334, + gUnknown_08305338, + gUnknown_0830533C, + gUnknown_08305340, + gUnknown_08305344, + gUnknown_08305348, + gUnknown_0830534C, + gUnknown_08305350, + gUnknown_08305354, + gUnknown_08305358, + gUnknown_0830535C, + gUnknown_08305360, + gUnknown_08305364, + gUnknown_08305368, +}; diff --git a/include/data/trainer_graphics/front_pic_tables.h b/include/data/trainer_graphics/front_pic_tables.h index feb05f3f36..7c1e10683b 100644 --- a/include/data/trainer_graphics/front_pic_tables.h +++ b/include/data/trainer_graphics/front_pic_tables.h @@ -287,4 +287,4 @@ const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[] = gTrainerPalette_Leaf, 90, gTrainerPalette_RubySapphireBrendan, 91, gTrainerPalette_RubySapphireMay, 92, -} +}; diff --git a/include/graphics.h b/include/graphics.h index 1f2522ef98..24a7b839ad 100644 --- a/include/graphics.h +++ b/include/graphics.h @@ -2438,9 +2438,16 @@ extern const u8 gMonBackPic_UnownQuestionMark[]; extern const u8 gMonIcon_UnownQuestionMark[]; extern const u8 gMonFrontPic_CircledQuestionMark[]; +extern const u8 gMonBackPic_CircledQuestionMark[]; +extern const u8 gMonPalette_CircledQuestionMark[]; +extern const u8 gMonShinyPalette_CircledQuestionMark[]; extern const u8 gMonIcon_QuestionMark[]; extern const u8 gMonFrontPic_DoubleQuestionMark[]; +extern const u8 gMonBackPic_DoubleQuestionMark[]; +extern const u8 gMonPalette_DoubleQuestionMark[]; +extern const u8 gMonShinyPalette_DoubleQuestionMark[]; extern const u8 gMonFrontPic_Egg[]; +extern const u8 gMonStillFrontPic_Egg[]; extern const u8 gMonIcon_Egg[]; extern const u16 gMonIconPalettes[][16]; diff --git a/src/data2b.c b/src/data2b.c index 78e671a7ac..e7ca473a99 100644 --- a/src/data2b.c +++ b/src/data2b.c @@ -4,7 +4,12 @@ extern const union AnimCmd gAnimCmd_General_Frame0[]; extern const union AnimCmd AnimCmd_82FF540[]; -//#include "data/trainer_graphics/front_pic_tables.h" +#include "data/pokemon_graphics/back_pic_table.h" +#include "data/pokemon_graphics/palette_table.h" +#include "data/pokemon_graphics/shiny_palette_table.h" + +#include "data/trainer_graphics/front_pic_anims.h" +#include "data/trainer_graphics/front_pic_tables.h" #include "data/trainer_graphics/back_pic_anims.h" #include "data/trainer_graphics/back_pic_tables.h" From 26ef40553c651560afb2ac9ba1f9a6c1aad4bc8d Mon Sep 17 00:00:00 2001 From: Diegoisawesome Date: Thu, 23 Aug 2018 02:32:34 -0500 Subject: [PATCH 125/234] Move data from include to src --- include/data/bard_music/bard_sounds.h | 52 ------------------- {include => src}/data/bard_music/actions.h | 0 {include => src}/data/bard_music/adjectives.h | 0 src/data/bard_music/bard_sounds.h | 52 +++++++++++++++++++ {include => src}/data/bard_music/battle.h | 0 {include => src}/data/bard_music/conditions.h | 0 .../data/bard_music/default_sound.h | 0 {include => src}/data/bard_music/endings.h | 0 {include => src}/data/bard_music/events.h | 0 {include => src}/data/bard_music/feelings.h | 0 {include => src}/data/bard_music/greetings.h | 0 {include => src}/data/bard_music/hobbies.h | 0 .../data/bard_music/length_table.h | 0 {include => src}/data/bard_music/lifestyle.h | 0 {include => src}/data/bard_music/misc.h | 0 {include => src}/data/bard_music/moves.h | 0 {include => src}/data/bard_music/people.h | 0 {include => src}/data/bard_music/pokemon.h | 0 {include => src}/data/bard_music/speech.h | 0 {include => src}/data/bard_music/status.h | 0 {include => src}/data/bard_music/time.h | 0 {include => src}/data/bard_music/trainer.h | 0 .../data/bard_music/trendysaying.h | 0 {include => src}/data/bard_music/voices.h | 0 {include => src}/data/bard_music/word_pitch.h | 0 {include => src}/data/battle_moves.h | 0 .../data/decoration/description.h | 0 {include => src}/data/decoration/header.h | 0 {include => src}/data/decoration/icon.h | 0 {include => src}/data/decoration/tilemaps.h | 0 {include => src}/data/decoration/tiles.h | 0 {include => src}/data/item_icon_table.h | 0 {include => src}/data/items.h | 0 {include => src}/data/pokedex_orders.h | 0 {include => src}/data/pokemon/base_stats.h | 0 {include => src}/data/pokemon/cry_ids.h | 0 {include => src}/data/pokemon/egg_moves.h | 0 {include => src}/data/pokemon/evolution.h | 0 .../data/pokemon/experience_tables.h | 0 {include => src}/data/pokemon/item_effects.h | 0 .../data/pokemon/level_up_learnset_pointers.h | 0 .../data/pokemon/level_up_learnsets.h | 0 .../data/pokemon/tmhm_learnsets.h | 0 .../data/pokemon/trainer_class_lookups.h | 0 .../data/region_map/region_map_entries.h | 0 {include => src}/data/text/abilities.h | 0 .../data/text/item_descriptions.h | 0 47 files changed, 52 insertions(+), 52 deletions(-) delete mode 100644 include/data/bard_music/bard_sounds.h rename {include => src}/data/bard_music/actions.h (100%) rename {include => src}/data/bard_music/adjectives.h (100%) create mode 100644 src/data/bard_music/bard_sounds.h rename {include => src}/data/bard_music/battle.h (100%) rename {include => src}/data/bard_music/conditions.h (100%) rename {include => src}/data/bard_music/default_sound.h (100%) rename {include => src}/data/bard_music/endings.h (100%) rename {include => src}/data/bard_music/events.h (100%) rename {include => src}/data/bard_music/feelings.h (100%) rename {include => src}/data/bard_music/greetings.h (100%) rename {include => src}/data/bard_music/hobbies.h (100%) rename {include => src}/data/bard_music/length_table.h (100%) rename {include => src}/data/bard_music/lifestyle.h (100%) rename {include => src}/data/bard_music/misc.h (100%) rename {include => src}/data/bard_music/moves.h (100%) rename {include => src}/data/bard_music/people.h (100%) rename {include => src}/data/bard_music/pokemon.h (100%) rename {include => src}/data/bard_music/speech.h (100%) rename {include => src}/data/bard_music/status.h (100%) rename {include => src}/data/bard_music/time.h (100%) rename {include => src}/data/bard_music/trainer.h (100%) rename {include => src}/data/bard_music/trendysaying.h (100%) rename {include => src}/data/bard_music/voices.h (100%) rename {include => src}/data/bard_music/word_pitch.h (100%) rename {include => src}/data/battle_moves.h (100%) rename {include => src}/data/decoration/description.h (100%) rename {include => src}/data/decoration/header.h (100%) rename {include => src}/data/decoration/icon.h (100%) rename {include => src}/data/decoration/tilemaps.h (100%) rename {include => src}/data/decoration/tiles.h (100%) rename {include => src}/data/item_icon_table.h (100%) rename {include => src}/data/items.h (100%) rename {include => src}/data/pokedex_orders.h (100%) rename {include => src}/data/pokemon/base_stats.h (100%) rename {include => src}/data/pokemon/cry_ids.h (100%) rename {include => src}/data/pokemon/egg_moves.h (100%) rename {include => src}/data/pokemon/evolution.h (100%) rename {include => src}/data/pokemon/experience_tables.h (100%) rename {include => src}/data/pokemon/item_effects.h (100%) rename {include => src}/data/pokemon/level_up_learnset_pointers.h (100%) rename {include => src}/data/pokemon/level_up_learnsets.h (100%) rename {include => src}/data/pokemon/tmhm_learnsets.h (100%) rename {include => src}/data/pokemon/trainer_class_lookups.h (100%) rename {include => src}/data/region_map/region_map_entries.h (100%) rename {include => src}/data/text/abilities.h (100%) rename {include => src}/data/text/item_descriptions.h (100%) diff --git a/include/data/bard_music/bard_sounds.h b/include/data/bard_music/bard_sounds.h deleted file mode 100644 index 94923b0999..0000000000 --- a/include/data/bard_music/bard_sounds.h +++ /dev/null @@ -1,52 +0,0 @@ -#ifndef GUARD_BARD_SOUNDS_TABLE_H -#define GUARD_BARD_SOUNDS_TABLE_H - -#define NULL_BARD_SOUND { 0xff } - -#include "data/bard_music/pokemon.h" -#include "data/bard_music/moves.h" -#include "data/bard_music/trainer.h" -#include "data/bard_music/status.h" -#include "data/bard_music/battle.h" -#include "data/bard_music/greetings.h" -#include "data/bard_music/people.h" -#include "data/bard_music/voices.h" -#include "data/bard_music/speech.h" -#include "data/bard_music/endings.h" -#include "data/bard_music/feelings.h" -#include "data/bard_music/conditions.h" -#include "data/bard_music/actions.h" -#include "data/bard_music/lifestyle.h" -#include "data/bard_music/hobbies.h" -#include "data/bard_music/time.h" -#include "data/bard_music/misc.h" -#include "data/bard_music/adjectives.h" -#include "data/bard_music/events.h" -#include "data/bard_music/trendysaying.h" - -const struct BardSound (*const gBardSoundsTable[])[6] = { - NULL, - gBardSounds_Trainer, - gBardSounds_Status, - gBardSounds_Battle, - gBardSounds_Greetings, - gBardSounds_People, - gBardSounds_Voices, - gBardSounds_Speech, - gBardSounds_Endings, - gBardSounds_Feelings, - gBardSounds_Conditions, - gBardSounds_Actions, - gBardSounds_Lifestyle, - gBardSounds_Hobbies, - gBardSounds_Time, - gBardSounds_Misc, - gBardSounds_Adjectives, - gBardSounds_Events, - NULL, - NULL, - gBardSounds_TrendySaying, - NULL -}; - -#endif //GUARD_BARD_SOUNDS_TABLE_H diff --git a/include/data/bard_music/actions.h b/src/data/bard_music/actions.h similarity index 100% rename from include/data/bard_music/actions.h rename to src/data/bard_music/actions.h diff --git a/include/data/bard_music/adjectives.h b/src/data/bard_music/adjectives.h similarity index 100% rename from include/data/bard_music/adjectives.h rename to src/data/bard_music/adjectives.h diff --git a/src/data/bard_music/bard_sounds.h b/src/data/bard_music/bard_sounds.h new file mode 100644 index 0000000000..4a09117268 --- /dev/null +++ b/src/data/bard_music/bard_sounds.h @@ -0,0 +1,52 @@ +#ifndef GUARD_BARD_SOUNDS_TABLE_H +#define GUARD_BARD_SOUNDS_TABLE_H + +#define NULL_BARD_SOUND { 0xff } + +#include "pokemon.h" +#include "moves.h" +#include "trainer.h" +#include "status.h" +#include "battle.h" +#include "greetings.h" +#include "people.h" +#include "voices.h" +#include "speech.h" +#include "endings.h" +#include "feelings.h" +#include "conditions.h" +#include "actions.h" +#include "lifestyle.h" +#include "hobbies.h" +#include "time.h" +#include "misc.h" +#include "adjectives.h" +#include "events.h" +#include "trendysaying.h" + +const struct BardSound (*const gBardSoundsTable[])[6] = { + NULL, + gBardSounds_Trainer, + gBardSounds_Status, + gBardSounds_Battle, + gBardSounds_Greetings, + gBardSounds_People, + gBardSounds_Voices, + gBardSounds_Speech, + gBardSounds_Endings, + gBardSounds_Feelings, + gBardSounds_Conditions, + gBardSounds_Actions, + gBardSounds_Lifestyle, + gBardSounds_Hobbies, + gBardSounds_Time, + gBardSounds_Misc, + gBardSounds_Adjectives, + gBardSounds_Events, + NULL, + NULL, + gBardSounds_TrendySaying, + NULL +}; + +#endif //GUARD_BARD_SOUNDS_TABLE_H diff --git a/include/data/bard_music/battle.h b/src/data/bard_music/battle.h similarity index 100% rename from include/data/bard_music/battle.h rename to src/data/bard_music/battle.h diff --git a/include/data/bard_music/conditions.h b/src/data/bard_music/conditions.h similarity index 100% rename from include/data/bard_music/conditions.h rename to src/data/bard_music/conditions.h diff --git a/include/data/bard_music/default_sound.h b/src/data/bard_music/default_sound.h similarity index 100% rename from include/data/bard_music/default_sound.h rename to src/data/bard_music/default_sound.h diff --git a/include/data/bard_music/endings.h b/src/data/bard_music/endings.h similarity index 100% rename from include/data/bard_music/endings.h rename to src/data/bard_music/endings.h diff --git a/include/data/bard_music/events.h b/src/data/bard_music/events.h similarity index 100% rename from include/data/bard_music/events.h rename to src/data/bard_music/events.h diff --git a/include/data/bard_music/feelings.h b/src/data/bard_music/feelings.h similarity index 100% rename from include/data/bard_music/feelings.h rename to src/data/bard_music/feelings.h diff --git a/include/data/bard_music/greetings.h b/src/data/bard_music/greetings.h similarity index 100% rename from include/data/bard_music/greetings.h rename to src/data/bard_music/greetings.h diff --git a/include/data/bard_music/hobbies.h b/src/data/bard_music/hobbies.h similarity index 100% rename from include/data/bard_music/hobbies.h rename to src/data/bard_music/hobbies.h diff --git a/include/data/bard_music/length_table.h b/src/data/bard_music/length_table.h similarity index 100% rename from include/data/bard_music/length_table.h rename to src/data/bard_music/length_table.h diff --git a/include/data/bard_music/lifestyle.h b/src/data/bard_music/lifestyle.h similarity index 100% rename from include/data/bard_music/lifestyle.h rename to src/data/bard_music/lifestyle.h diff --git a/include/data/bard_music/misc.h b/src/data/bard_music/misc.h similarity index 100% rename from include/data/bard_music/misc.h rename to src/data/bard_music/misc.h diff --git a/include/data/bard_music/moves.h b/src/data/bard_music/moves.h similarity index 100% rename from include/data/bard_music/moves.h rename to src/data/bard_music/moves.h diff --git a/include/data/bard_music/people.h b/src/data/bard_music/people.h similarity index 100% rename from include/data/bard_music/people.h rename to src/data/bard_music/people.h diff --git a/include/data/bard_music/pokemon.h b/src/data/bard_music/pokemon.h similarity index 100% rename from include/data/bard_music/pokemon.h rename to src/data/bard_music/pokemon.h diff --git a/include/data/bard_music/speech.h b/src/data/bard_music/speech.h similarity index 100% rename from include/data/bard_music/speech.h rename to src/data/bard_music/speech.h diff --git a/include/data/bard_music/status.h b/src/data/bard_music/status.h similarity index 100% rename from include/data/bard_music/status.h rename to src/data/bard_music/status.h diff --git a/include/data/bard_music/time.h b/src/data/bard_music/time.h similarity index 100% rename from include/data/bard_music/time.h rename to src/data/bard_music/time.h diff --git a/include/data/bard_music/trainer.h b/src/data/bard_music/trainer.h similarity index 100% rename from include/data/bard_music/trainer.h rename to src/data/bard_music/trainer.h diff --git a/include/data/bard_music/trendysaying.h b/src/data/bard_music/trendysaying.h similarity index 100% rename from include/data/bard_music/trendysaying.h rename to src/data/bard_music/trendysaying.h diff --git a/include/data/bard_music/voices.h b/src/data/bard_music/voices.h similarity index 100% rename from include/data/bard_music/voices.h rename to src/data/bard_music/voices.h diff --git a/include/data/bard_music/word_pitch.h b/src/data/bard_music/word_pitch.h similarity index 100% rename from include/data/bard_music/word_pitch.h rename to src/data/bard_music/word_pitch.h diff --git a/include/data/battle_moves.h b/src/data/battle_moves.h similarity index 100% rename from include/data/battle_moves.h rename to src/data/battle_moves.h diff --git a/include/data/decoration/description.h b/src/data/decoration/description.h similarity index 100% rename from include/data/decoration/description.h rename to src/data/decoration/description.h diff --git a/include/data/decoration/header.h b/src/data/decoration/header.h similarity index 100% rename from include/data/decoration/header.h rename to src/data/decoration/header.h diff --git a/include/data/decoration/icon.h b/src/data/decoration/icon.h similarity index 100% rename from include/data/decoration/icon.h rename to src/data/decoration/icon.h diff --git a/include/data/decoration/tilemaps.h b/src/data/decoration/tilemaps.h similarity index 100% rename from include/data/decoration/tilemaps.h rename to src/data/decoration/tilemaps.h diff --git a/include/data/decoration/tiles.h b/src/data/decoration/tiles.h similarity index 100% rename from include/data/decoration/tiles.h rename to src/data/decoration/tiles.h diff --git a/include/data/item_icon_table.h b/src/data/item_icon_table.h similarity index 100% rename from include/data/item_icon_table.h rename to src/data/item_icon_table.h diff --git a/include/data/items.h b/src/data/items.h similarity index 100% rename from include/data/items.h rename to src/data/items.h diff --git a/include/data/pokedex_orders.h b/src/data/pokedex_orders.h similarity index 100% rename from include/data/pokedex_orders.h rename to src/data/pokedex_orders.h diff --git a/include/data/pokemon/base_stats.h b/src/data/pokemon/base_stats.h similarity index 100% rename from include/data/pokemon/base_stats.h rename to src/data/pokemon/base_stats.h diff --git a/include/data/pokemon/cry_ids.h b/src/data/pokemon/cry_ids.h similarity index 100% rename from include/data/pokemon/cry_ids.h rename to src/data/pokemon/cry_ids.h diff --git a/include/data/pokemon/egg_moves.h b/src/data/pokemon/egg_moves.h similarity index 100% rename from include/data/pokemon/egg_moves.h rename to src/data/pokemon/egg_moves.h diff --git a/include/data/pokemon/evolution.h b/src/data/pokemon/evolution.h similarity index 100% rename from include/data/pokemon/evolution.h rename to src/data/pokemon/evolution.h diff --git a/include/data/pokemon/experience_tables.h b/src/data/pokemon/experience_tables.h similarity index 100% rename from include/data/pokemon/experience_tables.h rename to src/data/pokemon/experience_tables.h diff --git a/include/data/pokemon/item_effects.h b/src/data/pokemon/item_effects.h similarity index 100% rename from include/data/pokemon/item_effects.h rename to src/data/pokemon/item_effects.h diff --git a/include/data/pokemon/level_up_learnset_pointers.h b/src/data/pokemon/level_up_learnset_pointers.h similarity index 100% rename from include/data/pokemon/level_up_learnset_pointers.h rename to src/data/pokemon/level_up_learnset_pointers.h diff --git a/include/data/pokemon/level_up_learnsets.h b/src/data/pokemon/level_up_learnsets.h similarity index 100% rename from include/data/pokemon/level_up_learnsets.h rename to src/data/pokemon/level_up_learnsets.h diff --git a/include/data/pokemon/tmhm_learnsets.h b/src/data/pokemon/tmhm_learnsets.h similarity index 100% rename from include/data/pokemon/tmhm_learnsets.h rename to src/data/pokemon/tmhm_learnsets.h diff --git a/include/data/pokemon/trainer_class_lookups.h b/src/data/pokemon/trainer_class_lookups.h similarity index 100% rename from include/data/pokemon/trainer_class_lookups.h rename to src/data/pokemon/trainer_class_lookups.h diff --git a/include/data/region_map/region_map_entries.h b/src/data/region_map/region_map_entries.h similarity index 100% rename from include/data/region_map/region_map_entries.h rename to src/data/region_map/region_map_entries.h diff --git a/include/data/text/abilities.h b/src/data/text/abilities.h similarity index 100% rename from include/data/text/abilities.h rename to src/data/text/abilities.h diff --git a/include/data/text/item_descriptions.h b/src/data/text/item_descriptions.h similarity index 100% rename from include/data/text/item_descriptions.h rename to src/data/text/item_descriptions.h From 6b145ed77c01dd3ea8d18709ff818a85f6b3a392 Mon Sep 17 00:00:00 2001 From: Slawter666 <38655737+Slawter666@users.noreply.github.com> Date: Fri, 24 Aug 2018 04:21:07 +0100 Subject: [PATCH 126/234] Move data from graphics.s to C --- data/graphics.s | 5178 --------- data/graphics/berries/berry_graphics.inc | 343 - .../decorations/decoration_graphics.inc | 252 - data/graphics/items/item_graphics.inc | 1883 ---- .../circled_question_mark_graphics.inc | 15 - data/graphics/pokemon/graphics.inc | 9619 ----------------- data/graphics/trainers/graphics.inc | 783 -- ld_script.txt | 1 + src/graphics.c | 1974 ++++ src/graphics/berries.h | 95 + src/graphics/decorations.h | 125 + src/graphics/items.h | 738 ++ src/graphics/pokemon.h | 2823 +++++ src/graphics/trainers.h | 290 + 14 files changed, 6046 insertions(+), 18073 deletions(-) delete mode 100644 data/graphics/berries/berry_graphics.inc delete mode 100644 data/graphics/decorations/decoration_graphics.inc delete mode 100644 data/graphics/items/item_graphics.inc delete mode 100644 data/graphics/pokemon/circled_question_mark_graphics.inc delete mode 100644 data/graphics/pokemon/graphics.inc delete mode 100644 data/graphics/trainers/graphics.inc create mode 100644 src/graphics.c create mode 100644 src/graphics/berries.h create mode 100644 src/graphics/decorations.h create mode 100644 src/graphics/items.h create mode 100644 src/graphics/pokemon.h create mode 100644 src/graphics/trainers.h diff --git a/data/graphics.s b/data/graphics.s index 01e8c3b2ca..2c1a98924e 100644 --- a/data/graphics.s +++ b/data/graphics.s @@ -1,5183 +1,5 @@ .section gfx_data, "aw", %progbits - .align 2 -gBattleTextboxTiles:: @ 8C00000 - .incbin "graphics/interface/menu.4bpp.lz" @ menu window and arrows - - .align 2 -gBattleTextboxPalette:: @ 8C004E0 - .incbin "graphics/interface/menu.gbapal.lz" - - .align 2 -gBattleTextboxTilemap:: @ 8C00524 - .incbin "graphics/interface/menu_map.bin.lz" - -@ 8C00750 - .include "data/graphics/pokemon/circled_question_mark_graphics.inc" - -@ 8C00C10 - .incbin "graphics/unused/old_charmap.4bpp.lz" @ japanese table and bunch of stuff - .incbin "graphics/unused/old_charmap.bin.lz" - .incbin "graphics/unused/old_charmap.gbapal.lz" - - .align 2 -gSmokescreenImpactTiles:: @ 8C01644 - .incbin "graphics/battle_anims/sprites/smokescreen_impact.4bpp.lz" - - .align 2 -gSmokescreenImpactPalette:: @ 8C01724 - .incbin "graphics/battle_anims/sprites/smokescreen_impact.gbapal.lz" - - .align 2 -gInterfaceGfx_PokeBall:: - .incbin "graphics/interface/ball/poke.4bpp.lz" @ 0xBC - - .align 2 -gInterfacePal_PokeBall:: - .incbin "graphics/interface/ball/poke.gbapal.lz" - - .align 2 -gInterfaceGfx_GreatBall:: - .incbin "graphics/interface/ball/great.4bpp.lz" @ 0xBC - - .align 2 -gInterfacePal_GreatBall:: - .incbin "graphics/interface/ball/great.gbapal.lz" - - .align 2 -gInterfaceGfx_SafariBall:: - .incbin "graphics/interface/ball/safari.4bpp.lz" @ 0xBC - - .align 2 -gInterfacePal_SafariBall:: - .incbin "graphics/interface/ball/safari.gbapal.lz" - - .align 2 -gInterfaceGfx_UltraBall:: - .incbin "graphics/interface/ball/ultra.4bpp.lz" @ 0xBC - - .align 2 -gInterfacePal_UltraBall:: - .incbin "graphics/interface/ball/ultra.gbapal.lz" - - .align 2 -gInterfaceGfx_MasterBall:: - .incbin "graphics/interface/ball/master.4bpp.lz" @ 0xBC - - .align 2 -gInterfacePal_MasterBall:: - .incbin "graphics/interface/ball/master.gbapal.lz" - - .align 2 -gInterfaceGfx_NetBall:: - .incbin "graphics/interface/ball/net.4bpp.lz" @ 0xBC - - .align 2 -gInterfacePal_NetBall:: - .incbin "graphics/interface/ball/net.gbapal.lz" - - .align 2 -gInterfaceGfx_DiveBall:: - .incbin "graphics/interface/ball/dive.4bpp.lz" @ 0xBC - - .align 2 -gInterfacePal_DiveBall:: - .incbin "graphics/interface/ball/dive.gbapal.lz" - - .align 2 -gInterfaceGfx_NestBall:: - .incbin "graphics/interface/ball/nest.4bpp.lz" @ 0xBC - - .align 2 -gInterfacePal_NestBall:: - .incbin "graphics/interface/ball/nest.gbapal.lz" - - .align 2 -gInterfaceGfx_RepeatBall:: - .incbin "graphics/interface/ball/repeat.4bpp.lz" @ 0xBC - - .align 2 -gInterfacePal_RepeatBall:: - .incbin "graphics/interface/ball/repeat.gbapal.lz" - - .align 2 -gInterfaceGfx_TimerBall:: - .incbin "graphics/interface/ball/timer.4bpp.lz" @ 0xBC - - .align 2 -gInterfacePal_TimerBall:: - .incbin "graphics/interface/ball/timer.gbapal.lz" - - .align 2 -gInterfaceGfx_LuxuryBall:: - .incbin "graphics/interface/ball/luxury.4bpp.lz" @ 0xBC - - .align 2 -gInterfacePal_LuxuryBall:: - .incbin "graphics/interface/ball/luxury.gbapal.lz" - - .align 2 -gInterfaceGfx_PremierBall:: - .incbin "graphics/interface/ball/premier.4bpp.lz" @ 0xBC - - .align 2 -gInterfacePal_PremierBall:: - .incbin "graphics/interface/ball/premier.gbapal.lz" - - .align 2 -gOpenPokeballGfx:: @ 8C02300 - .incbin "graphics/interface/ball_open.4bpp.lz" - - .align 2 -gBlankGfxCompressed:: @ 8C0237C - .incbin "graphics/interface/blank.4bpp.lz" - - .align 2 -gBattleAnimSpriteSheet_146:: - .incbin "graphics/battle_anims/sprites/146.4bpp.lz" - - .align 2 -gBattleAnimSpriteSheet_000:: - .incbin "graphics/battle_anims/sprites/000.4bpp.lz" - - .align 2 -gBattleAnimSpriteSheet_003:: - .incbin "graphics/battle_anims/sprites/003.4bpp.lz" - - .align 2 -gBattleAnimSpriteSheet_004:: - .incbin "graphics/battle_anims/sprites/004.4bpp.lz" - - .align 2 -gBattleAnimSpriteSheet_005:: - .incbin "graphics/battle_anims/sprites/005.4bpp.lz" - - .align 2 -gBattleAnimSpriteSheet_006:: - .incbin "graphics/battle_anims/sprites/006.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_115:: - .incbin "graphics/battle_anims/sprites/115.gbapal.lz" - - .align 2 -gBattleAnimSpritePalette_000:: - .incbin "graphics/battle_anims/sprites/000.gbapal.lz" - - .align 2 -gBattleAnimSpritePalette_003:: - .incbin "graphics/battle_anims/sprites/003.gbapal.lz" - - .align 2 -gBattleAnimSpritePalette_004:: - .incbin "graphics/battle_anims/sprites/004.gbapal.lz" - - .align 2 -gBattleAnimSpritePalette_005:: - .incbin "graphics/battle_anims/sprites/005.gbapal.lz" - - .align 2 -gBattleAnimSpritePalette_006:: - .incbin "graphics/battle_anims/sprites/006.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_161:: - .incbin "graphics/battle_anims/sprites/161.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_161:: - .incbin "graphics/battle_anims/sprites/161.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_007:: - .incbin "graphics/battle_anims/sprites/007.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_007:: - .incbin "graphics/battle_anims/sprites/007.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_008:: - .incbin "graphics/battle_anims/sprites/008.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_008:: - .incbin "graphics/battle_anims/sprites/008.gbapal.lz" - - .align 2 -gBattleAnimSpritePalette_010:: - .incbin "graphics/battle_anims/sprites/010.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_010:: - .incbin "graphics/battle_anims/sprites/010.4bpp.lz" - - .align 2 -gBattleAnimSpriteSheet_009:: - .incbin "graphics/battle_anims/sprites/009.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_009:: - .incbin "graphics/battle_anims/sprites/009.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_011:: - .incbin "graphics/battle_anims/sprites/011.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_011:: - .incbin "graphics/battle_anims/sprites/011.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_012:: - .incbin "graphics/battle_anims/sprites/012.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_012:: - .incbin "graphics/battle_anims/sprites/012.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_152:: - .incbin "graphics/battle_anims/sprites/152.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_152:: - .incbin "graphics/battle_anims/sprites/152.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_013:: - .incbin "graphics/battle_anims/sprites/013.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_013:: - .incbin "graphics/battle_anims/sprites/013.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_015:: - .incbin "graphics/battle_anims/sprites/015.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_015:: - .incbin "graphics/battle_anims/sprites/015.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_016:: - .incbin "graphics/battle_anims/sprites/016.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_016:: - .incbin "graphics/battle_anims/sprites/016.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_017:: - .incbin "graphics/battle_anims/sprites/017.4bpp.lz" - - .align 2 - .incbin "graphics/unknown/unknown_C035B8.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_019:: - .incbin "graphics/battle_anims/sprites/019.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_019:: - .incbin "graphics/battle_anims/sprites/019.4bpp.lz" - - .align 2 -gBattleAnimSpriteSheet_020:: - .incbin "graphics/battle_anims/sprites/020.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_020:: - .incbin "graphics/battle_anims/sprites/020.gbapal.lz" - - .align 2 -gBattleAnimSpritePalette_023:: - .incbin "graphics/battle_anims/sprites/023.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_023:: - .incbin "graphics/battle_anims/sprites/023.4bpp.lz" - - .align 2 - .incbin "graphics/unused/battle_anim_023.gbapal.lz" - - .align 2 - .incbin "graphics/unused/music_notes.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_021:: - .incbin "graphics/battle_anims/sprites/021.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_021:: - .incbin "graphics/battle_anims/sprites/021.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_022:: - .incbin "graphics/battle_anims/sprites/022.gbapal.lz" - - .align 2 -gBattleAnimSpritePalette_025:: - .incbin "graphics/battle_anims/sprites/025.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_025:: - .incbin "graphics/battle_anims/sprites/025.4bpp.lz" - - .align 2 -gBattleAnimSpriteSheet_024:: - .incbin "graphics/battle_anims/sprites/024.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_024:: - .incbin "graphics/battle_anims/sprites/024.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_031:: - .incbin "graphics/battle_anims/sprites/031.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_031:: - .incbin "graphics/battle_anims/sprites/031.gbapal.lz" - - .align 2 -gBattleAnimSpritePalette_032:: - .incbin "graphics/battle_anims/sprites/032.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_032:: - .incbin "graphics/battle_anims/sprites/032.4bpp.lz" - - .align 2 -gBattleAnimSpriteSheet_026:: - .incbin "graphics/battle_anims/sprites/026.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_026:: - .incbin "graphics/battle_anims/sprites/026.gbapal.lz" - - .align 2 -gBattleAnimSpritePalette_027:: - .incbin "graphics/battle_anims/sprites/027.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_027:: - .incbin "graphics/battle_anims/sprites/027.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_028:: - .incbin "graphics/battle_anims/sprites/028.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_028:: - .incbin "graphics/battle_anims/sprites/028.4bpp.lz" - - .align 2 -gBattleAnimSpriteSheet_029:: - .incbin "graphics/battle_anims/sprites/029.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_029:: - .incbin "graphics/battle_anims/sprites/029.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_030:: - .incbin "graphics/battle_anims/sprites/030.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_030:: - .incbin "graphics/battle_anims/sprites/030.gbapal.lz" - - .align 2 -gBattleAnimSpritePalette_033:: - .incbin "graphics/battle_anims/sprites/033.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_033:: - .incbin "graphics/battle_anims/sprites/033.4bpp.lz" - - .align 2 -gBattleAnimSpriteSheet_034:: - .incbin "graphics/battle_anims/sprites/034.4bpp.lz" - - .align 2 -gBattleAnimSpriteSheet_035:: - .incbin "graphics/battle_anims/sprites/035.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_036:: - .incbin "graphics/battle_anims/sprites/036.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_036:: - .incbin "graphics/battle_anims/sprites/036.4bpp.lz" - - .align 2 -gBattleAnimSpriteSheet_037:: - .incbin "graphics/battle_anims/sprites/037.4bpp.lz" - - .align 2 - .incbin "graphics/unknown/unknown_C06D98.4bpp.lz" - - .align 2 - .incbin "graphics/unknown/unknown_C06D98.gbapal.lz" - - .align 2 - .incbin "graphics/unknown/unknown_C06D98_2.gbapal.lz" - -@ old battle interface data, unused - - .align 2 - .incbin "graphics/unused/obi1.4bpp.lz" - - .align 2 - .incbin "graphics/unused/obi_palpak1.gbapal.lz" @ palettes 1-3 - - .align 2 - .incbin "graphics/unused/old_pal4.gbapal.lz" @ 4 is by itself - - .align 2 - .incbin "graphics/unused/obi_palpak3.gbapal.lz" @ palettes 5-7 - - .align 2 - .incbin "graphics/unused/obi2.4bpp.lz" - - .align 2 - .incbin "graphics/unused/old_battle_interface_tilemap.bin.lz" - - .align 2 -gBattleAnimSpritePalette_038:: - .incbin "graphics/battle_anims/sprites/038.gbapal.lz" - - .align 2 -gBattleAnimSpritePalette_039:: - .incbin "graphics/battle_anims/sprites/039.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_038:: - .incbin "graphics/battle_anims/sprites/038.4bpp.lz" - - .align 2 -gBattleAnimSpriteSheet_039:: - .incbin "graphics/battle_anims/sprites/039.4bpp.lz" - - .align 2 -gBattleAnimSpriteSheet_040:: - .incbin "graphics/battle_anims/sprites/040.4bpp.lz" - - .align 2 -gBattleAnimSpriteSheet_041:: - .incbin "graphics/battle_anims/sprites/041.4bpp.lz" - - @ why is this way up here? - - .align 2 -gPartyMenuHpBar_Gfx:: - .incbin "graphics/interface/party_menu_hpbar.4bpp.lz" - - .align 2 -gBattleAnimSpriteSheet_042:: - .incbin "graphics/battle_anims/sprites/042.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_042:: - .incbin "graphics/battle_anims/sprites/042.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_043:: - .incbin "graphics/battle_anims/sprites/043.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_043:: - .incbin "graphics/battle_anims/sprites/043.gbapal.lz" - - .align 2 -gBattleAnimSpritePalette_044:: - .incbin "graphics/battle_anims/sprites/044.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_044:: - .incbin "graphics/battle_anims/sprites/044.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_045:: - .incbin "graphics/battle_anims/sprites/045.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_045:: - .incbin "graphics/battle_anims/sprites/045.4bpp.lz" - - @ two unused window frames. - - .align 2 -gUnknown_08C08F0C:: - .incbin "graphics/battle_interface/unused_window.4bpp.lz" - - .align 2 -gUnknown_08C093C8:: - .incbin "graphics/battle_interface/unused_window.gbapal.lz" - - .align 2 -gUnknown_08C093F0:: @ 8C093F0 - .incbin "graphics/interface/hp_numbers.4bpp.lz" - - .align 2 -gBattleAnimSpriteSheet_046:: - .incbin "graphics/battle_anims/sprites/046.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_046:: - .incbin "graphics/battle_anims/sprites/046.gbapal.lz" - - .align 2 -gBattleAnimSpritePalette_047:: - .incbin "graphics/battle_anims/sprites/047.gbapal.lz" - - @ more unused windows - .align 2 - .incbin "graphics/battle_interface/unused_window2.4bpp.lz" - - .align 2 - .incbin "graphics/battle_interface/unused_window2bar.4bpp.lz" - - .align 2 -gBattleAnimSpriteSheet_048:: - .incbin "graphics/battle_anims/sprites/048.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_048:: - .incbin "graphics/battle_anims/sprites/048.gbapal.lz" - - .align 2 -gBattleAnimSpritePalette_049:: - .incbin "graphics/battle_anims/sprites/049.gbapal.lz" - - .align 2 -gBattleAnimSpritePalette_050:: - .incbin "graphics/battle_anims/sprites/050.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_050:: - .incbin "graphics/battle_anims/sprites/050.4bpp.lz" - - .align 2 -gBattleAnimSpriteSheet_051:: - .incbin "graphics/battle_anims/sprites/051.4bpp.lz" - - .align 2 -gBattleAnimSpriteSheet_052:: - .incbin "graphics/battle_anims/sprites/052.4bpp.lz" - - .align 2 - .incbin "graphics/unused/line_sketch.4bpp.lz" @ unused - - .align 2 - .incbin "graphics/unused/line_sketch.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_054:: - .incbin "graphics/battle_anims/sprites/054.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_054:: - .incbin "graphics/battle_anims/sprites/054.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_056:: - .incbin "graphics/battle_anims/sprites/056.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_056:: - .incbin "graphics/battle_anims/sprites/056.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_055:: - .incbin "graphics/battle_anims/sprites/055.4bpp.lz" - - .align 2 -gBattleAnimSpriteSheet_057:: - .incbin "graphics/battle_anims/sprites/057.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_057:: - .incbin "graphics/battle_anims/sprites/057.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_058:: - .incbin "graphics/battle_anims/sprites/058.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_058:: - .incbin "graphics/battle_anims/sprites/058.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_059:: - .incbin "graphics/battle_anims/sprites/059.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_059:: - .incbin "graphics/battle_anims/sprites/059.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_060:: - .incbin "graphics/battle_anims/sprites/060.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_060:: - .incbin "graphics/battle_anims/sprites/060.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_061:: - .incbin "graphics/battle_anims/sprites/061.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_061:: - .incbin "graphics/battle_anims/sprites/061.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_062:: - .incbin "graphics/battle_anims/sprites/062.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_062:: - .incbin "graphics/battle_anims/sprites/062.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_063:: - .incbin "graphics/battle_anims/sprites/063.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_063:: - .incbin "graphics/battle_anims/sprites/063.gbapal.lz" - - .align 2 - .incbin "graphics/unused/metronome_hand_small.4bpp.lz" @ unused, was for metronome at one point - - .align 2 -gBattleAnimSpritePalette_091:: - .incbin "graphics/battle_anims/sprites/091.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_065:: - .incbin "graphics/battle_anims/sprites/065.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_065:: - .incbin "graphics/battle_anims/sprites/065.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_066:: - .incbin "graphics/battle_anims/sprites/066.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_066:: - .incbin "graphics/battle_anims/sprites/066.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_070:: - .incbin "graphics/battle_anims/sprites/070.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_070:: - .incbin "graphics/battle_anims/sprites/070.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_071:: - .incbin "graphics/battle_anims/sprites/071.4bpp.lz" - - .align 2 -gBattleAnimSpriteSheet_072:: - .incbin "graphics/battle_anims/sprites/072.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_072:: - .incbin "graphics/battle_anims/sprites/072.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_073:: - .incbin "graphics/battle_anims/sprites/073.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_073:: - .incbin "graphics/battle_anims/sprites/073.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_075:: - .incbin "graphics/battle_anims/sprites/075.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_075:: - .incbin "graphics/battle_anims/sprites/075.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_078:: - .incbin "graphics/battle_anims/sprites/078.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_078:: - .incbin "graphics/battle_anims/sprites/078.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_079:: - .incbin "graphics/battle_anims/sprites/079.4bpp.lz" - - .align 2 -gBattleAnimSpriteSheet_080:: - .incbin "graphics/battle_anims/sprites/080.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_080:: - .incbin "graphics/battle_anims/sprites/080.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_081:: - .incbin "graphics/battle_anims/sprites/081.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_081:: - .incbin "graphics/battle_anims/sprites/081.gbapal.lz" - - .align 2 - .incbin "graphics/unknown/unknown_C0CA1C.bin" - - .align 2 - .incbin "graphics/unknown/unknown_C0CA40.bin" - - .align 2 - .incbin "graphics/unknown/unknown_C0CA64.bin" - - .align 2 - .incbin "graphics/unused/line_sketch_2.8bpp.lz" - - .align 2 - .incbin "graphics/unknown/unknown_C0CAE0.bin" - - .align 2 - .incbin "graphics/unused/line_sketch_2.bin.lz" - - .align 2 -gBattleAnimSpriteSheet_082:: - .incbin "graphics/battle_anims/sprites/082.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_082:: - .incbin "graphics/battle_anims/sprites/082.gbapal.lz" - - .align 2 -gBattleAnimSpritePalette_083:: - .incbin "graphics/battle_anims/sprites/083.gbapal.lz" - - .align 2 -gBattleAnimSpritePalette_084:: - .incbin "graphics/battle_anims/sprites/084.gbapal.lz" - - .align 2 -gBattleAnimSpritePalette_085:: - .incbin "graphics/battle_anims/sprites/085.gbapal.lz" - - .align 2 -gBattleAnimSpritePalette_086:: - .incbin "graphics/battle_anims/sprites/086.gbapal.lz" - - .align 2 -gBattleAnimSpritePalette_088:: - .incbin "graphics/battle_anims/sprites/088.gbapal.lz" - - .align 2 -gBattleAnimSpritePalette_089:: - .incbin "graphics/battle_anims/sprites/089.gbapal.lz" - - .align 2 -gBattleAnimSpritePalette_090:: - .incbin "graphics/battle_anims/sprites/090.gbapal.lz" - - .align 2 -gBattleAnimSpritePalette_092:: - .incbin "graphics/battle_anims/sprites/092.gbapal.lz" - - .align 2 -gBattleAnimSpritePalette_093:: - .incbin "graphics/battle_anims/sprites/093.gbapal.lz" - - .align 2 -gBattleAnimSpritePalette_094:: - .incbin "graphics/battle_anims/sprites/094.gbapal.lz" - - .align 2 - .incbin "graphics/unknown/unknown_D0D2B4.bin.lz" - - .align 2 -gBattleAnimSpritePalette_095:: - .incbin "graphics/battle_anims/sprites/095.gbapal.lz" - - .align 2 -gBattleAnimSpritePalette_096:: - .incbin "graphics/battle_anims/sprites/096.gbapal.lz" - - .align 2 -gBattleAnimSpritePalette_097:: - .incbin "graphics/battle_anims/sprites/097.gbapal.lz" - - .align 2 -gBattleAnimSpritePalette_100:: - .incbin "graphics/battle_anims/sprites/100.gbapal.lz" - - .align 2 -gBattleAnimSpritePalette_101:: - .incbin "graphics/battle_anims/sprites/101.gbapal.lz" - - .align 2 -gBattleAnimSpritePalette_103:: - .incbin "graphics/battle_anims/sprites/103.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_083:: - .incbin "graphics/battle_anims/sprites/083.4bpp.lz" - - .align 2 -gBattleAnimSpriteSheet_084:: - .incbin "graphics/battle_anims/sprites/084.4bpp.lz" - - .align 2 -gBattleAnimSpriteSheet_085:: - .incbin "graphics/battle_anims/sprites/085.4bpp.lz" - - .align 2 -gBattleAnimSpriteSheet_086:: - .incbin "graphics/battle_anims/sprites/086.4bpp.lz" - - .align 2 -gBattleAnimSpriteSheet_088:: - .incbin "graphics/battle_anims/sprites/088.4bpp.lz" - - .align 2 -gBattleAnimSpriteSheet_089:: - .incbin "graphics/battle_anims/sprites/089.4bpp.lz" - - .align 2 -gBattleAnimSpriteSheet_090:: - .incbin "graphics/battle_anims/sprites/090.4bpp.lz" - - .align 2 -gBattleAnimSpriteSheet_091:: - .incbin "graphics/battle_anims/sprites/091.4bpp.lz" - - .align 2 -gBattleAnimSpriteSheet_092:: - .incbin "graphics/battle_anims/sprites/092.4bpp.lz" - - .align 2 -gBattleAnimSpriteSheet_093:: - .incbin "graphics/battle_anims/sprites/093.4bpp.lz" - - .align 2 -gBattleAnimSpriteSheet_094:: - .incbin "graphics/battle_anims/sprites/094.4bpp.lz" - - .align 2 -gBattleAnimSpriteSheet_095:: - .incbin "graphics/battle_anims/sprites/095.4bpp.lz" - - .align 2 -gBattleAnimSpriteSheet_096:: - .incbin "graphics/battle_anims/sprites/096.4bpp.lz" - - .align 2 -gBattleAnimSpriteSheet_097:: - .incbin "graphics/battle_anims/sprites/097.4bpp.lz" - - .align 2 -gBattleAnimSpriteSheet_098:: - .incbin "graphics/battle_anims/sprites/098.4bpp.lz" - - .align 2 -gBattleAnimSpriteSheet_100:: - .incbin "graphics/battle_anims/sprites/100.4bpp.lz" - - .align 2 -gBattleAnimSpriteSheet_101:: - .incbin "graphics/battle_anims/sprites/101.4bpp.lz" - - .align 2 -gBattleAnimSpriteSheet_102:: - .incbin "graphics/battle_anims/sprites/102.4bpp.lz" - - .align 2 -gBattleAnimSpriteSheet_103:: - .incbin "graphics/battle_anims/sprites/103.4bpp.lz" - - .align 2 -gBattleAnimSpriteSheet_104:: - .incbin "graphics/battle_anims/sprites/104.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_104:: - .incbin "graphics/battle_anims/sprites/104.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_105:: - .incbin "graphics/battle_anims/sprites/105.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_105:: - .incbin "graphics/battle_anims/sprites/105.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_106:: - .incbin "graphics/battle_anims/sprites/106.4bpp.lz" - - .align 2 -gBattleAnimSpriteSheet_107:: - .incbin "graphics/battle_anims/sprites/107.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_107:: - .incbin "graphics/battle_anims/sprites/107.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_108:: - .incbin "graphics/battle_anims/sprites/108.4bpp.lz" - - .align 2 -gBattleAnimSpriteSheet_109:: - .incbin "graphics/battle_anims/sprites/109.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_109:: - .incbin "graphics/battle_anims/sprites/109.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_110:: - .incbin "graphics/battle_anims/sprites/110.4bpp.lz" - - .align 2 -gBattleAnimSpriteSheet_111:: - .incbin "graphics/battle_anims/sprites/111.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_111:: - .incbin "graphics/battle_anims/sprites/111.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_112:: - .incbin "graphics/battle_anims/sprites/112.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_112:: - .incbin "graphics/battle_anims/sprites/112.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_113:: - .incbin "graphics/battle_anims/sprites/113.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_113:: - .incbin "graphics/battle_anims/sprites/113.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_114:: - .incbin "graphics/battle_anims/sprites/114.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_114:: - .incbin "graphics/battle_anims/sprites/114.gbapal.lz" - - .align 2 - .incbin "graphics/unused/blue_frame.bin.lz" @ P1, P2, P3 and P4 tilemaps? - - .align 2 - .incbin "graphics/unused/redyellowgreen_frame.bin.lz" - - .align 2 - .incbin "graphics/unused/color_frames.4bpp.lz" - - .align 2 - .incbin "graphics/unused/color_frames.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_115:: - .incbin "graphics/battle_anims/sprites/115.4bpp.lz" - - .align 2 - .incbin "graphics/unused/water_splash.8bpp.lz" - - .align 2 - .incbin "graphics/unused/water_splash.bin.lz" - - .align 2 - .incbin "graphics/unused/water_splash.gbapal.lz" - - .align 2 - .incbin "graphics/unused/basic_frame.4bpp.lz" - - .align 2 - .incbin "graphics/unused/basic_frame.gbapal.lz" - - .align 2 - .incbin "graphics/unused/basic_frame.bin.lz" - - .align 2 -gBattleInterface_BallStatusBarPal:: @ 8C11B9C - .incbin "graphics/battle_interface/ball_status_bar.gbapal" - - .align 2 -gBattleInterface_BallDisplayPal:: @ 8C11BBC - .incbin "graphics/battle_interface/ball_display.gbapal" - - .align 2 -gHealthboxElementsGfxTable:: @ 8C11BDC - .incbin "graphics/battle_interface/hpbar.4bpp" - .incbin "graphics/battle_interface/expbar.4bpp" - .incbin "graphics/battle_interface/status_psn.4bpp" - .incbin "graphics/battle_interface/status_par.4bpp" - .incbin "graphics/battle_interface/status_slp.4bpp" - .incbin "graphics/battle_interface/status_frz.4bpp" - .incbin "graphics/battle_interface/status_brn.4bpp" - .incbin "graphics/battle_interface/misc.4bpp" - .incbin "graphics/battle_interface/hpbar_anim.4bpp" - .incbin "graphics/battle_interface/misc_frameend.4bpp" - - .align 2 -gBattleInterface_BallDisplayGfx:: @ 8C1241C - .incbin "graphics/battle_interface/ball_display.4bpp" - - .align 2 -gUnknown_08C1249C:: @ 8C1249C - .incbin "graphics/battle_interface/ball_display_unused_extra.4bpp" - .incbin "graphics/battle_interface/status2.4bpp" @ these three duplicate sets of graphics are for the opponent pokemon and are also for use in double battles. they use dynamic palettes so coloring them is an extreme headache and wont be done for now. - .incbin "graphics/battle_interface/status3.4bpp" - .incbin "graphics/battle_interface/status4.4bpp" - .incbin "graphics/unknown/unknown_D12FEC.4bpp" - .incbin "graphics/unknown/unknown_D1300C.4bpp" - - @ even more seemingly unused windows. lovely. - .incbin "graphics/battle_interface/unused_window3.4bpp.lz" - .incbin "graphics/battle_interface/unused_window4.4bpp.lz" - - .align 2 -gBattleAnimSpriteSheet_116:: - .incbin "graphics/battle_anims/sprites/116.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_116:: - .incbin "graphics/battle_anims/sprites/116.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_117:: - .incbin "graphics/battle_anims/sprites/117.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_117:: - .incbin "graphics/battle_anims/sprites/117.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_118:: - .incbin "graphics/battle_anims/sprites/118.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_118:: - .incbin "graphics/battle_anims/sprites/118.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_119:: - .incbin "graphics/battle_anims/sprites/119.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_119:: - .incbin "graphics/battle_anims/sprites/119.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_120:: - .incbin "graphics/battle_anims/sprites/120.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_120:: - .incbin "graphics/battle_anims/sprites/120.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_121:: - .incbin "graphics/battle_anims/sprites/121.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_121:: - .incbin "graphics/battle_anims/sprites/121.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_122:: - .incbin "graphics/battle_anims/sprites/122.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_122:: - .incbin "graphics/battle_anims/sprites/122.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_123:: - .incbin "graphics/battle_anims/sprites/123.4bpp.lz" - - .align 2 -gBattleAnimSpriteSheet_124:: - .incbin "graphics/battle_anims/sprites/124.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_124:: - .incbin "graphics/battle_anims/sprites/124.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_125:: - .incbin "graphics/battle_anims/sprites/125.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_125:: - .incbin "graphics/battle_anims/sprites/125.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_126:: - .incbin "graphics/battle_anims/sprites/126.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_126:: - .incbin "graphics/battle_anims/sprites/126.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_127:: - .incbin "graphics/battle_anims/sprites/127.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_127:: - .incbin "graphics/battle_anims/sprites/127.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_128:: - .incbin "graphics/battle_anims/sprites/128.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_128:: - .incbin "graphics/battle_anims/sprites/128.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_129:: - .incbin "graphics/battle_anims/sprites/129.4bpp.lz" - - .align 2 -gBattleAnimSpriteSheet_130:: - .incbin "graphics/battle_anims/sprites/130.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_130:: - .incbin "graphics/battle_anims/sprites/130.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_131:: - .incbin "graphics/battle_anims/sprites/131.4bpp.lz" - - .align 2 -gBattleAnimSpriteSheet_132:: - .incbin "graphics/battle_anims/sprites/132.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_132:: - .incbin "graphics/battle_anims/sprites/132.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_133:: - .incbin "graphics/battle_anims/sprites/133.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_133:: - .incbin "graphics/battle_anims/sprites/133.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_134:: - .incbin "graphics/battle_anims/sprites/134.4bpp.lz" - - .align 2 -gBattleAnimSpriteSheet_076:: - .incbin "graphics/battle_anims/sprites/076.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_076:: - .incbin "graphics/battle_anims/sprites/076.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_077:: - .incbin "graphics/battle_anims/sprites/077.4bpp.lz" - - .align 2 - .incbin "graphics/unused/old_contest.4bpp.lz" - - .align 2 - .incbin "graphics/unused/old_contest.gbapal.lz" - - .align 2 - .incbin "graphics/unused/old_contest.bin.lz" - - .align 2 - .incbin "graphics/unknown/unknown_C15BC0.bin.lz" - - .align 2 - .incbin "graphics/unused/old_contest_2.4bpp.lz" - - .align 2 -gUnknown_08C16E90:: @ 8C16E90 - .incbin "graphics/unused/old_contest_2.gbapal.lz" - - .align 2 -gUnknown_08C16FA8:: @ 8C16FA8 - .incbin "graphics/unused/old_contest_2.bin.lz" - - .align 2 -gUnknown_08C17170:: @ 8C17170 - .incbin "graphics/unknown/unknown_C17170.bin.lz" - - .align 2 - .incbin "graphics/unknown/unknown_C17410.bin.lz" - - .align 2 - .incbin "graphics/unknown/unknown_C1751C.bin.lz" - - .align 2 -gUnknown_08C17980:: @ 8C17980 - .incbin "graphics/unknown/unknown_C17980.bin.lz" - - .align 2 -gContestMiscGfx:: @ 8C17AB0 - .incbin "graphics/contest/misc.4bpp.lz" - - .align 2 -gContestAudienceGfx:: @ 8C1850C - .incbin "graphics/contest/audience.4bpp.lz" - - .align 2 -gUnknown_08C19168:: - .incbin "graphics/contest/faces.4bpp.lz" - - .align 2 -gContestJudgeSymbolsGfx:: - .incbin "graphics/contest/judge_symbols.4bpp.lz" - - .align 2 -gContest3Pal:: - .incbin "graphics/contest/judge_symbols.gbapal.lz" - - .align 2 -gTiles_8C19450:: - .incbin "graphics/contest/heart.4bpp" - - .align 2 - .incbin "graphics/unknown/unknown_C19470.4bpp.lz" - - .align 2 - .incbin "graphics/unknown/unknown_C19470.gbapal.lz" - - .align 2 -gUnknown_08C19588:: @ 8C19588 - .incbin "graphics/contest/misc_2.4bpp.lz" - - .align 2 -gUnknown_08C19EEC:: @ 8C19EEC - .incbin "graphics/contest/misc_2_tilemap_1.bin.lz" - - .align 2 -gUnknown_08C1A000:: @ 8C1A000 - .incbin "graphics/contest/misc_2_tilemap_2.bin.lz" - - .align 2 -gUnknown_08C1A12C:: @ 8C1A12C - .incbin "graphics/contest/misc_2_tilemap_3.bin.lz" - - .align 2 -gUnknown_08C1A2B4:: @ 8C1A2B4 - .incbin "graphics/contest/misc_2.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_135:: - .incbin "graphics/battle_anims/sprites/135.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_135:: - .incbin "graphics/battle_anims/sprites/135.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_Particles:: - .incbin "graphics/battle_anims/sprites/particles.4bpp.lz" - - .align 2 -gBattleAnimSpriteSheet_136:: - .incbin "graphics/battle_anims/sprites/136.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_136:: - .incbin "graphics/battle_anims/sprites/136.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_137:: - .incbin "graphics/battle_anims/sprites/137.4bpp.lz" - - .align 2 -gBattleAnimSpriteSheet_139:: - .incbin "graphics/battle_anims/sprites/139.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_139:: - .incbin "graphics/battle_anims/sprites/139.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_145:: - .incbin "graphics/battle_anims/sprites/145.4bpp.lz" - - .align 2 -gBattleAnimSpriteSheet_138:: - .incbin "graphics/battle_anims/sprites/138.4bpp.lz" - - .align 2 -gBattleAnimSpriteSheet_140:: - .incbin "graphics/battle_anims/sprites/140.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_140:: - .incbin "graphics/battle_anims/sprites/140.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_141:: - .incbin "graphics/battle_anims/sprites/141.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_141:: - .incbin "graphics/battle_anims/sprites/141.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_142:: - .incbin "graphics/battle_anims/sprites/142.4bpp.lz" - - .align 2 - .incbin "graphics/unused/old_beatup.4bpp.lz" - - .align 2 - .incbin "graphics/unused/old_beatup.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_147:: - .incbin "graphics/battle_anims/sprites/147.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_147:: - .incbin "graphics/battle_anims/sprites/147.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_149:: - .incbin "graphics/battle_anims/sprites/149.4bpp.lz" - - .align 2 -gBattleAnimSpriteSheet_148:: - .incbin "graphics/battle_anims/sprites/148.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_148:: - .incbin "graphics/battle_anims/sprites/148.gbapal.lz" - - .align 2 -gBattleAnimSpritePalette_259:: - .incbin "graphics/battle_anims/sprites/259.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_074:: - .incbin "graphics/battle_anims/sprites/074.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_074:: - .incbin "graphics/battle_anims/sprites/074.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_150:: - .incbin "graphics/battle_anims/sprites/150.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_150:: - .incbin "graphics/battle_anims/sprites/150.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_151:: - .incbin "graphics/battle_anims/sprites/151.4bpp.lz" - - .align 2 -gBattleAnimSpriteSheet_153:: - .incbin "graphics/battle_anims/sprites/153.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_153:: - .incbin "graphics/battle_anims/sprites/153.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_154:: - .incbin "graphics/battle_anims/sprites/154.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_154:: - .incbin "graphics/battle_anims/sprites/154.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_155:: - .incbin "graphics/battle_anims/sprites/155.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_155:: - .incbin "graphics/battle_anims/sprites/155.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_156:: - .incbin "graphics/battle_anims/sprites/156.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_156:: - .incbin "graphics/battle_anims/sprites/156.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_157:: - .incbin "graphics/battle_anims/sprites/157.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_157:: - .incbin "graphics/battle_anims/sprites/157.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_158:: - .incbin "graphics/battle_anims/sprites/158.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_158:: - .incbin "graphics/battle_anims/sprites/158.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_159:: - .incbin "graphics/battle_anims/sprites/159.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_159:: - .incbin "graphics/battle_anims/sprites/159.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_160:: - .incbin "graphics/battle_anims/sprites/160.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_160:: - .incbin "graphics/battle_anims/sprites/160.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_144:: - .incbin "graphics/battle_anims/sprites/144.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_144:: - .incbin "graphics/battle_anims/sprites/144.gbapal.lz" - - .align 2 - .incbin "graphics/unknown/unknown_D1C060.4bpp.lz" - - .align 2 - .incbin "graphics/unknown/unknown_D1C060.gbapal.lz" - - .align 2 - .incbin "graphics/unknown/unknown_D1C060.bin.lz" - - .align 2 -gBattleAnimSpriteSheet_162:: - .incbin "graphics/battle_anims/sprites/162.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_162:: - .incbin "graphics/battle_anims/sprites/162.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_163:: - .incbin "graphics/battle_anims/sprites/163.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_163:: - .incbin "graphics/battle_anims/sprites/163.gbapal.lz" - - .align 2 -gBattleAnimSpritePalette_288:: - .incbin "graphics/battle_anims/sprites/288.gbapal.lz" - - .align 2 -gBattleAnimSpritePalette_164:: - .incbin "graphics/battle_anims/sprites/164.gbapal.lz" - - .align 2 -gBattleAnimSpritePalette_165:: - .incbin "graphics/battle_anims/sprites/165.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_166:: - .incbin "graphics/battle_anims/sprites/166.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_166:: - .incbin "graphics/battle_anims/sprites/166.gbapal.lz" - - .align 2 -gBattleAnimSpritePalette_167:: - .incbin "graphics/battle_anims/sprites/167.gbapal.lz" - - .align 2 -gBattleAnimSpritePalette_168:: - .incbin "graphics/battle_anims/sprites/168.gbapal.lz" - - .align 2 -gBattleAnimSpritePalette_169:: - .incbin "graphics/battle_anims/sprites/169.gbapal.lz" - - .align 2 -gBattleAnimSpritePalette_170:: - .incbin "graphics/battle_anims/sprites/170.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_171:: - .incbin "graphics/battle_anims/sprites/171.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_171:: - .incbin "graphics/battle_anims/sprites/171.gbapal.lz" - - .align 2 -gBattleAnimSpritePalette_172:: - .incbin "graphics/battle_anims/sprites/172.gbapal.lz" - - .align 2 -gContestJudgeGfx:: - .incbin "graphics/contest/judge.4bpp.lz" - - .align 2 -gContest2Pal:: @ 8C1C6B8 - .incbin "graphics/contest/judge.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_001:: - .incbin "graphics/battle_anims/sprites/001.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_001:: - .incbin "graphics/battle_anims/sprites/001.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_173:: - .incbin "graphics/battle_anims/sprites/173.4bpp.lz" - - .align 2 -gBattleAnimBackgroundImage_00:: - .incbin "graphics/battle_anims/backgrounds/00.4bpp.lz" - - .align 2 -gBattleAnimBackgroundPalette_00:: - .incbin "graphics/battle_anims/backgrounds/00.gbapal.lz" - - .align 2 -gBattleAnimBackgroundTilemap_00:: - .incbin "graphics/battle_anims/backgrounds/00.bin.lz" - - .align 2 -gUnknown_08C1D0AC:: @ 8C1D0AC - .incbin "graphics/battle_anims/masks/metal_shine.4bpp.lz" - - .align 2 -gUnknown_08C1D1E8:: @ 8C1D1E8 - .incbin "graphics/battle_anims/masks/metal_shine.gbapal.lz" - - .align 2 -gUnknown_08C1D210:: @ 8C1D210 - .incbin "graphics/battle_anims/masks/metal_shine.bin.lz" - - .align 2 - .incbin "graphics/unused/goosuto.4bpp.lz" @ ghost - - .align 2 - .incbin "graphics/unused/goosuto.gbapal.lz" - - .align 2 - .incbin "graphics/unused/goosuto.bin.lz" - - .align 2 -gBattleAnimSpriteSheet_174:: - .incbin "graphics/battle_anims/sprites/174.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_174:: - .incbin "graphics/battle_anims/sprites/174.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_175:: - .incbin "graphics/battle_anims/sprites/175.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_175:: - .incbin "graphics/battle_anims/sprites/175.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_176:: - .incbin "graphics/battle_anims/sprites/176.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_176:: - .incbin "graphics/battle_anims/sprites/176.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_177:: - .incbin "graphics/battle_anims/sprites/177.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_177:: - .incbin "graphics/battle_anims/sprites/177.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_178:: - .incbin "graphics/battle_anims/sprites/178.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_178:: - .incbin "graphics/battle_anims/sprites/178.gbapal.lz" - - .align 2 -gBattleAnimSpritePalette_179:: - .incbin "graphics/battle_anims/sprites/179.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_179:: - .incbin "graphics/battle_anims/sprites/179.4bpp.lz" - - .align 2 -gBattleAnimSpriteSheet_180:: - .incbin "graphics/battle_anims/sprites/180.4bpp.lz" - - .align 2 -gBattleAnimSpriteSheet_181:: - .incbin "graphics/battle_anims/sprites/181.4bpp.lz" - - .align 2 -gBattleAnimSpriteSheet_182:: - .incbin "graphics/battle_anims/sprites/182.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_182:: - .incbin "graphics/battle_anims/sprites/182.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_183:: - .incbin "graphics/battle_anims/sprites/183.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_183:: - .incbin "graphics/battle_anims/sprites/183.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_184:: - .incbin "graphics/battle_anims/sprites/184.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_184:: - .incbin "graphics/battle_anims/sprites/184.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_185:: - .incbin "graphics/battle_anims/sprites/185.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_185:: - .incbin "graphics/battle_anims/sprites/185.gbapal.lz" - - .align 2 -gBattleAnimBackgroundImage_03:: - .incbin "graphics/battle_anims/backgrounds/03.4bpp.lz" - - .align 2 -gBattleAnimBackgroundPalette_03:: - .incbin "graphics/battle_anims/backgrounds/03.gbapal.lz" - - .align 2 -gBattleAnimBackgroundTilemap_03:: - .incbin "graphics/battle_anims/backgrounds/03.bin.lz" - - .align 2 -gBattleAnimSpriteSheet_187:: - .incbin "graphics/battle_anims/sprites/187.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_187:: - .incbin "graphics/battle_anims/sprites/187.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_186:: - .incbin "graphics/battle_anims/sprites/186.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_186:: - .incbin "graphics/battle_anims/sprites/186.gbapal.lz" - - .align 2 -gUnknown_08C1F1C8:: @ 8C1F1C8 - .incbin "graphics/battle_interface/window.4bpp.lz" - - .align 2 -gUnknown_08C1F46C:: @ 8C1F46C - .incbin "graphics/battle_interface/window2.4bpp.lz" - - .align 2 -gUnknown_08C1F5E8:: @ 8C1F5E8 - .incbin "graphics/battle_interface/window3.4bpp.lz" - - .align 2 -gUnknown_08C1F76C:: @ 8C1F76C - .incbin "graphics/battle_interface/window4.4bpp.lz" - - .align 2 -gUnknown_08C1F8E8:: @ 8C1F8E8 - .incbin "graphics/battle_interface/window5.4bpp.lz" - - .align 2 - .incbin "graphics/unused/shadow.4bpp.lz" - - .align 2 - .incbin "graphics/unused/shadow.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_014:: - .incbin "graphics/battle_anims/sprites/014.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_014:: - .incbin "graphics/battle_anims/sprites/014.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_190:: - .incbin "graphics/battle_anims/sprites/190.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_190:: - .incbin "graphics/battle_anims/sprites/190.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_191:: - .incbin "graphics/battle_anims/sprites/191.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_191:: - .incbin "graphics/battle_anims/sprites/191.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_189:: - .incbin "graphics/battle_anims/sprites/189.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_189:: - .incbin "graphics/battle_anims/sprites/189.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_192:: - .incbin "graphics/battle_anims/sprites/192.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_192:: - .incbin "graphics/battle_anims/sprites/192.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_193:: - .incbin "graphics/battle_anims/sprites/193.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_193:: - .incbin "graphics/battle_anims/sprites/193.gbapal.lz" - - .align 2 -gUnknown_08C20668:: @ 8C20668 - .incbin "graphics/battle_anims/masks/curse.4bpp.lz" - - .align 2 -gUnknown_08C20684:: @ 8C20684 - .incbin "graphics/battle_anims/masks/curse.bin.lz" - - .align 2 -gBattleAnimSpriteSheet_002:: @ 8D20B30 - .incbin "graphics/battle_anims/sprites/002.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_002:: @ 8D20C14 - .incbin "graphics/battle_anims/sprites/002.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_196:: @ 8D20C3C - .incbin "graphics/battle_anims/sprites/196.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_196:: @ 8D20FE0 - .incbin "graphics/battle_anims/sprites/196.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_194:: @ 8D20FF8 - .incbin "graphics/battle_anims/sprites/194.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_194:: @ 8D21330 - .incbin "graphics/battle_anims/sprites/194.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_195:: @ 8D21358 - .incbin "graphics/battle_anims/sprites/195.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_195:: @ 8D21410 - .incbin "graphics/battle_anims/sprites/195.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_197:: @ 8D21430 - .incbin "graphics/battle_anims/sprites/197.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_197:: @ 8D215A0 - .incbin "graphics/battle_anims/sprites/197.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_198:: @ 8D215C8 - .incbin "graphics/battle_anims/sprites/198.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_198:: @ 8D219B8 - .incbin "graphics/battle_anims/sprites/198.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_199:: @ 8D219E0 - .incbin "graphics/battle_anims/sprites/199.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_199:: @ 8D21AA8 - .incbin "graphics/battle_anims/sprites/199.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_200:: @ 8D21AC4 - .incbin "graphics/battle_anims/sprites/200.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_200:: @ 8D21C04 - .incbin "graphics/battle_anims/sprites/200.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_201:: @ 8D21C20 - .incbin "graphics/battle_anims/sprites/201.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_201:: @ 8D22290 - .incbin "graphics/battle_anims/sprites/201.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_204:: @ 8D222B8 - .incbin "graphics/battle_anims/sprites/204.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_204:: @ 8D2242C - .incbin "graphics/battle_anims/sprites/204.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_202:: @ 8D22454 - .incbin "graphics/battle_anims/sprites/202.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_202:: @ 8D225BC - .incbin "graphics/battle_anims/sprites/202.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_203:: @ 8D225E0 - .incbin "graphics/battle_anims/sprites/203.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_203:: @ 8D2278C - .incbin "graphics/battle_anims/sprites/203.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_206:: @ 8D227B0 - .incbin "graphics/battle_anims/sprites/206.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_206:: @ 8D229BC - .incbin "graphics/battle_anims/sprites/206.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_205:: @ 8D22A50 - .incbin "graphics/battle_anims/sprites/205.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_205:: @ 8D22C84 - .incbin "graphics/battle_anims/sprites/205.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_207:: @ 8D22CA8 - .incbin "graphics/battle_anims/sprites/207.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_207:: @ 8D22D74 - .incbin "graphics/battle_anims/sprites/207.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_208:: @ 8D22D98 - .incbin "graphics/battle_anims/sprites/208.4bpp.lz" - - .align 2 -gBattleAnimSpriteSheet_209:: @ 8D23188 - .incbin "graphics/battle_anims/sprites/209.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_209:: @ 8D23490 - .incbin "graphics/battle_anims/sprites/209.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_064:: @ 8D234B0 - .incbin "graphics/battle_anims/sprites/064.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_064:: @ 8D235A0 - .incbin "graphics/battle_anims/sprites/064.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_210:: @ 8D235C4 - .incbin "graphics/battle_anims/sprites/210.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_219:: @ 8D2362C - .incbin "graphics/battle_anims/sprites/219.gbapal.lz" - - .align 2 -gBattleAnimSpritePalette_210:: @ 8D2364C - .incbin "graphics/battle_anims/sprites/210.gbapal.lz" - - .align 2 -gBattleAnimSpritePalette_216:: @ 8D2366C - .incbin "graphics/battle_anims/sprites/216.gbapal.lz" - - .align 2 -gUnknown_08C232E0:: @ 8C232E0 - .incbin "graphics/battle_anims/backgrounds/attract.4bpp.lz" - - .align 2 -gUnknown_08C23D50:: @ 8C23D50 - .incbin "graphics/battle_anims/backgrounds/attract.gbapal.lz" - - .align 2 -gUnknown_08C23D78:: @ 8C23D78 - .incbin "graphics/battle_anims/backgrounds/attract.bin.lz" - - .align 2 -gBattleAnimSpriteSheet_217:: @ 8D243A0 - .incbin "graphics/battle_anims/sprites/217.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_217:: @ 8D24408 - .incbin "graphics/battle_anims/sprites/217.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_212:: @ 8D24428 - .incbin "graphics/battle_anims/sprites/212.4bpp.lz" - - .align 2 -gBattleAnimSpriteSheet_211:: @ 8D2465C - .incbin "graphics/battle_anims/sprites/211.4bpp.lz" - - .align 2 -gBattleAnimSpriteSheet_213:: @ 8D246AC - .incbin "graphics/battle_anims/sprites/213.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_211:: @ 8D24918 - .incbin "graphics/battle_anims/sprites/211.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_214:: @ 8D2493C - .incbin "graphics/battle_anims/sprites/214.4bpp.lz" - - .align 2 -gBattleAnimSpriteSheet_215:: @ 8D24BCC - .incbin "graphics/battle_anims/sprites/215.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_215:: @ 8D24D58 - .incbin "graphics/battle_anims/sprites/215.gbapal.lz" - - .align 2 -gUnknown_08C249D0:: @ 8C249D0 - .incbin "graphics/battle_anims/backgrounds/scary_face.gbapal.lz" - - .align 2 -gUnknown_08C249F8:: @ 8C249F8 - .incbin "graphics/battle_anims/backgrounds/scary_face.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_218:: @ 8D24FD4 - .incbin "graphics/battle_anims/sprites/218.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_218:: @ 8D24FFC - .incbin "graphics/battle_anims/sprites/218.4bpp.lz" - - .align 2 -gBattleAnimSpriteSheet_087:: @ 8D250A8 - .incbin "graphics/battle_anims/sprites/087.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_087:: @ 8D25100 - .incbin "graphics/battle_anims/sprites/087.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_018:: @ 8D25128 - .incbin "graphics/battle_anims/sprites/018.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_018:: @ 8D25164 - .incbin "graphics/battle_anims/sprites/018.gbapal.lz" - - .align 2 -gBattleAnimSpritePalette_220:: @ 8D25180 - .incbin "graphics/battle_anims/sprites/220.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_220:: @ 8D251A8 - .incbin "graphics/battle_anims/sprites/220.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_221:: @ 8D252D4 - .incbin "graphics/battle_anims/sprites/221.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_221:: @ 8D252F4 - .incbin "graphics/battle_anims/sprites/221.4bpp.lz" - - .align 2 -gBattleAnimSpriteSheet_222:: @ 8D25558 - .incbin "graphics/battle_anims/sprites/222.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_222:: @ 8D25844 - .incbin "graphics/battle_anims/sprites/222.gbapal.lz" - - .align 2 -gBattleAnimSpritePalette_223:: @ 8D2586C - .incbin "graphics/battle_anims/sprites/223.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_223:: @ 8D2588C - .incbin "graphics/battle_anims/sprites/223.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_224:: @ 8D25B20 - .incbin "graphics/battle_anims/sprites/224.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_224:: @ 8D25B40 - .incbin "graphics/battle_anims/sprites/224.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_230:: @ 8D25C3C - .incbin "graphics/battle_anims/sprites/230.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_230:: @ 8D25C64 - .incbin "graphics/battle_anims/sprites/230.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_228:: @ 8D25EA8 - .incbin "graphics/battle_anims/sprites/228.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_228:: @ 8D25EC8 - .incbin "graphics/battle_anims/sprites/228.4bpp.lz" - - .align 2 -gBattleAnimBackgroundPalette_04:: @ 8D25F70 - .incbin "graphics/battle_anims/backgrounds/04.gbapal.lz" - - .align 2 -gBattleAnimBackgroundImage_04:: @ 8D25F98 - .incbin "graphics/battle_anims/backgrounds/04.4bpp.lz" - - .align 2 -gBattleAnimBackgroundTilemap_04:: @ 8D26D04 - .incbin "graphics/battle_anims/backgrounds/04.bin.lz" - - .align 2 -gBattleAnimBackgroundTilemap_05:: @ 8D27200 - .incbin "graphics/battle_anims/backgrounds/05.bin.lz" - - .align 2 -gBattleAnimBackgroundTilemap_06:: @ 8D276D0 - .incbin "graphics/battle_anims/backgrounds/06.bin.lz" - - .align 2 -gBattleAnimSpriteSheet_225:: @ 8D27B10 - .incbin "graphics/battle_anims/sprites/225.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_225:: @ 8D27C94 - .incbin "graphics/battle_anims/sprites/225.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_227:: @ 8D27CBC - .incbin "graphics/battle_anims/sprites/227.4bpp.lz" - - .align 2 -gBattleAnimSpriteSheet_226:: @ 8D27E04 - .incbin "graphics/battle_anims/sprites/226.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_226:: @ 8D27E90 - .incbin "graphics/battle_anims/sprites/226.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_229:: @ 8D27EB4 - .incbin "graphics/battle_anims/sprites/229.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_229:: @ 8D28070 - .incbin "graphics/battle_anims/sprites/229.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_099:: @ 8D28098 - .incbin "graphics/battle_anims/sprites/099.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_099:: @ 8D281B8 - .incbin "graphics/battle_anims/sprites/099.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_232:: @ 8D281E0 - .incbin "graphics/battle_anims/sprites/232.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_231:: @ 8D28718 - .incbin "graphics/battle_anims/sprites/231.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_231:: @ 8D28740 - .incbin "graphics/battle_anims/sprites/231.4bpp.lz" - - .align 2 -gBattleAnimSpriteSheet_233:: @ 8D28910 - .incbin "graphics/battle_anims/sprites/233.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_233:: @ 8D28994 - .incbin "graphics/battle_anims/sprites/233.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_234:: @ 8D289BC - .incbin "graphics/battle_anims/sprites/234.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_234:: @ 8D28B7C - .incbin "graphics/battle_anims/sprites/234.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_238:: @ 8D28BA0 - .incbin "graphics/battle_anims/sprites/238.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_238:: @ 8D28C08 - .incbin "graphics/battle_anims/sprites/238.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_235:: @ 8D28C2C - .incbin "graphics/battle_anims/sprites/235.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_235:: @ 8D28C7C - .incbin "graphics/battle_anims/sprites/235.gbapal.lz" - - .align 2 -gBattleAnimSpritePalette_236:: @ 8D28C98 - .incbin "graphics/battle_anims/sprites/236.gbapal.lz" - - .align 2 -gBattleAnimSpritePalette_237:: @ 8D28CB4 - .incbin "graphics/battle_anims/sprites/237.gbapal.lz" - - .align 2 -gBattleAnimBackgroundImage_07:: @ 8D28CD0 - .incbin "graphics/battle_anims/backgrounds/07.4bpp.lz" - - .align 2 -gBattleAnimBackgroundPalette_07:: @ 8D28E78 - .incbin "graphics/battle_anims/backgrounds/07.gbapal.lz" - - .align 2 -gBattleAnimBackgroundPalette_18:: @ 8D28EA0 - .incbin "graphics/battle_anims/backgrounds/18.gbapal.lz" - - .align 2 -gBattleAnimBackgroundTilemap_07:: @ 8D28EC8 - .incbin "graphics/battle_anims/backgrounds/07.bin.lz" - - .align 2 -gBattleAnimBackgroundTilemap_08:: @ 8D29058 - .incbin "graphics/battle_anims/backgrounds/08.bin.lz" - - .align 2 -gBattleAnimBackgroundImage_20:: @ 8D291E4 - .incbin "graphics/battle_anims/backgrounds/20.4bpp.lz" - - .align 2 -gBattleAnimBackgroundPalette_20:: @ 8D29C0C - .incbin "graphics/battle_anims/backgrounds/20.gbapal.lz" - - .align 2 -gBattleAnimBackgroundTilemap_20:: @ 8D29C2C - .incbin "graphics/battle_anims/backgrounds/20.bin.lz" - - .align 2 -gBattleAnimBackgroundTilemap_09:: @ 8D29E30 - .incbin "graphics/battle_anims/backgrounds/09.bin.lz" - - .align 2 -gBattleAnimBackgroundPalette_09:: @ 8D2A128 - .incbin "graphics/battle_anims/backgrounds/09.gbapal.lz" - - .align 2 -gBattleAnimBackgroundPalette_22:: @ 8D2A148 - .incbin "graphics/battle_anims/backgrounds/22.gbapal.lz" - - .align 2 -gBattleAnimBackgroundImage_09:: @ 8D2A168 - .incbin "graphics/battle_anims/backgrounds/09.4bpp.lz" - - .align 2 -gBattleAnimBackgroundTilemap_10:: @ 8D2A6E8 - .incbin "graphics/battle_anims/backgrounds/10.bin.lz" - - .align 2 -gUnknown_08C2A634:: @ 8C2A634 - .incbin "graphics/battle_anims/masks/morning_sun.4bpp.lz" - - .align 2 -gUnknown_08C2A6D4:: @ 8C2A6D4 - .incbin "graphics/battle_anims/masks/morning_sun.gbapal.lz" - - .align 2 -gUnknown_08C2A6EC:: @ 8C2A6EC - .incbin "graphics/battle_anims/masks/morning_sun.bin.lz" - - .align 2 -gBattleAnimBackgroundTilemap_12:: @ 8D2ABB4 - .incbin "graphics/battle_anims/backgrounds/12.bin.lz" - - .align 2 -gBattleAnimBackgroundTilemap_13:: @ 8D2AE7C - .incbin "graphics/battle_anims/backgrounds/13.bin.lz" - - .align 2 -gBattleAnimBackgroundTilemap_14:: @ 8D2B178 - .incbin "graphics/battle_anims/backgrounds/14.bin.lz" - - .align 2 -gBattleAnimBackgroundImage_12:: @ 8D2B408 - .incbin "graphics/battle_anims/backgrounds/12.4bpp.lz" - - .align 2 -gBattleAnimBackgroundPalette_12:: @ 8D2C170 - .incbin "graphics/battle_anims/backgrounds/12.gbapal.lz" - - .align 2 -gBattleAnimBackgroundImage_11:: @ 8D2C190 - .incbin "graphics/battle_anims/backgrounds/11.4bpp.lz" - - .align 2 -gBattleAnimBackgroundPalette_11:: @ 8D2CB2C - .incbin "graphics/battle_anims/backgrounds/11.gbapal.lz" - - .align 2 -gBattleAnimBackgroundTilemap_11:: @ 8D2CB54 - .incbin "graphics/battle_anims/backgrounds/11.bin.lz" - - .align 2 -gBattleAnimSpriteSheet_239:: @ 8D2CE4C - .incbin "graphics/battle_anims/sprites/239.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_239:: @ 8D2CF30 - .incbin "graphics/battle_anims/sprites/239.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_143:: @ 8D2CF58 - .incbin "graphics/battle_anims/sprites/143.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_143:: @ 8D2D188 - .incbin "graphics/battle_anims/sprites/143.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_240:: @ 8D2D1A0 - .incbin "graphics/battle_anims/sprites/240.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_240:: @ 8D2D240 - .incbin "graphics/battle_anims/sprites/240.gbapal.lz" - - .align 2 -gSubstituteDollPal:: @ 8C2CEBC - .incbin "graphics/battle_anims/sprites/substitute.gbapal.lz" - - .align 2 -gSubstituteDollGfx:: @ 8C2CEE0 - .incbin "graphics/battle_anims/sprites/substitute.4bpp.lz" - - .align 2 -gSubstituteDollTilemap:: @ 8C2D120 - .incbin "graphics/battle_anims/sprites/substitute.bin.lz" - - .align 2 -gBattleAnimSpriteSheet_241:: @ 8C2D348 - .incbin "graphics/battle_anims/sprites/241.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_241:: @ 8C2D40C - .incbin "graphics/battle_anims/sprites/241.gbapal.lz" - - .align 2 -gContestConfetti_Gfx:: @ 8C2D428 - .incbin "graphics/misc/confetti.4bpp.lz" - - .align 2 -gContestConfetti_Pal:: @ 8C2D548 - .incbin "graphics/misc/confetti.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_242:: @ 8C2D570 - .incbin "graphics/battle_anims/sprites/242.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_242:: @ 8C2D6AC - .incbin "graphics/battle_anims/sprites/242.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_243:: @ 8C2D6D0 - .incbin "graphics/battle_anims/sprites/243.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_243:: @ 8C2D6F8 - .incbin "graphics/battle_anims/sprites/243.gbapal.lz" - - .align 2 -gUnknown_08C2D720:: @ 8C2D720 - .incbin "graphics/battle_anims/masks/stat.4bpp.lz" - - .align 2 -gUnknown_08C2D930:: @ 8C2D930 - .incbin "graphics/battle_anims/masks/stat_tilemap_1.bin.lz" - - .align 2 -gUnknown_08C2DA4C:: @ 8C2DA4C - .incbin "graphics/battle_anims/masks/stat_tilemap_2.bin.lz" - - .align 2 -gUnknown_08C2DB68:: @ 8C2DB68 - .incbin "graphics/battle_anims/masks/stat1.gbapal.lz" - - .align 2 -gUnknown_08C2DB88:: @ 8C2DB88 - .incbin "graphics/battle_anims/masks/stat2.gbapal.lz" - - .align 2 -gUnknown_08C2DBA8:: @ 8C2DBA8 - .incbin "graphics/battle_anims/masks/stat3.gbapal.lz" - - .align 2 -gUnknown_08C2DBC8:: @ 8C2DBC8 - .incbin "graphics/battle_anims/masks/stat4.gbapal.lz" - - .align 2 -gUnknown_08C2DBE8:: @ 8C2DBE8 - .incbin "graphics/battle_anims/masks/stat5.gbapal.lz" - - .align 2 -gUnknown_08C2DC08:: @ 8C2DC08 - .incbin "graphics/battle_anims/masks/stat6.gbapal.lz" - - .align 2 -gUnknown_08C2DC28:: @ 8C2DC28 - .incbin "graphics/battle_anims/masks/stat7.gbapal.lz" - - .align 2 -gUnknown_08C2DC48:: @ 8C2DC48 - .incbin "graphics/battle_anims/masks/stat8.gbapal.lz" - - .align 2 -gUnknown_08C2DC68:: @ 8C2DC68 - .incbin "graphics/battle_anims/masks/cure_bubbles.4bpp.lz" - - .align 2 -gUnknown_08C2DDA4:: @ 8C2DDA4 - .incbin "graphics/battle_anims/masks/cure_bubbles.gbapal.lz" - - .align 2 -gUnknown_08C2DDC4:: @ 8C2DDC4 - .incbin "graphics/battle_anims/masks/cure_bubbles.bin.lz" - - .align 2 -gBattleAnimSpritePalette_245:: @ 8D2E28C - .incbin "graphics/battle_anims/sprites/245.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_245:: @ 8D2E2B4 - .incbin "graphics/battle_anims/sprites/245.4bpp.lz" - - .align 2 -gBattleAnimSpriteSheet_246:: @ 8D2E458 - .incbin "graphics/battle_anims/sprites/246.4bpp.lz" - - .align 2 -gBattleAnimSpriteSheet_244:: @ 8D2E900 - .incbin "graphics/battle_anims/sprites/244.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_244:: @ 8D2E9DC - .incbin "graphics/battle_anims/sprites/244.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_247:: @ 8D2E9F8 - .incbin "graphics/battle_anims/sprites/247.4bpp.lz" - - .align 2 -gBattleAnimSpriteSheet_053:: @ 8D2EBDC - .incbin "graphics/battle_anims/sprites/053.4bpp.lz" - - .align 2 -gUnknown_08C2EA50:: @ 8C2EA50 - .incbin "graphics/battle_anims/masks/unknown_C2EA50.4bpp.lz" - - .align 2 -gUnknown_08C2EA9C:: @ 8C2EA9C - .incbin "graphics/battle_anims/masks/unknown_C2EA50.bin.lz" - - .align 2 -gBattleAnimSpriteSheet_248:: @ 8D2EF50 - .incbin "graphics/battle_anims/sprites/248.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_248:: @ 8D2EF68 - .incbin "graphics/battle_anims/sprites/248.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_249:: @ 8D2EF80 - .incbin "graphics/battle_anims/sprites/249.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_249:: @ 8D2EFD0 - .incbin "graphics/battle_anims/sprites/249.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_250:: @ 8D2EFF0 - .incbin "graphics/battle_anims/sprites/250.4bpp.lz" - - .align 2 -gBattleAnimSpriteSheet_251:: @ 8D2F1E4 - .incbin "graphics/battle_anims/sprites/251.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_251:: @ 8D2F248 - .incbin "graphics/battle_anims/sprites/251.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_252:: @ 8D2F260 - .incbin "graphics/battle_anims/sprites/252.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_252:: @ 8D2F378 - .incbin "graphics/battle_anims/sprites/252.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_253:: @ 8D2F39C - .incbin "graphics/battle_anims/sprites/253.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_253:: @ 8D2F578 - .incbin "graphics/battle_anims/sprites/253.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_254:: @ 8D2F5A0 - .incbin "graphics/battle_anims/sprites/254.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_254:: @ 8D2F6D8 - .incbin "graphics/battle_anims/sprites/254.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_255:: @ 8D2F700 - .incbin "graphics/battle_anims/sprites/255.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_255:: @ 8D2F778 - .incbin "graphics/battle_anims/sprites/255.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_258:: @ 8D2F78C - .incbin "graphics/battle_anims/sprites/258.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_258:: @ 8D2F874 - .incbin "graphics/battle_anims/sprites/258.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_256:: @ 8D2F89C - .incbin "graphics/battle_anims/sprites/256.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_256:: @ 8D2FC28 - .incbin "graphics/battle_anims/sprites/256.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_257:: @ 8D2FC50 - .incbin "graphics/battle_anims/sprites/257.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_257:: @ 8D2FD6C - .incbin "graphics/battle_anims/sprites/257.gbapal.lz" - - .incbin "graphics/unknown/unknown_C2F9E0.gbapal.lz" @ likely a palette - -@ 8C2FA08 - .include "data/graphics/pokemon/graphics.inc" - -@ 8D51DC8 - .include "data/graphics/trainers/graphics.inc" - - .align 2 -gMonIcon_QuestionMark:: @ 8D774D0 - .incbin "graphics/pokemon/icons/question_mark_icon.4bpp" - - .align 2 -gMonFootprint_QuestionMark:: @ 8D778D0 - .incbin "graphics/pokemon/footprints/question_mark_footprint.1bpp" - - .align 2 -gUnknown_08D778F0:: @ 8D778F0 - .incbin "graphics/battle_transitions/vs_frame.4bpp.lz" - - .align 2 -gUnknown_08D779D8:: @ 8D779D8 - .incbin "graphics/battle_transitions/vs_frame.bin.lz" - - .align 2 -gUnknown_08D77AE4:: @ 8D77AE4 - .incbin "graphics/battle_transitions/vs_frame.gbapal.lz" - - .align 2 -gUnknown_08D77B0C:: @ 8D77B0C - .incbin "graphics/battle_transitions/vs.4bpp.lz" - - .align 2 -gBattleTerrainTiles_TallGrass:: @ 8D77D68 - .incbin "graphics/battle_terrain/tall_grass/tiles.4bpp.lz" - - .align 2 -gBattleTerrainPalette_TallGrass:: @ 8D78318 - .incbin "graphics/battle_terrain/tall_grass/palette.gbapal.lz" - - .align 2 -gBattleTerrainTilemap_TallGrass:: @ 8D78350 - .incbin "graphics/battle_terrain/tall_grass/map.bin.lz" - - .align 2 -gBattleTerrainTiles_LongGrass:: @ 8D78600 - .incbin "graphics/battle_terrain/long_grass/tiles.4bpp.lz" - - .align 2 -gBattleTerrainPalette_LongGrass:: @ 8D78C78 - .incbin "graphics/battle_terrain/long_grass/palette.gbapal.lz" - - .align 2 -gBattleTerrainTilemap_LongGrass:: @ 8D78CB8 - .incbin "graphics/battle_terrain/long_grass/map.bin.lz" - - .align 2 -gBattleTerrainTiles_Sand:: @ 8D78F68 - .incbin "graphics/battle_terrain/sand/tiles.4bpp.lz" - - .align 2 -gBattleTerrainPalette_Sand:: @ 8D79560 - .incbin "graphics/battle_terrain/sand/palette.gbapal.lz" - - .align 2 -gBattleTerrainTilemap_Sand:: @ 8D795A8 - .incbin "graphics/battle_terrain/sand/map.bin.lz" - - .align 2 -gBattleTerrainTiles_Underwater:: @ 8D79858 - .incbin "graphics/battle_terrain/underwater/tiles.4bpp.lz" - - .align 2 -gBattleTerrainPalette_Underwater:: @ 8D79E10 - .incbin "graphics/battle_terrain/underwater/palette.gbapal.lz" - - .align 2 -gBattleTerrainTilemap_Underwater:: @ 8D79E58 - .incbin "graphics/battle_terrain/underwater/map.bin.lz" - - .align 2 -gBattleTerrainTiles_Water:: @ 8D7A108 - .incbin "graphics/battle_terrain/water/tiles.4bpp.lz" - - .align 2 -gBattleTerrainPalette_Water:: @ 8D7A6DC - .incbin "graphics/battle_terrain/water/palette.gbapal.lz" - - .align 2 -gBattleTerrainTilemap_Water:: @ 8D7A720 - .incbin "graphics/battle_terrain/water/map.bin.lz" - - .align 2 -gBattleTerrainTiles_PondWater:: @ 8D7A9D0 - .incbin "graphics/battle_terrain/pond_water/tiles.4bpp.lz" - - .align 2 -gBattleTerrainPalette_PondWater:: @ 8D7AF78 - .incbin "graphics/battle_terrain/pond_water/palette.gbapal.lz" - - .align 2 -gBattleTerrainTilemap_PondWater:: @ 8D7AFB8 - .incbin "graphics/battle_terrain/pond_water/map.bin.lz" - - .align 2 -gBattleTerrainTiles_Rock:: @ 8D7B268 - .incbin "graphics/battle_terrain/rock/tiles.4bpp.lz" - - .align 2 -gBattleTerrainPalette_Rock:: @ 8D7B828 - .incbin "graphics/battle_terrain/rock/palette.gbapal.lz" - - .align 2 -gBattleTerrainTilemap_Rock:: @ 8D7B864 - .incbin "graphics/battle_terrain/rock/map.bin.lz" - - .align 2 -gBattleTerrainTiles_Cave:: @ 8D7BB14 - .incbin "graphics/battle_terrain/cave/tiles.4bpp.lz" - - .align 2 -gBattleTerrainPalette_Cave:: @ 8D7C10C - .incbin "graphics/battle_terrain/cave/palette.gbapal.lz" - - .align 2 -gBattleTerrainTilemap_Cave:: @ 8D7C154 - .incbin "graphics/battle_terrain/cave/map.bin.lz" - - .align 2 -gBattleTerrainPalette_Plain:: @ 8D7C404 - .incbin "graphics/battle_terrain/plain/palette.gbapal.lz" - - .align 2 -gBattleTerrainTiles_Building:: @ 8D7C440 - .incbin "graphics/battle_terrain/building/tiles.4bpp.lz" - - .align 2 -gBattleTerrainPalette_Frontier:: @ 8D7C9EC - .incbin "graphics/battle_terrain/stadium/battle_frontier.gbapal.lz" @ this is also used for link battles - - .align 2 -gBattleTerrainTilemap_Building:: @ 8D7CA28 - .incbin "graphics/battle_terrain/building/map.bin.lz" - - .align 2 -gBattleTerrainTiles_Stadium:: @ 8D7CCD8 - .incbin "graphics/battle_terrain/stadium/tiles.4bpp.lz" - - .align 2 -gBattleTerrainTilemap_Stadium:: @ 8D7D2E0 - .incbin "graphics/battle_terrain/stadium/map.bin.lz" - - .align 2 -gBattleTerrainTiles_Rayquaza:: @ 8D7D590 - .incbin "graphics/battle_terrain/sky/tiles.4bpp.lz" - - .align 2 -gBattleTerrainTilemap_Rayquaza:: @ 8D7DC04 - .incbin "graphics/battle_terrain/sky/map.bin.lz" - - .align 2 -gBattleTerrainPalette_Building:: @ 8D7DEB4 - .incbin "graphics/battle_terrain/building/palette.gbapal.lz" - - .align 2 -gBattleTerrainPalette_Kyogre:: @ 8D7DEF4 - .incbin "graphics/battle_terrain/water/kyogre.gbapal.lz" - - .align 2 -gBattleTerrainPalette_Groudon:: @ 8D7DF30 - .incbin "graphics/battle_terrain/cave/groudon.gbapal.lz" - - .align 2 -gBattleTerrainPalette_BuildingGym:: @ 8D7DF88 - .incbin "graphics/battle_terrain/building/palette2.gbapal.lz" - - .align 2 -gBattleTerrainPalette_BuildingLeader:: @ 8D7DFC4 - .incbin "graphics/battle_terrain/building/palette3.gbapal.lz" - - .align 2 -gBattleTerrainPalette_StadiumAqua:: @ 8D7E000 - .incbin "graphics/battle_terrain/stadium/palette1.gbapal.lz" - - .align 2 -gBattleTerrainPalette_StadiumMagma:: @ 8D7E060 - .incbin "graphics/battle_terrain/stadium/palette2.gbapal.lz" - - .align 2 -gBattleTerrainPalette_StadiumSidney:: @ 8D7E0CC - .incbin "graphics/battle_terrain/stadium/palette3.gbapal.lz" - - .align 2 -gBattleTerrainPalette_StadiumPhoebe:: @ 8D7E11C - .incbin "graphics/battle_terrain/stadium/palette4.gbapal.lz" - - .align 2 -gBattleTerrainPalette_StadiumGlacia:: @ 8D7E164 - .incbin "graphics/battle_terrain/stadium/palette5.gbapal.lz" - - .align 2 -gBattleTerrainPalette_StadiumDrake:: @ 8D7E1A8 - .incbin "graphics/battle_terrain/stadium/palette6.gbapal.lz" - - .align 2 -gBattleTerrainPalette_StadiumWallace:: @ 8D7E1F8 - .incbin "graphics/battle_terrain/stadium/palette7.gbapal.lz" - - .align 2 -gBattleTerrainPalette_Rayquaza:: @ 8D7E234 - .incbin "graphics/battle_terrain/sky/palette.gbapal.lz" - - .align 2 -gBattleTerrainAnimTiles_TallGrass:: @ 8D7E280 - .incbin "graphics/battle_terrain/tall_grass/anim_tiles.4bpp.lz" - - .align 2 -gBattleTerrainAnimTilemap_TallGrass:: @ 8D7E808 - .incbin "graphics/battle_terrain/tall_grass/anim_map.bin.lz" - - .align 2 -gBattleTerrainAnimTiles_LongGrass:: @ 8D7E9C4 - .incbin "graphics/battle_terrain/long_grass/anim_tiles.4bpp.lz" - - .align 2 -gBattleTerrainAnimTilemap_LongGrass:: @ 8D7F0D4 - .incbin "graphics/battle_terrain/long_grass/anim_map.bin.lz" - - .align 2 -gBattleTerrainAnimTiles_Sand:: @ 8D7F30C - .incbin "graphics/battle_terrain/sand/anim_tiles.4bpp.lz" - - .align 2 -gBattleTerrainAnimTilemap_Sand:: @ 8D7F850 - .incbin "graphics/battle_terrain/sand/anim_map.bin.lz" - - .align 2 -gBattleTerrainAnimTiles_Underwater:: @ 8D7F9F8 - .incbin "graphics/battle_terrain/underwater/anim_tiles.4bpp.lz" - - .align 2 -gBattleTerrainAnimTilemap_Underwater:: @ 8D7FEC4 - .incbin "graphics/battle_terrain/underwater/anim_map.bin.lz" - - .align 2 -gBattleTerrainAnimTiles_Water:: @ 8D80054 - .incbin "graphics/battle_terrain/water/anim_tiles.4bpp.lz" - - .align 2 -gBattleTerrainAnimTilemap_Water:: @ 8D80660 - .incbin "graphics/battle_terrain/water/anim_map.bin.lz" - - .align 2 -gBattleTerrainAnimTiles_PondWater:: @ 8D80804 - .incbin "graphics/battle_terrain/pond_water/anim_tiles.4bpp.lz" - - .align 2 -gBattleTerrainAnimTilemap_PondWater:: @ 8D80D50 - .incbin "graphics/battle_terrain/pond_water/anim_map.bin.lz" - - .align 2 -gBattleTerrainAnimTiles_Rock:: @ 8D80E9C - .incbin "graphics/battle_terrain/rock/anim_tiles.4bpp.lz" - - .align 2 -gBattleTerrainAnimTilemap_Rock:: @ 8D8147C - .incbin "graphics/battle_terrain/rock/anim_map.bin.lz" - - .align 2 -gBattleTerrainAnimTiles_Cave:: @ 8D81610 - .incbin "graphics/battle_terrain/cave/anim_tiles.4bpp.lz" - - .align 2 -gBattleTerrainAnimTilemap_Cave:: @ 8D81E2C - .incbin "graphics/battle_terrain/cave/anim_map.bin.lz" - - .align 2 -gBattleTerrainAnimTiles_Building:: @ 8D820D4 - .incbin "graphics/battle_terrain/building/anim_tiles.4bpp.lz" - - .align 2 -gBattleTerrainAnimTilemap_Building:: @ 8D824E4 - .incbin "graphics/battle_terrain/building/anim_map.bin.lz" - - .align 2 -gBattleTerrainAnimTiles_Rayquaza:: @ 8D82608 - .incbin "graphics/battle_terrain/sky/anim_tiles.4bpp.lz" - - .align 2 -gBattleTerrainAnimTilemap_Rayquaza:: @ 8D82C70 - .incbin "graphics/battle_terrain/sky/anim_map.bin.lz" - - .align 2 -gUnknown_08D82F10:: @ 8D82F10 - .incbin "graphics/battle_frontier/tourney_bg.4bpp.lz" - - .align 2 -gUnknown_08D834FC:: @ 8D834FC - .incbin "graphics/battle_frontier/tourney_line.4bpp.lz" @ the red glow mask for the tourney advancement lines - - .align 2 -gUnknown_08D83900:: @ 8D83900 - .incbin "graphics/unknown/unknown_D83900.bin.lz" @ tilemaps likely - - .align 2 -gUnknown_08D83B2C:: @ 8D83B2C - .incbin "graphics/unknown/unknown_D83B2C.bin.lz" - - .align 2 -gUnknown_08D83C3C:: @ 8D83C3C - .incbin "graphics/unknown/unknown_D83C3C.bin.lz" - - .align 2 -gUnknown_08D83D50:: @ 8D83D50 - .incbin "graphics/battle_frontier/misc1.4bpp.lz" - - .align 2 -gUnknown_08D84970:: @ 8D84970 - .incbin "graphics/unknown/unknown_D84970.bin.lz" - - .align 2 -gUnknown_08D84F00:: @ 8D84F00 - .incbin "graphics/unknown/unknown_D84F00.bin.lz" - - .align 2 -gBattleFrontierGfx_DomeOptions:: @ 8D85058 - .incbin "graphics/battle_frontier/options.4bpp.lz" - - .align 2 -gUnknown_08D85358:: @ 8D85358 - .incbin "graphics/battle_frontier/options_pal1.gbapal.lz" - - .align 2 -gUnknown_08D85444:: @ 8D85444 - .incbin "graphics/battle_frontier/options_pal2.gbapal.lz" @ pokeball pal - - .align 2 -gUnknown_08D854C8:: @ 8D854C8 - .incbin "graphics/battle_frontier/options_pal3.gbapal.lz" @ arrow pal - - .align 2 -gUnknown_08D854E8:: @ 8D854E8 - .incbin "graphics/battle_frontier/symbols.4bpp.lz" - - .align 2 -gUnknown_08D855E8:: @ 8D855E8 - .incbin "graphics/battle_frontier/symbols.gbapal.lz" - - .align 2 -gUnknown_08D85600:: @ 8D85600 - .incbin "graphics/battle_frontier/text.gbapal.lz" @ text palette for frontier text. - - .align 2 -gUnknown_08D85620:: @ 8D85620 - .incbin "graphics/battle_frontier/text_pp.gbapal" @ text palette for PP text - - @ dome anim pals - - .align 2 -gTilesetAnims_BattleDomePals0_0:: @ 8D85640 - .incbin "graphics/battle_frontier/dome_anim1.gbapal" - - .align 2 -gTilesetAnims_BattleDomePals0_1:: @ 8D85660 - .incbin "graphics/battle_frontier/dome_anim2.gbapal" - - .align 2 -gTilesetAnims_BattleDomePals0_2:: @ 8D85680 - .incbin "graphics/battle_frontier/dome_anim3.gbapal" - - .align 2 -gTilesetAnims_BattleDomePals0_3:: @ 8D856A0 - .incbin "graphics/battle_frontier/dome_anim4.gbapal" - - @ 8D856C0 - .2byte 0x013F, 0x0119, 0x0113, 0x010E @ unused? - - .align 2 -gUnknown_08D856C8:: @ 8D856C8 - .incbin "graphics/battle_frontier/pyramid_light.gbapal" @ unfaded pal for the player light in battle pyramid - - .align 2 -gUnknown_08D857A8:: @ 8D857A8 - .incbin "graphics/battle_frontier/battle_tilemap1.bin.lz" - - .align 2 -gUnknown_08D85A1C:: @ 8D85A1C - .incbin "graphics/battle_frontier/battle_tilemap2.bin.lz" - - .align 2 -gIntro1GameFreakTextFadePal:: @ 8D85C50 - .incbin "graphics/intro/intro1_text.gbapal" @ game freak text blue fade - - .align 2 -gIntro2BrendanNoTurnPal:: @ 8D85CB0 - .incbin "graphics/intro/intro2_brendan_noturn.gbapal" - - .align 2 -gIntro3BgPal:: @ 8D85CD0 - .incbin "graphics/intro/intro3.gbapal" - - .align 2 -gIntro2VolbeatPal:: @ 8D85ED0 - .incbin "graphics/intro/intro2_volbeat.gbapal" - - .align 2 -gIntro2TorchicPal:: @ 8D85EF0 - .incbin "graphics/intro/intro2_torchic.gbapal" - - .align 2 -gIntro2ManectricPal:: @ 8D85ED0 - .incbin "graphics/intro/intro2_manectric.gbapal" - - .align 2 -gIntro2FlygonPal:: @ 8D85F30 - .incbin "graphics/intro/intro2_flygon.gbapal" - - .align 2 -gIntro2VolbeatGfx:: @ 8D85F50 - .incbin "graphics/intro/intro2_volbeat.4bpp.lz" - - .align 2 -gIntro2TorchicGfx:: @ 8D86130 - .incbin "graphics/intro/intro2_torchic.4bpp.lz" - - .align 2 -gIntro2ManectricGfx:: @ 8D86550 - .incbin "graphics/intro/intro2_manectric.4bpp.lz" - - .align 2 -gIntro2FlygonGfx:: @ 8D8702C - .incbin "graphics/intro/intro2_flygon.4bpp.lz" - - .align 2 -gIntro2BrendanNoTurnGfx:: @ 8D87568 - .incbin "graphics/intro/intro2_brendan_noturn.4bpp.lz" - - .align 2 -gIntro2MayNoTurnGfx:: @ 8D87CA4 - .incbin "graphics/intro/intro2_may_noturn.4bpp.lz" - - .align 2 -gIntro3GroudonGfx:: @ 8D88494 - .incbin "graphics/intro/intro3_groudon.8bpp.lz" - - .align 2 -gIntro3GroudonTilemap:: @ 8D88D40 - .incbin "graphics/intro/intro3_groudon.bin.lz" - - .align 2 -gIntro3KyogreGfx:: @ 8D89224 - .incbin "graphics/intro/intro3_kyogre.8bpp.lz" - - .align 2 -gIntro3KyogreTilemap:: @ 8D89ABC - .incbin "graphics/intro/intro3_kyogre.bin.lz" - - .align 2 -gIntro3LegendBgGfx:: @ 8D89F7C - .incbin "graphics/intro/legend_bg.4bpp.lz" @ groudon/kyogre/bg - - .align 2 -gIntro3GroudonBgTilemap:: @ 8D8A818 - .incbin "graphics/intro/legend_bg1.bin.lz" - - .align 2 -gIntro3KyogreBgTilemap:: @ 8D8A934 - .incbin "graphics/intro/legend_bg2.bin.lz" - - .align 2 -gIntro3CloudsGfx:: @ 8D8AA54 - .incbin "graphics/intro/intro3_clouds.4bpp.lz" - - .align 2 -gIntro3Clouds1Tilemap:: @ 8D8B180 - .incbin "graphics/intro/intro3_clouds1.bin.lz" - - .align 2 -gIntro3Clouds2Tilemap:: @ 8D8B440 - .incbin "graphics/intro/intro3_clouds2.bin.lz" - - .align 2 -gIntro3Clouds3Tilemap:: @ 8D8B6E8 - .incbin "graphics/intro/intro3_clouds3.bin.lz" - - .align 2 -gIntro3LightningGfx:: @ 8D8B80C - .incbin "graphics/intro/intro3_lightning.4bpp.lz" - - .align 2 -gIntro3LightningPal:: @ 8D8BA54 - .incbin "graphics/intro/intro3_lightning.gbapal" - - .align 2 -gIntro3RayquazaGfx:: @ 8D8BA74 - .incbin "graphics/intro/intro3_rayquaza.4bpp.lz" - - .align 2 -gIntro3RayquazaTilemap:: @ 8D8C16C - .incbin "graphics/intro/intro3_rayquaza.bin.lz" - - @ seems to be 2 unused tilemaps - .align 2 - .incbin "graphics/unknown/unknown_D8C374.bin.lz" - - .align 2 - .incbin "graphics/unknown/unknown_D8C5C4.bin.lz" - - .align 2 -gIntro3Clouds2Gfx:: @ 8D8C838 - .incbin "graphics/intro/intro3_clouds2.4bpp.lz" @ clouds 2, during the rayquaza flash - - .align 2 -gIntro3Clouds4Tilemap:: @ 8D8CCC8 - .incbin "graphics/intro/intro3_clouds4.bin.lz" @ this is the tilemap for clouds 2, but clouds - - .align 2 -gIntro2BubblesGfx:: @ 8D8CF44 - .incbin "graphics/intro/intro2_bubbles.4bpp.lz" - - .align 2 -gIntro2BubblesPal:: @ 8D8D110 - .incbin "graphics/intro/intro2_bubbles.gbapal" - - .align 2 -gIntro1FlygonGfx:: @ 8D8D130 - .incbin "graphics/intro/intro1_flygon.4bpp.lz" - - .align 2 -gIntro1SparkleGfx:: @ 8D8D208 - .incbin "graphics/intro/intro1_sparkle.4bpp.lz" - - .align 2 -gBattleAnimSpriteSheet_261:: - .incbin "graphics/battle_anims/sprites/261.4bpp.lz" - - .align 2 -gUnknown_08D8D410:: @ 8D8D410 - .incbin "graphics/battle_anims/backgrounds/sandstorm_brew.bin.lz" - - .align 2 -gUnknown_08D8D58C:: @ 8D8D58C - .incbin "graphics/battle_anims/backgrounds/sandstorm_brew.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_261:: @ 8E68580 - .incbin "graphics/battle_anims/sprites/261.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_260:: @ 8E685A8 - .incbin "graphics/battle_anims/sprites/260.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_260:: @ 8E68764 - .incbin "graphics/battle_anims/sprites/260.gbapal.lz" - - .align 2 -gBattleAnimBackgroundImage_15:: @ 8E6877C - .incbin "graphics/battle_anims/backgrounds/15.4bpp.lz" - - .align 2 -gBattleAnimBackgroundPalette_15:: @ 8E690EC - .incbin "graphics/battle_anims/backgrounds/15.gbapal.lz" - - .align 2 -gBattleAnimBackgroundTilemap_15:: @ 8E69110 - .incbin "graphics/battle_anims/backgrounds/15.bin.lz" - - .align 2 -gBattleAnimSpriteSheet_262:: @ 8E69308 - .incbin "graphics/battle_anims/sprites/262.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_262:: @ 8E693DC - .incbin "graphics/battle_anims/sprites/262.gbapal.lz" - - .align 2 -gContestNextTurnGfx:: - .incbin "graphics/contest/nextturn.4bpp.lz" - - .align 2 -gUnknown_08D8E9B4:: @ 8D8E9B4 - .incbin "graphics/contest/nextturn_numbers.4bpp" - - .align 2 -gUnknown_08D8EA34:: @ 8D8EA34 - .incbin "graphics/contest/nextturn_random.4bpp" - - .align 2 -gBattleAnimSpriteSheet_264:: @ 8E695B8 - .incbin "graphics/battle_anims/sprites/264.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_264:: @ 8E695D8 - .incbin "graphics/battle_anims/sprites/264.gbapal.lz" - - .align 2 -gBattleAnimSpritePalette_265:: @ 8E695F0 - .incbin "graphics/battle_anims/sprites/265.gbapal.lz" - - .align 2 -gBattleAnimSpritePalette_067:: @ 8E69608 - .incbin "graphics/battle_anims/sprites/067.gbapal.lz" - - .align 2 -gBattleAnimSpritePalette_068:: @ 8E69628 - .incbin "graphics/battle_anims/sprites/068.gbapal.lz" - - .align 2 -gContestApplauseGfx:: @ 8D8EAE4 - .incbin "graphics/contest/applause.4bpp.lz" - - .align 2 -gContestApplauseMeterGfx:: @ 8D8EC24 - .incbin "graphics/contest/applause_meter.4bpp" - - .align 2 -gContestPal:: @ 8D8ECA4 - .incbin "graphics/contest/nextturn.gbapal" - - .align 2 -gBattleAnimSpriteSheet_272:: @ 8E6982C - .incbin "graphics/battle_anims/sprites/272.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_272:: @ 8E69A48 - .incbin "graphics/battle_anims/sprites/272.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_273:: @ 8E69A6C - .incbin "graphics/battle_anims/sprites/273.4bpp.lz" - - .align 2 -gBattleAnimSpriteSheet_269:: @ 8E69A94 - .incbin "graphics/battle_anims/sprites/269.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_269:: @ 8E69AE8 - .incbin "graphics/battle_anims/sprites/269.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_274:: @ 8E69B00 - .incbin "graphics/battle_anims/sprites/274.4bpp.lz" - - .align 2 -gBattleAnimSpriteSheet_275:: @ 8E69C80 - .incbin "graphics/battle_anims/sprites/275.4bpp.lz" - - .align 2 -gBattleAnimSpriteSheet_276:: @ 8E69DEC - .incbin "graphics/battle_anims/sprites/276.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_274:: @ 8E69F54 - .incbin "graphics/battle_anims/sprites/274.gbapal.lz" - - .align 2 -gBattleAnimBackgroundImage_17:: @ 8E69F7C - .incbin "graphics/battle_anims/backgrounds/17.4bpp.lz" - - .align 2 -gBattleAnimBackgroundPalette_17:: @ 8E6A0D8 - .incbin "graphics/battle_anims/backgrounds/17.gbapal.lz" - - .align 2 -gBattleAnimBackgroundTilemap_17:: @ 8E6A100 - .incbin "graphics/battle_anims/backgrounds/17.bin.lz" - - .align 2 -gBattleAnimSpriteSheet_280:: @ 8E6A2E8 - .incbin "graphics/battle_anims/sprites/280.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_280:: @ 8E6A6E4 - .incbin "graphics/battle_anims/sprites/280.gbapal.lz" - - .align 2 -gBattleAnimBackgroundImageMuddyWater_Pal:: @ 8D8FB9C - .incbin "graphics/battle_anims/backgrounds/water_muddy.gbapal.lz" - - .align 2 -gEnemyMonShadow_Gfx:: @ 8D8FBC0 - .incbin "graphics/battle_interface/enemy_mon_shadow.4bpp.lz" - - .align 2 -gBattleInterface_BallStatusBarGfx:: @ 8D8FBF0 - .incbin "graphics/battle_interface/ball_status_bar.4bpp.lz" - - .align 2 -gMonIcon_Egg:: @ 8D8FC74 - .incbin "graphics/pokemon/icons/egg_icon.4bpp" - - .align 2 -gBattleAnimBackgroundImage_02:: @ 8E6ABDC - .incbin "graphics/battle_anims/backgrounds/02.4bpp.lz" - - .align 2 -gBattleAnimBackgroundPalette_02:: @ 8E6B8A4 - .incbin "graphics/battle_anims/backgrounds/02.gbapal.lz" - - .align 2 -gBattleAnimBackgroundTilemap_02:: @ 8E6B8C0 - .incbin "graphics/battle_anims/backgrounds/02.bin.lz" - - .align 2 -gBattleAnimSpritePalette_287:: @ 8E6BBB4 - .incbin "graphics/battle_anims/sprites/287.gbapal.lz" - - .align 2 -gBattleAnimBackgroundPalette_24:: @ 8E6BBDC - .incbin "graphics/battle_anims/backgrounds/24.gbapal.lz" - - .align 2 - .incbin "graphics/unknown/unknown_E6BC04.bin.lz" @ TODO: rename - - .align 2 -sBlenderCenterGfx:: @ 8D91598 - .incbin "graphics/berry_blender/center.8bpp.lz" - - .align 2 -gUnknown_08D91DB8:: @ 8D91DB8 - .incbin "graphics/berry_blender/outer.4bpp.lz" - - .align 2 -gUnknown_08D927EC:: @ 8D927EC - .incbin "graphics/berry_blender/outer_map.bin.lz" - - .align 2 -gBattleAnimBackgroundPalette_16:: @ 8E6D668 - .incbin "graphics/battle_anims/backgrounds/16.gbapal.lz" - - .align 2 -gBattleAnimBackgroundImage_16:: @ 8E6D690 - .incbin "graphics/battle_anims/backgrounds/16.4bpp.lz" - - .align 2 -gBattleAnimBackgroundTilemap_16:: @ 8E6D8F0 - .incbin "graphics/battle_anims/backgrounds/16.bin.lz" - - .align 2 -gBattleAnimSpritePalette_277:: @ 8E6DA2C - .incbin "graphics/battle_anims/sprites/277.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_277:: @ 8E6DA54 - .incbin "graphics/battle_anims/sprites/277.4bpp.lz" - - .align 2 -gBattleAnimFogTilemap:: @ 8E6DE48 - .incbin "graphics/battle_anims/backgrounds/fog.bin.lz" - - .align 2 -gBattleAnimSpritePalette_283:: @ 8E6DFC0 - .incbin "graphics/battle_anims/sprites/283.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_283:: @ 8E6DFDC - .incbin "graphics/battle_anims/sprites/283.4bpp.lz" - - .align 2 -gBattleAnimBackgroundTilemap_ScaryFacePlayer:: @ 8D93598 - .incbin "graphics/battle_anims/backgrounds/scary_face_player.bin.lz" - - .align 2 -gBattleAnimBackgroundTilemap_ScaryFaceOpponent:: @ 8D9377C - .incbin "graphics/battle_anims/backgrounds/scary_face_opponent.bin.lz" - - .align 2 -gBattleAnimBackgroundTilemap_ScaryFaceContest:: @ 8D93960 - .incbin "graphics/battle_anims/backgrounds/scary_face_contest.bin.lz" - - .align 2 -gBattleAnimSpriteSheet_263:: @ 8E6E6AC - .incbin "graphics/battle_anims/sprites/263.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_263:: @ 8E6E6EC - .incbin "graphics/battle_anims/sprites/263.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_266:: @ 8E6E704 - .incbin "graphics/battle_anims/sprites/266.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_266:: @ 8E6E744 - .incbin "graphics/battle_anims/sprites/266.gbapal.lz" - - .align 2 -gBattleAnimSpritePalette_267:: @ 8E6E75C - .incbin "graphics/battle_anims/sprites/267.gbapal.lz" - - .align 2 -gBattleAnimSpritePalette_268:: @ 8E6E774 - .incbin "graphics/battle_anims/sprites/268.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_278:: @ 8E6E78C - .incbin "graphics/battle_anims/sprites/278.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_278:: @ 8E6E998 - .incbin "graphics/battle_anims/sprites/278.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_279:: @ 8E6E9B4 - .incbin "graphics/battle_anims/sprites/279.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_279:: @ 8E6EA00 - .incbin "graphics/battle_anims/sprites/279.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_281:: @ 8E6EA1C - .incbin "graphics/battle_anims/sprites/281.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_281:: @ 8E6EBA4 - .incbin "graphics/battle_anims/sprites/281.gbapal.lz" - - .align 2 -gBattleAnimBackgroundImage_21:: @ 8E6EBC4 - .incbin "graphics/battle_anims/backgrounds/21.4bpp.lz" - - .align 2 -gBattleAnimBackgroundPalette_21:: @ 8E6EEB8 - .incbin "graphics/battle_anims/backgrounds/21.gbapal.lz" - - .align 2 -gBattleAnimBackgroundTilemap_21:: @ 8E6EED4 - .incbin "graphics/battle_anims/backgrounds/21.bin.lz" - - .align 2 -gBattleAnimSpriteSheet_284:: @ 8E6F1C0 - .incbin "graphics/battle_anims/sprites/284.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_284:: @ 8E6F53C - .incbin "graphics/battle_anims/sprites/284.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_285:: @ 8E6F558 - .incbin "graphics/battle_anims/sprites/285.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_285:: @ 8E6F5F8 - .incbin "graphics/battle_anims/sprites/285.gbapal.lz" - - .align 2 -gBattleAnimBackgroundImage_Surf:: @ 8D94AB8 - .incbin "graphics/battle_anims/backgrounds/water.4bpp.lz" - - .align 2 -gBattleAnimBackgroundPalette_Surf:: @ 8D95DD8 - .incbin "graphics/battle_anims/backgrounds/water.gbapal.lz" - - .align 2 -gUnknown_08D95E00:: @ 8D95E00 - .incbin "graphics/unknown/unknown_D95E00.bin.lz" - - .align 2 -gUnknown_08D960D0:: @ 8D960D0 - .incbin "graphics/unknown/unknown_D960D0.bin.lz" - - .align 2 -gUnknown_08D963A4:: @ 8D963A4 - .incbin "graphics/unknown/unknown_D963A4.bin.lz" - - .align 2 -gBattleAnimSpritePalette_286:: @ 8E71200 - .incbin "graphics/battle_anims/sprites/286.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_188:: @ 8E71228 - .incbin "graphics/battle_anims/sprites/188.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_188:: @ 8E7133C - .incbin "graphics/battle_anims/sprites/188.gbapal.lz" - - .align 2 -gPartyMenuMisc_Gfx:: @ 8D967EC - .incbin "graphics/interface/party_menu_misc.4bpp.lz" - - .align 2 -gPartyMenuMisc_Pal:: @ 8D96AB4 - .incbin "graphics/interface/party_menu_misc.gbapal.lz" - - .align 2 -gPartyMenuMisc_Tilemap:: @ 8D96BA0 - .incbin "graphics/interface/party_menu_misc.bin.lz" - - .align 2 -gPartyMenuPokeball_Gfx:: @ 8D96CD8 - .incbin "graphics/interface/party_menu_pokeball.4bpp.lz" - - .align 2 -gPartyMenuPokeballSmall_Gfx:: @ 8D96E58 - .incbin "graphics/interface/party_menu_pokeball_small.4bpp.lz" @ unused - - .align 2 -gPartyMenuPokeball_Pal:: @ 8D96F6C - .incbin "graphics/interface/party_menu_pokeball.gbapal.lz" - - .align 2 -gStatusGfx_Icons:: @ 8D96F90 - .incbin "graphics/interface/status_icons.4bpp.lz" - - .align 2 -gStatusPal_Icons:: @ 8D97188 - .incbin "graphics/interface/status_icons.gbapal.lz" - - .align 2 -gMoveTypes_Gfx:: @ 8D971B0 - .incbin "graphics/types/move_types.4bpp.lz" - - .align 2 -gMoveTypes_Pal:: @ 8D97B84 - .incbin "graphics/types/move_types.gbapal.lz" - - .align 2 -gUnknown_08D97BEC:: @ 8D97BEC - .incbin "graphics/interface/summary_frames.4bpp.lz" - - .align 2 -gUnknown_08D97CF4:: @ 8D97CF4 - .incbin "graphics/interface/summary_frames.gbapal.lz" - - .align 2 -gUnknown_08D97D0C:: @ 8D97D0C - .incbin "graphics/interface/status_screen.4bpp.lz" - - .align 2 -gUnknown_08D9853C:: @ 8D9853C - .incbin "graphics/interface/status_screen.gbapal.lz" - - .align 2 -gUnknown_08D9862C:: @ 8D9862C - .incbin "graphics/interface/status_screen.bin.lz" - - .align 2 -gUnknown_08D987FC:: @ 8D987FC - .incbin "graphics/interface/status_tilemap1.bin.lz" - - .align 2 -gUnknown_08D9898C:: @ 8D9898C - .incbin "graphics/interface/status_tilemap2.bin.lz" - - .align 2 -gUnknown_08D98B28:: @ 8D98B28 - .incbin "graphics/interface/status_tilemap3.bin.lz" - - .align 2 -gUnknown_08D98CC8:: @ 8D98CC8 - .incbin "graphics/interface/status_tilemap0.bin.lz" - - .align 2 -gBagMaleTiles:: @ 8E75024 - .incbin "graphics/misc/bag_male.4bpp.lz" - - .align 2 -gBagFemaleTiles:: @ 8E75BA0 - .incbin "graphics/misc/bag_female.4bpp.lz" - - .align 2 -gBagPalette:: @ 8E76700 - .incbin "graphics/misc/bag.gbapal.lz" - - .align 2 -gBagScreenMale_Pal:: @ 8D9A588 - .incbin "graphics/interface/bag_screen_male.gbapal.lz" - - .align 2 -gBagScreenFemale_Pal:: @ 8D9A5D4 - .incbin "graphics/interface/bag_screen_female.gbapal.lz" - - .align 2 -gBagScreen_Gfx:: @ 8D9A620 - .incbin "graphics/interface/bag_screen.4bpp.lz" - - .align 2 -gUnknown_08D9A88C:: @ 8D9A88C - .incbin "graphics/unknown/unknown_D9A88C.bin.lz" - - .align 2 -gBattleFrontierGfx_PyramidBag:: @ 8D9A9EC - .incbin "graphics/interface/bag_pyramid.4bpp.lz" - - .align 2 -gUnknown_08D9ADD0:: @ 8D9ADD0 - .incbin "graphics/interface/bag_pyramid.gbapal.lz" @ female palette is first and male is second. - - .align 2 -gUnknown_08D9AE04:: @ 8D9AE04 - .incbin "graphics/unknown/unknown_D9AE04.bin.lz" @ tilemap? - - .align 2 -gUnknown_08D9AF44:: @ 8D9AF44 - .incbin "graphics/unknown/unknown_D9AF44.gbapal.lz" - - .align 2 -gBagSwapLineGfx:: @ 8D9AF6C - .incbin "graphics/interface/bag_swap.4bpp.lz" - - .align 2 -gBagSwapLinePal:: @ 8D9AFAC - .incbin "graphics/interface/bag_swap.gbapal.lz" - - .align 2 -gBuyMenuFrame_Gfx:: @ 8D9AFBC - .incbin "graphics/interface/mart_frame.4bpp.lz" - - .align 2 -gMenuMoneyPal:: @ 8D9B0C8 - .incbin "graphics/interface/mart_frame.gbapal.lz" - - .align 2 -gBuyMenuFrame_Tilemap:: @ 8D9B0F0 - .incbin "graphics/interface/mart_frame.bin.lz" - - .align 2 -gMenuMoneyGfx:: @ 8D9B230 - .incbin "graphics/interface/money.4bpp.lz" - - .align 2 -gMenuPokeblock_Gfx:: @ 8D9B2B4 - .incbin "graphics/interface/pokeblock_case_frame.4bpp.lz" - - .align 2 -gMenuPokeblock_Pal:: @ 8D9B470 - .incbin "graphics/interface/pokeblock_case_frame.gbapal.lz" - - .align 2 -gMenuPokeblockDevice_Gfx:: @ 8D9B4E0 - .incbin "graphics/interface/pokeblock_device.4bpp.lz" - - .align 2 -gMenuPokeblockDevice_Pal:: @ 8D9B7A0 - .incbin "graphics/interface/pokeblock_device.gbapal.lz" - - .align 2 -gMenuPokeblock_Tilemap:: @ 8D9B7C8 - .incbin "graphics/interface/pokeblock.bin.lz" - - .align 2 -gPokeblock_Gfx:: - .incbin "graphics/pokeblock/pokeblock.4bpp.lz" - - .align 2 -gPokeblockRed_Pal:: - .incbin "graphics/pokeblock/red.gbapal.lz" - - .align 2 -gPokeblockBlue_Pal:: - .incbin "graphics/pokeblock/blue.gbapal.lz" - - .align 2 -gPokeblockPink_Pal:: - .incbin "graphics/pokeblock/pink.gbapal.lz" - - .align 2 -gPokeblockGreen_Pal:: - .incbin "graphics/pokeblock/green.gbapal.lz" - - .align 2 -gPokeblockYellow_Pal:: - .incbin "graphics/pokeblock/yellow.gbapal.lz" - - .align 2 -gPokeblockPurple_Pal:: - .incbin "graphics/pokeblock/purple.gbapal.lz" - - .align 2 -gPokeblockIndigo_Pal:: - .incbin "graphics/pokeblock/indigo.gbapal.lz" - - .align 2 -gPokeblockBrown_Pal:: - .incbin "graphics/pokeblock/brown.gbapal.lz" - - .align 2 -gPokeblockLiteBlue_Pal:: - .incbin "graphics/pokeblock/liteblue.gbapal.lz" - - .align 2 -gPokeblockOlive_Pal:: - .incbin "graphics/pokeblock/olive.gbapal.lz" - - .align 2 -gPokeblockGray_Pal:: - .incbin "graphics/pokeblock/gray.gbapal.lz" - - .align 2 -gPokeblockBlack_Pal:: - .incbin "graphics/pokeblock/black.gbapal.lz" - - .align 2 -gPokeblockWhite_Pal:: - .incbin "graphics/pokeblock/white.gbapal.lz" - - .align 2 -gPokeblockGold_Pal:: - .incbin "graphics/pokeblock/gold.gbapal.lz" - - .align 2 -gUnknown_08D9BA44:: @ 8D9BA44 - .incbin "graphics/interface/pokeblock_feeding_bg_map.bin.lz" - - .align 2 -gUnknown_08D9BB44:: @ 8D9BB44 - .incbin "graphics/interface/check_berry.4bpp.lz" - - .align 2 -gUnknown_08D9BEF0:: @ 8D9BEF0 - .incbin "graphics/interface/check_berry.gbapal.lz" - - .align 2 -gUnknown_08D9BF98:: @ 8D9BF98 - .incbin "graphics/interface/berry_tag.bin.lz" - - .align 2 -gUnknown_08D9C13C:: @ 8D9C13C - .incbin "graphics/interface/berry_tag_title.bin.lz" - - .align 2 -gBerryCheckCircle_Gfx:: @ 8D9C24C - .incbin "graphics/interface/check_berry_circle.4bpp.lz" - -@ 8D9C3A8 - .include "data/graphics/berries/berry_graphics.inc" - - .align 2 -gRaySceneGroudon_Gfx:: @ 8DA1E78 - .incbin "graphics/rayquaza_scene/groudon.4bpp.lz" - - .align 2 -gRaySceneGroudon2_Gfx:: @ 8DA2A5C - .incbin "graphics/rayquaza_scene/groudon_shoulder.4bpp.lz" - - .align 2 -gRaySceneGroudon3_Gfx:: @ 8DA2B28 - .incbin "graphics/rayquaza_scene/groudon_claw.4bpp.lz" - - .align 2 -gRaySceneKyogre_Gfx:: @ 8DA2D1C - .incbin "graphics/rayquaza_scene/kyogre.4bpp.lz" - - .align 2 -gRaySceneKyogre2_Gfx:: @ 8DA3250 - .incbin "graphics/rayquaza_scene/kyogre_shoulder.4bpp.lz" - - .align 2 -gRaySceneKyogre3_Gfx:: @ 8DA32A4 - .incbin "graphics/rayquaza_scene/kyogre_fin.4bpp.lz" - - .align 2 -gRaySceneGroudon_Pal:: @ 8DA3370 - .incbin "graphics/rayquaza_scene/groudon.gbapal.lz" - - .align 2 -gRaySceneKyogre_Pal:: @ 8DA3398 - .incbin "graphics/rayquaza_scene/kyogre.gbapal.lz" - - .align 2 -gRaySceneClouds_Gfx:: @ 8DA33C0 - .incbin "graphics/rayquaza_scene/clouds.4bpp.lz" - - .align 2 -gRaySceneClouds_Pal:: @ 8DA37E8 - .incbin "graphics/rayquaza_scene/clouds.gbapal.lz" @ pal 1 clouds, pal 2 rain - - .align 2 -gRaySceneClouds1_Tilemap:: @ 8DA3824 - .incbin "graphics/rayquaza_scene/clouds1.bin.lz" - - .align 2 -gRaySceneClouds2_Tilemap:: @ 8DA3988 - .incbin "graphics/rayquaza_scene/clouds2.bin.lz" - - .align 2 -gRaySceneClouds3_Tilemap:: @ 8DA3A88 - .incbin "graphics/rayquaza_scene/clouds3.bin.lz" - - .align 2 -gRaySceneSmoke_Gfx:: @ 8DA3BC0 - .incbin "graphics/rayquaza_scene/smoke.4bpp.lz" - - .align 2 -gRaySceneSmoke_Pal:: @ 8DA3C7C - .incbin "graphics/rayquaza_scene/smoke.gbapal.lz" - - .align 2 -gRaySceneRayquaza_Gfx:: @ 8DA3C94 - .incbin "graphics/rayquaza_scene/rayquaza.8bpp.lz" - - .align 2 -gRaySceneRayquaza_Pal:: @ 8DA4DA8 - .incbin "graphics/rayquaza_scene/rayquaza.gbapal.lz" - - .align 2 -gRaySceneRayquaza_Tilemap:: @ 8DA4DEC - .incbin "graphics/rayquaza_scene/rayquaza.bin.lz" - - .align 2 -gRaySceneOvercast_Gfx:: @ 8DA4F70 - .incbin "graphics/rayquaza_scene/overcast.4bpp.lz" @ uses pal 2 of gRaySceneRayquaza_Pal - - .align 2 -gRaySceneOvercast_Tilemap:: @ 8DA60B8 - .incbin "graphics/rayquaza_scene/overcast.bin.lz" - - .align 2 -gRaySceneRayquazaFly1_Gfx:: @ 8DA6440 - .incbin "graphics/rayquaza_scene/rayquaza_fly1.4bpp.lz" - - .align 2 -gRaySceneRayquazaTail_Gfx:: @ 8DA68AC - .incbin "graphics/rayquaza_scene/rayquaza_tail_fix.4bpp.lz" @ for some reason there are an extra 0xC bytes at the end of the original 4bpp, so in order to produce the correct lz, we have to cat the bytes at the end with a make rule. not sure why those bytes are there, it may have been a bug in Game Freak's software. - - .align 2 -gRaySceneOvercast2_Gfx:: @ 8DA69BC - .incbin "graphics/rayquaza_scene/overcast2.4bpp.lz" - - .align 2 -gRaySceneRayquazaLight_Gfx:: @ 8DA7528 - .incbin "graphics/rayquaza_scene/rayquaza_light.4bpp.lz" @ uses pal 2 of gRaySceneOvercast2_Pal - - .align 2 -gRaySceneOvercast2_Pal:: @ 8DA7744 - .incbin "graphics/rayquaza_scene/overcast2.gbapal.lz" - - .align 2 -gRaySceneOvercast2_Tilemap:: @ 8DA7784 - .incbin "graphics/rayquaza_scene/overcast2.bin.lz" - - .align 2 -gRaySceneRayquazaLight_Tilemap:: @ 8DA7AAC - .incbin "graphics/rayquaza_scene/rayquaza_light.bin.lz" - - .align 2 -gRaySceneChaseBg_Gfx:: @ 8DA7C30 - .incbin "graphics/rayquaza_scene/chase_bg.4bpp.lz" - - .align 2 -gRaySceneChaseBg_Tilemap:: @ 8DA7D6C - .incbin "graphics/rayquaza_scene/chase_bg.bin.lz" - - .align 2 -gRaySceneChaseStreaks_Gfx:: @ 8DA7EAC - .incbin "graphics/rayquaza_scene/chase_streaks.4bpp.lz" - - .align 2 -gRaySceneChaseStreaks_Tilemap:: @ 8DA7FB4 - .incbin "graphics/rayquaza_scene/chase_streaks.bin.lz" - - .align 2 -gRaySceneRayquazaChase_Gfx:: @ 8DA80BC - .incbin "graphics/rayquaza_scene/rayquaza_chase.4bpp.lz" - - .align 2 -gRayChaseRayquazaChase_Tilemap:: @ 8DA8B40 - .incbin "graphics/rayquaza_scene/rayquaza_chase.bin.lz" - - .align 2 -gRayChaseRayquazaChase2_Tilemap:: @ 8DA8D6C - .incbin "graphics/rayquaza_scene/rayquaza_chase2.bin.lz" - - .align 2 -gRaySceneChase_Pal:: @ 8DA8E84 - .incbin "graphics/rayquaza_scene/chase.gbapal.lz" - - .align 2 -gRaySceneGroudonLeft_Gfx:: @ 8DA8ED8 - .incbin "graphics/rayquaza_scene/groudon_left.4bpp.lz" - - .align 2 -gRaySceneGroudonTail_Gfx:: @ 8DA9670 - .incbin "graphics/rayquaza_scene/groudon_tail.4bpp.lz" - - .align 2 -gRaySceneKyogreRight_Gfx:: @ 8DA96B4 - .incbin "graphics/rayquaza_scene/kyogre_right.4bpp.lz" - - .align 2 -gRaySceneRayquazaHover_Gfx:: @ 8DA98FC - .incbin "graphics/rayquaza_scene/rayquaza_hover.4bpp.lz" - - .align 2 -gRaySceneRayquazaFlyIn_Gfx:: @ 8DAA5A4 - .incbin "graphics/rayquaza_scene/rayquaza_flyin.4bpp.lz" - - .align 2 -gRaySceneSplash_Gfx:: @ 8DAA794 - .incbin "graphics/rayquaza_scene/splash.4bpp.lz" - - .align 2 -gRaySceneGroudonLeft_Pal:: @ 8DAA82C - .incbin "graphics/rayquaza_scene/groudon_left.gbapal.lz" - - .align 2 -gRaySceneKyogreRight_Pal:: @ 8DAA854 - .incbin "graphics/rayquaza_scene/kyogre_right.gbapal.lz" - - .align 2 -gRaySceneRayquazaHover_Pal:: @ 8DAA87C - .incbin "graphics/rayquaza_scene/rayquaza_hover.gbapal.lz" - - .align 2 -gRaySceneSplash_Pal:: @ 8DAA8A4 - .incbin "graphics/rayquaza_scene/splash.gbapal.lz" - - .align 2 -gRaySceneHushBg_Gfx:: @ 8DAA8B4 - .incbin "graphics/rayquaza_scene/hush_bg.4bpp.lz" - - .align 2 -gRaySceneHushRing_Gfx:: @ 8DAAB24 - .incbin "graphics/rayquaza_scene/hush_ring.8bpp.lz" - - .align 2 -gRaySceneHushBg_Tilemap:: @ 8DAAC1C - .incbin "graphics/rayquaza_scene/hush_bg.bin.lz" - - .align 2 -gRaySceneHushRing_Tilemap:: @ 8DAAE54 - .incbin "graphics/rayquaza_scene/hush_ring.bin.lz" - - .align 2 -gRaySceneHushRing_Map:: @ 8DAAF98 - .incbin "graphics/rayquaza_scene/hush_ring_map.bin.lz" - - .align 2 -gRaySceneHushBg_Pal:: @ 8DAAFEC - .incbin "graphics/rayquaza_scene/hush_bg.gbapal.lz" - -@ 8DAB058 - .include "data/graphics/items/item_graphics.inc" - -@ 8DB7AA0 - .include "data/graphics/decorations/decoration_graphics.inc" - - .align 2 -gBattleAnimSpritePalette_282:: @ 8E7E7D0 - .incbin "graphics/battle_anims/sprites/282.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_282:: @ 8E7E7F8 - .incbin "graphics/battle_anims/sprites/282.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_270:: @ 8E7E9E0 - .incbin "graphics/battle_anims/sprites/270.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_270:: @ 8E7E9FC - .incbin "graphics/battle_anims/sprites/270.4bpp.lz" - - .align 2 -gBattleAnimSpritePalette_271:: @ 8E7EB24 - .incbin "graphics/battle_anims/sprites/271.gbapal.lz" - - .align 2 -gBattleAnimSpriteSheet_271:: @ 8E7EB3C - .incbin "graphics/battle_anims/sprites/271.4bpp.lz" - - .align 2 -gUnknown_08DBA518:: @ 8DBA518 - .incbin "graphics/misc/cable_car_bg.gbapal" - - .align 2 -gCableCar_Pal:: @ 8DBA598 - .incbin "graphics/misc/cable_car.gbapal" - - .align 2 -gUnknown_08DBA5B8:: @ 8DBA5B8 - .incbin "graphics/misc/cable_car_bg.4bpp.lz" - - .align 2 -gCableCar_Gfx:: @ 8DBBF90 - .incbin "graphics/misc/cable_car.4bpp.lz" - - .align 2 -gCableCarDoor_Gfx:: @ 8DBC290 - .incbin "graphics/misc/cable_car_door.4bpp.lz" - - .align 2 -gCableCarCord_Gfx:: @ 8DBC2C0 - .incbin "graphics/misc/cable_car_cord.4bpp.lz" - - .align 2 -gRouletteMenuTiles:: @ 8DBC2E8 - .incbin "graphics/roulette/window.4bpp.lz" - - .align 2 -gRouletteWheelTiles:: - .incbin "graphics/roulette/wheel.8bpp.lz" - - .align 2 -gRouletteCenter_Gfx:: - .incbin "graphics/roulette/center.4bpp.lz" - - .align 2 -gRouletteHeadersTiles:: @ 8E824BC - .incbin "graphics/roulette/headers.4bpp.lz" - - .align 2 -gRouletteCreditTiles:: @ 8E82AE0 - .incbin "graphics/roulette/credit.4bpp.lz" - - .align 2 -gRouletteNumbersTiles:: @ 8E82C30 - .incbin "graphics/roulette/numbers.4bpp.lz" - - .align 2 -gRouletteMultiplierTiles:: @ 8E82D14 - .incbin "graphics/roulette/multiplier.4bpp.lz" - - .align 2 -gMailPalette_Orange:: @ 0x08DBE818 - .incbin "graphics/mail/orange/palette.gbapal" - - .align 2 -gMailPalette_Harbor:: @ 0x08DBE838 - .incbin "graphics/mail/harbor/palette.gbapal" - - .align 2 -gMailPalette_Glitter:: @ 0x08DBE858 - .incbin "graphics/mail/glitter/palette.gbapal" - - .align 2 -gMailPalette_Mech:: @ 0x08DBE878 - .incbin "graphics/mail/mech/palette.gbapal" - - .align 2 -gMailPalette_Wood:: @ 0x08DBE898 - .incbin "graphics/mail/wood/palette.gbapal" - - .align 2 -gMailPalette_Wave:: @ 0x08DBE8B8 - .incbin "graphics/mail/wave/palette.gbapal" - - .align 2 -gMailPalette_Bead:: @ 0x08DBE8D8 - .incbin "graphics/mail/bead/palette.gbapal" - - .align 2 -gMailPalette_Shadow:: @ 0x08DBE8F8 - .incbin "graphics/mail/shadow/palette.gbapal" - - .align 2 -gMailPalette_Tropic:: @ 0x08DBE918 - .incbin "graphics/mail/tropic/palette.gbapal" - - .align 2 -gMailPalette_Dream:: @ 0x08DBE938 - .incbin "graphics/mail/dream/palette.gbapal" - - .align 2 -gMailPalette_Fab:: @ 0x08DBE958 - .incbin "graphics/mail/fab/palette.gbapal" - - .align 2 -gMailPalette_Retro:: @ 0x08DBE978 - .incbin "graphics/mail/retro/palette.gbapal" - - .align 2 -gMailTiles_Orange:: @ 0x08DBE998 - .incbin "graphics/mail/orange/tiles.4bpp.lz" - - .align 2 -gMailTiles_Harbor:: @ 0x08DBEB38 - .incbin "graphics/mail/harbor/tiles.4bpp.lz" - - .align 2 -gMailTiles_Glitter:: @ 0x08DBEC74 - .incbin "graphics/mail/glitter/tiles.4bpp.lz" - - .align 2 -gMailTiles_Mech:: @ 0x08DBEE84 - .incbin "graphics/mail/mech/tiles.4bpp.lz" - - .align 2 -gMailTiles_Wood:: @ 0x08DBEF5C - .incbin "graphics/mail/wood/tiles.4bpp.lz" - - .align 2 -gMailTiles_Wave:: @ 0x08DBF154 - .incbin "graphics/mail/wave/tiles.4bpp.lz" - - .align 2 -gMailTiles_Bead:: @ 0x08DBF2D4 - .incbin "graphics/mail/bead/tiles.4bpp.lz" - - .align 2 -gMailTiles_Shadow:: @ 0x08DBF37C - .incbin "graphics/mail/shadow/tiles.4bpp.lz" - - .align 2 -gMailTiles_Tropic:: @ 0x08DBF50C - .incbin "graphics/mail/tropic/tiles.4bpp.lz" - - .align 2 -gMailTiles_Dream:: @ 0x08DBF64C - .incbin "graphics/mail/dream/tiles.4bpp.lz" - - .align 2 -gMailTiles_Fab:: @ 0x08DBF7B4 - .incbin "graphics/mail/fab/tiles.4bpp.lz" - - .align 2 -gMailTiles_Retro:: @ 0x08DBF904 - .incbin "graphics/mail/retro/tiles.4bpp.lz" - - .align 2 -gMailTilemap_Orange:: @ 0x08DBFBA4 - .incbin "graphics/mail/orange/map.bin.lz" - - .align 2 -gMailTilemap_Harbor:: @ 0x08DBFC7C - .incbin "graphics/mail/harbor/map.bin.lz" - - .align 2 -gMailTilemap_Glitter:: @ 0x08DBFD5C - .incbin "graphics/mail/glitter/map.bin.lz" - - .align 2 -gMailTilemap_Mech:: @ 0x08DBFE68 - .incbin "graphics/mail/mech/map.bin.lz" - - .align 2 -gMailTilemap_Wood:: @ 0x08DBFF44 - .incbin "graphics/mail/wood/map.bin.lz" - - .align 2 -gMailTilemap_Wave:: @ 0x08DC0034 - .incbin "graphics/mail/wave/map.bin.lz" - - .align 2 -gMailTilemap_Bead:: @ 0x08DC0114 - .incbin "graphics/mail/bead/map.bin.lz" - - .align 2 -gMailTilemap_Shadow:: @ 0x08DC01F4 - .incbin "graphics/mail/shadow/map.bin.lz" - - .align 2 -gMailTilemap_Tropic:: @ 0x08DC0300 - .incbin "graphics/mail/tropic/map.bin.lz" - - .align 2 -gMailTilemap_Dream:: @ 0x08DC03F0 - .incbin "graphics/mail/dream/map.bin.lz" - - .align 2 -gMailTilemap_Fab:: @ 0x08DC04E8 - .incbin "graphics/mail/fab/map.bin.lz" - - .align 2 -gMailTilemap_Retro:: @ 0x08DC0600 - .incbin "graphics/mail/retro/map.bin.lz" - - .align 2 -gFrontierFactorySelectMenu_Pal:: @ 8DC0714 - .incbin "graphics/battle_frontier/factory_menu1.gbapal" - .incbin "graphics/battle_frontier/factory_menu2.gbapal" - - .align 2 -gFrontierFactorySelectMenu_Gfx:: @ 8DC0754 - .incbin "graphics/battle_frontier/factory_menu1.4bpp" - .incbin "graphics/battle_frontier/factory_menu2.4bpp" - - .align 2 -gFrontierFactorySelectMenu_Tilemap:: @ 8DC0B94 - .incbin "graphics/battle_frontier/factory_menu.bin" - - .align 2 -gFrontierPassMedals_Gfx:: @ 8DC1394 - .incbin "graphics/frontier_pass/medals.4bpp.lz" @ battle frontier medals - - .align 2 -gFrontierPassCursor_Pal:: @ 8DC1674 - .incbin "graphics/frontier_pass/cursor.gbapal" @ frontier pass cursor pal - - .align 2 -gFrontierPassMapCursor_Pal:: @ 8DC1694 - .incbin "graphics/frontier_pass/map_cursor.gbapal" @ frontier pass map cursor pal - - .align 2 -gFrontierPassMedalsSilver_Pal:: @ 8DC16B4 - .incbin "graphics/frontier_pass/silver.gbapal" - - .align 2 -gFrontierPassMedalsGold_Pal:: @ 8DC16D4 - .incbin "graphics/frontier_pass/gold.gbapal" - - .align 2 -gPokedexText_Pal:: @ 8DC16F4 - .incbin "graphics/pokedex/text.gbapal" - - .align 2 -gPokedexCaughtScreenFade_Pal:: @ 8DC1756 - .incbin "graphics/pokedex/fade.gbapal" - - .align 2 -gPokedexHoennBg_Pal:: @ 8DC17B6 - .incbin "graphics/pokedex/hoenn_bg.gbapal" - - .align 2 -gPokedexNationalBg_Pal:: @ 8DC1876 - .incbin "graphics/pokedex/national_bg.gbapal" - - .align 2 -gPokedexMenu_Gfx:: @ 8DC1934 - .incbin "graphics/pokedex/menu.4bpp.lz" - - .align 2 -gPokedexMenu2_Gfx:: @ 8DC234C - .incbin "graphics/pokedex/menu2.4bpp.lz" - - .align 2 - .incbin "graphics/pokedex/noball_unused.4bpp.lz" @ unused - - @ these are a series of 9 tilemaps used for something pokedex related. - - .align 2 -gUnknown_08DC2A08:: @ 8DC2A08 - .incbin "graphics/pokedex/tilemap1.bin.lz" - - .align 2 -gUnknown_08DC2B1C:: @ 8DC2B1C - .incbin "graphics/pokedex/tilemap2.bin.lz" - - .align 2 -gUnknown_08DC2C5C:: @ 8DC2C5C - .incbin "graphics/pokedex/tilemap3.bin.lz" - - .align 2 -gUnknown_08DC2DAC:: @ 8DC2DAC - .incbin "graphics/pokedex/tilemap4.bin.lz" - - .align 2 -gUnknown_08DC2E6C:: @ 8DC2E6C - .incbin "graphics/pokedex/tilemap5.bin.lz" - - .align 2 -gUnknown_08DC2F5C:: @ 8DC2F5C - .incbin "graphics/pokedex/tilemap6.bin.lz" - - .align 2 -gUnknown_08DC2FEC:: @ 8DC2FEC - .incbin "graphics/pokedex/tilemap7.bin.lz" - - .align 2 -gUnknown_08DC3080:: @ 8DC3080 - .incbin "graphics/pokedex/tilemap8.bin.lz" - - .align 2 -gUnknown_08DC3198:: @ 8DC3198 - .incbin "graphics/pokedex/tilemap9.bin.lz" @ all tilemaps - - .align 2 -gPokedexSearchMenu_Pal:: @ 8DC3284 - .incbin "graphics/pokedex/search_menu.gbapal" - - .align 2 -gPokedexSearchMenu_Gfx:: @ 8DC3304 - .incbin "graphics/pokedex/search_menu.4bpp.lz" - - .align 2 -gPokedexSearch1_Tilemap:: @ 8DC3870 - .incbin "graphics/pokedex/search1.bin.lz" - - .align 2 -gPokedexSearch2_Tilemap:: @ 8DC3A0C - .incbin "graphics/pokedex/search2.bin.lz" - - .align 2 -gSummaryScreenPowAcc_Tilemap:: @ 8DC3B94 - .incbin "graphics/interface/powacc_tilemap.bin" @ pow/acc tilemap - - .align 2 -gUnknown_08DC3C34:: @ 8DC3C34 - .incbin "graphics/interface/unk_tilemap.bin" @ probably trade summary screen related? cant check - - .align 2 -gSummaryScreenWindow_Tilemap:: @ 8DC3CD4 - .incbin "graphics/interface/summary.bin" - - .align 2 -gIntroCopyright_Pal:: @ 8DC3D54 - .incbin "graphics/intro/copyright.gbapal" - - .align 2 -gIntroCopyright_Gfx:: @ 8DC3D74 - .incbin "graphics/intro/copyright.4bpp.lz" - - .align 2 -gIntroCopyright_Tilemap:: @ 8DC3FD4 - .incbin "graphics/intro/copyright.bin.lz" - - .align 2 -gPokedexAreaScreenAreaUnknown_Pal:: @ 8DC4120 - .incbin "graphics/pokedex/area_unknown.gbapal" - - .align 2 -gPokedexAreaScreenAreaUnknown_Gfx:: @ 8DC4140 - .incbin "graphics/pokedex/area_unknown.4bpp.lz" - - @ seems to be fire red leftovers, but the menu elements is reused in the item menu for TM descriptions. - - .align 2 -gFireRedMenuElements1_Pal:: @ 8DC4318 - .incbin "graphics/interface_fr/menu1.gbapal" - - .align 2 -gFireRedMenuElements2_Pal:: @ 8DC4338 - .incbin "graphics/interface_fr/menu2.gbapal" - - .align 2 -gFireRedMenuElements3_Pal:: @ 8DC4358 - .incbin "graphics/interface_fr/menu3.gbapal" - - .align 2 -gFireRedMenuElements_Gfx:: @ 8DC4378 - .incbin "graphics/interface_fr/menu.4bpp" @ the types are reused for item menu - - .align 2 -gBagMenuHMIcon_Gfx:: @ 8DC6378 - .incbin "graphics/interface/hm.4bpp" - - @ contest link stuff, appears to be a set of tilemaps - - .align 2 -gUnknown_08DC63F8:: @ 8DC63F8 - .incbin "graphics/contest/clink_tilemap1.bin" - - .align 2 -gUnknown_08DC6420:: @ 8DC6420 - .incbin "graphics/contest/clink_tilemap2.bin" - - .align 2 -gUnknown_08DC6448:: @ 8DC6448 - .incbin "graphics/contest/clink_tilemap3.bin" - - .align 2 -gUnknown_08DC6470:: @ 8DC6470 - .incbin "graphics/contest/clink_tilemap4.bin" - - .align 2 -gUnknown_08DC6498:: @ 8DC6498 - .incbin "graphics/contest/clink_tilemap5.bin" - - .align 2 -gUnknown_08DC64AC:: @ 8DC64AC - .incbin "graphics/contest/clink_tilemap6.bin" - - .align 2 -gUnknown_08DC64C0:: @ 8DC64C0 - .incbin "graphics/contest/clink_tilemap7.bin" - - .align 2 -gUnknown_08DC64D4:: @ 8DC64D4 - .incbin "graphics/contest/clink_tilemap8.bin" - - .align 2 -gUnknown_08DC64E8:: @ 8DC64E8 - .incbin "graphics/contest/clink_tilemap9.bin" - - .align 2 -gUnknown_08DC64FC:: @ 8DC64FC - .incbin "graphics/contest/clink_tilemap10.bin" - - .align 2 -gUnknown_08DC6510:: @ 8DC6510 - .incbin "graphics/contest/clink_tilemap11.bin" - - @ pokenav - - .align 2 -gPokenavCondition_Pal:: @ 8DC6528 - .incbin "graphics/pokenav/condition.gbapal" - - .align 2 -gPokenavCondition_Gfx:: @ 8DC6548 - .incbin "graphics/pokenav/condition.4bpp.lz" - - .align 2 -gPokenavCondition_Tilemap:: @ 8DC6DFC - .incbin "graphics/pokenav/condition.bin.lz" - - .align 2 -gPokenavOptions_Tilemap:: @ 8DC7070 - .incbin "graphics/pokenav/options/options.bin" - - .align 2 -gPokenavOptions_Gfx:: - .incbin "graphics/pokenav/options/options.4bpp.lz" - - .align 2 -gPokenavOptions_Pal:: - .incbin "graphics/pokenav/options/options.gbapal" - - .align 2 -gPokenavHeader_Pal:: @ 8DC7B60 - .incbin "graphics/pokenav/header.gbapal" - - .align 2 -gPokenavHeader_Gfx:: @ 8DC7B80 - .incbin "graphics/pokenav/header.4bpp.lz" @ TODO: use width 9 and makefile rule for cleanliness, make wasnt behaving, didnt want to apply num_tiles to this - - .align 2 -gPokenavHeader_Tilemap:: @ 8DC7D84 - .incbin "graphics/pokenav/header.bin.lz" - - .align 2 -gPokenavLeftHeader_Pal:: @ 8DC7F00 - .incbin "graphics/pokenav/left_headers/palette.gbapal" - - .align 2 -gPokenavLeftHeaderBeauty_Gfx:: @ 8DC7FA0 - .incbin "graphics/pokenav/left_headers/beauty.4bpp.lz" - - .align 2 -gPokenavLeftHeaderSmart_Gfx:: @ 8DC80DC - .incbin "graphics/pokenav/left_headers/smart.4bpp.lz" - - .align 2 -gPokenavLeftHeaderCondition_Gfx:: @ 8DC8208 - .incbin "graphics/pokenav/left_headers/condition.4bpp.lz" - - .align 2 -gPokenavLeftHeaderCute_Gfx:: @ 8DC838C - .incbin "graphics/pokenav/left_headers/cute.4bpp.lz" - - .align 2 -gPokenavLeftHeaderMatchCall_Gfx:: @ 8DC84AC - .incbin "graphics/pokenav/left_headers/match_call.4bpp.lz" - - .align 2 -gPokenavLeftHeaderMainMenu_Gfx:: @ 8DC864C - .incbin "graphics/pokenav/left_headers/main_menu.4bpp.lz" - - .align 2 -gPokenavLeftHeaderHoennMap_Gfx:: @ 8DC87F8 - .incbin "graphics/pokenav/left_headers/hoenn_map.4bpp.lz" - - .align 2 -gPokenavLeftHeaderRibbons_Gfx:: @ 8DC8AA4 - .incbin "graphics/pokenav/left_headers/ribbons.4bpp.lz" - - .align 2 -gPokenavLeftHeaderSearch_Gfx:: @ 8DC8C14 - .incbin "graphics/pokenav/left_headers/search.4bpp.lz" - - .align 2 -gPokenavLeftHeaderTough_Gfx:: @ 8DC8D50 - .incbin "graphics/pokenav/left_headers/tough.4bpp.lz" - - .align 2 -gPokenavLeftHeaderCool_Gfx:: @ 8DC8E64 - .incbin "graphics/pokenav/left_headers/cool.4bpp.lz" - - .align 2 -gPokenavLeftHeaderParty_Gfx:: @ 8DC8F64 - .incbin "graphics/pokenav/left_headers/party.4bpp.lz" - - .align 2 -gPokenavMessageBox_Pal:: @ 8DC90C0 - .incbin "graphics/pokenav/message.gbapal" - - .align 2 -gPokenavMessageBox_Gfx:: @ 8DC90E0 - .incbin "graphics/pokenav/message.4bpp.lz" - - .align 2 -gPokenavMessageBox_Tilemap:: @ 8DC9130 - .incbin "graphics/pokenav/message.bin.lz" - - .align 2 -gHoennMapZoomIcons_Pal:: @ 8DC91E8 - .incbin "graphics/pokenav/zoom.gbapal" - - .align 2 -gHoennMapZoomIcons_Gfx:: @ 8DC9208 - .incbin "graphics/pokenav/zoom.4bpp.lz" - - .align 2 -gPokenavConditionCancel_Pal:: - .incbin "graphics/pokenav/cancel.gbapal" - - .align 2 -gPokenavConditionCancel_Gfx:: - .incbin "graphics/pokenav/cancel.4bpp" - - .align 2 -gPokenavConditionMarker_Pal:: @ 8DC9608 - .incbin "graphics/pokenav/marker.gbapal" - - .align 2 -gPokenavConditionMarker_Gfx:: @ 8DC9628 - .incbin "graphics/pokenav/marker.4bpp" - - .align 2 -gBerryBlenderMiscPalette:: @ 8DCAB88 - .incbin "graphics/berry_blender/misc.gbapal" - - .align 2 -gBerryBlenderArrowPalette:: @ 8DC9948 - .incbin "graphics/berry_blender/arrow.gbapal" - - .align 2 -gBerryBlenderBetaArrow_Gfx:: @ 8DC9988 - .incbin "graphics/berry_blender/arrow_old.4bpp" @ unused - - .align 2 -gBerryBlenderMarubatsuTiles:: @ 8DC9B88 - .incbin "graphics/berry_blender/marubatsu.4bpp" - - .align 2 -gBerryBlenderParticlesTiles:: @ 8E90818 - .incbin "graphics/berry_blender/particles.4bpp" - - .space 0x120 - - .align 2 -gBerryBlenderCountdownNumbersTiles:: @ 8DC9F88 - .incbin "graphics/berry_blender/countdown_numbers.4bpp" - - .align 2 -gBerryBlenderStartTiles:: @ 8DCA588 - .incbin "graphics/berry_blender/start.4bpp" - - .space 0x200 - - .align 2 -gBerryBlenderArrowTiles:: @ 8DCAB88 - .incbin "graphics/berry_blender/arrow.4bpp" - - .space 0x2C0 - - .align 2 -gEasyChatCursor_Pal:: @ 8DCB648 - .incbin "graphics/easy_chat/cursor.gbapal" - - .align 2 -gEasyChatCursor_Gfx:: @ 8DCB668 - .incbin "graphics/easy_chat/cursor.4bpp.lz" - - .align 2 -gEasyChatRightWindow_Pal:: @ 8DCB86C - .incbin "graphics/easy_chat/rwindow.gbapal" - - .align 2 -gEasyChatRightWindow_Gfx:: @ 8DCB88C - .incbin "graphics/easy_chat/rwindow.4bpp.lz" - - .align 2 -gEasyChatMode_Gfx:: @ 8DCBAB0 - .incbin "graphics/easy_chat/mode.4bpp.lz" - - .align 2 -gEasyChatMode_Pal:: @ 8DCBDB0 - .incbin "graphics/easy_chat/mode.gbapal" - - .align 2 -gEasyChatWindow_Gfx:: @ 8DCBDD0 - .incbin "graphics/easy_chat/window.4bpp.lz" @ uses mode pal - - .align 2 -gEasyChatWindow_Tilemap:: @ 8DCBF10 - .incbin "graphics/easy_chat/window.bin.lz" - - .align 2 -gWallclockMale_Pal:: @ 8DCC01C - .incbin "graphics/interface/wallclock_male.gbapal" - - .align 2 -gWallclockFemale_Pal:: @ 8DCC03C - .incbin "graphics/interface/wallclock_female.gbapal" - - .align 2 -gWallclock_Gfx:: @ 8DCC05C - .incbin "graphics/interface/wallclock.4bpp.lz" - - .align 2 -gUnknown_08DCC648:: @ 8DCC648 - .incbin "graphics/interface/wallclock1.bin.lz" - - .align 2 -gUnknown_08DCC908:: @ 8DCC908 - .incbin "graphics/interface/wallclock2.bin.lz" - - .align 2 -gUsePokeblockCondition_Pal:: @ 8DCCB98 - .incbin "graphics/pokeblock/use_screen/condition.gbapal" - - .align 2 -gUsePokeblockCondition_Gfx:: @ 8DCCBB8 - .incbin "graphics/pokeblock/use_screen/condition.4bpp.lz" - - .align 2 -gUsePokeblockUpDown_Pal:: @ 8DCCD3C - .incbin "graphics/pokeblock/use_screen/updown.gbapal" - - .align 2 -gUsePokeblockUpDown_Gfx:: @ 8DCCD5C - .incbin "graphics/pokeblock/use_screen/updown.4bpp" - - .align 2 -gUsePokeblockGraph_Pal:: @ 8DCCF5C - .incbin "graphics/pokeblock/use_screen/graph.gbapal" - - .align 2 -gUsePokeblockGraph_Gfx:: @ 8DCCF7C - .incbin "graphics/pokeblock/use_screen/graph.4bpp.lz" - - .align 2 -gUsePokeblockGraph_Tilemap:: @ 8DCD81C - .incbin "graphics/pokeblock/use_screen/graph.bin.lz" - - .align 2 -gUsePokeblockNatureWin_Pal:: @ 8DCDA30 - .incbin "graphics/pokeblock/use_screen/nature.gbapal" - - @ slot machine - - .align 2 -gSlotMachineMenu_Pal:: @ 8DCDA90 - .incbin "graphics/slot_machine/menu.gbapal" - - .align 2 -gSlotMachineMenu_Gfx:: @ 8DCDB30 - .incbin "graphics/slot_machine/menu.4bpp.lz" - - .align 2 -gSlotMachineMenu_Tilemap:: @ 8DCE770 - .incbin "graphics/slot_machine/menu.bin" - - .align 2 -gUnknown_08DCEC70:: @ 8DCEC70 - .incbin "graphics/slot_machine/slots_layout.bin" - - .align 2 -gUnknown_08DCF170:: - .incbin "graphics/slot_machine/reel_symbols/1.gbapal" - - .align 2 -gUnknown_08DCF190:: - .incbin "graphics/slot_machine/reel_pikachu.gbapal" - - .align 2 -gUnknown_08DCF1B0:: - .incbin "graphics/slot_machine/shadow.gbapal" - - .align 2 -gSlotMachineReelTime_Pal:: - .incbin "graphics/slot_machine/reel_time.gbapal" - - .align 2 -gUnknown_08DCF1F0:: - .incbin "graphics/slot_machine/smoke.gbapal" @ also duck and pika aura - - .align 2 -gUnknown_08DCF210:: - .incbin "graphics/slot_machine/reel_time_explosion/0.gbapal" - - .align 2 -gUnknown_08DCF230:: - .incbin "graphics/slot_machine/spr6.gbapal" @ huh? - - .align 2 -gSlotMachineReelSymbol1Tiles:: @ 8DCF250 - .incbin "graphics/slot_machine/reel_symbols/1.4bpp" - - .align 2 -gSlotMachineReelSymbol2Tiles:: - .incbin "graphics/slot_machine/reel_symbols/2.4bpp" - - .align 2 -gSlotMachineReelSymbol3Tiles:: - .incbin "graphics/slot_machine/reel_symbols/3.4bpp" - - .align 2 -gSlotMachineReelSymbol4Tiles:: - .incbin "graphics/slot_machine/reel_symbols/4.4bpp" - - .align 2 -gSlotMachineReelSymbol5Tiles:: - .incbin "graphics/slot_machine/reel_symbols/5.4bpp" - - .align 2 -gSlotMachineReelSymbol6Tiles:: - .incbin "graphics/slot_machine/reel_symbols/6.4bpp" - - .align 2 -gSlotMachineReelSymbol7Tiles:: - .incbin "graphics/slot_machine/reel_symbols/7.4bpp" - - .align 2 -gSlotMachineReelTime_Gfx:: @ 8DD0050 - .incbin "graphics/slot_machine/reel_time.4bpp.lz" - - .align 2 -gSlotMachineNumber0Tiles:: - .incbin "graphics/slot_machine/numbers/0.4bpp" - - .align 2 -gSlotMachineNumber1Tiles:: - .incbin "graphics/slot_machine/numbers/1.4bpp" - - .align 2 -gSlotMachineNumber2Tiles:: - .incbin "graphics/slot_machine/numbers/2.4bpp" - - .align 2 -gSlotMachineNumber3Tiles:: - .incbin "graphics/slot_machine/numbers/3.4bpp" - - .align 2 -gSlotMachineNumber4Tiles:: - .incbin "graphics/slot_machine/numbers/4.4bpp" - - .align 2 -gSlotMachineNumber5Tiles:: - .incbin "graphics/slot_machine/numbers/5.4bpp" - - .align 2 -gSlotMachineNumber6Tiles:: - .incbin "graphics/slot_machine/numbers/6.4bpp" - - .align 2 -gSlotMachineNumber7Tiles:: - .incbin "graphics/slot_machine/numbers/7.4bpp" - - .align 2 -gSlotMachineNumber8Tiles:: - .incbin "graphics/slot_machine/numbers/8.4bpp" - - .align 2 -gSlotMachineNumber9Tiles:: - .incbin "graphics/slot_machine/numbers/9.4bpp" - - .align 2 -gSlotMachineReelTimeBolt:: - .incbin "graphics/slot_machine/bolt.4bpp" - - .align 2 -gSlotMachineReelTimeDuck:: - .incbin "graphics/slot_machine/duck.4bpp" - - .align 2 -gSlotMachineReelTimeSmoke:: - .incbin "graphics/slot_machine/smoke.4bpp" - - .align 2 -gSlotMachineReelTimeNumber0:: - .incbin "graphics/slot_machine/reel_time_numbers/0.4bpp" - - .align 2 -gSlotMachineReelTimeNumber1:: - .incbin "graphics/slot_machine/reel_time_numbers/1.4bpp" - - .align 2 -gSlotMachineReelTimeNumber2:: - .incbin "graphics/slot_machine/reel_time_numbers/2.4bpp" - - .align 2 -gSlotMachineReelTimeNumber3:: - .incbin "graphics/slot_machine/reel_time_numbers/3.4bpp" - - .align 2 -gSlotMachineReelTimeNumber4:: - .incbin "graphics/slot_machine/reel_time_numbers/4.4bpp" - - .align 2 -gSlotMachineReelTimeNumber5:: - .incbin "graphics/slot_machine/reel_time_numbers/5.4bpp" - - .align 2 -gSlotMachineReelTimeLargeBolt0:: - .incbin "graphics/slot_machine/large_bolt/0.4bpp" - - .align 2 -gSlotMachineReelTimeLargeBolt1:: - .incbin "graphics/slot_machine/large_bolt/1.4bpp" - - .align 2 -gSlotMachineReelTimeExplosion0:: - .incbin "graphics/slot_machine/reel_time_explosion/0.4bpp" - - .align 2 -gSlotMachineReelTimeExplosion1:: - .incbin "graphics/slot_machine/reel_time_explosion/1.4bpp" - - .align 2 -gSlotMachineReelTimeShadow:: - .incbin "graphics/slot_machine/shadow.4bpp" - - .align 2 -gSlotMachineReelTimePikaAura:: - .incbin "graphics/slot_machine/pika_aura.4bpp" - - .align 2 -gUnknown_08DD19F8:: - .incbin "graphics/unknown/unknown_DD19F8.bin" @ might be a palette? - - .align 2 -gUnknown_08DD1A18:: - .incbin "graphics/unknown/unknown_DD1A18.4bpp" - - @ trainer card - - .align 2 -gEmeraldTrainerCard0Star_Pal:: @ 8DD1A58 - .incbin "graphics/trainer_card/0star.gbapal" - - .align 2 -gEmeraldTrainerCard_Gfx:: @ 8DD1AB8 - .incbin "graphics/trainer_card/card.4bpp.lz" - - @ what are these? lz compressed files used for something, cant tell if tilemaps - - .align 2 -gUnknown_08DD1F78:: @ 8DD1F78 - .incbin "graphics/unknown/unknown_DD1F78.bin.lz" - - .align 2 -gUnknown_08DD2010:: @ 8DD2010 - .incbin "graphics/unknown/unknown_DD2010.bin.lz" - - .align 2 -gUnknown_08DD21B0:: @ 8DD21B0 - .incbin "graphics/unknown/unknown_DD21B0.bin.lz" - - .align 2 -gUnknown_08DD228C:: @ 8DD228C - .incbin "graphics/unknown/unknown_DD228C.bin.lz" - - .align 2 -gFireRedTrainerCard0Star_Pal:: @ 8DD240C - .incbin "graphics/trainer_card/0star_fr.gbapal" - - .align 2 -gFireRedTrainerCard_Gfx:: @ 8DD246C - .incbin "graphics/trainer_card/card_fr.4bpp.lz" - - @ more of these weird compressed files, probably for the FR trainer card - - .align 2 -gUnknown_08DD2AE0:: @ 8DD2AE0 - .incbin "graphics/unknown/unknown_DD2AE0.bin.lz" - - .align 2 -gUnknown_08DD2B78:: @ 8DD2B78 - .incbin "graphics/unknown/unknown_DD2B78.bin.lz" - - .align 2 -gUnknown_08DD2D30:: @ 8DD2D30 - .incbin "graphics/unknown/unknown_DD2D30.bin.lz" - - .align 2 -gUnknown_08DD2E5C:: @ 8DD2E5C - .incbin "graphics/unknown/unknown_DD2E5C.bin.lz" - - @ pokemon storage system - - .align 2 -gPSSMenu_Gfx:: @ 8DD2FE8 - .incbin "graphics/pokemon_storage/menu.4bpp.lz" - - .align 2 -gPSSMenu_Pal:: @ 8DD36A8 - .incbin "graphics/pokemon_storage/menu.gbapal" @ pal for the options in the gfx - - .align 2 -gUnknown_08DD36C8:: @ 8DD36C8 - .incbin "graphics/unknown/unknown_DD36C8.bin.lz" - - @ naming screen - - .align 2 -gNamingScreenMenu_Pal:: @ 8DD3778 - .incbin "graphics/naming_screen/menu.gbapal" - - .align 2 -gNamingScreenMenu_Gfx:: @ 8DD3838 - .incbin "graphics/naming_screen/menu.4bpp.lz" - - .align 2 -gNamingScreenRWindow_Gfx:: @ 8DD3A04 - .incbin "graphics/naming_screen/rwindow.4bpp" - - .align 2 -gNamingScreenROptions_Gfx:: @ 8DD4044 - .incbin "graphics/naming_screen/roptions.4bpp" - - .align 2 -gNamingScreenCursor_Gfx:: @ 8DD4224 - .incbin "graphics/naming_screen/cursor.4bpp" - - .align 2 -gNamingScreenKeyboardButton_Gfx:: @ 8DD43E4 - .incbin "graphics/naming_screen/keyboard_button.4bpp" - - .align 2 -gNamingScreenRightPointingTriangleTiles:: @ 8DD4504 - .incbin "graphics/naming_screen/right_pointing_triangle.4bpp" - - .align 2 -gNamingScreenUnderscoreTiles:: @ 8DD4524 - .incbin "graphics/naming_screen/underscore.4bpp" - - .align 2 -gUnknown_08DD4544:: @ 8DD4544 - .incbin "graphics/unknown/unknown_DD4544.bin.lz" - - .align 2 -gUnknown_08DD4620:: @ 8DD4620 - .incbin "graphics/unknown/unknown_DD4620.bin.lz" - - .align 2 -gUnknown_08DD46E0:: @ 8DD46E0 - .incbin "graphics/unknown/unknown_DD46E0.bin.lz" - - .align 2 -gUnknown_08DD47A0:: @ 8DD47A0 - .incbin "graphics/unknown/unknown_DD47A0.bin.lz" - - @ link - - .align 2 -gLinkMiscMenu_Pal:: @ 8DD4860 - .incbin "graphics/link/misc.gbapal" - - .align 2 -gLinkMiscMenu_Gfx:: @ 8DD4880 - .incbin "graphics/link/misc.4bpp.lz" @ dont know where this is used - - .align 2 -gLinkMiscMenu_Tilemap:: @ 8DD4AB8 - .incbin "graphics/link/misc.bin.lz" - - .align 2 -gUnknown_08DD4BB0:: @ 8DD4BB0 - .incbin "graphics/link/link1.gbapal" - - .align 2 -gUnknown_08DD4BD0:: @ 8DD4BD0 - .incbin "graphics/link/link2.gbapal" - - .align 2 -gUnknown_08DD4BF0:: @ 8DD4BF0 - .incbin "graphics/link/link_winedge.4bpp.lz" - - .align 2 -gUnknown_08DD4C4C:: @ 8DD4C4C - .incbin "graphics/link/link_winedge.bin.lz" - - .align 2 -gUnknown_08DD4CF8:: @ 8DD4CF8 - .incbin "graphics/interface/unk_change_case.4bpp.lz" - - .align 2 -gTilesetPalettes_General:: @ 8DD4E10 - .incbin "data/tilesets/primary/general/palettes/00.gbapal" - .incbin "data/tilesets/primary/general/palettes/01.gbapal" - .incbin "data/tilesets/primary/general/palettes/02.gbapal" - .incbin "data/tilesets/primary/general/palettes/03.gbapal" - .incbin "data/tilesets/primary/general/palettes/04.gbapal" - .incbin "data/tilesets/primary/general/palettes/05.gbapal" - .incbin "data/tilesets/primary/general/palettes/06.gbapal" - .incbin "data/tilesets/primary/general/palettes/07.gbapal" - .incbin "data/tilesets/primary/general/palettes/08.gbapal" - .incbin "data/tilesets/primary/general/palettes/09.gbapal" - .incbin "data/tilesets/primary/general/palettes/10.gbapal" - .incbin "data/tilesets/primary/general/palettes/11.gbapal" - .incbin "data/tilesets/primary/general/palettes/12.gbapal" - .incbin "data/tilesets/primary/general/palettes/13.gbapal" - .incbin "data/tilesets/primary/general/palettes/14.gbapal" - .incbin "data/tilesets/primary/general/palettes/15.gbapal" - - .align 2 -gTilesetTiles_General:: @ 8DD5010 - .incbin "data/tilesets/primary/general/tiles.4bpp.lz" - - @ trade/egg hatch - - .align 2 -gTradeGba_Pal:: @ 8DD72E0 - .incbin "graphics/link/gba.gbapal" - - .align 2 -gTradeGba2_Pal:: @ 8DD7300 - .incbin "graphics/link/gba_pal2.gbapal" @ used for in-game trade GBA? - - .align 2 -gTradeGba_Gfx:: @ 8DD7360 - .incbin "graphics/link/gba.4bpp" - - @ 8DD8760 - .space 0x20 @ blank palette?? - - @ berry fix program - - .align 2 -gBerryFixGameboy_Pal:: @ 8DD8780 - .incbin "graphics/berry_fix/gba_small.gbapal" - - .align 2 -gBerryFixGameboy_Gfx:: @ 8DD87C0 - .incbin "graphics/berry_fix/gba_small.4bpp.lz" - - .align 2 -gBerryFixGameboy_Tilemap:: @ 8DD8EE0 - .incbin "graphics/berry_fix/gba_small.bin.lz" - - .align 2 -gBerryFixGameboyLogo_Pal:: @ 8DD9080 - .incbin "graphics/berry_fix/logo.gbapal" - - .align 2 -gBerryFixGameboyLogo_Gfx:: @ 8DD90E0 - .incbin "graphics/berry_fix/logo.4bpp.lz" - - .align 2 -gBerryFixGameboyLogo_Tilemap:: @ 8DD9718 - .incbin "graphics/berry_fix/logo.bin.lz" - - .align 2 -gBerryFixGbaTransfer_Pal:: @ 8DD9874 - .incbin "graphics/berry_fix/gba_transfer.gbapal" - - .align 2 -gBerryFixGbaTransfer_Gfx:: @ 8DD98B4 - .incbin "graphics/berry_fix/gba_transfer.4bpp.lz" - - .align 2 -gBerryFixGbaTransfer_Tilemap:: @ 8DD9E58 - .incbin "graphics/berry_fix/gba_transfer.bin.lz" - - .align 2 -gBerryFixGbaTransferHighlight_Pal:: @ 8DD9FEC - .incbin "graphics/berry_fix/gba_transfer_highlight.gbapal" - - .align 2 -gBerryFixGbaTransferHighlight_Gfx:: @ 8DDA02C - .incbin "graphics/berry_fix/gba_transfer_highlight.4bpp.lz" - - .align 2 -gBerryFixGbaTransferHighlight_Tilemap:: @ 8DDA63C - .incbin "graphics/berry_fix/gba_transfer_highlight.bin.lz" - - .align 2 -gBerryFixGbaTransferError_Pal:: @ 8DDA800 - .incbin "graphics/berry_fix/gba_transfer_error.gbapal" - - .align 2 -gBerryFixGbaTransferError_Gfx:: @ 8DDA840 - .incbin "graphics/berry_fix/gba_transfer_error.4bpp.lz" - - .align 2 -gBerryFixGbaTransferError_Tilemap:: @ 8DDAE40 - .incbin "graphics/berry_fix/gba_transfer_error.bin.lz" - - .align 2 -gBerryFixWindow_Pal:: @ 8DDAFE0 - .incbin "graphics/berry_fix/window.gbapal" - - .align 2 -gBerryFixWindow_Gfx:: @ 8DDB020 - .incbin "graphics/berry_fix/window.4bpp.lz" @ why the absurd length? - - .align 2 -gBerryFixWindow_Tilemap:: @ 8DDB2C4 - .incbin "graphics/berry_fix/window.bin.lz" - - @ more trade stuff? - - .align 2 -gUnknown_08DDB3E4:: @ 8DDB3E4 - .incbin "graphics/trade/menu.gbapal" - - .align 2 -gUnknown_08DDB444:: @ 8DDB444 - .incbin "graphics/unknown/unknown_DDB444.gbapal" - - .align 2 -gUnknown_08DDB464:: @ 8DDB464 - .incbin "graphics/trade/menu.4bpp" - - .align 2 -gUnknown_08DDC6E4:: @ 8DDC6E4 - .incbin "graphics/trade/buttons.4bpp" - - .align 2 - .incbin "graphics/unused/unused_DDCEE4.bin" @ unused - - .align 2 -gUnknown_08DDCF04:: @ 8DDCF04 - .incbin "graphics/unknown/unknown_DDCF04.bin" @ tilemap - - .align 2 -gUnknown_08DDD704:: @ 8DDD704 - .incbin "graphics/unknown/unknown_DDD704.bin" @ textbox tilemap?? - - .align 2 -gMessageBox_Pal:: @ 8DDD728 - .incbin "graphics/text_window/message_box.gbapal" - - .align 2 -gMessageBox_Gfx:: @ 8DDD748 - .incbin "graphics/text_window/message_box.4bpp" - - .align 2 -gWallpaperIcon_Cross:: - .incbin "graphics/pokemon_storage/cross_icon.4bpp.lz" - - .align 2 -gWallpaperIcon_Bolt:: - .incbin "graphics/pokemon_storage/bolt_icon.4bpp.lz" - - .align 2 -gWallpaperIcon_Plusle:: - .incbin "graphics/pokemon_storage/plusle_icon.4bpp.lz" - - .align 2 -gWallpaperPalettes_Horizontal:: @ 8DDD950 - .incbin "graphics/pokemon_storage/friends_frame2.gbapal" - .incbin "graphics/pokemon_storage/horizontal_bg.gbapal" - - .align 2 -gWallpaperTiles_Horizontal:: @ 8DDD990 - .incbin "graphics/pokemon_storage/horizontal.4bpp.lz" - - .align 2 -gWallpaperTilemap_Horizontal:: @ 8DDDB80 - .incbin "graphics/pokemon_storage/horizontal.bin.lz" - - .align 2 -gWallpaperPalettes_Ribbon:: @ 8DDDC8C - .incbin "graphics/pokemon_storage/ribbon_frame.gbapal" - .incbin "graphics/pokemon_storage/ribbon_bg.gbapal" - - .align 2 -gWallpaperTiles_Ribbon:: @ 8DDDCCC - .incbin "graphics/pokemon_storage/ribbon.4bpp.lz" - - .align 2 -gWallpaperTilemap_Ribbon:: @ 8DDDEDC - .incbin "graphics/pokemon_storage/ribbon.bin.lz" - - @ pokenav - - .align 2 -gUnknown_08DDE010:: @ 8DDE010 - .incbin "graphics/pokenav/ribbons.gbapal" - - .align 2 -gUnknown_08DDE030:: @ 8DDE030 - .incbin "graphics/pokenav/ribbons.4bpp.lz" - - .align 2 -gUnknown_08DDE12C:: @ 8DDE12C - .incbin "graphics/pokenav/ribbons.bin.lz" - - .align 2 -gMonIconPalettes:: @ 8DDE1F8 - .incbin "graphics/pokemon/icon_palettes/icon_palette_0.gbapal" - .incbin "graphics/pokemon/icon_palettes/icon_palette_1.gbapal" - .incbin "graphics/pokemon/icon_palettes/icon_palette_2.gbapal" - - .align 2 -gTitleScreenBgPalettes:: @ 8DDE258 - .incbin "graphics/title_screen/pokemon_logo.gbapal" - .incbin "graphics/title_screen/rayquaza_and_clouds.gbapal" - - .align 2 -gTitleScreenEmeraldVersionPal:: @ 8DDE438 - .incbin "graphics/title_screen/emerald_version.gbapal" - - .align 2 -gUnknown_08DDE458:: @ 8DDE458 - .incbin "graphics/title_screen/title_screen1.bin.lz" - -gTitleScreenPokemonLogoGfx:: @ 8DDE690 - .incbin "graphics/title_screen/pokemon_logo.8bpp.lz" - - .align 2 -gTitleScreenEmeraldVersionGfx:: @ 8DDFD94 - .incbin "graphics/title_screen/emerald_version.8bpp.lz" - - .align 2 -gTitleScreenPressStartPal:: @ 8DE03C8 - .incbin "graphics/title_screen/press_start.gbapal" - - .align 2 -gTitleScreenPressStartGfx:: @ 8DE03E8 - .incbin "graphics/title_screen/press_start.4bpp.lz" - - .align 2 -gUnknown_08DE0644:: @ 8DE0644 - .incbin "graphics/title_screen/title_screen2.bin.lz" - - @ more trainer card stuff - - .align 2 -gUnknown_08DE07C8:: @ 8DE07C8 - .incbin "graphics/frontier_pass/tiles.gbapal" @ size in LoadPalette calls is reported as 0xD0 << 1, which is 0x1A0, but palette is only 0x100 bytes long so it loads garbage as well - - .align 2 -gUnknown_08DE08C8:: @ 8DE08C8 - .incbin "graphics/frontier_pass/tiles.4bpp.lz" - - .align 2 -gUnknown_08DE2084:: @ 8DE2084 - .incbin "graphics/frontier_pass/tiles2.8bpp.lz" - - .align 2 -gUnknown_08DE3060:: @ 8DE3060 - .incbin "graphics/frontier_pass/tiles.bin.lz" - - .align 2 -gUnknown_08DE3350:: @ 8DE3350 - .incbin "graphics/frontier_pass/tilemap1.bin" - - .align 2 -gUnknown_08DE3374:: @ 8DE3374 - .incbin "graphics/frontier_pass/tilemap2.bin" - - @ berry crusher - - .align 2 -gUnknown_08DE3398:: @ 8DE3398 - .incbin "graphics/berry_crusher/tiles.gbapal" - - .align 2 -gUnknown_08DE34B8:: @ 8DE34B8 - .incbin "graphics/berry_crusher/tiles.4bpp.lz" - - .align 2 -gUnknown_08DE3FD4:: @ 8DE3FD4 - .incbin "graphics/berry_crusher/tiles.bin.lz" - @ random garbage at the end. why, game freak? .space 0x54BAC .byte 0x0D, 0x00, 0x58, 0x02 @ why? diff --git a/data/graphics/berries/berry_graphics.inc b/data/graphics/berries/berry_graphics.inc deleted file mode 100644 index 358cc8fc1a..0000000000 --- a/data/graphics/berries/berry_graphics.inc +++ /dev/null @@ -1,343 +0,0 @@ - .align 2 -gBerryPic_Cheri:: @ 8D9C3A8 - .incbin "graphics/berries/cheri.4bpp.lz" - - .align 2 -gBerryPic_Oran:: @ 8D9C4FC - .incbin "graphics/berries/oran.4bpp.lz" - - .align 2 -gBerryPic_Pecha:: @ 8D9C670 - .incbin "graphics/berries/pecha.4bpp.lz" - - .align 2 -gBerryPic_Rawst:: @ 8D9C7E4 - .incbin "graphics/berries/rawst.4bpp.lz" - - .align 2 -gBerryPic_Aspear:: @ 8D9C97C - .incbin "graphics/berries/aspear.4bpp.lz" - - .align 2 -gBerryPic_Leppa:: @ 8D9CB24 - .incbin "graphics/berries/leppa.4bpp.lz" - - .align 2 -gBerryPic_Chesto:: @ 8D9CC94 - .incbin "graphics/berries/chesto.4bpp.lz" - - .align 2 -gBerryPic_Persim:: @ 8D9CE78 - .incbin "graphics/berries/persim.4bpp.lz" - - .align 2 -gBerryPic_Lum:: @ 8D9CFC8 - .incbin "graphics/berries/lum.4bpp.lz" - - .align 2 -gBerryPic_Sitrus:: @ 8D9D0E4 - .incbin "graphics/berries/sitrus.4bpp.lz" - - .align 2 -gBerryPic_Figy:: @ 8D9D288 - .incbin "graphics/berries/figy.4bpp.lz" - - .align 2 -gBerryPic_Wiki:: @ 8D9D434 - .incbin "graphics/berries/wiki.4bpp.lz" - - .align 2 -gBerryPic_Mago:: @ 8D9D628 - .incbin "graphics/berries/mago.4bpp.lz" - - .align 2 -gBerryPic_Aguav:: @ 8D9D7DC - .incbin "graphics/berries/aguav.4bpp.lz" - - .align 2 -gBerryPic_Iapapa:: @ 8D9D950 - .incbin "graphics/berries/iapapa.4bpp.lz" - - .align 2 -gBerryPic_Razz:: @ 8D9DC08 - .incbin "graphics/berries/razz.4bpp.lz" - - .align 2 -gBerryPic_Bluk:: @ 8D9DE38 - .incbin "graphics/berries/bluk.4bpp.lz" - - .align 2 -gBerryPic_Nanab:: @ 8D9E020 - .incbin "graphics/berries/nanab.4bpp.lz" - - .align 2 -gBerryPic_Wepear:: @ 8D9E194 - .incbin "graphics/berries/wepear.4bpp.lz" - - .align 2 -gBerryPic_Pinap:: @ 8D9E35C - .incbin "graphics/berries/pinap.4bpp.lz" - - .align 2 -gBerryPic_Pomeg:: @ 8D9E570 - .incbin "graphics/berries/pomeg.4bpp.lz" - - .align 2 -gBerryPic_Kelpsy:: @ 8D9E718 - .incbin "graphics/berries/kelpsy.4bpp.lz" - - .align 2 -gBerryPic_Qualot:: @ 8D9E8C0 - .incbin "graphics/berries/qualot.4bpp.lz" - - .align 2 -gBerryPic_Hondew:: @ 8D9EA8C - .incbin "graphics/berries/hondew.4bpp.lz" - - .align 2 -gBerryPic_Grepa:: @ 8D9ECE4 - .incbin "graphics/berries/grepa.4bpp.lz" - - .align 2 -gBerryPic_Tamato:: @ 8D9EE74 - .incbin "graphics/berries/tamato.4bpp.lz" - - .align 2 -gBerryPic_Cornn:: @ 8D9F138 - .incbin "graphics/berries/cornn.4bpp.lz" - - .align 2 -gBerryPic_Magost:: @ 8D9F33C - .incbin "graphics/berries/magost.4bpp.lz" - - .align 2 -gBerryPic_Rabuta:: @ 8D9F4E0 - .incbin "graphics/berries/rabuta.4bpp.lz" - - .align 2 -gBerryPic_Nomel:: @ 8D9F7D4 - .incbin "graphics/berries/nomel.4bpp.lz" - - .align 2 -gBerryPic_Spelon:: @ 8D9F9B0 - .incbin "graphics/berries/spelon.4bpp.lz" - - .align 2 -gBerryPic_Pamtre:: @ 8D9FBA0 - .incbin "graphics/berries/pamtre.4bpp.lz" - - .align 2 -gBerryPic_Watmel:: @ 8D9FDF0 - .incbin "graphics/berries/watmel.4bpp.lz" - - .align 2 -gBerryPic_Durin:: @ 8DA00D4 - .incbin "graphics/berries/durin.4bpp.lz" - - .align 2 -gBerryPic_Belue:: @ 8DA04A0 - .incbin "graphics/berries/belue.4bpp.lz" - - .align 2 -gBerryPic_Liechi:: @ 8DA0778 - .incbin "graphics/berries/liechi.4bpp.lz" - - .align 2 -gBerryPic_Ganlon:: @ 8DA09D0 - .incbin "graphics/berries/ganlon.4bpp.lz" - - .align 2 -gBerryPic_Salac:: @ 8DA0B68 - .incbin "graphics/berries/salac.4bpp.lz" - - .align 2 -gBerryPic_Petaya:: @ 8DA0DAC - .incbin "graphics/berries/petaya.4bpp.lz" - - .align 2 -gBerryPic_Apicot:: @ 8DA1054 - .incbin "graphics/berries/apicot.4bpp.lz" - - .align 2 -gBerryPic_Lansat:: @ 8DA11E4 - .incbin "graphics/berries/lansat.4bpp.lz" - - .align 2 -gBerryPic_Starf:: @ 8DA13D8 - .incbin "graphics/berries/starf.4bpp.lz" - - .align 2 -gBerryPic_Enigma:: @ 8DA15A8 - .incbin "graphics/berries/enigma.4bpp.lz" - - .align 2 -gBerryPalette_Cheri:: @ 8DA17C0 - .incbin "graphics/berries/cheri.gbapal.lz" - - .align 2 -gBerryPalette_Oran:: @ 8DA17E8 - .incbin "graphics/berries/oran.gbapal.lz" - - .align 2 -gBerryPalette_Pecha:: @ 8DA1810 - .incbin "graphics/berries/pecha.gbapal.lz" - - .align 2 -gBerryPalette_Rawst:: @ 8DA1838 - .incbin "graphics/berries/rawst.gbapal.lz" - - .align 2 -gBerryPalette_Aspear:: @ 8DA1860 - .incbin "graphics/berries/aspear.gbapal.lz" - - .align 2 -gBerryPalette_Leppa:: @ 8DA1888 - .incbin "graphics/berries/leppa.gbapal.lz" - - .align 2 -gBerryPalette_Chesto:: @ 8DA18B0 - .incbin "graphics/berries/chesto.gbapal.lz" - - .align 2 -gBerryPalette_Persim:: @ 8DA18D8 - .incbin "graphics/berries/persim.gbapal.lz" - - .align 2 -gBerryPalette_Lum:: @ 8DA1900 - .incbin "graphics/berries/lum.gbapal.lz" - - .align 2 -gBerryPalette_Sitrus:: @ 8DA1928 - .incbin "graphics/berries/sitrus.gbapal.lz" - - .align 2 -gBerryPalette_Figy:: @ 8DA1950 - .incbin "graphics/berries/figy.gbapal.lz" - - .align 2 -gBerryPalette_Wiki:: @ 8DA1978 - .incbin "graphics/berries/wiki.gbapal.lz" - - .align 2 -gBerryPalette_Mago:: @ 8DA19A0 - .incbin "graphics/berries/mago.gbapal.lz" - - .align 2 -gBerryPalette_Aguav:: @ 8DA19C8 - .incbin "graphics/berries/aguav.gbapal.lz" - - .align 2 -gBerryPalette_Iapapa:: @ 8DA19F0 - .incbin "graphics/berries/iapapa.gbapal.lz" - - .align 2 -gBerryPalette_Razz:: @ 8DA1A18 - .incbin "graphics/berries/razz.gbapal.lz" - - .align 2 -gBerryPalette_Bluk:: @ 8DA1A40 - .incbin "graphics/berries/bluk.gbapal.lz" - - .align 2 -gBerryPalette_Nanab:: @ 8DA1A68 - .incbin "graphics/berries/nanab.gbapal.lz" - - .align 2 -gBerryPalette_Wepear:: @ 8DA1A90 - .incbin "graphics/berries/wepear.gbapal.lz" - - .align 2 -gBerryPalette_Pinap:: @ 8DA1AB8 - .incbin "graphics/berries/pinap.gbapal.lz" - - .align 2 -gBerryPalette_Pomeg:: @ 8DA1AE0 - .incbin "graphics/berries/pomeg.gbapal.lz" - - .align 2 -gBerryPalette_Kelpsy:: @ 8DA1B08 - .incbin "graphics/berries/kelpsy.gbapal.lz" - - .align 2 -gBerryPalette_Qualot:: @ 8DA1B30 - .incbin "graphics/berries/qualot.gbapal.lz" - - .align 2 -gBerryPalette_Hondew:: @ 8DA1B58 - .incbin "graphics/berries/hondew.gbapal.lz" - - .align 2 -gBerryPalette_Grepa:: @ 8DA1B80 - .incbin "graphics/berries/grepa.gbapal.lz" - - .align 2 -gBerryPalette_Tamato:: @ 8DA1BA8 - .incbin "graphics/berries/tamato.gbapal.lz" - - .align 2 -gBerryPalette_Cornn:: @ 8DA1BD0 - .incbin "graphics/berries/cornn.gbapal.lz" - - .align 2 -gBerryPalette_Magost:: @ 8DA1BF8 - .incbin "graphics/berries/magost.gbapal.lz" - - .align 2 -gBerryPalette_Rabuta:: @ 8DA1C20 - .incbin "graphics/berries/rabuta.gbapal.lz" - - .align 2 -gBerryPalette_Nomel:: @ 8DA1C48 - .incbin "graphics/berries/nomel.gbapal.lz" - - .align 2 -gBerryPalette_Spelon:: @ 8DA1C70 - .incbin "graphics/berries/spelon.gbapal.lz" - - .align 2 -gBerryPalette_Pamtre:: @ 8DA1C98 - .incbin "graphics/berries/pamtre.gbapal.lz" - - .align 2 -gBerryPalette_Watmel:: @ 8DA1CC0 - .incbin "graphics/berries/watmel.gbapal.lz" - - .align 2 -gBerryPalette_Durin:: @ 8DA1CE8 - .incbin "graphics/berries/durin.gbapal.lz" - - .align 2 -gBerryPalette_Belue:: @ 8DA1D10 - .incbin "graphics/berries/belue.gbapal.lz" - - .align 2 -gBerryPalette_Liechi:: @ 8DA1D38 - .incbin "graphics/berries/liechi.gbapal.lz" - - .align 2 -gBerryPalette_Ganlon:: @ 8DA1D60 - .incbin "graphics/berries/ganlon.gbapal.lz" - - .align 2 -gBerryPalette_Salac:: @ 8DA1D88 - .incbin "graphics/berries/salac.gbapal.lz" - - .align 2 -gBerryPalette_Petaya:: @ 8DA1DB0 - .incbin "graphics/berries/petaya.gbapal.lz" - - .align 2 -gBerryPalette_Apicot:: @ 8DA1DD8 - .incbin "graphics/berries/apicot.gbapal.lz" - - .align 2 -gBerryPalette_Lansat:: @ 8DA1E00 - .incbin "graphics/berries/lansat.gbapal.lz" - - .align 2 -gBerryPalette_Starf:: @ 8DA1E28 - .incbin "graphics/berries/starf.gbapal.lz" - - .align 2 -gBerryPalette_Enigma:: @ 8DA1E50 - .incbin "graphics/berries/enigma.gbapal.lz" diff --git a/data/graphics/decorations/decoration_graphics.inc b/data/graphics/decorations/decoration_graphics.inc deleted file mode 100644 index c7ea9be70f..0000000000 --- a/data/graphics/decorations/decoration_graphics.inc +++ /dev/null @@ -1,252 +0,0 @@ -gUnknown_08DB7AA0:: - .incbin "graphics/decorations/decor_heavy_desk.4bpp.lz" - -gUnknown_08DB7B34:: - .incbin "graphics/decorations/decor_heavy_desk.gbapal.lz" - -gUnknown_08DB7B5C:: - .incbin "graphics/decorations/decor_ragged_desk.4bpp.lz" - -gUnknown_08DB7BEC:: - .incbin "graphics/decorations/decor_ragged_desk.gbapal.lz" - -gUnknown_08DB7C08:: - .incbin "graphics/decorations/decor_comfort_desk.4bpp.lz" - -gUnknown_08DB7CE8:: - .incbin "graphics/decorations/decor_comfort_desk.gbapal.lz" - -gUnknown_08DB7D08:: - .incbin "graphics/decorations/decor_pretty_desk.4bpp.lz" - -gUnknown_08DB7DCC:: - .incbin "graphics/decorations/decor_pretty_desk.gbapal.lz" - -gUnknown_08DB7DF4:: - .incbin "graphics/decorations/decor_brick_desk.4bpp.lz" - -gUnknown_08DB7EA0:: - .incbin "graphics/decorations/decor_brick_desk.gbapal.lz" - -gUnknown_08DB7EC4:: - .incbin "graphics/decorations/decor_camp_desk.4bpp.lz" - -gUnknown_08DB7F60:: - .incbin "graphics/decorations/decor_camp_desk.gbapal.lz" - -gUnknown_08DB7F7C:: - .incbin "graphics/decorations/decor_hard_desk.4bpp.lz" - -gUnknown_08DB8070:: - .incbin "graphics/decorations/decor_hard_desk.gbapal.lz" - -gUnknown_08DB808C:: - .incbin "graphics/decorations/decor_red_plant.4bpp.lz" - -gUnknown_08DB8138:: - .incbin "graphics/decorations/decor_red_plant.gbapal.lz" - -gUnknown_08DB8160:: - .incbin "graphics/decorations/decor_tropical_plant.4bpp.lz" - -gUnknown_08DB8218:: - .incbin "graphics/decorations/decor_tropical_plant.gbapal.lz" - -gUnknown_08DB823C:: - .incbin "graphics/decorations/decor_pretty_flowers.4bpp.lz" - -gUnknown_08DB8300:: - .incbin "graphics/decorations/decor_pretty_flowers.gbapal.lz" - -gUnknown_08DB8328:: - .incbin "graphics/decorations/decor_colorful_plant.4bpp.lz" - -gUnknown_08DB8430:: - .incbin "graphics/decorations/decor_colorful_plant.gbapal.lz" - -gUnknown_08DB8458:: - .incbin "graphics/decorations/decor_big_plant.4bpp.lz" - -gUnknown_08DB8528:: - .incbin "graphics/decorations/decor_big_plant.gbapal.lz" - -gUnknown_08DB854C:: - .incbin "graphics/decorations/decor_gorgeous_plant.4bpp.lz" - -gUnknown_08DB862C:: - .incbin "graphics/decorations/decor_gorgeous_plant.gbapal.lz" - -gUnknown_08DB8654:: - .incbin "graphics/decorations/decor_red_brick.4bpp.lz" - -gUnknown_08DB86C4:: - .incbin "graphics/decorations/decor_red_brick.gbapal.lz" - -gUnknown_08DB86E0:: - .incbin "graphics/decorations/decor_yellow_brick.4bpp.lz" - -gUnknown_08DB8750:: - .incbin "graphics/decorations/decor_yellow_brick.gbapal.lz" - -gUnknown_08DB876C:: - .incbin "graphics/decorations/decor_blue_brick.4bpp.lz" - -gUnknown_08DB87DC:: - .incbin "graphics/decorations/decor_blue_brick.gbapal.lz" - -gUnknown_08DB87F8:: - .incbin "graphics/decorations/decor_red_tent.4bpp.lz" - -gUnknown_08DB88D8:: - .incbin "graphics/decorations/decor_red_tent.gbapal.lz" - -gUnknown_08DB8900:: - .incbin "graphics/decorations/decor_blue_tent.4bpp.lz" - -gUnknown_08DB89E0:: - .incbin "graphics/decorations/decor_blue_tent.gbapal.lz" - -gUnknown_08DB8A08:: - .incbin "graphics/decorations/decor_solid_board.4bpp.lz" - -gUnknown_08DB8A68:: - .incbin "graphics/decorations/decor_solid_board.gbapal.lz" - -gUnknown_08DB8A84:: - .incbin "graphics/decorations/decor_slide.4bpp.lz" - -gUnknown_08DB8B40:: - .incbin "graphics/decorations/decor_slide.gbapal.lz" - -gUnknown_08DB8B68:: - .incbin "graphics/decorations/decor_tire.4bpp.lz" - -gUnknown_08DB8C40:: - .incbin "graphics/decorations/decor_tire.gbapal.lz" - -gUnknown_08DB8C5C:: - .incbin "graphics/decorations/decor_stand.4bpp.lz" - -gUnknown_08DB8CF4:: - .incbin "graphics/decorations/decor_stand.gbapal.lz" - -gUnknown_08DB8D18:: - .incbin "graphics/decorations/decor_breakable_door.4bpp.lz" - -gUnknown_08DB8DB0:: - .incbin "graphics/decorations/decor_breakable_door.gbapal.lz" - -gUnknown_08DB8DD4:: - .incbin "graphics/decorations/decor_sand_ornament.4bpp.lz" - -gUnknown_08DB8E80:: - .incbin "graphics/decorations/decor_sand_ornament.gbapal.lz" - -gUnknown_08DB8EA0:: - .incbin "graphics/decorations/decor_glass_ornament.4bpp.lz" - -gUnknown_08DB8F58:: - .incbin "graphics/decorations/decor_glass_ornament.gbapal.lz" - -gUnknown_08DB8F7C:: - .incbin "graphics/decorations/decor_surf_mat.4bpp.lz" - -gUnknown_08DB9038:: - .incbin "graphics/decorations/decor_surf_mat.gbapal.lz" - -gUnknown_08DB9058:: - .incbin "graphics/decorations/decor_thunder_mat.4bpp.lz" - -gUnknown_08DB9130:: - .incbin "graphics/decorations/decor_thunder_mat.gbapal.lz" - -gUnknown_08DB9154:: - .incbin "graphics/decorations/decor_fire_blast_mat.4bpp.lz" - -gUnknown_08DB9218:: - .incbin "graphics/decorations/decor_fire_blast_mat.gbapal.lz" - -gUnknown_08DB9234:: - .incbin "graphics/decorations/decor_powder_snow_mat.4bpp.lz" - -gUnknown_08DB92FC:: - .incbin "graphics/decorations/decor_powder_snow_mat.gbapal.lz" - -gUnknown_08DB931C:: - .incbin "graphics/decorations/decor_attract_mat.4bpp.lz" - -gUnknown_08DB93E8:: - .incbin "graphics/decorations/decor_attract_mat.gbapal.lz" - -gUnknown_08DB940C:: - .incbin "graphics/decorations/decor_fissure_mat.4bpp.lz" - -gUnknown_08DB94CC:: - .incbin "graphics/decorations/decor_fissure_mat.gbapal.lz" - -gUnknown_08DB94E8:: - .incbin "graphics/decorations/decor_spikes_mat.4bpp.lz" - -gUnknown_08DB95AC:: - .incbin "graphics/decorations/decor_spikes_mat.gbapal.lz" - -gUnknown_08DB95D0:: - .incbin "graphics/decorations/decor_snorlax_doll.4bpp.lz" - -gUnknown_08DB96C4:: - .incbin "graphics/decorations/decor_snorlax_doll.gbapal.lz" - -gUnknown_08DB96EC:: - .incbin "graphics/decorations/decor_rhydon_doll.4bpp.lz" - -gUnknown_08DB97F4:: - .incbin "graphics/decorations/decor_rhydon_doll.gbapal.lz" - -gUnknown_08DB981C:: - .incbin "graphics/decorations/decor_lapras_doll.4bpp.lz" - -gUnknown_08DB9908:: - .incbin "graphics/decorations/decor_lapras_doll.gbapal.lz" - -gUnknown_08DB9930:: - .incbin "graphics/decorations/decor_venusaur_doll.4bpp.lz" - -gUnknown_08DB9A54:: - .incbin "graphics/decorations/decor_venusaur_doll.gbapal.lz" - -gUnknown_08DB9A7C:: - .incbin "graphics/decorations/decor_charizard_doll.4bpp.lz" - -gUnknown_08DB9B7C:: - .incbin "graphics/decorations/decor_charizard_doll.gbapal.lz" - -gUnknown_08DB9BA4:: - .incbin "graphics/decorations/decor_blastoise_doll.4bpp.lz" - -gUnknown_08DB9CB0:: - .incbin "graphics/decorations/decor_blastoise_doll.gbapal.lz" - -gUnknown_08DB9CD8:: - .incbin "graphics/decorations/decor_wailmer_doll.4bpp.lz" - -gUnknown_08DB9DAC:: - .incbin "graphics/decorations/decor_wailmer_doll.gbapal.lz" - -gUnknown_08DB9DD4:: - .incbin "graphics/decorations/decor_regice_doll.4bpp.lz" - -gUnknown_08DB9EE4:: - .incbin "graphics/decorations/decor_regice_doll.gbapal.lz" - -gUnknown_08DB9F08:: - .incbin "graphics/decorations/decor_regirock_doll.4bpp.lz" - -gUnknown_08DB9FFC:: - .incbin "graphics/decorations/decor_regirock_doll.gbapal.lz" - -gUnknown_08DBA020:: - .incbin "graphics/decorations/decor_registeel_doll.4bpp.lz" - -gUnknown_08DBA12C:: - .incbin "graphics/decorations/decor_registeel_doll.gbapal.lz" - diff --git a/data/graphics/items/item_graphics.inc b/data/graphics/items/item_graphics.inc deleted file mode 100644 index 08aa00328d..0000000000 --- a/data/graphics/items/item_graphics.inc +++ /dev/null @@ -1,1883 +0,0 @@ - .align 2 -gItemIcon_QuestionMark:: @ 8DAB058 - .incbin "graphics/items/icons/question_mark.4bpp.lz" - - .align 2 -gItemIconPalette_QuestionMark:: @ 8DAB0D0 - .incbin "graphics/items/icon_palettes/question_mark.gbapal.lz" - - .align 2 -gItemIcon_ReturnToFieldArrow:: @ 8DAB0E4 - .incbin "graphics/items/icons/return_to_field_arrow.4bpp.lz" - - .align 2 -gItemIconPalette_ReturnToFieldArrow:: @ 8DAB16C - .incbin "graphics/items/icon_palettes/return_to_field_arrow.gbapal.lz" - - .align 2 -gItemIcon_MasterBall:: @ 8DAB184 - .incbin "graphics/items/icons/master_ball.4bpp.lz" - - .align 2 -gItemIconPalette_MasterBall:: @ 8DAB254 - .incbin "graphics/items/icon_palettes/master_ball.gbapal.lz" - - .align 2 -gItemIcon_UltraBall:: @ 8DAB27C - .incbin "graphics/items/icons/ultra_ball.4bpp.lz" - - .align 2 -gItemIconPalette_UltraBall:: @ 8DAB33C - .incbin "graphics/items/icon_palettes/ultra_ball.gbapal.lz" - - .align 2 -gItemIcon_GreatBall:: @ 8DAB364 - .incbin "graphics/items/icons/great_ball.4bpp.lz" - - .align 2 -gItemIconPalette_GreatBall:: @ 8DAB434 - .incbin "graphics/items/icon_palettes/great_ball.gbapal.lz" - - .align 2 -gItemIcon_PokeBall:: @ 8DAB45C - .incbin "graphics/items/icons/poke_ball.4bpp.lz" - - .align 2 -gItemIconPalette_PokeBall:: @ 8DAB50C - .incbin "graphics/items/icon_palettes/poke_ball.gbapal.lz" - - .align 2 -gItemIcon_SafariBall:: @ 8DAB530 - .incbin "graphics/items/icons/safari_ball.4bpp.lz" - - .align 2 -gItemIconPalette_SafariBall:: @ 8DAB600 - .incbin "graphics/items/icon_palettes/safari_ball.gbapal.lz" - - .align 2 -gItemIcon_NetBall:: @ 8DAB628 - .incbin "graphics/items/icons/net_ball.4bpp.lz" - - .align 2 -gItemIconPalette_NetBall:: @ 8DAB6FC - .incbin "graphics/items/icon_palettes/net_ball.gbapal.lz" - - .align 2 -gItemIcon_DiveBall:: @ 8DAB720 - .incbin "graphics/items/icons/dive_ball.4bpp.lz" - - .align 2 -gItemIconPalette_DiveBall:: @ 8DAB7E8 - .incbin "graphics/items/icon_palettes/dive_ball.gbapal.lz" - - .align 2 -gItemIcon_NestBall:: @ 8DAB80C - .incbin "graphics/items/icons/nest_ball.4bpp.lz" - - .align 2 -gItemIconPalette_NestBall:: @ 8DAB8D0 - .incbin "graphics/items/icon_palettes/nest_ball.gbapal.lz" - - .align 2 -gItemIcon_RepeatBall:: @ 8DAB8F8 - .incbin "graphics/items/icons/repeat_ball.4bpp.lz" - - .align 2 -gItemIconPalette_RepeatBall:: @ 8DAB9BC - .incbin "graphics/items/icon_palettes/repeat_ball.gbapal.lz" - - .align 2 -gItemIcon_TimerBall:: @ 8DAB9E4 - .incbin "graphics/items/icons/timer_ball.4bpp.lz" - - .align 2 -gItemIcon_LuxuryBall:: @ 8DABAAC - .incbin "graphics/items/icons/luxury_ball.4bpp.lz" - - .align 2 -gItemIconPalette_LuxuryBall:: @ 8DABB68 - .incbin "graphics/items/icon_palettes/luxury_ball.gbapal.lz" - - .align 2 -gItemIcon_PremierBall:: @ 8DABB90 - .incbin "graphics/items/icons/premier_ball.4bpp.lz" - - .align 2 -gItemIcon_Potion:: @ 8DABC34 - .incbin "graphics/items/icons/potion.4bpp.lz" - - .align 2 -gItemIconPalette_Potion:: @ 8DABCFC - .incbin "graphics/items/icon_palettes/potion.gbapal.lz" - - .align 2 -gItemIcon_Antidote:: @ 8DABD20 - .incbin "graphics/items/icons/antidote.4bpp.lz" - - .align 2 -gItemIconPalette_Antidote:: @ 8DABDD0 - .incbin "graphics/items/icon_palettes/antidote.gbapal.lz" - - .align 2 -gItemIconPalette_BurnHeal:: @ 8DABDF4 - .incbin "graphics/items/icon_palettes/burn_heal.gbapal.lz" - - .align 2 -gItemIconPalette_IceHeal:: @ 8DABE18 - .incbin "graphics/items/icon_palettes/ice_heal.gbapal.lz" - - .align 2 -gItemIcon_StatusHeal:: @ 8DABE3C - .incbin "graphics/items/icons/status_heal.4bpp.lz" - - .align 2 -gItemIconPalette_Awakening:: @ 8DABEEC - .incbin "graphics/items/icon_palettes/awakening.gbapal.lz" - - .align 2 -gItemIconPalette_ParalyzeHeal:: @ 8DABF10 - .incbin "graphics/items/icon_palettes/paralyze_heal.gbapal.lz" - - .align 2 -gItemIcon_LargePotion:: @ 8DABF34 - .incbin "graphics/items/icons/large_potion.4bpp.lz" - - .align 2 -gItemIconPalette_FullRestore:: @ 8DAC018 - .incbin "graphics/items/icon_palettes/full_restore.gbapal.lz" - - .align 2 -gItemIconPalette_MaxPotion:: @ 8DAC03C - .incbin "graphics/items/icon_palettes/max_potion.gbapal.lz" - - .align 2 -gItemIconPalette_HyperPotion:: @ 8DAC060 - .incbin "graphics/items/icon_palettes/hyper_potion.gbapal.lz" - - .align 2 -gItemIconPalette_SuperPotion:: @ 8DAC084 - .incbin "graphics/items/icon_palettes/super_potion.gbapal.lz" - - .align 2 -gItemIcon_FullHeal:: @ 8DAC0A8 - .incbin "graphics/items/icons/full_heal.4bpp.lz" - - .align 2 -gItemIconPalette_FullHeal:: @ 8DAC150 - .incbin "graphics/items/icon_palettes/full_heal.gbapal.lz" - - .align 2 -gItemIcon_Revive:: @ 8DAC178 - .incbin "graphics/items/icons/revive.4bpp.lz" - - .align 2 -gItemIcon_MaxRevive:: @ 8DAC1D4 - .incbin "graphics/items/icons/max_revive.4bpp.lz" - - .align 2 -gItemIconPalette_Revive:: @ 8DAC2A0 - .incbin "graphics/items/icon_palettes/revive.gbapal.lz" - - .align 2 -gItemIcon_FreshWater:: @ 8DAC2BC - .incbin "graphics/items/icons/fresh_water.4bpp.lz" - - .align 2 -gItemIconPalette_FreshWater:: @ 8DAC36C - .incbin "graphics/items/icon_palettes/fresh_water.gbapal.lz" - - .align 2 -gItemIcon_SodaPop:: @ 8DAC390 - .incbin "graphics/items/icons/soda_pop.4bpp.lz" - - .align 2 -gItemIconPalette_SodaPop:: @ 8DAC424 - .incbin "graphics/items/icon_palettes/soda_pop.gbapal.lz" - - .align 2 -gItemIcon_Lemonade:: @ 8DAC44C - .incbin "graphics/items/icons/lemonade.4bpp.lz" - - .align 2 -gItemIconPalette_Lemonade:: @ 8DAC50C - .incbin "graphics/items/icon_palettes/lemonade.gbapal.lz" - - .align 2 -gItemIcon_MoomooMilk:: @ 8DAC534 - .incbin "graphics/items/icons/moomoo_milk.4bpp.lz" - - .align 2 -gItemIconPalette_MoomooMilk:: @ 8DAC5E4 - .incbin "graphics/items/icon_palettes/moomoo_milk.gbapal.lz" - - .align 2 -gItemIcon_Powder:: @ 8DAC60C - .incbin "graphics/items/icons/powder.4bpp.lz" - - .align 2 -gItemIconPalette_EnergyPowder:: @ 8DAC698 - .incbin "graphics/items/icon_palettes/energy_powder.gbapal.lz" - - .align 2 -gItemIcon_EnergyRoot:: @ 8DAC6B8 - .incbin "graphics/items/icons/energy_root.4bpp.lz" - - .align 2 -gItemIconPalette_EnergyRoot:: @ 8DAC784 - .incbin "graphics/items/icon_palettes/energy_root.gbapal.lz" - - .align 2 -gItemIconPalette_HealPowder:: @ 8DAC7A0 - .incbin "graphics/items/icon_palettes/heal_powder.gbapal.lz" - - .align 2 -gItemIcon_RevivalHerb:: @ 8DAC7C0 - .incbin "graphics/items/icons/revival_herb.4bpp.lz" - - .align 2 -gItemIconPalette_RevivalHerb:: @ 8DAC890 - .incbin "graphics/items/icon_palettes/revival_herb.gbapal.lz" - - .align 2 -gItemIcon_Ether:: @ 8DAC8B0 - .incbin "graphics/items/icons/ether.4bpp.lz" - - .align 2 -gItemIconPalette_Ether:: @ 8DAC970 - .incbin "graphics/items/icon_palettes/ether.gbapal.lz" - - .align 2 -gItemIconPalette_MaxEther:: @ 8DAC994 - .incbin "graphics/items/icon_palettes/max_ether.gbapal.lz" - - .align 2 -gItemIconPalette_Elixir:: @ 8DAC9B8 - .incbin "graphics/items/icon_palettes/elixir.gbapal.lz" - - .align 2 -gItemIconPalette_MaxElixir:: @ 8DAC9DC - .incbin "graphics/items/icon_palettes/max_elixir.gbapal.lz" - - .align 2 -gItemIcon_LavaCookie:: @ 8DACA00 - .incbin "graphics/items/icons/lava_cookie.4bpp.lz" - - .align 2 -gItemIconPalette_LavaCookieAndLetter:: @ 8DACACC - .incbin "graphics/items/icon_palettes/lava_cookie_and_letter.gbapal.lz" - - .align 2 -gItemIcon_Flute:: @ 8DACAF0 - .incbin "graphics/items/icons/flute.4bpp.lz" - - .align 2 -gItemIconPalette_BlueFlute:: @ 8DACBA4 - .incbin "graphics/items/icon_palettes/blue_flute.gbapal.lz" - - .align 2 -gItemIconPalette_YellowFlute:: @ 8DACBC8 - .incbin "graphics/items/icon_palettes/yellow_flute.gbapal.lz" - - .align 2 -gItemIconPalette_RedFlute:: @ 8DACBEC - .incbin "graphics/items/icon_palettes/red_flute.gbapal.lz" - - .align 2 -gItemIconPalette_BlackFlute:: @ 8DACC10 - .incbin "graphics/items/icon_palettes/black_flute.gbapal.lz" - - .align 2 -gItemIconPalette_WhiteFlute:: @ 8DACC34 - .incbin "graphics/items/icon_palettes/white_flute.gbapal.lz" - - .align 2 -gItemIcon_BerryJuice:: @ 8DACC58 - .incbin "graphics/items/icons/berry_juice.4bpp.lz" - - .align 2 -gItemIconPalette_BerryJuice:: @ 8DACD38 - .incbin "graphics/items/icon_palettes/berry_juice.gbapal.lz" - - .align 2 -gItemIcon_SacredAsh:: @ 8DACD60 - .incbin "graphics/items/icons/sacred_ash.4bpp.lz" - - .align 2 -gItemIconPalette_SacredAsh:: @ 8DACE20 - .incbin "graphics/items/icon_palettes/sacred_ash.gbapal.lz" - - .align 2 -gItemIconPalette_ShoalSalt:: @ 8DACE44 - .incbin "graphics/items/icon_palettes/shoal_salt.gbapal.lz" - - .align 2 -gItemIcon_ShoalShell:: @ 8DACE64 - .incbin "graphics/items/icons/shoal_shell.4bpp.lz" - - .align 2 -gItemIconPalette_Shell:: @ 8DACF58 - .incbin "graphics/items/icon_palettes/shell.gbapal.lz" - - .align 2 -gItemIcon_Shard:: @ 8DACF80 - .incbin "graphics/items/icons/shard.4bpp.lz" - - .align 2 -gItemIconPalette_RedShard:: @ 8DACFDC - .incbin "graphics/items/icon_palettes/red_shard.gbapal.lz" - - .align 2 -gItemIconPalette_BlueShard:: @ 8DACFF4 - .incbin "graphics/items/icon_palettes/blue_shard.gbapal.lz" - - .align 2 -gItemIconPalette_YellowShard:: @ 8DAD00C - .incbin "graphics/items/icon_palettes/yellow_shard.gbapal.lz" - - .align 2 -gItemIconPalette_GreenShard:: @ 8DAD024 - .incbin "graphics/items/icon_palettes/green_shard.gbapal.lz" - - .align 2 -gItemIcon_HPUp:: @ 8DAD03C - .incbin "graphics/items/icons/hp_up.4bpp.lz" - - .align 2 -gItemIconPalette_HPUp:: @ 8DAD0F4 - .incbin "graphics/items/icon_palettes/hp_up.gbapal.lz" - - .align 2 -gItemIcon_Vitamin:: @ 8DAD11C - .incbin "graphics/items/icons/vitamin.4bpp.lz" - - .align 2 -gItemIconPalette_Protein:: @ 8DAD1CC - .incbin "graphics/items/icon_palettes/protein.gbapal.lz" - - .align 2 -gItemIconPalette_Iron:: @ 8DAD1F4 - .incbin "graphics/items/icon_palettes/iron.gbapal.lz" - - .align 2 -gItemIconPalette_Carbos:: @ 8DAD21C - .incbin "graphics/items/icon_palettes/carbos.gbapal.lz" - - .align 2 -gItemIconPalette_Calcium:: @ 8DAD244 - .incbin "graphics/items/icon_palettes/calcium.gbapal.lz" - - .align 2 -gItemIcon_RareCandy:: @ 8DAD26C - .incbin "graphics/items/icons/rare_candy.4bpp.lz" - - .align 2 -gItemIconPalette_RareCandy:: @ 8DAD330 - .incbin "graphics/items/icon_palettes/rare_candy.gbapal.lz" - - .align 2 -gItemIcon_PPUp:: @ 8DAD34C - .incbin "graphics/items/icons/pp_up.4bpp.lz" - - .align 2 -gItemIconPalette_PPUp:: @ 8DAD3FC - .incbin "graphics/items/icon_palettes/pp_up.gbapal.lz" - - .align 2 -gItemIconPalette_Zinc:: @ 8DAD424 - .incbin "graphics/items/icon_palettes/zinc.gbapal.lz" - - .align 2 -gItemIcon_PPMax:: @ 8DAD44C - .incbin "graphics/items/icons/pp_max.4bpp.lz" - - .align 2 -gItemIconPalette_PPMax:: @ 8DAD4F4 - .incbin "graphics/items/icon_palettes/pp_max.gbapal.lz" - - .align 2 -gItemIconPalette_GuardSpec:: @ 8DAD51C - .incbin "graphics/items/icon_palettes/guard_spec.gbapal.lz" - - .align 2 -gItemIconPalette_DireHit:: @ 8DAD540 - .incbin "graphics/items/icon_palettes/dire_hit.gbapal.lz" - - .align 2 -gItemIconPalette_XAttack:: @ 8DAD564 - .incbin "graphics/items/icon_palettes/x_attack.gbapal.lz" - - .align 2 -gItemIcon_BattleStatItem:: @ 8DAD588 - .incbin "graphics/items/icons/battle_stat_item.4bpp.lz" - - .align 2 -gItemIconPalette_XDefend:: @ 8DAD66C - .incbin "graphics/items/icon_palettes/x_defend.gbapal.lz" - - .align 2 -gItemIconPalette_XSpeed:: @ 8DAD690 - .incbin "graphics/items/icon_palettes/x_speed.gbapal.lz" - - .align 2 -gItemIconPalette_XAccuracy:: @ 8DAD6B4 - .incbin "graphics/items/icon_palettes/x_accuracy.gbapal.lz" - - .align 2 -gItemIconPalette_XSpecial:: @ 8DAD6D8 - .incbin "graphics/items/icon_palettes/x_special.gbapal.lz" - - .align 2 -gItemIcon_PokeDoll:: @ 8DAD6FC - .incbin "graphics/items/icons/poke_doll.4bpp.lz" - - .align 2 -gItemIconPalette_PokeDoll:: @ 8DAD7EC - .incbin "graphics/items/icon_palettes/poke_doll.gbapal.lz" - - .align 2 -gItemIcon_FluffyTail:: @ 8DAD808 - .incbin "graphics/items/icons/fluffy_tail.4bpp.lz" - - .align 2 -gItemIconPalette_FluffyTail:: @ 8DAD8F8 - .incbin "graphics/items/icon_palettes/fluffy_tail.gbapal.lz" - - .align 2 -gItemIcon_Repel:: @ 8DAD91C - .incbin "graphics/items/icons/repel.4bpp.lz" - - .align 2 -gItemIconPalette_SuperRepel:: @ 8DAD9BC - .incbin "graphics/items/icon_palettes/super_repel.gbapal.lz" - - .align 2 -gItemIconPalette_MaxRepel:: @ 8DAD9E4 - .incbin "graphics/items/icon_palettes/max_repel.gbapal.lz" - - .align 2 -gItemIcon_EscapeRope:: @ 8DADA0C - .incbin "graphics/items/icons/escape_rope.4bpp.lz" - - .align 2 -gItemIconPalette_EscapeRope:: @ 8DADAC0 - .incbin "graphics/items/icon_palettes/escape_rope.gbapal.lz" - - .align 2 -gItemIconPalette_Repel:: @ 8DADAE4 - .incbin "graphics/items/icon_palettes/repel.gbapal.lz" - - .align 2 -gItemIcon_SunStone:: @ 8DADB0C - .incbin "graphics/items/icons/sun_stone.4bpp.lz" - - .align 2 -gItemIconPalette_SunStone:: @ 8DADC04 - .incbin "graphics/items/icon_palettes/sun_stone.gbapal.lz" - - .align 2 -gItemIcon_MoonStone:: @ 8DADC20 - .incbin "graphics/items/icons/moon_stone.4bpp.lz" - - .align 2 -gItemIconPalette_MoonStone:: @ 8DADCF4 - .incbin "graphics/items/icon_palettes/moon_stone.gbapal.lz" - - .align 2 -gItemIcon_FireStone:: @ 8DADD14 - .incbin "graphics/items/icons/fire_stone.4bpp.lz" - - .align 2 -gItemIconPalette_FireStone:: @ 8DADE08 - .incbin "graphics/items/icon_palettes/fire_stone.gbapal.lz" - - .align 2 -gItemIcon_ThunderStone:: @ 8DADE30 - .incbin "graphics/items/icons/thunder_stone.4bpp.lz" - - .align 2 -gItemIconPalette_ThunderStone:: @ 8DADF18 - .incbin "graphics/items/icon_palettes/thunder_stone.gbapal.lz" - - .align 2 -gItemIcon_WaterStone:: @ 8DADF38 - .incbin "graphics/items/icons/water_stone.4bpp.lz" - - .align 2 -gItemIconPalette_WaterStone:: @ 8DAE018 - .incbin "graphics/items/icon_palettes/water_stone.gbapal.lz" - - .align 2 -gItemIcon_LeafStone:: @ 8DAE03C - .incbin "graphics/items/icons/leaf_stone.4bpp.lz" - - .align 2 -gItemIconPalette_LeafStone:: @ 8DAE130 - .incbin "graphics/items/icon_palettes/leaf_stone.gbapal.lz" - - .align 2 -gItemIcon_TinyMushroom:: @ 8DAE158 - .incbin "graphics/items/icons/tiny_mushroom.4bpp.lz" - - .align 2 -gItemIcon_BigMushroom:: @ 8DAE1D8 - .incbin "graphics/items/icons/big_mushroom.4bpp.lz" - - .align 2 -gItemIconPalette_Mushroom:: @ 8DAE290 - .incbin "graphics/items/icon_palettes/mushroom.gbapal.lz" - - .align 2 -gItemIcon_Pearl:: @ 8DAE2B4 - .incbin "graphics/items/icons/pearl.4bpp.lz" - - .align 2 -gItemIconPalette_Pearl:: @ 8DAE330 - .incbin "graphics/items/icon_palettes/pearl.gbapal.lz" - - .align 2 -gItemIcon_BigPearl:: @ 8DAE358 - .incbin "graphics/items/icons/big_pearl.4bpp.lz" - - .align 2 -gItemIcon_Stardust:: @ 8DAE410 - .incbin "graphics/items/icons/stardust.4bpp.lz" - - .align 2 -gItemIconPalette_Star:: @ 8DAE4D0 - .incbin "graphics/items/icon_palettes/star.gbapal.lz" - - .align 2 -gItemIcon_StarPiece:: @ 8DAE4F4 - .incbin "graphics/items/icons/star_piece.4bpp.lz" - - .align 2 -gItemIcon_Nugget:: @ 8DAE578 - .incbin "graphics/items/icons/nugget.4bpp.lz" - - .align 2 -gItemIconPalette_Nugget:: @ 8DAE604 - .incbin "graphics/items/icon_palettes/nugget.gbapal.lz" - - .align 2 -gItemIcon_HeartScale:: @ 8DAE624 - .incbin "graphics/items/icons/heart_scale.4bpp.lz" - - .align 2 -gItemIconPalette_HeartScale:: @ 8DAE6C4 - .incbin "graphics/items/icon_palettes/heart_scale.gbapal.lz" - - .align 2 -gItemIcon_OrangeMail:: @ 8DAE6E0 - .incbin "graphics/items/icons/orange_mail.4bpp.lz" - - .align 2 -gItemIconPalette_OrangeMail:: @ 8DAE7B4 - .incbin "graphics/items/icon_palettes/orange_mail.gbapal.lz" - - .align 2 -gItemIcon_HarborMail:: @ 8DAE7D4 - .incbin "graphics/items/icons/harbor_mail.4bpp.lz" - - .align 2 -gItemIconPalette_HarborMail:: @ 8DAE89C - .incbin "graphics/items/icon_palettes/harbor_mail.gbapal.lz" - - .align 2 -gItemIcon_GlitterMail:: @ 8DAE8BC - .incbin "graphics/items/icons/glitter_mail.4bpp.lz" - - .align 2 -gItemIconPalette_GlitterMail:: @ 8DAE998 - .incbin "graphics/items/icon_palettes/glitter_mail.gbapal.lz" - - .align 2 -gItemIcon_MechMail:: @ 8DAE9C0 - .incbin "graphics/items/icons/mech_mail.4bpp.lz" - - .align 2 -gItemIconPalette_MechMail:: @ 8DAEA9C - .incbin "graphics/items/icon_palettes/mech_mail.gbapal.lz" - - .align 2 -gItemIcon_WoodMail:: @ 8DAEABC - .incbin "graphics/items/icons/wood_mail.4bpp.lz" - - .align 2 -gItemIconPalette_WoodMail:: @ 8DAEB9C - .incbin "graphics/items/icon_palettes/wood_mail.gbapal.lz" - - .align 2 -gItemIcon_WaveMail:: @ 8DAEBBC - .incbin "graphics/items/icons/wave_mail.4bpp.lz" - - .align 2 -gItemIconPalette_WaveMail:: @ 8DAEC94 - .incbin "graphics/items/icon_palettes/wave_mail.gbapal.lz" - - .align 2 -gItemIcon_BeadMail:: @ 8DAECB4 - .incbin "graphics/items/icons/bead_mail.4bpp.lz" - - .align 2 -gItemIconPalette_BeadMail:: @ 8DAED74 - .incbin "graphics/items/icon_palettes/bead_mail.gbapal.lz" - - .align 2 -gItemIcon_ShadowMail:: @ 8DAED94 - .incbin "graphics/items/icons/shadow_mail.4bpp.lz" - - .align 2 -gItemIconPalette_ShadowMail:: @ 8DAEE68 - .incbin "graphics/items/icon_palettes/shadow_mail.gbapal.lz" - - .align 2 -gItemIcon_TropicMail:: @ 8DAEE8C - .incbin "graphics/items/icons/tropic_mail.4bpp.lz" - - .align 2 -gItemIconPalette_TropicMail:: @ 8DAEF70 - .incbin "graphics/items/icon_palettes/tropic_mail.gbapal.lz" - - .align 2 -gItemIcon_DreamMail:: @ 8DAEF94 - .incbin "graphics/items/icons/dream_mail.4bpp.lz" - - .align 2 -gItemIconPalette_DreamMail:: @ 8DAF074 - .incbin "graphics/items/icon_palettes/dream_mail.gbapal.lz" - - .align 2 -gItemIcon_FabMail:: @ 8DAF094 - .incbin "graphics/items/icons/fab_mail.4bpp.lz" - - .align 2 -gItemIconPalette_FabMail:: @ 8DAF15C - .incbin "graphics/items/icon_palettes/fab_mail.gbapal.lz" - - .align 2 -gItemIcon_RetroMail:: @ 8DAF178 - .incbin "graphics/items/icons/retro_mail.4bpp.lz" - - .align 2 -gItemIconPalette_RetroMail:: @ 8DAF210 - .incbin "graphics/items/icon_palettes/retro_mail.gbapal.lz" - - .align 2 -gItemIcon_CheriBerry:: @ 8DAF230 - .incbin "graphics/items/icons/cheri_berry.4bpp.lz" - - .align 2 -gItemIconPalette_CheriBerry:: @ 8DAF318 - .incbin "graphics/items/icon_palettes/cheri_berry.gbapal.lz" - - .align 2 -gItemIcon_ChestoBerry:: @ 8DAF340 - .incbin "graphics/items/icons/chesto_berry.4bpp.lz" - - .align 2 -gItemIconPalette_ChestoBerry:: @ 8DAF400 - .incbin "graphics/items/icon_palettes/chesto_berry.gbapal.lz" - - .align 2 -gItemIcon_PechaBerry:: @ 8DAF424 - .incbin "graphics/items/icons/pecha_berry.4bpp.lz" - - .align 2 -gItemIconPalette_PechaBerry:: @ 8DAF4E4 - .incbin "graphics/items/icon_palettes/pecha_berry.gbapal.lz" - - .align 2 -gItemIcon_RawstBerry:: @ 8DAF508 - .incbin "graphics/items/icons/rawst_berry.4bpp.lz" - - .align 2 -gItemIconPalette_RawstBerry:: @ 8DAF5EC - .incbin "graphics/items/icon_palettes/rawst_berry.gbapal.lz" - - .align 2 -gItemIcon_AspearBerry:: @ 8DAF610 - .incbin "graphics/items/icons/aspear_berry.4bpp.lz" - - .align 2 -gItemIconPalette_AspearBerry:: @ 8DAF6F8 - .incbin "graphics/items/icon_palettes/aspear_berry.gbapal.lz" - - .align 2 -gItemIcon_LeppaBerry:: @ 8DAF71C - .incbin "graphics/items/icons/leppa_berry.4bpp.lz" - - .align 2 -gItemIconPalette_LeppaBerry:: @ 8DAF7D4 - .incbin "graphics/items/icon_palettes/leppa_berry.gbapal.lz" - - .align 2 -gItemIcon_OranBerry:: @ 8DAF7F8 - .incbin "graphics/items/icons/oran_berry.4bpp.lz" - - .align 2 -gItemIconPalette_OranBerry:: @ 8DAF8BC - .incbin "graphics/items/icon_palettes/oran_berry.gbapal.lz" - - .align 2 -gItemIcon_PersimBerry:: @ 8DAF8E0 - .incbin "graphics/items/icons/persim_berry.4bpp.lz" - - .align 2 -gItemIconPalette_PersimBerry:: @ 8DAF9B4 - .incbin "graphics/items/icon_palettes/persim_berry.gbapal.lz" - - .align 2 -gItemIcon_LumBerry:: @ 8DAF9D8 - .incbin "graphics/items/icons/lum_berry.4bpp.lz" - - .align 2 -gItemIconPalette_LumBerry:: @ 8DAFA90 - .incbin "graphics/items/icon_palettes/lum_berry.gbapal.lz" - - .align 2 -gItemIcon_SitrusBerry:: @ 8DAFAAC - .incbin "graphics/items/icons/sitrus_berry.4bpp.lz" - - .align 2 -gItemIconPalette_SitrusBerry:: @ 8DAFB78 - .incbin "graphics/items/icon_palettes/sitrus_berry.gbapal.lz" - - .align 2 -gItemIcon_FigyBerry:: @ 8DAFB9C - .incbin "graphics/items/icons/figy_berry.4bpp.lz" - - .align 2 -gItemIconPalette_FigyBerry:: @ 8DAFC64 - .incbin "graphics/items/icon_palettes/figy_berry.gbapal.lz" - - .align 2 -gItemIcon_WikiBerry:: @ 8DAFC88 - .incbin "graphics/items/icons/wiki_berry.4bpp.lz" - - .align 2 -gItemIconPalette_WikiBerry:: @ 8DAFD6C - .incbin "graphics/items/icon_palettes/wiki_berry.gbapal.lz" - - .align 2 -gItemIcon_MagoBerry:: @ 8DAFD90 - .incbin "graphics/items/icons/mago_berry.4bpp.lz" - - .align 2 -gItemIconPalette_MagoBerry:: @ 8DAFE4C - .incbin "graphics/items/icon_palettes/mago_berry.gbapal.lz" - - .align 2 -gItemIcon_AguavBerry:: @ 8DAFE70 - .incbin "graphics/items/icons/aguav_berry.4bpp.lz" - - .align 2 -gItemIconPalette_AguavBerry:: @ 8DAFF5C - .incbin "graphics/items/icon_palettes/aguav_berry.gbapal.lz" - - .align 2 -gItemIcon_IapapaBerry:: @ 8DAFF7C - .incbin "graphics/items/icons/iapapa_berry.4bpp.lz" - - .align 2 -gItemIconPalette_IapapaBerry:: @ 8DB0064 - .incbin "graphics/items/icon_palettes/iapapa_berry.gbapal.lz" - - .align 2 -gItemIcon_RazzBerry:: @ 8DB0088 - .incbin "graphics/items/icons/razz_berry.4bpp.lz" - - .align 2 -gItemIconPalette_RazzBerry:: @ 8DB0168 - .incbin "graphics/items/icon_palettes/razz_berry.gbapal.lz" - - .align 2 -gItemIcon_BlukBerry:: @ 8DB018C - .incbin "graphics/items/icons/bluk_berry.4bpp.lz" - - .align 2 -gItemIconPalette_BlukBerry:: @ 8DB027C - .incbin "graphics/items/icon_palettes/bluk_berry.gbapal.lz" - - .align 2 -gItemIcon_NanabBerry:: @ 8DB02A0 - .incbin "graphics/items/icons/nanab_berry.4bpp.lz" - - .align 2 -gItemIconPalette_NanabBerry:: @ 8DB0384 - .incbin "graphics/items/icon_palettes/nanab_berry.gbapal.lz" - - .align 2 -gItemIcon_WepearBerry:: @ 8DB03A8 - .incbin "graphics/items/icons/wepear_berry.4bpp.lz" - - .align 2 -gItemIconPalette_WepearBerry:: @ 8DB0470 - .incbin "graphics/items/icon_palettes/wepear_berry.gbapal.lz" - - .align 2 -gItemIcon_PinapBerry:: @ 8DB048C - .incbin "graphics/items/icons/pinap_berry.4bpp.lz" - - .align 2 -gItemIconPalette_PinapBerry:: @ 8DB0580 - .incbin "graphics/items/icon_palettes/pinap_berry.gbapal.lz" - - .align 2 -gItemIcon_PomegBerry:: @ 8DB05A4 - .incbin "graphics/items/icons/pomeg_berry.4bpp.lz" - - .align 2 -gItemIconPalette_PomegBerry:: @ 8DB0658 - .incbin "graphics/items/icon_palettes/pomeg_berry.gbapal.lz" - - .align 2 -gItemIcon_KelpsyBerry:: @ 8DB067C - .incbin "graphics/items/icons/kelpsy_berry.4bpp.lz" - - .align 2 -gItemIconPalette_KelpsyBerry:: @ 8DB074C - .incbin "graphics/items/icon_palettes/kelpsy_berry.gbapal.lz" - - .align 2 -gItemIcon_QualotBerry:: @ 8DB076C - .incbin "graphics/items/icons/qualot_berry.4bpp.lz" - - .align 2 -gItemIconPalette_QualotBerry:: @ 8DB0838 - .incbin "graphics/items/icon_palettes/qualot_berry.gbapal.lz" - - .align 2 -gItemIcon_HondewBerry:: @ 8DB085C - .incbin "graphics/items/icons/hondew_berry.4bpp.lz" - - .align 2 -gItemIconPalette_HondewBerry:: @ 8DB093C - .incbin "graphics/items/icon_palettes/hondew_berry.gbapal.lz" - - .align 2 -gItemIcon_GrepaBerry:: @ 8DB0960 - .incbin "graphics/items/icons/grepa_berry.4bpp.lz" - - .align 2 -gItemIconPalette_GrepaBerry:: @ 8DB0A14 - .incbin "graphics/items/icon_palettes/grepa_berry.gbapal.lz" - - .align 2 -gItemIcon_TamatoBerry:: @ 8DB0A38 - .incbin "graphics/items/icons/tamato_berry.4bpp.lz" - - .align 2 -gItemIconPalette_TamatoBerry:: @ 8DB0B14 - .incbin "graphics/items/icon_palettes/tamato_berry.gbapal.lz" - - .align 2 -gItemIcon_CornnBerry:: @ 8DB0B38 - .incbin "graphics/items/icons/cornn_berry.4bpp.lz" - - .align 2 -gItemIconPalette_CornnBerry:: @ 8DB0C24 - .incbin "graphics/items/icon_palettes/cornn_berry.gbapal.lz" - - .align 2 -gItemIcon_MagostBerry:: @ 8DB0C4C - .incbin "graphics/items/icons/magost_berry.4bpp.lz" - - .align 2 -gItemIconPalette_MagostBerry:: @ 8DB0CF4 - .incbin "graphics/items/icon_palettes/magost_berry.gbapal.lz" - - .align 2 -gItemIcon_RabutaBerry:: @ 8DB0D18 - .incbin "graphics/items/icons/rabuta_berry.4bpp.lz" - - .align 2 -gItemIconPalette_RabutaBerry:: @ 8DB0E14 - .incbin "graphics/items/icon_palettes/rabuta_berry.gbapal.lz" - - .align 2 -gItemIcon_NomelBerry:: @ 8DB0E38 - .incbin "graphics/items/icons/nomel_berry.4bpp.lz" - - .align 2 -gItemIconPalette_NomelBerry:: @ 8DB0EDC - .incbin "graphics/items/icon_palettes/nomel_berry.gbapal.lz" - - .align 2 -gItemIcon_SpelonBerry:: @ 8DB0EF8 - .incbin "graphics/items/icons/spelon_berry.4bpp.lz" - - .align 2 -gItemIconPalette_SpelonBerry:: @ 8DB0FBC - .incbin "graphics/items/icon_palettes/spelon_berry.gbapal.lz" - - .align 2 -gItemIcon_PamtreBerry:: @ 8DB0FDC - .incbin "graphics/items/icons/pamtre_berry.4bpp.lz" - - .align 2 -gItemIconPalette_PamtreBerry:: @ 8DB10BC - .incbin "graphics/items/icon_palettes/pamtre_berry.gbapal.lz" - - .align 2 -gItemIcon_WatmelBerry:: @ 8DB10E4 - .incbin "graphics/items/icons/watmel_berry.4bpp.lz" - - .align 2 -gItemIconPalette_WatmelBerry:: @ 8DB11F4 - .incbin "graphics/items/icon_palettes/watmel_berry.gbapal.lz" - - .align 2 -gItemIcon_DurinBerry:: @ 8DB1218 - .incbin "graphics/items/icons/durin_berry.4bpp.lz" - - .align 2 -gItemIconPalette_DurinBerry:: @ 8DB131C - .incbin "graphics/items/icon_palettes/durin_berry.gbapal.lz" - - .align 2 -gItemIcon_BelueBerry:: @ 8DB1340 - .incbin "graphics/items/icons/belue_berry.4bpp.lz" - - .align 2 -gItemIconPalette_BelueBerry:: @ 8DB1424 - .incbin "graphics/items/icon_palettes/belue_berry.gbapal.lz" - - .align 2 -gItemIcon_LiechiBerry:: @ 8DB1448 - .incbin "graphics/items/icons/liechi_berry.4bpp.lz" - - .align 2 -gItemIconPalette_LiechiBerry:: @ 8DB1528 - .incbin "graphics/items/icon_palettes/liechi_berry.gbapal.lz" - - .align 2 -gItemIcon_GanlonBerry:: @ 8DB1548 - .incbin "graphics/items/icons/ganlon_berry.4bpp.lz" - - .align 2 -gItemIconPalette_GanlonBerry:: @ 8DB1628 - .incbin "graphics/items/icon_palettes/ganlon_berry.gbapal.lz" - - .align 2 -gItemIcon_SalacBerry:: @ 8DB1648 - .incbin "graphics/items/icons/salac_berry.4bpp.lz" - - .align 2 -gItemIconPalette_SalacBerry:: @ 8DB1730 - .incbin "graphics/items/icon_palettes/salac_berry.gbapal.lz" - - .align 2 -gItemIcon_PetayaBerry:: @ 8DB1750 - .incbin "graphics/items/icons/petaya_berry.4bpp.lz" - - .align 2 -gItemIconPalette_PetayaBerry:: @ 8DB1848 - .incbin "graphics/items/icon_palettes/petaya_berry.gbapal.lz" - - .align 2 -gItemIcon_ApicotBerry:: @ 8DB186C - .incbin "graphics/items/icons/apicot_berry.4bpp.lz" - - .align 2 -gItemIconPalette_ApicotBerry:: @ 8DB1924 - .incbin "graphics/items/icon_palettes/apicot_berry.gbapal.lz" - - .align 2 -gItemIcon_LansatBerry:: @ 8DB194C - .incbin "graphics/items/icons/lansat_berry.4bpp.lz" - - .align 2 -gItemIconPalette_LansatBerry:: @ 8DB1A2C - .incbin "graphics/items/icon_palettes/lansat_berry.gbapal.lz" - - .align 2 -gItemIcon_StarfBerry:: @ 8DB1A50 - .incbin "graphics/items/icons/starf_berry.4bpp.lz" - - .align 2 -gItemIconPalette_StarfBerry:: @ 8DB1B20 - .incbin "graphics/items/icon_palettes/starf_berry.gbapal.lz" - - .align 2 -gItemIcon_EnigmaBerry:: @ 8DB1B44 - .incbin "graphics/items/icons/enigma_berry.4bpp.lz" - - .align 2 -gItemIconPalette_EnigmaBerry:: @ 8DB1C10 - .incbin "graphics/items/icon_palettes/enigma_berry.gbapal.lz" - - .align 2 -gItemIcon_BrightPowder:: @ 8DB1C30 - .incbin "graphics/items/icons/bright_powder.4bpp.lz" - - .align 2 -gItemIconPalette_BrightPowder:: @ 8DB1CEC - .incbin "graphics/items/icon_palettes/bright_powder.gbapal.lz" - - .align 2 -gItemIcon_InBattleHerb:: @ 8DB1D0C - .incbin "graphics/items/icons/in_battle_herb.4bpp.lz" - - .align 2 -gItemIconPalette_WhiteHerb:: @ 8DB1DB8 - .incbin "graphics/items/icon_palettes/white_herb.gbapal.lz" - - .align 2 -gItemIcon_MachoBrace:: @ 8DB1DD8 - .incbin "graphics/items/icons/macho_brace.4bpp.lz" - - .align 2 -gItemIconPalette_MachoBrace:: @ 8DB1EC4 - .incbin "graphics/items/icon_palettes/macho_brace.gbapal.lz" - - .align 2 -gItemIcon_ExpShare:: @ 8DB1EEC - .incbin "graphics/items/icons/exp_share.4bpp.lz" - - .align 2 -gItemIconPalette_ExpShare:: @ 8DB1FD8 - .incbin "graphics/items/icon_palettes/exp_share.gbapal.lz" - - .align 2 -gItemIcon_QuickClaw:: @ 8DB2000 - .incbin "graphics/items/icons/quick_claw.4bpp.lz" - - .align 2 -gItemIconPalette_QuickClaw:: @ 8DB2098 - .incbin "graphics/items/icon_palettes/quick_claw.gbapal.lz" - - .align 2 -gItemIcon_SootheBell:: @ 8DB20B8 - .incbin "graphics/items/icons/soothe_bell.4bpp.lz" - - .align 2 -gItemIconPalette_SootheBell:: @ 8DB217C - .incbin "graphics/items/icon_palettes/soothe_bell.gbapal.lz" - - .align 2 -gItemIconPalette_MentalHerb:: @ 8DB21A0 - .incbin "graphics/items/icon_palettes/mental_herb.gbapal.lz" - - .align 2 -gItemIcon_ChoiceBand:: @ 8DB21C0 - .incbin "graphics/items/icons/choice_band.4bpp.lz" - - .align 2 -gItemIconPalette_ChoiceBand:: @ 8DB22AC - .incbin "graphics/items/icon_palettes/choice_band.gbapal.lz" - - .align 2 -gItemIcon_KingsRock:: @ 8DB22D4 - .incbin "graphics/items/icons/kings_rock.4bpp.lz" - - .align 2 -gItemIconPalette_KingsRock:: @ 8DB23C4 - .incbin "graphics/items/icon_palettes/kings_rock.gbapal.lz" - - .align 2 -gItemIcon_SilverPowder:: @ 8DB23E0 - .incbin "graphics/items/icons/silver_powder.4bpp.lz" - - .align 2 -gItemIconPalette_SilverPowder:: @ 8DB246C - .incbin "graphics/items/icon_palettes/silver_powder.gbapal.lz" - - .align 2 -gItemIcon_AmuletCoin:: @ 8DB2490 - .incbin "graphics/items/icons/amulet_coin.4bpp.lz" - - .align 2 -gItemIconPalette_AmuletCoin:: @ 8DB2528 - .incbin "graphics/items/icon_palettes/amulet_coin.gbapal.lz" - - .align 2 -gItemIcon_CleanseTag:: @ 8DB254C - .incbin "graphics/items/icons/cleanse_tag.4bpp.lz" - - .align 2 -gItemIconPalette_CleanseTag:: @ 8DB25F0 - .incbin "graphics/items/icon_palettes/cleanse_tag.gbapal.lz" - - .align 2 -gItemIcon_SoulDew:: @ 8DB2610 - .incbin "graphics/items/icons/soul_dew.4bpp.lz" - - .align 2 -gItemIconPalette_SoulDew:: @ 8DB26A4 - .incbin "graphics/items/icon_palettes/soul_dew.gbapal.lz" - - .align 2 -gItemIcon_DeepSeaTooth:: @ 8DB26C4 - .incbin "graphics/items/icons/deep_sea_tooth.4bpp.lz" - - .align 2 -gItemIconPalette_DeepSeaTooth:: @ 8DB2778 - .incbin "graphics/items/icon_palettes/deep_sea_tooth.gbapal.lz" - - .align 2 -gItemIcon_DeepSeaScale:: @ 8DB279C - .incbin "graphics/items/icons/deep_sea_scale.4bpp.lz" - - .align 2 -gItemIconPalette_DeepSeaScale:: @ 8DB2844 - .incbin "graphics/items/icon_palettes/deep_sea_scale.gbapal.lz" - - .align 2 -gItemIcon_SmokeBall:: @ 8DB2864 - .incbin "graphics/items/icons/smoke_ball.4bpp.lz" - - .align 2 -gItemIconPalette_SmokeBall:: @ 8DB291C - .incbin "graphics/items/icon_palettes/smoke_ball.gbapal.lz" - - .align 2 -gItemIcon_Everstone:: @ 8DB2940 - .incbin "graphics/items/icons/everstone.4bpp.lz" - - .align 2 -gItemIconPalette_Everstone:: @ 8DB29F4 - .incbin "graphics/items/icon_palettes/everstone.gbapal.lz" - - .align 2 -gItemIcon_FocusBand:: @ 8DB2A10 - .incbin "graphics/items/icons/focus_band.4bpp.lz" - - .align 2 -gItemIconPalette_FocusBand:: @ 8DB2B00 - .incbin "graphics/items/icon_palettes/focus_band.gbapal.lz" - - .align 2 -gItemIcon_LuckyEgg:: @ 8DB2B28 - .incbin "graphics/items/icons/lucky_egg.4bpp.lz" - - .align 2 -gItemIconPalette_LuckyEgg:: @ 8DB2BB0 - .incbin "graphics/items/icon_palettes/lucky_egg.gbapal.lz" - - .align 2 -gItemIcon_ScopeLens:: @ 8DB2BC8 - .incbin "graphics/items/icons/scope_lens.4bpp.lz" - - .align 2 -gItemIconPalette_ScopeLens:: @ 8DB2CC8 - .incbin "graphics/items/icon_palettes/scope_lens.gbapal.lz" - - .align 2 -gItemIcon_MetalCoat:: @ 8DB2CF0 - .incbin "graphics/items/icons/metal_coat.4bpp.lz" - - .align 2 -gItemIconPalette_MetalCoat:: @ 8DB2DAC - .incbin "graphics/items/icon_palettes/metal_coat.gbapal.lz" - - .align 2 -gItemIcon_Leftovers:: @ 8DB2DCC - .incbin "graphics/items/icons/leftovers.4bpp.lz" - - .align 2 -gItemIconPalette_Leftovers:: @ 8DB2E70 - .incbin "graphics/items/icon_palettes/leftovers.gbapal.lz" - - .align 2 -gItemIcon_DragonScale:: @ 8DB2E94 - .incbin "graphics/items/icons/dragon_scale.4bpp.lz" - - .align 2 -gItemIconPalette_DragonScale:: @ 8DB2F48 - .incbin "graphics/items/icon_palettes/dragon_scale.gbapal.lz" - - .align 2 -gItemIcon_LightBall:: @ 8DB2F68 - .incbin "graphics/items/icons/light_ball.4bpp.lz" - - .align 2 -gItemIconPalette_LightBall:: @ 8DB2FFC - .incbin "graphics/items/icon_palettes/light_ball.gbapal.lz" - - .align 2 -gItemIcon_SoftSand:: @ 8DB3020 - .incbin "graphics/items/icons/soft_sand.4bpp.lz" - - .align 2 -gItemIconPalette_SoftSand:: @ 8DB30DC - .incbin "graphics/items/icon_palettes/soft_sand.gbapal.lz" - - .align 2 -gItemIcon_HardStone:: @ 8DB30FC - .incbin "graphics/items/icons/hard_stone.4bpp.lz" - - .align 2 -gItemIconPalette_HardStone:: @ 8DB31B0 - .incbin "graphics/items/icon_palettes/hard_stone.gbapal.lz" - - .align 2 -gItemIcon_MiracleSeed:: @ 8DB31D4 - .incbin "graphics/items/icons/miracle_seed.4bpp.lz" - - .align 2 -gItemIconPalette_MiracleSeed:: @ 8DB3284 - .incbin "graphics/items/icon_palettes/miracle_seed.gbapal.lz" - - .align 2 -gItemIcon_BlackGlasses:: @ 8DB32A0 - .incbin "graphics/items/icons/black_glasses.4bpp.lz" - - .align 2 -gItemIconPalette_BlackTypeEnhancingItem:: @ 8DB3328 - .incbin "graphics/items/icon_palettes/black_type_enhancing_item.gbapal.lz" - - .align 2 -gItemIcon_BlackBelt:: @ 8DB3340 - .incbin "graphics/items/icons/black_belt.4bpp.lz" - - .align 2 -gItemIcon_Magnet:: @ 8DB3408 - .incbin "graphics/items/icons/magnet.4bpp.lz" - - .align 2 -gItemIconPalette_Magnet:: @ 8DB34B8 - .incbin "graphics/items/icon_palettes/magnet.gbapal.lz" - - .align 2 -gItemIcon_MysticWater:: @ 8DB34E0 - .incbin "graphics/items/icons/mystic_water.4bpp.lz" - - .align 2 -gItemIconPalette_MysticWater:: @ 8DB3578 - .incbin "graphics/items/icon_palettes/mystic_water.gbapal.lz" - - .align 2 -gItemIcon_SharpBeak:: @ 8DB3598 - .incbin "graphics/items/icons/sharp_beak.4bpp.lz" - - .align 2 -gItemIconPalette_SharpBeak:: @ 8DB3654 - .incbin "graphics/items/icon_palettes/sharp_beak.gbapal.lz" - - .align 2 -gItemIcon_PoisonBarb:: @ 8DB3674 - .incbin "graphics/items/icons/poison_barb.4bpp.lz" - - .align 2 -gItemIconPalette_PoisonBarb:: @ 8DB36FC - .incbin "graphics/items/icon_palettes/poison_barb.gbapal.lz" - - .align 2 -gItemIcon_NeverMeltIce:: @ 8DB371C - .incbin "graphics/items/icons/never_melt_ice.4bpp.lz" - - .align 2 -gItemIconPalette_NeverMeltIce:: @ 8DB37E8 - .incbin "graphics/items/icon_palettes/never_melt_ice.gbapal.lz" - - .align 2 -gItemIcon_SpellTag:: @ 8DB3804 - .incbin "graphics/items/icons/spell_tag.4bpp.lz" - - .align 2 -gItemIconPalette_SpellTag:: @ 8DB38A4 - .incbin "graphics/items/icon_palettes/spell_tag.gbapal.lz" - - .align 2 -gItemIcon_TwistedSpoon:: @ 8DB38C4 - .incbin "graphics/items/icons/twisted_spoon.4bpp.lz" - - .align 2 -gItemIconPalette_TwistedSpoon:: @ 8DB3964 - .incbin "graphics/items/icon_palettes/twisted_spoon.gbapal.lz" - - .align 2 -gItemIcon_Charcoal:: @ 8DB397C - .incbin "graphics/items/icons/charcoal.4bpp.lz" - - .align 2 -gItemIconPalette_Charcoal:: @ 8DB3A4C - .incbin "graphics/items/icon_palettes/charcoal.gbapal.lz" - - .align 2 -gItemIcon_DragonFang:: @ 8DB3A68 - .incbin "graphics/items/icons/dragon_fang.4bpp.lz" - - .align 2 -gItemIconPalette_DragonFang:: @ 8DB3B1C - .incbin "graphics/items/icon_palettes/dragon_fang.gbapal.lz" - - .align 2 -gItemIcon_SilkScarf:: @ 8DB3B3C - .incbin "graphics/items/icons/silk_scarf.4bpp.lz" - - .align 2 -gItemIconPalette_SilkScarf:: @ 8DB3C44 - .incbin "graphics/items/icon_palettes/silk_scarf.gbapal.lz" - - .align 2 -gItemIcon_UpGrade:: @ 8DB3C64 - .incbin "graphics/items/icons/up_grade.4bpp.lz" - - .align 2 -gItemIconPalette_UpGrade:: @ 8DB3D20 - .incbin "graphics/items/icon_palettes/up_grade.gbapal.lz" - - .align 2 -gItemIcon_ShellBell:: @ 8DB3D48 - .incbin "graphics/items/icons/shell_bell.4bpp.lz" - - .align 2 -gItemIcon_SeaIncense:: @ 8DB3E28 - .incbin "graphics/items/icons/sea_incense.4bpp.lz" - - .align 2 -gItemIconPalette_SeaIncense:: @ 8DB3F10 - .incbin "graphics/items/icon_palettes/sea_incense.gbapal.lz" - - .align 2 -gItemIcon_LaxIncense:: @ 8DB3F38 - .incbin "graphics/items/icons/lax_incense.4bpp.lz" - - .align 2 -gItemIconPalette_LaxIncense:: @ 8DB4020 - .incbin "graphics/items/icon_palettes/lax_incense.gbapal.lz" - - .align 2 -gItemIcon_LuckyPunch:: @ 8DB4048 - .incbin "graphics/items/icons/lucky_punch.4bpp.lz" - - .align 2 -gItemIconPalette_LuckyPunch:: @ 8DB410C - .incbin "graphics/items/icon_palettes/lucky_punch.gbapal.lz" - - .align 2 -gItemIcon_MetalPowder:: @ 8DB412C - .incbin "graphics/items/icons/metal_powder.4bpp.lz" - - .align 2 -gItemIconPalette_MetalPowder:: @ 8DB41EC - .incbin "graphics/items/icon_palettes/metal_powder.gbapal.lz" - - .align 2 -gItemIcon_ThickClub:: @ 8DB4210 - .incbin "graphics/items/icons/thick_club.4bpp.lz" - - .align 2 -gItemIconPalette_ThickClub:: @ 8DB42A4 - .incbin "graphics/items/icon_palettes/thick_club.gbapal.lz" - - .align 2 -gItemIcon_Stick:: @ 8DB42C0 - .incbin "graphics/items/icons/stick.4bpp.lz" - - .align 2 -gItemIconPalette_Stick:: @ 8DB4360 - .incbin "graphics/items/icon_palettes/stick.gbapal.lz" - - .align 2 -gItemIcon_Scarf:: @ 8DB4384 - .incbin "graphics/items/icons/scarf.4bpp.lz" - - .align 2 -gItemIconPalette_RedScarf:: @ 8DB4450 - .incbin "graphics/items/icon_palettes/red_scarf.gbapal.lz" - - .align 2 -gItemIconPalette_BlueScarf:: @ 8DB446C - .incbin "graphics/items/icon_palettes/blue_scarf.gbapal.lz" - - .align 2 -gItemIconPalette_PinkScarf:: @ 8DB4488 - .incbin "graphics/items/icon_palettes/pink_scarf.gbapal.lz" - - .align 2 -gItemIconPalette_GreenScarf:: @ 8DB44A4 - .incbin "graphics/items/icon_palettes/green_scarf.gbapal.lz" - - .align 2 -gItemIconPalette_YellowScarf:: @ 8DB44C0 - .incbin "graphics/items/icon_palettes/yellow_scarf.gbapal.lz" - - .align 2 -gItemIcon_MachBike:: @ 8DB44DC - .incbin "graphics/items/icons/mach_bike.4bpp.lz" - - .align 2 -gItemIconPalette_MachBike:: @ 8DB45E4 - .incbin "graphics/items/icon_palettes/mach_bike.gbapal.lz" - - .align 2 -gItemIcon_CoinCase:: @ 8DB4608 - .incbin "graphics/items/icons/coin_case.4bpp.lz" - - .align 2 -gItemIconPalette_CoinCase:: @ 8DB46C8 - .incbin "graphics/items/icon_palettes/coin_case.gbapal.lz" - - .align 2 -gItemIcon_Itemfinder:: @ 8DB46E8 - .incbin "graphics/items/icons/itemfinder.4bpp.lz" - - .align 2 -gItemIconPalette_Itemfinder:: @ 8DB47A4 - .incbin "graphics/items/icon_palettes/itemfinder.gbapal.lz" - - .align 2 -gItemIcon_OldRod:: @ 8DB47CC - .incbin "graphics/items/icons/old_rod.4bpp.lz" - - .align 2 -gItemIconPalette_OldRod:: @ 8DB4878 - .incbin "graphics/items/icon_palettes/old_rod.gbapal.lz" - - .align 2 -gItemIcon_GoodRod:: @ 8DB489C - .incbin "graphics/items/icons/good_rod.4bpp.lz" - - .align 2 -gItemIconPalette_GoodRod:: @ 8DB4938 - .incbin "graphics/items/icon_palettes/good_rod.gbapal.lz" - - .align 2 -gItemIcon_SuperRod:: @ 8DB4960 - .incbin "graphics/items/icons/super_rod.4bpp.lz" - - .align 2 -gItemIconPalette_SuperRod:: @ 8DB4A10 - .incbin "graphics/items/icon_palettes/super_rod.gbapal.lz" - - .align 2 -gItemIcon_SSTicket:: @ 8DB4A38 - .incbin "graphics/items/icons/ss_ticket.4bpp.lz" - - .align 2 -gItemIconPalette_SSTicket:: @ 8DB4ACC - .incbin "graphics/items/icon_palettes/ss_ticket.gbapal.lz" - - .align 2 -gItemIcon_ContestPass:: @ 8DB4AE4 - .incbin "graphics/items/icons/contest_pass.4bpp.lz" - - .align 2 -gItemIconPalette_ContestPass:: @ 8DB4B90 - .incbin "graphics/items/icon_palettes/contest_pass.gbapal.lz" - - .align 2 -gItemIcon_WailmerPail:: @ 8DB4BB8 - .incbin "graphics/items/icons/wailmer_pail.4bpp.lz" - - .align 2 -gItemIconPalette_WailmerPail:: @ 8DB4C84 - .incbin "graphics/items/icon_palettes/wailmer_pail.gbapal.lz" - - .align 2 -gItemIcon_DevonGoods:: @ 8DB4CA8 - .incbin "graphics/items/icons/devon_goods.4bpp.lz" - - .align 2 -gItemIconPalette_DevonGoods:: @ 8DB4D50 - .incbin "graphics/items/icon_palettes/devon_goods.gbapal.lz" - - .align 2 -gItemIcon_SootSack:: @ 8DB4D6C - .incbin "graphics/items/icons/soot_sack.4bpp.lz" - - .align 2 -gItemIconPalette_SootSack:: @ 8DB4E44 - .incbin "graphics/items/icon_palettes/soot_sack.gbapal.lz" - - .align 2 -gItemIcon_BasementKey:: @ 8DB4E6C - .incbin "graphics/items/icons/basement_key.4bpp.lz" - - .align 2 -gItemIconPalette_OldKey:: @ 8DB4F14 - .incbin "graphics/items/icon_palettes/old_key.gbapal.lz" - - .align 2 -gItemIcon_AcroBike:: @ 8DB4F3C - .incbin "graphics/items/icons/acro_bike.4bpp.lz" - - .align 2 -gItemIconPalette_AcroBike:: @ 8DB5038 - .incbin "graphics/items/icon_palettes/acro_bike.gbapal.lz" - - .align 2 -gItemIcon_PokeblockCase:: @ 8DB5058 - .incbin "graphics/items/icons/pokeblock_case.4bpp.lz" - - .align 2 -gItemIconPalette_PokeblockCase:: @ 8DB5140 - .incbin "graphics/items/icon_palettes/pokeblock_case.gbapal.lz" - - .align 2 -gItemIcon_Letter:: @ 8DB5168 - .incbin "graphics/items/icons/letter.4bpp.lz" - - .align 2 -gItemIcon_EonTicket:: @ 8DB51E8 - .incbin "graphics/items/icons/eon_ticket.4bpp.lz" - - .align 2 -gItemIconPalette_EonTicket:: @ 8DB5284 - .incbin "graphics/items/icon_palettes/eon_ticket.gbapal.lz" - - .align 2 -gItemIcon_Orb:: @ 8DB52A8 - .incbin "graphics/items/icons/orb.4bpp.lz" - - .align 2 -gItemIconPalette_RedOrb:: @ 8DB5360 - .incbin "graphics/items/icon_palettes/red_orb.gbapal.lz" - - .align 2 -gItemIconPalette_BlueOrb:: @ 8DB537C - .incbin "graphics/items/icon_palettes/blue_orb.gbapal.lz" - - .align 2 -gItemIcon_Scanner:: @ 8DB5398 - .incbin "graphics/items/icons/scanner.4bpp.lz" - - .align 2 -gItemIconPalette_Scanner:: @ 8DB5460 - .incbin "graphics/items/icon_palettes/scanner.gbapal.lz" - - .align 2 -gItemIcon_GoGoggles:: @ 8DB5484 - .incbin "graphics/items/icons/go_goggles.4bpp.lz" - - .align 2 -gItemIconPalette_GoGoggles:: @ 8DB5538 - .incbin "graphics/items/icon_palettes/go_goggles.gbapal.lz" - - .align 2 -gItemIcon_Meteorite:: @ 8DB5558 - .incbin "graphics/items/icons/meteorite.4bpp.lz" - - .align 2 -gItemIconPalette_Meteorite:: @ 8DB5638 - .incbin "graphics/items/icon_palettes/meteorite.gbapal.lz" - - .align 2 -gItemIcon_Room1Key:: @ 8DB5658 - .incbin "graphics/items/icons/room1_key.4bpp.lz" - - .align 2 -gItemIcon_Room2Key:: @ 8DB5710 - .incbin "graphics/items/icons/room2_key.4bpp.lz" - - .align 2 -gItemIcon_Room4Key:: @ 8DB57CC - .incbin "graphics/items/icons/room4_key.4bpp.lz" - - .align 2 -gItemIcon_Room6Key:: @ 8DB588C - .incbin "graphics/items/icons/room6_key.4bpp.lz" - - .align 2 -gItemIcon_StorageKey:: @ 8DB5948 - .incbin "graphics/items/icons/storage_key.4bpp.lz" - - .align 2 -gItemIcon_RootFossil:: @ 8DB59F0 - .incbin "graphics/items/icons/root_fossil.4bpp.lz" - - .align 2 -gItemIconPalette_HoennFossil:: @ 8DB5AFC - .incbin "graphics/items/icon_palettes/hoenn_fossil.gbapal.lz" - - .align 2 -gItemIcon_ClawFossil:: @ 8DB5B24 - .incbin "graphics/items/icons/claw_fossil.4bpp.lz" - - .align 2 -gItemIcon_DevonScope:: @ 8DB5C14 - .incbin "graphics/items/icons/devon_scope.4bpp.lz" - - .align 2 -gItemIconPalette_DevonScope:: @ 8DB5CD0 - .incbin "graphics/items/icon_palettes/devon_scope.gbapal.lz" - - .align 2 -gItemIcon_TM:: @ 8DB5CF8 - .incbin "graphics/items/icons/tm.4bpp.lz" - - .align 2 -gItemIconPalette_FightingTMHM:: @ 8DB5DF4 - .incbin "graphics/items/icon_palettes/fighting_tm_hm.gbapal.lz" - - .align 2 -gItemIconPalette_DragonTMHM:: @ 8DB5E1C - .incbin "graphics/items/icon_palettes/dragon_tm_hm.gbapal.lz" - - .align 2 -gItemIconPalette_WaterTMHM:: @ 8DB5E44 - .incbin "graphics/items/icon_palettes/water_tm_hm.gbapal.lz" - - .align 2 -gItemIconPalette_PsychicTMHM:: @ 8DB5E6C - .incbin "graphics/items/icon_palettes/psychic_tm_hm.gbapal.lz" - - .align 2 -gItemIconPalette_NormalTMHM:: @ 8DB5E94 - .incbin "graphics/items/icon_palettes/normal_tm_hm.gbapal.lz" - - .align 2 -gItemIconPalette_PoisonTMHM:: @ 8DB5EBC - .incbin "graphics/items/icon_palettes/poison_tm_hm.gbapal.lz" - - .align 2 -gItemIconPalette_IceTMHM:: @ 8DB5EE4 - .incbin "graphics/items/icon_palettes/ice_tm_hm.gbapal.lz" - - .align 2 -gItemIconPalette_GrassTMHM:: @ 8DB5F0C - .incbin "graphics/items/icon_palettes/grass_tm_hm.gbapal.lz" - - .align 2 -gItemIconPalette_FireTMHM:: @ 8DB5F34 - .incbin "graphics/items/icon_palettes/fire_tm_hm.gbapal.lz" - - .align 2 -gItemIconPalette_DarkTMHM:: @ 8DB5F5C - .incbin "graphics/items/icon_palettes/dark_tm_hm.gbapal.lz" - - .align 2 -gItemIconPalette_SteelTMHM:: @ 8DB5F84 - .incbin "graphics/items/icon_palettes/steel_tm_hm.gbapal.lz" - - .align 2 -gItemIconPalette_ElectricTMHM:: @ 8DB5FAC - .incbin "graphics/items/icon_palettes/electric_tm_hm.gbapal.lz" - - .align 2 -gItemIconPalette_GroundTMHM:: @ 8DB5FD4 - .incbin "graphics/items/icon_palettes/ground_tm_hm.gbapal.lz" - - .align 2 -gItemIconPalette_GhostTMHM:: @ 8DB5FFC - .incbin "graphics/items/icon_palettes/ghost_tm_hm.gbapal.lz" - - .align 2 -gItemIconPalette_RockTMHM:: @ 8DB6024 - .incbin "graphics/items/icon_palettes/rock_tm_hm.gbapal.lz" - - .align 2 -gItemIconPalette_FlyingTMHM:: @ 8DB604C - .incbin "graphics/items/icon_palettes/flying_tm_hm.gbapal.lz" - - .align 2 -gItemIcon_HM:: @ 8DB6074 - .incbin "graphics/items/icons/hm.4bpp.lz" - - .align 2 -gItemIcon_OaksParcel:: @ 8DB6174 - .incbin "graphics/items/icons/oaks_parcel.4bpp.lz" - - .align 2 -gItemIconPalette_OaksParcel:: @ 8DB622C - .incbin "graphics/items/icon_palettes/oaks_parcel.gbapal.lz" - - .align 2 -gItemIcon_PokeFlute:: @ 8DB624C - .incbin "graphics/items/icons/poke_flute.4bpp.lz" - - .align 2 -gItemIconPalette_PokeFlute:: @ 8DB6310 - .incbin "graphics/items/icon_palettes/poke_flute.gbapal.lz" - - .align 2 -gItemIcon_SecretKey:: @ 8DB6338 - .incbin "graphics/items/icons/secret_key.4bpp.lz" - - .align 2 -gItemIconPalette_SecretKey:: @ 8DB6404 - .incbin "graphics/items/icon_palettes/secret_key.gbapal.lz" - - .align 2 -gItemIcon_BikeVoucher:: @ 8DB642C - .incbin "graphics/items/icons/bike_voucher.4bpp.lz" - - .align 2 -gItemIconPalette_BikeVoucher:: @ 8DB64CC - .incbin "graphics/items/icon_palettes/bike_voucher.gbapal.lz" - - .align 2 -gItemIcon_GoldTeeth:: @ 8DB64EC - .incbin "graphics/items/icons/gold_teeth.4bpp.lz" - - .align 2 -gItemIconPalette_GoldTeeth:: @ 8DB65D8 - .incbin "graphics/items/icon_palettes/gold_teeth.gbapal.lz" - - .align 2 -gItemIcon_OldAmber:: @ 8DB65FC - .incbin "graphics/items/icons/old_amber.4bpp.lz" - - .align 2 -gItemIconPalette_OldAmber:: @ 8DB66DC - .incbin "graphics/items/icon_palettes/old_amber.gbapal.lz" - - .align 2 -gItemIcon_CardKey:: @ 8DB6700 - .incbin "graphics/items/icons/card_key.4bpp.lz" - - .align 2 -gItemIconPalette_CardKey:: @ 8DB67A8 - .incbin "graphics/items/icon_palettes/card_key.gbapal.lz" - - .align 2 -gItemIcon_LiftKey:: @ 8DB67C8 - .incbin "graphics/items/icons/lift_key.4bpp.lz" - - .align 2 -gItemIconPalette_Key:: @ 8DB6884 - .incbin "graphics/items/icon_palettes/key.gbapal.lz" - - .align 2 -gItemIcon_HelixFossil:: @ 8DB68A4 - .incbin "graphics/items/icons/helix_fossil.4bpp.lz" - - .align 2 -gItemIconPalette_KantoFossil:: @ 8DB6998 - .incbin "graphics/items/icon_palettes/kanto_fossil.gbapal.lz" - - .align 2 -gItemIcon_DomeFossil:: @ 8DB69B8 - .incbin "graphics/items/icons/dome_fossil.4bpp.lz" - - .align 2 -gItemIcon_SilphScope:: @ 8DB6AA8 - .incbin "graphics/items/icons/silph_scope.4bpp.lz" - - .align 2 -gItemIconPalette_SilphScope:: @ 8DB6B7C - .incbin "graphics/items/icon_palettes/silph_scope.gbapal.lz" - - .align 2 -gItemIcon_Bicycle:: @ 8DB6BA0 - .incbin "graphics/items/icons/bicycle.4bpp.lz" - - .align 2 -gItemIconPalette_Bicycle:: @ 8DB6CA4 - .incbin "graphics/items/icon_palettes/bicycle.gbapal.lz" - - .align 2 -gItemIcon_TownMap:: @ 8DB6CC4 - .incbin "graphics/items/icons/town_map.4bpp.lz" - - .align 2 -gItemIconPalette_TownMap:: @ 8DB6D80 - .incbin "graphics/items/icon_palettes/town_map.gbapal.lz" - - .align 2 -gItemIcon_VSSeeker:: @ 8DB6DA8 - .incbin "graphics/items/icons/vs_seeker.4bpp.lz" - - .align 2 -gItemIconPalette_VSSeeker:: @ 8DB6E70 - .incbin "graphics/items/icon_palettes/vs_seeker.gbapal.lz" - - .align 2 -gItemIcon_FameChecker:: @ 8DB6E90 - .incbin "graphics/items/icons/fame_checker.4bpp.lz" - - .align 2 -gItemIconPalette_FameChecker:: @ 8DB6F48 - .incbin "graphics/items/icon_palettes/fame_checker.gbapal.lz" - - .align 2 -gItemIcon_TMCase:: @ 8DB6F6C - .incbin "graphics/items/icons/tm_case.4bpp.lz" - - .align 2 -gItemIconPalette_TMCase:: @ 8DB7030 - .incbin "graphics/items/icon_palettes/tm_case.gbapal.lz" - - .align 2 -gItemIcon_BerryPouch:: @ 8DB7058 - .incbin "graphics/items/icons/berry_pouch.4bpp.lz" - - .align 2 -gItemIconPalette_BerryPouch:: @ 8DB7158 - .incbin "graphics/items/icon_palettes/berry_pouch.gbapal.lz" - - .align 2 -gItemIcon_TeachyTV:: @ 8DB7180 - .incbin "graphics/items/icons/teachy_tv.4bpp.lz" - - .align 2 -gItemIconPalette_TeachyTV:: @ 8DB7278 - .incbin "graphics/items/icon_palettes/teachy_tv.gbapal.lz" - - .align 2 -gItemIcon_TriPass:: @ 8DB72A0 - .incbin "graphics/items/icons/tri_pass.4bpp.lz" - - .align 2 -gItemIconPalette_TriPass:: @ 8DB7344 - .incbin "graphics/items/icon_palettes/tri_pass.gbapal.lz" - - .align 2 -gItemIcon_RainbowPass:: @ 8DB7364 - .incbin "graphics/items/icons/rainbow_pass.4bpp.lz" - - .align 2 -gItemIconPalette_RainbowPass:: @ 8DB740C - .incbin "graphics/items/icon_palettes/rainbow_pass.gbapal.lz" - - .align 2 -gItemIcon_Tea:: @ 8DB7434 - .incbin "graphics/items/icons/tea.4bpp.lz" - - .align 2 -gItemIconPalette_Tea:: @ 8DB74FC - .incbin "graphics/items/icon_palettes/tea.gbapal.lz" - - .align 2 -gItemIcon_MysticTicket:: @ 8DB7520 - .incbin "graphics/items/icons/mystic_ticket.4bpp.lz" - - .align 2 -gItemIconPalette_MysticTicket:: @ 8DB75B8 - .incbin "graphics/items/icon_palettes/mystic_ticket.gbapal.lz" - - .align 2 -gItemIcon_AuroraTicket:: @ 8DB75D8 - .incbin "graphics/items/icons/aurora_ticket.4bpp.lz" - - .align 2 -gItemIconPalette_AuroraTicket:: @ 8DB7674 - .incbin "graphics/items/icon_palettes/aurora_ticket.gbapal.lz" - - .align 2 -gItemIcon_PowderJar:: @ 8DB7698 - .incbin "graphics/items/icons/powder_jar.4bpp.lz" - - .align 2 -gItemIconPalette_PowderJar:: @ 8DB7738 - .incbin "graphics/items/icon_palettes/powder_jar.gbapal.lz" - - .align 2 -gItemIconPalette_Ruby:: @ 8DB7760 - .incbin "graphics/items/icon_palettes/ruby.gbapal.lz" - - .align 2 -gItemIcon_Gem:: @ 8DB7788 - .incbin "graphics/items/icons/gem.4bpp.lz" - - .align 2 -gItemIconPalette_Sapphire:: @ 8DB7850 - .incbin "graphics/items/icon_palettes/sapphire.gbapal.lz" - - .align 2 -gItemIcon_MagmaEmblem:: @ 8DB7878 - .incbin "graphics/items/icons/magma_emblem.4bpp.lz" - - .align 2 -gItemIconPalette_MagmaEmblem:: @ 8DB794C - .incbin "graphics/items/icon_palettes/magma_emblem.gbapal.lz" - - .align 2 -gItemIcon_OldSeaMap:: @ 8DB7974 - .incbin "graphics/items/icons/old_sea_map.4bpp.lz" - - .align 2 -gItemIconPalette_OldSeaMap:: @ 8DB7A78 - .incbin "graphics/items/icon_palettes/old_sea_map.gbapal.lz" diff --git a/data/graphics/pokemon/circled_question_mark_graphics.inc b/data/graphics/pokemon/circled_question_mark_graphics.inc deleted file mode 100644 index dea14ad8a5..0000000000 --- a/data/graphics/pokemon/circled_question_mark_graphics.inc +++ /dev/null @@ -1,15 +0,0 @@ - .align 2 -gMonStillFrontPic_CircledQuestionMark:: @ 8C00750 - .incbin "graphics/pokemon/front_pics/circled_question_mark_still_front_pic.4bpp.lz" - - .align 2 -gMonBackPic_CircledQuestionMark:: @ 8C00998 - .incbin "graphics/pokemon/back_pics/circled_question_mark_back_pic.4bpp.lz" - - .align 2 -gMonPalette_CircledQuestionMark:: @ 8C00BE0 - .incbin "graphics/pokemon/palettes/circled_question_mark_palette.gbapal.lz" - - .align 2 -gMonShinyPalette_CircledQuestionMark:: @ 8C00BF8 - .incbin "graphics/pokemon/palettes/circled_question_mark_shiny_palette.gbapal.lz" diff --git a/data/graphics/pokemon/graphics.inc b/data/graphics/pokemon/graphics.inc deleted file mode 100644 index 4c4a0f57bb..0000000000 --- a/data/graphics/pokemon/graphics.inc +++ /dev/null @@ -1,9619 +0,0 @@ - .align 2 -gMonStillFrontPic_Bulbasaur:: @ 8C2FA08 - .incbin "graphics/pokemon/front_pics/bulbasaur_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Bulbasaur:: @ 8C2FCA0 - .incbin "graphics/pokemon/palettes/bulbasaur_palette.gbapal.lz" - - .align 2 -gMonBackPic_Bulbasaur:: @ 8C2FCC8 - .incbin "graphics/pokemon/back_pics/bulbasaur_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Bulbasaur:: @ 8C2FF78 - .incbin "graphics/pokemon/palettes/bulbasaur_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Bulbasaur:: @ 8C2FFA0 - .incbin "graphics/pokemon/icons/bulbasaur_icon.4bpp" - - .align 2 -gMonFootprint_Bulbasaur:: @ 8C303A0 - .incbin "graphics/pokemon/footprints/bulbasaur_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Ivysaur:: @ 8C303C0 - .incbin "graphics/pokemon/front_pics/ivysaur_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Ivysaur:: @ 8C30734 - .incbin "graphics/pokemon/palettes/ivysaur_palette.gbapal.lz" - - .align 2 -gMonBackPic_Ivysaur:: @ 8C3075C - .incbin "graphics/pokemon/back_pics/ivysaur_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Ivysaur:: @ 8C30AE8 - .incbin "graphics/pokemon/palettes/ivysaur_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Ivysaur:: @ 8C30B10 - .incbin "graphics/pokemon/icons/ivysaur_icon.4bpp" - - .align 2 -gMonFootprint_Ivysaur:: @ 8C30F10 - .incbin "graphics/pokemon/footprints/ivysaur_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Venusaur:: @ 8C30F30 - .incbin "graphics/pokemon/front_pics/venusaur_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Venusaur:: @ 8C314BC - .incbin "graphics/pokemon/palettes/venusaur_palette.gbapal.lz" - - .align 2 -gMonBackPic_Venusaur:: @ 8C314E4 - .incbin "graphics/pokemon/back_pics/venusaur_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Venusaur:: @ 8C319B4 - .incbin "graphics/pokemon/palettes/venusaur_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Venusaur:: @ 8C319DC - .incbin "graphics/pokemon/icons/venusaur_icon.4bpp" - - .align 2 -gMonFootprint_Venusaur:: @ 8C31DDC - .incbin "graphics/pokemon/footprints/venusaur_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Charmander:: @ 8C31DFC - .incbin "graphics/pokemon/front_pics/charmander_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Charmander:: @ 8C320AC - .incbin "graphics/pokemon/palettes/charmander_palette.gbapal.lz" - - .align 2 -gMonBackPic_Charmander:: @ 8C320D4 - .incbin "graphics/pokemon/back_pics/charmander_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Charmander:: @ 8C32368 - .incbin "graphics/pokemon/palettes/charmander_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Charmander:: @ 8C32390 - .incbin "graphics/pokemon/icons/charmander_icon.4bpp" - - .align 2 -gMonFootprint_Charmander:: @ 8C32790 - .incbin "graphics/pokemon/footprints/charmander_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Charmeleon:: @ 8C327B0 - .incbin "graphics/pokemon/front_pics/charmeleon_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Charmeleon:: @ 8C32B58 - .incbin "graphics/pokemon/palettes/charmeleon_palette.gbapal.lz" - - .align 2 -gMonBackPic_Charmeleon:: @ 8C32B80 - .incbin "graphics/pokemon/back_pics/charmeleon_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Charmeleon:: @ 8C32E60 - .incbin "graphics/pokemon/palettes/charmeleon_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Charmeleon:: @ 8C32E88 - .incbin "graphics/pokemon/icons/charmeleon_icon.4bpp" - - .align 2 -gMonFootprint_Charmeleon:: @ 8C33288 - .incbin "graphics/pokemon/footprints/charmeleon_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Charizard:: @ 8C332A8 - .incbin "graphics/pokemon/front_pics/charizard_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Charizard:: @ 8C337F8 - .incbin "graphics/pokemon/palettes/charizard_palette.gbapal.lz" - - .align 2 -gMonBackPic_Charizard:: @ 8C33820 - .incbin "graphics/pokemon/back_pics/charizard_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Charizard:: @ 8C33C3C - .incbin "graphics/pokemon/palettes/charizard_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Charizard:: @ 8C33C64 - .incbin "graphics/pokemon/icons/charizard_icon.4bpp" - - .align 2 -gMonFootprint_Charizard:: @ 8C34064 - .incbin "graphics/pokemon/footprints/charizard_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Squirtle:: @ 8C34084 - .incbin "graphics/pokemon/front_pics/squirtle_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Squirtle:: @ 8C34360 - .incbin "graphics/pokemon/palettes/squirtle_palette.gbapal.lz" - - .align 2 -gMonBackPic_Squirtle:: @ 8C34388 - .incbin "graphics/pokemon/back_pics/squirtle_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Squirtle:: @ 8C34608 - .incbin "graphics/pokemon/palettes/squirtle_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Squirtle:: @ 8C34630 - .incbin "graphics/pokemon/icons/squirtle_icon.4bpp" - - .align 2 -gMonFootprint_Squirtle:: @ 8C34A30 - .incbin "graphics/pokemon/footprints/squirtle_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Wartortle:: @ 8C34A50 - .incbin "graphics/pokemon/front_pics/wartortle_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Wartortle:: @ 8C34DCC - .incbin "graphics/pokemon/palettes/wartortle_palette.gbapal.lz" - - .align 2 -gMonBackPic_Wartortle:: @ 8C34DF4 - .incbin "graphics/pokemon/back_pics/wartortle_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Wartortle:: @ 8C35128 - .incbin "graphics/pokemon/palettes/wartortle_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Wartortle:: @ 8C35150 - .incbin "graphics/pokemon/icons/wartortle_icon.4bpp" - - .align 2 -gMonFootprint_Wartortle:: @ 8C35550 - .incbin "graphics/pokemon/footprints/wartortle_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Blastoise:: @ 8C35570 - .incbin "graphics/pokemon/front_pics/blastoise_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Blastoise:: @ 8C35A74 - .incbin "graphics/pokemon/palettes/blastoise_palette.gbapal.lz" - - .align 2 -gMonBackPic_Blastoise:: @ 8C35A9C - .incbin "graphics/pokemon/back_pics/blastoise_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Blastoise:: @ 8C35EB8 - .incbin "graphics/pokemon/palettes/blastoise_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Blastoise:: @ 8C35EE0 - .incbin "graphics/pokemon/icons/blastoise_icon.4bpp" - - .align 2 -gMonFootprint_Blastoise:: @ 8C362E0 - .incbin "graphics/pokemon/footprints/blastoise_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Caterpie:: @ 8C36300 - .incbin "graphics/pokemon/front_pics/caterpie_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Caterpie:: @ 8C36560 - .incbin "graphics/pokemon/palettes/caterpie_palette.gbapal.lz" - - .align 2 -gMonBackPic_Caterpie:: @ 8C36588 - .incbin "graphics/pokemon/back_pics/caterpie_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Caterpie:: @ 8C36810 - .incbin "graphics/pokemon/palettes/caterpie_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Caterpie:: @ 8C36838 - .incbin "graphics/pokemon/icons/caterpie_icon.4bpp" - - .align 2 -gMonFootprint_Caterpie:: @ 8C36C38 - .incbin "graphics/pokemon/footprints/caterpie_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Metapod:: @ 8C36C58 - .incbin "graphics/pokemon/front_pics/metapod_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Metapod:: @ 8C36E70 - .incbin "graphics/pokemon/palettes/metapod_palette.gbapal.lz" - - .align 2 -gMonBackPic_Metapod:: @ 8C36E90 - .incbin "graphics/pokemon/back_pics/metapod_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Metapod:: @ 8C370D0 - .incbin "graphics/pokemon/palettes/metapod_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Metapod:: @ 8C370F0 - .incbin "graphics/pokemon/icons/metapod_icon.4bpp" - - .align 2 -gMonFootprint_Metapod:: @ 8C374F0 - .incbin "graphics/pokemon/footprints/metapod_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Butterfree:: @ 8C37510 - .incbin "graphics/pokemon/front_pics/butterfree_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Butterfree:: @ 8C37870 - .incbin "graphics/pokemon/palettes/butterfree_palette.gbapal.lz" - - .align 2 -gMonBackPic_Butterfree:: @ 8C37898 - .incbin "graphics/pokemon/back_pics/butterfree_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Butterfree:: @ 8C37CA8 - .incbin "graphics/pokemon/palettes/butterfree_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Butterfree:: @ 8C37CD0 - .incbin "graphics/pokemon/icons/butterfree_icon.4bpp" - - .align 2 -gMonFootprint_Butterfree:: @ 8C380D0 - .incbin "graphics/pokemon/footprints/butterfree_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Weedle:: @ 8C380F0 - .incbin "graphics/pokemon/front_pics/weedle_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Weedle:: @ 8C38330 - .incbin "graphics/pokemon/palettes/weedle_palette.gbapal.lz" - - .align 2 -gMonBackPic_Weedle:: @ 8C38358 - .incbin "graphics/pokemon/back_pics/weedle_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Weedle:: @ 8C385C0 - .incbin "graphics/pokemon/palettes/weedle_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Weedle:: @ 8C385E8 - .incbin "graphics/pokemon/icons/weedle_icon.4bpp" - - .align 2 -gMonFootprint_Weedle:: @ 8C389E8 - .incbin "graphics/pokemon/footprints/weedle_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Kakuna:: @ 8C38A08 - .incbin "graphics/pokemon/front_pics/kakuna_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Kakuna:: @ 8C38C54 - .incbin "graphics/pokemon/palettes/kakuna_palette.gbapal.lz" - - .align 2 -gMonBackPic_Kakuna:: @ 8C38C78 - .incbin "graphics/pokemon/back_pics/kakuna_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Kakuna:: @ 8C38EFC - .incbin "graphics/pokemon/palettes/kakuna_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Kakuna:: @ 8C38F20 - .incbin "graphics/pokemon/icons/kakuna_icon.4bpp" - - .align 2 -gMonFootprint_Kakuna:: @ 8C39320 - .incbin "graphics/pokemon/footprints/kakuna_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Beedrill:: @ 8C39340 - .incbin "graphics/pokemon/front_pics/beedrill_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Beedrill:: @ 8C39750 - .incbin "graphics/pokemon/palettes/beedrill_palette.gbapal.lz" - - .align 2 -gMonBackPic_Beedrill:: @ 8C39778 - .incbin "graphics/pokemon/back_pics/beedrill_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Beedrill:: @ 8C39AEC - .incbin "graphics/pokemon/palettes/beedrill_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Beedrill:: @ 8C39B14 - .incbin "graphics/pokemon/icons/beedrill_icon.4bpp" - - .align 2 -gMonFootprint_Beedrill:: @ 8C39F14 - .incbin "graphics/pokemon/footprints/beedrill_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Pidgey:: @ 8C39F34 - .incbin "graphics/pokemon/front_pics/pidgey_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Pidgey:: @ 8C3A220 - .incbin "graphics/pokemon/palettes/pidgey_palette.gbapal.lz" - - .align 2 -gMonBackPic_Pidgey:: @ 8C3A248 - .incbin "graphics/pokemon/back_pics/pidgey_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Pidgey:: @ 8C3A59C - .incbin "graphics/pokemon/palettes/pidgey_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Pidgey:: @ 8C3A5C4 - .incbin "graphics/pokemon/icons/pidgey_icon.4bpp" - - .align 2 -gMonFootprint_Pidgey:: @ 8C3A9C4 - .incbin "graphics/pokemon/footprints/pidgey_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Pidgeotto:: @ 8C3A9E4 - .incbin "graphics/pokemon/front_pics/pidgeotto_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Pidgeotto:: @ 8C3AD58 - .incbin "graphics/pokemon/palettes/pidgeotto_palette.gbapal.lz" - - .align 2 -gMonBackPic_Pidgeotto:: @ 8C3AD80 - .incbin "graphics/pokemon/back_pics/pidgeotto_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Pidgeotto:: @ 8C3B0CC - .incbin "graphics/pokemon/palettes/pidgeotto_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Pidgeotto:: @ 8C3B0F4 - .incbin "graphics/pokemon/icons/pidgeotto_icon.4bpp" - - .align 2 -gMonFootprint_Pidgeotto:: @ 8C3B4F4 - .incbin "graphics/pokemon/footprints/pidgeotto_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Pidgeot:: @ 8C3B514 - .incbin "graphics/pokemon/front_pics/pidgeot_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Pidgeot:: @ 8C3BA10 - .incbin "graphics/pokemon/palettes/pidgeot_palette.gbapal.lz" - - .align 2 -gMonBackPic_Pidgeot:: @ 8C3BA38 - .incbin "graphics/pokemon/back_pics/pidgeot_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Pidgeot:: @ 8C3BDC0 - .incbin "graphics/pokemon/palettes/pidgeot_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Pidgeot:: @ 8C3BDE8 - .incbin "graphics/pokemon/icons/pidgeot_icon.4bpp" - - .align 2 -gMonFootprint_Pidgeot:: @ 8C3C1E8 - .incbin "graphics/pokemon/footprints/pidgeot_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Rattata:: @ 8C3C208 - .incbin "graphics/pokemon/front_pics/rattata_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Rattata:: @ 8C3C454 - .incbin "graphics/pokemon/palettes/rattata_palette.gbapal.lz" - - .align 2 -gMonBackPic_Rattata:: @ 8C3C47C - .incbin "graphics/pokemon/back_pics/rattata_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Rattata:: @ 8C3C758 - .incbin "graphics/pokemon/palettes/rattata_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Rattata:: @ 8C3C780 - .incbin "graphics/pokemon/icons/rattata_icon.4bpp" - - .align 2 -gMonFootprint_Rattata:: @ 8C3CB80 - .incbin "graphics/pokemon/footprints/rattata_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Raticate:: @ 8C3CBA0 - .incbin "graphics/pokemon/front_pics/raticate_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Raticate:: @ 8C3CF28 - .incbin "graphics/pokemon/palettes/raticate_palette.gbapal.lz" - - .align 2 -gMonBackPic_Raticate:: @ 8C3CF50 - .incbin "graphics/pokemon/back_pics/raticate_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Raticate:: @ 8C3D280 - .incbin "graphics/pokemon/palettes/raticate_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Raticate:: @ 8C3D2A8 - .incbin "graphics/pokemon/icons/raticate_icon.4bpp" - - .align 2 -gMonFootprint_Raticate:: @ 8C3D6A8 - .incbin "graphics/pokemon/footprints/raticate_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Spearow:: @ 8C3D6C8 - .incbin "graphics/pokemon/front_pics/spearow_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Spearow:: @ 8C3D950 - .incbin "graphics/pokemon/palettes/spearow_palette.gbapal.lz" - - .align 2 -gMonBackPic_Spearow:: @ 8C3D978 - .incbin "graphics/pokemon/back_pics/spearow_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Spearow:: @ 8C3DC54 - .incbin "graphics/pokemon/palettes/spearow_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Spearow:: @ 8C3DC7C - .incbin "graphics/pokemon/icons/spearow_icon.4bpp" - - .align 2 -gMonFootprint_Spearow:: @ 8C3E07C - .incbin "graphics/pokemon/footprints/spearow_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Fearow:: @ 8C3E09C - .incbin "graphics/pokemon/front_pics/fearow_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Fearow:: @ 8C3E530 - .incbin "graphics/pokemon/palettes/fearow_palette.gbapal.lz" - - .align 2 -gMonBackPic_Fearow:: @ 8C3E558 - .incbin "graphics/pokemon/back_pics/fearow_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Fearow:: @ 8C3E850 - .incbin "graphics/pokemon/palettes/fearow_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Fearow:: @ 8C3E878 - .incbin "graphics/pokemon/icons/fearow_icon.4bpp" - - .align 2 -gMonFootprint_Fearow:: @ 8C3EC78 - .incbin "graphics/pokemon/footprints/fearow_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Ekans:: @ 8C3EC98 - .incbin "graphics/pokemon/front_pics/ekans_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Ekans:: @ 8C3EF98 - .incbin "graphics/pokemon/palettes/ekans_palette.gbapal.lz" - - .align 2 -gMonBackPic_Ekans:: @ 8C3EFC0 - .incbin "graphics/pokemon/back_pics/ekans_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Ekans:: @ 8C3F2B0 - .incbin "graphics/pokemon/palettes/ekans_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Ekans:: @ 8C3F2D8 - .incbin "graphics/pokemon/icons/ekans_icon.4bpp" - - .align 2 -gMonFootprint_Ekans:: @ 8C3F6D8 - .incbin "graphics/pokemon/footprints/ekans_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Arbok:: @ 8C3F6F8 - .incbin "graphics/pokemon/front_pics/arbok_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Arbok:: @ 8C3FB44 - .incbin "graphics/pokemon/palettes/arbok_palette.gbapal.lz" - - .align 2 -gMonBackPic_Arbok:: @ 8C3FB6C - .incbin "graphics/pokemon/back_pics/arbok_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Arbok:: @ 8C3FE0C - .incbin "graphics/pokemon/palettes/arbok_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Arbok:: @ 8C3FE34 - .incbin "graphics/pokemon/icons/arbok_icon.4bpp" - - .align 2 -gMonFootprint_Arbok:: @ 8C40234 - .incbin "graphics/pokemon/footprints/arbok_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Pikachu:: @ 8C40254 - .incbin "graphics/pokemon/front_pics/pikachu_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Pikachu:: @ 8C40524 - .incbin "graphics/pokemon/palettes/pikachu_palette.gbapal.lz" - - .align 2 -gMonBackPic_Pikachu:: @ 8C4054C - .incbin "graphics/pokemon/back_pics/pikachu_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Pikachu:: @ 8C40824 - .incbin "graphics/pokemon/palettes/pikachu_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Pikachu:: @ 8C4084C - .incbin "graphics/pokemon/icons/pikachu_icon.4bpp" - - .align 2 -gMonFootprint_Pikachu:: @ 8C40C4C - .incbin "graphics/pokemon/footprints/pikachu_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Raichu:: @ 8C40C6C - .incbin "graphics/pokemon/front_pics/raichu_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Raichu:: @ 8C41018 - .incbin "graphics/pokemon/palettes/raichu_palette.gbapal.lz" - - .align 2 -gMonBackPic_Raichu:: @ 8C41040 - .incbin "graphics/pokemon/back_pics/raichu_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Raichu:: @ 8C41360 - .incbin "graphics/pokemon/palettes/raichu_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Raichu:: @ 8C41388 - .incbin "graphics/pokemon/icons/raichu_icon.4bpp" - - .align 2 -gMonFootprint_Raichu:: @ 8C41788 - .incbin "graphics/pokemon/footprints/raichu_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Sandshrew:: @ 8C417A8 - .incbin "graphics/pokemon/front_pics/sandshrew_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Sandshrew:: @ 8C41A68 - .incbin "graphics/pokemon/palettes/sandshrew_palette.gbapal.lz" - - .align 2 -gMonBackPic_Sandshrew:: @ 8C41A90 - .incbin "graphics/pokemon/back_pics/sandshrew_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Sandshrew:: @ 8C41DB8 - .incbin "graphics/pokemon/palettes/sandshrew_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Sandshrew:: @ 8C41DE0 - .incbin "graphics/pokemon/icons/sandshrew_icon.4bpp" - - .align 2 -gMonFootprint_Sandshrew:: @ 8C421E0 - .incbin "graphics/pokemon/footprints/sandshrew_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Sandslash:: @ 8C42200 - .incbin "graphics/pokemon/front_pics/sandslash_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Sandslash:: @ 8C425EC - .incbin "graphics/pokemon/palettes/sandslash_palette.gbapal.lz" - - .align 2 -gMonBackPic_Sandslash:: @ 8C42614 - .incbin "graphics/pokemon/back_pics/sandslash_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Sandslash:: @ 8C42A30 - .incbin "graphics/pokemon/palettes/sandslash_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Sandslash:: @ 8C42A58 - .incbin "graphics/pokemon/icons/sandslash_icon.4bpp" - - .align 2 -gMonFootprint_Sandslash:: @ 8C42E58 - .incbin "graphics/pokemon/footprints/sandslash_footprint.1bpp" - - .align 2 -gMonStillFrontPic_NidoranF:: @ 8C42E78 - .incbin "graphics/pokemon/front_pics/nidoran_f_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_NidoranF:: @ 8C430F0 - .incbin "graphics/pokemon/palettes/nidoran_f_palette.gbapal.lz" - - .align 2 -gMonBackPic_NidoranF:: @ 8C43118 - .incbin "graphics/pokemon/back_pics/nidoran_f_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_NidoranF:: @ 8C433F0 - .incbin "graphics/pokemon/palettes/nidoran_f_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_NidoranF:: @ 8C43418 - .incbin "graphics/pokemon/icons/nidoran_f_icon.4bpp" - - .align 2 -gMonFootprint_NidoranF:: @ 8C43818 - .incbin "graphics/pokemon/footprints/nidoran_f_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Nidorina:: @ 8C43838 - .incbin "graphics/pokemon/front_pics/nidorina_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Nidorina:: @ 8C43B64 - .incbin "graphics/pokemon/palettes/nidorina_palette.gbapal.lz" - - .align 2 -gMonBackPic_Nidorina:: @ 8C43B8C - .incbin "graphics/pokemon/back_pics/nidorina_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Nidorina:: @ 8C43F20 - .incbin "graphics/pokemon/palettes/nidorina_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Nidorina:: @ 8C43F48 - .incbin "graphics/pokemon/icons/nidorina_icon.4bpp" - - .align 2 -gMonFootprint_Nidorina:: @ 8C44348 - .incbin "graphics/pokemon/footprints/nidorina_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Nidoqueen:: @ 8C44368 - .incbin "graphics/pokemon/front_pics/nidoqueen_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Nidoqueen:: @ 8C447F4 - .incbin "graphics/pokemon/palettes/nidoqueen_palette.gbapal.lz" - - .align 2 -gMonBackPic_Nidoqueen:: @ 8C4481C - .incbin "graphics/pokemon/back_pics/nidoqueen_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Nidoqueen:: @ 8C44BE0 - .incbin "graphics/pokemon/palettes/nidoqueen_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Nidoqueen:: @ 8C44C08 - .incbin "graphics/pokemon/icons/nidoqueen_icon.4bpp" - - .align 2 -gMonFootprint_Nidoqueen:: @ 8C45008 - .incbin "graphics/pokemon/footprints/nidoqueen_footprint.1bpp" - - .align 2 -gMonStillFrontPic_NidoranM:: @ 8C45028 - .incbin "graphics/pokemon/front_pics/nidoran_m_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_NidoranM:: @ 8C452F8 - .incbin "graphics/pokemon/palettes/nidoran_m_palette.gbapal.lz" - - .align 2 -gMonBackPic_NidoranM:: @ 8C45320 - .incbin "graphics/pokemon/back_pics/nidoran_m_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_NidoranM:: @ 8C45654 - .incbin "graphics/pokemon/palettes/nidoran_m_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_NidoranM:: @ 8C4567C - .incbin "graphics/pokemon/icons/nidoran_m_icon.4bpp" - - .align 2 -gMonFootprint_NidoranM:: @ 8C45A7C - .incbin "graphics/pokemon/footprints/nidoran_m_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Nidorino:: @ 8C45A9C - .incbin "graphics/pokemon/front_pics/nidorino_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Nidorino:: @ 8C45E30 - .incbin "graphics/pokemon/palettes/nidorino_palette.gbapal.lz" - - .align 2 -gMonBackPic_Nidorino:: @ 8C45E58 - .incbin "graphics/pokemon/back_pics/nidorino_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Nidorino:: @ 8C46214 - .incbin "graphics/pokemon/palettes/nidorino_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Nidorino:: @ 8C4623C - .incbin "graphics/pokemon/icons/nidorino_icon.4bpp" - - .align 2 -gMonFootprint_Nidorino:: @ 8C4663C - .incbin "graphics/pokemon/footprints/nidorino_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Nidoking:: @ 8C4665C - .incbin "graphics/pokemon/front_pics/nidoking_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Nidoking:: @ 8C46B54 - .incbin "graphics/pokemon/palettes/nidoking_palette.gbapal.lz" - - .align 2 -gMonBackPic_Nidoking:: @ 8C46B7C - .incbin "graphics/pokemon/back_pics/nidoking_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Nidoking:: @ 8C46FB8 - .incbin "graphics/pokemon/palettes/nidoking_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Nidoking:: @ 8C46FE0 - .incbin "graphics/pokemon/icons/nidoking_icon.4bpp" - - .align 2 -gMonFootprint_Nidoking:: @ 8C473E0 - .incbin "graphics/pokemon/footprints/nidoking_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Clefairy:: @ 8C47400 - .incbin "graphics/pokemon/front_pics/clefairy_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Clefairy:: @ 8C47688 - .incbin "graphics/pokemon/palettes/clefairy_palette.gbapal.lz" - - .align 2 -gMonBackPic_Clefairy:: @ 8C476B0 - .incbin "graphics/pokemon/back_pics/clefairy_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Clefairy:: @ 8C47980 - .incbin "graphics/pokemon/palettes/clefairy_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Clefairy:: @ 8C479A8 - .incbin "graphics/pokemon/icons/clefairy_icon.4bpp" - - .align 2 -gMonFootprint_Clefairy:: @ 8C47DA8 - .incbin "graphics/pokemon/footprints/clefairy_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Clefable:: @ 8C47DC8 - .incbin "graphics/pokemon/front_pics/clefable_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Clefable:: @ 8C48104 - .incbin "graphics/pokemon/palettes/clefable_palette.gbapal.lz" - - .align 2 -gMonBackPic_Clefable:: @ 8C4812C - .incbin "graphics/pokemon/back_pics/clefable_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Clefable:: @ 8C48464 - .incbin "graphics/pokemon/palettes/clefable_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Clefable:: @ 8C4848C - .incbin "graphics/pokemon/icons/clefable_icon.4bpp" - - .align 2 -gMonFootprint_Clefable:: @ 8C4888C - .incbin "graphics/pokemon/footprints/clefable_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Vulpix:: @ 8C488AC - .incbin "graphics/pokemon/front_pics/vulpix_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Vulpix:: @ 8C48BE8 - .incbin "graphics/pokemon/palettes/vulpix_palette.gbapal.lz" - - .align 2 -gMonBackPic_Vulpix:: @ 8C48C10 - .incbin "graphics/pokemon/back_pics/vulpix_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Vulpix:: @ 8C48F0C - .incbin "graphics/pokemon/palettes/vulpix_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Vulpix:: @ 8C48F34 - .incbin "graphics/pokemon/icons/vulpix_icon.4bpp" - - .align 2 -gMonFootprint_Vulpix:: @ 8C49334 - .incbin "graphics/pokemon/footprints/vulpix_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Ninetales:: @ 8C49354 - .incbin "graphics/pokemon/front_pics/ninetales_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Ninetales:: @ 8C49790 - .incbin "graphics/pokemon/palettes/ninetales_palette.gbapal.lz" - - .align 2 -gMonBackPic_Ninetales:: @ 8C497B0 - .incbin "graphics/pokemon/back_pics/ninetales_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Ninetales:: @ 8C49B30 - .incbin "graphics/pokemon/palettes/ninetales_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Ninetales:: @ 8C49B50 - .incbin "graphics/pokemon/icons/ninetales_icon.4bpp" - - .align 2 -gMonFootprint_Ninetales:: @ 8C49F50 - .incbin "graphics/pokemon/footprints/ninetales_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Jigglypuff:: @ 8C49F70 - .incbin "graphics/pokemon/front_pics/jigglypuff_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Jigglypuff:: @ 8C4A1E8 - .incbin "graphics/pokemon/palettes/jigglypuff_palette.gbapal.lz" - - .align 2 -gMonBackPic_Jigglypuff:: @ 8C4A210 - .incbin "graphics/pokemon/back_pics/jigglypuff_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Jigglypuff:: @ 8C4A46C - .incbin "graphics/pokemon/palettes/jigglypuff_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Jigglypuff:: @ 8C4A494 - .incbin "graphics/pokemon/icons/jigglypuff_icon.4bpp" - - .align 2 -gMonFootprint_Jigglypuff:: @ 8C4A894 - .incbin "graphics/pokemon/footprints/jigglypuff_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Wigglytuff:: @ 8C4A8B4 - .incbin "graphics/pokemon/front_pics/wigglytuff_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Wigglytuff:: @ 8C4AC08 - .incbin "graphics/pokemon/palettes/wigglytuff_palette.gbapal.lz" - - .align 2 -gMonBackPic_Wigglytuff:: @ 8C4AC30 - .incbin "graphics/pokemon/back_pics/wigglytuff_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Wigglytuff:: @ 8C4AED8 - .incbin "graphics/pokemon/palettes/wigglytuff_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Wigglytuff:: @ 8C4AF00 - .incbin "graphics/pokemon/icons/wigglytuff_icon.4bpp" - - .align 2 -gMonFootprint_Wigglytuff:: @ 8C4B300 - .incbin "graphics/pokemon/footprints/wigglytuff_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Zubat:: @ 8C4B320 - .incbin "graphics/pokemon/front_pics/zubat_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Zubat:: @ 8C4B5F8 - .incbin "graphics/pokemon/palettes/zubat_palette.gbapal.lz" - - .align 2 -gMonBackPic_Zubat:: @ 8C4B620 - .incbin "graphics/pokemon/back_pics/zubat_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Zubat:: @ 8C4B8DC - .incbin "graphics/pokemon/palettes/zubat_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Zubat:: @ 8C4B904 - .incbin "graphics/pokemon/icons/zubat_icon.4bpp" - - .align 2 -gMonFootprint_Zubat:: @ 8C4BD04 - .incbin "graphics/pokemon/footprints/zubat_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Golbat:: @ 8C4BD24 - .incbin "graphics/pokemon/front_pics/golbat_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Golbat:: @ 8C4C0C0 - .incbin "graphics/pokemon/palettes/golbat_palette.gbapal.lz" - - .align 2 -gMonBackPic_Golbat:: @ 8C4C0E8 - .incbin "graphics/pokemon/back_pics/golbat_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Golbat:: @ 8C4C3A4 - .incbin "graphics/pokemon/palettes/golbat_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Golbat:: @ 8C4C3CC - .incbin "graphics/pokemon/icons/golbat_icon.4bpp" - - .align 2 -gMonFootprint_Golbat:: @ 8C4C7CC - .incbin "graphics/pokemon/footprints/golbat_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Oddish:: @ 8C4C7EC - .incbin "graphics/pokemon/front_pics/oddish_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Oddish:: @ 8C4CA20 - .incbin "graphics/pokemon/palettes/oddish_palette.gbapal.lz" - - .align 2 -gMonBackPic_Oddish:: @ 8C4CA48 - .incbin "graphics/pokemon/back_pics/oddish_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Oddish:: @ 8C4CCC0 - .incbin "graphics/pokemon/palettes/oddish_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Oddish:: @ 8C4CCE8 - .incbin "graphics/pokemon/icons/oddish_icon.4bpp" - - .align 2 -gMonFootprint_Oddish:: @ 8C4D0E8 - .incbin "graphics/pokemon/footprints/oddish_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Gloom:: @ 8C4D108 - .incbin "graphics/pokemon/front_pics/gloom_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Gloom:: @ 8C4D480 - .incbin "graphics/pokemon/palettes/gloom_palette.gbapal.lz" - - .align 2 -gMonBackPic_Gloom:: @ 8C4D4A8 - .incbin "graphics/pokemon/back_pics/gloom_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Gloom:: @ 8C4D810 - .incbin "graphics/pokemon/palettes/gloom_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Gloom:: @ 8C4D838 - .incbin "graphics/pokemon/icons/gloom_icon.4bpp" - - .align 2 -gMonFootprint_Gloom:: @ 8C4DC38 - .incbin "graphics/pokemon/footprints/gloom_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Vileplume:: @ 8C4DC58 - .incbin "graphics/pokemon/front_pics/vileplume_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Vileplume:: @ 8C4DFD4 - .incbin "graphics/pokemon/palettes/vileplume_palette.gbapal.lz" - - .align 2 -gMonBackPic_Vileplume:: @ 8C4DFFC - .incbin "graphics/pokemon/back_pics/vileplume_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Vileplume:: @ 8C4E414 - .incbin "graphics/pokemon/palettes/vileplume_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Vileplume:: @ 8C4E43C - .incbin "graphics/pokemon/icons/vileplume_icon.4bpp" - - .align 2 -gMonFootprint_Vileplume:: @ 8C4E83C - .incbin "graphics/pokemon/footprints/vileplume_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Paras:: @ 8C4E85C - .incbin "graphics/pokemon/front_pics/paras_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Paras:: @ 8C4EAC8 - .incbin "graphics/pokemon/palettes/paras_palette.gbapal.lz" - - .align 2 -gMonBackPic_Paras:: @ 8C4EAF0 - .incbin "graphics/pokemon/back_pics/paras_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Paras:: @ 8C4ED90 - .incbin "graphics/pokemon/palettes/paras_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Paras:: @ 8C4EDB8 - .incbin "graphics/pokemon/icons/paras_icon.4bpp" - - .align 2 -gMonFootprint_Paras:: @ 8C4F1B8 - .incbin "graphics/pokemon/footprints/paras_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Parasect:: @ 8C4F1D8 - .incbin "graphics/pokemon/front_pics/parasect_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Parasect:: @ 8C4F59C - .incbin "graphics/pokemon/palettes/parasect_palette.gbapal.lz" - - .align 2 -gMonBackPic_Parasect:: @ 8C4F5C4 - .incbin "graphics/pokemon/back_pics/parasect_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Parasect:: @ 8C4F8C0 - .incbin "graphics/pokemon/palettes/parasect_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Parasect:: @ 8C4F8E8 - .incbin "graphics/pokemon/icons/parasect_icon.4bpp" - - .align 2 -gMonFootprint_Parasect:: @ 8C4FCE8 - .incbin "graphics/pokemon/footprints/parasect_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Venonat:: @ 8C4FD08 - .incbin "graphics/pokemon/front_pics/venonat_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Venonat:: @ 8C50080 - .incbin "graphics/pokemon/palettes/venonat_palette.gbapal.lz" - - .align 2 -gMonBackPic_Venonat:: @ 8C500A8 - .incbin "graphics/pokemon/back_pics/venonat_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Venonat:: @ 8C503D8 - .incbin "graphics/pokemon/palettes/venonat_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Venonat:: @ 8C50400 - .incbin "graphics/pokemon/icons/venonat_icon.4bpp" - - .align 2 -gMonFootprint_Venonat:: @ 8C50800 - .incbin "graphics/pokemon/footprints/venonat_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Venomoth:: @ 8C50820 - .incbin "graphics/pokemon/front_pics/venomoth_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Venomoth:: @ 8C50CC4 - .incbin "graphics/pokemon/palettes/venomoth_palette.gbapal.lz" - - .align 2 -gMonBackPic_Venomoth:: @ 8C50CEC - .incbin "graphics/pokemon/back_pics/venomoth_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Venomoth:: @ 8C510B0 - .incbin "graphics/pokemon/palettes/venomoth_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Venomoth:: @ 8C510D8 - .incbin "graphics/pokemon/icons/venomoth_icon.4bpp" - - .align 2 -gMonFootprint_Venomoth:: @ 8C514D8 - .incbin "graphics/pokemon/footprints/venomoth_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Diglett:: @ 8C514F8 - .incbin "graphics/pokemon/front_pics/diglett_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Diglett:: @ 8C51704 - .incbin "graphics/pokemon/palettes/diglett_palette.gbapal.lz" - - .align 2 -gMonBackPic_Diglett:: @ 8C5172C - .incbin "graphics/pokemon/back_pics/diglett_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Diglett:: @ 8C51938 - .incbin "graphics/pokemon/palettes/diglett_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Diglett:: @ 8C51960 - .incbin "graphics/pokemon/icons/diglett_icon.4bpp" - - .align 2 -gMonFootprint_Diglett:: @ 8C51D60 - .incbin "graphics/pokemon/footprints/diglett_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Dugtrio:: @ 8C51D80 - .incbin "graphics/pokemon/front_pics/dugtrio_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Dugtrio:: @ 8C520A4 - .incbin "graphics/pokemon/palettes/dugtrio_palette.gbapal.lz" - - .align 2 -gMonBackPic_Dugtrio:: @ 8C520CC - .incbin "graphics/pokemon/back_pics/dugtrio_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Dugtrio:: @ 8C52378 - .incbin "graphics/pokemon/palettes/dugtrio_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Dugtrio:: @ 8C523A0 - .incbin "graphics/pokemon/icons/dugtrio_icon.4bpp" - - .align 2 -gMonFootprint_Dugtrio:: @ 8C527A0 - .incbin "graphics/pokemon/footprints/dugtrio_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Meowth:: @ 8C527C0 - .incbin "graphics/pokemon/front_pics/meowth_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Meowth:: @ 8C52AAC - .incbin "graphics/pokemon/palettes/meowth_palette.gbapal.lz" - - .align 2 -gMonBackPic_Meowth:: @ 8C52AD4 - .incbin "graphics/pokemon/back_pics/meowth_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Meowth:: @ 8C52DB8 - .incbin "graphics/pokemon/palettes/meowth_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Meowth:: @ 8C52DE0 - .incbin "graphics/pokemon/icons/meowth_icon.4bpp" - - .align 2 -gMonFootprint_Meowth:: @ 8C531E0 - .incbin "graphics/pokemon/footprints/meowth_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Persian:: @ 8C53200 - .incbin "graphics/pokemon/front_pics/persian_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Persian:: @ 8C535B4 - .incbin "graphics/pokemon/palettes/persian_palette.gbapal.lz" - - .align 2 -gMonBackPic_Persian:: @ 8C535DC - .incbin "graphics/pokemon/back_pics/persian_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Persian:: @ 8C53940 - .incbin "graphics/pokemon/palettes/persian_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Persian:: @ 8C53968 - .incbin "graphics/pokemon/icons/persian_icon.4bpp" - - .align 2 -gMonFootprint_Persian:: @ 8C53D68 - .incbin "graphics/pokemon/footprints/persian_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Psyduck:: @ 8C53D88 - .incbin "graphics/pokemon/front_pics/psyduck_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Psyduck:: @ 8C54060 - .incbin "graphics/pokemon/palettes/psyduck_palette.gbapal.lz" - - .align 2 -gMonBackPic_Psyduck:: @ 8C54088 - .incbin "graphics/pokemon/back_pics/psyduck_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Psyduck:: @ 8C54324 - .incbin "graphics/pokemon/palettes/psyduck_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Psyduck:: @ 8C5434C - .incbin "graphics/pokemon/icons/psyduck_icon.4bpp" - - .align 2 -gMonFootprint_Psyduck:: @ 8C5474C - .incbin "graphics/pokemon/footprints/psyduck_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Golduck:: @ 8C5476C - .incbin "graphics/pokemon/front_pics/golduck_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Golduck:: @ 8C54B44 - .incbin "graphics/pokemon/palettes/golduck_palette.gbapal.lz" - - .align 2 -gMonBackPic_Golduck:: @ 8C54B6C - .incbin "graphics/pokemon/back_pics/golduck_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Golduck:: @ 8C54E98 - .incbin "graphics/pokemon/palettes/golduck_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Golduck:: @ 8C54EC0 - .incbin "graphics/pokemon/icons/golduck_icon.4bpp" - - .align 2 -gMonFootprint_Golduck:: @ 8C552C0 - .incbin "graphics/pokemon/footprints/golduck_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Mankey:: @ 8C552E0 - .incbin "graphics/pokemon/front_pics/mankey_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Mankey:: @ 8C555F8 - .incbin "graphics/pokemon/palettes/mankey_palette.gbapal.lz" - - .align 2 -gMonBackPic_Mankey:: @ 8C55620 - .incbin "graphics/pokemon/back_pics/mankey_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Mankey:: @ 8C55988 - .incbin "graphics/pokemon/palettes/mankey_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Mankey:: @ 8C559B0 - .incbin "graphics/pokemon/icons/mankey_icon.4bpp" - - .align 2 -gMonFootprint_Mankey:: @ 8C55DB0 - .incbin "graphics/pokemon/footprints/mankey_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Primeape:: @ 8C55DD0 - .incbin "graphics/pokemon/front_pics/primeape_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Primeape:: @ 8C56180 - .incbin "graphics/pokemon/palettes/primeape_palette.gbapal.lz" - - .align 2 -gMonBackPic_Primeape:: @ 8C561A8 - .incbin "graphics/pokemon/back_pics/primeape_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Primeape:: @ 8C56518 - .incbin "graphics/pokemon/palettes/primeape_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Primeape:: @ 8C56540 - .incbin "graphics/pokemon/icons/primeape_icon.4bpp" - - .align 2 -gMonFootprint_Primeape:: @ 8C56940 - .incbin "graphics/pokemon/footprints/primeape_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Growlithe:: @ 8C56960 - .incbin "graphics/pokemon/front_pics/growlithe_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Growlithe:: @ 8C56CB8 - .incbin "graphics/pokemon/palettes/growlithe_palette.gbapal.lz" - - .align 2 -gMonBackPic_Growlithe:: @ 8C56CE0 - .incbin "graphics/pokemon/back_pics/growlithe_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Growlithe:: @ 8C5701C - .incbin "graphics/pokemon/palettes/growlithe_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Growlithe:: @ 8C57044 - .incbin "graphics/pokemon/icons/growlithe_icon.4bpp" - - .align 2 -gMonFootprint_Growlithe:: @ 8C57444 - .incbin "graphics/pokemon/footprints/growlithe_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Arcanine:: @ 8C57464 - .incbin "graphics/pokemon/front_pics/arcanine_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Arcanine:: @ 8C57998 - .incbin "graphics/pokemon/palettes/arcanine_palette.gbapal.lz" - - .align 2 -gMonBackPic_Arcanine:: @ 8C579C0 - .incbin "graphics/pokemon/back_pics/arcanine_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Arcanine:: @ 8C57DA0 - .incbin "graphics/pokemon/palettes/arcanine_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Arcanine:: @ 8C57DC8 - .incbin "graphics/pokemon/icons/arcanine_icon.4bpp" - - .align 2 -gMonFootprint_Arcanine:: @ 8C581C8 - .incbin "graphics/pokemon/footprints/arcanine_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Poliwag:: @ 8C581E8 - .incbin "graphics/pokemon/front_pics/poliwag_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Poliwag:: @ 8C58470 - .incbin "graphics/pokemon/palettes/poliwag_palette.gbapal.lz" - - .align 2 -gMonBackPic_Poliwag:: @ 8C58498 - .incbin "graphics/pokemon/back_pics/poliwag_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Poliwag:: @ 8C58708 - .incbin "graphics/pokemon/palettes/poliwag_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Poliwag:: @ 8C58730 - .incbin "graphics/pokemon/icons/poliwag_icon.4bpp" - - .align 2 -gMonFootprint_Poliwag:: @ 8C58B30 - .incbin "graphics/pokemon/footprints/poliwag_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Poliwhirl:: @ 8C58B50 - .incbin "graphics/pokemon/front_pics/poliwhirl_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Poliwhirl:: @ 8C58F14 - .incbin "graphics/pokemon/palettes/poliwhirl_palette.gbapal.lz" - - .align 2 -gMonBackPic_Poliwhirl:: @ 8C58F3C - .incbin "graphics/pokemon/back_pics/poliwhirl_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Poliwhirl:: @ 8C591FC - .incbin "graphics/pokemon/palettes/poliwhirl_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Poliwhirl:: @ 8C59224 - .incbin "graphics/pokemon/icons/poliwhirl_icon.4bpp" - - .align 2 -gMonFootprint_Poliwhirl:: @ 8C59624 - .incbin "graphics/pokemon/footprints/poliwhirl_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Poliwrath:: @ 8C59644 - .incbin "graphics/pokemon/front_pics/poliwrath_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Poliwrath:: @ 8C59A0C - .incbin "graphics/pokemon/palettes/poliwrath_palette.gbapal.lz" - - .align 2 -gMonBackPic_Poliwrath:: @ 8C59A34 - .incbin "graphics/pokemon/back_pics/poliwrath_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Poliwrath:: @ 8C59D54 - .incbin "graphics/pokemon/palettes/poliwrath_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Poliwrath:: @ 8C59D7C - .incbin "graphics/pokemon/icons/poliwrath_icon.4bpp" - - .align 2 -gMonFootprint_Poliwrath:: @ 8C5A17C - .incbin "graphics/pokemon/footprints/poliwrath_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Abra:: @ 8C5A19C - .incbin "graphics/pokemon/front_pics/abra_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Abra:: @ 8C5A480 - .incbin "graphics/pokemon/palettes/abra_palette.gbapal.lz" - - .align 2 -gMonBackPic_Abra:: @ 8C5A4A4 - .incbin "graphics/pokemon/back_pics/abra_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Abra:: @ 8C5A7B8 - .incbin "graphics/pokemon/palettes/abra_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Abra:: @ 8C5A7DC - .incbin "graphics/pokemon/icons/abra_icon.4bpp" - - .align 2 -gMonFootprint_Abra:: @ 8C5ABDC - .incbin "graphics/pokemon/footprints/abra_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Kadabra:: @ 8C5ABFC - .incbin "graphics/pokemon/front_pics/kadabra_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Kadabra:: @ 8C5B060 - .incbin "graphics/pokemon/palettes/kadabra_palette.gbapal.lz" - - .align 2 -gMonBackPic_Kadabra:: @ 8C5B088 - .incbin "graphics/pokemon/back_pics/kadabra_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Kadabra:: @ 8C5B464 - .incbin "graphics/pokemon/palettes/kadabra_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Kadabra:: @ 8C5B48C - .incbin "graphics/pokemon/icons/kadabra_icon.4bpp" - - .align 2 -gMonFootprint_Kadabra:: @ 8C5B88C - .incbin "graphics/pokemon/footprints/kadabra_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Alakazam:: @ 8C5B8AC - .incbin "graphics/pokemon/front_pics/alakazam_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Alakazam:: @ 8C5BCA8 - .incbin "graphics/pokemon/palettes/alakazam_palette.gbapal.lz" - - .align 2 -gMonBackPic_Alakazam:: @ 8C5BCD0 - .incbin "graphics/pokemon/back_pics/alakazam_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Alakazam:: @ 8C5C114 - .incbin "graphics/pokemon/palettes/alakazam_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Alakazam:: @ 8C5C13C - .incbin "graphics/pokemon/icons/alakazam_icon.4bpp" - - .align 2 -gMonFootprint_Alakazam:: @ 8C5C53C - .incbin "graphics/pokemon/footprints/alakazam_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Machop:: @ 8C5C55C - .incbin "graphics/pokemon/front_pics/machop_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Machop:: @ 8C5C800 - .incbin "graphics/pokemon/palettes/machop_palette.gbapal.lz" - - .align 2 -gMonBackPic_Machop:: @ 8C5C828 - .incbin "graphics/pokemon/back_pics/machop_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Machop:: @ 8C5CB08 - .incbin "graphics/pokemon/palettes/machop_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Machop:: @ 8C5CB30 - .incbin "graphics/pokemon/icons/machop_icon.4bpp" - - .align 2 -gMonFootprint_Machop:: @ 8C5CF30 - .incbin "graphics/pokemon/footprints/machop_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Machoke:: @ 8C5CF50 - .incbin "graphics/pokemon/front_pics/machoke_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Machoke:: @ 8C5D300 - .incbin "graphics/pokemon/palettes/machoke_palette.gbapal.lz" - - .align 2 -gMonBackPic_Machoke:: @ 8C5D328 - .incbin "graphics/pokemon/back_pics/machoke_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Machoke:: @ 8C5D678 - .incbin "graphics/pokemon/palettes/machoke_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Machoke:: @ 8C5D6A0 - .incbin "graphics/pokemon/icons/machoke_icon.4bpp" - - .align 2 -gMonFootprint_Machoke:: @ 8C5DAA0 - .incbin "graphics/pokemon/footprints/machoke_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Machamp:: @ 8C5DAC0 - .incbin "graphics/pokemon/front_pics/machamp_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Machamp:: @ 8C5E010 - .incbin "graphics/pokemon/palettes/machamp_palette.gbapal.lz" - - .align 2 -gMonBackPic_Machamp:: @ 8C5E038 - .incbin "graphics/pokemon/back_pics/machamp_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Machamp:: @ 8C5E494 - .incbin "graphics/pokemon/palettes/machamp_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Machamp:: @ 8C5E4BC - .incbin "graphics/pokemon/icons/machamp_icon.4bpp" - - .align 2 -gMonFootprint_Machamp:: @ 8C5E8BC - .incbin "graphics/pokemon/footprints/machamp_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Bellsprout:: @ 8C5E8DC - .incbin "graphics/pokemon/front_pics/bellsprout_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Bellsprout:: @ 8C5EB5C - .incbin "graphics/pokemon/palettes/bellsprout_palette.gbapal.lz" - - .align 2 -gMonBackPic_Bellsprout:: @ 8C5EB84 - .incbin "graphics/pokemon/back_pics/bellsprout_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Bellsprout:: @ 8C5EE20 - .incbin "graphics/pokemon/palettes/bellsprout_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Bellsprout:: @ 8C5EE48 - .incbin "graphics/pokemon/icons/bellsprout_icon.4bpp" - - .align 2 -gMonFootprint_Bellsprout:: @ 8C5F248 - .incbin "graphics/pokemon/footprints/bellsprout_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Weepinbell:: @ 8C5F268 - .incbin "graphics/pokemon/front_pics/weepinbell_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Weepinbell:: @ 8C5F58C - .incbin "graphics/pokemon/palettes/weepinbell_palette.gbapal.lz" - - .align 2 -gMonBackPic_Weepinbell:: @ 8C5F5B4 - .incbin "graphics/pokemon/back_pics/weepinbell_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Weepinbell:: @ 8C5F8B0 - .incbin "graphics/pokemon/palettes/weepinbell_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Weepinbell:: @ 8C5F8D8 - .incbin "graphics/pokemon/icons/weepinbell_icon.4bpp" - - .align 2 -gMonFootprint_Weepinbell:: @ 8C5FCD8 - .incbin "graphics/pokemon/footprints/weepinbell_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Victreebel:: @ 8C5FCF8 - .incbin "graphics/pokemon/front_pics/victreebel_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Victreebel:: @ 8C60124 - .incbin "graphics/pokemon/palettes/victreebel_palette.gbapal.lz" - - .align 2 -gMonBackPic_Victreebel:: @ 8C6014C - .incbin "graphics/pokemon/back_pics/victreebel_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Victreebel:: @ 8C604E4 - .incbin "graphics/pokemon/palettes/victreebel_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Victreebel:: @ 8C6050C - .incbin "graphics/pokemon/icons/victreebel_icon.4bpp" - - .align 2 -gMonFootprint_Victreebel:: @ 8C6090C - .incbin "graphics/pokemon/footprints/victreebel_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Tentacool:: @ 8C6092C - .incbin "graphics/pokemon/front_pics/tentacool_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Tentacool:: @ 8C60BCC - .incbin "graphics/pokemon/palettes/tentacool_palette.gbapal.lz" - - .align 2 -gMonBackPic_Tentacool:: @ 8C60BF4 - .incbin "graphics/pokemon/back_pics/tentacool_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Tentacool:: @ 8C60EC0 - .incbin "graphics/pokemon/palettes/tentacool_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Tentacool:: @ 8C60EE8 - .incbin "graphics/pokemon/icons/tentacool_icon.4bpp" - - .align 2 -gMonFootprint_Tentacool:: @ 8C612E8 - .incbin "graphics/pokemon/footprints/tentacool_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Tentacruel:: @ 8C61308 - .incbin "graphics/pokemon/front_pics/tentacruel_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Tentacruel:: @ 8C617A4 - .incbin "graphics/pokemon/palettes/tentacruel_palette.gbapal.lz" - - .align 2 -gMonBackPic_Tentacruel:: @ 8C617CC - .incbin "graphics/pokemon/back_pics/tentacruel_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Tentacruel:: @ 8C61B68 - .incbin "graphics/pokemon/palettes/tentacruel_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Tentacruel:: @ 8C61B90 - .incbin "graphics/pokemon/icons/tentacruel_icon.4bpp" - - .align 2 -gMonFootprint_Tentacruel:: @ 8C61F90 - .incbin "graphics/pokemon/footprints/tentacruel_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Geodude:: @ 8C61FB0 - .incbin "graphics/pokemon/front_pics/geodude_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Geodude:: @ 8C6221C - .incbin "graphics/pokemon/palettes/geodude_palette.gbapal.lz" - - .align 2 -gMonBackPic_Geodude:: @ 8C62238 - .incbin "graphics/pokemon/back_pics/geodude_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Geodude:: @ 8C624CC - .incbin "graphics/pokemon/palettes/geodude_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Geodude:: @ 8C624E8 - .incbin "graphics/pokemon/icons/geodude_icon.4bpp" - - .align 2 -gMonFootprint_Geodude:: @ 8C628E8 - .incbin "graphics/pokemon/footprints/geodude_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Graveler:: @ 8C62908 - .incbin "graphics/pokemon/front_pics/graveler_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Graveler:: @ 8C62D10 - .incbin "graphics/pokemon/palettes/graveler_palette.gbapal.lz" - - .align 2 -gMonBackPic_Graveler:: @ 8C62D30 - .incbin "graphics/pokemon/back_pics/graveler_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Graveler:: @ 8C62FAC - .incbin "graphics/pokemon/palettes/graveler_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Graveler:: @ 8C62FCC - .incbin "graphics/pokemon/icons/graveler_icon.4bpp" - - .align 2 -gMonFootprint_Graveler:: @ 8C633CC - .incbin "graphics/pokemon/footprints/graveler_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Golem:: @ 8C633EC - .incbin "graphics/pokemon/front_pics/golem_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Golem:: @ 8C63868 - .incbin "graphics/pokemon/palettes/golem_palette.gbapal.lz" - - .align 2 -gMonBackPic_Golem:: @ 8C63890 - .incbin "graphics/pokemon/back_pics/golem_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Golem:: @ 8C63B50 - .incbin "graphics/pokemon/palettes/golem_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Golem:: @ 8C63B78 - .incbin "graphics/pokemon/icons/golem_icon.4bpp" - - .align 2 -gMonFootprint_Golem:: @ 8C63F78 - .incbin "graphics/pokemon/footprints/golem_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Ponyta:: @ 8C63F98 - .incbin "graphics/pokemon/front_pics/ponyta_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Ponyta:: @ 8C64340 - .incbin "graphics/pokemon/palettes/ponyta_palette.gbapal.lz" - - .align 2 -gMonBackPic_Ponyta:: @ 8C64368 - .incbin "graphics/pokemon/back_pics/ponyta_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Ponyta:: @ 8C646A4 - .incbin "graphics/pokemon/palettes/ponyta_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Ponyta:: @ 8C646CC - .incbin "graphics/pokemon/icons/ponyta_icon.4bpp" - - .align 2 -gMonFootprint_Ponyta:: @ 8C64ACC - .incbin "graphics/pokemon/footprints/ponyta_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Rapidash:: @ 8C64AEC - .incbin "graphics/pokemon/front_pics/rapidash_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Rapidash:: @ 8C64FBC - .incbin "graphics/pokemon/palettes/rapidash_palette.gbapal.lz" - - .align 2 -gMonBackPic_Rapidash:: @ 8C64FE4 - .incbin "graphics/pokemon/back_pics/rapidash_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Rapidash:: @ 8C653F4 - .incbin "graphics/pokemon/palettes/rapidash_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Rapidash:: @ 8C6541C - .incbin "graphics/pokemon/icons/rapidash_icon.4bpp" - - .align 2 -gMonFootprint_Rapidash:: @ 8C6581C - .incbin "graphics/pokemon/footprints/rapidash_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Slowpoke:: @ 8C6583C - .incbin "graphics/pokemon/front_pics/slowpoke_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Slowpoke:: @ 8C65B48 - .incbin "graphics/pokemon/palettes/slowpoke_palette.gbapal.lz" - - .align 2 -gMonBackPic_Slowpoke:: @ 8C65B70 - .incbin "graphics/pokemon/back_pics/slowpoke_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Slowpoke:: @ 8C65DD4 - .incbin "graphics/pokemon/palettes/slowpoke_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Slowpoke:: @ 8C65DFC - .incbin "graphics/pokemon/icons/slowpoke_icon.4bpp" - - .align 2 -gMonFootprint_Slowpoke:: @ 8C661FC - .incbin "graphics/pokemon/footprints/slowpoke_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Slowbro:: @ 8C6621C - .incbin "graphics/pokemon/front_pics/slowbro_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Slowbro:: @ 8C666DC - .incbin "graphics/pokemon/palettes/slowbro_palette.gbapal.lz" - - .align 2 -gMonBackPic_Slowbro:: @ 8C66704 - .incbin "graphics/pokemon/back_pics/slowbro_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Slowbro:: @ 8C66AA0 - .incbin "graphics/pokemon/palettes/slowbro_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Slowbro:: @ 8C66AC8 - .incbin "graphics/pokemon/icons/slowbro_icon.4bpp" - - .align 2 -gMonFootprint_Slowbro:: @ 8C66EC8 - .incbin "graphics/pokemon/footprints/slowbro_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Magnemite:: @ 8C66EE8 - .incbin "graphics/pokemon/front_pics/magnemite_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Magnemite:: @ 8C670C0 - .incbin "graphics/pokemon/palettes/magnemite_palette.gbapal.lz" - - .align 2 -gMonBackPic_Magnemite:: @ 8C670E8 - .incbin "graphics/pokemon/back_pics/magnemite_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Magnemite:: @ 8C672D0 - .incbin "graphics/pokemon/palettes/magnemite_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Magnemite:: @ 8C672F4 - .incbin "graphics/pokemon/icons/magnemite_icon.4bpp" - - .align 2 -gMonFootprint_Magnemite:: @ 8C676F4 - .incbin "graphics/pokemon/footprints/magnemite_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Magneton:: @ 8C67714 - .incbin "graphics/pokemon/front_pics/magneton_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Magneton:: @ 8C67B18 - .incbin "graphics/pokemon/palettes/magneton_palette.gbapal.lz" - - .align 2 -gMonBackPic_Magneton:: @ 8C67B40 - .incbin "graphics/pokemon/back_pics/magneton_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Magneton:: @ 8C67EC0 - .incbin "graphics/pokemon/palettes/magneton_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Magneton:: @ 8C67EE8 - .incbin "graphics/pokemon/icons/magneton_icon.4bpp" - - .align 2 -gMonFootprint_Magneton:: @ 8C682E8 - .incbin "graphics/pokemon/footprints/magneton_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Farfetchd:: @ 8C68308 - .incbin "graphics/pokemon/front_pics/farfetch_d_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Farfetchd:: @ 8C68684 - .incbin "graphics/pokemon/palettes/farfetch_d_palette.gbapal.lz" - - .align 2 -gMonBackPic_Farfetchd:: @ 8C686AC - .incbin "graphics/pokemon/back_pics/farfetch_d_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Farfetchd:: @ 8C68A18 - .incbin "graphics/pokemon/palettes/farfetch_d_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Farfetchd:: @ 8C68A40 - .incbin "graphics/pokemon/icons/farfetch_d_icon.4bpp" - - .align 2 -gMonFootprint_Farfetchd:: @ 8C68E40 - .incbin "graphics/pokemon/footprints/farfetch_d_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Doduo:: @ 8C68E60 - .incbin "graphics/pokemon/front_pics/doduo_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Doduo:: @ 8C691B4 - .incbin "graphics/pokemon/palettes/doduo_palette.gbapal.lz" - - .align 2 -gMonBackPic_Doduo:: @ 8C691D8 - .incbin "graphics/pokemon/back_pics/doduo_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Doduo:: @ 8C694F0 - .incbin "graphics/pokemon/palettes/doduo_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Doduo:: @ 8C69514 - .incbin "graphics/pokemon/icons/doduo_icon.4bpp" - - .align 2 -gMonFootprint_Doduo:: @ 8C69914 - .incbin "graphics/pokemon/footprints/doduo_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Dodrio:: @ 8C69934 - .incbin "graphics/pokemon/front_pics/dodrio_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Dodrio:: @ 8C69E10 - .incbin "graphics/pokemon/palettes/dodrio_palette.gbapal.lz" - - .align 2 -gMonBackPic_Dodrio:: @ 8C69E38 - .incbin "graphics/pokemon/back_pics/dodrio_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Dodrio:: @ 8C6A29C - .incbin "graphics/pokemon/palettes/dodrio_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Dodrio:: @ 8C6A2C4 - .incbin "graphics/pokemon/icons/dodrio_icon.4bpp" - - .align 2 -gMonFootprint_Dodrio:: @ 8C6A6C4 - .incbin "graphics/pokemon/footprints/dodrio_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Seel:: @ 8C6A6E4 - .incbin "graphics/pokemon/front_pics/seel_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Seel:: @ 8C6A9EC - .incbin "graphics/pokemon/palettes/seel_palette.gbapal.lz" - - .align 2 -gMonBackPic_Seel:: @ 8C6AA14 - .incbin "graphics/pokemon/back_pics/seel_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Seel:: @ 8C6AD00 - .incbin "graphics/pokemon/palettes/seel_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Seel:: @ 8C6AD28 - .incbin "graphics/pokemon/icons/seel_icon.4bpp" - - .align 2 -gMonFootprint_Seel:: @ 8C6B128 - .incbin "graphics/pokemon/footprints/seel_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Dewgong:: @ 8C6B148 - .incbin "graphics/pokemon/front_pics/dewgong_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Dewgong:: @ 8C6B510 - .incbin "graphics/pokemon/palettes/dewgong_palette.gbapal.lz" - - .align 2 -gMonBackPic_Dewgong:: @ 8C6B530 - .incbin "graphics/pokemon/back_pics/dewgong_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Dewgong:: @ 8C6B7C4 - .incbin "graphics/pokemon/palettes/dewgong_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Dewgong:: @ 8C6B7E4 - .incbin "graphics/pokemon/icons/dewgong_icon.4bpp" - - .align 2 -gMonFootprint_Dewgong:: @ 8C6BBE4 - .incbin "graphics/pokemon/footprints/dewgong_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Grimer:: @ 8C6BC04 - .incbin "graphics/pokemon/front_pics/grimer_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Grimer:: @ 8C6BF20 - .incbin "graphics/pokemon/palettes/grimer_palette.gbapal.lz" - - .align 2 -gMonBackPic_Grimer:: @ 8C6BF44 - .incbin "graphics/pokemon/back_pics/grimer_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Grimer:: @ 8C6C228 - .incbin "graphics/pokemon/palettes/grimer_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Grimer:: @ 8C6C24C - .incbin "graphics/pokemon/icons/grimer_icon.4bpp" - - .align 2 -gMonFootprint_Grimer:: @ 8C6C64C - .incbin "graphics/pokemon/footprints/grimer_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Muk:: @ 8C6C66C - .incbin "graphics/pokemon/front_pics/muk_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Muk:: @ 8C6CAB8 - .incbin "graphics/pokemon/palettes/muk_palette.gbapal.lz" - - .align 2 -gMonBackPic_Muk:: @ 8C6CADC - .incbin "graphics/pokemon/back_pics/muk_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Muk:: @ 8C6CE34 - .incbin "graphics/pokemon/palettes/muk_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Muk:: @ 8C6CE58 - .incbin "graphics/pokemon/icons/muk_icon.4bpp" - - .align 2 -gMonFootprint_Muk:: @ 8C6D258 - .incbin "graphics/pokemon/footprints/muk_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Shellder:: @ 8C6D278 - .incbin "graphics/pokemon/front_pics/shellder_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Shellder:: @ 8C6D4E0 - .incbin "graphics/pokemon/palettes/shellder_palette.gbapal.lz" - - .align 2 -gMonBackPic_Shellder:: @ 8C6D504 - .incbin "graphics/pokemon/back_pics/shellder_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Shellder:: @ 8C6D818 - .incbin "graphics/pokemon/palettes/shellder_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Shellder:: @ 8C6D83C - .incbin "graphics/pokemon/icons/shellder_icon.4bpp" - - .align 2 -gMonFootprint_Shellder:: @ 8C6DC3C - .incbin "graphics/pokemon/footprints/shellder_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Cloyster:: @ 8C6DC5C - .incbin "graphics/pokemon/front_pics/cloyster_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Cloyster:: @ 8C6E094 - .incbin "graphics/pokemon/palettes/cloyster_palette.gbapal.lz" - - .align 2 -gMonBackPic_Cloyster:: @ 8C6E0B8 - .incbin "graphics/pokemon/back_pics/cloyster_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Cloyster:: @ 8C6E4C4 - .incbin "graphics/pokemon/palettes/cloyster_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Cloyster:: @ 8C6E4E8 - .incbin "graphics/pokemon/icons/cloyster_icon.4bpp" - - .align 2 -gMonFootprint_Cloyster:: @ 8C6E8E8 - .incbin "graphics/pokemon/footprints/cloyster_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Gastly:: @ 8C6E908 - .incbin "graphics/pokemon/front_pics/gastly_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Gastly:: @ 8C6ECC0 - .incbin "graphics/pokemon/palettes/gastly_palette.gbapal.lz" - - .align 2 -gMonBackPic_Gastly:: @ 8C6ECE8 - .incbin "graphics/pokemon/back_pics/gastly_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Gastly:: @ 8C6F00C - .incbin "graphics/pokemon/palettes/gastly_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Gastly:: @ 8C6F034 - .incbin "graphics/pokemon/icons/gastly_icon.4bpp" - - .align 2 -gMonFootprint_Gastly:: @ 8C6F434 - .incbin "graphics/pokemon/footprints/gastly_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Haunter:: @ 8C6F454 - .incbin "graphics/pokemon/front_pics/haunter_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Haunter:: @ 8C6F854 - .incbin "graphics/pokemon/palettes/haunter_palette.gbapal.lz" - - .align 2 -gMonBackPic_Haunter:: @ 8C6F878 - .incbin "graphics/pokemon/back_pics/haunter_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Haunter:: @ 8C6FBA0 - .incbin "graphics/pokemon/palettes/haunter_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Haunter:: @ 8C6FBC4 - .incbin "graphics/pokemon/icons/haunter_icon.4bpp" - - .align 2 -gMonFootprint_Haunter:: @ 8C6FFC4 - .incbin "graphics/pokemon/footprints/haunter_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Gengar:: @ 8C6FFE4 - .incbin "graphics/pokemon/front_pics/gengar_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Gengar:: @ 8C70380 - .incbin "graphics/pokemon/palettes/gengar_palette.gbapal.lz" - - .align 2 -gMonBackPic_Gengar:: @ 8C703A4 - .incbin "graphics/pokemon/back_pics/gengar_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Gengar:: @ 8C7068C - .incbin "graphics/pokemon/palettes/gengar_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Gengar:: @ 8C706B0 - .incbin "graphics/pokemon/icons/gengar_icon.4bpp" - - .align 2 -gMonFootprint_Gengar:: @ 8C70AB0 - .incbin "graphics/pokemon/footprints/gengar_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Onix:: @ 8C70AD0 - .incbin "graphics/pokemon/front_pics/onix_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Onix:: @ 8C70F48 - .incbin "graphics/pokemon/palettes/onix_palette.gbapal.lz" - - .align 2 -gMonBackPic_Onix:: @ 8C70F64 - .incbin "graphics/pokemon/back_pics/onix_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Onix:: @ 8C712E0 - .incbin "graphics/pokemon/palettes/onix_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Onix:: @ 8C712FC - .incbin "graphics/pokemon/icons/onix_icon.4bpp" - - .align 2 -gMonFootprint_Onix:: @ 8C716FC - .incbin "graphics/pokemon/footprints/onix_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Drowzee:: @ 8C7171C - .incbin "graphics/pokemon/front_pics/drowzee_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Drowzee:: @ 8C71A94 - .incbin "graphics/pokemon/palettes/drowzee_palette.gbapal.lz" - - .align 2 -gMonBackPic_Drowzee:: @ 8C71AB8 - .incbin "graphics/pokemon/back_pics/drowzee_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Drowzee:: @ 8C71D14 - .incbin "graphics/pokemon/palettes/drowzee_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Drowzee:: @ 8C71D38 - .incbin "graphics/pokemon/icons/drowzee_icon.4bpp" - - .align 2 -gMonFootprint_Drowzee:: @ 8C72138 - .incbin "graphics/pokemon/footprints/drowzee_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Hypno:: @ 8C72158 - .incbin "graphics/pokemon/front_pics/hypno_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Hypno:: @ 8C72544 - .incbin "graphics/pokemon/palettes/hypno_palette.gbapal.lz" - - .align 2 -gMonBackPic_Hypno:: @ 8C72568 - .incbin "graphics/pokemon/back_pics/hypno_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Hypno:: @ 8C72898 - .incbin "graphics/pokemon/palettes/hypno_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Hypno:: @ 8C728BC - .incbin "graphics/pokemon/icons/hypno_icon.4bpp" - - .align 2 -gMonFootprint_Hypno:: @ 8C72CBC - .incbin "graphics/pokemon/footprints/hypno_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Krabby:: @ 8C72CDC - .incbin "graphics/pokemon/front_pics/krabby_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Krabby:: @ 8C72F94 - .incbin "graphics/pokemon/palettes/krabby_palette.gbapal.lz" - - .align 2 -gMonBackPic_Krabby:: @ 8C72FBC - .incbin "graphics/pokemon/back_pics/krabby_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Krabby:: @ 8C73348 - .incbin "graphics/pokemon/palettes/krabby_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Krabby:: @ 8C73370 - .incbin "graphics/pokemon/icons/krabby_icon.4bpp" - - .align 2 -gMonFootprint_Krabby:: @ 8C73770 - .incbin "graphics/pokemon/footprints/krabby_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Kingler:: @ 8C73790 - .incbin "graphics/pokemon/front_pics/kingler_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Kingler:: @ 8C73CC4 - .incbin "graphics/pokemon/palettes/kingler_palette.gbapal.lz" - - .align 2 -gMonBackPic_Kingler:: @ 8C73CE8 - .incbin "graphics/pokemon/back_pics/kingler_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Kingler:: @ 8C7406C - .incbin "graphics/pokemon/palettes/kingler_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Kingler:: @ 8C74090 - .incbin "graphics/pokemon/icons/kingler_icon.4bpp" - - .align 2 -gMonFootprint_Kingler:: @ 8C74490 - .incbin "graphics/pokemon/footprints/kingler_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Voltorb:: @ 8C744B0 - .incbin "graphics/pokemon/front_pics/voltorb_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Voltorb:: @ 8C746B8 - .incbin "graphics/pokemon/palettes/voltorb_palette.gbapal.lz" - - .align 2 -gMonBackPic_Voltorb:: @ 8C746DC - .incbin "graphics/pokemon/back_pics/voltorb_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Voltorb:: @ 8C74950 - .incbin "graphics/pokemon/palettes/voltorb_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Voltorb:: @ 8C74974 - .incbin "graphics/pokemon/icons/voltorb_icon.4bpp" - - .align 2 -gMonFootprint_Voltorb:: @ 8C74D74 - .incbin "graphics/pokemon/footprints/voltorb_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Electrode:: @ 8C74D94 - .incbin "graphics/pokemon/front_pics/electrode_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Electrode:: @ 8C75000 - .incbin "graphics/pokemon/palettes/electrode_palette.gbapal.lz" - - .align 2 -gMonBackPic_Electrode:: @ 8C75024 - .incbin "graphics/pokemon/back_pics/electrode_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Electrode:: @ 8C75294 - .incbin "graphics/pokemon/palettes/electrode_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Electrode:: @ 8C752B8 - .incbin "graphics/pokemon/icons/electrode_icon.4bpp" - - .align 2 -gMonFootprint_Electrode:: @ 8C756B8 - .incbin "graphics/pokemon/footprints/electrode_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Exeggcute:: @ 8C756D8 - .incbin "graphics/pokemon/front_pics/exeggcute_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Exeggcute:: @ 8C75ADC - .incbin "graphics/pokemon/palettes/exeggcute_palette.gbapal.lz" - - .align 2 -gMonBackPic_Exeggcute:: @ 8C75B00 - .incbin "graphics/pokemon/back_pics/exeggcute_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Exeggcute:: @ 8C75E08 - .incbin "graphics/pokemon/palettes/exeggcute_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Exeggcute:: @ 8C75E2C - .incbin "graphics/pokemon/icons/exeggcute_icon.4bpp" - - .align 2 -gMonFootprint_Exeggcute:: @ 8C7622C - .incbin "graphics/pokemon/footprints/exeggcute_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Exeggutor:: @ 8C7624C - .incbin "graphics/pokemon/front_pics/exeggutor_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Exeggutor:: @ 8C7674C - .incbin "graphics/pokemon/palettes/exeggutor_palette.gbapal.lz" - - .align 2 -gMonBackPic_Exeggutor:: @ 8C76774 - .incbin "graphics/pokemon/back_pics/exeggutor_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Exeggutor:: @ 8C76C14 - .incbin "graphics/pokemon/palettes/exeggutor_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Exeggutor:: @ 8C76C3C - .incbin "graphics/pokemon/icons/exeggutor_icon.4bpp" - - .align 2 -gMonFootprint_Exeggutor:: @ 8C7703C - .incbin "graphics/pokemon/footprints/exeggutor_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Cubone:: @ 8C7705C - .incbin "graphics/pokemon/front_pics/cubone_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Cubone:: @ 8C7732C - .incbin "graphics/pokemon/palettes/cubone_palette.gbapal.lz" - - .align 2 -gMonBackPic_Cubone:: @ 8C77354 - .incbin "graphics/pokemon/back_pics/cubone_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Cubone:: @ 8C77694 - .incbin "graphics/pokemon/palettes/cubone_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Cubone:: @ 8C776BC - .incbin "graphics/pokemon/icons/cubone_icon.4bpp" - - .align 2 -gMonFootprint_Cubone:: @ 8C77ABC - .incbin "graphics/pokemon/footprints/cubone_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Marowak:: @ 8C77ADC - .incbin "graphics/pokemon/front_pics/marowak_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Marowak:: @ 8C77E64 - .incbin "graphics/pokemon/palettes/marowak_palette.gbapal.lz" - - .align 2 -gMonBackPic_Marowak:: @ 8C77E8C - .incbin "graphics/pokemon/back_pics/marowak_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Marowak:: @ 8C781D4 - .incbin "graphics/pokemon/palettes/marowak_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Marowak:: @ 8C781FC - .incbin "graphics/pokemon/icons/marowak_icon.4bpp" - - .align 2 -gMonFootprint_Marowak:: @ 8C785FC - .incbin "graphics/pokemon/footprints/marowak_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Hitmonlee:: @ 8C7861C - .incbin "graphics/pokemon/front_pics/hitmonlee_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Hitmonlee:: @ 8C78A1C - .incbin "graphics/pokemon/palettes/hitmonlee_palette.gbapal.lz" - - .align 2 -gMonBackPic_Hitmonlee:: @ 8C78A44 - .incbin "graphics/pokemon/back_pics/hitmonlee_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Hitmonlee:: @ 8C78CE8 - .incbin "graphics/pokemon/palettes/hitmonlee_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Hitmonlee:: @ 8C78D10 - .incbin "graphics/pokemon/icons/hitmonlee_icon.4bpp" - - .align 2 -gMonFootprint_Hitmonlee:: @ 8C79110 - .incbin "graphics/pokemon/footprints/hitmonlee_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Hitmonchan:: @ 8C79130 - .incbin "graphics/pokemon/front_pics/hitmonchan_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Hitmonchan:: @ 8C79470 - .incbin "graphics/pokemon/palettes/hitmonchan_palette.gbapal.lz" - - .align 2 -gMonBackPic_Hitmonchan:: @ 8C79498 - .incbin "graphics/pokemon/back_pics/hitmonchan_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Hitmonchan:: @ 8C797DC - .incbin "graphics/pokemon/palettes/hitmonchan_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Hitmonchan:: @ 8C79804 - .incbin "graphics/pokemon/icons/hitmonchan_icon.4bpp" - - .align 2 -gMonFootprint_Hitmonchan:: @ 8C79C04 - .incbin "graphics/pokemon/footprints/hitmonchan_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Lickitung:: @ 8C79C24 - .incbin "graphics/pokemon/front_pics/lickitung_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Lickitung:: @ 8C79FDC - .incbin "graphics/pokemon/palettes/lickitung_palette.gbapal.lz" - - .align 2 -gMonBackPic_Lickitung:: @ 8C7A004 - .incbin "graphics/pokemon/back_pics/lickitung_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Lickitung:: @ 8C7A2C4 - .incbin "graphics/pokemon/palettes/lickitung_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Lickitung:: @ 8C7A2EC - .incbin "graphics/pokemon/icons/lickitung_icon.4bpp" - - .align 2 -gMonFootprint_Lickitung:: @ 8C7A6EC - .incbin "graphics/pokemon/footprints/lickitung_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Koffing:: @ 8C7A70C - .incbin "graphics/pokemon/front_pics/koffing_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Koffing:: @ 8C7AA68 - .incbin "graphics/pokemon/palettes/koffing_palette.gbapal.lz" - - .align 2 -gMonBackPic_Koffing:: @ 8C7AA90 - .incbin "graphics/pokemon/back_pics/koffing_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Koffing:: @ 8C7AD90 - .incbin "graphics/pokemon/palettes/koffing_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Koffing:: @ 8C7ADB8 - .incbin "graphics/pokemon/icons/koffing_icon.4bpp" - - .align 2 -gMonFootprint_Koffing:: @ 8C7B1B8 - .incbin "graphics/pokemon/footprints/koffing_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Weezing:: @ 8C7B1D8 - .incbin "graphics/pokemon/front_pics/weezing_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Weezing:: @ 8C7B660 - .incbin "graphics/pokemon/palettes/weezing_palette.gbapal.lz" - - .align 2 -gMonBackPic_Weezing:: @ 8C7B688 - .incbin "graphics/pokemon/back_pics/weezing_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Weezing:: @ 8C7B9B8 - .incbin "graphics/pokemon/palettes/weezing_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Weezing:: @ 8C7B9E0 - .incbin "graphics/pokemon/icons/weezing_icon.4bpp" - - .align 2 -gMonFootprint_Weezing:: @ 8C7BDE0 - .incbin "graphics/pokemon/footprints/weezing_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Rhyhorn:: @ 8C7BE00 - .incbin "graphics/pokemon/front_pics/rhyhorn_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Rhyhorn:: @ 8C7C204 - .incbin "graphics/pokemon/palettes/rhyhorn_palette.gbapal.lz" - - .align 2 -gMonBackPic_Rhyhorn:: @ 8C7C224 - .incbin "graphics/pokemon/back_pics/rhyhorn_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Rhyhorn:: @ 8C7C56C - .incbin "graphics/pokemon/palettes/rhyhorn_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Rhyhorn:: @ 8C7C58C - .incbin "graphics/pokemon/icons/rhyhorn_icon.4bpp" - - .align 2 -gMonFootprint_Rhyhorn:: @ 8C7C98C - .incbin "graphics/pokemon/footprints/rhyhorn_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Rhydon:: @ 8C7C9AC - .incbin "graphics/pokemon/front_pics/rhydon_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Rhydon:: @ 8C7CEB4 - .incbin "graphics/pokemon/palettes/rhydon_palette.gbapal.lz" - - .align 2 -gMonBackPic_Rhydon:: @ 8C7CEDC - .incbin "graphics/pokemon/back_pics/rhydon_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Rhydon:: @ 8C7D32C - .incbin "graphics/pokemon/palettes/rhydon_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Rhydon:: @ 8C7D354 - .incbin "graphics/pokemon/icons/rhydon_icon.4bpp" - - .align 2 -gMonFootprint_Rhydon:: @ 8C7D754 - .incbin "graphics/pokemon/footprints/rhydon_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Chansey:: @ 8C7D774 - .incbin "graphics/pokemon/front_pics/chansey_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Chansey:: @ 8C7DAC8 - .incbin "graphics/pokemon/palettes/chansey_palette.gbapal.lz" - - .align 2 -gMonBackPic_Chansey:: @ 8C7DAEC - .incbin "graphics/pokemon/back_pics/chansey_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Chansey:: @ 8C7DDC0 - .incbin "graphics/pokemon/palettes/chansey_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Chansey:: @ 8C7DDE4 - .incbin "graphics/pokemon/icons/chansey_icon.4bpp" - - .align 2 -gMonFootprint_Chansey:: @ 8C7E1E4 - .incbin "graphics/pokemon/footprints/chansey_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Tangela:: @ 8C7E204 - .incbin "graphics/pokemon/front_pics/tangela_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Tangela:: @ 8C7E5D8 - .incbin "graphics/pokemon/palettes/tangela_palette.gbapal.lz" - - .align 2 -gMonBackPic_Tangela:: @ 8C7E5FC - .incbin "graphics/pokemon/back_pics/tangela_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Tangela:: @ 8C7E9A8 - .incbin "graphics/pokemon/palettes/tangela_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Tangela:: @ 8C7E9CC - .incbin "graphics/pokemon/icons/tangela_icon.4bpp" - - .align 2 -gMonFootprint_Tangela:: @ 8C7EDCC - .incbin "graphics/pokemon/footprints/tangela_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Kangaskhan:: @ 8C7EDEC - .incbin "graphics/pokemon/front_pics/kangaskhan_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Kangaskhan:: @ 8C7F2E4 - .incbin "graphics/pokemon/palettes/kangaskhan_palette.gbapal.lz" - - .align 2 -gMonBackPic_Kangaskhan:: @ 8C7F30C - .incbin "graphics/pokemon/back_pics/kangaskhan_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Kangaskhan:: @ 8C7F73C - .incbin "graphics/pokemon/palettes/kangaskhan_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Kangaskhan:: @ 8C7F764 - .incbin "graphics/pokemon/icons/kangaskhan_icon.4bpp" - - .align 2 -gMonFootprint_Kangaskhan:: @ 8C7FB64 - .incbin "graphics/pokemon/footprints/kangaskhan_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Horsea:: @ 8C7FB84 - .incbin "graphics/pokemon/front_pics/horsea_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Horsea:: @ 8C7FDFC - .incbin "graphics/pokemon/palettes/horsea_palette.gbapal.lz" - - .align 2 -gMonBackPic_Horsea:: @ 8C7FE24 - .incbin "graphics/pokemon/back_pics/horsea_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Horsea:: @ 8C80104 - .incbin "graphics/pokemon/palettes/horsea_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Horsea:: @ 8C8012C - .incbin "graphics/pokemon/icons/horsea_icon.4bpp" - - .align 2 -gMonFootprint_Horsea:: @ 8C8052C - .incbin "graphics/pokemon/footprints/horsea_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Seadra:: @ 8C8054C - .incbin "graphics/pokemon/front_pics/seadra_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Seadra:: @ 8C8090C - .incbin "graphics/pokemon/palettes/seadra_palette.gbapal.lz" - - .align 2 -gMonBackPic_Seadra:: @ 8C80934 - .incbin "graphics/pokemon/back_pics/seadra_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Seadra:: @ 8C80CD4 - .incbin "graphics/pokemon/palettes/seadra_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Seadra:: @ 8C80CFC - .incbin "graphics/pokemon/icons/seadra_icon.4bpp" - - .align 2 -gMonFootprint_Seadra:: @ 8C810FC - .incbin "graphics/pokemon/footprints/seadra_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Goldeen:: @ 8C8111C - .incbin "graphics/pokemon/front_pics/goldeen_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Goldeen:: @ 8C81484 - .incbin "graphics/pokemon/palettes/goldeen_palette.gbapal.lz" - - .align 2 -gMonBackPic_Goldeen:: @ 8C814AC - .incbin "graphics/pokemon/back_pics/goldeen_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Goldeen:: @ 8C8181C - .incbin "graphics/pokemon/palettes/goldeen_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Goldeen:: @ 8C81844 - .incbin "graphics/pokemon/icons/goldeen_icon.4bpp" - - .align 2 -gMonFootprint_Goldeen:: @ 8C81C44 - .incbin "graphics/pokemon/footprints/goldeen_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Seaking:: @ 8C81C64 - .incbin "graphics/pokemon/front_pics/seaking_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Seaking:: @ 8C820D8 - .incbin "graphics/pokemon/palettes/seaking_palette.gbapal.lz" - - .align 2 -gMonBackPic_Seaking:: @ 8C82100 - .incbin "graphics/pokemon/back_pics/seaking_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Seaking:: @ 8C82450 - .incbin "graphics/pokemon/palettes/seaking_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Seaking:: @ 8C82478 - .incbin "graphics/pokemon/icons/seaking_icon.4bpp" - - .align 2 -gMonFootprint_Seaking:: @ 8C82878 - .incbin "graphics/pokemon/footprints/seaking_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Staryu:: @ 8C82898 - .incbin "graphics/pokemon/front_pics/staryu_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Staryu:: @ 8C82B7C - .incbin "graphics/pokemon/palettes/staryu_palette.gbapal.lz" - - .align 2 -gMonBackPic_Staryu:: @ 8C82BA4 - .incbin "graphics/pokemon/back_pics/staryu_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Staryu:: @ 8C82E30 - .incbin "graphics/pokemon/palettes/staryu_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Staryu:: @ 8C82E58 - .incbin "graphics/pokemon/icons/staryu_icon.4bpp" - - .align 2 -gMonFootprint_Staryu:: @ 8C83258 - .incbin "graphics/pokemon/footprints/staryu_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Starmie:: @ 8C83278 - .incbin "graphics/pokemon/front_pics/starmie_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Starmie:: @ 8C836A0 - .incbin "graphics/pokemon/palettes/starmie_palette.gbapal.lz" - - .align 2 -gMonBackPic_Starmie:: @ 8C836C8 - .incbin "graphics/pokemon/back_pics/starmie_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Starmie:: @ 8C8396C - .incbin "graphics/pokemon/palettes/starmie_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Starmie:: @ 8C83994 - .incbin "graphics/pokemon/icons/starmie_icon.4bpp" - - .align 2 -gMonFootprint_Starmie:: @ 8C83D94 - .incbin "graphics/pokemon/footprints/starmie_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Mrmime:: @ 8C83DB4 - .incbin "graphics/pokemon/front_pics/mr_mime_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Mrmime:: @ 8C84164 - .incbin "graphics/pokemon/palettes/mr_mime_palette.gbapal.lz" - - .align 2 -gMonBackPic_Mrmime:: @ 8C8418C - .incbin "graphics/pokemon/back_pics/mr_mime_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Mrmime:: @ 8C844C0 - .incbin "graphics/pokemon/palettes/mr_mime_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Mrmime:: @ 8C844E8 - .incbin "graphics/pokemon/icons/mr_mime_icon.4bpp" - - .align 2 -gMonFootprint_Mrmime:: @ 8C848E8 - .incbin "graphics/pokemon/footprints/mr_mime_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Scyther:: @ 8C84908 - .incbin "graphics/pokemon/front_pics/scyther_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Scyther:: @ 8C84DB4 - .incbin "graphics/pokemon/palettes/scyther_palette.gbapal.lz" - - .align 2 -gMonBackPic_Scyther:: @ 8C84DDC - .incbin "graphics/pokemon/back_pics/scyther_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Scyther:: @ 8C85184 - .incbin "graphics/pokemon/palettes/scyther_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Scyther:: @ 8C851AC - .incbin "graphics/pokemon/icons/scyther_icon.4bpp" - - .align 2 -gMonFootprint_Scyther:: @ 8C855AC - .incbin "graphics/pokemon/footprints/scyther_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Jynx:: @ 8C855CC - .incbin "graphics/pokemon/front_pics/jynx_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Jynx:: @ 8C85A68 - .incbin "graphics/pokemon/palettes/jynx_palette.gbapal.lz" - - .align 2 -gMonBackPic_Jynx:: @ 8C85A90 - .incbin "graphics/pokemon/back_pics/jynx_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Jynx:: @ 8C85D88 - .incbin "graphics/pokemon/palettes/jynx_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Jynx:: @ 8C85DB0 - .incbin "graphics/pokemon/icons/jynx_icon.4bpp" - - .align 2 -gMonFootprint_Jynx:: @ 8C861B0 - .incbin "graphics/pokemon/footprints/jynx_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Electabuzz:: @ 8C861D0 - .incbin "graphics/pokemon/front_pics/electabuzz_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Electabuzz:: @ 8C8664C - .incbin "graphics/pokemon/palettes/electabuzz_palette.gbapal.lz" - - .align 2 -gMonBackPic_Electabuzz:: @ 8C86674 - .incbin "graphics/pokemon/back_pics/electabuzz_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Electabuzz:: @ 8C86984 - .incbin "graphics/pokemon/palettes/electabuzz_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Electabuzz:: @ 8C869AC - .incbin "graphics/pokemon/icons/electabuzz_icon.4bpp" - - .align 2 -gMonFootprint_Electabuzz:: @ 8C86DAC - .incbin "graphics/pokemon/footprints/electabuzz_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Magmar:: @ 8C86DCC - .incbin "graphics/pokemon/front_pics/magmar_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Magmar:: @ 8C87274 - .incbin "graphics/pokemon/palettes/magmar_palette.gbapal.lz" - - .align 2 -gMonBackPic_Magmar:: @ 8C8729C - .incbin "graphics/pokemon/back_pics/magmar_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Magmar:: @ 8C875E4 - .incbin "graphics/pokemon/palettes/magmar_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Magmar:: @ 8C8760C - .incbin "graphics/pokemon/icons/magmar_icon.4bpp" - - .align 2 -gMonFootprint_Magmar:: @ 8C87A0C - .incbin "graphics/pokemon/footprints/magmar_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Pinsir:: @ 8C87A2C - .incbin "graphics/pokemon/front_pics/pinsir_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Pinsir:: @ 8C87E54 - .incbin "graphics/pokemon/palettes/pinsir_palette.gbapal.lz" - - .align 2 -gMonBackPic_Pinsir:: @ 8C87E78 - .incbin "graphics/pokemon/back_pics/pinsir_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Pinsir:: @ 8C881CC - .incbin "graphics/pokemon/palettes/pinsir_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Pinsir:: @ 8C881F0 - .incbin "graphics/pokemon/icons/pinsir_icon.4bpp" - - .align 2 -gMonFootprint_Pinsir:: @ 8C885F0 - .incbin "graphics/pokemon/footprints/pinsir_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Tauros:: @ 8C88610 - .incbin "graphics/pokemon/front_pics/tauros_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Tauros:: @ 8C88AE0 - .incbin "graphics/pokemon/palettes/tauros_palette.gbapal.lz" - - .align 2 -gMonBackPic_Tauros:: @ 8C88B08 - .incbin "graphics/pokemon/back_pics/tauros_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Tauros:: @ 8C88DBC - .incbin "graphics/pokemon/palettes/tauros_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Tauros:: @ 8C88DE4 - .incbin "graphics/pokemon/icons/tauros_icon.4bpp" - - .align 2 -gMonFootprint_Tauros:: @ 8C891E4 - .incbin "graphics/pokemon/footprints/tauros_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Magikarp:: @ 8C89204 - .incbin "graphics/pokemon/front_pics/magikarp_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Magikarp:: @ 8C89554 - .incbin "graphics/pokemon/palettes/magikarp_palette.gbapal.lz" - - .align 2 -gMonBackPic_Magikarp:: @ 8C8957C - .incbin "graphics/pokemon/back_pics/magikarp_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Magikarp:: @ 8C898AC - .incbin "graphics/pokemon/palettes/magikarp_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Magikarp:: @ 8C898D4 - .incbin "graphics/pokemon/icons/magikarp_icon.4bpp" - - .align 2 -gMonFootprint_Magikarp:: @ 8C89CD4 - .incbin "graphics/pokemon/footprints/magikarp_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Gyarados:: @ 8C89CF4 - .incbin "graphics/pokemon/front_pics/gyarados_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Gyarados:: @ 8C8A25C - .incbin "graphics/pokemon/palettes/gyarados_palette.gbapal.lz" - - .align 2 -gMonBackPic_Gyarados:: @ 8C8A284 - .incbin "graphics/pokemon/back_pics/gyarados_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Gyarados:: @ 8C8A758 - .incbin "graphics/pokemon/palettes/gyarados_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Gyarados:: @ 8C8A780 - .incbin "graphics/pokemon/icons/gyarados_icon.4bpp" - - .align 2 -gMonFootprint_Gyarados:: @ 8C8AB80 - .incbin "graphics/pokemon/footprints/gyarados_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Lapras:: @ 8C8ABA0 - .incbin "graphics/pokemon/front_pics/lapras_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Lapras:: @ 8C8AF60 - .incbin "graphics/pokemon/palettes/lapras_palette.gbapal.lz" - - .align 2 -gMonBackPic_Lapras:: @ 8C8AF88 - .incbin "graphics/pokemon/back_pics/lapras_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Lapras:: @ 8C8B2CC - .incbin "graphics/pokemon/palettes/lapras_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Lapras:: @ 8C8B2F4 - .incbin "graphics/pokemon/icons/lapras_icon.4bpp" - - .align 2 -gMonFootprint_Lapras:: @ 8C8B6F4 - .incbin "graphics/pokemon/footprints/lapras_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Ditto:: @ 8C8B714 - .incbin "graphics/pokemon/front_pics/ditto_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Ditto:: @ 8C8B904 - .incbin "graphics/pokemon/palettes/ditto_palette.gbapal.lz" - - .align 2 -gMonBackPic_Ditto:: @ 8C8B924 - .incbin "graphics/pokemon/back_pics/ditto_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Ditto:: @ 8C8BB24 - .incbin "graphics/pokemon/palettes/ditto_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Ditto:: @ 8C8BB44 - .incbin "graphics/pokemon/icons/ditto_icon.4bpp" - - .align 2 -gMonFootprint_Ditto:: @ 8C8BF44 - .incbin "graphics/pokemon/footprints/ditto_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Eevee:: @ 8C8BF64 - .incbin "graphics/pokemon/front_pics/eevee_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Eevee:: @ 8C8C208 - .incbin "graphics/pokemon/palettes/eevee_palette.gbapal.lz" - - .align 2 -gMonBackPic_Eevee:: @ 8C8C22C - .incbin "graphics/pokemon/back_pics/eevee_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Eevee:: @ 8C8C554 - .incbin "graphics/pokemon/palettes/eevee_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Eevee:: @ 8C8C578 - .incbin "graphics/pokemon/icons/eevee_icon.4bpp" - - .align 2 -gMonFootprint_Eevee:: @ 8C8C978 - .incbin "graphics/pokemon/footprints/eevee_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Vaporeon:: @ 8C8C998 - .incbin "graphics/pokemon/front_pics/vaporeon_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Vaporeon:: @ 8C8CD2C - .incbin "graphics/pokemon/palettes/vaporeon_palette.gbapal.lz" - - .align 2 -gMonBackPic_Vaporeon:: @ 8C8CD54 - .incbin "graphics/pokemon/back_pics/vaporeon_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Vaporeon:: @ 8C8D01C - .incbin "graphics/pokemon/palettes/vaporeon_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Vaporeon:: @ 8C8D044 - .incbin "graphics/pokemon/icons/vaporeon_icon.4bpp" - - .align 2 -gMonFootprint_Vaporeon:: @ 8C8D444 - .incbin "graphics/pokemon/footprints/vaporeon_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Jolteon:: @ 8C8D464 - .incbin "graphics/pokemon/front_pics/jolteon_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Jolteon:: @ 8C8D804 - .incbin "graphics/pokemon/palettes/jolteon_palette.gbapal.lz" - - .align 2 -gMonBackPic_Jolteon:: @ 8C8D82C - .incbin "graphics/pokemon/back_pics/jolteon_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Jolteon:: @ 8C8DBBC - .incbin "graphics/pokemon/palettes/jolteon_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Jolteon:: @ 8C8DBE4 - .incbin "graphics/pokemon/icons/jolteon_icon.4bpp" - - .align 2 -gMonFootprint_Jolteon:: @ 8C8DFE4 - .incbin "graphics/pokemon/footprints/jolteon_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Flareon:: @ 8C8E004 - .incbin "graphics/pokemon/front_pics/flareon_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Flareon:: @ 8C8E380 - .incbin "graphics/pokemon/palettes/flareon_palette.gbapal.lz" - - .align 2 -gMonBackPic_Flareon:: @ 8C8E3A8 - .incbin "graphics/pokemon/back_pics/flareon_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Flareon:: @ 8C8E738 - .incbin "graphics/pokemon/palettes/flareon_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Flareon:: @ 8C8E760 - .incbin "graphics/pokemon/icons/flareon_icon.4bpp" - - .align 2 -gMonFootprint_Flareon:: @ 8C8EB60 - .incbin "graphics/pokemon/footprints/flareon_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Porygon:: @ 8C8EB80 - .incbin "graphics/pokemon/front_pics/porygon_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Porygon:: @ 8C8EE3C - .incbin "graphics/pokemon/palettes/porygon_palette.gbapal.lz" - - .align 2 -gMonBackPic_Porygon:: @ 8C8EE60 - .incbin "graphics/pokemon/back_pics/porygon_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Porygon:: @ 8C8F118 - .incbin "graphics/pokemon/palettes/porygon_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Porygon:: @ 8C8F13C - .incbin "graphics/pokemon/icons/porygon_icon.4bpp" - - .align 2 -gMonFootprint_Porygon:: @ 8C8F53C - .incbin "graphics/pokemon/footprints/porygon_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Omanyte:: @ 8C8F55C - .incbin "graphics/pokemon/front_pics/omanyte_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Omanyte:: @ 8C8F804 - .incbin "graphics/pokemon/palettes/omanyte_palette.gbapal.lz" - - .align 2 -gMonBackPic_Omanyte:: @ 8C8F82C - .incbin "graphics/pokemon/back_pics/omanyte_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Omanyte:: @ 8C8FB78 - .incbin "graphics/pokemon/palettes/omanyte_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Omanyte:: @ 8C8FBA0 - .incbin "graphics/pokemon/icons/omanyte_icon.4bpp" - - .align 2 -gMonFootprint_Omanyte:: @ 8C8FFA0 - .incbin "graphics/pokemon/footprints/omanyte_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Omastar:: @ 8C8FFC0 - .incbin "graphics/pokemon/front_pics/omastar_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Omastar:: @ 8C90380 - .incbin "graphics/pokemon/palettes/omastar_palette.gbapal.lz" - - .align 2 -gMonBackPic_Omastar:: @ 8C903A8 - .incbin "graphics/pokemon/back_pics/omastar_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Omastar:: @ 8C906E8 - .incbin "graphics/pokemon/palettes/omastar_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Omastar:: @ 8C90710 - .incbin "graphics/pokemon/icons/omastar_icon.4bpp" - - .align 2 -gMonFootprint_Omastar:: @ 8C90B10 - .incbin "graphics/pokemon/footprints/omastar_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Kabuto:: @ 8C90B30 - .incbin "graphics/pokemon/front_pics/kabuto_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Kabuto:: @ 8C90DA0 - .incbin "graphics/pokemon/palettes/kabuto_palette.gbapal.lz" - - .align 2 -gMonBackPic_Kabuto:: @ 8C90DC8 - .incbin "graphics/pokemon/back_pics/kabuto_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Kabuto:: @ 8C91060 - .incbin "graphics/pokemon/palettes/kabuto_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Kabuto:: @ 8C91088 - .incbin "graphics/pokemon/icons/kabuto_icon.4bpp" - - .align 2 -gMonFootprint_Kabuto:: @ 8C91488 - .incbin "graphics/pokemon/footprints/kabuto_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Kabutops:: @ 8C914A8 - .incbin "graphics/pokemon/front_pics/kabutops_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Kabutops:: @ 8C918A8 - .incbin "graphics/pokemon/palettes/kabutops_palette.gbapal.lz" - - .align 2 -gMonBackPic_Kabutops:: @ 8C918CC - .incbin "graphics/pokemon/back_pics/kabutops_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Kabutops:: @ 8C91C70 - .incbin "graphics/pokemon/palettes/kabutops_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Kabutops:: @ 8C91C94 - .incbin "graphics/pokemon/icons/kabutops_icon.4bpp" - - .align 2 -gMonFootprint_Kabutops:: @ 8C92094 - .incbin "graphics/pokemon/footprints/kabutops_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Aerodactyl:: @ 8C920B4 - .incbin "graphics/pokemon/front_pics/aerodactyl_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Aerodactyl:: @ 8C92534 - .incbin "graphics/pokemon/palettes/aerodactyl_palette.gbapal.lz" - - .align 2 -gMonBackPic_Aerodactyl:: @ 8C9255C - .incbin "graphics/pokemon/back_pics/aerodactyl_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Aerodactyl:: @ 8C92860 - .incbin "graphics/pokemon/palettes/aerodactyl_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Aerodactyl:: @ 8C92888 - .incbin "graphics/pokemon/icons/aerodactyl_icon.4bpp" - - .align 2 -gMonFootprint_Aerodactyl:: @ 8C92C88 - .incbin "graphics/pokemon/footprints/aerodactyl_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Snorlax:: @ 8C92CA8 - .incbin "graphics/pokemon/front_pics/snorlax_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Snorlax:: @ 8C930EC - .incbin "graphics/pokemon/palettes/snorlax_palette.gbapal.lz" - - .align 2 -gMonBackPic_Snorlax:: @ 8C93114 - .incbin "graphics/pokemon/back_pics/snorlax_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Snorlax:: @ 8C93330 - .incbin "graphics/pokemon/palettes/snorlax_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Snorlax:: @ 8C93358 - .incbin "graphics/pokemon/icons/snorlax_icon.4bpp" - - .align 2 -gMonFootprint_Snorlax:: @ 8C93758 - .incbin "graphics/pokemon/footprints/snorlax_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Articuno:: @ 8C93778 - .incbin "graphics/pokemon/front_pics/articuno_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Articuno:: @ 8C93C70 - .incbin "graphics/pokemon/palettes/articuno_palette.gbapal.lz" - - .align 2 -gMonBackPic_Articuno:: @ 8C93C98 - .incbin "graphics/pokemon/back_pics/articuno_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Articuno:: @ 8C93EF4 - .incbin "graphics/pokemon/palettes/articuno_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Articuno:: @ 8C93F1C - .incbin "graphics/pokemon/icons/articuno_icon.4bpp" - - .align 2 -gMonFootprint_Articuno:: @ 8C9431C - .incbin "graphics/pokemon/footprints/articuno_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Zapdos:: @ 8C9433C - .incbin "graphics/pokemon/front_pics/zapdos_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Zapdos:: @ 8C947B0 - .incbin "graphics/pokemon/palettes/zapdos_palette.gbapal.lz" - - .align 2 -gMonBackPic_Zapdos:: @ 8C947D8 - .incbin "graphics/pokemon/back_pics/zapdos_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Zapdos:: @ 8C94B14 - .incbin "graphics/pokemon/palettes/zapdos_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Zapdos:: @ 8C94B3C - .incbin "graphics/pokemon/icons/zapdos_icon.4bpp" - - .align 2 -gMonFootprint_Zapdos:: @ 8C94F3C - .incbin "graphics/pokemon/footprints/zapdos_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Moltres:: @ 8C94F5C - .incbin "graphics/pokemon/front_pics/moltres_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Moltres:: @ 8C9550C - .incbin "graphics/pokemon/palettes/moltres_palette.gbapal.lz" - - .align 2 -gMonBackPic_Moltres:: @ 8C95534 - .incbin "graphics/pokemon/back_pics/moltres_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Moltres:: @ 8C95870 - .incbin "graphics/pokemon/palettes/moltres_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Moltres:: @ 8C95898 - .incbin "graphics/pokemon/icons/moltres_icon.4bpp" - - .align 2 -gMonFootprint_Moltres:: @ 8C95C98 - .incbin "graphics/pokemon/footprints/moltres_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Dratini:: @ 8C95CB8 - .incbin "graphics/pokemon/front_pics/dratini_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Dratini:: @ 8C95F70 - .incbin "graphics/pokemon/palettes/dratini_palette.gbapal.lz" - - .align 2 -gMonBackPic_Dratini:: @ 8C95F94 - .incbin "graphics/pokemon/back_pics/dratini_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Dratini:: @ 8C96224 - .incbin "graphics/pokemon/palettes/dratini_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Dratini:: @ 8C96248 - .incbin "graphics/pokemon/icons/dratini_icon.4bpp" - - .align 2 -gMonFootprint_Dratini:: @ 8C96648 - .incbin "graphics/pokemon/footprints/dratini_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Dragonair:: @ 8C96668 - .incbin "graphics/pokemon/front_pics/dragonair_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Dragonair:: @ 8C969C8 - .incbin "graphics/pokemon/palettes/dragonair_palette.gbapal.lz" - - .align 2 -gMonBackPic_Dragonair:: @ 8C969F0 - .incbin "graphics/pokemon/back_pics/dragonair_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Dragonair:: @ 8C96D00 - .incbin "graphics/pokemon/palettes/dragonair_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Dragonair:: @ 8C96D28 - .incbin "graphics/pokemon/icons/dragonair_icon.4bpp" - - .align 2 -gMonFootprint_Dragonair:: @ 8C97128 - .incbin "graphics/pokemon/footprints/dragonair_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Dragonite:: @ 8C97148 - .incbin "graphics/pokemon/front_pics/dragonite_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Dragonite:: @ 8C976B8 - .incbin "graphics/pokemon/palettes/dragonite_palette.gbapal.lz" - - .align 2 -gMonBackPic_Dragonite:: @ 8C976E0 - .incbin "graphics/pokemon/back_pics/dragonite_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Dragonite:: @ 8C979DC - .incbin "graphics/pokemon/palettes/dragonite_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Dragonite:: @ 8C97A04 - .incbin "graphics/pokemon/icons/dragonite_icon.4bpp" - - .align 2 -gMonFootprint_Dragonite:: @ 8C97E04 - .incbin "graphics/pokemon/footprints/dragonite_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Mewtwo:: @ 8C97E24 - .incbin "graphics/pokemon/front_pics/mewtwo_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Mewtwo:: @ 8C98260 - .incbin "graphics/pokemon/palettes/mewtwo_palette.gbapal.lz" - - .align 2 -gMonBackPic_Mewtwo:: @ 8C98284 - .incbin "graphics/pokemon/back_pics/mewtwo_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Mewtwo:: @ 8C98650 - .incbin "graphics/pokemon/palettes/mewtwo_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Mewtwo:: @ 8C98674 - .incbin "graphics/pokemon/icons/mewtwo_icon.4bpp" - - .align 2 -gMonFootprint_Mewtwo:: @ 8C98A74 - .incbin "graphics/pokemon/footprints/mewtwo_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Mew:: @ 8C98A94 - .incbin "graphics/pokemon/front_pics/mew_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Mew:: @ 8C98D14 - .incbin "graphics/pokemon/palettes/mew_palette.gbapal.lz" - - .align 2 -gMonBackPic_Mew:: @ 8C98D38 - .incbin "graphics/pokemon/back_pics/mew_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Mew:: @ 8C99004 - .incbin "graphics/pokemon/palettes/mew_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Mew:: @ 8C99028 - .incbin "graphics/pokemon/icons/mew_icon.4bpp" - - .align 2 -gMonFootprint_Mew:: @ 8C99428 - .incbin "graphics/pokemon/footprints/mew_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Chikorita:: @ 8C99448 - .incbin "graphics/pokemon/front_pics/chikorita_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Chikorita:: @ 8C996B0 - .incbin "graphics/pokemon/palettes/chikorita_palette.gbapal.lz" - - .align 2 -gMonBackPic_Chikorita:: @ 8C996D8 - .incbin "graphics/pokemon/back_pics/chikorita_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Chikorita:: @ 8C9999C - .incbin "graphics/pokemon/palettes/chikorita_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Chikorita:: @ 8C999C4 - .incbin "graphics/pokemon/icons/chikorita_icon.4bpp" - - .align 2 -gMonFootprint_Chikorita:: @ 8C99DC4 - .incbin "graphics/pokemon/footprints/chikorita_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Bayleef:: @ 8C99DE4 - .incbin "graphics/pokemon/front_pics/bayleef_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Bayleef:: @ 8C9A1B8 - .incbin "graphics/pokemon/palettes/bayleef_palette.gbapal.lz" - - .align 2 -gMonBackPic_Bayleef:: @ 8C9A1E0 - .incbin "graphics/pokemon/back_pics/bayleef_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Bayleef:: @ 8C9A570 - .incbin "graphics/pokemon/palettes/bayleef_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Bayleef:: @ 8C9A598 - .incbin "graphics/pokemon/icons/bayleef_icon.4bpp" - - .align 2 -gMonFootprint_Bayleef:: @ 8C9A998 - .incbin "graphics/pokemon/footprints/bayleef_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Meganium:: @ 8C9A9B8 - .incbin "graphics/pokemon/front_pics/meganium_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Meganium:: @ 8C9AF14 - .incbin "graphics/pokemon/palettes/meganium_palette.gbapal.lz" - - .align 2 -gMonBackPic_Meganium:: @ 8C9AF3C - .incbin "graphics/pokemon/back_pics/meganium_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Meganium:: @ 8C9B28C - .incbin "graphics/pokemon/palettes/meganium_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Meganium:: @ 8C9B2B4 - .incbin "graphics/pokemon/icons/meganium_icon.4bpp" - - .align 2 -gMonFootprint_Meganium:: @ 8C9B6B4 - .incbin "graphics/pokemon/footprints/meganium_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Cyndaquil:: @ 8C9B6D4 - .incbin "graphics/pokemon/front_pics/cyndaquil_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Cyndaquil:: @ 8C9B960 - .incbin "graphics/pokemon/palettes/cyndaquil_palette.gbapal.lz" - - .align 2 -gMonBackPic_Cyndaquil:: @ 8C9B988 - .incbin "graphics/pokemon/back_pics/cyndaquil_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Cyndaquil:: @ 8C9BCB4 - .incbin "graphics/pokemon/palettes/cyndaquil_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Cyndaquil:: @ 8C9BCDC - .incbin "graphics/pokemon/icons/cyndaquil_icon.4bpp" - - .align 2 -gMonFootprint_Cyndaquil:: @ 8C9C0DC - .incbin "graphics/pokemon/footprints/cyndaquil_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Quilava:: @ 8C9C0FC - .incbin "graphics/pokemon/front_pics/quilava_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Quilava:: @ 8C9C418 - .incbin "graphics/pokemon/palettes/quilava_palette.gbapal.lz" - - .align 2 -gMonBackPic_Quilava:: @ 8C9C440 - .incbin "graphics/pokemon/back_pics/quilava_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Quilava:: @ 8C9C7B4 - .incbin "graphics/pokemon/palettes/quilava_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Quilava:: @ 8C9C7DC - .incbin "graphics/pokemon/icons/quilava_icon.4bpp" - - .align 2 -gMonFootprint_Quilava:: @ 8C9CBDC - .incbin "graphics/pokemon/footprints/quilava_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Typhlosion:: @ 8C9CBFC - .incbin "graphics/pokemon/front_pics/typhlosion_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Typhlosion:: @ 8C9D024 - .incbin "graphics/pokemon/palettes/typhlosion_palette.gbapal.lz" - - .align 2 -gMonBackPic_Typhlosion:: @ 8C9D04C - .incbin "graphics/pokemon/back_pics/typhlosion_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Typhlosion:: @ 8C9D450 - .incbin "graphics/pokemon/palettes/typhlosion_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Typhlosion:: @ 8C9D478 - .incbin "graphics/pokemon/icons/typhlosion_icon.4bpp" - - .align 2 -gMonFootprint_Typhlosion:: @ 8C9D878 - .incbin "graphics/pokemon/footprints/typhlosion_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Totodile:: @ 8C9D898 - .incbin "graphics/pokemon/front_pics/totodile_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Totodile:: @ 8C9DB3C - .incbin "graphics/pokemon/palettes/totodile_palette.gbapal.lz" - - .align 2 -gMonBackPic_Totodile:: @ 8C9DB64 - .incbin "graphics/pokemon/back_pics/totodile_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Totodile:: @ 8C9DE44 - .incbin "graphics/pokemon/palettes/totodile_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Totodile:: @ 8C9DE6C - .incbin "graphics/pokemon/icons/totodile_icon.4bpp" - - .align 2 -gMonFootprint_Totodile:: @ 8C9E26C - .incbin "graphics/pokemon/footprints/totodile_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Croconaw:: @ 8C9E28C - .incbin "graphics/pokemon/front_pics/croconaw_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Croconaw:: @ 8C9E5F4 - .incbin "graphics/pokemon/palettes/croconaw_palette.gbapal.lz" - - .align 2 -gMonBackPic_Croconaw:: @ 8C9E61C - .incbin "graphics/pokemon/back_pics/croconaw_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Croconaw:: @ 8C9E96C - .incbin "graphics/pokemon/palettes/croconaw_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Croconaw:: @ 8C9E994 - .incbin "graphics/pokemon/icons/croconaw_icon.4bpp" - - .align 2 -gMonFootprint_Croconaw:: @ 8C9ED94 - .incbin "graphics/pokemon/footprints/croconaw_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Feraligatr:: @ 8C9EDB4 - .incbin "graphics/pokemon/front_pics/feraligatr_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Feraligatr:: @ 8C9F320 - .incbin "graphics/pokemon/palettes/feraligatr_palette.gbapal.lz" - - .align 2 -gMonBackPic_Feraligatr:: @ 8C9F348 - .incbin "graphics/pokemon/back_pics/feraligatr_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Feraligatr:: @ 8C9F814 - .incbin "graphics/pokemon/palettes/feraligatr_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Feraligatr:: @ 8C9F83C - .incbin "graphics/pokemon/icons/feraligatr_icon.4bpp" - - .align 2 -gMonFootprint_Feraligatr:: @ 8C9FC3C - .incbin "graphics/pokemon/footprints/feraligatr_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Sentret:: @ 8C9FC5C - .incbin "graphics/pokemon/front_pics/sentret_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Sentret:: @ 8C9FF38 - .incbin "graphics/pokemon/palettes/sentret_palette.gbapal.lz" - - .align 2 -gMonBackPic_Sentret:: @ 8C9FF60 - .incbin "graphics/pokemon/back_pics/sentret_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Sentret:: @ 8CA0204 - .incbin "graphics/pokemon/palettes/sentret_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Sentret:: @ 8CA022C - .incbin "graphics/pokemon/icons/sentret_icon.4bpp" - - .align 2 -gMonFootprint_Sentret:: @ 8CA062C - .incbin "graphics/pokemon/footprints/sentret_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Furret:: @ 8CA064C - .incbin "graphics/pokemon/front_pics/furret_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Furret:: @ 8CA0980 - .incbin "graphics/pokemon/palettes/furret_palette.gbapal.lz" - - .align 2 -gMonBackPic_Furret:: @ 8CA09A8 - .incbin "graphics/pokemon/back_pics/furret_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Furret:: @ 8CA0CD0 - .incbin "graphics/pokemon/palettes/furret_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Furret:: @ 8CA0CF8 - .incbin "graphics/pokemon/icons/furret_icon.4bpp" - - .align 2 -gMonFootprint_Furret:: @ 8CA10F8 - .incbin "graphics/pokemon/footprints/furret_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Hoothoot:: @ 8CA1118 - .incbin "graphics/pokemon/front_pics/hoothoot_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Hoothoot:: @ 8CA139C - .incbin "graphics/pokemon/palettes/hoothoot_palette.gbapal.lz" - - .align 2 -gMonBackPic_Hoothoot:: @ 8CA13C4 - .incbin "graphics/pokemon/back_pics/hoothoot_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Hoothoot:: @ 8CA16CC - .incbin "graphics/pokemon/palettes/hoothoot_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Hoothoot:: @ 8CA16F4 - .incbin "graphics/pokemon/icons/hoothoot_icon.4bpp" - - .align 2 -gMonFootprint_Hoothoot:: @ 8CA1AF4 - .incbin "graphics/pokemon/footprints/hoothoot_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Noctowl:: @ 8CA1B14 - .incbin "graphics/pokemon/front_pics/noctowl_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Noctowl:: @ 8CA1E68 - .incbin "graphics/pokemon/palettes/noctowl_palette.gbapal.lz" - - .align 2 -gMonBackPic_Noctowl:: @ 8CA1E90 - .incbin "graphics/pokemon/back_pics/noctowl_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Noctowl:: @ 8CA21EC - .incbin "graphics/pokemon/palettes/noctowl_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Noctowl:: @ 8CA2214 - .incbin "graphics/pokemon/icons/noctowl_icon.4bpp" - - .align 2 -gMonFootprint_Noctowl:: @ 8CA2614 - .incbin "graphics/pokemon/footprints/noctowl_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Ledyba:: @ 8CA2634 - .incbin "graphics/pokemon/front_pics/ledyba_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Ledyba:: @ 8CA2928 - .incbin "graphics/pokemon/palettes/ledyba_palette.gbapal.lz" - - .align 2 -gMonBackPic_Ledyba:: @ 8CA2950 - .incbin "graphics/pokemon/back_pics/ledyba_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Ledyba:: @ 8CA2C80 - .incbin "graphics/pokemon/palettes/ledyba_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Ledyba:: @ 8CA2CA8 - .incbin "graphics/pokemon/icons/ledyba_icon.4bpp" - - .align 2 -gMonFootprint_Ledyba:: @ 8CA30A8 - .incbin "graphics/pokemon/footprints/ledyba_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Ledian:: @ 8CA30C8 - .incbin "graphics/pokemon/front_pics/ledian_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Ledian:: @ 8CA3450 - .incbin "graphics/pokemon/palettes/ledian_palette.gbapal.lz" - - .align 2 -gMonBackPic_Ledian:: @ 8CA3478 - .incbin "graphics/pokemon/back_pics/ledian_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Ledian:: @ 8CA37D0 - .incbin "graphics/pokemon/palettes/ledian_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Ledian:: @ 8CA37F8 - .incbin "graphics/pokemon/icons/ledian_icon.4bpp" - - .align 2 -gMonFootprint_Ledian:: @ 8CA3BF8 - .incbin "graphics/pokemon/footprints/ledian_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Spinarak:: @ 8CA3C18 - .incbin "graphics/pokemon/front_pics/spinarak_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Spinarak:: @ 8CA3E8C - .incbin "graphics/pokemon/palettes/spinarak_palette.gbapal.lz" - - .align 2 -gMonBackPic_Spinarak:: @ 8CA3EB4 - .incbin "graphics/pokemon/back_pics/spinarak_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Spinarak:: @ 8CA4118 - .incbin "graphics/pokemon/palettes/spinarak_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Spinarak:: @ 8CA4140 - .incbin "graphics/pokemon/icons/spinarak_icon.4bpp" - - .align 2 -gMonFootprint_Spinarak:: @ 8CA4540 - .incbin "graphics/pokemon/footprints/spinarak_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Ariados:: @ 8CA4560 - .incbin "graphics/pokemon/front_pics/ariados_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Ariados:: @ 8CA4920 - .incbin "graphics/pokemon/palettes/ariados_palette.gbapal.lz" - - .align 2 -gMonBackPic_Ariados:: @ 8CA4948 - .incbin "graphics/pokemon/back_pics/ariados_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Ariados:: @ 8CA4CC0 - .incbin "graphics/pokemon/palettes/ariados_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Ariados:: @ 8CA4CE8 - .incbin "graphics/pokemon/icons/ariados_icon.4bpp" - - .align 2 -gMonFootprint_Ariados:: @ 8CA50E8 - .incbin "graphics/pokemon/footprints/ariados_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Crobat:: @ 8CA5108 - .incbin "graphics/pokemon/front_pics/crobat_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Crobat:: @ 8CA54B8 - .incbin "graphics/pokemon/palettes/crobat_palette.gbapal.lz" - - .align 2 -gMonBackPic_Crobat:: @ 8CA54E0 - .incbin "graphics/pokemon/back_pics/crobat_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Crobat:: @ 8CA57E8 - .incbin "graphics/pokemon/palettes/crobat_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Crobat:: @ 8CA5810 - .incbin "graphics/pokemon/icons/crobat_icon.4bpp" - - .align 2 -gMonFootprint_Crobat:: @ 8CA5C10 - .incbin "graphics/pokemon/footprints/crobat_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Chinchou:: @ 8CA5C30 - .incbin "graphics/pokemon/front_pics/chinchou_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Chinchou:: @ 8CA5F08 - .incbin "graphics/pokemon/palettes/chinchou_palette.gbapal.lz" - - .align 2 -gMonBackPic_Chinchou:: @ 8CA5F30 - .incbin "graphics/pokemon/back_pics/chinchou_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Chinchou:: @ 8CA6228 - .incbin "graphics/pokemon/palettes/chinchou_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Chinchou:: @ 8CA6250 - .incbin "graphics/pokemon/icons/chinchou_icon.4bpp" - - .align 2 -gMonFootprint_Chinchou:: @ 8CA6650 - .incbin "graphics/pokemon/footprints/chinchou_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Lanturn:: @ 8CA6670 - .incbin "graphics/pokemon/front_pics/lanturn_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Lanturn:: @ 8CA69E0 - .incbin "graphics/pokemon/palettes/lanturn_palette.gbapal.lz" - - .align 2 -gMonBackPic_Lanturn:: @ 8CA6A08 - .incbin "graphics/pokemon/back_pics/lanturn_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Lanturn:: @ 8CA6D08 - .incbin "graphics/pokemon/palettes/lanturn_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Lanturn:: @ 8CA6D30 - .incbin "graphics/pokemon/icons/lanturn_icon.4bpp" - - .align 2 -gMonFootprint_Lanturn:: @ 8CA7130 - .incbin "graphics/pokemon/footprints/lanturn_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Pichu:: @ 8CA7150 - .incbin "graphics/pokemon/front_pics/pichu_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Pichu:: @ 8CA736C - .incbin "graphics/pokemon/palettes/pichu_palette.gbapal.lz" - - .align 2 -gMonBackPic_Pichu:: @ 8CA7394 - .incbin "graphics/pokemon/back_pics/pichu_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Pichu:: @ 8CA75F0 - .incbin "graphics/pokemon/palettes/pichu_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Pichu:: @ 8CA7618 - .incbin "graphics/pokemon/icons/pichu_icon.4bpp" - - .align 2 -gMonFootprint_Pichu:: @ 8CA7A18 - .incbin "graphics/pokemon/footprints/pichu_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Cleffa:: @ 8CA7A38 - .incbin "graphics/pokemon/front_pics/cleffa_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Cleffa:: @ 8CA7C18 - .incbin "graphics/pokemon/palettes/cleffa_palette.gbapal.lz" - - .align 2 -gMonBackPic_Cleffa:: @ 8CA7C40 - .incbin "graphics/pokemon/back_pics/cleffa_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Cleffa:: @ 8CA7E7C - .incbin "graphics/pokemon/palettes/cleffa_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Cleffa:: @ 8CA7EA4 - .incbin "graphics/pokemon/icons/cleffa_icon.4bpp" - - .align 2 -gMonFootprint_Cleffa:: @ 8CA82A4 - .incbin "graphics/pokemon/footprints/cleffa_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Igglybuff:: @ 8CA82C4 - .incbin "graphics/pokemon/front_pics/igglybuff_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Igglybuff:: @ 8CA84AC - .incbin "graphics/pokemon/palettes/igglybuff_palette.gbapal.lz" - - .align 2 -gMonBackPic_Igglybuff:: @ 8CA84D4 - .incbin "graphics/pokemon/back_pics/igglybuff_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Igglybuff:: @ 8CA8710 - .incbin "graphics/pokemon/palettes/igglybuff_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Igglybuff:: @ 8CA8738 - .incbin "graphics/pokemon/icons/igglybuff_icon.4bpp" - - .align 2 -gMonFootprint_Igglybuff:: @ 8CA8B38 - .incbin "graphics/pokemon/footprints/igglybuff_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Togepi:: @ 8CA8B58 - .incbin "graphics/pokemon/front_pics/togepi_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Togepi:: @ 8CA8D2C - .incbin "graphics/pokemon/palettes/togepi_palette.gbapal.lz" - - .align 2 -gMonBackPic_Togepi:: @ 8CA8D54 - .incbin "graphics/pokemon/back_pics/togepi_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Togepi:: @ 8CA8FC8 - .incbin "graphics/pokemon/palettes/togepi_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Togepi:: @ 8CA8FF0 - .incbin "graphics/pokemon/icons/togepi_icon.4bpp" - - .align 2 -gMonFootprint_Togepi:: @ 8CA93F0 - .incbin "graphics/pokemon/footprints/togepi_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Togetic:: @ 8CA9410 - .incbin "graphics/pokemon/front_pics/togetic_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Togetic:: @ 8CA9684 - .incbin "graphics/pokemon/palettes/togetic_palette.gbapal.lz" - - .align 2 -gMonBackPic_Togetic:: @ 8CA96AC - .incbin "graphics/pokemon/back_pics/togetic_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Togetic:: @ 8CA99D8 - .incbin "graphics/pokemon/palettes/togetic_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Togetic:: @ 8CA9A00 - .incbin "graphics/pokemon/icons/togetic_icon.4bpp" - - .align 2 -gMonFootprint_Togetic:: @ 8CA9E00 - .incbin "graphics/pokemon/footprints/togetic_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Natu:: @ 8CA9E20 - .incbin "graphics/pokemon/front_pics/natu_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Natu:: @ 8CA9FEC - .incbin "graphics/pokemon/palettes/natu_palette.gbapal.lz" - - .align 2 -gMonBackPic_Natu:: @ 8CAA014 - .incbin "graphics/pokemon/back_pics/natu_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Natu:: @ 8CAA228 - .incbin "graphics/pokemon/palettes/natu_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Natu:: @ 8CAA250 - .incbin "graphics/pokemon/icons/natu_icon.4bpp" - - .align 2 -gMonFootprint_Natu:: @ 8CAA650 - .incbin "graphics/pokemon/footprints/natu_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Xatu:: @ 8CAA670 - .incbin "graphics/pokemon/front_pics/xatu_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Xatu:: @ 8CAA94C - .incbin "graphics/pokemon/palettes/xatu_palette.gbapal.lz" - - .align 2 -gMonBackPic_Xatu:: @ 8CAA974 - .incbin "graphics/pokemon/back_pics/xatu_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Xatu:: @ 8CAACEC - .incbin "graphics/pokemon/palettes/xatu_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Xatu:: @ 8CAAD14 - .incbin "graphics/pokemon/icons/xatu_icon.4bpp" - - .align 2 -gMonFootprint_Xatu:: @ 8CAB114 - .incbin "graphics/pokemon/footprints/xatu_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Mareep:: @ 8CAB134 - .incbin "graphics/pokemon/front_pics/mareep_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Mareep:: @ 8CAB3E8 - .incbin "graphics/pokemon/palettes/mareep_palette.gbapal.lz" - - .align 2 -gMonBackPic_Mareep:: @ 8CAB410 - .incbin "graphics/pokemon/back_pics/mareep_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Mareep:: @ 8CAB704 - .incbin "graphics/pokemon/palettes/mareep_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Mareep:: @ 8CAB72C - .incbin "graphics/pokemon/icons/mareep_icon.4bpp" - - .align 2 -gMonFootprint_Mareep:: @ 8CABB2C - .incbin "graphics/pokemon/footprints/mareep_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Flaaffy:: @ 8CABB4C - .incbin "graphics/pokemon/front_pics/flaaffy_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Flaaffy:: @ 8CABE4C - .incbin "graphics/pokemon/palettes/flaaffy_palette.gbapal.lz" - - .align 2 -gMonBackPic_Flaaffy:: @ 8CABE74 - .incbin "graphics/pokemon/back_pics/flaaffy_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Flaaffy:: @ 8CAC190 - .incbin "graphics/pokemon/palettes/flaaffy_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Flaaffy:: @ 8CAC1B8 - .incbin "graphics/pokemon/icons/flaaffy_icon.4bpp" - - .align 2 -gMonFootprint_Flaaffy:: @ 8CAC5B8 - .incbin "graphics/pokemon/footprints/flaaffy_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Ampharos:: @ 8CAC5D8 - .incbin "graphics/pokemon/front_pics/ampharos_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Ampharos:: @ 8CAC934 - .incbin "graphics/pokemon/palettes/ampharos_palette.gbapal.lz" - - .align 2 -gMonBackPic_Ampharos:: @ 8CAC95C - .incbin "graphics/pokemon/back_pics/ampharos_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Ampharos:: @ 8CACCD4 - .incbin "graphics/pokemon/palettes/ampharos_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Ampharos:: @ 8CACCFC - .incbin "graphics/pokemon/icons/ampharos_icon.4bpp" - - .align 2 -gMonFootprint_Ampharos:: @ 8CAD0FC - .incbin "graphics/pokemon/footprints/ampharos_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Bellossom:: @ 8CAD11C - .incbin "graphics/pokemon/front_pics/bellossom_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Bellossom:: @ 8CAD38C - .incbin "graphics/pokemon/palettes/bellossom_palette.gbapal.lz" - - .align 2 -gMonBackPic_Bellossom:: @ 8CAD3B4 - .incbin "graphics/pokemon/back_pics/bellossom_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Bellossom:: @ 8CAD6D8 - .incbin "graphics/pokemon/palettes/bellossom_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Bellossom:: @ 8CAD700 - .incbin "graphics/pokemon/icons/bellossom_icon.4bpp" - - .align 2 -gMonFootprint_Bellossom:: @ 8CADB00 - .incbin "graphics/pokemon/footprints/bellossom_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Marill:: @ 8CADB20 - .incbin "graphics/pokemon/front_pics/marill_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Marill:: @ 8CADDE4 - .incbin "graphics/pokemon/palettes/marill_palette.gbapal.lz" - - .align 2 -gMonBackPic_Marill:: @ 8CADE0C - .incbin "graphics/pokemon/back_pics/marill_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Marill:: @ 8CAE0B8 - .incbin "graphics/pokemon/palettes/marill_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Marill:: @ 8CAE0E0 - .incbin "graphics/pokemon/icons/marill_icon.4bpp" - - .align 2 -gMonFootprint_Marill:: @ 8CAE4E0 - .incbin "graphics/pokemon/footprints/marill_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Azumarill:: @ 8CAE500 - .incbin "graphics/pokemon/front_pics/azumarill_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Azumarill:: @ 8CAE800 - .incbin "graphics/pokemon/palettes/azumarill_palette.gbapal.lz" - - .align 2 -gMonBackPic_Azumarill:: @ 8CAE828 - .incbin "graphics/pokemon/back_pics/azumarill_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Azumarill:: @ 8CAEAE4 - .incbin "graphics/pokemon/palettes/azumarill_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Azumarill:: @ 8CAEB0C - .incbin "graphics/pokemon/icons/azumarill_icon.4bpp" - - .align 2 -gMonFootprint_Azumarill:: @ 8CAEF0C - .incbin "graphics/pokemon/footprints/azumarill_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Sudowoodo:: @ 8CAEF2C - .incbin "graphics/pokemon/front_pics/sudowoodo_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Sudowoodo:: @ 8CAF244 - .incbin "graphics/pokemon/palettes/sudowoodo_palette.gbapal.lz" - - .align 2 -gMonBackPic_Sudowoodo:: @ 8CAF26C - .incbin "graphics/pokemon/back_pics/sudowoodo_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Sudowoodo:: @ 8CAF5C8 - .incbin "graphics/pokemon/palettes/sudowoodo_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Sudowoodo:: @ 8CAF5F0 - .incbin "graphics/pokemon/icons/sudowoodo_icon.4bpp" - - .align 2 -gMonFootprint_Sudowoodo:: @ 8CAF9F0 - .incbin "graphics/pokemon/footprints/sudowoodo_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Politoed:: @ 8CAFA10 - .incbin "graphics/pokemon/front_pics/politoed_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Politoed:: @ 8CAFD4C - .incbin "graphics/pokemon/palettes/politoed_palette.gbapal.lz" - - .align 2 -gMonBackPic_Politoed:: @ 8CAFD74 - .incbin "graphics/pokemon/back_pics/politoed_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Politoed:: @ 8CB0030 - .incbin "graphics/pokemon/palettes/politoed_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Politoed:: @ 8CB0058 - .incbin "graphics/pokemon/icons/politoed_icon.4bpp" - - .align 2 -gMonFootprint_Politoed:: @ 8CB0458 - .incbin "graphics/pokemon/footprints/politoed_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Hoppip:: @ 8CB0478 - .incbin "graphics/pokemon/front_pics/hoppip_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Hoppip:: @ 8CB072C - .incbin "graphics/pokemon/palettes/hoppip_palette.gbapal.lz" - - .align 2 -gMonBackPic_Hoppip:: @ 8CB0754 - .incbin "graphics/pokemon/back_pics/hoppip_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Hoppip:: @ 8CB0A34 - .incbin "graphics/pokemon/palettes/hoppip_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Hoppip:: @ 8CB0A5C - .incbin "graphics/pokemon/icons/hoppip_icon.4bpp" - - .align 2 -gMonFootprint_Hoppip:: @ 8CB0E5C - .incbin "graphics/pokemon/footprints/hoppip_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Skiploom:: @ 8CB0E7C - .incbin "graphics/pokemon/front_pics/skiploom_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Skiploom:: @ 8CB1104 - .incbin "graphics/pokemon/palettes/skiploom_palette.gbapal.lz" - - .align 2 -gMonBackPic_Skiploom:: @ 8CB112C - .incbin "graphics/pokemon/back_pics/skiploom_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Skiploom:: @ 8CB140C - .incbin "graphics/pokemon/palettes/skiploom_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Skiploom:: @ 8CB1434 - .incbin "graphics/pokemon/icons/skiploom_icon.4bpp" - - .align 2 -gMonFootprint_Skiploom:: @ 8CB1834 - .incbin "graphics/pokemon/footprints/skiploom_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Jumpluff:: @ 8CB1854 - .incbin "graphics/pokemon/front_pics/jumpluff_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Jumpluff:: @ 8CB1BC0 - .incbin "graphics/pokemon/palettes/jumpluff_palette.gbapal.lz" - - .align 2 -gMonBackPic_Jumpluff:: @ 8CB1BE8 - .incbin "graphics/pokemon/back_pics/jumpluff_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Jumpluff:: @ 8CB1FE0 - .incbin "graphics/pokemon/palettes/jumpluff_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Jumpluff:: @ 8CB2008 - .incbin "graphics/pokemon/icons/jumpluff_icon.4bpp" - - .align 2 -gMonFootprint_Jumpluff:: @ 8CB2408 - .incbin "graphics/pokemon/footprints/jumpluff_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Aipom:: @ 8CB2428 - .incbin "graphics/pokemon/front_pics/aipom_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Aipom:: @ 8CB2724 - .incbin "graphics/pokemon/palettes/aipom_palette.gbapal.lz" - - .align 2 -gMonBackPic_Aipom:: @ 8CB274C - .incbin "graphics/pokemon/back_pics/aipom_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Aipom:: @ 8CB2A40 - .incbin "graphics/pokemon/palettes/aipom_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Aipom:: @ 8CB2A68 - .incbin "graphics/pokemon/icons/aipom_icon.4bpp" - - .align 2 -gMonFootprint_Aipom:: @ 8CB2E68 - .incbin "graphics/pokemon/footprints/aipom_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Sunkern:: @ 8CB2E88 - .incbin "graphics/pokemon/front_pics/sunkern_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Sunkern:: @ 8CB30C0 - .incbin "graphics/pokemon/palettes/sunkern_palette.gbapal.lz" - - .align 2 -gMonBackPic_Sunkern:: @ 8CB30E8 - .incbin "graphics/pokemon/back_pics/sunkern_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Sunkern:: @ 8CB33AC - .incbin "graphics/pokemon/palettes/sunkern_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Sunkern:: @ 8CB33D4 - .incbin "graphics/pokemon/icons/sunkern_icon.4bpp" - - .align 2 -gMonFootprint_Sunkern:: @ 8CB37D4 - .incbin "graphics/pokemon/footprints/sunkern_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Sunflora:: @ 8CB37F4 - .incbin "graphics/pokemon/front_pics/sunflora_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Sunflora:: @ 8CB3B4C - .incbin "graphics/pokemon/palettes/sunflora_palette.gbapal.lz" - - .align 2 -gMonBackPic_Sunflora:: @ 8CB3B74 - .incbin "graphics/pokemon/back_pics/sunflora_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Sunflora:: @ 8CB3F14 - .incbin "graphics/pokemon/palettes/sunflora_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Sunflora:: @ 8CB3F3C - .incbin "graphics/pokemon/icons/sunflora_icon.4bpp" - - .align 2 -gMonFootprint_Sunflora:: @ 8CB433C - .incbin "graphics/pokemon/footprints/sunflora_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Yanma:: @ 8CB435C - .incbin "graphics/pokemon/front_pics/yanma_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Yanma:: @ 8CB46E0 - .incbin "graphics/pokemon/palettes/yanma_palette.gbapal.lz" - - .align 2 -gMonBackPic_Yanma:: @ 8CB4708 - .incbin "graphics/pokemon/back_pics/yanma_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Yanma:: @ 8CB4ABC - .incbin "graphics/pokemon/palettes/yanma_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Yanma:: @ 8CB4AE4 - .incbin "graphics/pokemon/icons/yanma_icon.4bpp" - - .align 2 -gMonFootprint_Yanma:: @ 8CB4EE4 - .incbin "graphics/pokemon/footprints/yanma_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Wooper:: @ 8CB4F04 - .incbin "graphics/pokemon/front_pics/wooper_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Wooper:: @ 8CB5144 - .incbin "graphics/pokemon/palettes/wooper_palette.gbapal.lz" - - .align 2 -gMonBackPic_Wooper:: @ 8CB516C - .incbin "graphics/pokemon/back_pics/wooper_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Wooper:: @ 8CB53F8 - .incbin "graphics/pokemon/palettes/wooper_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Wooper:: @ 8CB5420 - .incbin "graphics/pokemon/icons/wooper_icon.4bpp" - - .align 2 -gMonFootprint_Wooper:: @ 8CB5820 - .incbin "graphics/pokemon/footprints/wooper_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Quagsire:: @ 8CB5840 - .incbin "graphics/pokemon/front_pics/quagsire_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Quagsire:: @ 8CB5BB4 - .incbin "graphics/pokemon/palettes/quagsire_palette.gbapal.lz" - - .align 2 -gMonBackPic_Quagsire:: @ 8CB5BDC - .incbin "graphics/pokemon/back_pics/quagsire_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Quagsire:: @ 8CB5ED8 - .incbin "graphics/pokemon/palettes/quagsire_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Quagsire:: @ 8CB5F00 - .incbin "graphics/pokemon/icons/quagsire_icon.4bpp" - - .align 2 -gMonFootprint_Quagsire:: @ 8CB6300 - .incbin "graphics/pokemon/footprints/quagsire_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Espeon:: @ 8CB6320 - .incbin "graphics/pokemon/front_pics/espeon_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Espeon:: @ 8CB6660 - .incbin "graphics/pokemon/palettes/espeon_palette.gbapal.lz" - - .align 2 -gMonBackPic_Espeon:: @ 8CB6684 - .incbin "graphics/pokemon/back_pics/espeon_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Espeon:: @ 8CB6960 - .incbin "graphics/pokemon/palettes/espeon_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Espeon:: @ 8CB6984 - .incbin "graphics/pokemon/icons/espeon_icon.4bpp" - - .align 2 -gMonFootprint_Espeon:: @ 8CB6D84 - .incbin "graphics/pokemon/footprints/espeon_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Umbreon:: @ 8CB6DA4 - .incbin "graphics/pokemon/front_pics/umbreon_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Umbreon:: @ 8CB70B8 - .incbin "graphics/pokemon/palettes/umbreon_palette.gbapal.lz" - - .align 2 -gMonBackPic_Umbreon:: @ 8CB70E0 - .incbin "graphics/pokemon/back_pics/umbreon_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Umbreon:: @ 8CB73F4 - .incbin "graphics/pokemon/palettes/umbreon_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Umbreon:: @ 8CB741C - .incbin "graphics/pokemon/icons/umbreon_icon.4bpp" - - .align 2 -gMonFootprint_Umbreon:: @ 8CB781C - .incbin "graphics/pokemon/footprints/umbreon_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Murkrow:: @ 8CB783C - .incbin "graphics/pokemon/front_pics/murkrow_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Murkrow:: @ 8CB7B1C - .incbin "graphics/pokemon/palettes/murkrow_palette.gbapal.lz" - - .align 2 -gMonBackPic_Murkrow:: @ 8CB7B44 - .incbin "graphics/pokemon/back_pics/murkrow_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Murkrow:: @ 8CB7E5C - .incbin "graphics/pokemon/palettes/murkrow_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Murkrow:: @ 8CB7E84 - .incbin "graphics/pokemon/icons/murkrow_icon.4bpp" - - .align 2 -gMonFootprint_Murkrow:: @ 8CB8284 - .incbin "graphics/pokemon/footprints/murkrow_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Slowking:: @ 8CB82A4 - .incbin "graphics/pokemon/front_pics/slowking_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Slowking:: @ 8CB8658 - .incbin "graphics/pokemon/palettes/slowking_palette.gbapal.lz" - - .align 2 -gMonBackPic_Slowking:: @ 8CB8680 - .incbin "graphics/pokemon/back_pics/slowking_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Slowking:: @ 8CB8A0C - .incbin "graphics/pokemon/palettes/slowking_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Slowking:: @ 8CB8A34 - .incbin "graphics/pokemon/icons/slowking_icon.4bpp" - - .align 2 -gMonFootprint_Slowking:: @ 8CB8E34 - .incbin "graphics/pokemon/footprints/slowking_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Misdreavus:: @ 8CB8E54 - .incbin "graphics/pokemon/front_pics/misdreavus_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Misdreavus:: @ 8CB9114 - .incbin "graphics/pokemon/palettes/misdreavus_palette.gbapal.lz" - - .align 2 -gMonBackPic_Misdreavus:: @ 8CB913C - .incbin "graphics/pokemon/back_pics/misdreavus_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Misdreavus:: @ 8CB9460 - .incbin "graphics/pokemon/palettes/misdreavus_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Misdreavus:: @ 8CB9488 - .incbin "graphics/pokemon/icons/misdreavus_icon.4bpp" - - .align 2 -gMonFootprint_Misdreavus:: @ 8CB9888 - .incbin "graphics/pokemon/footprints/misdreavus_footprint.1bpp" - - .align 2 -gMonStillFrontPic_UnownA:: @ 8CB98A8 - .incbin "graphics/pokemon/front_pics/unown_a_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Unown:: @ 8CB9A7C - .incbin "graphics/pokemon/palettes/unown_palette.gbapal.lz" - - .align 2 -gMonBackPic_UnownA:: @ 8CB9A9C - .incbin "graphics/pokemon/back_pics/unown_a_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Unown:: @ 8CB9C9C - .incbin "graphics/pokemon/palettes/unown_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_UnownA:: @ 8CB9CBC - .incbin "graphics/pokemon/icons/unown_a_icon.4bpp" - - .align 2 -gMonFootprint_Unown:: @ 8CBA0BC - .incbin "graphics/pokemon/footprints/unown_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Wobbuffet:: @ 8CBA0DC - .incbin "graphics/pokemon/front_pics/wobbuffet_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Wobbuffet:: @ 8CBA42C - .incbin "graphics/pokemon/palettes/wobbuffet_palette.gbapal.lz" - - .align 2 -gMonBackPic_Wobbuffet:: @ 8CBA454 - .incbin "graphics/pokemon/back_pics/wobbuffet_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Wobbuffet:: @ 8CBA698 - .incbin "graphics/pokemon/palettes/wobbuffet_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Wobbuffet:: @ 8CBA6C0 - .incbin "graphics/pokemon/icons/wobbuffet_icon.4bpp" - - .align 2 -gMonFootprint_Wobbuffet:: @ 8CBAAC0 - .incbin "graphics/pokemon/footprints/wobbuffet_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Girafarig:: @ 8CBAAE0 - .incbin "graphics/pokemon/front_pics/girafarig_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Girafarig:: @ 8CBAEE4 - .incbin "graphics/pokemon/palettes/girafarig_palette.gbapal.lz" - - .align 2 -gMonBackPic_Girafarig:: @ 8CBAF0C - .incbin "graphics/pokemon/back_pics/girafarig_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Girafarig:: @ 8CBB2B8 - .incbin "graphics/pokemon/palettes/girafarig_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Girafarig:: @ 8CBB2E0 - .incbin "graphics/pokemon/icons/girafarig_icon.4bpp" - - .align 2 -gMonFootprint_Girafarig:: @ 8CBB6E0 - .incbin "graphics/pokemon/footprints/girafarig_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Pineco:: @ 8CBB700 - .incbin "graphics/pokemon/front_pics/pineco_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Pineco:: @ 8CBBA40 - .incbin "graphics/pokemon/palettes/pineco_palette.gbapal.lz" - - .align 2 -gMonBackPic_Pineco:: @ 8CBBA64 - .incbin "graphics/pokemon/back_pics/pineco_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Pineco:: @ 8CBBD3C - .incbin "graphics/pokemon/palettes/pineco_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Pineco:: @ 8CBBD60 - .incbin "graphics/pokemon/icons/pineco_icon.4bpp" - - .align 2 -gMonFootprint_Pineco:: @ 8CBC160 - .incbin "graphics/pokemon/footprints/pineco_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Forretress:: @ 8CBC180 - .incbin "graphics/pokemon/front_pics/forretress_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Forretress:: @ 8CBC59C - .incbin "graphics/pokemon/palettes/forretress_palette.gbapal.lz" - - .align 2 -gMonBackPic_Forretress:: @ 8CBC5C4 - .incbin "graphics/pokemon/back_pics/forretress_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Forretress:: @ 8CBC884 - .incbin "graphics/pokemon/palettes/forretress_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Forretress:: @ 8CBC8AC - .incbin "graphics/pokemon/icons/forretress_icon.4bpp" - - .align 2 -gMonFootprint_Forretress:: @ 8CBCCAC - .incbin "graphics/pokemon/footprints/forretress_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Dunsparce:: @ 8CBCCCC - .incbin "graphics/pokemon/front_pics/dunsparce_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Dunsparce:: @ 8CBCFDC - .incbin "graphics/pokemon/palettes/dunsparce_palette.gbapal.lz" - - .align 2 -gMonBackPic_Dunsparce:: @ 8CBD004 - .incbin "graphics/pokemon/back_pics/dunsparce_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Dunsparce:: @ 8CBD300 - .incbin "graphics/pokemon/palettes/dunsparce_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Dunsparce:: @ 8CBD328 - .incbin "graphics/pokemon/icons/dunsparce_icon.4bpp" - - .align 2 -gMonFootprint_Dunsparce:: @ 8CBD728 - .incbin "graphics/pokemon/footprints/dunsparce_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Gligar:: @ 8CBD748 - .incbin "graphics/pokemon/front_pics/gligar_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Gligar:: @ 8CBDB70 - .incbin "graphics/pokemon/palettes/gligar_palette.gbapal.lz" - - .align 2 -gMonBackPic_Gligar:: @ 8CBDB98 - .incbin "graphics/pokemon/back_pics/gligar_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Gligar:: @ 8CBDF70 - .incbin "graphics/pokemon/palettes/gligar_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Gligar:: @ 8CBDF98 - .incbin "graphics/pokemon/icons/gligar_icon.4bpp" - - .align 2 -gMonFootprint_Gligar:: @ 8CBE398 - .incbin "graphics/pokemon/footprints/gligar_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Steelix:: @ 8CBE3B8 - .incbin "graphics/pokemon/front_pics/steelix_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Steelix:: @ 8CBE880 - .incbin "graphics/pokemon/palettes/steelix_palette.gbapal.lz" - - .align 2 -gMonBackPic_Steelix:: @ 8CBE8A4 - .incbin "graphics/pokemon/back_pics/steelix_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Steelix:: @ 8CBECB0 - .incbin "graphics/pokemon/palettes/steelix_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Steelix:: @ 8CBECD4 - .incbin "graphics/pokemon/icons/steelix_icon.4bpp" - - .align 2 -gMonFootprint_Steelix:: @ 8CBF0D4 - .incbin "graphics/pokemon/footprints/steelix_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Snubbull:: @ 8CBF0F4 - .incbin "graphics/pokemon/front_pics/snubbull_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Snubbull:: @ 8CBF3C8 - .incbin "graphics/pokemon/palettes/snubbull_palette.gbapal.lz" - - .align 2 -gMonBackPic_Snubbull:: @ 8CBF3F0 - .incbin "graphics/pokemon/back_pics/snubbull_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Snubbull:: @ 8CBF718 - .incbin "graphics/pokemon/palettes/snubbull_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Snubbull:: @ 8CBF740 - .incbin "graphics/pokemon/icons/snubbull_icon.4bpp" - - .align 2 -gMonFootprint_Snubbull:: @ 8CBFB40 - .incbin "graphics/pokemon/footprints/snubbull_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Granbull:: @ 8CBFB60 - .incbin "graphics/pokemon/front_pics/granbull_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Granbull:: @ 8CBFEEC - .incbin "graphics/pokemon/palettes/granbull_palette.gbapal.lz" - - .align 2 -gMonBackPic_Granbull:: @ 8CBFF14 - .incbin "graphics/pokemon/back_pics/granbull_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Granbull:: @ 8CC0238 - .incbin "graphics/pokemon/palettes/granbull_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Granbull:: @ 8CC0260 - .incbin "graphics/pokemon/icons/granbull_icon.4bpp" - - .align 2 -gMonFootprint_Granbull:: @ 8CC0660 - .incbin "graphics/pokemon/footprints/granbull_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Qwilfish:: @ 8CC0680 - .incbin "graphics/pokemon/front_pics/qwilfish_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Qwilfish:: @ 8CC0940 - .incbin "graphics/pokemon/palettes/qwilfish_palette.gbapal.lz" - - .align 2 -gMonBackPic_Qwilfish:: @ 8CC0968 - .incbin "graphics/pokemon/back_pics/qwilfish_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Qwilfish:: @ 8CC0C48 - .incbin "graphics/pokemon/palettes/qwilfish_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Qwilfish:: @ 8CC0C70 - .incbin "graphics/pokemon/icons/qwilfish_icon.4bpp" - - .align 2 -gMonFootprint_Qwilfish:: @ 8CC1070 - .incbin "graphics/pokemon/footprints/qwilfish_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Scizor:: @ 8CC1090 - .incbin "graphics/pokemon/front_pics/scizor_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Scizor:: @ 8CC1578 - .incbin "graphics/pokemon/palettes/scizor_palette.gbapal.lz" - - .align 2 -gMonBackPic_Scizor:: @ 8CC15A0 - .incbin "graphics/pokemon/back_pics/scizor_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Scizor:: @ 8CC1920 - .incbin "graphics/pokemon/palettes/scizor_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Scizor:: @ 8CC1948 - .incbin "graphics/pokemon/icons/scizor_icon.4bpp" - - .align 2 -gMonFootprint_Scizor:: @ 8CC1D48 - .incbin "graphics/pokemon/footprints/scizor_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Shuckle:: @ 8CC1D68 - .incbin "graphics/pokemon/front_pics/shuckle_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Shuckle:: @ 8CC2030 - .incbin "graphics/pokemon/palettes/shuckle_palette.gbapal.lz" - - .align 2 -gMonBackPic_Shuckle:: @ 8CC2058 - .incbin "graphics/pokemon/back_pics/shuckle_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Shuckle:: @ 8CC22B0 - .incbin "graphics/pokemon/palettes/shuckle_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Shuckle:: @ 8CC22D8 - .incbin "graphics/pokemon/icons/shuckle_icon.4bpp" - - .align 2 -gMonFootprint_Shuckle:: @ 8CC26D8 - .incbin "graphics/pokemon/footprints/shuckle_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Heracross:: @ 8CC26F8 - .incbin "graphics/pokemon/front_pics/heracross_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Heracross:: @ 8CC2AE8 - .incbin "graphics/pokemon/palettes/heracross_palette.gbapal.lz" - - .align 2 -gMonBackPic_Heracross:: @ 8CC2B10 - .incbin "graphics/pokemon/back_pics/heracross_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Heracross:: @ 8CC2E80 - .incbin "graphics/pokemon/palettes/heracross_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Heracross:: @ 8CC2EA8 - .incbin "graphics/pokemon/icons/heracross_icon.4bpp" - - .align 2 -gMonFootprint_Heracross:: @ 8CC32A8 - .incbin "graphics/pokemon/footprints/heracross_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Sneasel:: @ 8CC32C8 - .incbin "graphics/pokemon/front_pics/sneasel_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Sneasel:: @ 8CC360C - .incbin "graphics/pokemon/palettes/sneasel_palette.gbapal.lz" - - .align 2 -gMonBackPic_Sneasel:: @ 8CC3634 - .incbin "graphics/pokemon/back_pics/sneasel_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Sneasel:: @ 8CC3958 - .incbin "graphics/pokemon/palettes/sneasel_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Sneasel:: @ 8CC3980 - .incbin "graphics/pokemon/icons/sneasel_icon.4bpp" - - .align 2 -gMonFootprint_Sneasel:: @ 8CC3D80 - .incbin "graphics/pokemon/footprints/sneasel_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Teddiursa:: @ 8CC3DA0 - .incbin "graphics/pokemon/front_pics/teddiursa_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Teddiursa:: @ 8CC400C - .incbin "graphics/pokemon/palettes/teddiursa_palette.gbapal.lz" - - .align 2 -gMonBackPic_Teddiursa:: @ 8CC4034 - .incbin "graphics/pokemon/back_pics/teddiursa_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Teddiursa:: @ 8CC42AC - .incbin "graphics/pokemon/palettes/teddiursa_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Teddiursa:: @ 8CC42D4 - .incbin "graphics/pokemon/icons/teddiursa_icon.4bpp" - - .align 2 -gMonFootprint_Teddiursa:: @ 8CC46D4 - .incbin "graphics/pokemon/footprints/teddiursa_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Ursaring:: @ 8CC46F4 - .incbin "graphics/pokemon/front_pics/ursaring_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Ursaring:: @ 8CC4B2C - .incbin "graphics/pokemon/palettes/ursaring_palette.gbapal.lz" - - .align 2 -gMonBackPic_Ursaring:: @ 8CC4B54 - .incbin "graphics/pokemon/back_pics/ursaring_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Ursaring:: @ 8CC4EDC - .incbin "graphics/pokemon/palettes/ursaring_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Ursaring:: @ 8CC4F04 - .incbin "graphics/pokemon/icons/ursaring_icon.4bpp" - - .align 2 -gMonFootprint_Ursaring:: @ 8CC5304 - .incbin "graphics/pokemon/footprints/ursaring_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Slugma:: @ 8CC5324 - .incbin "graphics/pokemon/front_pics/slugma_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Slugma:: @ 8CC5598 - .incbin "graphics/pokemon/palettes/slugma_palette.gbapal.lz" - - .align 2 -gMonBackPic_Slugma:: @ 8CC55BC - .incbin "graphics/pokemon/back_pics/slugma_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Slugma:: @ 8CC58A4 - .incbin "graphics/pokemon/palettes/slugma_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Slugma:: @ 8CC58C8 - .incbin "graphics/pokemon/icons/slugma_icon.4bpp" - - .align 2 -gMonFootprint_Slugma:: @ 8CC5CC8 - .incbin "graphics/pokemon/footprints/slugma_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Magcargo:: @ 8CC5CE8 - .incbin "graphics/pokemon/front_pics/magcargo_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Magcargo:: @ 8CC6030 - .incbin "graphics/pokemon/palettes/magcargo_palette.gbapal.lz" - - .align 2 -gMonBackPic_Magcargo:: @ 8CC6058 - .incbin "graphics/pokemon/back_pics/magcargo_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Magcargo:: @ 8CC6470 - .incbin "graphics/pokemon/palettes/magcargo_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Magcargo:: @ 8CC6498 - .incbin "graphics/pokemon/icons/magcargo_icon.4bpp" - - .align 2 -gMonFootprint_Magcargo:: @ 8CC6898 - .incbin "graphics/pokemon/footprints/magcargo_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Swinub:: @ 8CC68B8 - .incbin "graphics/pokemon/front_pics/swinub_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Swinub:: @ 8CC6AB4 - .incbin "graphics/pokemon/palettes/swinub_palette.gbapal.lz" - - .align 2 -gMonBackPic_Swinub:: @ 8CC6ADC - .incbin "graphics/pokemon/back_pics/swinub_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Swinub:: @ 8CC6D18 - .incbin "graphics/pokemon/palettes/swinub_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Swinub:: @ 8CC6D40 - .incbin "graphics/pokemon/icons/swinub_icon.4bpp" - - .align 2 -gMonFootprint_Swinub:: @ 8CC7140 - .incbin "graphics/pokemon/footprints/swinub_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Piloswine:: @ 8CC7160 - .incbin "graphics/pokemon/front_pics/piloswine_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Piloswine:: @ 8CC7488 - .incbin "graphics/pokemon/palettes/piloswine_palette.gbapal.lz" - - .align 2 -gMonBackPic_Piloswine:: @ 8CC74B0 - .incbin "graphics/pokemon/back_pics/piloswine_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Piloswine:: @ 8CC76FC - .incbin "graphics/pokemon/palettes/piloswine_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Piloswine:: @ 8CC7724 - .incbin "graphics/pokemon/icons/piloswine_icon.4bpp" - - .align 2 -gMonFootprint_Piloswine:: @ 8CC7B24 - .incbin "graphics/pokemon/footprints/piloswine_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Corsola:: @ 8CC7B44 - .incbin "graphics/pokemon/front_pics/corsola_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Corsola:: @ 8CC7E2C - .incbin "graphics/pokemon/palettes/corsola_palette.gbapal.lz" - - .align 2 -gMonBackPic_Corsola:: @ 8CC7E54 - .incbin "graphics/pokemon/back_pics/corsola_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Corsola:: @ 8CC8114 - .incbin "graphics/pokemon/palettes/corsola_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Corsola:: @ 8CC813C - .incbin "graphics/pokemon/icons/corsola_icon.4bpp" - - .align 2 -gMonFootprint_Corsola:: @ 8CC853C - .incbin "graphics/pokemon/footprints/corsola_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Remoraid:: @ 8CC855C - .incbin "graphics/pokemon/front_pics/remoraid_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Remoraid:: @ 8CC87C4 - .incbin "graphics/pokemon/palettes/remoraid_palette.gbapal.lz" - - .align 2 -gMonBackPic_Remoraid:: @ 8CC87EC - .incbin "graphics/pokemon/back_pics/remoraid_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Remoraid:: @ 8CC8B00 - .incbin "graphics/pokemon/palettes/remoraid_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Remoraid:: @ 8CC8B28 - .incbin "graphics/pokemon/icons/remoraid_icon.4bpp" - - .align 2 -gMonFootprint_Remoraid:: @ 8CC8F28 - .incbin "graphics/pokemon/footprints/remoraid_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Octillery:: @ 8CC8F48 - .incbin "graphics/pokemon/front_pics/octillery_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Octillery:: @ 8CC927C - .incbin "graphics/pokemon/palettes/octillery_palette.gbapal.lz" - - .align 2 -gMonBackPic_Octillery:: @ 8CC92A4 - .incbin "graphics/pokemon/back_pics/octillery_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Octillery:: @ 8CC955C - .incbin "graphics/pokemon/palettes/octillery_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Octillery:: @ 8CC9584 - .incbin "graphics/pokemon/icons/octillery_icon.4bpp" - - .align 2 -gMonFootprint_Octillery:: @ 8CC9984 - .incbin "graphics/pokemon/footprints/octillery_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Delibird:: @ 8CC99A4 - .incbin "graphics/pokemon/front_pics/delibird_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Delibird:: @ 8CC9D14 - .incbin "graphics/pokemon/palettes/delibird_palette.gbapal.lz" - - .align 2 -gMonBackPic_Delibird:: @ 8CC9D3C - .incbin "graphics/pokemon/back_pics/delibird_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Delibird:: @ 8CCA0FC - .incbin "graphics/pokemon/palettes/delibird_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Delibird:: @ 8CCA124 - .incbin "graphics/pokemon/icons/delibird_icon.4bpp" - - .align 2 -gMonFootprint_Delibird:: @ 8CCA524 - .incbin "graphics/pokemon/footprints/delibird_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Mantine:: @ 8CCA544 - .incbin "graphics/pokemon/front_pics/mantine_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Mantine:: @ 8CCA9E0 - .incbin "graphics/pokemon/palettes/mantine_palette.gbapal.lz" - - .align 2 -gMonBackPic_Mantine:: @ 8CCAA08 - .incbin "graphics/pokemon/back_pics/mantine_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Mantine:: @ 8CCACA8 - .incbin "graphics/pokemon/palettes/mantine_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Mantine:: @ 8CCACD0 - .incbin "graphics/pokemon/icons/mantine_icon.4bpp" - - .align 2 -gMonFootprint_Mantine:: @ 8CCB0D0 - .incbin "graphics/pokemon/footprints/mantine_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Skarmory:: @ 8CCB0F0 - .incbin "graphics/pokemon/front_pics/skarmory_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Skarmory:: @ 8CCB5D0 - .incbin "graphics/pokemon/palettes/skarmory_palette.gbapal.lz" - - .align 2 -gMonBackPic_Skarmory:: @ 8CCB5F8 - .incbin "graphics/pokemon/back_pics/skarmory_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Skarmory:: @ 8CCB8FC - .incbin "graphics/pokemon/palettes/skarmory_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Skarmory:: @ 8CCB924 - .incbin "graphics/pokemon/icons/skarmory_icon.4bpp" - - .align 2 -gMonFootprint_Skarmory:: @ 8CCBD24 - .incbin "graphics/pokemon/footprints/skarmory_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Houndour:: @ 8CCBD44 - .incbin "graphics/pokemon/front_pics/houndour_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Houndour:: @ 8CCBFFC - .incbin "graphics/pokemon/palettes/houndour_palette.gbapal.lz" - - .align 2 -gMonBackPic_Houndour:: @ 8CCC024 - .incbin "graphics/pokemon/back_pics/houndour_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Houndour:: @ 8CCC2A4 - .incbin "graphics/pokemon/palettes/houndour_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Houndour:: @ 8CCC2CC - .incbin "graphics/pokemon/icons/houndour_icon.4bpp" - - .align 2 -gMonFootprint_Houndour:: @ 8CCC6CC - .incbin "graphics/pokemon/footprints/houndour_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Houndoom:: @ 8CCC6EC - .incbin "graphics/pokemon/front_pics/houndoom_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Houndoom:: @ 8CCCAEC - .incbin "graphics/pokemon/palettes/houndoom_palette.gbapal.lz" - - .align 2 -gMonBackPic_Houndoom:: @ 8CCCB14 - .incbin "graphics/pokemon/back_pics/houndoom_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Houndoom:: @ 8CCCE38 - .incbin "graphics/pokemon/palettes/houndoom_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Houndoom:: @ 8CCCE60 - .incbin "graphics/pokemon/icons/houndoom_icon.4bpp" - - .align 2 -gMonFootprint_Houndoom:: @ 8CCD260 - .incbin "graphics/pokemon/footprints/houndoom_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Kingdra:: @ 8CCD280 - .incbin "graphics/pokemon/front_pics/kingdra_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Kingdra:: @ 8CCD6A0 - .incbin "graphics/pokemon/palettes/kingdra_palette.gbapal.lz" - - .align 2 -gMonBackPic_Kingdra:: @ 8CCD6C8 - .incbin "graphics/pokemon/back_pics/kingdra_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Kingdra:: @ 8CCDA7C - .incbin "graphics/pokemon/palettes/kingdra_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Kingdra:: @ 8CCDAA4 - .incbin "graphics/pokemon/icons/kingdra_icon.4bpp" - - .align 2 -gMonFootprint_Kingdra:: @ 8CCDEA4 - .incbin "graphics/pokemon/footprints/kingdra_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Phanpy:: @ 8CCDEC4 - .incbin "graphics/pokemon/front_pics/phanpy_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Phanpy:: @ 8CCE120 - .incbin "graphics/pokemon/palettes/phanpy_palette.gbapal.lz" - - .align 2 -gMonBackPic_Phanpy:: @ 8CCE148 - .incbin "graphics/pokemon/back_pics/phanpy_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Phanpy:: @ 8CCE40C - .incbin "graphics/pokemon/palettes/phanpy_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Phanpy:: @ 8CCE434 - .incbin "graphics/pokemon/icons/phanpy_icon.4bpp" - - .align 2 -gMonFootprint_Phanpy:: @ 8CCE834 - .incbin "graphics/pokemon/footprints/phanpy_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Donphan:: @ 8CCE854 - .incbin "graphics/pokemon/front_pics/donphan_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Donphan:: @ 8CCECC8 - .incbin "graphics/pokemon/palettes/donphan_palette.gbapal.lz" - - .align 2 -gMonBackPic_Donphan:: @ 8CCECF0 - .incbin "graphics/pokemon/back_pics/donphan_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Donphan:: @ 8CCEFEC - .incbin "graphics/pokemon/palettes/donphan_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Donphan:: @ 8CCF014 - .incbin "graphics/pokemon/icons/donphan_icon.4bpp" - - .align 2 -gMonFootprint_Donphan:: @ 8CCF414 - .incbin "graphics/pokemon/footprints/donphan_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Porygon2:: @ 8CCF434 - .incbin "graphics/pokemon/front_pics/porygon2_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Porygon2:: @ 8CCF6BC - .incbin "graphics/pokemon/palettes/porygon2_palette.gbapal.lz" - - .align 2 -gMonBackPic_Porygon2:: @ 8CCF6E4 - .incbin "graphics/pokemon/back_pics/porygon2_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Porygon2:: @ 8CCFA00 - .incbin "graphics/pokemon/palettes/porygon2_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Porygon2:: @ 8CCFA28 - .incbin "graphics/pokemon/icons/porygon2_icon.4bpp" - - .align 2 -gMonFootprint_Porygon2:: @ 8CCFE28 - .incbin "graphics/pokemon/footprints/porygon2_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Stantler:: @ 8CCFE48 - .incbin "graphics/pokemon/front_pics/stantler_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Stantler:: @ 8CD025C - .incbin "graphics/pokemon/palettes/stantler_palette.gbapal.lz" - - .align 2 -gMonBackPic_Stantler:: @ 8CD0284 - .incbin "graphics/pokemon/back_pics/stantler_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Stantler:: @ 8CD05D0 - .incbin "graphics/pokemon/palettes/stantler_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Stantler:: @ 8CD05F8 - .incbin "graphics/pokemon/icons/stantler_icon.4bpp" - - .align 2 -gMonFootprint_Stantler:: @ 8CD09F8 - .incbin "graphics/pokemon/footprints/stantler_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Smeargle:: @ 8CD0A18 - .incbin "graphics/pokemon/front_pics/smeargle_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Smeargle:: @ 8CD0DAC - .incbin "graphics/pokemon/palettes/smeargle_palette.gbapal.lz" - - .align 2 -gMonBackPic_Smeargle:: @ 8CD0DD4 - .incbin "graphics/pokemon/back_pics/smeargle_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Smeargle:: @ 8CD10F8 - .incbin "graphics/pokemon/palettes/smeargle_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Smeargle:: @ 8CD1120 - .incbin "graphics/pokemon/icons/smeargle_icon.4bpp" - - .align 2 -gMonFootprint_Smeargle:: @ 8CD1520 - .incbin "graphics/pokemon/footprints/smeargle_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Tyrogue:: @ 8CD1540 - .incbin "graphics/pokemon/front_pics/tyrogue_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Tyrogue:: @ 8CD17CC - .incbin "graphics/pokemon/palettes/tyrogue_palette.gbapal.lz" - - .align 2 -gMonBackPic_Tyrogue:: @ 8CD17F4 - .incbin "graphics/pokemon/back_pics/tyrogue_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Tyrogue:: @ 8CD1B10 - .incbin "graphics/pokemon/palettes/tyrogue_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Tyrogue:: @ 8CD1B38 - .incbin "graphics/pokemon/icons/tyrogue_icon.4bpp" - - .align 2 -gMonFootprint_Tyrogue:: @ 8CD1F38 - .incbin "graphics/pokemon/footprints/tyrogue_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Hitmontop:: @ 8CD1F58 - .incbin "graphics/pokemon/front_pics/hitmontop_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Hitmontop:: @ 8CD22E4 - .incbin "graphics/pokemon/palettes/hitmontop_palette.gbapal.lz" - - .align 2 -gMonBackPic_Hitmontop:: @ 8CD230C - .incbin "graphics/pokemon/back_pics/hitmontop_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Hitmontop:: @ 8CD2734 - .incbin "graphics/pokemon/palettes/hitmontop_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Hitmontop:: @ 8CD275C - .incbin "graphics/pokemon/icons/hitmontop_icon.4bpp" - - .align 2 -gMonFootprint_Hitmontop:: @ 8CD2B5C - .incbin "graphics/pokemon/footprints/hitmontop_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Smoochum:: @ 8CD2B7C - .incbin "graphics/pokemon/front_pics/smoochum_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Smoochum:: @ 8CD2DD4 - .incbin "graphics/pokemon/palettes/smoochum_palette.gbapal.lz" - - .align 2 -gMonBackPic_Smoochum:: @ 8CD2DFC - .incbin "graphics/pokemon/back_pics/smoochum_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Smoochum:: @ 8CD3074 - .incbin "graphics/pokemon/palettes/smoochum_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Smoochum:: @ 8CD309C - .incbin "graphics/pokemon/icons/smoochum_icon.4bpp" - - .align 2 -gMonFootprint_Smoochum:: @ 8CD349C - .incbin "graphics/pokemon/footprints/smoochum_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Elekid:: @ 8CD34BC - .incbin "graphics/pokemon/front_pics/elekid_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Elekid:: @ 8CD37C4 - .incbin "graphics/pokemon/palettes/elekid_palette.gbapal.lz" - - .align 2 -gMonBackPic_Elekid:: @ 8CD37EC - .incbin "graphics/pokemon/back_pics/elekid_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Elekid:: @ 8CD3B44 - .incbin "graphics/pokemon/palettes/elekid_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Elekid:: @ 8CD3B6C - .incbin "graphics/pokemon/icons/elekid_icon.4bpp" - - .align 2 -gMonFootprint_Elekid:: @ 8CD3F6C - .incbin "graphics/pokemon/footprints/elekid_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Magby:: @ 8CD3F8C - .incbin "graphics/pokemon/front_pics/magby_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Magby:: @ 8CD4210 - .incbin "graphics/pokemon/palettes/magby_palette.gbapal.lz" - - .align 2 -gMonBackPic_Magby:: @ 8CD4238 - .incbin "graphics/pokemon/back_pics/magby_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Magby:: @ 8CD44E4 - .incbin "graphics/pokemon/palettes/magby_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Magby:: @ 8CD450C - .incbin "graphics/pokemon/icons/magby_icon.4bpp" - - .align 2 -gMonFootprint_Magby:: @ 8CD490C - .incbin "graphics/pokemon/footprints/magby_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Miltank:: @ 8CD492C - .incbin "graphics/pokemon/front_pics/miltank_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Miltank:: @ 8CD4CDC - .incbin "graphics/pokemon/palettes/miltank_palette.gbapal.lz" - - .align 2 -gMonBackPic_Miltank:: @ 8CD4D04 - .incbin "graphics/pokemon/back_pics/miltank_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Miltank:: @ 8CD50A0 - .incbin "graphics/pokemon/palettes/miltank_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Miltank:: @ 8CD50C8 - .incbin "graphics/pokemon/icons/miltank_icon.4bpp" - - .align 2 -gMonFootprint_Miltank:: @ 8CD54C8 - .incbin "graphics/pokemon/footprints/miltank_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Blissey:: @ 8CD54E8 - .incbin "graphics/pokemon/front_pics/blissey_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Blissey:: @ 8CD58D0 - .incbin "graphics/pokemon/palettes/blissey_palette.gbapal.lz" - - .align 2 -gMonBackPic_Blissey:: @ 8CD58F8 - .incbin "graphics/pokemon/back_pics/blissey_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Blissey:: @ 8CD5BC4 - .incbin "graphics/pokemon/palettes/blissey_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Blissey:: @ 8CD5BEC - .incbin "graphics/pokemon/icons/blissey_icon.4bpp" - - .align 2 -gMonFootprint_Blissey:: @ 8CD5FEC - .incbin "graphics/pokemon/footprints/blissey_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Raikou:: @ 8CD600C - .incbin "graphics/pokemon/front_pics/raikou_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Raikou:: @ 8CD6588 - .incbin "graphics/pokemon/palettes/raikou_palette.gbapal.lz" - - .align 2 -gMonBackPic_Raikou:: @ 8CD65B0 - .incbin "graphics/pokemon/back_pics/raikou_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Raikou:: @ 8CD6958 - .incbin "graphics/pokemon/palettes/raikou_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Raikou:: @ 8CD6980 - .incbin "graphics/pokemon/icons/raikou_icon.4bpp" - - .align 2 -gMonFootprint_Raikou:: @ 8CD6D80 - .incbin "graphics/pokemon/footprints/raikou_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Entei:: @ 8CD6DA0 - .incbin "graphics/pokemon/front_pics/entei_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Entei:: @ 8CD739C - .incbin "graphics/pokemon/palettes/entei_palette.gbapal.lz" - - .align 2 -gMonBackPic_Entei:: @ 8CD73C4 - .incbin "graphics/pokemon/back_pics/entei_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Entei:: @ 8CD77E8 - .incbin "graphics/pokemon/palettes/entei_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Entei:: @ 8CD7810 - .incbin "graphics/pokemon/icons/entei_icon.4bpp" - - .align 2 -gMonFootprint_Entei:: @ 8CD7C10 - .incbin "graphics/pokemon/footprints/entei_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Suicune:: @ 8CD7C30 - .incbin "graphics/pokemon/front_pics/suicune_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Suicune:: @ 8CD81B4 - .incbin "graphics/pokemon/palettes/suicune_palette.gbapal.lz" - - .align 2 -gMonBackPic_Suicune:: @ 8CD81DC - .incbin "graphics/pokemon/back_pics/suicune_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Suicune:: @ 8CD86B8 - .incbin "graphics/pokemon/palettes/suicune_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Suicune:: @ 8CD86E0 - .incbin "graphics/pokemon/icons/suicune_icon.4bpp" - - .align 2 -gMonFootprint_Suicune:: @ 8CD8AE0 - .incbin "graphics/pokemon/footprints/suicune_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Larvitar:: @ 8CD8B00 - .incbin "graphics/pokemon/front_pics/larvitar_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Larvitar:: @ 8CD8D5C - .incbin "graphics/pokemon/palettes/larvitar_palette.gbapal.lz" - - .align 2 -gMonBackPic_Larvitar:: @ 8CD8D84 - .incbin "graphics/pokemon/back_pics/larvitar_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Larvitar:: @ 8CD9030 - .incbin "graphics/pokemon/palettes/larvitar_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Larvitar:: @ 8CD9058 - .incbin "graphics/pokemon/icons/larvitar_icon.4bpp" - - .align 2 -gMonFootprint_Larvitar:: @ 8CD9458 - .incbin "graphics/pokemon/footprints/larvitar_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Pupitar:: @ 8CD9478 - .incbin "graphics/pokemon/front_pics/pupitar_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Pupitar:: @ 8CD9768 - .incbin "graphics/pokemon/palettes/pupitar_palette.gbapal.lz" - - .align 2 -gMonBackPic_Pupitar:: @ 8CD9790 - .incbin "graphics/pokemon/back_pics/pupitar_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Pupitar:: @ 8CD9AC8 - .incbin "graphics/pokemon/palettes/pupitar_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Pupitar:: @ 8CD9AF0 - .incbin "graphics/pokemon/icons/pupitar_icon.4bpp" - - .align 2 -gMonFootprint_Pupitar:: @ 8CD9EF0 - .incbin "graphics/pokemon/footprints/pupitar_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Tyranitar:: @ 8CD9F10 - .incbin "graphics/pokemon/front_pics/tyranitar_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Tyranitar:: @ 8CDA44C - .incbin "graphics/pokemon/palettes/tyranitar_palette.gbapal.lz" - - .align 2 -gMonBackPic_Tyranitar:: @ 8CDA474 - .incbin "graphics/pokemon/back_pics/tyranitar_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Tyranitar:: @ 8CDA860 - .incbin "graphics/pokemon/palettes/tyranitar_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Tyranitar:: @ 8CDA888 - .incbin "graphics/pokemon/icons/tyranitar_icon.4bpp" - - .align 2 -gMonFootprint_Tyranitar:: @ 8CDAC88 - .incbin "graphics/pokemon/footprints/tyranitar_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Lugia:: @ 8CDACA8 - .incbin "graphics/pokemon/front_pics/lugia_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Lugia:: @ 8CDB16C - .incbin "graphics/pokemon/palettes/lugia_palette.gbapal.lz" - - .align 2 -gMonBackPic_Lugia:: @ 8CDB194 - .incbin "graphics/pokemon/back_pics/lugia_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Lugia:: @ 8CDB568 - .incbin "graphics/pokemon/palettes/lugia_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Lugia:: @ 8CDB590 - .incbin "graphics/pokemon/icons/lugia_icon.4bpp" - - .align 2 -gMonFootprint_Lugia:: @ 8CDB990 - .incbin "graphics/pokemon/footprints/lugia_footprint.1bpp" - - .align 2 -gMonStillFrontPic_HoOh:: @ 8CDB9B0 - .incbin "graphics/pokemon/front_pics/ho_oh_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_HoOh:: @ 8CDC004 - .incbin "graphics/pokemon/palettes/ho_oh_palette.gbapal.lz" - - .align 2 -gMonBackPic_HoOh:: @ 8CDC02C - .incbin "graphics/pokemon/back_pics/ho_oh_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_HoOh:: @ 8CDC43C - .incbin "graphics/pokemon/palettes/ho_oh_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_HoOh:: @ 8CDC464 - .incbin "graphics/pokemon/icons/ho_oh_icon.4bpp" - - .align 2 -gMonFootprint_HoOh:: @ 8CDC864 - .incbin "graphics/pokemon/footprints/ho_oh_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Celebi:: @ 8CDC884 - .incbin "graphics/pokemon/front_pics/celebi_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Celebi:: @ 8CDCAFC - .incbin "graphics/pokemon/palettes/celebi_palette.gbapal.lz" - - .align 2 -gMonBackPic_Celebi:: @ 8CDCB24 - .incbin "graphics/pokemon/back_pics/celebi_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Celebi:: @ 8CDCED0 - .incbin "graphics/pokemon/palettes/celebi_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Celebi:: @ 8CDCEF8 - .incbin "graphics/pokemon/icons/celebi_icon.4bpp" - - .align 2 -gMonFootprint_Celebi:: @ 8CDD2F8 - .incbin "graphics/pokemon/footprints/celebi_footprint.1bpp" - - .align 2 -gMonStillFrontPic_DoubleQuestionMark:: @ 8CDD318 - .incbin "graphics/pokemon/front_pics/double_question_mark_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_DoubleQuestionMark:: @ 8CDD498 - .incbin "graphics/pokemon/palettes/double_question_mark_palette.gbapal.lz" - - .align 2 -gMonBackPic_DoubleQuestionMark:: @ 8CDD4AC - .incbin "graphics/pokemon/back_pics/double_question_mark_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_DoubleQuestionMark:: @ 8CDD630 - .incbin "graphics/pokemon/palettes/double_question_mark_shiny_palette.gbapal.lz" - - .align 2 -gMonStillFrontPic_Treecko:: @ 8CDD644 - .incbin "graphics/pokemon/front_pics/treecko_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Treecko:: @ 8CDD94C - .incbin "graphics/pokemon/palettes/treecko_palette.gbapal.lz" - - .align 2 -gMonBackPic_Treecko:: @ 8CDD974 - .incbin "graphics/pokemon/back_pics/treecko_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Treecko:: @ 8CDDC74 - .incbin "graphics/pokemon/palettes/treecko_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Treecko:: @ 8CDDC9C - .incbin "graphics/pokemon/icons/treecko_icon.4bpp" - - .align 2 -gMonFootprint_Treecko:: @ 8CDE09C - .incbin "graphics/pokemon/footprints/treecko_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Grovyle:: @ 8CDE0BC - .incbin "graphics/pokemon/front_pics/grovyle_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Grovyle:: @ 8CDE548 - .incbin "graphics/pokemon/palettes/grovyle_palette.gbapal.lz" - - .align 2 -gMonBackPic_Grovyle:: @ 8CDE570 - .incbin "graphics/pokemon/back_pics/grovyle_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Grovyle:: @ 8CDE8AC - .incbin "graphics/pokemon/palettes/grovyle_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Grovyle:: @ 8CDE8D4 - .incbin "graphics/pokemon/icons/grovyle_icon.4bpp" - - .align 2 -gMonFootprint_Grovyle:: @ 8CDECD4 - .incbin "graphics/pokemon/footprints/grovyle_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Sceptile:: @ 8CDECF4 - .incbin "graphics/pokemon/front_pics/sceptile_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Sceptile:: @ 8CDF1F8 - .incbin "graphics/pokemon/palettes/sceptile_palette.gbapal.lz" - - .align 2 -gMonBackPic_Sceptile:: @ 8CDF220 - .incbin "graphics/pokemon/back_pics/sceptile_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Sceptile:: @ 8CDF61C - .incbin "graphics/pokemon/palettes/sceptile_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Sceptile:: @ 8CDF644 - .incbin "graphics/pokemon/icons/sceptile_icon.4bpp" - - .align 2 -gMonFootprint_Sceptile:: @ 8CDFA44 - .incbin "graphics/pokemon/footprints/sceptile_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Torchic:: @ 8CDFA64 - .incbin "graphics/pokemon/front_pics/torchic_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Torchic:: @ 8CDFD00 - .incbin "graphics/pokemon/palettes/torchic_palette.gbapal.lz" - - .align 2 -gMonBackPic_Torchic:: @ 8CDFD28 - .incbin "graphics/pokemon/back_pics/torchic_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Torchic:: @ 8CE0000 - .incbin "graphics/pokemon/palettes/torchic_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Torchic:: @ 8CE0028 - .incbin "graphics/pokemon/icons/torchic_icon.4bpp" - - .align 2 -gMonFootprint_Torchic:: @ 8CE0428 - .incbin "graphics/pokemon/footprints/torchic_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Combusken:: @ 8CE0448 - .incbin "graphics/pokemon/front_pics/combusken_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Combusken:: @ 8CE0834 - .incbin "graphics/pokemon/palettes/combusken_palette.gbapal.lz" - - .align 2 -gMonBackPic_Combusken:: @ 8CE085C - .incbin "graphics/pokemon/back_pics/combusken_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Combusken:: @ 8CE0C2C - .incbin "graphics/pokemon/palettes/combusken_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Combusken:: @ 8CE0C54 - .incbin "graphics/pokemon/icons/combusken_icon.4bpp" - - .align 2 -gMonFootprint_Combusken:: @ 8CE1054 - .incbin "graphics/pokemon/footprints/combusken_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Blaziken:: @ 8CE1074 - .incbin "graphics/pokemon/front_pics/blaziken_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Blaziken:: @ 8CE17C4 - .incbin "graphics/pokemon/palettes/blaziken_palette.gbapal.lz" - - .align 2 -gMonBackPic_Blaziken:: @ 8CE17EC - .incbin "graphics/pokemon/back_pics/blaziken_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Blaziken:: @ 8CE1BC8 - .incbin "graphics/pokemon/palettes/blaziken_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Blaziken:: @ 8CE1BF0 - .incbin "graphics/pokemon/icons/blaziken_icon.4bpp" - - .align 2 -gMonFootprint_Blaziken:: @ 8CE1FF0 - .incbin "graphics/pokemon/footprints/blaziken_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Mudkip:: @ 8CE2010 - .incbin "graphics/pokemon/front_pics/mudkip_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Mudkip:: @ 8CE22C8 - .incbin "graphics/pokemon/palettes/mudkip_palette.gbapal.lz" - - .align 2 -gMonBackPic_Mudkip:: @ 8CE22F0 - .incbin "graphics/pokemon/back_pics/mudkip_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Mudkip:: @ 8CE25D0 - .incbin "graphics/pokemon/palettes/mudkip_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Mudkip:: @ 8CE25F8 - .incbin "graphics/pokemon/icons/mudkip_icon.4bpp" - - .align 2 -gMonFootprint_Mudkip:: @ 8CE29F8 - .incbin "graphics/pokemon/footprints/mudkip_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Marshtomp:: @ 8CE2A18 - .incbin "graphics/pokemon/front_pics/marshtomp_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Marshtomp:: @ 8CE3078 - .incbin "graphics/pokemon/palettes/marshtomp_palette.gbapal.lz" - - .align 2 -gMonBackPic_Marshtomp:: @ 8CE30A0 - .incbin "graphics/pokemon/back_pics/marshtomp_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Marshtomp:: @ 8CE3450 - .incbin "graphics/pokemon/palettes/marshtomp_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Marshtomp:: @ 8CE3478 - .incbin "graphics/pokemon/icons/marshtomp_icon.4bpp" - - .align 2 -gMonFootprint_Marshtomp:: @ 8CE3878 - .incbin "graphics/pokemon/footprints/marshtomp_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Swampert:: @ 8CE3898 - .incbin "graphics/pokemon/front_pics/swampert_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Swampert:: @ 8CE3E14 - .incbin "graphics/pokemon/palettes/swampert_palette.gbapal.lz" - - .align 2 -gMonBackPic_Swampert:: @ 8CE3E3C - .incbin "graphics/pokemon/back_pics/swampert_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Swampert:: @ 8CE41F0 - .incbin "graphics/pokemon/palettes/swampert_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Swampert:: @ 8CE4218 - .incbin "graphics/pokemon/icons/swampert_icon.4bpp" - - .align 2 -gMonFootprint_Swampert:: @ 8CE4618 - .incbin "graphics/pokemon/footprints/swampert_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Poochyena:: @ 8CE4638 - .incbin "graphics/pokemon/front_pics/poochyena_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Poochyena:: @ 8CE4BDC - .incbin "graphics/pokemon/palettes/poochyena_palette.gbapal.lz" - - .align 2 -gMonBackPic_Poochyena:: @ 8CE4C04 - .incbin "graphics/pokemon/back_pics/poochyena_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Poochyena:: @ 8CE4F30 - .incbin "graphics/pokemon/palettes/poochyena_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Poochyena:: @ 8CE4F58 - .incbin "graphics/pokemon/icons/poochyena_icon.4bpp" - - .align 2 -gMonFootprint_Poochyena:: @ 8CE5358 - .incbin "graphics/pokemon/footprints/poochyena_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Mightyena:: @ 8CE5378 - .incbin "graphics/pokemon/front_pics/mightyena_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Mightyena:: @ 8CE57B0 - .incbin "graphics/pokemon/palettes/mightyena_palette.gbapal.lz" - - .align 2 -gMonBackPic_Mightyena:: @ 8CE57D8 - .incbin "graphics/pokemon/back_pics/mightyena_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Mightyena:: @ 8CE5B50 - .incbin "graphics/pokemon/palettes/mightyena_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Mightyena:: @ 8CE5B78 - .incbin "graphics/pokemon/icons/mightyena_icon.4bpp" - - .align 2 -gMonFootprint_Mightyena:: @ 8CE5F78 - .incbin "graphics/pokemon/footprints/mightyena_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Zigzagoon:: @ 8CE5F98 - .incbin "graphics/pokemon/front_pics/zigzagoon_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Zigzagoon:: @ 8CE6368 - .incbin "graphics/pokemon/palettes/zigzagoon_palette.gbapal.lz" - - .align 2 -gMonBackPic_Zigzagoon:: @ 8CE6390 - .incbin "graphics/pokemon/back_pics/zigzagoon_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Zigzagoon:: @ 8CE66D0 - .incbin "graphics/pokemon/palettes/zigzagoon_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Zigzagoon:: @ 8CE66F8 - .incbin "graphics/pokemon/icons/zigzagoon_icon.4bpp" - - .align 2 -gMonFootprint_Zigzagoon:: @ 8CE6AF8 - .incbin "graphics/pokemon/footprints/zigzagoon_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Linoone:: @ 8CE6B18 - .incbin "graphics/pokemon/front_pics/linoone_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Linoone:: @ 8CE6E88 - .incbin "graphics/pokemon/palettes/linoone_palette.gbapal.lz" - - .align 2 -gMonBackPic_Linoone:: @ 8CE6EB0 - .incbin "graphics/pokemon/back_pics/linoone_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Linoone:: @ 8CE7184 - .incbin "graphics/pokemon/palettes/linoone_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Linoone:: @ 8CE71AC - .incbin "graphics/pokemon/icons/linoone_icon.4bpp" - - .align 2 -gMonFootprint_Linoone:: @ 8CE75AC - .incbin "graphics/pokemon/footprints/linoone_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Wurmple:: @ 8CE75CC - .incbin "graphics/pokemon/front_pics/wurmple_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Wurmple:: @ 8CE7854 - .incbin "graphics/pokemon/palettes/wurmple_palette.gbapal.lz" - - .align 2 -gMonBackPic_Wurmple:: @ 8CE787C - .incbin "graphics/pokemon/back_pics/wurmple_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Wurmple:: @ 8CE7AC8 - .incbin "graphics/pokemon/palettes/wurmple_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Wurmple:: @ 8CE7AF0 - .incbin "graphics/pokemon/icons/wurmple_icon.4bpp" - - .align 2 -gMonFootprint_Wurmple:: @ 8CE7EF0 - .incbin "graphics/pokemon/footprints/wurmple_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Silcoon:: @ 8CE7F10 - .incbin "graphics/pokemon/front_pics/silcoon_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Silcoon:: @ 8CE8190 - .incbin "graphics/pokemon/palettes/silcoon_palette.gbapal.lz" - - .align 2 -gMonBackPic_Silcoon:: @ 8CE81B8 - .incbin "graphics/pokemon/back_pics/silcoon_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Silcoon:: @ 8CE83D4 - .incbin "graphics/pokemon/palettes/silcoon_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Silcoon:: @ 8CE83FC - .incbin "graphics/pokemon/icons/silcoon_icon.4bpp" - - .align 2 -gMonFootprint_Silcoon:: @ 8CE87FC - .incbin "graphics/pokemon/footprints/silcoon_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Beautifly:: @ 8CE881C - .incbin "graphics/pokemon/front_pics/beautifly_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Beautifly:: @ 8CE8B74 - .incbin "graphics/pokemon/palettes/beautifly_palette.gbapal.lz" - - .align 2 -gMonBackPic_Beautifly:: @ 8CE8B9C - .incbin "graphics/pokemon/back_pics/beautifly_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Beautifly:: @ 8CE8F4C - .incbin "graphics/pokemon/palettes/beautifly_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Beautifly:: @ 8CE8F74 - .incbin "graphics/pokemon/icons/beautifly_icon.4bpp" - - .align 2 -gMonFootprint_Beautifly:: @ 8CE9374 - .incbin "graphics/pokemon/footprints/beautifly_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Cascoon:: @ 8CE9394 - .incbin "graphics/pokemon/front_pics/cascoon_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Cascoon:: @ 8CE9600 - .incbin "graphics/pokemon/palettes/cascoon_palette.gbapal.lz" - - .align 2 -gMonBackPic_Cascoon:: @ 8CE9628 - .incbin "graphics/pokemon/back_pics/cascoon_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Cascoon:: @ 8CE9838 - .incbin "graphics/pokemon/palettes/cascoon_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Cascoon:: @ 8CE9860 - .incbin "graphics/pokemon/icons/cascoon_icon.4bpp" - - .align 2 -gMonFootprint_Cascoon:: @ 8CE9C60 - .incbin "graphics/pokemon/footprints/cascoon_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Dustox:: @ 8CE9C80 - .incbin "graphics/pokemon/front_pics/dustox_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Dustox:: @ 8CE9FE8 - .incbin "graphics/pokemon/palettes/dustox_palette.gbapal.lz" - - .align 2 -gMonBackPic_Dustox:: @ 8CEA010 - .incbin "graphics/pokemon/back_pics/dustox_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Dustox:: @ 8CEA268 - .incbin "graphics/pokemon/palettes/dustox_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Dustox:: @ 8CEA290 - .incbin "graphics/pokemon/icons/dustox_icon.4bpp" - - .align 2 -gMonFootprint_Dustox:: @ 8CEA690 - .incbin "graphics/pokemon/footprints/dustox_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Lotad:: @ 8CEA6B0 - .incbin "graphics/pokemon/front_pics/lotad_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Lotad:: @ 8CEA910 - .incbin "graphics/pokemon/palettes/lotad_palette.gbapal.lz" - - .align 2 -gMonBackPic_Lotad:: @ 8CEA938 - .incbin "graphics/pokemon/back_pics/lotad_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Lotad:: @ 8CEAC20 - .incbin "graphics/pokemon/palettes/lotad_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Lotad:: @ 8CEAC48 - .incbin "graphics/pokemon/icons/lotad_icon.4bpp" - - .align 2 -gMonFootprint_Lotad:: @ 8CEB048 - .incbin "graphics/pokemon/footprints/lotad_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Lombre:: @ 8CEB068 - .incbin "graphics/pokemon/front_pics/lombre_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Lombre:: @ 8CEB380 - .incbin "graphics/pokemon/palettes/lombre_palette.gbapal.lz" - - .align 2 -gMonBackPic_Lombre:: @ 8CEB3A8 - .incbin "graphics/pokemon/back_pics/lombre_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Lombre:: @ 8CEB6A4 - .incbin "graphics/pokemon/palettes/lombre_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Lombre:: @ 8CEB6CC - .incbin "graphics/pokemon/icons/lombre_icon.4bpp" - - .align 2 -gMonFootprint_Lombre:: @ 8CEBACC - .incbin "graphics/pokemon/footprints/lombre_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Ludicolo:: @ 8CEBAEC - .incbin "graphics/pokemon/front_pics/ludicolo_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Ludicolo:: @ 8CEBFD0 - .incbin "graphics/pokemon/palettes/ludicolo_palette.gbapal.lz" - - .align 2 -gMonBackPic_Ludicolo:: @ 8CEBFF8 - .incbin "graphics/pokemon/back_pics/ludicolo_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Ludicolo:: @ 8CEC2F4 - .incbin "graphics/pokemon/palettes/ludicolo_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Ludicolo:: @ 8CEC31C - .incbin "graphics/pokemon/icons/ludicolo_icon.4bpp" - - .align 2 -gMonFootprint_Ludicolo:: @ 8CEC71C - .incbin "graphics/pokemon/footprints/ludicolo_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Seedot:: @ 8CEC73C - .incbin "graphics/pokemon/front_pics/seedot_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Seedot:: @ 8CEC9D0 - .incbin "graphics/pokemon/palettes/seedot_palette.gbapal.lz" - - .align 2 -gMonBackPic_Seedot:: @ 8CEC9F8 - .incbin "graphics/pokemon/back_pics/seedot_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Seedot:: @ 8CECCD8 - .incbin "graphics/pokemon/palettes/seedot_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Seedot:: @ 8CECD00 - .incbin "graphics/pokemon/icons/seedot_icon.4bpp" - - .align 2 -gMonFootprint_Seedot:: @ 8CED100 - .incbin "graphics/pokemon/footprints/seedot_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Nuzleaf:: @ 8CED120 - .incbin "graphics/pokemon/front_pics/nuzleaf_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Nuzleaf:: @ 8CED40C - .incbin "graphics/pokemon/palettes/nuzleaf_palette.gbapal.lz" - - .align 2 -gMonBackPic_Nuzleaf:: @ 8CED434 - .incbin "graphics/pokemon/back_pics/nuzleaf_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Nuzleaf:: @ 8CED6FC - .incbin "graphics/pokemon/palettes/nuzleaf_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Nuzleaf:: @ 8CED724 - .incbin "graphics/pokemon/icons/nuzleaf_icon.4bpp" - - .align 2 -gMonFootprint_Nuzleaf:: @ 8CEDB24 - .incbin "graphics/pokemon/footprints/nuzleaf_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Shiftry:: @ 8CEDB44 - .incbin "graphics/pokemon/front_pics/shiftry_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Shiftry:: @ 8CEE000 - .incbin "graphics/pokemon/palettes/shiftry_palette.gbapal.lz" - - .align 2 -gMonBackPic_Shiftry:: @ 8CEE028 - .incbin "graphics/pokemon/back_pics/shiftry_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Shiftry:: @ 8CEE2EC - .incbin "graphics/pokemon/palettes/shiftry_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Shiftry:: @ 8CEE314 - .incbin "graphics/pokemon/icons/shiftry_icon.4bpp" - - .align 2 -gMonFootprint_Shiftry:: @ 8CEE714 - .incbin "graphics/pokemon/footprints/shiftry_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Nincada:: @ 8CEE734 - .incbin "graphics/pokemon/front_pics/nincada_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Nincada:: @ 8CEE9D4 - .incbin "graphics/pokemon/palettes/nincada_palette.gbapal.lz" - - .align 2 -gMonBackPic_Nincada:: @ 8CEE9FC - .incbin "graphics/pokemon/back_pics/nincada_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Nincada:: @ 8CEECB4 - .incbin "graphics/pokemon/palettes/nincada_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Nincada:: @ 8CEECDC - .incbin "graphics/pokemon/icons/nincada_icon.4bpp" - - .align 2 -gMonFootprint_Nincada:: @ 8CEF0DC - .incbin "graphics/pokemon/footprints/nincada_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Ninjask:: @ 8CEF0FC - .incbin "graphics/pokemon/front_pics/ninjask_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Ninjask:: @ 8CEF46C - .incbin "graphics/pokemon/palettes/ninjask_palette.gbapal.lz" - - .align 2 -gMonBackPic_Ninjask:: @ 8CEF494 - .incbin "graphics/pokemon/back_pics/ninjask_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Ninjask:: @ 8CEF860 - .incbin "graphics/pokemon/palettes/ninjask_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Ninjask:: @ 8CEF888 - .incbin "graphics/pokemon/icons/ninjask_icon.4bpp" - - .align 2 -gMonFootprint_Ninjask:: @ 8CEFC88 - .incbin "graphics/pokemon/footprints/ninjask_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Shedinja:: @ 8CEFCA8 - .incbin "graphics/pokemon/front_pics/shedinja_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Shedinja:: @ 8CEFFC8 - .incbin "graphics/pokemon/palettes/shedinja_palette.gbapal.lz" - - .align 2 -gMonBackPic_Shedinja:: @ 8CEFFF0 - .incbin "graphics/pokemon/back_pics/shedinja_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Shedinja:: @ 8CF0390 - .incbin "graphics/pokemon/palettes/shedinja_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Shedinja:: @ 8CF03B8 - .incbin "graphics/pokemon/icons/shedinja_icon.4bpp" - - .align 2 -gMonFootprint_Shedinja:: @ 8CF07B8 - .incbin "graphics/pokemon/footprints/shedinja_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Taillow:: @ 8CF07D8 - .incbin "graphics/pokemon/front_pics/taillow_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Taillow:: @ 8CF0A30 - .incbin "graphics/pokemon/palettes/taillow_palette.gbapal.lz" - - .align 2 -gMonBackPic_Taillow:: @ 8CF0A58 - .incbin "graphics/pokemon/back_pics/taillow_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Taillow:: @ 8CF0C78 - .incbin "graphics/pokemon/palettes/taillow_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Taillow:: @ 8CF0CA0 - .incbin "graphics/pokemon/icons/taillow_icon.4bpp" - - .align 2 -gMonFootprint_Taillow:: @ 8CF10A0 - .incbin "graphics/pokemon/footprints/taillow_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Swellow:: @ 8CF10C0 - .incbin "graphics/pokemon/front_pics/swellow_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Swellow:: @ 8CF1484 - .incbin "graphics/pokemon/palettes/swellow_palette.gbapal.lz" - - .align 2 -gMonBackPic_Swellow:: @ 8CF14AC - .incbin "graphics/pokemon/back_pics/swellow_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Swellow:: @ 8CF17E4 - .incbin "graphics/pokemon/palettes/swellow_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Swellow:: @ 8CF180C - .incbin "graphics/pokemon/icons/swellow_icon.4bpp" - - .align 2 -gMonFootprint_Swellow:: @ 8CF1C0C - .incbin "graphics/pokemon/footprints/swellow_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Shroomish:: @ 8CF1C2C - .incbin "graphics/pokemon/front_pics/shroomish_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Shroomish:: @ 8CF1E94 - .incbin "graphics/pokemon/palettes/shroomish_palette.gbapal.lz" - - .align 2 -gMonBackPic_Shroomish:: @ 8CF1EBC - .incbin "graphics/pokemon/back_pics/shroomish_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Shroomish:: @ 8CF219C - .incbin "graphics/pokemon/palettes/shroomish_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Shroomish:: @ 8CF21C4 - .incbin "graphics/pokemon/icons/shroomish_icon.4bpp" - - .align 2 -gMonFootprint_Shroomish:: @ 8CF25C4 - .incbin "graphics/pokemon/footprints/shroomish_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Breloom:: @ 8CF25E4 - .incbin "graphics/pokemon/front_pics/breloom_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Breloom:: @ 8CF29CC - .incbin "graphics/pokemon/palettes/breloom_palette.gbapal.lz" - - .align 2 -gMonBackPic_Breloom:: @ 8CF29F4 - .incbin "graphics/pokemon/back_pics/breloom_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Breloom:: @ 8CF2DD4 - .incbin "graphics/pokemon/palettes/breloom_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Breloom:: @ 8CF2DFC - .incbin "graphics/pokemon/icons/breloom_icon.4bpp" - - .align 2 -gMonFootprint_Breloom:: @ 8CF31FC - .incbin "graphics/pokemon/footprints/breloom_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Spinda:: @ 8CF321C - .incbin "graphics/pokemon/front_pics/spinda_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Spinda:: @ 8CF3510 - .incbin "graphics/pokemon/palettes/spinda_palette.gbapal.lz" - - .align 2 -gMonBackPic_Spinda:: @ 8CF3538 - .incbin "graphics/pokemon/back_pics/spinda_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Spinda:: @ 8CF3874 - .incbin "graphics/pokemon/palettes/spinda_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Spinda:: @ 8CF389C - .incbin "graphics/pokemon/icons/spinda_icon.4bpp" - - .align 2 -gMonFootprint_Spinda:: @ 8CF3C9C - .incbin "graphics/pokemon/footprints/spinda_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Wingull:: @ 8CF3CBC - .incbin "graphics/pokemon/front_pics/wingull_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Wingull:: @ 8CF3EF8 - .incbin "graphics/pokemon/palettes/wingull_palette.gbapal.lz" - - .align 2 -gMonBackPic_Wingull:: @ 8CF3F20 - .incbin "graphics/pokemon/back_pics/wingull_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Wingull:: @ 8CF4270 - .incbin "graphics/pokemon/palettes/wingull_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Wingull:: @ 8CF4298 - .incbin "graphics/pokemon/icons/wingull_icon.4bpp" - - .align 2 -gMonFootprint_Wingull:: @ 8CF4698 - .incbin "graphics/pokemon/footprints/wingull_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Pelipper:: @ 8CF46B8 - .incbin "graphics/pokemon/front_pics/pelipper_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Pelipper:: @ 8CF4A50 - .incbin "graphics/pokemon/palettes/pelipper_palette.gbapal.lz" - - .align 2 -gMonBackPic_Pelipper:: @ 8CF4A78 - .incbin "graphics/pokemon/back_pics/pelipper_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Pelipper:: @ 8CF4DF8 - .incbin "graphics/pokemon/palettes/pelipper_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Pelipper:: @ 8CF4E20 - .incbin "graphics/pokemon/icons/pelipper_icon.4bpp" - - .align 2 -gMonFootprint_Pelipper:: @ 8CF5220 - .incbin "graphics/pokemon/footprints/pelipper_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Surskit:: @ 8CF5240 - .incbin "graphics/pokemon/front_pics/surskit_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Surskit:: @ 8CF544C - .incbin "graphics/pokemon/palettes/surskit_palette.gbapal.lz" - - .align 2 -gMonBackPic_Surskit:: @ 8CF5474 - .incbin "graphics/pokemon/back_pics/surskit_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Surskit:: @ 8CF56AC - .incbin "graphics/pokemon/palettes/surskit_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Surskit:: @ 8CF56D4 - .incbin "graphics/pokemon/icons/surskit_icon.4bpp" - - .align 2 -gMonFootprint_Surskit:: @ 8CF5AD4 - .incbin "graphics/pokemon/footprints/surskit_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Masquerain:: @ 8CF5AF4 - .incbin "graphics/pokemon/front_pics/masquerain_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Masquerain:: @ 8CF5E90 - .incbin "graphics/pokemon/palettes/masquerain_palette.gbapal.lz" - - .align 2 -gMonBackPic_Masquerain:: @ 8CF5EB8 - .incbin "graphics/pokemon/back_pics/masquerain_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Masquerain:: @ 8CF6210 - .incbin "graphics/pokemon/palettes/masquerain_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Masquerain:: @ 8CF6238 - .incbin "graphics/pokemon/icons/masquerain_icon.4bpp" - - .align 2 -gMonFootprint_Masquerain:: @ 8CF6638 - .incbin "graphics/pokemon/footprints/masquerain_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Wailmer:: @ 8CF6658 - .incbin "graphics/pokemon/front_pics/wailmer_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Wailmer:: @ 8CF6938 - .incbin "graphics/pokemon/palettes/wailmer_palette.gbapal.lz" - - .align 2 -gMonBackPic_Wailmer:: @ 8CF6960 - .incbin "graphics/pokemon/back_pics/wailmer_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Wailmer:: @ 8CF6B44 - .incbin "graphics/pokemon/palettes/wailmer_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Wailmer:: @ 8CF6B6C - .incbin "graphics/pokemon/icons/wailmer_icon.4bpp" - - .align 2 -gMonFootprint_Wailmer:: @ 8CF6F6C - .incbin "graphics/pokemon/footprints/wailmer_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Wailord:: @ 8CF6F8C - .incbin "graphics/pokemon/front_pics/wailord_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Wailord:: @ 8CF7350 - .incbin "graphics/pokemon/palettes/wailord_palette.gbapal.lz" - - .align 2 -gMonBackPic_Wailord:: @ 8CF7378 - .incbin "graphics/pokemon/back_pics/wailord_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Wailord:: @ 8CF7590 - .incbin "graphics/pokemon/palettes/wailord_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Wailord:: @ 8CF75B8 - .incbin "graphics/pokemon/icons/wailord_icon.4bpp" - - .align 2 -gMonFootprint_Wailord:: @ 8CF79B8 - .incbin "graphics/pokemon/footprints/wailord_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Skitty:: @ 8CF79D8 - .incbin "graphics/pokemon/front_pics/skitty_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Skitty:: @ 8CF7CD8 - .incbin "graphics/pokemon/palettes/skitty_palette.gbapal.lz" - - .align 2 -gMonBackPic_Skitty:: @ 8CF7D00 - .incbin "graphics/pokemon/back_pics/skitty_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Skitty:: @ 8CF8048 - .incbin "graphics/pokemon/palettes/skitty_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Skitty:: @ 8CF8070 - .incbin "graphics/pokemon/icons/skitty_icon.4bpp" - - .align 2 -gMonFootprint_Skitty:: @ 8CF8470 - .incbin "graphics/pokemon/footprints/skitty_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Delcatty:: @ 8CF8490 - .incbin "graphics/pokemon/front_pics/delcatty_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Delcatty:: @ 8CF881C - .incbin "graphics/pokemon/palettes/delcatty_palette.gbapal.lz" - - .align 2 -gMonBackPic_Delcatty:: @ 8CF8844 - .incbin "graphics/pokemon/back_pics/delcatty_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Delcatty:: @ 8CF8BE0 - .incbin "graphics/pokemon/palettes/delcatty_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Delcatty:: @ 8CF8C08 - .incbin "graphics/pokemon/icons/delcatty_icon.4bpp" - - .align 2 -gMonFootprint_Delcatty:: @ 8CF9008 - .incbin "graphics/pokemon/footprints/delcatty_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Kecleon:: @ 8CF9028 - .incbin "graphics/pokemon/front_pics/kecleon_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Kecleon:: @ 8CF93A8 - .incbin "graphics/pokemon/palettes/kecleon_palette.gbapal.lz" - - .align 2 -gMonBackPic_Kecleon:: @ 8CF93D0 - .incbin "graphics/pokemon/back_pics/kecleon_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Kecleon:: @ 8CF97A8 - .incbin "graphics/pokemon/palettes/kecleon_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Kecleon:: @ 8CF97D0 - .incbin "graphics/pokemon/icons/kecleon_icon.4bpp" - - .align 2 -gMonFootprint_Kecleon:: @ 8CF9BD0 - .incbin "graphics/pokemon/footprints/kecleon_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Baltoy:: @ 8CF9BF0 - .incbin "graphics/pokemon/front_pics/baltoy_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Baltoy:: @ 8CF9E14 - .incbin "graphics/pokemon/palettes/baltoy_palette.gbapal.lz" - - .align 2 -gMonBackPic_Baltoy:: @ 8CF9E34 - .incbin "graphics/pokemon/back_pics/baltoy_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Baltoy:: @ 8CFA0DC - .incbin "graphics/pokemon/palettes/baltoy_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Baltoy:: @ 8CFA0FC - .incbin "graphics/pokemon/icons/baltoy_icon.4bpp" - - .align 2 -gMonFootprint_Baltoy:: @ 8CFA4FC - .incbin "graphics/pokemon/footprints/baltoy_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Claydol:: @ 8CFA51C - .incbin "graphics/pokemon/front_pics/claydol_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Claydol:: @ 8CFA8D4 - .incbin "graphics/pokemon/palettes/claydol_palette.gbapal.lz" - - .align 2 -gMonBackPic_Claydol:: @ 8CFA8FC - .incbin "graphics/pokemon/back_pics/claydol_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Claydol:: @ 8CFACD0 - .incbin "graphics/pokemon/palettes/claydol_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Claydol:: @ 8CFACF8 - .incbin "graphics/pokemon/icons/claydol_icon.4bpp" - - .align 2 -gMonFootprint_Claydol:: @ 8CFB0F8 - .incbin "graphics/pokemon/footprints/claydol_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Nosepass:: @ 8CFB118 - .incbin "graphics/pokemon/front_pics/nosepass_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Nosepass:: @ 8CFB3E4 - .incbin "graphics/pokemon/palettes/nosepass_palette.gbapal.lz" - - .align 2 -gMonBackPic_Nosepass:: @ 8CFB40C - .incbin "graphics/pokemon/back_pics/nosepass_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Nosepass:: @ 8CFB6AC - .incbin "graphics/pokemon/palettes/nosepass_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Nosepass:: @ 8CFB6D4 - .incbin "graphics/pokemon/icons/nosepass_icon.4bpp" - - .align 2 -gMonFootprint_Nosepass:: @ 8CFBAD4 - .incbin "graphics/pokemon/footprints/nosepass_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Torkoal:: @ 8CFBAF4 - .incbin "graphics/pokemon/front_pics/torkoal_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Torkoal:: @ 8CFBFA0 - .incbin "graphics/pokemon/palettes/torkoal_palette.gbapal.lz" - - .align 2 -gMonBackPic_Torkoal:: @ 8CFBFC8 - .incbin "graphics/pokemon/back_pics/torkoal_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Torkoal:: @ 8CFC290 - .incbin "graphics/pokemon/palettes/torkoal_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Torkoal:: @ 8CFC2B8 - .incbin "graphics/pokemon/icons/torkoal_icon.4bpp" - - .align 2 -gMonFootprint_Torkoal:: @ 8CFC6B8 - .incbin "graphics/pokemon/footprints/torkoal_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Sableye:: @ 8CFC6D8 - .incbin "graphics/pokemon/front_pics/sableye_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Sableye:: @ 8CFC9AC - .incbin "graphics/pokemon/palettes/sableye_palette.gbapal.lz" - - .align 2 -gMonBackPic_Sableye:: @ 8CFC9D4 - .incbin "graphics/pokemon/back_pics/sableye_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Sableye:: @ 8CFCCFC - .incbin "graphics/pokemon/palettes/sableye_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Sableye:: @ 8CFCD24 - .incbin "graphics/pokemon/icons/sableye_icon.4bpp" - - .align 2 -gMonFootprint_Sableye:: @ 8CFD124 - .incbin "graphics/pokemon/footprints/sableye_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Barboach:: @ 8CFD144 - .incbin "graphics/pokemon/front_pics/barboach_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Barboach:: @ 8CFD3D4 - .incbin "graphics/pokemon/palettes/barboach_palette.gbapal.lz" - - .align 2 -gMonBackPic_Barboach:: @ 8CFD3FC - .incbin "graphics/pokemon/back_pics/barboach_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Barboach:: @ 8CFD68C - .incbin "graphics/pokemon/palettes/barboach_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Barboach:: @ 8CFD6B4 - .incbin "graphics/pokemon/icons/barboach_icon.4bpp" - - .align 2 -gMonFootprint_Barboach:: @ 8CFDAB4 - .incbin "graphics/pokemon/footprints/barboach_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Whiscash:: @ 8CFDAD4 - .incbin "graphics/pokemon/front_pics/whiscash_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Whiscash:: @ 8CFDE4C - .incbin "graphics/pokemon/palettes/whiscash_palette.gbapal.lz" - - .align 2 -gMonBackPic_Whiscash:: @ 8CFDE74 - .incbin "graphics/pokemon/back_pics/whiscash_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Whiscash:: @ 8CFE1C0 - .incbin "graphics/pokemon/palettes/whiscash_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Whiscash:: @ 8CFE1E8 - .incbin "graphics/pokemon/icons/whiscash_icon.4bpp" - - .align 2 -gMonFootprint_Whiscash:: @ 8CFE5E8 - .incbin "graphics/pokemon/footprints/whiscash_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Luvdisc:: @ 8CFE608 - .incbin "graphics/pokemon/front_pics/luvdisc_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Luvdisc:: @ 8CFE7C8 - .incbin "graphics/pokemon/palettes/luvdisc_palette.gbapal.lz" - - .align 2 -gMonBackPic_Luvdisc:: @ 8CFE7EC - .incbin "graphics/pokemon/back_pics/luvdisc_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Luvdisc:: @ 8CFE9C0 - .incbin "graphics/pokemon/palettes/luvdisc_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Luvdisc:: @ 8CFE9E4 - .incbin "graphics/pokemon/icons/luvdisc_icon.4bpp" - - .align 2 -gMonFootprint_Luvdisc:: @ 8CFEDE4 - .incbin "graphics/pokemon/footprints/luvdisc_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Corphish:: @ 8CFEE04 - .incbin "graphics/pokemon/front_pics/corphish_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Corphish:: @ 8CFF160 - .incbin "graphics/pokemon/palettes/corphish_palette.gbapal.lz" - - .align 2 -gMonBackPic_Corphish:: @ 8CFF188 - .incbin "graphics/pokemon/back_pics/corphish_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Corphish:: @ 8CFF4A4 - .incbin "graphics/pokemon/palettes/corphish_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Corphish:: @ 8CFF4CC - .incbin "graphics/pokemon/icons/corphish_icon.4bpp" - - .align 2 -gMonFootprint_Corphish:: @ 8CFF8CC - .incbin "graphics/pokemon/footprints/corphish_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Crawdaunt:: @ 8CFF8EC - .incbin "graphics/pokemon/front_pics/crawdaunt_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Crawdaunt:: @ 8CFFD7C - .incbin "graphics/pokemon/palettes/crawdaunt_palette.gbapal.lz" - - .align 2 -gMonBackPic_Crawdaunt:: @ 8CFFDA4 - .incbin "graphics/pokemon/back_pics/crawdaunt_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Crawdaunt:: @ 8D00188 - .incbin "graphics/pokemon/palettes/crawdaunt_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Crawdaunt:: @ 8D001B0 - .incbin "graphics/pokemon/icons/crawdaunt_icon.4bpp" - - .align 2 -gMonFootprint_Crawdaunt:: @ 8D005B0 - .incbin "graphics/pokemon/footprints/crawdaunt_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Feebas:: @ 8D005D0 - .incbin "graphics/pokemon/front_pics/feebas_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Feebas:: @ 8D0085C - .incbin "graphics/pokemon/palettes/feebas_palette.gbapal.lz" - - .align 2 -gMonBackPic_Feebas:: @ 8D00884 - .incbin "graphics/pokemon/back_pics/feebas_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Feebas:: @ 8D00BBC - .incbin "graphics/pokemon/palettes/feebas_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Feebas:: @ 8D00BE4 - .incbin "graphics/pokemon/icons/feebas_icon.4bpp" - - .align 2 -gMonFootprint_Feebas:: @ 8D00FE4 - .incbin "graphics/pokemon/footprints/feebas_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Milotic:: @ 8D01004 - .incbin "graphics/pokemon/front_pics/milotic_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Milotic:: @ 8D01494 - .incbin "graphics/pokemon/palettes/milotic_palette.gbapal.lz" - - .align 2 -gMonBackPic_Milotic:: @ 8D014BC - .incbin "graphics/pokemon/back_pics/milotic_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Milotic:: @ 8D017B0 - .incbin "graphics/pokemon/palettes/milotic_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Milotic:: @ 8D017D8 - .incbin "graphics/pokemon/icons/milotic_icon.4bpp" - - .align 2 -gMonFootprint_Milotic:: @ 8D01BD8 - .incbin "graphics/pokemon/footprints/milotic_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Carvanha:: @ 8D01BF8 - .incbin "graphics/pokemon/front_pics/carvanha_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Carvanha:: @ 8D01F24 - .incbin "graphics/pokemon/palettes/carvanha_palette.gbapal.lz" - - .align 2 -gMonBackPic_Carvanha:: @ 8D01F4C - .incbin "graphics/pokemon/back_pics/carvanha_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Carvanha:: @ 8D0225C - .incbin "graphics/pokemon/palettes/carvanha_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Carvanha:: @ 8D02284 - .incbin "graphics/pokemon/icons/carvanha_icon.4bpp" - - .align 2 -gMonFootprint_Carvanha:: @ 8D02684 - .incbin "graphics/pokemon/footprints/carvanha_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Sharpedo:: @ 8D026A4 - .incbin "graphics/pokemon/front_pics/sharpedo_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Sharpedo:: @ 8D02A34 - .incbin "graphics/pokemon/palettes/sharpedo_palette.gbapal.lz" - - .align 2 -gMonBackPic_Sharpedo:: @ 8D02A5C - .incbin "graphics/pokemon/back_pics/sharpedo_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Sharpedo:: @ 8D02DB4 - .incbin "graphics/pokemon/palettes/sharpedo_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Sharpedo:: @ 8D02DDC - .incbin "graphics/pokemon/icons/sharpedo_icon.4bpp" - - .align 2 -gMonFootprint_Sharpedo:: @ 8D031DC - .incbin "graphics/pokemon/footprints/sharpedo_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Trapinch:: @ 8D031FC - .incbin "graphics/pokemon/front_pics/trapinch_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Trapinch:: @ 8D03418 - .incbin "graphics/pokemon/palettes/trapinch_palette.gbapal.lz" - - .align 2 -gMonBackPic_Trapinch:: @ 8D03440 - .incbin "graphics/pokemon/back_pics/trapinch_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Trapinch:: @ 8D03660 - .incbin "graphics/pokemon/palettes/trapinch_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Trapinch:: @ 8D03688 - .incbin "graphics/pokemon/icons/trapinch_icon.4bpp" - - .align 2 -gMonFootprint_Trapinch:: @ 8D03A88 - .incbin "graphics/pokemon/footprints/trapinch_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Vibrava:: @ 8D03AA8 - .incbin "graphics/pokemon/front_pics/vibrava_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Vibrava:: @ 8D03E18 - .incbin "graphics/pokemon/palettes/vibrava_palette.gbapal.lz" - - .align 2 -gMonBackPic_Vibrava:: @ 8D03E40 - .incbin "graphics/pokemon/back_pics/vibrava_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Vibrava:: @ 8D040B8 - .incbin "graphics/pokemon/palettes/vibrava_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Vibrava:: @ 8D040E0 - .incbin "graphics/pokemon/icons/vibrava_icon.4bpp" - - .align 2 -gMonFootprint_Vibrava:: @ 8D044E0 - .incbin "graphics/pokemon/footprints/vibrava_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Flygon:: @ 8D04500 - .incbin "graphics/pokemon/front_pics/flygon_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Flygon:: @ 8D049F0 - .incbin "graphics/pokemon/palettes/flygon_palette.gbapal.lz" - - .align 2 -gMonBackPic_Flygon:: @ 8D04A18 - .incbin "graphics/pokemon/back_pics/flygon_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Flygon:: @ 8D04E54 - .incbin "graphics/pokemon/palettes/flygon_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Flygon:: @ 8D04E7C - .incbin "graphics/pokemon/icons/flygon_icon.4bpp" - - .align 2 -gMonFootprint_Flygon:: @ 8D0527C - .incbin "graphics/pokemon/footprints/flygon_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Makuhita:: @ 8D0529C - .incbin "graphics/pokemon/front_pics/makuhita_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Makuhita:: @ 8D055B4 - .incbin "graphics/pokemon/palettes/makuhita_palette.gbapal.lz" - - .align 2 -gMonBackPic_Makuhita:: @ 8D055DC - .incbin "graphics/pokemon/back_pics/makuhita_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Makuhita:: @ 8D058CC - .incbin "graphics/pokemon/palettes/makuhita_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Makuhita:: @ 8D058F0 - .incbin "graphics/pokemon/icons/makuhita_icon.4bpp" - - .align 2 -gMonFootprint_Makuhita:: @ 8D05CF0 - .incbin "graphics/pokemon/footprints/makuhita_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Hariyama:: @ 8D05D10 - .incbin "graphics/pokemon/front_pics/hariyama_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Hariyama:: @ 8D061C0 - .incbin "graphics/pokemon/palettes/hariyama_palette.gbapal.lz" - - .align 2 -gMonBackPic_Hariyama:: @ 8D061E8 - .incbin "graphics/pokemon/back_pics/hariyama_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Hariyama:: @ 8D065C8 - .incbin "graphics/pokemon/palettes/hariyama_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Hariyama:: @ 8D065F0 - .incbin "graphics/pokemon/icons/hariyama_icon.4bpp" - - .align 2 -gMonFootprint_Hariyama:: @ 8D069F0 - .incbin "graphics/pokemon/footprints/hariyama_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Electrike:: @ 8D06A10 - .incbin "graphics/pokemon/front_pics/electrike_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Electrike:: @ 8D06CA0 - .incbin "graphics/pokemon/palettes/electrike_palette.gbapal.lz" - - .align 2 -gMonBackPic_Electrike:: @ 8D06CC8 - .incbin "graphics/pokemon/back_pics/electrike_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Electrike:: @ 8D06F54 - .incbin "graphics/pokemon/palettes/electrike_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Electrike:: @ 8D06F7C - .incbin "graphics/pokemon/icons/electrike_icon.4bpp" - - .align 2 -gMonFootprint_Electrike:: @ 8D0737C - .incbin "graphics/pokemon/footprints/electrike_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Manectric:: @ 8D0739C - .incbin "graphics/pokemon/front_pics/manectric_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Manectric:: @ 8D076CC - .incbin "graphics/pokemon/palettes/manectric_palette.gbapal.lz" - - .align 2 -gMonBackPic_Manectric:: @ 8D076F4 - .incbin "graphics/pokemon/back_pics/manectric_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Manectric:: @ 8D07920 - .incbin "graphics/pokemon/palettes/manectric_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Manectric:: @ 8D07948 - .incbin "graphics/pokemon/icons/manectric_icon.4bpp" - - .align 2 -gMonFootprint_Manectric:: @ 8D07D48 - .incbin "graphics/pokemon/footprints/manectric_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Numel:: @ 8D07D68 - .incbin "graphics/pokemon/front_pics/numel_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Numel:: @ 8D08038 - .incbin "graphics/pokemon/palettes/numel_palette.gbapal.lz" - - .align 2 -gMonBackPic_Numel:: @ 8D08060 - .incbin "graphics/pokemon/back_pics/numel_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Numel:: @ 8D0831C - .incbin "graphics/pokemon/palettes/numel_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Numel:: @ 8D08344 - .incbin "graphics/pokemon/icons/numel_icon.4bpp" - - .align 2 -gMonFootprint_Numel:: @ 8D08744 - .incbin "graphics/pokemon/footprints/numel_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Camerupt:: @ 8D08764 - .incbin "graphics/pokemon/front_pics/camerupt_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Camerupt:: @ 8D08B7C - .incbin "graphics/pokemon/palettes/camerupt_palette.gbapal.lz" - - .align 2 -gMonBackPic_Camerupt:: @ 8D08BA4 - .incbin "graphics/pokemon/back_pics/camerupt_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Camerupt:: @ 8D08E68 - .incbin "graphics/pokemon/palettes/camerupt_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Camerupt:: @ 8D08E90 - .incbin "graphics/pokemon/icons/camerupt_icon.4bpp" - - .align 2 -gMonFootprint_Camerupt:: @ 8D09290 - .incbin "graphics/pokemon/footprints/camerupt_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Spheal:: @ 8D092B0 - .incbin "graphics/pokemon/front_pics/spheal_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Spheal:: @ 8D09524 - .incbin "graphics/pokemon/palettes/spheal_palette.gbapal.lz" - - .align 2 -gMonBackPic_Spheal:: @ 8D0954C - .incbin "graphics/pokemon/back_pics/spheal_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Spheal:: @ 8D09748 - .incbin "graphics/pokemon/palettes/spheal_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Spheal:: @ 8D09770 - .incbin "graphics/pokemon/icons/spheal_icon.4bpp" - - .align 2 -gMonFootprint_Spheal:: @ 8D09B70 - .incbin "graphics/pokemon/footprints/spheal_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Sealeo:: @ 8D09B90 - .incbin "graphics/pokemon/front_pics/sealeo_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Sealeo:: @ 8D09F10 - .incbin "graphics/pokemon/palettes/sealeo_palette.gbapal.lz" - - .align 2 -gMonBackPic_Sealeo:: @ 8D09F38 - .incbin "graphics/pokemon/back_pics/sealeo_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Sealeo:: @ 8D0A1B4 - .incbin "graphics/pokemon/palettes/sealeo_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Sealeo:: @ 8D0A1DC - .incbin "graphics/pokemon/icons/sealeo_icon.4bpp" - - .align 2 -gMonFootprint_Sealeo:: @ 8D0A5DC - .incbin "graphics/pokemon/footprints/sealeo_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Walrein:: @ 8D0A5FC - .incbin "graphics/pokemon/front_pics/walrein_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Walrein:: @ 8D0AD70 - .incbin "graphics/pokemon/palettes/walrein_palette.gbapal.lz" - - .align 2 -gMonBackPic_Walrein:: @ 8D0AD98 - .incbin "graphics/pokemon/back_pics/walrein_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Walrein:: @ 8D0B120 - .incbin "graphics/pokemon/palettes/walrein_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Walrein:: @ 8D0B148 - .incbin "graphics/pokemon/icons/walrein_icon.4bpp" - - .align 2 -gMonFootprint_Walrein:: @ 8D0B548 - .incbin "graphics/pokemon/footprints/walrein_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Cacnea:: @ 8D0B568 - .incbin "graphics/pokemon/front_pics/cacnea_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Cacnea:: @ 8D0B878 - .incbin "graphics/pokemon/palettes/cacnea_palette.gbapal.lz" - - .align 2 -gMonBackPic_Cacnea:: @ 8D0B8A0 - .incbin "graphics/pokemon/back_pics/cacnea_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Cacnea:: @ 8D0BC00 - .incbin "graphics/pokemon/palettes/cacnea_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Cacnea:: @ 8D0BC28 - .incbin "graphics/pokemon/icons/cacnea_icon.4bpp" - - .align 2 -gMonFootprint_Cacnea:: @ 8D0C028 - .incbin "graphics/pokemon/footprints/cacnea_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Cacturne:: @ 8D0C048 - .incbin "graphics/pokemon/front_pics/cacturne_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Cacturne:: @ 8D0C480 - .incbin "graphics/pokemon/palettes/cacturne_palette.gbapal.lz" - - .align 2 -gMonBackPic_Cacturne:: @ 8D0C4A8 - .incbin "graphics/pokemon/back_pics/cacturne_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Cacturne:: @ 8D0C7A8 - .incbin "graphics/pokemon/palettes/cacturne_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Cacturne:: @ 8D0C7D0 - .incbin "graphics/pokemon/icons/cacturne_icon.4bpp" - - .align 2 -gMonFootprint_Cacturne:: @ 8D0CBD0 - .incbin "graphics/pokemon/footprints/cacturne_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Snorunt:: @ 8D0CBF0 - .incbin "graphics/pokemon/front_pics/snorunt_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Snorunt:: @ 8D0CEB4 - .incbin "graphics/pokemon/palettes/snorunt_palette.gbapal.lz" - - .align 2 -gMonBackPic_Snorunt:: @ 8D0CEDC - .incbin "graphics/pokemon/back_pics/snorunt_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Snorunt:: @ 8D0D1C0 - .incbin "graphics/pokemon/palettes/snorunt_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Snorunt:: @ 8D0D1E8 - .incbin "graphics/pokemon/icons/snorunt_icon.4bpp" - - .align 2 -gMonFootprint_Snorunt:: @ 8D0D5E8 - .incbin "graphics/pokemon/footprints/snorunt_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Glalie:: @ 8D0D608 - .incbin "graphics/pokemon/front_pics/glalie_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Glalie:: @ 8D0D9D0 - .incbin "graphics/pokemon/palettes/glalie_palette.gbapal.lz" - - .align 2 -gMonBackPic_Glalie:: @ 8D0D9F8 - .incbin "graphics/pokemon/back_pics/glalie_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Glalie:: @ 8D0DDA8 - .incbin "graphics/pokemon/palettes/glalie_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Glalie:: @ 8D0DDD0 - .incbin "graphics/pokemon/icons/glalie_icon.4bpp" - - .align 2 -gMonFootprint_Glalie:: @ 8D0E1D0 - .incbin "graphics/pokemon/footprints/glalie_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Lunatone:: @ 8D0E1F0 - .incbin "graphics/pokemon/front_pics/lunatone_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Lunatone:: @ 8D0E518 - .incbin "graphics/pokemon/palettes/lunatone_palette.gbapal.lz" - - .align 2 -gMonBackPic_Lunatone:: @ 8D0E540 - .incbin "graphics/pokemon/back_pics/lunatone_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Lunatone:: @ 8D0E898 - .incbin "graphics/pokemon/palettes/lunatone_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Lunatone:: @ 8D0E8C0 - .incbin "graphics/pokemon/icons/lunatone_icon.4bpp" - - .align 2 -gMonFootprint_Lunatone:: @ 8D0ECC0 - .incbin "graphics/pokemon/footprints/lunatone_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Solrock:: @ 8D0ECE0 - .incbin "graphics/pokemon/front_pics/solrock_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Solrock:: @ 8D0F12C - .incbin "graphics/pokemon/palettes/solrock_palette.gbapal.lz" - - .align 2 -gMonBackPic_Solrock:: @ 8D0F154 - .incbin "graphics/pokemon/back_pics/solrock_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Solrock:: @ 8D0F540 - .incbin "graphics/pokemon/palettes/solrock_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Solrock:: @ 8D0F568 - .incbin "graphics/pokemon/icons/solrock_icon.4bpp" - - .align 2 -gMonFootprint_Solrock:: @ 8D0F968 - .incbin "graphics/pokemon/footprints/solrock_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Azurill:: @ 8D0F988 - .incbin "graphics/pokemon/front_pics/azurill_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Azurill:: @ 8D0FC50 - .incbin "graphics/pokemon/palettes/azurill_palette.gbapal.lz" - - .align 2 -gMonBackPic_Azurill:: @ 8D0FC78 - .incbin "graphics/pokemon/back_pics/azurill_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Azurill:: @ 8D0FF90 - .incbin "graphics/pokemon/palettes/azurill_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Azurill:: @ 8D0FFB8 - .incbin "graphics/pokemon/icons/azurill_icon.4bpp" - - .align 2 -gMonFootprint_Azurill:: @ 8D103B8 - .incbin "graphics/pokemon/footprints/azurill_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Spoink:: @ 8D103D8 - .incbin "graphics/pokemon/front_pics/spoink_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Spoink:: @ 8D10644 - .incbin "graphics/pokemon/palettes/spoink_palette.gbapal.lz" - - .align 2 -gMonBackPic_Spoink:: @ 8D1066C - .incbin "graphics/pokemon/back_pics/spoink_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Spoink:: @ 8D108AC - .incbin "graphics/pokemon/palettes/spoink_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Spoink:: @ 8D108D4 - .incbin "graphics/pokemon/icons/spoink_icon.4bpp" - - .align 2 -gMonFootprint_Spoink:: @ 8D10CD4 - .incbin "graphics/pokemon/footprints/spoink_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Grumpig:: @ 8D10CF4 - .incbin "graphics/pokemon/front_pics/grumpig_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Grumpig:: @ 8D110B0 - .incbin "graphics/pokemon/palettes/grumpig_palette.gbapal.lz" - - .align 2 -gMonBackPic_Grumpig:: @ 8D110D8 - .incbin "graphics/pokemon/back_pics/grumpig_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Grumpig:: @ 8D11438 - .incbin "graphics/pokemon/palettes/grumpig_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Grumpig:: @ 8D11460 - .incbin "graphics/pokemon/icons/grumpig_icon.4bpp" - - .align 2 -gMonFootprint_Grumpig:: @ 8D11860 - .incbin "graphics/pokemon/footprints/grumpig_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Plusle:: @ 8D11880 - .incbin "graphics/pokemon/front_pics/plusle_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Plusle:: @ 8D11B0C - .incbin "graphics/pokemon/palettes/plusle_palette.gbapal.lz" - - .align 2 -gMonBackPic_Plusle:: @ 8D11B34 - .incbin "graphics/pokemon/back_pics/plusle_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Plusle:: @ 8D11DEC - .incbin "graphics/pokemon/palettes/plusle_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Plusle:: @ 8D11E14 - .incbin "graphics/pokemon/icons/plusle_icon.4bpp" - - .align 2 -gMonFootprint_Plusle:: @ 8D12214 - .incbin "graphics/pokemon/footprints/plusle_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Minun:: @ 8D12234 - .incbin "graphics/pokemon/front_pics/minun_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Minun:: @ 8D1249C - .incbin "graphics/pokemon/palettes/minun_palette.gbapal.lz" - - .align 2 -gMonBackPic_Minun:: @ 8D124C4 - .incbin "graphics/pokemon/back_pics/minun_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Minun:: @ 8D1278C - .incbin "graphics/pokemon/palettes/minun_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Minun:: @ 8D127B4 - .incbin "graphics/pokemon/icons/minun_icon.4bpp" - - .align 2 -gMonFootprint_Minun:: @ 8D12BB4 - .incbin "graphics/pokemon/footprints/minun_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Mawile:: @ 8D12BD4 - .incbin "graphics/pokemon/front_pics/mawile_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Mawile:: @ 8D12F90 - .incbin "graphics/pokemon/palettes/mawile_palette.gbapal.lz" - - .align 2 -gMonBackPic_Mawile:: @ 8D12FB8 - .incbin "graphics/pokemon/back_pics/mawile_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Mawile:: @ 8D133B8 - .incbin "graphics/pokemon/palettes/mawile_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Mawile:: @ 8D133E0 - .incbin "graphics/pokemon/icons/mawile_icon.4bpp" - - .align 2 -gMonFootprint_Mawile:: @ 8D137E0 - .incbin "graphics/pokemon/footprints/mawile_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Meditite:: @ 8D13800 - .incbin "graphics/pokemon/front_pics/meditite_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Meditite:: @ 8D13AB8 - .incbin "graphics/pokemon/palettes/meditite_palette.gbapal.lz" - - .align 2 -gMonBackPic_Meditite:: @ 8D13AE0 - .incbin "graphics/pokemon/back_pics/meditite_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Meditite:: @ 8D13DA8 - .incbin "graphics/pokemon/palettes/meditite_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Meditite:: @ 8D13DCC - .incbin "graphics/pokemon/icons/meditite_icon.4bpp" - - .align 2 -gMonFootprint_Meditite:: @ 8D141CC - .incbin "graphics/pokemon/footprints/meditite_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Medicham:: @ 8D141EC - .incbin "graphics/pokemon/front_pics/medicham_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Medicham:: @ 8D1451C - .incbin "graphics/pokemon/palettes/medicham_palette.gbapal.lz" - - .align 2 -gMonBackPic_Medicham:: @ 8D14544 - .incbin "graphics/pokemon/back_pics/medicham_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Medicham:: @ 8D1487C - .incbin "graphics/pokemon/palettes/medicham_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Medicham:: @ 8D148A4 - .incbin "graphics/pokemon/icons/medicham_icon.4bpp" - - .align 2 -gMonFootprint_Medicham:: @ 8D14CA4 - .incbin "graphics/pokemon/footprints/medicham_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Swablu:: @ 8D14CC4 - .incbin "graphics/pokemon/front_pics/swablu_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Swablu:: @ 8D15274 - .incbin "graphics/pokemon/palettes/swablu_palette.gbapal.lz" - - .align 2 -gMonBackPic_Swablu:: @ 8D1529C - .incbin "graphics/pokemon/back_pics/swablu_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Swablu:: @ 8D15654 - .incbin "graphics/pokemon/palettes/swablu_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Swablu:: @ 8D1567C - .incbin "graphics/pokemon/icons/swablu_icon.4bpp" - - .align 2 -gMonFootprint_Swablu:: @ 8D15A7C - .incbin "graphics/pokemon/footprints/swablu_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Altaria:: @ 8D15A9C - .incbin "graphics/pokemon/front_pics/altaria_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Altaria:: @ 8D15E78 - .incbin "graphics/pokemon/palettes/altaria_palette.gbapal.lz" - - .align 2 -gMonBackPic_Altaria:: @ 8D15EA0 - .incbin "graphics/pokemon/back_pics/altaria_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Altaria:: @ 8D16218 - .incbin "graphics/pokemon/palettes/altaria_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Altaria:: @ 8D16240 - .incbin "graphics/pokemon/icons/altaria_icon.4bpp" - - .align 2 -gMonFootprint_Altaria:: @ 8D16640 - .incbin "graphics/pokemon/footprints/altaria_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Wynaut:: @ 8D16660 - .incbin "graphics/pokemon/front_pics/wynaut_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Wynaut:: @ 8D168F8 - .incbin "graphics/pokemon/palettes/wynaut_palette.gbapal.lz" - - .align 2 -gMonBackPic_Wynaut:: @ 8D16920 - .incbin "graphics/pokemon/back_pics/wynaut_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Wynaut:: @ 8D16BB0 - .incbin "graphics/pokemon/palettes/wynaut_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Wynaut:: @ 8D16BD8 - .incbin "graphics/pokemon/icons/wynaut_icon.4bpp" - - .align 2 -gMonFootprint_Wynaut:: @ 8D16FD8 - .incbin "graphics/pokemon/footprints/wynaut_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Duskull:: @ 8D16FF8 - .incbin "graphics/pokemon/front_pics/duskull_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Duskull:: @ 8D172E8 - .incbin "graphics/pokemon/palettes/duskull_palette.gbapal.lz" - - .align 2 -gMonBackPic_Duskull:: @ 8D17310 - .incbin "graphics/pokemon/back_pics/duskull_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Duskull:: @ 8D175C0 - .incbin "graphics/pokemon/palettes/duskull_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Duskull:: @ 8D175E8 - .incbin "graphics/pokemon/icons/duskull_icon.4bpp" - - .align 2 -gMonFootprint_Duskull:: @ 8D179E8 - .incbin "graphics/pokemon/footprints/duskull_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Dusclops:: @ 8D17A08 - .incbin "graphics/pokemon/front_pics/dusclops_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Dusclops:: @ 8D17DA8 - .incbin "graphics/pokemon/palettes/dusclops_palette.gbapal.lz" - - .align 2 -gMonBackPic_Dusclops:: @ 8D17DD0 - .incbin "graphics/pokemon/back_pics/dusclops_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Dusclops:: @ 8D180BC - .incbin "graphics/pokemon/palettes/dusclops_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Dusclops:: @ 8D180E4 - .incbin "graphics/pokemon/icons/dusclops_icon.4bpp" - - .align 2 -gMonFootprint_Dusclops:: @ 8D184E4 - .incbin "graphics/pokemon/footprints/dusclops_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Roselia:: @ 8D18504 - .incbin "graphics/pokemon/front_pics/roselia_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Roselia:: @ 8D18870 - .incbin "graphics/pokemon/palettes/roselia_palette.gbapal.lz" - - .align 2 -gMonBackPic_Roselia:: @ 8D18898 - .incbin "graphics/pokemon/back_pics/roselia_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Roselia:: @ 8D18C60 - .incbin "graphics/pokemon/palettes/roselia_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Roselia:: @ 8D18C88 - .incbin "graphics/pokemon/icons/roselia_icon.4bpp" - - .align 2 -gMonFootprint_Roselia:: @ 8D19088 - .incbin "graphics/pokemon/footprints/roselia_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Slakoth:: @ 8D190A8 - .incbin "graphics/pokemon/front_pics/slakoth_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Slakoth:: @ 8D19390 - .incbin "graphics/pokemon/palettes/slakoth_palette.gbapal.lz" - - .align 2 -gMonBackPic_Slakoth:: @ 8D193B8 - .incbin "graphics/pokemon/back_pics/slakoth_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Slakoth:: @ 8D196A0 - .incbin "graphics/pokemon/palettes/slakoth_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Slakoth:: @ 8D196C8 - .incbin "graphics/pokemon/icons/slakoth_icon.4bpp" - - .align 2 -gMonFootprint_Slakoth:: @ 8D19AC8 - .incbin "graphics/pokemon/footprints/slakoth_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Vigoroth:: @ 8D19AE8 - .incbin "graphics/pokemon/front_pics/vigoroth_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Vigoroth:: @ 8D19EE4 - .incbin "graphics/pokemon/palettes/vigoroth_palette.gbapal.lz" - - .align 2 -gMonBackPic_Vigoroth:: @ 8D19F0C - .incbin "graphics/pokemon/back_pics/vigoroth_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Vigoroth:: @ 8D1A1D4 - .incbin "graphics/pokemon/palettes/vigoroth_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Vigoroth:: @ 8D1A1FC - .incbin "graphics/pokemon/icons/vigoroth_icon.4bpp" - - .align 2 -gMonFootprint_Vigoroth:: @ 8D1A5FC - .incbin "graphics/pokemon/footprints/vigoroth_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Slaking:: @ 8D1A61C - .incbin "graphics/pokemon/front_pics/slaking_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Slaking:: @ 8D1AAF0 - .incbin "graphics/pokemon/palettes/slaking_palette.gbapal.lz" - - .align 2 -gMonBackPic_Slaking:: @ 8D1AB18 - .incbin "graphics/pokemon/back_pics/slaking_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Slaking:: @ 8D1AEDC - .incbin "graphics/pokemon/palettes/slaking_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Slaking:: @ 8D1AF04 - .incbin "graphics/pokemon/icons/slaking_icon.4bpp" - - .align 2 -gMonFootprint_Slaking:: @ 8D1B304 - .incbin "graphics/pokemon/footprints/slaking_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Gulpin:: @ 8D1B324 - .incbin "graphics/pokemon/front_pics/gulpin_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Gulpin:: @ 8D1B53C - .incbin "graphics/pokemon/palettes/gulpin_palette.gbapal.lz" - - .align 2 -gMonBackPic_Gulpin:: @ 8D1B564 - .incbin "graphics/pokemon/back_pics/gulpin_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Gulpin:: @ 8D1B7E8 - .incbin "graphics/pokemon/palettes/gulpin_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Gulpin:: @ 8D1B810 - .incbin "graphics/pokemon/icons/gulpin_icon.4bpp" - - .align 2 -gMonFootprint_Gulpin:: @ 8D1BC10 - .incbin "graphics/pokemon/footprints/gulpin_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Swalot:: @ 8D1BC30 - .incbin "graphics/pokemon/front_pics/swalot_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Swalot:: @ 8D1BF74 - .incbin "graphics/pokemon/palettes/swalot_palette.gbapal.lz" - - .align 2 -gMonBackPic_Swalot:: @ 8D1BF9C - .incbin "graphics/pokemon/back_pics/swalot_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Swalot:: @ 8D1C2E4 - .incbin "graphics/pokemon/palettes/swalot_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Swalot:: @ 8D1C30C - .incbin "graphics/pokemon/icons/swalot_icon.4bpp" - - .align 2 -gMonFootprint_Swalot:: @ 8D1C70C - .incbin "graphics/pokemon/footprints/swalot_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Tropius:: @ 8D1C72C - .incbin "graphics/pokemon/front_pics/tropius_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Tropius:: @ 8D1CCA4 - .incbin "graphics/pokemon/palettes/tropius_palette.gbapal.lz" - - .align 2 -gMonBackPic_Tropius:: @ 8D1CCCC - .incbin "graphics/pokemon/back_pics/tropius_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Tropius:: @ 8D1CFF0 - .incbin "graphics/pokemon/palettes/tropius_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Tropius:: @ 8D1D018 - .incbin "graphics/pokemon/icons/tropius_icon.4bpp" - - .align 2 -gMonFootprint_Tropius:: @ 8D1D418 - .incbin "graphics/pokemon/footprints/tropius_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Whismur:: @ 8D1D438 - .incbin "graphics/pokemon/front_pics/whismur_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Whismur:: @ 8D1D6CC - .incbin "graphics/pokemon/palettes/whismur_palette.gbapal.lz" - - .align 2 -gMonBackPic_Whismur:: @ 8D1D6F4 - .incbin "graphics/pokemon/back_pics/whismur_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Whismur:: @ 8D1D964 - .incbin "graphics/pokemon/palettes/whismur_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Whismur:: @ 8D1D98C - .incbin "graphics/pokemon/icons/whismur_icon.4bpp" - - .align 2 -gMonFootprint_Whismur:: @ 8D1DD8C - .incbin "graphics/pokemon/footprints/whismur_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Loudred:: @ 8D1DDAC - .incbin "graphics/pokemon/front_pics/loudred_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Loudred:: @ 8D1E224 - .incbin "graphics/pokemon/palettes/loudred_palette.gbapal.lz" - - .align 2 -gMonBackPic_Loudred:: @ 8D1E24C - .incbin "graphics/pokemon/back_pics/loudred_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Loudred:: @ 8D1E5BC - .incbin "graphics/pokemon/palettes/loudred_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Loudred:: @ 8D1E5E4 - .incbin "graphics/pokemon/icons/loudred_icon.4bpp" - - .align 2 -gMonFootprint_Loudred:: @ 8D1E9E4 - .incbin "graphics/pokemon/footprints/loudred_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Exploud:: @ 8D1EA04 - .incbin "graphics/pokemon/front_pics/exploud_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Exploud:: @ 8D1EF6C - .incbin "graphics/pokemon/palettes/exploud_palette.gbapal.lz" - - .align 2 -gMonBackPic_Exploud:: @ 8D1EF94 - .incbin "graphics/pokemon/back_pics/exploud_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Exploud:: @ 8D1F3A0 - .incbin "graphics/pokemon/palettes/exploud_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Exploud:: @ 8D1F3C8 - .incbin "graphics/pokemon/icons/exploud_icon.4bpp" - - .align 2 -gMonFootprint_Exploud:: @ 8D1F7C8 - .incbin "graphics/pokemon/footprints/exploud_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Clamperl:: @ 8D1F7E8 - .incbin "graphics/pokemon/front_pics/clamperl_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Clamperl:: @ 8D1FAC0 - .incbin "graphics/pokemon/palettes/clamperl_palette.gbapal.lz" - - .align 2 -gMonBackPic_Clamperl:: @ 8D1FAE8 - .incbin "graphics/pokemon/back_pics/clamperl_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Clamperl:: @ 8D1FD7C - .incbin "graphics/pokemon/palettes/clamperl_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Clamperl:: @ 8D1FDA4 - .incbin "graphics/pokemon/icons/clamperl_icon.4bpp" - - .align 2 -gMonFootprint_Clamperl:: @ 8D201A4 - .incbin "graphics/pokemon/footprints/clamperl_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Huntail:: @ 8D201C4 - .incbin "graphics/pokemon/front_pics/huntail_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Huntail:: @ 8D20590 - .incbin "graphics/pokemon/palettes/huntail_palette.gbapal.lz" - - .align 2 -gMonBackPic_Huntail:: @ 8D205B8 - .incbin "graphics/pokemon/back_pics/huntail_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Huntail:: @ 8D2090C - .incbin "graphics/pokemon/palettes/huntail_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Huntail:: @ 8D20934 - .incbin "graphics/pokemon/icons/huntail_icon.4bpp" - - .align 2 -gMonFootprint_Huntail:: @ 8D20D34 - .incbin "graphics/pokemon/footprints/huntail_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Gorebyss:: @ 8D20D54 - .incbin "graphics/pokemon/front_pics/gorebyss_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Gorebyss:: @ 8D21064 - .incbin "graphics/pokemon/palettes/gorebyss_palette.gbapal.lz" - - .align 2 -gMonBackPic_Gorebyss:: @ 8D2108C - .incbin "graphics/pokemon/back_pics/gorebyss_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Gorebyss:: @ 8D21374 - .incbin "graphics/pokemon/palettes/gorebyss_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Gorebyss:: @ 8D2139C - .incbin "graphics/pokemon/icons/gorebyss_icon.4bpp" - - .align 2 -gMonFootprint_Gorebyss:: @ 8D2179C - .incbin "graphics/pokemon/footprints/gorebyss_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Absol:: @ 8D217BC - .incbin "graphics/pokemon/front_pics/absol_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Absol:: @ 8D21BEC - .incbin "graphics/pokemon/palettes/absol_palette.gbapal.lz" - - .align 2 -gMonBackPic_Absol:: @ 8D21C14 - .incbin "graphics/pokemon/back_pics/absol_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Absol:: @ 8D21F74 - .incbin "graphics/pokemon/palettes/absol_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Absol:: @ 8D21F9C - .incbin "graphics/pokemon/icons/absol_icon.4bpp" - - .align 2 -gMonFootprint_Absol:: @ 8D2239C - .incbin "graphics/pokemon/footprints/absol_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Shuppet:: @ 8D223BC - .incbin "graphics/pokemon/front_pics/shuppet_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Shuppet:: @ 8D225F4 - .incbin "graphics/pokemon/palettes/shuppet_palette.gbapal.lz" - - .align 2 -gMonBackPic_Shuppet:: @ 8D2261C - .incbin "graphics/pokemon/back_pics/shuppet_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Shuppet:: @ 8D228B4 - .incbin "graphics/pokemon/palettes/shuppet_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Shuppet:: @ 8D228DC - .incbin "graphics/pokemon/icons/shuppet_icon.4bpp" - - .align 2 -gMonFootprint_Shuppet:: @ 8D22CDC - .incbin "graphics/pokemon/footprints/shuppet_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Banette:: @ 8D22CFC - .incbin "graphics/pokemon/front_pics/banette_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Banette:: @ 8D22FB0 - .incbin "graphics/pokemon/palettes/banette_palette.gbapal.lz" - - .align 2 -gMonBackPic_Banette:: @ 8D22FD8 - .incbin "graphics/pokemon/back_pics/banette_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Banette:: @ 8D23254 - .incbin "graphics/pokemon/palettes/banette_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Banette:: @ 8D2327C - .incbin "graphics/pokemon/icons/banette_icon.4bpp" - - .align 2 -gMonFootprint_Banette:: @ 8D2367C - .incbin "graphics/pokemon/footprints/banette_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Seviper:: @ 8D2369C - .incbin "graphics/pokemon/front_pics/seviper_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Seviper:: @ 8D23ABC - .incbin "graphics/pokemon/palettes/seviper_palette.gbapal.lz" - - .align 2 -gMonBackPic_Seviper:: @ 8D23AE4 - .incbin "graphics/pokemon/back_pics/seviper_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Seviper:: @ 8D23F70 - .incbin "graphics/pokemon/palettes/seviper_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Seviper:: @ 8D23F98 - .incbin "graphics/pokemon/icons/seviper_icon.4bpp" - - .align 2 -gMonFootprint_Seviper:: @ 8D24398 - .incbin "graphics/pokemon/footprints/seviper_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Zangoose:: @ 8D243B8 - .incbin "graphics/pokemon/front_pics/zangoose_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Zangoose:: @ 8D24784 - .incbin "graphics/pokemon/palettes/zangoose_palette.gbapal.lz" - - .align 2 -gMonBackPic_Zangoose:: @ 8D247AC - .incbin "graphics/pokemon/back_pics/zangoose_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Zangoose:: @ 8D24B20 - .incbin "graphics/pokemon/palettes/zangoose_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Zangoose:: @ 8D24B48 - .incbin "graphics/pokemon/icons/zangoose_icon.4bpp" - - .align 2 -gMonFootprint_Zangoose:: @ 8D24F48 - .incbin "graphics/pokemon/footprints/zangoose_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Relicanth:: @ 8D24F68 - .incbin "graphics/pokemon/front_pics/relicanth_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Relicanth:: @ 8D252FC - .incbin "graphics/pokemon/palettes/relicanth_palette.gbapal.lz" - - .align 2 -gMonBackPic_Relicanth:: @ 8D25324 - .incbin "graphics/pokemon/back_pics/relicanth_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Relicanth:: @ 8D2567C - .incbin "graphics/pokemon/palettes/relicanth_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Relicanth:: @ 8D256A4 - .incbin "graphics/pokemon/icons/relicanth_icon.4bpp" - - .align 2 -gMonFootprint_Relicanth:: @ 8D25AA4 - .incbin "graphics/pokemon/footprints/relicanth_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Aron:: @ 8D25AC4 - .incbin "graphics/pokemon/front_pics/aron_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Aron:: @ 8D25CAC - .incbin "graphics/pokemon/palettes/aron_palette.gbapal.lz" - - .align 2 -gMonBackPic_Aron:: @ 8D25CD4 - .incbin "graphics/pokemon/back_pics/aron_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Aron:: @ 8D25EFC - .incbin "graphics/pokemon/palettes/aron_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Aron:: @ 8D25F24 - .incbin "graphics/pokemon/icons/aron_icon.4bpp" - - .align 2 -gMonFootprint_Aron:: @ 8D26324 - .incbin "graphics/pokemon/footprints/aron_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Lairon:: @ 8D26344 - .incbin "graphics/pokemon/front_pics/lairon_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Lairon:: @ 8D26710 - .incbin "graphics/pokemon/palettes/lairon_palette.gbapal.lz" - - .align 2 -gMonBackPic_Lairon:: @ 8D26738 - .incbin "graphics/pokemon/back_pics/lairon_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Lairon:: @ 8D26A24 - .incbin "graphics/pokemon/palettes/lairon_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Lairon:: @ 8D26A4C - .incbin "graphics/pokemon/icons/lairon_icon.4bpp" - - .align 2 -gMonFootprint_Lairon:: @ 8D26E4C - .incbin "graphics/pokemon/footprints/lairon_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Aggron:: @ 8D26E6C - .incbin "graphics/pokemon/front_pics/aggron_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Aggron:: @ 8D273E8 - .incbin "graphics/pokemon/palettes/aggron_palette.gbapal.lz" - - .align 2 -gMonBackPic_Aggron:: @ 8D27410 - .incbin "graphics/pokemon/back_pics/aggron_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Aggron:: @ 8D27838 - .incbin "graphics/pokemon/palettes/aggron_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Aggron:: @ 8D27860 - .incbin "graphics/pokemon/icons/aggron_icon.4bpp" - - .align 2 -gMonFootprint_Aggron:: @ 8D27C60 - .incbin "graphics/pokemon/footprints/aggron_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Castform:: @ 8D27C80 - .incbin "graphics/pokemon/front_pics/castform_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Castform:: @ 8D28708 - .incbin "graphics/pokemon/palettes/castform_palette.gbapal.lz" - - .align 2 -gMonBackPic_Castform:: @ 8D28788 - .incbin "graphics/pokemon/back_pics/castform_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Castform:: @ 8D29144 - .incbin "graphics/pokemon/palettes/castform_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Castform:: @ 8D291C0 - .incbin "graphics/pokemon/icons/castform_icon.4bpp" - - .align 2 -gMonFootprint_Castform:: @ 8D295C0 - .incbin "graphics/pokemon/footprints/castform_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Volbeat:: @ 8D295E0 - .incbin "graphics/pokemon/front_pics/volbeat_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Volbeat:: @ 8D29970 - .incbin "graphics/pokemon/palettes/volbeat_palette.gbapal.lz" - - .align 2 -gMonBackPic_Volbeat:: @ 8D29998 - .incbin "graphics/pokemon/back_pics/volbeat_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Volbeat:: @ 8D29CF8 - .incbin "graphics/pokemon/palettes/volbeat_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Volbeat:: @ 8D29D20 - .incbin "graphics/pokemon/icons/volbeat_icon.4bpp" - - .align 2 -gMonFootprint_Volbeat:: @ 8D2A120 - .incbin "graphics/pokemon/footprints/volbeat_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Illumise:: @ 8D2A140 - .incbin "graphics/pokemon/front_pics/illumise_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Illumise:: @ 8D2A4B4 - .incbin "graphics/pokemon/palettes/illumise_palette.gbapal.lz" - - .align 2 -gMonBackPic_Illumise:: @ 8D2A4DC - .incbin "graphics/pokemon/back_pics/illumise_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Illumise:: @ 8D2A7F8 - .incbin "graphics/pokemon/palettes/illumise_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Illumise:: @ 8D2A820 - .incbin "graphics/pokemon/icons/illumise_icon.4bpp" - - .align 2 -gMonFootprint_Illumise:: @ 8D2AC20 - .incbin "graphics/pokemon/footprints/illumise_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Lileep:: @ 8D2AC40 - .incbin "graphics/pokemon/front_pics/lileep_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Lileep:: @ 8D2AF84 - .incbin "graphics/pokemon/palettes/lileep_palette.gbapal.lz" - - .align 2 -gMonBackPic_Lileep:: @ 8D2AFAC - .incbin "graphics/pokemon/back_pics/lileep_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Lileep:: @ 8D2B2F0 - .incbin "graphics/pokemon/palettes/lileep_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Lileep:: @ 8D2B318 - .incbin "graphics/pokemon/icons/lileep_icon.4bpp" - - .align 2 -gMonFootprint_Lileep:: @ 8D2B718 - .incbin "graphics/pokemon/footprints/lileep_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Cradily:: @ 8D2B738 - .incbin "graphics/pokemon/front_pics/cradily_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Cradily:: @ 8D2BB54 - .incbin "graphics/pokemon/palettes/cradily_palette.gbapal.lz" - - .align 2 -gMonBackPic_Cradily:: @ 8D2BB7C - .incbin "graphics/pokemon/back_pics/cradily_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Cradily:: @ 8D2BF78 - .incbin "graphics/pokemon/palettes/cradily_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Cradily:: @ 8D2BFA0 - .incbin "graphics/pokemon/icons/cradily_icon.4bpp" - - .align 2 -gMonFootprint_Cradily:: @ 8D2C3A0 - .incbin "graphics/pokemon/footprints/cradily_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Anorith:: @ 8D2C3C0 - .incbin "graphics/pokemon/front_pics/anorith_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Anorith:: @ 8D2C6E4 - .incbin "graphics/pokemon/palettes/anorith_palette.gbapal.lz" - - .align 2 -gMonBackPic_Anorith:: @ 8D2C70C - .incbin "graphics/pokemon/back_pics/anorith_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Anorith:: @ 8D2C954 - .incbin "graphics/pokemon/palettes/anorith_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Anorith:: @ 8D2C97C - .incbin "graphics/pokemon/icons/anorith_icon.4bpp" - - .align 2 -gMonFootprint_Anorith:: @ 8D2CD7C - .incbin "graphics/pokemon/footprints/anorith_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Armaldo:: @ 8D2CD9C - .incbin "graphics/pokemon/front_pics/armaldo_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Armaldo:: @ 8D2D31C - .incbin "graphics/pokemon/palettes/armaldo_palette.gbapal.lz" - - .align 2 -gMonBackPic_Armaldo:: @ 8D2D344 - .incbin "graphics/pokemon/back_pics/armaldo_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Armaldo:: @ 8D2D77C - .incbin "graphics/pokemon/palettes/armaldo_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Armaldo:: @ 8D2D7A4 - .incbin "graphics/pokemon/icons/armaldo_icon.4bpp" - - .align 2 -gMonFootprint_Armaldo:: @ 8D2DBA4 - .incbin "graphics/pokemon/footprints/armaldo_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Ralts:: @ 8D2DBC4 - .incbin "graphics/pokemon/front_pics/ralts_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Ralts:: @ 8D2DDF4 - .incbin "graphics/pokemon/palettes/ralts_palette.gbapal.lz" - - .align 2 -gMonBackPic_Ralts:: @ 8D2DE1C - .incbin "graphics/pokemon/back_pics/ralts_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Ralts:: @ 8D2E058 - .incbin "graphics/pokemon/palettes/ralts_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Ralts:: @ 8D2E080 - .incbin "graphics/pokemon/icons/ralts_icon.4bpp" - - .align 2 -gMonFootprint_Ralts:: @ 8D2E480 - .incbin "graphics/pokemon/footprints/ralts_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Kirlia:: @ 8D2E4A0 - .incbin "graphics/pokemon/front_pics/kirlia_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Kirlia:: @ 8D2E79C - .incbin "graphics/pokemon/palettes/kirlia_palette.gbapal.lz" - - .align 2 -gMonBackPic_Kirlia:: @ 8D2E7C4 - .incbin "graphics/pokemon/back_pics/kirlia_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Kirlia:: @ 8D2EB38 - .incbin "graphics/pokemon/palettes/kirlia_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Kirlia:: @ 8D2EB60 - .incbin "graphics/pokemon/icons/kirlia_icon.4bpp" - - .align 2 -gMonFootprint_Kirlia:: @ 8D2EF60 - .incbin "graphics/pokemon/footprints/kirlia_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Gardevoir:: @ 8D2EF80 - .incbin "graphics/pokemon/front_pics/gardevoir_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Gardevoir:: @ 8D2F2FC - .incbin "graphics/pokemon/palettes/gardevoir_palette.gbapal.lz" - - .align 2 -gMonBackPic_Gardevoir:: @ 8D2F324 - .incbin "graphics/pokemon/back_pics/gardevoir_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Gardevoir:: @ 8D2F658 - .incbin "graphics/pokemon/palettes/gardevoir_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Gardevoir:: @ 8D2F680 - .incbin "graphics/pokemon/icons/gardevoir_icon.4bpp" - - .align 2 -gMonFootprint_Gardevoir:: @ 8D2FA80 - .incbin "graphics/pokemon/footprints/gardevoir_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Bagon:: @ 8D2FAA0 - .incbin "graphics/pokemon/front_pics/bagon_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Bagon:: @ 8D2FD18 - .incbin "graphics/pokemon/palettes/bagon_palette.gbapal.lz" - - .align 2 -gMonBackPic_Bagon:: @ 8D2FD40 - .incbin "graphics/pokemon/back_pics/bagon_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Bagon:: @ 8D30028 - .incbin "graphics/pokemon/palettes/bagon_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Bagon:: @ 8D30050 - .incbin "graphics/pokemon/icons/bagon_icon.4bpp" - - .align 2 -gMonFootprint_Bagon:: @ 8D30450 - .incbin "graphics/pokemon/footprints/bagon_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Shelgon:: @ 8D30470 - .incbin "graphics/pokemon/front_pics/shelgon_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Shelgon:: @ 8D30774 - .incbin "graphics/pokemon/palettes/shelgon_palette.gbapal.lz" - - .align 2 -gMonBackPic_Shelgon:: @ 8D3079C - .incbin "graphics/pokemon/back_pics/shelgon_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Shelgon:: @ 8D30A84 - .incbin "graphics/pokemon/palettes/shelgon_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Shelgon:: @ 8D30AAC - .incbin "graphics/pokemon/icons/shelgon_icon.4bpp" - - .align 2 -gMonFootprint_Shelgon:: @ 8D30EAC - .incbin "graphics/pokemon/footprints/shelgon_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Salamence:: @ 8D30ECC - .incbin "graphics/pokemon/front_pics/salamence_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Salamence:: @ 8D31330 - .incbin "graphics/pokemon/palettes/salamence_palette.gbapal.lz" - - .align 2 -gMonBackPic_Salamence:: @ 8D31358 - .incbin "graphics/pokemon/back_pics/salamence_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Salamence:: @ 8D3163C - .incbin "graphics/pokemon/palettes/salamence_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Salamence:: @ 8D31664 - .incbin "graphics/pokemon/icons/salamence_icon.4bpp" - - .align 2 -gMonFootprint_Salamence:: @ 8D31A64 - .incbin "graphics/pokemon/footprints/salamence_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Beldum:: @ 8D31A84 - .incbin "graphics/pokemon/front_pics/beldum_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Beldum:: @ 8D31CF4 - .incbin "graphics/pokemon/palettes/beldum_palette.gbapal.lz" - - .align 2 -gMonBackPic_Beldum:: @ 8D31D1C - .incbin "graphics/pokemon/back_pics/beldum_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Beldum:: @ 8D3200C - .incbin "graphics/pokemon/palettes/beldum_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Beldum:: @ 8D32034 - .incbin "graphics/pokemon/icons/beldum_icon.4bpp" - - .align 2 -gMonFootprint_Beldum:: @ 8D32434 - .incbin "graphics/pokemon/footprints/beldum_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Metang:: @ 8D32454 - .incbin "graphics/pokemon/front_pics/metang_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Metang:: @ 8D328B0 - .incbin "graphics/pokemon/palettes/metang_palette.gbapal.lz" - - .align 2 -gMonBackPic_Metang:: @ 8D328D8 - .incbin "graphics/pokemon/back_pics/metang_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Metang:: @ 8D32BFC - .incbin "graphics/pokemon/palettes/metang_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Metang:: @ 8D32C24 - .incbin "graphics/pokemon/icons/metang_icon.4bpp" - - .align 2 -gMonFootprint_Metang:: @ 8D33024 - .incbin "graphics/pokemon/footprints/metang_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Metagross:: @ 8D33044 - .incbin "graphics/pokemon/front_pics/metagross_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Metagross:: @ 8D334A8 - .incbin "graphics/pokemon/palettes/metagross_palette.gbapal.lz" - - .align 2 -gMonBackPic_Metagross:: @ 8D334D0 - .incbin "graphics/pokemon/back_pics/metagross_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Metagross:: @ 8D3379C - .incbin "graphics/pokemon/palettes/metagross_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Metagross:: @ 8D337C4 - .incbin "graphics/pokemon/icons/metagross_icon.4bpp" - - .align 2 -gMonFootprint_Metagross:: @ 8D33BC4 - .incbin "graphics/pokemon/footprints/metagross_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Regirock:: @ 8D33BE4 - .incbin "graphics/pokemon/front_pics/regirock_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Regirock:: @ 8D340A0 - .incbin "graphics/pokemon/palettes/regirock_palette.gbapal.lz" - - .align 2 -gMonBackPic_Regirock:: @ 8D340C8 - .incbin "graphics/pokemon/back_pics/regirock_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Regirock:: @ 8D34514 - .incbin "graphics/pokemon/palettes/regirock_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Regirock:: @ 8D3453C - .incbin "graphics/pokemon/icons/regirock_icon.4bpp" - - .align 2 -gMonFootprint_Regirock:: @ 8D3493C - .incbin "graphics/pokemon/footprints/regirock_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Regice:: @ 8D3495C - .incbin "graphics/pokemon/front_pics/regice_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Regice:: @ 8D34DA4 - .incbin "graphics/pokemon/palettes/regice_palette.gbapal.lz" - - .align 2 -gMonBackPic_Regice:: @ 8D34DCC - .incbin "graphics/pokemon/back_pics/regice_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Regice:: @ 8D350BC - .incbin "graphics/pokemon/palettes/regice_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Regice:: @ 8D350E4 - .incbin "graphics/pokemon/icons/regice_icon.4bpp" - - .align 2 -gMonFootprint_Regice:: @ 8D354E4 - .incbin "graphics/pokemon/footprints/regice_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Registeel:: @ 8D35504 - .incbin "graphics/pokemon/front_pics/registeel_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Registeel:: @ 8D3598C - .incbin "graphics/pokemon/palettes/registeel_palette.gbapal.lz" - - .align 2 -gMonBackPic_Registeel:: @ 8D359B4 - .incbin "graphics/pokemon/back_pics/registeel_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Registeel:: @ 8D35CEC - .incbin "graphics/pokemon/palettes/registeel_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Registeel:: @ 8D35D14 - .incbin "graphics/pokemon/icons/registeel_icon.4bpp" - - .align 2 -gMonFootprint_Registeel:: @ 8D36114 - .incbin "graphics/pokemon/footprints/registeel_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Kyogre:: @ 8D36134 - .incbin "graphics/pokemon/front_pics/kyogre_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Kyogre:: @ 8D365A4 - .incbin "graphics/pokemon/palettes/kyogre_palette.gbapal.lz" - - .align 2 -gMonBackPic_Kyogre:: @ 8D365CC - .incbin "graphics/pokemon/back_pics/kyogre_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Kyogre:: @ 8D36844 - .incbin "graphics/pokemon/palettes/kyogre_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Kyogre:: @ 8D3686C - .incbin "graphics/pokemon/icons/kyogre_icon.4bpp" - - .align 2 -gMonFootprint_Kyogre:: @ 8D36C6C - .incbin "graphics/pokemon/footprints/kyogre_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Groudon:: @ 8D36C8C - .incbin "graphics/pokemon/front_pics/groudon_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Groudon:: @ 8D37220 - .incbin "graphics/pokemon/palettes/groudon_palette.gbapal.lz" - - .align 2 -gMonBackPic_Groudon:: @ 8D37248 - .incbin "graphics/pokemon/back_pics/groudon_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Groudon:: @ 8D376B0 - .incbin "graphics/pokemon/palettes/groudon_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Groudon:: @ 8D376D8 - .incbin "graphics/pokemon/icons/groudon_icon.4bpp" - - .align 2 -gMonFootprint_Groudon:: @ 8D37AD8 - .incbin "graphics/pokemon/footprints/groudon_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Rayquaza:: @ 8D37AF8 - .incbin "graphics/pokemon/front_pics/rayquaza_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Rayquaza:: @ 8D382E4 - .incbin "graphics/pokemon/palettes/rayquaza_palette.gbapal.lz" - - .align 2 -gMonBackPic_Rayquaza:: @ 8D3830C - .incbin "graphics/pokemon/back_pics/rayquaza_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Rayquaza:: @ 8D38644 - .incbin "graphics/pokemon/palettes/rayquaza_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Rayquaza:: @ 8D3866C - .incbin "graphics/pokemon/icons/rayquaza_icon.4bpp" - - .align 2 -gMonFootprint_Rayquaza:: @ 8D38A6C - .incbin "graphics/pokemon/footprints/rayquaza_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Latias:: @ 8D38A8C - .incbin "graphics/pokemon/front_pics/latias_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Latias:: @ 8D38EB0 - .incbin "graphics/pokemon/palettes/latias_palette.gbapal.lz" - - .align 2 -gMonBackPic_Latias:: @ 8D38ED8 - .incbin "graphics/pokemon/back_pics/latias_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Latias:: @ 8D391D4 - .incbin "graphics/pokemon/palettes/latias_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Latias:: @ 8D391FC - .incbin "graphics/pokemon/icons/latias_icon.4bpp" - - .align 2 -gMonFootprint_Latias:: @ 8D395FC - .incbin "graphics/pokemon/footprints/latias_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Latios:: @ 8D3961C - .incbin "graphics/pokemon/front_pics/latios_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Latios:: @ 8D39A70 - .incbin "graphics/pokemon/palettes/latios_palette.gbapal.lz" - - .align 2 -gMonBackPic_Latios:: @ 8D39A98 - .incbin "graphics/pokemon/back_pics/latios_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Latios:: @ 8D39DF8 - .incbin "graphics/pokemon/palettes/latios_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Latios:: @ 8D39E20 - .incbin "graphics/pokemon/icons/latios_icon.4bpp" - - .align 2 -gMonFootprint_Latios:: @ 8D3A220 - .incbin "graphics/pokemon/footprints/latios_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Jirachi:: @ 8D3A240 - .incbin "graphics/pokemon/front_pics/jirachi_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Jirachi:: @ 8D3A54C - .incbin "graphics/pokemon/palettes/jirachi_palette.gbapal.lz" - - .align 2 -gMonBackPic_Jirachi:: @ 8D3A574 - .incbin "graphics/pokemon/back_pics/jirachi_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Jirachi:: @ 8D3A914 - .incbin "graphics/pokemon/palettes/jirachi_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Jirachi:: @ 8D3A93C - .incbin "graphics/pokemon/icons/jirachi_icon.4bpp" - - .align 2 -gMonFootprint_Jirachi:: @ 8D3AD3C - .incbin "graphics/pokemon/footprints/jirachi_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Deoxys:: @ 8D3AD5C - .incbin "graphics/pokemon/front_pics/deoxys_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Deoxys:: @ 8D3B138 - .incbin "graphics/pokemon/palettes/deoxys_palette.gbapal.lz" - - .align 2 -gMonBackPic_Deoxys:: @ 8D3B160 - .incbin "graphics/pokemon/back_pics/deoxys_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Deoxys:: @ 8D3B7D0 - .incbin "graphics/pokemon/palettes/deoxys_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Deoxys:: @ 8D3B7F8 - .incbin "graphics/pokemon/icons/deoxys_icon.4bpp" - - .incbin "graphics/pokemon/icons/deoxys_speed_icon.4bpp" - - .incbin "graphics/unused/deoxys_speed_icon_wide.4bpp" - - .space 0x6800 - - .incbin "graphics/unknown/unknown_D437F8.bin" - - .align 2 -gMonFootprint_Deoxys:: @ 8D43BF8 - .incbin "graphics/pokemon/footprints/deoxys_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Chimecho:: @ 8D43C18 - .incbin "graphics/pokemon/front_pics/chimecho_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Chimecho:: @ 8D43E64 - .incbin "graphics/pokemon/palettes/chimecho_palette.gbapal.lz" - - .align 2 -gMonBackPic_Chimecho:: @ 8D43E8C - .incbin "graphics/pokemon/back_pics/chimecho_back_pic.4bpp.lz" - - .align 2 -gMonShinyPalette_Chimecho:: @ 8D44100 - .incbin "graphics/pokemon/palettes/chimecho_shiny_palette.gbapal.lz" - - .align 2 -gMonIcon_Chimecho:: @ 8D44128 - .incbin "graphics/pokemon/icons/chimecho_icon.4bpp" - - .align 2 -gMonFootprint_Chimecho:: @ 8D44528 - .incbin "graphics/pokemon/footprints/chimecho_footprint.1bpp" - - .align 2 -gMonStillFrontPic_Egg:: @ 8D44548 - .incbin "graphics/pokemon/front_pics/egg_still_front_pic.4bpp.lz" - - .align 2 -gMonPalette_Egg:: @ 8D446FC - .incbin "graphics/pokemon/palettes/egg_palette.gbapal.lz" - - .align 2 -gMonStillFrontPic_UnownB:: @ 8D4471C - .incbin "graphics/pokemon/front_pics/unown_b_still_front_pic.4bpp.lz" - - .align 2 -gMonBackPic_UnownB:: @ 8D448F4 - .incbin "graphics/pokemon/back_pics/unown_b_back_pic.4bpp.lz" - - .align 2 -gMonIcon_UnownB:: @ 8D44AF8 - .incbin "graphics/pokemon/icons/unown_B_icon.4bpp" - - .align 2 -gMonStillFrontPic_UnownC:: @ 8D44EF8 - .incbin "graphics/pokemon/front_pics/unown_c_still_front_pic.4bpp.lz" - - .align 2 -gMonBackPic_UnownC:: @ 8D4510C - .incbin "graphics/pokemon/back_pics/unown_c_back_pic.4bpp.lz" - - .align 2 -gMonIcon_UnownC:: @ 8D453B8 - .incbin "graphics/pokemon/icons/unown_C_icon.4bpp" - - .align 2 -gMonStillFrontPic_UnownD:: @ 8D457B8 - .incbin "graphics/pokemon/front_pics/unown_d_still_front_pic.4bpp.lz" - - .align 2 -gMonBackPic_UnownD:: @ 8D459B0 - .incbin "graphics/pokemon/back_pics/unown_d_back_pic.4bpp.lz" - - .align 2 -gMonIcon_UnownD:: @ 8D45C08 - .incbin "graphics/pokemon/icons/unown_D_icon.4bpp" - - .align 2 -gMonStillFrontPic_UnownE:: @ 8D46008 - .incbin "graphics/pokemon/front_pics/unown_e_still_front_pic.4bpp.lz" - - .align 2 -gMonBackPic_UnownE:: @ 8D461C0 - .incbin "graphics/pokemon/back_pics/unown_e_back_pic.4bpp.lz" - - .align 2 -gMonIcon_UnownE:: @ 8D463C0 - .incbin "graphics/pokemon/icons/unown_E_icon.4bpp" - - .align 2 -gMonStillFrontPic_UnownF:: @ 8D467C0 - .incbin "graphics/pokemon/front_pics/unown_f_still_front_pic.4bpp.lz" - - .align 2 -gMonBackPic_UnownF:: @ 8D469B4 - .incbin "graphics/pokemon/back_pics/unown_f_back_pic.4bpp.lz" - - .align 2 -gMonIcon_UnownF:: @ 8D46BD0 - .incbin "graphics/pokemon/icons/unown_F_icon.4bpp" - - .align 2 -gMonStillFrontPic_UnownG:: @ 8D46FD0 - .incbin "graphics/pokemon/front_pics/unown_g_still_front_pic.4bpp.lz" - - .align 2 -gMonBackPic_UnownG:: @ 8D471AC - .incbin "graphics/pokemon/back_pics/unown_g_back_pic.4bpp.lz" - - .align 2 -gMonIcon_UnownG:: @ 8D473F8 - .incbin "graphics/pokemon/icons/unown_G_icon.4bpp" - - .align 2 -gMonStillFrontPic_UnownH:: @ 8D477F8 - .incbin "graphics/pokemon/front_pics/unown_h_still_front_pic.4bpp.lz" - - .align 2 -gMonBackPic_UnownH:: @ 8D47A3C - .incbin "graphics/pokemon/back_pics/unown_h_back_pic.4bpp.lz" - - .align 2 -gMonIcon_UnownH:: @ 8D47D00 - .incbin "graphics/pokemon/icons/unown_H_icon.4bpp" - - .align 2 -gMonStillFrontPic_UnownI:: @ 8D48100 - .incbin "graphics/pokemon/front_pics/unown_i_still_front_pic.4bpp.lz" - - .align 2 -gMonBackPic_UnownI:: @ 8D48298 - .incbin "graphics/pokemon/back_pics/unown_i_back_pic.4bpp.lz" - - .align 2 -gMonIcon_UnownI:: @ 8D48440 - .incbin "graphics/pokemon/icons/unown_I_icon.4bpp" - - .align 2 -gMonStillFrontPic_UnownJ:: @ 8D48840 - .incbin "graphics/pokemon/front_pics/unown_j_still_front_pic.4bpp.lz" - - .align 2 -gMonBackPic_UnownJ:: @ 8D48A04 - .incbin "graphics/pokemon/back_pics/unown_j_back_pic.4bpp.lz" - - .align 2 -gMonIcon_UnownJ:: @ 8D48BEC - .incbin "graphics/pokemon/icons/unown_J_icon.4bpp" - - .align 2 -gMonStillFrontPic_UnownK:: @ 8D48FEC - .incbin "graphics/pokemon/front_pics/unown_k_still_front_pic.4bpp.lz" - - .align 2 -gMonBackPic_UnownK:: @ 8D491BC - .incbin "graphics/pokemon/back_pics/unown_k_back_pic.4bpp.lz" - - .align 2 -gMonIcon_UnownK:: @ 8D493B4 - .incbin "graphics/pokemon/icons/unown_K_icon.4bpp" - - .align 2 -gMonStillFrontPic_UnownL:: @ 8D497B4 - .incbin "graphics/pokemon/front_pics/unown_l_still_front_pic.4bpp.lz" - - .align 2 -gMonBackPic_UnownL:: @ 8D49964 - .incbin "graphics/pokemon/back_pics/unown_l_back_pic.4bpp.lz" - - .align 2 -gMonIcon_UnownL:: @ 8D49B38 - .incbin "graphics/pokemon/icons/unown_L_icon.4bpp" - - .align 2 -gMonStillFrontPic_UnownM:: @ 8D49F38 - .incbin "graphics/pokemon/front_pics/unown_m_still_front_pic.4bpp.lz" - - .align 2 -gMonBackPic_UnownM:: @ 8D4A15C - .incbin "graphics/pokemon/back_pics/unown_m_back_pic.4bpp.lz" - - .align 2 -gMonIcon_UnownM:: @ 8D4A404 - .incbin "graphics/pokemon/icons/unown_M_icon.4bpp" - - .align 2 -gMonStillFrontPic_UnownN:: @ 8D4A804 - .incbin "graphics/pokemon/front_pics/unown_n_still_front_pic.4bpp.lz" - - .align 2 -gMonBackPic_UnownN:: @ 8D4A9FC - .incbin "graphics/pokemon/back_pics/unown_n_back_pic.4bpp.lz" - - .align 2 -gMonIcon_UnownN:: @ 8D4AC68 - .incbin "graphics/pokemon/icons/unown_N_icon.4bpp" - - .align 2 -gMonStillFrontPic_UnownO:: @ 8D4B068 - .incbin "graphics/pokemon/front_pics/unown_o_still_front_pic.4bpp.lz" - - .align 2 -gMonBackPic_UnownO:: @ 8D4B2A0 - .incbin "graphics/pokemon/back_pics/unown_o_back_pic.4bpp.lz" - - .align 2 -gMonIcon_UnownO:: @ 8D4B560 - .incbin "graphics/pokemon/icons/unown_O_icon.4bpp" - - .align 2 -gMonStillFrontPic_UnownP:: @ 8D4B960 - .incbin "graphics/pokemon/front_pics/unown_p_still_front_pic.4bpp.lz" - - .align 2 -gMonBackPic_UnownP:: @ 8D4BB00 - .incbin "graphics/pokemon/back_pics/unown_p_back_pic.4bpp.lz" - - .align 2 -gMonIcon_UnownP:: @ 8D4BCC4 - .incbin "graphics/pokemon/icons/unown_P_icon.4bpp" - - .align 2 -gMonStillFrontPic_UnownQ:: @ 8D4C0C4 - .incbin "graphics/pokemon/front_pics/unown_q_still_front_pic.4bpp.lz" - - .align 2 -gMonBackPic_UnownQ:: @ 8D4C278 - .incbin "graphics/pokemon/back_pics/unown_q_back_pic.4bpp.lz" - - .align 2 -gMonIcon_UnownQ:: @ 8D4C444 - .incbin "graphics/pokemon/icons/unown_Q_icon.4bpp" - - .align 2 -gMonStillFrontPic_UnownR:: @ 8D4C844 - .incbin "graphics/pokemon/front_pics/unown_r_still_front_pic.4bpp.lz" - - .align 2 -gMonBackPic_UnownR:: @ 8D4C9E8 - .incbin "graphics/pokemon/back_pics/unown_r_back_pic.4bpp.lz" - - .align 2 -gMonIcon_UnownR:: @ 8D4CBB0 - .incbin "graphics/pokemon/icons/unown_R_icon.4bpp" - - .align 2 -gMonStillFrontPic_UnownS:: @ 8D4CFB0 - .incbin "graphics/pokemon/front_pics/unown_s_still_front_pic.4bpp.lz" - - .align 2 -gMonBackPic_UnownS:: @ 8D4D198 - .incbin "graphics/pokemon/back_pics/unown_s_back_pic.4bpp.lz" - - .align 2 -gMonIcon_UnownS:: @ 8D4D3EC - .incbin "graphics/pokemon/icons/unown_S_icon.4bpp" - - .align 2 -gMonStillFrontPic_UnownT:: @ 8D4D7EC - .incbin "graphics/pokemon/front_pics/unown_t_still_front_pic.4bpp.lz" - - .align 2 -gMonBackPic_UnownT:: @ 8D4D99C - .incbin "graphics/pokemon/back_pics/unown_t_back_pic.4bpp.lz" - - .align 2 -gMonIcon_UnownT:: @ 8D4DB50 - .incbin "graphics/pokemon/icons/unown_T_icon.4bpp" - - .align 2 -gMonStillFrontPic_UnownU:: @ 8D4DF50 - .incbin "graphics/pokemon/front_pics/unown_u_still_front_pic.4bpp.lz" - - .align 2 -gMonBackPic_UnownU:: @ 8D4E168 - .incbin "graphics/pokemon/back_pics/unown_u_back_pic.4bpp.lz" - - .align 2 -gMonIcon_UnownU:: @ 8D4E3BC - .incbin "graphics/pokemon/icons/unown_U_icon.4bpp" - - .align 2 -gMonStillFrontPic_UnownV:: @ 8D4E7BC - .incbin "graphics/pokemon/front_pics/unown_v_still_front_pic.4bpp.lz" - - .align 2 -gMonBackPic_UnownV:: @ 8D4E9A0 - .incbin "graphics/pokemon/back_pics/unown_v_back_pic.4bpp.lz" - - .align 2 -gMonIcon_UnownV:: @ 8D4EBD0 - .incbin "graphics/pokemon/icons/unown_V_icon.4bpp" - - .align 2 -gMonStillFrontPic_UnownW:: @ 8D4EFD0 - .incbin "graphics/pokemon/front_pics/unown_w_still_front_pic.4bpp.lz" - - .align 2 -gMonBackPic_UnownW:: @ 8D4F1A4 - .incbin "graphics/pokemon/back_pics/unown_w_back_pic.4bpp.lz" - - .align 2 -gMonIcon_UnownW:: @ 8D4F3A8 - .incbin "graphics/pokemon/icons/unown_W_icon.4bpp" - - .align 2 -gMonStillFrontPic_UnownX:: @ 8D4F7A8 - .incbin "graphics/pokemon/front_pics/unown_x_still_front_pic.4bpp.lz" - - .align 2 -gMonBackPic_UnownX:: @ 8D4F96C - .incbin "graphics/pokemon/back_pics/unown_x_back_pic.4bpp.lz" - - .align 2 -gMonIcon_UnownX:: @ 8D4FB5C - .incbin "graphics/pokemon/icons/unown_X_icon.4bpp" - - .align 2 -gMonStillFrontPic_UnownY:: @ 8D4FF5C - .incbin "graphics/pokemon/front_pics/unown_y_still_front_pic.4bpp.lz" - - .align 2 -gMonBackPic_UnownY:: @ 8D50134 - .incbin "graphics/pokemon/back_pics/unown_y_back_pic.4bpp.lz" - - .align 2 -gMonIcon_UnownY:: @ 8D50328 - .incbin "graphics/pokemon/icons/unown_Y_icon.4bpp" - - .align 2 -gMonStillFrontPic_UnownZ:: @ 8D50728 - .incbin "graphics/pokemon/front_pics/unown_z_still_front_pic.4bpp.lz" - - .align 2 -gMonBackPic_UnownZ:: @ 8D508D8 - .incbin "graphics/pokemon/back_pics/unown_z_back_pic.4bpp.lz" - - .align 2 -gMonIcon_UnownZ:: @ 8D50AB4 - .incbin "graphics/pokemon/icons/unown_Z_icon.4bpp" - - .align 2 -gMonStillFrontPic_UnownExclamationMark:: @ 8D50EB4 - .incbin "graphics/pokemon/front_pics/unown_exclamation_mark_still_front_pic.4bpp.lz" - - .align 2 -gMonBackPic_UnownExclamationMark:: @ 8D51044 - .incbin "graphics/pokemon/back_pics/unown_exclamation_mark_back_pic.4bpp.lz" - - .align 2 -gMonIcon_UnownExclamationMark:: @ 8D5120C - .incbin "graphics/pokemon/icons/unown_exclamation_mark_icon.4bpp" - - .align 2 -gMonStillFrontPic_UnownQuestionMark:: @ 8D5160C - .incbin "graphics/pokemon/front_pics/unown_question_mark_still_front_pic.4bpp.lz" - - .align 2 -gMonBackPic_UnownQuestionMark:: @ 8D517C8 - .incbin "graphics/pokemon/back_pics/unown_question_mark_back_pic.4bpp.lz" - - .align 2 -gMonIcon_UnownQuestionMark:: @ 8D519C8 - .incbin "graphics/pokemon/icons/unown_question_mark_icon.4bpp" diff --git a/data/graphics/trainers/graphics.inc b/data/graphics/trainers/graphics.inc deleted file mode 100644 index 897cb9ffb6..0000000000 --- a/data/graphics/trainers/graphics.inc +++ /dev/null @@ -1,783 +0,0 @@ - .align 2 -gTrainerFrontPic_Hiker:: @ 8D51DC8 - .incbin "graphics/trainers/front_pics/hiker_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_Hiker:: @ 8D52248 - .incbin "graphics/trainers/palettes/hiker.gbapal.lz" - - .align 2 -gTrainerFrontPic_AquaGruntM:: @ 8D52270 - .incbin "graphics/trainers/front_pics/aqua_grunt_m_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_AquaGruntM:: @ 8D525D0 - .incbin "graphics/trainers/palettes/aqua_grunt_m.gbapal.lz" - - .align 2 -gTrainerFrontPic_PokemonBreederF:: @ 8D525F8 - .incbin "graphics/trainers/front_pics/pokemon_breeder_f_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_PokemonBreederF:: @ 8D5292C - .incbin "graphics/trainers/palettes/pokemon_breeder_f.gbapal.lz" - - .align 2 -gTrainerFrontPic_CoolTrainerM:: @ 8D52954 - .incbin "graphics/trainers/front_pics/cool_trainer_m_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_CoolTrainerM:: @ 8D52C3C - .incbin "graphics/trainers/palettes/cool_trainer_m.gbapal.lz" - - .align 2 -gTrainerFrontPic_BirdKeeper:: @ 8D52C64 - .incbin "graphics/trainers/front_pics/bird_keeper_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_BirdKeeper:: @ 8D52F9C - .incbin "graphics/trainers/palettes/bird_keeper.gbapal.lz" - - .align 2 -gTrainerFrontPic_Collector:: @ 8D52FC4 - .incbin "graphics/trainers/front_pics/collector_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_Collector:: @ 8D533C8 - .incbin "graphics/trainers/palettes/collector.gbapal.lz" - - .align 2 -gTrainerFrontPic_AquaGruntF:: @ 8D533F0 - .incbin "graphics/trainers/front_pics/aqua_grunt_f_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_AquaGruntF:: @ 8D5372C - .incbin "graphics/trainers/palettes/aqua_grunt_f.gbapal.lz" - - .align 2 -gTrainerFrontPic_SwimmerM:: @ 8D53754 - .incbin "graphics/trainers/front_pics/swimmer_m_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_SwimmerM:: @ 8D53A14 - .incbin "graphics/trainers/palettes/swimmer_m.gbapal.lz" - - .align 2 -gTrainerFrontPic_MagmaGruntM:: @ 8D53A3C - .incbin "graphics/trainers/front_pics/magma_grunt_m_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_MagmaGruntM:: @ 8D53DBC - .incbin "graphics/trainers/palettes/magma_grunt_m.gbapal.lz" - - .align 2 -gTrainerFrontPic_ExpertM:: @ 8D53DE4 - .incbin "graphics/trainers/front_pics/expert_m_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_ExpertM:: @ 8D54124 - .incbin "graphics/trainers/palettes/expert_m.gbapal.lz" - - .align 2 -gTrainerFrontPic_AquaAdminM:: @ 8D5414C - .incbin "graphics/trainers/front_pics/aqua_admin_m_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_AquaAdminM:: @ 8D54500 - .incbin "graphics/trainers/palettes/aqua_admin_m.gbapal.lz" - - .align 2 -gTrainerFrontPic_BlackBelt:: @ 8D54528 - .incbin "graphics/trainers/front_pics/black_belt_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_BlackBelt:: @ 8D5488C - .incbin "graphics/trainers/palettes/black_belt.gbapal.lz" - - .align 2 -gTrainerFrontPic_AquaAdminF:: @ 8D548B4 - .incbin "graphics/trainers/front_pics/aqua_admin_f_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_AquaAdminF:: @ 8D54C78 - .incbin "graphics/trainers/palettes/aqua_admin_f.gbapal.lz" - - .align 2 -gTrainerFrontPic_AquaLeaderArchie:: @ 8D54CA0 - .incbin "graphics/trainers/front_pics/aqua_leader_archie_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_AquaLeaderArchie:: @ 8D54FDC - .incbin "graphics/trainers/palettes/aqua_leader_archie.gbapal.lz" - - .align 2 -gTrainerFrontPic_HexManiac:: @ 8D55004 - .incbin "graphics/trainers/front_pics/hex_maniac_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_HexManiac:: @ 8D55370 - .incbin "graphics/trainers/palettes/hex_maniac.gbapal.lz" - - .align 2 -gTrainerFrontPic_AromaLady:: @ 8D55398 - .incbin "graphics/trainers/front_pics/aroma_lady_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_AromaLady:: @ 8D5565C - .incbin "graphics/trainers/palettes/aroma_lady.gbapal.lz" - - .align 2 -gTrainerFrontPic_RuinManiac:: @ 8D55684 - .incbin "graphics/trainers/front_pics/ruin_maniac_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_RuinManiac:: @ 8D55A20 - .incbin "graphics/trainers/palettes/ruin_maniac.gbapal.lz" - - .align 2 -gTrainerFrontPic_Interviewer:: @ 8D55A48 - .incbin "graphics/trainers/front_pics/interviewer_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_Interviewer:: @ 8D55EEC - .incbin "graphics/trainers/palettes/interviewer.gbapal.lz" - - .align 2 -gTrainerFrontPic_TuberF:: @ 8D55F14 - .incbin "graphics/trainers/front_pics/tuber_f_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_TuberF:: @ 8D561B8 - .incbin "graphics/trainers/palettes/tuber_f.gbapal.lz" - - .align 2 -gTrainerFrontPic_TuberM:: @ 8D561E0 - .incbin "graphics/trainers/front_pics/tuber_m_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_TuberM:: @ 8D5646C - .incbin "graphics/trainers/palettes/tuber_m.gbapal.lz" - - .align 2 -gTrainerFrontPic_CoolTrainerF:: @ 8D56494 - .incbin "graphics/trainers/front_pics/cool_trainer_f_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_CoolTrainerF:: @ 8D567A8 - .incbin "graphics/trainers/palettes/cool_trainer_f.gbapal.lz" - - .align 2 -gTrainerFrontPic_Lady:: @ 8D567D0 - .incbin "graphics/trainers/front_pics/lady_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_Lady:: @ 8D56B84 - .incbin "graphics/trainers/palettes/lady.gbapal.lz" - - .align 2 -gTrainerFrontPic_Beauty:: @ 8D56BAC - .incbin "graphics/trainers/front_pics/beauty_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_Beauty:: @ 8D56E94 - .incbin "graphics/trainers/palettes/beauty.gbapal.lz" - - .align 2 -gTrainerFrontPic_RichBoy:: @ 8D56EBC - .incbin "graphics/trainers/front_pics/rich_boy_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_RichBoy:: @ 8D57170 - .incbin "graphics/trainers/palettes/rich_boy.gbapal.lz" - - .align 2 -gTrainerFrontPic_ExpertF:: @ 8D57198 - .incbin "graphics/trainers/front_pics/expert_f_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_ExpertF:: @ 8D574B4 - .incbin "graphics/trainers/palettes/expert_f.gbapal.lz" - - .align 2 -gTrainerFrontPic_Pokemaniac:: @ 8D574DC - .incbin "graphics/trainers/front_pics/pokemaniac_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_Pokemaniac:: @ 8D5784C - .incbin "graphics/trainers/palettes/pokemaniac.gbapal.lz" - - .align 2 -gTrainerFrontPic_MagmaGruntF:: @ 8D57874 - .incbin "graphics/trainers/front_pics/magma_grunt_f_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_MagmaGruntF:: @ 8D57C00 - .incbin "graphics/trainers/palettes/magma_grunt_f.gbapal.lz" - - .align 2 -gTrainerFrontPic_Guitarist:: @ 8D57C28 - .incbin "graphics/trainers/front_pics/guitarist_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_Guitarist:: @ 8D57FAC - .incbin "graphics/trainers/palettes/guitarist.gbapal.lz" - - .align 2 -gTrainerFrontPic_Kindler:: @ 8D57FD4 - .incbin "graphics/trainers/front_pics/kindler_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_Kindler:: @ 8D58340 - .incbin "graphics/trainers/palettes/kindler.gbapal.lz" - - .align 2 -gTrainerFrontPic_Camper:: @ 8D58368 - .incbin "graphics/trainers/front_pics/camper_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_Camper:: @ 8D58650 - .incbin "graphics/trainers/palettes/camper.gbapal.lz" - - .align 2 -gTrainerFrontPic_Picnicker:: @ 8D58678 - .incbin "graphics/trainers/front_pics/picnicker_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_Picnicker:: @ 8D58958 - .incbin "graphics/trainers/palettes/picnicker.gbapal.lz" - - .align 2 -gTrainerFrontPic_BugManiac:: @ 8D58980 - .incbin "graphics/trainers/front_pics/bug_maniac_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_BugManiac:: @ 8D58DD0 - .incbin "graphics/trainers/palettes/bug_maniac.gbapal.lz" - - .align 2 -gTrainerFrontPic_PokemonBreederM:: @ 8D58DF8 - .incbin "graphics/trainers/front_pics/pokemon_breeder_m_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_PokemonBreederM:: @ 8D59128 - .incbin "graphics/trainers/palettes/pokemon_breeder_m.gbapal.lz" - - .align 2 -gTrainerFrontPic_PsychicM:: @ 8D59150 - .incbin "graphics/trainers/front_pics/psychic_m_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_PsychicM:: @ 8D5947C - .incbin "graphics/trainers/palettes/psychic_m.gbapal.lz" - - .align 2 -gTrainerFrontPic_PsychicF:: @ 8D594A4 - .incbin "graphics/trainers/front_pics/psychic_f_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_PsychicF:: @ 8D597CC - .incbin "graphics/trainers/palettes/psychic_f.gbapal.lz" - - .align 2 -gTrainerFrontPic_Gentleman:: @ 8D597F4 - .incbin "graphics/trainers/front_pics/gentleman_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_Gentleman:: @ 8D59AF4 - .incbin "graphics/trainers/palettes/gentleman.gbapal.lz" - - .align 2 -gTrainerFrontPic_EliteFourSidney:: @ 8D59B1C - .incbin "graphics/trainers/front_pics/elite_four_sidney_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_EliteFourSidney:: @ 8D59E50 - .incbin "graphics/trainers/palettes/elite_four_sidney.gbapal.lz" - - .align 2 -gTrainerFrontPic_EliteFourPhoebe:: @ 8D59E78 - .incbin "graphics/trainers/front_pics/elite_four_phoebe_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_EliteFourPhoebe:: @ 8D5A178 - .incbin "graphics/trainers/palettes/elite_four_phoebe.gbapal.lz" - - .align 2 -gTrainerFrontPic_EliteFourGlacia:: @ 8D5A1A0 - .incbin "graphics/trainers/front_pics/elite_four_glacia_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_EliteFourGlacia:: @ 8D5A524 - .incbin "graphics/trainers/palettes/elite_four_glacia.gbapal.lz" - - .align 2 -gTrainerFrontPic_EliteFourDrake:: @ 8D5A54C - .incbin "graphics/trainers/front_pics/elite_four_drake_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_EliteFourDrake:: @ 8D5A8F4 - .incbin "graphics/trainers/palettes/elite_four_drake.gbapal.lz" - - .align 2 -gTrainerFrontPic_LeaderRoxanne:: @ 8D5A91C - .incbin "graphics/trainers/front_pics/leader_roxanne_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_LeaderRoxanne:: @ 8D5AC08 - .incbin "graphics/trainers/palettes/leader_roxanne.gbapal.lz" - - .align 2 -gTrainerFrontPic_LeaderBrawly:: @ 8D5AC30 - .incbin "graphics/trainers/front_pics/leader_brawly_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_LeaderBrawly:: @ 8D5AFC4 - .incbin "graphics/trainers/palettes/leader_brawly.gbapal.lz" - - .align 2 -gTrainerFrontPic_LeaderWattson:: @ 8D5AFEC - .incbin "graphics/trainers/front_pics/leader_wattson_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_LeaderWattson:: @ 8D5B334 - .incbin "graphics/trainers/palettes/leader_wattson.gbapal.lz" - - .align 2 -gTrainerFrontPic_LeaderFlannery:: @ 8D5B35C - .incbin "graphics/trainers/front_pics/leader_flannery_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_LeaderFlannery:: @ 8D5B6DC - .incbin "graphics/trainers/palettes/leader_flannery.gbapal.lz" - - .align 2 -gTrainerFrontPic_LeaderNorman:: @ 8D5B704 - .incbin "graphics/trainers/front_pics/leader_norman_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_LeaderNorman:: @ 8D5BA40 - .incbin "graphics/trainers/palettes/leader_norman.gbapal.lz" - - .align 2 -gTrainerFrontPic_LeaderWinona:: @ 8D5BA68 - .incbin "graphics/trainers/front_pics/leader_winona_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_LeaderWinona:: @ 8D5BDE8 - .incbin "graphics/trainers/palettes/leader_winona.gbapal.lz" - - .align 2 -gTrainerFrontPic_LeaderTateAndLiza:: @ 8D5BE10 - .incbin "graphics/trainers/front_pics/leader_tate_and_liza_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_LeaderTateAndLiza:: @ 8D5C254 - .incbin "graphics/trainers/palettes/leader_tate_and_liza.gbapal.lz" - - .align 2 -gTrainerFrontPic_LeaderJuan:: @ 8D5C27C - .incbin "graphics/trainers/front_pics/leader_juan_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_LeaderJuan:: @ 8D5C624 - .incbin "graphics/trainers/palettes/leader_juan.gbapal.lz" - - .align 2 -gTrainerFrontPic_SchoolKidM:: @ 8D5C64C - .incbin "graphics/trainers/front_pics/school_kid_m_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_SchoolKidM:: @ 8D5C90C - .incbin "graphics/trainers/palettes/school_kid_m.gbapal.lz" - - .align 2 -gTrainerFrontPic_SchoolKidF:: @ 8D5C934 - .incbin "graphics/trainers/front_pics/school_kid_f_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_SchoolKidF:: @ 8D5CBD0 - .incbin "graphics/trainers/palettes/school_kid_f.gbapal.lz" - - .align 2 -gTrainerFrontPic_SrAndJr:: @ 8D5CBF8 - .incbin "graphics/trainers/front_pics/sr_and_jr_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_SrAndJr:: @ 8D5D068 - .incbin "graphics/trainers/palettes/sr_and_jr.gbapal.lz" - - .align 2 -gTrainerFrontPic_WinstrateM:: @ 8D5D090 - .incbin "graphics/trainers/front_pics/winstrate_m_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_WinstrateM:: @ 8D5D44C - .incbin "graphics/trainers/palettes/winstrate_m.gbapal.lz" - - .align 2 -gTrainerFrontPic_WinstrateF:: @ 8D5D474 - .incbin "graphics/trainers/front_pics/winstrate_f_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_WinstrateF:: @ 8D5D840 - .incbin "graphics/trainers/palettes/winstrate_f.gbapal.lz" - - .align 2 -gTrainerFrontPic_Youngster:: @ 8D5D868 - .incbin "graphics/trainers/front_pics/youngster_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_Youngster:: @ 8D5DB10 - .incbin "graphics/trainers/palettes/youngster.gbapal.lz" - - .align 2 -gTrainerFrontPic_ChampionWallace:: @ 8D5DB38 - .incbin "graphics/trainers/front_pics/champion_wallace_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_ChampionWallace:: @ 8D5DF8C - .incbin "graphics/trainers/palettes/champion_wallace.gbapal.lz" - - .align 2 -gTrainerFrontPic_Fisherman:: @ 8D5DFB4 - .incbin "graphics/trainers/front_pics/fisherman_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_Fisherman:: @ 8D5E398 - .incbin "graphics/trainers/palettes/fisherman.gbapal.lz" - - .align 2 -gTrainerFrontPic_CyclingTriathleteM:: @ 8D5E3C0 - .incbin "graphics/trainers/front_pics/cycling_triathlete_m_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_CyclingTriathleteM:: @ 8D5E7D0 - .incbin "graphics/trainers/palettes/cycling_triathlete_m.gbapal.lz" - - .align 2 -gTrainerFrontPic_CyclingTriathleteF:: @ 8D5E7F8 - .incbin "graphics/trainers/front_pics/cycling_triathlete_f_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_CyclingTriathleteF:: @ 8D5EC04 - .incbin "graphics/trainers/palettes/cycling_triathlete_f.gbapal.lz" - - .align 2 -gTrainerFrontPic_RunningTriathleteM:: @ 8D5EC2C - .incbin "graphics/trainers/front_pics/running_triathlete_m_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_RunningTriathleteM:: @ 8D5EEE4 - .incbin "graphics/trainers/palettes/running_triathlete_m.gbapal.lz" - - .align 2 -gTrainerFrontPic_RunningTriathleteF:: @ 8D5EF0C - .incbin "graphics/trainers/front_pics/running_triathlete_f_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_RunningTriathleteF:: @ 8D5F1B0 - .incbin "graphics/trainers/palettes/running_triathlete_f.gbapal.lz" - - .align 2 -gTrainerFrontPic_SwimmingTriathleteM:: @ 8D5F1D8 - .incbin "graphics/trainers/front_pics/swimming_triathlete_m_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_SwimmingTriathleteM:: @ 8D5F504 - .incbin "graphics/trainers/palettes/swimming_triathlete_m.gbapal.lz" - - .align 2 -gTrainerFrontPic_SwimmingTriathleteF:: @ 8D5F52C - .incbin "graphics/trainers/front_pics/swimming_triathlete_f_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_SwimmingTriathleteF:: @ 8D5F808 - .incbin "graphics/trainers/palettes/swimming_triathlete_f.gbapal.lz" - - .align 2 -gTrainerFrontPic_DragonTamer:: @ 8D5F830 - .incbin "graphics/trainers/front_pics/dragon_tamer_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_DragonTamer:: @ 8D5FB84 - .incbin "graphics/trainers/palettes/dragon_tamer.gbapal.lz" - - .align 2 -gTrainerFrontPic_NinjaBoy:: @ 8D5FBAC - .incbin "graphics/trainers/front_pics/ninja_boy_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_NinjaBoy:: @ 8D5FE88 - .incbin "graphics/trainers/palettes/ninja_boy.gbapal.lz" - - .align 2 -gTrainerFrontPic_BattleGirl:: @ 8D5FEB0 - .incbin "graphics/trainers/front_pics/battle_girl_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_BattleGirl:: @ 8D601D0 - .incbin "graphics/trainers/palettes/battle_girl.gbapal.lz" - - .align 2 -gTrainerFrontPic_ParasolLady:: @ 8D601F8 - .incbin "graphics/trainers/front_pics/parasol_lady_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_ParasolLady:: @ 8D60530 - .incbin "graphics/trainers/palettes/parasol_lady.gbapal.lz" - - .align 2 -gTrainerFrontPic_SwimmerF:: @ 8D60558 - .incbin "graphics/trainers/front_pics/swimmer_f_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_SwimmerF:: @ 8D60828 - .incbin "graphics/trainers/palettes/swimmer_f.gbapal.lz" - - .align 2 -gTrainerFrontPic_Twins:: @ 8D60850 - .incbin "graphics/trainers/front_pics/twins_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_Twins:: @ 8D60C14 - .incbin "graphics/trainers/palettes/twins.gbapal.lz" - - .align 2 -gTrainerFrontPic_Sailor:: @ 8D60C3C - .incbin "graphics/trainers/front_pics/sailor_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_Sailor:: @ 8D60FEC - .incbin "graphics/trainers/palettes/sailor.gbapal.lz" - - .align 2 -gTrainerFrontPic_MagmaAdmin:: @ 8D61014 - .incbin "graphics/trainers/front_pics/magma_admin_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_MagmaAdmin:: @ 8D613EC - .incbin "graphics/trainers/palettes/magma_admin.gbapal.lz" - - .align 2 -gTrainerFrontPic_Wally:: @ 8D61414 - .incbin "graphics/trainers/front_pics/wally_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_Wally:: @ 8D616E4 - .incbin "graphics/trainers/palettes/wally.gbapal.lz" - - .align 2 -gTrainerFrontPic_Brendan:: @ 8D6170C - .incbin "graphics/trainers/front_pics/brendan_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_Brendan:: @ 8D61A30 - .incbin "graphics/trainers/palettes/brendan.gbapal.lz" - - .align 2 -gTrainerFrontPic_May:: @ 8D61A58 - .incbin "graphics/trainers/front_pics/may_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_May:: @ 8D61D58 - .incbin "graphics/trainers/palettes/may.gbapal.lz" - - .align 2 -gTrainerFrontPic_BugCatcher:: @ 8D61D80 - .incbin "graphics/trainers/front_pics/bug_catcher_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_BugCatcher:: @ 8D620AC - .incbin "graphics/trainers/palettes/bug_catcher.gbapal.lz" - - .align 2 -gTrainerFrontPic_PokemonRangerM:: @ 8D620D4 - .incbin "graphics/trainers/front_pics/pokemon_ranger_m_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_PokemonRangerM:: @ 8D6241C - .incbin "graphics/trainers/palettes/pokemon_ranger_m.gbapal.lz" - - .align 2 -gTrainerFrontPic_PokemonRangerF:: @ 8D62444 - .incbin "graphics/trainers/front_pics/pokemon_ranger_f_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_PokemonRangerF:: @ 8D62778 - .incbin "graphics/trainers/palettes/pokemon_ranger_f.gbapal.lz" - - .align 2 -gTrainerFrontPic_MagmaLeaderMaxie:: @ 8D627A0 - .incbin "graphics/trainers/front_pics/magma_leader_maxie_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_MagmaLeaderMaxie:: @ 8D62A94 - .incbin "graphics/trainers/palettes/magma_leader_maxie.gbapal.lz" - - .align 2 -gTrainerFrontPic_Lass:: @ 8D62ABC - .incbin "graphics/trainers/front_pics/lass_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_Lass:: @ 8D62D94 - .incbin "graphics/trainers/palettes/lass.gbapal.lz" - - .align 2 -gTrainerFrontPic_YoungCouple:: @ 8D62DBC - .incbin "graphics/trainers/front_pics/young_couple_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_YoungCouple:: @ 8D6317C - .incbin "graphics/trainers/palettes/young_couple.gbapal.lz" - - .align 2 -gTrainerFrontPic_OldCouple:: @ 8D631A4 - .incbin "graphics/trainers/front_pics/old_couple_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_OldCouple:: @ 8D636B4 - .incbin "graphics/trainers/palettes/old_couple.gbapal.lz" - - .align 2 -gTrainerFrontPic_SisAndBro:: @ 8D636DC - .incbin "graphics/trainers/front_pics/sis_and_bro_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_SisAndBro:: @ 8D63B28 - .incbin "graphics/trainers/palettes/sis_and_bro.gbapal.lz" - - .align 2 -gTrainerFrontPic_Steven:: @ 8D63B50 - .incbin "graphics/trainers/front_pics/steven_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_Steven:: @ 8D63E88 - .incbin "graphics/trainers/palettes/steven.gbapal.lz" - - .align 2 -gTrainerFrontPic_SalonMaidenAnabel:: @ 8D63EB0 - .incbin "graphics/trainers/front_pics/salon_maiden_anabel_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_SalonMaidenAnabel:: @ 8D641B8 - .incbin "graphics/trainers/palettes/salon_maiden_anabel.gbapal.lz" - - .align 2 -gTrainerFrontPic_DomeAceTucker:: @ 8D641E0 - .incbin "graphics/trainers/front_pics/dome_ace_tucker_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_DomeAceTucker:: @ 8D645E4 - .incbin "graphics/trainers/palettes/dome_ace_tucker.gbapal.lz" - - .align 2 -gTrainerFrontPic_PalaceMavenSpenser:: @ 8D6460C - .incbin "graphics/trainers/front_pics/palace_maven_spenser_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_PalaceMavenSpenser:: @ 8D649B0 - .incbin "graphics/trainers/palettes/palace_maven_spenser.gbapal.lz" - - .align 2 -gTrainerFrontPic_ArenaTycoonGreta:: @ 8D649D8 - .incbin "graphics/trainers/front_pics/arena_tycoon_greta_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_ArenaTycoonGreta:: @ 8D64D08 - .incbin "graphics/trainers/palettes/arena_tycoon_greta.gbapal.lz" - - .align 2 -gTrainerFrontPic_FactoryHeadNoland:: @ 8D64D30 - .incbin "graphics/trainers/front_pics/factory_head_noland_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_FactoryHeadNoland:: @ 8D650AC - .incbin "graphics/trainers/palettes/factory_head_noland.gbapal.lz" - - .align 2 -gTrainerFrontPic_PikeQueenLucy:: @ 8D650D4 - .incbin "graphics/trainers/front_pics/pike_queen_lucy_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_PikeQueenLucy:: @ 8D653C8 - .incbin "graphics/trainers/palettes/pike_queen_lucy.gbapal.lz" - - .align 2 -gTrainerFrontPic_PyramidKingBrandon:: @ 8D653F0 - .incbin "graphics/trainers/front_pics/pyramid_king_brandon_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_PyramidKingBrandon:: @ 8D6575C - .incbin "graphics/trainers/palettes/pyramid_king_brandon.gbapal.lz" - - .align 2 -gTrainerFrontPic_Red:: @ 8D65784 - .incbin "graphics/trainers/front_pics/red_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_Red:: @ 8D65A90 - .incbin "graphics/trainers/palettes/red.gbapal.lz" - - .align 2 -gTrainerFrontPic_Leaf:: @ 8D65AB8 - .incbin "graphics/trainers/front_pics/leaf_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_Leaf:: @ 8D65DF4 - .incbin "graphics/trainers/palettes/leaf.gbapal.lz" - - .align 2 -gTrainerFrontPic_RubySapphireBrendan:: @ 8D65E1C - .incbin "graphics/trainers/front_pics/ruby_sapphire_brendan_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_RubySapphireBrendan:: @ 8D66130 - .incbin "graphics/trainers/palettes/ruby_sapphire_brendan.gbapal.lz" - - .align 2 -gTrainerFrontPic_RubySapphireMay:: @ 8D66158 - .incbin "graphics/trainers/front_pics/ruby_sapphire_may_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_RubySapphireMay:: @ 8D66458 - .incbin "graphics/trainers/palettes/ruby_sapphire_may.gbapal.lz" - - .align 2 -gTrainerBackPic_Brendan:: @ 8D66480 - .incbin "graphics/trainers/back_pics/brendan_back_pic.4bpp" - - .align 2 -gTrainerBackPic_May:: @ 8D68480 - .incbin "graphics/trainers/back_pics/may_back_pic.4bpp" - - .align 2 -gTrainerBackPic_Red:: @ 8D6A480 - .incbin "graphics/trainers/back_pics/red_back_pic.4bpp" - - .align 2 -gTrainerBackPic_Leaf:: @ 8D6CC80 - .incbin "graphics/trainers/back_pics/leaf_back_pic.4bpp" - - .align 2 -gTrainerBackPic_RubySapphireBrendan:: @ 8D6F480 - .incbin "graphics/trainers/back_pics/ruby_sapphire_brendan_back_pic.4bpp" - - .align 2 -gTrainerBackPic_RubySapphireMay:: @ 8D71480 - .incbin "graphics/trainers/back_pics/ruby_sapphire_may_back_pic.4bpp" - - .align 2 -gTrainerBackPic_Wally:: @ 8D73480 - .incbin "graphics/trainers/back_pics/wally_back_pic.4bpp" - - .align 2 -gTrainerBackPic_Steven:: @ 8D75480 - .incbin "graphics/trainers/back_pics/steven_back_pic.4bpp" - - .align 2 -gTrainerBackPicPalette_Red:: @ 8D77480 - .incbin "graphics/trainers/palettes/red_back_pic.gbapal.lz" - - .align 2 -gTrainerBackPicPalette_Leaf:: @ 8D774A8 - .incbin "graphics/trainers/palettes/leaf_back_pic.gbapal.lz" diff --git a/ld_script.txt b/ld_script.txt index a4ef0bb17d..0a6a222908 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -1141,6 +1141,7 @@ SECTIONS { gfx_data : ALIGN(4) { + src/graphics.o(.rodata); data/graphics.o(gfx_data); } =0 diff --git a/src/graphics.c b/src/graphics.c new file mode 100644 index 0000000000..8a4c98bb32 --- /dev/null +++ b/src/graphics.c @@ -0,0 +1,1974 @@ +#include "global.h" + +const u8 gBattleTextboxTiles[] = INCBIN_U8("graphics/interface/menu.4bpp.lz"); // menu window and arrows +const u8 gBattleTextboxPalette[] = INCBIN_U8("graphics/interface/menu.gbapal.lz"); +const u16 gBattleTextboxTilemap[] = INCBIN_U16("graphics/interface/menu_map.bin.lz"); + +const u8 gMonStillFrontPic_CircledQuestionMark[] = INCBIN_U8("graphics/pokemon/front_pics/circled_question_mark_still_front_pic.4bpp.lz"); +const u8 gMonBackPic_CircledQuestionMark[] = INCBIN_U8("graphics/pokemon/back_pics/circled_question_mark_back_pic.4bpp.lz"); +const u8 gMonPalette_CircledQuestionMark[] = INCBIN_U8("graphics/pokemon/palettes/circled_question_mark_palette.gbapal.lz"); +const u8 gMonShinyPalette_CircledQuestionMark[] = INCBIN_U8("graphics/pokemon/palettes/circled_question_mark_shiny_palette.gbapal.lz"); + +const u8 gUnusedGfx_OldCharmap[] = INCBIN_U8("graphics/unused/old_charmap.4bpp.lz"); // japanese table and bunch of stuff +const u16 gUnusedTimemap_OldCharmap[] = INCBIN_U16("graphics/unused/old_charmap.bin.lz"); +const u8 gUnusedPal_OldCharmap[] = INCBIN_U8("graphics/unused/old_charmap.gbapal.lz"); + +const u8 gSmokescreenImpactTiles[] = INCBIN_U8("graphics/battle_anims/sprites/smokescreen_impact.4bpp.lz"); +const u8 gSmokescreenImpactPalette[] = INCBIN_U8("graphics/battle_anims/sprites/smokescreen_impact.gbapal.lz"); + +const u8 gInterfaceGfx_PokeBall[] = INCBIN_U8("graphics/interface/ball/poke.4bpp.lz"); // 0xBC +const u8 gInterfacePal_PokeBall[] = INCBIN_U8("graphics/interface/ball/poke.gbapal.lz"); + +const u8 gInterfaceGfx_GreatBall[] = INCBIN_U8("graphics/interface/ball/great.4bpp.lz"); // 0xBC +const u8 gInterfacePal_GreatBall[] = INCBIN_U8("graphics/interface/ball/great.gbapal.lz"); + +const u8 gInterfaceGfx_SafariBall[] = INCBIN_U8("graphics/interface/ball/safari.4bpp.lz"); // 0xBC +const u8 gInterfacePal_SafariBall[] = INCBIN_U8("graphics/interface/ball/safari.gbapal.lz"); + +const u8 gInterfaceGfx_UltraBall[] = INCBIN_U8("graphics/interface/ball/ultra.4bpp.lz"); // 0xBC +const u8 gInterfacePal_UltraBall[] = INCBIN_U8("graphics/interface/ball/ultra.gbapal.lz"); + +const u8 gInterfaceGfx_MasterBall[] = INCBIN_U8("graphics/interface/ball/master.4bpp.lz"); // 0xBC +const u8 gInterfacePal_MasterBall[] = INCBIN_U8("graphics/interface/ball/master.gbapal.lz"); + +const u8 gInterfaceGfx_NetBall[] = INCBIN_U8("graphics/interface/ball/net.4bpp.lz"); // 0xBC +const u8 gInterfacePal_NetBall[] = INCBIN_U8("graphics/interface/ball/net.gbapal.lz"); + +const u8 gInterfaceGfx_DiveBall[] = INCBIN_U8("graphics/interface/ball/dive.4bpp.lz"); // 0xBC +const u8 gInterfacePal_DiveBall[] = INCBIN_U8("graphics/interface/ball/dive.gbapal.lz"); + +const u8 gInterfaceGfx_NestBall[] = INCBIN_U8("graphics/interface/ball/nest.4bpp.lz"); // 0xBC +const u8 gInterfacePal_NestBall[] = INCBIN_U8("graphics/interface/ball/nest.gbapal.lz"); + +const u8 gInterfaceGfx_RepeatBall[] = INCBIN_U8("graphics/interface/ball/repeat.4bpp.lz"); // 0xBC +const u8 gInterfacePal_RepeatBall[] = INCBIN_U8("graphics/interface/ball/repeat.gbapal.lz"); + +const u8 gInterfaceGfx_TimerBall[] = INCBIN_U8("graphics/interface/ball/timer.4bpp.lz"); // 0xBC +const u8 gInterfacePal_TimerBall[] = INCBIN_U8("graphics/interface/ball/timer.gbapal.lz"); + +const u8 gInterfaceGfx_LuxuryBall[] = INCBIN_U8("graphics/interface/ball/luxury.4bpp.lz"); // 0xBC +const u8 gInterfacePal_LuxuryBall[] = INCBIN_U8("graphics/interface/ball/luxury.gbapal.lz"); + +const u8 gInterfaceGfx_PremierBall[] = INCBIN_U8("graphics/interface/ball/premier.4bpp.lz"); // 0xBC +const u8 gInterfacePal_PremierBall[] = INCBIN_U8("graphics/interface/ball/premier.gbapal.lz"); + +const u8 gOpenPokeballGfx[] = INCBIN_U8("graphics/interface/ball_open.4bpp.lz"); + +const u8 gBlankGfxCompressed[] = INCBIN_U8("graphics/interface/blank.4bpp.lz"); + +// Battle anims +const u8 gBattleAnimSpriteSheet_146[] = INCBIN_U8("graphics/battle_anims/sprites/146.4bpp.lz"); +const u8 gBattleAnimSpriteSheet_000[] = INCBIN_U8("graphics/battle_anims/sprites/000.4bpp.lz"); +const u8 gBattleAnimSpriteSheet_003[] = INCBIN_U8("graphics/battle_anims/sprites/003.4bpp.lz"); +const u8 gBattleAnimSpriteSheet_004[] = INCBIN_U8("graphics/battle_anims/sprites/004.4bpp.lz"); +const u8 gBattleAnimSpriteSheet_005[] = INCBIN_U8("graphics/battle_anims/sprites/005.4bpp.lz"); +const u8 gBattleAnimSpriteSheet_006[] = INCBIN_U8("graphics/battle_anims/sprites/006.4bpp.lz"); + +const u8 gBattleAnimSpritePalette_115[] = INCBIN_U8("graphics/battle_anims/sprites/115.gbapal.lz"); +const u8 gBattleAnimSpritePalette_000[] = INCBIN_U8("graphics/battle_anims/sprites/000.gbapal.lz"); +const u8 gBattleAnimSpritePalette_003[] = INCBIN_U8("graphics/battle_anims/sprites/003.gbapal.lz"); +const u8 gBattleAnimSpritePalette_004[] = INCBIN_U8("graphics/battle_anims/sprites/004.gbapal.lz"); +const u8 gBattleAnimSpritePalette_005[] = INCBIN_U8("graphics/battle_anims/sprites/005.gbapal.lz"); +const u8 gBattleAnimSpritePalette_006[] = INCBIN_U8("graphics/battle_anims/sprites/006.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_161[] = INCBIN_U8("graphics/battle_anims/sprites/161.4bpp.lz"); +const u8 gBattleAnimSpritePalette_161[] = INCBIN_U8("graphics/battle_anims/sprites/161.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_007[] = INCBIN_U8("graphics/battle_anims/sprites/007.4bpp.lz"); +const u8 gBattleAnimSpritePalette_007[] = INCBIN_U8("graphics/battle_anims/sprites/007.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_008[] = INCBIN_U8("graphics/battle_anims/sprites/008.4bpp.lz"); +const u8 gBattleAnimSpritePalette_008[] = INCBIN_U8("graphics/battle_anims/sprites/008.gbapal.lz"); + +const u8 gBattleAnimSpritePalette_010[] = INCBIN_U8("graphics/battle_anims/sprites/010.gbapal.lz"); +const u8 gBattleAnimSpriteSheet_010[] = INCBIN_U8("graphics/battle_anims/sprites/010.4bpp.lz"); + +const u8 gBattleAnimSpriteSheet_009[] = INCBIN_U8("graphics/battle_anims/sprites/009.4bpp.lz"); +const u8 gBattleAnimSpritePalette_009[] = INCBIN_U8("graphics/battle_anims/sprites/009.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_011[] = INCBIN_U8("graphics/battle_anims/sprites/011.4bpp.lz"); +const u8 gBattleAnimSpritePalette_011[] = INCBIN_U8("graphics/battle_anims/sprites/011.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_012[] = INCBIN_U8("graphics/battle_anims/sprites/012.4bpp.lz"); +const u8 gBattleAnimSpritePalette_012[] = INCBIN_U8("graphics/battle_anims/sprites/012.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_152[] = INCBIN_U8("graphics/battle_anims/sprites/152.4bpp.lz"); +const u8 gBattleAnimSpritePalette_152[] = INCBIN_U8("graphics/battle_anims/sprites/152.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_013[] = INCBIN_U8("graphics/battle_anims/sprites/013.4bpp.lz"); +const u8 gBattleAnimSpritePalette_013[] = INCBIN_U8("graphics/battle_anims/sprites/013.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_015[] = INCBIN_U8("graphics/battle_anims/sprites/015.4bpp.lz"); +const u8 gBattleAnimSpritePalette_015[] = INCBIN_U8("graphics/battle_anims/sprites/015.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_016[] = INCBIN_U8("graphics/battle_anims/sprites/016.4bpp.lz"); +const u8 gBattleAnimSpritePalette_016[] = INCBIN_U8("graphics/battle_anims/sprites/016.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_017[] = INCBIN_U8("graphics/battle_anims/sprites/017.4bpp.lz"); + +const u8 gUnknownGfx_C035B8[] = INCBIN_U8("graphics/unknown/unknown_C035B8.4bpp.lz"); + +const u8 gBattleAnimSpritePalette_019[] = INCBIN_U8("graphics/battle_anims/sprites/019.gbapal.lz"); +const u8 gBattleAnimSpriteSheet_019[] = INCBIN_U8("graphics/battle_anims/sprites/019.4bpp.lz"); + +const u8 gBattleAnimSpriteSheet_020[] = INCBIN_U8("graphics/battle_anims/sprites/020.4bpp.lz"); +const u8 gBattleAnimSpritePalette_020[] = INCBIN_U8("graphics/battle_anims/sprites/020.gbapal.lz"); + +const u8 gBattleAnimSpritePalette_023[] = INCBIN_U8("graphics/battle_anims/sprites/023.gbapal.lz"); +const u8 gBattleAnimSpriteSheet_023[] = INCBIN_U8("graphics/battle_anims/sprites/023.4bpp.lz"); + +const u8 gUnused_BattleSpritePalette_023[] = INCBIN_U8("graphics/unused/battle_anim_023.gbapal.lz"); + +const u8 gUnusedGfx_MusicNotes[] = INCBIN_U8("graphics/unused/music_notes.4bpp.lz"); + +const u8 gBattleAnimSpritePalette_021[] = INCBIN_U8("graphics/battle_anims/sprites/021.gbapal.lz"); +const u8 gBattleAnimSpriteSheet_021[] = INCBIN_U8("graphics/battle_anims/sprites/021.4bpp.lz"); + +const u8 gBattleAnimSpritePalette_022[] = INCBIN_U8("graphics/battle_anims/sprites/022.gbapal.lz"); + +const u8 gBattleAnimSpritePalette_025[] = INCBIN_U8("graphics/battle_anims/sprites/025.gbapal.lz"); +const u8 gBattleAnimSpriteSheet_025[] = INCBIN_U8("graphics/battle_anims/sprites/025.4bpp.lz"); + +const u8 gBattleAnimSpriteSheet_024[] = INCBIN_U8("graphics/battle_anims/sprites/024.4bpp.lz"); +const u8 gBattleAnimSpritePalette_024[] = INCBIN_U8("graphics/battle_anims/sprites/024.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_031[] = INCBIN_U8("graphics/battle_anims/sprites/031.4bpp.lz"); +const u8 gBattleAnimSpritePalette_031[] = INCBIN_U8("graphics/battle_anims/sprites/031.gbapal.lz"); + +const u8 gBattleAnimSpritePalette_032[] = INCBIN_U8("graphics/battle_anims/sprites/032.gbapal.lz"); +const u8 gBattleAnimSpriteSheet_032[] = INCBIN_U8("graphics/battle_anims/sprites/032.4bpp.lz"); + +const u8 gBattleAnimSpriteSheet_026[] = INCBIN_U8("graphics/battle_anims/sprites/026.4bpp.lz"); +const u8 gBattleAnimSpritePalette_026[] = INCBIN_U8("graphics/battle_anims/sprites/026.gbapal.lz"); + +const u8 gBattleAnimSpritePalette_027[] = INCBIN_U8("graphics/battle_anims/sprites/027.gbapal.lz"); +const u8 gBattleAnimSpriteSheet_027[] = INCBIN_U8("graphics/battle_anims/sprites/027.4bpp.lz"); + +const u8 gBattleAnimSpritePalette_028[] = INCBIN_U8("graphics/battle_anims/sprites/028.gbapal.lz"); +const u8 gBattleAnimSpriteSheet_028[] = INCBIN_U8("graphics/battle_anims/sprites/028.4bpp.lz"); + +const u8 gBattleAnimSpriteSheet_029[] = INCBIN_U8("graphics/battle_anims/sprites/029.4bpp.lz"); +const u8 gBattleAnimSpritePalette_029[] = INCBIN_U8("graphics/battle_anims/sprites/029.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_030[] = INCBIN_U8("graphics/battle_anims/sprites/030.4bpp.lz"); +const u8 gBattleAnimSpritePalette_030[] = INCBIN_U8("graphics/battle_anims/sprites/030.gbapal.lz"); + +const u8 gBattleAnimSpritePalette_033[] = INCBIN_U8("graphics/battle_anims/sprites/033.gbapal.lz"); +const u8 gBattleAnimSpriteSheet_033[] = INCBIN_U8("graphics/battle_anims/sprites/033.4bpp.lz"); + +const u8 gBattleAnimSpriteSheet_034[] = INCBIN_U8("graphics/battle_anims/sprites/034.4bpp.lz"); +const u8 gBattleAnimSpriteSheet_035[] = INCBIN_U8("graphics/battle_anims/sprites/035.4bpp.lz"); + +const u8 gBattleAnimSpritePalette_036[] = INCBIN_U8("graphics/battle_anims/sprites/036.gbapal.lz"); +const u8 gBattleAnimSpriteSheet_036[] = INCBIN_U8("graphics/battle_anims/sprites/036.4bpp.lz"); + +const u8 gBattleAnimSpriteSheet_037[] = INCBIN_U8("graphics/battle_anims/sprites/037.4bpp.lz"); + +const u8 gUnknownGfx_C06D98[] = INCBIN_U8("graphics/unknown/unknown_C06D98.4bpp.lz"); +const u8 gUnknownPal_C06D98[] = INCBIN_U8("graphics/unknown/unknown_C06D98.gbapal.lz"); +const u8 gUnknownPal_C06D98_2[] = INCBIN_U8("graphics/unknown/unknown_C06D98_2.gbapal.lz"); + +// old battle interface data, unused + +const u8 gOldBattleInterfaceGfx[] = INCBIN_U8("graphics/unused/obi1.4bpp.lz"); +const u8 gOldBattleInterfacePal_1_2_3[] = INCBIN_U8("graphics/unused/obi_palpak1.gbapal.lz"); // palettes 1-3 +const u8 gOldBattleInterfacePal4[] = INCBIN_U8("graphics/unused/old_pal4.gbapal.lz"); // 4 is by itself +const u8 gOldBattleInterfacePal_5_6_7[] = INCBIN_U8("graphics/unused/obi_palpak3.gbapal.lz"); // palettes 5-7 +const u8 gOldBattleInterfaceGfx2[] = INCBIN_U8("graphics/unused/obi2.4bpp.lz"); +const u16 gOldBattleInterfaceTilemap[] = INCBIN_U16("graphics/unused/old_battle_interface_tilemap.bin.lz"); + +const u8 gBattleAnimSpritePalette_038[] = INCBIN_U8("graphics/battle_anims/sprites/038.gbapal.lz"); +const u8 gBattleAnimSpritePalette_039[] = INCBIN_U8("graphics/battle_anims/sprites/039.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_038[] = INCBIN_U8("graphics/battle_anims/sprites/038.4bpp.lz"); +const u8 gBattleAnimSpriteSheet_039[] = INCBIN_U8("graphics/battle_anims/sprites/039.4bpp.lz"); +const u8 gBattleAnimSpriteSheet_040[] = INCBIN_U8("graphics/battle_anims/sprites/040.4bpp.lz"); +const u8 gBattleAnimSpriteSheet_041[] = INCBIN_U8("graphics/battle_anims/sprites/041.4bpp.lz"); + +const u8 gPartyMenuHpBar_Gfx[] = INCBIN_U8("graphics/interface/party_menu_hpbar.4bpp.lz"); + +const u8 gBattleAnimSpriteSheet_042[] = INCBIN_U8("graphics/battle_anims/sprites/042.4bpp.lz"); + +const u8 gBattleAnimSpritePalette_042[] = INCBIN_U8("graphics/battle_anims/sprites/042.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_043[] = INCBIN_U8("graphics/battle_anims/sprites/043.4bpp.lz"); +const u8 gBattleAnimSpritePalette_043[] = INCBIN_U8("graphics/battle_anims/sprites/043.gbapal.lz"); + +const u8 gBattleAnimSpritePalette_044[] = INCBIN_U8("graphics/battle_anims/sprites/044.gbapal.lz"); +const u8 gBattleAnimSpriteSheet_044[] = INCBIN_U8("graphics/battle_anims/sprites/044.4bpp.lz"); + +const u8 gBattleAnimSpritePalette_045[] = INCBIN_U8("graphics/battle_anims/sprites/045.gbapal.lz"); +const u8 gBattleAnimSpriteSheet_045[] = INCBIN_U8("graphics/battle_anims/sprites/045.4bpp.lz"); + +// two unused window frames. + +const u8 gUnknown_08C08F0C[] = INCBIN_U8("graphics/battle_interface/unused_window.4bpp.lz"); +const u8 gUnknown_08C093C8[] = INCBIN_U8("graphics/battle_interface/unused_window.gbapal.lz"); + +const u8 gUnknown_08C093F0[] = INCBIN_U8("graphics/interface/hp_numbers.4bpp.lz"); + +const u8 gBattleAnimSpriteSheet_046[] = INCBIN_U8("graphics/battle_anims/sprites/046.4bpp.lz"); +const u8 gBattleAnimSpritePalette_046[] = INCBIN_U8("graphics/battle_anims/sprites/046.gbapal.lz"); + +const u8 gBattleAnimSpritePalette_047[] = INCBIN_U8("graphics/battle_anims/sprites/047.gbapal.lz"); + +const u8 gUnusedGfx_Window2[] = INCBIN_U8("graphics/battle_interface/unused_window2.4bpp.lz"); +const u8 gUnusedGfx_Window2Bar[] = INCBIN_U8("graphics/battle_interface/unused_window2bar.4bpp.lz"); + +const u8 gBattleAnimSpriteSheet_048[] = INCBIN_U8("graphics/battle_anims/sprites/048.4bpp.lz"); +const u8 gBattleAnimSpritePalette_048[] = INCBIN_U8("graphics/battle_anims/sprites/048.gbapal.lz"); + +const u8 gBattleAnimSpritePalette_049[] = INCBIN_U8("graphics/battle_anims/sprites/049.gbapal.lz"); +const u8 gBattleAnimSpritePalette_050[] = INCBIN_U8("graphics/battle_anims/sprites/050.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_050[] = INCBIN_U8("graphics/battle_anims/sprites/050.4bpp.lz"); +const u8 gBattleAnimSpriteSheet_051[] = INCBIN_U8("graphics/battle_anims/sprites/051.4bpp.lz"); +const u8 gBattleAnimSpriteSheet_052[] = INCBIN_U8("graphics/battle_anims/sprites/052.4bpp.lz"); + +const u8 gUnusedGfx_LineSketch[] = INCBIN_U8("graphics/unused/line_sketch.4bpp.lz"); +const u8 gUnusedPal_LineSketch[] = INCBIN_U8("graphics/unused/line_sketch.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_054[] = INCBIN_U8("graphics/battle_anims/sprites/054.4bpp.lz"); +const u8 gBattleAnimSpritePalette_054[] = INCBIN_U8("graphics/battle_anims/sprites/054.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_056[] = INCBIN_U8("graphics/battle_anims/sprites/056.4bpp.lz"); +const u8 gBattleAnimSpritePalette_056[] = INCBIN_U8("graphics/battle_anims/sprites/056.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_055[] = INCBIN_U8("graphics/battle_anims/sprites/055.4bpp.lz"); + +const u8 gBattleAnimSpriteSheet_057[] = INCBIN_U8("graphics/battle_anims/sprites/057.4bpp.lz"); +const u8 gBattleAnimSpritePalette_057[] = INCBIN_U8("graphics/battle_anims/sprites/057.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_058[] = INCBIN_U8("graphics/battle_anims/sprites/058.4bpp.lz"); +const u8 gBattleAnimSpritePalette_058[] = INCBIN_U8("graphics/battle_anims/sprites/058.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_059[] = INCBIN_U8("graphics/battle_anims/sprites/059.4bpp.lz"); +const u8 gBattleAnimSpritePalette_059[] = INCBIN_U8("graphics/battle_anims/sprites/059.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_060[] = INCBIN_U8("graphics/battle_anims/sprites/060.4bpp.lz"); +const u8 gBattleAnimSpritePalette_060[] = INCBIN_U8("graphics/battle_anims/sprites/060.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_061[] = INCBIN_U8("graphics/battle_anims/sprites/061.4bpp.lz"); +const u8 gBattleAnimSpritePalette_061[] = INCBIN_U8("graphics/battle_anims/sprites/061.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_062[] = INCBIN_U8("graphics/battle_anims/sprites/062.4bpp.lz"); +const u8 gBattleAnimSpritePalette_062[] = INCBIN_U8("graphics/battle_anims/sprites/062.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_063[] = INCBIN_U8("graphics/battle_anims/sprites/063.4bpp.lz"); +const u8 gBattleAnimSpritePalette_063[] = INCBIN_U8("graphics/battle_anims/sprites/063.gbapal.lz"); + +const u8 gUnusedGfx_Metronome[] = INCBIN_U8("graphics/unused/metronome_hand_small.4bpp.lz"); // unused, was for metronome at one point + +const u8 gBattleAnimSpritePalette_091[] = INCBIN_U8("graphics/battle_anims/sprites/091.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_065[] = INCBIN_U8("graphics/battle_anims/sprites/065.4bpp.lz"); +const u8 gBattleAnimSpritePalette_065[] = INCBIN_U8("graphics/battle_anims/sprites/065.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_066[] = INCBIN_U8("graphics/battle_anims/sprites/066.4bpp.lz"); +const u8 gBattleAnimSpritePalette_066[] = INCBIN_U8("graphics/battle_anims/sprites/066.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_070[] = INCBIN_U8("graphics/battle_anims/sprites/070.4bpp.lz"); +const u8 gBattleAnimSpritePalette_070[] = INCBIN_U8("graphics/battle_anims/sprites/070.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_071[] = INCBIN_U8("graphics/battle_anims/sprites/071.4bpp.lz"); + +const u8 gBattleAnimSpriteSheet_072[] = INCBIN_U8("graphics/battle_anims/sprites/072.4bpp.lz"); +const u8 gBattleAnimSpritePalette_072[] = INCBIN_U8("graphics/battle_anims/sprites/072.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_073[] = INCBIN_U8("graphics/battle_anims/sprites/073.4bpp.lz"); +const u8 gBattleAnimSpritePalette_073[] = INCBIN_U8("graphics/battle_anims/sprites/073.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_075[] = INCBIN_U8("graphics/battle_anims/sprites/075.4bpp.lz"); +const u8 gBattleAnimSpritePalette_075[] = INCBIN_U8("graphics/battle_anims/sprites/075.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_078[] = INCBIN_U8("graphics/battle_anims/sprites/078.4bpp.lz"); +const u8 gBattleAnimSpritePalette_078[] = INCBIN_U8("graphics/battle_anims/sprites/078.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_079[] = INCBIN_U8("graphics/battle_anims/sprites/079.4bpp.lz"); + +const u8 gBattleAnimSpriteSheet_080[] = INCBIN_U8("graphics/battle_anims/sprites/080.4bpp.lz"); +const u8 gBattleAnimSpritePalette_080[] = INCBIN_U8("graphics/battle_anims/sprites/080.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_081[] = INCBIN_U8("graphics/battle_anims/sprites/081.4bpp.lz"); +const u8 gBattleAnimSpritePalette_081[] = INCBIN_U8("graphics/battle_anims/sprites/081.gbapal.lz"); + +const u16 gUnknown_C0CA1C[] = INCBIN_U16("graphics/unknown/unknown_C0CA1C.bin"); +const u16 gUnknown_C0CA40[] = INCBIN_U16("graphics/unknown/unknown_C0CA40.bin"); +const u16 gUnknown_C0CA64[] = INCBIN_U16("graphics/unknown/unknown_C0CA64.bin"); +const u16 gUnusedGfx8bpp_LineSketch2[] = INCBIN_U16("graphics/unused/line_sketch_2.8bpp.lz"); +const u16 gUnknown_C0CAE0[] = INCBIN_U16("graphics/unknown/unknown_C0CAE0.bin"); +const u16 gUnusedTilemap_LineSketch2[] = INCBIN_U16("graphics/unused/line_sketch_2.bin.lz"); + +const u8 gBattleAnimSpriteSheet_082[] = INCBIN_U8("graphics/battle_anims/sprites/082.4bpp.lz"); +const u8 gBattleAnimSpritePalette_082[] = INCBIN_U8("graphics/battle_anims/sprites/082.gbapal.lz"); + +const u8 gBattleAnimSpritePalette_083[] = INCBIN_U8("graphics/battle_anims/sprites/083.gbapal.lz"); +const u8 gBattleAnimSpritePalette_084[] = INCBIN_U8("graphics/battle_anims/sprites/084.gbapal.lz"); +const u8 gBattleAnimSpritePalette_085[] = INCBIN_U8("graphics/battle_anims/sprites/085.gbapal.lz"); +const u8 gBattleAnimSpritePalette_086[] = INCBIN_U8("graphics/battle_anims/sprites/086.gbapal.lz"); +const u8 gBattleAnimSpritePalette_088[] = INCBIN_U8("graphics/battle_anims/sprites/088.gbapal.lz"); +const u8 gBattleAnimSpritePalette_089[] = INCBIN_U8("graphics/battle_anims/sprites/089.gbapal.lz"); +const u8 gBattleAnimSpritePalette_090[] = INCBIN_U8("graphics/battle_anims/sprites/090.gbapal.lz"); +const u8 gBattleAnimSpritePalette_092[] = INCBIN_U8("graphics/battle_anims/sprites/092.gbapal.lz"); +const u8 gBattleAnimSpritePalette_093[] = INCBIN_U8("graphics/battle_anims/sprites/093.gbapal.lz"); +const u8 gBattleAnimSpritePalette_094[] = INCBIN_U8("graphics/battle_anims/sprites/094.gbapal.lz"); + +const u16 gUnknown_D0D2B4[] = INCBIN_U16("graphics/unknown/unknown_D0D2B4.bin.lz"); + +const u8 gBattleAnimSpritePalette_095[] = INCBIN_U8("graphics/battle_anims/sprites/095.gbapal.lz"); +const u8 gBattleAnimSpritePalette_096[] = INCBIN_U8("graphics/battle_anims/sprites/096.gbapal.lz"); +const u8 gBattleAnimSpritePalette_097[] = INCBIN_U8("graphics/battle_anims/sprites/097.gbapal.lz"); +const u8 gBattleAnimSpritePalette_100[] = INCBIN_U8("graphics/battle_anims/sprites/100.gbapal.lz"); +const u8 gBattleAnimSpritePalette_101[] = INCBIN_U8("graphics/battle_anims/sprites/101.gbapal.lz"); +const u8 gBattleAnimSpritePalette_103[] = INCBIN_U8("graphics/battle_anims/sprites/103.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_083[] = INCBIN_U8("graphics/battle_anims/sprites/083.4bpp.lz"); +const u8 gBattleAnimSpriteSheet_084[] = INCBIN_U8("graphics/battle_anims/sprites/084.4bpp.lz"); +const u8 gBattleAnimSpriteSheet_085[] = INCBIN_U8("graphics/battle_anims/sprites/085.4bpp.lz"); +const u8 gBattleAnimSpriteSheet_086[] = INCBIN_U8("graphics/battle_anims/sprites/086.4bpp.lz"); +const u8 gBattleAnimSpriteSheet_088[] = INCBIN_U8("graphics/battle_anims/sprites/088.4bpp.lz"); +const u8 gBattleAnimSpriteSheet_089[] = INCBIN_U8("graphics/battle_anims/sprites/089.4bpp.lz"); +const u8 gBattleAnimSpriteSheet_090[] = INCBIN_U8("graphics/battle_anims/sprites/090.4bpp.lz"); +const u8 gBattleAnimSpriteSheet_091[] = INCBIN_U8("graphics/battle_anims/sprites/091.4bpp.lz"); +const u8 gBattleAnimSpriteSheet_092[] = INCBIN_U8("graphics/battle_anims/sprites/092.4bpp.lz"); +const u8 gBattleAnimSpriteSheet_093[] = INCBIN_U8("graphics/battle_anims/sprites/093.4bpp.lz"); +const u8 gBattleAnimSpriteSheet_094[] = INCBIN_U8("graphics/battle_anims/sprites/094.4bpp.lz"); +const u8 gBattleAnimSpriteSheet_095[] = INCBIN_U8("graphics/battle_anims/sprites/095.4bpp.lz"); +const u8 gBattleAnimSpriteSheet_096[] = INCBIN_U8("graphics/battle_anims/sprites/096.4bpp.lz"); +const u8 gBattleAnimSpriteSheet_097[] = INCBIN_U8("graphics/battle_anims/sprites/097.4bpp.lz"); +const u8 gBattleAnimSpriteSheet_098[] = INCBIN_U8("graphics/battle_anims/sprites/098.4bpp.lz"); +const u8 gBattleAnimSpriteSheet_100[] = INCBIN_U8("graphics/battle_anims/sprites/100.4bpp.lz"); +const u8 gBattleAnimSpriteSheet_101[] = INCBIN_U8("graphics/battle_anims/sprites/101.4bpp.lz"); +const u8 gBattleAnimSpriteSheet_102[] = INCBIN_U8("graphics/battle_anims/sprites/102.4bpp.lz"); +const u8 gBattleAnimSpriteSheet_103[] = INCBIN_U8("graphics/battle_anims/sprites/103.4bpp.lz"); + +const u8 gBattleAnimSpriteSheet_104[] = INCBIN_U8("graphics/battle_anims/sprites/104.4bpp.lz"); +const u8 gBattleAnimSpritePalette_104[] = INCBIN_U8("graphics/battle_anims/sprites/104.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_105[] = INCBIN_U8("graphics/battle_anims/sprites/105.4bpp.lz"); +const u8 gBattleAnimSpritePalette_105[] = INCBIN_U8("graphics/battle_anims/sprites/105.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_106[] = INCBIN_U8("graphics/battle_anims/sprites/106.4bpp.lz"); + +const u8 gBattleAnimSpriteSheet_107[] = INCBIN_U8("graphics/battle_anims/sprites/107.4bpp.lz"); +const u8 gBattleAnimSpritePalette_107[] = INCBIN_U8("graphics/battle_anims/sprites/107.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_108[] = INCBIN_U8("graphics/battle_anims/sprites/108.4bpp.lz"); + +const u8 gBattleAnimSpriteSheet_109[] = INCBIN_U8("graphics/battle_anims/sprites/109.4bpp.lz"); +const u8 gBattleAnimSpritePalette_109[] = INCBIN_U8("graphics/battle_anims/sprites/109.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_110[] = INCBIN_U8("graphics/battle_anims/sprites/110.4bpp.lz"); + +const u8 gBattleAnimSpriteSheet_111[] = INCBIN_U8("graphics/battle_anims/sprites/111.4bpp.lz"); +const u8 gBattleAnimSpritePalette_111[] = INCBIN_U8("graphics/battle_anims/sprites/111.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_112[] = INCBIN_U8("graphics/battle_anims/sprites/112.4bpp.lz"); +const u8 gBattleAnimSpritePalette_112[] = INCBIN_U8("graphics/battle_anims/sprites/112.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_113[] = INCBIN_U8("graphics/battle_anims/sprites/113.4bpp.lz"); +const u8 gBattleAnimSpritePalette_113[] = INCBIN_U8("graphics/battle_anims/sprites/113.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_114[] = INCBIN_U8("graphics/battle_anims/sprites/114.4bpp.lz"); +const u8 gBattleAnimSpritePalette_114[] = INCBIN_U8("graphics/battle_anims/sprites/114.gbapal.lz"); + +const u16 gUnusedTilemap_BlueFrame[] = INCBIN_U16("graphics/unused/blue_frame.bin.lz"); // P1, P2, P3 and P4 tilemaps? +const u16 gUnusedTilemap_RedYellowGreenFrame[] = INCBIN_U16("graphics/unused/redyellowgreen_frame.bin.lz"); +const u8 gUnusedGfx_ColorFrames[] = INCBIN_U8("graphics/unused/color_frames.4bpp.lz"); +const u16 gUnusedPal_ColorFrames[] = INCBIN_U16("graphics/unused/color_frames.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_115[] = INCBIN_U8("graphics/battle_anims/sprites/115.4bpp.lz"); + +const u16 gUnusedGfx8bpp_WaterSplash [] = INCBIN_U16("graphics/unused/water_splash.8bpp.lz"); +const u16 gUnusedTilemap_WaterSplash[] = INCBIN_U16("graphics/unused/water_splash.bin.lz"); +const u8 gUnusedPalette_WaterSplash[] = INCBIN_U8("graphics/unused/water_splash.gbapal.lz"); + +const u8 gUnusedGfx_BasicFrame[] = INCBIN_U8("graphics/unused/basic_frame.4bpp.lz"); +const u8 gUnusedPal_BasicFrame[] = INCBIN_U8("graphics/unused/basic_frame.gbapal.lz"); +const u16 gUnusedTilemap_BasicFrame[] = INCBIN_U16("graphics/unused/basic_frame.bin.lz"); + +// Battle Interface + +const u16 gBattleInterface_BallStatusBarPal[] = INCBIN_U16("graphics/battle_interface/ball_status_bar.gbapal"); + +const u16 gBattleInterface_BallDisplayPal[] = INCBIN_U16("graphics/battle_interface/ball_display.gbapal"); + +//Originally an array? +const u8 gHealthboxElementsGfxTable[] = INCBIN_U8("graphics/battle_interface/hpbar.4bpp"); +const u8 gHealthboxElementsGfxTable_ExpBar[] = INCBIN_U8("graphics/battle_interface/expbar.4bpp"); +const u8 gHealthboxElementsGfxTable_StatusPsn[] = INCBIN_U8("graphics/battle_interface/status_psn.4bpp"); +const u8 gHealthboxElementsGfxTable_StatusPar[] = INCBIN_U8("graphics/battle_interface/status_par.4bpp"); +const u8 gHealthboxElementsGfxTable_StatusSlp[] = INCBIN_U8("graphics/battle_interface/status_slp.4bpp"); +const u8 gHealthboxElementsGfxTable_StatusFrz[] = INCBIN_U8("graphics/battle_interface/status_frz.4bpp"); +const u8 gHealthboxElementsGfxTable_StatusBrn[] = INCBIN_U8("graphics/battle_interface/status_brn.4bpp"); +const u8 gHealthboxElementsGfxTable_Misc[] = INCBIN_U8("graphics/battle_interface/misc.4bpp"); +const u8 gHealthboxElementsGfxTable_HpBarAnim[] = INCBIN_U8("graphics/battle_interface/hpbar_anim.4bpp"); +const u8 gHealthboxElementsGfxTable_MiscFrameEnd[] = INCBIN_U8("graphics/battle_interface/misc_frameend.4bpp"); + +const u8 gBattleInterface_BallDisplayGfx[] = INCBIN_U8("graphics/battle_interface/ball_display.4bpp"); + +//Originally an array? +const u8 gUnknown_08C1249C[] = INCBIN_U8("graphics/battle_interface/ball_display_unused_extra.4bpp"); +const u8 gBattleInterfaceGfx_Status2[] = INCBIN_U8("graphics/battle_interface/status2.4bpp"); // these three duplicate sets of graphics are for the opponent pokemon +const u8 gBattleInterfaceGfx_Status3[] = INCBIN_U8("graphics/battle_interface/status3.4bpp"); // and are also for use in double battles. they use dynamic palettes so +const u8 gBattleInterfaceGfx_Status4[] = INCBIN_U8("graphics/battle_interface/status4.4bpp"); // coloring them is an extreme headache and wont be done for now +const u8 gUnknown_D12FEC[] = INCBIN_U8("graphics/unknown/unknown_D12FEC.4bpp"); +const u8 gUnknown_D1300C[] = INCBIN_U8("graphics/unknown/unknown_D1300C.4bpp"); +const u8 gBattleInterfaceGfx_UnusedWindow3[] = INCBIN_U8("graphics/battle_interface/unused_window3.4bpp.lz"); +const u8 gBattleInterfaceGfx_UnusedWindow4[] = INCBIN_U8("graphics/battle_interface/unused_window4.4bpp.lz"); + +const u8 gBattleAnimSpriteSheet_116[] = INCBIN_U8("graphics/battle_anims/sprites/116.4bpp.lz"); +const u8 gBattleAnimSpritePalette_116[] = INCBIN_U8("graphics/battle_anims/sprites/116.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_117[] = INCBIN_U8("graphics/battle_anims/sprites/117.4bpp.lz"); +const u8 gBattleAnimSpritePalette_117[] = INCBIN_U8("graphics/battle_anims/sprites/117.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_118[] = INCBIN_U8("graphics/battle_anims/sprites/118.4bpp.lz"); +const u8 gBattleAnimSpritePalette_118[] = INCBIN_U8("graphics/battle_anims/sprites/118.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_119[] = INCBIN_U8("graphics/battle_anims/sprites/119.4bpp.lz"); +const u8 gBattleAnimSpritePalette_119[] = INCBIN_U8("graphics/battle_anims/sprites/119.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_120[] = INCBIN_U8("graphics/battle_anims/sprites/120.4bpp.lz"); +const u8 gBattleAnimSpritePalette_120[] = INCBIN_U8("graphics/battle_anims/sprites/120.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_121[] = INCBIN_U8("graphics/battle_anims/sprites/121.4bpp.lz"); +const u8 gBattleAnimSpritePalette_121[] = INCBIN_U8("graphics/battle_anims/sprites/121.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_122[] = INCBIN_U8("graphics/battle_anims/sprites/122.4bpp.lz"); +const u8 gBattleAnimSpritePalette_122[] = INCBIN_U8("graphics/battle_anims/sprites/122.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_123[] = INCBIN_U8("graphics/battle_anims/sprites/123.4bpp.lz"); + +const u8 gBattleAnimSpriteSheet_124[] = INCBIN_U8("graphics/battle_anims/sprites/124.4bpp.lz"); +const u8 gBattleAnimSpritePalette_124[] = INCBIN_U8("graphics/battle_anims/sprites/124.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_125[] = INCBIN_U8("graphics/battle_anims/sprites/125.4bpp.lz"); +const u8 gBattleAnimSpritePalette_125[] = INCBIN_U8("graphics/battle_anims/sprites/125.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_126[] = INCBIN_U8("graphics/battle_anims/sprites/126.4bpp.lz"); +const u8 gBattleAnimSpritePalette_126[] = INCBIN_U8("graphics/battle_anims/sprites/126.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_127[] = INCBIN_U8("graphics/battle_anims/sprites/127.4bpp.lz"); +const u8 gBattleAnimSpritePalette_127[] = INCBIN_U8("graphics/battle_anims/sprites/127.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_128[] = INCBIN_U8("graphics/battle_anims/sprites/128.4bpp.lz"); +const u8 gBattleAnimSpritePalette_128[] = INCBIN_U8("graphics/battle_anims/sprites/128.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_129[] = INCBIN_U8("graphics/battle_anims/sprites/129.4bpp.lz"); + +const u8 gBattleAnimSpriteSheet_130[] = INCBIN_U8("graphics/battle_anims/sprites/130.4bpp.lz"); +const u8 gBattleAnimSpritePalette_130[] = INCBIN_U8("graphics/battle_anims/sprites/130.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_131[] = INCBIN_U8("graphics/battle_anims/sprites/131.4bpp.lz"); + +const u8 gBattleAnimSpriteSheet_132[] = INCBIN_U8("graphics/battle_anims/sprites/132.4bpp.lz"); +const u8 gBattleAnimSpritePalette_132[] = INCBIN_U8("graphics/battle_anims/sprites/132.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_133[] = INCBIN_U8("graphics/battle_anims/sprites/133.4bpp.lz"); +const u8 gBattleAnimSpritePalette_133[] = INCBIN_U8("graphics/battle_anims/sprites/133.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_134[] = INCBIN_U8("graphics/battle_anims/sprites/134.4bpp.lz"); + +const u8 gBattleAnimSpriteSheet_076[] = INCBIN_U8("graphics/battle_anims/sprites/076.4bpp.lz"); +const u8 gBattleAnimSpritePalette_076[] = INCBIN_U8("graphics/battle_anims/sprites/076.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_077[] = INCBIN_U8("graphics/battle_anims/sprites/077.4bpp.lz"); + +// Contest + +const u8 gUnusedGfx_OldContest[] = INCBIN_U8("graphics/unused/old_contest.4bpp.lz"); +const u8 gUnusedPal_OldContest[] = INCBIN_U8("graphics/unused/old_contest.gbapal.lz"); +const u16 gUnusedTilemap_OldContest[] = INCBIN_U16("graphics/unused/old_contest.bin.lz"); + +const u16 gUnknownTilemap_C15BC0[] = INCBIN_U16("graphics/unknown/unknown_C15BC0.bin.lz"); + +const u8 gUnusedGfx_OldContest2[] = INCBIN_U8("graphics/unused/old_contest_2.4bpp.lz"); +const u8 gUnknown_08C16E90[] = INCBIN_U8("graphics/unused/old_contest_2.gbapal.lz"); +const u16 gUnknown_08C16FA8[] = INCBIN_U16("graphics/unused/old_contest_2.bin.lz"); + +const u16 gUnknown_08C17170[] = INCBIN_U16("graphics/unknown/unknown_C17170.bin.lz"); + +const u16 gUnknown_08C17410[] = INCBIN_U16("graphics/unknown/unknown_C17410.bin.lz"); + +const u16 gUnknown_08C1751C[] = INCBIN_U16("graphics/unknown/unknown_C1751C.bin.lz"); + +const u16 gUnknown_08C17980[] = INCBIN_U16("graphics/unknown/unknown_C17980.bin.lz"); + +const u8 gContestMiscGfx[] = INCBIN_U8("graphics/contest/misc.4bpp.lz"); + +const u8 gContestAudienceGfx[] = INCBIN_U8("graphics/contest/audience.4bpp.lz"); + +const u8 gUnknown_08C19168[] = INCBIN_U8("graphics/contest/faces.4bpp.lz"); + +const u8 gContestJudgeSymbolsGfx[] = INCBIN_U8("graphics/contest/judge_symbols.4bpp.lz"); +const u8 gContest3Pal[] = INCBIN_U8("graphics/contest/judge_symbols.gbapal.lz"); + +const u8 gTiles_8C19450[] = INCBIN_U8("graphics/contest/heart.4bpp"); + +const u8 gUnknownGfx_C19470[] = INCBIN_U8("graphics/unknown/unknown_C19470.4bpp.lz"); +const u8 gUnknownPal_C19470[] = INCBIN_U8("graphics/unknown/unknown_C19470.gbapal.lz"); + +const u8 gUnknown_08C19588[] = INCBIN_U8("graphics/contest/misc_2.4bpp.lz"); + +const u16 gUnknown_08C19EEC[] = INCBIN_U16("graphics/contest/misc_2_tilemap_1.bin.lz"); +const u16 gUnknown_08C1A000[] = INCBIN_U16("graphics/contest/misc_2_tilemap_2.bin.lz"); +const u16 gUnknown_08C1A12C[] = INCBIN_U16("graphics/contest/misc_2_tilemap_3.bin.lz"); + +const u8 gUnknown_08C1A2B4[] = INCBIN_U8("graphics/contest/misc_2.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_135[] = INCBIN_U8("graphics/battle_anims/sprites/135.4bpp.lz"); +const u8 gBattleAnimSpritePalette_135[] = INCBIN_U8("graphics/battle_anims/sprites/135.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_Particles[] = INCBIN_U8("graphics/battle_anims/sprites/particles.4bpp.lz"); + +const u8 gBattleAnimSpriteSheet_136[] = INCBIN_U8("graphics/battle_anims/sprites/136.4bpp.lz"); +const u8 gBattleAnimSpritePalette_136[] = INCBIN_U8("graphics/battle_anims/sprites/136.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_137[] = INCBIN_U8("graphics/battle_anims/sprites/137.4bpp.lz"); + +const u8 gBattleAnimSpriteSheet_139[] = INCBIN_U8("graphics/battle_anims/sprites/139.4bpp.lz"); +const u8 gBattleAnimSpritePalette_139[] = INCBIN_U8("graphics/battle_anims/sprites/139.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_145[] = INCBIN_U8("graphics/battle_anims/sprites/145.4bpp.lz"); + +const u8 gBattleAnimSpriteSheet_138[] = INCBIN_U8("graphics/battle_anims/sprites/138.4bpp.lz"); + +const u8 gBattleAnimSpriteSheet_140[] = INCBIN_U8("graphics/battle_anims/sprites/140.4bpp.lz"); +const u8 gBattleAnimSpritePalette_140[] = INCBIN_U8("graphics/battle_anims/sprites/140.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_141[] = INCBIN_U8("graphics/battle_anims/sprites/141.4bpp.lz"); +const u8 gBattleAnimSpritePalette_141[] = INCBIN_U8("graphics/battle_anims/sprites/141.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_142[] = INCBIN_U8("graphics/battle_anims/sprites/142.4bpp.lz"); + +const u8 gUnusedGfx_OldBeatUp[] = INCBIN_U8("graphics/unused/old_beatup.4bpp.lz"); +const u8 gUnusedPal_OldBeatUp[] = INCBIN_U8("graphics/unused/old_beatup.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_147[] = INCBIN_U8("graphics/battle_anims/sprites/147.4bpp.lz"); +const u8 gBattleAnimSpritePalette_147[] = INCBIN_U8("graphics/battle_anims/sprites/147.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_149[] = INCBIN_U8("graphics/battle_anims/sprites/149.4bpp.lz"); + +const u8 gBattleAnimSpriteSheet_148[] = INCBIN_U8("graphics/battle_anims/sprites/148.4bpp.lz"); +const u8 gBattleAnimSpritePalette_148[] = INCBIN_U8("graphics/battle_anims/sprites/148.gbapal.lz"); + +const u8 gBattleAnimSpritePalette_259[] = INCBIN_U8("graphics/battle_anims/sprites/259.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_074[] = INCBIN_U8("graphics/battle_anims/sprites/074.4bpp.lz"); +const u8 gBattleAnimSpritePalette_074[] = INCBIN_U8("graphics/battle_anims/sprites/074.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_150[] = INCBIN_U8("graphics/battle_anims/sprites/150.4bpp.lz"); +const u8 gBattleAnimSpritePalette_150[] = INCBIN_U8("graphics/battle_anims/sprites/150.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_151[] = INCBIN_U8("graphics/battle_anims/sprites/151.4bpp.lz"); + +const u8 gBattleAnimSpriteSheet_153[] = INCBIN_U8("graphics/battle_anims/sprites/153.4bpp.lz"); +const u8 gBattleAnimSpritePalette_153[] = INCBIN_U8("graphics/battle_anims/sprites/153.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_154[] = INCBIN_U8("graphics/battle_anims/sprites/154.4bpp.lz"); +const u8 gBattleAnimSpritePalette_154[] = INCBIN_U8("graphics/battle_anims/sprites/154.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_155[] = INCBIN_U8("graphics/battle_anims/sprites/155.4bpp.lz"); +const u8 gBattleAnimSpritePalette_155[] = INCBIN_U8("graphics/battle_anims/sprites/155.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_156[] = INCBIN_U8("graphics/battle_anims/sprites/156.4bpp.lz"); +const u8 gBattleAnimSpritePalette_156[] = INCBIN_U8("graphics/battle_anims/sprites/156.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_157[] = INCBIN_U8("graphics/battle_anims/sprites/157.4bpp.lz"); +const u8 gBattleAnimSpritePalette_157[] = INCBIN_U8("graphics/battle_anims/sprites/157.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_158[] = INCBIN_U8("graphics/battle_anims/sprites/158.4bpp.lz"); + +const u8 gBattleAnimSpritePalette_158[] = INCBIN_U8("graphics/battle_anims/sprites/158.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_159[] = INCBIN_U8("graphics/battle_anims/sprites/159.4bpp.lz"); +const u8 gBattleAnimSpritePalette_159[] = INCBIN_U8("graphics/battle_anims/sprites/159.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_160[] = INCBIN_U8("graphics/battle_anims/sprites/160.4bpp.lz"); +const u8 gBattleAnimSpritePalette_160[] = INCBIN_U8("graphics/battle_anims/sprites/160.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_144[] = INCBIN_U8("graphics/battle_anims/sprites/144.4bpp.lz"); +const u8 gBattleAnimSpritePalette_144[] = INCBIN_U8("graphics/battle_anims/sprites/144.gbapal.lz"); + +const u8 gUnknownGfx_D1C060[] = INCBIN_U8("graphics/unknown/unknown_D1C060.4bpp.lz"); +const u8 gUnknownPal_D1C060[] = INCBIN_U8("graphics/unknown/unknown_D1C060.gbapal.lz"); +const u16 gUnknownTilemap_D1C060[] = INCBIN_U16("graphics/unknown/unknown_D1C060.bin.lz"); + +const u8 gBattleAnimSpriteSheet_162[] = INCBIN_U8("graphics/battle_anims/sprites/162.4bpp.lz"); +const u8 gBattleAnimSpritePalette_162[] = INCBIN_U8("graphics/battle_anims/sprites/162.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_163[] = INCBIN_U8("graphics/battle_anims/sprites/163.4bpp.lz"); +const u8 gBattleAnimSpritePalette_163[] = INCBIN_U8("graphics/battle_anims/sprites/163.gbapal.lz"); + +const u8 gBattleAnimSpritePalette_288[] = INCBIN_U8("graphics/battle_anims/sprites/288.gbapal.lz"); +const u8 gBattleAnimSpritePalette_164[] = INCBIN_U8("graphics/battle_anims/sprites/164.gbapal.lz"); +const u8 gBattleAnimSpritePalette_165[] = INCBIN_U8("graphics/battle_anims/sprites/165.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_166[] = INCBIN_U8("graphics/battle_anims/sprites/166.4bpp.lz"); +const u8 gBattleAnimSpritePalette_166[] = INCBIN_U8("graphics/battle_anims/sprites/166.gbapal.lz"); + +const u8 gBattleAnimSpritePalette_167[] = INCBIN_U8("graphics/battle_anims/sprites/167.gbapal.lz"); +const u8 gBattleAnimSpritePalette_168[] = INCBIN_U8("graphics/battle_anims/sprites/168.gbapal.lz"); +const u8 gBattleAnimSpritePalette_169[] = INCBIN_U8("graphics/battle_anims/sprites/169.gbapal.lz"); +const u8 gBattleAnimSpritePalette_170[] = INCBIN_U8("graphics/battle_anims/sprites/170.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_171[] = INCBIN_U8("graphics/battle_anims/sprites/171.4bpp.lz"); +const u8 gBattleAnimSpritePalette_171[] = INCBIN_U8("graphics/battle_anims/sprites/171.gbapal.lz"); + +const u8 gBattleAnimSpritePalette_172[] = INCBIN_U8("graphics/battle_anims/sprites/172.gbapal.lz"); + +const u8 gContestJudgeGfx[] = INCBIN_U8("graphics/contest/judge.4bpp.lz"); +const u8 gContest2Pal[] = INCBIN_U8("graphics/contest/judge.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_001[] = INCBIN_U8("graphics/battle_anims/sprites/001.4bpp.lz"); +const u8 gBattleAnimSpritePalette_001[] = INCBIN_U8("graphics/battle_anims/sprites/001.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_173[] = INCBIN_U8("graphics/battle_anims/sprites/173.4bpp.lz"); + +const u8 gBattleAnimBackgroundImage_00[] = INCBIN_U8("graphics/battle_anims/backgrounds/00.4bpp.lz"); +const u8 gBattleAnimBackgroundPalette_00[] = INCBIN_U8("graphics/battle_anims/backgrounds/00.gbapal.lz"); +const u16 gBattleAnimBackgroundTilemap_00[] = INCBIN_U16("graphics/battle_anims/backgrounds/00.bin.lz"); + +const u8 gUnknown_08C1D0AC[] = INCBIN_U8("graphics/battle_anims/masks/metal_shine.4bpp.lz"); +const u8 gUnknown_08C1D1E8[] = INCBIN_U8("graphics/battle_anims/masks/metal_shine.gbapal.lz"); +const u16 gUnknown_08C1D210[] = INCBIN_U16("graphics/battle_anims/masks/metal_shine.bin.lz"); + +const u8 gUnusedGfx_Goosuto[] = INCBIN_U8("graphics/unused/goosuto.4bpp.lz"); // ghost +const u8 gUnusedPal_Goosuto[] = INCBIN_U8("graphics/unused/goosuto.gbapal.lz"); +const u16 gUnusedTilemap_Goosuto[] = INCBIN_U16("graphics/unused/goosuto.bin.lz"); + +const u8 gBattleAnimSpriteSheet_174[] = INCBIN_U8("graphics/battle_anims/sprites/174.4bpp.lz"); +const u8 gBattleAnimSpritePalette_174[] = INCBIN_U8("graphics/battle_anims/sprites/174.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_175[] = INCBIN_U8("graphics/battle_anims/sprites/175.4bpp.lz"); +const u8 gBattleAnimSpritePalette_175[] = INCBIN_U8("graphics/battle_anims/sprites/175.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_176[] = INCBIN_U8("graphics/battle_anims/sprites/176.4bpp.lz"); +const u8 gBattleAnimSpritePalette_176[] = INCBIN_U8("graphics/battle_anims/sprites/176.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_177[] = INCBIN_U8("graphics/battle_anims/sprites/177.4bpp.lz"); +const u8 gBattleAnimSpritePalette_177[] = INCBIN_U8("graphics/battle_anims/sprites/177.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_178[] = INCBIN_U8("graphics/battle_anims/sprites/178.4bpp.lz"); +const u8 gBattleAnimSpritePalette_178[] = INCBIN_U8("graphics/battle_anims/sprites/178.gbapal.lz"); + +const u8 gBattleAnimSpritePalette_179[] = INCBIN_U8("graphics/battle_anims/sprites/179.gbapal.lz"); +const u8 gBattleAnimSpriteSheet_179[] = INCBIN_U8("graphics/battle_anims/sprites/179.4bpp.lz"); + +const u8 gBattleAnimSpriteSheet_180[] = INCBIN_U8("graphics/battle_anims/sprites/180.4bpp.lz"); +const u8 gBattleAnimSpriteSheet_181[] = INCBIN_U8("graphics/battle_anims/sprites/181.4bpp.lz"); + +const u8 gBattleAnimSpriteSheet_182[] = INCBIN_U8("graphics/battle_anims/sprites/182.4bpp.lz"); +const u8 gBattleAnimSpritePalette_182[] = INCBIN_U8("graphics/battle_anims/sprites/182.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_183[] = INCBIN_U8("graphics/battle_anims/sprites/183.4bpp.lz"); +const u8 gBattleAnimSpritePalette_183[] = INCBIN_U8("graphics/battle_anims/sprites/183.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_184[] = INCBIN_U8("graphics/battle_anims/sprites/184.4bpp.lz"); +const u8 gBattleAnimSpritePalette_184[] = INCBIN_U8("graphics/battle_anims/sprites/184.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_185[] = INCBIN_U8("graphics/battle_anims/sprites/185.4bpp.lz"); +const u8 gBattleAnimSpritePalette_185[] = INCBIN_U8("graphics/battle_anims/sprites/185.gbapal.lz"); + +const u8 gBattleAnimBackgroundImage_03[] = INCBIN_U8("graphics/battle_anims/backgrounds/03.4bpp.lz"); +const u8 gBattleAnimBackgroundPalette_03[] = INCBIN_U8("graphics/battle_anims/backgrounds/03.gbapal.lz"); +const u16 gBattleAnimBackgroundTilemap_03[] = INCBIN_U16("graphics/battle_anims/backgrounds/03.bin.lz"); + +const u8 gBattleAnimSpriteSheet_187[] = INCBIN_U8("graphics/battle_anims/sprites/187.4bpp.lz"); +const u8 gBattleAnimSpritePalette_187[] = INCBIN_U8("graphics/battle_anims/sprites/187.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_186[] = INCBIN_U8("graphics/battle_anims/sprites/186.4bpp.lz"); +const u8 gBattleAnimSpritePalette_186[] = INCBIN_U8("graphics/battle_anims/sprites/186.gbapal.lz"); + +const u8 gUnknown_08C1F1C8[] = INCBIN_U8("graphics/battle_interface/window.4bpp.lz"); +const u8 gUnknown_08C1F46C[] = INCBIN_U8("graphics/battle_interface/window2.4bpp.lz"); +const u8 gUnknown_08C1F5E8[] = INCBIN_U8( "graphics/battle_interface/window3.4bpp.lz"); +const u8 gUnknown_08C1F76C[] = INCBIN_U8("graphics/battle_interface/window4.4bpp.lz"); +const u8 gUnknown_08C1F8E8[] = INCBIN_U8("graphics/battle_interface/window5.4bpp.lz"); + +const u8 gUnusedGfx_Shadow[] = INCBIN_U8("graphics/unused/shadow.4bpp.lz"); +const u8 gUnusedPal_Shadow[] = INCBIN_U8("graphics/unused/shadow.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_014[] = INCBIN_U8("graphics/battle_anims/sprites/014.4bpp.lz"); +const u8 gBattleAnimSpritePalette_014[] = INCBIN_U8("graphics/battle_anims/sprites/014.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_190[] = INCBIN_U8("graphics/battle_anims/sprites/190.4bpp.lz"); +const u8 gBattleAnimSpritePalette_190[] = INCBIN_U8("graphics/battle_anims/sprites/190.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_191[] = INCBIN_U8("graphics/battle_anims/sprites/191.4bpp.lz"); +const u8 gBattleAnimSpritePalette_191[] = INCBIN_U8("graphics/battle_anims/sprites/191.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_189[] = INCBIN_U8("graphics/battle_anims/sprites/189.4bpp.lz"); +const u8 gBattleAnimSpritePalette_189[] = INCBIN_U8("graphics/battle_anims/sprites/189.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_192[] = INCBIN_U8("graphics/battle_anims/sprites/192.4bpp.lz"); +const u8 gBattleAnimSpritePalette_192[] = INCBIN_U8("graphics/battle_anims/sprites/192.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_193[] = INCBIN_U8("graphics/battle_anims/sprites/193.4bpp.lz"); +const u8 gBattleAnimSpritePalette_193[] = INCBIN_U8("graphics/battle_anims/sprites/193.gbapal.lz"); + +const u8 gUnknown_08C20668[] = INCBIN_U8("graphics/battle_anims/masks/curse.4bpp.lz"); +const u16 gUnknown_08C20684[] = INCBIN_U16("graphics/battle_anims/masks/curse.bin.lz"); + +const u8 gBattleAnimSpriteSheet_002[] = INCBIN_U8("graphics/battle_anims/sprites/002.4bpp.lz"); +const u8 gBattleAnimSpritePalette_002[] = INCBIN_U8("graphics/battle_anims/sprites/002.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_196[] = INCBIN_U8("graphics/battle_anims/sprites/196.4bpp.lz"); +const u8 gBattleAnimSpritePalette_196[] = INCBIN_U8("graphics/battle_anims/sprites/196.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_194[] = INCBIN_U8("graphics/battle_anims/sprites/194.4bpp.lz"); +const u8 gBattleAnimSpritePalette_194[] = INCBIN_U8("graphics/battle_anims/sprites/194.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_195[] = INCBIN_U8("graphics/battle_anims/sprites/195.4bpp.lz"); +const u8 gBattleAnimSpritePalette_195[] = INCBIN_U8("graphics/battle_anims/sprites/195.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_197[] = INCBIN_U8("graphics/battle_anims/sprites/197.4bpp.lz"); +const u8 gBattleAnimSpritePalette_197[] = INCBIN_U8("graphics/battle_anims/sprites/197.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_198[] = INCBIN_U8("graphics/battle_anims/sprites/198.4bpp.lz"); +const u8 gBattleAnimSpritePalette_198[] = INCBIN_U8("graphics/battle_anims/sprites/198.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_199[] = INCBIN_U8("graphics/battle_anims/sprites/199.4bpp.lz"); +const u8 gBattleAnimSpritePalette_199[] = INCBIN_U8("graphics/battle_anims/sprites/199.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_200[] = INCBIN_U8("graphics/battle_anims/sprites/200.4bpp.lz"); +const u8 gBattleAnimSpritePalette_200[] = INCBIN_U8("graphics/battle_anims/sprites/200.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_201[] = INCBIN_U8("graphics/battle_anims/sprites/201.4bpp.lz"); +const u8 gBattleAnimSpritePalette_201[] = INCBIN_U8("graphics/battle_anims/sprites/201.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_204[] = INCBIN_U8("graphics/battle_anims/sprites/204.4bpp.lz"); +const u8 gBattleAnimSpritePalette_204[] = INCBIN_U8("graphics/battle_anims/sprites/204.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_202[] = INCBIN_U8("graphics/battle_anims/sprites/202.4bpp.lz"); +const u8 gBattleAnimSpritePalette_202[] = INCBIN_U8("graphics/battle_anims/sprites/202.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_203[] = INCBIN_U8("graphics/battle_anims/sprites/203.4bpp.lz"); +const u8 gBattleAnimSpritePalette_203[] = INCBIN_U8("graphics/battle_anims/sprites/203.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_206[] = INCBIN_U8("graphics/battle_anims/sprites/206.4bpp.lz"); +const u8 gBattleAnimSpritePalette_206[] = INCBIN_U8("graphics/battle_anims/sprites/206.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_205[] = INCBIN_U8("graphics/battle_anims/sprites/205.4bpp.lz"); +const u8 gBattleAnimSpritePalette_205[] = INCBIN_U8("graphics/battle_anims/sprites/205.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_207[] = INCBIN_U8("graphics/battle_anims/sprites/207.4bpp.lz"); +const u8 gBattleAnimSpritePalette_207[] = INCBIN_U8("graphics/battle_anims/sprites/207.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_208[] = INCBIN_U8("graphics/battle_anims/sprites/208.4bpp.lz"); + +const u8 gBattleAnimSpriteSheet_209[] = INCBIN_U8("graphics/battle_anims/sprites/209.4bpp.lz"); +const u8 gBattleAnimSpritePalette_209[] = INCBIN_U8("graphics/battle_anims/sprites/209.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_064[] = INCBIN_U8("graphics/battle_anims/sprites/064.4bpp.lz"); +const u8 gBattleAnimSpritePalette_064[] = INCBIN_U8("graphics/battle_anims/sprites/064.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_210[] = INCBIN_U8("graphics/battle_anims/sprites/210.4bpp.lz"); + +const u8 gBattleAnimSpritePalette_219[] = INCBIN_U8("graphics/battle_anims/sprites/219.gbapal.lz"); +const u8 gBattleAnimSpritePalette_210[] = INCBIN_U8("graphics/battle_anims/sprites/210.gbapal.lz"); +const u8 gBattleAnimSpritePalette_216[] = INCBIN_U8("graphics/battle_anims/sprites/216.gbapal.lz"); + +const u8 gUnknown_08C232E0[] = INCBIN_U8("graphics/battle_anims/backgrounds/attract.4bpp.lz"); +const u8 gUnknown_08C23D50[] = INCBIN_U8("graphics/battle_anims/backgrounds/attract.gbapal.lz"); +const u16 gUnknown_08C23D78[] = INCBIN_U16("graphics/battle_anims/backgrounds/attract.bin.lz"); + +const u8 gBattleAnimSpriteSheet_217[] = INCBIN_U8("graphics/battle_anims/sprites/217.4bpp.lz"); +const u8 gBattleAnimSpritePalette_217[] = INCBIN_U8("graphics/battle_anims/sprites/217.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_212[] = INCBIN_U8("graphics/battle_anims/sprites/212.4bpp.lz"); +const u8 gBattleAnimSpriteSheet_211[] = INCBIN_U8("graphics/battle_anims/sprites/211.4bpp.lz"); +const u8 gBattleAnimSpriteSheet_213[] = INCBIN_U8("graphics/battle_anims/sprites/213.4bpp.lz"); + +const u8 gBattleAnimSpritePalette_211[] = INCBIN_U8("graphics/battle_anims/sprites/211.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_214[] = INCBIN_U8("graphics/battle_anims/sprites/214.4bpp.lz"); + +const u8 gBattleAnimSpriteSheet_215[] = INCBIN_U8("graphics/battle_anims/sprites/215.4bpp.lz"); +const u8 gBattleAnimSpritePalette_215[] = INCBIN_U8("graphics/battle_anims/sprites/215.gbapal.lz"); + +const u8 gUnknown_08C249D0[] = INCBIN_U8("graphics/battle_anims/backgrounds/scary_face.gbapal.lz"); +const u8 gUnknown_08C249F8[] = INCBIN_U8("graphics/battle_anims/backgrounds/scary_face.4bpp.lz"); + +const u8 gBattleAnimSpritePalette_218[] = INCBIN_U8("graphics/battle_anims/sprites/218.gbapal.lz"); +const u8 gBattleAnimSpriteSheet_218[] = INCBIN_U8("graphics/battle_anims/sprites/218.4bpp.lz"); + +const u8 gBattleAnimSpriteSheet_087[] = INCBIN_U8("graphics/battle_anims/sprites/087.4bpp.lz"); +const u8 gBattleAnimSpritePalette_087[] = INCBIN_U8("graphics/battle_anims/sprites/087.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_018[] = INCBIN_U8("graphics/battle_anims/sprites/018.4bpp.lz"); +const u8 gBattleAnimSpritePalette_018[] = INCBIN_U8("graphics/battle_anims/sprites/018.gbapal.lz"); + +const u8 gBattleAnimSpritePalette_220[] = INCBIN_U8("graphics/battle_anims/sprites/220.gbapal.lz"); +const u8 gBattleAnimSpriteSheet_220[] = INCBIN_U8("graphics/battle_anims/sprites/220.4bpp.lz"); + +const u8 gBattleAnimSpritePalette_221[] = INCBIN_U8("graphics/battle_anims/sprites/221.gbapal.lz"); +const u8 gBattleAnimSpriteSheet_221[] = INCBIN_U8("graphics/battle_anims/sprites/221.4bpp.lz"); + +const u8 gBattleAnimSpriteSheet_222[] = INCBIN_U8("graphics/battle_anims/sprites/222.4bpp.lz"); +const u8 gBattleAnimSpritePalette_222[] = INCBIN_U8("graphics/battle_anims/sprites/222.gbapal.lz"); + +const u8 gBattleAnimSpritePalette_223[] = INCBIN_U8("graphics/battle_anims/sprites/223.gbapal.lz"); +const u8 gBattleAnimSpriteSheet_223[] = INCBIN_U8("graphics/battle_anims/sprites/223.4bpp.lz"); + +const u8 gBattleAnimSpritePalette_224[] = INCBIN_U8("graphics/battle_anims/sprites/224.gbapal.lz"); +const u8 gBattleAnimSpriteSheet_224[] = INCBIN_U8("graphics/battle_anims/sprites/224.4bpp.lz"); + +const u8 gBattleAnimSpritePalette_230[] = INCBIN_U8("graphics/battle_anims/sprites/230.gbapal.lz"); +const u8 gBattleAnimSpriteSheet_230[] = INCBIN_U8("graphics/battle_anims/sprites/230.4bpp.lz"); + +const u8 gBattleAnimSpritePalette_228[] = INCBIN_U8("graphics/battle_anims/sprites/228.gbapal.lz"); +const u8 gBattleAnimSpriteSheet_228[] = INCBIN_U8("graphics/battle_anims/sprites/228.4bpp.lz"); + +const u8 gBattleAnimBackgroundPalette_04[] = INCBIN_U8("graphics/battle_anims/backgrounds/04.gbapal.lz"); +const u8 gBattleAnimBackgroundImage_04[] = INCBIN_U8("graphics/battle_anims/backgrounds/04.4bpp.lz"); +const u16 gBattleAnimBackgroundTilemap_04[] = INCBIN_U16("graphics/battle_anims/backgrounds/04.bin.lz"); + +const u16 gBattleAnimBackgroundTilemap_05[] = INCBIN_U16("graphics/battle_anims/backgrounds/05.bin.lz"); +const u16 gBattleAnimBackgroundTilemap_06[] = INCBIN_U16("graphics/battle_anims/backgrounds/06.bin.lz"); + +const u8 gBattleAnimSpriteSheet_225[] = INCBIN_U8("graphics/battle_anims/sprites/225.4bpp.lz"); +const u8 gBattleAnimSpritePalette_225[] = INCBIN_U8("graphics/battle_anims/sprites/225.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_227[] = INCBIN_U8("graphics/battle_anims/sprites/227.4bpp.lz"); + +const u8 gBattleAnimSpriteSheet_226[] = INCBIN_U8("graphics/battle_anims/sprites/226.4bpp.lz"); +const u8 gBattleAnimSpritePalette_226[] = INCBIN_U8("graphics/battle_anims/sprites/226.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_229[] = INCBIN_U8("graphics/battle_anims/sprites/229.4bpp.lz"); +const u8 gBattleAnimSpritePalette_229[] = INCBIN_U8("graphics/battle_anims/sprites/229.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_099[] = INCBIN_U8("graphics/battle_anims/sprites/099.4bpp.lz"); +const u8 gBattleAnimSpritePalette_099[] = INCBIN_U8("graphics/battle_anims/sprites/099.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_232[] = INCBIN_U8("graphics/battle_anims/sprites/232.4bpp.lz"); + +const u8 gBattleAnimSpritePalette_231[] = INCBIN_U8("graphics/battle_anims/sprites/231.gbapal.lz"); +const u8 gBattleAnimSpriteSheet_231[] = INCBIN_U8("graphics/battle_anims/sprites/231.4bpp.lz"); + +const u8 gBattleAnimSpriteSheet_233[] = INCBIN_U8("graphics/battle_anims/sprites/233.4bpp.lz"); +const u8 gBattleAnimSpritePalette_233[] = INCBIN_U8("graphics/battle_anims/sprites/233.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_234[] = INCBIN_U8("graphics/battle_anims/sprites/234.4bpp.lz"); +const u8 gBattleAnimSpritePalette_234[] = INCBIN_U8("graphics/battle_anims/sprites/234.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_238[] = INCBIN_U8("graphics/battle_anims/sprites/238.4bpp.lz"); +const u8 gBattleAnimSpritePalette_238[] = INCBIN_U8("graphics/battle_anims/sprites/238.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_235[] = INCBIN_U8("graphics/battle_anims/sprites/235.4bpp.lz"); +const u8 gBattleAnimSpritePalette_235[] = INCBIN_U8("graphics/battle_anims/sprites/235.gbapal.lz"); + +const u8 gBattleAnimSpritePalette_236[] = INCBIN_U8("graphics/battle_anims/sprites/236.gbapal.lz"); +const u8 gBattleAnimSpritePalette_237[] = INCBIN_U8("graphics/battle_anims/sprites/237.gbapal.lz"); + +const u8 gBattleAnimBackgroundImage_07[] = INCBIN_U8("graphics/battle_anims/backgrounds/07.4bpp.lz"); +const u8 gBattleAnimBackgroundPalette_07[] = INCBIN_U8("graphics/battle_anims/backgrounds/07.gbapal.lz"); + +const u8 gBattleAnimBackgroundPalette_18[] = INCBIN_U8("graphics/battle_anims/backgrounds/18.gbapal.lz"); + +const u16 gBattleAnimBackgroundTilemap_07[] = INCBIN_U16("graphics/battle_anims/backgrounds/07.bin.lz"); +const u16 gBattleAnimBackgroundTilemap_08[] = INCBIN_U16("graphics/battle_anims/backgrounds/08.bin.lz"); + +const u8 gBattleAnimBackgroundImage_20[] = INCBIN_U8("graphics/battle_anims/backgrounds/20.4bpp.lz"); +const u8 gBattleAnimBackgroundPalette_20[] = INCBIN_U8("graphics/battle_anims/backgrounds/20.gbapal.lz"); +const u16 gBattleAnimBackgroundTilemap_20[] = INCBIN_U16("graphics/battle_anims/backgrounds/20.bin.lz"); + +const u16 gBattleAnimBackgroundTilemap_09[] = INCBIN_U16("graphics/battle_anims/backgrounds/09.bin.lz"); +const u8 gBattleAnimBackgroundPalette_09[] = INCBIN_U8("graphics/battle_anims/backgrounds/09.gbapal.lz"); + +const u8 gBattleAnimBackgroundPalette_22[] = INCBIN_U8("graphics/battle_anims/backgrounds/22.gbapal.lz"); + +const u8 gBattleAnimBackgroundImage_09[] = INCBIN_U8("graphics/battle_anims/backgrounds/09.4bpp.lz"); +const u16 gBattleAnimBackgroundTilemap_10[] = INCBIN_U16("graphics/battle_anims/backgrounds/10.bin.lz"); + +const u8 gUnknown_08C2A634[] = INCBIN_U8("graphics/battle_anims/masks/morning_sun.4bpp.lz"); +const u8 gUnknown_08C2A6D4[] = INCBIN_U8("graphics/battle_anims/masks/morning_sun.gbapal.lz"); +const u16 gUnknown_08C2A6EC[] = INCBIN_U16("graphics/battle_anims/masks/morning_sun.bin.lz"); + +const u16 gBattleAnimBackgroundTilemap_12[] = INCBIN_U16("graphics/battle_anims/backgrounds/12.bin.lz"); +const u16 gBattleAnimBackgroundTilemap_13[] = INCBIN_U16("graphics/battle_anims/backgrounds/13.bin.lz"); +const u16 gBattleAnimBackgroundTilemap_14[] = INCBIN_U16("graphics/battle_anims/backgrounds/14.bin.lz"); + +const u8 gBattleAnimBackgroundImage_12[] = INCBIN_U8("graphics/battle_anims/backgrounds/12.4bpp.lz"); +const u8 gBattleAnimBackgroundPalette_12[] = INCBIN_U8("graphics/battle_anims/backgrounds/12.gbapal.lz"); + +const u8 gBattleAnimBackgroundImage_11[] = INCBIN_U8("graphics/battle_anims/backgrounds/11.4bpp.lz"); +const u8 gBattleAnimBackgroundPalette_11[] = INCBIN_U8("graphics/battle_anims/backgrounds/11.gbapal.lz"); +const u16 gBattleAnimBackgroundTilemap_11[] = INCBIN_U16("graphics/battle_anims/backgrounds/11.bin.lz"); + +const u8 gBattleAnimSpriteSheet_239[] = INCBIN_U8("graphics/battle_anims/sprites/239.4bpp.lz"); +const u8 gBattleAnimSpritePalette_239[] = INCBIN_U8("graphics/battle_anims/sprites/239.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_143[] = INCBIN_U8("graphics/battle_anims/sprites/143.4bpp.lz"); +const u8 gBattleAnimSpritePalette_143[] = INCBIN_U8("graphics/battle_anims/sprites/143.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_240[] = INCBIN_U8("graphics/battle_anims/sprites/240.4bpp.lz"); +const u8 gBattleAnimSpritePalette_240[] = INCBIN_U8("graphics/battle_anims/sprites/240.gbapal.lz"); + +const u8 gSubstituteDollPal[] = INCBIN_U8("graphics/battle_anims/sprites/substitute.gbapal.lz"); +const u8 gSubstituteDollGfx[] = INCBIN_U8("graphics/battle_anims/sprites/substitute.4bpp.lz"); +const u16 gSubstituteDollTilemap[] = INCBIN_U16("graphics/battle_anims/sprites/substitute.bin.lz"); + +const u8 gBattleAnimSpriteSheet_241[] = INCBIN_U8("graphics/battle_anims/sprites/241.4bpp.lz"); +const u8 gBattleAnimSpritePalette_241[] = INCBIN_U8("graphics/battle_anims/sprites/241.gbapal.lz"); + +const u8 gContestConfetti_Gfx[] = INCBIN_U8("graphics/misc/confetti.4bpp.lz"); +const u8 gContestConfetti_Pal[] = INCBIN_U8("graphics/misc/confetti.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_242[] = INCBIN_U8("graphics/battle_anims/sprites/242.4bpp.lz"); +const u8 gBattleAnimSpritePalette_242[] = INCBIN_U8("graphics/battle_anims/sprites/242.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_243[] = INCBIN_U8("graphics/battle_anims/sprites/243.4bpp.lz"); +const u8 gBattleAnimSpritePalette_243[] = INCBIN_U8("graphics/battle_anims/sprites/243.gbapal.lz"); + +const u8 gUnknown_08C2D720[] = INCBIN_U8("graphics/battle_anims/masks/stat.4bpp.lz"); +const u16 gUnknown_08C2D930[] = INCBIN_U16("graphics/battle_anims/masks/stat_tilemap_1.bin.lz"); +const u16 gUnknown_08C2DA4C[] = INCBIN_U16("graphics/battle_anims/masks/stat_tilemap_2.bin.lz"); + +const u8 gUnknown_08C2DB68[] = INCBIN_U8("graphics/battle_anims/masks/stat1.gbapal.lz"); +const u8 gUnknown_08C2DB88[] = INCBIN_U8("graphics/battle_anims/masks/stat2.gbapal.lz"); +const u8 gUnknown_08C2DBA8[] = INCBIN_U8("graphics/battle_anims/masks/stat3.gbapal.lz"); +const u8 gUnknown_08C2DBC8[] = INCBIN_U8("graphics/battle_anims/masks/stat4.gbapal.lz"); +const u8 gUnknown_08C2DBE8[] = INCBIN_U8("graphics/battle_anims/masks/stat5.gbapal.lz"); +const u8 gUnknown_08C2DC08[] = INCBIN_U8("graphics/battle_anims/masks/stat6.gbapal.lz"); +const u8 gUnknown_08C2DC28[] = INCBIN_U8("graphics/battle_anims/masks/stat7.gbapal.lz"); +const u8 gUnknown_08C2DC48[] = INCBIN_U8("graphics/battle_anims/masks/stat8.gbapal.lz"); + +const u8 gUnknown_08C2DC68[] = INCBIN_U8("graphics/battle_anims/masks/cure_bubbles.4bpp.lz"); +const u8 gUnknown_08C2DDA4[] = INCBIN_U8("graphics/battle_anims/masks/cure_bubbles.gbapal.lz"); +const u16 gUnknown_08C2DDC4[] = INCBIN_U16("graphics/battle_anims/masks/cure_bubbles.bin.lz"); + +const u8 gBattleAnimSpritePalette_245[] = INCBIN_U8("graphics/battle_anims/sprites/245.gbapal.lz"); +const u8 gBattleAnimSpriteSheet_245[] = INCBIN_U8("graphics/battle_anims/sprites/245.4bpp.lz"); + +const u8 gBattleAnimSpriteSheet_246[] = INCBIN_U8("graphics/battle_anims/sprites/246.4bpp.lz"); + +const u8 gBattleAnimSpriteSheet_244[] = INCBIN_U8("graphics/battle_anims/sprites/244.4bpp.lz"); +const u8 gBattleAnimSpritePalette_244[] = INCBIN_U8("graphics/battle_anims/sprites/244.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_247[] = INCBIN_U8("graphics/battle_anims/sprites/247.4bpp.lz"); + +const u8 gBattleAnimSpriteSheet_053[] = INCBIN_U8("graphics/battle_anims/sprites/053.4bpp.lz"); + +const u8 gUnknown_08C2EA50[] = INCBIN_U8("graphics/battle_anims/masks/unknown_C2EA50.4bpp.lz"); +const u16 gUnknown_08C2EA9C[] = INCBIN_U16("graphics/battle_anims/masks/unknown_C2EA50.bin.lz"); + +const u8 gBattleAnimSpriteSheet_248[] = INCBIN_U8("graphics/battle_anims/sprites/248.4bpp.lz"); +const u8 gBattleAnimSpritePalette_248[] = INCBIN_U8("graphics/battle_anims/sprites/248.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_249[] = INCBIN_U8("graphics/battle_anims/sprites/249.4bpp.lz"); +const u8 gBattleAnimSpritePalette_249[] = INCBIN_U8("graphics/battle_anims/sprites/249.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_250[] = INCBIN_U8("graphics/battle_anims/sprites/250.4bpp.lz"); + +const u8 gBattleAnimSpriteSheet_251[] = INCBIN_U8("graphics/battle_anims/sprites/251.4bpp.lz"); +const u8 gBattleAnimSpritePalette_251[] = INCBIN_U8("graphics/battle_anims/sprites/251.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_252[] = INCBIN_U8("graphics/battle_anims/sprites/252.4bpp.lz"); +const u8 gBattleAnimSpritePalette_252[] = INCBIN_U8("graphics/battle_anims/sprites/252.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_253[] = INCBIN_U8("graphics/battle_anims/sprites/253.4bpp.lz"); +const u8 gBattleAnimSpritePalette_253[] = INCBIN_U8("graphics/battle_anims/sprites/253.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_254[] = INCBIN_U8("graphics/battle_anims/sprites/254.4bpp.lz"); +const u8 gBattleAnimSpritePalette_254[] = INCBIN_U8("graphics/battle_anims/sprites/254.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_255[] = INCBIN_U8("graphics/battle_anims/sprites/255.4bpp.lz"); +const u8 gBattleAnimSpritePalette_255[] = INCBIN_U8("graphics/battle_anims/sprites/255.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_258[] = INCBIN_U8("graphics/battle_anims/sprites/258.4bpp.lz"); +const u8 gBattleAnimSpritePalette_258[] = INCBIN_U8("graphics/battle_anims/sprites/258.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_256[] = INCBIN_U8("graphics/battle_anims/sprites/256.4bpp.lz"); +const u8 gBattleAnimSpritePalette_256[] = INCBIN_U8("graphics/battle_anims/sprites/256.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_257[] = INCBIN_U8("graphics/battle_anims/sprites/257.4bpp.lz"); +const u8 gBattleAnimSpritePalette_257[] = INCBIN_U8("graphics/battle_anims/sprites/257.gbapal.lz"); + +const u8 gUnknownPal_C2F9E0[] = INCBIN_U8("graphics/unknown/unknown_C2F9E0.gbapal.lz"); + +#include "graphics/pokemon.h" +#include "graphics/trainers.h" + +const u8 gMonIcon_QuestionMark[] = INCBIN_U8("graphics/pokemon/icons/question_mark_icon.4bpp"); +const u8 gMonFootprint_QuestionMark[] = INCBIN_U8("graphics/pokemon/footprints/question_mark_footprint.1bpp"); + +const u8 gUnknown_08D778F0[] = INCBIN_U8("graphics/battle_transitions/vs_frame.4bpp.lz"); +const u16 gUnknown_08D779D8[] = INCBIN_U16("graphics/battle_transitions/vs_frame.bin.lz"); +const u8 gUnknown_08D77AE4[] = INCBIN_U8("graphics/battle_transitions/vs_frame.gbapal.lz"); + +const u8 gUnknown_08D77B0C[] = INCBIN_U8("graphics/battle_transitions/vs.4bpp.lz"); + +const u8 gBattleTerrainTiles_TallGrass[] = INCBIN_U8("graphics/battle_terrain/tall_grass/tiles.4bpp.lz"); +const u8 gBattleTerrainPalette_TallGrass[] = INCBIN_U8("graphics/battle_terrain/tall_grass/palette.gbapal.lz"); +const u16 gBattleTerrainTilemap_TallGrass[] = INCBIN_U16("graphics/battle_terrain/tall_grass/map.bin.lz"); + +const u8 gBattleTerrainTiles_LongGrass[] = INCBIN_U8("graphics/battle_terrain/long_grass/tiles.4bpp.lz"); +const u8 gBattleTerrainPalette_LongGrass[] = INCBIN_U8("graphics/battle_terrain/long_grass/palette.gbapal.lz"); +const u16 gBattleTerrainTilemap_LongGrass[] = INCBIN_U16("graphics/battle_terrain/long_grass/map.bin.lz"); + +const u8 gBattleTerrainTiles_Sand[] = INCBIN_U8("graphics/battle_terrain/sand/tiles.4bpp.lz"); +const u8 gBattleTerrainPalette_Sand[] = INCBIN_U8("graphics/battle_terrain/sand/palette.gbapal.lz"); +const u16 gBattleTerrainTilemap_Sand[] = INCBIN_U16("graphics/battle_terrain/sand/map.bin.lz"); + +const u8 gBattleTerrainTiles_Underwater[] = INCBIN_U8("graphics/battle_terrain/underwater/tiles.4bpp.lz"); +const u8 gBattleTerrainPalette_Underwater[] = INCBIN_U8("graphics/battle_terrain/underwater/palette.gbapal.lz"); +const u16 gBattleTerrainTilemap_Underwater[] = INCBIN_U16("graphics/battle_terrain/underwater/map.bin.lz"); + +const u8 gBattleTerrainTiles_Water[] = INCBIN_U8("graphics/battle_terrain/water/tiles.4bpp.lz"); +const u8 gBattleTerrainPalette_Water[] = INCBIN_U8("graphics/battle_terrain/water/palette.gbapal.lz"); +const u16 gBattleTerrainTilemap_Water[] = INCBIN_U16("graphics/battle_terrain/water/map.bin.lz"); + +const u8 gBattleTerrainTiles_PondWater[] = INCBIN_U8("graphics/battle_terrain/pond_water/tiles.4bpp.lz"); +const u8 gBattleTerrainPalette_PondWater[] = INCBIN_U8("graphics/battle_terrain/pond_water/palette.gbapal.lz"); +const u16 gBattleTerrainTilemap_PondWater[] = INCBIN_U16("graphics/battle_terrain/pond_water/map.bin.lz"); + +const u8 gBattleTerrainTiles_Rock[] = INCBIN_U8("graphics/battle_terrain/rock/tiles.4bpp.lz"); +const u8 gBattleTerrainPalette_Rock[] = INCBIN_U8("graphics/battle_terrain/rock/palette.gbapal.lz"); +const u16 gBattleTerrainTilemap_Rock[] = INCBIN_U16("graphics/battle_terrain/rock/map.bin.lz"); + +const u8 gBattleTerrainTiles_Cave[] = INCBIN_U8("graphics/battle_terrain/cave/tiles.4bpp.lz"); +const u8 gBattleTerrainPalette_Cave[] = INCBIN_U8("graphics/battle_terrain/cave/palette.gbapal.lz"); +const u16 gBattleTerrainTilemap_Cave[] = INCBIN_U16("graphics/battle_terrain/cave/map.bin.lz"); + +const u8 gBattleTerrainPalette_Plain[] = INCBIN_U8("graphics/battle_terrain/plain/palette.gbapal.lz"); + +const u8 gBattleTerrainTiles_Building[] = INCBIN_U8("graphics/battle_terrain/building/tiles.4bpp.lz"); +const u8 gBattleTerrainPalette_Frontier[] = INCBIN_U8("graphics/battle_terrain/stadium/battle_frontier.gbapal.lz"); // this is also used for link battles +const u16 gBattleTerrainTilemap_Building[] = INCBIN_U16("graphics/battle_terrain/building/map.bin.lz"); + +const u8 gBattleTerrainTiles_Stadium[] = INCBIN_U8("graphics/battle_terrain/stadium/tiles.4bpp.lz"); +const u16 gBattleTerrainTilemap_Stadium[] = INCBIN_U16("graphics/battle_terrain/stadium/map.bin.lz"); + +const u8 gBattleTerrainTiles_Rayquaza[] = INCBIN_U8("graphics/battle_terrain/sky/tiles.4bpp.lz"); +const u16 gBattleTerrainTilemap_Rayquaza[] = INCBIN_U16("graphics/battle_terrain/sky/map.bin.lz"); + +const u8 gBattleTerrainPalette_Building[] = INCBIN_U8("graphics/battle_terrain/building/palette.gbapal.lz"); + +const u8 gBattleTerrainPalette_Kyogre[] = INCBIN_U8("graphics/battle_terrain/water/kyogre.gbapal.lz"); +const u8 gBattleTerrainPalette_Groudon[] = INCBIN_U8("graphics/battle_terrain/cave/groudon.gbapal.lz"); +const u8 gBattleTerrainPalette_BuildingGym[] = INCBIN_U8("graphics/battle_terrain/building/palette2.gbapal.lz"); +const u8 gBattleTerrainPalette_BuildingLeader[] = INCBIN_U8("graphics/battle_terrain/building/palette3.gbapal.lz"); +const u8 gBattleTerrainPalette_StadiumAqua[] = INCBIN_U8("graphics/battle_terrain/stadium/palette1.gbapal.lz"); +const u8 gBattleTerrainPalette_StadiumMagma[] = INCBIN_U8("graphics/battle_terrain/stadium/palette2.gbapal.lz"); +const u8 gBattleTerrainPalette_StadiumSidney[] = INCBIN_U8("graphics/battle_terrain/stadium/palette3.gbapal.lz"); +const u8 gBattleTerrainPalette_StadiumPhoebe[] = INCBIN_U8("graphics/battle_terrain/stadium/palette4.gbapal.lz"); +const u8 gBattleTerrainPalette_StadiumGlacia[] = INCBIN_U8("graphics/battle_terrain/stadium/palette5.gbapal.lz"); +const u8 gBattleTerrainPalette_StadiumDrake[] = INCBIN_U8("graphics/battle_terrain/stadium/palette6.gbapal.lz"); +const u8 gBattleTerrainPalette_StadiumWallace[] = INCBIN_U8("graphics/battle_terrain/stadium/palette7.gbapal.lz"); +const u8 gBattleTerrainPalette_Rayquaza[] = INCBIN_U8("graphics/battle_terrain/sky/palette.gbapal.lz"); + +const u8 gBattleTerrainAnimTiles_TallGrass[] = INCBIN_U8("graphics/battle_terrain/tall_grass/anim_tiles.4bpp.lz"); +const u16 gBattleTerrainAnimTilemap_TallGrass[] = INCBIN_U16("graphics/battle_terrain/tall_grass/anim_map.bin.lz"); + +const u8 gBattleTerrainAnimTiles_LongGrass[] = INCBIN_U8("graphics/battle_terrain/long_grass/anim_tiles.4bpp.lz"); +const u16 gBattleTerrainAnimTilemap_LongGrass[] = INCBIN_U16("graphics/battle_terrain/long_grass/anim_map.bin.lz"); + +const u8 gBattleTerrainAnimTiles_Sand[] = INCBIN_U8("graphics/battle_terrain/sand/anim_tiles.4bpp.lz"); +const u16 gBattleTerrainAnimTilemap_Sand[] = INCBIN_U16("graphics/battle_terrain/sand/anim_map.bin.lz"); + +const u8 gBattleTerrainAnimTiles_Underwater[] = INCBIN_U8("graphics/battle_terrain/underwater/anim_tiles.4bpp.lz"); +const u16 gBattleTerrainAnimTilemap_Underwater[] = INCBIN_U16("graphics/battle_terrain/underwater/anim_map.bin.lz"); + +const u8 gBattleTerrainAnimTiles_Water[] = INCBIN_U8("graphics/battle_terrain/water/anim_tiles.4bpp.lz"); +const u16 gBattleTerrainAnimTilemap_Water[] = INCBIN_U16("graphics/battle_terrain/water/anim_map.bin.lz"); + +const u8 gBattleTerrainAnimTiles_PondWater[] = INCBIN_U8("graphics/battle_terrain/pond_water/anim_tiles.4bpp.lz"); +const u16 gBattleTerrainAnimTilemap_PondWater[] = INCBIN_U16("graphics/battle_terrain/pond_water/anim_map.bin.lz"); + +const u8 gBattleTerrainAnimTiles_Rock[] = INCBIN_U8("graphics/battle_terrain/rock/anim_tiles.4bpp.lz"); +const u16 gBattleTerrainAnimTilemap_Rock[] = INCBIN_U16("graphics/battle_terrain/rock/anim_map.bin.lz"); + +const u8 gBattleTerrainAnimTiles_Cave[] = INCBIN_U8("graphics/battle_terrain/cave/anim_tiles.4bpp.lz"); +const u16 gBattleTerrainAnimTilemap_Cave[] = INCBIN_U16("graphics/battle_terrain/cave/anim_map.bin.lz"); + +const u8 gBattleTerrainAnimTiles_Building[] = INCBIN_U8("graphics/battle_terrain/building/anim_tiles.4bpp.lz"); +const u16 gBattleTerrainAnimTilemap_Building[] = INCBIN_U16("graphics/battle_terrain/building/anim_map.bin.lz"); + +const u8 gBattleTerrainAnimTiles_Rayquaza[] = INCBIN_U8("graphics/battle_terrain/sky/anim_tiles.4bpp.lz"); +const u16 gBattleTerrainAnimTilemap_Rayquaza[] = INCBIN_U16("graphics/battle_terrain/sky/anim_map.bin.lz"); + +const u8 gUnknown_08D82F10[] = INCBIN_U8("graphics/battle_frontier/tourney_bg.4bpp.lz"); +const u8 gUnknown_08D834FC[] = INCBIN_U8("graphics/battle_frontier/tourney_line.4bpp.lz"); // the red glow mask for the tourney advancement lines + +const u16 gUnknown_08D83900[] = INCBIN_U16("graphics/unknown/unknown_D83900.bin.lz"); // tilemaps likely + +const u16 gUnknown_08D83B2C[] = INCBIN_U16("graphics/unknown/unknown_D83B2C.bin.lz"); + +const u16 gUnknown_08D83C3C[] = INCBIN_U16("graphics/unknown/unknown_D83C3C.bin.lz"); + +const u8 gUnknown_08D83D50[] = INCBIN_U8("graphics/battle_frontier/misc1.4bpp.lz"); + +const u16 gUnknown_08D84970[] = INCBIN_U16("graphics/unknown/unknown_D84970.bin.lz"); + +const u16 gUnknown_08D84F00[] = INCBIN_U16("graphics/unknown/unknown_D84F00.bin.lz"); + +const u8 gBattleFrontierGfx_DomeOptions[] = INCBIN_U8("graphics/battle_frontier/options.4bpp.lz"); +const u8 gUnknown_08D85358[] = INCBIN_U8("graphics/battle_frontier/options_pal1.gbapal.lz"); +const u8 gUnknown_08D85444[] = INCBIN_U8("graphics/battle_frontier/options_pal2.gbapal.lz"); // pokeball pal +const u8 gUnknown_08D854C8[] = INCBIN_U8("graphics/battle_frontier/options_pal3.gbapal.lz"); // arrow pal + +const u8 gUnknown_08D854E8[] = INCBIN_U8("graphics/battle_frontier/symbols.4bpp.lz"); +const u8 gUnknown_08D855E8[] = INCBIN_U8("graphics/battle_frontier/symbols.gbapal.lz"); + +const u8 gUnknown_08D85600[] = INCBIN_U8("graphics/battle_frontier/text.gbapal.lz"); +const u16 gUnknown_08D85620[] = INCBIN_U16("graphics/battle_frontier/text_pp.gbapal"); + +const u16 gTilesetAnims_BattleDomePals0_0[] = INCBIN_U16("graphics/battle_frontier/dome_anim1.gbapal"); +const u16 gTilesetAnims_BattleDomePals0_1[] = INCBIN_U16("graphics/battle_frontier/dome_anim2.gbapal"); +const u16 gTilesetAnims_BattleDomePals0_2[] = INCBIN_U16("graphics/battle_frontier/dome_anim3.gbapal"); +const u16 gTilesetAnims_BattleDomePals0_3[] = INCBIN_U16("graphics/battle_frontier/dome_anim4.gbapal"); + +// 8D856C0 +asm(".2byte 0x013F, 0x0119, 0x0113, 0x010E"); // unused? + +const u16 gUnknown_08D856C8[] = INCBIN_U16("graphics/battle_frontier/pyramid_light.gbapal"); // unfaded pal for the player light in battle pyramid + +const u16 gUnknown_08D857A8[] = INCBIN_U16("graphics/battle_frontier/battle_tilemap1.bin.lz"); +const u16 gUnknown_08D85A1C[] = INCBIN_U16("graphics/battle_frontier/battle_tilemap2.bin.lz"); + +// Intro + +const u16 gIntro1GameFreakTextFadePal[] = INCBIN_U16("graphics/intro/intro1_text.gbapal"); // game freak text blue fade +const u16 gIntro2BrendanNoTurnPal[] = INCBIN_U16("graphics/intro/intro2_brendan_noturn.gbapal"); +const u16 gIntro3BgPal[] = INCBIN_U16("graphics/intro/intro3.gbapal"); +const u16 gIntro2VolbeatPal[] = INCBIN_U16("graphics/intro/intro2_volbeat.gbapal"); +const u16 gIntro2TorchicPal[] = INCBIN_U16("graphics/intro/intro2_torchic.gbapal"); +const u16 gIntro2ManectricPal[] = INCBIN_U16("graphics/intro/intro2_manectric.gbapal"); +const u16 gIntro2FlygonPal[] = INCBIN_U16("graphics/intro/intro2_flygon.gbapal"); + +const u8 gIntro2VolbeatGfx[] = INCBIN_U8("graphics/intro/intro2_volbeat.4bpp.lz"); +const u8 gIntro2TorchicGfx[] = INCBIN_U8("graphics/intro/intro2_torchic.4bpp.lz"); +const u8 gIntro2ManectricGfx[] = INCBIN_U8("graphics/intro/intro2_manectric.4bpp.lz"); +const u8 gIntro2FlygonGfx[] = INCBIN_U8("graphics/intro/intro2_flygon.4bpp.lz"); +const u8 gIntro2BrendanNoTurnGfx[] = INCBIN_U8("graphics/intro/intro2_brendan_noturn.4bpp.lz"); +const u8 gIntro2MayNoTurnGfx[] = INCBIN_U8("graphics/intro/intro2_may_noturn.4bpp.lz"); + +const u16 gIntro3GroudonGfx[] = INCBIN_U16("graphics/intro/intro3_groudon.8bpp.lz"); +const u16 gIntro3GroudonTilemap[] = INCBIN_U16("graphics/intro/intro3_groudon.bin.lz"); + +const u16 gIntro3KyogreGfx[] = INCBIN_U16("graphics/intro/intro3_kyogre.8bpp.lz"); +const u16 gIntro3KyogreTilemap[] = INCBIN_U16("graphics/intro/intro3_kyogre.bin.lz"); + +const u8 gIntro3LegendBgGfx[] = INCBIN_U8("graphics/intro/legend_bg.4bpp.lz"); // groudon/kyogre/bg + +const u16 gIntro3GroudonBgTilemap[] = INCBIN_U16("graphics/intro/legend_bg1.bin.lz"); +const u16 gIntro3KyogreBgTilemap[] = INCBIN_U16("graphics/intro/legend_bg2.bin.lz"); + +const u8 gIntro3CloudsGfx[] = INCBIN_U8("graphics/intro/intro3_clouds.4bpp.lz"); +const u16 gIntro3Clouds1Tilemap[] = INCBIN_U16("graphics/intro/intro3_clouds1.bin.lz"); +const u16 gIntro3Clouds2Tilemap[] = INCBIN_U16("graphics/intro/intro3_clouds2.bin.lz"); +const u16 gIntro3Clouds3Tilemap[] = INCBIN_U16("graphics/intro/intro3_clouds3.bin.lz"); + +const u8 gIntro3LightningGfx[] = INCBIN_U8("graphics/intro/intro3_lightning.4bpp.lz"); +const u16 gIntro3LightningPal[] = INCBIN_U16("graphics/intro/intro3_lightning.gbapal"); + +const u8 gIntro3RayquazaGfx[] = INCBIN_U8("graphics/intro/intro3_rayquaza.4bpp.lz"); +const u16 gIntro3RayquazaTilemap[] = INCBIN_U16("graphics/intro/intro3_rayquaza.bin.lz"); + +const u16 gUnknown_D8C374[] = INCBIN_U16("graphics/unknown/unknown_D8C374.bin.lz"); +const u16 gUnknown_D8C5C4[] = INCBIN_U16("graphics/unknown/unknown_D8C5C4.bin.lz"); + +const u8 gIntro3Clouds2Gfx[] = INCBIN_U8("graphics/intro/intro3_clouds2.4bpp.lz"); //clouds 2, during the rayquaza flash +const u16 gIntro3Clouds4Tilemap[] = INCBIN_U16("graphics/intro/intro3_clouds4.bin.lz"); + +const u8 gIntro2BubblesGfx[] = INCBIN_U8("graphics/intro/intro2_bubbles.4bpp.lz"); +const u16 gIntro2BubblesPal[] = INCBIN_U16("graphics/intro/intro2_bubbles.gbapal"); + +const u8 gIntro1FlygonGfx[] = INCBIN_U8("graphics/intro/intro1_flygon.4bpp.lz"); +const u8 gIntro1SparkleGfx[] = INCBIN_U8("graphics/intro/intro1_sparkle.4bpp.lz"); + +const u8 gBattleAnimSpriteSheet_261[] = INCBIN_U8("graphics/battle_anims/sprites/261.4bpp.lz"); + +const u16 gUnknown_08D8D410[] = INCBIN_U16("graphics/battle_anims/backgrounds/sandstorm_brew.bin.lz"); +const u8 gUnknown_08D8D58C[] = INCBIN_U8("graphics/battle_anims/backgrounds/sandstorm_brew.4bpp.lz"); + +const u8 gBattleAnimSpritePalette_261[] = INCBIN_U8("graphics/battle_anims/sprites/261.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_260[] = INCBIN_U8("graphics/battle_anims/sprites/260.4bpp.lz"); +const u8 gBattleAnimSpritePalette_260[] = INCBIN_U8("graphics/battle_anims/sprites/260.gbapal.lz"); + +const u8 gBattleAnimBackgroundImage_15[] = INCBIN_U8("graphics/battle_anims/backgrounds/15.4bpp.lz"); +const u8 gBattleAnimBackgroundPalette_15[] = INCBIN_U8("graphics/battle_anims/backgrounds/15.gbapal.lz"); +const u16 gBattleAnimBackgroundTilemap_15[] = INCBIN_U16("graphics/battle_anims/backgrounds/15.bin.lz"); + +const u8 gBattleAnimSpriteSheet_262[] = INCBIN_U8("graphics/battle_anims/sprites/262.4bpp.lz"); +const u8 gBattleAnimSpritePalette_262[] = INCBIN_U8("graphics/battle_anims/sprites/262.gbapal.lz"); + +const u8 gContestNextTurnGfx[] = INCBIN_U8("graphics/contest/nextturn.4bpp.lz"); +const u8 gUnknown_08D8E9B4[] = INCBIN_U8("graphics/contest/nextturn_numbers.4bpp"); +const u8 gUnknown_08D8EA34[] = INCBIN_U8("graphics/contest/nextturn_random.4bpp"); + +const u8 gBattleAnimSpriteSheet_264[] = INCBIN_U8("graphics/battle_anims/sprites/264.4bpp.lz"); +const u8 gBattleAnimSpritePalette_264[] = INCBIN_U8("graphics/battle_anims/sprites/264.gbapal.lz"); +const u8 gBattleAnimSpritePalette_265[] = INCBIN_U8("graphics/battle_anims/sprites/265.gbapal.lz"); +const u8 gBattleAnimSpritePalette_067[] = INCBIN_U8("graphics/battle_anims/sprites/067.gbapal.lz"); +const u8 gBattleAnimSpritePalette_068[] = INCBIN_U8("graphics/battle_anims/sprites/068.gbapal.lz"); + +const u8 gContestApplauseGfx[] = INCBIN_U8("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 u8 gBattleAnimSpriteSheet_272[] = INCBIN_U8("graphics/battle_anims/sprites/272.4bpp.lz"); +const u8 gBattleAnimSpritePalette_272[] = INCBIN_U8("graphics/battle_anims/sprites/272.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_273[] = INCBIN_U8("graphics/battle_anims/sprites/273.4bpp.lz"); + +const u8 gBattleAnimSpriteSheet_269[] = INCBIN_U8("graphics/battle_anims/sprites/269.4bpp.lz"); +const u8 gBattleAnimSpritePalette_269[] = INCBIN_U8("graphics/battle_anims/sprites/269.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_274[] = INCBIN_U8("graphics/battle_anims/sprites/274.4bpp.lz"); +const u8 gBattleAnimSpriteSheet_275[] = INCBIN_U8("graphics/battle_anims/sprites/275.4bpp.lz"); +const u8 gBattleAnimSpriteSheet_276[] = INCBIN_U8("graphics/battle_anims/sprites/276.4bpp.lz"); + +const u8 gBattleAnimSpritePalette_274[] = INCBIN_U8("graphics/battle_anims/sprites/274.gbapal.lz"); + +const u8 gBattleAnimBackgroundImage_17[] = INCBIN_U8("graphics/battle_anims/backgrounds/17.4bpp.lz"); +const u8 gBattleAnimBackgroundPalette_17[] = INCBIN_U8("graphics/battle_anims/backgrounds/17.gbapal.lz"); +const u16 gBattleAnimBackgroundTilemap_17[] = INCBIN_U16("graphics/battle_anims/backgrounds/17.bin.lz"); + +const u8 gBattleAnimSpriteSheet_280[] = INCBIN_U8("graphics/battle_anims/sprites/280.4bpp.lz"); +const u8 gBattleAnimSpritePalette_280[] = INCBIN_U8("graphics/battle_anims/sprites/280.gbapal.lz"); + +const u8 gBattleAnimBackgroundImageMuddyWater_Pal[] = INCBIN_U8("graphics/battle_anims/backgrounds/water_muddy.gbapal.lz"); + +const u8 gEnemyMonShadow_Gfx[] = INCBIN_U8("graphics/battle_interface/enemy_mon_shadow.4bpp.lz"); + +const u8 gBattleInterface_BallStatusBarGfx[] = INCBIN_U8("graphics/battle_interface/ball_status_bar.4bpp.lz"); + +const u8 gMonIcon_Egg[] = INCBIN_U8("graphics/pokemon/icons/egg_icon.4bpp"); + +const u8 gBattleAnimBackgroundImage_02[] = INCBIN_U8("graphics/battle_anims/backgrounds/02.4bpp.lz"); +const u8 gBattleAnimBackgroundPalette_02[] = INCBIN_U8("graphics/battle_anims/backgrounds/02.gbapal.lz"); +const u16 gBattleAnimBackgroundTilemap_02[] = INCBIN_U16("graphics/battle_anims/backgrounds/02.bin.lz"); + +const u8 gBattleAnimSpritePalette_287[] = INCBIN_U8("graphics/battle_anims/sprites/287.gbapal.lz"); + +const u8 gBattleAnimBackgroundPalette_24[] = INCBIN_U8("graphics/battle_anims/backgrounds/24.gbapal.lz"); + +const u16 gUnknown_E6BC04[] = INCBIN_U16("graphics/unknown/unknown_E6BC04.bin.lz"); + +const u16 sBlenderCenterGfx[] = INCBIN_U16("graphics/berry_blender/center.8bpp.lz"); + +const u8 gUnknown_08D91DB8[] = INCBIN_U8("graphics/berry_blender/outer.4bpp.lz"); +const u16 gUnknown_08D927EC[] = INCBIN_U16("graphics/berry_blender/outer_map.bin.lz"); + +const u8 gBattleAnimBackgroundPalette_16[] = INCBIN_U8("graphics/battle_anims/backgrounds/16.gbapal.lz"); +const u8 gBattleAnimBackgroundImage_16[] = INCBIN_U8("graphics/battle_anims/backgrounds/16.4bpp.lz"); +const u16 gBattleAnimBackgroundTilemap_16[] = INCBIN_U16("graphics/battle_anims/backgrounds/16.bin.lz"); + +const u8 gBattleAnimSpritePalette_277[] = INCBIN_U8("graphics/battle_anims/sprites/277.gbapal.lz"); +const u8 gBattleAnimSpriteSheet_277[] = INCBIN_U8("graphics/battle_anims/sprites/277.4bpp.lz"); + +const u16 gBattleAnimFogTilemap[] = INCBIN_U16("graphics/battle_anims/backgrounds/fog.bin.lz"); + +const u8 gBattleAnimSpritePalette_283[] = INCBIN_U8("graphics/battle_anims/sprites/283.gbapal.lz"); +const u8 gBattleAnimSpriteSheet_283[] = INCBIN_U8("graphics/battle_anims/sprites/283.4bpp.lz"); + +const u16 gBattleAnimBackgroundTilemap_ScaryFacePlayer[] = INCBIN_U16("graphics/battle_anims/backgrounds/scary_face_player.bin.lz"); +const u16 gBattleAnimBackgroundTilemap_ScaryFaceOpponent[] = INCBIN_U16("graphics/battle_anims/backgrounds/scary_face_opponent.bin.lz"); +const u16 gBattleAnimBackgroundTilemap_ScaryFaceContest[] = INCBIN_U16("graphics/battle_anims/backgrounds/scary_face_contest.bin.lz"); + +const u8 gBattleAnimSpriteSheet_263[] = INCBIN_U8("graphics/battle_anims/sprites/263.4bpp.lz"); +const u8 gBattleAnimSpritePalette_263[] = INCBIN_U8("graphics/battle_anims/sprites/263.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_266[] = INCBIN_U8("graphics/battle_anims/sprites/266.4bpp.lz"); +const u8 gBattleAnimSpritePalette_266[] = INCBIN_U8("graphics/battle_anims/sprites/266.gbapal.lz"); +const u8 gBattleAnimSpritePalette_267[] = INCBIN_U8("graphics/battle_anims/sprites/267.gbapal.lz"); +const u8 gBattleAnimSpritePalette_268[] = INCBIN_U8("graphics/battle_anims/sprites/268.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_278[] = INCBIN_U8("graphics/battle_anims/sprites/278.4bpp.lz"); +const u8 gBattleAnimSpritePalette_278[] = INCBIN_U8("graphics/battle_anims/sprites/278.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_279[] = INCBIN_U8("graphics/battle_anims/sprites/279.4bpp.lz"); +const u8 gBattleAnimSpritePalette_279[] = INCBIN_U8("graphics/battle_anims/sprites/279.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_281[] = INCBIN_U8("graphics/battle_anims/sprites/281.4bpp.lz"); +const u8 gBattleAnimSpritePalette_281[] = INCBIN_U8("graphics/battle_anims/sprites/281.gbapal.lz"); + +const u8 gBattleAnimBackgroundImage_21[] = INCBIN_U8("graphics/battle_anims/backgrounds/21.4bpp.lz"); +const u8 gBattleAnimBackgroundPalette_21[] = INCBIN_U8("graphics/battle_anims/backgrounds/21.gbapal.lz"); +const u16 gBattleAnimBackgroundTilemap_21[] = INCBIN_U16("graphics/battle_anims/backgrounds/21.bin.lz"); + +const u8 gBattleAnimSpriteSheet_284[] = INCBIN_U8("graphics/battle_anims/sprites/284.4bpp.lz"); +const u8 gBattleAnimSpritePalette_284[] = INCBIN_U8("graphics/battle_anims/sprites/284.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_285[] = INCBIN_U8("graphics/battle_anims/sprites/285.4bpp.lz"); +const u8 gBattleAnimSpritePalette_285[] = INCBIN_U8("graphics/battle_anims/sprites/285.gbapal.lz"); + +const u8 gBattleAnimBackgroundImage_Surf[] = INCBIN_U8("graphics/battle_anims/backgrounds/water.4bpp.lz"); +const u8 gBattleAnimBackgroundPalette_Surf[] = INCBIN_U8("graphics/battle_anims/backgrounds/water.gbapal.lz"); + +const u16 gUnknown_08D95E00[] = INCBIN_U16("graphics/unknown/unknown_D95E00.bin.lz"); + +const u16 gUnknown_08D960D0[] = INCBIN_U16("graphics/unknown/unknown_D960D0.bin.lz"); + +const u16 gUnknown_08D963A4[] = INCBIN_U16("graphics/unknown/unknown_D963A4.bin.lz"); + +const u8 gBattleAnimSpritePalette_286[] = INCBIN_U8("graphics/battle_anims/sprites/286.gbapal.lz"); + +const u8 gBattleAnimSpriteSheet_188[] = INCBIN_U8("graphics/battle_anims/sprites/188.4bpp.lz"); +const u8 gBattleAnimSpritePalette_188[] = INCBIN_U8("graphics/battle_anims/sprites/188.gbapal.lz"); + +const u8 gPartyMenuMisc_Gfx[] = INCBIN_U8("graphics/interface/party_menu_misc.4bpp.lz"); +const u8 gPartyMenuMisc_Pal[] = INCBIN_U8("graphics/interface/party_menu_misc.gbapal.lz"); +const u16 gPartyMenuMisc_Tilemap[] = INCBIN_U16("graphics/interface/party_menu_misc.bin.lz"); + +const u8 gPartyMenuPokeball_Gfx[] = INCBIN_U8("graphics/interface/party_menu_pokeball.4bpp.lz"); +const u8 gPartyMenuPokeballSmall_Gfx[] = INCBIN_U8("graphics/interface/party_menu_pokeball_small.4bpp.lz"); //unused +const u8 gPartyMenuPokeball_Pal[] = INCBIN_U8("graphics/interface/party_menu_pokeball.gbapal.lz"); + +const u8 gStatusGfx_Icons[] = INCBIN_U8("graphics/interface/status_icons.4bpp.lz"); +const u8 gStatusPal_Icons[] = INCBIN_U8("graphics/interface/status_icons.gbapal.lz"); + +const u8 gMoveTypes_Gfx[] = INCBIN_U8("graphics/types/move_types.4bpp.lz"); +const u8 gMoveTypes_Pal[] = INCBIN_U8("graphics/types/move_types.gbapal.lz"); + +const u8 gUnknown_08D97BEC[] = INCBIN_U8("graphics/interface/summary_frames.4bpp.lz"); +const u8 gUnknown_08D97CF4[] = INCBIN_U8("graphics/interface/summary_frames.gbapal.lz"); + +const u8 gUnknown_08D97D0C[] = INCBIN_U8("graphics/interface/status_screen.4bpp.lz"); +const u8 gUnknown_08D9853C[] = INCBIN_U8("graphics/interface/status_screen.gbapal.lz"); +const u16 gUnknown_08D9862C[] = INCBIN_U16("graphics/interface/status_screen.bin.lz"); + +const u16 gUnknown_08D987FC[] = INCBIN_U16("graphics/interface/status_tilemap1.bin.lz"); +const u16 gUnknown_08D9898C[] = INCBIN_U16("graphics/interface/status_tilemap2.bin.lz"); +const u16 gUnknown_08D98B28[] = INCBIN_U16("graphics/interface/status_tilemap3.bin.lz"); +const u16 gUnknown_08D98CC8[] = INCBIN_U16("graphics/interface/status_tilemap0.bin.lz"); + +const u8 gBagMaleTiles[] = INCBIN_U8("graphics/misc/bag_male.4bpp.lz"); +const u8 gBagFemaleTiles[] = INCBIN_U8("graphics/misc/bag_female.4bpp.lz"); +const u8 gBagPalette[] = INCBIN_U8("graphics/misc/bag.gbapal.lz"); + +const u8 gBagScreenMale_Pal[] = INCBIN_U8("graphics/interface/bag_screen_male.gbapal.lz"); +const u8 gBagScreenFemale_Pal[] = INCBIN_U8("graphics/interface/bag_screen_female.gbapal.lz"); + +const u8 gBagScreen_Gfx[] = INCBIN_U8("graphics/interface/bag_screen.4bpp.lz"); + +const u16 gUnknown_08D9A88C[] = INCBIN_U16("graphics/unknown/unknown_D9A88C.bin.lz"); + +const u8 gBattleFrontierGfx_PyramidBag[] = INCBIN_U8("graphics/interface/bag_pyramid.4bpp.lz"); +const u16 gUnknown_08D9ADD0[] = INCBIN_U16("graphics/interface/bag_pyramid.gbapal.lz"); // female palette is first and male is second. + +const u16 gUnknown_08D9AE04[] = INCBIN_U16("graphics/unknown/unknown_D9AE04.bin.lz"); + +const u8 gUnknown_08D9AF44[] = INCBIN_U8("graphics/unknown/unknown_D9AF44.gbapal.lz"); + +const u8 gBagSwapLineGfx[] = INCBIN_U8("graphics/interface/bag_swap.4bpp.lz"); +const u8 gBagSwapLinePal[] = INCBIN_U8("graphics/interface/bag_swap.gbapal.lz"); + +const u8 gBuyMenuFrame_Gfx[] = INCBIN_U8("graphics/interface/mart_frame.4bpp.lz"); +const u8 gMenuMoneyPal[] = INCBIN_U8("graphics/interface/mart_frame.gbapal.lz"); +const u16 gBuyMenuFrame_Tilemap[] = INCBIN_U16("graphics/interface/mart_frame.bin.lz"); + +const u8 gMenuMoneyGfx[] = INCBIN_U8("graphics/interface/money.4bpp.lz"); + +// Pokeblock + +const u8 gMenuPokeblock_Gfx[] = INCBIN_U8("graphics/interface/pokeblock_case_frame.4bpp.lz"); +const u8 gMenuPokeblock_Pal[] = INCBIN_U8("graphics/interface/pokeblock_case_frame.gbapal.lz"); + +const u8 gMenuPokeblockDevice_Gfx[] = INCBIN_U8("graphics/interface/pokeblock_device.4bpp.lz"); +const u8 gMenuPokeblockDevice_Pal[] = INCBIN_U8("graphics/interface/pokeblock_device.gbapal.lz"); + +const u16 gMenuPokeblock_Tilemap[] = INCBIN_U16("graphics/interface/pokeblock.bin.lz"); +const u8 gPokeblock_Gfx[] = INCBIN_U8("graphics/pokeblock/pokeblock.4bpp.lz"); +const u8 gPokeblockRed_Pal[] = INCBIN_U8("graphics/pokeblock/red.gbapal.lz"); +const u8 gPokeblockBlue_Pal[] = INCBIN_U8("graphics/pokeblock/blue.gbapal.lz"); +const u8 gPokeblockPink_Pal[] = INCBIN_U8("graphics/pokeblock/pink.gbapal.lz"); +const u8 gPokeblockGreen_Pal[] = INCBIN_U8("graphics/pokeblock/green.gbapal.lz"); +const u8 gPokeblockYellow_Pal[] = INCBIN_U8("graphics/pokeblock/yellow.gbapal.lz"); +const u8 gPokeblockPurple_Pal[] = INCBIN_U8("graphics/pokeblock/purple.gbapal.lz"); +const u8 gPokeblockIndigo_Pal[] = INCBIN_U8("graphics/pokeblock/indigo.gbapal.lz"); +const u8 gPokeblockBrown_Pal[] = INCBIN_U8("graphics/pokeblock/brown.gbapal.lz"); +const u8 gPokeblockLiteBlue_Pal[] = INCBIN_U8("graphics/pokeblock/liteblue.gbapal.lz"); +const u8 gPokeblockOlive_Pal[] = INCBIN_U8("graphics/pokeblock/olive.gbapal.lz"); +const u8 gPokeblockGray_Pal[] = INCBIN_U8("graphics/pokeblock/gray.gbapal.lz"); +const u8 gPokeblockBlack_Pal[] = INCBIN_U8("graphics/pokeblock/black.gbapal.lz"); +const u8 gPokeblockWhite_Pal[] = INCBIN_U8("graphics/pokeblock/white.gbapal.lz"); +const u8 gPokeblockGold_Pal[] = INCBIN_U8("graphics/pokeblock/gold.gbapal.lz"); + +const u16 gUnknown_08D9BA44[] = INCBIN_U16("graphics/interface/pokeblock_feeding_bg_map.bin.lz"); + +#include "graphics/berries.h" + +const u8 gRaySceneGroudon_Gfx[] = INCBIN_U8("graphics/rayquaza_scene/groudon.4bpp.lz"); +const u8 gRaySceneGroudon2_Gfx[] = INCBIN_U8("graphics/rayquaza_scene/groudon_shoulder.4bpp.lz"); +const u8 gRaySceneGroudon3_Gfx[] = INCBIN_U8("graphics/rayquaza_scene/groudon_claw.4bpp.lz"); + +const u8 gRaySceneKyogre_Gfx[] = INCBIN_U8("graphics/rayquaza_scene/kyogre.4bpp.lz"); +const u8 gRaySceneKyogre2_Gfx[] = INCBIN_U8("graphics/rayquaza_scene/kyogre_shoulder.4bpp.lz"); +const u8 gRaySceneKyogre3_Gfx[] = INCBIN_U8("graphics/rayquaza_scene/kyogre_fin.4bpp.lz"); + +const u8 gRaySceneGroudon_Pal[] = INCBIN_U8("graphics/rayquaza_scene/groudon.gbapal.lz"); +const u8 gRaySceneKyogre_Pal[] = INCBIN_U8("graphics/rayquaza_scene/kyogre.gbapal.lz"); + +const u8 gRaySceneClouds_Gfx[] = INCBIN_U8("graphics/rayquaza_scene/clouds.4bpp.lz"); +const u8 gRaySceneClouds_Pal[] = INCBIN_U8("graphics/rayquaza_scene/clouds.gbapal.lz"); // pal 1 clouds, pal 2 rain +const u16 gRaySceneClouds1_Tilemap[] = INCBIN_U16("graphics/rayquaza_scene/clouds1.bin.lz"); +const u16 gRaySceneClouds2_Tilemap[] = INCBIN_U16("graphics/rayquaza_scene/clouds2.bin.lz"); +const u16 gRaySceneClouds3_Tilemap[] = INCBIN_U16("graphics/rayquaza_scene/clouds3.bin.lz"); + +const u8 gRaySceneSmoke_Gfx[] = INCBIN_U8("graphics/rayquaza_scene/smoke.4bpp.lz"); +const u8 gRaySceneSmoke_Pal[] = INCBIN_U8("graphics/rayquaza_scene/smoke.gbapal.lz"); + +const u16 gRaySceneRayquaza_Gfx[] = INCBIN_U16("graphics/rayquaza_scene/rayquaza.8bpp.lz"); +const u8 gRaySceneRayquaza_Pal[] = INCBIN_U8("graphics/rayquaza_scene/rayquaza.gbapal.lz"); +const u16 gRaySceneRayquaza_Tilemap[] = INCBIN_U16("graphics/rayquaza_scene/rayquaza.bin.lz"); + +const u8 gRaySceneOvercast_Gfx[] = INCBIN_U8("graphics/rayquaza_scene/overcast.4bpp.lz"); // uses pal 2 of gRaySceneRayquaza_Pal +const u16 gRaySceneOvercast_Tilemap[] = INCBIN_U16("graphics/rayquaza_scene/overcast.bin.lz"); + +const u8 gRaySceneRayquazaFly1_Gfx[] = INCBIN_U8("graphics/rayquaza_scene/rayquaza_fly1.4bpp.lz"); +const u8 gRaySceneRayquazaTail_Gfx[] = INCBIN_U8( "graphics/rayquaza_scene/rayquaza_tail_fix.4bpp.lz"); // for some reason there are an extra 0xC bytes at the end of the original 4bpp, so in order to produce the correct lz, we have to cat the bytes at the end with a make rule. not sure why those bytes are there, it may have been a bug in Game Freak's software. + +const u8 gRaySceneOvercast2_Gfx[] = INCBIN_U8("graphics/rayquaza_scene/overcast2.4bpp.lz"); + +const u8 gRaySceneRayquazaLight_Gfx[] = INCBIN_U8("graphics/rayquaza_scene/rayquaza_light.4bpp.lz"); // uses pal 2 of gRaySceneOvercast2_Pal + +const u8 gRaySceneOvercast2_Pal[] = INCBIN_U8("graphics/rayquaza_scene/overcast2.gbapal.lz"); +const u16 gRaySceneOvercast2_Tilemap[] = INCBIN_U16("graphics/rayquaza_scene/overcast2.bin.lz"); + +const u8 gRaySceneRayquazaLight_Tilemap[] = INCBIN_U8("graphics/rayquaza_scene/rayquaza_light.bin.lz"); + +const u8 gRaySceneChaseBg_Gfx[] = INCBIN_U8("graphics/rayquaza_scene/chase_bg.4bpp.lz"); +const u16 gRaySceneChaseBg_Tilemap[] = INCBIN_U16("graphics/rayquaza_scene/chase_bg.bin.lz"); + +const u8 gRaySceneChaseStreaks_Gfx[] = INCBIN_U8("graphics/rayquaza_scene/chase_streaks.4bpp.lz"); +const u16 gRaySceneChaseStreaks_Tilemap[] = INCBIN_U16("graphics/rayquaza_scene/chase_streaks.bin.lz"); + +const u8 gRaySceneRayquazaChase_Gfx[] = INCBIN_U8("graphics/rayquaza_scene/rayquaza_chase.4bpp.lz"); +const u16 gRayChaseRayquazaChase_Tilemap[] = INCBIN_U16("graphics/rayquaza_scene/rayquaza_chase.bin.lz"); +const u16 gRayChaseRayquazaChase2_Tilemap[] = INCBIN_U16("graphics/rayquaza_scene/rayquaza_chase2.bin.lz"); + +const u8 gRaySceneChase_Pal[] = INCBIN_U8("graphics/rayquaza_scene/chase.gbapal.lz"); + +const u8 gRaySceneGroudonLeft_Gfx[] = INCBIN_U8("graphics/rayquaza_scene/groudon_left.4bpp.lz"); +const u8 gRaySceneGroudonTail_Gfx[] = INCBIN_U8("graphics/rayquaza_scene/groudon_tail.4bpp.lz"); + +const u8 gRaySceneKyogreRight_Gfx[] = INCBIN_U8("graphics/rayquaza_scene/kyogre_right.4bpp.lz"); + +const u8 gRaySceneRayquazaHover_Gfx[] = INCBIN_U8("graphics/rayquaza_scene/rayquaza_hover.4bpp.lz"); +const u8 gRaySceneRayquazaFlyIn_Gfx[] = INCBIN_U8("graphics/rayquaza_scene/rayquaza_flyin.4bpp.lz"); + +const u8 gRaySceneSplash_Gfx[] = INCBIN_U8("graphics/rayquaza_scene/splash.4bpp.lz"); + +const u8 gRaySceneGroudonLeft_Pal[] = INCBIN_U8("graphics/rayquaza_scene/groudon_left.gbapal.lz"); +const u8 gRaySceneKyogreRight_Pal[] = INCBIN_U8("graphics/rayquaza_scene/kyogre_right.gbapal.lz"); +const u8 gRaySceneRayquazaHover_Pal[] = INCBIN_U8("graphics/rayquaza_scene/rayquaza_hover.gbapal.lz"); + +const u8 gRaySceneSplash_Pal[] = INCBIN_U8("graphics/rayquaza_scene/splash.gbapal.lz"); + +const u8 gRaySceneHushBg_Gfx[] = INCBIN_U8("graphics/rayquaza_scene/hush_bg.4bpp.lz"); +const u16 gRaySceneHushRing_Gfx[] = INCBIN_U16("graphics/rayquaza_scene/hush_ring.8bpp.lz"); +const u16 gRaySceneHushBg_Tilemap[] = INCBIN_U16("graphics/rayquaza_scene/hush_bg.bin.lz"); +const u16 gRaySceneHushRing_Tilemap[] = INCBIN_U16("graphics/rayquaza_scene/hush_ring.bin.lz"); +const u16 gRaySceneHushRing_Map[] = INCBIN_U16("graphics/rayquaza_scene/hush_ring_map.bin.lz"); +const u8 gRaySceneHushBg_Pal[] = INCBIN_U8("graphics/rayquaza_scene/hush_bg.gbapal.lz"); + +#include "graphics/items.h" +#include "graphics/decorations.h" + +const u8 gBattleAnimSpritePalette_282[] = INCBIN_U8("graphics/battle_anims/sprites/282.gbapal.lz"); +const u8 gBattleAnimSpriteSheet_282[] = INCBIN_U8("graphics/battle_anims/sprites/282.4bpp.lz"); + +const u8 gBattleAnimSpritePalette_270[] = INCBIN_U8("graphics/battle_anims/sprites/270.gbapal.lz"); +const u8 gBattleAnimSpriteSheet_270[] = INCBIN_U8("graphics/battle_anims/sprites/270.4bpp.lz"); + +const u8 gBattleAnimSpritePalette_271[] = INCBIN_U8("graphics/battle_anims/sprites/271.gbapal.lz"); +const u8 gBattleAnimSpriteSheet_271[] = INCBIN_U8("graphics/battle_anims/sprites/271.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"); + +const u8 gUnknown_08DBA5B8[] = INCBIN_U8("graphics/misc/cable_car_bg.4bpp.lz"); +const u8 gCableCar_Gfx[] = INCBIN_U8("graphics/misc/cable_car.4bpp.lz"); +const u8 gCableCarDoor_Gfx[] = INCBIN_U8("graphics/misc/cable_car_door.4bpp.lz"); +const u8 gCableCarCord_Gfx[] = INCBIN_U8("graphics/misc/cable_car_cord.4bpp.lz"); + +const u8 gRouletteMenuTiles[] = INCBIN_U8("graphics/roulette/window.4bpp.lz"); +const u16 gRouletteWheelTiles[] = INCBIN_U16("graphics/roulette/wheel.8bpp.lz"); +const u8 gRouletteCenter_Gfx[] = INCBIN_U8("graphics/roulette/center.4bpp.lz"); +const u8 gRouletteHeadersTiles[] = INCBIN_U8("graphics/roulette/headers.4bpp.lz"); +const u8 gRouletteCreditTiles[] = INCBIN_U8("graphics/roulette/credit.4bpp.lz"); +const u8 gRouletteNumbersTiles[] = INCBIN_U8("graphics/roulette/numbers.4bpp.lz"); +const u8 gRouletteMultiplierTiles[] = INCBIN_U8("graphics/roulette/multiplier.4bpp.lz"); + +const u16 gMailPalette_Orange[] = INCBIN_U16("graphics/mail/orange/palette.gbapal"); +const u16 gMailPalette_Harbor[] = INCBIN_U16("graphics/mail/harbor/palette.gbapal"); +const u16 gMailPalette_Glitter[] = INCBIN_U16("graphics/mail/glitter/palette.gbapal"); +const u16 gMailPalette_Mech[] = INCBIN_U16("graphics/mail/mech/palette.gbapal"); +const u16 gMailPalette_Wood[] = INCBIN_U16("graphics/mail/wood/palette.gbapal"); +const u16 gMailPalette_Wave[] = INCBIN_U16("graphics/mail/wave/palette.gbapal"); +const u16 gMailPalette_Bead[] = INCBIN_U16("graphics/mail/bead/palette.gbapal"); +const u16 gMailPalette_Shadow[] = INCBIN_U16("graphics/mail/shadow/palette.gbapal"); +const u16 gMailPalette_Tropic[] = INCBIN_U16("graphics/mail/tropic/palette.gbapal"); +const u16 gMailPalette_Dream[] = INCBIN_U16("graphics/mail/dream/palette.gbapal"); +const u16 gMailPalette_Fab[] = INCBIN_U16("graphics/mail/fab/palette.gbapal"); +const u16 gMailPalette_Retro[] = INCBIN_U16("graphics/mail/retro/palette.gbapal"); + +const u8 gMailTiles_Orange[] = INCBIN_U8("graphics/mail/orange/tiles.4bpp.lz"); +const u8 gMailTiles_Harbor[] = INCBIN_U8("graphics/mail/harbor/tiles.4bpp.lz"); +const u8 gMailTiles_Glitter[] = INCBIN_U8("graphics/mail/glitter/tiles.4bpp.lz"); +const u8 gMailTiles_Mech[] = INCBIN_U8("graphics/mail/mech/tiles.4bpp.lz"); +const u8 gMailTiles_Wood[] = INCBIN_U8("graphics/mail/wood/tiles.4bpp.lz"); +const u8 gMailTiles_Wave[] = INCBIN_U8("graphics/mail/wave/tiles.4bpp.lz"); +const u8 gMailTiles_Bead[] = INCBIN_U8("graphics/mail/bead/tiles.4bpp.lz"); +const u8 gMailTiles_Shadow[] = INCBIN_U8("graphics/mail/shadow/tiles.4bpp.lz"); +const u8 gMailTiles_Tropic[] = INCBIN_U8("graphics/mail/tropic/tiles.4bpp.lz"); +const u8 gMailTiles_Dream[] = INCBIN_U8("graphics/mail/dream/tiles.4bpp.lz"); +const u8 gMailTiles_Fab[] = INCBIN_U8("graphics/mail/fab/tiles.4bpp.lz"); +const u8 gMailTiles_Retro[] = INCBIN_U8("graphics/mail/retro/tiles.4bpp.lz"); + +const u16 gMailTilemap_Orange[] = INCBIN_U16("graphics/mail/orange/map.bin.lz"); +const u16 gMailTilemap_Harbor[] = INCBIN_U16("graphics/mail/harbor/map.bin.lz"); +const u16 gMailTilemap_Glitter[] = INCBIN_U16("graphics/mail/glitter/map.bin.lz"); +const u16 gMailTilemap_Mech[] = INCBIN_U16("graphics/mail/mech/map.bin.lz"); +const u16 gMailTilemap_Wood[] = INCBIN_U16("graphics/mail/wood/map.bin.lz"); +const u16 gMailTilemap_Wave[] = INCBIN_U16("graphics/mail/wave/map.bin.lz"); +const u16 gMailTilemap_Bead[] = INCBIN_U16("graphics/mail/bead/map.bin.lz"); +const u16 gMailTilemap_Shadow[] = INCBIN_U16("graphics/mail/shadow/map.bin.lz"); +const u16 gMailTilemap_Tropic[] = INCBIN_U16("graphics/mail/tropic/map.bin.lz"); +const u16 gMailTilemap_Dream[] = INCBIN_U16("graphics/mail/dream/map.bin.lz"); +const u16 gMailTilemap_Fab[] = INCBIN_U16("graphics/mail/fab/map.bin.lz"); +const u16 gMailTilemap_Retro[] = INCBIN_U16("graphics/mail/retro/map.bin.lz"); + +// OK + +const u16 gFrontierFactorySelectMenu_Pal[] = INCBIN_U16("graphics/battle_frontier/factory_menu1.gbapal"); +const u16 gFrontierFactorySelectMenu_Pal2[] = INCBIN_U16("graphics/battle_frontier/factory_menu2.gbapal"); + +const u8 gFrontierFactorySelectMenu_Gfx[] = INCBIN_U8("graphics/battle_frontier/factory_menu1.4bpp"); +const u8 gFrontierFactorySelectMenu_Gfx2[] = INCBIN_U8("graphics/battle_frontier/factory_menu2.4bpp"); + +const u16 gFrontierFactorySelectMenu_Tilemap[] = INCBIN_U16("graphics/battle_frontier/factory_menu.bin"); + +const u8 gFrontierPassMedals_Gfx[] = INCBIN_U8("graphics/frontier_pass/medals.4bpp.lz"); + +const u16 gFrontierPassCursor_Pal[] = INCBIN_U16("graphics/frontier_pass/cursor.gbapal"); + +const u16 gFrontierPassMapCursor_Pal[] = INCBIN_U16("graphics/frontier_pass/map_cursor.gbapal"); + +const u16 gFrontierPassMedalsSilver_Pal[] = INCBIN_U16("graphics/frontier_pass/silver.gbapal"); +const u16 gFrontierPassMedalsGold_Pal[] = INCBIN_U16("graphics/frontier_pass/gold.gbapal"); + +const u16 gPokedexText_Pal[] = INCBIN_U16("graphics/pokedex/text.gbapal"); + +const u16 gPokedexCaughtScreenFade_Pal[] = INCBIN_U16("graphics/pokedex/fade.gbapal"); + +const u16 gPokedexHoennBg_Pal[] = INCBIN_U16("graphics/pokedex/hoenn_bg.gbapal"); +const u16 gPokedexNationalBg_Pal[] = INCBIN_U16("graphics/pokedex/national_bg.gbapal"); + +const u8 gPokedexMenu_Gfx[] = INCBIN_U8("graphics/pokedex/menu.4bpp.lz"); +const u8 gPokedexMenu2_Gfx[] = INCBIN_U8("graphics/pokedex/menu2.4bpp.lz"); + +const u8 gUnused_PokedexNoBall[] = INCBIN_U8("graphics/pokedex/noball_unused.4bpp.lz"); + +const u16 gUnknown_08DC2A08[] = INCBIN_U16("graphics/pokedex/tilemap1.bin.lz"); +const u16 gUnknown_08DC2B1C[] = INCBIN_U16("graphics/pokedex/tilemap2.bin.lz"); +const u16 gUnknown_08DC2C5C[] = INCBIN_U16("graphics/pokedex/tilemap3.bin.lz"); +const u16 gUnknown_08DC2DAC[] = INCBIN_U16("graphics/pokedex/tilemap4.bin.lz"); +const u16 gUnknown_08DC2E6C[] = INCBIN_U16("graphics/pokedex/tilemap5.bin.lz"); +const u16 gUnknown_08DC2F5C[] = INCBIN_U16("graphics/pokedex/tilemap6.bin.lz"); +const u16 gUnknown_08DC2FEC[] = INCBIN_U16("graphics/pokedex/tilemap7.bin.lz"); +const u16 gUnknown_08DC3080[] = INCBIN_U16("graphics/pokedex/tilemap8.bin.lz"); +const u16 gUnknown_08DC3198[] = INCBIN_U16("graphics/pokedex/tilemap9.bin.lz"); + +const u16 gPokedexSearchMenu_Pal[] = INCBIN_U16("graphics/pokedex/search_menu.gbapal"); +const u8 gPokedexSearchMenu_Gfx[] = INCBIN_U8("graphics/pokedex/search_menu.4bpp.lz"); +const u16 gPokedexSearch1_Tilemap[] = INCBIN_U16("graphics/pokedex/search1.bin.lz"); +const u16 gPokedexSearch2_Tilemap[] = INCBIN_U16("graphics/pokedex/search2.bin.lz"); + +const u16 gSummaryScreenPowAcc_Tilemap[] = INCBIN_U16("graphics/interface/powacc_tilemap.bin"); + +const u16 gUnknown_08DC3C34[] = INCBIN_U16("graphics/interface/unk_tilemap.bin"); // probably trade summary screen related? + +const u16 gSummaryScreenWindow_Tilemap[] = INCBIN_U16("graphics/interface/summary.bin"); + +const u16 gIntroCopyright_Pal[] = INCBIN_U16("graphics/intro/copyright.gbapal"); +const u8 gIntroCopyright_Gfx[] = INCBIN_U8("graphics/intro/copyright.4bpp.lz"); +const u16 gIntroCopyright_Tilemap[] = INCBIN_U16("graphics/intro/copyright.bin.lz"); + +const u16 gPokedexAreaScreenAreaUnknown_Pal[] = INCBIN_U16("graphics/pokedex/area_unknown.gbapal"); +const u8 gPokedexAreaScreenAreaUnknown_Gfx[] = INCBIN_U8("graphics/pokedex/area_unknown.4bpp.lz"); + +// seems to be fire red leftovers, but the menu elements is reused in the item menu for TM descriptions. + +const u16 gFireRedMenuElements1_Pal[] = INCBIN_U16("graphics/interface_fr/menu1.gbapal"); +const u16 gFireRedMenuElements2_Pal[] = INCBIN_U16("graphics/interface_fr/menu2.gbapal"); +const u16 gFireRedMenuElements3_Pal[] = INCBIN_U16("graphics/interface_fr/menu3.gbapal"); +const u8 gFireRedMenuElements_Gfx[] = INCBIN_U8("graphics/interface_fr/menu.4bpp"); //the types are reused for item menu + +const u8 gBagMenuHMIcon_Gfx[] = INCBIN_U8("graphics/interface/hm.4bpp"); + +// contest link stuff, appears to be a set of tilemaps + +const u16 gUnknown_08DC63F8[] = INCBIN_U16("graphics/contest/clink_tilemap1.bin"); +const u16 gUnknown_08DC6420[] = INCBIN_U16("graphics/contest/clink_tilemap2.bin"); +const u16 gUnknown_08DC6448[] = INCBIN_U16("graphics/contest/clink_tilemap3.bin"); +const u16 gUnknown_08DC6470[] = INCBIN_U16("graphics/contest/clink_tilemap4.bin"); +const u16 gUnknown_08DC6498[] = INCBIN_U16("graphics/contest/clink_tilemap5.bin"); +const u16 gUnknown_08DC64AC[] = INCBIN_U16("graphics/contest/clink_tilemap6.bin"); +const u16 gUnknown_08DC64C0[] = INCBIN_U16("graphics/contest/clink_tilemap7.bin"); +const u16 gUnknown_08DC64D4[] = INCBIN_U16("graphics/contest/clink_tilemap8.bin"); +const u16 gUnknown_08DC64E8[] = INCBIN_U16("graphics/contest/clink_tilemap9.bin"); +const u16 gUnknown_08DC64FC[] = INCBIN_U16("graphics/contest/clink_tilemap10.bin"); +const u16 gUnknown_08DC6510[] = INCBIN_U16("graphics/contest/clink_tilemap11.bin"); + +// pokenav + +const u16 gPokenavCondition_Pal[] = INCBIN_U16("graphics/pokenav/condition.gbapal"); + +const u8 gPokenavCondition_Gfx[] = INCBIN_U8("graphics/pokenav/condition.4bpp.lz"); +const u16 gPokenavCondition_Tilemap[] = INCBIN_U16("graphics/pokenav/condition.bin.lz"); + +const u16 gPokenavOptions_Tilemap[] = INCBIN_U16("graphics/pokenav/options/options.bin"); +const u8 gPokenavOptions_Gfx[] = INCBIN_U8("graphics/pokenav/options/options.4bpp.lz"); +const u16 gPokenavOptions_Pal[] = INCBIN_U16("graphics/pokenav/options/options.gbapal"); + +const u16 gPokenavHeader_Pal[] = INCBIN_U16("graphics/pokenav/header.gbapal"); +const u8 gPokenavHeader_Gfx[] = INCBIN_U8("graphics/pokenav/header.4bpp.lz"); // TODO: use width 9 and makefile rule for cleanliness, make wasnt behaving, didnt want to apply num_tiles to this +const u16 gPokenavHeader_Tilemap[] = INCBIN_U16("graphics/pokenav/header.bin.lz"); + +const u16 gPokenavLeftHeader_Pal[] = INCBIN_U16("graphics/pokenav/left_headers/palette.gbapal"); +const u8 gPokenavLeftHeaderBeauty_Gfx[] = INCBIN_U8("graphics/pokenav/left_headers/beauty.4bpp.lz"); +const u8 gPokenavLeftHeaderSmart_Gfx[] = INCBIN_U8("graphics/pokenav/left_headers/smart.4bpp.lz"); +const u8 gPokenavLeftHeaderCondition_Gfx[] = INCBIN_U8("graphics/pokenav/left_headers/condition.4bpp.lz"); +const u8 gPokenavLeftHeaderCute_Gfx[] = INCBIN_U8("graphics/pokenav/left_headers/cute.4bpp.lz"); +const u8 gPokenavLeftHeaderMatchCall_Gfx[] = INCBIN_U8("graphics/pokenav/left_headers/match_call.4bpp.lz"); +const u8 gPokenavLeftHeaderMainMenu_Gfx[] = INCBIN_U8("graphics/pokenav/left_headers/main_menu.4bpp.lz"); +const u8 gPokenavLeftHeaderHoennMap_Gfx[] = INCBIN_U8("graphics/pokenav/left_headers/hoenn_map.4bpp.lz"); +const u8 gPokenavLeftHeaderRibbons_Gfx[] = INCBIN_U8("graphics/pokenav/left_headers/ribbons.4bpp.lz"); +const u8 gPokenavLeftHeaderSearch_Gfx[] = INCBIN_U8("graphics/pokenav/left_headers/search.4bpp.lz"); +const u8 gPokenavLeftHeaderTough_Gfx[] = INCBIN_U8("graphics/pokenav/left_headers/tough.4bpp.lz"); +const u8 gPokenavLeftHeaderCool_Gfx[] = INCBIN_U8("graphics/pokenav/left_headers/cool.4bpp.lz"); +const u8 gPokenavLeftHeaderParty_Gfx[] = INCBIN_U8("graphics/pokenav/left_headers/party.4bpp.lz"); + +const u16 gPokenavMessageBox_Pal[] = INCBIN_U16("graphics/pokenav/message.gbapal"); +const u8 gPokenavMessageBox_Gfx[] = INCBIN_U8("graphics/pokenav/message.4bpp.lz"); +const u16 gPokenavMessageBox_Tilemap[] = INCBIN_U16("graphics/pokenav/message.bin.lz"); + +const u16 gHoennMapZoomIcons_Pal[] = INCBIN_U16("graphics/pokenav/zoom.gbapal"); +const u8 gHoennMapZoomIcons_Gfx[] = INCBIN_U8("graphics/pokenav/zoom.4bpp.lz"); + +const u16 gPokenavConditionCancel_Pal[] = INCBIN_U16("graphics/pokenav/cancel.gbapal"); +const u8 gPokenavConditionCancel_Gfx[] = INCBIN_U8("graphics/pokenav/cancel.4bpp"); + +const u16 gPokenavConditionMarker_Pal[] = INCBIN_U16("graphics/pokenav/marker.gbapal"); +const u8 gPokenavConditionMarker_Gfx[] = INCBIN_U8("graphics/pokenav/marker.4bpp"); + +const u16 gBerryBlenderMiscPalette[] = INCBIN_U16("graphics/berry_blender/misc.gbapal"); + +const u16 gBerryBlenderArrowPalette[] = INCBIN_U16("graphics/berry_blender/arrow.gbapal"); + +const u8 gBerryBlenderBetaArrow_Gfx[] = INCBIN_U8("graphics/berry_blender/arrow_old.4bpp"); //unused + +const u8 gBerryBlenderMarubatsuTiles[] = INCBIN_U8("graphics/berry_blender/marubatsu.4bpp"); + +const u8 gBerryBlenderParticlesTiles[] = INCBIN_U8("graphics/berry_blender/particles.4bpp"); + +asm(".space 0x120"); + +const u8 gBerryBlenderCountdownNumbersTiles[] = INCBIN_U8("graphics/berry_blender/countdown_numbers.4bpp"); + +const u8 gBerryBlenderStartTiles[] = INCBIN_U8("graphics/berry_blender/start.4bpp"); + +asm(".space 0x200"); + +const u8 gBerryBlenderArrowTiles[] = INCBIN_U8("graphics/berry_blender/arrow.4bpp"); + +asm(".space 0x2C0"); + +const u16 gEasyChatCursor_Pal[] = INCBIN_U16("graphics/easy_chat/cursor.gbapal"); +const u8 gEasyChatCursor_Gfx[] = INCBIN_U8("graphics/easy_chat/cursor.4bpp.lz"); + +const u16 gEasyChatRightWindow_Pal[] = INCBIN_U16("graphics/easy_chat/rwindow.gbapal"); +const u8 gEasyChatRightWindow_Gfx[] = INCBIN_U8("graphics/easy_chat/rwindow.4bpp.lz"); + +const u8 gEasyChatMode_Gfx[] = INCBIN_U8("graphics/easy_chat/mode.4bpp.lz"); +const u16 gEasyChatMode_Pal[] = INCBIN_U16("graphics/easy_chat/mode.gbapal"); + +const u8 gEasyChatWindow_Gfx[] = INCBIN_U8("graphics/easy_chat/window.4bpp.lz"); // uses mode pal +const u16 gEasyChatWindow_Tilemap[] = INCBIN_U16("graphics/easy_chat/window.bin.lz"); + +const u16 gWallclockMale_Pal[] = INCBIN_U16("graphics/interface/wallclock_male.gbapal"); +const u16 gWallclockFemale_Pal[] = INCBIN_U16("graphics/interface/wallclock_female.gbapal"); +const u8 gWallclock_Gfx[] = INCBIN_U8("graphics/interface/wallclock.4bpp.lz"); +const u16 gUnknown_08DCC648[] = INCBIN_U16("graphics/interface/wallclock1.bin.lz"); +const u16 gUnknown_08DCC908[] = INCBIN_U16("graphics/interface/wallclock2.bin.lz"); + +const u16 gUsePokeblockCondition_Pal[] = INCBIN_U16("graphics/pokeblock/use_screen/condition.gbapal"); +const u8 gUsePokeblockCondition_Gfx[] = INCBIN_U8("graphics/pokeblock/use_screen/condition.4bpp.lz"); + +const u16 gUsePokeblockUpDown_Pal[] = INCBIN_U16("graphics/pokeblock/use_screen/updown.gbapal"); +const u8 gUsePokeblockUpDown_Gfx[] = INCBIN_U8("graphics/pokeblock/use_screen/updown.4bpp"); + +const u16 gUsePokeblockGraph_Pal[] = INCBIN_U16("graphics/pokeblock/use_screen/graph.gbapal"); +const u8 gUsePokeblockGraph_Gfx[] = INCBIN_U8("graphics/pokeblock/use_screen/graph.4bpp.lz"); + +const u16 gUsePokeblockGraph_Tilemap[] = INCBIN_U16("graphics/pokeblock/use_screen/graph.bin.lz"); +const u16 gUsePokeblockNatureWin_Pal[] = INCBIN_U16("graphics/pokeblock/use_screen/nature.gbapal"); + +// slot machine + +const u16 gSlotMachineMenu_Pal[] = INCBIN_U16("graphics/slot_machine/menu.gbapal"); +const u8 gSlotMachineMenu_Gfx[] = INCBIN_U8("graphics/slot_machine/menu.4bpp.lz"); +const u16 gSlotMachineMenu_Tilemap[] = INCBIN_U16("graphics/slot_machine/menu.bin"); + +const u16 gUnknown_08DCEC70[] = INCBIN_U16("graphics/slot_machine/slots_layout.bin"); + +const u16 gUnknown_08DCF170[] = INCBIN_U16("graphics/slot_machine/reel_symbols/1.gbapal"); + +const u16 gUnknown_08DCF190[] = INCBIN_U16("graphics/slot_machine/reel_pikachu.gbapal"); + +const u16 gUnknown_08DCF1B0[] = INCBIN_U16("graphics/slot_machine/shadow.gbapal"); + +const u16 gSlotMachineReelTime_Pal[] = INCBIN_U16("graphics/slot_machine/reel_time.gbapal"); + +const u16 gUnknown_08DCF1F0[] = INCBIN_U16("graphics/slot_machine/smoke.gbapal"); // also duck and pika aura + +const u16 gUnknown_08DCF210[] = INCBIN_U16("graphics/slot_machine/reel_time_explosion/0.gbapal"); + +const u16 gUnknown_08DCF230[] = INCBIN_U16("graphics/slot_machine/spr6.gbapal"); + +const u8 gSlotMachineReelSymbol1Tiles[] = INCBIN_U8("graphics/slot_machine/reel_symbols/1.4bpp"); +const u8 gSlotMachineReelSymbol2Tiles[] = INCBIN_U8("graphics/slot_machine/reel_symbols/2.4bpp"); +const u8 gSlotMachineReelSymbol3Tiles[] = INCBIN_U8("graphics/slot_machine/reel_symbols/3.4bpp"); +const u8 gSlotMachineReelSymbol4Tiles[] = INCBIN_U8("graphics/slot_machine/reel_symbols/4.4bpp"); +const u8 gSlotMachineReelSymbol5Tiles[] = INCBIN_U8("graphics/slot_machine/reel_symbols/5.4bpp"); +const u8 gSlotMachineReelSymbol6Tiles[] = INCBIN_U8("graphics/slot_machine/reel_symbols/6.4bpp"); +const u8 gSlotMachineReelSymbol7Tiles[] = INCBIN_U8("graphics/slot_machine/reel_symbols/7.4bpp"); + +const u8 gSlotMachineReelTime_Gfx[] = INCBIN_U8("graphics/slot_machine/reel_time.4bpp.lz"); + +const u8 gSlotMachineNumber0Tiles[] = INCBIN_U8("graphics/slot_machine/numbers/0.4bpp"); +const u8 gSlotMachineNumber1Tiles[] = INCBIN_U8("graphics/slot_machine/numbers/1.4bpp"); +const u8 gSlotMachineNumber2Tiles[] = INCBIN_U8("graphics/slot_machine/numbers/2.4bpp"); +const u8 gSlotMachineNumber3Tiles[] = INCBIN_U8("graphics/slot_machine/numbers/3.4bpp"); +const u8 gSlotMachineNumber4Tiles[] = INCBIN_U8("graphics/slot_machine/numbers/4.4bpp"); +const u8 gSlotMachineNumber5Tiles[] = INCBIN_U8("graphics/slot_machine/numbers/5.4bpp"); +const u8 gSlotMachineNumber6Tiles[] = INCBIN_U8("graphics/slot_machine/numbers/6.4bpp"); +const u8 gSlotMachineNumber7Tiles[] = INCBIN_U8("graphics/slot_machine/numbers/7.4bpp"); +const u8 gSlotMachineNumber8Tiles[] = INCBIN_U8("graphics/slot_machine/numbers/8.4bpp"); +const u8 gSlotMachineNumber9Tiles[] = INCBIN_U8("graphics/slot_machine/numbers/9.4bpp"); + +const u8 gSlotMachineReelTimeBolt[] = INCBIN_U8("graphics/slot_machine/bolt.4bpp"); +const u8 gSlotMachineReelTimeDuck[] = INCBIN_U8("graphics/slot_machine/duck.4bpp"); +const u8 gSlotMachineReelTimeSmoke[] = INCBIN_U8("graphics/slot_machine/smoke.4bpp"); + +const u8 gSlotMachineReelTimeNumber0[] = INCBIN_U8("graphics/slot_machine/reel_time_numbers/0.4bpp"); +const u8 gSlotMachineReelTimeNumber1[] = INCBIN_U8("graphics/slot_machine/reel_time_numbers/1.4bpp"); +const u8 gSlotMachineReelTimeNumber2[] = INCBIN_U8("graphics/slot_machine/reel_time_numbers/2.4bpp"); +const u8 gSlotMachineReelTimeNumber3[] = INCBIN_U8("graphics/slot_machine/reel_time_numbers/3.4bpp"); +const u8 gSlotMachineReelTimeNumber4[] = INCBIN_U8("graphics/slot_machine/reel_time_numbers/4.4bpp"); +const u8 gSlotMachineReelTimeNumber5[] = INCBIN_U8("graphics/slot_machine/reel_time_numbers/5.4bpp"); + +const u8 gSlotMachineReelTimeLargeBolt0[] = INCBIN_U8("graphics/slot_machine/large_bolt/0.4bpp"); +const u8 gSlotMachineReelTimeLargeBolt1[] = INCBIN_U8("graphics/slot_machine/large_bolt/1.4bpp"); + +const u8 gSlotMachineReelTimeExplosion0[] = INCBIN_U8("graphics/slot_machine/reel_time_explosion/0.4bpp"); +const u8 gSlotMachineReelTimeExplosion1[] = INCBIN_U8("graphics/slot_machine/reel_time_explosion/1.4bpp"); + +const u8 gSlotMachineReelTimeShadow[] = INCBIN_U8("graphics/slot_machine/shadow.4bpp"); +const u8 gSlotMachineReelTimePikaAura[] = INCBIN_U8("graphics/slot_machine/pika_aura.4bpp"); + +const u16 gUnknown_08DD19F8[] = INCBIN_U16("graphics/unknown/unknown_DD19F8.bin"); + +const u8 gUnknown_08DD1A18[] = INCBIN_U8("graphics/unknown/unknown_DD1A18.4bpp"); + +// trainer card + +const u16 gEmeraldTrainerCard0Star_Pal[] = INCBIN_U16("graphics/trainer_card/0star.gbapal"); +const u8 gEmeraldTrainerCard_Gfx[] = INCBIN_U8("graphics/trainer_card/card.4bpp.lz"); + +const u16 gUnknown_08DD1F78[] = INCBIN_U16("graphics/unknown/unknown_DD1F78.bin.lz"); +const u16 gUnknown_08DD2010[] = INCBIN_U16("graphics/unknown/unknown_DD2010.bin.lz"); +const u16 gUnknown_08DD21B0[] = INCBIN_U16("graphics/unknown/unknown_DD21B0.bin.lz"); +const u16 gUnknown_08DD228C[] = INCBIN_U16("graphics/unknown/unknown_DD228C.bin.lz"); + +const u16 gFireRedTrainerCard0Star_Pal[] = INCBIN_U16("graphics/trainer_card/0star_fr.gbapal"); +const u8 gFireRedTrainerCard_Gfx[] = INCBIN_U8("graphics/trainer_card/card_fr.4bpp.lz"); + +const u16 gUnknown_08DD2AE0[] = INCBIN_U16("graphics/unknown/unknown_DD2AE0.bin.lz"); +const u16 gUnknown_08DD2B78[] = INCBIN_U16("graphics/unknown/unknown_DD2B78.bin.lz"); +const u16 gUnknown_08DD2D30[] = INCBIN_U16("graphics/unknown/unknown_DD2D30.bin.lz"); +const u16 gUnknown_08DD2E5C[] = INCBIN_U16("graphics/unknown/unknown_DD2E5C.bin.lz"); + +// pokemon storage system + +const u8 gPSSMenu_Gfx[] = INCBIN_U8("graphics/pokemon_storage/menu.4bpp.lz"); +const u16 gPSSMenu_Pal[] = INCBIN_U16("graphics/pokemon_storage/menu.gbapal"); +const u16 gUnknown_08DD36C8[] = INCBIN_U16("graphics/unknown/unknown_DD36C8.bin.lz"); + +// naming screen + +const u16 gNamingScreenMenu_Pal[] = INCBIN_U16("graphics/naming_screen/menu.gbapal"); +const u8 gNamingScreenMenu_Gfx[] = INCBIN_U8("graphics/naming_screen/menu.4bpp.lz"); +const u8 gNamingScreenRWindow_Gfx[] = INCBIN_U8("graphics/naming_screen/rwindow.4bpp"); +const u8 gNamingScreenROptions_Gfx[] = INCBIN_U8("graphics/naming_screen/roptions.4bpp"); +const u8 gNamingScreenCursor_Gfx[] = INCBIN_U8("graphics/naming_screen/cursor.4bpp"); +const u8 gNamingScreenKeyboardButton_Gfx[] = INCBIN_U8("graphics/naming_screen/keyboard_button.4bpp"); + +const u8 gNamingScreenRightPointingTriangleTiles[] = INCBIN_U8("graphics/naming_screen/right_pointing_triangle.4bpp"); +const u8 gNamingScreenUnderscoreTiles[] = INCBIN_U8("graphics/naming_screen/underscore.4bpp"); + +const u16 gUnknown_08DD4544[] = INCBIN_U16("graphics/unknown/unknown_DD4544.bin.lz"); +const u16 gUnknown_08DD4620[] = INCBIN_U16("graphics/unknown/unknown_DD4620.bin.lz"); +const u16 gUnknown_08DD46E0[] = INCBIN_U16("graphics/unknown/unknown_DD46E0.bin.lz"); +const u16 gUnknown_08DD47A0[] = INCBIN_U16("graphics/unknown/unknown_DD47A0.bin.lz"); + +// link + +const u16 gLinkMiscMenu_Pal[] = INCBIN_U16("graphics/link/misc.gbapal"); +const u8 gLinkMiscMenu_Gfx[] = INCBIN_U8("graphics/link/misc.4bpp.lz"); +const u16 gLinkMiscMenu_Tilemap[] = INCBIN_U16("graphics/link/misc.bin.lz"); + +const u16 gUnknown_08DD4BB0[] = INCBIN_U16("graphics/link/link1.gbapal"); +const u16 gUnknown_08DD4BD0[] = INCBIN_U16("graphics/link/link2.gbapal"); + +const u8 gUnknown_08DD4BF0[] = INCBIN_U8("graphics/link/link_winedge.4bpp.lz"); +const u16 gUnknown_08DD4C4C[] = INCBIN_U16("graphics/link/link_winedge.bin.lz"); + +const u8 gUnknown_08DD4CF8[] = INCBIN_U8("graphics/interface/unk_change_case.4bpp.lz"); + +const u16 gTilesetPalettes_General[] = INCBIN_U16("data/tilesets/primary/general/palettes/00.gbapal"); +const u16 gTilesetPalettes_General1[] = INCBIN_U16("data/tilesets/primary/general/palettes/01.gbapal"); +const u16 gTilesetPalettes_General2[] = INCBIN_U16("data/tilesets/primary/general/palettes/02.gbapal"); +const u16 gTilesetPalettes_General3[] = INCBIN_U16("data/tilesets/primary/general/palettes/03.gbapal"); +const u16 gTilesetPalettes_General4[] = INCBIN_U16("data/tilesets/primary/general/palettes/04.gbapal"); +const u16 gTilesetPalettes_General5[] = INCBIN_U16("data/tilesets/primary/general/palettes/05.gbapal"); +const u16 gTilesetPalettes_General6[] = INCBIN_U16("data/tilesets/primary/general/palettes/06.gbapal"); +const u16 gTilesetPalettes_General7[] = INCBIN_U16("data/tilesets/primary/general/palettes/07.gbapal"); +const u16 gTilesetPalettes_General8[] = INCBIN_U16("data/tilesets/primary/general/palettes/08.gbapal"); +const u16 gTilesetPalettes_General9[] = INCBIN_U16("data/tilesets/primary/general/palettes/09.gbapal"); +const u16 gTilesetPalettes_General10[] = INCBIN_U16("data/tilesets/primary/general/palettes/10.gbapal"); +const u16 gTilesetPalettes_General11[] = INCBIN_U16("data/tilesets/primary/general/palettes/11.gbapal"); +const u16 gTilesetPalettes_General12[] = INCBIN_U16("data/tilesets/primary/general/palettes/12.gbapal"); +const u16 gTilesetPalettes_General13[] = INCBIN_U16("data/tilesets/primary/general/palettes/13.gbapal"); +const u16 gTilesetPalettes_General14[] = INCBIN_U16("data/tilesets/primary/general/palettes/14.gbapal"); +const u16 gTilesetPalettes_General15[] = INCBIN_U16("data/tilesets/primary/general/palettes/15.gbapal"); + +const u8 gTilesetTiles_General[] = INCBIN_U8("data/tilesets/primary/general/tiles.4bpp.lz"); + +// trade/egg hatch + +const u16 gTradeGba_Pal[] = INCBIN_U16("graphics/link/gba.gbapal"); +const u16 gTradeGba2_Pal[] = INCBIN_U16("graphics/link/gba_pal2.gbapal"); +const u8 gTradeGba_Gfx[] = INCBIN_U8("graphics/link/gba.4bpp"); + +// 8DD8760 +asm(".space 0x20"); //blank palette?? + +// berry fix program + +const u16 gBerryFixGameboy_Pal[] = INCBIN_U16("graphics/berry_fix/gba_small.gbapal"); +const u8 gBerryFixGameboy_Gfx[] = INCBIN_U8("graphics/berry_fix/gba_small.4bpp.lz"); +const u16 gBerryFixGameboy_Tilemap[] = INCBIN_U16("graphics/berry_fix/gba_small.bin.lz"); + +const u16 gBerryFixGameboyLogo_Pal[] = INCBIN_U16("graphics/berry_fix/logo.gbapal"); +const u8 gBerryFixGameboyLogo_Gfx[] = INCBIN_U8("graphics/berry_fix/logo.4bpp.lz"); +const u16 gBerryFixGameboyLogo_Tilemap[] = INCBIN_U16("graphics/berry_fix/logo.bin.lz"); + +const u16 gBerryFixGbaTransfer_Pal[] = INCBIN_U16("graphics/berry_fix/gba_transfer.gbapal"); +const u8 gBerryFixGbaTransfer_Gfx[] = INCBIN_U8("graphics/berry_fix/gba_transfer.4bpp.lz"); +const u16 gBerryFixGbaTransfer_Tilemap[] = INCBIN_U16("graphics/berry_fix/gba_transfer.bin.lz"); + +const u16 gBerryFixGbaTransferHighlight_Pal[] = INCBIN_U16("graphics/berry_fix/gba_transfer_highlight.gbapal"); +const u8 gBerryFixGbaTransferHighlight_Gfx[] = INCBIN_U8("graphics/berry_fix/gba_transfer_highlight.4bpp.lz"); +const u16 gBerryFixGbaTransferHighlight_Tilemap[] = INCBIN_U16("graphics/berry_fix/gba_transfer_highlight.bin.lz"); + +const u16 gBerryFixGbaTransferError_Pal[] = INCBIN_U16("graphics/berry_fix/gba_transfer_error.gbapal"); +const u8 gBerryFixGbaTransferError_Gfx[] = INCBIN_U8("graphics/berry_fix/gba_transfer_error.4bpp.lz"); +const u16 gBerryFixGbaTransferError_Tilemap[] = INCBIN_U16("graphics/berry_fix/gba_transfer_error.bin.lz"); + +const u16 gBerryFixWindow_Pal[] = INCBIN_U16("graphics/berry_fix/window.gbapal"); +const u8 gBerryFixWindow_Gfx[] = INCBIN_U8("graphics/berry_fix/window.4bpp.lz"); +const u16 gBerryFixWindow_Tilemap[] = INCBIN_U16("graphics/berry_fix/window.bin.lz"); + +// more trade stuff? + +const u16 gUnknown_08DDB3E4[] = INCBIN_U16("graphics/trade/menu.gbapal"); + +const u16 gUnknown_08DDB444[] = INCBIN_U16("graphics/unknown/unknown_DDB444.gbapal"); + +const u8 gUnknown_08DDB464[] = INCBIN_U8("graphics/trade/menu.4bpp"); + +const u8 gUnknown_08DDC6E4[] = INCBIN_U8("graphics/trade/buttons.4bpp"); + +const u16 gUnused_DDCEE4[] = INCBIN_U16("graphics/unused/unused_DDCEE4.bin"); + +const u16 gUnknown_08DDCF04[] = INCBIN_U16("graphics/unknown/unknown_DDCF04.bin"); + +const u16 gUnknown_08DDD704[] = INCBIN_U16("graphics/unknown/unknown_DDD704.bin"); // textbox tilemap?? + +const u16 gMessageBox_Pal[] = INCBIN_U16("graphics/text_window/message_box.gbapal"); +const u8 gMessageBox_Gfx[] = INCBIN_U8("graphics/text_window/message_box.4bpp"); + +const u8 gWallpaperIcon_Cross[] = INCBIN_U8("graphics/pokemon_storage/cross_icon.4bpp.lz"); +const u8 gWallpaperIcon_Bolt[] = INCBIN_U8("graphics/pokemon_storage/bolt_icon.4bpp.lz"); +const u8 gWallpaperIcon_Plusle[] = INCBIN_U8("graphics/pokemon_storage/plusle_icon.4bpp.lz"); + +const u16 gWallpaperPalettes_Horizontal[] = INCBIN_U16("graphics/pokemon_storage/friends_frame2.gbapal"); +const u16 gWallpaperPalettes_Horizontal2[] = INCBIN_U16("graphics/pokemon_storage/horizontal_bg.gbapal"); + +const u8 gWallpaperTiles_Horizontal[] = INCBIN_U8("graphics/pokemon_storage/horizontal.4bpp.lz"); +const u16 gWallpaperTilemap_Horizontal[] = INCBIN_U16("graphics/pokemon_storage/horizontal.bin.lz"); + +const u16 gWallpaperPalettes_Ribbon[] = INCBIN_U16("graphics/pokemon_storage/ribbon_frame.gbapal"); +const u16 gWallpaperPalettes_Ribbon2[] = INCBIN_U16("graphics/pokemon_storage/ribbon_bg.gbapal"); + +const u8 gWallpaperTiles_Ribbon[] = INCBIN_U8("graphics/pokemon_storage/ribbon.4bpp.lz"); +const u16 gWallpaperTilemap_Ribbon[] = INCBIN_U16("graphics/pokemon_storage/ribbon.bin.lz"); + +// pokenav + +const u16 gUnknown_08DDE010[] = INCBIN_U16("graphics/pokenav/ribbons.gbapal"); +const u8 gUnknown_08DDE030[] = INCBIN_U8("graphics/pokenav/ribbons.4bpp.lz"); +const u16 gUnknown_08DDE12C[] = INCBIN_U16("graphics/pokenav/ribbons.bin.lz"); + +const u16 gMonIconPalettes[] = INCBIN_U16("graphics/pokemon/icon_palettes/icon_palette_0.gbapal"); +const u16 gMonIconPalettes1[] = INCBIN_U16("graphics/pokemon/icon_palettes/icon_palette_1.gbapal"); +const u16 gMonIconPalettes2[] = INCBIN_U16("graphics/pokemon/icon_palettes/icon_palette_2.gbapal"); + +const u16 gTitleScreenBgPalettes[] = INCBIN_U16("graphics/title_screen/pokemon_logo.gbapal"); +const u16 gTitleScreenBgPalettes2[] = INCBIN_U16("graphics/title_screen/rayquaza_and_clouds.gbapal"); + +const u16 gTitleScreenEmeraldVersionPal[] = INCBIN_U16("graphics/title_screen/emerald_version.gbapal"); + +const u16 gUnknown_08DDE458[] = INCBIN_U16("graphics/title_screen/title_screen1.bin.lz"); + +const u16 gTitleScreenPokemonLogoGfx[] = INCBIN_U16("graphics/title_screen/pokemon_logo.8bpp.lz"); + +const u16 gTitleScreenEmeraldVersionGfx[] = INCBIN_U16("graphics/title_screen/emerald_version.8bpp.lz"); + +const u16 gTitleScreenPressStartPal[] = INCBIN_U16("graphics/title_screen/press_start.gbapal"); +const u8 gTitleScreenPressStartGfx[] = INCBIN_U8("graphics/title_screen/press_start.4bpp.lz"); + +const u16 gUnknown_08DE0644[] = INCBIN_U16("graphics/title_screen/title_screen2.bin.lz"); + +// more trainer card stuff + +const u16 gUnknown_08DE07C8[] = INCBIN_U16("graphics/frontier_pass/tiles.gbapal");// size in LoadPalette calls is reported as 0xD0 << 1, which is 0x1A0, but palette is only 0x100 bytes long so it loads garbage as well +const u8 gUnknown_08DE08C8[] = INCBIN_U8("graphics/frontier_pass/tiles.4bpp.lz"); +const u16 gUnknown_08DE2084[] = INCBIN_U16("graphics/frontier_pass/tiles2.8bpp.lz"); +const u16 gUnknown_08DE3060[] = INCBIN_U16("graphics/frontier_pass/tiles.bin.lz"); +const u16 gUnknown_08DE3350[] = INCBIN_U16("graphics/frontier_pass/tilemap1.bin"); +const u16 gUnknown_08DE3374[] = INCBIN_U16("graphics/frontier_pass/tilemap2.bin"); + +// berry crusher + +const u16 gUnknown_08DE3398[] = INCBIN_U16("graphics/berry_crusher/tiles.gbapal"); +const u8 gUnknown_08DE34B8[] = INCBIN_U8("graphics/berry_crusher/tiles.4bpp.lz"); +const u16 gUnknown_08DE3FD4[] = INCBIN_U16("graphics/berry_crusher/tiles.bin.lz"); + +/* random garbage at the end. +asm(".space 0x54BAC\ + .byte 0x0D, 0x00, 0x58, 0x02\ + .space 0x1145\ + .byte 0x02\ + .space 0x3242\ + .byte 0x40\ + .space 0x13"); +*/ \ No newline at end of file diff --git a/src/graphics/berries.h b/src/graphics/berries.h new file mode 100644 index 0000000000..d843a4f808 --- /dev/null +++ b/src/graphics/berries.h @@ -0,0 +1,95 @@ +const u8 gUnknown_08D9BB44[] = INCBIN_U8("graphics/interface/check_berry.4bpp.lz"); +const u8 gUnknown_08D9BEF0[] = INCBIN_U8("graphics/interface/check_berry.gbapal.lz"); + +const u16 gUnknown_08D9BF98[] = INCBIN_U16("graphics/interface/berry_tag.bin.lz"); +const u16 gUnknown_08D9C13C[] = INCBIN_U16("graphics/interface/berry_tag_title.bin.lz"); + +const u8 gBerryCheckCircle_Gfx[] = INCBIN_U8("graphics/interface/check_berry_circle.4bpp.lz"); + +const u8 gBerryPic_Cheri[] = INCBIN_U8("graphics/berries/cheri.4bpp.lz"); +const u8 gBerryPic_Oran[] = INCBIN_U8("graphics/berries/oran.4bpp.lz"); +const u8 gBerryPic_Pecha[] = INCBIN_U8("graphics/berries/pecha.4bpp.lz"); +const u8 gBerryPic_Rawst[] = INCBIN_U8("graphics/berries/rawst.4bpp.lz"); +const u8 gBerryPic_Aspear[] = INCBIN_U8("graphics/berries/aspear.4bpp.lz"); +const u8 gBerryPic_Leppa[] = INCBIN_U8("graphics/berries/leppa.4bpp.lz"); +const u8 gBerryPic_Chesto[] = INCBIN_U8("graphics/berries/chesto.4bpp.lz"); +const u8 gBerryPic_Persim[] = INCBIN_U8("graphics/berries/persim.4bpp.lz"); +const u8 gBerryPic_Lum[] = INCBIN_U8("graphics/berries/lum.4bpp.lz"); +const u8 gBerryPic_Sitrus[] = INCBIN_U8("graphics/berries/sitrus.4bpp.lz"); +const u8 gBerryPic_Figy[] = INCBIN_U8("graphics/berries/figy.4bpp.lz"); +const u8 gBerryPic_Wiki[] = INCBIN_U8("graphics/berries/wiki.4bpp.lz"); +const u8 gBerryPic_Mago[] = INCBIN_U8("graphics/berries/mago.4bpp.lz"); +const u8 gBerryPic_Aguav[] = INCBIN_U8("graphics/berries/aguav.4bpp.lz"); +const u8 gBerryPic_Iapapa[] = INCBIN_U8("graphics/berries/iapapa.4bpp.lz"); +const u8 gBerryPic_Razz[] = INCBIN_U8("graphics/berries/razz.4bpp.lz"); +const u8 gBerryPic_Bluk[] = INCBIN_U8("graphics/berries/bluk.4bpp.lz"); +const u8 gBerryPic_Nanab[] = INCBIN_U8("graphics/berries/nanab.4bpp.lz"); +const u8 gBerryPic_Wepear[] = INCBIN_U8("graphics/berries/wepear.4bpp.lz"); +const u8 gBerryPic_Pinap[] = INCBIN_U8("graphics/berries/pinap.4bpp.lz"); +const u8 gBerryPic_Pomeg[] = INCBIN_U8("graphics/berries/pomeg.4bpp.lz"); +const u8 gBerryPic_Kelpsy[] = INCBIN_U8("graphics/berries/kelpsy.4bpp.lz"); +const u8 gBerryPic_Qualot[] = INCBIN_U8("graphics/berries/qualot.4bpp.lz"); +const u8 gBerryPic_Hondew[] = INCBIN_U8("graphics/berries/hondew.4bpp.lz"); +const u8 gBerryPic_Grepa[] = INCBIN_U8("graphics/berries/grepa.4bpp.lz"); +const u8 gBerryPic_Tamato[] = INCBIN_U8("graphics/berries/tamato.4bpp.lz"); +const u8 gBerryPic_Cornn[] = INCBIN_U8("graphics/berries/cornn.4bpp.lz"); +const u8 gBerryPic_Magost[] = INCBIN_U8("graphics/berries/magost.4bpp.lz"); +const u8 gBerryPic_Rabuta[] = INCBIN_U8("graphics/berries/rabuta.4bpp.lz"); +const u8 gBerryPic_Nomel[] = INCBIN_U8("graphics/berries/nomel.4bpp.lz"); +const u8 gBerryPic_Spelon[] = INCBIN_U8("graphics/berries/spelon.4bpp.lz"); +const u8 gBerryPic_Pamtre[] = INCBIN_U8("graphics/berries/pamtre.4bpp.lz"); +const u8 gBerryPic_Watmel[] = INCBIN_U8("graphics/berries/watmel.4bpp.lz"); +const u8 gBerryPic_Durin[] = INCBIN_U8("graphics/berries/durin.4bpp.lz"); +const u8 gBerryPic_Belue[] = INCBIN_U8("graphics/berries/belue.4bpp.lz"); +const u8 gBerryPic_Liechi[] = INCBIN_U8("graphics/berries/liechi.4bpp.lz"); +const u8 gBerryPic_Ganlon[] = INCBIN_U8("graphics/berries/ganlon.4bpp.lz"); +const u8 gBerryPic_Salac[] = INCBIN_U8("graphics/berries/salac.4bpp.lz"); +const u8 gBerryPic_Petaya[] = INCBIN_U8("graphics/berries/petaya.4bpp.lz"); +const u8 gBerryPic_Apicot[] = INCBIN_U8("graphics/berries/apicot.4bpp.lz"); +const u8 gBerryPic_Lansat[] = INCBIN_U8("graphics/berries/lansat.4bpp.lz"); +const u8 gBerryPic_Starf[] = INCBIN_U8("graphics/berries/starf.4bpp.lz"); +const u8 gBerryPic_Enigma[] = INCBIN_U8("graphics/berries/enigma.4bpp.lz"); + +const u8 gBerryPalette_Cheri[] = INCBIN_U8("graphics/berries/cheri.gbapal.lz"); +const u8 gBerryPalette_Oran[] = INCBIN_U8("graphics/berries/oran.gbapal.lz"); +const u8 gBerryPalette_Pecha[] = INCBIN_U8("graphics/berries/pecha.gbapal.lz"); +const u8 gBerryPalette_Rawst[] = INCBIN_U8("graphics/berries/rawst.gbapal.lz"); +const u8 gBerryPalette_Aspear[] = INCBIN_U8("graphics/berries/aspear.gbapal.lz"); +const u8 gBerryPalette_Leppa[] = INCBIN_U8("graphics/berries/leppa.gbapal.lz"); +const u8 gBerryPalette_Chesto[] = INCBIN_U8("graphics/berries/chesto.gbapal.lz"); +const u8 gBerryPalette_Persim[] = INCBIN_U8("graphics/berries/persim.gbapal.lz"); +const u8 gBerryPalette_Lum[] = INCBIN_U8("graphics/berries/lum.gbapal.lz"); +const u8 gBerryPalette_Sitrus[] = INCBIN_U8("graphics/berries/sitrus.gbapal.lz"); +const u8 gBerryPalette_Figy[] = INCBIN_U8("graphics/berries/figy.gbapal.lz"); +const u8 gBerryPalette_Wiki[] = INCBIN_U8("graphics/berries/wiki.gbapal.lz"); +const u8 gBerryPalette_Mago[] = INCBIN_U8("graphics/berries/mago.gbapal.lz"); +const u8 gBerryPalette_Aguav[] = INCBIN_U8("graphics/berries/aguav.gbapal.lz"); +const u8 gBerryPalette_Iapapa[] = INCBIN_U8("graphics/berries/iapapa.gbapal.lz"); +const u8 gBerryPalette_Razz[] = INCBIN_U8("graphics/berries/razz.gbapal.lz"); +const u8 gBerryPalette_Bluk[] = INCBIN_U8("graphics/berries/bluk.gbapal.lz"); +const u8 gBerryPalette_Nanab[] = INCBIN_U8("graphics/berries/nanab.gbapal.lz"); +const u8 gBerryPalette_Wepear[] = INCBIN_U8("graphics/berries/wepear.gbapal.lz"); +const u8 gBerryPalette_Pinap[] = INCBIN_U8("graphics/berries/pinap.gbapal.lz"); +const u8 gBerryPalette_Pomeg[] = INCBIN_U8("graphics/berries/pomeg.gbapal.lz"); +const u8 gBerryPalette_Kelpsy[] = INCBIN_U8("graphics/berries/kelpsy.gbapal.lz"); +const u8 gBerryPalette_Qualot[] = INCBIN_U8("graphics/berries/qualot.gbapal.lz"); +const u8 gBerryPalette_Hondew[] = INCBIN_U8("graphics/berries/hondew.gbapal.lz"); +const u8 gBerryPalette_Grepa[] = INCBIN_U8("graphics/berries/grepa.gbapal.lz"); +const u8 gBerryPalette_Tamato[] = INCBIN_U8("graphics/berries/tamato.gbapal.lz"); +const u8 gBerryPalette_Cornn[] = INCBIN_U8("graphics/berries/cornn.gbapal.lz"); +const u8 gBerryPalette_Magost[] = INCBIN_U8("graphics/berries/magost.gbapal.lz"); +const u8 gBerryPalette_Rabuta[] = INCBIN_U8("graphics/berries/rabuta.gbapal.lz"); +const u8 gBerryPalette_Nomel[] = INCBIN_U8("graphics/berries/nomel.gbapal.lz"); +const u8 gBerryPalette_Spelon[] = INCBIN_U8("graphics/berries/spelon.gbapal.lz"); +const u8 gBerryPalette_Pamtre[] = INCBIN_U8("graphics/berries/pamtre.gbapal.lz"); +const u8 gBerryPalette_Watmel[] = INCBIN_U8("graphics/berries/watmel.gbapal.lz"); +const u8 gBerryPalette_Durin[] = INCBIN_U8("graphics/berries/durin.gbapal.lz"); +const u8 gBerryPalette_Belue[] = INCBIN_U8("graphics/berries/belue.gbapal.lz"); +const u8 gBerryPalette_Liechi[] = INCBIN_U8("graphics/berries/liechi.gbapal.lz"); +const u8 gBerryPalette_Ganlon[] = INCBIN_U8("graphics/berries/ganlon.gbapal.lz"); +const u8 gBerryPalette_Salac[] = INCBIN_U8("graphics/berries/salac.gbapal.lz"); +const u8 gBerryPalette_Petaya[] = INCBIN_U8("graphics/berries/petaya.gbapal.lz"); +const u8 gBerryPalette_Apicot[] = INCBIN_U8("graphics/berries/apicot.gbapal.lz"); +const u8 gBerryPalette_Lansat[] = INCBIN_U8("graphics/berries/lansat.gbapal.lz"); +const u8 gBerryPalette_Starf[] = INCBIN_U8("graphics/berries/starf.gbapal.lz"); +const u8 gBerryPalette_Enigma[] = INCBIN_U8("graphics/berries/enigma.gbapal.lz"); diff --git a/src/graphics/decorations.h b/src/graphics/decorations.h new file mode 100644 index 0000000000..574ee50b65 --- /dev/null +++ b/src/graphics/decorations.h @@ -0,0 +1,125 @@ +const u8 gUnknown_08DB7AA0[] = INCBIN_U8("graphics/decorations/decor_heavy_desk.4bpp.lz"); +const u8 gUnknown_08DB7B34[] = INCBIN_U8("graphics/decorations/decor_heavy_desk.gbapal.lz"); + +const u8 gUnknown_08DB7B5C[] = INCBIN_U8("graphics/decorations/decor_ragged_desk.4bpp.lz"); +const u8 gUnknown_08DB7BEC[] = INCBIN_U8("graphics/decorations/decor_ragged_desk.gbapal.lz"); + +const u8 gUnknown_08DB7C08[] = INCBIN_U8("graphics/decorations/decor_comfort_desk.4bpp.lz"); +const u8 gUnknown_08DB7CE8[] = INCBIN_U8("graphics/decorations/decor_comfort_desk.gbapal.lz"); + +const u8 gUnknown_08DB7D08[] = INCBIN_U8("graphics/decorations/decor_pretty_desk.4bpp.lz"); +const u8 gUnknown_08DB7DCC[] = INCBIN_U8("graphics/decorations/decor_pretty_desk.gbapal.lz"); + +const u8 gUnknown_08DB7DF4[] = INCBIN_U8("graphics/decorations/decor_brick_desk.4bpp.lz"); +const u8 gUnknown_08DB7EA0[] = INCBIN_U8("graphics/decorations/decor_brick_desk.gbapal.lz"); + +const u8 gUnknown_08DB7EC4[] = INCBIN_U8("graphics/decorations/decor_camp_desk.4bpp.lz"); +const u8 gUnknown_08DB7F60[] = INCBIN_U8("graphics/decorations/decor_camp_desk.gbapal.lz"); + +const u8 gUnknown_08DB7F7C[] = INCBIN_U8("graphics/decorations/decor_hard_desk.4bpp.lz"); +const u8 gUnknown_08DB8070[] = INCBIN_U8("graphics/decorations/decor_hard_desk.gbapal.lz"); + +const u8 gUnknown_08DB808C[] = INCBIN_U8("graphics/decorations/decor_red_plant.4bpp.lz"); +const u8 gUnknown_08DB8138[] = INCBIN_U8("graphics/decorations/decor_red_plant.gbapal.lz"); + +const u8 gUnknown_08DB8160[] = INCBIN_U8("graphics/decorations/decor_tropical_plant.4bpp.lz"); +const u8 gUnknown_08DB8218[] = INCBIN_U8("graphics/decorations/decor_tropical_plant.gbapal.lz"); + +const u8 gUnknown_08DB823C[] = INCBIN_U8("graphics/decorations/decor_pretty_flowers.4bpp.lz"); +const u8 gUnknown_08DB8300[] = INCBIN_U8("graphics/decorations/decor_pretty_flowers.gbapal.lz"); + +const u8 gUnknown_08DB8328[] = INCBIN_U8("graphics/decorations/decor_colorful_plant.4bpp.lz"); +const u8 gUnknown_08DB8430[] = INCBIN_U8("graphics/decorations/decor_colorful_plant.gbapal.lz"); + +const u8 gUnknown_08DB8458[] = INCBIN_U8("graphics/decorations/decor_big_plant.4bpp.lz"); +const u8 gUnknown_08DB8528[] = INCBIN_U8("graphics/decorations/decor_big_plant.gbapal.lz"); + +const u8 gUnknown_08DB854C[] = INCBIN_U8("graphics/decorations/decor_gorgeous_plant.4bpp.lz"); +const u8 gUnknown_08DB862C[] = INCBIN_U8("graphics/decorations/decor_gorgeous_plant.gbapal.lz"); + +const u8 gUnknown_08DB8654[] = INCBIN_U8("graphics/decorations/decor_red_brick.4bpp.lz"); +const u8 gUnknown_08DB86C4[] = INCBIN_U8("graphics/decorations/decor_red_brick.gbapal.lz"); + +const u8 gUnknown_08DB86E0[] = INCBIN_U8("graphics/decorations/decor_yellow_brick.4bpp.lz"); +const u8 gUnknown_08DB8750[] = INCBIN_U8("graphics/decorations/decor_yellow_brick.gbapal.lz"); + +const u8 gUnknown_08DB876C[] = INCBIN_U8("graphics/decorations/decor_blue_brick.4bpp.lz"); +const u8 gUnknown_08DB87DC[] = INCBIN_U8("graphics/decorations/decor_blue_brick.gbapal.lz"); + +const u8 gUnknown_08DB87F8[] = INCBIN_U8("graphics/decorations/decor_red_tent.4bpp.lz"); +const u8 gUnknown_08DB88D8[] = INCBIN_U8("graphics/decorations/decor_red_tent.gbapal.lz"); + +const u8 gUnknown_08DB8900[] = INCBIN_U8("graphics/decorations/decor_blue_tent.4bpp.lz"); +const u8 gUnknown_08DB89E0[] = INCBIN_U8("graphics/decorations/decor_blue_tent.gbapal.lz"); + +const u8 gUnknown_08DB8A08[] = INCBIN_U8("graphics/decorations/decor_solid_board.4bpp.lz"); +const u8 gUnknown_08DB8A68[] = INCBIN_U8("graphics/decorations/decor_solid_board.gbapal.lz"); + +const u8 gUnknown_08DB8A84[] = INCBIN_U8("graphics/decorations/decor_slide.4bpp.lz"); +const u8 gUnknown_08DB8B40[] = INCBIN_U8("graphics/decorations/decor_slide.gbapal.lz"); + +const u8 gUnknown_08DB8B68[] = INCBIN_U8("graphics/decorations/decor_tire.4bpp.lz"); +const u8 gUnknown_08DB8C40[] = INCBIN_U8("graphics/decorations/decor_tire.gbapal.lz"); + +const u8 gUnknown_08DB8C5C[] = INCBIN_U8("graphics/decorations/decor_stand.4bpp.lz"); +const u8 gUnknown_08DB8CF4[] = INCBIN_U8("graphics/decorations/decor_stand.gbapal.lz"); + +const u8 gUnknown_08DB8D18[] = INCBIN_U8("graphics/decorations/decor_breakable_door.4bpp.lz"); +const u8 gUnknown_08DB8DB0[] = INCBIN_U8("graphics/decorations/decor_breakable_door.gbapal.lz"); + +const u8 gUnknown_08DB8DD4[] = INCBIN_U8("graphics/decorations/decor_sand_ornament.4bpp.lz"); +const u8 gUnknown_08DB8E80[] = INCBIN_U8("graphics/decorations/decor_sand_ornament.gbapal.lz"); + +const u8 gUnknown_08DB8EA0[] = INCBIN_U8("graphics/decorations/decor_glass_ornament.4bpp.lz"); +const u8 gUnknown_08DB8F58[] = INCBIN_U8("graphics/decorations/decor_glass_ornament.gbapal.lz"); + +const u8 gUnknown_08DB8F7C[] = INCBIN_U8("graphics/decorations/decor_surf_mat.4bpp.lz"); +const u8 gUnknown_08DB9038[] = INCBIN_U8("graphics/decorations/decor_surf_mat.gbapal.lz"); + +const u8 gUnknown_08DB9058[] = INCBIN_U8("graphics/decorations/decor_thunder_mat.4bpp.lz"); +const u8 gUnknown_08DB9130[] = INCBIN_U8("graphics/decorations/decor_thunder_mat.gbapal.lz"); + +const u8 gUnknown_08DB9154[] = INCBIN_U8("graphics/decorations/decor_fire_blast_mat.4bpp.lz"); +const u8 gUnknown_08DB9218[] = INCBIN_U8("graphics/decorations/decor_fire_blast_mat.gbapal.lz"); + +const u8 gUnknown_08DB9234[] = INCBIN_U8("graphics/decorations/decor_powder_snow_mat.4bpp.lz"); +const u8 gUnknown_08DB92FC[] = INCBIN_U8("graphics/decorations/decor_powder_snow_mat.gbapal.lz"); + +const u8 gUnknown_08DB931C[] = INCBIN_U8("graphics/decorations/decor_attract_mat.4bpp.lz"); +const u8 gUnknown_08DB93E8[] = INCBIN_U8("graphics/decorations/decor_attract_mat.gbapal.lz"); + +const u8 gUnknown_08DB940C[] = INCBIN_U8("graphics/decorations/decor_fissure_mat.4bpp.lz"); +const u8 gUnknown_08DB94CC[] = INCBIN_U8("graphics/decorations/decor_fissure_mat.gbapal.lz"); + +const u8 gUnknown_08DB94E8[] = INCBIN_U8("graphics/decorations/decor_spikes_mat.4bpp.lz"); +const u8 gUnknown_08DB95AC[] = INCBIN_U8("graphics/decorations/decor_spikes_mat.gbapal.lz"); + +const u8 gUnknown_08DB95D0[] = INCBIN_U8("graphics/decorations/decor_snorlax_doll.4bpp.lz"); +const u8 gUnknown_08DB96C4[] = INCBIN_U8("graphics/decorations/decor_snorlax_doll.gbapal.lz"); + +const u8 gUnknown_08DB96EC[] = INCBIN_U8("graphics/decorations/decor_rhydon_doll.4bpp.lz"); +const u8 gUnknown_08DB97F4[] = INCBIN_U8("graphics/decorations/decor_rhydon_doll.gbapal.lz"); + +const u8 gUnknown_08DB981C[] = INCBIN_U8("graphics/decorations/decor_lapras_doll.4bpp.lz"); +const u8 gUnknown_08DB9908[] = INCBIN_U8("graphics/decorations/decor_lapras_doll.gbapal.lz"); + +const u8 gUnknown_08DB9930[] = INCBIN_U8("graphics/decorations/decor_venusaur_doll.4bpp.lz"); +const u8 gUnknown_08DB9A54[] = INCBIN_U8("graphics/decorations/decor_venusaur_doll.gbapal.lz"); + +const u8 gUnknown_08DB9A7C[] = INCBIN_U8("graphics/decorations/decor_charizard_doll.4bpp.lz"); +const u8 gUnknown_08DB9B7C[] = INCBIN_U8("graphics/decorations/decor_charizard_doll.gbapal.lz"); + +const u8 gUnknown_08DB9BA4[] = INCBIN_U8("graphics/decorations/decor_blastoise_doll.4bpp.lz"); +const u8 gUnknown_08DB9CB0[] = INCBIN_U8("graphics/decorations/decor_blastoise_doll.gbapal.lz"); + +const u8 gUnknown_08DB9CD8[] = INCBIN_U8("graphics/decorations/decor_wailmer_doll.4bpp.lz"); +const u8 gUnknown_08DB9DAC[] = INCBIN_U8("graphics/decorations/decor_wailmer_doll.gbapal.lz"); + +const u8 gUnknown_08DB9DD4[] = INCBIN_U8("graphics/decorations/decor_regice_doll.4bpp.lz"); +const u8 gUnknown_08DB9EE4[] = INCBIN_U8("graphics/decorations/decor_regice_doll.gbapal.lz"); + +const u8 gUnknown_08DB9F08[] = INCBIN_U8("graphics/decorations/decor_regirock_doll.4bpp.lz"); +const u8 gUnknown_08DB9FFC[] = INCBIN_U8("graphics/decorations/decor_regirock_doll.gbapal.lz"); + +const u8 gUnknown_08DBA020[] = INCBIN_U8("graphics/decorations/decor_registeel_doll.4bpp.lz"); +const u8 gUnknown_08DBA12C[] = INCBIN_U8("graphics/decorations/decor_registeel_doll.gbapal.lz"); diff --git a/src/graphics/items.h b/src/graphics/items.h new file mode 100644 index 0000000000..299e519ca2 --- /dev/null +++ b/src/graphics/items.h @@ -0,0 +1,738 @@ +const u8 gItemIcon_QuestionMark[] = INCBIN_U8("graphics/items/icons/question_mark.4bpp.lz"); +const u8 gItemIconPalette_QuestionMark[] = INCBIN_U8("graphics/items/icon_palettes/question_mark.gbapal.lz"); + +const u8 gItemIcon_ReturnToFieldArrow[] = INCBIN_U8("graphics/items/icons/return_to_field_arrow.4bpp.lz"); +const u8 gItemIconPalette_ReturnToFieldArrow[] = INCBIN_U8("graphics/items/icon_palettes/return_to_field_arrow.gbapal.lz"); + +// Pokeballs + +const u8 gItemIcon_MasterBall[] = INCBIN_U8("graphics/items/icons/master_ball.4bpp.lz"); +const u8 gItemIconPalette_MasterBall[] = INCBIN_U8("graphics/items/icon_palettes/master_ball.gbapal.lz"); + +const u8 gItemIcon_UltraBall[] = INCBIN_U8("graphics/items/icons/ultra_ball.4bpp.lz"); +const u8 gItemIconPalette_UltraBall[] = INCBIN_U8("graphics/items/icon_palettes/ultra_ball.gbapal.lz"); + +const u8 gItemIcon_GreatBall[] = INCBIN_U8("graphics/items/icons/great_ball.4bpp.lz"); +const u8 gItemIconPalette_GreatBall[] = INCBIN_U8("graphics/items/icon_palettes/great_ball.gbapal.lz"); + +const u8 gItemIcon_PokeBall[] = INCBIN_U8("graphics/items/icons/poke_ball.4bpp.lz"); +const u8 gItemIconPalette_PokeBall[] = INCBIN_U8("graphics/items/icon_palettes/poke_ball.gbapal.lz"); + +const u8 gItemIcon_SafariBall[] = INCBIN_U8("graphics/items/icons/safari_ball.4bpp.lz"); +const u8 gItemIconPalette_SafariBall[] = INCBIN_U8("graphics/items/icon_palettes/safari_ball.gbapal.lz"); + +const u8 gItemIcon_NetBall[] = INCBIN_U8("graphics/items/icons/net_ball.4bpp.lz"); +const u8 gItemIconPalette_NetBall[] = INCBIN_U8("graphics/items/icon_palettes/net_ball.gbapal.lz"); + +const u8 gItemIcon_DiveBall[] = INCBIN_U8("graphics/items/icons/dive_ball.4bpp.lz"); +const u8 gItemIconPalette_DiveBall[] = INCBIN_U8("graphics/items/icon_palettes/dive_ball.gbapal.lz"); + +const u8 gItemIcon_NestBall[] = INCBIN_U8("graphics/items/icons/nest_ball.4bpp.lz"); +const u8 gItemIconPalette_NestBall[] = INCBIN_U8("graphics/items/icon_palettes/nest_ball.gbapal.lz"); + +const u8 gItemIcon_RepeatBall[] = INCBIN_U8("graphics/items/icons/repeat_ball.4bpp.lz"); +const u8 gItemIconPalette_RepeatBall[] = INCBIN_U8("graphics/items/icon_palettes/repeat_ball.gbapal.lz"); + +const u8 gItemIcon_TimerBall[] = INCBIN_U8("graphics/items/icons/timer_ball.4bpp.lz"); + +const u8 gItemIcon_LuxuryBall[] = INCBIN_U8("graphics/items/icons/luxury_ball.4bpp.lz"); +const u8 gItemIconPalette_LuxuryBall[] = INCBIN_U8("graphics/items/icon_palettes/luxury_ball.gbapal.lz"); + +const u8 gItemIcon_PremierBall[] = INCBIN_U8("graphics/items/icons/premier_ball.4bpp.lz"); + +// Medicine + +const u8 gItemIcon_Potion[] = INCBIN_U8("graphics/items/icons/potion.4bpp.lz"); +const u8 gItemIconPalette_Potion[] = INCBIN_U8("graphics/items/icon_palettes/potion.gbapal.lz"); + +const u8 gItemIcon_Antidote[] = INCBIN_U8("graphics/items/icons/antidote.4bpp.lz"); +const u8 gItemIconPalette_Antidote[] = INCBIN_U8("graphics/items/icon_palettes/antidote.gbapal.lz"); + +const u8 gItemIconPalette_BurnHeal[] = INCBIN_U8("graphics/items/icon_palettes/burn_heal.gbapal.lz"); +const u8 gItemIconPalette_IceHeal[] = INCBIN_U8("graphics/items/icon_palettes/ice_heal.gbapal.lz"); +const u8 gItemIcon_StatusHeal[] = INCBIN_U8("graphics/items/icons/status_heal.4bpp.lz"); +const u8 gItemIconPalette_Awakening[] = INCBIN_U8("graphics/items/icon_palettes/awakening.gbapal.lz"); +const u8 gItemIconPalette_ParalyzeHeal[] = INCBIN_U8("graphics/items/icon_palettes/paralyze_heal.gbapal.lz"); + +const u8 gItemIcon_LargePotion[] = INCBIN_U8("graphics/items/icons/large_potion.4bpp.lz"); +const u8 gItemIconPalette_FullRestore[] = INCBIN_U8("graphics/items/icon_palettes/full_restore.gbapal.lz"); +const u8 gItemIconPalette_MaxPotion[] = INCBIN_U8("graphics/items/icon_palettes/max_potion.gbapal.lz"); + +const u8 gItemIconPalette_HyperPotion[] = INCBIN_U8("graphics/items/icon_palettes/hyper_potion.gbapal.lz"); + +const u8 gItemIconPalette_SuperPotion[] = INCBIN_U8("graphics/items/icon_palettes/super_potion.gbapal.lz"); + +const u8 gItemIcon_FullHeal[] = INCBIN_U8("graphics/items/icons/full_heal.4bpp.lz"); +const u8 gItemIconPalette_FullHeal[] = INCBIN_U8("graphics/items/icon_palettes/full_heal.gbapal.lz"); + +const u8 gItemIcon_Revive[] = INCBIN_U8("graphics/items/icons/revive.4bpp.lz"); + +const u8 gItemIcon_MaxRevive[] = INCBIN_U8("graphics/items/icons/max_revive.4bpp.lz"); + +const u8 gItemIconPalette_Revive[] = INCBIN_U8("graphics/items/icon_palettes/revive.gbapal.lz"); + +const u8 gItemIcon_FreshWater[] = INCBIN_U8("graphics/items/icons/fresh_water.4bpp.lz"); +const u8 gItemIconPalette_FreshWater[] = INCBIN_U8("graphics/items/icon_palettes/fresh_water.gbapal.lz"); + +const u8 gItemIcon_SodaPop[] = INCBIN_U8("graphics/items/icons/soda_pop.4bpp.lz"); +const u8 gItemIconPalette_SodaPop[] = INCBIN_U8("graphics/items/icon_palettes/soda_pop.gbapal.lz"); + +const u8 gItemIcon_Lemonade[] = INCBIN_U8("graphics/items/icons/lemonade.4bpp.lz"); +const u8 gItemIconPalette_Lemonade[] = INCBIN_U8("graphics/items/icon_palettes/lemonade.gbapal.lz"); + +const u8 gItemIcon_MoomooMilk[] = INCBIN_U8("graphics/items/icons/moomoo_milk.4bpp.lz"); +const u8 gItemIconPalette_MoomooMilk[] = INCBIN_U8("graphics/items/icon_palettes/moomoo_milk.gbapal.lz"); + +const u8 gItemIcon_Powder[] = INCBIN_U8("graphics/items/icons/powder.4bpp.lz"); +const u8 gItemIconPalette_EnergyPowder[] = INCBIN_U8("graphics/items/icon_palettes/energy_powder.gbapal.lz"); + +const u8 gItemIcon_EnergyRoot[] = INCBIN_U8("graphics/items/icons/energy_root.4bpp.lz"); +const u8 gItemIconPalette_EnergyRoot[] = INCBIN_U8("graphics/items/icon_palettes/energy_root.gbapal.lz"); + +const u8 gItemIconPalette_HealPowder[] = INCBIN_U8("graphics/items/icon_palettes/heal_powder.gbapal.lz"); + +const u8 gItemIcon_RevivalHerb[] = INCBIN_U8("graphics/items/icons/revival_herb.4bpp.lz"); +const u8 gItemIconPalette_RevivalHerb[] = INCBIN_U8("graphics/items/icon_palettes/revival_herb.gbapal.lz"); + +const u8 gItemIcon_Ether[] = INCBIN_U8("graphics/items/icons/ether.4bpp.lz"); +const u8 gItemIconPalette_Ether[] = INCBIN_U8("graphics/items/icon_palettes/ether.gbapal.lz"); +const u8 gItemIconPalette_MaxEther[] = INCBIN_U8("graphics/items/icon_palettes/max_ether.gbapal.lz"); +const u8 gItemIconPalette_Elixir[] = INCBIN_U8("graphics/items/icon_palettes/elixir.gbapal.lz"); +const u8 gItemIconPalette_MaxElixir[] = INCBIN_U8("graphics/items/icon_palettes/max_elixir.gbapal.lz"); + +const u8 gItemIcon_LavaCookie[] = INCBIN_U8("graphics/items/icons/lava_cookie.4bpp.lz"); +const u8 gItemIconPalette_LavaCookieAndLetter[] = INCBIN_U8("graphics/items/icon_palettes/lava_cookie_and_letter.gbapal.lz"); + +const u8 gItemIcon_Flute[] = INCBIN_U8("graphics/items/icons/flute.4bpp.lz"); +const u8 gItemIconPalette_BlueFlute[] = INCBIN_U8("graphics/items/icon_palettes/blue_flute.gbapal.lz"); +const u8 gItemIconPalette_YellowFlute[] = INCBIN_U8("graphics/items/icon_palettes/yellow_flute.gbapal.lz"); +const u8 gItemIconPalette_RedFlute[] = INCBIN_U8("graphics/items/icon_palettes/red_flute.gbapal.lz"); +const u8 gItemIconPalette_BlackFlute[] = INCBIN_U8("graphics/items/icon_palettes/black_flute.gbapal.lz"); +const u8 gItemIconPalette_WhiteFlute[] = INCBIN_U8("graphics/items/icon_palettes/white_flute.gbapal.lz"); + +const u8 gItemIcon_BerryJuice[] = INCBIN_U8("graphics/items/icons/berry_juice.4bpp.lz"); +const u8 gItemIconPalette_BerryJuice[] = INCBIN_U8("graphics/items/icon_palettes/berry_juice.gbapal.lz"); + +const u8 gItemIcon_SacredAsh[] = INCBIN_U8("graphics/items/icons/sacred_ash.4bpp.lz"); +const u8 gItemIconPalette_SacredAsh[] = INCBIN_U8("graphics/items/icon_palettes/sacred_ash.gbapal.lz"); + +// Collectibles + +const u8 gItemIconPalette_ShoalSalt[] = INCBIN_U8("graphics/items/icon_palettes/shoal_salt.gbapal.lz"); + +const u8 gItemIcon_ShoalShell[] = INCBIN_U8("graphics/items/icons/shoal_shell.4bpp.lz"); +const u8 gItemIconPalette_Shell[] = INCBIN_U8("graphics/items/icon_palettes/shell.gbapal.lz"); + +const u8 gItemIcon_Shard[] = INCBIN_U8("graphics/items/icons/shard.4bpp.lz"); +const u8 gItemIconPalette_RedShard[] = INCBIN_U8("graphics/items/icon_palettes/red_shard.gbapal.lz"); +const u8 gItemIconPalette_BlueShard[] = INCBIN_U8("graphics/items/icon_palettes/blue_shard.gbapal.lz"); +const u8 gItemIconPalette_YellowShard[] = INCBIN_U8("graphics/items/icon_palettes/yellow_shard.gbapal.lz"); +const u8 gItemIconPalette_GreenShard[] = INCBIN_U8("graphics/items/icon_palettes/green_shard.gbapal.lz"); + +// Vitamins + +const u8 gItemIcon_HPUp[] = INCBIN_U8("graphics/items/icons/hp_up.4bpp.lz"); +const u8 gItemIconPalette_HPUp[] = INCBIN_U8("graphics/items/icon_palettes/hp_up.gbapal.lz"); + +const u8 gItemIcon_Vitamin[] = INCBIN_U8("graphics/items/icons/vitamin.4bpp.lz"); +const u8 gItemIconPalette_Protein[] = INCBIN_U8("graphics/items/icon_palettes/protein.gbapal.lz"); +const u8 gItemIconPalette_Iron[] = INCBIN_U8("graphics/items/icon_palettes/iron.gbapal.lz"); +const u8 gItemIconPalette_Carbos[] = INCBIN_U8("graphics/items/icon_palettes/carbos.gbapal.lz"); +const u8 gItemIconPalette_Calcium[] = INCBIN_U8("graphics/items/icon_palettes/calcium.gbapal.lz"); + +const u8 gItemIcon_RareCandy[] = INCBIN_U8("graphics/items/icons/rare_candy.4bpp.lz"); +const u8 gItemIconPalette_RareCandy[] = INCBIN_U8("graphics/items/icon_palettes/rare_candy.gbapal.lz"); + +const u8 gItemIcon_PPUp[] = INCBIN_U8("graphics/items/icons/pp_up.4bpp.lz"); +const u8 gItemIconPalette_PPUp[] = INCBIN_U8("graphics/items/icon_palettes/pp_up.gbapal.lz"); + +const u8 gItemIconPalette_Zinc[] = INCBIN_U8("graphics/items/icon_palettes/zinc.gbapal.lz"); + +const u8 gItemIcon_PPMax[] = INCBIN_U8("graphics/items/icons/pp_max.4bpp.lz"); +const u8 gItemIconPalette_PPMax[] = INCBIN_U8("graphics/items/icon_palettes/pp_max.gbapal.lz"); + +// Battle items + +const u8 gItemIconPalette_GuardSpec[] = INCBIN_U8("graphics/items/icon_palettes/guard_spec.gbapal.lz"); +const u8 gItemIconPalette_DireHit[] = INCBIN_U8("graphics/items/icon_palettes/dire_hit.gbapal.lz"); +const u8 gItemIconPalette_XAttack[] = INCBIN_U8("graphics/items/icon_palettes/x_attack.gbapal.lz"); +const u8 gItemIcon_BattleStatItem[] = INCBIN_U8("graphics/items/icons/battle_stat_item.4bpp.lz"); +const u8 gItemIconPalette_XDefend[] = INCBIN_U8("graphics/items/icon_palettes/x_defend.gbapal.lz"); +const u8 gItemIconPalette_XSpeed[] = INCBIN_U8("graphics/items/icon_palettes/x_speed.gbapal.lz"); +const u8 gItemIconPalette_XAccuracy[] = INCBIN_U8("graphics/items/icon_palettes/x_accuracy.gbapal.lz"); +const u8 gItemIconPalette_XSpecial[] = INCBIN_U8("graphics/items/icon_palettes/x_special.gbapal.lz"); + +const u8 gItemIcon_PokeDoll[] = INCBIN_U8("graphics/items/icons/poke_doll.4bpp.lz"); +const u8 gItemIconPalette_PokeDoll[] = INCBIN_U8("graphics/items/icon_palettes/poke_doll.gbapal.lz"); + +const u8 gItemIcon_FluffyTail[] = INCBIN_U8("graphics/items/icons/fluffy_tail.4bpp.lz"); +const u8 gItemIconPalette_FluffyTail[] = INCBIN_U8("graphics/items/icon_palettes/fluffy_tail.gbapal.lz"); + +// Field items + +const u8 gItemIcon_Repel[] = INCBIN_U8("graphics/items/icons/repel.4bpp.lz"); +const u8 gItemIconPalette_SuperRepel[] = INCBIN_U8("graphics/items/icon_palettes/super_repel.gbapal.lz"); +const u8 gItemIconPalette_MaxRepel[] = INCBIN_U8("graphics/items/icon_palettes/max_repel.gbapal.lz"); + +const u8 gItemIcon_EscapeRope[] = INCBIN_U8("graphics/items/icons/escape_rope.4bpp.lz"); + +const u8 gItemIconPalette_EscapeRope[] = INCBIN_U8("graphics/items/icon_palettes/escape_rope.gbapal.lz"); + +const u8 gItemIconPalette_Repel[] = INCBIN_U8("graphics/items/icon_palettes/repel.gbapal.lz"); + +// Evolution stones + +const u8 gItemIcon_SunStone[] = INCBIN_U8("graphics/items/icons/sun_stone.4bpp.lz"); +const u8 gItemIconPalette_SunStone[] = INCBIN_U8("graphics/items/icon_palettes/sun_stone.gbapal.lz"); + +const u8 gItemIcon_MoonStone[] = INCBIN_U8("graphics/items/icons/moon_stone.4bpp.lz"); +const u8 gItemIconPalette_MoonStone[] = INCBIN_U8("graphics/items/icon_palettes/moon_stone.gbapal.lz"); + +const u8 gItemIcon_FireStone[] = INCBIN_U8("graphics/items/icons/fire_stone.4bpp.lz"); +const u8 gItemIconPalette_FireStone[] = INCBIN_U8("graphics/items/icon_palettes/fire_stone.gbapal.lz"); + +const u8 gItemIcon_ThunderStone[] = INCBIN_U8("graphics/items/icons/thunder_stone.4bpp.lz"); +const u8 gItemIconPalette_ThunderStone[] = INCBIN_U8("graphics/items/icon_palettes/thunder_stone.gbapal.lz"); + +const u8 gItemIcon_WaterStone[] = INCBIN_U8("graphics/items/icons/water_stone.4bpp.lz"); +const u8 gItemIconPalette_WaterStone[] = INCBIN_U8("graphics/items/icon_palettes/water_stone.gbapal.lz"); + +const u8 gItemIcon_LeafStone[] = INCBIN_U8("graphics/items/icons/leaf_stone.4bpp.lz"); +const u8 gItemIconPalette_LeafStone[] = INCBIN_U8("graphics/items/icon_palettes/leaf_stone.gbapal.lz"); + +// Valuables + +const u8 gItemIcon_TinyMushroom[] = INCBIN_U8("graphics/items/icons/tiny_mushroom.4bpp.lz"); +const u8 gItemIcon_BigMushroom[] = INCBIN_U8("graphics/items/icons/big_mushroom.4bpp.lz"); +const u8 gItemIconPalette_Mushroom[] = INCBIN_U8("graphics/items/icon_palettes/mushroom.gbapal.lz"); + +const u8 gItemIcon_Pearl[] = INCBIN_U8("graphics/items/icons/pearl.4bpp.lz"); +const u8 gItemIconPalette_Pearl[] = INCBIN_U8("graphics/items/icon_palettes/pearl.gbapal.lz"); +const u8 gItemIcon_BigPearl[] = INCBIN_U8("graphics/items/icons/big_pearl.4bpp.lz"); + +const u8 gItemIcon_Stardust[] = INCBIN_U8("graphics/items/icons/stardust.4bpp.lz"); +const u8 gItemIconPalette_Star[] = INCBIN_U8("graphics/items/icon_palettes/star.gbapal.lz"); +const u8 gItemIcon_StarPiece[] = INCBIN_U8("graphics/items/icons/star_piece.4bpp.lz"); + +const u8 gItemIcon_Nugget[] = INCBIN_U8("graphics/items/icons/nugget.4bpp.lz"); +const u8 gItemIconPalette_Nugget[] = INCBIN_U8("graphics/items/icon_palettes/nugget.gbapal.lz"); + +const u8 gItemIcon_HeartScale[] = INCBIN_U8("graphics/items/icons/heart_scale.4bpp.lz"); +const u8 gItemIconPalette_HeartScale[] = INCBIN_U8("graphics/items/icon_palettes/heart_scale.gbapal.lz"); + +// Mail + +const u8 gItemIcon_OrangeMail[] = INCBIN_U8("graphics/items/icons/orange_mail.4bpp.lz"); +const u8 gItemIconPalette_OrangeMail[] = INCBIN_U8("graphics/items/icon_palettes/orange_mail.gbapal.lz"); + +const u8 gItemIcon_HarborMail[] = INCBIN_U8("graphics/items/icons/harbor_mail.4bpp.lz"); +const u8 gItemIconPalette_HarborMail[] = INCBIN_U8("graphics/items/icon_palettes/harbor_mail.gbapal.lz"); + +const u8 gItemIcon_GlitterMail[] = INCBIN_U8("graphics/items/icons/glitter_mail.4bpp.lz"); +const u8 gItemIconPalette_GlitterMail[] = INCBIN_U8("graphics/items/icon_palettes/glitter_mail.gbapal.lz"); + +const u8 gItemIcon_MechMail[] = INCBIN_U8("graphics/items/icons/mech_mail.4bpp.lz"); +const u8 gItemIconPalette_MechMail[] = INCBIN_U8("graphics/items/icon_palettes/mech_mail.gbapal.lz"); + +const u8 gItemIcon_WoodMail[] = INCBIN_U8("graphics/items/icons/wood_mail.4bpp.lz"); +const u8 gItemIconPalette_WoodMail[] = INCBIN_U8("graphics/items/icon_palettes/wood_mail.gbapal.lz"); + +const u8 gItemIcon_WaveMail[] = INCBIN_U8("graphics/items/icons/wave_mail.4bpp.lz"); +const u8 gItemIconPalette_WaveMail[] = INCBIN_U8("graphics/items/icon_palettes/wave_mail.gbapal.lz"); + +const u8 gItemIcon_BeadMail[] = INCBIN_U8("graphics/items/icons/bead_mail.4bpp.lz"); +const u8 gItemIconPalette_BeadMail[] = INCBIN_U8("graphics/items/icon_palettes/bead_mail.gbapal.lz"); + +const u8 gItemIcon_ShadowMail[] = INCBIN_U8("graphics/items/icons/shadow_mail.4bpp.lz"); +const u8 gItemIconPalette_ShadowMail[] = INCBIN_U8("graphics/items/icon_palettes/shadow_mail.gbapal.lz"); + +const u8 gItemIcon_TropicMail[] = INCBIN_U8("graphics/items/icons/tropic_mail.4bpp.lz"); +const u8 gItemIconPalette_TropicMail[] = INCBIN_U8("graphics/items/icon_palettes/tropic_mail.gbapal.lz"); + +const u8 gItemIcon_DreamMail[] = INCBIN_U8("graphics/items/icons/dream_mail.4bpp.lz"); +const u8 gItemIconPalette_DreamMail[] = INCBIN_U8("graphics/items/icon_palettes/dream_mail.gbapal.lz"); + +const u8 gItemIcon_FabMail[] = INCBIN_U8("graphics/items/icons/fab_mail.4bpp.lz"); +const u8 gItemIconPalette_FabMail[] = INCBIN_U8("graphics/items/icon_palettes/fab_mail.gbapal.lz"); + +const u8 gItemIcon_RetroMail[] = INCBIN_U8("graphics/items/icons/retro_mail.4bpp.lz"); +const u8 gItemIconPalette_RetroMail[] = INCBIN_U8("graphics/items/icon_palettes/retro_mail.gbapal.lz"); + +// Berries + +const u8 gItemIcon_CheriBerry[] = INCBIN_U8("graphics/items/icons/cheri_berry.4bpp.lz"); +const u8 gItemIconPalette_CheriBerry[] = INCBIN_U8("graphics/items/icon_palettes/cheri_berry.gbapal.lz"); + +const u8 gItemIcon_ChestoBerry[] = INCBIN_U8("graphics/items/icons/chesto_berry.4bpp.lz"); +const u8 gItemIconPalette_ChestoBerry[] = INCBIN_U8("graphics/items/icon_palettes/chesto_berry.gbapal.lz"); + +const u8 gItemIcon_PechaBerry[] = INCBIN_U8("graphics/items/icons/pecha_berry.4bpp.lz"); +const u8 gItemIconPalette_PechaBerry[] = INCBIN_U8("graphics/items/icon_palettes/pecha_berry.gbapal.lz"); + +const u8 gItemIcon_RawstBerry[] = INCBIN_U8("graphics/items/icons/rawst_berry.4bpp.lz"); +const u8 gItemIconPalette_RawstBerry[] = INCBIN_U8("graphics/items/icon_palettes/rawst_berry.gbapal.lz"); + +const u8 gItemIcon_AspearBerry[] = INCBIN_U8("graphics/items/icons/aspear_berry.4bpp.lz"); +const u8 gItemIconPalette_AspearBerry[] = INCBIN_U8("graphics/items/icon_palettes/aspear_berry.gbapal.lz"); + +const u8 gItemIcon_LeppaBerry[] = INCBIN_U8("graphics/items/icons/leppa_berry.4bpp.lz"); +const u8 gItemIconPalette_LeppaBerry[] = INCBIN_U8("graphics/items/icon_palettes/leppa_berry.gbapal.lz"); + +const u8 gItemIcon_OranBerry[] = INCBIN_U8("graphics/items/icons/oran_berry.4bpp.lz"); +const u8 gItemIconPalette_OranBerry[] = INCBIN_U8("graphics/items/icon_palettes/oran_berry.gbapal.lz"); + +const u8 gItemIcon_PersimBerry[] = INCBIN_U8("graphics/items/icons/persim_berry.4bpp.lz"); +const u8 gItemIconPalette_PersimBerry[] = INCBIN_U8("graphics/items/icon_palettes/persim_berry.gbapal.lz"); + +const u8 gItemIcon_LumBerry[] = INCBIN_U8("graphics/items/icons/lum_berry.4bpp.lz"); +const u8 gItemIconPalette_LumBerry[] = INCBIN_U8("graphics/items/icon_palettes/lum_berry.gbapal.lz"); + +const u8 gItemIcon_SitrusBerry[] = INCBIN_U8("graphics/items/icons/sitrus_berry.4bpp.lz"); +const u8 gItemIconPalette_SitrusBerry[] = INCBIN_U8("graphics/items/icon_palettes/sitrus_berry.gbapal.lz"); + +const u8 gItemIcon_FigyBerry[] = INCBIN_U8("graphics/items/icons/figy_berry.4bpp.lz"); +const u8 gItemIconPalette_FigyBerry[] = INCBIN_U8("graphics/items/icon_palettes/figy_berry.gbapal.lz"); + +const u8 gItemIcon_WikiBerry[] = INCBIN_U8("graphics/items/icons/wiki_berry.4bpp.lz"); +const u8 gItemIconPalette_WikiBerry[] = INCBIN_U8("graphics/items/icon_palettes/wiki_berry.gbapal.lz"); + +const u8 gItemIcon_MagoBerry[] = INCBIN_U8("graphics/items/icons/mago_berry.4bpp.lz"); +const u8 gItemIconPalette_MagoBerry[] = INCBIN_U8("graphics/items/icon_palettes/mago_berry.gbapal.lz"); + +const u8 gItemIcon_AguavBerry[] = INCBIN_U8("graphics/items/icons/aguav_berry.4bpp.lz"); +const u8 gItemIconPalette_AguavBerry[] = INCBIN_U8("graphics/items/icon_palettes/aguav_berry.gbapal.lz"); + +const u8 gItemIcon_IapapaBerry[] = INCBIN_U8("graphics/items/icons/iapapa_berry.4bpp.lz"); +const u8 gItemIconPalette_IapapaBerry[] = INCBIN_U8("graphics/items/icon_palettes/iapapa_berry.gbapal.lz"); + +const u8 gItemIcon_RazzBerry[] = INCBIN_U8("graphics/items/icons/razz_berry.4bpp.lz"); +const u8 gItemIconPalette_RazzBerry[] = INCBIN_U8("graphics/items/icon_palettes/razz_berry.gbapal.lz"); + +const u8 gItemIcon_BlukBerry[] = INCBIN_U8("graphics/items/icons/bluk_berry.4bpp.lz"); +const u8 gItemIconPalette_BlukBerry[] = INCBIN_U8("graphics/items/icon_palettes/bluk_berry.gbapal.lz"); + +const u8 gItemIcon_NanabBerry[] = INCBIN_U8("graphics/items/icons/nanab_berry.4bpp.lz"); +const u8 gItemIconPalette_NanabBerry[] = INCBIN_U8("graphics/items/icon_palettes/nanab_berry.gbapal.lz"); + +const u8 gItemIcon_WepearBerry[] = INCBIN_U8("graphics/items/icons/wepear_berry.4bpp.lz"); +const u8 gItemIconPalette_WepearBerry[] = INCBIN_U8("graphics/items/icon_palettes/wepear_berry.gbapal.lz"); + +const u8 gItemIcon_PinapBerry[] = INCBIN_U8("graphics/items/icons/pinap_berry.4bpp.lz"); +const u8 gItemIconPalette_PinapBerry[] = INCBIN_U8("graphics/items/icon_palettes/pinap_berry.gbapal.lz"); + +const u8 gItemIcon_PomegBerry[] = INCBIN_U8("graphics/items/icons/pomeg_berry.4bpp.lz"); +const u8 gItemIconPalette_PomegBerry[] = INCBIN_U8("graphics/items/icon_palettes/pomeg_berry.gbapal.lz"); + +const u8 gItemIcon_KelpsyBerry[] = INCBIN_U8("graphics/items/icons/kelpsy_berry.4bpp.lz"); +const u8 gItemIconPalette_KelpsyBerry[] = INCBIN_U8("graphics/items/icon_palettes/kelpsy_berry.gbapal.lz"); + +const u8 gItemIcon_QualotBerry[] = INCBIN_U8("graphics/items/icons/qualot_berry.4bpp.lz"); +const u8 gItemIconPalette_QualotBerry[] = INCBIN_U8("graphics/items/icon_palettes/qualot_berry.gbapal.lz"); + +const u8 gItemIcon_HondewBerry[] = INCBIN_U8("graphics/items/icons/hondew_berry.4bpp.lz"); +const u8 gItemIconPalette_HondewBerry[] = INCBIN_U8("graphics/items/icon_palettes/hondew_berry.gbapal.lz"); + +const u8 gItemIcon_GrepaBerry[] = INCBIN_U8("graphics/items/icons/grepa_berry.4bpp.lz"); +const u8 gItemIconPalette_GrepaBerry[] = INCBIN_U8("graphics/items/icon_palettes/grepa_berry.gbapal.lz"); + +const u8 gItemIcon_TamatoBerry[] = INCBIN_U8("graphics/items/icons/tamato_berry.4bpp.lz"); +const u8 gItemIconPalette_TamatoBerry[] = INCBIN_U8("graphics/items/icon_palettes/tamato_berry.gbapal.lz"); + +const u8 gItemIcon_CornnBerry[] = INCBIN_U8("graphics/items/icons/cornn_berry.4bpp.lz"); +const u8 gItemIconPalette_CornnBerry[] = INCBIN_U8("graphics/items/icon_palettes/cornn_berry.gbapal.lz"); + +const u8 gItemIcon_MagostBerry[] = INCBIN_U8("graphics/items/icons/magost_berry.4bpp.lz"); +const u8 gItemIconPalette_MagostBerry[] = INCBIN_U8("graphics/items/icon_palettes/magost_berry.gbapal.lz"); + +const u8 gItemIcon_RabutaBerry[] = INCBIN_U8("graphics/items/icons/rabuta_berry.4bpp.lz"); +const u8 gItemIconPalette_RabutaBerry[] = INCBIN_U8("graphics/items/icon_palettes/rabuta_berry.gbapal.lz"); + +const u8 gItemIcon_NomelBerry[] = INCBIN_U8("graphics/items/icons/nomel_berry.4bpp.lz"); +const u8 gItemIconPalette_NomelBerry[] = INCBIN_U8("graphics/items/icon_palettes/nomel_berry.gbapal.lz"); + +const u8 gItemIcon_SpelonBerry[] = INCBIN_U8("graphics/items/icons/spelon_berry.4bpp.lz"); +const u8 gItemIconPalette_SpelonBerry[] = INCBIN_U8("graphics/items/icon_palettes/spelon_berry.gbapal.lz"); + +const u8 gItemIcon_PamtreBerry[] = INCBIN_U8("graphics/items/icons/pamtre_berry.4bpp.lz"); +const u8 gItemIconPalette_PamtreBerry[] = INCBIN_U8("graphics/items/icon_palettes/pamtre_berry.gbapal.lz"); + +const u8 gItemIcon_WatmelBerry[] = INCBIN_U8("graphics/items/icons/watmel_berry.4bpp.lz"); +const u8 gItemIconPalette_WatmelBerry[] = INCBIN_U8("graphics/items/icon_palettes/watmel_berry.gbapal.lz"); + +const u8 gItemIcon_DurinBerry[] = INCBIN_U8("graphics/items/icons/durin_berry.4bpp.lz"); +const u8 gItemIconPalette_DurinBerry[] = INCBIN_U8("graphics/items/icon_palettes/durin_berry.gbapal.lz"); + +const u8 gItemIcon_BelueBerry[] = INCBIN_U8("graphics/items/icons/belue_berry.4bpp.lz"); +const u8 gItemIconPalette_BelueBerry[] = INCBIN_U8("graphics/items/icon_palettes/belue_berry.gbapal.lz"); + +const u8 gItemIcon_LiechiBerry[] = INCBIN_U8("graphics/items/icons/liechi_berry.4bpp.lz"); +const u8 gItemIconPalette_LiechiBerry[] = INCBIN_U8("graphics/items/icon_palettes/liechi_berry.gbapal.lz"); + +const u8 gItemIcon_GanlonBerry[] = INCBIN_U8("graphics/items/icons/ganlon_berry.4bpp.lz"); +const u8 gItemIconPalette_GanlonBerry[] = INCBIN_U8("graphics/items/icon_palettes/ganlon_berry.gbapal.lz"); + +const u8 gItemIcon_SalacBerry[] = INCBIN_U8("graphics/items/icons/salac_berry.4bpp.lz"); +const u8 gItemIconPalette_SalacBerry[] = INCBIN_U8("graphics/items/icon_palettes/salac_berry.gbapal.lz"); + +const u8 gItemIcon_PetayaBerry[] = INCBIN_U8("graphics/items/icons/petaya_berry.4bpp.lz"); +const u8 gItemIconPalette_PetayaBerry[] = INCBIN_U8("graphics/items/icon_palettes/petaya_berry.gbapal.lz"); + +const u8 gItemIcon_ApicotBerry[] = INCBIN_U8("graphics/items/icons/apicot_berry.4bpp.lz"); +const u8 gItemIconPalette_ApicotBerry[] = INCBIN_U8("graphics/items/icon_palettes/apicot_berry.gbapal.lz"); + +const u8 gItemIcon_LansatBerry[] = INCBIN_U8("graphics/items/icons/lansat_berry.4bpp.lz"); +const u8 gItemIconPalette_LansatBerry[] = INCBIN_U8("graphics/items/icon_palettes/lansat_berry.gbapal.lz"); + +const u8 gItemIcon_StarfBerry[] = INCBIN_U8("graphics/items/icons/starf_berry.4bpp.lz"); +const u8 gItemIconPalette_StarfBerry[] = INCBIN_U8("graphics/items/icon_palettes/starf_berry.gbapal.lz"); + +const u8 gItemIcon_EnigmaBerry[] = INCBIN_U8("graphics/items/icons/enigma_berry.4bpp.lz"); +const u8 gItemIconPalette_EnigmaBerry[] = INCBIN_U8("graphics/items/icon_palettes/enigma_berry.gbapal.lz"); + +// Hold items + +const u8 gItemIcon_BrightPowder[] = INCBIN_U8("graphics/items/icons/bright_powder.4bpp.lz"); +const u8 gItemIconPalette_BrightPowder[] = INCBIN_U8("graphics/items/icon_palettes/bright_powder.gbapal.lz"); + +const u8 gItemIcon_InBattleHerb[] = INCBIN_U8("graphics/items/icons/in_battle_herb.4bpp.lz"); +const u8 gItemIconPalette_WhiteHerb[] = INCBIN_U8("graphics/items/icon_palettes/white_herb.gbapal.lz"); + +const u8 gItemIcon_MachoBrace[] = INCBIN_U8("graphics/items/icons/macho_brace.4bpp.lz"); +const u8 gItemIconPalette_MachoBrace[] = INCBIN_U8("graphics/items/icon_palettes/macho_brace.gbapal.lz"); + +const u8 gItemIcon_ExpShare[] = INCBIN_U8("graphics/items/icons/exp_share.4bpp.lz"); +const u8 gItemIconPalette_ExpShare[] = INCBIN_U8("graphics/items/icon_palettes/exp_share.gbapal.lz"); + +const u8 gItemIcon_QuickClaw[] = INCBIN_U8("graphics/items/icons/quick_claw.4bpp.lz"); +const u8 gItemIconPalette_QuickClaw[] = INCBIN_U8("graphics/items/icon_palettes/quick_claw.gbapal.lz"); + +const u8 gItemIcon_SootheBell[] = INCBIN_U8("graphics/items/icons/soothe_bell.4bpp.lz"); +const u8 gItemIconPalette_SootheBell[] = INCBIN_U8("graphics/items/icon_palettes/soothe_bell.gbapal.lz"); + +const u8 gItemIconPalette_MentalHerb[] = INCBIN_U8("graphics/items/icon_palettes/mental_herb.gbapal.lz"); + +const u8 gItemIcon_ChoiceBand[] = INCBIN_U8("graphics/items/icons/choice_band.4bpp.lz"); +const u8 gItemIconPalette_ChoiceBand[] = INCBIN_U8("graphics/items/icon_palettes/choice_band.gbapal.lz"); + +const u8 gItemIcon_KingsRock[] = INCBIN_U8("graphics/items/icons/kings_rock.4bpp.lz"); +const u8 gItemIconPalette_KingsRock[] = INCBIN_U8("graphics/items/icon_palettes/kings_rock.gbapal.lz"); + +const u8 gItemIcon_SilverPowder[] = INCBIN_U8("graphics/items/icons/silver_powder.4bpp.lz"); +const u8 gItemIconPalette_SilverPowder[] = INCBIN_U8("graphics/items/icon_palettes/silver_powder.gbapal.lz"); + +const u8 gItemIcon_AmuletCoin[] = INCBIN_U8("graphics/items/icons/amulet_coin.4bpp.lz"); +const u8 gItemIconPalette_AmuletCoin[] = INCBIN_U8("graphics/items/icon_palettes/amulet_coin.gbapal.lz"); + +const u8 gItemIcon_CleanseTag[] = INCBIN_U8("graphics/items/icons/cleanse_tag.4bpp.lz"); +const u8 gItemIconPalette_CleanseTag[] = INCBIN_U8("graphics/items/icon_palettes/cleanse_tag.gbapal.lz"); + +const u8 gItemIcon_SoulDew[] = INCBIN_U8("graphics/items/icons/soul_dew.4bpp.lz"); +const u8 gItemIconPalette_SoulDew[] = INCBIN_U8("graphics/items/icon_palettes/soul_dew.gbapal.lz"); + +const u8 gItemIcon_DeepSeaTooth[] = INCBIN_U8("graphics/items/icons/deep_sea_tooth.4bpp.lz"); +const u8 gItemIconPalette_DeepSeaTooth[] = INCBIN_U8("graphics/items/icon_palettes/deep_sea_tooth.gbapal.lz"); + +const u8 gItemIcon_DeepSeaScale[] = INCBIN_U8("graphics/items/icons/deep_sea_scale.4bpp.lz"); +const u8 gItemIconPalette_DeepSeaScale[] = INCBIN_U8("graphics/items/icon_palettes/deep_sea_scale.gbapal.lz"); + +const u8 gItemIcon_SmokeBall[] = INCBIN_U8("graphics/items/icons/smoke_ball.4bpp.lz"); +const u8 gItemIconPalette_SmokeBall[] = INCBIN_U8("graphics/items/icon_palettes/smoke_ball.gbapal.lz"); + +const u8 gItemIcon_Everstone[] = INCBIN_U8("graphics/items/icons/everstone.4bpp.lz"); +const u8 gItemIconPalette_Everstone[] = INCBIN_U8("graphics/items/icon_palettes/everstone.gbapal.lz"); + +const u8 gItemIcon_FocusBand[] = INCBIN_U8("graphics/items/icons/focus_band.4bpp.lz"); +const u8 gItemIconPalette_FocusBand[] = INCBIN_U8("graphics/items/icon_palettes/focus_band.gbapal.lz"); + +const u8 gItemIcon_LuckyEgg[] = INCBIN_U8("graphics/items/icons/lucky_egg.4bpp.lz"); +const u8 gItemIconPalette_LuckyEgg[] = INCBIN_U8("graphics/items/icon_palettes/lucky_egg.gbapal.lz"); + +const u8 gItemIcon_ScopeLens[] = INCBIN_U8("graphics/items/icons/scope_lens.4bpp.lz"); +const u8 gItemIconPalette_ScopeLens[] = INCBIN_U8("graphics/items/icon_palettes/scope_lens.gbapal.lz"); + +const u8 gItemIcon_MetalCoat[] = INCBIN_U8("graphics/items/icons/metal_coat.4bpp.lz"); +const u8 gItemIconPalette_MetalCoat[] = INCBIN_U8("graphics/items/icon_palettes/metal_coat.gbapal.lz"); + +const u8 gItemIcon_Leftovers[] = INCBIN_U8("graphics/items/icons/leftovers.4bpp.lz"); +const u8 gItemIconPalette_Leftovers[] = INCBIN_U8("graphics/items/icon_palettes/leftovers.gbapal.lz"); + +const u8 gItemIcon_DragonScale[] = INCBIN_U8("graphics/items/icons/dragon_scale.4bpp.lz"); +const u8 gItemIconPalette_DragonScale[] = INCBIN_U8("graphics/items/icon_palettes/dragon_scale.gbapal.lz"); + +const u8 gItemIcon_LightBall[] = INCBIN_U8("graphics/items/icons/light_ball.4bpp.lz"); +const u8 gItemIconPalette_LightBall[] = INCBIN_U8("graphics/items/icon_palettes/light_ball.gbapal.lz"); + +const u8 gItemIcon_SoftSand[] = INCBIN_U8("graphics/items/icons/soft_sand.4bpp.lz"); +const u8 gItemIconPalette_SoftSand[] = INCBIN_U8("graphics/items/icon_palettes/soft_sand.gbapal.lz"); + +const u8 gItemIcon_HardStone[] = INCBIN_U8("graphics/items/icons/hard_stone.4bpp.lz"); +const u8 gItemIconPalette_HardStone[] = INCBIN_U8("graphics/items/icon_palettes/hard_stone.gbapal.lz"); + +const u8 gItemIcon_MiracleSeed[] = INCBIN_U8("graphics/items/icons/miracle_seed.4bpp.lz"); +const u8 gItemIconPalette_MiracleSeed[] = INCBIN_U8("graphics/items/icon_palettes/miracle_seed.gbapal.lz"); + +const u8 gItemIcon_BlackGlasses[] = INCBIN_U8("graphics/items/icons/black_glasses.4bpp.lz"); +const u8 gItemIconPalette_BlackTypeEnhancingItem[] = INCBIN_U8("graphics/items/icon_palettes/black_type_enhancing_item.gbapal.lz"); + +const u8 gItemIcon_BlackBelt[] = INCBIN_U8("graphics/items/icons/black_belt.4bpp.lz"); + +const u8 gItemIcon_Magnet[] = INCBIN_U8("graphics/items/icons/magnet.4bpp.lz"); +const u8 gItemIconPalette_Magnet[] = INCBIN_U8("graphics/items/icon_palettes/magnet.gbapal.lz"); + +const u8 gItemIcon_MysticWater[] = INCBIN_U8("graphics/items/icons/mystic_water.4bpp.lz"); +const u8 gItemIconPalette_MysticWater[] = INCBIN_U8("graphics/items/icon_palettes/mystic_water.gbapal.lz"); + +const u8 gItemIcon_SharpBeak[] = INCBIN_U8("graphics/items/icons/sharp_beak.4bpp.lz"); +const u8 gItemIconPalette_SharpBeak[] = INCBIN_U8("graphics/items/icon_palettes/sharp_beak.gbapal.lz"); + +const u8 gItemIcon_PoisonBarb[] = INCBIN_U8("graphics/items/icons/poison_barb.4bpp.lz"); +const u8 gItemIconPalette_PoisonBarb[] = INCBIN_U8("graphics/items/icon_palettes/poison_barb.gbapal.lz"); + +const u8 gItemIcon_NeverMeltIce[] = INCBIN_U8("graphics/items/icons/never_melt_ice.4bpp.lz"); +const u8 gItemIconPalette_NeverMeltIce[] = INCBIN_U8("graphics/items/icon_palettes/never_melt_ice.gbapal.lz"); + +const u8 gItemIcon_SpellTag[] = INCBIN_U8("graphics/items/icons/spell_tag.4bpp.lz"); +const u8 gItemIconPalette_SpellTag[] = INCBIN_U8("graphics/items/icon_palettes/spell_tag.gbapal.lz"); + +const u8 gItemIcon_TwistedSpoon[] = INCBIN_U8("graphics/items/icons/twisted_spoon.4bpp.lz"); +const u8 gItemIconPalette_TwistedSpoon[] = INCBIN_U8("graphics/items/icon_palettes/twisted_spoon.gbapal.lz"); + +const u8 gItemIcon_Charcoal[] = INCBIN_U8("graphics/items/icons/charcoal.4bpp.lz"); +const u8 gItemIconPalette_Charcoal[] = INCBIN_U8("graphics/items/icon_palettes/charcoal.gbapal.lz"); + +const u8 gItemIcon_DragonFang[] = INCBIN_U8("graphics/items/icons/dragon_fang.4bpp.lz"); +const u8 gItemIconPalette_DragonFang[] = INCBIN_U8("graphics/items/icon_palettes/dragon_fang.gbapal.lz"); + +const u8 gItemIcon_SilkScarf[] = INCBIN_U8("graphics/items/icons/silk_scarf.4bpp.lz"); +const u8 gItemIconPalette_SilkScarf[] = INCBIN_U8("graphics/items/icon_palettes/silk_scarf.gbapal.lz"); + +const u8 gItemIcon_UpGrade[] = INCBIN_U8("graphics/items/icons/up_grade.4bpp.lz"); +const u8 gItemIconPalette_UpGrade[] = INCBIN_U8("graphics/items/icon_palettes/up_grade.gbapal.lz"); + +const u8 gItemIcon_ShellBell[] = INCBIN_U8("graphics/items/icons/shell_bell.4bpp.lz"); + +const u8 gItemIcon_SeaIncense[] = INCBIN_U8("graphics/items/icons/sea_incense.4bpp.lz"); +const u8 gItemIconPalette_SeaIncense[] = INCBIN_U8("graphics/items/icon_palettes/sea_incense.gbapal.lz"); + +const u8 gItemIcon_LaxIncense[] = INCBIN_U8("graphics/items/icons/lax_incense.4bpp.lz"); +const u8 gItemIconPalette_LaxIncense[] = INCBIN_U8("graphics/items/icon_palettes/lax_incense.gbapal.lz"); + +const u8 gItemIcon_LuckyPunch[] = INCBIN_U8("graphics/items/icons/lucky_punch.4bpp.lz"); +const u8 gItemIconPalette_LuckyPunch[] = INCBIN_U8("graphics/items/icon_palettes/lucky_punch.gbapal.lz"); + +const u8 gItemIcon_MetalPowder[] = INCBIN_U8("graphics/items/icons/metal_powder.4bpp.lz"); +const u8 gItemIconPalette_MetalPowder[] = INCBIN_U8("graphics/items/icon_palettes/metal_powder.gbapal.lz"); + +const u8 gItemIcon_ThickClub[] = INCBIN_U8("graphics/items/icons/thick_club.4bpp.lz"); +const u8 gItemIconPalette_ThickClub[] = INCBIN_U8("graphics/items/icon_palettes/thick_club.gbapal.lz"); + +const u8 gItemIcon_Stick[] = INCBIN_U8("graphics/items/icons/stick.4bpp.lz"); +const u8 gItemIconPalette_Stick[] = INCBIN_U8("graphics/items/icon_palettes/stick.gbapal.lz"); + +const u8 gItemIcon_Scarf[] = INCBIN_U8("graphics/items/icons/scarf.4bpp.lz"); +const u8 gItemIconPalette_RedScarf[] = INCBIN_U8("graphics/items/icon_palettes/red_scarf.gbapal.lz"); +const u8 gItemIconPalette_BlueScarf[] = INCBIN_U8("graphics/items/icon_palettes/blue_scarf.gbapal.lz"); +const u8 gItemIconPalette_PinkScarf[] = INCBIN_U8("graphics/items/icon_palettes/pink_scarf.gbapal.lz"); +const u8 gItemIconPalette_GreenScarf[] = INCBIN_U8("graphics/items/icon_palettes/green_scarf.gbapal.lz"); +const u8 gItemIconPalette_YellowScarf[] = INCBIN_U8("graphics/items/icon_palettes/yellow_scarf.gbapal.lz"); + +// Key items + +const u8 gItemIcon_MachBike[] = INCBIN_U8("graphics/items/icons/mach_bike.4bpp.lz"); +const u8 gItemIconPalette_MachBike[] = INCBIN_U8("graphics/items/icon_palettes/mach_bike.gbapal.lz"); + +const u8 gItemIcon_CoinCase[] = INCBIN_U8("graphics/items/icons/coin_case.4bpp.lz"); +const u8 gItemIconPalette_CoinCase[] = INCBIN_U8("graphics/items/icon_palettes/coin_case.gbapal.lz"); + +const u8 gItemIcon_Itemfinder[] = INCBIN_U8("graphics/items/icons/itemfinder.4bpp.lz"); +const u8 gItemIconPalette_Itemfinder[] = INCBIN_U8("graphics/items/icon_palettes/itemfinder.gbapal.lz"); + +const u8 gItemIcon_OldRod[] = INCBIN_U8("graphics/items/icons/old_rod.4bpp.lz"); +const u8 gItemIconPalette_OldRod[] = INCBIN_U8("graphics/items/icon_palettes/old_rod.gbapal.lz"); + +const u8 gItemIcon_GoodRod[] = INCBIN_U8("graphics/items/icons/good_rod.4bpp.lz"); +const u8 gItemIconPalette_GoodRod[] = INCBIN_U8("graphics/items/icon_palettes/good_rod.gbapal.lz"); + +const u8 gItemIcon_SuperRod[] = INCBIN_U8("graphics/items/icons/super_rod.4bpp.lz"); +const u8 gItemIconPalette_SuperRod[] = INCBIN_U8("graphics/items/icon_palettes/super_rod.gbapal.lz"); + +const u8 gItemIcon_SSTicket[] = INCBIN_U8("graphics/items/icons/ss_ticket.4bpp.lz"); +const u8 gItemIconPalette_SSTicket[] = INCBIN_U8("graphics/items/icon_palettes/ss_ticket.gbapal.lz"); + +const u8 gItemIcon_ContestPass[] = INCBIN_U8("graphics/items/icons/contest_pass.4bpp.lz"); +const u8 gItemIconPalette_ContestPass[] = INCBIN_U8("graphics/items/icon_palettes/contest_pass.gbapal.lz"); + +const u8 gItemIcon_WailmerPail[] = INCBIN_U8("graphics/items/icons/wailmer_pail.4bpp.lz"); +const u8 gItemIconPalette_WailmerPail[] = INCBIN_U8("graphics/items/icon_palettes/wailmer_pail.gbapal.lz"); + +const u8 gItemIcon_DevonGoods[] = INCBIN_U8("graphics/items/icons/devon_goods.4bpp.lz"); +const u8 gItemIconPalette_DevonGoods[] = INCBIN_U8("graphics/items/icon_palettes/devon_goods.gbapal.lz"); + +const u8 gItemIcon_SootSack[] = INCBIN_U8("graphics/items/icons/soot_sack.4bpp.lz"); +const u8 gItemIconPalette_SootSack[] = INCBIN_U8("graphics/items/icon_palettes/soot_sack.gbapal.lz"); + +const u8 gItemIcon_BasementKey[] = INCBIN_U8("graphics/items/icons/basement_key.4bpp.lz"); +const u8 gItemIconPalette_OldKey[] = INCBIN_U8("graphics/items/icon_palettes/old_key.gbapal.lz"); + +const u8 gItemIcon_AcroBike[] = INCBIN_U8("graphics/items/icons/acro_bike.4bpp.lz"); +const u8 gItemIconPalette_AcroBike[] = INCBIN_U8("graphics/items/icon_palettes/acro_bike.gbapal.lz"); + +const u8 gItemIcon_PokeblockCase[] = INCBIN_U8("graphics/items/icons/pokeblock_case.4bpp.lz"); +const u8 gItemIconPalette_PokeblockCase[] = INCBIN_U8("graphics/items/icon_palettes/pokeblock_case.gbapal.lz"); + +const u8 gItemIcon_Letter[] = INCBIN_U8("graphics/items/icons/letter.4bpp.lz"); +const u8 gItemIcon_EonTicket[] = INCBIN_U8("graphics/items/icons/eon_ticket.4bpp.lz"); + +const u8 gItemIconPalette_EonTicket[] = INCBIN_U8("graphics/items/icon_palettes/eon_ticket.gbapal.lz"); + +const u8 gItemIcon_Orb[] = INCBIN_U8("graphics/items/icons/orb.4bpp.lz"); +const u8 gItemIconPalette_RedOrb[] = INCBIN_U8("graphics/items/icon_palettes/red_orb.gbapal.lz"); +const u8 gItemIconPalette_BlueOrb[] = INCBIN_U8("graphics/items/icon_palettes/blue_orb.gbapal.lz"); + +const u8 gItemIcon_Scanner[] = INCBIN_U8("graphics/items/icons/scanner.4bpp.lz"); +const u8 gItemIconPalette_Scanner[] = INCBIN_U8("graphics/items/icon_palettes/scanner.gbapal.lz"); + +const u8 gItemIcon_GoGoggles[] = INCBIN_U8("graphics/items/icons/go_goggles.4bpp.lz"); +const u8 gItemIconPalette_GoGoggles[] = INCBIN_U8("graphics/items/icon_palettes/go_goggles.gbapal.lz"); + +const u8 gItemIcon_Meteorite[] = INCBIN_U8("graphics/items/icons/meteorite.4bpp.lz"); +const u8 gItemIconPalette_Meteorite[] = INCBIN_U8("graphics/items/icon_palettes/meteorite.gbapal.lz"); + +const u8 gItemIcon_Room1Key[] = INCBIN_U8("graphics/items/icons/room1_key.4bpp.lz"); + +const u8 gItemIcon_Room2Key[] = INCBIN_U8("graphics/items/icons/room2_key.4bpp.lz"); + +const u8 gItemIcon_Room4Key[] = INCBIN_U8("graphics/items/icons/room4_key.4bpp.lz"); + +const u8 gItemIcon_Room6Key[] = INCBIN_U8("graphics/items/icons/room6_key.4bpp.lz"); + +const u8 gItemIcon_StorageKey[] = INCBIN_U8("graphics/items/icons/storage_key.4bpp.lz"); + +const u8 gItemIcon_RootFossil[] = INCBIN_U8("graphics/items/icons/root_fossil.4bpp.lz"); +const u8 gItemIconPalette_HoennFossil[] = INCBIN_U8("graphics/items/icon_palettes/hoenn_fossil.gbapal.lz"); +const u8 gItemIcon_ClawFossil[] = INCBIN_U8("graphics/items/icons/claw_fossil.4bpp.lz"); + +const u8 gItemIcon_DevonScope[] = INCBIN_U8("graphics/items/icons/devon_scope.4bpp.lz"); +const u8 gItemIconPalette_DevonScope[] = INCBIN_U8("graphics/items/icon_palettes/devon_scope.gbapal.lz"); + +// TMs/HMs + +const u8 gItemIcon_TM[] = INCBIN_U8("graphics/items/icons/tm.4bpp.lz"); + +const u8 gItemIconPalette_FightingTMHM[] = INCBIN_U8("graphics/items/icon_palettes/fighting_tm_hm.gbapal.lz"); + +const u8 gItemIconPalette_DragonTMHM[] = INCBIN_U8("graphics/items/icon_palettes/dragon_tm_hm.gbapal.lz"); + +const u8 gItemIconPalette_WaterTMHM[] = INCBIN_U8("graphics/items/icon_palettes/water_tm_hm.gbapal.lz"); + +const u8 gItemIconPalette_PsychicTMHM[] = INCBIN_U8("graphics/items/icon_palettes/psychic_tm_hm.gbapal.lz"); + +const u8 gItemIconPalette_NormalTMHM[] = INCBIN_U8("graphics/items/icon_palettes/normal_tm_hm.gbapal.lz"); + +const u8 gItemIconPalette_PoisonTMHM[] = INCBIN_U8("graphics/items/icon_palettes/poison_tm_hm.gbapal.lz"); + +const u8 gItemIconPalette_IceTMHM[] = INCBIN_U8("graphics/items/icon_palettes/ice_tm_hm.gbapal.lz"); + +const u8 gItemIconPalette_GrassTMHM[] = INCBIN_U8("graphics/items/icon_palettes/grass_tm_hm.gbapal.lz"); + +const u8 gItemIconPalette_FireTMHM[] = INCBIN_U8("graphics/items/icon_palettes/fire_tm_hm.gbapal.lz"); + +const u8 gItemIconPalette_DarkTMHM[] = INCBIN_U8("graphics/items/icon_palettes/dark_tm_hm.gbapal.lz"); + +const u8 gItemIconPalette_SteelTMHM[] = INCBIN_U8("graphics/items/icon_palettes/steel_tm_hm.gbapal.lz"); + +const u8 gItemIconPalette_ElectricTMHM[] = INCBIN_U8("graphics/items/icon_palettes/electric_tm_hm.gbapal.lz"); + +const u8 gItemIconPalette_GroundTMHM[] = INCBIN_U8("graphics/items/icon_palettes/ground_tm_hm.gbapal.lz"); + +const u8 gItemIconPalette_GhostTMHM[] = INCBIN_U8("graphics/items/icon_palettes/ghost_tm_hm.gbapal.lz"); + +const u8 gItemIconPalette_RockTMHM[] = INCBIN_U8("graphics/items/icon_palettes/rock_tm_hm.gbapal.lz"); + +const u8 gItemIconPalette_FlyingTMHM[] = INCBIN_U8("graphics/items/icon_palettes/flying_tm_hm.gbapal.lz"); + +const u8 gItemIcon_HM[] = INCBIN_U8("graphics/items/icons/hm.4bpp.lz"); + +// FireRed/LeafGreen key items + +const u8 gItemIcon_OaksParcel[] = INCBIN_U8("graphics/items/icons/oaks_parcel.4bpp.lz"); +const u8 gItemIconPalette_OaksParcel[] = INCBIN_U8("graphics/items/icon_palettes/oaks_parcel.gbapal.lz"); + +const u8 gItemIcon_PokeFlute[] = INCBIN_U8("graphics/items/icons/poke_flute.4bpp.lz"); +const u8 gItemIconPalette_PokeFlute[] = INCBIN_U8("graphics/items/icon_palettes/poke_flute.gbapal.lz"); + +const u8 gItemIcon_SecretKey[] = INCBIN_U8("graphics/items/icons/secret_key.4bpp.lz"); +const u8 gItemIconPalette_SecretKey[] = INCBIN_U8("graphics/items/icon_palettes/secret_key.gbapal.lz"); + +const u8 gItemIcon_BikeVoucher[] = INCBIN_U8("graphics/items/icons/bike_voucher.4bpp.lz"); +const u8 gItemIconPalette_BikeVoucher[] = INCBIN_U8("graphics/items/icon_palettes/bike_voucher.gbapal.lz"); + +const u8 gItemIcon_GoldTeeth[] = INCBIN_U8("graphics/items/icons/gold_teeth.4bpp.lz"); +const u8 gItemIconPalette_GoldTeeth[] = INCBIN_U8("graphics/items/icon_palettes/gold_teeth.gbapal.lz"); + +const u8 gItemIcon_OldAmber[] = INCBIN_U8("graphics/items/icons/old_amber.4bpp.lz"); +const u8 gItemIconPalette_OldAmber[] = INCBIN_U8("graphics/items/icon_palettes/old_amber.gbapal.lz"); + +const u8 gItemIcon_CardKey[] = INCBIN_U8("graphics/items/icons/card_key.4bpp.lz"); +const u8 gItemIconPalette_CardKey[] = INCBIN_U8("graphics/items/icon_palettes/card_key.gbapal.lz"); + +const u8 gItemIcon_LiftKey[] = INCBIN_U8("graphics/items/icons/lift_key.4bpp.lz"); +const u8 gItemIconPalette_Key[] = INCBIN_U8("graphics/items/icon_palettes/key.gbapal.lz"); + +const u8 gItemIcon_HelixFossil[] = INCBIN_U8("graphics/items/icons/helix_fossil.4bpp.lz"); +const u8 gItemIconPalette_KantoFossil[] = INCBIN_U8("graphics/items/icon_palettes/kanto_fossil.gbapal.lz"); +const u8 gItemIcon_DomeFossil[] = INCBIN_U8("graphics/items/icons/dome_fossil.4bpp.lz"); + +const u8 gItemIcon_SilphScope[] = INCBIN_U8("graphics/items/icons/silph_scope.4bpp.lz"); +const u8 gItemIconPalette_SilphScope[] = INCBIN_U8("graphics/items/icon_palettes/silph_scope.gbapal.lz"); + +const u8 gItemIcon_Bicycle[] = INCBIN_U8("graphics/items/icons/bicycle.4bpp.lz"); +const u8 gItemIconPalette_Bicycle[] = INCBIN_U8("graphics/items/icon_palettes/bicycle.gbapal.lz"); + +const u8 gItemIcon_TownMap[] = INCBIN_U8("graphics/items/icons/town_map.4bpp.lz"); +const u8 gItemIconPalette_TownMap[] = INCBIN_U8("graphics/items/icon_palettes/town_map.gbapal.lz"); + +const u8 gItemIcon_VSSeeker[] = INCBIN_U8("graphics/items/icons/vs_seeker.4bpp.lz"); +const u8 gItemIconPalette_VSSeeker[] = INCBIN_U8("graphics/items/icon_palettes/vs_seeker.gbapal.lz"); + +const u8 gItemIcon_FameChecker[] = INCBIN_U8("graphics/items/icons/fame_checker.4bpp.lz"); +const u8 gItemIconPalette_FameChecker[] = INCBIN_U8("graphics/items/icon_palettes/fame_checker.gbapal.lz"); + +const u8 gItemIcon_TMCase[] = INCBIN_U8("graphics/items/icons/tm_case.4bpp.lz"); +const u8 gItemIconPalette_TMCase[] = INCBIN_U8("graphics/items/icon_palettes/tm_case.gbapal.lz"); + +const u8 gItemIcon_BerryPouch[] = INCBIN_U8("graphics/items/icons/berry_pouch.4bpp.lz"); +const u8 gItemIconPalette_BerryPouch[] = INCBIN_U8("graphics/items/icon_palettes/berry_pouch.gbapal.lz"); + +const u8 gItemIcon_TeachyTV[] = INCBIN_U8("graphics/items/icons/teachy_tv.4bpp.lz"); +const u8 gItemIconPalette_TeachyTV[] = INCBIN_U8("graphics/items/icon_palettes/teachy_tv.gbapal.lz"); + +const u8 gItemIcon_TriPass[] = INCBIN_U8("graphics/items/icons/tri_pass.4bpp.lz"); +const u8 gItemIconPalette_TriPass[] = INCBIN_U8("graphics/items/icon_palettes/tri_pass.gbapal.lz"); + +const u8 gItemIcon_RainbowPass[] = INCBIN_U8("graphics/items/icons/rainbow_pass.4bpp.lz"); +const u8 gItemIconPalette_RainbowPass[] = INCBIN_U8("graphics/items/icon_palettes/rainbow_pass.gbapal.lz"); + +const u8 gItemIcon_Tea[] = INCBIN_U8("graphics/items/icons/tea.4bpp.lz"); +const u8 gItemIconPalette_Tea[] = INCBIN_U8("graphics/items/icon_palettes/tea.gbapal.lz"); + +const u8 gItemIcon_MysticTicket[] = INCBIN_U8("graphics/items/icons/mystic_ticket.4bpp.lz"); +const u8 gItemIconPalette_MysticTicket[] = INCBIN_U8("graphics/items/icon_palettes/mystic_ticket.gbapal.lz"); + +const u8 gItemIcon_AuroraTicket[] = INCBIN_U8("graphics/items/icons/aurora_ticket.4bpp.lz"); +const u8 gItemIconPalette_AuroraTicket[] = INCBIN_U8("graphics/items/icon_palettes/aurora_ticket.gbapal.lz"); + +const u8 gItemIcon_PowderJar[] = INCBIN_U8("graphics/items/icons/powder_jar.4bpp.lz"); +const u8 gItemIconPalette_PowderJar[] = INCBIN_U8("graphics/items/icon_palettes/powder_jar.gbapal.lz"); + +const u8 gItemIconPalette_Ruby[] = INCBIN_U8("graphics/items/icon_palettes/ruby.gbapal.lz"); +const u8 gItemIcon_Gem[] = INCBIN_U8("graphics/items/icons/gem.4bpp.lz"); +const u8 gItemIconPalette_Sapphire[] = INCBIN_U8("graphics/items/icon_palettes/sapphire.gbapal.lz"); + +// Emerald-only key items + +const u8 gItemIcon_MagmaEmblem[] = INCBIN_U8("graphics/items/icons/magma_emblem.4bpp.lz"); +const u8 gItemIconPalette_MagmaEmblem[] = INCBIN_U8("graphics/items/icon_palettes/magma_emblem.gbapal.lz"); + +const u8 gItemIcon_OldSeaMap[] = INCBIN_U8("graphics/items/icons/old_sea_map.4bpp.lz"); +const u8 gItemIconPalette_OldSeaMap[] = INCBIN_U8("graphics/items/icon_palettes/old_sea_map.gbapal.lz"); diff --git a/src/graphics/pokemon.h b/src/graphics/pokemon.h new file mode 100644 index 0000000000..2c0345f591 --- /dev/null +++ b/src/graphics/pokemon.h @@ -0,0 +1,2823 @@ +const u8 gMonStillFrontPic_Bulbasaur[] = INCBIN_U8("graphics/pokemon/front_pics/bulbasaur_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Bulbasaur[] = INCBIN_U8("graphics/pokemon/palettes/bulbasaur_palette.gbapal.lz"); +const u8 gMonBackPic_Bulbasaur[] = INCBIN_U8("graphics/pokemon/back_pics/bulbasaur_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Bulbasaur[] = INCBIN_U8("graphics/pokemon/palettes/bulbasaur_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Bulbasaur[] = INCBIN_U8("graphics/pokemon/icons/bulbasaur_icon.4bpp"); +const u8 gMonFootprint_Bulbasaur[] = INCBIN_U8("graphics/pokemon/footprints/bulbasaur_footprint.1bpp"); + +const u8 gMonStillFrontPic_Ivysaur[] = INCBIN_U8("graphics/pokemon/front_pics/ivysaur_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Ivysaur[] = INCBIN_U8("graphics/pokemon/palettes/ivysaur_palette.gbapal.lz"); +const u8 gMonBackPic_Ivysaur[] = INCBIN_U8("graphics/pokemon/back_pics/ivysaur_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Ivysaur[] = INCBIN_U8("graphics/pokemon/palettes/ivysaur_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Ivysaur[] = INCBIN_U8("graphics/pokemon/icons/ivysaur_icon.4bpp"); +const u8 gMonFootprint_Ivysaur[] = INCBIN_U8("graphics/pokemon/footprints/ivysaur_footprint.1bpp"); + +const u8 gMonStillFrontPic_Venusaur[] = INCBIN_U8("graphics/pokemon/front_pics/venusaur_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Venusaur[] = INCBIN_U8("graphics/pokemon/palettes/venusaur_palette.gbapal.lz"); +const u8 gMonBackPic_Venusaur[] = INCBIN_U8("graphics/pokemon/back_pics/venusaur_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Venusaur[] = INCBIN_U8("graphics/pokemon/palettes/venusaur_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Venusaur[] = INCBIN_U8("graphics/pokemon/icons/venusaur_icon.4bpp"); +const u8 gMonFootprint_Venusaur[] = INCBIN_U8("graphics/pokemon/footprints/venusaur_footprint.1bpp"); + +const u8 gMonStillFrontPic_Charmander[] = INCBIN_U8("graphics/pokemon/front_pics/charmander_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Charmander[] = INCBIN_U8("graphics/pokemon/palettes/charmander_palette.gbapal.lz"); +const u8 gMonBackPic_Charmander[] = INCBIN_U8("graphics/pokemon/back_pics/charmander_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Charmander[] = INCBIN_U8("graphics/pokemon/palettes/charmander_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Charmander[] = INCBIN_U8("graphics/pokemon/icons/charmander_icon.4bpp"); +const u8 gMonFootprint_Charmander[] = INCBIN_U8("graphics/pokemon/footprints/charmander_footprint.1bpp"); + +const u8 gMonStillFrontPic_Charmeleon[] = INCBIN_U8("graphics/pokemon/front_pics/charmeleon_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Charmeleon[] = INCBIN_U8("graphics/pokemon/palettes/charmeleon_palette.gbapal.lz"); +const u8 gMonBackPic_Charmeleon[] = INCBIN_U8("graphics/pokemon/back_pics/charmeleon_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Charmeleon[] = INCBIN_U8("graphics/pokemon/palettes/charmeleon_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Charmeleon[] = INCBIN_U8("graphics/pokemon/icons/charmeleon_icon.4bpp"); +const u8 gMonFootprint_Charmeleon[] = INCBIN_U8("graphics/pokemon/footprints/charmeleon_footprint.1bpp"); + +const u8 gMonStillFrontPic_Charizard[] = INCBIN_U8("graphics/pokemon/front_pics/charizard_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Charizard[] = INCBIN_U8("graphics/pokemon/palettes/charizard_palette.gbapal.lz"); +const u8 gMonBackPic_Charizard[] = INCBIN_U8("graphics/pokemon/back_pics/charizard_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Charizard[] = INCBIN_U8("graphics/pokemon/palettes/charizard_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Charizard[] = INCBIN_U8("graphics/pokemon/icons/charizard_icon.4bpp"); +const u8 gMonFootprint_Charizard[] = INCBIN_U8("graphics/pokemon/footprints/charizard_footprint.1bpp"); + +const u8 gMonStillFrontPic_Squirtle[] = INCBIN_U8("graphics/pokemon/front_pics/squirtle_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Squirtle[] = INCBIN_U8("graphics/pokemon/palettes/squirtle_palette.gbapal.lz"); +const u8 gMonBackPic_Squirtle[] = INCBIN_U8("graphics/pokemon/back_pics/squirtle_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Squirtle[] = INCBIN_U8("graphics/pokemon/palettes/squirtle_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Squirtle[] = INCBIN_U8("graphics/pokemon/icons/squirtle_icon.4bpp"); +const u8 gMonFootprint_Squirtle[] = INCBIN_U8("graphics/pokemon/footprints/squirtle_footprint.1bpp"); + +const u8 gMonStillFrontPic_Wartortle[] = INCBIN_U8("graphics/pokemon/front_pics/wartortle_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Wartortle[] = INCBIN_U8("graphics/pokemon/palettes/wartortle_palette.gbapal.lz"); +const u8 gMonBackPic_Wartortle[] = INCBIN_U8("graphics/pokemon/back_pics/wartortle_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Wartortle[] = INCBIN_U8("graphics/pokemon/palettes/wartortle_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Wartortle[] = INCBIN_U8("graphics/pokemon/icons/wartortle_icon.4bpp"); +const u8 gMonFootprint_Wartortle[] = INCBIN_U8("graphics/pokemon/footprints/wartortle_footprint.1bpp"); + +const u8 gMonStillFrontPic_Blastoise[] = INCBIN_U8("graphics/pokemon/front_pics/blastoise_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Blastoise[] = INCBIN_U8("graphics/pokemon/palettes/blastoise_palette.gbapal.lz"); +const u8 gMonBackPic_Blastoise[] = INCBIN_U8("graphics/pokemon/back_pics/blastoise_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Blastoise[] = INCBIN_U8("graphics/pokemon/palettes/blastoise_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Blastoise[] = INCBIN_U8("graphics/pokemon/icons/blastoise_icon.4bpp"); +const u8 gMonFootprint_Blastoise[] = INCBIN_U8("graphics/pokemon/footprints/blastoise_footprint.1bpp"); + +const u8 gMonStillFrontPic_Caterpie[] = INCBIN_U8("graphics/pokemon/front_pics/caterpie_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Caterpie[] = INCBIN_U8("graphics/pokemon/palettes/caterpie_palette.gbapal.lz"); +const u8 gMonBackPic_Caterpie[] = INCBIN_U8("graphics/pokemon/back_pics/caterpie_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Caterpie[] = INCBIN_U8("graphics/pokemon/palettes/caterpie_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Caterpie[] = INCBIN_U8("graphics/pokemon/icons/caterpie_icon.4bpp"); +const u8 gMonFootprint_Caterpie[] = INCBIN_U8("graphics/pokemon/footprints/caterpie_footprint.1bpp"); + +const u8 gMonStillFrontPic_Metapod[] = INCBIN_U8("graphics/pokemon/front_pics/metapod_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Metapod[] = INCBIN_U8("graphics/pokemon/palettes/metapod_palette.gbapal.lz"); +const u8 gMonBackPic_Metapod[] = INCBIN_U8("graphics/pokemon/back_pics/metapod_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Metapod[] = INCBIN_U8("graphics/pokemon/palettes/metapod_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Metapod[] = INCBIN_U8( "graphics/pokemon/icons/metapod_icon.4bpp"); +const u8 gMonFootprint_Metapod[] = INCBIN_U8("graphics/pokemon/footprints/metapod_footprint.1bpp"); + +const u8 gMonStillFrontPic_Butterfree[] = INCBIN_U8("graphics/pokemon/front_pics/butterfree_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Butterfree[] = INCBIN_U8("graphics/pokemon/palettes/butterfree_palette.gbapal.lz"); +const u8 gMonBackPic_Butterfree[] = INCBIN_U8("graphics/pokemon/back_pics/butterfree_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Butterfree[] = INCBIN_U8("graphics/pokemon/palettes/butterfree_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Butterfree[] = INCBIN_U8("graphics/pokemon/icons/butterfree_icon.4bpp"); +const u8 gMonFootprint_Butterfree[] = INCBIN_U8("graphics/pokemon/footprints/butterfree_footprint.1bpp"); + +const u8 gMonStillFrontPic_Weedle[] = INCBIN_U8("graphics/pokemon/front_pics/weedle_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Weedle[] = INCBIN_U8("graphics/pokemon/palettes/weedle_palette.gbapal.lz"); +const u8 gMonBackPic_Weedle[] = INCBIN_U8("graphics/pokemon/back_pics/weedle_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Weedle[] = INCBIN_U8("graphics/pokemon/palettes/weedle_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Weedle[] = INCBIN_U8("graphics/pokemon/icons/weedle_icon.4bpp"); +const u8 gMonFootprint_Weedle[] = INCBIN_U8("graphics/pokemon/footprints/weedle_footprint.1bpp"); + +const u8 gMonStillFrontPic_Kakuna[] = INCBIN_U8("graphics/pokemon/front_pics/kakuna_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Kakuna[] = INCBIN_U8("graphics/pokemon/palettes/kakuna_palette.gbapal.lz"); +const u8 gMonBackPic_Kakuna[] = INCBIN_U8("graphics/pokemon/back_pics/kakuna_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Kakuna[] = INCBIN_U8("graphics/pokemon/palettes/kakuna_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Kakuna[] = INCBIN_U8("graphics/pokemon/icons/kakuna_icon.4bpp"); +const u8 gMonFootprint_Kakuna[] = INCBIN_U8("graphics/pokemon/footprints/kakuna_footprint.1bpp"); + +const u8 gMonStillFrontPic_Beedrill[] = INCBIN_U8("graphics/pokemon/front_pics/beedrill_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Beedrill[] = INCBIN_U8("graphics/pokemon/palettes/beedrill_palette.gbapal.lz"); +const u8 gMonBackPic_Beedrill[] = INCBIN_U8("graphics/pokemon/back_pics/beedrill_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Beedrill[] = INCBIN_U8("graphics/pokemon/palettes/beedrill_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Beedrill[] = INCBIN_U8("graphics/pokemon/icons/beedrill_icon.4bpp"); +const u8 gMonFootprint_Beedrill[] = INCBIN_U8("graphics/pokemon/footprints/beedrill_footprint.1bpp"); + +const u8 gMonStillFrontPic_Pidgey[] = INCBIN_U8("graphics/pokemon/front_pics/pidgey_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Pidgey[] = INCBIN_U8("graphics/pokemon/palettes/pidgey_palette.gbapal.lz"); +const u8 gMonBackPic_Pidgey[] = INCBIN_U8("graphics/pokemon/back_pics/pidgey_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Pidgey[] = INCBIN_U8("graphics/pokemon/palettes/pidgey_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Pidgey[] = INCBIN_U8("graphics/pokemon/icons/pidgey_icon.4bpp"); +const u8 gMonFootprint_Pidgey[] = INCBIN_U8("graphics/pokemon/footprints/pidgey_footprint.1bpp"); + +const u8 gMonStillFrontPic_Pidgeotto[] = INCBIN_U8("graphics/pokemon/front_pics/pidgeotto_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Pidgeotto[] = INCBIN_U8("graphics/pokemon/palettes/pidgeotto_palette.gbapal.lz"); +const u8 gMonBackPic_Pidgeotto[] = INCBIN_U8("graphics/pokemon/back_pics/pidgeotto_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Pidgeotto[] = INCBIN_U8("graphics/pokemon/palettes/pidgeotto_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Pidgeotto[] = INCBIN_U8("graphics/pokemon/icons/pidgeotto_icon.4bpp"); +const u8 gMonFootprint_Pidgeotto[] = INCBIN_U8("graphics/pokemon/footprints/pidgeotto_footprint.1bpp"); + +const u8 gMonStillFrontPic_Pidgeot[] = INCBIN_U8("graphics/pokemon/front_pics/pidgeot_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Pidgeot[] = INCBIN_U8("graphics/pokemon/palettes/pidgeot_palette.gbapal.lz"); +const u8 gMonBackPic_Pidgeot[] = INCBIN_U8("graphics/pokemon/back_pics/pidgeot_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Pidgeot[] = INCBIN_U8("graphics/pokemon/palettes/pidgeot_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Pidgeot[] = INCBIN_U8("graphics/pokemon/icons/pidgeot_icon.4bpp"); +const u8 gMonFootprint_Pidgeot[] = INCBIN_U8("graphics/pokemon/footprints/pidgeot_footprint.1bpp"); + +const u8 gMonStillFrontPic_Rattata[] = INCBIN_U8("graphics/pokemon/front_pics/rattata_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Rattata[] = INCBIN_U8("graphics/pokemon/palettes/rattata_palette.gbapal.lz"); +const u8 gMonBackPic_Rattata[] = INCBIN_U8("graphics/pokemon/back_pics/rattata_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Rattata[] = INCBIN_U8("graphics/pokemon/palettes/rattata_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Rattata[] = INCBIN_U8("graphics/pokemon/icons/rattata_icon.4bpp"); +const u8 gMonFootprint_Rattata[] = INCBIN_U8("graphics/pokemon/footprints/rattata_footprint.1bpp"); + +const u8 gMonStillFrontPic_Raticate[] = INCBIN_U8("graphics/pokemon/front_pics/raticate_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Raticate[] = INCBIN_U8("graphics/pokemon/palettes/raticate_palette.gbapal.lz"); +const u8 gMonBackPic_Raticate[] = INCBIN_U8("graphics/pokemon/back_pics/raticate_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Raticate[] = INCBIN_U8("graphics/pokemon/palettes/raticate_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Raticate[] = INCBIN_U8("graphics/pokemon/icons/raticate_icon.4bpp"); +const u8 gMonFootprint_Raticate[] = INCBIN_U8("graphics/pokemon/footprints/raticate_footprint.1bpp"); + +const u8 gMonStillFrontPic_Spearow[] = INCBIN_U8("graphics/pokemon/front_pics/spearow_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Spearow[] = INCBIN_U8("graphics/pokemon/palettes/spearow_palette.gbapal.lz"); +const u8 gMonBackPic_Spearow[] = INCBIN_U8("graphics/pokemon/back_pics/spearow_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Spearow[] = INCBIN_U8("graphics/pokemon/palettes/spearow_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Spearow[] = INCBIN_U8("graphics/pokemon/icons/spearow_icon.4bpp"); +const u8 gMonFootprint_Spearow[] = INCBIN_U8("graphics/pokemon/footprints/spearow_footprint.1bpp"); + +const u8 gMonStillFrontPic_Fearow[] = INCBIN_U8("graphics/pokemon/front_pics/fearow_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Fearow[] = INCBIN_U8("graphics/pokemon/palettes/fearow_palette.gbapal.lz"); +const u8 gMonBackPic_Fearow[] = INCBIN_U8("graphics/pokemon/back_pics/fearow_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Fearow[] = INCBIN_U8("graphics/pokemon/palettes/fearow_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Fearow[] = INCBIN_U8("graphics/pokemon/icons/fearow_icon.4bpp"); +const u8 gMonFootprint_Fearow[] = INCBIN_U8("graphics/pokemon/footprints/fearow_footprint.1bpp"); + +const u8 gMonStillFrontPic_Ekans[] = INCBIN_U8("graphics/pokemon/front_pics/ekans_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Ekans[] = INCBIN_U8("graphics/pokemon/palettes/ekans_palette.gbapal.lz"); +const u8 gMonBackPic_Ekans[] = INCBIN_U8("graphics/pokemon/back_pics/ekans_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Ekans[] = INCBIN_U8("graphics/pokemon/palettes/ekans_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Ekans[] = INCBIN_U8("graphics/pokemon/icons/ekans_icon.4bpp"); +const u8 gMonFootprint_Ekans[] = INCBIN_U8("graphics/pokemon/footprints/ekans_footprint.1bpp"); + +const u8 gMonStillFrontPic_Arbok[] = INCBIN_U8("graphics/pokemon/front_pics/arbok_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Arbok[] = INCBIN_U8("graphics/pokemon/palettes/arbok_palette.gbapal.lz"); +const u8 gMonBackPic_Arbok[] = INCBIN_U8("graphics/pokemon/back_pics/arbok_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Arbok[] = INCBIN_U8("graphics/pokemon/palettes/arbok_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Arbok[] = INCBIN_U8("graphics/pokemon/icons/arbok_icon.4bpp"); +const u8 gMonFootprint_Arbok[] = INCBIN_U8("graphics/pokemon/footprints/arbok_footprint.1bpp"); + +const u8 gMonStillFrontPic_Pikachu[] = INCBIN_U8("graphics/pokemon/front_pics/pikachu_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Pikachu[] = INCBIN_U8("graphics/pokemon/palettes/pikachu_palette.gbapal.lz"); +const u8 gMonBackPic_Pikachu[] = INCBIN_U8("graphics/pokemon/back_pics/pikachu_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Pikachu[] = INCBIN_U8("graphics/pokemon/palettes/pikachu_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Pikachu[] = INCBIN_U8("graphics/pokemon/icons/pikachu_icon.4bpp"); +const u8 gMonFootprint_Pikachu[] = INCBIN_U8("graphics/pokemon/footprints/pikachu_footprint.1bpp"); + +const u8 gMonStillFrontPic_Raichu[] = INCBIN_U8("graphics/pokemon/front_pics/raichu_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Raichu[] = INCBIN_U8("graphics/pokemon/palettes/raichu_palette.gbapal.lz"); +const u8 gMonBackPic_Raichu[] = INCBIN_U8("graphics/pokemon/back_pics/raichu_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Raichu[] = INCBIN_U8("graphics/pokemon/palettes/raichu_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Raichu[] = INCBIN_U8("graphics/pokemon/icons/raichu_icon.4bpp"); +const u8 gMonFootprint_Raichu[] = INCBIN_U8("graphics/pokemon/footprints/raichu_footprint.1bpp"); + +const u8 gMonStillFrontPic_Sandshrew[] = INCBIN_U8("graphics/pokemon/front_pics/sandshrew_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Sandshrew[] = INCBIN_U8("graphics/pokemon/palettes/sandshrew_palette.gbapal.lz"); +const u8 gMonBackPic_Sandshrew[] = INCBIN_U8("graphics/pokemon/back_pics/sandshrew_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Sandshrew[] = INCBIN_U8("graphics/pokemon/palettes/sandshrew_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Sandshrew[] = INCBIN_U8("graphics/pokemon/icons/sandshrew_icon.4bpp"); +const u8 gMonFootprint_Sandshrew[] = INCBIN_U8("graphics/pokemon/footprints/sandshrew_footprint.1bpp"); + +const u8 gMonStillFrontPic_Sandslash[] = INCBIN_U8("graphics/pokemon/front_pics/sandslash_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Sandslash[] = INCBIN_U8("graphics/pokemon/palettes/sandslash_palette.gbapal.lz"); +const u8 gMonBackPic_Sandslash[] = INCBIN_U8("graphics/pokemon/back_pics/sandslash_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Sandslash[] = INCBIN_U8("graphics/pokemon/palettes/sandslash_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Sandslash[] = INCBIN_U8("graphics/pokemon/icons/sandslash_icon.4bpp"); +const u8 gMonFootprint_Sandslash[] = INCBIN_U8("graphics/pokemon/footprints/sandslash_footprint.1bpp"); + +const u8 gMonStillFrontPic_NidoranF[] = INCBIN_U8("graphics/pokemon/front_pics/nidoran_f_still_front_pic.4bpp.lz"); +const u8 gMonPalette_NidoranF[] = INCBIN_U8("graphics/pokemon/palettes/nidoran_f_palette.gbapal.lz"); +const u8 gMonBackPic_NidoranF[] = INCBIN_U8("graphics/pokemon/back_pics/nidoran_f_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_NidoranF[] = INCBIN_U8("graphics/pokemon/palettes/nidoran_f_shiny_palette.gbapal.lz"); +const u8 gMonIcon_NidoranF[] = INCBIN_U8("graphics/pokemon/icons/nidoran_f_icon.4bpp"); +const u8 gMonFootprint_NidoranF[] = INCBIN_U8("graphics/pokemon/footprints/nidoran_f_footprint.1bpp"); + +const u8 gMonStillFrontPic_Nidorina[] = INCBIN_U8("graphics/pokemon/front_pics/nidorina_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Nidorina[] = INCBIN_U8("graphics/pokemon/palettes/nidorina_palette.gbapal.lz"); +const u8 gMonBackPic_Nidorina[] = INCBIN_U8("graphics/pokemon/back_pics/nidorina_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Nidorina[] = INCBIN_U8("graphics/pokemon/palettes/nidorina_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Nidorina[] = INCBIN_U8("graphics/pokemon/icons/nidorina_icon.4bpp"); +const u8 gMonFootprint_Nidorina[] = INCBIN_U8("graphics/pokemon/footprints/nidorina_footprint.1bpp"); + +const u8 gMonStillFrontPic_Nidoqueen[] = INCBIN_U8("graphics/pokemon/front_pics/nidoqueen_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Nidoqueen[] = INCBIN_U8("graphics/pokemon/palettes/nidoqueen_palette.gbapal.lz"); +const u8 gMonBackPic_Nidoqueen[] = INCBIN_U8("graphics/pokemon/back_pics/nidoqueen_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Nidoqueen[] = INCBIN_U8("graphics/pokemon/palettes/nidoqueen_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Nidoqueen[] = INCBIN_U8("graphics/pokemon/icons/nidoqueen_icon.4bpp"); +const u8 gMonFootprint_Nidoqueen[] = INCBIN_U8("graphics/pokemon/footprints/nidoqueen_footprint.1bpp"); + +const u8 gMonStillFrontPic_NidoranM[] = INCBIN_U8("graphics/pokemon/front_pics/nidoran_m_still_front_pic.4bpp.lz"); +const u8 gMonPalette_NidoranM[] = INCBIN_U8("graphics/pokemon/palettes/nidoran_m_palette.gbapal.lz"); +const u8 gMonBackPic_NidoranM[] = INCBIN_U8("graphics/pokemon/back_pics/nidoran_m_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_NidoranM[] = INCBIN_U8("graphics/pokemon/palettes/nidoran_m_shiny_palette.gbapal.lz"); +const u8 gMonIcon_NidoranM[] = INCBIN_U8("graphics/pokemon/icons/nidoran_m_icon.4bpp"); +const u8 gMonFootprint_NidoranM[] = INCBIN_U8("graphics/pokemon/footprints/nidoran_m_footprint.1bpp"); + +const u8 gMonStillFrontPic_Nidorino[] = INCBIN_U8("graphics/pokemon/front_pics/nidorino_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Nidorino[] = INCBIN_U8("graphics/pokemon/palettes/nidorino_palette.gbapal.lz"); +const u8 gMonBackPic_Nidorino[] = INCBIN_U8("graphics/pokemon/back_pics/nidorino_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Nidorino[] = INCBIN_U8("graphics/pokemon/palettes/nidorino_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Nidorino[] = INCBIN_U8("graphics/pokemon/icons/nidorino_icon.4bpp"); +const u8 gMonFootprint_Nidorino[] = INCBIN_U8("graphics/pokemon/footprints/nidorino_footprint.1bpp"); + +const u8 gMonStillFrontPic_Nidoking[] = INCBIN_U8("graphics/pokemon/front_pics/nidoking_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Nidoking[] = INCBIN_U8("graphics/pokemon/palettes/nidoking_palette.gbapal.lz"); +const u8 gMonBackPic_Nidoking[] = INCBIN_U8("graphics/pokemon/back_pics/nidoking_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Nidoking[] = INCBIN_U8("graphics/pokemon/palettes/nidoking_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Nidoking[] = INCBIN_U8("graphics/pokemon/icons/nidoking_icon.4bpp"); +const u8 gMonFootprint_Nidoking[] = INCBIN_U8("graphics/pokemon/footprints/nidoking_footprint.1bpp"); + +const u8 gMonStillFrontPic_Clefairy[] = INCBIN_U8("graphics/pokemon/front_pics/clefairy_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Clefairy[] = INCBIN_U8("graphics/pokemon/palettes/clefairy_palette.gbapal.lz"); +const u8 gMonBackPic_Clefairy[] = INCBIN_U8("graphics/pokemon/back_pics/clefairy_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Clefairy[] = INCBIN_U8("graphics/pokemon/palettes/clefairy_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Clefairy[] = INCBIN_U8("graphics/pokemon/icons/clefairy_icon.4bpp"); +const u8 gMonFootprint_Clefairy[] = INCBIN_U8("graphics/pokemon/footprints/clefairy_footprint.1bpp"); + +const u8 gMonStillFrontPic_Clefable[] = INCBIN_U8("graphics/pokemon/front_pics/clefable_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Clefable[] = INCBIN_U8("graphics/pokemon/palettes/clefable_palette.gbapal.lz"); +const u8 gMonBackPic_Clefable[] = INCBIN_U8("graphics/pokemon/back_pics/clefable_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Clefable[] = INCBIN_U8("graphics/pokemon/palettes/clefable_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Clefable[] = INCBIN_U8("graphics/pokemon/icons/clefable_icon.4bpp"); +const u8 gMonFootprint_Clefable[] = INCBIN_U8("graphics/pokemon/footprints/clefable_footprint.1bpp"); + +const u8 gMonStillFrontPic_Vulpix[] = INCBIN_U8("graphics/pokemon/front_pics/vulpix_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Vulpix[] = INCBIN_U8("graphics/pokemon/palettes/vulpix_palette.gbapal.lz"); +const u8 gMonBackPic_Vulpix[] = INCBIN_U8("graphics/pokemon/back_pics/vulpix_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Vulpix[] = INCBIN_U8("graphics/pokemon/palettes/vulpix_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Vulpix[] = INCBIN_U8("graphics/pokemon/icons/vulpix_icon.4bpp"); +const u8 gMonFootprint_Vulpix[] = INCBIN_U8("graphics/pokemon/footprints/vulpix_footprint.1bpp"); + +const u8 gMonStillFrontPic_Ninetales[] = INCBIN_U8("graphics/pokemon/front_pics/ninetales_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Ninetales[] = INCBIN_U8("graphics/pokemon/palettes/ninetales_palette.gbapal.lz"); +const u8 gMonBackPic_Ninetales[] = INCBIN_U8("graphics/pokemon/back_pics/ninetales_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Ninetales[] = INCBIN_U8("graphics/pokemon/palettes/ninetales_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Ninetales[] = INCBIN_U8("graphics/pokemon/icons/ninetales_icon.4bpp"); +const u8 gMonFootprint_Ninetales[] = INCBIN_U8("graphics/pokemon/footprints/ninetales_footprint.1bpp"); + +const u8 gMonStillFrontPic_Jigglypuff[] = INCBIN_U8("graphics/pokemon/front_pics/jigglypuff_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Jigglypuff[] = INCBIN_U8("graphics/pokemon/palettes/jigglypuff_palette.gbapal.lz"); +const u8 gMonBackPic_Jigglypuff[] = INCBIN_U8("graphics/pokemon/back_pics/jigglypuff_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Jigglypuff[] = INCBIN_U8("graphics/pokemon/palettes/jigglypuff_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Jigglypuff[] = INCBIN_U8("graphics/pokemon/icons/jigglypuff_icon.4bpp"); +const u8 gMonFootprint_Jigglypuff[] = INCBIN_U8("graphics/pokemon/footprints/jigglypuff_footprint.1bpp"); + +const u8 gMonStillFrontPic_Wigglytuff[] = INCBIN_U8("graphics/pokemon/front_pics/wigglytuff_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Wigglytuff[] = INCBIN_U8("graphics/pokemon/palettes/wigglytuff_palette.gbapal.lz"); +const u8 gMonBackPic_Wigglytuff[] = INCBIN_U8("graphics/pokemon/back_pics/wigglytuff_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Wigglytuff[] = INCBIN_U8("graphics/pokemon/palettes/wigglytuff_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Wigglytuff[] = INCBIN_U8("graphics/pokemon/icons/wigglytuff_icon.4bpp"); +const u8 gMonFootprint_Wigglytuff[] = INCBIN_U8("graphics/pokemon/footprints/wigglytuff_footprint.1bpp"); + +const u8 gMonStillFrontPic_Zubat[] = INCBIN_U8("graphics/pokemon/front_pics/zubat_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Zubat[] = INCBIN_U8("graphics/pokemon/palettes/zubat_palette.gbapal.lz"); +const u8 gMonBackPic_Zubat[] = INCBIN_U8("graphics/pokemon/back_pics/zubat_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Zubat[] = INCBIN_U8("graphics/pokemon/palettes/zubat_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Zubat[] = INCBIN_U8("graphics/pokemon/icons/zubat_icon.4bpp"); +const u8 gMonFootprint_Zubat[] = INCBIN_U8("graphics/pokemon/footprints/zubat_footprint.1bpp"); + +const u8 gMonStillFrontPic_Golbat[] = INCBIN_U8("graphics/pokemon/front_pics/golbat_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Golbat[] = INCBIN_U8("graphics/pokemon/palettes/golbat_palette.gbapal.lz"); +const u8 gMonBackPic_Golbat[] = INCBIN_U8("graphics/pokemon/back_pics/golbat_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Golbat[] = INCBIN_U8("graphics/pokemon/palettes/golbat_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Golbat[] = INCBIN_U8("graphics/pokemon/icons/golbat_icon.4bpp"); +const u8 gMonFootprint_Golbat[] = INCBIN_U8("graphics/pokemon/footprints/golbat_footprint.1bpp"); + +const u8 gMonStillFrontPic_Oddish[] = INCBIN_U8("graphics/pokemon/front_pics/oddish_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Oddish[] = INCBIN_U8("graphics/pokemon/palettes/oddish_palette.gbapal.lz"); +const u8 gMonBackPic_Oddish[] = INCBIN_U8("graphics/pokemon/back_pics/oddish_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Oddish[] = INCBIN_U8("graphics/pokemon/palettes/oddish_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Oddish[] = INCBIN_U8("graphics/pokemon/icons/oddish_icon.4bpp"); +const u8 gMonFootprint_Oddish[] = INCBIN_U8("graphics/pokemon/footprints/oddish_footprint.1bpp"); + +const u8 gMonStillFrontPic_Gloom[] = INCBIN_U8("graphics/pokemon/front_pics/gloom_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Gloom[] = INCBIN_U8("graphics/pokemon/palettes/gloom_palette.gbapal.lz"); +const u8 gMonBackPic_Gloom[] = INCBIN_U8("graphics/pokemon/back_pics/gloom_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Gloom[] = INCBIN_U8("graphics/pokemon/palettes/gloom_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Gloom[] = INCBIN_U8("graphics/pokemon/icons/gloom_icon.4bpp"); +const u8 gMonFootprint_Gloom[] = INCBIN_U8("graphics/pokemon/footprints/gloom_footprint.1bpp"); + +const u8 gMonStillFrontPic_Vileplume[] = INCBIN_U8("graphics/pokemon/front_pics/vileplume_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Vileplume[] = INCBIN_U8("graphics/pokemon/palettes/vileplume_palette.gbapal.lz"); +const u8 gMonBackPic_Vileplume[] = INCBIN_U8("graphics/pokemon/back_pics/vileplume_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Vileplume[] = INCBIN_U8("graphics/pokemon/palettes/vileplume_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Vileplume[] = INCBIN_U8("graphics/pokemon/icons/vileplume_icon.4bpp"); +const u8 gMonFootprint_Vileplume[] = INCBIN_U8("graphics/pokemon/footprints/vileplume_footprint.1bpp"); + +const u8 gMonStillFrontPic_Paras[] = INCBIN_U8("graphics/pokemon/front_pics/paras_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Paras[] = INCBIN_U8("graphics/pokemon/palettes/paras_palette.gbapal.lz"); +const u8 gMonBackPic_Paras[] = INCBIN_U8("graphics/pokemon/back_pics/paras_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Paras[] = INCBIN_U8("graphics/pokemon/palettes/paras_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Paras[] = INCBIN_U8("graphics/pokemon/icons/paras_icon.4bpp"); +const u8 gMonFootprint_Paras[] = INCBIN_U8("graphics/pokemon/footprints/paras_footprint.1bpp"); + +const u8 gMonStillFrontPic_Parasect[] = INCBIN_U8("graphics/pokemon/front_pics/parasect_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Parasect[] = INCBIN_U8("graphics/pokemon/palettes/parasect_palette.gbapal.lz"); +const u8 gMonBackPic_Parasect[] = INCBIN_U8("graphics/pokemon/back_pics/parasect_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Parasect[] = INCBIN_U8("graphics/pokemon/palettes/parasect_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Parasect[] = INCBIN_U8("graphics/pokemon/icons/parasect_icon.4bpp"); +const u8 gMonFootprint_Parasect[] = INCBIN_U8("graphics/pokemon/footprints/parasect_footprint.1bpp"); + +const u8 gMonStillFrontPic_Venonat[] = INCBIN_U8("graphics/pokemon/front_pics/venonat_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Venonat[] = INCBIN_U8("graphics/pokemon/palettes/venonat_palette.gbapal.lz"); +const u8 gMonBackPic_Venonat[] = INCBIN_U8("graphics/pokemon/back_pics/venonat_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Venonat[] = INCBIN_U8("graphics/pokemon/palettes/venonat_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Venonat[] = INCBIN_U8("graphics/pokemon/icons/venonat_icon.4bpp"); +const u8 gMonFootprint_Venonat[] = INCBIN_U8("graphics/pokemon/footprints/venonat_footprint.1bpp"); + +const u8 gMonStillFrontPic_Venomoth[] = INCBIN_U8("graphics/pokemon/front_pics/venomoth_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Venomoth[] = INCBIN_U8("graphics/pokemon/palettes/venomoth_palette.gbapal.lz"); +const u8 gMonBackPic_Venomoth[] = INCBIN_U8("graphics/pokemon/back_pics/venomoth_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Venomoth[] = INCBIN_U8("graphics/pokemon/palettes/venomoth_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Venomoth[] = INCBIN_U8("graphics/pokemon/icons/venomoth_icon.4bpp"); +const u8 gMonFootprint_Venomoth[] = INCBIN_U8("graphics/pokemon/footprints/venomoth_footprint.1bpp"); + +const u8 gMonStillFrontPic_Diglett[] = INCBIN_U8("graphics/pokemon/front_pics/diglett_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Diglett[] = INCBIN_U8("graphics/pokemon/palettes/diglett_palette.gbapal.lz"); +const u8 gMonBackPic_Diglett[] = INCBIN_U8("graphics/pokemon/back_pics/diglett_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Diglett[] = INCBIN_U8("graphics/pokemon/palettes/diglett_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Diglett[] = INCBIN_U8("graphics/pokemon/icons/diglett_icon.4bpp"); +const u8 gMonFootprint_Diglett[] = INCBIN_U8("graphics/pokemon/footprints/diglett_footprint.1bpp"); + +const u8 gMonStillFrontPic_Dugtrio[] = INCBIN_U8("graphics/pokemon/front_pics/dugtrio_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Dugtrio[] = INCBIN_U8("graphics/pokemon/palettes/dugtrio_palette.gbapal.lz"); +const u8 gMonBackPic_Dugtrio[] = INCBIN_U8("graphics/pokemon/back_pics/dugtrio_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Dugtrio[] = INCBIN_U8("graphics/pokemon/palettes/dugtrio_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Dugtrio[] = INCBIN_U8("graphics/pokemon/icons/dugtrio_icon.4bpp"); +const u8 gMonFootprint_Dugtrio[] = INCBIN_U8("graphics/pokemon/footprints/dugtrio_footprint.1bpp"); + +const u8 gMonStillFrontPic_Meowth[] = INCBIN_U8("graphics/pokemon/front_pics/meowth_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Meowth[] = INCBIN_U8("graphics/pokemon/palettes/meowth_palette.gbapal.lz"); +const u8 gMonBackPic_Meowth[] = INCBIN_U8("graphics/pokemon/back_pics/meowth_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Meowth[] = INCBIN_U8("graphics/pokemon/palettes/meowth_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Meowth[] = INCBIN_U8("graphics/pokemon/icons/meowth_icon.4bpp"); +const u8 gMonFootprint_Meowth[] = INCBIN_U8("graphics/pokemon/footprints/meowth_footprint.1bpp"); + +const u8 gMonStillFrontPic_Persian[] = INCBIN_U8("graphics/pokemon/front_pics/persian_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Persian[] = INCBIN_U8("graphics/pokemon/palettes/persian_palette.gbapal.lz"); +const u8 gMonBackPic_Persian[] = INCBIN_U8("graphics/pokemon/back_pics/persian_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Persian[] = INCBIN_U8("graphics/pokemon/palettes/persian_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Persian[] = INCBIN_U8("graphics/pokemon/icons/persian_icon.4bpp"); +const u8 gMonFootprint_Persian[] = INCBIN_U8("graphics/pokemon/footprints/persian_footprint.1bpp"); + +const u8 gMonStillFrontPic_Psyduck[] = INCBIN_U8("graphics/pokemon/front_pics/psyduck_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Psyduck[] = INCBIN_U8("graphics/pokemon/palettes/psyduck_palette.gbapal.lz"); +const u8 gMonBackPic_Psyduck[] = INCBIN_U8("graphics/pokemon/back_pics/psyduck_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Psyduck[] = INCBIN_U8("graphics/pokemon/palettes/psyduck_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Psyduck[] = INCBIN_U8("graphics/pokemon/icons/psyduck_icon.4bpp"); +const u8 gMonFootprint_Psyduck[] = INCBIN_U8("graphics/pokemon/footprints/psyduck_footprint.1bpp"); + +const u8 gMonStillFrontPic_Golduck[] = INCBIN_U8("graphics/pokemon/front_pics/golduck_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Golduck[] = INCBIN_U8("graphics/pokemon/palettes/golduck_palette.gbapal.lz"); +const u8 gMonBackPic_Golduck[] = INCBIN_U8("graphics/pokemon/back_pics/golduck_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Golduck[] = INCBIN_U8("graphics/pokemon/palettes/golduck_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Golduck[] = INCBIN_U8("graphics/pokemon/icons/golduck_icon.4bpp"); +const u8 gMonFootprint_Golduck[] = INCBIN_U8("graphics/pokemon/footprints/golduck_footprint.1bpp"); + +const u8 gMonStillFrontPic_Mankey[] = INCBIN_U8("graphics/pokemon/front_pics/mankey_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Mankey[] = INCBIN_U8("graphics/pokemon/palettes/mankey_palette.gbapal.lz"); +const u8 gMonBackPic_Mankey[] = INCBIN_U8("graphics/pokemon/back_pics/mankey_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Mankey[] = INCBIN_U8("graphics/pokemon/palettes/mankey_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Mankey[] = INCBIN_U8("graphics/pokemon/icons/mankey_icon.4bpp"); +const u8 gMonFootprint_Mankey[] = INCBIN_U8("graphics/pokemon/footprints/mankey_footprint.1bpp"); + +const u8 gMonStillFrontPic_Primeape[] = INCBIN_U8("graphics/pokemon/front_pics/primeape_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Primeape[] = INCBIN_U8("graphics/pokemon/palettes/primeape_palette.gbapal.lz"); +const u8 gMonBackPic_Primeape[] = INCBIN_U8("graphics/pokemon/back_pics/primeape_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Primeape[] = INCBIN_U8("graphics/pokemon/palettes/primeape_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Primeape[] = INCBIN_U8("graphics/pokemon/icons/primeape_icon.4bpp"); +const u8 gMonFootprint_Primeape[] = INCBIN_U8("graphics/pokemon/footprints/primeape_footprint.1bpp"); + +const u8 gMonStillFrontPic_Growlithe[] = INCBIN_U8("graphics/pokemon/front_pics/growlithe_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Growlithe[] = INCBIN_U8("graphics/pokemon/palettes/growlithe_palette.gbapal.lz"); +const u8 gMonBackPic_Growlithe[] = INCBIN_U8("graphics/pokemon/back_pics/growlithe_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Growlithe[] = INCBIN_U8("graphics/pokemon/palettes/growlithe_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Growlithe[] = INCBIN_U8("graphics/pokemon/icons/growlithe_icon.4bpp"); +const u8 gMonFootprint_Growlithe[] = INCBIN_U8("graphics/pokemon/footprints/growlithe_footprint.1bpp"); + +const u8 gMonStillFrontPic_Arcanine[] = INCBIN_U8("graphics/pokemon/front_pics/arcanine_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Arcanine[] = INCBIN_U8("graphics/pokemon/palettes/arcanine_palette.gbapal.lz"); +const u8 gMonBackPic_Arcanine[] = INCBIN_U8("graphics/pokemon/back_pics/arcanine_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Arcanine[] = INCBIN_U8("graphics/pokemon/palettes/arcanine_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Arcanine[] = INCBIN_U8("graphics/pokemon/icons/arcanine_icon.4bpp"); +const u8 gMonFootprint_Arcanine[] = INCBIN_U8("graphics/pokemon/footprints/arcanine_footprint.1bpp"); + +const u8 gMonStillFrontPic_Poliwag[] = INCBIN_U8("graphics/pokemon/front_pics/poliwag_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Poliwag[] = INCBIN_U8("graphics/pokemon/palettes/poliwag_palette.gbapal.lz"); +const u8 gMonBackPic_Poliwag[] = INCBIN_U8("graphics/pokemon/back_pics/poliwag_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Poliwag[] = INCBIN_U8("graphics/pokemon/palettes/poliwag_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Poliwag[] = INCBIN_U8("graphics/pokemon/icons/poliwag_icon.4bpp"); +const u8 gMonFootprint_Poliwag[] = INCBIN_U8("graphics/pokemon/footprints/poliwag_footprint.1bpp"); + +const u8 gMonStillFrontPic_Poliwhirl[] = INCBIN_U8("graphics/pokemon/front_pics/poliwhirl_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Poliwhirl[] = INCBIN_U8("graphics/pokemon/palettes/poliwhirl_palette.gbapal.lz"); +const u8 gMonBackPic_Poliwhirl[] = INCBIN_U8("graphics/pokemon/back_pics/poliwhirl_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Poliwhirl[] = INCBIN_U8("graphics/pokemon/palettes/poliwhirl_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Poliwhirl[] = INCBIN_U8("graphics/pokemon/icons/poliwhirl_icon.4bpp"); +const u8 gMonFootprint_Poliwhirl[] = INCBIN_U8("graphics/pokemon/footprints/poliwhirl_footprint.1bpp"); + +const u8 gMonStillFrontPic_Poliwrath[] = INCBIN_U8("graphics/pokemon/front_pics/poliwrath_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Poliwrath[] = INCBIN_U8("graphics/pokemon/palettes/poliwrath_palette.gbapal.lz"); +const u8 gMonBackPic_Poliwrath[] = INCBIN_U8("graphics/pokemon/back_pics/poliwrath_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Poliwrath[] = INCBIN_U8("graphics/pokemon/palettes/poliwrath_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Poliwrath[] = INCBIN_U8("graphics/pokemon/icons/poliwrath_icon.4bpp"); +const u8 gMonFootprint_Poliwrath[] = INCBIN_U8("graphics/pokemon/footprints/poliwrath_footprint.1bpp"); + +const u8 gMonStillFrontPic_Abra[] = INCBIN_U8("graphics/pokemon/front_pics/abra_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Abra[] = INCBIN_U8("graphics/pokemon/palettes/abra_palette.gbapal.lz"); +const u8 gMonBackPic_Abra[] = INCBIN_U8("graphics/pokemon/back_pics/abra_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Abra[] = INCBIN_U8("graphics/pokemon/palettes/abra_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Abra[] = INCBIN_U8("graphics/pokemon/icons/abra_icon.4bpp"); +const u8 gMonFootprint_Abra[] = INCBIN_U8("graphics/pokemon/footprints/abra_footprint.1bpp"); + +const u8 gMonStillFrontPic_Kadabra[] = INCBIN_U8("graphics/pokemon/front_pics/kadabra_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Kadabra[] = INCBIN_U8("graphics/pokemon/palettes/kadabra_palette.gbapal.lz"); +const u8 gMonBackPic_Kadabra[] = INCBIN_U8("graphics/pokemon/back_pics/kadabra_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Kadabra[] = INCBIN_U8("graphics/pokemon/palettes/kadabra_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Kadabra[] = INCBIN_U8("graphics/pokemon/icons/kadabra_icon.4bpp"); +const u8 gMonFootprint_Kadabra[] = INCBIN_U8("graphics/pokemon/footprints/kadabra_footprint.1bpp"); + +const u8 gMonStillFrontPic_Alakazam[] = INCBIN_U8("graphics/pokemon/front_pics/alakazam_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Alakazam[] = INCBIN_U8("graphics/pokemon/palettes/alakazam_palette.gbapal.lz"); +const u8 gMonBackPic_Alakazam[] = INCBIN_U8("graphics/pokemon/back_pics/alakazam_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Alakazam[] = INCBIN_U8("graphics/pokemon/palettes/alakazam_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Alakazam[] = INCBIN_U8("graphics/pokemon/icons/alakazam_icon.4bpp"); +const u8 gMonFootprint_Alakazam[] = INCBIN_U8("graphics/pokemon/footprints/alakazam_footprint.1bpp"); + +const u8 gMonStillFrontPic_Machop[] = INCBIN_U8("graphics/pokemon/front_pics/machop_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Machop[] = INCBIN_U8("graphics/pokemon/palettes/machop_palette.gbapal.lz"); +const u8 gMonBackPic_Machop[] = INCBIN_U8("graphics/pokemon/back_pics/machop_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Machop[] = INCBIN_U8("graphics/pokemon/palettes/machop_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Machop[] = INCBIN_U8("graphics/pokemon/icons/machop_icon.4bpp"); +const u8 gMonFootprint_Machop[] = INCBIN_U8("graphics/pokemon/footprints/machop_footprint.1bpp"); + +const u8 gMonStillFrontPic_Machoke[] = INCBIN_U8("graphics/pokemon/front_pics/machoke_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Machoke[] = INCBIN_U8("graphics/pokemon/palettes/machoke_palette.gbapal.lz"); +const u8 gMonBackPic_Machoke[] = INCBIN_U8("graphics/pokemon/back_pics/machoke_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Machoke[] = INCBIN_U8("graphics/pokemon/palettes/machoke_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Machoke[] = INCBIN_U8("graphics/pokemon/icons/machoke_icon.4bpp"); +const u8 gMonFootprint_Machoke[] = INCBIN_U8("graphics/pokemon/footprints/machoke_footprint.1bpp"); + +const u8 gMonStillFrontPic_Machamp[] = INCBIN_U8("graphics/pokemon/front_pics/machamp_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Machamp[] = INCBIN_U8("graphics/pokemon/palettes/machamp_palette.gbapal.lz"); +const u8 gMonBackPic_Machamp[] = INCBIN_U8("graphics/pokemon/back_pics/machamp_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Machamp[] = INCBIN_U8("graphics/pokemon/palettes/machamp_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Machamp[] = INCBIN_U8("graphics/pokemon/icons/machamp_icon.4bpp"); +const u8 gMonFootprint_Machamp[] = INCBIN_U8("graphics/pokemon/footprints/machamp_footprint.1bpp"); + +const u8 gMonStillFrontPic_Bellsprout[] = INCBIN_U8("graphics/pokemon/front_pics/bellsprout_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Bellsprout[] = INCBIN_U8("graphics/pokemon/palettes/bellsprout_palette.gbapal.lz"); +const u8 gMonBackPic_Bellsprout[] = INCBIN_U8("graphics/pokemon/back_pics/bellsprout_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Bellsprout[] = INCBIN_U8("graphics/pokemon/palettes/bellsprout_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Bellsprout[] = INCBIN_U8("graphics/pokemon/icons/bellsprout_icon.4bpp"); +const u8 gMonFootprint_Bellsprout[] = INCBIN_U8("graphics/pokemon/footprints/bellsprout_footprint.1bpp"); + +const u8 gMonStillFrontPic_Weepinbell[] = INCBIN_U8("graphics/pokemon/front_pics/weepinbell_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Weepinbell[] = INCBIN_U8("graphics/pokemon/palettes/weepinbell_palette.gbapal.lz"); +const u8 gMonBackPic_Weepinbell[] = INCBIN_U8("graphics/pokemon/back_pics/weepinbell_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Weepinbell[] = INCBIN_U8("graphics/pokemon/palettes/weepinbell_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Weepinbell[] = INCBIN_U8("graphics/pokemon/icons/weepinbell_icon.4bpp"); +const u8 gMonFootprint_Weepinbell[] = INCBIN_U8("graphics/pokemon/footprints/weepinbell_footprint.1bpp"); + +const u8 gMonStillFrontPic_Victreebel[] = INCBIN_U8("graphics/pokemon/front_pics/victreebel_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Victreebel[] = INCBIN_U8("graphics/pokemon/palettes/victreebel_palette.gbapal.lz"); +const u8 gMonBackPic_Victreebel[] = INCBIN_U8("graphics/pokemon/back_pics/victreebel_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Victreebel[] = INCBIN_U8("graphics/pokemon/palettes/victreebel_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Victreebel[] = INCBIN_U8("graphics/pokemon/icons/victreebel_icon.4bpp"); +const u8 gMonFootprint_Victreebel[] = INCBIN_U8("graphics/pokemon/footprints/victreebel_footprint.1bpp"); + +const u8 gMonStillFrontPic_Tentacool[] = INCBIN_U8("graphics/pokemon/front_pics/tentacool_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Tentacool[] = INCBIN_U8("graphics/pokemon/palettes/tentacool_palette.gbapal.lz"); +const u8 gMonBackPic_Tentacool[] = INCBIN_U8("graphics/pokemon/back_pics/tentacool_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Tentacool[] = INCBIN_U8("graphics/pokemon/palettes/tentacool_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Tentacool[] = INCBIN_U8("graphics/pokemon/icons/tentacool_icon.4bpp"); +const u8 gMonFootprint_Tentacool[] = INCBIN_U8("graphics/pokemon/footprints/tentacool_footprint.1bpp"); + +const u8 gMonStillFrontPic_Tentacruel[] = INCBIN_U8("graphics/pokemon/front_pics/tentacruel_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Tentacruel[] = INCBIN_U8("graphics/pokemon/palettes/tentacruel_palette.gbapal.lz"); +const u8 gMonBackPic_Tentacruel[] = INCBIN_U8("graphics/pokemon/back_pics/tentacruel_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Tentacruel[] = INCBIN_U8("graphics/pokemon/palettes/tentacruel_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Tentacruel[] = INCBIN_U8("graphics/pokemon/icons/tentacruel_icon.4bpp"); +const u8 gMonFootprint_Tentacruel[] = INCBIN_U8("graphics/pokemon/footprints/tentacruel_footprint.1bpp"); + +const u8 gMonStillFrontPic_Geodude[] = INCBIN_U8("graphics/pokemon/front_pics/geodude_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Geodude[] = INCBIN_U8("graphics/pokemon/palettes/geodude_palette.gbapal.lz"); +const u8 gMonBackPic_Geodude[] = INCBIN_U8("graphics/pokemon/back_pics/geodude_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Geodude[] = INCBIN_U8("graphics/pokemon/palettes/geodude_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Geodude[] = INCBIN_U8("graphics/pokemon/icons/geodude_icon.4bpp"); +const u8 gMonFootprint_Geodude[] = INCBIN_U8("graphics/pokemon/footprints/geodude_footprint.1bpp"); + +const u8 gMonStillFrontPic_Graveler[] = INCBIN_U8("graphics/pokemon/front_pics/graveler_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Graveler[] = INCBIN_U8("graphics/pokemon/palettes/graveler_palette.gbapal.lz"); +const u8 gMonBackPic_Graveler[] = INCBIN_U8("graphics/pokemon/back_pics/graveler_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Graveler[] = INCBIN_U8("graphics/pokemon/palettes/graveler_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Graveler[] = INCBIN_U8("graphics/pokemon/icons/graveler_icon.4bpp"); +const u8 gMonFootprint_Graveler[] = INCBIN_U8("graphics/pokemon/footprints/graveler_footprint.1bpp"); + +const u8 gMonStillFrontPic_Golem[] = INCBIN_U8("graphics/pokemon/front_pics/golem_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Golem[] = INCBIN_U8("graphics/pokemon/palettes/golem_palette.gbapal.lz"); +const u8 gMonBackPic_Golem[] = INCBIN_U8("graphics/pokemon/back_pics/golem_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Golem[] = INCBIN_U8("graphics/pokemon/palettes/golem_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Golem[] = INCBIN_U8("graphics/pokemon/icons/golem_icon.4bpp"); +const u8 gMonFootprint_Golem[] = INCBIN_U8("graphics/pokemon/footprints/golem_footprint.1bpp"); + +const u8 gMonStillFrontPic_Ponyta[] = INCBIN_U8("graphics/pokemon/front_pics/ponyta_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Ponyta[] = INCBIN_U8("graphics/pokemon/palettes/ponyta_palette.gbapal.lz"); +const u8 gMonBackPic_Ponyta[] = INCBIN_U8("graphics/pokemon/back_pics/ponyta_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Ponyta[] = INCBIN_U8("graphics/pokemon/palettes/ponyta_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Ponyta[] = INCBIN_U8("graphics/pokemon/icons/ponyta_icon.4bpp"); +const u8 gMonFootprint_Ponyta[] = INCBIN_U8("graphics/pokemon/footprints/ponyta_footprint.1bpp"); + +const u8 gMonStillFrontPic_Rapidash[] = INCBIN_U8("graphics/pokemon/front_pics/rapidash_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Rapidash[] = INCBIN_U8("graphics/pokemon/palettes/rapidash_palette.gbapal.lz"); +const u8 gMonBackPic_Rapidash[] = INCBIN_U8("graphics/pokemon/back_pics/rapidash_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Rapidash[] = INCBIN_U8("graphics/pokemon/palettes/rapidash_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Rapidash[] = INCBIN_U8("graphics/pokemon/icons/rapidash_icon.4bpp"); +const u8 gMonFootprint_Rapidash[] = INCBIN_U8("graphics/pokemon/footprints/rapidash_footprint.1bpp"); + +const u8 gMonStillFrontPic_Slowpoke[] = INCBIN_U8("graphics/pokemon/front_pics/slowpoke_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Slowpoke[] = INCBIN_U8("graphics/pokemon/palettes/slowpoke_palette.gbapal.lz"); +const u8 gMonBackPic_Slowpoke[] = INCBIN_U8("graphics/pokemon/back_pics/slowpoke_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Slowpoke[] = INCBIN_U8("graphics/pokemon/palettes/slowpoke_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Slowpoke[] = INCBIN_U8("graphics/pokemon/icons/slowpoke_icon.4bpp"); +const u8 gMonFootprint_Slowpoke[] = INCBIN_U8("graphics/pokemon/footprints/slowpoke_footprint.1bpp"); + +const u8 gMonStillFrontPic_Slowbro[] = INCBIN_U8("graphics/pokemon/front_pics/slowbro_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Slowbro[] = INCBIN_U8("graphics/pokemon/palettes/slowbro_palette.gbapal.lz"); +const u8 gMonBackPic_Slowbro[] = INCBIN_U8("graphics/pokemon/back_pics/slowbro_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Slowbro[] = INCBIN_U8("graphics/pokemon/palettes/slowbro_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Slowbro[] = INCBIN_U8("graphics/pokemon/icons/slowbro_icon.4bpp"); +const u8 gMonFootprint_Slowbro[] = INCBIN_U8("graphics/pokemon/footprints/slowbro_footprint.1bpp"); + +const u8 gMonStillFrontPic_Magnemite[] = INCBIN_U8("graphics/pokemon/front_pics/magnemite_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Magnemite[] = INCBIN_U8("graphics/pokemon/palettes/magnemite_palette.gbapal.lz"); +const u8 gMonBackPic_Magnemite[] = INCBIN_U8("graphics/pokemon/back_pics/magnemite_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Magnemite[] = INCBIN_U8("graphics/pokemon/palettes/magnemite_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Magnemite[] = INCBIN_U8("graphics/pokemon/icons/magnemite_icon.4bpp"); +const u8 gMonFootprint_Magnemite[] = INCBIN_U8("graphics/pokemon/footprints/magnemite_footprint.1bpp"); + +const u8 gMonStillFrontPic_Magneton[] = INCBIN_U8("graphics/pokemon/front_pics/magneton_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Magneton[] = INCBIN_U8("graphics/pokemon/palettes/magneton_palette.gbapal.lz"); +const u8 gMonBackPic_Magneton[] = INCBIN_U8("graphics/pokemon/back_pics/magneton_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Magneton[] = INCBIN_U8("graphics/pokemon/palettes/magneton_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Magneton[] = INCBIN_U8("graphics/pokemon/icons/magneton_icon.4bpp"); +const u8 gMonFootprint_Magneton[] = INCBIN_U8("graphics/pokemon/footprints/magneton_footprint.1bpp"); + +const u8 gMonStillFrontPic_Farfetchd[] = INCBIN_U8("graphics/pokemon/front_pics/farfetch_d_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Farfetchd[] = INCBIN_U8("graphics/pokemon/palettes/farfetch_d_palette.gbapal.lz"); +const u8 gMonBackPic_Farfetchd[] = INCBIN_U8("graphics/pokemon/back_pics/farfetch_d_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Farfetchd[] = INCBIN_U8("graphics/pokemon/palettes/farfetch_d_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Farfetchd[] = INCBIN_U8("graphics/pokemon/icons/farfetch_d_icon.4bpp"); +const u8 gMonFootprint_Farfetchd[] = INCBIN_U8("graphics/pokemon/footprints/farfetch_d_footprint.1bpp"); + +const u8 gMonStillFrontPic_Doduo[] = INCBIN_U8("graphics/pokemon/front_pics/doduo_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Doduo[] = INCBIN_U8("graphics/pokemon/palettes/doduo_palette.gbapal.lz"); +const u8 gMonBackPic_Doduo[] = INCBIN_U8("graphics/pokemon/back_pics/doduo_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Doduo[] = INCBIN_U8("graphics/pokemon/palettes/doduo_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Doduo[] = INCBIN_U8("graphics/pokemon/icons/doduo_icon.4bpp"); +const u8 gMonFootprint_Doduo[] = INCBIN_U8("graphics/pokemon/footprints/doduo_footprint.1bpp"); + +const u8 gMonStillFrontPic_Dodrio[] = INCBIN_U8("graphics/pokemon/front_pics/dodrio_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Dodrio[] = INCBIN_U8("graphics/pokemon/palettes/dodrio_palette.gbapal.lz"); +const u8 gMonBackPic_Dodrio[] = INCBIN_U8("graphics/pokemon/back_pics/dodrio_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Dodrio[] = INCBIN_U8("graphics/pokemon/palettes/dodrio_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Dodrio[] = INCBIN_U8("graphics/pokemon/icons/dodrio_icon.4bpp"); +const u8 gMonFootprint_Dodrio[] = INCBIN_U8("graphics/pokemon/footprints/dodrio_footprint.1bpp"); + +const u8 gMonStillFrontPic_Seel[] = INCBIN_U8("graphics/pokemon/front_pics/seel_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Seel[] = INCBIN_U8("graphics/pokemon/palettes/seel_palette.gbapal.lz"); +const u8 gMonBackPic_Seel[] = INCBIN_U8("graphics/pokemon/back_pics/seel_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Seel[] = INCBIN_U8("graphics/pokemon/palettes/seel_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Seel[] = INCBIN_U8("graphics/pokemon/icons/seel_icon.4bpp"); +const u8 gMonFootprint_Seel[] = INCBIN_U8("graphics/pokemon/footprints/seel_footprint.1bpp"); + +const u8 gMonStillFrontPic_Dewgong[] = INCBIN_U8("graphics/pokemon/front_pics/dewgong_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Dewgong[] = INCBIN_U8("graphics/pokemon/palettes/dewgong_palette.gbapal.lz"); +const u8 gMonBackPic_Dewgong[] = INCBIN_U8("graphics/pokemon/back_pics/dewgong_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Dewgong[] = INCBIN_U8("graphics/pokemon/palettes/dewgong_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Dewgong[] = INCBIN_U8("graphics/pokemon/icons/dewgong_icon.4bpp"); +const u8 gMonFootprint_Dewgong[] = INCBIN_U8("graphics/pokemon/footprints/dewgong_footprint.1bpp"); + +const u8 gMonStillFrontPic_Grimer[] = INCBIN_U8("graphics/pokemon/front_pics/grimer_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Grimer[] = INCBIN_U8("graphics/pokemon/palettes/grimer_palette.gbapal.lz"); +const u8 gMonBackPic_Grimer[] = INCBIN_U8("graphics/pokemon/back_pics/grimer_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Grimer[] = INCBIN_U8("graphics/pokemon/palettes/grimer_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Grimer[] = INCBIN_U8("graphics/pokemon/icons/grimer_icon.4bpp"); +const u8 gMonFootprint_Grimer[] = INCBIN_U8("graphics/pokemon/footprints/grimer_footprint.1bpp"); + +const u8 gMonStillFrontPic_Muk[] = INCBIN_U8("graphics/pokemon/front_pics/muk_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Muk[] = INCBIN_U8("graphics/pokemon/palettes/muk_palette.gbapal.lz"); +const u8 gMonBackPic_Muk[] = INCBIN_U8("graphics/pokemon/back_pics/muk_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Muk[] = INCBIN_U8("graphics/pokemon/palettes/muk_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Muk[] = INCBIN_U8("graphics/pokemon/icons/muk_icon.4bpp"); +const u8 gMonFootprint_Muk[] = INCBIN_U8("graphics/pokemon/footprints/muk_footprint.1bpp"); + +const u8 gMonStillFrontPic_Shellder[] = INCBIN_U8("graphics/pokemon/front_pics/shellder_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Shellder[] = INCBIN_U8("graphics/pokemon/palettes/shellder_palette.gbapal.lz"); +const u8 gMonBackPic_Shellder[] = INCBIN_U8("graphics/pokemon/back_pics/shellder_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Shellder[] = INCBIN_U8("graphics/pokemon/palettes/shellder_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Shellder[] = INCBIN_U8("graphics/pokemon/icons/shellder_icon.4bpp"); +const u8 gMonFootprint_Shellder[] = INCBIN_U8("graphics/pokemon/footprints/shellder_footprint.1bpp"); + +const u8 gMonStillFrontPic_Cloyster[] = INCBIN_U8("graphics/pokemon/front_pics/cloyster_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Cloyster[] = INCBIN_U8("graphics/pokemon/palettes/cloyster_palette.gbapal.lz"); +const u8 gMonBackPic_Cloyster[] = INCBIN_U8("graphics/pokemon/back_pics/cloyster_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Cloyster[] = INCBIN_U8("graphics/pokemon/palettes/cloyster_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Cloyster[] = INCBIN_U8("graphics/pokemon/icons/cloyster_icon.4bpp"); +const u8 gMonFootprint_Cloyster[] = INCBIN_U8("graphics/pokemon/footprints/cloyster_footprint.1bpp"); + +const u8 gMonStillFrontPic_Gastly[] = INCBIN_U8("graphics/pokemon/front_pics/gastly_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Gastly[] = INCBIN_U8("graphics/pokemon/palettes/gastly_palette.gbapal.lz"); +const u8 gMonBackPic_Gastly[] = INCBIN_U8("graphics/pokemon/back_pics/gastly_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Gastly[] = INCBIN_U8("graphics/pokemon/palettes/gastly_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Gastly[] = INCBIN_U8("graphics/pokemon/icons/gastly_icon.4bpp"); +const u8 gMonFootprint_Gastly[] = INCBIN_U8("graphics/pokemon/footprints/gastly_footprint.1bpp"); + +const u8 gMonStillFrontPic_Haunter[] = INCBIN_U8("graphics/pokemon/front_pics/haunter_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Haunter[] = INCBIN_U8("graphics/pokemon/palettes/haunter_palette.gbapal.lz"); +const u8 gMonBackPic_Haunter[] = INCBIN_U8("graphics/pokemon/back_pics/haunter_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Haunter[] = INCBIN_U8("graphics/pokemon/palettes/haunter_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Haunter[] = INCBIN_U8("graphics/pokemon/icons/haunter_icon.4bpp"); +const u8 gMonFootprint_Haunter[] = INCBIN_U8("graphics/pokemon/footprints/haunter_footprint.1bpp"); + +const u8 gMonStillFrontPic_Gengar[] = INCBIN_U8("graphics/pokemon/front_pics/gengar_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Gengar[] = INCBIN_U8("graphics/pokemon/palettes/gengar_palette.gbapal.lz"); +const u8 gMonBackPic_Gengar[] = INCBIN_U8("graphics/pokemon/back_pics/gengar_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Gengar[] = INCBIN_U8("graphics/pokemon/palettes/gengar_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Gengar[] = INCBIN_U8("graphics/pokemon/icons/gengar_icon.4bpp"); +const u8 gMonFootprint_Gengar[] = INCBIN_U8("graphics/pokemon/footprints/gengar_footprint.1bpp"); + +const u8 gMonStillFrontPic_Onix[] = INCBIN_U8("graphics/pokemon/front_pics/onix_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Onix[] = INCBIN_U8("graphics/pokemon/palettes/onix_palette.gbapal.lz"); +const u8 gMonBackPic_Onix[] = INCBIN_U8("graphics/pokemon/back_pics/onix_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Onix[] = INCBIN_U8("graphics/pokemon/palettes/onix_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Onix[] = INCBIN_U8("graphics/pokemon/icons/onix_icon.4bpp"); +const u8 gMonFootprint_Onix[] = INCBIN_U8("graphics/pokemon/footprints/onix_footprint.1bpp"); + +const u8 gMonStillFrontPic_Drowzee[] = INCBIN_U8("graphics/pokemon/front_pics/drowzee_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Drowzee[] = INCBIN_U8("graphics/pokemon/palettes/drowzee_palette.gbapal.lz"); +const u8 gMonBackPic_Drowzee[] = INCBIN_U8("graphics/pokemon/back_pics/drowzee_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Drowzee[] = INCBIN_U8("graphics/pokemon/palettes/drowzee_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Drowzee[] = INCBIN_U8("graphics/pokemon/icons/drowzee_icon.4bpp"); +const u8 gMonFootprint_Drowzee[] = INCBIN_U8("graphics/pokemon/footprints/drowzee_footprint.1bpp"); + +const u8 gMonStillFrontPic_Hypno[] = INCBIN_U8("graphics/pokemon/front_pics/hypno_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Hypno[] = INCBIN_U8("graphics/pokemon/palettes/hypno_palette.gbapal.lz"); +const u8 gMonBackPic_Hypno[] = INCBIN_U8("graphics/pokemon/back_pics/hypno_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Hypno[] = INCBIN_U8("graphics/pokemon/palettes/hypno_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Hypno[] = INCBIN_U8("graphics/pokemon/icons/hypno_icon.4bpp"); +const u8 gMonFootprint_Hypno[] = INCBIN_U8("graphics/pokemon/footprints/hypno_footprint.1bpp"); + +const u8 gMonStillFrontPic_Krabby[] = INCBIN_U8("graphics/pokemon/front_pics/krabby_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Krabby[] = INCBIN_U8("graphics/pokemon/palettes/krabby_palette.gbapal.lz"); +const u8 gMonBackPic_Krabby[] = INCBIN_U8("graphics/pokemon/back_pics/krabby_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Krabby[] = INCBIN_U8("graphics/pokemon/palettes/krabby_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Krabby[] = INCBIN_U8("graphics/pokemon/icons/krabby_icon.4bpp"); +const u8 gMonFootprint_Krabby[] = INCBIN_U8("graphics/pokemon/footprints/krabby_footprint.1bpp"); + +const u8 gMonStillFrontPic_Kingler[] = INCBIN_U8("graphics/pokemon/front_pics/kingler_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Kingler[] = INCBIN_U8("graphics/pokemon/palettes/kingler_palette.gbapal.lz"); +const u8 gMonBackPic_Kingler[] = INCBIN_U8("graphics/pokemon/back_pics/kingler_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Kingler[] = INCBIN_U8("graphics/pokemon/palettes/kingler_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Kingler[] = INCBIN_U8("graphics/pokemon/icons/kingler_icon.4bpp"); +const u8 gMonFootprint_Kingler[] = INCBIN_U8("graphics/pokemon/footprints/kingler_footprint.1bpp"); + +const u8 gMonStillFrontPic_Voltorb[] = INCBIN_U8("graphics/pokemon/front_pics/voltorb_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Voltorb[] = INCBIN_U8("graphics/pokemon/palettes/voltorb_palette.gbapal.lz"); +const u8 gMonBackPic_Voltorb[] = INCBIN_U8("graphics/pokemon/back_pics/voltorb_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Voltorb[] = INCBIN_U8("graphics/pokemon/palettes/voltorb_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Voltorb[] = INCBIN_U8("graphics/pokemon/icons/voltorb_icon.4bpp"); +const u8 gMonFootprint_Voltorb[] = INCBIN_U8("graphics/pokemon/footprints/voltorb_footprint.1bpp"); + +const u8 gMonStillFrontPic_Electrode[] = INCBIN_U8("graphics/pokemon/front_pics/electrode_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Electrode[] = INCBIN_U8("graphics/pokemon/palettes/electrode_palette.gbapal.lz"); +const u8 gMonBackPic_Electrode[] = INCBIN_U8("graphics/pokemon/back_pics/electrode_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Electrode[] = INCBIN_U8("graphics/pokemon/palettes/electrode_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Electrode[] = INCBIN_U8("graphics/pokemon/icons/electrode_icon.4bpp"); +const u8 gMonFootprint_Electrode[] = INCBIN_U8("graphics/pokemon/footprints/electrode_footprint.1bpp"); + +const u8 gMonStillFrontPic_Exeggcute[] = INCBIN_U8("graphics/pokemon/front_pics/exeggcute_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Exeggcute[] = INCBIN_U8("graphics/pokemon/palettes/exeggcute_palette.gbapal.lz"); +const u8 gMonBackPic_Exeggcute[] = INCBIN_U8("graphics/pokemon/back_pics/exeggcute_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Exeggcute[] = INCBIN_U8("graphics/pokemon/palettes/exeggcute_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Exeggcute[] = INCBIN_U8("graphics/pokemon/icons/exeggcute_icon.4bpp"); +const u8 gMonFootprint_Exeggcute[] = INCBIN_U8("graphics/pokemon/footprints/exeggcute_footprint.1bpp"); + +const u8 gMonStillFrontPic_Exeggutor[] = INCBIN_U8("graphics/pokemon/front_pics/exeggutor_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Exeggutor[] = INCBIN_U8("graphics/pokemon/palettes/exeggutor_palette.gbapal.lz"); +const u8 gMonBackPic_Exeggutor[] = INCBIN_U8("graphics/pokemon/back_pics/exeggutor_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Exeggutor[] = INCBIN_U8("graphics/pokemon/palettes/exeggutor_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Exeggutor[] = INCBIN_U8("graphics/pokemon/icons/exeggutor_icon.4bpp"); +const u8 gMonFootprint_Exeggutor[] = INCBIN_U8("graphics/pokemon/footprints/exeggutor_footprint.1bpp"); + +const u8 gMonStillFrontPic_Cubone[] = INCBIN_U8("graphics/pokemon/front_pics/cubone_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Cubone[] = INCBIN_U8("graphics/pokemon/palettes/cubone_palette.gbapal.lz"); +const u8 gMonBackPic_Cubone[] = INCBIN_U8("graphics/pokemon/back_pics/cubone_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Cubone[] = INCBIN_U8("graphics/pokemon/palettes/cubone_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Cubone[] = INCBIN_U8("graphics/pokemon/icons/cubone_icon.4bpp"); +const u8 gMonFootprint_Cubone[] = INCBIN_U8("graphics/pokemon/footprints/cubone_footprint.1bpp"); + +const u8 gMonStillFrontPic_Marowak[] = INCBIN_U8("graphics/pokemon/front_pics/marowak_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Marowak[] = INCBIN_U8("graphics/pokemon/palettes/marowak_palette.gbapal.lz"); +const u8 gMonBackPic_Marowak[] = INCBIN_U8("graphics/pokemon/back_pics/marowak_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Marowak[] = INCBIN_U8("graphics/pokemon/palettes/marowak_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Marowak[] = INCBIN_U8("graphics/pokemon/icons/marowak_icon.4bpp"); +const u8 gMonFootprint_Marowak[] = INCBIN_U8("graphics/pokemon/footprints/marowak_footprint.1bpp"); + +const u8 gMonStillFrontPic_Hitmonlee[] = INCBIN_U8("graphics/pokemon/front_pics/hitmonlee_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Hitmonlee[] = INCBIN_U8("graphics/pokemon/palettes/hitmonlee_palette.gbapal.lz"); +const u8 gMonBackPic_Hitmonlee[] = INCBIN_U8("graphics/pokemon/back_pics/hitmonlee_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Hitmonlee[] = INCBIN_U8("graphics/pokemon/palettes/hitmonlee_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Hitmonlee[] = INCBIN_U8("graphics/pokemon/icons/hitmonlee_icon.4bpp"); +const u8 gMonFootprint_Hitmonlee[] = INCBIN_U8("graphics/pokemon/footprints/hitmonlee_footprint.1bpp"); + +const u8 gMonStillFrontPic_Hitmonchan[] = INCBIN_U8("graphics/pokemon/front_pics/hitmonchan_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Hitmonchan[] = INCBIN_U8("graphics/pokemon/palettes/hitmonchan_palette.gbapal.lz"); +const u8 gMonBackPic_Hitmonchan[] = INCBIN_U8("graphics/pokemon/back_pics/hitmonchan_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Hitmonchan[] = INCBIN_U8("graphics/pokemon/palettes/hitmonchan_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Hitmonchan[] = INCBIN_U8("graphics/pokemon/icons/hitmonchan_icon.4bpp"); +const u8 gMonFootprint_Hitmonchan[] = INCBIN_U8("graphics/pokemon/footprints/hitmonchan_footprint.1bpp"); + +const u8 gMonStillFrontPic_Lickitung[] = INCBIN_U8("graphics/pokemon/front_pics/lickitung_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Lickitung[] = INCBIN_U8("graphics/pokemon/palettes/lickitung_palette.gbapal.lz"); +const u8 gMonBackPic_Lickitung[] = INCBIN_U8("graphics/pokemon/back_pics/lickitung_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Lickitung[] = INCBIN_U8("graphics/pokemon/palettes/lickitung_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Lickitung[] = INCBIN_U8("graphics/pokemon/icons/lickitung_icon.4bpp"); +const u8 gMonFootprint_Lickitung[] = INCBIN_U8("graphics/pokemon/footprints/lickitung_footprint.1bpp"); + +const u8 gMonStillFrontPic_Koffing[] = INCBIN_U8("graphics/pokemon/front_pics/koffing_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Koffing[] = INCBIN_U8("graphics/pokemon/palettes/koffing_palette.gbapal.lz"); +const u8 gMonBackPic_Koffing[] = INCBIN_U8("graphics/pokemon/back_pics/koffing_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Koffing[] = INCBIN_U8("graphics/pokemon/palettes/koffing_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Koffing[] = INCBIN_U8("graphics/pokemon/icons/koffing_icon.4bpp"); +const u8 gMonFootprint_Koffing[] = INCBIN_U8("graphics/pokemon/footprints/koffing_footprint.1bpp"); + +const u8 gMonStillFrontPic_Weezing[] = INCBIN_U8("graphics/pokemon/front_pics/weezing_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Weezing[] = INCBIN_U8("graphics/pokemon/palettes/weezing_palette.gbapal.lz"); +const u8 gMonBackPic_Weezing[] = INCBIN_U8("graphics/pokemon/back_pics/weezing_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Weezing[] = INCBIN_U8("graphics/pokemon/palettes/weezing_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Weezing[] = INCBIN_U8("graphics/pokemon/icons/weezing_icon.4bpp"); +const u8 gMonFootprint_Weezing[] = INCBIN_U8("graphics/pokemon/footprints/weezing_footprint.1bpp"); + +const u8 gMonStillFrontPic_Rhyhorn[] = INCBIN_U8("graphics/pokemon/front_pics/rhyhorn_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Rhyhorn[] = INCBIN_U8("graphics/pokemon/palettes/rhyhorn_palette.gbapal.lz"); +const u8 gMonBackPic_Rhyhorn[] = INCBIN_U8("graphics/pokemon/back_pics/rhyhorn_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Rhyhorn[] = INCBIN_U8("graphics/pokemon/palettes/rhyhorn_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Rhyhorn[] = INCBIN_U8("graphics/pokemon/icons/rhyhorn_icon.4bpp"); +const u8 gMonFootprint_Rhyhorn[] = INCBIN_U8("graphics/pokemon/footprints/rhyhorn_footprint.1bpp"); + +const u8 gMonStillFrontPic_Rhydon[] = INCBIN_U8("graphics/pokemon/front_pics/rhydon_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Rhydon[] = INCBIN_U8("graphics/pokemon/palettes/rhydon_palette.gbapal.lz"); +const u8 gMonBackPic_Rhydon[] = INCBIN_U8("graphics/pokemon/back_pics/rhydon_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Rhydon[] = INCBIN_U8("graphics/pokemon/palettes/rhydon_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Rhydon[] = INCBIN_U8("graphics/pokemon/icons/rhydon_icon.4bpp"); +const u8 gMonFootprint_Rhydon[] = INCBIN_U8("graphics/pokemon/footprints/rhydon_footprint.1bpp"); + +const u8 gMonStillFrontPic_Chansey[] = INCBIN_U8("graphics/pokemon/front_pics/chansey_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Chansey[] = INCBIN_U8("graphics/pokemon/palettes/chansey_palette.gbapal.lz"); +const u8 gMonBackPic_Chansey[] = INCBIN_U8("graphics/pokemon/back_pics/chansey_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Chansey[] = INCBIN_U8("graphics/pokemon/palettes/chansey_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Chansey[] = INCBIN_U8("graphics/pokemon/icons/chansey_icon.4bpp"); +const u8 gMonFootprint_Chansey[] = INCBIN_U8("graphics/pokemon/footprints/chansey_footprint.1bpp"); + +const u8 gMonStillFrontPic_Tangela[] = INCBIN_U8("graphics/pokemon/front_pics/tangela_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Tangela[] = INCBIN_U8("graphics/pokemon/palettes/tangela_palette.gbapal.lz"); +const u8 gMonBackPic_Tangela[] = INCBIN_U8("graphics/pokemon/back_pics/tangela_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Tangela[] = INCBIN_U8("graphics/pokemon/palettes/tangela_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Tangela[] = INCBIN_U8("graphics/pokemon/icons/tangela_icon.4bpp"); +const u8 gMonFootprint_Tangela[] = INCBIN_U8("graphics/pokemon/footprints/tangela_footprint.1bpp"); + +const u8 gMonStillFrontPic_Kangaskhan[] = INCBIN_U8("graphics/pokemon/front_pics/kangaskhan_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Kangaskhan[] = INCBIN_U8("graphics/pokemon/palettes/kangaskhan_palette.gbapal.lz"); +const u8 gMonBackPic_Kangaskhan[] = INCBIN_U8("graphics/pokemon/back_pics/kangaskhan_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Kangaskhan[] = INCBIN_U8("graphics/pokemon/palettes/kangaskhan_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Kangaskhan[] = INCBIN_U8("graphics/pokemon/icons/kangaskhan_icon.4bpp"); +const u8 gMonFootprint_Kangaskhan[] = INCBIN_U8("graphics/pokemon/footprints/kangaskhan_footprint.1bpp"); + +const u8 gMonStillFrontPic_Horsea[] = INCBIN_U8("graphics/pokemon/front_pics/horsea_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Horsea[] = INCBIN_U8("graphics/pokemon/palettes/horsea_palette.gbapal.lz"); +const u8 gMonBackPic_Horsea[] = INCBIN_U8("graphics/pokemon/back_pics/horsea_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Horsea[] = INCBIN_U8("graphics/pokemon/palettes/horsea_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Horsea[] = INCBIN_U8("graphics/pokemon/icons/horsea_icon.4bpp"); +const u8 gMonFootprint_Horsea[] = INCBIN_U8("graphics/pokemon/footprints/horsea_footprint.1bpp"); + +const u8 gMonStillFrontPic_Seadra[] = INCBIN_U8("graphics/pokemon/front_pics/seadra_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Seadra[] = INCBIN_U8("graphics/pokemon/palettes/seadra_palette.gbapal.lz"); +const u8 gMonBackPic_Seadra[] = INCBIN_U8("graphics/pokemon/back_pics/seadra_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Seadra[] = INCBIN_U8("graphics/pokemon/palettes/seadra_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Seadra[] = INCBIN_U8("graphics/pokemon/icons/seadra_icon.4bpp"); +const u8 gMonFootprint_Seadra[] = INCBIN_U8("graphics/pokemon/footprints/seadra_footprint.1bpp"); + +const u8 gMonStillFrontPic_Goldeen[] = INCBIN_U8("graphics/pokemon/front_pics/goldeen_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Goldeen[] = INCBIN_U8("graphics/pokemon/palettes/goldeen_palette.gbapal.lz"); +const u8 gMonBackPic_Goldeen[] = INCBIN_U8("graphics/pokemon/back_pics/goldeen_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Goldeen[] = INCBIN_U8("graphics/pokemon/palettes/goldeen_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Goldeen[] = INCBIN_U8("graphics/pokemon/icons/goldeen_icon.4bpp"); +const u8 gMonFootprint_Goldeen[] = INCBIN_U8("graphics/pokemon/footprints/goldeen_footprint.1bpp"); + +const u8 gMonStillFrontPic_Seaking[] = INCBIN_U8("graphics/pokemon/front_pics/seaking_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Seaking[] = INCBIN_U8("graphics/pokemon/palettes/seaking_palette.gbapal.lz"); +const u8 gMonBackPic_Seaking[] = INCBIN_U8("graphics/pokemon/back_pics/seaking_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Seaking[] = INCBIN_U8("graphics/pokemon/palettes/seaking_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Seaking[] = INCBIN_U8("graphics/pokemon/icons/seaking_icon.4bpp"); +const u8 gMonFootprint_Seaking[] = INCBIN_U8("graphics/pokemon/footprints/seaking_footprint.1bpp"); + +const u8 gMonStillFrontPic_Staryu[] = INCBIN_U8("graphics/pokemon/front_pics/staryu_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Staryu[] = INCBIN_U8("graphics/pokemon/palettes/staryu_palette.gbapal.lz"); +const u8 gMonBackPic_Staryu[] = INCBIN_U8("graphics/pokemon/back_pics/staryu_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Staryu[] = INCBIN_U8("graphics/pokemon/palettes/staryu_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Staryu[] = INCBIN_U8("graphics/pokemon/icons/staryu_icon.4bpp"); +const u8 gMonFootprint_Staryu[] = INCBIN_U8("graphics/pokemon/footprints/staryu_footprint.1bpp"); + +const u8 gMonStillFrontPic_Starmie[] = INCBIN_U8("graphics/pokemon/front_pics/starmie_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Starmie[] = INCBIN_U8("graphics/pokemon/palettes/starmie_palette.gbapal.lz"); +const u8 gMonBackPic_Starmie[] = INCBIN_U8("graphics/pokemon/back_pics/starmie_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Starmie[] = INCBIN_U8("graphics/pokemon/palettes/starmie_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Starmie[] = INCBIN_U8("graphics/pokemon/icons/starmie_icon.4bpp"); +const u8 gMonFootprint_Starmie[] = INCBIN_U8("graphics/pokemon/footprints/starmie_footprint.1bpp"); + +const u8 gMonStillFrontPic_Mrmime[] = INCBIN_U8("graphics/pokemon/front_pics/mr_mime_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Mrmime[] = INCBIN_U8("graphics/pokemon/palettes/mr_mime_palette.gbapal.lz"); +const u8 gMonBackPic_Mrmime[] = INCBIN_U8("graphics/pokemon/back_pics/mr_mime_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Mrmime[] = INCBIN_U8("graphics/pokemon/palettes/mr_mime_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Mrmime[] = INCBIN_U8("graphics/pokemon/icons/mr_mime_icon.4bpp"); +const u8 gMonFootprint_Mrmime[] = INCBIN_U8("graphics/pokemon/footprints/mr_mime_footprint.1bpp"); + +const u8 gMonStillFrontPic_Scyther[] = INCBIN_U8("graphics/pokemon/front_pics/scyther_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Scyther[] = INCBIN_U8("graphics/pokemon/palettes/scyther_palette.gbapal.lz"); +const u8 gMonBackPic_Scyther[] = INCBIN_U8("graphics/pokemon/back_pics/scyther_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Scyther[] = INCBIN_U8("graphics/pokemon/palettes/scyther_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Scyther[] = INCBIN_U8("graphics/pokemon/icons/scyther_icon.4bpp"); +const u8 gMonFootprint_Scyther[] = INCBIN_U8("graphics/pokemon/footprints/scyther_footprint.1bpp"); + +const u8 gMonStillFrontPic_Jynx[] = INCBIN_U8("graphics/pokemon/front_pics/jynx_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Jynx[] = INCBIN_U8("graphics/pokemon/palettes/jynx_palette.gbapal.lz"); +const u8 gMonBackPic_Jynx[] = INCBIN_U8("graphics/pokemon/back_pics/jynx_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Jynx[] = INCBIN_U8("graphics/pokemon/palettes/jynx_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Jynx[] = INCBIN_U8("graphics/pokemon/icons/jynx_icon.4bpp"); +const u8 gMonFootprint_Jynx[] = INCBIN_U8("graphics/pokemon/footprints/jynx_footprint.1bpp"); + +const u8 gMonStillFrontPic_Electabuzz[] = INCBIN_U8("graphics/pokemon/front_pics/electabuzz_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Electabuzz[] = INCBIN_U8("graphics/pokemon/palettes/electabuzz_palette.gbapal.lz"); +const u8 gMonBackPic_Electabuzz[] = INCBIN_U8("graphics/pokemon/back_pics/electabuzz_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Electabuzz[] = INCBIN_U8("graphics/pokemon/palettes/electabuzz_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Electabuzz[] = INCBIN_U8("graphics/pokemon/icons/electabuzz_icon.4bpp"); +const u8 gMonFootprint_Electabuzz[] = INCBIN_U8("graphics/pokemon/footprints/electabuzz_footprint.1bpp"); + +const u8 gMonStillFrontPic_Magmar[] = INCBIN_U8("graphics/pokemon/front_pics/magmar_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Magmar[] = INCBIN_U8("graphics/pokemon/palettes/magmar_palette.gbapal.lz"); +const u8 gMonBackPic_Magmar[] = INCBIN_U8("graphics/pokemon/back_pics/magmar_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Magmar[] = INCBIN_U8("graphics/pokemon/palettes/magmar_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Magmar[] = INCBIN_U8("graphics/pokemon/icons/magmar_icon.4bpp"); +const u8 gMonFootprint_Magmar[] = INCBIN_U8("graphics/pokemon/footprints/magmar_footprint.1bpp"); + +const u8 gMonStillFrontPic_Pinsir[] = INCBIN_U8("graphics/pokemon/front_pics/pinsir_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Pinsir[] = INCBIN_U8("graphics/pokemon/palettes/pinsir_palette.gbapal.lz"); +const u8 gMonBackPic_Pinsir[] = INCBIN_U8("graphics/pokemon/back_pics/pinsir_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Pinsir[] = INCBIN_U8("graphics/pokemon/palettes/pinsir_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Pinsir[] = INCBIN_U8("graphics/pokemon/icons/pinsir_icon.4bpp"); +const u8 gMonFootprint_Pinsir[] = INCBIN_U8("graphics/pokemon/footprints/pinsir_footprint.1bpp"); + +const u8 gMonStillFrontPic_Tauros[] = INCBIN_U8("graphics/pokemon/front_pics/tauros_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Tauros[] = INCBIN_U8("graphics/pokemon/palettes/tauros_palette.gbapal.lz"); +const u8 gMonBackPic_Tauros[] = INCBIN_U8("graphics/pokemon/back_pics/tauros_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Tauros[] = INCBIN_U8("graphics/pokemon/palettes/tauros_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Tauros[] = INCBIN_U8("graphics/pokemon/icons/tauros_icon.4bpp"); +const u8 gMonFootprint_Tauros[] = INCBIN_U8("graphics/pokemon/footprints/tauros_footprint.1bpp"); + +const u8 gMonStillFrontPic_Magikarp[] = INCBIN_U8("graphics/pokemon/front_pics/magikarp_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Magikarp[] = INCBIN_U8("graphics/pokemon/palettes/magikarp_palette.gbapal.lz"); +const u8 gMonBackPic_Magikarp[] = INCBIN_U8("graphics/pokemon/back_pics/magikarp_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Magikarp[] = INCBIN_U8("graphics/pokemon/palettes/magikarp_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Magikarp[] = INCBIN_U8("graphics/pokemon/icons/magikarp_icon.4bpp"); +const u8 gMonFootprint_Magikarp[] = INCBIN_U8("graphics/pokemon/footprints/magikarp_footprint.1bpp"); + +const u8 gMonStillFrontPic_Gyarados[] = INCBIN_U8("graphics/pokemon/front_pics/gyarados_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Gyarados[] = INCBIN_U8("graphics/pokemon/palettes/gyarados_palette.gbapal.lz"); +const u8 gMonBackPic_Gyarados[] = INCBIN_U8("graphics/pokemon/back_pics/gyarados_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Gyarados[] = INCBIN_U8("graphics/pokemon/palettes/gyarados_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Gyarados[] = INCBIN_U8("graphics/pokemon/icons/gyarados_icon.4bpp"); +const u8 gMonFootprint_Gyarados[] = INCBIN_U8("graphics/pokemon/footprints/gyarados_footprint.1bpp"); + +const u8 gMonStillFrontPic_Lapras[] = INCBIN_U8("graphics/pokemon/front_pics/lapras_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Lapras[] = INCBIN_U8("graphics/pokemon/palettes/lapras_palette.gbapal.lz"); +const u8 gMonBackPic_Lapras[] = INCBIN_U8("graphics/pokemon/back_pics/lapras_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Lapras[] = INCBIN_U8("graphics/pokemon/palettes/lapras_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Lapras[] = INCBIN_U8("graphics/pokemon/icons/lapras_icon.4bpp"); +const u8 gMonFootprint_Lapras[] = INCBIN_U8("graphics/pokemon/footprints/lapras_footprint.1bpp"); + +const u8 gMonStillFrontPic_Ditto[] = INCBIN_U8("graphics/pokemon/front_pics/ditto_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Ditto[] = INCBIN_U8("graphics/pokemon/palettes/ditto_palette.gbapal.lz"); +const u8 gMonBackPic_Ditto[] = INCBIN_U8("graphics/pokemon/back_pics/ditto_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Ditto[] = INCBIN_U8("graphics/pokemon/palettes/ditto_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Ditto[] = INCBIN_U8("graphics/pokemon/icons/ditto_icon.4bpp"); +const u8 gMonFootprint_Ditto[] = INCBIN_U8("graphics/pokemon/footprints/ditto_footprint.1bpp"); + +const u8 gMonStillFrontPic_Eevee[] = INCBIN_U8("graphics/pokemon/front_pics/eevee_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Eevee[] = INCBIN_U8("graphics/pokemon/palettes/eevee_palette.gbapal.lz"); +const u8 gMonBackPic_Eevee[] = INCBIN_U8("graphics/pokemon/back_pics/eevee_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Eevee[] = INCBIN_U8("graphics/pokemon/palettes/eevee_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Eevee[] = INCBIN_U8("graphics/pokemon/icons/eevee_icon.4bpp"); +const u8 gMonFootprint_Eevee[] = INCBIN_U8("graphics/pokemon/footprints/eevee_footprint.1bpp"); + +const u8 gMonStillFrontPic_Vaporeon[] = INCBIN_U8("graphics/pokemon/front_pics/vaporeon_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Vaporeon[] = INCBIN_U8("graphics/pokemon/palettes/vaporeon_palette.gbapal.lz"); +const u8 gMonBackPic_Vaporeon[] = INCBIN_U8("graphics/pokemon/back_pics/vaporeon_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Vaporeon[] = INCBIN_U8("graphics/pokemon/palettes/vaporeon_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Vaporeon[] = INCBIN_U8("graphics/pokemon/icons/vaporeon_icon.4bpp"); +const u8 gMonFootprint_Vaporeon[] = INCBIN_U8("graphics/pokemon/footprints/vaporeon_footprint.1bpp"); + +const u8 gMonStillFrontPic_Jolteon[] = INCBIN_U8("graphics/pokemon/front_pics/jolteon_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Jolteon[] = INCBIN_U8("graphics/pokemon/palettes/jolteon_palette.gbapal.lz"); +const u8 gMonBackPic_Jolteon[] = INCBIN_U8("graphics/pokemon/back_pics/jolteon_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Jolteon[] = INCBIN_U8("graphics/pokemon/palettes/jolteon_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Jolteon[] = INCBIN_U8("graphics/pokemon/icons/jolteon_icon.4bpp"); +const u8 gMonFootprint_Jolteon[] = INCBIN_U8("graphics/pokemon/footprints/jolteon_footprint.1bpp"); + +const u8 gMonStillFrontPic_Flareon[] = INCBIN_U8("graphics/pokemon/front_pics/flareon_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Flareon[] = INCBIN_U8("graphics/pokemon/palettes/flareon_palette.gbapal.lz"); +const u8 gMonBackPic_Flareon[] = INCBIN_U8("graphics/pokemon/back_pics/flareon_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Flareon[] = INCBIN_U8("graphics/pokemon/palettes/flareon_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Flareon[] = INCBIN_U8("graphics/pokemon/icons/flareon_icon.4bpp"); +const u8 gMonFootprint_Flareon[] = INCBIN_U8("graphics/pokemon/footprints/flareon_footprint.1bpp"); + +const u8 gMonStillFrontPic_Porygon[] = INCBIN_U8("graphics/pokemon/front_pics/porygon_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Porygon[] = INCBIN_U8("graphics/pokemon/palettes/porygon_palette.gbapal.lz"); +const u8 gMonBackPic_Porygon[] = INCBIN_U8("graphics/pokemon/back_pics/porygon_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Porygon[] = INCBIN_U8("graphics/pokemon/palettes/porygon_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Porygon[] = INCBIN_U8("graphics/pokemon/icons/porygon_icon.4bpp"); +const u8 gMonFootprint_Porygon[] = INCBIN_U8("graphics/pokemon/footprints/porygon_footprint.1bpp"); + +const u8 gMonStillFrontPic_Omanyte[] = INCBIN_U8("graphics/pokemon/front_pics/omanyte_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Omanyte[] = INCBIN_U8("graphics/pokemon/palettes/omanyte_palette.gbapal.lz"); +const u8 gMonBackPic_Omanyte[] = INCBIN_U8("graphics/pokemon/back_pics/omanyte_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Omanyte[] = INCBIN_U8("graphics/pokemon/palettes/omanyte_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Omanyte[] = INCBIN_U8("graphics/pokemon/icons/omanyte_icon.4bpp"); +const u8 gMonFootprint_Omanyte[] = INCBIN_U8("graphics/pokemon/footprints/omanyte_footprint.1bpp"); + +const u8 gMonStillFrontPic_Omastar[] = INCBIN_U8("graphics/pokemon/front_pics/omastar_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Omastar[] = INCBIN_U8("graphics/pokemon/palettes/omastar_palette.gbapal.lz"); +const u8 gMonBackPic_Omastar[] = INCBIN_U8("graphics/pokemon/back_pics/omastar_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Omastar[] = INCBIN_U8("graphics/pokemon/palettes/omastar_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Omastar[] = INCBIN_U8("graphics/pokemon/icons/omastar_icon.4bpp"); +const u8 gMonFootprint_Omastar[] = INCBIN_U8("graphics/pokemon/footprints/omastar_footprint.1bpp"); + +const u8 gMonStillFrontPic_Kabuto[] = INCBIN_U8("graphics/pokemon/front_pics/kabuto_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Kabuto[] = INCBIN_U8("graphics/pokemon/palettes/kabuto_palette.gbapal.lz"); +const u8 gMonBackPic_Kabuto[] = INCBIN_U8("graphics/pokemon/back_pics/kabuto_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Kabuto[] = INCBIN_U8("graphics/pokemon/palettes/kabuto_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Kabuto[] = INCBIN_U8("graphics/pokemon/icons/kabuto_icon.4bpp"); +const u8 gMonFootprint_Kabuto[] = INCBIN_U8("graphics/pokemon/footprints/kabuto_footprint.1bpp"); + +const u8 gMonStillFrontPic_Kabutops[] = INCBIN_U8("graphics/pokemon/front_pics/kabutops_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Kabutops[] = INCBIN_U8("graphics/pokemon/palettes/kabutops_palette.gbapal.lz"); +const u8 gMonBackPic_Kabutops[] = INCBIN_U8("graphics/pokemon/back_pics/kabutops_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Kabutops[] = INCBIN_U8("graphics/pokemon/palettes/kabutops_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Kabutops[] = INCBIN_U8("graphics/pokemon/icons/kabutops_icon.4bpp"); +const u8 gMonFootprint_Kabutops[] = INCBIN_U8("graphics/pokemon/footprints/kabutops_footprint.1bpp"); + +const u8 gMonStillFrontPic_Aerodactyl[] = INCBIN_U8("graphics/pokemon/front_pics/aerodactyl_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Aerodactyl[] = INCBIN_U8("graphics/pokemon/palettes/aerodactyl_palette.gbapal.lz"); +const u8 gMonBackPic_Aerodactyl[] = INCBIN_U8("graphics/pokemon/back_pics/aerodactyl_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Aerodactyl[] = INCBIN_U8("graphics/pokemon/palettes/aerodactyl_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Aerodactyl[] = INCBIN_U8("graphics/pokemon/icons/aerodactyl_icon.4bpp"); +const u8 gMonFootprint_Aerodactyl[] = INCBIN_U8("graphics/pokemon/footprints/aerodactyl_footprint.1bpp"); + +const u8 gMonStillFrontPic_Snorlax[] = INCBIN_U8("graphics/pokemon/front_pics/snorlax_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Snorlax[] = INCBIN_U8("graphics/pokemon/palettes/snorlax_palette.gbapal.lz"); +const u8 gMonBackPic_Snorlax[] = INCBIN_U8("graphics/pokemon/back_pics/snorlax_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Snorlax[] = INCBIN_U8("graphics/pokemon/palettes/snorlax_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Snorlax[] = INCBIN_U8("graphics/pokemon/icons/snorlax_icon.4bpp"); +const u8 gMonFootprint_Snorlax[] = INCBIN_U8("graphics/pokemon/footprints/snorlax_footprint.1bpp"); + +const u8 gMonStillFrontPic_Articuno[] = INCBIN_U8("graphics/pokemon/front_pics/articuno_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Articuno[] = INCBIN_U8("graphics/pokemon/palettes/articuno_palette.gbapal.lz"); +const u8 gMonBackPic_Articuno[] = INCBIN_U8("graphics/pokemon/back_pics/articuno_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Articuno[] = INCBIN_U8("graphics/pokemon/palettes/articuno_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Articuno[] = INCBIN_U8("graphics/pokemon/icons/articuno_icon.4bpp"); +const u8 gMonFootprint_Articuno[] = INCBIN_U8("graphics/pokemon/footprints/articuno_footprint.1bpp"); + +const u8 gMonStillFrontPic_Zapdos[] = INCBIN_U8("graphics/pokemon/front_pics/zapdos_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Zapdos[] = INCBIN_U8("graphics/pokemon/palettes/zapdos_palette.gbapal.lz"); +const u8 gMonBackPic_Zapdos[] = INCBIN_U8("graphics/pokemon/back_pics/zapdos_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Zapdos[] = INCBIN_U8("graphics/pokemon/palettes/zapdos_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Zapdos[] = INCBIN_U8("graphics/pokemon/icons/zapdos_icon.4bpp"); +const u8 gMonFootprint_Zapdos[] = INCBIN_U8("graphics/pokemon/footprints/zapdos_footprint.1bpp"); + +const u8 gMonStillFrontPic_Moltres[] = INCBIN_U8("graphics/pokemon/front_pics/moltres_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Moltres[] = INCBIN_U8("graphics/pokemon/palettes/moltres_palette.gbapal.lz"); +const u8 gMonBackPic_Moltres[] = INCBIN_U8("graphics/pokemon/back_pics/moltres_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Moltres[] = INCBIN_U8("graphics/pokemon/palettes/moltres_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Moltres[] = INCBIN_U8("graphics/pokemon/icons/moltres_icon.4bpp"); +const u8 gMonFootprint_Moltres[] = INCBIN_U8("graphics/pokemon/footprints/moltres_footprint.1bpp"); + +const u8 gMonStillFrontPic_Dratini[] = INCBIN_U8("graphics/pokemon/front_pics/dratini_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Dratini[] = INCBIN_U8("graphics/pokemon/palettes/dratini_palette.gbapal.lz"); +const u8 gMonBackPic_Dratini[] = INCBIN_U8("graphics/pokemon/back_pics/dratini_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Dratini[] = INCBIN_U8("graphics/pokemon/palettes/dratini_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Dratini[] = INCBIN_U8("graphics/pokemon/icons/dratini_icon.4bpp"); +const u8 gMonFootprint_Dratini[] = INCBIN_U8("graphics/pokemon/footprints/dratini_footprint.1bpp"); + +const u8 gMonStillFrontPic_Dragonair[] = INCBIN_U8("graphics/pokemon/front_pics/dragonair_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Dragonair[] = INCBIN_U8("graphics/pokemon/palettes/dragonair_palette.gbapal.lz"); +const u8 gMonBackPic_Dragonair[] = INCBIN_U8("graphics/pokemon/back_pics/dragonair_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Dragonair[] = INCBIN_U8("graphics/pokemon/palettes/dragonair_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Dragonair[] = INCBIN_U8("graphics/pokemon/icons/dragonair_icon.4bpp"); +const u8 gMonFootprint_Dragonair[] = INCBIN_U8("graphics/pokemon/footprints/dragonair_footprint.1bpp"); + +const u8 gMonStillFrontPic_Dragonite[] = INCBIN_U8("graphics/pokemon/front_pics/dragonite_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Dragonite[] = INCBIN_U8("graphics/pokemon/palettes/dragonite_palette.gbapal.lz"); +const u8 gMonBackPic_Dragonite[] = INCBIN_U8("graphics/pokemon/back_pics/dragonite_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Dragonite[] = INCBIN_U8("graphics/pokemon/palettes/dragonite_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Dragonite[] = INCBIN_U8("graphics/pokemon/icons/dragonite_icon.4bpp"); +const u8 gMonFootprint_Dragonite[] = INCBIN_U8("graphics/pokemon/footprints/dragonite_footprint.1bpp"); + +const u8 gMonStillFrontPic_Mewtwo[] = INCBIN_U8("graphics/pokemon/front_pics/mewtwo_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Mewtwo[] = INCBIN_U8("graphics/pokemon/palettes/mewtwo_palette.gbapal.lz"); +const u8 gMonBackPic_Mewtwo[] = INCBIN_U8("graphics/pokemon/back_pics/mewtwo_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Mewtwo[] = INCBIN_U8("graphics/pokemon/palettes/mewtwo_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Mewtwo[] = INCBIN_U8("graphics/pokemon/icons/mewtwo_icon.4bpp"); +const u8 gMonFootprint_Mewtwo[] = INCBIN_U8("graphics/pokemon/footprints/mewtwo_footprint.1bpp"); + +const u8 gMonStillFrontPic_Mew[] = INCBIN_U8("graphics/pokemon/front_pics/mew_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Mew[] = INCBIN_U8("graphics/pokemon/palettes/mew_palette.gbapal.lz"); +const u8 gMonBackPic_Mew[] = INCBIN_U8("graphics/pokemon/back_pics/mew_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Mew[] = INCBIN_U8("graphics/pokemon/palettes/mew_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Mew[] = INCBIN_U8("graphics/pokemon/icons/mew_icon.4bpp"); +const u8 gMonFootprint_Mew[] = INCBIN_U8("graphics/pokemon/footprints/mew_footprint.1bpp"); + +const u8 gMonStillFrontPic_Chikorita[] = INCBIN_U8("graphics/pokemon/front_pics/chikorita_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Chikorita[] = INCBIN_U8("graphics/pokemon/palettes/chikorita_palette.gbapal.lz"); +const u8 gMonBackPic_Chikorita[] = INCBIN_U8("graphics/pokemon/back_pics/chikorita_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Chikorita[] = INCBIN_U8("graphics/pokemon/palettes/chikorita_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Chikorita[] = INCBIN_U8("graphics/pokemon/icons/chikorita_icon.4bpp"); +const u8 gMonFootprint_Chikorita[] = INCBIN_U8("graphics/pokemon/footprints/chikorita_footprint.1bpp"); + +const u8 gMonStillFrontPic_Bayleef[] = INCBIN_U8("graphics/pokemon/front_pics/bayleef_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Bayleef[] = INCBIN_U8("graphics/pokemon/palettes/bayleef_palette.gbapal.lz"); +const u8 gMonBackPic_Bayleef[] = INCBIN_U8("graphics/pokemon/back_pics/bayleef_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Bayleef[] = INCBIN_U8("graphics/pokemon/palettes/bayleef_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Bayleef[] = INCBIN_U8("graphics/pokemon/icons/bayleef_icon.4bpp"); +const u8 gMonFootprint_Bayleef[] = INCBIN_U8("graphics/pokemon/footprints/bayleef_footprint.1bpp"); + +const u8 gMonStillFrontPic_Meganium[] = INCBIN_U8("graphics/pokemon/front_pics/meganium_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Meganium[] = INCBIN_U8("graphics/pokemon/palettes/meganium_palette.gbapal.lz"); +const u8 gMonBackPic_Meganium[] = INCBIN_U8("graphics/pokemon/back_pics/meganium_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Meganium[] = INCBIN_U8("graphics/pokemon/palettes/meganium_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Meganium[] = INCBIN_U8("graphics/pokemon/icons/meganium_icon.4bpp"); +const u8 gMonFootprint_Meganium[] = INCBIN_U8("graphics/pokemon/footprints/meganium_footprint.1bpp"); + +const u8 gMonStillFrontPic_Cyndaquil[] = INCBIN_U8("graphics/pokemon/front_pics/cyndaquil_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Cyndaquil[] = INCBIN_U8("graphics/pokemon/palettes/cyndaquil_palette.gbapal.lz"); +const u8 gMonBackPic_Cyndaquil[] = INCBIN_U8("graphics/pokemon/back_pics/cyndaquil_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Cyndaquil[] = INCBIN_U8("graphics/pokemon/palettes/cyndaquil_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Cyndaquil[] = INCBIN_U8("graphics/pokemon/icons/cyndaquil_icon.4bpp"); +const u8 gMonFootprint_Cyndaquil[] = INCBIN_U8("graphics/pokemon/footprints/cyndaquil_footprint.1bpp"); + +const u8 gMonStillFrontPic_Quilava[] = INCBIN_U8("graphics/pokemon/front_pics/quilava_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Quilava[] = INCBIN_U8("graphics/pokemon/palettes/quilava_palette.gbapal.lz"); +const u8 gMonBackPic_Quilava[] = INCBIN_U8("graphics/pokemon/back_pics/quilava_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Quilava[] = INCBIN_U8("graphics/pokemon/palettes/quilava_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Quilava[] = INCBIN_U8("graphics/pokemon/icons/quilava_icon.4bpp"); +const u8 gMonFootprint_Quilava[] = INCBIN_U8("graphics/pokemon/footprints/quilava_footprint.1bpp"); + +const u8 gMonStillFrontPic_Typhlosion[] = INCBIN_U8("graphics/pokemon/front_pics/typhlosion_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Typhlosion[] = INCBIN_U8("graphics/pokemon/palettes/typhlosion_palette.gbapal.lz"); +const u8 gMonBackPic_Typhlosion[] = INCBIN_U8("graphics/pokemon/back_pics/typhlosion_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Typhlosion[] = INCBIN_U8("graphics/pokemon/palettes/typhlosion_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Typhlosion[] = INCBIN_U8("graphics/pokemon/icons/typhlosion_icon.4bpp"); +const u8 gMonFootprint_Typhlosion[] = INCBIN_U8("graphics/pokemon/footprints/typhlosion_footprint.1bpp"); + +const u8 gMonStillFrontPic_Totodile[] = INCBIN_U8("graphics/pokemon/front_pics/totodile_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Totodile[] = INCBIN_U8("graphics/pokemon/palettes/totodile_palette.gbapal.lz"); +const u8 gMonBackPic_Totodile[] = INCBIN_U8("graphics/pokemon/back_pics/totodile_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Totodile[] = INCBIN_U8("graphics/pokemon/palettes/totodile_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Totodile[] = INCBIN_U8("graphics/pokemon/icons/totodile_icon.4bpp"); +const u8 gMonFootprint_Totodile[] = INCBIN_U8("graphics/pokemon/footprints/totodile_footprint.1bpp"); + +const u8 gMonStillFrontPic_Croconaw[] = INCBIN_U8("graphics/pokemon/front_pics/croconaw_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Croconaw[] = INCBIN_U8("graphics/pokemon/palettes/croconaw_palette.gbapal.lz"); +const u8 gMonBackPic_Croconaw[] = INCBIN_U8("graphics/pokemon/back_pics/croconaw_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Croconaw[] = INCBIN_U8("graphics/pokemon/palettes/croconaw_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Croconaw[] = INCBIN_U8("graphics/pokemon/icons/croconaw_icon.4bpp"); +const u8 gMonFootprint_Croconaw[] = INCBIN_U8("graphics/pokemon/footprints/croconaw_footprint.1bpp"); + +const u8 gMonStillFrontPic_Feraligatr[] = INCBIN_U8("graphics/pokemon/front_pics/feraligatr_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Feraligatr[] = INCBIN_U8("graphics/pokemon/palettes/feraligatr_palette.gbapal.lz"); +const u8 gMonBackPic_Feraligatr[] = INCBIN_U8("graphics/pokemon/back_pics/feraligatr_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Feraligatr[] = INCBIN_U8("graphics/pokemon/palettes/feraligatr_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Feraligatr[] = INCBIN_U8("graphics/pokemon/icons/feraligatr_icon.4bpp"); +const u8 gMonFootprint_Feraligatr[] = INCBIN_U8("graphics/pokemon/footprints/feraligatr_footprint.1bpp"); + +const u8 gMonStillFrontPic_Sentret[] = INCBIN_U8("graphics/pokemon/front_pics/sentret_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Sentret[] = INCBIN_U8("graphics/pokemon/palettes/sentret_palette.gbapal.lz"); +const u8 gMonBackPic_Sentret[] = INCBIN_U8("graphics/pokemon/back_pics/sentret_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Sentret[] = INCBIN_U8("graphics/pokemon/palettes/sentret_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Sentret[] = INCBIN_U8("graphics/pokemon/icons/sentret_icon.4bpp"); +const u8 gMonFootprint_Sentret[] = INCBIN_U8("graphics/pokemon/footprints/sentret_footprint.1bpp"); + +const u8 gMonStillFrontPic_Furret[] = INCBIN_U8("graphics/pokemon/front_pics/furret_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Furret[] = INCBIN_U8("graphics/pokemon/palettes/furret_palette.gbapal.lz"); +const u8 gMonBackPic_Furret[] = INCBIN_U8("graphics/pokemon/back_pics/furret_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Furret[] = INCBIN_U8("graphics/pokemon/palettes/furret_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Furret[] = INCBIN_U8("graphics/pokemon/icons/furret_icon.4bpp"); +const u8 gMonFootprint_Furret[] = INCBIN_U8("graphics/pokemon/footprints/furret_footprint.1bpp"); + +const u8 gMonStillFrontPic_Hoothoot[] = INCBIN_U8("graphics/pokemon/front_pics/hoothoot_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Hoothoot[] = INCBIN_U8("graphics/pokemon/palettes/hoothoot_palette.gbapal.lz"); +const u8 gMonBackPic_Hoothoot[] = INCBIN_U8("graphics/pokemon/back_pics/hoothoot_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Hoothoot[] = INCBIN_U8("graphics/pokemon/palettes/hoothoot_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Hoothoot[] = INCBIN_U8("graphics/pokemon/icons/hoothoot_icon.4bpp"); +const u8 gMonFootprint_Hoothoot[] = INCBIN_U8("graphics/pokemon/footprints/hoothoot_footprint.1bpp"); + +const u8 gMonStillFrontPic_Noctowl[] = INCBIN_U8("graphics/pokemon/front_pics/noctowl_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Noctowl[] = INCBIN_U8("graphics/pokemon/palettes/noctowl_palette.gbapal.lz"); +const u8 gMonBackPic_Noctowl[] = INCBIN_U8("graphics/pokemon/back_pics/noctowl_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Noctowl[] = INCBIN_U8("graphics/pokemon/palettes/noctowl_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Noctowl[] = INCBIN_U8("graphics/pokemon/icons/noctowl_icon.4bpp"); +const u8 gMonFootprint_Noctowl[] = INCBIN_U8("graphics/pokemon/footprints/noctowl_footprint.1bpp"); + +const u8 gMonStillFrontPic_Ledyba[] = INCBIN_U8("graphics/pokemon/front_pics/ledyba_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Ledyba[] = INCBIN_U8("graphics/pokemon/palettes/ledyba_palette.gbapal.lz"); +const u8 gMonBackPic_Ledyba[] = INCBIN_U8("graphics/pokemon/back_pics/ledyba_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Ledyba[] = INCBIN_U8("graphics/pokemon/palettes/ledyba_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Ledyba[] = INCBIN_U8("graphics/pokemon/icons/ledyba_icon.4bpp"); +const u8 gMonFootprint_Ledyba[] = INCBIN_U8("graphics/pokemon/footprints/ledyba_footprint.1bpp"); + +const u8 gMonStillFrontPic_Ledian[] = INCBIN_U8("graphics/pokemon/front_pics/ledian_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Ledian[] = INCBIN_U8("graphics/pokemon/palettes/ledian_palette.gbapal.lz"); +const u8 gMonBackPic_Ledian[] = INCBIN_U8("graphics/pokemon/back_pics/ledian_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Ledian[] = INCBIN_U8("graphics/pokemon/palettes/ledian_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Ledian[] = INCBIN_U8("graphics/pokemon/icons/ledian_icon.4bpp"); +const u8 gMonFootprint_Ledian[] = INCBIN_U8("graphics/pokemon/footprints/ledian_footprint.1bpp"); + +const u8 gMonStillFrontPic_Spinarak[] = INCBIN_U8("graphics/pokemon/front_pics/spinarak_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Spinarak[] = INCBIN_U8("graphics/pokemon/palettes/spinarak_palette.gbapal.lz"); +const u8 gMonBackPic_Spinarak[] = INCBIN_U8("graphics/pokemon/back_pics/spinarak_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Spinarak[] = INCBIN_U8("graphics/pokemon/palettes/spinarak_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Spinarak[] = INCBIN_U8("graphics/pokemon/icons/spinarak_icon.4bpp"); +const u8 gMonFootprint_Spinarak[] = INCBIN_U8("graphics/pokemon/footprints/spinarak_footprint.1bpp"); + +const u8 gMonStillFrontPic_Ariados[] = INCBIN_U8("graphics/pokemon/front_pics/ariados_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Ariados[] = INCBIN_U8("graphics/pokemon/palettes/ariados_palette.gbapal.lz"); +const u8 gMonBackPic_Ariados[] = INCBIN_U8("graphics/pokemon/back_pics/ariados_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Ariados[] = INCBIN_U8("graphics/pokemon/palettes/ariados_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Ariados[] = INCBIN_U8("graphics/pokemon/icons/ariados_icon.4bpp"); +const u8 gMonFootprint_Ariados[] = INCBIN_U8("graphics/pokemon/footprints/ariados_footprint.1bpp"); + +const u8 gMonStillFrontPic_Crobat[] = INCBIN_U8("graphics/pokemon/front_pics/crobat_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Crobat[] = INCBIN_U8("graphics/pokemon/palettes/crobat_palette.gbapal.lz"); +const u8 gMonBackPic_Crobat[] = INCBIN_U8("graphics/pokemon/back_pics/crobat_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Crobat[] = INCBIN_U8("graphics/pokemon/palettes/crobat_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Crobat[] = INCBIN_U8("graphics/pokemon/icons/crobat_icon.4bpp"); +const u8 gMonFootprint_Crobat[] = INCBIN_U8("graphics/pokemon/footprints/crobat_footprint.1bpp"); + +const u8 gMonStillFrontPic_Chinchou[] = INCBIN_U8("graphics/pokemon/front_pics/chinchou_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Chinchou[] = INCBIN_U8("graphics/pokemon/palettes/chinchou_palette.gbapal.lz"); +const u8 gMonBackPic_Chinchou[] = INCBIN_U8("graphics/pokemon/back_pics/chinchou_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Chinchou[] = INCBIN_U8("graphics/pokemon/palettes/chinchou_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Chinchou[] = INCBIN_U8("graphics/pokemon/icons/chinchou_icon.4bpp"); +const u8 gMonFootprint_Chinchou[] = INCBIN_U8("graphics/pokemon/footprints/chinchou_footprint.1bpp"); + +const u8 gMonStillFrontPic_Lanturn[] = INCBIN_U8("graphics/pokemon/front_pics/lanturn_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Lanturn[] = INCBIN_U8("graphics/pokemon/palettes/lanturn_palette.gbapal.lz"); +const u8 gMonBackPic_Lanturn[] = INCBIN_U8("graphics/pokemon/back_pics/lanturn_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Lanturn[] = INCBIN_U8("graphics/pokemon/palettes/lanturn_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Lanturn[] = INCBIN_U8("graphics/pokemon/icons/lanturn_icon.4bpp"); +const u8 gMonFootprint_Lanturn[] = INCBIN_U8("graphics/pokemon/footprints/lanturn_footprint.1bpp"); + +const u8 gMonStillFrontPic_Pichu[] = INCBIN_U8("graphics/pokemon/front_pics/pichu_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Pichu[] = INCBIN_U8("graphics/pokemon/palettes/pichu_palette.gbapal.lz"); +const u8 gMonBackPic_Pichu[] = INCBIN_U8("graphics/pokemon/back_pics/pichu_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Pichu[] = INCBIN_U8("graphics/pokemon/palettes/pichu_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Pichu[] = INCBIN_U8("graphics/pokemon/icons/pichu_icon.4bpp"); +const u8 gMonFootprint_Pichu[] = INCBIN_U8("graphics/pokemon/footprints/pichu_footprint.1bpp"); + +const u8 gMonStillFrontPic_Cleffa[] = INCBIN_U8("graphics/pokemon/front_pics/cleffa_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Cleffa[] = INCBIN_U8("graphics/pokemon/palettes/cleffa_palette.gbapal.lz"); +const u8 gMonBackPic_Cleffa[] = INCBIN_U8("graphics/pokemon/back_pics/cleffa_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Cleffa[] = INCBIN_U8("graphics/pokemon/palettes/cleffa_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Cleffa[] = INCBIN_U8("graphics/pokemon/icons/cleffa_icon.4bpp"); +const u8 gMonFootprint_Cleffa[] = INCBIN_U8("graphics/pokemon/footprints/cleffa_footprint.1bpp"); + +const u8 gMonStillFrontPic_Igglybuff[] = INCBIN_U8("graphics/pokemon/front_pics/igglybuff_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Igglybuff[] = INCBIN_U8("graphics/pokemon/palettes/igglybuff_palette.gbapal.lz"); +const u8 gMonBackPic_Igglybuff[] = INCBIN_U8("graphics/pokemon/back_pics/igglybuff_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Igglybuff[] = INCBIN_U8("graphics/pokemon/palettes/igglybuff_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Igglybuff[] = INCBIN_U8("graphics/pokemon/icons/igglybuff_icon.4bpp"); +const u8 gMonFootprint_Igglybuff[] = INCBIN_U8("graphics/pokemon/footprints/igglybuff_footprint.1bpp"); + +const u8 gMonStillFrontPic_Togepi[] = INCBIN_U8("graphics/pokemon/front_pics/togepi_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Togepi[] = INCBIN_U8("graphics/pokemon/palettes/togepi_palette.gbapal.lz"); +const u8 gMonBackPic_Togepi[] = INCBIN_U8("graphics/pokemon/back_pics/togepi_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Togepi[] = INCBIN_U8("graphics/pokemon/palettes/togepi_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Togepi[] = INCBIN_U8("graphics/pokemon/icons/togepi_icon.4bpp"); +const u8 gMonFootprint_Togepi[] = INCBIN_U8("graphics/pokemon/footprints/togepi_footprint.1bpp"); + +const u8 gMonStillFrontPic_Togetic[] = INCBIN_U8("graphics/pokemon/front_pics/togetic_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Togetic[] = INCBIN_U8("graphics/pokemon/palettes/togetic_palette.gbapal.lz"); +const u8 gMonBackPic_Togetic[] = INCBIN_U8("graphics/pokemon/back_pics/togetic_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Togetic[] = INCBIN_U8("graphics/pokemon/palettes/togetic_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Togetic[] = INCBIN_U8("graphics/pokemon/icons/togetic_icon.4bpp"); +const u8 gMonFootprint_Togetic[] = INCBIN_U8("graphics/pokemon/footprints/togetic_footprint.1bpp"); + +const u8 gMonStillFrontPic_Natu[] = INCBIN_U8("graphics/pokemon/front_pics/natu_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Natu[] = INCBIN_U8("graphics/pokemon/palettes/natu_palette.gbapal.lz"); +const u8 gMonBackPic_Natu[] = INCBIN_U8("graphics/pokemon/back_pics/natu_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Natu[] = INCBIN_U8("graphics/pokemon/palettes/natu_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Natu[] = INCBIN_U8("graphics/pokemon/icons/natu_icon.4bpp"); +const u8 gMonFootprint_Natu[] = INCBIN_U8("graphics/pokemon/footprints/natu_footprint.1bpp"); + +const u8 gMonStillFrontPic_Xatu[] = INCBIN_U8("graphics/pokemon/front_pics/xatu_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Xatu[] = INCBIN_U8("graphics/pokemon/palettes/xatu_palette.gbapal.lz"); +const u8 gMonBackPic_Xatu[] = INCBIN_U8("graphics/pokemon/back_pics/xatu_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Xatu[] = INCBIN_U8("graphics/pokemon/palettes/xatu_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Xatu[] = INCBIN_U8("graphics/pokemon/icons/xatu_icon.4bpp"); +const u8 gMonFootprint_Xatu[] = INCBIN_U8("graphics/pokemon/footprints/xatu_footprint.1bpp"); + +const u8 gMonStillFrontPic_Mareep[] = INCBIN_U8("graphics/pokemon/front_pics/mareep_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Mareep[] = INCBIN_U8("graphics/pokemon/palettes/mareep_palette.gbapal.lz"); +const u8 gMonBackPic_Mareep[] = INCBIN_U8("graphics/pokemon/back_pics/mareep_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Mareep[] = INCBIN_U8("graphics/pokemon/palettes/mareep_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Mareep[] = INCBIN_U8("graphics/pokemon/icons/mareep_icon.4bpp"); +const u8 gMonFootprint_Mareep[] = INCBIN_U8("graphics/pokemon/footprints/mareep_footprint.1bpp"); + +const u8 gMonStillFrontPic_Flaaffy[] = INCBIN_U8("graphics/pokemon/front_pics/flaaffy_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Flaaffy[] = INCBIN_U8("graphics/pokemon/palettes/flaaffy_palette.gbapal.lz"); +const u8 gMonBackPic_Flaaffy[] = INCBIN_U8("graphics/pokemon/back_pics/flaaffy_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Flaaffy[] = INCBIN_U8("graphics/pokemon/palettes/flaaffy_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Flaaffy[] = INCBIN_U8("graphics/pokemon/icons/flaaffy_icon.4bpp"); +const u8 gMonFootprint_Flaaffy[] = INCBIN_U8("graphics/pokemon/footprints/flaaffy_footprint.1bpp"); + +const u8 gMonStillFrontPic_Ampharos[] = INCBIN_U8("graphics/pokemon/front_pics/ampharos_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Ampharos[] = INCBIN_U8("graphics/pokemon/palettes/ampharos_palette.gbapal.lz"); +const u8 gMonBackPic_Ampharos[] = INCBIN_U8("graphics/pokemon/back_pics/ampharos_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Ampharos[] = INCBIN_U8("graphics/pokemon/palettes/ampharos_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Ampharos[] = INCBIN_U8("graphics/pokemon/icons/ampharos_icon.4bpp"); +const u8 gMonFootprint_Ampharos[] = INCBIN_U8("graphics/pokemon/footprints/ampharos_footprint.1bpp"); + +const u8 gMonStillFrontPic_Bellossom[] = INCBIN_U8("graphics/pokemon/front_pics/bellossom_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Bellossom[] = INCBIN_U8("graphics/pokemon/palettes/bellossom_palette.gbapal.lz"); +const u8 gMonBackPic_Bellossom[] = INCBIN_U8("graphics/pokemon/back_pics/bellossom_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Bellossom[] = INCBIN_U8("graphics/pokemon/palettes/bellossom_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Bellossom[] = INCBIN_U8("graphics/pokemon/icons/bellossom_icon.4bpp"); +const u8 gMonFootprint_Bellossom[] = INCBIN_U8("graphics/pokemon/footprints/bellossom_footprint.1bpp"); + +const u8 gMonStillFrontPic_Marill[] = INCBIN_U8("graphics/pokemon/front_pics/marill_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Marill[] = INCBIN_U8("graphics/pokemon/palettes/marill_palette.gbapal.lz"); +const u8 gMonBackPic_Marill[] = INCBIN_U8("graphics/pokemon/back_pics/marill_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Marill[] = INCBIN_U8("graphics/pokemon/palettes/marill_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Marill[] = INCBIN_U8("graphics/pokemon/icons/marill_icon.4bpp"); +const u8 gMonFootprint_Marill[] = INCBIN_U8("graphics/pokemon/footprints/marill_footprint.1bpp"); + +const u8 gMonStillFrontPic_Azumarill[] = INCBIN_U8("graphics/pokemon/front_pics/azumarill_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Azumarill[] = INCBIN_U8("graphics/pokemon/palettes/azumarill_palette.gbapal.lz"); +const u8 gMonBackPic_Azumarill[] = INCBIN_U8("graphics/pokemon/back_pics/azumarill_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Azumarill[] = INCBIN_U8("graphics/pokemon/palettes/azumarill_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Azumarill[] = INCBIN_U8("graphics/pokemon/icons/azumarill_icon.4bpp"); +const u8 gMonFootprint_Azumarill[] = INCBIN_U8("graphics/pokemon/footprints/azumarill_footprint.1bpp"); + +const u8 gMonStillFrontPic_Sudowoodo[] = INCBIN_U8("graphics/pokemon/front_pics/sudowoodo_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Sudowoodo[] = INCBIN_U8("graphics/pokemon/palettes/sudowoodo_palette.gbapal.lz"); +const u8 gMonBackPic_Sudowoodo[] = INCBIN_U8("graphics/pokemon/back_pics/sudowoodo_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Sudowoodo[] = INCBIN_U8("graphics/pokemon/palettes/sudowoodo_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Sudowoodo[] = INCBIN_U8("graphics/pokemon/icons/sudowoodo_icon.4bpp"); +const u8 gMonFootprint_Sudowoodo[] = INCBIN_U8("graphics/pokemon/footprints/sudowoodo_footprint.1bpp"); + +const u8 gMonStillFrontPic_Politoed[] = INCBIN_U8("graphics/pokemon/front_pics/politoed_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Politoed[] = INCBIN_U8("graphics/pokemon/palettes/politoed_palette.gbapal.lz"); +const u8 gMonBackPic_Politoed[] = INCBIN_U8("graphics/pokemon/back_pics/politoed_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Politoed[] = INCBIN_U8("graphics/pokemon/palettes/politoed_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Politoed[] = INCBIN_U8("graphics/pokemon/icons/politoed_icon.4bpp"); +const u8 gMonFootprint_Politoed[] = INCBIN_U8("graphics/pokemon/footprints/politoed_footprint.1bpp"); + +const u8 gMonStillFrontPic_Hoppip[] = INCBIN_U8("graphics/pokemon/front_pics/hoppip_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Hoppip[] = INCBIN_U8("graphics/pokemon/palettes/hoppip_palette.gbapal.lz"); +const u8 gMonBackPic_Hoppip[] = INCBIN_U8("graphics/pokemon/back_pics/hoppip_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Hoppip[] = INCBIN_U8("graphics/pokemon/palettes/hoppip_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Hoppip[] = INCBIN_U8("graphics/pokemon/icons/hoppip_icon.4bpp"); +const u8 gMonFootprint_Hoppip[] = INCBIN_U8("graphics/pokemon/footprints/hoppip_footprint.1bpp"); + +const u8 gMonStillFrontPic_Skiploom[] = INCBIN_U8("graphics/pokemon/front_pics/skiploom_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Skiploom[] = INCBIN_U8("graphics/pokemon/palettes/skiploom_palette.gbapal.lz"); +const u8 gMonBackPic_Skiploom[] = INCBIN_U8("graphics/pokemon/back_pics/skiploom_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Skiploom[] = INCBIN_U8("graphics/pokemon/palettes/skiploom_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Skiploom[] = INCBIN_U8("graphics/pokemon/icons/skiploom_icon.4bpp"); +const u8 gMonFootprint_Skiploom[] = INCBIN_U8("graphics/pokemon/footprints/skiploom_footprint.1bpp"); + +const u8 gMonStillFrontPic_Jumpluff[] = INCBIN_U8("graphics/pokemon/front_pics/jumpluff_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Jumpluff[] = INCBIN_U8("graphics/pokemon/palettes/jumpluff_palette.gbapal.lz"); +const u8 gMonBackPic_Jumpluff[] = INCBIN_U8("graphics/pokemon/back_pics/jumpluff_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Jumpluff[] = INCBIN_U8("graphics/pokemon/palettes/jumpluff_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Jumpluff[] = INCBIN_U8("graphics/pokemon/icons/jumpluff_icon.4bpp"); +const u8 gMonFootprint_Jumpluff[] = INCBIN_U8("graphics/pokemon/footprints/jumpluff_footprint.1bpp"); + +const u8 gMonStillFrontPic_Aipom[] = INCBIN_U8("graphics/pokemon/front_pics/aipom_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Aipom[] = INCBIN_U8("graphics/pokemon/palettes/aipom_palette.gbapal.lz"); +const u8 gMonBackPic_Aipom[] = INCBIN_U8("graphics/pokemon/back_pics/aipom_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Aipom[] = INCBIN_U8("graphics/pokemon/palettes/aipom_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Aipom[] = INCBIN_U8("graphics/pokemon/icons/aipom_icon.4bpp"); +const u8 gMonFootprint_Aipom[] = INCBIN_U8("graphics/pokemon/footprints/aipom_footprint.1bpp"); + +const u8 gMonStillFrontPic_Sunkern[] = INCBIN_U8("graphics/pokemon/front_pics/sunkern_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Sunkern[] = INCBIN_U8("graphics/pokemon/palettes/sunkern_palette.gbapal.lz"); +const u8 gMonBackPic_Sunkern[] = INCBIN_U8("graphics/pokemon/back_pics/sunkern_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Sunkern[] = INCBIN_U8("graphics/pokemon/palettes/sunkern_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Sunkern[] = INCBIN_U8("graphics/pokemon/icons/sunkern_icon.4bpp"); +const u8 gMonFootprint_Sunkern[] = INCBIN_U8("graphics/pokemon/footprints/sunkern_footprint.1bpp"); + +const u8 gMonStillFrontPic_Sunflora[] = INCBIN_U8("graphics/pokemon/front_pics/sunflora_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Sunflora[] = INCBIN_U8("graphics/pokemon/palettes/sunflora_palette.gbapal.lz"); +const u8 gMonBackPic_Sunflora[] = INCBIN_U8("graphics/pokemon/back_pics/sunflora_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Sunflora[] = INCBIN_U8("graphics/pokemon/palettes/sunflora_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Sunflora[] = INCBIN_U8("graphics/pokemon/icons/sunflora_icon.4bpp"); +const u8 gMonFootprint_Sunflora[] = INCBIN_U8("graphics/pokemon/footprints/sunflora_footprint.1bpp"); + +const u8 gMonStillFrontPic_Yanma[] = INCBIN_U8("graphics/pokemon/front_pics/yanma_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Yanma[] = INCBIN_U8("graphics/pokemon/palettes/yanma_palette.gbapal.lz"); +const u8 gMonBackPic_Yanma[] = INCBIN_U8("graphics/pokemon/back_pics/yanma_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Yanma[] = INCBIN_U8("graphics/pokemon/palettes/yanma_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Yanma[] = INCBIN_U8("graphics/pokemon/icons/yanma_icon.4bpp"); +const u8 gMonFootprint_Yanma[] = INCBIN_U8("graphics/pokemon/footprints/yanma_footprint.1bpp"); + +const u8 gMonStillFrontPic_Wooper[] = INCBIN_U8("graphics/pokemon/front_pics/wooper_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Wooper[] = INCBIN_U8("graphics/pokemon/palettes/wooper_palette.gbapal.lz"); +const u8 gMonBackPic_Wooper[] = INCBIN_U8("graphics/pokemon/back_pics/wooper_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Wooper[] = INCBIN_U8("graphics/pokemon/palettes/wooper_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Wooper[] = INCBIN_U8("graphics/pokemon/icons/wooper_icon.4bpp"); +const u8 gMonFootprint_Wooper[] = INCBIN_U8("graphics/pokemon/footprints/wooper_footprint.1bpp"); + +const u8 gMonStillFrontPic_Quagsire[] = INCBIN_U8("graphics/pokemon/front_pics/quagsire_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Quagsire[] = INCBIN_U8("graphics/pokemon/palettes/quagsire_palette.gbapal.lz"); +const u8 gMonBackPic_Quagsire[] = INCBIN_U8("graphics/pokemon/back_pics/quagsire_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Quagsire[] = INCBIN_U8("graphics/pokemon/palettes/quagsire_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Quagsire[] = INCBIN_U8("graphics/pokemon/icons/quagsire_icon.4bpp"); +const u8 gMonFootprint_Quagsire[] = INCBIN_U8("graphics/pokemon/footprints/quagsire_footprint.1bpp"); + +const u8 gMonStillFrontPic_Espeon[] = INCBIN_U8("graphics/pokemon/front_pics/espeon_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Espeon[] = INCBIN_U8("graphics/pokemon/palettes/espeon_palette.gbapal.lz"); +const u8 gMonBackPic_Espeon[] = INCBIN_U8("graphics/pokemon/back_pics/espeon_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Espeon[] = INCBIN_U8("graphics/pokemon/palettes/espeon_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Espeon[] = INCBIN_U8("graphics/pokemon/icons/espeon_icon.4bpp"); +const u8 gMonFootprint_Espeon[] = INCBIN_U8("graphics/pokemon/footprints/espeon_footprint.1bpp"); + +const u8 gMonStillFrontPic_Umbreon[] = INCBIN_U8("graphics/pokemon/front_pics/umbreon_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Umbreon[] = INCBIN_U8("graphics/pokemon/palettes/umbreon_palette.gbapal.lz"); +const u8 gMonBackPic_Umbreon[] = INCBIN_U8("graphics/pokemon/back_pics/umbreon_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Umbreon[] = INCBIN_U8("graphics/pokemon/palettes/umbreon_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Umbreon[] = INCBIN_U8("graphics/pokemon/icons/umbreon_icon.4bpp"); +const u8 gMonFootprint_Umbreon[] = INCBIN_U8("graphics/pokemon/footprints/umbreon_footprint.1bpp"); + +const u8 gMonStillFrontPic_Murkrow[] = INCBIN_U8("graphics/pokemon/front_pics/murkrow_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Murkrow[] = INCBIN_U8("graphics/pokemon/palettes/murkrow_palette.gbapal.lz"); +const u8 gMonBackPic_Murkrow[] = INCBIN_U8("graphics/pokemon/back_pics/murkrow_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Murkrow[] = INCBIN_U8("graphics/pokemon/palettes/murkrow_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Murkrow[] = INCBIN_U8("graphics/pokemon/icons/murkrow_icon.4bpp"); +const u8 gMonFootprint_Murkrow[] = INCBIN_U8("graphics/pokemon/footprints/murkrow_footprint.1bpp"); + +const u8 gMonStillFrontPic_Slowking[] = INCBIN_U8("graphics/pokemon/front_pics/slowking_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Slowking[] = INCBIN_U8("graphics/pokemon/palettes/slowking_palette.gbapal.lz"); +const u8 gMonBackPic_Slowking[] = INCBIN_U8("graphics/pokemon/back_pics/slowking_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Slowking[] = INCBIN_U8("graphics/pokemon/palettes/slowking_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Slowking[] = INCBIN_U8("graphics/pokemon/icons/slowking_icon.4bpp"); +const u8 gMonFootprint_Slowking[] = INCBIN_U8("graphics/pokemon/footprints/slowking_footprint.1bpp"); + +const u8 gMonStillFrontPic_Misdreavus[] = INCBIN_U8("graphics/pokemon/front_pics/misdreavus_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Misdreavus[] = INCBIN_U8("graphics/pokemon/palettes/misdreavus_palette.gbapal.lz"); +const u8 gMonBackPic_Misdreavus[] = INCBIN_U8("graphics/pokemon/back_pics/misdreavus_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Misdreavus[] = INCBIN_U8("graphics/pokemon/palettes/misdreavus_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Misdreavus[] = INCBIN_U8("graphics/pokemon/icons/misdreavus_icon.4bpp"); +const u8 gMonFootprint_Misdreavus[] = INCBIN_U8("graphics/pokemon/footprints/misdreavus_footprint.1bpp"); + +const u8 gMonStillFrontPic_UnownA[] = INCBIN_U8("graphics/pokemon/front_pics/unown_a_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Unown[] = INCBIN_U8("graphics/pokemon/palettes/unown_palette.gbapal.lz"); +const u8 gMonBackPic_UnownA[] = INCBIN_U8("graphics/pokemon/back_pics/unown_a_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Unown[] = INCBIN_U8("graphics/pokemon/palettes/unown_shiny_palette.gbapal.lz"); +const u8 gMonIcon_UnownA[] = INCBIN_U8("graphics/pokemon/icons/unown_a_icon.4bpp"); +const u8 gMonFootprint_Unown[] = INCBIN_U8("graphics/pokemon/footprints/unown_footprint.1bpp"); + +const u8 gMonStillFrontPic_Wobbuffet[] = INCBIN_U8("graphics/pokemon/front_pics/wobbuffet_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Wobbuffet[] = INCBIN_U8("graphics/pokemon/palettes/wobbuffet_palette.gbapal.lz"); +const u8 gMonBackPic_Wobbuffet[] = INCBIN_U8("graphics/pokemon/back_pics/wobbuffet_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Wobbuffet[] = INCBIN_U8("graphics/pokemon/palettes/wobbuffet_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Wobbuffet[] = INCBIN_U8("graphics/pokemon/icons/wobbuffet_icon.4bpp"); +const u8 gMonFootprint_Wobbuffet[] = INCBIN_U8("graphics/pokemon/footprints/wobbuffet_footprint.1bpp"); + +const u8 gMonStillFrontPic_Girafarig[] = INCBIN_U8("graphics/pokemon/front_pics/girafarig_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Girafarig[] = INCBIN_U8("graphics/pokemon/palettes/girafarig_palette.gbapal.lz"); +const u8 gMonBackPic_Girafarig[] = INCBIN_U8("graphics/pokemon/back_pics/girafarig_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Girafarig[] = INCBIN_U8("graphics/pokemon/palettes/girafarig_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Girafarig[] = INCBIN_U8("graphics/pokemon/icons/girafarig_icon.4bpp"); +const u8 gMonFootprint_Girafarig[] = INCBIN_U8("graphics/pokemon/footprints/girafarig_footprint.1bpp"); + +const u8 gMonStillFrontPic_Pineco[] = INCBIN_U8("graphics/pokemon/front_pics/pineco_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Pineco[] = INCBIN_U8("graphics/pokemon/palettes/pineco_palette.gbapal.lz"); +const u8 gMonBackPic_Pineco[] = INCBIN_U8("graphics/pokemon/back_pics/pineco_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Pineco[] = INCBIN_U8("graphics/pokemon/palettes/pineco_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Pineco[] = INCBIN_U8("graphics/pokemon/icons/pineco_icon.4bpp"); +const u8 gMonFootprint_Pineco[] = INCBIN_U8("graphics/pokemon/footprints/pineco_footprint.1bpp"); + +const u8 gMonStillFrontPic_Forretress[] = INCBIN_U8("graphics/pokemon/front_pics/forretress_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Forretress[] = INCBIN_U8("graphics/pokemon/palettes/forretress_palette.gbapal.lz"); +const u8 gMonBackPic_Forretress[] = INCBIN_U8("graphics/pokemon/back_pics/forretress_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Forretress[] = INCBIN_U8("graphics/pokemon/palettes/forretress_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Forretress[] = INCBIN_U8("graphics/pokemon/icons/forretress_icon.4bpp"); +const u8 gMonFootprint_Forretress[] = INCBIN_U8("graphics/pokemon/footprints/forretress_footprint.1bpp"); + +const u8 gMonStillFrontPic_Dunsparce[] = INCBIN_U8("graphics/pokemon/front_pics/dunsparce_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Dunsparce[] = INCBIN_U8("graphics/pokemon/palettes/dunsparce_palette.gbapal.lz"); +const u8 gMonBackPic_Dunsparce[] = INCBIN_U8("graphics/pokemon/back_pics/dunsparce_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Dunsparce[] = INCBIN_U8("graphics/pokemon/palettes/dunsparce_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Dunsparce[] = INCBIN_U8("graphics/pokemon/icons/dunsparce_icon.4bpp"); +const u8 gMonFootprint_Dunsparce[] = INCBIN_U8("graphics/pokemon/footprints/dunsparce_footprint.1bpp"); + +const u8 gMonStillFrontPic_Gligar[] = INCBIN_U8("graphics/pokemon/front_pics/gligar_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Gligar[] = INCBIN_U8("graphics/pokemon/palettes/gligar_palette.gbapal.lz"); +const u8 gMonBackPic_Gligar[] = INCBIN_U8("graphics/pokemon/back_pics/gligar_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Gligar[] = INCBIN_U8("graphics/pokemon/palettes/gligar_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Gligar[] = INCBIN_U8("graphics/pokemon/icons/gligar_icon.4bpp"); +const u8 gMonFootprint_Gligar[] = INCBIN_U8("graphics/pokemon/footprints/gligar_footprint.1bpp"); + +const u8 gMonStillFrontPic_Steelix[] = INCBIN_U8("graphics/pokemon/front_pics/steelix_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Steelix[] = INCBIN_U8("graphics/pokemon/palettes/steelix_palette.gbapal.lz"); +const u8 gMonBackPic_Steelix[] = INCBIN_U8("graphics/pokemon/back_pics/steelix_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Steelix[] = INCBIN_U8("graphics/pokemon/palettes/steelix_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Steelix[] = INCBIN_U8("graphics/pokemon/icons/steelix_icon.4bpp"); +const u8 gMonFootprint_Steelix[] = INCBIN_U8("graphics/pokemon/footprints/steelix_footprint.1bpp"); + +const u8 gMonStillFrontPic_Snubbull[] = INCBIN_U8("graphics/pokemon/front_pics/snubbull_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Snubbull[] = INCBIN_U8("graphics/pokemon/palettes/snubbull_palette.gbapal.lz"); +const u8 gMonBackPic_Snubbull[] = INCBIN_U8("graphics/pokemon/back_pics/snubbull_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Snubbull[] = INCBIN_U8("graphics/pokemon/palettes/snubbull_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Snubbull[] = INCBIN_U8("graphics/pokemon/icons/snubbull_icon.4bpp"); +const u8 gMonFootprint_Snubbull[] = INCBIN_U8("graphics/pokemon/footprints/snubbull_footprint.1bpp"); + +const u8 gMonStillFrontPic_Granbull[] = INCBIN_U8("graphics/pokemon/front_pics/granbull_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Granbull[] = INCBIN_U8("graphics/pokemon/palettes/granbull_palette.gbapal.lz"); +const u8 gMonBackPic_Granbull[] = INCBIN_U8("graphics/pokemon/back_pics/granbull_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Granbull[] = INCBIN_U8("graphics/pokemon/palettes/granbull_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Granbull[] = INCBIN_U8("graphics/pokemon/icons/granbull_icon.4bpp"); +const u8 gMonFootprint_Granbull[] = INCBIN_U8("graphics/pokemon/footprints/granbull_footprint.1bpp"); + +const u8 gMonStillFrontPic_Qwilfish[] = INCBIN_U8("graphics/pokemon/front_pics/qwilfish_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Qwilfish[] = INCBIN_U8("graphics/pokemon/palettes/qwilfish_palette.gbapal.lz"); +const u8 gMonBackPic_Qwilfish[] = INCBIN_U8("graphics/pokemon/back_pics/qwilfish_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Qwilfish[] = INCBIN_U8("graphics/pokemon/palettes/qwilfish_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Qwilfish[] = INCBIN_U8("graphics/pokemon/icons/qwilfish_icon.4bpp"); +const u8 gMonFootprint_Qwilfish[] = INCBIN_U8("graphics/pokemon/footprints/qwilfish_footprint.1bpp"); + +const u8 gMonStillFrontPic_Scizor[] = INCBIN_U8("graphics/pokemon/front_pics/scizor_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Scizor[] = INCBIN_U8("graphics/pokemon/palettes/scizor_palette.gbapal.lz"); +const u8 gMonBackPic_Scizor[] = INCBIN_U8("graphics/pokemon/back_pics/scizor_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Scizor[] = INCBIN_U8("graphics/pokemon/palettes/scizor_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Scizor[] = INCBIN_U8("graphics/pokemon/icons/scizor_icon.4bpp"); +const u8 gMonFootprint_Scizor[] = INCBIN_U8("graphics/pokemon/footprints/scizor_footprint.1bpp"); + +const u8 gMonStillFrontPic_Shuckle[] = INCBIN_U8("graphics/pokemon/front_pics/shuckle_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Shuckle[] = INCBIN_U8("graphics/pokemon/palettes/shuckle_palette.gbapal.lz"); +const u8 gMonBackPic_Shuckle[] = INCBIN_U8("graphics/pokemon/back_pics/shuckle_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Shuckle[] = INCBIN_U8("graphics/pokemon/palettes/shuckle_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Shuckle[] = INCBIN_U8("graphics/pokemon/icons/shuckle_icon.4bpp"); +const u8 gMonFootprint_Shuckle[] = INCBIN_U8("graphics/pokemon/footprints/shuckle_footprint.1bpp"); + +const u8 gMonStillFrontPic_Heracross[] = INCBIN_U8("graphics/pokemon/front_pics/heracross_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Heracross[] = INCBIN_U8("graphics/pokemon/palettes/heracross_palette.gbapal.lz"); +const u8 gMonBackPic_Heracross[] = INCBIN_U8("graphics/pokemon/back_pics/heracross_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Heracross[] = INCBIN_U8("graphics/pokemon/palettes/heracross_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Heracross[] = INCBIN_U8("graphics/pokemon/icons/heracross_icon.4bpp"); +const u8 gMonFootprint_Heracross[] = INCBIN_U8("graphics/pokemon/footprints/heracross_footprint.1bpp"); + +const u8 gMonStillFrontPic_Sneasel[] = INCBIN_U8("graphics/pokemon/front_pics/sneasel_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Sneasel[] = INCBIN_U8("graphics/pokemon/palettes/sneasel_palette.gbapal.lz"); +const u8 gMonBackPic_Sneasel[] = INCBIN_U8("graphics/pokemon/back_pics/sneasel_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Sneasel[] = INCBIN_U8("graphics/pokemon/palettes/sneasel_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Sneasel[] = INCBIN_U8("graphics/pokemon/icons/sneasel_icon.4bpp"); +const u8 gMonFootprint_Sneasel[] = INCBIN_U8("graphics/pokemon/footprints/sneasel_footprint.1bpp"); + +const u8 gMonStillFrontPic_Teddiursa[] = INCBIN_U8("graphics/pokemon/front_pics/teddiursa_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Teddiursa[] = INCBIN_U8("graphics/pokemon/palettes/teddiursa_palette.gbapal.lz"); +const u8 gMonBackPic_Teddiursa[] = INCBIN_U8("graphics/pokemon/back_pics/teddiursa_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Teddiursa[] = INCBIN_U8("graphics/pokemon/palettes/teddiursa_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Teddiursa[] = INCBIN_U8("graphics/pokemon/icons/teddiursa_icon.4bpp"); +const u8 gMonFootprint_Teddiursa[] = INCBIN_U8("graphics/pokemon/footprints/teddiursa_footprint.1bpp"); +const u8 gMonStillFrontPic_Ursaring[] = INCBIN_U8("graphics/pokemon/front_pics/ursaring_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Ursaring[] = INCBIN_U8("graphics/pokemon/palettes/ursaring_palette.gbapal.lz"); +const u8 gMonBackPic_Ursaring[] = INCBIN_U8("graphics/pokemon/back_pics/ursaring_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Ursaring[] = INCBIN_U8("graphics/pokemon/palettes/ursaring_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Ursaring[] = INCBIN_U8("graphics/pokemon/icons/ursaring_icon.4bpp"); +const u8 gMonFootprint_Ursaring[] = INCBIN_U8("graphics/pokemon/footprints/ursaring_footprint.1bpp"); + +const u8 gMonStillFrontPic_Slugma[] = INCBIN_U8("graphics/pokemon/front_pics/slugma_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Slugma[] = INCBIN_U8("graphics/pokemon/palettes/slugma_palette.gbapal.lz"); +const u8 gMonBackPic_Slugma[] = INCBIN_U8("graphics/pokemon/back_pics/slugma_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Slugma[] = INCBIN_U8("graphics/pokemon/palettes/slugma_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Slugma[] = INCBIN_U8("graphics/pokemon/icons/slugma_icon.4bpp"); +const u8 gMonFootprint_Slugma[] = INCBIN_U8("graphics/pokemon/footprints/slugma_footprint.1bpp"); + +const u8 gMonStillFrontPic_Magcargo[] = INCBIN_U8("graphics/pokemon/front_pics/magcargo_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Magcargo[] = INCBIN_U8("graphics/pokemon/palettes/magcargo_palette.gbapal.lz"); +const u8 gMonBackPic_Magcargo[] = INCBIN_U8("graphics/pokemon/back_pics/magcargo_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Magcargo[] = INCBIN_U8("graphics/pokemon/palettes/magcargo_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Magcargo[] = INCBIN_U8("graphics/pokemon/icons/magcargo_icon.4bpp"); +const u8 gMonFootprint_Magcargo[] = INCBIN_U8("graphics/pokemon/footprints/magcargo_footprint.1bpp"); + +const u8 gMonStillFrontPic_Swinub[] = INCBIN_U8("graphics/pokemon/front_pics/swinub_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Swinub[] = INCBIN_U8("graphics/pokemon/palettes/swinub_palette.gbapal.lz"); +const u8 gMonBackPic_Swinub[] = INCBIN_U8("graphics/pokemon/back_pics/swinub_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Swinub[] = INCBIN_U8("graphics/pokemon/palettes/swinub_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Swinub[] = INCBIN_U8("graphics/pokemon/icons/swinub_icon.4bpp"); +const u8 gMonFootprint_Swinub[] = INCBIN_U8("graphics/pokemon/footprints/swinub_footprint.1bpp"); + +const u8 gMonStillFrontPic_Piloswine[] = INCBIN_U8("graphics/pokemon/front_pics/piloswine_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Piloswine[] = INCBIN_U8("graphics/pokemon/palettes/piloswine_palette.gbapal.lz"); +const u8 gMonBackPic_Piloswine[] = INCBIN_U8("graphics/pokemon/back_pics/piloswine_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Piloswine[] = INCBIN_U8("graphics/pokemon/palettes/piloswine_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Piloswine[] = INCBIN_U8("graphics/pokemon/icons/piloswine_icon.4bpp"); +const u8 gMonFootprint_Piloswine[] = INCBIN_U8("graphics/pokemon/footprints/piloswine_footprint.1bpp"); + +const u8 gMonStillFrontPic_Corsola[] = INCBIN_U8("graphics/pokemon/front_pics/corsola_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Corsola[] = INCBIN_U8("graphics/pokemon/palettes/corsola_palette.gbapal.lz"); +const u8 gMonBackPic_Corsola[] = INCBIN_U8("graphics/pokemon/back_pics/corsola_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Corsola[] = INCBIN_U8("graphics/pokemon/palettes/corsola_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Corsola[] = INCBIN_U8("graphics/pokemon/icons/corsola_icon.4bpp"); +const u8 gMonFootprint_Corsola[] = INCBIN_U8("graphics/pokemon/footprints/corsola_footprint.1bpp"); + +const u8 gMonStillFrontPic_Remoraid[] = INCBIN_U8("graphics/pokemon/front_pics/remoraid_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Remoraid[] = INCBIN_U8("graphics/pokemon/palettes/remoraid_palette.gbapal.lz"); +const u8 gMonBackPic_Remoraid[] = INCBIN_U8("graphics/pokemon/back_pics/remoraid_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Remoraid[] = INCBIN_U8("graphics/pokemon/palettes/remoraid_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Remoraid[] = INCBIN_U8("graphics/pokemon/icons/remoraid_icon.4bpp"); +const u8 gMonFootprint_Remoraid[] = INCBIN_U8("graphics/pokemon/footprints/remoraid_footprint.1bpp"); + +const u8 gMonStillFrontPic_Octillery[] = INCBIN_U8("graphics/pokemon/front_pics/octillery_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Octillery[] = INCBIN_U8("graphics/pokemon/palettes/octillery_palette.gbapal.lz"); +const u8 gMonBackPic_Octillery[] = INCBIN_U8("graphics/pokemon/back_pics/octillery_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Octillery[] = INCBIN_U8("graphics/pokemon/palettes/octillery_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Octillery[] = INCBIN_U8("graphics/pokemon/icons/octillery_icon.4bpp"); +const u8 gMonFootprint_Octillery[] = INCBIN_U8("graphics/pokemon/footprints/octillery_footprint.1bpp"); + +const u8 gMonStillFrontPic_Delibird[] = INCBIN_U8("graphics/pokemon/front_pics/delibird_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Delibird[] = INCBIN_U8("graphics/pokemon/palettes/delibird_palette.gbapal.lz"); +const u8 gMonBackPic_Delibird[] = INCBIN_U8("graphics/pokemon/back_pics/delibird_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Delibird[] = INCBIN_U8("graphics/pokemon/palettes/delibird_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Delibird[] = INCBIN_U8("graphics/pokemon/icons/delibird_icon.4bpp"); +const u8 gMonFootprint_Delibird[] = INCBIN_U8("graphics/pokemon/footprints/delibird_footprint.1bpp"); + +const u8 gMonStillFrontPic_Mantine[] = INCBIN_U8("graphics/pokemon/front_pics/mantine_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Mantine[] = INCBIN_U8("graphics/pokemon/palettes/mantine_palette.gbapal.lz"); +const u8 gMonBackPic_Mantine[] = INCBIN_U8("graphics/pokemon/back_pics/mantine_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Mantine[] = INCBIN_U8("graphics/pokemon/palettes/mantine_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Mantine[] = INCBIN_U8("graphics/pokemon/icons/mantine_icon.4bpp"); +const u8 gMonFootprint_Mantine[] = INCBIN_U8("graphics/pokemon/footprints/mantine_footprint.1bpp"); + +const u8 gMonStillFrontPic_Skarmory[] = INCBIN_U8("graphics/pokemon/front_pics/skarmory_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Skarmory[] = INCBIN_U8("graphics/pokemon/palettes/skarmory_palette.gbapal.lz"); +const u8 gMonBackPic_Skarmory[] = INCBIN_U8("graphics/pokemon/back_pics/skarmory_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Skarmory[] = INCBIN_U8("graphics/pokemon/palettes/skarmory_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Skarmory[] = INCBIN_U8("graphics/pokemon/icons/skarmory_icon.4bpp"); +const u8 gMonFootprint_Skarmory[] = INCBIN_U8("graphics/pokemon/footprints/skarmory_footprint.1bpp"); + +const u8 gMonStillFrontPic_Houndour[] = INCBIN_U8("graphics/pokemon/front_pics/houndour_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Houndour[] = INCBIN_U8("graphics/pokemon/palettes/houndour_palette.gbapal.lz"); +const u8 gMonBackPic_Houndour[] = INCBIN_U8("graphics/pokemon/back_pics/houndour_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Houndour[] = INCBIN_U8("graphics/pokemon/palettes/houndour_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Houndour[] = INCBIN_U8("graphics/pokemon/icons/houndour_icon.4bpp"); +const u8 gMonFootprint_Houndour[] = INCBIN_U8("graphics/pokemon/footprints/houndour_footprint.1bpp"); + +const u8 gMonStillFrontPic_Houndoom[] = INCBIN_U8("graphics/pokemon/front_pics/houndoom_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Houndoom[] = INCBIN_U8("graphics/pokemon/palettes/houndoom_palette.gbapal.lz"); +const u8 gMonBackPic_Houndoom[] = INCBIN_U8("graphics/pokemon/back_pics/houndoom_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Houndoom[] = INCBIN_U8("graphics/pokemon/palettes/houndoom_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Houndoom[] = INCBIN_U8("graphics/pokemon/icons/houndoom_icon.4bpp"); +const u8 gMonFootprint_Houndoom[] = INCBIN_U8("graphics/pokemon/footprints/houndoom_footprint.1bpp"); + +const u8 gMonStillFrontPic_Kingdra[] = INCBIN_U8("graphics/pokemon/front_pics/kingdra_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Kingdra[] = INCBIN_U8("graphics/pokemon/palettes/kingdra_palette.gbapal.lz"); +const u8 gMonBackPic_Kingdra[] = INCBIN_U8("graphics/pokemon/back_pics/kingdra_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Kingdra[] = INCBIN_U8("graphics/pokemon/palettes/kingdra_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Kingdra[] = INCBIN_U8("graphics/pokemon/icons/kingdra_icon.4bpp"); +const u8 gMonFootprint_Kingdra[] = INCBIN_U8("graphics/pokemon/footprints/kingdra_footprint.1bpp"); + +const u8 gMonStillFrontPic_Phanpy[] = INCBIN_U8("graphics/pokemon/front_pics/phanpy_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Phanpy[] = INCBIN_U8("graphics/pokemon/palettes/phanpy_palette.gbapal.lz"); +const u8 gMonBackPic_Phanpy[] = INCBIN_U8("graphics/pokemon/back_pics/phanpy_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Phanpy[] = INCBIN_U8("graphics/pokemon/palettes/phanpy_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Phanpy[] = INCBIN_U8("graphics/pokemon/icons/phanpy_icon.4bpp"); +const u8 gMonFootprint_Phanpy[] = INCBIN_U8("graphics/pokemon/footprints/phanpy_footprint.1bpp"); + +const u8 gMonStillFrontPic_Donphan[] = INCBIN_U8("graphics/pokemon/front_pics/donphan_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Donphan[] = INCBIN_U8("graphics/pokemon/palettes/donphan_palette.gbapal.lz"); +const u8 gMonBackPic_Donphan[] = INCBIN_U8("graphics/pokemon/back_pics/donphan_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Donphan[] = INCBIN_U8("graphics/pokemon/palettes/donphan_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Donphan[] = INCBIN_U8("graphics/pokemon/icons/donphan_icon.4bpp"); +const u8 gMonFootprint_Donphan[] = INCBIN_U8("graphics/pokemon/footprints/donphan_footprint.1bpp"); + +const u8 gMonStillFrontPic_Porygon2[] = INCBIN_U8("graphics/pokemon/front_pics/porygon2_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Porygon2[] = INCBIN_U8("graphics/pokemon/palettes/porygon2_palette.gbapal.lz"); +const u8 gMonBackPic_Porygon2[] = INCBIN_U8("graphics/pokemon/back_pics/porygon2_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Porygon2[] = INCBIN_U8("graphics/pokemon/palettes/porygon2_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Porygon2[] = INCBIN_U8("graphics/pokemon/icons/porygon2_icon.4bpp"); +const u8 gMonFootprint_Porygon2[] = INCBIN_U8("graphics/pokemon/footprints/porygon2_footprint.1bpp"); + +const u8 gMonStillFrontPic_Stantler[] = INCBIN_U8("graphics/pokemon/front_pics/stantler_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Stantler[] = INCBIN_U8("graphics/pokemon/palettes/stantler_palette.gbapal.lz"); +const u8 gMonBackPic_Stantler[] = INCBIN_U8("graphics/pokemon/back_pics/stantler_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Stantler[] = INCBIN_U8("graphics/pokemon/palettes/stantler_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Stantler[] = INCBIN_U8("graphics/pokemon/icons/stantler_icon.4bpp"); +const u8 gMonFootprint_Stantler[] = INCBIN_U8("graphics/pokemon/footprints/stantler_footprint.1bpp"); + +const u8 gMonStillFrontPic_Smeargle[] = INCBIN_U8("graphics/pokemon/front_pics/smeargle_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Smeargle[] = INCBIN_U8("graphics/pokemon/palettes/smeargle_palette.gbapal.lz"); +const u8 gMonBackPic_Smeargle[] = INCBIN_U8("graphics/pokemon/back_pics/smeargle_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Smeargle[] = INCBIN_U8("graphics/pokemon/palettes/smeargle_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Smeargle[] = INCBIN_U8("graphics/pokemon/icons/smeargle_icon.4bpp"); +const u8 gMonFootprint_Smeargle[] = INCBIN_U8("graphics/pokemon/footprints/smeargle_footprint.1bpp"); + +const u8 gMonStillFrontPic_Tyrogue[] = INCBIN_U8("graphics/pokemon/front_pics/tyrogue_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Tyrogue[] = INCBIN_U8("graphics/pokemon/palettes/tyrogue_palette.gbapal.lz"); +const u8 gMonBackPic_Tyrogue[] = INCBIN_U8("graphics/pokemon/back_pics/tyrogue_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Tyrogue[] = INCBIN_U8("graphics/pokemon/palettes/tyrogue_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Tyrogue[] = INCBIN_U8("graphics/pokemon/icons/tyrogue_icon.4bpp"); +const u8 gMonFootprint_Tyrogue[] = INCBIN_U8("graphics/pokemon/footprints/tyrogue_footprint.1bpp"); + +const u8 gMonStillFrontPic_Hitmontop[] = INCBIN_U8("graphics/pokemon/front_pics/hitmontop_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Hitmontop[] = INCBIN_U8("graphics/pokemon/palettes/hitmontop_palette.gbapal.lz"); +const u8 gMonBackPic_Hitmontop[] = INCBIN_U8("graphics/pokemon/back_pics/hitmontop_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Hitmontop[] = INCBIN_U8("graphics/pokemon/palettes/hitmontop_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Hitmontop[] = INCBIN_U8("graphics/pokemon/icons/hitmontop_icon.4bpp"); +const u8 gMonFootprint_Hitmontop[] = INCBIN_U8("graphics/pokemon/footprints/hitmontop_footprint.1bpp"); + +const u8 gMonStillFrontPic_Smoochum[] = INCBIN_U8("graphics/pokemon/front_pics/smoochum_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Smoochum[] = INCBIN_U8("graphics/pokemon/palettes/smoochum_palette.gbapal.lz"); +const u8 gMonBackPic_Smoochum[] = INCBIN_U8("graphics/pokemon/back_pics/smoochum_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Smoochum[] = INCBIN_U8("graphics/pokemon/palettes/smoochum_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Smoochum[] = INCBIN_U8("graphics/pokemon/icons/smoochum_icon.4bpp"); +const u8 gMonFootprint_Smoochum[] = INCBIN_U8("graphics/pokemon/footprints/smoochum_footprint.1bpp"); + +const u8 gMonStillFrontPic_Elekid[] = INCBIN_U8("graphics/pokemon/front_pics/elekid_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Elekid[] = INCBIN_U8("graphics/pokemon/palettes/elekid_palette.gbapal.lz"); +const u8 gMonBackPic_Elekid[] = INCBIN_U8("graphics/pokemon/back_pics/elekid_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Elekid[] = INCBIN_U8("graphics/pokemon/palettes/elekid_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Elekid[] = INCBIN_U8("graphics/pokemon/icons/elekid_icon.4bpp"); +const u8 gMonFootprint_Elekid[] = INCBIN_U8("graphics/pokemon/footprints/elekid_footprint.1bpp"); + +const u8 gMonStillFrontPic_Magby[] = INCBIN_U8("graphics/pokemon/front_pics/magby_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Magby[] = INCBIN_U8("graphics/pokemon/palettes/magby_palette.gbapal.lz"); +const u8 gMonBackPic_Magby[] = INCBIN_U8("graphics/pokemon/back_pics/magby_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Magby[] = INCBIN_U8("graphics/pokemon/palettes/magby_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Magby[] = INCBIN_U8("graphics/pokemon/icons/magby_icon.4bpp"); +const u8 gMonFootprint_Magby[] = INCBIN_U8("graphics/pokemon/footprints/magby_footprint.1bpp"); + +const u8 gMonStillFrontPic_Miltank[] = INCBIN_U8("graphics/pokemon/front_pics/miltank_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Miltank[] = INCBIN_U8("graphics/pokemon/palettes/miltank_palette.gbapal.lz"); +const u8 gMonBackPic_Miltank[] = INCBIN_U8("graphics/pokemon/back_pics/miltank_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Miltank[] = INCBIN_U8("graphics/pokemon/palettes/miltank_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Miltank[] = INCBIN_U8("graphics/pokemon/icons/miltank_icon.4bpp"); +const u8 gMonFootprint_Miltank[] = INCBIN_U8("graphics/pokemon/footprints/miltank_footprint.1bpp"); + +const u8 gMonStillFrontPic_Blissey[] = INCBIN_U8("graphics/pokemon/front_pics/blissey_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Blissey[] = INCBIN_U8("graphics/pokemon/palettes/blissey_palette.gbapal.lz"); +const u8 gMonBackPic_Blissey[] = INCBIN_U8("graphics/pokemon/back_pics/blissey_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Blissey[] = INCBIN_U8("graphics/pokemon/palettes/blissey_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Blissey[] = INCBIN_U8("graphics/pokemon/icons/blissey_icon.4bpp"); +const u8 gMonFootprint_Blissey[] = INCBIN_U8("graphics/pokemon/footprints/blissey_footprint.1bpp"); + +const u8 gMonStillFrontPic_Raikou[] = INCBIN_U8("graphics/pokemon/front_pics/raikou_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Raikou[] = INCBIN_U8("graphics/pokemon/palettes/raikou_palette.gbapal.lz"); +const u8 gMonBackPic_Raikou[] = INCBIN_U8("graphics/pokemon/back_pics/raikou_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Raikou[] = INCBIN_U8("graphics/pokemon/palettes/raikou_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Raikou[] = INCBIN_U8("graphics/pokemon/icons/raikou_icon.4bpp"); +const u8 gMonFootprint_Raikou[] = INCBIN_U8("graphics/pokemon/footprints/raikou_footprint.1bpp"); + +const u8 gMonStillFrontPic_Entei[] = INCBIN_U8("graphics/pokemon/front_pics/entei_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Entei[] = INCBIN_U8("graphics/pokemon/palettes/entei_palette.gbapal.lz"); +const u8 gMonBackPic_Entei[] = INCBIN_U8("graphics/pokemon/back_pics/entei_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Entei[] = INCBIN_U8("graphics/pokemon/palettes/entei_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Entei[] = INCBIN_U8("graphics/pokemon/icons/entei_icon.4bpp"); +const u8 gMonFootprint_Entei[] = INCBIN_U8("graphics/pokemon/footprints/entei_footprint.1bpp"); + +const u8 gMonStillFrontPic_Suicune[] = INCBIN_U8("graphics/pokemon/front_pics/suicune_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Suicune[] = INCBIN_U8("graphics/pokemon/palettes/suicune_palette.gbapal.lz"); +const u8 gMonBackPic_Suicune[] = INCBIN_U8("graphics/pokemon/back_pics/suicune_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Suicune[] = INCBIN_U8("graphics/pokemon/palettes/suicune_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Suicune[] = INCBIN_U8("graphics/pokemon/icons/suicune_icon.4bpp"); +const u8 gMonFootprint_Suicune[] = INCBIN_U8("graphics/pokemon/footprints/suicune_footprint.1bpp"); + +const u8 gMonStillFrontPic_Larvitar[] = INCBIN_U8("graphics/pokemon/front_pics/larvitar_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Larvitar[] = INCBIN_U8("graphics/pokemon/palettes/larvitar_palette.gbapal.lz"); +const u8 gMonBackPic_Larvitar[] = INCBIN_U8("graphics/pokemon/back_pics/larvitar_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Larvitar[] = INCBIN_U8("graphics/pokemon/palettes/larvitar_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Larvitar[] = INCBIN_U8("graphics/pokemon/icons/larvitar_icon.4bpp"); +const u8 gMonFootprint_Larvitar[] = INCBIN_U8("graphics/pokemon/footprints/larvitar_footprint.1bpp"); + +const u8 gMonStillFrontPic_Pupitar[] = INCBIN_U8("graphics/pokemon/front_pics/pupitar_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Pupitar[] = INCBIN_U8("graphics/pokemon/palettes/pupitar_palette.gbapal.lz"); +const u8 gMonBackPic_Pupitar[] = INCBIN_U8("graphics/pokemon/back_pics/pupitar_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Pupitar[] = INCBIN_U8("graphics/pokemon/palettes/pupitar_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Pupitar[] = INCBIN_U8("graphics/pokemon/icons/pupitar_icon.4bpp"); +const u8 gMonFootprint_Pupitar[] = INCBIN_U8("graphics/pokemon/footprints/pupitar_footprint.1bpp"); + +const u8 gMonStillFrontPic_Tyranitar[] = INCBIN_U8("graphics/pokemon/front_pics/tyranitar_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Tyranitar[] = INCBIN_U8("graphics/pokemon/palettes/tyranitar_palette.gbapal.lz"); +const u8 gMonBackPic_Tyranitar[] = INCBIN_U8("graphics/pokemon/back_pics/tyranitar_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Tyranitar[] = INCBIN_U8("graphics/pokemon/palettes/tyranitar_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Tyranitar[] = INCBIN_U8("graphics/pokemon/icons/tyranitar_icon.4bpp"); +const u8 gMonFootprint_Tyranitar[] = INCBIN_U8("graphics/pokemon/footprints/tyranitar_footprint.1bpp"); + +const u8 gMonStillFrontPic_Lugia[] = INCBIN_U8("graphics/pokemon/front_pics/lugia_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Lugia[] = INCBIN_U8("graphics/pokemon/palettes/lugia_palette.gbapal.lz"); +const u8 gMonBackPic_Lugia[] = INCBIN_U8("graphics/pokemon/back_pics/lugia_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Lugia[] = INCBIN_U8("graphics/pokemon/palettes/lugia_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Lugia[] = INCBIN_U8("graphics/pokemon/icons/lugia_icon.4bpp"); +const u8 gMonFootprint_Lugia[] = INCBIN_U8("graphics/pokemon/footprints/lugia_footprint.1bpp"); + +const u8 gMonStillFrontPic_HoOh[] = INCBIN_U8("graphics/pokemon/front_pics/ho_oh_still_front_pic.4bpp.lz"); +const u8 gMonPalette_HoOh[] = INCBIN_U8("graphics/pokemon/palettes/ho_oh_palette.gbapal.lz"); +const u8 gMonBackPic_HoOh[] = INCBIN_U8("graphics/pokemon/back_pics/ho_oh_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_HoOh[] = INCBIN_U8("graphics/pokemon/palettes/ho_oh_shiny_palette.gbapal.lz"); +const u8 gMonIcon_HoOh[] = INCBIN_U8("graphics/pokemon/icons/ho_oh_icon.4bpp"); +const u8 gMonFootprint_HoOh[] = INCBIN_U8("graphics/pokemon/footprints/ho_oh_footprint.1bpp"); + +const u8 gMonStillFrontPic_Celebi[] = INCBIN_U8("graphics/pokemon/front_pics/celebi_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Celebi[] = INCBIN_U8("graphics/pokemon/palettes/celebi_palette.gbapal.lz"); +const u8 gMonBackPic_Celebi[] = INCBIN_U8("graphics/pokemon/back_pics/celebi_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Celebi[] = INCBIN_U8("graphics/pokemon/palettes/celebi_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Celebi[] = INCBIN_U8("graphics/pokemon/icons/celebi_icon.4bpp"); +const u8 gMonFootprint_Celebi[] = INCBIN_U8("graphics/pokemon/footprints/celebi_footprint.1bpp"); + +const u8 gMonStillFrontPic_DoubleQuestionMark[] = INCBIN_U8("graphics/pokemon/front_pics/double_question_mark_still_front_pic.4bpp.lz"); +const u8 gMonPalette_DoubleQuestionMark[] = INCBIN_U8("graphics/pokemon/palettes/double_question_mark_palette.gbapal.lz"); +const u8 gMonBackPic_DoubleQuestionMark[] = INCBIN_U8("graphics/pokemon/back_pics/double_question_mark_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_DoubleQuestionMark[] = INCBIN_U8("graphics/pokemon/palettes/double_question_mark_shiny_palette.gbapal.lz"); + +const u8 gMonStillFrontPic_Treecko[] = INCBIN_U8("graphics/pokemon/front_pics/treecko_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Treecko[] = INCBIN_U8("graphics/pokemon/palettes/treecko_palette.gbapal.lz"); +const u8 gMonBackPic_Treecko[] = INCBIN_U8("graphics/pokemon/back_pics/treecko_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Treecko[] = INCBIN_U8("graphics/pokemon/palettes/treecko_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Treecko[] = INCBIN_U8("graphics/pokemon/icons/treecko_icon.4bpp"); +const u8 gMonFootprint_Treecko[] = INCBIN_U8("graphics/pokemon/footprints/treecko_footprint.1bpp"); + +const u8 gMonStillFrontPic_Grovyle[] = INCBIN_U8("graphics/pokemon/front_pics/grovyle_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Grovyle[] = INCBIN_U8("graphics/pokemon/palettes/grovyle_palette.gbapal.lz"); +const u8 gMonBackPic_Grovyle[] = INCBIN_U8("graphics/pokemon/back_pics/grovyle_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Grovyle[] = INCBIN_U8("graphics/pokemon/palettes/grovyle_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Grovyle[] = INCBIN_U8("graphics/pokemon/icons/grovyle_icon.4bpp"); +const u8 gMonFootprint_Grovyle[] = INCBIN_U8("graphics/pokemon/footprints/grovyle_footprint.1bpp"); + +const u8 gMonStillFrontPic_Sceptile[] = INCBIN_U8("graphics/pokemon/front_pics/sceptile_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Sceptile[] = INCBIN_U8("graphics/pokemon/palettes/sceptile_palette.gbapal.lz"); +const u8 gMonBackPic_Sceptile[] = INCBIN_U8("graphics/pokemon/back_pics/sceptile_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Sceptile[] = INCBIN_U8("graphics/pokemon/palettes/sceptile_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Sceptile[] = INCBIN_U8("graphics/pokemon/icons/sceptile_icon.4bpp"); +const u8 gMonFootprint_Sceptile[] = INCBIN_U8("graphics/pokemon/footprints/sceptile_footprint.1bpp"); + +const u8 gMonStillFrontPic_Torchic[] = INCBIN_U8("graphics/pokemon/front_pics/torchic_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Torchic[] = INCBIN_U8("graphics/pokemon/palettes/torchic_palette.gbapal.lz"); +const u8 gMonBackPic_Torchic[] = INCBIN_U8("graphics/pokemon/back_pics/torchic_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Torchic[] = INCBIN_U8("graphics/pokemon/palettes/torchic_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Torchic[] = INCBIN_U8("graphics/pokemon/icons/torchic_icon.4bpp"); +const u8 gMonFootprint_Torchic[] = INCBIN_U8("graphics/pokemon/footprints/torchic_footprint.1bpp"); + +const u8 gMonStillFrontPic_Combusken[] = INCBIN_U8("graphics/pokemon/front_pics/combusken_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Combusken[] = INCBIN_U8("graphics/pokemon/palettes/combusken_palette.gbapal.lz"); +const u8 gMonBackPic_Combusken[] = INCBIN_U8("graphics/pokemon/back_pics/combusken_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Combusken[] = INCBIN_U8("graphics/pokemon/palettes/combusken_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Combusken[] = INCBIN_U8("graphics/pokemon/icons/combusken_icon.4bpp"); +const u8 gMonFootprint_Combusken[] = INCBIN_U8("graphics/pokemon/footprints/combusken_footprint.1bpp"); + +const u8 gMonStillFrontPic_Blaziken[] = INCBIN_U8("graphics/pokemon/front_pics/blaziken_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Blaziken[] = INCBIN_U8("graphics/pokemon/palettes/blaziken_palette.gbapal.lz"); +const u8 gMonBackPic_Blaziken[] = INCBIN_U8("graphics/pokemon/back_pics/blaziken_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Blaziken[] = INCBIN_U8("graphics/pokemon/palettes/blaziken_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Blaziken[] = INCBIN_U8("graphics/pokemon/icons/blaziken_icon.4bpp"); +const u8 gMonFootprint_Blaziken[] = INCBIN_U8("graphics/pokemon/footprints/blaziken_footprint.1bpp"); + +const u8 gMonStillFrontPic_Mudkip[] = INCBIN_U8("graphics/pokemon/front_pics/mudkip_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Mudkip[] = INCBIN_U8("graphics/pokemon/palettes/mudkip_palette.gbapal.lz"); +const u8 gMonBackPic_Mudkip[] = INCBIN_U8("graphics/pokemon/back_pics/mudkip_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Mudkip[] = INCBIN_U8("graphics/pokemon/palettes/mudkip_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Mudkip[] = INCBIN_U8("graphics/pokemon/icons/mudkip_icon.4bpp"); +const u8 gMonFootprint_Mudkip[] = INCBIN_U8("graphics/pokemon/footprints/mudkip_footprint.1bpp"); + +const u8 gMonStillFrontPic_Marshtomp[] = INCBIN_U8("graphics/pokemon/front_pics/marshtomp_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Marshtomp[] = INCBIN_U8("graphics/pokemon/palettes/marshtomp_palette.gbapal.lz"); +const u8 gMonBackPic_Marshtomp[] = INCBIN_U8("graphics/pokemon/back_pics/marshtomp_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Marshtomp[] = INCBIN_U8("graphics/pokemon/palettes/marshtomp_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Marshtomp[] = INCBIN_U8("graphics/pokemon/icons/marshtomp_icon.4bpp"); +const u8 gMonFootprint_Marshtomp[] = INCBIN_U8("graphics/pokemon/footprints/marshtomp_footprint.1bpp"); + +const u8 gMonStillFrontPic_Swampert[] = INCBIN_U8("graphics/pokemon/front_pics/swampert_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Swampert[] = INCBIN_U8("graphics/pokemon/palettes/swampert_palette.gbapal.lz"); +const u8 gMonBackPic_Swampert[] = INCBIN_U8("graphics/pokemon/back_pics/swampert_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Swampert[] = INCBIN_U8("graphics/pokemon/palettes/swampert_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Swampert[] = INCBIN_U8("graphics/pokemon/icons/swampert_icon.4bpp"); +const u8 gMonFootprint_Swampert[] = INCBIN_U8("graphics/pokemon/footprints/swampert_footprint.1bpp"); + +const u8 gMonStillFrontPic_Poochyena[] = INCBIN_U8("graphics/pokemon/front_pics/poochyena_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Poochyena[] = INCBIN_U8("graphics/pokemon/palettes/poochyena_palette.gbapal.lz"); +const u8 gMonBackPic_Poochyena[] = INCBIN_U8("graphics/pokemon/back_pics/poochyena_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Poochyena[] = INCBIN_U8("graphics/pokemon/palettes/poochyena_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Poochyena[] = INCBIN_U8("graphics/pokemon/icons/poochyena_icon.4bpp"); +const u8 gMonFootprint_Poochyena[] = INCBIN_U8("graphics/pokemon/footprints/poochyena_footprint.1bpp"); + +const u8 gMonStillFrontPic_Mightyena[] = INCBIN_U8("graphics/pokemon/front_pics/mightyena_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Mightyena[] = INCBIN_U8("graphics/pokemon/palettes/mightyena_palette.gbapal.lz"); +const u8 gMonBackPic_Mightyena[] = INCBIN_U8("graphics/pokemon/back_pics/mightyena_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Mightyena[] = INCBIN_U8("graphics/pokemon/palettes/mightyena_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Mightyena[] = INCBIN_U8("graphics/pokemon/icons/mightyena_icon.4bpp"); +const u8 gMonFootprint_Mightyena[] = INCBIN_U8("graphics/pokemon/footprints/mightyena_footprint.1bpp"); + +const u8 gMonStillFrontPic_Zigzagoon[] = INCBIN_U8("graphics/pokemon/front_pics/zigzagoon_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Zigzagoon[] = INCBIN_U8("graphics/pokemon/palettes/zigzagoon_palette.gbapal.lz"); +const u8 gMonBackPic_Zigzagoon[] = INCBIN_U8("graphics/pokemon/back_pics/zigzagoon_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Zigzagoon[] = INCBIN_U8("graphics/pokemon/palettes/zigzagoon_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Zigzagoon[] = INCBIN_U8("graphics/pokemon/icons/zigzagoon_icon.4bpp"); +const u8 gMonFootprint_Zigzagoon[] = INCBIN_U8("graphics/pokemon/footprints/zigzagoon_footprint.1bpp"); + +const u8 gMonStillFrontPic_Linoone[] = INCBIN_U8("graphics/pokemon/front_pics/linoone_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Linoone[] = INCBIN_U8("graphics/pokemon/palettes/linoone_palette.gbapal.lz"); +const u8 gMonBackPic_Linoone[] = INCBIN_U8("graphics/pokemon/back_pics/linoone_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Linoone[] = INCBIN_U8("graphics/pokemon/palettes/linoone_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Linoone[] = INCBIN_U8("graphics/pokemon/icons/linoone_icon.4bpp"); +const u8 gMonFootprint_Linoone[] = INCBIN_U8("graphics/pokemon/footprints/linoone_footprint.1bpp"); + +const u8 gMonStillFrontPic_Wurmple[] = INCBIN_U8("graphics/pokemon/front_pics/wurmple_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Wurmple[] = INCBIN_U8("graphics/pokemon/palettes/wurmple_palette.gbapal.lz"); +const u8 gMonBackPic_Wurmple[] = INCBIN_U8("graphics/pokemon/back_pics/wurmple_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Wurmple[] = INCBIN_U8("graphics/pokemon/palettes/wurmple_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Wurmple[] = INCBIN_U8("graphics/pokemon/icons/wurmple_icon.4bpp"); +const u8 gMonFootprint_Wurmple[] = INCBIN_U8("graphics/pokemon/footprints/wurmple_footprint.1bpp"); + +const u8 gMonStillFrontPic_Silcoon[] = INCBIN_U8("graphics/pokemon/front_pics/silcoon_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Silcoon[] = INCBIN_U8("graphics/pokemon/palettes/silcoon_palette.gbapal.lz"); +const u8 gMonBackPic_Silcoon[] = INCBIN_U8("graphics/pokemon/back_pics/silcoon_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Silcoon[] = INCBIN_U8("graphics/pokemon/palettes/silcoon_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Silcoon[] = INCBIN_U8("graphics/pokemon/icons/silcoon_icon.4bpp"); +const u8 gMonFootprint_Silcoon[] = INCBIN_U8("graphics/pokemon/footprints/silcoon_footprint.1bpp"); + +const u8 gMonStillFrontPic_Beautifly[] = INCBIN_U8("graphics/pokemon/front_pics/beautifly_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Beautifly[] = INCBIN_U8("graphics/pokemon/palettes/beautifly_palette.gbapal.lz"); +const u8 gMonBackPic_Beautifly[] = INCBIN_U8("graphics/pokemon/back_pics/beautifly_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Beautifly[] = INCBIN_U8("graphics/pokemon/palettes/beautifly_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Beautifly[] = INCBIN_U8("graphics/pokemon/icons/beautifly_icon.4bpp"); +const u8 gMonFootprint_Beautifly[] = INCBIN_U8("graphics/pokemon/footprints/beautifly_footprint.1bpp"); + +const u8 gMonStillFrontPic_Cascoon[] = INCBIN_U8("graphics/pokemon/front_pics/cascoon_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Cascoon[] = INCBIN_U8("graphics/pokemon/palettes/cascoon_palette.gbapal.lz"); +const u8 gMonBackPic_Cascoon[] = INCBIN_U8("graphics/pokemon/back_pics/cascoon_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Cascoon[] = INCBIN_U8("graphics/pokemon/palettes/cascoon_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Cascoon[] = INCBIN_U8("graphics/pokemon/icons/cascoon_icon.4bpp"); +const u8 gMonFootprint_Cascoon[] = INCBIN_U8("graphics/pokemon/footprints/cascoon_footprint.1bpp"); + +const u8 gMonStillFrontPic_Dustox[] = INCBIN_U8("graphics/pokemon/front_pics/dustox_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Dustox[] = INCBIN_U8("graphics/pokemon/palettes/dustox_palette.gbapal.lz"); +const u8 gMonBackPic_Dustox[] = INCBIN_U8("graphics/pokemon/back_pics/dustox_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Dustox[] = INCBIN_U8("graphics/pokemon/palettes/dustox_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Dustox[] = INCBIN_U8("graphics/pokemon/icons/dustox_icon.4bpp"); +const u8 gMonFootprint_Dustox[] = INCBIN_U8("graphics/pokemon/footprints/dustox_footprint.1bpp"); + +const u8 gMonStillFrontPic_Lotad[] = INCBIN_U8("graphics/pokemon/front_pics/lotad_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Lotad[] = INCBIN_U8("graphics/pokemon/palettes/lotad_palette.gbapal.lz"); +const u8 gMonBackPic_Lotad[] = INCBIN_U8("graphics/pokemon/back_pics/lotad_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Lotad[] = INCBIN_U8("graphics/pokemon/palettes/lotad_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Lotad[] = INCBIN_U8("graphics/pokemon/icons/lotad_icon.4bpp"); +const u8 gMonFootprint_Lotad[] = INCBIN_U8("graphics/pokemon/footprints/lotad_footprint.1bpp"); + +const u8 gMonStillFrontPic_Lombre[] = INCBIN_U8("graphics/pokemon/front_pics/lombre_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Lombre[] = INCBIN_U8("graphics/pokemon/palettes/lombre_palette.gbapal.lz"); +const u8 gMonBackPic_Lombre[] = INCBIN_U8("graphics/pokemon/back_pics/lombre_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Lombre[] = INCBIN_U8("graphics/pokemon/palettes/lombre_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Lombre[] = INCBIN_U8("graphics/pokemon/icons/lombre_icon.4bpp"); +const u8 gMonFootprint_Lombre[] = INCBIN_U8("graphics/pokemon/footprints/lombre_footprint.1bpp"); + +const u8 gMonStillFrontPic_Ludicolo[] = INCBIN_U8("graphics/pokemon/front_pics/ludicolo_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Ludicolo[] = INCBIN_U8("graphics/pokemon/palettes/ludicolo_palette.gbapal.lz"); +const u8 gMonBackPic_Ludicolo[] = INCBIN_U8("graphics/pokemon/back_pics/ludicolo_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Ludicolo[] = INCBIN_U8("graphics/pokemon/palettes/ludicolo_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Ludicolo[] = INCBIN_U8("graphics/pokemon/icons/ludicolo_icon.4bpp"); +const u8 gMonFootprint_Ludicolo[] = INCBIN_U8("graphics/pokemon/footprints/ludicolo_footprint.1bpp"); + +const u8 gMonStillFrontPic_Seedot[] = INCBIN_U8("graphics/pokemon/front_pics/seedot_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Seedot[] = INCBIN_U8("graphics/pokemon/palettes/seedot_palette.gbapal.lz"); +const u8 gMonBackPic_Seedot[] = INCBIN_U8("graphics/pokemon/back_pics/seedot_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Seedot[] = INCBIN_U8("graphics/pokemon/palettes/seedot_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Seedot[] = INCBIN_U8("graphics/pokemon/icons/seedot_icon.4bpp"); +const u8 gMonFootprint_Seedot[] = INCBIN_U8("graphics/pokemon/footprints/seedot_footprint.1bpp"); + +const u8 gMonStillFrontPic_Nuzleaf[] = INCBIN_U8("graphics/pokemon/front_pics/nuzleaf_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Nuzleaf[] = INCBIN_U8("graphics/pokemon/palettes/nuzleaf_palette.gbapal.lz"); +const u8 gMonBackPic_Nuzleaf[] = INCBIN_U8("graphics/pokemon/back_pics/nuzleaf_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Nuzleaf[] = INCBIN_U8("graphics/pokemon/palettes/nuzleaf_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Nuzleaf[] = INCBIN_U8("graphics/pokemon/icons/nuzleaf_icon.4bpp"); +const u8 gMonFootprint_Nuzleaf[] = INCBIN_U8("graphics/pokemon/footprints/nuzleaf_footprint.1bpp"); + +const u8 gMonStillFrontPic_Shiftry[] = INCBIN_U8("graphics/pokemon/front_pics/shiftry_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Shiftry[] = INCBIN_U8("graphics/pokemon/palettes/shiftry_palette.gbapal.lz"); +const u8 gMonBackPic_Shiftry[] = INCBIN_U8("graphics/pokemon/back_pics/shiftry_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Shiftry[] = INCBIN_U8("graphics/pokemon/palettes/shiftry_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Shiftry[] = INCBIN_U8("graphics/pokemon/icons/shiftry_icon.4bpp"); +const u8 gMonFootprint_Shiftry[] = INCBIN_U8("graphics/pokemon/footprints/shiftry_footprint.1bpp"); + +const u8 gMonStillFrontPic_Nincada[] = INCBIN_U8("graphics/pokemon/front_pics/nincada_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Nincada[] = INCBIN_U8("graphics/pokemon/palettes/nincada_palette.gbapal.lz"); +const u8 gMonBackPic_Nincada[] = INCBIN_U8("graphics/pokemon/back_pics/nincada_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Nincada[] = INCBIN_U8("graphics/pokemon/palettes/nincada_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Nincada[] = INCBIN_U8("graphics/pokemon/icons/nincada_icon.4bpp"); +const u8 gMonFootprint_Nincada[] = INCBIN_U8("graphics/pokemon/footprints/nincada_footprint.1bpp"); + +const u8 gMonStillFrontPic_Ninjask[] = INCBIN_U8("graphics/pokemon/front_pics/ninjask_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Ninjask[] = INCBIN_U8("graphics/pokemon/palettes/ninjask_palette.gbapal.lz"); +const u8 gMonBackPic_Ninjask[] = INCBIN_U8("graphics/pokemon/back_pics/ninjask_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Ninjask[] = INCBIN_U8("graphics/pokemon/palettes/ninjask_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Ninjask[] = INCBIN_U8("graphics/pokemon/icons/ninjask_icon.4bpp"); +const u8 gMonFootprint_Ninjask[] = INCBIN_U8("graphics/pokemon/footprints/ninjask_footprint.1bpp"); + +const u8 gMonStillFrontPic_Shedinja[] = INCBIN_U8("graphics/pokemon/front_pics/shedinja_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Shedinja[] = INCBIN_U8("graphics/pokemon/palettes/shedinja_palette.gbapal.lz"); +const u8 gMonBackPic_Shedinja[] = INCBIN_U8("graphics/pokemon/back_pics/shedinja_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Shedinja[] = INCBIN_U8("graphics/pokemon/palettes/shedinja_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Shedinja[] = INCBIN_U8("graphics/pokemon/icons/shedinja_icon.4bpp"); +const u8 gMonFootprint_Shedinja[] = INCBIN_U8("graphics/pokemon/footprints/shedinja_footprint.1bpp"); + +const u8 gMonStillFrontPic_Taillow[] = INCBIN_U8("graphics/pokemon/front_pics/taillow_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Taillow[] = INCBIN_U8("graphics/pokemon/palettes/taillow_palette.gbapal.lz"); +const u8 gMonBackPic_Taillow[] = INCBIN_U8("graphics/pokemon/back_pics/taillow_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Taillow[] = INCBIN_U8("graphics/pokemon/palettes/taillow_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Taillow[] = INCBIN_U8("graphics/pokemon/icons/taillow_icon.4bpp"); +const u8 gMonFootprint_Taillow[] = INCBIN_U8("graphics/pokemon/footprints/taillow_footprint.1bpp"); + +const u8 gMonStillFrontPic_Swellow[] = INCBIN_U8("graphics/pokemon/front_pics/swellow_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Swellow[] = INCBIN_U8("graphics/pokemon/palettes/swellow_palette.gbapal.lz"); +const u8 gMonBackPic_Swellow[] = INCBIN_U8("graphics/pokemon/back_pics/swellow_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Swellow[] = INCBIN_U8("graphics/pokemon/palettes/swellow_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Swellow[] = INCBIN_U8("graphics/pokemon/icons/swellow_icon.4bpp"); +const u8 gMonFootprint_Swellow[] = INCBIN_U8("graphics/pokemon/footprints/swellow_footprint.1bpp"); + +const u8 gMonStillFrontPic_Shroomish[] = INCBIN_U8("graphics/pokemon/front_pics/shroomish_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Shroomish[] = INCBIN_U8("graphics/pokemon/palettes/shroomish_palette.gbapal.lz"); +const u8 gMonBackPic_Shroomish[] = INCBIN_U8("graphics/pokemon/back_pics/shroomish_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Shroomish[] = INCBIN_U8("graphics/pokemon/palettes/shroomish_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Shroomish[] = INCBIN_U8("graphics/pokemon/icons/shroomish_icon.4bpp"); +const u8 gMonFootprint_Shroomish[] = INCBIN_U8("graphics/pokemon/footprints/shroomish_footprint.1bpp"); + +const u8 gMonStillFrontPic_Breloom[] = INCBIN_U8("graphics/pokemon/front_pics/breloom_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Breloom[] = INCBIN_U8("graphics/pokemon/palettes/breloom_palette.gbapal.lz"); +const u8 gMonBackPic_Breloom[] = INCBIN_U8("graphics/pokemon/back_pics/breloom_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Breloom[] = INCBIN_U8("graphics/pokemon/palettes/breloom_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Breloom[] = INCBIN_U8("graphics/pokemon/icons/breloom_icon.4bpp"); +const u8 gMonFootprint_Breloom[] = INCBIN_U8("graphics/pokemon/footprints/breloom_footprint.1bpp"); + +const u8 gMonStillFrontPic_Spinda[] = INCBIN_U8("graphics/pokemon/front_pics/spinda_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Spinda[] = INCBIN_U8("graphics/pokemon/palettes/spinda_palette.gbapal.lz"); +const u8 gMonBackPic_Spinda[] = INCBIN_U8("graphics/pokemon/back_pics/spinda_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Spinda[] = INCBIN_U8("graphics/pokemon/palettes/spinda_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Spinda[] = INCBIN_U8("graphics/pokemon/icons/spinda_icon.4bpp"); +const u8 gMonFootprint_Spinda[] = INCBIN_U8("graphics/pokemon/footprints/spinda_footprint.1bpp"); + +const u8 gMonStillFrontPic_Wingull[] = INCBIN_U8("graphics/pokemon/front_pics/wingull_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Wingull[] = INCBIN_U8("graphics/pokemon/palettes/wingull_palette.gbapal.lz"); +const u8 gMonBackPic_Wingull[] = INCBIN_U8("graphics/pokemon/back_pics/wingull_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Wingull[] = INCBIN_U8("graphics/pokemon/palettes/wingull_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Wingull[] = INCBIN_U8("graphics/pokemon/icons/wingull_icon.4bpp"); +const u8 gMonFootprint_Wingull[] = INCBIN_U8("graphics/pokemon/footprints/wingull_footprint.1bpp"); + +const u8 gMonStillFrontPic_Pelipper[] = INCBIN_U8("graphics/pokemon/front_pics/pelipper_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Pelipper[] = INCBIN_U8("graphics/pokemon/palettes/pelipper_palette.gbapal.lz"); +const u8 gMonBackPic_Pelipper[] = INCBIN_U8("graphics/pokemon/back_pics/pelipper_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Pelipper[] = INCBIN_U8("graphics/pokemon/palettes/pelipper_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Pelipper[] = INCBIN_U8("graphics/pokemon/icons/pelipper_icon.4bpp"); +const u8 gMonFootprint_Pelipper[] = INCBIN_U8("graphics/pokemon/footprints/pelipper_footprint.1bpp"); + +const u8 gMonStillFrontPic_Surskit[] = INCBIN_U8("graphics/pokemon/front_pics/surskit_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Surskit[] = INCBIN_U8("graphics/pokemon/palettes/surskit_palette.gbapal.lz"); +const u8 gMonBackPic_Surskit[] = INCBIN_U8("graphics/pokemon/back_pics/surskit_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Surskit[] = INCBIN_U8("graphics/pokemon/palettes/surskit_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Surskit[] = INCBIN_U8("graphics/pokemon/icons/surskit_icon.4bpp"); +const u8 gMonFootprint_Surskit[] = INCBIN_U8("graphics/pokemon/footprints/surskit_footprint.1bpp"); + +const u8 gMonStillFrontPic_Masquerain[] = INCBIN_U8("graphics/pokemon/front_pics/masquerain_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Masquerain[] = INCBIN_U8("graphics/pokemon/palettes/masquerain_palette.gbapal.lz"); +const u8 gMonBackPic_Masquerain[] = INCBIN_U8("graphics/pokemon/back_pics/masquerain_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Masquerain[] = INCBIN_U8("graphics/pokemon/palettes/masquerain_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Masquerain[] = INCBIN_U8("graphics/pokemon/icons/masquerain_icon.4bpp"); +const u8 gMonFootprint_Masquerain[] = INCBIN_U8("graphics/pokemon/footprints/masquerain_footprint.1bpp"); + +const u8 gMonStillFrontPic_Wailmer[] = INCBIN_U8("graphics/pokemon/front_pics/wailmer_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Wailmer[] = INCBIN_U8("graphics/pokemon/palettes/wailmer_palette.gbapal.lz"); +const u8 gMonBackPic_Wailmer[] = INCBIN_U8("graphics/pokemon/back_pics/wailmer_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Wailmer[] = INCBIN_U8("graphics/pokemon/palettes/wailmer_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Wailmer[] = INCBIN_U8("graphics/pokemon/icons/wailmer_icon.4bpp"); +const u8 gMonFootprint_Wailmer[] = INCBIN_U8("graphics/pokemon/footprints/wailmer_footprint.1bpp"); + +const u8 gMonStillFrontPic_Wailord[] = INCBIN_U8("graphics/pokemon/front_pics/wailord_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Wailord[] = INCBIN_U8("graphics/pokemon/palettes/wailord_palette.gbapal.lz"); +const u8 gMonBackPic_Wailord[] = INCBIN_U8("graphics/pokemon/back_pics/wailord_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Wailord[] = INCBIN_U8("graphics/pokemon/palettes/wailord_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Wailord[] = INCBIN_U8("graphics/pokemon/icons/wailord_icon.4bpp"); +const u8 gMonFootprint_Wailord[] = INCBIN_U8("graphics/pokemon/footprints/wailord_footprint.1bpp"); + +const u8 gMonStillFrontPic_Skitty[] = INCBIN_U8("graphics/pokemon/front_pics/skitty_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Skitty[] = INCBIN_U8("graphics/pokemon/palettes/skitty_palette.gbapal.lz"); +const u8 gMonBackPic_Skitty[] = INCBIN_U8("graphics/pokemon/back_pics/skitty_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Skitty[] = INCBIN_U8("graphics/pokemon/palettes/skitty_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Skitty[] = INCBIN_U8("graphics/pokemon/icons/skitty_icon.4bpp"); +const u8 gMonFootprint_Skitty[] = INCBIN_U8("graphics/pokemon/footprints/skitty_footprint.1bpp"); + +const u8 gMonStillFrontPic_Delcatty[] = INCBIN_U8("graphics/pokemon/front_pics/delcatty_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Delcatty[] = INCBIN_U8("graphics/pokemon/palettes/delcatty_palette.gbapal.lz"); +const u8 gMonBackPic_Delcatty[] = INCBIN_U8("graphics/pokemon/back_pics/delcatty_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Delcatty[] = INCBIN_U8("graphics/pokemon/palettes/delcatty_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Delcatty[] = INCBIN_U8("graphics/pokemon/icons/delcatty_icon.4bpp"); +const u8 gMonFootprint_Delcatty[] = INCBIN_U8("graphics/pokemon/footprints/delcatty_footprint.1bpp"); + +const u8 gMonStillFrontPic_Kecleon[] = INCBIN_U8("graphics/pokemon/front_pics/kecleon_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Kecleon[] = INCBIN_U8("graphics/pokemon/palettes/kecleon_palette.gbapal.lz"); +const u8 gMonBackPic_Kecleon[] = INCBIN_U8("graphics/pokemon/back_pics/kecleon_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Kecleon[] = INCBIN_U8("graphics/pokemon/palettes/kecleon_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Kecleon[] = INCBIN_U8("graphics/pokemon/icons/kecleon_icon.4bpp"); +const u8 gMonFootprint_Kecleon[] = INCBIN_U8("graphics/pokemon/footprints/kecleon_footprint.1bpp"); + +const u8 gMonStillFrontPic_Baltoy[] = INCBIN_U8("graphics/pokemon/front_pics/baltoy_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Baltoy[] = INCBIN_U8("graphics/pokemon/palettes/baltoy_palette.gbapal.lz"); +const u8 gMonBackPic_Baltoy[] = INCBIN_U8("graphics/pokemon/back_pics/baltoy_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Baltoy[] = INCBIN_U8("graphics/pokemon/palettes/baltoy_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Baltoy[] = INCBIN_U8("graphics/pokemon/icons/baltoy_icon.4bpp"); +const u8 gMonFootprint_Baltoy[] = INCBIN_U8("graphics/pokemon/footprints/baltoy_footprint.1bpp"); + +const u8 gMonStillFrontPic_Claydol[] = INCBIN_U8("graphics/pokemon/front_pics/claydol_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Claydol[] = INCBIN_U8("graphics/pokemon/palettes/claydol_palette.gbapal.lz"); +const u8 gMonBackPic_Claydol[] = INCBIN_U8("graphics/pokemon/back_pics/claydol_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Claydol[] = INCBIN_U8("graphics/pokemon/palettes/claydol_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Claydol[] = INCBIN_U8("graphics/pokemon/icons/claydol_icon.4bpp"); +const u8 gMonFootprint_Claydol[] = INCBIN_U8("graphics/pokemon/footprints/claydol_footprint.1bpp"); + +const u8 gMonStillFrontPic_Nosepass[] = INCBIN_U8("graphics/pokemon/front_pics/nosepass_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Nosepass[] = INCBIN_U8("graphics/pokemon/palettes/nosepass_palette.gbapal.lz"); +const u8 gMonBackPic_Nosepass[] = INCBIN_U8("graphics/pokemon/back_pics/nosepass_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Nosepass[] = INCBIN_U8("graphics/pokemon/palettes/nosepass_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Nosepass[] = INCBIN_U8("graphics/pokemon/icons/nosepass_icon.4bpp"); +const u8 gMonFootprint_Nosepass[] = INCBIN_U8("graphics/pokemon/footprints/nosepass_footprint.1bpp"); + +const u8 gMonStillFrontPic_Torkoal[] = INCBIN_U8("graphics/pokemon/front_pics/torkoal_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Torkoal[] = INCBIN_U8("graphics/pokemon/palettes/torkoal_palette.gbapal.lz"); +const u8 gMonBackPic_Torkoal[] = INCBIN_U8("graphics/pokemon/back_pics/torkoal_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Torkoal[] = INCBIN_U8("graphics/pokemon/palettes/torkoal_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Torkoal[] = INCBIN_U8("graphics/pokemon/icons/torkoal_icon.4bpp"); +const u8 gMonFootprint_Torkoal[] = INCBIN_U8("graphics/pokemon/footprints/torkoal_footprint.1bpp"); + +const u8 gMonStillFrontPic_Sableye[] = INCBIN_U8("graphics/pokemon/front_pics/sableye_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Sableye[] = INCBIN_U8("graphics/pokemon/palettes/sableye_palette.gbapal.lz"); +const u8 gMonBackPic_Sableye[] = INCBIN_U8("graphics/pokemon/back_pics/sableye_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Sableye[] = INCBIN_U8("graphics/pokemon/palettes/sableye_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Sableye[] = INCBIN_U8("graphics/pokemon/icons/sableye_icon.4bpp"); +const u8 gMonFootprint_Sableye[] = INCBIN_U8("graphics/pokemon/footprints/sableye_footprint.1bpp"); + +const u8 gMonStillFrontPic_Barboach[] = INCBIN_U8("graphics/pokemon/front_pics/barboach_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Barboach[] = INCBIN_U8("graphics/pokemon/palettes/barboach_palette.gbapal.lz"); +const u8 gMonBackPic_Barboach[] = INCBIN_U8("graphics/pokemon/back_pics/barboach_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Barboach[] = INCBIN_U8("graphics/pokemon/palettes/barboach_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Barboach[] = INCBIN_U8("graphics/pokemon/icons/barboach_icon.4bpp"); +const u8 gMonFootprint_Barboach[] = INCBIN_U8("graphics/pokemon/footprints/barboach_footprint.1bpp"); + +const u8 gMonStillFrontPic_Whiscash[] = INCBIN_U8("graphics/pokemon/front_pics/whiscash_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Whiscash[] = INCBIN_U8("graphics/pokemon/palettes/whiscash_palette.gbapal.lz"); +const u8 gMonBackPic_Whiscash[] = INCBIN_U8("graphics/pokemon/back_pics/whiscash_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Whiscash[] = INCBIN_U8("graphics/pokemon/palettes/whiscash_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Whiscash[] = INCBIN_U8("graphics/pokemon/icons/whiscash_icon.4bpp"); +const u8 gMonFootprint_Whiscash[] = INCBIN_U8("graphics/pokemon/footprints/whiscash_footprint.1bpp"); + +const u8 gMonStillFrontPic_Luvdisc[] = INCBIN_U8("graphics/pokemon/front_pics/luvdisc_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Luvdisc[] = INCBIN_U8("graphics/pokemon/palettes/luvdisc_palette.gbapal.lz"); +const u8 gMonBackPic_Luvdisc[] = INCBIN_U8("graphics/pokemon/back_pics/luvdisc_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Luvdisc[] = INCBIN_U8("graphics/pokemon/palettes/luvdisc_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Luvdisc[] = INCBIN_U8("graphics/pokemon/icons/luvdisc_icon.4bpp"); +const u8 gMonFootprint_Luvdisc[] = INCBIN_U8("graphics/pokemon/footprints/luvdisc_footprint.1bpp"); + +const u8 gMonStillFrontPic_Corphish[] = INCBIN_U8("graphics/pokemon/front_pics/corphish_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Corphish[] = INCBIN_U8("graphics/pokemon/palettes/corphish_palette.gbapal.lz"); +const u8 gMonBackPic_Corphish[] = INCBIN_U8("graphics/pokemon/back_pics/corphish_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Corphish[] = INCBIN_U8("graphics/pokemon/palettes/corphish_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Corphish[] = INCBIN_U8("graphics/pokemon/icons/corphish_icon.4bpp"); +const u8 gMonFootprint_Corphish[] = INCBIN_U8("graphics/pokemon/footprints/corphish_footprint.1bpp"); + +const u8 gMonStillFrontPic_Crawdaunt[] = INCBIN_U8("graphics/pokemon/front_pics/crawdaunt_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Crawdaunt[] = INCBIN_U8("graphics/pokemon/palettes/crawdaunt_palette.gbapal.lz"); +const u8 gMonBackPic_Crawdaunt[] = INCBIN_U8("graphics/pokemon/back_pics/crawdaunt_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Crawdaunt[] = INCBIN_U8("graphics/pokemon/palettes/crawdaunt_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Crawdaunt[] = INCBIN_U8("graphics/pokemon/icons/crawdaunt_icon.4bpp"); +const u8 gMonFootprint_Crawdaunt[] = INCBIN_U8("graphics/pokemon/footprints/crawdaunt_footprint.1bpp"); + +const u8 gMonStillFrontPic_Feebas[] = INCBIN_U8("graphics/pokemon/front_pics/feebas_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Feebas[] = INCBIN_U8("graphics/pokemon/palettes/feebas_palette.gbapal.lz"); +const u8 gMonBackPic_Feebas[] = INCBIN_U8("graphics/pokemon/back_pics/feebas_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Feebas[] = INCBIN_U8("graphics/pokemon/palettes/feebas_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Feebas[] = INCBIN_U8("graphics/pokemon/icons/feebas_icon.4bpp"); +const u8 gMonFootprint_Feebas[] = INCBIN_U8("graphics/pokemon/footprints/feebas_footprint.1bpp"); + +const u8 gMonStillFrontPic_Milotic[] = INCBIN_U8("graphics/pokemon/front_pics/milotic_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Milotic[] = INCBIN_U8("graphics/pokemon/palettes/milotic_palette.gbapal.lz"); +const u8 gMonBackPic_Milotic[] = INCBIN_U8("graphics/pokemon/back_pics/milotic_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Milotic[] = INCBIN_U8("graphics/pokemon/palettes/milotic_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Milotic[] = INCBIN_U8("graphics/pokemon/icons/milotic_icon.4bpp"); +const u8 gMonFootprint_Milotic[] = INCBIN_U8("graphics/pokemon/footprints/milotic_footprint.1bpp"); + +const u8 gMonStillFrontPic_Carvanha[] = INCBIN_U8("graphics/pokemon/front_pics/carvanha_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Carvanha[] = INCBIN_U8("graphics/pokemon/palettes/carvanha_palette.gbapal.lz"); +const u8 gMonBackPic_Carvanha[] = INCBIN_U8("graphics/pokemon/back_pics/carvanha_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Carvanha[] = INCBIN_U8("graphics/pokemon/palettes/carvanha_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Carvanha[] = INCBIN_U8("graphics/pokemon/icons/carvanha_icon.4bpp"); +const u8 gMonFootprint_Carvanha[] = INCBIN_U8("graphics/pokemon/footprints/carvanha_footprint.1bpp"); + +const u8 gMonStillFrontPic_Sharpedo[] = INCBIN_U8("graphics/pokemon/front_pics/sharpedo_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Sharpedo[] = INCBIN_U8("graphics/pokemon/palettes/sharpedo_palette.gbapal.lz"); +const u8 gMonBackPic_Sharpedo[] = INCBIN_U8("graphics/pokemon/back_pics/sharpedo_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Sharpedo[] = INCBIN_U8("graphics/pokemon/palettes/sharpedo_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Sharpedo[] = INCBIN_U8("graphics/pokemon/icons/sharpedo_icon.4bpp"); +const u8 gMonFootprint_Sharpedo[] = INCBIN_U8("graphics/pokemon/footprints/sharpedo_footprint.1bpp"); + +const u8 gMonStillFrontPic_Trapinch[] = INCBIN_U8("graphics/pokemon/front_pics/trapinch_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Trapinch[] = INCBIN_U8("graphics/pokemon/palettes/trapinch_palette.gbapal.lz"); +const u8 gMonBackPic_Trapinch[] = INCBIN_U8("graphics/pokemon/back_pics/trapinch_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Trapinch[] = INCBIN_U8("graphics/pokemon/palettes/trapinch_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Trapinch[] = INCBIN_U8("graphics/pokemon/icons/trapinch_icon.4bpp"); +const u8 gMonFootprint_Trapinch[] = INCBIN_U8("graphics/pokemon/footprints/trapinch_footprint.1bpp"); + +const u8 gMonStillFrontPic_Vibrava[] = INCBIN_U8("graphics/pokemon/front_pics/vibrava_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Vibrava[] = INCBIN_U8("graphics/pokemon/palettes/vibrava_palette.gbapal.lz"); +const u8 gMonBackPic_Vibrava[] = INCBIN_U8("graphics/pokemon/back_pics/vibrava_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Vibrava[] = INCBIN_U8("graphics/pokemon/palettes/vibrava_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Vibrava[] = INCBIN_U8("graphics/pokemon/icons/vibrava_icon.4bpp"); +const u8 gMonFootprint_Vibrava[] = INCBIN_U8("graphics/pokemon/footprints/vibrava_footprint.1bpp"); + +const u8 gMonStillFrontPic_Flygon[] = INCBIN_U8("graphics/pokemon/front_pics/flygon_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Flygon[] = INCBIN_U8("graphics/pokemon/palettes/flygon_palette.gbapal.lz"); +const u8 gMonBackPic_Flygon[] = INCBIN_U8("graphics/pokemon/back_pics/flygon_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Flygon[] = INCBIN_U8("graphics/pokemon/palettes/flygon_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Flygon[] = INCBIN_U8("graphics/pokemon/icons/flygon_icon.4bpp"); +const u8 gMonFootprint_Flygon[] = INCBIN_U8("graphics/pokemon/footprints/flygon_footprint.1bpp"); + +const u8 gMonStillFrontPic_Makuhita[] = INCBIN_U8("graphics/pokemon/front_pics/makuhita_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Makuhita[] = INCBIN_U8("graphics/pokemon/palettes/makuhita_palette.gbapal.lz"); +const u8 gMonBackPic_Makuhita[] = INCBIN_U8("graphics/pokemon/back_pics/makuhita_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Makuhita[] = INCBIN_U8("graphics/pokemon/palettes/makuhita_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Makuhita[] = INCBIN_U8("graphics/pokemon/icons/makuhita_icon.4bpp"); +const u8 gMonFootprint_Makuhita[] = INCBIN_U8("graphics/pokemon/footprints/makuhita_footprint.1bpp"); + +const u8 gMonStillFrontPic_Hariyama[] = INCBIN_U8("graphics/pokemon/front_pics/hariyama_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Hariyama[] = INCBIN_U8("graphics/pokemon/palettes/hariyama_palette.gbapal.lz"); +const u8 gMonBackPic_Hariyama[] = INCBIN_U8("graphics/pokemon/back_pics/hariyama_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Hariyama[] = INCBIN_U8("graphics/pokemon/palettes/hariyama_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Hariyama[] = INCBIN_U8("graphics/pokemon/icons/hariyama_icon.4bpp"); +const u8 gMonFootprint_Hariyama[] = INCBIN_U8("graphics/pokemon/footprints/hariyama_footprint.1bpp"); + +const u8 gMonStillFrontPic_Electrike[] = INCBIN_U8("graphics/pokemon/front_pics/electrike_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Electrike[] = INCBIN_U8("graphics/pokemon/palettes/electrike_palette.gbapal.lz"); +const u8 gMonBackPic_Electrike[] = INCBIN_U8("graphics/pokemon/back_pics/electrike_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Electrike[] = INCBIN_U8("graphics/pokemon/palettes/electrike_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Electrike[] = INCBIN_U8("graphics/pokemon/icons/electrike_icon.4bpp"); +const u8 gMonFootprint_Electrike[] = INCBIN_U8("graphics/pokemon/footprints/electrike_footprint.1bpp"); + +const u8 gMonStillFrontPic_Manectric[] = INCBIN_U8("graphics/pokemon/front_pics/manectric_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Manectric[] = INCBIN_U8("graphics/pokemon/palettes/manectric_palette.gbapal.lz"); +const u8 gMonBackPic_Manectric[] = INCBIN_U8("graphics/pokemon/back_pics/manectric_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Manectric[] = INCBIN_U8("graphics/pokemon/palettes/manectric_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Manectric[] = INCBIN_U8("graphics/pokemon/icons/manectric_icon.4bpp"); +const u8 gMonFootprint_Manectric[] = INCBIN_U8("graphics/pokemon/footprints/manectric_footprint.1bpp"); + +const u8 gMonStillFrontPic_Numel[] = INCBIN_U8("graphics/pokemon/front_pics/numel_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Numel[] = INCBIN_U8("graphics/pokemon/palettes/numel_palette.gbapal.lz"); +const u8 gMonBackPic_Numel[] = INCBIN_U8("graphics/pokemon/back_pics/numel_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Numel[] = INCBIN_U8("graphics/pokemon/palettes/numel_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Numel[] = INCBIN_U8("graphics/pokemon/icons/numel_icon.4bpp"); +const u8 gMonFootprint_Numel[] = INCBIN_U8("graphics/pokemon/footprints/numel_footprint.1bpp"); + +const u8 gMonStillFrontPic_Camerupt[] = INCBIN_U8("graphics/pokemon/front_pics/camerupt_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Camerupt[] = INCBIN_U8("graphics/pokemon/palettes/camerupt_palette.gbapal.lz"); +const u8 gMonBackPic_Camerupt[] = INCBIN_U8("graphics/pokemon/back_pics/camerupt_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Camerupt[] = INCBIN_U8("graphics/pokemon/palettes/camerupt_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Camerupt[] = INCBIN_U8("graphics/pokemon/icons/camerupt_icon.4bpp"); +const u8 gMonFootprint_Camerupt[] = INCBIN_U8("graphics/pokemon/footprints/camerupt_footprint.1bpp"); + +const u8 gMonStillFrontPic_Spheal[] = INCBIN_U8("graphics/pokemon/front_pics/spheal_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Spheal[] = INCBIN_U8("graphics/pokemon/palettes/spheal_palette.gbapal.lz"); +const u8 gMonBackPic_Spheal[] = INCBIN_U8("graphics/pokemon/back_pics/spheal_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Spheal[] = INCBIN_U8("graphics/pokemon/palettes/spheal_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Spheal[] = INCBIN_U8("graphics/pokemon/icons/spheal_icon.4bpp"); +const u8 gMonFootprint_Spheal[] = INCBIN_U8("graphics/pokemon/footprints/spheal_footprint.1bpp"); + +const u8 gMonStillFrontPic_Sealeo[] = INCBIN_U8("graphics/pokemon/front_pics/sealeo_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Sealeo[] = INCBIN_U8("graphics/pokemon/palettes/sealeo_palette.gbapal.lz"); +const u8 gMonBackPic_Sealeo[] = INCBIN_U8("graphics/pokemon/back_pics/sealeo_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Sealeo[] = INCBIN_U8("graphics/pokemon/palettes/sealeo_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Sealeo[] = INCBIN_U8("graphics/pokemon/icons/sealeo_icon.4bpp"); +const u8 gMonFootprint_Sealeo[] = INCBIN_U8("graphics/pokemon/footprints/sealeo_footprint.1bpp"); + +const u8 gMonStillFrontPic_Walrein[] = INCBIN_U8("graphics/pokemon/front_pics/walrein_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Walrein[] = INCBIN_U8("graphics/pokemon/palettes/walrein_palette.gbapal.lz"); +const u8 gMonBackPic_Walrein[] = INCBIN_U8("graphics/pokemon/back_pics/walrein_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Walrein[] = INCBIN_U8("graphics/pokemon/palettes/walrein_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Walrein[] = INCBIN_U8("graphics/pokemon/icons/walrein_icon.4bpp"); +const u8 gMonFootprint_Walrein[] = INCBIN_U8("graphics/pokemon/footprints/walrein_footprint.1bpp"); + +const u8 gMonStillFrontPic_Cacnea[] = INCBIN_U8("graphics/pokemon/front_pics/cacnea_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Cacnea[] = INCBIN_U8("graphics/pokemon/palettes/cacnea_palette.gbapal.lz"); +const u8 gMonBackPic_Cacnea[] = INCBIN_U8("graphics/pokemon/back_pics/cacnea_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Cacnea[] = INCBIN_U8("graphics/pokemon/palettes/cacnea_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Cacnea[] = INCBIN_U8("graphics/pokemon/icons/cacnea_icon.4bpp"); +const u8 gMonFootprint_Cacnea[] = INCBIN_U8("graphics/pokemon/footprints/cacnea_footprint.1bpp"); + +const u8 gMonStillFrontPic_Cacturne[] = INCBIN_U8("graphics/pokemon/front_pics/cacturne_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Cacturne[] = INCBIN_U8("graphics/pokemon/palettes/cacturne_palette.gbapal.lz"); +const u8 gMonBackPic_Cacturne[] = INCBIN_U8("graphics/pokemon/back_pics/cacturne_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Cacturne[] = INCBIN_U8("graphics/pokemon/palettes/cacturne_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Cacturne[] = INCBIN_U8("graphics/pokemon/icons/cacturne_icon.4bpp"); +const u8 gMonFootprint_Cacturne[] = INCBIN_U8("graphics/pokemon/footprints/cacturne_footprint.1bpp"); + +const u8 gMonStillFrontPic_Snorunt[] = INCBIN_U8("graphics/pokemon/front_pics/snorunt_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Snorunt[] = INCBIN_U8("graphics/pokemon/palettes/snorunt_palette.gbapal.lz"); +const u8 gMonBackPic_Snorunt[] = INCBIN_U8("graphics/pokemon/back_pics/snorunt_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Snorunt[] = INCBIN_U8("graphics/pokemon/palettes/snorunt_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Snorunt[] = INCBIN_U8("graphics/pokemon/icons/snorunt_icon.4bpp"); +const u8 gMonFootprint_Snorunt[] = INCBIN_U8("graphics/pokemon/footprints/snorunt_footprint.1bpp"); + +const u8 gMonStillFrontPic_Glalie[] = INCBIN_U8("graphics/pokemon/front_pics/glalie_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Glalie[] = INCBIN_U8("graphics/pokemon/palettes/glalie_palette.gbapal.lz"); +const u8 gMonBackPic_Glalie[] = INCBIN_U8("graphics/pokemon/back_pics/glalie_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Glalie[] = INCBIN_U8("graphics/pokemon/palettes/glalie_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Glalie[] = INCBIN_U8("graphics/pokemon/icons/glalie_icon.4bpp"); +const u8 gMonFootprint_Glalie[] = INCBIN_U8("graphics/pokemon/footprints/glalie_footprint.1bpp"); + +const u8 gMonStillFrontPic_Lunatone[] = INCBIN_U8("graphics/pokemon/front_pics/lunatone_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Lunatone[] = INCBIN_U8("graphics/pokemon/palettes/lunatone_palette.gbapal.lz"); +const u8 gMonBackPic_Lunatone[] = INCBIN_U8("graphics/pokemon/back_pics/lunatone_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Lunatone[] = INCBIN_U8("graphics/pokemon/palettes/lunatone_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Lunatone[] = INCBIN_U8("graphics/pokemon/icons/lunatone_icon.4bpp"); +const u8 gMonFootprint_Lunatone[] = INCBIN_U8("graphics/pokemon/footprints/lunatone_footprint.1bpp"); + +const u8 gMonStillFrontPic_Solrock[] = INCBIN_U8("graphics/pokemon/front_pics/solrock_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Solrock[] = INCBIN_U8("graphics/pokemon/palettes/solrock_palette.gbapal.lz"); +const u8 gMonBackPic_Solrock[] = INCBIN_U8("graphics/pokemon/back_pics/solrock_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Solrock[] = INCBIN_U8("graphics/pokemon/palettes/solrock_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Solrock[] = INCBIN_U8("graphics/pokemon/icons/solrock_icon.4bpp"); +const u8 gMonFootprint_Solrock[] = INCBIN_U8("graphics/pokemon/footprints/solrock_footprint.1bpp"); + +const u8 gMonStillFrontPic_Azurill[] = INCBIN_U8("graphics/pokemon/front_pics/azurill_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Azurill[] = INCBIN_U8("graphics/pokemon/palettes/azurill_palette.gbapal.lz"); +const u8 gMonBackPic_Azurill[] = INCBIN_U8("graphics/pokemon/back_pics/azurill_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Azurill[] = INCBIN_U8("graphics/pokemon/palettes/azurill_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Azurill[] = INCBIN_U8("graphics/pokemon/icons/azurill_icon.4bpp"); +const u8 gMonFootprint_Azurill[] = INCBIN_U8("graphics/pokemon/footprints/azurill_footprint.1bpp"); + +const u8 gMonStillFrontPic_Spoink[] = INCBIN_U8("graphics/pokemon/front_pics/spoink_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Spoink[] = INCBIN_U8("graphics/pokemon/palettes/spoink_palette.gbapal.lz"); +const u8 gMonBackPic_Spoink[] = INCBIN_U8("graphics/pokemon/back_pics/spoink_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Spoink[] = INCBIN_U8("graphics/pokemon/palettes/spoink_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Spoink[] = INCBIN_U8("graphics/pokemon/icons/spoink_icon.4bpp"); +const u8 gMonFootprint_Spoink[] = INCBIN_U8("graphics/pokemon/footprints/spoink_footprint.1bpp"); + +const u8 gMonStillFrontPic_Grumpig[] = INCBIN_U8("graphics/pokemon/front_pics/grumpig_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Grumpig[] = INCBIN_U8("graphics/pokemon/palettes/grumpig_palette.gbapal.lz"); +const u8 gMonBackPic_Grumpig[] = INCBIN_U8("graphics/pokemon/back_pics/grumpig_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Grumpig[] = INCBIN_U8("graphics/pokemon/palettes/grumpig_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Grumpig[] = INCBIN_U8("graphics/pokemon/icons/grumpig_icon.4bpp"); +const u8 gMonFootprint_Grumpig[] = INCBIN_U8("graphics/pokemon/footprints/grumpig_footprint.1bpp"); + +const u8 gMonStillFrontPic_Plusle[] = INCBIN_U8("graphics/pokemon/front_pics/plusle_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Plusle[] = INCBIN_U8("graphics/pokemon/palettes/plusle_palette.gbapal.lz"); +const u8 gMonBackPic_Plusle[] = INCBIN_U8("graphics/pokemon/back_pics/plusle_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Plusle[] = INCBIN_U8("graphics/pokemon/palettes/plusle_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Plusle[] = INCBIN_U8("graphics/pokemon/icons/plusle_icon.4bpp"); +const u8 gMonFootprint_Plusle[] = INCBIN_U8("graphics/pokemon/footprints/plusle_footprint.1bpp"); + +const u8 gMonStillFrontPic_Minun[] = INCBIN_U8("graphics/pokemon/front_pics/minun_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Minun[] = INCBIN_U8("graphics/pokemon/palettes/minun_palette.gbapal.lz"); +const u8 gMonBackPic_Minun[] = INCBIN_U8("graphics/pokemon/back_pics/minun_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Minun[] = INCBIN_U8("graphics/pokemon/palettes/minun_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Minun[] = INCBIN_U8("graphics/pokemon/icons/minun_icon.4bpp"); +const u8 gMonFootprint_Minun[] = INCBIN_U8("graphics/pokemon/footprints/minun_footprint.1bpp"); + +const u8 gMonStillFrontPic_Mawile[] = INCBIN_U8("graphics/pokemon/front_pics/mawile_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Mawile[] = INCBIN_U8("graphics/pokemon/palettes/mawile_palette.gbapal.lz"); +const u8 gMonBackPic_Mawile[] = INCBIN_U8("graphics/pokemon/back_pics/mawile_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Mawile[] = INCBIN_U8("graphics/pokemon/palettes/mawile_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Mawile[] = INCBIN_U8("graphics/pokemon/icons/mawile_icon.4bpp"); +const u8 gMonFootprint_Mawile[] = INCBIN_U8("graphics/pokemon/footprints/mawile_footprint.1bpp"); + +const u8 gMonStillFrontPic_Meditite[] = INCBIN_U8("graphics/pokemon/front_pics/meditite_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Meditite[] = INCBIN_U8("graphics/pokemon/palettes/meditite_palette.gbapal.lz"); +const u8 gMonBackPic_Meditite[] = INCBIN_U8("graphics/pokemon/back_pics/meditite_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Meditite[] = INCBIN_U8("graphics/pokemon/palettes/meditite_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Meditite[] = INCBIN_U8("graphics/pokemon/icons/meditite_icon.4bpp"); +const u8 gMonFootprint_Meditite[] = INCBIN_U8("graphics/pokemon/footprints/meditite_footprint.1bpp"); + +const u8 gMonStillFrontPic_Medicham[] = INCBIN_U8("graphics/pokemon/front_pics/medicham_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Medicham[] = INCBIN_U8("graphics/pokemon/palettes/medicham_palette.gbapal.lz"); +const u8 gMonBackPic_Medicham[] = INCBIN_U8("graphics/pokemon/back_pics/medicham_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Medicham[] = INCBIN_U8("graphics/pokemon/palettes/medicham_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Medicham[] = INCBIN_U8("graphics/pokemon/icons/medicham_icon.4bpp"); +const u8 gMonFootprint_Medicham[] = INCBIN_U8("graphics/pokemon/footprints/medicham_footprint.1bpp"); + +const u8 gMonStillFrontPic_Swablu[] = INCBIN_U8("graphics/pokemon/front_pics/swablu_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Swablu[] = INCBIN_U8("graphics/pokemon/palettes/swablu_palette.gbapal.lz"); +const u8 gMonBackPic_Swablu[] = INCBIN_U8("graphics/pokemon/back_pics/swablu_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Swablu[] = INCBIN_U8("graphics/pokemon/palettes/swablu_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Swablu[] = INCBIN_U8("graphics/pokemon/icons/swablu_icon.4bpp"); +const u8 gMonFootprint_Swablu[] = INCBIN_U8("graphics/pokemon/footprints/swablu_footprint.1bpp"); + +const u8 gMonStillFrontPic_Altaria[] = INCBIN_U8("graphics/pokemon/front_pics/altaria_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Altaria[] = INCBIN_U8("graphics/pokemon/palettes/altaria_palette.gbapal.lz"); +const u8 gMonBackPic_Altaria[] = INCBIN_U8("graphics/pokemon/back_pics/altaria_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Altaria[] = INCBIN_U8("graphics/pokemon/palettes/altaria_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Altaria[] = INCBIN_U8("graphics/pokemon/icons/altaria_icon.4bpp"); +const u8 gMonFootprint_Altaria[] = INCBIN_U8("graphics/pokemon/footprints/altaria_footprint.1bpp"); + +const u8 gMonStillFrontPic_Wynaut[] = INCBIN_U8("graphics/pokemon/front_pics/wynaut_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Wynaut[] = INCBIN_U8("graphics/pokemon/palettes/wynaut_palette.gbapal.lz"); +const u8 gMonBackPic_Wynaut[] = INCBIN_U8("graphics/pokemon/back_pics/wynaut_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Wynaut[] = INCBIN_U8("graphics/pokemon/palettes/wynaut_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Wynaut[] = INCBIN_U8("graphics/pokemon/icons/wynaut_icon.4bpp"); +const u8 gMonFootprint_Wynaut[] = INCBIN_U8("graphics/pokemon/footprints/wynaut_footprint.1bpp"); + +const u8 gMonStillFrontPic_Duskull[] = INCBIN_U8("graphics/pokemon/front_pics/duskull_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Duskull[] = INCBIN_U8("graphics/pokemon/palettes/duskull_palette.gbapal.lz"); +const u8 gMonBackPic_Duskull[] = INCBIN_U8("graphics/pokemon/back_pics/duskull_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Duskull[] = INCBIN_U8("graphics/pokemon/palettes/duskull_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Duskull[] = INCBIN_U8("graphics/pokemon/icons/duskull_icon.4bpp"); +const u8 gMonFootprint_Duskull[] = INCBIN_U8("graphics/pokemon/footprints/duskull_footprint.1bpp"); + +const u8 gMonStillFrontPic_Dusclops[] = INCBIN_U8("graphics/pokemon/front_pics/dusclops_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Dusclops[] = INCBIN_U8("graphics/pokemon/palettes/dusclops_palette.gbapal.lz"); +const u8 gMonBackPic_Dusclops[] = INCBIN_U8("graphics/pokemon/back_pics/dusclops_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Dusclops[] = INCBIN_U8("graphics/pokemon/palettes/dusclops_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Dusclops[] = INCBIN_U8("graphics/pokemon/icons/dusclops_icon.4bpp"); +const u8 gMonFootprint_Dusclops[] = INCBIN_U8("graphics/pokemon/footprints/dusclops_footprint.1bpp"); + +const u8 gMonStillFrontPic_Roselia[] = INCBIN_U8("graphics/pokemon/front_pics/roselia_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Roselia[] = INCBIN_U8("graphics/pokemon/palettes/roselia_palette.gbapal.lz"); +const u8 gMonBackPic_Roselia[] = INCBIN_U8("graphics/pokemon/back_pics/roselia_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Roselia[] = INCBIN_U8("graphics/pokemon/palettes/roselia_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Roselia[] = INCBIN_U8("graphics/pokemon/icons/roselia_icon.4bpp"); +const u8 gMonFootprint_Roselia[] = INCBIN_U8("graphics/pokemon/footprints/roselia_footprint.1bpp"); + +const u8 gMonStillFrontPic_Slakoth[] = INCBIN_U8("graphics/pokemon/front_pics/slakoth_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Slakoth[] = INCBIN_U8("graphics/pokemon/palettes/slakoth_palette.gbapal.lz"); +const u8 gMonBackPic_Slakoth[] = INCBIN_U8("graphics/pokemon/back_pics/slakoth_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Slakoth[] = INCBIN_U8("graphics/pokemon/palettes/slakoth_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Slakoth[] = INCBIN_U8("graphics/pokemon/icons/slakoth_icon.4bpp"); +const u8 gMonFootprint_Slakoth[] = INCBIN_U8("graphics/pokemon/footprints/slakoth_footprint.1bpp"); + +const u8 gMonStillFrontPic_Vigoroth[] = INCBIN_U8("graphics/pokemon/front_pics/vigoroth_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Vigoroth[] = INCBIN_U8("graphics/pokemon/palettes/vigoroth_palette.gbapal.lz"); +const u8 gMonBackPic_Vigoroth[] = INCBIN_U8("graphics/pokemon/back_pics/vigoroth_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Vigoroth[] = INCBIN_U8("graphics/pokemon/palettes/vigoroth_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Vigoroth[] = INCBIN_U8("graphics/pokemon/icons/vigoroth_icon.4bpp"); +const u8 gMonFootprint_Vigoroth[] = INCBIN_U8("graphics/pokemon/footprints/vigoroth_footprint.1bpp"); + +const u8 gMonStillFrontPic_Slaking[] = INCBIN_U8("graphics/pokemon/front_pics/slaking_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Slaking[] = INCBIN_U8("graphics/pokemon/palettes/slaking_palette.gbapal.lz"); +const u8 gMonBackPic_Slaking[] = INCBIN_U8("graphics/pokemon/back_pics/slaking_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Slaking[] = INCBIN_U8("graphics/pokemon/palettes/slaking_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Slaking[] = INCBIN_U8("graphics/pokemon/icons/slaking_icon.4bpp"); +const u8 gMonFootprint_Slaking[] = INCBIN_U8("graphics/pokemon/footprints/slaking_footprint.1bpp"); + +const u8 gMonStillFrontPic_Gulpin[] = INCBIN_U8("graphics/pokemon/front_pics/gulpin_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Gulpin[] = INCBIN_U8("graphics/pokemon/palettes/gulpin_palette.gbapal.lz"); +const u8 gMonBackPic_Gulpin[] = INCBIN_U8("graphics/pokemon/back_pics/gulpin_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Gulpin[] = INCBIN_U8("graphics/pokemon/palettes/gulpin_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Gulpin[] = INCBIN_U8("graphics/pokemon/icons/gulpin_icon.4bpp"); +const u8 gMonFootprint_Gulpin[] = INCBIN_U8("graphics/pokemon/footprints/gulpin_footprint.1bpp"); + +const u8 gMonStillFrontPic_Swalot[] = INCBIN_U8("graphics/pokemon/front_pics/swalot_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Swalot[] = INCBIN_U8("graphics/pokemon/palettes/swalot_palette.gbapal.lz"); +const u8 gMonBackPic_Swalot[] = INCBIN_U8("graphics/pokemon/back_pics/swalot_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Swalot[] = INCBIN_U8("graphics/pokemon/palettes/swalot_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Swalot[] = INCBIN_U8("graphics/pokemon/icons/swalot_icon.4bpp"); +const u8 gMonFootprint_Swalot[] = INCBIN_U8("graphics/pokemon/footprints/swalot_footprint.1bpp"); + +const u8 gMonStillFrontPic_Tropius[] = INCBIN_U8("graphics/pokemon/front_pics/tropius_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Tropius[] = INCBIN_U8("graphics/pokemon/palettes/tropius_palette.gbapal.lz"); +const u8 gMonBackPic_Tropius[] = INCBIN_U8("graphics/pokemon/back_pics/tropius_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Tropius[] = INCBIN_U8("graphics/pokemon/palettes/tropius_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Tropius[] = INCBIN_U8("graphics/pokemon/icons/tropius_icon.4bpp"); +const u8 gMonFootprint_Tropius[] = INCBIN_U8("graphics/pokemon/footprints/tropius_footprint.1bpp"); + +const u8 gMonStillFrontPic_Whismur[] = INCBIN_U8("graphics/pokemon/front_pics/whismur_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Whismur[] = INCBIN_U8("graphics/pokemon/palettes/whismur_palette.gbapal.lz"); +const u8 gMonBackPic_Whismur[] = INCBIN_U8("graphics/pokemon/back_pics/whismur_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Whismur[] = INCBIN_U8("graphics/pokemon/palettes/whismur_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Whismur[] = INCBIN_U8("graphics/pokemon/icons/whismur_icon.4bpp"); +const u8 gMonFootprint_Whismur[] = INCBIN_U8("graphics/pokemon/footprints/whismur_footprint.1bpp"); + +const u8 gMonStillFrontPic_Loudred[] = INCBIN_U8("graphics/pokemon/front_pics/loudred_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Loudred[] = INCBIN_U8("graphics/pokemon/palettes/loudred_palette.gbapal.lz"); +const u8 gMonBackPic_Loudred[] = INCBIN_U8("graphics/pokemon/back_pics/loudred_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Loudred[] = INCBIN_U8("graphics/pokemon/palettes/loudred_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Loudred[] = INCBIN_U8("graphics/pokemon/icons/loudred_icon.4bpp"); +const u8 gMonFootprint_Loudred[] = INCBIN_U8("graphics/pokemon/footprints/loudred_footprint.1bpp"); + +const u8 gMonStillFrontPic_Exploud[] = INCBIN_U8("graphics/pokemon/front_pics/exploud_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Exploud[] = INCBIN_U8("graphics/pokemon/palettes/exploud_palette.gbapal.lz"); +const u8 gMonBackPic_Exploud[] = INCBIN_U8("graphics/pokemon/back_pics/exploud_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Exploud[] = INCBIN_U8("graphics/pokemon/palettes/exploud_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Exploud[] = INCBIN_U8("graphics/pokemon/icons/exploud_icon.4bpp"); +const u8 gMonFootprint_Exploud[] = INCBIN_U8("graphics/pokemon/footprints/exploud_footprint.1bpp"); + +const u8 gMonStillFrontPic_Clamperl[] = INCBIN_U8("graphics/pokemon/front_pics/clamperl_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Clamperl[] = INCBIN_U8("graphics/pokemon/palettes/clamperl_palette.gbapal.lz"); +const u8 gMonBackPic_Clamperl[] = INCBIN_U8("graphics/pokemon/back_pics/clamperl_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Clamperl[] = INCBIN_U8("graphics/pokemon/palettes/clamperl_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Clamperl[] = INCBIN_U8("graphics/pokemon/icons/clamperl_icon.4bpp"); +const u8 gMonFootprint_Clamperl[] = INCBIN_U8("graphics/pokemon/footprints/clamperl_footprint.1bpp"); + +const u8 gMonStillFrontPic_Huntail[] = INCBIN_U8("graphics/pokemon/front_pics/huntail_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Huntail[] = INCBIN_U8("graphics/pokemon/palettes/huntail_palette.gbapal.lz"); +const u8 gMonBackPic_Huntail[] = INCBIN_U8("graphics/pokemon/back_pics/huntail_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Huntail[] = INCBIN_U8("graphics/pokemon/palettes/huntail_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Huntail[] = INCBIN_U8("graphics/pokemon/icons/huntail_icon.4bpp"); +const u8 gMonFootprint_Huntail[] = INCBIN_U8("graphics/pokemon/footprints/huntail_footprint.1bpp"); + +const u8 gMonStillFrontPic_Gorebyss[] = INCBIN_U8("graphics/pokemon/front_pics/gorebyss_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Gorebyss[] = INCBIN_U8("graphics/pokemon/palettes/gorebyss_palette.gbapal.lz"); +const u8 gMonBackPic_Gorebyss[] = INCBIN_U8("graphics/pokemon/back_pics/gorebyss_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Gorebyss[] = INCBIN_U8("graphics/pokemon/palettes/gorebyss_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Gorebyss[] = INCBIN_U8("graphics/pokemon/icons/gorebyss_icon.4bpp"); +const u8 gMonFootprint_Gorebyss[] = INCBIN_U8("graphics/pokemon/footprints/gorebyss_footprint.1bpp"); + +const u8 gMonStillFrontPic_Absol[] = INCBIN_U8("graphics/pokemon/front_pics/absol_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Absol[] = INCBIN_U8("graphics/pokemon/palettes/absol_palette.gbapal.lz"); +const u8 gMonBackPic_Absol[] = INCBIN_U8("graphics/pokemon/back_pics/absol_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Absol[] = INCBIN_U8("graphics/pokemon/palettes/absol_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Absol[] = INCBIN_U8("graphics/pokemon/icons/absol_icon.4bpp"); +const u8 gMonFootprint_Absol[] = INCBIN_U8("graphics/pokemon/footprints/absol_footprint.1bpp"); + +const u8 gMonStillFrontPic_Shuppet[] = INCBIN_U8("graphics/pokemon/front_pics/shuppet_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Shuppet[] = INCBIN_U8("graphics/pokemon/palettes/shuppet_palette.gbapal.lz"); +const u8 gMonBackPic_Shuppet[] = INCBIN_U8("graphics/pokemon/back_pics/shuppet_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Shuppet[] = INCBIN_U8("graphics/pokemon/palettes/shuppet_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Shuppet[] = INCBIN_U8("graphics/pokemon/icons/shuppet_icon.4bpp"); +const u8 gMonFootprint_Shuppet[] = INCBIN_U8("graphics/pokemon/footprints/shuppet_footprint.1bpp"); + +const u8 gMonStillFrontPic_Banette[] = INCBIN_U8("graphics/pokemon/front_pics/banette_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Banette[] = INCBIN_U8("graphics/pokemon/palettes/banette_palette.gbapal.lz"); +const u8 gMonBackPic_Banette[] = INCBIN_U8("graphics/pokemon/back_pics/banette_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Banette[] = INCBIN_U8("graphics/pokemon/palettes/banette_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Banette[] = INCBIN_U8("graphics/pokemon/icons/banette_icon.4bpp"); +const u8 gMonFootprint_Banette[] = INCBIN_U8("graphics/pokemon/footprints/banette_footprint.1bpp"); + +const u8 gMonStillFrontPic_Seviper[] = INCBIN_U8("graphics/pokemon/front_pics/seviper_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Seviper[] = INCBIN_U8("graphics/pokemon/palettes/seviper_palette.gbapal.lz"); +const u8 gMonBackPic_Seviper[] = INCBIN_U8("graphics/pokemon/back_pics/seviper_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Seviper[] = INCBIN_U8("graphics/pokemon/palettes/seviper_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Seviper[] = INCBIN_U8("graphics/pokemon/icons/seviper_icon.4bpp"); +const u8 gMonFootprint_Seviper[] = INCBIN_U8("graphics/pokemon/footprints/seviper_footprint.1bpp"); + +const u8 gMonStillFrontPic_Zangoose[] = INCBIN_U8("graphics/pokemon/front_pics/zangoose_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Zangoose[] = INCBIN_U8("graphics/pokemon/palettes/zangoose_palette.gbapal.lz"); +const u8 gMonBackPic_Zangoose[] = INCBIN_U8("graphics/pokemon/back_pics/zangoose_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Zangoose[] = INCBIN_U8("graphics/pokemon/palettes/zangoose_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Zangoose[] = INCBIN_U8("graphics/pokemon/icons/zangoose_icon.4bpp"); +const u8 gMonFootprint_Zangoose[] = INCBIN_U8("graphics/pokemon/footprints/zangoose_footprint.1bpp"); + +const u8 gMonStillFrontPic_Relicanth[] = INCBIN_U8("graphics/pokemon/front_pics/relicanth_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Relicanth[] = INCBIN_U8("graphics/pokemon/palettes/relicanth_palette.gbapal.lz"); +const u8 gMonBackPic_Relicanth[] = INCBIN_U8("graphics/pokemon/back_pics/relicanth_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Relicanth[] = INCBIN_U8("graphics/pokemon/palettes/relicanth_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Relicanth[] = INCBIN_U8("graphics/pokemon/icons/relicanth_icon.4bpp"); +const u8 gMonFootprint_Relicanth[] = INCBIN_U8("graphics/pokemon/footprints/relicanth_footprint.1bpp"); + +const u8 gMonStillFrontPic_Aron[] = INCBIN_U8("graphics/pokemon/front_pics/aron_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Aron[] = INCBIN_U8("graphics/pokemon/palettes/aron_palette.gbapal.lz"); +const u8 gMonBackPic_Aron[] = INCBIN_U8("graphics/pokemon/back_pics/aron_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Aron[] = INCBIN_U8("graphics/pokemon/palettes/aron_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Aron[] = INCBIN_U8("graphics/pokemon/icons/aron_icon.4bpp"); +const u8 gMonFootprint_Aron[] = INCBIN_U8("graphics/pokemon/footprints/aron_footprint.1bpp"); + +const u8 gMonStillFrontPic_Lairon[] = INCBIN_U8("graphics/pokemon/front_pics/lairon_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Lairon[] = INCBIN_U8("graphics/pokemon/palettes/lairon_palette.gbapal.lz"); +const u8 gMonBackPic_Lairon[] = INCBIN_U8("graphics/pokemon/back_pics/lairon_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Lairon[] = INCBIN_U8("graphics/pokemon/palettes/lairon_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Lairon[] = INCBIN_U8("graphics/pokemon/icons/lairon_icon.4bpp"); +const u8 gMonFootprint_Lairon[] = INCBIN_U8("graphics/pokemon/footprints/lairon_footprint.1bpp"); + +const u8 gMonStillFrontPic_Aggron[] = INCBIN_U8("graphics/pokemon/front_pics/aggron_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Aggron[] = INCBIN_U8("graphics/pokemon/palettes/aggron_palette.gbapal.lz"); +const u8 gMonBackPic_Aggron[] = INCBIN_U8("graphics/pokemon/back_pics/aggron_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Aggron[] = INCBIN_U8("graphics/pokemon/palettes/aggron_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Aggron[] = INCBIN_U8("graphics/pokemon/icons/aggron_icon.4bpp"); +const u8 gMonFootprint_Aggron[] = INCBIN_U8("graphics/pokemon/footprints/aggron_footprint.1bpp"); + +const u8 gMonStillFrontPic_Castform[] = INCBIN_U8("graphics/pokemon/front_pics/castform_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Castform[] = INCBIN_U8("graphics/pokemon/palettes/castform_palette.gbapal.lz"); +const u8 gMonBackPic_Castform[] = INCBIN_U8("graphics/pokemon/back_pics/castform_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Castform[] = INCBIN_U8("graphics/pokemon/palettes/castform_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Castform[] = INCBIN_U8("graphics/pokemon/icons/castform_icon.4bpp"); +const u8 gMonFootprint_Castform[] = INCBIN_U8("graphics/pokemon/footprints/castform_footprint.1bpp"); + +const u8 gMonStillFrontPic_Volbeat[] = INCBIN_U8("graphics/pokemon/front_pics/volbeat_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Volbeat[] = INCBIN_U8("graphics/pokemon/palettes/volbeat_palette.gbapal.lz"); +const u8 gMonBackPic_Volbeat[] = INCBIN_U8("graphics/pokemon/back_pics/volbeat_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Volbeat[] = INCBIN_U8("graphics/pokemon/palettes/volbeat_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Volbeat[] = INCBIN_U8("graphics/pokemon/icons/volbeat_icon.4bpp"); +const u8 gMonFootprint_Volbeat[] = INCBIN_U8("graphics/pokemon/footprints/volbeat_footprint.1bpp"); + +const u8 gMonStillFrontPic_Illumise[] = INCBIN_U8("graphics/pokemon/front_pics/illumise_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Illumise[] = INCBIN_U8("graphics/pokemon/palettes/illumise_palette.gbapal.lz"); +const u8 gMonBackPic_Illumise[] = INCBIN_U8("graphics/pokemon/back_pics/illumise_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Illumise[] = INCBIN_U8("graphics/pokemon/palettes/illumise_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Illumise[] = INCBIN_U8("graphics/pokemon/icons/illumise_icon.4bpp"); +const u8 gMonFootprint_Illumise[] = INCBIN_U8("graphics/pokemon/footprints/illumise_footprint.1bpp"); + +const u8 gMonStillFrontPic_Lileep[] = INCBIN_U8("graphics/pokemon/front_pics/lileep_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Lileep[] = INCBIN_U8("graphics/pokemon/palettes/lileep_palette.gbapal.lz"); +const u8 gMonBackPic_Lileep[] = INCBIN_U8("graphics/pokemon/back_pics/lileep_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Lileep[] = INCBIN_U8("graphics/pokemon/palettes/lileep_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Lileep[] = INCBIN_U8("graphics/pokemon/icons/lileep_icon.4bpp"); +const u8 gMonFootprint_Lileep[] = INCBIN_U8("graphics/pokemon/footprints/lileep_footprint.1bpp"); + +const u8 gMonStillFrontPic_Cradily[] = INCBIN_U8("graphics/pokemon/front_pics/cradily_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Cradily[] = INCBIN_U8("graphics/pokemon/palettes/cradily_palette.gbapal.lz"); +const u8 gMonBackPic_Cradily[] = INCBIN_U8("graphics/pokemon/back_pics/cradily_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Cradily[] = INCBIN_U8("graphics/pokemon/palettes/cradily_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Cradily[] = INCBIN_U8("graphics/pokemon/icons/cradily_icon.4bpp"); +const u8 gMonFootprint_Cradily[] = INCBIN_U8("graphics/pokemon/footprints/cradily_footprint.1bpp"); + +const u8 gMonStillFrontPic_Anorith[] = INCBIN_U8("graphics/pokemon/front_pics/anorith_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Anorith[] = INCBIN_U8("graphics/pokemon/palettes/anorith_palette.gbapal.lz"); +const u8 gMonBackPic_Anorith[] = INCBIN_U8("graphics/pokemon/back_pics/anorith_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Anorith[] = INCBIN_U8("graphics/pokemon/palettes/anorith_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Anorith[] = INCBIN_U8("graphics/pokemon/icons/anorith_icon.4bpp"); +const u8 gMonFootprint_Anorith[] = INCBIN_U8("graphics/pokemon/footprints/anorith_footprint.1bpp"); + +const u8 gMonStillFrontPic_Armaldo[] = INCBIN_U8("graphics/pokemon/front_pics/armaldo_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Armaldo[] = INCBIN_U8("graphics/pokemon/palettes/armaldo_palette.gbapal.lz"); +const u8 gMonBackPic_Armaldo[] = INCBIN_U8("graphics/pokemon/back_pics/armaldo_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Armaldo[] = INCBIN_U8("graphics/pokemon/palettes/armaldo_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Armaldo[] = INCBIN_U8("graphics/pokemon/icons/armaldo_icon.4bpp"); +const u8 gMonFootprint_Armaldo[] = INCBIN_U8("graphics/pokemon/footprints/armaldo_footprint.1bpp"); + +const u8 gMonStillFrontPic_Ralts[] = INCBIN_U8("graphics/pokemon/front_pics/ralts_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Ralts[] = INCBIN_U8("graphics/pokemon/palettes/ralts_palette.gbapal.lz"); +const u8 gMonBackPic_Ralts[] = INCBIN_U8("graphics/pokemon/back_pics/ralts_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Ralts[] = INCBIN_U8("graphics/pokemon/palettes/ralts_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Ralts[] = INCBIN_U8("graphics/pokemon/icons/ralts_icon.4bpp"); +const u8 gMonFootprint_Ralts[] = INCBIN_U8("graphics/pokemon/footprints/ralts_footprint.1bpp"); + +const u8 gMonStillFrontPic_Kirlia[] = INCBIN_U8("graphics/pokemon/front_pics/kirlia_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Kirlia[] = INCBIN_U8("graphics/pokemon/palettes/kirlia_palette.gbapal.lz"); +const u8 gMonBackPic_Kirlia[] = INCBIN_U8("graphics/pokemon/back_pics/kirlia_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Kirlia[] = INCBIN_U8("graphics/pokemon/palettes/kirlia_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Kirlia[] = INCBIN_U8("graphics/pokemon/icons/kirlia_icon.4bpp"); +const u8 gMonFootprint_Kirlia[] = INCBIN_U8("graphics/pokemon/footprints/kirlia_footprint.1bpp"); + +const u8 gMonStillFrontPic_Gardevoir[] = INCBIN_U8("graphics/pokemon/front_pics/gardevoir_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Gardevoir[] = INCBIN_U8("graphics/pokemon/palettes/gardevoir_palette.gbapal.lz"); +const u8 gMonBackPic_Gardevoir[] = INCBIN_U8("graphics/pokemon/back_pics/gardevoir_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Gardevoir[] = INCBIN_U8("graphics/pokemon/palettes/gardevoir_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Gardevoir[] = INCBIN_U8("graphics/pokemon/icons/gardevoir_icon.4bpp"); +const u8 gMonFootprint_Gardevoir[] = INCBIN_U8("graphics/pokemon/footprints/gardevoir_footprint.1bpp"); + +const u8 gMonStillFrontPic_Bagon[] = INCBIN_U8("graphics/pokemon/front_pics/bagon_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Bagon[] = INCBIN_U8("graphics/pokemon/palettes/bagon_palette.gbapal.lz"); +const u8 gMonBackPic_Bagon[] = INCBIN_U8("graphics/pokemon/back_pics/bagon_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Bagon[] = INCBIN_U8("graphics/pokemon/palettes/bagon_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Bagon[] = INCBIN_U8("graphics/pokemon/icons/bagon_icon.4bpp"); +const u8 gMonFootprint_Bagon[] = INCBIN_U8("graphics/pokemon/footprints/bagon_footprint.1bpp"); + +const u8 gMonStillFrontPic_Shelgon[] = INCBIN_U8("graphics/pokemon/front_pics/shelgon_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Shelgon[] = INCBIN_U8("graphics/pokemon/palettes/shelgon_palette.gbapal.lz"); +const u8 gMonBackPic_Shelgon[] = INCBIN_U8("graphics/pokemon/back_pics/shelgon_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Shelgon[] = INCBIN_U8("graphics/pokemon/palettes/shelgon_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Shelgon[] = INCBIN_U8("graphics/pokemon/icons/shelgon_icon.4bpp"); +const u8 gMonFootprint_Shelgon[] = INCBIN_U8("graphics/pokemon/footprints/shelgon_footprint.1bpp"); + +const u8 gMonStillFrontPic_Salamence[] = INCBIN_U8("graphics/pokemon/front_pics/salamence_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Salamence[] = INCBIN_U8("graphics/pokemon/palettes/salamence_palette.gbapal.lz"); +const u8 gMonBackPic_Salamence[] = INCBIN_U8("graphics/pokemon/back_pics/salamence_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Salamence[] = INCBIN_U8("graphics/pokemon/palettes/salamence_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Salamence[] = INCBIN_U8("graphics/pokemon/icons/salamence_icon.4bpp"); +const u8 gMonFootprint_Salamence[] = INCBIN_U8("graphics/pokemon/footprints/salamence_footprint.1bpp"); + +const u8 gMonStillFrontPic_Beldum[] = INCBIN_U8("graphics/pokemon/front_pics/beldum_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Beldum[] = INCBIN_U8("graphics/pokemon/palettes/beldum_palette.gbapal.lz"); +const u8 gMonBackPic_Beldum[] = INCBIN_U8("graphics/pokemon/back_pics/beldum_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Beldum[] = INCBIN_U8("graphics/pokemon/palettes/beldum_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Beldum[] = INCBIN_U8("graphics/pokemon/icons/beldum_icon.4bpp"); +const u8 gMonFootprint_Beldum[] = INCBIN_U8("graphics/pokemon/footprints/beldum_footprint.1bpp"); + +const u8 gMonStillFrontPic_Metang[] = INCBIN_U8("graphics/pokemon/front_pics/metang_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Metang[] = INCBIN_U8("graphics/pokemon/palettes/metang_palette.gbapal.lz"); +const u8 gMonBackPic_Metang[] = INCBIN_U8("graphics/pokemon/back_pics/metang_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Metang[] = INCBIN_U8("graphics/pokemon/palettes/metang_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Metang[] = INCBIN_U8("graphics/pokemon/icons/metang_icon.4bpp"); +const u8 gMonFootprint_Metang[] = INCBIN_U8("graphics/pokemon/footprints/metang_footprint.1bpp"); + +const u8 gMonStillFrontPic_Metagross[] = INCBIN_U8("graphics/pokemon/front_pics/metagross_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Metagross[] = INCBIN_U8("graphics/pokemon/palettes/metagross_palette.gbapal.lz"); +const u8 gMonBackPic_Metagross[] = INCBIN_U8("graphics/pokemon/back_pics/metagross_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Metagross[] = INCBIN_U8("graphics/pokemon/palettes/metagross_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Metagross[] = INCBIN_U8("graphics/pokemon/icons/metagross_icon.4bpp"); +const u8 gMonFootprint_Metagross[] = INCBIN_U8("graphics/pokemon/footprints/metagross_footprint.1bpp"); + +const u8 gMonStillFrontPic_Regirock[] = INCBIN_U8("graphics/pokemon/front_pics/regirock_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Regirock[] = INCBIN_U8("graphics/pokemon/palettes/regirock_palette.gbapal.lz"); +const u8 gMonBackPic_Regirock[] = INCBIN_U8("graphics/pokemon/back_pics/regirock_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Regirock[] = INCBIN_U8("graphics/pokemon/palettes/regirock_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Regirock[] = INCBIN_U8("graphics/pokemon/icons/regirock_icon.4bpp"); +const u8 gMonFootprint_Regirock[] = INCBIN_U8("graphics/pokemon/footprints/regirock_footprint.1bpp"); + +const u8 gMonStillFrontPic_Regice[] = INCBIN_U8("graphics/pokemon/front_pics/regice_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Regice[] = INCBIN_U8("graphics/pokemon/palettes/regice_palette.gbapal.lz"); +const u8 gMonBackPic_Regice[] = INCBIN_U8("graphics/pokemon/back_pics/regice_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Regice[] = INCBIN_U8("graphics/pokemon/palettes/regice_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Regice[] = INCBIN_U8("graphics/pokemon/icons/regice_icon.4bpp"); +const u8 gMonFootprint_Regice[] = INCBIN_U8("graphics/pokemon/footprints/regice_footprint.1bpp"); + +const u8 gMonStillFrontPic_Registeel[] = INCBIN_U8("graphics/pokemon/front_pics/registeel_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Registeel[] = INCBIN_U8("graphics/pokemon/palettes/registeel_palette.gbapal.lz"); +const u8 gMonBackPic_Registeel[] = INCBIN_U8("graphics/pokemon/back_pics/registeel_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Registeel[] = INCBIN_U8("graphics/pokemon/palettes/registeel_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Registeel[] = INCBIN_U8("graphics/pokemon/icons/registeel_icon.4bpp"); +const u8 gMonFootprint_Registeel[] = INCBIN_U8("graphics/pokemon/footprints/registeel_footprint.1bpp"); + +const u8 gMonStillFrontPic_Kyogre[] = INCBIN_U8("graphics/pokemon/front_pics/kyogre_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Kyogre[] = INCBIN_U8("graphics/pokemon/palettes/kyogre_palette.gbapal.lz"); +const u8 gMonBackPic_Kyogre[] = INCBIN_U8("graphics/pokemon/back_pics/kyogre_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Kyogre[] = INCBIN_U8("graphics/pokemon/palettes/kyogre_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Kyogre[] = INCBIN_U8("graphics/pokemon/icons/kyogre_icon.4bpp"); +const u8 gMonFootprint_Kyogre[] = INCBIN_U8("graphics/pokemon/footprints/kyogre_footprint.1bpp"); + +const u8 gMonStillFrontPic_Groudon[] = INCBIN_U8("graphics/pokemon/front_pics/groudon_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Groudon[] = INCBIN_U8("graphics/pokemon/palettes/groudon_palette.gbapal.lz"); +const u8 gMonBackPic_Groudon[] = INCBIN_U8("graphics/pokemon/back_pics/groudon_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Groudon[] = INCBIN_U8("graphics/pokemon/palettes/groudon_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Groudon[] = INCBIN_U8("graphics/pokemon/icons/groudon_icon.4bpp"); +const u8 gMonFootprint_Groudon[] = INCBIN_U8("graphics/pokemon/footprints/groudon_footprint.1bpp"); + +const u8 gMonStillFrontPic_Rayquaza[] = INCBIN_U8("graphics/pokemon/front_pics/rayquaza_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Rayquaza[] = INCBIN_U8("graphics/pokemon/palettes/rayquaza_palette.gbapal.lz"); +const u8 gMonBackPic_Rayquaza[] = INCBIN_U8("graphics/pokemon/back_pics/rayquaza_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Rayquaza[] = INCBIN_U8("graphics/pokemon/palettes/rayquaza_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Rayquaza[] = INCBIN_U8("graphics/pokemon/icons/rayquaza_icon.4bpp"); +const u8 gMonFootprint_Rayquaza[] = INCBIN_U8("graphics/pokemon/footprints/rayquaza_footprint.1bpp"); + +const u8 gMonStillFrontPic_Latias[] = INCBIN_U8("graphics/pokemon/front_pics/latias_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Latias[] = INCBIN_U8("graphics/pokemon/palettes/latias_palette.gbapal.lz"); +const u8 gMonBackPic_Latias[] = INCBIN_U8("graphics/pokemon/back_pics/latias_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Latias[] = INCBIN_U8("graphics/pokemon/palettes/latias_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Latias[] = INCBIN_U8("graphics/pokemon/icons/latias_icon.4bpp"); +const u8 gMonFootprint_Latias[] = INCBIN_U8("graphics/pokemon/footprints/latias_footprint.1bpp"); + +const u8 gMonStillFrontPic_Latios[] = INCBIN_U8("graphics/pokemon/front_pics/latios_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Latios[] = INCBIN_U8("graphics/pokemon/palettes/latios_palette.gbapal.lz"); +const u8 gMonBackPic_Latios[] = INCBIN_U8("graphics/pokemon/back_pics/latios_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Latios[] = INCBIN_U8("graphics/pokemon/palettes/latios_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Latios[] = INCBIN_U8("graphics/pokemon/icons/latios_icon.4bpp"); +const u8 gMonFootprint_Latios[] = INCBIN_U8("graphics/pokemon/footprints/latios_footprint.1bpp"); + +const u8 gMonStillFrontPic_Jirachi[] = INCBIN_U8("graphics/pokemon/front_pics/jirachi_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Jirachi[] = INCBIN_U8("graphics/pokemon/palettes/jirachi_palette.gbapal.lz"); +const u8 gMonBackPic_Jirachi[] = INCBIN_U8("graphics/pokemon/back_pics/jirachi_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Jirachi[] = INCBIN_U8("graphics/pokemon/palettes/jirachi_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Jirachi[] = INCBIN_U8("graphics/pokemon/icons/jirachi_icon.4bpp"); +const u8 gMonFootprint_Jirachi[] = INCBIN_U8("graphics/pokemon/footprints/jirachi_footprint.1bpp"); + +const u8 gMonStillFrontPic_Deoxys[] = INCBIN_U8("graphics/pokemon/front_pics/deoxys_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Deoxys[] = INCBIN_U8("graphics/pokemon/palettes/deoxys_palette.gbapal.lz"); +const u8 gMonBackPic_Deoxys[] = INCBIN_U8("graphics/pokemon/back_pics/deoxys_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Deoxys[] = INCBIN_U8("graphics/pokemon/palettes/deoxys_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Deoxys[] = INCBIN_U8("graphics/pokemon/icons/deoxys_icon.4bpp"); +const u8 gMonIcon_DeoxysSpeed[] = INCBIN_U8("graphics/pokemon/icons/deoxys_speed_icon.4bpp"); +const u8 gMonIcon_DeoxysSpeedWide[] = INCBIN_U8("graphics/unused/deoxys_speed_icon_wide.4bpp"); + +asm(".space 0x6800"); + +const u16 gUnknown_D437F8[] = INCBIN_U16("graphics/unknown/unknown_D437F8.bin"); + +const u8 gMonFootprint_Deoxys[] = INCBIN_U8("graphics/pokemon/footprints/deoxys_footprint.1bpp"); + +const u8 gMonStillFrontPic_Chimecho[] = INCBIN_U8("graphics/pokemon/front_pics/chimecho_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Chimecho[] = INCBIN_U8("graphics/pokemon/palettes/chimecho_palette.gbapal.lz"); +const u8 gMonBackPic_Chimecho[] = INCBIN_U8("graphics/pokemon/back_pics/chimecho_back_pic.4bpp.lz"); +const u8 gMonShinyPalette_Chimecho[] = INCBIN_U8("graphics/pokemon/palettes/chimecho_shiny_palette.gbapal.lz"); +const u8 gMonIcon_Chimecho[] = INCBIN_U8("graphics/pokemon/icons/chimecho_icon.4bpp"); +const u8 gMonFootprint_Chimecho[] = INCBIN_U8("graphics/pokemon/footprints/chimecho_footprint.1bpp"); + +const u8 gMonStillFrontPic_Egg[] = INCBIN_U8("graphics/pokemon/front_pics/egg_still_front_pic.4bpp.lz"); +const u8 gMonPalette_Egg[] = INCBIN_U8("graphics/pokemon/palettes/egg_palette.gbapal.lz"); + +const u8 gMonStillFrontPic_UnownB[] = INCBIN_U8("graphics/pokemon/front_pics/unown_b_still_front_pic.4bpp.lz"); +const u8 gMonBackPic_UnownB[] = INCBIN_U8("graphics/pokemon/back_pics/unown_b_back_pic.4bpp.lz"); +const u8 gMonIcon_UnownB[] = INCBIN_U8("graphics/pokemon/icons/unown_B_icon.4bpp"); + +const u8 gMonStillFrontPic_UnownC[] = INCBIN_U8("graphics/pokemon/front_pics/unown_c_still_front_pic.4bpp.lz"); +const u8 gMonBackPic_UnownC[] = INCBIN_U8("graphics/pokemon/back_pics/unown_c_back_pic.4bpp.lz"); +const u8 gMonIcon_UnownC[] = INCBIN_U8("graphics/pokemon/icons/unown_C_icon.4bpp"); + +const u8 gMonStillFrontPic_UnownD[] = INCBIN_U8("graphics/pokemon/front_pics/unown_d_still_front_pic.4bpp.lz"); +const u8 gMonBackPic_UnownD[] = INCBIN_U8("graphics/pokemon/back_pics/unown_d_back_pic.4bpp.lz"); +const u8 gMonIcon_UnownD[] = INCBIN_U8("graphics/pokemon/icons/unown_D_icon.4bpp"); + +const u8 gMonStillFrontPic_UnownE[] = INCBIN_U8("graphics/pokemon/front_pics/unown_e_still_front_pic.4bpp.lz"); +const u8 gMonBackPic_UnownE[] = INCBIN_U8("graphics/pokemon/back_pics/unown_e_back_pic.4bpp.lz"); +const u8 gMonIcon_UnownE[] = INCBIN_U8("graphics/pokemon/icons/unown_E_icon.4bpp"); + +const u8 gMonStillFrontPic_UnownF[] = INCBIN_U8("graphics/pokemon/front_pics/unown_f_still_front_pic.4bpp.lz"); +const u8 gMonBackPic_UnownF[] = INCBIN_U8("graphics/pokemon/back_pics/unown_f_back_pic.4bpp.lz"); +const u8 gMonIcon_UnownF[] = INCBIN_U8("graphics/pokemon/icons/unown_F_icon.4bpp"); + +const u8 gMonStillFrontPic_UnownG[] = INCBIN_U8("graphics/pokemon/front_pics/unown_g_still_front_pic.4bpp.lz"); +const u8 gMonBackPic_UnownG[] = INCBIN_U8("graphics/pokemon/back_pics/unown_g_back_pic.4bpp.lz"); +const u8 gMonIcon_UnownG[] = INCBIN_U8("graphics/pokemon/icons/unown_G_icon.4bpp"); + +const u8 gMonStillFrontPic_UnownH[] = INCBIN_U8("graphics/pokemon/front_pics/unown_h_still_front_pic.4bpp.lz"); +const u8 gMonBackPic_UnownH[] = INCBIN_U8("graphics/pokemon/back_pics/unown_h_back_pic.4bpp.lz"); +const u8 gMonIcon_UnownH[] = INCBIN_U8("graphics/pokemon/icons/unown_H_icon.4bpp"); + +const u8 gMonStillFrontPic_UnownI[] = INCBIN_U8("graphics/pokemon/front_pics/unown_i_still_front_pic.4bpp.lz"); +const u8 gMonBackPic_UnownI[] = INCBIN_U8("graphics/pokemon/back_pics/unown_i_back_pic.4bpp.lz"); +const u8 gMonIcon_UnownI[] = INCBIN_U8("graphics/pokemon/icons/unown_I_icon.4bpp"); + +const u8 gMonStillFrontPic_UnownJ[] = INCBIN_U8("graphics/pokemon/front_pics/unown_j_still_front_pic.4bpp.lz"); +const u8 gMonBackPic_UnownJ[] = INCBIN_U8("graphics/pokemon/back_pics/unown_j_back_pic.4bpp.lz"); +const u8 gMonIcon_UnownJ[] = INCBIN_U8("graphics/pokemon/icons/unown_J_icon.4bpp"); + +const u8 gMonStillFrontPic_UnownK[] = INCBIN_U8("graphics/pokemon/front_pics/unown_k_still_front_pic.4bpp.lz"); +const u8 gMonBackPic_UnownK[] = INCBIN_U8("graphics/pokemon/back_pics/unown_k_back_pic.4bpp.lz"); +const u8 gMonIcon_UnownK[] = INCBIN_U8("graphics/pokemon/icons/unown_K_icon.4bpp"); + +const u8 gMonStillFrontPic_UnownL[] = INCBIN_U8("graphics/pokemon/front_pics/unown_l_still_front_pic.4bpp.lz"); +const u8 gMonBackPic_UnownL[] = INCBIN_U8("graphics/pokemon/back_pics/unown_l_back_pic.4bpp.lz"); +const u8 gMonIcon_UnownL[] = INCBIN_U8("graphics/pokemon/icons/unown_L_icon.4bpp"); + +const u8 gMonStillFrontPic_UnownM[] = INCBIN_U8("graphics/pokemon/front_pics/unown_m_still_front_pic.4bpp.lz"); +const u8 gMonBackPic_UnownM[] = INCBIN_U8("graphics/pokemon/back_pics/unown_m_back_pic.4bpp.lz"); +const u8 gMonIcon_UnownM[] = INCBIN_U8("graphics/pokemon/icons/unown_M_icon.4bpp"); + +const u8 gMonStillFrontPic_UnownN[] = INCBIN_U8("graphics/pokemon/front_pics/unown_n_still_front_pic.4bpp.lz"); +const u8 gMonBackPic_UnownN[] = INCBIN_U8("graphics/pokemon/back_pics/unown_n_back_pic.4bpp.lz"); +const u8 gMonIcon_UnownN[] = INCBIN_U8("graphics/pokemon/icons/unown_N_icon.4bpp"); + +const u8 gMonStillFrontPic_UnownO[] = INCBIN_U8("graphics/pokemon/front_pics/unown_o_still_front_pic.4bpp.lz"); +const u8 gMonBackPic_UnownO[] = INCBIN_U8("graphics/pokemon/back_pics/unown_o_back_pic.4bpp.lz"); +const u8 gMonIcon_UnownO[] = INCBIN_U8("graphics/pokemon/icons/unown_O_icon.4bpp"); + +const u8 gMonStillFrontPic_UnownP[] = INCBIN_U8("graphics/pokemon/front_pics/unown_p_still_front_pic.4bpp.lz"); +const u8 gMonBackPic_UnownP[] = INCBIN_U8("graphics/pokemon/back_pics/unown_p_back_pic.4bpp.lz"); +const u8 gMonIcon_UnownP[] = INCBIN_U8("graphics/pokemon/icons/unown_P_icon.4bpp"); + +const u8 gMonStillFrontPic_UnownQ[] = INCBIN_U8("graphics/pokemon/front_pics/unown_q_still_front_pic.4bpp.lz"); +const u8 gMonBackPic_UnownQ[] = INCBIN_U8("graphics/pokemon/back_pics/unown_q_back_pic.4bpp.lz"); +const u8 gMonIcon_UnownQ[] = INCBIN_U8("graphics/pokemon/icons/unown_Q_icon.4bpp"); + +const u8 gMonStillFrontPic_UnownR[] = INCBIN_U8("graphics/pokemon/front_pics/unown_r_still_front_pic.4bpp.lz"); +const u8 gMonBackPic_UnownR[] = INCBIN_U8("graphics/pokemon/back_pics/unown_r_back_pic.4bpp.lz"); +const u8 gMonIcon_UnownR[] = INCBIN_U8("graphics/pokemon/icons/unown_R_icon.4bpp"); + +const u8 gMonStillFrontPic_UnownS[] = INCBIN_U8("graphics/pokemon/front_pics/unown_s_still_front_pic.4bpp.lz"); +const u8 gMonBackPic_UnownS[] = INCBIN_U8("graphics/pokemon/back_pics/unown_s_back_pic.4bpp.lz"); +const u8 gMonIcon_UnownS[] = INCBIN_U8("graphics/pokemon/icons/unown_S_icon.4bpp"); + +const u8 gMonStillFrontPic_UnownT[] = INCBIN_U8("graphics/pokemon/front_pics/unown_t_still_front_pic.4bpp.lz"); +const u8 gMonBackPic_UnownT[] = INCBIN_U8("graphics/pokemon/back_pics/unown_t_back_pic.4bpp.lz"); +const u8 gMonIcon_UnownT[] = INCBIN_U8("graphics/pokemon/icons/unown_T_icon.4bpp"); + +const u8 gMonStillFrontPic_UnownU[] = INCBIN_U8("graphics/pokemon/front_pics/unown_u_still_front_pic.4bpp.lz"); +const u8 gMonBackPic_UnownU[] = INCBIN_U8("graphics/pokemon/back_pics/unown_u_back_pic.4bpp.lz"); +const u8 gMonIcon_UnownU[] = INCBIN_U8("graphics/pokemon/icons/unown_U_icon.4bpp"); + +const u8 gMonStillFrontPic_UnownV[] = INCBIN_U8("graphics/pokemon/front_pics/unown_v_still_front_pic.4bpp.lz"); +const u8 gMonBackPic_UnownV[] = INCBIN_U8("graphics/pokemon/back_pics/unown_v_back_pic.4bpp.lz"); +const u8 gMonIcon_UnownV[] = INCBIN_U8("graphics/pokemon/icons/unown_V_icon.4bpp"); + +const u8 gMonStillFrontPic_UnownW[] = INCBIN_U8("graphics/pokemon/front_pics/unown_w_still_front_pic.4bpp.lz"); +const u8 gMonBackPic_UnownW[] = INCBIN_U8("graphics/pokemon/back_pics/unown_w_back_pic.4bpp.lz"); +const u8 gMonIcon_UnownW[] = INCBIN_U8("graphics/pokemon/icons/unown_W_icon.4bpp"); + +const u8 gMonStillFrontPic_UnownX[] = INCBIN_U8("graphics/pokemon/front_pics/unown_x_still_front_pic.4bpp.lz"); +const u8 gMonBackPic_UnownX[] = INCBIN_U8("graphics/pokemon/back_pics/unown_x_back_pic.4bpp.lz"); +const u8 gMonIcon_UnownX[] = INCBIN_U8("graphics/pokemon/icons/unown_X_icon.4bpp"); + +const u8 gMonStillFrontPic_UnownY[] = INCBIN_U8("graphics/pokemon/front_pics/unown_y_still_front_pic.4bpp.lz"); +const u8 gMonBackPic_UnownY[] = INCBIN_U8("graphics/pokemon/back_pics/unown_y_back_pic.4bpp.lz"); +const u8 gMonIcon_UnownY[] = INCBIN_U8("graphics/pokemon/icons/unown_Y_icon.4bpp"); + +const u8 gMonStillFrontPic_UnownZ[] = INCBIN_U8("graphics/pokemon/front_pics/unown_z_still_front_pic.4bpp.lz"); +const u8 gMonBackPic_UnownZ[] = INCBIN_U8("graphics/pokemon/back_pics/unown_z_back_pic.4bpp.lz"); +const u8 gMonIcon_UnownZ[] = INCBIN_U8("graphics/pokemon/icons/unown_Z_icon.4bpp"); + +const u8 gMonStillFrontPic_UnownExclamationMark[] = INCBIN_U8("graphics/pokemon/front_pics/unown_exclamation_mark_still_front_pic.4bpp.lz"); +const u8 gMonBackPic_UnownExclamationMark[] = INCBIN_U8("graphics/pokemon/back_pics/unown_exclamation_mark_back_pic.4bpp.lz"); +const u8 gMonIcon_UnownExclamationMark[] = INCBIN_U8("graphics/pokemon/icons/unown_exclamation_mark_icon.4bpp"); + +const u8 gMonStillFrontPic_UnownQuestionMark[] = INCBIN_U8("graphics/pokemon/front_pics/unown_question_mark_still_front_pic.4bpp.lz"); +const u8 gMonBackPic_UnownQuestionMark[] = INCBIN_U8("graphics/pokemon/back_pics/unown_question_mark_back_pic.4bpp.lz"); +const u8 gMonIcon_UnownQuestionMark[] = INCBIN_U8("graphics/pokemon/icons/unown_question_mark_icon.4bpp"); diff --git a/src/graphics/trainers.h b/src/graphics/trainers.h new file mode 100644 index 0000000000..98a5471ef3 --- /dev/null +++ b/src/graphics/trainers.h @@ -0,0 +1,290 @@ +const u8 gTrainerFrontPic_Hiker[] = INCBIN_U8("graphics/trainers/front_pics/hiker_front_pic.4bpp.lz"); +const u8 gTrainerPalette_Hiker[] = INCBIN_U8("graphics/trainers/palettes/hiker.gbapal.lz"); + +const u8 gTrainerFrontPic_AquaGruntM[] = INCBIN_U8("graphics/trainers/front_pics/aqua_grunt_m_front_pic.4bpp.lz"); +const u8 gTrainerPalette_AquaGruntM[] = INCBIN_U8("graphics/trainers/palettes/aqua_grunt_m.gbapal.lz"); + +const u8 gTrainerFrontPic_PokemonBreederF[] = INCBIN_U8("graphics/trainers/front_pics/pokemon_breeder_f_front_pic.4bpp.lz"); +const u8 gTrainerPalette_PokemonBreederF[] = INCBIN_U8("graphics/trainers/palettes/pokemon_breeder_f.gbapal.lz"); + +const u8 gTrainerFrontPic_CoolTrainerM[] = INCBIN_U8("graphics/trainers/front_pics/cool_trainer_m_front_pic.4bpp.lz"); +const u8 gTrainerPalette_CoolTrainerM[] = INCBIN_U8("graphics/trainers/palettes/cool_trainer_m.gbapal.lz"); + +const u8 gTrainerFrontPic_BirdKeeper[] = INCBIN_U8("graphics/trainers/front_pics/bird_keeper_front_pic.4bpp.lz"); +const u8 gTrainerPalette_BirdKeeper[] = INCBIN_U8("graphics/trainers/palettes/bird_keeper.gbapal.lz"); + +const u8 gTrainerFrontPic_Collector[] = INCBIN_U8("graphics/trainers/front_pics/collector_front_pic.4bpp.lz"); +const u8 gTrainerPalette_Collector[] = INCBIN_U8("graphics/trainers/palettes/collector.gbapal.lz"); + +const u8 gTrainerFrontPic_AquaGruntF[] = INCBIN_U8("graphics/trainers/front_pics/aqua_grunt_f_front_pic.4bpp.lz"); +const u8 gTrainerPalette_AquaGruntF[] = INCBIN_U8("graphics/trainers/palettes/aqua_grunt_f.gbapal.lz"); + +const u8 gTrainerFrontPic_SwimmerM[] = INCBIN_U8("graphics/trainers/front_pics/swimmer_m_front_pic.4bpp.lz"); +const u8 gTrainerPalette_SwimmerM[] = INCBIN_U8("graphics/trainers/palettes/swimmer_m.gbapal.lz"); + +const u8 gTrainerFrontPic_MagmaGruntM[] = INCBIN_U8("graphics/trainers/front_pics/magma_grunt_m_front_pic.4bpp.lz"); +const u8 gTrainerPalette_MagmaGruntM[] = INCBIN_U8("graphics/trainers/palettes/magma_grunt_m.gbapal.lz"); + +const u8 gTrainerFrontPic_ExpertM[] = INCBIN_U8("graphics/trainers/front_pics/expert_m_front_pic.4bpp.lz"); +const u8 gTrainerPalette_ExpertM[] = INCBIN_U8("graphics/trainers/palettes/expert_m.gbapal.lz"); + +const u8 gTrainerFrontPic_AquaAdminM[] = INCBIN_U8("graphics/trainers/front_pics/aqua_admin_m_front_pic.4bpp.lz"); +const u8 gTrainerPalette_AquaAdminM[] = INCBIN_U8("graphics/trainers/palettes/aqua_admin_m.gbapal.lz"); + +const u8 gTrainerFrontPic_BlackBelt[] = INCBIN_U8("graphics/trainers/front_pics/black_belt_front_pic.4bpp.lz"); +const u8 gTrainerPalette_BlackBelt[] = INCBIN_U8("graphics/trainers/palettes/black_belt.gbapal.lz"); + +const u8 gTrainerFrontPic_AquaAdminF[] = INCBIN_U8("graphics/trainers/front_pics/aqua_admin_f_front_pic.4bpp.lz"); +const u8 gTrainerPalette_AquaAdminF[] = INCBIN_U8("graphics/trainers/palettes/aqua_admin_f.gbapal.lz"); + +const u8 gTrainerFrontPic_AquaLeaderArchie[] = INCBIN_U8("graphics/trainers/front_pics/aqua_leader_archie_front_pic.4bpp.lz"); +const u8 gTrainerPalette_AquaLeaderArchie[] = INCBIN_U8("graphics/trainers/palettes/aqua_leader_archie.gbapal.lz"); + +const u8 gTrainerFrontPic_HexManiac[] = INCBIN_U8("graphics/trainers/front_pics/hex_maniac_front_pic.4bpp.lz"); +const u8 gTrainerPalette_HexManiac[] = INCBIN_U8("graphics/trainers/palettes/hex_maniac.gbapal.lz"); + +const u8 gTrainerFrontPic_AromaLady[] = INCBIN_U8("graphics/trainers/front_pics/aroma_lady_front_pic.4bpp.lz"); +const u8 gTrainerPalette_AromaLady[] = INCBIN_U8("graphics/trainers/palettes/aroma_lady.gbapal.lz"); + +const u8 gTrainerFrontPic_RuinManiac[] = INCBIN_U8("graphics/trainers/front_pics/ruin_maniac_front_pic.4bpp.lz"); +const u8 gTrainerPalette_RuinManiac[] = INCBIN_U8("graphics/trainers/palettes/ruin_maniac.gbapal.lz"); + +const u8 gTrainerFrontPic_Interviewer[] = INCBIN_U8("graphics/trainers/front_pics/interviewer_front_pic.4bpp.lz"); +const u8 gTrainerPalette_Interviewer[] = INCBIN_U8("graphics/trainers/palettes/interviewer.gbapal.lz"); + +const u8 gTrainerFrontPic_TuberF[] = INCBIN_U8("graphics/trainers/front_pics/tuber_f_front_pic.4bpp.lz"); +const u8 gTrainerPalette_TuberF[] = INCBIN_U8("graphics/trainers/palettes/tuber_f.gbapal.lz"); + +const u8 gTrainerFrontPic_TuberM[] = INCBIN_U8("graphics/trainers/front_pics/tuber_m_front_pic.4bpp.lz"); +const u8 gTrainerPalette_TuberM[] = INCBIN_U8("graphics/trainers/palettes/tuber_m.gbapal.lz"); + +const u8 gTrainerFrontPic_CoolTrainerF[] = INCBIN_U8("graphics/trainers/front_pics/cool_trainer_f_front_pic.4bpp.lz"); +const u8 gTrainerPalette_CoolTrainerF[] = INCBIN_U8("graphics/trainers/palettes/cool_trainer_f.gbapal.lz"); + +const u8 gTrainerFrontPic_Lady[] = INCBIN_U8("graphics/trainers/front_pics/lady_front_pic.4bpp.lz"); +const u8 gTrainerPalette_Lady[] = INCBIN_U8("graphics/trainers/palettes/lady.gbapal.lz"); + +const u8 gTrainerFrontPic_Beauty[] = INCBIN_U8("graphics/trainers/front_pics/beauty_front_pic.4bpp.lz"); +const u8 gTrainerPalette_Beauty[] = INCBIN_U8("graphics/trainers/palettes/beauty.gbapal.lz"); + +const u8 gTrainerFrontPic_RichBoy[] = INCBIN_U8("graphics/trainers/front_pics/rich_boy_front_pic.4bpp.lz"); +const u8 gTrainerPalette_RichBoy[] = INCBIN_U8("graphics/trainers/palettes/rich_boy.gbapal.lz"); + +const u8 gTrainerFrontPic_ExpertF[] = INCBIN_U8("graphics/trainers/front_pics/expert_f_front_pic.4bpp.lz"); +const u8 gTrainerPalette_ExpertF[] = INCBIN_U8("graphics/trainers/palettes/expert_f.gbapal.lz"); + +const u8 gTrainerFrontPic_Pokemaniac[] = INCBIN_U8("graphics/trainers/front_pics/pokemaniac_front_pic.4bpp.lz"); +const u8 gTrainerPalette_Pokemaniac[] = INCBIN_U8("graphics/trainers/palettes/pokemaniac.gbapal.lz"); + +const u8 gTrainerFrontPic_MagmaGruntF[] = INCBIN_U8("graphics/trainers/front_pics/magma_grunt_f_front_pic.4bpp.lz"); +const u8 gTrainerPalette_MagmaGruntF[] = INCBIN_U8("graphics/trainers/palettes/magma_grunt_f.gbapal.lz"); + +const u8 gTrainerFrontPic_Guitarist[] = INCBIN_U8("graphics/trainers/front_pics/guitarist_front_pic.4bpp.lz"); +const u8 gTrainerPalette_Guitarist[] = INCBIN_U8("graphics/trainers/palettes/guitarist.gbapal.lz"); + +const u8 gTrainerFrontPic_Kindler[] = INCBIN_U8("graphics/trainers/front_pics/kindler_front_pic.4bpp.lz"); +const u8 gTrainerPalette_Kindler[] = INCBIN_U8("graphics/trainers/palettes/kindler.gbapal.lz"); + +const u8 gTrainerFrontPic_Camper[] = INCBIN_U8("graphics/trainers/front_pics/camper_front_pic.4bpp.lz"); +const u8 gTrainerPalette_Camper[] = INCBIN_U8("graphics/trainers/palettes/camper.gbapal.lz"); + +const u8 gTrainerFrontPic_Picnicker[] = INCBIN_U8("graphics/trainers/front_pics/picnicker_front_pic.4bpp.lz"); +const u8 gTrainerPalette_Picnicker[] = INCBIN_U8("graphics/trainers/palettes/picnicker.gbapal.lz"); + +const u8 gTrainerFrontPic_BugManiac[] = INCBIN_U8("graphics/trainers/front_pics/bug_maniac_front_pic.4bpp.lz"); +const u8 gTrainerPalette_BugManiac[] = INCBIN_U8("graphics/trainers/palettes/bug_maniac.gbapal.lz"); + +const u8 gTrainerFrontPic_PokemonBreederM[] = INCBIN_U8("graphics/trainers/front_pics/pokemon_breeder_m_front_pic.4bpp.lz"); +const u8 gTrainerPalette_PokemonBreederM[] = INCBIN_U8("graphics/trainers/palettes/pokemon_breeder_m.gbapal.lz"); + +const u8 gTrainerFrontPic_PsychicM[] = INCBIN_U8("graphics/trainers/front_pics/psychic_m_front_pic.4bpp.lz"); +const u8 gTrainerPalette_PsychicM[] = INCBIN_U8("graphics/trainers/palettes/psychic_m.gbapal.lz"); + +const u8 gTrainerFrontPic_PsychicF[] = INCBIN_U8("graphics/trainers/front_pics/psychic_f_front_pic.4bpp.lz"); +const u8 gTrainerPalette_PsychicF[] = INCBIN_U8("graphics/trainers/palettes/psychic_f.gbapal.lz"); + +const u8 gTrainerFrontPic_Gentleman[] = INCBIN_U8("graphics/trainers/front_pics/gentleman_front_pic.4bpp.lz"); +const u8 gTrainerPalette_Gentleman[] = INCBIN_U8("graphics/trainers/palettes/gentleman.gbapal.lz"); + +const u8 gTrainerFrontPic_EliteFourSidney[] = INCBIN_U8("graphics/trainers/front_pics/elite_four_sidney_front_pic.4bpp.lz"); +const u8 gTrainerPalette_EliteFourSidney[] = INCBIN_U8("graphics/trainers/palettes/elite_four_sidney.gbapal.lz"); + +const u8 gTrainerFrontPic_EliteFourPhoebe[] = INCBIN_U8("graphics/trainers/front_pics/elite_four_phoebe_front_pic.4bpp.lz"); +const u8 gTrainerPalette_EliteFourPhoebe[] = INCBIN_U8("graphics/trainers/palettes/elite_four_phoebe.gbapal.lz"); + +const u8 gTrainerFrontPic_EliteFourGlacia[] = INCBIN_U8("graphics/trainers/front_pics/elite_four_glacia_front_pic.4bpp.lz"); +const u8 gTrainerPalette_EliteFourGlacia[] = INCBIN_U8("graphics/trainers/palettes/elite_four_glacia.gbapal.lz"); + +const u8 gTrainerFrontPic_EliteFourDrake[] = INCBIN_U8("graphics/trainers/front_pics/elite_four_drake_front_pic.4bpp.lz"); +const u8 gTrainerPalette_EliteFourDrake[] = INCBIN_U8("graphics/trainers/palettes/elite_four_drake.gbapal.lz"); + +const u8 gTrainerFrontPic_LeaderRoxanne[] = INCBIN_U8("graphics/trainers/front_pics/leader_roxanne_front_pic.4bpp.lz"); +const u8 gTrainerPalette_LeaderRoxanne[] = INCBIN_U8("graphics/trainers/palettes/leader_roxanne.gbapal.lz"); + +const u8 gTrainerFrontPic_LeaderBrawly[] = INCBIN_U8("graphics/trainers/front_pics/leader_brawly_front_pic.4bpp.lz"); +const u8 gTrainerPalette_LeaderBrawly[] = INCBIN_U8("graphics/trainers/palettes/leader_brawly.gbapal.lz"); + +const u8 gTrainerFrontPic_LeaderWattson[] = INCBIN_U8("graphics/trainers/front_pics/leader_wattson_front_pic.4bpp.lz"); +const u8 gTrainerPalette_LeaderWattson[] = INCBIN_U8("graphics/trainers/palettes/leader_wattson.gbapal.lz"); + +const u8 gTrainerFrontPic_LeaderFlannery[] = INCBIN_U8("graphics/trainers/front_pics/leader_flannery_front_pic.4bpp.lz"); +const u8 gTrainerPalette_LeaderFlannery[] = INCBIN_U8("graphics/trainers/palettes/leader_flannery.gbapal.lz"); + +const u8 gTrainerFrontPic_LeaderNorman[] = INCBIN_U8("graphics/trainers/front_pics/leader_norman_front_pic.4bpp.lz"); +const u8 gTrainerPalette_LeaderNorman[] = INCBIN_U8("graphics/trainers/palettes/leader_norman.gbapal.lz"); + +const u8 gTrainerFrontPic_LeaderWinona[] = INCBIN_U8("graphics/trainers/front_pics/leader_winona_front_pic.4bpp.lz"); +const u8 gTrainerPalette_LeaderWinona[] = INCBIN_U8("graphics/trainers/palettes/leader_winona.gbapal.lz"); + +const u8 gTrainerFrontPic_LeaderTateAndLiza[] = INCBIN_U8("graphics/trainers/front_pics/leader_tate_and_liza_front_pic.4bpp.lz"); +const u8 gTrainerPalette_LeaderTateAndLiza[] = INCBIN_U8("graphics/trainers/palettes/leader_tate_and_liza.gbapal.lz"); + +const u8 gTrainerFrontPic_LeaderJuan[] = INCBIN_U8("graphics/trainers/front_pics/leader_juan_front_pic.4bpp.lz"); +const u8 gTrainerPalette_LeaderJuan[] = INCBIN_U8("graphics/trainers/palettes/leader_juan.gbapal.lz"); + +const u8 gTrainerFrontPic_SchoolKidM[] = INCBIN_U8("graphics/trainers/front_pics/school_kid_m_front_pic.4bpp.lz"); +const u8 gTrainerPalette_SchoolKidM[] = INCBIN_U8("graphics/trainers/palettes/school_kid_m.gbapal.lz"); + +const u8 gTrainerFrontPic_SchoolKidF[] = INCBIN_U8("graphics/trainers/front_pics/school_kid_f_front_pic.4bpp.lz"); +const u8 gTrainerPalette_SchoolKidF[] = INCBIN_U8("graphics/trainers/palettes/school_kid_f.gbapal.lz"); + +const u8 gTrainerFrontPic_SrAndJr[] = INCBIN_U8("graphics/trainers/front_pics/sr_and_jr_front_pic.4bpp.lz"); +const u8 gTrainerPalette_SrAndJr[] = INCBIN_U8("graphics/trainers/palettes/sr_and_jr.gbapal.lz"); + +const u8 gTrainerFrontPic_WinstrateM[] = INCBIN_U8("graphics/trainers/front_pics/winstrate_m_front_pic.4bpp.lz"); +const u8 gTrainerPalette_WinstrateM[] = INCBIN_U8("graphics/trainers/palettes/winstrate_m.gbapal.lz"); + +const u8 gTrainerFrontPic_WinstrateF[] = INCBIN_U8("graphics/trainers/front_pics/winstrate_f_front_pic.4bpp.lz"); +const u8 gTrainerPalette_WinstrateF[] = INCBIN_U8("graphics/trainers/palettes/winstrate_f.gbapal.lz"); + +const u8 gTrainerFrontPic_Youngster[] = INCBIN_U8("graphics/trainers/front_pics/youngster_front_pic.4bpp.lz"); +const u8 gTrainerPalette_Youngster[] = INCBIN_U8("graphics/trainers/palettes/youngster.gbapal.lz"); + +const u8 gTrainerFrontPic_ChampionWallace[] = INCBIN_U8("graphics/trainers/front_pics/champion_wallace_front_pic.4bpp.lz"); +const u8 gTrainerPalette_ChampionWallace[] = INCBIN_U8("graphics/trainers/palettes/champion_wallace.gbapal.lz"); + +const u8 gTrainerFrontPic_Fisherman[] = INCBIN_U8("graphics/trainers/front_pics/fisherman_front_pic.4bpp.lz"); +const u8 gTrainerPalette_Fisherman[] = INCBIN_U8("graphics/trainers/palettes/fisherman.gbapal.lz"); + +const u8 gTrainerFrontPic_CyclingTriathleteM[] = INCBIN_U8("graphics/trainers/front_pics/cycling_triathlete_m_front_pic.4bpp.lz"); +const u8 gTrainerPalette_CyclingTriathleteM[] = INCBIN_U8("graphics/trainers/palettes/cycling_triathlete_m.gbapal.lz"); + +const u8 gTrainerFrontPic_CyclingTriathleteF[] = INCBIN_U8("graphics/trainers/front_pics/cycling_triathlete_f_front_pic.4bpp.lz"); +const u8 gTrainerPalette_CyclingTriathleteF[] = INCBIN_U8("graphics/trainers/palettes/cycling_triathlete_f.gbapal.lz"); + +const u8 gTrainerFrontPic_RunningTriathleteM[] = INCBIN_U8("graphics/trainers/front_pics/running_triathlete_m_front_pic.4bpp.lz"); +const u8 gTrainerPalette_RunningTriathleteM[] = INCBIN_U8("graphics/trainers/palettes/running_triathlete_m.gbapal.lz"); + +const u8 gTrainerFrontPic_RunningTriathleteF[] = INCBIN_U8("graphics/trainers/front_pics/running_triathlete_f_front_pic.4bpp.lz"); +const u8 gTrainerPalette_RunningTriathleteF[] = INCBIN_U8("graphics/trainers/palettes/running_triathlete_f.gbapal.lz"); + +const u8 gTrainerFrontPic_SwimmingTriathleteM[] = INCBIN_U8("graphics/trainers/front_pics/swimming_triathlete_m_front_pic.4bpp.lz"); +const u8 gTrainerPalette_SwimmingTriathleteM[] = INCBIN_U8("graphics/trainers/palettes/swimming_triathlete_m.gbapal.lz"); + +const u8 gTrainerFrontPic_SwimmingTriathleteF[] = INCBIN_U8("graphics/trainers/front_pics/swimming_triathlete_f_front_pic.4bpp.lz"); +const u8 gTrainerPalette_SwimmingTriathleteF[] = INCBIN_U8("graphics/trainers/palettes/swimming_triathlete_f.gbapal.lz"); + +const u8 gTrainerFrontPic_DragonTamer[] = INCBIN_U8("graphics/trainers/front_pics/dragon_tamer_front_pic.4bpp.lz"); +const u8 gTrainerPalette_DragonTamer[] = INCBIN_U8("graphics/trainers/palettes/dragon_tamer.gbapal.lz"); + +const u8 gTrainerFrontPic_NinjaBoy[] = INCBIN_U8("graphics/trainers/front_pics/ninja_boy_front_pic.4bpp.lz"); +const u8 gTrainerPalette_NinjaBoy[] = INCBIN_U8("graphics/trainers/palettes/ninja_boy.gbapal.lz"); + +const u8 gTrainerFrontPic_BattleGirl[] = INCBIN_U8("graphics/trainers/front_pics/battle_girl_front_pic.4bpp.lz"); +const u8 gTrainerPalette_BattleGirl[] = INCBIN_U8("graphics/trainers/palettes/battle_girl.gbapal.lz"); + +const u8 gTrainerFrontPic_ParasolLady[] = INCBIN_U8("graphics/trainers/front_pics/parasol_lady_front_pic.4bpp.lz"); +const u8 gTrainerPalette_ParasolLady[] = INCBIN_U8("graphics/trainers/palettes/parasol_lady.gbapal.lz"); + +const u8 gTrainerFrontPic_SwimmerF[] = INCBIN_U8("graphics/trainers/front_pics/swimmer_f_front_pic.4bpp.lz"); +const u8 gTrainerPalette_SwimmerF[] = INCBIN_U8("graphics/trainers/palettes/swimmer_f.gbapal.lz"); + +const u8 gTrainerFrontPic_Twins[] = INCBIN_U8("graphics/trainers/front_pics/twins_front_pic.4bpp.lz"); +const u8 gTrainerPalette_Twins[] = INCBIN_U8("graphics/trainers/palettes/twins.gbapal.lz"); + +const u8 gTrainerFrontPic_Sailor[] = INCBIN_U8("graphics/trainers/front_pics/sailor_front_pic.4bpp.lz"); +const u8 gTrainerPalette_Sailor[] = INCBIN_U8("graphics/trainers/palettes/sailor.gbapal.lz"); + +const u8 gTrainerFrontPic_MagmaAdmin[] = INCBIN_U8("graphics/trainers/front_pics/magma_admin_front_pic.4bpp.lz"); +const u8 gTrainerPalette_MagmaAdmin[] = INCBIN_U8("graphics/trainers/palettes/magma_admin.gbapal.lz"); + +const u8 gTrainerFrontPic_Wally[] = INCBIN_U8("graphics/trainers/front_pics/wally_front_pic.4bpp.lz"); +const u8 gTrainerPalette_Wally[] = INCBIN_U8("graphics/trainers/palettes/wally.gbapal.lz"); + +const u8 gTrainerFrontPic_Brendan[] = INCBIN_U8("graphics/trainers/front_pics/brendan_front_pic.4bpp.lz"); +const u8 gTrainerPalette_Brendan[] = INCBIN_U8("graphics/trainers/palettes/brendan.gbapal.lz"); + +const u8 gTrainerFrontPic_May[] = INCBIN_U8("graphics/trainers/front_pics/may_front_pic.4bpp.lz"); +const u8 gTrainerPalette_May[] = INCBIN_U8("graphics/trainers/palettes/may.gbapal.lz"); + +const u8 gTrainerFrontPic_BugCatcher[] = INCBIN_U8("graphics/trainers/front_pics/bug_catcher_front_pic.4bpp.lz"); +const u8 gTrainerPalette_BugCatcher[] = INCBIN_U8("graphics/trainers/palettes/bug_catcher.gbapal.lz"); + +const u8 gTrainerFrontPic_PokemonRangerM[] = INCBIN_U8("graphics/trainers/front_pics/pokemon_ranger_m_front_pic.4bpp.lz"); +const u8 gTrainerPalette_PokemonRangerM[] = INCBIN_U8("graphics/trainers/palettes/pokemon_ranger_m.gbapal.lz"); + +const u8 gTrainerFrontPic_PokemonRangerF[] = INCBIN_U8("graphics/trainers/front_pics/pokemon_ranger_f_front_pic.4bpp.lz"); +const u8 gTrainerPalette_PokemonRangerF[] = INCBIN_U8("graphics/trainers/palettes/pokemon_ranger_f.gbapal.lz"); + +const u8 gTrainerFrontPic_MagmaLeaderMaxie[] = INCBIN_U8("graphics/trainers/front_pics/magma_leader_maxie_front_pic.4bpp.lz"); +const u8 gTrainerPalette_MagmaLeaderMaxie[] = INCBIN_U8("graphics/trainers/palettes/magma_leader_maxie.gbapal.lz"); + +const u8 gTrainerFrontPic_Lass[] = INCBIN_U8("graphics/trainers/front_pics/lass_front_pic.4bpp.lz"); +const u8 gTrainerPalette_Lass[] = INCBIN_U8("graphics/trainers/palettes/lass.gbapal.lz"); + +const u8 gTrainerFrontPic_YoungCouple[] = INCBIN_U8("graphics/trainers/front_pics/young_couple_front_pic.4bpp.lz"); +const u8 gTrainerPalette_YoungCouple[] = INCBIN_U8("graphics/trainers/palettes/young_couple.gbapal.lz"); + +const u8 gTrainerFrontPic_OldCouple[] = INCBIN_U8("graphics/trainers/front_pics/old_couple_front_pic.4bpp.lz"); +const u8 gTrainerPalette_OldCouple[] = INCBIN_U8("graphics/trainers/palettes/old_couple.gbapal.lz"); + +const u8 gTrainerFrontPic_SisAndBro[] = INCBIN_U8("graphics/trainers/front_pics/sis_and_bro_front_pic.4bpp.lz"); +const u8 gTrainerPalette_SisAndBro[] = INCBIN_U8("graphics/trainers/palettes/sis_and_bro.gbapal.lz"); + +const u8 gTrainerFrontPic_Steven[] = INCBIN_U8("graphics/trainers/front_pics/steven_front_pic.4bpp.lz"); +const u8 gTrainerPalette_Steven[] = INCBIN_U8("graphics/trainers/palettes/steven.gbapal.lz"); + +const u8 gTrainerFrontPic_SalonMaidenAnabel[] = INCBIN_U8("graphics/trainers/front_pics/salon_maiden_anabel_front_pic.4bpp.lz"); +const u8 gTrainerPalette_SalonMaidenAnabel[] = INCBIN_U8("graphics/trainers/palettes/salon_maiden_anabel.gbapal.lz"); + +const u8 gTrainerFrontPic_DomeAceTucker[] = INCBIN_U8("graphics/trainers/front_pics/dome_ace_tucker_front_pic.4bpp.lz"); +const u8 gTrainerPalette_DomeAceTucker[] = INCBIN_U8("graphics/trainers/palettes/dome_ace_tucker.gbapal.lz"); + +const u8 gTrainerFrontPic_PalaceMavenSpenser[] = INCBIN_U8("graphics/trainers/front_pics/palace_maven_spenser_front_pic.4bpp.lz"); +const u8 gTrainerPalette_PalaceMavenSpenser[] = INCBIN_U8("graphics/trainers/palettes/palace_maven_spenser.gbapal.lz"); + +const u8 gTrainerFrontPic_ArenaTycoonGreta[] = INCBIN_U8("graphics/trainers/front_pics/arena_tycoon_greta_front_pic.4bpp.lz"); +const u8 gTrainerPalette_ArenaTycoonGreta[] = INCBIN_U8("graphics/trainers/palettes/arena_tycoon_greta.gbapal.lz"); + +const u8 gTrainerFrontPic_FactoryHeadNoland[] = INCBIN_U8("graphics/trainers/front_pics/factory_head_noland_front_pic.4bpp.lz"); +const u8 gTrainerPalette_FactoryHeadNoland[] = INCBIN_U8("graphics/trainers/palettes/factory_head_noland.gbapal.lz"); + +const u8 gTrainerFrontPic_PikeQueenLucy[] = INCBIN_U8("graphics/trainers/front_pics/pike_queen_lucy_front_pic.4bpp.lz"); +const u8 gTrainerPalette_PikeQueenLucy[] = INCBIN_U8("graphics/trainers/palettes/pike_queen_lucy.gbapal.lz"); + +const u8 gTrainerFrontPic_PyramidKingBrandon[] = INCBIN_U8("graphics/trainers/front_pics/pyramid_king_brandon_front_pic.4bpp.lz"); +const u8 gTrainerPalette_PyramidKingBrandon[] = INCBIN_U8("graphics/trainers/palettes/pyramid_king_brandon.gbapal.lz"); + +const u8 gTrainerFrontPic_Red[] = INCBIN_U8("graphics/trainers/front_pics/red_front_pic.4bpp.lz"); +const u8 gTrainerPalette_Red[] = INCBIN_U8("graphics/trainers/palettes/red.gbapal.lz"); + +const u8 gTrainerFrontPic_Leaf[] = INCBIN_U8("graphics/trainers/front_pics/leaf_front_pic.4bpp.lz"); +const u8 gTrainerPalette_Leaf[] = INCBIN_U8("graphics/trainers/palettes/leaf.gbapal.lz"); + +const u8 gTrainerFrontPic_RubySapphireBrendan[] = INCBIN_U8("graphics/trainers/front_pics/ruby_sapphire_brendan_front_pic.4bpp.lz"); +const u8 gTrainerPalette_RubySapphireBrendan[] = INCBIN_U8("graphics/trainers/palettes/ruby_sapphire_brendan.gbapal.lz"); + +const u8 gTrainerFrontPic_RubySapphireMay[] = INCBIN_U8("graphics/trainers/front_pics/ruby_sapphire_may_front_pic.4bpp.lz"); +const u8 gTrainerPalette_RubySapphireMay[] = INCBIN_U8("graphics/trainers/palettes/ruby_sapphire_may.gbapal.lz"); + +const u8 gTrainerBackPic_Brendan[] = INCBIN_U8("graphics/trainers/back_pics/brendan_back_pic.4bpp"); +const u8 gTrainerBackPic_May[] = INCBIN_U8("graphics/trainers/back_pics/may_back_pic.4bpp"); +const u8 gTrainerBackPic_Red[] = INCBIN_U8("graphics/trainers/back_pics/red_back_pic.4bpp"); +const u8 gTrainerBackPic_Leaf[] = INCBIN_U8("graphics/trainers/back_pics/leaf_back_pic.4bpp"); +const u8 gTrainerBackPic_RubySapphireBrendan[] = INCBIN_U8("graphics/trainers/back_pics/ruby_sapphire_brendan_back_pic.4bpp"); +const u8 gTrainerBackPic_RubySapphireMay[] = INCBIN_U8("graphics/trainers/back_pics/ruby_sapphire_may_back_pic.4bpp"); +const u8 gTrainerBackPic_Wally[] = INCBIN_U8("graphics/trainers/back_pics/wally_back_pic.4bpp"); +const u8 gTrainerBackPic_Steven[] = INCBIN_U8("graphics/trainers/back_pics/steven_back_pic.4bpp"); + +const u8 gTrainerBackPicPalette_Red[] = INCBIN_U8("graphics/trainers/palettes/red_back_pic.gbapal.lz"); +const u8 gTrainerBackPicPalette_Leaf[] = INCBIN_U8("graphics/trainers/palettes/leaf_back_pic.gbapal.lz"); From 709b63efa9fbe3374b0a14c5c434bd87b50dc2b8 Mon Sep 17 00:00:00 2001 From: Slawter666 <38655737+Slawter666@users.noreply.github.com> Date: Fri, 24 Aug 2018 21:21:19 +0100 Subject: [PATCH 127/234] Split files --- src/graphics.c | 446 +++-------------------------- src/graphics/battle_terrain.h | 88 ++++++ src/graphics/berry_fix.h | 23 ++ src/graphics/interface_pokeballs.h | 37 +++ src/graphics/intro_scene.h | 48 ++++ src/graphics/mail.h | 38 +++ src/graphics/rayquaza_scene.h | 73 +++++ src/graphics/slot_machine.h | 60 ++++ 8 files changed, 410 insertions(+), 403 deletions(-) create mode 100644 src/graphics/battle_terrain.h create mode 100644 src/graphics/berry_fix.h create mode 100644 src/graphics/interface_pokeballs.h create mode 100644 src/graphics/intro_scene.h create mode 100644 src/graphics/mail.h create mode 100644 src/graphics/rayquaza_scene.h create mode 100644 src/graphics/slot_machine.h diff --git a/src/graphics.c b/src/graphics.c index 8a4c98bb32..034b590c5a 100644 --- a/src/graphics.c +++ b/src/graphics.c @@ -1,6 +1,6 @@ #include "global.h" -const u8 gBattleTextboxTiles[] = INCBIN_U8("graphics/interface/menu.4bpp.lz"); // menu window and arrows +const u8 gBattleTextboxTiles[] = INCBIN_U8("graphics/interface/menu.4bpp.lz"); const u8 gBattleTextboxPalette[] = INCBIN_U8("graphics/interface/menu.gbapal.lz"); const u16 gBattleTextboxTilemap[] = INCBIN_U16("graphics/interface/menu_map.bin.lz"); @@ -16,43 +16,7 @@ const u8 gUnusedPal_OldCharmap[] = INCBIN_U8("graphics/unused/old_charmap.gbapal const u8 gSmokescreenImpactTiles[] = INCBIN_U8("graphics/battle_anims/sprites/smokescreen_impact.4bpp.lz"); const u8 gSmokescreenImpactPalette[] = INCBIN_U8("graphics/battle_anims/sprites/smokescreen_impact.gbapal.lz"); -const u8 gInterfaceGfx_PokeBall[] = INCBIN_U8("graphics/interface/ball/poke.4bpp.lz"); // 0xBC -const u8 gInterfacePal_PokeBall[] = INCBIN_U8("graphics/interface/ball/poke.gbapal.lz"); - -const u8 gInterfaceGfx_GreatBall[] = INCBIN_U8("graphics/interface/ball/great.4bpp.lz"); // 0xBC -const u8 gInterfacePal_GreatBall[] = INCBIN_U8("graphics/interface/ball/great.gbapal.lz"); - -const u8 gInterfaceGfx_SafariBall[] = INCBIN_U8("graphics/interface/ball/safari.4bpp.lz"); // 0xBC -const u8 gInterfacePal_SafariBall[] = INCBIN_U8("graphics/interface/ball/safari.gbapal.lz"); - -const u8 gInterfaceGfx_UltraBall[] = INCBIN_U8("graphics/interface/ball/ultra.4bpp.lz"); // 0xBC -const u8 gInterfacePal_UltraBall[] = INCBIN_U8("graphics/interface/ball/ultra.gbapal.lz"); - -const u8 gInterfaceGfx_MasterBall[] = INCBIN_U8("graphics/interface/ball/master.4bpp.lz"); // 0xBC -const u8 gInterfacePal_MasterBall[] = INCBIN_U8("graphics/interface/ball/master.gbapal.lz"); - -const u8 gInterfaceGfx_NetBall[] = INCBIN_U8("graphics/interface/ball/net.4bpp.lz"); // 0xBC -const u8 gInterfacePal_NetBall[] = INCBIN_U8("graphics/interface/ball/net.gbapal.lz"); - -const u8 gInterfaceGfx_DiveBall[] = INCBIN_U8("graphics/interface/ball/dive.4bpp.lz"); // 0xBC -const u8 gInterfacePal_DiveBall[] = INCBIN_U8("graphics/interface/ball/dive.gbapal.lz"); - -const u8 gInterfaceGfx_NestBall[] = INCBIN_U8("graphics/interface/ball/nest.4bpp.lz"); // 0xBC -const u8 gInterfacePal_NestBall[] = INCBIN_U8("graphics/interface/ball/nest.gbapal.lz"); - -const u8 gInterfaceGfx_RepeatBall[] = INCBIN_U8("graphics/interface/ball/repeat.4bpp.lz"); // 0xBC -const u8 gInterfacePal_RepeatBall[] = INCBIN_U8("graphics/interface/ball/repeat.gbapal.lz"); - -const u8 gInterfaceGfx_TimerBall[] = INCBIN_U8("graphics/interface/ball/timer.4bpp.lz"); // 0xBC -const u8 gInterfacePal_TimerBall[] = INCBIN_U8("graphics/interface/ball/timer.gbapal.lz"); - -const u8 gInterfaceGfx_LuxuryBall[] = INCBIN_U8("graphics/interface/ball/luxury.4bpp.lz"); // 0xBC -const u8 gInterfacePal_LuxuryBall[] = INCBIN_U8("graphics/interface/ball/luxury.gbapal.lz"); - -const u8 gInterfaceGfx_PremierBall[] = INCBIN_U8("graphics/interface/ball/premier.4bpp.lz"); // 0xBC -const u8 gInterfacePal_PremierBall[] = INCBIN_U8("graphics/interface/ball/premier.gbapal.lz"); - -const u8 gOpenPokeballGfx[] = INCBIN_U8("graphics/interface/ball_open.4bpp.lz"); +#include "graphics/interface_pokeballs.h" const u8 gBlankGfxCompressed[] = INCBIN_U8("graphics/interface/blank.4bpp.lz"); @@ -200,8 +164,6 @@ const u8 gBattleAnimSpriteSheet_044[] = INCBIN_U8("graphics/battle_anims/sprites const u8 gBattleAnimSpritePalette_045[] = INCBIN_U8("graphics/battle_anims/sprites/045.gbapal.lz"); const u8 gBattleAnimSpriteSheet_045[] = INCBIN_U8("graphics/battle_anims/sprites/045.4bpp.lz"); -// two unused window frames. - const u8 gUnknown_08C08F0C[] = INCBIN_U8("graphics/battle_interface/unused_window.4bpp.lz"); const u8 gUnknown_08C093C8[] = INCBIN_U8("graphics/battle_interface/unused_window.gbapal.lz"); @@ -1000,94 +962,7 @@ const u8 gUnknown_08D77AE4[] = INCBIN_U8("graphics/battle_transitions/vs_frame.g const u8 gUnknown_08D77B0C[] = INCBIN_U8("graphics/battle_transitions/vs.4bpp.lz"); -const u8 gBattleTerrainTiles_TallGrass[] = INCBIN_U8("graphics/battle_terrain/tall_grass/tiles.4bpp.lz"); -const u8 gBattleTerrainPalette_TallGrass[] = INCBIN_U8("graphics/battle_terrain/tall_grass/palette.gbapal.lz"); -const u16 gBattleTerrainTilemap_TallGrass[] = INCBIN_U16("graphics/battle_terrain/tall_grass/map.bin.lz"); - -const u8 gBattleTerrainTiles_LongGrass[] = INCBIN_U8("graphics/battle_terrain/long_grass/tiles.4bpp.lz"); -const u8 gBattleTerrainPalette_LongGrass[] = INCBIN_U8("graphics/battle_terrain/long_grass/palette.gbapal.lz"); -const u16 gBattleTerrainTilemap_LongGrass[] = INCBIN_U16("graphics/battle_terrain/long_grass/map.bin.lz"); - -const u8 gBattleTerrainTiles_Sand[] = INCBIN_U8("graphics/battle_terrain/sand/tiles.4bpp.lz"); -const u8 gBattleTerrainPalette_Sand[] = INCBIN_U8("graphics/battle_terrain/sand/palette.gbapal.lz"); -const u16 gBattleTerrainTilemap_Sand[] = INCBIN_U16("graphics/battle_terrain/sand/map.bin.lz"); - -const u8 gBattleTerrainTiles_Underwater[] = INCBIN_U8("graphics/battle_terrain/underwater/tiles.4bpp.lz"); -const u8 gBattleTerrainPalette_Underwater[] = INCBIN_U8("graphics/battle_terrain/underwater/palette.gbapal.lz"); -const u16 gBattleTerrainTilemap_Underwater[] = INCBIN_U16("graphics/battle_terrain/underwater/map.bin.lz"); - -const u8 gBattleTerrainTiles_Water[] = INCBIN_U8("graphics/battle_terrain/water/tiles.4bpp.lz"); -const u8 gBattleTerrainPalette_Water[] = INCBIN_U8("graphics/battle_terrain/water/palette.gbapal.lz"); -const u16 gBattleTerrainTilemap_Water[] = INCBIN_U16("graphics/battle_terrain/water/map.bin.lz"); - -const u8 gBattleTerrainTiles_PondWater[] = INCBIN_U8("graphics/battle_terrain/pond_water/tiles.4bpp.lz"); -const u8 gBattleTerrainPalette_PondWater[] = INCBIN_U8("graphics/battle_terrain/pond_water/palette.gbapal.lz"); -const u16 gBattleTerrainTilemap_PondWater[] = INCBIN_U16("graphics/battle_terrain/pond_water/map.bin.lz"); - -const u8 gBattleTerrainTiles_Rock[] = INCBIN_U8("graphics/battle_terrain/rock/tiles.4bpp.lz"); -const u8 gBattleTerrainPalette_Rock[] = INCBIN_U8("graphics/battle_terrain/rock/palette.gbapal.lz"); -const u16 gBattleTerrainTilemap_Rock[] = INCBIN_U16("graphics/battle_terrain/rock/map.bin.lz"); - -const u8 gBattleTerrainTiles_Cave[] = INCBIN_U8("graphics/battle_terrain/cave/tiles.4bpp.lz"); -const u8 gBattleTerrainPalette_Cave[] = INCBIN_U8("graphics/battle_terrain/cave/palette.gbapal.lz"); -const u16 gBattleTerrainTilemap_Cave[] = INCBIN_U16("graphics/battle_terrain/cave/map.bin.lz"); - -const u8 gBattleTerrainPalette_Plain[] = INCBIN_U8("graphics/battle_terrain/plain/palette.gbapal.lz"); - -const u8 gBattleTerrainTiles_Building[] = INCBIN_U8("graphics/battle_terrain/building/tiles.4bpp.lz"); -const u8 gBattleTerrainPalette_Frontier[] = INCBIN_U8("graphics/battle_terrain/stadium/battle_frontier.gbapal.lz"); // this is also used for link battles -const u16 gBattleTerrainTilemap_Building[] = INCBIN_U16("graphics/battle_terrain/building/map.bin.lz"); - -const u8 gBattleTerrainTiles_Stadium[] = INCBIN_U8("graphics/battle_terrain/stadium/tiles.4bpp.lz"); -const u16 gBattleTerrainTilemap_Stadium[] = INCBIN_U16("graphics/battle_terrain/stadium/map.bin.lz"); - -const u8 gBattleTerrainTiles_Rayquaza[] = INCBIN_U8("graphics/battle_terrain/sky/tiles.4bpp.lz"); -const u16 gBattleTerrainTilemap_Rayquaza[] = INCBIN_U16("graphics/battle_terrain/sky/map.bin.lz"); - -const u8 gBattleTerrainPalette_Building[] = INCBIN_U8("graphics/battle_terrain/building/palette.gbapal.lz"); - -const u8 gBattleTerrainPalette_Kyogre[] = INCBIN_U8("graphics/battle_terrain/water/kyogre.gbapal.lz"); -const u8 gBattleTerrainPalette_Groudon[] = INCBIN_U8("graphics/battle_terrain/cave/groudon.gbapal.lz"); -const u8 gBattleTerrainPalette_BuildingGym[] = INCBIN_U8("graphics/battle_terrain/building/palette2.gbapal.lz"); -const u8 gBattleTerrainPalette_BuildingLeader[] = INCBIN_U8("graphics/battle_terrain/building/palette3.gbapal.lz"); -const u8 gBattleTerrainPalette_StadiumAqua[] = INCBIN_U8("graphics/battle_terrain/stadium/palette1.gbapal.lz"); -const u8 gBattleTerrainPalette_StadiumMagma[] = INCBIN_U8("graphics/battle_terrain/stadium/palette2.gbapal.lz"); -const u8 gBattleTerrainPalette_StadiumSidney[] = INCBIN_U8("graphics/battle_terrain/stadium/palette3.gbapal.lz"); -const u8 gBattleTerrainPalette_StadiumPhoebe[] = INCBIN_U8("graphics/battle_terrain/stadium/palette4.gbapal.lz"); -const u8 gBattleTerrainPalette_StadiumGlacia[] = INCBIN_U8("graphics/battle_terrain/stadium/palette5.gbapal.lz"); -const u8 gBattleTerrainPalette_StadiumDrake[] = INCBIN_U8("graphics/battle_terrain/stadium/palette6.gbapal.lz"); -const u8 gBattleTerrainPalette_StadiumWallace[] = INCBIN_U8("graphics/battle_terrain/stadium/palette7.gbapal.lz"); -const u8 gBattleTerrainPalette_Rayquaza[] = INCBIN_U8("graphics/battle_terrain/sky/palette.gbapal.lz"); - -const u8 gBattleTerrainAnimTiles_TallGrass[] = INCBIN_U8("graphics/battle_terrain/tall_grass/anim_tiles.4bpp.lz"); -const u16 gBattleTerrainAnimTilemap_TallGrass[] = INCBIN_U16("graphics/battle_terrain/tall_grass/anim_map.bin.lz"); - -const u8 gBattleTerrainAnimTiles_LongGrass[] = INCBIN_U8("graphics/battle_terrain/long_grass/anim_tiles.4bpp.lz"); -const u16 gBattleTerrainAnimTilemap_LongGrass[] = INCBIN_U16("graphics/battle_terrain/long_grass/anim_map.bin.lz"); - -const u8 gBattleTerrainAnimTiles_Sand[] = INCBIN_U8("graphics/battle_terrain/sand/anim_tiles.4bpp.lz"); -const u16 gBattleTerrainAnimTilemap_Sand[] = INCBIN_U16("graphics/battle_terrain/sand/anim_map.bin.lz"); - -const u8 gBattleTerrainAnimTiles_Underwater[] = INCBIN_U8("graphics/battle_terrain/underwater/anim_tiles.4bpp.lz"); -const u16 gBattleTerrainAnimTilemap_Underwater[] = INCBIN_U16("graphics/battle_terrain/underwater/anim_map.bin.lz"); - -const u8 gBattleTerrainAnimTiles_Water[] = INCBIN_U8("graphics/battle_terrain/water/anim_tiles.4bpp.lz"); -const u16 gBattleTerrainAnimTilemap_Water[] = INCBIN_U16("graphics/battle_terrain/water/anim_map.bin.lz"); - -const u8 gBattleTerrainAnimTiles_PondWater[] = INCBIN_U8("graphics/battle_terrain/pond_water/anim_tiles.4bpp.lz"); -const u16 gBattleTerrainAnimTilemap_PondWater[] = INCBIN_U16("graphics/battle_terrain/pond_water/anim_map.bin.lz"); - -const u8 gBattleTerrainAnimTiles_Rock[] = INCBIN_U8("graphics/battle_terrain/rock/anim_tiles.4bpp.lz"); -const u16 gBattleTerrainAnimTilemap_Rock[] = INCBIN_U16("graphics/battle_terrain/rock/anim_map.bin.lz"); - -const u8 gBattleTerrainAnimTiles_Cave[] = INCBIN_U8("graphics/battle_terrain/cave/anim_tiles.4bpp.lz"); -const u16 gBattleTerrainAnimTilemap_Cave[] = INCBIN_U16("graphics/battle_terrain/cave/anim_map.bin.lz"); - -const u8 gBattleTerrainAnimTiles_Building[] = INCBIN_U8("graphics/battle_terrain/building/anim_tiles.4bpp.lz"); -const u16 gBattleTerrainAnimTilemap_Building[] = INCBIN_U16("graphics/battle_terrain/building/anim_map.bin.lz"); - -const u8 gBattleTerrainAnimTiles_Rayquaza[] = INCBIN_U8("graphics/battle_terrain/sky/anim_tiles.4bpp.lz"); -const u16 gBattleTerrainAnimTilemap_Rayquaza[] = INCBIN_U16("graphics/battle_terrain/sky/anim_map.bin.lz"); +#include "graphics/battle_terrain.h" const u8 gUnknown_08D82F10[] = INCBIN_U8("graphics/battle_frontier/tourney_bg.4bpp.lz"); const u8 gUnknown_08D834FC[] = INCBIN_U8("graphics/battle_frontier/tourney_line.4bpp.lz"); // the red glow mask for the tourney advancement lines @@ -1128,56 +1003,7 @@ const u16 gUnknown_08D856C8[] = INCBIN_U16("graphics/battle_frontier/pyramid_lig const u16 gUnknown_08D857A8[] = INCBIN_U16("graphics/battle_frontier/battle_tilemap1.bin.lz"); const u16 gUnknown_08D85A1C[] = INCBIN_U16("graphics/battle_frontier/battle_tilemap2.bin.lz"); -// Intro - -const u16 gIntro1GameFreakTextFadePal[] = INCBIN_U16("graphics/intro/intro1_text.gbapal"); // game freak text blue fade -const u16 gIntro2BrendanNoTurnPal[] = INCBIN_U16("graphics/intro/intro2_brendan_noturn.gbapal"); -const u16 gIntro3BgPal[] = INCBIN_U16("graphics/intro/intro3.gbapal"); -const u16 gIntro2VolbeatPal[] = INCBIN_U16("graphics/intro/intro2_volbeat.gbapal"); -const u16 gIntro2TorchicPal[] = INCBIN_U16("graphics/intro/intro2_torchic.gbapal"); -const u16 gIntro2ManectricPal[] = INCBIN_U16("graphics/intro/intro2_manectric.gbapal"); -const u16 gIntro2FlygonPal[] = INCBIN_U16("graphics/intro/intro2_flygon.gbapal"); - -const u8 gIntro2VolbeatGfx[] = INCBIN_U8("graphics/intro/intro2_volbeat.4bpp.lz"); -const u8 gIntro2TorchicGfx[] = INCBIN_U8("graphics/intro/intro2_torchic.4bpp.lz"); -const u8 gIntro2ManectricGfx[] = INCBIN_U8("graphics/intro/intro2_manectric.4bpp.lz"); -const u8 gIntro2FlygonGfx[] = INCBIN_U8("graphics/intro/intro2_flygon.4bpp.lz"); -const u8 gIntro2BrendanNoTurnGfx[] = INCBIN_U8("graphics/intro/intro2_brendan_noturn.4bpp.lz"); -const u8 gIntro2MayNoTurnGfx[] = INCBIN_U8("graphics/intro/intro2_may_noturn.4bpp.lz"); - -const u16 gIntro3GroudonGfx[] = INCBIN_U16("graphics/intro/intro3_groudon.8bpp.lz"); -const u16 gIntro3GroudonTilemap[] = INCBIN_U16("graphics/intro/intro3_groudon.bin.lz"); - -const u16 gIntro3KyogreGfx[] = INCBIN_U16("graphics/intro/intro3_kyogre.8bpp.lz"); -const u16 gIntro3KyogreTilemap[] = INCBIN_U16("graphics/intro/intro3_kyogre.bin.lz"); - -const u8 gIntro3LegendBgGfx[] = INCBIN_U8("graphics/intro/legend_bg.4bpp.lz"); // groudon/kyogre/bg - -const u16 gIntro3GroudonBgTilemap[] = INCBIN_U16("graphics/intro/legend_bg1.bin.lz"); -const u16 gIntro3KyogreBgTilemap[] = INCBIN_U16("graphics/intro/legend_bg2.bin.lz"); - -const u8 gIntro3CloudsGfx[] = INCBIN_U8("graphics/intro/intro3_clouds.4bpp.lz"); -const u16 gIntro3Clouds1Tilemap[] = INCBIN_U16("graphics/intro/intro3_clouds1.bin.lz"); -const u16 gIntro3Clouds2Tilemap[] = INCBIN_U16("graphics/intro/intro3_clouds2.bin.lz"); -const u16 gIntro3Clouds3Tilemap[] = INCBIN_U16("graphics/intro/intro3_clouds3.bin.lz"); - -const u8 gIntro3LightningGfx[] = INCBIN_U8("graphics/intro/intro3_lightning.4bpp.lz"); -const u16 gIntro3LightningPal[] = INCBIN_U16("graphics/intro/intro3_lightning.gbapal"); - -const u8 gIntro3RayquazaGfx[] = INCBIN_U8("graphics/intro/intro3_rayquaza.4bpp.lz"); -const u16 gIntro3RayquazaTilemap[] = INCBIN_U16("graphics/intro/intro3_rayquaza.bin.lz"); - -const u16 gUnknown_D8C374[] = INCBIN_U16("graphics/unknown/unknown_D8C374.bin.lz"); -const u16 gUnknown_D8C5C4[] = INCBIN_U16("graphics/unknown/unknown_D8C5C4.bin.lz"); - -const u8 gIntro3Clouds2Gfx[] = INCBIN_U8("graphics/intro/intro3_clouds2.4bpp.lz"); //clouds 2, during the rayquaza flash -const u16 gIntro3Clouds4Tilemap[] = INCBIN_U16("graphics/intro/intro3_clouds4.bin.lz"); - -const u8 gIntro2BubblesGfx[] = INCBIN_U8("graphics/intro/intro2_bubbles.4bpp.lz"); -const u16 gIntro2BubblesPal[] = INCBIN_U16("graphics/intro/intro2_bubbles.gbapal"); - -const u8 gIntro1FlygonGfx[] = INCBIN_U8("graphics/intro/intro1_flygon.4bpp.lz"); -const u8 gIntro1SparkleGfx[] = INCBIN_U8("graphics/intro/intro1_sparkle.4bpp.lz"); +#include "graphics/intro_scene.h" const u8 gBattleAnimSpriteSheet_261[] = INCBIN_U8("graphics/battle_anims/sprites/261.4bpp.lz"); @@ -1393,81 +1219,7 @@ const u8 gPokeblockGold_Pal[] = INCBIN_U8("graphics/pokeblock/gold.gbapal.lz"); const u16 gUnknown_08D9BA44[] = INCBIN_U16("graphics/interface/pokeblock_feeding_bg_map.bin.lz"); #include "graphics/berries.h" - -const u8 gRaySceneGroudon_Gfx[] = INCBIN_U8("graphics/rayquaza_scene/groudon.4bpp.lz"); -const u8 gRaySceneGroudon2_Gfx[] = INCBIN_U8("graphics/rayquaza_scene/groudon_shoulder.4bpp.lz"); -const u8 gRaySceneGroudon3_Gfx[] = INCBIN_U8("graphics/rayquaza_scene/groudon_claw.4bpp.lz"); - -const u8 gRaySceneKyogre_Gfx[] = INCBIN_U8("graphics/rayquaza_scene/kyogre.4bpp.lz"); -const u8 gRaySceneKyogre2_Gfx[] = INCBIN_U8("graphics/rayquaza_scene/kyogre_shoulder.4bpp.lz"); -const u8 gRaySceneKyogre3_Gfx[] = INCBIN_U8("graphics/rayquaza_scene/kyogre_fin.4bpp.lz"); - -const u8 gRaySceneGroudon_Pal[] = INCBIN_U8("graphics/rayquaza_scene/groudon.gbapal.lz"); -const u8 gRaySceneKyogre_Pal[] = INCBIN_U8("graphics/rayquaza_scene/kyogre.gbapal.lz"); - -const u8 gRaySceneClouds_Gfx[] = INCBIN_U8("graphics/rayquaza_scene/clouds.4bpp.lz"); -const u8 gRaySceneClouds_Pal[] = INCBIN_U8("graphics/rayquaza_scene/clouds.gbapal.lz"); // pal 1 clouds, pal 2 rain -const u16 gRaySceneClouds1_Tilemap[] = INCBIN_U16("graphics/rayquaza_scene/clouds1.bin.lz"); -const u16 gRaySceneClouds2_Tilemap[] = INCBIN_U16("graphics/rayquaza_scene/clouds2.bin.lz"); -const u16 gRaySceneClouds3_Tilemap[] = INCBIN_U16("graphics/rayquaza_scene/clouds3.bin.lz"); - -const u8 gRaySceneSmoke_Gfx[] = INCBIN_U8("graphics/rayquaza_scene/smoke.4bpp.lz"); -const u8 gRaySceneSmoke_Pal[] = INCBIN_U8("graphics/rayquaza_scene/smoke.gbapal.lz"); - -const u16 gRaySceneRayquaza_Gfx[] = INCBIN_U16("graphics/rayquaza_scene/rayquaza.8bpp.lz"); -const u8 gRaySceneRayquaza_Pal[] = INCBIN_U8("graphics/rayquaza_scene/rayquaza.gbapal.lz"); -const u16 gRaySceneRayquaza_Tilemap[] = INCBIN_U16("graphics/rayquaza_scene/rayquaza.bin.lz"); - -const u8 gRaySceneOvercast_Gfx[] = INCBIN_U8("graphics/rayquaza_scene/overcast.4bpp.lz"); // uses pal 2 of gRaySceneRayquaza_Pal -const u16 gRaySceneOvercast_Tilemap[] = INCBIN_U16("graphics/rayquaza_scene/overcast.bin.lz"); - -const u8 gRaySceneRayquazaFly1_Gfx[] = INCBIN_U8("graphics/rayquaza_scene/rayquaza_fly1.4bpp.lz"); -const u8 gRaySceneRayquazaTail_Gfx[] = INCBIN_U8( "graphics/rayquaza_scene/rayquaza_tail_fix.4bpp.lz"); // for some reason there are an extra 0xC bytes at the end of the original 4bpp, so in order to produce the correct lz, we have to cat the bytes at the end with a make rule. not sure why those bytes are there, it may have been a bug in Game Freak's software. - -const u8 gRaySceneOvercast2_Gfx[] = INCBIN_U8("graphics/rayquaza_scene/overcast2.4bpp.lz"); - -const u8 gRaySceneRayquazaLight_Gfx[] = INCBIN_U8("graphics/rayquaza_scene/rayquaza_light.4bpp.lz"); // uses pal 2 of gRaySceneOvercast2_Pal - -const u8 gRaySceneOvercast2_Pal[] = INCBIN_U8("graphics/rayquaza_scene/overcast2.gbapal.lz"); -const u16 gRaySceneOvercast2_Tilemap[] = INCBIN_U16("graphics/rayquaza_scene/overcast2.bin.lz"); - -const u8 gRaySceneRayquazaLight_Tilemap[] = INCBIN_U8("graphics/rayquaza_scene/rayquaza_light.bin.lz"); - -const u8 gRaySceneChaseBg_Gfx[] = INCBIN_U8("graphics/rayquaza_scene/chase_bg.4bpp.lz"); -const u16 gRaySceneChaseBg_Tilemap[] = INCBIN_U16("graphics/rayquaza_scene/chase_bg.bin.lz"); - -const u8 gRaySceneChaseStreaks_Gfx[] = INCBIN_U8("graphics/rayquaza_scene/chase_streaks.4bpp.lz"); -const u16 gRaySceneChaseStreaks_Tilemap[] = INCBIN_U16("graphics/rayquaza_scene/chase_streaks.bin.lz"); - -const u8 gRaySceneRayquazaChase_Gfx[] = INCBIN_U8("graphics/rayquaza_scene/rayquaza_chase.4bpp.lz"); -const u16 gRayChaseRayquazaChase_Tilemap[] = INCBIN_U16("graphics/rayquaza_scene/rayquaza_chase.bin.lz"); -const u16 gRayChaseRayquazaChase2_Tilemap[] = INCBIN_U16("graphics/rayquaza_scene/rayquaza_chase2.bin.lz"); - -const u8 gRaySceneChase_Pal[] = INCBIN_U8("graphics/rayquaza_scene/chase.gbapal.lz"); - -const u8 gRaySceneGroudonLeft_Gfx[] = INCBIN_U8("graphics/rayquaza_scene/groudon_left.4bpp.lz"); -const u8 gRaySceneGroudonTail_Gfx[] = INCBIN_U8("graphics/rayquaza_scene/groudon_tail.4bpp.lz"); - -const u8 gRaySceneKyogreRight_Gfx[] = INCBIN_U8("graphics/rayquaza_scene/kyogre_right.4bpp.lz"); - -const u8 gRaySceneRayquazaHover_Gfx[] = INCBIN_U8("graphics/rayquaza_scene/rayquaza_hover.4bpp.lz"); -const u8 gRaySceneRayquazaFlyIn_Gfx[] = INCBIN_U8("graphics/rayquaza_scene/rayquaza_flyin.4bpp.lz"); - -const u8 gRaySceneSplash_Gfx[] = INCBIN_U8("graphics/rayquaza_scene/splash.4bpp.lz"); - -const u8 gRaySceneGroudonLeft_Pal[] = INCBIN_U8("graphics/rayquaza_scene/groudon_left.gbapal.lz"); -const u8 gRaySceneKyogreRight_Pal[] = INCBIN_U8("graphics/rayquaza_scene/kyogre_right.gbapal.lz"); -const u8 gRaySceneRayquazaHover_Pal[] = INCBIN_U8("graphics/rayquaza_scene/rayquaza_hover.gbapal.lz"); - -const u8 gRaySceneSplash_Pal[] = INCBIN_U8("graphics/rayquaza_scene/splash.gbapal.lz"); - -const u8 gRaySceneHushBg_Gfx[] = INCBIN_U8("graphics/rayquaza_scene/hush_bg.4bpp.lz"); -const u16 gRaySceneHushRing_Gfx[] = INCBIN_U16("graphics/rayquaza_scene/hush_ring.8bpp.lz"); -const u16 gRaySceneHushBg_Tilemap[] = INCBIN_U16("graphics/rayquaza_scene/hush_bg.bin.lz"); -const u16 gRaySceneHushRing_Tilemap[] = INCBIN_U16("graphics/rayquaza_scene/hush_ring.bin.lz"); -const u16 gRaySceneHushRing_Map[] = INCBIN_U16("graphics/rayquaza_scene/hush_ring_map.bin.lz"); -const u8 gRaySceneHushBg_Pal[] = INCBIN_U8("graphics/rayquaza_scene/hush_bg.gbapal.lz"); - +#include "graphics/rayquaza_scene.h" #include "graphics/items.h" #include "graphics/decorations.h" @@ -1496,46 +1248,7 @@ const u8 gRouletteCreditTiles[] = INCBIN_U8("graphics/roulette/credit.4bpp.lz"); const u8 gRouletteNumbersTiles[] = INCBIN_U8("graphics/roulette/numbers.4bpp.lz"); const u8 gRouletteMultiplierTiles[] = INCBIN_U8("graphics/roulette/multiplier.4bpp.lz"); -const u16 gMailPalette_Orange[] = INCBIN_U16("graphics/mail/orange/palette.gbapal"); -const u16 gMailPalette_Harbor[] = INCBIN_U16("graphics/mail/harbor/palette.gbapal"); -const u16 gMailPalette_Glitter[] = INCBIN_U16("graphics/mail/glitter/palette.gbapal"); -const u16 gMailPalette_Mech[] = INCBIN_U16("graphics/mail/mech/palette.gbapal"); -const u16 gMailPalette_Wood[] = INCBIN_U16("graphics/mail/wood/palette.gbapal"); -const u16 gMailPalette_Wave[] = INCBIN_U16("graphics/mail/wave/palette.gbapal"); -const u16 gMailPalette_Bead[] = INCBIN_U16("graphics/mail/bead/palette.gbapal"); -const u16 gMailPalette_Shadow[] = INCBIN_U16("graphics/mail/shadow/palette.gbapal"); -const u16 gMailPalette_Tropic[] = INCBIN_U16("graphics/mail/tropic/palette.gbapal"); -const u16 gMailPalette_Dream[] = INCBIN_U16("graphics/mail/dream/palette.gbapal"); -const u16 gMailPalette_Fab[] = INCBIN_U16("graphics/mail/fab/palette.gbapal"); -const u16 gMailPalette_Retro[] = INCBIN_U16("graphics/mail/retro/palette.gbapal"); - -const u8 gMailTiles_Orange[] = INCBIN_U8("graphics/mail/orange/tiles.4bpp.lz"); -const u8 gMailTiles_Harbor[] = INCBIN_U8("graphics/mail/harbor/tiles.4bpp.lz"); -const u8 gMailTiles_Glitter[] = INCBIN_U8("graphics/mail/glitter/tiles.4bpp.lz"); -const u8 gMailTiles_Mech[] = INCBIN_U8("graphics/mail/mech/tiles.4bpp.lz"); -const u8 gMailTiles_Wood[] = INCBIN_U8("graphics/mail/wood/tiles.4bpp.lz"); -const u8 gMailTiles_Wave[] = INCBIN_U8("graphics/mail/wave/tiles.4bpp.lz"); -const u8 gMailTiles_Bead[] = INCBIN_U8("graphics/mail/bead/tiles.4bpp.lz"); -const u8 gMailTiles_Shadow[] = INCBIN_U8("graphics/mail/shadow/tiles.4bpp.lz"); -const u8 gMailTiles_Tropic[] = INCBIN_U8("graphics/mail/tropic/tiles.4bpp.lz"); -const u8 gMailTiles_Dream[] = INCBIN_U8("graphics/mail/dream/tiles.4bpp.lz"); -const u8 gMailTiles_Fab[] = INCBIN_U8("graphics/mail/fab/tiles.4bpp.lz"); -const u8 gMailTiles_Retro[] = INCBIN_U8("graphics/mail/retro/tiles.4bpp.lz"); - -const u16 gMailTilemap_Orange[] = INCBIN_U16("graphics/mail/orange/map.bin.lz"); -const u16 gMailTilemap_Harbor[] = INCBIN_U16("graphics/mail/harbor/map.bin.lz"); -const u16 gMailTilemap_Glitter[] = INCBIN_U16("graphics/mail/glitter/map.bin.lz"); -const u16 gMailTilemap_Mech[] = INCBIN_U16("graphics/mail/mech/map.bin.lz"); -const u16 gMailTilemap_Wood[] = INCBIN_U16("graphics/mail/wood/map.bin.lz"); -const u16 gMailTilemap_Wave[] = INCBIN_U16("graphics/mail/wave/map.bin.lz"); -const u16 gMailTilemap_Bead[] = INCBIN_U16("graphics/mail/bead/map.bin.lz"); -const u16 gMailTilemap_Shadow[] = INCBIN_U16("graphics/mail/shadow/map.bin.lz"); -const u16 gMailTilemap_Tropic[] = INCBIN_U16("graphics/mail/tropic/map.bin.lz"); -const u16 gMailTilemap_Dream[] = INCBIN_U16("graphics/mail/dream/map.bin.lz"); -const u16 gMailTilemap_Fab[] = INCBIN_U16("graphics/mail/fab/map.bin.lz"); -const u16 gMailTilemap_Retro[] = INCBIN_U16("graphics/mail/retro/map.bin.lz"); - -// OK +#include "graphics/mail.h" const u16 gFrontierFactorySelectMenu_Pal[] = INCBIN_U16("graphics/battle_frontier/factory_menu1.gbapal"); const u16 gFrontierFactorySelectMenu_Pal2[] = INCBIN_U16("graphics/battle_frontier/factory_menu2.gbapal"); @@ -1711,68 +1424,7 @@ const u8 gUsePokeblockGraph_Gfx[] = INCBIN_U8("graphics/pokeblock/use_screen/gra const u16 gUsePokeblockGraph_Tilemap[] = INCBIN_U16("graphics/pokeblock/use_screen/graph.bin.lz"); const u16 gUsePokeblockNatureWin_Pal[] = INCBIN_U16("graphics/pokeblock/use_screen/nature.gbapal"); -// slot machine - -const u16 gSlotMachineMenu_Pal[] = INCBIN_U16("graphics/slot_machine/menu.gbapal"); -const u8 gSlotMachineMenu_Gfx[] = INCBIN_U8("graphics/slot_machine/menu.4bpp.lz"); -const u16 gSlotMachineMenu_Tilemap[] = INCBIN_U16("graphics/slot_machine/menu.bin"); - -const u16 gUnknown_08DCEC70[] = INCBIN_U16("graphics/slot_machine/slots_layout.bin"); - -const u16 gUnknown_08DCF170[] = INCBIN_U16("graphics/slot_machine/reel_symbols/1.gbapal"); - -const u16 gUnknown_08DCF190[] = INCBIN_U16("graphics/slot_machine/reel_pikachu.gbapal"); - -const u16 gUnknown_08DCF1B0[] = INCBIN_U16("graphics/slot_machine/shadow.gbapal"); - -const u16 gSlotMachineReelTime_Pal[] = INCBIN_U16("graphics/slot_machine/reel_time.gbapal"); - -const u16 gUnknown_08DCF1F0[] = INCBIN_U16("graphics/slot_machine/smoke.gbapal"); // also duck and pika aura - -const u16 gUnknown_08DCF210[] = INCBIN_U16("graphics/slot_machine/reel_time_explosion/0.gbapal"); - -const u16 gUnknown_08DCF230[] = INCBIN_U16("graphics/slot_machine/spr6.gbapal"); - -const u8 gSlotMachineReelSymbol1Tiles[] = INCBIN_U8("graphics/slot_machine/reel_symbols/1.4bpp"); -const u8 gSlotMachineReelSymbol2Tiles[] = INCBIN_U8("graphics/slot_machine/reel_symbols/2.4bpp"); -const u8 gSlotMachineReelSymbol3Tiles[] = INCBIN_U8("graphics/slot_machine/reel_symbols/3.4bpp"); -const u8 gSlotMachineReelSymbol4Tiles[] = INCBIN_U8("graphics/slot_machine/reel_symbols/4.4bpp"); -const u8 gSlotMachineReelSymbol5Tiles[] = INCBIN_U8("graphics/slot_machine/reel_symbols/5.4bpp"); -const u8 gSlotMachineReelSymbol6Tiles[] = INCBIN_U8("graphics/slot_machine/reel_symbols/6.4bpp"); -const u8 gSlotMachineReelSymbol7Tiles[] = INCBIN_U8("graphics/slot_machine/reel_symbols/7.4bpp"); - -const u8 gSlotMachineReelTime_Gfx[] = INCBIN_U8("graphics/slot_machine/reel_time.4bpp.lz"); - -const u8 gSlotMachineNumber0Tiles[] = INCBIN_U8("graphics/slot_machine/numbers/0.4bpp"); -const u8 gSlotMachineNumber1Tiles[] = INCBIN_U8("graphics/slot_machine/numbers/1.4bpp"); -const u8 gSlotMachineNumber2Tiles[] = INCBIN_U8("graphics/slot_machine/numbers/2.4bpp"); -const u8 gSlotMachineNumber3Tiles[] = INCBIN_U8("graphics/slot_machine/numbers/3.4bpp"); -const u8 gSlotMachineNumber4Tiles[] = INCBIN_U8("graphics/slot_machine/numbers/4.4bpp"); -const u8 gSlotMachineNumber5Tiles[] = INCBIN_U8("graphics/slot_machine/numbers/5.4bpp"); -const u8 gSlotMachineNumber6Tiles[] = INCBIN_U8("graphics/slot_machine/numbers/6.4bpp"); -const u8 gSlotMachineNumber7Tiles[] = INCBIN_U8("graphics/slot_machine/numbers/7.4bpp"); -const u8 gSlotMachineNumber8Tiles[] = INCBIN_U8("graphics/slot_machine/numbers/8.4bpp"); -const u8 gSlotMachineNumber9Tiles[] = INCBIN_U8("graphics/slot_machine/numbers/9.4bpp"); - -const u8 gSlotMachineReelTimeBolt[] = INCBIN_U8("graphics/slot_machine/bolt.4bpp"); -const u8 gSlotMachineReelTimeDuck[] = INCBIN_U8("graphics/slot_machine/duck.4bpp"); -const u8 gSlotMachineReelTimeSmoke[] = INCBIN_U8("graphics/slot_machine/smoke.4bpp"); - -const u8 gSlotMachineReelTimeNumber0[] = INCBIN_U8("graphics/slot_machine/reel_time_numbers/0.4bpp"); -const u8 gSlotMachineReelTimeNumber1[] = INCBIN_U8("graphics/slot_machine/reel_time_numbers/1.4bpp"); -const u8 gSlotMachineReelTimeNumber2[] = INCBIN_U8("graphics/slot_machine/reel_time_numbers/2.4bpp"); -const u8 gSlotMachineReelTimeNumber3[] = INCBIN_U8("graphics/slot_machine/reel_time_numbers/3.4bpp"); -const u8 gSlotMachineReelTimeNumber4[] = INCBIN_U8("graphics/slot_machine/reel_time_numbers/4.4bpp"); -const u8 gSlotMachineReelTimeNumber5[] = INCBIN_U8("graphics/slot_machine/reel_time_numbers/5.4bpp"); - -const u8 gSlotMachineReelTimeLargeBolt0[] = INCBIN_U8("graphics/slot_machine/large_bolt/0.4bpp"); -const u8 gSlotMachineReelTimeLargeBolt1[] = INCBIN_U8("graphics/slot_machine/large_bolt/1.4bpp"); - -const u8 gSlotMachineReelTimeExplosion0[] = INCBIN_U8("graphics/slot_machine/reel_time_explosion/0.4bpp"); -const u8 gSlotMachineReelTimeExplosion1[] = INCBIN_U8("graphics/slot_machine/reel_time_explosion/1.4bpp"); - -const u8 gSlotMachineReelTimeShadow[] = INCBIN_U8("graphics/slot_machine/shadow.4bpp"); -const u8 gSlotMachineReelTimePikaAura[] = INCBIN_U8("graphics/slot_machine/pika_aura.4bpp"); +#include "graphics/slot_machine.h" const u16 gUnknown_08DD19F8[] = INCBIN_U16("graphics/unknown/unknown_DD19F8.bin"); @@ -1833,22 +1485,25 @@ const u16 gUnknown_08DD4C4C[] = INCBIN_U16("graphics/link/link_winedge.bin.lz"); const u8 gUnknown_08DD4CF8[] = INCBIN_U8("graphics/interface/unk_change_case.4bpp.lz"); -const u16 gTilesetPalettes_General[] = INCBIN_U16("data/tilesets/primary/general/palettes/00.gbapal"); -const u16 gTilesetPalettes_General1[] = INCBIN_U16("data/tilesets/primary/general/palettes/01.gbapal"); -const u16 gTilesetPalettes_General2[] = INCBIN_U16("data/tilesets/primary/general/palettes/02.gbapal"); -const u16 gTilesetPalettes_General3[] = INCBIN_U16("data/tilesets/primary/general/palettes/03.gbapal"); -const u16 gTilesetPalettes_General4[] = INCBIN_U16("data/tilesets/primary/general/palettes/04.gbapal"); -const u16 gTilesetPalettes_General5[] = INCBIN_U16("data/tilesets/primary/general/palettes/05.gbapal"); -const u16 gTilesetPalettes_General6[] = INCBIN_U16("data/tilesets/primary/general/palettes/06.gbapal"); -const u16 gTilesetPalettes_General7[] = INCBIN_U16("data/tilesets/primary/general/palettes/07.gbapal"); -const u16 gTilesetPalettes_General8[] = INCBIN_U16("data/tilesets/primary/general/palettes/08.gbapal"); -const u16 gTilesetPalettes_General9[] = INCBIN_U16("data/tilesets/primary/general/palettes/09.gbapal"); -const u16 gTilesetPalettes_General10[] = INCBIN_U16("data/tilesets/primary/general/palettes/10.gbapal"); -const u16 gTilesetPalettes_General11[] = INCBIN_U16("data/tilesets/primary/general/palettes/11.gbapal"); -const u16 gTilesetPalettes_General12[] = INCBIN_U16("data/tilesets/primary/general/palettes/12.gbapal"); -const u16 gTilesetPalettes_General13[] = INCBIN_U16("data/tilesets/primary/general/palettes/13.gbapal"); -const u16 gTilesetPalettes_General14[] = INCBIN_U16("data/tilesets/primary/general/palettes/14.gbapal"); -const u16 gTilesetPalettes_General15[] = INCBIN_U16("data/tilesets/primary/general/palettes/15.gbapal"); +const u16 gTilesetPalettes_General[][16] = +{ + INCBIN_U16("data/tilesets/primary/general/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/primary/general/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/primary/general/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/primary/general/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/primary/general/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/primary/general/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/primary/general/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/primary/general/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/primary/general/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/primary/general/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/primary/general/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/primary/general/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/primary/general/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/primary/general/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/primary/general/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/primary/general/palettes/15.gbapal"), +}; const u8 gTilesetTiles_General[] = INCBIN_U8("data/tilesets/primary/general/tiles.4bpp.lz"); @@ -1861,31 +1516,7 @@ const u8 gTradeGba_Gfx[] = INCBIN_U8("graphics/link/gba.4bpp"); // 8DD8760 asm(".space 0x20"); //blank palette?? -// berry fix program - -const u16 gBerryFixGameboy_Pal[] = INCBIN_U16("graphics/berry_fix/gba_small.gbapal"); -const u8 gBerryFixGameboy_Gfx[] = INCBIN_U8("graphics/berry_fix/gba_small.4bpp.lz"); -const u16 gBerryFixGameboy_Tilemap[] = INCBIN_U16("graphics/berry_fix/gba_small.bin.lz"); - -const u16 gBerryFixGameboyLogo_Pal[] = INCBIN_U16("graphics/berry_fix/logo.gbapal"); -const u8 gBerryFixGameboyLogo_Gfx[] = INCBIN_U8("graphics/berry_fix/logo.4bpp.lz"); -const u16 gBerryFixGameboyLogo_Tilemap[] = INCBIN_U16("graphics/berry_fix/logo.bin.lz"); - -const u16 gBerryFixGbaTransfer_Pal[] = INCBIN_U16("graphics/berry_fix/gba_transfer.gbapal"); -const u8 gBerryFixGbaTransfer_Gfx[] = INCBIN_U8("graphics/berry_fix/gba_transfer.4bpp.lz"); -const u16 gBerryFixGbaTransfer_Tilemap[] = INCBIN_U16("graphics/berry_fix/gba_transfer.bin.lz"); - -const u16 gBerryFixGbaTransferHighlight_Pal[] = INCBIN_U16("graphics/berry_fix/gba_transfer_highlight.gbapal"); -const u8 gBerryFixGbaTransferHighlight_Gfx[] = INCBIN_U8("graphics/berry_fix/gba_transfer_highlight.4bpp.lz"); -const u16 gBerryFixGbaTransferHighlight_Tilemap[] = INCBIN_U16("graphics/berry_fix/gba_transfer_highlight.bin.lz"); - -const u16 gBerryFixGbaTransferError_Pal[] = INCBIN_U16("graphics/berry_fix/gba_transfer_error.gbapal"); -const u8 gBerryFixGbaTransferError_Gfx[] = INCBIN_U8("graphics/berry_fix/gba_transfer_error.4bpp.lz"); -const u16 gBerryFixGbaTransferError_Tilemap[] = INCBIN_U16("graphics/berry_fix/gba_transfer_error.bin.lz"); - -const u16 gBerryFixWindow_Pal[] = INCBIN_U16("graphics/berry_fix/window.gbapal"); -const u8 gBerryFixWindow_Gfx[] = INCBIN_U8("graphics/berry_fix/window.4bpp.lz"); -const u16 gBerryFixWindow_Tilemap[] = INCBIN_U16("graphics/berry_fix/window.bin.lz"); +#include "graphics/berry_fix.h" // more trade stuff? @@ -1910,14 +1541,20 @@ const u8 gWallpaperIcon_Cross[] = INCBIN_U8("graphics/pokemon_storage/cross_icon const u8 gWallpaperIcon_Bolt[] = INCBIN_U8("graphics/pokemon_storage/bolt_icon.4bpp.lz"); const u8 gWallpaperIcon_Plusle[] = INCBIN_U8("graphics/pokemon_storage/plusle_icon.4bpp.lz"); -const u16 gWallpaperPalettes_Horizontal[] = INCBIN_U16("graphics/pokemon_storage/friends_frame2.gbapal"); -const u16 gWallpaperPalettes_Horizontal2[] = INCBIN_U16("graphics/pokemon_storage/horizontal_bg.gbapal"); +const u16 gWallpaperPalettes_Horizontal[][16] = +{ + INCBIN_U16("graphics/pokemon_storage/friends_frame2.gbapal"), + INCBIN_U16("graphics/pokemon_storage/horizontal_bg.gbapal"), +}; const u8 gWallpaperTiles_Horizontal[] = INCBIN_U8("graphics/pokemon_storage/horizontal.4bpp.lz"); const u16 gWallpaperTilemap_Horizontal[] = INCBIN_U16("graphics/pokemon_storage/horizontal.bin.lz"); -const u16 gWallpaperPalettes_Ribbon[] = INCBIN_U16("graphics/pokemon_storage/ribbon_frame.gbapal"); -const u16 gWallpaperPalettes_Ribbon2[] = INCBIN_U16("graphics/pokemon_storage/ribbon_bg.gbapal"); +const u16 gWallpaperPalettes_Ribbon[][16] = +{ + INCBIN_U16("graphics/pokemon_storage/ribbon_frame.gbapal"), + INCBIN_U16("graphics/pokemon_storage/ribbon_bg.gbapal"), +}; const u8 gWallpaperTiles_Ribbon[] = INCBIN_U8("graphics/pokemon_storage/ribbon.4bpp.lz"); const u16 gWallpaperTilemap_Ribbon[] = INCBIN_U16("graphics/pokemon_storage/ribbon.bin.lz"); @@ -1928,9 +1565,12 @@ const u16 gUnknown_08DDE010[] = INCBIN_U16("graphics/pokenav/ribbons.gbapal"); const u8 gUnknown_08DDE030[] = INCBIN_U8("graphics/pokenav/ribbons.4bpp.lz"); const u16 gUnknown_08DDE12C[] = INCBIN_U16("graphics/pokenav/ribbons.bin.lz"); -const u16 gMonIconPalettes[] = INCBIN_U16("graphics/pokemon/icon_palettes/icon_palette_0.gbapal"); -const u16 gMonIconPalettes1[] = INCBIN_U16("graphics/pokemon/icon_palettes/icon_palette_1.gbapal"); -const u16 gMonIconPalettes2[] = INCBIN_U16("graphics/pokemon/icon_palettes/icon_palette_2.gbapal"); +const u16 gMonIconPalettes[][16] = +{ + INCBIN_U16("graphics/pokemon/icon_palettes/icon_palette_0.gbapal"), + INCBIN_U16("graphics/pokemon/icon_palettes/icon_palette_1.gbapal"), + INCBIN_U16("graphics/pokemon/icon_palettes/icon_palette_2.gbapal"), +}; const u16 gTitleScreenBgPalettes[] = INCBIN_U16("graphics/title_screen/pokemon_logo.gbapal"); const u16 gTitleScreenBgPalettes2[] = INCBIN_U16("graphics/title_screen/rayquaza_and_clouds.gbapal"); diff --git a/src/graphics/battle_terrain.h b/src/graphics/battle_terrain.h new file mode 100644 index 0000000000..4ff9883fea --- /dev/null +++ b/src/graphics/battle_terrain.h @@ -0,0 +1,88 @@ +const u8 gBattleTerrainTiles_TallGrass[] = INCBIN_U8("graphics/battle_terrain/tall_grass/tiles.4bpp.lz"); +const u8 gBattleTerrainPalette_TallGrass[] = INCBIN_U8("graphics/battle_terrain/tall_grass/palette.gbapal.lz"); +const u16 gBattleTerrainTilemap_TallGrass[] = INCBIN_U16("graphics/battle_terrain/tall_grass/map.bin.lz"); + +const u8 gBattleTerrainTiles_LongGrass[] = INCBIN_U8("graphics/battle_terrain/long_grass/tiles.4bpp.lz"); +const u8 gBattleTerrainPalette_LongGrass[] = INCBIN_U8("graphics/battle_terrain/long_grass/palette.gbapal.lz"); +const u16 gBattleTerrainTilemap_LongGrass[] = INCBIN_U16("graphics/battle_terrain/long_grass/map.bin.lz"); + +const u8 gBattleTerrainTiles_Sand[] = INCBIN_U8("graphics/battle_terrain/sand/tiles.4bpp.lz"); +const u8 gBattleTerrainPalette_Sand[] = INCBIN_U8("graphics/battle_terrain/sand/palette.gbapal.lz"); +const u16 gBattleTerrainTilemap_Sand[] = INCBIN_U16("graphics/battle_terrain/sand/map.bin.lz"); + +const u8 gBattleTerrainTiles_Underwater[] = INCBIN_U8("graphics/battle_terrain/underwater/tiles.4bpp.lz"); +const u8 gBattleTerrainPalette_Underwater[] = INCBIN_U8("graphics/battle_terrain/underwater/palette.gbapal.lz"); +const u16 gBattleTerrainTilemap_Underwater[] = INCBIN_U16("graphics/battle_terrain/underwater/map.bin.lz"); + +const u8 gBattleTerrainTiles_Water[] = INCBIN_U8("graphics/battle_terrain/water/tiles.4bpp.lz"); +const u8 gBattleTerrainPalette_Water[] = INCBIN_U8("graphics/battle_terrain/water/palette.gbapal.lz"); +const u16 gBattleTerrainTilemap_Water[] = INCBIN_U16("graphics/battle_terrain/water/map.bin.lz"); + +const u8 gBattleTerrainTiles_PondWater[] = INCBIN_U8("graphics/battle_terrain/pond_water/tiles.4bpp.lz"); +const u8 gBattleTerrainPalette_PondWater[] = INCBIN_U8("graphics/battle_terrain/pond_water/palette.gbapal.lz"); +const u16 gBattleTerrainTilemap_PondWater[] = INCBIN_U16("graphics/battle_terrain/pond_water/map.bin.lz"); + +const u8 gBattleTerrainTiles_Rock[] = INCBIN_U8("graphics/battle_terrain/rock/tiles.4bpp.lz"); +const u8 gBattleTerrainPalette_Rock[] = INCBIN_U8("graphics/battle_terrain/rock/palette.gbapal.lz"); +const u16 gBattleTerrainTilemap_Rock[] = INCBIN_U16("graphics/battle_terrain/rock/map.bin.lz"); + +const u8 gBattleTerrainTiles_Cave[] = INCBIN_U8("graphics/battle_terrain/cave/tiles.4bpp.lz"); +const u8 gBattleTerrainPalette_Cave[] = INCBIN_U8("graphics/battle_terrain/cave/palette.gbapal.lz"); +const u16 gBattleTerrainTilemap_Cave[] = INCBIN_U16("graphics/battle_terrain/cave/map.bin.lz"); + +const u8 gBattleTerrainPalette_Plain[] = INCBIN_U8("graphics/battle_terrain/plain/palette.gbapal.lz"); + +const u8 gBattleTerrainTiles_Building[] = INCBIN_U8("graphics/battle_terrain/building/tiles.4bpp.lz"); +const u8 gBattleTerrainPalette_Frontier[] = INCBIN_U8("graphics/battle_terrain/stadium/battle_frontier.gbapal.lz"); // this is also used for link battles +const u16 gBattleTerrainTilemap_Building[] = INCBIN_U16("graphics/battle_terrain/building/map.bin.lz"); + +const u8 gBattleTerrainTiles_Stadium[] = INCBIN_U8("graphics/battle_terrain/stadium/tiles.4bpp.lz"); +const u16 gBattleTerrainTilemap_Stadium[] = INCBIN_U16("graphics/battle_terrain/stadium/map.bin.lz"); + +const u8 gBattleTerrainTiles_Rayquaza[] = INCBIN_U8("graphics/battle_terrain/sky/tiles.4bpp.lz"); +const u16 gBattleTerrainTilemap_Rayquaza[] = INCBIN_U16("graphics/battle_terrain/sky/map.bin.lz"); + +const u8 gBattleTerrainPalette_Building[] = INCBIN_U8("graphics/battle_terrain/building/palette.gbapal.lz"); + +const u8 gBattleTerrainPalette_Kyogre[] = INCBIN_U8("graphics/battle_terrain/water/kyogre.gbapal.lz"); +const u8 gBattleTerrainPalette_Groudon[] = INCBIN_U8("graphics/battle_terrain/cave/groudon.gbapal.lz"); +const u8 gBattleTerrainPalette_BuildingGym[] = INCBIN_U8("graphics/battle_terrain/building/palette2.gbapal.lz"); +const u8 gBattleTerrainPalette_BuildingLeader[] = INCBIN_U8("graphics/battle_terrain/building/palette3.gbapal.lz"); +const u8 gBattleTerrainPalette_StadiumAqua[] = INCBIN_U8("graphics/battle_terrain/stadium/palette1.gbapal.lz"); +const u8 gBattleTerrainPalette_StadiumMagma[] = INCBIN_U8("graphics/battle_terrain/stadium/palette2.gbapal.lz"); +const u8 gBattleTerrainPalette_StadiumSidney[] = INCBIN_U8("graphics/battle_terrain/stadium/palette3.gbapal.lz"); +const u8 gBattleTerrainPalette_StadiumPhoebe[] = INCBIN_U8("graphics/battle_terrain/stadium/palette4.gbapal.lz"); +const u8 gBattleTerrainPalette_StadiumGlacia[] = INCBIN_U8("graphics/battle_terrain/stadium/palette5.gbapal.lz"); +const u8 gBattleTerrainPalette_StadiumDrake[] = INCBIN_U8("graphics/battle_terrain/stadium/palette6.gbapal.lz"); +const u8 gBattleTerrainPalette_StadiumWallace[] = INCBIN_U8("graphics/battle_terrain/stadium/palette7.gbapal.lz"); +const u8 gBattleTerrainPalette_Rayquaza[] = INCBIN_U8("graphics/battle_terrain/sky/palette.gbapal.lz"); + +const u8 gBattleTerrainAnimTiles_TallGrass[] = INCBIN_U8("graphics/battle_terrain/tall_grass/anim_tiles.4bpp.lz"); +const u16 gBattleTerrainAnimTilemap_TallGrass[] = INCBIN_U16("graphics/battle_terrain/tall_grass/anim_map.bin.lz"); + +const u8 gBattleTerrainAnimTiles_LongGrass[] = INCBIN_U8("graphics/battle_terrain/long_grass/anim_tiles.4bpp.lz"); +const u16 gBattleTerrainAnimTilemap_LongGrass[] = INCBIN_U16("graphics/battle_terrain/long_grass/anim_map.bin.lz"); + +const u8 gBattleTerrainAnimTiles_Sand[] = INCBIN_U8("graphics/battle_terrain/sand/anim_tiles.4bpp.lz"); +const u16 gBattleTerrainAnimTilemap_Sand[] = INCBIN_U16("graphics/battle_terrain/sand/anim_map.bin.lz"); + +const u8 gBattleTerrainAnimTiles_Underwater[] = INCBIN_U8("graphics/battle_terrain/underwater/anim_tiles.4bpp.lz"); +const u16 gBattleTerrainAnimTilemap_Underwater[] = INCBIN_U16("graphics/battle_terrain/underwater/anim_map.bin.lz"); + +const u8 gBattleTerrainAnimTiles_Water[] = INCBIN_U8("graphics/battle_terrain/water/anim_tiles.4bpp.lz"); +const u16 gBattleTerrainAnimTilemap_Water[] = INCBIN_U16("graphics/battle_terrain/water/anim_map.bin.lz"); + +const u8 gBattleTerrainAnimTiles_PondWater[] = INCBIN_U8("graphics/battle_terrain/pond_water/anim_tiles.4bpp.lz"); +const u16 gBattleTerrainAnimTilemap_PondWater[] = INCBIN_U16("graphics/battle_terrain/pond_water/anim_map.bin.lz"); + +const u8 gBattleTerrainAnimTiles_Rock[] = INCBIN_U8("graphics/battle_terrain/rock/anim_tiles.4bpp.lz"); +const u16 gBattleTerrainAnimTilemap_Rock[] = INCBIN_U16("graphics/battle_terrain/rock/anim_map.bin.lz"); + +const u8 gBattleTerrainAnimTiles_Cave[] = INCBIN_U8("graphics/battle_terrain/cave/anim_tiles.4bpp.lz"); +const u16 gBattleTerrainAnimTilemap_Cave[] = INCBIN_U16("graphics/battle_terrain/cave/anim_map.bin.lz"); + +const u8 gBattleTerrainAnimTiles_Building[] = INCBIN_U8("graphics/battle_terrain/building/anim_tiles.4bpp.lz"); +const u16 gBattleTerrainAnimTilemap_Building[] = INCBIN_U16("graphics/battle_terrain/building/anim_map.bin.lz"); + +const u8 gBattleTerrainAnimTiles_Rayquaza[] = INCBIN_U8("graphics/battle_terrain/sky/anim_tiles.4bpp.lz"); +const u16 gBattleTerrainAnimTilemap_Rayquaza[] = INCBIN_U16("graphics/battle_terrain/sky/anim_map.bin.lz"); diff --git a/src/graphics/berry_fix.h b/src/graphics/berry_fix.h new file mode 100644 index 0000000000..4012ab5a30 --- /dev/null +++ b/src/graphics/berry_fix.h @@ -0,0 +1,23 @@ +const u16 gBerryFixGameboy_Pal[] = INCBIN_U16("graphics/berry_fix/gba_small.gbapal"); +const u8 gBerryFixGameboy_Gfx[] = INCBIN_U8("graphics/berry_fix/gba_small.4bpp.lz"); +const u16 gBerryFixGameboy_Tilemap[] = INCBIN_U16("graphics/berry_fix/gba_small.bin.lz"); + +const u16 gBerryFixGameboyLogo_Pal[] = INCBIN_U16("graphics/berry_fix/logo.gbapal"); +const u8 gBerryFixGameboyLogo_Gfx[] = INCBIN_U8("graphics/berry_fix/logo.4bpp.lz"); +const u16 gBerryFixGameboyLogo_Tilemap[] = INCBIN_U16("graphics/berry_fix/logo.bin.lz"); + +const u16 gBerryFixGbaTransfer_Pal[] = INCBIN_U16("graphics/berry_fix/gba_transfer.gbapal"); +const u8 gBerryFixGbaTransfer_Gfx[] = INCBIN_U8("graphics/berry_fix/gba_transfer.4bpp.lz"); +const u16 gBerryFixGbaTransfer_Tilemap[] = INCBIN_U16("graphics/berry_fix/gba_transfer.bin.lz"); + +const u16 gBerryFixGbaTransferHighlight_Pal[] = INCBIN_U16("graphics/berry_fix/gba_transfer_highlight.gbapal"); +const u8 gBerryFixGbaTransferHighlight_Gfx[] = INCBIN_U8("graphics/berry_fix/gba_transfer_highlight.4bpp.lz"); +const u16 gBerryFixGbaTransferHighlight_Tilemap[] = INCBIN_U16("graphics/berry_fix/gba_transfer_highlight.bin.lz"); + +const u16 gBerryFixGbaTransferError_Pal[] = INCBIN_U16("graphics/berry_fix/gba_transfer_error.gbapal"); +const u8 gBerryFixGbaTransferError_Gfx[] = INCBIN_U8("graphics/berry_fix/gba_transfer_error.4bpp.lz"); +const u16 gBerryFixGbaTransferError_Tilemap[] = INCBIN_U16("graphics/berry_fix/gba_transfer_error.bin.lz"); + +const u16 gBerryFixWindow_Pal[] = INCBIN_U16("graphics/berry_fix/window.gbapal"); +const u8 gBerryFixWindow_Gfx[] = INCBIN_U8("graphics/berry_fix/window.4bpp.lz"); +const u16 gBerryFixWindow_Tilemap[] = INCBIN_U16("graphics/berry_fix/window.bin.lz"); \ No newline at end of file diff --git a/src/graphics/interface_pokeballs.h b/src/graphics/interface_pokeballs.h new file mode 100644 index 0000000000..db91283aea --- /dev/null +++ b/src/graphics/interface_pokeballs.h @@ -0,0 +1,37 @@ +const u8 gInterfaceGfx_PokeBall[] = INCBIN_U8("graphics/interface/ball/poke.4bpp.lz"); +const u8 gInterfacePal_PokeBall[] = INCBIN_U8("graphics/interface/ball/poke.gbapal.lz"); + +const u8 gInterfaceGfx_GreatBall[] = INCBIN_U8("graphics/interface/ball/great.4bpp.lz"); +const u8 gInterfacePal_GreatBall[] = INCBIN_U8("graphics/interface/ball/great.gbapal.lz"); + +const u8 gInterfaceGfx_SafariBall[] = INCBIN_U8("graphics/interface/ball/safari.4bpp.lz"); +const u8 gInterfacePal_SafariBall[] = INCBIN_U8("graphics/interface/ball/safari.gbapal.lz"); + +const u8 gInterfaceGfx_UltraBall[] = INCBIN_U8("graphics/interface/ball/ultra.4bpp.lz"); +const u8 gInterfacePal_UltraBall[] = INCBIN_U8("graphics/interface/ball/ultra.gbapal.lz"); + +const u8 gInterfaceGfx_MasterBall[] = INCBIN_U8("graphics/interface/ball/master.4bpp.lz"); +const u8 gInterfacePal_MasterBall[] = INCBIN_U8("graphics/interface/ball/master.gbapal.lz"); + +const u8 gInterfaceGfx_NetBall[] = INCBIN_U8("graphics/interface/ball/net.4bpp.lz"); +const u8 gInterfacePal_NetBall[] = INCBIN_U8("graphics/interface/ball/net.gbapal.lz"); + +const u8 gInterfaceGfx_DiveBall[] = INCBIN_U8("graphics/interface/ball/dive.4bpp.lz"); +const u8 gInterfacePal_DiveBall[] = INCBIN_U8("graphics/interface/ball/dive.gbapal.lz"); + +const u8 gInterfaceGfx_NestBall[] = INCBIN_U8("graphics/interface/ball/nest.4bpp.lz"); +const u8 gInterfacePal_NestBall[] = INCBIN_U8("graphics/interface/ball/nest.gbapal.lz"); + +const u8 gInterfaceGfx_RepeatBall[] = INCBIN_U8("graphics/interface/ball/repeat.4bpp.lz"); +const u8 gInterfacePal_RepeatBall[] = INCBIN_U8("graphics/interface/ball/repeat.gbapal.lz"); + +const u8 gInterfaceGfx_TimerBall[] = INCBIN_U8("graphics/interface/ball/timer.4bpp.lz"); +const u8 gInterfacePal_TimerBall[] = INCBIN_U8("graphics/interface/ball/timer.gbapal.lz"); + +const u8 gInterfaceGfx_LuxuryBall[] = INCBIN_U8("graphics/interface/ball/luxury.4bpp.lz"); +const u8 gInterfacePal_LuxuryBall[] = INCBIN_U8("graphics/interface/ball/luxury.gbapal.lz"); + +const u8 gInterfaceGfx_PremierBall[] = INCBIN_U8("graphics/interface/ball/premier.4bpp.lz"); +const u8 gInterfacePal_PremierBall[] = INCBIN_U8("graphics/interface/ball/premier.gbapal.lz"); + +const u8 gOpenPokeballGfx[] = INCBIN_U8("graphics/interface/ball_open.4bpp.lz"); diff --git a/src/graphics/intro_scene.h b/src/graphics/intro_scene.h new file mode 100644 index 0000000000..9c049ffb28 --- /dev/null +++ b/src/graphics/intro_scene.h @@ -0,0 +1,48 @@ +const u16 gIntro1GameFreakTextFadePal[] = INCBIN_U16("graphics/intro/intro1_text.gbapal"); // game freak text blue fade +const u16 gIntro2BrendanNoTurnPal[] = INCBIN_U16("graphics/intro/intro2_brendan_noturn.gbapal"); +const u16 gIntro3BgPal[] = INCBIN_U16("graphics/intro/intro3.gbapal"); +const u16 gIntro2VolbeatPal[] = INCBIN_U16("graphics/intro/intro2_volbeat.gbapal"); +const u16 gIntro2TorchicPal[] = INCBIN_U16("graphics/intro/intro2_torchic.gbapal"); +const u16 gIntro2ManectricPal[] = INCBIN_U16("graphics/intro/intro2_manectric.gbapal"); +const u16 gIntro2FlygonPal[] = INCBIN_U16("graphics/intro/intro2_flygon.gbapal"); + +const u8 gIntro2VolbeatGfx[] = INCBIN_U8("graphics/intro/intro2_volbeat.4bpp.lz"); +const u8 gIntro2TorchicGfx[] = INCBIN_U8("graphics/intro/intro2_torchic.4bpp.lz"); +const u8 gIntro2ManectricGfx[] = INCBIN_U8("graphics/intro/intro2_manectric.4bpp.lz"); +const u8 gIntro2FlygonGfx[] = INCBIN_U8("graphics/intro/intro2_flygon.4bpp.lz"); +const u8 gIntro2BrendanNoTurnGfx[] = INCBIN_U8("graphics/intro/intro2_brendan_noturn.4bpp.lz"); +const u8 gIntro2MayNoTurnGfx[] = INCBIN_U8("graphics/intro/intro2_may_noturn.4bpp.lz"); + +const u16 gIntro3GroudonGfx[] = INCBIN_U16("graphics/intro/intro3_groudon.8bpp.lz"); +const u16 gIntro3GroudonTilemap[] = INCBIN_U16("graphics/intro/intro3_groudon.bin.lz"); + +const u16 gIntro3KyogreGfx[] = INCBIN_U16("graphics/intro/intro3_kyogre.8bpp.lz"); +const u16 gIntro3KyogreTilemap[] = INCBIN_U16("graphics/intro/intro3_kyogre.bin.lz"); + +const u8 gIntro3LegendBgGfx[] = INCBIN_U8("graphics/intro/legend_bg.4bpp.lz"); // groudon/kyogre/bg + +const u16 gIntro3GroudonBgTilemap[] = INCBIN_U16("graphics/intro/legend_bg1.bin.lz"); +const u16 gIntro3KyogreBgTilemap[] = INCBIN_U16("graphics/intro/legend_bg2.bin.lz"); + +const u8 gIntro3CloudsGfx[] = INCBIN_U8("graphics/intro/intro3_clouds.4bpp.lz"); +const u16 gIntro3Clouds1Tilemap[] = INCBIN_U16("graphics/intro/intro3_clouds1.bin.lz"); +const u16 gIntro3Clouds2Tilemap[] = INCBIN_U16("graphics/intro/intro3_clouds2.bin.lz"); +const u16 gIntro3Clouds3Tilemap[] = INCBIN_U16("graphics/intro/intro3_clouds3.bin.lz"); + +const u8 gIntro3LightningGfx[] = INCBIN_U8("graphics/intro/intro3_lightning.4bpp.lz"); +const u16 gIntro3LightningPal[] = INCBIN_U16("graphics/intro/intro3_lightning.gbapal"); + +const u8 gIntro3RayquazaGfx[] = INCBIN_U8("graphics/intro/intro3_rayquaza.4bpp.lz"); +const u16 gIntro3RayquazaTilemap[] = INCBIN_U16("graphics/intro/intro3_rayquaza.bin.lz"); + +const u16 gUnknown_D8C374[] = INCBIN_U16("graphics/unknown/unknown_D8C374.bin.lz"); +const u16 gUnknown_D8C5C4[] = INCBIN_U16("graphics/unknown/unknown_D8C5C4.bin.lz"); + +const u8 gIntro3Clouds2Gfx[] = INCBIN_U8("graphics/intro/intro3_clouds2.4bpp.lz"); //clouds 2, during the rayquaza flash +const u16 gIntro3Clouds4Tilemap[] = INCBIN_U16("graphics/intro/intro3_clouds4.bin.lz"); + +const u8 gIntro2BubblesGfx[] = INCBIN_U8("graphics/intro/intro2_bubbles.4bpp.lz"); +const u16 gIntro2BubblesPal[] = INCBIN_U16("graphics/intro/intro2_bubbles.gbapal"); + +const u8 gIntro1FlygonGfx[] = INCBIN_U8("graphics/intro/intro1_flygon.4bpp.lz"); +const u8 gIntro1SparkleGfx[] = INCBIN_U8("graphics/intro/intro1_sparkle.4bpp.lz"); diff --git a/src/graphics/mail.h b/src/graphics/mail.h new file mode 100644 index 0000000000..53497347ad --- /dev/null +++ b/src/graphics/mail.h @@ -0,0 +1,38 @@ +const u16 gMailPalette_Orange[] = INCBIN_U16("graphics/mail/orange/palette.gbapal"); +const u16 gMailPalette_Harbor[] = INCBIN_U16("graphics/mail/harbor/palette.gbapal"); +const u16 gMailPalette_Glitter[] = INCBIN_U16("graphics/mail/glitter/palette.gbapal"); +const u16 gMailPalette_Mech[] = INCBIN_U16("graphics/mail/mech/palette.gbapal"); +const u16 gMailPalette_Wood[] = INCBIN_U16("graphics/mail/wood/palette.gbapal"); +const u16 gMailPalette_Wave[] = INCBIN_U16("graphics/mail/wave/palette.gbapal"); +const u16 gMailPalette_Bead[] = INCBIN_U16("graphics/mail/bead/palette.gbapal"); +const u16 gMailPalette_Shadow[] = INCBIN_U16("graphics/mail/shadow/palette.gbapal"); +const u16 gMailPalette_Tropic[] = INCBIN_U16("graphics/mail/tropic/palette.gbapal"); +const u16 gMailPalette_Dream[] = INCBIN_U16("graphics/mail/dream/palette.gbapal"); +const u16 gMailPalette_Fab[] = INCBIN_U16("graphics/mail/fab/palette.gbapal"); +const u16 gMailPalette_Retro[] = INCBIN_U16("graphics/mail/retro/palette.gbapal"); + +const u8 gMailTiles_Orange[] = INCBIN_U8("graphics/mail/orange/tiles.4bpp.lz"); +const u8 gMailTiles_Harbor[] = INCBIN_U8("graphics/mail/harbor/tiles.4bpp.lz"); +const u8 gMailTiles_Glitter[] = INCBIN_U8("graphics/mail/glitter/tiles.4bpp.lz"); +const u8 gMailTiles_Mech[] = INCBIN_U8("graphics/mail/mech/tiles.4bpp.lz"); +const u8 gMailTiles_Wood[] = INCBIN_U8("graphics/mail/wood/tiles.4bpp.lz"); +const u8 gMailTiles_Wave[] = INCBIN_U8("graphics/mail/wave/tiles.4bpp.lz"); +const u8 gMailTiles_Bead[] = INCBIN_U8("graphics/mail/bead/tiles.4bpp.lz"); +const u8 gMailTiles_Shadow[] = INCBIN_U8("graphics/mail/shadow/tiles.4bpp.lz"); +const u8 gMailTiles_Tropic[] = INCBIN_U8("graphics/mail/tropic/tiles.4bpp.lz"); +const u8 gMailTiles_Dream[] = INCBIN_U8("graphics/mail/dream/tiles.4bpp.lz"); +const u8 gMailTiles_Fab[] = INCBIN_U8("graphics/mail/fab/tiles.4bpp.lz"); +const u8 gMailTiles_Retro[] = INCBIN_U8("graphics/mail/retro/tiles.4bpp.lz"); + +const u16 gMailTilemap_Orange[] = INCBIN_U16("graphics/mail/orange/map.bin.lz"); +const u16 gMailTilemap_Harbor[] = INCBIN_U16("graphics/mail/harbor/map.bin.lz"); +const u16 gMailTilemap_Glitter[] = INCBIN_U16("graphics/mail/glitter/map.bin.lz"); +const u16 gMailTilemap_Mech[] = INCBIN_U16("graphics/mail/mech/map.bin.lz"); +const u16 gMailTilemap_Wood[] = INCBIN_U16("graphics/mail/wood/map.bin.lz"); +const u16 gMailTilemap_Wave[] = INCBIN_U16("graphics/mail/wave/map.bin.lz"); +const u16 gMailTilemap_Bead[] = INCBIN_U16("graphics/mail/bead/map.bin.lz"); +const u16 gMailTilemap_Shadow[] = INCBIN_U16("graphics/mail/shadow/map.bin.lz"); +const u16 gMailTilemap_Tropic[] = INCBIN_U16("graphics/mail/tropic/map.bin.lz"); +const u16 gMailTilemap_Dream[] = INCBIN_U16("graphics/mail/dream/map.bin.lz"); +const u16 gMailTilemap_Fab[] = INCBIN_U16("graphics/mail/fab/map.bin.lz"); +const u16 gMailTilemap_Retro[] = INCBIN_U16("graphics/mail/retro/map.bin.lz"); diff --git a/src/graphics/rayquaza_scene.h b/src/graphics/rayquaza_scene.h new file mode 100644 index 0000000000..928a4f6f02 --- /dev/null +++ b/src/graphics/rayquaza_scene.h @@ -0,0 +1,73 @@ +const u8 gRaySceneGroudon_Gfx[] = INCBIN_U8("graphics/rayquaza_scene/groudon.4bpp.lz"); +const u8 gRaySceneGroudon2_Gfx[] = INCBIN_U8("graphics/rayquaza_scene/groudon_shoulder.4bpp.lz"); +const u8 gRaySceneGroudon3_Gfx[] = INCBIN_U8("graphics/rayquaza_scene/groudon_claw.4bpp.lz"); + +const u8 gRaySceneKyogre_Gfx[] = INCBIN_U8("graphics/rayquaza_scene/kyogre.4bpp.lz"); +const u8 gRaySceneKyogre2_Gfx[] = INCBIN_U8("graphics/rayquaza_scene/kyogre_shoulder.4bpp.lz"); +const u8 gRaySceneKyogre3_Gfx[] = INCBIN_U8("graphics/rayquaza_scene/kyogre_fin.4bpp.lz"); + +const u8 gRaySceneGroudon_Pal[] = INCBIN_U8("graphics/rayquaza_scene/groudon.gbapal.lz"); +const u8 gRaySceneKyogre_Pal[] = INCBIN_U8("graphics/rayquaza_scene/kyogre.gbapal.lz"); + +const u8 gRaySceneClouds_Gfx[] = INCBIN_U8("graphics/rayquaza_scene/clouds.4bpp.lz"); +const u8 gRaySceneClouds_Pal[] = INCBIN_U8("graphics/rayquaza_scene/clouds.gbapal.lz"); // pal 1 clouds, pal 2 rain +const u16 gRaySceneClouds1_Tilemap[] = INCBIN_U16("graphics/rayquaza_scene/clouds1.bin.lz"); +const u16 gRaySceneClouds2_Tilemap[] = INCBIN_U16("graphics/rayquaza_scene/clouds2.bin.lz"); +const u16 gRaySceneClouds3_Tilemap[] = INCBIN_U16("graphics/rayquaza_scene/clouds3.bin.lz"); + +const u8 gRaySceneSmoke_Gfx[] = INCBIN_U8("graphics/rayquaza_scene/smoke.4bpp.lz"); +const u8 gRaySceneSmoke_Pal[] = INCBIN_U8("graphics/rayquaza_scene/smoke.gbapal.lz"); + +const u16 gRaySceneRayquaza_Gfx[] = INCBIN_U16("graphics/rayquaza_scene/rayquaza.8bpp.lz"); +const u8 gRaySceneRayquaza_Pal[] = INCBIN_U8("graphics/rayquaza_scene/rayquaza.gbapal.lz"); +const u16 gRaySceneRayquaza_Tilemap[] = INCBIN_U16("graphics/rayquaza_scene/rayquaza.bin.lz"); + +const u8 gRaySceneOvercast_Gfx[] = INCBIN_U8("graphics/rayquaza_scene/overcast.4bpp.lz"); // uses pal 2 of gRaySceneRayquaza_Pal +const u16 gRaySceneOvercast_Tilemap[] = INCBIN_U16("graphics/rayquaza_scene/overcast.bin.lz"); + +const u8 gRaySceneRayquazaFly1_Gfx[] = INCBIN_U8("graphics/rayquaza_scene/rayquaza_fly1.4bpp.lz"); +const u8 gRaySceneRayquazaTail_Gfx[] = INCBIN_U8( "graphics/rayquaza_scene/rayquaza_tail_fix.4bpp.lz"); // for some reason there are an extra 0xC bytes at the end of the original 4bpp, so in order to produce the correct lz, we have to cat the bytes at the end with a make rule. not sure why those bytes are there, it may have been a bug in Game Freak's software. + +const u8 gRaySceneOvercast2_Gfx[] = INCBIN_U8("graphics/rayquaza_scene/overcast2.4bpp.lz"); + +const u8 gRaySceneRayquazaLight_Gfx[] = INCBIN_U8("graphics/rayquaza_scene/rayquaza_light.4bpp.lz"); // uses pal 2 of gRaySceneOvercast2_Pal + +const u8 gRaySceneOvercast2_Pal[] = INCBIN_U8("graphics/rayquaza_scene/overcast2.gbapal.lz"); +const u16 gRaySceneOvercast2_Tilemap[] = INCBIN_U16("graphics/rayquaza_scene/overcast2.bin.lz"); + +const u8 gRaySceneRayquazaLight_Tilemap[] = INCBIN_U8("graphics/rayquaza_scene/rayquaza_light.bin.lz"); + +const u8 gRaySceneChaseBg_Gfx[] = INCBIN_U8("graphics/rayquaza_scene/chase_bg.4bpp.lz"); +const u16 gRaySceneChaseBg_Tilemap[] = INCBIN_U16("graphics/rayquaza_scene/chase_bg.bin.lz"); + +const u8 gRaySceneChaseStreaks_Gfx[] = INCBIN_U8("graphics/rayquaza_scene/chase_streaks.4bpp.lz"); +const u16 gRaySceneChaseStreaks_Tilemap[] = INCBIN_U16("graphics/rayquaza_scene/chase_streaks.bin.lz"); + +const u8 gRaySceneRayquazaChase_Gfx[] = INCBIN_U8("graphics/rayquaza_scene/rayquaza_chase.4bpp.lz"); +const u16 gRayChaseRayquazaChase_Tilemap[] = INCBIN_U16("graphics/rayquaza_scene/rayquaza_chase.bin.lz"); +const u16 gRayChaseRayquazaChase2_Tilemap[] = INCBIN_U16("graphics/rayquaza_scene/rayquaza_chase2.bin.lz"); + +const u8 gRaySceneChase_Pal[] = INCBIN_U8("graphics/rayquaza_scene/chase.gbapal.lz"); + +const u8 gRaySceneGroudonLeft_Gfx[] = INCBIN_U8("graphics/rayquaza_scene/groudon_left.4bpp.lz"); +const u8 gRaySceneGroudonTail_Gfx[] = INCBIN_U8("graphics/rayquaza_scene/groudon_tail.4bpp.lz"); + +const u8 gRaySceneKyogreRight_Gfx[] = INCBIN_U8("graphics/rayquaza_scene/kyogre_right.4bpp.lz"); + +const u8 gRaySceneRayquazaHover_Gfx[] = INCBIN_U8("graphics/rayquaza_scene/rayquaza_hover.4bpp.lz"); +const u8 gRaySceneRayquazaFlyIn_Gfx[] = INCBIN_U8("graphics/rayquaza_scene/rayquaza_flyin.4bpp.lz"); + +const u8 gRaySceneSplash_Gfx[] = INCBIN_U8("graphics/rayquaza_scene/splash.4bpp.lz"); + +const u8 gRaySceneGroudonLeft_Pal[] = INCBIN_U8("graphics/rayquaza_scene/groudon_left.gbapal.lz"); +const u8 gRaySceneKyogreRight_Pal[] = INCBIN_U8("graphics/rayquaza_scene/kyogre_right.gbapal.lz"); +const u8 gRaySceneRayquazaHover_Pal[] = INCBIN_U8("graphics/rayquaza_scene/rayquaza_hover.gbapal.lz"); + +const u8 gRaySceneSplash_Pal[] = INCBIN_U8("graphics/rayquaza_scene/splash.gbapal.lz"); + +const u8 gRaySceneHushBg_Gfx[] = INCBIN_U8("graphics/rayquaza_scene/hush_bg.4bpp.lz"); +const u16 gRaySceneHushRing_Gfx[] = INCBIN_U16("graphics/rayquaza_scene/hush_ring.8bpp.lz"); +const u16 gRaySceneHushBg_Tilemap[] = INCBIN_U16("graphics/rayquaza_scene/hush_bg.bin.lz"); +const u16 gRaySceneHushRing_Tilemap[] = INCBIN_U16("graphics/rayquaza_scene/hush_ring.bin.lz"); +const u16 gRaySceneHushRing_Map[] = INCBIN_U16("graphics/rayquaza_scene/hush_ring_map.bin.lz"); +const u8 gRaySceneHushBg_Pal[] = INCBIN_U8("graphics/rayquaza_scene/hush_bg.gbapal.lz"); diff --git a/src/graphics/slot_machine.h b/src/graphics/slot_machine.h new file mode 100644 index 0000000000..f673874e32 --- /dev/null +++ b/src/graphics/slot_machine.h @@ -0,0 +1,60 @@ +const u16 gSlotMachineMenu_Pal[] = INCBIN_U16("graphics/slot_machine/menu.gbapal"); +const u8 gSlotMachineMenu_Gfx[] = INCBIN_U8("graphics/slot_machine/menu.4bpp.lz"); +const u16 gSlotMachineMenu_Tilemap[] = INCBIN_U16("graphics/slot_machine/menu.bin"); + +const u16 gUnknown_08DCEC70[] = INCBIN_U16("graphics/slot_machine/slots_layout.bin"); + +const u16 gUnknown_08DCF170[] = INCBIN_U16("graphics/slot_machine/reel_symbols/1.gbapal"); + +const u16 gUnknown_08DCF190[] = INCBIN_U16("graphics/slot_machine/reel_pikachu.gbapal"); + +const u16 gUnknown_08DCF1B0[] = INCBIN_U16("graphics/slot_machine/shadow.gbapal"); + +const u16 gSlotMachineReelTime_Pal[] = INCBIN_U16("graphics/slot_machine/reel_time.gbapal"); + +const u16 gUnknown_08DCF1F0[] = INCBIN_U16("graphics/slot_machine/smoke.gbapal"); // also duck and pika aura + +const u16 gUnknown_08DCF210[] = INCBIN_U16("graphics/slot_machine/reel_time_explosion/0.gbapal"); + +const u16 gUnknown_08DCF230[] = INCBIN_U16("graphics/slot_machine/spr6.gbapal"); + +const u8 gSlotMachineReelSymbol1Tiles[] = INCBIN_U8("graphics/slot_machine/reel_symbols/1.4bpp"); +const u8 gSlotMachineReelSymbol2Tiles[] = INCBIN_U8("graphics/slot_machine/reel_symbols/2.4bpp"); +const u8 gSlotMachineReelSymbol3Tiles[] = INCBIN_U8("graphics/slot_machine/reel_symbols/3.4bpp"); +const u8 gSlotMachineReelSymbol4Tiles[] = INCBIN_U8("graphics/slot_machine/reel_symbols/4.4bpp"); +const u8 gSlotMachineReelSymbol5Tiles[] = INCBIN_U8("graphics/slot_machine/reel_symbols/5.4bpp"); +const u8 gSlotMachineReelSymbol6Tiles[] = INCBIN_U8("graphics/slot_machine/reel_symbols/6.4bpp"); +const u8 gSlotMachineReelSymbol7Tiles[] = INCBIN_U8("graphics/slot_machine/reel_symbols/7.4bpp"); + +const u8 gSlotMachineReelTime_Gfx[] = INCBIN_U8("graphics/slot_machine/reel_time.4bpp.lz"); + +const u8 gSlotMachineNumber0Tiles[] = INCBIN_U8("graphics/slot_machine/numbers/0.4bpp"); +const u8 gSlotMachineNumber1Tiles[] = INCBIN_U8("graphics/slot_machine/numbers/1.4bpp"); +const u8 gSlotMachineNumber2Tiles[] = INCBIN_U8("graphics/slot_machine/numbers/2.4bpp"); +const u8 gSlotMachineNumber3Tiles[] = INCBIN_U8("graphics/slot_machine/numbers/3.4bpp"); +const u8 gSlotMachineNumber4Tiles[] = INCBIN_U8("graphics/slot_machine/numbers/4.4bpp"); +const u8 gSlotMachineNumber5Tiles[] = INCBIN_U8("graphics/slot_machine/numbers/5.4bpp"); +const u8 gSlotMachineNumber6Tiles[] = INCBIN_U8("graphics/slot_machine/numbers/6.4bpp"); +const u8 gSlotMachineNumber7Tiles[] = INCBIN_U8("graphics/slot_machine/numbers/7.4bpp"); +const u8 gSlotMachineNumber8Tiles[] = INCBIN_U8("graphics/slot_machine/numbers/8.4bpp"); +const u8 gSlotMachineNumber9Tiles[] = INCBIN_U8("graphics/slot_machine/numbers/9.4bpp"); + +const u8 gSlotMachineReelTimeBolt[] = INCBIN_U8("graphics/slot_machine/bolt.4bpp"); +const u8 gSlotMachineReelTimeDuck[] = INCBIN_U8("graphics/slot_machine/duck.4bpp"); +const u8 gSlotMachineReelTimeSmoke[] = INCBIN_U8("graphics/slot_machine/smoke.4bpp"); + +const u8 gSlotMachineReelTimeNumber0[] = INCBIN_U8("graphics/slot_machine/reel_time_numbers/0.4bpp"); +const u8 gSlotMachineReelTimeNumber1[] = INCBIN_U8("graphics/slot_machine/reel_time_numbers/1.4bpp"); +const u8 gSlotMachineReelTimeNumber2[] = INCBIN_U8("graphics/slot_machine/reel_time_numbers/2.4bpp"); +const u8 gSlotMachineReelTimeNumber3[] = INCBIN_U8("graphics/slot_machine/reel_time_numbers/3.4bpp"); +const u8 gSlotMachineReelTimeNumber4[] = INCBIN_U8("graphics/slot_machine/reel_time_numbers/4.4bpp"); +const u8 gSlotMachineReelTimeNumber5[] = INCBIN_U8("graphics/slot_machine/reel_time_numbers/5.4bpp"); + +const u8 gSlotMachineReelTimeLargeBolt0[] = INCBIN_U8("graphics/slot_machine/large_bolt/0.4bpp"); +const u8 gSlotMachineReelTimeLargeBolt1[] = INCBIN_U8("graphics/slot_machine/large_bolt/1.4bpp"); + +const u8 gSlotMachineReelTimeExplosion0[] = INCBIN_U8("graphics/slot_machine/reel_time_explosion/0.4bpp"); +const u8 gSlotMachineReelTimeExplosion1[] = INCBIN_U8("graphics/slot_machine/reel_time_explosion/1.4bpp"); + +const u8 gSlotMachineReelTimeShadow[] = INCBIN_U8("graphics/slot_machine/shadow.4bpp"); +const u8 gSlotMachineReelTimePikaAura[] = INCBIN_U8("graphics/slot_machine/pika_aura.4bpp"); From 91349324c619309ca605a04115d0c9b7d78cbb26 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Sat, 25 Aug 2018 11:55:16 +0200 Subject: [PATCH 128/234] up to CB2_BattleDome --- asm/battle_frontier_1.s | 1640 +-------------------------------------- src/battle_frontier_1.c | 526 ++++++++++++- 2 files changed, 519 insertions(+), 1647 deletions(-) diff --git a/asm/battle_frontier_1.s b/asm/battle_frontier_1.s index c6866ebf05..acf2a7b810 100644 --- a/asm/battle_frontier_1.s +++ b/asm/battle_frontier_1.s @@ -6,1626 +6,6 @@ .text - - thumb_func_start sub_8193D40 -sub_8193D40: @ 8193D40 - push {lr} - ldr r0, =sub_8194220 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r2, 0 - strh r2, [r1, 0x8] - movs r0, 0x1 - strh r0, [r1, 0xA] - movs r0, 0x2 - strh r0, [r1, 0xC] - strh r2, [r1, 0x10] - ldr r0, =sub_8194B54 - bl SetMainCallback2 - pop {r0} - bx r0 - .pool - thumb_func_end sub_8193D40 - - thumb_func_start sub_8193D7C -sub_8193D7C: @ 8193D7C - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r7, =gSpecialVar_0x8005 - ldrh r0, [r7] - cmp r0, 0x1 - bne _08193E10 - ldr r5, =gTrainerBattleOpponent_A - ldrh r0, [r5] - bl TrainerIdToTournamentId - ldr r4, =gSaveBlock2Ptr - ldr r2, [r4] - lsls r0, 2 - adds r2, r0 - ldr r6, =0x00000d25 - adds r2, r6 - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - ldrh r0, [r5] - bl TrainerIdToTournamentId - ldr r1, [r4] - lsls r0, 2 - adds r0, r1, r0 - ldr r2, =0x00000cb2 - mov r8, r2 - add r1, r8 - adds r0, r6 - movs r3, 0x3 - ldrb r2, [r1] - ands r2, r3 - lsls r2, 3 - ldrb r3, [r0] - movs r1, 0x19 - negs r1, r1 - ands r1, r3 - orrs r1, r2 - strb r1, [r0] - ldrh r0, [r5] - bl TrainerIdToTournamentId - ldr r2, [r4] - lsls r0, 1 - movs r3, 0xEC - lsls r3, 4 - adds r1, r2, r3 - adds r1, r0 - ldr r0, =gBattleResults - ldrh r0, [r0, 0x22] - strh r0, [r1] - add r2, r8 - ldrh r0, [r2] - cmp r0, 0x2 - bhi _08193EAE - lsls r0, 24 - lsrs r0, 24 - bl sub_8195438 - b _08193EAE - .pool -_08193E10: - ldr r5, =0x000003ff - adds r0, r5, 0 - bl TrainerIdToTournamentId - ldr r4, =gSaveBlock2Ptr - ldr r2, [r4] - lsls r0, 2 - adds r2, r0 - ldr r6, =0x00000d25 - adds r2, r6 - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - adds r0, r5, 0 - bl TrainerIdToTournamentId - ldr r1, [r4] - lsls r0, 2 - adds r0, r1, r0 - ldr r2, =0x00000cb2 - adds r1, r2 - adds r0, r6 - movs r3, 0x3 - ldrb r2, [r1] - ands r2, r3 - lsls r2, 3 - ldrb r3, [r0] - movs r1, 0x19 - negs r1, r1 - ands r1, r3 - orrs r1, r2 - strb r1, [r0] - adds r0, r5, 0 - bl TrainerIdToTournamentId - ldr r1, [r4] - lsls r0, 1 - movs r3, 0xEC - lsls r3, 4 - adds r1, r3 - adds r1, r0 - ldr r0, =gBattleResults - ldrh r0, [r0, 0x24] - strh r0, [r1] - ldr r0, =gBattleOutcome - ldrb r0, [r0] - cmp r0, 0x9 - beq _08193E78 - ldrh r0, [r7] - cmp r0, 0x9 - bne _08193E92 -_08193E78: - adds r0, r5, 0 - bl TrainerIdToTournamentId - ldr r2, [r4] - lsls r0, 2 - adds r2, r0 - adds r2, r6 - ldrb r1, [r2] - movs r0, 0x1F - ands r0, r1 - movs r1, 0x20 - orrs r0, r1 - strb r0, [r2] -_08193E92: - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r1, =0x00000cb2 - adds r0, r1 - ldrh r4, [r0] - cmp r4, 0x3 - bgt _08193EAE -_08193EA0: - lsls r0, r4, 24 - lsrs r0, 24 - bl sub_8195438 - adds r4, 0x1 - cmp r4, 0x3 - ble _08193EA0 -_08193EAE: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8193D7C - - thumb_func_start sub_8193ED0 -sub_8193ED0: @ 8193ED0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x84 - str r0, [sp, 0x48] - str r1, [sp, 0x4C] - lsls r4, r2, 24 - lsrs r4, 24 - movs r0, 0 - str r0, [sp, 0x54] - movs r1, 0 - str r1, [sp, 0x58] - bl GetFrontierEnemyMonLevel - movs r2, 0 - str r2, [sp, 0x50] - add r3, sp, 0x30 - mov r10, r3 - ldr r5, [sp, 0x4C] - lsls r5, 1 - str r5, [sp, 0x70] - subs r4, 0x1 - str r4, [sp, 0x78] -_08193F02: - movs r0, 0 - mov r9, r0 - ldr r1, [sp, 0x50] - lsls r1, 2 - str r1, [sp, 0x74] - ldr r2, [sp, 0x48] - lsls r2, 2 - str r2, [sp, 0x6C] - ldr r3, [sp, 0x50] - adds r3, 0x1 - str r3, [sp, 0x60] -_08193F18: - ldr r4, [sp, 0x74] - add r4, r9 - lsls r0, r4, 2 - mov r5, sp - adds r1, r5, r0 - movs r0, 0 - str r0, [r1] - ldr r0, =gSaveBlock2Ptr - ldr r3, [r0] - ldr r1, [sp, 0x6C] - adds r0, r3, r1 - ldr r2, =0x00000d24 - adds r0, r2 - ldrh r0, [r0] - lsls r0, 22 - ldr r1, =0xff800000 - cmp r0, r1 - bne _08193F60 - ldr r3, [sp, 0x50] - lsls r0, r3, 24 - mov r5, r9 - lsls r1, r5, 24 - lsrs r1, 24 - lsrs r0, 24 - bl sub_81A5060 - lsls r1, r4, 1 - add r1, r10 - strh r0, [r1] - b _08193F8C - .pool -_08193F60: - lsls r2, r4, 1 - add r2, r10 - ldr r1, [sp, 0x48] - lsls r0, r1, 1 - adds r0, r1 - ldr r4, [sp, 0x50] - adds r0, r4 - lsls r0, 1 - ldr r5, =0x00000d64 - adds r1, r3, r5 - adds r1, r0 - ldrh r0, [r1] - ldr r1, =gFacilityTrainerMons - ldr r1, [r1] - lsls r0, 4 - adds r0, r1 - mov r3, r9 - lsls r1, r3, 1 - adds r0, 0x2 - adds r0, r1 - ldrh r0, [r0] - strh r0, [r2] -_08193F8C: - ldr r0, =gBattleMoves - ldr r1, [sp, 0x74] - add r1, r9 - lsls r1, 1 - add r1, r10 - ldrh r2, [r1] - lsls r1, r2, 1 - adds r1, r2 - lsls r1, 2 - adds r1, r0 - ldrb r6, [r1, 0x1] - cmp r6, 0 - bne _08193FB8 - movs r6, 0x28 - b _08193FD0 - .pool -_08193FB8: - cmp r6, 0x1 - bne _08193FC0 - movs r6, 0x3C - b _08193FD0 -_08193FC0: - adds r1, r2, 0 - cmp r1, 0x78 - beq _08193FCA - cmp r1, 0x99 - bne _08193FD0 -_08193FCA: - lsrs r0, r6, 31 - adds r0, r6, r0 - asrs r6, r0, 1 -_08193FD0: - movs r1, 0 - mov r4, r9 - adds r4, 0x1 - str r4, [sp, 0x64] - ldr r5, [sp, 0x70] - ldr r2, [sp, 0x4C] - adds r0, r5, r2 - lsls r0, 1 - str r0, [sp, 0x5C] -_08193FE2: - lsls r7, r1, 1 - adds r1, 0x1 - str r1, [sp, 0x68] - ldr r3, [sp, 0x5C] - adds r3, r7 - mov r8, r3 -_08193FEE: - bl Random - adds r4, r0, 0 - bl Random - lsls r4, 16 - lsrs r5, r4, 16 - lsls r0, 16 - orrs r5, r0 - ldr r2, =gSaveBlock2Ptr - ldr r0, [r2] - ldr r4, =0x00000d64 - adds r0, r4 - add r0, r8 - ldrh r4, [r0] - ldr r3, =gFacilityTrainerMons - ldr r0, [r3] - lsls r4, 4 - adds r4, r0 - adds r0, r5, 0 - str r2, [sp, 0x7C] - str r3, [sp, 0x80] - bl GetNatureFromPersonality - ldrb r1, [r4, 0xC] - lsls r0, 24 - lsrs r0, 24 - ldr r2, [sp, 0x7C] - ldr r3, [sp, 0x80] - cmp r1, r0 - bne _08193FEE - ldr r0, [r2] - ldr r2, [sp, 0x5C] - adds r1, r7, r2 - ldr r4, =0x00000d64 - adds r0, r4 - adds r0, r1 - ldrh r0, [r0] - ldr r1, [r3] - lsls r0, 4 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x1 - ands r5, r0 - cmp r5, 0 - beq _08194068 - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - ldr r5, =gBaseStats - adds r0, r5 - ldrb r2, [r0, 0x17] - b _08194074 - .pool -_08194068: - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - ldr r2, =gBaseStats - adds r0, r2 - ldrb r2, [r0, 0x16] -_08194074: - ldr r4, [sp, 0x74] - add r4, r9 - lsls r0, r4, 1 - add r0, r10 - ldrh r0, [r0] - bl AI_TypeCalc - lsls r0, 24 - lsrs r5, r0, 24 - movs r0, 0x6 - ands r0, r5 - cmp r0, 0x6 - bne _0819409C - lsls r0, r4, 2 - mov r3, sp - adds r1, r3, r0 - b _081940D8 - .pool -_0819409C: - movs r0, 0x29 - ands r0, r5 - cmp r0, 0 - bne _081940DE - movs r0, 0x2 - ands r0, r5 - cmp r0, 0 - beq _081940B6 - lsls r0, r4, 2 - mov r5, sp - adds r2, r5, r0 - lsls r1, r6, 1 - b _081940CA -_081940B6: - movs r0, 0x4 - ands r5, r0 - cmp r5, 0 - beq _081940D2 - lsls r0, r4, 2 - mov r1, sp - adds r2, r1, r0 - lsrs r1, r6, 31 - adds r1, r6, r1 - asrs r1, 1 -_081940CA: - ldr r0, [r2] - adds r0, r1 - str r0, [r2] - b _081940DE -_081940D2: - lsls r0, r4, 2 - mov r2, sp - adds r1, r2, r0 -_081940D8: - ldr r0, [r1] - adds r0, r6 - str r0, [r1] -_081940DE: - ldr r1, [sp, 0x68] - cmp r1, 0x2 - bgt _081940E6 - b _08193FE2 -_081940E6: - ldr r2, [sp, 0x74] - add r2, r9 - lsls r0, r2, 2 - add r0, sp - ldr r1, [r0] - ldr r3, [sp, 0x54] - cmp r3, r1 - bge _08194104 - lsls r0, r2, 16 - lsrs r0, 16 - str r0, [sp, 0x58] - lsls r0, r1, 16 - lsrs r0, 16 - str r0, [sp, 0x54] - b _08194122 -_08194104: - ldr r4, [sp, 0x54] - cmp r4, r1 - bne _08194122 - ldr r5, [sp, 0x58] - lsls r0, r5, 1 - add r0, r10 - lsls r1, r2, 1 - add r1, r10 - ldrh r0, [r0] - ldrh r1, [r1] - cmp r0, r1 - bcs _08194122 - lsls r0, r2, 16 - lsrs r0, 16 - str r0, [sp, 0x58] -_08194122: - ldr r0, [sp, 0x64] - mov r9, r0 - cmp r0, 0x3 - bgt _0819412C - b _08193F18 -_0819412C: - ldr r1, [sp, 0x60] - str r1, [sp, 0x50] - cmp r1, 0x2 - bgt _08194136 - b _08193F02 -_08194136: - ldr r2, [sp, 0x58] - mov r9, r2 - b _08194182 -_0819413C: - movs r3, 0 - mov r9, r3 - movs r1, 0 - mov r4, r10 - mov r3, r10 - mov r2, sp -_08194148: - ldr r0, [r2] - ldr r5, [sp, 0x54] - cmp r5, r0 - bge _0819415A - mov r9, r1 - lsls r0, 16 - lsrs r0, 16 - str r0, [sp, 0x54] - b _08194170 -_0819415A: - ldr r5, [sp, 0x54] - cmp r5, r0 - bne _08194170 - mov r5, r9 - lsls r0, r5, 1 - adds r0, r4, r0 - ldrh r0, [r0] - ldrh r5, [r3] - cmp r0, r5 - bcs _08194170 - mov r9, r1 -_08194170: - adds r3, 0x2 - adds r2, 0x4 - adds r1, 0x1 - cmp r1, 0xB - ble _08194148 - ldr r0, [sp, 0x50] - ldr r1, [sp, 0x78] - cmp r0, r1 - beq _081941F4 -_08194182: - movs r2, 0 - str r2, [sp, 0x50] - mov r3, r9 - lsls r7, r3, 2 - ldr r4, [sp, 0x78] - cmp r2, r4 - bge _081941CA - lsls r0, r3, 1 - mov r5, r10 - adds r6, r5, r0 - ldr r0, [sp, 0x48] - lsls r5, r0, 24 -_0819419A: - ldr r0, =gSaveBlock2Ptr - ldr r4, [r0] - ldr r2, [sp, 0x50] - lsls r1, r2, 24 - lsrs r1, 24 - lsrs r0, r5, 24 - bl sub_81953E8 - lsls r0, 24 - lsrs r0, 23 - movs r3, 0xEC - lsls r3, 4 - adds r4, r3 - adds r4, r0 - ldrh r0, [r4] - ldrh r4, [r6] - cmp r0, r4 - beq _081941CA - ldr r0, [sp, 0x50] - adds r0, 0x1 - str r0, [sp, 0x50] - ldr r1, [sp, 0x78] - cmp r0, r1 - blt _0819419A -_081941CA: - ldr r2, [sp, 0x50] - ldr r3, [sp, 0x78] - cmp r2, r3 - beq _081941F4 - mov r4, sp - adds r1, r4, r7 - movs r0, 0 - str r0, [r1] - movs r5, 0 - str r5, [sp, 0x54] - mov r9, r5 - mov r2, sp - movs r1, 0xB -_081941E4: - ldm r2!, {r0} - add r9, r0 - subs r1, 0x1 - cmp r1, 0 - bge _081941E4 - mov r0, r9 - cmp r0, 0 - bne _0819413C -_081941F4: - mov r1, r9 - lsls r0, r1, 2 - add r0, sp - ldr r0, [r0] - cmp r0, 0 - bne _08194204 - ldr r2, [sp, 0x58] - mov r9, r2 -_08194204: - mov r3, r9 - lsls r0, r3, 1 - add r0, r10 - ldrh r0, [r0] - add sp, 0x84 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8193ED0 - - thumb_func_start sub_8194220 -sub_8194220: @ 8194220 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x28 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r1, =gTasks - lsls r0, 2 - add r0, r8 - lsls r0, 3 - adds r0, r1 - movs r2, 0xA - ldrsh r1, [r0, r2] - mov r10, r1 - movs r3, 0xC - ldrsh r4, [r0, r3] - movs r1, 0x8 - ldrsh r0, [r0, r1] - cmp r0, 0x5 - bls _08194250 - b _081948C2 -_08194250: - lsls r0, 2 - ldr r1, =_08194264 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08194264: - .4byte _0819427C - .4byte _0819431C - .4byte _0819438C - .4byte _0819447C - .4byte _081944FC - .4byte _081947C8 -_0819427C: - movs r0, 0 - bl SetHBlankCallback - movs r0, 0 - bl SetVBlankCallback - movs r0, 0x3 - bl EnableInterrupts - movs r4, 0 - str r4, [sp, 0x14] - add r0, sp, 0x14 - movs r1, 0xC0 - lsls r1, 19 - ldr r2, =0x05006000 - bl CpuSet - movs r0, 0 - bl ResetBgsAndClearDma3BusyFlags - ldr r1, =gUnknown_0860CE74 - movs r0, 0 - movs r2, 0x4 - bl InitBgsFromTemplates - ldr r0, =gUnknown_0860CE94 - bl InitWindows - bl DeactivateAllTextPrinters - ldr r0, =gBattle_BG0_X - strh r4, [r0] - ldr r0, =gBattle_BG0_Y - strh r4, [r0] - ldr r0, =gBattle_BG1_X - strh r4, [r0] - ldr r0, =gBattle_BG1_Y - strh r4, [r0] - 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 r1, 0xB0 - lsls r1, 4 - movs r0, 0x3 - movs r2, 0 - bl ChangeBgY - ldr r1, =gTasks - mov r2, r8 - lsls r0, r2, 2 - b _0819443C - .pool -_0819431C: - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg - movs r0, 0x54 - movs r1, 0 - bl SetGpuReg - movs r0, 0x4C - movs r1, 0 - bl SetGpuReg - ldr r1, =0x00005860 - movs r0, 0x40 - bl SetGpuReg - movs r0, 0x44 - movs r1, 0x9F - bl SetGpuReg - ldr r1, =0x00009098 - movs r0, 0x42 - bl SetGpuReg - movs r0, 0x46 - movs r1, 0x9F - bl SetGpuReg - movs r0, 0x48 - movs r1, 0 - bl SetGpuReg - movs r0, 0x4A - movs r1, 0x3F - bl SetGpuReg - bl ResetPaletteFade - bl ResetSpriteData - bl FreeAllSpritePalettes - ldr r1, =gTasks - mov r3, r8 - lsls r0, r3, 2 - b _0819443C - .pool -_0819438C: - ldr r4, =gUnknown_0203CD7C - movs r0, 0x80 - lsls r0, 4 - bl AllocZeroed - adds r1, r0, 0 - str r1, [r4] - ldr r0, =gUnknown_08D83900 - bl LZDecompressWram - ldr r1, [r4] - movs r0, 0x1 - bl SetBgTilemapBuffer - movs r0, 0x1 - bl CopyBgTilemapBufferToVram - ldr r1, =gUnknown_08D82F10 - movs r5, 0x80 - lsls r5, 6 - movs r6, 0 - str r6, [sp] - movs r0, 0x1 - adds r2, r5, 0 - movs r3, 0 - bl DecompressAndLoadBgGfxUsingHeap - ldr r1, =gUnknown_08D834FC - str r6, [sp] - movs r0, 0x2 - adds r2, r5, 0 - movs r3, 0 - bl DecompressAndLoadBgGfxUsingHeap - ldr r1, =gUnknown_08D83B2C - movs r4, 0x1 - str r4, [sp] - movs r0, 0x2 - adds r2, r5, 0 - movs r3, 0 - bl DecompressAndLoadBgGfxUsingHeap - ldr r1, =gUnknown_08D83C3C - str r4, [sp] - movs r0, 0x3 - adds r2, r5, 0 - movs r3, 0 - bl DecompressAndLoadBgGfxUsingHeap - ldr r0, =gUnknown_08D85358 - movs r4, 0x80 - lsls r4, 2 - movs r1, 0 - adds r2, r4, 0 - bl LoadCompressedPalette - ldr r0, =gUnknown_08D85444 - movs r1, 0x80 - lsls r1, 1 - adds r2, r4, 0 - bl LoadCompressedPalette - ldr r0, =gUnknown_08D85600 - movs r1, 0xF0 - movs r2, 0x20 - bl LoadCompressedPalette - str r6, [sp, 0x18] - add r0, sp, 0x18 - ldr r1, =gPlttBufferFaded - ldr r2, =0x05000100 - bl CpuSet - movs r0, 0 - bl ShowBg - movs r0, 0x1 - bl ShowBg - movs r0, 0x2 - bl ShowBg - movs r0, 0x3 - bl ShowBg - ldr r1, =gTasks - mov r4, r8 - lsls r0, r4, 2 -_0819443C: - add r0, r8 - lsls r0, 3 - adds r0, r1 - ldrh r1, [r0, 0x8] - adds r1, 0x1 - strh r1, [r0, 0x8] - b _081948C2 - .pool -_0819447C: - ldr r0, =gUnknown_0860CF50 - bl LoadCompressedObjectPic - mov r0, r8 - lsls r0, 2 - str r0, [sp, 0x1C] - mov r1, r10 - cmp r1, 0 - bne _081944E8 - movs r5, 0 - ldr r4, =gUnknown_0860D411 -_08194492: - ldrb r1, [r4] - ldrb r2, [r4, 0x1] - ldr r0, =gUnknown_0860CFA8 - movs r3, 0 - bl CreateSprite - adds r4, 0x2 - adds r5, 0x1 - cmp r5, 0x1E - bls _08194492 - ldr r0, =gTasks - ldr r1, [sp, 0x1C] - add r1, r8 - lsls r1, 3 - adds r1, r0 - movs r2, 0x10 - ldrsh r0, [r1, r2] - cmp r0, 0 - beq _081944DC - ldr r0, =gUnknown_0860D008 - movs r1, 0xDA - movs r2, 0xC - movs r3, 0 - bl CreateSprite - b _081944E8 - .pool -_081944DC: - ldr r0, =gUnknown_0860CFD8 - movs r1, 0xDA - movs r2, 0xC - movs r3, 0 - bl CreateSprite -_081944E8: - ldr r1, =0x00007f40 - movs r0, 0 - bl SetGpuReg - b _081947A6 - .pool -_081944FC: - add r0, sp, 0x4 - movs r2, 0 - movs r1, 0x2 - strb r1, [r0, 0x5] - ldr r0, =gText_BattleTourney - str r0, [sp, 0x4] - add r0, sp, 0x4 - strb r1, [r0, 0x4] - strb r2, [r0, 0x6] - strb r2, [r0, 0x7] - strb r1, [r0, 0xA] - strb r2, [r0, 0xB] - ldrb r0, [r0, 0x5] - ldr r1, [sp, 0x4] - add r2, sp, 0x4 - ldrb r3, [r2, 0xA] - movs r2, 0x70 - bl GetStringCenterAlignXOffsetWithLetterSpacing - add r1, sp, 0x4 - strb r0, [r1, 0x8] - movs r0, 0x1 - strb r0, [r1, 0x9] - adds r3, r1, 0 - ldrb r2, [r3, 0xC] - movs r1, 0x10 - negs r1, r1 - adds r0, r1, 0 - ands r0, r2 - strb r0, [r3, 0xC] - adds r2, r3, 0 - movs r0, 0xE0 - strb r0, [r2, 0xC] - ldrb r0, [r2, 0xD] - ands r1, r0 - strb r1, [r2, 0xD] - adds r1, r2, 0 - movs r0, 0xD0 - strb r0, [r1, 0xD] - adds r0, r1, 0 - movs r1, 0 - movs r2, 0 - bl AddTextPrinter - mov r3, r8 - lsls r3, 2 - str r3, [sp, 0x1C] - add r4, sp, 0x4 - movs r0, 0xF - mov r9, r0 - movs r1, 0 - str r1, [sp, 0x20] - movs r2, 0 - str r2, [sp, 0x24] - movs r7, 0 - movs r5, 0xF -_0819456C: - ldr r3, =gSaveBlock2Ptr - ldr r0, [r3] - adds r0, r7 - ldr r1, =0x00000d24 - adds r0, r1 - ldrh r1, [r0] - lsls r1, 22 - lsrs r1, 22 - ldr r0, =gDisplayedStringBattle - bl CopyDomeOpponentName - mov r2, r10 - cmp r2, 0x1 - bne _081945C4 - ldr r3, =gSaveBlock2Ptr - ldr r2, [r3] - adds r0, r2, r7 - ldr r1, =0x00000d25 - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 29 - cmp r0, 0 - blt _081945DC - ldr r3, =0x00000cb2 - adds r0, r2, r3 - ldrh r1, [r0] - cmp r1, 0x1 - beq _08194634 - ldr r2, [sp, 0x24] - lsrs r0, r2, 24 - subs r1, 0x2 - b _081945EA - .pool -_081945C4: - mov r3, r10 - cmp r3, 0 - bne _08194634 - ldr r0, =gSaveBlock2Ptr - ldr r2, [r0] - adds r0, r2, r7 - ldr r1, =0x00000d25 - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 29 - cmp r0, 0 - bge _081945FC -_081945DC: - lsls r1, 27 - lsrs r0, r1, 30 - cmp r0, 0 - beq _08194634 - subs r1, r0, 0x1 - ldr r2, [sp, 0x24] - lsrs r0, r2, 24 -_081945EA: - lsls r1, 24 - lsrs r1, 24 - bl sub_81948EC - b _08194634 - .pool -_081945FC: - ldr r3, =0x00000cb2 - adds r1, r2, r3 - ldrh r0, [r1] - cmp r0, 0 - beq _08194634 - ldr r0, [sp, 0x1C] - add r0, r8 - lsls r0, 3 - ldr r2, =gTasks - adds r0, r2 - movs r3, 0x10 - ldrsh r0, [r0, r3] - cmp r0, 0 - beq _08194624 - ldrh r1, [r1] - b _08194628 - .pool -_08194624: - ldrh r0, [r1] - subs r1, r0, 0x1 -_08194628: - ldr r2, [sp, 0x24] - lsrs r0, r2, 24 - lsls r1, 24 - lsrs r1, 24 - bl sub_81948EC -_08194634: - ldr r0, [sp, 0x1C] - add r0, r8 - lsls r0, 3 - ldr r3, =gTasks - adds r0, r3 - movs r1, 0x10 - ldrsh r0, [r0, r1] - cmp r0, 0 - beq _08194660 - ldr r2, =gSaveBlock2Ptr - ldr r0, [r2] - ldr r3, =0x00000cb2 - adds r0, r3 - ldrh r3, [r0] - adds r6, r2, 0 - b _0819466E - .pool -_08194660: - ldr r1, =gSaveBlock2Ptr - ldr r0, [r1] - ldr r2, =0x00000cb2 - adds r0, r2 - ldrh r0, [r0] - subs r3, r0, 0x1 - adds r6, r1, 0 -_0819466E: - mov r0, r10 - cmp r0, 0x1 - bne _0819468E - ldr r2, [r6] - adds r0, r2, r7 - ldr r1, =0x00000d25 - adds r0, r1 - ldrb r1, [r0] - lsls r1, 27 - lsrs r1, 30 - ldr r0, =0x00000cb2 - adds r2, r0 - ldrh r0, [r2] - subs r0, 0x1 - cmp r1, r0 - blt _081946A6 -_0819468E: - mov r1, r10 - cmp r1, 0 - bne _081946FA - ldr r0, [r6] - adds r0, r7 - ldr r2, =0x00000d25 - adds r0, r2 - ldrb r0, [r0] - lsls r0, 27 - lsrs r0, 30 - cmp r0, r3 - bgt _081946FA -_081946A6: - ldr r0, [r6] - adds r1, r0, r7 - ldr r3, =0x00000d25 - adds r0, r1, r3 - ldrb r0, [r0] - lsls r0, 29 - cmp r0, 0 - bge _081946FA - ldr r2, =0x00000d24 - adds r0, r1, r2 - ldrh r0, [r0] - lsls r0, 22 - lsrs r0, 22 - ldr r3, =0x000003ff - cmp r0, r3 - bne _081946F0 - ldrb r1, [r4, 0xC] - mov r0, r9 - ands r0, r1 - movs r1, 0x30 - orrs r0, r1 - strb r0, [r4, 0xC] - ldrb r1, [r4, 0xD] - mov r0, r9 - ands r0, r1 - movs r1, 0x40 - b _08194740 - .pool -_081946F0: - ldrb r1, [r4, 0xC] - mov r0, r9 - ands r0, r1 - movs r1, 0xB0 - b _08194734 -_081946FA: - ldr r0, [r6] - adds r0, r7 - ldr r1, =0x00000d24 - adds r0, r1 - ldrh r0, [r0] - lsls r0, 22 - lsrs r0, 22 - ldr r2, =0x000003ff - cmp r0, r2 - bne _0819472C - ldrb r1, [r4, 0xC] - mov r0, r9 - ands r0, r1 - movs r1, 0x30 - orrs r0, r1 - strb r0, [r4, 0xC] - ldrb r1, [r4, 0xD] - mov r0, r9 - ands r0, r1 - movs r1, 0x40 - b _08194740 - .pool -_0819472C: - ldrb r1, [r4, 0xC] - mov r0, r9 - ands r0, r1 - movs r1, 0xE0 -_08194734: - orrs r0, r1 - strb r0, [r4, 0xC] - ldrb r1, [r4, 0xD] - mov r0, r9 - ands r0, r1 - movs r1, 0xD0 -_08194740: - orrs r0, r1 - strb r0, [r4, 0xD] - ldr r0, =gUnknown_0860D3F1 - ldr r3, [sp, 0x20] - adds r0, r3, r0 - ldrb r0, [r0] - cmp r0, 0 - bne _08194768 - ldrb r0, [r4, 0x5] - ldrb r3, [r4, 0xA] - ldr r1, =gDisplayedStringBattle - movs r2, 0x3D - bl GetStringWidthDifference - b _0819476A - .pool -_08194768: - movs r0, 0x3 -_0819476A: - strb r0, [r4, 0x8] - ldr r0, =gDisplayedStringBattle - str r0, [sp, 0x4] - ldr r0, =gUnknown_0860D3F1 - ldr r1, [sp, 0x20] - adds r0, r1, r0 - ldrb r0, [r0] - strb r0, [r4, 0x4] - ldr r2, =gUnknown_0860D3F2 - adds r0, r1, r2 - ldrb r0, [r0] - strb r0, [r4, 0x9] - add r0, sp, 0x4 - movs r1, 0 - movs r2, 0 - bl AddTextPrinter - ldr r3, [sp, 0x20] - adds r3, 0x2 - str r3, [sp, 0x20] - ldr r0, [sp, 0x24] - movs r1, 0x80 - lsls r1, 17 - adds r0, r1 - str r0, [sp, 0x24] - adds r7, 0x4 - subs r5, 0x1 - cmp r5, 0 - blt _081947A6 - b _0819456C -_081947A6: - ldr r0, =gTasks - ldr r1, [sp, 0x1C] - add r1, r8 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - b _081948C2 - .pool -_081947C8: - movs r0, 0 - bl PutWindowTilemap - movs r0, 0x1 - bl PutWindowTilemap - movs r0, 0x2 - bl PutWindowTilemap - movs r0, 0 - movs r1, 0x3 - bl CopyWindowToVram - movs r0, 0x1 - movs r1, 0x3 - bl CopyWindowToVram - movs r0, 0x2 - movs r1, 0x3 - bl CopyWindowToVram - ldr r0, =sub_8194BEC - bl SetHBlankCallback - ldr r0, =sub_8194CE4 - bl SetVBlankCallback - cmp r4, 0x2 - bne _0819485C - mov r2, r10 - cmp r2, 0 - bne _08194844 - ldr r0, =sub_819395C - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r5, r0, 24 - ldr r2, =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r2 - mov r3, r10 - strh r3, [r1, 0x8] - strh r3, [r1, 0xA] - mov r4, r8 - lsls r0, r4, 2 - add r0, r8 - lsls r0, 3 - adds r0, r2 - ldrh r0, [r0, 0x10] - strh r0, [r1, 0x14] - b _08194878 - .pool -_08194844: - ldr r0, =sub_8194950 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, =gTasks - b _0819486C - .pool -_0819485C: - ldr r1, =gTasks - mov r2, r8 - lsls r0, r2, 2 - add r0, r8 - lsls r0, 3 - adds r0, r1 - movs r3, 0xE - ldrsh r5, [r0, r3] -_0819486C: - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - movs r1, 0 - strh r1, [r0, 0x8] -_08194878: - bl ScanlineEffect_Clear - ldr r0, =gScanlineEffectRegBuffers - ldr r2, =0x00001f0a - movs r4, 0xF0 - lsls r4, 3 - adds r1, r0, r4 - movs r5, 0x5A -_08194888: - strh r2, [r0] - strh r2, [r1] - adds r1, 0x2 - adds r0, 0x2 - subs r5, 0x1 - cmp r5, 0 - bge _08194888 - movs r5, 0x5B - ldr r3, =gUnknown_0860CF44 - ldr r0, =gScanlineEffectRegBuffers - ldr r2, =0x00001f09 - ldr r4, =0x00000836 - adds r1, r0, r4 - adds r0, 0xB6 -_081948A4: - strh r2, [r0] - strh r2, [r1] - adds r1, 0x2 - adds r0, 0x2 - adds r5, 0x1 - cmp r5, 0x9F - ble _081948A4 - ldr r0, [r3] - ldr r1, [r3, 0x4] - ldr r2, [r3, 0x8] - bl ScanlineEffect_SetParams - mov r0, r8 - bl DestroyTask -_081948C2: - add sp, 0x28 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8194220 - - thumb_func_start sub_81948EC -sub_81948EC: @ 81948EC - push {r4-r7,lr} - sub sp, 0xC - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - ldr r4, =gUnknown_0860DD10 - lsls r2, r1, 2 - lsls r3, r0, 4 - adds r2, r3 - adds r2, r4 - ldr r3, [r2] - ldr r2, =gUnknown_0860DE10 - lsls r0, 2 - adds r1, r0 - adds r1, r2 - ldrb r0, [r1] - cmp r0, 0 - beq _08194938 - movs r7, 0x1 - adds r4, r3, 0 - adds r5, r4, 0x2 - adds r6, r0, 0 -_0819491A: - ldrb r2, [r4] - ldrb r3, [r4, 0x1] - str r7, [sp] - str r7, [sp, 0x4] - movs r0, 0x11 - str r0, [sp, 0x8] - movs r0, 0x1 - adds r1, r5, 0 - bl CopyToBgTilemapBufferRect_ChangePalette - adds r4, 0x4 - adds r5, 0x4 - subs r6, 0x1 - cmp r6, 0 - bne _0819491A -_08194938: - movs r0, 0x1 - bl CopyBgTilemapBufferToVram - add sp, 0xC - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81948EC - - thumb_func_start sub_8194950 -sub_8194950: @ 8194950 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x14 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - movs r2, 0x8 - ldrsh r0, [r0, r2] - adds r2, r1, 0 - cmp r0, 0x4 - bls _08194974 - b _08194B3C -_08194974: - lsls r0, 2 - ldr r1, =_08194988 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08194988: - .4byte _0819499C - .4byte _081949C0 - .4byte _08194AD4 - .4byte _08194AEE - .4byte _08194B24 -_0819499C: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - movs r1, 0x1 - strh r1, [r0, 0x8] - b _08194B3C - .pool -_081949C0: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _081949CE - b _08194B3C -_081949CE: - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r2 - movs r2, 0 - movs r3, 0x2 - movs r1, 0x2 - strh r1, [r0, 0x8] - movs r1, 0x40 - strh r1, [r0, 0xE] - add r0, sp, 0x4 - strb r3, [r0, 0x5] - strb r2, [r0, 0x6] - strb r2, [r0, 0x7] - strb r3, [r0, 0xA] - strb r2, [r0, 0xB] - adds r3, r0, 0 - ldrb r2, [r3, 0xC] - subs r1, 0x50 - adds r0, r1, 0 - ands r0, r2 - strb r0, [r3, 0xC] - adds r2, r3, 0 - movs r0, 0xB0 - strb r0, [r2, 0xC] - ldrb r0, [r2, 0xD] - ands r1, r0 - strb r1, [r2, 0xD] - adds r1, r2, 0 - movs r0, 0xD0 - strb r0, [r1, 0xD] - movs r7, 0 - ldr r0, =gDisplayedStringBattle - mov r9, r0 - ldr r1, =gSaveBlock2Ptr - mov r8, r1 - adds r4, r2, 0 - ldr r6, =gUnknown_0860D3F1 - movs r5, 0 -_08194A1C: - mov r2, r8 - ldr r0, [r2] - adds r0, r5 - ldr r1, =0x00000d24 - adds r0, r1 - ldrh r1, [r0] - lsls r1, 22 - lsrs r1, 22 - mov r0, r9 - bl CopyDomeOpponentName - mov r0, r8 - ldr r2, [r0] - adds r0, r2, r5 - ldr r1, =0x00000d25 - adds r0, r1 - ldrb r3, [r0] - lsls r1, r3, 27 - lsrs r1, 30 - ldr r0, =0x00000cb2 - adds r2, r0 - ldrh r0, [r2] - subs r0, 0x1 - cmp r1, r0 - bne _08194A9E - lsls r0, r3, 29 - cmp r0, 0 - bge _08194A9E - ldrb r0, [r6] - cmp r0, 0 - bne _08194A84 - ldrb r0, [r4, 0x5] - ldrb r3, [r4, 0xA] - mov r1, r9 - movs r2, 0x3D - bl GetStringWidthDifference - b _08194A86 - .pool -_08194A84: - movs r0, 0x3 -_08194A86: - strb r0, [r4, 0x8] - mov r1, r9 - str r1, [sp, 0x4] - ldrb r0, [r6] - strb r0, [r4, 0x4] - ldrb r0, [r6, 0x1] - strb r0, [r4, 0x9] - add r0, sp, 0x4 - movs r1, 0 - movs r2, 0 - bl AddTextPrinter -_08194A9E: - mov r2, r8 - ldr r1, [r2] - adds r0, r1, r5 - ldr r2, =0x00000d25 - adds r0, r2 - ldrb r0, [r0] - lsls r0, 29 - cmp r0, 0 - blt _08194AC4 - subs r2, 0x73 - adds r0, r1, r2 - ldrh r1, [r0] - subs r1, 0x1 - lsls r0, r7, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - bl sub_81948EC -_08194AC4: - adds r6, 0x2 - adds r5, 0x4 - adds r7, 0x1 - cmp r7, 0xF - ble _08194A1C - b _08194B3C - .pool -_08194AD4: - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r1, r0, r2 - ldrh r0, [r1, 0xE] - subs r0, 0x1 - strh r0, [r1, 0xE] - lsls r0, 16 - cmp r0, 0 - bne _08194B3C - movs r0, 0x3 - strh r0, [r1, 0x8] - b _08194B3C -_08194AEE: - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0 - beq _08194B3C - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - movs r1, 0x4 - strh r1, [r0, 0x8] - b _08194B3C - .pool -_08194B24: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08194B3C - ldr r0, =CB2_ReturnToFieldContinueScriptPlayMapMusic - bl SetMainCallback2 - adds r0, r4, 0 - bl DestroyTask -_08194B3C: - add sp, 0x14 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8194950 - - thumb_func_start sub_8194B54 -sub_8194B54: @ 8194B54 - push {lr} - bl AnimateSprites - bl BuildOamBuffer - bl RunTextPrinters - bl UpdatePaletteFade - bl RunTasks - pop {r0} - bx r0 - thumb_func_end sub_8194B54 - thumb_func_start sub_8194B70 sub_8194B70: @ 8194B70 push {lr} @@ -2039,7 +419,7 @@ _08194F2A: ldrh r1, [r1] lsls r1, 22 lsrs r1, 22 - bl CopyDomeOpponentName + bl CopyDomeTrainerName pop {r4} pop {r0} bx r0 @@ -2738,7 +1118,7 @@ _08195488: adds r0, r5, 0 ldr r1, [sp, 0x8] ldr r2, [sp] - bl sub_8193ED0 + bl GetWinningMove ldr r3, =gSaveBlock2Ptr ldr r1, [r3] ldr r5, [sp, 0x8] @@ -2788,7 +1168,7 @@ _08195504: ldr r0, [sp, 0x8] ldr r1, [sp, 0x4] ldr r2, [sp] - bl sub_8193ED0 + bl GetWinningMove ldr r1, [r4] ldr r3, [sp, 0x4] lsls r2, r3, 1 @@ -3043,7 +1423,7 @@ _08195682: ldr r0, [sp, 0x4] ldr r1, [sp, 0x8] ldr r2, [sp] - bl sub_8193ED0 + bl GetWinningMove ldr r3, =gSaveBlock2Ptr ldr r1, [r3] movs r5, 0xEC @@ -3084,7 +1464,7 @@ _08195784: ldr r0, [sp, 0x8] ldr r1, [sp, 0x4] ldr r2, [sp] - bl sub_8193ED0 + bl GetWinningMove ldr r1, [r5] movs r5, 0xEC lsls r5, 4 @@ -3122,7 +1502,7 @@ _081957DC: ldr r0, [sp, 0x4] ldr r1, [sp, 0x8] ldr r2, [sp] - bl sub_8193ED0 + bl GetWinningMove ldr r5, =gSaveBlock2Ptr ldr r1, [r5] movs r2, 0xEC @@ -3157,7 +1537,7 @@ _08195830: ldr r0, [sp, 0x8] ldr r1, [sp, 0x4] ldr r2, [sp] - bl sub_8193ED0 + bl GetWinningMove ldr r5, =gSaveBlock2Ptr ldr r1, [r5] movs r2, 0xEC @@ -3185,8 +1565,8 @@ _0819587E: .pool thumb_func_end sub_8195438 - thumb_func_start CopyDomeOpponentName -CopyDomeOpponentName: @ 8195898 + thumb_func_start CopyDomeTrainerName +CopyDomeTrainerName: @ 8195898 push {r4-r6,lr} adds r6, r0, 0 lsls r1, 16 @@ -3243,7 +1623,7 @@ _08195902: pop {r0} bx r0 .pool - thumb_func_end CopyDomeOpponentName + thumb_func_end CopyDomeTrainerName thumb_func_start GetDomeBrainTrainerPicId GetDomeBrainTrainerPicId: @ 8195910 diff --git a/src/battle_frontier_1.c b/src/battle_frontier_1.c index db6f99c8c7..332446d75b 100644 --- a/src/battle_frontier_1.c +++ b/src/battle_frontier_1.c @@ -35,6 +35,7 @@ #define DOME_QUARTERFINAL 1 // Different name for the same round. #define DOME_SEMIFINAL 2 #define DOME_FINAL 3 +#define DOME_ROUNDS_COUNT 4 struct Unknown_0203BC8C_Struct { @@ -57,8 +58,8 @@ extern u32 sub_81A39C4(void); extern u16 sub_8162548(u8, u8); extern u16 RandomizeFacilityTrainerMonId(u16); extern u8 GetFrontierEnemyMonLevel(void); -extern void CopyDomeOpponentName(u8 *dst, u16 trainerId); -extern u16 sub_81A5060(u8, u8); +extern void CopyDomeTrainerName(u8 *dst, u16 trainerId); +extern u16 sub_81A5060(u8 monId, u8 moveSlotId); extern u8 sub_81A50F0(u8, u8); extern u8 sub_81A50B0(u8); extern void sub_8162614(u16, u8); @@ -81,7 +82,7 @@ extern u16 gBattle_BG3_X; extern u16 gBattle_BG3_Y; extern struct Unknown_0203BC8C_Struct *gFacilityTrainerMons; extern struct Unknown_0203CD78_Struct *gUnknown_0203CD78; -extern void *gUnknown_0203CD7C; +extern u8 *gUnknown_0203CD7C; extern void (* const gUnknown_0860D090[])(void); extern const u32 gUnknown_0860D0EC[][2]; @@ -91,7 +92,7 @@ extern const u8 gUnknown_0860D10C[][4]; extern const u8 gUnknown_0860D14C[]; extern const struct BgTemplate gUnknown_0860CE84[4]; extern const struct WindowTemplate gUnknown_0860CEB4[]; -extern const struct CompressedSpriteSheet gUnknown_0860CF50; +extern const struct CompressedSpriteSheet gUnknown_0860CF50[]; extern const struct SpriteTemplate gUnknown_0860D068; extern const struct SpriteTemplate gUnknown_0860D050; extern const u8 gUnknown_0860D080[]; @@ -112,6 +113,7 @@ extern const u8 gUnknown_0860D3AB[]; extern const u8 gUnknown_0860D3AE[]; extern const u8 gUnknown_0860D3B1[]; extern const u8 gUnknown_0860D080[]; +extern const u8 gUnknown_08D83900[]; extern const u8 gUnknown_0860CBF1[][5][4]; extern const u8 *const gBattleDomePotentialPointers[]; extern const u8 *const gBattleDomeOpponentStylePointers[]; @@ -127,6 +129,10 @@ extern const u8 gUnknown_08D85444[]; extern const u8 gUnknown_08D85358[]; extern const u8 gUnknown_08D85600[]; extern const u8 gUnknown_08D854C8[]; +extern const u8 gUnknown_08D82F10[]; +extern const u8 gUnknown_08D834FC[]; +extern const u8 gUnknown_08D83B2C[]; +extern const u8 gUnknown_08D83C3C[]; // text extern const u8 gTrainerClassNames[][0xD]; @@ -136,7 +142,7 @@ u8 GetDomeTrainerMonIvs(u16 trainerId); void SwapDomeTrainers(s32 id1, s32 id2, u16 *statsArray); void CalcDomeMonStats(u16 species, s32 level, s32 ivs, u8 evBits, u8 nature, s32 *stats); void CreateDomeTrainerMons(u16 tournamentTrainerId); -u16 TrainerIdToTournamentId(u16 trainerId); +s32 TrainerIdToTournamentId(u16 trainerId); s32 GetTrainerMonCountInBits(u16 tournamentTrainerId); s32 sub_818FCBC(u16 tournamentTrainerId, bool8 arg1); s32 sub_818FDB8(u16 tournamentTrainerId, bool8 arg1); @@ -146,7 +152,8 @@ u16 TrainerIdOfPlayerOpponent(void); void sub_8190400(u8 taskId); void sub_8190CD4(u8 taskId); void sub_8194220(u8 taskId); -void sub_8194B54(void); +void sub_8194950(u8 taskId); +static void CB2_BattleDome(void); void sub_8194B70(void); static void DisplayMatchInfoOnCard(u8 flags, u8 matchNo); static void DisplayTrainerInfoOnCard(u8 flags, u8 trainerTournamentId); @@ -155,9 +162,14 @@ s32 sub_8192F08(u8, u8*); u8 GetDomeBrainTrainerPicId(void); u8 GetDomeBrainTrainerClass(void); void CopyDomeBrainTrainerName(u8 *dst); -void CopyDomeOpponentName(u8 *dst, u16 trainerId); +void CopyDomeTrainerName(u8 *dst, u16 trainerId); void sub_8194D48(void); +void sub_8194BEC(void); +void sub_8194CE4(void); u8 sub_8193BDC(u8 taskId); +void sub_8195438(u8 roundId); +u8 sub_81953E8(u8 tournamentId, u8); +void sub_81948EC(u8, u8); // const rom data ALIGNED(4) @@ -945,7 +957,7 @@ void sub_818F9B0(void) void sub_818F9E0(void) { StringCopy(gStringVar1, gRoundsStringTable[gSaveBlock2Ptr->frontier.field_CB2]); - CopyDomeOpponentName(gStringVar2, gTrainerBattleOpponent_A); + CopyDomeTrainerName(gStringVar2, gTrainerBattleOpponent_A); } void sub_818FA20(void) @@ -1626,7 +1638,7 @@ void ShowDomeOpponentInfo(void) gTasks[taskId].data[2] = 0; gTasks[taskId].data[3] = 0; - SetMainCallback2(sub_8194B54); + SetMainCallback2(CB2_BattleDome); } void sub_8190400(u8 taskId) @@ -1681,7 +1693,7 @@ void sub_8190400(u8 taskId) DecompressAndLoadBgGfxUsingHeap(2, gUnknown_08D83D50, 0x2000, 0, 0); DecompressAndLoadBgGfxUsingHeap(2, gUnknown_08D84970, 0x2000, 0, 1); DecompressAndLoadBgGfxUsingHeap(3, gUnknown_08D84F00, 0x800, 0, 1); - LoadCompressedObjectPic(&gUnknown_0860CF50); + LoadCompressedObjectPic(gUnknown_0860CF50); LoadCompressedPalette(gUnknown_08D85358, 0, 0x200); LoadCompressedPalette(gUnknown_08D85444, 0x100, 0x200); LoadCompressedPalette(gUnknown_08D85600, 0xF0, 0x20); @@ -2949,7 +2961,7 @@ static void DisplayTrainerInfoOnCard(u8 flags, u8 trainerTournamentId) } else { - CopyDomeOpponentName(gStringVar2, trainerId); + CopyDomeTrainerName(gStringVar2, trainerId); StringAppend(gStringVar1, gStringVar2); } @@ -3226,7 +3238,7 @@ s32 sub_8192F08(u8 arg0, u8 *arg1) else if (gSaveBlock2Ptr->frontier.domeTrainers[tournamentId].trainerId == TRAINER_FRONTIER_BRAIN) CopyDomeBrainTrainerName(gStringVar1); else - CopyDomeOpponentName(gStringVar1, gSaveBlock2Ptr->frontier.domeTrainers[tournamentId].trainerId); + CopyDomeTrainerName(gStringVar1, gSaveBlock2Ptr->frontier.domeTrainers[tournamentId].trainerId); count++; } } @@ -3256,7 +3268,7 @@ s32 sub_8192F08(u8 arg0, u8 *arg1) else if (gSaveBlock2Ptr->frontier.domeTrainers[tournamentId].trainerId == TRAINER_FRONTIER_BRAIN) CopyDomeBrainTrainerName(gStringVar1); else - CopyDomeOpponentName(gStringVar1, gSaveBlock2Ptr->frontier.domeTrainers[tournamentId].trainerId); + CopyDomeTrainerName(gStringVar1, gSaveBlock2Ptr->frontier.domeTrainers[tournamentId].trainerId); } } @@ -3440,7 +3452,7 @@ static void DisplayMatchInfoOnCard(u8 flags, u8 matchNo) else if (trainerIds[0] == TRAINER_FRONTIER_BRAIN) CopyDomeBrainTrainerName(gStringVar1); else - CopyDomeOpponentName(gStringVar1, trainerIds[0]); + CopyDomeTrainerName(gStringVar1, trainerIds[0]); textPrinter.fontId = 2; textPrinter.letterSpacing = 2; @@ -3458,7 +3470,7 @@ static void DisplayMatchInfoOnCard(u8 flags, u8 matchNo) else if (trainerIds[1] == TRAINER_FRONTIER_BRAIN) CopyDomeBrainTrainerName(gStringVar1); else - CopyDomeOpponentName(gStringVar1, trainerIds[1]); + CopyDomeTrainerName(gStringVar1, trainerIds[1]); textPrinter.current_text_offset = gStringVar1; textPrinter.windowId = windowId + 7; @@ -3486,7 +3498,7 @@ void sub_81938A4(void) gTasks[taskId].data[1] = 0; gTasks[taskId].data[2] = 2; gTasks[taskId].data[4] = 0; - SetMainCallback2(sub_8194B54); + SetMainCallback2(CB2_BattleDome); } void sub_81938E0(void) @@ -3501,7 +3513,7 @@ void sub_81938E0(void) gTasks[taskId].data[1] = 0; gTasks[taskId].data[2] = 2; gTasks[taskId].data[4] = 1; - SetMainCallback2(sub_8194B54); + SetMainCallback2(CB2_BattleDome); } void sub_819395C(u8 taskId) @@ -3640,3 +3652,483 @@ u8 sub_8193BDC(u8 taskId) return retVal; } + +void sub_8193D40(void) +{ + u8 taskId = CreateTask(sub_8194220, 0); + gTasks[taskId].data[0] = 0; + gTasks[taskId].data[1] = 1; + gTasks[taskId].data[2] = 2; + gTasks[taskId].data[4] = 0; + SetMainCallback2(CB2_BattleDome); +} + +void sub_8193D7C(void) +{ + s32 i; + + if (gSpecialVar_0x8005 == 1) + { + gSaveBlock2Ptr->frontier.domeTrainers[TrainerIdToTournamentId(gTrainerBattleOpponent_A)].unk1 = 1; + gSaveBlock2Ptr->frontier.domeTrainers[TrainerIdToTournamentId(gTrainerBattleOpponent_A)].unk2 = gSaveBlock2Ptr->frontier.field_CB2; + gSaveBlock2Ptr->frontier.field_EC0[TrainerIdToTournamentId(gTrainerBattleOpponent_A)] = gBattleResults.lastUsedMovePlayer; + if (gSaveBlock2Ptr->frontier.field_CB2 < DOME_FINAL) + sub_8195438(gSaveBlock2Ptr->frontier.field_CB2); + } + else + { + gSaveBlock2Ptr->frontier.domeTrainers[TrainerIdToTournamentId(TRAINER_PLAYER)].unk1 = 1; + gSaveBlock2Ptr->frontier.domeTrainers[TrainerIdToTournamentId(TRAINER_PLAYER)].unk2 = gSaveBlock2Ptr->frontier.field_CB2; + gSaveBlock2Ptr->frontier.field_EC0[TrainerIdToTournamentId(TRAINER_PLAYER)] = gBattleResults.lastUsedMoveOpponent; + if (gBattleOutcome == B_OUTCOME_FORFEITED || gSpecialVar_0x8005 == 9) + gSaveBlock2Ptr->frontier.domeTrainers[TrainerIdToTournamentId(TRAINER_PLAYER)].unk3 = 1; + for (i = gSaveBlock2Ptr->frontier.field_CB2; i < DOME_ROUNDS_COUNT; i++) + sub_8195438(i); + } +} + +u16 GetWinningMove(s32 winnerTournamentId, s32 loserTournamentId, u8 roundId) +{ + s32 i, j, k; + s32 moveScores[4 * 3]; + u16 moveIds[4 * 3]; + u16 bestScore = 0; + u16 bestId = 0; + s32 movePower = 0; + GetFrontierEnemyMonLevel(); // Unused return variable. + + // Calc move points of all 4 moves for all 3 pokemon hitting all 3 target mons. + for (i = 0; i < 3; i++) + { + for (j = 0; j < 4; j++) + { + moveScores[i * 4 + j] = 0; + if (gSaveBlock2Ptr->frontier.domeTrainers[winnerTournamentId].trainerId == TRAINER_FRONTIER_BRAIN) + moveIds[i * 4 + j] = sub_81A5060(i, j); + else + moveIds[i * 4 + j] = gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonId[winnerTournamentId][i]].moves[j]; + + movePower = gBattleMoves[moveIds[i * 4 + j]].power; + if (movePower == 0) + movePower = 40; + else if (movePower == 1) + movePower = 60; + else if (moveIds[i * 4 + j] == MOVE_SELF_DESTRUCT || moveIds[i * 4 + j] == MOVE_EXPLOSION) + movePower /= 2; + + for (k = 0; k < 3; k++) + { + u32 var = 0; + u32 targetSpecies = 0; + u32 targetAbility = 0; + do + { + var = Random32(); + } while (gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonId[loserTournamentId][k]].nature != GetNatureFromPersonality(var)); + + targetSpecies = gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonId[loserTournamentId][k]].species; + if (var & 1) + targetAbility = gBaseStats[targetSpecies].ability2; + else + targetAbility = gBaseStats[targetSpecies].ability1; + + var = AI_TypeCalc(moveIds[i * 4 + j], targetSpecies, targetAbility); + if (var & MOVE_RESULT_NOT_VERY_EFFECTIVE && var & MOVE_RESULT_SUPER_EFFECTIVE) + moveScores[i * 4 + j] += movePower; + else if (var & MOVE_RESULT_NO_EFFECT) + moveScores[i * 4 + j] += 0; + else if (var & MOVE_RESULT_SUPER_EFFECTIVE) + moveScores[i * 4 + j] += movePower * 2; + else if (var & MOVE_RESULT_NOT_VERY_EFFECTIVE) + moveScores[i * 4 + j] += movePower / 2; + else + moveScores[i * 4 + j] += movePower; + } + + if (bestScore < moveScores[i * 4 + j]) + { + bestId = i * 4 + j; + bestScore = moveScores[i * 4 + j]; + } + else if (bestScore == moveScores[i * 4 + j]) + { + if (moveIds[bestId] < moveIds[i * 4 + j]) // Why not use (Random() & 1) instead of promoting moves with a higher id? + bestId = i * 4 + j; + } + } + } + + j = bestId; + goto LABEL; + while (j != 0) + { + for (j = 0, k = 0; k < 4 * 3; k++) + { + if (bestScore < moveScores[k]) + { + j = k; + bestScore = moveScores[k]; + } + else if (bestScore == moveScores[k] && moveIds[j] < moveIds[k]) + { + j = k; + } + } + if (i == roundId - 1) + break; + LABEL: + { + for (i = 0; i < roundId - 1; i++) + { + if (gSaveBlock2Ptr->frontier.field_EC0[sub_81953E8(winnerTournamentId, i)] == moveIds[j]) + break; + } + if (i == roundId - 1) + break; + + moveScores[j] = 0; + bestScore = 0; + j = 0; + for (k = 0; k < 4 * 3; k++) + j += moveScores[k]; + } + } + + if (moveScores[j] == 0) + j = bestId; + + return moveIds[j]; +} + +extern const struct BgTemplate gUnknown_0860CE74[4]; +extern const struct WindowTemplate gUnknown_0860CE94[]; +extern const u8 gUnknown_0860D411[][2]; +extern const struct SpriteTemplate gUnknown_0860CFA8; +extern const struct SpriteTemplate gUnknown_0860D008; +extern const struct SpriteTemplate gUnknown_0860CFD8; +extern const struct ScanlineEffectParams gUnknown_0860CF44; + +void sub_8194220(u8 taskId) +{ + s32 i; + struct TextSubPrinter textPrinter; + s32 r10 = gTasks[taskId].data[1]; + s32 r4 = gTasks[taskId].data[2]; + + switch (gTasks[taskId].data[0]) + { + case 0: + SetHBlankCallback(NULL); + SetVBlankCallback(NULL); + EnableInterrupts(INTR_FLAG_HBLANK | INTR_FLAG_VBLANK); + CpuFill32(0, (void *)VRAM, VRAM_SIZE); + ResetBgsAndClearDma3BusyFlags(0); + InitBgsFromTemplates(0, gUnknown_0860CE74, ARRAY_COUNT(gUnknown_0860CE74)); + InitWindows(gUnknown_0860CE94); + DeactivateAllTextPrinters(); + gBattle_BG0_X = 0; + gBattle_BG0_Y = 0; + gBattle_BG1_X = 0; + gBattle_BG1_Y = 0; + ChangeBgX(2, 0, 0); + ChangeBgY(2, 0, 0); + ChangeBgX(3, 0, 0); + ChangeBgY(3, 0xB00, 0); + gTasks[taskId].data[0]++; + break; + case 1: + SetGpuReg(REG_OFFSET_BLDCNT, 0); + SetGpuReg(REG_OFFSET_BLDALPHA, 0); + SetGpuReg(REG_OFFSET_BLDY, 0); + SetGpuReg(REG_OFFSET_MOSAIC, 0); + SetGpuReg(REG_OFFSET_WIN0H, 0x5860); + SetGpuReg(REG_OFFSET_WIN0V, 0x9F); + SetGpuReg(REG_OFFSET_WIN1H, 0x9098); + SetGpuReg(REG_OFFSET_WIN1V, 0x9F); + SetGpuReg(REG_OFFSET_WININ, 0); + SetGpuReg(REG_OFFSET_WINOUT, 0x3F); + ResetPaletteFade(); + ResetSpriteData(); + FreeAllSpritePalettes(); + gTasks[taskId].data[0]++; + break; + case 2: + gUnknown_0203CD7C = AllocZeroed(0x800); + LZDecompressWram(gUnknown_08D83900, gUnknown_0203CD7C); + SetBgTilemapBuffer(1, gUnknown_0203CD7C); + CopyBgTilemapBufferToVram(1); + DecompressAndLoadBgGfxUsingHeap(1, gUnknown_08D82F10, 0x2000, 0, 0); + DecompressAndLoadBgGfxUsingHeap(2, gUnknown_08D834FC, 0x2000, 0, 0); + DecompressAndLoadBgGfxUsingHeap(2, gUnknown_08D83B2C, 0x2000, 0, 1); + DecompressAndLoadBgGfxUsingHeap(3, gUnknown_08D83C3C, 0x2000, 0, 1); + LoadCompressedPalette(gUnknown_08D85358, 0, 0x200); + LoadCompressedPalette(gUnknown_08D85444, 0x100, 0x200); + LoadCompressedPalette(gUnknown_08D85600, 0xF0, 0x20); + CpuFill32(0, gPlttBufferFaded, 0x400); + ShowBg(0); + ShowBg(1); + ShowBg(2); + ShowBg(3); + gTasks[taskId].data[0]++; + break; + case 3: + LoadCompressedObjectPic(gUnknown_0860CF50); + if (r10 == 0) + { + for (i = 0; i < (unsigned) 31; i++) + CreateSprite(&gUnknown_0860CFA8, gUnknown_0860D411[i][0], gUnknown_0860D411[i][1], 0); + if (gTasks[taskId].data[4]) + CreateSprite(&gUnknown_0860D008, 218, 12, 0); + else + CreateSprite(&gUnknown_0860CFD8, 218, 12, 0); + } + + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_BG_ALL_ON | DISPCNT_OBJ_ON | DISPCNT_WIN0_ON | DISPCNT_WIN1_ON | DISPCNT_OBJ_1D_MAP); + gTasks[taskId].data[0]++; + break; + case 4: + textPrinter.fontId = 2; + textPrinter.current_text_offset = gText_BattleTourney; + textPrinter.windowId = 2; + textPrinter.x = 0; + textPrinter.y = 0; + textPrinter.letterSpacing = 2; + textPrinter.lineSpacing = 0; + textPrinter.currentX = GetStringCenterAlignXOffsetWithLetterSpacing(textPrinter.fontId, textPrinter.current_text_offset, 0x70, textPrinter.letterSpacing); + textPrinter.currentY = 1; + textPrinter.fontColor_l = 0; + textPrinter.fgColor = 14; + textPrinter.bgColor = 0; + textPrinter.shadowColor = 13; + AddTextPrinter(&textPrinter, 0, NULL); + for (i = 0; i < DOME_TOURNAMENT_TRAINERS_COUNT; i++) + { + s32 var, var2; + + CopyDomeTrainerName(gDisplayedStringBattle, gSaveBlock2Ptr->frontier.domeTrainers[i].trainerId); + if (r10 == 1) + { + if (gSaveBlock2Ptr->frontier.domeTrainers[i].unk1) + { + if (gSaveBlock2Ptr->frontier.domeTrainers[i].unk2 != 0) + { + var2 = gSaveBlock2Ptr->frontier.domeTrainers[i].unk2 - 1; + sub_81948EC(i, var2); + } + } + else if (gSaveBlock2Ptr->frontier.field_CB2 != DOME_ROUND2) + { + sub_81948EC(i, gSaveBlock2Ptr->frontier.field_CB2 - 2); + } + } + else if (r10 == 0) + { + if (gSaveBlock2Ptr->frontier.domeTrainers[i].unk1) + { + if (gSaveBlock2Ptr->frontier.domeTrainers[i].unk2 != 0) + { + var2 = gSaveBlock2Ptr->frontier.domeTrainers[i].unk2 - 1; + sub_81948EC(i, var2); + } + } + else if (gSaveBlock2Ptr->frontier.field_CB2 != DOME_ROUND1) + { + if (gTasks[taskId].data[4]) + var2 = gSaveBlock2Ptr->frontier.field_CB2; + else + var2 = gSaveBlock2Ptr->frontier.field_CB2 - 1; + sub_81948EC(i, var2); + } + } + + if (gTasks[taskId].data[4]) + var = gSaveBlock2Ptr->frontier.field_CB2; + else + var = gSaveBlock2Ptr->frontier.field_CB2 - 1; + + if ( ((r10 == 1 && gSaveBlock2Ptr->frontier.domeTrainers[i].unk2 < gSaveBlock2Ptr->frontier.field_CB2 - 1) + || (r10 == 0 && gSaveBlock2Ptr->frontier.domeTrainers[i].unk2 <= var)) + && gSaveBlock2Ptr->frontier.domeTrainers[i].unk1) + { + if (gSaveBlock2Ptr->frontier.domeTrainers[i].trainerId == TRAINER_PLAYER) + { + textPrinter.fgColor = 3; + textPrinter.shadowColor = 4; + } + else + { + textPrinter.fgColor = 11; + textPrinter.shadowColor = 13; + } + } + else + { + if (gSaveBlock2Ptr->frontier.domeTrainers[i].trainerId == TRAINER_PLAYER) + { + textPrinter.fgColor = 3; + textPrinter.shadowColor = 4; + } + else + { + textPrinter.fgColor = 14; + textPrinter.shadowColor = 13; + } + } + + if (gUnknown_0860D3F1[i][0] == 0) + textPrinter.currentX = GetStringWidthDifference(textPrinter.fontId, gDisplayedStringBattle, 0x3D, textPrinter.letterSpacing); + else + textPrinter.currentX = 3; + textPrinter.current_text_offset = gDisplayedStringBattle; + textPrinter.windowId = gUnknown_0860D3F1[i][0]; + textPrinter.currentY = gUnknown_0860D3F1[i][1]; + AddTextPrinter(&textPrinter, 0, NULL); + } + gTasks[taskId].data[0]++; + break; + case 5: + PutWindowTilemap(0); + PutWindowTilemap(1); + PutWindowTilemap(2); + CopyWindowToVram(0, 3); + CopyWindowToVram(1, 3); + CopyWindowToVram(2, 3); + SetHBlankCallback(sub_8194BEC); + SetVBlankCallback(sub_8194CE4); + if (r4 == 2) + { + if (r10 == 0) + { + i = CreateTask(sub_819395C, 0); + gTasks[i].data[0] = r10; + gTasks[i].data[1] = r10; + gTasks[i].data[6] = gTasks[taskId].data[4]; + } + else + { + i = CreateTask(sub_8194950, 0); + gTasks[i].data[0] = 0; + } + } + else + { + i = gTasks[taskId].data[3]; + gTasks[i].data[0] = 0; + } + ScanlineEffect_Clear(); + for (i = 0; i < 91; i++) + { + gScanlineEffectRegBuffers[0][i] = 0x1F0A; + gScanlineEffectRegBuffers[1][i] = 0x1F0A; + } + for (i = 91; i < 160; i++) + { + asm(""::"r"(i)); + gScanlineEffectRegBuffers[0][i] = 0x1F09; + gScanlineEffectRegBuffers[1][i] = 0x1F09; + } + ScanlineEffect_SetParams(gUnknown_0860CF44); + DestroyTask(taskId); + break; + } +} + +struct UnkStruct_860DD10 +{ + u8 x; + u8 y; + u16 src; +}; + +extern struct UnkStruct_860DD10 *gUnknown_0860DD10[][4]; +extern const u8 gUnknown_0860DE10[][4]; + +void sub_81948EC(u8 tournamentId, u8 arg1) +{ + s32 i; + struct UnkStruct_860DD10 *structPtr = gUnknown_0860DD10[tournamentId][arg1]; + + for (i = 0; i < gUnknown_0860DE10[tournamentId][arg1]; i++) + CopyToBgTilemapBufferRect_ChangePalette(1, &structPtr[i].src, structPtr[i].x, structPtr[i].y, 1, 1, 0x11); + + CopyBgTilemapBufferToVram(1); +} + +void sub_8194950(u8 taskId) +{ + s32 i; + struct TextSubPrinter textPrinter; + + switch (gTasks[taskId].data[0]) + { + case 0: + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0); + gTasks[taskId].data[0] = 1; + break; + case 1: + if (!gPaletteFade.active) + { + gTasks[taskId].data[0] = 2; + gTasks[taskId].data[3] = 64; + textPrinter.fontId = 2; + textPrinter.x = 0; + textPrinter.y = 0; + textPrinter.letterSpacing = 2; + textPrinter.lineSpacing = 0; + textPrinter.fontColor_l = 0; + textPrinter.fgColor = 11; + textPrinter.bgColor = 0; + textPrinter.shadowColor = 13; + for (i = 0; i < DOME_TOURNAMENT_TRAINERS_COUNT; i++) + { + CopyDomeTrainerName(gDisplayedStringBattle, gSaveBlock2Ptr->frontier.domeTrainers[i].trainerId); + if (gSaveBlock2Ptr->frontier.domeTrainers[i].unk2 == gSaveBlock2Ptr->frontier.field_CB2 - 1 + && gSaveBlock2Ptr->frontier.domeTrainers[i].unk1) + { + if (gUnknown_0860D3F1[i][0] == 0) + textPrinter.currentX = GetStringWidthDifference(textPrinter.fontId, gDisplayedStringBattle, 0x3D, textPrinter.letterSpacing); + else + textPrinter.currentX = 3; + + textPrinter.current_text_offset = gDisplayedStringBattle; + textPrinter.windowId = gUnknown_0860D3F1[i][0]; + textPrinter.currentY = gUnknown_0860D3F1[i][1]; + AddTextPrinter(&textPrinter, 0, NULL); + } + if (!gSaveBlock2Ptr->frontier.domeTrainers[i].unk1) + { + s32 var = gSaveBlock2Ptr->frontier.field_CB2 - 1; + sub_81948EC(i, var); + } + } + } + break; + case 2: + if (--gTasks[taskId].data[3] == 0) + gTasks[taskId].data[0] = 3; + break; + case 3: + if (gMain.newKeys & (A_BUTTON | B_BUTTON)) + { + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); + gTasks[taskId].data[0] = 4; + } + break; + case 4: + if (!gPaletteFade.active) + { + SetMainCallback2(CB2_ReturnToFieldContinueScriptPlayMapMusic); + DestroyTask(taskId); + } + break; + } +} + +static void CB2_BattleDome(void) +{ + AnimateSprites(); + BuildOamBuffer(); + RunTextPrinters(); + UpdatePaletteFade(); + RunTasks(); +} From 62a645abafdd17b737562b4ab6b40739d13722c2 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Sat, 25 Aug 2018 18:46:15 +0200 Subject: [PATCH 129/234] Up To CopyDomeTrainerName --- asm/battle_frontier_1.s | 1661 +-------------------------------------- asm/battle_frontier_2.s | 36 +- asm/battle_tent.s | 6 +- asm/battle_tower.s | 36 +- include/battle_tower.h | 6 +- include/global.h | 4 +- src/battle_frontier_1.c | 581 ++++++++++++-- src/battle_tent.c | 4 +- sym_ewram.txt | 3 +- 9 files changed, 583 insertions(+), 1754 deletions(-) diff --git a/asm/battle_frontier_1.s b/asm/battle_frontier_1.s index acf2a7b810..193bd5e347 100644 --- a/asm/battle_frontier_1.s +++ b/asm/battle_frontier_1.s @@ -6,1667 +6,8 @@ .text - thumb_func_start sub_8194B70 -sub_8194B70: @ 8194B70 - push {lr} - movs r0, 0x3 - movs r1, 0x80 - movs r2, 0x1 - bl ChangeBgX - movs r0, 0x3 - movs r1, 0x80 - movs r2, 0x2 - bl ChangeBgY - ldr r0, =gBattle_BG0_X - ldrh r1, [r0] - movs r0, 0x10 - bl SetGpuReg - ldr r0, =gBattle_BG0_Y - ldrh r1, [r0] - movs r0, 0x12 - bl SetGpuReg - ldr r0, =gBattle_BG1_X - ldrh r1, [r0] - movs r0, 0x14 - bl SetGpuReg - ldr r0, =gBattle_BG1_Y - ldrh r1, [r0] - movs r0, 0x16 - bl SetGpuReg - ldr r0, =gBattle_BG2_X - ldrh r1, [r0] - movs r0, 0x18 - bl SetGpuReg - ldr r0, =gBattle_BG2_Y - ldrh r1, [r0] - movs r0, 0x1A - bl SetGpuReg - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - pop {r0} - bx r0 - .pool - thumb_func_end sub_8194B70 - thumb_func_start sub_8194BEC -sub_8194BEC: @ 8194BEC - push {lr} - ldr r0, =0x04000006 - ldrh r0, [r0] - adds r1, r0, 0 - cmp r0, 0x29 - bls _08194CC8 - cmp r0, 0x31 - bhi _08194C1C - ldr r1, =0x04000048 - ldr r2, =0x00003b3b - adds r0, r2, 0 - strh r0, [r1] - subs r1, 0x8 - ldr r0, =0x989b5558 - b _08194CD4 - .pool -_08194C1C: - cmp r0, 0x39 - bls _08194CC8 - cmp r0, 0x4A - bhi _08194C40 - ldr r1, =0x04000048 - ldr r2, =0x00003b3b - adds r0, r2, 0 - strh r0, [r1] - subs r1, 0x8 - ldr r0, =0x90985860 - b _08194CD4 - .pool -_08194C40: - cmp r0, 0x51 - bhi _08194C60 - ldr r1, =0x04000048 - ldr r2, =0x00003b3b - adds r0, r2, 0 - strh r0, [r1] - subs r1, 0x8 - ldr r0, =0x989b5558 - b _08194CD4 - .pool -_08194C60: - cmp r0, 0x5E - bls _08194CC8 - cmp r0, 0x66 - bhi _08194C84 - ldr r1, =0x04000048 - ldr r2, =0x00003737 - adds r0, r2, 0 - strh r0, [r1] - subs r1, 0x8 - ldr r0, =0x989b5558 - b _08194CD4 - .pool -_08194C84: - cmp r0, 0x76 - bhi _08194CA4 - ldr r1, =0x04000048 - ldr r2, =0x00003737 - adds r0, r2, 0 - strh r0, [r1] - subs r1, 0x8 - ldr r0, =0x90985860 - b _08194CD4 - .pool -_08194CA4: - cmp r0, 0x7E - bls _08194CC8 - cmp r1, 0x86 - bhi _08194CC8 - ldr r1, =0x04000048 - ldr r2, =0x00003737 - adds r0, r2, 0 - strh r0, [r1] - subs r1, 0x8 - ldr r0, =0x989b5558 - b _08194CD4 - .pool -_08194CC8: - ldr r1, =0x04000048 - ldr r2, =0x00003f3f - adds r0, r2, 0 - strh r0, [r1] - subs r1, 0x8 - movs r0, 0 -_08194CD4: - str r0, [r1] - pop {r0} - bx r0 - .pool - thumb_func_end sub_8194BEC - thumb_func_start sub_8194CE4 -sub_8194CE4: @ 8194CE4 - push {lr} - ldr r0, =gBattle_BG0_X - ldrh r1, [r0] - movs r0, 0x10 - bl SetGpuReg - ldr r0, =gBattle_BG0_Y - ldrh r1, [r0] - movs r0, 0x12 - bl SetGpuReg - ldr r0, =gBattle_BG1_X - ldrh r1, [r0] - movs r0, 0x14 - bl SetGpuReg - ldr r0, =gBattle_BG1_Y - ldrh r1, [r0] - movs r0, 0x16 - bl SetGpuReg - movs r0, 0x2 - movs r1, 0x80 - movs r2, 0x2 - bl ChangeBgY - movs r0, 0x3 - movs r1, 0x80 - movs r2, 0x1 - bl ChangeBgY - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - bl ScanlineEffect_InitHBlankDmaTransfer - pop {r0} - bx r0 - .pool - thumb_func_end sub_8194CE4 - - thumb_func_start sub_8194D48 -sub_8194D48: @ 8194D48 - ldr r1, =gFacilityTrainerMons - ldr r0, =gBattleFrontierMons - str r0, [r1] - ldr r1, =gUnknown_0203BC88 - ldr r0, =gBattleFrontierTrainers - str r0, [r1] - bx lr - .pool - thumb_func_end sub_8194D48 - - thumb_func_start sub_8194D68 -sub_8194D68: @ 8194D68 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - movs r3, 0 -_08194D76: - ldr r0, =gSaveBlock2Ptr - ldr r1, [r0] - ldr r0, =gUnknown_0203CEF8 - adds r0, r3, r0 - ldrb r0, [r0] - subs r0, 0x1 - lsls r0, 1 - ldr r2, =0x00000caa - adds r1, r2 - adds r1, r0 - ldrh r0, [r1] - subs r0, 0x1 - mov r10, r0 - movs r6, 0 - adds r0, r3, 0x1 - str r0, [sp] - movs r1, 0x64 - mov r0, r10 - muls r0, r1 - movs r2, 0x8E - lsls r2, 2 - adds r2, r0 - mov r9, r2 - adds r7, r3, 0 - muls r7, r1 -_08194DA8: - movs r5, 0 - adds r0, r6, 0x1 - mov r8, r0 - b _08194DBE - .pool -_08194DBC: - adds r5, 0x1 -_08194DBE: - cmp r5, 0x3 - bgt _08194DEA - ldr r1, =gSaveBlock1Ptr - ldr r0, [r1] - add r0, r9 - adds r1, r5, 0 - adds r1, 0xD - movs r2, 0 - str r3, [sp, 0x4] - bl GetMonData - adds r4, r0, 0 - adds r1, r6, 0 - adds r1, 0xD - ldr r2, =gPlayerParty - adds r0, r7, r2 - movs r2, 0 - bl GetMonData - ldr r3, [sp, 0x4] - cmp r4, r0 - bne _08194DBC -_08194DEA: - cmp r5, 0x4 - bne _08194E00 - lsls r2, r6, 24 - lsrs r2, 24 - ldr r1, =gPlayerParty - adds r0, r7, r1 - movs r1, 0xA6 - str r3, [sp, 0x4] - bl SetMonMoveSlot - ldr r3, [sp, 0x4] -_08194E00: - mov r6, r8 - cmp r6, 0x3 - ble _08194DA8 - ldr r2, =gSaveBlock1Ptr - ldr r0, [r2] - movs r2, 0x64 - mov r1, r10 - muls r1, r2 - adds r0, r1 - movs r1, 0x8E - lsls r1, 2 - adds r0, r1 - adds r1, r3, 0 - muls r1, r2 - ldr r2, =gPlayerParty - adds r1, r2 - movs r2, 0x64 - bl memcpy - ldr r3, [sp] - cmp r3, 0x1 - ble _08194D76 - 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_8194D68 - - thumb_func_start sub_8194E44 -sub_8194E44: @ 8194E44 - push {r4-r7,lr} - sub sp, 0x4 - movs r4, 0 - ldr r7, =gSaveBlock1Ptr - movs r6, 0x64 - movs r5, 0 -_08194E50: - ldr r0, =gSaveBlock2Ptr - ldr r1, [r0] - ldr r0, =gUnknown_0203CEF8 - adds r0, r4, r0 - ldrb r0, [r0] - subs r0, 0x1 - lsls r0, 1 - ldr r2, =0x00000caa - adds r1, r2 - adds r1, r0 - ldrh r0, [r1] - subs r0, 0x1 - adds r1, r0, 0 - muls r1, r6 - movs r0, 0x8E - lsls r0, 2 - adds r1, r0 - ldr r0, [r7] - adds r0, r1 - movs r1, 0xC - movs r2, 0 - bl GetMonData - mov r1, sp - strh r0, [r1] - ldr r0, =gPlayerParty - adds r0, r5, r0 - movs r1, 0xC - mov r2, sp - bl SetMonData - adds r5, 0x64 - adds r4, 0x1 - cmp r4, 0x1 - ble _08194E50 - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8194E44 - - thumb_func_start sub_8194EB4 -sub_8194EB4: @ 8194EB4 - push {lr} - bl sub_80F94E8 - pop {r0} - bx r0 - thumb_func_end sub_8194EB4 - - thumb_func_start sub_8194EC0 -sub_8194EC0: @ 8194EC0 - push {r4,lr} - ldr r0, =gTrainerBattleOpponent_A - ldrh r0, [r0] - bl TrainerIdToTournamentId - adds r4, r0, 0 - ldr r0, =0x000003ff - bl TrainerIdToTournamentId - cmp r4, r0 - ble _08194EE8 - ldr r1, =gSpecialVar_Result - movs r0, 0x1 - b _08194EEC - .pool -_08194EE8: - ldr r1, =gSpecialVar_Result - movs r0, 0x2 -_08194EEC: - strh r0, [r1] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8194EC0 - - thumb_func_start sub_8194EF8 -sub_8194EF8: @ 8194EF8 - push {r4,lr} - bl sub_8194D48 - movs r2, 0 - ldr r3, =gSaveBlock2Ptr - ldr r0, [r3] - ldr r1, =0x00000d25 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 29 - cmp r0, 0 - bge _08194F2A - adds r4, r3, 0 - adds r3, r1, 0 -_08194F14: - adds r2, 0x1 - cmp r2, 0xF - bgt _08194F2A - ldr r0, [r4] - lsls r1, r2, 2 - adds r0, r1 - adds r0, r3 - ldrb r0, [r0] - lsls r0, 29 - cmp r0, 0 - blt _08194F14 -_08194F2A: - ldr r0, =gStringVar1 - ldr r1, =gSaveBlock2Ptr - ldr r1, [r1] - lsls r2, 2 - adds r1, r2 - ldr r2, =0x00000d24 - adds r1, r2 - ldrh r1, [r1] - lsls r1, 22 - lsrs r1, 22 - bl CopyDomeTrainerName - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8194EF8 - - thumb_func_start sub_8194F58 -sub_8194F58: @ 8194F58 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x40 - movs r0, 0 - str r0, [sp, 0x8] - str r0, [sp, 0xC] - str r0, [sp, 0x10] - ldr r4, =gSaveBlock2Ptr - ldr r2, [r4] - ldr r5, =0x00000d0a - adds r0, r2, r5 - ldrb r1, [r0] - ldr r6, =0x00000d0b - adds r0, r2, r6 - ldrb r0, [r0] - cmn r1, r0 - beq _08194F8C - ldr r1, =0x00000ca8 - adds r0, r2, r1 - ldrb r0, [r0] - cmp r0, 0x1 - beq _08194F8C - b _0819533E -_08194F8C: - movs r0, 0x20 - bl AllocZeroed - str r0, [sp, 0x18] - movs r0, 0x18 - bl AllocZeroed - str r0, [sp, 0x1C] - ldr r1, [r4] - ldr r2, =0x00000ca9 - adds r1, r2 - ldrb r2, [r1] - lsls r0, r2, 30 - lsrs r0, 30 - str r0, [sp, 0x14] - movs r0, 0x4 - negs r0, r0 - ands r0, r2 - strb r0, [r1] - ldr r0, [r4] - movs r1, 0x1 - adds r0, r5 - strb r1, [r0] - ldr r0, [r4] - adds r0, r6 - strb r1, [r0] - movs r3, 0 - mov r10, r3 - movs r4, 0 - str r4, [sp, 0x38] - movs r5, 0 - str r5, [sp, 0x3C] -_08194FCC: - mov r0, r10 - cmp r0, 0x4 - bgt _08194FFC - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0xA - bl __umodsi3 - lsls r0, 16 - lsrs r4, r0, 16 - b _08195030 - .pool -_08194FFC: - mov r1, r10 - cmp r1, 0xE - bgt _0819501A - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x14 - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - adds r4, r0, 0 - adds r4, 0xA - b _08195030 -_0819501A: - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0xA - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - adds r4, r0, 0 - adds r4, 0x1E -_08195030: - movs r6, 0 - cmp r6, r10 - bge _08195064 - ldr r2, =gSaveBlock2Ptr - ldr r0, [r2] - ldr r3, =0x00000d24 - adds r0, r3 - ldrh r0, [r0] - lsls r0, 22 - lsrs r0, 22 - cmp r0, r4 - beq _08195064 - adds r3, r2, 0 - ldr r2, =0x00000d24 -_0819504C: - adds r6, 0x1 - cmp r6, r10 - bge _08195064 - ldr r0, [r3] - lsls r1, r6, 2 - adds r0, r1 - adds r0, r2 - ldrh r0, [r0] - lsls r0, 22 - lsrs r0, 22 - cmp r0, r4 - bne _0819504C -_08195064: - cmp r6, r10 - bne _08194FCC - ldr r5, =gSaveBlock2Ptr - ldr r3, [r5] - ldr r0, [sp, 0x38] - adds r3, r0 - ldr r1, =0x00000d24 - adds r3, r1 - ldr r2, =0x000003ff - adds r0, r2, 0 - adds r2, r4, 0 - ands r2, r0 - ldrh r0, [r3] - ldr r5, =0xfffffc00 - adds r1, r5, 0 - ands r0, r1 - orrs r0, r2 - strh r0, [r3] - movs r6, 0 - lsls r4, 16 - str r4, [sp, 0x30] - ldr r0, [sp, 0x3C] - str r0, [sp, 0x20] -_08195092: - adds r1, r6, 0x1 - str r1, [sp, 0x24] - lsls r2, r6, 2 - str r2, [sp, 0x2C] - lsls r3, r6, 1 - str r3, [sp, 0x28] -_0819509E: - ldr r4, [sp, 0x30] - lsrs r0, r4, 16 - bl RandomizeFacilityTrainerMonId - lsls r0, 16 - lsrs r5, r0, 16 - movs r7, 0 - cmp r7, r6 - bge _081950F4 - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r1, =gFacilityTrainerMons - mov r9, r1 - ldr r2, [sp, 0x8] - mov r8, r2 - ldr r3, [sp, 0xC] - mov r12, r3 - ldr r4, =0x00000d64 - adds r0, r4 - ldr r1, [sp, 0x20] - adds r4, r1, r0 -_081950C8: - ldrh r3, [r4] - cmp r3, r5 - beq _081950F4 - mov r2, r9 - ldr r1, [r2] - lsls r0, r5, 4 - adds r2, r0, r1 - ldrh r0, [r2] - cmp r8, r0 - beq _081950F4 - cmp r12, r0 - beq _081950F4 - lsls r0, r3, 4 - adds r0, r1 - ldrb r0, [r0, 0xA] - ldrb r2, [r2, 0xA] - cmp r0, r2 - beq _081950F4 - adds r4, 0x2 - adds r7, 0x1 - cmp r7, r6 - blt _081950C8 -_081950F4: - cmp r7, r6 - bne _0819509E - ldr r3, =gSaveBlock2Ptr - ldr r0, [r3] - ldr r4, [sp, 0x28] - ldr r2, [sp, 0x3C] - adds r1, r4, r2 - ldr r3, =0x00000d64 - adds r0, r3 - adds r0, r1 - strh r5, [r0] - ldr r2, [sp, 0x2C] - add r2, sp - adds r2, 0x8 - ldr r3, =gFacilityTrainerMons - ldr r1, [r3] - lsls r0, r5, 4 - adds r0, r1 - ldrh r0, [r0] - str r0, [r2] - ldr r6, [sp, 0x24] - cmp r6, 0x2 - ble _08195092 - ldr r4, =gSaveBlock2Ptr - ldr r2, [r4] - ldr r5, [sp, 0x38] - adds r2, r5 - ldr r0, =0x00000d25 - adds r2, r0 - ldrb r0, [r2] - movs r4, 0x5 - negs r4, r4 - adds r1, r4, 0 - ands r0, r1 - strb r0, [r2] - ldr r5, =gSaveBlock2Ptr - ldr r2, [r5] - ldr r0, [sp, 0x38] - adds r2, r0 - ldr r1, =0x00000d25 - adds r2, r1 - ldrb r0, [r2] - subs r4, 0x14 - adds r1, r4, 0 - ands r0, r1 - strb r0, [r2] - ldr r1, [r5] - ldr r5, [sp, 0x38] - adds r1, r5 - ldr r0, =0x00000d25 - adds r1, r0 - ldrb r2, [r1] - movs r0, 0x1F - ands r0, r2 - strb r0, [r1] - adds r5, 0x4 - str r5, [sp, 0x38] - ldr r1, [sp, 0x3C] - adds r1, 0x6 - str r1, [sp, 0x3C] - movs r2, 0x1 - add r10, r2 - mov r4, r10 - cmp r4, 0xF - bgt _08195178 - b _08194FCC -_08195178: - movs r5, 0 - mov r10, r5 - ldr r5, [sp, 0x18] - movs r0, 0 - str r0, [sp, 0x34] -_08195182: - movs r7, 0 - strh r7, [r5] - ldr r1, =gSaveBlock2Ptr - ldr r0, [r1] - mov r2, r10 - lsls r1, r2, 2 - adds r0, r1 - ldr r3, =0x00000d24 - adds r0, r3 - ldrh r0, [r0] - lsls r0, 22 - lsrs r0, 22 - bl GetDomeTrainerMonIvs - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - movs r6, 0 - ldr r4, [sp, 0x34] - mov r9, r4 -_081951AA: - ldr r1, =gSaveBlock2Ptr - ldr r0, [r1] - mov r4, r9 - add r4, r10 - adds r4, r6 - lsls r4, 1 - ldr r2, =0x00000d64 - adds r0, r2 - adds r0, r4 - ldrh r1, [r0] - ldr r3, =gFacilityTrainerMons - ldr r0, [r3] - lsls r1, 4 - adds r1, r0 - ldrh r0, [r1] - ldrb r3, [r1, 0xB] - ldrb r1, [r1, 0xC] - str r1, [sp] - ldr r1, [sp, 0x1C] - str r1, [sp, 0x4] - movs r1, 0x32 - mov r2, r8 - bl CalcDomeMonStats - ldr r2, [sp, 0x1C] - ldr r1, [r2, 0x4] - ldrh r0, [r5] - adds r0, r1 - ldr r1, [r2, 0x8] - adds r0, r1 - ldr r1, [r2, 0x10] - adds r0, r1 - ldr r1, [r2, 0x14] - adds r0, r1 - ldr r1, [r2, 0xC] - adds r0, r1 - ldr r1, [r2] - adds r0, r1 - strh r0, [r5] - ldr r3, =gSaveBlock2Ptr - ldr r0, [r3] - ldr r1, =0x00000d64 - adds r0, r1 - adds r0, r4 - ldrh r0, [r0] - ldr r2, =gFacilityTrainerMons - ldr r1, [r2] - lsls r0, 4 - adds r0, r1 - ldrh r0, [r0] - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - ldr r3, =gBaseStats - adds r1, r3 - ldrb r0, [r1, 0x6] - lsls r0, 2 - ldr r4, =gBitTable - adds r0, r4 - ldr r0, [r0] - orrs r7, r0 - ldrb r0, [r1, 0x7] - lsls r0, 2 - adds r0, r4 - ldr r0, [r0] - orrs r7, r0 - adds r6, 0x1 - cmp r6, 0x2 - ble _081951AA - movs r4, 0 - movs r1, 0x1 - movs r6, 0x1F -_0819523A: - adds r0, r7, 0 - ands r0, r1 - cmp r0, 0 - beq _08195244 - adds r4, 0x1 -_08195244: - asrs r7, 1 - subs r6, 0x1 - cmp r6, 0 - bge _0819523A - movs r1, 0x32 - adds r0, r4, 0 - muls r0, r1 - movs r1, 0x14 - bl __divsi3 - ldrh r1, [r5] - adds r1, r0 - strh r1, [r5] - adds r5, 0x2 - ldr r2, [sp, 0x34] - adds r2, 0x2 - str r2, [sp, 0x34] - movs r3, 0x1 - add r10, r3 - mov r4, r10 - cmp r4, 0xF - ble _08195182 - movs r5, 0 - mov r10, r5 - ldr r7, [sp, 0x18] -_08195276: - mov r6, r10 - adds r6, 0x1 - cmp r6, 0xF - bgt _081952F8 - mov r8, r7 - ldr r5, =0x00000d24 - lsls r0, r6, 1 - ldr r1, [sp, 0x18] - adds r4, r0, r1 -_08195288: - mov r2, r8 - ldrh r1, [r2] - ldrh r0, [r4] - cmp r1, r0 - bcs _081952C4 - mov r0, r10 - adds r1, r6, 0 - ldr r2, [sp, 0x18] - bl SwapDomeTrainers - b _081952F0 - .pool -_081952C4: - cmp r1, r0 - bne _081952F0 - ldr r0, =gSaveBlock2Ptr - ldr r1, [r0] - mov r3, r10 - lsls r0, r3, 2 - adds r0, r1, r0 - adds r0, r5 - ldrh r2, [r0] - lsls r2, 22 - lsls r0, r6, 2 - adds r1, r0 - adds r1, r5 - ldrh r0, [r1] - lsls r0, 22 - cmp r2, r0 - bls _081952F0 - mov r0, r10 - adds r1, r6, 0 - ldr r2, [sp, 0x18] - bl SwapDomeTrainers -_081952F0: - adds r4, 0x2 - adds r6, 0x1 - cmp r6, 0xF - ble _08195288 -_081952F8: - adds r7, 0x2 - movs r4, 0x1 - add r10, r4 - mov r5, r10 - cmp r5, 0xE - ble _08195276 - ldr r0, [sp, 0x18] - bl Free - ldr r0, [sp, 0x1C] - bl Free - movs r0, 0 - mov r10, r0 -_08195314: - mov r1, r10 - lsls r0, r1, 24 - lsrs r0, 24 - bl sub_8195438 - movs r2, 0x1 - add r10, r2 - mov r3, r10 - cmp r3, 0x3 - ble _08195314 - ldr r0, =gSaveBlock2Ptr - ldr r1, [r0] - ldr r4, =0x00000ca9 - adds r1, r4 - ldrb r2, [r1] - movs r0, 0x4 - negs r0, r0 - ands r0, r2 - ldr r5, [sp, 0x14] - orrs r0, r5 - strb r0, [r1] -_0819533E: - add sp, 0x40 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8194F58 - - thumb_func_start TrainerIdToTournamentId -TrainerIdToTournamentId: @ 8195358 - push {r4,r5,lr} - lsls r0, 16 - lsrs r3, r0, 16 - movs r2, 0 - ldr r4, =gSaveBlock2Ptr - ldr r0, [r4] - ldr r1, =0x00000d24 - adds r0, r1 - ldrh r0, [r0] - lsls r0, 22 - lsrs r0, 22 - cmp r0, r3 - beq _0819538E - adds r5, r4, 0 - adds r4, r1, 0 -_08195376: - adds r2, 0x1 - cmp r2, 0xF - bgt _0819538E - ldr r0, [r5] - lsls r1, r2, 2 - adds r0, r1 - adds r0, r4 - ldrh r0, [r0] - lsls r0, 22 - lsrs r0, 22 - cmp r0, r3 - bne _08195376 -_0819538E: - adds r0, r2, 0 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end TrainerIdToTournamentId - - thumb_func_start sub_81953A0 -sub_81953A0: @ 81953A0 - push {r4,r5,lr} - lsls r0, 16 - lsrs r3, r0, 16 - movs r2, 0 - ldr r4, =gSaveBlock2Ptr - ldr r0, [r4] - ldr r1, =0x00000d24 - adds r0, r1 - ldrh r0, [r0] - lsls r0, 22 - lsrs r0, 22 - cmp r0, r3 - beq _081953D6 - adds r5, r4, 0 - adds r4, r1, 0 -_081953BE: - adds r2, 0x1 - cmp r2, 0xF - bgt _081953D6 - ldr r0, [r5] - lsls r1, r2, 2 - adds r0, r1 - adds r0, r4 - ldrh r0, [r0] - lsls r0, 22 - lsrs r0, 22 - cmp r0, r3 - bne _081953BE -_081953D6: - adds r0, r2, 0 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81953A0 - - thumb_func_start sub_81953E8 -sub_81953E8: @ 81953E8 - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r1, 24 - lsrs r1, 24 - ldr r2, =gUnknown_0860D1A0 - ldr r0, =gUnknown_0860D1C0 - adds r0, r4, r0 - ldrb r0, [r0] - lsrs r0, 1 - lsls r0, 2 - adds r1, r0 - adds r1, r2 - ldrb r0, [r1] - subs r0, 0x10 - lsls r0, 24 - lsrs r0, 24 - mov r1, sp - bl sub_8192F08 - mov r0, sp - ldrb r0, [r0] - cmp r4, r0 - beq _0819542C - mov r0, sp - ldrb r0, [r0] - b _08195430 - .pool -_0819542C: - mov r0, sp - ldrb r0, [r0, 0x1] -_08195430: - add sp, 0x4 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81953E8 - - thumb_func_start sub_8195438 -sub_8195438: @ 8195438 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x40 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp] - movs r0, 0 - str r0, [sp, 0xC] - movs r1, 0 - str r1, [sp, 0x10] - movs r5, 0 - movs r1, 0x3 - ldr r0, [sp] - ands r0, r1 - lsls r0, 3 - str r0, [sp, 0x14] -_0819545E: - ldr r2, =gSaveBlock2Ptr - ldr r0, [r2] - lsls r4, r5, 2 - adds r1, r0, r4 - ldr r3, =0x00000d25 - adds r0, r1, r3 - ldrb r0, [r0] - lsls r0, 29 - adds r2, r5, 0x1 - str r2, [sp, 0x24] - cmp r0, 0 - bge _08195478 - b _08195876 -_08195478: - subs r3, 0x1 - adds r0, r1, r3 - ldrh r0, [r0] - lsls r1, r0, 22 - ldr r0, =0xffc00000 - cmp r1, r0 - bne _08195488 - b _08195876 -_08195488: - str r5, [sp, 0x4] - lsrs r1, 22 - ldr r0, [sp] - bl TournamentIdOfOpponent - str r0, [sp, 0x8] - ldr r0, =gSaveBlock2Ptr - ldr r3, [r0] - adds r0, r3, r4 - ldr r1, =0x00000d24 - adds r0, r1 - ldrh r0, [r0] - lsls r0, 22 - ldr r1, =0xff800000 - cmp r0, r1 - bne _08195504 - ldr r2, [sp, 0x8] - cmp r2, 0xFF - beq _08195504 - lsls r2, 2 - adds r1, r3, r2 - ldr r3, =0x00000d25 - adds r1, r3 - ldrb r0, [r1] - movs r3, 0x4 - orrs r0, r3 - strb r0, [r1] - ldr r0, =gSaveBlock2Ptr - ldr r1, [r0] - adds r1, r2 - ldr r2, =0x00000d25 - adds r1, r2 - ldrb r0, [r1] - subs r3, 0x1D - ands r0, r3 - ldr r2, [sp, 0x14] - orrs r0, r2 - strb r0, [r1] - adds r0, r5, 0 - ldr r1, [sp, 0x8] - ldr r2, [sp] - bl GetWinningMove - ldr r3, =gSaveBlock2Ptr - ldr r1, [r3] - ldr r5, [sp, 0x8] - lsls r2, r5, 1 - movs r3, 0xEC - lsls r3, 4 - adds r1, r3 - adds r1, r2 - b _08195874 - .pool -_08195504: - ldr r4, =gSaveBlock2Ptr - ldr r3, [r4] - ldr r0, [sp, 0x8] - lsls r2, r0, 2 - adds r0, r3, r2 - ldr r1, =0x00000d24 - adds r0, r1 - ldrh r0, [r0] - lsls r0, 22 - ldr r1, =0xff800000 - str r2, [sp, 0x30] - cmp r0, r1 - bne _0819557C - ldr r2, [sp, 0x4] - cmp r2, 0xFF - beq _0819557C - lsls r2, 2 - adds r1, r3, r2 - ldr r3, =0x00000d25 - adds r1, r3 - ldrb r0, [r1] - movs r3, 0x4 - orrs r0, r3 - strb r0, [r1] - ldr r1, [r4] - adds r1, r2 - ldr r0, =0x00000d25 - adds r1, r0 - ldrb r0, [r1] - movs r2, 0x19 - negs r2, r2 - ands r0, r2 - ldr r3, [sp, 0x14] - orrs r0, r3 - strb r0, [r1] - ldr r0, [sp, 0x8] - ldr r1, [sp, 0x4] - ldr r2, [sp] - bl GetWinningMove - ldr r1, [r4] - ldr r3, [sp, 0x4] - lsls r2, r3, 1 - movs r3, 0xEC - lsls r3, 4 - adds r1, r3 - adds r1, r2 - strh r0, [r1] - adds r5, 0x1 - str r5, [sp, 0x24] - b _08195876 - .pool -_0819557C: - adds r5, 0x1 - str r5, [sp, 0x24] - ldr r5, [sp, 0x8] - cmp r5, 0xFF - bne _08195588 - b _08195876 -_08195588: - movs r0, 0 - mov r10, r0 - lsls r1, r5, 1 - str r1, [sp, 0x2C] - ldr r2, [sp, 0x4] - lsls r2, 1 - str r2, [sp, 0x28] - ldr r3, [sp, 0x4] - adds r0, r2, r3 - lsls r0, 1 - mov r9, r0 - adds r0, r1, r5 - lsls r0, 1 - str r0, [sp, 0x18] -_081955A4: - movs r5, 0 - mov r0, r9 - str r0, [sp, 0x38] -_081955AA: - movs r6, 0 - lsls r7, r5, 1 - ldr r4, [sp, 0x18] -_081955B0: - ldr r2, =gSaveBlock2Ptr - ldr r1, [r2] - ldr r3, =0x00000d64 - adds r1, r3 - ldr r2, [sp, 0x38] - adds r0, r1, r2 - ldrh r0, [r0] - ldr r3, =gFacilityTrainerMons - mov r8, r3 - ldr r2, [r3] - lsls r0, 4 - adds r0, r2 - adds r0, 0x2 - adds r0, r7 - ldrh r0, [r0] - adds r1, r4 - ldrh r1, [r1] - lsls r1, 4 - adds r1, r2 - ldrh r1, [r1] - movs r2, 0x2 - bl sub_818FFC0 - ldr r1, [sp, 0xC] - adds r1, r0 - str r1, [sp, 0xC] - adds r4, 0x2 - adds r6, 0x1 - cmp r6, 0x2 - ble _081955B0 - adds r5, 0x1 - cmp r5, 0x3 - ble _081955AA - ldr r2, =gSaveBlock2Ptr - ldr r0, [r2] - ldr r3, =0x00000d64 - adds r0, r3 - add r0, r9 - ldrh r0, [r0] - mov r5, r8 - ldr r1, [r5] - lsls r0, 4 - adds r0, r1 - ldrh r2, [r0] - ldr r0, =gBaseStats - lsls r1, r2, 3 - subs r1, r2 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1] - ldrb r2, [r1, 0x1] - adds r0, r2 - ldrb r2, [r1, 0x2] - adds r0, r2 - ldrb r2, [r1, 0x3] - adds r0, r2 - ldrb r3, [r1, 0x4] - adds r0, r3 - ldrb r1, [r1, 0x5] - adds r0, r1 - movs r1, 0xA - bl __divsi3 - ldr r5, [sp, 0xC] - adds r5, r0 - str r5, [sp, 0xC] - movs r0, 0x2 - add r9, r0 - movs r1, 0x1 - add r10, r1 - mov r2, r10 - cmp r2, 0x2 - ble _081955A4 - bl Random - movs r1, 0x1F - ands r1, r0 - adds r5, r1 - ldr r3, [sp, 0x4] - adds r5, r3 - str r5, [sp, 0xC] - movs r5, 0 - mov r10, r5 - ldr r1, [sp, 0x2C] - ldr r2, [sp, 0x8] - adds r0, r1, r2 - lsls r0, 1 - str r0, [sp, 0x1C] - ldr r5, [sp, 0x28] - adds r0, r5, r3 - lsls r0, 1 - str r0, [sp, 0x20] -_08195668: - movs r5, 0 - mov r0, r10 - lsls r3, r0, 1 - movs r1, 0x1 - add r10, r1 - ldr r2, [sp, 0x1C] - adds r2, r3 - mov r8, r2 -_08195678: - movs r6, 0 - lsls r7, r5, 1 - adds r5, 0x1 - str r5, [sp, 0x3C] - ldr r4, [sp, 0x20] -_08195682: - ldr r5, =gSaveBlock2Ptr - ldr r1, [r5] - ldr r0, =0x00000d64 - adds r1, r0 - mov r2, r8 - adds r0, r1, r2 - ldrh r0, [r0] - ldr r5, =gFacilityTrainerMons - mov r9, r5 - ldr r2, [r5] - lsls r0, 4 - adds r0, r2 - adds r0, 0x2 - adds r0, r7 - ldrh r0, [r0] - adds r1, r4 - ldrh r1, [r1] - lsls r1, 4 - adds r1, r2 - ldrh r1, [r1] - movs r2, 0x2 - str r3, [sp, 0x34] - bl sub_818FFC0 - ldr r1, [sp, 0x10] - adds r1, r0 - str r1, [sp, 0x10] - adds r4, 0x2 - adds r6, 0x1 - ldr r3, [sp, 0x34] - cmp r6, 0x2 - ble _08195682 - ldr r5, [sp, 0x3C] - cmp r5, 0x3 - ble _08195678 - ldr r2, =gSaveBlock2Ptr - ldr r0, [r2] - ldr r5, [sp, 0x1C] - adds r1, r3, r5 - ldr r2, =0x00000d64 - adds r0, r2 - adds r0, r1 - ldrh r0, [r0] - mov r3, r9 - ldr r1, [r3] - lsls r0, 4 - adds r0, r1 - ldrh r2, [r0] - ldr r0, =gBaseStats - lsls r1, r2, 3 - subs r1, r2 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1] - ldrb r2, [r1, 0x1] - adds r0, r2 - ldrb r5, [r1, 0x2] - adds r0, r5 - ldrb r2, [r1, 0x3] - adds r0, r2 - ldrb r2, [r1, 0x4] - adds r0, r2 - ldrb r1, [r1, 0x5] - adds r0, r1 - movs r1, 0xA - bl __divsi3 - ldr r3, [sp, 0x10] - adds r3, r0 - str r3, [sp, 0x10] - mov r5, r10 - cmp r5, 0x2 - ble _08195668 - bl Random - movs r1, 0x1F - ands r1, r0 - ldr r0, [sp, 0x10] - adds r0, r1 - ldr r1, [sp, 0x8] - adds r0, r1 - str r0, [sp, 0x10] - ldr r2, [sp, 0xC] - cmp r2, r0 - ble _08195784 - ldr r3, =gSaveBlock2Ptr - ldr r1, [r3] - ldr r5, [sp, 0x30] - adds r1, r5 - ldr r0, =0x00000d25 - adds r1, r0 - ldrb r0, [r1] - movs r2, 0x4 - orrs r0, r2 - strb r0, [r1] - ldr r1, [r3] - adds r1, r5 - ldr r3, =0x00000d25 - adds r1, r3 - ldrb r0, [r1] - movs r5, 0x19 - negs r5, r5 - ands r0, r5 - ldr r2, [sp, 0x14] - orrs r0, r2 - strb r0, [r1] - ldr r0, [sp, 0x4] - ldr r1, [sp, 0x8] - ldr r2, [sp] - bl GetWinningMove - ldr r3, =gSaveBlock2Ptr - ldr r1, [r3] - movs r5, 0xEC - lsls r5, 4 - adds r1, r5 - ldr r2, [sp, 0x2C] - adds r1, r2 - b _08195874 - .pool -_08195784: - ldr r3, [sp, 0xC] - ldr r5, [sp, 0x10] - cmp r3, r5 - bge _081957DC - ldr r0, =gSaveBlock2Ptr - ldr r1, [r0] - ldr r3, [sp, 0x4] - lsls r2, r3, 2 - adds r1, r2 - ldr r5, =0x00000d25 - adds r1, r5 - ldrb r0, [r1] - movs r3, 0x4 - orrs r0, r3 - strb r0, [r1] - ldr r5, =gSaveBlock2Ptr - ldr r1, [r5] - adds r1, r2 - ldr r0, =0x00000d25 - adds r1, r0 - ldrb r0, [r1] - movs r2, 0x19 - negs r2, r2 - ands r0, r2 - ldr r3, [sp, 0x14] - orrs r0, r3 - strb r0, [r1] - ldr r0, [sp, 0x8] - ldr r1, [sp, 0x4] - ldr r2, [sp] - bl GetWinningMove - ldr r1, [r5] - movs r5, 0xEC - lsls r5, 4 - adds r1, r5 - ldr r2, [sp, 0x28] - adds r1, r2 - b _08195874 - .pool -_081957DC: - ldr r3, [sp, 0x4] - ldr r5, [sp, 0x8] - cmp r3, r5 - ble _08195830 - ldr r0, =gSaveBlock2Ptr - ldr r1, [r0] - ldr r2, [sp, 0x30] - adds r1, r2 - ldr r3, =0x00000d25 - adds r1, r3 - ldrb r0, [r1] - movs r5, 0x4 - orrs r0, r5 - strb r0, [r1] - ldr r0, =gSaveBlock2Ptr - ldr r1, [r0] - adds r1, r2 - adds r1, r3 - ldrb r0, [r1] - movs r2, 0x19 - negs r2, r2 - ands r0, r2 - ldr r3, [sp, 0x14] - orrs r0, r3 - strb r0, [r1] - ldr r0, [sp, 0x4] - ldr r1, [sp, 0x8] - ldr r2, [sp] - bl GetWinningMove - ldr r5, =gSaveBlock2Ptr - ldr r1, [r5] - movs r2, 0xEC - lsls r2, 4 - adds r1, r2 - ldr r3, [sp, 0x2C] - b _08195872 - .pool -_08195830: - ldr r5, =gSaveBlock2Ptr - ldr r1, [r5] - ldr r0, [sp, 0x4] - lsls r2, r0, 2 - adds r1, r2 - ldr r3, =0x00000d25 - adds r1, r3 - ldrb r0, [r1] - movs r5, 0x4 - orrs r0, r5 - strb r0, [r1] - ldr r0, =gSaveBlock2Ptr - ldr r1, [r0] - adds r1, r2 - adds r1, r3 - ldrb r0, [r1] - movs r2, 0x19 - negs r2, r2 - ands r0, r2 - ldr r3, [sp, 0x14] - orrs r0, r3 - strb r0, [r1] - ldr r0, [sp, 0x8] - ldr r1, [sp, 0x4] - ldr r2, [sp] - bl GetWinningMove - ldr r5, =gSaveBlock2Ptr - ldr r1, [r5] - movs r2, 0xEC - lsls r2, 4 - adds r1, r2 - ldr r3, [sp, 0x28] -_08195872: - adds r1, r3 -_08195874: - strh r0, [r1] -_08195876: - ldr r5, [sp, 0x24] - cmp r5, 0xF - bgt _0819587E - b _0819545E -_0819587E: - add sp, 0x40 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8195438 - - thumb_func_start CopyDomeTrainerName -CopyDomeTrainerName: @ 8195898 - push {r4-r6,lr} - adds r6, r0, 0 - lsls r1, 16 - lsrs r5, r1, 16 - movs r4, 0 - bl GetFrontierEnemyMonLevel - ldr r0, =0x000003fe - cmp r5, r0 - bne _081958B8 - adds r0, r6, 0 - bl CopyDomeBrainTrainerName - b _08195902 - .pool -_081958B8: - ldr r0, =0x000003ff - cmp r5, r0 - bne _081958DC - ldr r0, =gSaveBlock2Ptr - ldr r2, [r0] -_081958C2: - adds r0, r6, r4 - adds r1, r2, r4 - ldrb r1, [r1] - strb r1, [r0] - adds r4, 0x1 - cmp r4, 0x6 - ble _081958C2 - b _081958FC - .pool -_081958DC: - ldr r0, =0x0000012b - cmp r5, r0 - bhi _081958FC - ldr r0, =gUnknown_0203BC88 - ldr r1, [r0] - movs r0, 0x34 - muls r0, r5 - adds r0, r1 - adds r2, r0, 0x4 -_081958EE: - adds r0, r6, r4 - adds r1, r2, r4 - ldrb r1, [r1] - strb r1, [r0] - adds r4, 0x1 - cmp r4, 0x6 - ble _081958EE -_081958FC: - adds r1, r6, r4 - movs r0, 0xFF - strb r0, [r1] -_08195902: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end CopyDomeTrainerName - - thumb_func_start GetDomeBrainTrainerPicId -GetDomeBrainTrainerPicId: @ 8195910 - ldr r0, =gTrainers - ldr r1, =0x00007df3 - adds r0, r1 - ldrb r0, [r0] - bx lr - .pool - thumb_func_end GetDomeBrainTrainerPicId - - thumb_func_start GetDomeBrainTrainerClass -GetDomeBrainTrainerClass: @ 8195924 - ldr r0, =gTrainers - ldr r1, =0x00007df1 - adds r0, r1 - ldrb r0, [r0] - bx lr - .pool - thumb_func_end GetDomeBrainTrainerClass - - thumb_func_start CopyDomeBrainTrainerName -CopyDomeBrainTrainerName: @ 8195938 - push {r4,lr} - adds r3, r0, 0 - movs r2, 0 - ldr r4, =(gTrainers + 806 * 0x28 + 0x4) @ TRAINER_TUCKER name -_08195940: - adds r0, r3, r2 - adds r1, r2, r4 - ldrb r1, [r1] - strb r1, [r0] - adds r2, 0x1 - cmp r2, 0x6 - ble _08195940 - adds r1, r3, r2 - movs r0, 0xFF - strb r0, [r1] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end CopyDomeBrainTrainerName thumb_func_start sub_8195960 sub_8195960: @ 8195960 @@ -2004,7 +345,7 @@ sub_8195C50: @ 8195C50 ldr r0, =0x0000012b cmp r1, r0 bhi _08195C6C - ldr r2, =gUnknown_0203BC88 + ldr r2, =gFacilityTrainers movs r0, 0x34 muls r1, r0 ldr r0, [r2] diff --git a/asm/battle_frontier_2.s b/asm/battle_frontier_2.s index 7d17f5c6c8..97279d8faf 100644 --- a/asm/battle_frontier_2.s +++ b/asm/battle_frontier_2.s @@ -14195,7 +14195,7 @@ sub_81A1B1C: @ 81A1B1C thumb_func_start sub_81A1B28 sub_81A1B28: @ 81A1B28 - ldr r1, =gUnknown_0203BC88 + ldr r1, =gFacilityTrainers ldr r0, =gBattleFrontierTrainers str r0, [r1] bx lr @@ -17391,7 +17391,7 @@ _081A370C: ldr r0, =0x0000012b cmp r3, r0 bhi _081A3738 - ldr r2, =gUnknown_0203BC88 + ldr r2, =gFacilityTrainers movs r0, 0x34 adds r1, r3, 0 muls r1, r0 @@ -17443,7 +17443,7 @@ _081A3794: ldr r0, =0x0000012b cmp r3, r0 bhi _081A37B8 - ldr r2, =gUnknown_0203BC88 + ldr r2, =gFacilityTrainers movs r0, 0x34 adds r1, r3, 0 muls r1, r0 @@ -17511,7 +17511,7 @@ _081A3844: ldr r0, =0x0000012b cmp r3, r0 bhi _081A3868 - ldr r2, =gUnknown_0203BC88 + ldr r2, =gFacilityTrainers movs r0, 0x34 adds r1, r3, 0 muls r1, r0 @@ -20046,7 +20046,7 @@ sub_81A4E04: @ 81A4E04 cmp r0, 0x1 bne _081A4E44 ldr r0, =0x000003fe - bl sub_81953A0 + bl TrainerIdToDomeTournamentId lsls r0, 16 lsrs r0, 16 bl GetTrainerMonCountInBits @@ -22329,7 +22329,7 @@ sub_81A61B0: @ 81A61B0 ldrh r0, [r1] movs r1, 0x7 bl __udivsi3 - ldr r2, =gUnknown_0203BC88 + ldr r2, =gFacilityTrainers ldr r1, =gBattleFrontierTrainers str r1, [r2] ldr r5, =0x00000cb2 @@ -23050,7 +23050,7 @@ sub_81A67EC: @ 81A67EC mov r5, r8 push {r5-r7} sub sp, 0x4C - ldr r1, =gUnknown_0203BC88 + ldr r1, =gFacilityTrainers ldr r0, =gBattleFrontierTrainers str r0, [r1] mov r0, sp @@ -26455,7 +26455,7 @@ _081A831A: bne _081A82D2 ldr r5, =gTrainerBattleOpponent_A strh r4, [r5] - ldr r1, =gUnknown_0203BC88 + ldr r1, =gFacilityTrainers ldr r0, =gBattleFrontierTrainers str r0, [r1] ldrh r0, [r5] @@ -26500,7 +26500,7 @@ sub_81A8374: @ 81A8374 bl __udivsi3 lsls r0, 16 lsrs r5, r0, 16 - ldr r1, =gUnknown_0203BC88 + ldr r1, =gFacilityTrainers ldr r0, =gBattleFrontierTrainers str r0, [r1] lsls r7, r5, 24 @@ -26667,7 +26667,7 @@ sub_81A84EC: @ 81A84EC ldr r0, =0x0000012b cmp r1, r0 bhi _081A8542 - ldr r2, =gUnknown_0203BC88 + ldr r2, =gFacilityTrainers movs r0, 0x34 muls r1, r0 ldr r0, [r2] @@ -26684,7 +26684,7 @@ _081A8524: ldr r0, =0x0000012b cmp r1, r0 bhi _081A8542 - ldr r2, =gUnknown_0203BC88 + ldr r2, =gFacilityTrainers movs r0, 0x34 muls r1, r0 ldr r0, [r2] @@ -28498,7 +28498,7 @@ _081A940A: thumb_func_start sub_81A9414 sub_81A9414: @ 81A9414 - ldr r1, =gUnknown_0203BC88 + ldr r1, =gFacilityTrainers ldr r0, =gBattleFrontierTrainers str r0, [r1] bx lr @@ -28534,7 +28534,7 @@ sub_81A9424: @ 81A9424 lsrs r5, r0, 16 movs r6, 0 ldr r2, =gUnknown_08613C1C - ldr r0, =gUnknown_0203BC88 + ldr r0, =gFacilityTrainers ldr r1, [r0] movs r0, 0x34 muls r0, r5 @@ -28554,7 +28554,7 @@ _081A9488: ldr r4, =gUnknown_08613C1C lsls r3, r6, 1 adds r2, r3, r4 - ldr r0, =gUnknown_0203BC88 + ldr r0, =gFacilityTrainers ldr r1, [r0] movs r0, 0x34 muls r0, r5 @@ -29795,7 +29795,7 @@ sub_81A9EDC: @ 81A9EDC push {lr} lsls r0, 16 lsrs r0, 16 - ldr r2, =gUnknown_0203BC88 + ldr r2, =gFacilityTrainers movs r1, 0x34 muls r1, r0 ldr r0, [r2] @@ -29812,7 +29812,7 @@ sub_81A9EFC: @ 81A9EFC push {lr} lsls r0, 16 lsrs r0, 16 - ldr r2, =gUnknown_0203BC88 + ldr r2, =gFacilityTrainers movs r1, 0x34 muls r1, r0 ldr r0, [r2] @@ -29829,7 +29829,7 @@ sub_81A9F1C: @ 81A9F1C push {lr} lsls r0, 16 lsrs r0, 16 - ldr r2, =gUnknown_0203BC88 + ldr r2, =gFacilityTrainers movs r1, 0x34 muls r1, r0 ldr r0, [r2] @@ -29848,7 +29848,7 @@ GetTrainerEncounterMusicIdInBattlePyramind: @ 81A9F3C lsrs r0, 16 movs r4, 0 ldr r3, =gFacilityClassToTrainerClass - ldr r1, =gUnknown_0203BC88 + ldr r1, =gFacilityTrainers ldr r2, [r1] movs r1, 0x34 muls r0, r1 diff --git a/asm/battle_tent.s b/asm/battle_tent.s index d643457300..ba4a31530f 100644 --- a/asm/battle_tent.s +++ b/asm/battle_tent.s @@ -14,7 +14,7 @@ sub_81B9EC0: @ 81B9EC0 mov r5, r8 push {r5-r7} sub sp, 0x3C - ldr r1, =gUnknown_0203BC88 + ldr r1, =gFacilityTrainers ldr r0, =gSlateportBattleTentTrainers str r0, [r1] add r0, sp, 0xC @@ -205,7 +205,7 @@ sub_81BA040: @ 81BA040 sub sp, 0x10 movs r0, 0 mov r10, r0 - ldr r1, =gUnknown_0203BC88 + ldr r1, =gFacilityTrainers ldr r0, =gSlateportBattleTentTrainers str r0, [r1] ldr r1, =gFacilityTrainerMons @@ -261,7 +261,7 @@ _081BA0AA: ldr r2, =gTrainerBattleOpponent_A strh r3, [r2] ldrh r3, [r2] - ldr r4, =gUnknown_0203BC88 + ldr r4, =gFacilityTrainers ldr r1, [r4] movs r0, 0x34 muls r0, r3 diff --git a/asm/battle_tower.s b/asm/battle_tower.s index e905342667..1ece38af93 100644 --- a/asm/battle_tower.s +++ b/asm/battle_tower.s @@ -806,7 +806,7 @@ _08162650: ldr r0, =0x0000012b cmp r4, r0 bhi _0816266C - ldr r0, =gUnknown_0203BC88 + ldr r0, =gFacilityTrainers ldr r1, [r0] movs r0, 0x34 muls r0, r4 @@ -977,7 +977,7 @@ _081627CC: ldr r0, =0x0000012b cmp r4, r0 bhi _081627E8 - ldr r0, =gUnknown_0203BC88 + ldr r0, =gFacilityTrainers ldr r1, [r0] movs r0, 0x34 muls r0, r4 @@ -1363,7 +1363,7 @@ _08162AE4: cmp r4, r0 bhi _08162B08 ldr r2, =gFacilityClassToPicIndex - ldr r0, =gUnknown_0203BC88 + ldr r0, =gFacilityTrainers ldr r1, [r0] movs r0, 0x34 muls r0, r4 @@ -1500,7 +1500,7 @@ _08162C38: cmp r4, r0 bhi _08162C60 ldr r2, =gFacilityClassToTrainerClass - ldr r0, =gUnknown_0203BC88 + ldr r0, =gFacilityTrainers ldr r1, [r0] movs r0, 0x34 muls r0, r4 @@ -1617,7 +1617,7 @@ _08162D5C: ldr r0, =0x0000012b cmp r4, r0 bhi _08162D78 - ldr r0, =gUnknown_0203BC88 + ldr r0, =gFacilityTrainers ldr r1, [r0] movs r0, 0x34 muls r0, r4 @@ -1751,7 +1751,7 @@ _08162E88: ldr r0, =0x0000012b cmp r5, r0 bhi _08162EB4 - ldr r0, =gUnknown_0203BC88 + ldr r0, =gFacilityTrainers ldr r1, [r0] movs r0, 0x34 muls r0, r5 @@ -1878,7 +1878,7 @@ _08162FA4: ldr r0, =0x0000012b cmp r4, r0 bhi _08162FC0 - ldr r0, =gUnknown_0203BC88 + ldr r0, =gFacilityTrainers ldr r1, [r0] movs r0, 0x34 muls r0, r4 @@ -2039,7 +2039,7 @@ sub_81630C4: @ 81630C4 str r0, [sp, 0x24] ldr r0, =gTrainerBattleOpponent_A ldrh r2, [r0] - ldr r0, =gUnknown_0203BC88 + ldr r0, =gFacilityTrainers ldr r1, [r0] movs r0, 0x34 muls r0, r2 @@ -2554,7 +2554,7 @@ RandomizeFacilityTrainerMonId: @ 8163524 bl GetFrontierEnemyMonLevel lsls r0, 24 lsrs r6, r0, 24 - ldr r0, =gUnknown_0203BC88 + ldr r0, =gFacilityTrainers ldr r1, [r0] movs r0, 0x34 muls r0, r4 @@ -3054,7 +3054,7 @@ _08163950: ldr r0, =0x0000012b cmp r3, r0 bhi _08163974 - ldr r2, =gUnknown_0203BC88 + ldr r2, =gFacilityTrainers movs r0, 0x34 adds r1, r3, 0 muls r1, r0 @@ -4116,7 +4116,7 @@ _0816431A: ldrh r0, [r1] cmp r0, r8 beq _08164368 - ldr r0, =gUnknown_0203BC88 + ldr r0, =gFacilityTrainers ldr r2, [r0] movs r4, 0x34 mov r0, r8 @@ -6354,7 +6354,7 @@ _08165634: movs r0, 0 str r0, [sp, 0x44] movs r2, 0 - ldr r0, =gUnknown_0203BC88 + ldr r0, =gFacilityTrainers ldr r1, [r0] movs r0, 0x34 muls r0, r7 @@ -7095,7 +7095,7 @@ GetFrontierEnemyMonLevel: @ 8165C40 ands r0, r1 cmp r0, 0x2 beq _08165C84 - ldr r1, =gUnknown_0203BC88 + ldr r1, =gFacilityTrainers ldr r0, =gBattleFrontierTrainers str r0, [r1] ldr r1, =gFacilityTrainerMons @@ -7255,7 +7255,7 @@ sub_8165D78: @ 8165D78 lsrs r0, 16 cmp r0, 0x4 bne _08165DA8 - ldr r1, =gUnknown_0203BC88 + ldr r1, =gFacilityTrainers ldr r0, =gSlateportBattleTentTrainers str r0, [r1] ldr r1, =gFacilityTrainerMons @@ -7265,7 +7265,7 @@ sub_8165D78: @ 8165D78 _08165DA8: cmp r0, 0x2 bne _08165DC8 - ldr r1, =gUnknown_0203BC88 + ldr r1, =gFacilityTrainers ldr r0, =gVerdanturfBattleTentTrainers str r0, [r1] ldr r1, =gFacilityTrainerMons @@ -7275,7 +7275,7 @@ _08165DA8: _08165DC8: cmp r0, 0x3 bne _08165DE8 - ldr r1, =gUnknown_0203BC88 + ldr r1, =gFacilityTrainers ldr r0, =gFallarborBattleTentTrainers str r0, [r1] ldr r1, =gFacilityTrainerMons @@ -7283,7 +7283,7 @@ _08165DC8: b _08165DF2 .pool _08165DE8: - ldr r1, =gUnknown_0203BC88 + ldr r1, =gFacilityTrainers ldr r0, =gBattleFrontierTrainers str r0, [r1] ldr r1, =gFacilityTrainerMons @@ -7390,7 +7390,7 @@ sub_8165EA4: @ 8165EA4 str r0, [sp, 0x20] ldr r0, =gTrainerBattleOpponent_A ldrh r2, [r0] - ldr r0, =gUnknown_0203BC88 + ldr r0, =gFacilityTrainers ldr r1, [r0] movs r0, 0x34 muls r0, r2 diff --git a/include/battle_tower.h b/include/battle_tower.h index e1655f2c6a..87581074e8 100644 --- a/include/battle_tower.h +++ b/include/battle_tower.h @@ -24,7 +24,7 @@ union BattleTowerRecord struct BattleFrontierTrainer { - u32 trainerClass; + u32 facilityClass; u8 trainerName[8]; u16 speechBefore[6]; u16 speechWin[6]; @@ -32,7 +32,7 @@ struct BattleFrontierTrainer u16 *btMonPool; }; -extern struct BattleFrontierTrainer *gUnknown_0203BC88; +extern const struct BattleFrontierTrainer *gFacilityTrainers; u16 sub_8164FCC(u8, u8); void sub_81659DC(struct RSBattleTowerRecord *a0, struct RSBattleTowerRecord *a1); @@ -40,7 +40,7 @@ bool32 sub_816587C(union BattleTowerRecord *, union BattleTowerRecord *); void CalcEmeraldBattleTowerChecksum(struct EmeraldBattleTowerRecord *); void sub_81628A0(union BattleTowerRecord *); void sub_8162614(u16 trainerId, u8); -void ConvertBattleFrontierTrainerSpeechToString(u16 *words); +void ConvertBattleFrontierTrainerSpeechToString(const u16 *words); void GetFrontierTrainerName(u8 *dest, u16 trainerIdx); void GetEreaderTrainerName(u8 *dest); diff --git a/include/global.h b/include/global.h index a4db847a4a..d3abb82699 100644 --- a/include/global.h +++ b/include/global.h @@ -340,8 +340,8 @@ struct FrontierMonData struct BattleDomeTrainer { u16 trainerId:10; - u16 unk1:1; - u16 unk2:2; + u16 isEliminated:1; + u16 eliminatedAt:2; u16 unk3:3; }; diff --git a/src/battle_frontier_1.c b/src/battle_frontier_1.c index 332446d75b..1ac84962f5 100644 --- a/src/battle_frontier_1.c +++ b/src/battle_frontier_1.c @@ -2,6 +2,7 @@ #include "battle.h" #include "battle_setup.h" #include "battle_frontier_1.h" +#include "battle_tower.h" #include "battle_message.h" #include "event_data.h" #include "overworld.h" @@ -37,7 +38,7 @@ #define DOME_FINAL 3 #define DOME_ROUNDS_COUNT 4 -struct Unknown_0203BC8C_Struct +struct FacilityMon { u16 species; u16 moves[4]; @@ -68,6 +69,7 @@ extern bool8 sub_81A3610(void); extern u16 sub_81A4FF0(u8); extern u8 GetFrontierTrainerFrontSpriteId(u16); extern u8 GetFrontierOpponentClass(u16); +extern void sub_80F94E8(void); extern u8 gUnknown_0203CEF8[]; extern u32 gUnknown_0203CD70; @@ -80,7 +82,7 @@ extern u16 gBattle_BG2_X; extern u16 gBattle_BG2_Y; extern u16 gBattle_BG3_X; extern u16 gBattle_BG3_Y; -extern struct Unknown_0203BC8C_Struct *gFacilityTrainerMons; +extern const struct FacilityMon *gFacilityTrainerMons; extern struct Unknown_0203CD78_Struct *gUnknown_0203CD78; extern u8 *gUnknown_0203CD7C; @@ -97,7 +99,7 @@ extern const struct SpriteTemplate gUnknown_0860D068; extern const struct SpriteTemplate gUnknown_0860D050; extern const u8 gUnknown_0860D080[]; extern const u8 gUnknown_0860D15C[]; -extern const u8 gUnknown_0860D1A0[]; +extern const u8 gUnknown_0860D1A0[][4]; extern const u8 gUnknown_0860D19C[]; extern const u8 gUnknown_0860D349[]; extern const u8 gUnknown_0860D1C0[]; @@ -120,6 +122,8 @@ extern const u8 *const gBattleDomeOpponentStylePointers[]; extern const u8 *const gBattleDomeOpponentStatsPointers[]; extern const u8 *const gBattleDomeWinStringsPointers[]; extern const u8 *const gBattleDomeMatchNumberPointers[]; +extern const struct FacilityMon gBattleFrontierMons[]; +extern const struct BattleFrontierTrainer gBattleFrontierTrainers[]; // gfx extern const u8 gUnknown_08D83D50[]; @@ -142,7 +146,7 @@ u8 GetDomeTrainerMonIvs(u16 trainerId); void SwapDomeTrainers(s32 id1, s32 id2, u16 *statsArray); void CalcDomeMonStats(u16 species, s32 level, s32 ivs, u8 evBits, u8 nature, s32 *stats); void CreateDomeTrainerMons(u16 tournamentTrainerId); -s32 TrainerIdToTournamentId(u16 trainerId); +static s32 TrainerIdToTournamentId(u16 trainerId); s32 GetTrainerMonCountInBits(u16 tournamentTrainerId); s32 sub_818FCBC(u16 tournamentTrainerId, bool8 arg1); s32 sub_818FDB8(u16 tournamentTrainerId, bool8 arg1); @@ -154,7 +158,7 @@ void sub_8190CD4(u8 taskId); void sub_8194220(u8 taskId); void sub_8194950(u8 taskId); static void CB2_BattleDome(void); -void sub_8194B70(void); +static void VblankCb0_BattleDome(void); static void DisplayMatchInfoOnCard(u8 flags, u8 matchNo); static void DisplayTrainerInfoOnCard(u8 flags, u8 trainerTournamentId); u8 sub_819221C(u8 taskId); @@ -165,9 +169,9 @@ void CopyDomeBrainTrainerName(u8 *dst); void CopyDomeTrainerName(u8 *dst, u16 trainerId); void sub_8194D48(void); void sub_8194BEC(void); -void sub_8194CE4(void); +static void VblankCb1_BattleDome(void); u8 sub_8193BDC(u8 taskId); -void sub_8195438(u8 roundId); +void DecideRoundWinners(u8 roundId); u8 sub_81953E8(u8 tournamentId, u8); void sub_81948EC(u8, u8); @@ -709,8 +713,8 @@ void InitDomeTrainers(void) gSaveBlock2Ptr->frontier.field_D0A = gSaveBlock2Ptr->frontier.chosenLvl + 1; gSaveBlock2Ptr->frontier.field_D0B = VarGet(VAR_0x40CE) + 1; gSaveBlock2Ptr->frontier.domeTrainers[0].trainerId = TRAINER_PLAYER; - gSaveBlock2Ptr->frontier.domeTrainers[0].unk1 = 0; - gSaveBlock2Ptr->frontier.domeTrainers[0].unk2 = 0; + gSaveBlock2Ptr->frontier.domeTrainers[0].isEliminated = 0; + gSaveBlock2Ptr->frontier.domeTrainers[0].eliminatedAt = 0; gSaveBlock2Ptr->frontier.domeTrainers[0].unk3 = 0; for (i = 0; i < 3; i++) @@ -774,8 +778,8 @@ void InitDomeTrainers(void) species[j] = gFacilityTrainerMons[monTournamentId].species; } - gSaveBlock2Ptr->frontier.domeTrainers[i].unk1 = 0; - gSaveBlock2Ptr->frontier.domeTrainers[i].unk2 = 0; + gSaveBlock2Ptr->frontier.domeTrainers[i].isEliminated = 0; + gSaveBlock2Ptr->frontier.domeTrainers[i].eliminatedAt = 0; gSaveBlock2Ptr->frontier.domeTrainers[i].unk3 = 0; } @@ -1575,7 +1579,7 @@ s32 TournamentIdOfOpponent(s32 roundId, s32 trainerId) for (j = gUnknown_0860D10C[i][roundId]; j < val; j++) { - if (gUnknown_0860D14C[j] != i && !gSaveBlock2Ptr->frontier.domeTrainers[gUnknown_0860D14C[j]].unk1) + if (gUnknown_0860D14C[j] != i && !gSaveBlock2Ptr->frontier.domeTrainers[gUnknown_0860D14C[j]].isEliminated) break; } @@ -1586,8 +1590,8 @@ s32 TournamentIdOfOpponent(s32 roundId, s32 trainerId) } else { - if (!gSaveBlock2Ptr->frontier.domeTrainers[gUnknown_0860D10C[i][0]].unk1) - return gUnknown_0860D10C[i][0]; + if (!gSaveBlock2Ptr->frontier.domeTrainers[gUnknown_0860D10C[i][roundId]].isEliminated) + return gUnknown_0860D10C[i][roundId]; else return 0xFF; } @@ -1707,7 +1711,7 @@ void sub_8190400(u8 taskId) gTasks[taskId].data[0]++; break; case 3: - SetVBlankCallback(sub_8194B70); + SetVBlankCallback(VblankCb0_BattleDome); gUnknown_0203CD78 = AllocZeroed(sizeof(*gUnknown_0203CD78)); for (i = 0; i < DOME_TOURNAMENT_TRAINERS_COUNT; i++) gUnknown_0203CD78->arr[i] |= 0xFF; @@ -1945,12 +1949,12 @@ void sub_8190B40(struct Sprite *sprite) { if (sprite->data[1]) { - if ((gSaveBlock2Ptr->frontier.domeTrainers[tournmanetTrainerId].unk1 - && gUnknown_0203CD78->unk_10 - 1 < gSaveBlock2Ptr->frontier.domeTrainers[tournmanetTrainerId].unk2)) + if ((gSaveBlock2Ptr->frontier.domeTrainers[tournmanetTrainerId].isEliminated + && gUnknown_0203CD78->unk_10 - 1 < gSaveBlock2Ptr->frontier.domeTrainers[tournmanetTrainerId].eliminatedAt)) { sprite->invisible = 0; } - else if (!gSaveBlock2Ptr->frontier.domeTrainers[tournmanetTrainerId].unk1 + else if (!gSaveBlock2Ptr->frontier.domeTrainers[tournmanetTrainerId].isEliminated && gUnknown_0203CD78->unk_10 - 1 < r12) { sprite->invisible = 0; @@ -2788,12 +2792,12 @@ u8 sub_819221C(u8 taskId) } else if (gMain.newKeys & DPAD_RIGHT) { - if (gSaveBlock2Ptr->frontier.domeTrainers[r10].unk1 && gUnknown_0203CD78->unk_10 - 1 < gSaveBlock2Ptr->frontier.domeTrainers[r10].unk2) + if (gSaveBlock2Ptr->frontier.domeTrainers[r10].isEliminated && gUnknown_0203CD78->unk_10 - 1 < gSaveBlock2Ptr->frontier.domeTrainers[r10].eliminatedAt) { gUnknown_0203CD78->unk_10++; retVal = 4; } - if (!gSaveBlock2Ptr->frontier.domeTrainers[r10].unk1 && gUnknown_0203CD78->unk_10 - 1 < roundId) + if (!gSaveBlock2Ptr->frontier.domeTrainers[r10].isEliminated && gUnknown_0203CD78->unk_10 - 1 < roundId) { gUnknown_0203CD78->unk_10++; retVal = 4; @@ -2803,7 +2807,7 @@ u8 sub_819221C(u8 taskId) if (retVal == 9) { if (gUnknown_0203CD78->unk_10 != 0) - gTasks[taskId2].data[1] = gUnknown_0860D1A0[(r5 / 2) * 4 + (gUnknown_0203CD78->unk_10 - 1)]; + gTasks[taskId2].data[1] = gUnknown_0860D1A0[r5 / 2][gUnknown_0203CD78->unk_10 - 1]; else gTasks[taskId2].data[1] = r5; } @@ -3230,7 +3234,7 @@ s32 sub_8192F08(u8 arg0, u8 *arg1) for (i = gUnknown_0860D3C4[arg0][0]; i < gUnknown_0860D3C4[arg0][0] + gUnknown_0860D3C4[arg0][1]; i++) { tournamentId = gUnknown_0860D3B4[i]; - if (!gSaveBlock2Ptr->frontier.domeTrainers[tournamentId].unk1) + if (!gSaveBlock2Ptr->frontier.domeTrainers[tournamentId].isEliminated) { arg1[count] = tournamentId; if (gSaveBlock2Ptr->frontier.domeTrainers[tournamentId].trainerId == TRAINER_PLAYER) @@ -3249,12 +3253,12 @@ s32 sub_8192F08(u8 arg0, u8 *arg1) for (i = gUnknown_0860D3C4[arg0][0]; i < gUnknown_0860D3C4[arg0][0] + gUnknown_0860D3C4[arg0][1]; i++) { tournamentId = gUnknown_0860D3B4[i]; - if (gSaveBlock2Ptr->frontier.domeTrainers[tournamentId].unk1 - && gSaveBlock2Ptr->frontier.domeTrainers[tournamentId].unk2 >= gUnknown_0860D3C4[arg0][2]) + if (gSaveBlock2Ptr->frontier.domeTrainers[tournamentId].isEliminated + && gSaveBlock2Ptr->frontier.domeTrainers[tournamentId].eliminatedAt >= gUnknown_0860D3C4[arg0][2]) { arg1[count] = tournamentId; count++; - if (gSaveBlock2Ptr->frontier.domeTrainers[tournamentId].unk2 == gUnknown_0860D3C4[arg0][2]) + if (gSaveBlock2Ptr->frontier.domeTrainers[tournamentId].eliminatedAt == gUnknown_0860D3C4[arg0][2]) { StringCopy(gStringVar2, gMoveNames[gSaveBlock2Ptr->frontier.field_EC0[tournamentId]]); retVal = gSaveBlock2Ptr->frontier.domeTrainers[tournamentId].unk3 * 2; @@ -3312,8 +3316,8 @@ static void DisplayMatchInfoOnCard(u8 flags, u8 matchNo) { tournamentIds[i] = gUnknown_0203CD78->unk_11[i]; trainerIds[i] = gSaveBlock2Ptr->frontier.domeTrainers[tournamentIds[i]].trainerId; - if (gSaveBlock2Ptr->frontier.domeTrainers[tournamentIds[i]].unk2 <= gUnknown_0860D3C4[matchNo][2] - && gSaveBlock2Ptr->frontier.domeTrainers[tournamentIds[i]].unk1) + if (gSaveBlock2Ptr->frontier.domeTrainers[tournamentIds[i]].eliminatedAt <= gUnknown_0860D3C4[matchNo][2] + && gSaveBlock2Ptr->frontier.domeTrainers[tournamentIds[i]].isEliminated) lost[i] = TRUE; else lost[i] = FALSE; @@ -3669,21 +3673,21 @@ void sub_8193D7C(void) if (gSpecialVar_0x8005 == 1) { - gSaveBlock2Ptr->frontier.domeTrainers[TrainerIdToTournamentId(gTrainerBattleOpponent_A)].unk1 = 1; - gSaveBlock2Ptr->frontier.domeTrainers[TrainerIdToTournamentId(gTrainerBattleOpponent_A)].unk2 = gSaveBlock2Ptr->frontier.field_CB2; + gSaveBlock2Ptr->frontier.domeTrainers[TrainerIdToTournamentId(gTrainerBattleOpponent_A)].isEliminated = 1; + gSaveBlock2Ptr->frontier.domeTrainers[TrainerIdToTournamentId(gTrainerBattleOpponent_A)].eliminatedAt = gSaveBlock2Ptr->frontier.field_CB2; gSaveBlock2Ptr->frontier.field_EC0[TrainerIdToTournamentId(gTrainerBattleOpponent_A)] = gBattleResults.lastUsedMovePlayer; if (gSaveBlock2Ptr->frontier.field_CB2 < DOME_FINAL) - sub_8195438(gSaveBlock2Ptr->frontier.field_CB2); + DecideRoundWinners(gSaveBlock2Ptr->frontier.field_CB2); } else { - gSaveBlock2Ptr->frontier.domeTrainers[TrainerIdToTournamentId(TRAINER_PLAYER)].unk1 = 1; - gSaveBlock2Ptr->frontier.domeTrainers[TrainerIdToTournamentId(TRAINER_PLAYER)].unk2 = gSaveBlock2Ptr->frontier.field_CB2; + gSaveBlock2Ptr->frontier.domeTrainers[TrainerIdToTournamentId(TRAINER_PLAYER)].isEliminated = 1; + gSaveBlock2Ptr->frontier.domeTrainers[TrainerIdToTournamentId(TRAINER_PLAYER)].eliminatedAt = gSaveBlock2Ptr->frontier.field_CB2; gSaveBlock2Ptr->frontier.field_EC0[TrainerIdToTournamentId(TRAINER_PLAYER)] = gBattleResults.lastUsedMoveOpponent; if (gBattleOutcome == B_OUTCOME_FORFEITED || gSpecialVar_0x8005 == 9) gSaveBlock2Ptr->frontier.domeTrainers[TrainerIdToTournamentId(TRAINER_PLAYER)].unk3 = 1; for (i = gSaveBlock2Ptr->frontier.field_CB2; i < DOME_ROUNDS_COUNT; i++) - sub_8195438(i); + DecideRoundWinners(i); } } @@ -3908,11 +3912,11 @@ void sub_8194220(u8 taskId) CopyDomeTrainerName(gDisplayedStringBattle, gSaveBlock2Ptr->frontier.domeTrainers[i].trainerId); if (r10 == 1) { - if (gSaveBlock2Ptr->frontier.domeTrainers[i].unk1) + if (gSaveBlock2Ptr->frontier.domeTrainers[i].isEliminated) { - if (gSaveBlock2Ptr->frontier.domeTrainers[i].unk2 != 0) + if (gSaveBlock2Ptr->frontier.domeTrainers[i].eliminatedAt != 0) { - var2 = gSaveBlock2Ptr->frontier.domeTrainers[i].unk2 - 1; + var2 = gSaveBlock2Ptr->frontier.domeTrainers[i].eliminatedAt - 1; sub_81948EC(i, var2); } } @@ -3923,11 +3927,11 @@ void sub_8194220(u8 taskId) } else if (r10 == 0) { - if (gSaveBlock2Ptr->frontier.domeTrainers[i].unk1) + if (gSaveBlock2Ptr->frontier.domeTrainers[i].isEliminated) { - if (gSaveBlock2Ptr->frontier.domeTrainers[i].unk2 != 0) + if (gSaveBlock2Ptr->frontier.domeTrainers[i].eliminatedAt != 0) { - var2 = gSaveBlock2Ptr->frontier.domeTrainers[i].unk2 - 1; + var2 = gSaveBlock2Ptr->frontier.domeTrainers[i].eliminatedAt - 1; sub_81948EC(i, var2); } } @@ -3946,9 +3950,9 @@ void sub_8194220(u8 taskId) else var = gSaveBlock2Ptr->frontier.field_CB2 - 1; - if ( ((r10 == 1 && gSaveBlock2Ptr->frontier.domeTrainers[i].unk2 < gSaveBlock2Ptr->frontier.field_CB2 - 1) - || (r10 == 0 && gSaveBlock2Ptr->frontier.domeTrainers[i].unk2 <= var)) - && gSaveBlock2Ptr->frontier.domeTrainers[i].unk1) + if ( ((r10 == 1 && gSaveBlock2Ptr->frontier.domeTrainers[i].eliminatedAt < gSaveBlock2Ptr->frontier.field_CB2 - 1) + || (r10 == 0 && gSaveBlock2Ptr->frontier.domeTrainers[i].eliminatedAt <= var)) + && gSaveBlock2Ptr->frontier.domeTrainers[i].isEliminated) { if (gSaveBlock2Ptr->frontier.domeTrainers[i].trainerId == TRAINER_PLAYER) { @@ -3994,7 +3998,7 @@ void sub_8194220(u8 taskId) CopyWindowToVram(1, 3); CopyWindowToVram(2, 3); SetHBlankCallback(sub_8194BEC); - SetVBlankCallback(sub_8194CE4); + SetVBlankCallback(VblankCb1_BattleDome); if (r4 == 2) { if (r10 == 0) @@ -4082,8 +4086,8 @@ void sub_8194950(u8 taskId) for (i = 0; i < DOME_TOURNAMENT_TRAINERS_COUNT; i++) { CopyDomeTrainerName(gDisplayedStringBattle, gSaveBlock2Ptr->frontier.domeTrainers[i].trainerId); - if (gSaveBlock2Ptr->frontier.domeTrainers[i].unk2 == gSaveBlock2Ptr->frontier.field_CB2 - 1 - && gSaveBlock2Ptr->frontier.domeTrainers[i].unk1) + if (gSaveBlock2Ptr->frontier.domeTrainers[i].eliminatedAt == gSaveBlock2Ptr->frontier.field_CB2 - 1 + && gSaveBlock2Ptr->frontier.domeTrainers[i].isEliminated) { if (gUnknown_0860D3F1[i][0] == 0) textPrinter.currentX = GetStringWidthDifference(textPrinter.fontId, gDisplayedStringBattle, 0x3D, textPrinter.letterSpacing); @@ -4095,7 +4099,7 @@ void sub_8194950(u8 taskId) textPrinter.currentY = gUnknown_0860D3F1[i][1]; AddTextPrinter(&textPrinter, 0, NULL); } - if (!gSaveBlock2Ptr->frontier.domeTrainers[i].unk1) + if (!gSaveBlock2Ptr->frontier.domeTrainers[i].isEliminated) { s32 var = gSaveBlock2Ptr->frontier.field_CB2 - 1; sub_81948EC(i, var); @@ -4132,3 +4136,488 @@ static void CB2_BattleDome(void) UpdatePaletteFade(); RunTasks(); } + +static void VblankCb0_BattleDome(void) +{ + ChangeBgX(3, 0x80, 1); + ChangeBgY(3, 0x80, 2); + SetGpuReg(REG_OFFSET_BG0HOFS, gBattle_BG0_X); + SetGpuReg(REG_OFFSET_BG0VOFS, gBattle_BG0_Y); + SetGpuReg(REG_OFFSET_BG1HOFS, gBattle_BG1_X); + SetGpuReg(REG_OFFSET_BG1VOFS, gBattle_BG1_Y); + SetGpuReg(REG_OFFSET_BG2HOFS, gBattle_BG2_X); + SetGpuReg(REG_OFFSET_BG2VOFS, gBattle_BG2_Y); + LoadOam(); + ProcessSpriteCopyRequests(); + TransferPlttBuffer(); +} + +#define SET_WIN0H_WIN1H(win0H, win1H) \ +{ \ + *(vu32*)(REG_ADDR_WIN0H) = ((win0H << 16) | (win1H)); \ +} + +void sub_8194BEC(void) +{ + register u32 vCount asm("r0") = REG_VCOUNT; + register u32 vCount_ asm("r1") = vCount; + if (vCount > 41) + { + if (vCount < 50) + { + REG_WININ = 0x3B3B; + SET_WIN0H_WIN1H(0x989B, 0x5558); + return; + } + else if (vCount > 57) + { + if (vCount < 75) + { + REG_WININ = 0x3B3B; + SET_WIN0H_WIN1H(0x9098, 0x5860); + return; + } + else if (vCount < 82) + { + REG_WININ = 0x3B3B; + SET_WIN0H_WIN1H(0x989B, 0x5558); + return; + } + else if (vCount > 94) + { + if (vCount < 103) + { + REG_WININ = 0x3737; + SET_WIN0H_WIN1H(0x989B, 0x5558); + return; + } + else if (vCount < 119) + { + REG_WININ = 0x3737; + SET_WIN0H_WIN1H(0x9098, 0x5860); + return; + } + else if (vCount > 126) + { + if (vCount_ < 135) + { + REG_WININ = 0x3737; + SET_WIN0H_WIN1H(0x989B, 0x5558); + return; + } + } + } + } + } + + REG_WININ = 0x3F3F; + SET_WIN0H_WIN1H(0, 0); +} + +static void VblankCb1_BattleDome(void) +{ + SetGpuReg(REG_OFFSET_BG0HOFS, gBattle_BG0_X); + SetGpuReg(REG_OFFSET_BG0VOFS, gBattle_BG0_Y); + SetGpuReg(REG_OFFSET_BG1HOFS, gBattle_BG1_X); + SetGpuReg(REG_OFFSET_BG1VOFS, gBattle_BG1_Y); + ChangeBgY(2, 0x80, 2); + ChangeBgY(3, 0x80, 1); + LoadOam(); + ProcessSpriteCopyRequests(); + TransferPlttBuffer(); + ScanlineEffect_InitHBlankDmaTransfer(); +} + +void sub_8194D48(void) +{ + gFacilityTrainerMons = gBattleFrontierMons; + gFacilityTrainers = gBattleFrontierTrainers; +} + +void sub_8194D68(void) +{ + s32 i, moveSlot; + + for (i = 0; i < 2; i++) + { + s32 playerMonId = gSaveBlock2Ptr->frontier.field_CAA[gUnknown_0203CEF8[i] - 1] - 1; + s32 count; + + for (moveSlot = 0; moveSlot < 4; moveSlot++) + { + count = 0; + while (count < 4) + { + if (GetMonData(&gSaveBlock1Ptr->playerParty[playerMonId], MON_DATA_MOVE1 + count, NULL) == GetMonData(&gPlayerParty[i], MON_DATA_MOVE1 + moveSlot, NULL)) + break; + count++; + } + if (count == 4) + SetMonMoveSlot(&gPlayerParty[i], MOVE_SKETCH, moveSlot); + } + + gSaveBlock1Ptr->playerParty[playerMonId] = gPlayerParty[i]; + } +} + +void sub_8194E44(void) +{ + s32 i; + + for (i = 0; i < 2; i++) + { + s32 playerMonId = gSaveBlock2Ptr->frontier.field_CAA[gUnknown_0203CEF8[i] - 1] - 1; + u16 item = GetMonData(&gSaveBlock1Ptr->playerParty[playerMonId], MON_DATA_HELD_ITEM, NULL); + SetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM, &item); + } +} + +void sub_8194EB4(void) +{ + sub_80F94E8(); +} + +void sub_8194EC0(void) +{ + if (TrainerIdToTournamentId(gTrainerBattleOpponent_A) > TrainerIdToTournamentId(TRAINER_PLAYER)) + gSpecialVar_Result = 1; + else + gSpecialVar_Result = 2; +} + +void sub_8194EF8(void) +{ + s32 i; + + sub_8194D48(); + for (i = 0; i < DOME_TOURNAMENT_TRAINERS_COUNT; i++) + { + if (!gSaveBlock2Ptr->frontier.domeTrainers[i].isEliminated) + break; + } + CopyDomeTrainerName(gStringVar1, gSaveBlock2Ptr->frontier.domeTrainers[i].trainerId); +} + +void sub_8194F58(void) +{ + s32 i, j, k; + s32 monLevel; + s32 species[3]; + s32 monTypesBits; + s32 trainerId; + s32 monTournamentId; + u8 lvlMode; + u16 *statSums; + s32 *statValues; + u8 ivs = 0; + + species[0] = 0; + species[1] = 0; + species[2] = 0; + if ((gSaveBlock2Ptr->frontier.field_D0A != -gSaveBlock2Ptr->frontier.field_D0B) && gSaveBlock2Ptr->frontier.field_CA8 != 1) + return; + + statSums = AllocZeroed(sizeof(u16) * DOME_TOURNAMENT_TRAINERS_COUNT); + statValues = AllocZeroed(sizeof(s32) * 6); + lvlMode = gSaveBlock2Ptr->frontier.chosenLvl; + gSaveBlock2Ptr->frontier.chosenLvl = 0; + // This one, I'd like to call a 'C fakematching'. + { + u8 one; + gSaveBlock2Ptr->frontier.field_D0A = (one = 1); + gSaveBlock2Ptr->frontier.field_D0B = one; + } + + for (i = 0; i < DOME_TOURNAMENT_TRAINERS_COUNT; i++) + { + do + { + if (i < 5) + trainerId = Random() % 10; + else if (i < 15) + trainerId = Random() % 20 + 10; + else + trainerId = Random() % 10 + 30; + + for (j = 0; j < i; j++) + { + if (gSaveBlock2Ptr->frontier.domeTrainers[j].trainerId == trainerId) + break; + } + } while (j != i); + + gSaveBlock2Ptr->frontier.domeTrainers[i].trainerId = trainerId; + for (j = 0; j < 3; j++) + { + // Make sure the mon is valid. + do + { + monTournamentId = RandomizeFacilityTrainerMonId(trainerId); + for (k = 0; k < j; k++) + { + s32 checkingMonId = gSaveBlock2Ptr->frontier.domeMonId[i][k]; + if (checkingMonId == monTournamentId + || species[0] == gFacilityTrainerMons[monTournamentId].species + || species[1] == gFacilityTrainerMons[monTournamentId].species + || gFacilityTrainerMons[checkingMonId].itemTableId == gFacilityTrainerMons[monTournamentId].itemTableId) + break; + } + } while (k != j); + + gSaveBlock2Ptr->frontier.domeMonId[i][j] = monTournamentId; + species[j] = gFacilityTrainerMons[monTournamentId].species; + } + gSaveBlock2Ptr->frontier.domeTrainers[i].isEliminated = 0; + gSaveBlock2Ptr->frontier.domeTrainers[i].eliminatedAt = 0; + gSaveBlock2Ptr->frontier.domeTrainers[i].unk3 = 0; + } + + monLevel = 50; + for (i = 0; i < DOME_TOURNAMENT_TRAINERS_COUNT; i++) + { + monTypesBits = 0; + statSums[i] = 0; + ivs = GetDomeTrainerMonIvs(gSaveBlock2Ptr->frontier.domeTrainers[i].trainerId); + for (j = 0; j < 3; j++) + { + CalcDomeMonStats(gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonId[i][j]].species, + monLevel, ivs, + gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonId[i][j]].evSpread, + gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonId[i][j]].nature, + statValues); + + statSums[i] += statValues[STAT_ATK]; + statSums[i] += statValues[STAT_DEF]; + statSums[i] += statValues[STAT_SPATK]; + statSums[i] += statValues[STAT_SPDEF]; + statSums[i] += statValues[STAT_SPEED]; + statSums[i] += statValues[STAT_HP]; + monTypesBits |= gBitTable[gBaseStats[gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonId[i][j]].species].type1]; + monTypesBits |= gBitTable[gBaseStats[gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonId[i][j]].species].type2]; + } + + // Because GF hates temporary vars, trainerId acts like monTypesCount here. + for (trainerId = 0, j = 0; j < 32; j++) + { + if (monTypesBits & 1) + trainerId++; + monTypesBits >>= 1; + } + statSums[i] += (trainerId * monLevel) / 20; + } + + for (i = 0; i < DOME_TOURNAMENT_TRAINERS_COUNT - 1; i++) + { + for (j = i + 1; j < DOME_TOURNAMENT_TRAINERS_COUNT; j++) + { + if (statSums[i] < statSums[j]) + { + SwapDomeTrainers(i, j, statSums); + } + else if (statSums[i] == statSums[j]) + { + if (gSaveBlock2Ptr->frontier.domeTrainers[i].trainerId > gSaveBlock2Ptr->frontier.domeTrainers[j].trainerId) + SwapDomeTrainers(i, j, statSums); + } + } + } + + Free(statSums); + Free(statValues); + + for (i = 0; i < 4; i++) + DecideRoundWinners(i); + + gSaveBlock2Ptr->frontier.chosenLvl = lvlMode; +} + +static s32 TrainerIdToTournamentId(u16 trainerId) +{ + s32 i; + + for (i = 0; i < DOME_TOURNAMENT_TRAINERS_COUNT; i++) + { + if (gSaveBlock2Ptr->frontier.domeTrainers[i].trainerId == trainerId) + break; + } + + return i; +} + +// The same as the above one, but has global scope. +s32 TrainerIdToDomeTournamentId(u16 trainerId) +{ + s32 i; + + for (i = 0; i < DOME_TOURNAMENT_TRAINERS_COUNT; i++) + { + if (gSaveBlock2Ptr->frontier.domeTrainers[i].trainerId == trainerId) + break; + } + + return i; +} + +u8 sub_81953E8(u8 tournamentId, u8 arg1) +{ + u8 arr[2]; + sub_8192F08(gUnknown_0860D1A0[gUnknown_0860D1C0[tournamentId] / 2][arg1] - 16, arr); + if (tournamentId == arr[0]) + return arr[1]; + else + return arr[0]; +} + +void DecideRoundWinners(u8 roundId) +{ + s32 i; + s32 moveSlot, monId1, monId2; + s32 tournamentId1, tournamentId2; + s32 species; + s32 points1 = 0, points2 = 0; + + for (i = 0; i < DOME_TOURNAMENT_TRAINERS_COUNT; i++) + { + if (gSaveBlock2Ptr->frontier.domeTrainers[i].isEliminated || gSaveBlock2Ptr->frontier.domeTrainers[i].trainerId == TRAINER_PLAYER) + continue; + + tournamentId1 = i; + tournamentId2 = TournamentIdOfOpponent(roundId, gSaveBlock2Ptr->frontier.domeTrainers[tournamentId1].trainerId); + // Frontier Brain always wins, check tournamentId1. + if (gSaveBlock2Ptr->frontier.domeTrainers[tournamentId1].trainerId == TRAINER_FRONTIER_BRAIN && tournamentId2 != 0xFF) + { + gSaveBlock2Ptr->frontier.domeTrainers[tournamentId2].isEliminated = 1; + gSaveBlock2Ptr->frontier.domeTrainers[tournamentId2].eliminatedAt = roundId; + gSaveBlock2Ptr->frontier.field_EC0[tournamentId2] = GetWinningMove(tournamentId1, tournamentId2, roundId); + } + // Frontier Brain always wins, check tournamentId2. + else if (gSaveBlock2Ptr->frontier.domeTrainers[tournamentId2].trainerId == TRAINER_FRONTIER_BRAIN && tournamentId1 != 0xFF) + { + gSaveBlock2Ptr->frontier.domeTrainers[tournamentId1].isEliminated = 1; + gSaveBlock2Ptr->frontier.domeTrainers[tournamentId1].eliminatedAt = roundId; + gSaveBlock2Ptr->frontier.field_EC0[tournamentId1] = GetWinningMove(tournamentId2, tournamentId1, roundId); + } + // Decide which one of two trainers wins! + else if (tournamentId2 != 0xFF) + { + // BUG: points1 and points2 are not cleared at the beginning of the loop resulting in not fair results. + + // Calculate points for both trainers. + for (monId1 = 0; monId1 < 3; monId1++) + { + for (moveSlot = 0; moveSlot < 4; moveSlot++) + { + for (monId2 = 0; monId2 < 3; monId2++) + { + points1 += sub_818FFC0(gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonId[tournamentId1][monId1]].moves[moveSlot], + gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonId[tournamentId2][monId2]].species, 2); + } + } + species = gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonId[tournamentId1][monId1]].species; + points1 += ( gBaseStats[species].baseHP + + gBaseStats[species].baseAttack + + gBaseStats[species].baseDefense + + gBaseStats[species].baseSpeed + + gBaseStats[species].baseSpAttack + + gBaseStats[species].baseSpDefense) / 10; + } + // Random part of the formula. + points1 += (Random() & 0x1F); + // Favor trainers with higher id; + points1 += tournamentId1; + + for (monId1 = 0; monId1 < 3; monId1++) + { + for (moveSlot = 0; moveSlot < 4; moveSlot++) + { + for (monId2 = 0; monId2 < 3; monId2++) + { + points2 += sub_818FFC0(gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonId[tournamentId2][monId1]].moves[moveSlot], + gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonId[tournamentId1][monId2]].species, 2); + } + } + species = gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonId[tournamentId2][monId1]].species; + points2 += ( gBaseStats[species].baseHP + + gBaseStats[species].baseAttack + + gBaseStats[species].baseDefense + + gBaseStats[species].baseSpeed + + gBaseStats[species].baseSpAttack + + gBaseStats[species].baseSpDefense) / 10; + } + // Random part of the formula. + points2 += (Random() & 0x1F); + // Favor trainers with higher id; + points2 += tournamentId2; + + if (points1 > points2) + { + gSaveBlock2Ptr->frontier.domeTrainers[tournamentId2].isEliminated = 1; + gSaveBlock2Ptr->frontier.domeTrainers[tournamentId2].eliminatedAt = roundId; + gSaveBlock2Ptr->frontier.field_EC0[tournamentId2] = GetWinningMove(tournamentId1, tournamentId2, roundId); + } + else if (points1 < points2) + { + gSaveBlock2Ptr->frontier.domeTrainers[tournamentId1].isEliminated = 1; + gSaveBlock2Ptr->frontier.domeTrainers[tournamentId1].eliminatedAt = roundId; + gSaveBlock2Ptr->frontier.field_EC0[tournamentId1] = GetWinningMove(tournamentId2, tournamentId1, roundId); + } + // Points are the same, so we favor the one with the higher id. + else if (tournamentId1 > tournamentId2) + { + gSaveBlock2Ptr->frontier.domeTrainers[tournamentId2].isEliminated = 1; + gSaveBlock2Ptr->frontier.domeTrainers[tournamentId2].eliminatedAt = roundId; + gSaveBlock2Ptr->frontier.field_EC0[tournamentId2] = GetWinningMove(tournamentId1, tournamentId2, roundId); + } + else + { + gSaveBlock2Ptr->frontier.domeTrainers[tournamentId1].isEliminated = 1; + gSaveBlock2Ptr->frontier.domeTrainers[tournamentId1].eliminatedAt = roundId; + gSaveBlock2Ptr->frontier.field_EC0[tournamentId1] = GetWinningMove(tournamentId2, tournamentId1, roundId); + } + } + } +} + +void CopyDomeTrainerName(u8 *dst, u16 trainerId) +{ + s32 i = 0; + GetFrontierEnemyMonLevel(); // Unused return value. + + if (trainerId == TRAINER_FRONTIER_BRAIN) + { + CopyDomeBrainTrainerName(dst); + } + else + { + if (trainerId == TRAINER_PLAYER) + { + for (i = 0; i < OT_NAME_LENGTH; i++) + dst[i] = gSaveBlock2Ptr->playerName[i]; + } + else if (trainerId < 300) + { + for (i = 0; i < 7; i++) + dst[i] = gFacilityTrainers[trainerId].trainerName[i]; + } + dst[i] = EOS; + } +} + +u8 GetDomeBrainTrainerPicId(void) +{ + return gTrainers[TRAINER_TUCKER].trainerPic; +} + +u8 GetDomeBrainTrainerClass(void) +{ + return gTrainers[TRAINER_TUCKER].trainerClass; +} + +void CopyDomeBrainTrainerName(u8 *dst) +{ + s32 i; + + for (i = 0; i < 7; i++) + dst[i] = gTrainers[TRAINER_TUCKER].trainerName[i]; + dst[i] = EOS; +} diff --git a/src/battle_tent.c b/src/battle_tent.c index 68d7c5e83d..dbea37fb7c 100644 --- a/src/battle_tent.c +++ b/src/battle_tent.c @@ -11,7 +11,7 @@ #include "constants/items.h" #include "constants/region_map_sections.h" -// this file's functions +// This file's functions. void sub_81B99D4(void); void sub_81B9A28(void); void sub_81B9A44(void); @@ -115,7 +115,7 @@ void sub_81B9A60(void) void sub_81B9A90(void) { if (gTrainerBattleOpponent_A < 300) - ConvertBattleFrontierTrainerSpeechToString(gUnknown_0203BC88[gTrainerBattleOpponent_A].speechBefore); + ConvertBattleFrontierTrainerSpeechToString(gFacilityTrainers[gTrainerBattleOpponent_A].speechBefore); } void sub_81B9ABC(void) diff --git a/sym_ewram.txt b/sym_ewram.txt index 05c5a59503..c0c8e8a2f8 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -607,12 +607,11 @@ gUnknown_0203ABB8: @ 203ABB8 .space 0x4 /*unused var?*/ .include "src/mystery_event_script.o" - .include "src/learn_move.o" .include "src/decoration_inventory.o" .include "src/roamer.o" -gUnknown_0203BC88: @ 203BC88 +gFacilityTrainers: @ 203BC88 .space 0x4 gFacilityTrainerMons: @ 203BC8C From edcf04b665a9fa13d086dd486c4fe7b1649a7bbf Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Sat, 25 Aug 2018 19:59:47 +0200 Subject: [PATCH 130/234] Document battle dome. --- .../scripts.inc | 2 +- .../scripts.inc | 32 +- .../scripts.inc | 66 +- .../scripts.inc | 16 +- .../scripts.inc | 2 +- .../scripts.inc | 20 +- .../scripts.inc | 2 +- .../scripts.inc | 26 +- .../scripts.inc | 2 +- .../scripts.inc | 2 +- .../scripts.inc | 4 +- .../scripts.inc | 14 +- .../scripts.inc | 12 +- .../scripts.inc | 8 +- .../scripts.inc | 50 +- .../BattleFrontier_ScottsHouse/scripts.inc | 4 +- .../FallarborTown_BattleTentLobby/scripts.inc | 2 +- .../SlateportCity_BattleTentLobby/scripts.inc | 2 +- .../scripts.inc | 2 +- data/specials.inc | 2 +- include/battle_dome.h | 9 + include/battle_frontier_1.h | 8 - include/bg.h | 2 +- include/constants/battle_frontier.h | 10 + include/constants/vars.h | 2 +- include/global.h | 2 +- ld_script.txt | 4 +- src/battle_controller_player.c | 2 +- src/{battle_frontier_1.c => battle_dome.c} | 713 +++++++++--------- src/battle_setup.c | 5 +- src/bg.c | 2 +- src/field_specials.c | 17 +- src/item.c | 16 +- src/pokemon.c | 5 +- src/recorded_battle.c | 6 +- src/rom_8011DC0.c | 5 +- sym_ewram.txt | 13 +- 37 files changed, 547 insertions(+), 544 deletions(-) create mode 100644 include/battle_dome.h delete mode 100644 include/battle_frontier_1.h rename src/{battle_frontier_1.c => battle_dome.c} (87%) diff --git a/data/maps/BattleFrontier_BattleArenaLobby/scripts.inc b/data/maps/BattleFrontier_BattleArenaLobby/scripts.inc index a376bfe228..9ef9a2812a 100644 --- a/data/maps/BattleFrontier_BattleArenaLobby/scripts.inc +++ b/data/maps/BattleFrontier_BattleArenaLobby/scripts.inc @@ -133,7 +133,7 @@ BattleFrontier_BattleArenaLobby_EventScript_255DF4:: @ 8255DF4 lock faceplayer setvar VAR_FRONTIER_FACILITY, 3 - setvar VAR_0x40CE, 0 + setvar VAR_FRONTIER_BATTLE_MODE, 0 special SavePlayerParty msgbox BattleFrontier_BattleArenaLobby_Text_256166, 4 diff --git a/data/maps/BattleFrontier_BattleDomeBattleRoom/scripts.inc b/data/maps/BattleFrontier_BattleDomeBattleRoom/scripts.inc index e853afda04..3d5704dba7 100644 --- a/data/maps/BattleFrontier_BattleDomeBattleRoom/scripts.inc +++ b/data/maps/BattleFrontier_BattleDomeBattleRoom/scripts.inc @@ -7,7 +7,7 @@ BattleFrontier_BattleDomeBattleRoom_MapScripts:: @ 824BC9C BattleFrontier_BattleDomeBattleRoom_MapScript1_24BCB1: @ 824BCB1 setvar VAR_0x8004, 10 - special sub_818E9AC + special CallBattleDomeFunction setvar VAR_0x8004, 1 setvar VAR_0x8005, 2 special sub_81A1780 @@ -72,7 +72,7 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_24BD61:: @ 824BD61 BattleFrontier_BattleDomeBattleRoom_EventScript_24BD82:: @ 824BD82 setvar VAR_0x8004, 4 - special sub_818E9AC + special CallBattleDomeFunction msgbox BattleFrontier_BattleDomeBattleRoom_Text_24C990, 4 closemessage applymovement 13, BattleFrontier_BattleDomeBattleRoom_Movement_24C77B @@ -84,7 +84,7 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_24BD82:: @ 824BD82 msgbox 0x2021fc4, 4 closemessage setvar VAR_0x8004, 5 - special sub_818E9AC + special CallBattleDomeFunction call BattleFrontier_BattleDomeBattleRoom_EventScript_24C440 setvar VAR_TEMP_2, 0 switch VAR_RESULT @@ -109,7 +109,7 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_24BDF7:: @ 824BDF7 compare VAR_TEMP_2, 2 goto_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24BE4F setvar VAR_0x8004, 19 - special sub_818E9AC + special CallBattleDomeFunction switch VAR_RESULT case 1, BattleFrontier_BattleDomeBattleRoom_EventScript_24BEE0 @@ -117,7 +117,7 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_24BE4F:: @ 824BE4F applymovement 1, BattleFrontier_BattleDomeBattleRoom_Movement_2725B4 waitmovement 0 setvar VAR_0x8004, 4 - special sub_818E9AC + special CallBattleDomeFunction compare VAR_TEMP_2, 0 call_if 1, BattleFrontier_BattleDomeBattleRoom_EventScript_24BEB1 compare VAR_TEMP_2, 1 @@ -131,7 +131,7 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_24BE4F:: @ 824BE4F BattleFrontier_BattleDomeBattleRoom_EventScript_24BE8D:: @ 824BE8D setvar VAR_0x8004, 12 setvar VAR_0x8005, 2 - special sub_818E9AC + special CallBattleDomeFunction BattleFrontier_BattleDomePreBattleRoom_EventScript_24BE9A:: @ 824BE9A setvar VAR_0x8004, 2 @@ -173,10 +173,10 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_24BEE0:: @ 824BEE0 call BattleFrontier_BattleDomeBattleRoom_EventScript_24C82E delay 60 setvar VAR_0x8004, 3 - special sub_818E9AC + special CallBattleDomeFunction setvar VAR_0x8004, 12 setvar VAR_0x8005, 1 - special sub_818E9AC + special CallBattleDomeFunction setvar VAR_0x8004, 1 setvar VAR_0x8005, 2 special sub_81A1780 @@ -227,17 +227,17 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_24BFCC:: @ 824BFCC BattleFrontier_BattleDomeBattleRoom_EventScript_24BFD5:: @ 824BFD5 setvar VAR_0x8004, 1 setvar VAR_0x8005, 6 - special sub_818E9AC + special CallBattleDomeFunction compare VAR_RESULT, 0 goto_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24C023 setvar VAR_0x8004, 1 setvar VAR_0x8005, 7 - special sub_818E9AC + special CallBattleDomeFunction compare VAR_RESULT, 0 goto_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24C076 setvar VAR_0x8004, 1 setvar VAR_0x8005, 1 - special sub_818E9AC + special CallBattleDomeFunction compare VAR_RESULT, 0 goto_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24C16A goto BattleFrontier_BattleDomeBattleRoom_EventScript_24C0C9 @@ -446,7 +446,7 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_24C2B9:: @ 824C2B9 msgbox BattleFrontier_BattleDomeBattleRoom_Text_24D0F6, 4 setvar VAR_0x8004, 12 setvar VAR_0x8005, 1 - special sub_818E9AC + special CallBattleDomeFunction setvar VAR_0x8004, 12 special sub_81A1780 compare VAR_RESULT, 0 @@ -485,7 +485,7 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_24C373:: @ 824C373 msgbox BattleFrontier_BattleDomeBattleRoom_Text_24D0F6, 4 setvar VAR_0x8004, 12 setvar VAR_0x8005, 1 - special sub_818E9AC + special CallBattleDomeFunction setvar VAR_0x8004, 12 special sub_81A1780 compare VAR_RESULT, 2 @@ -536,10 +536,10 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_24C440:: @ 824C440 waitstate setvar VAR_TEMP_9, 0 setvar VAR_0x8004, 17 - special sub_818E9AC + special CallBattleDomeFunction special HealPlayerParty setvar VAR_0x8004, 16 - special sub_818E9AC + special CallBattleDomeFunction return BattleFrontier_BattleDomeBattleRoom_MapScript2_24C481: @ 824C481 @@ -950,7 +950,7 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_24C82E:: @ 824C82E BattleFrontier_BattleDomeBattleRoom_EventScript_24C8F5:: @ 824C8F5 BattleFrontier_BattleDomePreBattleRoom_EventScript_24C8F5:: @ 824C8F5 - copyvar VAR_RESULT, VAR_0x40CE + copyvar VAR_RESULT, VAR_FRONTIER_BATTLE_MODE compare VAR_RESULT, 1 goto_eq BattleFrontier_BattleDomePreBattleRoom_EventScript_24C90F warp MAP_BATTLE_FRONTIER_BATTLE_DOME_LOBBY, 255, 5, 11 diff --git a/data/maps/BattleFrontier_BattleDomeLobby/scripts.inc b/data/maps/BattleFrontier_BattleDomeLobby/scripts.inc index 1e50357bc8..6a879df16d 100644 --- a/data/maps/BattleFrontier_BattleDomeLobby/scripts.inc +++ b/data/maps/BattleFrontier_BattleDomeLobby/scripts.inc @@ -6,7 +6,7 @@ BattleFrontier_BattleDomeLobby_MapScripts:: @ 82497E2 BattleFrontier_BattleDomeLobby_MapScript1_2497F2: @ 82497F2 setvar VAR_0x8004, 21 - special sub_818E9AC + special CallBattleDomeFunction end BattleFrontier_BattleDomeLobby_MapScript2_2497FB: @ 82497FB @@ -39,15 +39,15 @@ BattleFrontier_BattleDomeLobby_EventScript_249842:: @ 8249842 setvar VAR_0x8004, 2 setvar VAR_0x8005, 0 setvar VAR_0x8006, 0 - special sub_818E9AC + special CallBattleDomeFunction setvar VAR_0x8004, 2 setvar VAR_0x8005, 1 setvar VAR_0x8006, 0 - special sub_818E9AC + special CallBattleDomeFunction setvar VAR_0x8004, 2 setvar VAR_0x8005, 6 setvar VAR_0x8006, 1 - special sub_818E9AC + special CallBattleDomeFunction setvar VAR_0x8004, 2 setvar VAR_0x8005, 0 setvar VAR_0x8006, 0 @@ -85,15 +85,15 @@ BattleFrontier_BattleDomeLobby_EventScript_2498C9:: @ 82498C9 setvar VAR_0x8004, 2 setvar VAR_0x8005, 6 setvar VAR_0x8006, 1 - special sub_818E9AC + special CallBattleDomeFunction setvar VAR_0x8004, 2 setvar VAR_0x8005, 7 setvar VAR_0x8006, 1 - special sub_818E9AC + special CallBattleDomeFunction setvar VAR_0x8004, 2 setvar VAR_0x8005, 1 setvar VAR_0x8006, 1 - special sub_818E9AC + special CallBattleDomeFunction special LoadPlayerParty special HealPlayerParty goto BattleFrontier_BattleDomeLobby_EventScript_249991 @@ -112,18 +112,18 @@ BattleFrontier_BattleDomeLobby_EventScript_249940:: @ 8249940 setvar VAR_0x8004, 2 setvar VAR_0x8005, 1 setvar VAR_0x8006, 0 - special sub_818E9AC + special CallBattleDomeFunction setvar VAR_0x8004, 2 setvar VAR_0x8005, 6 setvar VAR_0x8006, 1 - special sub_818E9AC + special CallBattleDomeFunction special LoadPlayerParty special HealPlayerParty BattleFrontier_BattleDomeLobby_EventScript_249991:: @ 8249991 setvar VAR_0x8004, 13 setvar VAR_0x8005, 0 - special sub_818E9AC + special CallBattleDomeFunction playse SE_SAVE waitse call BattleFrontier_BattleDomeLobby_EventScript_23E8E0 @@ -154,7 +154,7 @@ BattleFrontier_BattleDomeLobby_EventScript_2499F9:: @ 82499F9 waitmessage setvar VAR_0x8004, 13 setvar VAR_0x8005, 1 - special sub_818E9AC + special CallBattleDomeFunction playse SE_SAVE waitse setvar VAR_0x8004, 2 @@ -168,7 +168,7 @@ BattleFrontier_BattleDomeLobby_EventScript_249A35:: @ 8249A35 lock faceplayer setvar VAR_FRONTIER_FACILITY, 1 - setvar VAR_0x40CE, 0 + setvar VAR_FRONTIER_BATTLE_MODE, 0 goto BattleFrontier_BattleDomeLobby_EventScript_249A59 end @@ -176,21 +176,21 @@ BattleFrontier_BattleDomeLobby_EventScript_249A47:: @ 8249A47 lock faceplayer setvar VAR_FRONTIER_FACILITY, 1 - setvar VAR_0x40CE, 1 + setvar VAR_FRONTIER_BATTLE_MODE, 1 goto BattleFrontier_BattleDomeLobby_EventScript_249A59 end BattleFrontier_BattleDomeLobby_EventScript_249A59:: @ 8249A59 special SavePlayerParty - compare VAR_0x40CE, 0 + compare VAR_FRONTIER_BATTLE_MODE, 0 call_if 1, BattleFrontier_BattleDomeLobby_EventScript_249CFD - compare VAR_0x40CE, 1 + compare VAR_FRONTIER_BATTLE_MODE, 1 call_if 1, BattleFrontier_BattleDomeLobby_EventScript_249D06 BattleFrontier_BattleDomeLobby_EventScript_249A72:: @ 8249A72 - compare VAR_0x40CE, 0 + compare VAR_FRONTIER_BATTLE_MODE, 0 call_if 1, BattleFrontier_BattleDomeLobby_EventScript_249D0F - compare VAR_0x40CE, 1 + compare VAR_FRONTIER_BATTLE_MODE, 1 call_if 1, BattleFrontier_BattleDomeLobby_EventScript_249D15 waitmessage multichoice 17, 6, 23, 0 @@ -236,7 +236,7 @@ BattleFrontier_BattleDomeLobby_EventScript_249B60:: @ 8249B60 setvar VAR_0x8005, 4 special sub_81A1780 setvar VAR_0x8004, 0 - special sub_818E9AC + special CallBattleDomeFunction setvar VAR_0x8004, 2 setvar VAR_0x8005, 0 setvar VAR_0x8006, 1 @@ -253,7 +253,7 @@ BattleFrontier_BattleDomeLobby_EventScript_249B60:: @ 8249B60 compare VAR_RESULT, 0 goto_eq BattleFrontier_BattleDomeLobby_EventScript_249C4A setvar VAR_0x8004, 22 - special sub_818E9AC + special CallBattleDomeFunction BattleFrontier_BattleDomeLobby_EventScript_249BC2:: @ 8249BC2 special SavePlayerParty @@ -261,7 +261,7 @@ BattleFrontier_BattleDomeLobby_EventScript_249BC2:: @ 8249BC2 setvar VAR_0x8005, 3 special sub_81A1780 setvar VAR_0x8004, 15 - special sub_818E9AC + special CallBattleDomeFunction msgbox BattleFrontier_BattleDomeLobby_Text_24A437, 4 closemessage call BattleFrontier_BattleDomeLobby_EventScript_249C6E @@ -272,9 +272,9 @@ BattleFrontier_BattleDomeLobby_EventScript_249BC2:: @ 8249BC2 end BattleFrontier_BattleDomeLobby_EventScript_249BFA:: @ 8249BFA - compare VAR_0x40CE, 0 + compare VAR_FRONTIER_BATTLE_MODE, 0 call_if 1, BattleFrontier_BattleDomeLobby_EventScript_249D1B - compare VAR_0x40CE, 1 + compare VAR_FRONTIER_BATTLE_MODE, 1 call_if 1, BattleFrontier_BattleDomeLobby_EventScript_249D24 goto BattleFrontier_BattleDomeLobby_EventScript_249A72 @@ -309,26 +309,26 @@ BattleFrontier_BattleDomeLobby_EventScript_249C6C:: @ 8249C6C end BattleFrontier_BattleDomeLobby_EventScript_249C6E:: @ 8249C6E - compare VAR_0x40CE, 0 + compare VAR_FRONTIER_BATTLE_MODE, 0 call_if 1, BattleFrontier_BattleDomeLobby_EventScript_249CDD - compare VAR_0x40CE, 1 + compare VAR_FRONTIER_BATTLE_MODE, 1 call_if 1, BattleFrontier_BattleDomeLobby_EventScript_249CE5 applymovement 255, BattleFrontier_BattleDomeLobby_Movement_249D45 waitmovement 0 - compare VAR_0x40CE, 0 + compare VAR_FRONTIER_BATTLE_MODE, 0 call_if 1, BattleFrontier_BattleDomeLobby_EventScript_249D2D - compare VAR_0x40CE, 1 + compare VAR_FRONTIER_BATTLE_MODE, 1 call_if 1, BattleFrontier_BattleDomeLobby_EventScript_249D33 waitdooranim - compare VAR_0x40CE, 0 + compare VAR_FRONTIER_BATTLE_MODE, 0 call_if 1, BattleFrontier_BattleDomeLobby_EventScript_249CED - compare VAR_0x40CE, 1 + compare VAR_FRONTIER_BATTLE_MODE, 1 call_if 1, BattleFrontier_BattleDomeLobby_EventScript_249CF5 applymovement 255, BattleFrontier_BattleDomeLobby_Movement_249D4E waitmovement 0 - compare VAR_0x40CE, 0 + compare VAR_FRONTIER_BATTLE_MODE, 0 call_if 1, BattleFrontier_BattleDomeLobby_EventScript_249D39 - compare VAR_0x40CE, 1 + compare VAR_FRONTIER_BATTLE_MODE, 1 call_if 1, BattleFrontier_BattleDomeLobby_EventScript_249D3F waitdooranim return @@ -433,7 +433,7 @@ BattleFrontier_BattleDomeLobby_EventScript_249D6B:: @ 8249D6B BattleFrontier_BattleDomeLobby_EventScript_249D84:: @ 8249D84 setvar VAR_0x8004, 1 setvar VAR_0x8005, 9 - special sub_818E9AC + special CallBattleDomeFunction compare VAR_RESULT, 0 call_if 1, BattleFrontier_BattleDomeLobby_EventScript_249DC9 compare VAR_RESULT, 1 @@ -444,7 +444,7 @@ BattleFrontier_BattleDomeLobby_EventScript_249D84:: @ 8249D84 call_if 1, BattleFrontier_BattleDomeLobby_EventScript_249DE4 fadescreen 1 setvar VAR_0x8004, 8 - special sub_818E9AC + special CallBattleDomeFunction waitstate end @@ -466,7 +466,7 @@ BattleFrontier_BattleDomeLobby_EventScript_249DE4:: @ 8249DE4 BattleFrontier_BattleDomeLobby_EventScript_249DED:: @ 8249DED setvar VAR_0x8004, 20 - special sub_818E9AC + special CallBattleDomeFunction msgbox BattleFrontier_BattleDomeLobby_Text_24AA76, 2 end diff --git a/data/maps/BattleFrontier_BattleDomePreBattleRoom/scripts.inc b/data/maps/BattleFrontier_BattleDomePreBattleRoom/scripts.inc index 024162cee0..e004eafacd 100644 --- a/data/maps/BattleFrontier_BattleDomePreBattleRoom/scripts.inc +++ b/data/maps/BattleFrontier_BattleDomePreBattleRoom/scripts.inc @@ -87,7 +87,7 @@ BattleFrontier_BattleDomePreBattleRoom_EventScript_24B377:: @ 824B377 BattleFrontier_BattleDomePreBattleRoom_EventScript_24B3A9:: @ 824B3A9 setvar VAR_0x8004, 12 setvar VAR_0x8005, 9 - special sub_818E9AC + special CallBattleDomeFunction goto BattleFrontier_BattleDomePreBattleRoom_EventScript_24BE9A BattleFrontier_BattleDomePreBattleRoom_EventScript_24B3BB:: @ 824B3BB @@ -95,7 +95,7 @@ BattleFrontier_BattleDomePreBattleRoom_EventScript_24B3BB:: @ 824B3BB waitmessage setvar VAR_0x8004, 13 setvar VAR_0x8005, 2 - special sub_818E9AC + special CallBattleDomeFunction playse SE_SAVE waitse fadescreen 1 @@ -107,7 +107,7 @@ BattleFrontier_BattleDomePreBattleRoom_EventScript_24B3DD:: @ 824B3DD msgbox BattleFrontier_BattleDomePreBattleRoom_Text_24B9B5, 4 fadescreen 1 setvar VAR_0x8004, 6 - special sub_818E9AC + special CallBattleDomeFunction waitstate goto BattleFrontier_BattleDomePreBattleRoom_EventScript_24B24F @@ -115,7 +115,7 @@ BattleFrontier_BattleDomePreBattleRoom_EventScript_24B3F5:: @ 824B3F5 call BattleFrontier_BattleDomePreBattleRoom_EventScript_24B40A fadescreen 1 setvar VAR_0x8004, 7 - special sub_818E9AC + special CallBattleDomeFunction waitstate goto BattleFrontier_BattleDomePreBattleRoom_EventScript_24B24F @@ -162,11 +162,11 @@ BattleFrontier_BattleDomePreBattleRoom_EventScript_24B46D:: @ 824B46D goto_eq BattleFrontier_BattleDomePreBattleRoom_EventScript_24B24F setvar VAR_0x8004, 2 setvar VAR_0x8005, 8 - special sub_818E9AC + special CallBattleDomeFunction setvar VAR_0x8004, 18 - special sub_818E9AC + special CallBattleDomeFunction setvar VAR_0x8004, 9 - special sub_818E9AC + special CallBattleDomeFunction msgbox BattleFrontier_BattleDomePreBattleRoom_Text_24B748, 4 closemessage applymovement 1, BattleFrontier_BattleDomePreBattleRoom_Movement_24B64F @@ -253,7 +253,7 @@ BattleFrontier_BattleDomePreBattleRoom_EventScript_24B5C7:: @ 824B5C7 call BattleFrontier_BattleDomePreBattleRoom_EventScript_24B600 fadescreen 1 setvar VAR_0x8004, 11 - special sub_818E9AC + special CallBattleDomeFunction waitstate goto BattleFrontier_BattleDomePreBattleRoom_EventScript_24B24F diff --git a/data/maps/BattleFrontier_BattleFactoryBattleRoom/scripts.inc b/data/maps/BattleFrontier_BattleFactoryBattleRoom/scripts.inc index 5b6a674fb0..2968e2c0f4 100644 --- a/data/maps/BattleFrontier_BattleFactoryBattleRoom/scripts.inc +++ b/data/maps/BattleFrontier_BattleFactoryBattleRoom/scripts.inc @@ -291,7 +291,7 @@ BattleFrontier_BattleFactoryBattleRoom_Movement_25B18B: @ 825B18B BattleFrontier_BattleFactoryBattleRoom_EventScript_25B190:: @ 825B190 BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25B190:: @ 825B190 - copyvar VAR_RESULT, VAR_0x40CE + copyvar VAR_RESULT, VAR_FRONTIER_BATTLE_MODE compare VAR_RESULT, 1 goto_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25B1AA warp MAP_BATTLE_FRONTIER_BATTLE_FACTORY_LOBBY, 255, 4, 8 diff --git a/data/maps/BattleFrontier_BattleFactoryLobby/scripts.inc b/data/maps/BattleFrontier_BattleFactoryLobby/scripts.inc index ec24833903..7846da8747 100644 --- a/data/maps/BattleFrontier_BattleFactoryLobby/scripts.inc +++ b/data/maps/BattleFrontier_BattleFactoryLobby/scripts.inc @@ -143,27 +143,27 @@ BattleFrontier_BattleFactoryLobby_EventScript_2585CB:: @ 82585CB lock faceplayer setvar VAR_FRONTIER_FACILITY, 4 - setvar VAR_0x40CE, 0 + setvar VAR_FRONTIER_BATTLE_MODE, 0 goto BattleFrontier_BattleFactoryLobby_EventScript_2585ED end BattleFrontier_BattleFactoryLobby_EventScript_2585DD:: @ 82585DD setvar VAR_FRONTIER_FACILITY, 4 - setvar VAR_0x40CE, 1 + setvar VAR_FRONTIER_BATTLE_MODE, 1 goto BattleFrontier_BattleFactoryLobby_EventScript_2585ED end BattleFrontier_BattleFactoryLobby_EventScript_2585ED:: @ 82585ED special SavePlayerParty - compare VAR_0x40CE, 0 + compare VAR_FRONTIER_BATTLE_MODE, 0 call_if 1, BattleFrontier_BattleFactoryLobby_EventScript_2587B1 - compare VAR_0x40CE, 1 + compare VAR_FRONTIER_BATTLE_MODE, 1 call_if 1, BattleFrontier_BattleFactoryLobby_EventScript_2587BA BattleFrontier_BattleFactoryLobby_EventScript_258606:: @ 8258606 - compare VAR_0x40CE, 0 + compare VAR_FRONTIER_BATTLE_MODE, 0 call_if 1, BattleFrontier_BattleFactoryLobby_EventScript_2587C3 - compare VAR_0x40CE, 1 + compare VAR_FRONTIER_BATTLE_MODE, 1 call_if 1, BattleFrontier_BattleFactoryLobby_EventScript_2587C9 waitmessage multichoice 17, 6, 23, 0 @@ -218,9 +218,9 @@ BattleFrontier_BattleFactoryLobby_EventScript_25871A:: @ 825871A special SavePlayerParty msgbox BattleFrontier_BattleFactoryLobby_Text_258CB1, 4 closemessage - compare VAR_0x40CE, 0 + compare VAR_FRONTIER_BATTLE_MODE, 0 call_if 1, BattleFrontier_BattleFactoryLobby_EventScript_25875C - compare VAR_0x40CE, 1 + compare VAR_FRONTIER_BATTLE_MODE, 1 call_if 1, BattleFrontier_BattleFactoryLobby_EventScript_258762 applymovement VAR_LAST_TALKED, BattleFrontier_BattleFactoryLobby_Movement_2587A7 applymovement 255, BattleFrontier_BattleFactoryLobby_Movement_2587AC @@ -239,9 +239,9 @@ BattleFrontier_BattleFactoryLobby_EventScript_258762:: @ 8258762 return BattleFrontier_BattleFactoryLobby_EventScript_258768:: @ 8258768 - compare VAR_0x40CE, 0 + compare VAR_FRONTIER_BATTLE_MODE, 0 call_if 1, BattleFrontier_BattleFactoryLobby_EventScript_2587CF - compare VAR_0x40CE, 1 + compare VAR_FRONTIER_BATTLE_MODE, 1 call_if 1, BattleFrontier_BattleFactoryLobby_EventScript_2587D8 goto BattleFrontier_BattleFactoryLobby_EventScript_258606 diff --git a/data/maps/BattleFrontier_BattlePalaceBattleRoom/scripts.inc b/data/maps/BattleFrontier_BattlePalaceBattleRoom/scripts.inc index 2ae154927b..372b5da76e 100644 --- a/data/maps/BattleFrontier_BattlePalaceBattleRoom/scripts.inc +++ b/data/maps/BattleFrontier_BattlePalaceBattleRoom/scripts.inc @@ -459,7 +459,7 @@ BattleFrontier_BattlePalaceBattleRoom_Movement_24FEB6: @ 824FEB6 step_end BattleFrontier_BattlePalaceBattleRoom_EventScript_24FEBB:: @ 824FEBB - copyvar VAR_RESULT, VAR_0x40CE + copyvar VAR_RESULT, VAR_FRONTIER_BATTLE_MODE compare VAR_RESULT, 1 goto_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_24FED5 warp MAP_BATTLE_FRONTIER_BATTLE_PALACE_LOBBY, 255, 5, 7 diff --git a/data/maps/BattleFrontier_BattlePalaceLobby/scripts.inc b/data/maps/BattleFrontier_BattlePalaceLobby/scripts.inc index 91c1abd0fe..b86ffa2fbd 100644 --- a/data/maps/BattleFrontier_BattlePalaceLobby/scripts.inc +++ b/data/maps/BattleFrontier_BattlePalaceLobby/scripts.inc @@ -134,7 +134,7 @@ BattleFrontier_BattlePalaceLobby_EventScript_24D944:: @ 824D944 lock faceplayer setvar VAR_FRONTIER_FACILITY, 2 - setvar VAR_0x40CE, 0 + setvar VAR_FRONTIER_BATTLE_MODE, 0 goto BattleFrontier_BattlePalaceLobby_EventScript_24D968 end @@ -142,7 +142,7 @@ BattleFrontier_BattlePalaceLobby_EventScript_24D956:: @ 824D956 lock faceplayer setvar VAR_FRONTIER_FACILITY, 2 - setvar VAR_0x40CE, 1 + setvar VAR_FRONTIER_BATTLE_MODE, 1 goto BattleFrontier_BattlePalaceLobby_EventScript_24D968 end @@ -153,15 +153,15 @@ BattleFrontier_BattlePalaceLobby_EventScript_24D968:: @ 824D968 compare VAR_RESULT, 0 goto_if 5, BattleFrontier_BattlePalaceLobby_EventScript_24D817 special SavePlayerParty - compare VAR_0x40CE, 0 + compare VAR_FRONTIER_BATTLE_MODE, 0 call_if 1, BattleFrontier_BattlePalaceLobby_EventScript_24DB9E - compare VAR_0x40CE, 1 + compare VAR_FRONTIER_BATTLE_MODE, 1 call_if 1, BattleFrontier_BattlePalaceLobby_EventScript_24DBA7 BattleFrontier_BattlePalaceLobby_EventScript_24D999:: @ 824D999 - compare VAR_0x40CE, 0 + compare VAR_FRONTIER_BATTLE_MODE, 0 call_if 1, BattleFrontier_BattlePalaceLobby_EventScript_24DBB0 - compare VAR_0x40CE, 1 + compare VAR_FRONTIER_BATTLE_MODE, 1 call_if 1, BattleFrontier_BattlePalaceLobby_EventScript_24DBB6 waitmessage multichoice 17, 6, 23, 0 @@ -242,7 +242,7 @@ BattleFrontier_BattlePalaceLobby_EventScript_24DAF3:: @ 824DAF3 end BattleFrontier_BattlePalaceLobby_EventScript_24DB20:: @ 824DB20 - compare VAR_0x40CE, 1 + compare VAR_FRONTIER_BATTLE_MODE, 1 goto_eq BattleFrontier_BattlePalaceLobby_EventScript_24DB38 msgbox BattleFrontier_BattlePalaceLobby_Text_24DE17, 4 goto BattleFrontier_BattlePalaceLobby_EventScript_24D999 @@ -298,24 +298,24 @@ BattleFrontier_BattlePalaceLobby_EventScript_24DBB6:: @ 824DBB6 return BattleFrontier_BattlePalaceLobby_EventScript_24DBBC:: @ 824DBBC - compare VAR_0x40CE, 0 + compare VAR_FRONTIER_BATTLE_MODE, 0 call_if 1, BattleFrontier_BattlePalaceLobby_EventScript_24DC23 - compare VAR_0x40CE, 1 + compare VAR_FRONTIER_BATTLE_MODE, 1 call_if 1, BattleFrontier_BattlePalaceLobby_EventScript_24DC29 applymovement VAR_LAST_TALKED, BattleFrontier_BattlePalaceLobby_Movement_24DC47 applymovement 255, BattleFrontier_BattlePalaceLobby_Movement_24DC47 waitmovement 0 - compare VAR_0x40CE, 0 + compare VAR_FRONTIER_BATTLE_MODE, 0 call_if 1, BattleFrontier_BattlePalaceLobby_EventScript_24DC2F - compare VAR_0x40CE, 1 + compare VAR_FRONTIER_BATTLE_MODE, 1 call_if 1, BattleFrontier_BattlePalaceLobby_EventScript_24DC35 waitdooranim applymovement VAR_LAST_TALKED, BattleFrontier_BattlePalaceLobby_Movement_24DC49 applymovement 255, BattleFrontier_BattlePalaceLobby_Movement_24DC4C waitmovement 0 - compare VAR_0x40CE, 0 + compare VAR_FRONTIER_BATTLE_MODE, 0 call_if 1, BattleFrontier_BattlePalaceLobby_EventScript_24DC3B - compare VAR_0x40CE, 1 + compare VAR_FRONTIER_BATTLE_MODE, 1 call_if 1, BattleFrontier_BattlePalaceLobby_EventScript_24DC41 waitdooranim return diff --git a/data/maps/BattleFrontier_BattlePikeLobby/scripts.inc b/data/maps/BattleFrontier_BattlePikeLobby/scripts.inc index 5323c4a6b1..0b356792fc 100644 --- a/data/maps/BattleFrontier_BattlePikeLobby/scripts.inc +++ b/data/maps/BattleFrontier_BattlePikeLobby/scripts.inc @@ -126,7 +126,7 @@ BattleFrontier_BattlePikeLobby_EventScript_25B868:: @ 825B868 lock faceplayer setvar VAR_FRONTIER_FACILITY, 5 - setvar VAR_0x40CE, 0 + setvar VAR_FRONTIER_BATTLE_MODE, 0 special SavePlayerParty msgbox BattleFrontier_BattlePikeLobby_Text_25BB52, 4 diff --git a/data/maps/BattleFrontier_BattlePyramidLobby/scripts.inc b/data/maps/BattleFrontier_BattlePyramidLobby/scripts.inc index 07b9fee477..ccc7b1032d 100644 --- a/data/maps/BattleFrontier_BattlePyramidLobby/scripts.inc +++ b/data/maps/BattleFrontier_BattlePyramidLobby/scripts.inc @@ -130,7 +130,7 @@ BattleFrontier_BattlePyramidLobby_EventScript_2508B1:: @ 82508B1 lock faceplayer setvar VAR_FRONTIER_FACILITY, 6 - setvar VAR_0x40CE, 0 + setvar VAR_FRONTIER_BATTLE_MODE, 0 special SavePlayerParty msgbox BattleFrontier_BattlePyramidLobby_Text_250F31, 4 diff --git a/data/maps/BattleFrontier_BattleTowerBattleRoom/scripts.inc b/data/maps/BattleFrontier_BattleTowerBattleRoom/scripts.inc index f684e215de..d687f83dd4 100644 --- a/data/maps/BattleFrontier_BattleTowerBattleRoom/scripts.inc +++ b/data/maps/BattleFrontier_BattleTowerBattleRoom/scripts.inc @@ -366,7 +366,7 @@ BattleFrontier_BattleTowerBattleRoom_EventScript_24210E:: @ 824210E setvar VAR_0x8005, 0 special sub_8163AC4 waitstate - copyvar VAR_0x8004, VAR_0x40CE + copyvar VAR_0x8004, VAR_FRONTIER_BATTLE_MODE compare VAR_0x8004, 3 goto_eq BattleFrontier_BattleTowerBattleRoom_EventScript_24215A setvar VAR_0x8004, 18 @@ -484,7 +484,7 @@ BattleFrontier_BattleTowerBattleRoom_Movement_2421B2: @ 82421B2 BattleFrontier_BattleTowerBattleRoom2_EventScript_2421B8:: @ 82421B8 BattleFrontier_BattleTowerBattleRoom_EventScript_2421B8:: @ 82421B8 - copyvar VAR_RESULT, VAR_0x40CE + copyvar VAR_RESULT, VAR_FRONTIER_BATTLE_MODE compare VAR_RESULT, 1 goto_eq BattleFrontier_BattleTowerBattleRoom_EventScript_2421E8 compare VAR_RESULT, 2 diff --git a/data/maps/BattleFrontier_BattleTowerBattleRoom2/scripts.inc b/data/maps/BattleFrontier_BattleTowerBattleRoom2/scripts.inc index d1b07451cc..556d4499a4 100644 --- a/data/maps/BattleFrontier_BattleTowerBattleRoom2/scripts.inc +++ b/data/maps/BattleFrontier_BattleTowerBattleRoom2/scripts.inc @@ -5,9 +5,9 @@ BattleFrontier_BattleTowerBattleRoom2_MapScripts:: @ 8248EE8 .byte 0 BattleFrontier_BattleTowerBattleRoom2_MapScript1_248EF8: @ 8248EF8 - compare VAR_0x40CE, 2 + compare VAR_FRONTIER_BATTLE_MODE, 2 call_if 1, BattleFrontier_BattleTowerBattleRoom2_EventScript_248F0F - compare VAR_0x40CE, 3 + compare VAR_FRONTIER_BATTLE_MODE, 3 call_if 1, BattleFrontier_BattleTowerBattleRoom2_EventScript_248F2F end @@ -70,7 +70,7 @@ BattleFrontier_BattleTowerBattleRoom2_EventScript_248FB4:: @ 8248FB4 applymovement 1, BattleFrontier_BattleTowerBattleRoom2_Movement_249528 applymovement 4, BattleFrontier_BattleTowerBattleRoom2_Movement_24952E waitmovement 0 - compare VAR_0x40CE, 3 + compare VAR_FRONTIER_BATTLE_MODE, 3 goto_eq BattleFrontier_BattleTowerBattleRoom2_EventScript_249026 setvar VAR_0x8004, 7 setvar VAR_0x8005, 0 @@ -142,7 +142,7 @@ BattleFrontier_BattleTowerBattleRoom2_EventScript_2490AA:: @ 82490AA applymovement 5, BattleFrontier_BattleTowerBattleRoom2_Movement_249524 applymovement 6, BattleFrontier_BattleTowerBattleRoom2_Movement_249524 waitmovement 0 - compare VAR_0x40CE, 3 + compare VAR_FRONTIER_BATTLE_MODE, 3 goto_eq BattleFrontier_BattleTowerBattleRoom2_EventScript_249118 msgbox BattleFrontier_BattleTowerBattleRoom2_Text_242217, 4 goto BattleFrontier_BattleTowerBattleRoom2_EventScript_249121 @@ -157,7 +157,7 @@ BattleFrontier_BattleTowerBattleRoom2_EventScript_249121:: @ 8249121 setvar VAR_0x8004, 3 setvar VAR_0x8005, 2 special sub_81A1780 - compare VAR_0x40CE, 3 + compare VAR_FRONTIER_BATTLE_MODE, 3 call_if 1, BattleFrontier_BattleTowerBattleRoom2_EventScript_249514 playfanfare MUS_ME_ASA waitfanfare @@ -168,7 +168,7 @@ BattleFrontier_BattleTowerBattleRoom2_EventScript_249143:: @ 8249143 setvar VAR_0x8005, 2 special sub_81A1780 call BattleFrontier_BattleTowerBattleRoom2_EventScript_2492FD - compare VAR_0x40CE, 3 + compare VAR_FRONTIER_BATTLE_MODE, 3 goto_eq BattleFrontier_BattleTowerBattleRoom2_EventScript_249283 call BattleFrontier_BattleTowerBattleRoom2_EventScript_23E8E0 compare VAR_RESULT, 1 @@ -256,7 +256,7 @@ BattleFrontier_BattleTowerBattleRoom2_EventScript_2492DB:: @ 82492DB end BattleFrontier_BattleTowerBattleRoom2_EventScript_2492FD:: @ 82492FD - compare VAR_0x40CE, 3 + compare VAR_FRONTIER_BATTLE_MODE, 3 goto_eq BattleFrontier_BattleTowerBattleRoom2_EventScript_24937E copyvar VAR_TEMP_F, VAR_RESULT switch VAR_TEMP_F diff --git a/data/maps/BattleFrontier_BattleTowerCorridor2/scripts.inc b/data/maps/BattleFrontier_BattleTowerCorridor2/scripts.inc index 36cf93ada0..d28fa105db 100644 --- a/data/maps/BattleFrontier_BattleTowerCorridor2/scripts.inc +++ b/data/maps/BattleFrontier_BattleTowerCorridor2/scripts.inc @@ -5,9 +5,9 @@ BattleFrontier_BattleTowerCorridor2_MapScripts:: @ 8248D4A .byte 0 BattleFrontier_BattleTowerCorridor2_MapScript1_248D5A: @ 8248D5A - compare VAR_0x40CE, 2 + compare VAR_FRONTIER_BATTLE_MODE, 2 call_if 1, BattleFrontier_BattleTowerCorridor2_EventScript_248D71 - compare VAR_0x40CE, 3 + compare VAR_FRONTIER_BATTLE_MODE, 3 call_if 1, BattleFrontier_BattleTowerCorridor2_EventScript_248D91 end @@ -87,13 +87,13 @@ BattleFrontier_BattleTowerCorridor2_EventScript_248DBC:: @ 8248DBC end BattleFrontier_BattleTowerCorridor2_EventScript_248E71:: @ 8248E71 - compare VAR_0x40CE, 0 + compare VAR_FRONTIER_BATTLE_MODE, 0 call_if 1, BattleFrontier_BattleTowerCorridor2_EventScript_248E9E - compare VAR_0x40CE, 1 + compare VAR_FRONTIER_BATTLE_MODE, 1 call_if 1, BattleFrontier_BattleTowerCorridor2_EventScript_248E9E - compare VAR_0x40CE, 2 + compare VAR_FRONTIER_BATTLE_MODE, 2 call_if 1, BattleFrontier_BattleTowerCorridor2_EventScript_248EA8 - compare VAR_0x40CE, 3 + compare VAR_FRONTIER_BATTLE_MODE, 3 call_if 1, BattleFrontier_BattleTowerCorridor2_EventScript_248EB2 return diff --git a/data/maps/BattleFrontier_BattleTowerElevator/scripts.inc b/data/maps/BattleFrontier_BattleTowerElevator/scripts.inc index 072d271374..968d457721 100644 --- a/data/maps/BattleFrontier_BattleTowerElevator/scripts.inc +++ b/data/maps/BattleFrontier_BattleTowerElevator/scripts.inc @@ -24,13 +24,13 @@ BattleFrontier_BattleTowerElevator_EventScript_2419F0:: @ 82419F0 end BattleFrontier_BattleTowerElevator_EventScript_241A28:: @ 8241A28 - compare VAR_0x40CE, 0 + compare VAR_FRONTIER_BATTLE_MODE, 0 call_if 1, BattleFrontier_BattleTowerElevator_EventScript_241A55 - compare VAR_0x40CE, 1 + compare VAR_FRONTIER_BATTLE_MODE, 1 call_if 1, BattleFrontier_BattleTowerElevator_EventScript_241A55 - compare VAR_0x40CE, 2 + compare VAR_FRONTIER_BATTLE_MODE, 2 call_if 1, BattleFrontier_BattleTowerElevator_EventScript_241A5F - compare VAR_0x40CE, 3 + compare VAR_FRONTIER_BATTLE_MODE, 3 call_if 1, BattleFrontier_BattleTowerElevator_EventScript_241A72 return diff --git a/data/maps/BattleFrontier_BattleTowerLobby/scripts.inc b/data/maps/BattleFrontier_BattleTowerLobby/scripts.inc index 1cd2ff74ab..2b07b7ea4f 100644 --- a/data/maps/BattleFrontier_BattleTowerLobby/scripts.inc +++ b/data/maps/BattleFrontier_BattleTowerLobby/scripts.inc @@ -119,7 +119,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23E7E2:: @ 823E7E2 end BattleFrontier_BattleTowerLobby_EventScript_23E7F2:: @ 823E7F2 - compare VAR_0x40CE, 2 + compare VAR_FRONTIER_BATTLE_MODE, 2 goto_if 5, BattleFrontier_BattleTowerLobby_EventScript_23E81E checkflag FLAG_0x152 goto_eq BattleFrontier_BattleTowerLobby_EventScript_23E81E @@ -214,7 +214,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23E8E0:: @ 823E8E0 BattleFrontier_BattleTowerLobby_EventScript_23E8EE:: @ 823E8EE lock faceplayer - compare VAR_0x40CE, 0 + compare VAR_FRONTIER_BATTLE_MODE, 0 call_if 1, BattleFrontier_BattleTowerLobby_EventScript_23E930 message BattleFrontier_BattleTowerLobby_Text_23F737 waitmessage @@ -254,7 +254,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23E948:: @ 823E948 case 127, BattleFrontier_BattleTowerLobby_EventScript_23F0E6 BattleFrontier_BattleTowerLobby_EventScript_23E984:: @ 823E984 - setvar VAR_0x40CE, 0 + setvar VAR_FRONTIER_BATTLE_MODE, 0 message BattleFrontier_BattleTowerLobby_Text_23FD3B waitmessage multichoice 17, 6, 24, 0 @@ -334,7 +334,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23EAB1:: @ 823EAB1 case 127, BattleFrontier_BattleTowerLobby_EventScript_23F0E6 BattleFrontier_BattleTowerLobby_EventScript_23EAED:: @ 823EAED - setvar VAR_0x40CE, 1 + setvar VAR_FRONTIER_BATTLE_MODE, 1 message BattleFrontier_BattleTowerLobby_Text_23FD3B waitmessage multichoice 17, 6, 24, 0 @@ -415,7 +415,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23EC1D:: @ 823EC1D case 127, BattleFrontier_BattleTowerLobby_EventScript_23F0E6 BattleFrontier_BattleTowerLobby_EventScript_23EC59:: @ 823EC59 - setvar VAR_0x40CE, 2 + setvar VAR_FRONTIER_BATTLE_MODE, 2 message BattleFrontier_BattleTowerLobby_Text_23FD3B waitmessage multichoice 17, 6, 24, 0 @@ -495,7 +495,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23ED86:: @ 823ED86 case 127, BattleFrontier_BattleTowerLobby_EventScript_23F0E6 BattleFrontier_BattleTowerLobby_EventScript_23EDC2:: @ 823EDC2 - setvar VAR_0x40CE, 3 + setvar VAR_FRONTIER_BATTLE_MODE, 3 message BattleFrontier_BattleTowerLobby_Text_23FD3B waitmessage multichoice 17, 6, 24, 0 @@ -679,7 +679,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23F02B:: @ 823F02B case 1, BattleFrontier_BattleTowerLobby_EventScript_23F08B BattleFrontier_BattleTowerLobby_EventScript_23F046:: @ 823F046 - switch VAR_0x40CE + switch VAR_FRONTIER_BATTLE_MODE case 0, BattleFrontier_BattleTowerLobby_EventScript_23F06F case 1, BattleFrontier_BattleTowerLobby_EventScript_23F07D msgbox BattleFrontier_BattleTowerLobby_Text_24038B, 4 @@ -697,7 +697,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23F07D:: @ 823F07D end BattleFrontier_BattleTowerLobby_EventScript_23F08B:: @ 823F08B - switch VAR_0x40CE + switch VAR_FRONTIER_BATTLE_MODE case 0, BattleFrontier_BattleTowerLobby_EventScript_23F0B4 case 1, BattleFrontier_BattleTowerLobby_EventScript_23F0C2 msgbox BattleFrontier_BattleTowerLobby_Text_24046B, 4 @@ -754,7 +754,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23F108:: @ 823F108 BattleFrontier_BattleTowerLobby_EventScript_23F135:: @ 823F135 call BattleFrontier_BattleTowerLobby_EventScript_23F1A7 - compare VAR_0x40CE, 3 + compare VAR_FRONTIER_BATTLE_MODE, 3 goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F152 msgbox BattleFrontier_BattleTowerLobby_Text_23FE11, 4 goto BattleFrontier_BattleTowerLobby_EventScript_23F15B @@ -807,13 +807,13 @@ BattleFrontier_BattleTowerLobby_Movement_23F1A0: @ 823F1A0 step_end BattleFrontier_BattleTowerLobby_EventScript_23F1A7:: @ 823F1A7 - compare VAR_0x40CE, 0 + compare VAR_FRONTIER_BATTLE_MODE, 0 call_if 1, BattleFrontier_BattleTowerLobby_EventScript_23F1D4 - compare VAR_0x40CE, 1 + compare VAR_FRONTIER_BATTLE_MODE, 1 call_if 1, BattleFrontier_BattleTowerLobby_EventScript_23F1D9 - compare VAR_0x40CE, 2 + compare VAR_FRONTIER_BATTLE_MODE, 2 call_if 1, BattleFrontier_BattleTowerLobby_EventScript_23F1DE - compare VAR_0x40CE, 3 + compare VAR_FRONTIER_BATTLE_MODE, 3 call_if 1, BattleFrontier_BattleTowerLobby_EventScript_23F1E3 return @@ -834,13 +834,13 @@ BattleFrontier_BattleTowerLobby_EventScript_23F1E3:: @ 823F1E3 return BattleFrontier_BattleTowerLobby_EventScript_23F1E8:: @ 823F1E8 - compare VAR_0x40CE, 0 + compare VAR_FRONTIER_BATTLE_MODE, 0 call_if 1, BattleFrontier_BattleTowerLobby_EventScript_23F215 - compare VAR_0x40CE, 1 + compare VAR_FRONTIER_BATTLE_MODE, 1 call_if 1, BattleFrontier_BattleTowerLobby_EventScript_23F21B - compare VAR_0x40CE, 2 + compare VAR_FRONTIER_BATTLE_MODE, 2 call_if 1, BattleFrontier_BattleTowerLobby_EventScript_23F221 - compare VAR_0x40CE, 3 + compare VAR_FRONTIER_BATTLE_MODE, 3 call_if 1, BattleFrontier_BattleTowerLobby_EventScript_23F227 return @@ -861,13 +861,13 @@ BattleFrontier_BattleTowerLobby_EventScript_23F227:: @ 823F227 return BattleFrontier_BattleTowerLobby_EventScript_23F22D:: @ 823F22D - compare VAR_0x40CE, 0 + compare VAR_FRONTIER_BATTLE_MODE, 0 call_if 1, BattleFrontier_BattleTowerLobby_EventScript_23F25A - compare VAR_0x40CE, 1 + compare VAR_FRONTIER_BATTLE_MODE, 1 call_if 1, BattleFrontier_BattleTowerLobby_EventScript_23F260 - compare VAR_0x40CE, 2 + compare VAR_FRONTIER_BATTLE_MODE, 2 call_if 1, BattleFrontier_BattleTowerLobby_EventScript_23F266 - compare VAR_0x40CE, 3 + compare VAR_FRONTIER_BATTLE_MODE, 3 call_if 1, BattleFrontier_BattleTowerLobby_EventScript_23F26C return @@ -888,13 +888,13 @@ BattleFrontier_BattleTowerLobby_EventScript_23F26C:: @ 823F26C return BattleFrontier_BattleTowerLobby_EventScript_23F272:: @ 823F272 - compare VAR_0x40CE, 0 + compare VAR_FRONTIER_BATTLE_MODE, 0 call_if 1, BattleFrontier_BattleTowerLobby_EventScript_23F29F - compare VAR_0x40CE, 1 + compare VAR_FRONTIER_BATTLE_MODE, 1 call_if 1, BattleFrontier_BattleTowerLobby_EventScript_23F2A5 - compare VAR_0x40CE, 2 + compare VAR_FRONTIER_BATTLE_MODE, 2 call_if 1, BattleFrontier_BattleTowerLobby_EventScript_23F2AB - compare VAR_0x40CE, 3 + compare VAR_FRONTIER_BATTLE_MODE, 3 call_if 1, BattleFrontier_BattleTowerLobby_EventScript_23F2B1 return diff --git a/data/maps/BattleFrontier_ScottsHouse/scripts.inc b/data/maps/BattleFrontier_ScottsHouse/scripts.inc index 5be72b9b5b..da73da3547 100644 --- a/data/maps/BattleFrontier_ScottsHouse/scripts.inc +++ b/data/maps/BattleFrontier_ScottsHouse/scripts.inc @@ -110,7 +110,7 @@ BattleFrontier_ScottsHouse_EventScript_263811:: @ 8263811 end BattleFrontier_ScottsHouse_EventScript_26381B:: @ 826381B - setvar VAR_0x40CE, 0 + setvar VAR_FRONTIER_BATTLE_MODE, 0 setvar VAR_0x8004, 2 setvar VAR_0x8005, 1 setvar VAR_0x8006, 0 @@ -153,7 +153,7 @@ BattleFrontier_ScottsHouse_EventScript_2638AA:: @ 82638AA end BattleFrontier_ScottsHouse_EventScript_2638B4:: @ 82638B4 - setvar VAR_0x40CE, 0 + setvar VAR_FRONTIER_BATTLE_MODE, 0 setvar VAR_0x8004, 2 setvar VAR_0x8005, 1 setvar VAR_0x8006, 0 diff --git a/data/maps/FallarborTown_BattleTentLobby/scripts.inc b/data/maps/FallarborTown_BattleTentLobby/scripts.inc index 00efa5394b..daf76cba2c 100644 --- a/data/maps/FallarborTown_BattleTentLobby/scripts.inc +++ b/data/maps/FallarborTown_BattleTentLobby/scripts.inc @@ -149,7 +149,7 @@ FallarborTown_BattleTentLobby_EventScript_200021:: @ 8200021 FallarborTown_BattleTentLobby_EventScript_20005D:: @ 820005D setvar VAR_FRONTIER_FACILITY, 3 - setvar VAR_0x40CE, 0 + setvar VAR_FRONTIER_BATTLE_MODE, 0 setvar VAR_RESULT, 2 setvar VAR_0x8004, 15 special sub_81A1780 diff --git a/data/maps/SlateportCity_BattleTentLobby/scripts.inc b/data/maps/SlateportCity_BattleTentLobby/scripts.inc index fc66d7387e..76b12e31e4 100644 --- a/data/maps/SlateportCity_BattleTentLobby/scripts.inc +++ b/data/maps/SlateportCity_BattleTentLobby/scripts.inc @@ -137,7 +137,7 @@ SlateportCity_BattleTentLobby_EventScript_2088CA:: @ 82088CA SlateportCity_BattleTentLobby_EventScript_208906:: @ 8208906 setvar VAR_FRONTIER_FACILITY, 4 - setvar VAR_0x40CE, 0 + setvar VAR_FRONTIER_BATTLE_MODE, 0 setvar VAR_0x8004, 2 setvar VAR_0x8005, 1 setvar VAR_0x8006, 2 diff --git a/data/maps/VerdanturfTown_BattleTentLobby/scripts.inc b/data/maps/VerdanturfTown_BattleTentLobby/scripts.inc index 26f0680a0d..a4cfc20c29 100644 --- a/data/maps/VerdanturfTown_BattleTentLobby/scripts.inc +++ b/data/maps/VerdanturfTown_BattleTentLobby/scripts.inc @@ -150,7 +150,7 @@ VerdanturfTown_BattleTentLobby_EventScript_201893:: @ 8201893 VerdanturfTown_BattleTentLobby_EventScript_2018CF:: @ 82018CF setvar VAR_FRONTIER_FACILITY, 2 - setvar VAR_0x40CE, 0 + setvar VAR_FRONTIER_BATTLE_MODE, 0 setvar VAR_RESULT, 2 setvar VAR_0x8004, 15 special sub_81A1780 diff --git a/data/specials.inc b/data/specials.inc index 9cc3d41eab..5d31c425f8 100644 --- a/data/specials.inc +++ b/data/specials.inc @@ -244,7 +244,7 @@ gSpecials:: @ 81DBA64 def_special GetLeadMonFriendshipScore def_special sub_81A1780 def_special sub_8161F74 - def_special sub_818E9AC + def_special CallBattleDomeFunction def_special sub_8195960 def_special sub_8165360 def_special sub_8163AC4 diff --git a/include/battle_dome.h b/include/battle_dome.h new file mode 100644 index 0000000000..d05b086897 --- /dev/null +++ b/include/battle_dome.h @@ -0,0 +1,9 @@ +#ifndef GUARD_BATTLE_DOME_H +#define GUARD_BATTLE_DOME_H + +extern u32 gUnknown_0203CD70; + +s32 GetTrainerMonCountInBits(u16 tournamentTrainerId); +s32 TrainerIdToDomeTournamentId(u16 trainerId); + +#endif // GUARD_BATTLE_DOME_H diff --git a/include/battle_frontier_1.h b/include/battle_frontier_1.h deleted file mode 100644 index b9c633efcf..0000000000 --- a/include/battle_frontier_1.h +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef GUARD_BATTLE_FRONTIER_1_H -#define GUARD_BATTLE_FRONTIER_1_H - -bool32 sub_8196094(void); -void sub_8197080(u8 *); -void sub_8196080(const u8 *str); - -#endif // GUARD_BATTLE_FRONTIER_1_H diff --git a/include/bg.h b/include/bg.h index ea84c15734..f2d4e79482 100644 --- a/include/bg.h +++ b/include/bg.h @@ -69,7 +69,7 @@ void* GetBgTilemapBuffer(u8 bg); void CopyToBgTilemapBuffer(u8 bg, const void *src, u16 mode, u16 destOffset); void CopyBgTilemapBufferToVram(u8 bg); void CopyToBgTilemapBufferRect(u8 bg, const void* src, u8 destX, u8 destY, u8 width, u8 height); -void CopyToBgTilemapBufferRect_ChangePalette(u8 bg, void *src, u8 destX, u8 destY, u8 rectWidth, u8 rectHeight, u8 palette); +void CopyToBgTilemapBufferRect_ChangePalette(u8 bg, const void *src, u8 destX, u8 destY, u8 rectWidth, u8 rectHeight, u8 palette); void CopyRectToBgTilemapBufferRect(u8 bg, const void *src, u8 srcX, u8 srcY, u8 srcWidth, u8 srcHeight, u8 destX, u8 destY, u8 rectWidth, u8 rectHeight, u8 palette1, u16 tileOffset, u16 palette2); void FillBgTilemapBufferRect_Palette0(u8 bg, u16 tileNum, u8 x, u8 y, u8 width, u8 height); void FillBgTilemapBufferRect(u8 bg, u16 tileNum, u8 x, u8 y, u8 width, u8 height, u8 palette); diff --git a/include/constants/battle_frontier.h b/include/constants/battle_frontier.h index 4145805c44..fddcdc8fe2 100644 --- a/include/constants/battle_frontier.h +++ b/include/constants/battle_frontier.h @@ -10,4 +10,14 @@ #define FRONTIER_FACILITY_PIKE 5 #define FRONTIER_FACILITY_PYRAMID 6 +// Battle Frontier lvl modes. +#define FRONTIER_LVL_50 0 +#define FRONTIER_LVL_OPEN 1 + +// Battle Frontier battle modes. +#define FRONTIER_MODE_SINGLES 0 +#define FRONTIER_MODE_DOUBLES 1 +#define FRONTIER_MODE_MULTIS 2 +#define FRONTIER_MODE_LINK_MULTIS 3 + #endif // GUARD_CONSTANTS_BATTLE_FRONTIER_H diff --git a/include/constants/vars.h b/include/constants/vars.h index e2c59b4fb2..9854ec5a2b 100644 --- a/include/constants/vars.h +++ b/include/constants/vars.h @@ -222,7 +222,7 @@ #define VAR_0x40CB 0x40CB #define VAR_0x40CC 0x40CC #define VAR_0x40CD 0x40CD -#define VAR_0x40CE 0x40CE +#define VAR_FRONTIER_BATTLE_MODE 0x40CE #define VAR_FRONTIER_FACILITY 0x40CF #define VAR_0x40D0 0x40D0 #define VAR_0x40D1 0x40D1 diff --git a/include/global.h b/include/global.h index d3abb82699..bb843bddd8 100644 --- a/include/global.h +++ b/include/global.h @@ -362,7 +362,7 @@ struct BattleFrontier /*0xC14*/ u16 ecwords_C14[6]; /*0xC20*/ u8 filler_C20[0x88]; /*0xCA8*/ u8 field_CA8; - /*0xCA9*/ u8 chosenLvl:2; // 0x1, 0x2 -> 0x3 + /*0xCA9*/ u8 lvlMode:2; // 0x1, 0x2 -> 0x3 /*0xCA9*/ u8 field_CA9_a:1; // 0x4 /*0xCA9*/ u8 field_CA9_b:1; // 0x8 /*0xCA9*/ u8 field_CA9_c:1; // 0x10 diff --git a/ld_script.txt b/ld_script.txt index 0eee2e8cef..2c4dc6609e 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -242,7 +242,7 @@ SECTIONS { src/battle_controller_recorded_player.o(.text); src/trainer_pokemon_sprites.o(.text); src/lilycove_lady.o(.text); - src/battle_frontier_1.o(.text); + src/battle_dome.o(.text); asm/battle_frontier_1.o(.text); src/menu.o(.text); asm/battle_frontier_2.o(.text); @@ -522,7 +522,7 @@ SECTIONS { src/battle_controller_recorded_player.o(.rodata); src/trainer_pokemon_sprites.o(.rodata); src/lilycove_lady.o(.rodata); - src/battle_frontier_1.o(.rodata); + src/battle_dome.o(.rodata); data/battle_frontier_1.o(.rodata); src/menu.o(.rodata); data/battle_frontier_2.o(.rodata); diff --git a/src/battle_controller_player.c b/src/battle_controller_player.c index 6ab19e368c..ffe8936a09 100644 --- a/src/battle_controller_player.c +++ b/src/battle_controller_player.c @@ -31,13 +31,13 @@ #include "item_use.h" #include "recorded_battle.h" #include "party_menu.h" +#include "battle_dome.h" extern u8 gUnknown_0203CEE8; extern u8 gUnknown_0203CEE9; extern u8 gUnknown_0203CF00[]; extern u16 gBattle_BG0_X; extern u16 gBattle_BG0_Y; -extern s32 gUnknown_0203CD70; extern struct UnusedControllerStruct gUnknown_02022D0C; extern struct MusicPlayerInfo gMPlayInfo_BGM; extern struct SpriteTemplate gMultiuseSpriteTemplate; diff --git a/src/battle_frontier_1.c b/src/battle_dome.c similarity index 87% rename from src/battle_frontier_1.c rename to src/battle_dome.c index 1ac84962f5..058d253ab5 100644 --- a/src/battle_frontier_1.c +++ b/src/battle_dome.c @@ -1,7 +1,7 @@ #include "global.h" +#include "battle_dome.h" #include "battle.h" #include "battle_setup.h" -#include "battle_frontier_1.h" #include "battle_tower.h" #include "battle_message.h" #include "event_data.h" @@ -30,6 +30,7 @@ #include "constants/trainers.h" #include "constants/abilities.h" #include "constants/songs.h" +#include "constants/battle_frontier.h" #define DOME_ROUND1 0 #define DOME_ROUND2 1 @@ -47,19 +48,25 @@ struct FacilityMon u8 nature; }; -struct Unknown_0203CD78_Struct +struct BattleDomeStruct { - u8 arr[16]; + u8 arr[DOME_TOURNAMENT_TRAINERS_COUNT]; u8 unk_10; u8 unk_11[3]; }; +struct UnkStruct_860DD10 +{ + u8 x; + u8 y; + u16 src; +}; + extern void sub_81B8558(void); extern u32 sub_81A39C4(void); extern u16 sub_8162548(u8, u8); extern u16 RandomizeFacilityTrainerMonId(u16); extern u8 GetFrontierEnemyMonLevel(void); -extern void CopyDomeTrainerName(u8 *dst, u16 trainerId); extern u16 sub_81A5060(u8 monId, u8 moveSlotId); extern u8 sub_81A50F0(u8, u8); extern u8 sub_81A50B0(u8); @@ -72,8 +79,6 @@ extern u8 GetFrontierOpponentClass(u16); extern void sub_80F94E8(void); extern u8 gUnknown_0203CEF8[]; -extern u32 gUnknown_0203CD70; -extern u32 gUnknown_0203CD74; extern u16 gBattle_BG0_X; extern u16 gBattle_BG0_Y; extern u16 gBattle_BG1_X; @@ -83,8 +88,6 @@ extern u16 gBattle_BG2_Y; extern u16 gBattle_BG3_X; extern u16 gBattle_BG3_Y; extern const struct FacilityMon *gFacilityTrainerMons; -extern struct Unknown_0203CD78_Struct *gUnknown_0203CD78; -extern u8 *gUnknown_0203CD7C; extern void (* const gUnknown_0860D090[])(void); extern const u32 gUnknown_0860D0EC[][2]; @@ -124,6 +127,15 @@ extern const u8 *const gBattleDomeWinStringsPointers[]; extern const u8 *const gBattleDomeMatchNumberPointers[]; extern const struct FacilityMon gBattleFrontierMons[]; extern const struct BattleFrontierTrainer gBattleFrontierTrainers[]; +extern const struct BgTemplate gUnknown_0860CE74[4]; +extern const struct WindowTemplate gUnknown_0860CE94[]; +extern const u8 gUnknown_0860D411[][2]; +extern const struct SpriteTemplate gUnknown_0860CFA8; +extern const struct SpriteTemplate gUnknown_0860D008; +extern const struct SpriteTemplate gUnknown_0860CFD8; +extern const struct ScanlineEffectParams gUnknown_0860CF44; +extern const struct UnkStruct_860DD10 *gUnknown_0860DD10[][4]; +extern const u8 gUnknown_0860DE10[][4]; // gfx extern const u8 gUnknown_08D83D50[]; @@ -142,42 +154,47 @@ extern const u8 gUnknown_08D83C3C[]; extern const u8 gTrainerClassNames[][0xD]; // This file's functions. -u8 GetDomeTrainerMonIvs(u16 trainerId); -void SwapDomeTrainers(s32 id1, s32 id2, u16 *statsArray); -void CalcDomeMonStats(u16 species, s32 level, s32 ivs, u8 evBits, u8 nature, s32 *stats); -void CreateDomeTrainerMons(u16 tournamentTrainerId); +static u8 GetDomeTrainerMonIvs(u16 trainerId); +static void SwapDomeTrainers(s32 id1, s32 id2, u16 *statsArray); +static void CalcDomeMonStats(u16 species, s32 level, s32 ivs, u8 evBits, u8 nature, s32 *stats); +static void CreateDomeTrainerMons(u16 tournamentTrainerId); +static s32 sub_818FCBC(u16 tournamentTrainerId, bool8 arg1); +static s32 sub_818FDB8(u16 tournamentTrainerId, bool8 arg1); +static s32 sub_818FFC0(s32 move, s32 species, s32 arg2); +static s32 sub_818FEB4(s32 *arr, bool8 arg1); +static void sub_8190400(u8 taskId); +static void sub_8190CD4(u8 taskId); +static u8 sub_819221C(u8 taskId); +void sub_8194D48(void); static s32 TrainerIdToTournamentId(u16 trainerId); -s32 GetTrainerMonCountInBits(u16 tournamentTrainerId); -s32 sub_818FCBC(u16 tournamentTrainerId, bool8 arg1); -s32 sub_818FDB8(u16 tournamentTrainerId, bool8 arg1); -s32 sub_818FFC0(s32 move, s32 species, s32 arg2); -s32 sub_818FEB4(s32 *arr, bool8 arg1); -u16 TrainerIdOfPlayerOpponent(void); -void sub_8190400(u8 taskId); -void sub_8190CD4(u8 taskId); -void sub_8194220(u8 taskId); -void sub_8194950(u8 taskId); +static u16 TrainerIdOfPlayerOpponent(void); +static void sub_8194220(u8 taskId); +static void sub_8194950(u8 taskId); static void CB2_BattleDome(void); static void VblankCb0_BattleDome(void); static void DisplayMatchInfoOnCard(u8 flags, u8 matchNo); static void DisplayTrainerInfoOnCard(u8 flags, u8 trainerTournamentId); -u8 sub_819221C(u8 taskId); -s32 sub_8192F08(u8, u8*); -u8 GetDomeBrainTrainerPicId(void); -u8 GetDomeBrainTrainerClass(void); -void CopyDomeBrainTrainerName(u8 *dst); -void CopyDomeTrainerName(u8 *dst, u16 trainerId); -void sub_8194D48(void); -void sub_8194BEC(void); +static s32 sub_8192F08(u8, u8*); +static u8 GetDomeBrainTrainerPicId(void); +static u8 GetDomeBrainTrainerClass(void); +static void CopyDomeBrainTrainerName(u8 *dst); +static void CopyDomeTrainerName(u8 *dst, u16 trainerId); +static void HblankCb_BattleDome(void); static void VblankCb1_BattleDome(void); -u8 sub_8193BDC(u8 taskId); -void DecideRoundWinners(u8 roundId); -u8 sub_81953E8(u8 tournamentId, u8); -void sub_81948EC(u8, u8); +static u8 sub_8193BDC(u8 taskId); +static void DecideRoundWinners(u8 roundId); +static u8 sub_81953E8(u8 tournamentId, u8); +static void sub_81948EC(u8, u8); -// const rom data +// EWRAM variables. +EWRAM_DATA u32 gUnknown_0203CD70 = 0; +static EWRAM_DATA u32 gUnknown_0203CD74 = 0; +static EWRAM_DATA struct BattleDomeStruct *sBattleDomeStruct = {0}; +static EWRAM_DATA u8 *sTilemapBuffer = NULL; + +// Const rom data. ALIGNED(4) -static const u8 sMovePoints[MOVES_COUNT][DOME_TOURNAMENT_TRAINERS_COUNT] = +static const u8 sMovePointsForDomeTrainers[MOVES_COUNT][DOME_TOURNAMENT_TRAINERS_COUNT] = { [MOVE_NONE] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, [MOVE_POUND] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0}, @@ -537,15 +554,15 @@ static const u8 sMovePoints[MOVES_COUNT][DOME_TOURNAMENT_TRAINERS_COUNT] = }; // code -void sub_818E9AC(void) +void CallBattleDomeFunction(void) { gUnknown_0860D090[gSpecialVar_0x8004](); } void sub_818E9CC(void) { - u32 lvlMode = gSaveBlock2Ptr->frontier.chosenLvl; - u32 battleMode = VarGet(VAR_0x40CE); + u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode; + u32 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE); gSaveBlock2Ptr->frontier.field_CA8 = 0; gSaveBlock2Ptr->frontier.field_CB2 = 0; @@ -560,8 +577,8 @@ void sub_818E9CC(void) void sub_818EA84(void) { - u32 lvlMode = gSaveBlock2Ptr->frontier.chosenLvl; - u32 battleMode = VarGet(VAR_0x40CE); + u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode; + u32 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE); switch (gSpecialVar_0x8005) { @@ -584,7 +601,7 @@ void sub_818EA84(void) gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_D08_3; break; case 6: - if (VarGet(VAR_0x40CE) == 1) + if (VarGet(VAR_FRONTIER_BATTLE_MODE) == FRONTIER_MODE_DOUBLES) { if (lvlMode) gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_D08_5; @@ -600,7 +617,7 @@ void sub_818EA84(void) } break; case 7: - if (VarGet(VAR_0x40CE) == 1) + if (VarGet(VAR_FRONTIER_BATTLE_MODE) == FRONTIER_MODE_DOUBLES) { if (lvlMode) gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_D08_7; @@ -628,8 +645,8 @@ void sub_818EA84(void) void sub_818ED28(void) { - u32 lvlMode = gSaveBlock2Ptr->frontier.chosenLvl; - u32 battleMode = VarGet(VAR_0x40CE); + u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode; + u32 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE); switch (gSpecialVar_0x8005) { @@ -655,7 +672,7 @@ void sub_818ED28(void) gSaveBlock2Ptr->frontier.field_D08_3 = gSpecialVar_0x8006; break; case 6: - if (VarGet(VAR_0x40CE) == 1) + if (VarGet(VAR_FRONTIER_BATTLE_MODE) == FRONTIER_MODE_DOUBLES) { if (lvlMode) gSaveBlock2Ptr->frontier.field_D08_5 = gSpecialVar_0x8006; @@ -671,7 +688,7 @@ void sub_818ED28(void) } break; case 7: - if (VarGet(VAR_0x40CE) == 1) + if (VarGet(VAR_FRONTIER_BATTLE_MODE) == FRONTIER_MODE_DOUBLES) { if (lvlMode) gSaveBlock2Ptr->frontier.field_D08_7 = gSpecialVar_0x8006; @@ -710,8 +727,8 @@ void InitDomeTrainers(void) statSums = AllocZeroed(sizeof(u16) * DOME_TOURNAMENT_TRAINERS_COUNT); statValues = AllocZeroed(sizeof(s32) * 6); - gSaveBlock2Ptr->frontier.field_D0A = gSaveBlock2Ptr->frontier.chosenLvl + 1; - gSaveBlock2Ptr->frontier.field_D0B = VarGet(VAR_0x40CE) + 1; + gSaveBlock2Ptr->frontier.field_D0A = gSaveBlock2Ptr->frontier.lvlMode + 1; + gSaveBlock2Ptr->frontier.field_D0B = VarGet(VAR_FRONTIER_BATTLE_MODE) + 1; gSaveBlock2Ptr->frontier.domeTrainers[0].trainerId = TRAINER_PLAYER; gSaveBlock2Ptr->frontier.domeTrainers[0].isEliminated = 0; gSaveBlock2Ptr->frontier.domeTrainers[0].eliminatedAt = 0; @@ -895,7 +912,7 @@ void InitDomeTrainers(void) stats[statIndex] = (u8) ModifyStatByNature(nature, stats[statIndex], statIndex); \ } -void CalcDomeMonStats(u16 species, s32 level, s32 ivs, u8 evBits, u8 nature, s32 *stats) +static void CalcDomeMonStats(u16 species, s32 level, s32 ivs, u8 evBits, u8 nature, s32 *stats) { s32 i, count; u8 bits; @@ -941,7 +958,7 @@ void CalcDomeMonStats(u16 species, s32 level, s32 ivs, u8 evBits, u8 nature, s32 y = temp; \ } -void SwapDomeTrainers(s32 id1, s32 id2, u16 *statsArray) +static void SwapDomeTrainers(s32 id1, s32 id2, u16 *statsArray) { s32 i; u16 temp; @@ -973,7 +990,7 @@ void sub_818FA20(void) CreateDomeTrainerMons(TrainerIdToTournamentId(gTrainerBattleOpponent_A)); } -void CreateDomeMon(u8 monPartyId, u16 tournamentTrainerId, u8 tournamentMonId, u32 otId) +static void CreateDomeMon(u8 monPartyId, u16 tournamentTrainerId, u8 tournamentMonId, u32 otId) { s32 i; u8 happiness = 0xFF; @@ -1000,7 +1017,7 @@ void CreateDomeMon(u8 monPartyId, u16 tournamentTrainerId, u8 tournamentMonId, u &gBattleFrontierHeldItems[gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonId[tournamentTrainerId][tournamentMonId]].itemTableId]); } -void CreateDomeTrainerMons(u16 tournamentTrainerId) +static void CreateDomeTrainerMons(u16 tournamentTrainerId) { u8 monsCount = 0; u32 otId = 0; @@ -1054,7 +1071,7 @@ s32 GetTrainerMonCountInBits(u16 tournamentTrainerId) return bits; } -s32 sub_818FCBC(u16 tournamentTrainerId, bool8 arg1) +static s32 sub_818FCBC(u16 tournamentTrainerId, bool8 arg1) { s32 i, moveId, playerMonId; s32 array[3]; @@ -1082,7 +1099,7 @@ s32 sub_818FCBC(u16 tournamentTrainerId, bool8 arg1) return sub_818FEB4(array, arg1); } -s32 sub_818FDB8(u16 tournamentTrainerId, bool8 arg1) +static s32 sub_818FDB8(u16 tournamentTrainerId, bool8 arg1) { s32 i, moveId, playerMonId; s32 array[3]; @@ -1110,7 +1127,7 @@ s32 sub_818FDB8(u16 tournamentTrainerId, bool8 arg1) return sub_818FEB4(array, arg1); } -s32 sub_818FEB4(s32 *arr, bool8 arg1) +static s32 sub_818FEB4(s32 *arr, bool8 arg1) { s32 i, j; s32 bits = 0; @@ -1178,7 +1195,7 @@ s32 sub_818FEB4(s32 *arr, bool8 arg1) // Functionally equivalent, while loop is impossible to match. #ifdef NONMATCHING -s32 sub_818FFC0(s32 move, s32 species, s32 arg2) +static s32 sub_818FFC0(s32 move, s32 species, s32 arg2) { s32 type1, type2, ability, moveType; s32 i = 0; @@ -1297,7 +1314,7 @@ s32 sub_818FFC0(s32 move, s32 species, s32 arg2) } #else NAKED -s32 sub_818FFC0(s32 move, s32 species, s32 arg2) +static s32 sub_818FFC0(s32 move, s32 species, s32 arg2) { asm_unified("\n\ push {r4-r7,lr}\n\ @@ -1537,7 +1554,7 @@ _08190156:\n\ } #endif // NONMATCHING -u8 GetDomeTrainerMonIvs(u16 trainerId) +static u8 GetDomeTrainerMonIvs(u16 trainerId) { u8 fixedIv; if (trainerId <= 99) @@ -1560,7 +1577,7 @@ u8 GetDomeTrainerMonIvs(u16 trainerId) return fixedIv; } -s32 TournamentIdOfOpponent(s32 roundId, s32 trainerId) +static s32 TournamentIdOfOpponent(s32 roundId, s32 trainerId) { s32 i, j, val; @@ -1602,7 +1619,7 @@ void sub_8190298(void) gTrainerBattleOpponent_A = TrainerIdOfPlayerOpponent(); } -u16 TrainerIdOfPlayerOpponent(void) +static u16 TrainerIdOfPlayerOpponent(void) { return gSaveBlock2Ptr->frontier.domeTrainers[TournamentIdOfOpponent(gSaveBlock2Ptr->frontier.field_CB2, TRAINER_PLAYER)].trainerId; } @@ -1622,8 +1639,8 @@ void sub_81902F8(void) void sub_819033C(void) { - u8 lvlMode = gSaveBlock2Ptr->frontier.chosenLvl; - u8 battleMode = VarGet(VAR_0x40CE); + u8 lvlMode = gSaveBlock2Ptr->frontier.lvlMode; + u8 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE); if (gSaveBlock2Ptr->frontier.field_D0C[battleMode][lvlMode] < 999) gSaveBlock2Ptr->frontier.field_D0C[battleMode][lvlMode]++; @@ -1645,7 +1662,7 @@ void ShowDomeOpponentInfo(void) SetMainCallback2(CB2_BattleDome); } -void sub_8190400(u8 taskId) +static void sub_8190400(u8 taskId) { s32 i; s32 r5 = gTasks[taskId].data[1]; @@ -1712,9 +1729,9 @@ void sub_8190400(u8 taskId) break; case 3: SetVBlankCallback(VblankCb0_BattleDome); - gUnknown_0203CD78 = AllocZeroed(sizeof(*gUnknown_0203CD78)); + sBattleDomeStruct = AllocZeroed(sizeof(*sBattleDomeStruct)); for (i = 0; i < DOME_TOURNAMENT_TRAINERS_COUNT; i++) - gUnknown_0203CD78->arr[i] |= 0xFF; + sBattleDomeStruct->arr[i] |= 0xFF; LoadMonIconPalettes(); i = CreateTask(sub_8190CD4, 0); gTasks[i].data[0] = 0; @@ -1724,7 +1741,7 @@ void sub_8190400(u8 taskId) if (r9 == 2) { DisplayMatchInfoOnCard(0, r5); - gUnknown_0203CD78->unk_10 = 1; + sBattleDomeStruct->unk_10 = 1; } else { @@ -1776,7 +1793,7 @@ static void SpriteCb_TrainerIconCardScrollUp(struct Sprite *sprite) { if (sprite->pos1.y >= 192) { - gUnknown_0203CD78->arr[sprite->data[2]] = 0xFF; + sBattleDomeStruct->arr[sprite->data[2]] = 0xFF; FreeAndDestroyTrainerPicSprite(sprite->data[3]); } } @@ -1796,7 +1813,7 @@ static void SpriteCb_TrainerIconCardScrollDown(struct Sprite *sprite) { if (sprite->pos1.y <= -32) { - gUnknown_0203CD78->arr[sprite->data[2]] = 0xFF; + sBattleDomeStruct->arr[sprite->data[2]] = 0xFF; FreeAndDestroyTrainerPicSprite(sprite->data[3]); } } @@ -1816,7 +1833,7 @@ static void SpriteCb_TrainerIconCardScrollLeft(struct Sprite *sprite) { if (sprite->pos1.x >= 272) { - gUnknown_0203CD78->arr[sprite->data[2]] = 0xFF; + sBattleDomeStruct->arr[sprite->data[2]] = 0xFF; FreeAndDestroyTrainerPicSprite(sprite->data[3]); } } @@ -1836,7 +1853,7 @@ static void SpriteCb_TrainerIconCardScrollRight(struct Sprite *sprite) { if (sprite->pos1.x <= -32) { - gUnknown_0203CD78->arr[sprite->data[2]] = 0xFF; + sBattleDomeStruct->arr[sprite->data[2]] = 0xFF; FreeAndDestroyTrainerPicSprite(sprite->data[3]); } } @@ -1866,7 +1883,7 @@ static void SpriteCb_MonIconCardScrollUp(struct Sprite *sprite) { if (sprite->pos1.y >= 176) { - gUnknown_0203CD78->arr[sprite->data[2]] = 0xFF; + sBattleDomeStruct->arr[sprite->data[2]] = 0xFF; sub_80D2EF8(sprite); } } @@ -1888,7 +1905,7 @@ static void SpriteCb_MonIconCardScrollDown(struct Sprite *sprite) { if (sprite->pos1.y <= -16) { - gUnknown_0203CD78->arr[sprite->data[2]] = 0xFF; + sBattleDomeStruct->arr[sprite->data[2]] = 0xFF; sub_80D2EF8(sprite); } } @@ -1910,7 +1927,7 @@ static void SpriteCb_MonIconCardScrollLeft(struct Sprite *sprite) { if (sprite->pos1.x >= 256) { - gUnknown_0203CD78->arr[sprite->data[2]] = 0xFF; + sBattleDomeStruct->arr[sprite->data[2]] = 0xFF; sub_80D2EF8(sprite); } } @@ -1932,7 +1949,7 @@ static void SpriteCb_MonIconCardScrollRight(struct Sprite *sprite) { if (sprite->pos1.x <= -16) { - gUnknown_0203CD78->arr[sprite->data[2]] = 0xFF; + sBattleDomeStruct->arr[sprite->data[2]] = 0xFF; sub_80D2EF8(sprite); } } @@ -1950,12 +1967,12 @@ void sub_8190B40(struct Sprite *sprite) if (sprite->data[1]) { if ((gSaveBlock2Ptr->frontier.domeTrainers[tournmanetTrainerId].isEliminated - && gUnknown_0203CD78->unk_10 - 1 < gSaveBlock2Ptr->frontier.domeTrainers[tournmanetTrainerId].eliminatedAt)) + && sBattleDomeStruct->unk_10 - 1 < gSaveBlock2Ptr->frontier.domeTrainers[tournmanetTrainerId].eliminatedAt)) { sprite->invisible = 0; } else if (!gSaveBlock2Ptr->frontier.domeTrainers[tournmanetTrainerId].isEliminated - && gUnknown_0203CD78->unk_10 - 1 < r12) + && sBattleDomeStruct->unk_10 - 1 < r12) { sprite->invisible = 0; } @@ -1967,7 +1984,7 @@ void sub_8190B40(struct Sprite *sprite) } else { - if (gUnknown_0203CD78->unk_10 != 0) + if (sBattleDomeStruct->unk_10 != 0) { sprite->invisible = 0; } @@ -1982,7 +1999,7 @@ void sub_8190B40(struct Sprite *sprite) { if (sprite->data[1]) { - if (gUnknown_0203CD78->unk_10 > 1) + if (sBattleDomeStruct->unk_10 > 1) { if (gTasks[taskId1].data[0] == 2) sprite->invisible = 1; @@ -1994,7 +2011,7 @@ void sub_8190B40(struct Sprite *sprite) } else { - if (gUnknown_0203CD78->unk_10 != 0) + if (sBattleDomeStruct->unk_10 != 0) { sprite->invisible = 0; } @@ -2013,7 +2030,7 @@ void sub_8190C6C(struct Sprite *sprite) if (gTasks[taskId1].data[3] == 1) { - if (gUnknown_0203CD78->unk_10 != 0) + if (sBattleDomeStruct->unk_10 != 0) { if (gTasks[taskId1].data[0] == 2) sprite->invisible = 1; @@ -2025,7 +2042,7 @@ void sub_8190C6C(struct Sprite *sprite) } else { - if (gUnknown_0203CD78->unk_10 != 1) + if (sBattleDomeStruct->unk_10 != 1) { if (gTasks[taskId1].data[0] == 2) sprite->invisible = 1; @@ -2037,7 +2054,7 @@ void sub_8190C6C(struct Sprite *sprite) } } -void sub_8190CD4(u8 taskId) +static void sub_8190CD4(u8 taskId) { s32 i; s32 windowId = 0; @@ -2108,7 +2125,7 @@ void sub_8190CD4(u8 taskId) if (i == 1) { - if (gUnknown_0203CD78->unk_10 == 0) + if (sBattleDomeStruct->unk_10 == 0) { gBattle_BG2_X = 0; gBattle_BG2_Y = 320; @@ -2121,27 +2138,27 @@ void sub_8190CD4(u8 taskId) gBattle_BG2_Y = 0; trainerTournamentId = gUnknown_0860D080[gTasks[taskId2].data[1]]; DisplayTrainerInfoOnCard(gTasks[taskId].data[2] | 0x10, trainerTournamentId); - gUnknown_0203CD78->unk_10 = 0; + sBattleDomeStruct->unk_10 = 0; } } else { - if (gUnknown_0203CD78->unk_10 == 0) + if (sBattleDomeStruct->unk_10 == 0) { matchNo = gTasks[taskId2].data[1] - 16; - sub_8192F08(matchNo, gUnknown_0203CD78->unk_11); + sub_8192F08(matchNo, sBattleDomeStruct->unk_11); gBattle_BG2_X = 0; gBattle_BG2_Y = 320; - trainerTournamentId = gUnknown_0203CD78->unk_11[0]; + trainerTournamentId = sBattleDomeStruct->unk_11[0]; DisplayTrainerInfoOnCard(gTasks[taskId].data[2] | 0x10, trainerTournamentId); } - else if (gUnknown_0203CD78->unk_10 == 2) + else if (sBattleDomeStruct->unk_10 == 2) { matchNo = gTasks[taskId2].data[1] - 16; - sub_8192F08(matchNo, gUnknown_0203CD78->unk_11); + sub_8192F08(matchNo, sBattleDomeStruct->unk_11); gBattle_BG2_X = 0; gBattle_BG2_Y = 320; - trainerTournamentId = gUnknown_0203CD78->unk_11[1]; + trainerTournamentId = sBattleDomeStruct->unk_11[1]; DisplayTrainerInfoOnCard(gTasks[taskId].data[2] | 0x10, trainerTournamentId); } else @@ -2157,23 +2174,23 @@ void sub_8190CD4(u8 taskId) { if (i < 2) { - if (gUnknown_0203CD78->arr[i] != 0xFF) + if (sBattleDomeStruct->arr[i] != 0xFF) { - gSprites[gUnknown_0203CD78->arr[i]].callback = SpriteCb_TrainerIconCardScrollUp; - gSprites[gUnknown_0203CD78->arr[i]].data[0] = gTasks[taskId].data[2] ^ 1; - gSprites[gUnknown_0203CD78->arr[i]].data[1] = 0; - gSprites[gUnknown_0203CD78->arr[i]].data[2] = i; - gSprites[gUnknown_0203CD78->arr[i]].data[3] = gUnknown_0203CD78->arr[i]; + gSprites[sBattleDomeStruct->arr[i]].callback = SpriteCb_TrainerIconCardScrollUp; + gSprites[sBattleDomeStruct->arr[i]].data[0] = gTasks[taskId].data[2] ^ 1; + gSprites[sBattleDomeStruct->arr[i]].data[1] = 0; + gSprites[sBattleDomeStruct->arr[i]].data[2] = i; + gSprites[sBattleDomeStruct->arr[i]].data[3] = sBattleDomeStruct->arr[i]; } } else { - if (gUnknown_0203CD78->arr[i] != 0xFF) + if (sBattleDomeStruct->arr[i] != 0xFF) { - gSprites[gUnknown_0203CD78->arr[i]].callback = SpriteCb_MonIconCardScrollUp; - gSprites[gUnknown_0203CD78->arr[i]].data[0] = gTasks[taskId].data[2] ^ 1; - gSprites[gUnknown_0203CD78->arr[i]].data[1] = 0; - gSprites[gUnknown_0203CD78->arr[i]].data[2] = i; + gSprites[sBattleDomeStruct->arr[i]].callback = SpriteCb_MonIconCardScrollUp; + gSprites[sBattleDomeStruct->arr[i]].data[0] = gTasks[taskId].data[2] ^ 1; + gSprites[sBattleDomeStruct->arr[i]].data[1] = 0; + gSprites[sBattleDomeStruct->arr[i]].data[2] = i; } } } @@ -2181,23 +2198,23 @@ void sub_8190CD4(u8 taskId) { if (i < 10) { - if (gUnknown_0203CD78->arr[i] != 0xFF) + if (sBattleDomeStruct->arr[i] != 0xFF) { - gSprites[gUnknown_0203CD78->arr[i]].callback = SpriteCb_TrainerIconCardScrollUp; - gSprites[gUnknown_0203CD78->arr[i]].data[0] = gTasks[taskId].data[2]; - gSprites[gUnknown_0203CD78->arr[i]].data[1] = 0; - gSprites[gUnknown_0203CD78->arr[i]].data[2] = i; - gSprites[gUnknown_0203CD78->arr[i]].data[3] = gUnknown_0203CD78->arr[i]; + gSprites[sBattleDomeStruct->arr[i]].callback = SpriteCb_TrainerIconCardScrollUp; + gSprites[sBattleDomeStruct->arr[i]].data[0] = gTasks[taskId].data[2]; + gSprites[sBattleDomeStruct->arr[i]].data[1] = 0; + gSprites[sBattleDomeStruct->arr[i]].data[2] = i; + gSprites[sBattleDomeStruct->arr[i]].data[3] = sBattleDomeStruct->arr[i]; } } else { - if (gUnknown_0203CD78->arr[i] != 0xFF) + if (sBattleDomeStruct->arr[i] != 0xFF) { - gSprites[gUnknown_0203CD78->arr[i]].callback = SpriteCb_MonIconCardScrollUp; - gSprites[gUnknown_0203CD78->arr[i]].data[0] = gTasks[taskId].data[2]; - gSprites[gUnknown_0203CD78->arr[i]].data[1] = 0; - gSprites[gUnknown_0203CD78->arr[i]].data[2] = i; + gSprites[sBattleDomeStruct->arr[i]].callback = SpriteCb_MonIconCardScrollUp; + gSprites[sBattleDomeStruct->arr[i]].data[0] = gTasks[taskId].data[2]; + gSprites[sBattleDomeStruct->arr[i]].data[1] = 0; + gSprites[sBattleDomeStruct->arr[i]].data[2] = i; } } } @@ -2224,7 +2241,7 @@ void sub_8190CD4(u8 taskId) if (i == 2) { - if (gUnknown_0203CD78->unk_10 == 0) + if (sBattleDomeStruct->unk_10 == 0) { gBattle_BG2_X = 0; gBattle_BG2_Y = 160; @@ -2237,27 +2254,27 @@ void sub_8190CD4(u8 taskId) gBattle_BG2_Y = 0; trainerTournamentId = gUnknown_0860D080[gTasks[taskId2].data[1]]; DisplayTrainerInfoOnCard(gTasks[taskId].data[2] | 4, trainerTournamentId); - gUnknown_0203CD78->unk_10 = 0; + sBattleDomeStruct->unk_10 = 0; } } else { - if (gUnknown_0203CD78->unk_10 == 0) + if (sBattleDomeStruct->unk_10 == 0) { matchNo = gTasks[taskId2].data[1] - 16; - sub_8192F08(matchNo, gUnknown_0203CD78->unk_11); + sub_8192F08(matchNo, sBattleDomeStruct->unk_11); gBattle_BG2_X = 0; gBattle_BG2_Y = 160; - trainerTournamentId = gUnknown_0203CD78->unk_11[0]; + trainerTournamentId = sBattleDomeStruct->unk_11[0]; DisplayTrainerInfoOnCard(gTasks[taskId].data[2] | 4, trainerTournamentId); } - else if (gUnknown_0203CD78->unk_10 == 2) + else if (sBattleDomeStruct->unk_10 == 2) { matchNo = gTasks[taskId2].data[1] - 16; - sub_8192F08(matchNo, gUnknown_0203CD78->unk_11); + sub_8192F08(matchNo, sBattleDomeStruct->unk_11); gBattle_BG2_X = 0; gBattle_BG2_Y = 160; - trainerTournamentId = gUnknown_0203CD78->unk_11[1]; + trainerTournamentId = sBattleDomeStruct->unk_11[1]; DisplayTrainerInfoOnCard(gTasks[taskId].data[2] | 4, trainerTournamentId); } else @@ -2273,23 +2290,23 @@ void sub_8190CD4(u8 taskId) { if (i < 2) { - if (gUnknown_0203CD78->arr[i] != 0xFF) + if (sBattleDomeStruct->arr[i] != 0xFF) { - gSprites[gUnknown_0203CD78->arr[i]].callback = SpriteCb_TrainerIconCardScrollDown; - gSprites[gUnknown_0203CD78->arr[i]].data[0] = gTasks[taskId].data[2] ^ 1; - gSprites[gUnknown_0203CD78->arr[i]].data[1] = 0; - gSprites[gUnknown_0203CD78->arr[i]].data[2] = i; - gSprites[gUnknown_0203CD78->arr[i]].data[3] = gUnknown_0203CD78->arr[i]; + gSprites[sBattleDomeStruct->arr[i]].callback = SpriteCb_TrainerIconCardScrollDown; + gSprites[sBattleDomeStruct->arr[i]].data[0] = gTasks[taskId].data[2] ^ 1; + gSprites[sBattleDomeStruct->arr[i]].data[1] = 0; + gSprites[sBattleDomeStruct->arr[i]].data[2] = i; + gSprites[sBattleDomeStruct->arr[i]].data[3] = sBattleDomeStruct->arr[i]; } } else { - if (gUnknown_0203CD78->arr[i] != 0xFF) + if (sBattleDomeStruct->arr[i] != 0xFF) { - gSprites[gUnknown_0203CD78->arr[i]].callback = SpriteCb_MonIconCardScrollDown; - gSprites[gUnknown_0203CD78->arr[i]].data[0] = gTasks[taskId].data[2] ^ 1; - gSprites[gUnknown_0203CD78->arr[i]].data[1] = 0; - gSprites[gUnknown_0203CD78->arr[i]].data[2] = i; + gSprites[sBattleDomeStruct->arr[i]].callback = SpriteCb_MonIconCardScrollDown; + gSprites[sBattleDomeStruct->arr[i]].data[0] = gTasks[taskId].data[2] ^ 1; + gSprites[sBattleDomeStruct->arr[i]].data[1] = 0; + gSprites[sBattleDomeStruct->arr[i]].data[2] = i; } } } @@ -2297,23 +2314,23 @@ void sub_8190CD4(u8 taskId) { if (i < 10) { - if (gUnknown_0203CD78->arr[i] != 0xFF) + if (sBattleDomeStruct->arr[i] != 0xFF) { - gSprites[gUnknown_0203CD78->arr[i]].callback = SpriteCb_TrainerIconCardScrollDown; - gSprites[gUnknown_0203CD78->arr[i]].data[0] = gTasks[taskId].data[2]; - gSprites[gUnknown_0203CD78->arr[i]].data[1] = 0; - gSprites[gUnknown_0203CD78->arr[i]].data[2] = i; - gSprites[gUnknown_0203CD78->arr[i]].data[3] = gUnknown_0203CD78->arr[i]; + gSprites[sBattleDomeStruct->arr[i]].callback = SpriteCb_TrainerIconCardScrollDown; + gSprites[sBattleDomeStruct->arr[i]].data[0] = gTasks[taskId].data[2]; + gSprites[sBattleDomeStruct->arr[i]].data[1] = 0; + gSprites[sBattleDomeStruct->arr[i]].data[2] = i; + gSprites[sBattleDomeStruct->arr[i]].data[3] = sBattleDomeStruct->arr[i]; } } else { - if (gUnknown_0203CD78->arr[i] != 0xFF) + if (sBattleDomeStruct->arr[i] != 0xFF) { - gSprites[gUnknown_0203CD78->arr[i]].callback = SpriteCb_MonIconCardScrollDown; - gSprites[gUnknown_0203CD78->arr[i]].data[0] = gTasks[taskId].data[2]; - gSprites[gUnknown_0203CD78->arr[i]].data[1] = 0; - gSprites[gUnknown_0203CD78->arr[i]].data[2] = i; + gSprites[sBattleDomeStruct->arr[i]].callback = SpriteCb_MonIconCardScrollDown; + gSprites[sBattleDomeStruct->arr[i]].data[0] = gTasks[taskId].data[2]; + gSprites[sBattleDomeStruct->arr[i]].data[1] = 0; + gSprites[sBattleDomeStruct->arr[i]].data[2] = i; } } } @@ -2337,7 +2354,7 @@ void sub_8190CD4(u8 taskId) gBattle_BG1_Y = 0; } - if (gUnknown_0203CD78->unk_10 == 0) + if (sBattleDomeStruct->unk_10 == 0) { gBattle_BG2_X = 256; gBattle_BG2_Y = 160; @@ -2348,7 +2365,7 @@ void sub_8190CD4(u8 taskId) { gBattle_BG2_X = 256; gBattle_BG2_Y = 0; - matchNo = gUnknown_0860D15C[(gTasks[taskId2].data[1] * 4) + (gUnknown_0203CD78->unk_10 - 1)]; + matchNo = gUnknown_0860D15C[(gTasks[taskId2].data[1] * 4) + (sBattleDomeStruct->unk_10 - 1)]; DisplayMatchInfoOnCard(gTasks[taskId].data[2] | 8, matchNo); } @@ -2356,23 +2373,23 @@ void sub_8190CD4(u8 taskId) { if (i < 2) { - if (gUnknown_0203CD78->arr[i] != 0xFF) + if (sBattleDomeStruct->arr[i] != 0xFF) { - gSprites[gUnknown_0203CD78->arr[i]].callback = SpriteCb_TrainerIconCardScrollLeft; - gSprites[gUnknown_0203CD78->arr[i]].data[0] = gTasks[taskId].data[2] ^ 1; - gSprites[gUnknown_0203CD78->arr[i]].data[1] = 0; - gSprites[gUnknown_0203CD78->arr[i]].data[2] = i; - gSprites[gUnknown_0203CD78->arr[i]].data[3] = gUnknown_0203CD78->arr[i]; + gSprites[sBattleDomeStruct->arr[i]].callback = SpriteCb_TrainerIconCardScrollLeft; + gSprites[sBattleDomeStruct->arr[i]].data[0] = gTasks[taskId].data[2] ^ 1; + gSprites[sBattleDomeStruct->arr[i]].data[1] = 0; + gSprites[sBattleDomeStruct->arr[i]].data[2] = i; + gSprites[sBattleDomeStruct->arr[i]].data[3] = sBattleDomeStruct->arr[i]; } } else { - if (gUnknown_0203CD78->arr[i] != 0xFF) + if (sBattleDomeStruct->arr[i] != 0xFF) { - gSprites[gUnknown_0203CD78->arr[i]].callback = SpriteCb_MonIconCardScrollLeft; - gSprites[gUnknown_0203CD78->arr[i]].data[0] = gTasks[taskId].data[2] ^ 1; - gSprites[gUnknown_0203CD78->arr[i]].data[1] = 0; - gSprites[gUnknown_0203CD78->arr[i]].data[2] = i; + gSprites[sBattleDomeStruct->arr[i]].callback = SpriteCb_MonIconCardScrollLeft; + gSprites[sBattleDomeStruct->arr[i]].data[0] = gTasks[taskId].data[2] ^ 1; + gSprites[sBattleDomeStruct->arr[i]].data[1] = 0; + gSprites[sBattleDomeStruct->arr[i]].data[2] = i; } } } @@ -2380,23 +2397,23 @@ void sub_8190CD4(u8 taskId) { if (i < 10) { - if (gUnknown_0203CD78->arr[i] != 0xFF) + if (sBattleDomeStruct->arr[i] != 0xFF) { - gSprites[gUnknown_0203CD78->arr[i]].callback = SpriteCb_TrainerIconCardScrollLeft; - gSprites[gUnknown_0203CD78->arr[i]].data[0] = gTasks[taskId].data[2]; - gSprites[gUnknown_0203CD78->arr[i]].data[1] = 0; - gSprites[gUnknown_0203CD78->arr[i]].data[2] = i; - gSprites[gUnknown_0203CD78->arr[i]].data[3] = gUnknown_0203CD78->arr[i]; + gSprites[sBattleDomeStruct->arr[i]].callback = SpriteCb_TrainerIconCardScrollLeft; + gSprites[sBattleDomeStruct->arr[i]].data[0] = gTasks[taskId].data[2]; + gSprites[sBattleDomeStruct->arr[i]].data[1] = 0; + gSprites[sBattleDomeStruct->arr[i]].data[2] = i; + gSprites[sBattleDomeStruct->arr[i]].data[3] = sBattleDomeStruct->arr[i]; } } else { - if (gUnknown_0203CD78->arr[i] != 0xFF) + if (sBattleDomeStruct->arr[i] != 0xFF) { - gSprites[gUnknown_0203CD78->arr[i]].callback = SpriteCb_MonIconCardScrollLeft; - gSprites[gUnknown_0203CD78->arr[i]].data[0] = gTasks[taskId].data[2]; - gSprites[gUnknown_0203CD78->arr[i]].data[1] = 0; - gSprites[gUnknown_0203CD78->arr[i]].data[2] = i; + gSprites[sBattleDomeStruct->arr[i]].callback = SpriteCb_MonIconCardScrollLeft; + gSprites[sBattleDomeStruct->arr[i]].data[0] = gTasks[taskId].data[2]; + gSprites[sBattleDomeStruct->arr[i]].data[1] = 0; + gSprites[sBattleDomeStruct->arr[i]].data[2] = i; } } } @@ -2420,11 +2437,11 @@ void sub_8190CD4(u8 taskId) gBattle_BG1_Y = 0; } - if (gUnknown_0203CD78->unk_10 == 0) + if (sBattleDomeStruct->unk_10 == 0) { gBattle_BG2_X = 256; gBattle_BG2_Y = 160; - trainerTournamentId = gUnknown_0203CD78->unk_11[0]; + trainerTournamentId = sBattleDomeStruct->unk_11[0]; DisplayTrainerInfoOnCard(gTasks[taskId].data[2] | 8, trainerTournamentId); } else @@ -2439,23 +2456,23 @@ void sub_8190CD4(u8 taskId) { if (i < 2) { - if (gUnknown_0203CD78->arr[i] != 0xFF) + if (sBattleDomeStruct->arr[i] != 0xFF) { - gSprites[gUnknown_0203CD78->arr[i]].callback = SpriteCb_TrainerIconCardScrollLeft; - gSprites[gUnknown_0203CD78->arr[i]].data[0] = gTasks[taskId].data[2] ^ 1; - gSprites[gUnknown_0203CD78->arr[i]].data[1] = 0; - gSprites[gUnknown_0203CD78->arr[i]].data[2] = i; - gSprites[gUnknown_0203CD78->arr[i]].data[3] = gUnknown_0203CD78->arr[i]; + gSprites[sBattleDomeStruct->arr[i]].callback = SpriteCb_TrainerIconCardScrollLeft; + gSprites[sBattleDomeStruct->arr[i]].data[0] = gTasks[taskId].data[2] ^ 1; + gSprites[sBattleDomeStruct->arr[i]].data[1] = 0; + gSprites[sBattleDomeStruct->arr[i]].data[2] = i; + gSprites[sBattleDomeStruct->arr[i]].data[3] = sBattleDomeStruct->arr[i]; } } else { - if (gUnknown_0203CD78->arr[i] != 0xFF) + if (sBattleDomeStruct->arr[i] != 0xFF) { - gSprites[gUnknown_0203CD78->arr[i]].callback = SpriteCb_MonIconCardScrollLeft; - gSprites[gUnknown_0203CD78->arr[i]].data[0] = gTasks[taskId].data[2] ^ 1; - gSprites[gUnknown_0203CD78->arr[i]].data[1] = 0; - gSprites[gUnknown_0203CD78->arr[i]].data[2] = i; + gSprites[sBattleDomeStruct->arr[i]].callback = SpriteCb_MonIconCardScrollLeft; + gSprites[sBattleDomeStruct->arr[i]].data[0] = gTasks[taskId].data[2] ^ 1; + gSprites[sBattleDomeStruct->arr[i]].data[1] = 0; + gSprites[sBattleDomeStruct->arr[i]].data[2] = i; } } } @@ -2463,23 +2480,23 @@ void sub_8190CD4(u8 taskId) { if (i < 10) { - if (gUnknown_0203CD78->arr[i] != 0xFF) + if (sBattleDomeStruct->arr[i] != 0xFF) { - gSprites[gUnknown_0203CD78->arr[i]].callback = SpriteCb_TrainerIconCardScrollLeft; - gSprites[gUnknown_0203CD78->arr[i]].data[0] = gTasks[taskId].data[2]; - gSprites[gUnknown_0203CD78->arr[i]].data[1] = 0; - gSprites[gUnknown_0203CD78->arr[i]].data[2] = i; - gSprites[gUnknown_0203CD78->arr[i]].data[3] = gUnknown_0203CD78->arr[i]; + gSprites[sBattleDomeStruct->arr[i]].callback = SpriteCb_TrainerIconCardScrollLeft; + gSprites[sBattleDomeStruct->arr[i]].data[0] = gTasks[taskId].data[2]; + gSprites[sBattleDomeStruct->arr[i]].data[1] = 0; + gSprites[sBattleDomeStruct->arr[i]].data[2] = i; + gSprites[sBattleDomeStruct->arr[i]].data[3] = sBattleDomeStruct->arr[i]; } } else { - if (gUnknown_0203CD78->arr[i] != 0xFF) + if (sBattleDomeStruct->arr[i] != 0xFF) { - gSprites[gUnknown_0203CD78->arr[i]].callback = SpriteCb_MonIconCardScrollLeft; - gSprites[gUnknown_0203CD78->arr[i]].data[0] = gTasks[taskId].data[2]; - gSprites[gUnknown_0203CD78->arr[i]].data[1] = 0; - gSprites[gUnknown_0203CD78->arr[i]].data[2] = i; + gSprites[sBattleDomeStruct->arr[i]].callback = SpriteCb_MonIconCardScrollLeft; + gSprites[sBattleDomeStruct->arr[i]].data[0] = gTasks[taskId].data[2]; + gSprites[sBattleDomeStruct->arr[i]].data[1] = 0; + gSprites[sBattleDomeStruct->arr[i]].data[2] = i; } } } @@ -2503,7 +2520,7 @@ void sub_8190CD4(u8 taskId) gBattle_BG1_Y = 0; } - if (gUnknown_0203CD78->unk_10 == 1) + if (sBattleDomeStruct->unk_10 == 1) { gBattle_BG2_X = 0; gBattle_BG2_Y = 160; @@ -2513,30 +2530,30 @@ void sub_8190CD4(u8 taskId) gBattle_BG2_X = 0; gBattle_BG2_Y = 0; } - matchNo = gUnknown_0860D15C[(gUnknown_0203CD78->unk_10 - 1) + (gTasks[taskId2].data[1] * 4)]; + matchNo = gUnknown_0860D15C[(sBattleDomeStruct->unk_10 - 1) + (gTasks[taskId2].data[1] * 4)]; DisplayMatchInfoOnCard(gTasks[taskId].data[2] | 2, matchNo); for (i = 0; i < DOME_TOURNAMENT_TRAINERS_COUNT / 2; i++) { if (i < 2) { - if (gUnknown_0203CD78->arr[i] != 0xFF) + if (sBattleDomeStruct->arr[i] != 0xFF) { - gSprites[gUnknown_0203CD78->arr[i]].callback = SpriteCb_TrainerIconCardScrollRight; - gSprites[gUnknown_0203CD78->arr[i]].data[0] = gTasks[taskId].data[2] ^ 1; - gSprites[gUnknown_0203CD78->arr[i]].data[1] = 0; - gSprites[gUnknown_0203CD78->arr[i]].data[2] = i; - gSprites[gUnknown_0203CD78->arr[i]].data[3] = gUnknown_0203CD78->arr[i]; + gSprites[sBattleDomeStruct->arr[i]].callback = SpriteCb_TrainerIconCardScrollRight; + gSprites[sBattleDomeStruct->arr[i]].data[0] = gTasks[taskId].data[2] ^ 1; + gSprites[sBattleDomeStruct->arr[i]].data[1] = 0; + gSprites[sBattleDomeStruct->arr[i]].data[2] = i; + gSprites[sBattleDomeStruct->arr[i]].data[3] = sBattleDomeStruct->arr[i]; } } else { - if (gUnknown_0203CD78->arr[i] != 0xFF) + if (sBattleDomeStruct->arr[i] != 0xFF) { - gSprites[gUnknown_0203CD78->arr[i]].callback = SpriteCb_MonIconCardScrollRight; - gSprites[gUnknown_0203CD78->arr[i]].data[0] = gTasks[taskId].data[2] ^ 1; - gSprites[gUnknown_0203CD78->arr[i]].data[1] = 0; - gSprites[gUnknown_0203CD78->arr[i]].data[2] = i; + gSprites[sBattleDomeStruct->arr[i]].callback = SpriteCb_MonIconCardScrollRight; + gSprites[sBattleDomeStruct->arr[i]].data[0] = gTasks[taskId].data[2] ^ 1; + gSprites[sBattleDomeStruct->arr[i]].data[1] = 0; + gSprites[sBattleDomeStruct->arr[i]].data[2] = i; } } } @@ -2544,23 +2561,23 @@ void sub_8190CD4(u8 taskId) { if (i < 10) { - if (gUnknown_0203CD78->arr[i] != 0xFF) + if (sBattleDomeStruct->arr[i] != 0xFF) { - gSprites[gUnknown_0203CD78->arr[i]].callback = SpriteCb_TrainerIconCardScrollRight; - gSprites[gUnknown_0203CD78->arr[i]].data[0] = gTasks[taskId].data[2]; - gSprites[gUnknown_0203CD78->arr[i]].data[1] = 0; - gSprites[gUnknown_0203CD78->arr[i]].data[2] = i; - gSprites[gUnknown_0203CD78->arr[i]].data[3] = gUnknown_0203CD78->arr[i]; + gSprites[sBattleDomeStruct->arr[i]].callback = SpriteCb_TrainerIconCardScrollRight; + gSprites[sBattleDomeStruct->arr[i]].data[0] = gTasks[taskId].data[2]; + gSprites[sBattleDomeStruct->arr[i]].data[1] = 0; + gSprites[sBattleDomeStruct->arr[i]].data[2] = i; + gSprites[sBattleDomeStruct->arr[i]].data[3] = sBattleDomeStruct->arr[i]; } } else { - if (gUnknown_0203CD78->arr[i] != 0xFF) + if (sBattleDomeStruct->arr[i] != 0xFF) { - gSprites[gUnknown_0203CD78->arr[i]].callback = SpriteCb_MonIconCardScrollRight; - gSprites[gUnknown_0203CD78->arr[i]].data[0] = gTasks[taskId].data[2]; - gSprites[gUnknown_0203CD78->arr[i]].data[1] = 0; - gSprites[gUnknown_0203CD78->arr[i]].data[2] = i; + gSprites[sBattleDomeStruct->arr[i]].callback = SpriteCb_MonIconCardScrollRight; + gSprites[sBattleDomeStruct->arr[i]].data[0] = gTasks[taskId].data[2]; + gSprites[sBattleDomeStruct->arr[i]].data[1] = 0; + gSprites[sBattleDomeStruct->arr[i]].data[2] = i; } } } @@ -2584,11 +2601,11 @@ void sub_8190CD4(u8 taskId) gBattle_BG1_Y = 0; } - if (gUnknown_0203CD78->unk_10 == 2) + if (sBattleDomeStruct->unk_10 == 2) { gBattle_BG2_X = 256; gBattle_BG2_Y = 160; - trainerTournamentId = gUnknown_0203CD78->unk_11[1]; + trainerTournamentId = sBattleDomeStruct->unk_11[1]; DisplayTrainerInfoOnCard(gTasks[taskId].data[2] | 2, trainerTournamentId); } else @@ -2603,23 +2620,23 @@ void sub_8190CD4(u8 taskId) { if (i < 2) { - if (gUnknown_0203CD78->arr[i] != 0xFF) + if (sBattleDomeStruct->arr[i] != 0xFF) { - gSprites[gUnknown_0203CD78->arr[i]].callback = SpriteCb_TrainerIconCardScrollRight; - gSprites[gUnknown_0203CD78->arr[i]].data[0] = gTasks[taskId].data[2] ^ 1; - gSprites[gUnknown_0203CD78->arr[i]].data[1] = 0; - gSprites[gUnknown_0203CD78->arr[i]].data[2] = i; - gSprites[gUnknown_0203CD78->arr[i]].data[3] = gUnknown_0203CD78->arr[i]; + gSprites[sBattleDomeStruct->arr[i]].callback = SpriteCb_TrainerIconCardScrollRight; + gSprites[sBattleDomeStruct->arr[i]].data[0] = gTasks[taskId].data[2] ^ 1; + gSprites[sBattleDomeStruct->arr[i]].data[1] = 0; + gSprites[sBattleDomeStruct->arr[i]].data[2] = i; + gSprites[sBattleDomeStruct->arr[i]].data[3] = sBattleDomeStruct->arr[i]; } } else { - if (gUnknown_0203CD78->arr[i] != 0xFF) + if (sBattleDomeStruct->arr[i] != 0xFF) { - gSprites[gUnknown_0203CD78->arr[i]].callback = SpriteCb_MonIconCardScrollRight; - gSprites[gUnknown_0203CD78->arr[i]].data[0] = gTasks[taskId].data[2] ^ 1; - gSprites[gUnknown_0203CD78->arr[i]].data[1] = 0; - gSprites[gUnknown_0203CD78->arr[i]].data[2] = i; + gSprites[sBattleDomeStruct->arr[i]].callback = SpriteCb_MonIconCardScrollRight; + gSprites[sBattleDomeStruct->arr[i]].data[0] = gTasks[taskId].data[2] ^ 1; + gSprites[sBattleDomeStruct->arr[i]].data[1] = 0; + gSprites[sBattleDomeStruct->arr[i]].data[2] = i; } } } @@ -2627,23 +2644,23 @@ void sub_8190CD4(u8 taskId) { if (i < 10) { - if (gUnknown_0203CD78->arr[i] != 0xFF) + if (sBattleDomeStruct->arr[i] != 0xFF) { - gSprites[gUnknown_0203CD78->arr[i]].callback = SpriteCb_TrainerIconCardScrollRight; - gSprites[gUnknown_0203CD78->arr[i]].data[0] = gTasks[taskId].data[2]; - gSprites[gUnknown_0203CD78->arr[i]].data[1] = 0; - gSprites[gUnknown_0203CD78->arr[i]].data[2] = i; - gSprites[gUnknown_0203CD78->arr[i]].data[3] = gUnknown_0203CD78->arr[i]; + gSprites[sBattleDomeStruct->arr[i]].callback = SpriteCb_TrainerIconCardScrollRight; + gSprites[sBattleDomeStruct->arr[i]].data[0] = gTasks[taskId].data[2]; + gSprites[sBattleDomeStruct->arr[i]].data[1] = 0; + gSprites[sBattleDomeStruct->arr[i]].data[2] = i; + gSprites[sBattleDomeStruct->arr[i]].data[3] = sBattleDomeStruct->arr[i]; } } else { - if (gUnknown_0203CD78->arr[i] != 0xFF) + if (sBattleDomeStruct->arr[i] != 0xFF) { - gSprites[gUnknown_0203CD78->arr[i]].callback = SpriteCb_MonIconCardScrollRight; - gSprites[gUnknown_0203CD78->arr[i]].data[0] = gTasks[taskId].data[2]; - gSprites[gUnknown_0203CD78->arr[i]].data[1] = 0; - gSprites[gUnknown_0203CD78->arr[i]].data[2] = i; + gSprites[sBattleDomeStruct->arr[i]].callback = SpriteCb_MonIconCardScrollRight; + gSprites[sBattleDomeStruct->arr[i]].data[0] = gTasks[taskId].data[2]; + gSprites[sBattleDomeStruct->arr[i]].data[1] = 0; + gSprites[sBattleDomeStruct->arr[i]].data[2] = i; } } } @@ -2708,31 +2725,31 @@ void sub_8190CD4(u8 taskId) { if (i < 2) { - if (gUnknown_0203CD78->arr[i] != 0xFF) - FreeAndDestroyTrainerPicSprite(gUnknown_0203CD78->arr[i]); + if (sBattleDomeStruct->arr[i] != 0xFF) + FreeAndDestroyTrainerPicSprite(sBattleDomeStruct->arr[i]); } else { - if (gUnknown_0203CD78->arr[i] != 0xFF) - sub_80D2EF8(&gSprites[gUnknown_0203CD78->arr[i]]); + if (sBattleDomeStruct->arr[i] != 0xFF) + sub_80D2EF8(&gSprites[sBattleDomeStruct->arr[i]]); } } for (i = DOME_TOURNAMENT_TRAINERS_COUNT / 2; i < DOME_TOURNAMENT_TRAINERS_COUNT; i++) { if (i < 10) { - if (gUnknown_0203CD78->arr[i] != 0xFF) - FreeAndDestroyTrainerPicSprite(gUnknown_0203CD78->arr[i]); + if (sBattleDomeStruct->arr[i] != 0xFF) + FreeAndDestroyTrainerPicSprite(sBattleDomeStruct->arr[i]); } else { - if (gUnknown_0203CD78->arr[i] != 0xFF) - sub_80D2EF8(&gSprites[gUnknown_0203CD78->arr[i]]); + if (sBattleDomeStruct->arr[i] != 0xFF) + sub_80D2EF8(&gSprites[sBattleDomeStruct->arr[i]]); } } FreeMonIconPalettes(); - FREE_AND_SET_NULL(gUnknown_0203CD78); + FREE_AND_SET_NULL(sBattleDomeStruct); FreeAllWindowBuffers(); if (r9 == 0) { @@ -2753,7 +2770,7 @@ void sub_8190CD4(u8 taskId) } } -u8 sub_819221C(u8 taskId) +static u8 sub_819221C(u8 taskId) { u8 retVal = 0; s32 taskId2 = gTasks[taskId].data[4]; @@ -2769,7 +2786,7 @@ u8 sub_819221C(u8 taskId) if (gTasks[taskId].data[3] == 1) { - if (gMain.newKeys & DPAD_UP && gUnknown_0203CD78->unk_10 == 0) + if (gMain.newKeys & DPAD_UP && sBattleDomeStruct->unk_10 == 0) { if (r5 == 0) r5 = 15; @@ -2777,7 +2794,7 @@ u8 sub_819221C(u8 taskId) r5--; retVal = 1; } - else if (gMain.newKeys & DPAD_DOWN && gUnknown_0203CD78->unk_10 == 0) + else if (gMain.newKeys & DPAD_DOWN && sBattleDomeStruct->unk_10 == 0) { if (r5 == 15) r5 = 0; @@ -2785,36 +2802,36 @@ u8 sub_819221C(u8 taskId) r5++; retVal = 2; } - else if (gMain.newKeys & DPAD_LEFT && gUnknown_0203CD78->unk_10 != 0) + else if (gMain.newKeys & DPAD_LEFT && sBattleDomeStruct->unk_10 != 0) { - gUnknown_0203CD78->unk_10--; + sBattleDomeStruct->unk_10--; retVal = 3; } else if (gMain.newKeys & DPAD_RIGHT) { - if (gSaveBlock2Ptr->frontier.domeTrainers[r10].isEliminated && gUnknown_0203CD78->unk_10 - 1 < gSaveBlock2Ptr->frontier.domeTrainers[r10].eliminatedAt) + if (gSaveBlock2Ptr->frontier.domeTrainers[r10].isEliminated && sBattleDomeStruct->unk_10 - 1 < gSaveBlock2Ptr->frontier.domeTrainers[r10].eliminatedAt) { - gUnknown_0203CD78->unk_10++; + sBattleDomeStruct->unk_10++; retVal = 4; } - if (!gSaveBlock2Ptr->frontier.domeTrainers[r10].isEliminated && gUnknown_0203CD78->unk_10 - 1 < roundId) + if (!gSaveBlock2Ptr->frontier.domeTrainers[r10].isEliminated && sBattleDomeStruct->unk_10 - 1 < roundId) { - gUnknown_0203CD78->unk_10++; + sBattleDomeStruct->unk_10++; retVal = 4; } } if (retVal == 9) { - if (gUnknown_0203CD78->unk_10 != 0) - gTasks[taskId2].data[1] = gUnknown_0860D1A0[r5 / 2][gUnknown_0203CD78->unk_10 - 1]; + if (sBattleDomeStruct->unk_10 != 0) + gTasks[taskId2].data[1] = gUnknown_0860D1A0[r5 / 2][sBattleDomeStruct->unk_10 - 1]; else gTasks[taskId2].data[1] = r5; } } else { - if (gMain.newKeys & DPAD_UP && gUnknown_0203CD78->unk_10 == 1) + if (gMain.newKeys & DPAD_UP && sBattleDomeStruct->unk_10 == 1) { if (r5 == 16) r5 = gUnknown_0860D19C[roundId]; @@ -2822,7 +2839,7 @@ u8 sub_819221C(u8 taskId) r5--; retVal = 5; } - else if (gMain.newKeys & DPAD_DOWN && gUnknown_0203CD78->unk_10 == 1) + else if (gMain.newKeys & DPAD_DOWN && sBattleDomeStruct->unk_10 == 1) { if (r5 == gUnknown_0860D19C[roundId]) r5 = 16; @@ -2830,23 +2847,23 @@ u8 sub_819221C(u8 taskId) r5++; retVal = 6; } - else if (gMain.newKeys & DPAD_LEFT && gUnknown_0203CD78->unk_10 != 0) + else if (gMain.newKeys & DPAD_LEFT && sBattleDomeStruct->unk_10 != 0) { retVal = 7; - gUnknown_0203CD78->unk_10--; + sBattleDomeStruct->unk_10--; } - else if (gMain.newKeys & DPAD_RIGHT && (gUnknown_0203CD78->unk_10 == 0 || gUnknown_0203CD78->unk_10 == 1)) + else if (gMain.newKeys & DPAD_RIGHT && (sBattleDomeStruct->unk_10 == 0 || sBattleDomeStruct->unk_10 == 1)) { retVal = 8; - gUnknown_0203CD78->unk_10++; + sBattleDomeStruct->unk_10++; } if (retVal == 9) { - if (gUnknown_0203CD78->unk_10 == 0) - gTasks[taskId2].data[1] = gUnknown_0860D1C0[gUnknown_0203CD78->unk_11[0]]; - else if (gUnknown_0203CD78->unk_10 == 2) - gTasks[taskId2].data[1] = gUnknown_0860D1C0[gUnknown_0203CD78->unk_11[1]]; + if (sBattleDomeStruct->unk_10 == 0) + gTasks[taskId2].data[1] = gUnknown_0860D1C0[sBattleDomeStruct->unk_11[0]]; + else if (sBattleDomeStruct->unk_10 == 2) + gTasks[taskId2].data[1] = gUnknown_0860D1C0[sBattleDomeStruct->unk_11[1]]; else gTasks[taskId2].data[1] = r5; } @@ -2887,47 +2904,47 @@ static void DisplayTrainerInfoOnCard(u8 flags, u8 trainerTournamentId) y = -160; if (trainerId == TRAINER_PLAYER) - gUnknown_0203CD78->arr[arrId] = CreateTrainerPicSprite(PlayerGenderToFrontTrainerPicId(gSaveBlock2Ptr->playerGender), TRUE, x + 48, y + 64, palSlot + 12, 0xFFFF); + sBattleDomeStruct->arr[arrId] = CreateTrainerPicSprite(PlayerGenderToFrontTrainerPicId(gSaveBlock2Ptr->playerGender), TRUE, x + 48, y + 64, palSlot + 12, 0xFFFF); else if (trainerId == TRAINER_FRONTIER_BRAIN) - gUnknown_0203CD78->arr[arrId] = CreateTrainerPicSprite(GetDomeBrainTrainerPicId(), TRUE, x + 48, y + 64, palSlot + 12, 0xFFFF); + sBattleDomeStruct->arr[arrId] = CreateTrainerPicSprite(GetDomeBrainTrainerPicId(), TRUE, x + 48, y + 64, palSlot + 12, 0xFFFF); else - gUnknown_0203CD78->arr[arrId] = CreateTrainerPicSprite(GetFrontierTrainerFrontSpriteId(trainerId), TRUE, x + 48, y + 64, palSlot + 12, 0xFFFF); + sBattleDomeStruct->arr[arrId] = CreateTrainerPicSprite(GetFrontierTrainerFrontSpriteId(trainerId), TRUE, x + 48, y + 64, palSlot + 12, 0xFFFF); if (flags & 0x1E) - gSprites[gUnknown_0203CD78->arr[arrId]].invisible = 1; + gSprites[sBattleDomeStruct->arr[arrId]].invisible = 1; for (i = 0; i < 3; i++) { if (trainerId == TRAINER_PLAYER) { - gUnknown_0203CD78->arr[2 + i + arrId] = CreateMonIcon(gSaveBlock2Ptr->frontier.domeMonId[trainerTournamentId][i], + sBattleDomeStruct->arr[2 + i + arrId] = CreateMonIcon(gSaveBlock2Ptr->frontier.domeMonId[trainerTournamentId][i], SpriteCb_MonIcon, x | gUnknown_0860D340[i], y + gUnknown_0860D343[i], 0, 0, TRUE); - gSprites[gUnknown_0203CD78->arr[2 + i + arrId]].oam.priority = 0; + gSprites[sBattleDomeStruct->arr[2 + i + arrId]].oam.priority = 0; } else if (trainerId == TRAINER_FRONTIER_BRAIN) { - gUnknown_0203CD78->arr[2 + i + arrId] = CreateMonIcon(gSaveBlock2Ptr->frontier.domeMonId[trainerTournamentId][i], + sBattleDomeStruct->arr[2 + i + arrId] = CreateMonIcon(gSaveBlock2Ptr->frontier.domeMonId[trainerTournamentId][i], SpriteCb_MonIcon, x | gUnknown_0860D340[i], y + gUnknown_0860D343[i], 0, 0, TRUE); - gSprites[gUnknown_0203CD78->arr[2 + i + arrId]].oam.priority = 0; + gSprites[sBattleDomeStruct->arr[2 + i + arrId]].oam.priority = 0; } else { - gUnknown_0203CD78->arr[2 + i + arrId] = CreateMonIcon(gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonId[trainerTournamentId][i]].species, + sBattleDomeStruct->arr[2 + i + arrId] = CreateMonIcon(gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonId[trainerTournamentId][i]].species, SpriteCb_MonIcon, x | gUnknown_0860D340[i], y + gUnknown_0860D343[i], 0, 0, TRUE); - gSprites[gUnknown_0203CD78->arr[2 + i + arrId]].oam.priority = 0; + gSprites[sBattleDomeStruct->arr[2 + i + arrId]].oam.priority = 0; } if (flags & 0x1E) - gSprites[gUnknown_0203CD78->arr[2 + i + arrId]].invisible = 1; + gSprites[sBattleDomeStruct->arr[2 + i + arrId]].invisible = 1; } textPrinter.fontId = 2; textPrinter.x = 0; @@ -3019,11 +3036,11 @@ static void DisplayTrainerInfoOnCard(u8 flags, u8 trainerTournamentId) for (k = 0; k < DOME_TOURNAMENT_TRAINERS_COUNT; k++) { if (trainerId == TRAINER_FRONTIER_BRAIN) - allocatedArray[k] += sMovePoints[sub_81A5060(i, j)][k]; + allocatedArray[k] += sMovePointsForDomeTrainers[sub_81A5060(i, j)][k]; else if (trainerId == TRAINER_PLAYER) - allocatedArray[k] += sMovePoints[gSaveBlock2Ptr->frontier.field_EFC[i].moves[j]][k]; + allocatedArray[k] += sMovePointsForDomeTrainers[gSaveBlock2Ptr->frontier.field_EFC[i].moves[j]][k]; else - allocatedArray[k] += sMovePoints[gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonId[trainerTournamentId][i]].moves[j]][k]; + allocatedArray[k] += sMovePointsForDomeTrainers[gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonId[trainerTournamentId][i]].moves[j]][k]; } } } @@ -3224,7 +3241,7 @@ static void DisplayTrainerInfoOnCard(u8 flags, u8 trainerTournamentId) Free(allocatedArray); } -s32 sub_8192F08(u8 arg0, u8 *arg1) +static s32 sub_8192F08(u8 arg0, u8 *arg1) { s32 i; u8 tournamentId; @@ -3311,10 +3328,10 @@ static void DisplayMatchInfoOnCard(u8 flags, u8 matchNo) y = -160; // Copy trainers information to handy arrays. - winStringId = sub_8192F08(matchNo, gUnknown_0203CD78->unk_11); + winStringId = sub_8192F08(matchNo, sBattleDomeStruct->unk_11); for (i = 0; i < 2; i++) { - tournamentIds[i] = gUnknown_0203CD78->unk_11[i]; + tournamentIds[i] = sBattleDomeStruct->unk_11[i]; trainerIds[i] = gSaveBlock2Ptr->frontier.domeTrainers[tournamentIds[i]].trainerId; if (gSaveBlock2Ptr->frontier.domeTrainers[tournamentIds[i]].eliminatedAt <= gUnknown_0860D3C4[matchNo][2] && gSaveBlock2Ptr->frontier.domeTrainers[tournamentIds[i]].isEliminated) @@ -3325,67 +3342,67 @@ static void DisplayMatchInfoOnCard(u8 flags, u8 matchNo) // Draw first trainer sprite. if (trainerIds[0] == TRAINER_PLAYER) - gUnknown_0203CD78->arr[arrId] = CreateTrainerPicSprite(PlayerGenderToFrontTrainerPicId(gSaveBlock2Ptr->playerGender), TRUE, x + 48, y + 88, palSlot + 12, 0xFFFF); + sBattleDomeStruct->arr[arrId] = CreateTrainerPicSprite(PlayerGenderToFrontTrainerPicId(gSaveBlock2Ptr->playerGender), TRUE, x + 48, y + 88, palSlot + 12, 0xFFFF); else if (trainerIds[0] == TRAINER_FRONTIER_BRAIN) - gUnknown_0203CD78->arr[arrId] = CreateTrainerPicSprite(GetDomeBrainTrainerPicId(), TRUE, x + 48, y + 88, palSlot + 12, 0xFFFF); + sBattleDomeStruct->arr[arrId] = CreateTrainerPicSprite(GetDomeBrainTrainerPicId(), TRUE, x + 48, y + 88, palSlot + 12, 0xFFFF); else - gUnknown_0203CD78->arr[arrId] = CreateTrainerPicSprite(GetFrontierTrainerFrontSpriteId(trainerIds[0]), TRUE, x + 48, y + 88, palSlot + 12, 0xFFFF); + sBattleDomeStruct->arr[arrId] = CreateTrainerPicSprite(GetFrontierTrainerFrontSpriteId(trainerIds[0]), TRUE, x + 48, y + 88, palSlot + 12, 0xFFFF); if (flags & 0x1E) - gSprites[gUnknown_0203CD78->arr[arrId]].invisible = 1; + gSprites[sBattleDomeStruct->arr[arrId]].invisible = 1; if (lost[0]) - gSprites[gUnknown_0203CD78->arr[arrId]].oam.paletteNum = 3; + gSprites[sBattleDomeStruct->arr[arrId]].oam.paletteNum = 3; // Draw second trainer sprite. if (trainerIds[1] == TRAINER_PLAYER) - gUnknown_0203CD78->arr[1 + arrId] = CreateTrainerPicSprite(PlayerGenderToFrontTrainerPicId(gSaveBlock2Ptr->playerGender), TRUE, x + 192, y + 88, palSlot + 13, 0xFFFF); + sBattleDomeStruct->arr[1 + arrId] = CreateTrainerPicSprite(PlayerGenderToFrontTrainerPicId(gSaveBlock2Ptr->playerGender), TRUE, x + 192, y + 88, palSlot + 13, 0xFFFF); else if (trainerIds[1] == TRAINER_FRONTIER_BRAIN) - gUnknown_0203CD78->arr[1 + arrId] = CreateTrainerPicSprite(GetDomeBrainTrainerPicId(), TRUE, x + 192, y + 88, palSlot + 13, 0xFFFF); + sBattleDomeStruct->arr[1 + arrId] = CreateTrainerPicSprite(GetDomeBrainTrainerPicId(), TRUE, x + 192, y + 88, palSlot + 13, 0xFFFF); else - gUnknown_0203CD78->arr[1 + arrId] = CreateTrainerPicSprite(GetFrontierTrainerFrontSpriteId(trainerIds[1]), TRUE, x + 192, y + 88, palSlot + 13, 0xFFFF); + sBattleDomeStruct->arr[1 + arrId] = CreateTrainerPicSprite(GetFrontierTrainerFrontSpriteId(trainerIds[1]), TRUE, x + 192, y + 88, palSlot + 13, 0xFFFF); if (flags & 0x1E) - gSprites[gUnknown_0203CD78->arr[1 + arrId]].invisible = 1; + gSprites[sBattleDomeStruct->arr[1 + arrId]].invisible = 1; if (lost[1]) - gSprites[gUnknown_0203CD78->arr[1 + arrId]].oam.paletteNum = 3; + gSprites[sBattleDomeStruct->arr[1 + arrId]].oam.paletteNum = 3; // Draw first trainer's pokemon icons. for (i = 0; i < 3; i++) { if (trainerIds[0] == TRAINER_PLAYER) { - gUnknown_0203CD78->arr[2 + i + arrId] = CreateMonIcon(gSaveBlock2Ptr->frontier.domeMonId[tournamentIds[0]][i], + sBattleDomeStruct->arr[2 + i + arrId] = CreateMonIcon(gSaveBlock2Ptr->frontier.domeMonId[tournamentIds[0]][i], SpriteCb_MonIcon, x | gUnknown_0860D3A8[i], y + gUnknown_0860D3AB[i], 0, 0, TRUE); - gSprites[gUnknown_0203CD78->arr[2 + i + arrId]].oam.priority = 0; + gSprites[sBattleDomeStruct->arr[2 + i + arrId]].oam.priority = 0; } else if (trainerIds[0] == TRAINER_FRONTIER_BRAIN) { - gUnknown_0203CD78->arr[2 + i + arrId] = CreateMonIcon(gSaveBlock2Ptr->frontier.domeMonId[tournamentIds[0]][i], + sBattleDomeStruct->arr[2 + i + arrId] = CreateMonIcon(gSaveBlock2Ptr->frontier.domeMonId[tournamentIds[0]][i], SpriteCb_MonIcon, x | gUnknown_0860D3A8[i], y + gUnknown_0860D3AB[i], 0, 0, TRUE); - gSprites[gUnknown_0203CD78->arr[2 + i + arrId]].oam.priority = 0; + gSprites[sBattleDomeStruct->arr[2 + i + arrId]].oam.priority = 0; } else { - gUnknown_0203CD78->arr[2 + i + arrId] = CreateMonIcon(gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonId[tournamentIds[0]][i]].species, + sBattleDomeStruct->arr[2 + i + arrId] = CreateMonIcon(gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonId[tournamentIds[0]][i]].species, SpriteCb_MonIcon, x | gUnknown_0860D3A8[i], y + gUnknown_0860D3AB[i], 0, 0, TRUE); - gSprites[gUnknown_0203CD78->arr[2 + i + arrId]].oam.priority = 0; + gSprites[sBattleDomeStruct->arr[2 + i + arrId]].oam.priority = 0; } if (flags & 0x1E) - gSprites[gUnknown_0203CD78->arr[2 + i + arrId]].invisible = 1; + gSprites[sBattleDomeStruct->arr[2 + i + arrId]].invisible = 1; if (lost[0]) { - gSprites[gUnknown_0203CD78->arr[2 + i + arrId]].oam.paletteNum = 3; - gSprites[gUnknown_0203CD78->arr[2 + i + arrId]].sMonIconStill = TRUE; + gSprites[sBattleDomeStruct->arr[2 + i + arrId]].oam.paletteNum = 3; + gSprites[sBattleDomeStruct->arr[2 + i + arrId]].sMonIconStill = TRUE; } } @@ -3394,38 +3411,38 @@ static void DisplayMatchInfoOnCard(u8 flags, u8 matchNo) { if (trainerIds[1] == TRAINER_PLAYER) { - gUnknown_0203CD78->arr[5 + i + arrId] = CreateMonIcon(gSaveBlock2Ptr->frontier.domeMonId[tournamentIds[1]][i], + sBattleDomeStruct->arr[5 + i + arrId] = CreateMonIcon(gSaveBlock2Ptr->frontier.domeMonId[tournamentIds[1]][i], SpriteCb_MonIcon, x | gUnknown_0860D3AE[i], y + gUnknown_0860D3B1[i], 0, 0, TRUE); - gSprites[gUnknown_0203CD78->arr[5 + i + arrId]].oam.priority = 0; + gSprites[sBattleDomeStruct->arr[5 + i + arrId]].oam.priority = 0; } else if (trainerIds[1] == TRAINER_FRONTIER_BRAIN) { - gUnknown_0203CD78->arr[5 + i + arrId] = CreateMonIcon(gSaveBlock2Ptr->frontier.domeMonId[tournamentIds[1]][i], + sBattleDomeStruct->arr[5 + i + arrId] = CreateMonIcon(gSaveBlock2Ptr->frontier.domeMonId[tournamentIds[1]][i], SpriteCb_MonIcon, x | gUnknown_0860D3AE[i], y + gUnknown_0860D3B1[i], 0, 0, TRUE); - gSprites[gUnknown_0203CD78->arr[5 + i + arrId]].oam.priority = 0; + gSprites[sBattleDomeStruct->arr[5 + i + arrId]].oam.priority = 0; } else { - gUnknown_0203CD78->arr[5 + i + arrId] = CreateMonIcon(gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonId[tournamentIds[1]][i]].species, + sBattleDomeStruct->arr[5 + i + arrId] = CreateMonIcon(gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonId[tournamentIds[1]][i]].species, SpriteCb_MonIcon, x | gUnknown_0860D3AE[i], y + gUnknown_0860D3B1[i], 0, 0, TRUE); - gSprites[gUnknown_0203CD78->arr[5 + i + arrId]].oam.priority = 0; + gSprites[sBattleDomeStruct->arr[5 + i + arrId]].oam.priority = 0; } if (flags & 0x1E) - gSprites[gUnknown_0203CD78->arr[5 + i + arrId]].invisible = 1; + gSprites[sBattleDomeStruct->arr[5 + i + arrId]].invisible = 1; if (lost[1]) { - gSprites[gUnknown_0203CD78->arr[5 + i + arrId]].oam.paletteNum = 3; - gSprites[gUnknown_0203CD78->arr[5 + i + arrId]].sMonIconStill = TRUE; + gSprites[sBattleDomeStruct->arr[5 + i + arrId]].oam.paletteNum = 3; + gSprites[sBattleDomeStruct->arr[5 + i + arrId]].sMonIconStill = TRUE; } } @@ -3510,7 +3527,7 @@ void sub_81938E0(void) u8 taskId; sub_8194D48(); - gSaveBlock2Ptr->frontier.chosenLvl = gSaveBlock2Ptr->frontier.field_D0A - 1; + gSaveBlock2Ptr->frontier.lvlMode = gSaveBlock2Ptr->frontier.field_D0A - 1; gSaveBlock2Ptr->frontier.field_CB2 = 3; taskId = CreateTask(sub_8194220, 0); gTasks[taskId].data[0] = 0; @@ -3564,7 +3581,7 @@ void sub_819395C(u8 taskId) { FreeAllWindowBuffers(); ScanlineEffect_Stop(); - FREE_AND_SET_NULL(gUnknown_0203CD7C); + FREE_AND_SET_NULL(sTilemapBuffer); newTaskId = CreateTask(sub_8190400, 0); gTasks[newTaskId].data[0] = 0; gTasks[newTaskId].data[1] = gUnknown_0860D080[spriteId]; @@ -3572,7 +3589,7 @@ void sub_819395C(u8 taskId) gTasks[newTaskId].data[3] = taskId; gTasks[taskId].data[0] = 4; - gUnknown_0203CD78->unk_10 = 0; + sBattleDomeStruct->unk_10 = 0; } break; case 4: @@ -3582,7 +3599,7 @@ void sub_819395C(u8 taskId) { FreeAllWindowBuffers(); ScanlineEffect_Stop(); - FREE_AND_SET_NULL(gUnknown_0203CD7C); + FREE_AND_SET_NULL(sTilemapBuffer); newTaskId = CreateTask(sub_8190400, 0); gTasks[newTaskId].data[0] = 0; gTasks[newTaskId].data[1] = spriteId - 16; @@ -3599,7 +3616,7 @@ void sub_819395C(u8 taskId) { FreeAllWindowBuffers(); ScanlineEffect_Stop(); - FREE_AND_SET_NULL(gUnknown_0203CD7C); + FREE_AND_SET_NULL(sTilemapBuffer); SetMainCallback2(CB2_ReturnToFieldContinueScriptPlayMapMusic); DestroyTask(gTasks[taskId].data[7]); DestroyTask(taskId); @@ -3608,7 +3625,7 @@ void sub_819395C(u8 taskId) } } -u8 sub_8193BDC(u8 taskId) +static u8 sub_8193BDC(u8 taskId) { u8 retVal = 1; s32 arrId = 4; @@ -3691,7 +3708,7 @@ void sub_8193D7C(void) } } -u16 GetWinningMove(s32 winnerTournamentId, s32 loserTournamentId, u8 roundId) +static u16 GetWinningMove(s32 winnerTournamentId, s32 loserTournamentId, u8 roundId) { s32 i, j, k; s32 moveScores[4 * 3]; @@ -3804,15 +3821,7 @@ u16 GetWinningMove(s32 winnerTournamentId, s32 loserTournamentId, u8 roundId) return moveIds[j]; } -extern const struct BgTemplate gUnknown_0860CE74[4]; -extern const struct WindowTemplate gUnknown_0860CE94[]; -extern const u8 gUnknown_0860D411[][2]; -extern const struct SpriteTemplate gUnknown_0860CFA8; -extern const struct SpriteTemplate gUnknown_0860D008; -extern const struct SpriteTemplate gUnknown_0860CFD8; -extern const struct ScanlineEffectParams gUnknown_0860CF44; - -void sub_8194220(u8 taskId) +static void sub_8194220(u8 taskId) { s32 i; struct TextSubPrinter textPrinter; @@ -3857,9 +3866,9 @@ void sub_8194220(u8 taskId) gTasks[taskId].data[0]++; break; case 2: - gUnknown_0203CD7C = AllocZeroed(0x800); - LZDecompressWram(gUnknown_08D83900, gUnknown_0203CD7C); - SetBgTilemapBuffer(1, gUnknown_0203CD7C); + sTilemapBuffer = AllocZeroed(0x800); + LZDecompressWram(gUnknown_08D83900, sTilemapBuffer); + SetBgTilemapBuffer(1, sTilemapBuffer); CopyBgTilemapBufferToVram(1); DecompressAndLoadBgGfxUsingHeap(1, gUnknown_08D82F10, 0x2000, 0, 0); DecompressAndLoadBgGfxUsingHeap(2, gUnknown_08D834FC, 0x2000, 0, 0); @@ -3997,7 +4006,7 @@ void sub_8194220(u8 taskId) CopyWindowToVram(0, 3); CopyWindowToVram(1, 3); CopyWindowToVram(2, 3); - SetHBlankCallback(sub_8194BEC); + SetHBlankCallback(HblankCb_BattleDome); SetVBlankCallback(VblankCb1_BattleDome); if (r4 == 2) { @@ -4037,20 +4046,10 @@ void sub_8194220(u8 taskId) } } -struct UnkStruct_860DD10 -{ - u8 x; - u8 y; - u16 src; -}; - -extern struct UnkStruct_860DD10 *gUnknown_0860DD10[][4]; -extern const u8 gUnknown_0860DE10[][4]; - -void sub_81948EC(u8 tournamentId, u8 arg1) +static void sub_81948EC(u8 tournamentId, u8 arg1) { s32 i; - struct UnkStruct_860DD10 *structPtr = gUnknown_0860DD10[tournamentId][arg1]; + const struct UnkStruct_860DD10 *structPtr = gUnknown_0860DD10[tournamentId][arg1]; for (i = 0; i < gUnknown_0860DE10[tournamentId][arg1]; i++) CopyToBgTilemapBufferRect_ChangePalette(1, &structPtr[i].src, structPtr[i].x, structPtr[i].y, 1, 1, 0x11); @@ -4058,7 +4057,7 @@ void sub_81948EC(u8 tournamentId, u8 arg1) CopyBgTilemapBufferToVram(1); } -void sub_8194950(u8 taskId) +static void sub_8194950(u8 taskId) { s32 i; struct TextSubPrinter textPrinter; @@ -4157,7 +4156,7 @@ static void VblankCb0_BattleDome(void) *(vu32*)(REG_ADDR_WIN0H) = ((win0H << 16) | (win1H)); \ } -void sub_8194BEC(void) +static void HblankCb_BattleDome(void) { register u32 vCount asm("r0") = REG_VCOUNT; register u32 vCount_ asm("r1") = vCount; @@ -4319,8 +4318,8 @@ void sub_8194F58(void) statSums = AllocZeroed(sizeof(u16) * DOME_TOURNAMENT_TRAINERS_COUNT); statValues = AllocZeroed(sizeof(s32) * 6); - lvlMode = gSaveBlock2Ptr->frontier.chosenLvl; - gSaveBlock2Ptr->frontier.chosenLvl = 0; + lvlMode = gSaveBlock2Ptr->frontier.lvlMode; + gSaveBlock2Ptr->frontier.lvlMode = 0; // This one, I'd like to call a 'C fakematching'. { u8 one; @@ -4428,7 +4427,7 @@ void sub_8194F58(void) for (i = 0; i < 4; i++) DecideRoundWinners(i); - gSaveBlock2Ptr->frontier.chosenLvl = lvlMode; + gSaveBlock2Ptr->frontier.lvlMode = lvlMode; } static s32 TrainerIdToTournamentId(u16 trainerId) @@ -4458,7 +4457,7 @@ s32 TrainerIdToDomeTournamentId(u16 trainerId) return i; } -u8 sub_81953E8(u8 tournamentId, u8 arg1) +static u8 sub_81953E8(u8 tournamentId, u8 arg1) { u8 arr[2]; sub_8192F08(gUnknown_0860D1A0[gUnknown_0860D1C0[tournamentId] / 2][arg1] - 16, arr); @@ -4468,7 +4467,7 @@ u8 sub_81953E8(u8 tournamentId, u8 arg1) return arr[0]; } -void DecideRoundWinners(u8 roundId) +static void DecideRoundWinners(u8 roundId) { s32 i; s32 moveSlot, monId1, monId2; @@ -4578,7 +4577,7 @@ void DecideRoundWinners(u8 roundId) } } -void CopyDomeTrainerName(u8 *dst, u16 trainerId) +static void CopyDomeTrainerName(u8 *dst, u16 trainerId) { s32 i = 0; GetFrontierEnemyMonLevel(); // Unused return value. @@ -4603,17 +4602,17 @@ void CopyDomeTrainerName(u8 *dst, u16 trainerId) } } -u8 GetDomeBrainTrainerPicId(void) +static u8 GetDomeBrainTrainerPicId(void) { return gTrainers[TRAINER_TUCKER].trainerPic; } -u8 GetDomeBrainTrainerClass(void) +static u8 GetDomeBrainTrainerClass(void) { return gTrainers[TRAINER_TUCKER].trainerClass; } -void CopyDomeBrainTrainerName(u8 *dst) +static void CopyDomeBrainTrainerName(u8 *dst) { s32 i; diff --git a/src/battle_setup.c b/src/battle_setup.c index 2955a33fcc..17ab20ccd6 100644 --- a/src/battle_setup.c +++ b/src/battle_setup.c @@ -33,6 +33,7 @@ #include "field_weather.h" #include "gym_leader_rematch.h" #include "constants/map_types.h" +#include "constants/battle_frontier.h" enum { @@ -863,7 +864,7 @@ u8 sub_80B100C(s32 arg0) return sUnknown_0854FEA7[Random() % ARRAY_COUNT(sUnknown_0854FEA7)]; } - if (VarGet(VAR_0x40CE) != 3) + if (VarGet(VAR_FRONTIER_BATTLE_MODE) != FRONTIER_MODE_LINK_MULTIS) return sUnknown_0854FE98[Random() % ARRAY_COUNT(sUnknown_0854FE98)]; } else @@ -880,7 +881,7 @@ u8 sub_80B100C(s32 arg0) return sUnknown_0854FEA7[Random() % ARRAY_COUNT(sUnknown_0854FEA7)]; } - if (VarGet(VAR_0x40CE) != 3) + if (VarGet(VAR_FRONTIER_BATTLE_MODE) != FRONTIER_MODE_LINK_MULTIS) return sUnknown_0854FE98[Random() % ARRAY_COUNT(sUnknown_0854FE98)]; } diff --git a/src/bg.c b/src/bg.c index 2f4cdc8564..7c55410b10 100644 --- a/src/bg.c +++ b/src/bg.c @@ -1001,7 +1001,7 @@ void CopyToBgTilemapBufferRect(u8 bg, const void* src, u8 destX, u8 destY, u8 wi } } -void CopyToBgTilemapBufferRect_ChangePalette(u8 bg, void *src, u8 destX, u8 destY, u8 rectWidth, u8 rectHeight, u8 palette) +void CopyToBgTilemapBufferRect_ChangePalette(u8 bg, const void *src, u8 destX, u8 destY, u8 rectWidth, u8 rectHeight, u8 palette) { CopyRectToBgTilemapBufferRect(bg, src, 0, 0, rectWidth, rectHeight, destX, destY, rectWidth, rectHeight, palette, 0, 0); } diff --git a/src/field_specials.c b/src/field_specials.c index e20ccf618c..f5728c3a40 100644 --- a/src/field_specials.c +++ b/src/field_specials.c @@ -52,6 +52,7 @@ #include "constants/species.h" #include "constants/moves.h" #include "constants/vars.h" +#include "constants/battle_frontier.h" EWRAM_DATA bool8 gBikeCyclingChallenge = FALSE; EWRAM_DATA u8 gBikeCollisions = 0; @@ -1667,7 +1668,7 @@ bool8 InMultiBattleRoom(void) { if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(BATTLE_FRONTIER_BATTLE_TOWER_MULTI_BATTLE_ROOM) && gSaveBlock1Ptr->location.mapNum == MAP_NUM(BATTLE_FRONTIER_BATTLE_TOWER_MULTI_BATTLE_ROOM) && - VarGet(VAR_0x40CE) == 2) + VarGet(VAR_FRONTIER_BATTLE_MODE) == FRONTIER_MODE_MULTIS) return TRUE; return FALSE; } @@ -2240,10 +2241,10 @@ void sub_813A080(void) }; u8 i; - u16 var = VarGet(VAR_0x40CE); - u8 chosenLevel = gSaveBlock2Ptr->frontier.chosenLvl; + u16 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE); + u8 lvlMode = gSaveBlock2Ptr->frontier.lvlMode; - if (var == 2 && !FlagGet(FLAG_0x152)) + if (battleMode == 2 && !FlagGet(FLAG_0x152)) { gSpecialVar_0x8005 = 5; gSpecialVar_0x8006 = 4; @@ -2252,7 +2253,7 @@ void sub_813A080(void) for (i = 0; i < 9; i++) { - if (gUnknown_085B2CDC[i] > gSaveBlock2Ptr->frontier.field_CE0[var][chosenLevel]) + if (gUnknown_085B2CDC[i] > gSaveBlock2Ptr->frontier.field_CE0[battleMode][lvlMode]) { gSpecialVar_0x8005 = 4; gSpecialVar_0x8006 = i + 5; @@ -3036,13 +3037,13 @@ void sub_813A878(u8 a0) { static const u16 gUnknown_085B3104[] = {0x0000, 0x0001, 0x0002, 0x0100, 0x0101, 0x0400, 0x0401, 0x0200, 0x0201, 0x0300, 0x0500, 0x0600}; - u16 var1 = VarGet(VAR_0x40CE); + u16 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE); u16 var2 = VarGet(VAR_FRONTIER_GAMBLER_SET_FACILITY_F); - u16 var3 = VarGet(VAR_FRONTIER_FACILITY); + u16 frontierFacilityId = VarGet(VAR_FRONTIER_FACILITY); if (VarGet(VAR_FRONTIER_GAMBLER_PLACED_BET_F) == 1) { - if (gUnknown_085B3104[var2] == (var3 << 8) + var1) + if (gUnknown_085B3104[var2] == (frontierFacilityId << 8) + battleMode) { if (a0 != 0) { diff --git a/src/item.c b/src/item.c index c94f29910f..22894bbfff 100644 --- a/src/item.c +++ b/src/item.c @@ -845,8 +845,8 @@ u16 CountTotalItemQuantityInBag(u16 itemId) static bool8 CheckPyramidBagHasItem(u16 itemId, u16 count) { u8 i; - u16 *items = gSaveBlock2Ptr->frontier.pyramidBag.itemId[gSaveBlock2Ptr->frontier.chosenLvl]; - u8 *quantities = gSaveBlock2Ptr->frontier.pyramidBag.quantity[gSaveBlock2Ptr->frontier.chosenLvl]; + u16 *items = gSaveBlock2Ptr->frontier.pyramidBag.itemId[gSaveBlock2Ptr->frontier.lvlMode]; + u8 *quantities = gSaveBlock2Ptr->frontier.pyramidBag.quantity[gSaveBlock2Ptr->frontier.lvlMode]; for (i = 0; i < PYRAMID_BAG_ITEMS_COUNT; i++) { @@ -867,8 +867,8 @@ static bool8 CheckPyramidBagHasItem(u16 itemId, u16 count) static bool8 CheckPyramidBagHasSpace(u16 itemId, u16 count) { u8 i; - u16 *items = gSaveBlock2Ptr->frontier.pyramidBag.itemId[gSaveBlock2Ptr->frontier.chosenLvl]; - u8 *quantities = gSaveBlock2Ptr->frontier.pyramidBag.quantity[gSaveBlock2Ptr->frontier.chosenLvl]; + u16 *items = gSaveBlock2Ptr->frontier.pyramidBag.itemId[gSaveBlock2Ptr->frontier.lvlMode]; + u8 *quantities = gSaveBlock2Ptr->frontier.pyramidBag.quantity[gSaveBlock2Ptr->frontier.lvlMode]; for (i = 0; i < PYRAMID_BAG_ITEMS_COUNT; i++) { @@ -890,8 +890,8 @@ bool8 AddPyramidBagItem(u16 itemId, u16 count) { u16 i; - u16 *items = gSaveBlock2Ptr->frontier.pyramidBag.itemId[gSaveBlock2Ptr->frontier.chosenLvl]; - u8 *quantities = gSaveBlock2Ptr->frontier.pyramidBag.quantity[gSaveBlock2Ptr->frontier.chosenLvl]; + u16 *items = gSaveBlock2Ptr->frontier.pyramidBag.itemId[gSaveBlock2Ptr->frontier.lvlMode]; + u8 *quantities = gSaveBlock2Ptr->frontier.pyramidBag.quantity[gSaveBlock2Ptr->frontier.lvlMode]; u16 *newItems = Alloc(PYRAMID_BAG_ITEMS_COUNT * sizeof(u16)); u8 *newQuantities = Alloc(PYRAMID_BAG_ITEMS_COUNT * sizeof(u8)); @@ -963,8 +963,8 @@ bool8 RemovePyramidBagItem(u16 itemId, u16 count) { u16 i; - u16 *items = gSaveBlock2Ptr->frontier.pyramidBag.itemId[gSaveBlock2Ptr->frontier.chosenLvl]; - u8 *quantities = gSaveBlock2Ptr->frontier.pyramidBag.quantity[gSaveBlock2Ptr->frontier.chosenLvl]; + u16 *items = gSaveBlock2Ptr->frontier.pyramidBag.itemId[gSaveBlock2Ptr->frontier.lvlMode]; + u8 *quantities = gSaveBlock2Ptr->frontier.pyramidBag.quantity[gSaveBlock2Ptr->frontier.lvlMode]; i = gUnknown_0203CF30[3] + gUnknown_0203CF30[4]; if (items[i] == itemId && quantities[i] >= count) diff --git a/src/pokemon.c b/src/pokemon.c index 7dedc917f7..5157853c17 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -13,6 +13,7 @@ #include "constants/hold_effects.h" #include "constants/battle_move_effects.h" #include "constants/songs.h" +#include "constants/battle_frontier.h" #include "string_util.h" #include "text.h" #include "link.h" @@ -1575,8 +1576,8 @@ void sub_8068338(struct Pokemon *mon, struct UnknownPokemonStruct *src, bool8 lv u8 language; u8 value; - if (gSaveBlock2Ptr->frontier.chosenLvl != 0) - level = BattleFrontierGetOpponentLvl(gSaveBlock2Ptr->frontier.chosenLvl); + if (gSaveBlock2Ptr->frontier.lvlMode != FRONTIER_LVL_50) + level = BattleFrontierGetOpponentLvl(gSaveBlock2Ptr->frontier.lvlMode); else if (lvl50) level = 50; else diff --git a/src/recorded_battle.c b/src/recorded_battle.c index 45b07ca7a7..e19f3047f7 100644 --- a/src/recorded_battle.c +++ b/src/recorded_battle.c @@ -1293,7 +1293,7 @@ static bool32 AllocTryCopyRecordedBattleSaveData(struct RecordedBattleSave *dst) static void CB2_RecordedBattleEnd(void) { - gSaveBlock2Ptr->frontier.chosenLvl = sUnknown_0203C7AD; + gSaveBlock2Ptr->frontier.lvlMode = sUnknown_0203C7AD; gBattleOutcome = 0; gBattleTypeFlags = 0; gTrainerBattleOpponent_A = 0; @@ -1353,7 +1353,7 @@ static void SetRecordedBattleVarsFromSave(struct RecordedBattleSave *src) gTrainerBattleOpponent_B = src->opponentB; gPartnerTrainerId = src->partnerId; gUnknown_0203C7B4 = src->field_4FA; - sUnknown_0203C7AD = gSaveBlock2Ptr->frontier.chosenLvl; + sUnknown_0203C7AD = gSaveBlock2Ptr->frontier.lvlMode; sFrontierFacility = src->field_4FD; sUnknown_0203C7AF = src->field_4FE; sBattleStyle = src->battleStyle; @@ -1375,7 +1375,7 @@ static void SetRecordedBattleVarsFromSave(struct RecordedBattleSave *src) sUnknown_0203CCDC[i] = src->field_50E[i]; } - gSaveBlock2Ptr->frontier.chosenLvl = src->field_4FC; + gSaveBlock2Ptr->frontier.lvlMode = src->field_4FC; for (i = 0; i < MAX_BATTLERS_COUNT; i++) { diff --git a/src/rom_8011DC0.c b/src/rom_8011DC0.c index 55e3fe32b2..993dc0f4f3 100644 --- a/src/rom_8011DC0.c +++ b/src/rom_8011DC0.c @@ -18,6 +18,7 @@ #include "constants/maps.h" #include "constants/species.h" #include "constants/rgb.h" +#include "constants/battle_frontier.h" #include "trade.h" #include "trainer_card.h" #include "overworld.h" @@ -468,7 +469,7 @@ void sub_8012780(u8 taskId) switch (data->state) { case 0: - if (gSpecialVar_0x8004 == 20 && gSaveBlock2Ptr->frontier.chosenLvl == 1) + if (gSpecialVar_0x8004 == 20 && gSaveBlock2Ptr->frontier.lvlMode == FRONTIER_LVL_OPEN) gSpecialVar_0x8004++; gUnknown_02022C2C = gUnknown_082F00C4[gSpecialVar_0x8004]; gUnknown_02022C2D = gUnknown_082F00C4[gSpecialVar_0x8004] >> 8; @@ -1050,7 +1051,7 @@ void sub_80134E8(u8 taskId) switch (data->state) { case 0: - if (gSpecialVar_0x8004 == 20 && gSaveBlock2Ptr->frontier.chosenLvl == 1) + if (gSpecialVar_0x8004 == 20 && gSaveBlock2Ptr->frontier.lvlMode == FRONTIER_LVL_OPEN) gSpecialVar_0x8004++; gUnknown_02022C2C = gUnknown_082F0530[gSpecialVar_0x8004]; sub_8010F84(gUnknown_02022C2C, 0, 0); diff --git a/sym_ewram.txt b/sym_ewram.txt index c0c8e8a2f8..e153fd2719 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -634,18 +634,7 @@ gFacilityTrainerMons: @ 203BC8C .include "src/recorded_battle.o" .include "src/trainer_pokemon_sprites.o" .include "src/lilycove_lady.o" - -gUnknown_0203CD70: @ 203CD70 - .space 0x4 - -gUnknown_0203CD74: @ 203CD74 - .space 0x4 - -gUnknown_0203CD78: @ 203CD78 - .space 0x4 - -gUnknown_0203CD7C: @ 203CD7C - .space 0x4 + .include "src/battle_dome.o" gUnknown_0203CD80: @ 203CD80 .space 0x8 From 0d8c5b613eda48e48d25615e710c34388072858c Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Sat, 25 Aug 2018 20:14:10 +0200 Subject: [PATCH 131/234] make battle dome compile --- src/field_message_box.c | 10 ++++++---- src/match_call.c | 2 +- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/field_message_box.c b/src/field_message_box.c index 8ca291e334..7ed87e837f 100755 --- a/src/field_message_box.c +++ b/src/field_message_box.c @@ -4,7 +4,9 @@ #include "string_util.h" #include "task.h" #include "text.h" -#include "battle_frontier_1.h" + +extern bool32 sub_8196094(void); +extern void sub_8196080(u8*); EWRAM_DATA u8 gUnknown_020375BC = 0; @@ -23,7 +25,7 @@ void sub_8098128(void) void sub_8098154(u8 taskId) { struct Task *task = &gTasks[taskId]; - + switch (task->data[0]) { case 0: @@ -61,12 +63,12 @@ bool8 ShowFieldMessage(u8 *str) return FALSE; textbox_fdecode_auto_and_task_add(str, 1); gUnknown_020375BC = 2; - return TRUE; + return TRUE; } void sub_8098214(u8 taskId) { - if (sub_8196094() == 0) + if (!sub_8196094()) { gUnknown_020375BC = 0; DestroyTask(taskId); diff --git a/src/match_call.c b/src/match_call.c index 99eb6d65a3..2879881bfb 100644 --- a/src/match_call.c +++ b/src/match_call.c @@ -5,9 +5,9 @@ #include "event_data.h" #include "string_util.h" #include "battle.h" -#include "battle_frontier_1.h" #include "gym_leader_rematch.h" +extern void sub_8197080(u8 *dest); extern const u8 gTrainerClassNames[][13]; // Static type declarations From 2b7c138cbe165cdfa0ad8f7044efc439d9888cd2 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Sat, 25 Aug 2018 21:04:12 +0200 Subject: [PATCH 132/234] Some labels --- asm/macros/battle_script.inc | 300 ++++++++++----------- data/battle_scripts_1.s | 12 +- include/battle_scripts.h | 2 +- include/constants/battle_script_commands.h | 2 + src/battle_controller_opponent.c | 18 +- src/battle_main.c | 4 +- src/battle_script_commands.c | 4 +- 7 files changed, 172 insertions(+), 170 deletions(-) diff --git a/asm/macros/battle_script.inc b/asm/macros/battle_script.inc index c03d78df75..34d529cc7e 100644 --- a/asm/macros/battle_script.inc +++ b/asm/macros/battle_script.inc @@ -45,14 +45,14 @@ .byte 0xa .endm - .macro healthbarupdate bank + .macro healthbarupdate battler .byte 0xb - .byte \bank + .byte \battler .endm - .macro datahpupdate bank + .macro datahpupdate battler .byte 0xc - .byte \bank + .byte \battler .endm .macro critmessage @@ -104,38 +104,38 @@ .byte 0x17 .endm - .macro clearstatusfromeffect bank + .macro clearstatusfromeffect battler .byte 0x18 - .byte \bank + .byte \battler .endm - .macro tryfaintmon bank, param1, param2 + .macro tryfaintmon battler, param1, param2 .byte 0x19 - .byte \bank + .byte \battler .byte \param1 .4byte \param2 .endm - .macro dofaintanimation bank + .macro dofaintanimation battler .byte 0x1a - .byte \bank + .byte \battler .endm - .macro cleareffectsonfaint bank + .macro cleareffectsonfaint battler .byte 0x1b - .byte \bank + .byte \battler .endm - .macro jumpifstatus bank, status1, param2 + .macro jumpifstatus battler, status1, param2 .byte 0x1c - .byte \bank + .byte \battler .4byte \status1 .4byte \param2 .endm - .macro jumpifstatus2 bank, status2, param2 + .macro jumpifstatus2 battler, status2, param2 .byte 0x1d - .byte \bank + .byte \battler .4byte \status2 .4byte \param2 .endm @@ -147,40 +147,40 @@ .4byte \param2 .endm - .macro jumpifsideaffecting bank, sidestatus, param2 + .macro jumpifsideaffecting battler, sidestatus, param2 .byte 0x1f - .byte \bank + .byte \battler .2byte \sidestatus .4byte \param2 .endm - .macro jumpifstat bank, ifflag, stat, param3, param4 + .macro jumpifstat battler, ifflag, stat, param3, param4 .byte 0x20 - .byte \bank + .byte \battler .byte \ifflag .byte \stat .byte \param3 .4byte \param4 .endm - .macro jumpifstatus3condition bank, status3, param2, param3 + .macro jumpifstatus3condition battler, status3, param2, param3 .byte 0x21 - .byte \bank + .byte \battler .4byte \status3 .byte \param2 .4byte \param3 .endm - .macro jumpiftype bank, type, param2 + .macro jumpiftype battler, type, param2 .byte 0x22 - .byte \bank + .byte \battler .byte \type .4byte \param2 .endm - .macro getexp bank + .macro getexp battler .byte 0x23 - .byte \bank + .byte \battler .endm .macro atk24 param0 @@ -325,9 +325,9 @@ .byte 0x3a .endm - .macro healthbar_update bank + .macro healthbar_update battler .byte 0x3b - .byte \bank + .byte \battler .endm .macro return @@ -356,9 +356,9 @@ .4byte \param0 .endm - .macro jumpiftype2 bank, type, param2 + .macro jumpiftype2 battler, type, param2 .byte 0x42 - .byte \bank + .byte \battler .byte \type .4byte \param2 .endm @@ -373,16 +373,16 @@ .byte 0x44 .endm - .macro playanimation bank, param1, param2 + .macro playanimation battler, param1, param2 .byte 0x45 - .byte \bank + .byte \battler .byte \param1 .4byte \param2 .endm - .macro playanimation2 bank, param1, param2 + .macro playanimation2 battler, param1, param2 .byte 0x46 - .byte \bank + .byte \battler .4byte \param1 .4byte \param2 .endm @@ -391,9 +391,9 @@ .byte 0x47 .endm - .macro playstatchangeanimation bank, param1, param2 + .macro playstatchangeanimation battler, param1, param2 .byte 0x48 - .byte \bank + .byte \battler .byte \param1 .byte \param2 .endm @@ -412,25 +412,25 @@ .byte 0x4b .endm - .macro getswitchedmondata bank + .macro getswitchedmondata battler .byte 0x4c - .byte \bank + .byte \battler .endm - .macro switchindataupdate bank + .macro switchindataupdate battler .byte 0x4d - .byte \bank + .byte \battler .endm - .macro switchinanim bank, dontclearsubstitutebit + .macro switchinanim battler, dontclearsubstitutebit .byte 0x4e - .byte \bank + .byte \battler .byte \dontclearsubstitutebit .endm - .macro jumpifcantswitch bank, param1 + .macro jumpifcantswitch battler, param1 .byte 0x4f - .byte \bank + .byte \battler .4byte \param1 .endm @@ -440,20 +440,20 @@ .4byte \param1 .endm - .macro switchhandleorder bank, param1 + .macro switchhandleorder battler, param1 .byte 0x51 - .byte \bank + .byte \battler .byte \param1 .endm - .macro switchineffects bank + .macro switchineffects battler .byte 0x52 - .byte \bank + .byte \battler .endm - .macro trainerslidein bank + .macro trainerslidein battler .byte 0x53 - .byte \bank + .byte \battler .endm .macro playse param0 @@ -466,18 +466,18 @@ .2byte \param0 .endm - .macro playfaintcry bank + .macro playfaintcry battler .byte 0x56 - .byte \bank + .byte \battler .endm .macro atk57 .byte 0x57 .endm - .macro returntoball bank + .macro returntoball battler .byte 0x58 - .byte \bank + .byte \battler .endm .macro handlelearnnewmove param0, param1, param2 @@ -497,18 +497,18 @@ .4byte \param0 .endm - .macro hitanimation bank + .macro hitanimation battler .byte 0x5c - .byte \bank + .byte \battler .endm .macro getmoneyreward .byte 0x5d .endm - .macro atk5E bank + .macro atk5E battler .byte 0x5e - .byte \bank + .byte \battler .endm .macro swapattackerwithtarget @@ -520,14 +520,14 @@ .byte \param0 .endm - .macro drawpartystatussummary bank + .macro drawpartystatussummary battler .byte 0x61 - .byte \bank + .byte \battler .endm - .macro hidepartystatussummary bank + .macro hidepartystatussummary battler .byte 0x62 - .byte \bank + .byte \battler .endm .macro jumptorandomattack param0 @@ -535,20 +535,20 @@ .byte \param0 .endm - .macro statusanimation bank + .macro statusanimation battler .byte 0x64 - .byte \bank + .byte \battler .endm - .macro status2animation bank, status2 + .macro status2animation battler, status2 .byte 0x65 - .byte \bank + .byte \battler .4byte \status2 .endm - .macro chosenstatusanimation bank, param1, param2 + .macro chosenstatusanimation battler, param1, param2 .byte 0x66 - .byte \bank + .byte \battler .byte \param1 .4byte \param2 .endm @@ -565,9 +565,9 @@ .byte 0x69 .endm - .macro removeitem bank + .macro removeitem battler .byte 0x6a - .byte \bank + .byte \battler .endm .macro atknameinbuff1 @@ -586,14 +586,14 @@ .byte 0x6e .endm - .macro makevisible bank + .macro makevisible battler .byte 0x6f - .byte \bank + .byte \battler .endm - .macro recordlastability bank + .macro recordlastability battler .byte 0x70 - .byte \bank + .byte \battler .endm .macro buffermovetolearn @@ -605,23 +605,23 @@ .4byte \param0 .endm - .macro hpthresholds bank + .macro hpthresholds battler .byte 0x73 - .byte \bank + .byte \battler .endm - .macro hpthresholds2 bank + .macro hpthresholds2 battler .byte 0x74 - .byte \bank + .byte \battler .endm .macro useitemonopponent .byte 0x75 .endm - .macro various bank, param1 + .macro various battler, param1 .byte 0x76 - .byte \bank + .byte \battler .byte \param1 .endm @@ -642,10 +642,10 @@ .4byte \param0 .endm - .macro tryhealhalfhealth param0, bank + .macro tryhealhalfhealth param0, battler .byte 0x7b .4byte \param0 - .byte \bank + .byte \battler .endm .macro trymirrormove @@ -773,9 +773,9 @@ .4byte \param0 .endm - .macro updatestatusicon bank + .macro updatestatusicon battler .byte 0x98 - .byte \bank + .byte \battler .endm .macro setmist @@ -1112,14 +1112,14 @@ .4byte \param0 .endm - .macro switchoutabilities bank + .macro switchoutabilities battler .byte 0xe2 - .byte \bank + .byte \battler .endm - .macro jumpifhasnohp bank, param1 + .macro jumpifhasnohp battler, param1 .byte 0xe3 - .byte \bank + .byte \battler .4byte \param1 .endm @@ -1215,112 +1215,112 @@ .endm @ various command changed to more readable macros - .macro cancelmultiturnmoves bank - various \bank, VARIOUS_CANCEL_MULTI_TURN_MOVES + .macro cancelmultiturnmoves battler + various \battler, VARIOUS_CANCEL_MULTI_TURN_MOVES .endm - .macro setmagiccoattarget bank - various \bank, VARIOUS_SET_MAGIC_COAT_TARGET + .macro setmagiccoattarget battler + various \battler, VARIOUS_SET_MAGIC_COAT_TARGET .endm - .macro getifcantrunfrombattle bank - various \bank, VARIOUS_IS_RUNNING_IMPOSSIBLE + .macro getifcantrunfrombattle battler + various \battler, VARIOUS_IS_RUNNING_IMPOSSIBLE .endm - .macro getmovetarget bank - various \bank, VARIOUS_GET_MOVE_TARGET + .macro getmovetarget battler + various \battler, VARIOUS_GET_MOVE_TARGET .endm - .macro various4 bank - various \bank, 4 + .macro various4 battler + various \battler, 4 .endm - .macro resetintrimidatetracebits bank - various \bank, VARIOUS_RESET_INTIMIDATE_TRACE_BITS + .macro resetintrimidatetracebits battler + various \battler, VARIOUS_RESET_INTIMIDATE_TRACE_BITS .endm - .macro updatechoicemoveonlvlup bank - various \bank, VARIOUS_UPDATE_CHOICE_MOVE_ON_LVL_UP + .macro updatechoicemoveonlvlup battler + various \battler, VARIOUS_UPDATE_CHOICE_MOVE_ON_LVL_UP .endm - .macro various7 bank - various \bank, 7 + .macro various7 battler + various \battler, 7 .endm - .macro various8 bank - various \bank, 8 + .macro various8 battler + various \battler, 8 .endm - .macro various9 bank - various \bank, 9 + .macro various9 battler + various \battler, 9 .endm - .macro various10 bank - various \bank, 10 + .macro various10 battler + various \battler, 10 .endm - .macro various11 bank - various \bank, 11 + .macro various11 battler + various \battler, 11 .endm - .macro various12 bank - various \bank, 12 + .macro various12 battler + various \battler, 12 .endm - .macro forfeityesnobox bank - various \bank, VARIOUS_EMIT_YESNOBOX + .macro forfeityesnobox battler + various \battler, VARIOUS_EMIT_YESNOBOX .endm - .macro various14 bank - various \bank, 14 + .macro various14 battler + various \battler, 14 .endm - .macro various15 bank - various \bank, 15 + .macro various15 battler + various \battler, 15 .endm - .macro various16 bank - various \bank, 16 + .macro various16 battler + various \battler, 16 .endm - .macro various17 bank - various \bank, 17 + .macro various17 battler + various \battler, 17 .endm - .macro waitcry bank - various \bank, VARIOUS_WAIT_CRY + .macro waitcry battler + various \battler, VARIOUS_WAIT_CRY .endm - .macro returnopponentmon1toball bank - various \bank, VARIOUS_RETURN_OPPONENT_MON1 + .macro returnopponentmon1toball battler + various \battler, VARIOUS_RETURN_OPPONENT_MON1 .endm - .macro returnopponentmon2toball bank - various \bank, VARIOUS_RETURN_OPPONENT_MON2 + .macro returnopponentmon2toball battler + various \battler, VARIOUS_RETURN_OPPONENT_MON2 .endm - .macro various21 bank - various \bank, 21 + .macro volumedown + various BS_ATTACKER, VARIOUS_VOLUME_DOWN .endm - .macro various22 bank - various \bank, 22 + .macro volumeup + various BS_ATTACKER, VARIOUS_VOLUME_UP .endm - .macro various23 bank - various \bank, 23 + .macro various23 battler + various \battler, 23 .endm - .macro various24 bank - various \bank, 24 + .macro various24 battler + various \battler, 24 .endm - .macro setoutcomeonteleport bank - various \bank, VARIOUS_SET_TELEPORT_OUTCOME + .macro setoutcomeonteleport battler + various \battler, VARIOUS_SET_TELEPORT_OUTCOME .endm - .macro playtrainerdefeatbgm bank - various \bank, VARIOUS_PLAY_TRAINER_DEFEATED_MUSIC + .macro playtrainerdefeatbgm battler + various \battler, VARIOUS_PLAY_TRAINER_DEFEATED_MUSIC .endm @ helpful macros @@ -1332,12 +1332,12 @@ setbyte cEFFECT_CHOOSER \effect .endm - .macro chosenstatus1animation bank, status - chosenstatusanimation \bank 0x0 \status + .macro chosenstatus1animation battler, status + chosenstatusanimation \battler 0x0 \status .endm - .macro chosenstatus2animation bank, status - chosenstatusanimation \bank 0x1 \status + .macro chosenstatus2animation battler, status + chosenstatusanimation \battler 0x1 \status .endm .macro sethword dst, value @@ -1380,12 +1380,12 @@ jumpifhalfword CMP_NOT_EQUAL, gCurrentMove, \move, \jumpptr .endm - .macro jumpifstatus3 bank, status, jumpptr - jumpifstatus3condition \bank, \status, 0x0, \jumpptr + .macro jumpifstatus3 battler, status, jumpptr + jumpifstatus3condition \battler, \status, 0x0, \jumpptr .endm - .macro jumpifnostatus3 bank, status, jumpptr - jumpifstatus3condition \bank, \status, 0x1, \jumpptr + .macro jumpifnostatus3 battler, status, jumpptr + jumpifstatus3condition \battler, \status, 0x1, \jumpptr .endm .macro jumpifmovehadnoeffect jumpptr diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index 959258ea0b..2125fc47ef 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -4481,18 +4481,18 @@ BattleScript_82DB89D:: setbyte gBattleCommunication + 1, 0x0 end2 -BattleScript_82DB8BE:: +BattleScript_ArenaTurnBeginning:: waitcry BS_ATTACKER - various21 BS_ATTACKER - playse 0x109 + volumedown + playse SE_HANTEI1 pause 0x8 - playse 0x109 + playse SE_HANTEI1 various14 BS_ATTACKER various16 8 various17 8 pause 0x40 various15 BS_ATTACKER - various22 BS_ATTACKER + volumeup end2 BattleScript_82DB8E0:: @@ -4509,7 +4509,7 @@ BattleScript_82DB8F3:: waitstate makevisible BS_OPPONENT1 waitstate - various21 BS_ATTACKER + volumedown playse 0x109 pause 0x8 playse 0x109 diff --git a/include/battle_scripts.h b/include/battle_scripts.h index ffd9996602..1197dfb6ef 100644 --- a/include/battle_scripts.h +++ b/include/battle_scripts.h @@ -256,7 +256,7 @@ extern const u8 BattleScript_82DB87D[]; extern const u8 BattleScript_82DB881[]; extern const u8 BattleScript_82DB887[]; extern const u8 BattleScript_82DB89D[]; -extern const u8 BattleScript_82DB8BE[]; +extern const u8 BattleScript_ArenaTurnBeginning[]; extern const u8 BattleScript_82DB8E0[]; extern const u8 BattleScript_82DB8F3[]; extern const u8 BattleScript_82DB973[]; diff --git a/include/constants/battle_script_commands.h b/include/constants/battle_script_commands.h index 84ec9d5125..bd9d8e67d9 100644 --- a/include/constants/battle_script_commands.h +++ b/include/constants/battle_script_commands.h @@ -71,6 +71,8 @@ #define VARIOUS_WAIT_CRY 18 #define VARIOUS_RETURN_OPPONENT_MON1 19 #define VARIOUS_RETURN_OPPONENT_MON2 20 +#define VARIOUS_VOLUME_DOWN 21 +#define VARIOUS_VOLUME_UP 22 #define VARIOUS_SET_TELEPORT_OUTCOME 25 #define VARIOUS_PLAY_TRAINER_DEFEATED_MUSIC 26 diff --git a/src/battle_controller_opponent.c b/src/battle_controller_opponent.c index 1eaa9da18f..6148587f86 100644 --- a/src/battle_controller_opponent.c +++ b/src/battle_controller_opponent.c @@ -1606,22 +1606,22 @@ static void OpponentHandleChoosePokemon(void) { s32 chosenMonId; - if (*(gBattleStruct->AI_monToSwitchIntoId + gActiveBattler) == 6) + if (*(gBattleStruct->AI_monToSwitchIntoId + gActiveBattler) == PARTY_SIZE) { chosenMonId = GetMostSuitableMonToSwitchInto(); - if (chosenMonId == 6) + if (chosenMonId == PARTY_SIZE) { - s32 bank1, bank2, firstId, lastId; + s32 battler1, battler2, firstId, lastId; if (!(gBattleTypeFlags & BATTLE_TYPE_DOUBLE)) { - bank2 = bank1 = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); + battler2 = battler1 = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); } else { - bank1 = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); - bank2 = GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT); + battler1 = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); + battler2 = GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT); } if (gBattleTypeFlags & (BATTLE_TYPE_TWO_OPPONENTS | BATTLE_TYPE_x800000)) @@ -1639,8 +1639,8 @@ static void OpponentHandleChoosePokemon(void) for (chosenMonId = firstId; chosenMonId < lastId; chosenMonId++) { if (GetMonData(&gEnemyParty[chosenMonId], MON_DATA_HP) != 0 - && chosenMonId != gBattlerPartyIndexes[bank1] - && chosenMonId != gBattlerPartyIndexes[bank2]) + && chosenMonId != gBattlerPartyIndexes[battler1] + && chosenMonId != gBattlerPartyIndexes[battler2]) { break; } @@ -1650,7 +1650,7 @@ static void OpponentHandleChoosePokemon(void) else { chosenMonId = *(gBattleStruct->AI_monToSwitchIntoId + gActiveBattler); - *(gBattleStruct->AI_monToSwitchIntoId + gActiveBattler) = 6; + *(gBattleStruct->AI_monToSwitchIntoId + gActiveBattler) = PARTY_SIZE; } diff --git a/src/battle_main.c b/src/battle_main.c index 86937f85f6..9f9511c380 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -3929,7 +3929,7 @@ static void TryDoEventsBeforeFirstTurn(void) if (gBattleTypeFlags & BATTLE_TYPE_ARENA) { StopCryAndClearCrySongs(); - BattleScriptExecute(BattleScript_82DB8BE); + BattleScriptExecute(BattleScript_ArenaTurnBeginning); } } @@ -4019,7 +4019,7 @@ void BattleTurnPassed(void) if (gBattleTypeFlags & BATTLE_TYPE_PALACE) BattleScriptExecute(BattleScript_82DB881); else if (gBattleTypeFlags & BATTLE_TYPE_ARENA && gBattleStruct->field_DA == 0) - BattleScriptExecute(BattleScript_82DB8BE); + BattleScriptExecute(BattleScript_ArenaTurnBeginning); } u8 IsRunningFromBattleImpossible(void) diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index b13727a126..12a66df801 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -6750,10 +6750,10 @@ static void atk76_various(void) } } break; - case 21: + case VARIOUS_VOLUME_DOWN: m4aMPlayVolumeControl(&gMPlayInfo_BGM, 0xFFFF, 0x55); break; - case 22: + case VARIOUS_VOLUME_UP: m4aMPlayVolumeControl(&gMPlayInfo_BGM, 0xFFFF, 0x100); break; case 23: From 69c20f18ac2ce196205c84b463b361403f23ccdd Mon Sep 17 00:00:00 2001 From: Slawter666 <38655737+Slawter666@users.noreply.github.com> Date: Sun, 26 Aug 2018 13:40:36 +0100 Subject: [PATCH 133/234] Convert battle dome data to C --- data/battle_frontier_1.s | 1256 ------------------------- src/battle_dome.c | 1901 +++++++++++++++++++++++++++++++++++++- 2 files changed, 1858 insertions(+), 1299 deletions(-) diff --git a/data/battle_frontier_1.s b/data/battle_frontier_1.s index 3901d3b864..4074c360c8 100644 --- a/data/battle_frontier_1.s +++ b/data/battle_frontier_1.s @@ -5,1262 +5,6 @@ .section .rodata -gUnknown_0860C988:: @ 860C988 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x01, 0x01, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 - .byte 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00 - .byte 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00 - .byte 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x04, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfd, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfd, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00 - -gUnknown_0860CBF1:: @ 860CBF1 - .byte 0x07, 0x01, 0x08, 0x10, 0x07, 0x01, 0x08, 0x10, 0x07, 0x01, 0x08, 0x10, 0x07, 0x01, 0x08, 0x10, 0x07, 0x01, 0x08, 0x10, 0x00, 0x02, 0x09, 0x10, 0x00, 0x02, 0x09, 0x10, 0x00, 0x02, 0x09, 0x10 - .byte 0x00, 0x02, 0x09, 0x10, 0x00, 0x02, 0x09, 0x10, 0x01, 0x03, 0x0a, 0x11, 0x01, 0x03, 0x0a, 0x11, 0x01, 0x03, 0x0a, 0x11, 0x01, 0x03, 0x0a, 0x11, 0x01, 0x03, 0x0a, 0x11, 0x02, 0x04, 0x0b, 0x11 - .byte 0x02, 0x04, 0x0b, 0x11, 0x02, 0x04, 0x0b, 0x11, 0x02, 0x04, 0x0b, 0x11, 0x02, 0x04, 0x0b, 0x11, 0x03, 0x05, 0x0c, 0x12, 0x03, 0x05, 0x0c, 0x12, 0x03, 0x05, 0x0c, 0x12, 0x03, 0x05, 0x0c, 0x12 - .byte 0x03, 0x05, 0x0c, 0x12, 0x04, 0x06, 0x0d, 0x12, 0x04, 0x06, 0x0d, 0x12, 0x04, 0x06, 0x0d, 0x12, 0x04, 0x06, 0x0d, 0x12, 0x04, 0x06, 0x0d, 0x12, 0x05, 0x07, 0x0e, 0x13, 0x05, 0x07, 0x0e, 0x13 - .byte 0x05, 0x07, 0x0e, 0x13, 0x05, 0x07, 0x0e, 0x13, 0x05, 0x07, 0x0e, 0x13, 0x06, 0x00, 0x0f, 0x13, 0x06, 0x00, 0x0f, 0x13, 0x06, 0x00, 0x0f, 0x13, 0x06, 0x00, 0x0f, 0x13, 0x06, 0x00, 0x0f, 0x13 - .byte 0x1f, 0x09, 0x14, 0x1f, 0x1f, 0x09, 0x14, 0x1f, 0x1f, 0x09, 0x14, 0x1f, 0x1f, 0x09, 0x14, 0x1f, 0x1f, 0x09, 0x14, 0x1f, 0x08, 0x0a, 0x14, 0x01, 0x08, 0x0a, 0x14, 0x01, 0x08, 0x0a, 0x14, 0x01 - .byte 0x08, 0x0a, 0x14, 0x01, 0x08, 0x0a, 0x14, 0x01, 0x09, 0x0b, 0x15, 0x02, 0x09, 0x0b, 0x15, 0x02, 0x09, 0x0b, 0x15, 0x02, 0x09, 0x0b, 0x15, 0x02, 0x09, 0x0b, 0x15, 0x02, 0x0a, 0x0c, 0x15, 0x03 - .byte 0x0a, 0x0c, 0x15, 0x03, 0x0a, 0x0c, 0x15, 0x03, 0x0a, 0x0c, 0x15, 0x03, 0x0a, 0x0c, 0x15, 0x03, 0x0b, 0x0d, 0x16, 0x04, 0x0b, 0x0d, 0x16, 0x04, 0x0b, 0x0d, 0x16, 0x04, 0x0b, 0x0d, 0x16, 0x04 - .byte 0x0b, 0x0d, 0x16, 0x04, 0x0c, 0x0e, 0x16, 0x05, 0x0c, 0x0e, 0x16, 0x05, 0x0c, 0x0e, 0x16, 0x05, 0x0c, 0x0e, 0x16, 0x05, 0x0c, 0x0e, 0x16, 0x05, 0x0d, 0x0f, 0x17, 0x06, 0x0d, 0x0f, 0x17, 0x06 - .byte 0x0d, 0x0f, 0x17, 0x06, 0x0d, 0x0f, 0x17, 0x06, 0x0d, 0x0f, 0x17, 0x06, 0x0e, 0x1f, 0x17, 0x07, 0x0e, 0x1f, 0x17, 0x07, 0x0e, 0x1f, 0x17, 0x07, 0x0e, 0x1f, 0x17, 0x07, 0x0e, 0x1f, 0x17, 0x07 - .byte 0x13, 0x11, 0x00, 0x14, 0x13, 0x11, 0x00, 0x18, 0x13, 0x11, 0x00, 0x18, 0x13, 0x11, 0x00, 0x18, 0x13, 0x11, 0x00, 0x18, 0x10, 0x12, 0x02, 0x15, 0x10, 0x12, 0x02, 0x18, 0x10, 0x12, 0x02, 0x18 - .byte 0x10, 0x12, 0x02, 0x18, 0x10, 0x12, 0x02, 0x18, 0x11, 0x13, 0x04, 0x16, 0x11, 0x13, 0x04, 0x19, 0x11, 0x13, 0x04, 0x19, 0x11, 0x13, 0x04, 0x19, 0x11, 0x13, 0x04, 0x19, 0x12, 0x10, 0x06, 0x17 - .byte 0x12, 0x10, 0x06, 0x19, 0x12, 0x10, 0x06, 0x19, 0x12, 0x10, 0x06, 0x19, 0x12, 0x10, 0x06, 0x19, 0x17, 0x15, 0x10, 0x08, 0x17, 0x15, 0x1a, 0x08, 0x17, 0x15, 0x1a, 0x08, 0x17, 0x15, 0x1a, 0x08 - .byte 0x17, 0x15, 0x1a, 0x08, 0x14, 0x16, 0x11, 0x0a, 0x14, 0x16, 0x1a, 0x0a, 0x14, 0x16, 0x1a, 0x0a, 0x14, 0x16, 0x1a, 0x0a, 0x14, 0x16, 0x1a, 0x0a, 0x15, 0x17, 0x12, 0x0c, 0x15, 0x17, 0x1b, 0x0c - .byte 0x15, 0x17, 0x1b, 0x0c, 0x15, 0x17, 0x1b, 0x0c, 0x15, 0x17, 0x1b, 0x0c, 0x16, 0x14, 0x13, 0x0e, 0x16, 0x14, 0x1b, 0x0e, 0x16, 0x14, 0x1b, 0x0e, 0x16, 0x14, 0x1b, 0x0e, 0x16, 0x14, 0x1b, 0x0e - .byte 0xff, 0xff, 0xff, 0xff, 0x19, 0x19, 0x10, 0x1a, 0x19, 0x19, 0x10, 0x1c, 0x19, 0x19, 0x10, 0x1c, 0x19, 0x19, 0x10, 0x1c, 0xff, 0xff, 0xff, 0xff, 0x18, 0x18, 0x12, 0x1b, 0x18, 0x18, 0x12, 0x1c - .byte 0x18, 0x18, 0x12, 0x1c, 0x18, 0x18, 0x12, 0x1c, 0xff, 0xff, 0xff, 0xff, 0x1b, 0x1b, 0x18, 0x14, 0x1b, 0x1b, 0x1d, 0x14, 0x1b, 0x1b, 0x1d, 0x14, 0x1b, 0x1b, 0x1d, 0x14, 0xff, 0xff, 0xff, 0xff - .byte 0x1a, 0x1a, 0x19, 0x16, 0x1a, 0x1a, 0x1d, 0x16, 0x1a, 0x1a, 0x1d, 0x16, 0x1a, 0x1a, 0x1d, 0x16, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x18, 0x1d, 0xff, 0xff, 0x18, 0x1e - .byte 0xff, 0xff, 0x18, 0x1e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1c, 0x1a, 0xff, 0xff, 0x1e, 0x1a, 0xff, 0xff, 0x1e, 0x1a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff - .byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1c, 0x1d, 0xff, 0xff, 0x1c, 0x1d, 0x0f, 0x08, 0x08, 0x00, 0x0f, 0x08, 0x08, 0x00, 0x0f, 0x08, 0x08, 0x00, 0x0f, 0x08, 0x08, 0x00, 0x0f, 0x08, 0x08, 0x00 - .byte 0x00, 0x00, 0x00 - - .align 2 -gUnknown_0860CE74:: @ 860CE74 - .4byte 0x000001c0, 0x000011d5, 0x000021ea, 0x000021fb - - .align 2 -gUnknown_0860CE84:: @ 860CE84 - .4byte 0x00000740, 0x00000785, 0x000017ca, 0x0000107b - - .align 2 -gUnknown_0860CE94:: @ 860CE94 - window_template 0x00, 0x00, 0x03, 0x08, 0x10, 0x0f, 0x0010 - window_template 0x00, 0x16, 0x03, 0x08, 0x10, 0x0f, 0x0090 - window_template 0x00, 0x08, 0x01, 0x0e, 0x02, 0x0f, 0x0110 - null_window_template - - .align 2 -gUnknown_0860CEB4:: @ 860CEB4 - window_template 0x00, 0x02, 0x02, 0x1a, 0x02, 0x0f, 0x0001 - window_template 0x00, 0x10, 0x05, 0x08, 0x02, 0x0f, 0x0035 - window_template 0x00, 0x13, 0x07, 0x09, 0x03, 0x0f, 0x0045 - window_template 0x00, 0x10, 0x0a, 0x08, 0x02, 0x0f, 0x0060 - window_template 0x00, 0x02, 0x0c, 0x1a, 0x07, 0x0f, 0x0070 - window_template 0x00, 0x05, 0x02, 0x17, 0x02, 0x0f, 0x0126 - window_template 0x00, 0x02, 0x05, 0x08, 0x02, 0x0f, 0x0154 - window_template 0x00, 0x14, 0x05, 0x08, 0x02, 0x0f, 0x0164 - window_template 0x00, 0x02, 0x10, 0x1a, 0x02, 0x0f, 0x0174 - window_template 0x01, 0x02, 0x02, 0x1a, 0x02, 0x0f, 0x0001 - window_template 0x01, 0x10, 0x05, 0x08, 0x02, 0x0f, 0x0035 - window_template 0x01, 0x13, 0x07, 0x09, 0x03, 0x0f, 0x0045 - window_template 0x01, 0x10, 0x0a, 0x08, 0x02, 0x0f, 0x0060 - window_template 0x01, 0x02, 0x0c, 0x1a, 0x07, 0x0f, 0x0070 - window_template 0x01, 0x05, 0x02, 0x17, 0x02, 0x0f, 0x0126 - window_template 0x01, 0x02, 0x05, 0x08, 0x02, 0x0f, 0x0154 - window_template 0x01, 0x14, 0x05, 0x08, 0x02, 0x0f, 0x0164 - window_template 0x01, 0x02, 0x10, 0x1a, 0x02, 0x0f, 0x0174 - - .align 2 -gUnknown_0860CF44:: @ 860CF44 - .4byte 0x0400000e, 0xa2600001, 0x00000001 - - .align 2 -gUnknown_0860CF50:: @ 860CF50 - obj_tiles gBattleFrontierGfx_DomeOptions, 0x0600, 0x0000 - null_obj_tiles - - .align 2 -gUnknown_0860CF60:: @ 860CF60 - obj_pal gUnknown_08D85444, 0x0000 - null_obj_pal - - .align 2 -gUnknown_0860CF70:: @ 860CF70 - .byte 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00 - - .align 2 -gUnknown_0860CF78:: @ 860CF78 - .byte 0x00, 0x40, 0x00, 0x80, 0x00, 0x10, 0x00, 0x00 - - .align 2 -gUnknown_0860CF80:: @ 860CF80 - .byte 0x00, 0x40, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00 - - .align 2 -gUnknown_0860CF88:: @ 860CF88 - .byte 0x00, 0x80, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00 - - .align 2 -gUnknown_0860CF90:: @ 860CF90 - .2byte 0x0014, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_0860CF98:: @ 860CF98 - .2byte 0x0018, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_0860CFA0:: @ 860CFA0 - .4byte gUnknown_0860CF90 - .4byte gUnknown_0860CF98 - - .align 2 -gUnknown_0860CFA8:: @ 860CFA8 - spr_template 0x0000, 0xffff, gUnknown_0860CF70, gUnknown_0860CFA0, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gUnknown_0860CFC0:: @ 860CFC0 - .2byte 0x0008, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_0860CFC8:: @ 860CFC8 - .2byte 0x0000, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_0860CFD0:: @ 860CFD0 - .4byte gUnknown_0860CFC0 - .4byte gUnknown_0860CFC8 - - .align 2 -gUnknown_0860CFD8:: @ 860CFD8 - spr_template 0x0000, 0xffff, gUnknown_0860CF78, gUnknown_0860CFD0, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gUnknown_0860CFF0:: @ 860CFF0 - .2byte 0x0028, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_0860CFF8:: @ 860CFF8 - .2byte 0x0020, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_0860D000:: @ 860D000 - .4byte gUnknown_0860CFF0 - .4byte gUnknown_0860CFF8 - - .align 2 -gUnknown_0860D008:: @ 860D008 - spr_template 0x0000, 0xffff, gUnknown_0860CF78, gUnknown_0860D000, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gUnknown_0860D020:: @ 860D020 - .2byte 0x0012, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_0860D028:: @ 860D028 - .2byte 0x0012, 0x0081, 0xffff, 0x0000 - - .align 2 -gUnknown_0860D030:: @ 860D030 - .2byte 0x0010, 0x0041, 0xffff, 0x0000 - - .align 2 -gUnknown_0860D038:: @ 860D038 - .2byte 0x0010, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_0860D040:: @ 860D040 - .4byte gUnknown_0860D020 - .4byte gUnknown_0860D028 - - .align 2 -gUnknown_0860D048:: @ 860D048 - .4byte gUnknown_0860D030 - .4byte gUnknown_0860D038 - - .align 2 -gUnknown_0860D050:: @ 860D050 - spr_template 0x0000, 0xffff, gUnknown_0860CF88, gUnknown_0860D048, NULL, gDummySpriteAffineAnimTable, sub_8190B40 - - .align 2 -gUnknown_0860D068:: @ 860D068 - spr_template 0x0000, 0xffff, gUnknown_0860CF80, gUnknown_0860D040, NULL, gDummySpriteAffineAnimTable, sub_8190C6C - - .align 2 -gUnknown_0860D080:: @ 860D080 - .byte 0x00, 0x08, 0x0c, 0x04, 0x07, 0x0f, 0x0b, 0x03, 0x02, 0x0a, 0x0e, 0x06, 0x05, 0x0d, 0x09, 0x01 - - .align 2 -gUnknown_0860D090:: @ 860D090 - .4byte sub_818E9CC - .4byte sub_818EA84 - .4byte sub_818ED28 - .4byte sub_818F9B0 - .4byte sub_818F9E0 - .4byte sub_818FA20 - .4byte ShowDomeOpponentInfo - .4byte sub_81938A4 - .4byte sub_81938E0 - .4byte sub_8190298 - .4byte sub_81902E4 - .4byte sub_8193D40 - .4byte sub_8193D7C - .4byte sub_81902F8 - .4byte sub_819033C - .4byte sub_8194D48 - .4byte sub_8194D68 - .4byte sub_8194E44 - .4byte sub_8194EB4 - .4byte sub_8194EC0 - .4byte sub_8194EF8 - .4byte sub_8194F58 - .4byte InitDomeTrainers - - .align 2 -gUnknown_0860D0EC:: @ 860D0EC - .4byte 0x00000004, 0x00000008, 0x00100000, 0x00200000 - - .align 2 -gUnknown_0860D0FC:: @ 860D0FC - .4byte 0xfffffffb, 0xfffffff7, 0xffefffff, 0xffdfffff - - .align 2 -gUnknown_0860D10C:: @ 860D10C - .byte 0x08, 0x00, 0x04, 0x08, 0x09, 0x0c, 0x08, 0x00, 0x0a, 0x08, 0x0c, 0x00, 0x0b, 0x04, 0x00, 0x08, 0x0c, 0x00, 0x04, 0x08, 0x0d, 0x0c, 0x08, 0x00, 0x0e, 0x08, 0x0c, 0x00, 0x0f, 0x04, 0x00, 0x08 - .byte 0x00, 0x00, 0x04, 0x08, 0x01, 0x0c, 0x08, 0x00, 0x02, 0x08, 0x0c, 0x00, 0x03, 0x04, 0x00, 0x08, 0x04, 0x00, 0x04, 0x08, 0x05, 0x0c, 0x08, 0x00, 0x06, 0x08, 0x0c, 0x00, 0x07, 0x04, 0x00, 0x08 - - .align 2 -gUnknown_0860D14C:: @ 860D14C - .byte 0x00, 0x08, 0x04, 0x0c, 0x07, 0x0f, 0x03, 0x0b, 0x02, 0x0a, 0x06, 0x0e, 0x05, 0x0d, 0x01, 0x09 - - .align 2 -gUnknown_0860D15C:: @ 860D15C - .byte 0x00, 0x08, 0x0c, 0x0e, 0x00, 0x08, 0x0c, 0x0e, 0x01, 0x08, 0x0c, 0x0e, 0x01, 0x08, 0x0c, 0x0e, 0x02, 0x09, 0x0c, 0x0e, 0x02, 0x09, 0x0c, 0x0e, 0x03, 0x09, 0x0c, 0x0e, 0x03, 0x09, 0x0c, 0x0e - .byte 0x04, 0x0a, 0x0d, 0x0e, 0x04, 0x0a, 0x0d, 0x0e, 0x05, 0x0a, 0x0d, 0x0e, 0x05, 0x0a, 0x0d, 0x0e, 0x06, 0x0b, 0x0d, 0x0e, 0x06, 0x0b, 0x0d, 0x0e, 0x07, 0x0b, 0x0d, 0x0e, 0x07, 0x0b, 0x0d, 0x0e - - .align 2 -gUnknown_0860D19C:: @ 860D19C - .byte 0x17, 0x1b, 0x1d, 0x1e - - .align 2 -gUnknown_0860D1A0:: @ 860D1A0 - .byte 0x10, 0x18, 0x1c, 0x1e, 0x11, 0x18, 0x1c, 0x1e, 0x12, 0x19, 0x1c, 0x1e, 0x13, 0x19, 0x1c, 0x1e, 0x14, 0x1a, 0x1d, 0x1e, 0x15, 0x1a, 0x1d, 0x1e, 0x16, 0x1b, 0x1d, 0x1e, 0x17, 0x1b, 0x1d, 0x1e - - .align 2 -gUnknown_0860D1C0:: @ 860D1C0 - .byte 0x00, 0x0f, 0x08, 0x07, 0x03, 0x0c, 0x0b, 0x04, 0x01, 0x0e, 0x09, 0x06, 0x02, 0x0d, 0x0a, 0x05 - - .align 2 -gBattleDomePotentialPointers:: @ 860D1D0 - .4byte gBattleDomeOpponentPotential1 - .4byte gBattleDomeOpponentPotential2 - .4byte gBattleDomeOpponentPotential3 - .4byte gBattleDomeOpponentPotential4 - .4byte gBattleDomeOpponentPotential5 - .4byte gBattleDomeOpponentPotential6 - .4byte gBattleDomeOpponentPotential7 - .4byte gBattleDomeOpponentPotential8 - .4byte gBattleDomeOpponentPotential9 - .4byte gBattleDomeOpponentPotential10 - .4byte gBattleDomeOpponentPotential11 - .4byte gBattleDomeOpponentPotential12 - .4byte gBattleDomeOpponentPotential13 - .4byte gBattleDomeOpponentPotential14 - .4byte gBattleDomeOpponentPotential15 - .4byte gBattleDomeOpponentPotential16 - .4byte gBattleDomeOpponentPotential17 - - .align 2 -gBattleDomeOpponentStylePointers:: @ 860D214 - .4byte gBattleDomeOpponentStyle1 - .4byte gBattleDomeOpponentStyle2 - .4byte gBattleDomeOpponentStyle3 - .4byte gBattleDomeOpponentStyle4 - .4byte gBattleDomeOpponentStyle5 - .4byte gBattleDomeOpponentStyle6 - .4byte gBattleDomeOpponentStyle7 - .4byte gBattleDomeOpponentStyle8 - .4byte gBattleDomeOpponentStyle9 - .4byte gBattleDomeOpponentStyle10 - .4byte gBattleDomeOpponentStyle11 - .4byte gBattleDomeOpponentStyle12 - .4byte gBattleDomeOpponentStyle13 - .4byte gBattleDomeOpponentStyle14 - .4byte gBattleDomeOpponentStyle15 - .4byte gBattleDomeOpponentStyle16 - .4byte gBattleDomeOpponentStyle17 - .4byte gBattleDomeOpponentStyle18 - .4byte gBattleDomeOpponentStyle19 - .4byte gBattleDomeOpponentStyle20 - .4byte gBattleDomeOpponentStyle21 - .4byte gBattleDomeOpponentStyle22 - .4byte gBattleDomeOpponentStyle23 - .4byte gBattleDomeOpponentStyle24 - .4byte gBattleDomeOpponentStyle25 - .4byte gBattleDomeOpponentStyle26 - .4byte gBattleDomeOpponentStyle27 - .4byte gBattleDomeOpponentStyle28 - .4byte gBattleDomeOpponentStyleUnused1 - .4byte gBattleDomeOpponentStyleUnused2 - .4byte gBattleDomeOpponentStyleUnused3 - .4byte gBattleDomeOpponentStyleUnused4 - - .align 2 -gBattleDomeOpponentStatsPointers:: @ 860D294 - .4byte gBattleDomeOpponentStats1 - .4byte gBattleDomeOpponentStats2 - .4byte gBattleDomeOpponentStats3 - .4byte gBattleDomeOpponentStats4 - .4byte gBattleDomeOpponentStats5 - .4byte gBattleDomeOpponentStats6 - .4byte gBattleDomeOpponentStats7 - .4byte gBattleDomeOpponentStats8 - .4byte gBattleDomeOpponentStats9 - .4byte gBattleDomeOpponentStats10 - .4byte gBattleDomeOpponentStats11 - .4byte gBattleDomeOpponentStats12 - .4byte gBattleDomeOpponentStats13 - .4byte gBattleDomeOpponentStats14 - .4byte gBattleDomeOpponentStats15 - .4byte gBattleDomeOpponentStats16 - .4byte gBattleDomeOpponentStats17 - .4byte gBattleDomeOpponentStats18 - .4byte gBattleDomeOpponentStats19 - .4byte gBattleDomeOpponentStats20 - .4byte gBattleDomeOpponentStats21 - .4byte gBattleDomeOpponentStats22 - .4byte gBattleDomeOpponentStats23 - .4byte gBattleDomeOpponentStats24 - .4byte gBattleDomeOpponentStats25 - .4byte gBattleDomeOpponentStats26 - .4byte gBattleDomeOpponentStats27 - .4byte gBattleDomeOpponentStats28 - .4byte gBattleDomeOpponentStats29 - .4byte gBattleDomeOpponentStats30 - .4byte gBattleDomeOpponentStats31 - .4byte gBattleDomeOpponentStats32 - .4byte gBattleDomeOpponentStats33 - .4byte gBattleDomeOpponentStats34 - .4byte gBattleDomeOpponentStats35 - .4byte gBattleDomeOpponentStats36 - .4byte gBattleDomeOpponentStats37 - .4byte gBattleDomeOpponentStats38 - .4byte gBattleDomeOpponentStats39 - .4byte gBattleDomeOpponentStats40 - .4byte gBattleDomeOpponentStats41 - .4byte gBattleDomeOpponentStats42 - .4byte gBattleDomeOpponentStats43 - -gUnknown_0860D340:: @ 860D340 - .byte 0x68, 0x88, 0x68 - -gUnknown_0860D343:: @ 860D343 - .byte 0x26, 0x3e, 0x4e - -gUnknown_0860D346:: @ 860D346 - .byte 0x00, 0x04, 0x00 - -gUnknown_0860D349:: @ 860D349 - .byte 0x00, 0x05, 0x09, 0x0c, 0x0e, 0x00, 0x00 - - .align 2 -gBattleDomeMatchNumberPointers:: @ 860D350 - .4byte gBattleDomeMatchNumber1 - .4byte gBattleDomeMatchNumber2 - .4byte gBattleDomeMatchNumber3 - .4byte gBattleDomeMatchNumber4 - .4byte gBattleDomeMatchNumber5 - .4byte gBattleDomeMatchNumber6 - .4byte gBattleDomeMatchNumber7 - .4byte gBattleDomeMatchNumber8 - .4byte gBattleDomeMatchNumber9 - .4byte gBattleDomeMatchNumber10 - .4byte gBattleDomeMatchNumber11 - .4byte gBattleDomeMatchNumber12 - .4byte gBattleDomeMatchNumber13 - .4byte gBattleDomeMatchNumber14 - .4byte gBattleDomeMatchNumber15 - - .align 2 -gBattleDomeWinStringsPointers:: @ 860D38C - .4byte gBattleDomeWinStrings1 - .4byte gBattleDomeWinStrings2 - .4byte gBattleDomeWinStrings3 - .4byte gBattleDomeWinStrings4 - .4byte gBattleDomeWinStrings5 - .4byte gBattleDomeWinStrings6 - .4byte gBattleDomeWinStrings7 - -gUnknown_0860D3A8:: @ 860D3A8 - .byte 0x60, 0x60, 0x60 - -gUnknown_0860D3AB:: @ 860D3AB - .byte 0x38, 0x50, 0x68 - -gUnknown_0860D3AE:: @ 860D3AE - .byte 0x90, 0x90, 0x90 - -gUnknown_0860D3B1:: @ 860D3B1 - .byte 0x38, 0x50, 0x68 - -gUnknown_0860D3B4:: @ 860D3B4 - .byte 0x00, 0x08, 0x0c, 0x04, 0x07, 0x0f, 0x0b, 0x03, 0x02, 0x0a, 0x0e, 0x06, 0x05, 0x0d, 0x09, 0x01 - -gUnknown_0860D3C4:: @ 860D3C4 - .byte 0x00, 0x02 - -gUnknown_0860D3C6:: @ 860D3C6 - .byte 0x00, 0x02, 0x02, 0x00, 0x04, 0x02, 0x00, 0x06, 0x02, 0x00, 0x08, 0x02, 0x00, 0x0a, 0x02, 0x00, 0x0c, 0x02, 0x00, 0x0e, 0x02, 0x00, 0x00, 0x04, 0x01, 0x04, 0x04, 0x01, 0x08, 0x04, 0x01, 0x0c - .byte 0x04, 0x01, 0x00, 0x08, 0x02, 0x08, 0x08, 0x02, 0x00, 0x10, 0x03 - -gUnknown_0860D3F1:: @ 860D3F1 - .byte 0x00 - -gUnknown_0860D3F2:: @ 860D3F2 - .byte 0x00, 0x01, 0x70, 0x01, 0x00, 0x00, 0x70, 0x00, 0x30, 0x01, 0x40, 0x01, 0x30, 0x00, 0x40, 0x00, 0x10, 0x01, 0x60, 0x01, 0x10, 0x00, 0x60, 0x00, 0x20, 0x01, 0x50, 0x01, 0x20, 0x00, 0x50 - -gUnknown_0860D411:: @ 860D411 struct - byte 1 and 2 loaded seperately, 2 added to move 1 addr across - .byte 0x44, 0x21, 0x44, 0x31, 0x44, 0x41, 0x44, 0x51, 0x44, 0x61, 0x44, 0x71, 0x44, 0x81, 0x44, 0x91, 0xac, 0x21, 0xac, 0x31, 0xac, 0x41, 0xac, 0x51, 0xac, 0x61, 0xac, 0x71, 0xac, 0x81, 0xac, 0x91 - .byte 0x57, 0x29, 0x57, 0x49, 0x57, 0x69, 0x57, 0x89, 0x99, 0x29, 0x99, 0x49, 0x99, 0x69, 0x99, 0x89, 0x5f, 0x39, 0x5f, 0x79, 0x91, 0x39, 0x91, 0x79, 0x67, 0x59, 0x89, 0x59, 0x78, 0x59, 0x00 - - .align 2 -gUnknown_0860d450:: @ 860D450 - .4byte 0x60210409 - .4byte 0x6023040a - .4byte 0x6047050a - .4byte 0x6043050b - - .align 2 -gUnknown_0860d460:: @ 860D460 - .4byte 0x60210409 - .4byte 0x6023040a - .4byte 0x6047050a - .4byte 0x6023050b - .4byte 0x6027060b - .4byte 0x6047070b - .4byte 0x6043070c - - .align 2 -gUnknown_0860d47c:: @ 860D47C - .4byte 0x60210409 - .4byte 0x6023040a - .4byte 0x6047050a - .4byte 0x6023050b - .4byte 0x6027060b - .4byte 0x6047070b - .4byte 0x6023070c - .4byte 0x6027080c - .4byte 0x6027090c - .4byte 0x60270a0c - .4byte 0x603b0b0c - - .align 2 -gUnknown_0860d4a8:: @ 860D4A8 - .4byte 0x60210409 - .4byte 0x6023040a - .4byte 0x6047050a - .4byte 0x6023050b - .4byte 0x6027060b - .4byte 0x6047070b - .4byte 0x6023070c - .4byte 0x6027080c - .4byte 0x6027090c - .4byte 0x60270a0c - .4byte 0x603b0b0c - .4byte 0x602c0b0d - .4byte 0x602d0b0e - - .align 2 -gUnknown_0860d4dc:: @ 860D4DC - .4byte 0x60210609 - .4byte 0x6021060a - .4byte 0x6027050a - .4byte 0x6043050b - - .align 2 -gUnknown_0860d4ec:: @ 860D4EC - .4byte 0x60210609 - .4byte 0x6021060a - .4byte 0x6027050a - .4byte 0x6023050b - .4byte 0x6027060b - .4byte 0x6047070b - .4byte 0x6043070c - - .align 2 -gUnknown_0860d508:: @ 860D508 - .4byte 0x60210609 - .4byte 0x6021060a - .4byte 0x6027050a - .4byte 0x6023050b - .4byte 0x6027060b - .4byte 0x6047070b - .4byte 0x6023070c - .4byte 0x6027080c - .4byte 0x6027090c - .4byte 0x60270a0c - .4byte 0x603b0b0c - - .align 2 -gUnknown_0860d534:: @ 860D534 - .4byte 0x60210609 - .4byte 0x6021060a - .4byte 0x6027050a - .4byte 0x6023050b - .4byte 0x6027060b - .4byte 0x6047070b - .4byte 0x6023070c - .4byte 0x6027080c - .4byte 0x6027090c - .4byte 0x60270a0c - .4byte 0x603b0b0c - .4byte 0x602c0b0d - .4byte 0x602d0b0e - - .align 2 -gUnknown_0860d568:: @ 860D568 - .4byte 0x60210809 - .4byte 0x6023080a - .4byte 0x6047090a - .4byte 0x6021090b - - .align 2 -gUnknown_0860d578:: @ 860D578 - .4byte 0x60210809 - .4byte 0x6023080a - .4byte 0x6047090a - .4byte 0x6021090b - .4byte 0x6027080b - .4byte 0x6027070b - .4byte 0x6043070c - - .align 2 -gUnknown_0860d594:: @ 860D594 - .4byte 0x60210809 - .4byte 0x6023080a - .4byte 0x6047090a - .4byte 0x6021090b - .4byte 0x6027080b - .4byte 0x6027070b - .4byte 0x6023070c - .4byte 0x6027080c - .4byte 0x6027090c - .4byte 0x60270a0c - .4byte 0x603b0b0c - - .align 2 -gUnknown_0860d5c0:: @ 860D5C0 - .4byte 0x60210809 - .4byte 0x6023080a - .4byte 0x6047090a - .4byte 0x6021090b - .4byte 0x6027080b - .4byte 0x6027070b - .4byte 0x6023070c - .4byte 0x6027080c - .4byte 0x6027090c - .4byte 0x60270a0c - .4byte 0x603b0b0c - .4byte 0x602c0b0d - .4byte 0x602d0b0e - - .align 2 -gUnknown_0860d5f4:: @ 860D5F4 - .4byte 0x60210a09 - .4byte 0x60210a0a - .4byte 0x6027090a - .4byte 0x6021090b - - .align 2 -gUnknown_0860d604:: @ 860D604 - .4byte 0x60210a09 - .4byte 0x60210a0a - .4byte 0x6027090a - .4byte 0x6021090b - .4byte 0x6027080b - .4byte 0x6027070b - .4byte 0x6043070c - - .align 2 -gUnknown_0860d620:: @ 860D620 - .4byte 0x60210a09 - .4byte 0x60210a0a - .4byte 0x6027090a - .4byte 0x6021090b - .4byte 0x6027080b - .4byte 0x6027070b - .4byte 0x6023070c - .4byte 0x6027080c - .4byte 0x6027090c - .4byte 0x60270a0c - .4byte 0x603b0b0c - - .align 2 -gUnknown_0860d64c:: @ 860D64C - .4byte 0x60210a09 - .4byte 0x60210a0a - .4byte 0x6027090a - .4byte 0x6021090b - .4byte 0x6027080b - .4byte 0x6027070b - .4byte 0x6023070c - .4byte 0x6027080c - .4byte 0x6027090c - .4byte 0x60270a0c - .4byte 0x603b0b0c - .4byte 0x602c0b0d - .4byte 0x602d0b0e - - .align 2 -gUnknown_0860d680:: @ 860D680 - .4byte 0x60210c09 - .4byte 0x60230c0a - .4byte 0x60470d0a - .4byte 0x60430d0b - - .align 2 -gUnknown_0860d690:: @ 860D690 - .4byte 0x60210c09 - .4byte 0x60230c0a - .4byte 0x60470d0a - .4byte 0x60230d0b - .4byte 0x60270e0b - .4byte 0x60470f0b - .4byte 0x60210f0c - - .align 2 -gUnknown_0860d6ac:: @ 860D6AC - .4byte 0x60210c09 - .4byte 0x60230c0a - .4byte 0x60470d0a - .4byte 0x60230d0b - .4byte 0x60270e0b - .4byte 0x60470f0b - .4byte 0x60210f0c - .4byte 0x60330e0c - .4byte 0x60320d0c - .4byte 0x60310c0c - .4byte 0x60300b0c - - .align 2 -gUnknown_0860d6d8:: @ 860D6D8 - .4byte 0x60210c09 - .4byte 0x60230c0a - .4byte 0x60470d0a - .4byte 0x60230d0b - .4byte 0x60270e0b - .4byte 0x60470f0b - .4byte 0x60210f0c - .4byte 0x60330e0c - .4byte 0x60320d0c - .4byte 0x60310c0c - .4byte 0x60300b0c - .4byte 0x602c0b0d - .4byte 0x602d0b0e - - .align 2 -gUnknown_0860d70c:: @ 860D70C - .4byte 0x60210e09 - .4byte 0x60210e0a - .4byte 0x60270d0a - .4byte 0x60430d0b - - .align 2 -gUnknown_0860d71c:: @ 860D71C - .4byte 0x60210e09 - .4byte 0x60210e0a - .4byte 0x60270d0a - .4byte 0x60230d0b - .4byte 0x60270e0b - .4byte 0x60470f0b - .4byte 0x60210f0c - - .align 2 -gUnknown_0860d738:: @ 860D738 - .4byte 0x60210e09 - .4byte 0x60210e0a - .4byte 0x60270d0a - .4byte 0x60230d0b - .4byte 0x60270e0b - .4byte 0x60470f0b - .4byte 0x60210f0c - .4byte 0x60330e0c - .4byte 0x60320d0c - .4byte 0x60310c0c - .4byte 0x60300b0c - - .align 2 -gUnknown_0860d764:: @ 860D764 - .4byte 0x60210e09 - .4byte 0x60210e0a - .4byte 0x60270d0a - .4byte 0x60230d0b - .4byte 0x60270e0b - .4byte 0x60470f0b - .4byte 0x60210f0c - .4byte 0x60330e0c - .4byte 0x60320d0c - .4byte 0x60310c0c - .4byte 0x60300b0c - .4byte 0x602c0b0d - .4byte 0x602d0b0e - - .align 2 -gUnknown_0860d798:: @ 860D798 - .4byte 0x60211009 - .4byte 0x6023100a - .4byte 0x6047110a - .4byte 0x6021110b - - .align 2 -gUnknown_0860d7a8:: @ 860D7A8 - .4byte 0x60211009 - .4byte 0x6023100a - .4byte 0x6047110a - .4byte 0x6021110b - .4byte 0x6027100b - .4byte 0x60270f0b - .4byte 0x60210f0c - - .align 2 -gUnknown_0860d7c4:: @ 860D7C4 - .4byte 0x60211009 - .4byte 0x6023100a - .4byte 0x6047110a - .4byte 0x6021110b - .4byte 0x6027100b - .4byte 0x60270f0b - .4byte 0x60210f0c - .4byte 0x60330e0c - .4byte 0x60320d0c - .4byte 0x60310c0c - .4byte 0x60300b0c - - .align 2 -gUnknown_0860d7f0:: @ 860D7F0 - .4byte 0x60211009 - .4byte 0x6023100a - .4byte 0x6047110a - .4byte 0x6021110b - .4byte 0x6027100b - .4byte 0x60270f0b - .4byte 0x60210f0c - .4byte 0x60330e0c - .4byte 0x60320d0c - .4byte 0x60310c0c - .4byte 0x60300b0c - .4byte 0x602c0b0d - .4byte 0x602d0b0e - - .align 2 -gUnknown_0860d824:: @ 860D824 - .4byte 0x602b1209 - .4byte 0x602b120a - .4byte 0x6027110a - .4byte 0x6021110b - - .align 2 -gUnknown_0860d834:: @ 860D834 - .4byte 0x602b1209 - .4byte 0x602b120a - .4byte 0x6027110a - .4byte 0x6021110b - .4byte 0x6027100b - .4byte 0x60270f0b - .4byte 0x60210f0c - - .align 2 -gUnknown_0860d850:: @ 860D850 - .4byte 0x602b1209 - .4byte 0x602b120a - .4byte 0x6027110a - .4byte 0x6021110b - .4byte 0x6027100b - .4byte 0x60270f0b - .4byte 0x60210f0c - .4byte 0x60330e0c - .4byte 0x60320d0c - .4byte 0x60310c0c - .4byte 0x60300b0c - - .align 2 -gUnknown_0860d87c:: @ 860D87C - .4byte 0x602b1209 - .4byte 0x602b120a - .4byte 0x6027110a - .4byte 0x6021110b - .4byte 0x6027100b - .4byte 0x60270f0b - .4byte 0x60210f0c - .4byte 0x60330e0c - .4byte 0x60320d0c - .4byte 0x60310c0c - .4byte 0x60300b0c - .4byte 0x602c0b0d - .4byte 0x602d0b0e - - .align 2 -gUnknown_0860d8b0:: @ 860D8B0 - .4byte 0x60210414 - .4byte 0x60250413 - .4byte 0x60490513 - .4byte 0x60450512 - - .align 2 -gUnknown_0860d8c0:: @ 860D8C0 - .4byte 0x60210414 - .4byte 0x60250413 - .4byte 0x60490513 - .4byte 0x60250512 - .4byte 0x60290612 - .4byte 0x60490712 - .4byte 0x60450711 - - .align 2 -gUnknown_0860d8dc:: @ 860D8DC - .4byte 0x60210414 - .4byte 0x60250413 - .4byte 0x60490513 - .4byte 0x60250512 - .4byte 0x60290612 - .4byte 0x60490712 - .4byte 0x60250711 - .4byte 0x60290811 - .4byte 0x60290911 - .4byte 0x60290a11 - .4byte 0x603c0b11 - - .align 2 -gUnknown_0860d908:: @ 860D908 - .4byte 0x60210414 - .4byte 0x60250413 - .4byte 0x60490513 - .4byte 0x60250512 - .4byte 0x60290612 - .4byte 0x60490712 - .4byte 0x60250711 - .4byte 0x60290811 - .4byte 0x60290911 - .4byte 0x60290a11 - .4byte 0x603c0b11 - .4byte 0x602f0b10 - .4byte 0x602e0b0f - - .align 2 -gUnknown_0860d93c:: @ 860D93C - .4byte 0x60210614 - .4byte 0x60210613 - .4byte 0x60290513 - .4byte 0x60450512 - - .align 2 -gUnknown_0860d94c:: @ 860D94C - .4byte 0x60210614 - .4byte 0x60210613 - .4byte 0x60290513 - .4byte 0x60250512 - .4byte 0x60290612 - .4byte 0x60490712 - .4byte 0x60450711 - - .align 2 -gUnknown_0860d968:: @ 860D968 - .4byte 0x60210614 - .4byte 0x60210613 - .4byte 0x60290513 - .4byte 0x60250512 - .4byte 0x60290612 - .4byte 0x60490712 - .4byte 0x60250711 - .4byte 0x60290811 - .4byte 0x60290911 - .4byte 0x60290a11 - .4byte 0x603c0b11 - - .align 2 -gUnknown_0860d994:: @ 860D994 - .4byte 0x60210614 - .4byte 0x60210613 - .4byte 0x60290513 - .4byte 0x60250512 - .4byte 0x60290612 - .4byte 0x60490712 - .4byte 0x60250711 - .4byte 0x60290811 - .4byte 0x60290911 - .4byte 0x60290a11 - .4byte 0x603c0b11 - .4byte 0x602f0b10 - .4byte 0x602e0b0f - - .align 2 -gUnknown_0860d9c8:: @ 860D9C8 - .4byte 0x60210814 - .4byte 0x60250813 - .4byte 0x60490913 - .4byte 0x60210912 - - .align 2 -gUnknown_0860d9d8:: @ 860D9D8 - .4byte 0x60210814 - .4byte 0x60250813 - .4byte 0x60490913 - .4byte 0x60210912 - .4byte 0x60290812 - .4byte 0x60290712 - .4byte 0x60450711 - - .align 2 -gUnknown_0860d9f4:: @ 860D9F4 - .4byte 0x60210814 - .4byte 0x60250813 - .4byte 0x60490913 - .4byte 0x60210912 - .4byte 0x60290812 - .4byte 0x60290712 - .4byte 0x60250711 - .4byte 0x60290811 - .4byte 0x60290911 - .4byte 0x60290a11 - .4byte 0x603c0b11 - - .align 2 -gUnknown_0860da20:: @ 860DA20 - .4byte 0x60210814 - .4byte 0x60250813 - .4byte 0x60490913 - .4byte 0x60210912 - .4byte 0x60290812 - .4byte 0x60290712 - .4byte 0x60250711 - .4byte 0x60290811 - .4byte 0x60290911 - .4byte 0x60290a11 - .4byte 0x603c0b11 - .4byte 0x602f0b10 - .4byte 0x602e0b0f - - .align 2 -gUnknown_0860da54:: @ 860DA54 - .4byte 0x60210a14 - .4byte 0x60210a13 - .4byte 0x60290913 - .4byte 0x60210912 - - .align 2 -gUnknown_0860da64:: @ 860DA64 - .4byte 0x60210a14 - .4byte 0x60210a13 - .4byte 0x60290913 - .4byte 0x60210912 - .4byte 0x60290812 - .4byte 0x60290712 - .4byte 0x60450711 - - .align 2 -gUnknown_0860da80:: @ 860DA80 - .4byte 0x60210a14 - .4byte 0x60210a13 - .4byte 0x60290913 - .4byte 0x60210912 - .4byte 0x60290812 - .4byte 0x60290712 - .4byte 0x60250711 - .4byte 0x60290811 - .4byte 0x60290911 - .4byte 0x60290a11 - .4byte 0x603c0b11 - - .align 2 -gUnknown_0860daac:: @ 860DAAC - .4byte 0x60210a14 - .4byte 0x60210a13 - .4byte 0x60290913 - .4byte 0x60210912 - .4byte 0x60290812 - .4byte 0x60290712 - .4byte 0x60250711 - .4byte 0x60290811 - .4byte 0x60290911 - .4byte 0x60290a11 - .4byte 0x603c0b11 - .4byte 0x602f0b10 - .4byte 0x602e0b0f - - .align 2 -gUnknown_0860dae0:: @ 860DAE0 - .4byte 0x60210c14 - .4byte 0x60250c13 - .4byte 0x60490d13 - .4byte 0x60450d12 - - .align 2 -gUnknown_0860daf0:: @ 860DAF0 - .4byte 0x60210c14 - .4byte 0x60250c13 - .4byte 0x60490d13 - .4byte 0x60250d12 - .4byte 0x60290e12 - .4byte 0x60490f12 - .4byte 0x60210f11 - - .align 2 -gUnknown_0860db0c:: @ 860DB0C - .4byte 0x60210c14 - .4byte 0x60250c13 - .4byte 0x60490d13 - .4byte 0x60250d12 - .4byte 0x60290e12 - .4byte 0x60490f12 - .4byte 0x60210f11 - .4byte 0x60380e11 - .4byte 0x60370d11 - .4byte 0x60360c11 - .4byte 0x60350b11 - - .align 2 -gUnknown_0860db38:: @ 860DB38 - .4byte 0x60210c14 - .4byte 0x60250c13 - .4byte 0x60490d13 - .4byte 0x60250d12 - .4byte 0x60290e12 - .4byte 0x60490f12 - .4byte 0x60210f11 - .4byte 0x60380e11 - .4byte 0x60370d11 - .4byte 0x60360c11 - .4byte 0x60350b11 - .4byte 0x602f0b10 - .4byte 0x602e0b0f - - .align 2 -gUnknown_0860db6c:: @ 860DB6C - .4byte 0x60210e14 - .4byte 0x60210e13 - .4byte 0x60290d13 - .4byte 0x60450d12 - - .align 2 -gUnknown_0860db7c:: @ 860DB7C - .4byte 0x60210e14 - .4byte 0x60210e13 - .4byte 0x60290d13 - .4byte 0x60250d12 - .4byte 0x60290e12 - .4byte 0x60490f12 - .4byte 0x60210f11 - - .align 2 -gUnknown_0860db98:: @ 860DB98 - .4byte 0x60210e14 - .4byte 0x60210e13 - .4byte 0x60290d13 - .4byte 0x60250d12 - .4byte 0x60290e12 - .4byte 0x60490f12 - .4byte 0x60210f11 - .4byte 0x60380e11 - .4byte 0x60370d11 - .4byte 0x60360c11 - .4byte 0x60350b11 - - .align 2 -gUnknown_0860dbc4:: @ 860DBC4 - .4byte 0x60210e14 - .4byte 0x60210e13 - .4byte 0x60290d13 - .4byte 0x60250d12 - .4byte 0x60290e12 - .4byte 0x60490f12 - .4byte 0x60210f11 - .4byte 0x60380e11 - .4byte 0x60370d11 - .4byte 0x60360c11 - .4byte 0x60350b11 - .4byte 0x602f0b10 - .4byte 0x602e0b0f - - .align 2 -gUnknown_0860dbf8:: @ 860DBF8 - .4byte 0x60211014 - .4byte 0x60251013 - .4byte 0x60491113 - .4byte 0x60211112 - - .align 2 -gUnknown_0860dc08:: @ 860DC08 - .4byte 0x60211014 - .4byte 0x60251013 - .4byte 0x60491113 - .4byte 0x60211112 - .4byte 0x60291012 - .4byte 0x60290f12 - .4byte 0x60210f11 - - .align 2 -gUnknown_0860dc24:: @ 860DC24 - .4byte 0x60211014 - .4byte 0x60251013 - .4byte 0x60491113 - .4byte 0x60211112 - .4byte 0x60291012 - .4byte 0x60290f12 - .4byte 0x60210f11 - .4byte 0x60380e11 - .4byte 0x60370d11 - .4byte 0x60360c11 - .4byte 0x60350b11 - - .align 2 -gUnknown_0860dc50:: @ 860DC50 - .4byte 0x60211014 - .4byte 0x60251013 - .4byte 0x60491113 - .4byte 0x60211112 - .4byte 0x60291012 - .4byte 0x60290f12 - .4byte 0x60210f11 - .4byte 0x60380e11 - .4byte 0x60370d11 - .4byte 0x60360c11 - .4byte 0x60350b11 - .4byte 0x602f0b10 - .4byte 0x602e0b0f - - .align 2 -gUnknown_0860dc84:: @ 860DC84 - .4byte 0x602b1214 - .4byte 0x602b1213 - .4byte 0x60291113 - .4byte 0x60211112 - - .align 2 -gUnknown_0860dc94:: @ 860DC94 - .4byte 0x602b1214 - .4byte 0x602b1213 - .4byte 0x60291113 - .4byte 0x60211112 - .4byte 0x60291012 - .4byte 0x60290f12 - .4byte 0x60210f11 - - .align 2 -gUnknown_0860dcb0:: @ 860DCB0 - .4byte 0x602b1214 - .4byte 0x602b1213 - .4byte 0x60291113 - .4byte 0x60211112 - .4byte 0x60291012 - .4byte 0x60290f12 - .4byte 0x60210f11 - .4byte 0x60380e11 - .4byte 0x60370d11 - .4byte 0x60360c11 - .4byte 0x60350b11 - - .align 2 -gUnknown_0860dcdc:: @ 860DCDC - .4byte 0x602b1214 - .4byte 0x602b1213 - .4byte 0x60291113 - .4byte 0x60211112 - .4byte 0x60291012 - .4byte 0x60290f12 - .4byte 0x60210f11 - .4byte 0x60380e11 - .4byte 0x60370d11 - .4byte 0x60360c11 - .4byte 0x60350b11 - .4byte 0x602f0b10 - .4byte 0x602e0b0f - - .align 2 -gUnknown_0860DD10:: @ 860DD10 - .4byte gUnknown_0860d450 - .4byte gUnknown_0860d460 - .4byte gUnknown_0860d47c - .4byte gUnknown_0860d4a8 - .4byte gUnknown_0860dc84 - .4byte gUnknown_0860dc94 - .4byte gUnknown_0860dcb0 - .4byte gUnknown_0860dcdc - .4byte gUnknown_0860d8b0 - .4byte gUnknown_0860d8c0 - .4byte gUnknown_0860d8dc - .4byte gUnknown_0860d908 - .4byte gUnknown_0860d824 - .4byte gUnknown_0860d834 - .4byte gUnknown_0860d850 - .4byte gUnknown_0860d87c - .4byte gUnknown_0860d5f4 - .4byte gUnknown_0860d604 - .4byte gUnknown_0860d620 - .4byte gUnknown_0860d64c - .4byte gUnknown_0860dae0 - .4byte gUnknown_0860daf0 - .4byte gUnknown_0860db0c - .4byte gUnknown_0860db38 - .4byte gUnknown_0860da54 - .4byte gUnknown_0860da64 - .4byte gUnknown_0860da80 - .4byte gUnknown_0860daac - .4byte gUnknown_0860d680 - .4byte gUnknown_0860d690 - .4byte gUnknown_0860d6ac - .4byte gUnknown_0860d6d8 - .4byte gUnknown_0860d4dc - .4byte gUnknown_0860d4ec - .4byte gUnknown_0860d508 - .4byte gUnknown_0860d534 - .4byte gUnknown_0860dbf8 - .4byte gUnknown_0860dc08 - .4byte gUnknown_0860dc24 - .4byte gUnknown_0860dc50 - .4byte gUnknown_0860d93c - .4byte gUnknown_0860d94c - .4byte gUnknown_0860d968 - .4byte gUnknown_0860d994 - .4byte gUnknown_0860d798 - .4byte gUnknown_0860d7a8 - .4byte gUnknown_0860d7c4 - .4byte gUnknown_0860d7f0 - .4byte gUnknown_0860d568 - .4byte gUnknown_0860d578 - .4byte gUnknown_0860d594 - .4byte gUnknown_0860d5c0 - .4byte gUnknown_0860db6c - .4byte gUnknown_0860db7c - .4byte gUnknown_0860db98 - .4byte gUnknown_0860dbc4 - .4byte gUnknown_0860d9c8 - .4byte gUnknown_0860d9d8 - .4byte gUnknown_0860d9f4 - .4byte gUnknown_0860da20 - .4byte gUnknown_0860d70c - .4byte gUnknown_0860d71c - .4byte gUnknown_0860d738 - .4byte gUnknown_0860d764 - -gUnknown_0860DE10:: @ 860DE10 - .byte 0x04, 0x07, 0x0b, 0x0d, 0x04, 0x07, 0x0b, 0x0d, 0x04, 0x07, 0x0b, 0x0d, 0x04, 0x07, 0x0b, 0x0d, 0x04, 0x07, 0x0b, 0x0d, 0x04, 0x07, 0x0b, 0x0d, 0x04, 0x07, 0x0b, 0x0d, 0x04, 0x07, 0x0b, 0x0d - .byte 0x04, 0x07, 0x0b, 0x0d, 0x04, 0x07, 0x0b, 0x0d, 0x04, 0x07, 0x0b, 0x0d, 0x04, 0x07, 0x0b, 0x0d, 0x04, 0x07, 0x0b, 0x0d, 0x04, 0x07, 0x0b, 0x0d, 0x04, 0x07, 0x0b, 0x0d, 0x04, 0x07, 0x0b, 0x0d - .align 2 gUnknown_0860DE50:: @ 860DE50 .4byte sub_8195980 diff --git a/src/battle_dome.c b/src/battle_dome.c index 058d253ab5..6d9584ea50 100644 --- a/src/battle_dome.c +++ b/src/battle_dome.c @@ -89,53 +89,11 @@ extern u16 gBattle_BG3_X; extern u16 gBattle_BG3_Y; extern const struct FacilityMon *gFacilityTrainerMons; -extern void (* const gUnknown_0860D090[])(void); -extern const u32 gUnknown_0860D0EC[][2]; -extern const u32 gUnknown_0860D0FC[][2]; extern const u16 gBattleFrontierHeldItems[]; -extern const u8 gUnknown_0860D10C[][4]; -extern const u8 gUnknown_0860D14C[]; -extern const struct BgTemplate gUnknown_0860CE84[4]; -extern const struct WindowTemplate gUnknown_0860CEB4[]; -extern const struct CompressedSpriteSheet gUnknown_0860CF50[]; -extern const struct SpriteTemplate gUnknown_0860D068; -extern const struct SpriteTemplate gUnknown_0860D050; -extern const u8 gUnknown_0860D080[]; -extern const u8 gUnknown_0860D15C[]; -extern const u8 gUnknown_0860D1A0[][4]; -extern const u8 gUnknown_0860D19C[]; -extern const u8 gUnknown_0860D349[]; -extern const u8 gUnknown_0860D1C0[]; -extern const u8 gUnknown_0860D343[]; -extern const u8 gUnknown_0860D340[]; -extern const u8 gUnknown_0860D346[]; -extern const u8 gUnknown_0860C988[31][16]; -extern const u8 gUnknown_0860D3F1[][2]; -extern const u8 gUnknown_0860D3C4[][3]; -extern const u8 gUnknown_0860D3B4[]; -extern const u8 gUnknown_0860D3A8[]; -extern const u8 gUnknown_0860D3AB[]; -extern const u8 gUnknown_0860D3AE[]; -extern const u8 gUnknown_0860D3B1[]; -extern const u8 gUnknown_0860D080[]; extern const u8 gUnknown_08D83900[]; -extern const u8 gUnknown_0860CBF1[][5][4]; -extern const u8 *const gBattleDomePotentialPointers[]; -extern const u8 *const gBattleDomeOpponentStylePointers[]; -extern const u8 *const gBattleDomeOpponentStatsPointers[]; -extern const u8 *const gBattleDomeWinStringsPointers[]; -extern const u8 *const gBattleDomeMatchNumberPointers[]; extern const struct FacilityMon gBattleFrontierMons[]; extern const struct BattleFrontierTrainer gBattleFrontierTrainers[]; -extern const struct BgTemplate gUnknown_0860CE74[4]; -extern const struct WindowTemplate gUnknown_0860CE94[]; -extern const u8 gUnknown_0860D411[][2]; extern const struct SpriteTemplate gUnknown_0860CFA8; -extern const struct SpriteTemplate gUnknown_0860D008; -extern const struct SpriteTemplate gUnknown_0860CFD8; -extern const struct ScanlineEffectParams gUnknown_0860CF44; -extern const struct UnkStruct_860DD10 *gUnknown_0860DD10[][4]; -extern const u8 gUnknown_0860DE10[][4]; // gfx extern const u8 gUnknown_08D83D50[]; @@ -149,10 +107,126 @@ extern const u8 gUnknown_08D82F10[]; extern const u8 gUnknown_08D834FC[]; extern const u8 gUnknown_08D83B2C[]; extern const u8 gUnknown_08D83C3C[]; +extern const u8 gBattleFrontierGfx_DomeOptions[]; // text extern const u8 gTrainerClassNames[][0xD]; +extern const u8 gBattleDomeOpponentPotential1[]; +extern const u8 gBattleDomeOpponentPotential2[]; +extern const u8 gBattleDomeOpponentPotential3[]; +extern const u8 gBattleDomeOpponentPotential4[]; +extern const u8 gBattleDomeOpponentPotential5[]; +extern const u8 gBattleDomeOpponentPotential6[]; +extern const u8 gBattleDomeOpponentPotential7[]; +extern const u8 gBattleDomeOpponentPotential8[]; +extern const u8 gBattleDomeOpponentPotential9[]; +extern const u8 gBattleDomeOpponentPotential10[]; +extern const u8 gBattleDomeOpponentPotential11[]; +extern const u8 gBattleDomeOpponentPotential12[]; +extern const u8 gBattleDomeOpponentPotential13[]; +extern const u8 gBattleDomeOpponentPotential14[]; +extern const u8 gBattleDomeOpponentPotential15[]; +extern const u8 gBattleDomeOpponentPotential16[]; +extern const u8 gBattleDomeOpponentPotential17[]; +extern const u8 gBattleDomeOpponentStyle1[]; +extern const u8 gBattleDomeOpponentStyle2[]; +extern const u8 gBattleDomeOpponentStyle3[]; +extern const u8 gBattleDomeOpponentStyle4[]; +extern const u8 gBattleDomeOpponentStyle5[]; +extern const u8 gBattleDomeOpponentStyle6[]; +extern const u8 gBattleDomeOpponentStyle7[]; +extern const u8 gBattleDomeOpponentStyle8[]; +extern const u8 gBattleDomeOpponentStyle9[]; +extern const u8 gBattleDomeOpponentStyle10[]; +extern const u8 gBattleDomeOpponentStyle11[]; +extern const u8 gBattleDomeOpponentStyle12[]; +extern const u8 gBattleDomeOpponentStyle13[]; +extern const u8 gBattleDomeOpponentStyle14[]; +extern const u8 gBattleDomeOpponentStyle15[]; +extern const u8 gBattleDomeOpponentStyle16[]; +extern const u8 gBattleDomeOpponentStyle17[]; +extern const u8 gBattleDomeOpponentStyle18[]; +extern const u8 gBattleDomeOpponentStyle19[]; +extern const u8 gBattleDomeOpponentStyle20[]; +extern const u8 gBattleDomeOpponentStyle21[]; +extern const u8 gBattleDomeOpponentStyle22[]; +extern const u8 gBattleDomeOpponentStyle23[]; +extern const u8 gBattleDomeOpponentStyle24[]; +extern const u8 gBattleDomeOpponentStyle25[]; +extern const u8 gBattleDomeOpponentStyle26[]; +extern const u8 gBattleDomeOpponentStyle27[]; +extern const u8 gBattleDomeOpponentStyle28[]; +extern const u8 gBattleDomeOpponentStyleUnused1[]; +extern const u8 gBattleDomeOpponentStyleUnused2[]; +extern const u8 gBattleDomeOpponentStyleUnused3[]; +extern const u8 gBattleDomeOpponentStyleUnused4[]; +extern const u8 gBattleDomeOpponentStats1[]; +extern const u8 gBattleDomeOpponentStats2[]; +extern const u8 gBattleDomeOpponentStats3[]; +extern const u8 gBattleDomeOpponentStats4[]; +extern const u8 gBattleDomeOpponentStats5[]; +extern const u8 gBattleDomeOpponentStats6[]; +extern const u8 gBattleDomeOpponentStats7[]; +extern const u8 gBattleDomeOpponentStats8[]; +extern const u8 gBattleDomeOpponentStats9[]; +extern const u8 gBattleDomeOpponentStats10[]; +extern const u8 gBattleDomeOpponentStats11[]; +extern const u8 gBattleDomeOpponentStats12[]; +extern const u8 gBattleDomeOpponentStats13[]; +extern const u8 gBattleDomeOpponentStats14[]; +extern const u8 gBattleDomeOpponentStats15[]; +extern const u8 gBattleDomeOpponentStats16[]; +extern const u8 gBattleDomeOpponentStats17[]; +extern const u8 gBattleDomeOpponentStats18[]; +extern const u8 gBattleDomeOpponentStats19[]; +extern const u8 gBattleDomeOpponentStats20[]; +extern const u8 gBattleDomeOpponentStats21[]; +extern const u8 gBattleDomeOpponentStats22[]; +extern const u8 gBattleDomeOpponentStats23[]; +extern const u8 gBattleDomeOpponentStats24[]; +extern const u8 gBattleDomeOpponentStats25[]; +extern const u8 gBattleDomeOpponentStats26[]; +extern const u8 gBattleDomeOpponentStats27[]; +extern const u8 gBattleDomeOpponentStats28[]; +extern const u8 gBattleDomeOpponentStats29[]; +extern const u8 gBattleDomeOpponentStats30[]; +extern const u8 gBattleDomeOpponentStats31[]; +extern const u8 gBattleDomeOpponentStats32[]; +extern const u8 gBattleDomeOpponentStats33[]; +extern const u8 gBattleDomeOpponentStats34[]; +extern const u8 gBattleDomeOpponentStats35[]; +extern const u8 gBattleDomeOpponentStats36[]; +extern const u8 gBattleDomeOpponentStats37[]; +extern const u8 gBattleDomeOpponentStats38[]; +extern const u8 gBattleDomeOpponentStats39[]; +extern const u8 gBattleDomeOpponentStats40[]; +extern const u8 gBattleDomeOpponentStats41[]; +extern const u8 gBattleDomeOpponentStats42[]; +extern const u8 gBattleDomeOpponentStats43[]; +extern const u8 gBattleDomeMatchNumber1[]; +extern const u8 gBattleDomeMatchNumber2[]; +extern const u8 gBattleDomeMatchNumber3[]; +extern const u8 gBattleDomeMatchNumber4[]; +extern const u8 gBattleDomeMatchNumber5[]; +extern const u8 gBattleDomeMatchNumber6[]; +extern const u8 gBattleDomeMatchNumber7[]; +extern const u8 gBattleDomeMatchNumber8[]; +extern const u8 gBattleDomeMatchNumber9[]; +extern const u8 gBattleDomeMatchNumber10[]; +extern const u8 gBattleDomeMatchNumber11[]; +extern const u8 gBattleDomeMatchNumber12[]; +extern const u8 gBattleDomeMatchNumber13[]; +extern const u8 gBattleDomeMatchNumber14[]; +extern const u8 gBattleDomeMatchNumber15[]; +extern const u8 gBattleDomeWinStrings1[]; +extern const u8 gBattleDomeWinStrings2[]; +extern const u8 gBattleDomeWinStrings3[]; +extern const u8 gBattleDomeWinStrings4[]; +extern const u8 gBattleDomeWinStrings5[]; +extern const u8 gBattleDomeWinStrings6[]; +extern const u8 gBattleDomeWinStrings7[]; + // This file's functions. static u8 GetDomeTrainerMonIvs(u16 trainerId); static void SwapDomeTrainers(s32 id1, s32 id2, u16 *statsArray); @@ -186,6 +260,32 @@ static void DecideRoundWinners(u8 roundId); static u8 sub_81953E8(u8 tournamentId, u8); static void sub_81948EC(u8, u8); +void sub_8190B40(struct Sprite *sprite); +void sub_8190C6C(struct Sprite *sprite); + +void sub_818E9CC(void); +void sub_818EA84(void); +void sub_818ED28(void); +void sub_818F9B0(void); +void sub_818F9E0(void); +void sub_818FA20(void); +void ShowDomeOpponentInfo(void); +void sub_81938A4(void); +void sub_81938E0(void); +void sub_8190298(void); +void sub_81902E4(void); +void sub_8193D40(void); +void sub_8193D7C(void); +void sub_81902F8(void); +void sub_819033C(void); +void sub_8194D68(void); +void sub_8194E44(void); +void sub_8194EB4(void); +void sub_8194EC0(void); +void sub_8194EF8(void); +void sub_8194F58(void); +void InitDomeTrainers(void); + // EWRAM variables. EWRAM_DATA u32 gUnknown_0203CD70 = 0; static EWRAM_DATA u32 gUnknown_0203CD74 = 0; @@ -193,7 +293,7 @@ static EWRAM_DATA struct BattleDomeStruct *sBattleDomeStruct = {0}; static EWRAM_DATA u8 *sTilemapBuffer = NULL; // Const rom data. -ALIGNED(4) + static const u8 sMovePointsForDomeTrainers[MOVES_COUNT][DOME_TOURNAMENT_TRAINERS_COUNT] = { [MOVE_NONE] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, @@ -553,6 +653,1721 @@ static const u8 sMovePointsForDomeTrainers[MOVES_COUNT][DOME_TOURNAMENT_TRAINERS [MOVE_PSYCHO_BOOST] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1}, }; +static const u8 gUnknown_0860C988[31][16] = +{ + {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, + {0, 0, 0, 0, 2, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0}, + {1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0}, + {3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, + {0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, + {0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, + {0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, + {0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, + {0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0}, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0}, + {0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0}, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0}, + {0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0}, + {0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0}, + {0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0}, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 3, 0, 0}, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0}, + {0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0}, + {0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0}, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0}, + {2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, + {0, 0, 0, 0, 1, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0}, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0}, + {0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0}, + {0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0}, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 4, 0, 0}, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4}, + {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, 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, 0, 0, 0, 0}, +}; +static const u8 sUnusedArray[] = +{ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 3, 0, 0, 0, + 0, 0, 3, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 0, 0, 2, + 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, + 0, 2, 253, 0, 0, 0, 0, 0, 253, 0, 0, 0, 0, 0, 253, 0, + 0, 0, 0, 0, 253, 0, 0, 0, 0, 0, 253, 254, 0, 0, 0, 0, + 0, 254, 0, 0, 0, 0, 0, 254, 0, 0, 0, 0, 0, 254, 0, 0, + 0, 0, 0, 254, 0, 0, 0, 0, 0, +}; + +static const u8 gUnknown_0860CBF1[][5][4]= +{ + {{0x07, 0x01, 0x08, 0x10}, {0x07, 0x01, 0x08, 0x10}, {0x07, 0x01, 0x08, 0x10}, {0x07, 0x01, 0x08, 0x10}, {0x07, 0x01, 0x08, 0x10}}, + {{0x00, 0x02, 0x09, 0x10}, {0x00, 0x02, 0x09, 0x10}, {0x00, 0x02, 0x09, 0x10}, {0x00, 0x02, 0x09, 0x10}, {0x00, 0x02, 0x09, 0x10}}, + {{0x01, 0x03, 0x0a, 0x11}, {0x01, 0x03, 0x0a, 0x11}, {0x01, 0x03, 0x0a, 0x11}, {0x01, 0x03, 0x0a, 0x11}, {0x01, 0x03, 0x0a, 0x11}}, + {{0x02, 0x04, 0x0b, 0x11}, {0x02, 0x04, 0x0b, 0x11}, {0x02, 0x04, 0x0b, 0x11}, {0x02, 0x04, 0x0b, 0x11}, {0x02, 0x04, 0x0b, 0x11}}, + {{0x03, 0x05, 0x0c, 0x12}, {0x03, 0x05, 0x0c, 0x12}, {0x03, 0x05, 0x0c, 0x12}, {0x03, 0x05, 0x0c, 0x12}, {0x03, 0x05, 0x0c, 0x12}}, + {{0x04, 0x06, 0x0d, 0x12}, {0x04, 0x06, 0x0d, 0x12}, {0x04, 0x06, 0x0d, 0x12}, {0x04, 0x06, 0x0d, 0x12}, {0x04, 0x06, 0x0d, 0x12}}, + {{0x05, 0x07, 0x0e, 0x13}, {0x05, 0x07, 0x0e, 0x13}, {0x05, 0x07, 0x0e, 0x13}, {0x05, 0x07, 0x0e, 0x13}, {0x05, 0x07, 0x0e, 0x13}}, + {{0x06, 0x00, 0x0f, 0x13}, {0x06, 0x00, 0x0f, 0x13}, {0x06, 0x00, 0x0f, 0x13}, {0x06, 0x00, 0x0f, 0x13}, {0x06, 0x00, 0x0f, 0x13}}, + {{0x1f, 0x09, 0x14, 0x1f}, {0x1f, 0x09, 0x14, 0x1f}, {0x1f, 0x09, 0x14, 0x1f}, {0x1f, 0x09, 0x14, 0x1f}, {0x1f, 0x09, 0x14, 0x1f}}, + {{0x08, 0x0a, 0x14, 0x01}, {0x08, 0x0a, 0x14, 0x01}, {0x08, 0x0a, 0x14, 0x01}, {0x08, 0x0a, 0x14, 0x01}, {0x08, 0x0a, 0x14, 0x01}}, + {{0x09, 0x0b, 0x15, 0x02}, {0x09, 0x0b, 0x15, 0x02}, {0x09, 0x0b, 0x15, 0x02}, {0x09, 0x0b, 0x15, 0x02}, {0x09, 0x0b, 0x15, 0x02}}, + {{0x0a, 0x0c, 0x15, 0x03}, {0x0a, 0x0c, 0x15, 0x03}, {0x0a, 0x0c, 0x15, 0x03}, {0x0a, 0x0c, 0x15, 0x03}, {0x0a, 0x0c, 0x15, 0x03}}, + {{0x0b, 0x0d, 0x16, 0x04}, {0x0b, 0x0d, 0x16, 0x04}, {0x0b, 0x0d, 0x16, 0x04}, {0x0b, 0x0d, 0x16, 0x04}, {0x0b, 0x0d, 0x16, 0x04}}, + {{0x0c, 0x0e, 0x16, 0x05}, {0x0c, 0x0e, 0x16, 0x05}, {0x0c, 0x0e, 0x16, 0x05}, {0x0c, 0x0e, 0x16, 0x05}, {0x0c, 0x0e, 0x16, 0x05}}, + {{0x0d, 0x0f, 0x17, 0x06}, {0x0d, 0x0f, 0x17, 0x06}, {0x0d, 0x0f, 0x17, 0x06}, {0x0d, 0x0f, 0x17, 0x06}, {0x0d, 0x0f, 0x17, 0x06}}, + {{0x0e, 0x1f, 0x17, 0x07}, {0x0e, 0x1f, 0x17, 0x07}, {0x0e, 0x1f, 0x17, 0x07}, {0x0e, 0x1f, 0x17, 0x07}, {0x0e, 0x1f, 0x17, 0x07}}, + {{0x13, 0x11, 0x00, 0x14}, {0x13, 0x11, 0x00, 0x18}, {0x13, 0x11, 0x00, 0x18}, {0x13, 0x11, 0x00, 0x18}, {0x13, 0x11, 0x00, 0x18}}, + {{0x10, 0x12, 0x02, 0x15}, {0x10, 0x12, 0x02, 0x18}, {0x10, 0x12, 0x02, 0x18}, {0x10, 0x12, 0x02, 0x18}, {0x10, 0x12, 0x02, 0x18}}, + {{0x11, 0x13, 0x04, 0x16}, {0x11, 0x13, 0x04, 0x19}, {0x11, 0x13, 0x04, 0x19}, {0x11, 0x13, 0x04, 0x19}, {0x11, 0x13, 0x04, 0x19}}, + {{0x12, 0x10, 0x06, 0x17}, {0x12, 0x10, 0x06, 0x19}, {0x12, 0x10, 0x06, 0x19}, {0x12, 0x10, 0x06, 0x19}, {0x12, 0x10, 0x06, 0x19}}, + {{0x17, 0x15, 0x10, 0x08}, {0x17, 0x15, 0x1a, 0x08}, {0x17, 0x15, 0x1a, 0x08}, {0x17, 0x15, 0x1a, 0x08}, {0x17, 0x15, 0x1a, 0x08}}, + {{0x14, 0x16, 0x11, 0x0a}, {0x14, 0x16, 0x1a, 0x0a}, {0x14, 0x16, 0x1a, 0x0a}, {0x14, 0x16, 0x1a, 0x0a}, {0x14, 0x16, 0x1a, 0x0a}}, + {{0x15, 0x17, 0x12, 0x0c}, {0x15, 0x17, 0x1b, 0x0c}, {0x15, 0x17, 0x1b, 0x0c}, {0x15, 0x17, 0x1b, 0x0c}, {0x15, 0x17, 0x1b, 0x0c}}, + {{0x16, 0x14, 0x13, 0x0e}, {0x16, 0x14, 0x1b, 0x0e}, {0x16, 0x14, 0x1b, 0x0e}, {0x16, 0x14, 0x1b, 0x0e}, {0x16, 0x14, 0x1b, 0x0e}}, + {{0xff, 0xff, 0xff, 0xff}, {0x19, 0x19, 0x10, 0x1a}, {0x19, 0x19, 0x10, 0x1c}, {0x19, 0x19, 0x10, 0x1c}, {0x19, 0x19, 0x10, 0x1c}}, + {{0xff, 0xff, 0xff, 0xff}, {0x18, 0x18, 0x12, 0x1b}, {0x18, 0x18, 0x12, 0x1c}, {0x18, 0x18, 0x12, 0x1c}, {0x18, 0x18, 0x12, 0x1c}}, + {{0xff, 0xff, 0xff, 0xff}, {0x1b, 0x1b, 0x18, 0x14}, {0x1b, 0x1b, 0x1d, 0x14}, {0x1b, 0x1b, 0x1d, 0x14}, {0x1b, 0x1b, 0x1d, 0x14}}, + {{0xff, 0xff, 0xff, 0xff}, {0x1a, 0x1a, 0x19, 0x16}, {0x1a, 0x1a, 0x1d, 0x16}, {0x1a, 0x1a, 0x1d, 0x16}, {0x1a, 0x1a, 0x1d, 0x16}}, + {{0xff, 0xff, 0xff, 0xff}, {0xff, 0xff, 0xff, 0xff}, {0xff, 0xff, 0x18, 0x1d}, {0xff, 0xff, 0x18, 0x1e}, {0xff, 0xff, 0x18, 0x1e}}, + {{0xff, 0xff, 0xff, 0xff}, {0xff, 0xff, 0xff, 0xff}, {0xff, 0xff, 0x1c, 0x1a}, {0xff, 0xff, 0x1e, 0x1a}, {0xff, 0xff, 0x1e, 0x1a}}, + {{0xff, 0xff, 0xff, 0xff}, {0xff, 0xff, 0xff, 0xff}, {0xff, 0xff, 0xff, 0xff}, {0xff, 0xff, 0x1c, 0x1d}, {0xff, 0xff, 0x1c, 0x1d}}, + {{0x0f, 0x08, 0x08, 0x00}, {0x0f, 0x08, 0x08, 0x00}, {0x0f, 0x08, 0x08, 0x00}, {0x0f, 0x08, 0x08, 0x00}, {0x0f, 0x08, 0x08, 0x00}}, +}; +static const u8 gUnused_0860CBF1[] = {0x00, 0x00, 0x00}; + +static const struct BgTemplate gUnknown_0860CE74[4] = +{ + { + .bg = 0, + .charBaseIndex = 0, + .mapBaseIndex = 28, + .screenSize = 0, + .paletteMode = 0, + .priority = 0, + .baseTile = 0 + }, + { + .bg = 1, + .charBaseIndex = 1, + .mapBaseIndex = 29, + .screenSize = 0, + .paletteMode = 0, + .priority = 1, + .baseTile = 0 + }, + { + .bg = 2, + .charBaseIndex = 2, + .mapBaseIndex = 30, + .screenSize = 0, + .paletteMode = 0, + .priority = 2, + .baseTile = 0 + }, + { + .bg = 3, + .charBaseIndex = 2, + .mapBaseIndex = 31, + .screenSize = 0, + .paletteMode = 0, + .priority = 2, + .baseTile = 0 + }, +}; + +static const struct BgTemplate gUnknown_0860CE84[4] = +{ + { + .bg = 0, + .charBaseIndex = 0, + .mapBaseIndex = 20, + .screenSize = 3, + .paletteMode = 0, + .priority = 0, + .baseTile = 0 + }, + { + .bg = 1, + .charBaseIndex = 1, + .mapBaseIndex = 24, + .screenSize = 3, + .paletteMode = 0, + .priority = 0, + .baseTile = 0 + }, + { + .bg = 2, + .charBaseIndex = 2, + .mapBaseIndex = 28, + .screenSize = 3, + .paletteMode = 0, + .priority = 1, + .baseTile = 0 + }, + { + .bg = 3, + .charBaseIndex = 2, + .mapBaseIndex = 7, + .screenSize = 0, + .paletteMode = 0, + .priority = 1, + .baseTile = 0 + }, +}; + +static const struct WindowTemplate gUnknown_0860CE94[] = +{ + { + .priority = 0, + .tilemapLeft = 0, + .tilemapTop = 3, + .width = 8, + .height = 16, + .paletteNum = 15, + .baseBlock = 16, + }, + { + .priority = 0, + .tilemapLeft = 22, + .tilemapTop = 3, + .width = 8, + .height = 16, + .paletteNum = 15, + .baseBlock = 144, + }, + { + .priority = 0, + .tilemapLeft = 8, + .tilemapTop = 1, + .width = 14, + .height = 2, + .paletteNum = 15, + .baseBlock = 272, + }, + DUMMY_WIN_TEMPLATE, +}; + +static const struct WindowTemplate gUnknown_0860CEB4[] = +{ + { + .priority = 0, + .tilemapLeft = 2, + .tilemapTop = 2, + .width = 26, + .height = 2, + .paletteNum = 15, + .baseBlock = 1, + }, + { + .priority = 0, + .tilemapLeft = 16, + .tilemapTop = 5, + .width = 8, + .height = 2, + .paletteNum = 15, + .baseBlock = 53, + }, + { + .priority = 0, + .tilemapLeft = 19, + .tilemapTop = 7, + .width = 9, + .height = 3, + .paletteNum = 15, + .baseBlock = 69, + }, + { + .priority = 0, + .tilemapLeft = 16, + .tilemapTop = 10, + .width = 8, + .height = 2, + .paletteNum = 15, + .baseBlock = 96, + }, + { + .priority = 0, + .tilemapLeft = 2, + .tilemapTop = 12, + .width = 26, + .height = 7, + .paletteNum = 15, + .baseBlock = 112, + }, + { + .priority = 0, + .tilemapLeft = 5, + .tilemapTop = 2, + .width = 23, + .height = 2, + .paletteNum = 15, + .baseBlock = 294, + }, + { + .priority = 0, + .tilemapLeft = 2, + .tilemapTop = 5, + .width = 8, + .height = 2, + .paletteNum = 15, + .baseBlock = 340, + }, + { + .priority = 0, + .tilemapLeft = 20, + .tilemapTop = 5, + .width = 8, + .height = 2, + .paletteNum = 15, + .baseBlock = 356, + }, + { + .priority = 0, + .tilemapLeft = 2, + .tilemapTop = 16, + .width = 26, + .height = 2, + .paletteNum = 15, + .baseBlock = 372, + }, + { + .priority = 1, + .tilemapLeft = 2, + .tilemapTop = 2, + .width = 26, + .height = 2, + .paletteNum = 15, + .baseBlock = 1, + }, + { + .priority = 1, + .tilemapLeft = 16, + .tilemapTop = 5, + .width = 8, + .height = 2, + .paletteNum = 15, + .baseBlock = 53, + }, + { + .priority = 1, + .tilemapLeft = 19, + .tilemapTop = 7, + .width = 9, + .height = 3, + .paletteNum = 15, + .baseBlock = 69, + }, + { + .priority = 1, + .tilemapLeft = 16, + .tilemapTop = 10, + .width = 8, + .height = 2, + .paletteNum = 15, + .baseBlock = 96, + }, + { + .priority = 1, + .tilemapLeft = 2, + .tilemapTop = 12, + .width = 26, + .height = 7, + .paletteNum = 15, + .baseBlock = 112, + }, + { + .priority = 1, + .tilemapLeft = 5, + .tilemapTop = 2, + .width = 23, + .height = 2, + .paletteNum = 15, + .baseBlock = 294, + }, + { + .priority = 1, + .tilemapLeft = 2, + .tilemapTop = 5, + .width = 8, + .height = 2, + .paletteNum = 15, + .baseBlock = 340, + }, + { + .priority = 1, + .tilemapLeft = 20, + .tilemapTop = 5, + .width = 8, + .height = 2, + .paletteNum = 15, + .baseBlock = 356, + }, + { + .priority = 1, + .tilemapLeft = 2, + .tilemapTop = 16, + .width = 26, + .height = 2, + .paletteNum = 15, + .baseBlock = 372, + }, +}; + +static const struct ScanlineEffectParams gUnknown_0860CF44 = +{ + .dmaDest = (void *)REG_ADDR_BG3CNT, + .dmaControl = 0xa2600001, + .initState = 1, +}; + +static const struct CompressedSpriteSheet gUnknown_0860CF50[] = +{ + gBattleFrontierGfx_DomeOptions, 0x0600, 0x0000, + NULL +}; + +static const struct CompressedSpritePalette gUnknown_0860CF60[] = +{ + gUnknown_08D85444, 0x0000, + NULL +}; + +static const struct OamData gUnknown_0860CF70 = +{ + .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 struct OamData gUnknown_0860CF78 = +{ + .y = 0, + .affineMode = 0, + .objMode = 0, + .mosaic = 0, + .bpp = 0, + .shape = 1, + .x = 0, + .matrixNum = 0, + .size = 2, + .tileNum = 0, + .priority = 0, + .paletteNum = 1, + .affineParam = 0, +}; + +static const struct OamData gUnknown_0860CF80 = +{ + .y = 0, + .affineMode = 0, + .objMode = 0, + .mosaic = 0, + .bpp = 0, + .shape = 1, + .x = 0, + .matrixNum = 0, + .size = 0, + .tileNum = 0, + .priority = 0, + .paletteNum = 2, + .affineParam = 0, +}; + +static const struct OamData gUnknown_0860CF88 = +{ + .y = 0, + .affineMode = 0, + .objMode = 0, + .mosaic = 0, + .bpp = 0, + .shape = 2, + .x = 0, + .matrixNum = 0, + .size = 0, + .tileNum = 0, + .priority = 0, + .paletteNum = 2, + .affineParam = 0, +}; + +static const union AnimCmd gUnknown_0860CF90[] = +{ + ANIMCMD_FRAME(20, 1), + ANIMCMD_END, +}; +static const union AnimCmd gUnknown_0860CF98[] = +{ + ANIMCMD_FRAME(24, 1), + ANIMCMD_END, +}; + +static const union AnimCmd * const gUnknown_0860CFA0[] = +{ + gUnknown_0860CF90, + gUnknown_0860CF98, +}; + +static const struct SpriteTemplate gUnknown_0860CFA8 = {0x0000, 0xffff, &gUnknown_0860CF70, gUnknown_0860CFA0, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy}; + +static const union AnimCmd gUnknown_0860CFC0[] = +{ + ANIMCMD_FRAME(8, 1), + ANIMCMD_END, +}; + +static const union AnimCmd gUnknown_0860CFC8[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd * const gUnknown_0860CFD0[] = +{ + gUnknown_0860CFC0, + gUnknown_0860CFC8, +}; + +static const struct SpriteTemplate gUnknown_0860CFD8 = {0x0000, 0xffff, &gUnknown_0860CF78, gUnknown_0860CFD0, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy}; + +static const union AnimCmd gUnknown_0860CFF0[] = +{ + ANIMCMD_FRAME(40, 1), + ANIMCMD_END, +}; + +static const union AnimCmd gUnknown_0860CFF8[] = +{ + ANIMCMD_FRAME(32, 1), + ANIMCMD_END, + }; + +static const union AnimCmd * const gUnknown_0860D000[] = +{ + gUnknown_0860CFF0, + gUnknown_0860CFF8, +}; + +static const struct SpriteTemplate gUnknown_0860D008 = {0x0000, 0xffff, &gUnknown_0860CF78, gUnknown_0860D000, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy}; + +static const union AnimCmd gUnknown_0860D020[] = +{ + ANIMCMD_FRAME(18, 1), + ANIMCMD_END, +}; + +static const union AnimCmd gUnknown_0860D028[] = +{ + ANIMCMD_FRAME(18, 129, .vFlip = TRUE), + ANIMCMD_END, + }; + +static const union AnimCmd gUnknown_0860D030[] = +{ + ANIMCMD_FRAME(16, 65, .hFlip = TRUE), + ANIMCMD_END, +}; + +static const union AnimCmd gUnknown_0860D038[] = +{ + ANIMCMD_FRAME(16, 1), + ANIMCMD_END, +}; + +static const union AnimCmd * const gUnknown_0860D040[] = +{ + gUnknown_0860D020, + gUnknown_0860D028, +}; + +static const union AnimCmd * const gUnknown_0860D048[] = +{ + gUnknown_0860D030, + gUnknown_0860D038, +}; + +static const struct SpriteTemplate gUnknown_0860D050 = {0x0000, 0xffff, &gUnknown_0860CF88, gUnknown_0860D048, NULL, gDummySpriteAffineAnimTable, sub_8190B40}; +static const struct SpriteTemplate gUnknown_0860D068 = {0x0000, 0xffff, &gUnknown_0860CF80, gUnknown_0860D040, NULL, gDummySpriteAffineAnimTable, sub_8190C6C}; + +static const u8 gUnknown_0860D080[] = {0x00, 0x08, 0x0c, 0x04, 0x07, 0x0f, 0x0b, 0x03, 0x02, 0x0a, 0x0e, 0x06, 0x05, 0x0d, 0x09, 0x01}; + +static void (* const gUnknown_0860D090[])(void) = +{ + sub_818E9CC, + sub_818EA84, + sub_818ED28, + sub_818F9B0, + sub_818F9E0, + sub_818FA20, + ShowDomeOpponentInfo, + sub_81938A4, + sub_81938E0, + sub_8190298, + sub_81902E4, + sub_8193D40, + sub_8193D7C, + sub_81902F8, + sub_819033C, + sub_8194D48, + sub_8194D68, + sub_8194E44, + sub_8194EB4, + sub_8194EC0, + sub_8194EF8, + sub_8194F58, + InitDomeTrainers, +}; + +static const u32 gUnknown_0860D0EC[][2] = +{ + {0x00000004, 0x00000008}, + {0x00100000, 0x00200000}, +}; + +static const u32 gUnknown_0860D0FC[][2] = +{ + {0xfffffffb, 0xfffffff7}, + {0xffefffff, 0xffdfffff}, +}; + +static const u8 gUnknown_0860D10C[][4] = +{ + {0x08, 0x00, 0x04, 0x08}, + {0x09, 0x0c, 0x08, 0x00}, + {0x0a, 0x08, 0x0c, 0x00}, + {0x0b, 0x04, 0x00, 0x08}, + {0x0c, 0x00, 0x04, 0x08}, + {0x0d, 0x0c, 0x08, 0x00}, + {0x0e, 0x08, 0x0c, 0x00}, + {0x0f, 0x04, 0x00, 0x08}, + {0x00, 0x00, 0x04, 0x08}, + {0x01, 0x0c, 0x08, 0x00}, + {0x02, 0x08, 0x0c, 0x00}, + {0x03, 0x04, 0x00, 0x08}, + {0x04, 0x00, 0x04, 0x08}, + {0x05, 0x0c, 0x08, 0x00}, + {0x06, 0x08, 0x0c, 0x00}, + {0x07, 0x04, 0x00, 0x08}, +}; + +static const u8 gUnknown_0860D14C[] = {0x00, 0x08, 0x04, 0x0c, 0x07, 0x0f, 0x03, 0x0b, 0x02, 0x0a, 0x06, 0x0e, 0x05, 0x0d, 0x01, 0x09}; + +static const u8 gUnknown_0860D15C[] = +{ + 0x00, 0x08, 0x0c, 0x0e, 0x00, 0x08, 0x0c, 0x0e, + 0x01, 0x08, 0x0c, 0x0e, 0x01, 0x08, 0x0c, 0x0e, + 0x02, 0x09, 0x0c, 0x0e, 0x02, 0x09, 0x0c, 0x0e, + 0x03, 0x09, 0x0c, 0x0e, 0x03, 0x09, 0x0c, 0x0e, + 0x04, 0x0a, 0x0d, 0x0e, 0x04, 0x0a, 0x0d, 0x0e, + 0x05, 0x0a, 0x0d, 0x0e, 0x05, 0x0a, 0x0d, 0x0e, + 0x06, 0x0b, 0x0d, 0x0e, 0x06, 0x0b, 0x0d, 0x0e, + 0x07, 0x0b, 0x0d, 0x0e, 0x07, 0x0b, 0x0d, 0x0e, +}; + +static const u8 gUnknown_0860D19C[] = {0x17, 0x1b, 0x1d, 0x1e}; + +static const u8 gUnknown_0860D1A0[][4] = +{ + {0x10, 0x18, 0x1c, 0x1e}, + {0x11, 0x18, 0x1c, 0x1e}, + {0x12, 0x19, 0x1c, 0x1e}, + {0x13, 0x19, 0x1c, 0x1e}, + {0x14, 0x1a, 0x1d, 0x1e}, + {0x15, 0x1a, 0x1d, 0x1e}, + {0x16, 0x1b, 0x1d, 0x1e}, + {0x17, 0x1b, 0x1d, 0x1e}, +}; + +static const u8 gUnknown_0860D1C0[] = {0x00, 0x0f, 0x08, 0x07, 0x03, 0x0c, 0x0b, 0x04, 0x01, 0x0e, 0x09, 0x06, 0x02, 0x0d, 0x0a, 0x05}; + +static const u8 *const gBattleDomePotentialPointers[] = +{ + gBattleDomeOpponentPotential1, + gBattleDomeOpponentPotential2, + gBattleDomeOpponentPotential3, + gBattleDomeOpponentPotential4, + gBattleDomeOpponentPotential5, + gBattleDomeOpponentPotential6, + gBattleDomeOpponentPotential7, + gBattleDomeOpponentPotential8, + gBattleDomeOpponentPotential9, + gBattleDomeOpponentPotential10, + gBattleDomeOpponentPotential11, + gBattleDomeOpponentPotential12, + gBattleDomeOpponentPotential13, + gBattleDomeOpponentPotential14, + gBattleDomeOpponentPotential15, + gBattleDomeOpponentPotential16, + gBattleDomeOpponentPotential17, +}; + +static const u8 *const gBattleDomeOpponentStylePointers[] = +{ + gBattleDomeOpponentStyle1, + gBattleDomeOpponentStyle2, + gBattleDomeOpponentStyle3, + gBattleDomeOpponentStyle4, + gBattleDomeOpponentStyle5, + gBattleDomeOpponentStyle6, + gBattleDomeOpponentStyle7, + gBattleDomeOpponentStyle8, + gBattleDomeOpponentStyle9, + gBattleDomeOpponentStyle10, + gBattleDomeOpponentStyle11, + gBattleDomeOpponentStyle12, + gBattleDomeOpponentStyle13, + gBattleDomeOpponentStyle14, + gBattleDomeOpponentStyle15, + gBattleDomeOpponentStyle16, + gBattleDomeOpponentStyle17, + gBattleDomeOpponentStyle18, + gBattleDomeOpponentStyle19, + gBattleDomeOpponentStyle20, + gBattleDomeOpponentStyle21, + gBattleDomeOpponentStyle22, + gBattleDomeOpponentStyle23, + gBattleDomeOpponentStyle24, + gBattleDomeOpponentStyle25, + gBattleDomeOpponentStyle26, + gBattleDomeOpponentStyle27, + gBattleDomeOpponentStyle28, + gBattleDomeOpponentStyleUnused1, + gBattleDomeOpponentStyleUnused2, + gBattleDomeOpponentStyleUnused3, + gBattleDomeOpponentStyleUnused4, +}; + +static const u8 *const gBattleDomeOpponentStatsPointers[] = +{ + gBattleDomeOpponentStats1, + gBattleDomeOpponentStats2, + gBattleDomeOpponentStats3, + gBattleDomeOpponentStats4, + gBattleDomeOpponentStats5, + gBattleDomeOpponentStats6, + gBattleDomeOpponentStats7, + gBattleDomeOpponentStats8, + gBattleDomeOpponentStats9, + gBattleDomeOpponentStats10, + gBattleDomeOpponentStats11, + gBattleDomeOpponentStats12, + gBattleDomeOpponentStats13, + gBattleDomeOpponentStats14, + gBattleDomeOpponentStats15, + gBattleDomeOpponentStats16, + gBattleDomeOpponentStats17, + gBattleDomeOpponentStats18, + gBattleDomeOpponentStats19, + gBattleDomeOpponentStats20, + gBattleDomeOpponentStats21, + gBattleDomeOpponentStats22, + gBattleDomeOpponentStats23, + gBattleDomeOpponentStats24, + gBattleDomeOpponentStats25, + gBattleDomeOpponentStats26, + gBattleDomeOpponentStats27, + gBattleDomeOpponentStats28, + gBattleDomeOpponentStats29, + gBattleDomeOpponentStats30, + gBattleDomeOpponentStats31, + gBattleDomeOpponentStats32, + gBattleDomeOpponentStats33, + gBattleDomeOpponentStats34, + gBattleDomeOpponentStats35, + gBattleDomeOpponentStats36, + gBattleDomeOpponentStats37, + gBattleDomeOpponentStats38, + gBattleDomeOpponentStats39, + gBattleDomeOpponentStats40, + gBattleDomeOpponentStats41, + gBattleDomeOpponentStats42, + gBattleDomeOpponentStats43, +}; + +static const u8 gUnknown_0860D340[] = {0x68, 0x88, 0x68}; +static const u8 gUnknown_0860D343[] = {0x26, 0x3e, 0x4e}; +static const u8 gUnknown_0860D346[] = {0x00, 0x04, 0x00}; + +static const u8 gUnknown_0860D349[] = {0x00, 0x05, 0x09, 0x0c, 0x0e, 0x00, 0x00}; + +static const u8 *const gBattleDomeMatchNumberPointers[] = +{ + gBattleDomeMatchNumber1, + gBattleDomeMatchNumber2, + gBattleDomeMatchNumber3, + gBattleDomeMatchNumber4, + gBattleDomeMatchNumber5, + gBattleDomeMatchNumber6, + gBattleDomeMatchNumber7, + gBattleDomeMatchNumber8, + gBattleDomeMatchNumber9, + gBattleDomeMatchNumber10, + gBattleDomeMatchNumber11, + gBattleDomeMatchNumber12, + gBattleDomeMatchNumber13, + gBattleDomeMatchNumber14, + gBattleDomeMatchNumber15, +}; + +static const u8 *const gBattleDomeWinStringsPointers[] = +{ + gBattleDomeWinStrings1, + gBattleDomeWinStrings2, + gBattleDomeWinStrings3, + gBattleDomeWinStrings4, + gBattleDomeWinStrings5, + gBattleDomeWinStrings6, + gBattleDomeWinStrings7, +}; + +static const u8 gUnknown_0860D3A8[] = {0x60, 0x60, 0x60}; +static const u8 gUnknown_0860D3AB[] = {0x38, 0x50, 0x68}; +static const u8 gUnknown_0860D3AE[] = {0x90, 0x90, 0x90}; +static const u8 gUnknown_0860D3B1[] = {0x38, 0x50, 0x68}; + +static const u8 gUnknown_0860D3B4[] = {0x00, 0x08, 0x0c, 0x04, 0x07, 0x0f, 0x0b, 0x03, 0x02, 0x0a, 0x0e, 0x06, 0x05, 0x0d, 0x09, 0x01}; + +static const u8 gUnknown_0860D3C4[][3] = +{ + {0x00, 0x02, 0x00}, + {0x02, 0x02, 0x00}, + {0x04, 0x02, 0x00}, + {0x06, 0x02, 0x00}, + {0x08, 0x02, 0x00}, + {0x0a, 0x02, 0x00}, + {0x0c, 0x02, 0x00}, + {0x0e, 0x02, 0x00}, + {0x00, 0x04, 0x01}, + {0x04, 0x04, 0x01}, + {0x08, 0x04, 0x01}, + {0x0c, 0x04, 0x01}, + {0x00, 0x08, 0x02}, + {0x08, 0x08, 0x02}, + {0x00, 0x10, 0x03}, +}; + +static const u8 gUnknown_0860D3F1[][2] = +{ + {0x00, 0x00}, + {0x01, 0x70}, + {0x01, 0x00}, + {0x00, 0x70}, + {0x00, 0x30}, + {0x01, 0x40}, + {0x01, 0x30}, + {0x00, 0x40}, + {0x00, 0x10}, + {0x01, 0x60}, + {0x01, 0x10}, + {0x00, 0x60}, + {0x00, 0x20}, + {0x01, 0x50}, + {0x01, 0x20}, + {0x00, 0x50}, +}; + +static const u8 gUnknown_0860D411[][2] = +{ + {0x44, 0x21}, + {0x44, 0x31}, + {0x44, 0x41}, + {0x44, 0x51}, + {0x44, 0x61}, + {0x44, 0x71}, + {0x44, 0x81}, + {0x44, 0x91}, + {0xac, 0x21}, + {0xac, 0x31}, + {0xac, 0x41}, + {0xac, 0x51}, + {0xac, 0x61}, + {0xac, 0x71}, + {0xac, 0x81}, + {0xac, 0x91}, + {0x57, 0x29}, + {0x57, 0x49}, + {0x57, 0x69}, + {0x57, 0x89}, + {0x99, 0x29}, + {0x99, 0x49}, + {0x99, 0x69}, + {0x99, 0x89}, + {0x5f, 0x39}, + {0x5f, 0x79}, + {0x91, 0x39}, + {0x91, 0x79}, + {0x67, 0x59}, + {0x89, 0x59}, + {0x78, 0x59}, +}; +const u8 sExtraByte = 0x00; + +static const struct UnkStruct_860DD10 gUnknown_0860d450[] = +{ + {.src = 0x6021, .y = 0x04, .x = 0x09}, + {.src = 0x6023, .y = 0x04, .x = 0x0a}, + {.src = 0x6047, .y = 0x05, .x = 0x0a}, + {.src = 0x6043, .y = 0x05, .x = 0x0b}, +}; + +static const struct UnkStruct_860DD10 gUnknown_0860d460[] = +{ + {.src = 0x6021, .y = 0x04, .x = 0x09}, + {.src = 0x6023, .y = 0x04, .x = 0x0a}, + {.src = 0x6047, .y = 0x05, .x = 0x0a}, + {.src = 0x6023, .y = 0x05, .x = 0x0b}, + {.src = 0x6027, .y = 0x06, .x = 0x0b}, + {.src = 0x6047, .y = 0x07, .x = 0x0b}, + {.src = 0x6043, .y = 0x07, .x = 0x0c}, +}; + +static const struct UnkStruct_860DD10 gUnknown_0860d47c[] = +{ + {.src = 0x6021, .y = 0x04, .x = 0x09}, + {.src = 0x6023, .y = 0x04, .x = 0x0a}, + {.src = 0x6047, .y = 0x05, .x = 0x0a}, + {.src = 0x6023, .y = 0x05, .x = 0x0b}, + {.src = 0x6027, .y = 0x06, .x = 0x0b}, + {.src = 0x6047, .y = 0x07, .x = 0x0b}, + {.src = 0x6023, .y = 0x07, .x = 0x0c}, + {.src = 0x6027, .y = 0x08, .x = 0x0c}, + {.src = 0x6027, .y = 0x09, .x = 0x0c}, + {.src = 0x6027, .y = 0x0a, .x = 0x0c}, + {.src = 0x603b, .y = 0x0b, .x = 0x0c}, +}; + +static const struct UnkStruct_860DD10 gUnknown_0860d4a8[] = +{ + {.src = 0x6021, .y = 0x04, .x = 0x09}, + {.src = 0x6023, .y = 0x04, .x = 0x0a}, + {.src = 0x6047, .y = 0x05, .x = 0x0a}, + {.src = 0x6023, .y = 0x05, .x = 0x0b}, + {.src = 0x6027, .y = 0x06, .x = 0x0b}, + {.src = 0x6047, .y = 0x07, .x = 0x0b}, + {.src = 0x6023, .y = 0x07, .x = 0x0c}, + {.src = 0x6027, .y = 0x08, .x = 0x0c}, + {.src = 0x6027, .y = 0x09, .x = 0x0c}, + {.src = 0x6027, .y = 0x0a, .x = 0x0c}, + {.src = 0x603b, .y = 0x0b, .x = 0x0c}, + {.src = 0x602c, .y = 0x0b, .x = 0x0d}, + {.src = 0x602d, .y = 0x0b, .x = 0x0e}, +}; + +static const struct UnkStruct_860DD10 gUnknown_0860d4dc[] = +{ + {.src = 0x6021, .y = 0x06, .x = 0x09}, + {.src = 0x6021, .y = 0x06, .x = 0x0a}, + {.src = 0x6027, .y = 0x05, .x = 0x0a}, + {.src = 0x6043, .y = 0x05, .x = 0x0b}, +}; + +static const struct UnkStruct_860DD10 gUnknown_0860d4ec[] = +{ + {.src = 0x6021, .y = 0x06, .x = 0x09}, + {.src = 0x6021, .y = 0x06, .x = 0x0a}, + {.src = 0x6027, .y = 0x05, .x = 0x0a}, + {.src = 0x6023, .y = 0x05, .x = 0x0b}, + {.src = 0x6027, .y = 0x06, .x = 0x0b}, + {.src = 0x6047, .y = 0x07, .x = 0x0b}, + {.src = 0x6043, .y = 0x07, .x = 0x0c}, +}; + +static const struct UnkStruct_860DD10 gUnknown_0860d508[] = +{ + {.src = 0x6021, .y = 0x06, .x = 0x09}, + {.src = 0x6021, .y = 0x06, .x = 0x0a}, + {.src = 0x6027, .y = 0x05, .x = 0x0a}, + {.src = 0x6023, .y = 0x05, .x = 0x0b}, + {.src = 0x6027, .y = 0x06, .x = 0x0b}, + {.src = 0x6047, .y = 0x07, .x = 0x0b}, + {.src = 0x6023, .y = 0x07, .x = 0x0c}, + {.src = 0x6027, .y = 0x08, .x = 0x0c}, + {.src = 0x6027, .y = 0x09, .x = 0x0c}, + {.src = 0x6027, .y = 0x0a, .x = 0x0c}, + {.src = 0x603b, .y = 0x0b, .x = 0x0c}, +}; + +static const struct UnkStruct_860DD10 gUnknown_0860d534[] = +{ + {.src = 0x6021, .y = 0x06, .x = 0x09}, + {.src = 0x6021, .y = 0x06, .x = 0x0a}, + {.src = 0x6027, .y = 0x05, .x = 0x0a}, + {.src = 0x6023, .y = 0x05, .x = 0x0b}, + {.src = 0x6027, .y = 0x06, .x = 0x0b}, + {.src = 0x6047, .y = 0x07, .x = 0x0b}, + {.src = 0x6023, .y = 0x07, .x = 0x0c}, + {.src = 0x6027, .y = 0x08, .x = 0x0c}, + {.src = 0x6027, .y = 0x09, .x = 0x0c}, + {.src = 0x6027, .y = 0x0a, .x = 0x0c}, + {.src = 0x603b, .y = 0x0b, .x = 0x0c}, + {.src = 0x602c, .y = 0x0b, .x = 0x0d}, + {.src = 0x602d, .y = 0x0b, .x = 0x0e}, +}; + +static const struct UnkStruct_860DD10 gUnknown_0860d568[] = +{ + {.src = 0x6021, .y = 0x08, .x = 0x09}, + {.src = 0x6023, .y = 0x08, .x = 0x0a}, + {.src = 0x6047, .y = 0x09, .x = 0x0a}, + {.src = 0x6021, .y = 0x09, .x = 0x0b}, +}; + +static const struct UnkStruct_860DD10 gUnknown_0860d578[] = +{ + {.src = 0x6021, .y = 0x08, .x = 0x09}, + {.src = 0x6023, .y = 0x08, .x = 0x0a}, + {.src = 0x6047, .y = 0x09, .x = 0x0a}, + {.src = 0x6021, .y = 0x09, .x = 0x0b}, + {.src = 0x6027, .y = 0x08, .x = 0x0b}, + {.src = 0x6027, .y = 0x07, .x = 0x0b}, + {.src = 0x6043, .y = 0x07, .x = 0x0c}, +}; + +static const struct UnkStruct_860DD10 gUnknown_0860d594[] = +{ + {.src = 0x6021, .y = 0x08, .x = 0x09}, + {.src = 0x6023, .y = 0x08, .x = 0x0a}, + {.src = 0x6047, .y = 0x09, .x = 0x0a}, + {.src = 0x6021, .y = 0x09, .x = 0x0b}, + {.src = 0x6027, .y = 0x08, .x = 0x0b}, + {.src = 0x6027, .y = 0x07, .x = 0x0b}, + {.src = 0x6023, .y = 0x07, .x = 0x0c}, + {.src = 0x6027, .y = 0x08, .x = 0x0c}, + {.src = 0x6027, .y = 0x09, .x = 0x0c}, + {.src = 0x6027, .y = 0x0a, .x = 0x0c}, + {.src = 0x603b, .y = 0x0b, .x = 0x0c}, +}; + +static const struct UnkStruct_860DD10 gUnknown_0860d5c0[] = +{ + {.src = 0x6021, .y = 0x08, .x = 0x09}, + {.src = 0x6023, .y = 0x08, .x = 0x0a}, + {.src = 0x6047, .y = 0x09, .x = 0x0a}, + {.src = 0x6021, .y = 0x09, .x = 0x0b}, + {.src = 0x6027, .y = 0x08, .x = 0x0b}, + {.src = 0x6027, .y = 0x07, .x = 0x0b}, + {.src = 0x6023, .y = 0x07, .x = 0x0c}, + {.src = 0x6027, .y = 0x08, .x = 0x0c}, + {.src = 0x6027, .y = 0x09, .x = 0x0c}, + {.src = 0x6027, .y = 0x0a, .x = 0x0c}, + {.src = 0x603b, .y = 0x0b, .x = 0x0c}, + {.src = 0x602c, .y = 0x0b, .x = 0x0d}, + {.src = 0x602d, .y = 0x0b, .x = 0x0e}, +}; + +static const struct UnkStruct_860DD10 gUnknown_0860d5f4[] = +{ + {.src = 0x6021, .y = 0x0a, .x = 0x09}, + {.src = 0x6021, .y = 0x0a, .x = 0x0a}, + {.src = 0x6027, .y = 0x09, .x = 0x0a}, + {.src = 0x6021, .y = 0x09, .x = 0x0b}, +}; + +static const struct UnkStruct_860DD10 gUnknown_0860d604[] = +{ + {.src = 0x6021, .y = 0x0a, .x = 0x09}, + {.src = 0x6021, .y = 0x0a, .x = 0x0a}, + {.src = 0x6027, .y = 0x09, .x = 0x0a}, + {.src = 0x6021, .y = 0x09, .x = 0x0b}, + {.src = 0x6027, .y = 0x08, .x = 0x0b}, + {.src = 0x6027, .y = 0x07, .x = 0x0b}, + {.src = 0x6043, .y = 0x07, .x = 0x0c}, +}; + +static const struct UnkStruct_860DD10 gUnknown_0860d620[] = +{ + {.src = 0x6021, .y = 0x0a, .x = 0x09}, + {.src = 0x6021, .y = 0x0a, .x = 0x0a}, + {.src = 0x6027, .y = 0x09, .x = 0x0a}, + {.src = 0x6021, .y = 0x09, .x = 0x0b}, + {.src = 0x6027, .y = 0x08, .x = 0x0b}, + {.src = 0x6027, .y = 0x07, .x = 0x0b}, + {.src = 0x6023, .y = 0x07, .x = 0x0c}, + {.src = 0x6027, .y = 0x08, .x = 0x0c}, + {.src = 0x6027, .y = 0x09, .x = 0x0c}, + {.src = 0x6027, .y = 0x0a, .x = 0x0c}, + {.src = 0x603b, .y = 0x0b, .x = 0x0c}, +}; + +static const struct UnkStruct_860DD10 gUnknown_0860d64c[] = +{ + {.src = 0x6021, .y = 0x0a, .x = 0x09}, + {.src = 0x6021, .y = 0x0a, .x = 0x0a}, + {.src = 0x6027, .y = 0x09, .x = 0x0a}, + {.src = 0x6021, .y = 0x09, .x = 0x0b}, + {.src = 0x6027, .y = 0x08, .x = 0x0b}, + {.src = 0x6027, .y = 0x07, .x = 0x0b}, + {.src = 0x6023, .y = 0x07, .x = 0x0c}, + {.src = 0x6027, .y = 0x08, .x = 0x0c}, + {.src = 0x6027, .y = 0x09, .x = 0x0c}, + {.src = 0x6027, .y = 0x0a, .x = 0x0c}, + {.src = 0x603b, .y = 0x0b, .x = 0x0c}, + {.src = 0x602c, .y = 0x0b, .x = 0x0d}, + {.src = 0x602d, .y = 0x0b, .x = 0x0e}, +}; + +static const struct UnkStruct_860DD10 gUnknown_0860d680[] = +{ + {.src = 0x6021, .y = 0x0c, .x = 0x09}, + {.src = 0x6023, .y = 0x0c, .x = 0x0a}, + {.src = 0x6047, .y = 0x0d, .x = 0x0a}, + {.src = 0x6043, .y = 0x0d, .x = 0x0b}, +}; + +static const struct UnkStruct_860DD10 gUnknown_0860d690[] = +{ + {.src = 0x6021, .y = 0x0c, .x = 0x09}, + {.src = 0x6023, .y = 0x0c, .x = 0x0a}, + {.src = 0x6047, .y = 0x0d, .x = 0x0a}, + {.src = 0x6023, .y = 0x0d, .x = 0x0b}, + {.src = 0x6027, .y = 0x0e, .x = 0x0b}, + {.src = 0x6047, .y = 0x0f, .x = 0x0b}, + {.src = 0x6021, .y = 0x0f, .x = 0x0c}, +}; + +static const struct UnkStruct_860DD10 gUnknown_0860d6ac[] = +{ + {.src = 0x6021, .y = 0x0c, .x = 0x09}, + {.src = 0x6023, .y = 0x0c, .x = 0x0a}, + {.src = 0x6047, .y = 0x0d, .x = 0x0a}, + {.src = 0x6023, .y = 0x0d, .x = 0x0b}, + {.src = 0x6027, .y = 0x0e, .x = 0x0b}, + {.src = 0x6047, .y = 0x0f, .x = 0x0b}, + {.src = 0x6021, .y = 0x0f, .x = 0x0c}, + {.src = 0x6033, .y = 0x0e, .x = 0x0c}, + {.src = 0x6032, .y = 0x0d, .x = 0x0c}, + {.src = 0x6031, .y = 0x0c, .x = 0x0c}, + {.src = 0x6030, .y = 0x0b, .x = 0x0c}, +}; + +static const struct UnkStruct_860DD10 gUnknown_0860d6d8[] = +{ + {.src = 0x6021, .y = 0x0c, .x = 0x09}, + {.src = 0x6023, .y = 0x0c, .x = 0x0a}, + {.src = 0x6047, .y = 0x0d, .x = 0x0a}, + {.src = 0x6023, .y = 0x0d, .x = 0x0b}, + {.src = 0x6027, .y = 0x0e, .x = 0x0b}, + {.src = 0x6047, .y = 0x0f, .x = 0x0b}, + {.src = 0x6021, .y = 0x0f, .x = 0x0c}, + {.src = 0x6033, .y = 0x0e, .x = 0x0c}, + {.src = 0x6032, .y = 0x0d, .x = 0x0c}, + {.src = 0x6031, .y = 0x0c, .x = 0x0c}, + {.src = 0x6030, .y = 0x0b, .x = 0x0c}, + {.src = 0x602c, .y = 0x0b, .x = 0x0d}, + {.src = 0x602d, .y = 0x0b, .x = 0x0e}, +}; + +static const struct UnkStruct_860DD10 gUnknown_0860d70c[] = +{ + {.src = 0x6021, .y = 0x0e, .x = 0x09}, + {.src = 0x6021, .y = 0x0e, .x = 0x0a}, + {.src = 0x6027, .y = 0x0d, .x = 0x0a}, + {.src = 0x6043, .y = 0x0d, .x = 0x0b}, +}; + +static const struct UnkStruct_860DD10 gUnknown_0860d71c[] = +{ + {.src = 0x6021, .y = 0x0e, .x = 0x09}, + {.src = 0x6021, .y = 0x0e, .x = 0x0a}, + {.src = 0x6027, .y = 0x0d, .x = 0x0a}, + {.src = 0x6023, .y = 0x0d, .x = 0x0b}, + {.src = 0x6027, .y = 0x0e, .x = 0x0b}, + {.src = 0x6047, .y = 0x0f, .x = 0x0b}, + {.src = 0x6021, .y = 0x0f, .x = 0x0c}, +}; + +static const struct UnkStruct_860DD10 gUnknown_0860d738[] = +{ + {.src = 0x6021, .y = 0x0e, .x = 0x09}, + {.src = 0x6021, .y = 0x0e, .x = 0x0a}, + {.src = 0x6027, .y = 0x0d, .x = 0x0a}, + {.src = 0x6023, .y = 0x0d, .x = 0x0b}, + {.src = 0x6027, .y = 0x0e, .x = 0x0b}, + {.src = 0x6047, .y = 0x0f, .x = 0x0b}, + {.src = 0x6021, .y = 0x0f, .x = 0x0c}, + {.src = 0x6033, .y = 0x0e, .x = 0x0c}, + {.src = 0x6032, .y = 0x0d, .x = 0x0c}, + {.src = 0x6031, .y = 0x0c, .x = 0x0c}, + {.src = 0x6030, .y = 0x0b, .x = 0x0c}, +}; + +static const struct UnkStruct_860DD10 gUnknown_0860d764[] = +{ + {.src = 0x6021, .y = 0x0e, .x = 0x09}, + {.src = 0x6021, .y = 0x0e, .x = 0x0a}, + {.src = 0x6027, .y = 0x0d, .x = 0x0a}, + {.src = 0x6023, .y = 0x0d, .x = 0x0b}, + {.src = 0x6027, .y = 0x0e, .x = 0x0b}, + {.src = 0x6047, .y = 0x0f, .x = 0x0b}, + {.src = 0x6021, .y = 0x0f, .x = 0x0c}, + {.src = 0x6033, .y = 0x0e, .x = 0x0c}, + {.src = 0x6032, .y = 0x0d, .x = 0x0c}, + {.src = 0x6031, .y = 0x0c, .x = 0x0c}, + {.src = 0x6030, .y = 0x0b, .x = 0x0c}, + {.src = 0x602c, .y = 0x0b, .x = 0x0d}, + {.src = 0x602d, .y = 0x0b, .x = 0x0e}, +}; + +static const struct UnkStruct_860DD10 gUnknown_0860d798[] = +{ + {.src = 0x6021, .y = 0x10, .x = 0x09}, + {.src = 0x6023, .y = 0x10, .x = 0x0a}, + {.src = 0x6047, .y = 0x11, .x = 0x0a}, + {.src = 0x6021, .y = 0x11, .x = 0x0b}, +}; + +static const struct UnkStruct_860DD10 gUnknown_0860d7a8[] = +{ + {.src = 0x6021, .y = 0x10, .x = 0x09}, + {.src = 0x6023, .y = 0x10, .x = 0x0a}, + {.src = 0x6047, .y = 0x11, .x = 0x0a}, + {.src = 0x6021, .y = 0x11, .x = 0x0b}, + {.src = 0x6027, .y = 0x10, .x = 0x0b}, + {.src = 0x6027, .y = 0x0f, .x = 0x0b}, + {.src = 0x6021, .y = 0x0f, .x = 0x0c}, +}; + +static const struct UnkStruct_860DD10 gUnknown_0860d7c4[] = +{ + {.src = 0x6021, .y = 0x10, .x = 0x09}, + {.src = 0x6023, .y = 0x10, .x = 0x0a}, + {.src = 0x6047, .y = 0x11, .x = 0x0a}, + {.src = 0x6021, .y = 0x11, .x = 0x0b}, + {.src = 0x6027, .y = 0x10, .x = 0x0b}, + {.src = 0x6027, .y = 0x0f, .x = 0x0b}, + {.src = 0x6021, .y = 0x0f, .x = 0x0c}, + {.src = 0x6033, .y = 0x0e, .x = 0x0c}, + {.src = 0x6032, .y = 0x0d, .x = 0x0c}, + {.src = 0x6031, .y = 0x0c, .x = 0x0c}, + {.src = 0x6030, .y = 0x0b, .x = 0x0c}, +}; + +static const struct UnkStruct_860DD10 gUnknown_0860d7f0[] = +{ + {.src = 0x6021, .y = 0x10, .x = 0x09}, + {.src = 0x6023, .y = 0x10, .x = 0x0a}, + {.src = 0x6047, .y = 0x11, .x = 0x0a}, + {.src = 0x6021, .y = 0x11, .x = 0x0b}, + {.src = 0x6027, .y = 0x10, .x = 0x0b}, + {.src = 0x6027, .y = 0x0f, .x = 0x0b}, + {.src = 0x6021, .y = 0x0f, .x = 0x0c}, + {.src = 0x6033, .y = 0x0e, .x = 0x0c}, + {.src = 0x6032, .y = 0x0d, .x = 0x0c}, + {.src = 0x6031, .y = 0x0c, .x = 0x0c}, + {.src = 0x6030, .y = 0x0b, .x = 0x0c}, + {.src = 0x602c, .y = 0x0b, .x = 0x0d}, + {.src = 0x602d, .y = 0x0b, .x = 0x0e}, +}; + +static const struct UnkStruct_860DD10 gUnknown_0860d824[] = +{ + {.src = 0x602b, .y = 0x12, .x = 0x09}, + {.src = 0x602b, .y = 0x12, .x = 0x0a}, + {.src = 0x6027, .y = 0x11, .x = 0x0a}, + {.src = 0x6021, .y = 0x11, .x = 0x0b}, +}; + +static const struct UnkStruct_860DD10 gUnknown_0860d834[] = +{ + {.src = 0x602b, .y = 0x12, .x = 0x09}, + {.src = 0x602b, .y = 0x12, .x = 0x0a}, + {.src = 0x6027, .y = 0x11, .x = 0x0a}, + {.src = 0x6021, .y = 0x11, .x = 0x0b}, + {.src = 0x6027, .y = 0x10, .x = 0x0b}, + {.src = 0x6027, .y = 0x0f, .x = 0x0b}, + {.src = 0x6021, .y = 0x0f, .x = 0x0c}, +}; + +static const struct UnkStruct_860DD10 gUnknown_0860d850[] = +{ + {.src = 0x602b, .y = 0x12, .x = 0x09}, + {.src = 0x602b, .y = 0x12, .x = 0x0a}, + {.src = 0x6027, .y = 0x11, .x = 0x0a}, + {.src = 0x6021, .y = 0x11, .x = 0x0b}, + {.src = 0x6027, .y = 0x10, .x = 0x0b}, + {.src = 0x6027, .y = 0x0f, .x = 0x0b}, + {.src = 0x6021, .y = 0x0f, .x = 0x0c}, + {.src = 0x6033, .y = 0x0e, .x = 0x0c}, + {.src = 0x6032, .y = 0x0d, .x = 0x0c}, + {.src = 0x6031, .y = 0x0c, .x = 0x0c}, + {.src = 0x6030, .y = 0x0b, .x = 0x0c}, +}; + +static const struct UnkStruct_860DD10 gUnknown_0860d87c[] = +{ + {.src = 0x602b, .y = 0x12, .x = 0x09}, + {.src = 0x602b, .y = 0x12, .x = 0x0a}, + {.src = 0x6027, .y = 0x11, .x = 0x0a}, + {.src = 0x6021, .y = 0x11, .x = 0x0b}, + {.src = 0x6027, .y = 0x10, .x = 0x0b}, + {.src = 0x6027, .y = 0x0f, .x = 0x0b}, + {.src = 0x6021, .y = 0x0f, .x = 0x0c}, + {.src = 0x6033, .y = 0x0e, .x = 0x0c}, + {.src = 0x6032, .y = 0x0d, .x = 0x0c}, + {.src = 0x6031, .y = 0x0c, .x = 0x0c}, + {.src = 0x6030, .y = 0x0b, .x = 0x0c}, + {.src = 0x602c, .y = 0x0b, .x = 0x0d}, + {.src = 0x602d, .y = 0x0b, .x = 0x0e}, +}; + +static const struct UnkStruct_860DD10 gUnknown_0860d8b0[] = +{ + {.src = 0x6021, .y = 0x04, .x = 0x14}, + {.src = 0x6025, .y = 0x04, .x = 0x13}, + {.src = 0x6049, .y = 0x05, .x = 0x13}, + {.src = 0x6045, .y = 0x05, .x = 0x12}, +}; + +static const struct UnkStruct_860DD10 gUnknown_0860d8c0[] = +{ + {.src = 0x6021, .y = 0x04, .x = 0x14}, + {.src = 0x6025, .y = 0x04, .x = 0x13}, + {.src = 0x6049, .y = 0x05, .x = 0x13}, + {.src = 0x6025, .y = 0x05, .x = 0x12}, + {.src = 0x6029, .y = 0x06, .x = 0x12}, + {.src = 0x6049, .y = 0x07, .x = 0x12}, + {.src = 0x6045, .y = 0x07, .x = 0x11}, +}; + +static const struct UnkStruct_860DD10 gUnknown_0860d8dc[] = +{ + {.src = 0x6021, .y = 0x04, .x = 0x14}, + {.src = 0x6025, .y = 0x04, .x = 0x13}, + {.src = 0x6049, .y = 0x05, .x = 0x13}, + {.src = 0x6025, .y = 0x05, .x = 0x12}, + {.src = 0x6029, .y = 0x06, .x = 0x12}, + {.src = 0x6049, .y = 0x07, .x = 0x12}, + {.src = 0x6025, .y = 0x07, .x = 0x11}, + {.src = 0x6029, .y = 0x08, .x = 0x11}, + {.src = 0x6029, .y = 0x09, .x = 0x11}, + {.src = 0x6029, .y = 0x0a, .x = 0x11}, + {.src = 0x603c, .y = 0x0b, .x = 0x11}, +}; + +static const struct UnkStruct_860DD10 gUnknown_0860d908[] = +{ + {.src = 0x6021, .y = 0x04, .x = 0x14}, + {.src = 0x6025, .y = 0x04, .x = 0x13}, + {.src = 0x6049, .y = 0x05, .x = 0x13}, + {.src = 0x6025, .y = 0x05, .x = 0x12}, + {.src = 0x6029, .y = 0x06, .x = 0x12}, + {.src = 0x6049, .y = 0x07, .x = 0x12}, + {.src = 0x6025, .y = 0x07, .x = 0x11}, + {.src = 0x6029, .y = 0x08, .x = 0x11}, + {.src = 0x6029, .y = 0x09, .x = 0x11}, + {.src = 0x6029, .y = 0x0a, .x = 0x11}, + {.src = 0x603c, .y = 0x0b, .x = 0x11}, + {.src = 0x602f, .y = 0x0b, .x = 0x10}, + {.src = 0x602e, .y = 0x0b, .x = 0x0f}, +}; + +static const struct UnkStruct_860DD10 gUnknown_0860d93c[] = +{ + {.src = 0x6021, .y = 0x06, .x = 0x14}, + {.src = 0x6021, .y = 0x06, .x = 0x13}, + {.src = 0x6029, .y = 0x05, .x = 0x13}, + {.src = 0x6045, .y = 0x05, .x = 0x12}, +}; + +static const struct UnkStruct_860DD10 gUnknown_0860d94c[] = +{ + {.src = 0x6021, .y = 0x06, .x = 0x14}, + {.src = 0x6021, .y = 0x06, .x = 0x13}, + {.src = 0x6029, .y = 0x05, .x = 0x13}, + {.src = 0x6025, .y = 0x05, .x = 0x12}, + {.src = 0x6029, .y = 0x06, .x = 0x12}, + {.src = 0x6049, .y = 0x07, .x = 0x12}, + {.src = 0x6045, .y = 0x07, .x = 0x11}, +}; + +static const struct UnkStruct_860DD10 gUnknown_0860d968[] = +{ + {.src = 0x6021, .y = 0x06, .x = 0x14}, + {.src = 0x6021, .y = 0x06, .x = 0x13}, + {.src = 0x6029, .y = 0x05, .x = 0x13}, + {.src = 0x6025, .y = 0x05, .x = 0x12}, + {.src = 0x6029, .y = 0x06, .x = 0x12}, + {.src = 0x6049, .y = 0x07, .x = 0x12}, + {.src = 0x6025, .y = 0x07, .x = 0x11}, + {.src = 0x6029, .y = 0x08, .x = 0x11}, + {.src = 0x6029, .y = 0x09, .x = 0x11}, + {.src = 0x6029, .y = 0x0a, .x = 0x11}, + {.src = 0x603c, .y = 0x0b, .x = 0x11}, +}; + +static const struct UnkStruct_860DD10 gUnknown_0860d994[] = +{ + {.src = 0x6021, .y = 0x06, .x = 0x14}, + {.src = 0x6021, .y = 0x06, .x = 0x13}, + {.src = 0x6029, .y = 0x05, .x = 0x13}, + {.src = 0x6025, .y = 0x05, .x = 0x12}, + {.src = 0x6029, .y = 0x06, .x = 0x12}, + {.src = 0x6049, .y = 0x07, .x = 0x12}, + {.src = 0x6025, .y = 0x07, .x = 0x11}, + {.src = 0x6029, .y = 0x08, .x = 0x11}, + {.src = 0x6029, .y = 0x09, .x = 0x11}, + {.src = 0x6029, .y = 0x0a, .x = 0x11}, + {.src = 0x603c, .y = 0x0b, .x = 0x11}, + {.src = 0x602f, .y = 0x0b, .x = 0x10}, + {.src = 0x602e, .y = 0x0b, .x = 0x0f}, +}; + +static const struct UnkStruct_860DD10 gUnknown_0860d9c8[] = +{ + {.src = 0x6021, .y = 0x08, .x = 0x14}, + {.src = 0x6025, .y = 0x08, .x = 0x13}, + {.src = 0x6049, .y = 0x09, .x = 0x13}, + {.src = 0x6021, .y = 0x09, .x = 0x12}, +}; + +static const struct UnkStruct_860DD10 gUnknown_0860d9d8[] = +{ + {.src = 0x6021, .y = 0x08, .x = 0x14}, + {.src = 0x6025, .y = 0x08, .x = 0x13}, + {.src = 0x6049, .y = 0x09, .x = 0x13}, + {.src = 0x6021, .y = 0x09, .x = 0x12}, + {.src = 0x6029, .y = 0x08, .x = 0x12}, + {.src = 0x6029, .y = 0x07, .x = 0x12}, + {.src = 0x6045, .y = 0x07, .x = 0x11}, +}; + +static const struct UnkStruct_860DD10 gUnknown_0860d9f4[] = +{ + {.src = 0x6021, .y = 0x08, .x = 0x14}, + {.src = 0x6025, .y = 0x08, .x = 0x13}, + {.src = 0x6049, .y = 0x09, .x = 0x13}, + {.src = 0x6021, .y = 0x09, .x = 0x12}, + {.src = 0x6029, .y = 0x08, .x = 0x12}, + {.src = 0x6029, .y = 0x07, .x = 0x12}, + {.src = 0x6025, .y = 0x07, .x = 0x11}, + {.src = 0x6029, .y = 0x08, .x = 0x11}, + {.src = 0x6029, .y = 0x09, .x = 0x11}, + {.src = 0x6029, .y = 0x0a, .x = 0x11}, + {.src = 0x603c, .y = 0x0b, .x = 0x11}, +}; + +static const struct UnkStruct_860DD10 gUnknown_0860da20[] = +{ + {.src = 0x6021, .y = 0x08, .x = 0x14}, + {.src = 0x6025, .y = 0x08, .x = 0x13}, + {.src = 0x6049, .y = 0x09, .x = 0x13}, + {.src = 0x6021, .y = 0x09, .x = 0x12}, + {.src = 0x6029, .y = 0x08, .x = 0x12}, + {.src = 0x6029, .y = 0x07, .x = 0x12}, + {.src = 0x6025, .y = 0x07, .x = 0x11}, + {.src = 0x6029, .y = 0x08, .x = 0x11}, + {.src = 0x6029, .y = 0x09, .x = 0x11}, + {.src = 0x6029, .y = 0x0a, .x = 0x11}, + {.src = 0x603c, .y = 0x0b, .x = 0x11}, + {.src = 0x602f, .y = 0x0b, .x = 0x10}, + {.src = 0x602e, .y = 0x0b, .x = 0x0f}, +}; + +static const struct UnkStruct_860DD10 gUnknown_0860da54[] = +{ + {.src = 0x6021, .y = 0x0a, .x = 0x14}, + {.src = 0x6021, .y = 0x0a, .x = 0x13}, + {.src = 0x6029, .y = 0x09, .x = 0x13}, + {.src = 0x6021, .y = 0x09, .x = 0x12}, +}; + +static const struct UnkStruct_860DD10 gUnknown_0860da64[] = +{ + {.src = 0x6021, .y = 0x0a, .x = 0x14}, + {.src = 0x6021, .y = 0x0a, .x = 0x13}, + {.src = 0x6029, .y = 0x09, .x = 0x13}, + {.src = 0x6021, .y = 0x09, .x = 0x12}, + {.src = 0x6029, .y = 0x08, .x = 0x12}, + {.src = 0x6029, .y = 0x07, .x = 0x12}, + {.src = 0x6045, .y = 0x07, .x = 0x11}, +}; + +static const struct UnkStruct_860DD10 gUnknown_0860da80[] = +{ + {.src = 0x6021, .y = 0x0a, .x = 0x14}, + {.src = 0x6021, .y = 0x0a, .x = 0x13}, + {.src = 0x6029, .y = 0x09, .x = 0x13}, + {.src = 0x6021, .y = 0x09, .x = 0x12}, + {.src = 0x6029, .y = 0x08, .x = 0x12}, + {.src = 0x6029, .y = 0x07, .x = 0x12}, + {.src = 0x6025, .y = 0x07, .x = 0x11}, + {.src = 0x6029, .y = 0x08, .x = 0x11}, + {.src = 0x6029, .y = 0x09, .x = 0x11}, + {.src = 0x6029, .y = 0x0a, .x = 0x11}, + {.src = 0x603c, .y = 0x0b, .x = 0x11}, +}; + +static const struct UnkStruct_860DD10 gUnknown_0860daac[] = +{ + {.src = 0x6021, .y = 0x0a, .x = 0x14}, + {.src = 0x6021, .y = 0x0a, .x = 0x13}, + {.src = 0x6029, .y = 0x09, .x = 0x13}, + {.src = 0x6021, .y = 0x09, .x = 0x12}, + {.src = 0x6029, .y = 0x08, .x = 0x12}, + {.src = 0x6029, .y = 0x07, .x = 0x12}, + {.src = 0x6025, .y = 0x07, .x = 0x11}, + {.src = 0x6029, .y = 0x08, .x = 0x11}, + {.src = 0x6029, .y = 0x09, .x = 0x11}, + {.src = 0x6029, .y = 0x0a, .x = 0x11}, + {.src = 0x603c, .y = 0x0b, .x = 0x11}, + {.src = 0x602f, .y = 0x0b, .x = 0x10}, + {.src = 0x602e, .y = 0x0b, .x = 0x0f}, +}; + +static const struct UnkStruct_860DD10 gUnknown_0860dae0[] = +{ + {.src = 0x6021, .y = 0x0c, .x = 0x14}, + {.src = 0x6025, .y = 0x0c, .x = 0x13}, + {.src = 0x6049, .y = 0x0d, .x = 0x13}, + {.src = 0x6045, .y = 0x0d, .x = 0x12}, +}; + +static const struct UnkStruct_860DD10 gUnknown_0860daf0[] = +{ + {.src = 0x6021, .y = 0x0c, .x = 0x14}, + {.src = 0x6025, .y = 0x0c, .x = 0x13}, + {.src = 0x6049, .y = 0x0d, .x = 0x13}, + {.src = 0x6025, .y = 0x0d, .x = 0x12}, + {.src = 0x6029, .y = 0x0e, .x = 0x12}, + {.src = 0x6049, .y = 0x0f, .x = 0x12}, + {.src = 0x6021, .y = 0x0f, .x = 0x11}, +}; + +static const struct UnkStruct_860DD10 gUnknown_0860db0c[] = +{ + {.src = 0x6021, .y = 0x0c, .x = 0x14}, + {.src = 0x6025, .y = 0x0c, .x = 0x13}, + {.src = 0x6049, .y = 0x0d, .x = 0x13}, + {.src = 0x6025, .y = 0x0d, .x = 0x12}, + {.src = 0x6029, .y = 0x0e, .x = 0x12}, + {.src = 0x6049, .y = 0x0f, .x = 0x12}, + {.src = 0x6021, .y = 0x0f, .x = 0x11}, + {.src = 0x6038, .y = 0x0e, .x = 0x11}, + {.src = 0x6037, .y = 0x0d, .x = 0x11}, + {.src = 0x6036, .y = 0x0c, .x = 0x11}, + {.src = 0x6035, .y = 0x0b, .x = 0x11}, +}; + +static const struct UnkStruct_860DD10 gUnknown_0860db38[] = +{ + {.src = 0x6021, .y = 0x0c, .x = 0x14}, + {.src = 0x6025, .y = 0x0c, .x = 0x13}, + {.src = 0x6049, .y = 0x0d, .x = 0x13}, + {.src = 0x6025, .y = 0x0d, .x = 0x12}, + {.src = 0x6029, .y = 0x0e, .x = 0x12}, + {.src = 0x6049, .y = 0x0f, .x = 0x12}, + {.src = 0x6021, .y = 0x0f, .x = 0x11}, + {.src = 0x6038, .y = 0x0e, .x = 0x11}, + {.src = 0x6037, .y = 0x0d, .x = 0x11}, + {.src = 0x6036, .y = 0x0c, .x = 0x11}, + {.src = 0x6035, .y = 0x0b, .x = 0x11}, + {.src = 0x602f, .y = 0x0b, .x = 0x10}, + {.src = 0x602e, .y = 0x0b, .x = 0x0f}, +}; + +static const struct UnkStruct_860DD10 gUnknown_0860db6c[] = +{ + {.src = 0x6021, .y = 0x0e, .x = 0x14}, + {.src = 0x6021, .y = 0x0e, .x = 0x13}, + {.src = 0x6029, .y = 0x0d, .x = 0x13}, + {.src = 0x6045, .y = 0x0d, .x = 0x12}, +}; + +static const struct UnkStruct_860DD10 gUnknown_0860db7c[] = +{ + {.src = 0x6021, .y = 0x0e, .x = 0x14}, + {.src = 0x6021, .y = 0x0e, .x = 0x13}, + {.src = 0x6029, .y = 0x0d, .x = 0x13}, + {.src = 0x6025, .y = 0x0d, .x = 0x12}, + {.src = 0x6029, .y = 0x0e, .x = 0x12}, + {.src = 0x6049, .y = 0x0f, .x = 0x12}, + {.src = 0x6021, .y = 0x0f, .x = 0x11}, +}; + +static const struct UnkStruct_860DD10 gUnknown_0860db98[] = +{ + {.src = 0x6021, .y = 0x0e, .x = 0x14}, + {.src = 0x6021, .y = 0x0e, .x = 0x13}, + {.src = 0x6029, .y = 0x0d, .x = 0x13}, + {.src = 0x6025, .y = 0x0d, .x = 0x12}, + {.src = 0x6029, .y = 0x0e, .x = 0x12}, + {.src = 0x6049, .y = 0x0f, .x = 0x12}, + {.src = 0x6021, .y = 0x0f, .x = 0x11}, + {.src = 0x6038, .y = 0x0e, .x = 0x11}, + {.src = 0x6037, .y = 0x0d, .x = 0x11}, + {.src = 0x6036, .y = 0x0c, .x = 0x11}, + {.src = 0x6035, .y = 0x0b, .x = 0x11}, +}; + +static const struct UnkStruct_860DD10 gUnknown_0860dbc4[] = +{ + {.src = 0x6021, .y = 0x0e, .x = 0x14}, + {.src = 0x6021, .y = 0x0e, .x = 0x13}, + {.src = 0x6029, .y = 0x0d, .x = 0x13}, + {.src = 0x6025, .y = 0x0d, .x = 0x12}, + {.src = 0x6029, .y = 0x0e, .x = 0x12}, + {.src = 0x6049, .y = 0x0f, .x = 0x12}, + {.src = 0x6021, .y = 0x0f, .x = 0x11}, + {.src = 0x6038, .y = 0x0e, .x = 0x11}, + {.src = 0x6037, .y = 0x0d, .x = 0x11}, + {.src = 0x6036, .y = 0x0c, .x = 0x11}, + {.src = 0x6035, .y = 0x0b, .x = 0x11}, + {.src = 0x602f, .y = 0x0b, .x = 0x10}, + {.src = 0x602e, .y = 0x0b, .x = 0x0f}, +}; + +static const struct UnkStruct_860DD10 gUnknown_0860dbf8[] = +{ + {.src = 0x6021, .y = 0x10, .x = 0x14}, + {.src = 0x6025, .y = 0x10, .x = 0x13}, + {.src = 0x6049, .y = 0x11, .x = 0x13}, + {.src = 0x6021, .y = 0x11, .x = 0x12}, +}; + +static const struct UnkStruct_860DD10 gUnknown_0860dc08[] = +{ + {.src = 0x6021, .y = 0x10, .x = 0x14}, + {.src = 0x6025, .y = 0x10, .x = 0x13}, + {.src = 0x6049, .y = 0x11, .x = 0x13}, + {.src = 0x6021, .y = 0x11, .x = 0x12}, + {.src = 0x6029, .y = 0x10, .x = 0x12}, + {.src = 0x6029, .y = 0x0f, .x = 0x12}, + {.src = 0x6021, .y = 0x0f, .x = 0x11}, +}; + +static const struct UnkStruct_860DD10 gUnknown_0860dc24[] = +{ + {.src = 0x6021, .y = 0x10, .x = 0x14}, + {.src = 0x6025, .y = 0x10, .x = 0x13}, + {.src = 0x6049, .y = 0x11, .x = 0x13}, + {.src = 0x6021, .y = 0x11, .x = 0x12}, + {.src = 0x6029, .y = 0x10, .x = 0x12}, + {.src = 0x6029, .y = 0x0f, .x = 0x12}, + {.src = 0x6021, .y = 0x0f, .x = 0x11}, + {.src = 0x6038, .y = 0x0e, .x = 0x11}, + {.src = 0x6037, .y = 0x0d, .x = 0x11}, + {.src = 0x6036, .y = 0x0c, .x = 0x11}, + {.src = 0x6035, .y = 0x0b, .x = 0x11}, +}; + +static const struct UnkStruct_860DD10 gUnknown_0860dc50[] = +{ + {.src = 0x6021, .y = 0x10, .x = 0x14}, + {.src = 0x6025, .y = 0x10, .x = 0x13}, + {.src = 0x6049, .y = 0x11, .x = 0x13}, + {.src = 0x6021, .y = 0x11, .x = 0x12}, + {.src = 0x6029, .y = 0x10, .x = 0x12}, + {.src = 0x6029, .y = 0x0f, .x = 0x12}, + {.src = 0x6021, .y = 0x0f, .x = 0x11}, + {.src = 0x6038, .y = 0x0e, .x = 0x11}, + {.src = 0x6037, .y = 0x0d, .x = 0x11}, + {.src = 0x6036, .y = 0x0c, .x = 0x11}, + {.src = 0x6035, .y = 0x0b, .x = 0x11}, + {.src = 0x602f, .y = 0x0b, .x = 0x10}, + {.src = 0x602e, .y = 0x0b, .x = 0x0f}, +}; + +static const struct UnkStruct_860DD10 gUnknown_0860dc84[] = +{ + {.src = 0x602b, .y = 0x12, .x = 0x14}, + {.src = 0x602b, .y = 0x12, .x = 0x13}, + {.src = 0x6029, .y = 0x11, .x = 0x13}, + {.src = 0x6021, .y = 0x11, .x = 0x12}, +}; + +static const struct UnkStruct_860DD10 gUnknown_0860dc94[] = +{ + {.src = 0x602b, .y = 0x12, .x = 0x14}, + {.src = 0x602b, .y = 0x12, .x = 0x13}, + {.src = 0x6029, .y = 0x11, .x = 0x13}, + {.src = 0x6021, .y = 0x11, .x = 0x12}, + {.src = 0x6029, .y = 0x10, .x = 0x12}, + {.src = 0x6029, .y = 0x0f, .x = 0x12}, + {.src = 0x6021, .y = 0x0f, .x = 0x11}, +}; + +static const struct UnkStruct_860DD10 gUnknown_0860dcb0[] = +{ + {.src = 0x602b, .y = 0x12, .x = 0x14}, + {.src = 0x602b, .y = 0x12, .x = 0x13}, + {.src = 0x6029, .y = 0x11, .x = 0x13}, + {.src = 0x6021, .y = 0x11, .x = 0x12}, + {.src = 0x6029, .y = 0x10, .x = 0x12}, + {.src = 0x6029, .y = 0x0f, .x = 0x12}, + {.src = 0x6021, .y = 0x0f, .x = 0x11}, + {.src = 0x6038, .y = 0x0e, .x = 0x11}, + {.src = 0x6037, .y = 0x0d, .x = 0x11}, + {.src = 0x6036, .y = 0x0c, .x = 0x11}, + {.src = 0x6035, .y = 0x0b, .x = 0x11}, +}; + +static const struct UnkStruct_860DD10 gUnknown_0860dcdc[] = +{ + {.src = 0x602b, .y = 0x12, .x = 0x14}, + {.src = 0x602b, .y = 0x12, .x = 0x13}, + {.src = 0x6029, .y = 0x11, .x = 0x13}, + {.src = 0x6021, .y = 0x11, .x = 0x12}, + {.src = 0x6029, .y = 0x10, .x = 0x12}, + {.src = 0x6029, .y = 0x0f, .x = 0x12}, + {.src = 0x6021, .y = 0x0f, .x = 0x11}, + {.src = 0x6038, .y = 0x0e, .x = 0x11}, + {.src = 0x6037, .y = 0x0d, .x = 0x11}, + {.src = 0x6036, .y = 0x0c, .x = 0x11}, + {.src = 0x6035, .y = 0x0b, .x = 0x11}, + {.src = 0x602f, .y = 0x0b, .x = 0x10}, + {.src = 0x602e, .y = 0x0b, .x = 0x0f}, +}; + +static const struct UnkStruct_860DD10 * const gUnknown_0860DD10[][4] = +{ + {gUnknown_0860d450, gUnknown_0860d460, gUnknown_0860d47c, gUnknown_0860d4a8}, + {gUnknown_0860dc84, gUnknown_0860dc94, gUnknown_0860dcb0, gUnknown_0860dcdc}, + {gUnknown_0860d8b0, gUnknown_0860d8c0, gUnknown_0860d8dc, gUnknown_0860d908}, + {gUnknown_0860d824, gUnknown_0860d834, gUnknown_0860d850, gUnknown_0860d87c}, + {gUnknown_0860d5f4, gUnknown_0860d604, gUnknown_0860d620, gUnknown_0860d64c}, + {gUnknown_0860dae0, gUnknown_0860daf0, gUnknown_0860db0c, gUnknown_0860db38}, + {gUnknown_0860da54, gUnknown_0860da64, gUnknown_0860da80, gUnknown_0860daac}, + {gUnknown_0860d680, gUnknown_0860d690, gUnknown_0860d6ac, gUnknown_0860d6d8}, + {gUnknown_0860d4dc, gUnknown_0860d4ec, gUnknown_0860d508, gUnknown_0860d534}, + {gUnknown_0860dbf8, gUnknown_0860dc08, gUnknown_0860dc24, gUnknown_0860dc50}, + {gUnknown_0860d93c, gUnknown_0860d94c, gUnknown_0860d968, gUnknown_0860d994}, + {gUnknown_0860d798, gUnknown_0860d7a8, gUnknown_0860d7c4, gUnknown_0860d7f0}, + {gUnknown_0860d568, gUnknown_0860d578, gUnknown_0860d594, gUnknown_0860d5c0}, + {gUnknown_0860db6c, gUnknown_0860db7c, gUnknown_0860db98, gUnknown_0860dbc4}, + {gUnknown_0860d9c8, gUnknown_0860d9d8, gUnknown_0860d9f4, gUnknown_0860da20}, + {gUnknown_0860d70c, gUnknown_0860d71c, gUnknown_0860d738, gUnknown_0860d764}, +}; + +static const u8 gUnknown_0860DE10[][4] = +{ + {0x04, 0x07, 0x0b, 0x0d}, + {0x04, 0x07, 0x0b, 0x0d}, + {0x04, 0x07, 0x0b, 0x0d}, + {0x04, 0x07, 0x0b, 0x0d}, + {0x04, 0x07, 0x0b, 0x0d}, + {0x04, 0x07, 0x0b, 0x0d}, + {0x04, 0x07, 0x0b, 0x0d}, + {0x04, 0x07, 0x0b, 0x0d}, + {0x04, 0x07, 0x0b, 0x0d}, + {0x04, 0x07, 0x0b, 0x0d}, + {0x04, 0x07, 0x0b, 0x0d}, + {0x04, 0x07, 0x0b, 0x0d}, + {0x04, 0x07, 0x0b, 0x0d}, + {0x04, 0x07, 0x0b, 0x0d}, + {0x04, 0x07, 0x0b, 0x0d}, + {0x04, 0x07, 0x0b, 0x0d}, +}; + // code void CallBattleDomeFunction(void) { From 78cad0dee52e69ab7cca6b8ddc793820697ba01f Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Sun, 26 Aug 2018 15:27:06 +0200 Subject: [PATCH 134/234] try battle tent and fail --- asm/battle_frontier_1.s | 351 ---------------------------------------- asm/battle_frontier_2.s | 6 +- asm/battle_tower.s | 66 ++++---- include/battle_tower.h | 10 ++ include/global.h | 14 +- ld_script.txt | 1 + src/battle_dome.c | 20 +-- src/battle_frontier_1.c | 118 ++++++++++++++ src/battle_tent.c | 83 +++++++++- src/field_specials.c | 6 +- src/pokemon.c | 9 +- src/unk_text_util_2.c | 1 + 12 files changed, 264 insertions(+), 421 deletions(-) create mode 100644 src/battle_frontier_1.c diff --git a/asm/battle_frontier_1.s b/asm/battle_frontier_1.s index 193bd5e347..7ebc2f2563 100644 --- a/asm/battle_frontier_1.s +++ b/asm/battle_frontier_1.s @@ -7,357 +7,6 @@ - - - thumb_func_start sub_8195960 -sub_8195960: @ 8195960 - push {lr} - ldr r1, =gUnknown_0860DE50 - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - bl _call_via_r0 - pop {r0} - bx r0 - .pool - thumb_func_end sub_8195960 - - thumb_func_start sub_8195980 -sub_8195980: @ 8195980 - push {r4-r7,lr} - ldr r4, =gSaveBlock2Ptr - ldr r0, [r4] - ldr r1, =0x00000ca9 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 30 - lsrs r5, r0, 30 - ldr r0, =0x000040ce - bl VarGet - lsls r0, 16 - lsrs r7, r0, 16 - ldr r0, [r4] - ldr r2, =0x00000ca8 - adds r0, r2 - movs r6, 0 - strb r6, [r0] - ldr r1, [r4] - adds r2, 0xA - adds r0, r1, r2 - strh r6, [r0] - ldr r0, =0x00000ca9 - adds r1, r0 - ldrb r2, [r1] - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - strb r0, [r1] - ldr r1, [r4] - ldr r2, =0x00000ca9 - adds r1, r2 - ldrb r2, [r1] - movs r0, 0x9 - negs r0, r0 - ands r0, r2 - strb r0, [r1] - ldr r4, [r4] - ldr r0, =0x00000cdc - adds r3, r4, r0 - ldr r2, =gUnknown_0860DE98 - lsls r1, r5, 2 - lsls r0, r7, 3 - adds r1, r0 - adds r1, r2 - ldr r0, [r3] - ldr r1, [r1] - ands r0, r1 - cmp r0, 0 - bne _081959F2 - lsls r0, r5, 1 - lsls r1, r7, 2 - adds r0, r1 - ldr r2, =0x00000dc8 - adds r1, r4, r2 - adds r1, r0 - strh r6, [r1] -_081959F2: - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - movs r1, 0x4 - ldrsb r1, [r0, r1] - movs r2, 0x5 - ldrsb r2, [r0, r2] - movs r3, 0x1 - negs r3, r3 - movs r0, 0 - bl saved_warp2_set - ldr r0, =gTrainerBattleOpponent_A - strh r6, [r0] - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8195980 - - thumb_func_start sub_8195A38 -sub_8195A38: @ 8195A38 - push {r4-r7,lr} - ldr r5, =gSaveBlock2Ptr - ldr r0, [r5] - ldr r1, =0x00000ca9 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 30 - lsrs r7, r0, 30 - ldr r0, =0x000040ce - bl VarGet - lsls r0, 16 - lsrs r6, r0, 16 - ldr r0, =gSpecialVar_0x8005 - ldrh r0, [r0] - cmp r0, 0x1 - beq _08195A90 - cmp r0, 0x1 - bgt _08195A74 - cmp r0, 0 - beq _08195A7A - b _08195AD0 - .pool -_08195A74: - cmp r0, 0x2 - beq _08195AB0 - b _08195AD0 -_08195A7A: - ldr r0, =gSpecialVar_Result - ldr r1, [r5] - ldr r2, =0x00000dc6 - adds r1, r2 - ldrh r1, [r1] - strh r1, [r0] - b _08195AD0 - .pool -_08195A90: - ldr r3, =gSpecialVar_Result - ldr r0, [r5] - lsls r1, r7, 1 - lsls r2, r6, 2 - adds r1, r2 - ldr r2, =0x00000dc8 - adds r0, r2 - adds r0, r1 - ldrh r0, [r0] - strh r0, [r3] - b _08195AD0 - .pool -_08195AB0: - ldr r4, =gSpecialVar_Result - ldr r2, [r5] - ldr r0, =0x00000cdc - adds r2, r0 - ldr r3, =gUnknown_0860DE98 - lsls r0, r7, 2 - lsls r1, r6, 3 - adds r0, r1 - adds r0, r3 - ldr r1, [r2] - ldr r0, [r0] - ands r1, r0 - negs r0, r1 - orrs r0, r1 - lsrs r0, 31 - strh r0, [r4] -_08195AD0: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8195A38 - - thumb_func_start sub_8195AE4 -sub_8195AE4: @ 8195AE4 - push {r4-r6,lr} - ldr r6, =gSaveBlock2Ptr - ldr r0, [r6] - ldr r1, =0x00000ca9 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 30 - lsrs r5, r0, 30 - ldr r0, =0x000040ce - bl VarGet - lsls r0, 16 - lsrs r4, r0, 16 - ldr r0, =gSpecialVar_0x8005 - ldrh r0, [r0] - cmp r0, 0x1 - beq _08195B3C - cmp r0, 0x1 - bgt _08195B20 - cmp r0, 0 - beq _08195B26 - b _08195BA0 - .pool -_08195B20: - cmp r0, 0x2 - beq _08195B5C - b _08195BA0 -_08195B26: - ldr r0, [r6] - ldr r1, =gSpecialVar_0x8006 - ldrh r1, [r1] - ldr r2, =0x00000dc6 - adds r0, r2 - strh r1, [r0] - b _08195BA0 - .pool -_08195B3C: - ldr r2, [r6] - lsls r0, r5, 1 - lsls r1, r4, 2 - adds r0, r1 - ldr r1, =0x00000dc8 - adds r2, r1 - adds r2, r0 - ldr r0, =gSpecialVar_0x8006 - ldrh r0, [r0] - strh r0, [r2] - b _08195BA0 - .pool -_08195B5C: - ldr r0, =gSpecialVar_0x8006 - ldrh r0, [r0] - cmp r0, 0 - beq _08195B88 - ldr r2, [r6] - ldr r0, =0x00000cdc - adds r2, r0 - ldr r3, =gUnknown_0860DE98 - lsls r1, r5, 2 - lsls r0, r4, 3 - adds r1, r0 - adds r1, r3 - ldr r0, [r2] - ldr r1, [r1] - orrs r0, r1 - b _08195B9E - .pool -_08195B88: - ldr r2, [r6] - ldr r1, =0x00000cdc - adds r2, r1 - ldr r3, =gUnknown_0860DEA8 - lsls r1, r5, 2 - lsls r0, r4, 3 - adds r1, r0 - adds r1, r3 - ldr r0, [r2] - ldr r1, [r1] - ands r0, r1 -_08195B9E: - str r0, [r2] -_08195BA0: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8195AE4 - - thumb_func_start sub_8195BB0 -sub_8195BB0: @ 8195BB0 - push {r4,lr} - ldr r0, =0x000040ce - bl VarGet - lsls r0, 16 - ldr r1, =gSaveBlock2Ptr - ldr r2, [r1] - ldr r3, =0x00000ca9 - adds r1, r2, r3 - ldrb r1, [r1] - lsls r1, 30 - lsrs r1, 29 - lsrs r0, 14 - adds r1, r0 - ldr r0, =0x00000dc8 - adds r2, r0 - adds r2, r1 - ldrh r0, [r2] - cmp r0, 0x31 - bhi _08195C00 - ldr r4, =gSpecialVar_Result - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x3 - bl __umodsi3 - strh r0, [r4] - b _08195C16 - .pool -_08195C00: - cmp r0, 0x62 - bhi _08195C10 - ldr r1, =gSpecialVar_Result - movs r0, 0x3 - b _08195C14 - .pool -_08195C10: - ldr r1, =gSpecialVar_Result - movs r0, 0x4 -_08195C14: - strh r0, [r1] -_08195C16: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8195BB0 - - thumb_func_start sub_8195C20 -sub_8195C20: @ 8195C20 - push {r4,lr} - ldr r4, =gTrainerBattleOpponent_A - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0xFF - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - lsls r1, r0, 2 - adds r1, r0 - lsrs r1, 6 - strh r1, [r4] - ldrh r0, [r4] - movs r1, 0 - bl sub_8162614 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8195C20 - - thumb_func_start sub_8195C50 -sub_8195C50: @ 8195C50 - push {lr} - ldr r3, =gTrainerBattleOpponent_A - ldrh r1, [r3] - ldr r0, =0x0000012b - cmp r1, r0 - bhi _08195C6C - ldr r2, =gFacilityTrainers - movs r0, 0x34 - muls r1, r0 - ldr r0, [r2] - adds r0, r1 - adds r0, 0xC - bl ConvertBattleFrontierTrainerSpeechToString -_08195C6C: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8195C50 - thumb_func_start sub_8195C7C sub_8195C7C: @ 8195C7C push {r4-r7,lr} diff --git a/asm/battle_frontier_2.s b/asm/battle_frontier_2.s index e7cb145306..1a2233a977 100644 --- a/asm/battle_frontier_2.s +++ b/asm/battle_frontier_2.s @@ -20059,7 +20059,7 @@ _081A4E46: bl ZeroEnemyPartyMons movs r1, 0 str r1, [sp, 0x18] - bl GetFrontierEnemyMonLevel + bl GetFacilityEnemyMonLevel lsls r0, 24 lsrs r0, 24 str r0, [sp, 0x1C] @@ -23702,7 +23702,7 @@ sub_81A6CD0: @ 81A6CD0 lsls r0, 24 lsrs r0, 24 str r0, [sp, 0x24] - bl GetFrontierEnemyMonLevel + bl GetFacilityEnemyMonLevel lsls r0, 24 lsrs r0, 24 str r0, [sp, 0x20] @@ -29517,7 +29517,7 @@ _081A9C56: bl SetMonData cmp r5, 0 beq _081A9CD4 - bl GetFrontierEnemyMonLevel + bl GetFacilityEnemyMonLevel lsls r0, 24 lsrs r5, r0, 24 ldr r1, [sp, 0x10] diff --git a/asm/battle_tower.s b/asm/battle_tower.s index 1ece38af93..bdc49fed25 100644 --- a/asm/battle_tower.s +++ b/asm/battle_tower.s @@ -391,7 +391,7 @@ _081622B2: adds r4, r1, r0 mov r0, r10 str r2, [sp, 0x38] - bl BattleFrontierGetOpponentLvl + bl GetFrontierEnemyMonLevel ldrb r1, [r4] lsls r0, 24 lsrs r0, 24 @@ -551,7 +551,7 @@ _08162414: bl __udivsi3 lsls r0, 16 lsrs r5, r0, 16 - bl GetFrontierEnemyMonLevel + bl GetFacilityEnemyMonLevel subs r4, 0x2 cmp r4, 0x1 bhi _08162488 @@ -784,7 +784,7 @@ sub_8162614: @ 8162614 adds r6, r4, 0 lsls r1, 24 lsrs r5, r1, 24 - bl GetFrontierEnemyMonLevel + bl GetFacilityEnemyMonLevel movs r0, 0xFA lsls r0, 1 cmp r4, r0 @@ -962,7 +962,7 @@ sub_81627A4: @ 81627A4 lsls r0, 16 lsrs r4, r0, 16 adds r5, r4, 0 - bl GetFrontierEnemyMonLevel + bl GetFacilityEnemyMonLevel movs r0, 0xFA lsls r0, 1 cmp r4, r0 @@ -1335,7 +1335,7 @@ GetFrontierTrainerFrontSpriteId: @ 8162AA0 lsls r0, 16 lsrs r4, r0, 16 adds r5, r4, 0 - bl GetFrontierEnemyMonLevel + bl GetFacilityEnemyMonLevel movs r0, 0xFA lsls r0, 1 cmp r4, r0 @@ -1462,7 +1462,7 @@ GetFrontierOpponentClass: @ 8162BD8 lsls r0, 16 lsrs r4, r0, 16 adds r5, r4, 0 - bl GetFrontierEnemyMonLevel + bl GetFacilityEnemyMonLevel movs r0, 0xFA lsls r0, 1 cmp r4, r0 @@ -1602,7 +1602,7 @@ sub_8162D34: @ 8162D34 lsls r0, 16 lsrs r4, r0, 16 adds r5, r4, 0 - bl GetFrontierEnemyMonLevel + bl GetFacilityEnemyMonLevel movs r0, 0xFA lsls r0, 1 cmp r4, r0 @@ -1704,7 +1704,7 @@ GetFrontierTrainerName: @ 8162E20 lsls r1, 16 lsrs r5, r1, 16 movs r4, 0 - bl GetFrontierEnemyMonLevel + bl GetFacilityEnemyMonLevel movs r0, 0xFA lsls r0, 1 cmp r5, r0 @@ -1854,7 +1854,7 @@ sub_8162F68: @ 8162F68 lsls r0, 16 lsrs r4, r0, 16 adds r5, r4, 0 - bl GetFrontierEnemyMonLevel + bl GetFacilityEnemyMonLevel movs r0, 0xFA lsls r0, 1 cmp r4, r0 @@ -2025,7 +2025,7 @@ sub_81630C4: @ 81630C4 add r4, sp, 0x14 movs r0, 0xFF strb r0, [r4] - bl GetFrontierEnemyMonLevel + bl GetFacilityEnemyMonLevel lsls r0, 24 lsrs r0, 24 str r0, [sp, 0x20] @@ -2551,7 +2551,7 @@ RandomizeFacilityTrainerMonId: @ 8163524 adds r4, r0, 0 lsls r4, 16 lsrs r4, 16 - bl GetFrontierEnemyMonLevel + bl GetFacilityEnemyMonLevel lsls r0, 24 lsrs r6, r0, 24 ldr r0, =gFacilityTrainers @@ -2728,7 +2728,7 @@ _081636A4: movs r0, 0x1F _081636A6: str r0, [sp, 0x18] - bl GetFrontierEnemyMonLevel + bl GetFacilityEnemyMonLevel lsls r0, 24 lsrs r0, 24 str r0, [sp, 0x14] @@ -3029,7 +3029,7 @@ _0816390A: thumb_func_start sub_8163914 sub_8163914: @ 8163914 push {lr} - bl GetFrontierEnemyMonLevel + bl GetFacilityEnemyMonLevel ldr r0, =gSpecialVar_0x8005 ldrh r0, [r0] cmp r0, 0 @@ -3979,7 +3979,7 @@ _081641E6: lsls r0, r1, 24 lsrs r0, 24 str r2, [sp, 0x18] - bl BattleFrontierGetOpponentLvl + bl GetFrontierEnemyMonLevel ldrb r1, [r4] lsls r0, 24 lsrs r0, 24 @@ -4091,7 +4091,7 @@ sub_81642A0: @ 81642A0 movs r2, 0 bl GetMonData str r0, [sp, 0x20] - bl GetFrontierEnemyMonLevel + bl GetFacilityEnemyMonLevel movs r7, 0 ldr r0, [sp, 0x18] lsls r0, 24 @@ -4464,7 +4464,7 @@ _081645B8: lsls r0, r1, 24 lsrs r0, 24 str r3, [sp, 0x48] - bl BattleFrontierGetOpponentLvl + bl GetFrontierEnemyMonLevel ldrb r1, [r4] lsls r0, 24 lsrs r0, 24 @@ -4556,7 +4556,7 @@ sub_81646BC: @ 81646BC movs r0, 0 mov r9, r0 mov r10, r0 - bl GetFrontierEnemyMonLevel + bl GetFacilityEnemyMonLevel movs r0, 0xFA lsls r0, 1 cmp r5, r0 @@ -4705,7 +4705,7 @@ sub_8164828: @ 8164828 mov r5, r8 push {r5-r7} sub sp, 0x8 - bl GetFrontierEnemyMonLevel + bl GetFacilityEnemyMonLevel bl sub_81A39C4 lsls r0, 16 lsrs r0, 16 @@ -6073,7 +6073,7 @@ sub_8165404: @ 8165404 sub sp, 0x70 lsls r0, 16 lsrs r7, r0, 16 - bl GetFrontierEnemyMonLevel + bl GetFacilityEnemyMonLevel ldr r0, =0x00000c03 cmp r7, r0 beq _08165420 @@ -6228,7 +6228,7 @@ _08165564: bls _0816556C b _081656E8 _0816556C: - bl GetFrontierEnemyMonLevel + bl GetFacilityEnemyMonLevel lsls r0, 24 lsrs r0, 24 str r0, [sp, 0x50] @@ -7083,8 +7083,8 @@ _08165C2A: .pool thumb_func_end sub_8165B88 - thumb_func_start GetFrontierEnemyMonLevel -GetFrontierEnemyMonLevel: @ 8165C40 + thumb_func_start GetFacilityEnemyMonLevel +GetFacilityEnemyMonLevel: @ 8165C40 push {lr} ldr r0, =gSaveBlock2Ptr ldr r0, [r0] @@ -7104,20 +7104,20 @@ GetFrontierEnemyMonLevel: @ 8165C40 ldrb r0, [r2] lsls r0, 30 lsrs r0, 30 - bl BattleFrontierGetOpponentLvl + bl GetFrontierEnemyMonLevel b _08165C88 .pool _08165C84: - bl sub_8165D78 + bl GetTentEnemyMonLevel _08165C88: lsls r0, 24 lsrs r0, 24 pop {r1} bx r1 - thumb_func_end GetFrontierEnemyMonLevel + thumb_func_end GetFacilityEnemyMonLevel - thumb_func_start BattleFrontierGetOpponentLvl -BattleFrontierGetOpponentLvl: @ 8165C90 + thumb_func_start GetFrontierEnemyMonLevel +GetFrontierEnemyMonLevel: @ 8165C90 push {lr} lsls r0, 24 lsrs r0, 24 @@ -7138,7 +7138,7 @@ _08165CA2: _08165CB0: pop {r1} bx r1 - thumb_func_end BattleFrontierGetOpponentLvl + thumb_func_end GetFrontierEnemyMonLevel thumb_func_start sub_8165CB4 sub_8165CB4: @ 8165CB4 @@ -7246,8 +7246,8 @@ _08165D72: bx r1 thumb_func_end sub_8165D40 - thumb_func_start sub_8165D78 -sub_8165D78: @ 8165D78 + thumb_func_start GetTentEnemyMonLevel +GetTentEnemyMonLevel: @ 8165D78 push {lr} ldr r0, =0x000040cf bl VarGet @@ -7300,7 +7300,7 @@ _08165E02: pop {r1} bx r1 .pool - thumb_func_end sub_8165D78 + thumb_func_end GetTentEnemyMonLevel thumb_func_start sub_8165E18 sub_8165E18: @ 8165E18 @@ -7384,7 +7384,7 @@ sub_8165EA4: @ 8165EA4 lsls r2, 24 lsrs r2, 24 str r2, [sp, 0x1C] - bl sub_8165D78 + bl GetTentEnemyMonLevel lsls r0, 24 lsrs r0, 24 str r0, [sp, 0x20] @@ -7756,7 +7756,7 @@ sub_8166188: @ 8166188 ands r0, r1 cmp r0, 0 beq _081661E8 - bl GetFrontierEnemyMonLevel + bl GetFacilityEnemyMonLevel lsls r0, 24 movs r5, 0 ldr r7, =gBaseStats diff --git a/include/battle_tower.h b/include/battle_tower.h index 87581074e8..d7ff700069 100644 --- a/include/battle_tower.h +++ b/include/battle_tower.h @@ -32,7 +32,17 @@ struct BattleFrontierTrainer u16 *btMonPool; }; +struct FacilityMon +{ + u16 species; + u16 moves[4]; + u8 itemTableId; + u8 evSpread; + u8 nature; +}; + extern const struct BattleFrontierTrainer *gFacilityTrainers; +extern const struct FacilityMon *gFacilityTrainerMons; u16 sub_8164FCC(u8, u8); void sub_81659DC(struct RSBattleTowerRecord *a0, struct RSBattleTowerRecord *a1); diff --git a/include/global.h b/include/global.h index bb843bddd8..ab31e3c5d8 100644 --- a/include/global.h +++ b/include/global.h @@ -337,6 +337,12 @@ struct FrontierMonData u8 nature; }; +struct Struct_field_E70 +{ + u16 monId; + u8 unk2[9]; +}; + struct BattleDomeTrainer { u16 trainerId:10; @@ -398,10 +404,8 @@ struct BattleFrontier /*0xD24*/ struct BattleDomeTrainer domeTrainers[DOME_TOURNAMENT_TRAINERS_COUNT]; /*0xD64*/ u16 domeMonId[DOME_TOURNAMENT_TRAINERS_COUNT][3]; /*0xD64*/ u16 field_DC4[2]; - /*0xDC8*/ u16 field_DC8[2]; - /*0xDCC*/ u8 filler_DCC[4]; - /*0xDD0*/ u16 field_DD0[2]; - /*0xDD4*/ u16 field_DD4[2]; + /*0xDC8*/ u16 field_DC8[2][2]; + /*0xDD0*/ u16 field_DD0[2][2]; /*0xDD8*/ u16 field_DD8; /*0xDDA*/ u16 field_DDA[2]; /*0xDDE*/ u16 field_DDE[2]; @@ -429,7 +433,7 @@ struct BattleFrontier /*0xE6A*/ u16 field_E6A; /*0xE6C*/ u16 field_E6C; /*0xE6E*/ u16 field_E6E; - /*0xE70*/ u8 field_E70[72]; + /*0xE70*/ struct Struct_field_E70 field_E70[6]; /*0xEB8*/ u16 frontierBattlePoints; /*0xEBA*/ u8 field_EBA; /*0xEBB*/ u8 field_EBB; diff --git a/ld_script.txt b/ld_script.txt index e2c0151ade..c06b410f14 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -243,6 +243,7 @@ SECTIONS { src/trainer_pokemon_sprites.o(.text); src/lilycove_lady.o(.text); src/battle_dome.o(.text); + src/battle_frontier_1.o(.text); asm/battle_frontier_1.o(.text); src/menu.o(.text); asm/battle_frontier_2.o(.text); diff --git a/src/battle_dome.c b/src/battle_dome.c index 058d253ab5..c54b14ccc0 100644 --- a/src/battle_dome.c +++ b/src/battle_dome.c @@ -39,15 +39,6 @@ #define DOME_FINAL 3 #define DOME_ROUNDS_COUNT 4 -struct FacilityMon -{ - u16 species; - u16 moves[4]; - u8 itemTableId; - u8 evSpread; - u8 nature; -}; - struct BattleDomeStruct { u8 arr[DOME_TOURNAMENT_TRAINERS_COUNT]; @@ -66,7 +57,7 @@ extern void sub_81B8558(void); extern u32 sub_81A39C4(void); extern u16 sub_8162548(u8, u8); extern u16 RandomizeFacilityTrainerMonId(u16); -extern u8 GetFrontierEnemyMonLevel(void); +extern u8 GetFacilityEnemyMonLevel(void); extern u16 sub_81A5060(u8 monId, u8 moveSlotId); extern u8 sub_81A50F0(u8, u8); extern u8 sub_81A50B0(u8); @@ -87,7 +78,6 @@ extern u16 gBattle_BG2_X; extern u16 gBattle_BG2_Y; extern u16 gBattle_BG3_X; extern u16 gBattle_BG3_Y; -extern const struct FacilityMon *gFacilityTrainerMons; extern void (* const gUnknown_0860D090[])(void); extern const u32 gUnknown_0860D0EC[][2]; @@ -822,7 +812,7 @@ void InitDomeTrainers(void) monTypesBits >>= 1; } - monLevel = GetFrontierEnemyMonLevel(); + monLevel = GetFacilityEnemyMonLevel(); statSums[0] += (monTypesCount * monLevel) / 20; for (i = 1; i < DOME_TOURNAMENT_TRAINERS_COUNT; i++) @@ -995,7 +985,7 @@ static void CreateDomeMon(u8 monPartyId, u16 tournamentTrainerId, u8 tournamentM s32 i; u8 happiness = 0xFF; u8 fixedIv = GetDomeTrainerMonIvs(tournamentTrainerId); // BUG: Should be using trainerId instead of tournamentTrainerId. As a result, all Pokemon have ivs of 3. - u8 level = GetFrontierEnemyMonLevel(); + u8 level = GetFacilityEnemyMonLevel(); CreateMonWithEVSpreadPersonalityOTID(&gEnemyParty[monPartyId], gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonId[tournamentTrainerId][tournamentMonId]].species, level, @@ -3716,7 +3706,7 @@ static u16 GetWinningMove(s32 winnerTournamentId, s32 loserTournamentId, u8 roun u16 bestScore = 0; u16 bestId = 0; s32 movePower = 0; - GetFrontierEnemyMonLevel(); // Unused return variable. + GetFacilityEnemyMonLevel(); // Unused return variable. // Calc move points of all 4 moves for all 3 pokemon hitting all 3 target mons. for (i = 0; i < 3; i++) @@ -4580,7 +4570,7 @@ static void DecideRoundWinners(u8 roundId) static void CopyDomeTrainerName(u8 *dst, u16 trainerId) { s32 i = 0; - GetFrontierEnemyMonLevel(); // Unused return value. + GetFacilityEnemyMonLevel(); // Unused return value. if (trainerId == TRAINER_FRONTIER_BRAIN) { diff --git a/src/battle_frontier_1.c b/src/battle_frontier_1.c new file mode 100644 index 0000000000..ee8a42954c --- /dev/null +++ b/src/battle_frontier_1.c @@ -0,0 +1,118 @@ +#include "global.h" +#include "event_data.h" +#include "battle_setup.h" +#include "overworld.h" +#include "random.h" +#include "battle_tower.h" + +extern void sub_8162614(u16, u8); + +extern void (* const gUnknown_0860DE50[])(void); +extern const u32 gUnknown_0860DE98[][2]; +extern const u32 gUnknown_0860DEA8[][2]; + +// code +void sub_8195960(void) +{ + gUnknown_0860DE50[gSpecialVar_0x8004](); +} + +void sub_8195980(void) +{ + u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode; + u32 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE); + + gSaveBlock2Ptr->frontier.field_CA8 = 0; + gSaveBlock2Ptr->frontier.field_CB2 = 0; + gSaveBlock2Ptr->frontier.field_CA9_a = 0; + gSaveBlock2Ptr->frontier.field_CA9_b = 0; + if (!(gSaveBlock2Ptr->frontier.field_CDC & gUnknown_0860DE98[battleMode][lvlMode])) + gSaveBlock2Ptr->frontier.field_DC8[battleMode][lvlMode] = 0; + + saved_warp2_set(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1); + gTrainerBattleOpponent_A = 0; +} + +void sub_8195A38(void) +{ + u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode; + u32 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE); + + switch (gSpecialVar_0x8005) + { + case 0: + gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_DC4[1]; + break; + case 1: + gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_DC8[battleMode][lvlMode]; + break; + case 2: + gSpecialVar_Result = ((gSaveBlock2Ptr->frontier.field_CDC & gUnknown_0860DE98[battleMode][lvlMode]) != 0); + break; + } +} + +void sub_8195AE4(void) +{ + u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode; + u32 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE); + + switch (gSpecialVar_0x8005) + { + case 0: + gSaveBlock2Ptr->frontier.field_DC4[1] = gSpecialVar_0x8006; + break; + case 1: + gSaveBlock2Ptr->frontier.field_DC8[battleMode][lvlMode] = gSpecialVar_0x8006; + break; + case 2: + if (gSpecialVar_0x8006) + gSaveBlock2Ptr->frontier.field_CDC |= gUnknown_0860DE98[battleMode][lvlMode]; + else + gSaveBlock2Ptr->frontier.field_CDC &= gUnknown_0860DEA8[battleMode][lvlMode]; + break; + } +} + +void sub_8195BB0(void) +{ + u32 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE); + u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode; + + if (gSaveBlock2Ptr->frontier.field_DC8[battleMode][lvlMode] < 50) + gSpecialVar_Result = Random() % 3; + else if (gSaveBlock2Ptr->frontier.field_DC8[battleMode][lvlMode] < 99) + gSpecialVar_Result = 3; + else + gSpecialVar_Result = 4; +} + +void sub_8195C20(void) +{ + gTrainerBattleOpponent_A = 5 *(Random() % 255) / 64u; + sub_8162614(gTrainerBattleOpponent_A, 0); +} + +void sub_8195C50(void) +{ + if (gTrainerBattleOpponent_A < 300) + ConvertBattleFrontierTrainerSpeechToString(gFacilityTrainers[gTrainerBattleOpponent_A].speechBefore); +} + +/* +void sub_8195C7C(void) +{ + u8 lvlMode = gSaveBlock2Ptr->frontier.lvlMode; + u8 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE); + + if (gSaveBlock2Ptr->frontier.field_DC8[battleMode][lvlMode] < 9999) + { + u16 wat = 0; + gSaveBlock2Ptr->frontier.field_DC8[battleMode][lvlMode]++; + if (lvlMode < gSaveBlock2Ptr->frontier.field_DD0[battleMode][lvlMode]) + wat = 1; + if (gSaveBlock2Ptr->frontier.field_DC8[battleMode][wat] != 0) + gSaveBlock2Ptr->frontier.field_DD0[battleMode][lvlMode] = gSaveBlock2Ptr->frontier.field_DC8[battleMode][lvlMode]; + } +} +*/ diff --git a/src/battle_tent.c b/src/battle_tent.c index dbea37fb7c..f39bf88379 100644 --- a/src/battle_tent.c +++ b/src/battle_tent.c @@ -11,6 +11,10 @@ #include "constants/items.h" #include "constants/region_map_sections.h" +extern const struct BattleFrontierTrainer gSlateportBattleTentTrainers[]; +extern const struct FacilityMon gSlateportBattleTentMons[]; +extern const u16 gBattleFrontierHeldItems[]; + // This file's functions. void sub_81B99D4(void); void sub_81B9A28(void); @@ -51,7 +55,7 @@ void (*const gUnknown_086160B4[])(void) = sub_81B9B28 }; -const u16 gUnknown_086160D4[] = {ITEM_NEST_BALL, ITEM_NONE}; +static const u16 sVerdanturfTentRewards[] = {ITEM_NEST_BALL}; void (*const gUnknown_086160D8[])(void) = { @@ -64,7 +68,7 @@ void (*const gUnknown_086160D8[])(void) = sub_81B9CF0 }; -const u16 gUnknown_086160F4[] = {ITEM_HYPER_POTION, ITEM_NONE}; +static const u16 sFallarborTentRewards[] = {ITEM_HYPER_POTION}; void (*const gUnknown_086160F8[])(void) = { @@ -80,7 +84,7 @@ void (*const gUnknown_086160F8[])(void) = sub_81B9EC0 }; -const u16 gUnknown_08616120[] = {ITEM_FULL_HEAL, ITEM_NONE}; +static const u16 sSlateportTentRewards[] = {ITEM_FULL_HEAL}; // code void sub_81B99B4(void) @@ -128,7 +132,7 @@ void sub_81B9ABC(void) void sub_81B9B00(void) { - gSaveBlock2Ptr->frontier.field_E6A = gUnknown_086160D4[Random() % 1]; + gSaveBlock2Ptr->frontier.field_E6A = sVerdanturfTentRewards[Random() % ARRAY_COUNT(sVerdanturfTentRewards)]; } void sub_81B9B28(void) @@ -178,7 +182,7 @@ void sub_81B9C2C(void) void sub_81B9C70(void) { - gSaveBlock2Ptr->frontier.field_E6C = gUnknown_086160F4[Random() % 1]; + gSaveBlock2Ptr->frontier.field_E6C = sFallarborTentRewards[Random() % ARRAY_COUNT(sFallarborTentRewards)]; } void sub_81B9C98(void) @@ -233,7 +237,7 @@ void sub_81B9DB4(void) void sub_81B9DF8(void) { - gSaveBlock2Ptr->frontier.field_E6E = gUnknown_08616120[Random() % 1]; + gSaveBlock2Ptr->frontier.field_E6E = sSlateportTentRewards[Random() % ARRAY_COUNT(sSlateportTentRewards)]; } void sub_81B9E20(void) @@ -266,3 +270,70 @@ bool8 sub_81B9E94(void) return (gMapHeader.regionMapSectionId == MAPSEC_SLATEPORT_CITY && ((gMapHeader.mapLayoutId == 385) | (gMapHeader.mapLayoutId == 386))); } + +// This function was written very...oddly. +/* +void sub_81B9EC0(void) +{ + s32 i, j; + u16 currMonId, currSpecies; + u16 species[PARTY_SIZE]; + u16 monIds[PARTY_SIZE]; + u16 heldItems[PARTY_SIZE]; + s32 var; + + gFacilityTrainers = gSlateportBattleTentTrainers; + for (i = 0; i < PARTY_SIZE; i++) + { + species[i] = 0; + monIds[i] = 0; + heldItems[i] = 0; + } + gFacilityTrainerMons = gSlateportBattleTentMons; + + currSpecies = 0; + i = 0; + while (i != PARTY_SIZE) + { + // Cannot have two pokemon of the same species. + currMonId = Random() % 70; + j = 0; + var = 0 + i; + while (j < var && monIds[j] != currMonId) + { + if (species[j] == gFacilityTrainerMons[currMonId].species) + { + if (currSpecies == 0) + currSpecies = gFacilityTrainerMons[currMonId].species; + else + break; + } + j++; + } + if (j != var) + continue; + + // Cannot have two same held items. + for (j = 0; j < var; j++) + { + if (heldItems[j] == 0) + continue; + if (heldItems[j] == gBattleFrontierHeldItems[gFacilityTrainerMons[currMonId].itemTableId]) + { + if (gFacilityTrainerMons[currMonId].species == currSpecies) + currSpecies = 0; + else + break; + } + } + if (j != var) + continue; + + gSaveBlock2Ptr->frontier.field_E70[var].monId = currMonId; + species[var] = gFacilityTrainerMons[currMonId].species; + heldItems[var] = gBattleFrontierHeldItems[gFacilityTrainerMons[currMonId].itemTableId]; + monIds[var] = currMonId; + i++; + } +} +*/ diff --git a/src/field_specials.c b/src/field_specials.c index f5728c3a40..84852e6b5c 100644 --- a/src/field_specials.c +++ b/src/field_specials.c @@ -2188,13 +2188,13 @@ void sub_8139F20(void) } break; case 6: - if (gSaveBlock2Ptr->frontier.field_DC8[0] >= gSaveBlock2Ptr->frontier.field_DC8[1]) + if (gSaveBlock2Ptr->frontier.field_DC8[0][0] >= gSaveBlock2Ptr->frontier.field_DC8[0][1]) { - unk = gSaveBlock2Ptr->frontier.field_DC8[0]; + unk = gSaveBlock2Ptr->frontier.field_DC8[0][0]; } else { - unk = gSaveBlock2Ptr->frontier.field_DC8[1]; + unk = gSaveBlock2Ptr->frontier.field_DC8[0][1]; } break; case 7: diff --git a/src/pokemon.c b/src/pokemon.c index eafb0c2cd1..9022f69eab 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -81,8 +81,7 @@ extern void set_unknown_box_id(u8); extern void sub_803FA70(u8 battlerId); extern u8 sav1_map_get_name(void); extern const u8 *sub_81A1650(u8, u8 language); -extern u8 BattleFrontierGetOpponentLvl(u8); -extern u16 FacilityClassToPicIndex(u16); +extern u8 GetFrontierEnemyMonLevel(u8); extern bool8 InBattlePyramid(void); extern bool8 InBattlePike(void); extern bool8 sub_806F104(void); @@ -956,7 +955,7 @@ const u16 gHoennToNationalOrder[] = // Assigns Hoenn Dex Pokémon (Using Nationa NATIONAL_DEX_BLAZIKEN, // HOENN_DEX_BLAZIKEN NATIONAL_DEX_MUDKIP, // HOENN_DEX_MUDKIP NATIONAL_DEX_MARSHTOMP, // HOENN_DEX_MARSHTOMP - NATIONAL_DEX_SWAMPERT, // HOENN_DEX_SWAMPERT + NATIONAL_DEX_SWAMPERT, // HOENN_DEX_SWAMPERT NATIONAL_DEX_POOCHYENA, // HOENN_DEX_POOCHYENA NATIONAL_DEX_MIGHTYENA, // HOENN_DEX_MIGHTYENA NATIONAL_DEX_ZIGZAGOON, // HOENN_DEX_ZIGZAGOON @@ -2821,7 +2820,7 @@ void sub_8068338(struct Pokemon *mon, struct UnknownPokemonStruct *src, bool8 lv u8 value; if (gSaveBlock2Ptr->frontier.lvlMode != FRONTIER_LVL_50) - level = BattleFrontierGetOpponentLvl(gSaveBlock2Ptr->frontier.lvlMode); + level = GetFrontierEnemyMonLevel(gSaveBlock2Ptr->frontier.lvlMode); else if (lvl50) level = 50; else @@ -2885,7 +2884,7 @@ void sub_8068528(struct Pokemon *mon, const struct UnknownPokemonStruct2 *src, u CreateMon(mon, src->mons[monId].species, - BattleFrontierGetOpponentLvl(src->field_0_1 - 1), + GetFrontierEnemyMonLevel(src->field_0_1 - 1), 0x1F, TRUE, personality, diff --git a/src/unk_text_util_2.c b/src/unk_text_util_2.c index ca82461285..4821ed7765 100644 --- a/src/unk_text_util_2.c +++ b/src/unk_text_util_2.c @@ -4,6 +4,7 @@ #include "text.h" #include "sound.h" +ALIGNED(4) static const u8 sUnknown_08616124[] = {1, 2, 4}; static const u16 sFont6BrailleGlyphs[] = INCBIN_U16("data/graphics/fonts/font6.fwjpnfont"); From df3af2d9e1d224516615d79e28c9020c98f6bbaa Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Sun, 26 Aug 2018 15:51:14 +0200 Subject: [PATCH 135/234] Clean up battle dome code a bit --- src/battle_dome.c | 223 ++++++++++++++++++++++++---------------------- 1 file changed, 115 insertions(+), 108 deletions(-) diff --git a/src/battle_dome.c b/src/battle_dome.c index 0087bd728a..104c9fe9b5 100644 --- a/src/battle_dome.c +++ b/src/battle_dome.c @@ -80,7 +80,6 @@ extern u16 gBattle_BG3_X; extern u16 gBattle_BG3_Y; extern const u16 gBattleFrontierHeldItems[]; -extern const u8 gUnknown_08D83900[]; extern const struct FacilityMon gBattleFrontierMons[]; extern const struct BattleFrontierTrainer gBattleFrontierTrainers[]; extern const struct SpriteTemplate gUnknown_0860CFA8; @@ -97,6 +96,7 @@ extern const u8 gUnknown_08D82F10[]; extern const u8 gUnknown_08D834FC[]; extern const u8 gUnknown_08D83B2C[]; extern const u8 gUnknown_08D83C3C[]; +extern const u8 gUnknown_08D83900[]; extern const u8 gBattleFrontierGfx_DomeOptions[]; // text @@ -229,7 +229,7 @@ static s32 sub_818FEB4(s32 *arr, bool8 arg1); static void sub_8190400(u8 taskId); static void sub_8190CD4(u8 taskId); static u8 sub_819221C(u8 taskId); -void sub_8194D48(void); +static void sub_8194D48(void); static s32 TrainerIdToTournamentId(u16 trainerId); static u16 TrainerIdOfPlayerOpponent(void); static void sub_8194220(u8 taskId); @@ -249,32 +249,30 @@ static u8 sub_8193BDC(u8 taskId); static void DecideRoundWinners(u8 roundId); static u8 sub_81953E8(u8 tournamentId, u8); static void sub_81948EC(u8, u8); - -void sub_8190B40(struct Sprite *sprite); -void sub_8190C6C(struct Sprite *sprite); - -void sub_818E9CC(void); -void sub_818EA84(void); -void sub_818ED28(void); -void sub_818F9B0(void); -void sub_818F9E0(void); -void sub_818FA20(void); -void ShowDomeOpponentInfo(void); -void sub_81938A4(void); -void sub_81938E0(void); -void sub_8190298(void); -void sub_81902E4(void); -void sub_8193D40(void); -void sub_8193D7C(void); -void sub_81902F8(void); -void sub_819033C(void); -void sub_8194D68(void); -void sub_8194E44(void); -void sub_8194EB4(void); -void sub_8194EC0(void); -void sub_8194EF8(void); -void sub_8194F58(void); -void InitDomeTrainers(void); +static void sub_8190B40(struct Sprite *sprite); +static void sub_8190C6C(struct Sprite *sprite); +static void sub_818E9CC(void); +static void sub_818EA84(void); +static void sub_818ED28(void); +static void sub_818F9B0(void); +static void sub_818F9E0(void); +static void sub_818FA20(void); +static void ShowDomeOpponentInfo(void); +static void sub_81938A4(void); +static void sub_81938E0(void); +static void sub_8190298(void); +static void sub_81902E4(void); +static void sub_8193D40(void); +static void sub_8193D7C(void); +static void sub_81902F8(void); +static void sub_819033C(void); +static void sub_8194D68(void); +static void sub_8194E44(void); +static void sub_8194EB4(void); +static void sub_8194EC0(void); +static void sub_8194EF8(void); +static void sub_8194F58(void); +static void InitDomeTrainers(void); // EWRAM variables. EWRAM_DATA u32 gUnknown_0203CD70 = 0; @@ -283,7 +281,6 @@ static EWRAM_DATA struct BattleDomeStruct *sBattleDomeStruct = {0}; static EWRAM_DATA u8 *sTilemapBuffer = NULL; // Const rom data. - static const u8 sMovePointsForDomeTrainers[MOVES_COUNT][DOME_TOURNAMENT_TRAINERS_COUNT] = { [MOVE_NONE] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, @@ -643,7 +640,7 @@ static const u8 sMovePointsForDomeTrainers[MOVES_COUNT][DOME_TOURNAMENT_TRAINERS [MOVE_PSYCHO_BOOST] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1}, }; -static const u8 gUnknown_0860C988[31][16] = +static const u8 gUnknown_0860C988[][DOME_TOURNAMENT_TRAINERS_COUNT] = { {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 2, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0}, @@ -724,7 +721,6 @@ static const u8 gUnknown_0860CBF1[][5][4]= {{0xff, 0xff, 0xff, 0xff}, {0xff, 0xff, 0xff, 0xff}, {0xff, 0xff, 0xff, 0xff}, {0xff, 0xff, 0x1c, 0x1d}, {0xff, 0xff, 0x1c, 0x1d}}, {{0x0f, 0x08, 0x08, 0x00}, {0x0f, 0x08, 0x08, 0x00}, {0x0f, 0x08, 0x08, 0x00}, {0x0f, 0x08, 0x08, 0x00}, {0x0f, 0x08, 0x08, 0x00}}, }; -static const u8 gUnused_0860CBF1[] = {0x00, 0x00, 0x00}; static const struct BgTemplate gUnknown_0860CE74[4] = { @@ -806,7 +802,7 @@ static const struct BgTemplate gUnknown_0860CE84[4] = }, }; -static const struct WindowTemplate gUnknown_0860CE94[] = +static const struct WindowTemplate gUnknown_0860CE94[] = { { .priority = 0, @@ -838,7 +834,7 @@ static const struct WindowTemplate gUnknown_0860CE94[] = DUMMY_WIN_TEMPLATE, }; -static const struct WindowTemplate gUnknown_0860CEB4[] = +static const struct WindowTemplate gUnknown_0860CEB4[] = { { .priority = 0, @@ -1002,9 +998,10 @@ static const struct WindowTemplate gUnknown_0860CEB4[] = .paletteNum = 15, .baseBlock = 372, }, + // UB: No DUMMY_WIN_TEMPLATE at the array's end. }; -static const struct ScanlineEffectParams gUnknown_0860CF44 = +static const struct ScanlineEffectParams gUnknown_0860CF44 = { .dmaDest = (void *)REG_ADDR_BG3CNT, .dmaControl = 0xa2600001, @@ -1013,14 +1010,14 @@ static const struct ScanlineEffectParams gUnknown_0860CF44 = static const struct CompressedSpriteSheet gUnknown_0860CF50[] = { - gBattleFrontierGfx_DomeOptions, 0x0600, 0x0000, - NULL + {gBattleFrontierGfx_DomeOptions, 0x0600, 0x0000}, + {}, }; static const struct CompressedSpritePalette gUnknown_0860CF60[] = { - gUnknown_08D85444, 0x0000, - NULL + {gUnknown_08D85444, 0x0000}, + {}, }; static const struct OamData gUnknown_0860CF70 = @@ -1040,7 +1037,7 @@ static const struct OamData gUnknown_0860CF70 = .affineParam = 0, }; -static const struct OamData gUnknown_0860CF78 = +static const struct OamData gUnknown_0860CF78 = { .y = 0, .affineMode = 0, @@ -1112,7 +1109,7 @@ static const struct SpriteTemplate gUnknown_0860CFA8 = {0x0000, 0xffff, &gUnknow static const union AnimCmd gUnknown_0860CFC0[] = { - ANIMCMD_FRAME(8, 1), + ANIMCMD_FRAME(8, 1), ANIMCMD_END, }; @@ -1161,7 +1158,7 @@ static const union AnimCmd gUnknown_0860D028[] = ANIMCMD_FRAME(18, 129, .vFlip = TRUE), ANIMCMD_END, }; - + static const union AnimCmd gUnknown_0860D030[] = { ANIMCMD_FRAME(16, 65, .hFlip = TRUE), @@ -1189,7 +1186,10 @@ static const union AnimCmd * const gUnknown_0860D048[] = static const struct SpriteTemplate gUnknown_0860D050 = {0x0000, 0xffff, &gUnknown_0860CF88, gUnknown_0860D048, NULL, gDummySpriteAffineAnimTable, sub_8190B40}; static const struct SpriteTemplate gUnknown_0860D068 = {0x0000, 0xffff, &gUnknown_0860CF80, gUnknown_0860D040, NULL, gDummySpriteAffineAnimTable, sub_8190C6C}; -static const u8 gUnknown_0860D080[] = {0x00, 0x08, 0x0c, 0x04, 0x07, 0x0f, 0x0b, 0x03, 0x02, 0x0a, 0x0e, 0x06, 0x05, 0x0d, 0x09, 0x01}; +static const u8 gUnknown_0860D080[DOME_TOURNAMENT_TRAINERS_COUNT] = +{ + 0x00, 0x08, 0x0c, 0x04, 0x07, 0x0f, 0x0b, 0x03, 0x02, 0x0a, 0x0e, 0x06, 0x05, 0x0d, 0x09, 0x01 +}; static void (* const gUnknown_0860D090[])(void) = { @@ -1230,7 +1230,7 @@ static const u32 gUnknown_0860D0FC[][2] = {0xffefffff, 0xffdfffff}, }; -static const u8 gUnknown_0860D10C[][4] = +static const u8 gUnknown_0860D10C[DOME_TOURNAMENT_TRAINERS_COUNT][DOME_ROUNDS_COUNT] = { {0x08, 0x00, 0x04, 0x08}, {0x09, 0x0c, 0x08, 0x00}, @@ -1252,16 +1252,24 @@ static const u8 gUnknown_0860D10C[][4] = static const u8 gUnknown_0860D14C[] = {0x00, 0x08, 0x04, 0x0c, 0x07, 0x0f, 0x03, 0x0b, 0x02, 0x0a, 0x06, 0x0e, 0x05, 0x0d, 0x01, 0x09}; -static const u8 gUnknown_0860D15C[] = +static const u8 gUnknown_0860D15C[][4] = { - 0x00, 0x08, 0x0c, 0x0e, 0x00, 0x08, 0x0c, 0x0e, - 0x01, 0x08, 0x0c, 0x0e, 0x01, 0x08, 0x0c, 0x0e, - 0x02, 0x09, 0x0c, 0x0e, 0x02, 0x09, 0x0c, 0x0e, - 0x03, 0x09, 0x0c, 0x0e, 0x03, 0x09, 0x0c, 0x0e, - 0x04, 0x0a, 0x0d, 0x0e, 0x04, 0x0a, 0x0d, 0x0e, - 0x05, 0x0a, 0x0d, 0x0e, 0x05, 0x0a, 0x0d, 0x0e, - 0x06, 0x0b, 0x0d, 0x0e, 0x06, 0x0b, 0x0d, 0x0e, - 0x07, 0x0b, 0x0d, 0x0e, 0x07, 0x0b, 0x0d, 0x0e, + {0x00, 0x08, 0x0c, 0x0e}, + {0x00, 0x08, 0x0c, 0x0e}, + {0x01, 0x08, 0x0c, 0x0e}, + {0x01, 0x08, 0x0c, 0x0e}, + {0x02, 0x09, 0x0c, 0x0e}, + {0x02, 0x09, 0x0c, 0x0e}, + {0x03, 0x09, 0x0c, 0x0e}, + {0x03, 0x09, 0x0c, 0x0e}, + {0x04, 0x0a, 0x0d, 0x0e}, + {0x04, 0x0a, 0x0d, 0x0e}, + {0x05, 0x0a, 0x0d, 0x0e}, + {0x05, 0x0a, 0x0d, 0x0e}, + {0x06, 0x0b, 0x0d, 0x0e}, + {0x06, 0x0b, 0x0d, 0x0e}, + {0x07, 0x0b, 0x0d, 0x0e}, + {0x07, 0x0b, 0x0d, 0x0e}, }; static const u8 gUnknown_0860D19C[] = {0x17, 0x1b, 0x1d, 0x1e}; @@ -1384,8 +1392,8 @@ static const u8 *const gBattleDomeOpponentStatsPointers[] = gBattleDomeOpponentStats43, }; -static const u8 gUnknown_0860D340[] = {0x68, 0x88, 0x68}; -static const u8 gUnknown_0860D343[] = {0x26, 0x3e, 0x4e}; +static const u8 sInfoTrainerMonX[] = {0x68, 0x88, 0x68}; +static const u8 sInfoTrainerMonY[] = {0x26, 0x3e, 0x4e}; static const u8 gUnknown_0860D346[] = {0x00, 0x04, 0x00}; static const u8 gUnknown_0860D349[] = {0x00, 0x05, 0x09, 0x0c, 0x0e, 0x00, 0x00}; @@ -1420,10 +1428,10 @@ static const u8 *const gBattleDomeWinStringsPointers[] = gBattleDomeWinStrings7, }; -static const u8 gUnknown_0860D3A8[] = {0x60, 0x60, 0x60}; -static const u8 gUnknown_0860D3AB[] = {0x38, 0x50, 0x68}; -static const u8 gUnknown_0860D3AE[] = {0x90, 0x90, 0x90}; -static const u8 gUnknown_0860D3B1[] = {0x38, 0x50, 0x68}; +static const u8 sFirstTrainerMonX[] = {0x60, 0x60, 0x60}; +static const u8 sFirstTrainerMonY[] = {0x38, 0x50, 0x68}; +static const u8 sSecondTrainerMonX[] = {0x90, 0x90, 0x90}; +static const u8 sSecondTrainerMonY[] = {0x38, 0x50, 0x68}; static const u8 gUnknown_0860D3B4[] = {0x00, 0x08, 0x0c, 0x04, 0x07, 0x0f, 0x0b, 0x03, 0x02, 0x0a, 0x0e, 0x06, 0x05, 0x0d, 0x09, 0x01}; @@ -1446,7 +1454,7 @@ static const u8 gUnknown_0860D3C4[][3] = {0x00, 0x10, 0x03}, }; -static const u8 gUnknown_0860D3F1[][2] = +static const u8 gUnknown_0860D3F1[][2] = { {0x00, 0x00}, {0x01, 0x70}, @@ -1500,7 +1508,6 @@ static const u8 gUnknown_0860D411[][2] = {0x89, 0x59}, {0x78, 0x59}, }; -const u8 sExtraByte = 0x00; static const struct UnkStruct_860DD10 gUnknown_0860d450[] = { @@ -2318,7 +2325,7 @@ static const struct UnkStruct_860DD10 gUnknown_0860dcdc[] = {.src = 0x602e, .y = 0x0b, .x = 0x0f}, }; -static const struct UnkStruct_860DD10 * const gUnknown_0860DD10[][4] = +static const struct UnkStruct_860DD10 * const gUnknown_0860DD10[DOME_TOURNAMENT_TRAINERS_COUNT][4] = { {gUnknown_0860d450, gUnknown_0860d460, gUnknown_0860d47c, gUnknown_0860d4a8}, {gUnknown_0860dc84, gUnknown_0860dc94, gUnknown_0860dcb0, gUnknown_0860dcdc}, @@ -2338,7 +2345,7 @@ static const struct UnkStruct_860DD10 * const gUnknown_0860DD10[][4] = {gUnknown_0860d70c, gUnknown_0860d71c, gUnknown_0860d738, gUnknown_0860d764}, }; -static const u8 gUnknown_0860DE10[][4] = +static const u8 gUnknown_0860DE10[DOME_TOURNAMENT_TRAINERS_COUNT][4] = { {0x04, 0x07, 0x0b, 0x0d}, {0x04, 0x07, 0x0b, 0x0d}, @@ -2364,7 +2371,7 @@ void CallBattleDomeFunction(void) gUnknown_0860D090[gSpecialVar_0x8004](); } -void sub_818E9CC(void) +static void sub_818E9CC(void) { u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode; u32 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE); @@ -2380,7 +2387,7 @@ void sub_818E9CC(void) gTrainerBattleOpponent_A = 0; } -void sub_818EA84(void) +static void sub_818EA84(void) { u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode; u32 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE); @@ -2448,7 +2455,7 @@ void sub_818EA84(void) } } -void sub_818ED28(void) +static void sub_818ED28(void) { u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode; u32 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE); @@ -2514,7 +2521,7 @@ void sub_818ED28(void) } } -void InitDomeTrainers(void) +static void InitDomeTrainers(void) { s32 i, j, k; s32 monLevel; @@ -2775,18 +2782,18 @@ static void SwapDomeTrainers(s32 id1, s32 id2, u16 *statsArray) SWAP_16(gSaveBlock2Ptr->frontier.domeMonId[id1][i], gSaveBlock2Ptr->frontier.domeMonId[id2][i]); } -void sub_818F9B0(void) +static void sub_818F9B0(void) { StringCopy(gStringVar1, gRoundsStringTable[gSaveBlock2Ptr->frontier.field_CB2]); } -void sub_818F9E0(void) +static void sub_818F9E0(void) { StringCopy(gStringVar1, gRoundsStringTable[gSaveBlock2Ptr->frontier.field_CB2]); CopyDomeTrainerName(gStringVar2, gTrainerBattleOpponent_A); } -void sub_818FA20(void) +static void sub_818FA20(void) { gUnknown_0203CD70 = 0; gUnknown_0203CD74 = GetMonData(&gPlayerParty[0], MON_DATA_MAX_HP, NULL); @@ -3419,7 +3426,7 @@ static s32 TournamentIdOfOpponent(s32 roundId, s32 trainerId) } } -void sub_8190298(void) +static void sub_8190298(void) { gTrainerBattleOpponent_A = TrainerIdOfPlayerOpponent(); } @@ -3429,12 +3436,12 @@ static u16 TrainerIdOfPlayerOpponent(void) return gSaveBlock2Ptr->frontier.domeTrainers[TournamentIdOfOpponent(gSaveBlock2Ptr->frontier.field_CB2, TRAINER_PLAYER)].trainerId; } -void sub_81902E4(void) +static void sub_81902E4(void) { sub_8162614(gTrainerBattleOpponent_A, 0); } -void sub_81902F8(void) +static void sub_81902F8(void) { gSaveBlock2Ptr->frontier.field_CA8 = gSpecialVar_0x8005; VarSet(VAR_TEMP_0, 0); @@ -3442,7 +3449,7 @@ void sub_81902F8(void) sub_81A4C30(); } -void sub_819033C(void) +static void sub_819033C(void) { u8 lvlMode = gSaveBlock2Ptr->frontier.lvlMode; u8 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE); @@ -3456,7 +3463,7 @@ void sub_819033C(void) gSaveBlock2Ptr->frontier.field_D14[battleMode][lvlMode] = gSaveBlock2Ptr->frontier.field_D0C[battleMode][lvlMode]; } -void ShowDomeOpponentInfo(void) +static void ShowDomeOpponentInfo(void) { u8 taskId = CreateTask(sub_8190400, 0); gTasks[taskId].data[0] = 0; @@ -3760,7 +3767,7 @@ static void SpriteCb_MonIconCardScrollRight(struct Sprite *sprite) } } -void sub_8190B40(struct Sprite *sprite) +static void sub_8190B40(struct Sprite *sprite) { s32 taskId1 = sprite->data[0]; s32 arrId = gTasks[gTasks[taskId1].data[4]].data[1]; @@ -3829,7 +3836,7 @@ void sub_8190B40(struct Sprite *sprite) } } -void sub_8190C6C(struct Sprite *sprite) +static void sub_8190C6C(struct Sprite *sprite) { s32 taskId1 = sprite->data[0]; @@ -4170,7 +4177,7 @@ static void sub_8190CD4(u8 taskId) { gBattle_BG2_X = 256; gBattle_BG2_Y = 0; - matchNo = gUnknown_0860D15C[(gTasks[taskId2].data[1] * 4) + (sBattleDomeStruct->unk_10 - 1)]; + matchNo = gUnknown_0860D15C[gTasks[taskId2].data[1]][sBattleDomeStruct->unk_10 - 1]; DisplayMatchInfoOnCard(gTasks[taskId].data[2] | 8, matchNo); } @@ -4335,7 +4342,7 @@ static void sub_8190CD4(u8 taskId) gBattle_BG2_X = 0; gBattle_BG2_Y = 0; } - matchNo = gUnknown_0860D15C[(sBattleDomeStruct->unk_10 - 1) + (gTasks[taskId2].data[1] * 4)]; + matchNo = gUnknown_0860D15C[gTasks[taskId2].data[1]][sBattleDomeStruct->unk_10 - 1]; DisplayMatchInfoOnCard(gTasks[taskId].data[2] | 2, matchNo); for (i = 0; i < DOME_TOURNAMENT_TRAINERS_COUNT / 2; i++) @@ -4724,8 +4731,8 @@ static void DisplayTrainerInfoOnCard(u8 flags, u8 trainerTournamentId) { sBattleDomeStruct->arr[2 + i + arrId] = CreateMonIcon(gSaveBlock2Ptr->frontier.domeMonId[trainerTournamentId][i], SpriteCb_MonIcon, - x | gUnknown_0860D340[i], - y + gUnknown_0860D343[i], + x | sInfoTrainerMonX[i], + y + sInfoTrainerMonY[i], 0, 0, TRUE); gSprites[sBattleDomeStruct->arr[2 + i + arrId]].oam.priority = 0; } @@ -4733,8 +4740,8 @@ static void DisplayTrainerInfoOnCard(u8 flags, u8 trainerTournamentId) { sBattleDomeStruct->arr[2 + i + arrId] = CreateMonIcon(gSaveBlock2Ptr->frontier.domeMonId[trainerTournamentId][i], SpriteCb_MonIcon, - x | gUnknown_0860D340[i], - y + gUnknown_0860D343[i], + x | sInfoTrainerMonX[i], + y + sInfoTrainerMonY[i], 0, 0, TRUE); gSprites[sBattleDomeStruct->arr[2 + i + arrId]].oam.priority = 0; } @@ -4742,8 +4749,8 @@ static void DisplayTrainerInfoOnCard(u8 flags, u8 trainerTournamentId) { sBattleDomeStruct->arr[2 + i + arrId] = CreateMonIcon(gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonId[trainerTournamentId][i]].species, SpriteCb_MonIcon, - x | gUnknown_0860D340[i], - y + gUnknown_0860D343[i], + x | sInfoTrainerMonX[i], + y + sInfoTrainerMonY[i], 0, 0, TRUE); gSprites[sBattleDomeStruct->arr[2 + i + arrId]].oam.priority = 0; } @@ -5178,8 +5185,8 @@ static void DisplayMatchInfoOnCard(u8 flags, u8 matchNo) { sBattleDomeStruct->arr[2 + i + arrId] = CreateMonIcon(gSaveBlock2Ptr->frontier.domeMonId[tournamentIds[0]][i], SpriteCb_MonIcon, - x | gUnknown_0860D3A8[i], - y + gUnknown_0860D3AB[i], + x | sFirstTrainerMonX[i], + y + sFirstTrainerMonY[i], 0, 0, TRUE); gSprites[sBattleDomeStruct->arr[2 + i + arrId]].oam.priority = 0; } @@ -5187,8 +5194,8 @@ static void DisplayMatchInfoOnCard(u8 flags, u8 matchNo) { sBattleDomeStruct->arr[2 + i + arrId] = CreateMonIcon(gSaveBlock2Ptr->frontier.domeMonId[tournamentIds[0]][i], SpriteCb_MonIcon, - x | gUnknown_0860D3A8[i], - y + gUnknown_0860D3AB[i], + x | sFirstTrainerMonX[i], + y + sFirstTrainerMonY[i], 0, 0, TRUE); gSprites[sBattleDomeStruct->arr[2 + i + arrId]].oam.priority = 0; } @@ -5196,8 +5203,8 @@ static void DisplayMatchInfoOnCard(u8 flags, u8 matchNo) { sBattleDomeStruct->arr[2 + i + arrId] = CreateMonIcon(gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonId[tournamentIds[0]][i]].species, SpriteCb_MonIcon, - x | gUnknown_0860D3A8[i], - y + gUnknown_0860D3AB[i], + x | sFirstTrainerMonX[i], + y + sFirstTrainerMonY[i], 0, 0, TRUE); gSprites[sBattleDomeStruct->arr[2 + i + arrId]].oam.priority = 0; } @@ -5218,8 +5225,8 @@ static void DisplayMatchInfoOnCard(u8 flags, u8 matchNo) { sBattleDomeStruct->arr[5 + i + arrId] = CreateMonIcon(gSaveBlock2Ptr->frontier.domeMonId[tournamentIds[1]][i], SpriteCb_MonIcon, - x | gUnknown_0860D3AE[i], - y + gUnknown_0860D3B1[i], + x | sSecondTrainerMonX[i], + y + sSecondTrainerMonY[i], 0, 0, TRUE); gSprites[sBattleDomeStruct->arr[5 + i + arrId]].oam.priority = 0; } @@ -5227,8 +5234,8 @@ static void DisplayMatchInfoOnCard(u8 flags, u8 matchNo) { sBattleDomeStruct->arr[5 + i + arrId] = CreateMonIcon(gSaveBlock2Ptr->frontier.domeMonId[tournamentIds[1]][i], SpriteCb_MonIcon, - x | gUnknown_0860D3AE[i], - y + gUnknown_0860D3B1[i], + x | sSecondTrainerMonX[i], + y + sSecondTrainerMonY[i], 0, 0, TRUE); gSprites[sBattleDomeStruct->arr[5 + i + arrId]].oam.priority = 0; } @@ -5236,8 +5243,8 @@ static void DisplayMatchInfoOnCard(u8 flags, u8 matchNo) { sBattleDomeStruct->arr[5 + i + arrId] = CreateMonIcon(gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonId[tournamentIds[1]][i]].species, SpriteCb_MonIcon, - x | gUnknown_0860D3AE[i], - y + gUnknown_0860D3B1[i], + x | sSecondTrainerMonX[i], + y + sSecondTrainerMonY[i], 0, 0, TRUE); gSprites[sBattleDomeStruct->arr[5 + i + arrId]].oam.priority = 0; } @@ -5317,7 +5324,7 @@ static void DisplayMatchInfoOnCard(u8 flags, u8 matchNo) AddTextPrinter(&textPrinter, 0, NULL); } -void sub_81938A4(void) +static void sub_81938A4(void) { u8 taskId = CreateTask(sub_8194220, 0); gTasks[taskId].data[0] = 0; @@ -5327,7 +5334,7 @@ void sub_81938A4(void) SetMainCallback2(CB2_BattleDome); } -void sub_81938E0(void) +static void sub_81938E0(void) { u8 taskId; @@ -5342,7 +5349,7 @@ void sub_81938E0(void) SetMainCallback2(CB2_BattleDome); } -void sub_819395C(u8 taskId) +static void sub_819395C(u8 taskId) { u8 newTaskId = 0; s32 spriteId = gTasks[taskId].data[1]; @@ -5479,7 +5486,7 @@ static u8 sub_8193BDC(u8 taskId) return retVal; } -void sub_8193D40(void) +static void sub_8193D40(void) { u8 taskId = CreateTask(sub_8194220, 0); gTasks[taskId].data[0] = 0; @@ -5489,7 +5496,7 @@ void sub_8193D40(void) SetMainCallback2(CB2_BattleDome); } -void sub_8193D7C(void) +static void sub_8193D7C(void) { s32 i; @@ -6032,13 +6039,13 @@ static void VblankCb1_BattleDome(void) ScanlineEffect_InitHBlankDmaTransfer(); } -void sub_8194D48(void) +static void sub_8194D48(void) { gFacilityTrainerMons = gBattleFrontierMons; gFacilityTrainers = gBattleFrontierTrainers; } -void sub_8194D68(void) +static void sub_8194D68(void) { s32 i, moveSlot; @@ -6064,7 +6071,7 @@ void sub_8194D68(void) } } -void sub_8194E44(void) +static void sub_8194E44(void) { s32 i; @@ -6076,12 +6083,12 @@ void sub_8194E44(void) } } -void sub_8194EB4(void) +static void sub_8194EB4(void) { sub_80F94E8(); } -void sub_8194EC0(void) +static void sub_8194EC0(void) { if (TrainerIdToTournamentId(gTrainerBattleOpponent_A) > TrainerIdToTournamentId(TRAINER_PLAYER)) gSpecialVar_Result = 1; @@ -6089,7 +6096,7 @@ void sub_8194EC0(void) gSpecialVar_Result = 2; } -void sub_8194EF8(void) +static void sub_8194EF8(void) { s32 i; @@ -6102,7 +6109,7 @@ void sub_8194EF8(void) CopyDomeTrainerName(gStringVar1, gSaveBlock2Ptr->frontier.domeTrainers[i].trainerId); } -void sub_8194F58(void) +static void sub_8194F58(void) { s32 i, j, k; s32 monLevel; From a8a2444f93db792f9d88f500e16d825a6db63437 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Sun, 26 Aug 2018 15:58:44 +0200 Subject: [PATCH 136/234] make battle dome compikle --- src/record_mixing.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/record_mixing.c b/src/record_mixing.c index 8e85fed181..552c32d38d 100644 --- a/src/record_mixing.c +++ b/src/record_mixing.c @@ -1636,7 +1636,7 @@ void sub_80E8260(struct UnkRecordMixingStruct2 *dst) dst->field_0[1][i].field_4 = gSaveBlock2Ptr->frontier.field_CF4[i]; dst->field_0[2][i].field_4 = gSaveBlock2Ptr->frontier.field_CF8[i]; dst->field_0[3][i].field_4 = gSaveBlock2Ptr->frontier.field_D14[0][i]; - dst->field_0[4][i].field_4 = gSaveBlock2Ptr->frontier.field_DD0[i]; + dst->field_0[4][i].field_4 = gSaveBlock2Ptr->frontier.field_DD0[0][i]; dst->field_0[5][i].field_4 = gSaveBlock2Ptr->frontier.field_DDE[i]; dst->field_0[6][i].field_4 = gSaveBlock2Ptr->frontier.field_DEA[i]; dst->field_0[7][i].field_4 = gSaveBlock2Ptr->frontier.field_E08[i]; From ca07412686c769bc1072c751053217a7f30da03f Mon Sep 17 00:00:00 2001 From: Slawter666 <38655737+Slawter666@users.noreply.github.com> Date: Sun, 26 Aug 2018 15:45:08 +0100 Subject: [PATCH 137/234] Format SpriteTemplate --- src/battle_dome.c | 56 ++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 51 insertions(+), 5 deletions(-) diff --git a/src/battle_dome.c b/src/battle_dome.c index 104c9fe9b5..41f7d7a955 100644 --- a/src/battle_dome.c +++ b/src/battle_dome.c @@ -1105,7 +1105,16 @@ static const union AnimCmd * const gUnknown_0860CFA0[] = gUnknown_0860CF98, }; -static const struct SpriteTemplate gUnknown_0860CFA8 = {0x0000, 0xffff, &gUnknown_0860CF70, gUnknown_0860CFA0, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy}; +static const struct SpriteTemplate gUnknown_0860CFA8 = +{ + .tileTag = 0x0000, + .paletteTag = 0xffff, + .oam = &gUnknown_0860CF70, + .anims = gUnknown_0860CFA0, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy +}; static const union AnimCmd gUnknown_0860CFC0[] = { @@ -1125,7 +1134,16 @@ static const union AnimCmd * const gUnknown_0860CFD0[] = gUnknown_0860CFC8, }; -static const struct SpriteTemplate gUnknown_0860CFD8 = {0x0000, 0xffff, &gUnknown_0860CF78, gUnknown_0860CFD0, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy}; +static const struct SpriteTemplate gUnknown_0860CFD8 = +{ + .tileTag = 0x0000, + .paletteTag = 0xffff, + .oam = &gUnknown_0860CF78, + .anims = gUnknown_0860CFD0, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy +}; static const union AnimCmd gUnknown_0860CFF0[] = { @@ -1145,7 +1163,16 @@ static const union AnimCmd * const gUnknown_0860D000[] = gUnknown_0860CFF8, }; -static const struct SpriteTemplate gUnknown_0860D008 = {0x0000, 0xffff, &gUnknown_0860CF78, gUnknown_0860D000, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy}; +static const struct SpriteTemplate gUnknown_0860D008 = +{ + .tileTag = 0x0000, + .paletteTag = 0xffff, + .oam = &gUnknown_0860CF78, + .anims = gUnknown_0860D000, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy +}; static const union AnimCmd gUnknown_0860D020[] = { @@ -1183,8 +1210,27 @@ static const union AnimCmd * const gUnknown_0860D048[] = gUnknown_0860D038, }; -static const struct SpriteTemplate gUnknown_0860D050 = {0x0000, 0xffff, &gUnknown_0860CF88, gUnknown_0860D048, NULL, gDummySpriteAffineAnimTable, sub_8190B40}; -static const struct SpriteTemplate gUnknown_0860D068 = {0x0000, 0xffff, &gUnknown_0860CF80, gUnknown_0860D040, NULL, gDummySpriteAffineAnimTable, sub_8190C6C}; +static const struct SpriteTemplate gUnknown_0860D050 = +{ + .tileTag = 0x0000, + .paletteTag = 0xffff, + .oam = &gUnknown_0860CF88, + .anims = gUnknown_0860D048, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_8190B40 +}; + +static const struct SpriteTemplate gUnknown_0860D068 = +{ + .tileTag = 0x0000, + .paletteTag = 0xffff, + .oam = &gUnknown_0860CF80, + .anims = gUnknown_0860D040, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_8190C6C +}; static const u8 gUnknown_0860D080[DOME_TOURNAMENT_TRAINERS_COUNT] = { From ddd4733de341824df578bb3bc5a2c232f41ccb14 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Sun, 26 Aug 2018 17:54:58 +0200 Subject: [PATCH 138/234] rename battle pyramid to battle pyramid bag --- ...{battle_pyramid.s => battle_pyramid_bag.s} | 0 asm/battle_tower.s | 253 ------------------ ...{battle_pyramid.s => battle_pyramid_bag.s} | 0 ld_script.txt | 7 +- ...{battle_pyramid.c => battle_pyramid_bag.c} | 0 src/battle_tower.c | 85 ++++++ sym_ewram.txt | 2 +- 7 files changed, 90 insertions(+), 257 deletions(-) rename asm/{battle_pyramid.s => battle_pyramid_bag.s} (100%) rename data/{battle_pyramid.s => battle_pyramid_bag.s} (100%) rename src/{battle_pyramid.c => battle_pyramid_bag.c} (100%) create mode 100644 src/battle_tower.c diff --git a/asm/battle_pyramid.s b/asm/battle_pyramid_bag.s similarity index 100% rename from asm/battle_pyramid.s rename to asm/battle_pyramid_bag.s diff --git a/asm/battle_tower.s b/asm/battle_tower.s index bdc49fed25..f240693071 100644 --- a/asm/battle_tower.s +++ b/asm/battle_tower.s @@ -5,261 +5,8 @@ .text - thumb_func_start sub_8161F74 -sub_8161F74: @ 8161F74 - push {lr} - ldr r1, =gUnknown_085DF96C - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - bl _call_via_r0 - pop {r0} - bx r0 - .pool - thumb_func_end sub_8161F74 - thumb_func_start sub_8161F94 -sub_8161F94: @ 8161F94 - push {r4-r7,lr} - ldr r4, =gSaveBlock2Ptr - ldr r0, [r4] - ldr r1, =0x00000ca9 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 30 - lsrs r5, r0, 30 - ldr r0, =0x000040ce - bl VarGet - lsls r0, 16 - lsrs r6, r0, 16 - ldr r0, [r4] - ldr r2, =0x00000ca8 - adds r0, r2 - movs r7, 0 - movs r1, 0x1 - strb r1, [r0] - ldr r1, [r4] - adds r2, 0xA - adds r0, r1, r2 - strh r7, [r0] - ldr r0, =0x00000ca9 - adds r1, r0 - ldrb r2, [r1] - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - strb r0, [r1] - ldr r1, [r4] - ldr r2, =0x00000ca9 - adds r1, r2 - ldrb r2, [r1] - movs r0, 0x9 - negs r0, r0 - ands r0, r2 - strb r0, [r1] - bl sub_81A3ACC - ldr r4, [r4] - ldr r0, =0x00000cdc - adds r3, r4, r0 - ldr r2, =gUnknown_085DF9AC - lsls r1, r5, 2 - lsls r0, r6, 3 - adds r1, r0 - adds r1, r2 - ldr r0, [r3] - ldr r1, [r1] - ands r0, r1 - cmp r0, 0 - bne _0816200E - lsls r0, r5, 1 - lsls r1, r6, 2 - adds r0, r1 - movs r2, 0xCE - lsls r2, 4 - adds r1, r4, r2 - adds r1, r0 - strh r7, [r1] -_0816200E: - bl sub_8164ED8 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - movs r1, 0x4 - ldrsb r1, [r0, r1] - movs r2, 0x5 - ldrsb r2, [r0, r2] - movs r3, 0x1 - negs r3, r3 - movs r0, 0 - bl saved_warp2_set - ldr r0, =gTrainerBattleOpponent_A - strh r7, [r0] - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8161F94 - thumb_func_start sub_8162054 -sub_8162054: @ 8162054 - push {r4-r6,lr} - ldr r5, =gSaveBlock2Ptr - ldr r0, [r5] - ldr r4, =0x00000ca9 - adds r0, r4 - ldrb r0, [r0] - lsls r0, 30 - lsrs r6, r0, 30 - ldr r0, =0x000040ce - bl VarGet - lsls r0, 16 - lsrs r1, r0, 16 - ldr r0, =gSpecialVar_0x8005 - ldrh r0, [r0] - cmp r0, 0x1 - beq _08162094 - cmp r0, 0x1 - ble _081620E8 - cmp r0, 0x2 - beq _081620A8 - cmp r0, 0x3 - beq _081620D8 - b _081620E8 - .pool -_08162094: - adds r0, r6, 0 - lsls r1, 24 - lsrs r1, 24 - bl sub_8164FCC - ldr r1, =gSpecialVar_Result - strh r0, [r1] - b _081620E8 - .pool -_081620A8: - ldr r4, =gSpecialVar_Result - ldr r2, [r5] - ldr r0, =0x00000cdc - adds r2, r0 - ldr r3, =gUnknown_085DF9AC - lsls r0, r6, 2 - lsls r1, 3 - adds r0, r1 - adds r0, r3 - ldr r1, [r2] - ldr r0, [r0] - ands r1, r0 - negs r0, r1 - orrs r0, r1 - lsrs r0, 31 - strh r0, [r4] - b _081620E8 - .pool -_081620D8: - ldr r1, [r5] - adds r0, r1, r4 - ldrb r0, [r0] - lsls r0, 30 - lsrs r0, 30 - ldr r2, =0x00000d07 - adds r1, r2 - strb r0, [r1] -_081620E8: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8162054 - - thumb_func_start sub_81620F4 -sub_81620F4: @ 81620F4 - push {r4-r7,lr} - ldr r6, =gSaveBlock2Ptr - ldr r0, [r6] - ldr r7, =0x00000ca9 - adds r0, r7 - ldrb r0, [r0] - lsls r0, 30 - lsrs r5, r0, 30 - ldr r0, =0x000040ce - bl VarGet - lsls r0, 16 - lsrs r4, r0, 16 - ldr r0, =gSpecialVar_0x8005 - ldrh r0, [r0] - cmp r0, 0x1 - beq _08162134 - cmp r0, 0x1 - ble _081621B4 - cmp r0, 0x2 - beq _08162150 - cmp r0, 0x3 - beq _081621A4 - b _081621B4 - .pool -_08162134: - ldr r2, [r6] - lsls r0, r5, 1 - lsls r1, r4, 2 - adds r0, r1 - movs r1, 0xCE - lsls r1, 4 - adds r2, r1 - adds r2, r0 - ldr r0, =gSpecialVar_0x8006 - ldrh r0, [r0] - strh r0, [r2] - b _081621B4 - .pool -_08162150: - ldr r0, =gSpecialVar_0x8006 - ldrh r0, [r0] - cmp r0, 0 - beq _08162180 - ldr r2, [r6] - ldr r0, =0x00000cdc - adds r2, r0 - ldr r3, =gUnknown_085DF9AC - lsls r1, r5, 2 - lsls r0, r4, 3 - adds r1, r0 - adds r1, r3 - ldr r0, [r2] - ldr r1, [r1] - orrs r0, r1 - str r0, [r2] - b _081621B4 - .pool -_08162180: - ldr r2, [r6] - ldr r1, =0x00000cdc - adds r2, r1 - ldr r3, =gUnknown_085DF9CC - lsls r1, r5, 2 - lsls r0, r4, 3 - adds r1, r0 - adds r1, r3 - ldr r0, [r2] - ldr r1, [r1] - ands r0, r1 - str r0, [r2] - b _081621B4 - .pool -_081621A4: - ldr r1, [r6] - adds r0, r1, r7 - ldrb r0, [r0] - lsls r0, 30 - lsrs r0, 30 - ldr r2, =0x00000d07 - adds r1, r2 - strb r0, [r1] -_081621B4: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81620F4 thumb_func_start sub_81621C0 sub_81621C0: @ 81621C0 diff --git a/data/battle_pyramid.s b/data/battle_pyramid_bag.s similarity index 100% rename from data/battle_pyramid.s rename to data/battle_pyramid_bag.s diff --git a/ld_script.txt b/ld_script.txt index c06b410f14..a4219faf30 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -212,6 +212,7 @@ SECTIONS { src/fldeff_softboiled.o(.text); src/decoration_inventory.o(.text); src/roamer.o(.text); + src/battle_tower.o(.text); asm/battle_tower.o(.text); src/use_pokeblock.o(.text); asm/use_pokeblock.o(.text); @@ -265,8 +266,8 @@ SECTIONS { src/berry_fix_program.o(.text); src/pokemon_summary_screen.o(.text); src/unk_pokedex_area_screen_helper.o(.text); - src/battle_pyramid.o(.text); - asm/battle_pyramid.o(.text); + src/battle_pyramid_bag.o(.text); + asm/battle_pyramid_bag.o(.text); asm/pokenav.o(.text); src/match_call.o(.text); asm/pokenav.o(.text.after.match.call); @@ -544,7 +545,7 @@ SECTIONS { src/berry_fix_program.o(.rodata); src/pokemon_summary_screen.o(.rodata); src/unk_pokedex_area_screen_helper.o(.rodata); - data/battle_pyramid.o(.rodata); + data/battle_pyramid_bag.o(.rodata); data/pokenav.o(.rodata); src/match_call.o(.rodata); data/pokenav.o(.rodata.after.match.call); diff --git a/src/battle_pyramid.c b/src/battle_pyramid_bag.c similarity index 100% rename from src/battle_pyramid.c rename to src/battle_pyramid_bag.c diff --git a/src/battle_tower.c b/src/battle_tower.c new file mode 100644 index 0000000000..e70d4af91c --- /dev/null +++ b/src/battle_tower.c @@ -0,0 +1,85 @@ +#include "global.h" +#include "event_data.h" +#include "battle_setup.h" +#include "overworld.h" +#include "random.h" +#include "battle_tower.h" + +extern void sub_81A3ACC(void); + +extern const u32 gUnknown_085DF9AC[][2]; +extern const u32 gUnknown_085DF9CC[][2]; +extern void (* const gUnknown_085DF96C[])(void); + +// This file's functions. +void sub_8164ED8(void); +u16 sub_8164FCC(u8, u8); + +// code +void sub_8161F74(void) +{ + gUnknown_085DF96C[gSpecialVar_0x8004](); +} + +void sub_8161F94(void) +{ + u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode; + u32 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE); + + gSaveBlock2Ptr->frontier.field_CA8 = 1; + gSaveBlock2Ptr->frontier.field_CB2 = 0; + gSaveBlock2Ptr->frontier.field_CA9_a = 0; + gSaveBlock2Ptr->frontier.field_CA9_b = 0; + sub_81A3ACC(); + if (!(gSaveBlock2Ptr->frontier.field_CDC & gUnknown_085DF9AC[battleMode][lvlMode])) + gSaveBlock2Ptr->frontier.field_CE0[battleMode][lvlMode] = 0; + + sub_8164ED8(); + saved_warp2_set(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1); + gTrainerBattleOpponent_A = 0; +} + +void sub_8162054(void) +{ + u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode; + u32 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE); + + switch (gSpecialVar_0x8005) + { + case 0: + break; + case 1: + gSpecialVar_Result = sub_8164FCC(lvlMode, battleMode); + break; + case 2: + gSpecialVar_Result = ((gSaveBlock2Ptr->frontier.field_CDC & gUnknown_085DF9AC[battleMode][lvlMode]) != 0); + break; + case 3: + gSaveBlock2Ptr->frontier.field_D07 = gSaveBlock2Ptr->frontier.lvlMode; + break; + } +} + +void sub_81620F4(void) +{ + u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode; + u32 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE); + + switch (gSpecialVar_0x8005) + { + case 0: + break; + case 1: + gSaveBlock2Ptr->frontier.field_CE0[battleMode][lvlMode] = gSpecialVar_0x8006; + break; + case 2: + if (gSpecialVar_0x8006) + gSaveBlock2Ptr->frontier.field_CDC |= gUnknown_085DF9AC[battleMode][lvlMode]; + else + gSaveBlock2Ptr->frontier.field_CDC &= gUnknown_085DF9CC[battleMode][lvlMode]; + break; + case 3: + gSaveBlock2Ptr->frontier.field_D07 = gSaveBlock2Ptr->frontier.lvlMode; + break; + } +} diff --git a/sym_ewram.txt b/sym_ewram.txt index 689f8bba80..bf2632e91b 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -729,7 +729,7 @@ gUnknown_0203CF00: @ 203CF00 .include "src/fldeff_groundshake.o" .include "src/pokemon_summary_screen.o" .include "src/unk_pokedex_area_screen_helper.o" - .include "src/battle_pyramid.o" + .include "src/battle_pyramid_bag.o" gUnknown_0203CF3C: @ 203CF3C .space 0x4 From d65ebcd3dd08dd2e5bdd53fd9acf69aa15689c21 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Sun, 26 Aug 2018 21:41:47 +0200 Subject: [PATCH 139/234] Label a dome functiion --- src/battle_dome.c | 97 +++++++++++++++++++++++++---------------------- 1 file changed, 52 insertions(+), 45 deletions(-) diff --git a/src/battle_dome.c b/src/battle_dome.c index 41f7d7a955..4505ce8b02 100644 --- a/src/battle_dome.c +++ b/src/battle_dome.c @@ -224,7 +224,7 @@ static void CalcDomeMonStats(u16 species, s32 level, s32 ivs, u8 evBits, u8 natu static void CreateDomeTrainerMons(u16 tournamentTrainerId); static s32 sub_818FCBC(u16 tournamentTrainerId, bool8 arg1); static s32 sub_818FDB8(u16 tournamentTrainerId, bool8 arg1); -static s32 sub_818FFC0(s32 move, s32 species, s32 arg2); +static s32 GetTypeEffectivenessPoints(s32 move, s32 species, s32 arg2); static s32 sub_818FEB4(s32 *arr, bool8 arg1); static void sub_8190400(u8 taskId); static void sub_8190CD4(u8 taskId); @@ -1276,24 +1276,24 @@ static const u32 gUnknown_0860D0FC[][2] = {0xffefffff, 0xffdfffff}, }; -static const u8 gUnknown_0860D10C[DOME_TOURNAMENT_TRAINERS_COUNT][DOME_ROUNDS_COUNT] = +static const u8 sIdToOpponentId[DOME_TOURNAMENT_TRAINERS_COUNT][DOME_ROUNDS_COUNT] = { - {0x08, 0x00, 0x04, 0x08}, - {0x09, 0x0c, 0x08, 0x00}, - {0x0a, 0x08, 0x0c, 0x00}, - {0x0b, 0x04, 0x00, 0x08}, - {0x0c, 0x00, 0x04, 0x08}, - {0x0d, 0x0c, 0x08, 0x00}, - {0x0e, 0x08, 0x0c, 0x00}, - {0x0f, 0x04, 0x00, 0x08}, - {0x00, 0x00, 0x04, 0x08}, - {0x01, 0x0c, 0x08, 0x00}, - {0x02, 0x08, 0x0c, 0x00}, - {0x03, 0x04, 0x00, 0x08}, - {0x04, 0x00, 0x04, 0x08}, - {0x05, 0x0c, 0x08, 0x00}, - {0x06, 0x08, 0x0c, 0x00}, - {0x07, 0x04, 0x00, 0x08}, + [0] = {8, 0, 4, 8}, + [1] = {9, 12, 8, 0}, + [2] = {10, 8, 12, 0}, + [3] = {11, 4, 0, 8}, + [4] = {12, 0, 4, 8}, + [5] = {13, 12, 8, 0}, + [6] = {14, 8, 12, 0}, + [7] = {15, 4, 0, 8}, + [8] = {0, 0, 4, 8}, + [9] = {1, 12, 8, 0}, + [10] = {2, 8, 12, 0}, + [11] = {3, 4, 0, 8}, + [12] = {4, 0, 4, 8}, + [13] = {5, 12, 8, 0}, + [14] = {6, 8, 12, 0}, + [15] = {7, 4, 0, 8}, }; static const u8 gUnknown_0860D14C[] = {0x00, 0x08, 0x04, 0x0c, 0x07, 0x0f, 0x03, 0x0b, 0x02, 0x0a, 0x06, 0x0e, 0x05, 0x0d, 0x01, 0x09}; @@ -2943,12 +2943,12 @@ static s32 sub_818FCBC(u16 tournamentTrainerId, bool8 arg1) { if (gSaveBlock2Ptr->frontier.domeTrainers[tournamentTrainerId].trainerId == TRAINER_FRONTIER_BRAIN) { - array[i] += sub_818FFC0(sub_81A5060(i, moveId), + array[i] += GetTypeEffectivenessPoints(sub_81A5060(i, moveId), GetMonData(&gPlayerParty[playerMonId], MON_DATA_SPECIES, NULL), 0); } else { - array[i] += sub_818FFC0(gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonId[tournamentTrainerId][i]].moves[moveId], + array[i] += GetTypeEffectivenessPoints(gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonId[tournamentTrainerId][i]].moves[moveId], GetMonData(&gPlayerParty[playerMonId], MON_DATA_SPECIES, NULL), 0); } } @@ -2971,12 +2971,12 @@ static s32 sub_818FDB8(u16 tournamentTrainerId, bool8 arg1) { if (gSaveBlock2Ptr->frontier.domeTrainers[tournamentTrainerId].trainerId == TRAINER_FRONTIER_BRAIN) { - array[i] += sub_818FFC0(sub_81A5060(i, moveId), + array[i] += GetTypeEffectivenessPoints(sub_81A5060(i, moveId), GetMonData(&gPlayerParty[playerMonId], MON_DATA_SPECIES, NULL), 1); } else { - array[i] += sub_818FFC0(gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonId[tournamentTrainerId][i]].moves[moveId], + array[i] += GetTypeEffectivenessPoints(gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonId[tournamentTrainerId][i]].moves[moveId], GetMonData(&gPlayerParty[playerMonId], MON_DATA_SPECIES, NULL), 1); } } @@ -3051,23 +3051,30 @@ static s32 sub_818FEB4(s32 *arr, bool8 arg1) return bits; } +#define TYPE_x0 0 +#define TYPE_x0_25 5 +#define TYPE_x0_50 10 +#define TYPE_x1 20 +#define TYPE_x2 40 +#define TYPE_x4 80 + // Functionally equivalent, while loop is impossible to match. #ifdef NONMATCHING -static s32 sub_818FFC0(s32 move, s32 species, s32 arg2) +static s32 GetTypeEffectivenessPoints(s32 move, s32 targetSpecies, s32 arg2) { - s32 type1, type2, ability, moveType; + s32 defType1, defType2, defAbility, moveType; s32 i = 0; - s32 typePower = 20; + s32 typePower = TYPE_x1; if (move == MOVE_NONE || move == 0xFFFF || gBattleMoves[move].power == 0) return 0; - type1 = gBaseStats[species].type1; - type2 = gBaseStats[species].type2; - ability = gBaseStats[species].ability1; + defType1 = gBaseStats[targetSpecies].type1; + defType2 = gBaseStats[targetSpecies].type2; + defAbility = gBaseStats[targetSpecies].ability1; moveType = gBattleMoves[move].type; - if (ability == ABILITY_LEVITATE && moveType == TYPE_GROUND) + if (defAbility == ABILITY_LEVITATE && moveType == TYPE_GROUND) { if (arg2 == 1) typePower = 8; @@ -3086,9 +3093,9 @@ static s32 sub_818FFC0(s32 move, s32 species, s32 arg2) if (val == moveType) { // BUG: * 2 is not necessary and makes the condition always false if the ability is wonder guard. - if (gTypeEffectiveness[i + 1] == type1 && (ability != ABILITY_WONDER_GUARD || gTypeEffectiveness[i + 2] == TYPE_MUL_SUPER_EFFECTIVE * 2)) + if (gTypeEffectiveness[i + 1] == defType1 && (defAbility != ABILITY_WONDER_GUARD || gTypeEffectiveness[i + 2] == TYPE_MUL_SUPER_EFFECTIVE * 2)) typePower = (gTypeEffectiveness[i + 2] * typePower) / 10; - if (gTypeEffectiveness[i + 1] == type2 && type1 != type2 && (ability != ABILITY_WONDER_GUARD || gTypeEffectiveness[i + 2] == TYPE_MUL_SUPER_EFFECTIVE * 2)) + if (gTypeEffectiveness[i + 1] == defType2 && defType1 != defType2 && (defAbility != ABILITY_WONDER_GUARD || gTypeEffectiveness[i + 2] == TYPE_MUL_SUPER_EFFECTIVE * 2)) typePower = (gTypeEffectiveness[i + 2] * typePower) / 10; } i += 3; @@ -3145,23 +3152,23 @@ static s32 sub_818FFC0(s32 move, s32 species, s32 arg2) case 2: switch (typePower) { - case 0: + case TYPE_x0: typePower = -16; break; - case 5: + case TYPE_x0_25: typePower = -8; break; - case 10: + case TYPE_x0_50: default: typePower = 0; break; - case 20: + case TYPE_x1: typePower = 4; break; - case 40: + case TYPE_x2: typePower = 12; break; - case 80: + case TYPE_x4: typePower = 20; break; } @@ -3172,7 +3179,7 @@ static s32 sub_818FFC0(s32 move, s32 species, s32 arg2) } #else NAKED -static s32 sub_818FFC0(s32 move, s32 species, s32 arg2) +static s32 GetTypeEffectivenessPoints(s32 move, s32 species, s32 arg2) { asm_unified("\n\ push {r4-r7,lr}\n\ @@ -3448,11 +3455,11 @@ static s32 TournamentIdOfOpponent(s32 roundId, s32 trainerId) if (roundId != DOME_ROUND1) { if (roundId == DOME_FINAL) - val = gUnknown_0860D10C[i][roundId] + 8; + val = sIdToOpponentId[i][roundId] + 8; else - val = gUnknown_0860D10C[i][roundId] + 4; + val = sIdToOpponentId[i][roundId] + 4; - for (j = gUnknown_0860D10C[i][roundId]; j < val; j++) + for (j = sIdToOpponentId[i][roundId]; j < val; j++) { if (gUnknown_0860D14C[j] != i && !gSaveBlock2Ptr->frontier.domeTrainers[gUnknown_0860D14C[j]].isEliminated) break; @@ -3465,8 +3472,8 @@ static s32 TournamentIdOfOpponent(s32 roundId, s32 trainerId) } else { - if (!gSaveBlock2Ptr->frontier.domeTrainers[gUnknown_0860D10C[i][roundId]].isEliminated) - return gUnknown_0860D10C[i][roundId]; + if (!gSaveBlock2Ptr->frontier.domeTrainers[sIdToOpponentId[i][roundId]].isEliminated) + return sIdToOpponentId[i][roundId]; else return 0xFF; } @@ -6366,7 +6373,7 @@ static void DecideRoundWinners(u8 roundId) { for (monId2 = 0; monId2 < 3; monId2++) { - points1 += sub_818FFC0(gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonId[tournamentId1][monId1]].moves[moveSlot], + points1 += GetTypeEffectivenessPoints(gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonId[tournamentId1][monId1]].moves[moveSlot], gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonId[tournamentId2][monId2]].species, 2); } } @@ -6389,7 +6396,7 @@ static void DecideRoundWinners(u8 roundId) { for (monId2 = 0; monId2 < 3; monId2++) { - points2 += sub_818FFC0(gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonId[tournamentId2][monId1]].moves[moveSlot], + points2 += GetTypeEffectivenessPoints(gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonId[tournamentId2][monId1]].moves[moveSlot], gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonId[tournamentId1][monId2]].species, 2); } } From e30c2251ce72df8ed66f119370714531c50951ae Mon Sep 17 00:00:00 2001 From: Slawter666 <38655737+Slawter666@users.noreply.github.com> Date: Mon, 27 Aug 2018 00:26:54 +0100 Subject: [PATCH 140/234] Convert more of data2b --- data/data2b.s | 3712 ----------------- .../pokemon/still_front_pic_table.inc | 442 -- include/data2.h | 4 +- include/graphics.h | 422 +- .../pokemon_graphics/back_pic_coordinates.h | 443 ++ .../pokemon_graphics/front_pic_coordinates.h | 443 ++ .../pokemon_graphics/still_front_pic_table.h | 446 ++ src/data/pokemon_graphics/unknown_anims.h | 2347 +++++++++++ src/data/trainer_graphics/back_pic_tables.h | 18 +- src/data/trainer_graphics/front_pic_tables.h | 188 +- src/data2b.c | 6 + 11 files changed, 4209 insertions(+), 4262 deletions(-) delete mode 100644 data/graphics/pokemon/still_front_pic_table.inc create mode 100644 src/data/pokemon_graphics/back_pic_coordinates.h create mode 100644 src/data/pokemon_graphics/front_pic_coordinates.h create mode 100644 src/data/pokemon_graphics/still_front_pic_table.h create mode 100644 src/data/pokemon_graphics/unknown_anims.h diff --git a/data/data2b.s b/data/data2b.s index 8d20be90fe..db378d1a5b 100644 --- a/data/data2b.s +++ b/data/data2b.s @@ -217,3715 +217,3 @@ gUnknown_082FF6C0:: @ 82FF6C0 .4byte gUnknown_082FF664 .4byte gUnknown_082FF5D8 .4byte gUnknown_082FF684 - - .align 2 -gUnknown_082FF6EC:: @ 82FF6EC - .2byte 0x0000, 0x0000, 0xffff, 0x0000 - - .align 2 -gUnknown_082FF6F4:: @ 82FF6F4 - .2byte 0x0001, 0x0000, 0xffff, 0x0000 - - .align 2 -gUnknown_082FF6FC:: @ 82FF6FC - .2byte 0x0002, 0x0000, 0xffff, 0x0000 - - .align 2 -gUnknown_082FF704:: @ 82FF704 - .2byte 0x0003, 0x0000, 0xffff, 0x0000 - - .align 2 -gPlayerMonSpriteAnimsTable:: @ 82FF70C - .4byte gUnknown_082FF6EC - .4byte gUnknown_082FF6F4 - .4byte gUnknown_082FF6FC - .4byte gUnknown_082FF704 - - .align 2 -gUnknown_082FF71C:: @ 82FF71C - .2byte 0x0000, 0x0001, 0x0001, 0x0019, 0x0000, 0x0007, 0x0001, 0x0007 - .2byte 0x0000, 0x0007, 0xffff, 0x0000 - - .align 2 -gUnknown_082FF734:: @ 82FF734 - .2byte 0x0000, 0x0001, 0x0002, 0x0008, 0x0000, 0x0008, 0xffff, 0x0000 - - .align 2 -gUnknown_082FF744:: @ 82FF744 - .2byte 0x0000, 0x000a, 0x0002, 0x000a, 0xffff, 0x0000 - - .align 2 -gUnknown_082FF750:: @ 82FF750 - .2byte 0x0000, 0x000a, 0xffff, 0x0000 - - .align 2 -gUnknown_082FF758:: @ 82FF758 - .2byte 0x0000, 0x0001, 0x0001, 0x0005, 0x0000, 0x0005, 0x0001, 0x0005 - .2byte 0x0000, 0x0005, 0x0001, 0x0005, 0xffff, 0x0000 - - .align 2 -gUnknown_082FF774:: @ 82FF774 - .2byte 0x0000, 0x0001, 0x0002, 0x000c, 0x0000, 0x000e, 0x0002, 0x000c - .2byte 0x0000, 0x000e, 0x0002, 0x000c, 0xffff, 0x0000 - - .align 2 -gUnknown_082FF790:: @ 82FF790 - .2byte 0x0000, 0x000e, 0x0002, 0x000c, 0xffff, 0x0000 - - .align 2 -gUnknown_082FF79C:: @ 82FF79C - .2byte 0x0000, 0x000a, 0x0001, 0x000a, 0x0000, 0x000a, 0x0001, 0x000a, 0xffff, 0x0000 - - .align 2 -gUnknown_082FF7B0:: @ 82FF7B0 - .2byte 0x0000, 0x000a, 0x0002, 0x000a, 0x0000, 0x000a, 0x0002, 0x000a, 0xffff, 0x0000 - - .align 2 -gUnknown_082FF7C4:: @ 82FF7C4 - .2byte 0x0000, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_082FF7CC:: @ 82FF7CC - .2byte 0x0000, 0x0005, 0xffff, 0x0000 - - .align 2 -gUnknown_082FF7D4:: @ 82FF7D4 - .2byte 0x0000, 0x0005, 0xffff, 0x0000 - - .align 2 -gUnknown_082FF7DC:: @ 82FF7DC - .2byte 0x0000, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_082FF7E4:: @ 82FF7E4 - .2byte 0x0001, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_082FF7EC:: @ 82FF7EC - .2byte 0x0000, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_082FF7F4:: @ 82FF7F4 - .2byte 0x0001, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_082FF7FC:: @ 82FF7FC - .2byte 0x0000, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_082FF804:: @ 82FF804 - .2byte 0x0001, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_082FF80C:: @ 82FF80C - .2byte 0x0000, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_082FF814:: @ 82FF814 - .2byte 0x0001, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_082FF81C:: @ 82FF81C - .2byte 0x0000, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_082FF824:: @ 82FF824 - .2byte 0x0001, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_082FF82C:: @ 82FF82C - .2byte 0x0000, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_082FF834:: @ 82FF834 - .2byte 0x0000, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_082FF83C:: @ 82FF83C - .2byte 0x0001, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_082FF844:: @ 82FF844 - .2byte 0x0000, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_082FF84C:: @ 82FF84C - .2byte 0x0000, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_082FF854:: @ 82FF854 - .2byte 0x0000, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_082FF85C:: @ 82FF85C - .2byte 0x0001, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_082FF864:: @ 82FF864 - .2byte 0x0000, 0x0005, 0xffff, 0x0000 - - .align 2 -gUnknown_082FF86C:: @ 82FF86C - .2byte 0x0000, 0x0005, 0xffff, 0x0000 - - .align 2 -gUnknown_082FF874:: @ 82FF874 - .2byte 0x0000, 0x0005, 0xffff, 0x0000 - - .align 2 -gUnknown_082FF87C:: @ 82FF87C - .2byte 0x0000, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_082FF884:: @ 82FF884 - .2byte 0x0000, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_082FF88C:: @ 82FF88C - .2byte 0x0000, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_082FF894:: @ 82FF894 - .2byte 0x0001, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_082FF89C:: @ 82FF89C - .2byte 0x0000, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_082FF8A4:: @ 82FF8A4 - .2byte 0x0001, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_082FF8AC:: @ 82FF8AC - .2byte 0x0000, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_082FF8B4:: @ 82FF8B4 - .2byte 0x0001, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_082FF8BC:: @ 82FF8BC - .2byte 0x0000, 0x000f, 0x0008, 0x000f, 0x0002, 0x0016, 0x0008, 0x0005 - .2byte 0x0003, 0x0008, 0x0004, 0x0005, 0x0006, 0x0005, 0x0004, 0x0005 - .2byte 0x0006, 0x0005, 0x0004, 0x0005, 0x0006, 0x0005, 0x0004, 0x0005 - .2byte 0x0006, 0x0005, 0x0005, 0x0005, 0x0007, 0x0005, 0xffff, 0x0000 - - .align 2 -gUnknown_082FF8FC:: @ 82FF8FC - .2byte 0x0000, 0x000a, 0x0008, 0x000f, 0x0002, 0x000f, 0x0008, 0x000f - .2byte 0x0009, 0x000f, 0x0000, 0x000a, 0x0009, 0x000a, 0xffff, 0x0000 - - .align 2 -gUnknown_082FF91C:: @ 82FF91C - .2byte 0x0000, 0x000a, 0x0009, 0x000a, 0x0000, 0x000a, 0x000a, 0x0014, 0xffff, 0x0000 - - .align 2 -gUnknown_082FF930:: @ 82FF930 - .2byte 0x0000, 0x000f, 0x000b, 0x000f, 0xffff, 0x0000 - - .align 2 -gUnknown_082FF93C:: @ 82FF93C - .2byte 0x0000, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_082FF944:: @ 82FF944 - .2byte 0x0000, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_082FF94C:: @ 82FF94C - .2byte 0x0000, 0x000a, 0x0001, 0x0007, 0x0002, 0x0007, 0x0003, 0x0004 - .2byte 0x0004, 0x0004, 0x0003, 0x0004, 0x0004, 0x0004, 0x0003, 0x0004 - .2byte 0x0004, 0x0004, 0x0003, 0x0004, 0x0001, 0x0006, 0x0005, 0x0002 - .2byte 0x0000, 0x0002, 0x0005, 0x0002, 0x0000, 0x0002, 0x0005, 0x0002 - .2byte 0x0006, 0x0002, 0x0005, 0x0002, 0x0006, 0x0002, 0x0006, 0x000a - .2byte 0x0005, 0x0004, 0x0000, 0x000a, 0xffff, 0x0000 - - .align 2 -gUnknown_082FF9A8:: @ 82FF9A8 - .2byte 0x0000, 0x000c, 0x0007, 0x000c, 0x0008, 0x000c, 0x0000, 0x000c - .2byte 0x0007, 0x000c, 0x0008, 0x000c, 0x0000, 0x000c, 0x0007, 0x000c - .2byte 0x0008, 0x000c, 0x0000, 0x000c, 0x0007, 0x000c, 0x0008, 0x000c - .2byte 0x0000, 0x000c, 0x0007, 0x000c, 0x0008, 0x000c, 0x0009, 0x0003 - .2byte 0x0000, 0x0003, 0x0009, 0x0003, 0x0000, 0x0003, 0x0007, 0x000c - .2byte 0x0008, 0x000c, 0xffff, 0x0000 - - .align 2 -gUnknown_082FFA00:: @ 82FFA00 - .2byte 0x0000, 0x000c, 0x0007, 0x000c, 0x0008, 0x000c, 0x0000, 0x000c - .2byte 0x0007, 0x000c, 0x0008, 0x000c, 0x0000, 0x000c, 0x0007, 0x000c - .2byte 0x0008, 0x000c, 0x0000, 0x000c, 0x0007, 0x000c, 0x0008, 0x000c - .2byte 0x0000, 0x000c, 0x0007, 0x000c, 0x0008, 0x000c, 0x0009, 0x0003 - .2byte 0x0000, 0x0003, 0x0009, 0x0003, 0x0000, 0x0003, 0x0007, 0x000c - .2byte 0x0008, 0x000c, 0xffff, 0x0000 - - .align 2 -gUnknown_082FFA58:: @ 82FFA58 - .2byte 0x0000, 0x0012, 0x000a, 0x0012, 0xffff, 0x0000 - - .align 2 -gUnknown_082FFA64:: @ 82FFA64 - .2byte 0x0000, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_082FFA6C:: @ 82FFA6C - .2byte 0x0000, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_082FFA74:: @ 82FFA74 - .2byte 0x0000, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_082FFA7C:: @ 82FFA7C - .2byte 0x0000, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_082FFA84:: @ 82FFA84 - .2byte 0x0001, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_082FFA8C:: @ 82FFA8C - .2byte 0x0000, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_082FFA94:: @ 82FFA94 - .2byte 0x0001, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_082FFA9C:: @ 82FFA9C - .2byte 0x0000, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_082FFAA4:: @ 82FFAA4 - .2byte 0x0001, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_082FFAAC:: @ 82FFAAC - .2byte 0x0000, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_082FFAB4:: @ 82FFAB4 - .2byte 0x0001, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_082FFABC:: @ 82FFABC - .2byte 0x0000, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_082FFAC4:: @ 82FFAC4 - .2byte 0x0001, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_082FFACC:: @ 82FFACC - .2byte 0x0000, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_082FFAD4:: @ 82FFAD4 - .2byte 0x0001, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_082FFADC:: @ 82FFADC - .2byte 0x0000, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_082FFAE4:: @ 82FFAE4 - .2byte 0x0000, 0x003f, 0xffff, 0x0000 - - .align 2 -gUnknown_082FFAEC:: @ 82FFAEC - .2byte 0x0000, 0x003f, 0xffff, 0x0000 - - .align 2 -gUnknown_082FFAF4:: @ 82FFAF4 - .2byte 0x0000, 0x003f, 0xffff, 0x0000 - - .align 2 -gUnknown_082FFAFC:: @ 82FFAFC - .2byte 0x0000, 0x003f, 0xffff, 0x0000 - - .align 2 -gUnknown_082FFB04:: @ 82FFB04 - .2byte 0x0000, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_082FFB0C:: @ 82FFB0C - .2byte 0x0001, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_082FFB14:: @ 82FFB14 - .2byte 0x0000, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_082FFB1C:: @ 82FFB1C - .2byte 0x0000, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_082FFB24:: @ 82FFB24 - .2byte 0x0001, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_082FFB2C:: @ 82FFB2C - .2byte 0x0000, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_082FFB34:: @ 82FFB34 - .2byte 0x0000, 0x0005, 0xffff, 0x0000 - - .align 2 -gUnknown_082FFB3C:: @ 82FFB3C - .2byte 0x0000, 0x0005, 0xffff, 0x0000 - - .align 2 -gUnknown_082FFB44:: @ 82FFB44 - .2byte 0x0000, 0x0001, 0x0001, 0x0012, 0x0000, 0x0012, 0x0001, 0x0012 - .2byte 0x0000, 0x0012, 0x0001, 0x0012, 0xffff, 0x0000 - - .align 2 -gUnknown_082FFB60:: @ 82FFB60 - .2byte 0x0000, 0x0001, 0x0002, 0x0012, 0x0000, 0x0012, 0x0002, 0x0012 - .2byte 0x0000, 0x0012, 0x0002, 0x0012, 0xffff, 0x0000 - - .align 2 -gUnknown_082FFB7C:: @ 82FFB7C - .2byte 0x0000, 0x0005, 0x0002, 0x0005, 0x0003, 0x0006, 0x0001, 0x0005 - .2byte 0x0000, 0x0005, 0x0002, 0x0005, 0x0003, 0x0005, 0x0001, 0x0005 - .2byte 0x0000, 0x0005, 0x0001, 0x0007, 0x0000, 0x0004, 0x0004, 0x0004 - .2byte 0x0000, 0x0004, 0x0004, 0x0004, 0x0000, 0x0014, 0xffff, 0x0000 - - .align 2 -gUnknown_082FFBBC:: @ 82FFBBC - .2byte 0x0000, 0x0006, 0x0001, 0x0006, 0x0002, 0x0006, 0x0003, 0x0006 - .2byte 0x0001, 0x0006, 0x0000, 0x0006, 0x0001, 0x0006, 0x0000, 0x001e - .2byte 0xffff, 0x0000 - - .align 2 -gUnknown_082FFBE0:: @ 82FFBE0 - .2byte 0x0000, 0x000c, 0x0005, 0x000c, 0x0000, 0x000c, 0x0006, 0x000c, 0xffff, 0x0000 - - .align 2 -gUnknown_082FFBF4:: @ 82FFBF4 - .2byte 0x0007, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_082FFBFC:: @ 82FFBFC - .2byte 0x0000, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_082FFC04:: @ 82FFC04 - .2byte 0x0001, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_082FFC0C:: @ 82FFC0C - .2byte 0x0000, 0x003f, 0xffff, 0x0000 - - .align 2 -gUnknown_082FFC14:: @ 82FFC14 - .2byte 0x0000, 0x003f, 0xffff, 0x0000 - - .align 2 -gUnknown_082FFC1C:: @ 82FFC1C - .2byte 0x0000, 0x003f, 0xffff, 0x0000 - - .align 2 -gUnknown_082FFC24:: @ 82FFC24 - .2byte 0x0000, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_082FFC2C:: @ 82FFC2C - .2byte 0x0000, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_082FFC34:: @ 82FFC34 - .2byte 0x0000, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_082FFC3C:: @ 82FFC3C - .2byte 0x0000, 0x0001, 0x0001, 0x000a, 0x0000, 0x000a, 0x0001, 0x000a - .2byte 0x0000, 0x000a, 0x0001, 0x000a, 0xffff, 0x0000 - - .align 2 -gUnknown_082FFC58:: @ 82FFC58 - .2byte 0x0000, 0x0001, 0x0002, 0x0008, 0x0000, 0x000c, 0x0002, 0x0008 - .2byte 0x0000, 0x000c, 0x0002, 0x0008, 0xffff, 0x0000 - - .align 2 -gUnknown_082FFC74:: @ 82FFC74 - .2byte 0x0000, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_082FFC7C:: @ 82FFC7C - .2byte 0x0000, 0x000a, 0xffff, 0x0000 - - .align 2 -gUnknown_082FFC84:: @ 82FFC84 - .2byte 0x0001, 0x0009, 0xffff, 0x0000 - - .align 2 -gUnknown_082FFC8C:: @ 82FFC8C - .2byte 0x0000, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_082FFC94:: @ 82FFC94 - .2byte 0x0001, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_082FFC9C:: @ 82FFC9C - .2byte 0x0000, 0x000a, 0xffff, 0x0000 - - .align 2 -gUnknown_082FFCA4:: @ 82FFCA4 - .2byte 0x0001, 0x000a, 0xffff, 0x0000 - - .align 2 -gUnknown_082FFCAC:: @ 82FFCAC - .2byte 0x0000, 0x0005, 0xffff, 0x0000 - - .align 2 -gUnknown_082FFCB4:: @ 82FFCB4 - .2byte 0x0000, 0x0005, 0xffff, 0x0000 - - .align 2 -gUnknown_082FFCBC:: @ 82FFCBC - .2byte 0x0000, 0x0005, 0xffff, 0x0000 - - .align 2 -gUnknown_082FFCC4:: @ 82FFCC4 - .2byte 0x0000, 0x0005, 0xffff, 0x0000 - - .align 2 -gUnknown_082FFCCC:: @ 82FFCCC - .2byte 0x0000, 0x0005, 0xffff, 0x0000 - - .align 2 -gUnknown_082FFCD4:: @ 82FFCD4 - .2byte 0x0000, 0x0005, 0xffff, 0x0000 - - .align 2 -gUnknown_082FFCDC:: @ 82FFCDC - .2byte 0x0000, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_082FFCE4:: @ 82FFCE4 - .2byte 0x0000, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_082FFCEC:: @ 82FFCEC - .2byte 0x0000, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_082FFCF4:: @ 82FFCF4 - .2byte 0x0001, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_082FFCFC:: @ 82FFCFC - .2byte 0x0000, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_082FFD04:: @ 82FFD04 - .2byte 0x0000, 0x0005, 0xffff, 0x0000 - - .align 2 -gUnknown_082FFD0C:: @ 82FFD0C - .2byte 0x0000, 0x0005, 0xffff, 0x0000 - - .align 2 -gUnknown_082FFD14:: @ 82FFD14 - .2byte 0x0000, 0x0005, 0xffff, 0x0000 - - .align 2 -gUnknown_082FFD1C:: @ 82FFD1C - .2byte 0x0000, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_082FFD24:: @ 82FFD24 - .2byte 0x0001, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_082FFD2C:: @ 82FFD2C - .2byte 0x0002, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_082FFD34:: @ 82FFD34 - .2byte 0x0003, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_082FFD3C:: @ 82FFD3C - .2byte 0x0000, 0x003f, 0xffff, 0x0000 - - .align 2 -gUnknown_082FFD44:: @ 82FFD44 - .2byte 0x0000, 0x003f, 0xffff, 0x0000 - - .align 2 -gUnknown_082FFD4C:: @ 82FFD4C - .2byte 0x0000, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_082FFD54:: @ 82FFD54 - .2byte 0x0001, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_082FFD5C:: @ 82FFD5C - .2byte 0x0000, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_082FFD64:: @ 82FFD64 - .2byte 0x0001, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_082FFD6C:: @ 82FFD6C - .2byte 0x0000, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_082FFD74:: @ 82FFD74 - .2byte 0x0001, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_082FFD7C:: @ 82FFD7C - .2byte 0x0000, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_082FFD84:: @ 82FFD84 - .2byte 0x0001, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_082FFD8C:: @ 82FFD8C - .2byte 0x0000, 0x0014, 0x0001, 0x001e, 0x0000, 0x0014, 0x0001, 0x001e, 0xffff, 0x0000 - - .align 2 -gUnknown_082FFDA0:: @ 82FFDA0 - .2byte 0x0000, 0x0014, 0x0002, 0x0014, 0x0000, 0x0014, 0x0002, 0x0014, 0xffff, 0x0000 - - .align 2 -gUnknown_082FFDB4:: @ 82FFDB4 - .2byte 0x0000, 0x000a, 0xffff, 0x0000 - - .align 2 -gUnknown_082FFDBC:: @ 82FFDBC - .2byte 0x0000, 0x000a, 0xffff, 0x0000 - - .align 2 -gUnknown_082FFDC4:: @ 82FFDC4 - .2byte 0x0000, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_082FFDCC:: @ 82FFDCC - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFDD0:: @ 82FFDD0 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFDD4:: @ 82FFDD4 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFDD8:: @ 82FFDD8 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFDDC:: @ 82FFDDC - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFDE0:: @ 82FFDE0 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFDE4:: @ 82FFDE4 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFDE8:: @ 82FFDE8 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFDEC:: @ 82FFDEC - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFDF0:: @ 82FFDF0 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFDF4:: @ 82FFDF4 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFDF8:: @ 82FFDF8 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFDFC:: @ 82FFDFC - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFE00:: @ 82FFE00 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFE04:: @ 82FFE04 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFE08:: @ 82FFE08 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFE0C:: @ 82FFE0C - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFE10:: @ 82FFE10 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFE14:: @ 82FFE14 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFE18:: @ 82FFE18 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFE1C:: @ 82FFE1C - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFE20:: @ 82FFE20 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFE24:: @ 82FFE24 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFE28:: @ 82FFE28 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFE2C:: @ 82FFE2C - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFE30:: @ 82FFE30 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFE34:: @ 82FFE34 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFE38:: @ 82FFE38 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFE3C:: @ 82FFE3C - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFE40:: @ 82FFE40 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFE44:: @ 82FFE44 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFE48:: @ 82FFE48 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFE4C:: @ 82FFE4C - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFE50:: @ 82FFE50 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFE54:: @ 82FFE54 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFE58:: @ 82FFE58 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFE5C:: @ 82FFE5C - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFE60:: @ 82FFE60 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFE64:: @ 82FFE64 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFE68:: @ 82FFE68 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFE6C:: @ 82FFE6C - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFE70:: @ 82FFE70 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFE74:: @ 82FFE74 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFE78:: @ 82FFE78 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFE7C:: @ 82FFE7C - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFE80:: @ 82FFE80 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFE84:: @ 82FFE84 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFE88:: @ 82FFE88 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFE8C:: @ 82FFE8C - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFE90:: @ 82FFE90 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFE94:: @ 82FFE94 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFE98:: @ 82FFE98 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFE9C:: @ 82FFE9C - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFEA0:: @ 82FFEA0 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFEA4:: @ 82FFEA4 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFEA8:: @ 82FFEA8 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFEAC:: @ 82FFEAC - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFEB0:: @ 82FFEB0 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFEB4:: @ 82FFEB4 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFEB8:: @ 82FFEB8 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFEBC:: @ 82FFEBC - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFEC0:: @ 82FFEC0 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFEC4:: @ 82FFEC4 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFEC8:: @ 82FFEC8 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFECC:: @ 82FFECC - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFED0:: @ 82FFED0 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFED4:: @ 82FFED4 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFED8:: @ 82FFED8 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFEDC:: @ 82FFEDC - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFEE0:: @ 82FFEE0 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFEE4:: @ 82FFEE4 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFEE8:: @ 82FFEE8 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFEEC:: @ 82FFEEC - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFEF0:: @ 82FFEF0 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFEF4:: @ 82FFEF4 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFEF8:: @ 82FFEF8 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFEFC:: @ 82FFEFC - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFF00:: @ 82FFF00 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFF04:: @ 82FFF04 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFF08:: @ 82FFF08 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFF0C:: @ 82FFF0C - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFF10:: @ 82FFF10 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFF14:: @ 82FFF14 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFF18:: @ 82FFF18 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFF1C:: @ 82FFF1C - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFF20:: @ 82FFF20 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFF24:: @ 82FFF24 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFF28:: @ 82FFF28 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFF2C:: @ 82FFF2C - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFF30:: @ 82FFF30 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFF34:: @ 82FFF34 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFF38:: @ 82FFF38 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFF3C:: @ 82FFF3C - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFF40:: @ 82FFF40 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFF44:: @ 82FFF44 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFF48:: @ 82FFF48 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFF4C:: @ 82FFF4C - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFF50:: @ 82FFF50 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFF54:: @ 82FFF54 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFF58:: @ 82FFF58 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFF5C:: @ 82FFF5C - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFF60:: @ 82FFF60 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFF64:: @ 82FFF64 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFF68:: @ 82FFF68 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFF6C:: @ 82FFF6C - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFF70:: @ 82FFF70 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFF74:: @ 82FFF74 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFF78:: @ 82FFF78 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFF7C:: @ 82FFF7C - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFF80:: @ 82FFF80 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFF84:: @ 82FFF84 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFF88:: @ 82FFF88 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFF8C:: @ 82FFF8C - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFF90:: @ 82FFF90 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFF94:: @ 82FFF94 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFF98:: @ 82FFF98 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFF9C:: @ 82FFF9C - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFFA0:: @ 82FFFA0 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFFA4:: @ 82FFFA4 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFFA8:: @ 82FFFA8 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFFAC:: @ 82FFFAC - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFFB0:: @ 82FFFB0 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFFB4:: @ 82FFFB4 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFFB8:: @ 82FFFB8 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFFBC:: @ 82FFFBC - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFFC0:: @ 82FFFC0 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFFC4:: @ 82FFFC4 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFFC8:: @ 82FFFC8 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFFCC:: @ 82FFFCC - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFFD0:: @ 82FFFD0 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFFD4:: @ 82FFFD4 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFFD8:: @ 82FFFD8 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFFDC:: @ 82FFFDC - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFFE0:: @ 82FFFE0 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFFE4:: @ 82FFFE4 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFFE8:: @ 82FFFE8 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFFEC:: @ 82FFFEC - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFFF0:: @ 82FFFF0 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFFF4:: @ 82FFFF4 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFFF8:: @ 82FFFF8 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_082FFFFC:: @ 82FFFFC - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08300000:: @ 8300000 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08300004:: @ 8300004 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08300008:: @ 8300008 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_0830000C:: @ 830000C - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08300010:: @ 8300010 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08300014:: @ 8300014 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08300018:: @ 8300018 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_0830001C:: @ 830001C - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08300020:: @ 8300020 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08300024:: @ 8300024 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08300028:: @ 8300028 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_0830002C:: @ 830002C - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08300030:: @ 8300030 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08300034:: @ 8300034 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08300038:: @ 8300038 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_0830003C:: @ 830003C - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08300040:: @ 8300040 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08300044:: @ 8300044 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08300048:: @ 8300048 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_0830004C:: @ 830004C - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08300050:: @ 8300050 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08300054:: @ 8300054 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08300058:: @ 8300058 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_0830005C:: @ 830005C - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08300060:: @ 8300060 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08300064:: @ 8300064 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08300068:: @ 8300068 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_0830006C:: @ 830006C - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08300070:: @ 8300070 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08300074:: @ 8300074 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08300078:: @ 8300078 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_0830007C:: @ 830007C - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08300080:: @ 8300080 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08300084:: @ 8300084 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08300088:: @ 8300088 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_0830008C:: @ 830008C - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08300090:: @ 8300090 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08300094:: @ 8300094 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08300098:: @ 8300098 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_0830009C:: @ 830009C - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_083000A0:: @ 83000A0 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_083000A4:: @ 83000A4 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_083000A8:: @ 83000A8 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_083000AC:: @ 83000AC - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_083000B0:: @ 83000B0 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_083000B4:: @ 83000B4 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_083000B8:: @ 83000B8 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_083000BC:: @ 83000BC - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_083000C0:: @ 83000C0 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_083000C4:: @ 83000C4 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_083000C8:: @ 83000C8 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_083000CC:: @ 83000CC - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_083000D0:: @ 83000D0 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_083000D4:: @ 83000D4 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_083000D8:: @ 83000D8 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_083000DC:: @ 83000DC - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_083000E0:: @ 83000E0 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_083000E4:: @ 83000E4 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_083000E8:: @ 83000E8 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_083000EC:: @ 83000EC - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_083000F0:: @ 83000F0 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_083000F4:: @ 83000F4 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_083000F8:: @ 83000F8 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_083000FC:: @ 83000FC - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08300100:: @ 8300100 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08300104:: @ 8300104 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08300108:: @ 8300108 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_0830010C:: @ 830010C - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08300110:: @ 8300110 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08300114:: @ 8300114 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08300118:: @ 8300118 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_0830011C:: @ 830011C - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08300120:: @ 8300120 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08300124:: @ 8300124 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08300128:: @ 8300128 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_0830012C:: @ 830012C - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08300130:: @ 8300130 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08300134:: @ 8300134 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08300138:: @ 8300138 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_0830013C:: @ 830013C - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08300140:: @ 8300140 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08300144:: @ 8300144 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08300148:: @ 8300148 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_0830014C:: @ 830014C - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08300150:: @ 8300150 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08300154:: @ 8300154 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08300158:: @ 8300158 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_0830015C:: @ 830015C - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08300160:: @ 8300160 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08300164:: @ 8300164 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08300168:: @ 8300168 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_0830016C:: @ 830016C - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08300170:: @ 8300170 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08300174:: @ 8300174 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08300178:: @ 8300178 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_0830017C:: @ 830017C - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08300180:: @ 8300180 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08300184:: @ 8300184 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08300188:: @ 8300188 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_0830018C:: @ 830018C - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08300190:: @ 8300190 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08300194:: @ 8300194 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08300198:: @ 8300198 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_0830019C:: @ 830019C - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_083001A0:: @ 83001A0 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_083001A4:: @ 83001A4 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_083001A8:: @ 83001A8 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_083001AC:: @ 83001AC - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_083001B0:: @ 83001B0 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_083001B4:: @ 83001B4 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_083001B8:: @ 83001B8 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_083001BC:: @ 83001BC - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_083001C0:: @ 83001C0 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_083001C4:: @ 83001C4 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_083001C8:: @ 83001C8 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_083001CC:: @ 83001CC - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_083001D0: @ 83001D0 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_083001D4:: @ 83001D4 - .4byte gAnimCmd_General_Frame0 - .4byte gUnknown_082FF71C - .4byte gUnknown_082FF734 - .4byte gUnknown_082FF744 - .4byte gUnknown_082FF750 - - .align 2 -gUnknown_083001E8:: @ 83001E8 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_083001EC:: @ 83001EC - .4byte gAnimCmd_General_Frame0 - .4byte gUnknown_082FF758 - .4byte gUnknown_082FF774 - .4byte gUnknown_082FF790 - - .align 2 -gUnknown_083001FC:: @ 83001FC - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08300200:: @ 8300200 - .4byte gAnimCmd_General_Frame0 - .4byte gUnknown_082FF79C - .4byte gUnknown_082FF7B0 - - .align 2 -gUnknown_0830020C:: @ 830020C - .4byte gAnimCmd_General_Frame0 - .4byte gUnknown_082FF7C4 - - .align 2 -gUnknown_08300214:: @ 8300214 - .4byte gAnimCmd_General_Frame0 - .4byte gUnknown_082FF7CC - - .align 2 -gUnknown_0830021C:: @ 830021C - .4byte gAnimCmd_General_Frame0 - .4byte gUnknown_082FF7D4 - - .align 2 -gUnknown_08300224:: @ 8300224 - .4byte gAnimCmd_General_Frame0 - .4byte gUnknown_082FF7DC - .4byte gUnknown_082FF7E4 - - .align 2 -gUnknown_08300230:: @ 8300230 - .4byte gAnimCmd_General_Frame0 - .4byte gUnknown_082FF7EC - .4byte gUnknown_082FF7F4 - - .align 2 -gUnknown_0830023C:: @ 830023C - .4byte gAnimCmd_General_Frame0 - .4byte gUnknown_082FF7FC - .4byte gUnknown_082FF804 - - .align 2 -gUnknown_08300248:: @ 8300248 - .4byte gAnimCmd_General_Frame0 - .4byte gUnknown_082FF80C - .4byte gUnknown_082FF814 - - .align 2 -gUnknown_08300254:: @ 8300254 - .4byte gAnimCmd_General_Frame0 - .4byte gUnknown_082FF81C - .4byte gUnknown_082FF824 - - .align 2 -gUnknown_08300260:: @ 8300260 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08300264:: @ 8300264 - .4byte gAnimCmd_General_Frame0 - .4byte gUnknown_082FF82C - - .align 2 -gUnknown_0830026C:: @ 830026C - .4byte gAnimCmd_General_Frame0 - .4byte gUnknown_082FF834 - .4byte gUnknown_082FF83C - - .align 2 -gUnknown_08300278:: @ 8300278 - .4byte gAnimCmd_General_Frame0 - .4byte gUnknown_082FF844 - - .align 2 -gUnknown_08300280:: @ 8300280 - .4byte gAnimCmd_General_Frame0 - .4byte gUnknown_082FF84C - - .align 2 -gUnknown_08300288:: @ 8300288 - .4byte gAnimCmd_General_Frame0 - .4byte gUnknown_082FF854 - .4byte gUnknown_082FF85C - - .align 2 -gUnknown_08300294:: @ 8300294 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08300298:: @ 8300298 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_0830029C:: @ 830029C - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_083002A0:: @ 83002A0 - .4byte gAnimCmd_General_Frame0 - .4byte gUnknown_082FF864 - - .align 2 -gUnknown_083002A8:: @ 83002A8 - .4byte gAnimCmd_General_Frame0 - .4byte gUnknown_082FF86C - - .align 2 -gUnknown_083002B0:: @ 83002B0 - .4byte gAnimCmd_General_Frame0 - .4byte gUnknown_082FF874 - - .align 2 -gUnknown_083002B8:: @ 83002B8 - .4byte gAnimCmd_General_Frame0 - .4byte gUnknown_082FF87C - - .align 2 -gUnknown_083002C0:: @ 83002C0 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_083002C4:: @ 83002C4 - .4byte gAnimCmd_General_Frame0 - .4byte gUnknown_082FF884 - - .align 2 -gUnknown_083002CC:: @ 83002CC - .4byte gAnimCmd_General_Frame0 - .4byte gUnknown_082FF88C - .4byte gUnknown_082FF894 - - .align 2 -gUnknown_083002D8:: @ 83002D8 - .4byte gAnimCmd_General_Frame0 - .4byte gUnknown_082FF89C - .4byte gUnknown_082FF8A4 - - .align 2 -gUnknown_083002E4:: @ 83002E4 - .4byte gAnimCmd_General_Frame0 - .4byte gUnknown_082FF8AC - .4byte gUnknown_082FF8B4 - - .align 2 -gUnknown_083002F0:: @ 83002F0 - .4byte gAnimCmd_General_Frame0 - .4byte gUnknown_082FF8BC - .4byte gUnknown_082FF8FC - .4byte gUnknown_082FF91C - .4byte gUnknown_082FF930 - - .align 2 -gUnknown_08300304:: @ 8300304 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08300308:: @ 8300308 - .4byte gAnimCmd_General_Frame0 - .4byte gUnknown_082FF93C - - .align 2 -gUnknown_08300310:: @ 8300310 - .4byte gAnimCmd_General_Frame0 - .4byte gUnknown_082FF944 - - .align 2 -gUnknown_08300318:: @ 8300318 - .4byte gAnimCmd_General_Frame0 - .4byte gUnknown_082FF94C - .4byte gUnknown_082FF9A8 - .4byte gUnknown_082FFA00 - .4byte gUnknown_082FFA58 - - .align 2 -gUnknown_0830032C:: @ 830032C - .4byte gAnimCmd_General_Frame0 - .4byte gUnknown_082FFA64 - - .align 2 -gUnknown_08300334:: @ 8300334 - .4byte gAnimCmd_General_Frame0 - .4byte gUnknown_082FFA6C - - .align 2 -gUnknown_0830033C:: @ 830033C - .4byte gAnimCmd_General_Frame0 - .4byte gUnknown_082FFA74 - - .align 2 -gUnknown_08300344:: @ 8300344 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08300348:: @ 8300348 - .4byte gAnimCmd_General_Frame0 - .4byte gUnknown_082FFA7C - .4byte gUnknown_082FFA84 - - .align 2 -gUnknown_08300354:: @ 8300354 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08300358:: @ 8300358 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_0830035C:: @ 830035C - .4byte gAnimCmd_General_Frame0 - .4byte gUnknown_082FFA8C - .4byte gUnknown_082FFA94 - - .align 2 -gUnknown_08300368:: @ 8300368 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_0830036C:: @ 830036C - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08300370:: @ 8300370 - .4byte gAnimCmd_General_Frame0 - .4byte gUnknown_082FFA9C - .4byte gUnknown_082FFAA4 - - .align 2 -gUnknown_0830037C:: @ 830037C - .4byte gAnimCmd_General_Frame0 - .4byte gUnknown_082FFAAC - .4byte gUnknown_082FFAB4 - - .align 2 -gUnknown_08300388:: @ 8300388 - .4byte gAnimCmd_General_Frame0 - .4byte gUnknown_082FFABC - .4byte gUnknown_082FFAC4 - - .align 2 -gUnknown_08300394:: @ 8300394 - .4byte gAnimCmd_General_Frame0 - .4byte gUnknown_082FFACC - .4byte gUnknown_082FFAD4 - - .align 2 -gUnknown_083003A0:: @ 83003A0 - .4byte gAnimCmd_General_Frame0 - .4byte gUnknown_082FFADC - - .align 2 -gUnknown_083003A8:: @ 83003A8 - .4byte gAnimCmd_General_Frame0 - .4byte gUnknown_082FFAE4 - - .align 2 -gUnknown_083003B0:: @ 83003B0 - .4byte gAnimCmd_General_Frame0 - .4byte gUnknown_082FFAEC - - .align 2 -gUnknown_083003B8:: @ 83003B8 - .4byte gAnimCmd_General_Frame0 - .4byte gUnknown_082FFAF4 - - .align 2 -gUnknown_083003C0:: @ 83003C0 - .4byte gAnimCmd_General_Frame0 - .4byte gUnknown_082FFAFC - - .align 2 -gUnknown_083003C8:: @ 83003C8 - .4byte gAnimCmd_General_Frame0 - .4byte gUnknown_082FFB04 - .4byte gUnknown_082FFB0C - - .align 2 -gUnknown_083003D4:: @ 83003D4 - .4byte gAnimCmd_General_Frame0 - .4byte gUnknown_082FFB14 - - .align 2 -gUnknown_083003DC:: @ 83003DC - .4byte gAnimCmd_General_Frame0 - .4byte gUnknown_082FFB1C - .4byte gUnknown_082FFB24 - - .align 2 -gUnknown_083003E8:: @ 83003E8 - .4byte gAnimCmd_General_Frame0 - .4byte gUnknown_082FFB2C - - .align 2 -gUnknown_083003F0:: @ 83003F0 - .4byte gAnimCmd_General_Frame0 - .4byte gUnknown_082FFB34 - - .align 2 -gUnknown_083003F8:: @ 83003F8 - .4byte gAnimCmd_General_Frame0 - .4byte gUnknown_082FFB3C - - .align 2 -gUnknown_08300400:: @ 8300400 - .4byte gAnimCmd_General_Frame0 - .4byte gUnknown_082FFB44 - .4byte gUnknown_082FFB60 - - .align 2 -gUnknown_0830040C:: @ 830040C - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08300410:: @ 8300410 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08300414:: @ 8300414 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08300418:: @ 8300418 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_0830041C:: @ 830041C - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08300420:: @ 8300420 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08300424:: @ 8300424 - .4byte gAnimCmd_General_Frame0 - .4byte gUnknown_082FFB7C - .4byte gUnknown_082FFBBC - .4byte gUnknown_082FFBE0 - .4byte gUnknown_082FFBF4 - - .align 2 -gUnknown_08300438:: @ 8300438 - .4byte gAnimCmd_General_Frame0 - .4byte gUnknown_082FFBFC - .4byte gUnknown_082FFC04 - - .align 2 -gUnknown_08300444:: @ 8300444 - .4byte gAnimCmd_General_Frame0 - .4byte gUnknown_082FFC0C - - .align 2 -gUnknown_0830044C:: @ 830044C - .4byte gAnimCmd_General_Frame0 - .4byte gUnknown_082FFC14 - - .align 2 -gUnknown_08300454:: @ 8300454 - .4byte gAnimCmd_General_Frame0 - .4byte gUnknown_082FFC1C - - .align 2 -gUnknown_0830045C:: @ 830045C - .4byte gAnimCmd_General_Frame0 - .4byte gUnknown_082FFC24 - - .align 2 -gUnknown_08300464:: @ 8300464 - .4byte gAnimCmd_General_Frame0 - .4byte gUnknown_082FFC2C - - .align 2 -gUnknown_0830046C:: @ 830046C - .4byte gAnimCmd_General_Frame0 - .4byte gUnknown_082FFC34 - - .align 2 -gUnknown_08300474:: @ 8300474 - .4byte gAnimCmd_General_Frame0 - .4byte gUnknown_082FFC3C - .4byte gUnknown_082FFC58 - - .align 2 -gUnknown_08300480:: @ 8300480 - .4byte gAnimCmd_General_Frame0 - .4byte gUnknown_082FFC74 - - .align 2 -gUnknown_08300488:: @ 8300488 - .4byte gAnimCmd_General_Frame0 - .4byte gUnknown_082FFC7C - .4byte gUnknown_082FFC84 - - .align 2 -gUnknown_08300494:: @ 8300494 - .4byte gAnimCmd_General_Frame0 - .4byte gUnknown_082FFC8C - .4byte gUnknown_082FFC94 - - .align 2 -gUnknown_083004A0:: @ 83004A0 - .4byte gAnimCmd_General_Frame0 - .4byte gUnknown_082FFC9C - .4byte gUnknown_082FFCA4 - - .align 2 -gUnknown_083004AC:: @ 83004AC - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_083004B0:: @ 83004B0 - .4byte gAnimCmd_General_Frame0 - .4byte gUnknown_082FFCAC - - .align 2 -gUnknown_083004B8:: @ 83004B8 - .4byte gAnimCmd_General_Frame0 - .4byte gUnknown_082FFCB4 - - .align 2 -gUnknown_083004C0:: @ 83004C0 - .4byte gAnimCmd_General_Frame0 - .4byte gUnknown_082FFCBC - - .align 2 -gUnknown_083004C8:: @ 83004C8 - .4byte gAnimCmd_General_Frame0 - .4byte gUnknown_082FFCC4 - - .align 2 -gUnknown_083004D0:: @ 83004D0 - .4byte gAnimCmd_General_Frame0 - .4byte gUnknown_082FFCCC - - .align 2 -gUnknown_083004D8:: @ 83004D8 - .4byte gAnimCmd_General_Frame0 - .4byte gUnknown_082FFCD4 - - .align 2 -gUnknown_083004E0:: @ 83004E0 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_083004E4:: @ 83004E4 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_083004E8:: @ 83004E8 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_083004EC:: @ 83004EC - .4byte gAnimCmd_General_Frame0 - .4byte gUnknown_082FFCDC - - .align 2 -gUnknown_083004F4:: @ 83004F4 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_083004F8:: @ 83004F8 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_083004FC:: @ 83004FC - .4byte gAnimCmd_General_Frame0 - .4byte gUnknown_082FFCE4 - - .align 2 -gUnknown_08300504:: @ 8300504 - .4byte gAnimCmd_General_Frame0 - .4byte gUnknown_082FFCEC - .4byte gUnknown_082FFCF4 - - .align 2 -gUnknown_08300510:: @ 8300510 - .4byte gAnimCmd_General_Frame0 - .4byte gUnknown_082FFCFC - - .align 2 -gUnknown_08300518:: @ 8300518 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_0830051C:: @ 830051C - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08300520:: @ 8300520 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08300524:: @ 8300524 - .4byte gAnimCmd_General_Frame0 - .4byte gUnknown_082FFD04 - - .align 2 -gUnknown_0830052C:: @ 830052C - .4byte gAnimCmd_General_Frame0 - .4byte gUnknown_082FFD0C - - .align 2 -gUnknown_08300534:: @ 8300534 - .4byte gAnimCmd_General_Frame0 - .4byte gUnknown_082FFD14 - - .align 2 -gUnknown_0830053C:: @ 830053C - .4byte gAnimCmd_General_Frame0 - .4byte gUnknown_082FFD1C - .4byte gUnknown_082FFD24 - .4byte gUnknown_082FFD2C - .4byte gUnknown_082FFD34 - - .align 2 -gUnknown_08300550:: @ 8300550 - .4byte gAnimCmd_General_Frame0 - .4byte gUnknown_082FFD3C - - .align 2 -gUnknown_08300558:: @ 8300558 - .4byte gAnimCmd_General_Frame0 - .4byte gUnknown_082FFD44 - - .align 2 -gUnknown_08300560:: @ 8300560 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08300564:: @ 8300564 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08300568:: @ 8300568 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_0830056C:: @ 830056C - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08300570:: @ 8300570 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08300574:: @ 8300574 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08300578:: @ 8300578 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_0830057C:: @ 830057C - .4byte gAnimCmd_General_Frame0 - .4byte gUnknown_082FFD4C - .4byte gUnknown_082FFD54 - - .align 2 -gUnknown_08300588:: @ 8300588 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_0830058C:: @ 830058C - .4byte gAnimCmd_General_Frame0 - .4byte gUnknown_082FFD5C - .4byte gUnknown_082FFD64 - - .align 2 -gUnknown_08300598:: @ 8300598 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_0830059C:: @ 830059C - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_083005A0:: @ 83005A0 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_083005A4:: @ 83005A4 - .4byte gAnimCmd_General_Frame0 - .4byte gUnknown_082FFD6C - - .align 2 -gUnknown_083005AC:: @ 83005AC - .4byte gAnimCmd_General_Frame0 - .4byte gUnknown_082FFD74 - - .align 2 -gUnknown_083005B4:: @ 83005B4 - .4byte gAnimCmd_General_Frame0 - .4byte gUnknown_082FFD7C - .4byte gUnknown_082FFD84 - - .align 2 -gUnknown_083005C0:: @ 83005C0 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_083005C4:: @ 83005C4 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_083005C8:: @ 83005C8 - .4byte gAnimCmd_General_Frame0 - .4byte gUnknown_082FFD8C - .4byte gUnknown_082FFDA0 - - .align 2 -gUnknown_083005D4:: @ 83005D4 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_083005D8:: @ 83005D8 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_083005DC:: @ 83005DC - .4byte gAnimCmd_General_Frame0 - .4byte gUnknown_082FFDC4 - - .align 2 -gUnknown_083005E4:: @ 83005E4 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_083005E8:: @ 83005E8 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_083005EC:: @ 83005EC - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_083005F0:: @ 83005F0 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_083005F4:: @ 83005F4 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_083005F8:: @ 83005F8 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_083005FC:: @ 83005FC - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08300600:: @ 8300600 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08300604:: @ 8300604 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08300608:: @ 8300608 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_0830060C:: @ 830060C - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08300610:: @ 8300610 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08300614:: @ 8300614 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08300618:: @ 8300618 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_0830061C:: @ 830061C - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08300620:: @ 8300620 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08300624:: @ 8300624 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08300628:: @ 8300628 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_0830062C:: @ 830062C - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08300630:: @ 8300630 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08300634:: @ 8300634 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08300638:: @ 8300638 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_0830063C:: @ 830063C - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08300640:: @ 8300640 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08300644:: @ 8300644 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08300648:: @ 8300648 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_0830064C:: @ 830064C - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08300650:: @ 8300650 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08300654:: @ 8300654 - .4byte gAnimCmd_General_Frame0 - - .4byte gUnknown_082FFDCC - .4byte gUnknown_082FFDD0 - .4byte gUnknown_082FFDD4 - .4byte gUnknown_082FFDD8 - .4byte gUnknown_082FFDDC - .4byte gUnknown_082FFDE0 - .4byte gUnknown_082FFDE4 - .4byte gUnknown_082FFDE8 - .4byte gUnknown_082FFDEC - .4byte gUnknown_082FFDF0 - .4byte gUnknown_082FFDF4 - .4byte gUnknown_082FFDF8 - .4byte gUnknown_082FFDFC - .4byte gUnknown_082FFE00 - .4byte gUnknown_082FFE04 - .4byte gUnknown_082FFE08 - .4byte gUnknown_082FFE0C - .4byte gUnknown_082FFE10 - .4byte gUnknown_082FFE14 - .4byte gUnknown_082FFE18 - .4byte gUnknown_082FFE1C - .4byte gUnknown_082FFE20 - .4byte gUnknown_082FFE24 - .4byte gUnknown_082FFE28 - .4byte gUnknown_082FFE2C - .4byte gUnknown_082FFE30 - .4byte gUnknown_082FFE34 - .4byte gUnknown_082FFE38 - .4byte gUnknown_082FFE3C - .4byte gUnknown_082FFE40 - .4byte gUnknown_082FFE44 - .4byte gUnknown_082FFE48 - .4byte gUnknown_082FFE4C - .4byte gUnknown_082FFE50 - .4byte gUnknown_082FFE54 - .4byte gUnknown_082FFE58 - .4byte gUnknown_082FFE5C - .4byte gUnknown_082FFE60 - .4byte gUnknown_082FFE64 - .4byte gUnknown_082FFE68 - .4byte gUnknown_082FFE6C - .4byte gUnknown_082FFE70 - .4byte gUnknown_082FFE74 - .4byte gUnknown_082FFE78 - .4byte gUnknown_082FFE7C - .4byte gUnknown_082FFE80 - .4byte gUnknown_082FFE84 - .4byte gUnknown_082FFE88 - .4byte gUnknown_082FFE8C - .4byte gUnknown_082FFE90 - .4byte gUnknown_082FFE94 - .4byte gUnknown_082FFE98 - .4byte gUnknown_082FFE9C - .4byte gUnknown_082FFEA0 - .4byte gUnknown_082FFEA4 - .4byte gUnknown_082FFEA8 - .4byte gUnknown_082FFEAC - .4byte gUnknown_082FFEB0 - .4byte gUnknown_082FFEB4 - .4byte gUnknown_082FFEB8 - .4byte gUnknown_082FFEBC - .4byte gUnknown_082FFEC0 - .4byte gUnknown_082FFEC4 - .4byte gUnknown_082FFEC8 - .4byte gUnknown_082FFECC - .4byte gUnknown_082FFED0 - .4byte gUnknown_082FFED4 - .4byte gUnknown_082FFED8 - .4byte gUnknown_082FFEDC - .4byte gUnknown_082FFEE0 - .4byte gUnknown_082FFEE4 - .4byte gUnknown_082FFEE8 - .4byte gUnknown_082FFEEC - .4byte gUnknown_082FFEF0 - .4byte gUnknown_082FFEF4 - .4byte gUnknown_082FFEF8 - .4byte gUnknown_082FFEFC - .4byte gUnknown_082FFF00 - .4byte gUnknown_082FFF04 - .4byte gUnknown_082FFF08 - .4byte gUnknown_082FFF0C - .4byte gUnknown_082FFF10 - .4byte gUnknown_082FFF14 - .4byte gUnknown_082FFF18 - .4byte gUnknown_082FFF1C - .4byte gUnknown_082FFF20 - .4byte gUnknown_082FFF24 - .4byte gUnknown_082FFF28 - .4byte gUnknown_082FFF2C - .4byte gUnknown_082FFF30 - .4byte gUnknown_082FFF34 - .4byte gUnknown_082FFF38 - .4byte gUnknown_082FFF3C - .4byte gUnknown_082FFF40 - .4byte gUnknown_082FFF44 - .4byte gUnknown_082FFF48 - .4byte gUnknown_082FFF4C - .4byte gUnknown_082FFF50 - .4byte gUnknown_082FFF54 - .4byte gUnknown_082FFF58 - .4byte gUnknown_082FFF5C - .4byte gUnknown_082FFF60 - .4byte gUnknown_082FFF64 - .4byte gUnknown_082FFF68 - .4byte gUnknown_082FFF6C - .4byte gUnknown_082FFF70 - .4byte gUnknown_082FFF74 - .4byte gUnknown_082FFF78 - .4byte gUnknown_082FFF7C - .4byte gUnknown_082FFF80 - .4byte gUnknown_082FFF84 - .4byte gUnknown_082FFF88 - .4byte gUnknown_082FFF8C - .4byte gUnknown_082FFF90 - .4byte gUnknown_082FFF94 - .4byte gUnknown_082FFF98 - .4byte gUnknown_082FFF9C - .4byte gUnknown_082FFFA0 - .4byte gUnknown_082FFFA4 - .4byte gUnknown_082FFFA8 - .4byte gUnknown_082FFFAC - .4byte gUnknown_082FFFB0 - .4byte gUnknown_082FFFB4 - .4byte gUnknown_082FFFB8 - .4byte gUnknown_082FFFBC - .4byte gUnknown_082FFFC0 - .4byte gUnknown_082FFFC4 - .4byte gUnknown_082FFFC8 - .4byte gUnknown_082FFFCC - .4byte gUnknown_082FFFD0 - .4byte gUnknown_082FFFD4 - .4byte gUnknown_082FFFD8 - .4byte gUnknown_082FFFDC - .4byte gUnknown_082FFFE0 - .4byte gUnknown_082FFFE4 - .4byte gUnknown_082FFFE8 - .4byte gUnknown_082FFFEC - .4byte gUnknown_082FFFF0 - .4byte gUnknown_082FFFF4 - .4byte gUnknown_082FFFF8 - .4byte gUnknown_082FFFFC - .4byte gUnknown_08300000 - .4byte gUnknown_08300004 - .4byte gUnknown_08300008 - .4byte gUnknown_0830000C - .4byte gUnknown_08300010 - .4byte gUnknown_08300014 - .4byte gUnknown_08300018 - .4byte gUnknown_0830001C - .4byte gUnknown_08300020 - .4byte gUnknown_08300024 - .4byte gUnknown_08300028 - .4byte gUnknown_0830002C - .4byte gUnknown_08300030 - .4byte gUnknown_08300034 - .4byte gUnknown_08300038 - .4byte gUnknown_0830003C - .4byte gUnknown_08300040 - .4byte gUnknown_08300044 - .4byte gUnknown_08300048 - .4byte gUnknown_0830004C - .4byte gUnknown_08300050 - .4byte gUnknown_08300054 - .4byte gUnknown_08300058 - .4byte gUnknown_0830005C - .4byte gUnknown_08300060 - .4byte gUnknown_08300064 - .4byte gUnknown_08300068 - .4byte gUnknown_0830006C - .4byte gUnknown_08300070 - .4byte gUnknown_08300074 - .4byte gUnknown_08300078 - .4byte gUnknown_0830007C - .4byte gUnknown_08300080 - .4byte gUnknown_08300084 - .4byte gUnknown_08300088 - .4byte gUnknown_0830008C - .4byte gUnknown_08300090 - .4byte gUnknown_08300094 - .4byte gUnknown_08300098 - .4byte gUnknown_0830009C - .4byte gUnknown_083000A0 - .4byte gUnknown_083000A4 - .4byte gUnknown_083000A8 - .4byte gUnknown_083000AC - .4byte gUnknown_083000B0 - .4byte gUnknown_083000B4 - .4byte gUnknown_083000B8 - .4byte gUnknown_083000BC - .4byte gUnknown_083000C0 - .4byte gUnknown_083000C4 - .4byte gUnknown_083000C8 - .4byte gUnknown_083000CC - .4byte gUnknown_083000D0 - .4byte gUnknown_083000D4 - .4byte gUnknown_083000D8 - .4byte gUnknown_083000DC - .4byte gUnknown_083000E0 - .4byte gUnknown_083000E4 - .4byte gUnknown_083000E8 - .4byte gUnknown_083000EC - .4byte gUnknown_083000F0 - .4byte gUnknown_083000F4 - .4byte gUnknown_083000F8 - .4byte gUnknown_083000FC - .4byte gUnknown_08300100 - .4byte gUnknown_08300104 - .4byte gUnknown_08300108 - .4byte gUnknown_0830010C - .4byte gUnknown_08300110 - .4byte gUnknown_08300114 - .4byte gUnknown_08300118 - .4byte gUnknown_0830011C - .4byte gUnknown_08300120 - .4byte gUnknown_08300124 - .4byte gUnknown_08300128 - .4byte gUnknown_0830012C - .4byte gUnknown_08300130 - .4byte gUnknown_08300134 - .4byte gUnknown_08300138 - .4byte gUnknown_0830013C - .4byte gUnknown_08300140 - .4byte gUnknown_08300144 - .4byte gUnknown_08300148 - .4byte gUnknown_0830014C - .4byte gUnknown_08300150 - .4byte gUnknown_08300154 - .4byte gUnknown_08300158 - .4byte gUnknown_0830015C - .4byte gUnknown_08300160 - .4byte gUnknown_08300164 - .4byte gUnknown_08300168 - .4byte gUnknown_0830016C - .4byte gUnknown_08300170 - .4byte gUnknown_08300174 - .4byte gUnknown_08300178 - .4byte gUnknown_0830017C - .4byte gUnknown_08300180 - .4byte gUnknown_08300184 - .4byte gUnknown_08300188 - .4byte gUnknown_0830018C - .4byte gUnknown_08300190 - .4byte gUnknown_08300194 - .4byte gUnknown_08300198 - .4byte gUnknown_0830019C - .4byte gUnknown_083001A0 - .4byte gUnknown_083001A4 - .4byte gUnknown_083001A8 - .4byte gUnknown_083001AC - .4byte gUnknown_083001B0 - .4byte gUnknown_083001B4 - .4byte gUnknown_083001B8 - .4byte gUnknown_083001BC - .4byte gUnknown_083001BC - .4byte gUnknown_083001BC - .4byte gUnknown_083001BC - .4byte gUnknown_083001BC - .4byte gUnknown_083001BC - .4byte gUnknown_083001BC - .4byte gUnknown_083001BC - .4byte gUnknown_083001BC - .4byte gUnknown_083001BC - .4byte gUnknown_083001BC - .4byte gUnknown_083001BC - .4byte gUnknown_083001BC - .4byte gUnknown_083001BC - .4byte gUnknown_083001BC - .4byte gUnknown_083001BC - .4byte gUnknown_083001BC - .4byte gUnknown_083001BC - .4byte gUnknown_083001BC - .4byte gUnknown_083001BC - .4byte gUnknown_083001BC - .4byte gUnknown_083001BC - .4byte gUnknown_083001BC - .4byte gUnknown_083001BC - .4byte gUnknown_083001BC - .4byte gUnknown_083001C0 - .4byte gUnknown_083001C4 - .4byte gUnknown_083001C8 - .4byte gUnknown_083001CC - .4byte gUnknown_083001D0 - .4byte gUnknown_083001D4 - .4byte gUnknown_083001E8 - .4byte gUnknown_083001EC - .4byte gUnknown_083001FC - .4byte gUnknown_08300200 - .4byte gUnknown_0830020C - .4byte gUnknown_08300214 - .4byte gUnknown_0830021C - .4byte gUnknown_08300224 - .4byte gUnknown_08300230 - .4byte gUnknown_0830023C - .4byte gUnknown_08300248 - .4byte gUnknown_08300254 - .4byte gUnknown_08300260 - .4byte gUnknown_08300264 - .4byte gUnknown_0830026C - .4byte gUnknown_08300278 - .4byte gUnknown_08300280 - .4byte gUnknown_08300288 - .4byte gUnknown_08300294 - .4byte gUnknown_08300298 - .4byte gUnknown_0830029C - .4byte gUnknown_083002A0 - .4byte gUnknown_083002A8 - .4byte gUnknown_083002B0 - .4byte gUnknown_083002B8 - .4byte gUnknown_083002C0 - .4byte gUnknown_083002C4 - .4byte gUnknown_083002CC - .4byte gUnknown_083002D8 - .4byte gUnknown_083002E4 - .4byte gUnknown_083002F0 - .4byte gUnknown_08300304 - .4byte gUnknown_08300308 - .4byte gUnknown_08300310 - .4byte gUnknown_08300318 - .4byte gUnknown_0830032C - .4byte gUnknown_08300334 - .4byte gUnknown_0830033C - .4byte gUnknown_08300344 - .4byte gUnknown_08300348 - .4byte gUnknown_08300354 - .4byte gUnknown_08300358 - .4byte gUnknown_0830035C - .4byte gUnknown_08300368 - .4byte gUnknown_0830036C - .4byte gUnknown_08300370 - .4byte gUnknown_0830037C - .4byte gUnknown_08300388 - .4byte gUnknown_08300394 - .4byte gUnknown_083003A0 - .4byte gUnknown_083003A8 - .4byte gUnknown_083003B0 - .4byte gUnknown_083003B8 - .4byte gUnknown_083003C0 - .4byte gUnknown_083003C8 - .4byte gUnknown_083003D4 - .4byte gUnknown_083003DC - .4byte gUnknown_083003E8 - .4byte gUnknown_083003F0 - .4byte gUnknown_083003F8 - .4byte gUnknown_08300400 - .4byte gUnknown_0830040C - .4byte gUnknown_08300410 - .4byte gUnknown_08300414 - .4byte gUnknown_08300418 - .4byte gUnknown_0830041C - .4byte gUnknown_08300420 - .4byte gUnknown_08300424 - .4byte gUnknown_08300438 - .4byte gUnknown_08300444 - .4byte gUnknown_0830044C - .4byte gUnknown_08300454 - .4byte gUnknown_0830045C - .4byte gUnknown_08300464 - .4byte gUnknown_0830046C - .4byte gUnknown_08300474 - .4byte gUnknown_08300480 - .4byte gUnknown_08300488 - .4byte gUnknown_08300494 - .4byte gUnknown_083004A0 - .4byte gUnknown_083004AC - .4byte gUnknown_083004B0 - .4byte gUnknown_083004B8 - .4byte gUnknown_083004C0 - .4byte gUnknown_083004C8 - .4byte gUnknown_083004D0 - .4byte gUnknown_083004D8 - .4byte gUnknown_083004E0 - .4byte gUnknown_083004E4 - .4byte gUnknown_083004E8 - .4byte gUnknown_083004EC - .4byte gUnknown_083004F4 - .4byte gUnknown_083004F8 - .4byte gUnknown_083004FC - .4byte gUnknown_08300504 - .4byte gUnknown_08300510 - .4byte gUnknown_08300518 - .4byte gUnknown_0830051C - .4byte gUnknown_08300520 - .4byte gUnknown_08300524 - .4byte gUnknown_0830052C - .4byte gUnknown_08300534 - .4byte gUnknown_0830053C - .4byte gUnknown_08300550 - .4byte gUnknown_08300558 - .4byte gUnknown_08300560 - .4byte gUnknown_08300564 - .4byte gUnknown_08300568 - .4byte gUnknown_0830056C - .4byte gUnknown_08300570 - .4byte gUnknown_08300574 - .4byte gUnknown_08300578 - .4byte gUnknown_0830057C - .4byte gUnknown_08300588 - .4byte gUnknown_0830058C - .4byte gUnknown_08300598 - .4byte gUnknown_0830059C - .4byte gUnknown_083005A0 - .4byte gUnknown_083005A4 - .4byte gUnknown_083005AC - .4byte gUnknown_083005B4 - .4byte gUnknown_083005C0 - .4byte gUnknown_083005C4 - .4byte gUnknown_083005C8 - .4byte gUnknown_083005D4 - .4byte gUnknown_083005D8 - .4byte gUnknown_083005DC - .4byte gUnknown_083005E4 - .4byte gUnknown_083005E8 - .4byte gUnknown_083005EC - .4byte gUnknown_083005EC - .4byte gUnknown_083005F0 - .4byte gUnknown_083005F4 - .4byte gUnknown_083005F8 - .4byte gUnknown_083005FC - .4byte gUnknown_08300600 - .4byte gUnknown_08300604 - .4byte gUnknown_08300608 - .4byte gUnknown_0830060C - .4byte gUnknown_08300610 - .4byte gUnknown_08300614 - .4byte gUnknown_08300618 - .4byte gUnknown_0830061C - .4byte gUnknown_08300620 - .4byte gUnknown_08300624 - .4byte gUnknown_08300628 - .4byte gUnknown_0830062C - .4byte gUnknown_08300630 - .4byte gUnknown_08300634 - .4byte gUnknown_08300638 - .4byte gUnknown_0830063C - .4byte gUnknown_08300640 - .4byte gUnknown_08300644 - .4byte gUnknown_08300648 - .4byte gUnknown_0830064C - .4byte gUnknown_08300650 - .4byte gUnknown_08300654 - - .align 2 -gMonFrontPicCoords:: @ 8300D38 - .byte 0x88, 0x00, 0x00, 0x00 - .byte 0x45, 0x0e, 0x00, 0x00 - .byte 0x56, 0x0a, 0x00, 0x00 - .byte 0x88, 0x03, 0x00, 0x00 - .byte 0x55, 0x0c, 0x00, 0x00 - .byte 0x66, 0x09, 0x00, 0x00 - .byte 0x88, 0x01, 0x00, 0x00 - .byte 0x65, 0x0d, 0x00, 0x00 - .byte 0x66, 0x08, 0x00, 0x00 - .byte 0x88, 0x00, 0x00, 0x00 - .byte 0x45, 0x10, 0x00, 0x00 - .byte 0x54, 0x14, 0x00, 0x00 - .byte 0x76, 0x09, 0x00, 0x00 - .byte 0x54, 0x12, 0x00, 0x00 - .byte 0x45, 0x0e, 0x00, 0x00 - .byte 0x86, 0x09, 0x00, 0x00 - .byte 0x65, 0x0d, 0x00, 0x00 - .byte 0x67, 0x0b, 0x00, 0x00 - .byte 0x88, 0x01, 0x00, 0x00 - .byte 0x44, 0x10, 0x00, 0x00 - .byte 0x66, 0x0b, 0x00, 0x00 - .byte 0x45, 0x0f, 0x00, 0x00 - .byte 0x78, 0x00, 0x00, 0x00 - .byte 0x65, 0x0c, 0x00, 0x00 - .byte 0x88, 0x02, 0x00, 0x00 - .byte 0x67, 0x09, 0x00, 0x00 - .byte 0x67, 0x04, 0x00, 0x00 - .byte 0x55, 0x0e, 0x00, 0x00 - .byte 0x76, 0x09, 0x00, 0x00 - .byte 0x45, 0x0f, 0x00, 0x00 - .byte 0x66, 0x0b, 0x00, 0x00 - .byte 0x78, 0x03, 0x00, 0x00 - .byte 0x55, 0x0c, 0x00, 0x00 - .byte 0x66, 0x09, 0x00, 0x00 - .byte 0x78, 0x02, 0x00, 0x00 - .byte 0x55, 0x10, 0x00, 0x00 - .byte 0x66, 0x08, 0x00, 0x00 - .byte 0x65, 0x0c, 0x00, 0x00 - .byte 0x88, 0x03, 0x00, 0x00 - .byte 0x45, 0x10, 0x00, 0x00 - .byte 0x67, 0x08, 0x00, 0x00 - .byte 0x67, 0x06, 0x00, 0x00 - .byte 0x88, 0x03, 0x00, 0x00 - .byte 0x45, 0x0f, 0x00, 0x00 - .byte 0x66, 0x0a, 0x00, 0x00 - .byte 0x77, 0x06, 0x00, 0x00 - .byte 0x55, 0x0f, 0x00, 0x00 - .byte 0x86, 0x08, 0x00, 0x00 - .byte 0x66, 0x08, 0x00, 0x00 - .byte 0x88, 0x02, 0x00, 0x00 - .byte 0x54, 0x12, 0x00, 0x00 - .byte 0x75, 0x0d, 0x00, 0x00 - .byte 0x55, 0x0c, 0x00, 0x00 - .byte 0x77, 0x07, 0x00, 0x00 - .byte 0x56, 0x09, 0x00, 0x00 - .byte 0x78, 0x02, 0x00, 0x00 - .byte 0x65, 0x0e, 0x00, 0x00 - .byte 0x77, 0x07, 0x00, 0x00 - .byte 0x66, 0x0b, 0x00, 0x00 - .byte 0x88, 0x02, 0x00, 0x00 - .byte 0x74, 0x13, 0x00, 0x00 - .byte 0x76, 0x0a, 0x00, 0x00 - .byte 0x76, 0x08, 0x00, 0x00 - .byte 0x66, 0x0b, 0x00, 0x00 - .byte 0x77, 0x05, 0x00, 0x00 - .byte 0x87, 0x04, 0x00, 0x00 - .byte 0x56, 0x0b, 0x00, 0x00 - .byte 0x67, 0x06, 0x00, 0x00 - .byte 0x88, 0x01, 0x00, 0x00 - .byte 0x65, 0x0f, 0x00, 0x00 - .byte 0x66, 0x0b, 0x00, 0x00 - .byte 0x77, 0x05, 0x00, 0x00 - .byte 0x46, 0x09, 0x00, 0x00 - .byte 0x87, 0x04, 0x00, 0x00 - .byte 0x54, 0x12, 0x00, 0x00 - .byte 0x87, 0x04, 0x00, 0x00 - .byte 0x77, 0x05, 0x00, 0x00 - .byte 0x66, 0x08, 0x00, 0x00 - .byte 0x88, 0x01, 0x00, 0x00 - .byte 0x66, 0x0b, 0x00, 0x00 - .byte 0x86, 0x08, 0x00, 0x00 - .byte 0x43, 0x15, 0x00, 0x00 - .byte 0x76, 0x08, 0x00, 0x00 - .byte 0x66, 0x09, 0x00, 0x00 - .byte 0x57, 0x05, 0x00, 0x00 - .byte 0x88, 0x00, 0x00, 0x00 - .byte 0x76, 0x0a, 0x00, 0x00 - .byte 0x87, 0x07, 0x00, 0x00 - .byte 0x65, 0x0c, 0x00, 0x00 - .byte 0x87, 0x04, 0x00, 0x00 - .byte 0x55, 0x10, 0x00, 0x00 - .byte 0x87, 0x05, 0x00, 0x00 - .byte 0x77, 0x06, 0x00, 0x00 - .byte 0x77, 0x05, 0x00, 0x00 - .byte 0x77, 0x05, 0x00, 0x00 - .byte 0x78, 0x02, 0x00, 0x00 - .byte 0x77, 0x07, 0x00, 0x00 - .byte 0x77, 0x04, 0x00, 0x00 - .byte 0x65, 0x0d, 0x00, 0x00 - .byte 0x88, 0x03, 0x00, 0x00 - .byte 0x44, 0x13, 0x00, 0x00 - .byte 0x55, 0x0e, 0x00, 0x00 - .byte 0x87, 0x07, 0x00, 0x00 - .byte 0x88, 0x00, 0x00, 0x00 - .byte 0x55, 0x0f, 0x00, 0x00 - .byte 0x76, 0x0b, 0x00, 0x00 - .byte 0x87, 0x04, 0x00, 0x00 - .byte 0x67, 0x04, 0x00, 0x00 - .byte 0x86, 0x08, 0x00, 0x00 - .byte 0x66, 0x08, 0x00, 0x00 - .byte 0x88, 0x02, 0x00, 0x00 - .byte 0x76, 0x09, 0x00, 0x00 - .byte 0x88, 0x02, 0x00, 0x00 - .byte 0x76, 0x09, 0x00, 0x00 - .byte 0x67, 0x07, 0x00, 0x00 - .byte 0x88, 0x00, 0x00, 0x00 - .byte 0x45, 0x0f, 0x00, 0x00 - .byte 0x67, 0x07, 0x00, 0x00 - .byte 0x66, 0x0a, 0x00, 0x00 - .byte 0x77, 0x04, 0x00, 0x00 - .byte 0x66, 0x0a, 0x00, 0x00 - .byte 0x77, 0x06, 0x00, 0x00 - .byte 0x66, 0x08, 0x00, 0x00 - .byte 0x88, 0x00, 0x00, 0x00 - .byte 0x77, 0x04, 0x00, 0x00 - .byte 0x78, 0x02, 0x00, 0x00 - .byte 0x77, 0x04, 0x00, 0x00 - .byte 0x77, 0x04, 0x00, 0x00 - .byte 0x78, 0x00, 0x00, 0x00 - .byte 0x67, 0x06, 0x00, 0x00 - .byte 0x88, 0x08, 0x00, 0x00 - .byte 0x85, 0x0d, 0x00, 0x00 - .byte 0x54, 0x11, 0x00, 0x00 - .byte 0x56, 0x09, 0x00, 0x00 - .byte 0x67, 0x06, 0x00, 0x00 - .byte 0x76, 0x09, 0x00, 0x00 - .byte 0x66, 0x0a, 0x00, 0x00 - .byte 0x55, 0x0d, 0x00, 0x00 - .byte 0x45, 0x0f, 0x00, 0x00 - .byte 0x67, 0x07, 0x00, 0x00 - .byte 0x54, 0x11, 0x00, 0x00 - .byte 0x88, 0x03, 0x00, 0x00 - .byte 0x88, 0x01, 0x00, 0x00 - .byte 0x87, 0x05, 0x00, 0x00 - .byte 0x88, 0x03, 0x00, 0x00 - .byte 0x87, 0x04, 0x00, 0x00 - .byte 0x88, 0x00, 0x00, 0x00 - .byte 0x75, 0x0e, 0x00, 0x00 - .byte 0x87, 0x06, 0x00, 0x00 - .byte 0x88, 0x00, 0x00, 0x00 - .byte 0x88, 0x00, 0x00, 0x00 - .byte 0x55, 0x0d, 0x00, 0x00 - .byte 0x75, 0x0d, 0x00, 0x00 - .byte 0x77, 0x04, 0x00, 0x00 - .byte 0x88, 0x00, 0x00, 0x00 - .byte 0x55, 0x0e, 0x00, 0x00 - .byte 0x76, 0x08, 0x00, 0x00 - .byte 0x78, 0x00, 0x00, 0x00 - .byte 0x55, 0x0f, 0x00, 0x00 - .byte 0x67, 0x06, 0x00, 0x00 - .byte 0x88, 0x00, 0x00, 0x00 - .byte 0x47, 0x04, 0x00, 0x00 - .byte 0x67, 0x07, 0x00, 0x00 - .byte 0x55, 0x0d, 0x00, 0x00 - .byte 0x58, 0x03, 0x00, 0x00 - .byte 0x56, 0x0c, 0x00, 0x00 - .byte 0x67, 0x04, 0x00, 0x00 - .byte 0x54, 0x13, 0x00, 0x00 - .byte 0x87, 0x05, 0x00, 0x00 - .byte 0x88, 0x00, 0x00, 0x00 - .byte 0x75, 0x10, 0x00, 0x00 - .byte 0x87, 0x0b, 0x00, 0x00 - .byte 0x45, 0x0c, 0x00, 0x00 - .byte 0x44, 0x14, 0x00, 0x00 - .byte 0x44, 0x12, 0x00, 0x00 - .byte 0x34, 0x14, 0x00, 0x00 - .byte 0x46, 0x09, 0x00, 0x00 - .byte 0x44, 0x14, 0x00, 0x00 - .byte 0x47, 0x07, 0x00, 0x00 - .byte 0x55, 0x10, 0x00, 0x00 - .byte 0x56, 0x0a, 0x00, 0x00 - .byte 0x77, 0x05, 0x00, 0x00 - .byte 0x45, 0x0e, 0x00, 0x00 - .byte 0x65, 0x0e, 0x00, 0x00 - .byte 0x76, 0x09, 0x00, 0x00 - .byte 0x67, 0x06, 0x00, 0x00 - .byte 0x67, 0x06, 0x00, 0x00 - .byte 0x66, 0x0a, 0x00, 0x00 - .byte 0x55, 0x0f, 0x00, 0x00 - .byte 0x77, 0x07, 0x00, 0x00 - .byte 0x58, 0x03, 0x00, 0x00 - .byte 0x44, 0x10, 0x00, 0x00 - .byte 0x56, 0x08, 0x00, 0x00 - .byte 0x86, 0x0a, 0x00, 0x00 - .byte 0x54, 0x10, 0x00, 0x00 - .byte 0x77, 0x07, 0x00, 0x00 - .byte 0x66, 0x08, 0x00, 0x00 - .byte 0x67, 0x08, 0x00, 0x00 - .byte 0x66, 0x0b, 0x00, 0x00 - .byte 0x58, 0x01, 0x00, 0x00 - .byte 0x55, 0x0c, 0x00, 0x00 - .byte 0x35, 0x0f, 0x00, 0x00 - .byte 0x77, 0x06, 0x00, 0x00 - .byte 0x88, 0x03, 0x00, 0x00 - .byte 0x56, 0x0a, 0x00, 0x00 - .byte 0x76, 0x09, 0x00, 0x00 - .byte 0x74, 0x11, 0x00, 0x00 - .byte 0x78, 0x03, 0x00, 0x00 - .byte 0x88, 0x00, 0x00, 0x00 - .byte 0x55, 0x0d, 0x00, 0x00 - .byte 0x57, 0x06, 0x00, 0x00 - .byte 0x56, 0x0a, 0x00, 0x00 - .byte 0x88, 0x00, 0x00, 0x00 - .byte 0x66, 0x09, 0x00, 0x00 - .byte 0x88, 0x03, 0x00, 0x00 - .byte 0x67, 0x05, 0x00, 0x00 - .byte 0x45, 0x0d, 0x00, 0x00 - .byte 0x78, 0x01, 0x00, 0x00 - .byte 0x45, 0x0d, 0x00, 0x00 - .byte 0x57, 0x0d, 0x00, 0x00 - .byte 0x43, 0x14, 0x00, 0x00 - .byte 0x66, 0x08, 0x00, 0x00 - .byte 0x65, 0x0c, 0x00, 0x00 - .byte 0x55, 0x0e, 0x00, 0x00 - .byte 0x66, 0x0a, 0x00, 0x00 - .byte 0x56, 0x08, 0x00, 0x00 - .byte 0x88, 0x01, 0x00, 0x00 - .byte 0x88, 0x00, 0x00, 0x00 - .byte 0x56, 0x0b, 0x00, 0x00 - .byte 0x77, 0x05, 0x00, 0x00 - .byte 0x78, 0x04, 0x00, 0x00 - .byte 0x54, 0x10, 0x00, 0x00 - .byte 0x86, 0x08, 0x00, 0x00 - .byte 0x55, 0x0f, 0x00, 0x00 - .byte 0x88, 0x00, 0x00, 0x00 - .byte 0x77, 0x06, 0x00, 0x00 - .byte 0x46, 0x09, 0x00, 0x00 - .byte 0x67, 0x05, 0x00, 0x00 - .byte 0x35, 0x0f, 0x00, 0x00 - .byte 0x76, 0x0a, 0x00, 0x00 - .byte 0x45, 0x0d, 0x00, 0x00 - .byte 0x77, 0x04, 0x00, 0x00 - .byte 0x77, 0x06, 0x00, 0x00 - .byte 0x88, 0x00, 0x00, 0x00 - .byte 0x88, 0x00, 0x00, 0x00 - .byte 0x88, 0x00, 0x00, 0x00 - .byte 0x46, 0x09, 0x00, 0x00 - .byte 0x56, 0x09, 0x00, 0x00 - .byte 0x88, 0x00, 0x00, 0x00 - .byte 0x88, 0x00, 0x00, 0x00 - .byte 0x88, 0x00, 0x00, 0x00 - .byte 0x55, 0x0e, 0x00, 0x00 - .byte 0x87, 0x04, 0x00, 0x00 - .byte 0x87, 0x04, 0x00, 0x00 - .byte 0x87, 0x04, 0x00, 0x00 - .byte 0x87, 0x04, 0x00, 0x00 - .byte 0x87, 0x04, 0x00, 0x00 - .byte 0x87, 0x04, 0x00, 0x00 - .byte 0x87, 0x04, 0x00, 0x00 - .byte 0x87, 0x04, 0x00, 0x00 - .byte 0x87, 0x04, 0x00, 0x00 - .byte 0x87, 0x04, 0x00, 0x00 - .byte 0x87, 0x04, 0x00, 0x00 - .byte 0x87, 0x04, 0x00, 0x00 - .byte 0x87, 0x04, 0x00, 0x00 - .byte 0x87, 0x04, 0x00, 0x00 - .byte 0x87, 0x04, 0x00, 0x00 - .byte 0x87, 0x04, 0x00, 0x00 - .byte 0x87, 0x04, 0x00, 0x00 - .byte 0x87, 0x04, 0x00, 0x00 - .byte 0x87, 0x04, 0x00, 0x00 - .byte 0x87, 0x04, 0x00, 0x00 - .byte 0x87, 0x04, 0x00, 0x00 - .byte 0x87, 0x04, 0x00, 0x00 - .byte 0x87, 0x04, 0x00, 0x00 - .byte 0x87, 0x04, 0x00, 0x00 - .byte 0x87, 0x04, 0x00, 0x00 - .byte 0x66, 0x08, 0x00, 0x00 - .byte 0x87, 0x04, 0x00, 0x00 - .byte 0x88, 0x00, 0x00, 0x00 - .byte 0x56, 0x08, 0x00, 0x00 - .byte 0x88, 0x01, 0x00, 0x00 - .byte 0x88, 0x00, 0x00, 0x00 - .byte 0x56, 0x0c, 0x00, 0x00 - .byte 0x67, 0x06, 0x00, 0x00 - .byte 0x88, 0x00, 0x00, 0x00 - .byte 0x55, 0x0c, 0x00, 0x00 - .byte 0x87, 0x04, 0x00, 0x00 - .byte 0x85, 0x0f, 0x00, 0x00 - .byte 0x78, 0x03, 0x00, 0x00 - .byte 0x45, 0x0e, 0x00, 0x00 - .byte 0x75, 0x11, 0x00, 0x00 - .byte 0x86, 0x09, 0x00, 0x00 - .byte 0x74, 0x10, 0x00, 0x00 - .byte 0x86, 0x0f, 0x00, 0x00 - .byte 0x65, 0x0e, 0x00, 0x00 - .byte 0x66, 0x09, 0x00, 0x00 - .byte 0x88, 0x00, 0x00, 0x00 - .byte 0x46, 0x10, 0x00, 0x00 - .byte 0x56, 0x08, 0x00, 0x00 - .byte 0x88, 0x02, 0x00, 0x00 - .byte 0x74, 0x12, 0x00, 0x00 - .byte 0x86, 0x0a, 0x00, 0x00 - .byte 0x66, 0x0a, 0x00, 0x00 - .byte 0x64, 0x10, 0x00, 0x00 - .byte 0x87, 0x06, 0x00, 0x00 - .byte 0x54, 0x10, 0x00, 0x00 - .byte 0x77, 0x04, 0x00, 0x00 - .byte 0x68, 0x08, 0x00, 0x00 - .byte 0x84, 0x18, 0x00, 0x00 - .byte 0x77, 0x04, 0x00, 0x00 - .byte 0x65, 0x0f, 0x00, 0x00 - .byte 0x88, 0x01, 0x00, 0x00 - .byte 0x75, 0x0f, 0x00, 0x00 - .byte 0x87, 0x0a, 0x00, 0x00 - .byte 0x66, 0x0b, 0x00, 0x00 - .byte 0x66, 0x08, 0x00, 0x00 - .byte 0x67, 0x07, 0x00, 0x00 - .byte 0x55, 0x10, 0x00, 0x00 - .byte 0x78, 0x06, 0x00, 0x00 - .byte 0x56, 0x0c, 0x00, 0x00 - .byte 0x88, 0x02, 0x00, 0x00 - .byte 0x66, 0x09, 0x00, 0x00 - .byte 0x46, 0x0b, 0x00, 0x00 - .byte 0x76, 0x09, 0x00, 0x00 - .byte 0x46, 0x18, 0x00, 0x00 - .byte 0x66, 0x0c, 0x00, 0x00 - .byte 0x88, 0x01, 0x00, 0x00 - .byte 0x46, 0x0d, 0x00, 0x00 - .byte 0x88, 0x00, 0x00, 0x00 - .byte 0x67, 0x06, 0x00, 0x00 - .byte 0x78, 0x03, 0x00, 0x00 - .byte 0x54, 0x10, 0x00, 0x00 - .byte 0x86, 0x0c, 0x00, 0x00 - .byte 0x88, 0x01, 0x00, 0x00 - .byte 0x65, 0x0c, 0x00, 0x00 - .byte 0x88, 0x01, 0x00, 0x00 - .byte 0x64, 0x12, 0x00, 0x00 - .byte 0x67, 0x04, 0x00, 0x00 - .byte 0x65, 0x0f, 0x00, 0x00 - .byte 0x87, 0x09, 0x00, 0x00 - .byte 0x65, 0x10, 0x00, 0x00 - .byte 0x86, 0x0a, 0x00, 0x00 - .byte 0x88, 0x01, 0x00, 0x00 - .byte 0x74, 0x10, 0x00, 0x00 - .byte 0x88, 0x00, 0x00, 0x00 - .byte 0x56, 0x0b, 0x00, 0x00 - .byte 0x76, 0x0a, 0x00, 0x00 - .byte 0x66, 0x09, 0x00, 0x00 - .byte 0x88, 0x01, 0x00, 0x00 - .byte 0x55, 0x0f, 0x00, 0x00 - .byte 0x46, 0x09, 0x00, 0x00 - .byte 0x77, 0x05, 0x00, 0x00 - .byte 0x56, 0x0e, 0x00, 0x00 - .byte 0x66, 0x0c, 0x00, 0x00 - .byte 0x76, 0x08, 0x00, 0x00 - .byte 0x65, 0x0c, 0x00, 0x00 - .byte 0x68, 0x01, 0x00, 0x00 - .byte 0x76, 0x11, 0x00, 0x00 - .byte 0x88, 0x02, 0x00, 0x00 - .byte 0x55, 0x0c, 0x00, 0x00 - .byte 0x66, 0x0a, 0x00, 0x00 - .byte 0x77, 0x05, 0x00, 0x00 - .byte 0x76, 0x08, 0x00, 0x00 - .byte 0x74, 0x12, 0x00, 0x00 - .byte 0x78, 0x00, 0x00, 0x00 - .byte 0x86, 0x08, 0x00, 0x00 - .byte 0x55, 0x12, 0x00, 0x00 - .byte 0x66, 0x08, 0x00, 0x00 - .byte 0x88, 0x00, 0x00, 0x00 - .byte 0x55, 0x0e, 0x00, 0x00 - .byte 0x78, 0x03, 0x00, 0x00 - .byte 0x88, 0x01, 0x00, 0x00 - .byte 0x55, 0x0e, 0x00, 0x00 - .byte 0x78, 0x03, 0x00, 0x00 - .byte 0x86, 0x0b, 0x00, 0x00 - .byte 0x68, 0x00, 0x00, 0x00 - .byte 0x56, 0x0e, 0x00, 0x00 - .byte 0x55, 0x0c, 0x00, 0x00 - .byte 0x77, 0x08, 0x00, 0x00 - .byte 0x87, 0x05, 0x00, 0x00 - .byte 0x77, 0x0b, 0x00, 0x00 - .byte 0x43, 0x14, 0x00, 0x00 - .byte 0x75, 0x0d, 0x00, 0x00 - .byte 0x88, 0x00, 0x00, 0x00 - .byte 0x34, 0x11, 0x00, 0x00 - .byte 0x66, 0x08, 0x00, 0x00 - .byte 0x56, 0x08, 0x00, 0x00 - .byte 0x67, 0x07, 0x00, 0x00 - .byte 0x78, 0x00, 0x00, 0x00 - .byte 0x66, 0x08, 0x00, 0x00 - .byte 0x88, 0x00, 0x00, 0x00 - .byte 0x35, 0x0f, 0x00, 0x00 - .byte 0x47, 0x06, 0x00, 0x00 - .byte 0x78, 0x01, 0x00, 0x00 - .byte 0x56, 0x0b, 0x00, 0x00 - .byte 0x66, 0x09, 0x00, 0x00 - .byte 0x87, 0x04, 0x00, 0x00 - .byte 0x55, 0x0f, 0x00, 0x00 - .byte 0x87, 0x07, 0x00, 0x00 - .byte 0x87, 0x06, 0x00, 0x00 - .byte 0x78, 0x04, 0x00, 0x00 - .byte 0x88, 0x02, 0x00, 0x00 - .byte 0x88, 0x03, 0x00, 0x00 - .byte 0x87, 0x04, 0x00, 0x00 - .byte 0x88, 0x01, 0x00, 0x00 - .byte 0x88, 0x00, 0x00, 0x00 - .byte 0x88, 0x01, 0x00, 0x00 - .byte 0x88, 0x02, 0x00, 0x00 - .byte 0x66, 0x0d, 0x00, 0x00 - .byte 0x88, 0x01, 0x00, 0x00 - .byte 0x37, 0x06, 0x00, 0x00 - .byte 0x33, 0x14, 0x00, 0x00 - .byte 0x34, 0x10, 0x00, 0x00 - .byte 0x44, 0x10, 0x00, 0x00 - .byte 0x44, 0x10, 0x00, 0x00 - .byte 0x44, 0x11, 0x00, 0x00 - .byte 0x44, 0x11, 0x00, 0x00 - .byte 0x35, 0x0e, 0x00, 0x00 - .byte 0x44, 0x10, 0x00, 0x00 - .byte 0x34, 0x10, 0x00, 0x00 - .byte 0x34, 0x11, 0x00, 0x00 - .byte 0x44, 0x11, 0x00, 0x00 - .byte 0x34, 0x13, 0x00, 0x00 - .byte 0x44, 0x13, 0x00, 0x00 - .byte 0x43, 0x14, 0x00, 0x00 - .byte 0x44, 0x10, 0x00, 0x00 - .byte 0x34, 0x13, 0x00, 0x00 - .byte 0x43, 0x15, 0x00, 0x00 - .byte 0x34, 0x13, 0x00, 0x00 - .byte 0x45, 0x0c, 0x00, 0x00 - .byte 0x34, 0x12, 0x00, 0x00 - .byte 0x44, 0x12, 0x00, 0x00 - .byte 0x44, 0x12, 0x00, 0x00 - .byte 0x44, 0x13, 0x00, 0x00 - .byte 0x33, 0x15, 0x00, 0x00 - .byte 0x34, 0x11, 0x00, 0x00 - .byte 0x34, 0x10, 0x00, 0x00 - .byte 0x35, 0x0f, 0x00, 0x00 - .byte 0x35, 0x0d, 0x00, 0x00 - -@ 8301418 - .include "data/graphics/pokemon/still_front_pic_table.inc" - - .align 2 -gUnknown_083021D8:: @ 83021D8 - .byte 0x88, 0x00, 0x00, 0x00 - .byte 0x64, 0x10, 0x00, 0x00 - .byte 0x66, 0x09, 0x00, 0x00 - .byte 0x87, 0x07, 0x00, 0x00 - .byte 0x65, 0x0e, 0x00, 0x00 - .byte 0x66, 0x09, 0x00, 0x00 - .byte 0x87, 0x04, 0x00, 0x00 - .byte 0x65, 0x0e, 0x00, 0x00 - .byte 0x76, 0x0a, 0x00, 0x00 - .byte 0x86, 0x08, 0x00, 0x00 - .byte 0x55, 0x0f, 0x00, 0x00 - .byte 0x65, 0x0c, 0x00, 0x00 - .byte 0x87, 0x06, 0x00, 0x00 - .byte 0x56, 0x0b, 0x00, 0x00 - .byte 0x46, 0x0a, 0x00, 0x00 - .byte 0x86, 0x09, 0x00, 0x00 - .byte 0x66, 0x08, 0x00, 0x00 - .byte 0x85, 0x0c, 0x00, 0x00 - .byte 0x78, 0x02, 0x00, 0x00 - .byte 0x65, 0x0d, 0x00, 0x00 - .byte 0x75, 0x0d, 0x00, 0x00 - .byte 0x65, 0x0c, 0x00, 0x00 - .byte 0x87, 0x05, 0x00, 0x00 - .byte 0x66, 0x09, 0x00, 0x00 - .byte 0x77, 0x04, 0x00, 0x00 - .byte 0x77, 0x07, 0x00, 0x00 - .byte 0x66, 0x08, 0x00, 0x00 - .byte 0x65, 0x0d, 0x00, 0x00 - .byte 0x86, 0x09, 0x00, 0x00 - .byte 0x55, 0x0c, 0x00, 0x00 - .byte 0x86, 0x0a, 0x00, 0x00 - .byte 0x77, 0x06, 0x00, 0x00 - .byte 0x56, 0x08, 0x00, 0x00 - .byte 0x86, 0x09, 0x00, 0x00 - .byte 0x88, 0x03, 0x00, 0x00 - .byte 0x65, 0x0d, 0x00, 0x00 - .byte 0x76, 0x0a, 0x00, 0x00 - .byte 0x76, 0x09, 0x00, 0x00 - .byte 0x77, 0x05, 0x00, 0x00 - .byte 0x65, 0x0d, 0x00, 0x00 - .byte 0x66, 0x08, 0x00, 0x00 - .byte 0x76, 0x0b, 0x00, 0x00 - .byte 0x87, 0x06, 0x00, 0x00 - .byte 0x56, 0x0b, 0x00, 0x00 - .byte 0x66, 0x0a, 0x00, 0x00 - .byte 0x87, 0x07, 0x00, 0x00 - .byte 0x63, 0x14, 0x00, 0x00 - .byte 0x87, 0x07, 0x00, 0x00 - .byte 0x77, 0x06, 0x00, 0x00 - .byte 0x77, 0x04, 0x00, 0x00 - .byte 0x54, 0x10, 0x00, 0x00 - .byte 0x66, 0x0b, 0x00, 0x00 - .byte 0x65, 0x0c, 0x00, 0x00 - .byte 0x87, 0x07, 0x00, 0x00 - .byte 0x67, 0x07, 0x00, 0x00 - .byte 0x77, 0x05, 0x00, 0x00 - .byte 0x76, 0x0b, 0x00, 0x00 - .byte 0x77, 0x07, 0x00, 0x00 - .byte 0x66, 0x08, 0x00, 0x00 - .byte 0x87, 0x06, 0x00, 0x00 - .byte 0x74, 0x10, 0x00, 0x00 - .byte 0x65, 0x0c, 0x00, 0x00 - .byte 0x86, 0x0b, 0x00, 0x00 - .byte 0x66, 0x0b, 0x00, 0x00 - .byte 0x76, 0x08, 0x00, 0x00 - .byte 0x67, 0x05, 0x00, 0x00 - .byte 0x65, 0x0c, 0x00, 0x00 - .byte 0x76, 0x09, 0x00, 0x00 - .byte 0x67, 0x04, 0x00, 0x00 - .byte 0x66, 0x0a, 0x00, 0x00 - .byte 0x66, 0x09, 0x00, 0x00 - .byte 0x87, 0x06, 0x00, 0x00 - .byte 0x56, 0x0a, 0x00, 0x00 - .byte 0x86, 0x0b, 0x00, 0x00 - .byte 0x66, 0x0b, 0x00, 0x00 - .byte 0x75, 0x0c, 0x00, 0x00 - .byte 0x84, 0x10, 0x00, 0x00 - .byte 0x66, 0x09, 0x00, 0x00 - .byte 0x87, 0x05, 0x00, 0x00 - .byte 0x85, 0x0e, 0x00, 0x00 - .byte 0x86, 0x0a, 0x00, 0x00 - .byte 0x43, 0x14, 0x00, 0x00 - .byte 0x66, 0x0a, 0x00, 0x00 - .byte 0x66, 0x0a, 0x00, 0x00 - .byte 0x66, 0x08, 0x00, 0x00 - .byte 0x88, 0x01, 0x00, 0x00 - .byte 0x66, 0x0a, 0x00, 0x00 - .byte 0x77, 0x05, 0x00, 0x00 - .byte 0x75, 0x0c, 0x00, 0x00 - .byte 0x87, 0x05, 0x00, 0x00 - .byte 0x76, 0x0b, 0x00, 0x00 - .byte 0x87, 0x06, 0x00, 0x00 - .byte 0x85, 0x0e, 0x00, 0x00 - .byte 0x76, 0x08, 0x00, 0x00 - .byte 0x76, 0x09, 0x00, 0x00 - .byte 0x78, 0x00, 0x00, 0x00 - .byte 0x65, 0x0d, 0x00, 0x00 - .byte 0x66, 0x09, 0x00, 0x00 - .byte 0x66, 0x0a, 0x00, 0x00 - .byte 0x77, 0x04, 0x00, 0x00 - .byte 0x55, 0x0e, 0x00, 0x00 - .byte 0x65, 0x0d, 0x00, 0x00 - .byte 0x65, 0x0d, 0x00, 0x00 - .byte 0x87, 0x04, 0x00, 0x00 - .byte 0x66, 0x0a, 0x00, 0x00 - .byte 0x66, 0x08, 0x00, 0x00 - .byte 0x65, 0x0c, 0x00, 0x00 - .byte 0x65, 0x0c, 0x00, 0x00 - .byte 0x65, 0x0e, 0x00, 0x00 - .byte 0x66, 0x09, 0x00, 0x00 - .byte 0x77, 0x06, 0x00, 0x00 - .byte 0x85, 0x0c, 0x00, 0x00 - .byte 0x88, 0x03, 0x00, 0x00 - .byte 0x86, 0x0b, 0x00, 0x00 - .byte 0x85, 0x0e, 0x00, 0x00 - .byte 0x77, 0x05, 0x00, 0x00 - .byte 0x66, 0x09, 0x00, 0x00 - .byte 0x66, 0x08, 0x00, 0x00 - .byte 0x66, 0x08, 0x00, 0x00 - .byte 0x76, 0x0b, 0x00, 0x00 - .byte 0x65, 0x0d, 0x00, 0x00 - .byte 0x85, 0x0e, 0x00, 0x00 - .byte 0x85, 0x0d, 0x00, 0x00 - .byte 0x77, 0x07, 0x00, 0x00 - .byte 0x86, 0x0a, 0x00, 0x00 - .byte 0x66, 0x08, 0x00, 0x00 - .byte 0x66, 0x08, 0x00, 0x00 - .byte 0x66, 0x09, 0x00, 0x00 - .byte 0x85, 0x0d, 0x00, 0x00 - .byte 0x76, 0x09, 0x00, 0x00 - .byte 0x78, 0x00, 0x00, 0x00 - .byte 0x77, 0x04, 0x00, 0x00 - .byte 0x54, 0x11, 0x00, 0x00 - .byte 0x66, 0x0a, 0x00, 0x00 - .byte 0x66, 0x0a, 0x00, 0x00 - .byte 0x87, 0x06, 0x00, 0x00 - .byte 0x67, 0x05, 0x00, 0x00 - .byte 0x65, 0x0d, 0x00, 0x00 - .byte 0x66, 0x0a, 0x00, 0x00 - .byte 0x66, 0x08, 0x00, 0x00 - .byte 0x65, 0x0d, 0x00, 0x00 - .byte 0x77, 0x05, 0x00, 0x00 - .byte 0x86, 0x08, 0x00, 0x00 - .byte 0x86, 0x0b, 0x00, 0x00 - .byte 0x65, 0x0c, 0x00, 0x00 - .byte 0x76, 0x0b, 0x00, 0x00 - .byte 0x87, 0x04, 0x00, 0x00 - .byte 0x66, 0x09, 0x00, 0x00 - .byte 0x78, 0x00, 0x00, 0x00 - .byte 0x87, 0x06, 0x00, 0x00 - .byte 0x78, 0x01, 0x00, 0x00 - .byte 0x66, 0x08, 0x00, 0x00 - .byte 0x56, 0x0a, 0x00, 0x00 - .byte 0x66, 0x08, 0x00, 0x00 - .byte 0x78, 0x00, 0x00, 0x00 - .byte 0x76, 0x09, 0x00, 0x00 - .byte 0x87, 0x04, 0x00, 0x00 - .byte 0x87, 0x04, 0x00, 0x00 - .byte 0x66, 0x0b, 0x00, 0x00 - .byte 0x67, 0x07, 0x00, 0x00 - .byte 0x88, 0x01, 0x00, 0x00 - .byte 0x67, 0x05, 0x00, 0x00 - .byte 0x66, 0x08, 0x00, 0x00 - .byte 0x66, 0x08, 0x00, 0x00 - .byte 0x68, 0x03, 0x00, 0x00 - .byte 0x76, 0x0b, 0x00, 0x00 - .byte 0x77, 0x07, 0x00, 0x00 - .byte 0x73, 0x15, 0x00, 0x00 - .byte 0x86, 0x0b, 0x00, 0x00 - .byte 0x87, 0x05, 0x00, 0x00 - .byte 0x86, 0x08, 0x00, 0x00 - .byte 0x86, 0x08, 0x00, 0x00 - .byte 0x66, 0x0b, 0x00, 0x00 - .byte 0x65, 0x0f, 0x00, 0x00 - .byte 0x66, 0x0b, 0x00, 0x00 - .byte 0x54, 0x10, 0x00, 0x00 - .byte 0x66, 0x08, 0x00, 0x00 - .byte 0x54, 0x11, 0x00, 0x00 - .byte 0x76, 0x08, 0x00, 0x00 - .byte 0x66, 0x09, 0x00, 0x00 - .byte 0x66, 0x09, 0x00, 0x00 - .byte 0x88, 0x01, 0x00, 0x00 - .byte 0x66, 0x0b, 0x00, 0x00 - .byte 0x75, 0x0c, 0x00, 0x00 - .byte 0x86, 0x08, 0x00, 0x00 - .byte 0x66, 0x08, 0x00, 0x00 - .byte 0x66, 0x09, 0x00, 0x00 - .byte 0x66, 0x0b, 0x00, 0x00 - .byte 0x65, 0x0d, 0x00, 0x00 - .byte 0x87, 0x04, 0x00, 0x00 - .byte 0x66, 0x09, 0x00, 0x00 - .byte 0x56, 0x0a, 0x00, 0x00 - .byte 0x66, 0x08, 0x00, 0x00 - .byte 0x77, 0x04, 0x00, 0x00 - .byte 0x85, 0x0f, 0x00, 0x00 - .byte 0x76, 0x08, 0x00, 0x00 - .byte 0x76, 0x0b, 0x00, 0x00 - .byte 0x87, 0x04, 0x00, 0x00 - .byte 0x66, 0x09, 0x00, 0x00 - .byte 0x66, 0x08, 0x00, 0x00 - .byte 0x66, 0x0a, 0x00, 0x00 - .byte 0x36, 0x08, 0x00, 0x00 - .byte 0x75, 0x0c, 0x00, 0x00 - .byte 0x87, 0x05, 0x00, 0x00 - .byte 0x65, 0x0f, 0x00, 0x00 - .byte 0x84, 0x10, 0x00, 0x00 - .byte 0x85, 0x0f, 0x00, 0x00 - .byte 0x87, 0x05, 0x00, 0x00 - .byte 0x88, 0x00, 0x00, 0x00 - .byte 0x76, 0x0a, 0x00, 0x00 - .byte 0x87, 0x05, 0x00, 0x00 - .byte 0x77, 0x07, 0x00, 0x00 - .byte 0x77, 0x04, 0x00, 0x00 - .byte 0x56, 0x0b, 0x00, 0x00 - .byte 0x77, 0x04, 0x00, 0x00 - .byte 0x66, 0x08, 0x00, 0x00 - .byte 0x66, 0x08, 0x00, 0x00 - .byte 0x88, 0x03, 0x00, 0x00 - .byte 0x66, 0x08, 0x00, 0x00 - .byte 0x76, 0x09, 0x00, 0x00 - .byte 0x63, 0x15, 0x00, 0x00 - .byte 0x75, 0x0d, 0x00, 0x00 - .byte 0x65, 0x0c, 0x00, 0x00 - .byte 0x75, 0x0d, 0x00, 0x00 - .byte 0x66, 0x0a, 0x00, 0x00 - .byte 0x67, 0x06, 0x00, 0x00 - .byte 0x87, 0x07, 0x00, 0x00 - .byte 0x87, 0x04, 0x00, 0x00 - .byte 0x55, 0x0c, 0x00, 0x00 - .byte 0x87, 0x07, 0x00, 0x00 - .byte 0x87, 0x06, 0x00, 0x00 - .byte 0x65, 0x0e, 0x00, 0x00 - .byte 0x85, 0x0d, 0x00, 0x00 - .byte 0x76, 0x0a, 0x00, 0x00 - .byte 0x78, 0x03, 0x00, 0x00 - .byte 0x76, 0x0a, 0x00, 0x00 - .byte 0x66, 0x08, 0x00, 0x00 - .byte 0x87, 0x05, 0x00, 0x00 - .byte 0x56, 0x09, 0x00, 0x00 - .byte 0x66, 0x08, 0x00, 0x00 - .byte 0x66, 0x0b, 0x00, 0x00 - .byte 0x87, 0x07, 0x00, 0x00 - .byte 0x85, 0x0d, 0x00, 0x00 - .byte 0x86, 0x0a, 0x00, 0x00 - .byte 0x87, 0x06, 0x00, 0x00 - .byte 0x88, 0x03, 0x00, 0x00 - .byte 0x66, 0x08, 0x00, 0x00 - .byte 0x67, 0x05, 0x00, 0x00 - .byte 0x88, 0x00, 0x00, 0x00 - .byte 0x88, 0x01, 0x00, 0x00 - .byte 0x88, 0x01, 0x00, 0x00 - .byte 0x66, 0x08, 0x00, 0x00 - .byte 0x88, 0x02, 0x00, 0x00 - .byte 0x88, 0x02, 0x00, 0x00 - .byte 0x88, 0x02, 0x00, 0x00 - .byte 0x88, 0x02, 0x00, 0x00 - .byte 0x88, 0x02, 0x00, 0x00 - .byte 0x88, 0x02, 0x00, 0x00 - .byte 0x88, 0x02, 0x00, 0x00 - .byte 0x88, 0x02, 0x00, 0x00 - .byte 0x88, 0x02, 0x00, 0x00 - .byte 0x88, 0x02, 0x00, 0x00 - .byte 0x88, 0x02, 0x00, 0x00 - .byte 0x88, 0x02, 0x00, 0x00 - .byte 0x88, 0x02, 0x00, 0x00 - .byte 0x88, 0x02, 0x00, 0x00 - .byte 0x88, 0x02, 0x00, 0x00 - .byte 0x88, 0x02, 0x00, 0x00 - .byte 0x88, 0x02, 0x00, 0x00 - .byte 0x88, 0x02, 0x00, 0x00 - .byte 0x88, 0x02, 0x00, 0x00 - .byte 0x88, 0x02, 0x00, 0x00 - .byte 0x88, 0x02, 0x00, 0x00 - .byte 0x88, 0x02, 0x00, 0x00 - .byte 0x88, 0x02, 0x00, 0x00 - .byte 0x88, 0x02, 0x00, 0x00 - .byte 0x88, 0x02, 0x00, 0x00 - .byte 0x87, 0x06, 0x00, 0x00 - .byte 0x86, 0x08, 0x00, 0x00 - .byte 0x88, 0x01, 0x00, 0x00 - .byte 0x67, 0x05, 0x00, 0x00 - .byte 0x88, 0x00, 0x00, 0x00 - .byte 0x88, 0x00, 0x00, 0x00 - .byte 0x77, 0x05, 0x00, 0x00 - .byte 0x87, 0x04, 0x00, 0x00 - .byte 0x87, 0x05, 0x00, 0x00 - .byte 0x76, 0x09, 0x00, 0x00 - .byte 0x87, 0x04, 0x00, 0x00 - .byte 0x76, 0x0b, 0x00, 0x00 - .byte 0x85, 0x0f, 0x00, 0x00 - .byte 0x76, 0x0b, 0x00, 0x00 - .byte 0x83, 0x15, 0x00, 0x00 - .byte 0x88, 0x00, 0x00, 0x00 - .byte 0x73, 0x14, 0x00, 0x00 - .byte 0x83, 0x14, 0x00, 0x00 - .byte 0x75, 0x0f, 0x00, 0x00 - .byte 0x86, 0x08, 0x00, 0x00 - .byte 0x86, 0x0a, 0x00, 0x00 - .byte 0x86, 0x09, 0x00, 0x00 - .byte 0x76, 0x0a, 0x00, 0x00 - .byte 0x86, 0x08, 0x00, 0x00 - .byte 0x83, 0x14, 0x00, 0x00 - .byte 0x86, 0x08, 0x00, 0x00 - .byte 0x77, 0x06, 0x00, 0x00 - .byte 0x64, 0x11, 0x00, 0x00 - .byte 0x86, 0x08, 0x00, 0x00 - .byte 0x85, 0x0d, 0x00, 0x00 - .byte 0x87, 0x04, 0x00, 0x00 - .byte 0x77, 0x04, 0x00, 0x00 - .byte 0x85, 0x0e, 0x00, 0x00 - .byte 0x87, 0x06, 0x00, 0x00 - .byte 0x86, 0x0b, 0x00, 0x00 - .byte 0x88, 0x00, 0x00, 0x00 - .byte 0x83, 0x15, 0x00, 0x00 - .byte 0x83, 0x16, 0x00, 0x00 - .byte 0x86, 0x0a, 0x00, 0x00 - .byte 0x86, 0x08, 0x00, 0x00 - .byte 0x87, 0x06, 0x00, 0x00 - .byte 0x86, 0x08, 0x00, 0x00 - .byte 0x87, 0x07, 0x00, 0x00 - .byte 0x85, 0x0c, 0x00, 0x00 - .byte 0x86, 0x0a, 0x00, 0x00 - .byte 0x76, 0x08, 0x00, 0x00 - .byte 0x66, 0x0a, 0x00, 0x00 - .byte 0x86, 0x0a, 0x00, 0x00 - .byte 0x46, 0x0a, 0x00, 0x00 - .byte 0x77, 0x07, 0x00, 0x00 - .byte 0x87, 0x05, 0x00, 0x00 - .byte 0x67, 0x07, 0x00, 0x00 - .byte 0x68, 0x02, 0x00, 0x00 - .byte 0x87, 0x07, 0x00, 0x00 - .byte 0x88, 0x02, 0x00, 0x00 - .byte 0x75, 0x0e, 0x00, 0x00 - .byte 0x74, 0x11, 0x00, 0x00 - .byte 0x88, 0x02, 0x00, 0x00 - .byte 0x76, 0x0b, 0x00, 0x00 - .byte 0x87, 0x07, 0x00, 0x00 - .byte 0x84, 0x10, 0x00, 0x00 - .byte 0x87, 0x04, 0x00, 0x00 - .byte 0x86, 0x0b, 0x00, 0x00 - .byte 0x84, 0x13, 0x00, 0x00 - .byte 0x64, 0x12, 0x00, 0x00 - .byte 0x86, 0x0a, 0x00, 0x00 - .byte 0x87, 0x06, 0x00, 0x00 - .byte 0x85, 0x0f, 0x00, 0x00 - .byte 0x87, 0x07, 0x00, 0x00 - .byte 0x76, 0x0a, 0x00, 0x00 - .byte 0x85, 0x0c, 0x00, 0x00 - .byte 0x87, 0x05, 0x00, 0x00 - .byte 0x87, 0x05, 0x00, 0x00 - .byte 0x86, 0x0a, 0x00, 0x00 - .byte 0x56, 0x0b, 0x00, 0x00 - .byte 0x87, 0x04, 0x00, 0x00 - .byte 0x76, 0x08, 0x00, 0x00 - .byte 0x76, 0x08, 0x00, 0x00 - .byte 0x87, 0x04, 0x00, 0x00 - .byte 0x76, 0x0b, 0x00, 0x00 - .byte 0x68, 0x03, 0x00, 0x00 - .byte 0x86, 0x09, 0x00, 0x00 - .byte 0x87, 0x06, 0x00, 0x00 - .byte 0x77, 0x07, 0x00, 0x00 - .byte 0x66, 0x0b, 0x00, 0x00 - .byte 0x86, 0x08, 0x00, 0x00 - .byte 0x86, 0x08, 0x00, 0x00 - .byte 0x85, 0x0f, 0x00, 0x00 - .byte 0x86, 0x0a, 0x00, 0x00 - .byte 0x86, 0x08, 0x00, 0x00 - .byte 0x66, 0x0b, 0x00, 0x00 - .byte 0x77, 0x06, 0x00, 0x00 - .byte 0x87, 0x07, 0x00, 0x00 - .byte 0x85, 0x0d, 0x00, 0x00 - .byte 0x86, 0x09, 0x00, 0x00 - .byte 0x88, 0x03, 0x00, 0x00 - .byte 0x85, 0x0d, 0x00, 0x00 - .byte 0x68, 0x02, 0x00, 0x00 - .byte 0x77, 0x05, 0x00, 0x00 - .byte 0x78, 0x03, 0x00, 0x00 - .byte 0x77, 0x06, 0x00, 0x00 - .byte 0x65, 0x0c, 0x00, 0x00 - .byte 0x88, 0x03, 0x00, 0x00 - .byte 0x88, 0x01, 0x00, 0x00 - .byte 0x86, 0x0a, 0x00, 0x00 - .byte 0x54, 0x11, 0x00, 0x00 - .byte 0x84, 0x11, 0x00, 0x00 - .byte 0x87, 0x07, 0x00, 0x00 - .byte 0x45, 0x0d, 0x00, 0x00 - .byte 0x76, 0x08, 0x00, 0x00 - .byte 0x67, 0x06, 0x00, 0x00 - .byte 0x86, 0x09, 0x00, 0x00 - .byte 0x77, 0x04, 0x00, 0x00 - .byte 0x83, 0x17, 0x00, 0x00 - .byte 0x77, 0x05, 0x00, 0x00 - .byte 0x45, 0x0d, 0x00, 0x00 - .byte 0x57, 0x06, 0x00, 0x00 - .byte 0x77, 0x04, 0x00, 0x00 - .byte 0x66, 0x08, 0x00, 0x00 - .byte 0x85, 0x0d, 0x00, 0x00 - .byte 0x77, 0x06, 0x00, 0x00 - .byte 0x66, 0x0a, 0x00, 0x00 - .byte 0x84, 0x10, 0x00, 0x00 - .byte 0x83, 0x14, 0x00, 0x00 - .byte 0x86, 0x0a, 0x00, 0x00 - .byte 0x85, 0x0e, 0x00, 0x00 - .byte 0x85, 0x0e, 0x00, 0x00 - .byte 0x84, 0x13, 0x00, 0x00 - .byte 0x87, 0x07, 0x00, 0x00 - .byte 0x78, 0x00, 0x00, 0x00 - .byte 0x88, 0x02, 0x00, 0x00 - .byte 0x88, 0x03, 0x00, 0x00 - .byte 0x87, 0x05, 0x00, 0x00 - .byte 0x86, 0x09, 0x00, 0x00 - .byte 0x47, 0x07, 0x00, 0x00 - .byte 0x36, 0x0a, 0x00, 0x00 - .byte 0x56, 0x09, 0x00, 0x00 - .byte 0x67, 0x06, 0x00, 0x00 - .byte 0x56, 0x08, 0x00, 0x00 - .byte 0x56, 0x0a, 0x00, 0x00 - .byte 0x66, 0x0a, 0x00, 0x00 - .byte 0x57, 0x05, 0x00, 0x00 - .byte 0x66, 0x08, 0x00, 0x00 - .byte 0x37, 0x07, 0x00, 0x00 - .byte 0x46, 0x09, 0x00, 0x00 - .byte 0x57, 0x07, 0x00, 0x00 - .byte 0x46, 0x0a, 0x00, 0x00 - .byte 0x65, 0x0d, 0x00, 0x00 - .byte 0x65, 0x0d, 0x00, 0x00 - .byte 0x66, 0x08, 0x00, 0x00 - .byte 0x46, 0x0a, 0x00, 0x00 - .byte 0x55, 0x0f, 0x00, 0x00 - .byte 0x45, 0x0c, 0x00, 0x00 - .byte 0x57, 0x04, 0x00, 0x00 - .byte 0x45, 0x0d, 0x00, 0x00 - .byte 0x65, 0x0d, 0x00, 0x00 - .byte 0x56, 0x0b, 0x00, 0x00 - .byte 0x55, 0x0d, 0x00, 0x00 - .byte 0x55, 0x0f, 0x00, 0x00 - .byte 0x46, 0x0a, 0x00, 0x00 - .byte 0x46, 0x0a, 0x00, 0x00 - .byte 0x37, 0x06, 0x00, 0x00 - .byte 0x47, 0x06, 0x00, 0x00 diff --git a/data/graphics/pokemon/still_front_pic_table.inc b/data/graphics/pokemon/still_front_pic_table.inc deleted file mode 100644 index 4487299553..0000000000 --- a/data/graphics/pokemon/still_front_pic_table.inc +++ /dev/null @@ -1,442 +0,0 @@ - .align 2 -gMonStillFrontPicTable:: @ 8301418 - obj_tiles gMonStillFrontPic_CircledQuestionMark, 0x800, 0 - obj_tiles gMonStillFrontPic_Bulbasaur, 0x800, 1 - obj_tiles gMonStillFrontPic_Ivysaur, 0x800, 2 - obj_tiles gMonStillFrontPic_Venusaur, 0x800, 3 - obj_tiles gMonStillFrontPic_Charmander, 0x800, 4 - obj_tiles gMonStillFrontPic_Charmeleon, 0x800, 5 - obj_tiles gMonStillFrontPic_Charizard, 0x800, 6 - obj_tiles gMonStillFrontPic_Squirtle, 0x800, 7 - obj_tiles gMonStillFrontPic_Wartortle, 0x800, 8 - obj_tiles gMonStillFrontPic_Blastoise, 0x800, 9 - obj_tiles gMonStillFrontPic_Caterpie, 0x800, 10 - obj_tiles gMonStillFrontPic_Metapod, 0x800, 11 - obj_tiles gMonStillFrontPic_Butterfree, 0x800, 12 - obj_tiles gMonStillFrontPic_Weedle, 0x800, 13 - obj_tiles gMonStillFrontPic_Kakuna, 0x800, 14 - obj_tiles gMonStillFrontPic_Beedrill, 0x800, 15 - obj_tiles gMonStillFrontPic_Pidgey, 0x800, 16 - obj_tiles gMonStillFrontPic_Pidgeotto, 0x800, 17 - obj_tiles gMonStillFrontPic_Pidgeot, 0x800, 18 - obj_tiles gMonStillFrontPic_Rattata, 0x800, 19 - obj_tiles gMonStillFrontPic_Raticate, 0x800, 20 - obj_tiles gMonStillFrontPic_Spearow, 0x800, 21 - obj_tiles gMonStillFrontPic_Fearow, 0x800, 22 - obj_tiles gMonStillFrontPic_Ekans, 0x800, 23 - obj_tiles gMonStillFrontPic_Arbok, 0x800, 24 - obj_tiles gMonStillFrontPic_Pikachu, 0x800, 25 - obj_tiles gMonStillFrontPic_Raichu, 0x800, 26 - obj_tiles gMonStillFrontPic_Sandshrew, 0x800, 27 - obj_tiles gMonStillFrontPic_Sandslash, 0x800, 28 - obj_tiles gMonStillFrontPic_NidoranF, 0x800, 29 - obj_tiles gMonStillFrontPic_Nidorina, 0x800, 30 - obj_tiles gMonStillFrontPic_Nidoqueen, 0x800, 31 - obj_tiles gMonStillFrontPic_NidoranM, 0x800, 32 - obj_tiles gMonStillFrontPic_Nidorino, 0x800, 33 - obj_tiles gMonStillFrontPic_Nidoking, 0x800, 34 - obj_tiles gMonStillFrontPic_Clefairy, 0x800, 35 - obj_tiles gMonStillFrontPic_Clefable, 0x800, 36 - obj_tiles gMonStillFrontPic_Vulpix, 0x800, 37 - obj_tiles gMonStillFrontPic_Ninetales, 0x800, 38 - obj_tiles gMonStillFrontPic_Jigglypuff, 0x800, 39 - obj_tiles gMonStillFrontPic_Wigglytuff, 0x800, 40 - obj_tiles gMonStillFrontPic_Zubat, 0x800, 41 - obj_tiles gMonStillFrontPic_Golbat, 0x800, 42 - obj_tiles gMonStillFrontPic_Oddish, 0x800, 43 - obj_tiles gMonStillFrontPic_Gloom, 0x800, 44 - obj_tiles gMonStillFrontPic_Vileplume, 0x800, 45 - obj_tiles gMonStillFrontPic_Paras, 0x800, 46 - obj_tiles gMonStillFrontPic_Parasect, 0x800, 47 - obj_tiles gMonStillFrontPic_Venonat, 0x800, 48 - obj_tiles gMonStillFrontPic_Venomoth, 0x800, 49 - obj_tiles gMonStillFrontPic_Diglett, 0x800, 50 - obj_tiles gMonStillFrontPic_Dugtrio, 0x800, 51 - obj_tiles gMonStillFrontPic_Meowth, 0x800, 52 - obj_tiles gMonStillFrontPic_Persian, 0x800, 53 - obj_tiles gMonStillFrontPic_Psyduck, 0x800, 54 - obj_tiles gMonStillFrontPic_Golduck, 0x800, 55 - obj_tiles gMonStillFrontPic_Mankey, 0x800, 56 - obj_tiles gMonStillFrontPic_Primeape, 0x800, 57 - obj_tiles gMonStillFrontPic_Growlithe, 0x800, 58 - obj_tiles gMonStillFrontPic_Arcanine, 0x800, 59 - obj_tiles gMonStillFrontPic_Poliwag, 0x800, 60 - obj_tiles gMonStillFrontPic_Poliwhirl, 0x800, 61 - obj_tiles gMonStillFrontPic_Poliwrath, 0x800, 62 - obj_tiles gMonStillFrontPic_Abra, 0x800, 63 - obj_tiles gMonStillFrontPic_Kadabra, 0x800, 64 - obj_tiles gMonStillFrontPic_Alakazam, 0x800, 65 - obj_tiles gMonStillFrontPic_Machop, 0x800, 66 - obj_tiles gMonStillFrontPic_Machoke, 0x800, 67 - obj_tiles gMonStillFrontPic_Machamp, 0x800, 68 - obj_tiles gMonStillFrontPic_Bellsprout, 0x800, 69 - obj_tiles gMonStillFrontPic_Weepinbell, 0x800, 70 - obj_tiles gMonStillFrontPic_Victreebel, 0x800, 71 - obj_tiles gMonStillFrontPic_Tentacool, 0x800, 72 - obj_tiles gMonStillFrontPic_Tentacruel, 0x800, 73 - obj_tiles gMonStillFrontPic_Geodude, 0x800, 74 - obj_tiles gMonStillFrontPic_Graveler, 0x800, 75 - obj_tiles gMonStillFrontPic_Golem, 0x800, 76 - obj_tiles gMonStillFrontPic_Ponyta, 0x800, 77 - obj_tiles gMonStillFrontPic_Rapidash, 0x800, 78 - obj_tiles gMonStillFrontPic_Slowpoke, 0x800, 79 - obj_tiles gMonStillFrontPic_Slowbro, 0x800, 80 - obj_tiles gMonStillFrontPic_Magnemite, 0x800, 81 - obj_tiles gMonStillFrontPic_Magneton, 0x800, 82 - obj_tiles gMonStillFrontPic_Farfetchd, 0x800, 83 - obj_tiles gMonStillFrontPic_Doduo, 0x800, 84 - obj_tiles gMonStillFrontPic_Dodrio, 0x800, 85 - obj_tiles gMonStillFrontPic_Seel, 0x800, 86 - obj_tiles gMonStillFrontPic_Dewgong, 0x800, 87 - obj_tiles gMonStillFrontPic_Grimer, 0x800, 88 - obj_tiles gMonStillFrontPic_Muk, 0x800, 89 - obj_tiles gMonStillFrontPic_Shellder, 0x800, 90 - obj_tiles gMonStillFrontPic_Cloyster, 0x800, 91 - obj_tiles gMonStillFrontPic_Gastly, 0x800, 92 - obj_tiles gMonStillFrontPic_Haunter, 0x800, 93 - obj_tiles gMonStillFrontPic_Gengar, 0x800, 94 - obj_tiles gMonStillFrontPic_Onix, 0x800, 95 - obj_tiles gMonStillFrontPic_Drowzee, 0x800, 96 - obj_tiles gMonStillFrontPic_Hypno, 0x800, 97 - obj_tiles gMonStillFrontPic_Krabby, 0x800, 98 - obj_tiles gMonStillFrontPic_Kingler, 0x800, 99 - obj_tiles gMonStillFrontPic_Voltorb, 0x800, 100 - obj_tiles gMonStillFrontPic_Electrode, 0x800, 101 - obj_tiles gMonStillFrontPic_Exeggcute, 0x800, 102 - obj_tiles gMonStillFrontPic_Exeggutor, 0x800, 103 - obj_tiles gMonStillFrontPic_Cubone, 0x800, 104 - obj_tiles gMonStillFrontPic_Marowak, 0x800, 105 - obj_tiles gMonStillFrontPic_Hitmonlee, 0x800, 106 - obj_tiles gMonStillFrontPic_Hitmonchan, 0x800, 107 - obj_tiles gMonStillFrontPic_Lickitung, 0x800, 108 - obj_tiles gMonStillFrontPic_Koffing, 0x800, 109 - obj_tiles gMonStillFrontPic_Weezing, 0x800, 110 - obj_tiles gMonStillFrontPic_Rhyhorn, 0x800, 111 - obj_tiles gMonStillFrontPic_Rhydon, 0x800, 112 - obj_tiles gMonStillFrontPic_Chansey, 0x800, 113 - obj_tiles gMonStillFrontPic_Tangela, 0x800, 114 - obj_tiles gMonStillFrontPic_Kangaskhan, 0x800, 115 - obj_tiles gMonStillFrontPic_Horsea, 0x800, 116 - obj_tiles gMonStillFrontPic_Seadra, 0x800, 117 - obj_tiles gMonStillFrontPic_Goldeen, 0x800, 118 - obj_tiles gMonStillFrontPic_Seaking, 0x800, 119 - obj_tiles gMonStillFrontPic_Staryu, 0x800, 120 - obj_tiles gMonStillFrontPic_Starmie, 0x800, 121 - obj_tiles gMonStillFrontPic_Mrmime, 0x800, 122 - obj_tiles gMonStillFrontPic_Scyther, 0x800, 123 - obj_tiles gMonStillFrontPic_Jynx, 0x800, 124 - obj_tiles gMonStillFrontPic_Electabuzz, 0x800, 125 - obj_tiles gMonStillFrontPic_Magmar, 0x800, 126 - obj_tiles gMonStillFrontPic_Pinsir, 0x800, 127 - obj_tiles gMonStillFrontPic_Tauros, 0x800, 128 - obj_tiles gMonStillFrontPic_Magikarp, 0x800, 129 - obj_tiles gMonStillFrontPic_Gyarados, 0x800, 130 - obj_tiles gMonStillFrontPic_Lapras, 0x800, 131 - obj_tiles gMonStillFrontPic_Ditto, 0x800, 132 - obj_tiles gMonStillFrontPic_Eevee, 0x800, 133 - obj_tiles gMonStillFrontPic_Vaporeon, 0x800, 134 - obj_tiles gMonStillFrontPic_Jolteon, 0x800, 135 - obj_tiles gMonStillFrontPic_Flareon, 0x800, 136 - obj_tiles gMonStillFrontPic_Porygon, 0x800, 137 - obj_tiles gMonStillFrontPic_Omanyte, 0x800, 138 - obj_tiles gMonStillFrontPic_Omastar, 0x800, 139 - obj_tiles gMonStillFrontPic_Kabuto, 0x800, 140 - obj_tiles gMonStillFrontPic_Kabutops, 0x800, 141 - obj_tiles gMonStillFrontPic_Aerodactyl, 0x800, 142 - obj_tiles gMonStillFrontPic_Snorlax, 0x800, 143 - obj_tiles gMonStillFrontPic_Articuno, 0x800, 144 - obj_tiles gMonStillFrontPic_Zapdos, 0x800, 145 - obj_tiles gMonStillFrontPic_Moltres, 0x800, 146 - obj_tiles gMonStillFrontPic_Dratini, 0x800, 147 - obj_tiles gMonStillFrontPic_Dragonair, 0x800, 148 - obj_tiles gMonStillFrontPic_Dragonite, 0x800, 149 - obj_tiles gMonStillFrontPic_Mewtwo, 0x800, 150 - obj_tiles gMonStillFrontPic_Mew, 0x800, 151 - obj_tiles gMonStillFrontPic_Chikorita, 0x800, 152 - obj_tiles gMonStillFrontPic_Bayleef, 0x800, 153 - obj_tiles gMonStillFrontPic_Meganium, 0x800, 154 - obj_tiles gMonStillFrontPic_Cyndaquil, 0x800, 155 - obj_tiles gMonStillFrontPic_Quilava, 0x800, 156 - obj_tiles gMonStillFrontPic_Typhlosion, 0x800, 157 - obj_tiles gMonStillFrontPic_Totodile, 0x800, 158 - obj_tiles gMonStillFrontPic_Croconaw, 0x800, 159 - obj_tiles gMonStillFrontPic_Feraligatr, 0x800, 160 - obj_tiles gMonStillFrontPic_Sentret, 0x800, 161 - obj_tiles gMonStillFrontPic_Furret, 0x800, 162 - obj_tiles gMonStillFrontPic_Hoothoot, 0x800, 163 - obj_tiles gMonStillFrontPic_Noctowl, 0x800, 164 - obj_tiles gMonStillFrontPic_Ledyba, 0x800, 165 - obj_tiles gMonStillFrontPic_Ledian, 0x800, 166 - obj_tiles gMonStillFrontPic_Spinarak, 0x800, 167 - obj_tiles gMonStillFrontPic_Ariados, 0x800, 168 - obj_tiles gMonStillFrontPic_Crobat, 0x800, 169 - obj_tiles gMonStillFrontPic_Chinchou, 0x800, 170 - obj_tiles gMonStillFrontPic_Lanturn, 0x800, 171 - obj_tiles gMonStillFrontPic_Pichu, 0x800, 172 - obj_tiles gMonStillFrontPic_Cleffa, 0x800, 173 - obj_tiles gMonStillFrontPic_Igglybuff, 0x800, 174 - obj_tiles gMonStillFrontPic_Togepi, 0x800, 175 - obj_tiles gMonStillFrontPic_Togetic, 0x800, 176 - obj_tiles gMonStillFrontPic_Natu, 0x800, 177 - obj_tiles gMonStillFrontPic_Xatu, 0x800, 178 - obj_tiles gMonStillFrontPic_Mareep, 0x800, 179 - obj_tiles gMonStillFrontPic_Flaaffy, 0x800, 180 - obj_tiles gMonStillFrontPic_Ampharos, 0x800, 181 - obj_tiles gMonStillFrontPic_Bellossom, 0x800, 182 - obj_tiles gMonStillFrontPic_Marill, 0x800, 183 - obj_tiles gMonStillFrontPic_Azumarill, 0x800, 184 - obj_tiles gMonStillFrontPic_Sudowoodo, 0x800, 185 - obj_tiles gMonStillFrontPic_Politoed, 0x800, 186 - obj_tiles gMonStillFrontPic_Hoppip, 0x800, 187 - obj_tiles gMonStillFrontPic_Skiploom, 0x800, 188 - obj_tiles gMonStillFrontPic_Jumpluff, 0x800, 189 - obj_tiles gMonStillFrontPic_Aipom, 0x800, 190 - obj_tiles gMonStillFrontPic_Sunkern, 0x800, 191 - obj_tiles gMonStillFrontPic_Sunflora, 0x800, 192 - obj_tiles gMonStillFrontPic_Yanma, 0x800, 193 - obj_tiles gMonStillFrontPic_Wooper, 0x800, 194 - obj_tiles gMonStillFrontPic_Quagsire, 0x800, 195 - obj_tiles gMonStillFrontPic_Espeon, 0x800, 196 - obj_tiles gMonStillFrontPic_Umbreon, 0x800, 197 - obj_tiles gMonStillFrontPic_Murkrow, 0x800, 198 - obj_tiles gMonStillFrontPic_Slowking, 0x800, 199 - obj_tiles gMonStillFrontPic_Misdreavus, 0x800, 200 - obj_tiles gMonStillFrontPic_UnownA, 0x800, 201 - obj_tiles gMonStillFrontPic_Wobbuffet, 0x800, 202 - obj_tiles gMonStillFrontPic_Girafarig, 0x800, 203 - obj_tiles gMonStillFrontPic_Pineco, 0x800, 204 - obj_tiles gMonStillFrontPic_Forretress, 0x800, 205 - obj_tiles gMonStillFrontPic_Dunsparce, 0x800, 206 - obj_tiles gMonStillFrontPic_Gligar, 0x800, 207 - obj_tiles gMonStillFrontPic_Steelix, 0x800, 208 - obj_tiles gMonStillFrontPic_Snubbull, 0x800, 209 - obj_tiles gMonStillFrontPic_Granbull, 0x800, 210 - obj_tiles gMonStillFrontPic_Qwilfish, 0x800, 211 - obj_tiles gMonStillFrontPic_Scizor, 0x800, 212 - obj_tiles gMonStillFrontPic_Shuckle, 0x800, 213 - obj_tiles gMonStillFrontPic_Heracross, 0x800, 214 - obj_tiles gMonStillFrontPic_Sneasel, 0x800, 215 - obj_tiles gMonStillFrontPic_Teddiursa, 0x800, 216 - obj_tiles gMonStillFrontPic_Ursaring, 0x800, 217 - obj_tiles gMonStillFrontPic_Slugma, 0x800, 218 - obj_tiles gMonStillFrontPic_Magcargo, 0x800, 219 - obj_tiles gMonStillFrontPic_Swinub, 0x800, 220 - obj_tiles gMonStillFrontPic_Piloswine, 0x800, 221 - obj_tiles gMonStillFrontPic_Corsola, 0x800, 222 - obj_tiles gMonStillFrontPic_Remoraid, 0x800, 223 - obj_tiles gMonStillFrontPic_Octillery, 0x800, 224 - obj_tiles gMonStillFrontPic_Delibird, 0x800, 225 - obj_tiles gMonStillFrontPic_Mantine, 0x800, 226 - obj_tiles gMonStillFrontPic_Skarmory, 0x800, 227 - obj_tiles gMonStillFrontPic_Houndour, 0x800, 228 - obj_tiles gMonStillFrontPic_Houndoom, 0x800, 229 - obj_tiles gMonStillFrontPic_Kingdra, 0x800, 230 - obj_tiles gMonStillFrontPic_Phanpy, 0x800, 231 - obj_tiles gMonStillFrontPic_Donphan, 0x800, 232 - obj_tiles gMonStillFrontPic_Porygon2, 0x800, 233 - obj_tiles gMonStillFrontPic_Stantler, 0x800, 234 - obj_tiles gMonStillFrontPic_Smeargle, 0x800, 235 - obj_tiles gMonStillFrontPic_Tyrogue, 0x800, 236 - obj_tiles gMonStillFrontPic_Hitmontop, 0x800, 237 - obj_tiles gMonStillFrontPic_Smoochum, 0x800, 238 - obj_tiles gMonStillFrontPic_Elekid, 0x800, 239 - obj_tiles gMonStillFrontPic_Magby, 0x800, 240 - obj_tiles gMonStillFrontPic_Miltank, 0x800, 241 - obj_tiles gMonStillFrontPic_Blissey, 0x800, 242 - obj_tiles gMonStillFrontPic_Raikou, 0x800, 243 - obj_tiles gMonStillFrontPic_Entei, 0x800, 244 - obj_tiles gMonStillFrontPic_Suicune, 0x800, 245 - obj_tiles gMonStillFrontPic_Larvitar, 0x800, 246 - obj_tiles gMonStillFrontPic_Pupitar, 0x800, 247 - obj_tiles gMonStillFrontPic_Tyranitar, 0x800, 248 - obj_tiles gMonStillFrontPic_Lugia, 0x800, 249 - obj_tiles gMonStillFrontPic_HoOh, 0x800, 250 - obj_tiles gMonStillFrontPic_Celebi, 0x800, 251 - obj_tiles gMonStillFrontPic_DoubleQuestionMark, 0x800, 252 - obj_tiles gMonStillFrontPic_DoubleQuestionMark, 0x800, 253 - obj_tiles gMonStillFrontPic_DoubleQuestionMark, 0x800, 254 - obj_tiles gMonStillFrontPic_DoubleQuestionMark, 0x800, 255 - obj_tiles gMonStillFrontPic_DoubleQuestionMark, 0x800, 256 - obj_tiles gMonStillFrontPic_DoubleQuestionMark, 0x800, 257 - obj_tiles gMonStillFrontPic_DoubleQuestionMark, 0x800, 258 - obj_tiles gMonStillFrontPic_DoubleQuestionMark, 0x800, 259 - obj_tiles gMonStillFrontPic_DoubleQuestionMark, 0x800, 260 - obj_tiles gMonStillFrontPic_DoubleQuestionMark, 0x800, 261 - obj_tiles gMonStillFrontPic_DoubleQuestionMark, 0x800, 262 - obj_tiles gMonStillFrontPic_DoubleQuestionMark, 0x800, 263 - obj_tiles gMonStillFrontPic_DoubleQuestionMark, 0x800, 264 - obj_tiles gMonStillFrontPic_DoubleQuestionMark, 0x800, 265 - obj_tiles gMonStillFrontPic_DoubleQuestionMark, 0x800, 266 - obj_tiles gMonStillFrontPic_DoubleQuestionMark, 0x800, 267 - obj_tiles gMonStillFrontPic_DoubleQuestionMark, 0x800, 268 - obj_tiles gMonStillFrontPic_DoubleQuestionMark, 0x800, 269 - obj_tiles gMonStillFrontPic_DoubleQuestionMark, 0x800, 270 - obj_tiles gMonStillFrontPic_DoubleQuestionMark, 0x800, 271 - obj_tiles gMonStillFrontPic_DoubleQuestionMark, 0x800, 272 - obj_tiles gMonStillFrontPic_DoubleQuestionMark, 0x800, 273 - obj_tiles gMonStillFrontPic_DoubleQuestionMark, 0x800, 274 - obj_tiles gMonStillFrontPic_DoubleQuestionMark, 0x800, 275 - obj_tiles gMonStillFrontPic_DoubleQuestionMark, 0x800, 276 - obj_tiles gMonStillFrontPic_Treecko, 0x800, 277 - obj_tiles gMonStillFrontPic_Grovyle, 0x800, 278 - obj_tiles gMonStillFrontPic_Sceptile, 0x800, 279 - obj_tiles gMonStillFrontPic_Torchic, 0x800, 280 - obj_tiles gMonStillFrontPic_Combusken, 0x800, 281 - obj_tiles gMonStillFrontPic_Blaziken, 0x800, 282 - obj_tiles gMonStillFrontPic_Mudkip, 0x800, 283 - obj_tiles gMonStillFrontPic_Marshtomp, 0x800, 284 - obj_tiles gMonStillFrontPic_Swampert, 0x800, 285 - obj_tiles gMonStillFrontPic_Poochyena, 0x800, 286 - obj_tiles gMonStillFrontPic_Mightyena, 0x800, 287 - obj_tiles gMonStillFrontPic_Zigzagoon, 0x800, 288 - obj_tiles gMonStillFrontPic_Linoone, 0x800, 289 - obj_tiles gMonStillFrontPic_Wurmple, 0x800, 290 - obj_tiles gMonStillFrontPic_Silcoon, 0x800, 291 - obj_tiles gMonStillFrontPic_Beautifly, 0x800, 292 - obj_tiles gMonStillFrontPic_Cascoon, 0x800, 293 - obj_tiles gMonStillFrontPic_Dustox, 0x800, 294 - obj_tiles gMonStillFrontPic_Lotad, 0x800, 295 - obj_tiles gMonStillFrontPic_Lombre, 0x800, 296 - obj_tiles gMonStillFrontPic_Ludicolo, 0x800, 297 - obj_tiles gMonStillFrontPic_Seedot, 0x800, 298 - obj_tiles gMonStillFrontPic_Nuzleaf, 0x800, 299 - obj_tiles gMonStillFrontPic_Shiftry, 0x800, 300 - obj_tiles gMonStillFrontPic_Nincada, 0x800, 301 - obj_tiles gMonStillFrontPic_Ninjask, 0x800, 302 - obj_tiles gMonStillFrontPic_Shedinja, 0x800, 303 - obj_tiles gMonStillFrontPic_Taillow, 0x800, 304 - obj_tiles gMonStillFrontPic_Swellow, 0x800, 305 - obj_tiles gMonStillFrontPic_Shroomish, 0x800, 306 - obj_tiles gMonStillFrontPic_Breloom, 0x800, 307 - obj_tiles gMonStillFrontPic_Spinda, 0x800, 308 - obj_tiles gMonStillFrontPic_Wingull, 0x800, 309 - obj_tiles gMonStillFrontPic_Pelipper, 0x800, 310 - obj_tiles gMonStillFrontPic_Surskit, 0x800, 311 - obj_tiles gMonStillFrontPic_Masquerain, 0x800, 312 - obj_tiles gMonStillFrontPic_Wailmer, 0x800, 313 - obj_tiles gMonStillFrontPic_Wailord, 0x800, 314 - obj_tiles gMonStillFrontPic_Skitty, 0x800, 315 - obj_tiles gMonStillFrontPic_Delcatty, 0x800, 316 - obj_tiles gMonStillFrontPic_Kecleon, 0x800, 317 - obj_tiles gMonStillFrontPic_Baltoy, 0x800, 318 - obj_tiles gMonStillFrontPic_Claydol, 0x800, 319 - obj_tiles gMonStillFrontPic_Nosepass, 0x800, 320 - obj_tiles gMonStillFrontPic_Torkoal, 0x800, 321 - obj_tiles gMonStillFrontPic_Sableye, 0x800, 322 - obj_tiles gMonStillFrontPic_Barboach, 0x800, 323 - obj_tiles gMonStillFrontPic_Whiscash, 0x800, 324 - obj_tiles gMonStillFrontPic_Luvdisc, 0x800, 325 - obj_tiles gMonStillFrontPic_Corphish, 0x800, 326 - obj_tiles gMonStillFrontPic_Crawdaunt, 0x800, 327 - obj_tiles gMonStillFrontPic_Feebas, 0x800, 328 - obj_tiles gMonStillFrontPic_Milotic, 0x800, 329 - obj_tiles gMonStillFrontPic_Carvanha, 0x800, 330 - obj_tiles gMonStillFrontPic_Sharpedo, 0x800, 331 - obj_tiles gMonStillFrontPic_Trapinch, 0x800, 332 - obj_tiles gMonStillFrontPic_Vibrava, 0x800, 333 - obj_tiles gMonStillFrontPic_Flygon, 0x800, 334 - obj_tiles gMonStillFrontPic_Makuhita, 0x800, 335 - obj_tiles gMonStillFrontPic_Hariyama, 0x800, 336 - obj_tiles gMonStillFrontPic_Electrike, 0x800, 337 - obj_tiles gMonStillFrontPic_Manectric, 0x800, 338 - obj_tiles gMonStillFrontPic_Numel, 0x800, 339 - obj_tiles gMonStillFrontPic_Camerupt, 0x800, 340 - obj_tiles gMonStillFrontPic_Spheal, 0x800, 341 - obj_tiles gMonStillFrontPic_Sealeo, 0x800, 342 - obj_tiles gMonStillFrontPic_Walrein, 0x800, 343 - obj_tiles gMonStillFrontPic_Cacnea, 0x800, 344 - obj_tiles gMonStillFrontPic_Cacturne, 0x800, 345 - obj_tiles gMonStillFrontPic_Snorunt, 0x800, 346 - obj_tiles gMonStillFrontPic_Glalie, 0x800, 347 - obj_tiles gMonStillFrontPic_Lunatone, 0x800, 348 - obj_tiles gMonStillFrontPic_Solrock, 0x800, 349 - obj_tiles gMonStillFrontPic_Azurill, 0x800, 350 - obj_tiles gMonStillFrontPic_Spoink, 0x800, 351 - obj_tiles gMonStillFrontPic_Grumpig, 0x800, 352 - obj_tiles gMonStillFrontPic_Plusle, 0x800, 353 - obj_tiles gMonStillFrontPic_Minun, 0x800, 354 - obj_tiles gMonStillFrontPic_Mawile, 0x800, 355 - obj_tiles gMonStillFrontPic_Meditite, 0x800, 356 - obj_tiles gMonStillFrontPic_Medicham, 0x800, 357 - obj_tiles gMonStillFrontPic_Swablu, 0x800, 358 - obj_tiles gMonStillFrontPic_Altaria, 0x800, 359 - obj_tiles gMonStillFrontPic_Wynaut, 0x800, 360 - obj_tiles gMonStillFrontPic_Duskull, 0x800, 361 - obj_tiles gMonStillFrontPic_Dusclops, 0x800, 362 - obj_tiles gMonStillFrontPic_Roselia, 0x800, 363 - obj_tiles gMonStillFrontPic_Slakoth, 0x800, 364 - obj_tiles gMonStillFrontPic_Vigoroth, 0x800, 365 - obj_tiles gMonStillFrontPic_Slaking, 0x800, 366 - obj_tiles gMonStillFrontPic_Gulpin, 0x800, 367 - obj_tiles gMonStillFrontPic_Swalot, 0x800, 368 - obj_tiles gMonStillFrontPic_Tropius, 0x800, 369 - obj_tiles gMonStillFrontPic_Whismur, 0x800, 370 - obj_tiles gMonStillFrontPic_Loudred, 0x800, 371 - obj_tiles gMonStillFrontPic_Exploud, 0x800, 372 - obj_tiles gMonStillFrontPic_Clamperl, 0x800, 373 - obj_tiles gMonStillFrontPic_Huntail, 0x800, 374 - obj_tiles gMonStillFrontPic_Gorebyss, 0x800, 375 - obj_tiles gMonStillFrontPic_Absol, 0x800, 376 - obj_tiles gMonStillFrontPic_Shuppet, 0x800, 377 - obj_tiles gMonStillFrontPic_Banette, 0x800, 378 - obj_tiles gMonStillFrontPic_Seviper, 0x800, 379 - obj_tiles gMonStillFrontPic_Zangoose, 0x800, 380 - obj_tiles gMonStillFrontPic_Relicanth, 0x800, 381 - obj_tiles gMonStillFrontPic_Aron, 0x800, 382 - obj_tiles gMonStillFrontPic_Lairon, 0x800, 383 - obj_tiles gMonStillFrontPic_Aggron, 0x800, 384 - obj_tiles gMonStillFrontPic_Castform, 0x800, 385 - obj_tiles gMonStillFrontPic_Volbeat, 0x800, 386 - obj_tiles gMonStillFrontPic_Illumise, 0x800, 387 - obj_tiles gMonStillFrontPic_Lileep, 0x800, 388 - obj_tiles gMonStillFrontPic_Cradily, 0x800, 389 - obj_tiles gMonStillFrontPic_Anorith, 0x800, 390 - obj_tiles gMonStillFrontPic_Armaldo, 0x800, 391 - obj_tiles gMonStillFrontPic_Ralts, 0x800, 392 - obj_tiles gMonStillFrontPic_Kirlia, 0x800, 393 - obj_tiles gMonStillFrontPic_Gardevoir, 0x800, 394 - obj_tiles gMonStillFrontPic_Bagon, 0x800, 395 - obj_tiles gMonStillFrontPic_Shelgon, 0x800, 396 - obj_tiles gMonStillFrontPic_Salamence, 0x800, 397 - obj_tiles gMonStillFrontPic_Beldum, 0x800, 398 - obj_tiles gMonStillFrontPic_Metang, 0x800, 399 - obj_tiles gMonStillFrontPic_Metagross, 0x800, 400 - obj_tiles gMonStillFrontPic_Regirock, 0x800, 401 - obj_tiles gMonStillFrontPic_Regice, 0x800, 402 - obj_tiles gMonStillFrontPic_Registeel, 0x800, 403 - obj_tiles gMonStillFrontPic_Kyogre, 0x800, 404 - obj_tiles gMonStillFrontPic_Groudon, 0x800, 405 - obj_tiles gMonStillFrontPic_Rayquaza, 0x800, 406 - obj_tiles gMonStillFrontPic_Latias, 0x800, 407 - obj_tiles gMonStillFrontPic_Latios, 0x800, 408 - obj_tiles gMonStillFrontPic_Jirachi, 0x800, 409 - obj_tiles gMonStillFrontPic_Deoxys, 0x800, 410 - obj_tiles gMonStillFrontPic_Chimecho, 0x800, 411 - obj_tiles gMonStillFrontPic_Egg, 0x800, 412 - obj_tiles gMonStillFrontPic_UnownB, 0x800, 413 - obj_tiles gMonStillFrontPic_UnownC, 0x800, 414 - obj_tiles gMonStillFrontPic_UnownD, 0x800, 415 - obj_tiles gMonStillFrontPic_UnownE, 0x800, 416 - obj_tiles gMonStillFrontPic_UnownF, 0x800, 417 - obj_tiles gMonStillFrontPic_UnownG, 0x800, 418 - obj_tiles gMonStillFrontPic_UnownH, 0x800, 419 - obj_tiles gMonStillFrontPic_UnownI, 0x800, 420 - obj_tiles gMonStillFrontPic_UnownJ, 0x800, 421 - obj_tiles gMonStillFrontPic_UnownK, 0x800, 422 - obj_tiles gMonStillFrontPic_UnownL, 0x800, 423 - obj_tiles gMonStillFrontPic_UnownM, 0x800, 424 - obj_tiles gMonStillFrontPic_UnownN, 0x800, 425 - obj_tiles gMonStillFrontPic_UnownO, 0x800, 426 - obj_tiles gMonStillFrontPic_UnownP, 0x800, 427 - obj_tiles gMonStillFrontPic_UnownQ, 0x800, 428 - obj_tiles gMonStillFrontPic_UnownR, 0x800, 429 - obj_tiles gMonStillFrontPic_UnownS, 0x800, 430 - obj_tiles gMonStillFrontPic_UnownT, 0x800, 431 - obj_tiles gMonStillFrontPic_UnownU, 0x800, 432 - obj_tiles gMonStillFrontPic_UnownV, 0x800, 433 - obj_tiles gMonStillFrontPic_UnownW, 0x800, 434 - obj_tiles gMonStillFrontPic_UnownX, 0x800, 435 - obj_tiles gMonStillFrontPic_UnownY, 0x800, 436 - obj_tiles gMonStillFrontPic_UnownZ, 0x800, 437 - obj_tiles gMonStillFrontPic_UnownExclamationMark, 0x800, 438 - obj_tiles gMonStillFrontPic_UnownQuestionMark, 0x800, 439 diff --git a/include/data2.h b/include/data2.h index 1763651463..268dc9ac84 100644 --- a/include/data2.h +++ b/include/data2.h @@ -11,8 +11,8 @@ struct MonCoords u8 y_offset; }; -extern struct MonCoords gTrainerBackPicCoords[]; -extern struct MonCoords gTrainerFrontPicCoords[]; +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]; diff --git a/include/graphics.h b/include/graphics.h index 24a7b839ad..4cbee1c345 100644 --- a/include/graphics.h +++ b/include/graphics.h @@ -37,138 +37,161 @@ extern const u8 gMonFrontPic_Bulbasaur[]; extern const u8 gMonPalette_Bulbasaur[]; extern const u8 gMonBackPic_Bulbasaur[]; extern const u8 gMonShinyPalette_Bulbasaur[]; +extern const u8 gMonStillFrontPic_Bulbasaur[]; extern const u8 gMonIcon_Bulbasaur[]; extern const u8 gMonFootprint_Bulbasaur[]; extern const u8 gMonFrontPic_Ivysaur[]; extern const u8 gMonPalette_Ivysaur[]; extern const u8 gMonBackPic_Ivysaur[]; extern const u8 gMonShinyPalette_Ivysaur[]; +extern const u8 gMonStillFrontPic_Ivysaur[]; extern const u8 gMonIcon_Ivysaur[]; extern const u8 gMonFootprint_Ivysaur[]; extern const u8 gMonFrontPic_Venusaur[]; extern const u8 gMonPalette_Venusaur[]; extern const u8 gMonBackPic_Venusaur[]; extern const u8 gMonShinyPalette_Venusaur[]; +extern const u8 gMonStillFrontPic_Venusaur[]; extern const u8 gMonIcon_Venusaur[]; extern const u8 gMonFootprint_Venusaur[]; extern const u8 gMonFrontPic_Charmander[]; extern const u8 gMonPalette_Charmander[]; extern const u8 gMonBackPic_Charmander[]; extern const u8 gMonShinyPalette_Charmander[]; +extern const u8 gMonStillFrontPic_Charmander[]; extern const u8 gMonIcon_Charmander[]; extern const u8 gMonFootprint_Charmander[]; extern const u8 gMonFrontPic_Charmeleon[]; extern const u8 gMonPalette_Charmeleon[]; extern const u8 gMonBackPic_Charmeleon[]; extern const u8 gMonShinyPalette_Charmeleon[]; +extern const u8 gMonStillFrontPic_Charmeleon[]; extern const u8 gMonIcon_Charmeleon[]; extern const u8 gMonFootprint_Charmeleon[]; extern const u8 gMonFrontPic_Charizard[]; extern const u8 gMonPalette_Charizard[]; extern const u8 gMonBackPic_Charizard[]; extern const u8 gMonShinyPalette_Charizard[]; +extern const u8 gMonStillFrontPic_Charizard[]; extern const u8 gMonIcon_Charizard[]; extern const u8 gMonFootprint_Charizard[]; extern const u8 gMonFrontPic_Squirtle[]; extern const u8 gMonPalette_Squirtle[]; extern const u8 gMonBackPic_Squirtle[]; extern const u8 gMonShinyPalette_Squirtle[]; +extern const u8 gMonStillFrontPic_Squirtle[]; extern const u8 gMonIcon_Squirtle[]; extern const u8 gMonFootprint_Squirtle[]; extern const u8 gMonFrontPic_Wartortle[]; extern const u8 gMonPalette_Wartortle[]; extern const u8 gMonBackPic_Wartortle[]; extern const u8 gMonShinyPalette_Wartortle[]; +extern const u8 gMonStillFrontPic_Wartortle[]; extern const u8 gMonIcon_Wartortle[]; extern const u8 gMonFootprint_Wartortle[]; extern const u8 gMonFrontPic_Blastoise[]; extern const u8 gMonPalette_Blastoise[]; extern const u8 gMonBackPic_Blastoise[]; extern const u8 gMonShinyPalette_Blastoise[]; +extern const u8 gMonStillFrontPic_Blastoise[]; extern const u8 gMonIcon_Blastoise[]; extern const u8 gMonFootprint_Blastoise[]; extern const u8 gMonFrontPic_Caterpie[]; extern const u8 gMonPalette_Caterpie[]; extern const u8 gMonBackPic_Caterpie[]; extern const u8 gMonShinyPalette_Caterpie[]; +extern const u8 gMonStillFrontPic_Caterpie[]; extern const u8 gMonIcon_Caterpie[]; extern const u8 gMonFootprint_Caterpie[]; extern const u8 gMonFrontPic_Metapod[]; extern const u8 gMonPalette_Metapod[]; extern const u8 gMonBackPic_Metapod[]; extern const u8 gMonShinyPalette_Metapod[]; +extern const u8 gMonStillFrontPic_Metapod[]; extern const u8 gMonIcon_Metapod[]; extern const u8 gMonFootprint_Metapod[]; extern const u8 gMonFrontPic_Butterfree[]; extern const u8 gMonPalette_Butterfree[]; extern const u8 gMonBackPic_Butterfree[]; extern const u8 gMonShinyPalette_Butterfree[]; +extern const u8 gMonStillFrontPic_Butterfree[]; extern const u8 gMonIcon_Butterfree[]; extern const u8 gMonFootprint_Butterfree[]; extern const u8 gMonFrontPic_Weedle[]; extern const u8 gMonPalette_Weedle[]; extern const u8 gMonBackPic_Weedle[]; extern const u8 gMonShinyPalette_Weedle[]; +extern const u8 gMonStillFrontPic_Weedle[]; extern const u8 gMonIcon_Weedle[]; extern const u8 gMonFootprint_Weedle[]; extern const u8 gMonFrontPic_Kakuna[]; extern const u8 gMonPalette_Kakuna[]; extern const u8 gMonBackPic_Kakuna[]; extern const u8 gMonShinyPalette_Kakuna[]; +extern const u8 gMonStillFrontPic_Kakuna[]; extern const u8 gMonIcon_Kakuna[]; extern const u8 gMonFootprint_Kakuna[]; extern const u8 gMonFrontPic_Beedrill[]; extern const u8 gMonPalette_Beedrill[]; extern const u8 gMonBackPic_Beedrill[]; extern const u8 gMonShinyPalette_Beedrill[]; +extern const u8 gMonStillFrontPic_Beedrill[]; extern const u8 gMonIcon_Beedrill[]; extern const u8 gMonFootprint_Beedrill[]; extern const u8 gMonFrontPic_Pidgey[]; extern const u8 gMonPalette_Pidgey[]; extern const u8 gMonBackPic_Pidgey[]; extern const u8 gMonShinyPalette_Pidgey[]; +extern const u8 gMonStillFrontPic_Pidgey[]; extern const u8 gMonIcon_Pidgey[]; extern const u8 gMonFootprint_Pidgey[]; extern const u8 gMonFrontPic_Pidgeotto[]; extern const u8 gMonPalette_Pidgeotto[]; extern const u8 gMonBackPic_Pidgeotto[]; extern const u8 gMonShinyPalette_Pidgeotto[]; +extern const u8 gMonStillFrontPic_Pidgeotto[]; extern const u8 gMonIcon_Pidgeotto[]; extern const u8 gMonFootprint_Pidgeotto[]; extern const u8 gMonFrontPic_Pidgeot[]; extern const u8 gMonPalette_Pidgeot[]; extern const u8 gMonBackPic_Pidgeot[]; extern const u8 gMonShinyPalette_Pidgeot[]; +extern const u8 gMonStillFrontPic_Pidgeot[]; extern const u8 gMonIcon_Pidgeot[]; extern const u8 gMonFootprint_Pidgeot[]; extern const u8 gMonFrontPic_Rattata[]; extern const u8 gMonPalette_Rattata[]; extern const u8 gMonBackPic_Rattata[]; extern const u8 gMonShinyPalette_Rattata[]; +extern const u8 gMonStillFrontPic_Rattata[]; extern const u8 gMonIcon_Rattata[]; extern const u8 gMonFootprint_Rattata[]; extern const u8 gMonFrontPic_Raticate[]; extern const u8 gMonPalette_Raticate[]; extern const u8 gMonBackPic_Raticate[]; extern const u8 gMonShinyPalette_Raticate[]; +extern const u8 gMonStillFrontPic_Raticate[]; extern const u8 gMonIcon_Raticate[]; extern const u8 gMonFootprint_Raticate[]; extern const u8 gMonFrontPic_Spearow[]; extern const u8 gMonPalette_Spearow[]; extern const u8 gMonBackPic_Spearow[]; extern const u8 gMonShinyPalette_Spearow[]; +extern const u8 gMonStillFrontPic_Spearow[]; extern const u8 gMonIcon_Spearow[]; extern const u8 gMonFootprint_Spearow[]; extern const u8 gMonFrontPic_Fearow[]; extern const u8 gMonPalette_Fearow[]; extern const u8 gMonBackPic_Fearow[]; extern const u8 gMonShinyPalette_Fearow[]; +extern const u8 gMonStillFrontPic_Fearow[]; extern const u8 gMonIcon_Fearow[]; extern const u8 gMonFootprint_Fearow[]; extern const u8 gMonFrontPic_Ekans[]; extern const u8 gMonPalette_Ekans[]; extern const u8 gMonBackPic_Ekans[]; extern const u8 gMonShinyPalette_Ekans[]; +extern const u8 gMonStillFrontPic_Ekans[]; extern const u8 gMonIcon_Ekans[]; extern const u8 gMonFootprint_Ekans[]; extern const u8 gMonFrontPic_Arbok[]; @@ -181,1362 +204,1591 @@ extern const u8 gMonFrontPic_Pikachu[]; extern const u8 gMonPalette_Pikachu[]; extern const u8 gMonBackPic_Pikachu[]; extern const u8 gMonShinyPalette_Pikachu[]; +extern const u8 gMonStillFrontPic_Arbok[]; extern const u8 gMonIcon_Pikachu[]; extern const u8 gMonFootprint_Pikachu[]; +extern const u8 gMonStillFrontPic_Pikachu[]; extern const u8 gMonFrontPic_Raichu[]; extern const u8 gMonPalette_Raichu[]; extern const u8 gMonBackPic_Raichu[]; extern const u8 gMonShinyPalette_Raichu[]; +extern const u8 gMonStillFrontPic_Raichu[]; extern const u8 gMonIcon_Raichu[]; extern const u8 gMonFootprint_Raichu[]; extern const u8 gMonFrontPic_Sandshrew[]; extern const u8 gMonPalette_Sandshrew[]; extern const u8 gMonBackPic_Sandshrew[]; extern const u8 gMonShinyPalette_Sandshrew[]; +extern const u8 gMonStillFrontPic_Sandshrew[]; extern const u8 gMonIcon_Sandshrew[]; extern const u8 gMonFootprint_Sandshrew[]; extern const u8 gMonFrontPic_Sandslash[]; extern const u8 gMonPalette_Sandslash[]; extern const u8 gMonBackPic_Sandslash[]; extern const u8 gMonShinyPalette_Sandslash[]; +extern const u8 gMonStillFrontPic_Sandslash[]; extern const u8 gMonIcon_Sandslash[]; extern const u8 gMonFootprint_Sandslash[]; extern const u8 gMonFrontPic_NidoranF[]; extern const u8 gMonPalette_NidoranF[]; extern const u8 gMonBackPic_NidoranF[]; extern const u8 gMonShinyPalette_NidoranF[]; +extern const u8 gMonStillFrontPic_NidoranF[]; extern const u8 gMonIcon_NidoranF[]; extern const u8 gMonFootprint_NidoranF[]; extern const u8 gMonFrontPic_Nidorina[]; extern const u8 gMonPalette_Nidorina[]; extern const u8 gMonBackPic_Nidorina[]; extern const u8 gMonShinyPalette_Nidorina[]; +extern const u8 gMonStillFrontPic_Nidorina[]; extern const u8 gMonIcon_Nidorina[]; extern const u8 gMonFootprint_Nidorina[]; extern const u8 gMonFrontPic_Nidoqueen[]; extern const u8 gMonPalette_Nidoqueen[]; extern const u8 gMonBackPic_Nidoqueen[]; extern const u8 gMonShinyPalette_Nidoqueen[]; +extern const u8 gMonStillFrontPic_Nidoqueen[]; extern const u8 gMonIcon_Nidoqueen[]; extern const u8 gMonFootprint_Nidoqueen[]; extern const u8 gMonFrontPic_NidoranM[]; extern const u8 gMonPalette_NidoranM[]; extern const u8 gMonBackPic_NidoranM[]; extern const u8 gMonShinyPalette_NidoranM[]; +extern const u8 gMonStillFrontPic_NidoranM[]; extern const u8 gMonIcon_NidoranM[]; extern const u8 gMonFootprint_NidoranM[]; extern const u8 gMonFrontPic_Nidorino[]; extern const u8 gMonPalette_Nidorino[]; extern const u8 gMonBackPic_Nidorino[]; extern const u8 gMonShinyPalette_Nidorino[]; +extern const u8 gMonStillFrontPic_Nidorino[]; extern const u8 gMonIcon_Nidorino[]; extern const u8 gMonFootprint_Nidorino[]; extern const u8 gMonFrontPic_Nidoking[]; extern const u8 gMonPalette_Nidoking[]; extern const u8 gMonBackPic_Nidoking[]; extern const u8 gMonShinyPalette_Nidoking[]; +extern const u8 gMonStillFrontPic_Nidoking[]; extern const u8 gMonIcon_Nidoking[]; extern const u8 gMonFootprint_Nidoking[]; extern const u8 gMonFrontPic_Clefairy[]; extern const u8 gMonPalette_Clefairy[]; extern const u8 gMonBackPic_Clefairy[]; extern const u8 gMonShinyPalette_Clefairy[]; +extern const u8 gMonStillFrontPic_Clefairy[]; extern const u8 gMonIcon_Clefairy[]; extern const u8 gMonFootprint_Clefairy[]; extern const u8 gMonFrontPic_Clefable[]; extern const u8 gMonPalette_Clefable[]; extern const u8 gMonBackPic_Clefable[]; extern const u8 gMonShinyPalette_Clefable[]; +extern const u8 gMonStillFrontPic_Clefable[]; extern const u8 gMonIcon_Clefable[]; extern const u8 gMonFootprint_Clefable[]; extern const u8 gMonFrontPic_Vulpix[]; extern const u8 gMonPalette_Vulpix[]; extern const u8 gMonBackPic_Vulpix[]; extern const u8 gMonShinyPalette_Vulpix[]; +extern const u8 gMonStillFrontPic_Vulpix[]; extern const u8 gMonIcon_Vulpix[]; extern const u8 gMonFootprint_Vulpix[]; extern const u8 gMonFrontPic_Ninetales[]; extern const u8 gMonPalette_Ninetales[]; extern const u8 gMonBackPic_Ninetales[]; extern const u8 gMonShinyPalette_Ninetales[]; +extern const u8 gMonStillFrontPic_Ninetales[]; extern const u8 gMonIcon_Ninetales[]; extern const u8 gMonFootprint_Ninetales[]; extern const u8 gMonFrontPic_Jigglypuff[]; extern const u8 gMonPalette_Jigglypuff[]; extern const u8 gMonBackPic_Jigglypuff[]; extern const u8 gMonShinyPalette_Jigglypuff[]; +extern const u8 gMonStillFrontPic_Jigglypuff[]; extern const u8 gMonIcon_Jigglypuff[]; extern const u8 gMonFootprint_Jigglypuff[]; extern const u8 gMonFrontPic_Wigglytuff[]; extern const u8 gMonPalette_Wigglytuff[]; extern const u8 gMonBackPic_Wigglytuff[]; extern const u8 gMonShinyPalette_Wigglytuff[]; +extern const u8 gMonStillFrontPic_Wigglytuff[]; extern const u8 gMonIcon_Wigglytuff[]; extern const u8 gMonFootprint_Wigglytuff[]; extern const u8 gMonFrontPic_Zubat[]; extern const u8 gMonPalette_Zubat[]; extern const u8 gMonBackPic_Zubat[]; extern const u8 gMonShinyPalette_Zubat[]; +extern const u8 gMonStillFrontPic_Zubat[]; extern const u8 gMonIcon_Zubat[]; extern const u8 gMonFootprint_Zubat[]; extern const u8 gMonFrontPic_Golbat[]; extern const u8 gMonPalette_Golbat[]; extern const u8 gMonBackPic_Golbat[]; extern const u8 gMonShinyPalette_Golbat[]; +extern const u8 gMonStillFrontPic_Golbat[]; extern const u8 gMonIcon_Golbat[]; extern const u8 gMonFootprint_Golbat[]; extern const u8 gMonFrontPic_Oddish[]; extern const u8 gMonPalette_Oddish[]; extern const u8 gMonBackPic_Oddish[]; extern const u8 gMonShinyPalette_Oddish[]; +extern const u8 gMonStillFrontPic_Oddish[]; extern const u8 gMonIcon_Oddish[]; extern const u8 gMonFootprint_Oddish[]; extern const u8 gMonFrontPic_Gloom[]; extern const u8 gMonPalette_Gloom[]; extern const u8 gMonBackPic_Gloom[]; extern const u8 gMonShinyPalette_Gloom[]; +extern const u8 gMonStillFrontPic_Gloom[]; extern const u8 gMonIcon_Gloom[]; extern const u8 gMonFootprint_Gloom[]; extern const u8 gMonFrontPic_Vileplume[]; extern const u8 gMonPalette_Vileplume[]; extern const u8 gMonBackPic_Vileplume[]; extern const u8 gMonShinyPalette_Vileplume[]; +extern const u8 gMonStillFrontPic_Vileplume[]; extern const u8 gMonIcon_Vileplume[]; extern const u8 gMonFootprint_Vileplume[]; extern const u8 gMonFrontPic_Paras[]; extern const u8 gMonPalette_Paras[]; extern const u8 gMonBackPic_Paras[]; extern const u8 gMonShinyPalette_Paras[]; +extern const u8 gMonStillFrontPic_Paras[]; extern const u8 gMonIcon_Paras[]; extern const u8 gMonFootprint_Paras[]; extern const u8 gMonFrontPic_Parasect[]; extern const u8 gMonPalette_Parasect[]; extern const u8 gMonBackPic_Parasect[]; extern const u8 gMonShinyPalette_Parasect[]; +extern const u8 gMonStillFrontPic_Parasect[]; extern const u8 gMonIcon_Parasect[]; extern const u8 gMonFootprint_Parasect[]; extern const u8 gMonFrontPic_Venonat[]; extern const u8 gMonPalette_Venonat[]; extern const u8 gMonBackPic_Venonat[]; extern const u8 gMonShinyPalette_Venonat[]; +extern const u8 gMonStillFrontPic_Venonat[]; extern const u8 gMonIcon_Venonat[]; extern const u8 gMonFootprint_Venonat[]; extern const u8 gMonFrontPic_Venomoth[]; extern const u8 gMonPalette_Venomoth[]; extern const u8 gMonBackPic_Venomoth[]; extern const u8 gMonShinyPalette_Venomoth[]; +extern const u8 gMonStillFrontPic_Venomoth[]; extern const u8 gMonIcon_Venomoth[]; extern const u8 gMonFootprint_Venomoth[]; extern const u8 gMonFrontPic_Diglett[]; extern const u8 gMonPalette_Diglett[]; extern const u8 gMonBackPic_Diglett[]; extern const u8 gMonShinyPalette_Diglett[]; +extern const u8 gMonStillFrontPic_Diglett[]; extern const u8 gMonIcon_Diglett[]; extern const u8 gMonFootprint_Diglett[]; extern const u8 gMonFrontPic_Dugtrio[]; extern const u8 gMonPalette_Dugtrio[]; extern const u8 gMonBackPic_Dugtrio[]; extern const u8 gMonShinyPalette_Dugtrio[]; +extern const u8 gMonStillFrontPic_Dugtrio[]; extern const u8 gMonIcon_Dugtrio[]; extern const u8 gMonFootprint_Dugtrio[]; extern const u8 gMonFrontPic_Meowth[]; extern const u8 gMonPalette_Meowth[]; extern const u8 gMonBackPic_Meowth[]; extern const u8 gMonShinyPalette_Meowth[]; +extern const u8 gMonStillFrontPic_Meowth[]; extern const u8 gMonIcon_Meowth[]; extern const u8 gMonFootprint_Meowth[]; extern const u8 gMonFrontPic_Persian[]; extern const u8 gMonPalette_Persian[]; extern const u8 gMonBackPic_Persian[]; extern const u8 gMonShinyPalette_Persian[]; +extern const u8 gMonStillFrontPic_Persian[]; extern const u8 gMonIcon_Persian[]; extern const u8 gMonFootprint_Persian[]; extern const u8 gMonFrontPic_Psyduck[]; extern const u8 gMonPalette_Psyduck[]; extern const u8 gMonBackPic_Psyduck[]; extern const u8 gMonShinyPalette_Psyduck[]; +extern const u8 gMonStillFrontPic_Psyduck[]; extern const u8 gMonIcon_Psyduck[]; extern const u8 gMonFootprint_Psyduck[]; extern const u8 gMonFrontPic_Golduck[]; extern const u8 gMonPalette_Golduck[]; extern const u8 gMonBackPic_Golduck[]; extern const u8 gMonShinyPalette_Golduck[]; +extern const u8 gMonStillFrontPic_Golduck[]; extern const u8 gMonIcon_Golduck[]; extern const u8 gMonFootprint_Golduck[]; extern const u8 gMonFrontPic_Mankey[]; extern const u8 gMonPalette_Mankey[]; extern const u8 gMonBackPic_Mankey[]; extern const u8 gMonShinyPalette_Mankey[]; +extern const u8 gMonStillFrontPic_Mankey[]; extern const u8 gMonIcon_Mankey[]; extern const u8 gMonFootprint_Mankey[]; extern const u8 gMonFrontPic_Primeape[]; extern const u8 gMonPalette_Primeape[]; extern const u8 gMonBackPic_Primeape[]; extern const u8 gMonShinyPalette_Primeape[]; +extern const u8 gMonStillFrontPic_Primeape[]; extern const u8 gMonIcon_Primeape[]; extern const u8 gMonFootprint_Primeape[]; extern const u8 gMonFrontPic_Growlithe[]; extern const u8 gMonPalette_Growlithe[]; extern const u8 gMonBackPic_Growlithe[]; extern const u8 gMonShinyPalette_Growlithe[]; +extern const u8 gMonStillFrontPic_Growlithe[]; extern const u8 gMonIcon_Growlithe[]; extern const u8 gMonFootprint_Growlithe[]; extern const u8 gMonFrontPic_Arcanine[]; extern const u8 gMonPalette_Arcanine[]; extern const u8 gMonBackPic_Arcanine[]; extern const u8 gMonShinyPalette_Arcanine[]; +extern const u8 gMonStillFrontPic_Arcanine[]; extern const u8 gMonIcon_Arcanine[]; extern const u8 gMonFootprint_Arcanine[]; extern const u8 gMonFrontPic_Poliwag[]; extern const u8 gMonPalette_Poliwag[]; extern const u8 gMonBackPic_Poliwag[]; extern const u8 gMonShinyPalette_Poliwag[]; +extern const u8 gMonStillFrontPic_Poliwag[]; extern const u8 gMonIcon_Poliwag[]; extern const u8 gMonFootprint_Poliwag[]; extern const u8 gMonFrontPic_Poliwhirl[]; extern const u8 gMonPalette_Poliwhirl[]; extern const u8 gMonBackPic_Poliwhirl[]; extern const u8 gMonShinyPalette_Poliwhirl[]; +extern const u8 gMonStillFrontPic_Poliwhirl[]; extern const u8 gMonIcon_Poliwhirl[]; extern const u8 gMonFootprint_Poliwhirl[]; extern const u8 gMonFrontPic_Poliwrath[]; extern const u8 gMonPalette_Poliwrath[]; extern const u8 gMonBackPic_Poliwrath[]; extern const u8 gMonShinyPalette_Poliwrath[]; +extern const u8 gMonStillFrontPic_Poliwrath[]; extern const u8 gMonIcon_Poliwrath[]; extern const u8 gMonFootprint_Poliwrath[]; extern const u8 gMonFrontPic_Abra[]; extern const u8 gMonPalette_Abra[]; extern const u8 gMonBackPic_Abra[]; extern const u8 gMonShinyPalette_Abra[]; +extern const u8 gMonStillFrontPic_Abra[]; extern const u8 gMonIcon_Abra[]; extern const u8 gMonFootprint_Abra[]; extern const u8 gMonFrontPic_Kadabra[]; extern const u8 gMonPalette_Kadabra[]; extern const u8 gMonBackPic_Kadabra[]; extern const u8 gMonShinyPalette_Kadabra[]; +extern const u8 gMonStillFrontPic_Kadabra[]; extern const u8 gMonIcon_Kadabra[]; extern const u8 gMonFootprint_Kadabra[]; extern const u8 gMonFrontPic_Alakazam[]; extern const u8 gMonPalette_Alakazam[]; extern const u8 gMonBackPic_Alakazam[]; extern const u8 gMonShinyPalette_Alakazam[]; +extern const u8 gMonStillFrontPic_Alakazam[]; extern const u8 gMonIcon_Alakazam[]; extern const u8 gMonFootprint_Alakazam[]; extern const u8 gMonFrontPic_Machop[]; extern const u8 gMonPalette_Machop[]; extern const u8 gMonBackPic_Machop[]; extern const u8 gMonShinyPalette_Machop[]; +extern const u8 gMonStillFrontPic_Machop[]; extern const u8 gMonIcon_Machop[]; extern const u8 gMonFootprint_Machop[]; extern const u8 gMonFrontPic_Machoke[]; extern const u8 gMonPalette_Machoke[]; extern const u8 gMonBackPic_Machoke[]; extern const u8 gMonShinyPalette_Machoke[]; +extern const u8 gMonStillFrontPic_Machoke[]; extern const u8 gMonIcon_Machoke[]; extern const u8 gMonFootprint_Machoke[]; extern const u8 gMonFrontPic_Machamp[]; extern const u8 gMonPalette_Machamp[]; extern const u8 gMonBackPic_Machamp[]; extern const u8 gMonShinyPalette_Machamp[]; +extern const u8 gMonStillFrontPic_Machamp[]; extern const u8 gMonIcon_Machamp[]; extern const u8 gMonFootprint_Machamp[]; extern const u8 gMonFrontPic_Bellsprout[]; extern const u8 gMonPalette_Bellsprout[]; extern const u8 gMonBackPic_Bellsprout[]; extern const u8 gMonShinyPalette_Bellsprout[]; +extern const u8 gMonStillFrontPic_Bellsprout[]; extern const u8 gMonIcon_Bellsprout[]; extern const u8 gMonFootprint_Bellsprout[]; extern const u8 gMonFrontPic_Weepinbell[]; extern const u8 gMonPalette_Weepinbell[]; extern const u8 gMonBackPic_Weepinbell[]; extern const u8 gMonShinyPalette_Weepinbell[]; +extern const u8 gMonStillFrontPic_Weepinbell[]; extern const u8 gMonIcon_Weepinbell[]; extern const u8 gMonFootprint_Weepinbell[]; extern const u8 gMonFrontPic_Victreebel[]; extern const u8 gMonPalette_Victreebel[]; extern const u8 gMonBackPic_Victreebel[]; extern const u8 gMonShinyPalette_Victreebel[]; +extern const u8 gMonStillFrontPic_Victreebel[]; extern const u8 gMonIcon_Victreebel[]; extern const u8 gMonFootprint_Victreebel[]; extern const u8 gMonFrontPic_Tentacool[]; extern const u8 gMonPalette_Tentacool[]; extern const u8 gMonBackPic_Tentacool[]; extern const u8 gMonShinyPalette_Tentacool[]; +extern const u8 gMonStillFrontPic_Tentacool[]; extern const u8 gMonIcon_Tentacool[]; extern const u8 gMonFootprint_Tentacool[]; extern const u8 gMonFrontPic_Tentacruel[]; extern const u8 gMonPalette_Tentacruel[]; extern const u8 gMonBackPic_Tentacruel[]; extern const u8 gMonShinyPalette_Tentacruel[]; +extern const u8 gMonStillFrontPic_Tentacruel[]; extern const u8 gMonIcon_Tentacruel[]; extern const u8 gMonFootprint_Tentacruel[]; extern const u8 gMonFrontPic_Geodude[]; extern const u8 gMonPalette_Geodude[]; extern const u8 gMonBackPic_Geodude[]; extern const u8 gMonShinyPalette_Geodude[]; +extern const u8 gMonStillFrontPic_Geodude[]; extern const u8 gMonIcon_Geodude[]; extern const u8 gMonFootprint_Geodude[]; extern const u8 gMonFrontPic_Graveler[]; extern const u8 gMonPalette_Graveler[]; extern const u8 gMonBackPic_Graveler[]; extern const u8 gMonShinyPalette_Graveler[]; +extern const u8 gMonStillFrontPic_Graveler[]; extern const u8 gMonIcon_Graveler[]; extern const u8 gMonFootprint_Graveler[]; extern const u8 gMonFrontPic_Golem[]; extern const u8 gMonPalette_Golem[]; extern const u8 gMonBackPic_Golem[]; extern const u8 gMonShinyPalette_Golem[]; +extern const u8 gMonStillFrontPic_Golem[]; extern const u8 gMonIcon_Golem[]; extern const u8 gMonFootprint_Golem[]; extern const u8 gMonFrontPic_Ponyta[]; extern const u8 gMonPalette_Ponyta[]; extern const u8 gMonBackPic_Ponyta[]; extern const u8 gMonShinyPalette_Ponyta[]; +extern const u8 gMonStillFrontPic_Ponyta[]; extern const u8 gMonIcon_Ponyta[]; extern const u8 gMonFootprint_Ponyta[]; extern const u8 gMonFrontPic_Rapidash[]; extern const u8 gMonPalette_Rapidash[]; extern const u8 gMonBackPic_Rapidash[]; extern const u8 gMonShinyPalette_Rapidash[]; +extern const u8 gMonStillFrontPic_Rapidash[]; extern const u8 gMonIcon_Rapidash[]; extern const u8 gMonFootprint_Rapidash[]; extern const u8 gMonFrontPic_Slowpoke[]; extern const u8 gMonPalette_Slowpoke[]; extern const u8 gMonBackPic_Slowpoke[]; extern const u8 gMonShinyPalette_Slowpoke[]; +extern const u8 gMonStillFrontPic_Slowpoke[]; extern const u8 gMonIcon_Slowpoke[]; extern const u8 gMonFootprint_Slowpoke[]; extern const u8 gMonFrontPic_Slowbro[]; extern const u8 gMonPalette_Slowbro[]; extern const u8 gMonBackPic_Slowbro[]; extern const u8 gMonShinyPalette_Slowbro[]; +extern const u8 gMonStillFrontPic_Slowbro[]; extern const u8 gMonIcon_Slowbro[]; extern const u8 gMonFootprint_Slowbro[]; extern const u8 gMonFrontPic_Magnemite[]; extern const u8 gMonPalette_Magnemite[]; extern const u8 gMonBackPic_Magnemite[]; extern const u8 gMonShinyPalette_Magnemite[]; +extern const u8 gMonStillFrontPic_Magnemite[]; extern const u8 gMonIcon_Magnemite[]; extern const u8 gMonFootprint_Magnemite[]; extern const u8 gMonFrontPic_Magneton[]; extern const u8 gMonPalette_Magneton[]; extern const u8 gMonBackPic_Magneton[]; extern const u8 gMonShinyPalette_Magneton[]; +extern const u8 gMonStillFrontPic_Magneton[]; extern const u8 gMonIcon_Magneton[]; extern const u8 gMonFootprint_Magneton[]; extern const u8 gMonFrontPic_Farfetchd[]; extern const u8 gMonPalette_Farfetchd[]; extern const u8 gMonBackPic_Farfetchd[]; extern const u8 gMonShinyPalette_Farfetchd[]; +extern const u8 gMonStillFrontPic_Farfetchd[]; extern const u8 gMonIcon_Farfetchd[]; extern const u8 gMonFootprint_Farfetchd[]; extern const u8 gMonFrontPic_Doduo[]; extern const u8 gMonPalette_Doduo[]; extern const u8 gMonBackPic_Doduo[]; extern const u8 gMonShinyPalette_Doduo[]; +extern const u8 gMonStillFrontPic_Doduo[]; extern const u8 gMonIcon_Doduo[]; extern const u8 gMonFootprint_Doduo[]; extern const u8 gMonFrontPic_Dodrio[]; extern const u8 gMonPalette_Dodrio[]; extern const u8 gMonBackPic_Dodrio[]; extern const u8 gMonShinyPalette_Dodrio[]; +extern const u8 gMonStillFrontPic_Dodrio[]; extern const u8 gMonIcon_Dodrio[]; extern const u8 gMonFootprint_Dodrio[]; extern const u8 gMonFrontPic_Seel[]; extern const u8 gMonPalette_Seel[]; extern const u8 gMonBackPic_Seel[]; extern const u8 gMonShinyPalette_Seel[]; +extern const u8 gMonStillFrontPic_Seel[]; extern const u8 gMonIcon_Seel[]; extern const u8 gMonFootprint_Seel[]; extern const u8 gMonFrontPic_Dewgong[]; extern const u8 gMonPalette_Dewgong[]; extern const u8 gMonBackPic_Dewgong[]; extern const u8 gMonShinyPalette_Dewgong[]; +extern const u8 gMonStillFrontPic_Dewgong[]; extern const u8 gMonIcon_Dewgong[]; extern const u8 gMonFootprint_Dewgong[]; extern const u8 gMonFrontPic_Grimer[]; extern const u8 gMonPalette_Grimer[]; extern const u8 gMonBackPic_Grimer[]; extern const u8 gMonShinyPalette_Grimer[]; +extern const u8 gMonStillFrontPic_Grimer[]; extern const u8 gMonIcon_Grimer[]; extern const u8 gMonFootprint_Grimer[]; +extern const u8 gMonStillFrontPic_Muk[]; extern const u8 gMonFrontPic_Muk[]; extern const u8 gMonPalette_Muk[]; extern const u8 gMonBackPic_Muk[]; extern const u8 gMonShinyPalette_Muk[]; +extern const u8 gMonStillFrontPic_Shellder[]; extern const u8 gMonIcon_Muk[]; extern const u8 gMonFootprint_Muk[]; extern const u8 gMonFrontPic_Shellder[]; extern const u8 gMonPalette_Shellder[]; extern const u8 gMonBackPic_Shellder[]; extern const u8 gMonShinyPalette_Shellder[]; +extern const u8 gMonStillFrontPic_Cloyster[]; extern const u8 gMonIcon_Shellder[]; extern const u8 gMonFootprint_Shellder[]; extern const u8 gMonFrontPic_Cloyster[]; extern const u8 gMonPalette_Cloyster[]; extern const u8 gMonBackPic_Cloyster[]; extern const u8 gMonShinyPalette_Cloyster[]; +extern const u8 gMonStillFrontPic_Gastly[]; extern const u8 gMonIcon_Cloyster[]; extern const u8 gMonFootprint_Cloyster[]; extern const u8 gMonFrontPic_Gastly[]; extern const u8 gMonPalette_Gastly[]; extern const u8 gMonBackPic_Gastly[]; extern const u8 gMonShinyPalette_Gastly[]; +extern const u8 gMonStillFrontPic_Haunter[]; extern const u8 gMonIcon_Gastly[]; extern const u8 gMonFootprint_Gastly[]; extern const u8 gMonFrontPic_Haunter[]; extern const u8 gMonPalette_Haunter[]; extern const u8 gMonBackPic_Haunter[]; extern const u8 gMonShinyPalette_Haunter[]; +extern const u8 gMonStillFrontPic_Haunter[]; extern const u8 gMonIcon_Haunter[]; extern const u8 gMonFootprint_Haunter[]; extern const u8 gMonFrontPic_Gengar[]; extern const u8 gMonPalette_Gengar[]; extern const u8 gMonBackPic_Gengar[]; extern const u8 gMonShinyPalette_Gengar[]; +extern const u8 gMonStillFrontPic_Gengar[]; extern const u8 gMonIcon_Gengar[]; extern const u8 gMonFootprint_Gengar[]; extern const u8 gMonFrontPic_Onix[]; extern const u8 gMonPalette_Onix[]; extern const u8 gMonBackPic_Onix[]; extern const u8 gMonShinyPalette_Onix[]; +extern const u8 gMonStillFrontPic_Onix[]; extern const u8 gMonIcon_Onix[]; extern const u8 gMonFootprint_Onix[]; extern const u8 gMonFrontPic_Drowzee[]; extern const u8 gMonPalette_Drowzee[]; extern const u8 gMonBackPic_Drowzee[]; extern const u8 gMonShinyPalette_Drowzee[]; +extern const u8 gMonStillFrontPic_Drowzee[]; extern const u8 gMonIcon_Drowzee[]; extern const u8 gMonFootprint_Drowzee[]; extern const u8 gMonFrontPic_Hypno[]; extern const u8 gMonPalette_Hypno[]; extern const u8 gMonBackPic_Hypno[]; extern const u8 gMonShinyPalette_Hypno[]; +extern const u8 gMonStillFrontPic_Hypno[]; extern const u8 gMonIcon_Hypno[]; extern const u8 gMonFootprint_Hypno[]; extern const u8 gMonFrontPic_Krabby[]; extern const u8 gMonPalette_Krabby[]; extern const u8 gMonBackPic_Krabby[]; extern const u8 gMonShinyPalette_Krabby[]; +extern const u8 gMonStillFrontPic_Krabby[]; extern const u8 gMonIcon_Krabby[]; extern const u8 gMonFootprint_Krabby[]; extern const u8 gMonFrontPic_Kingler[]; extern const u8 gMonPalette_Kingler[]; extern const u8 gMonBackPic_Kingler[]; extern const u8 gMonShinyPalette_Kingler[]; +extern const u8 gMonStillFrontPic_Kingler[]; extern const u8 gMonIcon_Kingler[]; extern const u8 gMonFootprint_Kingler[]; extern const u8 gMonFrontPic_Voltorb[]; extern const u8 gMonPalette_Voltorb[]; extern const u8 gMonBackPic_Voltorb[]; extern const u8 gMonShinyPalette_Voltorb[]; +extern const u8 gMonStillFrontPic_Voltorb[]; extern const u8 gMonIcon_Voltorb[]; extern const u8 gMonFootprint_Voltorb[]; extern const u8 gMonFrontPic_Electrode[]; extern const u8 gMonPalette_Electrode[]; extern const u8 gMonBackPic_Electrode[]; extern const u8 gMonShinyPalette_Electrode[]; +extern const u8 gMonStillFrontPic_Electrode[]; extern const u8 gMonIcon_Electrode[]; extern const u8 gMonFootprint_Electrode[]; extern const u8 gMonFrontPic_Exeggcute[]; extern const u8 gMonPalette_Exeggcute[]; extern const u8 gMonBackPic_Exeggcute[]; extern const u8 gMonShinyPalette_Exeggcute[]; +extern const u8 gMonStillFrontPic_Exeggcute[]; extern const u8 gMonIcon_Exeggcute[]; extern const u8 gMonFootprint_Exeggcute[]; extern const u8 gMonFrontPic_Exeggutor[]; extern const u8 gMonPalette_Exeggutor[]; extern const u8 gMonBackPic_Exeggutor[]; extern const u8 gMonShinyPalette_Exeggutor[]; +extern const u8 gMonStillFrontPic_Exeggutor[]; extern const u8 gMonIcon_Exeggutor[]; extern const u8 gMonFootprint_Exeggutor[]; extern const u8 gMonFrontPic_Cubone[]; extern const u8 gMonPalette_Cubone[]; extern const u8 gMonBackPic_Cubone[]; extern const u8 gMonShinyPalette_Cubone[]; +extern const u8 gMonStillFrontPic_Cubone[]; extern const u8 gMonIcon_Cubone[]; extern const u8 gMonFootprint_Cubone[]; extern const u8 gMonFrontPic_Marowak[]; extern const u8 gMonPalette_Marowak[]; extern const u8 gMonBackPic_Marowak[]; extern const u8 gMonShinyPalette_Marowak[]; +extern const u8 gMonStillFrontPic_Marowak[]; extern const u8 gMonIcon_Marowak[]; extern const u8 gMonFootprint_Marowak[]; extern const u8 gMonFrontPic_Hitmonlee[]; extern const u8 gMonPalette_Hitmonlee[]; extern const u8 gMonBackPic_Hitmonlee[]; extern const u8 gMonShinyPalette_Hitmonlee[]; +extern const u8 gMonStillFrontPic_Hitmonlee[]; extern const u8 gMonIcon_Hitmonlee[]; extern const u8 gMonFootprint_Hitmonlee[]; extern const u8 gMonFrontPic_Hitmonchan[]; extern const u8 gMonPalette_Hitmonchan[]; extern const u8 gMonBackPic_Hitmonchan[]; extern const u8 gMonShinyPalette_Hitmonchan[]; +extern const u8 gMonStillFrontPic_Hitmonchan[]; extern const u8 gMonIcon_Hitmonchan[]; extern const u8 gMonFootprint_Hitmonchan[]; extern const u8 gMonFrontPic_Lickitung[]; extern const u8 gMonPalette_Lickitung[]; extern const u8 gMonBackPic_Lickitung[]; extern const u8 gMonShinyPalette_Lickitung[]; +extern const u8 gMonStillFrontPic_Lickitung[]; extern const u8 gMonIcon_Lickitung[]; extern const u8 gMonFootprint_Lickitung[]; extern const u8 gMonFrontPic_Koffing[]; extern const u8 gMonPalette_Koffing[]; extern const u8 gMonBackPic_Koffing[]; extern const u8 gMonShinyPalette_Koffing[]; +extern const u8 gMonStillFrontPic_Koffing[]; extern const u8 gMonIcon_Koffing[]; extern const u8 gMonFootprint_Koffing[]; extern const u8 gMonFrontPic_Weezing[]; extern const u8 gMonPalette_Weezing[]; extern const u8 gMonBackPic_Weezing[]; extern const u8 gMonShinyPalette_Weezing[]; +extern const u8 gMonStillFrontPic_Weezing[]; extern const u8 gMonIcon_Weezing[]; extern const u8 gMonFootprint_Weezing[]; extern const u8 gMonFrontPic_Rhyhorn[]; extern const u8 gMonPalette_Rhyhorn[]; extern const u8 gMonBackPic_Rhyhorn[]; extern const u8 gMonShinyPalette_Rhyhorn[]; +extern const u8 gMonStillFrontPic_Rhyhorn[]; extern const u8 gMonIcon_Rhyhorn[]; extern const u8 gMonFootprint_Rhyhorn[]; extern const u8 gMonFrontPic_Rhydon[]; extern const u8 gMonPalette_Rhydon[]; extern const u8 gMonBackPic_Rhydon[]; extern const u8 gMonShinyPalette_Rhydon[]; +extern const u8 gMonStillFrontPic_Rhydon[]; extern const u8 gMonIcon_Rhydon[]; extern const u8 gMonFootprint_Rhydon[]; extern const u8 gMonFrontPic_Chansey[]; extern const u8 gMonPalette_Chansey[]; extern const u8 gMonBackPic_Chansey[]; extern const u8 gMonShinyPalette_Chansey[]; +extern const u8 gMonStillFrontPic_Chansey[]; extern const u8 gMonIcon_Chansey[]; extern const u8 gMonFootprint_Chansey[]; extern const u8 gMonFrontPic_Tangela[]; extern const u8 gMonPalette_Tangela[]; extern const u8 gMonBackPic_Tangela[]; extern const u8 gMonShinyPalette_Tangela[]; +extern const u8 gMonStillFrontPic_Tangela[]; extern const u8 gMonIcon_Tangela[]; extern const u8 gMonFootprint_Tangela[]; extern const u8 gMonFrontPic_Kangaskhan[]; extern const u8 gMonPalette_Kangaskhan[]; extern const u8 gMonBackPic_Kangaskhan[]; extern const u8 gMonShinyPalette_Kangaskhan[]; +extern const u8 gMonStillFrontPic_Kangaskhan[]; extern const u8 gMonIcon_Kangaskhan[]; extern const u8 gMonFootprint_Kangaskhan[]; extern const u8 gMonFrontPic_Horsea[]; extern const u8 gMonPalette_Horsea[]; extern const u8 gMonBackPic_Horsea[]; extern const u8 gMonShinyPalette_Horsea[]; +extern const u8 gMonStillFrontPic_Horsea[]; extern const u8 gMonIcon_Horsea[]; extern const u8 gMonFootprint_Horsea[]; extern const u8 gMonFrontPic_Seadra[]; extern const u8 gMonPalette_Seadra[]; extern const u8 gMonBackPic_Seadra[]; extern const u8 gMonShinyPalette_Seadra[]; +extern const u8 gMonStillFrontPic_Seadra[]; extern const u8 gMonIcon_Seadra[]; extern const u8 gMonFootprint_Seadra[]; extern const u8 gMonFrontPic_Goldeen[]; extern const u8 gMonPalette_Goldeen[]; extern const u8 gMonBackPic_Goldeen[]; extern const u8 gMonShinyPalette_Goldeen[]; +extern const u8 gMonStillFrontPic_Goldeen[]; extern const u8 gMonIcon_Goldeen[]; extern const u8 gMonFootprint_Goldeen[]; extern const u8 gMonFrontPic_Seaking[]; extern const u8 gMonPalette_Seaking[]; extern const u8 gMonBackPic_Seaking[]; extern const u8 gMonShinyPalette_Seaking[]; +extern const u8 gMonStillFrontPic_Seaking[]; extern const u8 gMonIcon_Seaking[]; extern const u8 gMonFootprint_Seaking[]; extern const u8 gMonFrontPic_Staryu[]; extern const u8 gMonPalette_Staryu[]; extern const u8 gMonBackPic_Staryu[]; extern const u8 gMonShinyPalette_Staryu[]; +extern const u8 gMonStillFrontPic_Staryu[]; extern const u8 gMonIcon_Staryu[]; extern const u8 gMonFootprint_Staryu[]; extern const u8 gMonFrontPic_Starmie[]; extern const u8 gMonPalette_Starmie[]; extern const u8 gMonBackPic_Starmie[]; extern const u8 gMonShinyPalette_Starmie[]; +extern const u8 gMonStillFrontPic_Starmie[]; extern const u8 gMonIcon_Starmie[]; extern const u8 gMonFootprint_Starmie[]; extern const u8 gMonFrontPic_Mrmime[]; extern const u8 gMonPalette_Mrmime[]; extern const u8 gMonBackPic_Mrmime[]; extern const u8 gMonShinyPalette_Mrmime[]; +extern const u8 gMonStillFrontPic_Mrmime[]; extern const u8 gMonIcon_Mrmime[]; extern const u8 gMonFootprint_Mrmime[]; extern const u8 gMonFrontPic_Scyther[]; extern const u8 gMonPalette_Scyther[]; extern const u8 gMonBackPic_Scyther[]; extern const u8 gMonShinyPalette_Scyther[]; +extern const u8 gMonStillFrontPic_Scyther[]; extern const u8 gMonIcon_Scyther[]; extern const u8 gMonFootprint_Scyther[]; extern const u8 gMonFrontPic_Jynx[]; extern const u8 gMonPalette_Jynx[]; extern const u8 gMonBackPic_Jynx[]; extern const u8 gMonShinyPalette_Jynx[]; +extern const u8 gMonStillFrontPic_Jynx[]; extern const u8 gMonIcon_Jynx[]; extern const u8 gMonFootprint_Jynx[]; extern const u8 gMonFrontPic_Electabuzz[]; extern const u8 gMonPalette_Electabuzz[]; extern const u8 gMonBackPic_Electabuzz[]; extern const u8 gMonShinyPalette_Electabuzz[]; +extern const u8 gMonStillFrontPic_Electabuzz[]; extern const u8 gMonIcon_Electabuzz[]; extern const u8 gMonFootprint_Electabuzz[]; extern const u8 gMonFrontPic_Magmar[]; extern const u8 gMonPalette_Magmar[]; extern const u8 gMonBackPic_Magmar[]; extern const u8 gMonShinyPalette_Magmar[]; +extern const u8 gMonStillFrontPic_Magmar[]; extern const u8 gMonIcon_Magmar[]; extern const u8 gMonFootprint_Magmar[]; extern const u8 gMonFrontPic_Pinsir[]; extern const u8 gMonPalette_Pinsir[]; extern const u8 gMonBackPic_Pinsir[]; extern const u8 gMonShinyPalette_Pinsir[]; +extern const u8 gMonStillFrontPic_Pinsir[]; extern const u8 gMonIcon_Pinsir[]; extern const u8 gMonFootprint_Pinsir[]; extern const u8 gMonFrontPic_Tauros[]; extern const u8 gMonPalette_Tauros[]; extern const u8 gMonBackPic_Tauros[]; extern const u8 gMonShinyPalette_Tauros[]; +extern const u8 gMonStillFrontPic_Tauros[]; extern const u8 gMonIcon_Tauros[]; extern const u8 gMonFootprint_Tauros[]; extern const u8 gMonFrontPic_Magikarp[]; extern const u8 gMonPalette_Magikarp[]; extern const u8 gMonBackPic_Magikarp[]; extern const u8 gMonShinyPalette_Magikarp[]; +extern const u8 gMonStillFrontPic_Magikarp[]; extern const u8 gMonIcon_Magikarp[]; extern const u8 gMonFootprint_Magikarp[]; extern const u8 gMonFrontPic_Gyarados[]; extern const u8 gMonPalette_Gyarados[]; extern const u8 gMonBackPic_Gyarados[]; extern const u8 gMonShinyPalette_Gyarados[]; +extern const u8 gMonStillFrontPic_Gyarados[]; extern const u8 gMonIcon_Gyarados[]; extern const u8 gMonFootprint_Gyarados[]; extern const u8 gMonFrontPic_Lapras[]; extern const u8 gMonPalette_Lapras[]; extern const u8 gMonBackPic_Lapras[]; extern const u8 gMonShinyPalette_Lapras[]; +extern const u8 gMonStillFrontPic_Lapras[]; extern const u8 gMonIcon_Lapras[]; extern const u8 gMonFootprint_Lapras[]; extern const u8 gMonFrontPic_Ditto[]; extern const u8 gMonPalette_Ditto[]; extern const u8 gMonBackPic_Ditto[]; extern const u8 gMonShinyPalette_Ditto[]; +extern const u8 gMonStillFrontPic_Ditto[]; extern const u8 gMonIcon_Ditto[]; extern const u8 gMonFootprint_Ditto[]; extern const u8 gMonFrontPic_Eevee[]; extern const u8 gMonPalette_Eevee[]; extern const u8 gMonBackPic_Eevee[]; extern const u8 gMonShinyPalette_Eevee[]; +extern const u8 gMonStillFrontPic_Eevee[]; extern const u8 gMonIcon_Eevee[]; extern const u8 gMonFootprint_Eevee[]; extern const u8 gMonFrontPic_Vaporeon[]; extern const u8 gMonPalette_Vaporeon[]; extern const u8 gMonBackPic_Vaporeon[]; extern const u8 gMonShinyPalette_Vaporeon[]; +extern const u8 gMonStillFrontPic_Vaporeon[]; extern const u8 gMonIcon_Vaporeon[]; extern const u8 gMonFootprint_Vaporeon[]; extern const u8 gMonFrontPic_Jolteon[]; extern const u8 gMonPalette_Jolteon[]; extern const u8 gMonBackPic_Jolteon[]; extern const u8 gMonShinyPalette_Jolteon[]; +extern const u8 gMonStillFrontPic_Jolteon[]; extern const u8 gMonIcon_Jolteon[]; extern const u8 gMonFootprint_Jolteon[]; extern const u8 gMonFrontPic_Flareon[]; extern const u8 gMonPalette_Flareon[]; extern const u8 gMonBackPic_Flareon[]; extern const u8 gMonShinyPalette_Flareon[]; +extern const u8 gMonStillFrontPic_Flareon[]; extern const u8 gMonIcon_Flareon[]; extern const u8 gMonFootprint_Flareon[]; extern const u8 gMonFrontPic_Porygon[]; extern const u8 gMonPalette_Porygon[]; extern const u8 gMonBackPic_Porygon[]; extern const u8 gMonShinyPalette_Porygon[]; +extern const u8 gMonStillFrontPic_Porygon[]; extern const u8 gMonIcon_Porygon[]; extern const u8 gMonFootprint_Porygon[]; extern const u8 gMonFrontPic_Omanyte[]; extern const u8 gMonPalette_Omanyte[]; extern const u8 gMonBackPic_Omanyte[]; extern const u8 gMonShinyPalette_Omanyte[]; +extern const u8 gMonStillFrontPic_Omanyte[]; extern const u8 gMonIcon_Omanyte[]; extern const u8 gMonFootprint_Omanyte[]; extern const u8 gMonFrontPic_Omastar[]; extern const u8 gMonPalette_Omastar[]; extern const u8 gMonBackPic_Omastar[]; extern const u8 gMonShinyPalette_Omastar[]; +extern const u8 gMonStillFrontPic_Omastar[]; extern const u8 gMonIcon_Omastar[]; extern const u8 gMonFootprint_Omastar[]; extern const u8 gMonFrontPic_Kabuto[]; extern const u8 gMonPalette_Kabuto[]; extern const u8 gMonBackPic_Kabuto[]; extern const u8 gMonShinyPalette_Kabuto[]; +extern const u8 gMonStillFrontPic_Kabuto[]; extern const u8 gMonIcon_Kabuto[]; extern const u8 gMonFootprint_Kabuto[]; extern const u8 gMonFrontPic_Kabutops[]; extern const u8 gMonPalette_Kabutops[]; extern const u8 gMonBackPic_Kabutops[]; extern const u8 gMonShinyPalette_Kabutops[]; +extern const u8 gMonStillFrontPic_Kabutops[]; extern const u8 gMonIcon_Kabutops[]; extern const u8 gMonFootprint_Kabutops[]; extern const u8 gMonFrontPic_Aerodactyl[]; extern const u8 gMonPalette_Aerodactyl[]; extern const u8 gMonBackPic_Aerodactyl[]; extern const u8 gMonShinyPalette_Aerodactyl[]; +extern const u8 gMonStillFrontPic_Aerodactyl[]; extern const u8 gMonIcon_Aerodactyl[]; extern const u8 gMonFootprint_Aerodactyl[]; extern const u8 gMonFrontPic_Snorlax[]; extern const u8 gMonPalette_Snorlax[]; extern const u8 gMonBackPic_Snorlax[]; extern const u8 gMonShinyPalette_Snorlax[]; +extern const u8 gMonStillFrontPic_Snorlax[]; extern const u8 gMonIcon_Snorlax[]; extern const u8 gMonFootprint_Snorlax[]; extern const u8 gMonFrontPic_Articuno[]; extern const u8 gMonPalette_Articuno[]; extern const u8 gMonBackPic_Articuno[]; extern const u8 gMonShinyPalette_Articuno[]; +extern const u8 gMonStillFrontPic_Articuno[]; extern const u8 gMonIcon_Articuno[]; extern const u8 gMonFootprint_Articuno[]; extern const u8 gMonFrontPic_Zapdos[]; extern const u8 gMonPalette_Zapdos[]; extern const u8 gMonBackPic_Zapdos[]; extern const u8 gMonShinyPalette_Zapdos[]; +extern const u8 gMonStillFrontPic_Zapdos[]; extern const u8 gMonIcon_Zapdos[]; extern const u8 gMonFootprint_Zapdos[]; extern const u8 gMonFrontPic_Moltres[]; extern const u8 gMonPalette_Moltres[]; extern const u8 gMonBackPic_Moltres[]; extern const u8 gMonShinyPalette_Moltres[]; +extern const u8 gMonStillFrontPic_Moltres[]; extern const u8 gMonIcon_Moltres[]; extern const u8 gMonFootprint_Moltres[]; extern const u8 gMonFrontPic_Dratini[]; extern const u8 gMonPalette_Dratini[]; extern const u8 gMonBackPic_Dratini[]; extern const u8 gMonShinyPalette_Dratini[]; +extern const u8 gMonStillFrontPic_Dratini[]; extern const u8 gMonIcon_Dratini[]; extern const u8 gMonFootprint_Dratini[]; extern const u8 gMonFrontPic_Dragonair[]; extern const u8 gMonPalette_Dragonair[]; extern const u8 gMonBackPic_Dragonair[]; extern const u8 gMonShinyPalette_Dragonair[]; +extern const u8 gMonStillFrontPic_Dragonair[]; extern const u8 gMonIcon_Dragonair[]; extern const u8 gMonFootprint_Dragonair[]; extern const u8 gMonFrontPic_Dragonite[]; extern const u8 gMonPalette_Dragonite[]; extern const u8 gMonBackPic_Dragonite[]; extern const u8 gMonShinyPalette_Dragonite[]; +extern const u8 gMonStillFrontPic_Dragonite[]; extern const u8 gMonIcon_Dragonite[]; extern const u8 gMonFootprint_Dragonite[]; extern const u8 gMonFrontPic_Mewtwo[]; extern const u8 gMonPalette_Mewtwo[]; extern const u8 gMonBackPic_Mewtwo[]; extern const u8 gMonShinyPalette_Mewtwo[]; +extern const u8 gMonStillFrontPic_Mewtwo[]; extern const u8 gMonIcon_Mewtwo[]; extern const u8 gMonFootprint_Mewtwo[]; extern const u8 gMonFrontPic_Mew[]; extern const u8 gMonPalette_Mew[]; extern const u8 gMonBackPic_Mew[]; extern const u8 gMonShinyPalette_Mew[]; +extern const u8 gMonStillFrontPic_Mew[]; extern const u8 gMonIcon_Mew[]; extern const u8 gMonFootprint_Mew[]; extern const u8 gMonFrontPic_Chikorita[]; extern const u8 gMonPalette_Chikorita[]; extern const u8 gMonBackPic_Chikorita[]; extern const u8 gMonShinyPalette_Chikorita[]; +extern const u8 gMonStillFrontPic_Chikorita[]; extern const u8 gMonIcon_Chikorita[]; extern const u8 gMonFootprint_Chikorita[]; extern const u8 gMonFrontPic_Bayleef[]; extern const u8 gMonPalette_Bayleef[]; extern const u8 gMonBackPic_Bayleef[]; extern const u8 gMonShinyPalette_Bayleef[]; +extern const u8 gMonStillFrontPic_Bayleef[]; extern const u8 gMonIcon_Bayleef[]; extern const u8 gMonFootprint_Bayleef[]; extern const u8 gMonFrontPic_Meganium[]; extern const u8 gMonPalette_Meganium[]; extern const u8 gMonBackPic_Meganium[]; extern const u8 gMonShinyPalette_Meganium[]; +extern const u8 gMonStillFrontPic_Meganium[]; extern const u8 gMonIcon_Meganium[]; extern const u8 gMonFootprint_Meganium[]; extern const u8 gMonFrontPic_Cyndaquil[]; extern const u8 gMonPalette_Cyndaquil[]; extern const u8 gMonBackPic_Cyndaquil[]; extern const u8 gMonShinyPalette_Cyndaquil[]; +extern const u8 gMonStillFrontPic_Cyndaquil[]; extern const u8 gMonIcon_Cyndaquil[]; extern const u8 gMonFootprint_Cyndaquil[]; extern const u8 gMonFrontPic_Quilava[]; extern const u8 gMonPalette_Quilava[]; extern const u8 gMonBackPic_Quilava[]; extern const u8 gMonShinyPalette_Quilava[]; +extern const u8 gMonStillFrontPic_Quilava[]; extern const u8 gMonIcon_Quilava[]; extern const u8 gMonFootprint_Quilava[]; extern const u8 gMonFrontPic_Typhlosion[]; extern const u8 gMonPalette_Typhlosion[]; extern const u8 gMonBackPic_Typhlosion[]; extern const u8 gMonShinyPalette_Typhlosion[]; +extern const u8 gMonStillFrontPic_Typhlosion[]; extern const u8 gMonIcon_Typhlosion[]; extern const u8 gMonFootprint_Typhlosion[]; extern const u8 gMonFrontPic_Totodile[]; extern const u8 gMonPalette_Totodile[]; extern const u8 gMonBackPic_Totodile[]; extern const u8 gMonShinyPalette_Totodile[]; +extern const u8 gMonStillFrontPic_Totodile[]; extern const u8 gMonIcon_Totodile[]; extern const u8 gMonFootprint_Totodile[]; extern const u8 gMonFrontPic_Croconaw[]; extern const u8 gMonPalette_Croconaw[]; extern const u8 gMonBackPic_Croconaw[]; extern const u8 gMonShinyPalette_Croconaw[]; +extern const u8 gMonStillFrontPic_Croconaw[]; extern const u8 gMonIcon_Croconaw[]; extern const u8 gMonFootprint_Croconaw[]; extern const u8 gMonFrontPic_Feraligatr[]; extern const u8 gMonPalette_Feraligatr[]; extern const u8 gMonBackPic_Feraligatr[]; extern const u8 gMonShinyPalette_Feraligatr[]; +extern const u8 gMonStillFrontPic_Feraligatr[]; extern const u8 gMonIcon_Feraligatr[]; extern const u8 gMonFootprint_Feraligatr[]; extern const u8 gMonFrontPic_Sentret[]; extern const u8 gMonPalette_Sentret[]; extern const u8 gMonBackPic_Sentret[]; extern const u8 gMonShinyPalette_Sentret[]; +extern const u8 gMonStillFrontPic_Sentret[]; extern const u8 gMonIcon_Sentret[]; extern const u8 gMonFootprint_Sentret[]; extern const u8 gMonFrontPic_Furret[]; extern const u8 gMonPalette_Furret[]; extern const u8 gMonBackPic_Furret[]; extern const u8 gMonShinyPalette_Furret[]; +extern const u8 gMonStillFrontPic_Furret[]; extern const u8 gMonIcon_Furret[]; extern const u8 gMonFootprint_Furret[]; extern const u8 gMonFrontPic_Hoothoot[]; extern const u8 gMonPalette_Hoothoot[]; extern const u8 gMonBackPic_Hoothoot[]; extern const u8 gMonShinyPalette_Hoothoot[]; +extern const u8 gMonStillFrontPic_Hoothoot[]; extern const u8 gMonIcon_Hoothoot[]; extern const u8 gMonFootprint_Hoothoot[]; extern const u8 gMonFrontPic_Noctowl[]; extern const u8 gMonPalette_Noctowl[]; extern const u8 gMonBackPic_Noctowl[]; extern const u8 gMonShinyPalette_Noctowl[]; +extern const u8 gMonStillFrontPic_Noctowl[]; extern const u8 gMonIcon_Noctowl[]; extern const u8 gMonFootprint_Noctowl[]; extern const u8 gMonFrontPic_Ledyba[]; extern const u8 gMonPalette_Ledyba[]; extern const u8 gMonBackPic_Ledyba[]; extern const u8 gMonShinyPalette_Ledyba[]; +extern const u8 gMonStillFrontPic_Ledyba[]; extern const u8 gMonIcon_Ledyba[]; extern const u8 gMonFootprint_Ledyba[]; extern const u8 gMonFrontPic_Ledian[]; extern const u8 gMonPalette_Ledian[]; extern const u8 gMonBackPic_Ledian[]; extern const u8 gMonShinyPalette_Ledian[]; +extern const u8 gMonStillFrontPic_Ledian[]; extern const u8 gMonIcon_Ledian[]; extern const u8 gMonFootprint_Ledian[]; extern const u8 gMonFrontPic_Spinarak[]; extern const u8 gMonPalette_Spinarak[]; extern const u8 gMonBackPic_Spinarak[]; extern const u8 gMonShinyPalette_Spinarak[]; +extern const u8 gMonStillFrontPic_Spinarak[]; extern const u8 gMonIcon_Spinarak[]; extern const u8 gMonFootprint_Spinarak[]; extern const u8 gMonFrontPic_Ariados[]; extern const u8 gMonPalette_Ariados[]; extern const u8 gMonBackPic_Ariados[]; extern const u8 gMonShinyPalette_Ariados[]; +extern const u8 gMonStillFrontPic_Ariados[]; extern const u8 gMonIcon_Ariados[]; extern const u8 gMonFootprint_Ariados[]; extern const u8 gMonFrontPic_Crobat[]; extern const u8 gMonPalette_Crobat[]; extern const u8 gMonBackPic_Crobat[]; extern const u8 gMonShinyPalette_Crobat[]; +extern const u8 gMonStillFrontPic_Crobat[]; extern const u8 gMonIcon_Crobat[]; extern const u8 gMonFootprint_Crobat[]; extern const u8 gMonFrontPic_Chinchou[]; extern const u8 gMonPalette_Chinchou[]; extern const u8 gMonBackPic_Chinchou[]; extern const u8 gMonShinyPalette_Chinchou[]; +extern const u8 gMonStillFrontPic_Chinchou[]; extern const u8 gMonIcon_Chinchou[]; extern const u8 gMonFootprint_Chinchou[]; extern const u8 gMonFrontPic_Lanturn[]; extern const u8 gMonPalette_Lanturn[]; extern const u8 gMonBackPic_Lanturn[]; extern const u8 gMonShinyPalette_Lanturn[]; +extern const u8 gMonStillFrontPic_Lanturn[]; extern const u8 gMonIcon_Lanturn[]; extern const u8 gMonFootprint_Lanturn[]; extern const u8 gMonFrontPic_Pichu[]; extern const u8 gMonPalette_Pichu[]; extern const u8 gMonBackPic_Pichu[]; extern const u8 gMonShinyPalette_Pichu[]; +extern const u8 gMonStillFrontPic_Pichu[]; extern const u8 gMonIcon_Pichu[]; extern const u8 gMonFootprint_Pichu[]; extern const u8 gMonFrontPic_Cleffa[]; extern const u8 gMonPalette_Cleffa[]; extern const u8 gMonBackPic_Cleffa[]; extern const u8 gMonShinyPalette_Cleffa[]; +extern const u8 gMonStillFrontPic_Cleffa[]; extern const u8 gMonIcon_Cleffa[]; extern const u8 gMonFootprint_Cleffa[]; extern const u8 gMonFrontPic_Igglybuff[]; extern const u8 gMonPalette_Igglybuff[]; extern const u8 gMonBackPic_Igglybuff[]; extern const u8 gMonShinyPalette_Igglybuff[]; +extern const u8 gMonStillFrontPic_Igglybuff[]; extern const u8 gMonIcon_Igglybuff[]; extern const u8 gMonFootprint_Igglybuff[]; extern const u8 gMonFrontPic_Togepi[]; extern const u8 gMonPalette_Togepi[]; extern const u8 gMonBackPic_Togepi[]; extern const u8 gMonShinyPalette_Togepi[]; +extern const u8 gMonStillFrontPic_Togepi[]; extern const u8 gMonIcon_Togepi[]; extern const u8 gMonFootprint_Togepi[]; extern const u8 gMonFrontPic_Togetic[]; extern const u8 gMonPalette_Togetic[]; extern const u8 gMonBackPic_Togetic[]; extern const u8 gMonShinyPalette_Togetic[]; +extern const u8 gMonStillFrontPic_Togetic[]; extern const u8 gMonIcon_Togetic[]; extern const u8 gMonFootprint_Togetic[]; extern const u8 gMonFrontPic_Natu[]; extern const u8 gMonPalette_Natu[]; extern const u8 gMonBackPic_Natu[]; extern const u8 gMonShinyPalette_Natu[]; +extern const u8 gMonStillFrontPic_Natu[]; extern const u8 gMonIcon_Natu[]; extern const u8 gMonFootprint_Natu[]; extern const u8 gMonFrontPic_Xatu[]; extern const u8 gMonPalette_Xatu[]; extern const u8 gMonBackPic_Xatu[]; extern const u8 gMonShinyPalette_Xatu[]; +extern const u8 gMonStillFrontPic_Xatu[]; extern const u8 gMonIcon_Xatu[]; extern const u8 gMonFootprint_Xatu[]; extern const u8 gMonFrontPic_Mareep[]; extern const u8 gMonPalette_Mareep[]; extern const u8 gMonBackPic_Mareep[]; extern const u8 gMonShinyPalette_Mareep[]; +extern const u8 gMonStillFrontPic_Mareep[]; extern const u8 gMonIcon_Mareep[]; extern const u8 gMonFootprint_Mareep[]; extern const u8 gMonFrontPic_Flaaffy[]; extern const u8 gMonPalette_Flaaffy[]; extern const u8 gMonBackPic_Flaaffy[]; extern const u8 gMonShinyPalette_Flaaffy[]; +extern const u8 gMonStillFrontPic_Flaaffy[]; extern const u8 gMonIcon_Flaaffy[]; extern const u8 gMonFootprint_Flaaffy[]; extern const u8 gMonFrontPic_Ampharos[]; extern const u8 gMonPalette_Ampharos[]; extern const u8 gMonBackPic_Ampharos[]; extern const u8 gMonShinyPalette_Ampharos[]; +extern const u8 gMonStillFrontPic_Ampharos[]; extern const u8 gMonIcon_Ampharos[]; extern const u8 gMonFootprint_Ampharos[]; extern const u8 gMonFrontPic_Bellossom[]; extern const u8 gMonPalette_Bellossom[]; extern const u8 gMonBackPic_Bellossom[]; extern const u8 gMonShinyPalette_Bellossom[]; +extern const u8 gMonStillFrontPic_Bellossom[]; extern const u8 gMonIcon_Bellossom[]; extern const u8 gMonFootprint_Bellossom[]; extern const u8 gMonFrontPic_Marill[]; extern const u8 gMonPalette_Marill[]; extern const u8 gMonBackPic_Marill[]; extern const u8 gMonShinyPalette_Marill[]; +extern const u8 gMonStillFrontPic_Marill[]; extern const u8 gMonIcon_Marill[]; extern const u8 gMonFootprint_Marill[]; extern const u8 gMonFrontPic_Azumarill[]; extern const u8 gMonPalette_Azumarill[]; extern const u8 gMonBackPic_Azumarill[]; extern const u8 gMonShinyPalette_Azumarill[]; +extern const u8 gMonStillFrontPic_Azumarill[]; extern const u8 gMonIcon_Azumarill[]; extern const u8 gMonFootprint_Azumarill[]; extern const u8 gMonFrontPic_Sudowoodo[]; extern const u8 gMonPalette_Sudowoodo[]; extern const u8 gMonBackPic_Sudowoodo[]; extern const u8 gMonShinyPalette_Sudowoodo[]; +extern const u8 gMonStillFrontPic_Sudowoodo[]; extern const u8 gMonIcon_Sudowoodo[]; extern const u8 gMonFootprint_Sudowoodo[]; extern const u8 gMonFrontPic_Politoed[]; extern const u8 gMonPalette_Politoed[]; extern const u8 gMonBackPic_Politoed[]; extern const u8 gMonShinyPalette_Politoed[]; +extern const u8 gMonStillFrontPic_Politoed[]; extern const u8 gMonIcon_Politoed[]; extern const u8 gMonFootprint_Politoed[]; extern const u8 gMonFrontPic_Hoppip[]; extern const u8 gMonPalette_Hoppip[]; extern const u8 gMonBackPic_Hoppip[]; extern const u8 gMonShinyPalette_Hoppip[]; +extern const u8 gMonStillFrontPic_Hoppip[]; extern const u8 gMonIcon_Hoppip[]; extern const u8 gMonFootprint_Hoppip[]; extern const u8 gMonFrontPic_Skiploom[]; extern const u8 gMonPalette_Skiploom[]; extern const u8 gMonBackPic_Skiploom[]; extern const u8 gMonShinyPalette_Skiploom[]; +extern const u8 gMonStillFrontPic_Skiploom[]; extern const u8 gMonIcon_Skiploom[]; extern const u8 gMonFootprint_Skiploom[]; extern const u8 gMonFrontPic_Jumpluff[]; extern const u8 gMonPalette_Jumpluff[]; extern const u8 gMonBackPic_Jumpluff[]; extern const u8 gMonShinyPalette_Jumpluff[]; +extern const u8 gMonStillFrontPic_Jumpluff[]; extern const u8 gMonIcon_Jumpluff[]; extern const u8 gMonFootprint_Jumpluff[]; extern const u8 gMonFrontPic_Aipom[]; extern const u8 gMonPalette_Aipom[]; extern const u8 gMonBackPic_Aipom[]; extern const u8 gMonShinyPalette_Aipom[]; +extern const u8 gMonStillFrontPic_Aipom[]; extern const u8 gMonIcon_Aipom[]; extern const u8 gMonFootprint_Aipom[]; extern const u8 gMonFrontPic_Sunkern[]; extern const u8 gMonPalette_Sunkern[]; extern const u8 gMonBackPic_Sunkern[]; extern const u8 gMonShinyPalette_Sunkern[]; +extern const u8 gMonStillFrontPic_Sunkern[]; extern const u8 gMonIcon_Sunkern[]; extern const u8 gMonFootprint_Sunkern[]; extern const u8 gMonFrontPic_Sunflora[]; extern const u8 gMonPalette_Sunflora[]; extern const u8 gMonBackPic_Sunflora[]; extern const u8 gMonShinyPalette_Sunflora[]; +extern const u8 gMonStillFrontPic_Sunflora[]; extern const u8 gMonIcon_Sunflora[]; extern const u8 gMonFootprint_Sunflora[]; extern const u8 gMonFrontPic_Yanma[]; extern const u8 gMonPalette_Yanma[]; extern const u8 gMonBackPic_Yanma[]; extern const u8 gMonShinyPalette_Yanma[]; +extern const u8 gMonStillFrontPic_Yanma[]; extern const u8 gMonIcon_Yanma[]; extern const u8 gMonFootprint_Yanma[]; extern const u8 gMonFrontPic_Wooper[]; extern const u8 gMonPalette_Wooper[]; extern const u8 gMonBackPic_Wooper[]; extern const u8 gMonShinyPalette_Wooper[]; +extern const u8 gMonStillFrontPic_Wooper[]; extern const u8 gMonIcon_Wooper[]; extern const u8 gMonFootprint_Wooper[]; extern const u8 gMonFrontPic_Quagsire[]; extern const u8 gMonPalette_Quagsire[]; extern const u8 gMonBackPic_Quagsire[]; extern const u8 gMonShinyPalette_Quagsire[]; +extern const u8 gMonStillFrontPic_Quagsire[]; extern const u8 gMonIcon_Quagsire[]; extern const u8 gMonFootprint_Quagsire[]; extern const u8 gMonFrontPic_Espeon[]; extern const u8 gMonPalette_Espeon[]; extern const u8 gMonBackPic_Espeon[]; extern const u8 gMonShinyPalette_Espeon[]; +extern const u8 gMonStillFrontPic_Espeon[]; extern const u8 gMonIcon_Espeon[]; extern const u8 gMonFootprint_Espeon[]; extern const u8 gMonFrontPic_Umbreon[]; extern const u8 gMonPalette_Umbreon[]; extern const u8 gMonBackPic_Umbreon[]; extern const u8 gMonShinyPalette_Umbreon[]; +extern const u8 gMonStillFrontPic_Umbreon[]; extern const u8 gMonIcon_Umbreon[]; extern const u8 gMonFootprint_Umbreon[]; extern const u8 gMonFrontPic_Murkrow[]; extern const u8 gMonPalette_Murkrow[]; extern const u8 gMonBackPic_Murkrow[]; extern const u8 gMonShinyPalette_Murkrow[]; +extern const u8 gMonStillFrontPic_Murkrow[]; extern const u8 gMonIcon_Murkrow[]; extern const u8 gMonFootprint_Murkrow[]; extern const u8 gMonFrontPic_Slowking[]; extern const u8 gMonPalette_Slowking[]; extern const u8 gMonBackPic_Slowking[]; extern const u8 gMonShinyPalette_Slowking[]; +extern const u8 gMonStillFrontPic_Slowking[]; extern const u8 gMonIcon_Slowking[]; extern const u8 gMonFootprint_Slowking[]; extern const u8 gMonFrontPic_Misdreavus[]; extern const u8 gMonPalette_Misdreavus[]; extern const u8 gMonBackPic_Misdreavus[]; extern const u8 gMonShinyPalette_Misdreavus[]; +extern const u8 gMonStillFrontPic_Misdreavus[]; extern const u8 gMonIcon_Misdreavus[]; extern const u8 gMonFootprint_Misdreavus[]; extern const u8 gMonFrontPic_UnownA[]; extern const u8 gMonPalette_Unown[]; extern const u8 gMonBackPic_UnownA[]; extern const u8 gMonShinyPalette_Unown[]; +extern const u8 gMonStillFrontPic_UnownA[]; extern const u8 gMonIcon_UnownA[]; extern const u8 gMonFootprint_Unown[]; extern const u8 gMonFrontPic_Wobbuffet[]; extern const u8 gMonPalette_Wobbuffet[]; extern const u8 gMonBackPic_Wobbuffet[]; extern const u8 gMonShinyPalette_Wobbuffet[]; +extern const u8 gMonStillFrontPic_Wobbuffet[]; extern const u8 gMonIcon_Wobbuffet[]; extern const u8 gMonFootprint_Wobbuffet[]; extern const u8 gMonFrontPic_Girafarig[]; extern const u8 gMonPalette_Girafarig[]; extern const u8 gMonBackPic_Girafarig[]; extern const u8 gMonShinyPalette_Girafarig[]; +extern const u8 gMonStillFrontPic_Girafarig[]; extern const u8 gMonIcon_Girafarig[]; extern const u8 gMonFootprint_Girafarig[]; extern const u8 gMonFrontPic_Pineco[]; extern const u8 gMonPalette_Pineco[]; extern const u8 gMonBackPic_Pineco[]; extern const u8 gMonShinyPalette_Pineco[]; +extern const u8 gMonStillFrontPic_Pineco[]; extern const u8 gMonIcon_Pineco[]; extern const u8 gMonFootprint_Pineco[]; extern const u8 gMonFrontPic_Forretress[]; extern const u8 gMonPalette_Forretress[]; extern const u8 gMonBackPic_Forretress[]; extern const u8 gMonShinyPalette_Forretress[]; +extern const u8 gMonStillFrontPic_Forretress[]; extern const u8 gMonIcon_Forretress[]; extern const u8 gMonFootprint_Forretress[]; extern const u8 gMonFrontPic_Dunsparce[]; extern const u8 gMonPalette_Dunsparce[]; extern const u8 gMonBackPic_Dunsparce[]; extern const u8 gMonShinyPalette_Dunsparce[]; +extern const u8 gMonStillFrontPic_Dunsparce[]; extern const u8 gMonIcon_Dunsparce[]; extern const u8 gMonFootprint_Dunsparce[]; extern const u8 gMonFrontPic_Gligar[]; extern const u8 gMonPalette_Gligar[]; extern const u8 gMonBackPic_Gligar[]; extern const u8 gMonShinyPalette_Gligar[]; +extern const u8 gMonStillFrontPic_Gligar[]; extern const u8 gMonIcon_Gligar[]; extern const u8 gMonFootprint_Gligar[]; extern const u8 gMonFrontPic_Steelix[]; extern const u8 gMonPalette_Steelix[]; extern const u8 gMonBackPic_Steelix[]; extern const u8 gMonShinyPalette_Steelix[]; +extern const u8 gMonStillFrontPic_Steelix[]; extern const u8 gMonIcon_Steelix[]; extern const u8 gMonFootprint_Steelix[]; extern const u8 gMonFrontPic_Snubbull[]; extern const u8 gMonPalette_Snubbull[]; extern const u8 gMonBackPic_Snubbull[]; extern const u8 gMonShinyPalette_Snubbull[]; +extern const u8 gMonStillFrontPic_Snubbull[]; extern const u8 gMonIcon_Snubbull[]; extern const u8 gMonFootprint_Snubbull[]; extern const u8 gMonFrontPic_Granbull[]; extern const u8 gMonPalette_Granbull[]; extern const u8 gMonBackPic_Granbull[]; extern const u8 gMonShinyPalette_Granbull[]; +extern const u8 gMonStillFrontPic_Granbull[]; extern const u8 gMonIcon_Granbull[]; extern const u8 gMonFootprint_Granbull[]; extern const u8 gMonFrontPic_Qwilfish[]; extern const u8 gMonPalette_Qwilfish[]; extern const u8 gMonBackPic_Qwilfish[]; extern const u8 gMonShinyPalette_Qwilfish[]; +extern const u8 gMonStillFrontPic_Qwilfish[]; extern const u8 gMonIcon_Qwilfish[]; extern const u8 gMonFootprint_Qwilfish[]; extern const u8 gMonFrontPic_Scizor[]; extern const u8 gMonPalette_Scizor[]; extern const u8 gMonBackPic_Scizor[]; extern const u8 gMonShinyPalette_Scizor[]; +extern const u8 gMonStillFrontPic_Scizor[]; extern const u8 gMonIcon_Scizor[]; extern const u8 gMonFootprint_Scizor[]; extern const u8 gMonFrontPic_Shuckle[]; extern const u8 gMonPalette_Shuckle[]; extern const u8 gMonBackPic_Shuckle[]; extern const u8 gMonShinyPalette_Shuckle[]; +extern const u8 gMonStillFrontPic_Shuckle[]; extern const u8 gMonIcon_Shuckle[]; extern const u8 gMonFootprint_Shuckle[]; extern const u8 gMonFrontPic_Heracross[]; extern const u8 gMonPalette_Heracross[]; extern const u8 gMonBackPic_Heracross[]; extern const u8 gMonShinyPalette_Heracross[]; +extern const u8 gMonStillFrontPic_Heracross[]; extern const u8 gMonIcon_Heracross[]; extern const u8 gMonFootprint_Heracross[]; extern const u8 gMonFrontPic_Sneasel[]; extern const u8 gMonPalette_Sneasel[]; extern const u8 gMonBackPic_Sneasel[]; extern const u8 gMonShinyPalette_Sneasel[]; +extern const u8 gMonStillFrontPic_Sneasel[]; extern const u8 gMonIcon_Sneasel[]; extern const u8 gMonFootprint_Sneasel[]; extern const u8 gMonFrontPic_Teddiursa[]; extern const u8 gMonPalette_Teddiursa[]; extern const u8 gMonBackPic_Teddiursa[]; extern const u8 gMonShinyPalette_Teddiursa[]; +extern const u8 gMonStillFrontPic_Teddiursa[]; extern const u8 gMonIcon_Teddiursa[]; extern const u8 gMonFootprint_Teddiursa[]; extern const u8 gMonFrontPic_Ursaring[]; extern const u8 gMonPalette_Ursaring[]; extern const u8 gMonBackPic_Ursaring[]; extern const u8 gMonShinyPalette_Ursaring[]; +extern const u8 gMonStillFrontPic_Ursaring[]; extern const u8 gMonIcon_Ursaring[]; extern const u8 gMonFootprint_Ursaring[]; extern const u8 gMonFrontPic_Slugma[]; extern const u8 gMonPalette_Slugma[]; extern const u8 gMonBackPic_Slugma[]; extern const u8 gMonShinyPalette_Slugma[]; +extern const u8 gMonStillFrontPic_Slugma[]; extern const u8 gMonIcon_Slugma[]; extern const u8 gMonFootprint_Slugma[]; extern const u8 gMonFrontPic_Magcargo[]; extern const u8 gMonPalette_Magcargo[]; extern const u8 gMonBackPic_Magcargo[]; extern const u8 gMonShinyPalette_Magcargo[]; +extern const u8 gMonStillFrontPic_Magcargo[]; extern const u8 gMonIcon_Magcargo[]; extern const u8 gMonFootprint_Magcargo[]; extern const u8 gMonFrontPic_Swinub[]; extern const u8 gMonPalette_Swinub[]; extern const u8 gMonBackPic_Swinub[]; extern const u8 gMonShinyPalette_Swinub[]; +extern const u8 gMonStillFrontPic_Swinub[]; extern const u8 gMonIcon_Swinub[]; extern const u8 gMonFootprint_Swinub[]; extern const u8 gMonFrontPic_Piloswine[]; extern const u8 gMonPalette_Piloswine[]; extern const u8 gMonBackPic_Piloswine[]; extern const u8 gMonShinyPalette_Piloswine[]; +extern const u8 gMonStillFrontPic_Piloswine[]; extern const u8 gMonIcon_Piloswine[]; extern const u8 gMonFootprint_Piloswine[]; extern const u8 gMonFrontPic_Corsola[]; extern const u8 gMonPalette_Corsola[]; extern const u8 gMonBackPic_Corsola[]; extern const u8 gMonShinyPalette_Corsola[]; +extern const u8 gMonStillFrontPic_Corsola[]; extern const u8 gMonIcon_Corsola[]; extern const u8 gMonFootprint_Corsola[]; extern const u8 gMonFrontPic_Remoraid[]; extern const u8 gMonPalette_Remoraid[]; extern const u8 gMonBackPic_Remoraid[]; extern const u8 gMonShinyPalette_Remoraid[]; +extern const u8 gMonStillFrontPic_Remoraid[]; extern const u8 gMonIcon_Remoraid[]; extern const u8 gMonFootprint_Remoraid[]; extern const u8 gMonFrontPic_Octillery[]; extern const u8 gMonPalette_Octillery[]; extern const u8 gMonBackPic_Octillery[]; extern const u8 gMonShinyPalette_Octillery[]; +extern const u8 gMonStillFrontPic_Octillery[]; extern const u8 gMonIcon_Octillery[]; extern const u8 gMonFootprint_Octillery[]; extern const u8 gMonFrontPic_Delibird[]; extern const u8 gMonPalette_Delibird[]; extern const u8 gMonBackPic_Delibird[]; extern const u8 gMonShinyPalette_Delibird[]; +extern const u8 gMonStillFrontPic_Delibird[]; extern const u8 gMonIcon_Delibird[]; extern const u8 gMonFootprint_Delibird[]; extern const u8 gMonFrontPic_Mantine[]; extern const u8 gMonPalette_Mantine[]; extern const u8 gMonBackPic_Mantine[]; extern const u8 gMonShinyPalette_Mantine[]; +extern const u8 gMonStillFrontPic_Mantine[]; extern const u8 gMonIcon_Mantine[]; extern const u8 gMonFootprint_Mantine[]; extern const u8 gMonFrontPic_Skarmory[]; extern const u8 gMonPalette_Skarmory[]; extern const u8 gMonBackPic_Skarmory[]; extern const u8 gMonShinyPalette_Skarmory[]; +extern const u8 gMonStillFrontPic_Skarmory[]; extern const u8 gMonIcon_Skarmory[]; extern const u8 gMonFootprint_Skarmory[]; extern const u8 gMonFrontPic_Houndour[]; extern const u8 gMonPalette_Houndour[]; extern const u8 gMonBackPic_Houndour[]; extern const u8 gMonShinyPalette_Houndour[]; +extern const u8 gMonStillFrontPic_Houndour[]; extern const u8 gMonIcon_Houndour[]; extern const u8 gMonFootprint_Houndour[]; extern const u8 gMonFrontPic_Houndoom[]; extern const u8 gMonPalette_Houndoom[]; extern const u8 gMonBackPic_Houndoom[]; extern const u8 gMonShinyPalette_Houndoom[]; +extern const u8 gMonStillFrontPic_Houndoom[]; extern const u8 gMonIcon_Houndoom[]; extern const u8 gMonFootprint_Houndoom[]; extern const u8 gMonFrontPic_Kingdra[]; extern const u8 gMonPalette_Kingdra[]; extern const u8 gMonBackPic_Kingdra[]; extern const u8 gMonShinyPalette_Kingdra[]; +extern const u8 gMonStillFrontPic_Kingdra[]; extern const u8 gMonIcon_Kingdra[]; extern const u8 gMonFootprint_Kingdra[]; extern const u8 gMonFrontPic_Phanpy[]; extern const u8 gMonPalette_Phanpy[]; extern const u8 gMonBackPic_Phanpy[]; extern const u8 gMonShinyPalette_Phanpy[]; +extern const u8 gMonStillFrontPic_Phanpy[]; extern const u8 gMonIcon_Phanpy[]; extern const u8 gMonFootprint_Phanpy[]; extern const u8 gMonFrontPic_Donphan[]; extern const u8 gMonPalette_Donphan[]; extern const u8 gMonBackPic_Donphan[]; extern const u8 gMonShinyPalette_Donphan[]; +extern const u8 gMonStillFrontPic_Donphan[]; extern const u8 gMonIcon_Donphan[]; extern const u8 gMonFootprint_Donphan[]; extern const u8 gMonFrontPic_Porygon2[]; extern const u8 gMonPalette_Porygon2[]; extern const u8 gMonBackPic_Porygon2[]; extern const u8 gMonShinyPalette_Porygon2[]; +extern const u8 gMonStillFrontPic_Porygon2[]; extern const u8 gMonIcon_Porygon2[]; extern const u8 gMonFootprint_Porygon2[]; extern const u8 gMonFrontPic_Stantler[]; extern const u8 gMonPalette_Stantler[]; extern const u8 gMonBackPic_Stantler[]; extern const u8 gMonShinyPalette_Stantler[]; +extern const u8 gMonStillFrontPic_Stantler[]; extern const u8 gMonIcon_Stantler[]; extern const u8 gMonFootprint_Stantler[]; extern const u8 gMonFrontPic_Smeargle[]; extern const u8 gMonPalette_Smeargle[]; extern const u8 gMonBackPic_Smeargle[]; extern const u8 gMonShinyPalette_Smeargle[]; +extern const u8 gMonStillFrontPic_Smeargle[]; extern const u8 gMonIcon_Smeargle[]; extern const u8 gMonFootprint_Smeargle[]; extern const u8 gMonFrontPic_Tyrogue[]; extern const u8 gMonPalette_Tyrogue[]; extern const u8 gMonBackPic_Tyrogue[]; extern const u8 gMonShinyPalette_Tyrogue[]; +extern const u8 gMonStillFrontPic_Tyrogue[]; extern const u8 gMonIcon_Tyrogue[]; extern const u8 gMonFootprint_Tyrogue[]; extern const u8 gMonFrontPic_Hitmontop[]; extern const u8 gMonPalette_Hitmontop[]; extern const u8 gMonBackPic_Hitmontop[]; extern const u8 gMonShinyPalette_Hitmontop[]; +extern const u8 gMonStillFrontPic_Hitmontop[]; extern const u8 gMonIcon_Hitmontop[]; extern const u8 gMonFootprint_Hitmontop[]; extern const u8 gMonFrontPic_Smoochum[]; extern const u8 gMonPalette_Smoochum[]; extern const u8 gMonBackPic_Smoochum[]; extern const u8 gMonShinyPalette_Smoochum[]; +extern const u8 gMonStillFrontPic_Smoochum[]; extern const u8 gMonIcon_Smoochum[]; extern const u8 gMonFootprint_Smoochum[]; extern const u8 gMonFrontPic_Elekid[]; extern const u8 gMonPalette_Elekid[]; extern const u8 gMonBackPic_Elekid[]; extern const u8 gMonShinyPalette_Elekid[]; +extern const u8 gMonStillFrontPic_Elekid[]; extern const u8 gMonIcon_Elekid[]; extern const u8 gMonFootprint_Elekid[]; extern const u8 gMonFrontPic_Magby[]; extern const u8 gMonPalette_Magby[]; extern const u8 gMonBackPic_Magby[]; extern const u8 gMonShinyPalette_Magby[]; +extern const u8 gMonStillFrontPic_Magby[]; extern const u8 gMonIcon_Magby[]; extern const u8 gMonFootprint_Magby[]; extern const u8 gMonFrontPic_Miltank[]; extern const u8 gMonPalette_Miltank[]; extern const u8 gMonBackPic_Miltank[]; extern const u8 gMonShinyPalette_Miltank[]; +extern const u8 gMonStillFrontPic_Miltank[]; extern const u8 gMonIcon_Miltank[]; extern const u8 gMonFootprint_Miltank[]; extern const u8 gMonFrontPic_Blissey[]; extern const u8 gMonPalette_Blissey[]; extern const u8 gMonBackPic_Blissey[]; extern const u8 gMonShinyPalette_Blissey[]; +extern const u8 gMonStillFrontPic_Blissey[]; extern const u8 gMonIcon_Blissey[]; extern const u8 gMonFootprint_Blissey[]; extern const u8 gMonFrontPic_Raikou[]; extern const u8 gMonPalette_Raikou[]; extern const u8 gMonBackPic_Raikou[]; extern const u8 gMonShinyPalette_Raikou[]; +extern const u8 gMonStillFrontPic_Raikou[]; extern const u8 gMonIcon_Raikou[]; extern const u8 gMonFootprint_Raikou[]; extern const u8 gMonFrontPic_Entei[]; extern const u8 gMonPalette_Entei[]; extern const u8 gMonBackPic_Entei[]; extern const u8 gMonShinyPalette_Entei[]; +extern const u8 gMonStillFrontPic_Entei[]; extern const u8 gMonIcon_Entei[]; extern const u8 gMonFootprint_Entei[]; extern const u8 gMonFrontPic_Suicune[]; extern const u8 gMonPalette_Suicune[]; extern const u8 gMonBackPic_Suicune[]; extern const u8 gMonShinyPalette_Suicune[]; +extern const u8 gMonStillFrontPic_Suicune[]; extern const u8 gMonIcon_Suicune[]; extern const u8 gMonFootprint_Suicune[]; extern const u8 gMonFrontPic_Larvitar[]; extern const u8 gMonPalette_Larvitar[]; extern const u8 gMonBackPic_Larvitar[]; extern const u8 gMonShinyPalette_Larvitar[]; +extern const u8 gMonStillFrontPic_Larvitar[]; extern const u8 gMonIcon_Larvitar[]; extern const u8 gMonFootprint_Larvitar[]; extern const u8 gMonFrontPic_Pupitar[]; extern const u8 gMonPalette_Pupitar[]; extern const u8 gMonBackPic_Pupitar[]; extern const u8 gMonShinyPalette_Pupitar[]; +extern const u8 gMonStillFrontPic_Pupitar[]; extern const u8 gMonIcon_Pupitar[]; extern const u8 gMonFootprint_Pupitar[]; extern const u8 gMonFrontPic_Tyranitar[]; extern const u8 gMonPalette_Tyranitar[]; extern const u8 gMonBackPic_Tyranitar[]; extern const u8 gMonShinyPalette_Tyranitar[]; +extern const u8 gMonStillFrontPic_Tyranitar[]; extern const u8 gMonIcon_Tyranitar[]; extern const u8 gMonFootprint_Tyranitar[]; extern const u8 gMonFrontPic_Lugia[]; extern const u8 gMonPalette_Lugia[]; extern const u8 gMonBackPic_Lugia[]; extern const u8 gMonShinyPalette_Lugia[]; +extern const u8 gMonStillFrontPic_Lugia[]; extern const u8 gMonIcon_Lugia[]; extern const u8 gMonFootprint_Lugia[]; extern const u8 gMonFrontPic_HoOh[]; extern const u8 gMonPalette_HoOh[]; extern const u8 gMonBackPic_HoOh[]; extern const u8 gMonShinyPalette_HoOh[]; +extern const u8 gMonStillFrontPic_HoOh[]; extern const u8 gMonIcon_HoOh[]; extern const u8 gMonFootprint_HoOh[]; extern const u8 gMonFrontPic_Celebi[]; extern const u8 gMonPalette_Celebi[]; extern const u8 gMonBackPic_Celebi[]; extern const u8 gMonShinyPalette_Celebi[]; +extern const u8 gMonStillFrontPic_Celebi[]; extern const u8 gMonIcon_Celebi[]; extern const u8 gMonFootprint_Celebi[]; extern const u8 gMonFrontPic_QuestionMark[]; @@ -1547,893 +1799,1058 @@ extern const u8 gMonFrontPic_Treecko[]; extern const u8 gMonPalette_Treecko[]; extern const u8 gMonBackPic_Treecko[]; extern const u8 gMonShinyPalette_Treecko[]; +extern const u8 gMonStillFrontPic_Treecko[]; extern const u8 gMonIcon_Treecko[]; extern const u8 gMonFootprint_Treecko[]; extern const u8 gMonFrontPic_Grovyle[]; extern const u8 gMonPalette_Grovyle[]; extern const u8 gMonBackPic_Grovyle[]; extern const u8 gMonShinyPalette_Grovyle[]; +extern const u8 gMonStillFrontPic_Grovyle[]; extern const u8 gMonIcon_Grovyle[]; extern const u8 gMonFootprint_Grovyle[]; extern const u8 gMonFrontPic_Sceptile[]; extern const u8 gMonPalette_Sceptile[]; extern const u8 gMonBackPic_Sceptile[]; extern const u8 gMonShinyPalette_Sceptile[]; +extern const u8 gMonStillFrontPic_Sceptile[]; extern const u8 gMonIcon_Sceptile[]; extern const u8 gMonFootprint_Sceptile[]; extern const u8 gMonFrontPic_Torchic[]; extern const u8 gMonPalette_Torchic[]; extern const u8 gMonBackPic_Torchic[]; extern const u8 gMonShinyPalette_Torchic[]; +extern const u8 gMonStillFrontPic_Torchic[]; extern const u8 gMonIcon_Torchic[]; extern const u8 gMonFootprint_Torchic[]; extern const u8 gMonFrontPic_Combusken[]; extern const u8 gMonPalette_Combusken[]; extern const u8 gMonBackPic_Combusken[]; extern const u8 gMonShinyPalette_Combusken[]; +extern const u8 gMonStillFrontPic_Combusken[]; extern const u8 gMonIcon_Combusken[]; extern const u8 gMonFootprint_Combusken[]; extern const u8 gMonFrontPic_Blaziken[]; extern const u8 gMonPalette_Blaziken[]; extern const u8 gMonBackPic_Blaziken[]; extern const u8 gMonShinyPalette_Blaziken[]; +extern const u8 gMonStillFrontPic_Blaziken[]; extern const u8 gMonIcon_Blaziken[]; extern const u8 gMonFootprint_Blaziken[]; extern const u8 gMonFrontPic_Mudkip[]; extern const u8 gMonPalette_Mudkip[]; extern const u8 gMonBackPic_Mudkip[]; extern const u8 gMonShinyPalette_Mudkip[]; +extern const u8 gMonStillFrontPic_Mudkip[]; extern const u8 gMonIcon_Mudkip[]; extern const u8 gMonFootprint_Mudkip[]; extern const u8 gMonFrontPic_Marshtomp[]; extern const u8 gMonPalette_Marshtomp[]; extern const u8 gMonBackPic_Marshtomp[]; extern const u8 gMonShinyPalette_Marshtomp[]; +extern const u8 gMonStillFrontPic_Marshtomp[]; extern const u8 gMonIcon_Marshtomp[]; extern const u8 gMonFootprint_Marshtomp[]; extern const u8 gMonFrontPic_Swampert[]; extern const u8 gMonPalette_Swampert[]; extern const u8 gMonBackPic_Swampert[]; extern const u8 gMonShinyPalette_Swampert[]; +extern const u8 gMonStillFrontPic_Swampert[]; extern const u8 gMonIcon_Swampert[]; extern const u8 gMonFootprint_Swampert[]; extern const u8 gMonFrontPic_Poochyena[]; extern const u8 gMonPalette_Poochyena[]; extern const u8 gMonBackPic_Poochyena[]; extern const u8 gMonShinyPalette_Poochyena[]; +extern const u8 gMonStillFrontPic_Poochyena[]; extern const u8 gMonIcon_Poochyena[]; extern const u8 gMonFootprint_Poochyena[]; extern const u8 gMonFrontPic_Mightyena[]; extern const u8 gMonPalette_Mightyena[]; extern const u8 gMonBackPic_Mightyena[]; extern const u8 gMonShinyPalette_Mightyena[]; +extern const u8 gMonStillFrontPic_Mightyena[]; extern const u8 gMonIcon_Mightyena[]; extern const u8 gMonFootprint_Mightyena[]; extern const u8 gMonFrontPic_Zigzagoon[]; extern const u8 gMonPalette_Zigzagoon[]; extern const u8 gMonBackPic_Zigzagoon[]; extern const u8 gMonShinyPalette_Zigzagoon[]; +extern const u8 gMonStillFrontPic_Zigzagoon[]; extern const u8 gMonIcon_Zigzagoon[]; extern const u8 gMonFootprint_Zigzagoon[]; extern const u8 gMonFrontPic_Linoone[]; extern const u8 gMonPalette_Linoone[]; extern const u8 gMonBackPic_Linoone[]; extern const u8 gMonShinyPalette_Linoone[]; +extern const u8 gMonStillFrontPic_Linoone[]; extern const u8 gMonIcon_Linoone[]; extern const u8 gMonFootprint_Linoone[]; extern const u8 gMonFrontPic_Wurmple[]; extern const u8 gMonPalette_Wurmple[]; extern const u8 gMonBackPic_Wurmple[]; extern const u8 gMonShinyPalette_Wurmple[]; +extern const u8 gMonStillFrontPic_Wurmple[]; extern const u8 gMonIcon_Wurmple[]; extern const u8 gMonFootprint_Wurmple[]; extern const u8 gMonFrontPic_Silcoon[]; extern const u8 gMonPalette_Silcoon[]; extern const u8 gMonBackPic_Silcoon[]; extern const u8 gMonShinyPalette_Silcoon[]; +extern const u8 gMonStillFrontPic_Silcoon[]; extern const u8 gMonIcon_Silcoon[]; extern const u8 gMonFootprint_Silcoon[]; extern const u8 gMonFrontPic_Beautifly[]; extern const u8 gMonPalette_Beautifly[]; extern const u8 gMonBackPic_Beautifly[]; extern const u8 gMonShinyPalette_Beautifly[]; +extern const u8 gMonStillFrontPic_Beautifly[]; extern const u8 gMonIcon_Beautifly[]; extern const u8 gMonFootprint_Beautifly[]; extern const u8 gMonFrontPic_Cascoon[]; extern const u8 gMonPalette_Cascoon[]; extern const u8 gMonBackPic_Cascoon[]; extern const u8 gMonShinyPalette_Cascoon[]; +extern const u8 gMonStillFrontPic_Cascoon[]; extern const u8 gMonIcon_Cascoon[]; extern const u8 gMonFootprint_Cascoon[]; extern const u8 gMonFrontPic_Dustox[]; extern const u8 gMonPalette_Dustox[]; extern const u8 gMonBackPic_Dustox[]; extern const u8 gMonShinyPalette_Dustox[]; +extern const u8 gMonStillFrontPic_Dustox[]; extern const u8 gMonIcon_Dustox[]; extern const u8 gMonFootprint_Dustox[]; extern const u8 gMonFrontPic_Lotad[]; extern const u8 gMonPalette_Lotad[]; extern const u8 gMonBackPic_Lotad[]; extern const u8 gMonShinyPalette_Lotad[]; +extern const u8 gMonStillFrontPic_Lotad[]; extern const u8 gMonIcon_Lotad[]; extern const u8 gMonFootprint_Lotad[]; extern const u8 gMonFrontPic_Lombre[]; extern const u8 gMonPalette_Lombre[]; extern const u8 gMonBackPic_Lombre[]; extern const u8 gMonShinyPalette_Lombre[]; +extern const u8 gMonStillFrontPic_Lombre[]; extern const u8 gMonIcon_Lombre[]; extern const u8 gMonFootprint_Lombre[]; extern const u8 gMonFrontPic_Ludicolo[]; extern const u8 gMonPalette_Ludicolo[]; extern const u8 gMonBackPic_Ludicolo[]; extern const u8 gMonShinyPalette_Ludicolo[]; +extern const u8 gMonStillFrontPic_Ludicolo[]; extern const u8 gMonIcon_Ludicolo[]; extern const u8 gMonFootprint_Ludicolo[]; extern const u8 gMonFrontPic_Seedot[]; extern const u8 gMonPalette_Seedot[]; extern const u8 gMonBackPic_Seedot[]; extern const u8 gMonShinyPalette_Seedot[]; +extern const u8 gMonStillFrontPic_Seedot[]; extern const u8 gMonIcon_Seedot[]; extern const u8 gMonFootprint_Seedot[]; extern const u8 gMonFrontPic_Nuzleaf[]; extern const u8 gMonPalette_Nuzleaf[]; extern const u8 gMonBackPic_Nuzleaf[]; extern const u8 gMonShinyPalette_Nuzleaf[]; +extern const u8 gMonStillFrontPic_Nuzleaf[]; extern const u8 gMonIcon_Nuzleaf[]; extern const u8 gMonFootprint_Nuzleaf[]; extern const u8 gMonFrontPic_Shiftry[]; extern const u8 gMonPalette_Shiftry[]; extern const u8 gMonBackPic_Shiftry[]; extern const u8 gMonShinyPalette_Shiftry[]; +extern const u8 gMonStillFrontPic_Shiftry[]; extern const u8 gMonIcon_Shiftry[]; extern const u8 gMonFootprint_Shiftry[]; extern const u8 gMonFrontPic_Nincada[]; extern const u8 gMonPalette_Nincada[]; extern const u8 gMonBackPic_Nincada[]; extern const u8 gMonShinyPalette_Nincada[]; +extern const u8 gMonStillFrontPic_Nincada[]; extern const u8 gMonIcon_Nincada[]; extern const u8 gMonFootprint_Nincada[]; extern const u8 gMonFrontPic_Ninjask[]; extern const u8 gMonPalette_Ninjask[]; extern const u8 gMonBackPic_Ninjask[]; extern const u8 gMonShinyPalette_Ninjask[]; +extern const u8 gMonStillFrontPic_Ninjask[]; extern const u8 gMonIcon_Ninjask[]; extern const u8 gMonFootprint_Ninjask[]; extern const u8 gMonFrontPic_Shedinja[]; extern const u8 gMonPalette_Shedinja[]; extern const u8 gMonBackPic_Shedinja[]; extern const u8 gMonShinyPalette_Shedinja[]; +extern const u8 gMonStillFrontPic_Shedinja[]; extern const u8 gMonIcon_Shedinja[]; extern const u8 gMonFootprint_Shedinja[]; extern const u8 gMonFrontPic_Taillow[]; extern const u8 gMonPalette_Taillow[]; extern const u8 gMonBackPic_Taillow[]; extern const u8 gMonShinyPalette_Taillow[]; +extern const u8 gMonStillFrontPic_Taillow[]; extern const u8 gMonIcon_Taillow[]; extern const u8 gMonFootprint_Taillow[]; extern const u8 gMonFrontPic_Swellow[]; extern const u8 gMonPalette_Swellow[]; extern const u8 gMonBackPic_Swellow[]; extern const u8 gMonShinyPalette_Swellow[]; +extern const u8 gMonStillFrontPic_Swellow[]; extern const u8 gMonIcon_Swellow[]; extern const u8 gMonFootprint_Swellow[]; extern const u8 gMonFrontPic_Shroomish[]; extern const u8 gMonPalette_Shroomish[]; extern const u8 gMonBackPic_Shroomish[]; extern const u8 gMonShinyPalette_Shroomish[]; +extern const u8 gMonStillFrontPic_Shroomish[]; extern const u8 gMonIcon_Shroomish[]; extern const u8 gMonFootprint_Shroomish[]; extern const u8 gMonFrontPic_Breloom[]; extern const u8 gMonPalette_Breloom[]; extern const u8 gMonBackPic_Breloom[]; extern const u8 gMonShinyPalette_Breloom[]; +extern const u8 gMonStillFrontPic_Breloom[]; extern const u8 gMonIcon_Breloom[]; extern const u8 gMonFootprint_Breloom[]; extern const u8 gMonFrontPic_Spinda[]; extern const u8 gMonPalette_Spinda[]; extern const u8 gMonBackPic_Spinda[]; extern const u8 gMonShinyPalette_Spinda[]; +extern const u8 gMonStillFrontPic_Spinda[]; extern const u8 gMonIcon_Spinda[]; extern const u8 gMonFootprint_Spinda[]; extern const u8 gMonFrontPic_Wingull[]; extern const u8 gMonPalette_Wingull[]; extern const u8 gMonBackPic_Wingull[]; extern const u8 gMonShinyPalette_Wingull[]; +extern const u8 gMonStillFrontPic_Wingull[]; extern const u8 gMonIcon_Wingull[]; extern const u8 gMonFootprint_Wingull[]; extern const u8 gMonFrontPic_Pelipper[]; extern const u8 gMonPalette_Pelipper[]; extern const u8 gMonBackPic_Pelipper[]; extern const u8 gMonShinyPalette_Pelipper[]; +extern const u8 gMonStillFrontPic_Pelipper[]; extern const u8 gMonIcon_Pelipper[]; extern const u8 gMonFootprint_Pelipper[]; extern const u8 gMonFrontPic_Surskit[]; extern const u8 gMonPalette_Surskit[]; extern const u8 gMonBackPic_Surskit[]; extern const u8 gMonShinyPalette_Surskit[]; +extern const u8 gMonStillFrontPic_Surskit[]; extern const u8 gMonIcon_Surskit[]; extern const u8 gMonFootprint_Surskit[]; extern const u8 gMonFrontPic_Masquerain[]; extern const u8 gMonPalette_Masquerain[]; extern const u8 gMonBackPic_Masquerain[]; extern const u8 gMonShinyPalette_Masquerain[]; +extern const u8 gMonStillFrontPic_Masquerain[]; extern const u8 gMonIcon_Masquerain[]; extern const u8 gMonFootprint_Masquerain[]; extern const u8 gMonFrontPic_Wailmer[]; extern const u8 gMonPalette_Wailmer[]; extern const u8 gMonBackPic_Wailmer[]; extern const u8 gMonShinyPalette_Wailmer[]; +extern const u8 gMonStillFrontPic_Wailmer[]; extern const u8 gMonIcon_Wailmer[]; extern const u8 gMonFootprint_Wailmer[]; extern const u8 gMonFrontPic_Wailord[]; extern const u8 gMonPalette_Wailord[]; extern const u8 gMonBackPic_Wailord[]; extern const u8 gMonShinyPalette_Wailord[]; +extern const u8 gMonStillFrontPic_Wailord[]; extern const u8 gMonIcon_Wailord[]; extern const u8 gMonFootprint_Wailord[]; extern const u8 gMonFrontPic_Skitty[]; extern const u8 gMonPalette_Skitty[]; extern const u8 gMonBackPic_Skitty[]; extern const u8 gMonShinyPalette_Skitty[]; +extern const u8 gMonStillFrontPic_Skitty[]; extern const u8 gMonIcon_Skitty[]; extern const u8 gMonFootprint_Skitty[]; extern const u8 gMonFrontPic_Delcatty[]; extern const u8 gMonPalette_Delcatty[]; extern const u8 gMonBackPic_Delcatty[]; extern const u8 gMonShinyPalette_Delcatty[]; +extern const u8 gMonStillFrontPic_Delcatty[]; extern const u8 gMonIcon_Delcatty[]; extern const u8 gMonFootprint_Delcatty[]; extern const u8 gMonFrontPic_Kecleon[]; extern const u8 gMonPalette_Kecleon[]; extern const u8 gMonBackPic_Kecleon[]; extern const u8 gMonShinyPalette_Kecleon[]; +extern const u8 gMonStillFrontPic_Kecleon[]; extern const u8 gMonIcon_Kecleon[]; extern const u8 gMonFootprint_Kecleon[]; extern const u8 gMonFrontPic_Baltoy[]; extern const u8 gMonPalette_Baltoy[]; extern const u8 gMonBackPic_Baltoy[]; extern const u8 gMonShinyPalette_Baltoy[]; +extern const u8 gMonStillFrontPic_Baltoy[]; extern const u8 gMonIcon_Baltoy[]; extern const u8 gMonFootprint_Baltoy[]; extern const u8 gMonFrontPic_Claydol[]; extern const u8 gMonPalette_Claydol[]; extern const u8 gMonBackPic_Claydol[]; extern const u8 gMonShinyPalette_Claydol[]; +extern const u8 gMonStillFrontPic_Claydol[]; extern const u8 gMonIcon_Claydol[]; extern const u8 gMonFootprint_Claydol[]; extern const u8 gMonFrontPic_Nosepass[]; extern const u8 gMonPalette_Nosepass[]; extern const u8 gMonBackPic_Nosepass[]; extern const u8 gMonShinyPalette_Nosepass[]; +extern const u8 gMonStillFrontPic_Nosepass[]; extern const u8 gMonIcon_Nosepass[]; extern const u8 gMonFootprint_Nosepass[]; extern const u8 gMonFrontPic_Torkoal[]; extern const u8 gMonPalette_Torkoal[]; extern const u8 gMonBackPic_Torkoal[]; extern const u8 gMonShinyPalette_Torkoal[]; +extern const u8 gMonStillFrontPic_Torkoal[]; extern const u8 gMonIcon_Torkoal[]; extern const u8 gMonFootprint_Torkoal[]; extern const u8 gMonFrontPic_Sableye[]; extern const u8 gMonPalette_Sableye[]; extern const u8 gMonBackPic_Sableye[]; extern const u8 gMonShinyPalette_Sableye[]; +extern const u8 gMonStillFrontPic_Sableye[]; extern const u8 gMonIcon_Sableye[]; extern const u8 gMonFootprint_Sableye[]; extern const u8 gMonFrontPic_Barboach[]; extern const u8 gMonPalette_Barboach[]; extern const u8 gMonBackPic_Barboach[]; extern const u8 gMonShinyPalette_Barboach[]; +extern const u8 gMonStillFrontPic_Barboach[]; extern const u8 gMonIcon_Barboach[]; extern const u8 gMonFootprint_Barboach[]; extern const u8 gMonFrontPic_Whiscash[]; extern const u8 gMonPalette_Whiscash[]; extern const u8 gMonBackPic_Whiscash[]; extern const u8 gMonShinyPalette_Whiscash[]; +extern const u8 gMonStillFrontPic_Whiscash[]; extern const u8 gMonIcon_Whiscash[]; extern const u8 gMonFootprint_Whiscash[]; extern const u8 gMonFrontPic_Luvdisc[]; extern const u8 gMonPalette_Luvdisc[]; extern const u8 gMonBackPic_Luvdisc[]; extern const u8 gMonShinyPalette_Luvdisc[]; +extern const u8 gMonStillFrontPic_Luvdisc[]; extern const u8 gMonIcon_Luvdisc[]; extern const u8 gMonFootprint_Luvdisc[]; extern const u8 gMonFrontPic_Corphish[]; extern const u8 gMonPalette_Corphish[]; extern const u8 gMonBackPic_Corphish[]; extern const u8 gMonShinyPalette_Corphish[]; +extern const u8 gMonStillFrontPic_Corphish[]; extern const u8 gMonIcon_Corphish[]; extern const u8 gMonFootprint_Corphish[]; extern const u8 gMonFrontPic_Crawdaunt[]; extern const u8 gMonPalette_Crawdaunt[]; extern const u8 gMonBackPic_Crawdaunt[]; extern const u8 gMonShinyPalette_Crawdaunt[]; +extern const u8 gMonStillFrontPic_Crawdaunt[]; extern const u8 gMonIcon_Crawdaunt[]; extern const u8 gMonFootprint_Crawdaunt[]; extern const u8 gMonFrontPic_Feebas[]; extern const u8 gMonPalette_Feebas[]; extern const u8 gMonBackPic_Feebas[]; extern const u8 gMonShinyPalette_Feebas[]; +extern const u8 gMonStillFrontPic_Feebas[]; extern const u8 gMonIcon_Feebas[]; extern const u8 gMonFootprint_Feebas[]; extern const u8 gMonFrontPic_Milotic[]; extern const u8 gMonPalette_Milotic[]; extern const u8 gMonBackPic_Milotic[]; extern const u8 gMonShinyPalette_Milotic[]; +extern const u8 gMonStillFrontPic_Milotic[]; extern const u8 gMonIcon_Milotic[]; extern const u8 gMonFootprint_Milotic[]; extern const u8 gMonFrontPic_Carvanha[]; extern const u8 gMonPalette_Carvanha[]; extern const u8 gMonBackPic_Carvanha[]; extern const u8 gMonShinyPalette_Carvanha[]; +extern const u8 gMonStillFrontPic_Carvanha[]; extern const u8 gMonIcon_Carvanha[]; extern const u8 gMonFootprint_Carvanha[]; extern const u8 gMonFrontPic_Sharpedo[]; extern const u8 gMonPalette_Sharpedo[]; extern const u8 gMonBackPic_Sharpedo[]; extern const u8 gMonShinyPalette_Sharpedo[]; +extern const u8 gMonStillFrontPic_Sharpedo[]; extern const u8 gMonIcon_Sharpedo[]; extern const u8 gMonFootprint_Sharpedo[]; extern const u8 gMonFrontPic_Trapinch[]; extern const u8 gMonPalette_Trapinch[]; extern const u8 gMonBackPic_Trapinch[]; extern const u8 gMonShinyPalette_Trapinch[]; +extern const u8 gMonStillFrontPic_Trapinch[]; extern const u8 gMonIcon_Trapinch[]; extern const u8 gMonFootprint_Trapinch[]; extern const u8 gMonFrontPic_Vibrava[]; extern const u8 gMonPalette_Vibrava[]; extern const u8 gMonBackPic_Vibrava[]; extern const u8 gMonShinyPalette_Vibrava[]; +extern const u8 gMonStillFrontPic_Vibrava[]; extern const u8 gMonIcon_Vibrava[]; extern const u8 gMonFootprint_Vibrava[]; extern const u8 gMonFrontPic_Flygon[]; extern const u8 gMonPalette_Flygon[]; extern const u8 gMonBackPic_Flygon[]; extern const u8 gMonShinyPalette_Flygon[]; +extern const u8 gMonStillFrontPic_Flygon[]; extern const u8 gMonIcon_Flygon[]; extern const u8 gMonFootprint_Flygon[]; extern const u8 gMonFrontPic_Makuhita[]; extern const u8 gMonPalette_Makuhita[]; extern const u8 gMonBackPic_Makuhita[]; extern const u8 gMonShinyPalette_Makuhita[]; +extern const u8 gMonStillFrontPic_Makuhita[]; extern const u8 gMonIcon_Makuhita[]; extern const u8 gMonFootprint_Makuhita[]; extern const u8 gMonFrontPic_Hariyama[]; extern const u8 gMonPalette_Hariyama[]; extern const u8 gMonBackPic_Hariyama[]; extern const u8 gMonShinyPalette_Hariyama[]; +extern const u8 gMonStillFrontPic_Hariyama[]; extern const u8 gMonIcon_Hariyama[]; extern const u8 gMonFootprint_Hariyama[]; extern const u8 gMonFrontPic_Electrike[]; extern const u8 gMonPalette_Electrike[]; extern const u8 gMonBackPic_Electrike[]; extern const u8 gMonShinyPalette_Electrike[]; +extern const u8 gMonStillFrontPic_Electrike[]; extern const u8 gMonIcon_Electrike[]; extern const u8 gMonFootprint_Electrike[]; extern const u8 gMonFrontPic_Manectric[]; extern const u8 gMonPalette_Manectric[]; extern const u8 gMonBackPic_Manectric[]; extern const u8 gMonShinyPalette_Manectric[]; +extern const u8 gMonStillFrontPic_Manectric[]; extern const u8 gMonIcon_Manectric[]; extern const u8 gMonFootprint_Manectric[]; extern const u8 gMonFrontPic_Numel[]; extern const u8 gMonPalette_Numel[]; extern const u8 gMonBackPic_Numel[]; extern const u8 gMonShinyPalette_Numel[]; +extern const u8 gMonStillFrontPic_Numel[]; extern const u8 gMonIcon_Numel[]; extern const u8 gMonFootprint_Numel[]; extern const u8 gMonFrontPic_Camerupt[]; extern const u8 gMonPalette_Camerupt[]; extern const u8 gMonBackPic_Camerupt[]; extern const u8 gMonShinyPalette_Camerupt[]; +extern const u8 gMonStillFrontPic_Camerupt[]; extern const u8 gMonIcon_Camerupt[]; extern const u8 gMonFootprint_Camerupt[]; extern const u8 gMonFrontPic_Spheal[]; extern const u8 gMonPalette_Spheal[]; extern const u8 gMonBackPic_Spheal[]; extern const u8 gMonShinyPalette_Spheal[]; +extern const u8 gMonStillFrontPic_Spheal[]; extern const u8 gMonIcon_Spheal[]; extern const u8 gMonFootprint_Spheal[]; extern const u8 gMonFrontPic_Sealeo[]; extern const u8 gMonPalette_Sealeo[]; extern const u8 gMonBackPic_Sealeo[]; extern const u8 gMonShinyPalette_Sealeo[]; +extern const u8 gMonStillFrontPic_Sealeo[]; extern const u8 gMonIcon_Sealeo[]; extern const u8 gMonFootprint_Sealeo[]; extern const u8 gMonFrontPic_Walrein[]; extern const u8 gMonPalette_Walrein[]; extern const u8 gMonBackPic_Walrein[]; extern const u8 gMonShinyPalette_Walrein[]; +extern const u8 gMonStillFrontPic_Walrein[]; extern const u8 gMonIcon_Walrein[]; extern const u8 gMonFootprint_Walrein[]; extern const u8 gMonFrontPic_Cacnea[]; extern const u8 gMonPalette_Cacnea[]; extern const u8 gMonBackPic_Cacnea[]; extern const u8 gMonShinyPalette_Cacnea[]; +extern const u8 gMonStillFrontPic_Cacnea[]; extern const u8 gMonIcon_Cacnea[]; extern const u8 gMonFootprint_Cacnea[]; extern const u8 gMonFrontPic_Cacturne[]; extern const u8 gMonPalette_Cacturne[]; extern const u8 gMonBackPic_Cacturne[]; extern const u8 gMonShinyPalette_Cacturne[]; +extern const u8 gMonStillFrontPic_Cacturne[]; extern const u8 gMonIcon_Cacturne[]; extern const u8 gMonFootprint_Cacturne[]; extern const u8 gMonFrontPic_Snorunt[]; extern const u8 gMonPalette_Snorunt[]; extern const u8 gMonBackPic_Snorunt[]; extern const u8 gMonShinyPalette_Snorunt[]; +extern const u8 gMonStillFrontPic_Snorunt[]; extern const u8 gMonIcon_Snorunt[]; extern const u8 gMonFootprint_Snorunt[]; extern const u8 gMonFrontPic_Glalie[]; extern const u8 gMonPalette_Glalie[]; extern const u8 gMonBackPic_Glalie[]; extern const u8 gMonShinyPalette_Glalie[]; +extern const u8 gMonStillFrontPic_Glalie[]; extern const u8 gMonIcon_Glalie[]; extern const u8 gMonFootprint_Glalie[]; extern const u8 gMonFrontPic_Lunatone[]; extern const u8 gMonPalette_Lunatone[]; extern const u8 gMonBackPic_Lunatone[]; extern const u8 gMonShinyPalette_Lunatone[]; +extern const u8 gMonStillFrontPic_Lunatone[]; extern const u8 gMonIcon_Lunatone[]; extern const u8 gMonFootprint_Lunatone[]; extern const u8 gMonFrontPic_Solrock[]; extern const u8 gMonPalette_Solrock[]; extern const u8 gMonBackPic_Solrock[]; extern const u8 gMonShinyPalette_Solrock[]; +extern const u8 gMonStillFrontPic_Solrock[]; extern const u8 gMonIcon_Solrock[]; extern const u8 gMonFootprint_Solrock[]; extern const u8 gMonFrontPic_Azurill[]; extern const u8 gMonPalette_Azurill[]; extern const u8 gMonBackPic_Azurill[]; extern const u8 gMonShinyPalette_Azurill[]; +extern const u8 gMonStillFrontPic_Azurill[]; extern const u8 gMonIcon_Azurill[]; extern const u8 gMonFootprint_Azurill[]; extern const u8 gMonFrontPic_Spoink[]; extern const u8 gMonPalette_Spoink[]; extern const u8 gMonBackPic_Spoink[]; extern const u8 gMonShinyPalette_Spoink[]; +extern const u8 gMonStillFrontPic_Spoink[]; extern const u8 gMonIcon_Spoink[]; extern const u8 gMonFootprint_Spoink[]; extern const u8 gMonFrontPic_Grumpig[]; extern const u8 gMonPalette_Grumpig[]; extern const u8 gMonBackPic_Grumpig[]; extern const u8 gMonShinyPalette_Grumpig[]; +extern const u8 gMonStillFrontPic_Grumpig[]; extern const u8 gMonIcon_Grumpig[]; extern const u8 gMonFootprint_Grumpig[]; extern const u8 gMonFrontPic_Plusle[]; extern const u8 gMonPalette_Plusle[]; extern const u8 gMonBackPic_Plusle[]; extern const u8 gMonShinyPalette_Plusle[]; +extern const u8 gMonStillFrontPic_Plusle[]; extern const u8 gMonIcon_Plusle[]; extern const u8 gMonFootprint_Plusle[]; extern const u8 gMonFrontPic_Minun[]; extern const u8 gMonPalette_Minun[]; extern const u8 gMonBackPic_Minun[]; extern const u8 gMonShinyPalette_Minun[]; +extern const u8 gMonStillFrontPic_Minun[]; extern const u8 gMonIcon_Minun[]; extern const u8 gMonFootprint_Minun[]; extern const u8 gMonFrontPic_Mawile[]; extern const u8 gMonPalette_Mawile[]; extern const u8 gMonBackPic_Mawile[]; extern const u8 gMonShinyPalette_Mawile[]; +extern const u8 gMonStillFrontPic_Mawile[]; extern const u8 gMonIcon_Mawile[]; extern const u8 gMonFootprint_Mawile[]; extern const u8 gMonFrontPic_Meditite[]; extern const u8 gMonPalette_Meditite[]; extern const u8 gMonBackPic_Meditite[]; extern const u8 gMonShinyPalette_Meditite[]; +extern const u8 gMonStillFrontPic_Meditite[]; extern const u8 gMonIcon_Meditite[]; extern const u8 gMonFootprint_Meditite[]; extern const u8 gMonFrontPic_Medicham[]; extern const u8 gMonPalette_Medicham[]; extern const u8 gMonBackPic_Medicham[]; extern const u8 gMonShinyPalette_Medicham[]; +extern const u8 gMonStillFrontPic_Medicham[]; extern const u8 gMonIcon_Medicham[]; extern const u8 gMonFootprint_Medicham[]; extern const u8 gMonFrontPic_Swablu[]; extern const u8 gMonPalette_Swablu[]; extern const u8 gMonBackPic_Swablu[]; extern const u8 gMonShinyPalette_Swablu[]; +extern const u8 gMonStillFrontPic_Swablu[]; extern const u8 gMonIcon_Swablu[]; extern const u8 gMonFootprint_Swablu[]; extern const u8 gMonFrontPic_Altaria[]; extern const u8 gMonPalette_Altaria[]; extern const u8 gMonBackPic_Altaria[]; extern const u8 gMonShinyPalette_Altaria[]; +extern const u8 gMonStillFrontPic_Altaria[]; extern const u8 gMonIcon_Altaria[]; extern const u8 gMonFootprint_Altaria[]; extern const u8 gMonFrontPic_Wynaut[]; extern const u8 gMonPalette_Wynaut[]; extern const u8 gMonBackPic_Wynaut[]; extern const u8 gMonShinyPalette_Wynaut[]; +extern const u8 gMonStillFrontPic_Wynaut[]; extern const u8 gMonIcon_Wynaut[]; extern const u8 gMonFootprint_Wynaut[]; extern const u8 gMonFrontPic_Duskull[]; extern const u8 gMonPalette_Duskull[]; extern const u8 gMonBackPic_Duskull[]; extern const u8 gMonShinyPalette_Duskull[]; +extern const u8 gMonStillFrontPic_Duskull[]; extern const u8 gMonIcon_Duskull[]; extern const u8 gMonFootprint_Duskull[]; extern const u8 gMonFrontPic_Dusclops[]; extern const u8 gMonPalette_Dusclops[]; extern const u8 gMonBackPic_Dusclops[]; extern const u8 gMonShinyPalette_Dusclops[]; +extern const u8 gMonStillFrontPic_Dusclops[]; extern const u8 gMonIcon_Dusclops[]; extern const u8 gMonFootprint_Dusclops[]; extern const u8 gMonFrontPic_Roselia[]; extern const u8 gMonPalette_Roselia[]; extern const u8 gMonBackPic_Roselia[]; extern const u8 gMonShinyPalette_Roselia[]; +extern const u8 gMonStillFrontPic_Roselia[]; extern const u8 gMonIcon_Roselia[]; extern const u8 gMonFootprint_Roselia[]; extern const u8 gMonFrontPic_Slakoth[]; extern const u8 gMonPalette_Slakoth[]; extern const u8 gMonBackPic_Slakoth[]; extern const u8 gMonShinyPalette_Slakoth[]; +extern const u8 gMonStillFrontPic_Slakoth[]; extern const u8 gMonIcon_Slakoth[]; extern const u8 gMonFootprint_Slakoth[]; extern const u8 gMonFrontPic_Vigoroth[]; extern const u8 gMonPalette_Vigoroth[]; extern const u8 gMonBackPic_Vigoroth[]; extern const u8 gMonShinyPalette_Vigoroth[]; +extern const u8 gMonStillFrontPic_Vigoroth[]; extern const u8 gMonIcon_Vigoroth[]; extern const u8 gMonFootprint_Vigoroth[]; extern const u8 gMonFrontPic_Slaking[]; extern const u8 gMonPalette_Slaking[]; extern const u8 gMonBackPic_Slaking[]; extern const u8 gMonShinyPalette_Slaking[]; +extern const u8 gMonStillFrontPic_Slaking[]; extern const u8 gMonIcon_Slaking[]; extern const u8 gMonFootprint_Slaking[]; extern const u8 gMonFrontPic_Gulpin[]; extern const u8 gMonPalette_Gulpin[]; extern const u8 gMonBackPic_Gulpin[]; extern const u8 gMonShinyPalette_Gulpin[]; +extern const u8 gMonStillFrontPic_Gulpin[]; extern const u8 gMonIcon_Gulpin[]; extern const u8 gMonFootprint_Gulpin[]; extern const u8 gMonFrontPic_Swalot[]; extern const u8 gMonPalette_Swalot[]; extern const u8 gMonBackPic_Swalot[]; extern const u8 gMonShinyPalette_Swalot[]; +extern const u8 gMonStillFrontPic_Swalot[]; extern const u8 gMonIcon_Swalot[]; extern const u8 gMonFootprint_Swalot[]; extern const u8 gMonFrontPic_Tropius[]; extern const u8 gMonPalette_Tropius[]; extern const u8 gMonBackPic_Tropius[]; extern const u8 gMonShinyPalette_Tropius[]; +extern const u8 gMonStillFrontPic_Tropius[]; extern const u8 gMonIcon_Tropius[]; extern const u8 gMonFootprint_Tropius[]; extern const u8 gMonFrontPic_Whismur[]; extern const u8 gMonPalette_Whismur[]; extern const u8 gMonBackPic_Whismur[]; extern const u8 gMonShinyPalette_Whismur[]; +extern const u8 gMonStillFrontPic_Whismur[]; extern const u8 gMonIcon_Whismur[]; extern const u8 gMonFootprint_Whismur[]; extern const u8 gMonFrontPic_Loudred[]; extern const u8 gMonPalette_Loudred[]; extern const u8 gMonBackPic_Loudred[]; extern const u8 gMonShinyPalette_Loudred[]; +extern const u8 gMonStillFrontPic_Loudred[]; extern const u8 gMonIcon_Loudred[]; extern const u8 gMonFootprint_Loudred[]; extern const u8 gMonFrontPic_Exploud[]; extern const u8 gMonPalette_Exploud[]; extern const u8 gMonBackPic_Exploud[]; extern const u8 gMonShinyPalette_Exploud[]; +extern const u8 gMonStillFrontPic_Exploud[]; extern const u8 gMonIcon_Exploud[]; extern const u8 gMonFootprint_Exploud[]; extern const u8 gMonFrontPic_Clamperl[]; extern const u8 gMonPalette_Clamperl[]; extern const u8 gMonBackPic_Clamperl[]; extern const u8 gMonShinyPalette_Clamperl[]; +extern const u8 gMonStillFrontPic_Clamperl[]; extern const u8 gMonIcon_Clamperl[]; extern const u8 gMonFootprint_Clamperl[]; extern const u8 gMonFrontPic_Huntail[]; extern const u8 gMonPalette_Huntail[]; extern const u8 gMonBackPic_Huntail[]; extern const u8 gMonShinyPalette_Huntail[]; +extern const u8 gMonStillFrontPic_Huntail[]; extern const u8 gMonIcon_Huntail[]; extern const u8 gMonFootprint_Huntail[]; extern const u8 gMonFrontPic_Gorebyss[]; extern const u8 gMonPalette_Gorebyss[]; extern const u8 gMonBackPic_Gorebyss[]; extern const u8 gMonShinyPalette_Gorebyss[]; +extern const u8 gMonStillFrontPic_Gorebyss[]; extern const u8 gMonIcon_Gorebyss[]; extern const u8 gMonFootprint_Gorebyss[]; extern const u8 gMonFrontPic_Absol[]; extern const u8 gMonPalette_Absol[]; extern const u8 gMonBackPic_Absol[]; extern const u8 gMonShinyPalette_Absol[]; +extern const u8 gMonStillFrontPic_Absol[]; extern const u8 gMonIcon_Absol[]; extern const u8 gMonFootprint_Absol[]; extern const u8 gMonFrontPic_Shuppet[]; extern const u8 gMonPalette_Shuppet[]; extern const u8 gMonBackPic_Shuppet[]; extern const u8 gMonShinyPalette_Shuppet[]; +extern const u8 gMonStillFrontPic_Shuppet[]; extern const u8 gMonIcon_Shuppet[]; extern const u8 gMonFootprint_Shuppet[]; extern const u8 gMonFrontPic_Banette[]; extern const u8 gMonPalette_Banette[]; extern const u8 gMonBackPic_Banette[]; extern const u8 gMonShinyPalette_Banette[]; +extern const u8 gMonStillFrontPic_Banette[]; extern const u8 gMonIcon_Banette[]; extern const u8 gMonFootprint_Banette[]; extern const u8 gMonFrontPic_Seviper[]; extern const u8 gMonPalette_Seviper[]; extern const u8 gMonBackPic_Seviper[]; extern const u8 gMonShinyPalette_Seviper[]; +extern const u8 gMonStillFrontPic_Seviper[]; extern const u8 gMonIcon_Seviper[]; extern const u8 gMonFootprint_Seviper[]; extern const u8 gMonFrontPic_Zangoose[]; extern const u8 gMonPalette_Zangoose[]; extern const u8 gMonBackPic_Zangoose[]; extern const u8 gMonShinyPalette_Zangoose[]; +extern const u8 gMonStillFrontPic_Zangoose[]; extern const u8 gMonIcon_Zangoose[]; extern const u8 gMonFootprint_Zangoose[]; extern const u8 gMonFrontPic_Relicanth[]; extern const u8 gMonPalette_Relicanth[]; extern const u8 gMonBackPic_Relicanth[]; extern const u8 gMonShinyPalette_Relicanth[]; +extern const u8 gMonStillFrontPic_Relicanth[]; extern const u8 gMonIcon_Relicanth[]; extern const u8 gMonFootprint_Relicanth[]; extern const u8 gMonFrontPic_Aron[]; extern const u8 gMonPalette_Aron[]; extern const u8 gMonBackPic_Aron[]; extern const u8 gMonShinyPalette_Aron[]; +extern const u8 gMonStillFrontPic_Aron[]; extern const u8 gMonIcon_Aron[]; extern const u8 gMonFootprint_Aron[]; extern const u8 gMonFrontPic_Lairon[]; extern const u8 gMonPalette_Lairon[]; extern const u8 gMonBackPic_Lairon[]; extern const u8 gMonShinyPalette_Lairon[]; +extern const u8 gMonStillFrontPic_Lairon[]; extern const u8 gMonIcon_Lairon[]; extern const u8 gMonFootprint_Lairon[]; extern const u8 gMonFrontPic_Aggron[]; extern const u8 gMonPalette_Aggron[]; extern const u8 gMonBackPic_Aggron[]; extern const u8 gMonShinyPalette_Aggron[]; +extern const u8 gMonStillFrontPic_Aggron[]; extern const u8 gMonIcon_Aggron[]; extern const u8 gMonFootprint_Aggron[]; extern const u8 gMonFrontPic_Castform[]; extern const u8 gMonPalette_Castform[]; extern const u8 gMonBackPic_Castform[]; extern const u8 gMonShinyPalette_Castform[]; +extern const u8 gMonStillFrontPic_Castform[]; extern const u8 gMonIcon_Castform[]; extern const u8 gMonFootprint_Castform[]; extern const u8 gMonFrontPic_Volbeat[]; extern const u8 gMonPalette_Volbeat[]; extern const u8 gMonBackPic_Volbeat[]; extern const u8 gMonShinyPalette_Volbeat[]; +extern const u8 gMonStillFrontPic_Volbeat[]; extern const u8 gMonIcon_Volbeat[]; extern const u8 gMonFootprint_Volbeat[]; extern const u8 gMonFrontPic_Illumise[]; extern const u8 gMonPalette_Illumise[]; extern const u8 gMonBackPic_Illumise[]; extern const u8 gMonShinyPalette_Illumise[]; +extern const u8 gMonStillFrontPic_Illumise[]; extern const u8 gMonIcon_Illumise[]; extern const u8 gMonFootprint_Illumise[]; extern const u8 gMonFrontPic_Lileep[]; extern const u8 gMonPalette_Lileep[]; extern const u8 gMonBackPic_Lileep[]; extern const u8 gMonShinyPalette_Lileep[]; +extern const u8 gMonStillFrontPic_Lileep[]; extern const u8 gMonIcon_Lileep[]; extern const u8 gMonFootprint_Lileep[]; extern const u8 gMonFrontPic_Cradily[]; extern const u8 gMonPalette_Cradily[]; extern const u8 gMonBackPic_Cradily[]; extern const u8 gMonShinyPalette_Cradily[]; +extern const u8 gMonStillFrontPic_Cradily[]; extern const u8 gMonIcon_Cradily[]; extern const u8 gMonFootprint_Cradily[]; extern const u8 gMonFrontPic_Anorith[]; extern const u8 gMonPalette_Anorith[]; extern const u8 gMonBackPic_Anorith[]; extern const u8 gMonShinyPalette_Anorith[]; +extern const u8 gMonStillFrontPic_Anorith[]; extern const u8 gMonIcon_Anorith[]; extern const u8 gMonFootprint_Anorith[]; extern const u8 gMonFrontPic_Armaldo[]; extern const u8 gMonPalette_Armaldo[]; extern const u8 gMonBackPic_Armaldo[]; extern const u8 gMonShinyPalette_Armaldo[]; +extern const u8 gMonStillFrontPic_Armaldo[]; extern const u8 gMonIcon_Armaldo[]; extern const u8 gMonFootprint_Armaldo[]; extern const u8 gMonFrontPic_Ralts[]; extern const u8 gMonPalette_Ralts[]; extern const u8 gMonBackPic_Ralts[]; extern const u8 gMonShinyPalette_Ralts[]; +extern const u8 gMonStillFrontPic_Ralts[]; extern const u8 gMonIcon_Ralts[]; extern const u8 gMonFootprint_Ralts[]; extern const u8 gMonFrontPic_Kirlia[]; extern const u8 gMonPalette_Kirlia[]; extern const u8 gMonBackPic_Kirlia[]; extern const u8 gMonShinyPalette_Kirlia[]; +extern const u8 gMonStillFrontPic_Kirlia[]; extern const u8 gMonIcon_Kirlia[]; extern const u8 gMonFootprint_Kirlia[]; extern const u8 gMonFrontPic_Gardevoir[]; extern const u8 gMonPalette_Gardevoir[]; extern const u8 gMonBackPic_Gardevoir[]; extern const u8 gMonShinyPalette_Gardevoir[]; +extern const u8 gMonStillFrontPic_Gardevoir[]; extern const u8 gMonIcon_Gardevoir[]; extern const u8 gMonFootprint_Gardevoir[]; extern const u8 gMonFrontPic_Bagon[]; extern const u8 gMonPalette_Bagon[]; extern const u8 gMonBackPic_Bagon[]; extern const u8 gMonShinyPalette_Bagon[]; +extern const u8 gMonStillFrontPic_Bagon[]; extern const u8 gMonIcon_Bagon[]; extern const u8 gMonFootprint_Bagon[]; extern const u8 gMonFrontPic_Shelgon[]; extern const u8 gMonPalette_Shelgon[]; extern const u8 gMonBackPic_Shelgon[]; extern const u8 gMonShinyPalette_Shelgon[]; +extern const u8 gMonStillFrontPic_Shelgon[]; extern const u8 gMonIcon_Shelgon[]; extern const u8 gMonFootprint_Shelgon[]; extern const u8 gMonFrontPic_Salamence[]; extern const u8 gMonPalette_Salamence[]; extern const u8 gMonBackPic_Salamence[]; extern const u8 gMonShinyPalette_Salamence[]; +extern const u8 gMonStillFrontPic_Salamence[]; extern const u8 gMonIcon_Salamence[]; extern const u8 gMonFootprint_Salamence[]; extern const u8 gMonFrontPic_Beldum[]; extern const u8 gMonPalette_Beldum[]; extern const u8 gMonBackPic_Beldum[]; extern const u8 gMonShinyPalette_Beldum[]; +extern const u8 gMonStillFrontPic_Beldum[]; extern const u8 gMonIcon_Beldum[]; extern const u8 gMonFootprint_Beldum[]; extern const u8 gMonFrontPic_Metang[]; extern const u8 gMonPalette_Metang[]; extern const u8 gMonBackPic_Metang[]; extern const u8 gMonShinyPalette_Metang[]; +extern const u8 gMonStillFrontPic_Metang[]; extern const u8 gMonIcon_Metang[]; extern const u8 gMonFootprint_Metang[]; extern const u8 gMonFrontPic_Metagross[]; extern const u8 gMonPalette_Metagross[]; extern const u8 gMonBackPic_Metagross[]; extern const u8 gMonShinyPalette_Metagross[]; +extern const u8 gMonStillFrontPic_Metagross[]; extern const u8 gMonIcon_Metagross[]; extern const u8 gMonFootprint_Metagross[]; extern const u8 gMonFrontPic_Regirock[]; extern const u8 gMonPalette_Regirock[]; extern const u8 gMonBackPic_Regirock[]; extern const u8 gMonShinyPalette_Regirock[]; +extern const u8 gMonStillFrontPic_Regirock[]; extern const u8 gMonIcon_Regirock[]; extern const u8 gMonFootprint_Regirock[]; extern const u8 gMonFrontPic_Regice[]; extern const u8 gMonPalette_Regice[]; extern const u8 gMonBackPic_Regice[]; extern const u8 gMonShinyPalette_Regice[]; +extern const u8 gMonStillFrontPic_Regice[]; extern const u8 gMonIcon_Regice[]; extern const u8 gMonFootprint_Regice[]; extern const u8 gMonFrontPic_Registeel[]; extern const u8 gMonPalette_Registeel[]; extern const u8 gMonBackPic_Registeel[]; extern const u8 gMonShinyPalette_Registeel[]; +extern const u8 gMonStillFrontPic_Registeel[]; extern const u8 gMonIcon_Registeel[]; extern const u8 gMonFootprint_Registeel[]; extern const u8 gMonFrontPic_Kyogre[]; extern const u8 gMonPalette_Kyogre[]; extern const u8 gMonBackPic_Kyogre[]; extern const u8 gMonShinyPalette_Kyogre[]; +extern const u8 gMonStillFrontPic_Kyogre[]; extern const u8 gMonIcon_Kyogre[]; extern const u8 gMonFootprint_Kyogre[]; extern const u8 gMonFrontPic_Groudon[]; extern const u8 gMonPalette_Groudon[]; extern const u8 gMonBackPic_Groudon[]; extern const u8 gMonShinyPalette_Groudon[]; +extern const u8 gMonStillFrontPic_Groudon[]; extern const u8 gMonIcon_Groudon[]; extern const u8 gMonFootprint_Groudon[]; extern const u8 gMonFrontPic_Rayquaza[]; extern const u8 gMonPalette_Rayquaza[]; extern const u8 gMonBackPic_Rayquaza[]; extern const u8 gMonShinyPalette_Rayquaza[]; +extern const u8 gMonStillFrontPic_Rayquaza[]; extern const u8 gMonIcon_Rayquaza[]; extern const u8 gMonFootprint_Rayquaza[]; extern const u8 gMonFrontPic_Latias[]; extern const u8 gMonPalette_Latias[]; extern const u8 gMonBackPic_Latias[]; extern const u8 gMonShinyPalette_Latias[]; +extern const u8 gMonStillFrontPic_Latias[]; extern const u8 gMonIcon_Latias[]; extern const u8 gMonFootprint_Latias[]; extern const u8 gMonFrontPic_Latios[]; extern const u8 gMonPalette_Latios[]; extern const u8 gMonBackPic_Latios[]; extern const u8 gMonShinyPalette_Latios[]; +extern const u8 gMonStillFrontPic_Latios[]; extern const u8 gMonIcon_Latios[]; extern const u8 gMonFootprint_Latios[]; extern const u8 gMonFrontPic_Jirachi[]; extern const u8 gMonPalette_Jirachi[]; extern const u8 gMonBackPic_Jirachi[]; extern const u8 gMonShinyPalette_Jirachi[]; +extern const u8 gMonStillFrontPic_Jirachi[]; extern const u8 gMonIcon_Jirachi[]; extern const u8 gMonFootprint_Jirachi[]; extern const u8 gMonFrontPic_Deoxys[]; extern const u8 gMonPalette_Deoxys[]; extern const u8 gMonBackPic_Deoxys[]; extern const u8 gMonShinyPalette_Deoxys[]; +extern const u8 gMonStillFrontPic_Deoxys[]; extern const u8 gMonIcon_Deoxys[]; extern const u8 gMonFootprint_Deoxys[]; extern const u8 gMonFrontPic_Chimecho[]; extern const u8 gMonPalette_Chimecho[]; extern const u8 gMonBackPic_Chimecho[]; extern const u8 gMonShinyPalette_Chimecho[]; +extern const u8 gMonStillFrontPic_Chimecho[]; extern const u8 gMonIcon_Chimecho[]; extern const u8 gMonFootprint_Chimecho[]; extern const u8 gMonPic_Egg[]; extern const u8 gMonPalette_Egg[]; +extern const u8 gMonFrontPic_Egg[]; +extern const u8 gMonStillFrontPic_Egg[]; +extern const u8 gMonIcon_Egg[]; extern const u8 gMonFrontPic_UnownB[]; extern const u8 gMonBackPic_UnownB[]; +extern const u8 gMonStillFrontPic_UnownB[]; extern const u8 gMonIcon_UnownB[]; extern const u8 gMonFrontPic_UnownC[]; extern const u8 gMonBackPic_UnownC[]; +extern const u8 gMonStillFrontPic_UnownC[]; extern const u8 gMonIcon_UnownC[]; extern const u8 gMonFrontPic_UnownD[]; extern const u8 gMonBackPic_UnownD[]; +extern const u8 gMonStillFrontPic_UnownD[]; extern const u8 gMonIcon_UnownD[]; extern const u8 gMonFrontPic_UnownE[]; extern const u8 gMonBackPic_UnownE[]; +extern const u8 gMonStillFrontPic_UnownE[]; extern const u8 gMonIcon_UnownE[]; extern const u8 gMonFrontPic_UnownF[]; extern const u8 gMonBackPic_UnownF[]; +extern const u8 gMonStillFrontPic_UnownF[]; extern const u8 gMonIcon_UnownF[]; extern const u8 gMonFrontPic_UnownG[]; extern const u8 gMonBackPic_UnownG[]; +extern const u8 gMonStillFrontPic_UnownG[]; extern const u8 gMonIcon_UnownG[]; extern const u8 gMonFrontPic_UnownH[]; extern const u8 gMonBackPic_UnownH[]; +extern const u8 gMonStillFrontPic_UnownH[]; extern const u8 gMonIcon_UnownH[]; extern const u8 gMonFrontPic_UnownI[]; extern const u8 gMonBackPic_UnownI[]; +extern const u8 gMonStillFrontPic_UnownI[]; extern const u8 gMonIcon_UnownI[]; extern const u8 gMonFrontPic_UnownJ[]; extern const u8 gMonBackPic_UnownJ[]; +extern const u8 gMonStillFrontPic_UnownJ[]; extern const u8 gMonIcon_UnownJ[]; extern const u8 gMonFrontPic_UnownK[]; extern const u8 gMonBackPic_UnownK[]; +extern const u8 gMonStillFrontPic_UnownK[]; extern const u8 gMonIcon_UnownK[]; extern const u8 gMonFrontPic_UnownL[]; extern const u8 gMonBackPic_UnownL[]; +extern const u8 gMonStillFrontPic_UnownL[]; extern const u8 gMonIcon_UnownL[]; extern const u8 gMonFrontPic_UnownM[]; extern const u8 gMonBackPic_UnownM[]; +extern const u8 gMonStillFrontPic_UnownM[]; extern const u8 gMonIcon_UnownM[]; extern const u8 gMonFrontPic_UnownN[]; extern const u8 gMonBackPic_UnownN[]; +extern const u8 gMonStillFrontPic_UnownN[]; extern const u8 gMonIcon_UnownN[]; extern const u8 gMonFrontPic_UnownO[]; extern const u8 gMonBackPic_UnownO[]; +extern const u8 gMonStillFrontPic_UnownO[]; extern const u8 gMonIcon_UnownO[]; extern const u8 gMonFrontPic_UnownP[]; extern const u8 gMonBackPic_UnownP[]; +extern const u8 gMonStillFrontPic_UnownP[]; extern const u8 gMonIcon_UnownP[]; extern const u8 gMonFrontPic_UnownQ[]; extern const u8 gMonBackPic_UnownQ[]; +extern const u8 gMonStillFrontPic_UnownQ[]; extern const u8 gMonIcon_UnownQ[]; extern const u8 gMonFrontPic_UnownR[]; extern const u8 gMonBackPic_UnownR[]; +extern const u8 gMonStillFrontPic_UnownR[]; extern const u8 gMonIcon_UnownR[]; extern const u8 gMonFrontPic_UnownS[]; extern const u8 gMonBackPic_UnownS[]; +extern const u8 gMonStillFrontPic_UnownS[]; extern const u8 gMonIcon_UnownS[]; extern const u8 gMonFrontPic_UnownT[]; extern const u8 gMonBackPic_UnownT[]; +extern const u8 gMonStillFrontPic_UnownT[]; extern const u8 gMonIcon_UnownT[]; extern const u8 gMonFrontPic_UnownU[]; extern const u8 gMonBackPic_UnownU[]; +extern const u8 gMonStillFrontPic_UnownU[]; extern const u8 gMonIcon_UnownU[]; extern const u8 gMonFrontPic_UnownV[]; extern const u8 gMonBackPic_UnownV[]; +extern const u8 gMonStillFrontPic_UnownV[]; extern const u8 gMonIcon_UnownV[]; extern const u8 gMonFrontPic_UnownW[]; extern const u8 gMonBackPic_UnownW[]; +extern const u8 gMonStillFrontPic_UnownW[]; extern const u8 gMonIcon_UnownW[]; extern const u8 gMonFrontPic_UnownX[]; extern const u8 gMonBackPic_UnownX[]; +extern const u8 gMonStillFrontPic_UnownX[]; extern const u8 gMonIcon_UnownX[]; extern const u8 gMonFrontPic_UnownY[]; extern const u8 gMonBackPic_UnownY[]; +extern const u8 gMonStillFrontPic_UnownY[]; extern const u8 gMonIcon_UnownY[]; extern const u8 gMonFrontPic_UnownZ[]; extern const u8 gMonBackPic_UnownZ[]; +extern const u8 gMonStillFrontPic_UnownZ[]; extern const u8 gMonIcon_UnownZ[]; extern const u8 gMonFrontPic_UnownExclamationMark[]; extern const u8 gMonBackPic_UnownExclamationMark[]; +extern const u8 gMonStillFrontPic_UnownExclamationMark[]; extern const u8 gMonIcon_UnownExclamationMark[]; extern const u8 gMonFrontPic_UnownQuestionMark[]; +extern const u8 gMonStillFrontPic_UnownQuestionMark[]; extern const u8 gMonBackPic_UnownQuestionMark[]; extern const u8 gMonIcon_UnownQuestionMark[]; @@ -2441,14 +2858,13 @@ extern const u8 gMonFrontPic_CircledQuestionMark[]; extern const u8 gMonBackPic_CircledQuestionMark[]; extern const u8 gMonPalette_CircledQuestionMark[]; extern const u8 gMonShinyPalette_CircledQuestionMark[]; +extern const u8 gMonStillFrontPic_CircledQuestionMark[]; extern const u8 gMonIcon_QuestionMark[]; extern const u8 gMonFrontPic_DoubleQuestionMark[]; extern const u8 gMonBackPic_DoubleQuestionMark[]; extern const u8 gMonPalette_DoubleQuestionMark[]; extern const u8 gMonShinyPalette_DoubleQuestionMark[]; -extern const u8 gMonFrontPic_Egg[]; -extern const u8 gMonStillFrontPic_Egg[]; -extern const u8 gMonIcon_Egg[]; +extern const u8 gMonStillFrontPic_DoubleQuestionMark[]; extern const u16 gMonIconPalettes[][16]; // trainer sprites diff --git a/src/data/pokemon_graphics/back_pic_coordinates.h b/src/data/pokemon_graphics/back_pic_coordinates.h new file mode 100644 index 0000000000..f54b409e4e --- /dev/null +++ b/src/data/pokemon_graphics/back_pic_coordinates.h @@ -0,0 +1,443 @@ +const struct MonCoords gUnknown_083021D8[] = +{ + {0x88, 0x00}, // SPECIES_NONE + {0x64, 0x10}, // SPECIES_BULBASAUR + {0x66, 0x09}, // SPECIES_IVYSAUR + {0x87, 0x07}, // SPECIES_VENUSAUR + {0x65, 0x0e}, // SPECIES_CHARMANDER + {0x66, 0x09}, // SPECIES_CHARMELEON + {0x87, 0x04}, // SPECIES_CHARIZARD + {0x65, 0x0e}, // SPECIES_SQUIRTLE + {0x76, 0x0a}, // SPECIES_WARTORTLE + {0x86, 0x08}, // SPECIES_BLASTOISE + {0x55, 0x0f}, // SPECIES_CATERPIE + {0x65, 0x0c}, // SPECIES_METAPOD + {0x87, 0x06}, // SPECIES_BUTTERFREE + {0x56, 0x0b}, // SPECIES_WEEDLE + {0x46, 0x0a}, // SPECIES_KAKUNA + {0x86, 0x09}, // SPECIES_BEEDRILL + {0x66, 0x08}, // SPECIES_PIDGEY + {0x85, 0x0c}, // SPECIES_PIDGEOTTO + {0x78, 0x02}, // SPECIES_PIDGEOT + {0x65, 0x0d}, // SPECIES_RATTATA + {0x75, 0x0d}, // SPECIES_RATICATE + {0x65, 0x0c}, // SPECIES_SPEAROW + {0x87, 0x05}, // SPECIES_FEAROW + {0x66, 0x09}, // SPECIES_EKANS + {0x77, 0x04}, // SPECIES_ARBOK + {0x77, 0x07}, // SPECIES_PIKACHU + {0x66, 0x08}, // SPECIES_RAICHU + {0x65, 0x0d}, // SPECIES_SANDSHREW + {0x86, 0x09}, // SPECIES_SANDSLASH + {0x55, 0x0c}, // SPECIES_NIDORAN_F + {0x86, 0x0a}, // SPECIES_NIDORINA + {0x77, 0x06}, // SPECIES_NIDOQUEEN + {0x56, 0x08}, // SPECIES_NIDORAN_M + {0x86, 0x09}, // SPECIES_NIDORINO + {0x88, 0x03}, // SPECIES_NIDOKING + {0x65, 0x0d}, // SPECIES_CLEFAIRY + {0x76, 0x0a}, // SPECIES_CLEFABLE + {0x76, 0x09}, // SPECIES_VULPIX + {0x77, 0x05}, // SPECIES_NINETALES + {0x65, 0x0d}, // SPECIES_JIGGLYPUFF + {0x66, 0x08}, // SPECIES_WIGGLYTUFF + {0x76, 0x0b}, // SPECIES_ZUBAT + {0x87, 0x06}, // SPECIES_GOLBAT + {0x56, 0x0b}, // SPECIES_ODDISH + {0x66, 0x0a}, // SPECIES_GLOOM + {0x87, 0x07}, // SPECIES_VILEPLUME + {0x63, 0x14}, // SPECIES_PARAS + {0x87, 0x07}, // SPECIES_VENONAT + {0x77, 0x06}, // SPECIES_VENOMOTH + {0x77, 0x04}, // SPECIES_DIGLETT + {0x54, 0x10}, // SPECIES_DUGTRIO + {0x66, 0x0b}, // SPECIES_MEOWTH + {0x65, 0x0c}, // SPECIES_PERSIAN + {0x87, 0x07}, // SPECIES_PSYDUCK + {0x67, 0x07}, // SPECIES_GOLDUCK + {0x77, 0x05}, // SPECIES_MANKEY + {0x76, 0x0b}, // SPECIES_PRIMEAPE + {0x77, 0x07}, // SPECIES_GROWLITHE + {0x66, 0x08}, // SPECIES_ARCANINE + {0x87, 0x06}, // SPECIES_POLIWAG + {0x74, 0x10}, // SPECIES_POLIWHIRL + {0x65, 0x0c}, // SPECIES_POLIWRATH + {0x86, 0x0b}, // SPECIES_ABRA + {0x66, 0x0b}, // SPECIES_KADABRA + {0x76, 0x08}, // SPECIES_ALAKAZAM + {0x67, 0x05}, // SPECIES_MACHOP + {0x65, 0x0c}, // SPECIES_MACHOKE + {0x76, 0x09}, // SPECIES_MACHAMP + {0x67, 0x04}, // SPECIES_BELLSPROUT + {0x66, 0x0a}, // SPECIES_WEEPINBELL + {0x66, 0x09}, // SPECIES_VICTREEBEL + {0x87, 0x06}, // SPECIES_TENTACOOL + {0x56, 0x0a}, // SPECIES_TENTACRUEL + {0x86, 0x0b}, // SPECIES_GEODUDE + {0x66, 0x0b}, // SPECIES_GRAVELER + {0x75, 0x0c}, // SPECIES_GOLEM + {0x84, 0x10}, // SPECIES_PONYTA + {0x66, 0x09}, // SPECIES_RAPIDASH + {0x87, 0x05}, // SPECIES_SLOWPOKE + {0x85, 0x0e}, // SPECIES_SLOWBRO + {0x86, 0x0a}, // SPECIES_MAGNEMITE + {0x43, 0x14}, // SPECIES_MAGNETON + {0x66, 0x0a}, // SPECIES_FARFETCHD + {0x66, 0x0a}, // SPECIES_DODUO + {0x66, 0x08}, // SPECIES_DODRIO + {0x88, 0x01}, // SPECIES_SEEL + {0x66, 0x0a}, // SPECIES_DEWGONG + {0x77, 0x05}, // SPECIES_GRIMER + {0x75, 0x0c}, // SPECIES_MUK + {0x87, 0x05}, // SPECIES_SHELLDER + {0x76, 0x0b}, // SPECIES_CLOYSTER + {0x87, 0x06}, // SPECIES_GASTLY + {0x85, 0x0e}, // SPECIES_HAUNTER + {0x76, 0x08}, // SPECIES_GENGAR + {0x76, 0x09}, // SPECIES_ONIX + {0x78, 0x00}, // SPECIES_DROWZEE + {0x65, 0x0d}, // SPECIES_HYPNO + {0x66, 0x09}, // SPECIES_KRABBY + {0x66, 0x0a}, // SPECIES_KINGLER + {0x77, 0x04}, // SPECIES_VOLTORB + {0x55, 0x0e}, // SPECIES_ELECTRODE + {0x65, 0x0d}, // SPECIES_EXEGGCUTE + {0x65, 0x0d}, // SPECIES_EXEGGUTOR + {0x87, 0x04}, // SPECIES_CUBONE + {0x66, 0x0a}, // SPECIES_MAROWAK + {0x66, 0x08}, // SPECIES_HITMONLEE + {0x65, 0x0c}, // SPECIES_HITMONCHAN + {0x65, 0x0c}, // SPECIES_LICKITUNG + {0x65, 0x0e}, // SPECIES_KOFFING + {0x66, 0x09}, // SPECIES_WEEZING + {0x77, 0x06}, // SPECIES_RHYHORN + {0x85, 0x0c}, // SPECIES_RHYDON + {0x88, 0x03}, // SPECIES_CHANSEY + {0x86, 0x0b}, // SPECIES_TANGELA + {0x85, 0x0e}, // SPECIES_KANGASKHAN + {0x77, 0x05}, // SPECIES_HORSEA + {0x66, 0x09}, // SPECIES_SEADRA + {0x66, 0x08}, // SPECIES_GOLDEEN + {0x66, 0x08}, // SPECIES_SEAKING + {0x76, 0x0b}, // SPECIES_STARYU + {0x65, 0x0d}, // SPECIES_STARMIE + {0x85, 0x0e}, // SPECIES_MR_MIME + {0x85, 0x0d}, // SPECIES_SCYTHER + {0x77, 0x07}, // SPECIES_JYNX + {0x86, 0x0a}, // SPECIES_ELECTABUZZ + {0x66, 0x08}, // SPECIES_MAGMAR + {0x66, 0x08}, // SPECIES_PINSIR + {0x66, 0x09}, // SPECIES_TAUROS + {0x85, 0x0d}, // SPECIES_MAGIKARP + {0x76, 0x09}, // SPECIES_GYARADOS + {0x78, 0x00}, // SPECIES_LAPRAS + {0x77, 0x04}, // SPECIES_DITTO + {0x54, 0x11}, // SPECIES_EEVEE + {0x66, 0x0a}, // SPECIES_VAPOREON + {0x66, 0x0a}, // SPECIES_JOLTEON + {0x87, 0x06}, // SPECIES_FLAREON + {0x67, 0x05}, // SPECIES_PORYGON + {0x65, 0x0d}, // SPECIES_OMANYTE + {0x66, 0x0a}, // SPECIES_OMASTAR + {0x66, 0x08}, // SPECIES_KABUTO + {0x65, 0x0d}, // SPECIES_KABUTOPS + {0x77, 0x05}, // SPECIES_AERODACTYL + {0x86, 0x08}, // SPECIES_SNORLAX + {0x86, 0x0b}, // SPECIES_ARTICUNO + {0x65, 0x0c}, // SPECIES_ZAPDOS + {0x76, 0x0b}, // SPECIES_MOLTRES + {0x87, 0x04}, // SPECIES_DRATINI + {0x66, 0x09}, // SPECIES_DRAGONAIR + {0x78, 0x00}, // SPECIES_DRAGONITE + {0x87, 0x06}, // SPECIES_MEWTWO + {0x78, 0x01}, // SPECIES_MEW + {0x66, 0x08}, // SPECIES_CHIKORITA + {0x56, 0x0a}, // SPECIES_BAYLEEF + {0x66, 0x08}, // SPECIES_MEGANIUM + {0x78, 0x00}, // SPECIES_CYNDAQUIL + {0x76, 0x09}, // SPECIES_QUILAVA + {0x87, 0x04}, // SPECIES_TYPHLOSION + {0x87, 0x04}, // SPECIES_TOTODILE + {0x66, 0x0b}, // SPECIES_CROCONAW + {0x67, 0x07}, // SPECIES_FERALIGATR + {0x88, 0x01}, // SPECIES_SENTRET + {0x67, 0x05}, // SPECIES_FURRET + {0x66, 0x08}, // SPECIES_HOOTHOOT + {0x66, 0x08}, // SPECIES_NOCTOWL + {0x68, 0x03}, // SPECIES_LEDYBA + {0x76, 0x0b}, // SPECIES_LEDIAN + {0x77, 0x07}, // SPECIES_SPINARAK + {0x73, 0x15}, // SPECIES_ARIADOS + {0x86, 0x0b}, // SPECIES_CROBAT + {0x87, 0x05}, // SPECIES_CHINCHOU + {0x86, 0x08}, // SPECIES_LANTURN + {0x86, 0x08}, // SPECIES_PICHU + {0x66, 0x0b}, // SPECIES_CLEFFA + {0x65, 0x0f}, // SPECIES_IGGLYBUFF + {0x66, 0x0b}, // SPECIES_TOGEPI + {0x54, 0x10}, // SPECIES_TOGETIC + {0x66, 0x08}, // SPECIES_NATU + {0x54, 0x11}, // SPECIES_XATU + {0x76, 0x08}, // SPECIES_MAREEP + {0x66, 0x09}, // SPECIES_FLAAFFY + {0x66, 0x09}, // SPECIES_AMPHAROS + {0x88, 0x01}, // SPECIES_BELLOSSOM + {0x66, 0x0b}, // SPECIES_MARILL + {0x75, 0x0c}, // SPECIES_AZUMARILL + {0x86, 0x08}, // SPECIES_SUDOWOODO + {0x66, 0x08}, // SPECIES_POLITOED + {0x66, 0x09}, // SPECIES_HOPPIP + {0x66, 0x0b}, // SPECIES_SKIPLOOM + {0x65, 0x0d}, // SPECIES_JUMPLUFF + {0x87, 0x04}, // SPECIES_AIPOM + {0x66, 0x09}, // SPECIES_SUNKERN + {0x56, 0x0a}, // SPECIES_SUNFLORA + {0x66, 0x08}, // SPECIES_YANMA + {0x77, 0x04}, // SPECIES_WOOPER + {0x85, 0x0f}, // SPECIES_QUAGSIRE + {0x76, 0x08}, // SPECIES_ESPEON + {0x76, 0x0b}, // SPECIES_UMBREON + {0x87, 0x04}, // SPECIES_MURKROW + {0x66, 0x09}, // SPECIES_SLOWKING + {0x66, 0x08}, // SPECIES_MISDREAVUS + {0x66, 0x0a}, // SPECIES_UNOWN + {0x36, 0x08}, // SPECIES_WOBBUFFET + {0x75, 0x0c}, // SPECIES_GIRAFARIG + {0x87, 0x05}, // SPECIES_PINECO + {0x65, 0x0f}, // SPECIES_FORRETRESS + {0x84, 0x10}, // SPECIES_DUNSPARCE + {0x85, 0x0f}, // SPECIES_GLIGAR + {0x87, 0x05}, // SPECIES_STEELIX + {0x88, 0x00}, // SPECIES_SNUBBULL + {0x76, 0x0a}, // SPECIES_GRANBULL + {0x87, 0x05}, // SPECIES_QWILFISH + {0x77, 0x07}, // SPECIES_SCIZOR + {0x77, 0x04}, // SPECIES_SHUCKLE + {0x56, 0x0b}, // SPECIES_HERACROSS + {0x77, 0x04}, // SPECIES_SNEASEL + {0x66, 0x08}, // SPECIES_TEDDIURSA + {0x66, 0x08}, // SPECIES_URSARING + {0x88, 0x03}, // SPECIES_SLUGMA + {0x66, 0x08}, // SPECIES_MAGCARGO + {0x76, 0x09}, // SPECIES_SWINUB + {0x63, 0x15}, // SPECIES_PILOSWINE + {0x75, 0x0d}, // SPECIES_CORSOLA + {0x65, 0x0c}, // SPECIES_REMORAID + {0x75, 0x0d}, // SPECIES_OCTILLERY + {0x66, 0x0a}, // SPECIES_DELIBIRD + {0x67, 0x06}, // SPECIES_MANTINE + {0x87, 0x07}, // SPECIES_SKARMORY + {0x87, 0x04}, // SPECIES_HOUNDOUR + {0x55, 0x0c}, // SPECIES_HOUNDOOM + {0x87, 0x07}, // SPECIES_KINGDRA + {0x87, 0x06}, // SPECIES_PHANPY + {0x65, 0x0e}, // SPECIES_DONPHAN + {0x85, 0x0d}, // SPECIES_PORYGON2 + {0x76, 0x0a}, // SPECIES_STANTLER + {0x78, 0x03}, // SPECIES_SMEARGLE + {0x76, 0x0a}, // SPECIES_TYROGUE + {0x66, 0x08}, // SPECIES_HITMONTOP + {0x87, 0x05}, // SPECIES_SMOOCHUM + {0x56, 0x09}, // SPECIES_ELEKID + {0x66, 0x08}, // SPECIES_MAGBY + {0x66, 0x0b}, // SPECIES_MILTANK + {0x87, 0x07}, // SPECIES_BLISSEY + {0x85, 0x0d}, // SPECIES_RAIKOU + {0x86, 0x0a}, // SPECIES_ENTEI + {0x87, 0x06}, // SPECIES_SUICUNE + {0x88, 0x03}, // SPECIES_LARVITAR + {0x66, 0x08}, // SPECIES_PUPITAR + {0x67, 0x05}, // SPECIES_TYRANITAR + {0x88, 0x00}, // SPECIES_LUGIA + {0x88, 0x01}, // SPECIES_HO_OH + {0x88, 0x01}, // SPECIES_CELEBI + {0x66, 0x08}, // SPECIES_OLD_UNOWN_B + {0x88, 0x02}, // SPECIES_OLD_UNOWN_C + {0x88, 0x02}, // SPECIES_OLD_UNOWN_D + {0x88, 0x02}, // SPECIES_OLD_UNOWN_E + {0x88, 0x02}, // SPECIES_OLD_UNOWN_F + {0x88, 0x02}, // SPECIES_OLD_UNOWN_G + {0x88, 0x02}, // SPECIES_OLD_UNOWN_H + {0x88, 0x02}, // SPECIES_OLD_UNOWN_I + {0x88, 0x02}, // SPECIES_OLD_UNOWN_J + {0x88, 0x02}, // SPECIES_OLD_UNOWN_K + {0x88, 0x02}, // SPECIES_OLD_UNOWN_L + {0x88, 0x02}, // SPECIES_OLD_UNOWN_M + {0x88, 0x02}, // SPECIES_OLD_UNOWN_N + {0x88, 0x02}, // SPECIES_OLD_UNOWN_O + {0x88, 0x02}, // SPECIES_OLD_UNOWN_P + {0x88, 0x02}, // SPECIES_OLD_UNOWN_Q + {0x88, 0x02}, // SPECIES_OLD_UNOWN_R + {0x88, 0x02}, // SPECIES_OLD_UNOWN_S + {0x88, 0x02}, // SPECIES_OLD_UNOWN_T + {0x88, 0x02}, // SPECIES_OLD_UNOWN_U + {0x88, 0x02}, // SPECIES_OLD_UNOWN_V + {0x88, 0x02}, // SPECIES_OLD_UNOWN_W + {0x88, 0x02}, // SPECIES_OLD_UNOWN_X + {0x88, 0x02}, // SPECIES_OLD_UNOWN_Y + {0x88, 0x02}, // SPECIES_OLD_UNOWN_Z + {0x88, 0x02}, // SPECIES_TREECKO + {0x87, 0x06}, // SPECIES_GROVYLE + {0x86, 0x08}, // SPECIES_SCEPTILE + {0x88, 0x01}, // SPECIES_TORCHIC + {0x67, 0x05}, // SPECIES_COMBUSKEN + {0x88, 0x00}, // SPECIES_BLAZIKEN + {0x88, 0x00}, // SPECIES_MUDKIP + {0x77, 0x05}, // SPECIES_MARSHTOMP + {0x87, 0x04}, // SPECIES_SWAMPERT + {0x87, 0x05}, // SPECIES_POOCHYENA + {0x76, 0x09}, // SPECIES_MIGHTYENA + {0x87, 0x04}, // SPECIES_ZIGZAGOON + {0x76, 0x0b}, // SPECIES_LINOONE + {0x85, 0x0f}, // SPECIES_WURMPLE + {0x76, 0x0b}, // SPECIES_SILCOON + {0x83, 0x15}, // SPECIES_BEAUTIFLY + {0x88, 0x00}, // SPECIES_CASCOON + {0x73, 0x14}, // SPECIES_DUSTOX + {0x83, 0x14}, // SPECIES_LOTAD + {0x75, 0x0f}, // SPECIES_LOMBRE + {0x86, 0x08}, // SPECIES_LUDICOLO + {0x86, 0x0a}, // SPECIES_SEEDOT + {0x86, 0x09}, // SPECIES_NUZLEAF + {0x76, 0x0a}, // SPECIES_SHIFTRY + {0x86, 0x08}, // SPECIES_NINCADA + {0x83, 0x14}, // SPECIES_NINJASK + {0x86, 0x08}, // SPECIES_SHEDINJA + {0x77, 0x06}, // SPECIES_TAILLOW + {0x64, 0x11}, // SPECIES_SWELLOW + {0x86, 0x08}, // SPECIES_SHROOMISH + {0x85, 0x0d}, // SPECIES_BRELOOM + {0x87, 0x04}, // SPECIES_SPINDA + {0x77, 0x04}, // SPECIES_WINGULL + {0x85, 0x0e}, // SPECIES_PELIPPER + {0x87, 0x06}, // SPECIES_SURSKIT + {0x86, 0x0b}, // SPECIES_MASQUERAIN + {0x88, 0x00}, // SPECIES_WAILMER + {0x83, 0x15}, // SPECIES_WAILORD + {0x83, 0x16}, // SPECIES_SKITTY + {0x86, 0x0a}, // SPECIES_DELCATTY + {0x86, 0x08}, // SPECIES_KECLEON + {0x87, 0x06}, // SPECIES_BALTOY + {0x86, 0x08}, // SPECIES_CLAYDOL + {0x87, 0x07}, // SPECIES_NOSEPASS + {0x85, 0x0c}, // SPECIES_TORKOAL + {0x86, 0x0a}, // SPECIES_SABLEYE + {0x76, 0x08}, // SPECIES_BARBOACH + {0x66, 0x0a}, // SPECIES_WHISCASH + {0x86, 0x0a}, // SPECIES_LUVDISC + {0x46, 0x0a}, // SPECIES_CORPHISH + {0x77, 0x07}, // SPECIES_CRAWDAUNT + {0x87, 0x05}, // SPECIES_FEEBAS + {0x67, 0x07}, // SPECIES_MILOTIC + {0x68, 0x02}, // SPECIES_CARVANHA + {0x87, 0x07}, // SPECIES_SHARPEDO + {0x88, 0x02}, // SPECIES_TRAPINCH + {0x75, 0x0e}, // SPECIES_VIBRAVA + {0x74, 0x11}, // SPECIES_FLYGON + {0x88, 0x02}, // SPECIES_MAKUHITA + {0x76, 0x0b}, // SPECIES_HARIYAMA + {0x87, 0x07}, // SPECIES_ELECTRIKE + {0x84, 0x10}, // SPECIES_MANECTRIC + {0x87, 0x04}, // SPECIES_NUMEL + {0x86, 0x0b}, // SPECIES_CAMERUPT + {0x84, 0x13}, // SPECIES_SPHEAL + {0x64, 0x12}, // SPECIES_SEALEO + {0x86, 0x0a}, // SPECIES_WALREIN + {0x87, 0x06}, // SPECIES_CACNEA + {0x85, 0x0f}, // SPECIES_CACTURNE + {0x87, 0x07}, // SPECIES_SNORUNT + {0x76, 0x0a}, // SPECIES_GLALIE + {0x85, 0x0c}, // SPECIES_LUNATONE + {0x87, 0x05}, // SPECIES_SOLROCK + {0x87, 0x05}, // SPECIES_AZURILL + {0x86, 0x0a}, // SPECIES_SPOINK + {0x56, 0x0b}, // SPECIES_GRUMPIG + {0x87, 0x04}, // SPECIES_PLUSLE + {0x76, 0x08}, // SPECIES_MINUN + {0x76, 0x08}, // SPECIES_MAWILE + {0x87, 0x04}, // SPECIES_MEDITITE + {0x76, 0x0b}, // SPECIES_MEDICHAM + {0x68, 0x03}, // SPECIES_SWABLU + {0x86, 0x09}, // SPECIES_ALTARIA + {0x87, 0x06}, // SPECIES_WYNAUT + {0x77, 0x07}, // SPECIES_DUSKULL + {0x66, 0x0b}, // SPECIES_DUSCLOPS + {0x86, 0x08}, // SPECIES_ROSELIA + {0x86, 0x08}, // SPECIES_SLAKOTH + {0x85, 0x0f}, // SPECIES_VIGOROTH + {0x86, 0x0a}, // SPECIES_SLAKING + {0x86, 0x08}, // SPECIES_GULPIN + {0x66, 0x0b}, // SPECIES_SWALOT + {0x77, 0x06}, // SPECIES_TROPIUS + {0x87, 0x07}, // SPECIES_WHISMUR + {0x85, 0x0d}, // SPECIES_LOUDRED + {0x86, 0x09}, // SPECIES_EXPLOUD + {0x88, 0x03}, // SPECIES_CLAMPERL + {0x85, 0x0d}, // SPECIES_HUNTAIL + {0x68, 0x02}, // SPECIES_GOREBYSS + {0x77, 0x05}, // SPECIES_ABSOL + {0x78, 0x03}, // SPECIES_SHUPPET + {0x77, 0x06}, // SPECIES_BANETTE + {0x65, 0x0c}, // SPECIES_SEVIPER + {0x88, 0x03}, // SPECIES_ZANGOOSE + {0x88, 0x01}, // SPECIES_RELICANTH + {0x86, 0x0a}, // SPECIES_ARON + {0x54, 0x11}, // SPECIES_LAIRON + {0x84, 0x11}, // SPECIES_AGGRON + {0x87, 0x07}, // SPECIES_CASTFORM + {0x45, 0x0d}, // SPECIES_VOLBEAT + {0x76, 0x08}, // SPECIES_ILLUMISE + {0x67, 0x06}, // SPECIES_LILEEP + {0x86, 0x09}, // SPECIES_CRADILY + {0x77, 0x04}, // SPECIES_ANORITH + {0x83, 0x17}, // SPECIES_ARMALDO + {0x77, 0x05}, // SPECIES_RALTS + {0x45, 0x0d}, // SPECIES_KIRLIA + {0x57, 0x06}, // SPECIES_GARDEVOIR + {0x77, 0x04}, // SPECIES_BAGON + {0x66, 0x08}, // SPECIES_SHELGON + {0x85, 0x0d}, // SPECIES_SALAMENCE + {0x77, 0x06}, // SPECIES_BELDUM + {0x66, 0x0a}, // SPECIES_METANG + {0x84, 0x10}, // SPECIES_METAGROSS + {0x83, 0x14}, // SPECIES_REGIROCK + {0x86, 0x0a}, // SPECIES_REGICE + {0x85, 0x0e}, // SPECIES_REGISTEEL + {0x85, 0x0e}, // SPECIES_KYOGRE + {0x84, 0x13}, // SPECIES_GROUDON + {0x87, 0x07}, // SPECIES_RAYQUAZA + {0x78, 0x00}, // SPECIES_LATIAS + {0x88, 0x02}, // SPECIES_LATIOS + {0x88, 0x03}, // SPECIES_JIRACHI + {0x87, 0x05}, // SPECIES_DEOXYS + {0x86, 0x09}, // SPECIES_CHIMECHO + {0x47, 0x07}, // SPECIES_EGG + {0x36, 0x0a}, // SPECIES_UNOWN_B + {0x56, 0x09}, // SPECIES_UNOWN_C + {0x67, 0x06}, // SPECIES_UNOWN_D + {0x56, 0x08}, // SPECIES_UNOWN_E + {0x56, 0x0a}, // SPECIES_UNOWN_F + {0x66, 0x0a}, // SPECIES_UNOWN_G + {0x57, 0x05}, // SPECIES_UNOWN_H + {0x66, 0x08}, // SPECIES_UNOWN_I + {0x37, 0x07}, // SPECIES_UNOWN_J + {0x46, 0x09}, // SPECIES_UNOWN_K + {0x57, 0x07}, // SPECIES_UNOWN_L + {0x46, 0x0a}, // SPECIES_UNOWN_M + {0x65, 0x0d}, // SPECIES_UNOWN_N + {0x65, 0x0d}, // SPECIES_UNOWN_O + {0x66, 0x08}, // SPECIES_UNOWN_P + {0x46, 0x0a}, // SPECIES_UNOWN_Q + {0x55, 0x0f}, // SPECIES_UNOWN_R + {0x45, 0x0c}, // SPECIES_UNOWN_S + {0x57, 0x04}, // SPECIES_UNOWN_T + {0x45, 0x0d}, // SPECIES_UNOWN_U + {0x65, 0x0d}, // SPECIES_UNOWN_V + {0x56, 0x0b}, // SPECIES_UNOWN_W + {0x55, 0x0d}, // SPECIES_UNOWN_X + {0x55, 0x0f}, // SPECIES_UNOWN_Y + {0x46, 0x0a}, // SPECIES_UNOWN_Z + {0x46, 0x0a}, // SPECIES_UNOWN_EMARK + {0x37, 0x06}, // SPECIES_UNOWN_QMARK + {0x47, 0x06}, +}; diff --git a/src/data/pokemon_graphics/front_pic_coordinates.h b/src/data/pokemon_graphics/front_pic_coordinates.h new file mode 100644 index 0000000000..fde423570e --- /dev/null +++ b/src/data/pokemon_graphics/front_pic_coordinates.h @@ -0,0 +1,443 @@ +const struct MonCoords gMonFrontPicCoords[] = +{ + {0x88, 0x00}, // SPECIES_NONE + {0x45, 0x0e}, // SPECIES_BULBASAUR + {0x56, 0x0a}, // SPECIES_IVYSAUR + {0x88, 0x03}, // SPECIES_VENUSAUR + {0x55, 0x0c}, // SPECIES_CHARMANDER + {0x66, 0x09}, // SPECIES_CHARMELEON + {0x88, 0x01}, // SPECIES_CHARIZARD + {0x65, 0x0d}, // SPECIES_SQUIRTLE + {0x66, 0x08}, // SPECIES_WARTORTLE + {0x88, 0x00}, // SPECIES_BLASTOISE + {0x45, 0x10}, // SPECIES_CATERPIE + {0x54, 0x14}, // SPECIES_METAPOD + {0x76, 0x09}, // SPECIES_BUTTERFREE + {0x54, 0x12}, // SPECIES_WEEDLE + {0x45, 0x0e}, // SPECIES_KAKUNA + {0x86, 0x09}, // SPECIES_BEEDRILL + {0x65, 0x0d}, // SPECIES_PIDGEY + {0x67, 0x0b}, // SPECIES_PIDGEOTTO + {0x88, 0x01}, // SPECIES_PIDGEOT + {0x44, 0x10}, // SPECIES_RATTATA + {0x66, 0x0b}, // SPECIES_RATICATE + {0x45, 0x0f}, // SPECIES_SPEAROW + {0x78, 0x00}, // SPECIES_FEAROW + {0x65, 0x0c}, // SPECIES_EKANS + {0x88, 0x02}, // SPECIES_ARBOK + {0x67, 0x09}, // SPECIES_PIKACHU + {0x67, 0x04}, // SPECIES_RAICHU + {0x55, 0x0e}, // SPECIES_SANDSHREW + {0x76, 0x09}, // SPECIES_SANDSLASH + {0x45, 0x0f}, // SPECIES_NIDORAN_F + {0x66, 0x0b}, // SPECIES_NIDORINA + {0x78, 0x03}, // SPECIES_NIDOQUEEN + {0x55, 0x0c}, // SPECIES_NIDORAN_M + {0x66, 0x09}, // SPECIES_NIDORINO + {0x78, 0x02}, // SPECIES_NIDOKING + {0x55, 0x10}, // SPECIES_CLEFAIRY + {0x66, 0x08}, // SPECIES_CLEFABLE + {0x65, 0x0c}, // SPECIES_VULPIX + {0x88, 0x03}, // SPECIES_NINETALES + {0x45, 0x10}, // SPECIES_JIGGLYPUFF + {0x67, 0x08}, // SPECIES_WIGGLYTUFF + {0x67, 0x06}, // SPECIES_ZUBAT + {0x88, 0x03}, // SPECIES_GOLBAT + {0x45, 0x0f}, // SPECIES_ODDISH + {0x66, 0x0a}, // SPECIES_GLOOM + {0x77, 0x06}, // SPECIES_VILEPLUME + {0x55, 0x0f}, // SPECIES_PARAS + {0x86, 0x08}, // SPECIES_VENONAT + {0x66, 0x08}, // SPECIES_VENOMOTH + {0x88, 0x02}, // SPECIES_DIGLETT + {0x54, 0x12}, // SPECIES_DUGTRIO + {0x75, 0x0d}, // SPECIES_MEOWTH + {0x55, 0x0c}, // SPECIES_PERSIAN + {0x77, 0x07}, // SPECIES_PSYDUCK + {0x56, 0x09}, // SPECIES_GOLDUCK + {0x78, 0x02}, // SPECIES_MANKEY + {0x65, 0x0e}, // SPECIES_PRIMEAPE + {0x77, 0x07}, // SPECIES_GROWLITHE + {0x66, 0x0b}, // SPECIES_ARCANINE + {0x88, 0x02}, // SPECIES_POLIWAG + {0x74, 0x13}, // SPECIES_POLIWHIRL + {0x76, 0x0a}, // SPECIES_POLIWRATH + {0x76, 0x08}, // SPECIES_ABRA + {0x66, 0x0b}, // SPECIES_KADABRA + {0x77, 0x05}, // SPECIES_ALAKAZAM + {0x87, 0x04}, // SPECIES_MACHOP + {0x56, 0x0b}, // SPECIES_MACHOKE + {0x67, 0x06}, // SPECIES_MACHAMP + {0x88, 0x01}, // SPECIES_BELLSPROUT + {0x65, 0x0f}, // SPECIES_WEEPINBELL + {0x66, 0x0b}, // SPECIES_VICTREEBEL + {0x77, 0x05}, // SPECIES_TENTACOOL + {0x46, 0x09}, // SPECIES_TENTACRUEL + {0x87, 0x04}, // SPECIES_GEODUDE + {0x54, 0x12}, // SPECIES_GRAVELER + {0x87, 0x04}, // SPECIES_GOLEM + {0x77, 0x05}, // SPECIES_PONYTA + {0x66, 0x08}, // SPECIES_RAPIDASH + {0x88, 0x01}, // SPECIES_SLOWPOKE + {0x66, 0x0b}, // SPECIES_SLOWBRO + {0x86, 0x08}, // SPECIES_MAGNEMITE + {0x43, 0x15}, // SPECIES_MAGNETON + {0x76, 0x08}, // SPECIES_FARFETCHD + {0x66, 0x09}, // SPECIES_DODUO + {0x57, 0x05}, // SPECIES_DODRIO + {0x88, 0x00}, // SPECIES_SEEL + {0x76, 0x0a}, // SPECIES_DEWGONG + {0x87, 0x07}, // SPECIES_GRIMER + {0x65, 0x0c}, // SPECIES_MUK + {0x87, 0x04}, // SPECIES_SHELLDER + {0x55, 0x10}, // SPECIES_CLOYSTER + {0x87, 0x05}, // SPECIES_GASTLY + {0x77, 0x06}, // SPECIES_HAUNTER + {0x77, 0x05}, // SPECIES_GENGAR + {0x77, 0x05}, // SPECIES_ONIX + {0x78, 0x02}, // SPECIES_DROWZEE + {0x77, 0x07}, // SPECIES_HYPNO + {0x77, 0x04}, // SPECIES_KRABBY + {0x65, 0x0d}, // SPECIES_KINGLER + {0x88, 0x03}, // SPECIES_VOLTORB + {0x44, 0x13}, // SPECIES_ELECTRODE + {0x55, 0x0e}, // SPECIES_EXEGGCUTE + {0x87, 0x07}, // SPECIES_EXEGGUTOR + {0x88, 0x00}, // SPECIES_CUBONE + {0x55, 0x0f}, // SPECIES_MAROWAK + {0x76, 0x0b}, // SPECIES_HITMONLEE + {0x87, 0x04}, // SPECIES_HITMONCHAN + {0x67, 0x04}, // SPECIES_LICKITUNG + {0x86, 0x08}, // SPECIES_KOFFING + {0x66, 0x08}, // SPECIES_WEEZING + {0x88, 0x02}, // SPECIES_RHYHORN + {0x76, 0x09}, // SPECIES_RHYDON + {0x88, 0x02}, // SPECIES_CHANSEY + {0x76, 0x09}, // SPECIES_TANGELA + {0x67, 0x07}, // SPECIES_KANGASKHAN + {0x88, 0x00}, // SPECIES_HORSEA + {0x45, 0x0f}, // SPECIES_SEADRA + {0x67, 0x07}, // SPECIES_GOLDEEN + {0x66, 0x0a}, // SPECIES_SEAKING + {0x77, 0x04}, // SPECIES_STARYU + {0x66, 0x0a}, // SPECIES_STARMIE + {0x77, 0x06}, // SPECIES_MR_MIME + {0x66, 0x08}, // SPECIES_SCYTHER + {0x88, 0x00}, // SPECIES_JYNX + {0x77, 0x04}, // SPECIES_ELECTABUZZ + {0x78, 0x02}, // SPECIES_MAGMAR + {0x77, 0x04}, // SPECIES_PINSIR + {0x77, 0x04}, // SPECIES_TAUROS + {0x78, 0x00}, // SPECIES_MAGIKARP + {0x67, 0x06}, // SPECIES_GYARADOS + {0x88, 0x08}, // SPECIES_LAPRAS + {0x85, 0x0d}, // SPECIES_DITTO + {0x54, 0x11}, // SPECIES_EEVEE + {0x56, 0x09}, // SPECIES_VAPOREON + {0x67, 0x06}, // SPECIES_JOLTEON + {0x76, 0x09}, // SPECIES_FLAREON + {0x66, 0x0a}, // SPECIES_PORYGON + {0x55, 0x0d}, // SPECIES_OMANYTE + {0x45, 0x0f}, // SPECIES_OMASTAR + {0x67, 0x07}, // SPECIES_KABUTO + {0x54, 0x11}, // SPECIES_KABUTOPS + {0x88, 0x03}, // SPECIES_AERODACTYL + {0x88, 0x01}, // SPECIES_SNORLAX + {0x87, 0x05}, // SPECIES_ARTICUNO + {0x88, 0x03}, // SPECIES_ZAPDOS + {0x87, 0x04}, // SPECIES_MOLTRES + {0x88, 0x00}, // SPECIES_DRATINI + {0x75, 0x0e}, // SPECIES_DRAGONAIR + {0x87, 0x06}, // SPECIES_DRAGONITE + {0x88, 0x00}, // SPECIES_MEWTWO + {0x88, 0x00}, // SPECIES_MEW + {0x55, 0x0d}, // SPECIES_CHIKORITA + {0x75, 0x0d}, // SPECIES_BAYLEEF + {0x77, 0x04}, // SPECIES_MEGANIUM + {0x88, 0x00}, // SPECIES_CYNDAQUIL + {0x55, 0x0e}, // SPECIES_QUILAVA + {0x76, 0x08}, // SPECIES_TYPHLOSION + {0x78, 0x00}, // SPECIES_TOTODILE + {0x55, 0x0f}, // SPECIES_CROCONAW + {0x67, 0x06}, // SPECIES_FERALIGATR + {0x88, 0x00}, // SPECIES_SENTRET + {0x47, 0x04}, // SPECIES_FURRET + {0x67, 0x07}, // SPECIES_HOOTHOOT + {0x55, 0x0d}, // SPECIES_NOCTOWL + {0x58, 0x03}, // SPECIES_LEDYBA + {0x56, 0x0c}, // SPECIES_LEDIAN + {0x67, 0x04}, // SPECIES_SPINARAK + {0x54, 0x13}, // SPECIES_ARIADOS + {0x87, 0x05}, // SPECIES_CROBAT + {0x88, 0x00}, // SPECIES_CHINCHOU + {0x75, 0x10}, // SPECIES_LANTURN + {0x87, 0x0b}, // SPECIES_PICHU + {0x45, 0x0c}, // SPECIES_CLEFFA + {0x44, 0x14}, // SPECIES_IGGLYBUFF + {0x44, 0x12}, // SPECIES_TOGEPI + {0x34, 0x14}, // SPECIES_TOGETIC + {0x46, 0x09}, // SPECIES_NATU + {0x44, 0x14}, // SPECIES_XATU + {0x47, 0x07}, // SPECIES_MAREEP + {0x55, 0x10}, // SPECIES_FLAAFFY + {0x56, 0x0a}, // SPECIES_AMPHAROS + {0x77, 0x05}, // SPECIES_BELLOSSOM + {0x45, 0x0e}, // SPECIES_MARILL + {0x65, 0x0e}, // SPECIES_AZUMARILL + {0x76, 0x09}, // SPECIES_SUDOWOODO + {0x67, 0x06}, // SPECIES_POLITOED + {0x67, 0x06}, // SPECIES_HOPPIP + {0x66, 0x0a}, // SPECIES_SKIPLOOM + {0x55, 0x0f}, // SPECIES_JUMPLUFF + {0x77, 0x07}, // SPECIES_AIPOM + {0x58, 0x03}, // SPECIES_SUNKERN + {0x44, 0x10}, // SPECIES_SUNFLORA + {0x56, 0x08}, // SPECIES_YANMA + {0x86, 0x0a}, // SPECIES_WOOPER + {0x54, 0x10}, // SPECIES_QUAGSIRE + {0x77, 0x07}, // SPECIES_ESPEON + {0x66, 0x08}, // SPECIES_UMBREON + {0x67, 0x08}, // SPECIES_MURKROW + {0x66, 0x0b}, // SPECIES_SLOWKING + {0x58, 0x01}, // SPECIES_MISDREAVUS + {0x55, 0x0c}, // SPECIES_UNOWN + {0x35, 0x0f}, // SPECIES_WOBBUFFET + {0x77, 0x06}, // SPECIES_GIRAFARIG + {0x88, 0x03}, // SPECIES_PINECO + {0x56, 0x0a}, // SPECIES_FORRETRESS + {0x76, 0x09}, // SPECIES_DUNSPARCE + {0x74, 0x11}, // SPECIES_GLIGAR + {0x78, 0x03}, // SPECIES_STEELIX + {0x88, 0x00}, // SPECIES_SNUBBULL + {0x55, 0x0d}, // SPECIES_GRANBULL + {0x57, 0x06}, // SPECIES_QWILFISH + {0x56, 0x0a}, // SPECIES_SCIZOR + {0x88, 0x00}, // SPECIES_SHUCKLE + {0x66, 0x09}, // SPECIES_HERACROSS + {0x88, 0x03}, // SPECIES_SNEASEL + {0x67, 0x05}, // SPECIES_TEDDIURSA + {0x45, 0x0d}, // SPECIES_URSARING + {0x78, 0x01}, // SPECIES_SLUGMA + {0x45, 0x0d}, // SPECIES_MAGCARGO + {0x57, 0x0d}, // SPECIES_SWINUB + {0x43, 0x14}, // SPECIES_PILOSWINE + {0x66, 0x08}, // SPECIES_CORSOLA + {0x65, 0x0c}, // SPECIES_REMORAID + {0x55, 0x0e}, // SPECIES_OCTILLERY + {0x66, 0x0a}, // SPECIES_DELIBIRD + {0x56, 0x08}, // SPECIES_MANTINE + {0x88, 0x01}, // SPECIES_SKARMORY + {0x88, 0x00}, // SPECIES_HOUNDOUR + {0x56, 0x0b}, // SPECIES_HOUNDOOM + {0x77, 0x05}, // SPECIES_KINGDRA + {0x78, 0x04}, // SPECIES_PHANPY + {0x54, 0x10}, // SPECIES_DONPHAN + {0x86, 0x08}, // SPECIES_PORYGON2 + {0x55, 0x0f}, // SPECIES_STANTLER + {0x88, 0x00}, // SPECIES_SMEARGLE + {0x77, 0x06}, // SPECIES_TYROGUE + {0x46, 0x09}, // SPECIES_HITMONTOP + {0x67, 0x05}, // SPECIES_SMOOCHUM + {0x35, 0x0f}, // SPECIES_ELEKID + {0x76, 0x0a}, // SPECIES_MAGBY + {0x45, 0x0d}, // SPECIES_MILTANK + {0x77, 0x04}, // SPECIES_BLISSEY + {0x77, 0x06}, // SPECIES_RAIKOU + {0x88, 0x00}, // SPECIES_ENTEI + {0x88, 0x00}, // SPECIES_SUICUNE + {0x88, 0x00}, // SPECIES_LARVITAR + {0x46, 0x09}, // SPECIES_PUPITAR + {0x56, 0x09}, // SPECIES_TYRANITAR + {0x88, 0x00}, // SPECIES_LUGIA + {0x88, 0x00}, // SPECIES_HO_OH + {0x88, 0x00}, // SPECIES_CELEBI + {0x55, 0x0e}, // SPECIES_OLD_UNOWN_B + {0x87, 0x04}, // SPECIES_OLD_UNOWN_C + {0x87, 0x04}, // SPECIES_OLD_UNOWN_D + {0x87, 0x04}, // SPECIES_OLD_UNOWN_E + {0x87, 0x04}, // SPECIES_OLD_UNOWN_F + {0x87, 0x04}, // SPECIES_OLD_UNOWN_G + {0x87, 0x04}, // SPECIES_OLD_UNOWN_H + {0x87, 0x04}, // SPECIES_OLD_UNOWN_I + {0x87, 0x04}, // SPECIES_OLD_UNOWN_J + {0x87, 0x04}, // SPECIES_OLD_UNOWN_K + {0x87, 0x04}, // SPECIES_OLD_UNOWN_L + {0x87, 0x04}, // SPECIES_OLD_UNOWN_M + {0x87, 0x04}, // SPECIES_OLD_UNOWN_N + {0x87, 0x04}, // SPECIES_OLD_UNOWN_O + {0x87, 0x04}, // SPECIES_OLD_UNOWN_P + {0x87, 0x04}, // SPECIES_OLD_UNOWN_Q + {0x87, 0x04}, // SPECIES_OLD_UNOWN_R + {0x87, 0x04}, // SPECIES_OLD_UNOWN_S + {0x87, 0x04}, // SPECIES_OLD_UNOWN_T + {0x87, 0x04}, // SPECIES_OLD_UNOWN_U + {0x87, 0x04}, // SPECIES_OLD_UNOWN_V + {0x87, 0x04}, // SPECIES_OLD_UNOWN_W + {0x87, 0x04}, // SPECIES_OLD_UNOWN_X + {0x87, 0x04}, // SPECIES_OLD_UNOWN_Y + {0x87, 0x04}, // SPECIES_OLD_UNOWN_Z + {0x87, 0x04}, // SPECIES_TREECKO + {0x66, 0x08}, // SPECIES_GROVYLE + {0x87, 0x04}, // SPECIES_SCEPTILE + {0x88, 0x00}, // SPECIES_TORCHIC + {0x56, 0x08}, // SPECIES_COMBUSKEN + {0x88, 0x01}, // SPECIES_BLAZIKEN + {0x88, 0x00}, // SPECIES_MUDKIP + {0x56, 0x0c}, // SPECIES_MARSHTOMP + {0x67, 0x06}, // SPECIES_SWAMPERT + {0x88, 0x00}, // SPECIES_POOCHYENA + {0x55, 0x0c}, // SPECIES_MIGHTYENA + {0x87, 0x04}, // SPECIES_ZIGZAGOON + {0x85, 0x0f}, // SPECIES_LINOONE + {0x78, 0x03}, // SPECIES_WURMPLE + {0x45, 0x0e}, // SPECIES_SILCOON + {0x75, 0x11}, // SPECIES_BEAUTIFLY + {0x86, 0x09}, // SPECIES_CASCOON + {0x74, 0x10}, // SPECIES_DUSTOX + {0x86, 0x0f}, // SPECIES_LOTAD + {0x65, 0x0e}, // SPECIES_LOMBRE + {0x66, 0x09}, // SPECIES_LUDICOLO + {0x88, 0x00}, // SPECIES_SEEDOT + {0x46, 0x10}, // SPECIES_NUZLEAF + {0x56, 0x08}, // SPECIES_SHIFTRY + {0x88, 0x02}, // SPECIES_NINCADA + {0x74, 0x12}, // SPECIES_NINJASK + {0x86, 0x0a}, // SPECIES_SHEDINJA + {0x66, 0x0a}, // SPECIES_TAILLOW + {0x64, 0x10}, // SPECIES_SWELLOW + {0x87, 0x06}, // SPECIES_SHROOMISH + {0x54, 0x10}, // SPECIES_BRELOOM + {0x77, 0x04}, // SPECIES_SPINDA + {0x68, 0x08}, // SPECIES_WINGULL + {0x84, 0x18}, // SPECIES_PELIPPER + {0x77, 0x04}, // SPECIES_SURSKIT + {0x65, 0x0f}, // SPECIES_MASQUERAIN + {0x88, 0x01}, // SPECIES_WAILMER + {0x75, 0x0f}, // SPECIES_WAILORD + {0x87, 0x0a}, // SPECIES_SKITTY + {0x66, 0x0b}, // SPECIES_DELCATTY + {0x66, 0x08}, // SPECIES_KECLEON + {0x67, 0x07}, // SPECIES_BALTOY + {0x55, 0x10}, // SPECIES_CLAYDOL + {0x78, 0x06}, // SPECIES_NOSEPASS + {0x56, 0x0c}, // SPECIES_TORKOAL + {0x88, 0x02}, // SPECIES_SABLEYE + {0x66, 0x09}, // SPECIES_BARBOACH + {0x46, 0x0b}, // SPECIES_WHISCASH + {0x76, 0x09}, // SPECIES_LUVDISC + {0x46, 0x18}, // SPECIES_CORPHISH + {0x66, 0x0c}, // SPECIES_CRAWDAUNT + {0x88, 0x01}, // SPECIES_FEEBAS + {0x46, 0x0d}, // SPECIES_MILOTIC + {0x88, 0x00}, // SPECIES_CARVANHA + {0x67, 0x06}, // SPECIES_SHARPEDO + {0x78, 0x03}, // SPECIES_TRAPINCH + {0x54, 0x10}, // SPECIES_VIBRAVA + {0x86, 0x0c}, // SPECIES_FLYGON + {0x88, 0x01}, // SPECIES_MAKUHITA + {0x65, 0x0c}, // SPECIES_HARIYAMA + {0x88, 0x01}, // SPECIES_ELECTRIKE + {0x64, 0x12}, // SPECIES_MANECTRIC + {0x67, 0x04}, // SPECIES_NUMEL + {0x65, 0x0f}, // SPECIES_CAMERUPT + {0x87, 0x09}, // SPECIES_SPHEAL + {0x65, 0x10}, // SPECIES_SEALEO + {0x86, 0x0a}, // SPECIES_WALREIN + {0x88, 0x01}, // SPECIES_CACNEA + {0x74, 0x10}, // SPECIES_CACTURNE + {0x88, 0x00}, // SPECIES_SNORUNT + {0x56, 0x0b}, // SPECIES_GLALIE + {0x76, 0x0a}, // SPECIES_LUNATONE + {0x66, 0x09}, // SPECIES_SOLROCK + {0x88, 0x01}, // SPECIES_AZURILL + {0x55, 0x0f}, // SPECIES_SPOINK + {0x46, 0x09}, // SPECIES_GRUMPIG + {0x77, 0x05}, // SPECIES_PLUSLE + {0x56, 0x0e}, // SPECIES_MINUN + {0x66, 0x0c}, // SPECIES_MAWILE + {0x76, 0x08}, // SPECIES_MEDITITE + {0x65, 0x0c}, // SPECIES_MEDICHAM + {0x68, 0x01}, // SPECIES_SWABLU + {0x76, 0x11}, // SPECIES_ALTARIA + {0x88, 0x02}, // SPECIES_WYNAUT + {0x55, 0x0c}, // SPECIES_DUSKULL + {0x66, 0x0a}, // SPECIES_DUSCLOPS + {0x77, 0x05}, // SPECIES_ROSELIA + {0x76, 0x08}, // SPECIES_SLAKOTH + {0x74, 0x12}, // SPECIES_VIGOROTH + {0x78, 0x00}, // SPECIES_SLAKING + {0x86, 0x08}, // SPECIES_GULPIN + {0x55, 0x12}, // SPECIES_SWALOT + {0x66, 0x08}, // SPECIES_TROPIUS + {0x88, 0x00}, // SPECIES_WHISMUR + {0x55, 0x0e}, // SPECIES_LOUDRED + {0x78, 0x03}, // SPECIES_EXPLOUD + {0x88, 0x01}, // SPECIES_CLAMPERL + {0x55, 0x0e}, // SPECIES_HUNTAIL + {0x78, 0x03}, // SPECIES_GOREBYSS + {0x86, 0x0b}, // SPECIES_ABSOL + {0x68, 0x00}, // SPECIES_SHUPPET + {0x56, 0x0e}, // SPECIES_BANETTE + {0x55, 0x0c}, // SPECIES_SEVIPER + {0x77, 0x08}, // SPECIES_ZANGOOSE + {0x87, 0x05}, // SPECIES_RELICANTH + {0x77, 0x0b}, // SPECIES_ARON + {0x43, 0x14}, // SPECIES_LAIRON + {0x75, 0x0d}, // SPECIES_AGGRON + {0x88, 0x00}, // SPECIES_CASTFORM + {0x34, 0x11}, // SPECIES_VOLBEAT + {0x66, 0x08}, // SPECIES_ILLUMISE + {0x56, 0x08}, // SPECIES_LILEEP + {0x67, 0x07}, // SPECIES_CRADILY + {0x78, 0x00}, // SPECIES_ANORITH + {0x66, 0x08}, // SPECIES_ARMALDO + {0x88, 0x00}, // SPECIES_RALTS + {0x35, 0x0f}, // SPECIES_KIRLIA + {0x47, 0x06}, // SPECIES_GARDEVOIR + {0x78, 0x01}, // SPECIES_BAGON + {0x56, 0x0b}, // SPECIES_SHELGON + {0x66, 0x09}, // SPECIES_SALAMENCE + {0x87, 0x04}, // SPECIES_BELDUM + {0x55, 0x0f}, // SPECIES_METANG + {0x87, 0x07}, // SPECIES_METAGROSS + {0x87, 0x06}, // SPECIES_REGIROCK + {0x78, 0x04}, // SPECIES_REGICE + {0x88, 0x02}, // SPECIES_REGISTEEL + {0x88, 0x03}, // SPECIES_KYOGRE + {0x87, 0x04}, // SPECIES_GROUDON + {0x88, 0x01}, // SPECIES_RAYQUAZA + {0x88, 0x00}, // SPECIES_LATIAS + {0x88, 0x01}, // SPECIES_LATIOS + {0x88, 0x02}, // SPECIES_JIRACHI + {0x66, 0x0d}, // SPECIES_DEOXYS + {0x88, 0x01}, // SPECIES_CHIMECHO + {0x37, 0x06}, // SPECIES_EGG + {0x33, 0x14}, // SPECIES_UNOWN_B + {0x34, 0x10}, // SPECIES_UNOWN_C + {0x44, 0x10}, // SPECIES_UNOWN_D + {0x44, 0x10}, // SPECIES_UNOWN_E + {0x44, 0x11}, // SPECIES_UNOWN_F + {0x44, 0x11}, // SPECIES_UNOWN_G + {0x35, 0x0e}, // SPECIES_UNOWN_H + {0x44, 0x10}, // SPECIES_UNOWN_I + {0x34, 0x10}, // SPECIES_UNOWN_J + {0x34, 0x11}, // SPECIES_UNOWN_K + {0x44, 0x11}, // SPECIES_UNOWN_L + {0x34, 0x13}, // SPECIES_UNOWN_M + {0x44, 0x13}, // SPECIES_UNOWN_N + {0x43, 0x14}, // SPECIES_UNOWN_O + {0x44, 0x10}, // SPECIES_UNOWN_P + {0x34, 0x13}, // SPECIES_UNOWN_Q + {0x43, 0x15}, // SPECIES_UNOWN_R + {0x34, 0x13}, // SPECIES_UNOWN_S + {0x45, 0x0c}, // SPECIES_UNOWN_T + {0x34, 0x12}, // SPECIES_UNOWN_U + {0x44, 0x12}, // SPECIES_UNOWN_V + {0x44, 0x12}, // SPECIES_UNOWN_W + {0x44, 0x13}, // SPECIES_UNOWN_X + {0x33, 0x15}, // SPECIES_UNOWN_Y + {0x34, 0x11}, // SPECIES_UNOWN_Z + {0x34, 0x10}, // SPECIES_UNOWN_EMARK + {0x35, 0x0f}, // SPECIES_UNOWN_QMARK + {0x35, 0x0d}, +}; diff --git a/src/data/pokemon_graphics/still_front_pic_table.h b/src/data/pokemon_graphics/still_front_pic_table.h new file mode 100644 index 0000000000..a345a3d439 --- /dev/null +++ b/src/data/pokemon_graphics/still_front_pic_table.h @@ -0,0 +1,446 @@ +const struct CompressedSpriteSheet gMonStillFrontPicTable[] = +{ //.data .size .tag + gMonStillFrontPic_CircledQuestionMark, 0x800, 0, + gMonStillFrontPic_Bulbasaur, 0x800, 1, + gMonStillFrontPic_Ivysaur, 0x800, 2, + gMonStillFrontPic_Venusaur, 0x800, 3, + gMonStillFrontPic_Charmander, 0x800, 4, + gMonStillFrontPic_Charmeleon, 0x800, 5, + gMonStillFrontPic_Charizard, 0x800, 6, + gMonStillFrontPic_Squirtle, 0x800, 7, + gMonStillFrontPic_Wartortle, 0x800, 8, + gMonStillFrontPic_Blastoise, 0x800, 9, + gMonStillFrontPic_Caterpie, 0x800, 10, + gMonStillFrontPic_Metapod, 0x800, 11, + gMonStillFrontPic_Butterfree, 0x800, 12, + gMonStillFrontPic_Weedle, 0x800, 13, + gMonStillFrontPic_Kakuna, 0x800, 14, + gMonStillFrontPic_Beedrill, 0x800, 15, + gMonStillFrontPic_Pidgey, 0x800, 16, + gMonStillFrontPic_Pidgeotto, 0x800, 17, + gMonStillFrontPic_Pidgeot, 0x800, 18, + gMonStillFrontPic_Rattata, 0x800, 19, + gMonStillFrontPic_Raticate, 0x800, 20, + gMonStillFrontPic_Spearow, 0x800, 21, + gMonStillFrontPic_Fearow, 0x800, 22, + gMonStillFrontPic_Ekans, 0x800, 23, + gMonStillFrontPic_Arbok, 0x800, 24, + gMonStillFrontPic_Pikachu, 0x800, 25, + gMonStillFrontPic_Raichu, 0x800, 26, + gMonStillFrontPic_Sandshrew, 0x800, 27, + gMonStillFrontPic_Sandslash, 0x800, 28, + gMonStillFrontPic_NidoranF, 0x800, 29, + gMonStillFrontPic_Nidorina, 0x800, 30, + gMonStillFrontPic_Nidoqueen, 0x800, 31, + gMonStillFrontPic_NidoranM, 0x800, 32, + gMonStillFrontPic_Nidorino, 0x800, 33, + gMonStillFrontPic_Nidoking, 0x800, 34, + gMonStillFrontPic_Clefairy, 0x800, 35, + gMonStillFrontPic_Clefable, 0x800, 36, + gMonStillFrontPic_Vulpix, 0x800, 37, + gMonStillFrontPic_Ninetales, 0x800, 38, + gMonStillFrontPic_Jigglypuff, 0x800, 39, + gMonStillFrontPic_Wigglytuff, 0x800, 40, + gMonStillFrontPic_Zubat, 0x800, 41, + gMonStillFrontPic_Golbat, 0x800, 42, + gMonStillFrontPic_Oddish, 0x800, 43, + gMonStillFrontPic_Gloom, 0x800, 44, + gMonStillFrontPic_Vileplume, 0x800, 45, + gMonStillFrontPic_Paras, 0x800, 46, + gMonStillFrontPic_Parasect, 0x800, 47, + gMonStillFrontPic_Venonat, 0x800, 48, + gMonStillFrontPic_Venomoth, 0x800, 49, + gMonStillFrontPic_Diglett, 0x800, 50, + gMonStillFrontPic_Dugtrio, 0x800, 51, + gMonStillFrontPic_Meowth, 0x800, 52, + gMonStillFrontPic_Persian, 0x800, 53, + gMonStillFrontPic_Psyduck, 0x800, 54, + gMonStillFrontPic_Golduck, 0x800, 55, + gMonStillFrontPic_Mankey, 0x800, 56, + gMonStillFrontPic_Primeape, 0x800, 57, + gMonStillFrontPic_Growlithe, 0x800, 58, + gMonStillFrontPic_Arcanine, 0x800, 59, + gMonStillFrontPic_Poliwag, 0x800, 60, + gMonStillFrontPic_Poliwhirl, 0x800, 61, + gMonStillFrontPic_Poliwrath, 0x800, 62, + gMonStillFrontPic_Abra, 0x800, 63, + gMonStillFrontPic_Kadabra, 0x800, 64, + gMonStillFrontPic_Alakazam, 0x800, 65, + gMonStillFrontPic_Machop, 0x800, 66, + gMonStillFrontPic_Machoke, 0x800, 67, + gMonStillFrontPic_Machamp, 0x800, 68, + gMonStillFrontPic_Bellsprout, 0x800, 69, + gMonStillFrontPic_Weepinbell, 0x800, 70, + gMonStillFrontPic_Victreebel, 0x800, 71, + gMonStillFrontPic_Tentacool, 0x800, 72, + gMonStillFrontPic_Tentacruel, 0x800, 73, + gMonStillFrontPic_Geodude, 0x800, 74, + gMonStillFrontPic_Graveler, 0x800, 75, + gMonStillFrontPic_Golem, 0x800, 76, + gMonStillFrontPic_Ponyta, 0x800, 77, + gMonStillFrontPic_Rapidash, 0x800, 78, + gMonStillFrontPic_Slowpoke, 0x800, 79, + gMonStillFrontPic_Slowbro, 0x800, 80, + gMonStillFrontPic_Magnemite, 0x800, 81, + gMonStillFrontPic_Magneton, 0x800, 82, + gMonStillFrontPic_Farfetchd, 0x800, 83, + gMonStillFrontPic_Doduo, 0x800, 84, + gMonStillFrontPic_Dodrio, 0x800, 85, + gMonStillFrontPic_Seel, 0x800, 86, + gMonStillFrontPic_Dewgong, 0x800, 87, + gMonStillFrontPic_Grimer, 0x800, 88, + gMonStillFrontPic_Muk, 0x800, 89, + gMonStillFrontPic_Shellder, 0x800, 90, + gMonStillFrontPic_Cloyster, 0x800, 91, + gMonStillFrontPic_Gastly, 0x800, 92, + gMonStillFrontPic_Haunter, 0x800, 93, + gMonStillFrontPic_Gengar, 0x800, 94, + gMonStillFrontPic_Onix, 0x800, 95, + gMonStillFrontPic_Drowzee, 0x800, 96, + gMonStillFrontPic_Hypno, 0x800, 97, + gMonStillFrontPic_Krabby, 0x800, 98, + gMonStillFrontPic_Kingler, 0x800, 99, + gMonStillFrontPic_Voltorb, 0x800, 100, + gMonStillFrontPic_Electrode, 0x800, 101, + gMonStillFrontPic_Exeggcute, 0x800, 102, + gMonStillFrontPic_Exeggutor, 0x800, 103, + gMonStillFrontPic_Cubone, 0x800, 104, + gMonStillFrontPic_Marowak, 0x800, 105, + gMonStillFrontPic_Hitmonlee, 0x800, 106, + gMonStillFrontPic_Hitmonchan, 0x800, 107, + gMonStillFrontPic_Lickitung, 0x800, 108, + gMonStillFrontPic_Koffing, 0x800, 109, + gMonStillFrontPic_Weezing, 0x800, 110, + gMonStillFrontPic_Rhyhorn, 0x800, 111, + gMonStillFrontPic_Rhydon, 0x800, 112, + gMonStillFrontPic_Chansey, 0x800, 113, + gMonStillFrontPic_Tangela, 0x800, 114, + gMonStillFrontPic_Kangaskhan, 0x800, 115, + gMonStillFrontPic_Horsea, 0x800, 116, + gMonStillFrontPic_Seadra, 0x800, 117, + gMonStillFrontPic_Goldeen, 0x800, 118, + gMonStillFrontPic_Seaking, 0x800, 119, + gMonStillFrontPic_Staryu, 0x800, 120, + gMonStillFrontPic_Starmie, 0x800, 121, + gMonStillFrontPic_Mrmime, 0x800, 122, + gMonStillFrontPic_Scyther, 0x800, 123, + gMonStillFrontPic_Jynx, 0x800, 124, + gMonStillFrontPic_Electabuzz, 0x800, 125, + gMonStillFrontPic_Magmar, 0x800, 126, + gMonStillFrontPic_Pinsir, 0x800, 127, + gMonStillFrontPic_Tauros, 0x800, 128, + gMonStillFrontPic_Magikarp, 0x800, 129, + gMonStillFrontPic_Gyarados, 0x800, 130, + gMonStillFrontPic_Lapras, 0x800, 131, + gMonStillFrontPic_Ditto, 0x800, 132, + gMonStillFrontPic_Eevee, 0x800, 133, + gMonStillFrontPic_Vaporeon, 0x800, 134, + gMonStillFrontPic_Jolteon, 0x800, 135, + gMonStillFrontPic_Flareon, 0x800, 136, + gMonStillFrontPic_Porygon, 0x800, 137, + gMonStillFrontPic_Omanyte, 0x800, 138, + gMonStillFrontPic_Omastar, 0x800, 139, + gMonStillFrontPic_Kabuto, 0x800, 140, + gMonStillFrontPic_Kabutops, 0x800, 141, + gMonStillFrontPic_Aerodactyl, 0x800, 142, + gMonStillFrontPic_Snorlax, 0x800, 143, + gMonStillFrontPic_Articuno, 0x800, 144, + gMonStillFrontPic_Zapdos, 0x800, 145, + gMonStillFrontPic_Moltres, 0x800, 146, + gMonStillFrontPic_Dratini, 0x800, 147, + gMonStillFrontPic_Dragonair, 0x800, 148, + gMonStillFrontPic_Dragonite, 0x800, 149, + gMonStillFrontPic_Mewtwo, 0x800, 150, + gMonStillFrontPic_Mew, 0x800, 151, +// Gen II + gMonStillFrontPic_Chikorita, 0x800, 152, + gMonStillFrontPic_Bayleef, 0x800, 153, + gMonStillFrontPic_Meganium, 0x800, 154, + gMonStillFrontPic_Cyndaquil, 0x800, 155, + gMonStillFrontPic_Quilava, 0x800, 156, + gMonStillFrontPic_Typhlosion, 0x800, 157, + gMonStillFrontPic_Totodile, 0x800, 158, + gMonStillFrontPic_Croconaw, 0x800, 159, + gMonStillFrontPic_Feraligatr, 0x800, 160, + gMonStillFrontPic_Sentret, 0x800, 161, + gMonStillFrontPic_Furret, 0x800, 162, + gMonStillFrontPic_Hoothoot, 0x800, 163, + gMonStillFrontPic_Noctowl, 0x800, 164, + gMonStillFrontPic_Ledyba, 0x800, 165, + gMonStillFrontPic_Ledian, 0x800, 166, + gMonStillFrontPic_Spinarak, 0x800, 167, + gMonStillFrontPic_Ariados, 0x800, 168, + gMonStillFrontPic_Crobat, 0x800, 169, + gMonStillFrontPic_Chinchou, 0x800, 170, + gMonStillFrontPic_Lanturn, 0x800, 171, + gMonStillFrontPic_Pichu, 0x800, 172, + gMonStillFrontPic_Cleffa, 0x800, 173, + gMonStillFrontPic_Igglybuff, 0x800, 174, + gMonStillFrontPic_Togepi, 0x800, 175, + gMonStillFrontPic_Togetic, 0x800, 176, + gMonStillFrontPic_Natu, 0x800, 177, + gMonStillFrontPic_Xatu, 0x800, 178, + gMonStillFrontPic_Mareep, 0x800, 179, + gMonStillFrontPic_Flaaffy, 0x800, 180, + gMonStillFrontPic_Ampharos, 0x800, 181, + gMonStillFrontPic_Bellossom, 0x800, 182, + gMonStillFrontPic_Marill, 0x800, 183, + gMonStillFrontPic_Azumarill, 0x800, 184, + gMonStillFrontPic_Sudowoodo, 0x800, 185, + gMonStillFrontPic_Politoed, 0x800, 186, + gMonStillFrontPic_Hoppip, 0x800, 187, + gMonStillFrontPic_Skiploom, 0x800, 188, + gMonStillFrontPic_Jumpluff, 0x800, 189, + gMonStillFrontPic_Aipom, 0x800, 190, + gMonStillFrontPic_Sunkern, 0x800, 191, + gMonStillFrontPic_Sunflora, 0x800, 192, + gMonStillFrontPic_Yanma, 0x800, 193, + gMonStillFrontPic_Wooper, 0x800, 194, + gMonStillFrontPic_Quagsire, 0x800, 195, + gMonStillFrontPic_Espeon, 0x800, 196, + gMonStillFrontPic_Umbreon, 0x800, 197, + gMonStillFrontPic_Murkrow, 0x800, 198, + gMonStillFrontPic_Slowking, 0x800, 199, + gMonStillFrontPic_Misdreavus, 0x800, 200, + gMonStillFrontPic_UnownA, 0x800, 201, + gMonStillFrontPic_Wobbuffet, 0x800, 202, + gMonStillFrontPic_Girafarig, 0x800, 203, + gMonStillFrontPic_Pineco, 0x800, 204, + gMonStillFrontPic_Forretress, 0x800, 205, + gMonStillFrontPic_Dunsparce, 0x800, 206, + gMonStillFrontPic_Gligar, 0x800, 207, + gMonStillFrontPic_Steelix, 0x800, 208, + gMonStillFrontPic_Snubbull, 0x800, 209, + gMonStillFrontPic_Granbull, 0x800, 210, + gMonStillFrontPic_Qwilfish, 0x800, 211, + gMonStillFrontPic_Scizor, 0x800, 212, + gMonStillFrontPic_Shuckle, 0x800, 213, + gMonStillFrontPic_Heracross, 0x800, 214, + gMonStillFrontPic_Sneasel, 0x800, 215, + gMonStillFrontPic_Teddiursa, 0x800, 216, + gMonStillFrontPic_Ursaring, 0x800, 217, + gMonStillFrontPic_Slugma, 0x800, 218, + gMonStillFrontPic_Magcargo, 0x800, 219, + gMonStillFrontPic_Swinub, 0x800, 220, + gMonStillFrontPic_Piloswine, 0x800, 221, + gMonStillFrontPic_Corsola, 0x800, 222, + gMonStillFrontPic_Remoraid, 0x800, 223, + gMonStillFrontPic_Octillery, 0x800, 224, + gMonStillFrontPic_Delibird, 0x800, 225, + gMonStillFrontPic_Mantine, 0x800, 226, + gMonStillFrontPic_Skarmory, 0x800, 227, + gMonStillFrontPic_Houndour, 0x800, 228, + gMonStillFrontPic_Houndoom, 0x800, 229, + gMonStillFrontPic_Kingdra, 0x800, 230, + gMonStillFrontPic_Phanpy, 0x800, 231, + gMonStillFrontPic_Donphan, 0x800, 232, + gMonStillFrontPic_Porygon2, 0x800, 233, + gMonStillFrontPic_Stantler, 0x800, 234, + gMonStillFrontPic_Smeargle, 0x800, 235, + gMonStillFrontPic_Tyrogue, 0x800, 236, + gMonStillFrontPic_Hitmontop, 0x800, 237, + gMonStillFrontPic_Smoochum, 0x800, 238, + gMonStillFrontPic_Elekid, 0x800, 239, + gMonStillFrontPic_Magby, 0x800, 240, + gMonStillFrontPic_Miltank, 0x800, 241, + gMonStillFrontPic_Blissey, 0x800, 242, + gMonStillFrontPic_Raikou, 0x800, 243, + gMonStillFrontPic_Entei, 0x800, 244, + gMonStillFrontPic_Suicune, 0x800, 245, + gMonStillFrontPic_Larvitar, 0x800, 246, + gMonStillFrontPic_Pupitar, 0x800, 247, + gMonStillFrontPic_Tyranitar, 0x800, 248, + gMonStillFrontPic_Lugia, 0x800, 249, + gMonStillFrontPic_HoOh, 0x800, 250, + gMonStillFrontPic_Celebi, 0x800, 251, +// Empty slots + gMonStillFrontPic_DoubleQuestionMark, 0x800, 252, + gMonStillFrontPic_DoubleQuestionMark, 0x800, 253, + gMonStillFrontPic_DoubleQuestionMark, 0x800, 254, + gMonStillFrontPic_DoubleQuestionMark, 0x800, 255, + gMonStillFrontPic_DoubleQuestionMark, 0x800, 256, + gMonStillFrontPic_DoubleQuestionMark, 0x800, 257, + gMonStillFrontPic_DoubleQuestionMark, 0x800, 258, + gMonStillFrontPic_DoubleQuestionMark, 0x800, 259, + gMonStillFrontPic_DoubleQuestionMark, 0x800, 260, + gMonStillFrontPic_DoubleQuestionMark, 0x800, 261, + gMonStillFrontPic_DoubleQuestionMark, 0x800, 262, + gMonStillFrontPic_DoubleQuestionMark, 0x800, 263, + gMonStillFrontPic_DoubleQuestionMark, 0x800, 264, + gMonStillFrontPic_DoubleQuestionMark, 0x800, 265, + gMonStillFrontPic_DoubleQuestionMark, 0x800, 266, + gMonStillFrontPic_DoubleQuestionMark, 0x800, 267, + gMonStillFrontPic_DoubleQuestionMark, 0x800, 268, + gMonStillFrontPic_DoubleQuestionMark, 0x800, 269, + gMonStillFrontPic_DoubleQuestionMark, 0x800, 270, + gMonStillFrontPic_DoubleQuestionMark, 0x800, 271, + gMonStillFrontPic_DoubleQuestionMark, 0x800, 272, + gMonStillFrontPic_DoubleQuestionMark, 0x800, 273, + gMonStillFrontPic_DoubleQuestionMark, 0x800, 274, + gMonStillFrontPic_DoubleQuestionMark, 0x800, 275, + gMonStillFrontPic_DoubleQuestionMark, 0x800, 276, +// Gen III + gMonStillFrontPic_Treecko, 0x800, 277, + gMonStillFrontPic_Grovyle, 0x800, 278, + gMonStillFrontPic_Sceptile, 0x800, 279, + gMonStillFrontPic_Torchic, 0x800, 280, + gMonStillFrontPic_Combusken, 0x800, 281, + gMonStillFrontPic_Blaziken, 0x800, 282, + gMonStillFrontPic_Mudkip, 0x800, 283, + gMonStillFrontPic_Marshtomp, 0x800, 284, + gMonStillFrontPic_Swampert, 0x800, 285, + gMonStillFrontPic_Poochyena, 0x800, 286, + gMonStillFrontPic_Mightyena, 0x800, 287, + gMonStillFrontPic_Zigzagoon, 0x800, 288, + gMonStillFrontPic_Linoone, 0x800, 289, + gMonStillFrontPic_Wurmple, 0x800, 290, + gMonStillFrontPic_Silcoon, 0x800, 291, + gMonStillFrontPic_Beautifly, 0x800, 292, + gMonStillFrontPic_Cascoon, 0x800, 293, + gMonStillFrontPic_Dustox, 0x800, 294, + gMonStillFrontPic_Lotad, 0x800, 295, + gMonStillFrontPic_Lombre, 0x800, 296, + gMonStillFrontPic_Ludicolo, 0x800, 297, + gMonStillFrontPic_Seedot, 0x800, 298, + gMonStillFrontPic_Nuzleaf, 0x800, 299, + gMonStillFrontPic_Shiftry, 0x800, 300, + gMonStillFrontPic_Nincada, 0x800, 301, + gMonStillFrontPic_Ninjask, 0x800, 302, + gMonStillFrontPic_Shedinja, 0x800, 303, + gMonStillFrontPic_Taillow, 0x800, 304, + gMonStillFrontPic_Swellow, 0x800, 305, + gMonStillFrontPic_Shroomish, 0x800, 306, + gMonStillFrontPic_Breloom, 0x800, 307, + gMonStillFrontPic_Spinda, 0x800, 308, + gMonStillFrontPic_Wingull, 0x800, 309, + gMonStillFrontPic_Pelipper, 0x800, 310, + gMonStillFrontPic_Surskit, 0x800, 311, + gMonStillFrontPic_Masquerain, 0x800, 312, + gMonStillFrontPic_Wailmer, 0x800, 313, + gMonStillFrontPic_Wailord, 0x800, 314, + gMonStillFrontPic_Skitty, 0x800, 315, + gMonStillFrontPic_Delcatty, 0x800, 316, + gMonStillFrontPic_Kecleon, 0x800, 317, + gMonStillFrontPic_Baltoy, 0x800, 318, + gMonStillFrontPic_Claydol, 0x800, 319, + gMonStillFrontPic_Nosepass, 0x800, 320, + gMonStillFrontPic_Torkoal, 0x800, 321, + gMonStillFrontPic_Sableye, 0x800, 322, + gMonStillFrontPic_Barboach, 0x800, 323, + gMonStillFrontPic_Whiscash, 0x800, 324, + gMonStillFrontPic_Luvdisc, 0x800, 325, + gMonStillFrontPic_Corphish, 0x800, 326, + gMonStillFrontPic_Crawdaunt, 0x800, 327, + gMonStillFrontPic_Feebas, 0x800, 328, + gMonStillFrontPic_Milotic, 0x800, 329, + gMonStillFrontPic_Carvanha, 0x800, 330, + gMonStillFrontPic_Sharpedo, 0x800, 331, + gMonStillFrontPic_Trapinch, 0x800, 332, + gMonStillFrontPic_Vibrava, 0x800, 333, + gMonStillFrontPic_Flygon, 0x800, 334, + gMonStillFrontPic_Makuhita, 0x800, 335, + gMonStillFrontPic_Hariyama, 0x800, 336, + gMonStillFrontPic_Electrike, 0x800, 337, + gMonStillFrontPic_Manectric, 0x800, 338, + gMonStillFrontPic_Numel, 0x800, 339, + gMonStillFrontPic_Camerupt, 0x800, 340, + gMonStillFrontPic_Spheal, 0x800, 341, + gMonStillFrontPic_Sealeo, 0x800, 342, + gMonStillFrontPic_Walrein, 0x800, 343, + gMonStillFrontPic_Cacnea, 0x800, 344, + gMonStillFrontPic_Cacturne, 0x800, 345, + gMonStillFrontPic_Snorunt, 0x800, 346, + gMonStillFrontPic_Glalie, 0x800, 347, + gMonStillFrontPic_Lunatone, 0x800, 348, + gMonStillFrontPic_Solrock, 0x800, 349, + gMonStillFrontPic_Azurill, 0x800, 350, + gMonStillFrontPic_Spoink, 0x800, 351, + gMonStillFrontPic_Grumpig, 0x800, 352, + gMonStillFrontPic_Plusle, 0x800, 353, + gMonStillFrontPic_Minun, 0x800, 354, + gMonStillFrontPic_Mawile, 0x800, 355, + gMonStillFrontPic_Meditite, 0x800, 356, + gMonStillFrontPic_Medicham, 0x800, 357, + gMonStillFrontPic_Swablu, 0x800, 358, + gMonStillFrontPic_Altaria, 0x800, 359, + gMonStillFrontPic_Wynaut, 0x800, 360, + gMonStillFrontPic_Duskull, 0x800, 361, + gMonStillFrontPic_Dusclops, 0x800, 362, + gMonStillFrontPic_Roselia, 0x800, 363, + gMonStillFrontPic_Slakoth, 0x800, 364, + gMonStillFrontPic_Vigoroth, 0x800, 365, + gMonStillFrontPic_Slaking, 0x800, 366, + gMonStillFrontPic_Gulpin, 0x800, 367, + gMonStillFrontPic_Swalot, 0x800, 368, + gMonStillFrontPic_Tropius, 0x800, 369, + gMonStillFrontPic_Whismur, 0x800, 370, + gMonStillFrontPic_Loudred, 0x800, 371, + gMonStillFrontPic_Exploud, 0x800, 372, + gMonStillFrontPic_Clamperl, 0x800, 373, + gMonStillFrontPic_Huntail, 0x800, 374, + gMonStillFrontPic_Gorebyss, 0x800, 375, + gMonStillFrontPic_Absol, 0x800, 376, + gMonStillFrontPic_Shuppet, 0x800, 377, + gMonStillFrontPic_Banette, 0x800, 378, + gMonStillFrontPic_Seviper, 0x800, 379, + gMonStillFrontPic_Zangoose, 0x800, 380, + gMonStillFrontPic_Relicanth, 0x800, 381, + gMonStillFrontPic_Aron, 0x800, 382, + gMonStillFrontPic_Lairon, 0x800, 383, + gMonStillFrontPic_Aggron, 0x800, 384, + gMonStillFrontPic_Castform, 0x800, 385, + gMonStillFrontPic_Volbeat, 0x800, 386, + gMonStillFrontPic_Illumise, 0x800, 387, + gMonStillFrontPic_Lileep, 0x800, 388, + gMonStillFrontPic_Cradily, 0x800, 389, + gMonStillFrontPic_Anorith, 0x800, 390, + gMonStillFrontPic_Armaldo, 0x800, 391, + gMonStillFrontPic_Ralts, 0x800, 392, + gMonStillFrontPic_Kirlia, 0x800, 393, + gMonStillFrontPic_Gardevoir, 0x800, 394, + gMonStillFrontPic_Bagon, 0x800, 395, + gMonStillFrontPic_Shelgon, 0x800, 396, + gMonStillFrontPic_Salamence, 0x800, 397, + gMonStillFrontPic_Beldum, 0x800, 398, + gMonStillFrontPic_Metang, 0x800, 399, + gMonStillFrontPic_Metagross, 0x800, 400, + gMonStillFrontPic_Regirock, 0x800, 401, + gMonStillFrontPic_Regice, 0x800, 402, + gMonStillFrontPic_Registeel, 0x800, 403, + gMonStillFrontPic_Kyogre, 0x800, 404, + gMonStillFrontPic_Groudon, 0x800, 405, + gMonStillFrontPic_Rayquaza, 0x800, 406, + gMonStillFrontPic_Latias, 0x800, 407, + gMonStillFrontPic_Latios, 0x800, 408, + gMonStillFrontPic_Jirachi, 0x800, 409, + gMonStillFrontPic_Deoxys, 0x800, 410, + gMonStillFrontPic_Chimecho, 0x800, 411, + gMonStillFrontPic_Egg, 0x800, 412, + gMonStillFrontPic_UnownB, 0x800, 413, + gMonStillFrontPic_UnownC, 0x800, 414, + gMonStillFrontPic_UnownD, 0x800, 415, + gMonStillFrontPic_UnownE, 0x800, 416, + gMonStillFrontPic_UnownF, 0x800, 417, + gMonStillFrontPic_UnownG, 0x800, 418, + gMonStillFrontPic_UnownH, 0x800, 419, + gMonStillFrontPic_UnownI, 0x800, 420, + gMonStillFrontPic_UnownJ, 0x800, 421, + gMonStillFrontPic_UnownK, 0x800, 422, + gMonStillFrontPic_UnownL, 0x800, 423, + gMonStillFrontPic_UnownM, 0x800, 424, + gMonStillFrontPic_UnownN, 0x800, 425, + gMonStillFrontPic_UnownO, 0x800, 426, + gMonStillFrontPic_UnownP, 0x800, 427, + gMonStillFrontPic_UnownQ, 0x800, 428, + gMonStillFrontPic_UnownR, 0x800, 429, + gMonStillFrontPic_UnownS, 0x800, 430, + gMonStillFrontPic_UnownT, 0x800, 431, + gMonStillFrontPic_UnownU, 0x800, 432, + gMonStillFrontPic_UnownV, 0x800, 433, + gMonStillFrontPic_UnownW, 0x800, 434, + gMonStillFrontPic_UnownX, 0x800, 435, + gMonStillFrontPic_UnownY, 0x800, 436, + gMonStillFrontPic_UnownZ, 0x800, 437, + gMonStillFrontPic_UnownExclamationMark, 0x800, 438, + gMonStillFrontPic_UnownQuestionMark, 0x800, 439, +}; diff --git a/src/data/pokemon_graphics/unknown_anims.h b/src/data/pokemon_graphics/unknown_anims.h new file mode 100644 index 0000000000..a4ae43eb60 --- /dev/null +++ b/src/data/pokemon_graphics/unknown_anims.h @@ -0,0 +1,2347 @@ +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[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 7), + ANIMCMD_FRAME(1, 7), + ANIMCMD_FRAME(0, 7), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FF734[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(2, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FF744[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(2, 10), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FF750[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FF758[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FF774[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(2, 12), + ANIMCMD_FRAME(0, 14), + ANIMCMD_FRAME(2, 12), + ANIMCMD_FRAME(0, 14), + ANIMCMD_FRAME(2, 12), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FF790[] = +{ + ANIMCMD_FRAME(0, 14), + ANIMCMD_FRAME(2, 12), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FF79C[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FF7B0[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(2, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(2, 10), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FF7C4[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FF7CC[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FF7D4[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FF7DC[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FF7E4[] = +{ + ANIMCMD_FRAME(1, 1), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FF7EC[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FF7F4[] = +{ + ANIMCMD_FRAME(1, 1), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FF7FC[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FF804[] = +{ + ANIMCMD_FRAME(1, 1), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FF80C[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FF814[] = +{ + ANIMCMD_FRAME(1, 1), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FF81C[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FF824[] = +{ + ANIMCMD_FRAME(1, 1), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FF82C[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FF834[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FF83C[] = +{ + ANIMCMD_FRAME(1, 1), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FF844[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FF84C[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FF854[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FF85C[] = +{ + ANIMCMD_FRAME(1, 1), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FF864[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FF86C[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FF874[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FF87C[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FF884[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FF88C[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FF894[] = +{ + ANIMCMD_FRAME(1, 1), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FF89C[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FF8A4[] = +{ + ANIMCMD_FRAME(1, 1), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FF8AC[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FF8B4[] = +{ + ANIMCMD_FRAME(1, 1), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FF8BC[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(8, 15), + ANIMCMD_FRAME(2, 22), + ANIMCMD_FRAME(8, 5), + ANIMCMD_FRAME(3, 8), + ANIMCMD_FRAME(4, 5), + ANIMCMD_FRAME(6, 5), + ANIMCMD_FRAME(4, 5), + ANIMCMD_FRAME(6, 5), + ANIMCMD_FRAME(4, 5), + ANIMCMD_FRAME(6, 5), + ANIMCMD_FRAME(4, 5), + ANIMCMD_FRAME(6, 5), + ANIMCMD_FRAME(5, 5), + ANIMCMD_FRAME(7, 5), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FF8FC[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(8, 15), + ANIMCMD_FRAME(2, 15), + ANIMCMD_FRAME(8, 15), + ANIMCMD_FRAME(9, 15), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(9, 10), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FF91C[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(9, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(10, 20), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FF930[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(11, 15), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FF93C[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FF944[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FF94C[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 7), + ANIMCMD_FRAME(2, 7), + ANIMCMD_FRAME(3, 4), + ANIMCMD_FRAME(4, 4), + ANIMCMD_FRAME(3, 4), + ANIMCMD_FRAME(4, 4), + ANIMCMD_FRAME(3, 4), + ANIMCMD_FRAME(4, 4), + ANIMCMD_FRAME(3, 4), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(5, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(5, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(5, 2), + ANIMCMD_FRAME(6, 2), + ANIMCMD_FRAME(5, 2), + ANIMCMD_FRAME(6, 2), + ANIMCMD_FRAME(6, 10), + ANIMCMD_FRAME(5, 4), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FF9A8[] = +{ + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(7, 12), + ANIMCMD_FRAME(8, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(7, 12), + ANIMCMD_FRAME(8, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(7, 12), + ANIMCMD_FRAME(8, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(7, 12), + ANIMCMD_FRAME(8, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(7, 12), + ANIMCMD_FRAME(8, 12), + ANIMCMD_FRAME(9, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(9, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(7, 12), + ANIMCMD_FRAME(8, 12), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FFA00[] = +{ + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(7, 12), + ANIMCMD_FRAME(8, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(7, 12), + ANIMCMD_FRAME(8, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(7, 12), + ANIMCMD_FRAME(8, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(7, 12), + ANIMCMD_FRAME(8, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(7, 12), + ANIMCMD_FRAME(8, 12), + ANIMCMD_FRAME(9, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(9, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(7, 12), + ANIMCMD_FRAME(8, 12), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FFA58[] = +{ + ANIMCMD_FRAME(0,18), + ANIMCMD_FRAME(10, 18), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FFA64[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FFA6C[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FFA74[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FFA7C[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FFA84[] = +{ + ANIMCMD_FRAME(1, 1), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FFA8C[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FFA94[] = +{ + ANIMCMD_FRAME(1, 1), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FFA9C[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FFAA4[] = +{ + ANIMCMD_FRAME(1, 1), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FFAAC[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FFAB4[] = +{ + ANIMCMD_FRAME(1, 1), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FFABC[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FFAC4[] = +{ + ANIMCMD_FRAME(1, 1), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FFACC[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FFAD4[] = +{ + ANIMCMD_FRAME(1, 1), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FFADC[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FFAE4[] = +{ + ANIMCMD_FRAME(0, 63), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FFAEC[] = +{ + ANIMCMD_FRAME(0, 63), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FFAF4[] = +{ + ANIMCMD_FRAME(0, 63), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FFAFC[] = +{ + ANIMCMD_FRAME(0, 63), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FFB04[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FFB0C[] = +{ + ANIMCMD_FRAME(1, 1), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FFB14[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FFB1C[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FFB24[] = +{ + ANIMCMD_FRAME(1, 1), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FFB2C[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FFB34[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FFB3C[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FFB44[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 18), + ANIMCMD_FRAME(0, 18), + ANIMCMD_FRAME(1, 18), + ANIMCMD_FRAME(0, 18), + ANIMCMD_FRAME(1, 18), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FFB60[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(2, 18), + ANIMCMD_FRAME(0, 18), + ANIMCMD_FRAME(2, 18), + ANIMCMD_FRAME(0, 18), + ANIMCMD_FRAME(2, 18), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FFB7C[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(2, 5), + ANIMCMD_FRAME(3, 6), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(2, 5), + ANIMCMD_FRAME(3, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 7), + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(4, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(4, 4), + ANIMCMD_FRAME(0, 20), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FFBBC[] = +{ + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(2, 6), + ANIMCMD_FRAME(3, 6), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 30), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FFBE0[] = +{ + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(5, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(6, 12), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FFBF4[] = +{ + ANIMCMD_FRAME(7, 1), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FFBFC[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FFC04[] = +{ + ANIMCMD_FRAME(1, 1), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FFC0C[] = +{ + ANIMCMD_FRAME(0, 63), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FFC14[] = +{ + ANIMCMD_FRAME(0, 63), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FFC1C[] = +{ + ANIMCMD_FRAME(0, 63), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FFC24[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FFC2C[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FFC34[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FFC3C[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FFC58[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(2, 8), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(2, 8), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(2, 8), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FFC74[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FFC7C[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FFC84[] = +{ + ANIMCMD_FRAME(1, 9), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FFC8C[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FFC94[] = +{ + ANIMCMD_FRAME(1, 1), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FFC9C[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FFCA4[] = +{ + ANIMCMD_FRAME(1, 10), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FFCAC[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FFCB4[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FFCBC[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FFCC4[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FFCCC[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FFCD4[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FFCDC[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FFCE4[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FFCEC[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FFCF4[] = +{ + ANIMCMD_FRAME(1, 1), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FFCFC[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FFD04[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FFD0C[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FFD14[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FFD1C[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FFD24[] = +{ + ANIMCMD_FRAME(1, 1), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FFD2C[] = +{ + ANIMCMD_FRAME(2, 1), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FFD34[] = +{ + ANIMCMD_FRAME(3, 1), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FFD3C[] = +{ + ANIMCMD_FRAME(0, 63), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FFD44[] = +{ + ANIMCMD_FRAME(0, 63), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FFD4C[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FFD54[] = +{ + ANIMCMD_FRAME(1, 1), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FFD5C[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FFD64[] = +{ + ANIMCMD_FRAME(1, 1), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FFD6C[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FFD74[] = +{ + ANIMCMD_FRAME(1, 1), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FFD7C[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FFD84[] = +{ + ANIMCMD_FRAME(1, 1), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FFD8C[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 30), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FFDA0[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FFDB4[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_082FFDBC[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +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}; + +const union AnimCmd *const gUnknown_083001D4[] = +{ + gAnimCmd_General_Frame0, + gUnknown_082FF71C, + gUnknown_082FF734, + gUnknown_082FF744, + gUnknown_082FF750, +}; + +const union AnimCmd *const gUnknown_083001E8[] = {gAnimCmd_General_Frame0}; + +const union AnimCmd *const gUnknown_083001EC[] = +{ + gAnimCmd_General_Frame0, + gUnknown_082FF758, + gUnknown_082FF774, + gUnknown_082FF790, +}; + +const union AnimCmd *const gUnknown_083001FC[] = {gAnimCmd_General_Frame0}; + +const union AnimCmd *const gUnknown_08300200[] = +{ + gAnimCmd_General_Frame0, + gUnknown_082FF79C, + gUnknown_082FF7B0, +}; + +const union AnimCmd *const gUnknown_0830020C[] = +{ + gAnimCmd_General_Frame0, + gUnknown_082FF7C4, +}; + +const union AnimCmd *const gUnknown_08300214[] = +{ + gAnimCmd_General_Frame0, + gUnknown_082FF7CC, +}; + +const union AnimCmd *const gUnknown_0830021C[] = +{ + gAnimCmd_General_Frame0, + gUnknown_082FF7D4, +}; + +const union AnimCmd *const gUnknown_08300224[] = +{ + gAnimCmd_General_Frame0, + gUnknown_082FF7DC, + gUnknown_082FF7E4, +}; + +const union AnimCmd *const gUnknown_08300230[] = +{ + gAnimCmd_General_Frame0, + gUnknown_082FF7EC, + gUnknown_082FF7F4, +}; + +const union AnimCmd *const gUnknown_0830023C[] = +{ + gAnimCmd_General_Frame0, + gUnknown_082FF7FC, + gUnknown_082FF804, +}; + +const union AnimCmd *const gUnknown_08300248[] = +{ + gAnimCmd_General_Frame0, + gUnknown_082FF80C, + gUnknown_082FF814, +}; + +const union AnimCmd *const gUnknown_08300254[] = +{ + gAnimCmd_General_Frame0, + gUnknown_082FF81C, + gUnknown_082FF824, +}; + +const union AnimCmd *const gUnknown_08300260[] = {gAnimCmd_General_Frame0}; + +const union AnimCmd *const gUnknown_08300264[] = +{ + gAnimCmd_General_Frame0, + gUnknown_082FF82C, +}; + +const union AnimCmd *const gUnknown_0830026C[] = +{ + gAnimCmd_General_Frame0, + gUnknown_082FF834, + gUnknown_082FF83C, +}; + +const union AnimCmd *const gUnknown_08300278[] = +{ + gAnimCmd_General_Frame0, + gUnknown_082FF844, +}; + +const union AnimCmd *const gUnknown_08300280[] = +{ + gAnimCmd_General_Frame0, + gUnknown_082FF84C, +}; + +const union AnimCmd *const gUnknown_08300288[] = +{ + gAnimCmd_General_Frame0, + 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}; + +const union AnimCmd *const gUnknown_083002A0[] = +{ + gAnimCmd_General_Frame0, + gUnknown_082FF864, +}; + +const union AnimCmd *const gUnknown_083002A8[] = +{ + gAnimCmd_General_Frame0, + gUnknown_082FF86C, +}; + +const union AnimCmd *const gUnknown_083002B0[] = +{ + gAnimCmd_General_Frame0, + gUnknown_082FF874, +}; + +const union AnimCmd *const gUnknown_083002B8[] = +{ + gAnimCmd_General_Frame0, + gUnknown_082FF87C, +}; + +const union AnimCmd *const gUnknown_083002C0[] = {gAnimCmd_General_Frame0}; + +const union AnimCmd *const gUnknown_083002C4[] = +{ + gAnimCmd_General_Frame0, + gUnknown_082FF884, +}; + +const union AnimCmd *const gUnknown_083002CC[] = +{ + gAnimCmd_General_Frame0, + gUnknown_082FF88C, + gUnknown_082FF894, +}; + +const union AnimCmd *const gUnknown_083002D8[] = +{ + gAnimCmd_General_Frame0, + gUnknown_082FF89C, + gUnknown_082FF8A4, +}; + +const union AnimCmd *const gUnknown_083002E4[] = +{ + gAnimCmd_General_Frame0, + gUnknown_082FF8AC, + gUnknown_082FF8B4, +}; + +const union AnimCmd *const gUnknown_083002F0[] = +{ + gAnimCmd_General_Frame0, + gUnknown_082FF8BC, + gUnknown_082FF8FC, + gUnknown_082FF91C, + gUnknown_082FF930, +}; + +const union AnimCmd *const gUnknown_08300304[] = {gAnimCmd_General_Frame0}; + +const union AnimCmd *const gUnknown_08300308[] = +{ + gAnimCmd_General_Frame0, + gUnknown_082FF93C, +}; + +const union AnimCmd *const gUnknown_08300310[] = +{ + gAnimCmd_General_Frame0, + gUnknown_082FF944, +}; + +const union AnimCmd *const gUnknown_08300318[] = +{ + gAnimCmd_General_Frame0, + gUnknown_082FF94C, + gUnknown_082FF9A8, + gUnknown_082FFA00, + gUnknown_082FFA58, +}; + +const union AnimCmd *const gUnknown_0830032C[] = +{ + gAnimCmd_General_Frame0, + gUnknown_082FFA64, +}; + +const union AnimCmd *const gUnknown_08300334[] = +{ + gAnimCmd_General_Frame0, + gUnknown_082FFA6C, +}; + +const union AnimCmd *const gUnknown_0830033C[] = +{ + gAnimCmd_General_Frame0, + gUnknown_082FFA74, +}; + +const union AnimCmd *const gUnknown_08300344[] = {gAnimCmd_General_Frame0}; + +const union AnimCmd *const gUnknown_08300348[] = +{ + gAnimCmd_General_Frame0, + gUnknown_082FFA7C, + gUnknown_082FFA84, +}; + +const union AnimCmd *const gUnknown_08300354[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08300358[] = {gAnimCmd_General_Frame0}; + +const union AnimCmd *const gUnknown_0830035C[] = +{ + gAnimCmd_General_Frame0, + gUnknown_082FFA8C, + gUnknown_082FFA94, +}; + +const union AnimCmd *const gUnknown_08300368[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_0830036C[] = {gAnimCmd_General_Frame0}; + +const union AnimCmd *const gUnknown_08300370[] = +{ + gAnimCmd_General_Frame0, + gUnknown_082FFA9C, + gUnknown_082FFAA4, +}; + +const union AnimCmd *const gUnknown_0830037C[] = +{ + gAnimCmd_General_Frame0, + gUnknown_082FFAAC, + gUnknown_082FFAB4, +}; + +const union AnimCmd *const gUnknown_08300388[] = +{ + gAnimCmd_General_Frame0, + gUnknown_082FFABC, + gUnknown_082FFAC4, +}; + +const union AnimCmd *const gUnknown_08300394[] = +{ + gAnimCmd_General_Frame0, + gUnknown_082FFACC, + gUnknown_082FFAD4, +}; + +const union AnimCmd *const gUnknown_083003A0[] = +{ + gAnimCmd_General_Frame0, + gUnknown_082FFADC, +}; + +const union AnimCmd *const gUnknown_083003A8[] = +{ + gAnimCmd_General_Frame0, + gUnknown_082FFAE4, +}; + +const union AnimCmd *const gUnknown_083003B0[] = +{ + gAnimCmd_General_Frame0, + gUnknown_082FFAEC, +}; + +const union AnimCmd *const gUnknown_083003B8[] = +{ + gAnimCmd_General_Frame0, + gUnknown_082FFAF4, +}; + +const union AnimCmd *const gUnknown_083003C0[] = +{ + gAnimCmd_General_Frame0, + gUnknown_082FFAFC, +}; + +const union AnimCmd *const gUnknown_083003C8[] = +{ + gAnimCmd_General_Frame0, + gUnknown_082FFB04, + gUnknown_082FFB0C, +}; + +const union AnimCmd *const gUnknown_083003D4[] = +{ + gAnimCmd_General_Frame0, + gUnknown_082FFB14, +}; + +const union AnimCmd *const gUnknown_083003DC[] = +{ + gAnimCmd_General_Frame0, + gUnknown_082FFB1C, + gUnknown_082FFB24, +}; + +const union AnimCmd *const gUnknown_083003E8[] = +{ + gAnimCmd_General_Frame0, + gUnknown_082FFB2C, +}; + +const union AnimCmd *const gUnknown_083003F0[] = +{ + gAnimCmd_General_Frame0, + gUnknown_082FFB34, +}; + +const union AnimCmd *const gUnknown_083003F8[] = +{ + gAnimCmd_General_Frame0, + gUnknown_082FFB3C, +}; + +const union AnimCmd *const gUnknown_08300400[] = +{ + gAnimCmd_General_Frame0, + 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}; + +const union AnimCmd *const gUnknown_08300424[] = +{ + gAnimCmd_General_Frame0, + gUnknown_082FFB7C, + gUnknown_082FFBBC, + gUnknown_082FFBE0, + gUnknown_082FFBF4, +}; + +const union AnimCmd *const gUnknown_08300438[] = +{ + gAnimCmd_General_Frame0, + gUnknown_082FFBFC, + gUnknown_082FFC04, +}; + +const union AnimCmd *const gUnknown_08300444[] = +{ + gAnimCmd_General_Frame0, + gUnknown_082FFC0C, +}; + +const union AnimCmd *const gUnknown_0830044C[] = +{ + gAnimCmd_General_Frame0, + gUnknown_082FFC14, +}; + +const union AnimCmd *const gUnknown_08300454[] = +{ + gAnimCmd_General_Frame0, + gUnknown_082FFC1C, +}; + +const union AnimCmd *const gUnknown_0830045C[] = +{ + gAnimCmd_General_Frame0, + gUnknown_082FFC24, +}; + +const union AnimCmd *const gUnknown_08300464[] = +{ + gAnimCmd_General_Frame0, + gUnknown_082FFC2C, +}; + +const union AnimCmd *const gUnknown_0830046C[] = +{ + gAnimCmd_General_Frame0, + gUnknown_082FFC34, +}; + +const union AnimCmd *const gUnknown_08300474[] = +{ + gAnimCmd_General_Frame0, + gUnknown_082FFC3C, + gUnknown_082FFC58, +}; + +const union AnimCmd *const gUnknown_08300480[] = +{ + gAnimCmd_General_Frame0, + gUnknown_082FFC74, +}; + +const union AnimCmd *const gUnknown_08300488[] = +{ + gAnimCmd_General_Frame0, + gUnknown_082FFC7C, + gUnknown_082FFC84, +}; + +const union AnimCmd *const gUnknown_08300494[] = +{ + gAnimCmd_General_Frame0, + gUnknown_082FFC8C, + gUnknown_082FFC94, +}; + +const union AnimCmd *const gUnknown_083004A0[] = +{ + gAnimCmd_General_Frame0, + gUnknown_082FFC9C, + gUnknown_082FFCA4, +}; + +const union AnimCmd *const gUnknown_083004AC[] = {gAnimCmd_General_Frame0}; + +const union AnimCmd *const gUnknown_083004B0[] = +{ + gAnimCmd_General_Frame0, + gUnknown_082FFCAC, +}; + +const union AnimCmd *const gUnknown_083004B8[] = +{ + gAnimCmd_General_Frame0, + gUnknown_082FFCB4, +}; + +const union AnimCmd *const gUnknown_083004C0[] = +{ + gAnimCmd_General_Frame0, + gUnknown_082FFCBC, +}; + +const union AnimCmd *const gUnknown_083004C8[] = +{ + gAnimCmd_General_Frame0, + gUnknown_082FFCC4, +}; + +const union AnimCmd *const gUnknown_083004D0[] = +{ + gAnimCmd_General_Frame0, + gUnknown_082FFCCC, +}; + +const union AnimCmd *const gUnknown_083004D8[] = +{ + gAnimCmd_General_Frame0, + 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}; + +const union AnimCmd *const gUnknown_083004EC[] = +{ + gAnimCmd_General_Frame0, + gUnknown_082FFCDC, +}; + +const union AnimCmd *const gUnknown_083004F4[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_083004F8[] = {gAnimCmd_General_Frame0}; + +const union AnimCmd *const gUnknown_083004FC[] = +{ + gAnimCmd_General_Frame0, + gUnknown_082FFCE4, +}; + +const union AnimCmd *const gUnknown_08300504[] = +{ + gAnimCmd_General_Frame0, + gUnknown_082FFCEC, + gUnknown_082FFCF4, +}; + +const union AnimCmd *const gUnknown_08300510[] = +{ + gAnimCmd_General_Frame0, + 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}; + +const union AnimCmd *const gUnknown_08300524[] = +{ + gAnimCmd_General_Frame0, + gUnknown_082FFD04, +}; + +const union AnimCmd *const gUnknown_0830052C[] = +{ + gAnimCmd_General_Frame0, + gUnknown_082FFD0C, +}; + +const union AnimCmd *const gUnknown_08300534[] = +{ + gAnimCmd_General_Frame0, + gUnknown_082FFD14, +}; + +const union AnimCmd *const gUnknown_0830053C[] = +{ + gAnimCmd_General_Frame0, + gUnknown_082FFD1C, + gUnknown_082FFD24, + gUnknown_082FFD2C, + gUnknown_082FFD34, +}; + +const union AnimCmd *const gUnknown_08300550[] = +{ + gAnimCmd_General_Frame0, + gUnknown_082FFD3C, +}; + +const union AnimCmd *const gUnknown_08300558[] = +{ + gAnimCmd_General_Frame0, + 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}; + +const union AnimCmd *const gUnknown_0830057C[] = +{ + gAnimCmd_General_Frame0, + gUnknown_082FFD4C, + gUnknown_082FFD54, +}; + +const union AnimCmd *const gUnknown_08300588[] = {gAnimCmd_General_Frame0}; + +const union AnimCmd *const gUnknown_0830058C[] = +{ + gAnimCmd_General_Frame0, + 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}; + +const union AnimCmd *const gUnknown_083005A4[] = +{ + gAnimCmd_General_Frame0, + gUnknown_082FFD6C, +}; + +const union AnimCmd *const gUnknown_083005AC[] = +{ + gAnimCmd_General_Frame0, + gUnknown_082FFD74, +}; + +const union AnimCmd *const gUnknown_083005B4[] = +{ + gAnimCmd_General_Frame0, + gUnknown_082FFD7C, + gUnknown_082FFD84, +}; + +const union AnimCmd *const gUnknown_083005C0[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_083005C4[] = {gAnimCmd_General_Frame0}; + +const union AnimCmd *const gUnknown_083005C8[] = +{ + gAnimCmd_General_Frame0, + gUnknown_082FFD8C, + gUnknown_082FFDA0, +}; + +const union AnimCmd *const gUnknown_083005D4[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_083005D8[] = {gAnimCmd_General_Frame0}; + +const union AnimCmd *const gUnknown_083005DC[] = +{ + gAnimCmd_General_Frame0, + 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}; + +const union AnimCmd *const *const gUnknownAnimationsSpriteAnimsPtrTable[] = +{ + gUnknown_082FFDCC, + gUnknown_082FFDD0, + gUnknown_082FFDD4, + gUnknown_082FFDD8, + gUnknown_082FFDDC, + gUnknown_082FFDE0, + gUnknown_082FFDE4, + gUnknown_082FFDE8, + gUnknown_082FFDEC, + gUnknown_082FFDF0, + gUnknown_082FFDF4, + gUnknown_082FFDF8, + gUnknown_082FFDFC, + gUnknown_082FFE00, + gUnknown_082FFE04, + gUnknown_082FFE08, + gUnknown_082FFE0C, + gUnknown_082FFE10, + gUnknown_082FFE14, + gUnknown_082FFE18, + gUnknown_082FFE1C, + gUnknown_082FFE20, + gUnknown_082FFE24, + gUnknown_082FFE28, + gUnknown_082FFE2C, + gUnknown_082FFE30, + gUnknown_082FFE34, + gUnknown_082FFE38, + gUnknown_082FFE3C, + gUnknown_082FFE40, + gUnknown_082FFE44, + gUnknown_082FFE48, + gUnknown_082FFE4C, + gUnknown_082FFE50, + gUnknown_082FFE54, + gUnknown_082FFE58, + gUnknown_082FFE5C, + gUnknown_082FFE60, + gUnknown_082FFE64, + gUnknown_082FFE68, + gUnknown_082FFE6C, + gUnknown_082FFE70, + gUnknown_082FFE74, + gUnknown_082FFE78, + gUnknown_082FFE7C, + gUnknown_082FFE80, + gUnknown_082FFE84, + gUnknown_082FFE88, + gUnknown_082FFE8C, + gUnknown_082FFE90, + gUnknown_082FFE94, + gUnknown_082FFE98, + gUnknown_082FFE9C, + gUnknown_082FFEA0, + gUnknown_082FFEA4, + gUnknown_082FFEA8, + gUnknown_082FFEAC, + gUnknown_082FFEB0, + gUnknown_082FFEB4, + gUnknown_082FFEB8, + gUnknown_082FFEBC, + gUnknown_082FFEC0, + gUnknown_082FFEC4, + gUnknown_082FFEC8, + gUnknown_082FFECC, + gUnknown_082FFED0, + gUnknown_082FFED4, + gUnknown_082FFED8, + gUnknown_082FFEDC, + gUnknown_082FFEE0, + gUnknown_082FFEE4, + gUnknown_082FFEE8, + gUnknown_082FFEEC, + gUnknown_082FFEF0, + gUnknown_082FFEF4, + gUnknown_082FFEF8, + gUnknown_082FFEFC, + gUnknown_082FFF00, + gUnknown_082FFF04, + gUnknown_082FFF08, + gUnknown_082FFF0C, + gUnknown_082FFF10, + gUnknown_082FFF14, + gUnknown_082FFF18, + gUnknown_082FFF1C, + gUnknown_082FFF20, + gUnknown_082FFF24, + gUnknown_082FFF28, + gUnknown_082FFF2C, + gUnknown_082FFF30, + gUnknown_082FFF34, + gUnknown_082FFF38, + gUnknown_082FFF3C, + gUnknown_082FFF40, + gUnknown_082FFF44, + gUnknown_082FFF48, + gUnknown_082FFF4C, + gUnknown_082FFF50, + gUnknown_082FFF54, + gUnknown_082FFF58, + gUnknown_082FFF5C, + gUnknown_082FFF60, + gUnknown_082FFF64, + gUnknown_082FFF68, + gUnknown_082FFF6C, + gUnknown_082FFF70, + gUnknown_082FFF74, + gUnknown_082FFF78, + gUnknown_082FFF7C, + gUnknown_082FFF80, + gUnknown_082FFF84, + gUnknown_082FFF88, + gUnknown_082FFF8C, + gUnknown_082FFF90, + gUnknown_082FFF94, + gUnknown_082FFF98, + gUnknown_082FFF9C, + gUnknown_082FFFA0, + gUnknown_082FFFA4, + gUnknown_082FFFA8, + gUnknown_082FFFAC, + gUnknown_082FFFB0, + gUnknown_082FFFB4, + gUnknown_082FFFB8, + gUnknown_082FFFBC, + gUnknown_082FFFC0, + gUnknown_082FFFC4, + gUnknown_082FFFC8, + gUnknown_082FFFCC, + gUnknown_082FFFD0, + gUnknown_082FFFD4, + gUnknown_082FFFD8, + gUnknown_082FFFDC, + gUnknown_082FFFE0, + gUnknown_082FFFE4, + gUnknown_082FFFE8, + gUnknown_082FFFEC, + gUnknown_082FFFF0, + gUnknown_082FFFF4, + gUnknown_082FFFF8, + gUnknown_082FFFFC, + gUnknown_08300000, + gUnknown_08300004, + gUnknown_08300008, + gUnknown_0830000C, + gUnknown_08300010, + gUnknown_08300014, + gUnknown_08300018, + gUnknown_0830001C, + gUnknown_08300020, + gUnknown_08300024, + gUnknown_08300028, + gUnknown_0830002C, + gUnknown_08300030, + gUnknown_08300034, + gUnknown_08300038, + gUnknown_0830003C, + gUnknown_08300040, + gUnknown_08300044, + gUnknown_08300048, + gUnknown_0830004C, + gUnknown_08300050, + gUnknown_08300054, + gUnknown_08300058, + gUnknown_0830005C, + gUnknown_08300060, + gUnknown_08300064, + gUnknown_08300068, + gUnknown_0830006C, + gUnknown_08300070, + gUnknown_08300074, + gUnknown_08300078, + gUnknown_0830007C, + gUnknown_08300080, + gUnknown_08300084, + gUnknown_08300088, + gUnknown_0830008C, + gUnknown_08300090, + gUnknown_08300094, + gUnknown_08300098, + gUnknown_0830009C, + gUnknown_083000A0, + gUnknown_083000A4, + gUnknown_083000A8, + gUnknown_083000AC, + gUnknown_083000B0, + gUnknown_083000B4, + gUnknown_083000B8, + gUnknown_083000BC, + gUnknown_083000C0, + gUnknown_083000C4, + gUnknown_083000C8, + gUnknown_083000CC, + gUnknown_083000D0, + gUnknown_083000D4, + gUnknown_083000D8, + gUnknown_083000DC, + gUnknown_083000E0, + gUnknown_083000E4, + gUnknown_083000E8, + gUnknown_083000EC, + gUnknown_083000F0, + gUnknown_083000F4, + gUnknown_083000F8, + gUnknown_083000FC, + gUnknown_08300100, + gUnknown_08300104, + gUnknown_08300108, + gUnknown_0830010C, + gUnknown_08300110, + gUnknown_08300114, + gUnknown_08300118, + gUnknown_0830011C, + gUnknown_08300120, + gUnknown_08300124, + gUnknown_08300128, + gUnknown_0830012C, + gUnknown_08300130, + gUnknown_08300134, + gUnknown_08300138, + gUnknown_0830013C, + gUnknown_08300140, + gUnknown_08300144, + gUnknown_08300148, + gUnknown_0830014C, + gUnknown_08300150, + gUnknown_08300154, + gUnknown_08300158, + gUnknown_0830015C, + gUnknown_08300160, + gUnknown_08300164, + gUnknown_08300168, + gUnknown_0830016C, + gUnknown_08300170, + gUnknown_08300174, + gUnknown_08300178, + gUnknown_0830017C, + gUnknown_08300180, + gUnknown_08300184, + gUnknown_08300188, + gUnknown_0830018C, + gUnknown_08300190, + gUnknown_08300194, + gUnknown_08300198, + gUnknown_0830019C, + gUnknown_083001A0, + gUnknown_083001A4, + gUnknown_083001A8, + gUnknown_083001AC, + gUnknown_083001B0, + gUnknown_083001B4, + gUnknown_083001B8, + gUnknown_083001BC, + gUnknown_083001BC, + gUnknown_083001BC, + gUnknown_083001BC, + gUnknown_083001BC, + gUnknown_083001BC, + gUnknown_083001BC, + gUnknown_083001BC, + gUnknown_083001BC, + gUnknown_083001BC, + gUnknown_083001BC, + gUnknown_083001BC, + gUnknown_083001BC, + gUnknown_083001BC, + gUnknown_083001BC, + gUnknown_083001BC, + gUnknown_083001BC, + gUnknown_083001BC, + gUnknown_083001BC, + gUnknown_083001BC, + gUnknown_083001BC, + gUnknown_083001BC, + gUnknown_083001BC, + gUnknown_083001BC, + gUnknown_083001BC, + gUnknown_083001C0, + gUnknown_083001C4, + gUnknown_083001C8, + gUnknown_083001CC, + gUnknown_083001D0, + gUnknown_083001D4, + gUnknown_083001E8, + gUnknown_083001EC, + gUnknown_083001FC, + gUnknown_08300200, + gUnknown_0830020C, + gUnknown_08300214, + gUnknown_0830021C, + gUnknown_08300224, + gUnknown_08300230, + gUnknown_0830023C, + gUnknown_08300248, + gUnknown_08300254, + gUnknown_08300260, + gUnknown_08300264, + gUnknown_0830026C, + gUnknown_08300278, + gUnknown_08300280, + gUnknown_08300288, + gUnknown_08300294, + gUnknown_08300298, + gUnknown_0830029C, + gUnknown_083002A0, + gUnknown_083002A8, + gUnknown_083002B0, + gUnknown_083002B8, + gUnknown_083002C0, + gUnknown_083002C4, + gUnknown_083002CC, + gUnknown_083002D8, + gUnknown_083002E4, + gUnknown_083002F0, + gUnknown_08300304, + gUnknown_08300308, + gUnknown_08300310, + gUnknown_08300318, + gUnknown_0830032C, + gUnknown_08300334, + gUnknown_0830033C, + gUnknown_08300344, + gUnknown_08300348, + gUnknown_08300354, + gUnknown_08300358, + gUnknown_0830035C, + gUnknown_08300368, + gUnknown_0830036C, + gUnknown_08300370, + gUnknown_0830037C, + gUnknown_08300388, + gUnknown_08300394, + gUnknown_083003A0, + gUnknown_083003A8, + gUnknown_083003B0, + gUnknown_083003B8, + gUnknown_083003C0, + gUnknown_083003C8, + gUnknown_083003D4, + gUnknown_083003DC, + gUnknown_083003E8, + gUnknown_083003F0, + gUnknown_083003F8, + gUnknown_08300400, + gUnknown_0830040C, + gUnknown_08300410, + gUnknown_08300414, + gUnknown_08300418, + gUnknown_0830041C, + gUnknown_08300420, + gUnknown_08300424, + gUnknown_08300438, + gUnknown_08300444, + gUnknown_0830044C, + gUnknown_08300454, + gUnknown_0830045C, + gUnknown_08300464, + gUnknown_0830046C, + gUnknown_08300474, + gUnknown_08300480, + gUnknown_08300488, + gUnknown_08300494, + gUnknown_083004A0, + gUnknown_083004AC, + gUnknown_083004B0, + gUnknown_083004B8, + gUnknown_083004C0, + gUnknown_083004C8, + gUnknown_083004D0, + gUnknown_083004D8, + gUnknown_083004E0, + gUnknown_083004E4, + gUnknown_083004E8, + gUnknown_083004EC, + gUnknown_083004F4, + gUnknown_083004F8, + gUnknown_083004FC, + gUnknown_08300504, + gUnknown_08300510, + gUnknown_08300518, + gUnknown_0830051C, + gUnknown_08300520, + gUnknown_08300524, + gUnknown_0830052C, + gUnknown_08300534, + gUnknown_0830053C, + gUnknown_08300550, + gUnknown_08300558, + gUnknown_08300560, + gUnknown_08300564, + gUnknown_08300568, + gUnknown_0830056C, + gUnknown_08300570, + gUnknown_08300574, + gUnknown_08300578, + gUnknown_0830057C, + gUnknown_08300588, + gUnknown_0830058C, + gUnknown_08300598, + gUnknown_0830059C, + gUnknown_083005A0, + gUnknown_083005A4, + gUnknown_083005AC, + gUnknown_083005B4, + gUnknown_083005C0, + gUnknown_083005C4, + gUnknown_083005C8, + gUnknown_083005D4, + gUnknown_083005D8, + gUnknown_083005DC, + gUnknown_083005E4, + gUnknown_083005E8, + gUnknown_083005EC, + gUnknown_083005EC, + gUnknown_083005F0, + gUnknown_083005F4, + gUnknown_083005F8, + gUnknown_083005FC, + gUnknown_08300600, + gUnknown_08300604, + gUnknown_08300608, + gUnknown_0830060C, + gUnknown_08300610, + gUnknown_08300614, + gUnknown_08300618, + gUnknown_0830061C, + gUnknown_08300620, + gUnknown_08300624, + gUnknown_08300628, + gUnknown_0830062C, + gUnknown_08300630, + gUnknown_08300634, + gUnknown_08300638, + gUnknown_0830063C, + gUnknown_08300640, + gUnknown_08300644, + gUnknown_08300648, + gUnknown_0830064C, + gUnknown_08300650, + gUnknown_08300654, +}; diff --git a/src/data/trainer_graphics/back_pic_tables.h b/src/data/trainer_graphics/back_pic_tables.h index ba7f73ebb6..3e74902d8e 100644 --- a/src/data/trainer_graphics/back_pic_tables.h +++ b/src/data/trainer_graphics/back_pic_tables.h @@ -1,13 +1,13 @@ -const u8 gTrainerBackPicCoords[] = +const struct MonCoords gTrainerBackPicCoords[] = { - 8, 4, 0, 0, - 8, 4, 0, 0, - 8, 5, 0, 0, - 8, 5, 0, 0, - 8, 4, 0, 0, - 8, 4, 0, 0, - 8, 4, 0, 0, - 8, 4, 0, 0, + {8, 4}, + {8, 4}, + {8, 5}, + {8, 5}, + {8, 4}, + {8, 4}, + {8, 4}, + {8, 4}, }; const struct CompressedSpriteSheet gTrainerBackPicTable[] = diff --git a/src/data/trainer_graphics/front_pic_tables.h b/src/data/trainer_graphics/front_pic_tables.h index 7c1e10683b..db80c9d4f8 100644 --- a/src/data/trainer_graphics/front_pic_tables.h +++ b/src/data/trainer_graphics/front_pic_tables.h @@ -1,98 +1,98 @@ -const u8 gTrainerFrontPicCoords[] = +const struct MonCoords gTrainerFrontPicCoords[] = { - 8, 1, 0, 0, - 8, 1, 0, 0, - 8, 1, 0, 0, - 8, 1, 0, 0, - 8, 1, 0, 0, - 8, 1, 0, 0, - 8, 1, 0, 0, - 8, 1, 0, 0, - 8, 1, 0, 0, - 8, 1, 0, 0, - 8, 1, 0, 0, - 8, 1, 0, 0, - 8, 1, 0, 0, - 8, 1, 0, 0, - 8, 1, 0, 0, - 8, 1, 0, 0, - 8, 1, 0, 0, - 8, 1, 0, 0, - 8, 1, 0, 0, - 8, 1, 0, 0, - 8, 1, 0, 0, - 8, 1, 0, 0, - 8, 1, 0, 0, - 8, 1, 0, 0, - 8, 1, 0, 0, - 8, 1, 0, 0, - 8, 1, 0, 0, - 8, 1, 0, 0, - 8, 1, 0, 0, - 8, 1, 0, 0, - 8, 1, 0, 0, - 8, 1, 0, 0, - 8, 1, 0, 0, - 8, 1, 0, 0, - 8, 1, 0, 0, - 8, 1, 0, 0, - 8, 1, 0, 0, - 8, 1, 0, 0, - 8, 1, 0, 0, - 8, 1, 0, 0, - 8, 1, 0, 0, - 8, 1, 0, 0, - 8, 1, 0, 0, - 8, 1, 0, 0, - 8, 1, 0, 0, - 8, 1, 0, 0, - 8, 1, 0, 0, - 8, 1, 0, 0, - 8, 1, 0, 0, - 8, 1, 0, 0, - 8, 2, 0, 0, - 8, 2, 0, 0, - 8, 1, 0, 0, - 8, 1, 0, 0, - 8, 2, 0, 0, - 8, 1, 0, 0, - 8, 2, 0, 0, - 8, 1, 0, 0, - 8, 1, 0, 0, - 8, 1, 0, 0, - 8, 1, 0, 0, - 8, 1, 0, 0, - 8, 1, 0, 0, - 8, 1, 0, 0, - 8, 2, 0, 0, - 8, 1, 0, 0, - 8, 1, 0, 0, - 8, 1, 0, 0, - 8, 1, 0, 0, - 8, 1, 0, 0, - 8, 1, 0, 0, - 8, 1, 0, 0, - 8, 1, 0, 0, - 8, 1, 0, 0, - 8, 1, 0, 0, - 8, 1, 0, 0, - 8, 1, 0, 0, - 8, 1, 0, 0, - 8, 1, 0, 0, - 8, 1, 0, 0, - 8, 1, 0, 0, - 8, 1, 0, 0, - 8, 1, 0, 0, - 8, 1, 0, 0, - 8, 1, 0, 0, - 8, 2, 0, 0, - 8, 1, 0, 0, - 8, 1, 0, 0, - 8, 1, 0, 0, - 8, 1, 0, 0, - 8, 1, 0, 0, - 8, 1, 0, 0, - 8, 1, 0, 0, + {8, 1}, + {8, 1}, + {8, 1}, + {8, 1}, + {8, 1}, + {8, 1}, + {8, 1}, + {8, 1}, + {8, 1}, + {8, 1}, + {8, 1}, + {8, 1}, + {8, 1}, + {8, 1}, + {8, 1}, + {8, 1}, + {8, 1}, + {8, 1}, + {8, 1}, + {8, 1}, + {8, 1}, + {8, 1}, + {8, 1}, + {8, 1}, + {8, 1}, + {8, 1}, + {8, 1}, + {8, 1}, + {8, 1}, + {8, 1}, + {8, 1}, + {8, 1}, + {8, 1}, + {8, 1}, + {8, 1}, + {8, 1}, + {8, 1}, + {8, 1}, + {8, 1}, + {8, 1}, + {8, 1}, + {8, 1}, + {8, 1}, + {8, 1}, + {8, 1}, + {8, 1}, + {8, 1}, + {8, 1}, + {8, 1}, + {8, 1}, + {8, 2}, + {8, 2}, + {8, 1}, + {8, 1}, + {8, 2}, + {8, 1}, + {8, 2}, + {8, 1}, + {8, 1}, + {8, 1}, + {8, 1}, + {8, 1}, + {8, 1}, + {8, 1}, + {8, 2}, + {8, 1}, + {8, 1}, + {8, 1}, + {8, 1}, + {8, 1}, + {8, 1}, + {8, 1}, + {8, 1}, + {8, 1}, + {8, 1}, + {8, 1}, + {8, 1}, + {8, 1}, + {8, 1}, + {8, 1}, + {8, 1}, + {8, 1}, + {8, 1}, + {8, 1}, + {8, 1}, + {8, 2}, + {8, 1}, + {8, 1}, + {8, 1}, + {8, 1}, + {8, 1}, + {8, 1}, + {8, 1}, }; const struct CompressedSpriteSheet gTrainerFrontPicTable[] = diff --git a/src/data2b.c b/src/data2b.c index e7ca473a99..46a158e09b 100644 --- a/src/data2b.c +++ b/src/data2b.c @@ -1,9 +1,15 @@ #include "global.h" +#include "data2.h" #include "graphics.h" extern const union AnimCmd gAnimCmd_General_Frame0[]; extern const union AnimCmd AnimCmd_82FF540[]; +#include "data/pokemon_graphics/unknown_anims.h" +#include "data/pokemon_graphics/front_pic_coordinates.h" +#include "data/pokemon_graphics/still_front_pic_table.h" +#include "data/pokemon_graphics/back_pic_coordinates.h" + #include "data/pokemon_graphics/back_pic_table.h" #include "data/pokemon_graphics/palette_table.h" #include "data/pokemon_graphics/shiny_palette_table.h" From 3dea8fa2658cb1055fb835983e8a738cf543e232 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Wed, 29 Aug 2018 20:38:54 +0200 Subject: [PATCH 141/234] battle tent review changes --- asm/battle_tent.s | 188 ------------------------------------ include/gba/io_reg.h | 2 + src/battle_dome.c | 47 ++++----- src/battle_tent.c | 225 +++++++++++++++++++++++++++++++++++++++---- 4 files changed, 233 insertions(+), 229 deletions(-) diff --git a/asm/battle_tent.s b/asm/battle_tent.s index ba4a31530f..8de98850f6 100644 --- a/asm/battle_tent.s +++ b/asm/battle_tent.s @@ -6,194 +6,6 @@ .text - thumb_func_start sub_81B9EC0 -sub_81B9EC0: @ 81B9EC0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x3C - ldr r1, =gFacilityTrainers - ldr r0, =gSlateportBattleTentTrainers - str r0, [r1] - add r0, sp, 0xC - mov r9, r0 - mov r1, sp - adds r1, 0x18 - str r1, [sp, 0x2C] - ldr r5, =gFacilityTrainerMons - ldr r4, =gSlateportBattleTentMons - movs r2, 0 - adds r3, r1, 0 - mov r1, r9 - mov r0, sp - movs r6, 0x5 - mov r8, r6 -_081B9EEC: - strh r2, [r0] - strh r2, [r1] - strh r2, [r3] - adds r3, 0x2 - adds r1, 0x2 - adds r0, 0x2 - movs r7, 0x1 - negs r7, r7 - add r8, r7 - mov r6, r8 - cmp r6, 0 - bge _081B9EEC - str r4, [r5] - movs r7, 0 - mov r10, r7 - movs r0, 0 - mov r8, r0 - ldr r1, [sp, 0x2C] - str r1, [sp, 0x30] - mov r2, sp - str r2, [sp, 0x34] - lsls r6, r0, 1 - str r6, [sp, 0x24] - add r6, r9 - str r6, [sp, 0x28] -_081B9F1E: - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x46 - bl __umodsi3 - lsls r0, 16 - lsrs r5, r0, 16 - movs r2, 0 - mov r7, r8 - adds r6, r2, r7 - cmp r2, r6 - bge _081B9F7C - ldr r1, [sp, 0x28] - ldrh r0, [r1] - cmp r0, r5 - beq _081B9F7C - ldr r0, =gFacilityTrainerMons - ldr r1, [r0] - lsls r0, r5, 4 - adds r4, r0, r1 - ldrh r7, [r4] - mov r12, r7 - lsls r3, r2, 1 - ldr r1, [sp, 0x24] - add r1, sp - str r6, [sp, 0x38] -_081B9F56: - ldrh r0, [r1] - cmp r0, r12 - bne _081B9F66 - mov r0, r10 - cmp r0, 0 - bne _081B9F7C - ldrh r7, [r4] - mov r10, r7 -_081B9F66: - adds r3, 0x2 - adds r1, 0x2 - adds r2, 0x1 - ldr r0, [sp, 0x38] - cmp r2, r0 - bge _081B9F7C - mov r7, r9 - adds r0, r7, r3 - ldrh r0, [r0] - cmp r0, r5 - bne _081B9F56 -_081B9F7C: - cmp r2, r6 - bne _081BA01C - movs r2, 0 - cmp r2, r6 - bge _081B9FD4 - ldr r0, =gBattleFrontierHeldItems - mov r12, r0 - ldr r7, =gFacilityTrainerMons - ldr r1, [sp, 0x24] - ldr r0, [sp, 0x2C] - adds r4, r1, r0 -_081B9F92: - ldrh r3, [r4] - cmp r3, 0 - beq _081B9FCC - ldr r1, [r7] - lsls r0, r5, 4 - adds r1, r0, r1 - ldrb r0, [r1, 0xA] - lsls r0, 1 - add r0, r12 - ldrh r0, [r0] - cmp r3, r0 - bne _081B9FCC - ldrh r0, [r1] - cmp r0, r10 - bne _081B9FD4 - movs r1, 0 - mov r10, r1 - b _081B9FD4 - .pool -_081B9FCC: - adds r4, 0x2 - adds r2, 0x1 - cmp r2, r6 - blt _081B9F92 -_081B9FD4: - cmp r2, r6 - bne _081BA01C - ldr r0, =gSaveBlock2Ptr - ldr r1, [r0] - mov r2, r8 - lsls r3, r2, 1 - adds r0, r3, r2 - lsls r0, 2 - adds r1, r0 - movs r6, 0xE7 - lsls r6, 4 - adds r1, r6 - strh r5, [r1] - ldr r0, =gFacilityTrainerMons - ldr r0, [r0] - lsls r1, r5, 4 - adds r1, r0 - ldrh r0, [r1] - ldr r7, [sp, 0x34] - strh r0, [r7] - ldr r2, =gBattleFrontierHeldItems - ldrb r0, [r1, 0xA] - lsls r0, 1 - adds r0, r2 - ldrh r0, [r0] - ldr r1, [sp, 0x30] - strh r0, [r1] - add r3, r9 - strh r5, [r3] - adds r1, 0x2 - str r1, [sp, 0x30] - adds r2, r7, 0 - adds r2, 0x2 - str r2, [sp, 0x34] - movs r6, 0x1 - add r8, r6 -_081BA01C: - mov r7, r8 - cmp r7, 0x6 - beq _081BA024 - b _081B9F1E -_081BA024: - add sp, 0x3C - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B9EC0 thumb_func_start sub_81BA040 sub_81BA040: @ 81BA040 diff --git a/include/gba/io_reg.h b/include/gba/io_reg.h index 01d8c311eb..9327d6cb0e 100644 --- a/include/gba/io_reg.h +++ b/include/gba/io_reg.h @@ -550,12 +550,14 @@ #define WININ_WIN0_BG1 (1 << 1) #define WININ_WIN0_BG2 (1 << 2) #define WININ_WIN0_BG3 (1 << 3) +#define WININ_WIN0_BG_ALL (WININ_WIN0_BG0 | WININ_WIN0_BG1 | WININ_WIN0_BG2 | WININ_WIN0_BG3) #define WININ_WIN0_OBJ (1 << 4) #define WININ_WIN0_CLR (1 << 5) #define WININ_WIN1_BG0 (1 << 8) #define WININ_WIN1_BG1 (1 << 9) #define WININ_WIN1_BG2 (1 << 10) #define WININ_WIN1_BG3 (1 << 11) +#define WININ_WIN1_BG_ALL (WININ_WIN1_BG0 | WININ_WIN1_BG1 | WININ_WIN1_BG2 | WININ_WIN1_BG3) #define WININ_WIN1_OBJ (1 << 12) #define WININ_WIN1_CLR (1 << 13) diff --git a/src/battle_dome.c b/src/battle_dome.c index 4505ce8b02..0183811cd4 100644 --- a/src/battle_dome.c +++ b/src/battle_dome.c @@ -31,6 +31,7 @@ #include "constants/abilities.h" #include "constants/songs.h" #include "constants/battle_frontier.h" +#include "constants/rgb.h" #define DOME_ROUND1 0 #define DOME_ROUND2 1 @@ -2784,7 +2785,7 @@ static void CalcDomeMonStats(u16 species, s32 level, s32 ivs, u8 evBits, u8 natu count++; } - resultingEvs = 510 / count; + resultingEvs = MAX_TOTAL_EVS / count; for (i = 0; i < 6; bits <<= 1, i++) { evs[i] = 0; @@ -3933,7 +3934,7 @@ static void sub_8190CD4(u8 taskId) case 0: if (!gPaletteFade.active) { - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, RGB_BLACK); gTasks[taskId].data[0] = 1; } break; @@ -3946,7 +3947,7 @@ static void sub_8190CD4(u8 taskId) switch (i) { case 9: - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK); gTasks[taskId].data[0] = 8; break; case 1 ... 8: @@ -4986,7 +4987,7 @@ static void DisplayTrainerInfoOnCard(u8 flags, u8 trainerTournamentId) k++; evBits >>= 1; } - k = 510 / k; + k = MAX_TOTAL_EVS / k; evBits = gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonId[trainerTournamentId][i]].evSpread; for (j = 0; j < 6; j++) { @@ -5412,7 +5413,7 @@ static void sub_819395C(u8 taskId) case 0: if (!gPaletteFade.active) { - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, RGB_BLACK); gTasks[taskId].data[0] = 1; StartSpriteAnim(&gSprites[spriteId], 1); } @@ -5426,17 +5427,17 @@ static void sub_819395C(u8 taskId) { case 0: default: - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK); gTasks[taskId].data[0] = 7; break; case 1: break; case 2: - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK); gTasks[taskId].data[0] = 3; break; case 3: - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK); gTasks[taskId].data[0] = 5; break; } @@ -5930,7 +5931,7 @@ static void sub_8194950(u8 taskId) switch (gTasks[taskId].data[0]) { case 0: - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, RGB_BLACK); gTasks[taskId].data[0] = 1; break; case 1: @@ -5978,7 +5979,7 @@ static void sub_8194950(u8 taskId) case 3: if (gMain.newKeys & (A_BUTTON | B_BUTTON)) { - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK); gTasks[taskId].data[0] = 4; } break; @@ -6029,44 +6030,44 @@ static void HblankCb_BattleDome(void) { if (vCount < 50) { - REG_WININ = 0x3B3B; - SET_WIN0H_WIN1H(0x989B, 0x5558); + REG_WININ = WININ_WIN0_BG0 | WININ_WIN0_BG1 | WININ_WIN0_BG3 | WININ_WIN0_OBJ | WININ_WIN0_CLR | WININ_WIN1_BG0 | WININ_WIN1_BG1 | WININ_WIN1_BG3 | WININ_WIN1_OBJ | WININ_WIN1_CLR; + SET_WIN0H_WIN1H(WINHV_COORDS(152, 155), WINHV_COORDS(85, 88)); return; } else if (vCount > 57) { if (vCount < 75) { - REG_WININ = 0x3B3B; - SET_WIN0H_WIN1H(0x9098, 0x5860); + REG_WININ = WININ_WIN0_BG0 | WININ_WIN0_BG1 | WININ_WIN0_BG3 | WININ_WIN0_OBJ | WININ_WIN0_CLR | WININ_WIN1_BG0 | WININ_WIN1_BG1 | WININ_WIN1_BG3 | WININ_WIN1_OBJ | WININ_WIN1_CLR; + SET_WIN0H_WIN1H(WINHV_COORDS(144, 152), WINHV_COORDS(88, 96)); return; } else if (vCount < 82) { - REG_WININ = 0x3B3B; - SET_WIN0H_WIN1H(0x989B, 0x5558); + REG_WININ = WININ_WIN0_BG0 | WININ_WIN0_BG1 | WININ_WIN0_BG3 | WININ_WIN0_OBJ | WININ_WIN0_CLR | WININ_WIN1_BG0 | WININ_WIN1_BG1 | WININ_WIN1_BG3 | WININ_WIN1_OBJ | WININ_WIN1_CLR; + SET_WIN0H_WIN1H(WINHV_COORDS(152, 155), WINHV_COORDS(85, 88)); return; } else if (vCount > 94) { if (vCount < 103) { - REG_WININ = 0x3737; - SET_WIN0H_WIN1H(0x989B, 0x5558); + REG_WININ = WININ_WIN0_BG0 | WININ_WIN0_BG1 | WININ_WIN0_BG2 | WININ_WIN0_OBJ | WININ_WIN0_CLR | WININ_WIN1_BG0 | WININ_WIN1_BG1 | WININ_WIN1_BG2 | WININ_WIN1_OBJ | WININ_WIN1_CLR; + SET_WIN0H_WIN1H(WINHV_COORDS(152, 155), WINHV_COORDS(85, 88)); return; } else if (vCount < 119) { - REG_WININ = 0x3737; - SET_WIN0H_WIN1H(0x9098, 0x5860); + REG_WININ = WININ_WIN0_BG0 | WININ_WIN0_BG1 | WININ_WIN0_BG2 | WININ_WIN0_OBJ | WININ_WIN0_CLR | WININ_WIN1_BG0 | WININ_WIN1_BG1 | WININ_WIN1_BG2 | WININ_WIN1_OBJ | WININ_WIN1_CLR; + SET_WIN0H_WIN1H(WINHV_COORDS(144, 152), WINHV_COORDS(88, 96)); return; } else if (vCount > 126) { if (vCount_ < 135) { - REG_WININ = 0x3737; - SET_WIN0H_WIN1H(0x989B, 0x5558); + REG_WININ = WININ_WIN0_BG0 | WININ_WIN0_BG1 | WININ_WIN0_BG2 | WININ_WIN0_OBJ | WININ_WIN0_CLR | WININ_WIN1_BG0 | WININ_WIN1_BG1 | WININ_WIN1_BG2 | WININ_WIN1_OBJ | WININ_WIN1_CLR; + SET_WIN0H_WIN1H(WINHV_COORDS(152, 155), WINHV_COORDS(85, 88)); return; } } @@ -6074,7 +6075,7 @@ static void HblankCb_BattleDome(void) } } - REG_WININ = 0x3F3F; + REG_WININ = WININ_WIN0_BG_ALL | WININ_WIN0_CLR | WININ_WIN0_OBJ | WININ_WIN1_BG_ALL | WININ_WIN1_CLR | WININ_WIN1_OBJ; SET_WIN0H_WIN1H(0, 0); } diff --git a/src/battle_tent.c b/src/battle_tent.c index f39bf88379..516f3fc4d7 100644 --- a/src/battle_tent.c +++ b/src/battle_tent.c @@ -272,15 +272,15 @@ bool8 sub_81B9E94(void) } // This function was written very...oddly. -/* +#ifdef NONMATCHING void sub_81B9EC0(void) { s32 i, j; - u16 currMonId, currSpecies; + u16 currMonId = 0, currSpecies = 0; u16 species[PARTY_SIZE]; u16 monIds[PARTY_SIZE]; u16 heldItems[PARTY_SIZE]; - s32 var; + s32 zero = 0; gFacilityTrainers = gSlateportBattleTentTrainers; for (i = 0; i < PARTY_SIZE; i++) @@ -290,17 +290,15 @@ void sub_81B9EC0(void) heldItems[i] = 0; } gFacilityTrainerMons = gSlateportBattleTentMons; - currSpecies = 0; - i = 0; - while (i != PARTY_SIZE) + for (i = 0; i != PARTY_SIZE;) { // Cannot have two pokemon of the same species. currMonId = Random() % 70; - j = 0; - var = 0 + i; - while (j < var && monIds[j] != currMonId) + for (j = zero; j < i + zero; j++) { + if (monIds[j] == currMonId) + break; if (species[j] == gFacilityTrainerMons[currMonId].species) { if (currSpecies == 0) @@ -308,13 +306,12 @@ void sub_81B9EC0(void) else break; } - j++; } - if (j != var) + if (j != i + zero) continue; // Cannot have two same held items. - for (j = 0; j < var; j++) + for (j = zero; j < i + zero; j++) { if (heldItems[j] == 0) continue; @@ -326,14 +323,206 @@ void sub_81B9EC0(void) break; } } - if (j != var) + if (j != i + zero) continue; - gSaveBlock2Ptr->frontier.field_E70[var].monId = currMonId; - species[var] = gFacilityTrainerMons[currMonId].species; - heldItems[var] = gBattleFrontierHeldItems[gFacilityTrainerMons[currMonId].itemTableId]; - monIds[var] = currMonId; + gSaveBlock2Ptr->frontier.field_E70[i].monId = currMonId; + species[i] = gFacilityTrainerMons[currMonId].species; + heldItems[i] = gBattleFrontierHeldItems[gFacilityTrainerMons[currMonId].itemTableId]; + monIds[i] = currMonId; i++; } } -*/ +#else +NAKED +void sub_81B9EC0(void) +{ + asm_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, 0x3C\n\ + ldr r1, =gFacilityTrainers\n\ + ldr r0, =gSlateportBattleTentTrainers\n\ + str r0, [r1]\n\ + add r0, sp, 0xC\n\ + mov r9, r0\n\ + mov r1, sp\n\ + adds r1, 0x18\n\ + str r1, [sp, 0x2C]\n\ + ldr r5, =gFacilityTrainerMons\n\ + ldr r4, =gSlateportBattleTentMons\n\ + movs r2, 0\n\ + adds r3, r1, 0\n\ + mov r1, r9\n\ + mov r0, sp\n\ + movs r6, 0x5\n\ + mov r8, r6\n\ +_081B9EEC:\n\ + strh r2, [r0]\n\ + strh r2, [r1]\n\ + strh r2, [r3]\n\ + adds r3, 0x2\n\ + adds r1, 0x2\n\ + adds r0, 0x2\n\ + movs r7, 0x1\n\ + negs r7, r7\n\ + add r8, r7\n\ + mov r6, r8\n\ + cmp r6, 0\n\ + bge _081B9EEC\n\ + str r4, [r5]\n\ + movs r7, 0\n\ + mov r10, r7\n\ + movs r0, 0\n\ + mov r8, r0\n\ + ldr r1, [sp, 0x2C]\n\ + str r1, [sp, 0x30]\n\ + mov r2, sp\n\ + str r2, [sp, 0x34]\n\ + lsls r6, r0, 1\n\ + str r6, [sp, 0x24]\n\ + add r6, r9\n\ + str r6, [sp, 0x28]\n\ +_081B9F1E:\n\ + bl Random\n\ + lsls r0, 16\n\ + lsrs r0, 16\n\ + movs r1, 0x46\n\ + bl __umodsi3\n\ + lsls r0, 16\n\ + lsrs r5, r0, 16\n\ + movs r2, 0\n\ + mov r7, r8\n\ + adds r6, r2, r7\n\ + cmp r2, r6\n\ + bge _081B9F7C\n\ + ldr r1, [sp, 0x28]\n\ + ldrh r0, [r1]\n\ + cmp r0, r5\n\ + beq _081B9F7C\n\ + ldr r0, =gFacilityTrainerMons\n\ + ldr r1, [r0]\n\ + lsls r0, r5, 4\n\ + adds r4, r0, r1\n\ + ldrh r7, [r4]\n\ + mov r12, r7\n\ + lsls r3, r2, 1\n\ + ldr r1, [sp, 0x24]\n\ + add r1, sp\n\ + str r6, [sp, 0x38]\n\ +_081B9F56:\n\ + ldrh r0, [r1]\n\ + cmp r0, r12\n\ + bne _081B9F66\n\ + mov r0, r10\n\ + cmp r0, 0\n\ + bne _081B9F7C\n\ + ldrh r7, [r4]\n\ + mov r10, r7\n\ +_081B9F66:\n\ + adds r3, 0x2\n\ + adds r1, 0x2\n\ + adds r2, 0x1\n\ + ldr r0, [sp, 0x38]\n\ + cmp r2, r0\n\ + bge _081B9F7C\n\ + mov r7, r9\n\ + adds r0, r7, r3\n\ + ldrh r0, [r0]\n\ + cmp r0, r5\n\ + bne _081B9F56\n\ +_081B9F7C:\n\ + cmp r2, r6\n\ + bne _081BA01C\n\ + movs r2, 0\n\ + cmp r2, r6\n\ + bge _081B9FD4\n\ + ldr r0, =gBattleFrontierHeldItems\n\ + mov r12, r0\n\ + ldr r7, =gFacilityTrainerMons\n\ + ldr r1, [sp, 0x24]\n\ + ldr r0, [sp, 0x2C]\n\ + adds r4, r1, r0\n\ +_081B9F92:\n\ + ldrh r3, [r4]\n\ + cmp r3, 0\n\ + beq _081B9FCC\n\ + ldr r1, [r7]\n\ + lsls r0, r5, 4\n\ + adds r1, r0, r1\n\ + ldrb r0, [r1, 0xA]\n\ + lsls r0, 1\n\ + add r0, r12\n\ + ldrh r0, [r0]\n\ + cmp r3, r0\n\ + bne _081B9FCC\n\ + ldrh r0, [r1]\n\ + cmp r0, r10\n\ + bne _081B9FD4\n\ + movs r1, 0\n\ + mov r10, r1\n\ + b _081B9FD4\n\ + .pool\n\ +_081B9FCC:\n\ + adds r4, 0x2\n\ + adds r2, 0x1\n\ + cmp r2, r6\n\ + blt _081B9F92\n\ +_081B9FD4:\n\ + cmp r2, r6\n\ + bne _081BA01C\n\ + ldr r0, =gSaveBlock2Ptr\n\ + ldr r1, [r0]\n\ + mov r2, r8\n\ + lsls r3, r2, 1\n\ + adds r0, r3, r2\n\ + lsls r0, 2\n\ + adds r1, r0\n\ + movs r6, 0xE7\n\ + lsls r6, 4\n\ + adds r1, r6\n\ + strh r5, [r1]\n\ + ldr r0, =gFacilityTrainerMons\n\ + ldr r0, [r0]\n\ + lsls r1, r5, 4\n\ + adds r1, r0\n\ + ldrh r0, [r1]\n\ + ldr r7, [sp, 0x34]\n\ + strh r0, [r7]\n\ + ldr r2, =gBattleFrontierHeldItems\n\ + ldrb r0, [r1, 0xA]\n\ + lsls r0, 1\n\ + adds r0, r2\n\ + ldrh r0, [r0]\n\ + ldr r1, [sp, 0x30]\n\ + strh r0, [r1]\n\ + add r3, r9\n\ + strh r5, [r3]\n\ + adds r1, 0x2\n\ + str r1, [sp, 0x30]\n\ + adds r2, r7, 0\n\ + adds r2, 0x2\n\ + str r2, [sp, 0x34]\n\ + movs r6, 0x1\n\ + add r8, r6\n\ +_081BA01C:\n\ + mov r7, r8\n\ + cmp r7, 0x6\n\ + beq _081BA024\n\ + b _081B9F1E\n\ +_081BA024:\n\ + add sp, 0x3C\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\ + "); +} +#endif // NONMATCHING From 7737025f4e839b71477fca6690e95a9ed9325b8a Mon Sep 17 00:00:00 2001 From: Diegoisawesome Date: Wed, 29 Aug 2018 16:34:59 -0500 Subject: [PATCH 142/234] Use gbafix to generate header and checksum --- Makefile | 8 +++++++- asm/rom_header.inc | 39 ++++++++------------------------------- 2 files changed, 15 insertions(+), 32 deletions(-) diff --git a/Makefile b/Makefile index 9637d98a80..4e504aecbf 100644 --- a/Makefile +++ b/Makefile @@ -2,6 +2,11 @@ include $(DEVKITARM)/base_tools export CPP := $(PREFIX)cpp export LD := $(PREFIX)ld +TITLE := POKEMON EMER +GAME_CODE := BPEE +MAKER_CODE := 01 +REVISION := 0 + SHELL := /bin/bash -o pipefail ROM := pokeemerald.gba @@ -165,5 +170,6 @@ $(ELF): $(OBJ_DIR)/ld_script.ld $(OBJS) cd $(OBJ_DIR) && $(LD) $(LDFLAGS) -T ld_script.ld -o ../../$@ $(OBJS_REL) $(LIB) $(ROM): $(ELF) - $(OBJCOPY) -O binary --gap-fill 0xFF --pad-to 0x9000000 $< $@ + $(OBJCOPY) -O binary $< $@ + gbafix $@ -p -t"$(TITLE)" -c$(GAME_CODE) -m$(MAKER_CODE) -r$(REVISION) diff --git a/asm/rom_header.inc b/asm/rom_header.inc index 1cef6393c6..6730efae28 100644 --- a/asm/rom_header.inc +++ b/asm/rom_header.inc @@ -1,38 +1,19 @@ .global RomHeaderNintendoLogo RomHeaderNintendoLogo: - .byte 0x24,0xff,0xae,0x51,0x69,0x9a,0xa2,0x21 - .byte 0x3d,0x84,0x82,0x0a,0x84,0xe4,0x09,0xad - .byte 0x11,0x24,0x8b,0x98,0xc0,0x81,0x7f,0x21 - .byte 0xa3,0x52,0xbe,0x19,0x93,0x09,0xce,0x20 - .byte 0x10,0x46,0x4a,0x4a,0xf8,0x27,0x31,0xec - .byte 0x58,0xc7,0xe8,0x33,0x82,0xe3,0xce,0xbf - .byte 0x85,0xf4,0xdf,0x94,0xce,0x4b,0x09,0xc1 - .byte 0x94,0x56,0x8a,0xc0,0x13,0x72,0xa7,0xfc - .byte 0x9f,0x84,0x4d,0x73,0xa3,0xca,0x9a,0x61 - .byte 0x58,0x97,0xa3,0x27,0xfc,0x03,0x98,0x76 - .byte 0x23,0x1d,0xc7,0x61,0x03,0x04,0xae,0x56 - .byte 0xbf,0x38,0x84,0x00,0x40,0xa7,0x0e,0xfd - .byte 0xff,0x52,0xfe,0x03,0x6f,0x95,0x30,0xf1 - .byte 0x97,0xfb,0xc0,0x85,0x60,0xd6,0x80,0x25 - .byte 0xa9,0x63,0xbe,0x03,0x01,0x4e,0x38,0xe2 - .byte 0xf9,0xa2,0x34,0xff,0xbb,0x3e,0x03,0x44 - .byte 0x78,0x00,0x90,0xcb,0x88,0x11,0x3a,0x94 - .byte 0x65,0xc0,0x7c,0x63,0x87,0xf0,0x3c,0xaf - .byte 0xd6,0x25,0xe4,0x8b,0x38,0x0a,0xac,0x72 - .byte 0x21,0xd4,0xf8,0x07 + .space 156 RomHeaderGameTitle: - .ascii "POKEMON EMER" + .space 12 .global RomHeaderGameCode RomHeaderGameCode: - .ascii "BPEE" + .space 4 RomHeaderMakerCode: - .ascii "01" + .space 2 RomHeaderMagic: - .byte 0x96 + .byte 0 RomHeaderMainUnitCode: .byte 0 @@ -41,18 +22,14 @@ RomHeaderDeviceType: .byte 0 RomHeaderReserved1: - .rept 7 - .byte 0 - .endr + .space 7 .global RomHeaderSoftwareVersion RomHeaderSoftwareVersion: .byte 0 RomHeaderChecksum: - .byte 0x72 + .byte 0 RomHeaderReserved2: - .rept 2 - .byte 0 - .endr + .space 2 From 064216d3bed05719129d54079ce066ee94bee24e Mon Sep 17 00:00:00 2001 From: Diegoisawesome Date: Wed, 29 Aug 2018 23:08:57 -0500 Subject: [PATCH 143/234] Add gbafix from devkitPro/gba-tools --- Makefile | 3 +- build_tools.sh | 1 + tools/gbafix/.gitignore | 1 + tools/gbafix/COPYING | 674 ++++++++++++++++++++++++++++++++++++++++ tools/gbafix/Makefile | 10 + tools/gbafix/gbafix.c | 281 +++++++++++++++++ 6 files changed, 969 insertions(+), 1 deletion(-) create mode 100644 tools/gbafix/.gitignore create mode 100644 tools/gbafix/COPYING create mode 100644 tools/gbafix/Makefile create mode 100644 tools/gbafix/gbafix.c diff --git a/Makefile b/Makefile index 4e504aecbf..ce3a6ec18d 100644 --- a/Makefile +++ b/Makefile @@ -43,6 +43,7 @@ MID := $(abspath tools/mid2agb/mid2agb) SCANINC := tools/scaninc/scaninc PREPROC := tools/preproc/preproc RAMSCRGEN := tools/ramscrgen/ramscrgen +FIX := tools/gbafix/gbafix # Clear the default suffixes .SUFFIXES: @@ -171,5 +172,5 @@ $(ELF): $(OBJ_DIR)/ld_script.ld $(OBJS) $(ROM): $(ELF) $(OBJCOPY) -O binary $< $@ - gbafix $@ -p -t"$(TITLE)" -c$(GAME_CODE) -m$(MAKER_CODE) -r$(REVISION) + $(FIX) $@ -p -t"$(TITLE)" -c$(GAME_CODE) -m$(MAKER_CODE) -r$(REVISION) diff --git a/build_tools.sh b/build_tools.sh index 824ed025b8..ad8adf1320 100755 --- a/build_tools.sh +++ b/build_tools.sh @@ -6,3 +6,4 @@ make -C tools/bin2c CXX=${1:-g++} make -C tools/rsfont CXX=${1:-g++} make -C tools/aif2pcm CXX=${1:-g++} make -C tools/ramscrgen CXX=${1:-g++} +make -C tools/gbafix CXX=${1:-g++} diff --git a/tools/gbafix/.gitignore b/tools/gbafix/.gitignore new file mode 100644 index 0000000000..23abdd29c6 --- /dev/null +++ b/tools/gbafix/.gitignore @@ -0,0 +1 @@ +gbafix diff --git a/tools/gbafix/COPYING b/tools/gbafix/COPYING new file mode 100644 index 0000000000..94a9ed024d --- /dev/null +++ b/tools/gbafix/COPYING @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/tools/gbafix/Makefile b/tools/gbafix/Makefile new file mode 100644 index 0000000000..f12c8cc4fa --- /dev/null +++ b/tools/gbafix/Makefile @@ -0,0 +1,10 @@ +CC = gcc +.PHONY: clean + +SRCS = gbafix.c + +gbafix: $(SRCS) + $(CC) $(SRCS) -o $@ $(LDFLAGS) + +clean: + $(RM) gbafix gbafix.exe diff --git a/tools/gbafix/gbafix.c b/tools/gbafix/gbafix.c new file mode 100644 index 0000000000..60e4ccb4f5 --- /dev/null +++ b/tools/gbafix/gbafix.c @@ -0,0 +1,281 @@ +/* + "$Id: gbafix.c,v 1.2 2008-07-30 17:12:51 wntrmute Exp $" + + DevkitPro GBA ROM fix utility + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 + USA. + + Please report all bugs and problems through the bug tracker at + "http://sourceforge.net/tracker/?group_id=114505&atid=668551". + + "$Header: /lvm/shared/ds/ds/cvs/devkitpro-cvsbackup/tools/gba/gbatools/gbafix.c,v 1.2 2008-07-30 17:12:51 wntrmute Exp $" + +*/ +//--------------------------------------------------------------------------------- +// gbafix.c +//--------------------------------------------------------------------------------- +/* + Gameboy Advance ROM fixer (by Dark Fader / BlackThunder / WinterMute / Diegoisawesome) + Validates header of GBA roms. + + History + ------- + v1.05 - added debug offset argument, (Diegoisawesome) + v1.04 - converted to plain C, (WinterMute) + v1.03 - header.fixed, header.device_type + v1.02 - redefined the options (rgbfix style), checksum=0 + v1.01 - fix in parameters + v1.00 - logo, complement +*/ + +#pragma pack(1) + +#include +#include +#include +#include + +#define VER "1.05" +#define ARGV argv[arg] +#define VALUE (ARGV+2) +#define NUMBER strtoul(VALUE, NULL, 0) + +typedef struct +{ + uint32_t start_code; // B instruction + uint8_t logo[0xA0-0x04]; // logo data + uint8_t title[0xC]; // game title name + uint32_t game_code; // + uint16_t maker_code; // + uint8_t fixed; // 0x96 + uint8_t unit_code; // 0x00 + uint8_t device_type; // 0x00 + uint8_t unused[7]; // + uint8_t game_version; // 0x00 + uint8_t complement; // 800000A0..800000BC + uint16_t checksum; // 0x0000 +} Header; + + +Header header; + +unsigned short checksum_without_header = 0; + +const Header good_header = +{ + // start_code + 0xEA00002E, + // logo + { 0x24,0xFF,0xAE,0x51,0x69,0x9A,0xA2,0x21,0x3D,0x84,0x82,0x0A,0x84,0xE4,0x09,0xAD, + 0x11,0x24,0x8B,0x98,0xC0,0x81,0x7F,0x21,0xA3,0x52,0xBE,0x19,0x93,0x09,0xCE,0x20, + 0x10,0x46,0x4A,0x4A,0xF8,0x27,0x31,0xEC,0x58,0xC7,0xE8,0x33,0x82,0xE3,0xCE,0xBF, + 0x85,0xF4,0xDF,0x94,0xCE,0x4B,0x09,0xC1,0x94,0x56,0x8A,0xC0,0x13,0x72,0xA7,0xFC, + 0x9F,0x84,0x4D,0x73,0xA3,0xCA,0x9A,0x61,0x58,0x97,0xA3,0x27,0xFC,0x03,0x98,0x76, + 0x23,0x1D,0xC7,0x61,0x03,0x04,0xAE,0x56,0xBF,0x38,0x84,0x00,0x40,0xA7,0x0E,0xFD, + 0xFF,0x52,0xFE,0x03,0x6F,0x95,0x30,0xF1,0x97,0xFB,0xC0,0x85,0x60,0xD6,0x80,0x25, + 0xA9,0x63,0xBE,0x03,0x01,0x4E,0x38,0xE2,0xF9,0xA2,0x34,0xFF,0xBB,0x3E,0x03,0x44, + 0x78,0x00,0x90,0xCB,0x88,0x11,0x3A,0x94,0x65,0xC0,0x7C,0x63,0x87,0xF0,0x3C,0xAF, + 0xD6,0x25,0xE4,0x8B,0x38,0x0A,0xAC,0x72,0x21,0xD4,0xF8,0x07 } , + // title + { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }, + // game code + 0x00000000, + // maker code + 0x3130, + // fixed + 0x96, + // unit_code + 0x00, + // device type + 0x00, + // unused + { 0x00,0x00,0x00,0x00,0x00,0x00,0x00 }, + // game version + 0x00, + // complement + 0x00, + // checksum + 0x0000 +}; + +//--------------------------------------------------------------------------------- +char HeaderComplement() +/*--------------------------------------------------------------------------------- + Calculate Header complement check +---------------------------------------------------------------------------------*/ +{ + int n; + char c = 0; + char *p = (char *)&header + 0xA0; + for (n=0; n<0xBD-0xA0; n++) + { + c += *p++; + } + return -(0x19+c); +} + + +//--------------------------------------------------------------------------------- +int main(int argc, char *argv[]) +//--------------------------------------------------------------------------------- +{ + int arg; + char *argfile = 0; + FILE *infile; + + int size,bit; + + // show syntax + if (argc <= 1) + { + printf("GBA ROM fixer v"VER" by Dark Fader / BlackThunder / WinterMute / Diegoisawesome \n"); + printf("Syntax: gbafix [-p] [-t[title]] [-c] [-m] [-r] [-d]\n"); + printf("\n"); + printf("parameters:\n"); + printf(" -p Pad to next exact power of 2. No minimum size!\n"); + printf(" -t[] Patch title. Stripped filename if none given.\n"); + printf(" -c<game_code> Patch game code (four characters)\n"); + printf(" -m<maker_code> Patch maker code (two characters)\n"); + printf(" -r<version> Patch game version (number)\n"); + printf(" -d<debug> Enable debugging handler and set debug entry point (0 or 1)\n"); + return -1; + } + + // get filename + for (arg=1; arg<argc; arg++) + { + if ((ARGV[0] != '-')) { argfile=ARGV; break; } + } + + // check filename + if (!argfile) + { + printf("Filename needed!\n"); + return -1; + } + + // read file + infile = fopen(argfile, "r+b"); + if (!infile) { printf("Error opening input file!\n"); return -1; } + fseek(infile, 0, SEEK_SET); + fread(&header, sizeof(header), 1, infile); + + // fix some data + memcpy(header.logo, good_header.logo, sizeof(header.logo)); + memcpy(&header.fixed, &good_header.fixed, sizeof(header.fixed)); + memcpy(&header.device_type, &good_header.device_type, sizeof(header.device_type)); + + // parse command line + for (arg=1; arg<argc; arg++) + { + if ((ARGV[0] == '-')) + { + switch (ARGV[1]) + { + case 'p': // pad + { + fseek(infile, 0, SEEK_END); + size = ftell(infile); + for (bit=31; bit>=0; bit--) if (size & (1<<bit)) break; + if (size != (1<<bit)) + { + int todo = (1<<(bit+1)) - size; + while (todo--) fputc(0xFF, infile); + } + fseek(infile, 0, SEEK_SET); + break; + } + + case 't': // title + { + char title[256]; + memset(title, 0, sizeof(title)); + if (VALUE[0]) + { + strncpy(title, VALUE, sizeof(header.title)); + } + else + { + // use filename + char s[256], *begin=s, *t; strcpy(s, argfile); + t = strrchr(s, '\\'); if (t) begin = t+1; + t = strrchr(s, '/'); if (t) begin = t+1; + t = strrchr(s, '.'); if (t) *t = 0; + strncpy(title, begin, sizeof(header.title)); + printf("%s\n",begin); + } + memcpy(header.title, title, sizeof(header.title)); // copy + break; + } + + case 'c': // game code + { + //if (!VALUE[0]) { printf("Need value for %s\n", ARGV); break; } + //header.game_code = NUMBER; + header.game_code = VALUE[0] | VALUE[1]<<8 | VALUE[2]<<16 | VALUE[3]<<24; + break; + } + + case 'm': // maker code + { + //if (!VALUE[0]) { printf("Need value for %s\n", ARGV); break; } + //header.maker_code = (unsigned short)NUMBER; + header.maker_code = VALUE[0] | VALUE[1]<<8; + break; + } + + case 'v': // ignored, compatability with other gbafix + { + break; + } + + case 'r': // version + { + if (!VALUE[0]) { printf("Need value for %s\n", ARGV); break; } + header.game_version = (unsigned char)NUMBER; + break; + } + + case 'd': // debug + { + if (!VALUE[0]) { printf("Need value for %s\n", ARGV); break; } + header.logo[0x9C-0x04] = 0xA5; // debug enable + header.device_type = (unsigned char)((NUMBER & 1) << 7); // debug handler entry point + break; + } + + default: + { + printf("Invalid option: %s\n", ARGV); + } + } + } + } + + // update complement check & total checksum + header.complement = 0; + header.checksum = 0; // must be 0 + header.complement = HeaderComplement(); + //header.checksum = checksum_without_header + HeaderChecksum(); + + fseek(infile, 0, SEEK_SET); + fwrite(&header, sizeof(header), 1, infile); + fclose(infile); + + printf("ROM fixed!\n"); + + return 0; +} From b22b6c505756c637fb172f54848d0511e0389417 Mon Sep 17 00:00:00 2001 From: Diegoisawesome <diego@domoreaweso.me> Date: Wed, 29 Aug 2018 23:48:35 -0500 Subject: [PATCH 144/234] Update devkitARM to r49 --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index aad16906c2..302d10a728 100644 --- a/.travis.yml +++ b/.travis.yml @@ -14,7 +14,7 @@ cache: apt: true install: - pushd $HOME - - travis_retry wget https://github.com/devkitPro/buildscripts/releases/download/devkitARM_r48/devkitARM_r48-linux.tar.xz + - travis_retry wget https://github.com/devkitPro/buildscripts/releases/download/devkitARM_r49/devkitARM_r49-linux.tar.xz - tar xJf devkitARM*.tar.xz - travis_retry git clone https://github.com/pret/agbcc.git - cd agbcc && ./build.sh && ./install.sh $TRAVIS_BUILD_DIR From bc9fe72c6e85b1930f137ed49c5d2b0c4e4b10de Mon Sep 17 00:00:00 2001 From: DizzyEggg <jajkodizzy@wp.pl> Date: Thu, 30 Aug 2018 15:01:07 +0200 Subject: [PATCH 145/234] Do some pyramid bag --- asm/battle_pyramid_bag.s | 3129 +------------------------------------- include/global.h | 7 + include/item_use.h | 3 +- include/list_menu.h | 3 +- include/menu.h | 6 +- include/strings.h | 19 + src/battle_dome.c | 13 +- src/battle_main.c | 11 +- src/battle_pyramid_bag.c | 1043 ++++++++++++- src/item.c | 5 +- src/item_use.c | 40 +- 11 files changed, 1075 insertions(+), 3204 deletions(-) diff --git a/asm/battle_pyramid_bag.s b/asm/battle_pyramid_bag.s index ea07fdd0a6..23ad7172ea 100644 --- a/asm/battle_pyramid_bag.s +++ b/asm/battle_pyramid_bag.s @@ -5,3131 +5,8 @@ .text - thumb_func_start sub_81C5238 -sub_81C5238: @ 81C5238 - push {r4,lr} - sub sp, 0x4 - ldr r4, =gUnknown_0203CF2C - ldr r0, [r4] - ldr r1, =0x00000984 - adds r0, r1 - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0x4 - bhi _081C52F0 - lsls r0, 2 - ldr r1, =_081C5264 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_081C5264: - .4byte _081C5278 - .4byte _081C5294 - .4byte _081C52B8 - .4byte _081C52C8 - .4byte _081C52D4 -_081C5278: - bl reset_temp_tile_data_buffers - ldr r1, =gBagScreen_Gfx - movs r0, 0 - str r0, [sp] - movs r0, 0x2 - movs r2, 0 - movs r3, 0 - bl decompress_and_copy_tile_data_to_vram - b _081C52D8 - .pool -_081C5294: - bl free_temp_tile_data_buffers_if_possible - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _081C5308 - ldr r0, =gUnknown_08D9AE04 - ldr r4, =gUnknown_0203CF2C - ldr r1, [r4] - adds r1, 0x4 - bl LZDecompressWram - ldr r1, [r4] - b _081C52DC - .pool -_081C52B8: - ldr r0, =gUnknown_08D9AF44 - movs r1, 0 - movs r2, 0x20 - bl LoadCompressedPalette - b _081C52D8 - .pool -_081C52C8: - ldr r0, =gUnknown_0861F3CC - bl LoadCompressedObjectPic - b _081C52D8 - .pool -_081C52D4: - bl sub_81C6E98 -_081C52D8: - ldr r0, =gUnknown_0203CF2C - ldr r1, [r0] -_081C52DC: - ldr r0, =0x00000984 - adds r1, r0 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - b _081C5308 - .pool -_081C52F0: - bl LoadListMenuArrowsGfx - ldr r0, [r4] - ldr r1, =0x00000984 - adds r0, r1 - movs r1, 0 - strh r1, [r0] - movs r0, 0x1 - b _081C530A - .pool -_081C5308: - movs r0, 0 -_081C530A: - add sp, 0x4 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81C5238 - thumb_func_start sub_81C5314 -sub_81C5314: @ 81C5314 - push {r4-r7,lr} - ldr r0, =gSaveBlock2Ptr - ldr r2, [r0] - ldr r1, =0x00000ca9 - adds r0, r2, r1 - ldrb r1, [r0] - lsls r1, 30 - lsrs r1, 30 - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - ldr r3, =0x00000e2c - adds r0, r3 - adds r7, r2, r0 - movs r6, 0 - ldr r1, =gUnknown_0203CF2C - ldr r0, [r1] - ldr r4, =0x00000821 - adds r0, r4 - ldrb r0, [r0] - subs r0, 0x1 - cmp r6, r0 - bge _081C5382 - adds r5, r1, 0 -_081C5344: - lsls r1, r6, 1 - adds r4, r1, r6 - lsls r4, 3 - ldr r0, =0x0000087c - adds r4, r0 - ldr r0, [r5] - adds r0, r4 - adds r1, r7 - ldrh r1, [r1] - bl sub_81C540C - ldr r1, [r5] - lsls r2, r6, 3 - ldr r3, =0x00000824 - adds r0, r1, r3 - adds r0, r2 - adds r4, r1, r4 - str r4, [r0] - ldr r4, =0x00000828 - adds r0, r1, r4 - adds r0, r2 - str r6, [r0] - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - ldr r0, =0x00000821 - adds r1, r0 - ldrb r0, [r1] - subs r0, 0x1 - cmp r6, r0 - blt _081C5344 -_081C5382: - ldr r5, =gUnknown_0203CF2C - lsls r4, r6, 1 - adds r4, r6 - lsls r4, 3 - ldr r1, =0x0000087c - adds r4, r1 - ldr r0, [r5] - adds r0, r4 - ldr r1, =gText_CloseBag - bl StringCopy - ldr r1, [r5] - lsls r2, r6, 3 - ldr r3, =0x00000824 - adds r0, r1, r3 - adds r0, r2 - adds r4, r1, r4 - str r4, [r0] - ldr r4, =0x00000828 - adds r1, r4 - adds r1, r2 - movs r0, 0x2 - negs r0, r0 - str r0, [r1] - ldr r2, =gMultiuseListMenuTemplate - adds r1, r2, 0 - ldr r0, =gUnknown_0861F2C0 - ldm r0!, {r4,r6,r7} - stm r1!, {r4,r6,r7} - ldm r0!, {r4,r6,r7} - stm r1!, {r4,r6,r7} - ldr r1, [r5] - ldr r6, =0x00000821 - adds r0, r1, r6 - ldrb r0, [r0] - strh r0, [r2, 0xC] - adds r3, r1, r3 - str r3, [r2] - ldr r7, =0x00000822 - adds r1, r7 - ldrb r0, [r1] - strh r0, [r2, 0xE] - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C5314 - thumb_func_start sub_81C540C -sub_81C540C: @ 81C540C - push {r4,r5,lr} - adds r5, r0, 0 - lsls r1, 16 - lsrs r4, r1, 16 - adds r0, r4, 0 - bl ItemId_GetPocket - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x4 - bne _081C5450 - ldr r0, =gStringVar1 - adds r1, r4, 0 - subs r1, 0x84 - movs r2, 0x2 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - ldr r1, =gStringVar2 - adds r0, r4, 0 - bl CopyItemName - ldr r1, =gText_UnkF908Var1Clear7Var2 - adds r0, r5, 0 - bl StringExpandPlaceholders - b _081C5458 - .pool -_081C5450: - adds r0, r4, 0 - adds r1, r5, 0 - bl CopyItemName -_081C5458: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_81C540C - - thumb_func_start sub_81C5460 -sub_81C5460: @ 81C5460 - push {r4,r5,lr} - adds r4, r0, 0 - lsls r1, 24 - lsrs r1, 24 - cmp r1, 0x1 - beq _081C5476 - movs r0, 0x5 - bl PlaySE - bl sub_81C6F20 -_081C5476: - ldr r5, =gUnknown_0203CF2C - ldr r1, [r5] - ldr r2, =0x00000814 - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, 0xFF - bne _081C5504 - adds r2, 0x1 - adds r0, r1, r2 - ldrb r1, [r0] - movs r0, 0x1 - eors r0, r1 - bl sub_81C6FF8 - movs r0, 0x2 - negs r0, r0 - cmp r4, r0 - beq _081C54E0 - ldr r0, =gSaveBlock2Ptr - ldr r2, [r0] - lsls r3, r4, 1 - ldr r1, =0x00000ca9 - adds r0, r2, r1 - ldrb r1, [r0] - lsls r1, 30 - lsrs r1, 30 - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r3, r0 - ldr r0, =0x00000e2c - adds r2, r0 - adds r2, r3 - ldrh r0, [r2] - ldr r1, [r5] - ldr r2, =0x00000815 - adds r1, r2 - ldrb r1, [r1] - bl sub_81C6F90 - b _081C54EE - .pool -_081C54E0: - ldr r0, =0x0000ffff - ldr r1, [r5] - ldr r2, =0x00000815 - adds r1, r2 - ldrb r1, [r1] - bl sub_81C6F90 -_081C54EE: - ldr r0, =gUnknown_0203CF2C - ldr r1, [r0] - ldr r0, =0x00000815 - adds r1, r0 - ldrb r0, [r1] - movs r2, 0x1 - eors r0, r2 - strb r0, [r1] - adds r0, r4, 0 - bl sub_81C55D8 -_081C5504: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C5460 - - thumb_func_start sub_81C5518 -sub_81C5518: @ 81C5518 - push {r4-r6,lr} - sub sp, 0x10 - adds r4, r1, 0 - lsls r0, 24 - lsrs r6, r0, 24 - lsls r2, 24 - lsrs r5, r2, 24 - movs r0, 0x2 - negs r0, r0 - cmp r4, r0 - beq _081C55B8 - ldr r0, =gUnknown_0203CF2C - ldr r0, [r0] - ldr r1, =0x00000814 - adds r0, r1 - ldrb r1, [r0] - cmp r1, 0xFF - beq _081C5560 - lsls r0, r4, 24 - lsrs r0, 24 - cmp r1, r0 - bne _081C5558 - adds r0, r5, 0 - movs r1, 0x1 - bl sub_81C5AB8 - b _081C5560 - .pool -_081C5558: - adds r0, r5, 0 - movs r1, 0xFF - bl sub_81C5AB8 -_081C5560: - ldr r0, =gStringVar1 - ldr r1, =gSaveBlock2Ptr - ldr r3, [r1] - ldr r2, =0x00000ca9 - adds r1, r3, r2 - ldrb r2, [r1] - lsls r2, 30 - lsrs r2, 30 - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 1 - adds r1, r4, r1 - ldr r2, =0x00000e54 - adds r3, r2 - adds r3, r1 - ldrb r1, [r3] - movs r2, 0x1 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - ldr r4, =gStringVar4 - ldr r1, =gText_xVar1 - adds r0, r4, 0 - bl StringExpandPlaceholders - movs r0, 0x7 - adds r1, r4, 0 - movs r2, 0x77 - bl GetStringRightAlignXOffset - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - movs r1, 0 - str r1, [sp] - str r1, [sp, 0x4] - movs r0, 0xFF - str r0, [sp, 0x8] - str r1, [sp, 0xC] - adds r0, r6, 0 - adds r1, r4, 0 - adds r3, r5, 0 - bl sub_81C6C94 -_081C55B8: - add sp, 0x10 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C5518 - - thumb_func_start sub_81C55D8 -sub_81C55D8: @ 81C55D8 - push {r4,lr} - sub sp, 0x10 - adds r3, r0, 0 - movs r0, 0x2 - negs r0, r0 - cmp r3, r0 - beq _081C561C - ldr r0, =gSaveBlock2Ptr - ldr r2, [r0] - lsls r3, 1 - ldr r1, =0x00000ca9 - adds r0, r2, r1 - ldrb r1, [r0] - lsls r1, 30 - lsrs r1, 30 - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r3, r0 - ldr r0, =0x00000e2c - adds r2, r0 - adds r2, r3 - ldrh r0, [r2] - bl ItemId_GetDescription - adds r4, r0, 0 - b _081C5638 - .pool -_081C561C: - ldr r0, =gStringVar1 - ldr r2, =gReturnToXStringsTable2 - ldr r1, =gUnknown_0203CF30 - ldrb r1, [r1, 0x4] - lsls r1, 2 - adds r1, r2 - ldr r1, [r1] - bl StringCopy - ldr r4, =gStringVar4 - ldr r1, =gText_ReturnToVar1 - adds r0, r4, 0 - bl StringExpandPlaceholders -_081C5638: - movs r0, 0x1 - movs r1, 0 - bl FillWindowPixelBuffer - movs r1, 0 - str r1, [sp] - movs r0, 0x1 - str r0, [sp, 0x4] - str r1, [sp, 0x8] - str r1, [sp, 0xC] - adds r1, r4, 0 - movs r2, 0x3 - movs r3, 0 - bl sub_81C6C3C - add sp, 0x10 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C55D8 - - thumb_func_start sub_81C5674 -sub_81C5674: @ 81C5674 - push {r4,lr} - sub sp, 0x10 - ldr r4, =gUnknown_0203CF2C - ldr r1, [r4] - ldr r2, =0x00000816 - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, 0xFF - bne _081C56B4 - adds r2, 0xB - adds r0, r1, r2 - ldrb r0, [r0] - adds r2, 0x1 - adds r1, r2 - ldrb r1, [r1] - subs r0, r1 - str r0, [sp] - ldr r0, =0x00000b5e - str r0, [sp, 0x4] - str r0, [sp, 0x8] - ldr r0, =gUnknown_0203CF30+8 - str r0, [sp, 0xC] - movs r0, 0x2 - movs r1, 0xAC - movs r2, 0xC - movs r3, 0x94 - bl AddScrollIndicatorArrowPairParameterized - ldr r1, [r4] - ldr r2, =0x00000816 - adds r1, r2 - strb r0, [r1] -_081C56B4: - add sp, 0x10 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C5674 - - thumb_func_start sub_81C56CC -sub_81C56CC: @ 81C56CC - push {r4,lr} - ldr r4, =gUnknown_0203CF2C - ldr r0, [r4] - ldr r2, =0x00000816 - adds r1, r0, r2 - ldrb r0, [r1] - cmp r0, 0xFF - beq _081C56EA - bl RemoveScrollIndicatorArrowPair - ldr r0, [r4] - ldr r1, =0x00000816 - adds r0, r1 - movs r1, 0xFF - strb r1, [r0] -_081C56EA: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C56CC - - thumb_func_start sub_81C56F8 -sub_81C56F8: @ 81C56F8 - push {r4,lr} - ldr r0, =sub_81C5BC8 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - ldr r0, =gTasks + 0x8 - adds r4, r0 - ldr r0, =gMultiuseListMenuTemplate - ldr r2, =gUnknown_0203CF30 - ldrh r1, [r2, 0x8] - ldrh r2, [r2, 0x6] - bl ListMenuInit - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C56F8 - - thumb_func_start sub_81C5738 -sub_81C5738: @ 81C5738 - push {r4-r6,lr} - mov r6, r8 - push {r6} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - ldr r2, =gSaveBlock2Ptr - ldr r6, [r2] - ldr r3, =0x00000ca9 - adds r2, r6, r3 - ldrb r3, [r2] - lsls r3, 30 - lsrs r2, r3, 30 - lsls r4, r2, 2 - adds r4, r2 - lsls r4, 2 - ldr r2, =0x00000e2c - adds r4, r2 - adds r4, r6, r4 - lsrs r3, 30 - lsls r2, r3, 2 - adds r2, r3 - lsls r2, 1 - ldr r3, =0x00000e54 - adds r2, r3 - adds r6, r2 - lsls r5, r0, 1 - adds r5, r4 - ldrh r2, [r5] - mov r8, r2 - lsls r2, r1, 1 - adds r2, r4 - ldrh r3, [r2] - strh r3, [r5] - mov r3, r8 - strh r3, [r2] - adds r0, r6, r0 - ldrb r2, [r0] - adds r6, r1 - ldrb r1, [r6] - strb r1, [r0] - strb r2, [r6] - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C5738 - - thumb_func_start sub_81C57A8 -sub_81C57A8: @ 81C57A8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r4, r0, 24 - adds r7, r4, 0 - lsls r1, 24 - lsrs r5, r1, 24 - ldr r0, =gSaveBlock2Ptr - ldr r3, [r0] - ldr r1, =0x00000ca9 - adds r0, r3, r1 - ldrb r1, [r0] - lsls r1, 30 - lsrs r2, r1, 30 - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 2 - ldr r2, =0x00000e2c - adds r0, r2 - adds r6, r3, r0 - lsrs r1, 30 - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 1 - ldr r1, =0x00000e54 - adds r0, r1 - adds r3, r0 - cmp r4, r5 - beq _081C5862 - lsls r0, r4, 1 - adds r0, r6 - ldrh r0, [r0] - mov r12, r0 - adds r0, r3, r4 - ldrb r0, [r0] - mov r8, r0 - cmp r5, r4 - bls _081C5830 - subs r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - lsls r2, r4, 16 - cmp r4, r5 - bge _081C5854 -_081C5802: - asrs r2, 16 - lsls r0, r2, 1 - adds r0, r6 - ldrh r1, [r0, 0x2] - strh r1, [r0] - adds r1, r3, r2 - ldrb r0, [r1, 0x1] - strb r0, [r1] - adds r2, 0x1 - lsls r2, 16 - asrs r0, r2, 16 - cmp r0, r5 - blt _081C5802 - b _081C5854 - .pool -_081C5830: - lsls r2, r7, 16 - cmp r7, r5 - ble _081C5854 -_081C5836: - asrs r2, 16 - lsls r1, r2, 1 - adds r1, r6 - subs r0, r1, 0x2 - ldrh r0, [r0] - strh r0, [r1] - adds r1, r3, r2 - subs r0, r1, 0x1 - ldrb r0, [r0] - strb r0, [r1] - subs r2, 0x1 - lsls r2, 16 - asrs r0, r2, 16 - cmp r0, r5 - bgt _081C5836 -_081C5854: - lsls r0, r5, 1 - adds r0, r6 - mov r2, r12 - strh r2, [r0] - adds r0, r3, r5 - mov r1, r8 - strb r1, [r0] -_081C5862: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_81C57A8 - - thumb_func_start sub_81C586C -sub_81C586C: @ 81C586C - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - ldr r0, =gSaveBlock2Ptr - ldr r3, [r0] - ldr r1, =0x00000ca9 - adds r0, r3, r1 - ldrb r1, [r0] - lsls r1, 30 - lsrs r2, r1, 30 - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 2 - ldr r2, =0x00000e2c - adds r0, r2 - adds r0, r3 - mov r9, r0 - lsrs r1, 30 - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 1 - ldr r4, =0x00000e54 - adds r0, r4 - adds r3, r0 - mov r8, r3 - movs r5, 0 - movs r3, 0 -_081C58A4: - lsls r0, r5, 1 - mov r1, r9 - adds r2, r0, r1 - ldrh r0, [r2] - mov r4, r8 - adds r1, r4, r5 - cmp r0, 0 - beq _081C58BA - ldrb r0, [r1] - cmp r0, 0 - bne _081C58BE -_081C58BA: - strh r3, [r2] - strb r3, [r1] -_081C58BE: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x9 - bls _081C58A4 - movs r5, 0 -_081C58CA: - adds r1, r5, 0x1 - lsls r0, r1, 24 - lsrs r4, r0, 24 - adds r7, r1, 0 - cmp r4, 0x9 - bhi _081C58FE - lsls r0, r5, 1 - mov r1, r9 - adds r6, r0, r1 -_081C58DC: - ldrh r0, [r6] - cmp r0, 0 - beq _081C58EC - mov r2, r8 - adds r0, r2, r5 - ldrb r0, [r0] - cmp r0, 0 - bne _081C58F4 -_081C58EC: - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_81C5738 -_081C58F4: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x9 - bls _081C58DC -_081C58FE: - lsls r0, r7, 24 - lsrs r5, r0, 24 - cmp r5, 0x8 - bls _081C58CA - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C586C - - thumb_func_start sub_81C5924 -sub_81C5924: @ 81C5924 - push {r4-r6,lr} - ldr r0, =gSaveBlock2Ptr - ldr r2, [r0] - ldr r1, =0x00000ca9 - adds r0, r2, r1 - ldrb r1, [r0] - lsls r1, 30 - lsrs r1, 30 - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - ldr r1, =0x00000e2c - adds r0, r1 - adds r5, r2, r0 - bl sub_81C586C - ldr r3, =gUnknown_0203CF2C - ldr r0, [r3] - ldr r2, =0x00000821 - adds r0, r2 - movs r1, 0 - strb r1, [r0] - movs r4, 0 - adds r6, r3, 0 -_081C5954: - lsls r0, r4, 1 - adds r0, r5 - ldrh r0, [r0] - ldr r3, =gUnknown_0203CF2C - cmp r0, 0 - beq _081C596A - ldr r1, [r6] - adds r1, r2 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_081C596A: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x9 - bls _081C5954 - ldr r0, [r3] - ldr r2, =0x00000821 - adds r0, r2 - ldrb r1, [r0] - adds r1, 0x1 - strb r1, [r0] - ldr r0, [r3] - adds r2, r0, r2 - ldrb r2, [r2] - cmp r2, 0x8 - bls _081C59AC - ldr r2, =0x00000822 - adds r1, r0, r2 - movs r0, 0x8 - strb r0, [r1] - b _081C59B2 - .pool -_081C59AC: - ldr r1, =0x00000822 - adds r0, r1 - strb r2, [r0] -_081C59B2: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C5924 - - thumb_func_start sub_81C59BC -sub_81C59BC: @ 81C59BC - push {r4,r5,lr} - ldr r0, =gUnknown_0203CF30 - ldrh r1, [r0, 0x8] - adds r3, r0, 0 - ldr r4, =gUnknown_0203CF2C - cmp r1, 0 - beq _081C59E4 - ldrh r0, [r3, 0x8] - ldr r1, [r4] - ldr r5, =0x00000822 - adds r2, r1, r5 - ldrb r2, [r2] - adds r0, r2 - subs r5, 0x1 - adds r1, r5 - ldrb r1, [r1] - cmp r0, r1 - ble _081C59E4 - subs r0, r1, r2 - strh r0, [r3, 0x8] -_081C59E4: - adds r2, r3, 0 - ldrh r1, [r2, 0x8] - ldrh r0, [r2, 0x6] - adds r1, r0 - ldr r0, [r4] - ldr r4, =0x00000821 - adds r0, r4 - ldrb r0, [r0] - cmp r1, r0 - blt _081C5A18 - adds r1, r0, 0 - cmp r1, 0 - bne _081C5A14 - strh r1, [r2, 0x6] - b _081C5A18 - .pool -_081C5A14: - subs r0, 0x1 - strh r0, [r3, 0x6] -_081C5A18: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_81C59BC - - thumb_func_start sub_81C5A20 -sub_81C5A20: @ 81C5A20 - push {r4-r7,lr} - ldr r0, =gUnknown_0203CF30 - ldrh r1, [r0, 0x6] - adds r5, r0, 0 - cmp r1, 0x4 - bls _081C5A80 - movs r4, 0 - ldrh r0, [r5, 0x6] - subs r0, 0x4 - cmp r4, r0 - bgt _081C5A80 - ldrh r2, [r5, 0x8] - ldr r6, =gUnknown_0203CF2C - ldr r0, [r6] - ldr r3, =0x00000822 - adds r1, r0, r3 - ldrb r1, [r1] - adds r2, r1 - ldr r7, =0x00000821 - adds r0, r7 - ldrb r0, [r0] - cmp r2, r0 - beq _081C5A80 - adds r3, r5, 0 -_081C5A50: - ldrh r0, [r3, 0x6] - subs r0, 0x1 - strh r0, [r3, 0x6] - ldrh r0, [r3, 0x8] - adds r0, 0x1 - strh r0, [r3, 0x8] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - ldrh r0, [r3, 0x6] - subs r0, 0x4 - cmp r4, r0 - bgt _081C5A80 - ldrh r2, [r5, 0x8] - ldr r1, [r6] - ldr r7, =0x00000822 - adds r0, r1, r7 - ldrb r0, [r0] - adds r2, r0 - ldr r0, =0x00000821 - adds r1, r0 - ldrb r1, [r1] - cmp r2, r1 - bne _081C5A50 -_081C5A80: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C5A20 - - thumb_func_start sub_81C5A98 -sub_81C5A98: @ 81C5A98 - push {r4,lr} - adds r4, r1, 0 - lsls r0, 24 - lsrs r0, 24 - lsls r4, 24 - lsrs r4, 24 - bl ListMenuGetYCoordForPrintingArrowCursor - lsls r0, 24 - lsrs r0, 24 - adds r1, r4, 0 - bl sub_81C5AB8 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81C5A98 - - thumb_func_start sub_81C5AB8 -sub_81C5AB8: @ 81C5AB8 - push {r4,r5,lr} - sub sp, 0x10 - lsls r0, 24 - lsrs r5, r0, 24 - lsls r1, 24 - lsrs r2, r1, 24 - cmp r2, 0xFF - bne _081C5AF4 - movs r0, 0x1 - movs r1, 0 - bl GetMenuCursorDimensionByFont - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x1 - movs r1, 0x1 - bl GetMenuCursorDimensionByFont - lsls r0, 24 - lsrs r0, 24 - str r4, [sp] - str r0, [sp, 0x4] - movs r0, 0 - movs r1, 0 - movs r2, 0 - adds r3, r5, 0 - bl FillWindowPixelRect - b _081C5B08 -_081C5AF4: - ldr r1, =gText_SelectorArrow2 - movs r0, 0 - str r0, [sp] - str r0, [sp, 0x4] - str r0, [sp, 0x8] - str r2, [sp, 0xC] - movs r2, 0 - adds r3, r5, 0 - bl sub_81C6C3C -_081C5B08: - add sp, 0x10 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C5AB8 - - thumb_func_start sub_81C5B14 -sub_81C5B14: @ 81C5B14 - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_81C5B4C - str r1, [r0] - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C5B14 - - thumb_func_start sub_81C5B4C -sub_81C5B4C: @ 81C5B4C - 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 r2, r0, r1 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _081C5BBC - ldrb r0, [r2] - ldr r4, =gUnknown_0203CF30+8 - subs r2, r4, 0x2 - adds r1, r4, 0 - bl DestroyListMenuTask - ldr r0, =gUnknown_0203CF2C - ldr r0, [r0] - ldr r0, [r0] - cmp r0, 0 - beq _081C5B94 - bl SetMainCallback2 - b _081C5B9E - .pool -_081C5B94: - adds r0, r4, 0 - subs r0, 0x8 - ldr r0, [r0] - bl SetMainCallback2 -_081C5B9E: - bl sub_81C56CC - bl ResetSpriteData - bl FreeAllSpritePalettes - bl FreeAllWindowBuffers - ldr r0, =gUnknown_0203CF2C - ldr r0, [r0] - bl Free - adds r0, r5, 0 - bl DestroyTask -_081C5BBC: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C5B4C - - thumb_func_start sub_81C5BC8 -sub_81C5BC8: @ 81C5BC8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r7, r0, r1 - bl sub_81221EC - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _081C5BEA - b _081C5D16 -_081C5BEA: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _081C5BF8 - b _081C5D16 -_081C5BF8: - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x4 - ands r0, r1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0 - beq _081C5C5C - ldr r4, =gUnknown_0203CF30 - ldrb r0, [r4, 0x4] - cmp r0, 0x2 - bne _081C5C12 - b _081C5D16 -_081C5C12: - ldrb r0, [r7] - adds r1, r4, 0 - adds r1, 0x8 - adds r2, r4, 0x6 - bl ListMenuGetScrollAndRow - ldrh r1, [r4, 0x8] - ldrh r0, [r4, 0x6] - adds r1, r0 - ldr r0, =gUnknown_0203CF2C - ldr r0, [r0] - ldr r2, =0x00000821 - adds r0, r2 - ldrb r0, [r0] - subs r0, 0x1 - cmp r1, r0 - beq _081C5D16 - movs r0, 0x5 - bl PlaySE - adds r0, r5, 0 - bl sub_81C67CC - b _081C5D16 - .pool -_081C5C5C: - ldrb r0, [r7] - bl ListMenuHandleInputGetItemId - adds r6, r0, 0 - ldrb r0, [r7] - ldr r1, =gUnknown_0203CF30+8 - mov r8, r1 - mov r2, r8 - subs r2, 0x2 - bl ListMenuGetScrollAndRow - movs r0, 0x2 - negs r0, r0 - cmp r6, r0 - beq _081C5C88 - adds r0, 0x1 - cmp r6, r0 - bne _081C5CA0 - b _081C5D16 - .pool -_081C5C88: - movs r0, 0x5 - bl PlaySE - ldr r0, =gSpecialVar_ItemId - strh r4, [r0] - adds r0, r5, 0 - bl sub_81C5B14 - b _081C5D16 - .pool -_081C5CA0: - movs r0, 0x5 - bl PlaySE - ldr r2, =gSpecialVar_ItemId - mov r12, r2 - ldr r0, =gSaveBlock2Ptr - ldr r2, [r0] - lsls r3, r6, 1 - ldr r0, =0x00000ca9 - adds r4, r2, r0 - ldrb r1, [r4] - lsls r1, 30 - lsrs r1, 30 - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r3, r0 - ldr r1, =0x00000e2c - adds r0, r2, r1 - adds r0, r3 - ldrh r0, [r0] - mov r1, r12 - strh r0, [r1] - strh r6, [r7, 0x2] - ldrb r1, [r4] - lsls r1, 30 - lsrs r1, 30 - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 1 - adds r0, r6, r0 - ldr r1, =0x00000e54 - adds r2, r1 - adds r2, r0 - ldrb r0, [r2] - strh r0, [r7, 0x4] - mov r0, r8 - subs r0, 0x8 - ldrb r0, [r0, 0x4] - cmp r0, 0x2 - bne _081C5D10 - adds r0, r5, 0 - bl sub_81C674C - b _081C5D16 - .pool -_081C5D10: - adds r0, r5, 0 - bl sub_81C5D20 -_081C5D16: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_81C5BC8 - - thumb_func_start sub_81C5D20 -sub_81C5D20: @ 81C5D20 - push {r4,r5,lr} - sub sp, 0x10 - lsls r0, 24 - lsrs r5, r0, 24 - lsls r4, r5, 2 - adds r4, r5 - lsls r4, 3 - ldr r0, =gTasks + 0x8 - adds r4, r0 - bl sub_81C56CC - ldrb r0, [r4] - movs r1, 0x1 - bl sub_81C5A98 - ldr r0, =gUnknown_0203CF30 - ldrb r4, [r0, 0x4] - cmp r4, 0x1 - beq _081C5D74 - cmp r4, 0x3 - beq _081C5DC4 - ldr r0, =gUnknown_0203CF2C - ldr r1, [r0] - ldr r0, =0x00000818 - adds r2, r1, r0 - ldr r0, =gUnknown_0861F308 - str r0, [r2] - movs r0, 0x82 - lsls r0, 4 - adds r1, r0 - movs r0, 0x4 - b _081C5DD8 - .pool -_081C5D74: - ldr r0, =gSpecialVar_ItemId - ldrh r0, [r0] - bl ItemId_GetBattleUsage - lsls r0, 24 - cmp r0, 0 - beq _081C5DA0 - ldr r0, =gUnknown_0203CF2C - ldr r1, [r0] - ldr r0, =0x00000818 - adds r2, r1, r0 - ldr r0, =gUnknown_0861F30E - b _081C5DCE - .pool -_081C5DA0: - ldr r0, =gUnknown_0203CF2C - ldr r0, [r0] - ldr r1, =0x00000818 - adds r2, r0, r1 - ldr r1, =gUnknown_0861F310 - str r1, [r2] - movs r1, 0x82 - lsls r1, 4 - adds r0, r1 - strb r4, [r0] - b _081C5DDA - .pool -_081C5DC4: - ldr r0, =gUnknown_0203CF2C - ldr r1, [r0] - ldr r0, =0x00000818 - adds r2, r1, r0 - ldr r0, =gUnknown_0861F30C -_081C5DCE: - str r0, [r2] - movs r0, 0x82 - lsls r0, 4 - adds r1, r0 - movs r0, 0x2 -_081C5DD8: - strb r0, [r1] -_081C5DDA: - ldr r0, =gSpecialVar_ItemId - ldrh r0, [r0] - ldr r1, =gStringVar1 - bl CopyItemName - ldr r4, =gStringVar4 - ldr r1, =gText_Var1IsSelected - adds r0, r4, 0 - bl StringExpandPlaceholders - movs r0, 0x1 - movs r1, 0 - bl FillWindowPixelBuffer - movs r1, 0 - str r1, [sp] - movs r0, 0x1 - str r0, [sp, 0x4] - str r1, [sp, 0x8] - str r1, [sp, 0xC] - adds r1, r4, 0 - movs r2, 0x3 - movs r3, 0 - bl sub_81C6C3C - ldr r0, =gUnknown_0203CF2C - ldr r0, [r0] - movs r1, 0x82 - lsls r1, 4 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x1 - bne _081C5E3C - movs r0, 0 - b _081C5E42 - .pool -_081C5E3C: - cmp r0, 0x2 - bne _081C5E50 - movs r0, 0x1 -_081C5E42: - bl sub_81C6D24 - lsls r0, 24 - lsrs r0, 24 - bl sub_81C5EAC - b _081C5E62 -_081C5E50: - movs r0, 0x2 - bl sub_81C6D24 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x2 - movs r2, 0x2 - bl sub_81C5F08 -_081C5E62: - ldr r0, =gUnknown_0203CF2C - ldr r0, [r0] - movs r1, 0x82 - lsls r1, 4 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x4 - bne _081C5E8C - ldr r0, =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_81C5FE4 - b _081C5E98 - .pool -_081C5E8C: - ldr r0, =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_81C5F68 -_081C5E98: - str r0, [r1] - add sp, 0x10 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C5D20 - - thumb_func_start sub_81C5EAC -sub_81C5EAC: @ 81C5EAC - push {r4-r6,lr} - sub sp, 0x14 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0 - str r0, [sp] - movs r0, 0x10 - str r0, [sp, 0x4] - ldr r6, =gUnknown_0203CF2C - ldr r1, [r6] - movs r5, 0x82 - lsls r5, 4 - adds r0, r1, r5 - ldrb r0, [r0] - str r0, [sp, 0x8] - ldr r0, =gUnknown_0861F2D8 - str r0, [sp, 0xC] - ldr r0, =0x00000818 - adds r1, r0 - ldr r0, [r1] - str r0, [sp, 0x10] - adds r0, r4, 0 - movs r1, 0x7 - movs r2, 0x8 - movs r3, 0x1 - bl AddItemMenuActionTextPrinters - ldr r0, [r6] - adds r0, r5 - ldrb r1, [r0] - adds r0, r4, 0 - movs r2, 0 - bl InitMenuInUpperLeftCornerPlaySoundWhenAPressed - add sp, 0x14 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C5EAC - - thumb_func_start sub_81C5F08 -sub_81C5F08: @ 81C5F08 - push {r4-r6,lr} - sub sp, 0x14 - adds r4, r0, 0 - adds r5, r1, 0 - adds r6, r2, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r5, 24 - lsrs r5, 24 - lsls r6, 24 - lsrs r6, 24 - movs r0, 0x38 - str r0, [sp] - str r5, [sp, 0x4] - str r6, [sp, 0x8] - ldr r0, =gUnknown_0861F2D8 - str r0, [sp, 0xC] - ldr r0, =gUnknown_0203CF2C - ldr r0, [r0] - ldr r1, =0x00000818 - adds r0, r1 - ldr r0, [r0] - str r0, [sp, 0x10] - adds r0, r4, 0 - movs r1, 0x7 - movs r2, 0x8 - movs r3, 0x1 - bl sub_8198DBC - movs r0, 0 - str r0, [sp] - adds r0, r4, 0 - movs r1, 0x38 - adds r2, r5, 0 - adds r3, r6, 0 - bl sub_8199944 - add sp, 0x14 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C5F08 - - thumb_func_start sub_81C5F68 -sub_81C5F68: @ 81C5F68 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - adds r6, r5, 0 - bl sub_81221EC - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _081C5FD0 - bl Menu_ProcessInputNoWrapAround - lsls r0, 24 - asrs r4, r0, 24 - movs r0, 0x2 - negs r0, r0 - cmp r4, r0 - beq _081C5FD0 - adds r0, 0x1 - cmp r4, r0 - bne _081C5FA8 - movs r0, 0x5 - bl PlaySE - ldr r0, =gUnknown_0861F2D8 - ldr r1, [r0, 0x1C] - adds r0, r5, 0 - bl _call_via_r1 - b _081C5FD0 - .pool -_081C5FA8: - movs r0, 0x5 - bl PlaySE - ldr r1, =gUnknown_0861F2D8 - ldr r0, =gUnknown_0203CF2C - ldr r0, [r0] - ldr r2, =0x00000818 - adds r0, r2 - ldr r0, [r0] - adds r0, r4 - ldrb r0, [r0] - lsls r0, 3 - adds r1, 0x4 - adds r0, r1 - ldr r1, [r0] - cmp r1, 0 - beq _081C5FD0 - adds r0, r6, 0 - bl _call_via_r1 -_081C5FD0: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C5F68 - - thumb_func_start sub_81C5FE4 -sub_81C5FE4: @ 81C5FE4 - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - bl sub_81221EC - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _081C5FF8 - b _081C6160 -_081C5FF8: - bl GetMenuCursorPos - lsls r0, 24 - lsrs r4, r0, 24 - ldr r5, =gMain - ldrh r1, [r5, 0x2E] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _081C6040 - lsls r0, r4, 24 - asrs r0, 24 - cmp r0, 0 - bgt _081C6016 - b _081C6160 -_081C6016: - subs r0, 0x2 - lsls r0, 24 - asrs r0, 24 - bl sub_81C616C - lsls r0, 24 - cmp r0, 0 - bne _081C6028 - b _081C6160 -_081C6028: - movs r0, 0x5 - bl PlaySE - movs r1, 0x1 - negs r1, r1 - movs r0, 0 - bl sub_8199134 - b _081C6160 - .pool -_081C6040: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _081C6084 - lsls r0, r4, 24 - asrs r1, r0, 24 - ldr r0, =gUnknown_0203CF2C - ldr r0, [r0] - movs r2, 0x82 - lsls r2, 4 - adds r0, r2 - ldrb r0, [r0] - subs r0, 0x2 - cmp r1, r0 - blt _081C6060 - b _081C6160 -_081C6060: - adds r0, r1, 0x2 - lsls r0, 24 - asrs r0, 24 - bl sub_81C616C - lsls r0, 24 - cmp r0, 0 - beq _081C6160 - movs r0, 0x5 - bl PlaySE - movs r0, 0 - movs r1, 0x1 - bl sub_8199134 - b _081C6160 - .pool -_081C6084: - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - bne _081C6098 - bl GetLRKeysState - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _081C60C0 -_081C6098: - lsls r0, r4, 24 - asrs r1, r0, 24 - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _081C6160 - subs r0, r1, 0x1 - lsls r0, 24 - asrs r0, 24 - bl sub_81C616C - lsls r0, 24 - cmp r0, 0 - beq _081C6160 - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - negs r0, r0 - b _081C60FA -_081C60C0: - ldrh r1, [r5, 0x2E] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - bne _081C60D6 - bl GetLRKeysState - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bne _081C6102 -_081C60D6: - lsls r0, r4, 24 - asrs r1, r0, 24 - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _081C6160 - adds r0, r1, 0x1 - lsls r0, 24 - asrs r0, 24 - bl sub_81C616C - lsls r0, 24 - cmp r0, 0 - beq _081C6160 - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 -_081C60FA: - movs r1, 0 - bl sub_8199134 - b _081C6160 -_081C6102: - ldrh r1, [r5, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _081C6148 - movs r0, 0x5 - bl PlaySE - ldr r2, =gUnknown_0861F2D8 - ldr r0, =gUnknown_0203CF2C - ldr r0, [r0] - lsls r1, r4, 24 - asrs r1, 24 - ldr r3, =0x00000818 - adds r0, r3 - ldr r0, [r0] - adds r0, r1 - ldrb r0, [r0] - lsls r0, 3 - adds r2, 0x4 - adds r0, r2 - ldr r1, [r0] - cmp r1, 0 - beq _081C6160 - adds r0, r6, 0 - bl _call_via_r1 - b _081C6160 - .pool -_081C6148: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _081C6160 - movs r0, 0x5 - bl PlaySE - ldr r0, =gUnknown_0861F2D8 - ldr r1, [r0, 0x1C] - adds r0, r6, 0 - bl _call_via_r1 -_081C6160: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C5FE4 - - thumb_func_start sub_81C616C -sub_81C616C: @ 81C616C - push {lr} - lsls r0, 24 - asrs r1, r0, 24 - cmp r1, 0 - blt _081C61A0 - ldr r0, =gUnknown_0203CF2C - ldr r2, [r0] - movs r3, 0x82 - lsls r3, 4 - adds r0, r2, r3 - ldrb r0, [r0] - cmp r1, r0 - bgt _081C61A0 - ldr r3, =0x00000818 - adds r0, r2, r3 - ldr r0, [r0] - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x5 - beq _081C61A0 - movs r0, 0x1 - b _081C61A2 - .pool -_081C61A0: - movs r0, 0 -_081C61A2: - pop {r1} - bx r1 - thumb_func_end sub_81C616C - - thumb_func_start sub_81C61A8 -sub_81C61A8: @ 81C61A8 - push {lr} - ldr r0, =gUnknown_0203CF2C - ldr r0, [r0] - movs r1, 0x82 - lsls r1, 4 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x1 - bne _081C61C8 - movs r0, 0 - bl sub_81C6D6C - b _081C61DA - .pool -_081C61C8: - cmp r0, 0x2 - bne _081C61D4 - movs r0, 0x1 - bl sub_81C6D6C - b _081C61DA -_081C61D4: - movs r0, 0x2 - bl sub_81C6D6C -_081C61DA: - pop {r0} - bx r0 - thumb_func_end sub_81C61A8 - - thumb_func_start sub_81C61E0 -sub_81C61E0: @ 81C61E0 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r4, =gSpecialVar_ItemId - ldrh r0, [r4] - bl ItemId_GetPocket - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x5 - beq _081C620C - cmp r0, 0x2 - beq _081C620C - cmp r0, 0x3 - beq _081C620C - ldrh r0, [r4] - bl ItemIsMail - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _081C6228 -_081C620C: - bl sub_81C61A8 - ldr r1, =gText_DadsAdvice - ldr r2, =sub_81C6714 - adds r0, r5, 0 - bl DisplayItemMessageInBattlePyramid - b _081C6252 - .pool -_081C6228: - ldrh r0, [r4] - bl ItemId_GetFieldFunc - cmp r0, 0 - beq _081C6252 - bl sub_81C61A8 - movs r0, 0x1 - movs r1, 0 - bl FillWindowPixelBuffer - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - ldrh r0, [r4] - bl ItemId_GetFieldFunc - adds r1, r0, 0 - adds r0, r5, 0 - bl _call_via_r1 -_081C6252: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_81C61E0 - - thumb_func_start sub_81C6258 -sub_81C6258: @ 81C6258 - push {r4,r5,lr} - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - lsls r4, r5, 2 - adds r4, r5 - lsls r4, 3 - ldr r0, =gTasks + 0x8 - adds r4, r0 - bl sub_81C61A8 - movs r1, 0x2 - ldrsh r0, [r4, r1] - bl sub_81C55D8 - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - movs r0, 0x1 - bl schedule_bg_copy_tilemap_to_vram - ldrb r0, [r4] - movs r1, 0 - bl sub_81C5A98 - adds r0, r5, 0 - bl sub_81C629C - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C6258 - - thumb_func_start sub_81C629C -sub_81C629C: @ 81C629C - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl sub_81C5674 - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_81C5BC8 - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C629C - - thumb_func_start sub_81C62C4 -sub_81C62C4: @ 81C62C4 - push {r4-r7,lr} - sub sp, 0x10 - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r6, r0, 3 - ldr r7, =gTasks + 0x8 - adds r4, r6, r7 - bl sub_81C61A8 - movs r0, 0x1 - strh r0, [r4, 0x10] - movs r1, 0x4 - ldrsh r0, [r4, r1] - cmp r0, 0x1 - bne _081C62F4 - adds r0, r5, 0 - bl sub_81C6350 - b _081C6334 - .pool -_081C62F4: - ldr r0, =gSpecialVar_ItemId - ldrh r0, [r0] - ldr r1, =gStringVar1 - bl CopyItemName - ldr r4, =gStringVar4 - ldr r1, =gText_TossHowManyVar1s - adds r0, r4, 0 - bl StringExpandPlaceholders - movs r0, 0x1 - movs r1, 0 - bl FillWindowPixelBuffer - movs r1, 0 - str r1, [sp] - movs r0, 0x1 - str r0, [sp, 0x4] - str r1, [sp, 0x8] - str r1, [sp, 0xC] - adds r1, r4, 0 - movs r2, 0x3 - movs r3, 0 - bl sub_81C6C3C - bl sub_81C6404 - adds r0, r7, 0 - subs r0, 0x8 - adds r0, r6, r0 - ldr r1, =sub_81C64B4 - str r1, [r0] -_081C6334: - add sp, 0x10 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C62C4 - - thumb_func_start sub_81C6350 -sub_81C6350: @ 81C6350 - push {r4,r5,lr} - sub sp, 0x10 - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - lsls r4, r5, 2 - adds r4, r5 - lsls r4, 3 - ldr r0, =gTasks + 0x8 - adds r4, r0 - ldr r0, =gSpecialVar_ItemId - ldrh r0, [r0] - ldr r1, =gStringVar1 - bl CopyItemName - ldr r0, =gStringVar2 - movs r2, 0x10 - ldrsh r1, [r4, r2] - movs r2, 0 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - ldr r4, =gStringVar4 - ldr r1, =gText_ConfirmTossItems - adds r0, r4, 0 - bl StringExpandPlaceholders - movs r0, 0x1 - movs r1, 0 - bl FillWindowPixelBuffer - movs r1, 0 - str r1, [sp] - movs r0, 0x1 - str r0, [sp, 0x4] - str r1, [sp, 0x8] - str r1, [sp, 0xC] - adds r1, r4, 0 - movs r2, 0x3 - movs r3, 0 - bl sub_81C6C3C - ldr r1, =gUnknown_0861F314 - adds r0, r5, 0 - bl sub_81C6DAC - add sp, 0x10 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C6350 - - thumb_func_start sub_81C63D0 -sub_81C63D0: @ 81C63D0 - push {r4,r5,lr} - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - lsls r4, r5, 2 - adds r4, r5 - lsls r4, 3 - ldr r0, =gTasks + 0x8 - adds r4, r0 - movs r1, 0x2 - ldrsh r0, [r4, r1] - bl sub_81C55D8 - ldrb r0, [r4] - movs r1, 0 - bl sub_81C5A98 - adds r0, r5, 0 - bl sub_81C629C - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C63D0 - - thumb_func_start sub_81C6404 -sub_81C6404: @ 81C6404 - push {r4,lr} - sub sp, 0xC - ldr r0, =gStringVar1 - movs r1, 0x1 - movs r2, 0x2 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - ldr r4, =gStringVar4 - ldr r1, =gText_xVar1 - adds r0, r4, 0 - bl StringExpandPlaceholders - movs r0, 0x3 - bl sub_81C6CEC - movs r0, 0x1 - adds r1, r4, 0 - movs r2, 0x28 - bl GetStringCenterAlignXOffset - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - movs r0, 0x2 - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - str r0, [sp, 0x8] - movs r0, 0x3 - movs r1, 0x1 - adds r2, r4, 0 - bl PrintTextOnWindow - add sp, 0xC - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C6404 - - thumb_func_start sub_81C645C -sub_81C645C: @ 81C645C - push {r4,lr} - sub sp, 0xC - adds r1, r0, 0 - ldr r0, =gStringVar1 - lsls r1, 16 - asrs r1, 16 - movs r2, 0x2 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - ldr r4, =gStringVar4 - ldr r1, =gText_xVar1 - adds r0, r4, 0 - bl StringExpandPlaceholders - movs r0, 0x1 - adds r1, r4, 0 - movs r2, 0x28 - bl GetStringCenterAlignXOffset - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - movs r0, 0x2 - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - str r0, [sp, 0x8] - movs r0, 0x3 - movs r1, 0x1 - adds r2, r4, 0 - bl PrintTextOnWindow - add sp, 0xC - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C645C - - thumb_func_start sub_81C64B4 -sub_81C64B4: @ 81C64B4 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - adds r6, r5, 0 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r4, r0, r1 - adds r0, r4, 0 - adds r0, 0x10 - ldrh r1, [r4, 0x4] - bl AdjustQuantityAccordingToDPadInput - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _081C64E8 - movs r1, 0x10 - ldrsh r0, [r4, r1] - bl sub_81C645C - b _081C6544 - .pool -_081C64E8: - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _081C651C - movs r0, 0x5 - bl PlaySE - movs r0, 0x3 - movs r1, 0 - bl sub_8198070 - movs r0, 0x3 - bl ClearWindowTilemap - movs r0, 0x1 - bl schedule_bg_copy_tilemap_to_vram - adds r0, r5, 0 - bl sub_81C6350 - b _081C6544 - .pool -_081C651C: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _081C6544 - movs r0, 0x5 - bl PlaySE - movs r0, 0x3 - movs r1, 0 - bl sub_8198070 - movs r0, 0x3 - bl ClearWindowTilemap - movs r0, 0x1 - bl schedule_bg_copy_tilemap_to_vram - adds r0, r6, 0 - bl sub_81C63D0 -_081C6544: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_81C64B4 - - thumb_func_start sub_81C654C -sub_81C654C: @ 81C654C - push {r4-r6,lr} - sub sp, 0x10 - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - ldr r5, =gTasks + 0x8 - adds r6, r4, r5 - ldr r0, =gSpecialVar_ItemId - ldrh r0, [r0] - ldr r1, =gStringVar1 - bl CopyItemName - ldr r0, =gStringVar2 - movs r2, 0x10 - ldrsh r1, [r6, r2] - movs r2, 0 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - ldr r6, =gStringVar4 - ldr r1, =gText_ThrewAwayVar2Var1s - adds r0, r6, 0 - bl StringExpandPlaceholders - movs r0, 0x1 - movs r1, 0 - bl FillWindowPixelBuffer - movs r1, 0 - str r1, [sp] - movs r0, 0x1 - str r0, [sp, 0x4] - str r1, [sp, 0x8] - str r1, [sp, 0xC] - adds r1, r6, 0 - movs r2, 0x3 - movs r3, 0 - bl sub_81C6C3C - subs r5, 0x8 - adds r4, r5 - ldr r0, =sub_81C65CC - str r0, [r4] - add sp, 0x10 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C654C - - thumb_func_start sub_81C65CC -sub_81C65CC: @ 81C65CC - push {r4-r7,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 - ldr r6, =gUnknown_0203CF30+8 - subs r7, r6, 0x2 - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0 - beq _081C662E - movs r0, 0x5 - bl PlaySE - ldr r0, =gSpecialVar_ItemId - ldrh r0, [r0] - ldrh r1, [r4, 0x10] - bl RemovePyramidBagItem - ldrb r0, [r4] - adds r1, r6, 0 - adds r2, r7, 0 - bl DestroyListMenuTask - bl sub_81C5924 - bl sub_81C59BC - bl sub_81C5314 - ldr r0, =gMultiuseListMenuTemplate - ldrh r1, [r6] - ldrh r2, [r7] - bl ListMenuInit - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4] - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - adds r0, r5, 0 - bl sub_81C629C -_081C662E: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C65CC - - thumb_func_start sub_81C6648 -sub_81C6648: @ 81C6648 - push {r4-r6,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r6, r4, 0 - bl sub_81C61A8 - ldr r5, =gSpecialVar_ItemId - ldrh r0, [r5] - bl ItemIsMail - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _081C667C - ldr r1, =gText_CantWriteMail - ldr r2, =sub_81C66EC - adds r0, r4, 0 - bl DisplayItemMessageInBattlePyramid - b _081C66A6 - .pool -_081C667C: - ldrh r0, [r5] - bl ItemId_GetImportance - lsls r0, 24 - cmp r0, 0 - bne _081C66A0 - ldr r0, =gUnknown_0203CF2C - ldr r1, [r0] - ldr r0, =sub_81B7F60 - str r0, [r1] - adds r0, r4, 0 - bl sub_81C5B14 - b _081C66A6 - .pool -_081C66A0: - adds r0, r6, 0 - bl sub_81C66AC -_081C66A6: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_81C6648 - - thumb_func_start sub_81C66AC -sub_81C66AC: @ 81C66AC - push {r4,r5,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, =gSpecialVar_ItemId - ldrh r0, [r0] - ldr r1, =gStringVar1 - bl CopyItemName - ldr r5, =gStringVar4 - ldr r1, =gText_Var1CantBeHeld - adds r0, r5, 0 - bl StringExpandPlaceholders - ldr r2, =sub_81C66EC - adds r0, r4, 0 - adds r1, r5, 0 - bl DisplayItemMessageInBattlePyramid - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C66AC - - thumb_func_start sub_81C66EC -sub_81C66EC: @ 81C66EC - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _081C670A - movs r0, 0x5 - bl PlaySE - adds r0, r4, 0 - bl sub_81C6714 -_081C670A: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C66EC - - thumb_func_start sub_81C6714 -sub_81C6714: @ 81C6714 - push {r4,r5,lr} - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - lsls r4, r5, 2 - adds r4, r5 - lsls r4, 3 - ldr r0, =gTasks + 0x8 - adds r4, r0 - bl sub_81C6E1C - movs r1, 0x2 - ldrsh r0, [r4, r1] - bl sub_81C55D8 - ldrb r0, [r4] - movs r1, 0 - bl sub_81C5A98 - adds r0, r5, 0 - bl sub_81C629C - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C6714 - - thumb_func_start sub_81C674C -sub_81C674C: @ 81C674C - push {r4-r6,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r6, r4, 0 - ldr r5, =gSpecialVar_ItemId - ldrh r0, [r5] - bl itemid_80BF6D8_mail_related - lsls r0, 24 - cmp r0, 0 - bne _081C677C - ldr r1, =gText_CantWriteMail - ldr r2, =sub_81C66EC - adds r0, r4, 0 - bl DisplayItemMessageInBattlePyramid - b _081C6796 - .pool -_081C677C: - ldrh r0, [r5] - bl ItemId_GetImportance - lsls r0, 24 - cmp r0, 0 - bne _081C6790 - adds r0, r4, 0 - bl sub_81C5B14 - b _081C6796 -_081C6790: - adds r0, r6, 0 - bl sub_81C66AC -_081C6796: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_81C674C - - thumb_func_start sub_81C679C -sub_81C679C: @ 81C679C - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r4, =gSpecialVar_ItemId - ldrh r0, [r4] - bl ItemId_GetBattleFunc - cmp r0, 0 - beq _081C67C0 - bl sub_81C61A8 - ldrh r0, [r4] - bl ItemId_GetBattleFunc - adds r1, r0, 0 - adds r0, r5, 0 - bl _call_via_r1 -_081C67C0: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C679C - - thumb_func_start sub_81C67CC -sub_81C67CC: @ 81C67CC - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - sub sp, 0x10 - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - ldr r0, =gTasks + 0x8 - mov r9, r0 - adds r5, r4, r0 - ldr r0, =gUnknown_0203CF30 - ldrh r1, [r0, 0x6] - ldrh r0, [r0, 0x8] - adds r1, r0 - strh r1, [r5, 0x2] - ldr r0, =gUnknown_0203CF2C - ldr r0, [r0] - ldr r2, =0x00000814 - adds r0, r2 - movs r2, 0 - mov r8, r2 - strb r1, [r0] - ldrb r0, [r5] - movs r1, 0x10 - movs r2, 0x1 - bl ListMenuSetUnkIndicatorsStructField - ldr r0, =gSaveBlock2Ptr - ldr r3, [r0] - movs r0, 0x2 - ldrsh r2, [r5, r0] - lsls r2, 1 - ldr r1, =0x00000ca9 - adds r0, r3, r1 - ldrb r1, [r0] - lsls r1, 30 - lsrs r1, 30 - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r2, r0 - ldr r0, =0x00000e2c - adds r3, r0 - adds r3, r2 - ldrh r0, [r3] - ldr r1, =gStringVar1 - bl CopyItemName - ldr r6, =gStringVar4 - ldr r1, =gText_MoveVar1Where - adds r0, r6, 0 - bl StringExpandPlaceholders - movs r0, 0x1 - movs r1, 0 - bl FillWindowPixelBuffer - mov r1, r8 - str r1, [sp] - movs r0, 0x1 - str r0, [sp, 0x4] - str r1, [sp, 0x8] - str r1, [sp, 0xC] - adds r1, r6, 0 - movs r2, 0x3 - movs r3, 0 - bl sub_81C6C3C - ldrb r0, [r5] - movs r1, 0x1 - bl sub_81C5A98 - ldrb r0, [r5, 0x2] - bl sub_81C704C - movs r2, 0x8 - negs r2, r2 - add r9, r2 - add r4, r9 - ldr r0, =sub_81C68B0 - str r0, [r4] - add sp, 0x10 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C67CC - - thumb_func_start sub_81C68B0 -sub_81C68B0: @ 81C68B0 - push {r4-r7,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 - bl sub_81221EC - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _081C695C - ldr r7, =gMain - ldrh r1, [r7, 0x2E] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _081C68F8 - movs r0, 0x5 - bl PlaySE - ldrb r0, [r4] - ldr r1, =gUnknown_0203CF30+8 - subs r2, r1, 0x2 - bl ListMenuGetScrollAndRow - b _081C6940 - .pool -_081C68F8: - ldrb r0, [r4] - bl ListMenuHandleInputGetItemId - adds r6, r0, 0 - ldrb r0, [r4] - ldr r4, =gUnknown_0203CF30+8 - subs r2, r4, 0x2 - adds r1, r4, 0 - bl ListMenuGetScrollAndRow - movs r0, 0 - bl sub_81C7028 - subs r4, 0x8 - ldrb r0, [r4, 0x6] - bl sub_81C704C - movs r0, 0x2 - negs r0, r0 - cmp r6, r0 - beq _081C6930 - adds r0, 0x1 - cmp r6, r0 - bne _081C6950 - b _081C695C - .pool -_081C6930: - movs r0, 0x5 - bl PlaySE - ldrh r1, [r7, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _081C6948 -_081C6940: - adds r0, r5, 0 - bl sub_81C6964 - b _081C695C -_081C6948: - adds r0, r5, 0 - bl sub_81C6A14 - b _081C695C -_081C6950: - movs r0, 0x5 - bl PlaySE - adds r0, r5, 0 - bl sub_81C6964 -_081C695C: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_81C68B0 - - thumb_func_start sub_81C6964 -sub_81C6964: @ 81C6964 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r6, r0, 24 - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r5, r0, r1 - ldr r7, =gUnknown_0203CF30+8 - subs r0, r7, 0x2 - mov r8, r0 - ldrh r0, [r0] - ldrh r1, [r7] - adds r0, r1 - lsls r0, 16 - lsrs r4, r0, 16 - movs r3, 0x2 - ldrsh r1, [r5, r3] - cmp r1, r4 - beq _081C6996 - subs r0, r4, 0x1 - cmp r1, r0 - bne _081C69A8 -_081C6996: - adds r0, r6, 0 - bl sub_81C6A14 - b _081C69FC - .pool -_081C69A8: - ldrb r0, [r5, 0x2] - lsls r1, r4, 24 - lsrs r1, 24 - bl sub_81C57A8 - ldr r0, =gUnknown_0203CF2C - ldr r0, [r0] - ldr r1, =0x00000814 - adds r0, r1 - movs r1, 0xFF - strb r1, [r0] - movs r0, 0x1 - bl sub_81C7028 - ldrb r0, [r5] - adds r1, r7, 0 - mov r2, r8 - bl DestroyListMenuTask - movs r3, 0x2 - ldrsh r0, [r5, r3] - cmp r0, r4 - bge _081C69E0 - adds r1, r7, 0 - subs r1, 0x8 - ldrh r0, [r1, 0x6] - subs r0, 0x1 - strh r0, [r1, 0x6] -_081C69E0: - bl sub_81C5314 - ldr r0, =gMultiuseListMenuTemplate - ldrh r1, [r7] - mov r3, r8 - ldrh r2, [r3] - bl ListMenuInit - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5] - adds r0, r6, 0 - bl sub_81C629C -_081C69FC: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C6964 - - thumb_func_start sub_81C6A14 -sub_81C6A14: @ 81C6A14 - push {r4-r7,lr} - lsls r0, 24 - lsrs r0, 24 - adds r6, r0, 0 - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r4, r0, r1 - ldr r5, =gUnknown_0203CF30+8 - subs r7, r5, 0x2 - ldr r0, =gUnknown_0203CF2C - ldr r0, [r0] - ldr r1, =0x00000814 - adds r0, r1 - movs r1, 0xFF - strb r1, [r0] - movs r0, 0x1 - bl sub_81C7028 - ldrb r0, [r4] - adds r1, r5, 0 - adds r2, r7, 0 - bl DestroyListMenuTask - movs r0, 0x2 - ldrsh r2, [r4, r0] - ldrh r0, [r5] - ldrh r1, [r7] - adds r0, r1 - cmp r2, r0 - bge _081C6A5E - adds r1, r5, 0 - subs r1, 0x8 - ldrh r0, [r1, 0x6] - subs r0, 0x1 - strh r0, [r1, 0x6] -_081C6A5E: - bl sub_81C5314 - ldr r0, =gMultiuseListMenuTemplate - ldrh r1, [r5] - ldrh r2, [r7] - bl ListMenuInit - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4] - adds r0, r6, 0 - bl sub_81C629C - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C6A14 - - thumb_func_start sub_81C6A94 -sub_81C6A94: @ 81C6A94 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x4 - ldr r0, =gPlayerParty - mov r9, r0 - movs r0, 0x14 - bl Alloc - adds r7, r0, 0 - movs r0, 0xA - bl Alloc - adds r5, r0, 0 - ldr r1, =gSaveBlock2Ptr - mov r8, r1 - ldr r2, [r1] - ldr r4, =0x00000ca9 - adds r0, r2, r4 - ldrb r0, [r0] - lsls r0, 30 - lsrs r0, 30 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldr r0, =0x00000e2c - adds r1, r0 - adds r0, r7, 0 - movs r2, 0x14 - bl memcpy - mov r1, r8 - ldr r2, [r1] - adds r0, r2, r4 - ldrb r0, [r0] - lsls r0, 30 - lsrs r0, 30 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 1 - adds r1, r2 - ldr r0, =0x00000e54 - adds r1, r0 - adds r0, r5, 0 - movs r2, 0xA - bl memcpy - movs r6, 0 -_081C6AF8: - movs r0, 0x64 - muls r0, r6 - add r0, r9 - movs r1, 0xC - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - mov r1, sp - strh r0, [r1] - cmp r0, 0 - beq _081C6B88 - movs r1, 0x1 - bl AddBagItem - lsls r0, 24 - cmp r0, 0 - bne _081C6B88 - mov r1, r8 - ldr r2, [r1] - adds r0, r2, r4 - ldrb r1, [r0] - lsls r1, 30 - lsrs r1, 30 - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldr r1, =0x00000e2c - adds r0, r1 - adds r1, r7, 0 - movs r2, 0x14 - bl memcpy - mov r0, r8 - ldr r2, [r0] - adds r0, r2, r4 - ldrb r1, [r0] - lsls r1, 30 - lsrs r1, 30 - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 1 - adds r0, r2 - ldr r1, =0x00000e54 - adds r0, r1 - adds r1, r5, 0 - movs r2, 0xA - bl memcpy - adds r0, r7, 0 - bl Free - adds r0, r5, 0 - bl Free - ldr r1, =gSpecialVar_Result - movs r0, 0x1 - strh r0, [r1] - b _081C6BC6 - .pool -_081C6B88: - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x2 - bls _081C6AF8 - movs r1, 0 - mov r0, sp - strh r1, [r0] - movs r6, 0 - movs r4, 0x64 -_081C6B9C: - adds r0, r6, 0 - muls r0, r4 - add r0, r9 - movs r1, 0xC - mov r2, sp - bl SetMonData - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x2 - bls _081C6B9C - ldr r1, =gSpecialVar_Result - movs r0, 0 - strh r0, [r1] - adds r0, r7, 0 - bl Free - adds r0, r5, 0 - bl Free -_081C6BC6: - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C6A94 - - thumb_func_start sub_81C6BD8 -sub_81C6BD8: @ 81C6BD8 - push {r4,lr} - ldr r0, =gUnknown_0861F328 - bl InitWindows - bl DeactivateAllTextPrinters - movs r0, 0 - movs r1, 0x1 - movs r2, 0xE0 - bl LoadUserWindowBorderGfx - movs r0, 0 - movs r1, 0xA - movs r2, 0xD0 - bl LoadMessageBoxGfx - ldr r0, =gUnknown_0860F074 - movs r1, 0xF0 - movs r2, 0x20 - bl LoadPalette - movs r4, 0 -_081C6C04: - adds r0, r4, 0 - movs r1, 0 - bl FillWindowPixelBuffer - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x4 - bls _081C6C04 - movs r0, 0 - bl PutWindowTilemap - movs r0, 0x1 - bl PutWindowTilemap - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - movs r0, 0x1 - bl schedule_bg_copy_tilemap_to_vram - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C6BD8 - - thumb_func_start sub_81C6C3C -sub_81C6C3C: @ 81C6C3C - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0x14 - ldr r4, [sp, 0x28] - ldr r6, [sp, 0x2C] - ldr r5, [sp, 0x30] - mov r8, r5 - ldr r5, [sp, 0x34] - lsls r0, 24 - lsrs r0, 24 - lsls r2, 24 - lsrs r2, 24 - lsls r3, 24 - lsrs r3, 24 - lsls r4, 24 - lsrs r4, 24 - lsls r6, 24 - lsrs r6, 24 - lsls r5, 24 - lsrs r5, 24 - str r4, [sp] - str r6, [sp, 0x4] - lsls r4, r5, 1 - adds r4, r5 - ldr r5, =gUnknown_0861F31C - adds r4, r5 - str r4, [sp, 0x8] - mov r4, r8 - lsls r4, 24 - asrs r4, 24 - str r4, [sp, 0xC] - str r1, [sp, 0x10] - movs r1, 0x1 - bl AddTextPrinterParameterized2 - add sp, 0x14 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C6C3C - - thumb_func_start sub_81C6C94 -sub_81C6C94: @ 81C6C94 - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0x14 - ldr r4, [sp, 0x28] - ldr r6, [sp, 0x2C] - ldr r5, [sp, 0x30] - mov r8, r5 - ldr r5, [sp, 0x34] - lsls r0, 24 - lsrs r0, 24 - lsls r2, 24 - lsrs r2, 24 - lsls r3, 24 - lsrs r3, 24 - lsls r4, 24 - lsrs r4, 24 - lsls r6, 24 - lsrs r6, 24 - lsls r5, 24 - lsrs r5, 24 - str r4, [sp] - str r6, [sp, 0x4] - lsls r4, r5, 1 - adds r4, r5 - ldr r5, =gUnknown_0861F31C - adds r4, r5 - str r4, [sp, 0x8] - mov r4, r8 - lsls r4, 24 - asrs r4, 24 - str r4, [sp, 0xC] - str r1, [sp, 0x10] - movs r1, 0x7 - bl AddTextPrinterParameterized2 - add sp, 0x14 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C6C94 - - thumb_func_start sub_81C6CEC -sub_81C6CEC: @ 81C6CEC - push {lr} - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - movs r2, 0x1 - movs r3, 0xE - bl SetWindowBorderStyle - movs r0, 0x1 - bl schedule_bg_copy_tilemap_to_vram - pop {r0} - bx r0 - thumb_func_end sub_81C6CEC - - thumb_func_start sub_81C6D08 -sub_81C6D08: @ 81C6D08 - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gUnknown_0203CF2C - ldr r1, [r1] - ldr r2, =0x0000080f - adds r1, r2 - adds r1, r0 - ldrb r0, [r1] - bx lr - .pool - thumb_func_end sub_81C6D08 - - thumb_func_start sub_81C6D24 -sub_81C6D24: @ 81C6D24 - push {r4,lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, =gUnknown_0203CF2C - ldr r3, =0x0000080f - adds r1, r2, r3 - ldr r0, [r0] - adds r4, r0, r1 - ldrb r0, [r4] - cmp r0, 0xFF - bne _081C6D58 - lsls r0, r2, 3 - ldr r1, =gUnknown_0861F350 - adds r0, r1 - bl AddWindow - strb r0, [r4] - ldrb r0, [r4] - movs r1, 0 - movs r2, 0x1 - movs r3, 0xE - bl SetWindowBorderStyle - movs r0, 0x1 - bl schedule_bg_copy_tilemap_to_vram -_081C6D58: - ldrb r0, [r4] - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81C6D24 - - thumb_func_start sub_81C6D6C -sub_81C6D6C: @ 81C6D6C - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gUnknown_0203CF2C - ldr r2, =0x0000080f - adds r0, r2 - ldr r1, [r1] - adds r4, r1, r0 - ldrb r0, [r4] - cmp r0, 0xFF - beq _081C6D9E - movs r1, 0 - bl sub_8198070 - ldrb r0, [r4] - bl ClearWindowTilemap - ldrb r0, [r4] - bl RemoveWindow - movs r0, 0x1 - bl schedule_bg_copy_tilemap_to_vram - movs r0, 0xFF - strb r0, [r4] -_081C6D9E: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C6D6C thumb_func_start sub_81C6DAC sub_81C6DAC: @ 81C6DAC @@ -3353,8 +230,8 @@ _081C6F84: .pool thumb_func_end sub_81C6F68 - thumb_func_start sub_81C6F90 -sub_81C6F90: @ 81C6F90 + thumb_func_start ShowItemImage +ShowItemImage: @ 81C6F90 push {r4-r6,lr} lsls r0, 16 lsrs r6, r0, 16 @@ -3397,7 +274,7 @@ _081C6FE0: pop {r0} bx r0 .pool - thumb_func_end sub_81C6F90 + thumb_func_end ShowItemImage thumb_func_start sub_81C6FF8 sub_81C6FF8: @ 81C6FF8 diff --git a/include/global.h b/include/global.h index ab31e3c5d8..0fff11d09d 100644 --- a/include/global.h +++ b/include/global.h @@ -27,6 +27,13 @@ #define ARRAY_COUNT(array) (size_t)(sizeof(array) / sizeof((array)[0])) +#define SWAP(a, b, temp) \ +{ \ + temp = a; \ + a = b; \ + b = temp; \ +} + // useful math macros // Converts a number to Q8.8 fixed-point format diff --git a/include/item_use.h b/include/item_use.h index 7874f7ee9f..8f0ce272bb 100644 --- a/include/item_use.h +++ b/include/item_use.h @@ -1,8 +1,6 @@ #ifndef GUARD_ITEM_USE_H #define GUARD_ITEM_USE_H -extern u16 gSpecialVar_ItemId; - void ItemUseOutOfBattle_Mail(u8); void ItemUseOutOfBattle_Bike(u8); void ItemUseOnFieldCB_Bike(u8); @@ -53,5 +51,6 @@ void ItemUseInBattle_EnigmaBerry(u8); void ItemUseOutOfBattle_CannotUse(u8); u8 CheckIfItemIsTMHMOrEvolutionStone(u16 itemId); void sub_80FDD10(u8); +void DisplayItemMessageInBattlePyramid(u8 taskId, const u8* str, void(*callback)(u8 taskId)); #endif // GUARD_ITEM_USE_H diff --git a/include/list_menu.h b/include/list_menu.h index ee3d60f3da..84c38306b6 100644 --- a/include/list_menu.h +++ b/include/list_menu.h @@ -11,7 +11,8 @@ #define LIST_MULTIPLE_SCROLL_DPAD 1 #define LIST_MULTIPLE_SCROLL_L_R 2 -enum { +enum +{ SCROLL_ARROW_LEFT, SCROLL_ARROW_RIGHT, SCROLL_ARROW_UP, diff --git a/include/menu.h b/include/menu.h index 8ead4ea081..a13fe73ec7 100644 --- a/include/menu.h +++ b/include/menu.h @@ -66,9 +66,9 @@ u16 sub_8198AA4(u8, u8, u8, u8, u8, u8, u16); void *malloc_and_decompress(const void *src, int *sizeOut); u16 copy_decompressed_tile_data_to_vram(u8 bgId, const void *src, u16 size, u16 offset, u8 mode); void AddTextPrinterForMessage(bool8 allowSkippingDelayWithButtonPress); -void AddItemMenuActionTextPrinters (u8, u8, u8, u8, u8, u8, u8, const struct MenuAction*, const u8*); -void sub_8198DBC(u8, u8, u8, u8, u8, u8, u8, const struct MenuAction*, const u8*); -u8 sub_8199944(u8, u8, u8, u8, u8); +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_8199134(s8, s8); u8 GetStartMenuWindowId(void); void sub_819A2BC(u8, u8); diff --git a/include/strings.h b/include/strings.h index f88425b26d..e72360563d 100644 --- a/include/strings.h +++ b/include/strings.h @@ -776,6 +776,23 @@ extern const u8 gText_TeachWhichMoveToPkmn[]; extern const u8 gText_GiveUpTeachingNewMove[]; extern const u8 gText_TeachX[]; +extern const u8 gText_DadsAdvice[]; +extern const u8 gText_CantDismountBike[]; +extern const u8 gText_ItemFinderNothing[]; +extern const u8 gText_ItemFinderNearby[]; +extern const u8 gText_ItemFinderOnTop[]; +extern const u8 gText_CoinCase[]; +extern const u8 gText_PowderQty[]; +extern const u8 gText_BootedUpHM[]; +extern const u8 gText_BootedUpTM[]; +extern const u8 gText_TMHMContainedVar1[]; +extern const u8 gText_PlayerUsedVar2[]; +extern const u8 gText_RepelEffectsLingered[]; +extern const u8 gText_UsedVar2WildLured[]; +extern const u8 gText_UsedVar2WildRepelled[]; +extern const u8 gText_BoxFull[]; +extern const u8 gText_WontHaveEffect[]; + extern const u8 gText_LevelSymbol[]; extern const u8 gText_PkmnInfo[]; extern const u8 gText_PkmnSkills[]; @@ -824,4 +841,6 @@ extern const u8 gText_RibbonsVar1[]; extern const u8 gText_OneDash[]; extern const u8 gText_TwoDashes[]; +extern const u8 *const gReturnToXStringsTable2[]; + #endif //GUARD_STRINGS_H diff --git a/src/battle_dome.c b/src/battle_dome.c index 0183811cd4..9f400bc7a0 100644 --- a/src/battle_dome.c +++ b/src/battle_dome.c @@ -2810,23 +2810,16 @@ static void CalcDomeMonStats(u16 species, s32 level, s32 ivs, u8 evBits, u8 natu CALC_STAT(baseSpDefense, STAT_SPDEF); } -#define SWAP_16(x, y) \ -{ \ - temp = x; \ - x = y; \ - y = temp; \ -} - static void SwapDomeTrainers(s32 id1, s32 id2, u16 *statsArray) { s32 i; u16 temp; - SWAP_16(statsArray[id1], statsArray[id2]); - SWAP_16(gSaveBlock2Ptr->frontier.domeTrainers[id1].trainerId, gSaveBlock2Ptr->frontier.domeTrainers[id2].trainerId); + SWAP(statsArray[id1], statsArray[id2], temp); + SWAP(gSaveBlock2Ptr->frontier.domeTrainers[id1].trainerId, gSaveBlock2Ptr->frontier.domeTrainers[id2].trainerId, temp); for (i = 0; i < 3; i++) - SWAP_16(gSaveBlock2Ptr->frontier.domeMonId[id1][i], gSaveBlock2Ptr->frontier.domeMonId[id2][i]); + SWAP(gSaveBlock2Ptr->frontier.domeMonId[id1][i], gSaveBlock2Ptr->frontier.domeMonId[id2][i], temp); } static void sub_818F9B0(void) diff --git a/src/battle_main.c b/src/battle_main.c index 9f9511c380..c31fb48d5d 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -4596,13 +4596,10 @@ static void sub_803CDF8(void) void SwapTurnOrder(u8 id1, u8 id2) { - u32 temp = gActionsByTurnOrder[id1]; - gActionsByTurnOrder[id1] = gActionsByTurnOrder[id2]; - gActionsByTurnOrder[id2] = temp; - - temp = gBattlerByTurnOrder[id1]; - gBattlerByTurnOrder[id1] = gBattlerByTurnOrder[id2]; - gBattlerByTurnOrder[id2] = temp; + u32 temp; + + SWAP(gActionsByTurnOrder[id1], gActionsByTurnOrder[id2], temp); + SWAP(gBattlerByTurnOrder[id1], gBattlerByTurnOrder[id2], temp); } u8 GetWhoStrikesFirst(u8 battler1, u8 battler2, bool8 ignoreChosenMoves) diff --git a/src/battle_pyramid_bag.c b/src/battle_pyramid_bag.c index f9cc48a9a8..721dfca988 100644 --- a/src/battle_pyramid_bag.c +++ b/src/battle_pyramid_bag.c @@ -7,6 +7,7 @@ #include "gpu_regs.h" #include "malloc.h" #include "menu.h" +#include "overworld.h" #include "menu_helpers.h" #include "overworld.h" #include "palette.h" @@ -14,21 +15,46 @@ #include "scanline_effect.h" #include "script.h" #include "task.h" +#include "decompress.h" +#include "graphics.h" +#include "string_util.h" +#include "list_menu.h" +#include "strings.h" +#include "item.h" +#include "sound.h" +#include "item_menu.h" +#include "mail.h" +#include "item_use.h" +#include "event_data.h" +#include "text_window.h" +#include "international_string_util.h" +#include "constants/items.h" #include "constants/rgb.h" +#include "constants/songs.h" EWRAM_DATA struct { - u32 unk0; - u8 filler4[0x804 - 0x4]; - u8 unk804[11]; - u8 unk80F[5]; + MainCallback callback2; + u8 tilemapBuffer[0x800]; + u8 itemsSpriteIds[PYRAMID_BAG_ITEMS_COUNT + 1]; + u8 windowIds[5]; u8 unk814; - u8 filler815; - s8 unk816; - u8 filler817[0x984 - 0x817]; - u16 unk984; + u8 unk815; + u8 unk816; + const u8 *menuActionIds; + u8 filler81C; + u8 filler81D; + u8 filler81E; + u8 filler81F; + u8 menuActionsCount; + u8 listMenuCount; + u8 listMenuMaxShown; + struct ListMenuItem bagListItems[PYRAMID_BAG_ITEMS_COUNT + 1]; + u8 itemStrings[PYRAMID_BAG_ITEMS_COUNT + 1][ITEM_NAME_LENGTH + 10]; + s16 unk984; u8 filler986[0x98C - 0x986]; } *gUnknown_0203CF2C = NULL; + EWRAM_DATA struct { void (*callback)(void); @@ -38,14 +64,44 @@ EWRAM_DATA struct } gUnknown_0203CF30 = {0}; extern const struct BgTemplate gUnknown_0861F2B4[3]; +extern const struct WindowTemplate gUnknown_0861F328[]; +extern const struct WindowTemplate gUnknown_0861F350[]; +extern const struct CompressedSpriteSheet gUnknown_0861F3CC; +extern const struct ListMenuTemplate gUnknown_0861F2C0; +extern const u8 gUnknown_0861F310[1]; +extern const u8 gUnknown_0861F308[4]; +extern const u8 gUnknown_0861F30E[2]; +extern const u8 gUnknown_0861F30C[2]; +extern const struct MenuAction gUnknown_0861F2D8[]; +extern const struct YesNoFuncTable gUnknown_0861F314; +extern const u16 gUnknown_0860F074[]; +extern const u8 gUnknown_0861F31C[][3]; +// This file's functions. void sub_81C4F98(u8 a0, void (*callback)(void)); void sub_81C4F44(u8 taskId); +void Task_HandlePyramidBagInput(u8 taskId); +void sub_81C5B4C(u8 taskId); +void sub_81C67CC(u8 taskId); +void sub_81C5D20(u8 taskId); +void sub_81C674C(u8 taskId); +void sub_81C5FE4(u8 taskId); +void sub_81C5F68(u8 taskId); +void sub_81C6714(u8 taskId); +void sub_81C66EC(u8 taskId); +void sub_81C629C(u8 taskId); +void sub_81C6350(u8 taskId); +void sub_81C64B4(u8 taskId); +void sub_81C65CC(u8 taskId); +void sub_81C66AC(u8 taskId); +void sub_81C6964(u8 taskId); +void sub_81C68B0(u8 taskId); +void sub_81C6A14(u8 taskId); void sub_81C504C(void); bool8 sub_81C5078(void); void sub_81C51DC(void); bool8 sub_81C5238(void); -void sub_81C5314(void); +void SetBagItemsListTemplate(void); void sub_81C5674(void); void sub_81C56F8(void); void sub_81C5924(void); @@ -54,7 +110,28 @@ void sub_81C5A20(void); void sub_81C6BD8(void); void sub_81C6EF4(void); void sub_81C700C(void); +void sub_81C6E98(void); +void sub_81C6F20(void); +void sub_81C6404(void); +void sub_81C6E1C(void); +void ShowItemImage(u16 itemId, u8 tagIdAdder); +void PyramidBag_CopyItemName(u8 *dst, u16 itemId); +void sub_81C6FF8(u8 arg0); +void PrintItemDescription(s32 listMenuId); +void sub_81C5AB8(u8 y, u8 arg1); +void PrintOnWindow_Font1(u8 windowId, const u8 *src, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, u8 speed, u8 colorTableId); +void PrintOnWindow_Font7(u8 windowId, const u8 *src, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, u8 speed, u8 colorTableId); +u8 sub_81C6D24(u8 windowArrayId); +void sub_81C6D6C(u8 windowArrayId); +void sub_81C5EAC(u8 windowId); +void sub_81C5F08(u8 windowId, u8 horizontalCount, u8 verticalCount); +bool8 sub_81C616C(s8 arg0); +void sub_81C6DAC(u8 taskId, const struct YesNoFuncTable *yesNoTable); +void sub_81C6CEC(u8 windowId); +void sub_81C704C(u8 arg0); +void sub_81C7028(u8 arg0); +// code void sub_81C4EEC(void) { gUnknown_0203CF30.unk6 = 0; @@ -99,22 +176,18 @@ void sub_81C4F98(u8 a0, void (*callback)(void)) gUnknown_0203CF2C = AllocZeroed(sizeof(*gUnknown_0203CF2C)); if (a0 != 4) - { gUnknown_0203CF30.unk4 = a0; - } if (callback != NULL) - { gUnknown_0203CF30.callback = callback; - } - gUnknown_0203CF2C->unk0 = 0; - gUnknown_0203CF2C->unk814 = -1; - gUnknown_0203CF2C->unk816 = -1; + gUnknown_0203CF2C->callback2 = NULL; + gUnknown_0203CF2C->unk814 = 0xFF; + gUnknown_0203CF2C->unk816 = 0xFF; + + memset(gUnknown_0203CF2C->itemsSpriteIds, 0xFF, sizeof(gUnknown_0203CF2C->itemsSpriteIds)); + memset(gUnknown_0203CF2C->windowIds, 0xFF, sizeof(gUnknown_0203CF2C->windowIds)); - memset(gUnknown_0203CF2C->unk804, 0xFF, sizeof(gUnknown_0203CF2C->unk804)); - memset(gUnknown_0203CF2C->unk80F, 0xFF, sizeof(gUnknown_0203CF2C->unk80F)); - SetMainCallback2(sub_81C504C); } @@ -194,7 +267,7 @@ bool8 sub_81C5078(void) gMain.state++; break; case 10: - sub_81C5314(); + SetBagItemsListTemplate(); gMain.state++; break; case 11: @@ -235,14 +308,940 @@ void sub_81C51DC(void) ResetVramOamAndBgCntRegs(); ResetBgsAndClearDma3BusyFlags(0); InitBgsFromTemplates(0, gUnknown_0861F2B4, ARRAY_COUNT(gUnknown_0861F2B4)); - SetBgTilemapBuffer(2, gUnknown_0203CF2C->filler4); + SetBgTilemapBuffer(2, gUnknown_0203CF2C->tilemapBuffer); ResetAllBgsCoordinates(); schedule_bg_copy_tilemap_to_vram(2); SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 | - DISPCNT_OBJ_1D_MAP | + DISPCNT_OBJ_1D_MAP | DISPCNT_OBJ_ON); ShowBg(0); ShowBg(1); ShowBg(2); SetGpuReg(REG_OFFSET_BLDCNT, 0); } + +extern const u8 gUnknown_08D9AE04[]; +extern const u8 gUnknown_08D9AF44[]; + +bool8 sub_81C5238(void) +{ + switch (gUnknown_0203CF2C->unk984) + { + case 0: + reset_temp_tile_data_buffers(); + decompress_and_copy_tile_data_to_vram(2, gBagScreen_Gfx, 0, 0, 0); + gUnknown_0203CF2C->unk984++; + break; + case 1: + if (free_temp_tile_data_buffers_if_possible() != TRUE) + { + LZDecompressWram(gUnknown_08D9AE04, gUnknown_0203CF2C->tilemapBuffer); + gUnknown_0203CF2C->unk984++; + } + break; + case 2: + LoadCompressedPalette(gUnknown_08D9AF44, 0, 0x20); + gUnknown_0203CF2C->unk984++; + break; + case 3: + LoadCompressedObjectPic(&gUnknown_0861F3CC); + gUnknown_0203CF2C->unk984++; + break; + case 4: + sub_81C6E98(); + gUnknown_0203CF2C->unk984++; + break; + default: + LoadListMenuArrowsGfx(); + gUnknown_0203CF2C->unk984 = 0; + return TRUE; + } + + return FALSE; +} + +void SetBagItemsListTemplate(void) +{ + u16 i; + u16 *pyramidItems = gSaveBlock2Ptr->frontier.pyramidBag.itemId[gSaveBlock2Ptr->frontier.lvlMode]; + + for (i = 0; i < gUnknown_0203CF2C->listMenuCount - 1; i++) + { + PyramidBag_CopyItemName(gUnknown_0203CF2C->itemStrings[i], pyramidItems[i]); + gUnknown_0203CF2C->bagListItems[i].name = gUnknown_0203CF2C->itemStrings[i]; + gUnknown_0203CF2C->bagListItems[i].id = i; + } + StringCopy(gUnknown_0203CF2C->itemStrings[i], gText_CloseBag); + gUnknown_0203CF2C->bagListItems[i].name = gUnknown_0203CF2C->itemStrings[i]; + gUnknown_0203CF2C->bagListItems[i].id = LIST_B_PRESSED; + gMultiuseListMenuTemplate = gUnknown_0861F2C0; + gMultiuseListMenuTemplate.totalItems = gUnknown_0203CF2C->listMenuCount; + gMultiuseListMenuTemplate.items = gUnknown_0203CF2C->bagListItems; + gMultiuseListMenuTemplate.maxShowed = gUnknown_0203CF2C->listMenuMaxShown; +} + +void PyramidBag_CopyItemName(u8 *dst, u16 itemId) +{ + if (ItemId_GetPocket(itemId) == POCKET_BERRIES) + { + ConvertIntToDecimalStringN(gStringVar1, ITEM_TO_BERRY(itemId), STR_CONV_MODE_LEADING_ZEROS, 2); + CopyItemName(itemId, gStringVar2); + StringExpandPlaceholders(dst, gText_UnkF908Var1Clear7Var2); + } + else + { + CopyItemName(itemId, dst); + } +} + +void PyramidBagMoveCursorFunc(s32 itemIndex, bool8 onInit, struct ListMenu *list) +{ + if (onInit != TRUE) + { + PlaySE(SE_SELECT); + sub_81C6F20(); + } + if (gUnknown_0203CF2C->unk814 == 0xFF) + { + sub_81C6FF8(gUnknown_0203CF2C->unk815 ^ 1); + if (itemIndex != LIST_B_PRESSED) + ShowItemImage(gSaveBlock2Ptr->frontier.pyramidBag.itemId[gSaveBlock2Ptr->frontier.lvlMode][itemIndex], gUnknown_0203CF2C->unk815); + else + ShowItemImage(0xFFFF, gUnknown_0203CF2C->unk815); + gUnknown_0203CF2C->unk815 ^= 1; + PrintItemDescription(itemIndex); + } +} + +void PrintItemQuantity(u8 windowId, s32 itemIndex, u8 y) +{ + s32 xAlign; + if (itemIndex == LIST_B_PRESSED) + return; + + if (gUnknown_0203CF2C->unk814 != 0xFF) + { + if (gUnknown_0203CF2C->unk814 == (u8)(itemIndex)) + sub_81C5AB8(y, 1); + else + sub_81C5AB8(y, 0xFF); + } + ConvertIntToDecimalStringN(gStringVar1, + gSaveBlock2Ptr->frontier.pyramidBag.quantity[gSaveBlock2Ptr->frontier.lvlMode][itemIndex], + STR_CONV_MODE_RIGHT_ALIGN, + 2); + StringExpandPlaceholders(gStringVar4, gText_xVar1); + xAlign = GetStringRightAlignXOffset(7, gStringVar4, 0x77); + PrintOnWindow_Font7(windowId, gStringVar4, xAlign, y, 0, 0, TEXT_SPEED_FF, 0); +} + +void PrintItemDescription(s32 listMenuId) +{ + const u8 *desc; + if (listMenuId != LIST_B_PRESSED) + { + desc = ItemId_GetDescription(gSaveBlock2Ptr->frontier.pyramidBag.itemId[gSaveBlock2Ptr->frontier.lvlMode][listMenuId]); + } + else + { + StringCopy(gStringVar1, gReturnToXStringsTable2[gUnknown_0203CF30.unk4]); + StringExpandPlaceholders(gStringVar4, gText_ReturnToVar1); + desc = gStringVar4; + } + FillWindowPixelBuffer(1, 0); + PrintOnWindow_Font1(1, desc, 3, 0, 0, 1, 0, 0); +} + +void sub_81C5674(void) +{ + if (gUnknown_0203CF2C->unk816 == 0xFF) + gUnknown_0203CF2C->unk816 = AddScrollIndicatorArrowPairParameterized(2, 172, 12, 148, gUnknown_0203CF2C->listMenuCount - gUnknown_0203CF2C->listMenuMaxShown, 0xB5E, 0xB5E, &gUnknown_0203CF30.unk8); +} + +void sub_81C56CC(void) +{ + if (gUnknown_0203CF2C->unk816 != 0xFF) + { + RemoveScrollIndicatorArrowPair(gUnknown_0203CF2C->unk816); + gUnknown_0203CF2C->unk816 = 0xFF; + } +} + +void sub_81C56F8(void) +{ + u8 taskId = CreateTask(Task_HandlePyramidBagInput, 0); + s16 *data = gTasks[taskId].data; + data[0] = ListMenuInit(&gMultiuseListMenuTemplate, gUnknown_0203CF30.unk8, gUnknown_0203CF30.unk6); +} + +void SwapItems(u8 id1, u8 id2) +{ + u16 temp; + u16 *itemIds = gSaveBlock2Ptr->frontier.pyramidBag.itemId[gSaveBlock2Ptr->frontier.lvlMode]; + u8 *quantities = gSaveBlock2Ptr->frontier.pyramidBag.quantity[gSaveBlock2Ptr->frontier.lvlMode]; + + SWAP(itemIds[id1], itemIds[id2], temp); + SWAP(quantities[id1], quantities[id2], temp); +} + +void MovePyramidBagItemSlotInList(u8 from, u8 to) +{ + u16 *itemIds = gSaveBlock2Ptr->frontier.pyramidBag.itemId[gSaveBlock2Ptr->frontier.lvlMode]; + u8 *quantities = gSaveBlock2Ptr->frontier.pyramidBag.quantity[gSaveBlock2Ptr->frontier.lvlMode]; + + if (from != to) + { + s16 i; + u16 firstSlotItemId = itemIds[from]; + u8 firstSlotQuantity = quantities[from]; + + if (to > from) + { + to--; + for (i = from; i < to; i++) + { + itemIds[i] = itemIds[i + 1]; + quantities[i] = quantities[i + 1]; + } + } + else + { + for (i = from; i > to; i--) + { + itemIds[i] = itemIds[i - 1]; + quantities[i] = quantities[i - 1]; + } + } + itemIds[to] = firstSlotItemId; + quantities[to] = firstSlotQuantity; + } +} + +void CompactItems(void) +{ + u8 i, j; + u16 *itemIds = gSaveBlock2Ptr->frontier.pyramidBag.itemId[gSaveBlock2Ptr->frontier.lvlMode]; + u8 *quantities = gSaveBlock2Ptr->frontier.pyramidBag.quantity[gSaveBlock2Ptr->frontier.lvlMode]; + + for (i = 0; i < PYRAMID_BAG_ITEMS_COUNT; i++) + { + if (itemIds[i] == 0 || quantities[i] == 0) + { + itemIds[i] = 0; + quantities[i] = 0; + } + } + for (i = 0; i < PYRAMID_BAG_ITEMS_COUNT - 1; i++) + { + for (j = i + 1; j < PYRAMID_BAG_ITEMS_COUNT; j++) + { + if (itemIds[i] == 0 || quantities[i] == 0) + SwapItems(i, j); + } + } +} + +void sub_81C5924(void) +{ + u16 i; + u16 *itemIds = gSaveBlock2Ptr->frontier.pyramidBag.itemId[gSaveBlock2Ptr->frontier.lvlMode]; + + CompactItems(); + gUnknown_0203CF2C->listMenuCount = 0; + for (i = 0; i < PYRAMID_BAG_ITEMS_COUNT; i++) + { + if (itemIds[i] != 0) + gUnknown_0203CF2C->listMenuCount++; + } + gUnknown_0203CF2C->listMenuCount++; + if (gUnknown_0203CF2C->listMenuCount > 8) + gUnknown_0203CF2C->listMenuMaxShown = 8; + else + gUnknown_0203CF2C->listMenuMaxShown = gUnknown_0203CF2C->listMenuCount; +} + +void sub_81C59BC(void) +{ + if (gUnknown_0203CF30.unk8 != 0 && gUnknown_0203CF30.unk8 + gUnknown_0203CF2C->listMenuMaxShown > gUnknown_0203CF2C->listMenuCount) + gUnknown_0203CF30.unk8 = gUnknown_0203CF2C->listMenuCount - gUnknown_0203CF2C->listMenuMaxShown; + if (gUnknown_0203CF30.unk8 + gUnknown_0203CF30.unk6 >= gUnknown_0203CF2C->listMenuCount) + { + if (gUnknown_0203CF2C->listMenuCount == 0) + gUnknown_0203CF30.unk6 = 0; + else + gUnknown_0203CF30.unk6 = gUnknown_0203CF2C->listMenuCount - 1; + } +} + +void sub_81C5A20(void) +{ + u8 i; + + if (gUnknown_0203CF30.unk6 > 4) + { + for (i = 0; i <= gUnknown_0203CF30.unk6 - 4; i++) + { + if (gUnknown_0203CF30.unk8 + gUnknown_0203CF2C->listMenuMaxShown == gUnknown_0203CF2C->listMenuCount) + { + // daycare.c sends its regards. + break; + } + gUnknown_0203CF30.unk6--; + gUnknown_0203CF30.unk8++; + } + } +} + +void sub_81C5A98(u8 listMenuTaskId, u8 arg1) +{ + u8 y = ListMenuGetYCoordForPrintingArrowCursor(listMenuTaskId); + sub_81C5AB8(y, arg1); +} + +void sub_81C5AB8(u8 y, u8 arg1) +{ + if (arg1 == 0xFF) + FillWindowPixelRect(0, 0, 0, y, GetMenuCursorDimensionByFont(1, 0), GetMenuCursorDimensionByFont(1, 1)); + else + PrintOnWindow_Font1(0, gText_SelectorArrow2, 0, y, 0, 0, 0, arg1); +} + +void sub_81C5B14(u8 taskId) +{ + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK); + gTasks[taskId].func = sub_81C5B4C; +} + +void sub_81C5B4C(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + if (!gPaletteFade.active) + { + DestroyListMenuTask(data[0], &gUnknown_0203CF30.unk8, &gUnknown_0203CF30.unk6); + if (gUnknown_0203CF2C->callback2 != NULL) + SetMainCallback2(gUnknown_0203CF2C->callback2); + else + SetMainCallback2(gUnknown_0203CF30.callback); + sub_81C56CC(); + ResetSpriteData(); + FreeAllSpritePalettes(); + FreeAllWindowBuffers(); + Free(gUnknown_0203CF2C); + DestroyTask(taskId); + } +} + +void Task_HandlePyramidBagInput(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + if (sub_81221EC() != TRUE && !gPaletteFade.active) + { + if (gMain.newKeys & SELECT_BUTTON) + { + if (gUnknown_0203CF30.unk4 != 2) + { + ListMenuGetScrollAndRow(data[0], &gUnknown_0203CF30.unk8, &gUnknown_0203CF30.unk6); + if (gUnknown_0203CF30.unk8 + gUnknown_0203CF30.unk6 != gUnknown_0203CF2C->listMenuCount - 1) + { + PlaySE(SE_SELECT); + sub_81C67CC(taskId); + } + } + } + else + { + s32 listId = ListMenuHandleInputGetItemId(data[0]); + ListMenuGetScrollAndRow(data[0], &gUnknown_0203CF30.unk8, &gUnknown_0203CF30.unk6); + switch (listId) + { + case LIST_NOTHING_CHOSEN: + break; + case LIST_B_PRESSED: + PlaySE(SE_SELECT); + gSpecialVar_ItemId = 0; + sub_81C5B14(taskId); + break; + default: + PlaySE(SE_SELECT); + gSpecialVar_ItemId = gSaveBlock2Ptr->frontier.pyramidBag.itemId[gSaveBlock2Ptr->frontier.lvlMode][listId]; + data[1] = listId; + data[2] = gSaveBlock2Ptr->frontier.pyramidBag.quantity[gSaveBlock2Ptr->frontier.lvlMode][listId]; + if (gUnknown_0203CF30.unk4 == 2) + sub_81C674C(taskId); + else + sub_81C5D20(taskId); + break; + } + } + } +} + +void sub_81C5D20(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + + sub_81C56CC(); + sub_81C5A98(data[0], 1); + switch (gUnknown_0203CF30.unk4) + { + default: + gUnknown_0203CF2C->menuActionIds = gUnknown_0861F308; + gUnknown_0203CF2C->menuActionsCount = ARRAY_COUNT(gUnknown_0861F308); + break; + case 1: + if (ItemId_GetBattleUsage(gSpecialVar_ItemId)) + { + gUnknown_0203CF2C->menuActionIds = gUnknown_0861F30E; + gUnknown_0203CF2C->menuActionsCount = ARRAY_COUNT(gUnknown_0861F30E); + } + else + { + gUnknown_0203CF2C->menuActionIds = gUnknown_0861F310; + gUnknown_0203CF2C->menuActionsCount = ARRAY_COUNT(gUnknown_0861F310); + } + break; + case 3: + gUnknown_0203CF2C->menuActionIds = gUnknown_0861F30C; + gUnknown_0203CF2C->menuActionsCount = ARRAY_COUNT(gUnknown_0861F30C); + break; + } + + CopyItemName(gSpecialVar_ItemId, gStringVar1); + StringExpandPlaceholders(gStringVar4, gText_Var1IsSelected); + FillWindowPixelBuffer(1, 0); + PrintOnWindow_Font1(1, gStringVar4, 3, 0, 0, 1, 0, 0); + if (gUnknown_0203CF2C->menuActionsCount == 1) + sub_81C5EAC(sub_81C6D24(0)); + else if (gUnknown_0203CF2C->menuActionsCount == 2) + sub_81C5EAC(sub_81C6D24(1)); + else + sub_81C5F08(sub_81C6D24(2), 2, 2); + + if (gUnknown_0203CF2C->menuActionsCount == 4) + gTasks[taskId].func = sub_81C5FE4; + else + gTasks[taskId].func = sub_81C5F68; +} + +void sub_81C5EAC(u8 windowId) +{ + AddItemMenuActionTextPrinters(windowId, 7, 8, 1, 0, 0x10, gUnknown_0203CF2C->menuActionsCount, gUnknown_0861F2D8, gUnknown_0203CF2C->menuActionIds); + InitMenuInUpperLeftCornerPlaySoundWhenAPressed(windowId, gUnknown_0203CF2C->menuActionsCount, 0); +} + +void sub_81C5F08(u8 windowId, u8 horizontalCount, u8 verticalCount) +{ + sub_8198DBC(windowId, 7, 8, 1, 0x38, horizontalCount, verticalCount, gUnknown_0861F2D8, gUnknown_0203CF2C->menuActionIds); + sub_8199944(windowId, 0x38, horizontalCount, verticalCount, 0); +} + +void sub_81C5F68(u8 taskId) +{ + if (sub_81221EC() != TRUE) + { + s32 id = Menu_ProcessInputNoWrapAround(); + switch (id) + { + case -2: + break; + case -1: + PlaySE(SE_SELECT); + gUnknown_0861F2D8[3].func.void_u8(taskId); + break; + default: + PlaySE(SE_SELECT); + if (gUnknown_0861F2D8[gUnknown_0203CF2C->menuActionIds[id]].func.void_u8 != NULL) + gUnknown_0861F2D8[gUnknown_0203CF2C->menuActionIds[id]].func.void_u8(taskId); + break; + } + } +} + +void sub_81C5FE4(u8 taskId) +{ + if (sub_81221EC() != TRUE) + { + s8 id = GetMenuCursorPos(); + if (gMain.newKeys & DPAD_UP) + { + if (id > 0 && sub_81C616C(id - 2)) + { + PlaySE(SE_SELECT); + sub_8199134(0, -1); + } + } + else if (gMain.newKeys & DPAD_DOWN) + { + if (id < gUnknown_0203CF2C->menuActionsCount - 2 && sub_81C616C(id + 2)) + { + PlaySE(SE_SELECT); + sub_8199134(0, 1); + } + } + else if (gMain.newKeys & DPAD_LEFT || GetLRKeysState() == 1) + { + if (id & 1 && sub_81C616C(id - 1)) + { + PlaySE(SE_SELECT); + sub_8199134(-1, 0); + } + } + else if (gMain.newKeys & DPAD_RIGHT || GetLRKeysState() == 2) + { + if (!(id & 1) && sub_81C616C(id + 1)) + { + PlaySE(SE_SELECT); + sub_8199134(1, 0); + } + } + else if (gMain.newKeys & A_BUTTON) + { + PlaySE(SE_SELECT); + if (gUnknown_0861F2D8[gUnknown_0203CF2C->menuActionIds[id]].func.void_u8 != NULL) + gUnknown_0861F2D8[gUnknown_0203CF2C->menuActionIds[id]].func.void_u8(taskId); + } + else if (gMain.newKeys & B_BUTTON) + { + PlaySE(SE_SELECT); + gUnknown_0861F2D8[3].func.void_u8(taskId); + } + } +} + +bool8 sub_81C616C(s8 arg0) +{ + if (arg0 < 0) + return FALSE; + else if (arg0 > gUnknown_0203CF2C->menuActionsCount) + return FALSE; + else if (gUnknown_0203CF2C->menuActionIds[arg0] == 5) + return FALSE; + else + return TRUE; +} + +void sub_81C61A8(void) +{ + if (gUnknown_0203CF2C->menuActionsCount == 1) + sub_81C6D6C(0); + else if (gUnknown_0203CF2C->menuActionsCount == 2) + sub_81C6D6C(1); + else + sub_81C6D6C(2); +} + +void sub_81C61E0(u8 taskId) +{ + u8 pocketId = ItemId_GetPocket(gSpecialVar_ItemId); + + if (pocketId == POCKET_KEY_ITEMS + || pocketId == POCKET_POKE_BALLS + || pocketId == POCKET_TM_HM + || ItemIsMail(gSpecialVar_ItemId) == TRUE) + { + sub_81C61A8(); + DisplayItemMessageInBattlePyramid(taskId, gText_DadsAdvice, sub_81C6714); + } + else if (ItemId_GetFieldFunc(gSpecialVar_ItemId) != NULL) + { + sub_81C61A8(); + FillWindowPixelBuffer(1, 0); + schedule_bg_copy_tilemap_to_vram(0); + ItemId_GetFieldFunc(gSpecialVar_ItemId)(taskId); + } +} + +void sub_81C6258(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + + sub_81C61A8(); + PrintItemDescription(data[1]); + schedule_bg_copy_tilemap_to_vram(0); + schedule_bg_copy_tilemap_to_vram(1); + sub_81C5A98(data[0], 0); + sub_81C629C(taskId); +} + +void sub_81C629C(u8 taskId) +{ + sub_81C5674(); + gTasks[taskId].func = Task_HandlePyramidBagInput; +} + +void sub_81C62C4(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + + sub_81C61A8(); + data[8] = 1; + if (data[2] == 1) + { + sub_81C6350(taskId); + } + else + { + CopyItemName(gSpecialVar_ItemId, gStringVar1); + StringExpandPlaceholders(gStringVar4, gText_TossHowManyVar1s); + FillWindowPixelBuffer(1, 0); + PrintOnWindow_Font1(1, gStringVar4, 3, 0, 0, 1, 0, 0); + sub_81C6404(); + gTasks[taskId].func = sub_81C64B4; + } +} + +void sub_81C6350(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + + CopyItemName(gSpecialVar_ItemId, gStringVar1); + ConvertIntToDecimalStringN(gStringVar2, data[8], STR_CONV_MODE_LEFT_ALIGN, 2); + StringExpandPlaceholders(gStringVar4, gText_ConfirmTossItems); + FillWindowPixelBuffer(1, 0); + PrintOnWindow_Font1(1, gStringVar4, 3, 0, 0, 1, 0, 0); + sub_81C6DAC(taskId, &gUnknown_0861F314); +} + +void sub_81C63D0(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + + PrintItemDescription(data[1]); + sub_81C5A98(data[0], 0); + sub_81C629C(taskId); +} + +void sub_81C6404(void) +{ + s32 x; + + ConvertIntToDecimalStringN(gStringVar1, 1, STR_CONV_MODE_LEADING_ZEROS, 2); + StringExpandPlaceholders(gStringVar4, gText_xVar1); + sub_81C6CEC(3); + x = GetStringCenterAlignXOffset(1, gStringVar4, 0x28); + PrintTextOnWindow(3, 1, gStringVar4, x, 2, 0, NULL); +} + +void sub_81C645C(s16 value) +{ + s32 x; + + ConvertIntToDecimalStringN(gStringVar1, value, STR_CONV_MODE_LEADING_ZEROS, 2); + StringExpandPlaceholders(gStringVar4, gText_xVar1); + x = GetStringCenterAlignXOffset(1, gStringVar4, 0x28); + PrintTextOnWindow(3, 1, gStringVar4, x, 2, 0, NULL); +} + +void sub_81C64B4(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + + if (AdjustQuantityAccordingToDPadInput(&data[8], data[2]) == TRUE) + { + sub_81C645C(data[8]); + } + else if (gMain.newKeys & A_BUTTON) + { + PlaySE(SE_SELECT); + sub_8198070(3, 0); + ClearWindowTilemap(3); + schedule_bg_copy_tilemap_to_vram(1); + sub_81C6350(taskId); + } + else if (gMain.newKeys & B_BUTTON) + { + PlaySE(SE_SELECT); + sub_8198070(3, 0); + ClearWindowTilemap(3); + schedule_bg_copy_tilemap_to_vram(1); + sub_81C63D0(taskId); + } +} + +void sub_81C654C(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + + CopyItemName(gSpecialVar_ItemId, gStringVar1); + ConvertIntToDecimalStringN(gStringVar2, data[8], STR_CONV_MODE_LEFT_ALIGN, 2); + StringExpandPlaceholders(gStringVar4, gText_ThrewAwayVar2Var1s); + FillWindowPixelBuffer(1, 0); + PrintOnWindow_Font1(1, gStringVar4, 3, 0, 0, 1, 0, 0); + gTasks[taskId].func = sub_81C65CC; +} + +void sub_81C65CC(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + u16 *scrollOffset = &gUnknown_0203CF30.unk8; + u16 *selectedRow = &gUnknown_0203CF30.unk6; + + if (gMain.newKeys & (A_BUTTON | B_BUTTON)) + { + PlaySE(SE_SELECT); + RemovePyramidBagItem(gSpecialVar_ItemId, data[8]); + DestroyListMenuTask(data[0], scrollOffset, selectedRow); + sub_81C5924(); + sub_81C59BC(); + SetBagItemsListTemplate(); + data[0] = ListMenuInit(&gMultiuseListMenuTemplate, *scrollOffset, *selectedRow); + schedule_bg_copy_tilemap_to_vram(0); + sub_81C629C(taskId); + } +} + +void sub_81C6648(u8 taskId) +{ + sub_81C61A8(); + if (ItemIsMail(gSpecialVar_ItemId) == TRUE) + { + DisplayItemMessageInBattlePyramid(taskId, gText_CantWriteMail, sub_81C66EC); + } + else if (!ItemId_GetImportance(gSpecialVar_ItemId)) + { + gUnknown_0203CF2C->callback2 = sub_81B7F60; + sub_81C5B14(taskId); + } + else + { + sub_81C66AC(taskId); + } +} + +void sub_81C66AC(u8 taskId) +{ + CopyItemName(gSpecialVar_ItemId, gStringVar1); + StringExpandPlaceholders(gStringVar4, gText_Var1CantBeHeld); + DisplayItemMessageInBattlePyramid(taskId, gStringVar4, sub_81C66EC); +} + +void sub_81C66EC(u8 taskId) +{ + if (gMain.newKeys & A_BUTTON) + { + PlaySE(SE_SELECT); + sub_81C6714(taskId); + } +} + +void sub_81C6714(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + + sub_81C6E1C(); + PrintItemDescription(data[1]); + sub_81C5A98(data[0], 0); + sub_81C629C(taskId); +} + +void sub_81C674C(u8 taskId) +{ + if (!itemid_80BF6D8_mail_related(gSpecialVar_ItemId)) + DisplayItemMessageInBattlePyramid(taskId, gText_CantWriteMail, sub_81C66EC); + else if (!ItemId_GetImportance(gSpecialVar_ItemId)) + sub_81C5B14(taskId); + else + sub_81C66AC(taskId); +} + +void sub_81C679C(u8 taskId) +{ + if (ItemId_GetBattleFunc(gSpecialVar_ItemId) != NULL) + { + sub_81C61A8(); + ItemId_GetBattleFunc(gSpecialVar_ItemId)(taskId); + } +} + +void sub_81C67CC(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + + data[1] = gUnknown_0203CF30.unk8 + gUnknown_0203CF30.unk6; + gUnknown_0203CF2C->unk814 = data[1]; + ListMenuSetUnkIndicatorsStructField(data[0], 0x10, 1); + CopyItemName(gSaveBlock2Ptr->frontier.pyramidBag.itemId[gSaveBlock2Ptr->frontier.lvlMode][data[1]], gStringVar1); + StringExpandPlaceholders(gStringVar4, gText_MoveVar1Where); + FillWindowPixelBuffer(1, 0); + PrintOnWindow_Font1(1, gStringVar4, 3, 0, 0, 1, 0, 0); + sub_81C5A98(data[0], 1); + sub_81C704C(data[1]); + gTasks[taskId].func = sub_81C68B0; +} + +void sub_81C68B0(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + if (sub_81221EC() != TRUE) + { + if (gMain.newKeys & SELECT_BUTTON) + { + PlaySE(SE_SELECT); + ListMenuGetScrollAndRow(data[0], &gUnknown_0203CF30.unk8, &gUnknown_0203CF30.unk6); + sub_81C6964(taskId); + } + else + { + s32 id = ListMenuHandleInputGetItemId(data[0]); + ListMenuGetScrollAndRow(data[0], &gUnknown_0203CF30.unk8, &gUnknown_0203CF30.unk6); + sub_81C7028(0); + sub_81C704C(gUnknown_0203CF30.unk6); + switch (id) + { + case LIST_NOTHING_CHOSEN: + break; + case LIST_B_PRESSED: + PlaySE(SE_SELECT); + if (gMain.newKeys & A_BUTTON) + sub_81C6964(taskId); + else + sub_81C6A14(taskId); + break; + default: + PlaySE(SE_SELECT); + sub_81C6964(taskId); + break; + } + } + } +} + +void sub_81C6964(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + u16 *scrollOffset = &gUnknown_0203CF30.unk8; + u16 *selectedRow = &gUnknown_0203CF30.unk6; + u16 var = *scrollOffset + *selectedRow; + + if (data[1] == var || data[1] == var - 1) + { + sub_81C6A14(taskId); + } + else + { + MovePyramidBagItemSlotInList(data[1], var); + gUnknown_0203CF2C->unk814 = 0xFF; + sub_81C7028(1); + DestroyListMenuTask(data[0], scrollOffset, selectedRow); + if (data[1] < var) + gUnknown_0203CF30.unk6--; + SetBagItemsListTemplate(); + data[0] = ListMenuInit(&gMultiuseListMenuTemplate, *scrollOffset, *selectedRow); + sub_81C629C(taskId); + } +} + +void sub_81C6A14(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + u16 *scrollOffset = &gUnknown_0203CF30.unk8; + u16 *selectedRow = &gUnknown_0203CF30.unk6; + + gUnknown_0203CF2C->unk814 = 0xFF; + sub_81C7028(1); + DestroyListMenuTask(data[0], scrollOffset, selectedRow); + if (data[1] < *scrollOffset + *selectedRow) + gUnknown_0203CF30.unk6--; + SetBagItemsListTemplate(); + data[0] = ListMenuInit(&gMultiuseListMenuTemplate, *scrollOffset, *selectedRow); + sub_81C629C(taskId); +} + +void sub_81C6A94(void) +{ + u8 i; + struct Pokemon *party = gPlayerParty; + u16 *newItems = Alloc(PYRAMID_BAG_ITEMS_COUNT * sizeof(u16)); + u8 *newQuantities = Alloc(PYRAMID_BAG_ITEMS_COUNT * sizeof(u8)); + u16 heldItem; + + memcpy(newItems, gSaveBlock2Ptr->frontier.pyramidBag.itemId[gSaveBlock2Ptr->frontier.lvlMode], PYRAMID_BAG_ITEMS_COUNT * sizeof(u16)); + memcpy(newQuantities, gSaveBlock2Ptr->frontier.pyramidBag.quantity[gSaveBlock2Ptr->frontier.lvlMode], PYRAMID_BAG_ITEMS_COUNT * sizeof(u8)); + for (i = 0; i < 3; i++) + { + heldItem = GetMonData(&party[i], MON_DATA_HELD_ITEM); + if (heldItem != 0 && !AddBagItem(heldItem, 1)) + { + memcpy(gSaveBlock2Ptr->frontier.pyramidBag.itemId[gSaveBlock2Ptr->frontier.lvlMode], newItems, PYRAMID_BAG_ITEMS_COUNT * sizeof(u16)); + memcpy(gSaveBlock2Ptr->frontier.pyramidBag.quantity[gSaveBlock2Ptr->frontier.lvlMode], newQuantities, PYRAMID_BAG_ITEMS_COUNT * sizeof(u8)); + Free(newItems); + Free(newQuantities); + gSpecialVar_Result = 1; + return; + } + } + + heldItem = 0; + for (i = 0; i < 3; i++) + { + SetMonData(&party[i], MON_DATA_HELD_ITEM, &heldItem); + } + gSpecialVar_Result = 0; + Free(newItems); + Free(newQuantities); +} + +void sub_81C6BD8(void) +{ + u8 i; + + InitWindows(gUnknown_0861F328); + DeactivateAllTextPrinters(); + LoadUserWindowBorderGfx(0, 0x1, 0xE0); + LoadMessageBoxGfx(0, 0xA, 0xD0); + LoadPalette(gUnknown_0860F074, 0xF0, 0x20); + + for (i = 0; i < 5; i++) + FillWindowPixelBuffer(i, 0); + + PutWindowTilemap(0); + PutWindowTilemap(1); + schedule_bg_copy_tilemap_to_vram(0); + schedule_bg_copy_tilemap_to_vram(1); +} + +void PrintOnWindow_Font1(u8 windowId, const u8 *src, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, u8 speed, u8 colorTableId) +{ + AddTextPrinterParameterized2(windowId, 1, x, y, letterSpacing, lineSpacing, gUnknown_0861F31C[colorTableId], speed, src); +} + +void PrintOnWindow_Font7(u8 windowId, const u8 *src, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, u8 speed, u8 colorTableId) +{ + AddTextPrinterParameterized2(windowId, 7, x, y, letterSpacing, lineSpacing, gUnknown_0861F31C[colorTableId], speed, src); +} + +void sub_81C6CEC(u8 windowId) +{ + SetWindowBorderStyle(windowId, 0, 1, 0xE); + schedule_bg_copy_tilemap_to_vram(1); +} + +u8 sub_81C6D08(u8 windowArrayId) +{ + return gUnknown_0203CF2C->windowIds[windowArrayId]; +} + +u8 sub_81C6D24(u8 windowArrayId) +{ + u8 *windowId = &gUnknown_0203CF2C->windowIds[windowArrayId]; + if (*windowId == 0xFF) + { + *windowId = AddWindow(&gUnknown_0861F350[windowArrayId]); + SetWindowBorderStyle(*windowId, FALSE, 1, 0xE); + schedule_bg_copy_tilemap_to_vram(1); + } + return *windowId; +} + +void sub_81C6D6C(u8 windowArrayId) +{ + u8 *windowId = &gUnknown_0203CF2C->windowIds[windowArrayId]; + if (*windowId != 0xFF) + { + sub_8198070(*windowId, FALSE); + ClearWindowTilemap(*windowId); + RemoveWindow(*windowId); + schedule_bg_copy_tilemap_to_vram(1); + *windowId = 0xFF; + } +} diff --git a/src/item.c b/src/item.c index 22894bbfff..29c2509892 100644 --- a/src/item.c +++ b/src/item.c @@ -752,9 +752,8 @@ u16 BagGetQuantityByPocketPosition(u8 pocketId, u16 pocketPos) static void SwapItemSlots(struct ItemSlot *a, struct ItemSlot *b) { - struct ItemSlot temp = *a; - *a = *b; - *b = temp; + struct ItemSlot temp; + SWAP(*a, *b, temp); } void CompactItemsInBagPocket(struct BagPocket *bagPocket) diff --git a/src/item_use.c b/src/item_use.c index 9031338dd4..23c829391b 100755 --- a/src/item_use.c +++ b/src/item_use.c @@ -29,44 +29,26 @@ #include "string_util.h" #include "task.h" #include "text.h" +#include "strings.h" +#include "pokeblock.h" +#include "menu.h" +#include "item_menu.h" -extern void(**gUnknown_0203CE54)(void); extern void(**gUnknown_0203CF2C)(void); extern void(*gUnknown_0203A0F4)(u8 taskId); extern void(*gUnknown_085920D8[])(void); extern void (*gUnknown_03006328)(u8, u16, TaskFunc); extern void unknown_ItemMenu_Confirm(u8 taskId); extern void sub_81C5B14(u8 taskId); -extern u8 gText_DadsAdvice[]; -extern u8 gText_CantDismountBike[]; -extern void sub_8197434(u8 a, u8 b); extern void ScriptUnfreezeEventObjects(void); extern void ItemUseOutOfBattle_TMHM(u8 a); extern void ItemUseOutOfBattle_EvolutionStone(u8 b); -extern void bag_menu_mail_related(void); -extern void OpenPokeblockCase(u8 a, void(*b)(void)); -extern void overworld_free_bg_tilemaps(void); -extern bool32 Overworld_IsBikingAllowed(void); extern bool8 IsPlayerFacingSurfableFishableWater(void); extern bool8 sub_81221AC(void); -extern u8 gText_ItemFinderNothing[]; -extern u8 gText_ItemFinderNearby[]; -extern u8 gText_ItemFinderOnTop[]; -extern u8 gText_CoinCase[]; -extern u8 gText_PowderQty[]; extern u8 gUnknown_085920E4[]; extern u8 Route102_EventScript_274482[]; extern u8 Route102_EventScript_2744C0[]; extern u8 BattleFrontier_OutsideEast_EventScript_242CFC[]; -extern u8 gText_BootedUpHM[]; -extern u8 gText_BootedUpTM[]; -extern u8 gText_TMHMContainedVar1[]; -extern u8 gText_PlayerUsedVar2[]; -extern u8 gText_RepelEffectsLingered[]; -extern u8 gText_UsedVar2WildLured[]; -extern u8 gText_UsedVar2WildRepelled[]; -extern u8 gText_BoxFull[]; -extern u8 gText_WontHaveEffect[]; extern int sub_80247BC(void); extern struct MapHeader* mapconnection_get_mapheader(struct MapConnection *connection); extern void SetUpItemUseCallback(u8 taskId); @@ -86,7 +68,6 @@ extern void sub_81C59BC(void); extern void sub_81AB9A8(u8); extern void sub_81ABA88(u8); extern void sub_80B7CC8(void); -extern void Overworld_ResetStateAfterDigEscRope(void); extern u8* sub_806CF78(u16); extern void sub_81B89F0(void); extern u8 GetItemEffectType(u16); @@ -115,8 +96,7 @@ void sub_80FE124(u8 taskId); void sub_80FE164(u8 taskId); void DisplayItemMessage(u8 taskId, u8 a, const u8* str, void(*callback)(u8 taskId)); -void DisplayItemMessageInBattlePyramid(u8 taskId, u8* str, void(*callback)(u8 taskId)); -void DisplayItemMessageOnField(u8 taskId, u8* str, void(*callback)(u8 taskId)); +void DisplayItemMessageOnField(u8 taskId, const u8* str, void(*callback)(u8 taskId)); void sub_81C6714(u8 taskId); void CleanUpAfterFailingToUseRegisteredKeyItemOnField(u8 taskId); void StartFishing(u8 a); @@ -137,7 +117,7 @@ void SetUpItemUseCallback(u8 taskId) type = ItemId_GetType(gSpecialVar_ItemId) - 1; if (!InBattlePyramid()) { - *gUnknown_0203CE54 = gUnknown_085920D8[type]; + gUnknown_0203CE54->unk0 = gUnknown_085920D8[type]; unknown_ItemMenu_Confirm(taskId); } else @@ -221,7 +201,7 @@ void sub_80FD254() void ItemUseOutOfBattle_Mail(u8 taskId) { - *gUnknown_0203CE54 = sub_80FD254; + gUnknown_0203CE54->unk0 = sub_80FD254; unknown_ItemMenu_Confirm(taskId); } @@ -617,7 +597,7 @@ void ItemUseOutOfBattle_PokeblockCase(u8 taskId) } else if (gTasks[taskId].data[3] != TRUE) { - *gUnknown_0203CE54 = sub_80FDBEC; + gUnknown_0203CE54->unk0 = sub_80FDBEC; unknown_ItemMenu_Confirm(taskId); } else @@ -679,7 +659,7 @@ void sub_80FDD10(u8 taskId) { gUnknown_0203A0F4 = sub_80FDD74; gFieldCallback = MapPostLoadHook_UseItem; - *gUnknown_0203CE54 = CB2_ReturnToField; + gUnknown_0203CE54->unk0 = CB2_ReturnToField; unknown_ItemMenu_Confirm(taskId); } else @@ -1002,7 +982,7 @@ void sub_80FE54C(u8 taskId) { if (!InBattlePyramid()) { - *gUnknown_0203CE54 = sub_81B89F0; + gUnknown_0203CE54->unk0 = sub_81B89F0; unknown_ItemMenu_Confirm(taskId); } else From 917b32ffbe15243207de849683f8933f56bdeb07 Mon Sep 17 00:00:00 2001 From: DizzyEggg <jajkodizzy@wp.pl> Date: Thu, 30 Aug 2018 20:10:57 +0200 Subject: [PATCH 146/234] Finish decompiling pyramid bag. --- asm/battle_pyramid_bag.s | 576 ------------------------- asm/party_menu.s | 2 +- asm/pokenav.s | 233 +++++++++++ data/battle_pyramid_bag.s | 54 --- include/battle_pyramid_bag.h | 49 +++ include/item_use.h | 1 - include/save.h | 2 +- ld_script.txt | 2 +- src/battle_pyramid_bag.c | 789 ++++++++++++++++++++++------------- src/item.c | 3 +- src/item_use.c | 6 +- src/start_menu.c | 9 +- 12 files changed, 782 insertions(+), 944 deletions(-) delete mode 100644 asm/battle_pyramid_bag.s create mode 100644 include/battle_pyramid_bag.h diff --git a/asm/battle_pyramid_bag.s b/asm/battle_pyramid_bag.s deleted file mode 100644 index 23ad7172ea..0000000000 --- a/asm/battle_pyramid_bag.s +++ /dev/null @@ -1,576 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - - - - thumb_func_start sub_81C6DAC -sub_81C6DAC: @ 81C6DAC - push {lr} - sub sp, 0x10 - adds r3, r1, 0 - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gUnknown_0861F370 - movs r2, 0x2 - str r2, [sp] - movs r2, 0x1 - str r2, [sp, 0x4] - movs r2, 0xE - str r2, [sp, 0x8] - str r3, [sp, 0xC] - movs r2, 0x1 - movs r3, 0 - bl CreateYesNoMenuWithCallbacks - add sp, 0x10 - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C6DAC - - thumb_func_start DisplayItemMessageInBattlePyramid -@ void DisplayItemMessageInBattlePyramid(u8 taskId, u8 *str, void ( *callback)(u8 taskId)) -DisplayItemMessageInBattlePyramid: @ 81C6DD8 - push {r4-r6,lr} - sub sp, 0x10 - adds r4, r0, 0 - adds r5, r1, 0 - adds r6, r2, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x2 - movs r1, 0x11 - bl FillWindowPixelBuffer - bl GetPlayerTextSpeed - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x1 - str r1, [sp] - str r0, [sp, 0x4] - str r5, [sp, 0x8] - str r6, [sp, 0xC] - adds r0, r4, 0 - movs r1, 0x2 - movs r2, 0xA - movs r3, 0xD - bl DisplayMessageAndContinueTask - movs r0, 0x1 - bl schedule_bg_copy_tilemap_to_vram - add sp, 0x10 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end DisplayItemMessageInBattlePyramid - - thumb_func_start sub_81C6E1C -sub_81C6E1C: @ 81C6E1C - push {lr} - movs r0, 0x2 - movs r1, 0 - bl sub_8197DF8 - movs r0, 0x2 - bl ClearWindowTilemap - movs r0, 0x1 - bl schedule_bg_copy_tilemap_to_vram - pop {r0} - bx r0 - thumb_func_end sub_81C6E1C - - thumb_func_start sub_81C6E38 -sub_81C6E38: @ 81C6E38 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gUnknown_0203CF2C - ldr r2, =0x00000804 - adds r1, r4, r2 - ldr r0, [r0] - adds r5, r0, r1 - ldrb r0, [r5] - cmp r0, 0xFF - beq _081C6E80 - ldr r0, =0x00001024 - adds r4, r0 - adds r0, r4, 0 - bl FreeSpriteTilesByTag - adds r0, r4, 0 - bl FreeSpritePaletteByTag - ldrb r1, [r5] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r4, =gSprites - adds r0, r4 - bl FreeSpriteOamMatrix - ldrb r1, [r5] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - bl DestroySprite - movs r0, 0xFF - strb r0, [r5] -_081C6E80: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C6E38 - - thumb_func_start sub_81C6E98 -sub_81C6E98: @ 81C6E98 - push {r4,lr} - sub sp, 0x8 - movs r0, 0x40 - bl Alloc - adds r4, r0, 0 - ldr r0, =gUnknown_08D9ADD0 - adds r1, r4, 0 - bl LZDecompressWram - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r1, =0x00000ca9 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 30 - lsrs r0, 25 - adds r0, r4, r0 - str r0, [sp] - ldr r1, =0xffff0000 - ldr r0, [sp, 0x4] - ands r0, r1 - ldr r1, =0x00001024 - orrs r0, r1 - str r0, [sp, 0x4] - mov r0, sp - bl LoadSpritePalette - adds r0, r4, 0 - bl Free - add sp, 0x8 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C6E98 - - thumb_func_start sub_81C6EF4 -sub_81C6EF4: @ 81C6EF4 - push {r4,lr} - ldr r0, =gUnknown_0203CF2C - ldr r4, [r0] - ldr r0, =0x00000804 - adds r4, r0 - ldr r0, =gUnknown_0861F3D4 - movs r1, 0x44 - movs r2, 0x38 - movs r3, 0 - bl CreateSprite - strb r0, [r4] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C6EF4 - - thumb_func_start sub_81C6F20 -sub_81C6F20: @ 81C6F20 - push {r4,lr} - ldr r0, =gUnknown_0203CF2C - ldr r0, [r0] - ldr r1, =0x00000804 - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r4, r0, r1 - adds r0, r4, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _081C6F50 - adds r0, r4, 0 - movs r1, 0x1 - bl StartSpriteAffineAnim - ldr r0, =sub_81C6F68 - str r0, [r4, 0x1C] -_081C6F50: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C6F20 - - thumb_func_start sub_81C6F68 -sub_81C6F68: @ 81C6F68 - push {r4,lr} - adds r4, r0, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _081C6F84 - adds r0, r4, 0 - movs r1, 0 - bl StartSpriteAffineAnim - ldr r0, =SpriteCallbackDummy - str r0, [r4, 0x1C] -_081C6F84: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C6F68 - - thumb_func_start ShowItemImage -ShowItemImage: @ 81C6F90 - push {r4-r6,lr} - lsls r0, 16 - lsrs r6, r0, 16 - lsls r1, 24 - lsrs r4, r1, 24 - ldr r0, =gUnknown_0203CF2C - ldr r2, =0x00000805 - adds r1, r4, r2 - ldr r0, [r0] - adds r5, r0, r1 - ldrb r0, [r5] - cmp r0, 0xFF - bne _081C6FE0 - ldr r0, =0x00001025 - adds r4, r0 - adds r0, r4, 0 - bl FreeSpriteTilesByTag - adds r0, r4, 0 - bl FreeSpritePaletteByTag - adds r0, r4, 0 - adds r1, r4, 0 - adds r2, r6, 0 - bl AddItemIconSprite - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x40 - beq _081C6FE0 - strb r2, [r5] - ldr r1, =gSprites - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r0, r1 - movs r1, 0x18 - strh r1, [r0, 0x24] - movs r1, 0x58 - strh r1, [r0, 0x26] -_081C6FE0: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end ShowItemImage - - thumb_func_start sub_81C6FF8 -sub_81C6FF8: @ 81C6FF8 - push {lr} - lsls r0, 24 - movs r1, 0x80 - lsls r1, 17 - adds r0, r1 - lsrs r0, 24 - bl sub_81C6E38 - pop {r0} - bx r0 - thumb_func_end sub_81C6FF8 - - thumb_func_start sub_81C700C -sub_81C700C: @ 81C700C - push {lr} - ldr r0, =gUnknown_0203CF2C - ldr r0, [r0] - ldr r1, =0x00000807 - adds r0, r1 - movs r1, 0x8 - bl sub_8122344 - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C700C - - thumb_func_start sub_81C7028 -sub_81C7028: @ 81C7028 - push {lr} - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - ldr r0, =gUnknown_0203CF2C - ldr r0, [r0] - ldr r1, =0x00000807 - adds r0, r1 - movs r1, 0x8 - bl sub_81223FC - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C7028 - - thumb_func_start sub_81C704C -sub_81C704C: @ 81C704C - push {lr} - adds r3, r0, 0 - lsls r3, 24 - ldr r0, =gUnknown_0203CF2C - ldr r0, [r0] - ldr r1, =0x00000807 - adds r0, r1 - lsrs r3, 4 - movs r1, 0x80 - lsls r1, 13 - adds r3, r1 - lsrs r3, 16 - movs r1, 0x88 - movs r2, 0x78 - bl sub_8122448 - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C704C - - thumb_func_start sub_81C7078 -sub_81C7078: @ 81C7078 - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r1, 0 - bl is_c1_link_related_active - cmp r0, 0 - bne _081C7090 - ldr r0, =sub_81C7170 - b _081C7092 - .pool -_081C7090: - ldr r0, =sub_81C71E4 -_081C7092: - lsls r1, r4, 24 - lsrs r1, 24 - bl CreateTask - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - movs r1, 0x1 - adds r2, r5, 0 - bl SetWordTaskArg - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r2, =gUnknown_0203CF3C - ldrb r1, [r2] - strh r1, [r0, 0xE] - ldrb r0, [r2] - adds r1, r0, 0x1 - strb r1, [r2] - lsls r0, 24 - lsrs r0, 8 - orrs r0, r4 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81C7078 - - thumb_func_start sub_81C70D8 -sub_81C70D8: @ 81C70D8 - push {lr} - ldr r1, =0x0000ffff - ands r1, r0 - lsrs r3, r0, 16 - ldr r2, =gTasks - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r1, r0, r2 - ldrb r0, [r1, 0x4] - cmp r0, 0 - beq _081C711C - ldr r2, [r1] - ldr r0, =sub_81C7170 - cmp r2, r0 - beq _081C70FE - ldr r0, =sub_81C71E4 - cmp r2, r0 - bne _081C711C -_081C70FE: - movs r2, 0xE - ldrsh r0, [r1, r2] - cmp r0, r3 - bne _081C711C - movs r0, 0x1 - b _081C711E - .pool -_081C711C: - movs r0, 0 -_081C711E: - pop {r1} - bx r1 - thumb_func_end sub_81C70D8 - - thumb_func_start sub_81C7124 -sub_81C7124: @ 81C7124 - push {r4-r6,lr} - adds r6, r0, 0 - movs r5, 0 - ldr r4, =gTasks -_081C712C: - ldrb r0, [r4, 0x4] - cmp r0, 0 - beq _081C7160 - ldr r1, [r4] - ldr r0, =sub_81C7170 - cmp r1, r0 - beq _081C7140 - ldr r0, =sub_81C71E4 - cmp r1, r0 - bne _081C7160 -_081C7140: - lsls r0, r5, 24 - lsrs r0, 24 - movs r1, 0x1 - bl GetWordTaskArg - cmp r0, r6 - bne _081C7160 - movs r0, 0x1 - b _081C716A - .pool -_081C7160: - adds r4, 0x28 - adds r5, 0x1 - cmp r5, 0xF - ble _081C712C - movs r0, 0 -_081C716A: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_81C7124 - - thumb_func_start sub_81C7170 -sub_81C7170: @ 81C7170 - push {r4-r7,lr} - lsls r0, 24 - lsrs r5, r0, 24 - adds r0, r5, 0 - movs r1, 0x1 - bl GetWordTaskArg - adds r6, r0, 0 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r4, r0, r1 - movs r7, 0 -_081C718C: - movs r1, 0 - ldrsh r0, [r4, r1] - bl _call_via_r6 - cmp r0, 0x4 - bhi _081C71D6 - lsls r0, 2 - ldr r1, =_081C71AC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_081C71AC: - .4byte _081C71C6 - .4byte _081C71C0 - .4byte _081C71DE - .4byte _081C71DA - .4byte _081C71CE -_081C71C0: - ldrh r0, [r4] - adds r0, 0x1 - b _081C71D8 -_081C71C6: - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] - b _081C71DE -_081C71CE: - adds r0, r5, 0 - bl DestroyTask - b _081C71DE -_081C71D6: - subs r0, 0x5 -_081C71D8: - strh r0, [r4] -_081C71DA: - cmp r7, 0 - beq _081C718C -_081C71DE: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_81C7170 - - thumb_func_start sub_81C71E4 -sub_81C71E4: @ 81C71E4 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - bl sub_8087598 - cmp r0, 0 - bne _081C724A - adds r0, r5, 0 - movs r1, 0x1 - bl GetWordTaskArg - adds r2, r0, 0 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r4, r0, r1 - movs r1, 0 - ldrsh r0, [r4, r1] - bl _call_via_r2 - cmp r0, 0x4 - bhi _081C7246 - lsls r0, 2 - ldr r1, =_081C7224 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_081C7224: - .4byte _081C7238 - .4byte _081C7238 - .4byte _081C724A - .4byte _081C724A - .4byte _081C723E -_081C7238: - ldrh r0, [r4] - adds r0, 0x1 - b _081C7248 -_081C723E: - adds r0, r5, 0 - bl DestroyTask - b _081C724A -_081C7246: - subs r0, 0x5 -_081C7248: - strh r0, [r4] -_081C724A: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_81C71E4 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/party_menu.s b/asm/party_menu.s index 92c4905a49..2d1faadab5 100644 --- a/asm/party_menu.s +++ b/asm/party_menu.s @@ -11626,7 +11626,7 @@ c2_815ABFC: @ 81B6254 bl GoToBagMenu b _081B6276 _081B626C: - ldr r0, =gUnknown_0203CF30 + ldr r0, =gPyramidBagCursorData ldr r1, [r0] movs r0, 0x4 bl sub_81C4F98 diff --git a/asm/pokenav.s b/asm/pokenav.s index 8adb3cbd91..b8165ec809 100644 --- a/asm/pokenav.s +++ b/asm/pokenav.s @@ -4,6 +4,239 @@ .syntax unified .text + + + + thumb_func_start sub_81C7078 +sub_81C7078: @ 81C7078 + push {r4,r5,lr} + adds r5, r0, 0 + adds r4, r1, 0 + bl is_c1_link_related_active + cmp r0, 0 + bne _081C7090 + ldr r0, =sub_81C7170 + b _081C7092 + .pool +_081C7090: + ldr r0, =sub_81C71E4 +_081C7092: + lsls r1, r4, 24 + lsrs r1, 24 + bl CreateTask + lsls r0, 24 + lsrs r4, r0, 24 + adds r0, r4, 0 + movs r1, 0x1 + adds r2, r5, 0 + bl SetWordTaskArg + ldr r1, =gTasks + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r0, r1 + ldr r2, =gUnknown_0203CF3C + ldrb r1, [r2] + strh r1, [r0, 0xE] + ldrb r0, [r2] + adds r1, r0, 0x1 + strb r1, [r2] + lsls r0, 24 + lsrs r0, 8 + orrs r0, r4 + pop {r4,r5} + pop {r1} + bx r1 + .pool + thumb_func_end sub_81C7078 + + thumb_func_start sub_81C70D8 +sub_81C70D8: @ 81C70D8 + push {lr} + ldr r1, =0x0000ffff + ands r1, r0 + lsrs r3, r0, 16 + ldr r2, =gTasks + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 3 + adds r1, r0, r2 + ldrb r0, [r1, 0x4] + cmp r0, 0 + beq _081C711C + ldr r2, [r1] + ldr r0, =sub_81C7170 + cmp r2, r0 + beq _081C70FE + ldr r0, =sub_81C71E4 + cmp r2, r0 + bne _081C711C +_081C70FE: + movs r2, 0xE + ldrsh r0, [r1, r2] + cmp r0, r3 + bne _081C711C + movs r0, 0x1 + b _081C711E + .pool +_081C711C: + movs r0, 0 +_081C711E: + pop {r1} + bx r1 + thumb_func_end sub_81C70D8 + + thumb_func_start sub_81C7124 +sub_81C7124: @ 81C7124 + push {r4-r6,lr} + adds r6, r0, 0 + movs r5, 0 + ldr r4, =gTasks +_081C712C: + ldrb r0, [r4, 0x4] + cmp r0, 0 + beq _081C7160 + ldr r1, [r4] + ldr r0, =sub_81C7170 + cmp r1, r0 + beq _081C7140 + ldr r0, =sub_81C71E4 + cmp r1, r0 + bne _081C7160 +_081C7140: + lsls r0, r5, 24 + lsrs r0, 24 + movs r1, 0x1 + bl GetWordTaskArg + cmp r0, r6 + bne _081C7160 + movs r0, 0x1 + b _081C716A + .pool +_081C7160: + adds r4, 0x28 + adds r5, 0x1 + cmp r5, 0xF + ble _081C712C + movs r0, 0 +_081C716A: + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end sub_81C7124 + + thumb_func_start sub_81C7170 +sub_81C7170: @ 81C7170 + push {r4-r7,lr} + lsls r0, 24 + lsrs r5, r0, 24 + adds r0, r5, 0 + movs r1, 0x1 + bl GetWordTaskArg + adds r6, r0, 0 + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + ldr r1, =gTasks + 0x8 + adds r4, r0, r1 + movs r7, 0 +_081C718C: + movs r1, 0 + ldrsh r0, [r4, r1] + bl _call_via_r6 + cmp r0, 0x4 + bhi _081C71D6 + lsls r0, 2 + ldr r1, =_081C71AC + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .pool + .align 2, 0 +_081C71AC: + .4byte _081C71C6 + .4byte _081C71C0 + .4byte _081C71DE + .4byte _081C71DA + .4byte _081C71CE +_081C71C0: + ldrh r0, [r4] + adds r0, 0x1 + b _081C71D8 +_081C71C6: + ldrh r0, [r4] + adds r0, 0x1 + strh r0, [r4] + b _081C71DE +_081C71CE: + adds r0, r5, 0 + bl DestroyTask + b _081C71DE +_081C71D6: + subs r0, 0x5 +_081C71D8: + strh r0, [r4] +_081C71DA: + cmp r7, 0 + beq _081C718C +_081C71DE: + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_81C7170 + + thumb_func_start sub_81C71E4 +sub_81C71E4: @ 81C71E4 + push {r4,r5,lr} + lsls r0, 24 + lsrs r5, r0, 24 + bl sub_8087598 + cmp r0, 0 + bne _081C724A + adds r0, r5, 0 + movs r1, 0x1 + bl GetWordTaskArg + adds r2, r0, 0 + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + ldr r1, =gTasks + 0x8 + adds r4, r0, r1 + movs r1, 0 + ldrsh r0, [r4, r1] + bl _call_via_r2 + cmp r0, 0x4 + bhi _081C7246 + lsls r0, 2 + ldr r1, =_081C7224 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .pool + .align 2, 0 +_081C7224: + .4byte _081C7238 + .4byte _081C7238 + .4byte _081C724A + .4byte _081C724A + .4byte _081C723E +_081C7238: + ldrh r0, [r4] + adds r0, 0x1 + b _081C7248 +_081C723E: + adds r0, r5, 0 + bl DestroyTask + b _081C724A +_081C7246: + subs r0, 0x5 +_081C7248: + strh r0, [r4] +_081C724A: + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_81C71E4 thumb_func_start CB2_PokeNav CB2_PokeNav: @ 81C7250 diff --git a/data/battle_pyramid_bag.s b/data/battle_pyramid_bag.s index 7327fb1f80..de459075f0 100644 --- a/data/battle_pyramid_bag.s +++ b/data/battle_pyramid_bag.s @@ -3,60 +3,6 @@ .section .rodata - .align 2 -gUnknown_0861F2B4:: @ 861F2B4 - .4byte 0x000011f0, 0x000001e1, 0x000021de - - .align 2 -gUnknown_0861F2C0:: @ 861F2C0 - .4byte 0x00000000, sub_81C5460, sub_81C5518, 0x00000000, 0x00080000, 0x07003021 - - .align 2 -gUnknown_0861F2D8:: @ 861F2D8 - .4byte gMenuText_Use, sub_81C61E0 - .4byte gMenuText_Toss, sub_81C62C4 - .4byte gMenuText_Give, sub_81C6648 - .4byte gText_Cancel2, sub_81C6258 - .4byte gMenuText_Use, sub_81C679C - .4byte gText_EmptyString2, NULL - -gUnknown_0861F308:: @ 861F308 - .byte 0x00, 0x02, 0x01, 0x03 - -gUnknown_0861F30C:: @ 861F30C - .byte 0x01, 0x03 - -gUnknown_0861F30E:: @ 861F30E - .byte 0x04, 0x03 - -gUnknown_0861F310:: @ 861F310 - .byte 0x03, 0x00, 0x00, 0x00 - -gUnknown_0861F314:: @ 861F314 - .4byte sub_81C654C - .4byte sub_81C63D0 - -gUnknown_0861F31C:: @ 861F31C - .byte 0x00, 0x02, 0x03, 0x00, 0x03, 0x01, 0x01, 0x02, 0x03, 0x00, 0x00, 0x00 - - .align 2 -gUnknown_0861F328:: @ 861F328 - window_template 0x00, 0x0e, 0x02, 0x0f, 0x10, 0x0f, 0x001e - window_template 0x00, 0x00, 0x0d, 0x0e, 0x06, 0x0f, 0x010e - window_template 0x01, 0x02, 0x0f, 0x1b, 0x04, 0x0f, 0x0162 - window_template 0x01, 0x18, 0x11, 0x05, 0x02, 0x0f, 0x01ce - null_window_template - - .align 2 -gUnknown_0861F350:: @ 861F350 - window_template 0x01, 0x16, 0x11, 0x07, 0x02, 0x0f, 0x01d8 - window_template 0x01, 0x16, 0x0f, 0x07, 0x04, 0x0f, 0x01d8 - window_template 0x01, 0x0f, 0x0f, 0x0e, 0x04, 0x0f, 0x01d8 - window_template 0x01, 0x0f, 0x0d, 0x0e, 0x06, 0x0f, 0x01d8 - - .align 2 -gUnknown_0861F370:: @ 861F370 - window_template 0x01, 0x18, 0x0f, 0x05, 0x04, 0x0f, 0x01d8 .align 2 gOamData_861F378:: @ 861F378 diff --git a/include/battle_pyramid_bag.h b/include/battle_pyramid_bag.h new file mode 100644 index 0000000000..5d5d8ccfa1 --- /dev/null +++ b/include/battle_pyramid_bag.h @@ -0,0 +1,49 @@ +#ifndef GUARD_BATTLE_PYRAMID_BAG_H +#define GUARD_BATTLE_PYRAMID_BAG_H + +#include "list_menu.h" + +struct PyramidBagResources +{ + void (*callback2)(void); + u8 tilemapBuffer[0x800]; + u8 itemsSpriteIds[PYRAMID_BAG_ITEMS_COUNT + 1]; + u8 windowIds[5]; + u8 unk814; + u8 unk815; + u8 scrollArrowSpriteId; + const u8 *menuActionIds; + u8 filler81C[0x820 - 0x81C]; + u8 menuActionsCount; + u8 listMenuCount; + u8 listMenuMaxShown; + struct ListMenuItem bagListItems[PYRAMID_BAG_ITEMS_COUNT + 1]; + u8 itemStrings[PYRAMID_BAG_ITEMS_COUNT + 1][ITEM_NAME_LENGTH + 10]; + s16 state; + u8 filler986[0x98C - 0x986]; +}; + +struct PyramidBagCursorData +{ + void (*callback)(void); + u8 unk4; + u16 cursorPosition; + u16 scrollPosition; +}; + +extern struct PyramidBagResources *gPyramidBagResources; +extern struct PyramidBagCursorData gPyramidBagCursorData; + +void CB2_PyramidBagMenuFromStartMenu(void); +void sub_81C4F84(void); +void sub_81C5924(void); +void sub_81C59BC(void); +void sub_81C4EFC(void); +void sub_81C4F98(u8 a0, void (*callback)(void)); +void sub_81C6714(u8 taskId); +void sub_81C6A94(void); +void sub_81C4F24(void); +void sub_81C5B14(u8 taskId); +void DisplayItemMessageInBattlePyramid(u8 taskId, const u8 *str, void (*callback)(u8 taskId)); + +#endif // GUARD_BATTLE_PYRAMID_BAG_H diff --git a/include/item_use.h b/include/item_use.h index 8f0ce272bb..37343f6e7a 100644 --- a/include/item_use.h +++ b/include/item_use.h @@ -51,6 +51,5 @@ void ItemUseInBattle_EnigmaBerry(u8); void ItemUseOutOfBattle_CannotUse(u8); u8 CheckIfItemIsTMHMOrEvolutionStone(u16 itemId); void sub_80FDD10(u8); -void DisplayItemMessageInBattlePyramid(u8 taskId, const u8* str, void(*callback)(u8 taskId)); #endif // GUARD_ITEM_USE_H diff --git a/include/save.h b/include/save.h index 7b271129a2..9859870b49 100644 --- a/include/save.h +++ b/include/save.h @@ -32,7 +32,7 @@ struct SaveSectionOffsets }; // Emerald changes this definition to be the sectors per slot. -#define NUM_SECTORS_PER_SLOT 16 // move to save.h +#define NUM_SECTORS_PER_SLOT 16 #define UNKNOWN_CHECK_VALUE 0x8012025 diff --git a/ld_script.txt b/ld_script.txt index a4219faf30..668cf7c5a7 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -267,7 +267,6 @@ SECTIONS { src/pokemon_summary_screen.o(.text); src/unk_pokedex_area_screen_helper.o(.text); src/battle_pyramid_bag.o(.text); - asm/battle_pyramid_bag.o(.text); asm/pokenav.o(.text); src/match_call.o(.text); asm/pokenav.o(.text.after.match.call); @@ -545,6 +544,7 @@ SECTIONS { src/berry_fix_program.o(.rodata); src/pokemon_summary_screen.o(.rodata); src/unk_pokedex_area_screen_helper.o(.rodata); + src/battle_pyramid_bag.o(.rodata); data/battle_pyramid_bag.o(.rodata); data/pokenav.o(.rodata); src/match_call.o(.rodata); diff --git a/src/battle_pyramid_bag.c b/src/battle_pyramid_bag.c index 721dfca988..9cb35074b7 100644 --- a/src/battle_pyramid_bag.c +++ b/src/battle_pyramid_bag.c @@ -1,4 +1,5 @@ #include "global.h" +#include "battle_pyramid_bag.h" #include "main.h" #include "battle_controllers.h" #include "bg.h" @@ -28,122 +29,202 @@ #include "event_data.h" #include "text_window.h" #include "international_string_util.h" +#include "item_icon.h" #include "constants/items.h" #include "constants/rgb.h" #include "constants/songs.h" -EWRAM_DATA struct -{ - MainCallback callback2; - u8 tilemapBuffer[0x800]; - u8 itemsSpriteIds[PYRAMID_BAG_ITEMS_COUNT + 1]; - u8 windowIds[5]; - u8 unk814; - u8 unk815; - u8 unk816; - const u8 *menuActionIds; - u8 filler81C; - u8 filler81D; - u8 filler81E; - u8 filler81F; - u8 menuActionsCount; - u8 listMenuCount; - u8 listMenuMaxShown; - struct ListMenuItem bagListItems[PYRAMID_BAG_ITEMS_COUNT + 1]; - u8 itemStrings[PYRAMID_BAG_ITEMS_COUNT + 1][ITEM_NAME_LENGTH + 10]; - s16 unk984; - u8 filler986[0x98C - 0x986]; -} *gUnknown_0203CF2C = NULL; +EWRAM_DATA struct PyramidBagResources *gPyramidBagResources = NULL; +EWRAM_DATA struct PyramidBagCursorData gPyramidBagCursorData = {0}; -EWRAM_DATA struct -{ - void (*callback)(void); - u8 unk4; - u16 unk6; - u16 unk8; -} gUnknown_0203CF30 = {0}; - -extern const struct BgTemplate gUnknown_0861F2B4[3]; -extern const struct WindowTemplate gUnknown_0861F328[]; -extern const struct WindowTemplate gUnknown_0861F350[]; -extern const struct CompressedSpriteSheet gUnknown_0861F3CC; -extern const struct ListMenuTemplate gUnknown_0861F2C0; -extern const u8 gUnknown_0861F310[1]; -extern const u8 gUnknown_0861F308[4]; -extern const u8 gUnknown_0861F30E[2]; -extern const u8 gUnknown_0861F30C[2]; -extern const struct MenuAction gUnknown_0861F2D8[]; -extern const struct YesNoFuncTable gUnknown_0861F314; +// gfx +extern const u8 gUnknown_08D9ADD0[]; +extern const u8 gUnknown_08D9AE04[]; +extern const u8 gUnknown_08D9AF44[]; extern const u16 gUnknown_0860F074[]; -extern const u8 gUnknown_0861F31C[][3]; // This file's functions. -void sub_81C4F98(u8 a0, void (*callback)(void)); -void sub_81C4F44(u8 taskId); -void Task_HandlePyramidBagInput(u8 taskId); -void sub_81C5B4C(u8 taskId); -void sub_81C67CC(u8 taskId); -void sub_81C5D20(u8 taskId); -void sub_81C674C(u8 taskId); -void sub_81C5FE4(u8 taskId); -void sub_81C5F68(u8 taskId); -void sub_81C6714(u8 taskId); -void sub_81C66EC(u8 taskId); -void sub_81C629C(u8 taskId); -void sub_81C6350(u8 taskId); -void sub_81C64B4(u8 taskId); -void sub_81C65CC(u8 taskId); -void sub_81C66AC(u8 taskId); -void sub_81C6964(u8 taskId); -void sub_81C68B0(u8 taskId); -void sub_81C6A14(u8 taskId); -void sub_81C504C(void); -bool8 sub_81C5078(void); -void sub_81C51DC(void); -bool8 sub_81C5238(void); -void SetBagItemsListTemplate(void); -void sub_81C5674(void); -void sub_81C56F8(void); -void sub_81C5924(void); -void sub_81C59BC(void); -void sub_81C5A20(void); -void sub_81C6BD8(void); -void sub_81C6EF4(void); -void sub_81C700C(void); -void sub_81C6E98(void); -void sub_81C6F20(void); -void sub_81C6404(void); -void sub_81C6E1C(void); -void ShowItemImage(u16 itemId, u8 tagIdAdder); -void PyramidBag_CopyItemName(u8 *dst, u16 itemId); -void sub_81C6FF8(u8 arg0); -void PrintItemDescription(s32 listMenuId); -void sub_81C5AB8(u8 y, u8 arg1); -void PrintOnWindow_Font1(u8 windowId, const u8 *src, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, u8 speed, u8 colorTableId); -void PrintOnWindow_Font7(u8 windowId, const u8 *src, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, u8 speed, u8 colorTableId); -u8 sub_81C6D24(u8 windowArrayId); -void sub_81C6D6C(u8 windowArrayId); -void sub_81C5EAC(u8 windowId); -void sub_81C5F08(u8 windowId, u8 horizontalCount, u8 verticalCount); -bool8 sub_81C616C(s8 arg0); -void sub_81C6DAC(u8 taskId, const struct YesNoFuncTable *yesNoTable); -void sub_81C6CEC(u8 windowId); -void sub_81C704C(u8 arg0); -void sub_81C7028(u8 arg0); +static void Task_HandlePyramidBagInput(u8 taskId); +static void sub_81C4F44(u8 taskId); +static void sub_81C5B4C(u8 taskId); +static void Task_BeginItemSwap(u8 taskId); +static void sub_81C5D20(u8 taskId); +static void sub_81C674C(u8 taskId); +static void HandleMenuActionInput(u8 taskId); +static void HandleFewMenuActionsInput(u8 taskId); +static void sub_81C66EC(u8 taskId); +static void SetTaskToMainPyramidBagInputHandler(u8 taskId); +static void sub_81C6350(u8 taskId); +static void sub_81C64B4(u8 taskId); +static void sub_81C65CC(u8 taskId); +static void sub_81C66AC(u8 taskId); +static void PerformItemSwap(u8 taskId); +static void Task_ItemSwapHandleInput(u8 taskId); +static void sub_81C6A14(u8 taskId); +static void SetBagItemsListTemplate(void); +static void sub_81C504C(void); +static void sub_81C51DC(void); +static void AddScrollArrow(void); +static void sub_81C56F8(void); +static void sub_81C5A20(void); +static void sub_81C6BD8(void); +static void sub_81C6EF4(void); +static void sub_81C700C(void); +static void sub_81C6E98(void); +static void sub_81C6F20(void); +static void sub_81C6404(void); +static void sub_81C6E1C(void); +static bool8 sub_81C5238(void); +static bool8 sub_81C5078(void); +static void ShowItemImage(u16 itemId, u8 itemSpriteArrayId); +static void PyramidBag_CopyItemName(u8 *dst, u16 itemId); +static void sub_81C6FF8(u8 arg0); +static void PrintItemDescription(s32 listMenuId); +static void sub_81C5AB8(u8 y, u8 arg1); +static void PrintOnWindow_Font1(u8 windowId, const u8 *src, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, u8 speed, u8 colorTableId); +static void PrintOnWindow_Font7(u8 windowId, const u8 *src, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, u8 speed, u8 colorTableId); +static u8 sub_81C6D24(u8 windowArrayId); +static void sub_81C6D6C(u8 windowArrayId); +static void sub_81C5EAC(u8 windowId); +static void sub_81C5F08(u8 windowId, u8 horizontalCount, u8 verticalCount); +static bool8 IsAValidMenuAction(s8 arg0); +static void sub_81C6DAC(u8 taskId, const struct YesNoFuncTable *yesNoTable); +static void sub_81C6CEC(u8 windowId); +static void sub_81C704C(u8 y); +static void sub_81C7028(bool8 invisible); +static void sub_81C6F68(struct Sprite *sprite); +static void BagAction_UseOnField(u8 taskId); +static void BagAction_Toss(u8 taskId); +static void BagAction_Give(u8 taskId); +static void BagAction_Cancel(u8 taskId); +static void BagAction_UseInBattle(u8 taskId); +static void PyramidBagMoveCursorFunc(s32 itemIndex, bool8 onInit, struct ListMenu *list); +static void PrintItemQuantity(u8 windowId, s32 itemIndex, u8 y); +static void TossItem(u8 taskId); +static void DontTossItem(u8 taskId); + +// Const rom data. +static const struct BgTemplate gUnknown_0861F2B4[] = +{ + { + .bg = 0, + .charBaseIndex = 0, + .mapBaseIndex = 31, + .screenSize = 0, + .paletteMode = 0, + .priority = 1, + .baseTile = 0 + }, + { + .bg = 1, + .charBaseIndex = 0, + .mapBaseIndex = 30, + .screenSize = 0, + .paletteMode = 0, + .priority = 0, + .baseTile = 0 + }, + { + .bg = 2, + .charBaseIndex = 3, + .mapBaseIndex = 29, + .screenSize = 0, + .paletteMode = 0, + .priority = 2, + .baseTile = 0 + }, +}; + +static const struct ListMenuTemplate gUnknown_0861F2C0 = +{ + .items = NULL, + .moveCursorFunc = PyramidBagMoveCursorFunc, + .itemPrintFunc = PrintItemQuantity, + .totalItems = 0, + .maxShowed = 0, + .windowId = 0, + .header_X = 0, + .item_X = 8, + .cursor_X = 0, + .upText_Y = 1, + .cursorPal = 2, + .fillValue = 0, + .cursorShadowPal = 3, + .lettersSpacing = 0, + .itemVerticalPadding = 0, + .scrollMultiple = LIST_NO_MULTIPLE_SCROLL, + .fontId = 7, + .cursorKind = 0 +}; + +#define ACTION_USE_FIELD 0 +#define ACTION_TOSS 1 +#define ACTION_GIVE 2 +#define ACTION_CANCEL 3 +#define ACTION_USE_BATTLE 4 +#define ACTION_DUMMY 5 + +static const struct MenuAction sMenuActions[] = +{ + [ACTION_USE_FIELD] = { gMenuText_Use, BagAction_UseOnField }, + [ACTION_TOSS] = { gMenuText_Toss, BagAction_Toss }, + [ACTION_GIVE] = { gMenuText_Give, BagAction_Give }, + [ACTION_CANCEL] = { gText_Cancel2, BagAction_Cancel }, + [ACTION_USE_BATTLE] = { gMenuText_Use, BagAction_UseInBattle }, + [ACTION_DUMMY] = { gText_EmptyString2, NULL }, +}; + +static const u8 sFieldMenuActionIds[] = {ACTION_USE_FIELD, ACTION_GIVE, ACTION_TOSS, ACTION_CANCEL}; +static const u8 gUnknown_0861F30C[] = {ACTION_TOSS, ACTION_CANCEL}; +static const u8 sBattleMenuActionIds[] = {ACTION_USE_BATTLE, ACTION_CANCEL}; +static const u8 gUnknown_0861F310[] = {ACTION_CANCEL}; + +static const struct YesNoFuncTable sYesNoTossFuncions = +{ + TossItem, DontTossItem +}; + +static const u8 sColorTable[][3] = +{ + {0, 2, 3}, + {0, 3, 1}, + {1, 2, 3}, +}; + +static const struct WindowTemplate gUnknown_0861F328[] = +{ + {0x00, 0x0e, 0x02, 0x0f, 0x10, 0x0f, 0x001e}, + {0x00, 0x00, 0x0d, 0x0e, 0x06, 0x0f, 0x010e}, + {0x01, 0x02, 0x0f, 0x1b, 0x04, 0x0f, 0x0162}, + {0x01, 0x18, 0x11, 0x05, 0x02, 0x0f, 0x01ce}, + DUMMY_WIN_TEMPLATE, +}; + +static const struct WindowTemplate gUnknown_0861F350[] = +{ + {0x01, 0x16, 0x11, 0x07, 0x02, 0x0f, 0x01d8}, + {0x01, 0x16, 0x0f, 0x07, 0x04, 0x0f, 0x01d8}, + {0x01, 0x0f, 0x0f, 0x0e, 0x04, 0x0f, 0x01d8}, + {0x01, 0x0f, 0x0d, 0x0e, 0x06, 0x0f, 0x01d8}, + {0x01, 0x18, 0x0f, 0x05, 0x04, 0x0f, 0x01d8}, +}; + +extern const struct CompressedSpriteSheet gUnknown_0861F3CC; +extern const struct SpriteTemplate gUnknown_0861F3D4; // code void sub_81C4EEC(void) { - gUnknown_0203CF30.unk6 = 0; - gUnknown_0203CF30.unk8 = 0; + gPyramidBagCursorData.cursorPosition = 0; + gPyramidBagCursorData.scrollPosition = 0; } -void sub_81C4EFC(void) +void CB2_PyramidBagMenuFromStartMenu(void) { sub_81C4F98(0, CB2_ReturnToFieldWithOpenMenu); } -void sub_81C4F10(void) +static void sub_81C4F10(void) { sub_81C4F98(1, SetCB2ToReshowScreenAfterMenu2); } @@ -155,7 +236,7 @@ void sub_81C4F24(void) CreateTask(sub_81C4F44, 10); } -void sub_81C4F44(u8 taskId) +static void sub_81C4F44(u8 taskId) { if (!gPaletteFade.active) { @@ -168,30 +249,30 @@ void sub_81C4F44(u8 taskId) void sub_81C4F84(void) { - sub_81C4F98(4, gUnknown_0203CF30.callback); + sub_81C4F98(4, gPyramidBagCursorData.callback); } void sub_81C4F98(u8 a0, void (*callback)(void)) { - gUnknown_0203CF2C = AllocZeroed(sizeof(*gUnknown_0203CF2C)); + gPyramidBagResources = AllocZeroed(sizeof(*gPyramidBagResources)); if (a0 != 4) - gUnknown_0203CF30.unk4 = a0; + gPyramidBagCursorData.unk4 = a0; if (callback != NULL) - gUnknown_0203CF30.callback = callback; + gPyramidBagCursorData.callback = callback; - gUnknown_0203CF2C->callback2 = NULL; - gUnknown_0203CF2C->unk814 = 0xFF; - gUnknown_0203CF2C->unk816 = 0xFF; + gPyramidBagResources->callback2 = NULL; + gPyramidBagResources->unk814 = 0xFF; + gPyramidBagResources->scrollArrowSpriteId = 0xFF; - memset(gUnknown_0203CF2C->itemsSpriteIds, 0xFF, sizeof(gUnknown_0203CF2C->itemsSpriteIds)); - memset(gUnknown_0203CF2C->windowIds, 0xFF, sizeof(gUnknown_0203CF2C->windowIds)); + memset(gPyramidBagResources->itemsSpriteIds, 0xFF, sizeof(gPyramidBagResources->itemsSpriteIds)); + memset(gPyramidBagResources->windowIds, 0xFF, sizeof(gPyramidBagResources->windowIds)); SetMainCallback2(sub_81C504C); } -void sub_81C501C(void) +static void sub_81C501C(void) { RunTasks(); AnimateSprites(); @@ -200,19 +281,19 @@ void sub_81C501C(void) UpdatePaletteFade(); } -void sub_81C5038(void) +static void sub_81C5038(void) { LoadOam(); ProcessSpriteCopyRequests(); TransferPlttBuffer(); } -void sub_81C504C(void) +static void sub_81C504C(void) { while (sub_81221EC() != TRUE && sub_81C5078() != TRUE && sub_81221AC() != TRUE); } -bool8 sub_81C5078(void) +static bool8 sub_81C5078(void) { switch (gMain.state) { @@ -247,7 +328,7 @@ bool8 sub_81C5078(void) break; case 6: sub_81C51DC(); - gUnknown_0203CF2C->unk984 = 0; + gPyramidBagResources->state = 0; gMain.state++; break; case 7: @@ -279,7 +360,7 @@ bool8 sub_81C5078(void) gMain.state++; break; case 13: - sub_81C5674(); + AddScrollArrow(); gMain.state++; break; case 14: @@ -303,12 +384,12 @@ bool8 sub_81C5078(void) return FALSE; } -void sub_81C51DC(void) +static void sub_81C51DC(void) { ResetVramOamAndBgCntRegs(); ResetBgsAndClearDma3BusyFlags(0); InitBgsFromTemplates(0, gUnknown_0861F2B4, ARRAY_COUNT(gUnknown_0861F2B4)); - SetBgTilemapBuffer(2, gUnknown_0203CF2C->tilemapBuffer); + SetBgTilemapBuffer(2, gPyramidBagResources->tilemapBuffer); ResetAllBgsCoordinates(); schedule_bg_copy_tilemap_to_vram(2); SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 | @@ -320,67 +401,64 @@ void sub_81C51DC(void) SetGpuReg(REG_OFFSET_BLDCNT, 0); } -extern const u8 gUnknown_08D9AE04[]; -extern const u8 gUnknown_08D9AF44[]; - -bool8 sub_81C5238(void) +static bool8 sub_81C5238(void) { - switch (gUnknown_0203CF2C->unk984) + switch (gPyramidBagResources->state) { case 0: reset_temp_tile_data_buffers(); decompress_and_copy_tile_data_to_vram(2, gBagScreen_Gfx, 0, 0, 0); - gUnknown_0203CF2C->unk984++; + gPyramidBagResources->state++; break; case 1: if (free_temp_tile_data_buffers_if_possible() != TRUE) { - LZDecompressWram(gUnknown_08D9AE04, gUnknown_0203CF2C->tilemapBuffer); - gUnknown_0203CF2C->unk984++; + LZDecompressWram(gUnknown_08D9AE04, gPyramidBagResources->tilemapBuffer); + gPyramidBagResources->state++; } break; case 2: LoadCompressedPalette(gUnknown_08D9AF44, 0, 0x20); - gUnknown_0203CF2C->unk984++; + gPyramidBagResources->state++; break; case 3: LoadCompressedObjectPic(&gUnknown_0861F3CC); - gUnknown_0203CF2C->unk984++; + gPyramidBagResources->state++; break; case 4: sub_81C6E98(); - gUnknown_0203CF2C->unk984++; + gPyramidBagResources->state++; break; default: LoadListMenuArrowsGfx(); - gUnknown_0203CF2C->unk984 = 0; + gPyramidBagResources->state = 0; return TRUE; } return FALSE; } -void SetBagItemsListTemplate(void) +static void SetBagItemsListTemplate(void) { u16 i; u16 *pyramidItems = gSaveBlock2Ptr->frontier.pyramidBag.itemId[gSaveBlock2Ptr->frontier.lvlMode]; - for (i = 0; i < gUnknown_0203CF2C->listMenuCount - 1; i++) + for (i = 0; i < gPyramidBagResources->listMenuCount - 1; i++) { - PyramidBag_CopyItemName(gUnknown_0203CF2C->itemStrings[i], pyramidItems[i]); - gUnknown_0203CF2C->bagListItems[i].name = gUnknown_0203CF2C->itemStrings[i]; - gUnknown_0203CF2C->bagListItems[i].id = i; + PyramidBag_CopyItemName(gPyramidBagResources->itemStrings[i], pyramidItems[i]); + gPyramidBagResources->bagListItems[i].name = gPyramidBagResources->itemStrings[i]; + gPyramidBagResources->bagListItems[i].id = i; } - StringCopy(gUnknown_0203CF2C->itemStrings[i], gText_CloseBag); - gUnknown_0203CF2C->bagListItems[i].name = gUnknown_0203CF2C->itemStrings[i]; - gUnknown_0203CF2C->bagListItems[i].id = LIST_B_PRESSED; + StringCopy(gPyramidBagResources->itemStrings[i], gText_CloseBag); + gPyramidBagResources->bagListItems[i].name = gPyramidBagResources->itemStrings[i]; + gPyramidBagResources->bagListItems[i].id = LIST_B_PRESSED; gMultiuseListMenuTemplate = gUnknown_0861F2C0; - gMultiuseListMenuTemplate.totalItems = gUnknown_0203CF2C->listMenuCount; - gMultiuseListMenuTemplate.items = gUnknown_0203CF2C->bagListItems; - gMultiuseListMenuTemplate.maxShowed = gUnknown_0203CF2C->listMenuMaxShown; + gMultiuseListMenuTemplate.totalItems = gPyramidBagResources->listMenuCount; + gMultiuseListMenuTemplate.items = gPyramidBagResources->bagListItems; + gMultiuseListMenuTemplate.maxShowed = gPyramidBagResources->listMenuMaxShown; } -void PyramidBag_CopyItemName(u8 *dst, u16 itemId) +static void PyramidBag_CopyItemName(u8 *dst, u16 itemId) { if (ItemId_GetPocket(itemId) == POCKET_BERRIES) { @@ -394,34 +472,34 @@ void PyramidBag_CopyItemName(u8 *dst, u16 itemId) } } -void PyramidBagMoveCursorFunc(s32 itemIndex, bool8 onInit, struct ListMenu *list) +static void PyramidBagMoveCursorFunc(s32 itemIndex, bool8 onInit, struct ListMenu *list) { if (onInit != TRUE) { PlaySE(SE_SELECT); sub_81C6F20(); } - if (gUnknown_0203CF2C->unk814 == 0xFF) + if (gPyramidBagResources->unk814 == 0xFF) { - sub_81C6FF8(gUnknown_0203CF2C->unk815 ^ 1); + sub_81C6FF8(gPyramidBagResources->unk815 ^ 1); if (itemIndex != LIST_B_PRESSED) - ShowItemImage(gSaveBlock2Ptr->frontier.pyramidBag.itemId[gSaveBlock2Ptr->frontier.lvlMode][itemIndex], gUnknown_0203CF2C->unk815); + ShowItemImage(gSaveBlock2Ptr->frontier.pyramidBag.itemId[gSaveBlock2Ptr->frontier.lvlMode][itemIndex], gPyramidBagResources->unk815); else - ShowItemImage(0xFFFF, gUnknown_0203CF2C->unk815); - gUnknown_0203CF2C->unk815 ^= 1; + ShowItemImage(0xFFFF, gPyramidBagResources->unk815); + gPyramidBagResources->unk815 ^= 1; PrintItemDescription(itemIndex); } } -void PrintItemQuantity(u8 windowId, s32 itemIndex, u8 y) +static void PrintItemQuantity(u8 windowId, s32 itemIndex, u8 y) { s32 xAlign; if (itemIndex == LIST_B_PRESSED) return; - if (gUnknown_0203CF2C->unk814 != 0xFF) + if (gPyramidBagResources->unk814 != 0xFF) { - if (gUnknown_0203CF2C->unk814 == (u8)(itemIndex)) + if (gPyramidBagResources->unk814 == (u8)(itemIndex)) sub_81C5AB8(y, 1); else sub_81C5AB8(y, 0xFF); @@ -435,7 +513,7 @@ void PrintItemQuantity(u8 windowId, s32 itemIndex, u8 y) PrintOnWindow_Font7(windowId, gStringVar4, xAlign, y, 0, 0, TEXT_SPEED_FF, 0); } -void PrintItemDescription(s32 listMenuId) +static void PrintItemDescription(s32 listMenuId) { const u8 *desc; if (listMenuId != LIST_B_PRESSED) @@ -444,7 +522,7 @@ void PrintItemDescription(s32 listMenuId) } else { - StringCopy(gStringVar1, gReturnToXStringsTable2[gUnknown_0203CF30.unk4]); + StringCopy(gStringVar1, gReturnToXStringsTable2[gPyramidBagCursorData.unk4]); StringExpandPlaceholders(gStringVar4, gText_ReturnToVar1); desc = gStringVar4; } @@ -452,29 +530,29 @@ void PrintItemDescription(s32 listMenuId) PrintOnWindow_Font1(1, desc, 3, 0, 0, 1, 0, 0); } -void sub_81C5674(void) +static void AddScrollArrow(void) { - if (gUnknown_0203CF2C->unk816 == 0xFF) - gUnknown_0203CF2C->unk816 = AddScrollIndicatorArrowPairParameterized(2, 172, 12, 148, gUnknown_0203CF2C->listMenuCount - gUnknown_0203CF2C->listMenuMaxShown, 0xB5E, 0xB5E, &gUnknown_0203CF30.unk8); + if (gPyramidBagResources->scrollArrowSpriteId == 0xFF) + gPyramidBagResources->scrollArrowSpriteId = AddScrollIndicatorArrowPairParameterized(2, 172, 12, 148, gPyramidBagResources->listMenuCount - gPyramidBagResources->listMenuMaxShown, 0xB5E, 0xB5E, &gPyramidBagCursorData.scrollPosition); } -void sub_81C56CC(void) +static void RemoveScrollArrow(void) { - if (gUnknown_0203CF2C->unk816 != 0xFF) + if (gPyramidBagResources->scrollArrowSpriteId != 0xFF) { - RemoveScrollIndicatorArrowPair(gUnknown_0203CF2C->unk816); - gUnknown_0203CF2C->unk816 = 0xFF; + RemoveScrollIndicatorArrowPair(gPyramidBagResources->scrollArrowSpriteId); + gPyramidBagResources->scrollArrowSpriteId = 0xFF; } } -void sub_81C56F8(void) +static void sub_81C56F8(void) { u8 taskId = CreateTask(Task_HandlePyramidBagInput, 0); s16 *data = gTasks[taskId].data; - data[0] = ListMenuInit(&gMultiuseListMenuTemplate, gUnknown_0203CF30.unk8, gUnknown_0203CF30.unk6); + data[0] = ListMenuInit(&gMultiuseListMenuTemplate, gPyramidBagCursorData.scrollPosition, gPyramidBagCursorData.cursorPosition); } -void SwapItems(u8 id1, u8 id2) +static void SwapItems(u8 id1, u8 id2) { u16 temp; u16 *itemIds = gSaveBlock2Ptr->frontier.pyramidBag.itemId[gSaveBlock2Ptr->frontier.lvlMode]; @@ -484,7 +562,7 @@ void SwapItems(u8 id1, u8 id2) SWAP(quantities[id1], quantities[id2], temp); } -void MovePyramidBagItemSlotInList(u8 from, u8 to) +static void MovePyramidBagItemSlotInList(u8 from, u8 to) { u16 *itemIds = gSaveBlock2Ptr->frontier.pyramidBag.itemId[gSaveBlock2Ptr->frontier.lvlMode]; u8 *quantities = gSaveBlock2Ptr->frontier.pyramidBag.quantity[gSaveBlock2Ptr->frontier.lvlMode]; @@ -517,7 +595,7 @@ void MovePyramidBagItemSlotInList(u8 from, u8 to) } } -void CompactItems(void) +static void CompactItems(void) { u8 i, j; u16 *itemIds = gSaveBlock2Ptr->frontier.pyramidBag.itemId[gSaveBlock2Ptr->frontier.lvlMode]; @@ -547,58 +625,58 @@ void sub_81C5924(void) u16 *itemIds = gSaveBlock2Ptr->frontier.pyramidBag.itemId[gSaveBlock2Ptr->frontier.lvlMode]; CompactItems(); - gUnknown_0203CF2C->listMenuCount = 0; + gPyramidBagResources->listMenuCount = 0; for (i = 0; i < PYRAMID_BAG_ITEMS_COUNT; i++) { if (itemIds[i] != 0) - gUnknown_0203CF2C->listMenuCount++; + gPyramidBagResources->listMenuCount++; } - gUnknown_0203CF2C->listMenuCount++; - if (gUnknown_0203CF2C->listMenuCount > 8) - gUnknown_0203CF2C->listMenuMaxShown = 8; + gPyramidBagResources->listMenuCount++; + if (gPyramidBagResources->listMenuCount > 8) + gPyramidBagResources->listMenuMaxShown = 8; else - gUnknown_0203CF2C->listMenuMaxShown = gUnknown_0203CF2C->listMenuCount; + gPyramidBagResources->listMenuMaxShown = gPyramidBagResources->listMenuCount; } void sub_81C59BC(void) { - if (gUnknown_0203CF30.unk8 != 0 && gUnknown_0203CF30.unk8 + gUnknown_0203CF2C->listMenuMaxShown > gUnknown_0203CF2C->listMenuCount) - gUnknown_0203CF30.unk8 = gUnknown_0203CF2C->listMenuCount - gUnknown_0203CF2C->listMenuMaxShown; - if (gUnknown_0203CF30.unk8 + gUnknown_0203CF30.unk6 >= gUnknown_0203CF2C->listMenuCount) + if (gPyramidBagCursorData.scrollPosition != 0 && gPyramidBagCursorData.scrollPosition + gPyramidBagResources->listMenuMaxShown > gPyramidBagResources->listMenuCount) + gPyramidBagCursorData.scrollPosition = gPyramidBagResources->listMenuCount - gPyramidBagResources->listMenuMaxShown; + if (gPyramidBagCursorData.scrollPosition + gPyramidBagCursorData.cursorPosition >= gPyramidBagResources->listMenuCount) { - if (gUnknown_0203CF2C->listMenuCount == 0) - gUnknown_0203CF30.unk6 = 0; + if (gPyramidBagResources->listMenuCount == 0) + gPyramidBagCursorData.cursorPosition = 0; else - gUnknown_0203CF30.unk6 = gUnknown_0203CF2C->listMenuCount - 1; + gPyramidBagCursorData.cursorPosition = gPyramidBagResources->listMenuCount - 1; } } -void sub_81C5A20(void) +static void sub_81C5A20(void) { u8 i; - if (gUnknown_0203CF30.unk6 > 4) + if (gPyramidBagCursorData.cursorPosition > 4) { - for (i = 0; i <= gUnknown_0203CF30.unk6 - 4; i++) + for (i = 0; i <= gPyramidBagCursorData.cursorPosition - 4; i++) { - if (gUnknown_0203CF30.unk8 + gUnknown_0203CF2C->listMenuMaxShown == gUnknown_0203CF2C->listMenuCount) + if (gPyramidBagCursorData.scrollPosition + gPyramidBagResources->listMenuMaxShown == gPyramidBagResources->listMenuCount) { // daycare.c sends its regards. break; } - gUnknown_0203CF30.unk6--; - gUnknown_0203CF30.unk8++; + gPyramidBagCursorData.cursorPosition--; + gPyramidBagCursorData.scrollPosition++; } } } -void sub_81C5A98(u8 listMenuTaskId, u8 arg1) +static void sub_81C5A98(u8 listMenuTaskId, u8 arg1) { u8 y = ListMenuGetYCoordForPrintingArrowCursor(listMenuTaskId); sub_81C5AB8(y, arg1); } -void sub_81C5AB8(u8 y, u8 arg1) +static void sub_81C5AB8(u8 y, u8 arg1) { if (arg1 == 0xFF) FillWindowPixelRect(0, 0, 0, y, GetMenuCursorDimensionByFont(1, 0), GetMenuCursorDimensionByFont(1, 1)); @@ -612,46 +690,46 @@ void sub_81C5B14(u8 taskId) gTasks[taskId].func = sub_81C5B4C; } -void sub_81C5B4C(u8 taskId) +static void sub_81C5B4C(u8 taskId) { s16 *data = gTasks[taskId].data; if (!gPaletteFade.active) { - DestroyListMenuTask(data[0], &gUnknown_0203CF30.unk8, &gUnknown_0203CF30.unk6); - if (gUnknown_0203CF2C->callback2 != NULL) - SetMainCallback2(gUnknown_0203CF2C->callback2); + DestroyListMenuTask(data[0], &gPyramidBagCursorData.scrollPosition, &gPyramidBagCursorData.cursorPosition); + if (gPyramidBagResources->callback2 != NULL) + SetMainCallback2(gPyramidBagResources->callback2); else - SetMainCallback2(gUnknown_0203CF30.callback); - sub_81C56CC(); + SetMainCallback2(gPyramidBagCursorData.callback); + RemoveScrollArrow(); ResetSpriteData(); FreeAllSpritePalettes(); FreeAllWindowBuffers(); - Free(gUnknown_0203CF2C); + Free(gPyramidBagResources); DestroyTask(taskId); } } -void Task_HandlePyramidBagInput(u8 taskId) +static void Task_HandlePyramidBagInput(u8 taskId) { s16 *data = gTasks[taskId].data; if (sub_81221EC() != TRUE && !gPaletteFade.active) { if (gMain.newKeys & SELECT_BUTTON) { - if (gUnknown_0203CF30.unk4 != 2) + if (gPyramidBagCursorData.unk4 != 2) { - ListMenuGetScrollAndRow(data[0], &gUnknown_0203CF30.unk8, &gUnknown_0203CF30.unk6); - if (gUnknown_0203CF30.unk8 + gUnknown_0203CF30.unk6 != gUnknown_0203CF2C->listMenuCount - 1) + ListMenuGetScrollAndRow(data[0], &gPyramidBagCursorData.scrollPosition, &gPyramidBagCursorData.cursorPosition); + if (gPyramidBagCursorData.scrollPosition + gPyramidBagCursorData.cursorPosition != gPyramidBagResources->listMenuCount - 1) { PlaySE(SE_SELECT); - sub_81C67CC(taskId); + Task_BeginItemSwap(taskId); } } } else { s32 listId = ListMenuHandleInputGetItemId(data[0]); - ListMenuGetScrollAndRow(data[0], &gUnknown_0203CF30.unk8, &gUnknown_0203CF30.unk6); + ListMenuGetScrollAndRow(data[0], &gPyramidBagCursorData.scrollPosition, &gPyramidBagCursorData.cursorPosition); switch (listId) { case LIST_NOTHING_CHOSEN: @@ -666,7 +744,7 @@ void Task_HandlePyramidBagInput(u8 taskId) gSpecialVar_ItemId = gSaveBlock2Ptr->frontier.pyramidBag.itemId[gSaveBlock2Ptr->frontier.lvlMode][listId]; data[1] = listId; data[2] = gSaveBlock2Ptr->frontier.pyramidBag.quantity[gSaveBlock2Ptr->frontier.lvlMode][listId]; - if (gUnknown_0203CF30.unk4 == 2) + if (gPyramidBagCursorData.unk4 == 2) sub_81C674C(taskId); else sub_81C5D20(taskId); @@ -676,33 +754,33 @@ void Task_HandlePyramidBagInput(u8 taskId) } } -void sub_81C5D20(u8 taskId) +static void sub_81C5D20(u8 taskId) { s16 *data = gTasks[taskId].data; - sub_81C56CC(); + RemoveScrollArrow(); sub_81C5A98(data[0], 1); - switch (gUnknown_0203CF30.unk4) + switch (gPyramidBagCursorData.unk4) { default: - gUnknown_0203CF2C->menuActionIds = gUnknown_0861F308; - gUnknown_0203CF2C->menuActionsCount = ARRAY_COUNT(gUnknown_0861F308); + gPyramidBagResources->menuActionIds = sFieldMenuActionIds; + gPyramidBagResources->menuActionsCount = ARRAY_COUNT(sFieldMenuActionIds); break; case 1: if (ItemId_GetBattleUsage(gSpecialVar_ItemId)) { - gUnknown_0203CF2C->menuActionIds = gUnknown_0861F30E; - gUnknown_0203CF2C->menuActionsCount = ARRAY_COUNT(gUnknown_0861F30E); + gPyramidBagResources->menuActionIds = sBattleMenuActionIds; + gPyramidBagResources->menuActionsCount = ARRAY_COUNT(sBattleMenuActionIds); } else { - gUnknown_0203CF2C->menuActionIds = gUnknown_0861F310; - gUnknown_0203CF2C->menuActionsCount = ARRAY_COUNT(gUnknown_0861F310); + gPyramidBagResources->menuActionIds = gUnknown_0861F310; + gPyramidBagResources->menuActionsCount = ARRAY_COUNT(gUnknown_0861F310); } break; case 3: - gUnknown_0203CF2C->menuActionIds = gUnknown_0861F30C; - gUnknown_0203CF2C->menuActionsCount = ARRAY_COUNT(gUnknown_0861F30C); + gPyramidBagResources->menuActionIds = gUnknown_0861F30C; + gPyramidBagResources->menuActionsCount = ARRAY_COUNT(gUnknown_0861F30C); break; } @@ -710,32 +788,32 @@ void sub_81C5D20(u8 taskId) StringExpandPlaceholders(gStringVar4, gText_Var1IsSelected); FillWindowPixelBuffer(1, 0); PrintOnWindow_Font1(1, gStringVar4, 3, 0, 0, 1, 0, 0); - if (gUnknown_0203CF2C->menuActionsCount == 1) + if (gPyramidBagResources->menuActionsCount == 1) sub_81C5EAC(sub_81C6D24(0)); - else if (gUnknown_0203CF2C->menuActionsCount == 2) + else if (gPyramidBagResources->menuActionsCount == 2) sub_81C5EAC(sub_81C6D24(1)); else sub_81C5F08(sub_81C6D24(2), 2, 2); - if (gUnknown_0203CF2C->menuActionsCount == 4) - gTasks[taskId].func = sub_81C5FE4; + if (gPyramidBagResources->menuActionsCount == 4) + gTasks[taskId].func = HandleMenuActionInput; else - gTasks[taskId].func = sub_81C5F68; + gTasks[taskId].func = HandleFewMenuActionsInput; } -void sub_81C5EAC(u8 windowId) +static void sub_81C5EAC(u8 windowId) { - AddItemMenuActionTextPrinters(windowId, 7, 8, 1, 0, 0x10, gUnknown_0203CF2C->menuActionsCount, gUnknown_0861F2D8, gUnknown_0203CF2C->menuActionIds); - InitMenuInUpperLeftCornerPlaySoundWhenAPressed(windowId, gUnknown_0203CF2C->menuActionsCount, 0); + AddItemMenuActionTextPrinters(windowId, 7, 8, 1, 0, 0x10, gPyramidBagResources->menuActionsCount, sMenuActions, gPyramidBagResources->menuActionIds); + InitMenuInUpperLeftCornerPlaySoundWhenAPressed(windowId, gPyramidBagResources->menuActionsCount, 0); } -void sub_81C5F08(u8 windowId, u8 horizontalCount, u8 verticalCount) +static void sub_81C5F08(u8 windowId, u8 horizontalCount, u8 verticalCount) { - sub_8198DBC(windowId, 7, 8, 1, 0x38, horizontalCount, verticalCount, gUnknown_0861F2D8, gUnknown_0203CF2C->menuActionIds); + sub_8198DBC(windowId, 7, 8, 1, 0x38, horizontalCount, verticalCount, sMenuActions, gPyramidBagResources->menuActionIds); sub_8199944(windowId, 0x38, horizontalCount, verticalCount, 0); } -void sub_81C5F68(u8 taskId) +static void HandleFewMenuActionsInput(u8 taskId) { if (sub_81221EC() != TRUE) { @@ -746,25 +824,25 @@ void sub_81C5F68(u8 taskId) break; case -1: PlaySE(SE_SELECT); - gUnknown_0861F2D8[3].func.void_u8(taskId); + sMenuActions[ACTION_CANCEL].func.void_u8(taskId); break; default: PlaySE(SE_SELECT); - if (gUnknown_0861F2D8[gUnknown_0203CF2C->menuActionIds[id]].func.void_u8 != NULL) - gUnknown_0861F2D8[gUnknown_0203CF2C->menuActionIds[id]].func.void_u8(taskId); + if (sMenuActions[gPyramidBagResources->menuActionIds[id]].func.void_u8 != NULL) + sMenuActions[gPyramidBagResources->menuActionIds[id]].func.void_u8(taskId); break; } } } -void sub_81C5FE4(u8 taskId) +static void HandleMenuActionInput(u8 taskId) { if (sub_81221EC() != TRUE) { s8 id = GetMenuCursorPos(); if (gMain.newKeys & DPAD_UP) { - if (id > 0 && sub_81C616C(id - 2)) + if (id > 0 && IsAValidMenuAction(id - 2)) { PlaySE(SE_SELECT); sub_8199134(0, -1); @@ -772,7 +850,7 @@ void sub_81C5FE4(u8 taskId) } else if (gMain.newKeys & DPAD_DOWN) { - if (id < gUnknown_0203CF2C->menuActionsCount - 2 && sub_81C616C(id + 2)) + if (id < gPyramidBagResources->menuActionsCount - 2 && IsAValidMenuAction(id + 2)) { PlaySE(SE_SELECT); sub_8199134(0, 1); @@ -780,7 +858,7 @@ void sub_81C5FE4(u8 taskId) } else if (gMain.newKeys & DPAD_LEFT || GetLRKeysState() == 1) { - if (id & 1 && sub_81C616C(id - 1)) + if (id & 1 && IsAValidMenuAction(id - 1)) { PlaySE(SE_SELECT); sub_8199134(-1, 0); @@ -788,7 +866,7 @@ void sub_81C5FE4(u8 taskId) } else if (gMain.newKeys & DPAD_RIGHT || GetLRKeysState() == 2) { - if (!(id & 1) && sub_81C616C(id + 1)) + if (!(id & 1) && IsAValidMenuAction(id + 1)) { PlaySE(SE_SELECT); sub_8199134(1, 0); @@ -797,40 +875,40 @@ void sub_81C5FE4(u8 taskId) else if (gMain.newKeys & A_BUTTON) { PlaySE(SE_SELECT); - if (gUnknown_0861F2D8[gUnknown_0203CF2C->menuActionIds[id]].func.void_u8 != NULL) - gUnknown_0861F2D8[gUnknown_0203CF2C->menuActionIds[id]].func.void_u8(taskId); + if (sMenuActions[gPyramidBagResources->menuActionIds[id]].func.void_u8 != NULL) + sMenuActions[gPyramidBagResources->menuActionIds[id]].func.void_u8(taskId); } else if (gMain.newKeys & B_BUTTON) { PlaySE(SE_SELECT); - gUnknown_0861F2D8[3].func.void_u8(taskId); + sMenuActions[ACTION_CANCEL].func.void_u8(taskId); } } } -bool8 sub_81C616C(s8 arg0) +static bool8 IsAValidMenuAction(s8 actionTableId) { - if (arg0 < 0) + if (actionTableId < 0) return FALSE; - else if (arg0 > gUnknown_0203CF2C->menuActionsCount) + else if (actionTableId > gPyramidBagResources->menuActionsCount) return FALSE; - else if (gUnknown_0203CF2C->menuActionIds[arg0] == 5) + else if (gPyramidBagResources->menuActionIds[actionTableId] == ACTION_DUMMY) return FALSE; else return TRUE; } -void sub_81C61A8(void) +static void sub_81C61A8(void) { - if (gUnknown_0203CF2C->menuActionsCount == 1) + if (gPyramidBagResources->menuActionsCount == 1) sub_81C6D6C(0); - else if (gUnknown_0203CF2C->menuActionsCount == 2) + else if (gPyramidBagResources->menuActionsCount == 2) sub_81C6D6C(1); else sub_81C6D6C(2); } -void sub_81C61E0(u8 taskId) +static void BagAction_UseOnField(u8 taskId) { u8 pocketId = ItemId_GetPocket(gSpecialVar_ItemId); @@ -851,7 +929,7 @@ void sub_81C61E0(u8 taskId) } } -void sub_81C6258(u8 taskId) +static void BagAction_Cancel(u8 taskId) { s16 *data = gTasks[taskId].data; @@ -860,16 +938,16 @@ void sub_81C6258(u8 taskId) schedule_bg_copy_tilemap_to_vram(0); schedule_bg_copy_tilemap_to_vram(1); sub_81C5A98(data[0], 0); - sub_81C629C(taskId); + SetTaskToMainPyramidBagInputHandler(taskId); } -void sub_81C629C(u8 taskId) +static void SetTaskToMainPyramidBagInputHandler(u8 taskId) { - sub_81C5674(); + AddScrollArrow(); gTasks[taskId].func = Task_HandlePyramidBagInput; } -void sub_81C62C4(u8 taskId) +static void BagAction_Toss(u8 taskId) { s16 *data = gTasks[taskId].data; @@ -890,7 +968,7 @@ void sub_81C62C4(u8 taskId) } } -void sub_81C6350(u8 taskId) +static void sub_81C6350(u8 taskId) { s16 *data = gTasks[taskId].data; @@ -899,19 +977,19 @@ void sub_81C6350(u8 taskId) StringExpandPlaceholders(gStringVar4, gText_ConfirmTossItems); FillWindowPixelBuffer(1, 0); PrintOnWindow_Font1(1, gStringVar4, 3, 0, 0, 1, 0, 0); - sub_81C6DAC(taskId, &gUnknown_0861F314); + sub_81C6DAC(taskId, &sYesNoTossFuncions); } -void sub_81C63D0(u8 taskId) +static void DontTossItem(u8 taskId) { s16 *data = gTasks[taskId].data; PrintItemDescription(data[1]); sub_81C5A98(data[0], 0); - sub_81C629C(taskId); + SetTaskToMainPyramidBagInputHandler(taskId); } -void sub_81C6404(void) +static void sub_81C6404(void) { s32 x; @@ -922,7 +1000,7 @@ void sub_81C6404(void) PrintTextOnWindow(3, 1, gStringVar4, x, 2, 0, NULL); } -void sub_81C645C(s16 value) +static void sub_81C645C(s16 value) { s32 x; @@ -932,7 +1010,7 @@ void sub_81C645C(s16 value) PrintTextOnWindow(3, 1, gStringVar4, x, 2, 0, NULL); } -void sub_81C64B4(u8 taskId) +static void sub_81C64B4(u8 taskId) { s16 *data = gTasks[taskId].data; @@ -954,11 +1032,11 @@ void sub_81C64B4(u8 taskId) sub_8198070(3, 0); ClearWindowTilemap(3); schedule_bg_copy_tilemap_to_vram(1); - sub_81C63D0(taskId); + DontTossItem(taskId); } } -void sub_81C654C(u8 taskId) +static void TossItem(u8 taskId) { s16 *data = gTasks[taskId].data; @@ -970,11 +1048,11 @@ void sub_81C654C(u8 taskId) gTasks[taskId].func = sub_81C65CC; } -void sub_81C65CC(u8 taskId) +static void sub_81C65CC(u8 taskId) { s16 *data = gTasks[taskId].data; - u16 *scrollOffset = &gUnknown_0203CF30.unk8; - u16 *selectedRow = &gUnknown_0203CF30.unk6; + u16 *scrollOffset = &gPyramidBagCursorData.scrollPosition; + u16 *selectedRow = &gPyramidBagCursorData.cursorPosition; if (gMain.newKeys & (A_BUTTON | B_BUTTON)) { @@ -986,11 +1064,11 @@ void sub_81C65CC(u8 taskId) SetBagItemsListTemplate(); data[0] = ListMenuInit(&gMultiuseListMenuTemplate, *scrollOffset, *selectedRow); schedule_bg_copy_tilemap_to_vram(0); - sub_81C629C(taskId); + SetTaskToMainPyramidBagInputHandler(taskId); } } -void sub_81C6648(u8 taskId) +static void BagAction_Give(u8 taskId) { sub_81C61A8(); if (ItemIsMail(gSpecialVar_ItemId) == TRUE) @@ -999,7 +1077,7 @@ void sub_81C6648(u8 taskId) } else if (!ItemId_GetImportance(gSpecialVar_ItemId)) { - gUnknown_0203CF2C->callback2 = sub_81B7F60; + gPyramidBagResources->callback2 = sub_81B7F60; sub_81C5B14(taskId); } else @@ -1008,14 +1086,14 @@ void sub_81C6648(u8 taskId) } } -void sub_81C66AC(u8 taskId) +static void sub_81C66AC(u8 taskId) { CopyItemName(gSpecialVar_ItemId, gStringVar1); StringExpandPlaceholders(gStringVar4, gText_Var1CantBeHeld); DisplayItemMessageInBattlePyramid(taskId, gStringVar4, sub_81C66EC); } -void sub_81C66EC(u8 taskId) +static void sub_81C66EC(u8 taskId) { if (gMain.newKeys & A_BUTTON) { @@ -1031,10 +1109,10 @@ void sub_81C6714(u8 taskId) sub_81C6E1C(); PrintItemDescription(data[1]); sub_81C5A98(data[0], 0); - sub_81C629C(taskId); + SetTaskToMainPyramidBagInputHandler(taskId); } -void sub_81C674C(u8 taskId) +static void sub_81C674C(u8 taskId) { if (!itemid_80BF6D8_mail_related(gSpecialVar_ItemId)) DisplayItemMessageInBattlePyramid(taskId, gText_CantWriteMail, sub_81C66EC); @@ -1044,7 +1122,7 @@ void sub_81C674C(u8 taskId) sub_81C66AC(taskId); } -void sub_81C679C(u8 taskId) +static void BagAction_UseInBattle(u8 taskId) { if (ItemId_GetBattleFunc(gSpecialVar_ItemId) != NULL) { @@ -1053,12 +1131,12 @@ void sub_81C679C(u8 taskId) } } -void sub_81C67CC(u8 taskId) +static void Task_BeginItemSwap(u8 taskId) { s16 *data = gTasks[taskId].data; - data[1] = gUnknown_0203CF30.unk8 + gUnknown_0203CF30.unk6; - gUnknown_0203CF2C->unk814 = data[1]; + data[1] = gPyramidBagCursorData.scrollPosition + gPyramidBagCursorData.cursorPosition; + gPyramidBagResources->unk814 = data[1]; ListMenuSetUnkIndicatorsStructField(data[0], 0x10, 1); CopyItemName(gSaveBlock2Ptr->frontier.pyramidBag.itemId[gSaveBlock2Ptr->frontier.lvlMode][data[1]], gStringVar1); StringExpandPlaceholders(gStringVar4, gText_MoveVar1Where); @@ -1066,10 +1144,10 @@ void sub_81C67CC(u8 taskId) PrintOnWindow_Font1(1, gStringVar4, 3, 0, 0, 1, 0, 0); sub_81C5A98(data[0], 1); sub_81C704C(data[1]); - gTasks[taskId].func = sub_81C68B0; + gTasks[taskId].func = Task_ItemSwapHandleInput; } -void sub_81C68B0(u8 taskId) +static void Task_ItemSwapHandleInput(u8 taskId) { s16 *data = gTasks[taskId].data; if (sub_81221EC() != TRUE) @@ -1077,15 +1155,15 @@ void sub_81C68B0(u8 taskId) if (gMain.newKeys & SELECT_BUTTON) { PlaySE(SE_SELECT); - ListMenuGetScrollAndRow(data[0], &gUnknown_0203CF30.unk8, &gUnknown_0203CF30.unk6); - sub_81C6964(taskId); + ListMenuGetScrollAndRow(data[0], &gPyramidBagCursorData.scrollPosition, &gPyramidBagCursorData.cursorPosition); + PerformItemSwap(taskId); } else { s32 id = ListMenuHandleInputGetItemId(data[0]); - ListMenuGetScrollAndRow(data[0], &gUnknown_0203CF30.unk8, &gUnknown_0203CF30.unk6); - sub_81C7028(0); - sub_81C704C(gUnknown_0203CF30.unk6); + ListMenuGetScrollAndRow(data[0], &gPyramidBagCursorData.scrollPosition, &gPyramidBagCursorData.cursorPosition); + sub_81C7028(FALSE); + sub_81C704C(gPyramidBagCursorData.cursorPosition); switch (id) { case LIST_NOTHING_CHOSEN: @@ -1093,24 +1171,24 @@ void sub_81C68B0(u8 taskId) case LIST_B_PRESSED: PlaySE(SE_SELECT); if (gMain.newKeys & A_BUTTON) - sub_81C6964(taskId); + PerformItemSwap(taskId); else sub_81C6A14(taskId); break; default: PlaySE(SE_SELECT); - sub_81C6964(taskId); + PerformItemSwap(taskId); break; } } } } -void sub_81C6964(u8 taskId) +static void PerformItemSwap(u8 taskId) { s16 *data = gTasks[taskId].data; - u16 *scrollOffset = &gUnknown_0203CF30.unk8; - u16 *selectedRow = &gUnknown_0203CF30.unk6; + u16 *scrollOffset = &gPyramidBagCursorData.scrollPosition; + u16 *selectedRow = &gPyramidBagCursorData.cursorPosition; u16 var = *scrollOffset + *selectedRow; if (data[1] == var || data[1] == var - 1) @@ -1120,31 +1198,31 @@ void sub_81C6964(u8 taskId) else { MovePyramidBagItemSlotInList(data[1], var); - gUnknown_0203CF2C->unk814 = 0xFF; - sub_81C7028(1); + gPyramidBagResources->unk814 = 0xFF; + sub_81C7028(TRUE); DestroyListMenuTask(data[0], scrollOffset, selectedRow); if (data[1] < var) - gUnknown_0203CF30.unk6--; + gPyramidBagCursorData.cursorPosition--; SetBagItemsListTemplate(); data[0] = ListMenuInit(&gMultiuseListMenuTemplate, *scrollOffset, *selectedRow); - sub_81C629C(taskId); + SetTaskToMainPyramidBagInputHandler(taskId); } } -void sub_81C6A14(u8 taskId) +static void sub_81C6A14(u8 taskId) { s16 *data = gTasks[taskId].data; - u16 *scrollOffset = &gUnknown_0203CF30.unk8; - u16 *selectedRow = &gUnknown_0203CF30.unk6; + u16 *scrollOffset = &gPyramidBagCursorData.scrollPosition; + u16 *selectedRow = &gPyramidBagCursorData.cursorPosition; - gUnknown_0203CF2C->unk814 = 0xFF; - sub_81C7028(1); + gPyramidBagResources->unk814 = 0xFF; + sub_81C7028(TRUE); DestroyListMenuTask(data[0], scrollOffset, selectedRow); if (data[1] < *scrollOffset + *selectedRow) - gUnknown_0203CF30.unk6--; + gPyramidBagCursorData.cursorPosition--; SetBagItemsListTemplate(); data[0] = ListMenuInit(&gMultiuseListMenuTemplate, *scrollOffset, *selectedRow); - sub_81C629C(taskId); + SetTaskToMainPyramidBagInputHandler(taskId); } void sub_81C6A94(void) @@ -1181,7 +1259,7 @@ void sub_81C6A94(void) Free(newQuantities); } -void sub_81C6BD8(void) +static void sub_81C6BD8(void) { u8 i; @@ -1200,30 +1278,30 @@ void sub_81C6BD8(void) schedule_bg_copy_tilemap_to_vram(1); } -void PrintOnWindow_Font1(u8 windowId, const u8 *src, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, u8 speed, u8 colorTableId) +static void PrintOnWindow_Font1(u8 windowId, const u8 *src, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, u8 speed, u8 colorTableId) { - AddTextPrinterParameterized2(windowId, 1, x, y, letterSpacing, lineSpacing, gUnknown_0861F31C[colorTableId], speed, src); + AddTextPrinterParameterized2(windowId, 1, x, y, letterSpacing, lineSpacing, sColorTable[colorTableId], speed, src); } -void PrintOnWindow_Font7(u8 windowId, const u8 *src, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, u8 speed, u8 colorTableId) +static void PrintOnWindow_Font7(u8 windowId, const u8 *src, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, u8 speed, u8 colorTableId) { - AddTextPrinterParameterized2(windowId, 7, x, y, letterSpacing, lineSpacing, gUnknown_0861F31C[colorTableId], speed, src); + AddTextPrinterParameterized2(windowId, 7, x, y, letterSpacing, lineSpacing, sColorTable[colorTableId], speed, src); } -void sub_81C6CEC(u8 windowId) +static void sub_81C6CEC(u8 windowId) { SetWindowBorderStyle(windowId, 0, 1, 0xE); schedule_bg_copy_tilemap_to_vram(1); } -u8 sub_81C6D08(u8 windowArrayId) +static u8 sub_81C6D08(u8 windowArrayId) { - return gUnknown_0203CF2C->windowIds[windowArrayId]; + return gPyramidBagResources->windowIds[windowArrayId]; } -u8 sub_81C6D24(u8 windowArrayId) +static u8 sub_81C6D24(u8 windowArrayId) { - u8 *windowId = &gUnknown_0203CF2C->windowIds[windowArrayId]; + u8 *windowId = &gPyramidBagResources->windowIds[windowArrayId]; if (*windowId == 0xFF) { *windowId = AddWindow(&gUnknown_0861F350[windowArrayId]); @@ -1233,9 +1311,9 @@ u8 sub_81C6D24(u8 windowArrayId) return *windowId; } -void sub_81C6D6C(u8 windowArrayId) +static void sub_81C6D6C(u8 windowArrayId) { - u8 *windowId = &gUnknown_0203CF2C->windowIds[windowArrayId]; + u8 *windowId = &gPyramidBagResources->windowIds[windowArrayId]; if (*windowId != 0xFF) { sub_8198070(*windowId, FALSE); @@ -1245,3 +1323,112 @@ void sub_81C6D6C(u8 windowArrayId) *windowId = 0xFF; } } + +static void sub_81C6DAC(u8 taskId, const struct YesNoFuncTable *yesNoTable) +{ + CreateYesNoMenuWithCallbacks(taskId, &gUnknown_0861F350[4], 1, 0, 2, 1, 0xE, yesNoTable); +} + +void DisplayItemMessageInBattlePyramid(u8 taskId, const u8 *str, void (*callback)(u8 taskId)) +{ + FillWindowPixelBuffer(2, 0x11); + DisplayMessageAndContinueTask(taskId, 2, 0xA, 0xD, 1, GetPlayerTextSpeed(), str, callback); + schedule_bg_copy_tilemap_to_vram(1); +} + +static void sub_81C6E1C(void) +{ + sub_8197DF8(2, FALSE); + ClearWindowTilemap(2); + schedule_bg_copy_tilemap_to_vram(1); +} + +#define ITEM_IMAGE_TAG 0x1024 + +static void sub_81C6E38(u8 itemSpriteArrayId) +{ + u8 *spriteId = &gPyramidBagResources->itemsSpriteIds[itemSpriteArrayId]; + if (*spriteId != 0xFF) + { + FreeSpriteTilesByTag(ITEM_IMAGE_TAG + itemSpriteArrayId); + FreeSpritePaletteByTag(ITEM_IMAGE_TAG + itemSpriteArrayId); + FreeSpriteOamMatrix(&gSprites[*spriteId]); + DestroySprite(&gSprites[*spriteId]); + *spriteId = 0xFF; + } +} + +static void sub_81C6E98(void) +{ + struct SpritePalette spritePalette; + u16 *palPtr = Alloc(0x40); + + LZDecompressWram(gUnknown_08D9ADD0, palPtr); + spritePalette.data = palPtr + (gSaveBlock2Ptr->frontier.lvlMode * 16); + spritePalette.tag = ITEM_IMAGE_TAG; + LoadSpritePalette(&spritePalette); + Free(palPtr); +} + +static void sub_81C6EF4(void) +{ + u8 *spriteId = &gPyramidBagResources->itemsSpriteIds[0]; + *spriteId = CreateSprite(&gUnknown_0861F3D4, 0x44, 0x38, 0); +} + +static void sub_81C6F20(void) +{ + struct Sprite *sprite = &gSprites[gPyramidBagResources->itemsSpriteIds[0]]; + if (sprite->affineAnimEnded) + { + StartSpriteAffineAnim(sprite, 1); + sprite->callback = sub_81C6F68; + } +} + +static void sub_81C6F68(struct Sprite *sprite) +{ + if (sprite->affineAnimEnded) + { + StartSpriteAffineAnim(sprite, 0); + sprite->callback = SpriteCallbackDummy; + } +} + +static void ShowItemImage(u16 itemId, u8 itemSpriteArrayId) +{ + u8 itemSpriteId; + u8 *spriteId = &gPyramidBagResources->itemsSpriteIds[itemSpriteArrayId + 1]; + if (*spriteId == 0xFF) + { + FreeSpriteTilesByTag(ITEM_IMAGE_TAG + 1 + itemSpriteArrayId); + FreeSpritePaletteByTag(ITEM_IMAGE_TAG + 1 + itemSpriteArrayId); + itemSpriteId = AddItemIconSprite(ITEM_IMAGE_TAG + 1 + itemSpriteArrayId, ITEM_IMAGE_TAG + 1 + itemSpriteArrayId, itemId); + if (itemSpriteId != MAX_SPRITES) + { + *spriteId = itemSpriteId; + gSprites[itemSpriteId].pos2.x = 24; + gSprites[itemSpriteId].pos2.y = 88; + } + } +} + +static void sub_81C6FF8(u8 itemSpriteArrayId) +{ + sub_81C6E38(itemSpriteArrayId + 1); +} + +static void sub_81C700C(void) +{ + sub_8122344(&gPyramidBagResources->itemsSpriteIds[3], 8); +} + +static void sub_81C7028(bool8 invisible) +{ + sub_81223FC(&gPyramidBagResources->itemsSpriteIds[3], 8, invisible); +} + +static void sub_81C704C(u8 y) +{ + sub_8122448(&gPyramidBagResources->itemsSpriteIds[3], 8 | 0x80, 120, (y + 1) * 16); +} diff --git a/src/item.c b/src/item.c index 29c2509892..3866d73169 100644 --- a/src/item.c +++ b/src/item.c @@ -10,6 +10,7 @@ #include "item_menu.h" #include "strings.h" #include "load_save.h" +#include "battle_pyramid_bag.h" extern bool8 InBattlePyramid(void); extern u16 gUnknown_0203CF30[]; @@ -965,7 +966,7 @@ bool8 RemovePyramidBagItem(u16 itemId, u16 count) u16 *items = gSaveBlock2Ptr->frontier.pyramidBag.itemId[gSaveBlock2Ptr->frontier.lvlMode]; u8 *quantities = gSaveBlock2Ptr->frontier.pyramidBag.quantity[gSaveBlock2Ptr->frontier.lvlMode]; - i = gUnknown_0203CF30[3] + gUnknown_0203CF30[4]; + i = gPyramidBagCursorData.cursorPosition + gPyramidBagCursorData.scrollPosition; if (items[i] == itemId && quantities[i] >= count) { quantities[i] -= count; diff --git a/src/item_use.c b/src/item_use.c index 23c829391b..bf7c2a386a 100755 --- a/src/item_use.c +++ b/src/item_use.c @@ -33,8 +33,8 @@ #include "pokeblock.h" #include "menu.h" #include "item_menu.h" +#include "battle_pyramid_bag.h" -extern void(**gUnknown_0203CF2C)(void); extern void(*gUnknown_0203A0F4)(u8 taskId); extern void(*gUnknown_085920D8[])(void); extern void (*gUnknown_03006328)(u8, u16, TaskFunc); @@ -122,7 +122,7 @@ void SetUpItemUseCallback(u8 taskId) } else { - *gUnknown_0203CF2C = gUnknown_085920D8[type]; + gPyramidBagResources->callback2 = gUnknown_085920D8[type]; sub_81C5B14(taskId); } } @@ -987,7 +987,7 @@ void sub_80FE54C(u8 taskId) } else { - *gUnknown_0203CF2C = sub_81B89F0; + gPyramidBagResources->callback2 = sub_81B89F0; sub_81C5B14(taskId); } } diff --git a/src/start_menu.c b/src/start_menu.c index 60271317a3..4a58c146ef 100644 --- a/src/start_menu.c +++ b/src/start_menu.c @@ -33,6 +33,7 @@ #include "international_string_util.h" #include "constants/songs.h" #include "field_player_avatar.h" +#include "battle_pyramid_bag.h" // Menu actions enum @@ -73,12 +74,11 @@ EWRAM_DATA static u8 sSaveDialogTimer = 0; EWRAM_DATA static bool8 sSavingComplete = FALSE; EWRAM_DATA static u8 sSaveInfoWindowId = 0; -// Extern variables +// Extern variables. extern u8 gDifferentSaveFile; -extern u16 gSaveFileStatus; extern u8 gUnknown_03005DB4; -// Extern functions in uncompiled files +// Extern functions in not decompiled files. extern void sub_80AF688(void); extern void var_800D_set_xB(void); extern void sub_808B864(void); @@ -89,7 +89,6 @@ extern void CB2_PokeNav(void); extern void sub_80C4DDC(void (*)(void)); extern void sub_80C51C4(void (*)(void)); extern void sub_80C4E74(u8, void (*)(void)); -extern void sub_81C4EFC(void); extern void ScriptUnfreezeEventObjects(void); extern void sub_81A9EC8(void); extern void save_serialize_map(void); @@ -781,7 +780,7 @@ static bool8 StartMenuBattlePyramidBagCallback(void) play_some_sound(); RemoveExtraStartMenuWindows(); overworld_free_bg_tilemaps(); - SetMainCallback2(sub_81C4EFC); // Display battle pyramid bag + SetMainCallback2(CB2_PyramidBagMenuFromStartMenu); return TRUE; } From 43b74032fa981a06e2e66fe5a2d4cf2edaad27c8 Mon Sep 17 00:00:00 2001 From: DizzyEggg <jajkodizzy@wp.pl> Date: Thu, 30 Aug 2018 20:25:57 +0200 Subject: [PATCH 147/234] Make pyramid bag compile. --- src/battle_controller_player.c | 4 +--- src/battle_controller_safari.c | 2 +- src/battle_controller_wally.c | 2 +- 3 files changed, 3 insertions(+), 5 deletions(-) diff --git a/src/battle_controller_player.c b/src/battle_controller_player.c index ffe8936a09..7f038a0c3f 100644 --- a/src/battle_controller_player.c +++ b/src/battle_controller_player.c @@ -28,7 +28,7 @@ #include "pokeball.h" #include "data2.h" #include "battle_setup.h" -#include "item_use.h" +#include "item_menu.h" #include "recorded_battle.h" #include "party_menu.h" #include "battle_dome.h" @@ -40,7 +40,6 @@ extern u16 gBattle_BG0_X; extern u16 gBattle_BG0_Y; extern struct UnusedControllerStruct gUnknown_02022D0C; extern struct MusicPlayerInfo gMPlayInfo_BGM; -extern struct SpriteTemplate gMultiuseSpriteTemplate; extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[]; extern const struct CompressedSpritePalette gTrainerBackPicPaletteTable[]; @@ -52,7 +51,6 @@ extern void sub_81851A8(u8 *); // this file's functions static void PlayerHandleGetMonData(void); -void PlayerHandleGetRawMonData(void); static void PlayerHandleSetMonData(void); static void PlayerHandleSetRawMonData(void); static void PlayerHandleLoadMonSprite(void); diff --git a/src/battle_controller_safari.c b/src/battle_controller_safari.c index bc97c01f9c..aab804b417 100644 --- a/src/battle_controller_safari.c +++ b/src/battle_controller_safari.c @@ -21,7 +21,7 @@ #include "pokeball.h" #include "data2.h" #include "pokeblock.h" -#include "item_use.h" +#include "item_menu.h" extern u16 gBattle_BG0_X; extern u16 gBattle_BG0_Y; diff --git a/src/battle_controller_wally.c b/src/battle_controller_wally.c index 960181fbc5..4faf78681c 100644 --- a/src/battle_controller_wally.c +++ b/src/battle_controller_wally.c @@ -29,7 +29,7 @@ #include "data2.h" #include "party_menu.h" #include "battle_setup.h" -#include "item_use.h" +#include "item_menu.h" extern u16 gBattle_BG0_X; extern u16 gBattle_BG0_Y; From 96f2b995dc67d1278bd65b3661426da95503cb5d Mon Sep 17 00:00:00 2001 From: DizzyEggg <jajkodizzy@wp.pl> Date: Thu, 30 Aug 2018 21:28:03 +0200 Subject: [PATCH 148/234] Pyramid bag review changes --- src/battle_pyramid_bag.c | 12 ++++++------ src/item.c | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/battle_pyramid_bag.c b/src/battle_pyramid_bag.c index 9cb35074b7..8a5ce7a99a 100644 --- a/src/battle_pyramid_bag.c +++ b/src/battle_pyramid_bag.c @@ -87,7 +87,7 @@ static u8 sub_81C6D24(u8 windowArrayId); static void sub_81C6D6C(u8 windowArrayId); static void sub_81C5EAC(u8 windowId); static void sub_81C5F08(u8 windowId, u8 horizontalCount, u8 verticalCount); -static bool8 IsAValidMenuAction(s8 arg0); +static bool8 IsValidMenuAction(s8 arg0); static void sub_81C6DAC(u8 taskId, const struct YesNoFuncTable *yesNoTable); static void sub_81C6CEC(u8 windowId); static void sub_81C704C(u8 y); @@ -842,7 +842,7 @@ static void HandleMenuActionInput(u8 taskId) s8 id = GetMenuCursorPos(); if (gMain.newKeys & DPAD_UP) { - if (id > 0 && IsAValidMenuAction(id - 2)) + if (id > 0 && IsValidMenuAction(id - 2)) { PlaySE(SE_SELECT); sub_8199134(0, -1); @@ -850,7 +850,7 @@ static void HandleMenuActionInput(u8 taskId) } else if (gMain.newKeys & DPAD_DOWN) { - if (id < gPyramidBagResources->menuActionsCount - 2 && IsAValidMenuAction(id + 2)) + if (id < gPyramidBagResources->menuActionsCount - 2 && IsValidMenuAction(id + 2)) { PlaySE(SE_SELECT); sub_8199134(0, 1); @@ -858,7 +858,7 @@ static void HandleMenuActionInput(u8 taskId) } else if (gMain.newKeys & DPAD_LEFT || GetLRKeysState() == 1) { - if (id & 1 && IsAValidMenuAction(id - 1)) + if (id & 1 && IsValidMenuAction(id - 1)) { PlaySE(SE_SELECT); sub_8199134(-1, 0); @@ -866,7 +866,7 @@ static void HandleMenuActionInput(u8 taskId) } else if (gMain.newKeys & DPAD_RIGHT || GetLRKeysState() == 2) { - if (!(id & 1) && IsAValidMenuAction(id + 1)) + if (!(id & 1) && IsValidMenuAction(id + 1)) { PlaySE(SE_SELECT); sub_8199134(1, 0); @@ -886,7 +886,7 @@ static void HandleMenuActionInput(u8 taskId) } } -static bool8 IsAValidMenuAction(s8 actionTableId) +static bool8 IsValidMenuAction(s8 actionTableId) { if (actionTableId < 0) return FALSE; diff --git a/src/item.c b/src/item.c index 3866d73169..b4a2fd6f07 100644 --- a/src/item.c +++ b/src/item.c @@ -754,7 +754,7 @@ u16 BagGetQuantityByPocketPosition(u8 pocketId, u16 pocketPos) static void SwapItemSlots(struct ItemSlot *a, struct ItemSlot *b) { struct ItemSlot temp; - SWAP(*a, *b, temp); + SWAP(*a, *b, temp); } void CompactItemsInBagPocket(struct BagPocket *bagPocket) From ce949ba70575c2aebac64a04153529875f9b9758 Mon Sep 17 00:00:00 2001 From: DizzyEggg <jajkodizzy@wp.pl> Date: Sat, 1 Sep 2018 18:31:53 +0200 Subject: [PATCH 149/234] document move type variables in pss --- include/contest.h | 1 + src/pokemon_summary_screen.c | 195 ++++++++++++++++++++--------------- 2 files changed, 113 insertions(+), 83 deletions(-) diff --git a/include/contest.h b/include/contest.h index 33080225bc..0a8fa4436e 100644 --- a/include/contest.h +++ b/include/contest.h @@ -8,6 +8,7 @@ enum CONTEST_CATEGORY_CUTE, CONTEST_CATEGORY_SMART, CONTEST_CATEGORY_TOUGH, + CONTEST_CATEGORIES_COUNT, }; enum diff --git a/src/pokemon_summary_screen.c b/src/pokemon_summary_screen.c index 1afbaab7a7..9648747e71 100644 --- a/src/pokemon_summary_screen.c +++ b/src/pokemon_summary_screen.c @@ -393,7 +393,10 @@ static const u8 gUnknown_0861CE7B[] = _("{COLOR WHITE}{SHADOW DARK_GREY}"); static const u8 gUnknown_0861CE82[] = _("{SPECIAL_F7 0x00}/{SPECIAL_F7 0x01}\n{SPECIAL_F7 0x02}\n{SPECIAL_F7 0x03}"); static const u8 gUnknown_0861CE8E[] = _("{SPECIAL_F7 0x00}\n{SPECIAL_F7 0x01}\n{SPECIAL_F7 0x02}"); static const u8 gUnknown_0861CE97[] = _("{PP}{SPECIAL_F7 0x00}/{SPECIAL_F7 0x01}"); -static const struct OamData gOamData_861CEA0 = + +#define TAG_MOVE_TYPES 30002 + +static const struct OamData sOamData_MoveTypes = { .y = 0, .affineMode = 0, @@ -409,140 +412,166 @@ static const struct OamData gOamData_861CEA0 = .paletteNum = 0, .affineParam = 0, }; -static const union AnimCmd gSpriteAnim_861CEA8[] = { - ANIMCMD_FRAME(0, 0, FALSE, FALSE), +static const union AnimCmd sSpriteAnim_TypeNormal[] = { + ANIMCMD_FRAME(TYPE_NORMAL * 8, 0, FALSE, FALSE), ANIMCMD_END }; -static const union AnimCmd gSpriteAnim_861CEB0[] = { - ANIMCMD_FRAME(8, 0, FALSE, FALSE), +static const union AnimCmd sSpriteAnim_TypeFighting[] = { + ANIMCMD_FRAME(TYPE_FIGHTING * 8, 0, FALSE, FALSE), ANIMCMD_END }; -static const union AnimCmd gSpriteAnim_861CEB8[] = { - ANIMCMD_FRAME(16, 0, FALSE, FALSE), +static const union AnimCmd sSpriteAnim_TypeFlying[] = { + ANIMCMD_FRAME(TYPE_FLYING * 8, 0, FALSE, FALSE), ANIMCMD_END }; -static const union AnimCmd gSpriteAnim_861CEC0[] = { - ANIMCMD_FRAME(24, 0, FALSE, FALSE), +static const union AnimCmd sSpriteAnim_TypePoison[] = { + ANIMCMD_FRAME(TYPE_POISON * 8, 0, FALSE, FALSE), ANIMCMD_END }; -static const union AnimCmd gSpriteAnim_861CEC8[] = { - ANIMCMD_FRAME(32, 0, FALSE, FALSE), +static const union AnimCmd sSpriteAnim_TypeGround[] = { + ANIMCMD_FRAME(TYPE_GROUND * 8, 0, FALSE, FALSE), ANIMCMD_END }; -static const union AnimCmd gSpriteAnim_861CED0[] = { - ANIMCMD_FRAME(40, 0, FALSE, FALSE), +static const union AnimCmd sSpriteAnim_TypeRock[] = { + ANIMCMD_FRAME(TYPE_ROCK * 8, 0, FALSE, FALSE), ANIMCMD_END }; -static const union AnimCmd gSpriteAnim_861CED8[] = { - ANIMCMD_FRAME(48, 0, FALSE, FALSE), +static const union AnimCmd sSpriteAnim_TypeBug[] = { + ANIMCMD_FRAME(TYPE_BUG * 8, 0, FALSE, FALSE), ANIMCMD_END }; -static const union AnimCmd gSpriteAnim_861CEE0[] = { - ANIMCMD_FRAME(56, 0, FALSE, FALSE), +static const union AnimCmd sSpriteAnim_TypeGhost[] = { + ANIMCMD_FRAME(TYPE_GHOST * 8, 0, FALSE, FALSE), ANIMCMD_END }; -static const union AnimCmd gSpriteAnim_861CEE8[] = { - ANIMCMD_FRAME(64, 0, FALSE, FALSE), +static const union AnimCmd sSpriteAnim_TypeSteel[] = { + ANIMCMD_FRAME(TYPE_STEEL * 8, 0, FALSE, FALSE), ANIMCMD_END }; -static const union AnimCmd gSpriteAnim_861CEF0[] = { - ANIMCMD_FRAME(72, 0, FALSE, FALSE), +static const union AnimCmd sSpriteAnim_TypeMystery[] = { + ANIMCMD_FRAME(TYPE_MYSTERY * 8, 0, FALSE, FALSE), ANIMCMD_END }; -static const union AnimCmd gSpriteAnim_861CEF8[] = { - ANIMCMD_FRAME(80, 0, FALSE, FALSE), +static const union AnimCmd sSpriteAnim_TypeFire[] = { + ANIMCMD_FRAME(TYPE_FIRE * 8, 0, FALSE, FALSE), ANIMCMD_END }; -static const union AnimCmd gSpriteAnim_861CF00[] = { - ANIMCMD_FRAME(88, 0, FALSE, FALSE), +static const union AnimCmd sSpriteAnim_TypeWater[] = { + ANIMCMD_FRAME(TYPE_WATER * 8, 0, FALSE, FALSE), ANIMCMD_END }; -static const union AnimCmd gSpriteAnim_861CF08[] = { - ANIMCMD_FRAME(96, 0, FALSE, FALSE), +static const union AnimCmd sSpriteAnim_TypeGrass[] = { + ANIMCMD_FRAME(TYPE_GRASS * 8, 0, FALSE, FALSE), ANIMCMD_END }; -static const union AnimCmd gSpriteAnim_861CF10[] = { - ANIMCMD_FRAME(104, 0, FALSE, FALSE), +static const union AnimCmd sSpriteAnim_TypeElectric[] = { + ANIMCMD_FRAME(TYPE_ELECTRIC * 8, 0, FALSE, FALSE), ANIMCMD_END }; -static const union AnimCmd gSpriteAnim_861CF18[] = { - ANIMCMD_FRAME(112, 0, FALSE, FALSE), +static const union AnimCmd sSpriteAnim_TypePsychic[] = { + ANIMCMD_FRAME(TYPE_PSYCHIC * 8, 0, FALSE, FALSE), ANIMCMD_END }; -static const union AnimCmd gSpriteAnim_861CF20[] = { - ANIMCMD_FRAME(120, 0, FALSE, FALSE), +static const union AnimCmd sSpriteAnim_TypeIce[] = { + ANIMCMD_FRAME(TYPE_ICE * 8, 0, FALSE, FALSE), ANIMCMD_END }; -static const union AnimCmd gSpriteAnim_861CF28[] = { - ANIMCMD_FRAME(128, 0, FALSE, FALSE), +static const union AnimCmd sSpriteAnim_TypeDragon[] = { + ANIMCMD_FRAME(TYPE_DRAGON * 8, 0, FALSE, FALSE), ANIMCMD_END }; -static const union AnimCmd gSpriteAnim_861CF30[] = { - ANIMCMD_FRAME(136, 0, FALSE, FALSE), +static const union AnimCmd sSpriteAnim_TypeDark[] = { + ANIMCMD_FRAME(TYPE_DARK * 8, 0, FALSE, FALSE), ANIMCMD_END }; -static const union AnimCmd gSpriteAnim_861CF38[] = { - ANIMCMD_FRAME(144, 0, FALSE, FALSE), +static const union AnimCmd sSpriteAnim_CategoryCool[] = { + ANIMCMD_FRAME((CONTEST_CATEGORY_COOL + NUMBER_OF_MON_TYPES) * 8, 0, FALSE, FALSE), ANIMCMD_END }; -static const union AnimCmd gSpriteAnim_861CF40[] = { - ANIMCMD_FRAME(152, 0, FALSE, FALSE), +static const union AnimCmd sSpriteAnim_CategoryBeauty[] = { + ANIMCMD_FRAME((CONTEST_CATEGORY_BEAUTY + NUMBER_OF_MON_TYPES) * 8, 0, FALSE, FALSE), ANIMCMD_END }; -static const union AnimCmd gSpriteAnim_861CF48[] = { - ANIMCMD_FRAME(160, 0, FALSE, FALSE), +static const union AnimCmd sSpriteAnim_CategoryCute[] = { + ANIMCMD_FRAME((CONTEST_CATEGORY_CUTE + NUMBER_OF_MON_TYPES) * 8, 0, FALSE, FALSE), ANIMCMD_END }; -static const union AnimCmd gSpriteAnim_861CF50[] = { - ANIMCMD_FRAME(168, 0, FALSE, FALSE), +static const union AnimCmd sSpriteAnim_CategorySmart[] = { + ANIMCMD_FRAME((CONTEST_CATEGORY_SMART + NUMBER_OF_MON_TYPES) * 8, 0, FALSE, FALSE), ANIMCMD_END }; -static const union AnimCmd gSpriteAnim_861CF58[] = { - ANIMCMD_FRAME(176, 0, FALSE, FALSE), +static const union AnimCmd sSpriteAnim_CategoryTough[] = { + ANIMCMD_FRAME((CONTEST_CATEGORY_TOUGH + NUMBER_OF_MON_TYPES) * 8, 0, FALSE, FALSE), ANIMCMD_END }; -static const union AnimCmd *const gSpriteAnimTable_861CF60[] = { - gSpriteAnim_861CEA8, - gSpriteAnim_861CEB0, - gSpriteAnim_861CEB8, - gSpriteAnim_861CEC0, - gSpriteAnim_861CEC8, - gSpriteAnim_861CED0, - gSpriteAnim_861CED8, - gSpriteAnim_861CEE0, - gSpriteAnim_861CEE8, - gSpriteAnim_861CEF0, - gSpriteAnim_861CEF8, - gSpriteAnim_861CF00, - gSpriteAnim_861CF08, - gSpriteAnim_861CF10, - gSpriteAnim_861CF18, - gSpriteAnim_861CF20, - gSpriteAnim_861CF28, - gSpriteAnim_861CF30, - gSpriteAnim_861CF38, - gSpriteAnim_861CF40, - gSpriteAnim_861CF48, - gSpriteAnim_861CF50, - gSpriteAnim_861CF58, +static const union AnimCmd *const sSpriteAnimTable_MoveTypes[NUMBER_OF_MON_TYPES + CONTEST_CATEGORIES_COUNT] = { + sSpriteAnim_TypeNormal, + sSpriteAnim_TypeFighting, + sSpriteAnim_TypeFlying, + sSpriteAnim_TypePoison, + sSpriteAnim_TypeGround, + sSpriteAnim_TypeRock, + sSpriteAnim_TypeBug, + sSpriteAnim_TypeGhost, + sSpriteAnim_TypeSteel, + sSpriteAnim_TypeMystery, + sSpriteAnim_TypeFire, + sSpriteAnim_TypeWater, + sSpriteAnim_TypeGrass, + sSpriteAnim_TypeElectric, + sSpriteAnim_TypePsychic, + sSpriteAnim_TypeIce, + sSpriteAnim_TypeDragon, + sSpriteAnim_TypeDark, + sSpriteAnim_CategoryCool, + sSpriteAnim_CategoryBeauty, + sSpriteAnim_CategoryCute, + sSpriteAnim_CategorySmart, + sSpriteAnim_CategoryTough, }; -static const struct CompressedSpriteSheet gUnknown_0861CFBC = + +static const struct CompressedSpriteSheet sSpriteSheet_MoveTypes = { .data = gMoveTypes_Gfx, - .size = 0x1700, - .tag = 30002 + .size = (NUMBER_OF_MON_TYPES + CONTEST_CATEGORIES_COUNT) * 0x100, + .tag = TAG_MOVE_TYPES }; -static const struct SpriteTemplate gUnknown_0861CFC4 = +static const struct SpriteTemplate sSpriteTemplate_MoveTypes = { - .tileTag = 30002, - .paletteTag = 30002, - .oam = &gOamData_861CEA0, - .anims = gSpriteAnimTable_861CF60, + .tileTag = TAG_MOVE_TYPES, + .paletteTag = TAG_MOVE_TYPES, + .oam = &sOamData_MoveTypes, + .anims = sSpriteAnimTable_MoveTypes, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = SpriteCallbackDummy }; -static const u8 gUnknown_0861CFDC[] = {13, 13, 14, 14, 13, 13, 15, 14, 13, 15, 13, 14, 15, 13, 14, 14, 15, 13, 13, 14, 14, 15, 13}; +static const u8 sMoveTypeToOamPaletteNum[NUMBER_OF_MON_TYPES + CONTEST_CATEGORIES_COUNT] = +{ + [TYPE_NORMAL] = 13, + [TYPE_FIGHTING] = 13, + [TYPE_FLYING] = 14, + [TYPE_POISON] = 14, + [TYPE_GROUND] = 13, + [TYPE_ROCK] = 13, + [TYPE_BUG] = 15, + [TYPE_GHOST] = 14, + [TYPE_STEEL] = 13, + [TYPE_MYSTERY] = 15, + [TYPE_FIRE] = 13, + [TYPE_WATER] = 14, + [TYPE_GRASS] = 15, + [TYPE_ELECTRIC] = 13, + [TYPE_PSYCHIC] = 14, + [TYPE_ICE] = 14, + [TYPE_DRAGON] = 15, + [TYPE_DARK] = 13, + [NUMBER_OF_MON_TYPES + CONTEST_CATEGORY_COOL] = 13, + [NUMBER_OF_MON_TYPES + CONTEST_CATEGORY_BEAUTY] = 14, + [NUMBER_OF_MON_TYPES + CONTEST_CATEGORY_CUTE] = 14, + [NUMBER_OF_MON_TYPES + CONTEST_CATEGORY_SMART] = 15, + [NUMBER_OF_MON_TYPES + CONTEST_CATEGORY_TOUGH] = 13, +}; static const struct OamData gOamData_861CFF4 = { .y = 0, @@ -968,7 +997,7 @@ static bool8 SummaryScreen_DecompressGraphics(void) pssData->unk40F0++; break; case 7: - LoadCompressedObjectPic(&gUnknown_0861CFBC); + LoadCompressedObjectPic(&sSpriteSheet_MoveTypes); pssData->unk40F0++; break; case 8: @@ -3415,7 +3444,7 @@ static void sub_81C42C8(void) for (i = 3; i < 8; i++) { if (pssData->spriteIds[i] == 0xFF) - pssData->spriteIds[i] = CreateSprite(&gUnknown_0861CFC4, 0, 0, 2); + pssData->spriteIds[i] = CreateSprite(&sSpriteTemplate_MoveTypes, 0, 0, 2); sub_81C4204(i, TRUE); } @@ -3425,7 +3454,7 @@ static void SetMoveTypeSpritePosAndType(u8 typeId, u8 x, u8 y, u8 spriteArrayId) { struct Sprite *sprite = &gSprites[pssData->spriteIds[spriteArrayId]]; StartSpriteAnim(sprite, typeId); - sprite->oam.paletteNum = gUnknown_0861CFDC[typeId]; + sprite->oam.paletteNum = sMoveTypeToOamPaletteNum[typeId]; sprite->pos1.x = x + 16; sprite->pos1.y = y + 8; sub_81C4204(spriteArrayId, FALSE); From 38c89b9d0f0c71a2a8dfe2f38473338530a97ab9 Mon Sep 17 00:00:00 2001 From: DizzyEggg <jajkodizzy@wp.pl> Date: Sat, 1 Sep 2018 18:36:08 +0200 Subject: [PATCH 150/234] Bank to battler --- asm/macros/battle_ai_script.inc | 168 +++++++++++++++--------------- asm/macros/battle_anim_script.inc | 40 +++---- include/battle_interface.h | 10 +- include/battle_message.h | 8 +- include/battle_util2.h | 6 +- include/pokeball.h | 6 +- src/berry_blender.c | 12 +-- src/pokemon_animation.c | 6 +- 8 files changed, 128 insertions(+), 128 deletions(-) diff --git a/asm/macros/battle_ai_script.inc b/asm/macros/battle_ai_script.inc index 5e81686bf9..28f60be469 100644 --- a/asm/macros/battle_ai_script.inc +++ b/asm/macros/battle_ai_script.inc @@ -27,86 +27,86 @@ .byte \param0 .endm - .macro if_hp_less_than bank, param1, param2 + .macro if_hp_less_than battler, param1, param2 .byte 0x5 - .byte \bank + .byte \battler .byte \param1 .4byte \param2 .endm - .macro if_hp_more_than bank, param1, param2 + .macro if_hp_more_than battler, param1, param2 .byte 0x6 - .byte \bank + .byte \battler .byte \param1 .4byte \param2 .endm - .macro if_hp_equal bank, param1, param2 + .macro if_hp_equal battler, param1, param2 .byte 0x7 - .byte \bank + .byte \battler .byte \param1 .4byte \param2 .endm - .macro if_hp_not_equal bank, param1, param2 + .macro if_hp_not_equal battler, param1, param2 .byte 0x8 - .byte \bank + .byte \battler .byte \param1 .4byte \param2 .endm - .macro if_status bank, status1, param2 + .macro if_status battler, status1, param2 .byte 0x9 - .byte \bank + .byte \battler .4byte \status1 .4byte \param2 .endm - .macro if_not_status bank, status1, param2 + .macro if_not_status battler, status1, param2 .byte 0xa - .byte \bank + .byte \battler .4byte \status1 .4byte \param2 .endm - .macro if_status2 bank, status2, param2 + .macro if_status2 battler, status2, param2 .byte 0xb - .byte \bank + .byte \battler .4byte \status2 .4byte \param2 .endm - .macro if_not_status2 bank, status2, param2 + .macro if_not_status2 battler, status2, param2 .byte 0xc - .byte \bank + .byte \battler .4byte \status2 .4byte \param2 .endm - .macro if_status3 bank, status3, param2 + .macro if_status3 battler, status3, param2 .byte 0xd - .byte \bank + .byte \battler .4byte \status3 .4byte \param2 .endm - .macro if_not_status3 bank, status3, param2 + .macro if_not_status3 battler, status3, param2 .byte 0xe - .byte \bank + .byte \battler .4byte \status3 .4byte \param2 .endm - .macro if_side_affecting bank, sidestatus, param2 + .macro if_side_affecting battler, sidestatus, param2 .byte 0xf - .byte \bank + .byte \battler .4byte \sidestatus .4byte \param2 .endm - .macro if_not_side_affecting bank, sidestatus, param2 + .macro if_not_side_affecting battler, sidestatus, param2 .byte 0x10 - .byte \bank + .byte \battler .4byte \sidestatus .4byte \param2 .endm @@ -222,9 +222,9 @@ .byte 0x24 .endm - .macro get_last_used_bank_move bank + .macro get_last_used_bank_move battler .byte 0x25 - .byte \bank + .byte \battler .endm .macro if_equal_ param0, param1 @@ -259,9 +259,9 @@ .byte 0x2b .endm - .macro count_usable_party_mons bank + .macro count_usable_party_mons battler .byte 0x2c - .byte \bank + .byte \battler .endm .macro get_considered_move @@ -272,9 +272,9 @@ .byte 0x2e .endm - .macro get_ability bank + .macro get_ability battler .byte 0x2f - .byte \bank + .byte \battler .endm .macro get_highest_type_effectiveness @@ -295,16 +295,16 @@ .byte 0x33 .endm - .macro if_status_in_party bank, status1, param2 + .macro if_status_in_party battler, status1, param2 .byte 0x34 - .byte \bank + .byte \battler .4byte \status1 .4byte \param2 .endm - .macro if_status_not_in_party bank, status1, param2 + .macro if_status_not_in_party battler, status1, param2 .byte 0x35 - .byte \bank + .byte \battler .4byte \status1 .4byte \param2 .endm @@ -325,33 +325,33 @@ .4byte \param1 .endm - .macro if_stat_level_less_than bank, stat, param2, param3 + .macro if_stat_level_less_than battler, stat, param2, param3 .byte 0x39 - .byte \bank + .byte \battler .byte \stat .byte \param2 .4byte \param3 .endm - .macro if_stat_level_more_than bank, stat, param2, param3 + .macro if_stat_level_more_than battler, stat, param2, param3 .byte 0x3a - .byte \bank + .byte \battler .byte \stat .byte \param2 .4byte \param3 .endm - .macro if_stat_level_equal bank, stat, param2, param3 + .macro if_stat_level_equal battler, stat, param2, param3 .byte 0x3b - .byte \bank + .byte \battler .byte \stat .byte \param2 .4byte \param3 .endm - .macro if_stat_level_not_equal bank, stat, param2, param3 + .macro if_stat_level_not_equal battler, stat, param2, param3 .byte 0x3c - .byte \bank + .byte \battler .byte \stat .byte \param2 .4byte \param3 @@ -367,37 +367,37 @@ .4byte \param0 .endm - .macro if_has_move bank, param1, param2 + .macro if_has_move battler, param1, param2 .byte 0x3f - .byte \bank + .byte \battler .2byte \param1 .4byte \param2 .endm - .macro if_doesnt_have_move bank, param1, param2 + .macro if_doesnt_have_move battler, param1, param2 .byte 0x40 - .byte \bank + .byte \battler .2byte \param1 .4byte \param2 .endm - .macro if_has_move_with_effect bank, param1, param2 + .macro if_has_move_with_effect battler, param1, param2 .byte 0x41 - .byte \bank + .byte \battler .byte \param1 .4byte \param2 .endm - .macro if_doesnt_have_move_with_effect bank, param1, param2 + .macro if_doesnt_have_move_with_effect battler, param1, param2 .byte 0x42 - .byte \bank + .byte \battler .byte \param1 .4byte \param2 .endm - .macro if_any_move_disabled_or_encored bank, param1, param2 + .macro if_any_move_disabled_or_encored battler, param1, param2 .byte 0x43 - .byte \bank + .byte \battler .byte \param1 .4byte \param2 .endm @@ -421,33 +421,33 @@ .byte 0x47 .endm - .macro get_hold_effect bank + .macro get_hold_effect battler .byte 0x48 - .byte \bank + .byte \battler .endm - .macro get_gender bank + .macro get_gender battler .byte 0x49 - .byte \bank + .byte \battler .endm - .macro is_first_turn_for bank + .macro is_first_turn_for battler .byte 0x4a - .byte \bank + .byte \battler .endm - .macro get_stockpile_count bank + .macro get_stockpile_count battler .byte 0x4b - .byte \bank + .byte \battler .endm .macro is_double_battle .byte 0x4c .endm - .macro get_used_held_item bank + .macro get_used_held_item battler .byte 0x4d - .byte \bank + .byte \battler .endm .macro get_move_type_from_result @@ -462,9 +462,9 @@ .byte 0x50 .endm - .macro get_protect_count bank + .macro get_protect_count battler .byte 0x51 - .byte \bank + .byte \battler .endm .macro nullsub_52 @@ -526,27 +526,27 @@ .4byte \param0 .endm - .macro is_of_type bank, type + .macro is_of_type battler, type .byte 0x5f - .byte \bank + .byte \battler .byte \type .endm - .macro check_ability bank, ability + .macro check_ability battler, ability .byte 0x60 - .byte \bank + .byte \battler .byte \ability .endm - .macro if_flash_fired bank, param1 + .macro if_flash_fired battler, param1 .byte 0x61 - .byte \bank + .byte \battler .4byte \param1 .endm - .macro if_holds_item bank, param1, param2 + .macro if_holds_item battler, param1, param2 .byte 0x62 - .byte \bank + .byte \battler .2byte \param1 .4byte \param2 .endm @@ -572,23 +572,23 @@ get_type AI_TYPE2_TARGET .endm - .macro if_ability bank, ability, ptr - check_ability \bank, \ability + .macro if_ability battler, ability, ptr + check_ability \battler, \ability if_equal 1, \ptr .endm - .macro if_no_ability bank, ability, ptr - check_ability \bank, \ability + .macro if_no_ability battler, ability, ptr + check_ability \battler, \ability if_equal 0, \ptr .endm - .macro if_type bank, type, ptr - is_of_type \bank, \type + .macro if_type battler, type, ptr + is_of_type \battler, \type if_equal 1, \ptr .endm - .macro if_no_type bank, type, ptr - is_of_type \bank, \type + .macro if_no_type battler, type, ptr + is_of_type \battler, \type if_equal 0, \ptr .endm @@ -610,10 +610,10 @@ if_equal 0, \ptr .endm - .macro if_any_move_disabled bank, ptr - if_any_move_disabled_or_encored \bank, 0, \ptr + .macro if_any_move_disabled battler, ptr + if_any_move_disabled_or_encored \battler, 0, \ptr .endm - .macro if_any_move_encored bank, ptr - if_any_move_disabled_or_encored \bank, 1, \ptr + .macro if_any_move_encored battler, ptr + if_any_move_disabled_or_encored \battler, 1, \ptr .endm diff --git a/asm/macros/battle_anim_script.inc b/asm/macros/battle_anim_script.inc index b26d1218d6..d1a8f66564 100644 --- a/asm/macros/battle_anim_script.inc +++ b/asm/macros/battle_anim_script.inc @@ -56,14 +56,14 @@ .2byte \param0 .endm - .macro monbg bank + .macro monbg battler .byte 0xa - .byte \bank + .byte \battler .endm - .macro clearmonbg bank + .macro clearmonbg battler .byte 0xb - .byte \bank + .byte \battler .endm .macro setalpha param0 @@ -189,14 +189,14 @@ .4byte \param2 .endm - .macro monbg_22 bank + .macro monbg_22 battler .byte 0x22 - .byte \bank + .byte \battler .endm - .macro clearmonbg_23 bank + .macro clearmonbg_23 battler .byte 0x23 - .byte \bank + .byte \battler .endm .macro jumpifcontest param0 @@ -229,38 +229,38 @@ .byte \param4 .endm - .macro monbgprio_28 bank + .macro monbgprio_28 battler .byte 0x28 - .byte \bank + .byte \battler .endm .macro monbgprio_29 .byte 0x29 .endm - .macro monbgprio_2A bank + .macro monbgprio_2A battler .byte 0x2a - .byte \bank + .byte \battler .endm - .macro invisible bank + .macro invisible battler .byte 0x2b - .byte \bank + .byte \battler .endm - .macro visible bank + .macro visible battler .byte 0x2c - .byte \bank + .byte \battler .endm - .macro doublebattle_2D bank + .macro doublebattle_2D battler .byte 0x2d - .byte \bank + .byte \battler .endm - .macro doublebattle_2E bank + .macro doublebattle_2E battler .byte 0x2e - .byte \bank + .byte \battler .endm .macro stopsound diff --git a/include/battle_interface.h b/include/battle_interface.h index 2d93811f18..3145939d0c 100644 --- a/include/battle_interface.h +++ b/include/battle_interface.h @@ -60,21 +60,21 @@ enum HEALTHBOX_SAFARI_BALLS_TEXT }; -u8 CreateBattlerHealthboxSprites(u8 bank); +u8 CreateBattlerHealthboxSprites(u8 battler); u8 CreateSafariPlayerHealthboxSprites(void); -void SetBattleBarStruct(u8 bank, u8 healthboxSpriteId, s32 maxVal, s32 currVal, s32 receivedValue); +void SetBattleBarStruct(u8 battler, u8 healthboxSpriteId, s32 maxVal, s32 currVal, s32 receivedValue); void SetHealthboxSpriteInvisible(u8 healthboxSpriteId); void SetHealthboxSpriteVisible(u8 healthboxSpriteId); void DestoryHealthboxSprite(u8 healthboxSpriteId); void DummyBattleInterfaceFunc(u8 healthboxSpriteId, bool8 isDoubleBattleBankOnly); void UpdateOamPriorityInAllHealthboxes(u8 priority); -void InitBattlerHealthboxCoords(u8 bank); +void InitBattlerHealthboxCoords(u8 battler); void UpdateHpTextInHealthbox(u8 healthboxSpriteId, s16 value, u8 maxOrCurrent); void SwapHpBarsWithHpText(void); -u8 CreatePartyStatusSummarySprites(u8 bank, struct HpAndStatus *partyInfo, u8 arg2, bool8 isBattleStart); +u8 CreatePartyStatusSummarySprites(u8 battler, struct HpAndStatus *partyInfo, u8 arg2, bool8 isBattleStart); void Task_HidePartyStatusSummary(u8 taskId); void UpdateHealthboxAttribute(u8 healthboxSpriteId, struct Pokemon *mon, u8 elementId); -s32 MoveBattleBar(u8 bank, u8 healthboxSpriteId, u8 whichBar, u8 arg3); +s32 MoveBattleBar(u8 battler, u8 healthboxSpriteId, u8 whichBar, u8 arg3); u8 GetScaledHPFraction(s16 hp, s16 maxhp, u8 scale); u8 GetHPBarLevel(s16 hp, s16 maxhp); diff --git a/include/battle_message.h b/include/battle_message.h index c686072469..94f584935c 100644 --- a/include/battle_message.h +++ b/include/battle_message.h @@ -177,20 +177,20 @@ textVar[4] = B_BUFF_EOS; \ } -#define PREPARE_MON_NICK_WITH_PREFIX_BUFFER(textVar, bank, partyId) \ +#define PREPARE_MON_NICK_WITH_PREFIX_BUFFER(textVar, battler, partyId) \ { \ textVar[0] = B_BUFF_PLACEHOLDER_BEGIN; \ textVar[1] = B_BUFF_MON_NICK_WITH_PREFIX; \ - textVar[2] = bank; \ + textVar[2] = battler; \ textVar[3] = partyId; \ textVar[4] = B_BUFF_EOS; \ } -#define PREPARE_MON_NICK_BUFFER(textVar, bank, partyId) \ +#define PREPARE_MON_NICK_BUFFER(textVar, battler, partyId) \ { \ textVar[0] = B_BUFF_PLACEHOLDER_BEGIN; \ textVar[1] = B_BUFF_MON_NICK; \ - textVar[2] = bank; \ + textVar[2] = battler; \ textVar[3] = partyId; \ textVar[4] = B_BUFF_EOS; \ } diff --git a/include/battle_util2.h b/include/battle_util2.h index 3954e42dc9..336698ea32 100644 --- a/include/battle_util2.h +++ b/include/battle_util2.h @@ -3,8 +3,8 @@ void AllocateBattleResources(void); void FreeBattleResources(void); -void AdjustFriendshipOnBattleFaint(u8 bank); -void sub_80571DC(u8 bank, u8 arg1); -u32 sub_805725C(u8 bank); +void AdjustFriendshipOnBattleFaint(u8 battler); +void sub_80571DC(u8 battler, u8 arg1); +u32 sub_805725C(u8 battler); #endif // GUARD_BATTLE_UTIL_H diff --git a/include/pokeball.h b/include/pokeball.h index 30a1d8b11e..8e1d8b8ecb 100644 --- a/include/pokeball.h +++ b/include/pokeball.h @@ -24,10 +24,10 @@ extern const struct SpriteTemplate gBallSpriteTemplates[]; #define POKEBALL_OPPONENT_SENDOUT 0xFE u8 DoPokeballSendOutAnimation(s16 pan, u8 kindOfThrow); -void CreatePokeballSpriteToReleaseMon(u8 monSpriteId, u8 bank, u8 x, u8 y, u8 oamPriority, u8 subpriortiy, u8 g, u32 h, u16 species); +void CreatePokeballSpriteToReleaseMon(u8 monSpriteId, u8 battler, u8 x, u8 y, u8 oamPriority, u8 subpriortiy, u8 g, u32 h, u16 species); u8 sub_807671C(u8 a, u8 b, u8 x, u8 y, u8 oamPriority, u8 subPriority, u8 g, u32 h); -void sub_8076918(u8 bank); -void DoHitAnimHealthboxEffect(u8 bank); +void sub_8076918(u8 battler); +void DoHitAnimHealthboxEffect(u8 battler); void LoadBallGfx(u8 ballId); void FreeBallGfx(u8 ballId); diff --git a/src/berry_blender.c b/src/berry_blender.c index 46b0f76ada..1fd6d1cddb 100644 --- a/src/berry_blender.c +++ b/src/berry_blender.c @@ -188,7 +188,7 @@ static bool8 sub_8083380(void); static void sub_808074C(void); static void Blender_PrintPlayerNames(void); static void sub_8080588(void); -static void Blender_SetBankBerryData(u8 bank, u16 itemId); +static void Blender_SetParticipantBerryData(u8 participantId, u16 itemId); static void Blender_AddTextPrinter(u8 windowId, const u8 *string, u8 x, u8 y, s32 speed, s32 caseId); static void sub_8080DF8(void); static void sub_8082E84(void); @@ -1391,7 +1391,7 @@ static void Blender_SetOpponentsBerryData(u16 playerBerryItemId, u8 playersNum, if (var <= 4) opponentBerryId -= 5; } - Blender_SetBankBerryData(i + 1, opponentBerryId + FIRST_BERRY_INDEX); + Blender_SetParticipantBerryData(i + 1, opponentBerryId + FIRST_BERRY_INDEX); } } @@ -1454,7 +1454,7 @@ static void sub_80808D4(void) case 0: sub_800B4C0(); sub_8080588(); - Blender_SetBankBerryData(0, gSpecialVar_ItemId); + Blender_SetParticipantBerryData(0, gSpecialVar_ItemId); Blender_CopyBerryData(&sBerryBlenderData->blendedBerries[0], gSpecialVar_ItemId); Blender_SetOpponentsBerryData(gSpecialVar_ItemId, sBerryBlenderData->playersNo, &sBerryBlenderData->blendedBerries[0]); @@ -2956,10 +2956,10 @@ static void sub_8082F9C(struct Sprite* sprite) DestroySprite(sprite); } -static void Blender_SetBankBerryData(u8 bank, u16 itemId) +static void Blender_SetParticipantBerryData(u8 participantId, u16 itemId) { - sBerryBlenderData->chosenItemId[bank] = itemId; - Blender_CopyBerryData(&sBerryBlenderData->blendedBerries[bank], itemId); + sBerryBlenderData->chosenItemId[participantId] = itemId; + Blender_CopyBerryData(&sBerryBlenderData->blendedBerries[participantId], itemId); } static void sub_8083010(struct Sprite* sprite) diff --git a/src/pokemon_animation.c b/src/pokemon_animation.c index c50aa4a757..9c307f7f87 100644 --- a/src/pokemon_animation.c +++ b/src/pokemon_animation.c @@ -938,14 +938,14 @@ void StartMonSummaryAnimation(struct Sprite *sprite, u8 frontAnimId) void LaunchAnimationTaskForBackSprite(struct Sprite *sprite, u8 backAnimSet) { - u8 nature, taskId, animId, bank; + u8 nature, taskId, animId, battlerId; taskId = CreateTask(Task_HandleMonAnimation, 128); gTasks[taskId].tPtrLO = (u32)(sprite) >> 0x10; gTasks[taskId].tPtrHI = (u32)(sprite); - bank = sprite->data[0]; - nature = GetNature(&gPlayerParty[gBattlerPartyIndexes[bank]]); + battlerId = sprite->data[0]; + nature = GetNature(&gPlayerParty[gBattlerPartyIndexes[battlerId]]); animId = 3 * backAnimSet + sBackAnimNatureModTable[nature]; gTasks[taskId].tAnimId = sBackAnimationIds[animId]; From ead21250a6e1ef3ebb4f7e69fd22dcb09be31ef8 Mon Sep 17 00:00:00 2001 From: DizzyEggg <jajkodizzy@wp.pl> Date: Sat, 1 Sep 2018 19:05:06 +0200 Subject: [PATCH 151/234] Label all battle ai scripts --- data/battle_ai_scripts.s | 176 +++++++++++++++++----------------- include/constants/battle_ai.h | 4 +- 2 files changed, 90 insertions(+), 90 deletions(-) diff --git a/data/battle_ai_scripts.s b/data/battle_ai_scripts.s index 2db1c5728e..c227391ca1 100644 --- a/data/battle_ai_scripts.s +++ b/data/battle_ai_scripts.s @@ -13,8 +13,8 @@ .align 2 gBattleAI_ScriptsTable:: @ 82DBEF8 .4byte AI_CheckBadMove - .4byte AI_CheckViability .4byte AI_TryToFaint + .4byte AI_CheckViability .4byte AI_SetupFirstTurn .4byte AI_Risky .4byte AI_PreferStrongestMove @@ -47,12 +47,12 @@ gBattleAI_ScriptsTable:: @ 82DBEF8 AI_CheckBadMove: if_target_is_ally AI_Ret - if_move MOVE_FISSURE, BattleAIScript_82DBF92 - if_move MOVE_HORN_DRILL, BattleAIScript_82DBF92 + if_move MOVE_FISSURE, AI_CBM_CheckIfNegatesType + if_move MOVE_HORN_DRILL, AI_CBM_CheckIfNegatesType get_how_powerful_move_is if_equal 0, AI_CheckBadMove_CheckSoundproof -BattleAIScript_82DBF92: @ 82DBF92 +AI_CBM_CheckIfNegatesType: @ 82DBF92 if_type_effectiveness AI_EFFECTIVENESS_x0, Score_Minus10 get_ability AI_TARGET if_equal ABILITY_VOLT_ABSORB, CheckIfVoltAbsorbCancelsElectric @@ -60,32 +60,32 @@ BattleAIScript_82DBF92: @ 82DBF92 if_equal ABILITY_FLASH_FIRE, CheckIfFlashFireCancelsFire if_equal ABILITY_WONDER_GUARD, CheckIfWonderGuardCancelsMove if_equal ABILITY_LEVITATE, CheckIfLevitateCancelsGroundMove - goto BattleAIScript_82DBFF7 + goto AI_CheckBadMove_CheckSoundproof_ CheckIfVoltAbsorbCancelsElectric: @ 82DBFBD get_curr_move_type if_equal_ TYPE_ELECTRIC, Score_Minus12 - goto BattleAIScript_82DBFF7 + goto AI_CheckBadMove_CheckSoundproof_ CheckIfWaterAbsorbCancelsWater: @ 82DBFCA get_curr_move_type if_equal_ TYPE_WATER, Score_Minus12 - goto BattleAIScript_82DBFF7 + goto AI_CheckBadMove_CheckSoundproof_ CheckIfFlashFireCancelsFire: @ 82DBFD7 get_curr_move_type if_equal_ TYPE_FIRE, Score_Minus12 - goto BattleAIScript_82DBFF7 + goto AI_CheckBadMove_CheckSoundproof_ CheckIfWonderGuardCancelsMove: @ 82DBFE4 - if_type_effectiveness AI_EFFECTIVENESS_x2, BattleAIScript_82DBFF7 + if_type_effectiveness AI_EFFECTIVENESS_x2, AI_CheckBadMove_CheckSoundproof_ goto Score_Minus10 CheckIfLevitateCancelsGroundMove: @ 82DBFEF get_curr_move_type if_equal_ TYPE_GROUND, Score_Minus10 -BattleAIScript_82DBFF7: @ 82DBFF7 +AI_CheckBadMove_CheckSoundproof_: @ 82DBFF7 get_how_powerful_move_is if_equal 0, AI_CheckBadMove_CheckSoundproof @@ -654,7 +654,7 @@ Score_Plus10: score +10 end -AI_TryToFaint: +AI_CheckViability: if_target_is_ally AI_Ret if_effect EFFECT_SLEEP, AI_CV_Sleep if_effect EFFECT_ABSORB, AI_CV_Absorb @@ -707,7 +707,7 @@ AI_TryToFaint: if_effect EFFECT_REFLECT, AI_CV_Reflect if_effect EFFECT_POISON, AI_CV_Poison if_effect EFFECT_PARALYZE, AI_CV_Paralyze - if_effect EFFECT_SWAGGER, BattleAIScript_82DD286 + if_effect EFFECT_SWAGGER, AI_CV_Swagger if_effect EFFECT_SPEED_DOWN_HIT, AI_CV_SpeedDownFromChance if_effect EFFECT_SKY_ATTACK, AI_CV_ChargeUpMove if_effect EFFECT_VITAL_THROW, AI_CV_VitalThrow @@ -1547,8 +1547,8 @@ AI_CV_HighCrit2: AI_CV_HighCrit_End: end -BattleAIScript_82DD286: - if_has_move AI_USER, MOVE_PSYCH_UP, BattleAIScript_82DD2B8 +AI_CV_Swagger: + if_has_move AI_USER, MOVE_PSYCH_UP, AI_CV_SwaggerHasPsychUp AI_CV_Flatter: if_random_less_than 128, AI_CV_Confuse @@ -1568,18 +1568,18 @@ AI_CV_Confuse2: AI_CV_Confuse_End: end -BattleAIScript_82DD2B8: - if_stat_level_more_than AI_TARGET, STAT_ATK, 3, BattleAIScript_82DD2D0 +AI_CV_SwaggerHasPsychUp: + if_stat_level_more_than AI_TARGET, STAT_ATK, 3, AI_CV_SwaggerHasPsychUp_Minus5 score +3 get_turn_count - if_not_equal 0, BattleAIScript_82DD2D2 + if_not_equal 0, AI_CV_SwaggerHasPsychUp_End score +2 - goto BattleAIScript_82DD2D2 + goto AI_CV_SwaggerHasPsychUp_End -BattleAIScript_82DD2D0: +AI_CV_SwaggerHasPsychUp_Minus5: score -5 -BattleAIScript_82DD2D2: +AI_CV_SwaggerHasPsychUp_End: end AI_CV_Reflect: @@ -1735,7 +1735,7 @@ AI_CV_Counter2: score -1 AI_CV_Counter3: - if_has_move AI_USER, MOVE_MIRROR_COAT, BattleAIScript_82DD4CD + if_has_move AI_USER, MOVE_MIRROR_COAT, AI_CV_Counter7 get_last_used_bank_move AI_TARGET get_move_power_from_result if_equal 0, AI_CV_Counter5 @@ -1763,11 +1763,11 @@ AI_CV_Counter6: if_in_bytes AI_CV_Counter_PhysicalTypeList, AI_CV_Counter_End if_random_less_than 50, AI_CV_Counter_End -BattleAIScript_82DD4CD: - if_random_less_than 100, BattleAIScript_82DD4D5 +AI_CV_Counter7: + if_random_less_than 100, AI_CV_Counter8 score +4 -BattleAIScript_82DD4D5: +AI_CV_Counter8: end AI_CV_Counter_ScoreDown1: @@ -2756,15 +2756,15 @@ AI_CV_DragonDance2: AI_CV_DragonDance_End: end -AI_CheckViability: +AI_TryToFaint: if_target_is_ally AI_Ret if_can_faint AI_TryToFaint_TryToEncourageQuickAttack get_how_powerful_move_is - if_equal 1, Score_Minus1 - if_type_effectiveness AI_EFFECTIVENESS_x4, BattleAIScript_82DDE57 + if_equal MOVE_NOT_MOST_POWERFUL, Score_Minus1 + if_type_effectiveness AI_EFFECTIVENESS_x4, AI_TryToFaint_DoubleSuperEffective end -BattleAIScript_82DDE57: +AI_TryToFaint_DoubleSuperEffective: if_random_less_than 80, AI_TryToFaint_End score +2 end @@ -2895,9 +2895,9 @@ AI_Risky_EffectsToEncourage: AI_PreferBatonPass: if_target_is_ally AI_Ret count_usable_party_mons AI_USER - if_equal 0, BattleAIScript_82DDFB3 + if_equal 0, AI_PreferBatonPassEnd get_how_powerful_move_is - if_not_equal 0, BattleAIScript_82DDFB3 + if_not_equal 0, AI_PreferBatonPassEnd if_has_move_with_effect AI_USER, EFFECT_BATON_PASS, AI_PreferBatonPass_GoForBatonPass if_random_less_than 80, AI_Risky_End @@ -2906,7 +2906,7 @@ AI_PreferBatonPass_GoForBatonPass: if_move MOVE_DRAGON_DANCE, AI_PreferBatonPass2 if_move MOVE_CALM_MIND, AI_PreferBatonPass2 if_effect EFFECT_PROTECT, AI_PreferBatonPass_End - if_move MOVE_BATON_PASS, BattleAIScript_82DDF7B + if_move MOVE_BATON_PASS, AI_PreferBatonPass_EncourageIfHighStats if_random_less_than 20, AI_Risky_End score +3 @@ -2918,16 +2918,16 @@ AI_PreferBatonPass2: AI_PreferBatonPass_End: get_last_used_bank_move AI_USER - if_in_hwords sMovesTable_82DDF75, Score_Minus2 + if_in_hwords sMovesTable_ProtectMoves, Score_Minus2 score +2 end -sMovesTable_82DDF75: +sMovesTable_ProtectMoves: .2byte MOVE_PROTECT .2byte MOVE_DETECT .2byte -1 -BattleAIScript_82DDF7B: +AI_PreferBatonPass_EncourageIfHighStats: get_turn_count if_equal 0, Score_Minus2 if_stat_level_more_than AI_USER, STAT_ATK, 8, Score_Plus3 @@ -2938,39 +2938,39 @@ BattleAIScript_82DDF7B: if_stat_level_more_than AI_USER, STAT_SPATK, 6, Score_Plus1 end -BattleAIScript_82DDFB3: +AI_PreferBatonPassEnd: end AI_DoubleBattle: if_target_is_ally AI_TryOnAlly - if_move MOVE_SKILL_SWAP, BattleAIScript_82DE04B + if_move MOVE_SKILL_SWAP, AI_DoubleBattleSkillSwap get_curr_move_type - if_move MOVE_EARTHQUAKE, BattleAIScript_82DE010 - if_move MOVE_MAGNITUDE, BattleAIScript_82DE010 - if_equal 13, BattleAIScript_82DE062 - if_equal 10, BattleAIScript_82DE079 + if_move MOVE_EARTHQUAKE, AI_DoubleBattleAllHittingGroundMove + if_move MOVE_MAGNITUDE, AI_DoubleBattleAllHittingGroundMove + if_equal TYPE_ELECTRIC, AI_DoubleBattleElectricMove + if_equal TYPE_FIRE, AI_DoubleBattleFireMove get_ability AI_USER - if_not_equal ABILITY_GUTS, BattleAIScript_82DDFF5 - if_has_move AI_USER_PARTNER, MOVE_HELPING_HAND, BattleAIScript_82DDFED + if_not_equal ABILITY_GUTS, AI_DoubleBattleCheckUserStatus + if_has_move AI_USER_PARTNER, MOVE_HELPING_HAND, AI_DoubleBattlePartnerHasHelpingHand end -BattleAIScript_82DDFED: +AI_DoubleBattlePartnerHasHelpingHand: get_how_powerful_move_is if_not_equal 0, Score_Plus1 end -BattleAIScript_82DDFF5: - if_status AI_USER, STATUS1_ANY, BattleAIScript_82DE000 +AI_DoubleBattleCheckUserStatus: + if_status AI_USER, STATUS1_ANY, AI_DoubleBattleCheckUserStatus2 end -BattleAIScript_82DE000: +AI_DoubleBattleCheckUserStatus2: get_how_powerful_move_is - if_equal 0, Score_Minus5 + if_equal MOVE_POWER_DISCOURAGED, Score_Minus5 score +1 - if_equal 2, Score_Plus2 + if_equal MOVE_MOST_POWERFUL, Score_Plus2 end -BattleAIScript_82DE010: +AI_DoubleBattleAllHittingGroundMove: if_ability AI_USER_PARTNER, ABILITY_LEVITATE, Score_Plus2 if_type AI_USER_PARTNER, TYPE_FLYING, Score_Plus2 if_type AI_USER_PARTNER, TYPE_FIRE, Score_Minus10 @@ -2979,7 +2979,7 @@ BattleAIScript_82DE010: if_type AI_USER_PARTNER, TYPE_ROCK, Score_Minus10 goto Score_Minus3 -BattleAIScript_82DE04B: +AI_DoubleBattleSkillSwap: get_ability AI_USER if_equal ABILITY_TRUANT, Score_Plus5 get_ability AI_TARGET @@ -2987,96 +2987,96 @@ BattleAIScript_82DE04B: if_equal ABILITY_PURE_POWER, Score_Plus2 end -BattleAIScript_82DE062: - if_no_ability AI_TARGET_PARTNER, ABILITY_LIGHTNING_ROD, BattleAIScript_82DE078 +AI_DoubleBattleElectricMove: + if_no_ability AI_TARGET_PARTNER, ABILITY_LIGHTNING_ROD, AI_DoubleBattleElectricMoveEnd score -2 - if_no_type AI_TARGET_PARTNER, TYPE_GROUND, BattleAIScript_82DE078 + if_no_type AI_TARGET_PARTNER, TYPE_GROUND, AI_DoubleBattleElectricMoveEnd score -8 -BattleAIScript_82DE078: +AI_DoubleBattleElectricMoveEnd: end -BattleAIScript_82DE079: - if_flash_fired AI_USER, BattleAIScript_82DE080 +AI_DoubleBattleFireMove: + if_flash_fired AI_USER, AI_DoubleBattleFireMove2 end -BattleAIScript_82DE080: +AI_DoubleBattleFireMove2: goto Score_Plus1 AI_TryOnAlly: get_how_powerful_move_is - if_equal 0, BattleAIScript_82DE0B2 + if_equal 0, AI_TryStatusMoveOnAlly get_curr_move_type - if_equal TYPE_FIRE, BattleAIScript_82DE099 + if_equal TYPE_FIRE, AI_TryFireMoveOnAlly AI_DiscourageOnAlly: goto Score_Minus30 -BattleAIScript_82DE099: - if_ability AI_USER_PARTNER, ABILITY_FLASH_FIRE, BattleAIScript_82DE0A7 +AI_TryFireMoveOnAlly: + if_ability AI_USER_PARTNER, ABILITY_FLASH_FIRE, AI_TryFireMoveOnAlly_FlashFire goto AI_DiscourageOnAlly -BattleAIScript_82DE0A7: +AI_TryFireMoveOnAlly_FlashFire: if_flash_fired AI_USER_PARTNER, AI_DiscourageOnAlly goto Score_Plus3 -BattleAIScript_82DE0B2: - if_move MOVE_SKILL_SWAP, BattleAIScript_82DE0DA - if_move MOVE_WILL_O_WISP, BattleAIScript_82DE14F - if_move MOVE_TOXIC, BattleAIScript_82DE14F - if_move MOVE_HELPING_HAND, BattleAIScript_82DE16D - if_move MOVE_SWAGGER, BattleAIScript_82DE178 +AI_TryStatusMoveOnAlly: + if_move MOVE_SKILL_SWAP, AI_TrySkillSwapOnAlly + if_move MOVE_WILL_O_WISP, AI_TryStatusOnAlly + if_move MOVE_TOXIC, AI_TryStatusOnAlly + if_move MOVE_HELPING_HAND, AI_TryHelpingHandOnAlly + if_move MOVE_SWAGGER, AI_TrySwaggerOnAlly goto Score_Minus30_ -BattleAIScript_82DE0DA: +AI_TrySkillSwapOnAlly: get_ability AI_TARGET if_equal ABILITY_TRUANT, Score_Plus10 get_ability AI_USER - if_not_equal ABILITY_LEVITATE, BattleAIScript_82DE107 + if_not_equal ABILITY_LEVITATE, AI_TrySkillSwapOnAlly2 get_ability AI_TARGET if_equal ABILITY_LEVITATE, Score_Minus30_ get_target_type1 - if_not_equal TYPE_ELECTRIC, BattleAIScript_82DE107 + if_not_equal TYPE_ELECTRIC, AI_TrySkillSwapOnAlly2 score +1 get_target_type2 - if_not_equal TYPE_ELECTRIC, BattleAIScript_82DE107 + if_not_equal TYPE_ELECTRIC, AI_TrySkillSwapOnAlly2 score +1 end -BattleAIScript_82DE107: +AI_TrySkillSwapOnAlly2: if_not_equal 14, Score_Minus30_ - if_has_move AI_USER_PARTNER, MOVE_FIRE_BLAST, BattleAIScript_82DE14A - if_has_move AI_USER_PARTNER, MOVE_THUNDER, BattleAIScript_82DE14A - if_has_move AI_USER_PARTNER, MOVE_CROSS_CHOP, BattleAIScript_82DE14A - if_has_move AI_USER_PARTNER, MOVE_HYDRO_PUMP, BattleAIScript_82DE14A - if_has_move AI_USER_PARTNER, MOVE_DYNAMIC_PUNCH, BattleAIScript_82DE14A - if_has_move AI_USER_PARTNER, MOVE_BLIZZARD, BattleAIScript_82DE14A - if_has_move AI_USER_PARTNER, MOVE_MEGAHORN, BattleAIScript_82DE14A + if_has_move AI_USER_PARTNER, MOVE_FIRE_BLAST, AI_TrySkillSwapOnAllyEnd + if_has_move AI_USER_PARTNER, MOVE_THUNDER, AI_TrySkillSwapOnAllyEnd + if_has_move AI_USER_PARTNER, MOVE_CROSS_CHOP, AI_TrySkillSwapOnAllyEnd + if_has_move AI_USER_PARTNER, MOVE_HYDRO_PUMP, AI_TrySkillSwapOnAllyEnd + if_has_move AI_USER_PARTNER, MOVE_DYNAMIC_PUNCH, AI_TrySkillSwapOnAllyEnd + if_has_move AI_USER_PARTNER, MOVE_BLIZZARD, AI_TrySkillSwapOnAllyEnd + if_has_move AI_USER_PARTNER, MOVE_MEGAHORN, AI_TrySkillSwapOnAllyEnd goto Score_Minus30_ -BattleAIScript_82DE14A: +AI_TrySkillSwapOnAllyEnd: goto Score_Plus3 -BattleAIScript_82DE14F: +AI_TryStatusOnAlly: get_ability AI_TARGET if_not_equal ABILITY_GUTS, Score_Minus30_ if_status AI_TARGET, STATUS1_ANY, Score_Minus30_ if_hp_less_than AI_USER, 91, Score_Minus30_ goto Score_Plus5 -BattleAIScript_82DE16D: +AI_TryHelpingHandOnAlly: if_random_less_than 64, Score_Minus1 goto Score_Plus2 -BattleAIScript_82DE178: - if_holds_item AI_TARGET, ITEM_PERSIM_BERRY, BattleAIScript_82DE185 +AI_TrySwaggerOnAlly: + if_holds_item AI_TARGET, ITEM_PERSIM_BERRY, AI_TrySwaggerOnAlly2 goto Score_Minus30_ -BattleAIScript_82DE185: - if_stat_level_more_than AI_TARGET, STAT_ATK, 7, BattleAIScript_82DE18F +AI_TrySwaggerOnAlly2: + if_stat_level_more_than AI_TARGET, STAT_ATK, 7, AI_TrySwaggerOnAlly_End score +3 -BattleAIScript_82DE18F: +AI_TrySwaggerOnAlly_End: end Score_Minus30_: diff --git a/include/constants/battle_ai.h b/include/constants/battle_ai.h index 7d2c70307d..4c3a45dc6c 100644 --- a/include/constants/battle_ai.h +++ b/include/constants/battle_ai.h @@ -35,8 +35,8 @@ // script's table id to bit #define AI_SCRIPT_CHECK_BAD_MOVE (1 << 0) -#define AI_SCRIPT_CHECK_VIABILITY (1 << 1) -#define AI_SCRIPT_TRY_TO_FAINT (1 << 2) +#define AI_SCRIPT_TRY_TO_FAINT (1 << 1) +#define AI_SCRIPT_CHECK_VIABILITY (1 << 2) #define AI_SCRIPT_SETUP_FIRST_TURN (1 << 3) #define AI_SCRIPT_RISKY (1 << 4) #define AI_SCRIPT_PREFER_STRONGEST_MOVE (1 << 5) From 44ba432dadc1d370cf02d4e6d64dbb55afdc3e0f Mon Sep 17 00:00:00 2001 From: DizzyEggg <jajkodizzy@wp.pl> Date: Sat, 1 Sep 2018 20:00:13 +0200 Subject: [PATCH 152/234] Label various battle scripts --- data/battle_ai_scripts.s | 18 +++--- data/battle_scripts_1.s | 106 +++++++++++++++++------------------ include/battle_scripts.h | 79 +++----------------------- include/battle_util.h | 4 +- include/constants/battle.h | 2 +- src/battle_main.c | 2 +- src/battle_script_commands.c | 94 ++++++++++++++++++------------- src/battle_util.c | 22 ++++---- 8 files changed, 140 insertions(+), 187 deletions(-) diff --git a/data/battle_ai_scripts.s b/data/battle_ai_scripts.s index c227391ca1..8f3cfb6571 100644 --- a/data/battle_ai_scripts.s +++ b/data/battle_ai_scripts.s @@ -3044,17 +3044,17 @@ AI_TrySkillSwapOnAlly: end AI_TrySkillSwapOnAlly2: - if_not_equal 14, Score_Minus30_ - if_has_move AI_USER_PARTNER, MOVE_FIRE_BLAST, AI_TrySkillSwapOnAllyEnd - if_has_move AI_USER_PARTNER, MOVE_THUNDER, AI_TrySkillSwapOnAllyEnd - if_has_move AI_USER_PARTNER, MOVE_CROSS_CHOP, AI_TrySkillSwapOnAllyEnd - if_has_move AI_USER_PARTNER, MOVE_HYDRO_PUMP, AI_TrySkillSwapOnAllyEnd - if_has_move AI_USER_PARTNER, MOVE_DYNAMIC_PUNCH, AI_TrySkillSwapOnAllyEnd - if_has_move AI_USER_PARTNER, MOVE_BLIZZARD, AI_TrySkillSwapOnAllyEnd - if_has_move AI_USER_PARTNER, MOVE_MEGAHORN, AI_TrySkillSwapOnAllyEnd + if_not_equal ABILITY_COMPOUND_EYES, Score_Minus30_ + if_has_move AI_USER_PARTNER, MOVE_FIRE_BLAST, AI_TrySkillSwapOnAllyPlus3 + if_has_move AI_USER_PARTNER, MOVE_THUNDER, AI_TrySkillSwapOnAllyPlus3 + if_has_move AI_USER_PARTNER, MOVE_CROSS_CHOP, AI_TrySkillSwapOnAllyPlus3 + if_has_move AI_USER_PARTNER, MOVE_HYDRO_PUMP, AI_TrySkillSwapOnAllyPlus3 + if_has_move AI_USER_PARTNER, MOVE_DYNAMIC_PUNCH, AI_TrySkillSwapOnAllyPlus3 + if_has_move AI_USER_PARTNER, MOVE_BLIZZARD, AI_TrySkillSwapOnAllyPlus3 + if_has_move AI_USER_PARTNER, MOVE_MEGAHORN, AI_TrySkillSwapOnAllyPlus3 goto Score_Minus30_ -AI_TrySkillSwapOnAllyEnd: +AI_TrySkillSwapOnAllyPlus3: goto Score_Plus3 AI_TryStatusOnAlly: diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index 2125fc47ef..fec030bb5c 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -399,19 +399,19 @@ BattleScript_EffectExplosion:: faintifabilitynotdamp setatkhptozero waitstate - jumpifbyte CMP_NO_COMMON_BITS, gMoveResultFlags, MOVE_RESULT_MISSED, BattleScript_82D8B94 - call BattleScript_82D8BEA - goto BattleScript_82D8B96 -BattleScript_82D8B94:: + jumpifbyte CMP_NO_COMMON_BITS, gMoveResultFlags, MOVE_RESULT_MISSED, BattleScript_ExplosionDoAnimStartLoop + call BattleScript_PreserveMissedBitDoMoveAnim + goto BattleScript_ExplosionLoop +BattleScript_ExplosionDoAnimStartLoop: attackanimation waitanimation -BattleScript_82D8B96:: +BattleScript_ExplosionLoop: movevaluescleanup critcalc damagecalc typecalc adjustnormaldamage - accuracycheck BattleScript_82D8BCF, ACC_CURR_MOVE + accuracycheck BattleScript_ExplosionMissed, ACC_CURR_MOVE effectivenesssound hitanimation BS_TARGET waitstate @@ -424,20 +424,20 @@ BattleScript_82D8B96:: tryfaintmon BS_TARGET, FALSE, NULL setbyte sMOVEEND_STATE, 0x0 moveend 0x2, 0x10 - jumpifnexttargetvalid BattleScript_82D8B96 + jumpifnexttargetvalid BattleScript_ExplosionLoop tryfaintmon BS_ATTACKER, FALSE, NULL end -BattleScript_82D8BCF:: +BattleScript_ExplosionMissed: effectivenesssound resultmessage waitmessage 0x40 setbyte sMOVEEND_STATE, 0x0 moveend 0x2, 0x10 - jumpifnexttargetvalid BattleScript_82D8B96 + jumpifnexttargetvalid BattleScript_ExplosionLoop tryfaintmon BS_ATTACKER, FALSE, NULL end -BattleScript_82D8BEA:: +BattleScript_PreserveMissedBitDoMoveAnim: bicbyte gMoveResultFlags, MOVE_RESULT_MISSED attackanimation waitanimation @@ -446,14 +446,14 @@ BattleScript_82D8BEA:: BattleScript_EffectDreamEater:: attackcanceler - jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_82D8C0E - jumpifstatus BS_TARGET, STATUS1_SLEEP, BattleScript_82D8C18 -BattleScript_82D8C0E:: + jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_DreamEaterNoEffect + jumpifstatus BS_TARGET, STATUS1_SLEEP, BattleScript_DreamEaterWorked +BattleScript_DreamEaterNoEffect: attackstring ppreduce waitmessage 0x40 goto BattleScript_WasntAffected -BattleScript_82D8C18:: +BattleScript_DreamEaterWorked: accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE attackstring ppreduce @@ -479,7 +479,7 @@ BattleScript_82D8C18:: jumpifmovehadnoeffect BattleScript_DreamEaterTryFaintEnd printstring STRINGID_PKMNDREAMEATEN waitmessage 0x40 -BattleScript_DreamEaterTryFaintEnd:: +BattleScript_DreamEaterTryFaintEnd: tryfaintmon BS_TARGET, FALSE, NULL goto BattleScript_MoveEnd @@ -606,9 +606,9 @@ BattleScript_EffectRampage:: attackcanceler accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE attackstring - jumpifstatus2 BS_ATTACKER, STATUS2_MULTIPLETURNS, BattleScript_82D8DAE + jumpifstatus2 BS_ATTACKER, STATUS2_MULTIPLETURNS, BattleScript_EffectRampage2 ppreduce -BattleScript_82D8DAE:: +BattleScript_EffectRampage2: confuseifrepeatingattackends goto BattleScript_HitFromCritCalc @@ -2297,8 +2297,7 @@ BattleScript_EffectSmellingsalt:: setmoveeffect MOVE_EFFECT_REMOVE_PARALYSIS | MOVE_EFFECT_CERTAIN jumpifstatus BS_TARGET, STATUS1_PARALYSIS, BattleScript_SmellingsaltDoubleDmg goto BattleScript_EffectHit - -BattleScript_SmellingsaltDoubleDmg:: +BattleScript_SmellingsaltDoubleDmg: setbyte sDMG_MULTIPLIER, 0x2 goto BattleScript_EffectHit @@ -2593,7 +2592,7 @@ BattleScript_EffectSecretPower:: goto BattleScript_EffectHit BattleScript_EffectDoubleEdge:: - setmoveeffect MOVE_EFFECT_RECOIL_33_PARALYSIS | MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN + setmoveeffect MOVE_EFFECT_RECOIL_33 | MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN goto BattleScript_EffectHit BattleScript_EffectTeeterDance:: @@ -3050,12 +3049,12 @@ BattleScript_82DAA83:: BattleScript_FrontierTrainerBattleWon:: jumpifnotbattletype BATTLE_TYPE_TRAINER, BattleScript_PayDayMoneyAndPickUpItems - jumpifbattletype BATTLE_TYPE_TWO_OPPONENTS, BattleScript_82DAAAB + jumpifbattletype BATTLE_TYPE_TWO_OPPONENTS, BattleScript_FrontierTrainerBattleWon_TwoDefeated printstring STRINGID_PLAYERDEFEATEDTRAINER1 - goto BattleScript_82DAAAE -BattleScript_82DAAAB:: + goto BattleScript_FrontierTrainerBattleWon_LoseTexts +BattleScript_FrontierTrainerBattleWon_TwoDefeated: printstring STRINGID_TWOENEMIESDEFEATED -BattleScript_82DAAAE:: +BattleScript_FrontierTrainerBattleWon_LoseTexts: trainerslidein BS_ATTACKER waitstate printstring STRINGID_TRAINER1LOSETEXT @@ -3065,10 +3064,10 @@ BattleScript_82DAAAE:: trainerslidein BS_FAINTED waitstate printstring STRINGID_TRAINER2LOSETEXT -BattleScript_82DAACB:: - jumpifnotbattletype BATTLE_TYPE_PYRAMID, BattleScript_82DAADA +BattleScript_82DAACB: + jumpifnotbattletype BATTLE_TYPE_PYRAMID, BattleScript_FrontierTrainerBattleWon_End pickup -BattleScript_82DAADA:: +BattleScript_FrontierTrainerBattleWon_End: end2 BattleScript_SmokeBallEscape:: @@ -3172,7 +3171,7 @@ BattleScript_PursuitDmgOnSwitchOut:: jumpifbyte CMP_EQUAL, gBattleCommunication, 0x0, BattleScript_PursuitDmgOnSwitchOutRet setbyte sGIVEEXP_STATE, 0x0 getexp BS_TARGET -BattleScript_PursuitDmgOnSwitchOutRet:: +BattleScript_PursuitDmgOnSwitchOutRet: return BattleScript_Pausex20:: @@ -3968,17 +3967,17 @@ BattleScript_MoveEffectConfusion:: waitmessage 0x40 return -BattleScript_MoveEffectRecoil33:: - jumpifmove MOVE_STRUGGLE, BattleScript_DoRecoil33 - jumpifability BS_ATTACKER, ABILITY_ROCK_HEAD, BattleScript_Recoil33End -BattleScript_DoRecoil33:: +BattleScript_MoveEffectRecoil:: + jumpifmove MOVE_STRUGGLE, BattleScript_DoRecoil + jumpifability BS_ATTACKER, ABILITY_ROCK_HEAD, BattleScript_RecoilEnd +BattleScript_DoRecoil:: orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000 healthbarupdate BS_ATTACKER datahpupdate BS_ATTACKER printstring STRINGID_PKMNHITWITHRECOIL waitmessage 0x40 tryfaintmon BS_ATTACKER, FALSE, NULL -BattleScript_Recoil33End:: +BattleScript_RecoilEnd:: return BattleScript_ItemSteal:: @@ -4048,38 +4047,37 @@ BattleScript_82DB4AF:: waitmessage 0x40 return -BattleScript_82DB4B8:: - call BattleScript_82DB4BE +BattleScript_IntimidateActivatesEnd3:: + call BattleScript_PauseIntimidateActivates end3 -BattleScript_82DB4BE:: +BattleScript_PauseIntimidateActivates: pause 0x20 -BattleScript_82DB4C1:: +BattleScript_IntimidateActivates:: setbyte gBattlerTarget, 0x0 setstatchanger STAT_ATK, 1, TRUE -BattleScript_82DB4CD:: - trygetintimidatetarget BattleScript_82DB51B - jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_82DB510 - jumpifability BS_TARGET, ABILITY_CLEAR_BODY, BattleScript_82DB51C - jumpifability BS_TARGET, ABILITY_HYPER_CUTTER, BattleScript_82DB51C - jumpifability BS_TARGET, ABILITY_WHITE_SMOKE, BattleScript_82DB51C - statbuffchange 0x21, BattleScript_82DB510 - jumpifbyte CMP_GREATER_THAN, cMULTISTRING_CHOOSER, 0x1, BattleScript_82DB510 +BattleScript_IntimidateActivatesLoop: + trygetintimidatetarget BattleScript_IntimidateActivatesReturn + jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_IntimidateActivatesLoopIncrement + jumpifability BS_TARGET, ABILITY_CLEAR_BODY, BattleScript_IntimidatePrevented + jumpifability BS_TARGET, ABILITY_HYPER_CUTTER, BattleScript_IntimidatePrevented + jumpifability BS_TARGET, ABILITY_WHITE_SMOKE, BattleScript_IntimidatePrevented + statbuffchange 0x21, BattleScript_IntimidateActivatesLoopIncrement + jumpifbyte CMP_GREATER_THAN, cMULTISTRING_CHOOSER, 0x1, BattleScript_IntimidateActivatesLoopIncrement setgraphicalstatchangevalues playanimation BS_TARGET, B_ANIM_STATS_CHANGE, sB_ANIM_ARG1 printstring STRINGID_PKMNCUTSATTACKWITH waitmessage 0x40 -BattleScript_82DB510:: +BattleScript_IntimidateActivatesLoopIncrement: addbyte gBattlerTarget, 0x1 - goto BattleScript_82DB4CD -BattleScript_82DB51B:: + goto BattleScript_IntimidateActivatesLoop +BattleScript_IntimidateActivatesReturn: return - -BattleScript_82DB51C:: +BattleScript_IntimidatePrevented: pause 0x20 printstring STRINGID_PREVENTEDFROMWORKING waitmessage 0x40 - goto BattleScript_82DB510 + goto BattleScript_IntimidateActivatesLoopIncrement BattleScript_DroughtActivates:: pause 0x20 @@ -4252,7 +4250,7 @@ BattleScript_AbilityCuredStatus:: updatestatusicon BS_SCRIPTING return -BattleScript_82DB695:: +BattleScript_IgnoresWhileAsleep:: printstring STRINGID_PKMNIGNORESASLEEP waitmessage 0x40 setbyte sMOVEEND_STATE, 0x0 @@ -4285,7 +4283,7 @@ BattleScript_IgnoresAndFallsAsleep:: moveend 0x2, 0x10 end -BattleScript_82DB6F0:: +BattleScript_IgnoresAndHitsItself:: printstring STRINGID_PKMNWONTOBEY waitmessage 0x40 goto BattleScript_DoSelfConfusionDmg @@ -4463,7 +4461,7 @@ BattleScript_ActionSelectionItemsCantBeUsed:: printselectionstring STRINGID_ITEMSCANTBEUSEDNOW endselectionscript -BattleScript_82DB87D:: +BattleScript_FlushMessageBox:: printstring STRINGID_EMPTYSTRING3 return diff --git a/include/battle_scripts.h b/include/battle_scripts.h index 1197dfb6ef..a52d256fc4 100644 --- a/include/battle_scripts.h +++ b/include/battle_scripts.h @@ -26,16 +26,9 @@ extern const u8 BattleScript_LocalBattleLost[]; extern const u8 BattleScript_LocalBattleLostPrintWhiteOut[]; extern const u8 BattleScript_LocalBattleLostEnd[]; extern const u8 BattleScript_CheckDomeDrew[]; -extern const u8 BattleScript_82DAA0B[]; -extern const u8 BattleScript_82DAA31[]; +extern const u8 BattleScript_FlushMessageBox[]; extern const u8 BattleScript_LinkBattleWonOrLost[]; -extern const u8 BattleScript_82DAA5C[]; -extern const u8 BattleScript_82DAA83[]; extern const u8 BattleScript_FrontierTrainerBattleWon[]; -extern const u8 BattleScript_82DAAAB[]; -extern const u8 BattleScript_82DAAAE[]; -extern const u8 BattleScript_82DAACB[]; -extern const u8 BattleScript_82DAADA[]; extern const u8 BattleScript_SmokeBallEscape[]; extern const u8 BattleScript_RanAwayUsingMonAbility[]; extern const u8 BattleScript_GotAwaySafely[]; @@ -45,11 +38,6 @@ extern const u8 BattleScript_PrintFailedToRunString[]; extern const u8 BattleScript_PrintCantEscapeFromBattle[]; extern const u8 BattleScript_PrintFullBox[]; extern const u8 BattleScript_ActionSwitch[]; -extern const u8 BattleScript_82DAB35[]; -extern const u8 BattleScript_82DAB37[]; -extern const u8 BattleScript_82DAB44[]; -extern const u8 BattleScript_82DAB77[]; -extern const u8 BattleScript_82DABB8[]; extern const u8 BattleScript_Pausex20[]; extern const u8 BattleScript_LevelUp[]; extern const u8 BattleScript_RainContinuesOrEnds[]; @@ -62,13 +50,10 @@ extern const u8 BattleScript_SideStatusWoreOff[]; extern const u8 BattleScript_SafeguardProtected[]; extern const u8 BattleScript_SafeguardEnds[]; extern const u8 BattleScript_LeechSeedTurnDrain[]; -extern const u8 BattleScript_82DAD47[]; -extern const u8 BattleScript_82DAD4D[]; extern const u8 BattleScript_BideStoringEnergy[]; extern const u8 BattleScript_BideAttack[]; extern const u8 BattleScript_BideNoEnergyToAttack[]; extern const u8 BattleScript_SuccessForceOut[]; -extern const u8 BattleScript_82DADF1[]; extern const u8 BattleScript_MistProtected[]; extern const u8 BattleScript_RageIsBuilding[]; extern const u8 BattleScript_MoveUsedIsDisabled[]; @@ -79,32 +64,16 @@ extern const u8 BattleScript_SelectingUnusableMoveInPalace[]; extern const u8 BattleScript_EncoredNoMore[]; extern const u8 BattleScript_DestinyBondTakesLife[]; extern const u8 BattleScript_SpikesOnAttacker[]; -extern const u8 BattleScript_82DAE7A[]; extern const u8 BattleScript_SpikesOnTarget[]; -extern const u8 BattleScript_82DAEB1[]; extern const u8 BattleScript_SpikesOnFaintedBattler[]; -extern const u8 BattleScript_82DAEE8[]; -extern const u8 BattleScript_82DAEFE[]; extern const u8 BattleScript_PerishSongTakesLife[]; extern const u8 BattleScript_PerishSongCountGoesDown[]; extern const u8 BattleScript_AllStatsUp[]; -extern const u8 BattleScript_82DAF54[]; -extern const u8 BattleScript_82DAF72[]; -extern const u8 BattleScript_82DAF86[]; -extern const u8 BattleScript_82DAF9A[]; -extern const u8 BattleScript_82DAFAE[]; -extern const u8 BattleScript_82DAFC2[]; extern const u8 BattleScript_RapidSpinAway[]; extern const u8 BattleScript_WrapFree[]; extern const u8 BattleScript_LeechSeedFree[]; extern const u8 BattleScript_SpikesFree[]; extern const u8 BattleScript_MonTookFutureAttack[]; -extern const u8 BattleScript_82DB001[]; -extern const u8 BattleScript_82DB008[]; -extern const u8 BattleScript_82DB020[]; -extern const u8 BattleScript_82DB027[]; -extern const u8 BattleScript_82DB03F[]; -extern const u8 BattleScript_82DB058[]; extern const u8 BattleScript_NoMovesLeft[]; extern const u8 BattleScript_SelectingMoveWithNoPP[]; extern const u8 BattleScript_NoPPForMove[]; @@ -117,8 +86,6 @@ extern const u8 BattleScript_SelectingNotAllowedMoveTauntInPalace[]; extern const u8 BattleScript_WishComesTrue[]; extern const u8 BattleScript_IngrainTurnHeal[]; extern const u8 BattleScript_AtkDefDown[]; -extern const u8 BattleScript_82DB144[]; -extern const u8 BattleScript_82DB167[]; extern const u8 BattleScript_KnockedOff[]; extern const u8 BattleScript_MoveUsedIsImprisoned[]; extern const u8 BattleScript_SelectingImprisionedMove[]; @@ -129,15 +96,11 @@ extern const u8 BattleScript_SnatchedMove[]; extern const u8 BattleScript_EnduredMsg[]; extern const u8 BattleScript_OneHitKOMsg[]; extern const u8 BattleScript_SAtkDown2[]; -extern const u8 BattleScript_82DB1FE[]; extern const u8 BattleScript_FocusPunchSetUp[]; extern const u8 BattleScript_MoveUsedIsAsleep[]; extern const u8 BattleScript_MoveUsedWokeUp[]; extern const u8 BattleScript_MonWokeUpInUproar[]; extern const u8 BattleScript_PoisonTurnDmg[]; -extern const u8 BattleScript_82DB243[]; -extern const u8 BattleScript_82DB245[]; -extern const u8 BattleScript_82DB25E[]; extern const u8 BattleScript_BurnTurnDmg[]; extern const u8 BattleScript_MoveUsedIsFrozen[]; extern const u8 BattleScript_MoveUsedUnfroze[]; @@ -147,8 +110,6 @@ extern const u8 BattleScript_MoveUsedFlinched[]; extern const u8 BattleScript_PrintUproarOverTurns[]; extern const u8 BattleScript_ThrashConfuses[]; extern const u8 BattleScript_MoveUsedIsConfused[]; -extern const u8 BattleScript_82DB2D4[]; -extern const u8 BattleScript_82DB2FF[]; extern const u8 BattleScript_MoveUsedIsConfusedNoMore[]; extern const u8 BattleScript_PrintPayDayMoneyString[]; extern const u8 BattleScript_WrapTurnDmg[]; @@ -159,7 +120,6 @@ extern const u8 BattleScript_NightmareTurnDmg[]; extern const u8 BattleScript_CurseTurnDmg[]; extern const u8 BattleScript_TargetPRLZHeal[]; extern const u8 BattleScript_MoveEffectSleep[]; -extern const u8 BattleScript_82DB374[]; extern const u8 BattleScript_YawnMakesAsleep[]; extern const u8 BattleScript_MoveEffectPoison[]; extern const u8 BattleScript_MoveEffectBurn[]; @@ -170,7 +130,7 @@ extern const u8 BattleScript_MoveEffectToxic[]; extern const u8 BattleScript_MoveEffectPayDay[]; extern const u8 BattleScript_MoveEffectWrap[]; extern const u8 BattleScript_MoveEffectConfusion[]; -extern const u8 BattleScript_MoveEffectRecoil33[]; +extern const u8 BattleScript_MoveEffectRecoil[]; extern const u8 BattleScript_DoRecoil33[]; extern const u8 BattleScript_Recoil33End[]; extern const u8 BattleScript_ItemSteal[]; @@ -183,14 +143,8 @@ extern const u8 BattleScript_ShedSkinActivates[]; extern const u8 BattleScript_WeatherFormChanges[]; extern const u8 BattleScript_WeatherFormChangesLoop[]; extern const u8 BattleScript_CastformChange[]; -extern const u8 BattleScript_82DB4AF[]; -extern const u8 BattleScript_82DB4B8[]; -extern const u8 BattleScript_82DB4BE[]; -extern const u8 BattleScript_82DB4C1[]; -extern const u8 BattleScript_82DB4CD[]; -extern const u8 BattleScript_82DB510[]; -extern const u8 BattleScript_82DB51B[]; -extern const u8 BattleScript_82DB51C[]; +extern const u8 BattleScript_IntimidateActivatesEnd3[]; +extern const u8 BattleScript_IntimidateActivates[]; extern const u8 BattleScript_DroughtActivates[]; extern const u8 BattleScript_TookAttack[]; extern const u8 BattleScript_SturdyPreventsOHKO[]; @@ -218,12 +172,11 @@ extern const u8 BattleScript_ApplySecondaryEffect[]; extern const u8 BattleScript_SynchronizeActivates[]; extern const u8 BattleScript_NoItemSteal[]; extern const u8 BattleScript_AbilityCuredStatus[]; -extern const u8 BattleScript_82DB695[]; +extern const u8 BattleScript_IgnoresWhileAsleep[]; extern const u8 BattleScript_IgnoresAndUsesRandomMove[]; extern const u8 BattleScript_MoveUsedLoafingAround[]; -extern const u8 BattleScript_82DB6C7[]; extern const u8 BattleScript_IgnoresAndFallsAsleep[]; -extern const u8 BattleScript_82DB6F0[]; +extern const u8 BattleScript_IgnoresAndHitsItself[]; extern const u8 BattleScript_SubstituteFade[]; extern const u8 BattleScript_BerryCurePrlzEnd2[]; extern const u8 BattleScript_BerryCureParRet[]; @@ -249,18 +202,11 @@ extern const u8 BattleScript_SelectingNotAllowedMoveChoiceItem[]; extern const u8 BattleScript_HangedOnMsg[]; extern const u8 BattleScript_BerryConfuseHealEnd2[]; extern const u8 BattleScript_BerryStatRaiseEnd2[]; -extern const u8 BattleScript_82DB85B[]; extern const u8 BattleScript_BerryFocusEnergyEnd2[]; extern const u8 BattleScript_ActionSelectionItemsCantBeUsed[]; -extern const u8 BattleScript_82DB87D[]; -extern const u8 BattleScript_82DB881[]; -extern const u8 BattleScript_82DB887[]; -extern const u8 BattleScript_82DB89D[]; extern const u8 BattleScript_ArenaTurnBeginning[]; -extern const u8 BattleScript_82DB8E0[]; +extern const u8 BattleScript_82DB881[]; extern const u8 BattleScript_82DB8F3[]; -extern const u8 BattleScript_82DB973[]; -extern const u8 BattleScript_82DB992[]; extern const u8 BattleScript_AskIfWantsToForfeitMatch[]; extern const u8 BattleScript_PrintPlayerForfeited[]; extern const u8 BattleScript_PrintPlayerForfeitedLinkBattle[]; @@ -268,23 +214,12 @@ extern const u8 BattleScript_BallThrow[]; extern const u8 BattleScript_BallThrowByWally[]; extern const u8 BattleScript_SafariBallThrow[]; extern const u8 BattleScript_SuccessBallThrow[]; -extern const u8 BattleScript_82DBD92[]; -extern const u8 BattleScript_82DBDA5[]; -extern const u8 BattleScript_82DBDC2[]; -extern const u8 BattleScript_82DBDC3[]; extern const u8 BattleScript_WallyBallThrow[]; extern const u8 BattleScript_ShakeBallThrow[]; -extern const u8 BattleScript_82DBE01[]; extern const u8 BattleScript_TrainerBallBlock[]; -extern const u8 BattleScript_82DBE12[]; -extern const u8 BattleScript_82DBE1C[]; -extern const u8 BattleScript_82DBE4B[]; -extern const u8 BattleScript_82DBE6F[]; -extern const u8 BattleScript_82DBE91[]; extern const u8 BattleScript_RunByUsingItem[]; extern const u8 BattleScript_ActionWatchesCarefully[]; extern const u8 BattleScript_ActionGetNear[]; extern const u8 BattleScript_ActionThrowPokeblock[]; -extern const u8 BattleScript_82DBEE3[]; #endif // GUARD_BATTLE_SCRIPTS_H diff --git a/include/battle_util.h b/include/battle_util.h index be9b5f1fee..b3fff196e7 100644 --- a/include/battle_util.h +++ b/include/battle_util.h @@ -12,7 +12,7 @@ #define ABILITYEFFECT_ENDTURN 0x1 #define ABILITYEFFECT_MOVES_BLOCK 0x2 #define ABILITYEFFECT_ABSORBING 0x3 -#define ABILITYEFFECT_CONTACT 0x4 +#define ABILITYEFFECT_MOVE_END 0x4 #define ABILITYEFFECT_IMMUNITY 0x5 #define ABILITYEFFECT_FORECAST 0x6 #define ABILITYEFFECT_SYNCHRONIZE 0x7 @@ -35,6 +35,8 @@ #define ABILITY_ON_FIELD2(abilityId)(AbilityBattleEffects(ABILITYEFFECT_FIELD_SPORT, 0, abilityId, 0, 0)) #define ITEMEFFECT_ON_SWITCH_IN 0x0 +#define ITEMEFFECT_MOVE_END 0x3 +#define ITEMEFFECT_KINGSROCK_SHELLBELL 0x4 #define WEATHER_HAS_EFFECT ((!ABILITY_ON_FIELD(ABILITY_CLOUD_NINE) && !ABILITY_ON_FIELD(ABILITY_AIR_LOCK))) #define WEATHER_HAS_EFFECT2 ((!ABILITY_ON_FIELD2(ABILITY_CLOUD_NINE) && !ABILITY_ON_FIELD2(ABILITY_AIR_LOCK))) diff --git a/include/constants/battle.h b/include/constants/battle.h index b3f9d919ad..e5ca9d7ae5 100644 --- a/include/constants/battle.h +++ b/include/constants/battle.h @@ -252,7 +252,7 @@ #define MOVE_EFFECT_RAPIDSPIN 0x23 #define MOVE_EFFECT_REMOVE_PARALYSIS 0x24 #define MOVE_EFFECT_ATK_DEF_DOWN 0x25 -#define MOVE_EFFECT_RECOIL_33_PARALYSIS 0x26 +#define MOVE_EFFECT_RECOIL_33 0x26 #define MOVE_EFFECT_ATK_PLUS_2 0x27 #define MOVE_EFFECT_DEF_PLUS_2 0x28 #define MOVE_EFFECT_SPD_PLUS_2 0x29 diff --git a/src/battle_main.c b/src/battle_main.c index c31fb48d5d..be6f789ecb 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -3888,7 +3888,7 @@ static void TryDoEventsBeforeFirstTurn(void) // Check all switch in items having effect from the fastest mon to slowest. while (gBattleStruct->switchInItemsCounter < gBattlersCount) { - if (ItemBattleEffects(ITEMEFFECT_ON_SWITCH_IN, gBattlerByTurnOrder[gBattleStruct->switchInItemsCounter], 0) != 0) + if (ItemBattleEffects(ITEMEFFECT_ON_SWITCH_IN, gBattlerByTurnOrder[gBattleStruct->switchInItemsCounter], FALSE)) effect++; gBattleStruct->switchInItemsCounter++; diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 12a66df801..44194deda0 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -700,7 +700,7 @@ static const u8* const sMoveEffectBS_Ptrs[] = BattleScript_MoveEffectPayDay, // MOVE_EFFECT_PAYDAY BattleScript_MoveEffectSleep, // MOVE_EFFECT_CHARGING BattleScript_MoveEffectWrap, // MOVE_EFFECT_WRAP - BattleScript_MoveEffectRecoil33, // MOVE_EFFECT_RECOIL_25 + BattleScript_MoveEffectRecoil, // MOVE_EFFECT_RECOIL_25 BattleScript_MoveEffectSleep, // MOVE_EFFECT_ATK_PLUS_1 BattleScript_MoveEffectSleep, // MOVE_EFFECT_DEF_PLUS_1 BattleScript_MoveEffectSleep, // MOVE_EFFECT_SPD_PLUS_1 @@ -724,7 +724,7 @@ static const u8* const sMoveEffectBS_Ptrs[] = BattleScript_MoveEffectSleep, // MOVE_EFFECT_RAPIDSPIN BattleScript_MoveEffectSleep, // MOVE_EFFECT_REMOVE_PARALYSIS BattleScript_MoveEffectSleep, // MOVE_EFFECT_ATK_DEF_DOWN - BattleScript_MoveEffectRecoil33, // MOVE_EFFECT_RECOIL_33_PARALYSIS + BattleScript_MoveEffectRecoil, // MOVE_EFFECT_RECOIL_33 }; static const struct WindowTemplate sUnusedWinTemplate = {0, 1, 3, 7, 0xF, 0x1F, 0x3F}; @@ -2843,7 +2843,7 @@ void SetMoveEffect(bool8 primary, u8 certain) BattleScriptPush(gBattlescriptCurrInstr + 1); gBattlescriptCurrInstr = BattleScript_AtkDefDown; break; - case MOVE_EFFECT_RECOIL_33_PARALYSIS: // Volt Tackle + case MOVE_EFFECT_RECOIL_33: // Double Edge gBattleMoveDamage = gHpDealt / 3; if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; @@ -4497,20 +4497,38 @@ static void atk48_playstatchangeanimation(void) } } -#define ATK49_LAST_CASE 17 +enum +{ + ATK49_RAGE, + ATK49_DEFROST, + ATK49_SYNCHRONIZE_TARGET, + ATK49_MOVE_END_ABILITIES, + ATK49_STATUS_IMMUNITY_ABILITIES, + ATK49_SYNCHRONIZE_ATTACKER, + ATK49_CHOICE_MOVE, + ATK49_CHANGED_ITEMS, + ATK49_ATTACKER_INVISIBLE, + ATK49_ATTACKER_VISIBLE, + ATK49_TARGET_VISIBLE, + ATK49_ITEM_EFFECTS_ALL, + ATK49_KINGSROCK_SHELLBELL, + ATK49_SUBSTITUTE, + ATK49_UPDATE_LAST_MOVES, + ATK49_MIRROR_MOVE, + ATK49_NEXT_TARGET, + ATK49_COUNT, +}; static void atk49_moveend(void) { s32 i; - bool32 effect; - u8 moveType; - u8 holdEffectAtk; - u16 *choicedMoveAtk; + bool32 effect = FALSE; + u8 moveType = 0; + u8 holdEffectAtk = 0; + u16 *choicedMoveAtk = NULL; u8 arg1, arg2; u16 originallyUsedMove; - effect = FALSE; - if (gChosenMove == 0xFFFF) originallyUsedMove = 0; else @@ -4531,7 +4549,7 @@ static void atk49_moveend(void) { switch (gBattleScripting.atk49_state) { - case 0: // rage check + case ATK49_RAGE: // rage check if (gBattleMons[gBattlerTarget].status2 & STATUS2_RAGE && gBattleMons[gBattlerTarget].hp != 0 && gBattlerAttacker != gBattlerTarget && GetBattlerSide(gBattlerAttacker) != GetBattlerSide(gBattlerTarget) @@ -4545,7 +4563,7 @@ static void atk49_moveend(void) } gBattleScripting.atk49_state++; break; - case 1: // defrosting check + case ATK49_DEFROST: // defrosting check if (gBattleMons[gBattlerTarget].status1 & STATUS1_FREEZE && gBattleMons[gBattlerTarget].hp != 0 && gBattlerAttacker != gBattlerTarget && gSpecialStatuses[gBattlerTarget].specialDmg @@ -4561,28 +4579,28 @@ static void atk49_moveend(void) } gBattleScripting.atk49_state++; break; - case 2: // target synchronize + case ATK49_SYNCHRONIZE_TARGET: // target synchronize if (AbilityBattleEffects(ABILITYEFFECT_SYNCHRONIZE, gBattlerTarget, 0, 0, 0)) effect = TRUE; gBattleScripting.atk49_state++; break; - case 3: // contact abilities - if (AbilityBattleEffects(ABILITYEFFECT_CONTACT, gBattlerTarget, 0, 0, 0)) + case ATK49_MOVE_END_ABILITIES: // Such as abilities activating on contact(Poison Spore, Rough Skin, etc.). + if (AbilityBattleEffects(ABILITYEFFECT_MOVE_END, gBattlerTarget, 0, 0, 0)) effect = TRUE; gBattleScripting.atk49_state++; break; - case 4: // status immunities + case ATK49_STATUS_IMMUNITY_ABILITIES: // status immunities if (AbilityBattleEffects(ABILITYEFFECT_IMMUNITY, 0, 0, 0, 0)) effect = TRUE; // it loops through all battlers, so we increment after its done with all battlers else gBattleScripting.atk49_state++; break; - case 5: // attacker synchronize + case ATK49_SYNCHRONIZE_ATTACKER: // attacker synchronize if (AbilityBattleEffects(ABILITYEFFECT_ATK_SYNCHRONIZE, gBattlerAttacker, 0, 0, 0)) effect = TRUE; gBattleScripting.atk49_state++; break; - case 6: // update choice band move + case ATK49_CHOICE_MOVE: // update choice band move if (!(gHitMarker & HITMARKER_OBEYS) || holdEffectAtk != HOLD_EFFECT_CHOICE_BAND || gChosenMove == MOVE_STRUGGLE || (*choicedMoveAtk != 0 && *choicedMoveAtk != 0xFFFF)) goto LOOP; @@ -4605,7 +4623,7 @@ static void atk49_moveend(void) gBattleScripting.atk49_state++; } break; - case 7: // changed held items + case ATK49_CHANGED_ITEMS: // changed held items for (i = 0; i < gBattlersCount; i++) { u16* changedItem = &gBattleStruct->changedItems[i]; @@ -4617,18 +4635,18 @@ static void atk49_moveend(void) } gBattleScripting.atk49_state++; break; - case 11: // item effects for all battlers - if (ItemBattleEffects(3, 0, FALSE)) + case ATK49_ITEM_EFFECTS_ALL: // item effects for all battlers + if (ItemBattleEffects(ITEMEFFECT_MOVE_END, 0, FALSE)) effect = TRUE; else gBattleScripting.atk49_state++; break; - case 12: // king's rock and shell bell - if (ItemBattleEffects(4, 0, FALSE)) + case ATK49_KINGSROCK_SHELLBELL: // king's rock and shell bell + if (ItemBattleEffects(ITEMEFFECT_KINGSROCK_SHELLBELL, 0, FALSE)) effect = TRUE; gBattleScripting.atk49_state++; break; - case 8: // make attacker sprite invisible + case ATK49_ATTACKER_INVISIBLE: // make attacker sprite invisible if (gStatuses3[gBattlerAttacker] & (STATUS3_SEMI_INVULNERABLE) && gHitMarker & HITMARKER_NO_ANIMATIONS) { @@ -4640,7 +4658,7 @@ static void atk49_moveend(void) } gBattleScripting.atk49_state++; break; - case 9: // make attacker sprite visible + case ATK49_ATTACKER_VISIBLE: // make attacker sprite visible if (gMoveResultFlags & MOVE_RESULT_NO_EFFECT || !(gStatuses3[gBattlerAttacker] & (STATUS3_SEMI_INVULNERABLE)) || WasUnableToUseMove(gBattlerAttacker)) @@ -4655,7 +4673,7 @@ static void atk49_moveend(void) } gBattleScripting.atk49_state++; break; - case 10: // make target sprite visible + case ATK49_TARGET_VISIBLE: // make target sprite visible if (!gSpecialStatuses[gBattlerTarget].restoredBattlerSprite && gBattlerTarget < gBattlersCount && !(gStatuses3[gBattlerTarget] & STATUS3_SEMI_INVULNERABLE)) { @@ -4668,7 +4686,7 @@ static void atk49_moveend(void) } gBattleScripting.atk49_state++; break; - case 13: // update substitute + case ATK49_SUBSTITUTE: // update substitute for (i = 0; i < gBattlersCount; i++) { if (gDisableStructs[i].substituteHP == 0) @@ -4676,7 +4694,7 @@ static void atk49_moveend(void) } gBattleScripting.atk49_state++; break; - case 14: // This case looks interesting, although I am not certain what it does. Probably fine tunes edge cases. + case ATK49_UPDATE_LAST_MOVES: if (gHitMarker & HITMARKER_SWAP_ATTACKER_TARGET) { gActiveBattler = gBattlerAttacker; @@ -4725,7 +4743,7 @@ static void atk49_moveend(void) } gBattleScripting.atk49_state++; break; - case 15: // mirror move + case ATK49_MIRROR_MOVE: // mirror move if (!(gAbsentBattlerFlags & gBitTable[gBattlerAttacker]) && !(gBattleStruct->field_91 & gBitTable[gBattlerAttacker]) && gBattleMoves[originallyUsedMove].flags & FLAG_MIRROR_MOVE_AFFECTED && gHitMarker & HITMARKER_OBEYS && gBattlerAttacker != gBattlerTarget && !(gHitMarker & HITMARKER_FAINTED(gBattlerTarget)) @@ -4746,7 +4764,7 @@ static void atk49_moveend(void) } gBattleScripting.atk49_state++; break; - case 16: // + case ATK49_NEXT_TARGET: // For moves hitting two opposing Pokemon. if (!(gHitMarker & HITMARKER_UNABLE_TO_USE_MOVE) && gBattleTypeFlags & BATTLE_TYPE_DOUBLE && !gProtectStructs[gBattlerAttacker].chargingTurn && gBattleMoves[gCurrentMove].target == MOVE_TARGET_BOTH && !(gHitMarker & HITMARKER_NO_ATTACKSTRING)) @@ -4759,7 +4777,7 @@ static void atk49_moveend(void) gBattleScripting.atk49_state = 0; MoveValuesCleanUp(); BattleScriptPush(gBattleScriptsForMoveEffects[gBattleMoves[gCurrentMove].effect]); - gBattlescriptCurrInstr = BattleScript_82DB87D; + gBattlescriptCurrInstr = BattleScript_FlushMessageBox; return; } else @@ -4769,18 +4787,18 @@ static void atk49_moveend(void) } gBattleScripting.atk49_state++; break; - case ATK49_LAST_CASE: + case ATK49_COUNT: break; } if (arg1 == 1 && effect == FALSE) - gBattleScripting.atk49_state = ATK49_LAST_CASE; + gBattleScripting.atk49_state = ATK49_COUNT; if (arg1 == 2 && arg2 == gBattleScripting.atk49_state) - gBattleScripting.atk49_state = ATK49_LAST_CASE; + gBattleScripting.atk49_state = ATK49_COUNT; - } while (gBattleScripting.atk49_state != ATK49_LAST_CASE && effect == FALSE); + } while (gBattleScripting.atk49_state != ATK49_COUNT && effect == FALSE); - if (gBattleScripting.atk49_state == ATK49_LAST_CASE && effect == FALSE) + if (gBattleScripting.atk49_state == ATK49_COUNT && effect == FALSE) gBattlescriptCurrInstr += 3; } @@ -5550,8 +5568,8 @@ static void atk52_switchineffects(void) gDisableStructs[gActiveBattler].truantUnknownBit = 0; - if (AbilityBattleEffects(ABILITYEFFECT_ON_SWITCHIN, gActiveBattler, 0, 0, 0) == 0 && - ItemBattleEffects(0, gActiveBattler, 0) == 0) + if (!AbilityBattleEffects(ABILITYEFFECT_ON_SWITCHIN, gActiveBattler, 0, 0, 0) + && !ItemBattleEffects(ITEMEFFECT_ON_SWITCH_IN, gActiveBattler, FALSE)) { gSideStatuses[GetBattlerSide(gActiveBattler)] &= ~(SIDE_STATUS_SPIKES_DAMAGED); diff --git a/src/battle_util.c b/src/battle_util.c index 875244d799..5096a2f3ae 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -821,12 +821,12 @@ u8 DoBattlerEndTurnEffects(void) gBattleStruct->turnEffectsTracker++; break; case ENDTURN_ITEMS1: // item effects - if (ItemBattleEffects(1, gActiveBattler, 0)) + if (ItemBattleEffects(1, gActiveBattler, FALSE)) effect++; gBattleStruct->turnEffectsTracker++; break; case ENDTURN_ITEMS2: // item effects again - if (ItemBattleEffects(1, gActiveBattler, 1)) + if (ItemBattleEffects(1, gActiveBattler, TRUE)) effect++; gBattleStruct->turnEffectsTracker++; break; @@ -1280,7 +1280,7 @@ bool8 HandleFaintedMonActions(void) gBattleStruct->faintedActionsState = 4; break; case 6: - if (AbilityBattleEffects(ABILITYEFFECT_INTIMIDATE1, 0, 0, 0, 0) || AbilityBattleEffects(ABILITYEFFECT_TRACE, 0, 0, 0, 0) || ItemBattleEffects(1, 0, 1) || AbilityBattleEffects(ABILITYEFFECT_FORECAST, 0, 0, 0, 0)) + if (AbilityBattleEffects(ABILITYEFFECT_INTIMIDATE1, 0, 0, 0, 0) || AbilityBattleEffects(ABILITYEFFECT_TRACE, 0, 0, 0, 0) || ItemBattleEffects(1, 0, TRUE) || AbilityBattleEffects(ABILITYEFFECT_FORECAST, 0, 0, 0, 0)) return TRUE; gBattleStruct->faintedActionsState++; break; @@ -2083,7 +2083,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveA } } break; - case ABILITYEFFECT_CONTACT: // 4 + case ABILITYEFFECT_MOVE_END: // Think contact abilities. switch (gLastUsedAbility) { case ABILITY_COLOR_CHANGE: @@ -2343,7 +2343,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveA { gLastUsedAbility = ABILITY_INTIMIDATE; gStatuses3[i] &= ~(STATUS3_INTIMIDATE_POKES); - BattleScriptPushCursorAndCallback(BattleScript_82DB4B8); + BattleScriptPushCursorAndCallback(BattleScript_IntimidateActivatesEnd3); gBattleStruct->intimidateBattler = i; effect++; break; @@ -2415,7 +2415,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveA gLastUsedAbility = ABILITY_INTIMIDATE; gStatuses3[i] &= ~(STATUS3_INTIMIDATE_POKES); BattleScriptPushCursor(); - gBattlescriptCurrInstr = BattleScript_82DB4C1; + gBattlescriptCurrInstr = BattleScript_IntimidateActivates; gBattleStruct->intimidateBattler = i; effect++; break; @@ -3044,7 +3044,7 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) break; case 2: break; - case 3: + case ITEMEFFECT_MOVE_END: for (battlerId = 0; battlerId < gBattlersCount; battlerId++) { gLastUsedItem = gBattleMons[battlerId].item; @@ -3177,7 +3177,7 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) gPotentialItemEffectBattler = battlerId; BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_WhiteHerbRet; - return effect; // unnecessary return + return effect; } break; } @@ -3192,7 +3192,7 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) } } break; - case 4: + case ITEMEFFECT_KINGSROCK_SHELLBELL: if (gBattleMoveDamage) { switch (atkHoldEffect) @@ -3386,7 +3386,7 @@ u8 IsMonDisobedient(void) gBattleMons[gBattlerAttacker].status2 &= ~(STATUS2_RAGE); if (gBattleMons[gBattlerAttacker].status1 & STATUS1_SLEEP && (gCurrentMove == MOVE_SNORE || gCurrentMove == MOVE_SLEEP_TALK)) { - gBattlescriptCurrInstr = BattleScript_82DB695; + gBattlescriptCurrInstr = BattleScript_IgnoresWhileAsleep; return 1; } @@ -3440,7 +3440,7 @@ u8 IsMonDisobedient(void) { gBattleMoveDamage = CalculateBaseDamage(&gBattleMons[gBattlerAttacker], &gBattleMons[gBattlerAttacker], MOVE_POUND, 0, 40, 0, gBattlerAttacker, gBattlerAttacker); gBattlerTarget = gBattlerAttacker; - gBattlescriptCurrInstr = BattleScript_82DB6F0; + gBattlescriptCurrInstr = BattleScript_IgnoresAndHitsItself; gHitMarker |= HITMARKER_UNABLE_TO_USE_MOVE; return 2; } From 5c7ca813e75e6b87f1dc41e96aa55ebbbbc9e844 Mon Sep 17 00:00:00 2001 From: DizzyEggg <jajkodizzy@wp.pl> Date: Sat, 1 Sep 2018 21:25:19 +0200 Subject: [PATCH 153/234] Add AI flags to trainers data --- src/battle_data.c | 1 + src/data/trainers.h | 3138 +++++++++++++++++++++---------------------- 2 files changed, 1570 insertions(+), 1569 deletions(-) diff --git a/src/battle_data.c b/src/battle_data.c index f3719ac2d8..7f86385aab 100644 --- a/src/battle_data.c +++ b/src/battle_data.c @@ -5,6 +5,7 @@ #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" diff --git a/src/data/trainers.h b/src/data/trainers.h index 19e210acc0..214a72df1a 100644 --- a/src/data/trainers.h +++ b/src/data/trainers.h @@ -6,9 +6,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_HIKER, .trainerName = _(""), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x0, + .aiFlags = 0, .partySize = 0, .party = {.NoItemDefaultMoves = NULL } }, @@ -20,9 +20,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_HIKER, .trainerName = _("SAWYER"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Sawyer1 } }, @@ -34,9 +34,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA, .trainerPic = TRAINER_PIC_AQUA_GRUNT_M, .trainerName = _("GRUNT"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Grunt1 } }, @@ -48,9 +48,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA, .trainerPic = TRAINER_PIC_AQUA_GRUNT_M, .trainerName = _("GRUNT"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Grunt2 } }, @@ -62,9 +62,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA, .trainerPic = TRAINER_PIC_AQUA_GRUNT_M, .trainerName = _("GRUNT"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Grunt3 } }, @@ -76,9 +76,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA, .trainerPic = TRAINER_PIC_AQUA_GRUNT_M, .trainerName = _("GRUNT"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Grunt4 } }, @@ -90,9 +90,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA, .trainerPic = TRAINER_PIC_AQUA_GRUNT_M, .trainerName = _("GRUNT"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Grunt5 } }, @@ -104,9 +104,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA, .trainerPic = TRAINER_PIC_AQUA_GRUNT_M, .trainerName = _("GRUNT"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Grunt6 } }, @@ -118,9 +118,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA, .trainerPic = TRAINER_PIC_AQUA_GRUNT_M, .trainerName = _("GRUNT"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Grunt7 } }, @@ -132,9 +132,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_POKEMON_BREEDER_F, .trainerName = _("GABRIELLE"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 6, .party = {.NoItemDefaultMoves = gTrainerParty_Gabrielle1 } }, @@ -146,9 +146,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA, .trainerPic = TRAINER_PIC_AQUA_GRUNT_M, .trainerName = _("GRUNT"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Grunt8 } }, @@ -162,7 +162,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("MARCEL"), .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Marcel } }, @@ -174,9 +174,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, .trainerPic = TRAINER_PIC_BIRD_KEEPER, .trainerName = _("ALBERTO"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Alberto } }, @@ -188,9 +188,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, .trainerPic = TRAINER_PIC_COLLECTOR, .trainerName = _("ED"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Ed } }, @@ -202,9 +202,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_AQUA, .trainerPic = TRAINER_PIC_AQUA_GRUNT_F, .trainerName = _("GRUNT"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Grunt9 } }, @@ -216,9 +216,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_M, .trainerName = _("DECLAN"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Declan } }, @@ -230,9 +230,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA, .trainerPic = TRAINER_PIC_AQUA_GRUNT_M, .trainerName = _("GRUNT"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Grunt10 } }, @@ -244,9 +244,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA, .trainerPic = TRAINER_PIC_AQUA_GRUNT_M, .trainerName = _("GRUNT"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Grunt11 } }, @@ -258,9 +258,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA, .trainerPic = TRAINER_PIC_AQUA_GRUNT_M, .trainerName = _("GRUNT"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Grunt12 } }, @@ -272,9 +272,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA, .trainerPic = TRAINER_PIC_AQUA_GRUNT_M, .trainerName = _("GRUNT"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, .party = {.NoItemDefaultMoves = gTrainerParty_Grunt13 } }, @@ -286,9 +286,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA, .trainerPic = TRAINER_PIC_AQUA_GRUNT_M, .trainerName = _("GRUNT"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Grunt14 } }, @@ -300,9 +300,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA, .trainerPic = TRAINER_PIC_AQUA_GRUNT_M, .trainerName = _("GRUNT"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Grunt15 } }, @@ -314,9 +314,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, .trainerPic = TRAINER_PIC_MAGMA_GRUNT_M, .trainerName = _("GRUNT"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Grunt16 } }, @@ -328,9 +328,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA, .trainerPic = TRAINER_PIC_AQUA_GRUNT_M, .trainerName = _("GRUNT"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Grunt17 } }, @@ -342,9 +342,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA, .trainerPic = TRAINER_PIC_AQUA_GRUNT_M, .trainerName = _("GRUNT"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Grunt18 } }, @@ -356,9 +356,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA, .trainerPic = TRAINER_PIC_AQUA_GRUNT_M, .trainerName = _("GRUNT"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Grunt19 } }, @@ -370,9 +370,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_AQUA, .trainerPic = TRAINER_PIC_AQUA_GRUNT_F, .trainerName = _("GRUNT"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Grunt20 } }, @@ -384,9 +384,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_AQUA, .trainerPic = TRAINER_PIC_AQUA_GRUNT_F, .trainerName = _("GRUNT"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Grunt21 } }, @@ -398,9 +398,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_AQUA, .trainerPic = TRAINER_PIC_AQUA_GRUNT_F, .trainerName = _("GRUNT"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Grunt22 } }, @@ -412,9 +412,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_EXPERT_M, .trainerName = _("FREDRICK"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Fredrick } }, @@ -428,7 +428,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("MATT"), .items = {ITEM_SUPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Matt } }, @@ -440,9 +440,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_BLACK_BELT, .trainerName = _("ZANDER"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Zander } }, @@ -454,9 +454,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_AQUA, .trainerPic = TRAINER_PIC_AQUA_ADMIN_F, .trainerName = _("SHELLY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Shelly1 } }, @@ -468,9 +468,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_AQUA, .trainerPic = TRAINER_PIC_AQUA_ADMIN_F, .trainerName = _("SHELLY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Shelly2 } }, @@ -484,7 +484,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("ARCHIE"), .items = {ITEM_SUPER_POTION, ITEM_SUPER_POTION, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, .party = {.NoItemDefaultMoves = gTrainerParty_Archie } }, @@ -496,9 +496,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, .trainerPic = TRAINER_PIC_HEX_MANIAC, .trainerName = _("LEAH"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Leah } }, @@ -510,9 +510,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_AROMA_LADY, .trainerName = _("DAISY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Daisy } }, @@ -524,9 +524,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_AROMA_LADY, .trainerName = _("ROSE"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, .party = {.NoItemDefaultMoves = gTrainerParty_Rose1 } }, @@ -540,7 +540,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("FELIX"), .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, .party = {.NoItemCustomMoves = gTrainerParty_Felix } }, @@ -552,9 +552,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_AROMA_LADY, .trainerName = _("VIOLET"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Violet } }, @@ -566,9 +566,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_AROMA_LADY, .trainerName = _("ROSE"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Rose2 } }, @@ -580,9 +580,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_AROMA_LADY, .trainerName = _("ROSE"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, .party = {.NoItemDefaultMoves = gTrainerParty_Rose3 } }, @@ -594,9 +594,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_AROMA_LADY, .trainerName = _("ROSE"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, .party = {.NoItemDefaultMoves = gTrainerParty_Rose4 } }, @@ -608,9 +608,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_AROMA_LADY, .trainerName = _("ROSE"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, .party = {.NoItemDefaultMoves = gTrainerParty_Rose5 } }, @@ -622,9 +622,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_RUIN_MANIAC, .trainerName = _("DUSTY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemCustomMoves = gTrainerParty_Dusty1 } }, @@ -636,9 +636,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_RUIN_MANIAC, .trainerName = _("CHIP"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, .party = {.NoItemCustomMoves = gTrainerParty_Chip } }, @@ -650,9 +650,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_RUIN_MANIAC, .trainerName = _("FOSTER"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemCustomMoves = gTrainerParty_Foster } }, @@ -664,9 +664,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_RUIN_MANIAC, .trainerName = _("DUSTY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemCustomMoves = gTrainerParty_Dusty2 } }, @@ -678,9 +678,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_RUIN_MANIAC, .trainerName = _("DUSTY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemCustomMoves = gTrainerParty_Dusty3 } }, @@ -692,9 +692,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_RUIN_MANIAC, .trainerName = _("DUSTY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemCustomMoves = gTrainerParty_Dusty4 } }, @@ -706,9 +706,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_RUIN_MANIAC, .trainerName = _("DUSTY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemCustomMoves = gTrainerParty_Dusty5 } }, @@ -720,9 +720,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTERVIEWER, .trainerPic = TRAINER_PIC_INTERVIEWER, .trainerName = _("GABBY & TY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = TRUE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_GabbyAndTy1 } }, @@ -734,9 +734,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTERVIEWER, .trainerPic = TRAINER_PIC_INTERVIEWER, .trainerName = _("GABBY & TY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = TRUE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_GabbyAndTy2 } }, @@ -748,9 +748,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTERVIEWER, .trainerPic = TRAINER_PIC_INTERVIEWER, .trainerName = _("GABBY & TY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = TRUE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_GabbyAndTy3 } }, @@ -762,9 +762,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTERVIEWER, .trainerPic = TRAINER_PIC_INTERVIEWER, .trainerName = _("GABBY & TY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = TRUE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_GabbyAndTy4 } }, @@ -776,9 +776,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTERVIEWER, .trainerPic = TRAINER_PIC_INTERVIEWER, .trainerName = _("GABBY & TY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = TRUE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_GabbyAndTy5 } }, @@ -790,9 +790,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTERVIEWER, .trainerPic = TRAINER_PIC_INTERVIEWER, .trainerName = _("GABBY & TY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = TRUE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemCustomMoves = gTrainerParty_GabbyAndTy6 } }, @@ -804,9 +804,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, .trainerPic = TRAINER_PIC_TUBER_F, .trainerName = _("LOLA"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Lola1 } }, @@ -818,9 +818,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, .trainerPic = TRAINER_PIC_TUBER_F, .trainerName = _("AUSTINA"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Austina } }, @@ -832,9 +832,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, .trainerPic = TRAINER_PIC_TUBER_F, .trainerName = _("GWEN"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Gwen } }, @@ -846,9 +846,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, .trainerPic = TRAINER_PIC_TUBER_F, .trainerName = _("LOLA"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Lola2 } }, @@ -860,9 +860,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, .trainerPic = TRAINER_PIC_TUBER_F, .trainerName = _("LOLA"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Lola3 } }, @@ -874,9 +874,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, .trainerPic = TRAINER_PIC_TUBER_F, .trainerName = _("LOLA"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Lola4 } }, @@ -888,9 +888,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, .trainerPic = TRAINER_PIC_TUBER_F, .trainerName = _("LOLA"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Lola5 } }, @@ -902,9 +902,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL, .trainerPic = TRAINER_PIC_TUBER_M, .trainerName = _("RICKY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemCustomMoves = gTrainerParty_Ricky1 } }, @@ -916,9 +916,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL, .trainerPic = TRAINER_PIC_TUBER_M, .trainerName = _("SIMON"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Simon } }, @@ -930,9 +930,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL, .trainerPic = TRAINER_PIC_TUBER_M, .trainerName = _("CHARLIE"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Charlie } }, @@ -944,9 +944,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL, .trainerPic = TRAINER_PIC_TUBER_M, .trainerName = _("RICKY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemCustomMoves = gTrainerParty_Ricky2 } }, @@ -958,9 +958,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL, .trainerPic = TRAINER_PIC_TUBER_M, .trainerName = _("RICKY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemCustomMoves = gTrainerParty_Ricky3 } }, @@ -972,9 +972,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL, .trainerPic = TRAINER_PIC_TUBER_M, .trainerName = _("RICKY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemCustomMoves = gTrainerParty_Ricky4 } }, @@ -986,9 +986,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL, .trainerPic = TRAINER_PIC_TUBER_M, .trainerName = _("RICKY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemCustomMoves = gTrainerParty_Ricky5 } }, @@ -1002,7 +1002,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("RANDALL"), .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, .party = {.ItemCustomMoves = gTrainerParty_Randall } }, @@ -1016,7 +1016,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("PARKER"), .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, .party = {.ItemCustomMoves = gTrainerParty_Parker } }, @@ -1030,7 +1030,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("GEORGE"), .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, .party = {.ItemCustomMoves = gTrainerParty_George } }, @@ -1044,7 +1044,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("BERKE"), .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, .party = {.ItemCustomMoves = gTrainerParty_Berke } }, @@ -1058,7 +1058,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("BRAXTON"), .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 5, .party = {.NoItemCustomMoves = gTrainerParty_Braxton } }, @@ -1072,7 +1072,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("VINCENT"), .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, .party = {.NoItemDefaultMoves = gTrainerParty_Vincent } }, @@ -1086,7 +1086,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("LEROY"), .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Leroy } }, @@ -1100,7 +1100,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("WILTON"), .items = {ITEM_SUPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, .party = {.NoItemDefaultMoves = gTrainerParty_Wilton1 } }, @@ -1114,7 +1114,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("EDGAR"), .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Edgar } }, @@ -1128,7 +1128,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("ALBERT"), .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Albert } }, @@ -1142,7 +1142,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("SAMUEL"), .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, .party = {.NoItemDefaultMoves = gTrainerParty_Samuel } }, @@ -1156,7 +1156,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("VITO"), .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 4, .party = {.NoItemDefaultMoves = gTrainerParty_Vito } }, @@ -1170,7 +1170,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("OWEN"), .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, .party = {.NoItemDefaultMoves = gTrainerParty_Owen } }, @@ -1184,7 +1184,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("WILTON"), .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, .party = {.NoItemDefaultMoves = gTrainerParty_Wilton2 } }, @@ -1198,7 +1198,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("WILTON"), .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, .party = {.NoItemDefaultMoves = gTrainerParty_Wilton3 } }, @@ -1212,7 +1212,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("WILTON"), .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, .party = {.NoItemDefaultMoves = gTrainerParty_Wilton4 } }, @@ -1226,7 +1226,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("WILTON"), .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, .party = {.NoItemDefaultMoves = gTrainerParty_Wilton5 } }, @@ -1240,7 +1240,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("WARREN"), .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Warren } }, @@ -1254,7 +1254,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("MARY"), .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, .party = {.ItemCustomMoves = gTrainerParty_Mary } }, @@ -1268,7 +1268,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("ALEXIA"), .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, .party = {.ItemCustomMoves = gTrainerParty_Alexia } }, @@ -1282,7 +1282,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("JODY"), .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, - .aiFlags = 0xb, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_SETUP_FIRST_TURN, .partySize = 1, .party = {.ItemCustomMoves = gTrainerParty_Jody } }, @@ -1296,7 +1296,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("WENDY"), .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, - .aiFlags = 0xb, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_SETUP_FIRST_TURN, .partySize = 3, .party = {.NoItemCustomMoves = gTrainerParty_Wendy } }, @@ -1310,7 +1310,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("KEIRA"), .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, - .aiFlags = 0xb, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_SETUP_FIRST_TURN, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Keira } }, @@ -1324,7 +1324,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("BROOKE"), .items = {ITEM_SUPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, .party = {.NoItemDefaultMoves = gTrainerParty_Brooke1 } }, @@ -1338,7 +1338,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("JENNIFER"), .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Jennifer } }, @@ -1352,7 +1352,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("HOPE"), .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Hope } }, @@ -1366,7 +1366,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("SHANNON"), .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Shannon } }, @@ -1380,7 +1380,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("MICHELLE"), .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, .party = {.NoItemDefaultMoves = gTrainerParty_Michelle } }, @@ -1394,7 +1394,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("CAROLINE"), .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Caroline } }, @@ -1408,7 +1408,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("JULIE"), .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, .party = {.NoItemDefaultMoves = gTrainerParty_Julie } }, @@ -1422,7 +1422,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("BROOKE"), .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, .party = {.NoItemDefaultMoves = gTrainerParty_Brooke2 } }, @@ -1436,7 +1436,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("BROOKE"), .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, .party = {.NoItemDefaultMoves = gTrainerParty_Brooke3 } }, @@ -1450,7 +1450,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("BROOKE"), .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, .party = {.NoItemDefaultMoves = gTrainerParty_Brooke4 } }, @@ -1464,7 +1464,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("BROOKE"), .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, .party = {.NoItemDefaultMoves = gTrainerParty_Brooke5 } }, @@ -1476,9 +1476,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, .trainerPic = TRAINER_PIC_HEX_MANIAC, .trainerName = _("PATRICIA"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Patricia } }, @@ -1490,9 +1490,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, .trainerPic = TRAINER_PIC_HEX_MANIAC, .trainerName = _("KINDRA"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Kindra } }, @@ -1504,9 +1504,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, .trainerPic = TRAINER_PIC_HEX_MANIAC, .trainerName = _("TAMMY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Tammy } }, @@ -1518,9 +1518,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, .trainerPic = TRAINER_PIC_HEX_MANIAC, .trainerName = _("VALERIE"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Valerie1 } }, @@ -1532,9 +1532,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, .trainerPic = TRAINER_PIC_HEX_MANIAC, .trainerName = _("TASHA"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Tasha } }, @@ -1546,9 +1546,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, .trainerPic = TRAINER_PIC_HEX_MANIAC, .trainerName = _("VALERIE"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Valerie2 } }, @@ -1560,9 +1560,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, .trainerPic = TRAINER_PIC_HEX_MANIAC, .trainerName = _("VALERIE"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Valerie3 } }, @@ -1574,9 +1574,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, .trainerPic = TRAINER_PIC_HEX_MANIAC, .trainerName = _("VALERIE"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Valerie4 } }, @@ -1588,9 +1588,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, .trainerPic = TRAINER_PIC_HEX_MANIAC, .trainerName = _("VALERIE"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, .party = {.NoItemDefaultMoves = gTrainerParty_Valerie5 } }, @@ -1604,7 +1604,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("CINDY"), .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.ItemDefaultMoves = gTrainerParty_Cindy1 } }, @@ -1618,7 +1618,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("DAPHNE"), .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.ItemCustomMoves = gTrainerParty_Daphne } }, @@ -1630,9 +1630,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, .trainerPic = TRAINER_PIC_MAGMA_GRUNT_M, .trainerName = _("GRUNT"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, .party = {.NoItemDefaultMoves = gTrainerParty_Grunt23 } }, @@ -1646,7 +1646,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("CINDY"), .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.ItemCustomMoves = gTrainerParty_Cindy2 } }, @@ -1660,7 +1660,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("BRIANNA"), .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.ItemDefaultMoves = gTrainerParty_Brianna } }, @@ -1674,7 +1674,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("NAOMI"), .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.ItemDefaultMoves = gTrainerParty_Naomi } }, @@ -1688,7 +1688,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("CINDY"), .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.ItemDefaultMoves = gTrainerParty_Cindy3 } }, @@ -1702,7 +1702,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("CINDY"), .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.ItemDefaultMoves = gTrainerParty_Cindy4 } }, @@ -1716,7 +1716,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("CINDY"), .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.ItemDefaultMoves = gTrainerParty_Cindy5 } }, @@ -1730,7 +1730,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("CINDY"), .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.ItemCustomMoves = gTrainerParty_Cindy6 } }, @@ -1742,9 +1742,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_BEAUTY, .trainerName = _("MELISSA"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Melissa } }, @@ -1756,9 +1756,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_BEAUTY, .trainerName = _("SHEILA"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Sheila } }, @@ -1770,9 +1770,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_BEAUTY, .trainerName = _("SHIRLEY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Shirley } }, @@ -1784,9 +1784,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_BEAUTY, .trainerName = _("JESSICA"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemCustomMoves = gTrainerParty_Jessica1 } }, @@ -1798,9 +1798,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_BEAUTY, .trainerName = _("CONNIE"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Connie } }, @@ -1812,9 +1812,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_BEAUTY, .trainerName = _("BRIDGET"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Bridget } }, @@ -1826,9 +1826,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_BEAUTY, .trainerName = _("OLIVIA"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, .party = {.NoItemCustomMoves = gTrainerParty_Olivia } }, @@ -1840,9 +1840,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_BEAUTY, .trainerName = _("TIFFANY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Tiffany } }, @@ -1854,9 +1854,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_BEAUTY, .trainerName = _("JESSICA"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemCustomMoves = gTrainerParty_Jessica2 } }, @@ -1868,9 +1868,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_BEAUTY, .trainerName = _("JESSICA"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemCustomMoves = gTrainerParty_Jessica3 } }, @@ -1882,9 +1882,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_BEAUTY, .trainerName = _("JESSICA"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemCustomMoves = gTrainerParty_Jessica4 } }, @@ -1896,9 +1896,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_BEAUTY, .trainerName = _("JESSICA"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemCustomMoves = gTrainerParty_Jessica5 } }, @@ -1912,7 +1912,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("WINSTON"), .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.ItemDefaultMoves = gTrainerParty_Winston1 } }, @@ -1924,9 +1924,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_EXPERT_F, .trainerName = _("MOLLIE"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Mollie } }, @@ -1940,7 +1940,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("GARRET"), .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.ItemDefaultMoves = gTrainerParty_Garret } }, @@ -1954,7 +1954,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("WINSTON"), .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.ItemDefaultMoves = gTrainerParty_Winston2 } }, @@ -1968,7 +1968,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("WINSTON"), .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.ItemDefaultMoves = gTrainerParty_Winston3 } }, @@ -1982,7 +1982,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("WINSTON"), .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.ItemDefaultMoves = gTrainerParty_Winston4 } }, @@ -1996,7 +1996,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("WINSTON"), .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.ItemCustomMoves = gTrainerParty_Winston5 } }, @@ -2008,9 +2008,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, .trainerPic = TRAINER_PIC_POKEMANIAC, .trainerName = _("STEVE"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Steve1 } }, @@ -2022,9 +2022,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_BEAUTY, .trainerName = _("THALIA"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Thalia1 } }, @@ -2036,9 +2036,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, .trainerPic = TRAINER_PIC_POKEMANIAC, .trainerName = _("MARK"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Mark } }, @@ -2050,9 +2050,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_MAGMA, .trainerPic = TRAINER_PIC_MAGMA_GRUNT_F, .trainerName = _("GRUNT"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Grunt24 } }, @@ -2064,9 +2064,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, .trainerPic = TRAINER_PIC_POKEMANIAC, .trainerName = _("STEVE"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Steve2 } }, @@ -2078,9 +2078,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, .trainerPic = TRAINER_PIC_POKEMANIAC, .trainerName = _("STEVE"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Steve3 } }, @@ -2092,9 +2092,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, .trainerPic = TRAINER_PIC_POKEMANIAC, .trainerName = _("STEVE"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Steve4 } }, @@ -2106,9 +2106,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, .trainerPic = TRAINER_PIC_POKEMANIAC, .trainerName = _("STEVE"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Steve5 } }, @@ -2120,9 +2120,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_M, .trainerName = _("LUIS"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Luis } }, @@ -2134,9 +2134,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_M, .trainerName = _("DOMINIK"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Dominik } }, @@ -2148,9 +2148,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_M, .trainerName = _("DOUGLAS"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Douglas } }, @@ -2162,9 +2162,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_M, .trainerName = _("DARRIN"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, .party = {.NoItemDefaultMoves = gTrainerParty_Darrin } }, @@ -2176,9 +2176,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_M, .trainerName = _("TONY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Tony1 } }, @@ -2190,9 +2190,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_M, .trainerName = _("JEROME"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Jerome } }, @@ -2204,9 +2204,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_M, .trainerName = _("MATTHEW"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Matthew } }, @@ -2218,9 +2218,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_M, .trainerName = _("DAVID"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_David } }, @@ -2232,9 +2232,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_M, .trainerName = _("SPENCER"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Spencer } }, @@ -2246,9 +2246,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_M, .trainerName = _("ROLAND"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Roland } }, @@ -2260,9 +2260,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_M, .trainerName = _("NOLEN"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Nolen } }, @@ -2274,9 +2274,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_M, .trainerName = _("STAN"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Stan } }, @@ -2288,9 +2288,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_M, .trainerName = _("BARRY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Barry } }, @@ -2302,9 +2302,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_M, .trainerName = _("DEAN"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, .party = {.NoItemDefaultMoves = gTrainerParty_Dean } }, @@ -2316,9 +2316,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_M, .trainerName = _("RODNEY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Rodney } }, @@ -2330,9 +2330,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_M, .trainerName = _("RICHARD"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Richard } }, @@ -2344,9 +2344,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_M, .trainerName = _("HERMAN"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Herman } }, @@ -2358,9 +2358,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_M, .trainerName = _("SANTIAGO"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Santiago } }, @@ -2372,9 +2372,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_M, .trainerName = _("GILBERT"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Gilbert } }, @@ -2386,9 +2386,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_M, .trainerName = _("FRANKLIN"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Franklin } }, @@ -2400,9 +2400,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_M, .trainerName = _("KEVIN"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Kevin } }, @@ -2414,9 +2414,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_M, .trainerName = _("JACK"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Jack } }, @@ -2428,9 +2428,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_M, .trainerName = _("DUDLEY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, .party = {.NoItemDefaultMoves = gTrainerParty_Dudley } }, @@ -2442,9 +2442,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_M, .trainerName = _("CHAD"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Chad } }, @@ -2456,9 +2456,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_M, .trainerName = _("TONY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Tony2 } }, @@ -2470,9 +2470,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_M, .trainerName = _("TONY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Tony3 } }, @@ -2484,9 +2484,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_M, .trainerName = _("TONY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Tony4 } }, @@ -2498,9 +2498,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_M, .trainerName = _("TONY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Tony5 } }, @@ -2512,9 +2512,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_BLACK_BELT, .trainerName = _("TAKAO"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Takao } }, @@ -2526,9 +2526,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_BLACK_BELT, .trainerName = _("HITOSHI"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Hitoshi } }, @@ -2540,9 +2540,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_BLACK_BELT, .trainerName = _("KIYO"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Kiyo } }, @@ -2554,9 +2554,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_BLACK_BELT, .trainerName = _("KOICHI"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Koichi } }, @@ -2568,9 +2568,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_BLACK_BELT, .trainerName = _("NOB"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Nob1 } }, @@ -2582,9 +2582,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_BLACK_BELT, .trainerName = _("NOB"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Nob2 } }, @@ -2596,9 +2596,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_BLACK_BELT, .trainerName = _("NOB"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Nob3 } }, @@ -2610,9 +2610,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_BLACK_BELT, .trainerName = _("NOB"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, .party = {.NoItemDefaultMoves = gTrainerParty_Nob4 } }, @@ -2624,9 +2624,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_BLACK_BELT, .trainerName = _("NOB"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 4, .party = {.ItemDefaultMoves = gTrainerParty_Nob5 } }, @@ -2638,9 +2638,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_BLACK_BELT, .trainerName = _("YUJI"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Yuji } }, @@ -2652,9 +2652,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_BLACK_BELT, .trainerName = _("DAISUKE"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Daisuke } }, @@ -2666,9 +2666,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_BLACK_BELT, .trainerName = _("ATSUSHI"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Atsushi } }, @@ -2680,9 +2680,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_GUITARIST, .trainerName = _("KIRK"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemCustomMoves = gTrainerParty_Kirk } }, @@ -2694,9 +2694,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_AQUA, .trainerPic = TRAINER_PIC_AQUA_GRUNT_F, .trainerName = _("GRUNT"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Grunt25 } }, @@ -2708,9 +2708,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA, .trainerPic = TRAINER_PIC_AQUA_GRUNT_M, .trainerName = _("GRUNT"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Grunt26 } }, @@ -2722,9 +2722,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_GUITARIST, .trainerName = _("SHAWN"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Shawn } }, @@ -2736,9 +2736,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_GUITARIST, .trainerName = _("FERNANDO"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Fernando1 } }, @@ -2750,9 +2750,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_GUITARIST, .trainerName = _("DALTON"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Dalton1 } }, @@ -2764,9 +2764,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_GUITARIST, .trainerName = _("DALTON"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, .party = {.NoItemDefaultMoves = gTrainerParty_Dalton2 } }, @@ -2778,9 +2778,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_GUITARIST, .trainerName = _("DALTON"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, .party = {.NoItemDefaultMoves = gTrainerParty_Dalton3 } }, @@ -2792,9 +2792,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_GUITARIST, .trainerName = _("DALTON"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, .party = {.NoItemDefaultMoves = gTrainerParty_Dalton4 } }, @@ -2806,9 +2806,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_GUITARIST, .trainerName = _("DALTON"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, .party = {.NoItemDefaultMoves = gTrainerParty_Dalton5 } }, @@ -2820,9 +2820,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_KINDLER, .trainerName = _("COLE"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Cole } }, @@ -2834,9 +2834,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_KINDLER, .trainerName = _("JEFF"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Jeff } }, @@ -2848,9 +2848,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_KINDLER, .trainerName = _("AXLE"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Axle } }, @@ -2862,9 +2862,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_KINDLER, .trainerName = _("JACE"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Jace } }, @@ -2876,9 +2876,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_KINDLER, .trainerName = _("KEEGAN"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Keegan } }, @@ -2890,9 +2890,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_KINDLER, .trainerName = _("BERNIE"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Bernie1 } }, @@ -2904,9 +2904,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_KINDLER, .trainerName = _("BERNIE"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Bernie2 } }, @@ -2918,9 +2918,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_KINDLER, .trainerName = _("BERNIE"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Bernie3 } }, @@ -2932,9 +2932,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_KINDLER, .trainerName = _("BERNIE"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Bernie4 } }, @@ -2946,9 +2946,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_KINDLER, .trainerName = _("BERNIE"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Bernie5 } }, @@ -2960,9 +2960,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_CAMPER, .trainerName = _("DREW"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemCustomMoves = gTrainerParty_Drew } }, @@ -2974,9 +2974,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_CAMPER, .trainerName = _("BEAU"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, .party = {.NoItemCustomMoves = gTrainerParty_Beau } }, @@ -2988,9 +2988,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_CAMPER, .trainerName = _("LARRY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Larry } }, @@ -3002,9 +3002,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_CAMPER, .trainerName = _("SHANE"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Shane } }, @@ -3016,9 +3016,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_CAMPER, .trainerName = _("JUSTIN"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Justin } }, @@ -3030,9 +3030,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_CAMPER, .trainerName = _("ETHAN"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Ethan1 } }, @@ -3044,9 +3044,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, .trainerPic = TRAINER_PIC_PICNICKER, .trainerName = _("AUTUMN"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Autumn } }, @@ -3058,9 +3058,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_CAMPER, .trainerName = _("TRAVIS"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Travis } }, @@ -3072,9 +3072,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_CAMPER, .trainerName = _("ETHAN"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Ethan2 } }, @@ -3086,9 +3086,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_CAMPER, .trainerName = _("ETHAN"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Ethan3 } }, @@ -3100,9 +3100,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_CAMPER, .trainerName = _("ETHAN"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, .party = {.NoItemDefaultMoves = gTrainerParty_Ethan4 } }, @@ -3114,9 +3114,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_CAMPER, .trainerName = _("ETHAN"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, .party = {.NoItemDefaultMoves = gTrainerParty_Ethan5 } }, @@ -3128,9 +3128,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, .trainerPic = TRAINER_PIC_BUG_MANIAC, .trainerName = _("BRENT"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Brent } }, @@ -3142,9 +3142,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, .trainerPic = TRAINER_PIC_BUG_MANIAC, .trainerName = _("DONALD"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, .party = {.NoItemDefaultMoves = gTrainerParty_Donald } }, @@ -3156,9 +3156,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, .trainerPic = TRAINER_PIC_BUG_MANIAC, .trainerName = _("TAYLOR"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, .party = {.NoItemDefaultMoves = gTrainerParty_Taylor } }, @@ -3170,9 +3170,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, .trainerPic = TRAINER_PIC_BUG_MANIAC, .trainerName = _("JEFFREY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, .party = {.NoItemDefaultMoves = gTrainerParty_Jeffrey1 } }, @@ -3184,9 +3184,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, .trainerPic = TRAINER_PIC_BUG_MANIAC, .trainerName = _("DEREK"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Derek } }, @@ -3198,9 +3198,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, .trainerPic = TRAINER_PIC_BUG_MANIAC, .trainerName = _("JEFFREY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, .party = {.NoItemDefaultMoves = gTrainerParty_Jeffrey2 } }, @@ -3212,9 +3212,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, .trainerPic = TRAINER_PIC_BUG_MANIAC, .trainerName = _("JEFFREY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, .party = {.NoItemDefaultMoves = gTrainerParty_Jeffrey3 } }, @@ -3226,9 +3226,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, .trainerPic = TRAINER_PIC_BUG_MANIAC, .trainerName = _("JEFFREY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 4, .party = {.NoItemDefaultMoves = gTrainerParty_Jeffrey4 } }, @@ -3240,9 +3240,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, .trainerPic = TRAINER_PIC_BUG_MANIAC, .trainerName = _("JEFFREY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 5, .party = {.ItemDefaultMoves = gTrainerParty_Jeffrey5 } }, @@ -3254,9 +3254,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_PSYCHIC_M, .trainerName = _("EDWARD"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemCustomMoves = gTrainerParty_Edward } }, @@ -3268,9 +3268,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_PSYCHIC_M, .trainerName = _("PRESTON"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Preston } }, @@ -3282,9 +3282,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_PSYCHIC_M, .trainerName = _("VIRGIL"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Virgil } }, @@ -3296,9 +3296,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_PSYCHIC_M, .trainerName = _("BLAKE"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Blake } }, @@ -3310,9 +3310,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_PSYCHIC_M, .trainerName = _("WILLIAM"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, .party = {.NoItemDefaultMoves = gTrainerParty_William } }, @@ -3324,9 +3324,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_PSYCHIC_M, .trainerName = _("JOSHUA"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Joshua } }, @@ -3338,9 +3338,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_PSYCHIC_M, .trainerName = _("CAMERON"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Cameron1 } }, @@ -3352,9 +3352,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_PSYCHIC_M, .trainerName = _("CAMERON"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Cameron2 } }, @@ -3366,9 +3366,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_PSYCHIC_M, .trainerName = _("CAMERON"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Cameron3 } }, @@ -3380,9 +3380,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_PSYCHIC_M, .trainerName = _("CAMERON"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Cameron4 } }, @@ -3394,9 +3394,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_PSYCHIC_M, .trainerName = _("CAMERON"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Cameron5 } }, @@ -3408,9 +3408,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_PSYCHIC_F, .trainerName = _("JACLYN"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemCustomMoves = gTrainerParty_Jaclyn } }, @@ -3422,9 +3422,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_PSYCHIC_F, .trainerName = _("HANNAH"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Hannah } }, @@ -3436,9 +3436,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_PSYCHIC_F, .trainerName = _("SAMANTHA"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Samantha } }, @@ -3450,9 +3450,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_PSYCHIC_F, .trainerName = _("MAURA"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Maura } }, @@ -3464,9 +3464,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_PSYCHIC_F, .trainerName = _("KAYLA"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, .party = {.NoItemDefaultMoves = gTrainerParty_Kayla } }, @@ -3478,9 +3478,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_PSYCHIC_F, .trainerName = _("ALEXIS"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Alexis } }, @@ -3492,9 +3492,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_PSYCHIC_F, .trainerName = _("JACKI"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Jacki1 } }, @@ -3506,9 +3506,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_PSYCHIC_F, .trainerName = _("JACKI"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Jacki2 } }, @@ -3520,9 +3520,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_PSYCHIC_F, .trainerName = _("JACKI"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Jacki3 } }, @@ -3534,9 +3534,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_PSYCHIC_F, .trainerName = _("JACKI"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Jacki4 } }, @@ -3548,9 +3548,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_PSYCHIC_F, .trainerName = _("JACKI"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Jacki5 } }, @@ -3562,9 +3562,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_RICH, .trainerPic = TRAINER_PIC_GENTLEMAN, .trainerName = _("WALTER"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Walter1 } }, @@ -3576,9 +3576,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_RICH, .trainerPic = TRAINER_PIC_GENTLEMAN, .trainerName = _("MICAH"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Micah } }, @@ -3590,9 +3590,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_RICH, .trainerPic = TRAINER_PIC_GENTLEMAN, .trainerName = _("THOMAS"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Thomas } }, @@ -3604,9 +3604,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_RICH, .trainerPic = TRAINER_PIC_GENTLEMAN, .trainerName = _("WALTER"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Walter2 } }, @@ -3618,9 +3618,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_RICH, .trainerPic = TRAINER_PIC_GENTLEMAN, .trainerName = _("WALTER"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemCustomMoves = gTrainerParty_Walter3 } }, @@ -3632,9 +3632,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_RICH, .trainerPic = TRAINER_PIC_GENTLEMAN, .trainerName = _("WALTER"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemCustomMoves = gTrainerParty_Walter4 } }, @@ -3646,9 +3646,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_RICH, .trainerPic = TRAINER_PIC_GENTLEMAN, .trainerName = _("WALTER"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, .party = {.NoItemCustomMoves = gTrainerParty_Walter5 } }, @@ -3662,7 +3662,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("SIDNEY"), .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, - .aiFlags = 0xf, + .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 } }, @@ -3676,7 +3676,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("PHOEBE"), .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 5, .party = {.ItemCustomMoves = gTrainerParty_Phoebe } }, @@ -3690,7 +3690,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("GLACIA"), .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 5, .party = {.ItemCustomMoves = gTrainerParty_Glacia } }, @@ -3704,7 +3704,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("DRAKE"), .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 5, .party = {.ItemCustomMoves = gTrainerParty_Drake } }, @@ -3718,7 +3718,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("ROXANNE"), .items = {ITEM_POTION, ITEM_POTION, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, .party = {.ItemCustomMoves = gTrainerParty_Roxanne1 } }, @@ -3732,7 +3732,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("BRAWLY"), .items = {ITEM_SUPER_POTION, ITEM_SUPER_POTION, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, .party = {.ItemCustomMoves = gTrainerParty_Brawly1 } }, @@ -3746,7 +3746,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("WATTSON"), .items = {ITEM_SUPER_POTION, ITEM_SUPER_POTION, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 4, .party = {.ItemCustomMoves = gTrainerParty_Wattson1 } }, @@ -3760,7 +3760,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("FLANNERY"), .items = {ITEM_HYPER_POTION, ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 4, .party = {.ItemCustomMoves = gTrainerParty_Flannery1 } }, @@ -3774,7 +3774,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("NORMAN"), .items = {ITEM_HYPER_POTION, ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 4, .party = {.ItemCustomMoves = gTrainerParty_Norman1 } }, @@ -3788,7 +3788,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("WINONA"), .items = {ITEM_HYPER_POTION, ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, - .aiFlags = 0x17, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY | AI_SCRIPT_RISKY, .partySize = 5, .party = {.ItemCustomMoves = gTrainerParty_Winona1 } }, @@ -3802,7 +3802,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("TATE&LIZA"), .items = {ITEM_HYPER_POTION, ITEM_HYPER_POTION, ITEM_HYPER_POTION, ITEM_HYPER_POTION}, .doubleBattle = TRUE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 4, .party = {.ItemCustomMoves = gTrainerParty_TateAndLiza1 } }, @@ -3816,7 +3816,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("JUAN"), .items = {ITEM_HYPER_POTION, ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 5, .party = {.ItemCustomMoves = gTrainerParty_Juan1 } }, @@ -3828,9 +3828,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_SCHOOL_KID_M, .trainerName = _("JERRY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Jerry1 } }, @@ -3842,9 +3842,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_SCHOOL_KID_M, .trainerName = _("TED"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Ted } }, @@ -3856,9 +3856,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_SCHOOL_KID_M, .trainerName = _("PAUL"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, .party = {.NoItemDefaultMoves = gTrainerParty_Paul } }, @@ -3870,9 +3870,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_SCHOOL_KID_M, .trainerName = _("JERRY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Jerry2 } }, @@ -3884,9 +3884,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_SCHOOL_KID_M, .trainerName = _("JERRY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Jerry3 } }, @@ -3898,9 +3898,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_SCHOOL_KID_M, .trainerName = _("JERRY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Jerry4 } }, @@ -3912,9 +3912,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_SCHOOL_KID_M, .trainerName = _("JERRY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, .party = {.NoItemDefaultMoves = gTrainerParty_Jerry5 } }, @@ -3926,9 +3926,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, .trainerPic = TRAINER_PIC_SCHOOL_KID_F, .trainerName = _("KAREN"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Karen1 } }, @@ -3940,9 +3940,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, .trainerPic = TRAINER_PIC_SCHOOL_KID_F, .trainerName = _("GEORGIA"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Georgia } }, @@ -3954,9 +3954,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, .trainerPic = TRAINER_PIC_SCHOOL_KID_F, .trainerName = _("KAREN"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Karen2 } }, @@ -3968,9 +3968,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, .trainerPic = TRAINER_PIC_SCHOOL_KID_F, .trainerName = _("KAREN"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Karen3 } }, @@ -3982,9 +3982,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, .trainerPic = TRAINER_PIC_SCHOOL_KID_F, .trainerName = _("KAREN"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Karen4 } }, @@ -3996,9 +3996,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, .trainerPic = TRAINER_PIC_SCHOOL_KID_F, .trainerName = _("KAREN"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Karen5 } }, @@ -4010,9 +4010,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, .trainerPic = TRAINER_PIC_SR_AND_JR, .trainerName = _("KATE & JOY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = TRUE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemCustomMoves = gTrainerParty_KateAndJoy } }, @@ -4024,9 +4024,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, .trainerPic = TRAINER_PIC_SR_AND_JR, .trainerName = _("ANNA & MEG"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = TRUE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemCustomMoves = gTrainerParty_AnnaAndMeg1 } }, @@ -4038,9 +4038,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, .trainerPic = TRAINER_PIC_SR_AND_JR, .trainerName = _("ANNA & MEG"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = TRUE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemCustomMoves = gTrainerParty_AnnaAndMeg2 } }, @@ -4052,9 +4052,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, .trainerPic = TRAINER_PIC_SR_AND_JR, .trainerName = _("ANNA & MEG"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = TRUE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemCustomMoves = gTrainerParty_AnnaAndMeg3 } }, @@ -4066,9 +4066,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, .trainerPic = TRAINER_PIC_SR_AND_JR, .trainerName = _("ANNA & MEG"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = TRUE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemCustomMoves = gTrainerParty_AnnaAndMeg4 } }, @@ -4080,9 +4080,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, .trainerPic = TRAINER_PIC_SR_AND_JR, .trainerName = _("ANNA & MEG"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = TRUE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemCustomMoves = gTrainerParty_AnnaAndMeg5 } }, @@ -4094,9 +4094,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, .trainerPic = TRAINER_PIC_WINSTRATE_M, .trainerName = _("VICTOR"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.ItemDefaultMoves = gTrainerParty_Victor } }, @@ -4108,9 +4108,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, .trainerPic = TRAINER_PIC_WINSTRATE_M, .trainerName = _("MIGUEL"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.ItemDefaultMoves = gTrainerParty_Miguel1 } }, @@ -4122,9 +4122,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, .trainerPic = TRAINER_PIC_WINSTRATE_M, .trainerName = _("COLTON"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 6, .party = {.ItemCustomMoves = gTrainerParty_Colton } }, @@ -4136,9 +4136,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, .trainerPic = TRAINER_PIC_WINSTRATE_M, .trainerName = _("MIGUEL"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.ItemDefaultMoves = gTrainerParty_Miguel2 } }, @@ -4150,9 +4150,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, .trainerPic = TRAINER_PIC_WINSTRATE_M, .trainerName = _("MIGUEL"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.ItemDefaultMoves = gTrainerParty_Miguel3 } }, @@ -4164,9 +4164,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, .trainerPic = TRAINER_PIC_WINSTRATE_M, .trainerName = _("MIGUEL"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.ItemDefaultMoves = gTrainerParty_Miguel4 } }, @@ -4178,9 +4178,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, .trainerPic = TRAINER_PIC_WINSTRATE_M, .trainerName = _("MIGUEL"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.ItemDefaultMoves = gTrainerParty_Miguel5 } }, @@ -4192,9 +4192,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_TWINS, .trainerPic = TRAINER_PIC_WINSTRATE_F, .trainerName = _("VICTORIA"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x3, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT, .partySize = 1, .party = {.ItemDefaultMoves = gTrainerParty_Victoria } }, @@ -4206,9 +4206,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_TWINS, .trainerPic = TRAINER_PIC_WINSTRATE_F, .trainerName = _("VANESSA"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.ItemDefaultMoves = gTrainerParty_Vanessa } }, @@ -4220,9 +4220,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_TWINS, .trainerPic = TRAINER_PIC_WINSTRATE_F, .trainerName = _("BETHANY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, .party = {.ItemDefaultMoves = gTrainerParty_Bethany } }, @@ -4234,9 +4234,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_TWINS, .trainerPic = TRAINER_PIC_WINSTRATE_F, .trainerName = _("ISABEL"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.ItemDefaultMoves = gTrainerParty_Isabel1 } }, @@ -4248,9 +4248,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_TWINS, .trainerPic = TRAINER_PIC_WINSTRATE_F, .trainerName = _("ISABEL"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.ItemDefaultMoves = gTrainerParty_Isabel2 } }, @@ -4262,9 +4262,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_TWINS, .trainerPic = TRAINER_PIC_WINSTRATE_F, .trainerName = _("ISABEL"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.ItemDefaultMoves = gTrainerParty_Isabel3 } }, @@ -4276,9 +4276,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_TWINS, .trainerPic = TRAINER_PIC_WINSTRATE_F, .trainerName = _("ISABEL"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.ItemDefaultMoves = gTrainerParty_Isabel4 } }, @@ -4290,9 +4290,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_TWINS, .trainerPic = TRAINER_PIC_WINSTRATE_F, .trainerName = _("ISABEL"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.ItemDefaultMoves = gTrainerParty_Isabel5 } }, @@ -4304,9 +4304,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_EXPERT_M, .trainerName = _("TIMOTHY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Timothy1 } }, @@ -4318,9 +4318,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_EXPERT_M, .trainerName = _("TIMOTHY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, .party = {.NoItemCustomMoves = gTrainerParty_Timothy2 } }, @@ -4332,9 +4332,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_EXPERT_M, .trainerName = _("TIMOTHY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, .party = {.NoItemCustomMoves = gTrainerParty_Timothy3 } }, @@ -4346,9 +4346,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_EXPERT_M, .trainerName = _("TIMOTHY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, .party = {.NoItemCustomMoves = gTrainerParty_Timothy4 } }, @@ -4360,9 +4360,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_EXPERT_M, .trainerName = _("TIMOTHY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, .party = {.NoItemCustomMoves = gTrainerParty_Timothy5 } }, @@ -4374,9 +4374,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_EXPERT_F, .trainerName = _("VICKY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, .party = {.NoItemCustomMoves = gTrainerParty_Vicky } }, @@ -4388,9 +4388,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_EXPERT_F, .trainerName = _("SHELBY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Shelby1 } }, @@ -4402,9 +4402,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_EXPERT_F, .trainerName = _("SHELBY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Shelby2 } }, @@ -4416,9 +4416,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_EXPERT_F, .trainerName = _("SHELBY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Shelby3 } }, @@ -4430,9 +4430,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_EXPERT_F, .trainerName = _("SHELBY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Shelby4 } }, @@ -4444,9 +4444,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_EXPERT_F, .trainerName = _("SHELBY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Shelby5 } }, @@ -4458,9 +4458,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_YOUNGSTER, .trainerName = _("CALVIN"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Calvin1 } }, @@ -4472,9 +4472,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_YOUNGSTER, .trainerName = _("BILLY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Billy } }, @@ -4486,9 +4486,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_YOUNGSTER, .trainerName = _("JOSH"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemCustomMoves = gTrainerParty_Josh } }, @@ -4500,9 +4500,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_YOUNGSTER, .trainerName = _("TOMMY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Tommy } }, @@ -4514,9 +4514,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_YOUNGSTER, .trainerName = _("JOEY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Joey } }, @@ -4528,9 +4528,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_YOUNGSTER, .trainerName = _("BEN"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemCustomMoves = gTrainerParty_Ben } }, @@ -4544,7 +4544,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("QUINCY"), .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, .party = {.NoItemCustomMoves = gTrainerParty_Quincy } }, @@ -4558,7 +4558,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("KATELYNN"), .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, .party = {.NoItemCustomMoves = gTrainerParty_Katelynn } }, @@ -4570,9 +4570,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_YOUNGSTER, .trainerName = _("JAYLEN"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Jaylen } }, @@ -4584,9 +4584,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_YOUNGSTER, .trainerName = _("DILLON"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Dillon } }, @@ -4598,9 +4598,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_YOUNGSTER, .trainerName = _("CALVIN"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Calvin2 } }, @@ -4612,9 +4612,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_YOUNGSTER, .trainerName = _("CALVIN"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Calvin3 } }, @@ -4626,9 +4626,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_YOUNGSTER, .trainerName = _("CALVIN"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, .party = {.NoItemDefaultMoves = gTrainerParty_Calvin4 } }, @@ -4640,9 +4640,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_YOUNGSTER, .trainerName = _("CALVIN"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, .party = {.NoItemDefaultMoves = gTrainerParty_Calvin5 } }, @@ -4654,9 +4654,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_YOUNGSTER, .trainerName = _("EDDIE"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Eddie } }, @@ -4668,9 +4668,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_YOUNGSTER, .trainerName = _("ALLEN"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Allen } }, @@ -4682,9 +4682,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_YOUNGSTER, .trainerName = _("TIMMY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Timmy } }, @@ -4698,7 +4698,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("WALLACE"), .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 6, .party = {.ItemCustomMoves = gTrainerParty_Wallace } }, @@ -4710,9 +4710,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_FISHERMAN, .trainerName = _("ANDREW"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, .party = {.NoItemDefaultMoves = gTrainerParty_Andrew } }, @@ -4724,9 +4724,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_FISHERMAN, .trainerName = _("IVAN"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, .party = {.NoItemDefaultMoves = gTrainerParty_Ivan } }, @@ -4738,9 +4738,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_FISHERMAN, .trainerName = _("CLAUDE"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, .party = {.NoItemDefaultMoves = gTrainerParty_Claude } }, @@ -4752,9 +4752,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_FISHERMAN, .trainerName = _("ELLIOT"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, .party = {.NoItemDefaultMoves = gTrainerParty_Elliot1 } }, @@ -4766,9 +4766,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_FISHERMAN, .trainerName = _("NED"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Ned } }, @@ -4780,9 +4780,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_FISHERMAN, .trainerName = _("DALE"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 4, .party = {.NoItemDefaultMoves = gTrainerParty_Dale } }, @@ -4794,9 +4794,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_FISHERMAN, .trainerName = _("NOLAN"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Nolan } }, @@ -4808,9 +4808,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_FISHERMAN, .trainerName = _("BARNY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Barny } }, @@ -4822,9 +4822,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_FISHERMAN, .trainerName = _("WADE"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Wade } }, @@ -4836,9 +4836,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_FISHERMAN, .trainerName = _("CARTER"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Carter } }, @@ -4850,9 +4850,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_FISHERMAN, .trainerName = _("ELLIOT"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, .party = {.NoItemDefaultMoves = gTrainerParty_Elliot2 } }, @@ -4864,9 +4864,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_FISHERMAN, .trainerName = _("ELLIOT"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 4, .party = {.NoItemDefaultMoves = gTrainerParty_Elliot3 } }, @@ -4878,9 +4878,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_FISHERMAN, .trainerName = _("ELLIOT"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 4, .party = {.NoItemDefaultMoves = gTrainerParty_Elliot4 } }, @@ -4892,9 +4892,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_FISHERMAN, .trainerName = _("ELLIOT"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x3, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT, .partySize = 4, .party = {.NoItemDefaultMoves = gTrainerParty_Elliot5 } }, @@ -4906,9 +4906,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_FISHERMAN, .trainerName = _("RONALD"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 6, .party = {.NoItemDefaultMoves = gTrainerParty_Ronald } }, @@ -4920,9 +4920,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_CYCLING_TRIATHLETE_M, .trainerName = _("JACOB"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, .party = {.NoItemDefaultMoves = gTrainerParty_Jacob } }, @@ -4934,9 +4934,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_CYCLING_TRIATHLETE_M, .trainerName = _("ANTHONY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Anthony } }, @@ -4948,9 +4948,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_CYCLING_TRIATHLETE_M, .trainerName = _("BENJAMIN"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Benjamin1 } }, @@ -4962,9 +4962,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_CYCLING_TRIATHLETE_M, .trainerName = _("BENJAMIN"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Benjamin2 } }, @@ -4976,9 +4976,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_CYCLING_TRIATHLETE_M, .trainerName = _("BENJAMIN"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Benjamin3 } }, @@ -4990,9 +4990,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_CYCLING_TRIATHLETE_M, .trainerName = _("BENJAMIN"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Benjamin4 } }, @@ -5004,9 +5004,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_CYCLING_TRIATHLETE_M, .trainerName = _("BENJAMIN"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Benjamin5 } }, @@ -5018,9 +5018,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_CYCLING_TRIATHLETE_F, .trainerName = _("ABIGAIL"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Abigail1 } }, @@ -5032,9 +5032,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_CYCLING_TRIATHLETE_F, .trainerName = _("JASMINE"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, .party = {.NoItemDefaultMoves = gTrainerParty_Jasmine } }, @@ -5046,9 +5046,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_CYCLING_TRIATHLETE_F, .trainerName = _("ABIGAIL"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Abigail2 } }, @@ -5060,9 +5060,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_CYCLING_TRIATHLETE_F, .trainerName = _("ABIGAIL"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Abigail3 } }, @@ -5074,9 +5074,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_CYCLING_TRIATHLETE_F, .trainerName = _("ABIGAIL"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Abigail4 } }, @@ -5088,9 +5088,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_CYCLING_TRIATHLETE_F, .trainerName = _("ABIGAIL"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Abigail5 } }, @@ -5102,9 +5102,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_RUNNING_TRIATHLETE_M, .trainerName = _("DYLAN"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Dylan1 } }, @@ -5116,9 +5116,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_RUNNING_TRIATHLETE_M, .trainerName = _("DYLAN"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Dylan2 } }, @@ -5130,9 +5130,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_RUNNING_TRIATHLETE_M, .trainerName = _("DYLAN"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Dylan3 } }, @@ -5144,9 +5144,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_RUNNING_TRIATHLETE_M, .trainerName = _("DYLAN"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Dylan4 } }, @@ -5158,9 +5158,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_RUNNING_TRIATHLETE_M, .trainerName = _("DYLAN"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Dylan5 } }, @@ -5172,9 +5172,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_RUNNING_TRIATHLETE_F, .trainerName = _("MARIA"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Maria1 } }, @@ -5186,9 +5186,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_RUNNING_TRIATHLETE_F, .trainerName = _("MARIA"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Maria2 } }, @@ -5200,9 +5200,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_RUNNING_TRIATHLETE_F, .trainerName = _("MARIA"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Maria3 } }, @@ -5214,9 +5214,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_RUNNING_TRIATHLETE_F, .trainerName = _("MARIA"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Maria4 } }, @@ -5228,9 +5228,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_RUNNING_TRIATHLETE_F, .trainerName = _("MARIA"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Maria5 } }, @@ -5242,9 +5242,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMING_TRIATHLETE_M, .trainerName = _("CAMDEN"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Camden } }, @@ -5256,9 +5256,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_YOUNGSTER, .trainerName = _("DEMETRIUS"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Demetrius } }, @@ -5270,9 +5270,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMING_TRIATHLETE_M, .trainerName = _("ISAIAH"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Isaiah1 } }, @@ -5284,9 +5284,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMING_TRIATHLETE_M, .trainerName = _("PABLO"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Pablo1 } }, @@ -5298,9 +5298,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMING_TRIATHLETE_M, .trainerName = _("CHASE"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Chase } }, @@ -5312,9 +5312,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMING_TRIATHLETE_M, .trainerName = _("ISAIAH"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Isaiah2 } }, @@ -5326,9 +5326,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMING_TRIATHLETE_M, .trainerName = _("ISAIAH"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Isaiah3 } }, @@ -5340,9 +5340,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMING_TRIATHLETE_M, .trainerName = _("ISAIAH"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Isaiah4 } }, @@ -5354,9 +5354,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMING_TRIATHLETE_M, .trainerName = _("ISAIAH"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Isaiah5 } }, @@ -5368,9 +5368,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMING_TRIATHLETE_F, .trainerName = _("ISOBEL"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Isobel } }, @@ -5382,9 +5382,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMING_TRIATHLETE_F, .trainerName = _("DONNY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Donny } }, @@ -5396,9 +5396,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMING_TRIATHLETE_F, .trainerName = _("TALIA"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Talia } }, @@ -5410,9 +5410,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMING_TRIATHLETE_F, .trainerName = _("KATELYN"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Katelyn1 } }, @@ -5424,9 +5424,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMING_TRIATHLETE_F, .trainerName = _("ALLISON"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Allison } }, @@ -5438,9 +5438,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMING_TRIATHLETE_F, .trainerName = _("KATELYN"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Katelyn2 } }, @@ -5452,9 +5452,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMING_TRIATHLETE_F, .trainerName = _("KATELYN"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Katelyn3 } }, @@ -5466,9 +5466,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMING_TRIATHLETE_F, .trainerName = _("KATELYN"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Katelyn4 } }, @@ -5480,9 +5480,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMING_TRIATHLETE_F, .trainerName = _("KATELYN"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Katelyn5 } }, @@ -5494,9 +5494,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_DRAGON_TAMER, .trainerName = _("NICOLAS"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Nicolas1 } }, @@ -5508,9 +5508,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_DRAGON_TAMER, .trainerName = _("NICOLAS"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Nicolas2 } }, @@ -5522,9 +5522,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_DRAGON_TAMER, .trainerName = _("NICOLAS"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Nicolas3 } }, @@ -5536,9 +5536,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_DRAGON_TAMER, .trainerName = _("NICOLAS"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, .party = {.NoItemDefaultMoves = gTrainerParty_Nicolas4 } }, @@ -5550,9 +5550,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_DRAGON_TAMER, .trainerName = _("NICOLAS"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, .party = {.ItemDefaultMoves = gTrainerParty_Nicolas5 } }, @@ -5564,9 +5564,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_DRAGON_TAMER, .trainerName = _("AARON"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemCustomMoves = gTrainerParty_Aaron } }, @@ -5578,9 +5578,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, .trainerPic = TRAINER_PIC_BIRD_KEEPER, .trainerName = _("PERRY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Perry } }, @@ -5592,9 +5592,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, .trainerPic = TRAINER_PIC_BIRD_KEEPER, .trainerName = _("HUGH"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Hugh } }, @@ -5606,9 +5606,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, .trainerPic = TRAINER_PIC_BIRD_KEEPER, .trainerName = _("PHIL"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Phil } }, @@ -5620,9 +5620,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, .trainerPic = TRAINER_PIC_BIRD_KEEPER, .trainerName = _("JARED"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, .party = {.NoItemDefaultMoves = gTrainerParty_Jared } }, @@ -5634,9 +5634,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, .trainerPic = TRAINER_PIC_BIRD_KEEPER, .trainerName = _("HUMBERTO"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Humberto } }, @@ -5648,9 +5648,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, .trainerPic = TRAINER_PIC_BIRD_KEEPER, .trainerName = _("PRESLEY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Presley } }, @@ -5662,9 +5662,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, .trainerPic = TRAINER_PIC_BIRD_KEEPER, .trainerName = _("EDWARDO"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Edwardo } }, @@ -5676,9 +5676,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, .trainerPic = TRAINER_PIC_BIRD_KEEPER, .trainerName = _("COLIN"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Colin } }, @@ -5690,9 +5690,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, .trainerPic = TRAINER_PIC_BIRD_KEEPER, .trainerName = _("ROBERT"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Robert1 } }, @@ -5704,9 +5704,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, .trainerPic = TRAINER_PIC_BIRD_KEEPER, .trainerName = _("BENNY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, .party = {.NoItemDefaultMoves = gTrainerParty_Benny } }, @@ -5718,9 +5718,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, .trainerPic = TRAINER_PIC_BIRD_KEEPER, .trainerName = _("CHESTER"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Chester } }, @@ -5732,9 +5732,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, .trainerPic = TRAINER_PIC_BIRD_KEEPER, .trainerName = _("ROBERT"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Robert2 } }, @@ -5746,9 +5746,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, .trainerPic = TRAINER_PIC_BIRD_KEEPER, .trainerName = _("ROBERT"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Robert3 } }, @@ -5760,9 +5760,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, .trainerPic = TRAINER_PIC_BIRD_KEEPER, .trainerName = _("ROBERT"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Robert4 } }, @@ -5774,9 +5774,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, .trainerPic = TRAINER_PIC_BIRD_KEEPER, .trainerName = _("ROBERT"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Robert5 } }, @@ -5788,9 +5788,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, .trainerPic = TRAINER_PIC_BIRD_KEEPER, .trainerName = _("ALEX"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Alex } }, @@ -5802,9 +5802,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, .trainerPic = TRAINER_PIC_BIRD_KEEPER, .trainerName = _("BECK"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Beck } }, @@ -5816,9 +5816,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, .trainerPic = TRAINER_PIC_NINJA_BOY, .trainerName = _("YASU"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x3, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Yasu } }, @@ -5830,9 +5830,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, .trainerPic = TRAINER_PIC_NINJA_BOY, .trainerName = _("TAKASHI"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x3, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Takashi } }, @@ -5846,7 +5846,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("DIANNE"), .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, - .aiFlags = 0x0, + .aiFlags = 0, .partySize = 2, .party = {.ItemCustomMoves = gTrainerParty_Dianne } }, @@ -5858,9 +5858,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, .trainerPic = TRAINER_PIC_TUBER_F, .trainerName = _("JANI"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x0, + .aiFlags = 0, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Jani } }, @@ -5872,9 +5872,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, .trainerPic = TRAINER_PIC_NINJA_BOY, .trainerName = _("LAO"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x0, + .aiFlags = 0, .partySize = 3, .party = {.NoItemCustomMoves = gTrainerParty_Lao1 } }, @@ -5886,9 +5886,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, .trainerPic = TRAINER_PIC_NINJA_BOY, .trainerName = _("LUNG"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x0, + .aiFlags = 0, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Lung } }, @@ -5900,9 +5900,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, .trainerPic = TRAINER_PIC_NINJA_BOY, .trainerName = _("LAO"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x0, + .aiFlags = 0, .partySize = 4, .party = {.NoItemCustomMoves = gTrainerParty_Lao2 } }, @@ -5914,9 +5914,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, .trainerPic = TRAINER_PIC_NINJA_BOY, .trainerName = _("LAO"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x0, + .aiFlags = 0, .partySize = 4, .party = {.NoItemCustomMoves = gTrainerParty_Lao3 } }, @@ -5928,9 +5928,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, .trainerPic = TRAINER_PIC_NINJA_BOY, .trainerName = _("LAO"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x0, + .aiFlags = 0, .partySize = 4, .party = {.NoItemCustomMoves = gTrainerParty_Lao4 } }, @@ -5942,9 +5942,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, .trainerPic = TRAINER_PIC_NINJA_BOY, .trainerName = _("LAO"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x0, + .aiFlags = 0, .partySize = 4, .party = {.ItemCustomMoves = gTrainerParty_Lao5 } }, @@ -5956,9 +5956,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_BATTLE_GIRL, .trainerName = _("JOCELYN"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Jocelyn } }, @@ -5970,9 +5970,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_BATTLE_GIRL, .trainerName = _("LAURA"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Laura } }, @@ -5984,9 +5984,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_BATTLE_GIRL, .trainerName = _("CYNDY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Cyndy1 } }, @@ -5998,9 +5998,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_BATTLE_GIRL, .trainerName = _("CORA"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Cora } }, @@ -6012,9 +6012,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_BATTLE_GIRL, .trainerName = _("PAULA"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Paula } }, @@ -6026,9 +6026,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_BATTLE_GIRL, .trainerName = _("CYNDY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Cyndy2 } }, @@ -6040,9 +6040,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_BATTLE_GIRL, .trainerName = _("CYNDY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Cyndy3 } }, @@ -6054,9 +6054,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_BATTLE_GIRL, .trainerName = _("CYNDY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Cyndy4 } }, @@ -6068,9 +6068,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_BATTLE_GIRL, .trainerName = _("CYNDY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Cyndy5 } }, @@ -6082,9 +6082,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_PARASOL_LADY, .trainerName = _("MADELINE"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemCustomMoves = gTrainerParty_Madeline1 } }, @@ -6096,9 +6096,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_PARASOL_LADY, .trainerName = _("CLARISSA"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Clarissa } }, @@ -6110,9 +6110,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_PARASOL_LADY, .trainerName = _("ANGELICA"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemCustomMoves = gTrainerParty_Angelica } }, @@ -6124,9 +6124,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_PARASOL_LADY, .trainerName = _("MADELINE"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemCustomMoves = gTrainerParty_Madeline2 } }, @@ -6138,9 +6138,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_PARASOL_LADY, .trainerName = _("MADELINE"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemCustomMoves = gTrainerParty_Madeline3 } }, @@ -6152,9 +6152,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_PARASOL_LADY, .trainerName = _("MADELINE"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemCustomMoves = gTrainerParty_Madeline4 } }, @@ -6166,9 +6166,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_PARASOL_LADY, .trainerName = _("MADELINE"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemCustomMoves = gTrainerParty_Madeline5 } }, @@ -6180,9 +6180,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_F, .trainerName = _("BEVERLY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Beverly } }, @@ -6194,9 +6194,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_F, .trainerName = _("IMANI"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Imani } }, @@ -6208,9 +6208,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_F, .trainerName = _("KYLA"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Kyla } }, @@ -6222,9 +6222,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_F, .trainerName = _("DENISE"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Denise } }, @@ -6236,9 +6236,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_F, .trainerName = _("BETH"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Beth } }, @@ -6250,9 +6250,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_F, .trainerName = _("TARA"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Tara } }, @@ -6264,9 +6264,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_F, .trainerName = _("MISSY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Missy } }, @@ -6278,9 +6278,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_F, .trainerName = _("ALICE"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, .party = {.NoItemDefaultMoves = gTrainerParty_Alice } }, @@ -6292,9 +6292,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_F, .trainerName = _("JENNY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Jenny1 } }, @@ -6306,9 +6306,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_F, .trainerName = _("GRACE"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Grace } }, @@ -6320,9 +6320,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_F, .trainerName = _("TANYA"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Tanya } }, @@ -6334,9 +6334,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_F, .trainerName = _("SHARON"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Sharon } }, @@ -6348,9 +6348,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_F, .trainerName = _("NIKKI"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Nikki } }, @@ -6362,9 +6362,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_F, .trainerName = _("BRENDA"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Brenda } }, @@ -6376,9 +6376,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_F, .trainerName = _("KATIE"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Katie } }, @@ -6390,9 +6390,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_F, .trainerName = _("SUSIE"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Susie } }, @@ -6404,9 +6404,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_F, .trainerName = _("KARA"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Kara } }, @@ -6418,9 +6418,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_F, .trainerName = _("DANA"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Dana } }, @@ -6432,9 +6432,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_F, .trainerName = _("SIENNA"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Sienna } }, @@ -6446,9 +6446,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_F, .trainerName = _("DEBRA"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Debra } }, @@ -6460,9 +6460,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_F, .trainerName = _("LINDA"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Linda } }, @@ -6474,9 +6474,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_F, .trainerName = _("KAYLEE"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Kaylee } }, @@ -6488,9 +6488,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_F, .trainerName = _("LAUREL"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Laurel } }, @@ -6502,9 +6502,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_F, .trainerName = _("CARLEE"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Carlee } }, @@ -6516,9 +6516,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_F, .trainerName = _("JENNY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Jenny2 } }, @@ -6530,9 +6530,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_F, .trainerName = _("JENNY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Jenny3 } }, @@ -6544,9 +6544,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_F, .trainerName = _("JENNY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Jenny4 } }, @@ -6558,9 +6558,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_F, .trainerName = _("JENNY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, .party = {.NoItemDefaultMoves = gTrainerParty_Jenny5 } }, @@ -6572,9 +6572,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, .trainerPic = TRAINER_PIC_PICNICKER, .trainerName = _("HEIDI"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemCustomMoves = gTrainerParty_Heidi } }, @@ -6586,9 +6586,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, .trainerPic = TRAINER_PIC_PICNICKER, .trainerName = _("BECKY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemCustomMoves = gTrainerParty_Becky } }, @@ -6600,9 +6600,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, .trainerPic = TRAINER_PIC_PICNICKER, .trainerName = _("CAROL"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Carol } }, @@ -6614,9 +6614,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, .trainerPic = TRAINER_PIC_PICNICKER, .trainerName = _("NANCY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Nancy } }, @@ -6628,9 +6628,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, .trainerPic = TRAINER_PIC_PICNICKER, .trainerName = _("MARTHA"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Martha } }, @@ -6642,9 +6642,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, .trainerPic = TRAINER_PIC_PICNICKER, .trainerName = _("DIANA"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, .party = {.NoItemDefaultMoves = gTrainerParty_Diana1 } }, @@ -6656,9 +6656,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_PSYCHIC_M, .trainerName = _("CEDRIC"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemCustomMoves = gTrainerParty_Cedric } }, @@ -6670,9 +6670,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, .trainerPic = TRAINER_PIC_PICNICKER, .trainerName = _("IRENE"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Irene } }, @@ -6684,9 +6684,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, .trainerPic = TRAINER_PIC_PICNICKER, .trainerName = _("DIANA"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, .party = {.NoItemDefaultMoves = gTrainerParty_Diana2 } }, @@ -6698,9 +6698,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, .trainerPic = TRAINER_PIC_PICNICKER, .trainerName = _("DIANA"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, .party = {.NoItemDefaultMoves = gTrainerParty_Diana3 } }, @@ -6712,9 +6712,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, .trainerPic = TRAINER_PIC_PICNICKER, .trainerName = _("DIANA"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, .party = {.NoItemDefaultMoves = gTrainerParty_Diana4 } }, @@ -6726,9 +6726,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, .trainerPic = TRAINER_PIC_PICNICKER, .trainerName = _("DIANA"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, .party = {.NoItemDefaultMoves = gTrainerParty_Diana5 } }, @@ -6740,9 +6740,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, .trainerPic = TRAINER_PIC_TWINS, .trainerName = _("AMY & LIV"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = TRUE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_AmyAndLiv1 } }, @@ -6754,9 +6754,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, .trainerPic = TRAINER_PIC_TWINS, .trainerName = _("AMY & LIV"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = TRUE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_AmyAndLiv2 } }, @@ -6768,9 +6768,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, .trainerPic = TRAINER_PIC_TWINS, .trainerName = _("GINA & MIA"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = TRUE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_GinaAndMia1 } }, @@ -6782,9 +6782,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, .trainerPic = TRAINER_PIC_TWINS, .trainerName = _("MIU & YUKI"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = TRUE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_MiuAndYuki } }, @@ -6796,9 +6796,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, .trainerPic = TRAINER_PIC_TWINS, .trainerName = _("AMY & LIV"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = TRUE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_AmyAndLiv3 } }, @@ -6810,9 +6810,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, .trainerPic = TRAINER_PIC_TWINS, .trainerName = _("GINA & MIA"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = TRUE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemCustomMoves = gTrainerParty_GinaAndMia2 } }, @@ -6824,9 +6824,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, .trainerPic = TRAINER_PIC_TWINS, .trainerName = _("AMY & LIV"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = TRUE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_AmyAndLiv4 } }, @@ -6838,9 +6838,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, .trainerPic = TRAINER_PIC_TWINS, .trainerName = _("AMY & LIV"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = TRUE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemCustomMoves = gTrainerParty_AmyAndLiv5 } }, @@ -6852,9 +6852,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, .trainerPic = TRAINER_PIC_TWINS, .trainerName = _("AMY & LIV"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = TRUE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemCustomMoves = gTrainerParty_AmyAndLiv6 } }, @@ -6866,9 +6866,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_SAILOR, .trainerName = _("HUEY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Huey } }, @@ -6880,9 +6880,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_SAILOR, .trainerName = _("EDMOND"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Edmond } }, @@ -6894,9 +6894,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_SAILOR, .trainerName = _("ERNEST"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Ernest1 } }, @@ -6908,9 +6908,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_SAILOR, .trainerName = _("DWAYNE"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, .party = {.NoItemDefaultMoves = gTrainerParty_Dwayne } }, @@ -6922,9 +6922,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_SAILOR, .trainerName = _("PHILLIP"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Phillip } }, @@ -6936,9 +6936,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_SAILOR, .trainerName = _("LEONARD"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, .party = {.NoItemDefaultMoves = gTrainerParty_Leonard } }, @@ -6950,9 +6950,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_SAILOR, .trainerName = _("DUNCAN"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Duncan } }, @@ -6964,9 +6964,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_SAILOR, .trainerName = _("ERNEST"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, .party = {.NoItemDefaultMoves = gTrainerParty_Ernest2 } }, @@ -6978,9 +6978,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_SAILOR, .trainerName = _("ERNEST"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, .party = {.NoItemDefaultMoves = gTrainerParty_Ernest3 } }, @@ -6992,9 +6992,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_SAILOR, .trainerName = _("ERNEST"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, .party = {.NoItemDefaultMoves = gTrainerParty_Ernest4 } }, @@ -7006,9 +7006,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_SAILOR, .trainerName = _("ERNEST"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, .party = {.NoItemDefaultMoves = gTrainerParty_Ernest5 } }, @@ -7020,9 +7020,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_HIKER, .trainerName = _("ELI"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Eli } }, @@ -7034,9 +7034,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_TWINS, .trainerPic = TRAINER_PIC_WINSTRATE_F, .trainerName = _("ANNIKA"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.ItemCustomMoves = gTrainerParty_Annika } }, @@ -7050,7 +7050,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("JAZMYN"), .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Jazmyn } }, @@ -7062,9 +7062,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, .trainerPic = TRAINER_PIC_NINJA_BOY, .trainerName = _("JONAS"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, .party = {.NoItemCustomMoves = gTrainerParty_Jonas } }, @@ -7076,9 +7076,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_PARASOL_LADY, .trainerName = _("KAYLEY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemCustomMoves = gTrainerParty_Kayley } }, @@ -7090,9 +7090,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_EXPERT_M, .trainerName = _("AURON"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Auron } }, @@ -7104,9 +7104,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_SAILOR, .trainerName = _("KELVIN"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Kelvin } }, @@ -7120,7 +7120,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("MARLEY"), .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, .party = {.ItemCustomMoves = gTrainerParty_Marley } }, @@ -7132,9 +7132,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_BATTLE_GIRL, .trainerName = _("REYNA"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Reyna } }, @@ -7146,9 +7146,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_SAILOR, .trainerName = _("HUDSON"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Hudson } }, @@ -7160,9 +7160,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_EXPERT_M, .trainerName = _("CONOR"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Conor } }, @@ -7174,9 +7174,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, .trainerPic = TRAINER_PIC_COLLECTOR, .trainerName = _("EDWIN"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Edwin1 } }, @@ -7188,9 +7188,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, .trainerPic = TRAINER_PIC_COLLECTOR, .trainerName = _("HECTOR"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Hector } }, @@ -7202,9 +7202,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, .trainerPic = TRAINER_PIC_MAGMA_ADMIN, .trainerName = _("TABITHA"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, .party = {.NoItemDefaultMoves = gTrainerParty_Tabitha1 } }, @@ -7216,9 +7216,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, .trainerPic = TRAINER_PIC_COLLECTOR, .trainerName = _("EDWIN"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Edwin2 } }, @@ -7230,9 +7230,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, .trainerPic = TRAINER_PIC_COLLECTOR, .trainerName = _("EDWIN"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Edwin3 } }, @@ -7244,9 +7244,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, .trainerPic = TRAINER_PIC_COLLECTOR, .trainerName = _("EDWIN"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Edwin4 } }, @@ -7258,9 +7258,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, .trainerPic = TRAINER_PIC_COLLECTOR, .trainerName = _("EDWIN"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Edwin5 } }, @@ -7274,7 +7274,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("WALLY"), .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 5, .party = {.NoItemCustomMoves = gTrainerParty_Wally1 } }, @@ -7286,9 +7286,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_BRENDAN, .trainerName = _("BRENDAN"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Brendan1 } }, @@ -7300,9 +7300,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_BRENDAN, .trainerName = _("BRENDAN"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, .party = {.NoItemDefaultMoves = gTrainerParty_Brendan2 } }, @@ -7314,9 +7314,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_BRENDAN, .trainerName = _("BRENDAN"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, .party = {.NoItemDefaultMoves = gTrainerParty_Brendan3 } }, @@ -7328,9 +7328,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_BRENDAN, .trainerName = _("BRENDAN"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0xb, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_SETUP_FIRST_TURN, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Brendan4 } }, @@ -7342,9 +7342,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_BRENDAN, .trainerName = _("BRENDAN"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, .party = {.NoItemDefaultMoves = gTrainerParty_Brendan5 } }, @@ -7356,9 +7356,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_BRENDAN, .trainerName = _("BRENDAN"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, .party = {.NoItemDefaultMoves = gTrainerParty_Brendan6 } }, @@ -7370,9 +7370,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_BRENDAN, .trainerName = _("BRENDAN"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Brendan7 } }, @@ -7384,9 +7384,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_BRENDAN, .trainerName = _("BRENDAN"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, .party = {.NoItemDefaultMoves = gTrainerParty_Brendan8 } }, @@ -7398,9 +7398,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_BRENDAN, .trainerName = _("BRENDAN"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, .party = {.NoItemDefaultMoves = gTrainerParty_Brendan9 } }, @@ -7412,9 +7412,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_MAY, .trainerName = _("MAY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_May1 } }, @@ -7426,9 +7426,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_MAY, .trainerName = _("MAY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, .party = {.NoItemDefaultMoves = gTrainerParty_May2 } }, @@ -7440,9 +7440,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_MAY, .trainerName = _("MAY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, .party = {.NoItemDefaultMoves = gTrainerParty_May3 } }, @@ -7454,9 +7454,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_MAY, .trainerName = _("MAY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_May4 } }, @@ -7468,9 +7468,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_MAY, .trainerName = _("MAY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, .party = {.NoItemDefaultMoves = gTrainerParty_May5 } }, @@ -7482,9 +7482,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_MAY, .trainerName = _("MAY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, .party = {.NoItemDefaultMoves = gTrainerParty_May6 } }, @@ -7496,9 +7496,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_MAY, .trainerName = _("MAY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_May7 } }, @@ -7510,9 +7510,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_MAY, .trainerName = _("MAY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, .party = {.NoItemDefaultMoves = gTrainerParty_May8 } }, @@ -7524,9 +7524,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_MAY, .trainerName = _("MAY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, .party = {.NoItemDefaultMoves = gTrainerParty_May9 } }, @@ -7538,9 +7538,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_POKEMON_BREEDER_M, .trainerName = _("ISAAC"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 6, .party = {.NoItemDefaultMoves = gTrainerParty_Isaac1 } }, @@ -7552,9 +7552,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_BUG_CATCHER, .trainerName = _("DAVIS"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Davis } }, @@ -7566,9 +7566,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, .trainerPic = TRAINER_PIC_COOL_TRAINER_M, .trainerName = _("MITCHELL"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, .party = {.NoItemCustomMoves = gTrainerParty_Mitchell } }, @@ -7580,9 +7580,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_POKEMON_BREEDER_M, .trainerName = _("ISAAC"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 6, .party = {.NoItemDefaultMoves = gTrainerParty_Isaac2 } }, @@ -7594,9 +7594,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_POKEMON_BREEDER_M, .trainerName = _("ISAAC"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 6, .party = {.NoItemDefaultMoves = gTrainerParty_Isaac3 } }, @@ -7608,9 +7608,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_POKEMON_BREEDER_M, .trainerName = _("ISAAC"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 6, .party = {.NoItemDefaultMoves = gTrainerParty_Isaac4 } }, @@ -7622,9 +7622,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_POKEMON_BREEDER_M, .trainerName = _("ISAAC"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 6, .party = {.NoItemDefaultMoves = gTrainerParty_Isaac5 } }, @@ -7636,9 +7636,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_POKEMON_BREEDER_F, .trainerName = _("LYDIA"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 6, .party = {.NoItemDefaultMoves = gTrainerParty_Lydia1 } }, @@ -7652,7 +7652,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("HALLE"), .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Halle } }, @@ -7664,9 +7664,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_RUIN_MANIAC, .trainerName = _("GARRISON"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Garrison } }, @@ -7678,9 +7678,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_POKEMON_BREEDER_F, .trainerName = _("LYDIA"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 6, .party = {.NoItemDefaultMoves = gTrainerParty_Lydia2 } }, @@ -7692,9 +7692,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_POKEMON_BREEDER_F, .trainerName = _("LYDIA"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 6, .party = {.NoItemDefaultMoves = gTrainerParty_Lydia3 } }, @@ -7706,9 +7706,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_POKEMON_BREEDER_F, .trainerName = _("LYDIA"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 6, .party = {.NoItemDefaultMoves = gTrainerParty_Lydia4 } }, @@ -7720,9 +7720,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_POKEMON_BREEDER_F, .trainerName = _("LYDIA"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 6, .party = {.NoItemDefaultMoves = gTrainerParty_Lydia5 } }, @@ -7736,7 +7736,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("JACKSON"), .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Jackson1 } }, @@ -7750,7 +7750,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("LORENZO"), .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, .party = {.NoItemDefaultMoves = gTrainerParty_Lorenzo } }, @@ -7764,7 +7764,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("SEBASTIAN"), .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Sebastian } }, @@ -7778,7 +7778,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("JACKSON"), .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, - .aiFlags = 0xb, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_SETUP_FIRST_TURN, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Jackson2 } }, @@ -7792,7 +7792,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("JACKSON"), .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Jackson3 } }, @@ -7806,7 +7806,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("JACKSON"), .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, - .aiFlags = 0xb, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_SETUP_FIRST_TURN, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Jackson4 } }, @@ -7820,7 +7820,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("JACKSON"), .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Jackson5 } }, @@ -7834,7 +7834,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("CATHERINE"), .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, - .aiFlags = 0xb, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_SETUP_FIRST_TURN, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Catherine1 } }, @@ -7848,7 +7848,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("JENNA"), .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, - .aiFlags = 0xb, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_SETUP_FIRST_TURN, .partySize = 3, .party = {.NoItemDefaultMoves = gTrainerParty_Jenna } }, @@ -7862,7 +7862,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("SOPHIA"), .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Sophia } }, @@ -7876,7 +7876,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("CATHERINE"), .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, - .aiFlags = 0xb, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_SETUP_FIRST_TURN, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Catherine2 } }, @@ -7890,7 +7890,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("CATHERINE"), .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Catherine3 } }, @@ -7904,7 +7904,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("CATHERINE"), .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, - .aiFlags = 0xb, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_SETUP_FIRST_TURN, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Catherine4 } }, @@ -7918,7 +7918,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("CATHERINE"), .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Catherine5 } }, @@ -7930,9 +7930,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_CYCLING_TRIATHLETE_M, .trainerName = _("JULIO"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Julio } }, @@ -7944,9 +7944,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA, .trainerPic = TRAINER_PIC_AQUA_GRUNT_M, .trainerName = _("GRUNT"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Grunt27 } }, @@ -7958,9 +7958,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_AQUA, .trainerPic = TRAINER_PIC_AQUA_GRUNT_F, .trainerName = _("GRUNT"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Grunt28 } }, @@ -7972,9 +7972,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_AQUA, .trainerPic = TRAINER_PIC_AQUA_GRUNT_F, .trainerName = _("GRUNT"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Grunt29 } }, @@ -7986,9 +7986,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, .trainerPic = TRAINER_PIC_MAGMA_GRUNT_M, .trainerName = _("GRUNT"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Grunt30 } }, @@ -8000,9 +8000,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_HIKER, .trainerName = _("MARC"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Marc } }, @@ -8014,9 +8014,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_SAILOR, .trainerName = _("BRENDEN"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Brenden } }, @@ -8028,9 +8028,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_BATTLE_GIRL, .trainerName = _("LILITH"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Lilith } }, @@ -8042,9 +8042,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_BLACK_BELT, .trainerName = _("CRISTIAN"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Cristian } }, @@ -8056,9 +8056,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, .trainerPic = TRAINER_PIC_HEX_MANIAC, .trainerName = _("SYLVIA"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Sylvia } }, @@ -8070,9 +8070,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_M, .trainerName = _("LEONARDO"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Leonardo } }, @@ -8086,7 +8086,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("ATHENA"), .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, .party = {.ItemCustomMoves = gTrainerParty_Athena } }, @@ -8098,9 +8098,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_M, .trainerName = _("HARRISON"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Harrison } }, @@ -8112,9 +8112,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, .trainerPic = TRAINER_PIC_MAGMA_GRUNT_M, .trainerName = _("GRUNT"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Grunt31 } }, @@ -8126,9 +8126,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_M, .trainerName = _("CLARENCE"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Clarence } }, @@ -8140,9 +8140,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_PSYCHIC_F, .trainerName = _("TERRY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Terry } }, @@ -8154,9 +8154,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_RICH, .trainerPic = TRAINER_PIC_GENTLEMAN, .trainerName = _("NATE"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Nate } }, @@ -8168,9 +8168,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, .trainerPic = TRAINER_PIC_HEX_MANIAC, .trainerName = _("KATHLEEN"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Kathleen } }, @@ -8182,9 +8182,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_RICH, .trainerPic = TRAINER_PIC_GENTLEMAN, .trainerName = _("CLIFFORD"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Clifford } }, @@ -8196,9 +8196,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_PSYCHIC_M, .trainerName = _("NICHOLAS"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Nicholas } }, @@ -8210,9 +8210,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_MAGMA, .trainerPic = TRAINER_PIC_MAGMA_GRUNT_F, .trainerName = _("GRUNT"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Grunt32 } }, @@ -8224,9 +8224,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, .trainerPic = TRAINER_PIC_MAGMA_GRUNT_M, .trainerName = _("GRUNT"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Grunt33 } }, @@ -8238,9 +8238,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, .trainerPic = TRAINER_PIC_MAGMA_GRUNT_M, .trainerName = _("GRUNT"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Grunt34 } }, @@ -8252,9 +8252,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, .trainerPic = TRAINER_PIC_MAGMA_GRUNT_M, .trainerName = _("GRUNT"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Grunt35 } }, @@ -8266,9 +8266,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, .trainerPic = TRAINER_PIC_MAGMA_GRUNT_M, .trainerName = _("GRUNT"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Grunt36 } }, @@ -8280,9 +8280,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_PSYCHIC_F, .trainerName = _("MACEY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Macey } }, @@ -8294,9 +8294,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_BRENDAN, .trainerName = _("BRENDAN"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Brendan10 } }, @@ -8308,9 +8308,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_BRENDAN, .trainerName = _("BRENDAN"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Brendan11 } }, @@ -8322,9 +8322,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_EXPERT_M, .trainerName = _("PAXTON"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Paxton } }, @@ -8336,9 +8336,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMING_TRIATHLETE_F, .trainerName = _("ISABELLA"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Isabella } }, @@ -8350,9 +8350,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_AQUA, .trainerPic = TRAINER_PIC_AQUA_GRUNT_F, .trainerName = _("GRUNT"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Grunt37 } }, @@ -8364,9 +8364,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, .trainerPic = TRAINER_PIC_MAGMA_ADMIN, .trainerName = _("TABITHA"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 4, .party = {.NoItemDefaultMoves = gTrainerParty_Tabitha2 } }, @@ -8380,7 +8380,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("JONATHAN"), .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, - .aiFlags = 0xb, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_SETUP_FIRST_TURN, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Jonathan } }, @@ -8392,9 +8392,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_BRENDAN, .trainerName = _("BRENDAN"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Brendan12 } }, @@ -8406,9 +8406,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_MAY, .trainerName = _("MAY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0xb, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_SETUP_FIRST_TURN, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_May10 } }, @@ -8422,7 +8422,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("MAXIE"), .items = {ITEM_SUPER_POTION, ITEM_SUPER_POTION, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, .party = {.NoItemDefaultMoves = gTrainerParty_Maxie1 } }, @@ -8436,7 +8436,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("MAXIE"), .items = {ITEM_SUPER_POTION, ITEM_SUPER_POTION, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, .party = {.NoItemDefaultMoves = gTrainerParty_Maxie2 } }, @@ -8448,9 +8448,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_LASS, .trainerName = _("TIANA"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Tiana } }, @@ -8462,9 +8462,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_LASS, .trainerName = _("HALEY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Haley1 } }, @@ -8476,9 +8476,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_LASS, .trainerName = _("JANICE"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Janice } }, @@ -8490,9 +8490,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_LASS, .trainerName = _("VIVI"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, .party = {.NoItemDefaultMoves = gTrainerParty_Vivi } }, @@ -8504,9 +8504,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_LASS, .trainerName = _("HALEY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Haley2 } }, @@ -8518,9 +8518,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_LASS, .trainerName = _("HALEY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Haley3 } }, @@ -8532,9 +8532,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_LASS, .trainerName = _("HALEY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Haley4 } }, @@ -8546,9 +8546,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_LASS, .trainerName = _("HALEY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, .party = {.NoItemDefaultMoves = gTrainerParty_Haley5 } }, @@ -8560,9 +8560,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_LASS, .trainerName = _("SALLY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Sally } }, @@ -8574,9 +8574,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_LASS, .trainerName = _("ROBIN"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, .party = {.NoItemDefaultMoves = gTrainerParty_Robin } }, @@ -8588,9 +8588,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_LASS, .trainerName = _("ANDREA"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Andrea } }, @@ -8602,9 +8602,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_LASS, .trainerName = _("CRISSY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Crissy } }, @@ -8616,9 +8616,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_BUG_CATCHER, .trainerName = _("RICK"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Rick } }, @@ -8630,9 +8630,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_BUG_CATCHER, .trainerName = _("LYLE"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 4, .party = {.NoItemDefaultMoves = gTrainerParty_Lyle } }, @@ -8644,9 +8644,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_BUG_CATCHER, .trainerName = _("JOSE"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Jose } }, @@ -8658,9 +8658,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_BUG_CATCHER, .trainerName = _("DOUG"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Doug } }, @@ -8672,9 +8672,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_BUG_CATCHER, .trainerName = _("GREG"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Greg } }, @@ -8686,9 +8686,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_BUG_CATCHER, .trainerName = _("KENT"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Kent } }, @@ -8700,9 +8700,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_BUG_CATCHER, .trainerName = _("JAMES"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_James1 } }, @@ -8714,9 +8714,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_BUG_CATCHER, .trainerName = _("JAMES"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_James2 } }, @@ -8728,9 +8728,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_BUG_CATCHER, .trainerName = _("JAMES"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_James3 } }, @@ -8742,9 +8742,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_BUG_CATCHER, .trainerName = _("JAMES"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, .party = {.NoItemDefaultMoves = gTrainerParty_James4 } }, @@ -8756,9 +8756,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_BUG_CATCHER, .trainerName = _("JAMES"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 4, .party = {.NoItemDefaultMoves = gTrainerParty_James5 } }, @@ -8770,9 +8770,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_HIKER, .trainerName = _("BRICE"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Brice } }, @@ -8784,9 +8784,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_HIKER, .trainerName = _("TRENT"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, .party = {.NoItemDefaultMoves = gTrainerParty_Trent1 } }, @@ -8798,9 +8798,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_HIKER, .trainerName = _("LENNY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Lenny } }, @@ -8812,9 +8812,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_HIKER, .trainerName = _("LUCAS"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Lucas1 } }, @@ -8826,9 +8826,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_HIKER, .trainerName = _("ALAN"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, .party = {.NoItemDefaultMoves = gTrainerParty_Alan } }, @@ -8840,9 +8840,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_HIKER, .trainerName = _("CLARK"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Clark } }, @@ -8854,9 +8854,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_HIKER, .trainerName = _("ERIC"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Eric } }, @@ -8868,9 +8868,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_HIKER, .trainerName = _("LUCAS"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemCustomMoves = gTrainerParty_Lucas2 } }, @@ -8882,9 +8882,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_HIKER, .trainerName = _("MIKE"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemCustomMoves = gTrainerParty_Mike1 } }, @@ -8896,9 +8896,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_HIKER, .trainerName = _("MIKE"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, .party = {.NoItemDefaultMoves = gTrainerParty_Mike2 } }, @@ -8910,9 +8910,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_HIKER, .trainerName = _("TRENT"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 4, .party = {.NoItemDefaultMoves = gTrainerParty_Trent2 } }, @@ -8924,9 +8924,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_HIKER, .trainerName = _("TRENT"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 4, .party = {.NoItemDefaultMoves = gTrainerParty_Trent3 } }, @@ -8938,9 +8938,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_HIKER, .trainerName = _("TRENT"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 4, .party = {.NoItemDefaultMoves = gTrainerParty_Trent4 } }, @@ -8952,9 +8952,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_HIKER, .trainerName = _("TRENT"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 4, .party = {.NoItemDefaultMoves = gTrainerParty_Trent5 } }, @@ -8966,9 +8966,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL, .trainerPic = TRAINER_PIC_YOUNG_COUPLE, .trainerName = _("DEZ & LUKE"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = TRUE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_DezAndLuke } }, @@ -8980,9 +8980,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL, .trainerPic = TRAINER_PIC_YOUNG_COUPLE, .trainerName = _("LEA & JED"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = TRUE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_LeaAndJed } }, @@ -8994,9 +8994,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL, .trainerPic = TRAINER_PIC_YOUNG_COUPLE, .trainerName = _("KIRA & DAN"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = TRUE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_KiraAndDan1 } }, @@ -9008,9 +9008,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL, .trainerPic = TRAINER_PIC_YOUNG_COUPLE, .trainerName = _("KIRA & DAN"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = TRUE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_KiraAndDan2 } }, @@ -9022,9 +9022,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL, .trainerPic = TRAINER_PIC_YOUNG_COUPLE, .trainerName = _("KIRA & DAN"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = TRUE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_KiraAndDan3 } }, @@ -9036,9 +9036,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL, .trainerPic = TRAINER_PIC_YOUNG_COUPLE, .trainerName = _("KIRA & DAN"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = TRUE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_KiraAndDan4 } }, @@ -9050,9 +9050,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL, .trainerPic = TRAINER_PIC_YOUNG_COUPLE, .trainerName = _("KIRA & DAN"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = TRUE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_KiraAndDan5 } }, @@ -9064,9 +9064,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_BEAUTY, .trainerName = _("JOHANNA"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Johanna } }, @@ -9080,7 +9080,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("GERALD"), .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, .party = {.NoItemCustomMoves = gTrainerParty_Gerald } }, @@ -9092,9 +9092,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_BATTLE_GIRL, .trainerName = _("VIVIAN"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemCustomMoves = gTrainerParty_Vivian } }, @@ -9106,9 +9106,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_BATTLE_GIRL, .trainerName = _("DANIELLE"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemCustomMoves = gTrainerParty_Danielle } }, @@ -9120,9 +9120,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, .trainerPic = TRAINER_PIC_NINJA_BOY, .trainerName = _("HIDEO"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x3, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT, .partySize = 2, .party = {.NoItemCustomMoves = gTrainerParty_Hideo } }, @@ -9134,9 +9134,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, .trainerPic = TRAINER_PIC_NINJA_BOY, .trainerName = _("KEIGO"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x3, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT, .partySize = 2, .party = {.NoItemCustomMoves = gTrainerParty_Keigo } }, @@ -9148,9 +9148,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, .trainerPic = TRAINER_PIC_NINJA_BOY, .trainerName = _("RILEY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x3, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT, .partySize = 2, .party = {.NoItemCustomMoves = gTrainerParty_Riley } }, @@ -9162,9 +9162,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_CAMPER, .trainerName = _("FLINT"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Flint } }, @@ -9176,9 +9176,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, .trainerPic = TRAINER_PIC_PICNICKER, .trainerName = _("ASHLEY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, .party = {.NoItemDefaultMoves = gTrainerParty_Ashley } }, @@ -9190,9 +9190,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_WALLY, .trainerName = _("WALLY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Wally2 } }, @@ -9206,7 +9206,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("WALLY"), .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 5, .party = {.NoItemCustomMoves = gTrainerParty_Wally3 } }, @@ -9220,7 +9220,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("WALLY"), .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 5, .party = {.NoItemCustomMoves = gTrainerParty_Wally4 } }, @@ -9234,7 +9234,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("WALLY"), .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 5, .party = {.NoItemCustomMoves = gTrainerParty_Wally5 } }, @@ -9248,7 +9248,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("WALLY"), .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 5, .party = {.NoItemCustomMoves = gTrainerParty_Wally6 } }, @@ -9260,9 +9260,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_BRENDAN, .trainerName = _("BRENDAN"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 4, .party = {.NoItemDefaultMoves = gTrainerParty_Brendan13 } }, @@ -9274,9 +9274,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_BRENDAN, .trainerName = _("BRENDAN"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 4, .party = {.NoItemDefaultMoves = gTrainerParty_Brendan14 } }, @@ -9288,9 +9288,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_BRENDAN, .trainerName = _("BRENDAN"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 4, .party = {.NoItemDefaultMoves = gTrainerParty_Brendan15 } }, @@ -9302,9 +9302,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_MAY, .trainerName = _("MAY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 4, .party = {.NoItemDefaultMoves = gTrainerParty_May11 } }, @@ -9316,9 +9316,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_MAY, .trainerName = _("MAY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 4, .party = {.NoItemDefaultMoves = gTrainerParty_May12 } }, @@ -9330,9 +9330,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_MAY, .trainerName = _("MAY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 4, .party = {.NoItemDefaultMoves = gTrainerParty_May13 } }, @@ -9344,9 +9344,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_FISHERMAN, .trainerName = _("JONAH"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, .party = {.NoItemDefaultMoves = gTrainerParty_Jonah } }, @@ -9358,9 +9358,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_FISHERMAN, .trainerName = _("HENRY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Henry } }, @@ -9372,9 +9372,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_FISHERMAN, .trainerName = _("ROGER"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, .party = {.NoItemDefaultMoves = gTrainerParty_Roger } }, @@ -9388,7 +9388,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("ALEXA"), .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Alexa } }, @@ -9402,7 +9402,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("RUBEN"), .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Ruben } }, @@ -9414,9 +9414,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_BLACK_BELT, .trainerName = _("KOJI"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Koji1 } }, @@ -9428,9 +9428,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_FISHERMAN, .trainerName = _("WAYNE"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, .party = {.NoItemDefaultMoves = gTrainerParty_Wayne } }, @@ -9442,9 +9442,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, .trainerPic = TRAINER_PIC_BIRD_KEEPER, .trainerName = _("AIDAN"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Aidan } }, @@ -9456,9 +9456,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_M, .trainerName = _("REED"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Reed } }, @@ -9470,9 +9470,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_F, .trainerName = _("TISHA"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Tisha } }, @@ -9484,9 +9484,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, .trainerPic = TRAINER_PIC_TWINS, .trainerName = _("TORI & TIA"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = TRUE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_ToriAndTia } }, @@ -9498,9 +9498,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, .trainerPic = TRAINER_PIC_SR_AND_JR, .trainerName = _("KIM & IRIS"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = TRUE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemCustomMoves = gTrainerParty_KimAndIris } }, @@ -9512,9 +9512,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, .trainerPic = TRAINER_PIC_SR_AND_JR, .trainerName = _("TYRA & IVY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = TRUE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemCustomMoves = gTrainerParty_TyraAndIvy } }, @@ -9526,9 +9526,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL, .trainerPic = TRAINER_PIC_YOUNG_COUPLE, .trainerName = _("MEL & PAUL"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = TRUE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemCustomMoves = gTrainerParty_MelAndPaul } }, @@ -9540,9 +9540,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_OLD_COUPLE, .trainerName = _("JOHN & JAY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = TRUE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, .party = {.NoItemCustomMoves = gTrainerParty_JohnAndJay1 } }, @@ -9554,9 +9554,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_OLD_COUPLE, .trainerName = _("JOHN & JAY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = TRUE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, .party = {.NoItemCustomMoves = gTrainerParty_JohnAndJay2 } }, @@ -9568,9 +9568,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_OLD_COUPLE, .trainerName = _("JOHN & JAY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = TRUE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, .party = {.NoItemCustomMoves = gTrainerParty_JohnAndJay3 } }, @@ -9582,9 +9582,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_OLD_COUPLE, .trainerName = _("JOHN & JAY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = TRUE, - .aiFlags = 0xb, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_SETUP_FIRST_TURN, .partySize = 2, .party = {.NoItemCustomMoves = gTrainerParty_JohnAndJay4 } }, @@ -9596,9 +9596,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_OLD_COUPLE, .trainerName = _("JOHN & JAY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = TRUE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, .party = {.NoItemCustomMoves = gTrainerParty_JohnAndJay5 } }, @@ -9610,9 +9610,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SIS_AND_BRO, .trainerName = _("RELI & IAN"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = TRUE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_ReliAndIan } }, @@ -9624,9 +9624,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SIS_AND_BRO, .trainerName = _("LILA & ROY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = TRUE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_LilaAndRoy1 } }, @@ -9638,9 +9638,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SIS_AND_BRO, .trainerName = _("LILA & ROY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = TRUE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_LilaAndRoy2 } }, @@ -9652,9 +9652,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SIS_AND_BRO, .trainerName = _("LILA & ROY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = TRUE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_LilaAndRoy3 } }, @@ -9666,9 +9666,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SIS_AND_BRO, .trainerName = _("LILA & ROY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = TRUE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_LilaAndRoy4 } }, @@ -9680,9 +9680,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SIS_AND_BRO, .trainerName = _("LILA & ROY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = TRUE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_LilaAndRoy5 } }, @@ -9694,9 +9694,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SIS_AND_BRO, .trainerName = _("LISA & RAY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = TRUE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_LisaAndRay } }, @@ -9708,9 +9708,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_FISHERMAN, .trainerName = _("CHRIS"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 4, .party = {.NoItemDefaultMoves = gTrainerParty_Chris } }, @@ -9722,9 +9722,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_RICH, .trainerPic = TRAINER_PIC_RICH_BOY, .trainerName = _("DAWSON"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.ItemDefaultMoves = gTrainerParty_Dawson } }, @@ -9738,7 +9738,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("SARAH"), .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.ItemDefaultMoves = gTrainerParty_Sarah } }, @@ -9750,9 +9750,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_FISHERMAN, .trainerName = _("DARIAN"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Darian } }, @@ -9764,9 +9764,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, .trainerPic = TRAINER_PIC_TUBER_F, .trainerName = _("HAILEY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Hailey } }, @@ -9778,9 +9778,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL, .trainerPic = TRAINER_PIC_TUBER_M, .trainerName = _("CHANDLER"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Chandler } }, @@ -9792,9 +9792,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, .trainerPic = TRAINER_PIC_WINSTRATE_M, .trainerName = _("KALEB"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.ItemDefaultMoves = gTrainerParty_Kaleb } }, @@ -9806,9 +9806,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_GUITARIST, .trainerName = _("JOSEPH"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Joseph } }, @@ -9820,9 +9820,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_CYCLING_TRIATHLETE_F, .trainerName = _("ALYSSA"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Alyssa } }, @@ -9834,9 +9834,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_GUITARIST, .trainerName = _("MARCOS"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Marcos } }, @@ -9848,9 +9848,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_BLACK_BELT, .trainerName = _("RHETT"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Rhett } }, @@ -9862,9 +9862,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_CAMPER, .trainerName = _("TYRON"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Tyron } }, @@ -9876,9 +9876,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_AROMA_LADY, .trainerName = _("CELINA"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Celina } }, @@ -9890,9 +9890,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, .trainerPic = TRAINER_PIC_PICNICKER, .trainerName = _("BIANCA"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Bianca } }, @@ -9904,9 +9904,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_KINDLER, .trainerName = _("HAYDEN"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Hayden } }, @@ -9918,9 +9918,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, .trainerPic = TRAINER_PIC_PICNICKER, .trainerName = _("SOPHIE"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Sophie } }, @@ -9932,9 +9932,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, .trainerPic = TRAINER_PIC_BIRD_KEEPER, .trainerName = _("COBY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Coby } }, @@ -9946,9 +9946,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_CAMPER, .trainerName = _("LAWRENCE"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Lawrence } }, @@ -9960,9 +9960,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, .trainerPic = TRAINER_PIC_POKEMANIAC, .trainerName = _("WYATT"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Wyatt } }, @@ -9974,9 +9974,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, .trainerPic = TRAINER_PIC_PICNICKER, .trainerName = _("ANGELINA"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Angelina } }, @@ -9988,9 +9988,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_FISHERMAN, .trainerName = _("KAI"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Kai } }, @@ -10002,9 +10002,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, .trainerPic = TRAINER_PIC_PICNICKER, .trainerName = _("CHARLOTTE"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Charlotte } }, @@ -10016,9 +10016,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_YOUNGSTER, .trainerName = _("DEANDRE"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, .party = {.NoItemDefaultMoves = gTrainerParty_Deandre } }, @@ -10030,9 +10030,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, .trainerPic = TRAINER_PIC_MAGMA_GRUNT_M, .trainerName = _("GRUNT"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Grunt38 } }, @@ -10044,9 +10044,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, .trainerPic = TRAINER_PIC_MAGMA_GRUNT_M, .trainerName = _("GRUNT"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Grunt39 } }, @@ -10058,9 +10058,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, .trainerPic = TRAINER_PIC_MAGMA_GRUNT_M, .trainerName = _("GRUNT"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Grunt40 } }, @@ -10072,9 +10072,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, .trainerPic = TRAINER_PIC_MAGMA_GRUNT_M, .trainerName = _("GRUNT"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Grunt41 } }, @@ -10086,9 +10086,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, .trainerPic = TRAINER_PIC_MAGMA_GRUNT_M, .trainerName = _("GRUNT"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Grunt42 } }, @@ -10100,9 +10100,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, .trainerPic = TRAINER_PIC_MAGMA_GRUNT_M, .trainerName = _("GRUNT"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Grunt43 } }, @@ -10114,9 +10114,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, .trainerPic = TRAINER_PIC_MAGMA_GRUNT_M, .trainerName = _("GRUNT"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Grunt44 } }, @@ -10128,9 +10128,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, .trainerPic = TRAINER_PIC_MAGMA_GRUNT_M, .trainerName = _("GRUNT"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Grunt45 } }, @@ -10142,9 +10142,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, .trainerPic = TRAINER_PIC_MAGMA_GRUNT_M, .trainerName = _("GRUNT"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Grunt46 } }, @@ -10156,9 +10156,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, .trainerPic = TRAINER_PIC_MAGMA_GRUNT_M, .trainerName = _("GRUNT"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Grunt47 } }, @@ -10170,9 +10170,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, .trainerPic = TRAINER_PIC_MAGMA_GRUNT_M, .trainerName = _("GRUNT"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Grunt48 } }, @@ -10184,9 +10184,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, .trainerPic = TRAINER_PIC_MAGMA_GRUNT_M, .trainerName = _("GRUNT"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Grunt49 } }, @@ -10198,9 +10198,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, .trainerPic = TRAINER_PIC_MAGMA_GRUNT_M, .trainerName = _("GRUNT"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Grunt50 } }, @@ -10212,9 +10212,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_MAGMA, .trainerPic = TRAINER_PIC_MAGMA_GRUNT_F, .trainerName = _("GRUNT"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Grunt51 } }, @@ -10226,9 +10226,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_MAGMA, .trainerPic = TRAINER_PIC_MAGMA_GRUNT_F, .trainerName = _("GRUNT"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Grunt52 } }, @@ -10240,9 +10240,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_MAGMA, .trainerPic = TRAINER_PIC_MAGMA_GRUNT_F, .trainerName = _("GRUNT"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Grunt53 } }, @@ -10254,9 +10254,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, .trainerPic = TRAINER_PIC_MAGMA_ADMIN, .trainerName = _("TABITHA"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 4, .party = {.NoItemDefaultMoves = gTrainerParty_Tabitha3 } }, @@ -10270,7 +10270,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("DARCY"), .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Darcy } }, @@ -10282,9 +10282,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, .trainerPic = TRAINER_PIC_MAGMA_LEADER_MAXIE, .trainerName = _("MAXIE"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, .party = {.NoItemDefaultMoves = gTrainerParty_Maxie3 } }, @@ -10296,9 +10296,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_M, .trainerName = _("PETE"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Pete } }, @@ -10310,9 +10310,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMER_F, .trainerName = _("ISABELLE"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Isabelle } }, @@ -10324,9 +10324,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_RUIN_MANIAC, .trainerName = _("ANDRES"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Andres1 } }, @@ -10338,9 +10338,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, .trainerPic = TRAINER_PIC_BIRD_KEEPER, .trainerName = _("JOSUE"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Josue } }, @@ -10352,9 +10352,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMING_TRIATHLETE_M, .trainerName = _("CAMRON"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Camron } }, @@ -10366,9 +10366,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_SAILOR, .trainerName = _("CORY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, .party = {.NoItemDefaultMoves = gTrainerParty_Cory1 } }, @@ -10382,7 +10382,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("CAROLINA"), .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, .party = {.NoItemDefaultMoves = gTrainerParty_Carolina } }, @@ -10394,9 +10394,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, .trainerPic = TRAINER_PIC_BIRD_KEEPER, .trainerName = _("ELIJAH"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Elijah } }, @@ -10408,9 +10408,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, .trainerPic = TRAINER_PIC_PICNICKER, .trainerName = _("CELIA"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Celia } }, @@ -10422,9 +10422,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_RUIN_MANIAC, .trainerName = _("BRYAN"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Bryan } }, @@ -10436,9 +10436,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_CAMPER, .trainerName = _("BRANDEN"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Branden } }, @@ -10450,9 +10450,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_KINDLER, .trainerName = _("BRYANT"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Bryant } }, @@ -10464,9 +10464,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_AROMA_LADY, .trainerName = _("SHAYLA"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Shayla } }, @@ -10478,9 +10478,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_RUNNING_TRIATHLETE_F, .trainerName = _("KYRA"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Kyra } }, @@ -10492,9 +10492,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, .trainerPic = TRAINER_PIC_NINJA_BOY, .trainerName = _("JAIDEN"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Jaiden } }, @@ -10506,9 +10506,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_PSYCHIC_F, .trainerName = _("ALIX"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Alix } }, @@ -10520,9 +10520,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_BATTLE_GIRL, .trainerName = _("HELENE"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Helene } }, @@ -10534,9 +10534,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_PSYCHIC_F, .trainerName = _("MARLENE"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Marlene } }, @@ -10548,9 +10548,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_HIKER, .trainerName = _("DEVAN"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Devan } }, @@ -10562,9 +10562,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_YOUNGSTER, .trainerName = _("JOHNSON"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Johnson } }, @@ -10576,9 +10576,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_RUNNING_TRIATHLETE_F, .trainerName = _("MELINA"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Melina } }, @@ -10590,9 +10590,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_PSYCHIC_F, .trainerName = _("BRANDI"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Brandi } }, @@ -10604,9 +10604,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_BATTLE_GIRL, .trainerName = _("AISHA"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Aisha } }, @@ -10620,7 +10620,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("MAKAYLA"), .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Makayla } }, @@ -10632,9 +10632,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_GUITARIST, .trainerName = _("FABIAN"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Fabian } }, @@ -10646,9 +10646,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_KINDLER, .trainerName = _("DAYTON"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Dayton } }, @@ -10660,9 +10660,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_PARASOL_LADY, .trainerName = _("RACHEL"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Rachel } }, @@ -10676,7 +10676,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("LEONEL"), .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, .party = {.NoItemCustomMoves = gTrainerParty_Leonel } }, @@ -10688,9 +10688,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_BATTLE_GIRL, .trainerName = _("CALLIE"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Callie } }, @@ -10702,9 +10702,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, .trainerPic = TRAINER_PIC_BUG_MANIAC, .trainerName = _("CALE"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Cale } }, @@ -10716,9 +10716,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_POKEMON_BREEDER_M, .trainerName = _("MYLES"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 6, .party = {.NoItemDefaultMoves = gTrainerParty_Myles } }, @@ -10730,9 +10730,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_POKEMON_BREEDER_F, .trainerName = _("PAT"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 6, .party = {.NoItemDefaultMoves = gTrainerParty_Pat } }, @@ -10746,7 +10746,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("CRISTIN"), .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Cristin1 } }, @@ -10758,9 +10758,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_MAY, .trainerName = _("MAY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_May14 } }, @@ -10772,9 +10772,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_MAY, .trainerName = _("MAY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_May15 } }, @@ -10788,7 +10788,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("ROXANNE"), .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 4, .party = {.ItemCustomMoves = gTrainerParty_Roxanne2 } }, @@ -10802,7 +10802,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("ROXANNE"), .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 5, .party = {.ItemCustomMoves = gTrainerParty_Roxanne3 } }, @@ -10816,7 +10816,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("ROXANNE"), .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 5, .party = {.ItemCustomMoves = gTrainerParty_Roxanne4 } }, @@ -10830,7 +10830,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("ROXANNE"), .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 6, .party = {.ItemCustomMoves = gTrainerParty_Roxanne5 } }, @@ -10844,7 +10844,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("BRAWLY"), .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 4, .party = {.ItemCustomMoves = gTrainerParty_Brawly2 } }, @@ -10858,7 +10858,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("BRAWLY"), .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 4, .party = {.ItemCustomMoves = gTrainerParty_Brawly3 } }, @@ -10872,7 +10872,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("BRAWLY"), .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 5, .party = {.ItemCustomMoves = gTrainerParty_Brawly4 } }, @@ -10886,7 +10886,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("BRAWLY"), .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 6, .party = {.ItemCustomMoves = gTrainerParty_Brawly5 } }, @@ -10900,7 +10900,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("WATTSON"), .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 4, .party = {.ItemCustomMoves = gTrainerParty_Wattson2 } }, @@ -10914,7 +10914,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("WATTSON"), .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 5, .party = {.ItemCustomMoves = gTrainerParty_Wattson3 } }, @@ -10928,7 +10928,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("WATTSON"), .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 5, .party = {.ItemCustomMoves = gTrainerParty_Wattson4 } }, @@ -10942,7 +10942,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("WATTSON"), .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 6, .party = {.ItemCustomMoves = gTrainerParty_Wattson5 } }, @@ -10956,7 +10956,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("FLANNERY"), .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 4, .party = {.ItemCustomMoves = gTrainerParty_Flannery2 } }, @@ -10970,7 +10970,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("FLANNERY"), .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 5, .party = {.ItemCustomMoves = gTrainerParty_Flannery3 } }, @@ -10984,7 +10984,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("FLANNERY"), .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 6, .party = {.ItemCustomMoves = gTrainerParty_Flannery4 } }, @@ -10998,7 +10998,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("FLANNERY"), .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 6, .party = {.ItemCustomMoves = gTrainerParty_Flannery5 } }, @@ -11012,7 +11012,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("NORMAN"), .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 4, .party = {.ItemCustomMoves = gTrainerParty_Norman2 } }, @@ -11026,7 +11026,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("NORMAN"), .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 5, .party = {.ItemCustomMoves = gTrainerParty_Norman3 } }, @@ -11040,7 +11040,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("NORMAN"), .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 5, .party = {.ItemCustomMoves = gTrainerParty_Norman4 } }, @@ -11054,7 +11054,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("NORMAN"), .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 6, .party = {.ItemCustomMoves = gTrainerParty_Norman5 } }, @@ -11068,7 +11068,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("WINONA"), .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, - .aiFlags = 0x17, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY | AI_SCRIPT_RISKY, .partySize = 5, .party = {.ItemCustomMoves = gTrainerParty_Winona2 } }, @@ -11082,7 +11082,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("WINONA"), .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, - .aiFlags = 0x17, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY | AI_SCRIPT_RISKY, .partySize = 6, .party = {.ItemCustomMoves = gTrainerParty_Winona3 } }, @@ -11096,7 +11096,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("WINONA"), .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, - .aiFlags = 0x17, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY | AI_SCRIPT_RISKY, .partySize = 6, .party = {.ItemCustomMoves = gTrainerParty_Winona4 } }, @@ -11110,7 +11110,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("WINONA"), .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, - .aiFlags = 0x17, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY | AI_SCRIPT_RISKY, .partySize = 6, .party = {.ItemCustomMoves = gTrainerParty_Winona5 } }, @@ -11124,7 +11124,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("TATE&LIZA"), .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 5, .party = {.ItemCustomMoves = gTrainerParty_TateAndLiza2 } }, @@ -11138,7 +11138,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("TATE&LIZA"), .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 6, .party = {.ItemCustomMoves = gTrainerParty_TateAndLiza3 } }, @@ -11152,7 +11152,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("TATE&LIZA"), .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 6, .party = {.ItemCustomMoves = gTrainerParty_TateAndLiza4 } }, @@ -11166,7 +11166,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("TATE&LIZA"), .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 6, .party = {.ItemCustomMoves = gTrainerParty_TateAndLiza5 } }, @@ -11180,7 +11180,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("JUAN"), .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 5, .party = {.ItemCustomMoves = gTrainerParty_Juan2 } }, @@ -11194,7 +11194,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("JUAN"), .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 5, .party = {.ItemCustomMoves = gTrainerParty_Juan3 } }, @@ -11208,7 +11208,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("JUAN"), .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 6, .party = {.ItemCustomMoves = gTrainerParty_Juan4 } }, @@ -11222,7 +11222,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("JUAN"), .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 6, .party = {.ItemCustomMoves = gTrainerParty_Juan5 } }, @@ -11234,9 +11234,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, .trainerPic = TRAINER_PIC_BUG_MANIAC, .trainerName = _("ANGELO"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, .party = {.ItemCustomMoves = gTrainerParty_Angelo } }, @@ -11248,9 +11248,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, .trainerPic = TRAINER_PIC_BIRD_KEEPER, .trainerName = _("DARIUS"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Darius } }, @@ -11264,7 +11264,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("STEVEN"), .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 6, .party = {.ItemCustomMoves = gTrainerParty_Steven } }, @@ -11276,9 +11276,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_SALON_MAIDEN_ANABEL, .trainerName = _("ANABEL"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Anabel } }, @@ -11290,9 +11290,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_DOME_ACE_TUCKER, .trainerName = _("TUCKER"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Tucker } }, @@ -11304,9 +11304,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_PALACE_MAVEN_SPENSER, .trainerName = _("SPENSER"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Spenser } }, @@ -11318,9 +11318,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_ARENA_TYCOON_GRETA, .trainerName = _("GRETA"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Greta } }, @@ -11332,9 +11332,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_FACTORY_HEAD_NOLAND, .trainerName = _("NOLAND"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Noland } }, @@ -11346,9 +11346,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_PIKE_QUEEN_LUCY, .trainerName = _("LUCY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Lucy } }, @@ -11360,9 +11360,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_PYRAMID_KING_BRANDON, .trainerName = _("BRANDON"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Brandon } }, @@ -11374,9 +11374,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_RUIN_MANIAC, .trainerName = _("ANDRES"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Andres2 } }, @@ -11388,9 +11388,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_RUIN_MANIAC, .trainerName = _("ANDRES"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, .party = {.NoItemDefaultMoves = gTrainerParty_Andres3 } }, @@ -11402,9 +11402,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_RUIN_MANIAC, .trainerName = _("ANDRES"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, .party = {.NoItemDefaultMoves = gTrainerParty_Andres4 } }, @@ -11416,9 +11416,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_RUIN_MANIAC, .trainerName = _("ANDRES"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, .party = {.NoItemDefaultMoves = gTrainerParty_Andres5 } }, @@ -11430,9 +11430,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_SAILOR, .trainerName = _("CORY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, .party = {.NoItemDefaultMoves = gTrainerParty_Cory2 } }, @@ -11444,9 +11444,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_SAILOR, .trainerName = _("CORY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, .party = {.NoItemDefaultMoves = gTrainerParty_Cory3 } }, @@ -11458,9 +11458,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_SAILOR, .trainerName = _("CORY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, .party = {.NoItemDefaultMoves = gTrainerParty_Cory4 } }, @@ -11472,9 +11472,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_SAILOR, .trainerName = _("CORY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, .party = {.NoItemDefaultMoves = gTrainerParty_Cory5 } }, @@ -11486,9 +11486,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMING_TRIATHLETE_M, .trainerName = _("PABLO"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Pablo2 } }, @@ -11500,9 +11500,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMING_TRIATHLETE_M, .trainerName = _("PABLO"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, .party = {.NoItemDefaultMoves = gTrainerParty_Pablo3 } }, @@ -11514,9 +11514,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMING_TRIATHLETE_M, .trainerName = _("PABLO"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, .party = {.NoItemDefaultMoves = gTrainerParty_Pablo4 } }, @@ -11528,9 +11528,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, .trainerPic = TRAINER_PIC_SWIMMING_TRIATHLETE_M, .trainerName = _("PABLO"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, .party = {.NoItemDefaultMoves = gTrainerParty_Pablo5 } }, @@ -11542,9 +11542,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_BLACK_BELT, .trainerName = _("KOJI"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Koji2 } }, @@ -11556,9 +11556,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_BLACK_BELT, .trainerName = _("KOJI"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, .party = {.NoItemDefaultMoves = gTrainerParty_Koji3 } }, @@ -11570,9 +11570,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_BLACK_BELT, .trainerName = _("KOJI"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, .party = {.NoItemDefaultMoves = gTrainerParty_Koji4 } }, @@ -11584,9 +11584,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_BLACK_BELT, .trainerName = _("KOJI"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, .party = {.NoItemDefaultMoves = gTrainerParty_Koji5 } }, @@ -11600,7 +11600,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("CRISTIN"), .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Cristin2 } }, @@ -11614,7 +11614,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("CRISTIN"), .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, .party = {.NoItemDefaultMoves = gTrainerParty_Cristin3 } }, @@ -11628,7 +11628,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("CRISTIN"), .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, .party = {.NoItemDefaultMoves = gTrainerParty_Cristin4 } }, @@ -11642,7 +11642,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("CRISTIN"), .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, .party = {.NoItemDefaultMoves = gTrainerParty_Cristin5 } }, @@ -11654,9 +11654,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_GUITARIST, .trainerName = _("FERNANDO"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, .party = {.NoItemDefaultMoves = gTrainerParty_Fernando2 } }, @@ -11668,9 +11668,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_GUITARIST, .trainerName = _("FERNANDO"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, .party = {.NoItemDefaultMoves = gTrainerParty_Fernando3 } }, @@ -11682,9 +11682,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_GUITARIST, .trainerName = _("FERNANDO"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, .party = {.NoItemDefaultMoves = gTrainerParty_Fernando4 } }, @@ -11696,9 +11696,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_GUITARIST, .trainerName = _("FERNANDO"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, .party = {.NoItemDefaultMoves = gTrainerParty_Fernando5 } }, @@ -11710,9 +11710,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_HIKER, .trainerName = _("SAWYER"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Sawyer2 } }, @@ -11724,9 +11724,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_HIKER, .trainerName = _("SAWYER"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, .party = {.NoItemDefaultMoves = gTrainerParty_Sawyer3 } }, @@ -11738,9 +11738,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_HIKER, .trainerName = _("SAWYER"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, .party = {.NoItemDefaultMoves = gTrainerParty_Sawyer4 } }, @@ -11752,9 +11752,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, .trainerPic = TRAINER_PIC_HIKER, .trainerName = _("SAWYER"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x7, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, .partySize = 3, .party = {.NoItemDefaultMoves = gTrainerParty_Sawyer5 } }, @@ -11766,9 +11766,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_POKEMON_BREEDER_F, .trainerName = _("GABRIELLE"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 6, .party = {.NoItemDefaultMoves = gTrainerParty_Gabrielle2 } }, @@ -11780,9 +11780,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_POKEMON_BREEDER_F, .trainerName = _("GABRIELLE"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 6, .party = {.NoItemDefaultMoves = gTrainerParty_Gabrielle3 } }, @@ -11794,9 +11794,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_POKEMON_BREEDER_F, .trainerName = _("GABRIELLE"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 6, .party = {.NoItemDefaultMoves = gTrainerParty_Gabrielle4 } }, @@ -11808,9 +11808,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_POKEMON_BREEDER_F, .trainerName = _("GABRIELLE"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 6, .party = {.NoItemDefaultMoves = gTrainerParty_Gabrielle5 } }, @@ -11822,9 +11822,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_BEAUTY, .trainerName = _("THALIA"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Thalia2 } }, @@ -11836,9 +11836,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_BEAUTY, .trainerName = _("THALIA"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, .party = {.NoItemDefaultMoves = gTrainerParty_Thalia3 } }, @@ -11850,9 +11850,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_BEAUTY, .trainerName = _("THALIA"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, .party = {.NoItemDefaultMoves = gTrainerParty_Thalia4 } }, @@ -11864,9 +11864,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, .trainerPic = TRAINER_PIC_BEAUTY, .trainerName = _("THALIA"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x1, + .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, .partySize = 3, .party = {.NoItemDefaultMoves = gTrainerParty_Thalia5 } }, @@ -11878,9 +11878,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_PSYCHIC_F, .trainerName = _("MARIELA"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x0, + .aiFlags = 0, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Mariela } }, @@ -11892,9 +11892,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, .trainerPic = TRAINER_PIC_PSYCHIC_M, .trainerName = _("ALVARO"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x0, + .aiFlags = 0, .partySize = 2, .party = {.NoItemDefaultMoves = gTrainerParty_Alvaro } }, @@ -11906,9 +11906,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_RICH, .trainerPic = TRAINER_PIC_GENTLEMAN, .trainerName = _("EVERETT"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x0, + .aiFlags = 0, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Everett } }, @@ -11920,9 +11920,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_RED, .trainerName = _("RED"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x0, + .aiFlags = 0, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Red } }, @@ -11934,9 +11934,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_LEAF, .trainerName = _("LEAF"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x0, + .aiFlags = 0, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Leaf } }, @@ -11948,9 +11948,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_RUBY_SAPPHIRE_BRENDAN, .trainerName = _("BRENDAN"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x0, + .aiFlags = 0, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_Brendan16 } }, @@ -11962,9 +11962,9 @@ const struct Trainer gTrainers[] = { .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_RUBY_SAPPHIRE_MAY, .trainerName = _("MAY"), - .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .items = {}, .doubleBattle = FALSE, - .aiFlags = 0x0, + .aiFlags = 0, .partySize = 1, .party = {.NoItemDefaultMoves = gTrainerParty_May16 } }, From e28ce3be7886eb38a29f1839a762598c8dfaec19 Mon Sep 17 00:00:00 2001 From: DizzyEggg <jajkodizzy@wp.pl> Date: Sat, 1 Sep 2018 22:03:21 +0200 Subject: [PATCH 154/234] Fix the strings length issue --- include/battle_scripts.h | 1 + include/battle_tower.h | 6 ++++-- include/global.berry.h | 8 ++++---- include/global.h | 31 ++++++++++++++----------------- include/pokemon.h | 2 +- include/record_mixing.h | 6 +++--- src/battle_dome.c | 6 +++--- src/battle_main.c | 12 ++++++------ src/battle_records.c | 4 ++-- src/berry.c | 4 ++-- src/berry_blender.c | 2 +- src/daycare.c | 2 +- src/mail_data.c | 4 ++-- src/mystery_event_script.c | 4 ++-- src/pokemon.c | 6 +++--- src/recorded_battle.c | 12 ++++++------ src/rom_8011DC0.c | 2 +- src/secret_base.c | 4 ++-- 18 files changed, 58 insertions(+), 58 deletions(-) diff --git a/include/battle_scripts.h b/include/battle_scripts.h index a52d256fc4..9c45373632 100644 --- a/include/battle_scripts.h +++ b/include/battle_scripts.h @@ -207,6 +207,7 @@ extern const u8 BattleScript_ActionSelectionItemsCantBeUsed[]; extern const u8 BattleScript_ArenaTurnBeginning[]; extern const u8 BattleScript_82DB881[]; extern const u8 BattleScript_82DB8F3[]; +extern const u8 BattleScript_82DAA0B[]; extern const u8 BattleScript_AskIfWantsToForfeitMatch[]; extern const u8 BattleScript_PrintPlayerForfeited[]; extern const u8 BattleScript_PrintPlayerForfeitedLinkBattle[]; diff --git a/include/battle_tower.h b/include/battle_tower.h index d7ff700069..f07e9e5443 100644 --- a/include/battle_tower.h +++ b/include/battle_tower.h @@ -6,7 +6,7 @@ struct RSBattleTowerRecord /*0x00*/ u8 battleTowerLevelType; // 0 = level 50, 1 = level 100 /*0x01*/ u8 trainerClass; /*0x02*/ u16 winStreak; - /*0x04*/ u8 name[8]; + /*0x04*/ u8 name[PLAYER_NAME_LENGTH + 1]; /*0x0C*/ u8 trainerId[4]; /*0x10*/ struct { u16 easyChat[6]; @@ -22,10 +22,12 @@ union BattleTowerRecord struct EmeraldBattleTowerRecord emerald; }; +#define FRONTIER_TRAINER_NAME_LENGTH 7 + struct BattleFrontierTrainer { u32 facilityClass; - u8 trainerName[8]; + u8 trainerName[FRONTIER_TRAINER_NAME_LENGTH + 1]; u16 speechBefore[6]; u16 speechWin[6]; u16 speechLose[6]; diff --git a/include/global.berry.h b/include/global.berry.h index 5c8a43a021..8046d344e0 100644 --- a/include/global.berry.h +++ b/include/global.berry.h @@ -1,12 +1,12 @@ #ifndef GUARD_GLOBAL_BERRY_H #define GUARD_GLOBAL_BERRY_H -#define BERRY_NAME_COUNT 7 +#define BERRY_NAME_LENGTH 6 #define BERRY_ITEM_EFFECT_COUNT 18 struct Berry { - const u8 name[BERRY_NAME_COUNT]; + const u8 name[BERRY_NAME_LENGTH + 1]; u8 firmness; u16 size; u8 maxYield; @@ -26,7 +26,7 @@ struct Berry struct Berry2 { - u8 name[BERRY_NAME_COUNT]; + u8 name[BERRY_NAME_LENGTH + 1]; u8 firmness; u16 size; u8 maxYield; @@ -53,7 +53,7 @@ struct EnigmaBerry struct BattleEnigmaBerry { - /*0x00*/ u8 name[BERRY_NAME_COUNT]; + /*0x00*/ u8 name[BERRY_NAME_LENGTH + 1]; /*0x07*/ u8 holdEffect; /*0x08*/ u8 itemEffect[BERRY_ITEM_EFFECT_COUNT]; /*0x1A*/ u8 holdEffectParam; diff --git a/include/global.h b/include/global.h index 0fff11d09d..6977d4059f 100644 --- a/include/global.h +++ b/include/global.h @@ -57,8 +57,6 @@ #define PARTY_SIZE 6 #define POKEMON_SLOTS_NUMBER 412 -#define POKEMON_NAME_LENGTH 10 -#define OT_NAME_LENGTH 7 #define min(a, b) ((a) < (b) ? (a) : (b)) #define max(a, b) ((a) >= (b) ? (a) : (b)) @@ -134,8 +132,7 @@ enum LanguageId // string lengths #define ITEM_NAME_LENGTH 14 #define POKEMON_NAME_LENGTH 10 -#define OT_NAME_LENGTH 7 -#define PLAYER_NAME_LENGTH 8 +#define PLAYER_NAME_LENGTH 7 #define MAIL_WORDS_COUNT 9 enum @@ -326,7 +323,7 @@ struct EmeraldBattleTowerRecord /*0x00*/ u8 battleTowerLevelType; // 0 = level 50, 1 = level 100 /*0x01*/ u8 trainerClass; /*0x02*/ u16 winStreak; - /*0x04*/ u8 name[8]; + /*0x04*/ u8 name[PLAYER_NAME_LENGTH + 1]; /*0x0C*/ u8 trainerId[4]; /*0x10*/ struct { u16 easyChat[6]; @@ -450,7 +447,7 @@ struct BattleFrontier /*0xEBF*/ u8 field_EBF; /*0xEC0*/ u16 field_EC0[16]; /*0xEE0*/ u8 field_EE0; - /*0xEE1*/ u8 field_EE1[2][PLAYER_NAME_LENGTH]; + /*0xEE1*/ u8 field_EE1[2][PLAYER_NAME_LENGTH + 1]; /*0xEF1*/ u8 field_EF1[2][4]; /*0xEF9*/ u8 field_EF9; /*0xEFA*/ u8 field_EFA; @@ -460,7 +457,7 @@ struct BattleFrontier struct SaveBlock2 { - /*0x00*/ u8 playerName[PLAYER_NAME_LENGTH]; + /*0x00*/ u8 playerName[PLAYER_NAME_LENGTH + 1]; /*0x08*/ u8 playerGender; // MALE, FEMALE /*0x09*/ u8 specialSaveWarp; /*0x0A*/ u8 playerTrainerId[4]; @@ -516,7 +513,7 @@ struct SecretBaseRecord /*0x1A9D*/ u8 gender:1; /*0x1A9D*/ u8 sbr_field_1_5:1; /*0x1A9D*/ u8 sbr_field_1_6:2; - /*0x1A9E*/ u8 trainerName[OT_NAME_LENGTH]; + /*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; @@ -602,7 +599,7 @@ struct EasyChatPair struct MailStruct { /*0x00*/ u16 words[MAIL_WORDS_COUNT]; - /*0x12*/ u8 playerName[PLAYER_NAME_LENGTH]; + /*0x12*/ u8 playerName[PLAYER_NAME_LENGTH + 1]; /*0x1A*/ u8 trainerId[4]; /*0x1E*/ u16 species; /*0x20*/ u16 itemId; @@ -691,7 +688,7 @@ struct RecordMixing_UnknownStruct struct LinkBattleRecord { - u8 name[8]; + u8 name[PLAYER_NAME_LENGTH + 1]; u16 trainerId; u16 wins; u16 losses; @@ -724,15 +721,15 @@ struct ContestWinner u32 trainerId; u16 species; u8 contestCategory; - u8 monName[11]; - u8 trainerName[8]; + u8 monName[POKEMON_NAME_LENGTH + 1]; + u8 trainerName[PLAYER_NAME_LENGTH + 1]; u8 contestRank; }; struct DayCareMail { struct MailStruct message; - u8 OT_name[OT_NAME_LENGTH + 1]; + u8 OT_name[PLAYER_NAME_LENGTH + 1]; u8 monName[POKEMON_NAME_LENGTH + 1]; u8 gameLanguage:4; u8 monLanguage:4; @@ -773,7 +770,7 @@ struct LilycoveLadyQuiz /*0x002*/ u16 unk_002[9]; /*0x014*/ u16 unk_014; /*0x016*/ u16 unk_016; - /*0x018*/ u8 playerName[8]; + /*0x018*/ u8 playerName[PLAYER_NAME_LENGTH + 1]; /*0x020*/ u16 playerTrainerId[4]; /*0x028*/ u16 itemId; /*0x02a*/ u8 unk_02a; @@ -788,7 +785,7 @@ struct LilycoveLadyFavour /*0x001*/ u8 phase; /*0x002*/ u8 unk_002; /*0x003*/ u8 unk_003; - /*0x004*/ u8 playerName[8]; + /*0x004*/ u8 playerName[PLAYER_NAME_LENGTH + 1]; /*0x00c*/ u8 unk_00c; /*0x00e*/ u16 itemId; /*0x010*/ u16 unk_010; @@ -801,7 +798,7 @@ struct LilycoveLadyContest /*0x001*/ u8 phase; /*0x002*/ u8 fave_pkblk; /*0x003*/ u8 other_pkblk; - /*0x004*/ u8 playerName[8]; + /*0x004*/ u8 playerName[PLAYER_NAME_LENGTH + 1]; /*0x00c*/ u8 max_sheen; /*0x00d*/ u8 category; /*0x00e*/ u8 language; @@ -828,7 +825,7 @@ struct WaldaPhrase struct UnkSaveSubstruct_3b98 { u32 trainerId; - u8 trainerName[8]; + u8 trainerName[PLAYER_NAME_LENGTH + 1]; }; struct SaveBlock1 diff --git a/include/pokemon.h b/include/pokemon.h index 09496b5c3d..abfb360f0d 100644 --- a/include/pokemon.h +++ b/include/pokemon.h @@ -205,7 +205,7 @@ struct BoxPokemon u8 hasSpecies:1; u8 isEgg:1; u8 unused:5; - u8 otName[OT_NAME_LENGTH]; + u8 otName[PLAYER_NAME_LENGTH]; u8 markings; u16 checksum; u16 unknown; diff --git a/include/record_mixing.h b/include/record_mixing.h index 3cd4d649eb..f1b74c1433 100644 --- a/include/record_mixing.h +++ b/include/record_mixing.h @@ -6,7 +6,7 @@ struct UnkRecordMixingStruct2a { u8 playerId[4]; u16 field_4; - u8 playerName[PLAYER_NAME_LENGTH]; + u8 playerName[PLAYER_NAME_LENGTH + 1]; u8 language; }; @@ -15,8 +15,8 @@ struct UnkRecordMixingStruct2b u8 playerId1[4]; u8 playerId2[4]; u16 field_8; - u8 playerName1[PLAYER_NAME_LENGTH]; - u8 playerName2[PLAYER_NAME_LENGTH]; + u8 playerName1[PLAYER_NAME_LENGTH + 1]; + u8 playerName2[PLAYER_NAME_LENGTH + 1]; u8 language; }; diff --git a/src/battle_dome.c b/src/battle_dome.c index 9f400bc7a0..ff284b564b 100644 --- a/src/battle_dome.c +++ b/src/battle_dome.c @@ -6449,12 +6449,12 @@ static void CopyDomeTrainerName(u8 *dst, u16 trainerId) { if (trainerId == TRAINER_PLAYER) { - for (i = 0; i < OT_NAME_LENGTH; i++) + for (i = 0; i < PLAYER_NAME_LENGTH; i++) dst[i] = gSaveBlock2Ptr->playerName[i]; } else if (trainerId < 300) { - for (i = 0; i < 7; i++) + for (i = 0; i < FRONTIER_TRAINER_NAME_LENGTH; i++) dst[i] = gFacilityTrainers[trainerId].trainerName[i]; } dst[i] = EOS; @@ -6475,7 +6475,7 @@ static void CopyDomeBrainTrainerName(u8 *dst) { s32 i; - for (i = 0; i < 7; i++) + for (i = 0; i < FRONTIER_TRAINER_NAME_LENGTH; i++) dst[i] = gTrainers[TRAINER_TUCKER].trainerName[i]; dst[i] = EOS; } diff --git a/src/battle_main.c b/src/battle_main.c index be6f789ecb..1a1f6f61a6 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -734,7 +734,7 @@ static void SetPlayerBerryDataInBattleStruct(void) if (IsEnigmaBerryValid() == TRUE) { - for (i = 0; i < BERRY_NAME_COUNT - 1; i++) + for (i = 0; i < BERRY_NAME_LENGTH; i++) battleBerry->name[i] = gSaveBlock1Ptr->enigmaBerry.berry.name[i]; battleBerry->name[i] = EOS; @@ -748,7 +748,7 @@ static void SetPlayerBerryDataInBattleStruct(void) { const struct Berry *berryData = GetBerryInfo(ItemIdToBerryType(ITEM_ENIGMA_BERRY)); - for (i = 0; i < BERRY_NAME_COUNT - 1; i++) + for (i = 0; i < BERRY_NAME_LENGTH; i++) battleBerry->name[i] = berryData->name[i]; battleBerry->name[i] = EOS; @@ -769,7 +769,7 @@ static void SetAllPlayersBerryData(void) { if (IsEnigmaBerryValid() == TRUE) { - for (i = 0; i < BERRY_NAME_COUNT - 1; i++) + for (i = 0; i < BERRY_NAME_LENGTH; i++) { gEnigmaBerries[0].name[i] = gSaveBlock1Ptr->enigmaBerry.berry.name[i]; gEnigmaBerries[2].name[i] = gSaveBlock1Ptr->enigmaBerry.berry.name[i]; @@ -792,7 +792,7 @@ static void SetAllPlayersBerryData(void) { const struct Berry *berryData = GetBerryInfo(ItemIdToBerryType(ITEM_ENIGMA_BERRY)); - for (i = 0; i < BERRY_NAME_COUNT - 1; i++) + for (i = 0; i < BERRY_NAME_LENGTH; i++) { gEnigmaBerries[0].name[i] = berryData->name[i]; gEnigmaBerries[2].name[i] = berryData->name[i]; @@ -830,7 +830,7 @@ static void SetAllPlayersBerryData(void) src = (struct BattleEnigmaBerry *)(gBlockRecvBuffer[i] + 2); battlerId = gLinkPlayers[i].id; - for (j = 0; j < BERRY_NAME_COUNT - 1; j++) + for (j = 0; j < BERRY_NAME_LENGTH; j++) gEnigmaBerries[battlerId].name[j] = src->name[j]; gEnigmaBerries[battlerId].name[j] = EOS; @@ -847,7 +847,7 @@ static void SetAllPlayersBerryData(void) { src = (struct BattleEnigmaBerry *)(gBlockRecvBuffer[i] + 2); - for (j = 0; j < BERRY_NAME_COUNT - 1; j++) + for (j = 0; j < BERRY_NAME_LENGTH; j++) { gEnigmaBerries[i].name[j] = src->name[j]; gEnigmaBerries[i + 2].name[j] = src->name[j]; diff --git a/src/battle_records.c b/src/battle_records.c index 8e9d045cba..1680f3cc4e 100644 --- a/src/battle_records.c +++ b/src/battle_records.c @@ -107,7 +107,7 @@ static s32 FindLinkBattleRecord(struct LinkBattleRecord *records, const u8 *name for (i = 0; i < LINK_B_RECORDS_COUNT; i++) { - if (!StringCompareN(records[i].name, name, OT_NAME_LENGTH) && records[i].trainerId == trainerId) + if (!StringCompareN(records[i].name, name, PLAYER_NAME_LENGTH) && records[i].trainerId == trainerId) return i; } @@ -198,7 +198,7 @@ static void UpdateLinkBattleRecords(struct LinkBattleRecords *records, const u8 { index = LINK_B_RECORDS_COUNT - 1; ClearLinkBattleRecord(&records->entries[index]); - StringCopyN(records->entries[index].name, name, OT_NAME_LENGTH); + StringCopyN(records->entries[index].name, name, PLAYER_NAME_LENGTH); records->entries[index].trainerId = trainerId; records->languages[index] = gLinkPlayers[battlerId].language; } diff --git a/src/berry.c b/src/berry.c index f8a0204c44..ea216b61c4 100644 --- a/src/berry.c +++ b/src/berry.c @@ -1076,8 +1076,8 @@ u16 BerryTypeToItemId(u16 berry) void GetBerryNameByBerryType(u8 berry, u8 *string) { - memcpy(string, GetBerryInfo(berry)->name, BERRY_NAME_COUNT - 1); - string[BERRY_NAME_COUNT - 1] = EOS; + memcpy(string, GetBerryInfo(berry)->name, BERRY_NAME_LENGTH); + string[BERRY_NAME_LENGTH] = EOS; } void GetBerryCountStringByBerryType(u8 berry, u8* dest, u32 berryCount) diff --git a/src/berry_blender.c b/src/berry_blender.c index 1fd6d1cddb..02df933f29 100644 --- a/src/berry_blender.c +++ b/src/berry_blender.c @@ -51,7 +51,7 @@ enum struct BlenderBerry { u16 itemId; - u8 name[BERRY_NAME_COUNT]; + u8 name[BERRY_NAME_LENGTH + 1]; u8 flavors[FLAVOR_COUNT]; u8 smoothness; }; diff --git a/src/daycare.c b/src/daycare.c index c73d915213..7599d70abe 100644 --- a/src/daycare.c +++ b/src/daycare.c @@ -368,7 +368,7 @@ static void ClearDaycareMonMail(struct DayCareMail *mail) { s32 i; - for (i = 0; i < OT_NAME_LENGTH + 1; i++) + for (i = 0; i < PLAYER_NAME_LENGTH + 1; i++) mail->OT_name[i] = 0; for (i = 0; i < POKEMON_NAME_LENGTH + 1; i++) mail->monName[i] = 0; diff --git a/src/mail_data.c b/src/mail_data.c index ebb49febf2..809dcc2a8f 100644 --- a/src/mail_data.c +++ b/src/mail_data.c @@ -22,7 +22,7 @@ void ClearMailStruct(struct MailStruct *mail) for (i = 0; i < MAIL_WORDS_COUNT; i++) mail->words[i] = 0xFFFF; - for (i = 0; i < PLAYER_NAME_LENGTH; i++) + for (i = 0; i < PLAYER_NAME_LENGTH + 1; i++) mail->playerName[i] = EOS; for (i = 0; i < 4; i++) @@ -58,7 +58,7 @@ u8 GiveMailToMon(struct Pokemon *mon, u16 itemId) for (i = 0; i < MAIL_WORDS_COUNT; i++) gSaveBlock1Ptr->mail[id].words[i] = 0xFFFF; - for (i = 0; i < PLAYER_NAME_LENGTH - 1; i++) + for (i = 0; i < PLAYER_NAME_LENGTH + 1 - 1; i++) gSaveBlock1Ptr->mail[id].playerName[i] = gSaveBlock2Ptr->playerName[i]; gSaveBlock1Ptr->mail[id].playerName[i] = EOS; PadNameString(gSaveBlock1Ptr->mail[id].playerName, CHAR_SPACE); diff --git a/src/mystery_event_script.c b/src/mystery_event_script.c index 8822cd05af..921c8e97c5 100644 --- a/src/mystery_event_script.c +++ b/src/mystery_event_script.c @@ -226,9 +226,9 @@ bool8 MEScrCmd_setenigmaberry(struct ScriptContext *ctx) const u8 *message; bool32 haveBerry = IsEnigmaBerryValid(); u8 *berry = (u8 *)(ScriptReadWord(ctx) - ctx->data[1] + ctx->data[0]); - StringCopyN(gStringVar1, gSaveBlock1Ptr->enigmaBerry.berry.name, BERRY_NAME_COUNT); + StringCopyN(gStringVar1, gSaveBlock1Ptr->enigmaBerry.berry.name, BERRY_NAME_LENGTH + 1); SetEnigmaBerry(berry); - StringCopyN(gStringVar2, gSaveBlock1Ptr->enigmaBerry.berry.name, BERRY_NAME_COUNT); + StringCopyN(gStringVar2, gSaveBlock1Ptr->enigmaBerry.berry.name, BERRY_NAME_LENGTH + 1); if (!haveBerry) { diff --git a/src/pokemon.c b/src/pokemon.c index 9022f69eab..2922549852 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -4112,7 +4112,7 @@ u32 GetBoxMonData(struct BoxPokemon *boxMon, s32 field, u8 *data) { retVal = 0; - while (retVal < OT_NAME_LENGTH) + while (retVal < PLAYER_NAME_LENGTH) { data[retVal] = boxMon->otName[retVal]; retVal++; @@ -4480,7 +4480,7 @@ void SetBoxMonData(struct BoxPokemon *boxMon, s32 field, const void *dataArg) case MON_DATA_OT_NAME: { s32 i; - for (i = 0; i < OT_NAME_LENGTH; i++) + for (i = 0; i < PLAYER_NAME_LENGTH; i++) boxMon->otName[i] = data[i]; break; } @@ -6778,7 +6778,7 @@ s8 GetFlavorRelationByPersonality(u32 personality, u8 flavor) bool8 IsTradedMon(struct Pokemon *mon) { - u8 otName[OT_NAME_LENGTH + 1]; + u8 otName[PLAYER_NAME_LENGTH + 1]; u32 otId; GetMonData(mon, MON_DATA_OT_NAME, otName); otId = GetMonData(mon, MON_DATA_OT_ID, 0); diff --git a/src/recorded_battle.c b/src/recorded_battle.c index e19f3047f7..fc3b8b94a1 100644 --- a/src/recorded_battle.c +++ b/src/recorded_battle.c @@ -28,7 +28,7 @@ extern u8 gUnknown_03001279; struct PlayerInfo { u32 trainerId; - u8 name[PLAYER_NAME_LENGTH]; + u8 name[PLAYER_NAME_LENGTH + 1]; u8 gender; u16 battlerId; u16 language; @@ -44,7 +44,7 @@ struct RecordedBattleSave { struct Pokemon playerParty[PARTY_SIZE]; struct Pokemon opponentParty[PARTY_SIZE]; - u8 playersName[MAX_BATTLERS_COUNT][PLAYER_NAME_LENGTH]; + u8 playersName[MAX_BATTLERS_COUNT][PLAYER_NAME_LENGTH + 1]; u8 playersGender[MAX_BATTLERS_COUNT]; u32 playersTrainerId[MAX_BATTLERS_COUNT]; u8 playersLanguage[MAX_BATTLERS_COUNT]; @@ -170,7 +170,7 @@ void sub_8184E58(void) } else { - for (j = 0; j < PLAYER_NAME_LENGTH; j++) + for (j = 0; j < PLAYER_NAME_LENGTH + 1; j++) sPlayers[i].name[j] = gLinkPlayers[i].name[j]; } } @@ -186,7 +186,7 @@ void sub_8184E58(void) sPlayers[0].battlerId = 0; sPlayers[0].language = gGameLanguage; - for (i = 0; i < PLAYER_NAME_LENGTH; i++) + for (i = 0; i < PLAYER_NAME_LENGTH + 1; i++) sPlayers[0].name[i] = gSaveBlock2Ptr->playerName[i]; } } @@ -343,7 +343,7 @@ u32 MoveRecordedBattleToSaveData(void) for (i = 0; i < MAX_BATTLERS_COUNT; i++) { - for (j = 0; j < PLAYER_NAME_LENGTH; j++) + for (j = 0; j < PLAYER_NAME_LENGTH + 1; j++) { battleSave->playersName[i][j] = sPlayers[i].name[j]; } @@ -1332,7 +1332,7 @@ static void SetRecordedBattleVarsFromSave(struct RecordedBattleSave *src) for (i = 0; i < MAX_BATTLERS_COUNT; i++) { - for (var = FALSE, j = 0; j < PLAYER_NAME_LENGTH; j++) + for (var = FALSE, j = 0; j < PLAYER_NAME_LENGTH + 1; j++) { gLinkPlayers[i].name[j] = src->playersName[i][j]; if (src->playersName[i][j] == EOS) diff --git a/src/rom_8011DC0.c b/src/rom_8011DC0.c index 993dc0f4f3..b2bd2eb784 100644 --- a/src/rom_8011DC0.c +++ b/src/rom_8011DC0.c @@ -40,7 +40,7 @@ struct UnkStruct_Shared { struct UnkLinkRfuStruct_02022B14 field_0; u8 needingPadding[3]; - u8 playerName[PLAYER_NAME_LENGTH]; + u8 playerName[PLAYER_NAME_LENGTH + 1]; }; struct UnkStruct_x1C diff --git a/src/secret_base.c b/src/secret_base.c index b75163200e..d357261fe5 100644 --- a/src/secret_base.c +++ b/src/secret_base.c @@ -1354,7 +1354,7 @@ bool8 sub_80EA904(struct SecretBaseRecord *sbr1, struct SecretBaseRecord *sbr2) { u8 i; - for (i = 0; i < OT_NAME_LENGTH && (sbr1->trainerName[i] != EOS || sbr2->trainerName[i] != EOS); i++) + for (i = 0; i < PLAYER_NAME_LENGTH && (sbr1->trainerName[i] != EOS || sbr2->trainerName[i] != EOS); i++) { if (sbr1->trainerName[i] != sbr2->trainerName[i]) { @@ -1509,7 +1509,7 @@ bool8 DoesSecretBaseBelongToPlayer(struct SecretBaseRecord *secretBase) return FALSE; } - for (i = 0; i < OT_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; From 528a1e9ed0f64040fce6148eac875cda913384ec Mon Sep 17 00:00:00 2001 From: DizzyEggg <jajkodizzy@wp.pl> Date: Sat, 1 Sep 2018 22:53:29 +0200 Subject: [PATCH 155/234] Match CopySpriteTiles --- src/util.c | 257 ++--------------------------------------------------- 1 file changed, 7 insertions(+), 250 deletions(-) diff --git a/src/util.c b/src/util.c index 88be4e4a13..9c8766a974 100644 --- a/src/util.c +++ b/src/util.c @@ -152,10 +152,6 @@ void DoBgAffineSet(struct BgAffineDstData *dest, u32 texX, u32 texY, s16 scrX, s BgAffineSet(&src, dest, 1); } -#ifdef NONMATCHING - -// Functionally equivalent. -// Only the two yflip loops don't match. void CopySpriteTiles(u8 shape, u8 size, u8 *tiles, u16 *tilemap, u8 *output) { u8 x, y; @@ -166,32 +162,18 @@ void CopySpriteTiles(u8 shape, u8 size, u8 *tiles, u16 *tilemap, u8 *output) for (y = 0; y < h; y++) { - int filler = 32 - w; - for (x = 0; x < w; x++) { int tile = (*tilemap & 0x3ff) * 32; - int attr = *tilemap & 0xc00; - if (attr == 0) + if ((*tilemap & 0xc00) == 0) { - void *src = tiles + tile; - void *dest = output; - int length = 32; - DmaCopy32(3, src, dest, length); + CpuCopy32(tiles + tile, output, 32); } - else if (attr == 0x800) // yflip + else if ((*tilemap & 0xc00) == 0x800) // yflip { for (i = 0; i < 8; i++) - { - void *src = tiles; - void *dest = output; - int length = 4; - // this is likely wrong, but makes it closer to matching - src += tile + (7 - i) * 4; - dest += i * 4; - DmaCopy32(3, src, dest, length); - } + CpuCopy32(tiles + (tile + (7 - i) * 4), output + i * 4, 4); } else // xflip { @@ -207,245 +189,20 @@ void CopySpriteTiles(u8 shape, u8 size, u8 *tiles, u16 *tilemap, u8 *output) if (*tilemap & 0x800) // yflip { for (i = 0; i < 8; i++) - { - void *src = xflip + (7-i) * 4; - void *dest = output + i*4; - int length = 4; - DmaCopy32(3, src, dest, length); - } + CpuCopy32(xflip + (7 - i) * 4, output + i * 4, 4); } else { - void *src = xflip; - void *dest = output; - int length = 32; - DmaCopy32(3, src, dest, length); + CpuCopy32(xflip, output, 32); } } tilemap++; output += 32; } - tilemap += filler; + tilemap += (32 - w); } } -#else -NAKED void CopySpriteTiles(u8 shape, u8 size, u8 *tiles, u16 *tilemap, u8 *output) -{ - asm("\n\ - .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, 0x38\n\ - str r2, [sp, 0x20]\n\ - adds r4, r3, 0\n\ - ldr r7, [sp, 0x58]\n\ - lsls r0, 24\n\ - lsls r1, 24\n\ - ldr r2, =sSpriteDimensions\n\ - lsrs r1, 23\n\ - lsrs r0, 21\n\ - adds r1, r0\n\ - adds r0, r2, 0x1\n\ - adds r0, r1, r0\n\ - ldrb r0, [r0]\n\ - str r0, [sp, 0x24]\n\ - adds r1, r2\n\ - ldrb r1, [r1]\n\ - str r1, [sp, 0x28]\n\ - movs r0, 0\n\ - b _0806F88C\n\ - .pool\n\ - _0806F740:\n\ - movs r5, 0\n\ - adds r0, 0x1\n\ - str r0, [sp, 0x30]\n\ - b _0806F874\n\ - _0806F748:\n\ - ldrh r0, [r4]\n\ - ldr r2, =0x000003ff\n\ - adds r1, r2, 0\n\ - ands r1, r0\n\ - lsls r1, 5\n\ - mov r8, r1\n\ - movs r2, 0xC0\n\ - lsls r2, 4\n\ - adds r1, r2, 0\n\ - ands r1, r0\n\ - mov r2, sp\n\ - strh r0, [r2, 0x34]\n\ - cmp r1, 0\n\ - bne _0806F788\n\ - ldr r0, [sp, 0x20]\n\ - add r0, r8\n\ - adds r1, r7, 0\n\ - ldr r2, =0x04000008\n\ - bl CpuSet\n\ - adds r4, 0x2\n\ - str r4, [sp, 0x2C]\n\ - adds r7, 0x20\n\ - mov r10, r7\n\ - adds r5, 0x1\n\ - mov r9, r5\n\ - b _0806F86A\n\ - .pool\n\ - _0806F788:\n\ - movs r0, 0x80\n\ - lsls r0, 4\n\ - cmp r1, r0\n\ - bne _0806F7CC\n\ - movs r1, 0\n\ - adds r4, 0x2\n\ - str r4, [sp, 0x2C]\n\ - movs r2, 0x20\n\ - adds r2, r7\n\ - mov r10, r2\n\ - adds r5, 0x1\n\ - mov r9, r5\n\ - _0806F7A0:\n\ - lsls r4, r1, 24\n\ - asrs r4, 24\n\ - movs r0, 0x7\n\ - subs r0, r4\n\ - lsls r0, 2\n\ - add r0, r8\n\ - ldr r1, [sp, 0x20]\n\ - adds r0, r1, r0\n\ - lsls r1, r4, 2\n\ - adds r1, r7, r1\n\ - ldr r2, =0x04000001\n\ - bl CpuSet\n\ - adds r4, 0x1\n\ - lsls r4, 24\n\ - lsrs r1, r4, 24\n\ - asrs r4, 24\n\ - cmp r4, 0x7\n\ - ble _0806F7A0\n\ - b _0806F86A\n\ - .pool\n\ - _0806F7CC:\n\ - movs r1, 0\n\ - adds r4, 0x2\n\ - str r4, [sp, 0x2C]\n\ - movs r2, 0x20\n\ - adds r2, r7\n\ - mov r10, r2\n\ - adds r5, 0x1\n\ - mov r9, r5\n\ - movs r0, 0xF\n\ - mov r12, r0\n\ - _0806F7E0:\n\ - movs r2, 0\n\ - lsls r4, r1, 24\n\ - lsls r0, r4, 2\n\ - lsrs r0, 24\n\ - adds r6, r0, 0x3\n\ - mov r1, r8\n\ - adds r5, r1, r0\n\ - _0806F7EE:\n\ - lsls r1, r2, 24\n\ - asrs r1, 24\n\ - subs r0, r6, r1\n\ - mov r2, sp\n\ - adds r3, r2, r0\n\ - adds r0, r5, r1\n\ - ldr r2, [sp, 0x20]\n\ - adds r0, r2, r0\n\ - ldrb r2, [r0]\n\ - mov r0, r12\n\ - ands r0, r2\n\ - lsls r0, 4\n\ - lsrs r2, 4\n\ - orrs r0, r2\n\ - strb r0, [r3]\n\ - adds r1, 0x1\n\ - lsls r1, 24\n\ - lsrs r2, r1, 24\n\ - asrs r1, 24\n\ - cmp r1, 0x3\n\ - ble _0806F7EE\n\ - movs r1, 0x80\n\ - lsls r1, 17\n\ - adds r0, r4, r1\n\ - lsrs r1, r0, 24\n\ - asrs r0, 24\n\ - cmp r0, 0x7\n\ - ble _0806F7E0\n\ - mov r2, sp\n\ - ldrh r0, [r2, 0x34]\n\ - movs r2, 0x80\n\ - lsls r2, 4\n\ - ands r0, r2\n\ - cmp r0, 0\n\ - beq _0806F860\n\ - movs r1, 0\n\ - _0806F836:\n\ - lsls r4, r1, 24\n\ - asrs r4, 24\n\ - movs r0, 0x7\n\ - subs r0, r4\n\ - lsls r0, 2\n\ - add r0, sp\n\ - lsls r1, r4, 2\n\ - adds r1, r7, r1\n\ - ldr r2, =0x04000001\n\ - bl CpuSet\n\ - adds r4, 0x1\n\ - lsls r4, 24\n\ - lsrs r1, r4, 24\n\ - asrs r4, 24\n\ - cmp r4, 0x7\n\ - ble _0806F836\n\ - b _0806F86A\n\ - .pool\n\ - _0806F860:\n\ - mov r0, sp\n\ - adds r1, r7, 0\n\ - ldr r2, =0x04000008\n\ - bl CpuSet\n\ - _0806F86A:\n\ - ldr r4, [sp, 0x2C]\n\ - mov r7, r10\n\ - mov r1, r9\n\ - lsls r0, r1, 24\n\ - lsrs r5, r0, 24\n\ - _0806F874:\n\ - ldr r2, [sp, 0x28]\n\ - cmp r5, r2\n\ - bcs _0806F87C\n\ - b _0806F748\n\ - _0806F87C:\n\ - movs r0, 0x20\n\ - ldr r1, [sp, 0x28]\n\ - subs r0, r1\n\ - lsls r0, 1\n\ - adds r4, r0\n\ - ldr r2, [sp, 0x30]\n\ - lsls r0, r2, 24\n\ - lsrs r0, 24\n\ - _0806F88C:\n\ - ldr r1, [sp, 0x24]\n\ - cmp r0, r1\n\ - bcs _0806F894\n\ - b _0806F740\n\ - _0806F894:\n\ - add sp, 0x38\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 - int CountTrailingZeroBits(u32 value) { u8 i; From 23aab35b96c53351448adab00829768a5837f7da Mon Sep 17 00:00:00 2001 From: DizzyEggg <jajkodizzy@wp.pl> Date: Sun, 2 Sep 2018 00:28:03 +0200 Subject: [PATCH 156/234] Update item_menu.c Don't use signed values for unsigned variables --- src/item_menu.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/item_menu.c b/src/item_menu.c index f58c2b8b3e..c52d1b08ff 100755 --- a/src/item_menu.c +++ b/src/item_menu.c @@ -675,7 +675,7 @@ void sub_81AB520(u8 rboxId, int item_index_in_pocket, u8 a) } itemId = BagGetItemIdByPocketPosition(gUnknown_0203CE58.pocket + 1, item_index_in_pocket); itemQuantity = BagGetQuantityByPocketPosition(gUnknown_0203CE58.pocket + 1, item_index_in_pocket); - if ((u16)(itemId - ITEM_HM01) <= 7) + if (itemId >= ITEM_HM01 && itemId <= ITEM_HM08) BlitBitmapToWindow(rboxId, gBagMenuHMIcon_Gfx, 8, a - 1, 16, 16); if (gUnknown_0203CE58.pocket == 3) { @@ -701,10 +701,10 @@ void sub_81AB520(u8 rboxId, int item_index_in_pocket, u8 a) void bag_menu_print_description_box_text(int a) { - u8* str; + const u8 *str; if (a != -2) { - str = (u8*)ItemId_GetDescription(BagGetItemIdByPocketPosition(gUnknown_0203CE58.pocket + 1, a)); + str = ItemId_GetDescription(BagGetItemIdByPocketPosition(gUnknown_0203CE58.pocket + 1, a)); } else { @@ -2103,9 +2103,9 @@ void setup_bag_menu_textboxes(void) InitWindows(gUnknown_08614174); DeactivateAllTextPrinters(); - LoadUserWindowBorderGfx(0, 1, -32); - LoadMessageBoxGfx(0, 10, -48); - sub_819A2BC(-64, 1); + LoadUserWindowBorderGfx(0, 1, 0xE0); + LoadMessageBoxGfx(0, 10, 0xD0); + sub_819A2BC(0xC0, 1); LoadPalette(&gUnknown_0860F074, 0xF0, 0x20); for (i = 0; i < 3; i++) { From ef4695a72cb89eb18f31057fd86a9e00091ebf20 Mon Sep 17 00:00:00 2001 From: Slawter666 <38655737+Slawter666@users.noreply.github.com> Date: Sun, 2 Sep 2018 13:47:12 +0100 Subject: [PATCH 157/234] Minor labelling --- src/pokemon_summary_screen.c | 393 +++++++++++++++++++++++++++++------ 1 file changed, 326 insertions(+), 67 deletions(-) diff --git a/src/pokemon_summary_screen.c b/src/pokemon_summary_screen.c index 9648747e71..2c59cb57b5 100644 --- a/src/pokemon_summary_screen.c +++ b/src/pokemon_summary_screen.c @@ -172,7 +172,7 @@ static void sub_81C2074(u16 a, s16 b); static void sub_81C20F0(u8 taskId); static void sub_81C2194(u16 *a, u16 b, u8 c); static void sub_81C2228(struct Pokemon* mon); -static void sub_81C22CC(struct Pokemon* mon); +static void DrawExperienceProgressBar(struct Pokemon* mon); static void sub_81C240C(u16 a); static void sub_81C2524(void); static void sub_81C2554(void); @@ -313,48 +313,304 @@ static const struct UnkStruct_61CC04 gUnknown_0861CC10 = static const s8 gUnknown_0861CC1C[] = {0, 2, 3, 1, 4, 5}; static const struct WindowTemplate gUnknown_0861CC24[] = { - { 0x00, 0x00, 0x00, 0x0b, 0x02, 0x06, 0x0001 }, - { 0x00, 0x00, 0x00, 0x0b, 0x02, 0x06, 0x0017 }, - { 0x00, 0x00, 0x00, 0x0b, 0x02, 0x06, 0x002d }, - { 0x00, 0x00, 0x00, 0x0b, 0x02, 0x06, 0x0043 }, - { 0x00, 0x16, 0x00, 0x08, 0x02, 0x07, 0x0059 }, - { 0x00, 0x16, 0x00, 0x08, 0x02, 0x07, 0x0069 }, - { 0x00, 0x16, 0x00, 0x08, 0x02, 0x07, 0x0079 }, - { 0x00, 0x0b, 0x04, 0x00, 0x02, 0x06, 0x0089 }, - { 0x00, 0x0b, 0x04, 0x12, 0x02, 0x06, 0x0089 }, - { 0x00, 0x0b, 0x06, 0x12, 0x02, 0x06, 0x00ad }, - { 0x00, 0x0a, 0x07, 0x06, 0x06, 0x06, 0x00d1 }, - { 0x00, 0x16, 0x07, 0x05, 0x06, 0x06, 0x00f5 }, - { 0x00, 0x0a, 0x0e, 0x0b, 0x04, 0x06, 0x0113 }, - { 0x00, 0x00, 0x12, 0x06, 0x02, 0x06, 0x013f }, - { 0x00, 0x01, 0x0f, 0x09, 0x04, 0x06, 0x014b }, - { 0x00, 0x01, 0x0f, 0x05, 0x04, 0x06, 0x016f }, - { 0x00, 0x16, 0x04, 0x00, 0x02, 0x06, 0x0183 }, - { 0x00, 0x01, 0x02, 0x04, 0x02, 0x07, 0x0183 }, - { 0x00, 0x01, 0x0c, 0x09, 0x02, 0x06, 0x018b }, - { 0x00, 0x01, 0x0e, 0x09, 0x04, 0x06, 0x019d }, + { + .priority = 0, + .tilemapLeft = 0, + .tilemapTop = 0, + .width = 11, + .height = 2, + .paletteNum = 6, + .baseBlock = 1, + }, + { + .priority = 0, + .tilemapLeft = 0, + .tilemapTop = 0, + .width = 11, + .height = 2, + .paletteNum = 6, + .baseBlock = 23, + }, + { + .priority = 0, + .tilemapLeft = 0, + .tilemapTop = 0, + .width = 11, + .height = 2, + .paletteNum = 6, + .baseBlock = 45, + }, + { + .priority = 0, + .tilemapLeft = 0, + .tilemapTop = 0, + .width = 11, + .height = 2, + .paletteNum = 6, + .baseBlock = 67, + }, + { + .priority = 0, + .tilemapLeft = 22, + .tilemapTop = 0, + .width = 8, + .height = 2, + .paletteNum = 7, + .baseBlock = 89, + }, + { + .priority = 0, + .tilemapLeft = 22, + .tilemapTop = 0, + .width = 8, + .height = 2, + .paletteNum = 7, + .baseBlock = 105, + }, + { + .priority = 0, + .tilemapLeft = 22, + .tilemapTop = 0, + .width = 8, + .height = 2, + .paletteNum = 7, + .baseBlock = 121, + }, + { + .priority = 0, + .tilemapLeft = 11, + .tilemapTop = 4, + .width = 0, + .height = 2, + .paletteNum = 6, + .baseBlock = 137, + }, + { + .priority = 0, + .tilemapLeft = 11, + .tilemapTop = 4, + .width = 18, + .height = 2, + .paletteNum = 6, + .baseBlock = 137, + }, + { + .priority = 0, + .tilemapLeft = 11, + .tilemapTop = 6, + .width = 18, + .height = 2, + .paletteNum = 6, + .baseBlock = 173, + }, + { + .priority = 0, + .tilemapLeft = 10, + .tilemapTop = 7, + .width = 6, + .height = 6, + .paletteNum = 6, + .baseBlock = 209, + }, + { + .priority = 0, + .tilemapLeft = 22, + .tilemapTop = 7, + .width = 5, + .height = 6, + .paletteNum = 6, + .baseBlock = 245, + }, + { + .priority = 0, + .tilemapLeft = 10, + .tilemapTop = 14, + .width = 11, + .height = 4, + .paletteNum = 6, + .baseBlock = 275, + }, + { + .priority = 0, + .tilemapLeft = 0, + .tilemapTop = 18, + .width = 6, + .height = 2, + .paletteNum = 6, + .baseBlock = 319, + }, + { + .priority = 0, + .tilemapLeft = 1, + .tilemapTop = 15, + .width = 9, + .height = 4, + .paletteNum = 6, + .baseBlock = 331, + }, + { + .priority = 0, + .tilemapLeft = 1, + .tilemapTop = 15, + .width = 5, + .height = 4, + .paletteNum = 6, + .baseBlock = 367, + }, + { + .priority = 0, + .tilemapLeft = 22, + .tilemapTop = 4, + .width = 0, + .height = 2, + .paletteNum = 6, + .baseBlock = 387, + }, + { + .priority = 0, + .tilemapLeft = 1, + .tilemapTop = 2, + .width = 4, + .height = 2, + .paletteNum = 7, + .baseBlock = 387, + }, + { + .priority = 0, + .tilemapLeft = 1, + .tilemapTop = 12, + .width = 9, + .height = 2, + .paletteNum = 6, + .baseBlock = 395, + }, + { + .priority = 0, + .tilemapLeft = 1, + .tilemapTop = 14, + .width = 9, + .height = 4, + .paletteNum = 6, + .baseBlock = 413, + }, DUMMY_WIN_TEMPLATE }; static const struct WindowTemplate gUnknown_0861CCCC[] = { - { 0x00, 0x0b, 0x04, 0x0b, 0x02, 0x06, 0x01c1 }, - { 0x00, 0x16, 0x04, 0x07, 0x02, 0x06, 0x01d7 }, - { 0x00, 0x0b, 0x09, 0x12, 0x04, 0x06, 0x01e5 }, - { 0x00, 0x0b, 0x0e, 0x12, 0x06, 0x06, 0x022d }, + { + .priority = 0, + .tilemapLeft = 11, + .tilemapTop = 4, + .width = 11, + .height = 2, + .paletteNum = 6, + .baseBlock = 449, + }, + { + .priority = 0, + .tilemapLeft = 22, + .tilemapTop = 4, + .width = 7, + .height = 2, + .paletteNum = 6, + .baseBlock = 471, + }, + { + .priority = 0, + .tilemapLeft = 11, + .tilemapTop = 9, + .width = 18, + .height = 4, + .paletteNum = 6, + .baseBlock = 485, + }, + { + .priority = 0, + .tilemapLeft = 11, + .tilemapTop = 14, + .width = 18, + .height = 6, + .paletteNum = 6, + .baseBlock = 557, + }, }; static const struct WindowTemplate gUnknown_0861CCEC[] = { - { 0x00, 0x0a, 0x04, 0x0a, 0x02, 0x06, 0x01c1 }, - { 0x00, 0x14, 0x04, 0x0a, 0x02, 0x06, 0x01d5 }, - { 0x00, 0x10, 0x07, 0x06, 0x06, 0x06, 0x01e9 }, - { 0x00, 0x1b, 0x07, 0x03, 0x06, 0x06, 0x020d }, - { 0x00, 0x18, 0x0e, 0x06, 0x04, 0x06, 0x021f }, + { + .priority = 0, + .tilemapLeft = 10, + .tilemapTop = 4, + .width = 10, + .height = 2, + .paletteNum = 6, + .baseBlock = 449, + }, + { + .priority = 0, + .tilemapLeft = 20, + .tilemapTop = 4, + .width = 10, + .height = 2, + .paletteNum = 6, + .baseBlock = 469, + }, + { + .priority = 0, + .tilemapLeft = 16, + .tilemapTop = 7, + .width = 6, + .height = 6, + .paletteNum = 6, + .baseBlock = 489, + }, + { + .priority = 0, + .tilemapLeft = 27, + .tilemapTop = 7, + .width = 3, + .height = 6, + .paletteNum = 6, + .baseBlock = 525, + }, + { + .priority = 0, + .tilemapLeft = 24, + .tilemapTop = 14, + .width = 6, + .height = 4, + .paletteNum = 6, + .baseBlock = 543, + }, }; static const struct WindowTemplate gUnknown_0861CD14[] = { - { 0x00, 0x0f, 0x04, 0x09, 0x0a, 0x06, 0x01c1 }, - { 0x00, 0x18, 0x04, 0x06, 0x0a, 0x08, 0x021b }, - { 0x00, 0x0a, 0x0f, 0x14, 0x04, 0x06, 0x0257 }, + { + .priority = 0, + .tilemapLeft = 15, + .tilemapTop = 4, + .width = 9, + .height = 10, + .paletteNum = 6, + .baseBlock = 449, + }, + { + .priority = 0, + .tilemapLeft = 24, + .tilemapTop = 4, + .width = 6, + .height = 10, + .paletteNum = 8, + .baseBlock = 539, + }, + { + .priority = 0, + .tilemapLeft = 10, + .tilemapTop = 15, + .width = 20, + .height = 4, + .paletteNum = 6, + .baseBlock = 599, + }, }; static const u8 sTextColors_861CD2C[][3] = { @@ -661,7 +917,7 @@ static const struct SpriteTemplate gUnknown_0861D084 = .affineAnims = gDummySpriteAffineAnimTable, .callback = SpriteCallbackDummy }; -static const struct OamData gOamData_861D09C = +static const struct OamData sOamData_StatusCondition = { .y = 0, .affineMode = 0, @@ -677,42 +933,42 @@ static const struct OamData gOamData_861D09C = .paletteNum = 0, .affineParam = 0, }; -static const union AnimCmd gSpriteAnim_861D0A4[] = { +static const union AnimCmd sSpriteAnim_StatusPoison[] = { ANIMCMD_FRAME(0, 0, FALSE, FALSE), ANIMCMD_END }; -static const union AnimCmd gSpriteAnim_861D0AC[] = { +static const union AnimCmd sSpriteAnim_StatusParalyzed[] = { ANIMCMD_FRAME(4, 0, FALSE, FALSE), ANIMCMD_END }; -static const union AnimCmd gSpriteAnim_861D0B4[] = { +static const union AnimCmd sSpriteAnim_StatusSleep[] = { ANIMCMD_FRAME(8, 0, FALSE, FALSE), ANIMCMD_END }; -static const union AnimCmd gSpriteAnim_861D0BC[] = { +static const union AnimCmd sSpriteAnim_StatusFrozen[] = { ANIMCMD_FRAME(12, 0, FALSE, FALSE), ANIMCMD_END }; -static const union AnimCmd gSpriteAnim_861D0C4[] = { +static const union AnimCmd sSpriteAnim_StatusBurn[] = { ANIMCMD_FRAME(16, 0, FALSE, FALSE), ANIMCMD_END }; -static const union AnimCmd gSpriteAnim_861D0CC[] = { +static const union AnimCmd sSpriteAnim_StatusPokerus[] = { ANIMCMD_FRAME(20, 0, FALSE, FALSE), ANIMCMD_END }; -static const union AnimCmd gSpriteAnim_861D0D4[] = { +static const union AnimCmd sSpriteAnim_StatusFaint[] = { ANIMCMD_FRAME(24, 0, FALSE, FALSE), ANIMCMD_END }; -static const union AnimCmd *const gSpriteAnimTable_861D0DC[] = { - gSpriteAnim_861D0A4, - gSpriteAnim_861D0AC, - gSpriteAnim_861D0B4, - gSpriteAnim_861D0BC, - gSpriteAnim_861D0C4, - gSpriteAnim_861D0CC, - gSpriteAnim_861D0D4, +static const union AnimCmd *const sSpriteAnimTable_StatusCondition[] = { + sSpriteAnim_StatusPoison, + sSpriteAnim_StatusParalyzed, + sSpriteAnim_StatusSleep, + sSpriteAnim_StatusFrozen, + sSpriteAnim_StatusBurn, + sSpriteAnim_StatusPokerus, + sSpriteAnim_StatusFaint, }; static const struct CompressedSpriteSheet gUnknown_0861D0F8 = { @@ -725,12 +981,12 @@ static const struct CompressedSpritePalette gUnknown_0861D100 = .data = gStatusPal_Icons, .tag = 30001 }; -static const struct SpriteTemplate gUnknown_0861D108 = +static const struct SpriteTemplate sSpriteTemplate_StatusCondition = { .tileTag = 30001, .paletteTag = 30001, - .oam = &gOamData_861D09C, - .anims = gSpriteAnimTable_861D0DC, + .oam = &sOamData_StatusCondition, + .anims = sSpriteAnimTable_StatusCondition, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = SpriteCallbackDummy @@ -1521,7 +1777,7 @@ static void sub_81C0D44(u8 taskId) static void sub_81C0E24(void) { if (pssData->currPageIndex == 1) - sub_81C22CC(&pssData->currentMon); + DrawExperienceProgressBar(&pssData->currentMon); } static void sub_81C0E48(u8 taskId) @@ -2270,37 +2526,40 @@ static void sub_81C228C(bool8 isMonShiny) schedule_bg_copy_tilemap_to_vram(3); } -static void sub_81C22CC(struct Pokemon *unused) +static void DrawExperienceProgressBar(struct Pokemon *unused) { - s64 r6r7; + s64 numExpProgressBarTicks; struct PokeSummary *summary = &pssData->summary; u16 *r9; u8 i; if (summary->level < MAX_MON_LEVEL) { - u32 r1 = gExperienceTables[gBaseStats[summary->species].growthRate][summary->level + 1] - gExperienceTables[gBaseStats[summary->species].growthRate][summary->level]; - u32 r4 = summary->exp - gExperienceTables[gBaseStats[summary->species].growthRate][summary->level]; + u32 expBetweenLevels = gExperienceTables[gBaseStats[summary->species].growthRate][summary->level + 1] - gExperienceTables[gBaseStats[summary->species].growthRate][summary->level]; + u32 expSinceLastLevel = summary->exp - gExperienceTables[gBaseStats[summary->species].growthRate][summary->level]; - r6r7 = r4 * 64 / r1; - if (r6r7 == 0 && r4 != 0) - r6r7 = 1; + // Calculate the number of 1-pixel "ticks" to illuminate in the experience progress bar. + // There are 8 tiles that make up the bar, and each tile has 8 "ticks". Hence, the numerator + // is multiplied by 64. + numExpProgressBarTicks = expSinceLastLevel * 64 / expBetweenLevels; + if (numExpProgressBarTicks == 0 && expSinceLastLevel != 0) + numExpProgressBarTicks = 1; } else { - r6r7 = 0; + numExpProgressBarTicks = 0; } r9 = &pssData->bgTilemapBuffers[PSS_PAGE_SKILLS][1][0x255]; for (i = 0; i < 8; i++) { - if (r6r7 > 7) + if (numExpProgressBarTicks > 7) r9[i] = 0x206A; else - r9[i] = 0x2062 + (r6r7 % 8); - r6r7 -= 8; - if (r6r7 < 0) - r6r7 = 0; + r9[i] = 0x2062 + (numExpProgressBarTicks % 8); + numExpProgressBarTicks -= 8; + if (numExpProgressBarTicks < 0) + numExpProgressBarTicks = 0; } if (GetBgTilemapBuffer(1) == pssData->bgTilemapBuffers[PSS_PAGE_SKILLS][0]) @@ -3735,7 +3994,7 @@ static void CreateSetStatusSprite(void) if (*spriteId == 0xFF) { - *spriteId = CreateSprite(&gUnknown_0861D108, 64, 152, 0); + *spriteId = CreateSprite(&sSpriteTemplate_StatusCondition, 64, 152, 0); } anim = sub_81B205C(&pssData->currentMon); From f45c9e75db789c951b6e227ef3291c6801a92a55 Mon Sep 17 00:00:00 2001 From: Slawter666 <38655737+Slawter666@users.noreply.github.com> Date: Sun, 2 Sep 2018 14:49:29 +0100 Subject: [PATCH 158/234] Format templates in item_menu.c --- src/item_menu.c | 223 +++++++++++++++++++++++++++++++---- src/pokemon_summary_screen.c | 2 +- 2 files changed, 199 insertions(+), 26 deletions(-) diff --git a/src/item_menu.c b/src/item_menu.c index f58c2b8b3e..5fea1326ee 100755 --- a/src/item_menu.c +++ b/src/item_menu.c @@ -149,14 +149,57 @@ void sub_81AD6FC(u8 taskId); // .rodata -const struct BgTemplate gUnknown_08613F90[3] = { - {0, 0, 31, 0, 0, 1, 0}, - {1, 0, 30, 0, 0, 0, 0}, - {2, 3, 29, 0, 0, 2, 0} +const struct BgTemplate gUnknown_08613F90[3] = +{ + { + .bg = 0, + .charBaseIndex = 0, + .mapBaseIndex = 31, + .screenSize = 0, + .paletteMode = 0, + .priority = 1, + .baseTile = 0, + }, + { + .bg = 1, + .charBaseIndex = 0, + .mapBaseIndex = 30, + .screenSize = 0, + .paletteMode = 0, + .priority = 0, + .baseTile = 0, + }, + { + .bg = 2, + .charBaseIndex = 3, + .mapBaseIndex = 29, + .screenSize = 0, + .paletteMode = 0, + .priority = 2, + .baseTile = 0, + }, }; -const struct ListMenuTemplate gUnknown_08613F9C = { - NULL, bag_menu_change_item_callback, sub_81AB520, 0, 0, 0, 0, 8, 0, 1, 1, 0, 3, 0, 0, 0, 7, 0 +const struct ListMenuTemplate gUnknown_08613F9C = +{ + NULL, + bag_menu_change_item_callback, + sub_81AB520, + .totalItems = 0, + .maxShowed = 0, + .windowId = 0, + .header_X = 0, + .item_X = 8, + .cursor_X = 0, + .upText_Y = 1, + .cursorPal = 1, + .fillValue = 0, + .cursorShadowPal = 3, + .lettersSpacing = 0, + .itemVerticalPadding = 0, + .scrollMultiple = 0, + .fontId = 7, + .cursorKind = 0 }; const struct MenuAction gUnknown_08613FB4[] = { @@ -221,27 +264,157 @@ const u8 gUnknown_08614164[][3] = { {0, 14, 10} }; -const struct WindowTemplate gUnknown_08614174[] = { - {0, 14, 2, 15, 16, 1, 0x27}, - {0, 0, 13, 14, 6, 1, 0x117}, - {0, 4, 1, 8, 2, 1, 0x1A1}, - {0, 1, 13, 5, 6, 12, 0x16B}, - {0, 7, 13, 4, 6, 12, 0x189}, - {1, 2, 15, 27, 4, 15, 0x1B1}, - {0xFF, 0, 0, 0, 0, 0, 0} +const struct WindowTemplate gUnknown_08614174[] = +{ + { + .priority = 0, + .tilemapLeft = 14, + .tilemapTop = 2, + .width = 15, + .height = 16, + .paletteNum = 1, + .baseBlock = 0x27, + }, + { + .priority = 0, + .tilemapLeft = 0, + .tilemapTop = 13, + .width = 14, + .height = 6, + .paletteNum = 1, + .baseBlock = 0x117, + }, + { + .priority = 0, + .tilemapLeft = 4, + .tilemapTop = 1, + .width = 8, + .height = 2, + .paletteNum = 1, + .baseBlock = 0x1A1, + }, + { + .priority = 0, + .tilemapLeft = 1, + .tilemapTop = 13, + .width = 5, + .height = 6, + .paletteNum = 12, + .baseBlock = 0x16B, + }, + { + .priority = 0, + .tilemapLeft = 7, + .tilemapTop = 13, + .width = 4, + .height = 6, + .paletteNum = 12, + .baseBlock = 0x189, + }, + { + .priority = 1, + .tilemapLeft = 2, + .tilemapTop = 15, + .width = 27, + .height = 4, + .paletteNum = 15, + .baseBlock = 0x1B1, + }, + DUMMY_WIN_TEMPLATE, }; -const struct WindowTemplate gUnknown_086141AC[] = { - {1, 22, 17, 7, 2, 15, 0x21D}, - {1, 22, 15, 7, 4, 15, 0x21D}, - {1, 15, 15, 14, 4, 15, 0x21D}, - {1, 15, 13, 14, 6, 15, 0x21D}, - {1, 2, 15, 27, 4, 15, 0x1B1}, - {1, 24, 15, 5, 4, 15, 0x21D}, - {1, 21, 9, 5, 4, 15, 0x21D}, - {1, 24, 17, 5, 2, 15, 0x21D}, - {1, 18, 11, 10, 2, 15, 0x245}, - {1, 1, 1, 10, 2, 15, 0x231} +const struct WindowTemplate gUnknown_086141AC[] = +{ + { + .priority = 1, + .tilemapLeft = 22, + .tilemapTop = 17, + .width = 7, + .height = 2, + .paletteNum = 15, + .baseBlock = 0x21D, + }, + { + .priority = 1, + .tilemapLeft = 22, + .tilemapTop = 15, + .width = 7, + .height = 4, + .paletteNum = 15, + .baseBlock = 0x21D, + }, + { + .priority = 1, + .tilemapLeft = 15, + .tilemapTop = 15, + .width = 14, + .height = 4, + .paletteNum = 15, + .baseBlock = 0x21D, + }, + { + .priority = 1, + .tilemapLeft = 15, + .tilemapTop = 13, + .width = 14, + .height = 6, + .paletteNum = 15, + .baseBlock = 0x21D, + }, + { + .priority = 1, + .tilemapLeft = 2, + .tilemapTop = 15, + .width = 27, + .height = 4, + .paletteNum = 15, + .baseBlock = 0x1B1, + }, + { + .priority = 1, + .tilemapLeft = 24, + .tilemapTop = 15, + .width = 5, + .height = 4, + .paletteNum = 15, + .baseBlock = 0x21D, + }, + { + .priority = 1, + .tilemapLeft = 21, + .tilemapTop = 9, + .width = 5, + .height = 4, + .paletteNum = 15, + .baseBlock = 0x21D, + }, + { + .priority = 1, + .tilemapLeft = 24, + .tilemapTop = 17, + .width = 5, + .height = 2, + .paletteNum = 15, + .baseBlock = 0x21D, + }, + { + .priority = 1, + .tilemapLeft = 18, + .tilemapTop = 11, + .width = 10, + .height = 2, + .paletteNum = 15, + .baseBlock = 0x245, + }, + { + .priority = 1, + .tilemapLeft = 1, + .tilemapTop = 1, + .width = 10, + .height = 2, + .paletteNum = 15, + .baseBlock = 0x231, + }, }; // .text diff --git a/src/pokemon_summary_screen.c b/src/pokemon_summary_screen.c index 2c59cb57b5..6b51c6e07d 100644 --- a/src/pokemon_summary_screen.c +++ b/src/pokemon_summary_screen.c @@ -357,7 +357,7 @@ static const struct WindowTemplate gUnknown_0861CC24[] = .height = 2, .paletteNum = 7, .baseBlock = 89, - }, + }, { .priority = 0, .tilemapLeft = 22, From 3119aae4b2665052c38b3badaadddd34df91a7ba Mon Sep 17 00:00:00 2001 From: Slawter666 <38655737+Slawter666@users.noreply.github.com> Date: Sun, 2 Sep 2018 15:02:39 +0100 Subject: [PATCH 159/234] Format WindowTemplate in berry_tag_screen.c --- src/berry_tag_screen.c | 40 ++++++++++++++++++++++++++++++++++++---- 1 file changed, 36 insertions(+), 4 deletions(-) diff --git a/src/berry_tag_screen.c b/src/berry_tag_screen.c index fb4bf68177..0c13e7085a 100644 --- a/src/berry_tag_screen.c +++ b/src/berry_tag_screen.c @@ -101,10 +101,42 @@ static const u8 sTextColors[2][3] = static const struct WindowTemplate sWindowTemplates[] = { - {0x01, 0x0b, 0x04, 0x08, 0x02, 0x0f, 0x0045}, // WIN_BERRY_NAME - {0x01, 0x0b, 0x07, 0x12, 0x04, 0x0f, 0x0055}, // WIN_SIZE_FIRM - {0x01, 0x04, 0x0e, 0x19, 0x04, 0x0f, 0x009d}, // WIN_DESC - {0x00, 0x02, 0x00, 0x08, 0x02, 0x0f, 0x0101}, // WIN_BERRY_TAG + { // WIN_BERRY_NAME + .priority = 1, + .tilemapLeft = 11, + .tilemapTop = 4, + .width = 8, + .height = 2, + .paletteNum = 15, + .baseBlock = 69, + }, + { // WIN_SIZE_FIRM + .priority = 1, + .tilemapLeft = 11, + .tilemapTop = 7, + .width = 18, + .height = 4, + .paletteNum = 15, + .baseBlock = 85, + }, + { // WIN_DESC + .priority = 1, + .tilemapLeft = 4, + .tilemapTop = 14, + .width = 25, + .height = 4, + .paletteNum = 15, + .baseBlock = 157, + }, + { // WIN_BERRY_TAG + .priority = 0, + .tilemapLeft = 2, + .tilemapTop = 0, + .width = 8, + .height = 2, + .paletteNum = 15, + .baseBlock = 257, + }, DUMMY_WIN_TEMPLATE }; From c9db9b7a59cd2e4821eae59bf208807e9f70951d Mon Sep 17 00:00:00 2001 From: Slawter666 <38655737+Slawter666@users.noreply.github.com> Date: Sun, 2 Sep 2018 15:14:23 +0100 Subject: [PATCH 160/234] Format WindowTemplate in berry_blender.c --- src/berry_blender.c | 68 ++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 61 insertions(+), 7 deletions(-) diff --git a/src/berry_blender.c b/src/berry_blender.c index 02df933f29..c905a2422d 100644 --- a/src/berry_blender.c +++ b/src/berry_blender.c @@ -322,18 +322,72 @@ static const struct BgTemplate sBerryBlenderBgTemplates[3] = static const struct WindowTemplate sBerryBlender_WindowTemplates[] = { - {0, 1, 6, 7, 2, 0xE, 0x28}, - {0, 0x16, 6, 7, 2, 0xE, 0x36}, - {0, 1, 0xC, 7, 2, 0xE, 0x44}, - {0, 0x16, 0xC, 7, 2, 0xE, 0x52}, - {0, 2, 0xF, 0x1B, 4, 0xE, 0x60}, - {0, 5, 3, 0x15, 0xE, 0xE, 0x60}, + { + .priority = 0, + .tilemapLeft = 1, + .tilemapTop = 6, + .width = 7, + .height = 2, + .paletteNum = 14, + .baseBlock = 0x28, + }, + { + .priority = 0, + .tilemapLeft = 22, + .tilemapTop = 6, + .width = 7, + .height = 2, + .paletteNum = 14, + .baseBlock = 0x36, + }, + { + .priority = 0, + .tilemapLeft = 1, + .tilemapTop = 12, + .width = 7, + .height = 2, + .paletteNum = 14, + .baseBlock = 0x44, + }, + { + .priority = 0, + .tilemapLeft = 22, + .tilemapTop = 12, + .width = 7, + .height = 2, + .paletteNum = 14, + .baseBlock = 0x52, + }, + { + .priority = 0, + .tilemapLeft = 2, + .tilemapTop = 15, + .width = 27, + .height = 4, + .paletteNum = 14, + .baseBlock = 0x60, + }, + { + .priority = 0, + .tilemapLeft = 5, + .tilemapTop = 3, + .width = 21, + .height = 14, + .paletteNum = 14, + .baseBlock = 0x60, + }, DUMMY_WIN_TEMPLATE }; static const struct WindowTemplate sBlender_YesNoWindowTemplate = { - 0, 0x15, 9, 5, 4, 0xE, 0xCC + .priority = 0, + .tilemapLeft = 21, + .tilemapTop = 9, + .width = 5, + .height = 4, + .paletteNum = 14, + .baseBlock = 0xCC }; static const s8 sUnknown_083399C0[][2] = From c1b3dfa15a353ec52d8c37c25b6a9c9be9f05b0f Mon Sep 17 00:00:00 2001 From: Slawter666 <38655737+Slawter666@users.noreply.github.com> Date: Sun, 2 Sep 2018 16:10:06 +0100 Subject: [PATCH 161/234] Format templates in wallclock.c --- src/berry_blender.c | 11 ++++- src/wallclock.c | 103 ++++++++++++++++++++++++++++---------------- 2 files changed, 76 insertions(+), 38 deletions(-) diff --git a/src/berry_blender.c b/src/berry_blender.c index c905a2422d..96c3a933d7 100644 --- a/src/berry_blender.c +++ b/src/berry_blender.c @@ -844,7 +844,16 @@ static const u8 sUnknown_08339CD2[] = 0x05, 0x03, 0x03, 0x03, 0x02, 0x02, 0x03, 0x03, 0x03, 0x03, 0x02 }; -static const struct WindowTemplate sBlenderRecordWindowTemplate = {0, 6, 4, 0x12, 0xB, 0xF, 8}; +static const struct WindowTemplate sBlenderRecordWindowTemplate = +{ + .priority = 0, + .tilemapLeft = 6, + .tilemapTop = 4, + .width = 18, + .height = 11, + .paletteNum = 15, + .baseBlock = 8 +}; // code diff --git a/src/wallclock.c b/src/wallclock.c index 5be20d5c9c..f3feab1d4d 100644 --- a/src/wallclock.c +++ b/src/wallclock.c @@ -59,13 +59,38 @@ static void SpriteCB_PMIndicator(struct Sprite *sprite); static const u8 sUnknown_085B1F58[] = INCBIN_U8("graphics/wallclock/graphics_85b1f58.4bpp.lz"); static const u16 sUnknown_085B21D4[] = INCBIN_U16("graphics/wallclock/palette_85b21d4.gbapal"); -static const struct WindowTemplate gUnknown_085B21DC[] = { - { 0x00, 0x03, 0x11, 0x18, 0x02, 0x0e, 0x200 }, - { 0x02, 0x18, 0x10, 0x06, 0x02, 0x0c, 0x230 }, + +static const struct WindowTemplate gUnknown_085B21DC[] = +{ + { + .priority = 0, + .tilemapLeft = 3, + .tilemapTop = 17, + .width = 24, + .height = 2, + .paletteNum = 14, + .baseBlock = 512 + }, + { + .priority = 2, + .tilemapLeft = 24, + .tilemapTop = 16, + .width = 6, + .height = 2, + .paletteNum = 12, + .baseBlock = 560 + }, DUMMY_WIN_TEMPLATE }; -static const struct WindowTemplate gUnknown_085B21F4 = { - 0x00, 0x18, 0x09, 0x05, 0x04, 0x0e, 0x23c +static const struct WindowTemplate gUnknown_085B21F4 = +{ + .priority = 0, + .tilemapLeft = 24, + .tilemapTop = 9, + .width = 5, + .height = 4, + .paletteNum = 14, + .baseBlock = 572 }; static const struct BgTemplate gUnknown_085B21FC[] = { { @@ -115,23 +140,25 @@ static const union AnimCmd *const gUnknown_085B2248[] = { static const union AnimCmd *const gUnknown_085B224C[] = { Unknown_085B2240 }; -static const struct SpriteTemplate gUnknown_085B2250 = { - TAG_GFX_WALL_CLOCK_HAND, - TAG_PAL_WALL_CLOCK_HAND, - &Unknown_085B2230, - gUnknown_085B2248, - NULL, - gDummySpriteAffineAnimTable, - SpriteCB_MinuteHand +static const struct SpriteTemplate gUnknown_085B2250 = +{ + .tileTag = TAG_GFX_WALL_CLOCK_HAND, + .paletteTag = TAG_PAL_WALL_CLOCK_HAND, + .oam = &Unknown_085B2230, + .anims = gUnknown_085B2248, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCB_MinuteHand }; -static const struct SpriteTemplate gUnknown_085B2268 = { - TAG_GFX_WALL_CLOCK_HAND, - TAG_PAL_WALL_CLOCK_HAND, - &Unknown_085B2230, - gUnknown_085B224C, - NULL, - gDummySpriteAffineAnimTable, - SpriteCB_HourHand +static const struct SpriteTemplate gUnknown_085B2268 = +{ + .tileTag = TAG_GFX_WALL_CLOCK_HAND, + .paletteTag = TAG_PAL_WALL_CLOCK_HAND, + .oam = &Unknown_085B2230, + .anims = gUnknown_085B224C, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCB_HourHand }; static const struct OamData Unknown_085B2280 = { .y = 0xa0, @@ -152,23 +179,25 @@ static const union AnimCmd *const gUnknown_085B2298[] = { static const union AnimCmd *const gUnknown_085B229C[] = { Unknown_085B2290 }; -static const struct SpriteTemplate gUnknown_085B22A0 = { - TAG_GFX_WALL_CLOCK_HAND, - TAG_PAL_WALL_CLOCK_HAND, - &Unknown_085B2280, - gUnknown_085B2298, - NULL, - gDummySpriteAffineAnimTable, - SpriteCB_AMIndicator +static const struct SpriteTemplate gUnknown_085B22A0 = +{ + .tileTag = TAG_GFX_WALL_CLOCK_HAND, + .paletteTag = TAG_PAL_WALL_CLOCK_HAND, + .oam = &Unknown_085B2280, + .anims = gUnknown_085B2298, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCB_AMIndicator }; -static const struct SpriteTemplate gUnknown_085B22B8 = { - TAG_GFX_WALL_CLOCK_HAND, - TAG_PAL_WALL_CLOCK_HAND, - &Unknown_085B2280, - gUnknown_085B229C, - NULL, - gDummySpriteAffineAnimTable, - SpriteCB_PMIndicator +static const struct SpriteTemplate gUnknown_085B22B8 = +{ + .tileTag = TAG_GFX_WALL_CLOCK_HAND, + .paletteTag = TAG_PAL_WALL_CLOCK_HAND, + .oam = &Unknown_085B2280, + .anims = gUnknown_085B229C, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCB_PMIndicator }; static const s8 sClockHandCoords[][2] = { { 0x00, -0x18}, From 61061548016a66bc1d981e7c5c77f6a849f1486c Mon Sep 17 00:00:00 2001 From: Slawter666 <38655737+Slawter666@users.noreply.github.com> Date: Sun, 2 Sep 2018 16:26:23 +0100 Subject: [PATCH 162/234] Format WindowTemplate in battle_pyramid_bag.c --- src/battle_pyramid_bag.c | 90 ++++++++++++++++++++++++++++++++++++---- src/item_menu.c | 6 +-- 2 files changed, 84 insertions(+), 12 deletions(-) diff --git a/src/battle_pyramid_bag.c b/src/battle_pyramid_bag.c index 8a5ce7a99a..6629e6a0a0 100644 --- a/src/battle_pyramid_bag.c +++ b/src/battle_pyramid_bag.c @@ -193,20 +193,92 @@ static const u8 sColorTable[][3] = static const struct WindowTemplate gUnknown_0861F328[] = { - {0x00, 0x0e, 0x02, 0x0f, 0x10, 0x0f, 0x001e}, - {0x00, 0x00, 0x0d, 0x0e, 0x06, 0x0f, 0x010e}, - {0x01, 0x02, 0x0f, 0x1b, 0x04, 0x0f, 0x0162}, - {0x01, 0x18, 0x11, 0x05, 0x02, 0x0f, 0x01ce}, + { + .priority = 0, + .tilemapLeft = 14, + .tilemapTop = 2, + .width = 15, + .height = 16, + .paletteNum = 15, + .baseBlock = 30 + }, + { + .priority = 0, + .tilemapLeft = 0, + .tilemapTop = 13, + .width = 14, + .height = 6, + .paletteNum = 15, + .baseBlock = 270 + }, + { + .priority = 1, + .tilemapLeft = 2, + .tilemapTop = 15, + .width = 27, + .height = 4, + .paletteNum = 15, + .baseBlock = 354 + }, + { + .priority = 1, + .tilemapLeft = 24, + .tilemapTop = 17, + .width = 5, + .height = 2, + .paletteNum = 15, + .baseBlock = 462 + }, DUMMY_WIN_TEMPLATE, }; static const struct WindowTemplate gUnknown_0861F350[] = { - {0x01, 0x16, 0x11, 0x07, 0x02, 0x0f, 0x01d8}, - {0x01, 0x16, 0x0f, 0x07, 0x04, 0x0f, 0x01d8}, - {0x01, 0x0f, 0x0f, 0x0e, 0x04, 0x0f, 0x01d8}, - {0x01, 0x0f, 0x0d, 0x0e, 0x06, 0x0f, 0x01d8}, - {0x01, 0x18, 0x0f, 0x05, 0x04, 0x0f, 0x01d8}, + { + .priority = 1, + .tilemapLeft = 22, + .tilemapTop = 17, + .width = 7, + .height = 2, + .paletteNum = 15, + .baseBlock = 472 + }, + { + .priority = 1, + .tilemapLeft = 22, + .tilemapTop = 15, + .width = 7, + .height = 4, + .paletteNum = 15, + .baseBlock = 472 + }, + { + .priority = 1, + .tilemapLeft = 15, + .tilemapTop = 15, + .width = 14, + .height = 4, + .paletteNum = 15, + .baseBlock = 472 + }, + { + .priority = 1, + .tilemapLeft = 15, + .tilemapTop = 13, + .width = 14, + .height = 6, + .paletteNum = 15, + .baseBlock = 472 + }, + { + .priority = 1, + .tilemapLeft = 24, + .tilemapTop = 15, + .width = 5, + .height = 4, + .paletteNum = 15, + .baseBlock = 472 + }, }; extern const struct CompressedSpriteSheet gUnknown_0861F3CC; diff --git a/src/item_menu.c b/src/item_menu.c index 5fea1326ee..196ba94740 100755 --- a/src/item_menu.c +++ b/src/item_menu.c @@ -182,9 +182,9 @@ const struct BgTemplate gUnknown_08613F90[3] = const struct ListMenuTemplate gUnknown_08613F9C = { - NULL, - bag_menu_change_item_callback, - sub_81AB520, + .items = NULL, + .moveCursorFunc = bag_menu_change_item_callback, + .itemPrintFunc = sub_81AB520, .totalItems = 0, .maxShowed = 0, .windowId = 0, From 10eb952db5d52dbbcba98314f6042e981de2f942 Mon Sep 17 00:00:00 2001 From: DizzyEggg <jajkodizzy@wp.pl> Date: Sun, 2 Sep 2018 18:10:36 +0200 Subject: [PATCH 163/234] Start battle factory --- asm/battle_frontier_2.s | 735 +--------------------------- include/constants/battle_frontier.h | 1 + src/battle_frontier_2.c | 337 +++++++++++++ 3 files changed, 342 insertions(+), 731 deletions(-) create mode 100644 src/battle_frontier_2.c diff --git a/asm/battle_frontier_2.s b/asm/battle_frontier_2.s index 1a2233a977..ebf2008111 100644 --- a/asm/battle_frontier_2.s +++ b/asm/battle_frontier_2.s @@ -5,736 +5,9 @@ .text - thumb_func_start sub_819A44C -sub_819A44C: @ 819A44C - push {r4,r5,lr} - adds r5, r0, 0 - ldrb r4, [r5, 0x5] - lsrs r4, 4 - movs r0, 0x65 - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsls r4, 16 - lsrs r4, 16 - lsrs r0, 24 - cmp r4, r0 - bne _0819A4BA - adds r0, r5, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _0819A4B0 - ldrh r1, [r5, 0x2E] - movs r2, 0x2E - ldrsh r0, [r5, r2] - cmp r0, 0 - beq _0819A484 - subs r0, r1, 0x1 - strh r0, [r5, 0x2E] - b _0819A4C2 -_0819A484: - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x5 - bl __umodsi3 - lsls r0, 16 - cmp r0, 0 - bne _0819A4A6 - adds r0, r5, 0 - movs r1, 0 - bl StartSpriteAnim - movs r0, 0x20 - strh r0, [r5, 0x2E] - b _0819A4C2 -_0819A4A6: - adds r0, r5, 0 - movs r1, 0x1 - bl StartSpriteAnim - b _0819A4C2 -_0819A4B0: - adds r0, r5, 0 - movs r1, 0x1 - bl StartSpriteAnimIfDifferent - b _0819A4C2 -_0819A4BA: - adds r0, r5, 0 - movs r1, 0 - bl StartSpriteAnimIfDifferent -_0819A4C2: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_819A44C - thumb_func_start sub_819A4C8 -sub_819A4C8: @ 819A4C8 - push {lr} - bl AnimateSprites - bl BuildOamBuffer - bl RunTextPrinters - bl UpdatePaletteFade - bl RunTasks - pop {r0} - bx r0 - thumb_func_end sub_819A4C8 + - thumb_func_start sub_819A4E4 -sub_819A4E4: @ 819A4E4 - push {lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - pop {r0} - bx r0 - thumb_func_end sub_819A4E4 - - thumb_func_start sub_819A4F8 -sub_819A4F8: @ 819A4F8 - push {lr} - ldr r0, =gUnknown_0300127C - movs r1, 0 - str r1, [r0] - ldr r0, =sub_819A514 - bl SetMainCallback2 - pop {r0} - bx r0 - .pool - thumb_func_end sub_819A4F8 - - thumb_func_start sub_819A514 -sub_819A514: @ 819A514 - push {r4,r5,lr} - sub sp, 0xC - ldr r0, =gMain - movs r1, 0x87 - lsls r1, 3 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0xA - bls _0819A528 - b _0819A98E -_0819A528: - lsls r0, 2 - ldr r1, =_0819A53C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0819A53C: - .4byte _0819A568 - .4byte _0819A5C0 - .4byte _0819A69C - .4byte _0819A77C - .4byte _0819A7CC - .4byte _0819A868 - .4byte _0819A8A4 - .4byte _0819A8AC - .4byte _0819A8C4 - .4byte _0819A8DC - .4byte _0819A8FC -_0819A568: - ldr r4, =gUnknown_0203CE3C - ldr r0, [r4] - cmp r0, 0 - beq _0819A578 - bl Free - movs r0, 0 - str r0, [r4] -_0819A578: - movs r0, 0 - bl SetHBlankCallback - movs r0, 0 - bl SetVBlankCallback - movs r0, 0 - str r0, [sp, 0x8] - movs r1, 0xC0 - lsls r1, 19 - ldr r2, =0x05006000 - add r0, sp, 0x8 - bl CpuSet - movs r0, 0 - bl ResetBgsAndClearDma3BusyFlags - ldr r1, =gUnknown_08610428 - movs r0, 0 - movs r2, 0x3 - bl InitBgsFromTemplates - ldr r0, =gUnknown_08610434 - bl InitWindows - bl DeactivateAllTextPrinters - b _0819A8E6 - .pool -_0819A5C0: - ldr r5, =gUnknown_0203CE2C - movs r4, 0x88 - lsls r4, 3 - adds r0, r4, 0 - bl Alloc - str r0, [r5] - ldr r5, =gUnknown_0203CE30 - adds r0, r4, 0 - bl AllocZeroed - str r0, [r5] - ldr r5, =gUnknown_0203CE34 - movs r4, 0x80 - lsls r4, 4 - adds r0, r4, 0 - bl Alloc - str r0, [r5] - ldr r5, =gUnknown_0203CE38 - adds r0, r4, 0 - bl AllocZeroed - str r0, [r5] - 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 - movs r0, 0x3 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x3 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg - movs r0, 0x54 - movs r1, 0 - bl SetGpuReg - movs r0, 0x4C - movs r1, 0 - bl SetGpuReg - movs r0, 0x40 - movs r1, 0 - bl SetGpuReg - movs r0, 0x44 - movs r1, 0 - bl SetGpuReg - movs r0, 0x42 - movs r1, 0 - bl SetGpuReg - movs r0, 0x46 - movs r1, 0 - bl SetGpuReg - movs r0, 0x48 - movs r1, 0 - bl SetGpuReg - movs r0, 0x4A - movs r1, 0 - bl SetGpuReg - ldr r1, =gMain - movs r3, 0x87 - lsls r3, 3 - adds r1, r3 - b _0819A8EE - .pool -_0819A69C: - bl ResetPaletteFade - bl ResetSpriteData - bl ResetTasks - bl FreeAllSpritePalettes - ldr r0, =gFrontierFactorySelectMenu_Gfx - ldr r5, =gUnknown_0203CE2C - ldr r1, [r5] - movs r2, 0x88 - lsls r2, 2 - bl CpuSet - ldr r0, =gUnknown_0861033C - ldr r4, =gUnknown_0203CE30 - ldr r1, [r4] - movs r2, 0x30 - bl CpuSet - ldr r1, [r5] - movs r2, 0x88 - lsls r2, 3 - movs r0, 0x1 - movs r3, 0 - bl LoadBgTiles - ldr r1, [r4] - movs r0, 0x3 - movs r2, 0x60 - movs r3, 0 - bl LoadBgTiles - ldr r0, =gFrontierFactorySelectMenu_Tilemap - ldr r4, =gUnknown_0203CE34 - ldr r1, [r4] - movs r2, 0x80 - lsls r2, 3 - bl CpuSet - ldr r1, [r4] - movs r2, 0x80 - lsls r2, 4 - movs r0, 0x1 - movs r3, 0 - bl LoadBgTilemap - ldr r0, =gFrontierFactorySelectMenu_Pal - movs r1, 0 - movs r2, 0x40 - bl LoadPalette - ldr r4, =gUnknown_0861046C - adds r0, r4, 0 - movs r1, 0xF0 - movs r2, 0x8 - bl LoadPalette - adds r0, r4, 0 - movs r1, 0xE0 - movs r2, 0xA - bl LoadPalette - ldr r0, =gUnknown_0300127C - ldr r1, [r0] - ldrb r0, [r1, 0x6] - cmp r0, 0x1 - bne _0819A738 - ldr r0, =gPlttBufferUnfaded - movs r2, 0xA9 - lsls r2, 2 - adds r1, r2 - ldrh r1, [r1] - movs r3, 0xE4 - lsls r3, 1 - adds r0, r3 - strh r1, [r0] -_0819A738: - ldr r0, =gUnknown_0861039C - movs r1, 0x20 - movs r2, 0x4 - bl LoadPalette - ldr r1, =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 - b _0819A8EE - .pool -_0819A77C: - ldr r0, =gUnknown_0203CE38 - ldr r1, [r0] - movs r0, 0x3 - bl SetBgTilemapBuffer - ldr r5, =gUnknown_0861023C - movs r4, 0x8 - str r4, [sp] - str r4, [sp, 0x4] - movs r0, 0x3 - adds r1, r5, 0 - movs r2, 0xB - movs r3, 0x4 - bl CopyToBgTilemapBufferRect - str r4, [sp] - str r4, [sp, 0x4] - movs r0, 0x3 - adds r1, r5, 0 - movs r2, 0x2 - movs r3, 0x4 - bl CopyToBgTilemapBufferRect - str r4, [sp] - str r4, [sp, 0x4] - movs r0, 0x3 - adds r1, r5, 0 - movs r2, 0x14 - movs r3, 0x4 - bl CopyToBgTilemapBufferRect - movs r0, 0x3 - bl CopyBgTilemapBufferToVram - b _0819A8E6 - .pool -_0819A7CC: - ldr r0, =gUnknown_086103F4 - bl LoadSpritePalettes - ldr r0, =gUnknown_086103BC - bl LoadSpriteSheets - ldr r0, =gUnknown_086103E4 - bl LoadCompressedObjectPic - movs r0, 0 - bl ShowBg - movs r0, 0x1 - bl ShowBg - ldr r0, =sub_819A4E4 - bl SetVBlankCallback - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - movs r1, 0x9A - lsls r1, 5 - movs r0, 0 - bl SetGpuReg - ldr r0, =gUnknown_0300127C - ldr r0, [r0] - ldrb r0, [r0, 0x6] - cmp r0, 0x1 - bne _0819A854 - movs r0, 0x58 - movs r1, 0x98 - movs r2, 0x20 - movs r3, 0x60 - bl sub_819C5D0 - movs r0, 0x3 - bl ShowBg - ldr r1, =0x00001248 - movs r0, 0x50 - bl SetGpuReg - ldr r1, =0x0000040b - movs r0, 0x52 - bl SetGpuReg - b _0819A85A - .pool -_0819A854: - movs r0, 0x3 - bl HideBg -_0819A85A: - ldr r1, =gMain - movs r3, 0x87 - lsls r3, 3 - adds r1, r3 - b _0819A8EE - .pool -_0819A868: - ldr r4, =gUnknown_0300127C - ldr r1, [r4] - ldrb r0, [r1, 0x6] - cmp r0, 0x1 - bne _0819A878 - ldr r0, =gUnknown_0203CF20 - ldrb r0, [r0] - strb r0, [r1, 0x3] -_0819A878: - bl sub_819A9AC - bl sub_819AA18 - ldr r0, [r4] - ldrb r0, [r0, 0x6] - cmp r0, 0x1 - bne _0819A88C - bl sub_819BE34 -_0819A88C: - ldr r1, =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 - b _0819A8EE - .pool -_0819A8A4: - bl sub_819BA64 - movs r0, 0x2 - b _0819A8E2 -_0819A8AC: - bl sub_819BCF8 - movs r0, 0x5 - bl PutWindowTilemap - ldr r1, =gMain - movs r3, 0x87 - lsls r3, 3 - adds r1, r3 - b _0819A8EE - .pool -_0819A8C4: - bl sub_819B9E8 - movs r0, 0x1 - bl PutWindowTilemap - ldr r1, =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 - b _0819A8EE - .pool -_0819A8DC: - bl sub_819B9B4 - movs r0, 0 -_0819A8E2: - bl PutWindowTilemap -_0819A8E6: - ldr r1, =gMain - movs r2, 0x87 - lsls r2, 3 - adds r1, r2 -_0819A8EE: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _0819A98E - .pool -_0819A8FC: - ldr r0, =sub_819C69C - movs r1, 0 - bl CreateTask - ldr r2, =gUnknown_0300127C - ldr r1, [r2] - ldr r3, =0x000002a1 - adds r1, r3 - strb r0, [r1] - ldr r3, [r2] - ldrb r5, [r3, 0x6] - cmp r5, 0 - bne _0819A954 - ldr r4, =gTasks - ldr r1, =0x000002a1 - adds r0, r3, r1 - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r4 - strh r5, [r0, 0x8] - ldr r0, =sub_819B378 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r1, r0, 24 - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r4 - strh r5, [r0, 0x8] - b _0819A988 - .pool -_0819A954: - ldr r4, =gTasks - ldr r2, =0x000002a1 - adds r0, r3, r2 - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r4 - movs r2, 0 - movs r1, 0x1 - strh r1, [r0, 0x8] - ldr r1, =0x000002a2 - adds r0, r3, r1 - strb r2, [r0] - ldr r0, =sub_819B124 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r1, r0, 24 - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r4 - movs r1, 0xD - strh r1, [r0, 0x8] -_0819A988: - ldr r0, =sub_819A4C8 - bl SetMainCallback2 -_0819A98E: - add sp, 0xC - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_819A514 - - thumb_func_start sub_819A9AC -sub_819A9AC: @ 819A9AC - push {r4,r5,lr} - ldr r5, =gUnknown_0300127C - ldr r4, [r5] - cmp r4, 0 - bne _0819AA12 - movs r0, 0xAB - lsls r0, 2 - bl AllocZeroed - str r0, [r5] - strb r4, [r0, 0x3] - ldr r1, [r5] - movs r0, 0x1 - strb r0, [r1, 0x5] - ldr r0, [r5] - strb r4, [r0, 0x6] - movs r2, 0 - movs r4, 0x6C - movs r3, 0 -_0819A9D2: - ldr r0, [r5] - adds r1, r2, 0 - muls r1, r4 - adds r0, r1 - strb r3, [r0, 0x10] - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x5 - bls _0819A9D2 - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r1, =0x00000ca9 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0x2 - beq _0819AA0C - movs r0, 0 - bl sub_819B484 - b _0819AA12 - .pool -_0819AA0C: - movs r0, 0 - bl sub_819B63C -_0819AA12: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_819A9AC - - thumb_func_start sub_819AA18 -sub_819AA18: @ 819AA18 - push {r4-r7,lr} - mov r7, r8 - push {r7} - movs r4, 0 - mov r8, r4 - ldr r7, =gSprites -_0819AA24: - lsls r1, r4, 3 - adds r1, r4 - lsls r1, 2 - subs r1, r4 - adds r1, 0x20 - lsls r1, 16 - asrs r1, 16 - ldr r0, =gUnknown_086105D8 - movs r2, 0x40 - movs r3, 0x1 - bl CreateSprite - ldr r6, =gUnknown_0300127C - ldr r2, [r6] - movs r5, 0x6C - adds r1, r4, 0 - muls r1, r5 - adds r2, r1 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r2, 0xE] - ldrh r1, [r2, 0xE] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - mov r1, r8 - strh r1, [r0, 0x2E] - adds r0, r4, 0 - bl sub_819ADAC - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x5 - bls _0819AA24 - ldr r0, [r6] - ldrb r1, [r0, 0x3] - ldr r4, =gSprites - muls r1, r5 - adds r0, r1 - ldrh r0, [r0, 0xE] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - ldr r0, =gUnknown_086105F0 - movs r2, 0x20 - ldrsh r1, [r1, r2] - movs r2, 0x58 - movs r3, 0 - bl CreateSprite - ldr r1, [r6] - movs r5, 0 - strb r0, [r1, 0x4] - ldr r0, =gUnknown_08610608 - movs r1, 0xB0 - movs r2, 0x70 - movs r3, 0 - bl CreateSprite - ldr r1, [r6] - strb r0, [r1, 0x1] - ldr r0, =gUnknown_08610620 - movs r1, 0xB0 - movs r2, 0x90 - movs r3, 0 - bl CreateSprite - ldr r1, [r6] - strb r0, [r1, 0x2] - ldr r0, [r6] - ldrb r1, [r0, 0x1] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - ldr r0, [r6] - ldrb r1, [r0, 0x2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r0, 0x3E - ldrb r1, [r0] - orrs r1, r2 - strb r1, [r0] - ldr r0, [r6] - ldrb r1, [r0, 0x1] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r0, 0x28 - strb r5, [r0] - ldr r0, [r6] - ldrb r1, [r0, 0x1] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r0, 0x29 - strb r5, [r0] - ldr r0, [r6] - ldrb r1, [r0, 0x2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r0, 0x28 - strb r5, [r0] - ldr r0, [r6] - ldrb r1, [r0, 0x2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r0, 0x29 - strb r5, [r0] - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_819AA18 thumb_func_start sub_819AB40 sub_819AB40: @ 819AB40 @@ -1059,8 +332,8 @@ _0819AD9C: .pool thumb_func_end sub_819ACE0 - thumb_func_start sub_819ADAC -sub_819ADAC: @ 819ADAC + thumb_func_start SetBallSpritePaletteNum +SetBallSpritePaletteNum: @ 819ADAC push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 @@ -1102,7 +375,7 @@ _0819ADCE: pop {r0} bx r0 .pool - thumb_func_end sub_819ADAC + thumb_func_end SetBallSpritePaletteNum thumb_func_start sub_819AE08 sub_819AE08: @ 819AE08 diff --git a/include/constants/battle_frontier.h b/include/constants/battle_frontier.h index fddcdc8fe2..1cd750a3dc 100644 --- a/include/constants/battle_frontier.h +++ b/include/constants/battle_frontier.h @@ -13,6 +13,7 @@ // Battle Frontier lvl modes. #define FRONTIER_LVL_50 0 #define FRONTIER_LVL_OPEN 1 +#define FRONTIER_LVL_TENT 2 // Battle Frontier battle modes. #define FRONTIER_MODE_SINGLES 0 diff --git a/src/battle_frontier_2.c b/src/battle_frontier_2.c new file mode 100644 index 0000000000..958aa46921 --- /dev/null +++ b/src/battle_frontier_2.c @@ -0,0 +1,337 @@ +#include "global.h" +#include "sprite.h" +#include "event_data.h" +#include "overworld.h" +#include "random.h" +#include "battle_tower.h" +#include "text.h" +#include "palette.h" +#include "task.h" +#include "main.h" +#include "malloc.h" +#include "bg.h" +#include "gpu_regs.h" +#include "window.h" +#include "decompress.h" +#include "constants/battle_frontier.h" + +#define SELECTABLE_MONS_COUNT 6 +#define TAG_PAL_BALL_GREY 0x64 +#define TAG_PAL_BALL_SELECTED 0x65 + +struct FactorySelecteableMon +{ + u16 unk0; + u16 spriteId; + bool8 selected; + u8 filler6[0x6A - 6]; + u8 unk6A; +}; + +struct UnkStructTempName +{ + u8 menuCursorPos; + u8 unk1; + u8 unk2; + u8 cursorPos; + u8 unk4; + u8 unk5; + bool8 fromSummaryScreen; + u8 unk7; + u8 unk8; + u8 unk9; + struct FactorySelecteableMon mons[SELECTABLE_MONS_COUNT]; + u8 filler294[0x2a1 - 0x294]; + u8 unk2A1; + u8 unk2A2; + u8 unk2A3; + u16 unk2A4; + u16 unk2A6; + u16 unk2A8; + u16 unk2AA; +}; + +extern struct UnkStructTempName *gUnknown_0300127C; +extern u8 *gUnknown_0203CE2C; +extern u8 *gUnknown_0203CE30; +extern u8 *gUnknown_0203CE34; +extern u8 *gUnknown_0203CE38; +extern struct Pokemon *gUnknown_0203CE3C; +extern u8 gUnknown_0203CF20; + +// This file's functions. +void sub_819A514(void); +void sub_819C5D0(u16 mWin0H, u16 nWin0H, u16 mWin0V, u16 nWin0V); +void sub_819A9AC(void); +void sub_819AA18(void); +void sub_819BE34(void); +void sub_819BA64(void); +void sub_819BCF8(void); +void sub_819B9E8(void); +void sub_819B9B4(void); +void sub_819C69C(u8 taskId); +void sub_819B378(u8 taskId); +void sub_819B124(u8 taskId); +void sub_819B484(u8 arg0); +void sub_819B63C(u8 arg0); +void SetBallSpritePaletteNum(u8 id); + +// Const rom data. +extern const struct BgTemplate gUnknown_08610428[3]; +extern const struct WindowTemplate gUnknown_08610434[]; +extern const u8 gUnknown_0861033C[]; +extern const u8 gUnknown_0861023C[]; +extern const u16 gUnknown_0861046C[]; +extern const u16 gUnknown_0861039C[]; +extern const struct SpritePalette gUnknown_086103F4[]; +extern const struct SpriteSheet gUnknown_086103BC[]; +extern const struct CompressedSpriteSheet gUnknown_086103E4[]; +extern const struct SpriteTemplate gUnknown_086105D8; + +// gfx +extern const u8 gFrontierFactorySelectMenu_Gfx[]; +extern const u8 gFrontierFactorySelectMenu_Tilemap[]; +extern const u16 gFrontierFactorySelectMenu_Pal[]; + +// code +void sub_819A44C(struct Sprite *sprite) +{ + if (sprite->oam.paletteNum == IndexOfSpritePaletteTag(TAG_PAL_BALL_SELECTED)) + { + if (sprite->animEnded) + { + if (sprite->data[0] != 0) + { + sprite->data[0]--; + } + else if (Random() % 5 == 0) + { + StartSpriteAnim(sprite, 0); + sprite->data[0] = 32; + } + else + { + StartSpriteAnim(sprite, 1); + } + } + else + { + StartSpriteAnimIfDifferent(sprite, 1); + } + } + else + { + StartSpriteAnimIfDifferent(sprite, 0); + } +} + +void sub_819A4C8(void) +{ + AnimateSprites(); + BuildOamBuffer(); + RunTextPrinters(); + UpdatePaletteFade(); + RunTasks(); +} + +void sub_819A4E4(void) +{ + LoadOam(); + ProcessSpriteCopyRequests(); + TransferPlttBuffer(); +} + +void sub_819A4F8(void) +{ + gUnknown_0300127C = NULL; + SetMainCallback2(sub_819A514); +} + +void sub_819A514(void) +{ + u8 taskId; + + switch (gMain.state) + { + case 0: + if (gUnknown_0203CE3C != NULL) + FREE_AND_SET_NULL(gUnknown_0203CE3C); + SetHBlankCallback(NULL); + SetVBlankCallback(NULL); + CpuFill32(0, (void *)VRAM, VRAM_SIZE); + ResetBgsAndClearDma3BusyFlags(0); + InitBgsFromTemplates(0, gUnknown_08610428, ARRAY_COUNT(gUnknown_08610428)); + InitWindows(gUnknown_08610434); + DeactivateAllTextPrinters(); + gMain.state++; + break; + case 1: + gUnknown_0203CE2C = Alloc(0x440); + gUnknown_0203CE30 = AllocZeroed(0x440); + gUnknown_0203CE34 = Alloc(0x800); + gUnknown_0203CE38 = AllocZeroed(0x800); + ChangeBgX(0, 0, 0); + ChangeBgY(0, 0, 0); + ChangeBgX(1, 0, 0); + ChangeBgY(1, 0, 0); + ChangeBgX(3, 0, 0); + ChangeBgY(3, 0, 0); + SetGpuReg(REG_OFFSET_BLDCNT, 0); + SetGpuReg(REG_OFFSET_BLDALPHA, 0); + SetGpuReg(REG_OFFSET_BLDY, 0); + SetGpuReg(REG_OFFSET_MOSAIC, 0); + SetGpuReg(REG_OFFSET_WIN0H, 0); + SetGpuReg(REG_OFFSET_WIN0V, 0); + SetGpuReg(REG_OFFSET_WIN1H, 0); + SetGpuReg(REG_OFFSET_WIN1V, 0); + SetGpuReg(REG_OFFSET_WININ, 0); + SetGpuReg(REG_OFFSET_WINOUT, 0); + gMain.state++; + break; + case 2: + ResetPaletteFade(); + ResetSpriteData(); + ResetTasks(); + FreeAllSpritePalettes(); + CpuCopy16(gFrontierFactorySelectMenu_Gfx, gUnknown_0203CE2C, 0x440); + CpuCopy16(gUnknown_0861033C, gUnknown_0203CE30, 0x60); + LoadBgTiles(1, gUnknown_0203CE2C, 0x440, 0); + LoadBgTiles(3, gUnknown_0203CE30, 0x60, 0); + CpuCopy16(gFrontierFactorySelectMenu_Tilemap, gUnknown_0203CE34, 0x800); + LoadBgTilemap(1, gUnknown_0203CE34, 0x800, 0); + LoadPalette(gFrontierFactorySelectMenu_Pal, 0, 0x40); + LoadPalette(gUnknown_0861046C, 0xF0, 8); + LoadPalette(gUnknown_0861046C, 0xE0, 10); + if (gUnknown_0300127C->fromSummaryScreen == TRUE) + gPlttBufferUnfaded[228] = gUnknown_0300127C->unk2A4; + LoadPalette(gUnknown_0861039C, 0x20, 4); + gMain.state++; + break; + case 3: + SetBgTilemapBuffer(3, gUnknown_0203CE38); + CopyToBgTilemapBufferRect(3, gUnknown_0861023C, 11, 4, 8, 8); + CopyToBgTilemapBufferRect(3, gUnknown_0861023C, 2, 4, 8, 8); + CopyToBgTilemapBufferRect(3, gUnknown_0861023C, 20, 4, 8, 8); + CopyBgTilemapBufferToVram(3); + gMain.state++; + break; + case 4: + LoadSpritePalettes(gUnknown_086103F4); + LoadSpriteSheets(gUnknown_086103BC); + LoadCompressedObjectPic(gUnknown_086103E4); + ShowBg(0); + ShowBg(1); + SetVBlankCallback(sub_819A4E4); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0); + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_ON | DISPCNT_BG0_ON | DISPCNT_BG1_ON | DISPCNT_OBJ_1D_MAP); + if (gUnknown_0300127C->fromSummaryScreen == TRUE) + { + sub_819C5D0(88, 152, 32, 96); + ShowBg(3); + SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG3 | BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_BG1 | BLDCNT_TGT2_OBJ); + SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(11, 4)); + } + else + { + HideBg(3); + } + gMain.state++; + break; + case 5: + if (gUnknown_0300127C->fromSummaryScreen == TRUE) + gUnknown_0300127C->cursorPos = gUnknown_0203CF20; + sub_819A9AC(); + sub_819AA18(); + if (gUnknown_0300127C->fromSummaryScreen == TRUE) + sub_819BE34(); + gMain.state++; + break; + case 6: + sub_819BA64(); + PutWindowTilemap(2); + gMain.state++; + break; + case 7: + sub_819BCF8(); + PutWindowTilemap(5); + gMain.state++; + break; + case 8: + sub_819B9E8(); + PutWindowTilemap(1); + gMain.state++; + break; + case 9: + sub_819B9B4(); + PutWindowTilemap(0); + gMain.state++; + break; + case 10: + gUnknown_0300127C->unk2A1 = CreateTask(sub_819C69C, 0); + if (!gUnknown_0300127C->fromSummaryScreen) + { + gTasks[gUnknown_0300127C->unk2A1].data[0] = 0; + taskId = CreateTask(sub_819B378, 0); + gTasks[taskId].data[0] = 0; + } + else + { + gTasks[gUnknown_0300127C->unk2A1].data[0] = 1; + gUnknown_0300127C->unk2A2 = 0; + taskId = CreateTask(sub_819B124, 0); + gTasks[taskId].data[0] = 13; + } + SetMainCallback2(sub_819A4C8); + break; + } +} + +void sub_819A9AC(void) +{ + u8 i; + + if (gUnknown_0300127C != NULL) + return; + + gUnknown_0300127C = AllocZeroed(sizeof(*gUnknown_0300127C)); + gUnknown_0300127C->cursorPos = 0; + gUnknown_0300127C->unk5 = 1; + gUnknown_0300127C->fromSummaryScreen = FALSE; + for (i = 0; i < SELECTABLE_MONS_COUNT; i++) + gUnknown_0300127C->mons[i].selected = FALSE; + + if (gSaveBlock2Ptr->frontier.lvlMode != FRONTIER_LVL_TENT) + sub_819B484(0); + else + sub_819B63C(0); +} + +extern const struct SpriteTemplate gUnknown_086105F0; +extern const struct SpriteTemplate gUnknown_08610608; +extern const struct SpriteTemplate gUnknown_08610620; + +void sub_819AA18(void) +{ + u8 i, cursorPos; + s16 x; + + for (i = 0; i < SELECTABLE_MONS_COUNT; i++) + { + gUnknown_0300127C->mons[i].spriteId = CreateSprite(&gUnknown_086105D8, (35 * i) + 32, 64, 1); + gSprites[gUnknown_0300127C->mons[i].spriteId].data[0] = 0; + SetBallSpritePaletteNum(i); + } + cursorPos = gUnknown_0300127C->cursorPos; + x = gSprites[gUnknown_0300127C->mons[cursorPos].spriteId].pos1.x; + gUnknown_0300127C->unk4 = CreateSprite(&gUnknown_086105F0, x, 88, 0); + gUnknown_0300127C->unk1 = CreateSprite(&gUnknown_08610608, 176, 112, 0); + gUnknown_0300127C->unk2 = CreateSprite(&gUnknown_08610620, 176, 144, 0); + + gSprites[gUnknown_0300127C->unk1].invisible = 1; + gSprites[gUnknown_0300127C->unk2].invisible = 1; + + gSprites[gUnknown_0300127C->unk1].centerToCornerVecX = 0; + gSprites[gUnknown_0300127C->unk1].centerToCornerVecY = 0; + gSprites[gUnknown_0300127C->unk2].centerToCornerVecX = 0; + gSprites[gUnknown_0300127C->unk2].centerToCornerVecY = 0; +} From f74adc80c126bd451767c917d53e7240ebcc7950 Mon Sep 17 00:00:00 2001 From: Slawter666 <38655737+Slawter666@users.noreply.github.com> Date: Sun, 2 Sep 2018 17:53:52 +0100 Subject: [PATCH 164/234] Format more templates --- src/battle_records.c | 21 ++++++- src/credits.c | 10 +++- src/daycare.c | 11 +++- src/decoration.c | 69 +++++++++++++++++---- src/egg_hatch.c | 18 +++++- src/field_region_map.c | 23 ++++++- src/main_menu.c | 126 +++++++++++++++++++++++++++++++++------ src/menu.c | 18 +++++- src/mystery_event_menu.c | 20 ++++++- src/naming_screen.c | 53 ++++++++++++++-- src/option_menu.c | 20 ++++++- src/player_pc.c | 114 ++++++++++++++++++++++++++++++----- src/pokeblock.c | 121 +++++++++++++++++++++++++++++++++---- 13 files changed, 546 insertions(+), 78 deletions(-) diff --git a/src/battle_records.c b/src/battle_records.c index 1680f3cc4e..fc9826e5bf 100644 --- a/src/battle_records.c +++ b/src/battle_records.c @@ -64,11 +64,28 @@ static const struct BgTemplate sTrainerHillRecordsBgTemplates[] = static const struct WindowTemplate sTrainerHillRecordsWindowTemplates[] = { - {0x0, 0x2, 0x1, 0x1A, 0x12, 0xF, 0x14}, + { + .priority = 0, + .tilemapLeft = 2, + .tilemapTop = 1, + .width = 26, + .height = 18, + .paletteNum = 15, + .baseBlock = 20 + }, DUMMY_WIN_TEMPLATE }; -static const struct WindowTemplate sLinkBattleRecordsWindow = {0x0, 0x2, 0x1, 0x1A, 0x11, 0xF, 0x1}; +static const struct WindowTemplate sLinkBattleRecordsWindow = +{ + .priority = 0, + .tilemapLeft = 2, + .tilemapTop = 1, + .width = 26, + .height = 17, + .paletteNum = 15, + .baseBlock = 1 +}; static const u8 sText_DashesNoPlayer[] = _("-------"); static const u8 sText_DashesNoScore[] = _("----"); diff --git a/src/credits.c b/src/credits.c index c054958ce3..cbf77f1b3f 100644 --- a/src/credits.c +++ b/src/credits.c @@ -948,7 +948,15 @@ static const struct BgTemplate gUnknown_085E6F68[] = }; static const struct WindowTemplate gUnknown_085E6F6C[] = { - { 0x00, 0x00, 0x09, 0x1E, 0x0C, 0x08, 0x0001 }, + { + .priority = 0, + .tilemapLeft = 0, + .tilemapTop = 9, + .width = 30, + .height = 12, + .paletteNum = 8, + .baseBlock = 1 + }, DUMMY_WIN_TEMPLATE, }; static const u8 gUnknown_085E6F7C[][2] = diff --git a/src/daycare.c b/src/daycare.c index 7599d70abe..934cdea439 100644 --- a/src/daycare.c +++ b/src/daycare.c @@ -61,7 +61,16 @@ EWRAM_DATA static u16 sHatchedEggMotherMoves[4] = {0}; #include "data/pokemon/egg_moves.h" -static const struct WindowTemplate sDaycareLevelMenuWindowTemplate = {0, 0xF, 1, 0xE, 6, 0xF, 8}; +static const struct WindowTemplate sDaycareLevelMenuWindowTemplate = +{ + .priority = 0, + .tilemapLeft = 15, + .tilemapTop = 1, + .width = 14, + .height = 6, + .paletteNum = 15, + .baseBlock = 8 +}; static const struct ListMenuItem sLevelMenuItems[] = { diff --git a/src/decoration.c b/src/decoration.c index b21d512780..4f9ad298de 100644 --- a/src/decoration.c +++ b/src/decoration.c @@ -214,22 +214,67 @@ void (*const SecretBasePC_SelectedDecorActions[][2])(u8 taskId) = { } }; -const struct WindowTemplate gUnknown_085A6B90[4] = { - { 0, 1, 1, 18, 8, 15, 0x0001 }, - { 0, 1, 1, 13, 18, 13, 0x0091 }, - { 0, 17, 1, 12, 2, 15, 0x017b }, - { 0, 16, 13, 13, 6, 15, 0x0193 } +const struct WindowTemplate gUnknown_085A6B90[4] = +{ + { + .priority = 0, + .tilemapLeft = 1, + .tilemapTop = 1, + .width = 18, + .height = 8, + .paletteNum = 15, + .baseBlock = 0x0001 + }, + { + .priority = 0, + .tilemapLeft = 1, + .tilemapTop = 1, + .width = 13, + .height = 18, + .paletteNum = 13, + .baseBlock = 0x0091 + }, + { + .priority = 0, + .tilemapLeft = 17, + .tilemapTop = 1, + .width = 12, + .height = 2, + .paletteNum = 15, + .baseBlock = 0x017b + }, + { + .priority = 0, + .tilemapLeft = 16, + .tilemapTop = 13, + .width = 13, + .height = 6, + .paletteNum = 15, + .baseBlock = 0x0193 + } }; const u16 gUnknown_085A6BB0[] = INCBIN_U16("graphics/decorations/unk_85a6bb0.gbapal"); -const struct ListMenuTemplate gUnknown_085A6BD0 = { - NULL, - sub_8127480, - sub_81274A0, - 0, 0, - 0, 0, 8, 0, - 9, 2, 1, 3, FALSE, 0, FALSE, 7 +const struct ListMenuTemplate gUnknown_085A6BD0 = +{ + .items = NULL, + .moveCursorFunc = sub_8127480, + .itemPrintFunc = sub_81274A0, + .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 = FALSE, + .itemVerticalPadding = 0, + .scrollMultiple = FALSE, + .fontId = 7 }; #include "data/decoration/icon.h" diff --git a/src/egg_hatch.c b/src/egg_hatch.c index 1c626cc868..25af28da4b 100644 --- a/src/egg_hatch.c +++ b/src/egg_hatch.c @@ -253,13 +253,27 @@ static const struct BgTemplate sBgTemplates_EggHatch[2] = static const struct WindowTemplate sWinTemplates_EggHatch[2] = { - {0, 2, 0xF, 0x1A, 4, 0, 0x40}, + { + .priority = 0, + .tilemapLeft = 2, + .tilemapTop = 15, + .width = 26, + .height = 4, + .paletteNum = 0, + .baseBlock = 64 + }, DUMMY_WIN_TEMPLATE }; static const struct WindowTemplate sYesNoWinTemplate = { - 0, 0x15, 9, 5, 4, 0xF, 0x1A8 + .priority = 0, + .tilemapLeft = 21, + .tilemapTop = 9, + .width = 5, + .height = 4, + .paletteNum = 15, + .baseBlock = 424 }; static const s16 sEggShardVelocities[][2] = diff --git a/src/field_region_map.c b/src/field_region_map.c index f565480682..d77bde01b3 100644 --- a/src/field_region_map.c +++ b/src/field_region_map.c @@ -55,9 +55,26 @@ static const struct BgTemplate gUnknown_085E5068[] = { } }; -static const struct WindowTemplate gUnknown_085E5070[] = { - { 0, 17, 17, 12, 2, 15, 0x0001 }, - { 0, 22, 1, 7, 2, 15, 0x0019 }, +static const struct WindowTemplate gUnknown_085E5070[] = +{ + { + .priority = 0, + .tilemapLeft = 17, + .tilemapTop = 17, + .width = 12, + .height = 2, + .paletteNum = 15, + .baseBlock = 1 + }, + { + .priority = 0, + .tilemapLeft = 22, + .tilemapTop = 1, + .width = 7, + .height = 2, + .paletteNum = 15, + .baseBlock = 25 + }, DUMMY_WIN_TEMPLATE }; diff --git a/src/main_menu.c b/src/main_menu.c index e28faf986a..3d8d5acc29 100644 --- a/src/main_menu.c +++ b/src/main_menu.c @@ -131,29 +131,121 @@ const u8 gUnknown_082FEEF0[] = INCBIN_U8("graphics/birch_speech/map.bin.lz"); const u16 gUnknown_082FF018[] = INCBIN_U16("graphics/birch_speech/bg2.gbapal"); const u16 gUnknown_082FF028[] = {0, 0, 0, 0, 0, 0, 0, 0}; -const struct WindowTemplate sWindowTemplates_NoSavedGame[] = { - {0, 2, 1, 26, 2, 15, 1}, - {0, 2, 5, 26, 2, 15, 0x35} +const struct WindowTemplate sWindowTemplates_NoSavedGame[] = +{ + { + .priority = 0, + .tilemapLeft = 2, + .tilemapTop = 1, + .width = 26, + .height = 2, + .paletteNum = 15, + .baseBlock = 1 + }, + { + .priority = 0, + .tilemapLeft = 2, + .tilemapTop = 5, + .width = 26, + .height = 2, + .paletteNum = 15, + .baseBlock = 0x35 + } }; -const struct WindowTemplate sWindowTemplates_HasSavedGame[] = { - {0, 2, 1, 26, 6, 15, 1}, - {0, 2, 9, 26, 2, 15, 0x9D}, - {0, 2, 13, 26, 2, 15, 0xD1}, - {0, 2, 17, 26, 2, 15, 0x105}, - {0, 2, 21, 26, 2, 15, 0x139} +const struct WindowTemplate sWindowTemplates_HasSavedGame[] = +{ + { + .priority = 0, + .tilemapLeft = 2, + .tilemapTop = 1, + .width = 26, + .height = 6, + .paletteNum = 15, + .baseBlock = 1 + }, + { + .priority = 0, + .tilemapLeft = 2, + .tilemapTop = 9, + .width = 26, + .height = 2, + .paletteNum = 15, + .baseBlock = 0x9D + }, + { + .priority = 0, + .tilemapLeft = 2, + .tilemapTop = 13, + .width = 26, + .height = 2, + .paletteNum = 15, + .baseBlock = 0xD1 + }, + { + .priority = 0, + .tilemapLeft = 2, + .tilemapTop = 17, + .width = 26, + .height = 2, + .paletteNum = 15, + .baseBlock = 0x105 + }, + { + .priority = 0, + .tilemapLeft = 2, + .tilemapTop = 21, + .width = 26, + .height = 2, + .paletteNum = 15, + .baseBlock = 0x139 + } }; -const struct WindowTemplate sWindowTemplate_ErrorWindow[] = { - {0, 2, 15, 26, 4, 15, 0x16D}, - {0xFF, 0, 0, 0, 0, 0, 0} +const struct WindowTemplate sWindowTemplate_ErrorWindow[] = +{ + { + .priority = 0, + .tilemapLeft = 2, + .tilemapTop = 15, + .width = 26, + .height = 4, + .paletteNum = 15, + .baseBlock = 0x16D + }, + DUMMY_WIN_TEMPLATE }; -const struct WindowTemplate gUnknown_082FF080[] = { - {0, 2, 15, 27, 4, 15, 1}, - {0, 3, 5, 6, 4, 15, 0x6D}, - {0, 3, 2, 9, 10, 15, 0x85}, - {0xFF, 0, 0, 0, 0, 0, 0} +const struct WindowTemplate gUnknown_082FF080[] = +{ + { + .priority = 0, + .tilemapLeft = 2, + .tilemapTop = 15, + .width = 27, + .height = 4, + .paletteNum = 15, + .baseBlock = 1 + }, + { + .priority = 0, + .tilemapLeft = 3, + .tilemapTop = 5, + .width = 6, + .height = 4, + .paletteNum = 15, + .baseBlock = 0x6D + }, + { + .priority = 0, + .tilemapLeft = 3, + .tilemapTop = 2, + .width = 9, + .height = 10, + .paletteNum = 15, + .baseBlock = 0x85 + }, + DUMMY_WIN_TEMPLATE }; const u16 gMainMenuBgPal[] = INCBIN_U16("graphics/misc/main_menu_bg.gbapal"); diff --git a/src/menu.c b/src/menu.c index 8a4b4fce55..3acb44985f 100644 --- a/src/menu.c +++ b/src/menu.c @@ -65,13 +65,27 @@ static const u8 gUnknown_0860F094[] = { 8, 4, 1 }; static const struct WindowTemplate gUnknown_0860F098[] = { - { 0x00, 0x02, 0x0F, 0x1B, 0x04, 0x0F, 0x194 }, + { + .priority = 0, + .tilemapLeft = 2, + .tilemapTop = 15, + .width = 27, + .height = 4, + .paletteNum = 15, + .baseBlock = 0x194 + }, DUMMY_WIN_TEMPLATE }; static const struct WindowTemplate gUnknown_0860F0A8 = { - 0x00, 0x15, 0x09, 0x05, 0x04, 0x0F, 0x125 + .priority = 0, + .tilemapLeft = 21, + .tilemapTop = 9, + .width = 5, + .height = 4, + .paletteNum = 15, + .baseBlock = 0x125 }; const u16 gUnknown_0860F0B0[] = INCBIN_U16("graphics/interface/860F0B0.gbapal"); diff --git a/src/mystery_event_menu.c b/src/mystery_event_menu.c index 68f31584b8..7f031c704d 100644 --- a/src/mystery_event_menu.c +++ b/src/mystery_event_menu.c @@ -42,8 +42,24 @@ static const struct BgTemplate sBgTemplates[] = static const struct WindowTemplate sWindowTemplates[] = { - {0, 4, 15, 22, 4, 14, 20}, - {0, 7, 6, 16, 4, 14, 0x6C}, + { + .priority = 0, + .tilemapLeft = 4, + .tilemapTop = 15, + .width = 22, + .height = 4, + .paletteNum = 14, + .baseBlock = 20 + }, + { + .priority = 0, + .tilemapLeft = 7, + .tilemapTop = 6, + .width = 16, + .height = 4, + .paletteNum = 14, + .baseBlock = 0x6C + }, DUMMY_WIN_TEMPLATE }; diff --git a/src/naming_screen.c b/src/naming_screen.c index f99d23bc3d..42525380b4 100644 --- a/src/naming_screen.c +++ b/src/naming_screen.c @@ -113,12 +113,53 @@ static const struct BgTemplate gUnknown_0858BE00[] = } }; -static const struct WindowTemplate gUnknown_0858BE10[] = { - { 0x01, 0x03, 0x0A, 0x13, 0x08, 0x0A, 0x030 }, - { 0x02, 0x03, 0x0A, 0x13, 0x08, 0x0A, 0x0C8 }, - { 0x03, 0x08, 0x06, 0x11, 0x02, 0x0A, 0x030 }, - { 0x03, 0x08, 0x04, 0x11, 0x02, 0x0A, 0x052 }, - { 0x00, 0x00, 0x00, 0x1E, 0x02, 0x0B, 0x074 }, +static const struct WindowTemplate gUnknown_0858BE10[] = +{ + { + .priority = 1, + .tilemapLeft = 3, + .tilemapTop = 10, + .width = 19, + .height = 8, + .paletteNum = 10, + .baseBlock = 0x030 + }, + { + .priority = 2, + .tilemapLeft = 3, + .tilemapTop = 10, + .width = 19, + .height = 8, + .paletteNum = 10, + .baseBlock = 0x0C8 + }, + { + .priority = 3, + .tilemapLeft = 8, + .tilemapTop = 6, + .width = 17, + .height = 2, + .paletteNum = 10, + .baseBlock = 0x030 + }, + { + .priority = 3, + .tilemapLeft = 8, + .tilemapTop = 4, + .width = 17, + .height = 2, + .paletteNum = 10, + .baseBlock = 0x052 + }, + { + .priority = 0, + .tilemapLeft = 0, + .tilemapTop = 0, + .width = 30, + .height = 2, + .paletteNum = 11, + .baseBlock = 0x074 + }, DUMMY_WIN_TEMPLATE }; diff --git a/src/option_menu.c b/src/option_menu.c index fc0c0c24e8..d48a1e4484 100644 --- a/src/option_menu.c +++ b/src/option_menu.c @@ -91,8 +91,24 @@ static const u8 *const sOptionMenuItemsNames[MENUITEM_COUNT] = static const struct WindowTemplate sOptionMenuWinTemplates[] = { - {1, 2, 1, 0x1A, 2, 1, 2}, - {0, 2, 5, 0x1A, 0xE, 1, 0x36}, + { + .priority = 1, + .tilemapLeft = 2, + .tilemapTop = 1, + .width = 26, + .height = 2, + .paletteNum = 1, + .baseBlock = 2 + }, + { + .priority = 0, + .tilemapLeft = 2, + .tilemapTop = 5, + .width = 26, + .height = 14, + .paletteNum = 1, + .baseBlock = 0x36 + }, DUMMY_WIN_TEMPLATE }; diff --git a/src/player_pc.c b/src/player_pc.c index ef00e2e062..26ea834fa3 100644 --- a/src/player_pc.c +++ b/src/player_pc.c @@ -184,9 +184,33 @@ const struct MenuAction gMailboxMailOptions[] = static const struct WindowTemplate gUnknown_085DFF24[3] = { - {0x00, 0x01, 0x01, 0x09, 0x06, 0x0F, 0x0001}, - {0x00, 0x01, 0x01, 0x09, 0x08, 0x0F, 0x0001}, - {0x00, 0x01, 0x01, 0x0A, 0x08, 0x0F, 0x0001} + { + .priority = 0, + .tilemapLeft = 1, + .tilemapTop = 1, + .width = 9, + .height = 6, + .paletteNum = 15, + .baseBlock = 1 + }, + { + .priority = 0, + .tilemapLeft = 1, + .tilemapTop = 1, + .width = 9, + .height = 8, + .paletteNum = 15, + .baseBlock = 1 + }, + { + .priority = 0, + .tilemapLeft = 1, + .tilemapTop = 1, + .width = 10, + .height = 8, + .paletteNum = 15, + .baseBlock = 1 + } }; static const struct YesNoFuncTable ResumeFromWithdrawYesNoFuncList = // ResumeFromWithdrawYesNoFuncList @@ -195,27 +219,85 @@ static const struct YesNoFuncTable ResumeFromWithdrawYesNoFuncList = // ResumeFr ItemStorage_ResumeInputFromNoToss }; -static const struct ListMenuTemplate gUnknown_085DFF44 = { - NULL, - ItemStorage_MoveCursor, - fish4_goto_x5_or_x6, - 0, 0, - 0, 0, 8, 0, - 9, 2, 1, 3, FALSE, 0, FALSE, 7 +static const struct ListMenuTemplate gUnknown_085DFF44 = +{ + .items = NULL, + .moveCursorFunc = ItemStorage_MoveCursor, + .itemPrintFunc = fish4_goto_x5_or_x6, + .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 = FALSE, + .itemVerticalPadding = 0, + .scrollMultiple = FALSE, + .fontId = 7 }; static const struct WindowTemplate gUnknown_085DFF5C[5] = { - {0x00, 0x10, 0x01, 0x0D, 0x12, 0x0F, 0x0001}, - {0x00, 0x01, 0x0D, 0x0D, 0x06, 0x0F, 0x00EB}, - {0x00, 0x01, 0x08, 0x03, 0x03, 0x0F, 0x0153}, - {0x00, 0x01, 0x01, 0x0D, 0x02, 0x0F, 0x0139}, - {0x00, 0x08, 0x09, 0x06, 0x02, 0x0F, 0x015C} + { + .priority = 0, + .tilemapLeft = 16, + .tilemapTop = 1, + .width = 13, + .height = 18, + .paletteNum = 15, + .baseBlock = 0x0001 + }, + { + .priority = 0, + .tilemapLeft = 1, + .tilemapTop = 13, + .width = 13, + .height = 6, + .paletteNum = 15, + .baseBlock = 0x00EB + }, + { + .priority = 0, + .tilemapLeft = 1, + .tilemapTop = 8, + .width = 3, + .height = 3, + .paletteNum = 15, + .baseBlock = 0x0153 + }, + { + .priority = 0, + .tilemapLeft = 1, + .tilemapTop = 1, + .width = 13, + .height = 2, + .paletteNum = 15, + .baseBlock = 0x0139 + }, + { + .priority = 0, + .tilemapLeft = 8, + .tilemapTop = 9, + .width = 6, + .height = 2, + .paletteNum = 15, + .baseBlock = 0x015C + } }; static const struct WindowTemplate gUnknown_085DFF84 = { - 0x00, 0x09, 0x07, 0x05, 0x04, 0x0F, 0x0168 + .priority = 0, + .tilemapLeft = 9, + .tilemapTop = 7, + .width = 5, + .height = 4, + .paletteNum = 15, + .baseBlock = 0x0168 }; static const u8 gUnknown_085DFF8C[] = {0x01, 0x03, 0x02, 0x00}; diff --git a/src/pokeblock.c b/src/pokeblock.c index e615693b94..0fa2cde041 100644 --- a/src/pokeblock.c +++ b/src/pokeblock.c @@ -294,21 +294,118 @@ static const struct Pokeblock sFavoritePokeblocksTable[] = static const struct WindowTemplate sWindowTemplatesForPokeblockMenu[] = { - {0, 2, 1, 9, 2, 0xF, 0x1E}, - {0, 0xF, 1, 0xE, 0x12, 0xF, 0x30}, - {0, 2, 0xD, 5, 2, 0xF, 0x12C}, - {0, 2, 0xF, 5, 2, 0xF, 0x136}, - {0, 2, 0x11, 5, 2, 0xF, 0x140}, - {0, 8, 0xD, 5, 2, 0xF, 0x14A}, - {0, 8, 0xF, 5, 2, 0xF, 0x154}, - {0, 0xB, 0x11, 2, 2, 0xF, 0x15E}, - {1, 7, 5, 6, 6, 0xF, 0x162}, - {1, 7, 7, 6, 4, 0xF, 0x186}, - {1, 2, 0xF, 0x1B, 4, 0xF, 0x19E}, + { + .priority = 0, + .tilemapLeft = 2, + .tilemapTop = 1, + .width = 9, + .height = 2, + .paletteNum = 15, + .baseBlock = 0x1E + }, + { + .priority = 0, + .tilemapLeft = 15, + .tilemapTop = 1, + .width = 14, + .height = 18, + .paletteNum = 15, + .baseBlock = 0x30 + }, + { + .priority = 0, + .tilemapLeft = 2, + .tilemapTop = 13, + .width = 5, + .height = 2, + .paletteNum = 15, + .baseBlock = 0x12C + }, + { + .priority = 0, + .tilemapLeft = 2, + .tilemapTop = 15, + .width = 5, + .height = 2, + .paletteNum = 15, + .baseBlock = 0x136 + }, + { + .priority = 0, + .tilemapLeft = 2, + .tilemapTop = 17, + .width = 5, + .height = 2, + .paletteNum = 15, + .baseBlock = 0x140 + }, + { + .priority = 0, + .tilemapLeft = 8, + .tilemapTop = 13, + .width = 5, + .height = 2, + .paletteNum = 15, + .baseBlock = 0x14A + }, + { + .priority = 0, + .tilemapLeft = 8, + .tilemapTop = 15, + .width = 5, + .height = 2, + .paletteNum = 15, + .baseBlock = 0x154 + }, + { + .priority = 0, + .tilemapLeft = 11, + .tilemapTop = 17, + .width = 2, + .height = 2, + .paletteNum = 15, + .baseBlock = 0x15E + }, + { + .priority = 1, + .tilemapLeft = 7, + .tilemapTop = 5, + .width = 6, + .height = 6, + .paletteNum = 15, + .baseBlock = 0x162 + }, + { + .priority = 1, + .tilemapLeft = 7, + .tilemapTop = 7, + .width = 6, + .height = 4, + .paletteNum = 15, + .baseBlock = 0x186 + }, + { + .priority = 1, + .tilemapLeft = 2, + .tilemapTop = 15, + .width = 27, + .height = 4, + .paletteNum = 15, + .baseBlock = 0x19E + }, DUMMY_WIN_TEMPLATE }; -static const struct WindowTemplate sTossPkblockWindowTemplate = {1, 0x15, 9, 5, 4, 0xF, 0x20A}; +static const struct WindowTemplate sTossPkblockWindowTemplate = +{ + .priority = 1, + .tilemapLeft = 21, + .tilemapTop = 9, + .width = 5, + .height = 4, + .paletteNum = 15, + .baseBlock = 0x20A +}; static const struct ListMenuTemplate sPokeblockListMenuTemplate = { From 0238b1c8ec6a7793917dcc9f358b964a3090715f Mon Sep 17 00:00:00 2001 From: DizzyEggg <jajkodizzy@wp.pl> Date: Sun, 2 Sep 2018 19:41:33 +0200 Subject: [PATCH 165/234] More battle factory work --- asm/battle_frontier_2.s | 727 +------------------------------ include/pokemon_summary_screen.h | 1 + ld_script.txt | 1 + src/battle_factory.c | 602 +++++++++++++++++++++++++ src/battle_frontier_2.c | 337 -------------- sym_ewram.txt | 17 +- 6 files changed, 612 insertions(+), 1073 deletions(-) create mode 100644 src/battle_factory.c delete mode 100644 src/battle_frontier_2.c diff --git a/asm/battle_frontier_2.s b/asm/battle_frontier_2.s index ebf2008111..4ad5644007 100644 --- a/asm/battle_frontier_2.s +++ b/asm/battle_frontier_2.s @@ -6,719 +6,6 @@ .text - - - - thumb_func_start sub_819AB40 -sub_819AB40: @ 819AB40 - push {r4-r6,lr} - movs r4, 0 -_0819AB44: - ldr r6, =gUnknown_0300127C - ldr r1, [r6] - movs r0, 0x6C - muls r0, r4 - adds r1, r0 - ldrh r1, [r1, 0xE] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r5, =gSprites - adds r0, r5 - bl DestroySprite - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x5 - bls _0819AB44 - ldr r0, [r6] - ldrb r1, [r0, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - bl DestroySprite - ldr r0, [r6] - ldrb r1, [r0, 0x1] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - bl DestroySprite - ldr r0, [r6] - ldrb r1, [r0, 0x2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - bl DestroySprite - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_819AB40 - - thumb_func_start sub_819ABA8 -sub_819ABA8: @ 819ABA8 - push {r4,lr} - lsls r0, 24 - cmp r0, 0 - ble _0819ABC8 - ldr r0, =gUnknown_0300127C - ldr r1, [r0] - ldrb r3, [r1, 0x3] - adds r2, r0, 0 - cmp r3, 0x5 - beq _0819ABC4 - adds r0, r3, 0x1 - b _0819ABDE - .pool -_0819ABC4: - movs r0, 0 - b _0819ABDE -_0819ABC8: - ldr r0, =gUnknown_0300127C - ldr r1, [r0] - ldrb r3, [r1, 0x3] - adds r2, r0, 0 - cmp r3, 0 - beq _0819ABDC - subs r0, r3, 0x1 - b _0819ABDE - .pool -_0819ABDC: - movs r0, 0x5 -_0819ABDE: - strb r0, [r1, 0x3] - ldr r2, [r2] - ldrb r3, [r2, 0x3] - ldr r4, =gSprites - ldrb r0, [r2, 0x4] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - movs r0, 0x6C - muls r0, r3 - adds r2, r0 - ldrh r2, [r2, 0xE] - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r0, r4 - ldrh r0, [r0, 0x20] - strh r0, [r1, 0x20] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_819ABA8 - - thumb_func_start sub_819AC10 -sub_819AC10: @ 819AC10 - push {lr} - lsls r0, 24 - cmp r0, 0 - ble _0819AC30 - ldr r0, =gUnknown_0300127C - ldr r1, [r0] - ldrb r3, [r1] - adds r2, r0, 0 - cmp r3, 0x2 - beq _0819AC2C - adds r0, r3, 0x1 - b _0819AC46 - .pool -_0819AC2C: - movs r0, 0 - b _0819AC46 -_0819AC30: - ldr r0, =gUnknown_0300127C - ldr r1, [r0] - ldrb r3, [r1] - adds r2, r0, 0 - cmp r3, 0 - beq _0819AC44 - subs r0, r3, 0x1 - b _0819AC46 - .pool -_0819AC44: - movs r0, 0x2 -_0819AC46: - strb r0, [r1] - ldr r3, =gSprites - ldr r2, [r2] - ldrb r0, [r2, 0x1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r3 - ldrb r0, [r2] - lsls r0, 4 - adds r0, 0x70 - strh r0, [r1, 0x22] - ldrb r0, [r2, 0x2] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r3 - ldrb r0, [r2] - lsls r0, 4 - adds r0, 0x70 - strh r0, [r1, 0x22] - pop {r0} - bx r0 - .pool - thumb_func_end sub_819AC10 - - thumb_func_start sub_819AC78 -sub_819AC78: @ 819AC78 - push {lr} - lsls r0, 24 - cmp r0, 0 - ble _0819AC98 - ldr r0, =gUnknown_0300127C - ldr r1, [r0] - ldrb r3, [r1, 0x7] - adds r2, r0, 0 - cmp r3, 0x1 - beq _0819AC94 - adds r0, r3, 0x1 - b _0819ACAE - .pool -_0819AC94: - movs r0, 0 - b _0819ACAE -_0819AC98: - ldr r0, =gUnknown_0300127C - ldr r1, [r0] - ldrb r3, [r1, 0x7] - adds r2, r0, 0 - cmp r3, 0 - beq _0819ACAC - subs r0, r3, 0x1 - b _0819ACAE - .pool -_0819ACAC: - movs r0, 0x1 -_0819ACAE: - strb r0, [r1, 0x7] - ldr r3, =gSprites - ldr r2, [r2] - ldrb r0, [r2, 0x1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r3 - ldrb r0, [r2, 0x7] - lsls r0, 4 - adds r0, 0x70 - strh r0, [r1, 0x22] - ldrb r0, [r2, 0x2] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r3 - ldrb r0, [r2, 0x7] - lsls r0, 4 - adds r0, 0x70 - strh r0, [r1, 0x22] - pop {r0} - bx r0 - .pool - thumb_func_end sub_819AC78 - - thumb_func_start sub_819ACE0 -sub_819ACE0: @ 819ACE0 - push {r4-r6,lr} - ldr r5, =gUnknown_0300127C - ldr r0, [r5] - ldrb r6, [r0, 0x3] - movs r1, 0x6C - adds r4, r6, 0 - muls r4, r1 - adds r0, r4 - ldrb r0, [r0, 0x10] - cmp r0, 0 - beq _0819AD60 - movs r0, 0x64 - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r3, r0, 24 - ldr r1, [r5] - ldrb r0, [r1, 0x5] - cmp r0, 0x3 - bne _0819AD44 - adds r0, r1, r4 - ldrb r0, [r0, 0x10] - cmp r0, 0x1 - bne _0819AD44 - movs r2, 0 - ldrb r0, [r1, 0x10] - cmp r0, 0x2 - beq _0819AD32 - movs r4, 0x6C -_0819AD1A: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x5 - bhi _0819AD32 - ldr r0, [r5] - adds r1, r2, 0 - muls r1, r4 - adds r0, r1 - ldrb r0, [r0, 0x10] - cmp r0, 0x2 - bne _0819AD1A -_0819AD32: - cmp r2, 0x6 - beq _0819AD9C - ldr r0, =gUnknown_0300127C - ldr r1, [r0] - movs r0, 0x6C - muls r0, r2 - adds r1, r0 - movs r0, 0x1 - strb r0, [r1, 0x10] -_0819AD44: - ldr r2, =gUnknown_0300127C - ldr r1, [r2] - movs r0, 0x6C - muls r0, r6 - adds r1, r0 - movs r0, 0 - strb r0, [r1, 0x10] - ldr r1, [r2] - ldrb r0, [r1, 0x5] - subs r0, 0x1 - b _0819AD78 - .pool -_0819AD60: - movs r0, 0x65 - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r3, r0, 24 - ldr r0, [r5] - adds r1, r0, r4 - ldrb r0, [r0, 0x5] - strb r0, [r1, 0x10] - ldr r1, [r5] - ldrb r0, [r1, 0x5] - adds r0, 0x1 -_0819AD78: - strb r0, [r1, 0x5] - ldr r2, =gSprites - ldr r0, =gUnknown_0300127C - ldr r0, [r0] - movs r1, 0x6C - muls r1, r6 - adds r0, r1 - ldrh r0, [r0, 0xE] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - lsls r3, 4 - ldrb r2, [r1, 0x5] - movs r0, 0xF - ands r0, r2 - orrs r0, r3 - strb r0, [r1, 0x5] -_0819AD9C: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_819ACE0 - - thumb_func_start SetBallSpritePaletteNum -SetBallSpritePaletteNum: @ 819ADAC - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gUnknown_0300127C - ldr r0, [r0] - movs r1, 0x6C - muls r1, r4 - adds r0, r1 - ldrb r0, [r0, 0x10] - cmp r0, 0 - beq _0819ADCC - movs r0, 0x65 - b _0819ADCE - .pool -_0819ADCC: - movs r0, 0x64 -_0819ADCE: - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r3, r0, 24 - ldr r2, =gSprites - ldr r0, =gUnknown_0300127C - ldr r0, [r0] - movs r1, 0x6C - muls r1, r4 - adds r0, r1 - ldrh r0, [r0, 0xE] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - lsls r3, 4 - ldrb r2, [r1, 0x5] - movs r0, 0xF - ands r0, r2 - orrs r0, r3 - strb r0, [r1, 0x5] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end SetBallSpritePaletteNum - - thumb_func_start sub_819AE08 -sub_819AE08: @ 819AE08 - push {r4-r6,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r2, r0, 24 - ldr r1, =gTasks - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r6, r0, r1 - movs r1, 0x8 - ldrsh r0, [r6, r1] - cmp r0, 0x7 - beq _0819AE64 - cmp r0, 0x7 - bgt _0819AE30 - cmp r0, 0x6 - beq _0819AE36 - b _0819AF50 - .pool -_0819AE30: - cmp r0, 0x8 - beq _0819AEE8 - b _0819AF50 -_0819AE36: - ldr r1, =gPlttBufferUnfaded - ldr r0, =gPlttBufferFaded - movs r2, 0xE4 - lsls r2, 1 - adds r0, r2 - ldrh r0, [r0] - adds r1, r2 - movs r2, 0 - strh r0, [r1] - movs r0, 0x1 - negs r0, r0 - str r2, [sp] - movs r1, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - movs r0, 0x7 - strh r0, [r6, 0x8] - b _0819AF50 - .pool -_0819AE64: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0 - bne _0819AF50 - ldr r4, =gUnknown_0300127C - ldr r0, [r4] - ldr r2, =0x000002a1 - adds r0, r2 - ldrb r0, [r0] - bl DestroyTask - ldr r1, [r4] - movs r3, 0xA6 - lsls r3, 2 - adds r0, r1, r3 - ldr r0, [r0] - movs r2, 0xA8 - lsls r2, 2 - adds r1, r2 - bl sub_819F444 - bl sub_819AB40 - ldr r4, =gUnknown_0203CE2C - ldr r0, [r4] - bl Free - str r5, [r4] - ldr r4, =gUnknown_0203CE30 - ldr r0, [r4] - bl Free - str r5, [r4] - ldr r4, =gUnknown_0203CE34 - ldr r0, [r4] - bl Free - str r5, [r4] - ldr r4, =gUnknown_0203CE38 - ldr r0, [r4] - bl Free - str r5, [r4] - bl FreeAllWindowBuffers - movs r0, 0x8 - strh r0, [r6, 0x8] - b _0819AF50 - .pool -_0819AEE8: - ldr r4, =gUnknown_0300127C - ldr r1, [r4] - ldr r0, =gPlttBufferUnfaded - movs r3, 0xE4 - lsls r3, 1 - adds r0, r3 - ldrh r0, [r0] - adds r3, 0xDC - adds r1, r3 - strh r0, [r1] - adds r0, r2, 0 - bl DestroyTask - ldr r1, [r4] - movs r0, 0x1 - strb r0, [r1, 0x6] - ldr r0, [r4] - ldrb r6, [r0, 0x3] - ldr r4, =gUnknown_0203CE3C - movs r0, 0x96 - lsls r0, 2 - bl AllocZeroed - str r0, [r4] - movs r4, 0 -_0819AF1A: - ldr r5, =gUnknown_0203CE3C - ldr r1, [r5] - movs r0, 0x64 - muls r0, r4 - adds r0, r1 - ldr r1, =gUnknown_0300127C - ldr r1, [r1] - movs r2, 0x6C - muls r2, r4 - adds r1, r2 - adds r1, 0x14 - movs r2, 0x64 - bl memcpy - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x5 - bls _0819AF1A - ldr r1, [r5] - ldr r0, =sub_819A514 - str r0, [sp] - movs r0, 0x1 - adds r2, r6, 0 - movs r3, 0x5 - bl ShowPokemonSummaryScreen -_0819AF50: - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_819AE08 - - thumb_func_start bc_exit_to_overworld -bc_exit_to_overworld: @ 819AF68 - push {r4-r7,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r6, r0, 24 - ldr r7, =gUnknown_0300127C - ldr r0, [r7] - movs r1, 0xA8 - lsls r1, 2 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x1 - beq _0819B00E - ldr r1, =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r4, r0, r1 - movs r0, 0x8 - ldrsh r1, [r4, r0] - cmp r1, 0 - beq _0819AFA0 - cmp r1, 0x1 - beq _0819AFB8 - b _0819B00E - .pool -_0819AFA0: - movs r0, 0x1 - negs r0, r0 - str r1, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _0819B00E -_0819AFB8: - bl UpdatePaletteFade - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0 - bne _0819B00E - bl sub_819B764 - ldr r0, [r7] - ldr r1, =0x000002a1 - adds r0, r1 - ldrb r0, [r0] - bl DestroyTask - bl sub_819AB40 - ldr r4, =gUnknown_0203CE2C - ldr r0, [r4] - bl Free - str r5, [r4] - ldr r4, =gUnknown_0203CE34 - ldr r0, [r4] - bl Free - str r5, [r4] - ldr r4, =gUnknown_0203CE38 - ldr r0, [r4] - bl Free - str r5, [r4] - ldr r0, [r7] - bl Free - str r5, [r7] - bl FreeAllWindowBuffers - ldr r0, =CB2_ReturnToFieldContinueScript - bl SetMainCallback2 - adds r0, r6, 0 - bl DestroyTask -_0819B00E: - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end bc_exit_to_overworld - - thumb_func_start sub_819B02C -sub_819B02C: @ 819B02C - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r7, =gUnknown_0300127C - ldr r0, [r7] - movs r1, 0xA8 - lsls r1, 2 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x1 - beq _0819B11A - ldr r1, =gTasks - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r5, r0, r1 - movs r1, 0x8 - ldrsh r0, [r5, r1] - cmp r0, 0x5 - beq _0819B084 - cmp r0, 0x5 - bgt _0819B06C - cmp r0, 0x4 - beq _0819B07A - b _0819B11A - .pool -_0819B06C: - cmp r0, 0xA - bne _0819B11A - bl sub_819C4B4 - movs r0, 0x4 - strh r0, [r5, 0x8] - b _0819B11A -_0819B07A: - bl sub_819B8D4 - movs r0, 0x5 - strh r0, [r5, 0x8] - b _0819B11A -_0819B084: - ldr r2, =gMain - ldrh r1, [r2, 0x2E] - movs r0, 0x1 - mov r8, r0 - movs r6, 0x1 - adds r0, r6, 0 - ands r0, r1 - cmp r0, 0 - beq _0819B0B8 - movs r0, 0x5 - bl PlaySE - ldr r0, [r7] - ldrb r4, [r0, 0x7] - cmp r4, 0 - bne _0819B0C6 - bl sub_819C568 - strh r4, [r5, 0x8] - ldr r0, =bc_exit_to_overworld - str r0, [r5] - b _0819B11A - .pool -_0819B0B8: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0819B0EC - movs r0, 0x5 - bl PlaySE -_0819B0C6: - movs r0, 0x4 - bl sub_819B958 - bl sub_819BC9C - ldr r0, [r7] - ldr r1, =0x000002a2 - adds r0, r1 - mov r1, r8 - strb r1, [r0] - strh r6, [r5, 0x8] - ldr r0, =sub_819B378 - str r0, [r5] - b _0819B11A - .pool -_0819B0EC: - ldrh r1, [r2, 0x30] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _0819B106 - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - negs r0, r0 - bl sub_819AC78 - b _0819B11A -_0819B106: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0819B11A - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - bl sub_819AC78 -_0819B11A: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_819B02C thumb_func_start sub_819B124 sub_819B124: @ 819B124 @@ -836,7 +123,7 @@ _0819B228: adds r0, r1 movs r1, 0xA strh r1, [r0, 0x8] - ldr r1, =sub_819B02C + ldr r1, =Task_HandleSelectionScreenYesNo str r1, [r0] b _0819B36E .pool @@ -860,7 +147,7 @@ _0819B260: adds r0, r1 movs r1, 0x6 strh r1, [r0, 0x8] - ldr r1, =sub_819AE08 + ldr r1, =Task_FromSelectScreenToSummaryScreen str r1, [r0] b _0819B36E .pool @@ -909,7 +196,7 @@ _0819B2D0: bl PlaySE movs r0, 0x1 negs r0, r0 - bl sub_819AC10 + bl UpdateMenuCursorPosition b _0819B36E _0819B2EA: movs r0, 0x80 @@ -919,7 +206,7 @@ _0819B2EA: movs r0, 0x5 bl PlaySE movs r0, 0x1 - bl sub_819AC10 + bl UpdateMenuCursorPosition b _0819B36E _0819B300: ldr r0, =gPaletteFade @@ -1065,7 +352,7 @@ _0819B422: bl PlaySE movs r0, 0x1 _0819B432: - bl sub_819ABA8 + bl UpdateBallCursorPosition bl sub_819BCF8 bl sub_819B9E8 b _0819B476 @@ -2041,7 +1328,7 @@ _0819BC60: adds r1, r2 movs r2, 0 bl sub_819F3F8 - bl sub_819ACE0 + bl HandleMonSelectionChange bl sub_819BA64 movs r0, 0x3 bl sub_819B958 @@ -2064,7 +1351,7 @@ _0819BC96: sub_819BC9C: @ 819BC9C push {lr} bl sub_819C568 - bl sub_819ACE0 + bl HandleMonSelectionChange bl sub_819BA64 movs r0, 0x3 bl sub_819B958 diff --git a/include/pokemon_summary_screen.h b/include/pokemon_summary_screen.h index 3d3b6f0e33..a8eee9c183 100755 --- a/include/pokemon_summary_screen.h +++ b/include/pokemon_summary_screen.h @@ -1,6 +1,7 @@ #ifndef GUARD_POKEMON_SUMMARY_SCREEN_H #define GUARD_POKEMON_SUMMARY_SCREEN_H +void ShowPokemonSummaryScreen(u8 mode, void *mons, u8 monIndex, u8 maxMonIndex, void (*callback)(void)); void sub_81C4F98(u8, void(*)(void)); void ShowSelectMovePokemonSummaryScreen(struct Pokemon *, u8, u8, MainCallback, u16); diff --git a/ld_script.txt b/ld_script.txt index 668cf7c5a7..6e4885e4c9 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -247,6 +247,7 @@ SECTIONS { src/battle_frontier_1.o(.text); asm/battle_frontier_1.o(.text); src/menu.o(.text); + src/battle_factory.o(.text); asm/battle_frontier_2.o(.text); src/item_menu.o(.text); src/list_menu.o(.text); diff --git a/src/battle_factory.c b/src/battle_factory.c new file mode 100644 index 0000000000..e1c9551222 --- /dev/null +++ b/src/battle_factory.c @@ -0,0 +1,602 @@ +#include "global.h" +#include "sprite.h" +#include "event_data.h" +#include "overworld.h" +#include "random.h" +#include "battle_tower.h" +#include "text.h" +#include "palette.h" +#include "task.h" +#include "main.h" +#include "malloc.h" +#include "bg.h" +#include "gpu_regs.h" +#include "window.h" +#include "decompress.h" +#include "pokemon_summary_screen.h" +#include "sound.h" +#include "constants/battle_frontier.h" +#include "constants/songs.h" + +#define MENU_SUMMARY 0 +#define MENU_RENT 1 +#define MENU_DESELECT 1 +#define MENU_OTHERS 2 +#define MENU_OPTIONS_COUNT 3 + +#define SELECTABLE_MONS_COUNT 6 +#define TAG_PAL_BALL_GREY 0x64 +#define TAG_PAL_BALL_SELECTED 0x65 + +struct FactorySelecteableMon +{ + u16 unk0; + u16 spriteId; + u8 selectetedId; // 0 - not selected, 1 - first pokemon, 2 - second pokemon, 3 - third pokemon + struct Pokemon monData; +}; + +struct FactorySelectMonsStruct +{ + u8 menuCursorPos; + u8 menuCursor1SpriteId; + u8 menuCursor2SpriteId; + u8 cursorPos; + u8 cursorSpriteId; + u8 selectingMonsState; + bool8 fromSummaryScreen; + u8 yesNoCursorPos; + u8 unk8; + u8 unk9; + struct FactorySelecteableMon mons[SELECTABLE_MONS_COUNT]; + u32 unk294; + u32 unk298; + u32 unk29C; + u8 unk2A0; + u8 unk2A1; + u8 unk2A2; + u8 unk2A3; + u16 unk2A4; + u16 unk2A6; + u16 unk2A8; + u16 unk2AA; +}; + +extern struct FactorySelectMonsStruct *gUnknown_0300127C; +extern u8 gUnknown_0203CF20; + +// This file's functions. +void sub_819A514(void); +void sub_819C5D0(u16 mWin0H, u16 nWin0H, u16 mWin0V, u16 nWin0V); +void sub_819A9AC(void); +void sub_819AA18(void); +void sub_819BE34(void); +void sub_819BA64(void); +void sub_819BCF8(void); +void sub_819B9E8(void); +void sub_819B9B4(void); +void sub_819B764(void); +void sub_819C4B4(void); +void sub_819B8D4(void); +void sub_819C568(void); +void sub_819BC9C(void); +void sub_819C69C(u8 taskId); +void sub_819B378(u8 taskId); +void sub_819B124(u8 taskId); +void sub_819B484(u8 arg0); +void sub_819B63C(u8 arg0); +void SetBallSpritePaletteNum(u8 id); +void sub_819F444(u32 spriteId, u8 *arg1); +void sub_819B958(u8 arg0); + +// Ewram variables +EWRAM_DATA u8 *gUnknown_0203CE2C = NULL; +EWRAM_DATA u8 *gUnknown_0203CE30 = NULL; +EWRAM_DATA u8 *gUnknown_0203CE34 = NULL; +EWRAM_DATA u8 *gUnknown_0203CE38 = NULL; +static EWRAM_DATA struct Pokemon *sFactorySelectMons = NULL; + +// Const rom data. +extern const struct BgTemplate gUnknown_08610428[3]; +extern const struct WindowTemplate gUnknown_08610434[]; +extern const u8 gUnknown_0861033C[]; +extern const u8 gUnknown_0861023C[]; +extern const u16 gUnknown_0861046C[]; +extern const u16 gUnknown_0861039C[]; +extern const struct SpritePalette gUnknown_086103F4[]; +extern const struct SpriteSheet gUnknown_086103BC[]; +extern const struct CompressedSpriteSheet gUnknown_086103E4[]; +extern const struct SpriteTemplate gUnknown_086105D8; + +// gfx +extern const u8 gFrontierFactorySelectMenu_Gfx[]; +extern const u8 gFrontierFactorySelectMenu_Tilemap[]; +extern const u16 gFrontierFactorySelectMenu_Pal[]; + +// code +void sub_819A44C(struct Sprite *sprite) +{ + if (sprite->oam.paletteNum == IndexOfSpritePaletteTag(TAG_PAL_BALL_SELECTED)) + { + if (sprite->animEnded) + { + if (sprite->data[0] != 0) + { + sprite->data[0]--; + } + else if (Random() % 5 == 0) + { + StartSpriteAnim(sprite, 0); + sprite->data[0] = 32; + } + else + { + StartSpriteAnim(sprite, 1); + } + } + else + { + StartSpriteAnimIfDifferent(sprite, 1); + } + } + else + { + StartSpriteAnimIfDifferent(sprite, 0); + } +} + +void sub_819A4C8(void) +{ + AnimateSprites(); + BuildOamBuffer(); + RunTextPrinters(); + UpdatePaletteFade(); + RunTasks(); +} + +void sub_819A4E4(void) +{ + LoadOam(); + ProcessSpriteCopyRequests(); + TransferPlttBuffer(); +} + +void sub_819A4F8(void) +{ + gUnknown_0300127C = NULL; + SetMainCallback2(sub_819A514); +} + +void sub_819A514(void) +{ + u8 taskId; + + switch (gMain.state) + { + case 0: + if (sFactorySelectMons != NULL) + FREE_AND_SET_NULL(sFactorySelectMons); + SetHBlankCallback(NULL); + SetVBlankCallback(NULL); + CpuFill32(0, (void *)VRAM, VRAM_SIZE); + ResetBgsAndClearDma3BusyFlags(0); + InitBgsFromTemplates(0, gUnknown_08610428, ARRAY_COUNT(gUnknown_08610428)); + InitWindows(gUnknown_08610434); + DeactivateAllTextPrinters(); + gMain.state++; + break; + case 1: + gUnknown_0203CE2C = Alloc(0x440); + gUnknown_0203CE30 = AllocZeroed(0x440); + gUnknown_0203CE34 = Alloc(0x800); + gUnknown_0203CE38 = AllocZeroed(0x800); + ChangeBgX(0, 0, 0); + ChangeBgY(0, 0, 0); + ChangeBgX(1, 0, 0); + ChangeBgY(1, 0, 0); + ChangeBgX(3, 0, 0); + ChangeBgY(3, 0, 0); + SetGpuReg(REG_OFFSET_BLDCNT, 0); + SetGpuReg(REG_OFFSET_BLDALPHA, 0); + SetGpuReg(REG_OFFSET_BLDY, 0); + SetGpuReg(REG_OFFSET_MOSAIC, 0); + SetGpuReg(REG_OFFSET_WIN0H, 0); + SetGpuReg(REG_OFFSET_WIN0V, 0); + SetGpuReg(REG_OFFSET_WIN1H, 0); + SetGpuReg(REG_OFFSET_WIN1V, 0); + SetGpuReg(REG_OFFSET_WININ, 0); + SetGpuReg(REG_OFFSET_WINOUT, 0); + gMain.state++; + break; + case 2: + ResetPaletteFade(); + ResetSpriteData(); + ResetTasks(); + FreeAllSpritePalettes(); + CpuCopy16(gFrontierFactorySelectMenu_Gfx, gUnknown_0203CE2C, 0x440); + CpuCopy16(gUnknown_0861033C, gUnknown_0203CE30, 0x60); + LoadBgTiles(1, gUnknown_0203CE2C, 0x440, 0); + LoadBgTiles(3, gUnknown_0203CE30, 0x60, 0); + CpuCopy16(gFrontierFactorySelectMenu_Tilemap, gUnknown_0203CE34, 0x800); + LoadBgTilemap(1, gUnknown_0203CE34, 0x800, 0); + LoadPalette(gFrontierFactorySelectMenu_Pal, 0, 0x40); + LoadPalette(gUnknown_0861046C, 0xF0, 8); + LoadPalette(gUnknown_0861046C, 0xE0, 10); + if (gUnknown_0300127C->fromSummaryScreen == TRUE) + gPlttBufferUnfaded[228] = gUnknown_0300127C->unk2A4; + LoadPalette(gUnknown_0861039C, 0x20, 4); + gMain.state++; + break; + case 3: + SetBgTilemapBuffer(3, gUnknown_0203CE38); + CopyToBgTilemapBufferRect(3, gUnknown_0861023C, 11, 4, 8, 8); + CopyToBgTilemapBufferRect(3, gUnknown_0861023C, 2, 4, 8, 8); + CopyToBgTilemapBufferRect(3, gUnknown_0861023C, 20, 4, 8, 8); + CopyBgTilemapBufferToVram(3); + gMain.state++; + break; + case 4: + LoadSpritePalettes(gUnknown_086103F4); + LoadSpriteSheets(gUnknown_086103BC); + LoadCompressedObjectPic(gUnknown_086103E4); + ShowBg(0); + ShowBg(1); + SetVBlankCallback(sub_819A4E4); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0); + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_ON | DISPCNT_BG0_ON | DISPCNT_BG1_ON | DISPCNT_OBJ_1D_MAP); + if (gUnknown_0300127C->fromSummaryScreen == TRUE) + { + sub_819C5D0(88, 152, 32, 96); + ShowBg(3); + SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG3 | BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_BG1 | BLDCNT_TGT2_OBJ); + SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(11, 4)); + } + else + { + HideBg(3); + } + gMain.state++; + break; + case 5: + if (gUnknown_0300127C->fromSummaryScreen == TRUE) + gUnknown_0300127C->cursorPos = gUnknown_0203CF20; + sub_819A9AC(); + sub_819AA18(); + if (gUnknown_0300127C->fromSummaryScreen == TRUE) + sub_819BE34(); + gMain.state++; + break; + case 6: + sub_819BA64(); + PutWindowTilemap(2); + gMain.state++; + break; + case 7: + sub_819BCF8(); + PutWindowTilemap(5); + gMain.state++; + break; + case 8: + sub_819B9E8(); + PutWindowTilemap(1); + gMain.state++; + break; + case 9: + sub_819B9B4(); + PutWindowTilemap(0); + gMain.state++; + break; + case 10: + gUnknown_0300127C->unk2A1 = CreateTask(sub_819C69C, 0); + if (!gUnknown_0300127C->fromSummaryScreen) + { + gTasks[gUnknown_0300127C->unk2A1].data[0] = 0; + taskId = CreateTask(sub_819B378, 0); + gTasks[taskId].data[0] = 0; + } + else + { + gTasks[gUnknown_0300127C->unk2A1].data[0] = 1; + gUnknown_0300127C->unk2A2 = 0; + taskId = CreateTask(sub_819B124, 0); + gTasks[taskId].data[0] = 13; + } + SetMainCallback2(sub_819A4C8); + break; + } +} + +void sub_819A9AC(void) +{ + u8 i; + + if (gUnknown_0300127C != NULL) + return; + + gUnknown_0300127C = AllocZeroed(sizeof(*gUnknown_0300127C)); + gUnknown_0300127C->cursorPos = 0; + gUnknown_0300127C->selectingMonsState = 1; + gUnknown_0300127C->fromSummaryScreen = FALSE; + for (i = 0; i < SELECTABLE_MONS_COUNT; i++) + gUnknown_0300127C->mons[i].selectetedId = 0; + + if (gSaveBlock2Ptr->frontier.lvlMode != FRONTIER_LVL_TENT) + sub_819B484(0); + else + sub_819B63C(0); +} + +extern const struct SpriteTemplate gUnknown_086105F0; +extern const struct SpriteTemplate gUnknown_08610608; +extern const struct SpriteTemplate gUnknown_08610620; + +void sub_819AA18(void) +{ + u8 i, cursorPos; + s16 x; + + for (i = 0; i < SELECTABLE_MONS_COUNT; i++) + { + gUnknown_0300127C->mons[i].spriteId = CreateSprite(&gUnknown_086105D8, (35 * i) + 32, 64, 1); + gSprites[gUnknown_0300127C->mons[i].spriteId].data[0] = 0; + SetBallSpritePaletteNum(i); + } + cursorPos = gUnknown_0300127C->cursorPos; + x = gSprites[gUnknown_0300127C->mons[cursorPos].spriteId].pos1.x; + gUnknown_0300127C->cursorSpriteId = CreateSprite(&gUnknown_086105F0, x, 88, 0); + gUnknown_0300127C->menuCursor1SpriteId = CreateSprite(&gUnknown_08610608, 176, 112, 0); + gUnknown_0300127C->menuCursor2SpriteId = CreateSprite(&gUnknown_08610620, 176, 144, 0); + + gSprites[gUnknown_0300127C->menuCursor1SpriteId].invisible = 1; + gSprites[gUnknown_0300127C->menuCursor2SpriteId].invisible = 1; + + gSprites[gUnknown_0300127C->menuCursor1SpriteId].centerToCornerVecX = 0; + gSprites[gUnknown_0300127C->menuCursor1SpriteId].centerToCornerVecY = 0; + gSprites[gUnknown_0300127C->menuCursor2SpriteId].centerToCornerVecX = 0; + gSprites[gUnknown_0300127C->menuCursor2SpriteId].centerToCornerVecY = 0; +} + +void sub_819AB40(void) +{ + u8 i; + + for (i = 0; i < SELECTABLE_MONS_COUNT; i++) + DestroySprite(&gSprites[gUnknown_0300127C->mons[i].spriteId]); + + DestroySprite(&gSprites[gUnknown_0300127C->cursorSpriteId]); + DestroySprite(&gSprites[gUnknown_0300127C->menuCursor1SpriteId]); + DestroySprite(&gSprites[gUnknown_0300127C->menuCursor2SpriteId]); +} + +void UpdateBallCursorPosition(s8 direction) +{ + u8 cursorPos; + if (direction > 0) // Move cursor right. + { + if (gUnknown_0300127C->cursorPos != SELECTABLE_MONS_COUNT - 1) + gUnknown_0300127C->cursorPos++; + else + gUnknown_0300127C->cursorPos = 0; + } + else // Move cursor left. + { + if (gUnknown_0300127C->cursorPos != 0) + gUnknown_0300127C->cursorPos--; + else + gUnknown_0300127C->cursorPos = SELECTABLE_MONS_COUNT - 1; + } + + cursorPos = gUnknown_0300127C->cursorPos; + gSprites[gUnknown_0300127C->cursorSpriteId].pos1.x = gSprites[gUnknown_0300127C->mons[cursorPos].spriteId].pos1.x; +} + +void UpdateMenuCursorPosition(s8 direction) +{ + if (direction > 0) // Move cursor down. + { + if (gUnknown_0300127C->menuCursorPos != MENU_OPTIONS_COUNT - 1) + gUnknown_0300127C->menuCursorPos++; + else + gUnknown_0300127C->menuCursorPos = 0; + } + else // Move cursor up. + { + if (gUnknown_0300127C->menuCursorPos != 0) + gUnknown_0300127C->menuCursorPos--; + else + gUnknown_0300127C->menuCursorPos = MENU_OPTIONS_COUNT - 1; + } + + gSprites[gUnknown_0300127C->menuCursor1SpriteId].pos1.y = (gUnknown_0300127C->menuCursorPos * 16) + 112; + gSprites[gUnknown_0300127C->menuCursor2SpriteId].pos1.y = (gUnknown_0300127C->menuCursorPos * 16) + 112; +} + +void UpdateYesNoCursorPosition(s8 direction) +{ + if (direction > 0) // Move cursor down. + { + if (gUnknown_0300127C->yesNoCursorPos != 1) + gUnknown_0300127C->yesNoCursorPos++; + else + gUnknown_0300127C->yesNoCursorPos = 0; + } + else // Move cursor up. + { + if (gUnknown_0300127C->yesNoCursorPos != 0) + gUnknown_0300127C->yesNoCursorPos--; + else + gUnknown_0300127C->yesNoCursorPos = 1; + } + + gSprites[gUnknown_0300127C->menuCursor1SpriteId].pos1.y = (gUnknown_0300127C->yesNoCursorPos * 16) + 112; + gSprites[gUnknown_0300127C->menuCursor2SpriteId].pos1.y = (gUnknown_0300127C->yesNoCursorPos * 16) + 112; +} + +void HandleMonSelectionChange(void) +{ + u8 i, paletteNum; + u8 cursorPos = gUnknown_0300127C->cursorPos; + if (gUnknown_0300127C->mons[cursorPos].selectetedId) // Deselect a mon. + { + paletteNum = IndexOfSpritePaletteTag(TAG_PAL_BALL_GREY); + if (gUnknown_0300127C->selectingMonsState == 3 && gUnknown_0300127C->mons[cursorPos].selectetedId == 1) + { + for (i = 0; i < SELECTABLE_MONS_COUNT; i++) + { + if (gUnknown_0300127C->mons[i].selectetedId == 2) + break; + } + if (i == SELECTABLE_MONS_COUNT) + return; + else + gUnknown_0300127C->mons[i].selectetedId = 1; + } + gUnknown_0300127C->mons[cursorPos].selectetedId = 0; + gUnknown_0300127C->selectingMonsState--; + } + else // Select a mon. + { + paletteNum = IndexOfSpritePaletteTag(TAG_PAL_BALL_SELECTED); + gUnknown_0300127C->mons[cursorPos].selectetedId = gUnknown_0300127C->selectingMonsState; + gUnknown_0300127C->selectingMonsState++; + } + + gSprites[gUnknown_0300127C->mons[cursorPos].spriteId].oam.paletteNum = paletteNum; +} + +void SetBallSpritePaletteNum(u8 id) +{ + u8 palNum; + + if (gUnknown_0300127C->mons[id].selectetedId) + palNum = IndexOfSpritePaletteTag(TAG_PAL_BALL_SELECTED); + else + palNum = IndexOfSpritePaletteTag(TAG_PAL_BALL_GREY); + + gSprites[gUnknown_0300127C->mons[id].spriteId].oam.paletteNum = palNum; +} + +void Task_FromSelectScreenToSummaryScreen(u8 taskId) +{ + u8 i; + u8 currMonId; + + switch (gTasks[taskId].data[0]) + { + case 6: + gPlttBufferUnfaded[228] = gPlttBufferFaded[228]; + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); + gTasks[taskId].data[0] = 7; + break; + case 7: + if (!gPaletteFade.active) + { + DestroyTask(gUnknown_0300127C->unk2A1); + sub_819F444(gUnknown_0300127C->unk298, &gUnknown_0300127C->unk2A0); + sub_819AB40(); + FREE_AND_SET_NULL(gUnknown_0203CE2C); + FREE_AND_SET_NULL(gUnknown_0203CE30); + FREE_AND_SET_NULL(gUnknown_0203CE34); + FREE_AND_SET_NULL(gUnknown_0203CE38); + FreeAllWindowBuffers(); + gTasks[taskId].data[0] = 8; + } + break; + case 8: + gUnknown_0300127C->unk2A4 = gPlttBufferUnfaded[228]; + DestroyTask(taskId); + gUnknown_0300127C->fromSummaryScreen = TRUE; + currMonId = gUnknown_0300127C->cursorPos; + sFactorySelectMons = AllocZeroed(sizeof(struct Pokemon) * SELECTABLE_MONS_COUNT); + for (i = 0; i < SELECTABLE_MONS_COUNT; i++) + sFactorySelectMons[i] = gUnknown_0300127C->mons[i].monData; + ShowPokemonSummaryScreen(1, sFactorySelectMons, currMonId, SELECTABLE_MONS_COUNT - 1, sub_819A514); + break; + } +} + +void Task_CloseSelectionScreen(u8 taskId) +{ + if (gUnknown_0300127C->unk2A0 != 1) + { + switch (gTasks[taskId].data[0]) + { + case 0: + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); + gTasks[taskId].data[0]++; + break; + case 1: + if (!UpdatePaletteFade()) + { + sub_819B764(); + DestroyTask(gUnknown_0300127C->unk2A1); + sub_819AB40(); + FREE_AND_SET_NULL(gUnknown_0203CE2C); + FREE_AND_SET_NULL(gUnknown_0203CE34); + FREE_AND_SET_NULL(gUnknown_0203CE38); + FREE_AND_SET_NULL(gUnknown_0300127C); + FreeAllWindowBuffers(); + SetMainCallback2(CB2_ReturnToFieldContinueScript); + DestroyTask(taskId); + } + break; + } + } +} + +void Task_HandleSelectionScreenYesNo(u8 taskId) +{ + if (gUnknown_0300127C->unk2A0 != 1) + { + switch (gTasks[taskId].data[0]) + { + case 10: + sub_819C4B4(); + gTasks[taskId].data[0] = 4; + break; + case 4: + sub_819B8D4(); + gTasks[taskId].data[0] = 5; + break; + case 5: + if (gMain.newKeys & A_BUTTON) + { + PlaySE(SE_SELECT); + if (gUnknown_0300127C->yesNoCursorPos == 0) + { + sub_819C568(); + gTasks[taskId].data[0] = 0; + gTasks[taskId].func = Task_CloseSelectionScreen; + } + else + { + sub_819B958(4); + sub_819BC9C(); + gUnknown_0300127C->unk2A2 = 1; + gTasks[taskId].data[0] = 1; + gTasks[taskId].func = sub_819B378; + } + } + else if (gMain.newKeys & B_BUTTON) + { + PlaySE(SE_SELECT); + sub_819B958(4); + sub_819BC9C(); + gUnknown_0300127C->unk2A2 = 1; + gTasks[taskId].data[0] = 1; + gTasks[taskId].func = sub_819B378; + } + else if (gMain.newAndRepeatedKeys & DPAD_UP) + { + PlaySE(SE_SELECT); + UpdateYesNoCursorPosition(-1); + } + else if (gMain.newAndRepeatedKeys & DPAD_DOWN) + { + PlaySE(SE_SELECT); + UpdateYesNoCursorPosition(1); + } + break; + } + } +} diff --git a/src/battle_frontier_2.c b/src/battle_frontier_2.c deleted file mode 100644 index 958aa46921..0000000000 --- a/src/battle_frontier_2.c +++ /dev/null @@ -1,337 +0,0 @@ -#include "global.h" -#include "sprite.h" -#include "event_data.h" -#include "overworld.h" -#include "random.h" -#include "battle_tower.h" -#include "text.h" -#include "palette.h" -#include "task.h" -#include "main.h" -#include "malloc.h" -#include "bg.h" -#include "gpu_regs.h" -#include "window.h" -#include "decompress.h" -#include "constants/battle_frontier.h" - -#define SELECTABLE_MONS_COUNT 6 -#define TAG_PAL_BALL_GREY 0x64 -#define TAG_PAL_BALL_SELECTED 0x65 - -struct FactorySelecteableMon -{ - u16 unk0; - u16 spriteId; - bool8 selected; - u8 filler6[0x6A - 6]; - u8 unk6A; -}; - -struct UnkStructTempName -{ - u8 menuCursorPos; - u8 unk1; - u8 unk2; - u8 cursorPos; - u8 unk4; - u8 unk5; - bool8 fromSummaryScreen; - u8 unk7; - u8 unk8; - u8 unk9; - struct FactorySelecteableMon mons[SELECTABLE_MONS_COUNT]; - u8 filler294[0x2a1 - 0x294]; - u8 unk2A1; - u8 unk2A2; - u8 unk2A3; - u16 unk2A4; - u16 unk2A6; - u16 unk2A8; - u16 unk2AA; -}; - -extern struct UnkStructTempName *gUnknown_0300127C; -extern u8 *gUnknown_0203CE2C; -extern u8 *gUnknown_0203CE30; -extern u8 *gUnknown_0203CE34; -extern u8 *gUnknown_0203CE38; -extern struct Pokemon *gUnknown_0203CE3C; -extern u8 gUnknown_0203CF20; - -// This file's functions. -void sub_819A514(void); -void sub_819C5D0(u16 mWin0H, u16 nWin0H, u16 mWin0V, u16 nWin0V); -void sub_819A9AC(void); -void sub_819AA18(void); -void sub_819BE34(void); -void sub_819BA64(void); -void sub_819BCF8(void); -void sub_819B9E8(void); -void sub_819B9B4(void); -void sub_819C69C(u8 taskId); -void sub_819B378(u8 taskId); -void sub_819B124(u8 taskId); -void sub_819B484(u8 arg0); -void sub_819B63C(u8 arg0); -void SetBallSpritePaletteNum(u8 id); - -// Const rom data. -extern const struct BgTemplate gUnknown_08610428[3]; -extern const struct WindowTemplate gUnknown_08610434[]; -extern const u8 gUnknown_0861033C[]; -extern const u8 gUnknown_0861023C[]; -extern const u16 gUnknown_0861046C[]; -extern const u16 gUnknown_0861039C[]; -extern const struct SpritePalette gUnknown_086103F4[]; -extern const struct SpriteSheet gUnknown_086103BC[]; -extern const struct CompressedSpriteSheet gUnknown_086103E4[]; -extern const struct SpriteTemplate gUnknown_086105D8; - -// gfx -extern const u8 gFrontierFactorySelectMenu_Gfx[]; -extern const u8 gFrontierFactorySelectMenu_Tilemap[]; -extern const u16 gFrontierFactorySelectMenu_Pal[]; - -// code -void sub_819A44C(struct Sprite *sprite) -{ - if (sprite->oam.paletteNum == IndexOfSpritePaletteTag(TAG_PAL_BALL_SELECTED)) - { - if (sprite->animEnded) - { - if (sprite->data[0] != 0) - { - sprite->data[0]--; - } - else if (Random() % 5 == 0) - { - StartSpriteAnim(sprite, 0); - sprite->data[0] = 32; - } - else - { - StartSpriteAnim(sprite, 1); - } - } - else - { - StartSpriteAnimIfDifferent(sprite, 1); - } - } - else - { - StartSpriteAnimIfDifferent(sprite, 0); - } -} - -void sub_819A4C8(void) -{ - AnimateSprites(); - BuildOamBuffer(); - RunTextPrinters(); - UpdatePaletteFade(); - RunTasks(); -} - -void sub_819A4E4(void) -{ - LoadOam(); - ProcessSpriteCopyRequests(); - TransferPlttBuffer(); -} - -void sub_819A4F8(void) -{ - gUnknown_0300127C = NULL; - SetMainCallback2(sub_819A514); -} - -void sub_819A514(void) -{ - u8 taskId; - - switch (gMain.state) - { - case 0: - if (gUnknown_0203CE3C != NULL) - FREE_AND_SET_NULL(gUnknown_0203CE3C); - SetHBlankCallback(NULL); - SetVBlankCallback(NULL); - CpuFill32(0, (void *)VRAM, VRAM_SIZE); - ResetBgsAndClearDma3BusyFlags(0); - InitBgsFromTemplates(0, gUnknown_08610428, ARRAY_COUNT(gUnknown_08610428)); - InitWindows(gUnknown_08610434); - DeactivateAllTextPrinters(); - gMain.state++; - break; - case 1: - gUnknown_0203CE2C = Alloc(0x440); - gUnknown_0203CE30 = AllocZeroed(0x440); - gUnknown_0203CE34 = Alloc(0x800); - gUnknown_0203CE38 = AllocZeroed(0x800); - ChangeBgX(0, 0, 0); - ChangeBgY(0, 0, 0); - ChangeBgX(1, 0, 0); - ChangeBgY(1, 0, 0); - ChangeBgX(3, 0, 0); - ChangeBgY(3, 0, 0); - SetGpuReg(REG_OFFSET_BLDCNT, 0); - SetGpuReg(REG_OFFSET_BLDALPHA, 0); - SetGpuReg(REG_OFFSET_BLDY, 0); - SetGpuReg(REG_OFFSET_MOSAIC, 0); - SetGpuReg(REG_OFFSET_WIN0H, 0); - SetGpuReg(REG_OFFSET_WIN0V, 0); - SetGpuReg(REG_OFFSET_WIN1H, 0); - SetGpuReg(REG_OFFSET_WIN1V, 0); - SetGpuReg(REG_OFFSET_WININ, 0); - SetGpuReg(REG_OFFSET_WINOUT, 0); - gMain.state++; - break; - case 2: - ResetPaletteFade(); - ResetSpriteData(); - ResetTasks(); - FreeAllSpritePalettes(); - CpuCopy16(gFrontierFactorySelectMenu_Gfx, gUnknown_0203CE2C, 0x440); - CpuCopy16(gUnknown_0861033C, gUnknown_0203CE30, 0x60); - LoadBgTiles(1, gUnknown_0203CE2C, 0x440, 0); - LoadBgTiles(3, gUnknown_0203CE30, 0x60, 0); - CpuCopy16(gFrontierFactorySelectMenu_Tilemap, gUnknown_0203CE34, 0x800); - LoadBgTilemap(1, gUnknown_0203CE34, 0x800, 0); - LoadPalette(gFrontierFactorySelectMenu_Pal, 0, 0x40); - LoadPalette(gUnknown_0861046C, 0xF0, 8); - LoadPalette(gUnknown_0861046C, 0xE0, 10); - if (gUnknown_0300127C->fromSummaryScreen == TRUE) - gPlttBufferUnfaded[228] = gUnknown_0300127C->unk2A4; - LoadPalette(gUnknown_0861039C, 0x20, 4); - gMain.state++; - break; - case 3: - SetBgTilemapBuffer(3, gUnknown_0203CE38); - CopyToBgTilemapBufferRect(3, gUnknown_0861023C, 11, 4, 8, 8); - CopyToBgTilemapBufferRect(3, gUnknown_0861023C, 2, 4, 8, 8); - CopyToBgTilemapBufferRect(3, gUnknown_0861023C, 20, 4, 8, 8); - CopyBgTilemapBufferToVram(3); - gMain.state++; - break; - case 4: - LoadSpritePalettes(gUnknown_086103F4); - LoadSpriteSheets(gUnknown_086103BC); - LoadCompressedObjectPic(gUnknown_086103E4); - ShowBg(0); - ShowBg(1); - SetVBlankCallback(sub_819A4E4); - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0); - SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_ON | DISPCNT_BG0_ON | DISPCNT_BG1_ON | DISPCNT_OBJ_1D_MAP); - if (gUnknown_0300127C->fromSummaryScreen == TRUE) - { - sub_819C5D0(88, 152, 32, 96); - ShowBg(3); - SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG3 | BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_BG1 | BLDCNT_TGT2_OBJ); - SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(11, 4)); - } - else - { - HideBg(3); - } - gMain.state++; - break; - case 5: - if (gUnknown_0300127C->fromSummaryScreen == TRUE) - gUnknown_0300127C->cursorPos = gUnknown_0203CF20; - sub_819A9AC(); - sub_819AA18(); - if (gUnknown_0300127C->fromSummaryScreen == TRUE) - sub_819BE34(); - gMain.state++; - break; - case 6: - sub_819BA64(); - PutWindowTilemap(2); - gMain.state++; - break; - case 7: - sub_819BCF8(); - PutWindowTilemap(5); - gMain.state++; - break; - case 8: - sub_819B9E8(); - PutWindowTilemap(1); - gMain.state++; - break; - case 9: - sub_819B9B4(); - PutWindowTilemap(0); - gMain.state++; - break; - case 10: - gUnknown_0300127C->unk2A1 = CreateTask(sub_819C69C, 0); - if (!gUnknown_0300127C->fromSummaryScreen) - { - gTasks[gUnknown_0300127C->unk2A1].data[0] = 0; - taskId = CreateTask(sub_819B378, 0); - gTasks[taskId].data[0] = 0; - } - else - { - gTasks[gUnknown_0300127C->unk2A1].data[0] = 1; - gUnknown_0300127C->unk2A2 = 0; - taskId = CreateTask(sub_819B124, 0); - gTasks[taskId].data[0] = 13; - } - SetMainCallback2(sub_819A4C8); - break; - } -} - -void sub_819A9AC(void) -{ - u8 i; - - if (gUnknown_0300127C != NULL) - return; - - gUnknown_0300127C = AllocZeroed(sizeof(*gUnknown_0300127C)); - gUnknown_0300127C->cursorPos = 0; - gUnknown_0300127C->unk5 = 1; - gUnknown_0300127C->fromSummaryScreen = FALSE; - for (i = 0; i < SELECTABLE_MONS_COUNT; i++) - gUnknown_0300127C->mons[i].selected = FALSE; - - if (gSaveBlock2Ptr->frontier.lvlMode != FRONTIER_LVL_TENT) - sub_819B484(0); - else - sub_819B63C(0); -} - -extern const struct SpriteTemplate gUnknown_086105F0; -extern const struct SpriteTemplate gUnknown_08610608; -extern const struct SpriteTemplate gUnknown_08610620; - -void sub_819AA18(void) -{ - u8 i, cursorPos; - s16 x; - - for (i = 0; i < SELECTABLE_MONS_COUNT; i++) - { - gUnknown_0300127C->mons[i].spriteId = CreateSprite(&gUnknown_086105D8, (35 * i) + 32, 64, 1); - gSprites[gUnknown_0300127C->mons[i].spriteId].data[0] = 0; - SetBallSpritePaletteNum(i); - } - cursorPos = gUnknown_0300127C->cursorPos; - x = gSprites[gUnknown_0300127C->mons[cursorPos].spriteId].pos1.x; - gUnknown_0300127C->unk4 = CreateSprite(&gUnknown_086105F0, x, 88, 0); - gUnknown_0300127C->unk1 = CreateSprite(&gUnknown_08610608, 176, 112, 0); - gUnknown_0300127C->unk2 = CreateSprite(&gUnknown_08610620, 176, 144, 0); - - gSprites[gUnknown_0300127C->unk1].invisible = 1; - gSprites[gUnknown_0300127C->unk2].invisible = 1; - - gSprites[gUnknown_0300127C->unk1].centerToCornerVecX = 0; - gSprites[gUnknown_0300127C->unk1].centerToCornerVecY = 0; - gSprites[gUnknown_0300127C->unk2].centerToCornerVecX = 0; - gSprites[gUnknown_0300127C->unk2].centerToCornerVecY = 0; -} diff --git a/sym_ewram.txt b/sym_ewram.txt index bf2632e91b..392b84b7bc 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -643,22 +643,7 @@ gUnknown_0203CD88: @ 203CD88 .space 0x4 .include "src/menu.o" - - .align 2 -gUnknown_0203CE2C: @ 203CE2C - .space 0x4 - -gUnknown_0203CE30: @ 203CE30 - .space 0x4 - -gUnknown_0203CE34: @ 203CE34 - .space 0x4 - -gUnknown_0203CE38: @ 203CE38 - .space 0x4 - -gUnknown_0203CE3C: @ 203CE3C - .space 0x4 + .include "src/battle_factory.o" gUnknown_0203CE40: @ 203CE40 .space 0x4 From 5c66b8a7eff886b72bb98e22b5b34421d1a601d2 Mon Sep 17 00:00:00 2001 From: Slawter666 <38655737+Slawter666@users.noreply.github.com> Date: Sun, 2 Sep 2018 23:20:45 +0100 Subject: [PATCH 166/234] Label event_object_movement.c --- asm/field_effect_helpers.s | 16 +-- include/event_object_movement.h | 9 +- src/event_object_movement.c | 166 ++++++++++++++++---------------- src/overworld.c | 5 +- src/player_pc.c | 2 +- sym_ewram.txt | 10 +- 6 files changed, 100 insertions(+), 108 deletions(-) diff --git a/asm/field_effect_helpers.s b/asm/field_effect_helpers.s index 6cf62ba8bd..9a019f60ca 100644 --- a/asm/field_effect_helpers.s +++ b/asm/field_effect_helpers.s @@ -20,7 +20,7 @@ SetUpReflection: @ 8153ED4 ldrsh r2, [r4, r0] adds r0, r4, 0 movs r3, 0x98 - bl obj_unfreeze + bl CreateCopySpriteAt lsls r0, 24 lsrs r0, 24 lsls r1, r0, 4 @@ -34,7 +34,7 @@ SetUpReflection: @ 8153ED4 movs r0, 0xC orrs r1, r0 strb r1, [r7, 0x5] - ldr r2, =gUnknown_084975C4 + ldr r2, =gReflectionEffectPaletteMap lsrs r0, r1, 4 adds r0, r2 ldrb r0, [r0] @@ -185,7 +185,7 @@ npc_pal_op_B: @ 815401C bne _0815404C ldrh r0, [r2, 0x2] adds r1, r4, 0 - bl npc_load_two_palettes__no_record + bl LoadPlayerObjectReflectionPalette b _0815406A .pool _0815404C: @@ -193,15 +193,15 @@ _0815404C: bne _0815405A ldrh r0, [r2, 0x2] adds r1, r4, 0 - bl npc_load_two_palettes__and_record + bl LoadSpecialObjectReflectionPalette b _0815406A _0815405A: adds r0, r4, 0 - bl npc_paltag_by_palslot + bl GetObjectPaletteTag lsls r0, 16 lsrs r0, 16 adds r1, r4, 0 - bl pal_patch_for_npc + bl PatchObjectPalette _0815406A: adds r0, r4, 0 bl UpdateSpritePaletteWithWeather @@ -225,7 +225,7 @@ npc_pal_op_A: @ 8154078 beq _0815409C adds r0, r1, 0 adds r1, r4, 0 - bl pal_patch_for_npc + bl PatchObjectPalette adds r0, r4, 0 bl UpdateSpritePaletteWithWeather _0815409C: @@ -277,7 +277,7 @@ _081540E0: b _08154214 .pool _081540FC: - ldr r1, =gUnknown_084975C4 + ldr r1, =gReflectionEffectPaletteMap ldrb r0, [r5, 0x5] lsrs r0, 4 adds r0, r1 diff --git a/include/event_object_movement.h b/include/event_object_movement.h index 1a473eea99..d43dd78ea7 100644 --- a/include/event_object_movement.h +++ b/include/event_object_movement.h @@ -89,10 +89,10 @@ u8 GetEventObjectIdByXY(s16, s16); void SetEventObjectDirection(struct EventObject *, u8); u8 GetFirstInactiveEventObjectId(void); void RemoveEventObjectByLocalIdAndMap(u8, u8, u8); -void npc_load_two_palettes__no_record(u16, u8); -void npc_load_two_palettes__and_record(u16, u8); +void LoadPlayerObjectReflectionPalette(u16, u8); +void LoadSpecialObjectReflectionPalette(u16, u8); void sub_808EBA8(u8, u8, u8, s16, s16); -void pal_patch_for_npc(u16, u8); +void PatchObjectPalette(u16, u8); void sub_808E16C(s16, s16); void sub_808F28C(u8 localId, u8 mapNum, u8 mapGroup, u8 decorCat); void sub_8092FF0(s16, s16, s16 *, s16 *); @@ -113,7 +113,7 @@ void EventObjectTurn(struct EventObject *, u8); void EventObjectTurnByLocalIdAndMap(u8, u8, u8, u8); const struct EventObjectGraphicsInfo *GetEventObjectGraphicsInfo(u8); void npc_by_local_id_and_map_set_field_1_bit_x20(u8, u8, u8, u8); -void gpu_pal_allocator_reset__manage_upper_four(void); +void FreeAndReserveObjectSpritePalettes(void); void sub_808E82C(u8, u8, u8, s16, s16); void sub_808E7E4(u8, u8, u8); void sub_808E78C(u8, u8, u8, u8); @@ -122,6 +122,7 @@ void EventObjectGetLocalIdAndMap(struct EventObject *eventObject, void *localId, void ShiftEventObjectCoords(struct EventObject *, s16, s16); void sub_808EB08(struct EventObject *, s16, s16); void sub_808F254(u8, u8, u8); +void InitEventObjectPalettes(u8 palSlot); void UpdateEventObjectCurrentMovement(struct EventObject *, struct Sprite *, bool8(struct EventObject *, struct Sprite *)); u8 EventObjectFaceOppositeDirection(struct EventObject *, u8); u8 GetOppositeDirection(u8); diff --git a/src/event_object_movement.c b/src/event_object_movement.c index 5fdceb4c35..b54936db4a 100644 --- a/src/event_object_movement.c +++ b/src/event_object_movement.c @@ -26,9 +26,9 @@ // this file was known as evobjmv.c in Game Freak's original source -extern u8 gUnknown_020375B4; -extern u16 gUnknown_020375B6; -extern struct LockedAnimEventObjects *gLockedAnimEventObjects; +EWRAM_DATA u8 sCurrentReflectionType = 0; +EWRAM_DATA u16 sCurrentSpecialObjectPaletteTag = 0; +EWRAM_DATA struct LockedAnimEventObjects *gLockedAnimEventObjects = {0}; static void MoveCoordsInDirection(u32, s16 *, s16 *, s16, s16); static bool8 EventObjectExecSingleMovementAction(struct EventObject *, struct Sprite *); @@ -102,7 +102,7 @@ static struct EventObjectTemplate *FindEventObjectTemplateByLocalId(u8 localId, static void ClearEventObjectMovement(struct EventObject *, struct Sprite *); static void EventObjectSetSingleMovement(struct EventObject *, struct Sprite *, u8); -const u8 gUnknown_084975C4[] = {1, 1, 6, 7, 8, 9, 6, 7, 8, 9, 11, 11, 0, 0, 0, 0}; +const u8 gReflectionEffectPaletteMap[] = {1, 1, 6, 7, 8, 9, 6, 7, 8, 9, 11, 11, 0, 0, 0, 0}; const struct SpriteTemplate gCameraSpriteTemplate = {0, 0xFFFF, &gDummyOamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, ObjectCB_CameraObject}; @@ -376,7 +376,7 @@ const u8 gInitialMovementTypeFacingDirections[] = { #include "data/field_event_obj/event_object_subsprites.h" #include "data/field_event_obj/event_object_graphics_info.h" -const struct SpritePalette gUnknown_0850BBC8[] = { +const struct SpritePalette sEventObjectSpritePalettes[] = { {gEventObjectPalette0, 0x1103}, {gEventObjectPalette1, 0x1104}, {gEventObjectPalette2, 0x1105}, @@ -415,7 +415,7 @@ const struct SpritePalette gUnknown_0850BBC8[] = { {NULL, 0x0000}, }; -const u16 Unknown_0850BCE8[] = { +const u16 gPlayerReflectionPaletteTags[] = { 0x1101, 0x1101, 0x1101, @@ -429,115 +429,115 @@ const u16 Unknown_0850BCF0[] = { 0x1111, }; -const u16 Unknown_0850BCF8[] = { +const u16 gPlayerUnderwaterReflectionPaletteTags[] = { 0x1115, 0x1115, 0x1115, 0x1115, }; -const struct PairedPalettes gUnknown_0850BD00[] = { - {0x1100, Unknown_0850BCE8}, +const struct PairedPalettes gPlayerReflectionPaletteSets[] = { + {0x1100, gPlayerReflectionPaletteTags}, {0x1110, Unknown_0850BCF0}, - {0x1115, Unknown_0850BCF8}, + {0x1115, gPlayerUnderwaterReflectionPaletteTags}, {0x11FF, NULL}, }; -const u16 Unknown_0850BD20[] = { +const u16 gQuintyPlumpReflectionPaletteTags[] = { 0x110C, 0x110C, 0x110C, 0x110C, }; -const u16 Unknown_0850BD28[] = { +const u16 gTruckReflectionPaletteTags[] = { 0x110D, 0x110D, 0x110D, 0x110D, }; -const u16 Unknown_0850BD30[] = { +const u16 gVigorothMoverReflectionPaletteTags[] = { 0x110E, 0x110E, 0x110E, 0x110E, }; -const u16 Unknown_0850BD38[] = { +const u16 gMovingBoxReflectionPaletteTags[] = { 0x1112, 0x1112, 0x1112, 0x1112, }; -const u16 Unknown_0850BD40[] = { +const u16 gCableCarReflectionPaletteTags[] = { 0x1113, 0x1113, 0x1113, 0x1113, }; -const u16 Unknown_0850BD48[] = { +const u16 gSSTidalReflectionPaletteTags[] = { 0x1114, 0x1114, 0x1114, 0x1114, }; -const u16 Unknown_0850BD50[] = { +const u16 gSubmarineShadowReflectionPaletteTags[] = { 0x111B, 0x111B, 0x111B, 0x111B, }; -const u16 Unknown_0850BD58[] = { +const u16 Unknown_0850BD58[] = { // Kyogre2? 0x1117, 0x1117, 0x1117, 0x1117, }; -const u16 Unknown_0850BD60[] = { +const u16 Unknown_0850BD60[] = { // Groudon2? 0x1119, 0x1119, 0x1119, 0x1119, }; -const u16 Unknown_0850BD68[] = { +const u16 Unknown_0850BD68[] = { // Invisible Keckleon? 0x1109, 0x1109, 0x1109, 0x1109, }; -const u16 Unknown_0850BD70[] = { +const u16 gRedLeafReflectionPaletteTags[] = { 0x111D, 0x111D, 0x111D, 0x111D, }; -const struct PairedPalettes gUnknown_0850BD78[] = { - {4352, Unknown_0850BCE8}, +const struct PairedPalettes gSpecialObjectReflectionPaletteSets[] = { + {4352, gPlayerReflectionPaletteTags}, {4368, Unknown_0850BCF0}, - {4363, Unknown_0850BD20}, - {4365, Unknown_0850BD28}, - {4366, Unknown_0850BD30}, - {4370, Unknown_0850BD38}, - {4371, Unknown_0850BD40}, - {4372, Unknown_0850BD48}, + {4363, gQuintyPlumpReflectionPaletteTags}, + {4365, gTruckReflectionPaletteTags}, + {4366, gVigorothMoverReflectionPaletteTags}, + {4370, gMovingBoxReflectionPaletteTags}, + {4371, gCableCarReflectionPaletteTags}, + {4372, gSSTidalReflectionPaletteTags}, {4374, Unknown_0850BD58}, {4376, Unknown_0850BD60}, {4357, Unknown_0850BD68}, - {4379, Unknown_0850BD50}, - {4381, Unknown_0850BD70}, + {4379, gSubmarineShadowReflectionPaletteTags}, + {4381, gRedLeafReflectionPaletteTags}, {4607, NULL}, }; -const u16 gUnknown_0850BDE8[] = { +const u16 gObjectPaletteTags0[] = { 0x1100, 0x1101, 0x1103, @@ -550,7 +550,7 @@ const u16 gUnknown_0850BDE8[] = { 0x110A, }; -const u16 gUnknown_0850BDFC[] = { +const u16 gObjectPaletteTags1[] = { 0x1100, 0x1101, 0x1103, @@ -563,7 +563,7 @@ const u16 gUnknown_0850BDFC[] = { 0x110A, }; -const u16 gUnknown_0850BE10[] = { +const u16 gObjectPaletteTags2[] = { 0x1100, 0x1101, 0x1103, @@ -576,7 +576,7 @@ const u16 gUnknown_0850BE10[] = { 0x110A, }; -const u16 gUnknown_0850BE24[] = { +const u16 gObjectPaletteTags3[] = { 0x1100, 0x1101, 0x1103, @@ -590,11 +590,11 @@ const u16 gUnknown_0850BE24[] = { }; -const u16 *const gUnknown_0850BE38[] = { - gUnknown_0850BDE8, - gUnknown_0850BDFC, - gUnknown_0850BE10, - gUnknown_0850BE24, +const u16 *const gObjectPaletteTagSets[] = { + gObjectPaletteTags0, + gObjectPaletteTags1, + gObjectPaletteTags2, + gObjectPaletteTags3, }; #include "data/field_event_obj/berry_tree_graphics_tables.h" @@ -1461,11 +1461,11 @@ static u8 TrySetupEventObjectSprite(struct EventObjectTemplate *eventObjectTempl paletteSlot = graphicsInfo->paletteSlot; if (paletteSlot == 0) { - npc_load_two_palettes__no_record(graphicsInfo->paletteTag1, 0); + LoadPlayerObjectReflectionPalette(graphicsInfo->paletteTag1, 0); } else if (paletteSlot == 10) { - npc_load_two_palettes__and_record(graphicsInfo->paletteTag1, 10); + LoadSpecialObjectReflectionPalette(graphicsInfo->paletteTag1, 10); } else if (paletteSlot >= 16) { @@ -1653,7 +1653,7 @@ u8 sprite_new(u8 graphicsId, u8 a1, s16 x, s16 y, u8 z, u8 direction) sprite->data[1] = z; if (graphicsInfo->paletteSlot == 10) { - npc_load_two_palettes__and_record(graphicsInfo->paletteTag1, graphicsInfo->paletteSlot); + LoadSpecialObjectReflectionPalette(graphicsInfo->paletteTag1, graphicsInfo->paletteSlot); } else if (graphicsInfo->paletteSlot >= 16) { @@ -1806,11 +1806,11 @@ static void sub_808E1B8(u8 eventObjectId, s16 x, s16 y) paletteSlot = graphicsInfo->paletteSlot; if (paletteSlot == 0) { - npc_load_two_palettes__no_record(graphicsInfo->paletteTag1, graphicsInfo->paletteSlot); + LoadPlayerObjectReflectionPalette(graphicsInfo->paletteTag1, graphicsInfo->paletteSlot); } else if (paletteSlot == 10) { - npc_load_two_palettes__and_record(graphicsInfo->paletteTag1, graphicsInfo->paletteSlot); + LoadSpecialObjectReflectionPalette(graphicsInfo->paletteTag1, graphicsInfo->paletteSlot); } else if (paletteSlot >= 16) { @@ -1882,11 +1882,11 @@ void EventObjectSetGraphicsId(struct EventObject *eventObject, u8 graphicsId) paletteSlot = graphicsInfo->paletteSlot; if (paletteSlot == 0) { - pal_patch_for_npc(graphicsInfo->paletteTag1, graphicsInfo->paletteSlot); + PatchObjectPalette(graphicsInfo->paletteTag1, graphicsInfo->paletteSlot); } else if (paletteSlot == 10) { - npc_load_two_palettes__and_record(graphicsInfo->paletteTag1, graphicsInfo->paletteSlot); + LoadSpecialObjectReflectionPalette(graphicsInfo->paletteTag1, graphicsInfo->paletteSlot); } else if (paletteSlot >= 16) { @@ -1980,14 +1980,14 @@ const struct EventObjectGraphicsInfo *GetEventObjectGraphicsInfo(u8 graphicsId) { graphicsId = VarGetEventObjectGraphicsId(graphicsId - SPRITE_VAR); } - if (graphicsId == 0x45) + if (graphicsId == EVENT_OBJ_GFX_BARD) { bard = GetCurrentMauvilleOldMan(); return gMauvilleOldManGraphicsInfoPointers[bard]; } if (graphicsId >= NUM_OBJECT_GRAPHICS_INFO) { - graphicsId = 0x05; // LittleBoy1 + graphicsId = EVENT_OBJ_GFX_LITTLE_BOY_1; } return gEventObjectGraphicsInfoPointers[graphicsId]; } @@ -2071,7 +2071,7 @@ void sub_808E82C(u8 localId, u8 mapNum, u8 mapGroup, s16 x, s16 y) } } -void gpu_pal_allocator_reset__manage_upper_four(void) +void FreeAndReserveObjectSpritePalettes(void) { FreeAllSpritePalettes(); gReservedSpritePaletteCount = 12; @@ -2084,7 +2084,7 @@ static void sub_808E894(u16 paletteTag) paletteSlot = FindEventObjectPaletteIndexByTag(paletteTag); if (paletteSlot != 0x11ff) // always true { - sub_808E8F4(&gUnknown_0850BBC8[paletteSlot]); + sub_808E8F4(&sEventObjectSpritePalettes[paletteSlot]); } } @@ -2107,19 +2107,19 @@ static u8 sub_808E8F4(const struct SpritePalette *spritePalette) return LoadSpritePalette(spritePalette); } -void pal_patch_for_npc(u16 paletteTag, u8 paletteSlot) +void PatchObjectPalette(u16 paletteTag, u8 paletteSlot) { u16 paletteIdx; paletteIdx = FindEventObjectPaletteIndexByTag(paletteTag); - LoadPalette(gUnknown_0850BBC8[paletteIdx].data, 16 * paletteSlot + 256, 0x20); + LoadPalette(sEventObjectSpritePalettes[paletteIdx].data, 16 * paletteSlot + 256, 0x20); } -void pal_patch_for_npc_range(const u16 *paletteTags, u8 minSlot, u8 maxSlot) +void PatchObjectPaletteRange(const u16 *paletteTags, u8 minSlot, u8 maxSlot) { while (minSlot < maxSlot) { - pal_patch_for_npc(*paletteTags, minSlot); + PatchObjectPalette(*paletteTags, minSlot); paletteTags++; minSlot++; } @@ -2129,9 +2129,9 @@ static u8 FindEventObjectPaletteIndexByTag(u16 tag) { u8 i; - for (i = 0; gUnknown_0850BBC8[i].tag != 0x11ff; i++) + for (i = 0; sEventObjectSpritePalettes[i].tag != 0x11ff; i++) { - if (gUnknown_0850BBC8[i].tag == tag) + if (sEventObjectSpritePalettes[i].tag == tag) { return i; } @@ -2139,32 +2139,32 @@ static u8 FindEventObjectPaletteIndexByTag(u16 tag) return 0xff; } -void npc_load_two_palettes__no_record(u16 tag, u8 slot) +void LoadPlayerObjectReflectionPalette(u16 tag, u8 slot) { u8 i; - pal_patch_for_npc(tag, slot); - for (i = 0; gUnknown_0850BD00[i].tag != 0x11ff; i++) + PatchObjectPalette(tag, slot); + for (i = 0; gPlayerReflectionPaletteSets[i].tag != 0x11ff; i++) { - if (gUnknown_0850BD00[i].tag == tag) + if (gPlayerReflectionPaletteSets[i].tag == tag) { - pal_patch_for_npc(gUnknown_0850BD00[i].data[gUnknown_020375B4], gUnknown_084975C4[slot]); + PatchObjectPalette(gPlayerReflectionPaletteSets[i].data[sCurrentReflectionType], gReflectionEffectPaletteMap[slot]); return; } } } -void npc_load_two_palettes__and_record(u16 tag, u8 slot) +void LoadSpecialObjectReflectionPalette(u16 tag, u8 slot) { u8 i; - gUnknown_020375B6 = tag; - pal_patch_for_npc(tag, slot); - for (i = 0; gUnknown_0850BD78[i].tag != 0x11ff; i++) + sCurrentSpecialObjectPaletteTag = tag; + PatchObjectPalette(tag, slot); + for (i = 0; gSpecialObjectReflectionPaletteSets[i].tag != 0x11ff; i++) { - if (gUnknown_0850BD78[i].tag == tag) + if (gSpecialObjectReflectionPaletteSets[i].tag == tag) { - pal_patch_for_npc(gUnknown_0850BD78[i].data[gUnknown_020375B4], gUnknown_084975C4[slot]); + PatchObjectPalette(gSpecialObjectReflectionPaletteSets[i].data[sCurrentReflectionType], gReflectionEffectPaletteMap[slot]); return; } } @@ -2172,7 +2172,7 @@ void npc_load_two_palettes__and_record(u16 tag, u8 slot) static void sub_808EAB0(u16 tag, u8 slot) { - pal_patch_for_npc(tag, slot); + PatchObjectPalette(tag, slot); } void unref_sub_808EAC4(struct EventObject *eventObject, s16 x, s16 y) @@ -2191,7 +2191,7 @@ void ShiftEventObjectCoords(struct EventObject *eventObject, s16 x, s16 y) eventObject->currentCoords.y = y; } -/*static*/ void npc_coords_set(struct EventObject *eventObject, s16 x, s16 y) +/*static*/ void SetEventObjectCoords(struct EventObject *eventObject, s16 x, s16 y) { eventObject->previousCoords.x = x; eventObject->previousCoords.y = y; @@ -2206,7 +2206,7 @@ void sub_808EB08(struct EventObject *eventObject, s16 x, s16 y) sprite = &gSprites[eventObject->spriteId]; graphicsInfo = GetEventObjectGraphicsInfo(eventObject->graphicsId); - npc_coords_set(eventObject, x, y); + SetEventObjectCoords(eventObject, x, y); sub_8093038(eventObject->currentCoords.x, eventObject->currentCoords.y, &sprite->pos1.x, &sprite->pos1.y); sprite->centerToCornerVecX = -(graphicsInfo->width >> 1); sprite->centerToCornerVecY = -(graphicsInfo->height >> 1); @@ -2414,7 +2414,7 @@ u8 CopySprite(struct Sprite *sprite, s16 x, s16 y, u8 subpriority) return i; } -u8 obj_unfreeze(struct Sprite *sprite, s16 x, s16 y, u8 subpriority) +u8 CreateCopySpriteAt(struct Sprite *sprite, s16 x, s16 y, u8 subpriority) { s16 i; @@ -2610,35 +2610,35 @@ void sub_808F28C(u8 localId, u8 mapNum, u8 mapGroup, u8 decorCat) } } -void npc_paltag_set_load(u8 palSlot) +void InitEventObjectPalettes(u8 palSlot) { - gpu_pal_allocator_reset__manage_upper_four(); - gUnknown_020375B6 = 0x11ff; - gUnknown_020375B4 = palSlot; + FreeAndReserveObjectSpritePalettes(); + sCurrentSpecialObjectPaletteTag = 0x11ff; + sCurrentReflectionType = palSlot; if (palSlot == 1) { - pal_patch_for_npc_range(gUnknown_0850BE38[gUnknown_020375B4], 0, 6); + PatchObjectPaletteRange(gObjectPaletteTagSets[sCurrentReflectionType], 0, 6); gReservedSpritePaletteCount = 8; } else { - pal_patch_for_npc_range(gUnknown_0850BE38[gUnknown_020375B4], 0, 10); + PatchObjectPaletteRange(gObjectPaletteTagSets[sCurrentReflectionType], 0, 10); } } -u16 npc_paltag_by_palslot(u8 palSlot) +u16 GetObjectPaletteTag(u8 palSlot) { u8 i; if (palSlot < 10) { - return gUnknown_0850BE38[gUnknown_020375B4][palSlot]; + return gObjectPaletteTagSets[sCurrentReflectionType][palSlot]; } - for (i = 0; gUnknown_0850BD78[i].tag != 0x11ff; i++) + for (i = 0; gSpecialObjectReflectionPaletteSets[i].tag != 0x11ff; i++) { - if (gUnknown_0850BD78[i].tag == gUnknown_020375B6) + if (gSpecialObjectReflectionPaletteSets[i].tag == sCurrentSpecialObjectPaletteTag) { - return gUnknown_0850BD78[i].data[gUnknown_020375B4]; + return gSpecialObjectReflectionPaletteSets[i].data[sCurrentReflectionType]; } } return 0x11ff; diff --git a/src/overworld.c b/src/overworld.c index 1cf830cf70..d4425effc8 100644 --- a/src/overworld.c +++ b/src/overworld.c @@ -159,7 +159,6 @@ extern void sub_80AAFA4(void); extern void ShowStartMenu(void); extern void sub_80AEE84(void); extern void mapldr_default(void); -extern void npc_paltag_set_load(u8); extern void sub_8088B3C(u16, u16); extern bool32 sub_800F0B8(void); extern bool32 sub_8009F3C(void); @@ -2153,9 +2152,9 @@ static void sub_8086988(u32 a1) ResetCameraUpdateInfo(); InstallCameraPanAheadCallback(); if (!a1) - npc_paltag_set_load(0); + InitEventObjectPalettes(0); else - npc_paltag_set_load(1); + InitEventObjectPalettes(1); FieldEffectActiveListClear(); sub_80AAFA4(); diff --git a/src/player_pc.c b/src/player_pc.c index 26ea834fa3..7ac8e78d55 100644 --- a/src/player_pc.c +++ b/src/player_pc.c @@ -558,7 +558,7 @@ static void ItemStorage_WithdrawToss_Helper(u8 taskId, bool8 toss) playerPCItemPageInfo.scrollIndicatorId = 0xFF; ItemStorage_SetItemAndMailCount(taskId); sub_816BC14(); - gpu_pal_allocator_reset__manage_upper_four(); + FreeAndReserveObjectSpritePalettes(); LoadListMenuArrowsGfx(); sub_8122344(gUnknown_0203BCC4->spriteIds, 7); sub_8197434(0,0); diff --git a/sym_ewram.txt b/sym_ewram.txt index bf2632e91b..426ec93075 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -226,15 +226,7 @@ gUnknown_020375A4: @ 20375A4 gUnknown_020375AC: @ 20375AC .space 0x8 -gUnknown_020375B4: @ 20375B4 - .space 0x2 - -gUnknown_020375B6: @ 20375B6 - .space 0x2 - -gLockedAnimEventObjects: @ 20375B8 - .space 0x4 - + .include "src/event_object_movement.o" .include "src/field_message_box.o" .align 2 From 24b9cd721ff1f5c7f2fdd674299d0d2d9f396be2 Mon Sep 17 00:00:00 2001 From: DizzyEggg <jajkodizzy@wp.pl> Date: Mon, 3 Sep 2018 22:55:55 +0200 Subject: [PATCH 167/234] More Battle Factory --- asm/battle_frontier_2.s | 1682 +--------------------------------- asm/battle_tower.s | 4 +- asm/contest_link_80F57C4.s | 2 +- asm/easy_chat.s | 2 +- asm/party_menu.s | 8 +- asm/pokenav.s | 32 +- asm/rom_8011DC0.s | 84 +- asm/slot_machine.s | 2 +- asm/trade.s | 4 +- asm/trainer_card.s | 68 +- asm/use_pokeblock.s | 2 +- include/global.h | 8 +- include/menu.h | 2 +- src/battle_factory.c | 569 +++++++++++- src/berry_fix_program.c | 10 +- src/hall_of_fame.c | 26 +- src/link.c | 10 +- src/mail.c | 4 +- src/main_menu.c | 44 +- src/menu.c | 6 +- src/naming_screen.c | 6 +- src/pokemon_storage_system.c | 4 +- src/starter_choose.c | 4 +- 23 files changed, 717 insertions(+), 1866 deletions(-) diff --git a/asm/battle_frontier_2.s b/asm/battle_frontier_2.s index 4ad5644007..4e0c3126f1 100644 --- a/asm/battle_frontier_2.s +++ b/asm/battle_frontier_2.s @@ -7,1658 +7,6 @@ - thumb_func_start sub_819B124 -sub_819B124: @ 819B124 - push {r4-r7,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - ldrh r0, [r0, 0x8] - subs r0, 0x2 - lsls r0, 16 - asrs r0, 16 - adds r6, r1, 0 - cmp r0, 0xB - bls _0819B144 - b _0819B36E -_0819B144: - lsls r0, 2 - ldr r1, =_0819B158 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0819B158: - .4byte _0819B188 - .4byte _0819B1EC - .4byte _0819B36E - .4byte _0819B36E - .4byte _0819B36E - .4byte _0819B36E - .4byte _0819B36E - .4byte _0819B1BC - .4byte _0819B36E - .4byte _0819B36E - .4byte _0819B300 - .4byte _0819B35C -_0819B188: - ldr r0, =gUnknown_0300127C - ldr r1, [r0] - ldrb r0, [r1, 0x6] - cmp r0, 0 - bne _0819B1A2 - ldr r2, =0x00000299 - adds r0, r1, r2 - movs r7, 0xA8 - lsls r7, 2 - adds r1, r7 - movs r2, 0 - bl sub_819F2B4 -_0819B1A2: - ldr r0, =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r0 - movs r0, 0x9 - b _0819B36C - .pool -_0819B1BC: - ldr r4, =gUnknown_0300127C - ldr r0, [r4] - movs r1, 0xA8 - lsls r1, 2 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x1 - bne _0819B1CE - b _0819B36E -_0819B1CE: - bl sub_819B844 - ldr r1, [r4] - movs r0, 0 - strb r0, [r1, 0x6] - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - b _0819B344 - .pool -_0819B1EC: - ldr r2, =gMain - ldrh r1, [r2, 0x2E] - movs r7, 0x1 - movs r6, 0x1 - adds r0, r6, 0 - ands r0, r1 - cmp r0, 0 - beq _0819B27C - movs r0, 0x5 - bl PlaySE - bl sub_819BC04 - lsls r0, 24 - lsrs r0, 24 - adds r1, r0, 0 - cmp r0, 0x1 - bne _0819B228 - ldr r0, =gUnknown_0300127C - ldr r0, [r0] - ldr r2, =0x000002a2 - adds r0, r2 - b _0819B2AC - .pool -_0819B228: - cmp r0, 0x2 - bne _0819B248 - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - movs r1, 0xA - strh r1, [r0, 0x8] - ldr r1, =Task_HandleSelectionScreenYesNo - str r1, [r0] - b _0819B36E - .pool -_0819B248: - cmp r1, 0x3 - bne _0819B260 - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - movs r1, 0xB - strh r1, [r0, 0x8] - b _0819B2BA - .pool -_0819B260: - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - movs r1, 0x6 - strh r1, [r0, 0x8] - ldr r1, =Task_FromSelectScreenToSummaryScreen - str r1, [r0] - b _0819B36E - .pool -_0819B27C: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0819B2D0 - movs r0, 0x5 - bl PlaySE - ldr r4, =gUnknown_0300127C - ldr r1, [r4] - movs r2, 0xA6 - lsls r2, 2 - adds r0, r1, r2 - ldr r0, [r0] - adds r2, 0x8 - adds r1, r2 - movs r2, 0 - bl sub_819F3F8 - movs r0, 0x3 - bl sub_819B958 - ldr r0, [r4] - ldr r1, =0x000002a2 - adds r0, r1 -_0819B2AC: - strb r7, [r0] - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - strh r6, [r0, 0x8] -_0819B2BA: - ldr r1, =sub_819B378 - str r1, [r0] - b _0819B36E - .pool -_0819B2D0: - ldrh r1, [r2, 0x30] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _0819B2EA - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - negs r0, r0 - bl UpdateMenuCursorPosition - b _0819B36E -_0819B2EA: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0819B36E - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - bl UpdateMenuCursorPosition - b _0819B36E -_0819B300: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0 - bne _0819B36E - ldr r4, =gUnknown_0300127C - ldr r2, [r4] - ldrb r0, [r2, 0x6] - cmp r0, 0x1 - bne _0819B338 - ldr r1, =gPlttBufferFaded - movs r7, 0xA9 - lsls r7, 2 - adds r0, r2, r7 - ldrh r0, [r0] - movs r2, 0xE4 - lsls r2, 1 - adds r1, r2 - strh r0, [r1] - ldr r0, =gPlttBufferUnfaded - subs r7, 0xBC - adds r1, r0, r7 - ldrh r1, [r1] - adds r0, r2 - strh r1, [r0] -_0819B338: - ldr r0, [r4] - strb r3, [r0, 0x6] - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r6 -_0819B344: - movs r1, 0x3 - strh r1, [r0, 0x8] - b _0819B36E - .pool -_0819B35C: - bl sub_819B844 - ldr r0, =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r0 - movs r0, 0xC -_0819B36C: - strh r0, [r1, 0x8] -_0819B36E: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_819B124 - - thumb_func_start sub_819B378 -sub_819B378: @ 819B378 - push {r4-r7,lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r5, =gUnknown_0300127C - ldr r3, [r5] - movs r7, 0xA8 - lsls r7, 2 - adds r0, r3, r7 - ldrb r0, [r0] - cmp r0, 0x1 - beq _0819B476 - ldr r1, =gTasks - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r4, r0, r1 - movs r0, 0x8 - ldrsh r1, [r4, r0] - cmp r1, 0x1 - beq _0819B3DC - cmp r1, 0x1 - bgt _0819B3B4 - cmp r1, 0 - beq _0819B3BA - b _0819B476 - .pool -_0819B3B4: - cmp r1, 0xB - beq _0819B440 - b _0819B476 -_0819B3BA: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0819B476 - movs r0, 0x1 - movs r1, 0x1 - strh r1, [r4, 0x8] - ldr r2, =0x000002a2 - adds r1, r3, r2 - strb r0, [r1] - b _0819B476 - .pool -_0819B3DC: - ldr r2, =gMain - ldrh r0, [r2, 0x2E] - ands r1, r0 - cmp r1, 0 - beq _0819B40C - movs r0, 0x5 - bl PlaySE - ldr r0, [r5] - ldr r1, =0x000002a2 - adds r0, r1 - movs r1, 0 - strb r1, [r0] - movs r0, 0x2 - strh r0, [r4, 0x8] - ldr r0, =sub_819B124 - str r0, [r4] - b _0819B476 - .pool -_0819B40C: - ldrh r1, [r2, 0x30] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _0819B422 - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - negs r0, r0 - b _0819B432 -_0819B422: - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _0819B476 - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 -_0819B432: - bl UpdateBallCursorPosition - bl sub_819BCF8 - bl sub_819B9E8 - b _0819B476 -_0819B440: - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r6, 0x1 - adds r0, r6, 0 - ands r0, r1 - cmp r0, 0 - beq _0819B476 - movs r0, 0x5 - bl PlaySE - ldr r1, [r5] - movs r2, 0xA6 - lsls r2, 2 - adds r0, r1, r2 - ldr r0, [r0] - adds r1, r7 - movs r2, 0 - bl sub_819F3F8 - bl sub_819BA64 - ldr r0, [r5] - ldr r1, =0x000002a2 - adds r0, r1 - movs r1, 0x1 - strb r1, [r0] - strh r6, [r4, 0x8] -_0819B476: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_819B378 - - thumb_func_start sub_819B484 -sub_819B484: @ 819B484 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x24 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x10] - movs r6, 0 - add r0, sp, 0xC - strb r6, [r0] - ldr r0, =0x000040ce - bl VarGet - lsls r0, 24 - lsrs r0, 24 - adds r6, r0, 0 - ldr r7, =gSaveBlock2Ptr - ldr r2, [r7] - ldr r0, =0x00000ca9 - adds r4, r2, r0 - ldrb r0, [r4] - lsls r0, 30 - lsrs r0, 30 - adds r5, r0, 0 - lsls r0, r5, 1 - lsls r1, r6, 2 - adds r0, r1 - ldr r1, =0x00000de2 - adds r2, r1 - adds r2, r0 - ldrh r0, [r2] - movs r1, 0x7 - bl __udivsi3 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x18] - ldr r1, =gFacilityTrainerMons - ldr r0, =gBattleFrontierMons - str r0, [r1] - ldrb r1, [r4] - movs r0, 0x3 - ands r0, r1 - movs r2, 0x32 - str r2, [sp, 0x14] - cmp r0, 0 - beq _0819B4EA - movs r3, 0x64 - str r3, [sp, 0x14] -_0819B4EA: - adds r0, r6, 0 - adds r1, r5, 0 - bl sub_81A6F70 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x1C] - ldr r1, [r7] - ldrb r0, [r1, 0xA] - mov r9, r0 - ldrb r0, [r1, 0xB] - lsls r0, 8 - mov r2, r9 - orrs r2, r0 - ldrb r0, [r1, 0xC] - lsls r0, 16 - orrs r2, r0 - ldrb r0, [r1, 0xD] - lsls r0, 24 - orrs r2, r0 - mov r9, r2 - movs r3, 0 - mov r8, r3 -_0819B518: - ldr r0, =gSaveBlock2Ptr - ldr r1, [r0] - mov r2, r8 - lsls r0, r2, 1 - add r0, r8 - lsls r0, 2 - adds r1, r0 - movs r3, 0xE7 - lsls r3, 4 - adds r1, r3 - ldrh r5, [r1] - ldr r0, =gUnknown_0300127C - ldr r1, [r0] - ldr r2, [sp, 0x10] - add r2, r8 - movs r3, 0x6C - adds r0, r2, 0 - muls r0, r3 - adds r1, r0 - strh r5, [r1, 0xC] - mov r10, r2 - ldr r0, [sp, 0x1C] - cmp r8, r0 - bcs _0819B570 - ldr r0, [sp, 0x18] - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - b _0819B572 - .pool -_0819B570: - ldr r0, [sp, 0x18] -_0819B572: - movs r1, 0 - bl sub_81A6CA8 - lsls r0, 24 - lsrs r6, r0, 24 - movs r1, 0x6C - mov r4, r10 - muls r4, r1 - adds r4, 0xC - ldr r2, =gUnknown_0300127C - ldr r0, [r2] - adds r0, r4 - adds r0, 0x8 - ldr r1, =gFacilityTrainerMons - ldr r2, [r1] - lsls r5, 4 - adds r2, r5, r2 - ldrh r1, [r2] - ldrb r3, [r2, 0xC] - str r6, [sp] - ldrb r2, [r2, 0xB] - str r2, [sp, 0x4] - mov r2, r9 - str r2, [sp, 0x8] - ldr r2, [sp, 0x14] - bl CreateMonWithEVSpreadPersonalityOTID - movs r1, 0 - add r0, sp, 0xC - strb r1, [r0] - movs r6, 0 - adds r7, r5, 0 - movs r3, 0x1 - add r8, r3 - ldr r3, =gUnknown_0300127C -_0819B5B8: - ldr r0, [r3] - adds r0, r4 - adds r0, 0x8 - ldr r5, =gFacilityTrainerMons - ldr r1, [r5] - adds r1, r7, r1 - lsls r2, r6, 1 - adds r1, 0x2 - adds r1, r2 - ldrh r1, [r1] - adds r2, r6, 0 - str r3, [sp, 0x20] - bl sub_81A7024 - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - ldr r3, [sp, 0x20] - cmp r6, 0x3 - bls _0819B5B8 - movs r0, 0x6C - mov r4, r10 - muls r4, r0 - adds r4, 0xC - ldr r1, =gUnknown_0300127C - ldr r0, [r1] - adds r0, r4 - adds r0, 0x8 - movs r1, 0x20 - add r2, sp, 0xC - bl SetMonData - ldr r2, =gUnknown_0300127C - ldr r0, [r2] - adds r0, r4 - adds r0, 0x8 - ldr r1, [r5] - adds r1, r7, r1 - ldrb r2, [r1, 0xA] - lsls r2, 1 - ldr r1, =gBattleFrontierHeldItems - adds r2, r1 - movs r1, 0xC - bl SetMonData - mov r3, r8 - lsls r0, r3, 24 - lsrs r0, 24 - mov r8, r0 - cmp r0, 0x5 - bhi _0819B620 - b _0819B518 -_0819B620: - add sp, 0x24 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_819B484 - - thumb_func_start sub_819B63C -sub_819B63C: @ 819B63C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x14 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x10] - add r0, sp, 0xC - movs r1, 0 - strb r1, [r0] - ldr r2, =gFacilityTrainerMons - ldr r0, =gSlateportBattleTentMons - str r0, [r2] - ldr r0, =gSaveBlock2Ptr - ldr r1, [r0] - ldrb r3, [r1, 0xA] - ldrb r0, [r1, 0xB] - lsls r0, 8 - orrs r3, r0 - ldrb r0, [r1, 0xC] - lsls r0, 16 - orrs r3, r0 - ldrb r0, [r1, 0xD] - lsls r0, 24 - orrs r3, r0 - mov r10, r3 - movs r7, 0 - mov r9, r7 -_0819B678: - ldr r0, =gSaveBlock2Ptr - ldr r1, [r0] - mov r2, r9 - lsls r0, r2, 1 - add r0, r9 - lsls r0, 2 - adds r1, r0 - movs r3, 0xE7 - lsls r3, 4 - adds r1, r3 - ldrh r1, [r1] - mov r8, r1 - ldr r7, =gUnknown_0300127C - ldr r0, [r7] - ldr r6, [sp, 0x10] - add r6, r9 - movs r1, 0x6C - adds r4, r6, 0 - muls r4, r1 - adds r1, r0, r4 - mov r2, r8 - strh r2, [r1, 0xC] - adds r4, 0xC - adds r0, r4 - adds r0, 0x8 - ldr r3, =gFacilityTrainerMons - ldr r2, [r3] - mov r7, r8 - lsls r5, r7, 4 - adds r2, r5, r2 - ldrh r1, [r2] - ldrb r3, [r2, 0xC] - movs r7, 0 - str r7, [sp] - ldrb r2, [r2, 0xB] - str r2, [sp, 0x4] - mov r2, r10 - str r2, [sp, 0x8] - movs r2, 0x1E - bl CreateMonWithEVSpreadPersonalityOTID - add r0, sp, 0xC - movs r3, 0 - strb r3, [r0] - movs r0, 0x1 - add r9, r0 -_0819B6D4: - ldr r1, =gUnknown_0300127C - ldr r0, [r1] - adds r0, r4 - adds r0, 0x8 - ldr r3, =gFacilityTrainerMons - ldr r2, [r3] - mov r3, r8 - lsls r1, r3, 4 - adds r1, r2 - lsls r2, r7, 1 - adds r1, 0x2 - adds r1, r2 - ldrh r1, [r1] - adds r2, r7, 0 - bl sub_81A7024 - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - cmp r7, 0x3 - bls _0819B6D4 - movs r7, 0x6C - adds r4, r6, 0 - muls r4, r7 - adds r4, 0xC - ldr r1, =gUnknown_0300127C - ldr r0, [r1] - adds r0, r4 - adds r0, 0x8 - movs r1, 0x20 - add r2, sp, 0xC - bl SetMonData - ldr r2, =gUnknown_0300127C - ldr r0, [r2] - adds r0, r4 - adds r0, 0x8 - ldr r3, =gFacilityTrainerMons - ldr r1, [r3] - adds r1, r5, r1 - ldrb r2, [r1, 0xA] - lsls r2, 1 - ldr r1, =gBattleFrontierHeldItems - adds r2, r1 - movs r1, 0xC - bl SetMonData - mov r7, r9 - lsls r0, r7, 24 - lsrs r0, 24 - mov r9, r0 - cmp r0, 0x5 - bls _0819B678 - add sp, 0x14 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_819B63C - - thumb_func_start sub_819B764 -sub_819B764: @ 819B764 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - movs r7, 0 - ldr r0, =gUnknown_0300127C - mov r10, r0 - ldr r1, =gSaveBlock2Ptr - mov r8, r1 -_0819B778: - movs r2, 0 - adds r0, r7, 0x1 - mov r9, r0 -_0819B77E: - mov r1, r10 - ldr r0, [r1] - movs r1, 0x6C - adds r6, r2, 0 - muls r6, r1 - adds r1, r0, r6 - ldrb r0, [r1, 0x10] - cmp r0, r9 - bne _0819B81C - movs r0, 0x64 - adds r5, r7, 0 - muls r5, r0 - ldr r2, =gPlayerParty - adds r5, r2 - adds r1, 0x14 - adds r0, r5, 0 - movs r2, 0x64 - bl memcpy - mov r0, r8 - ldr r1, [r0] - lsls r4, r7, 1 - adds r4, r7 - lsls r4, 2 - adds r1, r4 - mov r2, r10 - ldr r0, [r2] - adds r0, r6 - ldrh r0, [r0, 0xC] - movs r2, 0xE7 - lsls r2, 4 - adds r1, r2 - strh r0, [r1] - adds r0, r5, 0 - movs r1, 0 - movs r2, 0 - bl GetMonData - mov r2, r8 - ldr r1, [r2] - ldr r2, =0x00000e74 - adds r1, r2 - adds r1, r4 - str r0, [r1] - adds r0, r5, 0 - movs r1, 0x2E - movs r2, 0 - bl GetBoxMonData - mov r2, r8 - ldr r1, [r2] - adds r1, r4 - ldr r2, =0x00000e79 - adds r1, r2 - strb r0, [r1] - adds r0, r5, 0 - movs r1, 0x28 - movs r2, 0 - bl GetBoxMonData - mov r2, r8 - ldr r1, [r2] - adds r1, r4 - ldr r2, =0x00000e78 - adds r1, r2 - strb r0, [r1] - b _0819B826 - .pool -_0819B81C: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x5 - bls _0819B77E -_0819B826: - mov r1, r9 - lsls r0, r1, 24 - lsrs r7, r0, 24 - cmp r7, 0x2 - bls _0819B778 - bl CalculatePlayerPartyCount - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_819B764 - - thumb_func_start sub_819B844 -sub_819B844: @ 819B844 - push {r4,r5,lr} - ldr r5, =gUnknown_0300127C - ldr r1, [r5] - ldrb r0, [r1, 0x6] - cmp r0, 0 - bne _0819B852 - strb r0, [r1] -_0819B852: - ldr r4, =gSprites - ldr r2, [r5] - ldrb r1, [r2, 0x1] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0xB0 - strh r1, [r0, 0x20] - ldrb r0, [r2, 0x1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - ldrb r0, [r2] - lsls r0, 4 - adds r0, 0x70 - strh r0, [r1, 0x22] - ldrb r1, [r2, 0x2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0xD0 - strh r1, [r0, 0x20] - ldrb r0, [r2, 0x2] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - ldrb r0, [r2] - lsls r0, 4 - adds r0, 0x70 - strh r0, [r1, 0x22] - ldrb r0, [r2, 0x1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - adds r1, 0x3E - ldrb r3, [r1] - movs r2, 0x5 - negs r2, r2 - adds r0, r2, 0 - ands r0, r3 - strb r0, [r1] - ldr r0, [r5] - ldrb r1, [r0, 0x2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r0, 0x3E - ldrb r1, [r0] - ands r2, r1 - strb r2, [r0] - bl sub_819BAFC - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_819B844 - - thumb_func_start sub_819B8D4 -sub_819B8D4: @ 819B8D4 - push {r4,r5,lr} - ldr r5, =gUnknown_0300127C - ldr r1, [r5] - movs r0, 0 - strb r0, [r1, 0x7] - ldr r4, =gSprites - ldr r2, [r5] - ldrb r1, [r2, 0x1] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0xB0 - strh r1, [r0, 0x20] - ldrb r1, [r2, 0x1] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r3, 0x70 - strh r3, [r0, 0x22] - ldrb r1, [r2, 0x2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0xD0 - strh r1, [r0, 0x20] - ldrb r1, [r2, 0x2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - strh r3, [r0, 0x22] - ldrb r0, [r2, 0x1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - adds r1, 0x3E - ldrb r3, [r1] - movs r2, 0x5 - negs r2, r2 - adds r0, r2, 0 - ands r0, r3 - strb r0, [r1] - ldr r0, [r5] - ldrb r1, [r0, 0x2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r0, 0x3E - ldrb r1, [r0] - ands r2, r1 - strb r2, [r0] - bl sub_819BBA8 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_819B8D4 - - thumb_func_start sub_819B958 -sub_819B958: @ 819B958 - push {r4,r5,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r5, =gSprites - ldr r3, =gUnknown_0300127C - ldr r0, [r3] - ldrb r1, [r0, 0x1] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - ldr r0, [r3] - ldrb r1, [r0, 0x2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - adds r0, 0x3E - ldrb r1, [r0] - orrs r1, r2 - strb r1, [r0] - adds r0, r4, 0 - movs r1, 0 - bl FillWindowPixelBuffer - adds r0, r4, 0 - movs r1, 0x2 - bl CopyWindowToVram - adds r0, r4, 0 - bl ClearWindowTilemap - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_819B958 - - thumb_func_start sub_819B9B4 -sub_819B9B4: @ 819B9B4 - push {lr} - sub sp, 0xC - movs r0, 0 - movs r1, 0 - bl FillWindowPixelBuffer - ldr r2, =gText_RentalPkmn2 - movs r0, 0x1 - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - str r0, [sp, 0x8] - movs r1, 0x1 - movs r3, 0x2 - bl PrintTextOnWindow - movs r0, 0 - movs r1, 0x3 - bl CopyWindowToVram - add sp, 0xC - pop {r0} - bx r0 - .pool - thumb_func_end sub_819B9B4 - - thumb_func_start sub_819B9E8 -sub_819B9E8: @ 819B9E8 - push {r4,r5,lr} - sub sp, 0xC - ldr r5, =gUnknown_0300127C - ldr r0, [r5] - ldrb r4, [r0, 0x3] - movs r0, 0x1 - movs r1, 0 - bl FillWindowPixelBuffer - movs r0, 0x6C - muls r0, r4 - ldr r1, [r5] - adds r0, r1 - adds r0, 0x14 - movs r1, 0xB - movs r2, 0 - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - ldr r4, =gStringVar4 - movs r1, 0xB - muls r1, r0 - ldr r0, =gSpeciesNames - adds r1, r0 - adds r0, r4, 0 - bl StringCopy - movs r0, 0x1 - adds r1, r4, 0 - movs r2, 0x56 - bl GetStringRightAlignXOffset - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - ldr r0, =gUnknown_08610479 - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - str r4, [sp, 0x8] - movs r0, 0x1 - movs r1, 0x1 - movs r3, 0x1 - bl box_print - movs r0, 0x1 - movs r1, 0x2 - bl CopyWindowToVram - add sp, 0xC - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_819B9E8 - - thumb_func_start sub_819BA64 -sub_819BA64: @ 819BA64 - push {lr} - sub sp, 0xC - movs r0, 0x2 - movs r1, 0 - bl FillWindowPixelBuffer - ldr r0, =gUnknown_0300127C - ldr r0, [r0] - ldrb r0, [r0, 0x5] - cmp r0, 0x1 - bne _0819BA88 - ldr r2, =gText_SelectFirstPkmn - b _0819BA9C - .pool -_0819BA88: - cmp r0, 0x2 - bne _0819BA94 - ldr r2, =gText_SelectSecondPkmn - b _0819BA9C - .pool -_0819BA94: - ldr r2, =gText_TheseThreePkmnOkay - cmp r0, 0x3 - bne _0819BA9C - ldr r2, =gText_SelectThirdPkmn -_0819BA9C: - movs r0, 0x5 - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - str r0, [sp, 0x8] - movs r0, 0x2 - movs r1, 0x1 - movs r3, 0x2 - bl PrintTextOnWindow - movs r0, 0x2 - movs r1, 0x2 - bl CopyWindowToVram - add sp, 0xC - pop {r0} - bx r0 - .pool - thumb_func_end sub_819BA64 - - thumb_func_start sub_819BAC8 -sub_819BAC8: @ 819BAC8 - push {lr} - sub sp, 0xC - movs r0, 0x2 - movs r1, 0 - bl FillWindowPixelBuffer - ldr r2, =gText_CantSelectSamePkmn - movs r0, 0x5 - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - str r0, [sp, 0x8] - movs r0, 0x2 - movs r1, 0x1 - movs r3, 0x2 - bl PrintTextOnWindow - movs r0, 0x2 - movs r1, 0x2 - bl CopyWindowToVram - add sp, 0xC - pop {r0} - bx r0 - .pool - thumb_func_end sub_819BAC8 - - thumb_func_start sub_819BAFC -sub_819BAFC: @ 819BAFC - push {r4-r6,lr} - sub sp, 0xC - ldr r0, =gUnknown_0300127C - ldr r0, [r0] - ldrb r2, [r0, 0x3] - movs r1, 0x6C - muls r1, r2 - adds r0, r1 - ldrb r5, [r0, 0x10] - movs r0, 0x3 - bl PutWindowTilemap - movs r0, 0x3 - movs r1, 0 - bl FillWindowPixelBuffer - ldr r4, =gUnknown_08610476 - str r4, [sp] - movs r6, 0 - str r6, [sp, 0x4] - ldr r0, =gText_Summary - str r0, [sp, 0x8] - movs r0, 0x3 - movs r1, 0x1 - movs r2, 0x7 - movs r3, 0x1 - bl box_print - cmp r5, 0 - beq _0819BB60 - str r4, [sp] - str r6, [sp, 0x4] - ldr r0, =gText_Deselect - str r0, [sp, 0x8] - movs r0, 0x3 - movs r1, 0x1 - movs r2, 0x7 - movs r3, 0x11 - bl box_print - b _0819BB74 - .pool -_0819BB60: - str r4, [sp] - str r5, [sp, 0x4] - ldr r0, =gText_Rent - str r0, [sp, 0x8] - movs r0, 0x3 - movs r1, 0x1 - movs r2, 0x7 - movs r3, 0x11 - bl box_print -_0819BB74: - ldr r0, =gUnknown_08610476 - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - ldr r0, =gText_Others2 - str r0, [sp, 0x8] - movs r0, 0x3 - movs r1, 0x1 - movs r2, 0x7 - movs r3, 0x21 - bl box_print - movs r0, 0x3 - movs r1, 0x3 - bl CopyWindowToVram - add sp, 0xC - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_819BAFC - - thumb_func_start sub_819BBA8 -sub_819BBA8: @ 819BBA8 - push {r4,r5,lr} - sub sp, 0xC - movs r0, 0x4 - bl PutWindowTilemap - movs r0, 0x4 - movs r1, 0 - bl FillWindowPixelBuffer - ldr r5, =gUnknown_08610476 - str r5, [sp] - movs r4, 0 - str r4, [sp, 0x4] - ldr r0, =gText_Yes2 - str r0, [sp, 0x8] - movs r0, 0x4 - movs r1, 0x1 - movs r2, 0x7 - movs r3, 0x1 - bl box_print - str r5, [sp] - str r4, [sp, 0x4] - ldr r0, =gText_No2 - str r0, [sp, 0x8] - movs r0, 0x4 - movs r1, 0x1 - movs r2, 0x7 - movs r3, 0x11 - bl box_print - movs r0, 0x4 - movs r1, 0x3 - bl CopyWindowToVram - add sp, 0xC - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_819BBA8 - - thumb_func_start sub_819BC04 -sub_819BC04: @ 819BC04 - push {lr} - ldr r2, =gUnknown_030062E8 - ldr r1, =gUnknown_0861041C - ldr r0, =gUnknown_0300127C - ldr r0, [r0] - ldrb r0, [r0] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - str r0, [r2] - bl _call_via_r0 - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .pool - thumb_func_end sub_819BC04 - - thumb_func_start sub_819BC30 -sub_819BC30: @ 819BC30 - push {r4,lr} - ldr r0, =gUnknown_0300127C - ldr r0, [r0] - ldrb r2, [r0, 0x3] - movs r1, 0x6C - muls r1, r2 - adds r0, r1 - ldrb r1, [r0, 0x10] - ldrh r0, [r0, 0xC] - cmp r1, 0 - bne _0819BC60 - bl sub_819C634 - cmp r0, 0 - bne _0819BC60 - bl sub_819BAC8 - movs r0, 0x3 - bl sub_819B958 - movs r0, 0x3 - b _0819BC96 - .pool -_0819BC60: - ldr r4, =gUnknown_0300127C - ldr r1, [r4] - movs r2, 0xA6 - lsls r2, 2 - adds r0, r1, r2 - ldr r0, [r0] - adds r2, 0x8 - adds r1, r2 - movs r2, 0 - bl sub_819F3F8 - bl HandleMonSelectionChange - bl sub_819BA64 - movs r0, 0x3 - bl sub_819B958 - ldr r0, [r4] - ldrb r0, [r0, 0x5] - cmp r0, 0x3 - bhi _0819BC94 - movs r0, 0x1 - b _0819BC96 - .pool -_0819BC94: - movs r0, 0x2 -_0819BC96: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_819BC30 - - thumb_func_start sub_819BC9C -sub_819BC9C: @ 819BC9C - push {lr} - bl sub_819C568 - bl HandleMonSelectionChange - bl sub_819BA64 - movs r0, 0x3 - bl sub_819B958 - ldr r0, =gUnknown_0300127C - ldr r0, [r0] - ldrb r0, [r0, 0x5] - cmp r0, 0x3 - bhi _0819BCC4 - movs r0, 0x1 - b _0819BCC6 - .pool -_0819BCC4: - movs r0, 0x2 -_0819BCC6: - pop {r1} - bx r1 - thumb_func_end sub_819BC9C - - thumb_func_start sub_819BCCC -sub_819BCCC: @ 819BCCC - movs r0, 0 - bx lr - thumb_func_end sub_819BCCC - - thumb_func_start sub_819BCD0 -sub_819BCD0: @ 819BCD0 - push {lr} - ldr r0, =gUnknown_0300127C - ldr r1, [r0] - movs r2, 0xA6 - lsls r2, 2 - adds r0, r1, r2 - ldr r0, [r0] - adds r2, 0x8 - adds r1, r2 - movs r2, 0 - bl sub_819F3F8 - movs r0, 0x3 - bl sub_819B958 - movs r0, 0x1 - pop {r1} - bx r1 - .pool - thumb_func_end sub_819BCD0 - - thumb_func_start sub_819BCF8 -sub_819BCF8: @ 819BCF8 - push {r4,r5,lr} - sub sp, 0x2C - ldr r5, =gUnknown_0300127C - ldr r0, [r5] - ldrb r4, [r0, 0x3] - cmp r4, 0x5 - bhi _0819BD64 - movs r0, 0x5 - bl PutWindowTilemap - movs r0, 0x5 - movs r1, 0 - bl FillWindowPixelBuffer - movs r0, 0x6C - muls r0, r4 - ldr r1, [r5] - adds r0, r1 - adds r0, 0x14 - movs r1, 0xB - movs r2, 0 - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - bl SpeciesToNationalPokedexNum - lsls r0, 16 - lsrs r0, 16 - add r1, sp, 0xC - bl CopyMonCategoryText - movs r0, 0x1 - add r1, sp, 0xC - movs r2, 0x76 - bl GetStringRightAlignXOffset - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - movs r0, 0x1 - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - str r0, [sp, 0x8] - movs r0, 0x5 - movs r1, 0x1 - add r2, sp, 0xC - bl PrintTextOnWindow - movs r0, 0x5 - movs r1, 0x2 - bl CopyWindowToVram -_0819BD64: - add sp, 0x2C - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_819BCF8 - - thumb_func_start sub_819BD70 -sub_819BD70: @ 819BD70 - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0x10 - ldr r6, =gUnknown_0300127C - ldr r2, [r6] - ldrb r1, [r2, 0x3] - movs r0, 0x6C - adds r4, r1, 0 - muls r4, r0 - adds r4, r2 - adds r4, 0x14 - adds r0, r4, 0 - movs r1, 0xB - movs r2, 0 - bl GetMonData - adds r5, r0, 0 - lsls r5, 16 - lsrs r5, 16 - adds r0, r4, 0 - movs r1, 0 - movs r2, 0 - bl GetMonData - mov r8, r0 - adds r0, r4, 0 - movs r1, 0x1 - movs r2, 0 - bl GetMonData - adds r1, r0, 0 - movs r0, 0x58 - str r0, [sp] - movs r0, 0x20 - str r0, [sp, 0x4] - movs r0, 0xF - str r0, [sp, 0x8] - ldr r0, =0x0000ffff - str r0, [sp, 0xC] - adds r0, r5, 0 - mov r2, r8 - movs r3, 0x1 - bl CreateMonPicSprite_HandleDeoxys - ldr r1, [r6] - movs r2, 0xA6 - lsls r2, 2 - adds r1, r2 - movs r3, 0 - strb r0, [r1] - ldr r4, =gSprites - ldr r0, [r6] - adds r0, r2 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r0, 0x28 - strb r3, [r0] - ldr r0, [r6] - adds r0, r2 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r0, 0x29 - strb r3, [r0] - ldr r0, [r6] - movs r1, 0xA8 - lsls r1, 2 - adds r0, r1 - strb r3, [r0] - add sp, 0x10 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_819BD70 - - thumb_func_start sub_819BE20 -sub_819BE20: @ 819BE20 - ldr r1, =gUnknown_0300127C - ldr r1, [r1] - movs r2, 0xA8 - lsls r2, 2 - adds r1, r2 - strb r0, [r1] - bx lr - .pool - thumb_func_end sub_819BE20 - - thumb_func_start sub_819BE34 -sub_819BE34: @ 819BE34 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x10 - ldr r0, =gUnknown_08610638 - movs r1, 0x78 - movs r2, 0x40 - movs r3, 0x1 - bl CreateSprite - ldr r6, =gUnknown_0300127C - ldr r1, [r6] - ldr r2, =0x00000299 - mov r10, r2 - add r1, r10 - movs r7, 0 - strb r0, [r1] - ldr r0, [r6] - add r0, r10 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - mov r8, r1 - add r0, r8 - movs r1, 0x2 - bl StartSpriteAffineAnim - ldr r2, [r6] - ldrb r1, [r2, 0x3] - movs r0, 0x6C - adds r4, r1, 0 - muls r4, r0 - adds r4, r2 - adds r4, 0x14 - adds r0, r4, 0 - movs r1, 0xB - movs r2, 0 - bl GetMonData - adds r5, r0, 0 - lsls r5, 16 - lsrs r5, 16 - adds r0, r4, 0 - movs r1, 0 - movs r2, 0 - bl GetMonData - mov r9, r0 - adds r0, r4, 0 - movs r1, 0x1 - movs r2, 0 - bl GetMonData - adds r1, r0, 0 - movs r0, 0x58 - str r0, [sp] - movs r0, 0x20 - str r0, [sp, 0x4] - movs r0, 0xF - str r0, [sp, 0x8] - ldr r0, =0x0000ffff - str r0, [sp, 0xC] - adds r0, r5, 0 - mov r2, r9 - movs r3, 0x1 - bl CreateMonPicSprite_HandleDeoxys - ldr r1, [r6] - movs r2, 0xA6 - lsls r2, 2 - adds r1, r2 - strb r0, [r1] - ldr r0, [r6] - adds r0, r2 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - add r0, r8 - adds r0, 0x28 - strb r7, [r0] - ldr r0, [r6] - adds r0, r2 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - add r0, r8 - adds r0, 0x29 - strb r7, [r0] - ldr r0, [r6] - add r0, r10 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - add r0, r8 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - 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_819BE34 thumb_func_start sub_819BF2C sub_819BF2C: @ 819BF2C @@ -6974,7 +5322,7 @@ _0819EB8A: movs r0, 0x1 movs r1, 0x1 movs r3, 0x1 - bl box_print + bl AddTextPrinterParameterized3 movs r0, 0x1 movs r1, 0x3 bl CopyWindowToVram @@ -7032,7 +5380,7 @@ sub_819EC20: @ 819EC20 movs r1, 0x1 movs r2, 0xF movs r3, 0x1 - bl box_print + bl AddTextPrinterParameterized3 str r5, [sp] str r4, [sp, 0x4] ldr r0, =gText_Swap @@ -7041,7 +5389,7 @@ sub_819EC20: @ 819EC20 movs r1, 0x1 movs r2, 0xF movs r3, 0x11 - bl box_print + bl AddTextPrinterParameterized3 str r5, [sp] str r4, [sp, 0x4] ldr r0, =gText_Rechoose @@ -7050,7 +5398,7 @@ sub_819EC20: @ 819EC20 movs r1, 0x1 movs r2, 0xF movs r3, 0x21 - bl box_print + bl AddTextPrinterParameterized3 movs r0, 0x3 movs r1, 0x3 bl CopyWindowToVram @@ -7080,7 +5428,7 @@ sub_819EC94: @ 819EC94 movs r1, 0x1 movs r2, 0x7 movs r3, 0x1 - bl box_print + bl AddTextPrinterParameterized3 str r5, [sp] str r4, [sp, 0x4] ldr r0, =gText_No3 @@ -7089,7 +5437,7 @@ sub_819EC94: @ 819EC94 movs r1, 0x1 movs r2, 0x7 movs r3, 0x11 - bl box_print + bl AddTextPrinterParameterized3 movs r0, 0x4 movs r1, 0x3 bl CopyWindowToVram @@ -7126,7 +5474,7 @@ sub_819ECF0: @ 819ECF0 adds r0, r4, 0 movs r1, 0 adds r3, r5, 0 - bl box_print + bl AddTextPrinterParameterized3 add sp, 0xC pop {r4-r6} pop {r0} @@ -7321,7 +5669,7 @@ _0819EE8E: movs r0, 0x7 movs r1, 0x1 movs r3, 0x1 - bl box_print + bl AddTextPrinterParameterized3 movs r0, 0x7 movs r1, 0x3 bl CopyWindowToVram @@ -7398,7 +5746,7 @@ _0819EF46: movs r0, 0x1 movs r1, 0x1 movs r3, 0x1 - bl box_print + bl AddTextPrinterParameterized3 movs r0, 0x1 movs r1, 0x3 bl CopyWindowToVram @@ -21389,7 +19737,7 @@ _081A6602: lsls r2, r6, 24 lsrs r2, 24 adds r0, r4, r5 - bl sub_81A7024 + bl SetMonMoveAvoidReturn adds r6, 0x1 cmp r6, 0x3 ble _081A6602 @@ -21555,7 +19903,7 @@ _081A674E: lsls r2, r6, 24 lsrs r2, 24 adds r0, r4, r5 - bl sub_81A7024 + bl SetMonMoveAvoidReturn adds r6, 0x1 cmp r6, 0x3 ble _081A674E @@ -22445,7 +20793,7 @@ _081A6E6E: lsls r2, r4, 24 lsrs r2, 24 adds r0, r5, r6 - bl sub_81A7024 + bl SetMonMoveAvoidReturn adds r4, 0x1 cmp r4, 0x3 ble _081A6E6E @@ -22638,8 +20986,8 @@ _081A701E: bx r1 thumb_func_end GetAiScriptsInBattleFactory - thumb_func_start sub_81A7024 -sub_81A7024: @ 81A7024 + thumb_func_start SetMonMoveAvoidReturn +SetMonMoveAvoidReturn: @ 81A7024 push {lr} lsls r1, 16 lsls r2, 24 @@ -22652,7 +21000,7 @@ _081A7034: bl SetMonMoveSlot pop {r0} bx r0 - thumb_func_end sub_81A7024 + thumb_func_end SetMonMoveAvoidReturn thumb_func_start sub_81A703C sub_81A703C: @ 81A703C diff --git a/asm/battle_tower.s b/asm/battle_tower.s index f240693071..2312b63bde 100644 --- a/asm/battle_tower.s +++ b/asm/battle_tower.s @@ -2544,7 +2544,7 @@ _08163718: adds r0, r6, r2 adds r2, r3, 0 str r3, [sp, 0x1C] - bl sub_81A7024 + bl SetMonMoveAvoidReturn ldr r3, [sp, 0x1C] adds r0, r3, 0x1 lsls r0, 24 @@ -2662,7 +2662,7 @@ _08163818: ldr r2, =gEnemyParty adds r0, r6, r2 adds r2, r7, 0 - bl sub_81A7024 + bl SetMonMoveAvoidReturn ldr r1, =gFacilityTrainerMons ldr r0, [r1] adds r0, r5, r0 diff --git a/asm/contest_link_80F57C4.s b/asm/contest_link_80F57C4.s index 9eefa154fc..3e35ab7f12 100644 --- a/asm/contest_link_80F57C4.s +++ b/asm/contest_link_80F57C4.s @@ -2237,7 +2237,7 @@ _080F6BD0: adds r0, r4, 0 movs r1, 0x1 movs r3, 0x1 - bl box_print + bl AddTextPrinterParameterized3 adds r0, r4, 0 movs r1, 0x7 bl GetWindowAttribute diff --git a/asm/easy_chat.s b/asm/easy_chat.s index 768311639d..ffe8e171b7 100644 --- a/asm/easy_chat.s +++ b/asm/easy_chat.s @@ -4693,7 +4693,7 @@ sub_811D058: @ 811D058 str r4, [sp, 0x4] str r2, [sp, 0x8] mov r2, r9 - bl box_print + bl AddTextPrinterParameterized3 add sp, 0x10 pop {r3-r5} mov r8, r3 diff --git a/asm/party_menu.s b/asm/party_menu.s index 2d1faadab5..67fc563fba 100644 --- a/asm/party_menu.s +++ b/asm/party_menu.s @@ -4502,7 +4502,7 @@ _081B24C0: adds r0, r5, 0 movs r1, 0 movs r3, 0x1 - bl box_print + bl AddTextPrinterParameterized3 b _081B2540 .pool _081B2514: @@ -4525,7 +4525,7 @@ _081B2514: adds r0, r5, 0 movs r1, 0 movs r3, 0x1 - bl box_print + bl AddTextPrinterParameterized3 _081B2540: adds r0, r5, 0 bl PutWindowTilemap @@ -5108,7 +5108,7 @@ sub_81B2A3C: @ 81B2A3C str r1, [sp, 0x8] movs r1, 0 adds r2, r5, 0 - bl box_print + bl AddTextPrinterParameterized3 add sp, 0xC pop {r4,r5} pop {r0} @@ -5804,7 +5804,7 @@ _081B2FF2: ldr r1, [r1] str r1, [sp, 0x8] movs r1, 0x1 - bl box_print + bl AddTextPrinterParameterized3 _081B3018: add sp, 0xC pop {r3} diff --git a/asm/pokenav.s b/asm/pokenav.s index b8165ec809..e69a9ef8c2 100644 --- a/asm/pokenav.s +++ b/asm/pokenav.s @@ -1471,7 +1471,7 @@ sub_81C7BA4: @ 81C7BA4 movs r1, 0x1 movs r2, 0 movs r3, 0x1 - bl box_print + bl AddTextPrinterParameterized3 add sp, 0xC pop {r4,r5} pop {r0} @@ -3707,7 +3707,7 @@ sub_81C8CB4: @ 81C8CB4 str r2, [sp, 0x4] str r6, [sp, 0x8] movs r2, 0x8 - bl box_print + bl AddTextPrinterParameterized3 adds r0, r4, 0 movs r1, 0x1 bl sub_81C8C64 @@ -3835,7 +3835,7 @@ sub_81C8DBC: @ 81C8DBC movs r1, 0x7 movs r2, 0x2 adds r3, r5, 0 - bl box_print + bl AddTextPrinterParameterized3 ldrh r0, [r6, 0x8] lsls r4, 1 ldrb r1, [r6, 0x4] @@ -7078,7 +7078,7 @@ sub_81CA714: @ 81CA714 str r6, [sp, 0x8] movs r1, 0x1 movs r3, 0x1 - bl box_print + bl AddTextPrinterParameterized3 add sp, 0xC pop {r4-r6} pop {r0} @@ -7116,7 +7116,7 @@ sub_81CA770: @ 81CA770 str r6, [sp, 0x8] movs r1, 0x1 movs r3, 0x1 - bl box_print + bl AddTextPrinterParameterized3 add sp, 0xC pop {r4-r6} pop {r0} @@ -20108,7 +20108,7 @@ sub_81D0E84: @ 81D0E84 movs r1, 0x1 movs r2, 0 movs r3, 0x1 - bl box_print + bl AddTextPrinterParameterized3 ldrb r0, [r5, 0xA] movs r1, 0x2 bl CopyWindowToVram @@ -20155,7 +20155,7 @@ _081D0F2E: str r1, [sp, 0x8] movs r1, 0x1 movs r2, 0 - bl box_print + bl AddTextPrinterParameterized3 movs r0, 0x80 lsls r0, 21 adds r5, r0 @@ -20195,7 +20195,7 @@ _081D0F7C: str r1, [sp, 0x8] movs r1, 0x1 movs r2, 0 - bl box_print + bl AddTextPrinterParameterized3 movs r0, 0x80 lsls r0, 21 adds r6, r0 @@ -24413,7 +24413,7 @@ _081D36CA: movs r1, 0x1 movs r2, 0 adds r3, r5, 0 - bl box_print + bl AddTextPrinterParameterized3 lsls r0, r7, 1 mov r4, sp adds r4, r0 @@ -24436,7 +24436,7 @@ _081D3704: movs r1, 0x1 movs r2, 0x38 adds r3, r5, 0 - bl box_print + bl AddTextPrinterParameterized3 movs r0, 0 ldrsh r1, [r4, r0] adds r0, r1, 0 @@ -24467,7 +24467,7 @@ _081D373A: mov r0, r8 movs r1, 0x1 adds r3, r5, 0 - bl box_print + bl AddTextPrinterParameterized3 adds r0, r7, 0x1 lsls r0, 16 lsrs r7, r0, 16 @@ -24585,7 +24585,7 @@ _081D3808: movs r1, 0x1 movs r2, 0 adds r3, r5, 0 - bl box_print + bl AddTextPrinterParameterized3 adds r4, 0x38 lsls r4, 24 lsrs r4, 24 @@ -24599,7 +24599,7 @@ _081D3808: movs r1, 0x1 adds r2, r4, 0 adds r3, r5, 0 - bl box_print + bl AddTextPrinterParameterized3 adds r0, r6, 0x1 lsls r0, 16 lsrs r6, r0, 16 @@ -28979,7 +28979,7 @@ PrintOnTrainerHillRecordsWindow: @ 81D5C8C movs r0, 0 movs r1, 0x1 movs r3, 0x2 - bl box_print + bl AddTextPrinterParameterized3 movs r7, 0x12 movs r0, 0 mov r8, r0 @@ -29002,7 +29002,7 @@ _081D5CD6: movs r0, 0 movs r1, 0x1 movs r2, 0 - bl box_print + bl AddTextPrinterParameterized3 adds r7, 0xF ldr r0, =gSaveBlock1Ptr ldr r1, =0x00003718 @@ -29068,7 +29068,7 @@ _081D5CD6: str r0, [sp, 0x8] movs r0, 0 movs r1, 0x1 - bl box_print + bl AddTextPrinterParameterized3 adds r7, 0x11 movs r1, 0x1 add r8, r1 diff --git a/asm/rom_8011DC0.s b/asm/rom_8011DC0.s index 01f29e0a51..d96e3c2946 100644 --- a/asm/rom_8011DC0.s +++ b/asm/rom_8011DC0.s @@ -12955,7 +12955,7 @@ _0801C1D0: movs r1, 0x3 movs r2, 0 movs r3, 0x1 - bl box_print + bl AddTextPrinterParameterized3 ldr r4, [r7] movs r1, 0xDA lsls r1, 1 @@ -12996,7 +12996,7 @@ _0801C22E: adds r0, r5, 0 movs r1, 0x3 movs r3, 0x11 - bl box_print + bl AddTextPrinterParameterized3 ldr r2, [r7] ldr r0, [r2, 0x4] mov r9, r6 @@ -13023,7 +13023,7 @@ _0801C266: movs r1, 0x1 movs r2, 0xA6 movs r3, 0x11 - bl box_print + bl AddTextPrinterParameterized3 b _0801C498 .pool _0801C2A0: @@ -13064,7 +13064,7 @@ _0801C2A2: lsrs r0, r2, 24 movs r1, 0x3 movs r2, 0 - bl box_print + bl AddTextPrinterParameterized3 adds r4, 0x1 lsls r4, 24 lsrs r0, r4, 24 @@ -13104,7 +13104,7 @@ _0801C304: adds r0, r5, 0 movs r1, 0x3 movs r2, 0 - bl box_print + bl AddTextPrinterParameterized3 ldr r2, [r7] ldrb r1, [r2, 0x8] movs r0, 0x3 @@ -13137,7 +13137,7 @@ _0801C304: adds r0, r5, 0 movs r1, 0x3 movs r2, 0 - bl box_print + bl AddTextPrinterParameterized3 mov r9, r6 b _0801C498 .pool @@ -13202,7 +13202,7 @@ _0801C3CE: ldr r0, [sp, 0x10] movs r1, 0x3 ldr r3, [sp, 0x14] - bl box_print + bl AddTextPrinterParameterized3 ldr r1, [r7] adds r0, r1, r5 ldr r2, =0x00000306 @@ -13240,7 +13240,7 @@ _0801C3CE: ldr r0, [sp, 0x10] movs r1, 0x3 ldr r3, [sp, 0x14] - bl box_print + bl AddTextPrinterParameterized3 ldr r1, [r7] adds r1, r4 adds r1, 0x2A @@ -14515,7 +14515,7 @@ _0801CEEC: str r4, [sp, 0x8] movs r1, 0x3 movs r3, 0x6 - bl box_print + bl AddTextPrinterParameterized3 _0801CF1C: ldr r6, =gUnknown_02022C78 ldr r4, [r6] @@ -14550,7 +14550,7 @@ _0801CF1C: str r4, [sp, 0x8] movs r1, 0x3 movs r2, 0 - bl box_print + bl AddTextPrinterParameterized3 adds r0, r5, 0x1 lsls r0, 24 lsrs r5, r0, 24 @@ -20926,7 +20926,7 @@ _08020154: movs r0, 0x1 movs r1, 0x2 movs r3, 0x1 - bl box_print + bl AddTextPrinterParameterized3 add sp, 0x34 pop {r3-r5} mov r8, r3 @@ -21004,7 +21004,7 @@ _08020206: movs r0, 0x2 movs r1, 0 lsrs r2, r5, 24 - bl box_print + bl AddTextPrinterParameterized3 adds r4, 0x4 adds r7, 0x1 adds r0, r6, 0 @@ -21043,7 +21043,7 @@ _08020248: movs r4, 0x80 lsls r4, 19 lsrs r2, r4, 24 - bl box_print + bl AddTextPrinterParameterized3 adds r0, r7, 0x1 str r0, [sp, 0x48] adds r6, 0xC @@ -21094,7 +21094,7 @@ _080202AC: movs r0, 0x2 movs r1, 0 adds r3, r4, 0 - bl box_print + bl AddTextPrinterParameterized3 adds r2, r7, 0 add r0, sp, 0xC str r0, [sp] @@ -21106,7 +21106,7 @@ _080202AC: movs r0, 0x2 movs r1, 0 adds r3, r4, 0 - bl box_print + bl AddTextPrinterParameterized3 _08020300: ldr r7, [sp, 0x48] mov r4, r10 @@ -21299,7 +21299,7 @@ sub_8020420: @ 8020420 movs r1, 0x2 movs r2, 0 adds r3, r4, 0 - bl box_print + bl AddTextPrinterParameterized3 add sp, 0x10 pop {r4,r5} pop {r0} @@ -23909,7 +23909,7 @@ sub_80219C8: @ 80219C8 movs r1, 0x2 adds r2, r4, 0 movs r3, 0 - bl box_print + bl AddTextPrinterParameterized3 add sp, 0xC pop {r3} mov r8, r3 @@ -24217,7 +24217,7 @@ _08021C5E: ldr r1, =gStringVar4 str r1, [sp, 0x8] movs r1, 0x2 - bl box_print + bl AddTextPrinterParameterized3 ldr r3, [sp, 0x18] ldr r2, [sp, 0xC] ldrb r2, [r2, 0x8] @@ -24260,7 +24260,7 @@ _08021CC8: str r2, [sp, 0x8] movs r1, 0x2 movs r2, 0x4 - bl box_print + bl AddTextPrinterParameterized3 lsls r0, r5, 24 lsrs r5, r0, 24 ldr r3, [sp, 0xC] @@ -24324,7 +24324,7 @@ sub_8021D34: @ 8021D34 movs r1, 0x2 movs r2, 0 adds r3, r7, 0 - bl box_print + bl AddTextPrinterParameterized3 ldr r4, =gText_SpaceSec movs r0, 0x2 adds r1, r4, 0 @@ -24345,7 +24345,7 @@ sub_8021D34: @ 8021D34 movs r1, 0x2 adds r2, r6, 0 adds r3, r7, 0 - bl box_print + bl AddTextPrinterParameterized3 movs r0, 0x9F lsls r0, 1 add r0, r8 @@ -24386,7 +24386,7 @@ sub_8021D34: @ 8021D34 movs r1, 0x2 adds r2, r6, 0 adds r3, r7, 0 - bl box_print + bl AddTextPrinterParameterized3 ldr r4, =gText_SpaceMin movs r0, 0x2 adds r1, r4, 0 @@ -24406,7 +24406,7 @@ sub_8021D34: @ 8021D34 movs r1, 0x2 adds r2, r6, 0 adds r3, r7, 0 - bl box_print + bl AddTextPrinterParameterized3 movs r0, 0x9E lsls r0, 1 add r0, r8 @@ -24437,7 +24437,7 @@ sub_8021D34: @ 8021D34 movs r1, 0x2 adds r2, r6, 0 adds r3, r7, 0 - bl box_print + bl AddTextPrinterParameterized3 adds r0, r7, 0 adds r0, 0xE lsls r0, 24 @@ -24452,7 +24452,7 @@ sub_8021D34: @ 8021D34 movs r1, 0x2 movs r2, 0 adds r3, r7, 0 - bl box_print + bl AddTextPrinterParameterized3 ldr r4, =gText_TimesPerSec movs r0, 0x2 adds r1, r4, 0 @@ -24474,7 +24474,7 @@ sub_8021D34: @ 8021D34 movs r1, 0x2 adds r2, r6, 0 adds r3, r7, 0 - bl box_print + bl AddTextPrinterParameterized3 mov r4, r8 ldrb r2, [r4, 0x16] ldrh r0, [r4, 0x16] @@ -24555,7 +24555,7 @@ _08021F0A: movs r1, 0x2 adds r2, r6, 0 adds r3, r7, 0 - bl box_print + bl AddTextPrinterParameterized3 b _08021FDE .pool _08021FC4: @@ -24570,7 +24570,7 @@ _08021FC4: movs r1, 0x2 adds r2, r6, 0 adds r3, r7, 0 - bl box_print + bl AddTextPrinterParameterized3 _08021FDE: adds r0, r7, 0 adds r0, 0xE @@ -24591,7 +24591,7 @@ _08021FDE: movs r1, 0x2 movs r2, 0 adds r3, r7, 0 - bl box_print + bl AddTextPrinterParameterized3 ldr r0, =gStringVar1 ldr r4, [sp, 0x10] ldrh r1, [r4, 0x8] @@ -24620,7 +24620,7 @@ _08021FDE: movs r1, 0x2 adds r2, r6, 0 adds r3, r7, 0 - bl box_print + bl AddTextPrinterParameterized3 add sp, 0x1C pop {r3-r5} mov r8, r3 @@ -24942,7 +24942,7 @@ _080222D0: movs r1, 0x1 adds r2, r7, 0 movs r3, 0x1 - bl box_print + bl AddTextPrinterParameterized3 ldr r0, =gText_PressingSpeedRankings mov r10, r0 movs r0, 0x1 @@ -24962,7 +24962,7 @@ _080222D0: movs r1, 0x1 adds r2, r7, 0 movs r3, 0x11 - bl box_print + bl AddTextPrinterParameterized3 movs r0, 0x29 mov r10, r0 _08022336: @@ -24985,7 +24985,7 @@ _08022336: movs r1, 0x1 movs r2, 0 mov r3, r10 - bl box_print + bl AddTextPrinterParameterized3 movs r0, 0x1 ldr r1, =gText_TimesPerSec movs r2, 0x1 @@ -25005,7 +25005,7 @@ _08022336: movs r1, 0x1 adds r2, r7, 0 mov r3, r10 - bl box_print + bl AddTextPrinterParameterized3 movs r2, 0 mov r0, r9 lsls r4, r0, 1 @@ -25078,7 +25078,7 @@ _080223CA: movs r1, 0x1 adds r2, r7, 0 mov r3, r10 - bl box_print + bl AddTextPrinterParameterized3 ldr r1, [sp, 0x10] lsls r0, r1, 24 lsrs r0, 24 @@ -39391,7 +39391,7 @@ _0802955A: str r4, [sp, 0x8] movs r1, 0x1 movs r3, 0x1 - bl box_print + bl AddTextPrinterParameterized3 mov r2, r10 ldr r0, [r2] add r0, r9 @@ -39677,7 +39677,7 @@ _080297CC: movs r1, 0x1 movs r2, 0x1C adds r3, r6, 0 - bl box_print + bl AddTextPrinterParameterized3 add r0, sp, 0xC mov r1, r9 movs r2, 0 @@ -39908,7 +39908,7 @@ _080299F2: str r6, [sp, 0x8] movs r1, 0x1 movs r2, 0 - bl box_print + bl AddTextPrinterParameterized3 movs r7, 0 mov r8, r5 mov r0, r9 @@ -39971,7 +39971,7 @@ _08029A36: mov r1, r10 str r1, [sp, 0x8] movs r1, 0x1 - bl box_print + bl AddTextPrinterParameterized3 b _08029B10 .pool _08029AE0: @@ -47951,7 +47951,7 @@ sub_802DB8C: @ 802DB8C movs r1, 0 movs r2, 0 movs r3, 0x1 - bl box_print + bl AddTextPrinterParameterized3 add r0, sp, 0xC str r0, [sp] str r4, [sp, 0x4] @@ -47961,7 +47961,7 @@ sub_802DB8C: @ 802DB8C movs r1, 0 movs r2, 0 movs r3, 0x1 - bl box_print + bl AddTextPrinterParameterized3 add sp, 0x10 pop {r4} pop {r0} @@ -48390,7 +48390,7 @@ sub_802DED8: @ 802DED8 movs r1, 0x1 adds r2, r4, 0 movs r3, 0x1 - bl box_print + bl AddTextPrinterParameterized3 ldr r0, [r6] adds r0, 0x1C add r0, r8 diff --git a/asm/slot_machine.s b/asm/slot_machine.s index fe8acf6d6b..e6828cb707 100644 --- a/asm/slot_machine.s +++ b/asm/slot_machine.s @@ -4527,7 +4527,7 @@ sub_812DD78: @ 812DD78 movs r1, 0x1 movs r2, 0x2 movs r3, 0x5 - bl box_print + bl AddTextPrinterParameterized3 movs r0, 0x1 movs r1, 0x3 bl CopyWindowToVram diff --git a/asm/trade.s b/asm/trade.s index 224995de53..30a22ff758 100644 --- a/asm/trade.s +++ b/asm/trade.s @@ -4588,7 +4588,7 @@ _080798BC: str r0, [sp, 0x8] adds r0, r5, 0 movs r3, 0x4 - bl box_print + bl AddTextPrinterParameterized3 add r6, sp, 0x28 adds r0, r6, 0 ldr r1, [sp, 0x60] @@ -4847,7 +4847,7 @@ sub_8079B84: @ 8079B84 adds r0, r4, 0 movs r1, 0 movs r3, 0x4 - bl box_print + bl AddTextPrinterParameterized3 adds r0, r4, 0 bl PutWindowTilemap adds r0, r4, 0 diff --git a/asm/trainer_card.s b/asm/trainer_card.s index 6d1be17cb5..8ebcfbaccc 100644 --- a/asm/trainer_card.s +++ b/asm/trainer_card.s @@ -1747,7 +1747,7 @@ sub_80C3574: @ 80C3574 movs r1, 0x1 movs r2, 0x14 movs r3, 0x1C - bl box_print + bl AddTextPrinterParameterized3 b _080C35FA .pool _080C35E0: @@ -1762,7 +1762,7 @@ _080C35E0: movs r1, 0x1 movs r2, 0x10 movs r3, 0x21 - bl box_print + bl AddTextPrinterParameterized3 _080C35FA: add sp, 0x2C pop {r4,r5} @@ -1818,7 +1818,7 @@ _080C365C: str r0, [sp, 0x8] movs r0, 0x1 movs r1, 0x1 - bl box_print + bl AddTextPrinterParameterized3 add sp, 0x2C pop {r4} pop {r0} @@ -1848,7 +1848,7 @@ sub_80C3684: @ 80C3684 movs r1, 0x1 movs r2, 0x14 movs r3, 0x38 - bl box_print + bl AddTextPrinterParameterized3 b _080C36DE .pool _080C36C4: @@ -1863,7 +1863,7 @@ _080C36C4: movs r1, 0x1 movs r2, 0x10 movs r3, 0x39 - bl box_print + bl AddTextPrinterParameterized3 _080C36DE: ldr r0, =gStringVar1 ldr r4, =gUnknown_02039CE8 @@ -1910,7 +1910,7 @@ _080C3740: str r0, [sp, 0x8] movs r0, 0x1 movs r1, 0x1 - bl box_print + bl AddTextPrinterParameterized3 add sp, 0xC pop {r4,r5} pop {r0} @@ -1964,7 +1964,7 @@ sub_80C378C: @ 80C378C movs r1, 0x1 movs r2, 0x14 movs r3, 0x48 - bl box_print + bl AddTextPrinterParameterized3 b _080C37F6 .pool _080C37DC: @@ -1979,7 +1979,7 @@ _080C37DC: movs r1, 0x1 movs r2, 0x10 movs r3, 0x49 - bl box_print + bl AddTextPrinterParameterized3 _080C37F6: ldr r5, =gStringVar4 ldr r4, =gUnknown_02039CE8 @@ -2025,7 +2025,7 @@ _080C3854: str r0, [sp, 0x8] movs r0, 0x1 movs r1, 0x1 - bl box_print + bl AddTextPrinterParameterized3 _080C386E: add sp, 0xC pop {r4,r5} @@ -2060,7 +2060,7 @@ sub_80C3880: @ 80C3880 movs r1, 0x1 movs r2, 0x14 movs r3, 0x58 - bl box_print + bl AddTextPrinterParameterized3 b _080C38E2 .pool _080C38C8: @@ -2075,7 +2075,7 @@ _080C38C8: movs r1, 0x1 movs r2, 0x10 movs r3, 0x59 - bl box_print + bl AddTextPrinterParameterized3 _080C38E2: ldr r0, =gUnknown_02039CE8 ldr r1, [r0] @@ -2159,7 +2159,7 @@ _080C395C: movs r0, 0x1 movs r1, 0x1 adds r3, r4, 0 - bl box_print + bl AddTextPrinterParameterized3 adds r7, 0x12 lsls r2, r7, 24 lsrs r2, 24 @@ -2177,7 +2177,7 @@ _080C395C: movs r0, 0x1 movs r1, 0x1 adds r3, r4, 0 - bl box_print + bl AddTextPrinterParameterized3 add r7, r10 mov r0, r9 adds r1, r6, 0 @@ -2194,7 +2194,7 @@ _080C395C: movs r0, 0x1 movs r1, 0x1 adds r3, r4, 0 - bl box_print + bl AddTextPrinterParameterized3 add sp, 0xC pop {r3-r5} mov r8, r3 @@ -2235,7 +2235,7 @@ sub_80C3A18: @ 80C3A18 movs r0, 0x1 movs r1, 0x1 movs r2, 0x8 - bl box_print + bl AddTextPrinterParameterized3 ldr r1, [r7] adds r1, 0x19 movs r0, 0x1 @@ -2256,7 +2256,7 @@ sub_80C3A18: @ 80C3A18 str r1, [sp, 0x8] movs r0, 0x1 movs r1, 0x1 - bl box_print + bl AddTextPrinterParameterized3 ldr r0, =gUnknown_0856FB4A mov r8, r0 ldr r1, [r7] @@ -2271,7 +2271,7 @@ sub_80C3A18: @ 80C3A18 movs r0, 0x1 movs r1, 0x1 movs r2, 0x8 - bl box_print + bl AddTextPrinterParameterized3 ldr r1, [r7] adds r1, 0x33 movs r0, 0x1 @@ -2292,7 +2292,7 @@ sub_80C3A18: @ 80C3A18 str r1, [sp, 0x8] movs r0, 0x1 movs r1, 0x1 - bl box_print + bl AddTextPrinterParameterized3 _080C3ACE: add sp, 0xC pop {r3} @@ -2363,7 +2363,7 @@ sub_80C3B50: @ 80C3B50 movs r1, 0x1 movs r2, 0x88 movs r3, 0x9 - bl box_print + bl AddTextPrinterParameterized3 b _080C3BB6 .pool _080C3B8C: @@ -2385,7 +2385,7 @@ _080C3B8C: movs r0, 0x1 movs r1, 0x1 movs r3, 0x9 - bl box_print + bl AddTextPrinterParameterized3 _080C3BB6: add sp, 0xC pop {r4} @@ -2470,7 +2470,7 @@ sub_80C3C34: @ 80C3C34 movs r0, 0x1 movs r1, 0x1 adds r3, r4, 0 - bl box_print + bl AddTextPrinterParameterized3 ldr r1, =gUnknown_0856FB57 ldr r0, [r6] adds r0, r5 @@ -2492,7 +2492,7 @@ sub_80C3C34: @ 80C3C34 movs r0, 0x1 movs r1, 0x1 adds r3, r4, 0 - bl box_print + bl AddTextPrinterParameterized3 add sp, 0xC pop {r3-r5} mov r8, r3 @@ -6361,7 +6361,7 @@ _080C5DC2: str r4, [sp, 0x8] movs r1, 0x1 movs r3, 0x5 - bl box_print + bl AddTextPrinterParameterized3 ldr r4, =gText_BattleRecord movs r0, 0x1 adds r1, r4, 0 @@ -6376,7 +6376,7 @@ _080C5DC2: movs r0, 0x1 movs r1, 0x1 movs r3, 0x5 - bl box_print + bl AddTextPrinterParameterized3 str r6, [sp] mov r0, r8 str r0, [sp, 0x4] @@ -6386,7 +6386,7 @@ _080C5DC2: movs r1, 0x8 movs r2, 0x5 movs r3, 0x4 - bl box_print + bl AddTextPrinterParameterized3 ldr r4, =gStringVar4 ldr r5, =gUnknown_02039CEC ldr r0, [r5] @@ -6408,7 +6408,7 @@ _080C5DC2: movs r0, 0x2 movs r1, 0x8 movs r3, 0x10 - bl box_print + bl AddTextPrinterParameterized3 ldr r1, [r5] ldrh r0, [r1, 0x8] subs r0, 0x5 @@ -6476,7 +6476,7 @@ sub_80C5ED0: @ 80C5ED0 movs r1, 0x1 movs r2, 0x2 movs r3, 0 - bl box_print + bl AddTextPrinterParameterized3 b _080C5F3A .pool _080C5F18: @@ -6495,7 +6495,7 @@ _080C5F18: movs r1, 0x1 movs r2, 0x2 movs r3, 0 - bl box_print + bl AddTextPrinterParameterized3 _080C5F3A: movs r0, 0x3 movs r1, 0x3 @@ -7983,7 +7983,7 @@ _080C6BB8: movs r0, 0x1 movs r1, 0x7 movs r2, 0x4 - bl box_print + bl AddTextPrinterParameterized3 b _080C6C0E .pool _080C6BF0: @@ -8000,7 +8000,7 @@ _080C6BF0: movs r0, 0x1 movs r1, 0x7 movs r2, 0x4 - bl box_print + bl AddTextPrinterParameterized3 _080C6C0E: adds r0, r4, 0x1 lsls r0, 24 @@ -8024,7 +8024,7 @@ _080C6C0E: movs r1, 0x1 movs r2, 0x4 movs r3, 0 - bl box_print + bl AddTextPrinterParameterized3 movs r4, 0 _080C6C40: adds r0, r4, 0 @@ -8084,7 +8084,7 @@ _080C6C94: movs r0, 0x1 movs r1, 0x7 movs r2, 0x4 - bl box_print + bl AddTextPrinterParameterized3 ldr r5, =gUnknown_02039CF4 ldr r1, [r5] ldrb r3, [r1, 0x10] @@ -8104,7 +8104,7 @@ _080C6C94: movs r0, 0x1 movs r1, 0x7 movs r2, 0x4 - bl box_print + bl AddTextPrinterParameterized3 ldr r1, [r5] ldr r2, [r1, 0x4] ldrb r0, [r1, 0x10] @@ -8148,7 +8148,7 @@ _080C6C94: movs r1, 0x1 movs r2, 0x4 movs r3, 0 - bl box_print + bl AddTextPrinterParameterized3 movs r4, 0 _080C6D4A: adds r0, r4, 0 diff --git a/asm/use_pokeblock.s b/asm/use_pokeblock.s index 4cee3c4d90..f4a2bdbb28 100644 --- a/asm/use_pokeblock.s +++ b/asm/use_pokeblock.s @@ -2572,7 +2572,7 @@ sub_8167BA0: @ 8167BA0 movs r1, 0x1 movs r2, 0x2 movs r3, 0x1 - bl box_print + bl AddTextPrinterParameterized3 _08167C46: mov r2, r8 cmp r2, 0 diff --git a/include/global.h b/include/global.h index 6977d4059f..b350085502 100644 --- a/include/global.h +++ b/include/global.h @@ -344,7 +344,9 @@ struct FrontierMonData struct Struct_field_E70 { u16 monId; - u8 unk2[9]; + u32 personality; + u8 ivs; + u8 abilityBit; }; struct BattleDomeTrainer @@ -413,9 +415,7 @@ struct BattleFrontier /*0xDD8*/ u16 field_DD8; /*0xDDA*/ u16 field_DDA[2]; /*0xDDE*/ u16 field_DDE[2]; - /*0xDE2*/ u16 field_DE2[2]; - /*0xDE6*/ u16 field_DE6; - /*0xDE8*/ u16 field_DE8; + /*0xDE2*/ u16 field_DE2[2][2]; /*0xDEA*/ u16 field_DEA[2]; /*0xDEE*/ u16 field_DEE; /*0xDF0*/ u16 field_DF0; diff --git a/include/menu.h b/include/menu.h index a13fe73ec7..145a7d5dea 100644 --- a/include/menu.h +++ b/include/menu.h @@ -37,7 +37,7 @@ u8 GetPlayerTextSpeed(void); void sub_81978B0(u16 arg0); void AddTextPrinterWithCallbackForMessage(bool8 a1, void (*callback)(struct TextSubPrinter *, u16)); -void box_print(u8 windowId, u8 fontId, u8 left, u8 top, const u8 *color, s8 speed, const u8 *str); +void AddTextPrinterParameterized3(u8 windowId, u8 fontId, u8 left, u8 top, const u8 *color, s8 speed, const u8 *str); void sub_8198070(u8 windowId, bool8 copyToVram); void SetWindowTemplateFields(struct WindowTemplate* template, u8 priority, u8 tilemapLeft, u8 tilemapTop, u8 width, u8 height, u8 palNum, u16 baseBlock); void SetWindowBorderStyle(u8 windowId, bool8 copyToVram, u16 tileStart, u8 palette); diff --git a/src/battle_factory.c b/src/battle_factory.c index e1c9551222..9cb773ea33 100644 --- a/src/battle_factory.c +++ b/src/battle_factory.c @@ -11,10 +11,15 @@ #include "malloc.h" #include "bg.h" #include "gpu_regs.h" +#include "string_util.h" +#include "international_string_util.h" #include "window.h" +#include "data2.h" #include "decompress.h" #include "pokemon_summary_screen.h" #include "sound.h" +#include "pokedex.h" +#include "trainer_pokemon_sprites.h" #include "constants/battle_frontier.h" #include "constants/songs.h" @@ -30,12 +35,18 @@ struct FactorySelecteableMon { - u16 unk0; + u16 monSetId; u16 spriteId; - u8 selectetedId; // 0 - not selected, 1 - first pokemon, 2 - second pokemon, 3 - third pokemon + u8 selectedId; // 0 - not selected, 1 - first pokemon, 2 - second pokemon, 3 - third pokemon struct Pokemon monData; }; +struct UnkFactoryStruct +{ + u8 field0; + u8 field1; +}; + struct FactorySelectMonsStruct { u8 menuCursorPos; @@ -50,7 +61,7 @@ struct FactorySelectMonsStruct u8 unk9; struct FactorySelecteableMon mons[SELECTABLE_MONS_COUNT]; u32 unk294; - u32 unk298; + struct UnkFactoryStruct unk298; u32 unk29C; u8 unk2A0; u8 unk2A1; @@ -63,31 +74,49 @@ struct FactorySelectMonsStruct }; extern struct FactorySelectMonsStruct *gUnknown_0300127C; +extern u8 (*gUnknown_030062E8)(void); extern u8 gUnknown_0203CF20; +extern const u16 gBattleFrontierHeldItems[]; +extern const struct FacilityMon gBattleFrontierMons[]; +extern const struct FacilityMon gSlateportBattleTentMons[]; +extern const struct BattleFrontierTrainer gBattleFrontierTrainers[]; + +extern void SetMonMoveAvoidReturn(struct Pokemon *mon, u16 move, u8 moveSlot); + // This file's functions. void sub_819A514(void); void sub_819C5D0(u16 mWin0H, u16 nWin0H, u16 mWin0V, u16 nWin0V); void sub_819A9AC(void); void sub_819AA18(void); void sub_819BE34(void); -void sub_819BA64(void); -void sub_819BCF8(void); +void PrintSelectMonString(void); +void PrintMonSpecies(void); +void PrintMonCategory(void); void sub_819B9E8(void); -void sub_819B9B4(void); -void sub_819B764(void); +void PrintRentalPkmnString(void); +void CopySelectedMonsToPlayerParty(void); void sub_819C4B4(void); void sub_819B8D4(void); void sub_819C568(void); -void sub_819BC9C(void); +void sub_819B844(void); +void PrintSelectableMenuOptions(void); +void PrintSelectableYesNo(void); void sub_819C69C(u8 taskId); -void sub_819B378(u8 taskId); -void sub_819B124(u8 taskId); -void sub_819B484(u8 arg0); -void sub_819B63C(u8 arg0); +void Task_HandleSelectionScreenChooseMons(u8 taskId); +void Task_HandleSelectionScreenMenu(u8 taskId); +void CreateFrontierFactorySelectableMons(u8 firstMonId); +void CreateTentFactorySelectableMons(u8 firstMonId); void SetBallSpritePaletteNum(u8 id); -void sub_819F444(u32 spriteId, u8 *arg1); -void sub_819B958(u8 arg0); +void sub_819F444(struct UnkFactoryStruct arg0, u8 *arg1); +void sub_819B958(u8 windowId); +void sub_819F2B4(u8 *arg0, u8 *arg1, u8 arg2); +void sub_819F3F8(struct UnkFactoryStruct arg0, u8 *arg1, u8 arg2); +u8 sub_819BC04(void); +u8 sub_819BC9C(void); +u8 sub_81A6F70(u8 battleMode, u8 lvlMode); +u8 sub_81A6CA8(u8 arg0, u8 arg1); +bool32 sub_819C634(u16 monSetId); // Ewram variables EWRAM_DATA u8 *gUnknown_0203CE2C = NULL; @@ -113,6 +142,20 @@ extern const u8 gFrontierFactorySelectMenu_Gfx[]; extern const u8 gFrontierFactorySelectMenu_Tilemap[]; extern const u16 gFrontierFactorySelectMenu_Pal[]; +// text +extern const u8 gText_RentalPkmn2[]; +extern const u8 gText_SelectFirstPkmn[]; +extern const u8 gText_SelectSecondPkmn[]; +extern const u8 gText_SelectThirdPkmn[]; +extern const u8 gText_TheseThreePkmnOkay[]; +extern const u8 gText_CantSelectSamePkmn[]; +extern const u8 gText_Summary[]; +extern const u8 gText_Deselect[]; +extern const u8 gText_Rent[]; +extern const u8 gText_Others2[]; +extern const u8 gText_Yes2[]; +extern const u8 gText_No2[]; + // code void sub_819A44C(struct Sprite *sprite) { @@ -267,22 +310,22 @@ void sub_819A514(void) gMain.state++; break; case 6: - sub_819BA64(); + PrintSelectMonString(); PutWindowTilemap(2); gMain.state++; break; case 7: - sub_819BCF8(); + PrintMonCategory(); PutWindowTilemap(5); gMain.state++; break; case 8: - sub_819B9E8(); + PrintMonSpecies(); PutWindowTilemap(1); gMain.state++; break; case 9: - sub_819B9B4(); + PrintRentalPkmnString(); PutWindowTilemap(0); gMain.state++; break; @@ -291,14 +334,14 @@ void sub_819A514(void) if (!gUnknown_0300127C->fromSummaryScreen) { gTasks[gUnknown_0300127C->unk2A1].data[0] = 0; - taskId = CreateTask(sub_819B378, 0); + taskId = CreateTask(Task_HandleSelectionScreenChooseMons, 0); gTasks[taskId].data[0] = 0; } else { gTasks[gUnknown_0300127C->unk2A1].data[0] = 1; gUnknown_0300127C->unk2A2 = 0; - taskId = CreateTask(sub_819B124, 0); + taskId = CreateTask(Task_HandleSelectionScreenMenu, 0); gTasks[taskId].data[0] = 13; } SetMainCallback2(sub_819A4C8); @@ -318,12 +361,12 @@ void sub_819A9AC(void) gUnknown_0300127C->selectingMonsState = 1; gUnknown_0300127C->fromSummaryScreen = FALSE; for (i = 0; i < SELECTABLE_MONS_COUNT; i++) - gUnknown_0300127C->mons[i].selectetedId = 0; + gUnknown_0300127C->mons[i].selectedId = 0; if (gSaveBlock2Ptr->frontier.lvlMode != FRONTIER_LVL_TENT) - sub_819B484(0); + CreateFrontierFactorySelectableMons(0); else - sub_819B63C(0); + CreateTentFactorySelectableMons(0); } extern const struct SpriteTemplate gUnknown_086105F0; @@ -436,28 +479,28 @@ void HandleMonSelectionChange(void) { u8 i, paletteNum; u8 cursorPos = gUnknown_0300127C->cursorPos; - if (gUnknown_0300127C->mons[cursorPos].selectetedId) // Deselect a mon. + if (gUnknown_0300127C->mons[cursorPos].selectedId) // Deselect a mon. { paletteNum = IndexOfSpritePaletteTag(TAG_PAL_BALL_GREY); - if (gUnknown_0300127C->selectingMonsState == 3 && gUnknown_0300127C->mons[cursorPos].selectetedId == 1) + if (gUnknown_0300127C->selectingMonsState == 3 && gUnknown_0300127C->mons[cursorPos].selectedId == 1) { for (i = 0; i < SELECTABLE_MONS_COUNT; i++) { - if (gUnknown_0300127C->mons[i].selectetedId == 2) + if (gUnknown_0300127C->mons[i].selectedId == 2) break; } if (i == SELECTABLE_MONS_COUNT) return; else - gUnknown_0300127C->mons[i].selectetedId = 1; + gUnknown_0300127C->mons[i].selectedId = 1; } - gUnknown_0300127C->mons[cursorPos].selectetedId = 0; + gUnknown_0300127C->mons[cursorPos].selectedId = 0; gUnknown_0300127C->selectingMonsState--; } else // Select a mon. { paletteNum = IndexOfSpritePaletteTag(TAG_PAL_BALL_SELECTED); - gUnknown_0300127C->mons[cursorPos].selectetedId = gUnknown_0300127C->selectingMonsState; + gUnknown_0300127C->mons[cursorPos].selectedId = gUnknown_0300127C->selectingMonsState; gUnknown_0300127C->selectingMonsState++; } @@ -468,7 +511,7 @@ void SetBallSpritePaletteNum(u8 id) { u8 palNum; - if (gUnknown_0300127C->mons[id].selectetedId) + if (gUnknown_0300127C->mons[id].selectedId) palNum = IndexOfSpritePaletteTag(TAG_PAL_BALL_SELECTED); else palNum = IndexOfSpritePaletteTag(TAG_PAL_BALL_GREY); @@ -528,7 +571,7 @@ void Task_CloseSelectionScreen(u8 taskId) case 1: if (!UpdatePaletteFade()) { - sub_819B764(); + CopySelectedMonsToPlayerParty(); DestroyTask(gUnknown_0300127C->unk2A1); sub_819AB40(); FREE_AND_SET_NULL(gUnknown_0203CE2C); @@ -574,7 +617,7 @@ void Task_HandleSelectionScreenYesNo(u8 taskId) sub_819BC9C(); gUnknown_0300127C->unk2A2 = 1; gTasks[taskId].data[0] = 1; - gTasks[taskId].func = sub_819B378; + gTasks[taskId].func = Task_HandleSelectionScreenChooseMons; } } else if (gMain.newKeys & B_BUTTON) @@ -584,7 +627,7 @@ void Task_HandleSelectionScreenYesNo(u8 taskId) sub_819BC9C(); gUnknown_0300127C->unk2A2 = 1; gTasks[taskId].data[0] = 1; - gTasks[taskId].func = sub_819B378; + gTasks[taskId].func = Task_HandleSelectionScreenChooseMons; } else if (gMain.newAndRepeatedKeys & DPAD_UP) { @@ -600,3 +643,463 @@ void Task_HandleSelectionScreenYesNo(u8 taskId) } } } + +void Task_HandleSelectionScreenMenu(u8 taskId) +{ + switch (gTasks[taskId].data[0]) + { + case 2: + if (!gUnknown_0300127C->fromSummaryScreen) + sub_819F2B4(&gUnknown_0300127C->unk298.field1, &gUnknown_0300127C->unk2A0, 0); + gTasks[taskId].data[0] = 9; + break; + case 9: + if (gUnknown_0300127C->unk2A0 != 1) + { + sub_819B844(); + gUnknown_0300127C->fromSummaryScreen = FALSE; + gTasks[taskId].data[0] = 3; + } + break; + case 3: + if (gMain.newKeys & A_BUTTON) + { + u8 retVal; + PlaySE(SE_SELECT); + retVal = sub_819BC04(); + if (retVal == 1) + { + gUnknown_0300127C->unk2A2 = 1; + gTasks[taskId].data[0] = 1; + gTasks[taskId].func = Task_HandleSelectionScreenChooseMons; + } + else if (retVal == 2) + { + gTasks[taskId].data[0] = 10; + gTasks[taskId].func = Task_HandleSelectionScreenYesNo; + } + else if (retVal == 3) + { + gTasks[taskId].data[0] = 11; + gTasks[taskId].func = Task_HandleSelectionScreenChooseMons; + } + else + { + gTasks[taskId].data[0] = 6; + gTasks[taskId].func = Task_FromSelectScreenToSummaryScreen; + } + } + else if (gMain.newKeys & B_BUTTON) + { + PlaySE(SE_SELECT); + sub_819F3F8(gUnknown_0300127C->unk298, &gUnknown_0300127C->unk2A0, 0); + sub_819B958(3); + gUnknown_0300127C->unk2A2 = 1; + gTasks[taskId].data[0] = 1; + gTasks[taskId].func = Task_HandleSelectionScreenChooseMons; + } + else if (gMain.newAndRepeatedKeys & DPAD_UP) + { + PlaySE(SE_SELECT); + UpdateMenuCursorPosition(-1); + } + else if (gMain.newAndRepeatedKeys & DPAD_DOWN) + { + PlaySE(SE_SELECT); + UpdateMenuCursorPosition(1); + } + break; + case 12: + if (!gPaletteFade.active) + { + if (gUnknown_0300127C->fromSummaryScreen == TRUE) + { + gPlttBufferFaded[228] = gUnknown_0300127C->unk2A4; + gPlttBufferUnfaded[228] = gPlttBufferUnfaded[244]; + } + gUnknown_0300127C->fromSummaryScreen = FALSE; + gTasks[taskId].data[0] = 3; + } + break; + case 13: + sub_819B844(); + gTasks[taskId].data[0] = 12; + break; + } +} + +void Task_HandleSelectionScreenChooseMons(u8 taskId) +{ + if (gUnknown_0300127C->unk2A0 != 1) + { + switch (gTasks[taskId].data[0]) + { + case 0: + if (!gPaletteFade.active) + { + gTasks[taskId].data[0] = 1; + gUnknown_0300127C->unk2A2 = 1; + } + break; + case 1: + if (gMain.newKeys & A_BUTTON) + { + PlaySE(SE_SELECT); + gUnknown_0300127C->unk2A2 = 0; + gTasks[taskId].data[0] = 2; + gTasks[taskId].func = Task_HandleSelectionScreenMenu; + } + else if (gMain.newAndRepeatedKeys & DPAD_LEFT) + { + PlaySE(SE_SELECT); + UpdateBallCursorPosition(-1); + PrintMonCategory(); + PrintMonSpecies(); + } + else if (gMain.newAndRepeatedKeys & DPAD_RIGHT) + { + PlaySE(SE_SELECT); + UpdateBallCursorPosition(1); + PrintMonCategory(); + PrintMonSpecies(); + } + break; + case 11: + if (gMain.newKeys & A_BUTTON) + { + PlaySE(SE_SELECT); + sub_819F3F8(gUnknown_0300127C->unk298, &gUnknown_0300127C->unk2A0, 0); + PrintSelectMonString(); + gUnknown_0300127C->unk2A2 = 1; + gTasks[taskId].data[0] = 1; + } + break; + } + } +} + +void CreateFrontierFactorySelectableMons(u8 firstMonId) +{ + u8 i, j = 0; + u8 ivs = 0; + u8 level = 0; + u8 happiness = 0; + u32 otId = 0; + u8 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE); + u8 lvlMode = gSaveBlock2Ptr->frontier.lvlMode; + u8 var_2C = gSaveBlock2Ptr->frontier.field_DE2[battleMode][lvlMode] / 7; + u8 var_28 = 0; + + gFacilityTrainerMons = gBattleFrontierMons; + if (gSaveBlock2Ptr->frontier.lvlMode != FRONTIER_LVL_50) + level = 100; + else + level = 50; + + var_28 = sub_81A6F70(battleMode, lvlMode); + otId = T1_READ_32(gSaveBlock2Ptr->playerTrainerId); + + for (i = 0; i < SELECTABLE_MONS_COUNT; i++) + { + u16 monSetId = gSaveBlock2Ptr->frontier.field_E70[i].monId; + gUnknown_0300127C->mons[i + firstMonId].monSetId = monSetId; + if (i < var_28) + ivs = sub_81A6CA8(var_2C + 1, 0); + else + ivs = sub_81A6CA8(var_2C, 0); + CreateMonWithEVSpreadPersonalityOTID(&gUnknown_0300127C->mons[i + firstMonId].monData, + gFacilityTrainerMons[monSetId].species, + level, + gFacilityTrainerMons[monSetId].nature, + ivs, + gFacilityTrainerMons[monSetId].evSpread, + otId); + happiness = 0; + for (j = 0; j < 4; j++) + SetMonMoveAvoidReturn(&gUnknown_0300127C->mons[i + firstMonId].monData, gFacilityTrainerMons[monSetId].moves[j], j); + SetMonData(&gUnknown_0300127C->mons[i + firstMonId].monData, MON_DATA_FRIENDSHIP, &happiness); + SetMonData(&gUnknown_0300127C->mons[i + firstMonId].monData, MON_DATA_HELD_ITEM, &gBattleFrontierHeldItems[gFacilityTrainerMons[monSetId].itemTableId]); + } +} + +void CreateTentFactorySelectableMons(u8 firstMonId) +{ + u8 i, j; + u8 ivs = 0; + u8 level = 30; + u8 happiness = 0; + u32 otId = 0; + + gFacilityTrainerMons = gSlateportBattleTentMons; + otId = T1_READ_32(gSaveBlock2Ptr->playerTrainerId); + + for (i = 0; i < SELECTABLE_MONS_COUNT; i++) + { + u16 monSetId = gSaveBlock2Ptr->frontier.field_E70[i].monId; + gUnknown_0300127C->mons[i + firstMonId].monSetId = monSetId; + CreateMonWithEVSpreadPersonalityOTID(&gUnknown_0300127C->mons[i + firstMonId].monData, + gFacilityTrainerMons[monSetId].species, + level, + gFacilityTrainerMons[monSetId].nature, + ivs, + gFacilityTrainerMons[monSetId].evSpread, + otId); + happiness = 0; + for (j = 0; j < 4; j++) + SetMonMoveAvoidReturn(&gUnknown_0300127C->mons[i + firstMonId].monData, gFacilityTrainerMons[monSetId].moves[j], j); + SetMonData(&gUnknown_0300127C->mons[i + firstMonId].monData, MON_DATA_FRIENDSHIP, &happiness); + SetMonData(&gUnknown_0300127C->mons[i + firstMonId].monData, MON_DATA_HELD_ITEM, &gBattleFrontierHeldItems[gFacilityTrainerMons[monSetId].itemTableId]); + } +} + +void CopySelectedMonsToPlayerParty(void) +{ + u8 i, j; + + for (i = 0; i < 3; i++) + { + for (j = 0; j < SELECTABLE_MONS_COUNT; j++) + { + if (gUnknown_0300127C->mons[j].selectedId == i + 1) + { + gPlayerParty[i] = gUnknown_0300127C->mons[j].monData; + gSaveBlock2Ptr->frontier.field_E70[i].monId = gUnknown_0300127C->mons[j].monSetId; + gSaveBlock2Ptr->frontier.field_E70[i].personality = GetMonData(&gPlayerParty[i].box, MON_DATA_PERSONALITY, NULL); + gSaveBlock2Ptr->frontier.field_E70[i].abilityBit = GetBoxMonData(&gPlayerParty[i].box, MON_DATA_ALT_ABILITY, NULL); + gSaveBlock2Ptr->frontier.field_E70[i].ivs = GetBoxMonData(&gPlayerParty[i].box, MON_DATA_ATK_IV, NULL); + break; + } + } + } + CalculatePlayerPartyCount(); +} + +void sub_819B844(void) +{ + if (!gUnknown_0300127C->fromSummaryScreen) + gUnknown_0300127C->menuCursorPos = 0; + + gSprites[gUnknown_0300127C->menuCursor1SpriteId].pos1.x = 176; + gSprites[gUnknown_0300127C->menuCursor1SpriteId].pos1.y = (gUnknown_0300127C->menuCursorPos * 16) + 112; + gSprites[gUnknown_0300127C->menuCursor2SpriteId].pos1.x = 208; + gSprites[gUnknown_0300127C->menuCursor2SpriteId].pos1.y = (gUnknown_0300127C->menuCursorPos * 16) + 112; + + gSprites[gUnknown_0300127C->menuCursor1SpriteId].invisible = 0; + gSprites[gUnknown_0300127C->menuCursor2SpriteId].invisible = 0; + + PrintSelectableMenuOptions(); +} + +void sub_819B8D4(void) +{ + gUnknown_0300127C->yesNoCursorPos = 0; + + gSprites[gUnknown_0300127C->menuCursor1SpriteId].pos1.x = 176; + gSprites[gUnknown_0300127C->menuCursor1SpriteId].pos1.y = 112; + gSprites[gUnknown_0300127C->menuCursor2SpriteId].pos1.x = 208; + gSprites[gUnknown_0300127C->menuCursor2SpriteId].pos1.y = 112; + + gSprites[gUnknown_0300127C->menuCursor1SpriteId].invisible = 0; + gSprites[gUnknown_0300127C->menuCursor2SpriteId].invisible = 0; + + PrintSelectableYesNo(); +} + +void sub_819B958(u8 windowId) +{ + gSprites[gUnknown_0300127C->menuCursor1SpriteId].invisible = 1; + gSprites[gUnknown_0300127C->menuCursor2SpriteId].invisible = 1; + FillWindowPixelBuffer(windowId, 0); + CopyWindowToVram(windowId, 2); + ClearWindowTilemap(windowId); +} + +void PrintRentalPkmnString(void) +{ + FillWindowPixelBuffer(0, 0); + PrintTextOnWindow(0, 1, gText_RentalPkmn2, 2, 1, 0, NULL); + CopyWindowToVram(0, 3); +} + +extern const u8 gUnknown_08610479[]; +extern const u8 gUnknown_08610476[]; + +void PrintMonSpecies(void) +{ + u16 species; + u8 x; + u8 monId = gUnknown_0300127C->cursorPos; + + FillWindowPixelBuffer(1, 0); + species = GetMonData(&gUnknown_0300127C->mons[monId].monData, MON_DATA_SPECIES, NULL); + StringCopy(gStringVar4, gSpeciesNames[species]); + x = GetStringRightAlignXOffset(1, gStringVar4, 86); + AddTextPrinterParameterized3(1, 1, x, 1, gUnknown_08610479, 0, gStringVar4); + CopyWindowToVram(1, 2); +} + +void PrintSelectMonString(void) +{ + const u8 *str = NULL; + + FillWindowPixelBuffer(2, 0); + if (gUnknown_0300127C->selectingMonsState == 1) + str = gText_SelectFirstPkmn; + else if (gUnknown_0300127C->selectingMonsState == 2) + str = gText_SelectSecondPkmn; + else if (gUnknown_0300127C->selectingMonsState == 3) + str = gText_SelectThirdPkmn; + else + str = gText_TheseThreePkmnOkay; + + PrintTextOnWindow(2, 1, str, 2, 5, 0, NULL); + CopyWindowToVram(2, 2); +} + +void PrintCantSelectSameMon(void) +{ + FillWindowPixelBuffer(2, 0); + PrintTextOnWindow(2, 1, gText_CantSelectSamePkmn, 2, 5, 0, NULL); + CopyWindowToVram(2, 2); +} + +void PrintSelectableMenuOptions(void) +{ + u8 selectedId = gUnknown_0300127C->mons[gUnknown_0300127C->cursorPos].selectedId; + + PutWindowTilemap(3); + FillWindowPixelBuffer(3, 0); + AddTextPrinterParameterized3(3, 1, 7, 1, gUnknown_08610476, 0, gText_Summary); + if (selectedId != 0) + AddTextPrinterParameterized3(3, 1, 7, 17, gUnknown_08610476, 0, gText_Deselect); + else + AddTextPrinterParameterized3(3, 1, 7, 17, gUnknown_08610476, 0, gText_Rent); + + AddTextPrinterParameterized3(3, 1, 7, 33, gUnknown_08610476, 0, gText_Others2); + CopyWindowToVram(3, 3); +} + +void PrintSelectableYesNo(void) +{ + PutWindowTilemap(4); + FillWindowPixelBuffer(4, 0); + AddTextPrinterParameterized3(4, 1, 7, 1, gUnknown_08610476, 0, gText_Yes2); + AddTextPrinterParameterized3(4, 1, 7, 17, gUnknown_08610476, 0, gText_No2); + CopyWindowToVram(4, 3); +} + +extern u8 (* const gUnknown_0861041C[])(void); + +u8 sub_819BC04(void) +{ + gUnknown_030062E8 = gUnknown_0861041C[gUnknown_0300127C->menuCursorPos]; + return gUnknown_030062E8(); +} + +u8 sub_819BC30(void) +{ + u8 selectedId = gUnknown_0300127C->mons[gUnknown_0300127C->cursorPos].selectedId; + u16 monSetId = gUnknown_0300127C->mons[gUnknown_0300127C->cursorPos].monSetId; + if (selectedId == 0 && !sub_819C634(monSetId)) + { + PrintCantSelectSameMon(); + sub_819B958(3); + return 3; + } + else + { + sub_819F3F8(gUnknown_0300127C->unk298, &gUnknown_0300127C->unk2A0, 0); + HandleMonSelectionChange(); + PrintSelectMonString(); + sub_819B958(3); + if (gUnknown_0300127C->selectingMonsState > 3) + return 2; + else + return 1; + } +} + +u8 sub_819BC9C(void) +{ + sub_819C568(); + HandleMonSelectionChange(); + PrintSelectMonString(); + sub_819B958(3); + if (gUnknown_0300127C->selectingMonsState > 3) + return 2; + else + return 1; +} + +u8 sub_819BCCC(void) +{ + return 0; +} + +u8 sub_819BCD0(void) +{ + sub_819F3F8(gUnknown_0300127C->unk298, &gUnknown_0300127C->unk2A0, 0); + sub_819B958(3); + return 1; +} + +void PrintMonCategory(void) +{ + u16 species; + u8 text[30]; + u8 x; + u8 monId = gUnknown_0300127C->cursorPos; + if (monId < SELECTABLE_MONS_COUNT) + { + PutWindowTilemap(5); + FillWindowPixelBuffer(5, 0); + species = GetMonData(&gUnknown_0300127C->mons[monId].monData, MON_DATA_SPECIES, NULL); + CopyMonCategoryText(SpeciesToNationalPokedexNum(species), text); + x = GetStringRightAlignXOffset(1, text, 0x76); + PrintTextOnWindow(5, 1, text, x, 1, 0, NULL); + CopyWindowToVram(5, 2); + } +} + +void sub_819BD70(void) +{ + u8 monId = gUnknown_0300127C->cursorPos; + struct Pokemon *mon = &gUnknown_0300127C->mons[monId].monData; + u16 species = GetMonData(mon, MON_DATA_SPECIES, NULL); + u32 personality = GetMonData(mon, MON_DATA_PERSONALITY, NULL); + u32 otId = GetMonData(mon, MON_DATA_OT_ID, NULL); + + gUnknown_0300127C->unk298.field0 = CreateMonPicSprite_HandleDeoxys(species, otId, personality, TRUE, 88, 32, 15, 0xFFFF); + gSprites[gUnknown_0300127C->unk298.field0].centerToCornerVecX = 0; + gSprites[gUnknown_0300127C->unk298.field0].centerToCornerVecY = 0; + + gUnknown_0300127C->unk2A0 = 0; +} + +extern const struct SpriteTemplate gUnknown_08610638; + +void sub_819BE20(u8 arg0) +{ + gUnknown_0300127C->unk2A0 = arg0; +} + +void sub_819BE34(void) +{ + struct Pokemon *mon; + u16 species; + u32 personality, otId; + + gUnknown_0300127C->unk298.field1 = CreateSprite(&gUnknown_08610638, 120, 64, 1); + StartSpriteAffineAnim(&gSprites[gUnknown_0300127C->unk298.field1], 2); + + mon = &gUnknown_0300127C->mons[gUnknown_0300127C->cursorPos].monData; + species = GetMonData(mon, MON_DATA_SPECIES, NULL); + personality = GetMonData(mon, MON_DATA_PERSONALITY, NULL); + otId = GetMonData(mon, MON_DATA_OT_ID, NULL); + + gUnknown_0300127C->unk298.field0 = CreateMonPicSprite_HandleDeoxys(species, otId, personality, TRUE, 88, 32, 15, 0xFFFF); + gSprites[gUnknown_0300127C->unk298.field0].centerToCornerVecX = 0; + gSprites[gUnknown_0300127C->unk298.field0].centerToCornerVecY = 0; + + gSprites[gUnknown_0300127C->unk298.field1].invisible = 1; +} diff --git a/src/berry_fix_program.c b/src/berry_fix_program.c index f6a5895a9a..2ae15a806f 100644 --- a/src/berry_fix_program.c +++ b/src/berry_fix_program.c @@ -250,19 +250,19 @@ static void berry_fix_gpu_set(void) width = GetStringWidth(0, sUnknown_08617E9B, 0); left = (0x78 - width) / 2; - box_print(2, 0, left, 3, sUnknown_0861815B, TEXT_SPEED_FF, sUnknown_08617E9B); + AddTextPrinterParameterized3(2, 0, left, 3, sUnknown_0861815B, TEXT_SPEED_FF, sUnknown_08617E9B); width = GetStringWidth(0, sUnknown_08617E8D, 0); left = (0x78 - width) / 2 + 0x78; - box_print(2, 0, left, 3, sUnknown_0861815B, TEXT_SPEED_FF, sUnknown_08617E8D); + AddTextPrinterParameterized3(2, 0, left, 3, sUnknown_0861815B, TEXT_SPEED_FF, sUnknown_08617E8D); width = GetStringWidth(0, sUnknown_08617E8D, 0); left = (0x70 - width) / 2; - box_print(3, 0, left, 0, sUnknown_0861815B, TEXT_SPEED_FF, sUnknown_08617E8D); + AddTextPrinterParameterized3(3, 0, left, 0, sUnknown_0861815B, TEXT_SPEED_FF, sUnknown_08617E8D); width = GetStringWidth(1, sUnknown_08617E78, 0); left = (0xD0 - width) / 2; - box_print(0, 1, left, 2, sUnknown_08618158, TEXT_SPEED_FF, sUnknown_08617E78); + AddTextPrinterParameterized3(0, 1, left, 2, sUnknown_08618158, TEXT_SPEED_FF, sUnknown_08617E78); CopyWindowToVram(2, 2); CopyWindowToVram(3, 2); @@ -292,7 +292,7 @@ static void berry_fix_text_print(int scene) { FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 32, 32); FillWindowPixelBuffer(1, 0xAA); - box_print(1, 1, 0, 0, sUnknown_08618158, -1, gUnknown_08618160[scene]); + AddTextPrinterParameterized3(1, 1, 0, 0, sUnknown_08618158, -1, gUnknown_08618160[scene]); PutWindowTilemap(1); CopyWindowToVram(1, 2); switch (scene) diff --git a/src/hall_of_fame.c b/src/hall_of_fame.c index 33c85d448f..081c963eea 100644 --- a/src/hall_of_fame.c +++ b/src/hall_of_fame.c @@ -1128,7 +1128,7 @@ static void HallOfFame_PrintWelcomeText(u8 unusedPossiblyWindowId, u8 unused2) { FillWindowPixelBuffer(0, 0); PutWindowTilemap(0); - box_print(0, 1, GetStringCenterAlignXOffset(1, gText_WelcomeToHOF, 0xD0), 1, sUnknown_085E5388, 0, gText_WelcomeToHOF); + AddTextPrinterParameterized3(0, 1, GetStringCenterAlignXOffset(1, gText_WelcomeToHOF, 0xD0), 1, sUnknown_085E5388, 0, gText_WelcomeToHOF); CopyWindowToVram(0, 3); } @@ -1164,7 +1164,7 @@ static void HallOfFame_PrintMonInfo(struct HallofFameMon* currMon, u8 unused1, u *(stringPtr)++ = CHAR_QUESTION_MARK; } stringPtr[0] = EOS; - box_print(0, 1, 0x10, 1, sUnknown_085E5388, -1, text); + AddTextPrinterParameterized3(0, 1, 0x10, 1, sUnknown_085E5388, -1, text); } // nick, species names, gender and level @@ -1173,13 +1173,13 @@ static void HallOfFame_PrintMonInfo(struct HallofFameMon* currMon, u8 unused1, u if (currMon->species == SPECIES_EGG) { width = GetStringCenterAlignXOffset(1, text, 0xD0); - box_print(0, 1, width, 1, sUnknown_085E5388, -1, text); + AddTextPrinterParameterized3(0, 1, width, 1, sUnknown_085E5388, -1, text); CopyWindowToVram(0, 3); } else { width = GetStringRightAlignXOffset(1, text, 0x80); - box_print(0, 1, width, 1, sUnknown_085E5388, -1, text); + AddTextPrinterParameterized3(0, 1, width, 1, sUnknown_085E5388, -1, text); text[0] = CHAR_SLASH; stringPtr = StringCopy(text + 1, gSpeciesNames[currMon->species]); @@ -1200,15 +1200,15 @@ static void HallOfFame_PrintMonInfo(struct HallofFameMon* currMon, u8 unused1, u } stringPtr[0] = EOS; - box_print(0, 1, 0x80, 1, sUnknown_085E5388, -1, text); + AddTextPrinterParameterized3(0, 1, 0x80, 1, sUnknown_085E5388, -1, text); stringPtr = StringCopy(text, gText_Level); ConvertIntToDecimalStringN(stringPtr, currMon->lvl, STR_CONV_MODE_LEFT_ALIGN, 3); - box_print(0, 1, 0x24, 0x11, sUnknown_085E5388, -1, text); + AddTextPrinterParameterized3(0, 1, 0x24, 0x11, sUnknown_085E5388, -1, text); stringPtr = StringCopy(text, gText_IDNumber); ConvertIntToDecimalStringN(stringPtr, (u16)(currMon->tid), STR_CONV_MODE_LEADING_ZEROS, 5); - box_print(0, 1, 0x68, 0x11, sUnknown_085E5388, -1, text); + AddTextPrinterParameterized3(0, 1, 0x68, 0x11, sUnknown_085E5388, -1, text); CopyWindowToVram(0, 3); } @@ -1223,13 +1223,13 @@ static void HallOfFame_PrintPlayerInfo(u8 unused1, u8 unused2) FillWindowPixelBuffer(1, 0x11); PutWindowTilemap(1); SetWindowBorderStyle(1, FALSE, 0x21D, 0xD); - box_print(1, 1, 0, 1, sUnknown_085E538C, -1, gText_Name); + AddTextPrinterParameterized3(1, 1, 0, 1, sUnknown_085E538C, -1, gText_Name); width = GetStringRightAlignXOffset(1, gSaveBlock2Ptr->playerName, 0x70); - box_print(1, 1, width, 1, sUnknown_085E538C, -1, gSaveBlock2Ptr->playerName); + AddTextPrinterParameterized3(1, 1, width, 1, sUnknown_085E538C, -1, gSaveBlock2Ptr->playerName); trainerId = (gSaveBlock2Ptr->playerTrainerId[0]) | (gSaveBlock2Ptr->playerTrainerId[1] << 8); - box_print(1, 1, 0, 0x11, sUnknown_085E538C, 0, gText_IDNumber); + AddTextPrinterParameterized3(1, 1, 0, 0x11, sUnknown_085E538C, 0, gText_IDNumber); text[0] = (trainerId % 100000) / 10000 + CHAR_0; text[1] = (trainerId % 10000) / 1000 + CHAR_0; text[2] = (trainerId % 1000) / 100 + CHAR_0; @@ -1237,9 +1237,9 @@ static void HallOfFame_PrintPlayerInfo(u8 unused1, u8 unused2) text[4] = (trainerId % 10) / 1 + CHAR_0; text[5] = EOS; width = GetStringRightAlignXOffset(1, text, 0x70); - box_print(1, 1, width, 0x11, sUnknown_085E538C, -1, text); + AddTextPrinterParameterized3(1, 1, width, 0x11, sUnknown_085E538C, -1, text); - box_print(1, 1, 0, 0x21, sUnknown_085E538C, -1, gText_MainMenuTime); + AddTextPrinterParameterized3(1, 1, 0, 0x21, sUnknown_085E538C, -1, gText_MainMenuTime); text[0] = (gSaveBlock2Ptr->playTimeHours / 100) + CHAR_0; text[1] = (gSaveBlock2Ptr->playTimeHours % 100) / 10 + CHAR_0; text[2] = (gSaveBlock2Ptr->playTimeHours % 10) + CHAR_0; @@ -1255,7 +1255,7 @@ static void HallOfFame_PrintPlayerInfo(u8 unused1, u8 unused2) text[6] = EOS; width = GetStringRightAlignXOffset(1, text, 0x70); - box_print(1, 1, width, 0x21, sUnknown_085E538C, -1, text); + AddTextPrinterParameterized3(1, 1, width, 0x21, sUnknown_085E538C, -1, text); CopyWindowToVram(1, 3); } diff --git a/src/link.c b/src/link.c index 457e44a016..627327181b 100644 --- a/src/link.c +++ b/src/link.c @@ -1685,8 +1685,8 @@ static void sub_800B080(void) LoadPalette(gWirelessLinkDisplayPal, 0, 0x20); FillWindowPixelBuffer(0, 0x00); FillWindowPixelBuffer(2, 0x00); - box_print(0, 3, 2, 6, gUnknown_082ED224, 0, gText_CommErrorEllipsis); - box_print(2, 3, 2, 1, gUnknown_082ED224, 0, gText_MoveCloserToLinkPartner); + AddTextPrinterParameterized3(0, 3, 2, 6, gUnknown_082ED224, 0, gText_CommErrorEllipsis); + AddTextPrinterParameterized3(2, 3, 2, 1, gUnknown_082ED224, 0, gText_MoveCloserToLinkPartner); PutWindowTilemap(0); PutWindowTilemap(2); CopyWindowToVram(0, 0); @@ -1698,7 +1698,7 @@ static void sub_800B138(void) LoadBgTiles(0, g2BlankTilesGfx, 0x20, 0); FillWindowPixelBuffer(1, 0x00); FillWindowPixelBuffer(2, 0x00); - box_print(1, 3, 2, 0, gUnknown_082ED224, 0, gText_CommErrorCheckConnections); + AddTextPrinterParameterized3(1, 3, 2, 0, gUnknown_082ED224, 0, gText_CommErrorCheckConnections); PutWindowTilemap(1); PutWindowTilemap(2); CopyWindowToVram(1, 0); @@ -1738,11 +1738,11 @@ static void CB2_PrintErrorMessage(void) case 130: if (gWirelessCommType == 2) { - box_print(0, 3, 2, 20, gUnknown_082ED224, 0, gText_ABtnTitleScreen); + AddTextPrinterParameterized3(0, 3, 2, 20, gUnknown_082ED224, 0, gText_ABtnTitleScreen); } else if (gWirelessCommType == 1) { - box_print(0, 3, 2, 20, gUnknown_082ED224, 0, gText_ABtnRegistrationCounter); + AddTextPrinterParameterized3(0, 3, 2, 20, gUnknown_082ED224, 0, gText_ABtnRegistrationCounter); } break; } diff --git a/src/mail.c b/src/mail.c index 625b52de36..3c12bed3f5 100644 --- a/src/mail.c +++ b/src/mail.c @@ -485,14 +485,14 @@ static void sub_8121B1C(void) { continue; } - box_print(0, 1, sMailRead->layout->var8[i].xOffset + sMailRead->layout->wordsYPos, y + sMailRead->layout->wordsXPos, sUnknown_0859F2AC, 0, sMailRead->strbuf[i]); + AddTextPrinterParameterized3(0, 1, sMailRead->layout->var8[i].xOffset + sMailRead->layout->wordsYPos, y + sMailRead->layout->wordsXPos, sUnknown_0859F2AC, 0, sMailRead->strbuf[i]); y += sMailRead->layout->var8[i].lineHeight; } bufptr = StringCopy(strbuf, gText_FromSpace); StringCopy(bufptr, sMailRead->playerName); box_x = GetStringCenterAlignXOffset(1, strbuf, sMailRead->signatureWidth) + 0x68; box_y = sMailRead->layout->signatureYPos + 0x58; - box_print(0, 1, box_x, box_y, sUnknown_0859F2AC, 0, strbuf); + AddTextPrinterParameterized3(0, 1, box_x, box_y, sUnknown_0859F2AC, 0, strbuf); CopyWindowToVram(0, 3); CopyWindowToVram(1, 3); } diff --git a/src/main_menu.c b/src/main_menu.c index e28faf986a..b4b343fc6c 100644 --- a/src/main_menu.c +++ b/src/main_menu.c @@ -527,8 +527,8 @@ void Task_DisplayMainMenu(u8 taskId) default: FillWindowPixelBuffer(0, 0xAA); FillWindowPixelBuffer(1, 0xAA); - box_print(0, 1, 0, 1, gTextColor_Headers, -1, gText_MainMenuNewGame); - box_print(1, 1, 0, 1, gTextColor_Headers, -1, gText_MainMenuOption); + AddTextPrinterParameterized3(0, 1, 0, 1, gTextColor_Headers, -1, gText_MainMenuNewGame); + AddTextPrinterParameterized3(1, 1, 0, 1, gTextColor_Headers, -1, gText_MainMenuOption); PutWindowTilemap(0); PutWindowTilemap(1); CopyWindowToVram(0, 2); @@ -540,9 +540,9 @@ void Task_DisplayMainMenu(u8 taskId) FillWindowPixelBuffer(2, 0xAA); FillWindowPixelBuffer(3, 0xAA); FillWindowPixelBuffer(4, 0xAA); - box_print(2, 1, 0, 1, gTextColor_Headers, -1, gText_MainMenuContinue); - box_print(3, 1, 0, 1, gTextColor_Headers, -1, gText_MainMenuNewGame); - box_print(4, 1, 0, 1, gTextColor_Headers, -1, gText_MainMenuOption); + AddTextPrinterParameterized3(2, 1, 0, 1, gTextColor_Headers, -1, gText_MainMenuContinue); + AddTextPrinterParameterized3(3, 1, 0, 1, gTextColor_Headers, -1, gText_MainMenuNewGame); + AddTextPrinterParameterized3(4, 1, 0, 1, gTextColor_Headers, -1, gText_MainMenuOption); fmt_savegame(); PutWindowTilemap(2); PutWindowTilemap(3); @@ -559,10 +559,10 @@ void Task_DisplayMainMenu(u8 taskId) FillWindowPixelBuffer(3, 0xAA); FillWindowPixelBuffer(4, 0xAA); FillWindowPixelBuffer(5, 0xAA); - box_print(2, 1, 0, 1, gTextColor_Headers, -1, gText_MainMenuContinue); - box_print(3, 1, 0, 1, gTextColor_Headers, -1, gText_MainMenuNewGame); - box_print(4, 1, 0, 1, gTextColor_Headers, -1, gText_MainMenuMysteryGift); - box_print(5, 1, 0, 1, gTextColor_Headers, -1, gText_MainMenuOption); + AddTextPrinterParameterized3(2, 1, 0, 1, gTextColor_Headers, -1, gText_MainMenuContinue); + AddTextPrinterParameterized3(3, 1, 0, 1, gTextColor_Headers, -1, gText_MainMenuNewGame); + AddTextPrinterParameterized3(4, 1, 0, 1, gTextColor_Headers, -1, gText_MainMenuMysteryGift); + AddTextPrinterParameterized3(5, 1, 0, 1, gTextColor_Headers, -1, gText_MainMenuOption); fmt_savegame(); PutWindowTilemap(2); PutWindowTilemap(3); @@ -583,11 +583,11 @@ void Task_DisplayMainMenu(u8 taskId) FillWindowPixelBuffer(4, 0xAA); FillWindowPixelBuffer(5, 0xAA); FillWindowPixelBuffer(6, 0xAA); - box_print(2, 1, 0, 1, gTextColor_Headers, -1, gText_MainMenuContinue); - box_print(3, 1, 0, 1, gTextColor_Headers, -1, gText_MainMenuNewGame); - box_print(4, 1, 0, 1, gTextColor_Headers, -1, gText_MainMenuMysteryGift2); - box_print(5, 1, 0, 1, gTextColor_Headers, -1, gText_MainMenuMysteryEvents); - box_print(6, 1, 0, 1, gTextColor_Headers, -1, gText_MainMenuOption); + AddTextPrinterParameterized3(2, 1, 0, 1, gTextColor_Headers, -1, gText_MainMenuContinue); + AddTextPrinterParameterized3(3, 1, 0, 1, gTextColor_Headers, -1, gText_MainMenuNewGame); + AddTextPrinterParameterized3(4, 1, 0, 1, gTextColor_Headers, -1, gText_MainMenuMysteryGift2); + AddTextPrinterParameterized3(5, 1, 0, 1, gTextColor_Headers, -1, gText_MainMenuMysteryEvents); + AddTextPrinterParameterized3(6, 1, 0, 1, gTextColor_Headers, -1, gText_MainMenuOption); fmt_savegame(); PutWindowTilemap(2); PutWindowTilemap(3); @@ -1839,8 +1839,8 @@ void fmt_savegame(void) void fmt_time(void) { StringExpandPlaceholders(gStringVar4, gText_ContinueMenuPlayer); - box_print(2, 1, 0, 17, gUnknown_082FF0E3, -1, gStringVar4); - box_print(2, 1, GetStringRightAlignXOffset(1, gSaveBlock2Ptr->playerName, 100), 17, gUnknown_082FF0E3, -1, gSaveBlock2Ptr->playerName); + AddTextPrinterParameterized3(2, 1, 0, 17, gUnknown_082FF0E3, -1, gStringVar4); + AddTextPrinterParameterized3(2, 1, GetStringRightAlignXOffset(1, gSaveBlock2Ptr->playerName, 100), 17, gUnknown_082FF0E3, -1, gSaveBlock2Ptr->playerName); } void fmt_player(void) @@ -1849,11 +1849,11 @@ void fmt_player(void) u8* ptr; StringExpandPlaceholders(gStringVar4, gText_ContinueMenuTime); - box_print(2, 1, 0x6C, 17, gUnknown_082FF0E3, -1, gStringVar4); + AddTextPrinterParameterized3(2, 1, 0x6C, 17, gUnknown_082FF0E3, -1, gStringVar4); ptr = ConvertIntToDecimalStringN(str, gSaveBlock2Ptr->playTimeHours, 0, 3); *ptr = 0xF0; ConvertIntToDecimalStringN(ptr + 1, gSaveBlock2Ptr->playTimeMinutes, 2, 2); - box_print(2, 1, GetStringRightAlignXOffset(1, str, 0xD0), 17, gUnknown_082FF0E3, -1, str); + AddTextPrinterParameterized3(2, 1, GetStringRightAlignXOffset(1, str, 0xD0), 17, gUnknown_082FF0E3, -1, str); } void fmt_pokedex(void) @@ -1868,9 +1868,9 @@ void fmt_pokedex(void) else dexCount = GetHoennPokedexCount(1); StringExpandPlaceholders(gStringVar4, gText_ContinueMenuPokedex); - box_print(2, 1, 0, 33, gUnknown_082FF0E3, -1, gStringVar4); + AddTextPrinterParameterized3(2, 1, 0, 33, gUnknown_082FF0E3, -1, gStringVar4); ConvertIntToDecimalStringN(str, dexCount, 0, 3); - box_print(2, 1, GetStringRightAlignXOffset(1, str, 100), 33, gUnknown_082FF0E3, -1, str); + AddTextPrinterParameterized3(2, 1, GetStringRightAlignXOffset(1, str, 100), 33, gUnknown_082FF0E3, -1, str); } } @@ -1886,9 +1886,9 @@ void fmt_badges(void) badgeCount++; } StringExpandPlaceholders(gStringVar4, gText_ContinueMenuBadges); - box_print(2, 1, 0x6C, 33, gUnknown_082FF0E3, -1, gStringVar4); + AddTextPrinterParameterized3(2, 1, 0x6C, 33, gUnknown_082FF0E3, -1, gStringVar4); ConvertIntToDecimalStringN(str, badgeCount, 2, 1); - box_print(2, 1, GetStringRightAlignXOffset(1, str, 0xD0), 33, gUnknown_082FF0E3, -1, str); + AddTextPrinterParameterized3(2, 1, GetStringRightAlignXOffset(1, str, 0xD0), 33, gUnknown_082FF0E3, -1, str); } void LoadMainMenuWindowFrameTiles(u8 bgId, u16 tileOffset) diff --git a/src/menu.c b/src/menu.c index 8a4b4fce55..7c9c2f8a80 100644 --- a/src/menu.c +++ b/src/menu.c @@ -799,7 +799,7 @@ void sub_8198180(const u8 *string, u8 a2, bool8 copyToVram) PutWindowTilemap(gUnknown_0203CDA0); FillWindowPixelBuffer(gUnknown_0203CDA0, 0xFF); width = GetStringWidth(0, string, 0); - box_print(gUnknown_0203CDA0, + AddTextPrinterParameterized3(gUnknown_0203CDA0, 0, 0xEC - (GetWindowAttribute(gUnknown_0203CDA0, WINDOW_TILEMAP_LEFT) * 8) - a2 - width, 1, @@ -835,7 +835,7 @@ void sub_8198204(const u8 *string, const u8 *string2, u8 a3, u8 a4, bool8 copyTo if (string2 != NULL) { width = GetStringWidth(0, string2, 0); - box_print(gUnknown_0203CDA0, + AddTextPrinterParameterized3(gUnknown_0203CDA0, 0, 0xEC - (GetWindowAttribute(gUnknown_0203CDA0, WINDOW_TILEMAP_LEFT) * 8) - a4 - width, 1, @@ -1925,7 +1925,7 @@ void sub_8199DF0(u32 bg, u8 a1, int a2, int a3) RequestDma3Fill(a1 << 24 | a1 << 16 | a1 << 8 | a1, addr + VRAM, a3 * temp, 1); } -void box_print(u8 windowId, u8 fontId, u8 left, u8 top, const u8 *color, s8 speed, const u8 *str) +void AddTextPrinterParameterized3(u8 windowId, u8 fontId, u8 left, u8 top, const u8 *color, s8 speed, const u8 *str) { struct TextSubPrinter printer; diff --git a/src/naming_screen.c b/src/naming_screen.c index f99d23bc3d..35a05499b8 100644 --- a/src/naming_screen.c +++ b/src/naming_screen.c @@ -1515,7 +1515,7 @@ static void sub_80E49BC(void) StringCopy(genderSymbol, gText_FemaleSymbol); isFemale = TRUE; } - box_print(gNamingScreenData->windows[2], 1, 0x68, 1, sGenderColors[isFemale], -1, genderSymbol); + AddTextPrinterParameterized3(gNamingScreenData->windows[2], 1, 0x68, 1, sGenderColors[isFemale], -1, genderSymbol); } } @@ -1694,7 +1694,7 @@ static void sub_80E4DE4(u8 window, u8 a1) for (i = 0; i < 4; i++) { - box_print(window, 1, 0, i * 16 + 1, sUnkColors[a1], 0, gUnknown_0858C198[a1][i]); + AddTextPrinterParameterized3(window, 1, 0, i * 16 + 1, sUnkColors[a1], 0, gUnknown_0858C198[a1][i]); } PutWindowTilemap(window); @@ -1739,7 +1739,7 @@ static void sub_80E4EF0(void) const u8 color[3] = { 15, 1, 2 }; FillWindowPixelBuffer(gNamingScreenData->windows[4], 0xFF); - box_print(gNamingScreenData->windows[4], 0, 2, 1, color, 0, gText_MoveOkBack); + AddTextPrinterParameterized3(gNamingScreenData->windows[4], 0, 2, 1, color, 0, gText_MoveOkBack); PutWindowTilemap(gNamingScreenData->windows[4]); CopyWindowToVram(gNamingScreenData->windows[4], 3); } diff --git a/src/pokemon_storage_system.c b/src/pokemon_storage_system.c index 7c622c2235..eae8681342 100644 --- a/src/pokemon_storage_system.c +++ b/src/pokemon_storage_system.c @@ -627,12 +627,12 @@ void sub_80C7BE4(void) FillWindowPixelBuffer(windowId, 0x44); center = GetStringCenterAlignXOffset(1, boxName, 0x40); - box_print(windowId, 1, center, 1, gUnknown_08571734, TEXT_SPEED_FF, boxName); + AddTextPrinterParameterized3(windowId, 1, center, 1, gUnknown_08571734, TEXT_SPEED_FF, boxName); ConvertIntToDecimalStringN(text, nPokemonInBox, 1, 2); StringAppend(text, gUnknown_08571737); center = GetStringCenterAlignXOffset(1, text, 0x40); - box_print(windowId, 1, center, 0x11, gUnknown_08571734, TEXT_SPEED_FF, text); + AddTextPrinterParameterized3(windowId, 1, center, 0x11, gUnknown_08571734, TEXT_SPEED_FF, text); winTileData = GetWindowAttribute(windowId, WINDOW_TILE_DATA); CpuCopy32((void *)winTileData, (void *)OBJ_VRAM0 + 0x100 + (GetSpriteTileStartByTag(gUnknown_02039D04->unk_0240) * 32), 0x400); diff --git a/src/starter_choose.c b/src/starter_choose.c index c1e7eea407..5625b61840 100644 --- a/src/starter_choose.c +++ b/src/starter_choose.c @@ -301,10 +301,10 @@ static void CreateStarterPokemonLabel(u8 selection) FillWindowPixelBuffer(sStarterChooseWindowId, 0); width = GetStringCenterAlignXOffset(7, text, 0x68); - box_print(sStarterChooseWindowId, 7, width, 1, gUnknown_085B1E0C, 0, text); + AddTextPrinterParameterized3(sStarterChooseWindowId, 7, width, 1, gUnknown_085B1E0C, 0, text); width = GetStringCenterAlignXOffset(1, speciesName, 0x68); - box_print(sStarterChooseWindowId, 1, width, 0x11, gUnknown_085B1E0C, 0, speciesName); + AddTextPrinterParameterized3(sStarterChooseWindowId, 1, width, 0x11, gUnknown_085B1E0C, 0, speciesName); PutWindowTilemap(sStarterChooseWindowId); schedule_bg_copy_tilemap_to_vram(0); From 4c54212b1f559a110fc7f6fffebe3a54748f3fec Mon Sep 17 00:00:00 2001 From: Slawter666 <38655737+Slawter666@users.noreply.github.com> Date: Tue, 4 Sep 2018 23:31:37 +0100 Subject: [PATCH 168/234] Bring labels for overworld.c over from pokeruby --- asm/cable_car.s | 2 +- asm/field_control_avatar.s | 20 +-- asm/field_screen.s | 24 ++-- include/overworld.h | 40 +++--- src/decoration.c | 2 +- src/event_object_movement.c | 38 +++--- src/field_effect.c | 24 ++-- src/field_specials.c | 4 +- src/fieldmap.c | 4 +- src/item_use.c | 2 +- src/new_game.c | 2 +- src/overworld.c | 265 ++++++++++++++++++------------------ src/rom_8011DC0.c | 4 +- src/safari_zone.c | 4 +- src/scrcmd.c | 22 +-- src/secret_base.c | 6 +- 16 files changed, 231 insertions(+), 232 deletions(-) diff --git a/asm/cable_car.s b/asm/cable_car.s index 59245a1b20..276b878e2e 100644 --- a/asm/cable_car.s +++ b/asm/cable_car.s @@ -774,7 +774,7 @@ _08150340: orrs r3, r0 str r3, [r2, 0x8] ldr r0, [r2, 0x8] - bl warp_in + bl WarpIntoMap ldr r0, =gFieldCallback str r4, [r0] ldr r0, =CB2_LoadMap diff --git a/asm/field_control_avatar.s b/asm/field_control_avatar.s index c2b13e2bfc..666e440a6e 100644 --- a/asm/field_control_avatar.s +++ b/asm/field_control_avatar.s @@ -530,7 +530,7 @@ sub_809C2C8: @ 809C2C8 ldrh r1, [r4, 0x2] b _0809C30E _0809C2F0: - ldr r1, =gUnknown_08339D64 + ldr r1, =gDirectionToVectors lsls r2, r6, 3 adds r0, r2, r1 ldr r3, [r0] @@ -631,7 +631,7 @@ _0809C3B4: lsrs r0, 24 cmp r0, 0x1 bne _0809C400 - ldr r1, =gUnknown_08339D64 + ldr r1, =gDirectionToVectors lsls r2, r7, 3 adds r0, r2, r1 ldr r3, [r0] @@ -1658,7 +1658,7 @@ mapheader_run_first_tag2_script_list_match_conditionally: @ 809CC38 negs r0, r0 cmp r4, r0 beq _0809CC90 - bl walkrun_find_lowest_active_bit_in_bitfield + bl StoreInitialPlayerAvatarState mov r0, r8 adds r1, r4, 0 adds r2, r7, 0 @@ -1699,7 +1699,7 @@ sub_809CC9C: @ 809CC9C lsrs r0, 24 cmp r0, 0x1 bne _0809CD8A - bl walkrun_find_lowest_active_bit_in_bitfield + bl StoreInitialPlayerAvatarState adds r0, r7, 0 adds r1, r4, 0 adds r2, r6, 0 @@ -2083,7 +2083,7 @@ _0809CFB0: lsrs r0, 24 cmp r0, 0x1 bne _0809CFFC - bl walkrun_find_lowest_active_bit_in_bitfield + bl StoreInitialPlayerAvatarState adds r0, r6, 0 adds r1, r4, 0 adds r2, r5, 0 @@ -2334,7 +2334,7 @@ dive_warp: @ 809D16C subs r1, 0x7 lsls r1, 16 lsrs r1, 16 - bl sub_8085058 + bl SetDiveWarpEmerge b _0809D1C8 .pool _0809D1A4: @@ -2353,12 +2353,12 @@ _0809D1A4: subs r1, 0x7 lsls r1, 16 lsrs r1, 16 - bl sub_8085078 + bl SetDiveWarpDive _0809D1C8: lsls r0, 24 cmp r0, 0 beq _0809D1E0 - bl walkrun_find_lowest_active_bit_in_bitfield + bl StoreInitialPlayerAvatarState bl sp13E_warp_to_last_warp movs r0, 0xE9 bl PlaySE @@ -2407,7 +2407,7 @@ sub_809D1E8: @ 809D1E8 subs r1, 0x7 lsls r1, 16 lsrs r1, 16 - bl sub_8085058 + bl SetDiveWarpEmerge lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -2431,7 +2431,7 @@ _0809D244: subs r1, 0x7 lsls r1, 16 lsrs r1, 16 - bl sub_8085078 + bl SetDiveWarpDive lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 diff --git a/asm/field_screen.s b/asm/field_screen.s index 27627ac587..c11aef1b49 100644 --- a/asm/field_screen.s +++ b/asm/field_screen.s @@ -7914,7 +7914,7 @@ sub_80AF0B4: @ 80AF0B4 adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 - bl warp1_get_mapheader + bl GetDestinationWarpMapHeader ldrb r1, [r0, 0x17] adds r0, r4, 0 bl sub_8137360 @@ -8924,7 +8924,7 @@ _080AF914: bl sub_80AF710 cmp r0, 0 bne _080AF93E - bl sub_80859A0 + bl BGMusicStopped lsls r0, 24 cmp r0, 0 beq _080AF93E @@ -8934,7 +8934,7 @@ _080AF926: strh r0, [r4, 0x8] b _080AF93E _080AF92E: - bl warp_in + bl WarpIntoMap ldr r0, =sub_8086074 bl SetMainCallback2 adds r0, r5, 0 @@ -8999,7 +8999,7 @@ _080AF9B2: bl sub_80AF710 cmp r0, 0 bne _080AF9E8 - bl sub_80859A0 + bl BGMusicStopped lsls r0, 24 cmp r0, 0 beq _080AF9E8 @@ -9014,7 +9014,7 @@ _080AF9D0: ldrb r0, [r0] cmp r0, 0 bne _080AF9E8 - bl warp_in + bl WarpIntoMap ldr r0, =CB2_LoadMap bl SetMainCallback2 adds r0, r5, 0 @@ -9076,7 +9076,7 @@ _080AFA44: bl sub_81BE72C strh r5, [r4, 0xA] _080AFA5A: - bl sub_80859A0 + bl BGMusicStopped lsls r0, 24 cmp r0, 0 beq _080AFA7C @@ -9086,7 +9086,7 @@ _080AFA64: strh r0, [r4, 0x8] b _080AFA7C _080AFA6C: - bl warp_in + bl WarpIntoMap ldr r0, =CB2_LoadMap bl SetMainCallback2 adds r0, r6, 0 @@ -9297,7 +9297,7 @@ _080AFC2C: bl sub_80AF710 cmp r0, 0 bne _080AFC56 - bl sub_80859A0 + bl BGMusicStopped lsls r0, 24 cmp r0, 0 beq _080AFC56 @@ -9307,7 +9307,7 @@ _080AFC3E: strh r0, [r4, 0x8] b _080AFC56 _080AFC46: - bl warp_in + bl WarpIntoMap ldr r0, =sub_8086024 bl SetMainCallback2 adds r0, r5, 0 @@ -10049,7 +10049,7 @@ _080B0210: bl sub_80AF710 cmp r0, 0 bne _080B023A - bl sub_80859A0 + bl BGMusicStopped lsls r0, 24 cmp r0, 0 beq _080B023A @@ -10059,7 +10059,7 @@ _080B0222: strh r0, [r4, 0x8] b _080B023A _080B022A: - bl warp_in + bl WarpIntoMap ldr r0, =CB2_LoadMap bl SetMainCallback2 adds r0, r5, 0 @@ -10492,7 +10492,7 @@ task50_0807F0C8: @ 80B05CC push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - bl sub_80859A0 + bl BGMusicStopped lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 diff --git a/include/overworld.h b/include/overworld.h index 341e442783..f6856ab0c1 100644 --- a/include/overworld.h +++ b/include/overworld.h @@ -1,10 +1,10 @@ #ifndef GUARD_OVERWORLD_H #define GUARD_OVERWORLD_H -struct UnkPlayerStruct +struct InitialPlayerAvatarState { - u8 player_field_0; - u8 player_field_1; + u8 transitionFlags; + u8 direction; }; struct LinkPlayerEventObject @@ -16,7 +16,7 @@ struct LinkPlayerEventObject }; // Exported RAM declarations -extern struct WarpData gUnknown_020322DC; +extern struct WarpData gLastUsedWarp; extern struct LinkPlayerEventObject gLinkPlayerEventObjects[4]; extern u16 *gBGTilemapBuffers1; @@ -26,7 +26,7 @@ extern u16 *gBGTilemapBuffers3; extern void (*gFieldCallback)(void); // Exported ROM declarations -extern const struct UCoords32 gUnknown_08339D64[]; +extern const struct UCoords32 gDirectionToVectors[]; void DoWhiteOut(void); void Overworld_ResetStateAfterFly(void); @@ -45,13 +45,13 @@ const struct MapLayout *GetMapLayout(void); void ApplyCurrentWarp(void); void set_warp2_warp3_to_neg_1(void); void SetWarpData(struct WarpData *warp, s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y); -bool32 warp_data_is_not_neg_1(struct WarpData *warp); +bool32 IsDummyWarp(struct WarpData *warp); struct MapHeader const *const Overworld_GetMapHeaderByGroupAndId(u16 mapGroup, u16 mapNum); -struct MapHeader const *const warp1_get_mapheader(void); -void set_current_map_header_from_sav1_save_old_name(void); +struct MapHeader const *const GetDestinationWarpMapHeader(void); +void LoadCurrentMapData(void); void LoadSaveblockMapHeader(void); -void update_camera_pos_from_warpid(void); -void warp_in(void); +void SetPlayerCoordsFromWarp(void); +void WarpIntoMap(void); void Overworld_SetWarpDestination(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y); void warp1_set_2(s8 mapGroup, s8 mapNum, s8 warpId); void saved_warp2_set(s32 unused, s8 mapGroup, s8 mapNum, s8 warpId); @@ -63,21 +63,21 @@ void Overworld_SetHealLocationWarp(u8 healLocationId); void sub_8084D5C(s16 a1, s16 a2); void sub_8084DD4(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y); void sub_8084E14(void); -void sub_8084E2C(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y); -void warp1_set_to_warp2(void); -void sub_8084E80(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y); -void sub_8084EBC(s16 x, s16 y); +void SetFixedDiveWarp(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y); +void SetFixedDiveWarpAsDestination(void); +void SetFixedHoleWarp(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y); +void SetFixedHoleWarpAsDestination(s16 x, s16 y); void warp1_set_to_sav1w(void); void sub_8084F2C(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y); void sub_8084F6C(u8 a1); void sub_8084FAC(void); const struct MapConnection *GetMapConnection(u8 dir); -bool8 sub_8084FF8(u8 dir, u16 x, u16 y); -bool8 sub_8085058(u16 x, u16 y); -bool8 sub_8085078(u16 x, u16 y); +bool8 SetDiveWarp(u8 dir, u16 x, u16 y); +bool8 SetDiveWarpEmerge(u16 x, u16 y); +bool8 SetDiveWarpDive(u16 x, u16 y); void mliX_load_map(u8 mapGroup, u8 mapNum); -void player_avatar_init_params_reset(void); -void walkrun_find_lowest_active_bit_in_bitfield(void); +void ResetInitialPlayerAvatarState(void); +void StoreInitialPlayerAvatarState(void); bool32 Overworld_IsBikingAllowed(void); void SetDefaultFlashLevel(void); void Overworld_SetFlashLevel(s32 flashLevel); @@ -96,7 +96,7 @@ void Overworld_ChangeMusicToDefault(void); void Overworld_ChangeMusicTo(u16 newMusic); u8 GetMapMusicFadeoutSpeed(void); void music_something(void); -bool8 sub_80859A0(void); +bool8 BGMusicStopped(void); void Overworld_FadeOutMapMusic(void); void UpdateAmbientCry(s16 *state, u16 *delayCounter); u8 GetMapTypeByGroupAndId(s8 mapGroup, s8 mapNum); diff --git a/src/decoration.c b/src/decoration.c index 4f9ad298de..e1def6d38e 100644 --- a/src/decoration.c +++ b/src/decoration.c @@ -1132,7 +1132,7 @@ void sub_8127B04(u8 taskId) { DrawWholeMapView(); Overworld_SetWarpDestination(gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1, gTasks[taskId].data[3], gTasks[taskId].data[4]); - warp_in(); + WarpIntoMap(); } u16 sub_8127B54(u8 decor, u8 a1) diff --git a/src/event_object_movement.c b/src/event_object_movement.c index b54936db4a..9a1e711c32 100644 --- a/src/event_object_movement.c +++ b/src/event_object_movement.c @@ -798,7 +798,7 @@ bool8 (*const gDirectionBlockedMetatileFuncs[])(u8) = { MetatileBehavior_IsWestBlocked }; -const struct Coords16 gDirectionToVectors[] = { +static const struct Coords16 sDirectionToVectors[] = { { 0, 0}, { 0, 1}, { 0, -1}, @@ -4957,14 +4957,14 @@ void sub_8092EF0(u8 localId, u8 mapNum, u8 mapGroup) void MoveCoords(u8 direction, s16 *x, s16 *y) { - *x += gDirectionToVectors[direction].x; - *y += gDirectionToVectors[direction].y; + *x += sDirectionToVectors[direction].x; + *y += sDirectionToVectors[direction].y; } void sub_8092F60(u8 direction, s16 *x, s16 *y) { - *x += gDirectionToVectors[direction].x << 4; - *y += gDirectionToVectors[direction].y << 4; + *x += sDirectionToVectors[direction].x << 4; + *y += sDirectionToVectors[direction].y << 4; } static void MoveCoordsInDirection(u32 dir, s16 *x, s16 *y, s16 deltaX, s16 deltaY) @@ -4972,13 +4972,13 @@ static void MoveCoordsInDirection(u32 dir, s16 *x, s16 *y, s16 deltaX, s16 delta u8 direction = dir; s16 dx2 = (u16)deltaX; s16 dy2 = (u16)deltaY; - if (gDirectionToVectors[direction].x > 0) + if (sDirectionToVectors[direction].x > 0) *x += dx2; - if (gDirectionToVectors[direction].x < 0) + if (sDirectionToVectors[direction].x < 0) *x -= dx2; - if (gDirectionToVectors[direction].y > 0) + if (sDirectionToVectors[direction].y > 0) *y += dy2; - if (gDirectionToVectors[direction].y < 0) + if (sDirectionToVectors[direction].y < 0) *y -= dy2; } @@ -8389,32 +8389,32 @@ void UnfreezeEventObjects(void) void Step1(struct Sprite *sprite, u8 dir) { - sprite->pos1.x += gDirectionToVectors[dir].x; - sprite->pos1.y += gDirectionToVectors[dir].y; + sprite->pos1.x += sDirectionToVectors[dir].x; + sprite->pos1.y += sDirectionToVectors[dir].y; } void Step2(struct Sprite *sprite, u8 dir) { - sprite->pos1.x += 2 * (u16) gDirectionToVectors[dir].x; - sprite->pos1.y += 2 * (u16) gDirectionToVectors[dir].y; + sprite->pos1.x += 2 * (u16) sDirectionToVectors[dir].x; + sprite->pos1.y += 2 * (u16) sDirectionToVectors[dir].y; } void Step3(struct Sprite *sprite, u8 dir) { - sprite->pos1.x += 2 * (u16) gDirectionToVectors[dir].x + (u16) gDirectionToVectors[dir].x; - sprite->pos1.y += 2 * (u16) gDirectionToVectors[dir].y + (u16) gDirectionToVectors[dir].y; + sprite->pos1.x += 2 * (u16) sDirectionToVectors[dir].x + (u16) sDirectionToVectors[dir].x; + sprite->pos1.y += 2 * (u16) sDirectionToVectors[dir].y + (u16) sDirectionToVectors[dir].y; } void Step4(struct Sprite *sprite, u8 dir) { - sprite->pos1.x += 4 * (u16) gDirectionToVectors[dir].x; - sprite->pos1.y += 4 * (u16) gDirectionToVectors[dir].y; + sprite->pos1.x += 4 * (u16) sDirectionToVectors[dir].x; + sprite->pos1.y += 4 * (u16) sDirectionToVectors[dir].y; } void Step8(struct Sprite *sprite, u8 dir) { - sprite->pos1.x += 8 * (u16) gDirectionToVectors[dir].x; - sprite->pos1.y += 8 * (u16) gDirectionToVectors[dir].y; + sprite->pos1.x += 8 * (u16) sDirectionToVectors[dir].x; + sprite->pos1.y += 8 * (u16) sDirectionToVectors[dir].y; } void oamt_npc_ministep_reset(struct Sprite *sprite, u8 a2, u8 a3) diff --git a/src/field_effect.c b/src/field_effect.c index 13de58aa4a..ecda8578b9 100644 --- a/src/field_effect.c +++ b/src/field_effect.c @@ -1170,7 +1170,7 @@ void task00_8084310(u8 taskId) if (!FieldEffectActiveListContains(FLDEFF_USE_FLY)) { Overworld_ResetStateAfterFly(); - warp_in(); + WarpIntoMap(); SetMainCallback2(CB2_LoadMap); gFieldCallback = mapldr_08084390; DestroyTask(taskId); @@ -1355,7 +1355,7 @@ void sub_80B6FB8(struct Task *); void sub_80B7004(struct Task *); void sub_80B7050(void); void sub_80B7060(void); -bool8 sub_80859A0(void); +bool8 BGMusicStopped(void); void sub_80B70B4(void); void sub_80E1570(void); void sub_80B70DC(u8); @@ -1476,10 +1476,10 @@ void sub_80B7050(void) void sub_80B7060(void) { - if (!gPaletteFade.active && sub_80859A0() == TRUE) + if (!gPaletteFade.active && BGMusicStopped() == TRUE) { sub_80E1570(); - warp_in(); + WarpIntoMap(); gFieldCallback = sub_80B70B4; SetMainCallback2(CB2_LoadMap); DestroyTask(FindTaskIdByFunc(sub_80B6E88)); @@ -1838,9 +1838,9 @@ bool8 sub_80B77F8(struct Task *task, struct EventObject *eventObject, struct Spr bool8 sub_80B7814(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite) { - if (!gPaletteFade.active && sub_80859A0() == TRUE) + if (!gPaletteFade.active && BGMusicStopped() == TRUE) { - warp_in(); + WarpIntoMap(); gFieldCallback = mapldr_080851BC; SetMainCallback2(CB2_LoadMap); DestroyTask(FindTaskIdByFunc(sub_80B75F0)); @@ -2004,9 +2004,9 @@ void mapldr_080859D4(void); bool8 sub_80B7BF4(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite) { - if (!gPaletteFade.active && sub_80859A0() == TRUE) + if (!gPaletteFade.active && BGMusicStopped() == TRUE) { - warp_in(); + WarpIntoMap(); gFieldCallback = sub_80B6B68; SetMainCallback2(CB2_LoadMap); DestroyTask(FindTaskIdByFunc(sub_80B7A8C)); @@ -2063,11 +2063,11 @@ void sub_80B7D34(struct Task *task) eventObject = &gEventObjects[gPlayerAvatar.eventObjectId]; if (!EventObjectIsMovementOverridden(eventObject) || EventObjectClearHeldMovementIfFinished(eventObject)) { - if (task->data[14] == 0 && !gPaletteFade.active && sub_80859A0() == TRUE) + if (task->data[14] == 0 && !gPaletteFade.active && BGMusicStopped() == TRUE) { SetEventObjectDirection(eventObject, task->data[15]); sub_8084E14(); - warp_in(); + WarpIntoMap(); gFieldCallback = mapldr_080859D4; SetMainCallback2(CB2_LoadMap); DestroyTask(FindTaskIdByFunc(sub_80B7CE4)); @@ -2234,10 +2234,10 @@ static void TeleportFieldEffectTask4(struct Task *task) task->data[5] = TRUE; } - if (sub_80859A0() == TRUE) + if (BGMusicStopped() == TRUE) { Overworld_SetWarpDestToLastHealLoc(); - warp_in(); + WarpIntoMap(); SetMainCallback2(CB2_LoadMap); gFieldCallback = mapldr_08085D88; DestroyTask(FindTaskIdByFunc(ExecuteTeleportFieldEffectTask)); diff --git a/src/field_specials.c b/src/field_specials.c index 84852e6b5c..14f99b426c 100644 --- a/src/field_specials.c +++ b/src/field_specials.c @@ -269,7 +269,7 @@ u16 GetRecordedCyclingRoadResults(void) { } void UpdateCyclingRoadState(void) { - if (gUnknown_020322DC.mapNum == MAP_NUM(ROUTE110_SEASIDE_CYCLING_ROAD_SOUTH_ENTRANCE) && gUnknown_020322DC.mapGroup == MAP_GROUP(ROUTE110_SEASIDE_CYCLING_ROAD_SOUTH_ENTRANCE)) + if (gLastUsedWarp.mapNum == MAP_NUM(ROUTE110_SEASIDE_CYCLING_ROAD_SOUTH_ENTRANCE) && gLastUsedWarp.mapGroup == MAP_GROUP(ROUTE110_SEASIDE_CYCLING_ROAD_SOUTH_ENTRANCE)) { return; } @@ -2094,7 +2094,7 @@ bool32 warp0_in_pokecenter(void) static const u16 gUnknown_085B2C2A[] = { 0x0202, 0x0301, 0x0405, 0x0504, 0x0604, 0x0700, 0x0804, 0x090b, 0x0a05, 0x0b05, 0x0c02, 0x0d06, 0x0e03, 0x0f02, 0x100c, 0x100a, 0x1a35, 0x193c, 0xffff }; int i; - u16 map = (gUnknown_020322DC.mapGroup << 8) + gUnknown_020322DC.mapNum; + u16 map = (gLastUsedWarp.mapGroup << 8) + gLastUsedWarp.mapNum; for (i = 0; gUnknown_085B2C2A[i] != 0xFFFF; i++) { diff --git a/src/fieldmap.c b/src/fieldmap.c index 8d1988686c..019db9d0db 100644 --- a/src/fieldmap.c +++ b/src/fieldmap.c @@ -712,8 +712,8 @@ int GetPostCameraMoveMapBorderId(int x, int y) int CanCameraMoveInDirection(int direction) { int x, y; - x = gSaveBlock1Ptr->pos.x + 7 + gUnknown_08339D64[direction].x; - y = gSaveBlock1Ptr->pos.y + 7 + gUnknown_08339D64[direction].y; + x = gSaveBlock1Ptr->pos.x + 7 + gDirectionToVectors[direction].x; + y = gSaveBlock1Ptr->pos.y + 7 + gDirectionToVectors[direction].y; if (GetMapBorderIdAt(x, y) == -1) { return 0; diff --git a/src/item_use.c b/src/item_use.c index bf7c2a386a..ea8206502d 100755 --- a/src/item_use.c +++ b/src/item_use.c @@ -878,7 +878,7 @@ void ItemUseOutOfBattle_BlackWhiteFlute(u8 taskId) void task08_080A1C44(u8 taskId) { - player_avatar_init_params_reset(); + ResetInitialPlayerAvatarState(); sub_80B7CC8(); DestroyTask(taskId); } diff --git a/src/new_game.c b/src/new_game.c index da5e91229c..36c028ce80 100644 --- a/src/new_game.c +++ b/src/new_game.c @@ -133,7 +133,7 @@ static void ClearFrontierRecord(void) static void WarpToTruck(void) { Overworld_SetWarpDestination(25, 40, -1, -1, -1); // inside of truck - warp_in(); + WarpIntoMap(); } void Sav2_ClearSetDefault(void) diff --git a/src/overworld.c b/src/overworld.c index d4425effc8..683679218c 100644 --- a/src/overworld.c +++ b/src/overworld.c @@ -1,8 +1,8 @@ #include "global.h" #include "overworld.h" -#include "main.h" #include "battle_setup.h" #include "berry.h" +#include "bg.h" // #include "cable_club.h" #include "clock.h" #include "event_data.h" @@ -20,15 +20,18 @@ #include "field_weather.h" #include "fieldmap.h" // #include "fldeff_flash.h" +#include "gpu_regs.h" #include "heal_location.h" #include "link.h" +#include "link_rfu.h" #include "load_save.h" #include "main.h" +#include "malloc.h" #include "m4a.h" -#include "constants/maps.h" #include "map_name_popup.h" #include "menu.h" #include "metatile_behavior.h" +#include "money.h" #include "new_game.h" #include "palette.h" #include "play_time.h" @@ -37,12 +40,11 @@ // #include "rotating_gate.h" #include "safari_zone.h" #include "save.h" +#include "save_location.h" #include "script.h" // #include "script_pokemon_80C4.h" #include "secret_base.h" -#include "constants/songs.h" #include "sound.h" -#include "constants/species.h" #include "start_menu.h" #include "task.h" // #include "tileset_anim.h" @@ -50,14 +52,11 @@ #include "tv.h" #include "scanline_effect.h" #include "wild_encounter.h" -#include "bg.h" -#include "money.h" -#include "save_location.h" #include "constants/abilities.h" -#include "malloc.h" -#include "gpu_regs.h" -#include "link_rfu.h" #include "constants/map_types.h" +#include "constants/maps.h" +#include "constants/songs.h" +#include "constants/species.h" // event scripts extern const u8 EventScript_WhiteOut[]; @@ -184,7 +183,7 @@ static bool32 sub_8086638(u8 *state); static bool32 load_map_stuff(u8 *state, u32); static bool32 map_loading_iteration_2_link(u8 *state); static void mli4_mapscripts_and_other(void); -static void map_loading_lcd_reset(void); +static void InitOverworldGraphicsRegisters(void); static u8 sub_8087858(u8); static u16 sub_80871C0(u32 a1); static void sub_80867C8(void); @@ -245,9 +244,9 @@ static void c1_link_related_func_set(u16 (*func)(u32)); static void SetFieldVBlankCallback(void); static void FieldClearVBlankHBlankCallbacks(void); static void sub_8085810(void); -static u8 sub_808532C(struct UnkPlayerStruct *playerStruct, u16 a2, u8 a3); -static u8 sub_808538C(struct UnkPlayerStruct *playerStruct, u8 a2, u16 a3, u8 a4); -static u16 cur_mapdata_block_role_at_screen_center_acc_to_sav1(void); +static u8 GetAdjustedInitialTransitionFlags(struct InitialPlayerAvatarState *playerStruct, u16 a2, u8 a3); +static u8 GetAdjustedInitialDirection(struct InitialPlayerAvatarState *playerStruct, u8 a2, u16 a3, u8 a4); +static u16 GetCenterScreenMetatileBehavior(void); // IWRAM bss vars IWRAM_DATA static void *sUnknown_03000E0C; @@ -259,12 +258,12 @@ IWRAM_DATA static u32 sUnusedVar; // EWRAM vars EWRAM_DATA static u8 sUnknown_020322D8 = 0; -EWRAM_DATA struct WarpData gUnknown_020322DC = {0}; +EWRAM_DATA struct WarpData gLastUsedWarp = {0}; EWRAM_DATA static struct WarpData sWarpDestination = {0}; // new warp position -EWRAM_DATA static struct WarpData sUnknown_020322EC = {0}; -EWRAM_DATA static struct WarpData sUnknown_020322F4 = {0}; +EWRAM_DATA static struct WarpData gFixedDiveWarp = {0}; +EWRAM_DATA static struct WarpData gFixedHoleWarp = {0}; EWRAM_DATA static u16 sLastMapSectionId = 0; -EWRAM_DATA static struct UnkPlayerStruct sUnknown_02032300 = {0}; +EWRAM_DATA static struct InitialPlayerAvatarState gInitialPlayerAvatarState = {0}; EWRAM_DATA static u16 sAmbientCrySpecies = 0; EWRAM_DATA static bool8 sIsAmbientCryWaterMon = FALSE; EWRAM_DATA struct LinkPlayerEventObject gLinkPlayerEventObjects[4] = {0}; @@ -291,17 +290,17 @@ static const u8 sUnusedData[] = 0x2C, 0x00, 0x00, 0x00, }; -const struct UCoords32 gUnknown_08339D64[] = +const struct UCoords32 gDirectionToVectors[] = { - { 0, 0}, - { 0, 1}, - { 0, -1}, - {-1, 0}, - { 1, 0}, - {-1, 1}, - { 1, 1}, - {-1, -1}, - { 1, -1}, + { 0, 0}, // DIR_NONE + { 0, 1}, // DIR_SOUTH + { 0, -1}, // DIR_NORTH + {-1, 0}, // DIR_WEST + { 1, 0}, // DIR_EAST + {-1, 1}, // DIR_SOUTHWEST + { 1, 1}, // DIR_SOUTHEAST + {-1, -1}, // DIR_NORTHWEST + { 1, -1}, // DIR_NORTHEAST }; static const struct BgTemplate gUnknown_08339DAC[] = @@ -344,7 +343,7 @@ static const struct BgTemplate gUnknown_08339DAC[] = } }; -static const struct ScanlineEffectParams gUnknown_08339DBC = +static const struct ScanlineEffectParams sFlashEffectParams = { (void *)REG_ADDR_WIN0H, ((DMA_ENABLE | DMA_START_HBLANK | DMA_REPEAT | DMA_DEST_RELOAD) << 16) | 1, @@ -399,12 +398,12 @@ void DoWhiteOut(void) HealPlayerParty(); Overworld_ResetStateAfterWhiteOut(); Overworld_SetWarpDestToLastHealLoc(); - warp_in(); + WarpIntoMap(); } void Overworld_ResetStateAfterFly(void) { - player_avatar_init_params_reset(); + ResetInitialPlayerAvatarState(); FlagClear(FLAG_SYS_CYCLING_ROAD); FlagClear(FLAG_SYS_CRUISE_MODE); FlagClear(FLAG_SYS_SAFARI_MODE); @@ -414,7 +413,7 @@ void Overworld_ResetStateAfterFly(void) void Overworld_ResetStateAfterTeleport(void) { - player_avatar_init_params_reset(); + ResetInitialPlayerAvatarState(); FlagClear(FLAG_SYS_CYCLING_ROAD); FlagClear(FLAG_SYS_CRUISE_MODE); FlagClear(FLAG_SYS_SAFARI_MODE); @@ -425,7 +424,7 @@ void Overworld_ResetStateAfterTeleport(void) void Overworld_ResetStateAfterDigEscRope(void) { - player_avatar_init_params_reset(); + ResetInitialPlayerAvatarState(); FlagClear(FLAG_SYS_CYCLING_ROAD); FlagClear(FLAG_SYS_CRUISE_MODE); FlagClear(FLAG_SYS_SAFARI_MODE); @@ -435,7 +434,7 @@ void Overworld_ResetStateAfterDigEscRope(void) static void Overworld_ResetStateAfterWhiteOut(void) { - player_avatar_init_params_reset(); + ResetInitialPlayerAvatarState(); FlagClear(FLAG_SYS_CYCLING_ROAD); FlagClear(FLAG_SYS_CRUISE_MODE); FlagClear(FLAG_SYS_SAFARI_MODE); @@ -574,16 +573,16 @@ const struct MapLayout *GetMapLayout(void) void ApplyCurrentWarp(void) { - gUnknown_020322DC = gSaveBlock1Ptr->location; + gLastUsedWarp = gSaveBlock1Ptr->location; gSaveBlock1Ptr->location = sWarpDestination; - sUnknown_020322EC = sDummyWarpData; - sUnknown_020322F4 = sDummyWarpData; + gFixedDiveWarp = sDummyWarpData; + gFixedHoleWarp = sDummyWarpData; } void set_warp2_warp3_to_neg_1(void) { - sUnknown_020322EC = sDummyWarpData; - sUnknown_020322F4 = sDummyWarpData; + gFixedDiveWarp = sDummyWarpData; + gFixedHoleWarp = sDummyWarpData; } void SetWarpData(struct WarpData *warp, s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y) @@ -595,7 +594,7 @@ void SetWarpData(struct WarpData *warp, s8 mapGroup, s8 mapNum, s8 warpId, s8 x, warp->y = y; } -bool32 warp_data_is_not_neg_1(struct WarpData *warp) +bool32 IsDummyWarp(struct WarpData *warp) { if (warp->mapGroup != -1) return FALSE; @@ -616,12 +615,12 @@ struct MapHeader const *const Overworld_GetMapHeaderByGroupAndId(u16 mapGroup, u return gMapGroups[mapGroup][mapNum]; } -struct MapHeader const *const warp1_get_mapheader(void) +struct MapHeader const *const GetDestinationWarpMapHeader(void) { return Overworld_GetMapHeaderByGroupAndId(sWarpDestination.mapGroup, sWarpDestination.mapNum); } -void set_current_map_header_from_sav1_save_old_name(void) +void LoadCurrentMapData(void) { sLastMapSectionId = gMapHeader.regionMapSectionId; gMapHeader = *Overworld_GetMapHeaderByGroupAndId(gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum); @@ -635,7 +634,7 @@ void LoadSaveblockMapHeader(void) gMapHeader.mapLayout = GetMapLayout(); } -void update_camera_pos_from_warpid(void) +void SetPlayerCoordsFromWarp(void) { if (gSaveBlock1Ptr->location.warpId >= 0 && gSaveBlock1Ptr->location.warpId < gMapHeader.events->warpCount) { @@ -654,11 +653,11 @@ void update_camera_pos_from_warpid(void) } } -void warp_in(void) +void WarpIntoMap(void) { ApplyCurrentWarp(); - set_current_map_header_from_sav1_save_old_name(); - update_camera_pos_from_warpid(); + LoadCurrentMapData(); + SetPlayerCoordsFromWarp(); } void Overworld_SetWarpDestination(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y) @@ -725,27 +724,27 @@ void sub_8084E14(void) sWarpDestination = gSaveBlock1Ptr->warp4; } -void sub_8084E2C(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y) +void SetFixedDiveWarp(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y) { - SetWarpData(&sUnknown_020322EC, mapGroup, mapNum, warpId, x, y); + SetWarpData(&gFixedDiveWarp, mapGroup, mapNum, warpId, x, y); } -void warp1_set_to_warp2(void) +void SetFixedDiveWarpAsDestination(void) { - sWarpDestination = sUnknown_020322EC; + sWarpDestination = gFixedDiveWarp; } -void sub_8084E80(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y) +void SetFixedHoleWarp(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y) { - SetWarpData(&sUnknown_020322F4, mapGroup, mapNum, warpId, x, y); + SetWarpData(&gFixedHoleWarp, mapGroup, mapNum, warpId, x, y); } -void sub_8084EBC(s16 x, s16 y) +void SetFixedHoleWarpAsDestination(s16 x, s16 y) { - if (warp_data_is_not_neg_1(&sUnknown_020322F4) == TRUE) - sWarpDestination = gUnknown_020322DC; + if (IsDummyWarp(&gFixedHoleWarp) == TRUE) + sWarpDestination = gLastUsedWarp; else - Overworld_SetWarpDestination(sUnknown_020322F4.mapGroup, sUnknown_020322F4.mapNum, -1, x, y); + Overworld_SetWarpDestination(gFixedHoleWarp.mapGroup, gFixedHoleWarp.mapNum, -1, x, y); } void warp1_set_to_sav1w(void) @@ -786,7 +785,7 @@ const struct MapConnection *GetMapConnection(u8 dir) return NULL; } -bool8 sub_8084FF8(u8 dir, u16 x, u16 y) +bool8 SetDiveWarp(u8 dir, u16 x, u16 y) { const struct MapConnection *connection = GetMapConnection(dir); @@ -797,21 +796,21 @@ bool8 sub_8084FF8(u8 dir, u16 x, u16 y) else { mapheader_run_script_with_tag_x6(); - if (warp_data_is_not_neg_1(&sUnknown_020322EC)) + if (IsDummyWarp(&gFixedDiveWarp)) return FALSE; - warp1_set_to_warp2(); + SetFixedDiveWarpAsDestination(); } return TRUE; } -bool8 sub_8085058(u16 x, u16 y) +bool8 SetDiveWarpEmerge(u16 x, u16 y) { - return sub_8084FF8(CONNECTION_EMERGE, x, y); + return SetDiveWarp(CONNECTION_EMERGE, x, y); } -bool8 sub_8085078(u16 x, u16 y) +bool8 SetDiveWarpDive(u16 x, u16 y) { - return sub_8084FF8(CONNECTION_DIVE, x, y); + return SetDiveWarp(CONNECTION_DIVE, x, y); } void mliX_load_map(u8 mapGroup, u8 mapNum) @@ -823,7 +822,7 @@ void mliX_load_map(u8 mapGroup, u8 mapNum) sub_8085810(); ApplyCurrentWarp(); - set_current_map_header_from_sav1_save_old_name(); + LoadCurrentMapData(); LoadEventObjTemplatesFromHeader(); TrySetMapSaveWarpStatus(); ClearTempFieldEventData(); @@ -859,7 +858,7 @@ static void mli0_load_map(u32 a1) bool8 v2; bool8 indoors; - set_current_map_header_from_sav1_save_old_name(); + LoadCurrentMapData(); if (!(sUnknown_020322D8 & 1)) { if (gMapHeader.mapLayoutId == 0x169) @@ -904,84 +903,84 @@ static void mli0_load_map(u32 a1) } } -void player_avatar_init_params_reset(void) +void ResetInitialPlayerAvatarState(void) { - sUnknown_02032300.player_field_1 = 1; - sUnknown_02032300.player_field_0 = 1; + gInitialPlayerAvatarState.direction = 1; + gInitialPlayerAvatarState.transitionFlags = 1; } -void walkrun_find_lowest_active_bit_in_bitfield(void) +void StoreInitialPlayerAvatarState(void) { - sUnknown_02032300.player_field_1 = GetPlayerFacingDirection(); + gInitialPlayerAvatarState.direction = GetPlayerFacingDirection(); if (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_MACH_BIKE)) - sUnknown_02032300.player_field_0 = 2; + gInitialPlayerAvatarState.transitionFlags = 2; else if (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_ACRO_BIKE)) - sUnknown_02032300.player_field_0 = 4; + gInitialPlayerAvatarState.transitionFlags = 4; else if (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_SURFING)) - sUnknown_02032300.player_field_0 = 8; + gInitialPlayerAvatarState.transitionFlags = 8; else if (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_4)) - sUnknown_02032300.player_field_0 = 16; + gInitialPlayerAvatarState.transitionFlags = 16; else - sUnknown_02032300.player_field_0 = 1; + gInitialPlayerAvatarState.transitionFlags = 1; } -static struct UnkPlayerStruct *sub_80852D4(void) +static struct InitialPlayerAvatarState *GetInitialPlayerAvatarState(void) { - struct UnkPlayerStruct playerStruct; + struct InitialPlayerAvatarState playerStruct; u8 mapType = Overworld_GetMapTypeOfSaveblockLocation(); - u16 v2 = cur_mapdata_block_role_at_screen_center_acc_to_sav1(); - u8 v4 = sub_808532C(&sUnknown_02032300, v2, mapType); - playerStruct.player_field_0 = v4; - playerStruct.player_field_1 = sub_808538C(&sUnknown_02032300, v4, v2, mapType); - sUnknown_02032300 = playerStruct; - return &sUnknown_02032300; + u16 metatileBehavior = GetCenterScreenMetatileBehavior(); + u8 transitionFlags = GetAdjustedInitialTransitionFlags(&gInitialPlayerAvatarState, metatileBehavior, mapType); + playerStruct.transitionFlags = transitionFlags; + playerStruct.direction = GetAdjustedInitialDirection(&gInitialPlayerAvatarState, transitionFlags, metatileBehavior, mapType); + gInitialPlayerAvatarState = playerStruct; + return &gInitialPlayerAvatarState; } -static u8 sub_808532C(struct UnkPlayerStruct *playerStruct, u16 a2, u8 a3) +static u8 GetAdjustedInitialTransitionFlags(struct InitialPlayerAvatarState *playerStruct, u16 metatileBehavior, u8 mapType) { - if (a3 != 8 && FlagGet(FLAG_SYS_CRUISE_MODE)) + if (mapType != MAP_TYPE_INDOOR && FlagGet(FLAG_SYS_CRUISE_MODE)) return 1; - else if (a3 == 5) + else if (mapType == MAP_TYPE_UNDERWATER) return 16; - else if (MetatileBehavior_IsSurfableWaterOrUnderwater(a2) == 1) + else if (MetatileBehavior_IsSurfableWaterOrUnderwater(metatileBehavior) == TRUE) return 8; else if (Overworld_IsBikingAllowed() != TRUE) return 1; - else if (playerStruct->player_field_0 == 2) + else if (playerStruct->transitionFlags == 2) return 2; - else if (playerStruct->player_field_0 != 4) + else if (playerStruct->transitionFlags != 4) return 1; else return 4; } -static u8 sub_808538C(struct UnkPlayerStruct *playerStruct, u8 a2, u16 a3, u8 a4) +static u8 GetAdjustedInitialDirection(struct InitialPlayerAvatarState *playerStruct, u8 transitionFlags, u16 metatileBehavior, u8 mapType) { - if (FlagGet(FLAG_SYS_CRUISE_MODE) && a4 == 6) + if (FlagGet(FLAG_SYS_CRUISE_MODE) && mapType == MAP_TYPE_6) return 4; - else if (MetatileBehavior_IsDeepSouthWarp(a3) == TRUE) + else if (MetatileBehavior_IsDeepSouthWarp(metatileBehavior) == TRUE) return 2; - else if (MetatileBehavior_IsNonAnimDoor(a3) == TRUE || MetatileBehavior_IsDoor(a3) == TRUE) + else if (MetatileBehavior_IsNonAnimDoor(metatileBehavior) == TRUE || MetatileBehavior_IsDoor(metatileBehavior) == TRUE) return 1; - else if (MetatileBehavior_IsSouthArrowWarp(a3) == TRUE) + else if (MetatileBehavior_IsSouthArrowWarp(metatileBehavior) == TRUE) return 2; - else if (MetatileBehavior_IsNorthArrowWarp(a3) == TRUE) + else if (MetatileBehavior_IsNorthArrowWarp(metatileBehavior) == TRUE) return 1; - else if (MetatileBehavior_IsWestArrowWarp(a3) == TRUE) + else if (MetatileBehavior_IsWestArrowWarp(metatileBehavior) == TRUE) return 4; - else if (MetatileBehavior_IsEastArrowWarp(a3) == TRUE) + else if (MetatileBehavior_IsEastArrowWarp(metatileBehavior) == TRUE) return 3; - else if ((playerStruct->player_field_0 == 16 && a2 == 8) - || (playerStruct->player_field_0 == 8 && a2 == 16)) - return playerStruct->player_field_1; - else if (MetatileBehavior_IsLadder(a3) == TRUE) - return playerStruct->player_field_1; + else if ((playerStruct->transitionFlags == 16 && transitionFlags == 8) + || (playerStruct->transitionFlags == 8 && transitionFlags == 16)) + return playerStruct->direction; + else if (MetatileBehavior_IsLadder(metatileBehavior) == TRUE) + return playerStruct->direction; else return 1; } -static u16 cur_mapdata_block_role_at_screen_center_acc_to_sav1(void) +static u16 GetCenterScreenMetatileBehavior(void) { return MapGridGetMetatileBehaviorAt(gSaveBlock1Ptr->pos.x + 7, gSaveBlock1Ptr->pos.y + 7); } @@ -1231,7 +1230,7 @@ void Overworld_ChangeMusicTo(u16 newMusic) u8 GetMapMusicFadeoutSpeed(void) { - const struct MapHeader *mapHeader = warp1_get_mapheader(); + const struct MapHeader *mapHeader = GetDestinationWarpMapHeader(); if (Overworld_MapTypeIsIndoors(mapHeader->mapType) == TRUE) return 2; else @@ -1257,7 +1256,7 @@ void music_something(void) } } -bool8 sub_80859A0(void) +bool8 BGMusicStopped(void) { return IsNotWaitingForBGMStop(); } @@ -1360,7 +1359,7 @@ u8 Overworld_GetMapTypeOfSaveblockLocation(void) u8 get_map_light_from_warp0(void) { - return GetMapTypeByWarpData(&gUnknown_020322DC); + return GetMapTypeByWarpData(&gLastUsedWarp); } bool8 is_map_type_1_2_3_5_or_6(u8 mapType) @@ -1549,7 +1548,7 @@ void CB2_NewGame(void) StopMapMusic(); ResetSafariZoneFlag_(); NewGameInitData(); - player_avatar_init_params_reset(); + ResetInitialPlayerAvatarState(); PlayTimeCounter_Start(); ScriptContext1_Init(); ScriptContext2_Disable(); @@ -1571,7 +1570,7 @@ void CB2_WhiteOut(void) StopMapMusic(); ResetSafariZoneFlag_(); DoWhiteOut(); - player_avatar_init_params_reset(); + ResetInitialPlayerAvatarState(); ScriptContext1_Init(); ScriptContext2_Disable(); gFieldCallback = sub_80AF3C8; @@ -1754,7 +1753,7 @@ void CB2_ContinueSavedGame(void) { ClearSecretBase2Field_9(); warp1_set_to_sav1w(); - warp_in(); + WarpIntoMap(); sub_80EDB44(); SetMainCallback2(CB2_LoadMap); } @@ -1805,19 +1804,19 @@ static void VBlankCB_Field(void) TransferTilesetAnimsBuffer(); } -static void sub_80863B0(void) +static void InitCurrentFlashLevelScanlineEffect(void) { - u8 val; + u8 flashLevel; if (sub_81A9E6C()) { door_upload_tiles(); - ScanlineEffect_SetParams(gUnknown_08339DBC); + ScanlineEffect_SetParams(sFlashEffectParams); } - else if ((val = Overworld_GetFlashLevel())) + else if ((flashLevel = Overworld_GetFlashLevel())) { - sub_80B00E8(val); - ScanlineEffect_SetParams(gUnknown_08339DBC); + sub_80B00E8(flashLevel); + ScanlineEffect_SetParams(sFlashEffectParams); } } @@ -1849,8 +1848,8 @@ static bool32 map_loading_iteration_3(u8 *state) (*state)++; break; case 4: - sub_80863B0(); - map_loading_lcd_reset(); + InitCurrentFlashLevelScanlineEffect(); + InitOverworldGraphicsRegisters(); sub_8197200(); (*state)++; break; @@ -1924,8 +1923,8 @@ static bool32 load_map_stuff(u8 *state, u32 a2) (*state)++; break; case 4: - sub_80863B0(); - map_loading_lcd_reset(); + InitCurrentFlashLevelScanlineEffect(); + InitOverworldGraphicsRegisters(); sub_8197200(); (*state)++; break; @@ -2021,8 +2020,8 @@ static bool32 map_loading_iteration_2_link(u8 *state) (*state)++; break; case 3: - sub_80863B0(); - map_loading_lcd_reset(); + InitCurrentFlashLevelScanlineEffect(); + InitOverworldGraphicsRegisters(); sub_8197200(); (*state)++; break; @@ -2101,13 +2100,13 @@ static void sub_80867D8(void) static void sub_8086860(void) { - sub_80863B0(); - map_loading_lcd_reset(); + InitCurrentFlashLevelScanlineEffect(); + InitOverworldGraphicsRegisters(); sub_8197200(); mapdata_load_assets_to_gpu_and_full_redraw(); } -static void map_loading_lcd_reset(void) +static void InitOverworldGraphicsRegisters(void) { clear_scheduled_bg_copies_to_vram(); reset_temp_tile_data_buffers(); @@ -2177,16 +2176,16 @@ static void sub_80869DC(void) static void mli4_mapscripts_and_other(void) { s16 x, y; - struct UnkPlayerStruct *player; + struct InitialPlayerAvatarState *player; gUnknown_03005DEC = 0; gUnknown_03005DE8 = 0; sub_808D438(); sav1_camera_get_focus_coords(&x, &y); - player = sub_80852D4(); - InitPlayerAvatar(x, y, player->player_field_1, gSaveBlock2Ptr->playerGender); - SetPlayerAvatarTransitionFlags(player->player_field_0); - player_avatar_init_params_reset(); + player = GetInitialPlayerAvatarState(); + InitPlayerAvatar(x, y, player->direction, gSaveBlock2Ptr->playerGender); + SetPlayerAvatarTransitionFlags(player->transitionFlags); + ResetInitialPlayerAvatarState(); TrySpawnEventObjects(0, 0); mapheader_run_first_tag4_script_list_match(); } @@ -2731,8 +2730,8 @@ static const u8 *sub_80873B4(struct UnkStruct_8054FF8 *a1) return 0; unkStruct = a1->sub; - unkStruct.x += gUnknown_08339D64[a1->d].x; - unkStruct.y += gUnknown_08339D64[a1->d].y; + unkStruct.x += gDirectionToVectors[a1->d].x; + unkStruct.y += gDirectionToVectors[a1->d].y; unkStruct.height = 0; linkPlayerId = GetLinkPlayerIdAt(unkStruct.x, unkStruct.y); @@ -3165,12 +3164,12 @@ static void SpriteCB_LinkPlayer(struct Sprite *sprite) SetObjectSubpriorityByZCoord(eventObj->previousElevation, sprite, 1); sprite->oam.priority = ZCoordToPriority(eventObj->previousElevation); - if (!linkPlayerEventObj->mode) + if (!linkPlayerEventObj->mode) StartSpriteAnim(sprite, GetFaceDirectionAnimNum(eventObj->range.as_byte)); else StartSpriteAnimIfDifferent(sprite, GetMoveDirectionAnimNum(eventObj->range.as_byte)); - UpdateEventObjectSpriteVisibility(sprite, 0); + UpdateEventObjectSpriteVisibility(sprite, 0); if (eventObj->triggerGroundEffectsOnMove) { sprite->invisible = ((sprite->data[7] & 4) >> 2); diff --git a/src/rom_8011DC0.c b/src/rom_8011DC0.c index b2bd2eb784..56c31f89f7 100644 --- a/src/rom_8011DC0.c +++ b/src/rom_8011DC0.c @@ -1637,7 +1637,7 @@ void sub_8014290(u16 arg0, u16 x, u16 y) VarSet(VAR_0x4087, arg0); Overworld_SetWarpDestination(gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1, x, y); saved_warp2_set_2(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1, x, y); - warp_in(); + WarpIntoMap(); } void sub_8014304(s8 mapGroup, s8 mapNum, s32 x, s32 y, u16 arg4) @@ -1648,7 +1648,7 @@ void sub_8014304(s8 mapGroup, s8 mapNum, s32 x, s32 y, u16 arg4) gUnknown_03005DB4 = GetMultiplayerId(); sub_809D2BC(); Overworld_SetWarpDestination(mapGroup, mapNum, -1, x, y); - warp_in(); + WarpIntoMap(); } void sub_8014384(void) diff --git a/src/safari_zone.c b/src/safari_zone.c index 01d72fa13a..427a5ceb8d 100644 --- a/src/safari_zone.c +++ b/src/safari_zone.c @@ -35,7 +35,7 @@ extern void CB2_ReturnToFieldContinueScriptPlayMapMusic(void); extern void CB2_LoadMap(void); extern void sub_80AF6F0(void); extern void ScriptContext1_Stop(void); -extern void warp_in(void); +extern void WarpIntoMap(void); extern void GetXYCoordsOneStepInFrontOfPlayer(s16* x, s16* y); extern void PlayerGetDestCoords(s16* x, s16* y); @@ -117,7 +117,7 @@ void CB2_EndSafariBattle(void) else if (gBattleOutcome == B_OUTCOME_NO_SAFARI_BALLS) { ScriptContext2_RunNewScript(EventScript_2A4B4C); - warp_in(); + WarpIntoMap(); gFieldCallback = sub_80AF6F0; SetMainCallback2(CB2_LoadMap); } diff --git a/src/scrcmd.c b/src/scrcmd.c index 01d04704aa..31a4ed35a3 100644 --- a/src/scrcmd.c +++ b/src/scrcmd.c @@ -750,7 +750,7 @@ bool8 ScrCmd_warp(struct ScriptContext *ctx) Overworld_SetWarpDestination(mapGroup, mapNum, warpId, x, y); sub_80AF734(); - player_avatar_init_params_reset(); + ResetInitialPlayerAvatarState(); return TRUE; } @@ -764,7 +764,7 @@ bool8 ScrCmd_warpsilent(struct ScriptContext *ctx) Overworld_SetWarpDestination(mapGroup, mapNum, warpId, x, y); sp13E_warp_to_last_warp(); - player_avatar_init_params_reset(); + ResetInitialPlayerAvatarState(); return TRUE; } @@ -778,7 +778,7 @@ bool8 ScrCmd_warpdoor(struct ScriptContext *ctx) Overworld_SetWarpDestination(mapGroup, mapNum, warpId, x, y); sub_80AF7D0(); - player_avatar_init_params_reset(); + ResetInitialPlayerAvatarState(); return TRUE; } @@ -791,11 +791,11 @@ bool8 ScrCmd_warphole(struct ScriptContext *ctx) PlayerGetDestCoords(&x, &y); if (mapGroup == 0xFF && mapNum == 0xFF) - sub_8084EBC(x - 7, y - 7); + SetFixedHoleWarpAsDestination(x - 7, y - 7); else Overworld_SetWarpDestination(mapGroup, mapNum, -1, x - 7, y - 7); sp13F_fall_to_last_warp(); - player_avatar_init_params_reset(); + ResetInitialPlayerAvatarState(); return TRUE; } @@ -809,7 +809,7 @@ bool8 ScrCmd_warpteleport(struct ScriptContext *ctx) Overworld_SetWarpDestination(mapGroup, mapNum, warpId, x, y); sub_80AF848(); - player_avatar_init_params_reset(); + ResetInitialPlayerAvatarState(); return TRUE; } @@ -823,7 +823,7 @@ bool8 ScrCmd_warpD7(struct ScriptContext *ctx) Overworld_SetWarpDestination(mapGroup, mapNum, warpId, x, y); sub_80AF87C(); - player_avatar_init_params_reset(); + ResetInitialPlayerAvatarState(); return TRUE; } @@ -859,7 +859,7 @@ bool8 ScrCmd_setdivewarp(struct ScriptContext *ctx) u16 x = VarGet(ScriptReadHalfword(ctx)); u16 y = VarGet(ScriptReadHalfword(ctx)); - sub_8084E2C(mapGroup, mapNum, warpId, x, y); + SetFixedDiveWarp(mapGroup, mapNum, warpId, x, y); return FALSE; } @@ -871,7 +871,7 @@ bool8 ScrCmd_setholewarp(struct ScriptContext *ctx) u16 x = VarGet(ScriptReadHalfword(ctx)); u16 y = VarGet(ScriptReadHalfword(ctx)); - sub_8084E80(mapGroup, mapNum, warpId, x, y); + SetFixedHoleWarp(mapGroup, mapNum, warpId, x, y); return FALSE; } @@ -2240,7 +2240,7 @@ bool8 ScrCmd_warpD1(struct ScriptContext *ctx) Overworld_SetWarpDestination(mapGroup, mapNum, warpId, x, y); sub_808D074(GetPlayerFacingDirection()); sub_80B0244(); - player_avatar_init_params_reset(); + ResetInitialPlayerAvatarState(); return TRUE; } @@ -2293,6 +2293,6 @@ bool8 ScrCmd_warpE0(struct ScriptContext *ctx) Overworld_SetWarpDestination(mapGroup, mapNum, warpId, x, y); sub_80AF79C(); - player_avatar_init_params_reset(); + ResetInitialPlayerAvatarState(); return TRUE; } diff --git a/src/secret_base.c b/src/secret_base.c index d357261fe5..7fae50a817 100644 --- a/src/secret_base.c +++ b/src/secret_base.c @@ -388,7 +388,7 @@ void sub_80E8FD0(u8 taskId) gSaveBlock1Ptr->secretBases[secretBaseRecordId].sbr_field_10 ++; } sub_80E8F9C(); - warp_in(); + WarpIntoMap(); gFieldCallback = sub_80AF168; SetMainCallback2(CB2_LoadMap); DestroyTask(taskId); @@ -446,7 +446,7 @@ void sub_80E916C(u8 taskId) { idx = sCurSecretBaseId / 10 * 4; Overworld_SetWarpDestination(gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1, gUnknown_0858CFE8[idx + 2], gUnknown_0858CFE8[idx + 3]); - warp_in(); + WarpIntoMap(); gFieldCallback = sub_80E9108; SetMainCallback2(CB2_LoadMap); DestroyTask(taskId); @@ -644,7 +644,7 @@ void sub_80E96A4(u8 taskId) break; case 2: copy_saved_warp2_bank_and_enter_x_to_warp1(0x7e); - warp_in(); + WarpIntoMap(); gFieldCallback = mapldr_default; SetMainCallback2(CB2_LoadMap); ScriptContext2_Disable(); From f505ba1bc7b34c67d7b3b7aef01006def5947639 Mon Sep 17 00:00:00 2001 From: ultima-soul <akshayjhanji@hotmail.com> Date: Wed, 5 Sep 2018 01:13:17 +0000 Subject: [PATCH 169/234] Implemented gRegionMapSectionId_To_PopUpThemeIdMapping array to be dependent on Map Section ID enum rather than order dependent. --- include/constants/region_map_sections.h | 2 + src/map_name_popup.c | 130 +++++++++++++++++++----- 2 files changed, 106 insertions(+), 26 deletions(-) diff --git a/include/constants/region_map_sections.h b/include/constants/region_map_sections.h index 8ff75dfa98..35c92d7e4d 100644 --- a/include/constants/region_map_sections.h +++ b/include/constants/region_map_sections.h @@ -220,4 +220,6 @@ #define MAPSEC_IN_GAME_TRADE 0xFE #define MAPSEC_FATEFUL_ENCOUNTER 0xFF +#define MAPSEC_SUBSTRACT_KANTO (MAPSEC_SPECIAL_AREA - MAPSEC_DYNAMIC) + #endif //GUARD_REGIONMAPSEC_H diff --git a/src/map_name_popup.c b/src/map_name_popup.c index 578636d403..7906c74ef1 100644 --- a/src/map_name_popup.c +++ b/src/map_name_popup.c @@ -70,32 +70,110 @@ static const u16 gUnknown_0857F444[16] = INCBIN_U16("graphics/interface/map_popu static const u8 gRegionMapSectionId_To_PopUpThemeIdMapping[] = { - MAPPOPUP_THEME_WOOD, MAPPOPUP_THEME_WOOD, MAPPOPUP_THEME_WOOD, MAPPOPUP_THEME_WOOD, - MAPPOPUP_THEME_WOOD, MAPPOPUP_THEME_WOOD, MAPPOPUP_THEME_WOOD, MAPPOPUP_THEME_BRICK, - MAPPOPUP_THEME_MARBLE, MAPPOPUP_THEME_MARBLE, MAPPOPUP_THEME_MARBLE, MAPPOPUP_THEME_BRICK, - MAPPOPUP_THEME_MARBLE, MAPPOPUP_THEME_BRICK, MAPPOPUP_THEME_MARBLE, MAPPOPUP_THEME_BRICK, - MAPPOPUP_THEME_WOOD, MAPPOPUP_THEME_WOOD, MAPPOPUP_THEME_WOOD, MAPPOPUP_THEME_WOOD, - MAPPOPUP_THEME_UNDERWATER, MAPPOPUP_THEME_UNDERWATER, MAPPOPUP_THEME_UNDERWATER, MAPPOPUP_THEME_UNDERWATER, - MAPPOPUP_THEME_UNDERWATER, MAPPOPUP_THEME_WOOD, MAPPOPUP_THEME_WOOD, MAPPOPUP_THEME_WOOD, - MAPPOPUP_THEME_WOOD, MAPPOPUP_THEME_WOOD, MAPPOPUP_THEME_WOOD, MAPPOPUP_THEME_WOOD, - MAPPOPUP_THEME_WOOD, MAPPOPUP_THEME_WOOD, MAPPOPUP_THEME_WOOD, MAPPOPUP_THEME_WOOD, - MAPPOPUP_THEME_WOOD, MAPPOPUP_THEME_UNDERWATER, MAPPOPUP_THEME_WOOD, MAPPOPUP_THEME_UNDERWATER, - MAPPOPUP_THEME_UNDERWATER, MAPPOPUP_THEME_UNDERWATER, MAPPOPUP_THEME_UNDERWATER, MAPPOPUP_THEME_UNDERWATER, - MAPPOPUP_THEME_UNDERWATER, MAPPOPUP_THEME_UNDERWATER, MAPPOPUP_THEME_UNDERWATER, MAPPOPUP_THEME_UNDERWATER, - MAPPOPUP_THEME_UNDERWATER, MAPPOPUP_THEME_UNDERWATER, MAPPOPUP_THEME_STONE2, MAPPOPUP_THEME_STONE2, - MAPPOPUP_THEME_STONE2, MAPPOPUP_THEME_STONE2, MAPPOPUP_THEME_STONE2, MAPPOPUP_THEME_STONE, - MAPPOPUP_THEME_STONE, MAPPOPUP_THEME_WOOD, MAPPOPUP_THEME_MARBLE, MAPPOPUP_THEME_WOOD, - MAPPOPUP_THEME_STONE, MAPPOPUP_THEME_WOOD, MAPPOPUP_THEME_MARBLE, MAPPOPUP_THEME_STONE, - MAPPOPUP_THEME_STONE, MAPPOPUP_THEME_STONE, MAPPOPUP_THEME_STONE, MAPPOPUP_THEME_STONE, - MAPPOPUP_THEME_STONE, MAPPOPUP_THEME_STONE2, MAPPOPUP_THEME_STONE, MAPPOPUP_THEME_WOOD, - MAPPOPUP_THEME_STONE, MAPPOPUP_THEME_WOOD, MAPPOPUP_THEME_STONE, MAPPOPUP_THEME_STONE, - MAPPOPUP_THEME_WOOD, MAPPOPUP_THEME_WOOD, MAPPOPUP_THEME_STONE, MAPPOPUP_THEME_STONE2, - MAPPOPUP_THEME_STONE, MAPPOPUP_THEME_STONE, MAPPOPUP_THEME_STONE, MAPPOPUP_THEME_STONE, - MAPPOPUP_THEME_WOOD, MAPPOPUP_THEME_STONE, MAPPOPUP_THEME_STONE, MAPPOPUP_THEME_MARBLE, - MAPPOPUP_THEME_STONE, MAPPOPUP_THEME_STONE, MAPPOPUP_THEME_STONE, MAPPOPUP_THEME_WOOD, - MAPPOPUP_THEME_WOOD, MAPPOPUP_THEME_STONE, MAPPOPUP_THEME_STONE, MAPPOPUP_THEME_STONE2, - MAPPOPUP_THEME_STONE, MAPPOPUP_THEME_STONE2, MAPPOPUP_THEME_STONE2, MAPPOPUP_THEME_STONE2, - MAPPOPUP_THEME_STONE, MAPPOPUP_THEME_STONE, MAPPOPUP_THEME_STONE, MAPPOPUP_THEME_MARBLE + [MAPSEC_LITTLEROOT_TOWN] = MAPPOPUP_THEME_WOOD, + [MAPSEC_OLDALE_TOWN] = MAPPOPUP_THEME_WOOD, + [MAPSEC_DEWFORD_TOWN] = MAPPOPUP_THEME_WOOD, + [MAPSEC_LAVARIDGE_TOWN] = MAPPOPUP_THEME_WOOD, + [MAPSEC_FALLARBOR_TOWN] = MAPPOPUP_THEME_WOOD, + [MAPSEC_VERDANTURF_TOWN] = MAPPOPUP_THEME_WOOD, + [MAPSEC_PACIFIDLOG_TOWN] = MAPPOPUP_THEME_WOOD, + [MAPSEC_PETALBURG_CITY] = MAPPOPUP_THEME_BRICK, + [MAPSEC_SLATEPORT_CITY] = MAPPOPUP_THEME_MARBLE, + [MAPSEC_MAUVILLE_CITY] = MAPPOPUP_THEME_MARBLE, + [MAPSEC_RUSTBORO_CITY] = MAPPOPUP_THEME_MARBLE, + [MAPSEC_FORTREE_CITY] = MAPPOPUP_THEME_BRICK, + [MAPSEC_LILYCOVE_CITY] = MAPPOPUP_THEME_MARBLE, + [MAPSEC_MOSSDEEP_CITY] = MAPPOPUP_THEME_BRICK, + [MAPSEC_SOOTOPOLIS_CITY] = MAPPOPUP_THEME_MARBLE, + [MAPSEC_EVER_GRANDE_CITY] = MAPPOPUP_THEME_BRICK, + [MAPSEC_ROUTE_101] = MAPPOPUP_THEME_WOOD, + [MAPSEC_ROUTE_102] = MAPPOPUP_THEME_WOOD, + [MAPSEC_ROUTE_103] = MAPPOPUP_THEME_WOOD, + [MAPSEC_ROUTE_104] = MAPPOPUP_THEME_WOOD, + [MAPSEC_ROUTE_105] = MAPPOPUP_THEME_UNDERWATER, + [MAPSEC_ROUTE_106] = MAPPOPUP_THEME_UNDERWATER, + [MAPSEC_ROUTE_107] = MAPPOPUP_THEME_UNDERWATER, + [MAPSEC_ROUTE_108] = MAPPOPUP_THEME_UNDERWATER, + [MAPSEC_ROUTE_109] = MAPPOPUP_THEME_UNDERWATER, + [MAPSEC_ROUTE_110] = MAPPOPUP_THEME_WOOD, + [MAPSEC_ROUTE_111] = MAPPOPUP_THEME_WOOD, + [MAPSEC_ROUTE_112] = MAPPOPUP_THEME_WOOD, + [MAPSEC_ROUTE_113] = MAPPOPUP_THEME_WOOD, + [MAPSEC_ROUTE_114] = MAPPOPUP_THEME_WOOD, + [MAPSEC_ROUTE_115] = MAPPOPUP_THEME_WOOD, + [MAPSEC_ROUTE_116] = MAPPOPUP_THEME_WOOD, + [MAPSEC_ROUTE_117] = MAPPOPUP_THEME_WOOD, + [MAPSEC_ROUTE_118] = MAPPOPUP_THEME_WOOD, + [MAPSEC_ROUTE_119] = MAPPOPUP_THEME_WOOD, + [MAPSEC_ROUTE_120] = MAPPOPUP_THEME_WOOD, + [MAPSEC_ROUTE_121] = MAPPOPUP_THEME_WOOD, + [MAPSEC_ROUTE_122] = MAPPOPUP_THEME_UNDERWATER, + [MAPSEC_ROUTE_123] = MAPPOPUP_THEME_WOOD, + [MAPSEC_ROUTE_124] = MAPPOPUP_THEME_UNDERWATER, + [MAPSEC_ROUTE_125] = MAPPOPUP_THEME_UNDERWATER, + [MAPSEC_ROUTE_126] = MAPPOPUP_THEME_UNDERWATER, + [MAPSEC_ROUTE_127] = MAPPOPUP_THEME_UNDERWATER, + [MAPSEC_ROUTE_128] = MAPPOPUP_THEME_UNDERWATER, + [MAPSEC_ROUTE_129] = MAPPOPUP_THEME_UNDERWATER, + [MAPSEC_ROUTE_130] = MAPPOPUP_THEME_UNDERWATER, + [MAPSEC_ROUTE_131] = MAPPOPUP_THEME_UNDERWATER, + [MAPSEC_ROUTE_132] = MAPPOPUP_THEME_UNDERWATER, + [MAPSEC_ROUTE_133] = MAPPOPUP_THEME_UNDERWATER, + [MAPSEC_ROUTE_134] = MAPPOPUP_THEME_UNDERWATER, + [MAPSEC_UNDERWATER_124] = MAPPOPUP_THEME_STONE2, + [MAPSEC_UNDERWATER_125] = MAPPOPUP_THEME_STONE2, + [MAPSEC_UNDERWATER_126] = MAPPOPUP_THEME_STONE2, + [MAPSEC_UNDERWATER_127] = MAPPOPUP_THEME_STONE2, + [MAPSEC_UNDERWATER_SOOTOPOLIS] = MAPPOPUP_THEME_STONE2, + [MAPSEC_GRANITE_CAVE] = MAPPOPUP_THEME_STONE, + [MAPSEC_MT_CHIMNEY] = MAPPOPUP_THEME_STONE, + [MAPSEC_SAFARI_ZONE] = MAPPOPUP_THEME_WOOD, + [MAPSEC_BATTLE_FRONTIER] = MAPPOPUP_THEME_MARBLE, + [MAPSEC_PETALBURG_WOODS] = MAPPOPUP_THEME_WOOD, + [MAPSEC_RUSTURF_TUNNEL] = MAPPOPUP_THEME_STONE, + [MAPSEC_ABANDONED_SHIP] = MAPPOPUP_THEME_WOOD, + [MAPSEC_NEW_MAUVILLE] = MAPPOPUP_THEME_MARBLE, + [MAPSEC_METEOR_FALLS] = MAPPOPUP_THEME_STONE, + [MAPSEC_METEOR_FALLS2] = MAPPOPUP_THEME_STONE, + [MAPSEC_MT_PYRE] = MAPPOPUP_THEME_STONE, + [MAPSEC_AQUA_HIDEOUT_OLD] = MAPPOPUP_THEME_STONE, + [MAPSEC_SHOAL_CAVE] = MAPPOPUP_THEME_STONE, + [MAPSEC_SEAFLOOR_CAVERN] = MAPPOPUP_THEME_STONE, + [MAPSEC_UNDERWATER_128] = MAPPOPUP_THEME_STONE2, + [MAPSEC_VICTORY_ROAD] = MAPPOPUP_THEME_STONE, + [MAPSEC_MIRAGE_ISLAND] = MAPPOPUP_THEME_WOOD, + [MAPSEC_CAVE_OF_ORIGIN] = MAPPOPUP_THEME_STONE, + [MAPSEC_SOUTHERN_ISLAND] = MAPPOPUP_THEME_WOOD, + [MAPSEC_FIERY_PATH] = MAPPOPUP_THEME_STONE, + [MAPSEC_FIERY_PATH2] = MAPPOPUP_THEME_STONE, + [MAPSEC_JAGGED_PASS] = MAPPOPUP_THEME_WOOD, + [MAPSEC_JAGGED_PASS2] = MAPPOPUP_THEME_WOOD, + [MAPSEC_SEALED_CHAMBER] = MAPPOPUP_THEME_STONE, + [MAPSEC_UNDERWATER_SEALED_CHAMBER] = MAPPOPUP_THEME_STONE2, + [MAPSEC_SCORCHED_SLAB] = MAPPOPUP_THEME_STONE, + [MAPSEC_ISLAND_CAVE] = MAPPOPUP_THEME_STONE, + [MAPSEC_DESERT_RUINS] = MAPPOPUP_THEME_STONE, + [MAPSEC_ANCIENT_TOMB] = MAPPOPUP_THEME_STONE, + [MAPSEC_INSIDE_OF_TRUCK] = MAPPOPUP_THEME_WOOD, + [MAPSEC_SKY_PILLAR] = MAPPOPUP_THEME_STONE, + [MAPSEC_SECRET_BASE] = MAPPOPUP_THEME_STONE, + [MAPSEC_DYNAMIC] = MAPPOPUP_THEME_MARBLE, + [MAPSEC_AQUA_HIDEOUT - MAPSEC_SUBSTRACT_KANTO] = MAPPOPUP_THEME_STONE, + [MAPSEC_MAGMA_HIDEOUT - MAPSEC_SUBSTRACT_KANTO] = MAPPOPUP_THEME_STONE, + [MAPSEC_MIRAGE_TOWER - MAPSEC_SUBSTRACT_KANTO] = MAPPOPUP_THEME_STONE, + [MAPSEC_BIRTH_ISLAND_2 - MAPSEC_SUBSTRACT_KANTO] = MAPPOPUP_THEME_WOOD, + [MAPSEC_FARAWAY_ISLAND - MAPSEC_SUBSTRACT_KANTO] = MAPPOPUP_THEME_WOOD, + [MAPSEC_ARTISAN_CAVE - MAPSEC_SUBSTRACT_KANTO] = MAPPOPUP_THEME_STONE, + [MAPSEC_MARINE_CAVE - MAPSEC_SUBSTRACT_KANTO] = MAPPOPUP_THEME_STONE, + [MAPSEC_UNDERWATER_MARINE_CAVE - MAPSEC_SUBSTRACT_KANTO] = MAPPOPUP_THEME_STONE2, + [MAPSEC_TERRA_CAVE - MAPSEC_SUBSTRACT_KANTO] = MAPPOPUP_THEME_STONE, + [MAPSEC_UNDERWATER_TERRA_CAVE - MAPSEC_SUBSTRACT_KANTO] = MAPPOPUP_THEME_STONE2, + [MAPSEC_UNDERWATER_UNK1 - MAPSEC_SUBSTRACT_KANTO] = MAPPOPUP_THEME_STONE2, + [MAPSEC_UNDERWATER_129 - MAPSEC_SUBSTRACT_KANTO] = MAPPOPUP_THEME_STONE2, + [MAPSEC_DESERT_UNDERPASS - MAPSEC_SUBSTRACT_KANTO] = MAPPOPUP_THEME_STONE, + [MAPSEC_ALTERING_CAVE_2 - MAPSEC_SUBSTRACT_KANTO] = MAPPOPUP_THEME_STONE, + [MAPSEC_NAVEL_ROCK2 - MAPSEC_SUBSTRACT_KANTO] = MAPPOPUP_THEME_STONE, + [MAPSEC_TRAINER_HILL - MAPSEC_SUBSTRACT_KANTO] = MAPPOPUP_THEME_MARBLE }; static const u8 gText_PyramidFloor1[] = _("PYRAMID FLOOR 1"); From 857ac33adb1ba3c189cf7b006d7da28df2291157 Mon Sep 17 00:00:00 2001 From: ultima-soul <akshayjhanji@hotmail.com> Date: Wed, 5 Sep 2018 17:25:44 +0000 Subject: [PATCH 170/234] Fixed a typo. --- include/constants/region_map_sections.h | 2 +- src/map_name_popup.c | 32 ++++++++++++------------- 2 files changed, 17 insertions(+), 17 deletions(-) diff --git a/include/constants/region_map_sections.h b/include/constants/region_map_sections.h index 35c92d7e4d..12c8943679 100644 --- a/include/constants/region_map_sections.h +++ b/include/constants/region_map_sections.h @@ -220,6 +220,6 @@ #define MAPSEC_IN_GAME_TRADE 0xFE #define MAPSEC_FATEFUL_ENCOUNTER 0xFF -#define MAPSEC_SUBSTRACT_KANTO (MAPSEC_SPECIAL_AREA - MAPSEC_DYNAMIC) +#define MAPSEC_SUBTRACT_KANTO (MAPSEC_SPECIAL_AREA - MAPSEC_DYNAMIC) #endif //GUARD_REGIONMAPSEC_H diff --git a/src/map_name_popup.c b/src/map_name_popup.c index 7906c74ef1..0d22bd1263 100644 --- a/src/map_name_popup.c +++ b/src/map_name_popup.c @@ -158,22 +158,22 @@ static const u8 gRegionMapSectionId_To_PopUpThemeIdMapping[] = [MAPSEC_SKY_PILLAR] = MAPPOPUP_THEME_STONE, [MAPSEC_SECRET_BASE] = MAPPOPUP_THEME_STONE, [MAPSEC_DYNAMIC] = MAPPOPUP_THEME_MARBLE, - [MAPSEC_AQUA_HIDEOUT - MAPSEC_SUBSTRACT_KANTO] = MAPPOPUP_THEME_STONE, - [MAPSEC_MAGMA_HIDEOUT - MAPSEC_SUBSTRACT_KANTO] = MAPPOPUP_THEME_STONE, - [MAPSEC_MIRAGE_TOWER - MAPSEC_SUBSTRACT_KANTO] = MAPPOPUP_THEME_STONE, - [MAPSEC_BIRTH_ISLAND_2 - MAPSEC_SUBSTRACT_KANTO] = MAPPOPUP_THEME_WOOD, - [MAPSEC_FARAWAY_ISLAND - MAPSEC_SUBSTRACT_KANTO] = MAPPOPUP_THEME_WOOD, - [MAPSEC_ARTISAN_CAVE - MAPSEC_SUBSTRACT_KANTO] = MAPPOPUP_THEME_STONE, - [MAPSEC_MARINE_CAVE - MAPSEC_SUBSTRACT_KANTO] = MAPPOPUP_THEME_STONE, - [MAPSEC_UNDERWATER_MARINE_CAVE - MAPSEC_SUBSTRACT_KANTO] = MAPPOPUP_THEME_STONE2, - [MAPSEC_TERRA_CAVE - MAPSEC_SUBSTRACT_KANTO] = MAPPOPUP_THEME_STONE, - [MAPSEC_UNDERWATER_TERRA_CAVE - MAPSEC_SUBSTRACT_KANTO] = MAPPOPUP_THEME_STONE2, - [MAPSEC_UNDERWATER_UNK1 - MAPSEC_SUBSTRACT_KANTO] = MAPPOPUP_THEME_STONE2, - [MAPSEC_UNDERWATER_129 - MAPSEC_SUBSTRACT_KANTO] = MAPPOPUP_THEME_STONE2, - [MAPSEC_DESERT_UNDERPASS - MAPSEC_SUBSTRACT_KANTO] = MAPPOPUP_THEME_STONE, - [MAPSEC_ALTERING_CAVE_2 - MAPSEC_SUBSTRACT_KANTO] = MAPPOPUP_THEME_STONE, - [MAPSEC_NAVEL_ROCK2 - MAPSEC_SUBSTRACT_KANTO] = MAPPOPUP_THEME_STONE, - [MAPSEC_TRAINER_HILL - MAPSEC_SUBSTRACT_KANTO] = MAPPOPUP_THEME_MARBLE + [MAPSEC_AQUA_HIDEOUT - MAPSEC_SUBTRACT_KANTO] = MAPPOPUP_THEME_STONE, + [MAPSEC_MAGMA_HIDEOUT - MAPSEC_SUBTRACT_KANTO] = MAPPOPUP_THEME_STONE, + [MAPSEC_MIRAGE_TOWER - MAPSEC_SUBTRACT_KANTO] = MAPPOPUP_THEME_STONE, + [MAPSEC_BIRTH_ISLAND_2 - MAPSEC_SUBTRACT_KANTO] = MAPPOPUP_THEME_WOOD, + [MAPSEC_FARAWAY_ISLAND - MAPSEC_SUBTRACT_KANTO] = MAPPOPUP_THEME_WOOD, + [MAPSEC_ARTISAN_CAVE - MAPSEC_SUBTRACT_KANTO] = MAPPOPUP_THEME_STONE, + [MAPSEC_MARINE_CAVE - MAPSEC_SUBTRACT_KANTO] = MAPPOPUP_THEME_STONE, + [MAPSEC_UNDERWATER_MARINE_CAVE - MAPSEC_SUBTRACT_KANTO] = MAPPOPUP_THEME_STONE2, + [MAPSEC_TERRA_CAVE - MAPSEC_SUBTRACT_KANTO] = MAPPOPUP_THEME_STONE, + [MAPSEC_UNDERWATER_TERRA_CAVE - MAPSEC_SUBTRACT_KANTO] = MAPPOPUP_THEME_STONE2, + [MAPSEC_UNDERWATER_UNK1 - MAPSEC_SUBTRACT_KANTO] = MAPPOPUP_THEME_STONE2, + [MAPSEC_UNDERWATER_129 - MAPSEC_SUBTRACT_KANTO] = MAPPOPUP_THEME_STONE2, + [MAPSEC_DESERT_UNDERPASS - MAPSEC_SUBTRACT_KANTO] = MAPPOPUP_THEME_STONE, + [MAPSEC_ALTERING_CAVE_2 - MAPSEC_SUBTRACT_KANTO] = MAPPOPUP_THEME_STONE, + [MAPSEC_NAVEL_ROCK2 - MAPSEC_SUBTRACT_KANTO] = MAPPOPUP_THEME_STONE, + [MAPSEC_TRAINER_HILL - MAPSEC_SUBTRACT_KANTO] = MAPPOPUP_THEME_MARBLE }; static const u8 gText_PyramidFloor1[] = _("PYRAMID FLOOR 1"); From 75384546b51fa87fe4c3fe768fbe4e72149af8e7 Mon Sep 17 00:00:00 2001 From: DizzyEggg <jajkodizzy@wp.pl> Date: Wed, 5 Sep 2018 23:30:15 +0200 Subject: [PATCH 171/234] More factory decomp and documentation. --- asm/battle_frontier_2.s | 1042 -------------------------------------- data/battle_frontier_2.s | 90 ---- ld_script.txt | 1 + src/battle_factory.c | 884 +++++++++++++++++++++----------- sym_bss.txt | 3 +- 5 files changed, 598 insertions(+), 1422 deletions(-) diff --git a/asm/battle_frontier_2.s b/asm/battle_frontier_2.s index 4e0c3126f1..835d43bad8 100644 --- a/asm/battle_frontier_2.s +++ b/asm/battle_frontier_2.s @@ -8,1048 +8,6 @@ - thumb_func_start sub_819BF2C -sub_819BF2C: @ 819BF2C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x10 - movs r7, 0 - ldr r0, =gUnknown_0300127C - mov r9, r0 -_0819BF3E: - movs r2, 0 - adds r1, r7, 0x1 - mov r10, r1 - lsls r0, r7, 2 - mov r8, r0 -_0819BF48: - mov r0, r9 - ldr r1, [r0] - movs r0, 0x6C - adds r4, r2, 0 - muls r4, r0 - adds r0, r1, r4 - ldrb r0, [r0, 0x10] - cmp r0, r10 - bne _0819C008 - adds r4, r1 - adds r4, 0x14 - adds r0, r4, 0 - movs r1, 0xB - movs r2, 0 - bl GetMonData - adds r5, r0, 0 - lsls r5, 16 - lsrs r5, 16 - adds r0, r4, 0 - movs r1, 0 - movs r2, 0 - bl GetMonData - adds r6, r0, 0 - adds r0, r4, 0 - movs r1, 0x1 - movs r2, 0 - bl GetMonData - adds r1, r0, 0 - lsls r0, r7, 3 - adds r0, r7 - lsls r0, 19 - movs r2, 0x80 - lsls r2, 13 - adds r0, r2 - asrs r0, 16 - str r0, [sp] - movs r0, 0x20 - str r0, [sp, 0x4] - adds r0, r7, 0 - adds r0, 0xD - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x8] - ldr r0, =0x0000ffff - str r0, [sp, 0xC] - adds r0, r5, 0 - adds r2, r6, 0 - movs r3, 0x1 - bl CreateMonPicSprite_HandleDeoxys - mov r2, r9 - ldr r1, [r2] - add r1, r8 - movs r2, 0xA5 - lsls r2, 2 - adds r1, r2 - strb r0, [r1] - mov r1, r9 - ldr r0, [r1] - add r0, r8 - adds r0, r2 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r2, =gSprites - adds r0, r2 - adds r0, 0x28 - movs r1, 0 - strb r1, [r0] - mov r2, r9 - ldr r0, [r2] - add r0, r8 - movs r1, 0xA5 - lsls r1, 2 - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r2, =gSprites - adds r0, r2 - adds r0, 0x29 - movs r1, 0 - strb r1, [r0] - b _0819C012 - .pool -_0819C008: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x5 - bls _0819BF48 -_0819C012: - mov r2, r10 - lsls r0, r2, 24 - lsrs r7, r0, 24 - cmp r7, 0x2 - bls _0819BF3E - ldr r0, =gUnknown_0300127C - ldr r0, [r0] - movs r1, 0xA8 - lsls r1, 2 - adds r0, r1 - movs r1, 0 - strb r1, [r0] - 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_819BF2C - - thumb_func_start sub_819C040 -sub_819C040: @ 819C040 - push {r4-r6,lr} - adds r4, r0, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _0819C0DC - ldr r3, =gSprites - ldr r6, =gUnknown_0300127C - ldr r2, [r6] - ldr r0, =0x00000295 - adds r5, r2, r0 - ldrb r0, [r5] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r3 - adds r1, 0x3F - ldrb r0, [r1] - lsls r0, 26 - cmp r0, 0 - bge _0819C0DC - ldr r1, =0x0000029d - adds r0, r2, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - adds r0, 0x3F - ldrb r0, [r0] - lsls r0, 26 - cmp r0, 0 - bge _0819C0DC - adds r1, r4, 0 - adds r1, 0x3E - ldrb r0, [r1] - movs r2, 0x4 - orrs r0, r2 - strb r0, [r1] - ldrb r1, [r5] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - adds r0, 0x3E - ldrb r1, [r0] - orrs r1, r2 - strb r1, [r0] - ldr r0, [r6] - ldr r1, =0x0000029d - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - adds r0, 0x3E - ldrb r1, [r0] - orrs r1, r2 - strb r1, [r0] - ldr r0, =sub_819C1D0 - movs r1, 0x1 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r1, [r1] - bl _call_via_r1 - ldr r0, =SpriteCallbackDummy - str r0, [r4, 0x1C] -_0819C0DC: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_819C040 - - thumb_func_start sub_819C100 -sub_819C100: @ 819C100 - push {r4-r7,lr} - adds r5, r0, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _0819C1BA - ldr r6, =gSprites - ldr r4, =gUnknown_0300127C - ldr r2, [r4] - ldr r7, =0x00000295 - adds r0, r2, r7 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - adds r0, 0x3F - ldrb r0, [r0] - lsls r0, 26 - cmp r0, 0 - bge _0819C1BA - ldr r1, =0x0000029d - adds r0, r2, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - adds r0, 0x3F - ldrb r0, [r0] - lsls r0, 26 - cmp r0, 0 - bge _0819C1BA - ldrb r0, [r5, 0x3] - lsls r0, 26 - lsrs r0, 27 - bl FreeOamMatrix - ldr r0, [r4] - adds r0, r7 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - ldrb r0, [r0, 0x3] - lsls r0, 26 - lsrs r0, 27 - bl FreeOamMatrix - ldr r0, [r4] - ldr r1, =0x0000029d - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - ldrb r0, [r0, 0x3] - lsls r0, 26 - lsrs r0, 27 - bl FreeOamMatrix - ldr r0, [r4] - movs r1, 0xA8 - lsls r1, 2 - adds r0, r1 - movs r1, 0 - strb r1, [r0] - ldr r0, [r4] - adds r0, r7 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - bl DestroySprite - ldr r0, [r4] - ldr r1, =0x0000029d - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - bl DestroySprite - adds r0, r5, 0 - bl DestroySprite -_0819C1BA: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_819C100 - - thumb_func_start sub_819C1D0 -sub_819C1D0: @ 819C1D0 - push {r4,lr} - lsls r0, 24 - lsrs r2, r0, 24 - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - ldr r1, =gTasks - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0x1 - beq _0819C24E - cmp r0, 0x1 - bgt _0819C1F8 - cmp r0, 0 - beq _0819C1FE - b _0819C2BA - .pool -_0819C1F8: - cmp r0, 0x2 - beq _0819C270 - b _0819C2BA -_0819C1FE: - movs r0, 0x10 - strh r0, [r4, 0xE] - movs r0, 0xE0 - strh r0, [r4, 0x38] - movs r0, 0x40 - strh r0, [r4, 0x12] - movs r0, 0x41 - strh r0, [r4, 0x18] - movs r1, 0x80 - lsls r1, 6 - movs r0, 0 - bl SetGpuRegBits - ldrh r1, [r4, 0xE] - lsls r1, 8 - ldrh r0, [r4, 0x38] - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x40 - bl SetGpuReg - ldrh r1, [r4, 0x12] - lsls r1, 8 - ldrh r0, [r4, 0x18] - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x44 - bl SetGpuReg - movs r0, 0x48 - movs r1, 0x3F - bl SetGpuReg - movs r0, 0x4A - movs r1, 0x37 - bl SetGpuReg - b _0819C2C6 -_0819C24E: - movs r0, 0x3 - bl ShowBg - ldr r1, =0x00001248 - movs r0, 0x50 - bl SetGpuReg - ldr r1, =0x0000040b - movs r0, 0x52 - bl SetGpuReg - b _0819C2C6 - .pool -_0819C270: - ldrh r0, [r4, 0x12] - subs r0, 0x4 - strh r0, [r4, 0x12] - ldrh r1, [r4, 0x18] - adds r1, 0x4 - strh r1, [r4, 0x18] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x20 - ble _0819C28C - lsls r0, r1, 16 - asrs r0, 16 - cmp r0, 0x5F - ble _0819C29E -_0819C28C: - movs r0, 0x20 - strh r0, [r4, 0x12] - movs r0, 0x60 - strh r0, [r4, 0x18] - movs r1, 0x80 - lsls r1, 6 - movs r0, 0 - bl ClearGpuRegBits -_0819C29E: - ldrh r1, [r4, 0x12] - lsls r1, 8 - ldrh r0, [r4, 0x18] - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x44 - bl SetGpuReg - movs r1, 0x12 - ldrsh r0, [r4, r1] - cmp r0, 0x20 - bne _0819C2CC - b _0819C2C6 -_0819C2BA: - adds r0, r2, 0 - bl DestroyTask - bl sub_819BF2C - b _0819C2CC -_0819C2C6: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_0819C2CC: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_819C1D0 - - thumb_func_start sub_819C2D4 -sub_819C2D4: @ 819C2D4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 24 - lsrs r7, r0, 24 - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - ldr r1, =gTasks - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _0819C2F6 - b _0819C410 -_0819C2F6: - cmp r0, 0x1 - bne _0819C2FC - b _0819C460 -_0819C2FC: - movs r0, 0x3 - bl HideBg - ldr r4, =gSprites - ldr r0, =gUnknown_0300127C - mov r8, r0 - ldr r0, [r0] - ldr r1, =0x00000299 - mov r12, r1 - add r0, r12 - ldrb r0, [r0] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - adds r1, 0x3E - ldrb r2, [r1] - movs r3, 0x5 - negs r3, r3 - adds r0, r3, 0 - ands r0, r2 - strb r0, [r1] - mov r0, r8 - ldr r2, [r0] - mov r1, r12 - adds r0, r2, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r6, r4, 0 - adds r6, 0x1C - adds r0, r6 - ldr r1, =sub_819C100 - str r1, [r0] - ldr r0, =0x00000295 - mov r9, r0 - add r2, r9 - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r0, 0x3E - ldrb r2, [r0] - adds r1, r3, 0 - ands r1, r2 - strb r1, [r0] - mov r1, r8 - ldr r2, [r1] - mov r1, r9 - adds r0, r2, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - ldr r1, =SpriteCallbackDummy - mov r10, r1 - str r1, [r0] - ldr r5, =0x0000029d - adds r2, r5 - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r0, 0x3E - ldrb r1, [r0] - ands r3, r1 - strb r3, [r0] - mov r0, r8 - ldr r2, [r0] - adds r0, r2, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - mov r1, r10 - str r1, [r0] - add r2, r12 - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0x1 - bl StartSpriteAffineAnim - mov r1, r8 - ldr r0, [r1] - add r0, r9 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0x1 - bl StartSpriteAffineAnim - mov r1, r8 - ldr r0, [r1] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0x1 - bl StartSpriteAffineAnim - movs r1, 0x80 - lsls r1, 6 - movs r0, 0 - bl ClearGpuRegBits - adds r0, r7, 0 - bl DestroyTask - b _0819C4A4 - .pool -_0819C410: - movs r0, 0x10 - strh r0, [r4, 0xE] - movs r0, 0xE0 - strh r0, [r4, 0x38] - movs r0, 0x20 - strh r0, [r4, 0x12] - movs r0, 0x60 - strh r0, [r4, 0x18] - movs r1, 0x80 - lsls r1, 6 - movs r0, 0 - bl SetGpuRegBits - ldrh r1, [r4, 0xE] - lsls r1, 8 - ldrh r0, [r4, 0x38] - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x40 - bl SetGpuReg - ldrh r1, [r4, 0x12] - lsls r1, 8 - ldrh r0, [r4, 0x18] - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x44 - bl SetGpuReg - movs r0, 0x48 - movs r1, 0x3F - bl SetGpuReg - movs r0, 0x4A - movs r1, 0x37 - bl SetGpuReg - b _0819C49E -_0819C460: - ldrh r0, [r4, 0x12] - adds r0, 0x4 - strh r0, [r4, 0x12] - ldrh r1, [r4, 0x18] - subs r1, 0x4 - strh r1, [r4, 0x18] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3F - bgt _0819C47C - lsls r0, r1, 16 - asrs r0, 16 - cmp r0, 0x41 - bgt _0819C484 -_0819C47C: - movs r0, 0x40 - strh r0, [r4, 0x12] - movs r0, 0x41 - strh r0, [r4, 0x18] -_0819C484: - ldrh r1, [r4, 0x12] - lsls r1, 8 - ldrh r0, [r4, 0x18] - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x44 - bl SetGpuReg - movs r1, 0x12 - ldrsh r0, [r4, r1] - cmp r0, 0x40 - bne _0819C4A4 -_0819C49E: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_0819C4A4: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_819C2D4 - - thumb_func_start sub_819C4B4 -sub_819C4B4: @ 819C4B4 - push {r4-r6,lr} - mov r6, r8 - push {r6} - ldr r4, =gUnknown_08610638 - adds r0, r4, 0 - movs r1, 0x78 - movs r2, 0x40 - movs r3, 0x1 - bl CreateSprite - ldr r6, =gUnknown_0300127C - ldr r1, [r6] - ldr r2, =0x00000299 - mov r8, r2 - add r1, r8 - strb r0, [r1] - adds r0, r4, 0 - movs r1, 0x2C - movs r2, 0x40 - movs r3, 0x1 - bl CreateSprite - ldr r1, [r6] - ldr r5, =0x00000295 - adds r1, r5 - strb r0, [r1] - adds r0, r4, 0 - movs r1, 0xC4 - movs r2, 0x40 - movs r3, 0x1 - bl CreateSprite - ldr r1, [r6] - ldr r4, =0x0000029d - adds r1, r4 - strb r0, [r1] - ldr r3, =gSprites - ldr r2, [r6] - add r8, r2 - mov r0, r8 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r3, 0x1C - adds r0, r3 - ldr r1, =sub_819C040 - str r1, [r0] - adds r5, r2, r5 - ldrb r1, [r5] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldr r5, =SpriteCallbackDummy - str r5, [r0] - adds r4, r2, r4 - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - str r5, [r0] - movs r0, 0xA8 - lsls r0, 2 - adds r2, r0 - movs r0, 0x1 - strb r0, [r2] - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_819C4B4 - - thumb_func_start sub_819C568 -sub_819C568: @ 819C568 - push {r4,lr} - ldr r4, =gUnknown_0300127C - ldr r0, [r4] - movs r1, 0xA5 - lsls r1, 2 - adds r0, r1 - ldrb r0, [r0] - bl FreeAndDestroyMonPicSprite - ldr r0, [r4] - movs r1, 0xA6 - lsls r1, 2 - adds r0, r1 - ldrb r0, [r0] - bl FreeAndDestroyMonPicSprite - ldr r0, [r4] - movs r1, 0xA7 - lsls r1, 2 - adds r0, r1 - ldrb r0, [r0] - bl FreeAndDestroyMonPicSprite - ldr r0, =sub_819C2D4 - movs r1, 0x1 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r1, [r1] - bl _call_via_r1 - ldr r0, [r4] - movs r1, 0xA8 - lsls r1, 2 - adds r0, r1 - movs r1, 0x1 - strb r1, [r0] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_819C568 - - thumb_func_start sub_819C5D0 -sub_819C5D0: @ 819C5D0 - push {r4-r6,lr} - mov r6, r8 - push {r6} - adds r4, r0, 0 - adds r6, r1, 0 - adds r5, r2, 0 - mov r8, r3 - lsls r4, 16 - lsrs r4, 16 - lsls r6, 16 - lsrs r6, 16 - lsls r5, 16 - lsrs r5, 16 - mov r0, r8 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - movs r1, 0x80 - lsls r1, 6 - movs r0, 0 - bl SetGpuRegBits - lsls r4, 24 - lsrs r4, 16 - orrs r4, r6 - movs r0, 0x40 - adds r1, r4, 0 - bl SetGpuReg - lsls r5, 24 - lsrs r5, 16 - mov r0, r8 - orrs r5, r0 - movs r0, 0x44 - adds r1, r5, 0 - bl SetGpuReg - movs r0, 0x48 - movs r1, 0x3F - bl SetGpuReg - movs r0, 0x4A - movs r1, 0x37 - bl SetGpuReg - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_819C5D0 - - thumb_func_start sub_819C634 -sub_819C634: @ 819C634 - push {r4-r7,lr} - lsls r0, 16 - ldr r2, =gFacilityTrainerMons - ldr r1, [r2] - lsrs r0, 12 - adds r0, r1 - ldrh r6, [r0] - ldr r0, =gUnknown_0300127C - ldr r0, [r0] - ldrb r5, [r0, 0x5] - movs r3, 0x1 - cmp r3, r5 - bcs _0819C694 - adds r4, r0, 0 - movs r0, 0x6C - mov r12, r0 - adds r7, r2, 0 -_0819C656: - movs r2, 0 -_0819C658: - mov r0, r12 - muls r0, r2 - adds r1, r4, r0 - ldrb r0, [r1, 0x10] - cmp r0, r3 - bne _0819C680 - ldrh r0, [r1, 0xC] - ldr r1, [r7] - lsls r0, 4 - adds r0, r1 - ldrh r0, [r0] - cmp r0, r6 - bne _0819C68A - movs r0, 0 - b _0819C696 - .pool -_0819C680: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x5 - bls _0819C658 -_0819C68A: - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, r5 - bcc _0819C656 -_0819C694: - movs r0, 0x1 -_0819C696: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_819C634 - - thumb_func_start sub_819C69C -sub_819C69C: @ 819C69C - push {r4-r7,lr} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r1, =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r5, r0, r1 - movs r0, 0x8 - ldrsh r2, [r5, r0] - cmp r2, 0x1 - beq _0819C6F8 - cmp r2, 0x1 - bgt _0819C6C4 - cmp r2, 0 - beq _0819C6CA - b _0819C7D8 - .pool -_0819C6C4: - cmp r2, 0x2 - beq _0819C7B4 - b _0819C7D8 -_0819C6CA: - ldr r1, =gUnknown_0300127C - ldr r0, [r1] - ldr r3, =0x000002a7 - adds r0, r3 - strb r2, [r0] - ldr r0, [r1] - adds r3, 0x1 - adds r0, r3 - strb r2, [r0] - ldr r0, [r1] - ldr r1, =0x000002a6 - adds r0, r1 - movs r1, 0x1 - strb r1, [r0] - strh r1, [r5, 0x8] - b _0819C7D8 - .pool -_0819C6F8: - ldr r0, =gUnknown_0300127C - ldr r3, [r0] - ldr r2, =0x000002a2 - adds r1, r3, r2 - ldrb r1, [r1] - adds r7, r0, 0 - cmp r1, 0 - beq _0819C7D8 - ldr r1, =0x000002a9 - adds r0, r3, r1 - ldrb r4, [r0] - cmp r4, 0 - beq _0819C724 - movs r0, 0x2 - strh r0, [r5, 0x8] - b _0819C7D8 - .pool -_0819C724: - ldr r2, =0x000002a7 - adds r1, r3, r2 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - ldr r0, [r7] - adds r1, r0, r2 - ldrb r0, [r1] - cmp r0, 0x6 - bls _0819C764 - strb r4, [r1] - ldr r1, [r7] - subs r2, 0x1 - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, 0 - bne _0819C758 - movs r3, 0xAA - lsls r3, 2 - adds r1, r3 - ldrb r0, [r1] - subs r0, 0x1 - b _0819C762 - .pool -_0819C758: - movs r0, 0xAA - lsls r0, 2 - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 -_0819C762: - strb r0, [r1] -_0819C764: - movs r0, 0x80 - lsls r0, 7 - ldr r1, [r7] - movs r4, 0xAA - lsls r4, 2 - adds r1, r4 - ldrb r1, [r1] - movs r2, 0 - bl BlendPalettes - ldr r2, [r7] - adds r4, r2, r4 - ldrb r0, [r4] - cmp r0, 0x5 - bls _0819C790 - ldr r3, =0x000002a6 - adds r1, r2, r3 - movs r0, 0 - b _0819C7D6 - .pool -_0819C790: - cmp r0, 0 - bne _0819C7D8 - ldr r1, =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r0, r1 - movs r1, 0x2 - strh r1, [r0, 0x8] - ldr r0, =0x000002a6 - adds r1, r2, r0 - movs r0, 0x1 - b _0819C7D6 - .pool -_0819C7B4: - ldr r0, =gUnknown_0300127C - ldr r0, [r0] - ldr r2, =0x000002a9 - adds r1, r0, r2 - ldrb r0, [r1] - cmp r0, 0xE - bls _0819C7D4 - movs r0, 0 - strb r0, [r1] - movs r0, 0x1 - strh r0, [r5, 0x8] - b _0819C7D8 - .pool -_0819C7D4: - adds r0, 0x1 -_0819C7D6: - strb r0, [r1] -_0819C7D8: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_819C69C - thumb_func_start sub_819C7E0 sub_819C7E0: @ 819C7E0 push {lr} diff --git a/data/battle_frontier_2.s b/data/battle_frontier_2.s index bbb2a2c62a..c03c9c368c 100644 --- a/data/battle_frontier_2.s +++ b/data/battle_frontier_2.s @@ -6,96 +6,6 @@ .section .rodata - .align 2 -gUnknown_0860F13C:: @ 860F13C - .incbin "graphics/unknown/unknown_60F13C.gbapal" - - .align 2 -gUnknown_0860F15C:: @ 860F15C - .incbin "graphics/unknown/unknown_60F15C.gbapal" - - .align 2 -gUnknown_0860F17C:: @ 860F17C - .incbin "graphics/unknown/unknown_60F17C.gbapal" - - .align 2 -gUnknown_0860F1BC:: @ 860F1BC - .incbin "graphics/unknown/unknown_60F1BC.4bpp" - - .align 2 -gUnknown_0860F3BC:: @ 860F3BC - .incbin "graphics/unknown/unknown_60F3BC.4bpp" - - .align 2 -gUnknown_0860F43C:: @ 860F43C - .incbin "graphics/unknown/unknown_60F43C.4bpp" - - .align 2 -gUnknown_0860F53C:: @ 860F53C - .incbin "graphics/unknown/unknown_60F53C.4bpp" - - .align 2 -gUnknown_0860F63C:: @ 860F63C - .incbin "graphics/unknown/unknown_60F63C.4bpp" - - .align 2 -gUnknown_0860F6BC:: @ 860F6BC - .incbin "graphics/unknown/unknown_60F6BC.4bpp" - - .align 2 -gUnknown_0860F7BC:: @ 860F7BC - .incbin "graphics/unknown/unknown_60F7BC.4bpp" - - .align 2 -gUnknown_0860F83C:: @ 860F83C - .incbin "graphics/unknown/unknown_60F83C.4bpp" - - .align 2 -gUnknown_0860F93C:: @ 860F93C - .incbin "graphics/unknown/unknown_60F93C.4bpp" - - .align 2 -gUnknown_0860FA3C:: @ 860FA3C - .incbin "graphics/unknown/unknown_60FA3C.4bpp" - - .align 2 -gUnknown_0861023C:: @ 861023C - .incbin "graphics/unknown/unknown_61023C.bin" - - .align 2 -gUnknown_0861033C:: @ 861033C - .incbin "graphics/unknown/unknown_61033C.4bpp" - - .align 2 -gUnknown_0861039C:: @ 861039C - .incbin "graphics/unknown/unknown_61039C.gbapal" - - .align 2 -gUnknown_086103BC:: @ 86103BC - obj_tiles gUnknown_0860F3BC, 0x0080, 0x0065 - obj_tiles gUnknown_0860F43C, 0x0100, 0x0066 - obj_tiles gUnknown_0860F53C, 0x0100, 0x0067 - obj_tiles gUnknown_0860FA3C, 0x0800, 0x006d - null_obj_tiles - - .align 2 -gUnknown_086103E4:: @ 86103E4 - obj_tiles gUnknown_085B18AC, 0x0800, 0x0064 - null_obj_tiles - - .align 2 -gUnknown_086103F4:: @ 86103F4 - obj_pal gUnknown_0860F13C, 0x0064 - obj_pal gUnknown_0860F15C, 0x0065 - obj_pal gUnknown_0860F17C, 0x0066 - obj_pal gUnknown_0861039C, 0x0067 - null_obj_pal - - .align 2 -gUnknown_0861041C:: @ 861041C - .4byte sub_819BCCC - .4byte sub_819BC30 - .4byte sub_819BCD0 .align 2 gUnknown_08610428:: @ 8610428 diff --git a/ld_script.txt b/ld_script.txt index 6e4885e4c9..9e64023d15 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -530,6 +530,7 @@ SECTIONS { src/battle_dome.o(.rodata); data/battle_frontier_1.o(.rodata); src/menu.o(.rodata); + src/battle_factory.o(.rodata); data/battle_frontier_2.o(.rodata); src/item_menu.o(.rodata); src/list_menu.o(.rodata); diff --git a/src/battle_factory.c b/src/battle_factory.c index 9cb773ea33..f7568055c7 100644 --- a/src/battle_factory.c +++ b/src/battle_factory.c @@ -19,10 +19,14 @@ #include "pokemon_summary_screen.h" #include "sound.h" #include "pokedex.h" +#include "blend_palette.h" #include "trainer_pokemon_sprites.h" #include "constants/battle_frontier.h" #include "constants/songs.h" +// Select_ refers to the first Pokemon selection screen where you choose 3 Pokemon. +// Swap_ refers to the consecutive selection screen where you can keep your Pokemon or swap one with beaten trainer's. + #define MENU_SUMMARY 0 #define MENU_RENT 1 #define MENU_DESELECT 1 @@ -57,23 +61,19 @@ struct FactorySelectMonsStruct u8 selectingMonsState; bool8 fromSummaryScreen; u8 yesNoCursorPos; - u8 unk8; - u8 unk9; + u8 unused8; struct FactorySelecteableMon mons[SELECTABLE_MONS_COUNT]; - u32 unk294; - struct UnkFactoryStruct unk298; - u32 unk29C; + struct UnkFactoryStruct unk294[3]; u8 unk2A0; - u8 unk2A1; - u8 unk2A2; - u8 unk2A3; + u8 palBlendTaskId; + bool8 unk2A2; u16 unk2A4; - u16 unk2A6; - u16 unk2A8; - u16 unk2AA; + bool8 unk2A6; + u8 unk2A7; + u8 unk2A8; + u8 unk2A9; }; -extern struct FactorySelectMonsStruct *gUnknown_0300127C; extern u8 (*gUnknown_030062E8)(void); extern u8 gUnknown_0203CF20; @@ -81,42 +81,46 @@ extern const u16 gBattleFrontierHeldItems[]; extern const struct FacilityMon gBattleFrontierMons[]; extern const struct FacilityMon gSlateportBattleTentMons[]; extern const struct BattleFrontierTrainer gBattleFrontierTrainers[]; +extern const u8 gUnknown_085B18AC[]; extern void SetMonMoveAvoidReturn(struct Pokemon *mon, u16 move, u8 moveSlot); // This file's functions. -void sub_819A514(void); -void sub_819C5D0(u16 mWin0H, u16 nWin0H, u16 mWin0V, u16 nWin0V); -void sub_819A9AC(void); -void sub_819AA18(void); -void sub_819BE34(void); -void PrintSelectMonString(void); -void PrintMonSpecies(void); -void PrintMonCategory(void); -void sub_819B9E8(void); -void PrintRentalPkmnString(void); -void CopySelectedMonsToPlayerParty(void); -void sub_819C4B4(void); -void sub_819B8D4(void); -void sub_819C568(void); -void sub_819B844(void); -void PrintSelectableMenuOptions(void); -void PrintSelectableYesNo(void); -void sub_819C69C(u8 taskId); -void Task_HandleSelectionScreenChooseMons(u8 taskId); -void Task_HandleSelectionScreenMenu(u8 taskId); -void CreateFrontierFactorySelectableMons(u8 firstMonId); -void CreateTentFactorySelectableMons(u8 firstMonId); -void SetBallSpritePaletteNum(u8 id); +static void CB2_InitSelectScreen(void); +static void Select_SetWinRegs(s16 mWin0H, s16 nWin0H, s16 mWin0V, s16 nWin0V); +static void Select_InitMonsData(void); +static void Select_InitAllSprites(void); +static void Select_ShowCheckedMonSprite(void); +static void Select_PrintSelectMonString(void); +static void Select_PrintMonSpecies(void); +static void Select_PrintMonCategory(void); +static void Select_PrintRentalPkmnString(void); +static void Select_CopyMonsToPlayerParty(void); +static void sub_819C4B4(void); +static void Select_ShowYesNoOptions(void); +static void sub_819C568(void); +static void Select_ShowMenuOptions(void); +static void Select_PrintMenuOptions(void); +static void Select_PrintYesNoOptions(void); +static void Task_SelectBlendPalette(u8 taskId); +static void sub_819C1D0(u8 taskId); +static void Task_HandleSelectionScreenChooseMons(u8 taskId); +static void Task_HandleSelectionScreenMenu(u8 taskId); +static void CreateFrontierFactorySelectableMons(u8 firstMonId); +static void CreateTentFactorySelectableMons(u8 firstMonId); +static void Select_SetBallSpritePaletteNum(u8 id); void sub_819F444(struct UnkFactoryStruct arg0, u8 *arg1); -void sub_819B958(u8 windowId); +static void sub_819B958(u8 windowId); void sub_819F2B4(u8 *arg0, u8 *arg1, u8 arg2); void sub_819F3F8(struct UnkFactoryStruct arg0, u8 *arg1, u8 arg2); -u8 sub_819BC04(void); -u8 sub_819BC9C(void); +static u8 Select_RunMenuOptionFunc(void); +static u8 sub_819BC9C(void); +static u8 Select_OptionSummary(void); +static u8 Select_OptionOthers(void); +static u8 Select_OptionRentDeselect(void); u8 sub_81A6F70(u8 battleMode, u8 lvlMode); u8 sub_81A6CA8(u8 arg0, u8 arg1); -bool32 sub_819C634(u16 monSetId); +static bool32 Select_AreSpeciesValid(u16 monSetId); // Ewram variables EWRAM_DATA u8 *gUnknown_0203CE2C = NULL; @@ -125,17 +129,68 @@ EWRAM_DATA u8 *gUnknown_0203CE34 = NULL; EWRAM_DATA u8 *gUnknown_0203CE38 = NULL; static EWRAM_DATA struct Pokemon *sFactorySelectMons = NULL; +// IWRAM bss +static IWRAM_DATA struct FactorySelectMonsStruct *sFactorySelectScreen; + // Const rom data. +const u16 gUnknown_0860F13C[] = INCBIN_U16("graphics/unknown/unknown_60F13C.gbapal"); +const u16 gUnknown_0860F15C[] = INCBIN_U16("graphics/unknown/unknown_60F15C.gbapal"); +const u16 gUnknown_0860F17C[] = INCBIN_U16("graphics/unknown/unknown_60F17C.gbapal"); +const u8 gUnknown_0860F1BC[] = INCBIN_U8("graphics/unknown/unknown_60F1BC.4bpp"); +const u8 gUnknown_0860F3BC[] = INCBIN_U8("graphics/unknown/unknown_60F3BC.4bpp"); +const u8 gUnknown_0860F43C[] = INCBIN_U8("graphics/unknown/unknown_60F43C.4bpp"); +const u8 gUnknown_0860F53C[] = INCBIN_U8("graphics/unknown/unknown_60F53C.4bpp"); +const u8 gUnknown_0860F63C[] = INCBIN_U8("graphics/unknown/unknown_60F63C.4bpp"); +const u8 gUnknown_0860F6BC[] = INCBIN_U8("graphics/unknown/unknown_60F6BC.4bpp"); +const u8 gUnknown_0860F7BC[] = INCBIN_U8("graphics/unknown/unknown_60F7BC.4bpp"); +const u8 gUnknown_0860F83C[] = INCBIN_U8("graphics/unknown/unknown_60F83C.4bpp"); +const u8 gUnknown_0860F93C[] = INCBIN_U8("graphics/unknown/unknown_60F93C.4bpp"); +const u8 gUnknown_0860FA3C[] = INCBIN_U8("graphics/unknown/unknown_60FA3C.4bpp"); +const u8 gUnknown_0861023C[] = INCBIN_U8("graphics/unknown/unknown_61023C.bin"); +const u8 gUnknown_0861033C[] = INCBIN_U8("graphics/unknown/unknown_61033C.4bpp"); +const u16 gUnknown_0861039C[] = INCBIN_U16("graphics/unknown/unknown_61039C.gbapal"); + +const struct SpriteSheet gUnknown_086103BC[] = +{ + {gUnknown_0860F3BC, sizeof(gUnknown_0860F3BC), 0x65}, + {gUnknown_0860F43C, sizeof(gUnknown_0860F43C), 0x66}, + {gUnknown_0860F53C, sizeof(gUnknown_0860F53C), 0x67}, + {gUnknown_0860FA3C, sizeof(gUnknown_0860FA3C), 0x6D}, + {}, +}; + +const struct CompressedSpriteSheet gUnknown_086103E4[] = +{ + {gUnknown_085B18AC, 0x800, 0x64}, + {}, +}; + +const struct SpritePalette gUnknown_086103F4[] = +{ + {gUnknown_0860F13C, 0x64}, + {gUnknown_0860F15C, 0x65}, + {gUnknown_0860F17C, 0x66}, + {gUnknown_0861039C, 0x67}, + {}, +}; + +u8 (* const sSelect_MenuOptionFuncs[])(void) = +{ + [MENU_SUMMARY] = Select_OptionSummary, + [MENU_RENT] /*Or Deselect*/ = Select_OptionRentDeselect, + [MENU_OTHERS] = Select_OptionOthers +}; + extern const struct BgTemplate gUnknown_08610428[3]; extern const struct WindowTemplate gUnknown_08610434[]; -extern const u8 gUnknown_0861033C[]; -extern const u8 gUnknown_0861023C[]; extern const u16 gUnknown_0861046C[]; -extern const u16 gUnknown_0861039C[]; -extern const struct SpritePalette gUnknown_086103F4[]; -extern const struct SpriteSheet gUnknown_086103BC[]; -extern const struct CompressedSpriteSheet gUnknown_086103E4[]; extern const struct SpriteTemplate gUnknown_086105D8; +extern const struct SpriteTemplate gUnknown_086105F0; +extern const struct SpriteTemplate gUnknown_08610608; +extern const struct SpriteTemplate gUnknown_08610620; +extern const struct SpriteTemplate gUnknown_08610638; +extern const u8 gUnknown_08610479[]; +extern const u8 gUnknown_08610476[]; // gfx extern const u8 gFrontierFactorySelectMenu_Gfx[]; @@ -188,7 +243,7 @@ void sub_819A44C(struct Sprite *sprite) } } -void sub_819A4C8(void) +static void Select_CB2(void) { AnimateSprites(); BuildOamBuffer(); @@ -197,7 +252,7 @@ void sub_819A4C8(void) RunTasks(); } -void sub_819A4E4(void) +static void Select_VblankCb(void) { LoadOam(); ProcessSpriteCopyRequests(); @@ -206,11 +261,11 @@ void sub_819A4E4(void) void sub_819A4F8(void) { - gUnknown_0300127C = NULL; - SetMainCallback2(sub_819A514); + sFactorySelectScreen = NULL; + SetMainCallback2(CB2_InitSelectScreen); } -void sub_819A514(void) +static void CB2_InitSelectScreen(void) { u8 taskId; @@ -265,8 +320,8 @@ void sub_819A514(void) LoadPalette(gFrontierFactorySelectMenu_Pal, 0, 0x40); LoadPalette(gUnknown_0861046C, 0xF0, 8); LoadPalette(gUnknown_0861046C, 0xE0, 10); - if (gUnknown_0300127C->fromSummaryScreen == TRUE) - gPlttBufferUnfaded[228] = gUnknown_0300127C->unk2A4; + if (sFactorySelectScreen->fromSummaryScreen == TRUE) + gPlttBufferUnfaded[228] = sFactorySelectScreen->unk2A4; LoadPalette(gUnknown_0861039C, 0x20, 4); gMain.state++; break; @@ -284,12 +339,12 @@ void sub_819A514(void) LoadCompressedObjectPic(gUnknown_086103E4); ShowBg(0); ShowBg(1); - SetVBlankCallback(sub_819A4E4); + SetVBlankCallback(Select_VblankCb); BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0); SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_ON | DISPCNT_BG0_ON | DISPCNT_BG1_ON | DISPCNT_OBJ_1D_MAP); - if (gUnknown_0300127C->fromSummaryScreen == TRUE) + if (sFactorySelectScreen->fromSummaryScreen == TRUE) { - sub_819C5D0(88, 152, 32, 96); + Select_SetWinRegs(88, 152, 32, 96); ShowBg(3); SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG3 | BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_BG1 | BLDCNT_TGT2_OBJ); SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(11, 4)); @@ -301,67 +356,67 @@ void sub_819A514(void) gMain.state++; break; case 5: - if (gUnknown_0300127C->fromSummaryScreen == TRUE) - gUnknown_0300127C->cursorPos = gUnknown_0203CF20; - sub_819A9AC(); - sub_819AA18(); - if (gUnknown_0300127C->fromSummaryScreen == TRUE) - sub_819BE34(); + if (sFactorySelectScreen->fromSummaryScreen == TRUE) + sFactorySelectScreen->cursorPos = gUnknown_0203CF20; + Select_InitMonsData(); + Select_InitAllSprites(); + if (sFactorySelectScreen->fromSummaryScreen == TRUE) + Select_ShowCheckedMonSprite(); gMain.state++; break; case 6: - PrintSelectMonString(); + Select_PrintSelectMonString(); PutWindowTilemap(2); gMain.state++; break; case 7: - PrintMonCategory(); + Select_PrintMonCategory(); PutWindowTilemap(5); gMain.state++; break; case 8: - PrintMonSpecies(); + Select_PrintMonSpecies(); PutWindowTilemap(1); gMain.state++; break; case 9: - PrintRentalPkmnString(); + Select_PrintRentalPkmnString(); PutWindowTilemap(0); gMain.state++; break; case 10: - gUnknown_0300127C->unk2A1 = CreateTask(sub_819C69C, 0); - if (!gUnknown_0300127C->fromSummaryScreen) + sFactorySelectScreen->palBlendTaskId = CreateTask(Task_SelectBlendPalette, 0); + if (!sFactorySelectScreen->fromSummaryScreen) { - gTasks[gUnknown_0300127C->unk2A1].data[0] = 0; + gTasks[sFactorySelectScreen->palBlendTaskId].data[0] = 0; taskId = CreateTask(Task_HandleSelectionScreenChooseMons, 0); gTasks[taskId].data[0] = 0; } else { - gTasks[gUnknown_0300127C->unk2A1].data[0] = 1; - gUnknown_0300127C->unk2A2 = 0; + gTasks[sFactorySelectScreen->palBlendTaskId].data[0] = 1; + sFactorySelectScreen->unk2A2 = FALSE; taskId = CreateTask(Task_HandleSelectionScreenMenu, 0); gTasks[taskId].data[0] = 13; } - SetMainCallback2(sub_819A4C8); + SetMainCallback2(Select_CB2); break; } } -void sub_819A9AC(void) +static void Select_InitMonsData(void) { u8 i; - if (gUnknown_0300127C != NULL) + if (sFactorySelectScreen != NULL) return; - gUnknown_0300127C = AllocZeroed(sizeof(*gUnknown_0300127C)); - gUnknown_0300127C->cursorPos = 0; - gUnknown_0300127C->selectingMonsState = 1; - gUnknown_0300127C->fromSummaryScreen = FALSE; + sFactorySelectScreen = AllocZeroed(sizeof(*sFactorySelectScreen)); + sFactorySelectScreen->cursorPos = 0; + sFactorySelectScreen->selectingMonsState = 1; + sFactorySelectScreen->fromSummaryScreen = FALSE; for (i = 0; i < SELECTABLE_MONS_COUNT; i++) - gUnknown_0300127C->mons[i].selectedId = 0; + sFactorySelectScreen->mons[i].selectedId = 0; if (gSaveBlock2Ptr->frontier.lvlMode != FRONTIER_LVL_TENT) CreateFrontierFactorySelectableMons(0); @@ -369,157 +424,153 @@ void sub_819A9AC(void) CreateTentFactorySelectableMons(0); } -extern const struct SpriteTemplate gUnknown_086105F0; -extern const struct SpriteTemplate gUnknown_08610608; -extern const struct SpriteTemplate gUnknown_08610620; - -void sub_819AA18(void) +static void Select_InitAllSprites(void) { u8 i, cursorPos; s16 x; for (i = 0; i < SELECTABLE_MONS_COUNT; i++) { - gUnknown_0300127C->mons[i].spriteId = CreateSprite(&gUnknown_086105D8, (35 * i) + 32, 64, 1); - gSprites[gUnknown_0300127C->mons[i].spriteId].data[0] = 0; - SetBallSpritePaletteNum(i); + sFactorySelectScreen->mons[i].spriteId = CreateSprite(&gUnknown_086105D8, (35 * i) + 32, 64, 1); + gSprites[sFactorySelectScreen->mons[i].spriteId].data[0] = 0; + Select_SetBallSpritePaletteNum(i); } - cursorPos = gUnknown_0300127C->cursorPos; - x = gSprites[gUnknown_0300127C->mons[cursorPos].spriteId].pos1.x; - gUnknown_0300127C->cursorSpriteId = CreateSprite(&gUnknown_086105F0, x, 88, 0); - gUnknown_0300127C->menuCursor1SpriteId = CreateSprite(&gUnknown_08610608, 176, 112, 0); - gUnknown_0300127C->menuCursor2SpriteId = CreateSprite(&gUnknown_08610620, 176, 144, 0); + cursorPos = sFactorySelectScreen->cursorPos; + x = gSprites[sFactorySelectScreen->mons[cursorPos].spriteId].pos1.x; + sFactorySelectScreen->cursorSpriteId = CreateSprite(&gUnknown_086105F0, x, 88, 0); + sFactorySelectScreen->menuCursor1SpriteId = CreateSprite(&gUnknown_08610608, 176, 112, 0); + sFactorySelectScreen->menuCursor2SpriteId = CreateSprite(&gUnknown_08610620, 176, 144, 0); - gSprites[gUnknown_0300127C->menuCursor1SpriteId].invisible = 1; - gSprites[gUnknown_0300127C->menuCursor2SpriteId].invisible = 1; + gSprites[sFactorySelectScreen->menuCursor1SpriteId].invisible = 1; + gSprites[sFactorySelectScreen->menuCursor2SpriteId].invisible = 1; - gSprites[gUnknown_0300127C->menuCursor1SpriteId].centerToCornerVecX = 0; - gSprites[gUnknown_0300127C->menuCursor1SpriteId].centerToCornerVecY = 0; - gSprites[gUnknown_0300127C->menuCursor2SpriteId].centerToCornerVecX = 0; - gSprites[gUnknown_0300127C->menuCursor2SpriteId].centerToCornerVecY = 0; + gSprites[sFactorySelectScreen->menuCursor1SpriteId].centerToCornerVecX = 0; + gSprites[sFactorySelectScreen->menuCursor1SpriteId].centerToCornerVecY = 0; + gSprites[sFactorySelectScreen->menuCursor2SpriteId].centerToCornerVecX = 0; + gSprites[sFactorySelectScreen->menuCursor2SpriteId].centerToCornerVecY = 0; } -void sub_819AB40(void) +static void Select_DestroyAllSprites(void) { u8 i; for (i = 0; i < SELECTABLE_MONS_COUNT; i++) - DestroySprite(&gSprites[gUnknown_0300127C->mons[i].spriteId]); + DestroySprite(&gSprites[sFactorySelectScreen->mons[i].spriteId]); - DestroySprite(&gSprites[gUnknown_0300127C->cursorSpriteId]); - DestroySprite(&gSprites[gUnknown_0300127C->menuCursor1SpriteId]); - DestroySprite(&gSprites[gUnknown_0300127C->menuCursor2SpriteId]); + DestroySprite(&gSprites[sFactorySelectScreen->cursorSpriteId]); + DestroySprite(&gSprites[sFactorySelectScreen->menuCursor1SpriteId]); + DestroySprite(&gSprites[sFactorySelectScreen->menuCursor2SpriteId]); } -void UpdateBallCursorPosition(s8 direction) +static void Select_UpdateBallCursorPosition(s8 direction) { u8 cursorPos; if (direction > 0) // Move cursor right. { - if (gUnknown_0300127C->cursorPos != SELECTABLE_MONS_COUNT - 1) - gUnknown_0300127C->cursorPos++; + if (sFactorySelectScreen->cursorPos != SELECTABLE_MONS_COUNT - 1) + sFactorySelectScreen->cursorPos++; else - gUnknown_0300127C->cursorPos = 0; + sFactorySelectScreen->cursorPos = 0; } else // Move cursor left. { - if (gUnknown_0300127C->cursorPos != 0) - gUnknown_0300127C->cursorPos--; + if (sFactorySelectScreen->cursorPos != 0) + sFactorySelectScreen->cursorPos--; else - gUnknown_0300127C->cursorPos = SELECTABLE_MONS_COUNT - 1; + sFactorySelectScreen->cursorPos = SELECTABLE_MONS_COUNT - 1; } - cursorPos = gUnknown_0300127C->cursorPos; - gSprites[gUnknown_0300127C->cursorSpriteId].pos1.x = gSprites[gUnknown_0300127C->mons[cursorPos].spriteId].pos1.x; + cursorPos = sFactorySelectScreen->cursorPos; + gSprites[sFactorySelectScreen->cursorSpriteId].pos1.x = gSprites[sFactorySelectScreen->mons[cursorPos].spriteId].pos1.x; } -void UpdateMenuCursorPosition(s8 direction) +static void Select_UpdateMenuCursorPosition(s8 direction) { if (direction > 0) // Move cursor down. { - if (gUnknown_0300127C->menuCursorPos != MENU_OPTIONS_COUNT - 1) - gUnknown_0300127C->menuCursorPos++; + if (sFactorySelectScreen->menuCursorPos != MENU_OPTIONS_COUNT - 1) + sFactorySelectScreen->menuCursorPos++; else - gUnknown_0300127C->menuCursorPos = 0; + sFactorySelectScreen->menuCursorPos = 0; } else // Move cursor up. { - if (gUnknown_0300127C->menuCursorPos != 0) - gUnknown_0300127C->menuCursorPos--; + if (sFactorySelectScreen->menuCursorPos != 0) + sFactorySelectScreen->menuCursorPos--; else - gUnknown_0300127C->menuCursorPos = MENU_OPTIONS_COUNT - 1; + sFactorySelectScreen->menuCursorPos = MENU_OPTIONS_COUNT - 1; } - gSprites[gUnknown_0300127C->menuCursor1SpriteId].pos1.y = (gUnknown_0300127C->menuCursorPos * 16) + 112; - gSprites[gUnknown_0300127C->menuCursor2SpriteId].pos1.y = (gUnknown_0300127C->menuCursorPos * 16) + 112; + gSprites[sFactorySelectScreen->menuCursor1SpriteId].pos1.y = (sFactorySelectScreen->menuCursorPos * 16) + 112; + gSprites[sFactorySelectScreen->menuCursor2SpriteId].pos1.y = (sFactorySelectScreen->menuCursorPos * 16) + 112; } -void UpdateYesNoCursorPosition(s8 direction) +static void Select_UpdateYesNoCursorPosition(s8 direction) { if (direction > 0) // Move cursor down. { - if (gUnknown_0300127C->yesNoCursorPos != 1) - gUnknown_0300127C->yesNoCursorPos++; + if (sFactorySelectScreen->yesNoCursorPos != 1) + sFactorySelectScreen->yesNoCursorPos++; else - gUnknown_0300127C->yesNoCursorPos = 0; + sFactorySelectScreen->yesNoCursorPos = 0; } else // Move cursor up. { - if (gUnknown_0300127C->yesNoCursorPos != 0) - gUnknown_0300127C->yesNoCursorPos--; + if (sFactorySelectScreen->yesNoCursorPos != 0) + sFactorySelectScreen->yesNoCursorPos--; else - gUnknown_0300127C->yesNoCursorPos = 1; + sFactorySelectScreen->yesNoCursorPos = 1; } - gSprites[gUnknown_0300127C->menuCursor1SpriteId].pos1.y = (gUnknown_0300127C->yesNoCursorPos * 16) + 112; - gSprites[gUnknown_0300127C->menuCursor2SpriteId].pos1.y = (gUnknown_0300127C->yesNoCursorPos * 16) + 112; + gSprites[sFactorySelectScreen->menuCursor1SpriteId].pos1.y = (sFactorySelectScreen->yesNoCursorPos * 16) + 112; + gSprites[sFactorySelectScreen->menuCursor2SpriteId].pos1.y = (sFactorySelectScreen->yesNoCursorPos * 16) + 112; } -void HandleMonSelectionChange(void) +static void Select_HandleMonSelectionChange(void) { u8 i, paletteNum; - u8 cursorPos = gUnknown_0300127C->cursorPos; - if (gUnknown_0300127C->mons[cursorPos].selectedId) // Deselect a mon. + u8 cursorPos = sFactorySelectScreen->cursorPos; + if (sFactorySelectScreen->mons[cursorPos].selectedId) // Deselect a mon. { paletteNum = IndexOfSpritePaletteTag(TAG_PAL_BALL_GREY); - if (gUnknown_0300127C->selectingMonsState == 3 && gUnknown_0300127C->mons[cursorPos].selectedId == 1) + if (sFactorySelectScreen->selectingMonsState == 3 && sFactorySelectScreen->mons[cursorPos].selectedId == 1) { for (i = 0; i < SELECTABLE_MONS_COUNT; i++) { - if (gUnknown_0300127C->mons[i].selectedId == 2) + if (sFactorySelectScreen->mons[i].selectedId == 2) break; } if (i == SELECTABLE_MONS_COUNT) return; else - gUnknown_0300127C->mons[i].selectedId = 1; + sFactorySelectScreen->mons[i].selectedId = 1; } - gUnknown_0300127C->mons[cursorPos].selectedId = 0; - gUnknown_0300127C->selectingMonsState--; + sFactorySelectScreen->mons[cursorPos].selectedId = 0; + sFactorySelectScreen->selectingMonsState--; } else // Select a mon. { paletteNum = IndexOfSpritePaletteTag(TAG_PAL_BALL_SELECTED); - gUnknown_0300127C->mons[cursorPos].selectedId = gUnknown_0300127C->selectingMonsState; - gUnknown_0300127C->selectingMonsState++; + sFactorySelectScreen->mons[cursorPos].selectedId = sFactorySelectScreen->selectingMonsState; + sFactorySelectScreen->selectingMonsState++; } - gSprites[gUnknown_0300127C->mons[cursorPos].spriteId].oam.paletteNum = paletteNum; + gSprites[sFactorySelectScreen->mons[cursorPos].spriteId].oam.paletteNum = paletteNum; } -void SetBallSpritePaletteNum(u8 id) +static void Select_SetBallSpritePaletteNum(u8 id) { u8 palNum; - if (gUnknown_0300127C->mons[id].selectedId) + if (sFactorySelectScreen->mons[id].selectedId) palNum = IndexOfSpritePaletteTag(TAG_PAL_BALL_SELECTED); else palNum = IndexOfSpritePaletteTag(TAG_PAL_BALL_GREY); - gSprites[gUnknown_0300127C->mons[id].spriteId].oam.paletteNum = palNum; + gSprites[sFactorySelectScreen->mons[id].spriteId].oam.paletteNum = palNum; } -void Task_FromSelectScreenToSummaryScreen(u8 taskId) +static void Task_FromSelectScreenToSummaryScreen(u8 taskId) { u8 i; u8 currMonId; @@ -534,9 +585,9 @@ void Task_FromSelectScreenToSummaryScreen(u8 taskId) case 7: if (!gPaletteFade.active) { - DestroyTask(gUnknown_0300127C->unk2A1); - sub_819F444(gUnknown_0300127C->unk298, &gUnknown_0300127C->unk2A0); - sub_819AB40(); + DestroyTask(sFactorySelectScreen->palBlendTaskId); + sub_819F444(sFactorySelectScreen->unk294[1], &sFactorySelectScreen->unk2A0); + Select_DestroyAllSprites(); FREE_AND_SET_NULL(gUnknown_0203CE2C); FREE_AND_SET_NULL(gUnknown_0203CE30); FREE_AND_SET_NULL(gUnknown_0203CE34); @@ -546,21 +597,21 @@ void Task_FromSelectScreenToSummaryScreen(u8 taskId) } break; case 8: - gUnknown_0300127C->unk2A4 = gPlttBufferUnfaded[228]; + sFactorySelectScreen->unk2A4 = gPlttBufferUnfaded[228]; DestroyTask(taskId); - gUnknown_0300127C->fromSummaryScreen = TRUE; - currMonId = gUnknown_0300127C->cursorPos; + sFactorySelectScreen->fromSummaryScreen = TRUE; + currMonId = sFactorySelectScreen->cursorPos; sFactorySelectMons = AllocZeroed(sizeof(struct Pokemon) * SELECTABLE_MONS_COUNT); for (i = 0; i < SELECTABLE_MONS_COUNT; i++) - sFactorySelectMons[i] = gUnknown_0300127C->mons[i].monData; - ShowPokemonSummaryScreen(1, sFactorySelectMons, currMonId, SELECTABLE_MONS_COUNT - 1, sub_819A514); + sFactorySelectMons[i] = sFactorySelectScreen->mons[i].monData; + ShowPokemonSummaryScreen(1, sFactorySelectMons, currMonId, SELECTABLE_MONS_COUNT - 1, CB2_InitSelectScreen); break; } } -void Task_CloseSelectionScreen(u8 taskId) +static void Task_CloseSelectionScreen(u8 taskId) { - if (gUnknown_0300127C->unk2A0 != 1) + if (sFactorySelectScreen->unk2A0 != 1) { switch (gTasks[taskId].data[0]) { @@ -571,13 +622,13 @@ void Task_CloseSelectionScreen(u8 taskId) case 1: if (!UpdatePaletteFade()) { - CopySelectedMonsToPlayerParty(); - DestroyTask(gUnknown_0300127C->unk2A1); - sub_819AB40(); + Select_CopyMonsToPlayerParty(); + DestroyTask(sFactorySelectScreen->palBlendTaskId); + Select_DestroyAllSprites(); FREE_AND_SET_NULL(gUnknown_0203CE2C); FREE_AND_SET_NULL(gUnknown_0203CE34); FREE_AND_SET_NULL(gUnknown_0203CE38); - FREE_AND_SET_NULL(gUnknown_0300127C); + FREE_AND_SET_NULL(sFactorySelectScreen); FreeAllWindowBuffers(); SetMainCallback2(CB2_ReturnToFieldContinueScript); DestroyTask(taskId); @@ -587,9 +638,9 @@ void Task_CloseSelectionScreen(u8 taskId) } } -void Task_HandleSelectionScreenYesNo(u8 taskId) +static void Task_HandleSelectionScreenYesNo(u8 taskId) { - if (gUnknown_0300127C->unk2A0 != 1) + if (sFactorySelectScreen->unk2A0 != 1) { switch (gTasks[taskId].data[0]) { @@ -598,14 +649,14 @@ void Task_HandleSelectionScreenYesNo(u8 taskId) gTasks[taskId].data[0] = 4; break; case 4: - sub_819B8D4(); + Select_ShowYesNoOptions(); gTasks[taskId].data[0] = 5; break; case 5: if (gMain.newKeys & A_BUTTON) { PlaySE(SE_SELECT); - if (gUnknown_0300127C->yesNoCursorPos == 0) + if (sFactorySelectScreen->yesNoCursorPos == 0) { sub_819C568(); gTasks[taskId].data[0] = 0; @@ -615,7 +666,7 @@ void Task_HandleSelectionScreenYesNo(u8 taskId) { sub_819B958(4); sub_819BC9C(); - gUnknown_0300127C->unk2A2 = 1; + sFactorySelectScreen->unk2A2 = TRUE; gTasks[taskId].data[0] = 1; gTasks[taskId].func = Task_HandleSelectionScreenChooseMons; } @@ -625,39 +676,39 @@ void Task_HandleSelectionScreenYesNo(u8 taskId) PlaySE(SE_SELECT); sub_819B958(4); sub_819BC9C(); - gUnknown_0300127C->unk2A2 = 1; + sFactorySelectScreen->unk2A2 = TRUE; gTasks[taskId].data[0] = 1; gTasks[taskId].func = Task_HandleSelectionScreenChooseMons; } else if (gMain.newAndRepeatedKeys & DPAD_UP) { PlaySE(SE_SELECT); - UpdateYesNoCursorPosition(-1); + Select_UpdateYesNoCursorPosition(-1); } else if (gMain.newAndRepeatedKeys & DPAD_DOWN) { PlaySE(SE_SELECT); - UpdateYesNoCursorPosition(1); + Select_UpdateYesNoCursorPosition(1); } break; } } } -void Task_HandleSelectionScreenMenu(u8 taskId) +static void Task_HandleSelectionScreenMenu(u8 taskId) { switch (gTasks[taskId].data[0]) { case 2: - if (!gUnknown_0300127C->fromSummaryScreen) - sub_819F2B4(&gUnknown_0300127C->unk298.field1, &gUnknown_0300127C->unk2A0, 0); + if (!sFactorySelectScreen->fromSummaryScreen) + sub_819F2B4(&sFactorySelectScreen->unk294[1].field1, &sFactorySelectScreen->unk2A0, 0); gTasks[taskId].data[0] = 9; break; case 9: - if (gUnknown_0300127C->unk2A0 != 1) + if (sFactorySelectScreen->unk2A0 != 1) { - sub_819B844(); - gUnknown_0300127C->fromSummaryScreen = FALSE; + Select_ShowMenuOptions(); + sFactorySelectScreen->fromSummaryScreen = FALSE; gTasks[taskId].data[0] = 3; } break; @@ -666,10 +717,10 @@ void Task_HandleSelectionScreenMenu(u8 taskId) { u8 retVal; PlaySE(SE_SELECT); - retVal = sub_819BC04(); + retVal = Select_RunMenuOptionFunc(); if (retVal == 1) { - gUnknown_0300127C->unk2A2 = 1; + sFactorySelectScreen->unk2A2 = TRUE; gTasks[taskId].data[0] = 1; gTasks[taskId].func = Task_HandleSelectionScreenChooseMons; } @@ -692,45 +743,45 @@ void Task_HandleSelectionScreenMenu(u8 taskId) else if (gMain.newKeys & B_BUTTON) { PlaySE(SE_SELECT); - sub_819F3F8(gUnknown_0300127C->unk298, &gUnknown_0300127C->unk2A0, 0); + sub_819F3F8(sFactorySelectScreen->unk294[1], &sFactorySelectScreen->unk2A0, 0); sub_819B958(3); - gUnknown_0300127C->unk2A2 = 1; + sFactorySelectScreen->unk2A2 = TRUE; gTasks[taskId].data[0] = 1; gTasks[taskId].func = Task_HandleSelectionScreenChooseMons; } else if (gMain.newAndRepeatedKeys & DPAD_UP) { PlaySE(SE_SELECT); - UpdateMenuCursorPosition(-1); + Select_UpdateMenuCursorPosition(-1); } else if (gMain.newAndRepeatedKeys & DPAD_DOWN) { PlaySE(SE_SELECT); - UpdateMenuCursorPosition(1); + Select_UpdateMenuCursorPosition(1); } break; case 12: if (!gPaletteFade.active) { - if (gUnknown_0300127C->fromSummaryScreen == TRUE) + if (sFactorySelectScreen->fromSummaryScreen == TRUE) { - gPlttBufferFaded[228] = gUnknown_0300127C->unk2A4; + gPlttBufferFaded[228] = sFactorySelectScreen->unk2A4; gPlttBufferUnfaded[228] = gPlttBufferUnfaded[244]; } - gUnknown_0300127C->fromSummaryScreen = FALSE; + sFactorySelectScreen->fromSummaryScreen = FALSE; gTasks[taskId].data[0] = 3; } break; case 13: - sub_819B844(); + Select_ShowMenuOptions(); gTasks[taskId].data[0] = 12; break; } } -void Task_HandleSelectionScreenChooseMons(u8 taskId) +static void Task_HandleSelectionScreenChooseMons(u8 taskId) { - if (gUnknown_0300127C->unk2A0 != 1) + if (sFactorySelectScreen->unk2A0 != 1) { switch (gTasks[taskId].data[0]) { @@ -738,39 +789,39 @@ void Task_HandleSelectionScreenChooseMons(u8 taskId) if (!gPaletteFade.active) { gTasks[taskId].data[0] = 1; - gUnknown_0300127C->unk2A2 = 1; + sFactorySelectScreen->unk2A2 = TRUE; } break; case 1: if (gMain.newKeys & A_BUTTON) { PlaySE(SE_SELECT); - gUnknown_0300127C->unk2A2 = 0; + sFactorySelectScreen->unk2A2 = FALSE; gTasks[taskId].data[0] = 2; gTasks[taskId].func = Task_HandleSelectionScreenMenu; } else if (gMain.newAndRepeatedKeys & DPAD_LEFT) { PlaySE(SE_SELECT); - UpdateBallCursorPosition(-1); - PrintMonCategory(); - PrintMonSpecies(); + Select_UpdateBallCursorPosition(-1); + Select_PrintMonCategory(); + Select_PrintMonSpecies(); } else if (gMain.newAndRepeatedKeys & DPAD_RIGHT) { PlaySE(SE_SELECT); - UpdateBallCursorPosition(1); - PrintMonCategory(); - PrintMonSpecies(); + Select_UpdateBallCursorPosition(1); + Select_PrintMonCategory(); + Select_PrintMonSpecies(); } break; case 11: if (gMain.newKeys & A_BUTTON) { PlaySE(SE_SELECT); - sub_819F3F8(gUnknown_0300127C->unk298, &gUnknown_0300127C->unk2A0, 0); - PrintSelectMonString(); - gUnknown_0300127C->unk2A2 = 1; + sub_819F3F8(sFactorySelectScreen->unk294[1], &sFactorySelectScreen->unk2A0, 0); + Select_PrintSelectMonString(); + sFactorySelectScreen->unk2A2 = TRUE; gTasks[taskId].data[0] = 1; } break; @@ -778,7 +829,7 @@ void Task_HandleSelectionScreenChooseMons(u8 taskId) } } -void CreateFrontierFactorySelectableMons(u8 firstMonId) +static void CreateFrontierFactorySelectableMons(u8 firstMonId) { u8 i, j = 0; u8 ivs = 0; @@ -802,12 +853,12 @@ void CreateFrontierFactorySelectableMons(u8 firstMonId) for (i = 0; i < SELECTABLE_MONS_COUNT; i++) { u16 monSetId = gSaveBlock2Ptr->frontier.field_E70[i].monId; - gUnknown_0300127C->mons[i + firstMonId].monSetId = monSetId; + sFactorySelectScreen->mons[i + firstMonId].monSetId = monSetId; if (i < var_28) ivs = sub_81A6CA8(var_2C + 1, 0); else ivs = sub_81A6CA8(var_2C, 0); - CreateMonWithEVSpreadPersonalityOTID(&gUnknown_0300127C->mons[i + firstMonId].monData, + CreateMonWithEVSpreadPersonalityOTID(&sFactorySelectScreen->mons[i + firstMonId].monData, gFacilityTrainerMons[monSetId].species, level, gFacilityTrainerMons[monSetId].nature, @@ -816,13 +867,13 @@ void CreateFrontierFactorySelectableMons(u8 firstMonId) otId); happiness = 0; for (j = 0; j < 4; j++) - SetMonMoveAvoidReturn(&gUnknown_0300127C->mons[i + firstMonId].monData, gFacilityTrainerMons[monSetId].moves[j], j); - SetMonData(&gUnknown_0300127C->mons[i + firstMonId].monData, MON_DATA_FRIENDSHIP, &happiness); - SetMonData(&gUnknown_0300127C->mons[i + firstMonId].monData, MON_DATA_HELD_ITEM, &gBattleFrontierHeldItems[gFacilityTrainerMons[monSetId].itemTableId]); + SetMonMoveAvoidReturn(&sFactorySelectScreen->mons[i + firstMonId].monData, gFacilityTrainerMons[monSetId].moves[j], j); + SetMonData(&sFactorySelectScreen->mons[i + firstMonId].monData, MON_DATA_FRIENDSHIP, &happiness); + SetMonData(&sFactorySelectScreen->mons[i + firstMonId].monData, MON_DATA_HELD_ITEM, &gBattleFrontierHeldItems[gFacilityTrainerMons[monSetId].itemTableId]); } } -void CreateTentFactorySelectableMons(u8 firstMonId) +static void CreateTentFactorySelectableMons(u8 firstMonId) { u8 i, j; u8 ivs = 0; @@ -836,8 +887,8 @@ void CreateTentFactorySelectableMons(u8 firstMonId) for (i = 0; i < SELECTABLE_MONS_COUNT; i++) { u16 monSetId = gSaveBlock2Ptr->frontier.field_E70[i].monId; - gUnknown_0300127C->mons[i + firstMonId].monSetId = monSetId; - CreateMonWithEVSpreadPersonalityOTID(&gUnknown_0300127C->mons[i + firstMonId].monData, + sFactorySelectScreen->mons[i + firstMonId].monSetId = monSetId; + CreateMonWithEVSpreadPersonalityOTID(&sFactorySelectScreen->mons[i + firstMonId].monData, gFacilityTrainerMons[monSetId].species, level, gFacilityTrainerMons[monSetId].nature, @@ -846,13 +897,13 @@ void CreateTentFactorySelectableMons(u8 firstMonId) otId); happiness = 0; for (j = 0; j < 4; j++) - SetMonMoveAvoidReturn(&gUnknown_0300127C->mons[i + firstMonId].monData, gFacilityTrainerMons[monSetId].moves[j], j); - SetMonData(&gUnknown_0300127C->mons[i + firstMonId].monData, MON_DATA_FRIENDSHIP, &happiness); - SetMonData(&gUnknown_0300127C->mons[i + firstMonId].monData, MON_DATA_HELD_ITEM, &gBattleFrontierHeldItems[gFacilityTrainerMons[monSetId].itemTableId]); + SetMonMoveAvoidReturn(&sFactorySelectScreen->mons[i + firstMonId].monData, gFacilityTrainerMons[monSetId].moves[j], j); + SetMonData(&sFactorySelectScreen->mons[i + firstMonId].monData, MON_DATA_FRIENDSHIP, &happiness); + SetMonData(&sFactorySelectScreen->mons[i + firstMonId].monData, MON_DATA_HELD_ITEM, &gBattleFrontierHeldItems[gFacilityTrainerMons[monSetId].itemTableId]); } } -void CopySelectedMonsToPlayerParty(void) +static void Select_CopyMonsToPlayerParty(void) { u8 i, j; @@ -860,10 +911,10 @@ void CopySelectedMonsToPlayerParty(void) { for (j = 0; j < SELECTABLE_MONS_COUNT; j++) { - if (gUnknown_0300127C->mons[j].selectedId == i + 1) + if (sFactorySelectScreen->mons[j].selectedId == i + 1) { - gPlayerParty[i] = gUnknown_0300127C->mons[j].monData; - gSaveBlock2Ptr->frontier.field_E70[i].monId = gUnknown_0300127C->mons[j].monSetId; + gPlayerParty[i] = sFactorySelectScreen->mons[j].monData; + gSaveBlock2Ptr->frontier.field_E70[i].monId = sFactorySelectScreen->mons[j].monSetId; gSaveBlock2Ptr->frontier.field_E70[i].personality = GetMonData(&gPlayerParty[i].box, MON_DATA_PERSONALITY, NULL); gSaveBlock2Ptr->frontier.field_E70[i].abilityBit = GetBoxMonData(&gPlayerParty[i].box, MON_DATA_ALT_ABILITY, NULL); gSaveBlock2Ptr->frontier.field_E70[i].ivs = GetBoxMonData(&gPlayerParty[i].box, MON_DATA_ATK_IV, NULL); @@ -874,80 +925,77 @@ void CopySelectedMonsToPlayerParty(void) CalculatePlayerPartyCount(); } -void sub_819B844(void) +static void Select_ShowMenuOptions(void) { - if (!gUnknown_0300127C->fromSummaryScreen) - gUnknown_0300127C->menuCursorPos = 0; + if (!sFactorySelectScreen->fromSummaryScreen) + sFactorySelectScreen->menuCursorPos = 0; - gSprites[gUnknown_0300127C->menuCursor1SpriteId].pos1.x = 176; - gSprites[gUnknown_0300127C->menuCursor1SpriteId].pos1.y = (gUnknown_0300127C->menuCursorPos * 16) + 112; - gSprites[gUnknown_0300127C->menuCursor2SpriteId].pos1.x = 208; - gSprites[gUnknown_0300127C->menuCursor2SpriteId].pos1.y = (gUnknown_0300127C->menuCursorPos * 16) + 112; + gSprites[sFactorySelectScreen->menuCursor1SpriteId].pos1.x = 176; + gSprites[sFactorySelectScreen->menuCursor1SpriteId].pos1.y = (sFactorySelectScreen->menuCursorPos * 16) + 112; + gSprites[sFactorySelectScreen->menuCursor2SpriteId].pos1.x = 208; + gSprites[sFactorySelectScreen->menuCursor2SpriteId].pos1.y = (sFactorySelectScreen->menuCursorPos * 16) + 112; - gSprites[gUnknown_0300127C->menuCursor1SpriteId].invisible = 0; - gSprites[gUnknown_0300127C->menuCursor2SpriteId].invisible = 0; + gSprites[sFactorySelectScreen->menuCursor1SpriteId].invisible = 0; + gSprites[sFactorySelectScreen->menuCursor2SpriteId].invisible = 0; - PrintSelectableMenuOptions(); + Select_PrintMenuOptions(); } -void sub_819B8D4(void) +static void Select_ShowYesNoOptions(void) { - gUnknown_0300127C->yesNoCursorPos = 0; + sFactorySelectScreen->yesNoCursorPos = 0; - gSprites[gUnknown_0300127C->menuCursor1SpriteId].pos1.x = 176; - gSprites[gUnknown_0300127C->menuCursor1SpriteId].pos1.y = 112; - gSprites[gUnknown_0300127C->menuCursor2SpriteId].pos1.x = 208; - gSprites[gUnknown_0300127C->menuCursor2SpriteId].pos1.y = 112; + gSprites[sFactorySelectScreen->menuCursor1SpriteId].pos1.x = 176; + gSprites[sFactorySelectScreen->menuCursor1SpriteId].pos1.y = 112; + gSprites[sFactorySelectScreen->menuCursor2SpriteId].pos1.x = 208; + gSprites[sFactorySelectScreen->menuCursor2SpriteId].pos1.y = 112; - gSprites[gUnknown_0300127C->menuCursor1SpriteId].invisible = 0; - gSprites[gUnknown_0300127C->menuCursor2SpriteId].invisible = 0; + gSprites[sFactorySelectScreen->menuCursor1SpriteId].invisible = 0; + gSprites[sFactorySelectScreen->menuCursor2SpriteId].invisible = 0; - PrintSelectableYesNo(); + Select_PrintYesNoOptions(); } -void sub_819B958(u8 windowId) +static void sub_819B958(u8 windowId) { - gSprites[gUnknown_0300127C->menuCursor1SpriteId].invisible = 1; - gSprites[gUnknown_0300127C->menuCursor2SpriteId].invisible = 1; + gSprites[sFactorySelectScreen->menuCursor1SpriteId].invisible = 1; + gSprites[sFactorySelectScreen->menuCursor2SpriteId].invisible = 1; FillWindowPixelBuffer(windowId, 0); CopyWindowToVram(windowId, 2); ClearWindowTilemap(windowId); } -void PrintRentalPkmnString(void) +static void Select_PrintRentalPkmnString(void) { FillWindowPixelBuffer(0, 0); PrintTextOnWindow(0, 1, gText_RentalPkmn2, 2, 1, 0, NULL); CopyWindowToVram(0, 3); } -extern const u8 gUnknown_08610479[]; -extern const u8 gUnknown_08610476[]; - -void PrintMonSpecies(void) +static void Select_PrintMonSpecies(void) { u16 species; u8 x; - u8 monId = gUnknown_0300127C->cursorPos; + u8 monId = sFactorySelectScreen->cursorPos; FillWindowPixelBuffer(1, 0); - species = GetMonData(&gUnknown_0300127C->mons[monId].monData, MON_DATA_SPECIES, NULL); + species = GetMonData(&sFactorySelectScreen->mons[monId].monData, MON_DATA_SPECIES, NULL); StringCopy(gStringVar4, gSpeciesNames[species]); x = GetStringRightAlignXOffset(1, gStringVar4, 86); AddTextPrinterParameterized3(1, 1, x, 1, gUnknown_08610479, 0, gStringVar4); CopyWindowToVram(1, 2); } -void PrintSelectMonString(void) +static void Select_PrintSelectMonString(void) { const u8 *str = NULL; FillWindowPixelBuffer(2, 0); - if (gUnknown_0300127C->selectingMonsState == 1) + if (sFactorySelectScreen->selectingMonsState == 1) str = gText_SelectFirstPkmn; - else if (gUnknown_0300127C->selectingMonsState == 2) + else if (sFactorySelectScreen->selectingMonsState == 2) str = gText_SelectSecondPkmn; - else if (gUnknown_0300127C->selectingMonsState == 3) + else if (sFactorySelectScreen->selectingMonsState == 3) str = gText_SelectThirdPkmn; else str = gText_TheseThreePkmnOkay; @@ -956,16 +1004,16 @@ void PrintSelectMonString(void) CopyWindowToVram(2, 2); } -void PrintCantSelectSameMon(void) +static void Select_PrintCantSelectSameMon(void) { FillWindowPixelBuffer(2, 0); PrintTextOnWindow(2, 1, gText_CantSelectSamePkmn, 2, 5, 0, NULL); CopyWindowToVram(2, 2); } -void PrintSelectableMenuOptions(void) +static void Select_PrintMenuOptions(void) { - u8 selectedId = gUnknown_0300127C->mons[gUnknown_0300127C->cursorPos].selectedId; + u8 selectedId = sFactorySelectScreen->mons[sFactorySelectScreen->cursorPos].selectedId; PutWindowTilemap(3); FillWindowPixelBuffer(3, 0); @@ -979,7 +1027,7 @@ void PrintSelectableMenuOptions(void) CopyWindowToVram(3, 3); } -void PrintSelectableYesNo(void) +static void Select_PrintYesNoOptions(void) { PutWindowTilemap(4); FillWindowPixelBuffer(4, 0); @@ -988,72 +1036,70 @@ void PrintSelectableYesNo(void) CopyWindowToVram(4, 3); } -extern u8 (* const gUnknown_0861041C[])(void); - -u8 sub_819BC04(void) +static u8 Select_RunMenuOptionFunc(void) { - gUnknown_030062E8 = gUnknown_0861041C[gUnknown_0300127C->menuCursorPos]; + gUnknown_030062E8 = sSelect_MenuOptionFuncs[sFactorySelectScreen->menuCursorPos]; return gUnknown_030062E8(); } -u8 sub_819BC30(void) +static u8 Select_OptionRentDeselect(void) { - u8 selectedId = gUnknown_0300127C->mons[gUnknown_0300127C->cursorPos].selectedId; - u16 monSetId = gUnknown_0300127C->mons[gUnknown_0300127C->cursorPos].monSetId; - if (selectedId == 0 && !sub_819C634(monSetId)) + u8 selectedId = sFactorySelectScreen->mons[sFactorySelectScreen->cursorPos].selectedId; + u16 monSetId = sFactorySelectScreen->mons[sFactorySelectScreen->cursorPos].monSetId; + if (selectedId == 0 && !Select_AreSpeciesValid(monSetId)) { - PrintCantSelectSameMon(); + Select_PrintCantSelectSameMon(); sub_819B958(3); return 3; } else { - sub_819F3F8(gUnknown_0300127C->unk298, &gUnknown_0300127C->unk2A0, 0); - HandleMonSelectionChange(); - PrintSelectMonString(); + sub_819F3F8(sFactorySelectScreen->unk294[1], &sFactorySelectScreen->unk2A0, 0); + Select_HandleMonSelectionChange(); + Select_PrintSelectMonString(); sub_819B958(3); - if (gUnknown_0300127C->selectingMonsState > 3) + if (sFactorySelectScreen->selectingMonsState > 3) return 2; else return 1; } } -u8 sub_819BC9C(void) +static u8 sub_819BC9C(void) { sub_819C568(); - HandleMonSelectionChange(); - PrintSelectMonString(); + Select_HandleMonSelectionChange(); + Select_PrintSelectMonString(); sub_819B958(3); - if (gUnknown_0300127C->selectingMonsState > 3) + if (sFactorySelectScreen->selectingMonsState > 3) return 2; else return 1; } -u8 sub_819BCCC(void) +static u8 Select_OptionSummary(void) { return 0; } -u8 sub_819BCD0(void) +static u8 Select_OptionOthers(void) { - sub_819F3F8(gUnknown_0300127C->unk298, &gUnknown_0300127C->unk2A0, 0); + sub_819F3F8(sFactorySelectScreen->unk294[1], &sFactorySelectScreen->unk2A0, 0); sub_819B958(3); return 1; } -void PrintMonCategory(void) +static void Select_PrintMonCategory(void) { u16 species; u8 text[30]; u8 x; - u8 monId = gUnknown_0300127C->cursorPos; + u8 monId = sFactorySelectScreen->cursorPos; if (monId < SELECTABLE_MONS_COUNT) { PutWindowTilemap(5); FillWindowPixelBuffer(5, 0); - species = GetMonData(&gUnknown_0300127C->mons[monId].monData, MON_DATA_SPECIES, NULL); + species = GetMonData(&sFactorySelectScreen->mons[monId].monData, MON_DATA_SPECIES, NULL); CopyMonCategoryText(SpeciesToNationalPokedexNum(species), text); x = GetStringRightAlignXOffset(1, text, 0x76); PrintTextOnWindow(5, 1, text, x, 1, 0, NULL); @@ -1063,43 +1109,305 @@ void PrintMonCategory(void) void sub_819BD70(void) { - u8 monId = gUnknown_0300127C->cursorPos; - struct Pokemon *mon = &gUnknown_0300127C->mons[monId].monData; + u8 monId = sFactorySelectScreen->cursorPos; + struct Pokemon *mon = &sFactorySelectScreen->mons[monId].monData; u16 species = GetMonData(mon, MON_DATA_SPECIES, NULL); u32 personality = GetMonData(mon, MON_DATA_PERSONALITY, NULL); u32 otId = GetMonData(mon, MON_DATA_OT_ID, NULL); - gUnknown_0300127C->unk298.field0 = CreateMonPicSprite_HandleDeoxys(species, otId, personality, TRUE, 88, 32, 15, 0xFFFF); - gSprites[gUnknown_0300127C->unk298.field0].centerToCornerVecX = 0; - gSprites[gUnknown_0300127C->unk298.field0].centerToCornerVecY = 0; + sFactorySelectScreen->unk294[1].field0 = CreateMonPicSprite_HandleDeoxys(species, otId, personality, TRUE, 88, 32, 15, 0xFFFF); + gSprites[sFactorySelectScreen->unk294[1].field0].centerToCornerVecX = 0; + gSprites[sFactorySelectScreen->unk294[1].field0].centerToCornerVecY = 0; - gUnknown_0300127C->unk2A0 = 0; + sFactorySelectScreen->unk2A0 = 0; } -extern const struct SpriteTemplate gUnknown_08610638; - void sub_819BE20(u8 arg0) { - gUnknown_0300127C->unk2A0 = arg0; + sFactorySelectScreen->unk2A0 = arg0; } -void sub_819BE34(void) +static void Select_ShowCheckedMonSprite(void) { struct Pokemon *mon; u16 species; u32 personality, otId; - gUnknown_0300127C->unk298.field1 = CreateSprite(&gUnknown_08610638, 120, 64, 1); - StartSpriteAffineAnim(&gSprites[gUnknown_0300127C->unk298.field1], 2); + sFactorySelectScreen->unk294[1].field1 = CreateSprite(&gUnknown_08610638, 120, 64, 1); + StartSpriteAffineAnim(&gSprites[sFactorySelectScreen->unk294[1].field1], 2); - mon = &gUnknown_0300127C->mons[gUnknown_0300127C->cursorPos].monData; + mon = &sFactorySelectScreen->mons[sFactorySelectScreen->cursorPos].monData; species = GetMonData(mon, MON_DATA_SPECIES, NULL); personality = GetMonData(mon, MON_DATA_PERSONALITY, NULL); otId = GetMonData(mon, MON_DATA_OT_ID, NULL); - gUnknown_0300127C->unk298.field0 = CreateMonPicSprite_HandleDeoxys(species, otId, personality, TRUE, 88, 32, 15, 0xFFFF); - gSprites[gUnknown_0300127C->unk298.field0].centerToCornerVecX = 0; - gSprites[gUnknown_0300127C->unk298.field0].centerToCornerVecY = 0; + sFactorySelectScreen->unk294[1].field0 = CreateMonPicSprite_HandleDeoxys(species, otId, personality, TRUE, 88, 32, 15, 0xFFFF); + gSprites[sFactorySelectScreen->unk294[1].field0].centerToCornerVecX = 0; + gSprites[sFactorySelectScreen->unk294[1].field0].centerToCornerVecY = 0; - gSprites[gUnknown_0300127C->unk298.field1].invisible = 1; + gSprites[sFactorySelectScreen->unk294[1].field1].invisible = 1; +} + +static void Select_ShowChosenMonsSprites(void) +{ + u8 i, j; + + for (i = 0; i < 3; i++) + { + for (j = 0; j < SELECTABLE_MONS_COUNT; j++) + { + if (sFactorySelectScreen->mons[j].selectedId == i + 1) + { + struct Pokemon *mon = &sFactorySelectScreen->mons[j].monData; + u16 species = GetMonData(mon, MON_DATA_SPECIES, NULL); + u32 personality = GetMonData(mon, MON_DATA_PERSONALITY, NULL); + u32 otId = GetMonData(mon, MON_DATA_OT_ID, NULL); + + sFactorySelectScreen->unk294[i].field0 = CreateMonPicSprite_HandleDeoxys(species, otId, personality, TRUE, (i * 72) + 16, 32, i + 13, 0xFFFF); + gSprites[sFactorySelectScreen->unk294[i].field0].centerToCornerVecX = 0; + gSprites[sFactorySelectScreen->unk294[i].field0].centerToCornerVecY = 0; + break; + } + } + } + sFactorySelectScreen->unk2A0 = 0; +} + +static void sub_819C040(struct Sprite *sprite) +{ + u8 taskId; + + if (sprite->affineAnimEnded + && gSprites[sFactorySelectScreen->unk294[0].field1].affineAnimEnded + && gSprites[sFactorySelectScreen->unk294[2].field1].affineAnimEnded) + { + sprite->invisible = 1; + gSprites[sFactorySelectScreen->unk294[0].field1].invisible = 1; + gSprites[sFactorySelectScreen->unk294[2].field1].invisible = 1; + + taskId = CreateTask(sub_819C1D0, 1); + gTasks[taskId].func(taskId); + + sprite->callback = SpriteCallbackDummy; + } +} + +static void sub_819C100(struct Sprite *sprite) +{ + if (sprite->affineAnimEnded + && gSprites[sFactorySelectScreen->unk294[0].field1].affineAnimEnded + && gSprites[sFactorySelectScreen->unk294[2].field1].affineAnimEnded) + { + FreeOamMatrix(sprite->oam.matrixNum); + FreeOamMatrix(gSprites[sFactorySelectScreen->unk294[0].field1].oam.matrixNum); + FreeOamMatrix(gSprites[sFactorySelectScreen->unk294[2].field1].oam.matrixNum); + + sFactorySelectScreen->unk2A0 = 0; + + DestroySprite(&gSprites[sFactorySelectScreen->unk294[0].field1]); + DestroySprite(&gSprites[sFactorySelectScreen->unk294[2].field1]); + DestroySprite(sprite); + } +} + +static void sub_819C1D0(u8 taskId) +{ + struct Task *task = &gTasks[taskId]; + switch (task->data[0]) + { + case 0: + task->data[3] = 16; + task->data[24] = 224; // BUG: writing outside the array's bounds. + task->data[5] = 64; + task->data[8] = 65; + SetGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_WIN0_ON); + SetGpuReg(REG_OFFSET_WIN0H, WINHV_COORDS(task->data[3], task->data[24])); + SetGpuReg(REG_OFFSET_WIN0V, WINHV_COORDS(task->data[5], task->data[8])); + SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG_ALL | WININ_WIN0_CLR | WININ_WIN0_OBJ); + SetGpuReg(REG_OFFSET_WINOUT, WINOUT_WIN01_BG0 | WINOUT_WIN01_BG1 | WINOUT_WIN01_BG2 | WINOUT_WIN01_CLR | WINOUT_WIN01_OBJ); + break; + case 1: + ShowBg(3); + SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG3 | BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_BG1 | BLDCNT_TGT2_OBJ); + SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(11, 4)); + break; + case 2: + task->data[5] -= 4; + task->data[8] += 4; + if (task->data[5] <= 32 || task->data[8] >= 96) + { + task->data[5] = 32; + task->data[8] = 96; + ClearGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_WIN0_ON); + } + SetGpuReg(REG_OFFSET_WIN0V, WINHV_COORDS(task->data[5], task->data[8])); + if (task->data[5] != 32) + return; + break; + default: + DestroyTask(taskId); + Select_ShowChosenMonsSprites(); + return; + } + task->data[0]++; +} + +static void sub_819C2D4(u8 taskId) +{ + struct Task *task = &gTasks[taskId]; + switch (task->data[0]) + { + default: + HideBg(3); + gSprites[sFactorySelectScreen->unk294[1].field1].invisible = 0; + gSprites[sFactorySelectScreen->unk294[1].field1].callback = sub_819C100; + gSprites[sFactorySelectScreen->unk294[0].field1].invisible = 0; + gSprites[sFactorySelectScreen->unk294[0].field1].callback = SpriteCallbackDummy; + gSprites[sFactorySelectScreen->unk294[2].field1].invisible = 0; + gSprites[sFactorySelectScreen->unk294[2].field1].callback = SpriteCallbackDummy; + StartSpriteAffineAnim(&gSprites[sFactorySelectScreen->unk294[1].field1], 1); + StartSpriteAffineAnim(&gSprites[sFactorySelectScreen->unk294[0].field1], 1); + StartSpriteAffineAnim(&gSprites[sFactorySelectScreen->unk294[2].field1], 1); + ClearGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_WIN0_ON); + DestroyTask(taskId); + break; + case 0: + task->data[3] = 16; + task->data[24] = 224; // BUG: writing outside the array's bounds. + task->data[5] = 32; + task->data[8] = 96; + SetGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_WIN0_ON); + SetGpuReg(REG_OFFSET_WIN0H, WINHV_COORDS(task->data[3], task->data[24])); + SetGpuReg(REG_OFFSET_WIN0V, WINHV_COORDS(task->data[5], task->data[8])); + SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG_ALL | WININ_WIN0_CLR | WININ_WIN0_OBJ); + SetGpuReg(REG_OFFSET_WINOUT, WINOUT_WIN01_BG0 | WINOUT_WIN01_BG1 | WINOUT_WIN01_BG2 | WINOUT_WIN01_CLR | WINOUT_WIN01_OBJ); + task->data[0]++; + break; + case 1: + task->data[5] += 4; + task->data[8] -= 4; + if (task->data[5] >= 64 || task->data[8] <= 65) + { + task->data[5] = 64; + task->data[8] = 65; + } + SetGpuReg(REG_OFFSET_WIN0V, WINHV_COORDS(task->data[5], task->data[8])); + if (task->data[5] == 64) + task->data[0]++; + break; + } +} + +static void sub_819C4B4(void) +{ + sFactorySelectScreen->unk294[1].field1 = CreateSprite(&gUnknown_08610638, 120, 64, 1); + sFactorySelectScreen->unk294[0].field1 = CreateSprite(&gUnknown_08610638, 44, 64, 1); + sFactorySelectScreen->unk294[2].field1 = CreateSprite(&gUnknown_08610638, 196, 64, 1); + + gSprites[sFactorySelectScreen->unk294[1].field1].callback = sub_819C040; + gSprites[sFactorySelectScreen->unk294[0].field1].callback = SpriteCallbackDummy; + gSprites[sFactorySelectScreen->unk294[2].field1].callback = SpriteCallbackDummy; + + sFactorySelectScreen->unk2A0 = 1; +} + +static void sub_819C568(void) +{ + u8 taskId; + + FreeAndDestroyMonPicSprite(sFactorySelectScreen->unk294[0].field0); + FreeAndDestroyMonPicSprite(sFactorySelectScreen->unk294[1].field0); + FreeAndDestroyMonPicSprite(sFactorySelectScreen->unk294[2].field0); + + taskId = CreateTask(sub_819C2D4, 1); + gTasks[taskId].func(taskId); + + sFactorySelectScreen->unk2A0 = 1; +} + +static void Select_SetWinRegs(s16 mWin0H, s16 nWin0H, s16 mWin0V, s16 nWin0V) +{ + SetGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_WIN0_ON); + SetGpuReg(REG_OFFSET_WIN0H, WINHV_COORDS(mWin0H, nWin0H)); + SetGpuReg(REG_OFFSET_WIN0V, WINHV_COORDS(mWin0V, nWin0V)); + SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG_ALL | WININ_WIN0_CLR | WININ_WIN0_OBJ); + SetGpuReg(REG_OFFSET_WINOUT, WINOUT_WIN01_BG0 | WINOUT_WIN01_BG1 | WINOUT_WIN01_BG2 | WINOUT_WIN01_CLR | WINOUT_WIN01_OBJ); +} + +static bool32 Select_AreSpeciesValid(u16 monSetId) +{ + u8 i, j; + u32 species = gFacilityTrainerMons[monSetId].species; + u8 selectState = sFactorySelectScreen->selectingMonsState; + + for (i = 1; i < selectState; i++) + { + for (j = 0; j < SELECTABLE_MONS_COUNT; j++) + { + if (sFactorySelectScreen->mons[j].selectedId == i) + { + if (gFacilityTrainerMons[sFactorySelectScreen->mons[j].monSetId].species == species) + return FALSE; + + break; + } + } + } + + return TRUE; +} + +static void Task_SelectBlendPalette(u8 taskId) +{ + switch (gTasks[taskId].data[0]) + { + case 0: + sFactorySelectScreen->unk2A7 = 0; + sFactorySelectScreen->unk2A8 = 0; + sFactorySelectScreen->unk2A6 = TRUE; + gTasks[taskId].data[0] = 1; + break; + case 1: + if (sFactorySelectScreen->unk2A2) + { + if (sFactorySelectScreen->unk2A9) + { + gTasks[taskId].data[0] = 2; + } + else + { + sFactorySelectScreen->unk2A7++; + if (sFactorySelectScreen->unk2A7 > 6) + { + sFactorySelectScreen->unk2A7 = 0; + if (!sFactorySelectScreen->unk2A6) + sFactorySelectScreen->unk2A8--; + else + sFactorySelectScreen->unk2A8++; + } + BlendPalettes(0x4000, sFactorySelectScreen->unk2A8, 0); + if (sFactorySelectScreen->unk2A8 > 5) + { + sFactorySelectScreen->unk2A6 = FALSE; + } + else if (sFactorySelectScreen->unk2A8 == 0) + { + gTasks[taskId].data[0] = 2; + sFactorySelectScreen->unk2A6 = TRUE; + } + } + } + break; + case 2: + if (sFactorySelectScreen->unk2A9 > 14) + { + sFactorySelectScreen->unk2A9 = 0; + gTasks[taskId].data[0] = 1; + } + else + { + sFactorySelectScreen->unk2A9++; + } + break; + } } diff --git a/sym_bss.txt b/sym_bss.txt index 0b861774b1..9294c51778 100644 --- a/sym_bss.txt +++ b/sym_bss.txt @@ -78,8 +78,7 @@ gUnknown_03001278: @ 3001278 gUnknown_03001279: @ 3001279 .space 0x3 -gUnknown_0300127C: @ 300127C - .space 0x4 + .include "src/battle_factory.o" gUnknown_03001280: @ 3001280 .space 0x4 From 5656ceab6c87a52c5eb397a93242ac6c37650716 Mon Sep 17 00:00:00 2001 From: Slawter666 <38655737+Slawter666@users.noreply.github.com> Date: Wed, 5 Sep 2018 23:53:54 +0100 Subject: [PATCH 172/234] Move graphics to src/data/graphics --- data/anim_mon_front_pics.s | 1665 ----------------- data/graphics.s | 11 - ld_script.txt | 3 +- src/anim_mon_front_pics.c | 424 +++++ src/{ => data}/graphics/battle_terrain.h | 0 src/{ => data}/graphics/berries.h | 0 src/{ => data}/graphics/berry_fix.h | 0 src/{ => data}/graphics/decorations.h | 0 src/{ => data}/graphics/interface_pokeballs.h | 0 src/{ => data}/graphics/intro_scene.h | 0 src/{ => data}/graphics/items.h | 0 src/{ => data}/graphics/mail.h | 0 src/{ => data}/graphics/pokemon.h | 0 src/data/graphics/potential incbin arrays | 9 + src/{ => data}/graphics/rayquaza_scene.h | 0 src/{ => data}/graphics/slot_machine.h | 0 src/{ => data}/graphics/trainers.h | 0 src/graphics.c | 39 +- 18 files changed, 453 insertions(+), 1698 deletions(-) delete mode 100644 data/anim_mon_front_pics.s delete mode 100644 data/graphics.s create mode 100644 src/anim_mon_front_pics.c rename src/{ => data}/graphics/battle_terrain.h (100%) rename src/{ => data}/graphics/berries.h (100%) rename src/{ => data}/graphics/berry_fix.h (100%) rename src/{ => data}/graphics/decorations.h (100%) rename src/{ => data}/graphics/interface_pokeballs.h (100%) rename src/{ => data}/graphics/intro_scene.h (100%) rename src/{ => data}/graphics/items.h (100%) rename src/{ => data}/graphics/mail.h (100%) rename src/{ => data}/graphics/pokemon.h (100%) create mode 100644 src/data/graphics/potential incbin arrays rename src/{ => data}/graphics/rayquaza_scene.h (100%) rename src/{ => data}/graphics/slot_machine.h (100%) rename src/{ => data}/graphics/trainers.h (100%) diff --git a/data/anim_mon_front_pics.s b/data/anim_mon_front_pics.s deleted file mode 100644 index 5833c274ab..0000000000 --- a/data/anim_mon_front_pics.s +++ /dev/null @@ -1,1665 +0,0 @@ - .section anim_mon_front_pic_data, "aw", %progbits - - .align 2 -gMonFrontPic_CircledQuestionMark:: @ 8B00000 - .incbin "graphics/pokemon/anim_front_pics/circled_question_mark_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Bulbasaur:: @ 8B00338 - .incbin "graphics/pokemon/anim_front_pics/bulbasaur_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Ivysaur:: @ 8B007B0 - .incbin "graphics/pokemon/anim_front_pics/ivysaur_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Venusaur:: @ 8B00E10 - .incbin "graphics/pokemon/anim_front_pics/venusaur_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Charmander:: @ 8B017CC - .incbin "graphics/pokemon/anim_front_pics/charmander_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Charmeleon:: @ 8B01C7C - .incbin "graphics/pokemon/anim_front_pics/charmeleon_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Charizard:: @ 8B02368 - .incbin "graphics/pokemon/anim_front_pics/charizard_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Squirtle:: @ 8B02D68 - .incbin "graphics/pokemon/anim_front_pics/squirtle_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Wartortle:: @ 8B03260 - .incbin "graphics/pokemon/anim_front_pics/wartortle_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Blastoise:: @ 8B03944 - .incbin "graphics/pokemon/anim_front_pics/blastoise_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Caterpie:: @ 8B04280 - .incbin "graphics/pokemon/anim_front_pics/caterpie_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Metapod:: @ 8B046FC - .incbin "graphics/pokemon/anim_front_pics/metapod_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Butterfree:: @ 8B04AA8 - .incbin "graphics/pokemon/anim_front_pics/butterfree_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Weedle:: @ 8B05080 - .incbin "graphics/pokemon/anim_front_pics/weedle_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Kakuna:: @ 8B05444 - .incbin "graphics/pokemon/anim_front_pics/kakuna_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Beedrill:: @ 8B05820 - .incbin "graphics/pokemon/anim_front_pics/beedrill_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Pidgey:: @ 8B05F38 - .incbin "graphics/pokemon/anim_front_pics/pidgey_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Pidgeotto:: @ 8B0644C - .incbin "graphics/pokemon/anim_front_pics/pidgeotto_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Pidgeot:: @ 8B06B24 - .incbin "graphics/pokemon/anim_front_pics/pidgeot_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Rattata:: @ 8B073DC - .incbin "graphics/pokemon/anim_front_pics/rattata_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Raticate:: @ 8B07828 - .incbin "graphics/pokemon/anim_front_pics/raticate_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Spearow:: @ 8B07EA4 - .incbin "graphics/pokemon/anim_front_pics/spearow_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Fearow:: @ 8B08388 - .incbin "graphics/pokemon/anim_front_pics/fearow_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Ekans:: @ 8B08BC4 - .incbin "graphics/pokemon/anim_front_pics/ekans_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Arbok:: @ 8B0918C - .incbin "graphics/pokemon/anim_front_pics/arbok_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Pikachu:: @ 8B09964 - .incbin "graphics/pokemon/anim_front_pics/pikachu_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Raichu:: @ 8B09E3C - .incbin "graphics/pokemon/anim_front_pics/raichu_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Sandshrew:: @ 8B0A554 - .incbin "graphics/pokemon/anim_front_pics/sandshrew_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Sandslash:: @ 8B0AA6C - .incbin "graphics/pokemon/anim_front_pics/sandslash_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_NidoranF:: @ 8B0B1C4 - .incbin "graphics/pokemon/anim_front_pics/nidoran_f_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Nidorina:: @ 8B0B628 - .incbin "graphics/pokemon/anim_front_pics/nidorina_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Nidoqueen:: @ 8B0BC5C - .incbin "graphics/pokemon/anim_front_pics/nidoqueen_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_NidoranM:: @ 8B0C4E8 - .incbin "graphics/pokemon/anim_front_pics/nidoran_m_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Nidorino:: @ 8B0CA54 - .incbin "graphics/pokemon/anim_front_pics/nidorino_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Nidoking:: @ 8B0D10C - .incbin "graphics/pokemon/anim_front_pics/nidoking_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Clefairy:: @ 8B0D9A8 - .incbin "graphics/pokemon/anim_front_pics/clefairy_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Clefable:: @ 8B0DE24 - .incbin "graphics/pokemon/anim_front_pics/clefable_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Vulpix:: @ 8B0E3A4 - .incbin "graphics/pokemon/anim_front_pics/vulpix_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Ninetales:: @ 8B0EA08 - .incbin "graphics/pokemon/anim_front_pics/ninetales_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Jigglypuff:: @ 8B0F1CC - .incbin "graphics/pokemon/anim_front_pics/jigglypuff_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Wigglytuff:: @ 8B0F67C - .incbin "graphics/pokemon/anim_front_pics/wigglytuff_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Zubat:: @ 8B0FCD0 - .incbin "graphics/pokemon/anim_front_pics/zubat_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Golbat:: @ 8B10188 - .incbin "graphics/pokemon/anim_front_pics/golbat_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Oddish:: @ 8B10780 - .incbin "graphics/pokemon/anim_front_pics/oddish_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Gloom:: @ 8B10B78 - .incbin "graphics/pokemon/anim_front_pics/gloom_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Vileplume:: @ 8B111B0 - .incbin "graphics/pokemon/anim_front_pics/vileplume_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Paras:: @ 8B11750 - .incbin "graphics/pokemon/anim_front_pics/paras_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Parasect:: @ 8B11BAC - .incbin "graphics/pokemon/anim_front_pics/parasect_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Venonat:: @ 8B121BC - .incbin "graphics/pokemon/anim_front_pics/venonat_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Venomoth:: @ 8B127A8 - .incbin "graphics/pokemon/anim_front_pics/venomoth_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Diglett:: @ 8B12F74 - .incbin "graphics/pokemon/anim_front_pics/diglett_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Dugtrio:: @ 8B13338 - .incbin "graphics/pokemon/anim_front_pics/dugtrio_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Meowth:: @ 8B137CC - .incbin "graphics/pokemon/anim_front_pics/meowth_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Persian:: @ 8B13CB4 - .incbin "graphics/pokemon/anim_front_pics/persian_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Psyduck:: @ 8B1439C - .incbin "graphics/pokemon/anim_front_pics/psyduck_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Golduck:: @ 8B14904 - .incbin "graphics/pokemon/anim_front_pics/golduck_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Mankey:: @ 8B14F9C - .incbin "graphics/pokemon/anim_front_pics/mankey_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Primeape:: @ 8B15550 - .incbin "graphics/pokemon/anim_front_pics/primeape_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Growlithe:: @ 8B15BFC - .incbin "graphics/pokemon/anim_front_pics/growlithe_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Arcanine:: @ 8B161E8 - .incbin "graphics/pokemon/anim_front_pics/arcanine_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Poliwag:: @ 8B16BF4 - .incbin "graphics/pokemon/anim_front_pics/poliwag_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Poliwhirl:: @ 8B170C8 - .incbin "graphics/pokemon/anim_front_pics/poliwhirl_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Poliwrath:: @ 8B176B4 - .incbin "graphics/pokemon/anim_front_pics/poliwrath_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Abra:: @ 8B17D38 - .incbin "graphics/pokemon/anim_front_pics/abra_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Kadabra:: @ 8B18144 - .incbin "graphics/pokemon/anim_front_pics/kadabra_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Alakazam:: @ 8B18910 - .incbin "graphics/pokemon/anim_front_pics/alakazam_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Machop:: @ 8B190CC - .incbin "graphics/pokemon/anim_front_pics/machop_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Machoke:: @ 8B194FC - .incbin "graphics/pokemon/anim_front_pics/machoke_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Machamp:: @ 8B19BB4 - .incbin "graphics/pokemon/anim_front_pics/machamp_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Bellsprout:: @ 8B1A2C0 - .incbin "graphics/pokemon/anim_front_pics/bellsprout_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Weepinbell:: @ 8B1A798 - .incbin "graphics/pokemon/anim_front_pics/weepinbell_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Victreebel:: @ 8B1AD20 - .incbin "graphics/pokemon/anim_front_pics/victreebel_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Tentacool:: @ 8B1B474 - .incbin "graphics/pokemon/anim_front_pics/tentacool_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Tentacruel:: @ 8B1B8F4 - .incbin "graphics/pokemon/anim_front_pics/tentacruel_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Geodude:: @ 8B1C018 - .incbin "graphics/pokemon/anim_front_pics/geodude_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Graveler:: @ 8B1C4A8 - .incbin "graphics/pokemon/anim_front_pics/graveler_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Golem:: @ 8B1CA7C - .incbin "graphics/pokemon/anim_front_pics/golem_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Ponyta:: @ 8B1D160 - .incbin "graphics/pokemon/anim_front_pics/ponyta_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Rapidash:: @ 8B1D820 - .incbin "graphics/pokemon/anim_front_pics/rapidash_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Slowpoke:: @ 8B1E188 - .incbin "graphics/pokemon/anim_front_pics/slowpoke_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Slowbro:: @ 8B1E650 - .incbin "graphics/pokemon/anim_front_pics/slowbro_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Magnemite:: @ 8B1EDC8 - .incbin "graphics/pokemon/anim_front_pics/magnemite_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Magneton:: @ 8B1F160 - .incbin "graphics/pokemon/anim_front_pics/magneton_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Farfetchd:: @ 8B1F814 - .incbin "graphics/pokemon/anim_front_pics/farfetch_d_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Doduo:: @ 8B1FD9C - .incbin "graphics/pokemon/anim_front_pics/doduo_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Dodrio:: @ 8B20398 - .incbin "graphics/pokemon/anim_front_pics/dodrio_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Seel:: @ 8B20CAC - .incbin "graphics/pokemon/anim_front_pics/seel_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Dewgong:: @ 8B211F4 - .incbin "graphics/pokemon/anim_front_pics/dewgong_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Grimer:: @ 8B21894 - .incbin "graphics/pokemon/anim_front_pics/grimer_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Muk:: @ 8B21E1C - .incbin "graphics/pokemon/anim_front_pics/muk_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Shellder:: @ 8B22538 - .incbin "graphics/pokemon/anim_front_pics/shellder_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Cloyster:: @ 8B2298C - .incbin "graphics/pokemon/anim_front_pics/cloyster_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Gastly:: @ 8B23138 - .incbin "graphics/pokemon/anim_front_pics/gastly_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Haunter:: @ 8B237DC - .incbin "graphics/pokemon/anim_front_pics/haunter_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Gengar:: @ 8B23ED0 - .incbin "graphics/pokemon/anim_front_pics/gengar_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Onix:: @ 8B2456C - .incbin "graphics/pokemon/anim_front_pics/onix_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Drowzee:: @ 8B24DEC - .incbin "graphics/pokemon/anim_front_pics/drowzee_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Hypno:: @ 8B253D4 - .incbin "graphics/pokemon/anim_front_pics/hypno_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Krabby:: @ 8B25A20 - .incbin "graphics/pokemon/anim_front_pics/krabby_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Kingler:: @ 8B25EE4 - .incbin "graphics/pokemon/anim_front_pics/kingler_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Voltorb:: @ 8B267F4 - .incbin "graphics/pokemon/anim_front_pics/voltorb_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Electrode:: @ 8B26B68 - .incbin "graphics/pokemon/anim_front_pics/electrode_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Exeggcute:: @ 8B26F7C - .incbin "graphics/pokemon/anim_front_pics/exeggcute_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Exeggutor:: @ 8B27614 - .incbin "graphics/pokemon/anim_front_pics/exeggutor_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Cubone:: @ 8B27E24 - .incbin "graphics/pokemon/anim_front_pics/cubone_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Marowak:: @ 8B282A8 - .incbin "graphics/pokemon/anim_front_pics/marowak_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Hitmonlee:: @ 8B28948 - .incbin "graphics/pokemon/anim_front_pics/hitmonlee_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Hitmonchan:: @ 8B29068 - .incbin "graphics/pokemon/anim_front_pics/hitmonchan_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Lickitung:: @ 8B29678 - .incbin "graphics/pokemon/anim_front_pics/lickitung_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Koffing:: @ 8B29D50 - .incbin "graphics/pokemon/anim_front_pics/koffing_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Weezing:: @ 8B2A368 - .incbin "graphics/pokemon/anim_front_pics/weezing_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Rhyhorn:: @ 8B2ABC8 - .incbin "graphics/pokemon/anim_front_pics/rhyhorn_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Rhydon:: @ 8B2B2A4 - .incbin "graphics/pokemon/anim_front_pics/rhydon_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Chansey:: @ 8B2BBA4 - .incbin "graphics/pokemon/anim_front_pics/chansey_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Tangela:: @ 8B2C128 - .incbin "graphics/pokemon/anim_front_pics/tangela_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Kangaskhan:: @ 8B2C800 - .incbin "graphics/pokemon/anim_front_pics/kangaskhan_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Horsea:: @ 8B2D0B4 - .incbin "graphics/pokemon/anim_front_pics/horsea_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Seadra:: @ 8B2D4D0 - .incbin "graphics/pokemon/anim_front_pics/seadra_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Goldeen:: @ 8B2DBB4 - .incbin "graphics/pokemon/anim_front_pics/goldeen_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Seaking:: @ 8B2E18C - .incbin "graphics/pokemon/anim_front_pics/seaking_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Staryu:: @ 8B2E930 - .incbin "graphics/pokemon/anim_front_pics/staryu_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Starmie:: @ 8B2EE64 - .incbin "graphics/pokemon/anim_front_pics/starmie_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Mrmime:: @ 8B2F4D0 - .incbin "graphics/pokemon/anim_front_pics/mr_mime_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Scyther:: @ 8B2FB0C - .incbin "graphics/pokemon/anim_front_pics/scyther_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Jynx:: @ 8B3034C - .incbin "graphics/pokemon/anim_front_pics/jynx_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Electabuzz:: @ 8B30BE0 - .incbin "graphics/pokemon/anim_front_pics/electabuzz_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Magmar:: @ 8B313C8 - .incbin "graphics/pokemon/anim_front_pics/magmar_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Pinsir:: @ 8B31C40 - .incbin "graphics/pokemon/anim_front_pics/pinsir_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Tauros:: @ 8B323D8 - .incbin "graphics/pokemon/anim_front_pics/tauros_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Magikarp:: @ 8B32C7C - .incbin "graphics/pokemon/anim_front_pics/magikarp_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Gyarados:: @ 8B332A4 - .incbin "graphics/pokemon/anim_front_pics/gyarados_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Lapras:: @ 8B33B74 - .incbin "graphics/pokemon/anim_front_pics/lapras_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Ditto:: @ 8B341D4 - .incbin "graphics/pokemon/anim_front_pics/ditto_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Eevee:: @ 8B34548 - .incbin "graphics/pokemon/anim_front_pics/eevee_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Vaporeon:: @ 8B34A68 - .incbin "graphics/pokemon/anim_front_pics/vaporeon_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Jolteon:: @ 8B35098 - .incbin "graphics/pokemon/anim_front_pics/jolteon_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Flareon:: @ 8B35774 - .incbin "graphics/pokemon/anim_front_pics/flareon_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Porygon:: @ 8B35DB8 - .incbin "graphics/pokemon/anim_front_pics/porygon_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Omanyte:: @ 8B36248 - .incbin "graphics/pokemon/anim_front_pics/omanyte_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Omastar:: @ 8B36670 - .incbin "graphics/pokemon/anim_front_pics/omastar_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Kabuto:: @ 8B36CB4 - .incbin "graphics/pokemon/anim_front_pics/kabuto_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Kabutops:: @ 8B37088 - .incbin "graphics/pokemon/anim_front_pics/kabutops_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Aerodactyl:: @ 8B377DC - .incbin "graphics/pokemon/anim_front_pics/aerodactyl_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Snorlax:: @ 8B37F64 - .incbin "graphics/pokemon/anim_front_pics/snorlax_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Articuno:: @ 8B3868C - .incbin "graphics/pokemon/anim_front_pics/articuno_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Zapdos:: @ 8B39004 - .incbin "graphics/pokemon/anim_front_pics/zapdos_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Moltres:: @ 8B39800 - .incbin "graphics/pokemon/anim_front_pics/moltres_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Dratini:: @ 8B3A0A8 - .incbin "graphics/pokemon/anim_front_pics/dratini_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Dragonair:: @ 8B3A5B4 - .incbin "graphics/pokemon/anim_front_pics/dragonair_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Dragonite:: @ 8B3AC44 - .incbin "graphics/pokemon/anim_front_pics/dragonite_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Mewtwo:: @ 8B3B56C - .incbin "graphics/pokemon/anim_front_pics/mewtwo_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Mew:: @ 8B3BD14 - .incbin "graphics/pokemon/anim_front_pics/mew_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Chikorita:: @ 8B3C1F4 - .incbin "graphics/pokemon/anim_front_pics/chikorita_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Bayleef:: @ 8B3C68C - .incbin "graphics/pokemon/anim_front_pics/bayleef_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Meganium:: @ 8B3CCA0 - .incbin "graphics/pokemon/anim_front_pics/meganium_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Cyndaquil:: @ 8B3D5D4 - .incbin "graphics/pokemon/anim_front_pics/cyndaquil_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Quilava:: @ 8B3DA94 - .incbin "graphics/pokemon/anim_front_pics/quilava_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Typhlosion:: @ 8B3E080 - .incbin "graphics/pokemon/anim_front_pics/typhlosion_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Totodile:: @ 8B3E798 - .incbin "graphics/pokemon/anim_front_pics/totodile_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Croconaw:: @ 8B3EC60 - .incbin "graphics/pokemon/anim_front_pics/croconaw_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Feraligatr:: @ 8B3F2BC - .incbin "graphics/pokemon/anim_front_pics/feraligatr_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Sentret:: @ 8B3FB90 - .incbin "graphics/pokemon/anim_front_pics/sentret_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Furret:: @ 8B4005C - .incbin "graphics/pokemon/anim_front_pics/furret_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Hoothoot:: @ 8B40650 - .incbin "graphics/pokemon/anim_front_pics/hoothoot_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Noctowl:: @ 8B40A4C - .incbin "graphics/pokemon/anim_front_pics/noctowl_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Ledyba:: @ 8B41100 - .incbin "graphics/pokemon/anim_front_pics/ledyba_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Ledian:: @ 8B4161C - .incbin "graphics/pokemon/anim_front_pics/ledian_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Spinarak:: @ 8B41AEC - .incbin "graphics/pokemon/anim_front_pics/spinarak_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Ariados:: @ 8B41F34 - .incbin "graphics/pokemon/anim_front_pics/ariados_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Crobat:: @ 8B42628 - .incbin "graphics/pokemon/anim_front_pics/crobat_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Chinchou:: @ 8B42BFC - .incbin "graphics/pokemon/anim_front_pics/chinchou_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Lanturn:: @ 8B43100 - .incbin "graphics/pokemon/anim_front_pics/lanturn_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Pichu:: @ 8B43748 - .incbin "graphics/pokemon/anim_front_pics/pichu_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Cleffa:: @ 8B43B00 - .incbin "graphics/pokemon/anim_front_pics/cleffa_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Igglybuff:: @ 8B43EBC - .incbin "graphics/pokemon/anim_front_pics/igglybuff_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Togepi:: @ 8B44228 - .incbin "graphics/pokemon/anim_front_pics/togepi_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Togetic:: @ 8B4454C - .incbin "graphics/pokemon/anim_front_pics/togetic_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Natu:: @ 8B449DC - .incbin "graphics/pokemon/anim_front_pics/natu_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Xatu:: @ 8B44D08 - .incbin "graphics/pokemon/anim_front_pics/xatu_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Mareep:: @ 8B4529C - .incbin "graphics/pokemon/anim_front_pics/mareep_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Flaaffy:: @ 8B45744 - .incbin "graphics/pokemon/anim_front_pics/flaaffy_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Ampharos:: @ 8B45C34 - .incbin "graphics/pokemon/anim_front_pics/ampharos_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Bellossom:: @ 8B462C0 - .incbin "graphics/pokemon/anim_front_pics/bellossom_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Marill:: @ 8B46758 - .incbin "graphics/pokemon/anim_front_pics/marill_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Azumarill:: @ 8B46C84 - .incbin "graphics/pokemon/anim_front_pics/azumarill_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Sudowoodo:: @ 8B47228 - .incbin "graphics/pokemon/anim_front_pics/sudowoodo_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Politoed:: @ 8B477E4 - .incbin "graphics/pokemon/anim_front_pics/politoed_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Hoppip:: @ 8B47DEC - .incbin "graphics/pokemon/anim_front_pics/hoppip_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Skiploom:: @ 8B482B4 - .incbin "graphics/pokemon/anim_front_pics/skiploom_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Jumpluff:: @ 8B486F8 - .incbin "graphics/pokemon/anim_front_pics/jumpluff_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Aipom:: @ 8B48C78 - .incbin "graphics/pokemon/anim_front_pics/aipom_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Sunkern:: @ 8B49178 - .incbin "graphics/pokemon/anim_front_pics/sunkern_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Sunflora:: @ 8B49518 - .incbin "graphics/pokemon/anim_front_pics/sunflora_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Yanma:: @ 8B49AB0 - .incbin "graphics/pokemon/anim_front_pics/yanma_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Wooper:: @ 8B4A03C - .incbin "graphics/pokemon/anim_front_pics/wooper_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Quagsire:: @ 8B4A3FC - .incbin "graphics/pokemon/anim_front_pics/quagsire_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Espeon:: @ 8B4AA80 - .incbin "graphics/pokemon/anim_front_pics/espeon_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Umbreon:: @ 8B4B060 - .incbin "graphics/pokemon/anim_front_pics/umbreon_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Murkrow:: @ 8B4B610 - .incbin "graphics/pokemon/anim_front_pics/murkrow_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Slowking:: @ 8B4BB6C - .incbin "graphics/pokemon/anim_front_pics/slowking_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Misdreavus:: @ 8B4C234 - .incbin "graphics/pokemon/anim_front_pics/misdreavus_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_UnownA:: @ 8B4C730 - .incbin "graphics/pokemon/anim_front_pics/unown_a_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Wobbuffet:: @ 8B4C9F4 - .incbin "graphics/pokemon/anim_front_pics/wobbuffet_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Girafarig:: @ 8B4CFC4 - .incbin "graphics/pokemon/anim_front_pics/girafarig_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Pineco:: @ 8B4D75C - .incbin "graphics/pokemon/anim_front_pics/pineco_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Forretress:: @ 8B4DBE4 - .incbin "graphics/pokemon/anim_front_pics/forretress_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Dunsparce:: @ 8B4E1E8 - .incbin "graphics/pokemon/anim_front_pics/dunsparce_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Gligar:: @ 8B4E73C - .incbin "graphics/pokemon/anim_front_pics/gligar_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Steelix:: @ 8B4EE6C - .incbin "graphics/pokemon/anim_front_pics/steelix_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Snubbull:: @ 8B4F73C - .incbin "graphics/pokemon/anim_front_pics/snubbull_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Granbull:: @ 8B4FC2C - .incbin "graphics/pokemon/anim_front_pics/granbull_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Qwilfish:: @ 8B502CC - .incbin "graphics/pokemon/anim_front_pics/qwilfish_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Scizor:: @ 8B50780 - .incbin "graphics/pokemon/anim_front_pics/scizor_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Shuckle:: @ 8B5100C - .incbin "graphics/pokemon/anim_front_pics/shuckle_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Heracross:: @ 8B51470 - .incbin "graphics/pokemon/anim_front_pics/heracross_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Sneasel:: @ 8B51B04 - .incbin "graphics/pokemon/anim_front_pics/sneasel_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Teddiursa:: @ 8B52114 - .incbin "graphics/pokemon/anim_front_pics/teddiursa_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Ursaring:: @ 8B524C0 - .incbin "graphics/pokemon/anim_front_pics/ursaring_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Slugma:: @ 8B52C4C - .incbin "graphics/pokemon/anim_front_pics/slugma_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Magcargo:: @ 8B5307C - .incbin "graphics/pokemon/anim_front_pics/magcargo_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Swinub:: @ 8B536DC - .incbin "graphics/pokemon/anim_front_pics/swinub_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Piloswine:: @ 8B53A7C - .incbin "graphics/pokemon/anim_front_pics/piloswine_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Corsola:: @ 8B53FB8 - .incbin "graphics/pokemon/anim_front_pics/corsola_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Remoraid:: @ 8B5450C - .incbin "graphics/pokemon/anim_front_pics/remoraid_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Octillery:: @ 8B54960 - .incbin "graphics/pokemon/anim_front_pics/octillery_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Delibird:: @ 8B54EE4 - .incbin "graphics/pokemon/anim_front_pics/delibird_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Mantine:: @ 8B55514 - .incbin "graphics/pokemon/anim_front_pics/mantine_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Skarmory:: @ 8B55D60 - .incbin "graphics/pokemon/anim_front_pics/skarmory_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Houndour:: @ 8B5656C - .incbin "graphics/pokemon/anim_front_pics/houndour_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Houndoom:: @ 8B56A70 - .incbin "graphics/pokemon/anim_front_pics/houndoom_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Kingdra:: @ 8B57164 - .incbin "graphics/pokemon/anim_front_pics/kingdra_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Phanpy:: @ 8B57900 - .incbin "graphics/pokemon/anim_front_pics/phanpy_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Donphan:: @ 8B57D74 - .incbin "graphics/pokemon/anim_front_pics/donphan_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Porygon2:: @ 8B5846C - .incbin "graphics/pokemon/anim_front_pics/porygon2_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Stantler:: @ 8B588E8 - .incbin "graphics/pokemon/anim_front_pics/stantler_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Smeargle:: @ 8B5905C - .incbin "graphics/pokemon/anim_front_pics/smeargle_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Tyrogue:: @ 8B5970C - .incbin "graphics/pokemon/anim_front_pics/tyrogue_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Hitmontop:: @ 8B59BD4 - .incbin "graphics/pokemon/anim_front_pics/hitmontop_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Smoochum:: @ 8B5A1B4 - .incbin "graphics/pokemon/anim_front_pics/smoochum_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Elekid:: @ 8B5A5A4 - .incbin "graphics/pokemon/anim_front_pics/elekid_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Magby:: @ 8B5AB58 - .incbin "graphics/pokemon/anim_front_pics/magby_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Miltank:: @ 8B5B004 - .incbin "graphics/pokemon/anim_front_pics/miltank_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Blissey:: @ 8B5B6C0 - .incbin "graphics/pokemon/anim_front_pics/blissey_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Raikou:: @ 8B5BD2C - .incbin "graphics/pokemon/anim_front_pics/raikou_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Entei:: @ 8B5C738 - .incbin "graphics/pokemon/anim_front_pics/entei_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Suicune:: @ 8B5CFCC - .incbin "graphics/pokemon/anim_front_pics/suicune_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Larvitar:: @ 8B5DA34 - .incbin "graphics/pokemon/anim_front_pics/larvitar_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Pupitar:: @ 8B5DEC0 - .incbin "graphics/pokemon/anim_front_pics/pupitar_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Tyranitar:: @ 8B5E308 - .incbin "graphics/pokemon/anim_front_pics/tyranitar_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Lugia:: @ 8B5EC68 - .incbin "graphics/pokemon/anim_front_pics/lugia_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_HoOh:: @ 8B5F4FC - .incbin "graphics/pokemon/anim_front_pics/ho_oh_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Celebi:: @ 8B60090 - .incbin "graphics/pokemon/anim_front_pics/celebi_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_DoubleQuestionMark:: @ 8B60544 - .incbin "graphics/pokemon/anim_front_pics/double_question_mark_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Treecko:: @ 8B607B4 - .incbin "graphics/pokemon/anim_front_pics/treecko_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Grovyle:: @ 8B60D28 - .incbin "graphics/pokemon/anim_front_pics/grovyle_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Sceptile:: @ 8B6157C - .incbin "graphics/pokemon/anim_front_pics/sceptile_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Torchic:: @ 8B61C9C - .incbin "graphics/pokemon/anim_front_pics/torchic_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Combusken:: @ 8B6218C - .incbin "graphics/pokemon/anim_front_pics/combusken_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Blaziken:: @ 8B62964 - .incbin "graphics/pokemon/anim_front_pics/blaziken_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Mudkip:: @ 8B630B0 - .incbin "graphics/pokemon/anim_front_pics/mudkip_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Marshtomp:: @ 8B635E4 - .incbin "graphics/pokemon/anim_front_pics/marshtomp_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Swampert:: @ 8B63BF4 - .incbin "graphics/pokemon/anim_front_pics/swampert_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Poochyena:: @ 8B64564 - .incbin "graphics/pokemon/anim_front_pics/poochyena_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Mightyena:: @ 8B64AC0 - .incbin "graphics/pokemon/anim_front_pics/mightyena_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Zigzagoon:: @ 8B65294 - .incbin "graphics/pokemon/anim_front_pics/zigzagoon_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Linoone:: @ 8B659B0 - .incbin "graphics/pokemon/anim_front_pics/linoone_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Wurmple:: @ 8B65F9C - .incbin "graphics/pokemon/anim_front_pics/wurmple_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Silcoon:: @ 8B66498 - .incbin "graphics/pokemon/anim_front_pics/silcoon_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Beautifly:: @ 8B66830 - .incbin "graphics/pokemon/anim_front_pics/beautifly_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Cascoon:: @ 8B66DBC - .incbin "graphics/pokemon/anim_front_pics/cascoon_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Dustox:: @ 8B67130 - .incbin "graphics/pokemon/anim_front_pics/dustox_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Lotad:: @ 8B67734 - .incbin "graphics/pokemon/anim_front_pics/lotad_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Lombre:: @ 8B67B7C - .incbin "graphics/pokemon/anim_front_pics/lombre_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Ludicolo:: @ 8B68120 - .incbin "graphics/pokemon/anim_front_pics/ludicolo_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Seedot:: @ 8B688F0 - .incbin "graphics/pokemon/anim_front_pics/seedot_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Nuzleaf:: @ 8B68DB4 - .incbin "graphics/pokemon/anim_front_pics/nuzleaf_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Shiftry:: @ 8B69278 - .incbin "graphics/pokemon/anim_front_pics/shiftry_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Nincada:: @ 8B69878 - .incbin "graphics/pokemon/anim_front_pics/nincada_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Ninjask:: @ 8B69D04 - .incbin "graphics/pokemon/anim_front_pics/ninjask_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Shedinja:: @ 8B6A23C - .incbin "graphics/pokemon/anim_front_pics/shedinja_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Taillow:: @ 8B6A81C - .incbin "graphics/pokemon/anim_front_pics/taillow_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Swellow:: @ 8B6AD5C - .incbin "graphics/pokemon/anim_front_pics/swellow_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Shroomish:: @ 8B6B2C8 - .incbin "graphics/pokemon/anim_front_pics/shroomish_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Breloom:: @ 8B6B690 - .incbin "graphics/pokemon/anim_front_pics/breloom_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Spinda:: @ 8B6BD3C - .incbin "graphics/pokemon/anim_front_pics/spinda_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Wingull:: @ 8B6C130 - .incbin "graphics/pokemon/anim_front_pics/wingull_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Pelipper:: @ 8B6C514 - .incbin "graphics/pokemon/anim_front_pics/pelipper_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Surskit:: @ 8B6CB0C - .incbin "graphics/pokemon/anim_front_pics/surskit_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Masquerain:: @ 8B6CEB0 - .incbin "graphics/pokemon/anim_front_pics/masquerain_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Wailmer:: @ 8B6D4F0 - .incbin "graphics/pokemon/anim_front_pics/wailmer_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Wailord:: @ 8B6D9A4 - .incbin "graphics/pokemon/anim_front_pics/wailord_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Skitty:: @ 8B6E01C - .incbin "graphics/pokemon/anim_front_pics/skitty_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Delcatty:: @ 8B6E588 - .incbin "graphics/pokemon/anim_front_pics/delcatty_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Kecleon:: @ 8B6EBE0 - .incbin "graphics/pokemon/anim_front_pics/kecleon_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Baltoy:: @ 8B6F274 - .incbin "graphics/pokemon/anim_front_pics/baltoy_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Claydol:: @ 8B6F62C - .incbin "graphics/pokemon/anim_front_pics/claydol_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Nosepass:: @ 8B6FD08 - .incbin "graphics/pokemon/anim_front_pics/nosepass_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Torkoal:: @ 8B70268 - .incbin "graphics/pokemon/anim_front_pics/torkoal_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Sableye:: @ 8B70A58 - .incbin "graphics/pokemon/anim_front_pics/sableye_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Barboach:: @ 8B70EF8 - .incbin "graphics/pokemon/anim_front_pics/barboach_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Whiscash:: @ 8B71400 - .incbin "graphics/pokemon/anim_front_pics/whiscash_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Luvdisc:: @ 8B7197C - .incbin "graphics/pokemon/anim_front_pics/luvdisc_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Corphish:: @ 8B71CB0 - .incbin "graphics/pokemon/anim_front_pics/corphish_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Crawdaunt:: @ 8B721E4 - .incbin "graphics/pokemon/anim_front_pics/crawdaunt_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Feebas:: @ 8B72920 - .incbin "graphics/pokemon/anim_front_pics/feebas_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Milotic:: @ 8B72E30 - .incbin "graphics/pokemon/anim_front_pics/milotic_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Carvanha:: @ 8B736FC - .incbin "graphics/pokemon/anim_front_pics/carvanha_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Sharpedo:: @ 8B73D1C - .incbin "graphics/pokemon/anim_front_pics/sharpedo_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Trapinch:: @ 8B7434C - .incbin "graphics/pokemon/anim_front_pics/trapinch_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Vibrava:: @ 8B74720 - .incbin "graphics/pokemon/anim_front_pics/vibrava_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Flygon:: @ 8B74DB0 - .incbin "graphics/pokemon/anim_front_pics/flygon_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Makuhita:: @ 8B75614 - .incbin "graphics/pokemon/anim_front_pics/makuhita_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Hariyama:: @ 8B75AD0 - .incbin "graphics/pokemon/anim_front_pics/hariyama_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Electrike:: @ 8B763D0 - .incbin "graphics/pokemon/anim_front_pics/electrike_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Manectric:: @ 8B768A0 - .incbin "graphics/pokemon/anim_front_pics/manectric_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Numel:: @ 8B76E9C - .incbin "graphics/pokemon/anim_front_pics/numel_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Camerupt:: @ 8B773B8 - .incbin "graphics/pokemon/anim_front_pics/camerupt_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Spheal:: @ 8B779DC - .incbin "graphics/pokemon/anim_front_pics/spheal_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Sealeo:: @ 8B77E0C - .incbin "graphics/pokemon/anim_front_pics/sealeo_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Walrein:: @ 8B78484 - .incbin "graphics/pokemon/anim_front_pics/walrein_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Cacnea:: @ 8B78C54 - .incbin "graphics/pokemon/anim_front_pics/cacnea_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Cacturne:: @ 8B7916C - .incbin "graphics/pokemon/anim_front_pics/cacturne_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Snorunt:: @ 8B79928 - .incbin "graphics/pokemon/anim_front_pics/snorunt_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Glalie:: @ 8B79E44 - .incbin "graphics/pokemon/anim_front_pics/glalie_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Lunatone:: @ 8B7A568 - .incbin "graphics/pokemon/anim_front_pics/lunatone_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Solrock:: @ 8B7AA90 - .incbin "graphics/pokemon/anim_front_pics/solrock_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Azurill:: @ 8B7B264 - .incbin "graphics/pokemon/anim_front_pics/azurill_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Spoink:: @ 8B7B7B4 - .incbin "graphics/pokemon/anim_front_pics/spoink_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Grumpig:: @ 8B7BBA0 - .incbin "graphics/pokemon/anim_front_pics/grumpig_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Plusle:: @ 8B7C258 - .incbin "graphics/pokemon/anim_front_pics/plusle_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Minun:: @ 8B7C6F4 - .incbin "graphics/pokemon/anim_front_pics/minun_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Mawile:: @ 8B7CB14 - .incbin "graphics/pokemon/anim_front_pics/mawile_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Meditite:: @ 8B7D2A4 - .incbin "graphics/pokemon/anim_front_pics/meditite_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Medicham:: @ 8B7D6E4 - .incbin "graphics/pokemon/anim_front_pics/medicham_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Swablu:: @ 8B7DC3C - .incbin "graphics/pokemon/anim_front_pics/swablu_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Altaria:: @ 8B7E128 - .incbin "graphics/pokemon/anim_front_pics/altaria_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Wynaut:: @ 8B7E844 - .incbin "graphics/pokemon/anim_front_pics/wynaut_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Duskull:: @ 8B7ECB8 - .incbin "graphics/pokemon/anim_front_pics/duskull_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Dusclops:: @ 8B7F228 - .incbin "graphics/pokemon/anim_front_pics/dusclops_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Roselia:: @ 8B7F8D8 - .incbin "graphics/pokemon/anim_front_pics/roselia_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Slakoth:: @ 8B7FEE8 - .incbin "graphics/pokemon/anim_front_pics/slakoth_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Vigoroth:: @ 8B802D8 - .incbin "graphics/pokemon/anim_front_pics/vigoroth_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Slaking:: @ 8B80A88 - .incbin "graphics/pokemon/anim_front_pics/slaking_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Gulpin:: @ 8B81134 - .incbin "graphics/pokemon/anim_front_pics/gulpin_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Swalot:: @ 8B814E4 - .incbin "graphics/pokemon/anim_front_pics/swalot_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Tropius:: @ 8B81A78 - .incbin "graphics/pokemon/anim_front_pics/tropius_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Whismur:: @ 8B8239C - .incbin "graphics/pokemon/anim_front_pics/whismur_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Loudred:: @ 8B82808 - .incbin "graphics/pokemon/anim_front_pics/loudred_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Exploud:: @ 8B82F00 - .incbin "graphics/pokemon/anim_front_pics/exploud_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Clamperl:: @ 8B83908 - .incbin "graphics/pokemon/anim_front_pics/clamperl_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Huntail:: @ 8B83DB4 - .incbin "graphics/pokemon/anim_front_pics/huntail_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Gorebyss:: @ 8B844A8 - .incbin "graphics/pokemon/anim_front_pics/gorebyss_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Absol:: @ 8B84A50 - .incbin "graphics/pokemon/anim_front_pics/absol_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Shuppet:: @ 8B851C0 - .incbin "graphics/pokemon/anim_front_pics/shuppet_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Banette:: @ 8B855C0 - .incbin "graphics/pokemon/anim_front_pics/banette_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Seviper:: @ 8B85ACC - .incbin "graphics/pokemon/anim_front_pics/seviper_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Zangoose:: @ 8B8625C - .incbin "graphics/pokemon/anim_front_pics/zangoose_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Relicanth:: @ 8B86978 - .incbin "graphics/pokemon/anim_front_pics/relicanth_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Aron:: @ 8B86EBC - .incbin "graphics/pokemon/anim_front_pics/aron_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Lairon:: @ 8B87260 - .incbin "graphics/pokemon/anim_front_pics/lairon_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Aggron:: @ 8B87878 - .incbin "graphics/pokemon/anim_front_pics/aggron_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Castform:: @ 8B8824C - .incbin "graphics/pokemon/anim_front_pics/castform_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Volbeat:: @ 8B88CD4 - .incbin "graphics/pokemon/anim_front_pics/volbeat_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Illumise:: @ 8B892EC - .incbin "graphics/pokemon/anim_front_pics/illumise_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Lileep:: @ 8B8996C - .incbin "graphics/pokemon/anim_front_pics/lileep_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Cradily:: @ 8B89F64 - .incbin "graphics/pokemon/anim_front_pics/cradily_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Anorith:: @ 8B8A6B4 - .incbin "graphics/pokemon/anim_front_pics/anorith_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Armaldo:: @ 8B8ACA0 - .incbin "graphics/pokemon/anim_front_pics/armaldo_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Ralts:: @ 8B8B618 - .incbin "graphics/pokemon/anim_front_pics/ralts_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Kirlia:: @ 8B8BA24 - .incbin "graphics/pokemon/anim_front_pics/kirlia_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Gardevoir:: @ 8B8BF74 - .incbin "graphics/pokemon/anim_front_pics/gardevoir_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Bagon:: @ 8B8C4A8 - .incbin "graphics/pokemon/anim_front_pics/bagon_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Shelgon:: @ 8B8C93C - .incbin "graphics/pokemon/anim_front_pics/shelgon_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Salamence:: @ 8B8CEA8 - .incbin "graphics/pokemon/anim_front_pics/salamence_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Beldum:: @ 8B8D608 - .incbin "graphics/pokemon/anim_front_pics/beldum_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Metang:: @ 8B8DA6C - .incbin "graphics/pokemon/anim_front_pics/metang_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Metagross:: @ 8B8E23C - .incbin "graphics/pokemon/anim_front_pics/metagross_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Regirock:: @ 8B8E920 - .incbin "graphics/pokemon/anim_front_pics/regirock_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Regice:: @ 8B8F1E8 - .incbin "graphics/pokemon/anim_front_pics/regice_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Registeel:: @ 8B8F994 - .incbin "graphics/pokemon/anim_front_pics/registeel_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Kyogre:: @ 8B90170 - .incbin "graphics/pokemon/anim_front_pics/kyogre_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Groudon:: @ 8B90948 - .incbin "graphics/pokemon/anim_front_pics/groudon_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Rayquaza:: @ 8B9135C - .incbin "graphics/pokemon/anim_front_pics/rayquaza_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Latias:: @ 8B91CF0 - .incbin "graphics/pokemon/anim_front_pics/latias_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Latios:: @ 8B92378 - .incbin "graphics/pokemon/anim_front_pics/latios_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Jirachi:: @ 8B92BA8 - .incbin "graphics/pokemon/anim_front_pics/jirachi_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Deoxys:: @ 8B93154 - .incbin "graphics/pokemon/anim_front_pics/deoxys_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Chimecho:: @ 8B938C0 - .incbin "graphics/pokemon/anim_front_pics/chimecho_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_Egg:: @ 8B93D08 - .incbin "graphics/pokemon/anim_front_pics/egg_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_UnownB:: @ 8B93FC4 - .incbin "graphics/pokemon/anim_front_pics/unown_b_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_UnownC:: @ 8B9428C - .incbin "graphics/pokemon/anim_front_pics/unown_c_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_UnownD:: @ 8B94590 - .incbin "graphics/pokemon/anim_front_pics/unown_d_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_UnownE:: @ 8B94878 - .incbin "graphics/pokemon/anim_front_pics/unown_e_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_UnownF:: @ 8B94B20 - .incbin "graphics/pokemon/anim_front_pics/unown_f_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_UnownG:: @ 8B94E08 - .incbin "graphics/pokemon/anim_front_pics/unown_g_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_UnownH:: @ 8B950D4 - .incbin "graphics/pokemon/anim_front_pics/unown_h_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_UnownI:: @ 8B9540C - .incbin "graphics/pokemon/anim_front_pics/unown_i_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_UnownJ:: @ 8B95698 - .incbin "graphics/pokemon/anim_front_pics/unown_j_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_UnownK:: @ 8B95950 - .incbin "graphics/pokemon/anim_front_pics/unown_k_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_UnownL:: @ 8B95C10 - .incbin "graphics/pokemon/anim_front_pics/unown_l_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_UnownM:: @ 8B95EB4 - .incbin "graphics/pokemon/anim_front_pics/unown_m_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_UnownN:: @ 8B961C8 - .incbin "graphics/pokemon/anim_front_pics/unown_n_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_UnownO:: @ 8B964B0 - .incbin "graphics/pokemon/anim_front_pics/unown_o_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_UnownP:: @ 8B967DC - .incbin "graphics/pokemon/anim_front_pics/unown_p_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_UnownQ:: @ 8B96A6C - .incbin "graphics/pokemon/anim_front_pics/unown_q_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_UnownR:: @ 8B96D14 - .incbin "graphics/pokemon/anim_front_pics/unown_r_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_UnownS:: @ 8B96FA8 - .incbin "graphics/pokemon/anim_front_pics/unown_s_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_UnownT:: @ 8B97284 - .incbin "graphics/pokemon/anim_front_pics/unown_t_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_UnownU:: @ 8B97528 - .incbin "graphics/pokemon/anim_front_pics/unown_u_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_UnownV:: @ 8B97834 - .incbin "graphics/pokemon/anim_front_pics/unown_v_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_UnownW:: @ 8B97B0C - .incbin "graphics/pokemon/anim_front_pics/unown_w_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_UnownX:: @ 8B97DD4 - .incbin "graphics/pokemon/anim_front_pics/unown_x_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_UnownY:: @ 8B98088 - .incbin "graphics/pokemon/anim_front_pics/unown_y_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_UnownZ:: @ 8B98350 - .incbin "graphics/pokemon/anim_front_pics/unown_z_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_UnownExclamationMark:: @ 8B985F4 - .incbin "graphics/pokemon/anim_front_pics/unown_exclamation_mark_front_pic.4bpp.lz" - - .align 2 -gMonFrontPic_UnownQuestionMark:: @ 8B98878 - .incbin "graphics/pokemon/anim_front_pics/unown_question_mark_front_pic.4bpp.lz" diff --git a/data/graphics.s b/data/graphics.s deleted file mode 100644 index 2c1a98924e..0000000000 --- a/data/graphics.s +++ /dev/null @@ -1,11 +0,0 @@ - .section gfx_data, "aw", %progbits - - @ random garbage at the end. why, game freak? - .space 0x54BAC - .byte 0x0D, 0x00, 0x58, 0x02 @ why? - @ E38BC8 - .space 0x1145 - .byte 0x02 @ whyyyyy? - .space 0x3242 - .byte 0x40 @ WHYYYYYYYY - .space 0x13 diff --git a/ld_script.txt b/ld_script.txt index 0a6a222908..161b26e565 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -1128,7 +1128,7 @@ SECTIONS { anim_mon_front_pic_data : ALIGN(4) { - data/anim_mon_front_pics.o(anim_mon_front_pic_data); + src/anim_mon_front_pics.o(.rodata); } =0 gap2 : @@ -1142,7 +1142,6 @@ SECTIONS { ALIGN(4) { src/graphics.o(.rodata); - data/graphics.o(gfx_data); } =0 /* Discard everything not specifically mentioned above. */ diff --git a/src/anim_mon_front_pics.c b/src/anim_mon_front_pics.c new file mode 100644 index 0000000000..b30889a35f --- /dev/null +++ b/src/anim_mon_front_pics.c @@ -0,0 +1,424 @@ +#include "global.h" + +const u8 gMonFrontPic_CircledQuestionMark[] = INCBIN_U8("graphics/pokemon/anim_front_pics/circled_question_mark_front_pic.4bpp.lz"); + +const u8 gMonFrontPic_Bulbasaur[] = INCBIN_U8("graphics/pokemon/anim_front_pics/bulbasaur_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Ivysaur[] = INCBIN_U8("graphics/pokemon/anim_front_pics/ivysaur_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Venusaur[] = INCBIN_U8("graphics/pokemon/anim_front_pics/venusaur_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Charmander[] = INCBIN_U8("graphics/pokemon/anim_front_pics/charmander_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Charmeleon[] = INCBIN_U8("graphics/pokemon/anim_front_pics/charmeleon_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Charizard[] = INCBIN_U8("graphics/pokemon/anim_front_pics/charizard_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Squirtle[] = INCBIN_U8("graphics/pokemon/anim_front_pics/squirtle_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Wartortle[] = INCBIN_U8("graphics/pokemon/anim_front_pics/wartortle_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Blastoise[] = INCBIN_U8("graphics/pokemon/anim_front_pics/blastoise_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Caterpie[] = INCBIN_U8("graphics/pokemon/anim_front_pics/caterpie_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Metapod[] = INCBIN_U8("graphics/pokemon/anim_front_pics/metapod_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Butterfree[] = INCBIN_U8("graphics/pokemon/anim_front_pics/butterfree_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Weedle[] = INCBIN_U8("graphics/pokemon/anim_front_pics/weedle_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Kakuna[] = INCBIN_U8("graphics/pokemon/anim_front_pics/kakuna_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Beedrill[] = INCBIN_U8("graphics/pokemon/anim_front_pics/beedrill_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Pidgey[] = INCBIN_U8("graphics/pokemon/anim_front_pics/pidgey_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Pidgeotto[] = INCBIN_U8("graphics/pokemon/anim_front_pics/pidgeotto_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Pidgeot[] = INCBIN_U8("graphics/pokemon/anim_front_pics/pidgeot_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Rattata[] = INCBIN_U8("graphics/pokemon/anim_front_pics/rattata_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Raticate[] = INCBIN_U8("graphics/pokemon/anim_front_pics/raticate_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Spearow[] = INCBIN_U8("graphics/pokemon/anim_front_pics/spearow_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Fearow[] = INCBIN_U8("graphics/pokemon/anim_front_pics/fearow_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Ekans[] = INCBIN_U8("graphics/pokemon/anim_front_pics/ekans_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Arbok[] = INCBIN_U8("graphics/pokemon/anim_front_pics/arbok_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Pikachu[] = INCBIN_U8("graphics/pokemon/anim_front_pics/pikachu_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Raichu[] = INCBIN_U8("graphics/pokemon/anim_front_pics/raichu_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Sandshrew[] = INCBIN_U8("graphics/pokemon/anim_front_pics/sandshrew_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Sandslash[] = INCBIN_U8("graphics/pokemon/anim_front_pics/sandslash_front_pic.4bpp.lz"); +const u8 gMonFrontPic_NidoranF[] = INCBIN_U8("graphics/pokemon/anim_front_pics/nidoran_f_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Nidorina[] = INCBIN_U8("graphics/pokemon/anim_front_pics/nidorina_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Nidoqueen[] = INCBIN_U8("graphics/pokemon/anim_front_pics/nidoqueen_front_pic.4bpp.lz"); +const u8 gMonFrontPic_NidoranM[] = INCBIN_U8("graphics/pokemon/anim_front_pics/nidoran_m_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Nidorino[] = INCBIN_U8("graphics/pokemon/anim_front_pics/nidorino_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Nidoking[] = INCBIN_U8("graphics/pokemon/anim_front_pics/nidoking_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Clefairy[] = INCBIN_U8("graphics/pokemon/anim_front_pics/clefairy_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Clefable[] = INCBIN_U8("graphics/pokemon/anim_front_pics/clefable_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Vulpix[] = INCBIN_U8("graphics/pokemon/anim_front_pics/vulpix_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Ninetales[] = INCBIN_U8("graphics/pokemon/anim_front_pics/ninetales_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Jigglypuff[] = INCBIN_U8("graphics/pokemon/anim_front_pics/jigglypuff_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Wigglytuff[] = INCBIN_U8("graphics/pokemon/anim_front_pics/wigglytuff_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Zubat[] = INCBIN_U8("graphics/pokemon/anim_front_pics/zubat_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Golbat[] = INCBIN_U8("graphics/pokemon/anim_front_pics/golbat_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Oddish[] = INCBIN_U8("graphics/pokemon/anim_front_pics/oddish_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Gloom[] = INCBIN_U8("graphics/pokemon/anim_front_pics/gloom_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Vileplume[] = INCBIN_U8("graphics/pokemon/anim_front_pics/vileplume_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Paras[] = INCBIN_U8("graphics/pokemon/anim_front_pics/paras_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Parasect[] = INCBIN_U8("graphics/pokemon/anim_front_pics/parasect_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Venonat[] = INCBIN_U8("graphics/pokemon/anim_front_pics/venonat_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Venomoth[] = INCBIN_U8("graphics/pokemon/anim_front_pics/venomoth_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Diglett[] = INCBIN_U8("graphics/pokemon/anim_front_pics/diglett_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Dugtrio[] = INCBIN_U8("graphics/pokemon/anim_front_pics/dugtrio_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Meowth[] = INCBIN_U8("graphics/pokemon/anim_front_pics/meowth_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Persian[] = INCBIN_U8("graphics/pokemon/anim_front_pics/persian_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Psyduck[] = INCBIN_U8("graphics/pokemon/anim_front_pics/psyduck_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Golduck[] = INCBIN_U8("graphics/pokemon/anim_front_pics/golduck_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Mankey[] = INCBIN_U8("graphics/pokemon/anim_front_pics/mankey_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Primeape[] = INCBIN_U8("graphics/pokemon/anim_front_pics/primeape_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Growlithe[] = INCBIN_U8("graphics/pokemon/anim_front_pics/growlithe_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Arcanine[] = INCBIN_U8("graphics/pokemon/anim_front_pics/arcanine_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Poliwag[] = INCBIN_U8("graphics/pokemon/anim_front_pics/poliwag_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Poliwhirl[] = INCBIN_U8("graphics/pokemon/anim_front_pics/poliwhirl_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Poliwrath[] = INCBIN_U8("graphics/pokemon/anim_front_pics/poliwrath_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Abra[] = INCBIN_U8("graphics/pokemon/anim_front_pics/abra_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Kadabra[] = INCBIN_U8("graphics/pokemon/anim_front_pics/kadabra_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Alakazam[] = INCBIN_U8("graphics/pokemon/anim_front_pics/alakazam_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Machop[] = INCBIN_U8("graphics/pokemon/anim_front_pics/machop_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Machoke[] = INCBIN_U8("graphics/pokemon/anim_front_pics/machoke_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Machamp[] = INCBIN_U8("graphics/pokemon/anim_front_pics/machamp_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Bellsprout[] = INCBIN_U8("graphics/pokemon/anim_front_pics/bellsprout_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Weepinbell[] = INCBIN_U8("graphics/pokemon/anim_front_pics/weepinbell_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Victreebel[] = INCBIN_U8("graphics/pokemon/anim_front_pics/victreebel_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Tentacool[] = INCBIN_U8("graphics/pokemon/anim_front_pics/tentacool_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Tentacruel[] = INCBIN_U8("graphics/pokemon/anim_front_pics/tentacruel_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Geodude[] = INCBIN_U8("graphics/pokemon/anim_front_pics/geodude_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Graveler[] = INCBIN_U8("graphics/pokemon/anim_front_pics/graveler_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Golem[] = INCBIN_U8("graphics/pokemon/anim_front_pics/golem_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Ponyta[] = INCBIN_U8("graphics/pokemon/anim_front_pics/ponyta_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Rapidash[] = INCBIN_U8("graphics/pokemon/anim_front_pics/rapidash_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Slowpoke[] = INCBIN_U8("graphics/pokemon/anim_front_pics/slowpoke_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Slowbro[] = INCBIN_U8("graphics/pokemon/anim_front_pics/slowbro_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Magnemite[] = INCBIN_U8("graphics/pokemon/anim_front_pics/magnemite_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Magneton[] = INCBIN_U8("graphics/pokemon/anim_front_pics/magneton_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Farfetchd[] = INCBIN_U8("graphics/pokemon/anim_front_pics/farfetch_d_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Doduo[] = INCBIN_U8("graphics/pokemon/anim_front_pics/doduo_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Dodrio[] = INCBIN_U8("graphics/pokemon/anim_front_pics/dodrio_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Seel[] = INCBIN_U8("graphics/pokemon/anim_front_pics/seel_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Dewgong[] = INCBIN_U8("graphics/pokemon/anim_front_pics/dewgong_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Grimer[] = INCBIN_U8("graphics/pokemon/anim_front_pics/grimer_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Muk[] = INCBIN_U8("graphics/pokemon/anim_front_pics/muk_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Shellder[] = INCBIN_U8("graphics/pokemon/anim_front_pics/shellder_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Cloyster[] = INCBIN_U8("graphics/pokemon/anim_front_pics/cloyster_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Gastly[] = INCBIN_U8("graphics/pokemon/anim_front_pics/gastly_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Haunter[] = INCBIN_U8("graphics/pokemon/anim_front_pics/haunter_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Gengar[] = INCBIN_U8("graphics/pokemon/anim_front_pics/gengar_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Onix[] = INCBIN_U8("graphics/pokemon/anim_front_pics/onix_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Drowzee[] = INCBIN_U8("graphics/pokemon/anim_front_pics/drowzee_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Hypno[] = INCBIN_U8("graphics/pokemon/anim_front_pics/hypno_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Krabby[] = INCBIN_U8("graphics/pokemon/anim_front_pics/krabby_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Kingler[] = INCBIN_U8("graphics/pokemon/anim_front_pics/kingler_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Voltorb[] = INCBIN_U8("graphics/pokemon/anim_front_pics/voltorb_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Electrode[] = INCBIN_U8("graphics/pokemon/anim_front_pics/electrode_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Exeggcute[] = INCBIN_U8("graphics/pokemon/anim_front_pics/exeggcute_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Exeggutor[] = INCBIN_U8("graphics/pokemon/anim_front_pics/exeggutor_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Cubone[] = INCBIN_U8("graphics/pokemon/anim_front_pics/cubone_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Marowak[] = INCBIN_U8("graphics/pokemon/anim_front_pics/marowak_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Hitmonlee[] = INCBIN_U8("graphics/pokemon/anim_front_pics/hitmonlee_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Hitmonchan[] = INCBIN_U8("graphics/pokemon/anim_front_pics/hitmonchan_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Lickitung[] = INCBIN_U8("graphics/pokemon/anim_front_pics/lickitung_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Koffing[] = INCBIN_U8("graphics/pokemon/anim_front_pics/koffing_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Weezing[] = INCBIN_U8("graphics/pokemon/anim_front_pics/weezing_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Rhyhorn[] = INCBIN_U8("graphics/pokemon/anim_front_pics/rhyhorn_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Rhydon[] = INCBIN_U8("graphics/pokemon/anim_front_pics/rhydon_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Chansey[] = INCBIN_U8("graphics/pokemon/anim_front_pics/chansey_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Tangela[] = INCBIN_U8("graphics/pokemon/anim_front_pics/tangela_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Kangaskhan[] = INCBIN_U8("graphics/pokemon/anim_front_pics/kangaskhan_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Horsea[] = INCBIN_U8("graphics/pokemon/anim_front_pics/horsea_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Seadra[] = INCBIN_U8("graphics/pokemon/anim_front_pics/seadra_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Goldeen[] = INCBIN_U8("graphics/pokemon/anim_front_pics/goldeen_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Seaking[] = INCBIN_U8("graphics/pokemon/anim_front_pics/seaking_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Staryu[] = INCBIN_U8("graphics/pokemon/anim_front_pics/staryu_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Starmie[] = INCBIN_U8("graphics/pokemon/anim_front_pics/starmie_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Mrmime[] = INCBIN_U8("graphics/pokemon/anim_front_pics/mr_mime_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Scyther[] = INCBIN_U8("graphics/pokemon/anim_front_pics/scyther_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Jynx[] = INCBIN_U8("graphics/pokemon/anim_front_pics/jynx_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Electabuzz[] = INCBIN_U8("graphics/pokemon/anim_front_pics/electabuzz_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Magmar[] = INCBIN_U8("graphics/pokemon/anim_front_pics/magmar_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Pinsir[] = INCBIN_U8("graphics/pokemon/anim_front_pics/pinsir_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Tauros[] = INCBIN_U8("graphics/pokemon/anim_front_pics/tauros_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Magikarp[] = INCBIN_U8("graphics/pokemon/anim_front_pics/magikarp_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Gyarados[] = INCBIN_U8("graphics/pokemon/anim_front_pics/gyarados_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Lapras[] = INCBIN_U8("graphics/pokemon/anim_front_pics/lapras_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Ditto[] = INCBIN_U8("graphics/pokemon/anim_front_pics/ditto_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Eevee[] = INCBIN_U8("graphics/pokemon/anim_front_pics/eevee_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Vaporeon[] = INCBIN_U8("graphics/pokemon/anim_front_pics/vaporeon_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Jolteon[] = INCBIN_U8("graphics/pokemon/anim_front_pics/jolteon_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Flareon[] = INCBIN_U8("graphics/pokemon/anim_front_pics/flareon_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Porygon[] = INCBIN_U8("graphics/pokemon/anim_front_pics/porygon_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Omanyte[] = INCBIN_U8("graphics/pokemon/anim_front_pics/omanyte_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Omastar[] = INCBIN_U8("graphics/pokemon/anim_front_pics/omastar_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Kabuto[] = INCBIN_U8("graphics/pokemon/anim_front_pics/kabuto_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Kabutops[] = INCBIN_U8("graphics/pokemon/anim_front_pics/kabutops_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Aerodactyl[] = INCBIN_U8("graphics/pokemon/anim_front_pics/aerodactyl_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Snorlax[] = INCBIN_U8("graphics/pokemon/anim_front_pics/snorlax_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Articuno[] = INCBIN_U8("graphics/pokemon/anim_front_pics/articuno_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Zapdos[] = INCBIN_U8("graphics/pokemon/anim_front_pics/zapdos_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Moltres[] = INCBIN_U8("graphics/pokemon/anim_front_pics/moltres_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Dratini[] = INCBIN_U8("graphics/pokemon/anim_front_pics/dratini_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Dragonair[] = INCBIN_U8("graphics/pokemon/anim_front_pics/dragonair_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Dragonite[] = INCBIN_U8("graphics/pokemon/anim_front_pics/dragonite_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Mewtwo[] = INCBIN_U8("graphics/pokemon/anim_front_pics/mewtwo_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Mew[] = INCBIN_U8("graphics/pokemon/anim_front_pics/mew_front_pic.4bpp.lz"); + +const u8 gMonFrontPic_Chikorita[] = INCBIN_U8("graphics/pokemon/anim_front_pics/chikorita_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Bayleef[] = INCBIN_U8("graphics/pokemon/anim_front_pics/bayleef_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Meganium[] = INCBIN_U8("graphics/pokemon/anim_front_pics/meganium_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Cyndaquil[] = INCBIN_U8("graphics/pokemon/anim_front_pics/cyndaquil_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Quilava[] = INCBIN_U8("graphics/pokemon/anim_front_pics/quilava_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Typhlosion[] = INCBIN_U8("graphics/pokemon/anim_front_pics/typhlosion_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Totodile[] = INCBIN_U8("graphics/pokemon/anim_front_pics/totodile_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Croconaw[] = INCBIN_U8("graphics/pokemon/anim_front_pics/croconaw_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Feraligatr[] = INCBIN_U8("graphics/pokemon/anim_front_pics/feraligatr_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Sentret[] = INCBIN_U8("graphics/pokemon/anim_front_pics/sentret_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Furret[] = INCBIN_U8("graphics/pokemon/anim_front_pics/furret_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Hoothoot[] = INCBIN_U8("graphics/pokemon/anim_front_pics/hoothoot_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Noctowl[] = INCBIN_U8("graphics/pokemon/anim_front_pics/noctowl_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Ledyba[] = INCBIN_U8("graphics/pokemon/anim_front_pics/ledyba_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Ledian[] = INCBIN_U8("graphics/pokemon/anim_front_pics/ledian_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Spinarak[] = INCBIN_U8("graphics/pokemon/anim_front_pics/spinarak_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Ariados[] = INCBIN_U8("graphics/pokemon/anim_front_pics/ariados_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Crobat[] = INCBIN_U8("graphics/pokemon/anim_front_pics/crobat_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Chinchou[] = INCBIN_U8("graphics/pokemon/anim_front_pics/chinchou_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Lanturn[] = INCBIN_U8("graphics/pokemon/anim_front_pics/lanturn_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Pichu[] = INCBIN_U8("graphics/pokemon/anim_front_pics/pichu_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Cleffa[] = INCBIN_U8("graphics/pokemon/anim_front_pics/cleffa_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Igglybuff[] = INCBIN_U8("graphics/pokemon/anim_front_pics/igglybuff_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Togepi[] = INCBIN_U8("graphics/pokemon/anim_front_pics/togepi_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Togetic[] = INCBIN_U8("graphics/pokemon/anim_front_pics/togetic_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Natu[] = INCBIN_U8("graphics/pokemon/anim_front_pics/natu_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Xatu[] = INCBIN_U8("graphics/pokemon/anim_front_pics/xatu_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Mareep[] = INCBIN_U8("graphics/pokemon/anim_front_pics/mareep_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Flaaffy[] = INCBIN_U8("graphics/pokemon/anim_front_pics/flaaffy_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Ampharos[] = INCBIN_U8("graphics/pokemon/anim_front_pics/ampharos_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Bellossom[] = INCBIN_U8("graphics/pokemon/anim_front_pics/bellossom_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Marill[] = INCBIN_U8("graphics/pokemon/anim_front_pics/marill_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Azumarill[] = INCBIN_U8("graphics/pokemon/anim_front_pics/azumarill_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Sudowoodo[] = INCBIN_U8("graphics/pokemon/anim_front_pics/sudowoodo_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Politoed[] = INCBIN_U8("graphics/pokemon/anim_front_pics/politoed_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Hoppip[] = INCBIN_U8("graphics/pokemon/anim_front_pics/hoppip_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Skiploom[] = INCBIN_U8("graphics/pokemon/anim_front_pics/skiploom_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Jumpluff[] = INCBIN_U8("graphics/pokemon/anim_front_pics/jumpluff_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Aipom[] = INCBIN_U8("graphics/pokemon/anim_front_pics/aipom_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Sunkern[] = INCBIN_U8("graphics/pokemon/anim_front_pics/sunkern_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Sunflora[] = INCBIN_U8("graphics/pokemon/anim_front_pics/sunflora_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Yanma[] = INCBIN_U8("graphics/pokemon/anim_front_pics/yanma_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Wooper[] = INCBIN_U8("graphics/pokemon/anim_front_pics/wooper_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Quagsire[] = INCBIN_U8("graphics/pokemon/anim_front_pics/quagsire_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Espeon[] = INCBIN_U8("graphics/pokemon/anim_front_pics/espeon_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Umbreon[] = INCBIN_U8("graphics/pokemon/anim_front_pics/umbreon_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Murkrow[] = INCBIN_U8("graphics/pokemon/anim_front_pics/murkrow_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Slowking[] = INCBIN_U8("graphics/pokemon/anim_front_pics/slowking_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Misdreavus[] = INCBIN_U8("graphics/pokemon/anim_front_pics/misdreavus_front_pic.4bpp.lz"); +const u8 gMonFrontPic_UnownA[] = INCBIN_U8("graphics/pokemon/anim_front_pics/unown_a_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Wobbuffet[] = INCBIN_U8("graphics/pokemon/anim_front_pics/wobbuffet_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Girafarig[] = INCBIN_U8("graphics/pokemon/anim_front_pics/girafarig_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Pineco[] = INCBIN_U8("graphics/pokemon/anim_front_pics/pineco_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Forretress[] = INCBIN_U8("graphics/pokemon/anim_front_pics/forretress_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Dunsparce[] = INCBIN_U8("graphics/pokemon/anim_front_pics/dunsparce_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Gligar[] = INCBIN_U8("graphics/pokemon/anim_front_pics/gligar_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Steelix[] = INCBIN_U8("graphics/pokemon/anim_front_pics/steelix_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Snubbull[] = INCBIN_U8("graphics/pokemon/anim_front_pics/snubbull_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Granbull[] = INCBIN_U8("graphics/pokemon/anim_front_pics/granbull_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Qwilfish[] = INCBIN_U8("graphics/pokemon/anim_front_pics/qwilfish_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Scizor[] = INCBIN_U8("graphics/pokemon/anim_front_pics/scizor_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Shuckle[] = INCBIN_U8("graphics/pokemon/anim_front_pics/shuckle_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Heracross[] = INCBIN_U8("graphics/pokemon/anim_front_pics/heracross_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Sneasel[] = INCBIN_U8("graphics/pokemon/anim_front_pics/sneasel_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Teddiursa[] = INCBIN_U8("graphics/pokemon/anim_front_pics/teddiursa_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Ursaring[] = INCBIN_U8("graphics/pokemon/anim_front_pics/ursaring_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Slugma[] = INCBIN_U8("graphics/pokemon/anim_front_pics/slugma_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Magcargo[] = INCBIN_U8("graphics/pokemon/anim_front_pics/magcargo_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Swinub[] = INCBIN_U8("graphics/pokemon/anim_front_pics/swinub_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Piloswine[] = INCBIN_U8("graphics/pokemon/anim_front_pics/piloswine_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Corsola[] = INCBIN_U8("graphics/pokemon/anim_front_pics/corsola_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Remoraid[] = INCBIN_U8("graphics/pokemon/anim_front_pics/remoraid_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Octillery[] = INCBIN_U8("graphics/pokemon/anim_front_pics/octillery_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Delibird[] = INCBIN_U8("graphics/pokemon/anim_front_pics/delibird_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Mantine[] = INCBIN_U8("graphics/pokemon/anim_front_pics/mantine_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Skarmory[] = INCBIN_U8("graphics/pokemon/anim_front_pics/skarmory_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Houndour[] = INCBIN_U8("graphics/pokemon/anim_front_pics/houndour_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Houndoom[] = INCBIN_U8("graphics/pokemon/anim_front_pics/houndoom_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Kingdra[] = INCBIN_U8("graphics/pokemon/anim_front_pics/kingdra_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Phanpy[] = INCBIN_U8("graphics/pokemon/anim_front_pics/phanpy_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Donphan[] = INCBIN_U8("graphics/pokemon/anim_front_pics/donphan_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Porygon2[] = INCBIN_U8("graphics/pokemon/anim_front_pics/porygon2_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Stantler[] = INCBIN_U8("graphics/pokemon/anim_front_pics/stantler_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Smeargle[] = INCBIN_U8("graphics/pokemon/anim_front_pics/smeargle_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Tyrogue[] = INCBIN_U8("graphics/pokemon/anim_front_pics/tyrogue_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Hitmontop[] = INCBIN_U8("graphics/pokemon/anim_front_pics/hitmontop_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Smoochum[] = INCBIN_U8("graphics/pokemon/anim_front_pics/smoochum_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Elekid[] = INCBIN_U8("graphics/pokemon/anim_front_pics/elekid_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Magby[] = INCBIN_U8("graphics/pokemon/anim_front_pics/magby_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Miltank[] = INCBIN_U8("graphics/pokemon/anim_front_pics/miltank_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Blissey[] = INCBIN_U8("graphics/pokemon/anim_front_pics/blissey_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Raikou[] = INCBIN_U8("graphics/pokemon/anim_front_pics/raikou_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Entei[] = INCBIN_U8("graphics/pokemon/anim_front_pics/entei_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Suicune[] = INCBIN_U8("graphics/pokemon/anim_front_pics/suicune_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Larvitar[] = INCBIN_U8("graphics/pokemon/anim_front_pics/larvitar_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Pupitar[] = INCBIN_U8("graphics/pokemon/anim_front_pics/pupitar_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Tyranitar[] = INCBIN_U8("graphics/pokemon/anim_front_pics/tyranitar_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Lugia[] = INCBIN_U8("graphics/pokemon/anim_front_pics/lugia_front_pic.4bpp.lz"); +const u8 gMonFrontPic_HoOh[] = INCBIN_U8("graphics/pokemon/anim_front_pics/ho_oh_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Celebi[] = INCBIN_U8("graphics/pokemon/anim_front_pics/celebi_front_pic.4bpp.lz"); + +const u8 gMonFrontPic_DoubleQuestionMark[] = INCBIN_U8("graphics/pokemon/anim_front_pics/double_question_mark_front_pic.4bpp.lz"); + +const u8 gMonFrontPic_Treecko[] = INCBIN_U8("graphics/pokemon/anim_front_pics/treecko_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Grovyle[] = INCBIN_U8("graphics/pokemon/anim_front_pics/grovyle_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Sceptile[] = INCBIN_U8("graphics/pokemon/anim_front_pics/sceptile_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Torchic[] = INCBIN_U8("graphics/pokemon/anim_front_pics/torchic_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Combusken[] = INCBIN_U8("graphics/pokemon/anim_front_pics/combusken_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Blaziken[] = INCBIN_U8("graphics/pokemon/anim_front_pics/blaziken_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Mudkip[] = INCBIN_U8("graphics/pokemon/anim_front_pics/mudkip_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Marshtomp[] = INCBIN_U8("graphics/pokemon/anim_front_pics/marshtomp_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Swampert[] = INCBIN_U8("graphics/pokemon/anim_front_pics/swampert_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Poochyena[] = INCBIN_U8("graphics/pokemon/anim_front_pics/poochyena_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Mightyena[] = INCBIN_U8("graphics/pokemon/anim_front_pics/mightyena_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Zigzagoon[] = INCBIN_U8("graphics/pokemon/anim_front_pics/zigzagoon_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Linoone[] = INCBIN_U8("graphics/pokemon/anim_front_pics/linoone_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Wurmple[] = INCBIN_U8("graphics/pokemon/anim_front_pics/wurmple_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Silcoon[] = INCBIN_U8("graphics/pokemon/anim_front_pics/silcoon_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Beautifly[] = INCBIN_U8("graphics/pokemon/anim_front_pics/beautifly_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Cascoon[] = INCBIN_U8("graphics/pokemon/anim_front_pics/cascoon_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Dustox[] = INCBIN_U8("graphics/pokemon/anim_front_pics/dustox_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Lotad[] = INCBIN_U8("graphics/pokemon/anim_front_pics/lotad_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Lombre[] = INCBIN_U8("graphics/pokemon/anim_front_pics/lombre_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Ludicolo[] = INCBIN_U8("graphics/pokemon/anim_front_pics/ludicolo_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Seedot[] = INCBIN_U8("graphics/pokemon/anim_front_pics/seedot_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Nuzleaf[] = INCBIN_U8("graphics/pokemon/anim_front_pics/nuzleaf_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Shiftry[] = INCBIN_U8("graphics/pokemon/anim_front_pics/shiftry_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Nincada[] = INCBIN_U8("graphics/pokemon/anim_front_pics/nincada_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Ninjask[] = INCBIN_U8("graphics/pokemon/anim_front_pics/ninjask_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Shedinja[] = INCBIN_U8("graphics/pokemon/anim_front_pics/shedinja_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Taillow[] = INCBIN_U8("graphics/pokemon/anim_front_pics/taillow_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Swellow[] = INCBIN_U8("graphics/pokemon/anim_front_pics/swellow_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Shroomish[] = INCBIN_U8("graphics/pokemon/anim_front_pics/shroomish_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Breloom[] = INCBIN_U8("graphics/pokemon/anim_front_pics/breloom_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Spinda[] = INCBIN_U8("graphics/pokemon/anim_front_pics/spinda_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Wingull[] = INCBIN_U8("graphics/pokemon/anim_front_pics/wingull_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Pelipper[] = INCBIN_U8("graphics/pokemon/anim_front_pics/pelipper_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Surskit[] = INCBIN_U8("graphics/pokemon/anim_front_pics/surskit_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Masquerain[] = INCBIN_U8("graphics/pokemon/anim_front_pics/masquerain_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Wailmer[] = INCBIN_U8("graphics/pokemon/anim_front_pics/wailmer_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Wailord[] = INCBIN_U8("graphics/pokemon/anim_front_pics/wailord_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Skitty[] = INCBIN_U8("graphics/pokemon/anim_front_pics/skitty_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Delcatty[] = INCBIN_U8("graphics/pokemon/anim_front_pics/delcatty_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Kecleon[] = INCBIN_U8("graphics/pokemon/anim_front_pics/kecleon_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Baltoy[] = INCBIN_U8("graphics/pokemon/anim_front_pics/baltoy_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Claydol[] = INCBIN_U8("graphics/pokemon/anim_front_pics/claydol_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Nosepass[] = INCBIN_U8("graphics/pokemon/anim_front_pics/nosepass_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Torkoal[] = INCBIN_U8("graphics/pokemon/anim_front_pics/torkoal_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Sableye[] = INCBIN_U8("graphics/pokemon/anim_front_pics/sableye_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Barboach[] = INCBIN_U8("graphics/pokemon/anim_front_pics/barboach_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Whiscash[] = INCBIN_U8("graphics/pokemon/anim_front_pics/whiscash_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Luvdisc[] = INCBIN_U8("graphics/pokemon/anim_front_pics/luvdisc_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Corphish[] = INCBIN_U8("graphics/pokemon/anim_front_pics/corphish_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Crawdaunt[] = INCBIN_U8("graphics/pokemon/anim_front_pics/crawdaunt_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Feebas[] = INCBIN_U8("graphics/pokemon/anim_front_pics/feebas_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Milotic[] = INCBIN_U8("graphics/pokemon/anim_front_pics/milotic_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Carvanha[] = INCBIN_U8("graphics/pokemon/anim_front_pics/carvanha_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Sharpedo[] = INCBIN_U8("graphics/pokemon/anim_front_pics/sharpedo_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Trapinch[] = INCBIN_U8("graphics/pokemon/anim_front_pics/trapinch_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Vibrava[] = INCBIN_U8("graphics/pokemon/anim_front_pics/vibrava_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Flygon[] = INCBIN_U8("graphics/pokemon/anim_front_pics/flygon_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Makuhita[] = INCBIN_U8("graphics/pokemon/anim_front_pics/makuhita_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Hariyama[] = INCBIN_U8("graphics/pokemon/anim_front_pics/hariyama_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Electrike[] = INCBIN_U8("graphics/pokemon/anim_front_pics/electrike_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Manectric[] = INCBIN_U8("graphics/pokemon/anim_front_pics/manectric_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Numel[] = INCBIN_U8("graphics/pokemon/anim_front_pics/numel_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Camerupt[] = INCBIN_U8("graphics/pokemon/anim_front_pics/camerupt_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Spheal[] = INCBIN_U8("graphics/pokemon/anim_front_pics/spheal_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Sealeo[] = INCBIN_U8("graphics/pokemon/anim_front_pics/sealeo_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Walrein[] = INCBIN_U8("graphics/pokemon/anim_front_pics/walrein_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Cacnea[] = INCBIN_U8("graphics/pokemon/anim_front_pics/cacnea_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Cacturne[] = INCBIN_U8("graphics/pokemon/anim_front_pics/cacturne_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Snorunt[] = INCBIN_U8("graphics/pokemon/anim_front_pics/snorunt_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Glalie[] = INCBIN_U8("graphics/pokemon/anim_front_pics/glalie_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Lunatone[] = INCBIN_U8("graphics/pokemon/anim_front_pics/lunatone_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Solrock[] = INCBIN_U8("graphics/pokemon/anim_front_pics/solrock_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Azurill[] = INCBIN_U8("graphics/pokemon/anim_front_pics/azurill_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Spoink[] = INCBIN_U8("graphics/pokemon/anim_front_pics/spoink_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Grumpig[] = INCBIN_U8("graphics/pokemon/anim_front_pics/grumpig_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Plusle[] = INCBIN_U8("graphics/pokemon/anim_front_pics/plusle_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Minun[] = INCBIN_U8("graphics/pokemon/anim_front_pics/minun_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Mawile[] = INCBIN_U8("graphics/pokemon/anim_front_pics/mawile_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Meditite[] = INCBIN_U8("graphics/pokemon/anim_front_pics/meditite_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Medicham[] = INCBIN_U8("graphics/pokemon/anim_front_pics/medicham_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Swablu[] = INCBIN_U8("graphics/pokemon/anim_front_pics/swablu_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Altaria[] = INCBIN_U8("graphics/pokemon/anim_front_pics/altaria_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Wynaut[] = INCBIN_U8("graphics/pokemon/anim_front_pics/wynaut_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Duskull[] = INCBIN_U8("graphics/pokemon/anim_front_pics/duskull_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Dusclops[] = INCBIN_U8("graphics/pokemon/anim_front_pics/dusclops_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Roselia[] = INCBIN_U8("graphics/pokemon/anim_front_pics/roselia_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Slakoth[] = INCBIN_U8("graphics/pokemon/anim_front_pics/slakoth_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Vigoroth[] = INCBIN_U8("graphics/pokemon/anim_front_pics/vigoroth_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Slaking[] = INCBIN_U8("graphics/pokemon/anim_front_pics/slaking_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Gulpin[] = INCBIN_U8("graphics/pokemon/anim_front_pics/gulpin_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Swalot[] = INCBIN_U8("graphics/pokemon/anim_front_pics/swalot_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Tropius[] = INCBIN_U8("graphics/pokemon/anim_front_pics/tropius_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Whismur[] = INCBIN_U8("graphics/pokemon/anim_front_pics/whismur_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Loudred[] = INCBIN_U8("graphics/pokemon/anim_front_pics/loudred_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Exploud[] = INCBIN_U8("graphics/pokemon/anim_front_pics/exploud_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Clamperl[] = INCBIN_U8("graphics/pokemon/anim_front_pics/clamperl_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Huntail[] = INCBIN_U8("graphics/pokemon/anim_front_pics/huntail_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Gorebyss[] = INCBIN_U8("graphics/pokemon/anim_front_pics/gorebyss_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Absol[] = INCBIN_U8("graphics/pokemon/anim_front_pics/absol_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Shuppet[] = INCBIN_U8("graphics/pokemon/anim_front_pics/shuppet_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Banette[] = INCBIN_U8("graphics/pokemon/anim_front_pics/banette_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Seviper[] = INCBIN_U8("graphics/pokemon/anim_front_pics/seviper_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Zangoose[] = INCBIN_U8("graphics/pokemon/anim_front_pics/zangoose_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Relicanth[] = INCBIN_U8("graphics/pokemon/anim_front_pics/relicanth_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Aron[] = INCBIN_U8("graphics/pokemon/anim_front_pics/aron_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Lairon[] = INCBIN_U8("graphics/pokemon/anim_front_pics/lairon_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Aggron[] = INCBIN_U8("graphics/pokemon/anim_front_pics/aggron_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Castform[] = INCBIN_U8("graphics/pokemon/anim_front_pics/castform_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Volbeat[] = INCBIN_U8("graphics/pokemon/anim_front_pics/volbeat_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Illumise[] = INCBIN_U8("graphics/pokemon/anim_front_pics/illumise_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Lileep[] = INCBIN_U8("graphics/pokemon/anim_front_pics/lileep_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Cradily[] = INCBIN_U8("graphics/pokemon/anim_front_pics/cradily_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Anorith[] = INCBIN_U8("graphics/pokemon/anim_front_pics/anorith_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Armaldo[] = INCBIN_U8("graphics/pokemon/anim_front_pics/armaldo_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Ralts[] = INCBIN_U8("graphics/pokemon/anim_front_pics/ralts_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Kirlia[] = INCBIN_U8("graphics/pokemon/anim_front_pics/kirlia_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Gardevoir[] = INCBIN_U8("graphics/pokemon/anim_front_pics/gardevoir_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Bagon[] = INCBIN_U8("graphics/pokemon/anim_front_pics/bagon_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Shelgon[] = INCBIN_U8("graphics/pokemon/anim_front_pics/shelgon_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Salamence[] = INCBIN_U8("graphics/pokemon/anim_front_pics/salamence_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Beldum[] = INCBIN_U8("graphics/pokemon/anim_front_pics/beldum_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Metang[] = INCBIN_U8("graphics/pokemon/anim_front_pics/metang_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Metagross[] = INCBIN_U8("graphics/pokemon/anim_front_pics/metagross_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Regirock[] = INCBIN_U8("graphics/pokemon/anim_front_pics/regirock_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Regice[] = INCBIN_U8("graphics/pokemon/anim_front_pics/regice_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Registeel[] = INCBIN_U8("graphics/pokemon/anim_front_pics/registeel_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Kyogre[] = INCBIN_U8("graphics/pokemon/anim_front_pics/kyogre_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Groudon[] = INCBIN_U8("graphics/pokemon/anim_front_pics/groudon_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Rayquaza[] = INCBIN_U8("graphics/pokemon/anim_front_pics/rayquaza_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Latias[] = INCBIN_U8("graphics/pokemon/anim_front_pics/latias_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Latios[] = INCBIN_U8("graphics/pokemon/anim_front_pics/latios_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Jirachi[] = INCBIN_U8("graphics/pokemon/anim_front_pics/jirachi_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Deoxys[] = INCBIN_U8("graphics/pokemon/anim_front_pics/deoxys_front_pic.4bpp.lz"); +const u8 gMonFrontPic_Chimecho[] = INCBIN_U8("graphics/pokemon/anim_front_pics/chimecho_front_pic.4bpp.lz"); + +const u8 gMonFrontPic_Egg[] = INCBIN_U8("graphics/pokemon/anim_front_pics/egg_front_pic.4bpp.lz"); + +const u8 gMonFrontPic_UnownB[] = INCBIN_U8("graphics/pokemon/anim_front_pics/unown_b_front_pic.4bpp.lz"); +const u8 gMonFrontPic_UnownC[] = INCBIN_U8("graphics/pokemon/anim_front_pics/unown_c_front_pic.4bpp.lz"); +const u8 gMonFrontPic_UnownD[] = INCBIN_U8("graphics/pokemon/anim_front_pics/unown_d_front_pic.4bpp.lz"); +const u8 gMonFrontPic_UnownE[] = INCBIN_U8("graphics/pokemon/anim_front_pics/unown_e_front_pic.4bpp.lz"); +const u8 gMonFrontPic_UnownF[] = INCBIN_U8("graphics/pokemon/anim_front_pics/unown_f_front_pic.4bpp.lz"); +const u8 gMonFrontPic_UnownG[] = INCBIN_U8("graphics/pokemon/anim_front_pics/unown_g_front_pic.4bpp.lz"); +const u8 gMonFrontPic_UnownH[] = INCBIN_U8("graphics/pokemon/anim_front_pics/unown_h_front_pic.4bpp.lz"); +const u8 gMonFrontPic_UnownI[] = INCBIN_U8("graphics/pokemon/anim_front_pics/unown_i_front_pic.4bpp.lz"); +const u8 gMonFrontPic_UnownJ[] = INCBIN_U8("graphics/pokemon/anim_front_pics/unown_j_front_pic.4bpp.lz"); +const u8 gMonFrontPic_UnownK[] = INCBIN_U8("graphics/pokemon/anim_front_pics/unown_k_front_pic.4bpp.lz"); +const u8 gMonFrontPic_UnownL[] = INCBIN_U8("graphics/pokemon/anim_front_pics/unown_l_front_pic.4bpp.lz"); +const u8 gMonFrontPic_UnownM[] = INCBIN_U8("graphics/pokemon/anim_front_pics/unown_m_front_pic.4bpp.lz"); +const u8 gMonFrontPic_UnownN[] = INCBIN_U8("graphics/pokemon/anim_front_pics/unown_n_front_pic.4bpp.lz"); +const u8 gMonFrontPic_UnownO[] = INCBIN_U8("graphics/pokemon/anim_front_pics/unown_o_front_pic.4bpp.lz"); +const u8 gMonFrontPic_UnownP[] = INCBIN_U8("graphics/pokemon/anim_front_pics/unown_p_front_pic.4bpp.lz"); +const u8 gMonFrontPic_UnownQ[] = INCBIN_U8("graphics/pokemon/anim_front_pics/unown_q_front_pic.4bpp.lz"); +const u8 gMonFrontPic_UnownR[] = INCBIN_U8("graphics/pokemon/anim_front_pics/unown_r_front_pic.4bpp.lz"); +const u8 gMonFrontPic_UnownS[] = INCBIN_U8("graphics/pokemon/anim_front_pics/unown_s_front_pic.4bpp.lz"); +const u8 gMonFrontPic_UnownT[] = INCBIN_U8("graphics/pokemon/anim_front_pics/unown_t_front_pic.4bpp.lz"); +const u8 gMonFrontPic_UnownU[] = INCBIN_U8("graphics/pokemon/anim_front_pics/unown_u_front_pic.4bpp.lz"); +const u8 gMonFrontPic_UnownV[] = INCBIN_U8("graphics/pokemon/anim_front_pics/unown_v_front_pic.4bpp.lz"); +const u8 gMonFrontPic_UnownW[] = INCBIN_U8("graphics/pokemon/anim_front_pics/unown_w_front_pic.4bpp.lz"); +const u8 gMonFrontPic_UnownX[] = INCBIN_U8("graphics/pokemon/anim_front_pics/unown_x_front_pic.4bpp.lz"); +const u8 gMonFrontPic_UnownY[] = INCBIN_U8("graphics/pokemon/anim_front_pics/unown_y_front_pic.4bpp.lz"); +const u8 gMonFrontPic_UnownZ[] = INCBIN_U8("graphics/pokemon/anim_front_pics/unown_z_front_pic.4bpp.lz"); +const u8 gMonFrontPic_UnownExclamationMark[] = INCBIN_U8("graphics/pokemon/anim_front_pics/unown_exclamation_mark_front_pic.4bpp.lz"); +const u8 gMonFrontPic_UnownQuestionMark[] = INCBIN_U8("graphics/pokemon/anim_front_pics/unown_question_mark_front_pic.4bpp.lz"); diff --git a/src/graphics/battle_terrain.h b/src/data/graphics/battle_terrain.h similarity index 100% rename from src/graphics/battle_terrain.h rename to src/data/graphics/battle_terrain.h diff --git a/src/graphics/berries.h b/src/data/graphics/berries.h similarity index 100% rename from src/graphics/berries.h rename to src/data/graphics/berries.h diff --git a/src/graphics/berry_fix.h b/src/data/graphics/berry_fix.h similarity index 100% rename from src/graphics/berry_fix.h rename to src/data/graphics/berry_fix.h diff --git a/src/graphics/decorations.h b/src/data/graphics/decorations.h similarity index 100% rename from src/graphics/decorations.h rename to src/data/graphics/decorations.h diff --git a/src/graphics/interface_pokeballs.h b/src/data/graphics/interface_pokeballs.h similarity index 100% rename from src/graphics/interface_pokeballs.h rename to src/data/graphics/interface_pokeballs.h diff --git a/src/graphics/intro_scene.h b/src/data/graphics/intro_scene.h similarity index 100% rename from src/graphics/intro_scene.h rename to src/data/graphics/intro_scene.h diff --git a/src/graphics/items.h b/src/data/graphics/items.h similarity index 100% rename from src/graphics/items.h rename to src/data/graphics/items.h diff --git a/src/graphics/mail.h b/src/data/graphics/mail.h similarity index 100% rename from src/graphics/mail.h rename to src/data/graphics/mail.h diff --git a/src/graphics/pokemon.h b/src/data/graphics/pokemon.h similarity index 100% rename from src/graphics/pokemon.h rename to src/data/graphics/pokemon.h diff --git a/src/data/graphics/potential incbin arrays b/src/data/graphics/potential incbin arrays new file mode 100644 index 0000000000..f76354fb69 --- /dev/null +++ b/src/data/graphics/potential incbin arrays @@ -0,0 +1,9 @@ +The following contained multiple .incbin's in graphics.s, however I couldn't get them to work as arrays or successive INCBIN's so I've given them seperate labels +const u8 gHealthboxElementsGfxTable[] +const u8 gUnknown_08C1249C[] +const u8 gMonIcon_Deoxys[] +const u16 gTilesetPalettes_General[] +const u16 gWallpaperPalettes_Horizontal[] +const u16 gWallpaperPalettes_Ribbon[] +const u16 gMonIconPalettes[] +const u16 gTitleScreenBgPalettes[] \ No newline at end of file diff --git a/src/graphics/rayquaza_scene.h b/src/data/graphics/rayquaza_scene.h similarity index 100% rename from src/graphics/rayquaza_scene.h rename to src/data/graphics/rayquaza_scene.h diff --git a/src/graphics/slot_machine.h b/src/data/graphics/slot_machine.h similarity index 100% rename from src/graphics/slot_machine.h rename to src/data/graphics/slot_machine.h diff --git a/src/graphics/trainers.h b/src/data/graphics/trainers.h similarity index 100% rename from src/graphics/trainers.h rename to src/data/graphics/trainers.h diff --git a/src/graphics.c b/src/graphics.c index 034b590c5a..38a79ce3c4 100644 --- a/src/graphics.c +++ b/src/graphics.c @@ -16,7 +16,7 @@ const u8 gUnusedPal_OldCharmap[] = INCBIN_U8("graphics/unused/old_charmap.gbapal const u8 gSmokescreenImpactTiles[] = INCBIN_U8("graphics/battle_anims/sprites/smokescreen_impact.4bpp.lz"); const u8 gSmokescreenImpactPalette[] = INCBIN_U8("graphics/battle_anims/sprites/smokescreen_impact.gbapal.lz"); -#include "graphics/interface_pokeballs.h" +#include "data/graphics/interface_pokeballs.h" const u8 gBlankGfxCompressed[] = INCBIN_U8("graphics/interface/blank.4bpp.lz"); @@ -950,8 +950,8 @@ const u8 gBattleAnimSpritePalette_257[] = INCBIN_U8("graphics/battle_anims/sprit const u8 gUnknownPal_C2F9E0[] = INCBIN_U8("graphics/unknown/unknown_C2F9E0.gbapal.lz"); -#include "graphics/pokemon.h" -#include "graphics/trainers.h" +#include "data/graphics/pokemon.h" +#include "data/graphics/trainers.h" const u8 gMonIcon_QuestionMark[] = INCBIN_U8("graphics/pokemon/icons/question_mark_icon.4bpp"); const u8 gMonFootprint_QuestionMark[] = INCBIN_U8("graphics/pokemon/footprints/question_mark_footprint.1bpp"); @@ -962,7 +962,7 @@ const u8 gUnknown_08D77AE4[] = INCBIN_U8("graphics/battle_transitions/vs_frame.g const u8 gUnknown_08D77B0C[] = INCBIN_U8("graphics/battle_transitions/vs.4bpp.lz"); -#include "graphics/battle_terrain.h" +#include "data/graphics/battle_terrain.h" const u8 gUnknown_08D82F10[] = INCBIN_U8("graphics/battle_frontier/tourney_bg.4bpp.lz"); const u8 gUnknown_08D834FC[] = INCBIN_U8("graphics/battle_frontier/tourney_line.4bpp.lz"); // the red glow mask for the tourney advancement lines @@ -1003,7 +1003,7 @@ const u16 gUnknown_08D856C8[] = INCBIN_U16("graphics/battle_frontier/pyramid_lig const u16 gUnknown_08D857A8[] = INCBIN_U16("graphics/battle_frontier/battle_tilemap1.bin.lz"); const u16 gUnknown_08D85A1C[] = INCBIN_U16("graphics/battle_frontier/battle_tilemap2.bin.lz"); -#include "graphics/intro_scene.h" +#include "data/graphics/intro_scene.h" const u8 gBattleAnimSpriteSheet_261[] = INCBIN_U8("graphics/battle_anims/sprites/261.4bpp.lz"); @@ -1218,10 +1218,10 @@ const u8 gPokeblockGold_Pal[] = INCBIN_U8("graphics/pokeblock/gold.gbapal.lz"); const u16 gUnknown_08D9BA44[] = INCBIN_U16("graphics/interface/pokeblock_feeding_bg_map.bin.lz"); -#include "graphics/berries.h" -#include "graphics/rayquaza_scene.h" -#include "graphics/items.h" -#include "graphics/decorations.h" +#include "data/graphics/berries.h" +#include "data/graphics/rayquaza_scene.h" +#include "data/graphics/items.h" +#include "data/graphics/decorations.h" const u8 gBattleAnimSpritePalette_282[] = INCBIN_U8("graphics/battle_anims/sprites/282.gbapal.lz"); const u8 gBattleAnimSpriteSheet_282[] = INCBIN_U8("graphics/battle_anims/sprites/282.4bpp.lz"); @@ -1248,7 +1248,7 @@ const u8 gRouletteCreditTiles[] = INCBIN_U8("graphics/roulette/credit.4bpp.lz"); const u8 gRouletteNumbersTiles[] = INCBIN_U8("graphics/roulette/numbers.4bpp.lz"); const u8 gRouletteMultiplierTiles[] = INCBIN_U8("graphics/roulette/multiplier.4bpp.lz"); -#include "graphics/mail.h" +#include "data/graphics/mail.h" const u16 gFrontierFactorySelectMenu_Pal[] = INCBIN_U16("graphics/battle_frontier/factory_menu1.gbapal"); const u16 gFrontierFactorySelectMenu_Pal2[] = INCBIN_U16("graphics/battle_frontier/factory_menu2.gbapal"); @@ -1424,7 +1424,7 @@ const u8 gUsePokeblockGraph_Gfx[] = INCBIN_U8("graphics/pokeblock/use_screen/gra const u16 gUsePokeblockGraph_Tilemap[] = INCBIN_U16("graphics/pokeblock/use_screen/graph.bin.lz"); const u16 gUsePokeblockNatureWin_Pal[] = INCBIN_U16("graphics/pokeblock/use_screen/nature.gbapal"); -#include "graphics/slot_machine.h" +#include "data/graphics/slot_machine.h" const u16 gUnknown_08DD19F8[] = INCBIN_U16("graphics/unknown/unknown_DD19F8.bin"); @@ -1516,7 +1516,7 @@ const u8 gTradeGba_Gfx[] = INCBIN_U8("graphics/link/gba.4bpp"); // 8DD8760 asm(".space 0x20"); //blank palette?? -#include "graphics/berry_fix.h" +#include "data/graphics/berry_fix.h" // more trade stuff? @@ -1603,12 +1603,11 @@ const u16 gUnknown_08DE3398[] = INCBIN_U16("graphics/berry_crusher/tiles.gbapal" const u8 gUnknown_08DE34B8[] = INCBIN_U8("graphics/berry_crusher/tiles.4bpp.lz"); const u16 gUnknown_08DE3FD4[] = INCBIN_U16("graphics/berry_crusher/tiles.bin.lz"); -/* random garbage at the end. -asm(".space 0x54BAC\ - .byte 0x0D, 0x00, 0x58, 0x02\ - .space 0x1145\ - .byte 0x02\ - .space 0x3242\ - .byte 0x40\ +// random garbage at the end. +asm(".space 0x54BAC \n\ + .byte 0x0D, 0x00, 0x58, 0x02 \n\ + .space 0x1145 \n\ + .byte 0x02 \n\ + .space 0x3242 \n\ + .byte 0x40 \n\ .space 0x13"); -*/ \ No newline at end of file From 0cd250a83e2706ec049314203601993919138f56 Mon Sep 17 00:00:00 2001 From: Slawter666 <38655737+Slawter666@users.noreply.github.com> Date: Thu, 6 Sep 2018 00:00:29 +0100 Subject: [PATCH 173/234] Deleted accidently uploaded file --- src/data/graphics/potential incbin arrays | 9 --------- 1 file changed, 9 deletions(-) delete mode 100644 src/data/graphics/potential incbin arrays diff --git a/src/data/graphics/potential incbin arrays b/src/data/graphics/potential incbin arrays deleted file mode 100644 index f76354fb69..0000000000 --- a/src/data/graphics/potential incbin arrays +++ /dev/null @@ -1,9 +0,0 @@ -The following contained multiple .incbin's in graphics.s, however I couldn't get them to work as arrays or successive INCBIN's so I've given them seperate labels -const u8 gHealthboxElementsGfxTable[] -const u8 gUnknown_08C1249C[] -const u8 gMonIcon_Deoxys[] -const u16 gTilesetPalettes_General[] -const u16 gWallpaperPalettes_Horizontal[] -const u16 gWallpaperPalettes_Ribbon[] -const u16 gMonIconPalettes[] -const u16 gTitleScreenBgPalettes[] \ No newline at end of file From 07c28823900e52b09278798bc854afc46d15690e Mon Sep 17 00:00:00 2001 From: Slawter666 <38655737+Slawter666@users.noreply.github.com> Date: Thu, 6 Sep 2018 00:47:29 +0100 Subject: [PATCH 174/234] Move starter_choose data to C --- data/starter_choose.s | 159 ------------------- ld_script.txt | 2 +- src/starter_choose.c | 347 ++++++++++++++++++++++++++++++++++++++---- 3 files changed, 315 insertions(+), 193 deletions(-) delete mode 100644 data/starter_choose.s diff --git a/data/starter_choose.s b/data/starter_choose.s deleted file mode 100644 index 92b95d80cf..0000000000 --- a/data/starter_choose.s +++ /dev/null @@ -1,159 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - .include "include/constants/species.h" - - .section .rodata - - .align 2 -gBirchBagGrassPal:: @ 85B0A00 - .incbin "graphics/misc/birch_bag.gbapal" - .incbin "graphics/misc/birch_grass.gbapal" - - .align 2 -gBirchBallarrow_Pal:: @ 85B0A40 - .incbin "graphics/misc/birch_ballarrow.gbapal" - - .align 2 -gBirchCircle_Pal:: @ 85B0A60 - .incbin "graphics/misc/birch_circle.gbapal" - - .align 2 -gBirchBagTilemap:: @ 85B0A80 - .incbin "graphics/misc/birch_bag_map.bin.lz" - - .align 2 -gBirchGrassTilemap:: @ 85B0C0C - .incbin "graphics/misc/birch_grass_map.bin.lz" - - .align 2 -gBirchHelpGfx:: @ 85B0E04 - .incbin "graphics/misc/birch_help.4bpp.lz" - - .align 2 -gUnknown_085B18AC:: @ 85B18AC - .incbin "graphics/misc/birch_ballarrow.4bpp.lz" - - .align 2 -gUnknown_085B1BCC:: @ 85B1BCC - .incbin "graphics/misc/birch_circle.4bpp.lz" - - .align 2 -gUnknown_085B1DCC:: @ 85B1DCC - window_template 0x00, 0x03, 0x0f, 0x18, 0x04, 0x0e, 0x0200 - null_window_template - - .align 2 -gUnknown_085B1DDC:: @ 85B1DDC - window_template 0x00, 0x18, 0x09, 0x05, 0x04, 0x0e, 0x0260 - - .align 2 -gUnknown_085B1DE4:: @ 85B1DE4 - window_template 0x00, 0x00, 0x00, 0x0d, 0x04, 0x0e, 0x0274 - -sPokeballCoords:: @ 85B1DEC - .byte 0x3c, 0x40, 0x78, 0x58, 0xb4, 0x40 - -gStarterChoose_LabelCoords:: @ 85B1DF2 - .byte 0x00, 0x09, 0x10, 0x0a, 0x08, 0x04 - -sStarterMon:: @ 85B1DF8 - .2byte SPECIES_TREECKO - .2byte SPECIES_TORCHIC - .2byte SPECIES_MUDKIP - - .align 2 -gUnknown_085B1E00:: @ 85B1E00 - .4byte 0x000001f8, 0x00003072, 0x00001063 - -gUnknown_085B1E0C:: @ 85B1E0C - .byte 0x00, 0x01, 0x03 - - .align 2 -gOamData_85B1E10:: @ 85B1E10 - .2byte 0x00a0, 0x8000, 0x0400, 0x0000 - - .align 2 -gOamData_85B1E18:: @ 85B1E18 - .2byte 0x00a0, 0x8000, 0x0400, 0x0000 - - .align 2 -gOamData_85B1E20:: @ 85B1E20 - .2byte 0x03a0, 0xc000, 0x0400, 0x0000 - -gUnknown_085B1E28:: @ 85B1E28 - .byte 0x3c, 0x20, 0x78, 0x38, 0xb4, 0x20, 0x00, 0x00 - - .align 2 -gSpriteAnim_85B1E30:: @ 85B1E30 - .2byte 0x0030, 0x001e, 0xffff, 0x0000 - - .align 2 -gSpriteAnim_85B1E38:: @ 85B1E38 - .2byte 0x0000, 0x001e, 0xffff, 0x0000 - - .align 2 -gSpriteAnim_85B1E40:: @ 85B1E40 - .2byte 0x0010, 0x0004, 0x0000, 0x0004, 0x0020, 0x0004, 0x0000, 0x0004, 0x0010, 0x0004, 0x0000, 0x0004, 0x0020, 0x0004, 0x0000, 0x0004 - .2byte 0x0000, 0x0020, 0x0010, 0x0008, 0x0000, 0x0008, 0x0020, 0x0008, 0x0000, 0x0008, 0x0010, 0x0008, 0x0000, 0x0008, 0x0020, 0x0008 - .2byte 0x0000, 0x0008, 0xfffe, 0x0000 - - .align 2 -gSpriteAnim_85B1E88:: @ 85B1E88 - .2byte 0x0000, 0x0008, 0xffff, 0x0000 - - .align 2 -gSpriteAnimTable_85B1E90:: @ 85B1E90 - .4byte gSpriteAnim_85B1E30 - - .align 2 -gSpriteAnimTable_85B1E94:: @ 85B1E94 - .4byte gSpriteAnim_85B1E38 - .4byte gSpriteAnim_85B1E40 - - .align 2 -gSpriteAnimTable_85B1E9C:: @ 85B1E9C - .4byte gSpriteAnim_85B1E88 - - .align 2 -gSpriteAffineAnim_85B1EA0:: @ 85B1EA0 - .2byte 0x0010, 0x0010, 0x0000, 0x0000, 0x0010, 0x0010, 0x0f00, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gSpriteAffineAnim_85B1EB8:: @ 85B1EB8 - .2byte 0x0014, 0x0014, 0x0000, 0x0000, 0x0014, 0x0014, 0x0f00, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_085B1ED0:: @ 85B1ED0 - .4byte gSpriteAffineAnim_85B1EA0 - - .align 2 -gSpriteAffineAnimTable_85B1ED4:: @ 85B1ED4 - .4byte gSpriteAffineAnim_85B1EB8 - - .align 2 -gUnknown_085B1ED8:: @ 85B1ED8 - obj_tiles gUnknown_085B18AC, 0x0800, 0x1000 - null_obj_tiles - - .align 2 -gUnknown_085B1EE8:: @ 85B1EE8 - obj_tiles gUnknown_085B1BCC, 0x0800, 0x1001 - null_obj_tiles - - .align 2 -gUnknown_085B1EF8:: @ 85B1EF8 - obj_pal gBirchBallarrow_Pal, 0x1000 - obj_pal gBirchCircle_Pal, 0x1001 - null_obj_pal - - .align 2 -sSpriteTemplate_Hand:: @ 85B1F10 - spr_template 0x1000, 0x1000, gOamData_85B1E10, gSpriteAnimTable_85B1E90, NULL, gDummySpriteAffineAnimTable, sub_81346DC - - .align 2 -sSpriteTemplate_PokeBall:: @ 85B1F28 - spr_template 0x1000, 0x1000, gOamData_85B1E18, gSpriteAnimTable_85B1E94, NULL, gDummySpriteAffineAnimTable, sub_813473C - - .align 2 -gUnknown_085B1F40:: @ 85B1F40 - spr_template 0x1001, 0x1001, gOamData_85B1E20, gSpriteAnimTable_85B1E9C, NULL, gSpriteAffineAnimTable_85B1ED4, StarterPokemonSpriteCallback diff --git a/ld_script.txt b/ld_script.txt index 668cf7c5a7..94e7f75800 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -475,7 +475,7 @@ SECTIONS { data/contest_painting.o(.rodata); src/battle_ai_script_commands.o(.rodata); src/trader.o(.rodata); - data/starter_choose.o(.rodata); + src/starter_choose.o(.rodata); src/wallclock.o(.rodata); src/pokeblock.o(.rodata); src/fldeff_flash.o(.rodata); diff --git a/src/starter_choose.c b/src/starter_choose.c index c1e7eea407..71784b016c 100644 --- a/src/starter_choose.c +++ b/src/starter_choose.c @@ -1,26 +1,27 @@ #include "global.h" -#include "starter_choose.h" -#include "palette.h" -#include "sprite.h" -#include "pokemon.h" -#include "task.h" #include "bg.h" +#include "data2.h" +#include "decompress.h" +#include "event_data.h" #include "gpu_regs.h" +#include "international_string_util.h" #include "main.h" -#include "window.h" +#include "menu.h" +#include "palette.h" +#include "pokedex.h" +#include "pokemon.h" +#include "scanline_effect.h" +#include "sound.h" +#include "sprite.h" +#include "starter_choose.h" +#include "task.h" #include "text.h" #include "text_window.h" -#include "decompress.h" -#include "menu.h" -#include "sound.h" -#include "constants/songs.h" -#include "event_data.h" -#include "pokedex.h" -#include "data2.h" -#include "international_string_util.h" -#include "trig.h" -#include "scanline_effect.h" #include "trainer_pokemon_sprites.h" +#include "trig.h" +#include "window.h" +#include "constants/songs.h" +#include "constants/species.h" #define STARTER_MON_COUNT 3 @@ -32,23 +33,6 @@ extern const u8 gText_BirchInTrouble[]; extern const u8 gText_ConfirmStarterChoice[]; -extern const u16 sStarterMon[STARTER_MON_COUNT]; -extern const struct BgTemplate gUnknown_085B1E00[3]; -extern const struct WindowTemplate gUnknown_085B1DCC[]; -extern const struct WindowTemplate gUnknown_085B1DDC; -extern const struct CompressedSpriteSheet gUnknown_085B1ED8[]; -extern const struct CompressedSpriteSheet gUnknown_085B1EE8[]; -extern const struct SpritePalette gUnknown_085B1EF8[]; -extern const struct SpriteTemplate sSpriteTemplate_PokeBall; -extern const struct SpriteTemplate sSpriteTemplate_Hand; -extern const struct SpriteTemplate gUnknown_085B1F40; -extern const union AffineAnimCmd *const gUnknown_085B1ED0; -extern const u8 sPokeballCoords[STARTER_MON_COUNT][2]; -extern const struct WindowTemplate gUnknown_085B1DE4; -extern const u8 gStarterChoose_LabelCoords[][2]; -extern const u8 gUnknown_085B1E0C[]; -extern const u8 gUnknown_085B1E28[][2]; - // this file's functions static void MainCallback2_StarterChoose(void); static void sub_8134604(void); @@ -62,10 +46,307 @@ static void Task_MoveStarterChooseCursor(u8 taskId); static void sub_8134668(u8 taskId); static void CreateStarterPokemonLabel(u8 selection); static u8 CreatePokemonFrontSprite(u16 species, u8 x, u8 y); +void sub_81346DC(struct Sprite *sprite); +void sub_813473C(struct Sprite *sprite); void StarterPokemonSpriteCallback(struct Sprite *sprite); static IWRAM_DATA u16 sStarterChooseWindowId; +// .rodata +const u16 gBirchBagGrassPal[][16] = +{ + INCBIN_U16("graphics/misc/birch_bag.gbapal"), + INCBIN_U16("graphics/misc/birch_grass.gbapal"), +}; + +const u16 gBirchBallarrow_Pal[] = INCBIN_U16("graphics/misc/birch_ballarrow.gbapal"); + +const u16 gBirchCircle_Pal[] = INCBIN_U16("graphics/misc/birch_circle.gbapal"); + +const u8 gBirchBagTilemap[] = INCBIN_U8("graphics/misc/birch_bag_map.bin.lz"); + +const u8 gBirchGrassTilemap[] = INCBIN_U8("graphics/misc/birch_grass_map.bin.lz"); + +const u8 gBirchHelpGfx[] = INCBIN_U8("graphics/misc/birch_help.4bpp.lz"); + +const u8 gUnknown_085B18AC[] = INCBIN_U8("graphics/misc/birch_ballarrow.4bpp.lz"); + +const u8 gUnknown_085B1BCC[] = INCBIN_U8("graphics/misc/birch_circle.4bpp.lz"); + +static const struct WindowTemplate gUnknown_085B1DCC[] = +{ + { + .priority = 0, + .tilemapLeft = 3, + .tilemapTop = 15, + .width = 24, + .height = 4, + .paletteNum = 14, + .baseBlock = 0x0200 + }, + DUMMY_WIN_TEMPLATE, +}; + +static const struct WindowTemplate gUnknown_085B1DDC = +{ + .priority = 0, + .tilemapLeft = 24, + .tilemapTop = 9, + .width = 5, + .height = 4, + .paletteNum = 14, + .baseBlock = 0x0260 +}; + +static const struct WindowTemplate gUnknown_085B1DE4 = +{ + .priority = 0, + .tilemapLeft = 0, + .tilemapTop = 0, + .width = 13, + .height = 4, + .paletteNum = 14, + .baseBlock = 0x0274 +}; + +static const u8 sPokeballCoords[STARTER_MON_COUNT][2] = +{ + {0x3c, 0x40}, + {0x78, 0x58}, + {0xb4, 0x40}, +}; + +static const u8 gStarterChoose_LabelCoords[][2] = +{ + {0x00, 0x09}, + {0x10, 0x0a}, + {0x08, 0x04}, +}; + +static const u16 sStarterMon[STARTER_MON_COUNT] = +{ + SPECIES_TREECKO, + SPECIES_TORCHIC, + SPECIES_MUDKIP, +}; + +static const struct BgTemplate gUnknown_085B1E00[3] = +{ + { + .bg = 0, + .charBaseIndex = 2, + .mapBaseIndex = 31, + .screenSize = 0, + .paletteMode = 0, + .priority = 0, + .baseTile = 0 + }, + { + .bg = 2, + .charBaseIndex = 0, + .mapBaseIndex = 7, + .screenSize = 0, + .paletteMode = 0, + .priority = 3, + .baseTile = 0 + }, + { + .bg = 3, + .charBaseIndex = 0, + .mapBaseIndex = 6, + .screenSize = 0, + .paletteMode = 0, + .priority = 1, + .baseTile = 0 + }, +}; + +static const u8 gUnknown_085B1E0C[] = {0x00, 0x01, 0x03}; + +static const struct OamData gOamData_85B1E10 = +{ + .y = 160, + .affineMode = 0, + .objMode = 0, + .mosaic = 0, + .bpp = 0, + .shape = 0, + .x = 0, + .matrixNum = 0, + .size = 2, + .tileNum = 0, + .priority = 1, + .paletteNum = 0, + .affineParam = 0, +}; + +static const struct OamData gOamData_85B1E18 = +{ + .y = 160, + .affineMode = 0, + .objMode = 0, + .mosaic = 0, + .bpp = 0, + .shape = 0, + .x = 0, + .matrixNum = 0, + .size = 2, + .tileNum = 0, + .priority = 1, + .paletteNum = 0, + .affineParam = 0, +}; + +static const struct OamData gOamData_85B1E20 = +{ + .y = 160, + .affineMode = 3, + .objMode = 0, + .mosaic = 0, + .bpp = 0, + .shape = 0, + .x = 0, + .matrixNum = 0, + .size = 3, + .tileNum = 0, + .priority = 1, + .paletteNum = 0, + .affineParam = 0, +}; + +static const u8 gUnknown_085B1E28[][2] = +{ + {0x3c, 0x20}, + {0x78, 0x38}, + {0xb4, 0x20}, +}; + +static const union AnimCmd gSpriteAnim_85B1E30[] = +{ + ANIMCMD_FRAME(48, 30), + ANIMCMD_END, +}; + +static const union AnimCmd gSpriteAnim_85B1E38[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_END, +}; + +static const union AnimCmd gSpriteAnim_85B1E40[] = +{ + ANIMCMD_FRAME(16, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(32, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(16, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(32, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(0, 32), + ANIMCMD_FRAME(16, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(32, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(16, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(32, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_JUMP(0), +}; + +static const union AnimCmd gSpriteAnim_85B1E88[] = +{ + ANIMCMD_FRAME(0, 8), + ANIMCMD_END, +}; + +static const union AnimCmd * const gSpriteAnimTable_85B1E90[] = +{ + gSpriteAnim_85B1E30, +}; + +static const union AnimCmd * const gSpriteAnimTable_85B1E94[] = +{ + gSpriteAnim_85B1E38, + gSpriteAnim_85B1E40, +}; + +static const union AnimCmd * const gSpriteAnimTable_85B1E9C[] = +{ + gSpriteAnim_85B1E88, +}; + +static const union AffineAnimCmd gSpriteAffineAnim_85B1EA0[] = +{ + AFFINEANIMCMD_FRAME(16, 16, 0, 0), + AFFINEANIMCMD_FRAME(16, 16, 0, 15), + AFFINEANIMCMD_END, +}; + +static const union AffineAnimCmd gSpriteAffineAnim_85B1EB8[] = +{ + AFFINEANIMCMD_FRAME(20, 20, 0, 0), + AFFINEANIMCMD_FRAME(20, 20, 0, 15), + AFFINEANIMCMD_END, +}; + +static const union AffineAnimCmd * const gUnknown_085B1ED0 = {gSpriteAffineAnim_85B1EA0}; +static const union AffineAnimCmd * const gSpriteAffineAnimTable_85B1ED4[] = {gSpriteAffineAnim_85B1EB8}; + +static const struct CompressedSpriteSheet gUnknown_085B1ED8[] = +{ + gUnknown_085B18AC, 0x0800, 0x1000, + NULL, +}; + +static const struct CompressedSpriteSheet gUnknown_085B1EE8[] = +{ + gUnknown_085B1BCC, 0x0800, 0x1001, + NULL, +}; + +static const struct SpritePalette gUnknown_085B1EF8[] = +{ + gBirchBallarrow_Pal, 0x1000, + gBirchCircle_Pal, 0x1001, + NULL, +}; + +static const struct SpriteTemplate sSpriteTemplate_Hand = +{ + .tileTag = 0x1000, + .paletteTag = 0x1000, + .oam = &gOamData_85B1E10, + .anims = gSpriteAnimTable_85B1E90, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_81346DC +}; + +static const struct SpriteTemplate sSpriteTemplate_PokeBall = +{ + .tileTag = 0x1000, + .paletteTag = 0x1000, + .oam = &gOamData_85B1E18, + .anims = gSpriteAnimTable_85B1E94, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_813473C +}; + +static const struct SpriteTemplate gUnknown_085B1F40 = +{ + .tileTag = 0x1001, + .paletteTag = 0x1001, + .oam = &gOamData_85B1E20, + .anims = gSpriteAnimTable_85B1E9C, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_85B1ED4, + .callback = StarterPokemonSpriteCallback +}; + +// .text u16 GetStarterPokemon(u16 chosenStarterId) { if (chosenStarterId > STARTER_MON_COUNT) From 9350ac0a746b956cbfaf1c5d7a13aa28ef478127 Mon Sep 17 00:00:00 2001 From: Slawter666 <38655737+Slawter666@users.noreply.github.com> Date: Thu, 6 Sep 2018 01:24:11 +0100 Subject: [PATCH 175/234] Move battle_pyramid_bag data to C --- data/battle_pyramid_bag.s | 40 ------------------------ ld_script.txt | 1 - src/battle_pyramid_bag.c | 64 +++++++++++++++++++++++++++++++++++++-- 3 files changed, 62 insertions(+), 43 deletions(-) delete mode 100644 data/battle_pyramid_bag.s diff --git a/data/battle_pyramid_bag.s b/data/battle_pyramid_bag.s deleted file mode 100644 index de459075f0..0000000000 --- a/data/battle_pyramid_bag.s +++ /dev/null @@ -1,40 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - - - .align 2 -gOamData_861F378:: @ 861F378 - .2byte 0x0100, 0xc000, 0x0400, 0x0000 - - .align 2 -gSpriteAnim_861F380:: @ 861F380 - .2byte 0x0000, 0x0004, 0xffff, 0x0000 - - .align 2 -gSpriteAnimTable_861F388:: @ 861F388 - .4byte gSpriteAnim_861F380 - - .align 2 -gSpriteAffineAnim_861F38C:: @ 861F38C - .2byte 0x0100, 0x0100, 0x0000, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gSpriteAffineAnim_861F39C:: @ 861F39C - .2byte 0x0000, 0x0000, 0x02fe, 0x0000, 0x0000, 0x0000, 0x0402, 0x0000, 0x0000, 0x0000, 0x04fe, 0x0000, 0x0000, 0x0000, 0x0202, 0x0000 - .2byte 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gSpriteAffineAnimTable_861F3C4:: @ 861F3C4 - .4byte gSpriteAffineAnim_861F38C - .4byte gSpriteAffineAnim_861F39C - - .align 2 -gUnknown_0861F3CC:: @ 861F3CC - obj_tiles gBattleFrontierGfx_PyramidBag, 0x0800, 0x1024 - - .align 2 -gUnknown_0861F3D4:: @ 861F3D4 - spr_template 0x1024, 0x1024, gOamData_861F378, gSpriteAnimTable_861F388, NULL, gSpriteAffineAnimTable_861F3C4, SpriteCallbackDummy - diff --git a/ld_script.txt b/ld_script.txt index 94e7f75800..f3573fd21d 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -545,7 +545,6 @@ SECTIONS { src/pokemon_summary_screen.o(.rodata); src/unk_pokedex_area_screen_helper.o(.rodata); src/battle_pyramid_bag.o(.rodata); - data/battle_pyramid_bag.o(.rodata); data/pokenav.o(.rodata); src/match_call.o(.rodata); data/pokenav.o(.rodata.after.match.call); diff --git a/src/battle_pyramid_bag.c b/src/battle_pyramid_bag.c index 6629e6a0a0..bc2821d164 100644 --- a/src/battle_pyramid_bag.c +++ b/src/battle_pyramid_bag.c @@ -42,6 +42,7 @@ extern const u8 gUnknown_08D9ADD0[]; extern const u8 gUnknown_08D9AE04[]; extern const u8 gUnknown_08D9AF44[]; extern const u16 gUnknown_0860F074[]; +extern const u8 gBattleFrontierGfx_PyramidBag[]; // This file's functions. static void Task_HandlePyramidBagInput(u8 taskId); @@ -281,8 +282,67 @@ static const struct WindowTemplate gUnknown_0861F350[] = }, }; -extern const struct CompressedSpriteSheet gUnknown_0861F3CC; -extern const struct SpriteTemplate gUnknown_0861F3D4; +static const struct OamData gOamData_861F378 = +{ + .y = 0, + .affineMode = 1, + .objMode = 0, + .mosaic = 0, + .bpp = 0, + .shape = 0, + .x = 0, + .matrixNum = 0, + .size = 3, + .tileNum = 0, + .priority = 1, + .paletteNum = 0, + .affineParam = 0, +}; + +static const union AnimCmd gSpriteAnim_861F380[] = +{ + ANIMCMD_FRAME(0, 4), + ANIMCMD_END, +}; + +static const union AnimCmd * const gSpriteAnimTable_861F388[] = +{ + gSpriteAnim_861F380, +}; + +static const union AffineAnimCmd gSpriteAffineAnim_861F38C[] = +{ + AFFINEANIMCMD_FRAME(256, 256, 0, 0), + AFFINEANIMCMD_END, +}; + +static const union AffineAnimCmd gSpriteAffineAnim_861F39C[] = +{ + AFFINEANIMCMD_FRAME(0, 0, 254, 2), + AFFINEANIMCMD_FRAME(0, 0, 2, 4), + AFFINEANIMCMD_FRAME(0, 0, 254, 4), + AFFINEANIMCMD_FRAME(0, 0, 2, 2), + AFFINEANIMCMD_END, +}; + +static const union AffineAnimCmd * const gSpriteAffineAnimTable_861F3C4[] = +{ + gSpriteAffineAnim_861F38C, + gSpriteAffineAnim_861F39C, +}; + +static const struct CompressedSpriteSheet gUnknown_0861F3CC = {gBattleFrontierGfx_PyramidBag, 0x0800, 0x1024}; + +static const struct SpriteTemplate gUnknown_0861F3D4 = +{ + .tileTag = 0x1024, + .paletteTag = 0x1024, + .oam = &gOamData_861F378, + .anims = gSpriteAnimTable_861F388, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_861F3C4, + .callback = SpriteCallbackDummy +}; // code void sub_81C4EEC(void) From 26c91f1502436c2268b574720a2837a1db3e1114 Mon Sep 17 00:00:00 2001 From: Slawter666 <38655737+Slawter666@users.noreply.github.com> Date: Thu, 6 Sep 2018 03:11:33 +0100 Subject: [PATCH 176/234] Move field_player_avatar data to C --- data/berries.inc | 689 ------------------------------------- data/field_player_avatar.s | 82 ----- src/field_player_avatar.c | 190 +++++++++- 3 files changed, 183 insertions(+), 778 deletions(-) delete mode 100644 data/berries.inc diff --git a/data/berries.inc b/data/berries.inc deleted file mode 100644 index f06c32a1a1..0000000000 --- a/data/berries.inc +++ /dev/null @@ -1,689 +0,0 @@ - .align 2 -gBerries:: @ 858A670 - .string "CHERI$", 7 - .byte BERRY_FIRMNESS_SOFT - .2byte 20 @ size (in millimeters) - .byte 3 @ max yield - .byte 2 @ min yield - .4byte gBerryDescriptionPart1_Cheri - .4byte gBerryDescriptionPart2_Cheri - .byte 3 @ stage duration (in hours) - .byte 10 @ spicy - .byte 0 @ dry - .byte 0 @ sweet - .byte 0 @ bitter - .byte 0 @ sour - .byte 25 @ smoothness - .byte 0 @ padding - - .string "CHESTO$", 7 - .byte BERRY_FIRMNESS_SUPER_HARD - .2byte 80 @ size (in millimeters) - .byte 3 @ max yield - .byte 2 @ min yield - .4byte gBerryDescriptionPart1_Chesto - .4byte gBerryDescriptionPart2_Chesto - .byte 3 @ stage duration (in hours) - .byte 0 @ spicy - .byte 10 @ dry - .byte 0 @ sweet - .byte 0 @ bitter - .byte 0 @ sour - .byte 25 @ smoothness - .byte 0 @ padding - - .string "PECHA$", 7 - .byte BERRY_FIRMNESS_VERY_SOFT - .2byte 40 @ size (in millimeters) - .byte 3 @ max yield - .byte 2 @ min yield - .4byte gBerryDescriptionPart1_Pecha - .4byte gBerryDescriptionPart2_Pecha - .byte 3 @ stage duration (in hours) - .byte 0 @ spicy - .byte 0 @ dry - .byte 10 @ sweet - .byte 0 @ bitter - .byte 0 @ sour - .byte 25 @ smoothness - .byte 0 @ padding - - .string "RAWST$", 7 - .byte BERRY_FIRMNESS_HARD - .2byte 32 @ size (in millimeters) - .byte 3 @ max yield - .byte 2 @ min yield - .4byte gBerryDescriptionPart1_Rawst - .4byte gBerryDescriptionPart2_Rawst - .byte 3 @ stage duration (in hours) - .byte 0 @ spicy - .byte 0 @ dry - .byte 0 @ sweet - .byte 10 @ bitter - .byte 0 @ sour - .byte 25 @ smoothness - .byte 0 @ padding - - .string "ASPEAR$", 7 - .byte BERRY_FIRMNESS_SUPER_HARD - .2byte 50 @ size (in millimeters) - .byte 3 @ max yield - .byte 2 @ min yield - .4byte gBerryDescriptionPart1_Aspear - .4byte gBerryDescriptionPart2_Aspear - .byte 3 @ stage duration (in hours) - .byte 0 @ spicy - .byte 0 @ dry - .byte 0 @ sweet - .byte 0 @ bitter - .byte 10 @ sour - .byte 25 @ smoothness - .byte 0 @ padding - - .string "LEPPA$", 7 - .byte BERRY_FIRMNESS_VERY_HARD - .2byte 28 @ size (in millimeters) - .byte 3 @ max yield - .byte 2 @ min yield - .4byte gBerryDescriptionPart1_Leppa - .4byte gBerryDescriptionPart2_Leppa - .byte 4 @ stage duration (in hours) - .byte 10 @ spicy - .byte 0 @ dry - .byte 10 @ sweet - .byte 10 @ bitter - .byte 10 @ sour - .byte 20 @ smoothness - .byte 0 @ padding - - .string "ORAN$", 7 - .byte BERRY_FIRMNESS_SUPER_HARD - .2byte 35 @ size (in millimeters) - .byte 3 @ max yield - .byte 2 @ min yield - .4byte gBerryDescriptionPart1_Oran - .4byte gBerryDescriptionPart2_Oran - .byte 3 @ stage duration (in hours) - .byte 10 @ spicy - .byte 10 @ dry - .byte 10 @ sweet - .byte 10 @ bitter - .byte 10 @ sour - .byte 20 @ smoothness - .byte 0 @ padding - - .string "PERSIM$", 7 - .byte BERRY_FIRMNESS_HARD - .2byte 47 @ size (in millimeters) - .byte 3 @ max yield - .byte 2 @ min yield - .4byte gBerryDescriptionPart1_Persim - .4byte gBerryDescriptionPart2_Persim - .byte 3 @ stage duration (in hours) - .byte 10 @ spicy - .byte 10 @ dry - .byte 10 @ sweet - .byte 10 @ bitter - .byte 10 @ sour - .byte 20 @ smoothness - .byte 0 @ padding - - .string "LUM$", 7 - .byte BERRY_FIRMNESS_SUPER_HARD - .2byte 34 @ size (in millimeters) - .byte 2 @ max yield - .byte 1 @ min yield - .4byte gBerryDescriptionPart1_Lum - .4byte gBerryDescriptionPart2_Lum - .byte 12 @ stage duration (in hours) - .byte 10 @ spicy - .byte 10 @ dry - .byte 10 @ sweet - .byte 10 @ bitter - .byte 10 @ sour - .byte 20 @ smoothness - .byte 0 @ padding - - .string "SITRUS$", 7 - .byte BERRY_FIRMNESS_VERY_HARD - .2byte 95 @ size (in millimeters) - .byte 3 @ max yield - .byte 2 @ min yield - .4byte gBerryDescriptionPart1_Sitrus - .4byte gBerryDescriptionPart2_Sitrus - .byte 6 @ stage duration (in hours) - .byte 10 @ spicy - .byte 10 @ dry - .byte 10 @ sweet - .byte 10 @ bitter - .byte 10 @ sour - .byte 20 @ smoothness - .byte 0 @ padding - - .string "FIGY$", 7 - .byte BERRY_FIRMNESS_SOFT - .2byte 100 @ size (in millimeters) - .byte 3 @ max yield - .byte 2 @ min yield - .4byte gBerryDescriptionPart1_Figy - .4byte gBerryDescriptionPart2_Figy - .byte 6 @ stage duration (in hours) - .byte 10 @ spicy - .byte 0 @ dry - .byte 0 @ sweet - .byte 0 @ bitter - .byte 0 @ sour - .byte 25 @ smoothness - .byte 0 @ padding - - .string "WIKI$", 7 - .byte BERRY_FIRMNESS_HARD - .2byte 115 @ size (in millimeters) - .byte 3 @ max yield - .byte 2 @ min yield - .4byte gBerryDescriptionPart1_Wiki - .4byte gBerryDescriptionPart2_Wiki - .byte 6 @ stage duration (in hours) - .byte 0 @ spicy - .byte 10 @ dry - .byte 0 @ sweet - .byte 0 @ bitter - .byte 0 @ sour - .byte 25 @ smoothness - .byte 0 @ padding - - .string "MAGO$", 7 - .byte BERRY_FIRMNESS_HARD - .2byte 126 @ size (in millimeters) - .byte 3 @ max yield - .byte 2 @ min yield - .4byte gBerryDescriptionPart1_Mago - .4byte gBerryDescriptionPart2_Mago - .byte 6 @ stage duration (in hours) - .byte 0 @ spicy - .byte 0 @ dry - .byte 10 @ sweet - .byte 0 @ bitter - .byte 0 @ sour - .byte 25 @ smoothness - .byte 0 @ padding - - .string "AGUAV$", 7 - .byte BERRY_FIRMNESS_SUPER_HARD - .2byte 64 @ size (in millimeters) - .byte 3 @ max yield - .byte 2 @ min yield - .4byte gBerryDescriptionPart1_Aguav - .4byte gBerryDescriptionPart2_Aguav - .byte 6 @ stage duration (in hours) - .byte 0 @ spicy - .byte 0 @ dry - .byte 0 @ sweet - .byte 10 @ bitter - .byte 0 @ sour - .byte 25 @ smoothness - .byte 0 @ padding - - .string "IAPAPA$", 7 - .byte BERRY_FIRMNESS_SOFT - .2byte 223 @ size (in millimeters) - .byte 3 @ max yield - .byte 2 @ min yield - .4byte gBerryDescriptionPart1_Iapapa - .4byte gBerryDescriptionPart2_Iapapa - .byte 6 @ stage duration (in hours) - .byte 0 @ spicy - .byte 0 @ dry - .byte 0 @ sweet - .byte 0 @ bitter - .byte 10 @ sour - .byte 25 @ smoothness - .byte 0 @ padding - - .string "RAZZ$", 7 - .byte BERRY_FIRMNESS_VERY_HARD - .2byte 120 @ size (in millimeters) - .byte 6 @ max yield - .byte 3 @ min yield - .4byte gBerryDescriptionPart1_Razz - .4byte gBerryDescriptionPart2_Razz - .byte 1 @ stage duration (in hours) - .byte 10 @ spicy - .byte 10 @ dry - .byte 0 @ sweet - .byte 0 @ bitter - .byte 0 @ sour - .byte 20 @ smoothness - .byte 0 @ padding - - .string "BLUK$", 7 - .byte BERRY_FIRMNESS_SOFT - .2byte 108 @ size (in millimeters) - .byte 6 @ max yield - .byte 3 @ min yield - .4byte gBerryDescriptionPart1_Bluk - .4byte gBerryDescriptionPart2_Bluk - .byte 1 @ stage duration (in hours) - .byte 0 @ spicy - .byte 10 @ dry - .byte 10 @ sweet - .byte 0 @ bitter - .byte 0 @ sour - .byte 20 @ smoothness - .byte 0 @ padding - - .string "NANAB$", 7 - .byte BERRY_FIRMNESS_VERY_HARD - .2byte 77 @ size (in millimeters) - .byte 6 @ max yield - .byte 3 @ min yield - .4byte gBerryDescriptionPart1_Nanab - .4byte gBerryDescriptionPart2_Nanab - .byte 1 @ stage duration (in hours) - .byte 0 @ spicy - .byte 0 @ dry - .byte 10 @ sweet - .byte 10 @ bitter - .byte 0 @ sour - .byte 20 @ smoothness - .byte 0 @ padding - - .string "WEPEAR$", 7 - .byte BERRY_FIRMNESS_SUPER_HARD - .2byte 74 @ size (in millimeters) - .byte 6 @ max yield - .byte 3 @ min yield - .4byte gBerryDescriptionPart1_Wepear - .4byte gBerryDescriptionPart2_Wepear - .byte 1 @ stage duration (in hours) - .byte 0 @ spicy - .byte 0 @ dry - .byte 0 @ sweet - .byte 10 @ bitter - .byte 10 @ sour - .byte 20 @ smoothness - .byte 0 @ padding - - .string "PINAP$", 7 - .byte BERRY_FIRMNESS_HARD - .2byte 80 @ size (in millimeters) - .byte 6 @ max yield - .byte 3 @ min yield - .4byte gBerryDescriptionPart1_Pinap - .4byte gBerryDescriptionPart2_Pinap - .byte 1 @ stage duration (in hours) - .byte 10 @ spicy - .byte 0 @ dry - .byte 0 @ sweet - .byte 0 @ bitter - .byte 10 @ sour - .byte 20 @ smoothness - .byte 0 @ padding - - .string "POMEG$", 7 - .byte BERRY_FIRMNESS_VERY_HARD - .2byte 135 @ size (in millimeters) - .byte 6 @ max yield - .byte 2 @ min yield - .4byte gBerryDescriptionPart1_Pomeg - .4byte gBerryDescriptionPart2_Pomeg - .byte 3 @ stage duration (in hours) - .byte 10 @ spicy - .byte 0 @ dry - .byte 10 @ sweet - .byte 10 @ bitter - .byte 0 @ sour - .byte 20 @ smoothness - .byte 0 @ padding - - .string "KELPSY$", 7 - .byte BERRY_FIRMNESS_HARD - .2byte 150 @ size (in millimeters) - .byte 6 @ max yield - .byte 2 @ min yield - .4byte gBerryDescriptionPart1_Kelpsy - .4byte gBerryDescriptionPart2_Kelpsy - .byte 3 @ stage duration (in hours) - .byte 0 @ spicy - .byte 10 @ dry - .byte 0 @ sweet - .byte 10 @ bitter - .byte 10 @ sour - .byte 20 @ smoothness - .byte 0 @ padding - - .string "QUALOT$", 7 - .byte BERRY_FIRMNESS_HARD - .2byte 110 @ size (in millimeters) - .byte 6 @ max yield - .byte 2 @ min yield - .4byte gBerryDescriptionPart1_Qualot - .4byte gBerryDescriptionPart2_Qualot - .byte 3 @ stage duration (in hours) - .byte 10 @ spicy - .byte 0 @ dry - .byte 10 @ sweet - .byte 0 @ bitter - .byte 10 @ sour - .byte 20 @ smoothness - .byte 0 @ padding - - .string "HONDEW$", 7 - .byte BERRY_FIRMNESS_HARD - .2byte 162 @ size (in millimeters) - .byte 6 @ max yield - .byte 2 @ min yield - .4byte gBerryDescriptionPart1_Hondew - .4byte gBerryDescriptionPart2_Hondew - .byte 3 @ stage duration (in hours) - .byte 10 @ spicy - .byte 10 @ dry - .byte 0 @ sweet - .byte 10 @ bitter - .byte 0 @ sour - .byte 20 @ smoothness - .byte 0 @ padding - - .string "GREPA$", 7 - .byte BERRY_FIRMNESS_SOFT - .2byte 149 @ size (in millimeters) - .byte 6 @ max yield - .byte 2 @ min yield - .4byte gBerryDescriptionPart1_Grepa - .4byte gBerryDescriptionPart2_Grepa - .byte 3 @ stage duration (in hours) - .byte 0 @ spicy - .byte 10 @ dry - .byte 10 @ sweet - .byte 0 @ bitter - .byte 10 @ sour - .byte 20 @ smoothness - .byte 0 @ padding - - .string "TAMATO$", 7 - .byte BERRY_FIRMNESS_SOFT - .2byte 200 @ size (in millimeters) - .byte 4 @ max yield - .byte 2 @ min yield - .4byte gBerryDescriptionPart1_Tamato - .4byte gBerryDescriptionPart2_Tamato - .byte 6 @ stage duration (in hours) - .byte 20 @ spicy - .byte 10 @ dry - .byte 0 @ sweet - .byte 0 @ bitter - .byte 0 @ sour - .byte 30 @ smoothness - .byte 0 @ padding - - .string "CORNN$", 7 - .byte BERRY_FIRMNESS_HARD - .2byte 75 @ size (in millimeters) - .byte 4 @ max yield - .byte 2 @ min yield - .4byte gBerryDescriptionPart1_Cornn - .4byte gBerryDescriptionPart2_Cornn - .byte 6 @ stage duration (in hours) - .byte 0 @ spicy - .byte 20 @ dry - .byte 10 @ sweet - .byte 0 @ bitter - .byte 0 @ sour - .byte 30 @ smoothness - .byte 0 @ padding - - .string "MAGOST$", 7 - .byte BERRY_FIRMNESS_HARD - .2byte 140 @ size (in millimeters) - .byte 4 @ max yield - .byte 2 @ min yield - .4byte gBerryDescriptionPart1_Magost - .4byte gBerryDescriptionPart2_Magost - .byte 6 @ stage duration (in hours) - .byte 0 @ spicy - .byte 0 @ dry - .byte 20 @ sweet - .byte 10 @ bitter - .byte 0 @ sour - .byte 30 @ smoothness - .byte 0 @ padding - - .string "RABUTA$", 7 - .byte BERRY_FIRMNESS_SOFT - .2byte 226 @ size (in millimeters) - .byte 4 @ max yield - .byte 2 @ min yield - .4byte gBerryDescriptionPart1_Rabuta - .4byte gBerryDescriptionPart2_Rabuta - .byte 6 @ stage duration (in hours) - .byte 0 @ spicy - .byte 0 @ dry - .byte 0 @ sweet - .byte 20 @ bitter - .byte 10 @ sour - .byte 30 @ smoothness - .byte 0 @ padding - - .string "NOMEL$", 7 - .byte BERRY_FIRMNESS_SUPER_HARD - .2byte 285 @ size (in millimeters) - .byte 4 @ max yield - .byte 2 @ min yield - .4byte gBerryDescriptionPart1_Nomel - .4byte gBerryDescriptionPart2_Nomel - .byte 6 @ stage duration (in hours) - .byte 10 @ spicy - .byte 0 @ dry - .byte 0 @ sweet - .byte 0 @ bitter - .byte 20 @ sour - .byte 30 @ smoothness - .byte 0 @ padding - - .string "SPELON$", 7 - .byte BERRY_FIRMNESS_SOFT - .2byte 133 @ size (in millimeters) - .byte 2 @ max yield - .byte 1 @ min yield - .4byte gBerryDescriptionPart1_Spelon - .4byte gBerryDescriptionPart2_Spelon - .byte 18 @ stage duration (in hours) - .byte 40 @ spicy - .byte 10 @ dry - .byte 0 @ sweet - .byte 0 @ bitter - .byte 0 @ sour - .byte 70 @ smoothness - .byte 0 @ padding - - .string "PAMTRE$", 7 - .byte BERRY_FIRMNESS_VERY_SOFT - .2byte 244 @ size (in millimeters) - .byte 2 @ max yield - .byte 1 @ min yield - .4byte gBerryDescriptionPart1_Pamtre - .4byte gBerryDescriptionPart2_Pamtre - .byte 18 @ stage duration (in hours) - .byte 0 @ spicy - .byte 40 @ dry - .byte 10 @ sweet - .byte 0 @ bitter - .byte 0 @ sour - .byte 70 @ smoothness - .byte 0 @ padding - - .string "WATMEL$", 7 - .byte BERRY_FIRMNESS_SOFT - .2byte 250 @ size (in millimeters) - .byte 2 @ max yield - .byte 1 @ min yield - .4byte gBerryDescriptionPart1_Watmel - .4byte gBerryDescriptionPart2_Watmel - .byte 18 @ stage duration (in hours) - .byte 0 @ spicy - .byte 0 @ dry - .byte 40 @ sweet - .byte 10 @ bitter - .byte 0 @ sour - .byte 70 @ smoothness - .byte 0 @ padding - - .string "DURIN$", 7 - .byte BERRY_FIRMNESS_HARD - .2byte 280 @ size (in millimeters) - .byte 2 @ max yield - .byte 1 @ min yield - .4byte gBerryDescriptionPart1_Durin - .4byte gBerryDescriptionPart2_Durin - .byte 18 @ stage duration (in hours) - .byte 0 @ spicy - .byte 0 @ dry - .byte 0 @ sweet - .byte 40 @ bitter - .byte 10 @ sour - .byte 70 @ smoothness - .byte 0 @ padding - - .string "BELUE$", 7 - .byte BERRY_FIRMNESS_VERY_SOFT - .2byte 300 @ size (in millimeters) - .byte 2 @ max yield - .byte 1 @ min yield - .4byte gBerryDescriptionPart1_Belue - .4byte gBerryDescriptionPart2_Belue - .byte 18 @ stage duration (in hours) - .byte 10 @ spicy - .byte 0 @ dry - .byte 0 @ sweet - .byte 0 @ bitter - .byte 40 @ sour - .byte 70 @ smoothness - .byte 0 @ padding - - .string "LIECHI$", 7 - .byte BERRY_FIRMNESS_VERY_HARD - .2byte 111 @ size (in millimeters) - .byte 2 @ max yield - .byte 1 @ min yield - .4byte gBerryDescriptionPart1_Liechi - .4byte gBerryDescriptionPart2_Liechi - .byte 24 @ stage duration (in hours) - .byte 40 @ spicy - .byte 0 @ dry - .byte 40 @ sweet - .byte 0 @ bitter - .byte 10 @ sour - .byte 80 @ smoothness - .byte 0 @ padding - - .string "GANLON$", 7 - .byte BERRY_FIRMNESS_VERY_HARD - .2byte 33 @ size (in millimeters) - .byte 2 @ max yield - .byte 1 @ min yield - .4byte gBerryDescriptionPart1_Ganlon - .4byte gBerryDescriptionPart2_Ganlon - .byte 24 @ stage duration (in hours) - .byte 0 @ spicy - .byte 40 @ dry - .byte 0 @ sweet - .byte 40 @ bitter - .byte 0 @ sour - .byte 80 @ smoothness - .byte 0 @ padding - - .string "SALAC$", 7 - .byte BERRY_FIRMNESS_VERY_HARD - .2byte 95 @ size (in millimeters) - .byte 2 @ max yield - .byte 1 @ min yield - .4byte gBerryDescriptionPart1_Salac - .4byte gBerryDescriptionPart2_Salac - .byte 24 @ stage duration (in hours) - .byte 0 @ spicy - .byte 0 @ dry - .byte 40 @ sweet - .byte 0 @ bitter - .byte 40 @ sour - .byte 80 @ smoothness - .byte 0 @ padding - - .string "PETAYA$", 7 - .byte BERRY_FIRMNESS_VERY_HARD - .2byte 237 @ size (in millimeters) - .byte 2 @ max yield - .byte 1 @ min yield - .4byte gBerryDescriptionPart1_Petaya - .4byte gBerryDescriptionPart2_Petaya - .byte 24 @ stage duration (in hours) - .byte 40 @ spicy - .byte 0 @ dry - .byte 0 @ sweet - .byte 40 @ bitter - .byte 0 @ sour - .byte 80 @ smoothness - .byte 0 @ padding - - .string "APICOT$", 7 - .byte BERRY_FIRMNESS_HARD - .2byte 75 @ size (in millimeters) - .byte 2 @ max yield - .byte 1 @ min yield - .4byte gBerryDescriptionPart1_Apicot - .4byte gBerryDescriptionPart2_Apicot - .byte 24 @ stage duration (in hours) - .byte 0 @ spicy - .byte 40 @ dry - .byte 0 @ sweet - .byte 0 @ bitter - .byte 40 @ sour - .byte 80 @ smoothness - .byte 0 @ padding - - .string "LANSAT$", 7 - .byte BERRY_FIRMNESS_SOFT - .2byte 97 @ size (in millimeters) - .byte 2 @ max yield - .byte 1 @ min yield - .4byte gBerryDescriptionPart1_Lansat - .4byte gBerryDescriptionPart2_Lansat - .byte 24 @ stage duration (in hours) - .byte 10 @ spicy - .byte 10 @ dry - .byte 10 @ sweet - .byte 10 @ bitter - .byte 10 @ sour - .byte 30 @ smoothness - .byte 0 @ padding - - .string "STARF$", 7 - .byte BERRY_FIRMNESS_SUPER_HARD - .2byte 153 @ size (in millimeters) - .byte 2 @ max yield - .byte 1 @ min yield - .4byte gBerryDescriptionPart1_Starf - .4byte gBerryDescriptionPart2_Starf - .byte 24 @ stage duration (in hours) - .byte 10 @ spicy - .byte 10 @ dry - .byte 10 @ sweet - .byte 10 @ bitter - .byte 10 @ sour - .byte 30 @ smoothness - .byte 0 @ padding - - .string "ENIGMA$", 7 - .byte BERRY_FIRMNESS_UNKNOWN - .2byte 0 @ size (in millimeters) - .byte 2 @ max yield - .byte 1 @ min yield - .4byte gBerryDescriptionPart1_Enigma - .4byte gBerryDescriptionPart2_Enigma - .byte 24 @ stage duration (in hours) - .byte 40 @ spicy - .byte 40 @ dry - .byte 40 @ sweet - .byte 40 @ bitter - .byte 40 @ sour - .byte 40 @ smoothness - .byte 0 @ padding diff --git a/data/field_player_avatar.s b/data/field_player_avatar.s index cc3ff24479..fa36390dfe 100644 --- a/data/field_player_avatar.s +++ b/data/field_player_avatar.s @@ -6,88 +6,6 @@ .section .rodata .align 2, 0 -gUnknown_084974B8:: @ 84974B8 - .4byte PlayerAvatarTransition_Normal - .4byte PlayerAvatarTransition_MachBike - .4byte PlayerAvatarTransition_AcroBike - .4byte PlayerAvatarTransition_Surfing - .4byte PlayerAvatarTransition_Underwater - .4byte PlayerAvatarTransition_ReturnToField - .4byte PlayerAvatarTransition_Dummy - .4byte PlayerAvatarTransition_Dummy - -gUnknown_084974D8:: @ 84974D8 - .4byte MetatileBehavior_IsSouthArrowWarp - .4byte MetatileBehavior_IsNorthArrowWarp - .4byte MetatileBehavior_IsWestArrowWarp - .4byte MetatileBehavior_IsEastArrowWarp - -gUnknown_084974E8:: @ 84974E8 - .byte 0x64, 0x69, 0x65, 0x6a, 0x66, 0x6b, 0x67, 0x6c, 0x6f, 0x70, 0x68, 0x6d, 0x89, 0x8a, 0xbf, 0xc0 - -gUnknown_084974F8:: @ 84974F8 - .byte 0x00, 0x59, 0x01, 0x5a, 0x3f, 0x5b, 0x02, 0x5c, 0x6f, 0x70, 0x03, 0x5d, 0x89, 0x8a, 0xbf, 0xc0 - -gUnknown_08497508:: @ 8497508 - .byte 0xe6, 0xe7 - -gUnknown_0849750A:: @ 849750A - .byte 0xeb, 0xec - -gUnknown_0849750C:: @ 849750C - .byte 0x00, 0x01, 0x01, 0x02, 0x3f, 0x04, 0x02, 0x08, 0x6f, 0x10, 0x59, 0x01, 0x5a, 0x02, 0x5b, 0x04, 0x5c, 0x08, 0x70, 0x10 - -gUnknown_08497520:: @ 8497520 - .4byte MetatileBehavior_IsSouthArrowWarp - .4byte MetatileBehavior_IsNorthArrowWarp - .4byte MetatileBehavior_IsWestArrowWarp - .4byte MetatileBehavior_IsEastArrowWarp - -gUnknown_08497530:: @ 8497530 - .4byte sub_808C3A4 - .4byte do_boulder_dust - .4byte sub_808C484 - -gUnknown_0849753C:: @ 849753C - .4byte sub_808C544 - -gUnknown_08497540:: @ 8497540 - .4byte sub_808C61C - .4byte sub_808C644 - .4byte sub_808C6BC - .4byte sub_808C6FC - -gUnknown_08497550:: @ 8497550 - .byte 3, 4, 2, 1 - -gUnknown_08497554:: @ 8497554 - .byte 16, 16, 17, 18, 19 - - .align 2 -gUnknown_0849755C:: @ 849755C - .4byte fish0 - .4byte fish1 - .4byte fish2 - .4byte fish3 - .4byte fish4 - .4byte fish5 - .4byte fish6 - .4byte fish7 - .4byte fish8 - .4byte fish9 - .4byte fishA_wait_for_a_pressed - .4byte fishB - .4byte fishC - .4byte fishD - .4byte fishE - .4byte fishF - -gUnknown_0849759C:: @ 849759C - .2byte 1, 1, 1 - -gUnknown_084975A2:: @ 84975A2 - .2byte 1, 3, 6 - gUnknown_084975A8:: @ 84975A8 .string "·$" diff --git a/src/field_player_avatar.c b/src/field_player_avatar.c index 6ab7216437..d32aabb813 100644 --- a/src/field_player_avatar.c +++ b/src/field_player_avatar.c @@ -1,17 +1,19 @@ #include "global.h" -#include "global.fieldmap.h" -#include "sprite.h" -#include "event_object_movement.h" #include "bike.h" +#include "event_data.h" +#include "event_object_movement.h" +#include "field_player_avatar.h" +#include "fieldmap.h" +#include "global.fieldmap.h" #include "metatile_behavior.h" #include "metatile_behaviors.h" -#include "constants/flags.h" -#include "event_data.h" -#include "fieldmap.h" #include "overworld.h" #include "rotating_gate.h" +#include "sprite.h" +#include "task.h" +#include "constants/event_objects.h" #include "constants/event_object_movement_constants.h" -#include "field_player_avatar.h" +#include "constants/flags.h" extern void task_add_bump_boulder(u8, u8); static bool8 ShouldJumpLedge(s16, s16, u8); @@ -42,6 +44,42 @@ static void PlayerNotOnBikeTurningInPlace(u8, u16); static void PlayerNotOnBikeMoving(u8, u16); extern void sub_808C750(u8); +extern void PlayerAvatarTransition_Normal(struct EventObject *a); +extern void PlayerAvatarTransition_MachBike(struct EventObject *a); +extern void PlayerAvatarTransition_AcroBike(struct EventObject *a); +extern void PlayerAvatarTransition_Surfing(struct EventObject *a); +extern void PlayerAvatarTransition_Underwater(struct EventObject *a); +extern void PlayerAvatarTransition_ReturnToField(struct EventObject *a); +extern void PlayerAvatarTransition_Dummy(struct EventObject *a); + +extern u8 sub_808C3A4(struct Task *task, struct EventObject *playerObject, struct EventObject *strengthObject); +extern u8 do_boulder_dust(struct Task *task, struct EventObject *playerObject, struct EventObject *strengthObject); +extern u8 sub_808C484(struct Task *task, struct EventObject *playerObject, struct EventObject *strengthObject); + +extern u8 sub_808C544(struct Task *task, struct EventObject *eventObject); + +extern u8 sub_808C61C(struct Task *task, struct EventObject *eventObject); +extern u8 sub_808C644(struct Task *task, struct EventObject *eventObject); +extern u8 sub_808C6BC(struct Task *task, struct EventObject *eventObject); +extern u8 sub_808C6FC(struct Task *task, struct EventObject *eventObject); + +extern u8 fish0(struct Task *task); +extern u8 fish1(struct Task *task); +extern u8 fish2(struct Task *task); +extern u8 fish3(struct Task *task); +extern u8 fish4(struct Task *task); +extern u8 fish5(struct Task *task); +extern u8 fish6(struct Task *task); +extern u8 fish7(struct Task *task); +extern u8 fish8(struct Task *task); +extern u8 fish9(struct Task *task); +extern u8 fishA_wait_for_a_pressed(struct Task *task); +extern u8 fishB(struct Task *task); +extern u8 fishC(struct Task *task); +extern u8 fishD(struct Task *task); +extern u8 fishE(struct Task *task); +extern u8 fishF(struct Task *task); + static bool8 (*const gUnknown_084973FC[])(u8) = { MetatileBehavior_IsTrickHouseSlipperyFloor, @@ -105,6 +143,144 @@ static bool8 (*const gUnknown_0849749C[])(u8) = static const u8 gUnknown_084974B0[] = {9, 10, 11, 12, 13, 0, 0, 0}; +void (*const gUnknown_084974B8[])(struct EventObject *) = +{ + PlayerAvatarTransition_Normal, + PlayerAvatarTransition_MachBike, + PlayerAvatarTransition_AcroBike, + PlayerAvatarTransition_Surfing, + PlayerAvatarTransition_Underwater, + PlayerAvatarTransition_ReturnToField, + PlayerAvatarTransition_Dummy, + PlayerAvatarTransition_Dummy, +}; + +bool8 (*const gUnknown_084974D8[])(u8) = +{ + MetatileBehavior_IsSouthArrowWarp, + MetatileBehavior_IsNorthArrowWarp, + MetatileBehavior_IsWestArrowWarp, + MetatileBehavior_IsEastArrowWarp, +}; + +const u8 gUnknown_084974E8[][2] = +{ + {EVENT_OBJ_GFX_RIVAL_BRENDAN_NORMAL, EVENT_OBJ_GFX_RIVAL_MAY_NORMAL}, + {EVENT_OBJ_GFX_RIVAL_BRENDAN_MACH_BIKE, EVENT_OBJ_GFX_RIVAL_MAY_MACH_BIKE}, + {EVENT_OBJ_GFX_RIVAL_BRENDAN_ACRO_BIKE, EVENT_OBJ_GFX_RIVAL_MAY_ACRO_BIKE}, + {EVENT_OBJ_GFX_RIVAL_BRENDAN_SURFING, EVENT_OBJ_GFX_RIVAL_MAY_SURFING}, + {EVENT_OBJ_GFX_BRENDAN_UNDERWATER, EVENT_OBJ_GFX_MAY_UNDERWATER}, + {EVENT_OBJ_GFX_RIVAL_BRENDAN_FIELD_MOVE, EVENT_OBJ_GFX_RIVAL_MAY_FIELD_MOVE}, + {EVENT_OBJ_GFX_BRENDAN_FISHING, EVENT_OBJ_GFX_MAY_FISHING}, + {EVENT_OBJ_GFX_BRENDAN_WATERING, EVENT_OBJ_GFX_MAY_WATERING} +}; + +const u8 gUnknown_084974F8[][2] = +{ + {EVENT_OBJ_GFX_BRENDAN_NORMAL, EVENT_OBJ_GFX_MAY_NORMAL}, + {EVENT_OBJ_GFX_BRENDAN_MACH_BIKE, EVENT_OBJ_GFX_MAY_MACH_BIKE}, + {EVENT_OBJ_GFX_BRENDAN_ACRO_BIKE, EVENT_OBJ_GFX_MAY_ACRO_BIKE}, + {EVENT_OBJ_GFX_BRENDAN_SURFING, EVENT_OBJ_GFX_MAY_SURFING}, + {EVENT_OBJ_GFX_BRENDAN_UNDERWATER, EVENT_OBJ_GFX_MAY_UNDERWATER}, + {EVENT_OBJ_GFX_BRENDAN_FIELD_MOVE, EVENT_OBJ_GFX_MAY_FIELD_MOVE}, + {EVENT_OBJ_GFX_BRENDAN_FISHING, EVENT_OBJ_GFX_MAY_FISHING}, + {EVENT_OBJ_GFX_BRENDAN_WATERING, EVENT_OBJ_GFX_MAY_WATERING}, +}; + +const u8 gUnknown_08497508[] = {EVENT_OBJ_GFX_RED, EVENT_OBJ_GFX_LEAF}; + +const u8 gUnknown_0849750A[] = {EVENT_OBJ_GFX_LINK_RS_BRENDAN, EVENT_OBJ_GFX_LINK_RS_MAY}; + +const u8 gUnknown_0849750C[2][5][2] = +{ + //male + { + {EVENT_OBJ_GFX_BRENDAN_NORMAL, 1}, + {EVENT_OBJ_GFX_BRENDAN_MACH_BIKE, 2}, + {EVENT_OBJ_GFX_BRENDAN_ACRO_BIKE, 4}, + {EVENT_OBJ_GFX_BRENDAN_SURFING, 8}, + {EVENT_OBJ_GFX_BRENDAN_UNDERWATER, 16}, + }, + //female + { + {EVENT_OBJ_GFX_MAY_NORMAL, 1}, + {EVENT_OBJ_GFX_MAY_MACH_BIKE, 2}, + {EVENT_OBJ_GFX_MAY_ACRO_BIKE, 4}, + {EVENT_OBJ_GFX_MAY_SURFING, 8}, + {EVENT_OBJ_GFX_MAY_UNDERWATER, 16}, + } +}; + +bool8 (*const gUnknown_08497520[])(u8) = //Duplicate of sArrowWarpMetatileBehaviorChecks +{ + MetatileBehavior_IsSouthArrowWarp, + MetatileBehavior_IsNorthArrowWarp, + MetatileBehavior_IsWestArrowWarp, + MetatileBehavior_IsEastArrowWarp, +}; + +u8 (*const gUnknown_08497530[])(struct Task *, struct EventObject *, struct EventObject *) = +{ + sub_808C3A4, + do_boulder_dust, + sub_808C484, +}; + +u8 (*const gUnknown_0849753C[])(struct Task *, struct EventObject *) = +{ + sub_808C544, +}; + +u8 (*const gUnknown_08497540[])(struct Task *, struct EventObject *) = +{ + sub_808C61C, + sub_808C644, + sub_808C6BC, + sub_808C6FC, +}; + +const u8 gUnknown_08497550[] = {3, 4, 2, 1}; + +const u8 gUnknown_08497554[] = {16, 16, 17, 18, 19}; + +u8 (*const gUnknown_0849755C[])(struct Task *) = +{ + fish0, + fish1, + fish2, + fish3, + fish4, + fish5, + fish6, + fish7, + fish8, + fish9, + fishA_wait_for_a_pressed, + fishB, + fishC, + fishD, + fishE, + fishF, +}; + +const u16 gUnknown_0849759C[] = {1, 1, 1}; + +const u16 gUnknown_084975A2[] = {1, 3, 6}; +/* +const u8 gUnknown_084975A8[] = _("·$"); + +const u16 gUnknown_084975AA[] = {36, 33, 30}; + +const u16 gUnknown_084975B0[] = +{ + 0, 0, + 0x28, 10, + 0x46, 30, +}; + +const u8 gUnknown_084975BC[] = {0x01, 0x03, 0x04, 0x02, 0x01, 0x00, 0x00, 0x00}; +*/ +// .text void MovementType_Player(struct Sprite *sprite) { UpdateEventObjectCurrentMovement(&gEventObjects[sprite->data[0]], sprite, EventObjectCB2_NoMovement2); From e0a83e3d72bb8157a412318734ac026850ca12d3 Mon Sep 17 00:00:00 2001 From: Diegoisawesome <diego@domoreaweso.me> Date: Thu, 6 Sep 2018 03:45:50 -0500 Subject: [PATCH 177/234] Update scaninc and preproc with multi-file incbins --- tools/preproc/c_file.cpp | 104 +++++++++++++++++++++------------------ tools/scaninc/c_file.cpp | 17 +++++-- 2 files changed, 69 insertions(+), 52 deletions(-) diff --git a/tools/preproc/c_file.cpp b/tools/preproc/c_file.cpp index 2f4bfea7cb..229f568fab 100644 --- a/tools/preproc/c_file.cpp +++ b/tools/preproc/c_file.cpp @@ -325,67 +325,75 @@ void CFile::TryConvertIncbin() m_pos++; - SkipWhitespace(); + std::printf("{"); - if (m_buffer[m_pos] != '"') - RaiseError("expected double quote"); - - m_pos++; - - int startPos = m_pos; - - while (m_buffer[m_pos] != '"') + while (true) { - if (m_buffer[m_pos] == 0) + SkipWhitespace(); + + if (m_buffer[m_pos] != '"') + RaiseError("expected double quote"); + + m_pos++; + + int startPos = m_pos; + + while (m_buffer[m_pos] != '"') { - if (m_pos >= m_size) - RaiseError("unexpected EOF in path string"); - else - RaiseError("unexpected null character in path string"); + if (m_buffer[m_pos] == 0) + { + if (m_pos >= m_size) + RaiseError("unexpected EOF in path string"); + else + RaiseError("unexpected null character in path string"); + } + + if (m_buffer[m_pos] == '\r' || m_buffer[m_pos] == '\n') + RaiseError("unexpected end of line character in path string"); + + if (m_buffer[m_pos] == '\\') + RaiseError("unexpected escape in path string"); + + m_pos++; } - if (m_buffer[m_pos] == '\r' || m_buffer[m_pos] == '\n') - RaiseError("unexpected end of line character in path string"); + std::string path(&m_buffer[startPos], m_pos - startPos); + + m_pos++; + + int fileSize; + std::unique_ptr<unsigned char[]> buffer = ReadWholeFile(path, fileSize); + + if ((fileSize % size) != 0) + RaiseError("Size %d doesn't evenly divide file size %d.\n", size, fileSize); + + int count = fileSize / size; + int offset = 0; + + for (int i = 0; i < count; i++) + { + int data = ExtractData(buffer, offset, size); + offset += size; + + if (isSigned) + std::printf("%d,", data); + else + std::printf("%uu,", data); + } + + SkipWhitespace(); + + if (m_buffer[m_pos] != ',') + break; - if (m_buffer[m_pos] == '\\') - RaiseError("unexpected escape in path string"); - m_pos++; } - - std::string path(&m_buffer[startPos], m_pos - startPos); - - m_pos++; - - SkipWhitespace(); - + if (m_buffer[m_pos] != ')') RaiseError("expected ')'"); m_pos++; - std::printf("{"); - - int fileSize; - std::unique_ptr<unsigned char[]> buffer = ReadWholeFile(path, fileSize); - - if ((fileSize % size) != 0) - RaiseError("Size %d doesn't evenly divide file size %d.\n", size, fileSize); - - int count = fileSize / size; - int offset = 0; - - for (int i = 0; i < count; i++) - { - int data = ExtractData(buffer, offset, size); - offset += size; - - if (isSigned) - std::printf("%d,", data); - else - std::printf("%uu,", data); - } - std::printf("}"); } diff --git a/tools/scaninc/c_file.cpp b/tools/scaninc/c_file.cpp index f7acc833fa..d470f959d4 100644 --- a/tools/scaninc/c_file.cpp +++ b/tools/scaninc/c_file.cpp @@ -244,18 +244,27 @@ void CFile::CheckIncbin() m_pos++; - SkipWhitespace(); + while (true) + { + SkipWhitespace(); - std::string path = ReadPath(); + std::string path = ReadPath(); - SkipWhitespace(); + SkipWhitespace(); + + m_incbins.emplace(path); + + if (m_buffer[m_pos] != ',') + break; + + m_pos++; + } if (m_buffer[m_pos] != ')') FATAL_INPUT_ERROR("expected ')'"); m_pos++; - m_incbins.emplace(path); } std::string CFile::ReadPath() From 9ad7dc9fd7c0fc6e3fe117ac6f393f8af4b9f53f Mon Sep 17 00:00:00 2001 From: Slawter666 <38655737+Slawter666@users.noreply.github.com> Date: Thu, 6 Sep 2018 12:02:37 +0100 Subject: [PATCH 178/234] Move remaining field_player_avatar data across --- data/field_player_avatar.s | 21 --------------------- ld_script.txt | 1 - src/field_player_avatar.c | 6 +++--- 3 files changed, 3 insertions(+), 25 deletions(-) delete mode 100644 data/field_player_avatar.s diff --git a/data/field_player_avatar.s b/data/field_player_avatar.s deleted file mode 100644 index fa36390dfe..0000000000 --- a/data/field_player_avatar.s +++ /dev/null @@ -1,21 +0,0 @@ -@ the third big chunk of data - - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - .align 2, 0 - -gUnknown_084975A8:: @ 84975A8 - .string "·$" - -gUnknown_084975AA:: @ 84975AA - .2byte 36, 33, 30 - -gUnknown_084975B0:: @ 84975B0 - .2byte 0, 0 - .2byte 0x28, 10 - .2byte 0x46, 30 - -gUnknown_084975BC:: @ 84975BC - .byte 0x01, 0x03, 0x04, 0x02, 0x01, 0x00, 0x00, 0x00 diff --git a/ld_script.txt b/ld_script.txt index f3573fd21d..071d2594ec 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -409,7 +409,6 @@ SECTIONS { src/metatile_behavior.o(.rodata); src/field_door.o(.rodata); src/field_player_avatar.o(.rodata); - data/field_player_avatar.o(.rodata); src/event_object_movement.o(.rodata); src/text_window.o(.rodata); src/scrcmd.o(.rodata); diff --git a/src/field_player_avatar.c b/src/field_player_avatar.c index d32aabb813..38845beb8c 100644 --- a/src/field_player_avatar.c +++ b/src/field_player_avatar.c @@ -266,8 +266,8 @@ u8 (*const gUnknown_0849755C[])(struct Task *) = const u16 gUnknown_0849759C[] = {1, 1, 1}; const u16 gUnknown_084975A2[] = {1, 3, 6}; -/* -const u8 gUnknown_084975A8[] = _("·$"); + +const u8 gUnknown_084975A8[] = _("·"); const u16 gUnknown_084975AA[] = {36, 33, 30}; @@ -279,7 +279,7 @@ const u16 gUnknown_084975B0[] = }; const u8 gUnknown_084975BC[] = {0x01, 0x03, 0x04, 0x02, 0x01, 0x00, 0x00, 0x00}; -*/ + // .text void MovementType_Player(struct Sprite *sprite) { From 78cdd97c8b958fa60ab0d70201360835aac985c6 Mon Sep 17 00:00:00 2001 From: Marcus Huderle <huderlem@gmail.com> Date: Thu, 6 Sep 2018 11:44:50 -0500 Subject: [PATCH 179/234] Add ability to specify metatile dimensions to gbagfx --- tools/gbagfx/Makefile | 7 +- tools/gbagfx/gfx.c | 175 ++++++++++++++++++++++------------------- tools/gbagfx/gfx.h | 4 +- tools/gbagfx/main.c | 105 ++++++++++++++++++++----- tools/gbagfx/options.h | 24 ++++++ 5 files changed, 210 insertions(+), 105 deletions(-) create mode 100755 tools/gbagfx/options.h diff --git a/tools/gbagfx/Makefile b/tools/gbagfx/Makefile index 6f11b1b3f5..c10b258de6 100644 --- a/tools/gbagfx/Makefile +++ b/tools/gbagfx/Makefile @@ -1,12 +1,15 @@ CC = gcc -CFLAGS = -Wall -Wextra -Werror -std=c11 -O2 -DPNG_SKIP_SETJMP_CHECK +CFLAGS = -Wall -Wextra -Werror -std=c11 -O2 -s -DPNG_SKIP_SETJMP_CHECK LIBS = -lpng -lz SRCS = main.c convert_png.c gfx.c jasc_pal.c lz.c rl.c util.c font.c -.PHONY: clean +.PHONY: all clean + +all: gbagfx + @: gbagfx: $(SRCS) convert_png.h gfx.h global.h jasc_pal.h lz.h rl.h util.h font.h $(CC) $(CFLAGS) $(SRCS) -o $@ $(LDFLAGS) $(LIBS) diff --git a/tools/gbagfx/gfx.c b/tools/gbagfx/gfx.c index c0f7f492c3..f927deed9b 100644 --- a/tools/gbagfx/gfx.c +++ b/tools/gbagfx/gfx.c @@ -18,16 +18,35 @@ #define DOWNCONVERT_BIT_DEPTH(x) ((x) / 8) -static void ConvertFromTiles1Bpp(unsigned char *src, unsigned char *dest, int numTiles, int tilesWidth, bool invertColors) +static void AdvanceMetatilePosition(int *subTileX, int *subTileY, int *metatileX, int *metatileY, int metatilesWide, int metatileWidth, int metatileHeight) { - int tilesX = 0; - int tilesY = 0; - int pitch = tilesWidth; + (*subTileX)++; + if (*subTileX == metatileWidth) { + *subTileX = 0; + (*subTileY)++; + if (*subTileY == metatileHeight) { + *subTileY = 0; + (*metatileX)++; + if (*metatileX == metatilesWide) { + *metatileX = 0; + (*metatileY)++; + } + } + } +} + +static void ConvertFromTiles1Bpp(unsigned char *src, unsigned char *dest, int numTiles, int metatilesWide, int metatileWidth, int metatileHeight, bool invertColors) +{ + int subTileX = 0; + int subTileY = 0; + int metatileX = 0; + int metatileY = 0; + int pitch = metatilesWide * metatileWidth; for (int i = 0; i < numTiles; i++) { for (int j = 0; j < 8; j++) { - int destY = tilesY * 8 + j; - int destX = tilesX; + int destY = (metatileY * metatileHeight + subTileY) * 8 + j; + int destX = metatileX * metatileWidth + subTileX; unsigned char srcPixelOctet = *src++; unsigned char *destPixelOctet = &dest[destY * pitch + destX]; @@ -38,27 +57,24 @@ static void ConvertFromTiles1Bpp(unsigned char *src, unsigned char *dest, int nu } } - tilesX++; - - if (tilesX == tilesWidth) { - tilesX = 0; - tilesY++; - } + AdvanceMetatilePosition(&subTileX, &subTileY, &metatileX, &metatileY, metatilesWide, metatileWidth, metatileHeight); } } -static void ConvertFromTiles4Bpp(unsigned char *src, unsigned char *dest, int numTiles, int tilesWidth, bool invertColors) +static void ConvertFromTiles4Bpp(unsigned char *src, unsigned char *dest, int numTiles, int metatilesWide, int metatileWidth, int metatileHeight, bool invertColors) { - int tilesX = 0; - int tilesY = 0; - int pitch = tilesWidth * 4; + int subTileX = 0; + int subTileY = 0; + int metatileX = 0; + int metatileY = 0; + int pitch = (metatilesWide * metatileWidth) * 4; for (int i = 0; i < numTiles; i++) { for (int j = 0; j < 8; j++) { - int destY = tilesY * 8 + j; + int destY = (metatileY * metatileHeight + subTileY) * 8 + j; for (int k = 0; k < 4; k++) { - int destX = tilesX * 4 + k; + int destX = (metatileX * metatileWidth + subTileX) * 4 + k; unsigned char srcPixelPair = *src++; unsigned char leftPixel = srcPixelPair & 0xF; unsigned char rightPixel = srcPixelPair >> 4; @@ -72,27 +88,24 @@ static void ConvertFromTiles4Bpp(unsigned char *src, unsigned char *dest, int nu } } - tilesX++; - - if (tilesX == tilesWidth) { - tilesX = 0; - tilesY++; - } + AdvanceMetatilePosition(&subTileX, &subTileY, &metatileX, &metatileY, metatilesWide, metatileWidth, metatileHeight); } } -static void ConvertFromTiles8Bpp(unsigned char *src, unsigned char *dest, int numTiles, int tilesWidth, bool invertColors) +static void ConvertFromTiles8Bpp(unsigned char *src, unsigned char *dest, int numTiles, int metatilesWide, int metatileWidth, int metatileHeight, bool invertColors) { - int tilesX = 0; - int tilesY = 0; - int pitch = tilesWidth * 8; + int subTileX = 0; + int subTileY = 0; + int metatileX = 0; + int metatileY = 0; + int pitch = (metatilesWide * metatileWidth) * 8; for (int i = 0; i < numTiles; i++) { for (int j = 0; j < 8; j++) { - int destY = tilesY * 8 + j; + int destY = (metatileY * metatileHeight + subTileY) * 8 + j; for (int k = 0; k < 8; k++) { - int destX = tilesX * 8 + k; + int destX = (metatileX * metatileWidth + subTileX) * 8 + k; unsigned char srcPixel = *src++; if (invertColors) @@ -102,25 +115,22 @@ static void ConvertFromTiles8Bpp(unsigned char *src, unsigned char *dest, int nu } } - tilesX++; - - if (tilesX == tilesWidth) { - tilesX = 0; - tilesY++; - } + AdvanceMetatilePosition(&subTileX, &subTileY, &metatileX, &metatileY, metatilesWide, metatileWidth, metatileHeight); } } -static void ConvertToTiles1Bpp(unsigned char *src, unsigned char *dest, int numTiles, int tilesWidth, bool invertColors) +static void ConvertToTiles1Bpp(unsigned char *src, unsigned char *dest, int numTiles, int metatilesWide, int metatileWidth, int metatileHeight, bool invertColors) { - int tilesX = 0; - int tilesY = 0; - int pitch = tilesWidth; + int subTileX = 0; + int subTileY = 0; + int metatileX = 0; + int metatileY = 0; + int pitch = metatilesWide * metatileWidth; for (int i = 0; i < numTiles; i++) { for (int j = 0; j < 8; j++) { - int srcY = tilesY * 8 + j; - int srcX = tilesX; + int srcY = (metatileY * metatileHeight + subTileY) * 8 + j; + int srcX = metatileX * metatileWidth + subTileX; unsigned char srcPixelOctet = src[srcY * pitch + srcX]; unsigned char *destPixelOctet = dest++; @@ -131,27 +141,24 @@ static void ConvertToTiles1Bpp(unsigned char *src, unsigned char *dest, int numT } } - tilesX++; - - if (tilesX == tilesWidth) { - tilesX = 0; - tilesY++; - } + AdvanceMetatilePosition(&subTileX, &subTileY, &metatileX, &metatileY, metatilesWide, metatileWidth, metatileHeight); } } -static void ConvertToTiles4Bpp(unsigned char *src, unsigned char *dest, int numTiles, int tilesWidth, bool invertColors) +static void ConvertToTiles4Bpp(unsigned char *src, unsigned char *dest, int numTiles, int metatilesWide, int metatileWidth, int metatileHeight, bool invertColors) { - int tilesX = 0; - int tilesY = 0; - int pitch = tilesWidth * 4; + int subTileX = 0; + int subTileY = 0; + int metatileX = 0; + int metatileY = 0; + int pitch = (metatilesWide * metatileWidth) * 4; for (int i = 0; i < numTiles; i++) { for (int j = 0; j < 8; j++) { - int srcY = tilesY * 8 + j; + int srcY = (metatileY * metatileHeight + subTileY) * 8 + j; for (int k = 0; k < 4; k++) { - int srcX = tilesX * 4 + k; + int srcX = (metatileX * metatileWidth + subTileX) * 4 + k; unsigned char srcPixelPair = src[srcY * pitch + srcX]; unsigned char leftPixel = srcPixelPair >> 4; unsigned char rightPixel = srcPixelPair & 0xF; @@ -165,27 +172,24 @@ static void ConvertToTiles4Bpp(unsigned char *src, unsigned char *dest, int numT } } - tilesX++; - - if (tilesX == tilesWidth) { - tilesX = 0; - tilesY++; - } + AdvanceMetatilePosition(&subTileX, &subTileY, &metatileX, &metatileY, metatilesWide, metatileWidth, metatileHeight); } } -static void ConvertToTiles8Bpp(unsigned char *src, unsigned char *dest, int numTiles, int tilesWidth, bool invertColors) +static void ConvertToTiles8Bpp(unsigned char *src, unsigned char *dest, int numTiles, int metatilesWide, int metatileWidth, int metatileHeight, bool invertColors) { - int tilesX = 0; - int tilesY = 0; - int pitch = tilesWidth * 8; + int subTileX = 0; + int subTileY = 0; + int metatileX = 0; + int metatileY = 0; + int pitch = (metatilesWide * metatileWidth) * 8; for (int i = 0; i < numTiles; i++) { for (int j = 0; j < 8; j++) { - int srcY = tilesY * 8 + j; + int srcY = (metatileY * metatileHeight + subTileY) * 8 + j; for (int k = 0; k < 8; k++) { - int srcX = tilesX * 8 + k; + int srcX = (metatileX * metatileWidth + subTileX) * 8 + k; unsigned char srcPixel = src[srcY * pitch + srcX]; if (invertColors) @@ -195,16 +199,11 @@ static void ConvertToTiles8Bpp(unsigned char *src, unsigned char *dest, int numT } } - tilesX++; - - if (tilesX == tilesWidth) { - tilesX = 0; - tilesY++; - } + AdvanceMetatilePosition(&subTileX, &subTileY, &metatileX, &metatileY, metatilesWide, metatileWidth, metatileHeight); } } -void ReadImage(char *path, int tilesWidth, int bitDepth, struct Image *image, bool invertColors) +void ReadImage(char *path, int tilesWidth, int bitDepth, int metatileWidth, int metatileHeight, struct Image *image, bool invertColors) { int tileSize = bitDepth * 8; @@ -215,6 +214,12 @@ void ReadImage(char *path, int tilesWidth, int bitDepth, struct Image *image, bo int tilesHeight = (numTiles + tilesWidth - 1) / tilesWidth; + if (tilesWidth % metatileWidth != 0) + FATAL_ERROR("The width in tiles (%d) isn't a multiple of the specified metatile width (%d)", tilesWidth, metatileWidth); + + if (tilesHeight % metatileHeight != 0) + FATAL_ERROR("The height in tiles (%d) isn't a multiple of the specified metatile height (%d)", tilesHeight, metatileHeight); + image->width = tilesWidth * 8; image->height = tilesHeight * 8; image->bitDepth = bitDepth; @@ -223,22 +228,24 @@ void ReadImage(char *path, int tilesWidth, int bitDepth, struct Image *image, bo if (image->pixels == NULL) FATAL_ERROR("Failed to allocate memory for pixels.\n"); + int metatilesWide = tilesWidth / metatileWidth; + switch (bitDepth) { case 1: - ConvertFromTiles1Bpp(buffer, image->pixels, numTiles, tilesWidth, invertColors); + ConvertFromTiles1Bpp(buffer, image->pixels, numTiles, metatilesWide, metatileWidth, metatileHeight, invertColors); break; case 4: - ConvertFromTiles4Bpp(buffer, image->pixels, numTiles, tilesWidth, invertColors); + ConvertFromTiles4Bpp(buffer, image->pixels, numTiles, metatilesWide, metatileWidth, metatileHeight, invertColors); break; case 8: - ConvertFromTiles8Bpp(buffer, image->pixels, numTiles, tilesWidth, invertColors); + ConvertFromTiles8Bpp(buffer, image->pixels, numTiles, metatilesWide, metatileWidth, metatileHeight, invertColors); break; } free(buffer); } -void WriteImage(char *path, int numTiles, int bitDepth, struct Image *image, bool invertColors) +void WriteImage(char *path, int numTiles, int bitDepth, int metatileWidth, int metatileHeight, struct Image *image, bool invertColors) { int tileSize = bitDepth * 8; @@ -251,6 +258,12 @@ void WriteImage(char *path, int numTiles, int bitDepth, struct Image *image, boo int tilesWidth = image->width / 8; int tilesHeight = image->height / 8; + if (tilesWidth % metatileWidth != 0) + FATAL_ERROR("The width in tiles (%d) isn't a multiple of the specified metatile width (%d)", tilesWidth, metatileWidth); + + if (tilesHeight % metatileHeight != 0) + FATAL_ERROR("The height in tiles (%d) isn't a multiple of the specified metatile height (%d)", tilesHeight, metatileHeight); + int maxNumTiles = tilesWidth * tilesHeight; if (numTiles == 0) @@ -264,15 +277,17 @@ void WriteImage(char *path, int numTiles, int bitDepth, struct Image *image, boo if (buffer == NULL) FATAL_ERROR("Failed to allocate memory for pixels.\n"); + int metatilesWide = tilesWidth / metatileWidth; + switch (bitDepth) { case 1: - ConvertToTiles1Bpp(image->pixels, buffer, numTiles, tilesWidth, invertColors); + ConvertToTiles1Bpp(image->pixels, buffer, numTiles, metatilesWide, metatileWidth, metatileHeight, invertColors); break; case 4: - ConvertToTiles4Bpp(image->pixels, buffer, numTiles, tilesWidth, invertColors); + ConvertToTiles4Bpp(image->pixels, buffer, numTiles, metatilesWide, metatileWidth, metatileHeight, invertColors); break; case 8: - ConvertToTiles8Bpp(image->pixels, buffer, numTiles, tilesWidth, invertColors); + ConvertToTiles8Bpp(image->pixels, buffer, numTiles, metatilesWide, metatileWidth, metatileHeight, invertColors); break; } diff --git a/tools/gbagfx/gfx.h b/tools/gbagfx/gfx.h index ecd436652e..5355ced856 100644 --- a/tools/gbagfx/gfx.h +++ b/tools/gbagfx/gfx.h @@ -27,8 +27,8 @@ struct Image { bool hasTransparency; }; -void ReadImage(char *path, int tilesWidth, int bitDepth, struct Image *image, bool invertColors); -void WriteImage(char *path, int numTiles, int bitDepth, struct Image *image, bool invertColors); +void ReadImage(char *path, int tilesWidth, int bitDepth, int metatileWidth, int metatileHeight, struct Image *image, bool invertColors); +void WriteImage(char *path, int numTiles, int bitDepth, int metatileWidth, int metatileHeight, struct Image *image, bool invertColors); void FreeImage(struct Image *image); void ReadGbaPalette(char *path, struct Palette *palette); void WriteGbaPalette(char *path, struct Palette *palette); diff --git a/tools/gbagfx/main.c b/tools/gbagfx/main.c index 97db60e843..86b0afa538 100644 --- a/tools/gbagfx/main.c +++ b/tools/gbagfx/main.c @@ -5,6 +5,7 @@ #include <stdbool.h> #include "global.h" #include "util.h" +#include "options.h" #include "gfx.h" #include "convert_png.h" #include "jasc_pal.h" @@ -19,13 +20,13 @@ struct CommandHandler void(*function)(char *inputPath, char *outputPath, int argc, char **argv); }; -void ConvertGbaToPng(char *inputPath, char *outputPath, int width, int bitDepth, char *paletteFilePath, bool hasTransparency) +void ConvertGbaToPng(char *inputPath, char *outputPath, struct GbaToPngOptions *options) { struct Image image; - if (paletteFilePath != NULL) + if (options->paletteFilePath != NULL) { - ReadGbaPalette(paletteFilePath, &image.palette); + ReadGbaPalette(options->paletteFilePath, &image.palette); image.hasPalette = true; } else @@ -33,24 +34,24 @@ void ConvertGbaToPng(char *inputPath, char *outputPath, int width, int bitDepth, image.hasPalette = false; } - ReadImage(inputPath, width, bitDepth, &image, !image.hasPalette); + ReadImage(inputPath, options->width, options->bitDepth, options->metatileWidth, options->metatileHeight, &image, !image.hasPalette); - image.hasTransparency = hasTransparency; + image.hasTransparency = options->hasTransparency; WritePng(outputPath, &image); FreeImage(&image); } -void ConvertPngToGba(char *inputPath, char *outputPath, int numTiles, int bitDepth) +void ConvertPngToGba(char *inputPath, char *outputPath, struct PngToGbaOptions *options) { struct Image image; - image.bitDepth = bitDepth; + image.bitDepth = options->bitDepth; ReadPng(inputPath, &image); - WriteImage(outputPath, numTiles, bitDepth, &image, !image.hasPalette); + WriteImage(outputPath, options->numTiles, options->bitDepth, options->metatileWidth, options->metatileHeight, &image, !image.hasPalette); FreeImage(&image); } @@ -58,10 +59,13 @@ void ConvertPngToGba(char *inputPath, char *outputPath, int numTiles, int bitDep void HandleGbaToPngCommand(char *inputPath, char *outputPath, int argc, char **argv) { char *inputFileExtension = GetFileExtension(inputPath); - int bitDepth = inputFileExtension[0] - '0'; - char *paletteFilePath = NULL; - bool hasTransparency = false; - int width = 1; + struct GbaToPngOptions options; + options.paletteFilePath = NULL; + options.bitDepth = inputFileExtension[0] - '0'; + options.hasTransparency = false; + options.width = 1; + options.metatileWidth = 1; + options.metatileHeight = 1; for (int i = 3; i < argc; i++) { @@ -74,11 +78,11 @@ void HandleGbaToPngCommand(char *inputPath, char *outputPath, int argc, char **a i++; - paletteFilePath = argv[i]; + options.paletteFilePath = argv[i]; } else if (strcmp(option, "-object") == 0) { - hasTransparency = true; + options.hasTransparency = true; } else if (strcmp(option, "-width") == 0) { @@ -87,26 +91,59 @@ void HandleGbaToPngCommand(char *inputPath, char *outputPath, int argc, char **a i++; - if (!ParseNumber(argv[i], NULL, 10, &width)) + if (!ParseNumber(argv[i], NULL, 10, &options.width)) FATAL_ERROR("Failed to parse width.\n"); - if (width < 1) + if (options.width < 1) FATAL_ERROR("Width must be positive.\n"); } + else if (strcmp(option, "-mwidth") == 0) + { + if (i + 1 >= argc) + FATAL_ERROR("No metatile width value following \"-mwidth\".\n"); + + i++; + + if (!ParseNumber(argv[i], NULL, 10, &options.metatileWidth)) + FATAL_ERROR("Failed to parse metatile width.\n"); + + if (options.metatileWidth < 1) + FATAL_ERROR("metatile width must be positive.\n"); + } + else if (strcmp(option, "-mheight") == 0) + { + if (i + 1 >= argc) + FATAL_ERROR("No metatile height value following \"-mheight\".\n"); + + i++; + + if (!ParseNumber(argv[i], NULL, 10, &options.metatileHeight)) + FATAL_ERROR("Failed to parse metatile height.\n"); + + if (options.metatileHeight < 1) + FATAL_ERROR("metatile height must be positive.\n"); + } else { FATAL_ERROR("Unrecognized option \"%s\".\n", option); } } - ConvertGbaToPng(inputPath, outputPath, width, bitDepth, paletteFilePath, hasTransparency); + if (options.metatileWidth > options.width) + options.width = options.metatileWidth; + + ConvertGbaToPng(inputPath, outputPath, &options); } void HandlePngToGbaCommand(char *inputPath, char *outputPath, int argc, char **argv) { char *outputFileExtension = GetFileExtension(outputPath); int bitDepth = outputFileExtension[0] - '0'; - int numTiles = 0; + struct PngToGbaOptions options; + options.numTiles = 0; + options.bitDepth = bitDepth; + options.metatileWidth = 1; + options.metatileHeight = 1; for (int i = 3; i < argc; i++) { @@ -119,19 +156,45 @@ void HandlePngToGbaCommand(char *inputPath, char *outputPath, int argc, char **a i++; - if (!ParseNumber(argv[i], NULL, 10, &numTiles)) + if (!ParseNumber(argv[i], NULL, 10, &options.numTiles)) FATAL_ERROR("Failed to parse number of tiles.\n"); - if (numTiles < 1) + if (options.numTiles < 1) FATAL_ERROR("Number of tiles must be positive.\n"); } + else if (strcmp(option, "-mwidth") == 0) + { + if (i + 1 >= argc) + FATAL_ERROR("No metatile width value following \"-mwidth\".\n"); + + i++; + + if (!ParseNumber(argv[i], NULL, 10, &options.metatileWidth)) + FATAL_ERROR("Failed to parse metatile width.\n"); + + if (options.metatileWidth < 1) + FATAL_ERROR("metatile width must be positive.\n"); + } + else if (strcmp(option, "-mheight") == 0) + { + if (i + 1 >= argc) + FATAL_ERROR("No metatile height value following \"-mheight\".\n"); + + i++; + + if (!ParseNumber(argv[i], NULL, 10, &options.metatileHeight)) + FATAL_ERROR("Failed to parse metatile height.\n"); + + if (options.metatileHeight < 1) + FATAL_ERROR("metatile height must be positive.\n"); + } else { FATAL_ERROR("Unrecognized option \"%s\".\n", option); } } - ConvertPngToGba(inputPath, outputPath, numTiles, bitDepth); + ConvertPngToGba(inputPath, outputPath, &options); } void HandlePngToGbaPaletteCommand(char *inputPath, char *outputPath, int argc UNUSED, char **argv UNUSED) diff --git a/tools/gbagfx/options.h b/tools/gbagfx/options.h new file mode 100755 index 0000000000..2ff3967a4d --- /dev/null +++ b/tools/gbagfx/options.h @@ -0,0 +1,24 @@ +// Copyright (c) 2018 huderlem + +#ifndef OPTIONS_H +#define OPTIONS_H + +#include <stdbool.h> + +struct GbaToPngOptions { + char *paletteFilePath; + int bitDepth; + bool hasTransparency; + int width; + int metatileWidth; + int metatileHeight; +}; + +struct PngToGbaOptions { + int numTiles; + int bitDepth; + int metatileWidth; + int metatileHeight; +}; + +#endif // OPTIONS_H From 1283b87505b508750a22317d548484e851ce6cad Mon Sep 17 00:00:00 2001 From: DizzyEggg <jajkodizzy@wp.pl> Date: Thu, 6 Sep 2018 23:02:16 +0200 Subject: [PATCH 180/234] up to sub_819d064 --- asm/battle_frontier_2.s | 1330 ++++----------------------------------- src/battle_factory.c | 497 ++++++++++++++- sym_bss.txt | 6 - 3 files changed, 611 insertions(+), 1222 deletions(-) diff --git a/asm/battle_frontier_2.s b/asm/battle_frontier_2.s index 835d43bad8..489eb2d15b 100644 --- a/asm/battle_frontier_2.s +++ b/asm/battle_frontier_2.s @@ -8,1106 +8,6 @@ - thumb_func_start sub_819C7E0 -sub_819C7E0: @ 819C7E0 - push {lr} - bl AnimateSprites - bl BuildOamBuffer - bl RunTextPrinters - bl UpdatePaletteFade - bl RunTasks - pop {r0} - bx r0 - thumb_func_end sub_819C7E0 - - thumb_func_start sub_819C7FC -sub_819C7FC: @ 819C7FC - push {lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - pop {r0} - bx r0 - thumb_func_end sub_819C7FC - - thumb_func_start sub_819C810 -sub_819C810: @ 819C810 - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - sub sp, 0x4 - ldr r4, =gPlayerParty - ldr r5, =gUnknown_03001284 - ldr r1, [r5] - ldrb r0, [r1, 0x12] - movs r6, 0x64 - muls r0, r6 - adds r0, r4 - ldr r2, =gEnemyParty - mov r9, r2 - ldrb r1, [r1, 0x13] - muls r1, r6 - add r1, r9 - movs r2, 0x64 - bl memcpy - movs r1, 0 - mov r0, sp - strb r1, [r0] - ldr r0, [r5] - ldrb r0, [r0, 0x12] - muls r0, r6 - adds r0, r4 - movs r1, 0x20 - mov r2, sp - bl SetMonData - ldr r3, =gSaveBlock2Ptr - mov r8, r3 - ldr r3, [r3] - ldr r4, [r5] - ldrb r0, [r4, 0x12] - lsls r2, r0, 1 - adds r2, r0 - lsls r2, 2 - adds r2, r3, r2 - ldrb r1, [r4, 0x13] - adds r1, 0x3 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r3, r0 - movs r1, 0xE7 - lsls r1, 4 - adds r0, r1 - ldrh r0, [r0] - adds r2, r1 - strh r0, [r2] - ldrb r0, [r4, 0x12] - lsls r2, r0, 1 - adds r2, r0 - lsls r2, 2 - adds r2, r3, r2 - ldrb r1, [r4, 0x13] - adds r1, 0x3 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r3, r0 - ldr r0, =0x00000e78 - adds r3, r0 - ldrb r1, [r3] - adds r2, r0 - strb r1, [r2] - ldr r0, [r5] - ldrb r0, [r0, 0x13] - muls r0, r6 - add r0, r9 - movs r1, 0 - movs r2, 0 - bl GetMonData - mov r1, r8 - ldr r2, [r1] - ldr r4, [r5] - ldrb r3, [r4, 0x12] - lsls r1, r3, 1 - adds r1, r3 - lsls r1, 2 - ldr r3, =0x00000e74 - adds r2, r3 - adds r2, r1 - str r0, [r2] - ldrb r0, [r4, 0x13] - muls r0, r6 - add r0, r9 - movs r1, 0x2E - movs r2, 0 - bl GetBoxMonData - mov r1, r8 - ldr r2, [r1] - ldr r1, [r5] - ldrb r3, [r1, 0x12] - lsls r1, r3, 1 - adds r1, r3 - lsls r1, 2 - adds r2, r1 - ldr r3, =0x00000e79 - adds r2, r3 - strb r0, [r2] - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_819C810 - - thumb_func_start sub_819C90C -sub_819C90C: @ 819C90C - push {r4-r6,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r2, r0, 24 - ldr r1, =gTasks - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r6, r0, r1 - movs r1, 0x8 - ldrsh r0, [r6, r1] - cmp r0, 0x7 - beq _0819C950 - cmp r0, 0x7 - bgt _0819C934 - cmp r0, 0x6 - beq _0819C93A - b _0819C9F0 - .pool -_0819C934: - cmp r0, 0x8 - beq _0819C9C4 - b _0819C9F0 -_0819C93A: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - movs r0, 0x7 - strh r0, [r6, 0x8] - b _0819C9F0 -_0819C950: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0 - bne _0819C9F0 - ldr r4, =gUnknown_03001284 - ldr r0, [r4] - adds r0, 0x21 - ldrb r0, [r0] - bl DestroyTask - ldr r1, [r4] - ldr r0, [r1, 0x2C] - adds r1, 0x30 - bl sub_819F444 - bl sub_819E538 - ldr r4, =gUnknown_0203CE40 - ldr r0, [r4] - bl Free - str r5, [r4] - ldr r4, =gUnknown_0203CE44 - ldr r0, [r4] - bl Free - str r5, [r4] - ldr r4, =gUnknown_0203CE48 - ldr r0, [r4] - bl Free - str r5, [r4] - ldr r4, =gUnknown_0203CE4C - ldr r0, [r4] - bl Free - str r5, [r4] - bl FreeAllWindowBuffers - movs r0, 0x8 - strh r0, [r6, 0x8] - b _0819C9F0 - .pool -_0819C9C4: - adds r0, r2, 0 - bl DestroyTask - ldr r2, =gUnknown_03001284 - ldr r1, [r2] - movs r0, 0x1 - strb r0, [r1, 0x15] - ldr r2, [r2] - ldr r0, =gPlttBufferUnfaded - movs r1, 0xF4 - lsls r1, 1 - adds r0, r1 - ldrh r0, [r0] - strh r0, [r2, 0x24] - ldr r1, =gPlayerParty - ldrb r2, [r2, 0x3] - ldr r0, =sub_819DC1C - str r0, [sp] - movs r0, 0 - movs r3, 0x2 - bl ShowPokemonSummaryScreen -_0819C9F0: - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_819C90C - - thumb_func_start sub_819CA08 -sub_819CA08: @ 819CA08 - push {r4-r7,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r6, r0, 24 - ldr r7, =gUnknown_03001284 - ldr r2, [r7] - adds r0, r2, 0 - adds r0, 0x30 - ldrb r0, [r0] - cmp r0, 0x1 - beq _0819CAFE - ldr r1, =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r4, r0, r1 - movs r0, 0x8 - ldrsh r1, [r4, r0] - cmp r1, 0x1 - beq _0819CA78 - cmp r1, 0x1 - bgt _0819CA44 - cmp r1, 0 - beq _0819CA4E - b _0819CAFE - .pool -_0819CA44: - cmp r1, 0x2 - beq _0819CA8C - cmp r1, 0x3 - beq _0819CAA4 - b _0819CAFE -_0819CA4E: - adds r0, r2, 0 - adds r0, 0x20 - ldrb r0, [r0] - cmp r0, 0x1 - bne _0819CA68 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - ldr r0, =gSpecialVar_Result - strh r1, [r0] - b _0819CAFE - .pool -_0819CA68: - movs r0, 0x2 - strh r0, [r4, 0x8] - ldr r1, =gSpecialVar_Result - movs r0, 0x1 - strh r0, [r1] - b _0819CAFE - .pool -_0819CA78: - adds r0, r2, 0 - adds r0, 0x20 - ldrb r0, [r0] - cmp r0, 0x1 - bne _0819CA9C - ldrb r0, [r2, 0x3] - strb r0, [r2, 0x13] - bl sub_819C810 - b _0819CA9C -_0819CA8C: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade -_0819CA9C: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _0819CAFE -_0819CAA4: - bl UpdatePaletteFade - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0 - bne _0819CAFE - ldr r0, [r7] - adds r0, 0x21 - ldrb r0, [r0] - bl DestroyTask - bl sub_819E538 - ldr r4, =gUnknown_0203CE40 - ldr r0, [r4] - bl Free - str r5, [r4] - ldr r4, =gUnknown_0203CE44 - ldr r0, [r4] - bl Free - str r5, [r4] - ldr r4, =gUnknown_0203CE48 - ldr r0, [r4] - bl Free - str r5, [r4] - ldr r4, =gUnknown_0203CE4C - ldr r0, [r4] - bl Free - str r5, [r4] - ldr r0, [r7] - bl Free - str r5, [r7] - bl FreeAllWindowBuffers - ldr r0, =CB2_ReturnToFieldContinueScript - bl SetMainCallback2 - adds r0, r6, 0 - bl DestroyTask -_0819CAFE: - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_819CA08 - - thumb_func_start sub_819CB1C -sub_819CB1C: @ 819CB1C - push {r4-r7,lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r7, =gUnknown_03001284 - ldr r0, [r7] - adds r0, 0x30 - ldrb r0, [r0] - cmp r0, 0x1 - beq _0819CBD6 - ldr r1, =gTasks - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0x4 - beq _0819CB50 - cmp r0, 0x5 - beq _0819CB5A - b _0819CBD6 - .pool -_0819CB50: - bl sub_819E9E0 - movs r0, 0x5 - strh r0, [r4, 0x8] - b _0819CBD6 -_0819CB5A: - ldr r2, =gMain - ldrh r1, [r2, 0x2E] - movs r6, 0x1 - adds r5, r6, 0 - ands r5, r1 - cmp r5, 0 - beq _0819CB86 - movs r0, 0x5 - bl PlaySE - ldr r0, [r7] - ldrb r0, [r0, 0x16] - cmp r0, 0 - bne _0819CB80 - strh r6, [r4, 0xA] - b _0819CB9C - .pool -_0819CB80: - movs r0, 0 - strh r0, [r4, 0xA] - b _0819CB96 -_0819CB86: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0819CBA8 - movs r0, 0x5 - bl PlaySE - strh r5, [r4, 0xA] -_0819CB96: - movs r0, 0x4 - bl sub_819EA64 -_0819CB9C: - ldrh r0, [r4, 0x14] - ldrh r1, [r4, 0x16] - lsls r0, 16 - orrs r0, r1 - str r0, [r4] - b _0819CBD6 -_0819CBA8: - ldrh r1, [r2, 0x30] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _0819CBC2 - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - negs r0, r0 - bl sub_819E758 - b _0819CBD6 -_0819CBC2: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0819CBD6 - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - bl sub_819E758 -_0819CBD6: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_819CB1C - - thumb_func_start sub_819CBDC -sub_819CBDC: @ 819CBDC - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r2, r1, r2 - movs r1, 0xA - ldrsh r0, [r2, r1] - cmp r0, 0x1 - bne _0819CC04 - movs r0, 0 - strh r0, [r2, 0x8] - ldr r0, =sub_819CA08 - b _0819CC16 - .pool -_0819CC04: - movs r0, 0 - strh r0, [r2, 0x8] - ldr r1, =sub_819CE40 - lsrs r0, r1, 16 - strh r0, [r2, 0x14] - strh r1, [r2, 0x16] - movs r0, 0x1 - strh r0, [r2, 0x12] - ldr r0, =sub_819D770 -_0819CC16: - str r0, [r2] - pop {r0} - bx r0 - .pool - thumb_func_end sub_819CBDC - - thumb_func_start sub_819CC24 -sub_819CC24: @ 819CC24 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 - movs r0, 0x8 - ldrsh r5, [r4, r0] - cmp r5, 0 - bne _0819CC5A - ldr r0, =gText_QuitSwapping - bl sub_819EBEC - ldr r0, =gUnknown_03001284 - ldr r0, [r0] - adds r0, 0x20 - strb r5, [r0] - movs r0, 0x4 - strh r0, [r4, 0x8] - ldr r1, =sub_819CBDC - lsrs r0, r1, 16 - strh r0, [r4, 0x14] - strh r1, [r4, 0x16] - ldr r0, =sub_819CB1C - str r0, [r4] -_0819CC5A: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_819CC24 - - thumb_func_start sub_819CC74 -sub_819CC74: @ 819CC74 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, =gUnknown_03001284 - ldr r1, [r0] - ldr r0, [r1, 0x2C] - adds r1, 0x30 - movs r2, 0x1 - bl sub_819F3F8 - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r2, r0, r1 - movs r1, 0xA - ldrsh r0, [r2, r1] - cmp r0, 0x1 - bne _0819CCB0 - movs r0, 0 - strh r0, [r2, 0x8] - ldr r0, =sub_819CA08 - b _0819CCC2 - .pool -_0819CCB0: - movs r0, 0 - strh r0, [r2, 0x8] - ldr r1, =sub_819CE40 - lsrs r0, r1, 16 - strh r0, [r2, 0x14] - strh r1, [r2, 0x16] - movs r0, 0x1 - strh r0, [r2, 0x12] - ldr r0, =sub_819D770 -_0819CCC2: - str r0, [r2] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_819CC74 - - thumb_func_start sub_819CCD4 -sub_819CCD4: @ 819CCD4 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r5, r1, r2 - movs r1, 0x8 - ldrsh r0, [r5, r1] - cmp r0, 0 - bne _0819CD1A - ldr r4, =gUnknown_03001284 - ldr r1, [r4] - adds r0, r1, 0 - adds r0, 0x2D - adds r1, 0x30 - movs r2, 0x1 - bl sub_819F2B4 - ldr r0, =gText_AcceptThisPkmn - bl sub_819EBEC - ldr r0, [r4] - adds r0, 0x20 - movs r1, 0x1 - strb r1, [r0] - movs r0, 0x4 - strh r0, [r5, 0x8] - ldr r1, =sub_819CC74 - lsrs r0, r1, 16 - strh r0, [r5, 0x14] - strh r1, [r5, 0x16] - ldr r0, =sub_819CB1C - str r0, [r5] -_0819CD1A: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_819CCD4 - - thumb_func_start sub_819CD34 -sub_819CD34: @ 819CD34 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r1, =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r5, r0, r1 - movs r1, 0x8 - ldrsh r0, [r5, r1] - cmp r0, 0x3 - beq _0819CDA4 - cmp r0, 0x3 - bgt _0819CD60 - cmp r0, 0x2 - beq _0819CD66 - b _0819CE36 - .pool -_0819CD60: - cmp r0, 0x9 - beq _0819CD88 - b _0819CE36 -_0819CD66: - ldr r0, =gUnknown_03001284 - ldr r1, [r0] - ldrb r0, [r1, 0x15] - cmp r0, 0 - bne _0819CD7C - adds r0, r1, 0 - adds r0, 0x2D - adds r1, 0x30 - movs r2, 0x1 - bl sub_819F2B4 -_0819CD7C: - movs r0, 0x9 - strh r0, [r5, 0x8] - b _0819CE36 - .pool -_0819CD88: - ldr r0, =gUnknown_03001284 - ldr r0, [r0] - adds r0, 0x30 - ldrb r0, [r0] - cmp r0, 0x1 - beq _0819CE36 - bl sub_819E944 - movs r0, 0x3 - strh r0, [r5, 0x8] - b _0819CE36 - .pool -_0819CDA4: - ldr r7, =gUnknown_03001284 - ldr r0, [r7] - adds r0, 0x30 - ldrb r0, [r0] - cmp r0, 0x1 - beq _0819CE36 - ldr r2, =gMain - ldrh r1, [r2, 0x2E] - movs r0, 0x1 - mov r8, r0 - mov r4, r8 - ands r4, r1 - cmp r4, 0 - beq _0819CDD8 - movs r0, 0x5 - bl PlaySE - adds r0, r6, 0 - bl sub_819F0A0 - b _0819CE36 - .pool -_0819CDD8: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0819CE14 - movs r0, 0x5 - bl PlaySE - ldr r1, [r7] - ldr r0, [r1, 0x2C] - adds r1, 0x30 - movs r2, 0x1 - bl sub_819F3F8 - movs r0, 0x3 - bl sub_819EA64 - strh r4, [r5, 0x8] - ldr r1, =sub_819CE40 - lsrs r0, r1, 16 - strh r0, [r5, 0x14] - strh r1, [r5, 0x16] - mov r1, r8 - strh r1, [r5, 0x12] - ldr r0, =sub_819D770 - str r0, [r5] - b _0819CE36 - .pool -_0819CE14: - ldrh r1, [r2, 0x30] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _0819CE28 - movs r0, 0x1 - negs r0, r0 - bl sub_819E7C0 - b _0819CE36 -_0819CE28: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0819CE36 - movs r0, 0x1 - bl sub_819E7C0 -_0819CE36: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_819CD34 - - thumb_func_start sub_819CE40 -sub_819CE40: @ 819CE40 - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r1, =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _0819CE64 - cmp r0, 0x1 - beq _0819CE88 - b _0819CF4C - .pool -_0819CE64: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0819CF4C - ldr r0, =gUnknown_03001284 - ldr r0, [r0] - adds r0, 0x22 - movs r1, 0x1 - strb r1, [r0] - strh r1, [r4, 0x8] - b _0819CF4C - .pool -_0819CE88: - ldr r2, =gMain - ldrh r1, [r2, 0x2E] - adds r5, r1, 0 - ands r5, r0 - cmp r5, 0 - beq _0819CEBC - movs r0, 0x5 - bl PlaySE - ldr r0, =gUnknown_03001284 - ldr r0, [r0] - adds r0, 0x22 - movs r1, 0 - strb r1, [r0] - bl sub_819EE08 - bl sub_819EAC0 - adds r0, r6, 0 - bl sub_819F184 - b _0819CF4C - .pool -_0819CEBC: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0819CEF8 - movs r0, 0x5 - bl PlaySE - ldr r0, =gUnknown_03001284 - ldr r0, [r0] - adds r0, 0x22 - strb r5, [r0] - bl sub_819EE08 - bl sub_819EAC0 - ldr r1, =sub_819CC24 - lsrs r0, r1, 16 - strh r0, [r4, 0x14] - strh r1, [r4, 0x16] - strh r5, [r4, 0x8] - strh r5, [r4, 0x12] - ldr r0, =sub_819D588 - str r0, [r4] - b _0819CF4C - .pool -_0819CEF8: - ldrh r1, [r2, 0x30] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _0819CF0C - movs r0, 0x1 - negs r0, r0 - bl sub_819E694 - b _0819CF2A -_0819CF0C: - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _0819CF1C - movs r0, 0x1 - bl sub_819E694 - b _0819CF2A -_0819CF1C: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0819CF34 - movs r0, 0x1 - bl sub_819E6E8 -_0819CF2A: - bl sub_819EFA8 - bl sub_819EB4C - b _0819CF4C -_0819CF34: - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _0819CF4C - movs r0, 0x1 - negs r0, r0 - bl sub_819E6E8 - bl sub_819EFA8 - bl sub_819EB4C -_0819CF4C: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_819CE40 - - thumb_func_start sub_819CF54 -sub_819CF54: @ 819CF54 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r1 - movs r0, 0x8 - ldrsh r2, [r4, r0] - cmp r2, 0x1 - beq _0819CFA0 - cmp r2, 0x1 - bgt _0819CF7C - cmp r2, 0 - beq _0819CF82 - b _0819D05C - .pool -_0819CF7C: - cmp r2, 0x2 - beq _0819D03C - b _0819D05C -_0819CF82: - ldr r1, =gUnknown_03001284 - ldr r0, [r1] - adds r0, 0x27 - strb r2, [r0] - ldr r0, [r1] - adds r0, 0x28 - strb r2, [r0] - ldr r0, [r1] - adds r0, 0x26 - movs r1, 0x1 - strb r1, [r0] - strh r1, [r4, 0x8] - b _0819D05C - .pool -_0819CFA0: - ldr r1, =gUnknown_03001284 - ldr r2, [r1] - adds r0, r2, 0 - adds r0, 0x22 - ldrb r0, [r0] - adds r6, r1, 0 - cmp r0, 0 - beq _0819D05C - adds r0, r2, 0 - adds r0, 0x29 - ldrb r3, [r0] - cmp r3, 0 - beq _0819CFC4 - movs r0, 0x2 - strh r0, [r4, 0x8] - b _0819D05C - .pool -_0819CFC4: - adds r1, r2, 0 - adds r1, 0x27 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - ldr r0, [r6] - adds r1, r0, 0 - adds r1, 0x27 - ldrb r0, [r1] - cmp r0, 0x6 - bls _0819CFF8 - strb r3, [r1] - ldr r1, [r6] - adds r0, r1, 0 - adds r0, 0x26 - ldrb r0, [r0] - cmp r0, 0 - bne _0819CFF0 - adds r1, 0x28 - ldrb r0, [r1] - subs r0, 0x1 - b _0819CFF6 -_0819CFF0: - adds r1, 0x28 - ldrb r0, [r1] - adds r0, 0x1 -_0819CFF6: - strb r0, [r1] -_0819CFF8: - movs r0, 0x80 - lsls r0, 7 - ldr r1, [r6] - adds r1, 0x28 - ldrb r1, [r1] - movs r2, 0 - bl BlendPalettes - ldr r2, [r6] - adds r0, r2, 0 - adds r0, 0x28 - ldrb r0, [r0] - cmp r0, 0x5 - bls _0819D01C - adds r1, r2, 0 - adds r1, 0x26 - movs r0, 0 - b _0819D05A -_0819D01C: - cmp r0, 0 - bne _0819D05C - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - movs r1, 0x2 - strh r1, [r0, 0x8] - adds r1, r2, 0 - adds r1, 0x26 - movs r0, 0x1 - b _0819D05A - .pool -_0819D03C: - ldr r0, =gUnknown_03001284 - ldr r0, [r0] - adds r1, r0, 0 - adds r1, 0x29 - ldrb r0, [r1] - cmp r0, 0xE - bls _0819D058 - movs r0, 0 - strb r0, [r1] - movs r0, 0x1 - strh r0, [r4, 0x8] - b _0819D05C - .pool -_0819D058: - adds r0, 0x1 -_0819D05A: - strb r0, [r1] -_0819D05C: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_819CF54 - - thumb_func_start sub_819D064 -sub_819D064: @ 819D064 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 - movs r0, 0x8 - ldrsh r1, [r4, r0] - cmp r1, 0x1 - beq _0819D0A4 - cmp r1, 0x1 - bgt _0819D08C - cmp r1, 0 - beq _0819D092 - b _0819D118 - .pool -_0819D08C: - cmp r1, 0x2 - beq _0819D0BC - b _0819D118 -_0819D092: - ldr r0, =gUnknown_03001284 - ldr r0, [r0] - adds r0, 0x27 - strb r1, [r0] - strh r1, [r4, 0x10] - b _0819D0AE - .pool -_0819D0A4: - ldr r0, =gPlttBufferUnfaded+ 0x1E0 - movs r1, 0xE0 - movs r2, 0xA - bl LoadPalette -_0819D0AE: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _0819D118 - .pool -_0819D0BC: - ldr r2, =gUnknown_03001284 - ldr r0, [r2] - adds r0, 0x28 - ldrb r0, [r0] - cmp r0, 0xF - bls _0819D0D2 - movs r0, 0x1 - strh r0, [r4, 0x10] - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_0819D0D2: - ldr r1, [r2] - adds r1, 0x27 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - ldr r0, [r2] - adds r1, r0, 0 - adds r1, 0x27 - ldrb r0, [r1] - cmp r0, 0x3 - bls _0819D108 - movs r0, 0 - strb r0, [r1] - ldr r1, =gPlttBufferUnfaded - ldr r0, =gPlttBufferFaded - movs r3, 0xE4 - lsls r3, 1 - adds r0, r3 - ldrh r0, [r0] - adds r3, 0x20 - adds r1, r3 - strh r0, [r1] - ldr r1, [r2] - adds r1, 0x28 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_0819D108: - movs r0, 0x80 - lsls r0, 7 - ldr r1, [r2] - adds r1, 0x28 - ldrb r1, [r1] - movs r2, 0 - bl BlendPalettes -_0819D118: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_819D064 - thumb_func_start sub_819D12C sub_819D12C: @ 819D12C push {r4-r7,lr} @@ -1154,7 +54,7 @@ _0819D174: cmp r4, 0x2 beq _0819D1F2 ldr r2, =gSprites - ldr r3, =gUnknown_03001284 + ldr r3, =sFactorySwapScreen ldr r0, [r3] adds r0, 0x5 mov r8, r0 @@ -1210,7 +110,7 @@ _0819D1D8: b _0819D210 _0819D1F2: ldr r3, =gSprites - ldr r4, =gUnknown_03001284 + ldr r4, =sFactorySwapScreen ldr r0, [r4] ldrb r1, [r0, 0x7] lsls r0, r1, 4 @@ -1238,7 +138,7 @@ _0819D210: ldrsh r0, [r0, r3] cmp r0, 0x1 bne _0819D26A - ldr r1, =gUnknown_03001284 + ldr r1, =sFactorySwapScreen ldr r0, [r1] adds r0, 0x5 adds r0, r2 @@ -1270,7 +170,7 @@ _0819D26A: movs r7, 0 _0819D26C: mov r6, r10 - ldr r5, =gUnknown_03001284 + ldr r5, =sFactorySwapScreen ldr r2, [r5] mov r1, r9 asrs r4, r1, 24 @@ -1310,7 +210,7 @@ _0819D26C: _0819D2C0: movs r0, 0x64 bl IndexOfSpritePaletteTag - ldr r2, =gUnknown_03001284 + ldr r2, =sFactorySwapScreen ldr r1, [r2] adds r1, 0x5 adds r1, r4 @@ -1399,7 +299,7 @@ _0819D360: .pool _0819D368: ldr r3, =gSprites - ldr r2, =gUnknown_03001284 + ldr r2, =sFactorySwapScreen ldr r0, [r2] ldrb r1, [r0, 0x8] lsls r0, r1, 4 @@ -1439,7 +339,7 @@ _0819D3B2: bne _0819D3FC movs r3, 0 ldr r7, =gSprites - ldr r6, =gUnknown_03001284 + ldr r6, =sFactorySwapScreen asrs r5, r2, 24 _0819D3BE: movs r4, 0 @@ -1481,7 +381,7 @@ _0819D3FC: mov r9, r0 ldr r5, =gSprites _0819D40E: - ldr r1, =gUnknown_03001284 + ldr r1, =sFactorySwapScreen ldr r2, [r1] lsls r3, r4, 1 adds r3, r4 @@ -1535,7 +435,7 @@ _0819D40E: .pool _0819D480: ldr r2, =gSprites - ldr r0, =gUnknown_03001284 + ldr r0, =sFactorySwapScreen ldr r0, [r0] ldrb r1, [r0, 0xE] lsls r0, r1, 4 @@ -1575,7 +475,7 @@ _0819D4CA: bne _0819D510 movs r3, 0 ldr r7, =gSprites - ldr r6, =gUnknown_03001284 + ldr r6, =sFactorySwapScreen asrs r5, r2, 24 _0819D4D6: movs r4, 0 @@ -1612,7 +512,7 @@ _0819D510: mov r6, r8 adds r6, 0x10 ldr r5, =gSprites - ldr r0, =gUnknown_03001284 + ldr r0, =sFactorySwapScreen mov r9, r0 _0819D520: mov r1, r9 @@ -1761,7 +661,7 @@ _0819D64E: movs r0, 0x5 movs r1, 0x2 bl CopyWindowToVram - ldr r0, =gUnknown_03001284 + ldr r0, =sFactorySwapScreen ldr r0, [r0] ldrb r0, [r0, 0x14] cmp r0, 0x1 @@ -1895,7 +795,7 @@ sub_819D770: @ 819D770 sub sp, 0x4 lsls r0, 24 lsrs r6, r0, 24 - ldr r1, =gUnknown_03001284 + ldr r1, =sFactorySwapScreen ldr r0, [r1] adds r0, 0x30 ldrb r0, [r0] @@ -2101,20 +1001,20 @@ _0819D936: bl CopyWindowToVram b _0819D990 _0819D948: - ldr r0, =gUnknown_03001284 + ldr r0, =sFactorySwapScreen ldr r0, [r0] ldrb r0, [r0, 0x14] cmp r0, 0 bne _0819D964 ldr r0, =gText_SelectPkmnToSwap - bl sub_819EBEC + bl Swap_PrintOnYesNoQuestionWindow b _0819D96A .pool _0819D964: ldr r0, =gText_SelectPkmnToAccept - bl sub_819EBEC + bl Swap_PrintOnYesNoQuestionWindow _0819D96A: - ldr r0, =gUnknown_03001284 + ldr r0, =sFactorySwapScreen ldr r1, [r0] ldrb r0, [r1, 0x3] cmp r0, 0x2 @@ -2132,7 +1032,7 @@ _0819D96A: ands r1, r2 strb r1, [r0] _0819D98C: - bl sub_819EFA8 + bl Swap_PrintMonCategory _0819D990: ldr r0, =gTasks adds r1, r5, r6 @@ -2146,7 +1046,7 @@ _0819D990: _0819D9B0: bl sub_819EEF0 bl sub_819EADC - ldr r0, =gUnknown_03001284 + ldr r0, =sFactorySwapScreen ldr r0, [r0] adds r0, 0x22 movs r1, 0x1 @@ -2177,7 +1077,7 @@ sub_819D9EC: @ 819D9EC push {r4-r7,lr} lsls r0, 24 lsrs r6, r0, 24 - ldr r0, =gUnknown_03001284 + ldr r0, =sFactorySwapScreen ldr r0, [r0] adds r0, 0x30 ldrb r0, [r0] @@ -2222,7 +1122,7 @@ _0819DA44: _0819DA58: bl sub_819EADC ldr r2, =gSprites - ldr r0, =gUnknown_03001284 + ldr r0, =sFactorySwapScreen ldr r0, [r0] ldrb r1, [r0, 0x4] lsls r0, r1, 4 @@ -2245,7 +1145,7 @@ _0819DA8C: movs r1, 0 bl CreateTask ldr r2, =gTasks - ldr r0, =gUnknown_03001284 + ldr r0, =sFactorySwapScreen ldr r0, [r0] adds r0, 0x21 ldrb r1, [r0] @@ -2266,7 +1166,7 @@ _0819DABC: b _0819DBCA _0819DACA: ldr r2, =gTasks - ldr r4, =gUnknown_03001284 + ldr r4, =sFactorySwapScreen ldr r0, [r4] adds r0, 0x21 ldrb r1, [r0] @@ -2313,7 +1213,7 @@ _0819DB10: bls _0819DB10 _0819DB32: ldr r5, =gSprites - ldr r4, =gUnknown_03001284 + ldr r4, =sFactorySwapScreen ldr r3, [r4] ldrb r0, [r3, 0x4] lsls r1, r0, 4 @@ -2375,7 +1275,7 @@ _0819DBB0: adds r0, r3 movs r1, 0 strh r1, [r0, 0x8] - ldr r2, =sub_819CE40 + ldr r2, =Task_HandleSwapScreenChooseMons lsrs r1, r2, 16 strh r1, [r0, 0x14] strh r2, [r0, 0x16] @@ -2393,7 +1293,7 @@ _0819DBCA: thumb_func_start sub_819DBD8 sub_819DBD8: @ 819DBD8 push {r4,r5,lr} - ldr r5, =gUnknown_03001284 + ldr r5, =sFactorySwapScreen ldr r4, [r5] cmp r4, 0 bne _0819DBF6 @@ -2416,7 +1316,7 @@ _0819DBF6: thumb_func_start sub_819DC00 sub_819DC00: @ 819DC00 push {lr} - ldr r0, =gUnknown_03001284 + ldr r0, =sFactorySwapScreen movs r1, 0 str r1, [r0] ldr r0, =sub_819DC1C @@ -2666,7 +1566,7 @@ _0819DE94: b _0819E00E .pool _0819DECC: - ldr r0, =gUnknown_03001284 + ldr r0, =sFactorySwapScreen ldr r1, [r0] ldrb r0, [r1, 0x15] cmp r0, 0x1 @@ -2683,7 +1583,7 @@ _0819DEDC: _0819DEEC: bl sub_819DBD8 bl sub_819E0C0 - ldr r0, =gUnknown_03001284 + ldr r0, =sFactorySwapScreen ldr r0, [r0] ldrb r0, [r0, 0x15] cmp r0, 0x1 @@ -2696,7 +1596,7 @@ _0819DF02: .pool _0819DF10: ldr r0, =gText_SelectPkmnToSwap - bl sub_819EBEC + bl Swap_PrintOnYesNoQuestionWindow movs r0, 0x2 bl PutWindowTilemap ldr r1, =gMain @@ -2706,17 +1606,17 @@ _0819DF10: b _0819E00E .pool _0819DF30: - bl sub_819EFA8 + bl Swap_PrintMonCategory movs r0, 0x8 bl PutWindowTilemap b _0819E006 _0819DF3C: - ldr r0, =gUnknown_03001284 + ldr r0, =sFactorySwapScreen ldr r0, [r0] ldrb r0, [r0, 0x15] cmp r0, 0 bne _0819DF4A - bl sub_819EB4C + bl Swap_PrintMonSpecies _0819DF4A: movs r0, 0x1 bl PutWindowTilemap @@ -2737,7 +1637,7 @@ _0819DF70: adds r1, r2, r0 b _0819E00E _0819DF78: - ldr r0, =gUnknown_03001284 + ldr r0, =sFactorySwapScreen ldr r0, [r0] ldrb r0, [r0, 0x15] cmp r0, 0 @@ -2773,7 +1673,7 @@ _0819DFA4: bl ShowBg movs r0, 0x2 bl ShowBg - ldr r0, =gUnknown_03001284 + ldr r0, =sFactorySwapScreen ldr r0, [r0] ldrb r0, [r0, 0x15] cmp r0, 0x1 @@ -2806,7 +1706,7 @@ _0819E01C: ldr r0, =sub_819CF54 movs r1, 0 bl CreateTask - ldr r6, =gUnknown_03001284 + ldr r6, =sFactorySwapScreen ldr r1, [r6] adds r1, 0x21 strb r0, [r1] @@ -2822,7 +1722,7 @@ _0819E01C: lsls r0, 3 adds r0, r4 strh r5, [r0, 0x8] - ldr r0, =sub_819CE40 + ldr r0, =Task_HandleSwapScreenChooseMons movs r1, 0 bl CreateTask lsls r0, 24 @@ -2850,7 +1750,7 @@ _0819E06C: strh r1, [r0, 0x8] adds r2, 0x22 strb r3, [r2] - ldr r0, =sub_819CD34 + ldr r0, =Task_HandleSwapScreenMenu movs r1, 0 bl CreateTask lsls r0, 24 @@ -2890,7 +1790,7 @@ sub_819E0C0: @ 819E0C0 movs r0, 0x65 strh r0, [r1, 0x2] movs r6, 0 - ldr r4, =gUnknown_03001284 + ldr r4, =sFactorySwapScreen movs r7, 0 ldr r5, =gSprites _0819E0E6: @@ -2923,7 +1823,7 @@ _0819E0E6: lsrs r6, r0, 24 cmp r6, 0x2 bls _0819E0E6 - ldr r7, =gUnknown_03001284 + ldr r7, =sFactorySwapScreen ldr r1, [r7] adds r0, r1, 0x5 ldrb r1, [r1, 0x3] @@ -3347,7 +2247,7 @@ _0819E330: adds r0, r6, 0x1 lsls r0, 24 lsrs r6, r0, 24 - ldr r3, =gUnknown_03001284 + ldr r3, =sFactorySwapScreen mov r8, r3 ldr r0, =gSprites mov r9, r0 @@ -3432,7 +2332,7 @@ sub_819E538: @ 819E538 push {r4-r7,lr} movs r5, 0 _0819E53C: - ldr r6, =gUnknown_03001284 + ldr r6, =sFactorySwapScreen ldr r0, [r6] adds r0, 0x5 adds r0, r5 @@ -3474,7 +2374,7 @@ _0819E590: movs r4, 0 lsls r6, r5, 1 _0819E594: - ldr r0, =gUnknown_03001284 + ldr r0, =sFactorySwapScreen ldr r0, [r0] adds r1, r6, r5 adds r1, r4, r1 @@ -3503,7 +2403,7 @@ _0819E5C6: adds r7, r5, 0x1 lsls r6, r5, 1 _0819E5CC: - ldr r0, =gUnknown_03001284 + ldr r0, =sFactorySwapScreen ldr r0, [r0] adds r1, r4, r6 adds r0, 0xE @@ -3538,7 +2438,7 @@ sub_819E608: @ 819E608 cmp r6, 0x2 bhi _0819E65C ldr r4, =gSprites - ldr r5, =gUnknown_03001284 + ldr r5, =sFactorySwapScreen ldr r0, [r5] ldrb r1, [r0, 0x4] lsls r0, r1, 4 @@ -3571,7 +2471,7 @@ sub_819E608: @ 819E608 .pool _0819E65C: ldr r2, =gSprites - ldr r3, =gUnknown_03001284 + ldr r3, =sFactorySwapScreen ldr r0, [r3] ldrb r1, [r0, 0x4] lsls r0, r1, 4 @@ -3596,8 +2496,8 @@ _0819E684: .pool thumb_func_end sub_819E608 - thumb_func_start sub_819E694 -sub_819E694: @ 819E694 + thumb_func_start Swap_UpdateBallCursorPosition +Swap_UpdateBallCursorPosition: @ 819E694 push {r4,lr} adds r4, r0, 0 lsls r4, 24 @@ -3607,7 +2507,7 @@ sub_819E694: @ 819E694 lsls r4, 24 cmp r4, 0 ble _0819E6C0 - ldr r1, =gUnknown_03001284 + ldr r1, =sFactorySwapScreen ldr r2, [r1] ldrb r0, [r2, 0x3] adds r0, 0x1 @@ -3618,7 +2518,7 @@ sub_819E694: @ 819E694 b _0819E6D8 .pool _0819E6C0: - ldr r0, =gUnknown_03001284 + ldr r0, =sFactorySwapScreen ldr r2, [r0] ldrb r3, [r2, 0x3] adds r1, r0, 0 @@ -3638,10 +2538,10 @@ _0819E6D8: pop {r4} pop {r0} bx r0 - thumb_func_end sub_819E694 + thumb_func_end Swap_UpdateBallCursorPosition - thumb_func_start sub_819E6E8 -sub_819E6E8: @ 819E6E8 + thumb_func_start Swap_UpdateActionCursorPosition +Swap_UpdateActionCursorPosition: @ 819E6E8 push {r4,lr} adds r4, r0, 0 lsls r4, 24 @@ -3651,7 +2551,7 @@ sub_819E6E8: @ 819E6E8 lsls r4, 24 cmp r4, 0 ble _0819E728 - ldr r0, =gUnknown_03001284 + ldr r0, =sFactorySwapScreen ldr r2, [r0] ldrb r1, [r2, 0x3] adds r4, r0, 0 @@ -3674,7 +2574,7 @@ _0819E722: strb r0, [r2, 0x3] b _0819E74A _0819E728: - ldr r0, =gUnknown_03001284 + ldr r0, =sFactorySwapScreen ldr r1, [r0] ldrb r3, [r1, 0x3] adds r2, r3, 0 @@ -3698,15 +2598,15 @@ _0819E74A: pop {r4} pop {r0} bx r0 - thumb_func_end sub_819E6E8 + thumb_func_end Swap_UpdateActionCursorPosition - thumb_func_start sub_819E758 -sub_819E758: @ 819E758 + thumb_func_start Swap_UpdateYesNoCursorPosition +Swap_UpdateYesNoCursorPosition: @ 819E758 push {lr} lsls r0, 24 cmp r0, 0 ble _0819E778 - ldr r0, =gUnknown_03001284 + ldr r0, =sFactorySwapScreen ldr r1, [r0] ldrb r3, [r1, 0x16] adds r2, r0, 0 @@ -3719,7 +2619,7 @@ _0819E774: movs r0, 0 b _0819E78E _0819E778: - ldr r0, =gUnknown_03001284 + ldr r0, =sFactorySwapScreen ldr r1, [r0] ldrb r3, [r1, 0x16] adds r2, r0, 0 @@ -3755,10 +2655,10 @@ _0819E78E: pop {r0} bx r0 .pool - thumb_func_end sub_819E758 + thumb_func_end Swap_UpdateYesNoCursorPosition - thumb_func_start sub_819E7C0 -sub_819E7C0: @ 819E7C0 + thumb_func_start Swap_UpdateMenuCursorPosition +Swap_UpdateMenuCursorPosition: @ 819E7C0 push {r4,lr} adds r4, r0, 0 lsls r4, 24 @@ -3768,7 +2668,7 @@ sub_819E7C0: @ 819E7C0 lsls r4, 24 cmp r4, 0 ble _0819E7EC - ldr r0, =gUnknown_03001284 + ldr r0, =sFactorySwapScreen ldr r1, [r0] ldrb r3, [r1] adds r2, r0, 0 @@ -3781,7 +2681,7 @@ _0819E7E8: movs r0, 0 b _0819E802 _0819E7EC: - ldr r0, =gUnknown_03001284 + ldr r0, =sFactorySwapScreen ldr r1, [r0] ldrb r3, [r1] adds r2, r0, 0 @@ -3818,7 +2718,7 @@ _0819E802: pop {r0} bx r0 .pool - thumb_func_end sub_819E7C0 + thumb_func_end Swap_UpdateMenuCursorPosition thumb_func_start sub_819E838 sub_819E838: @ 819E838 @@ -3836,12 +2736,12 @@ sub_819E838: @ 819E838 mov r8, r2 ldr r0, =gSprites mov r12, r0 - ldr r7, =gUnknown_03001284 + ldr r7, =sFactorySwapScreen _0819E856: cmp r6, 0x2 bne _0819E898 ldr r5, =gSprites - ldr r3, =gUnknown_03001284 + ldr r3, =sFactorySwapScreen ldr r0, [r3] adds r0, 0xB adds r0, r4 @@ -3919,7 +2819,7 @@ sub_819E8EC: @ 819E8EC push {r4-r6,lr} movs r2, 0 ldr r5, =gSprites - ldr r4, =gUnknown_03001284 + ldr r4, =sFactorySwapScreen adds r6, r5, 0 movs r3, 0x4 _0819E8F8: @@ -3961,10 +2861,10 @@ _0819E92C: .pool thumb_func_end sub_819E8EC - thumb_func_start sub_819E944 -sub_819E944: @ 819E944 + thumb_func_start Swap_ShowMenuOptions +Swap_ShowMenuOptions: @ 819E944 push {r4,r5,lr} - ldr r0, =gUnknown_03001284 + ldr r0, =sFactorySwapScreen ldr r3, [r0] ldrb r1, [r3, 0x15] adds r5, r0, 0 @@ -4039,12 +2939,12 @@ _0819E960: pop {r0} bx r0 .pool - thumb_func_end sub_819E944 + thumb_func_end Swap_ShowMenuOptions thumb_func_start sub_819E9E0 sub_819E9E0: @ 819E9E0 push {r4,r5,lr} - ldr r5, =gUnknown_03001284 + ldr r5, =sFactorySwapScreen ldr r1, [r5] movs r0, 0 strb r0, [r1, 0x16] @@ -4113,7 +3013,7 @@ sub_819EA64: @ 819EA64 lsls r4, 24 lsrs r4, 24 ldr r5, =gSprites - ldr r3, =gUnknown_03001284 + ldr r3, =sFactorySwapScreen ldr r0, [r3] ldrb r1, [r0, 0x1] lsls r0, r1, 4 @@ -4220,14 +3120,14 @@ sub_819EB18: @ 819EB18 .pool thumb_func_end sub_819EB18 - thumb_func_start sub_819EB4C -sub_819EB4C: @ 819EB4C + thumb_func_start Swap_PrintMonSpecies +Swap_PrintMonSpecies: @ 819EB4C push {r4,lr} sub sp, 0xC movs r0, 0x1 movs r1, 0 bl FillWindowPixelBuffer - ldr r0, =gUnknown_03001284 + ldr r0, =sFactorySwapScreen ldr r1, [r0] ldrb r0, [r1, 0x3] cmp r0, 0x2 @@ -4290,10 +3190,10 @@ _0819EBD4: pop {r0} bx r0 .pool - thumb_func_end sub_819EB4C + thumb_func_end Swap_PrintMonSpecies - thumb_func_start sub_819EBEC -sub_819EBEC: @ 819EBEC + thumb_func_start Swap_PrintOnYesNoQuestionWindow +Swap_PrintOnYesNoQuestionWindow: @ 819EBEC push {r4,lr} sub sp, 0xC adds r4, r0, 0 @@ -4317,7 +3217,7 @@ sub_819EBEC: @ 819EBEC pop {r4} pop {r0} bx r0 - thumb_func_end sub_819EBEC + thumb_func_end Swap_PrintOnYesNoQuestionWindow thumb_func_start sub_819EC20 sub_819EC20: @ 819EC20 @@ -4446,7 +3346,7 @@ sub_819ED34: @ 819ED34 movs r0, 0x5 movs r1, 0 bl FillWindowPixelBuffer - ldr r0, =gUnknown_03001284 + ldr r0, =sFactorySwapScreen ldr r0, [r0] ldrb r0, [r0, 0x14] cmp r0, 0 @@ -4477,7 +3377,7 @@ sub_819ED78: @ 819ED78 movs r0, 0x3 movs r1, 0 bl FillWindowPixelBuffer - ldr r0, =gUnknown_03001284 + ldr r0, =sFactorySwapScreen ldr r0, [r0] ldrb r0, [r0, 0x14] cmp r0, 0 @@ -4513,7 +3413,7 @@ sub_819EDBC: @ 819EDBC beq _0819EDEC b _0819EDF6 _0819EDCC: - ldr r0, =gUnknown_03001284 + ldr r0, =sFactorySwapScreen ldr r0, [r0] ldrb r0, [r0, 0x14] cmp r0, 0x1 @@ -4546,7 +3446,7 @@ sub_819EE08: @ 819EE08 add r1, sp, 0xC movs r2, 0x4 bl CpuSet - ldr r0, =gUnknown_03001284 + ldr r0, =sFactorySwapScreen ldr r2, [r0] ldrb r0, [r2, 0x15] cmp r0, 0 @@ -4574,7 +3474,7 @@ _0819EE42: movs r0, 0x7 movs r1, 0 bl FillWindowPixelBuffer - ldr r0, =gUnknown_03001284 + ldr r0, =sFactorySwapScreen ldr r1, [r0] ldrb r0, [r1, 0x3] cmp r0, 0x2 @@ -4651,7 +3551,7 @@ sub_819EEF0: @ 819EEF0 ldr r1, =gPlttBufferFaded + 0x1C0 movs r2, 0x5 bl CpuSet - ldr r0, =gUnknown_03001284 + ldr r0, =sFactorySwapScreen ldr r1, [r0] ldrb r0, [r1, 0x3] cmp r0, 0x2 @@ -4716,11 +3616,11 @@ _0819EF90: .pool thumb_func_end sub_819EEF0 - thumb_func_start sub_819EFA8 -sub_819EFA8: @ 819EFA8 + thumb_func_start Swap_PrintMonCategory +Swap_PrintMonCategory: @ 819EFA8 push {r4-r6,lr} sub sp, 0x2C - ldr r6, =gUnknown_03001284 + ldr r6, =sFactorySwapScreen ldr r0, [r6] ldrb r4, [r0, 0x3] adds r5, r4, 0 @@ -4787,14 +3687,14 @@ _0819F03A: pop {r0} bx r0 .pool - thumb_func_end sub_819EFA8 + thumb_func_end Swap_PrintMonCategory thumb_func_start sub_819F048 sub_819F048: @ 819F048 push {r4,lr} lsls r0, 24 lsrs r2, r0, 24 - ldr r4, =gUnknown_03001284 + ldr r4, =sFactorySwapScreen ldr r3, [r4] ldrb r0, [r3, 0x15] cmp r0, 0x1 @@ -4835,14 +3735,14 @@ _0819F094: .pool thumb_func_end sub_819F048 - thumb_func_start sub_819F0A0 -sub_819F0A0: @ 819F0A0 + thumb_func_start Swap_RunMenuOptionFunc +Swap_RunMenuOptionFunc: @ 819F0A0 push {lr} lsls r0, 24 lsrs r0, 24 ldr r3, =gUnknown_03001280 ldr r2, =gUnknown_086108AC - ldr r1, =gUnknown_03001284 + ldr r1, =sFactorySwapScreen ldr r1, [r1] ldrb r1, [r1] lsls r1, 2 @@ -4853,7 +3753,7 @@ sub_819F0A0: @ 819F0A0 pop {r0} bx r0 .pool - thumb_func_end sub_819F0A0 + thumb_func_end Swap_RunMenuOptionFunc thumb_func_start sub_819F0CC sub_819F0CC: @ 819F0CC @@ -4861,7 +3761,7 @@ sub_819F0CC: @ 819F0CC adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 - ldr r5, =gUnknown_03001284 + ldr r5, =sFactorySwapScreen ldr r1, [r5] ldr r0, [r1, 0x2C] adds r1, 0x30 @@ -4910,7 +3810,7 @@ sub_819F134: @ 819F134 adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 - ldr r0, =gUnknown_03001284 + ldr r0, =sFactorySwapScreen ldr r1, [r0] ldr r0, [r1, 0x2C] adds r1, 0x30 @@ -4925,7 +3825,7 @@ sub_819F134: @ 819F134 adds r0, r1 movs r1, 0 strh r1, [r0, 0x8] - ldr r2, =sub_819CE40 + ldr r2, =Task_HandleSwapScreenChooseMons lsrs r1, r2, 16 strh r1, [r0, 0x14] strh r2, [r0, 0x16] @@ -4945,7 +3845,7 @@ sub_819F184: @ 819F184 lsls r0, 24 lsrs r0, 24 ldr r3, =gUnknown_03001280 - ldr r1, =gUnknown_03001284 + ldr r1, =sFactorySwapScreen ldr r2, [r1] ldrb r1, [r2, 0x3] ldr r2, [r2, 0x18] @@ -5008,7 +3908,7 @@ sub_819F20C: @ 819F20C push {r4-r6,lr} lsls r0, 24 lsrs r6, r0, 24 - ldr r5, =gUnknown_03001284 + ldr r5, =sFactorySwapScreen ldr r1, [r5] ldrb r0, [r1, 0x14] cmp r0, 0 @@ -5018,7 +3918,7 @@ sub_819F20C: @ 819F20C adds r0, r4, r6 lsls r0, 3 adds r0, r3 - ldr r2, =sub_819CD34 + ldr r2, =Task_HandleSwapScreenMenu lsrs r1, r2, 16 strh r1, [r0, 0x14] strh r2, [r0, 0x16] @@ -5129,7 +4029,7 @@ sub_819F304: @ 819F304 movs r2, 0x40 movs r3, 0x1 bl CreateSprite - ldr r6, =gUnknown_03001284 + ldr r6, =sFactorySwapScreen ldr r1, [r6] adds r1, 0x2D movs r2, 0 @@ -5300,7 +4200,7 @@ sub_819F488: @ 819F488 push {r4,r5,lr} lsls r0, 24 lsrs r4, r0, 24 - ldr r1, =gUnknown_03001284 + ldr r1, =sFactorySwapScreen ldr r0, [r1] adds r0, 0x30 ldrb r0, [r0] @@ -5332,8 +4232,8 @@ _0819F4C8: .4byte _0819F568 _0819F4DC: ldr r0, =gText_SamePkmnInPartyAlready - bl sub_819EBEC - ldr r0, =gUnknown_03001284 + bl Swap_PrintOnYesNoQuestionWindow + ldr r0, =sFactorySwapScreen ldr r0, [r0] adds r0, 0x20 movs r1, 0 @@ -5354,7 +4254,7 @@ _0819F4F8: _0819F50C: movs r0, 0x5 bl PlaySE - ldr r0, =gUnknown_03001284 + ldr r0, =sFactorySwapScreen ldr r1, [r0] ldr r0, [r1, 0x2C] adds r1, 0x30 @@ -5377,7 +4277,7 @@ _0819F52C: b _0819F54E _0819F548: ldr r0, =gText_SelectPkmnToAccept - bl sub_819EBEC + bl Swap_PrintOnYesNoQuestionWindow _0819F54E: ldr r0, =gTasks adds r1, r5, r4 @@ -5391,7 +4291,7 @@ _0819F54E: _0819F568: bl sub_819EEF0 bl sub_819EADC - ldr r0, =gUnknown_03001284 + ldr r0, =sFactorySwapScreen ldr r0, [r0] adds r0, 0x22 movs r1, 0x1 @@ -5402,7 +4302,7 @@ _0819F568: adds r0, r1 ldrh r1, [r0, 0x12] strh r1, [r0, 0x8] - ldr r1, =sub_819CE40 + ldr r1, =Task_HandleSwapScreenChooseMons str r1, [r0] _0819F58A: pop {r4,r5} @@ -5427,7 +4327,7 @@ sub_819F59C: @ 819F59C lsrs r5, r0, 16 movs r4, 0 _0819F5B8: - ldr r0, =gUnknown_03001284 + ldr r0, =sFactorySwapScreen ldr r0, [r0] ldrb r0, [r0, 0x12] cmp r4, r0 @@ -5516,7 +4416,7 @@ sub_819F654: @ 819F654 ldrsh r0, [r4, r1] cmp r0, 0x1 bne _0819F688 - ldr r0, =gUnknown_03001284 + ldr r0, =sFactorySwapScreen ldr r0, [r0] adds r0, 0x30 movs r1, 0 @@ -5816,7 +4716,7 @@ _0819F8D8: sub_819F8E0: @ 819F8E0 push {r4-r6,lr} sub sp, 0x10 - ldr r0, =gUnknown_03001284 + ldr r0, =sFactorySwapScreen ldr r1, [r0] ldrb r0, [r1, 0x14] cmp r0, 0 @@ -5863,7 +4763,7 @@ _0819F908: adds r2, r5, 0 movs r3, 0x1 bl CreateMonPicSprite_HandleDeoxys - ldr r2, =gUnknown_03001284 + ldr r2, =sFactorySwapScreen ldr r1, [r2] adds r1, 0x2C movs r3, 0 diff --git a/src/battle_factory.c b/src/battle_factory.c index f7568055c7..1609658f39 100644 --- a/src/battle_factory.c +++ b/src/battle_factory.c @@ -74,6 +74,53 @@ struct FactorySelectMonsStruct u8 unk2A9; }; +struct FactorySwapMonsStruct +{ + u8 unk0; + u8 unk1; + u8 unk2; + u8 unk3; + u8 unk4; + u8 unk5; + u8 unk6; + u8 unk7; + u8 unk8; + u8 unk9; + u8 unkA; + u8 unkB; + u8 unkC; + u8 unkD; + u8 unkE; + u8 unkF; + u8 unk10; + u8 unk11; + u8 unk12; + u8 unk13; + u8 unk14; + bool8 fromSummaryScreen; + u8 yesNoCursorPos; + u8 unk17; + u8 unk18; + u8 unk19; + u8 unk1A; + u8 unk1B; + u8 unk1C; + u8 unk1D; + u8 unk1E; + u8 unk1F; + u8 unk20; + u8 unk21; + u8 unk22; + u8 unk23; + u16 unk24; + bool8 unk26; + u8 unk27; + u8 unk28; + u8 unk29; + struct UnkFactoryStruct unk2C; + u8 unk30; +}; + extern u8 (*gUnknown_030062E8)(void); extern u8 gUnknown_0203CF20; @@ -121,6 +168,25 @@ static u8 Select_OptionRentDeselect(void); u8 sub_81A6F70(u8 battleMode, u8 lvlMode); u8 sub_81A6CA8(u8 arg0, u8 arg1); static bool32 Select_AreSpeciesValid(u16 monSetId); +void sub_819E538(void); +void sub_819DC1C(void); +void sub_819E9E0(void); +void sub_819EE08(void); +void sub_819EAC0(void); +void Swap_UpdateYesNoCursorPosition(s8 direction); +void Swap_UpdateMenuCursorPosition(s8 direction); +void sub_819EA64(u8 windowId); +void sub_819D770(u8 taskId); +void Task_HandleSwapScreenChooseMons(u8 taskId); +void sub_819D588(u8 taskId); +void Swap_PrintOnYesNoQuestionWindow(const u8 *str); +void Swap_ShowMenuOptions(void); +void Swap_PrintMonSpecies(void); +void Swap_PrintMonCategory(void); +void Swap_UpdateActionCursorPosition(s8 direction); +void Swap_UpdateBallCursorPosition(s8 direction); +void Swap_RunMenuOptionFunc(u8 taskId); +void sub_819F184(u8 taskId); // Ewram variables EWRAM_DATA u8 *gUnknown_0203CE2C = NULL; @@ -128,9 +194,15 @@ EWRAM_DATA u8 *gUnknown_0203CE30 = NULL; EWRAM_DATA u8 *gUnknown_0203CE34 = NULL; EWRAM_DATA u8 *gUnknown_0203CE38 = NULL; static EWRAM_DATA struct Pokemon *sFactorySelectMons = NULL; +extern u8 *gUnknown_0203CE40; +extern u8 *gUnknown_0203CE44; +extern u8 *gUnknown_0203CE48; +extern u8 *gUnknown_0203CE4C; // IWRAM bss -static IWRAM_DATA struct FactorySelectMonsStruct *sFactorySelectScreen; +IWRAM_DATA struct FactorySelectMonsStruct *sFactorySelectScreen; +IWRAM_DATA u8 (*gUnknown_03001280)(void); +IWRAM_DATA struct FactorySwapMonsStruct *sFactorySwapScreen; // Const rom data. const u16 gUnknown_0860F13C[] = INCBIN_U16("graphics/unknown/unknown_60F13C.gbapal"); @@ -210,6 +282,8 @@ extern const u8 gText_Rent[]; extern const u8 gText_Others2[]; extern const u8 gText_Yes2[]; extern const u8 gText_No2[]; +extern const u8 gText_QuitSwapping[]; +extern const u8 gText_AcceptThisPkmn[]; // code void sub_819A44C(struct Sprite *sprite) @@ -1411,3 +1485,424 @@ static void Task_SelectBlendPalette(u8 taskId) break; } } + +void sub_819C7E0(void) +{ + AnimateSprites(); + BuildOamBuffer(); + RunTextPrinters(); + UpdatePaletteFade(); + RunTasks(); +} + +void sub_819C7FC(void) +{ + LoadOam(); + ProcessSpriteCopyRequests(); + TransferPlttBuffer(); +} + +void sub_819C810(void) +{ + u8 happiness; + + gPlayerParty[sFactorySwapScreen->unk12] = gEnemyParty[sFactorySwapScreen->unk13]; + happiness = 0; + SetMonData(&gPlayerParty[sFactorySwapScreen->unk12], MON_DATA_FRIENDSHIP, &happiness); + gSaveBlock2Ptr->frontier.field_E70[sFactorySwapScreen->unk12].monId = gSaveBlock2Ptr->frontier.field_E70[sFactorySwapScreen->unk13 + 3].monId; + gSaveBlock2Ptr->frontier.field_E70[sFactorySwapScreen->unk12].ivs = gSaveBlock2Ptr->frontier.field_E70[sFactorySwapScreen->unk13 + 3].ivs; + gSaveBlock2Ptr->frontier.field_E70[sFactorySwapScreen->unk12].personality = GetMonData(&gEnemyParty[sFactorySwapScreen->unk13], MON_DATA_PERSONALITY, NULL); + gSaveBlock2Ptr->frontier.field_E70[sFactorySwapScreen->unk12].abilityBit = GetBoxMonData(&gEnemyParty[sFactorySwapScreen->unk13].box, MON_DATA_ALT_ABILITY, NULL); +} + +void sub_819C90C(u8 taskId) // Task_FromSelectScreenToSummaryScreen +{ + switch (gTasks[taskId].data[0]) + { + case 6: + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); + gTasks[taskId].data[0] = 7; + break; + case 7: + if (!gPaletteFade.active) + { + DestroyTask(sFactorySwapScreen->unk21); + sub_819F444(sFactorySwapScreen->unk2C, &sFactorySwapScreen->unk30); + sub_819E538(); + FREE_AND_SET_NULL(gUnknown_0203CE40); + FREE_AND_SET_NULL(gUnknown_0203CE44); + FREE_AND_SET_NULL(gUnknown_0203CE48); + FREE_AND_SET_NULL(gUnknown_0203CE4C); + FreeAllWindowBuffers(); + gTasks[taskId].data[0] = 8; + } + break; + case 8: + DestroyTask(taskId); + sFactorySwapScreen->fromSummaryScreen = TRUE; + sFactorySwapScreen->unk24 = gPlttBufferUnfaded[244]; + ShowPokemonSummaryScreen(0, gPlayerParty, sFactorySwapScreen->unk3, 3 - 1, sub_819DC1C); + break; + } +} + +void sub_819CA08(u8 taskId) // Task_CloseSelectionScreen +{ + if (sFactorySwapScreen->unk30 != 1) + { + switch (gTasks[taskId].data[0]) + { + case 0: + if (sFactorySwapScreen->unk20 == 1) + { + gTasks[taskId].data[0]++; + gSpecialVar_Result = 0; + } + else + { + gTasks[taskId].data[0] = 2; + gSpecialVar_Result = 1; + } + break; + case 1: + if (sFactorySwapScreen->unk20 == 1) + { + sFactorySwapScreen->unk13 = sFactorySwapScreen->unk3; + sub_819C810(); + } + gTasks[taskId].data[0]++; + break; + case 2: + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); + gTasks[taskId].data[0]++; + break; + case 3: + if (!UpdatePaletteFade()) + { + DestroyTask(sFactorySwapScreen->unk21); + sub_819E538(); + FREE_AND_SET_NULL(gUnknown_0203CE40); + FREE_AND_SET_NULL(gUnknown_0203CE44); + FREE_AND_SET_NULL(gUnknown_0203CE48); + FREE_AND_SET_NULL(gUnknown_0203CE4C); + FREE_AND_SET_NULL(sFactorySwapScreen); + FreeAllWindowBuffers(); + SetMainCallback2(CB2_ReturnToFieldContinueScript); + DestroyTask(taskId); + } + break; + } + } +} + +void Task_HandleSwapScreenYesNo(u8 taskId) +{ + u16 loPtr, hiPtr; + + if (sFactorySwapScreen->unk30 != 1) + { + switch (gTasks[taskId].data[0]) + { + case 4: + sub_819E9E0(); + gTasks[taskId].data[0] = 5; + break; + case 5: + if (gMain.newKeys & A_BUTTON) + { + PlaySE(SE_SELECT); + if (sFactorySwapScreen->yesNoCursorPos == 0) + { + gTasks[taskId].data[1] = 1; + hiPtr = gTasks[taskId].data[6]; + loPtr = gTasks[taskId].data[7]; + gTasks[taskId].func = (void*)((hiPtr << 16) | loPtr); + } + else + { + gTasks[taskId].data[1] = 0; + sub_819EA64(4); + hiPtr = gTasks[taskId].data[6]; + loPtr = gTasks[taskId].data[7]; + gTasks[taskId].func = (void*)((hiPtr << 16) | loPtr); + } + } + else if (gMain.newKeys & B_BUTTON) + { + PlaySE(SE_SELECT); + gTasks[taskId].data[1] = 0; + sub_819EA64(4); + hiPtr = gTasks[taskId].data[6]; + loPtr = gTasks[taskId].data[7]; + gTasks[taskId].func = (void*)((hiPtr << 16) | loPtr); + } + else if (gMain.newAndRepeatedKeys & DPAD_UP) + { + PlaySE(SE_SELECT); + Swap_UpdateYesNoCursorPosition(-1); + } + else if (gMain.newAndRepeatedKeys & DPAD_DOWN) + { + PlaySE(SE_SELECT); + Swap_UpdateYesNoCursorPosition(1); + } + break; + } + } +} + +void sub_819CBDC(u8 taskId) +{ + if (gTasks[taskId].data[1] == 1) + { + gTasks[taskId].data[0] = 0; + gTasks[taskId].func = sub_819CA08; + } + else + { + gTasks[taskId].data[0] = 0; + gTasks[taskId].data[6] = (u32)(Task_HandleSwapScreenChooseMons) >> 16; + gTasks[taskId].data[7] = (u32)(Task_HandleSwapScreenChooseMons); + gTasks[taskId].data[5] = 1; + gTasks[taskId].func = sub_819D770; + } +} + +void sub_819CC24(u8 taskId) +{ + if (gTasks[taskId].data[0] == 0) + { + Swap_PrintOnYesNoQuestionWindow(gText_QuitSwapping); + sFactorySwapScreen->unk20 = 0; + gTasks[taskId].data[0] = 4; + gTasks[taskId].data[6] = (u32)(sub_819CBDC) >> 16; + gTasks[taskId].data[7] = (u32)(sub_819CBDC); + gTasks[taskId].func = Task_HandleSwapScreenYesNo; + } +} + +void sub_819CC74(u8 taskId) +{ + sub_819F3F8(sFactorySwapScreen->unk2C, &sFactorySwapScreen->unk30, 1); + if (gTasks[taskId].data[1] == 1) + { + gTasks[taskId].data[0] = 0; + gTasks[taskId].func = sub_819CA08; + } + else + { + gTasks[taskId].data[0] = 0; + gTasks[taskId].data[6] = (u32)(Task_HandleSwapScreenChooseMons) >> 16; + gTasks[taskId].data[7] = (u32)(Task_HandleSwapScreenChooseMons); + gTasks[taskId].data[5] = 1; + gTasks[taskId].func = sub_819D770; + } +} + +void sub_819CCD4(u8 taskId) +{ + if (gTasks[taskId].data[0] == 0) + { + sub_819F2B4(&sFactorySwapScreen->unk2C.field1, &sFactorySwapScreen->unk30, 1); + Swap_PrintOnYesNoQuestionWindow(gText_AcceptThisPkmn); + sFactorySwapScreen->unk20 = 1; + gTasks[taskId].data[0] = 4; + gTasks[taskId].data[6] = (u32)(sub_819CC74) >> 16; + gTasks[taskId].data[7] = (u32)(sub_819CC74); + gTasks[taskId].func = Task_HandleSwapScreenYesNo; + } +} + +void Task_HandleSwapScreenMenu(u8 taskId) +{ + switch (gTasks[taskId].data[0]) + { + case 2: + if (!sFactorySwapScreen->fromSummaryScreen) + sub_819F2B4(&sFactorySwapScreen->unk2C.field1, &sFactorySwapScreen->unk30, 1); + gTasks[taskId].data[0] = 9; + break; + case 9: + if (sFactorySwapScreen->unk30 != 1) + { + Swap_ShowMenuOptions(); + gTasks[taskId].data[0] = 3; + } + break; + case 3: + if (sFactorySwapScreen->unk30 != 1) + { + if (gMain.newKeys & A_BUTTON) + { + PlaySE(SE_SELECT); + Swap_RunMenuOptionFunc(taskId); + } + else if (gMain.newKeys & B_BUTTON) + { + PlaySE(SE_SELECT); + sub_819F3F8(sFactorySwapScreen->unk2C, &sFactorySwapScreen->unk30, 1); + sub_819EA64(3); + gTasks[taskId].data[0] = 0; + gTasks[taskId].data[6] = (u32)(Task_HandleSwapScreenChooseMons) >> 16; + gTasks[taskId].data[7] = (u32)(Task_HandleSwapScreenChooseMons); + gTasks[taskId].data[5] = 1; + gTasks[taskId].func = sub_819D770; + } + else if (gMain.newAndRepeatedKeys & DPAD_UP) + { + Swap_UpdateMenuCursorPosition(-1); + } + else if (gMain.newAndRepeatedKeys & DPAD_DOWN) + { + Swap_UpdateMenuCursorPosition(1); + } + } + break; + } +} + +void Task_HandleSwapScreenChooseMons(u8 taskId) +{ + switch (gTasks[taskId].data[0]) + { + case 0: + if (!gPaletteFade.active) + { + sFactorySwapScreen->unk22 = 1; + gTasks[taskId].data[0] = 1; + } + break; + case 1: + if (gMain.newKeys & A_BUTTON) + { + PlaySE(SE_SELECT); + sFactorySwapScreen->unk22 = 0; + sub_819EE08(); + sub_819EAC0(); + sub_819F184(taskId); + } + else if (gMain.newKeys & B_BUTTON) + { + PlaySE(SE_SELECT); + sFactorySwapScreen->unk22 = 0; + sub_819EE08(); + sub_819EAC0(); + gTasks[taskId].data[6] = (u32)(sub_819CC24) >> 16; + gTasks[taskId].data[7] = (u32)(sub_819CC24); + gTasks[taskId].data[0] = 0; + gTasks[taskId].data[5] = 0; + gTasks[taskId].func = sub_819D588; + } + else if (gMain.newAndRepeatedKeys & DPAD_LEFT) + { + Swap_UpdateBallCursorPosition(-1); + Swap_PrintMonCategory(); + Swap_PrintMonSpecies(); + } + else if (gMain.newAndRepeatedKeys & DPAD_RIGHT) + { + Swap_UpdateBallCursorPosition(1); + Swap_PrintMonCategory(); + Swap_PrintMonSpecies(); + } + else if (gMain.newAndRepeatedKeys & DPAD_DOWN) + { + Swap_UpdateActionCursorPosition(1); + Swap_PrintMonCategory(); + Swap_PrintMonSpecies(); + } + else if (gMain.newAndRepeatedKeys & DPAD_UP) + { + Swap_UpdateActionCursorPosition(-1); + Swap_PrintMonCategory(); + Swap_PrintMonSpecies(); + } + break; + } +} + +void sub_819CF54(u8 taskId) +{ + switch (gTasks[taskId].data[0]) + { + case 0: + sFactorySwapScreen->unk27 = 0; + sFactorySwapScreen->unk28 = 0; + sFactorySwapScreen->unk26 = TRUE; + gTasks[taskId].data[0] = 1; + break; + case 1: + if (sFactorySwapScreen->unk22) + { + if (sFactorySwapScreen->unk29) + { + gTasks[taskId].data[0] = 2; + } + else + { + sFactorySwapScreen->unk27++; + if (sFactorySwapScreen->unk27 > 6) + { + sFactorySwapScreen->unk27 = 0; + if (!sFactorySwapScreen->unk26) + sFactorySwapScreen->unk28--; + else + sFactorySwapScreen->unk28++; + } + BlendPalettes(0x4000, sFactorySwapScreen->unk28, 0); + if (sFactorySwapScreen->unk28 > 5) + { + sFactorySwapScreen->unk26 = FALSE; + } + else if (sFactorySwapScreen->unk28 == 0) + { + gTasks[taskId].data[0] = 2; + sFactorySwapScreen->unk26 = TRUE; + } + } + } + break; + case 2: + if (sFactorySwapScreen->unk29 > 14) + { + sFactorySwapScreen->unk29 = 0; + gTasks[taskId].data[0] = 1; + } + else + { + sFactorySwapScreen->unk29++; + } + break; + } +} + +void sub_819D064(u8 taskId) +{ + switch (gTasks[taskId].data[0]) + { + case 0: + sFactorySwapScreen->unk27 = 0; + gTasks[taskId].data[4] = 0; + gTasks[taskId].data[0]++; + break; + case 1: + LoadPalette(&gPlttBufferUnfaded[0xF0], 0xE0, 0xA); + gTasks[taskId].data[0]++; + break; + case 2: + if (sFactorySwapScreen->unk28 > 15) + { + gTasks[taskId].data[4] = 1; + gTasks[taskId].data[0]++; + } + sFactorySwapScreen->unk27++; + if (sFactorySwapScreen->unk27 > 3) + { + sFactorySwapScreen->unk27 = 0; + gPlttBufferUnfaded[244] = gPlttBufferFaded[228]; + sFactorySwapScreen->unk28++; + } + BlendPalettes(0x4000, sFactorySwapScreen->unk28, 0); + break; + } +} diff --git a/sym_bss.txt b/sym_bss.txt index 9294c51778..5f055e8e4b 100644 --- a/sym_bss.txt +++ b/sym_bss.txt @@ -80,12 +80,6 @@ gUnknown_03001279: @ 3001279 .include "src/battle_factory.o" -gUnknown_03001280: @ 3001280 - .space 0x4 - -gUnknown_03001284: @ 3001284 - .space 0x4 - gUnknown_03001288: @ 3001288 .space 0x4 From 54d5a7ad9781ffc890775ed510cebf0687102466 Mon Sep 17 00:00:00 2001 From: Slawter666 <38655737+Slawter666@users.noreply.github.com> Date: Fri, 7 Sep 2018 14:14:52 +0100 Subject: [PATCH 181/234] Format event object pic tables --- include/sprite.h | 2 + .../berry_tree_graphics_tables.h | 540 ++-- .../field_event_obj/event_object_graphics.h | 8 +- .../field_event_obj/event_object_pic_tables.h | 2840 ++++++++--------- .../field_event_obj/field_effect_objects.h | 282 +- 5 files changed, 1837 insertions(+), 1835 deletions(-) diff --git a/include/sprite.h b/include/sprite.h index f972d09cc9..6270511c90 100644 --- a/include/sprite.h +++ b/include/sprite.h @@ -26,6 +26,8 @@ struct SpriteFrameImage #define obj_frame_tiles(ptr) {.data = (u8 *)ptr, .size = sizeof ptr} +#define overworld_frame(ptr, width, height, frame) {.data = (u8 *)ptr + (width * height * frame)/2, .size = (width * height)/2} + struct SpritePalette { const u16 *data; // Raw uncompressed palette data diff --git a/src/data/field_event_obj/berry_tree_graphics_tables.h b/src/data/field_event_obj/berry_tree_graphics_tables.h index 31d515a82f..679a0e5a57 100755 --- a/src/data/field_event_obj/berry_tree_graphics_tables.h +++ b/src/data/field_event_obj/berry_tree_graphics_tables.h @@ -2,421 +2,421 @@ #define GUARD_BERRY_TREE_GRAPHICS_TABLES_H const struct SpriteFrameImage gEventObjectPicTable_PechaBerryTree[] = { - obj_frame_tiles(gEventObjectPic_BerryTreeDirtPile), - obj_frame_tiles(gEventObjectPic_BerryTreeSprout_0), - obj_frame_tiles(gEventObjectPic_BerryTreeSprout_1), - obj_frame_tiles(gEventObjectPic_PechaBerryTree_0), - obj_frame_tiles(gEventObjectPic_PechaBerryTree_1), - obj_frame_tiles(gEventObjectPic_PechaBerryTree_2), - obj_frame_tiles(gEventObjectPic_PechaBerryTree_3), - obj_frame_tiles(gEventObjectPic_PechaBerryTree_4), - obj_frame_tiles(gEventObjectPic_PechaBerryTree_5), + overworld_frame(gEventObjectPic_BerryTreeDirtPile, 16, 16, 0), + overworld_frame(gEventObjectPic_BerryTreeSprout, 16, 16, 0), + overworld_frame(gEventObjectPic_BerryTreeSprout, 16, 16, 1), + overworld_frame(gEventObjectPic_PechaBerryTree, 16, 32, 0), + overworld_frame(gEventObjectPic_PechaBerryTree, 16, 32, 1), + overworld_frame(gEventObjectPic_PechaBerryTree, 16, 32, 2), + overworld_frame(gEventObjectPic_PechaBerryTree, 16, 32, 3), + overworld_frame(gEventObjectPic_PechaBerryTree, 16, 32, 4), + overworld_frame(gEventObjectPic_PechaBerryTree, 16, 32, 5), }; const u8 gBerryTreePaletteSlotTable_Pecha[] = {3, 4, 4, 4, 4}; const struct SpriteFrameImage gEventObjectPicTable_KelpsyBerryTree[] = { - obj_frame_tiles(gEventObjectPic_BerryTreeDirtPile), - obj_frame_tiles(gEventObjectPic_BerryTreeSprout_0), - obj_frame_tiles(gEventObjectPic_BerryTreeSprout_1), - obj_frame_tiles(gEventObjectPic_KelpsyBerryTree_0), - obj_frame_tiles(gEventObjectPic_KelpsyBerryTree_1), - obj_frame_tiles(gEventObjectPic_KelpsyBerryTree_2), - obj_frame_tiles(gEventObjectPic_KelpsyBerryTree_3), - obj_frame_tiles(gEventObjectPic_KelpsyBerryTree_4), - obj_frame_tiles(gEventObjectPic_KelpsyBerryTree_5), + overworld_frame(gEventObjectPic_BerryTreeDirtPile, 16, 16, 0), + overworld_frame(gEventObjectPic_BerryTreeSprout, 16, 16, 0), + overworld_frame(gEventObjectPic_BerryTreeSprout, 16, 16, 1), + overworld_frame(gEventObjectPic_KelpsyBerryTree, 16, 32, 0), + overworld_frame(gEventObjectPic_KelpsyBerryTree, 16, 32, 1), + overworld_frame(gEventObjectPic_KelpsyBerryTree, 16, 32, 2), + overworld_frame(gEventObjectPic_KelpsyBerryTree, 16, 32, 3), + overworld_frame(gEventObjectPic_KelpsyBerryTree, 16, 32, 4), + overworld_frame(gEventObjectPic_KelpsyBerryTree, 16, 32, 5), }; const u8 gBerryTreePaletteSlotTable_Kelpsy[] = {3, 4, 2, 2, 2}; const struct SpriteFrameImage gEventObjectPicTable_WepearBerryTree[] = { - obj_frame_tiles(gEventObjectPic_BerryTreeDirtPile), - obj_frame_tiles(gEventObjectPic_BerryTreeSprout_0), - obj_frame_tiles(gEventObjectPic_BerryTreeSprout_1), - obj_frame_tiles(gEventObjectPic_WepearBerryTree_0), - obj_frame_tiles(gEventObjectPic_WepearBerryTree_1), - obj_frame_tiles(gEventObjectPic_WepearBerryTree_2), - obj_frame_tiles(gEventObjectPic_WepearBerryTree_3), - obj_frame_tiles(gEventObjectPic_WepearBerryTree_4), - obj_frame_tiles(gEventObjectPic_WepearBerryTree_5), + overworld_frame(gEventObjectPic_BerryTreeDirtPile, 16, 16, 0), + overworld_frame(gEventObjectPic_BerryTreeSprout, 16, 16, 0), + overworld_frame(gEventObjectPic_BerryTreeSprout, 16, 16, 1), + overworld_frame(gEventObjectPic_WepearBerryTree, 16, 32, 0), + overworld_frame(gEventObjectPic_WepearBerryTree, 16, 32, 1), + overworld_frame(gEventObjectPic_WepearBerryTree, 16, 32, 2), + overworld_frame(gEventObjectPic_WepearBerryTree, 16, 32, 3), + overworld_frame(gEventObjectPic_WepearBerryTree, 16, 32, 4), + overworld_frame(gEventObjectPic_WepearBerryTree, 16, 32, 5), }; const u8 gBerryTreePaletteSlotTable_Wepear[] = {3, 4, 2, 2, 2}; const struct SpriteFrameImage gEventObjectPicTable_IapapaBerryTree[] = { - obj_frame_tiles(gEventObjectPic_BerryTreeDirtPile), - obj_frame_tiles(gEventObjectPic_BerryTreeSprout_0), - obj_frame_tiles(gEventObjectPic_BerryTreeSprout_1), - obj_frame_tiles(gEventObjectPic_IapapaBerryTree_0), - obj_frame_tiles(gEventObjectPic_IapapaBerryTree_1), - obj_frame_tiles(gEventObjectPic_IapapaBerryTree_2), - obj_frame_tiles(gEventObjectPic_IapapaBerryTree_3), - obj_frame_tiles(gEventObjectPic_IapapaBerryTree_4), - obj_frame_tiles(gEventObjectPic_IapapaBerryTree_5), + overworld_frame(gEventObjectPic_BerryTreeDirtPile, 16, 16, 0), + overworld_frame(gEventObjectPic_BerryTreeSprout, 16, 16, 0), + overworld_frame(gEventObjectPic_BerryTreeSprout, 16, 16, 1), + overworld_frame(gEventObjectPic_IapapaBerryTree, 16, 32, 0), + overworld_frame(gEventObjectPic_IapapaBerryTree, 16, 32, 1), + overworld_frame(gEventObjectPic_IapapaBerryTree, 16, 32, 2), + overworld_frame(gEventObjectPic_IapapaBerryTree, 16, 32, 3), + overworld_frame(gEventObjectPic_IapapaBerryTree, 16, 32, 4), + overworld_frame(gEventObjectPic_IapapaBerryTree, 16, 32, 5), }; const u8 gBerryTreePaletteSlotTable_Iapapa[] = {3, 4, 3, 3, 3}; const struct SpriteFrameImage gEventObjectPicTable_CheriBerryTree[] = { - obj_frame_tiles(gEventObjectPic_BerryTreeDirtPile), - obj_frame_tiles(gEventObjectPic_BerryTreeSprout_0), - obj_frame_tiles(gEventObjectPic_BerryTreeSprout_1), - obj_frame_tiles(gEventObjectPic_CheriBerryTree_0), - obj_frame_tiles(gEventObjectPic_CheriBerryTree_1), - obj_frame_tiles(gEventObjectPic_CheriBerryTree_2), - obj_frame_tiles(gEventObjectPic_CheriBerryTree_3), - obj_frame_tiles(gEventObjectPic_CheriBerryTree_4), - obj_frame_tiles(gEventObjectPic_CheriBerryTree_5), + overworld_frame(gEventObjectPic_BerryTreeDirtPile, 16, 16, 0), + overworld_frame(gEventObjectPic_BerryTreeSprout, 16, 16, 0), + overworld_frame(gEventObjectPic_BerryTreeSprout, 16, 16, 1), + overworld_frame(gEventObjectPic_CheriBerryTree, 16, 32, 0), + overworld_frame(gEventObjectPic_CheriBerryTree, 16, 32, 1), + overworld_frame(gEventObjectPic_CheriBerryTree, 16, 32, 2), + overworld_frame(gEventObjectPic_CheriBerryTree, 16, 32, 3), + overworld_frame(gEventObjectPic_CheriBerryTree, 16, 32, 4), + overworld_frame(gEventObjectPic_CheriBerryTree, 16, 32, 5), }; const u8 gBerryTreePaletteSlotTable_Cheri[] = {3, 4, 4, 4, 4}; const struct SpriteFrameImage gEventObjectPicTable_FigyBerryTree[] = { - obj_frame_tiles(gEventObjectPic_BerryTreeDirtPile), - obj_frame_tiles(gEventObjectPic_BerryTreeSprout_0), - obj_frame_tiles(gEventObjectPic_BerryTreeSprout_1), - obj_frame_tiles(gEventObjectPic_FigyBerryTree_0), - obj_frame_tiles(gEventObjectPic_FigyBerryTree_1), - obj_frame_tiles(gEventObjectPic_FigyBerryTree_2), - obj_frame_tiles(gEventObjectPic_FigyBerryTree_3), - obj_frame_tiles(gEventObjectPic_FigyBerryTree_4), - obj_frame_tiles(gEventObjectPic_FigyBerryTree_5), + overworld_frame(gEventObjectPic_BerryTreeDirtPile, 16, 16, 0), + overworld_frame(gEventObjectPic_BerryTreeSprout, 16, 16, 0), + overworld_frame(gEventObjectPic_BerryTreeSprout, 16, 16, 1), + overworld_frame(gEventObjectPic_FigyBerryTree, 16, 32, 0), + overworld_frame(gEventObjectPic_FigyBerryTree, 16, 32, 1), + overworld_frame(gEventObjectPic_FigyBerryTree, 16, 32, 2), + overworld_frame(gEventObjectPic_FigyBerryTree, 16, 32, 3), + overworld_frame(gEventObjectPic_FigyBerryTree, 16, 32, 4), + overworld_frame(gEventObjectPic_FigyBerryTree, 16, 32, 5), }; const u8 gBerryTreePaletteSlotTable_Figy[] = {3, 4, 3, 3, 3}; const struct SpriteFrameImage gEventObjectPicTable_MagoBerryTree[] = { - obj_frame_tiles(gEventObjectPic_BerryTreeDirtPile), - obj_frame_tiles(gEventObjectPic_BerryTreeSprout_0), - obj_frame_tiles(gEventObjectPic_BerryTreeSprout_1), - obj_frame_tiles(gEventObjectPic_MagoBerryTree_0), - obj_frame_tiles(gEventObjectPic_MagoBerryTree_1), - obj_frame_tiles(gEventObjectPic_MagoBerryTree_2), - obj_frame_tiles(gEventObjectPic_MagoBerryTree_3), - obj_frame_tiles(gEventObjectPic_MagoBerryTree_4), - obj_frame_tiles(gEventObjectPic_MagoBerryTree_5), + overworld_frame(gEventObjectPic_BerryTreeDirtPile, 16, 16, 0), + overworld_frame(gEventObjectPic_BerryTreeSprout, 16, 16, 0), + overworld_frame(gEventObjectPic_BerryTreeSprout, 16, 16, 1), + overworld_frame(gEventObjectPic_MagoBerryTree, 16, 32, 0), + overworld_frame(gEventObjectPic_MagoBerryTree, 16, 32, 1), + overworld_frame(gEventObjectPic_MagoBerryTree, 16, 32, 2), + overworld_frame(gEventObjectPic_MagoBerryTree, 16, 32, 3), + overworld_frame(gEventObjectPic_MagoBerryTree, 16, 32, 4), + overworld_frame(gEventObjectPic_MagoBerryTree, 16, 32, 5), }; const u8 gBerryTreePaletteSlotTable_Mago[] = {3, 4, 3, 3, 3}; const struct SpriteFrameImage gEventObjectPicTable_LumBerryTree[] = { - obj_frame_tiles(gEventObjectPic_BerryTreeDirtPile), - obj_frame_tiles(gEventObjectPic_BerryTreeSprout_0), - obj_frame_tiles(gEventObjectPic_BerryTreeSprout_1), - obj_frame_tiles(gEventObjectPic_LumBerryTree_0), - obj_frame_tiles(gEventObjectPic_LumBerryTree_1), - obj_frame_tiles(gEventObjectPic_LumBerryTree_2), - obj_frame_tiles(gEventObjectPic_LumBerryTree_3), - obj_frame_tiles(gEventObjectPic_LumBerryTree_4), - obj_frame_tiles(gEventObjectPic_LumBerryTree_5), + overworld_frame(gEventObjectPic_BerryTreeDirtPile, 16, 16, 0), + overworld_frame(gEventObjectPic_BerryTreeSprout, 16, 16, 0), + overworld_frame(gEventObjectPic_BerryTreeSprout, 16, 16, 1), + overworld_frame(gEventObjectPic_LumBerryTree, 16, 32, 0), + overworld_frame(gEventObjectPic_LumBerryTree, 16, 32, 1), + overworld_frame(gEventObjectPic_LumBerryTree, 16, 32, 2), + overworld_frame(gEventObjectPic_LumBerryTree, 16, 32, 3), + overworld_frame(gEventObjectPic_LumBerryTree, 16, 32, 4), + overworld_frame(gEventObjectPic_LumBerryTree, 16, 32, 5), }; const u8 gBerryTreePaletteSlotTable_Lum[] = {3, 4, 4, 4, 4}; const struct SpriteFrameImage gEventObjectPicTable_RazzBerryTree[] = { - obj_frame_tiles(gEventObjectPic_BerryTreeDirtPile), - obj_frame_tiles(gEventObjectPic_BerryTreeSprout_0), - obj_frame_tiles(gEventObjectPic_BerryTreeSprout_1), - obj_frame_tiles(gEventObjectPic_RazzBerryTree_0), - obj_frame_tiles(gEventObjectPic_RazzBerryTree_1), - obj_frame_tiles(gEventObjectPic_RazzBerryTree_2), - obj_frame_tiles(gEventObjectPic_RazzBerryTree_3), - obj_frame_tiles(gEventObjectPic_RazzBerryTree_4), - obj_frame_tiles(gEventObjectPic_RazzBerryTree_5), + overworld_frame(gEventObjectPic_BerryTreeDirtPile, 16, 16, 0), + overworld_frame(gEventObjectPic_BerryTreeSprout, 16, 16, 0), + overworld_frame(gEventObjectPic_BerryTreeSprout, 16, 16, 1), + overworld_frame(gEventObjectPic_RazzBerryTree, 16, 32, 0), + overworld_frame(gEventObjectPic_RazzBerryTree, 16, 32, 1), + overworld_frame(gEventObjectPic_RazzBerryTree, 16, 32, 2), + overworld_frame(gEventObjectPic_RazzBerryTree, 16, 32, 3), + overworld_frame(gEventObjectPic_RazzBerryTree, 16, 32, 4), + overworld_frame(gEventObjectPic_RazzBerryTree, 16, 32, 5), }; const u8 gBerryTreePaletteSlotTable_Razz[] = {3, 4, 4, 4, 4}; const struct SpriteFrameImage gEventObjectPicTable_GrepaBerryTree[] = { - obj_frame_tiles(gEventObjectPic_BerryTreeDirtPile), - obj_frame_tiles(gEventObjectPic_BerryTreeSprout_0), - obj_frame_tiles(gEventObjectPic_BerryTreeSprout_1), - obj_frame_tiles(gEventObjectPic_GrepaBerryTree_0), - obj_frame_tiles(gEventObjectPic_GrepaBerryTree_1), - obj_frame_tiles(gEventObjectPic_GrepaBerryTree_2), - obj_frame_tiles(gEventObjectPic_GrepaBerryTree_3), - obj_frame_tiles(gEventObjectPic_GrepaBerryTree_4), - obj_frame_tiles(gEventObjectPic_GrepaBerryTree_5), + overworld_frame(gEventObjectPic_BerryTreeDirtPile, 16, 16, 0), + overworld_frame(gEventObjectPic_BerryTreeSprout, 16, 16, 0), + overworld_frame(gEventObjectPic_BerryTreeSprout, 16, 16, 1), + overworld_frame(gEventObjectPic_GrepaBerryTree, 16, 32, 0), + overworld_frame(gEventObjectPic_GrepaBerryTree, 16, 32, 1), + overworld_frame(gEventObjectPic_GrepaBerryTree, 16, 32, 2), + overworld_frame(gEventObjectPic_GrepaBerryTree, 16, 32, 3), + overworld_frame(gEventObjectPic_GrepaBerryTree, 16, 32, 4), + overworld_frame(gEventObjectPic_GrepaBerryTree, 16, 32, 5), }; const u8 gBerryTreePaletteSlotTable_Grepa[] = {3, 4, 3, 3, 3}; const struct SpriteFrameImage gEventObjectPicTable_RabutaBerryTree[] = { - obj_frame_tiles(gEventObjectPic_BerryTreeDirtPile), - obj_frame_tiles(gEventObjectPic_BerryTreeSprout_0), - obj_frame_tiles(gEventObjectPic_BerryTreeSprout_1), - obj_frame_tiles(gEventObjectPic_RabutaBerryTree_0), - obj_frame_tiles(gEventObjectPic_RabutaBerryTree_1), - obj_frame_tiles(gEventObjectPic_RabutaBerryTree_2), - obj_frame_tiles(gEventObjectPic_RabutaBerryTree_3), - obj_frame_tiles(gEventObjectPic_RabutaBerryTree_4), - obj_frame_tiles(gEventObjectPic_RabutaBerryTree_5), + overworld_frame(gEventObjectPic_BerryTreeDirtPile, 16, 16, 0), + overworld_frame(gEventObjectPic_BerryTreeSprout, 16, 16, 0), + overworld_frame(gEventObjectPic_BerryTreeSprout, 16, 16, 1), + overworld_frame(gEventObjectPic_RabutaBerryTree, 16, 32, 0), + overworld_frame(gEventObjectPic_RabutaBerryTree, 16, 32, 1), + overworld_frame(gEventObjectPic_RabutaBerryTree, 16, 32, 2), + overworld_frame(gEventObjectPic_RabutaBerryTree, 16, 32, 3), + overworld_frame(gEventObjectPic_RabutaBerryTree, 16, 32, 4), + overworld_frame(gEventObjectPic_RabutaBerryTree, 16, 32, 5), }; const u8 gBerryTreePaletteSlotTable_Rabuta[] = {3, 4, 4, 4, 4}; const struct SpriteFrameImage gEventObjectPicTable_NomelBerryTree[] = { - obj_frame_tiles(gEventObjectPic_BerryTreeDirtPile), - obj_frame_tiles(gEventObjectPic_BerryTreeSprout_0), - obj_frame_tiles(gEventObjectPic_BerryTreeSprout_1), - obj_frame_tiles(gEventObjectPic_NomelBerryTree_0), - obj_frame_tiles(gEventObjectPic_NomelBerryTree_1), - obj_frame_tiles(gEventObjectPic_NomelBerryTree_2), - obj_frame_tiles(gEventObjectPic_NomelBerryTree_3), - obj_frame_tiles(gEventObjectPic_NomelBerryTree_4), - obj_frame_tiles(gEventObjectPic_NomelBerryTree_5), + overworld_frame(gEventObjectPic_BerryTreeDirtPile, 16, 16, 0), + overworld_frame(gEventObjectPic_BerryTreeSprout, 16, 16, 0), + overworld_frame(gEventObjectPic_BerryTreeSprout, 16, 16, 1), + overworld_frame(gEventObjectPic_NomelBerryTree, 16, 32, 0), + overworld_frame(gEventObjectPic_NomelBerryTree, 16, 32, 1), + overworld_frame(gEventObjectPic_NomelBerryTree, 16, 32, 2), + overworld_frame(gEventObjectPic_NomelBerryTree, 16, 32, 3), + overworld_frame(gEventObjectPic_NomelBerryTree, 16, 32, 4), + overworld_frame(gEventObjectPic_NomelBerryTree, 16, 32, 5), }; const u8 gBerryTreePaletteSlotTable_Nomel[] = {3, 4, 3, 3, 3}; const struct SpriteFrameImage gEventObjectPicTable_LeppaBerryTree[] = { - obj_frame_tiles(gEventObjectPic_BerryTreeDirtPile), - obj_frame_tiles(gEventObjectPic_BerryTreeSprout_0), - obj_frame_tiles(gEventObjectPic_BerryTreeSprout_1), - obj_frame_tiles(gEventObjectPic_LeppaBerryTree_0), - obj_frame_tiles(gEventObjectPic_LeppaBerryTree_1), - obj_frame_tiles(gEventObjectPic_LeppaBerryTree_2), - obj_frame_tiles(gEventObjectPic_LeppaBerryTree_3), - obj_frame_tiles(gEventObjectPic_LeppaBerryTree_4), - obj_frame_tiles(gEventObjectPic_LeppaBerryTree_5), + overworld_frame(gEventObjectPic_BerryTreeDirtPile, 16, 16, 0), + overworld_frame(gEventObjectPic_BerryTreeSprout, 16, 16, 0), + overworld_frame(gEventObjectPic_BerryTreeSprout, 16, 16, 1), + overworld_frame(gEventObjectPic_LeppaBerryTree, 16, 32, 0), + overworld_frame(gEventObjectPic_LeppaBerryTree, 16, 32, 1), + overworld_frame(gEventObjectPic_LeppaBerryTree, 16, 32, 2), + overworld_frame(gEventObjectPic_LeppaBerryTree, 16, 32, 3), + overworld_frame(gEventObjectPic_LeppaBerryTree, 16, 32, 4), + overworld_frame(gEventObjectPic_LeppaBerryTree, 16, 32, 5), }; const u8 gBerryTreePaletteSlotTable_Leppa[] = {3, 4, 3, 3, 3}; const struct SpriteFrameImage gEventObjectPicTable_LiechiBerryTree[] = { - obj_frame_tiles(gEventObjectPic_BerryTreeDirtPile), - obj_frame_tiles(gEventObjectPic_BerryTreeSprout_0), - obj_frame_tiles(gEventObjectPic_BerryTreeSprout_1), - obj_frame_tiles(gEventObjectPic_LiechiBerryTree_0), - obj_frame_tiles(gEventObjectPic_LiechiBerryTree_1), - obj_frame_tiles(gEventObjectPic_LiechiBerryTree_2), - obj_frame_tiles(gEventObjectPic_LiechiBerryTree_3), - obj_frame_tiles(gEventObjectPic_LiechiBerryTree_4), - obj_frame_tiles(gEventObjectPic_LiechiBerryTree_5), + overworld_frame(gEventObjectPic_BerryTreeDirtPile, 16, 16, 0), + overworld_frame(gEventObjectPic_BerryTreeSprout, 16, 16, 0), + overworld_frame(gEventObjectPic_BerryTreeSprout, 16, 16, 1), + overworld_frame(gEventObjectPic_LiechiBerryTree, 16, 32, 0), + overworld_frame(gEventObjectPic_LiechiBerryTree, 16, 32, 1), + overworld_frame(gEventObjectPic_LiechiBerryTree, 16, 32, 2), + overworld_frame(gEventObjectPic_LiechiBerryTree, 16, 32, 3), + overworld_frame(gEventObjectPic_LiechiBerryTree, 16, 32, 4), + overworld_frame(gEventObjectPic_LiechiBerryTree, 16, 32, 5), }; const u8 gBerryTreePaletteSlotTable_Liechi[] = {3, 4, 4, 4, 4}; const struct SpriteFrameImage gEventObjectPicTable_HondewBerryTree[] = { - obj_frame_tiles(gEventObjectPic_BerryTreeDirtPile), - obj_frame_tiles(gEventObjectPic_BerryTreeSprout_0), - obj_frame_tiles(gEventObjectPic_BerryTreeSprout_1), - obj_frame_tiles(gEventObjectPic_HondewBerryTree_0), - obj_frame_tiles(gEventObjectPic_HondewBerryTree_1), - obj_frame_tiles(gEventObjectPic_HondewBerryTree_2), - obj_frame_tiles(gEventObjectPic_HondewBerryTree_3), - obj_frame_tiles(gEventObjectPic_HondewBerryTree_4), - obj_frame_tiles(gEventObjectPic_HondewBerryTree_5), + overworld_frame(gEventObjectPic_BerryTreeDirtPile, 16, 16, 0), + overworld_frame(gEventObjectPic_BerryTreeSprout, 16, 16, 0), + overworld_frame(gEventObjectPic_BerryTreeSprout, 16, 16, 1), + overworld_frame(gEventObjectPic_HondewBerryTree, 16, 32, 0), + overworld_frame(gEventObjectPic_HondewBerryTree, 16, 32, 1), + overworld_frame(gEventObjectPic_HondewBerryTree, 16, 32, 2), + overworld_frame(gEventObjectPic_HondewBerryTree, 16, 32, 3), + overworld_frame(gEventObjectPic_HondewBerryTree, 16, 32, 4), + overworld_frame(gEventObjectPic_HondewBerryTree, 16, 32, 5), }; const u8 gBerryTreePaletteSlotTable_Hondew[] = {3, 4, 5, 5, 5}; const struct SpriteFrameImage gEventObjectPicTable_AguavBerryTree[] = { - obj_frame_tiles(gEventObjectPic_BerryTreeDirtPile), - obj_frame_tiles(gEventObjectPic_BerryTreeSprout_0), - obj_frame_tiles(gEventObjectPic_BerryTreeSprout_1), - obj_frame_tiles(gEventObjectPic_AguavBerryTree_0), - obj_frame_tiles(gEventObjectPic_AguavBerryTree_1), - obj_frame_tiles(gEventObjectPic_AguavBerryTree_2), - obj_frame_tiles(gEventObjectPic_AguavBerryTree_3), - obj_frame_tiles(gEventObjectPic_AguavBerryTree_4), - obj_frame_tiles(gEventObjectPic_AguavBerryTree_5), + overworld_frame(gEventObjectPic_BerryTreeDirtPile, 16, 16, 0), + overworld_frame(gEventObjectPic_BerryTreeSprout, 16, 16, 0), + overworld_frame(gEventObjectPic_BerryTreeSprout, 16, 16, 1), + overworld_frame(gEventObjectPic_AguavBerryTree, 16, 32, 0), + overworld_frame(gEventObjectPic_AguavBerryTree, 16, 32, 1), + overworld_frame(gEventObjectPic_AguavBerryTree, 16, 32, 2), + overworld_frame(gEventObjectPic_AguavBerryTree, 16, 32, 3), + overworld_frame(gEventObjectPic_AguavBerryTree, 16, 32, 4), + overworld_frame(gEventObjectPic_AguavBerryTree, 16, 32, 5), }; const u8 gBerryTreePaletteSlotTable_Aguav[] = {3, 4, 4, 4, 4}; const struct SpriteFrameImage gEventObjectPicTable_WikiBerryTree[] = { - obj_frame_tiles(gEventObjectPic_BerryTreeDirtPile), - obj_frame_tiles(gEventObjectPic_BerryTreeSprout_0), - obj_frame_tiles(gEventObjectPic_BerryTreeSprout_1), - obj_frame_tiles(gEventObjectPic_WikiBerryTree_0), - obj_frame_tiles(gEventObjectPic_WikiBerryTree_1), - obj_frame_tiles(gEventObjectPic_WikiBerryTree_2), - obj_frame_tiles(gEventObjectPic_WikiBerryTree_3), - obj_frame_tiles(gEventObjectPic_WikiBerryTree_4), - obj_frame_tiles(gEventObjectPic_WikiBerryTree_5), + overworld_frame(gEventObjectPic_BerryTreeDirtPile, 16, 16, 0), + overworld_frame(gEventObjectPic_BerryTreeSprout, 16, 16, 0), + overworld_frame(gEventObjectPic_BerryTreeSprout, 16, 16, 1), + overworld_frame(gEventObjectPic_WikiBerryTree, 16, 32, 0), + overworld_frame(gEventObjectPic_WikiBerryTree, 16, 32, 1), + overworld_frame(gEventObjectPic_WikiBerryTree, 16, 32, 2), + overworld_frame(gEventObjectPic_WikiBerryTree, 16, 32, 3), + overworld_frame(gEventObjectPic_WikiBerryTree, 16, 32, 4), + overworld_frame(gEventObjectPic_WikiBerryTree, 16, 32, 5), }; const u8 gBerryTreePaletteSlotTable_Wiki[] = {3, 4, 3, 3, 3}; const struct SpriteFrameImage gEventObjectPicTable_PomegBerryTree[] = { - obj_frame_tiles(gEventObjectPic_BerryTreeDirtPile), - obj_frame_tiles(gEventObjectPic_BerryTreeSprout_0), - obj_frame_tiles(gEventObjectPic_BerryTreeSprout_1), - obj_frame_tiles(gEventObjectPic_PomegBerryTree_0), - obj_frame_tiles(gEventObjectPic_PomegBerryTree_1), - obj_frame_tiles(gEventObjectPic_PomegBerryTree_2), - obj_frame_tiles(gEventObjectPic_PomegBerryTree_3), - obj_frame_tiles(gEventObjectPic_PomegBerryTree_4), - obj_frame_tiles(gEventObjectPic_PomegBerryTree_5), + overworld_frame(gEventObjectPic_BerryTreeDirtPile, 16, 16, 0), + overworld_frame(gEventObjectPic_BerryTreeSprout, 16, 16, 0), + overworld_frame(gEventObjectPic_BerryTreeSprout, 16, 16, 1), + overworld_frame(gEventObjectPic_PomegBerryTree, 16, 32, 0), + overworld_frame(gEventObjectPic_PomegBerryTree, 16, 32, 1), + overworld_frame(gEventObjectPic_PomegBerryTree, 16, 32, 2), + overworld_frame(gEventObjectPic_PomegBerryTree, 16, 32, 3), + overworld_frame(gEventObjectPic_PomegBerryTree, 16, 32, 4), + overworld_frame(gEventObjectPic_PomegBerryTree, 16, 32, 5), }; const u8 gBerryTreePaletteSlotTable_Pomeg[] = {3, 4, 3, 3, 3}; const struct SpriteFrameImage gEventObjectPicTable_RawstBerryTree[] = { - obj_frame_tiles(gEventObjectPic_BerryTreeDirtPile), - obj_frame_tiles(gEventObjectPic_BerryTreeSprout_0), - obj_frame_tiles(gEventObjectPic_BerryTreeSprout_1), - obj_frame_tiles(gEventObjectPic_RawstBerryTree_0), - obj_frame_tiles(gEventObjectPic_RawstBerryTree_1), - obj_frame_tiles(gEventObjectPic_RawstBerryTree_2), - obj_frame_tiles(gEventObjectPic_RawstBerryTree_3), - obj_frame_tiles(gEventObjectPic_RawstBerryTree_4), - obj_frame_tiles(gEventObjectPic_RawstBerryTree_5), + overworld_frame(gEventObjectPic_BerryTreeDirtPile, 16, 16, 0), + overworld_frame(gEventObjectPic_BerryTreeSprout, 16, 16, 0), + overworld_frame(gEventObjectPic_BerryTreeSprout, 16, 16, 1), + overworld_frame(gEventObjectPic_RawstBerryTree, 16, 32, 0), + overworld_frame(gEventObjectPic_RawstBerryTree, 16, 32, 1), + overworld_frame(gEventObjectPic_RawstBerryTree, 16, 32, 2), + overworld_frame(gEventObjectPic_RawstBerryTree, 16, 32, 3), + overworld_frame(gEventObjectPic_RawstBerryTree, 16, 32, 4), + overworld_frame(gEventObjectPic_RawstBerryTree, 16, 32, 5), }; const u8 gBerryTreePaletteSlotTable_Rawst[] = {3, 4, 4, 4, 4}; const struct SpriteFrameImage gEventObjectPicTable_SpelonBerryTree[] = { - obj_frame_tiles(gEventObjectPic_BerryTreeDirtPile), - obj_frame_tiles(gEventObjectPic_BerryTreeSprout_0), - obj_frame_tiles(gEventObjectPic_BerryTreeSprout_1), - obj_frame_tiles(gEventObjectPic_SpelonBerryTree_0), - obj_frame_tiles(gEventObjectPic_SpelonBerryTree_1), - obj_frame_tiles(gEventObjectPic_SpelonBerryTree_2), - obj_frame_tiles(gEventObjectPic_SpelonBerryTree_3), - obj_frame_tiles(gEventObjectPic_SpelonBerryTree_4), - obj_frame_tiles(gEventObjectPic_SpelonBerryTree_5), + overworld_frame(gEventObjectPic_BerryTreeDirtPile, 16, 16, 0), + overworld_frame(gEventObjectPic_BerryTreeSprout, 16, 16, 0), + overworld_frame(gEventObjectPic_BerryTreeSprout, 16, 16, 1), + overworld_frame(gEventObjectPic_SpelonBerryTree, 16, 32, 0), + overworld_frame(gEventObjectPic_SpelonBerryTree, 16, 32, 1), + overworld_frame(gEventObjectPic_SpelonBerryTree, 16, 32, 2), + overworld_frame(gEventObjectPic_SpelonBerryTree, 16, 32, 3), + overworld_frame(gEventObjectPic_SpelonBerryTree, 16, 32, 4), + overworld_frame(gEventObjectPic_SpelonBerryTree, 16, 32, 5), }; const u8 gBerryTreePaletteSlotTable_Spelon[] = {3, 4, 3, 3, 3}; const struct SpriteFrameImage gEventObjectPicTable_ChestoBerryTree[] = { - obj_frame_tiles(gEventObjectPic_BerryTreeDirtPile), - obj_frame_tiles(gEventObjectPic_BerryTreeSprout_0), - obj_frame_tiles(gEventObjectPic_BerryTreeSprout_1), - obj_frame_tiles(gEventObjectPic_ChestoBerryTree_0), - obj_frame_tiles(gEventObjectPic_ChestoBerryTree_1), - obj_frame_tiles(gEventObjectPic_ChestoBerryTree_2), - obj_frame_tiles(gEventObjectPic_ChestoBerryTree_3), - obj_frame_tiles(gEventObjectPic_ChestoBerryTree_4), - obj_frame_tiles(gEventObjectPic_ChestoBerryTree_5), + overworld_frame(gEventObjectPic_BerryTreeDirtPile, 16, 16, 0), + overworld_frame(gEventObjectPic_BerryTreeSprout, 16, 16, 0), + overworld_frame(gEventObjectPic_BerryTreeSprout, 16, 16, 1), + overworld_frame(gEventObjectPic_ChestoBerryTree, 16, 32, 0), + overworld_frame(gEventObjectPic_ChestoBerryTree, 16, 32, 1), + overworld_frame(gEventObjectPic_ChestoBerryTree, 16, 32, 2), + overworld_frame(gEventObjectPic_ChestoBerryTree, 16, 32, 3), + overworld_frame(gEventObjectPic_ChestoBerryTree, 16, 32, 4), + overworld_frame(gEventObjectPic_ChestoBerryTree, 16, 32, 5), }; const u8 gBerryTreePaletteSlotTable_Chesto[] = {3, 4, 2, 2, 2}; const struct SpriteFrameImage gEventObjectPicTable_OranBerryTree[] = { - obj_frame_tiles(gEventObjectPic_BerryTreeDirtPile), - obj_frame_tiles(gEventObjectPic_BerryTreeSprout_0), - obj_frame_tiles(gEventObjectPic_BerryTreeSprout_1), - obj_frame_tiles(gEventObjectPic_OranBerryTree_0), - obj_frame_tiles(gEventObjectPic_OranBerryTree_1), - obj_frame_tiles(gEventObjectPic_OranBerryTree_2), - obj_frame_tiles(gEventObjectPic_OranBerryTree_3), - obj_frame_tiles(gEventObjectPic_OranBerryTree_4), - obj_frame_tiles(gEventObjectPic_OranBerryTree_5), + overworld_frame(gEventObjectPic_BerryTreeDirtPile, 16, 16, 0), + overworld_frame(gEventObjectPic_BerryTreeSprout, 16, 16, 0), + overworld_frame(gEventObjectPic_BerryTreeSprout, 16, 16, 1), + overworld_frame(gEventObjectPic_OranBerryTree, 16, 32, 0), + overworld_frame(gEventObjectPic_OranBerryTree, 16, 32, 1), + overworld_frame(gEventObjectPic_OranBerryTree, 16, 32, 2), + overworld_frame(gEventObjectPic_OranBerryTree, 16, 32, 3), + overworld_frame(gEventObjectPic_OranBerryTree, 16, 32, 4), + overworld_frame(gEventObjectPic_OranBerryTree, 16, 32, 5), }; const u8 gBerryTreePaletteSlotTable_Oran[] = {3, 4, 2, 2, 2}; const struct SpriteFrameImage gEventObjectPicTable_PersimBerryTree[] = { - obj_frame_tiles(gEventObjectPic_BerryTreeDirtPile), - obj_frame_tiles(gEventObjectPic_BerryTreeSprout_0), - obj_frame_tiles(gEventObjectPic_BerryTreeSprout_1), - obj_frame_tiles(gEventObjectPic_PersimBerryTree_0), - obj_frame_tiles(gEventObjectPic_PersimBerryTree_1), - obj_frame_tiles(gEventObjectPic_PersimBerryTree_2), - obj_frame_tiles(gEventObjectPic_PersimBerryTree_3), - obj_frame_tiles(gEventObjectPic_PersimBerryTree_4), - obj_frame_tiles(gEventObjectPic_PersimBerryTree_5), + overworld_frame(gEventObjectPic_BerryTreeDirtPile, 16, 16, 0), + overworld_frame(gEventObjectPic_BerryTreeSprout, 16, 16, 0), + overworld_frame(gEventObjectPic_BerryTreeSprout, 16, 16, 1), + overworld_frame(gEventObjectPic_PersimBerryTree, 16, 32, 0), + overworld_frame(gEventObjectPic_PersimBerryTree, 16, 32, 1), + overworld_frame(gEventObjectPic_PersimBerryTree, 16, 32, 2), + overworld_frame(gEventObjectPic_PersimBerryTree, 16, 32, 3), + overworld_frame(gEventObjectPic_PersimBerryTree, 16, 32, 4), + overworld_frame(gEventObjectPic_PersimBerryTree, 16, 32, 5), }; const u8 gBerryTreePaletteSlotTable_Persim[] = {3, 4, 2, 2, 2}; const struct SpriteFrameImage gEventObjectPicTable_SitrusBerryTree[] = { - obj_frame_tiles(gEventObjectPic_BerryTreeDirtPile), - obj_frame_tiles(gEventObjectPic_BerryTreeSprout_0), - obj_frame_tiles(gEventObjectPic_BerryTreeSprout_1), - obj_frame_tiles(gEventObjectPic_SitrusBerryTree_0), - obj_frame_tiles(gEventObjectPic_SitrusBerryTree_1), - obj_frame_tiles(gEventObjectPic_SitrusBerryTree_2), - obj_frame_tiles(gEventObjectPic_SitrusBerryTree_3), - obj_frame_tiles(gEventObjectPic_SitrusBerryTree_4), - obj_frame_tiles(gEventObjectPic_SitrusBerryTree_5), + overworld_frame(gEventObjectPic_BerryTreeDirtPile, 16, 16, 0), + overworld_frame(gEventObjectPic_BerryTreeSprout, 16, 16, 0), + overworld_frame(gEventObjectPic_BerryTreeSprout, 16, 16, 1), + overworld_frame(gEventObjectPic_SitrusBerryTree, 16, 32, 0), + overworld_frame(gEventObjectPic_SitrusBerryTree, 16, 32, 1), + overworld_frame(gEventObjectPic_SitrusBerryTree, 16, 32, 2), + overworld_frame(gEventObjectPic_SitrusBerryTree, 16, 32, 3), + overworld_frame(gEventObjectPic_SitrusBerryTree, 16, 32, 4), + overworld_frame(gEventObjectPic_SitrusBerryTree, 16, 32, 5), }; const u8 gBerryTreePaletteSlotTable_Sitrus[] = {3, 4, 4, 4, 4}; const struct SpriteFrameImage gEventObjectPicTable_AspearBerryTree[] = { - obj_frame_tiles(gEventObjectPic_BerryTreeDirtPile), - obj_frame_tiles(gEventObjectPic_BerryTreeSprout_0), - obj_frame_tiles(gEventObjectPic_BerryTreeSprout_1), - obj_frame_tiles(gEventObjectPic_AspearBerryTree_0), - obj_frame_tiles(gEventObjectPic_AspearBerryTree_1), - obj_frame_tiles(gEventObjectPic_AspearBerryTree_2), - obj_frame_tiles(gEventObjectPic_AspearBerryTree_3), - obj_frame_tiles(gEventObjectPic_AspearBerryTree_4), - obj_frame_tiles(gEventObjectPic_AspearBerryTree_5), + overworld_frame(gEventObjectPic_BerryTreeDirtPile, 16, 16, 0), + overworld_frame(gEventObjectPic_BerryTreeSprout, 16, 16, 0), + overworld_frame(gEventObjectPic_BerryTreeSprout, 16, 16, 1), + overworld_frame(gEventObjectPic_AspearBerryTree, 16, 32, 0), + overworld_frame(gEventObjectPic_AspearBerryTree, 16, 32, 1), + overworld_frame(gEventObjectPic_AspearBerryTree, 16, 32, 2), + overworld_frame(gEventObjectPic_AspearBerryTree, 16, 32, 3), + overworld_frame(gEventObjectPic_AspearBerryTree, 16, 32, 4), + overworld_frame(gEventObjectPic_AspearBerryTree, 16, 32, 5), }; const u8 gBerryTreePaletteSlotTable_Aspear[] = {3, 4, 3, 3, 3}; const struct SpriteFrameImage gEventObjectPicTable_PamtreBerryTree[] = { - obj_frame_tiles(gEventObjectPic_BerryTreeDirtPile), - obj_frame_tiles(gEventObjectPic_BerryTreeSprout_0), - obj_frame_tiles(gEventObjectPic_BerryTreeSprout_1), - obj_frame_tiles(gEventObjectPic_PamtreBerryTree_0), - obj_frame_tiles(gEventObjectPic_PamtreBerryTree_1), - obj_frame_tiles(gEventObjectPic_PamtreBerryTree_2), - obj_frame_tiles(gEventObjectPic_PamtreBerryTree_3), - obj_frame_tiles(gEventObjectPic_PamtreBerryTree_4), - obj_frame_tiles(gEventObjectPic_PamtreBerryTree_5), + overworld_frame(gEventObjectPic_BerryTreeDirtPile, 16, 16, 0), + overworld_frame(gEventObjectPic_BerryTreeSprout, 16, 16, 0), + overworld_frame(gEventObjectPic_BerryTreeSprout, 16, 16, 1), + overworld_frame(gEventObjectPic_PamtreBerryTree, 16, 32, 0), + overworld_frame(gEventObjectPic_PamtreBerryTree, 16, 32, 1), + overworld_frame(gEventObjectPic_PamtreBerryTree, 16, 32, 2), + overworld_frame(gEventObjectPic_PamtreBerryTree, 16, 32, 3), + overworld_frame(gEventObjectPic_PamtreBerryTree, 16, 32, 4), + overworld_frame(gEventObjectPic_PamtreBerryTree, 16, 32, 5), }; const u8 gBerryTreePaletteSlotTable_Pamtre[] = {3, 4, 2, 2, 2}; const struct SpriteFrameImage gEventObjectPicTable_CornnBerryTree[] = { - obj_frame_tiles(gEventObjectPic_BerryTreeDirtPile), - obj_frame_tiles(gEventObjectPic_BerryTreeSprout_0), - obj_frame_tiles(gEventObjectPic_BerryTreeSprout_1), - obj_frame_tiles(gEventObjectPic_CornnBerryTree_0), - obj_frame_tiles(gEventObjectPic_CornnBerryTree_1), - obj_frame_tiles(gEventObjectPic_CornnBerryTree_2), - obj_frame_tiles(gEventObjectPic_CornnBerryTree_3), - obj_frame_tiles(gEventObjectPic_CornnBerryTree_4), - obj_frame_tiles(gEventObjectPic_CornnBerryTree_5), + overworld_frame(gEventObjectPic_BerryTreeDirtPile, 16, 16, 0), + overworld_frame(gEventObjectPic_BerryTreeSprout, 16, 16, 0), + overworld_frame(gEventObjectPic_BerryTreeSprout, 16, 16, 1), + overworld_frame(gEventObjectPic_CornnBerryTree, 16, 32, 0), + overworld_frame(gEventObjectPic_CornnBerryTree, 16, 32, 1), + overworld_frame(gEventObjectPic_CornnBerryTree, 16, 32, 2), + overworld_frame(gEventObjectPic_CornnBerryTree, 16, 32, 3), + overworld_frame(gEventObjectPic_CornnBerryTree, 16, 32, 4), + overworld_frame(gEventObjectPic_CornnBerryTree, 16, 32, 5), }; const u8 gBerryTreePaletteSlotTable_Cornn[] = {3, 4, 2, 2, 2}; const struct SpriteFrameImage gEventObjectPicTable_LansatBerryTree[] = { - obj_frame_tiles(gEventObjectPic_BerryTreeDirtPile), - obj_frame_tiles(gEventObjectPic_BerryTreeSprout_0), - obj_frame_tiles(gEventObjectPic_BerryTreeSprout_1), - obj_frame_tiles(gEventObjectPic_LansatBerryTree_0), - obj_frame_tiles(gEventObjectPic_LansatBerryTree_1), - obj_frame_tiles(gEventObjectPic_LansatBerryTree_2), - obj_frame_tiles(gEventObjectPic_LansatBerryTree_3), - obj_frame_tiles(gEventObjectPic_LansatBerryTree_4), - obj_frame_tiles(gEventObjectPic_LansatBerryTree_5), + overworld_frame(gEventObjectPic_BerryTreeDirtPile, 16, 16, 0), + overworld_frame(gEventObjectPic_BerryTreeSprout, 16, 16, 0), + overworld_frame(gEventObjectPic_BerryTreeSprout, 16, 16, 1), + overworld_frame(gEventObjectPic_LansatBerryTree, 16, 32, 0), + overworld_frame(gEventObjectPic_LansatBerryTree, 16, 32, 1), + overworld_frame(gEventObjectPic_LansatBerryTree, 16, 32, 2), + overworld_frame(gEventObjectPic_LansatBerryTree, 16, 32, 3), + overworld_frame(gEventObjectPic_LansatBerryTree, 16, 32, 4), + overworld_frame(gEventObjectPic_LansatBerryTree, 16, 32, 5), }; const u8 gBerryTreePaletteSlotTable_Lansat[] = {3, 4, 2, 2, 2}; const struct SpriteFrameImage gEventObjectPicTable_DurinBerryTree[] = { - obj_frame_tiles(gEventObjectPic_BerryTreeDirtPile), - obj_frame_tiles(gEventObjectPic_BerryTreeSprout_0), - obj_frame_tiles(gEventObjectPic_BerryTreeSprout_1), - obj_frame_tiles(gEventObjectPic_DurinBerryTree_0), - obj_frame_tiles(gEventObjectPic_DurinBerryTree_1), - obj_frame_tiles(gEventObjectPic_DurinBerryTree_2), - obj_frame_tiles(gEventObjectPic_DurinBerryTree_3), - obj_frame_tiles(gEventObjectPic_DurinBerryTree_4), - obj_frame_tiles(gEventObjectPic_DurinBerryTree_5), + overworld_frame(gEventObjectPic_BerryTreeDirtPile, 16, 16, 0), + overworld_frame(gEventObjectPic_BerryTreeSprout, 16, 16, 0), + overworld_frame(gEventObjectPic_BerryTreeSprout, 16, 16, 1), + overworld_frame(gEventObjectPic_DurinBerryTree, 16, 32, 0), + overworld_frame(gEventObjectPic_DurinBerryTree, 16, 32, 1), + overworld_frame(gEventObjectPic_DurinBerryTree, 16, 32, 2), + overworld_frame(gEventObjectPic_DurinBerryTree, 16, 32, 3), + overworld_frame(gEventObjectPic_DurinBerryTree, 16, 32, 4), + overworld_frame(gEventObjectPic_DurinBerryTree, 16, 32, 5), }; const u8 gBerryTreePaletteSlotTable_Durin[] = {3, 4, 4, 4, 4}; const struct SpriteFrameImage gEventObjectPicTable_TamatoBerryTree[] = { - obj_frame_tiles(gEventObjectPic_BerryTreeDirtPile), - obj_frame_tiles(gEventObjectPic_BerryTreeSprout_0), - obj_frame_tiles(gEventObjectPic_BerryTreeSprout_1), - obj_frame_tiles(gEventObjectPic_TamatoBerryTree_0), - obj_frame_tiles(gEventObjectPic_TamatoBerryTree_1), - obj_frame_tiles(gEventObjectPic_TamatoBerryTree_2), - obj_frame_tiles(gEventObjectPic_TamatoBerryTree_3), - obj_frame_tiles(gEventObjectPic_TamatoBerryTree_4), - obj_frame_tiles(gEventObjectPic_TamatoBerryTree_5), + overworld_frame(gEventObjectPic_BerryTreeDirtPile, 16, 16, 0), + overworld_frame(gEventObjectPic_BerryTreeSprout, 16, 16, 0), + overworld_frame(gEventObjectPic_BerryTreeSprout, 16, 16, 1), + overworld_frame(gEventObjectPic_TamatoBerryTree, 16, 32, 0), + overworld_frame(gEventObjectPic_TamatoBerryTree, 16, 32, 1), + overworld_frame(gEventObjectPic_TamatoBerryTree, 16, 32, 2), + overworld_frame(gEventObjectPic_TamatoBerryTree, 16, 32, 3), + overworld_frame(gEventObjectPic_TamatoBerryTree, 16, 32, 4), + overworld_frame(gEventObjectPic_TamatoBerryTree, 16, 32, 5), }; const u8 gBerryTreePaletteSlotTable_Tamato[] = {3, 4, 2, 2, 2}; diff --git a/src/data/field_event_obj/event_object_graphics.h b/src/data/field_event_obj/event_object_graphics.h index 2fd1380ee2..522f14db40 100755 --- a/src/data/field_event_obj/event_object_graphics.h +++ b/src/data/field_event_obj/event_object_graphics.h @@ -100,8 +100,8 @@ const u32 gEventObjectPic_OldWoman2[] = INCBIN_U32("graphics/event_objects/pics/ const u32 gEventObjectPic_Camper[] = INCBIN_U32("graphics/event_objects/pics/people/camper.4bpp"); const u32 gEventObjectPic_Picnicker[] = INCBIN_U32("graphics/event_objects/pics/people/picnicker.4bpp"); const u32 gEventObjectPic_Man4[] = INCBIN_U32("graphics/event_objects/pics/people/man_4.4bpp"); -const u32 gEventObjectPic_Woman7[] = INCBIN_U32("graphics/event_objects/pics/people/wwoman_7.4bpp"); -const u32 gEventObjectPic_Youngster[] = INCBIN_U32("graphics/event_objects/pics/people/youngster/0.4bpp"); +const u32 gEventObjectPic_Woman7[] = INCBIN_U32("graphics/event_objects/pics/people/woman_7.4bpp"); +const u32 gEventObjectPic_Youngster[] = INCBIN_U32("graphics/event_objects/pics/people/youngster.4bpp"); const u32 gEventObjectPic_BugCatcher[] = INCBIN_U32("graphics/event_objects/pics/people/bug_catcher.4bpp"); const u32 gEventObjectPic_PsychicM[] = INCBIN_U32("graphics/event_objects/pics/people/psychic_m.4bpp"); const u32 gEventObjectPic_SchoolKidM[] = INCBIN_U32("graphics/event_objects/pics/people/school_kid_m.4bpp"); @@ -156,7 +156,7 @@ const u32 gEventObjectPic_Norman[] = INCBIN_U32("graphics/event_objects/pics/peo const u32 gEventObjectPic_Winona[] = INCBIN_U32("graphics/event_objects/pics/people/gym_leaders/winona.4bpp"); const u32 gEventObjectPic_Liza[] = INCBIN_U32("graphics/event_objects/pics/people/gym_leaders/liza.4bpp"); const u32 gEventObjectPic_Tate[] = INCBIN_U32("graphics/event_objects/pics/people/gym_leaders/tate.4bpp"); -const u32 gEventObjectPic_Wallace[] = INCBIN_U32("graphics/event_objects/pics/people/wallace/wallace.4bpp"); +const u32 gEventObjectPic_Wallace[] = INCBIN_U32("graphics/event_objects/pics/people/wallace.4bpp"); const u32 gEventObjectPic_Steven[] = INCBIN_U32("graphics/event_objects/pics/people/steven.4bpp"); const u32 gEventObjectPic_Wally[] = INCBIN_U32("graphics/event_objects/pics/people/wally.4bpp"); const u32 gEventObjectPic_RubySapphireLittleBoy[] = INCBIN_U32("graphics/event_objects/pics/people/rs_little_boy.4bpp"); @@ -307,7 +307,7 @@ const u32 gFieldEffectPic_CutGrass_Copy[] = INCBIN_U32("graphics/event_objects/p const u16 gFieldEffectObjectPalette6[] = INCBIN_U16("graphics/event_objects/palettes/field_effect_object_palette_06.gbapal"); const u32 gFieldEffectObjectPic_Ripple[] = INCBIN_U32("graphics/event_objects/pics/effects/ripple.4bpp"); const u32 gFieldEffectObjectPic_Ash[] = INCBIN_U32("graphics/event_objects/pics/effects/ash.4bpp"); -const u32 gFieldEffectObjectPic_Arrow[] = INCBIN_U32("graphics/event_objects/pics/effects/arrow/0.4bpp"); +const u32 gFieldEffectObjectPic_Arrow[] = INCBIN_U32("graphics/event_objects/pics/effects/arrow.4bpp"); const u16 gFieldEffectObjectPalette0[] = INCBIN_U16("graphics/event_objects/palettes/field_effect_object_palette_00.gbapal"); const u16 gFieldEffectObjectPalette1[] = INCBIN_U16("graphics/event_objects/palettes/field_effect_object_palette_01.gbapal"); const u32 gFieldEffectObjectPic_GroundImpactDust_0[] = INCBIN_U32("graphics/event_objects/pics/effects/ground_impact_dust/0.4bpp"); diff --git a/src/data/field_event_obj/event_object_pic_tables.h b/src/data/field_event_obj/event_object_pic_tables.h index 892af7e9b6..53f5976f1f 100755 --- a/src/data/field_event_obj/event_object_pic_tables.h +++ b/src/data/field_event_obj/event_object_pic_tables.h @@ -2,748 +2,748 @@ #define GUARD_EVENT_OBJECT_PIC_TABLES_H const struct SpriteFrameImage gEventObjectPicTable_BrendanNormal[] = { - obj_frame_tiles(gEventObjectPic_BrendanNormal_0), - obj_frame_tiles(gEventObjectPic_BrendanNormal_1), - obj_frame_tiles(gEventObjectPic_BrendanNormal_2), - obj_frame_tiles(gEventObjectPic_BrendanNormal_3), - obj_frame_tiles(gEventObjectPic_BrendanNormal_4), - obj_frame_tiles(gEventObjectPic_BrendanNormal_5), - obj_frame_tiles(gEventObjectPic_BrendanNormal_6), - obj_frame_tiles(gEventObjectPic_BrendanNormal_7), - obj_frame_tiles(gEventObjectPic_BrendanNormal_8), - obj_frame_tiles(gEventObjectPic_BrendanNormal_9), - obj_frame_tiles(gEventObjectPic_BrendanNormal_10), - obj_frame_tiles(gEventObjectPic_BrendanNormal_11), - obj_frame_tiles(gEventObjectPic_BrendanNormal_12), - obj_frame_tiles(gEventObjectPic_BrendanNormal_13), - obj_frame_tiles(gEventObjectPic_BrendanNormal_14), - obj_frame_tiles(gEventObjectPic_BrendanNormal_15), - obj_frame_tiles(gEventObjectPic_BrendanNormal_16), - obj_frame_tiles(gEventObjectPic_BrendanNormal_17), + overworld_frame(gEventObjectPic_BrendanNormal, 16, 32, 0), + overworld_frame(gEventObjectPic_BrendanNormal, 16, 32, 1), + overworld_frame(gEventObjectPic_BrendanNormal, 16, 32, 2), + overworld_frame(gEventObjectPic_BrendanNormal, 16, 32, 3), + overworld_frame(gEventObjectPic_BrendanNormal, 16, 32, 4), + overworld_frame(gEventObjectPic_BrendanNormal, 16, 32, 5), + overworld_frame(gEventObjectPic_BrendanNormal, 16, 32, 6), + overworld_frame(gEventObjectPic_BrendanNormal, 16, 32, 7), + overworld_frame(gEventObjectPic_BrendanNormal, 16, 32, 8), + overworld_frame(gEventObjectPic_BrendanRunning, 16, 32, 0), + overworld_frame(gEventObjectPic_BrendanRunning, 16, 32, 1), + overworld_frame(gEventObjectPic_BrendanRunning, 16, 32, 2), + overworld_frame(gEventObjectPic_BrendanRunning, 16, 32, 3), + overworld_frame(gEventObjectPic_BrendanRunning, 16, 32, 4), + overworld_frame(gEventObjectPic_BrendanRunning, 16, 32, 5), + overworld_frame(gEventObjectPic_BrendanRunning, 16, 32, 6), + overworld_frame(gEventObjectPic_BrendanRunning, 16, 32, 7), + overworld_frame(gEventObjectPic_BrendanRunning, 16, 32, 8), }; const struct SpriteFrameImage gEventObjectPicTable_BrendanMachBike[] = { - obj_frame_tiles(gEventObjectPic_BrendanMachBike_0), - obj_frame_tiles(gEventObjectPic_BrendanMachBike_1), - obj_frame_tiles(gEventObjectPic_BrendanMachBike_2), - obj_frame_tiles(gEventObjectPic_BrendanMachBike_3), - obj_frame_tiles(gEventObjectPic_BrendanMachBike_4), - obj_frame_tiles(gEventObjectPic_BrendanMachBike_5), - obj_frame_tiles(gEventObjectPic_BrendanMachBike_6), - obj_frame_tiles(gEventObjectPic_BrendanMachBike_7), - obj_frame_tiles(gEventObjectPic_BrendanMachBike_8), + overworld_frame(gEventObjectPic_BrendanMachBike, 32, 32, 0), + overworld_frame(gEventObjectPic_BrendanMachBike, 32, 32, 1), + overworld_frame(gEventObjectPic_BrendanMachBike, 32, 32, 2), + overworld_frame(gEventObjectPic_BrendanMachBike, 32, 32, 3), + overworld_frame(gEventObjectPic_BrendanMachBike, 32, 32, 4), + overworld_frame(gEventObjectPic_BrendanMachBike, 32, 32, 5), + overworld_frame(gEventObjectPic_BrendanMachBike, 32, 32, 6), + overworld_frame(gEventObjectPic_BrendanMachBike, 32, 32, 7), + overworld_frame(gEventObjectPic_BrendanMachBike, 32, 32, 8), }; const struct SpriteFrameImage gEventObjectPicTable_BrendanAcroBike[] = { - obj_frame_tiles(gEventObjectPic_BrendanAcroBike_0), - obj_frame_tiles(gEventObjectPic_BrendanAcroBike_1), - obj_frame_tiles(gEventObjectPic_BrendanAcroBike_2), - obj_frame_tiles(gEventObjectPic_BrendanAcroBike_3), - obj_frame_tiles(gEventObjectPic_BrendanAcroBike_4), - obj_frame_tiles(gEventObjectPic_BrendanAcroBike_5), - obj_frame_tiles(gEventObjectPic_BrendanAcroBike_6), - obj_frame_tiles(gEventObjectPic_BrendanAcroBike_7), - obj_frame_tiles(gEventObjectPic_BrendanAcroBike_8), - obj_frame_tiles(gEventObjectPic_BrendanAcroBike_9), - obj_frame_tiles(gEventObjectPic_BrendanAcroBike_10), - obj_frame_tiles(gEventObjectPic_BrendanAcroBike_11), - obj_frame_tiles(gEventObjectPic_BrendanAcroBike_12), - obj_frame_tiles(gEventObjectPic_BrendanAcroBike_13), - obj_frame_tiles(gEventObjectPic_BrendanAcroBike_14), - obj_frame_tiles(gEventObjectPic_BrendanAcroBike_15), - obj_frame_tiles(gEventObjectPic_BrendanAcroBike_16), - obj_frame_tiles(gEventObjectPic_BrendanAcroBike_17), - obj_frame_tiles(gEventObjectPic_BrendanAcroBike_18), - obj_frame_tiles(gEventObjectPic_BrendanAcroBike_19), - obj_frame_tiles(gEventObjectPic_BrendanAcroBike_20), - obj_frame_tiles(gEventObjectPic_BrendanAcroBike_21), - obj_frame_tiles(gEventObjectPic_BrendanAcroBike_22), - obj_frame_tiles(gEventObjectPic_BrendanAcroBike_23), - obj_frame_tiles(gEventObjectPic_BrendanAcroBike_24), - obj_frame_tiles(gEventObjectPic_BrendanAcroBike_25), - obj_frame_tiles(gEventObjectPic_BrendanAcroBike_26), + overworld_frame(gEventObjectPic_BrendanAcroBike, 32, 32, 0), + overworld_frame(gEventObjectPic_BrendanAcroBike, 32, 32, 1), + overworld_frame(gEventObjectPic_BrendanAcroBike, 32, 32, 2), + overworld_frame(gEventObjectPic_BrendanAcroBike, 32, 32, 3), + overworld_frame(gEventObjectPic_BrendanAcroBike, 32, 32, 4), + overworld_frame(gEventObjectPic_BrendanAcroBike, 32, 32, 5), + overworld_frame(gEventObjectPic_BrendanAcroBike, 32, 32, 6), + overworld_frame(gEventObjectPic_BrendanAcroBike, 32, 32, 7), + overworld_frame(gEventObjectPic_BrendanAcroBike, 32, 32, 8), + overworld_frame(gEventObjectPic_BrendanAcroBike, 32, 32, 9), + overworld_frame(gEventObjectPic_BrendanAcroBike, 32, 32, 10), + overworld_frame(gEventObjectPic_BrendanAcroBike, 32, 32, 11), + overworld_frame(gEventObjectPic_BrendanAcroBike, 32, 32, 12), + overworld_frame(gEventObjectPic_BrendanAcroBike, 32, 32, 13), + overworld_frame(gEventObjectPic_BrendanAcroBike, 32, 32, 14), + overworld_frame(gEventObjectPic_BrendanAcroBike, 32, 32, 15), + overworld_frame(gEventObjectPic_BrendanAcroBike, 32, 32, 16), + overworld_frame(gEventObjectPic_BrendanAcroBike, 32, 32, 17), + overworld_frame(gEventObjectPic_BrendanAcroBike, 32, 32, 18), + overworld_frame(gEventObjectPic_BrendanAcroBike, 32, 32, 19), + overworld_frame(gEventObjectPic_BrendanAcroBike, 32, 32, 20), + overworld_frame(gEventObjectPic_BrendanAcroBike, 32, 32, 21), + overworld_frame(gEventObjectPic_BrendanAcroBike, 32, 32, 22), + overworld_frame(gEventObjectPic_BrendanAcroBike, 32, 32, 23), + overworld_frame(gEventObjectPic_BrendanAcroBike, 32, 32, 24), + overworld_frame(gEventObjectPic_BrendanAcroBike, 32, 32, 25), + overworld_frame(gEventObjectPic_BrendanAcroBike, 32, 32, 26), }; const struct SpriteFrameImage gEventObjectPicTable_BrendanSurfing[] = { - obj_frame_tiles(gEventObjectPic_BrendanSurfing_0), - obj_frame_tiles(gEventObjectPic_BrendanSurfing_1), - obj_frame_tiles(gEventObjectPic_BrendanSurfing_2), - obj_frame_tiles(gEventObjectPic_BrendanSurfing_0), - obj_frame_tiles(gEventObjectPic_BrendanSurfing_0), - obj_frame_tiles(gEventObjectPic_BrendanSurfing_1), - obj_frame_tiles(gEventObjectPic_BrendanSurfing_1), - obj_frame_tiles(gEventObjectPic_BrendanSurfing_2), - obj_frame_tiles(gEventObjectPic_BrendanSurfing_2), - obj_frame_tiles(gEventObjectPic_BrendanSurfing_3), - obj_frame_tiles(gEventObjectPic_BrendanSurfing_4), - obj_frame_tiles(gEventObjectPic_BrendanSurfing_5), + overworld_frame(gEventObjectPic_BrendanSurfing, 32, 32, 0), + overworld_frame(gEventObjectPic_BrendanSurfing, 32, 32, 1), + overworld_frame(gEventObjectPic_BrendanSurfing, 32, 32, 2), + overworld_frame(gEventObjectPic_BrendanSurfing, 32, 32, 0), + overworld_frame(gEventObjectPic_BrendanSurfing, 32, 32, 0), + overworld_frame(gEventObjectPic_BrendanSurfing, 32, 32, 1), + overworld_frame(gEventObjectPic_BrendanSurfing, 32, 32, 1), + overworld_frame(gEventObjectPic_BrendanSurfing, 32, 32, 2), + overworld_frame(gEventObjectPic_BrendanSurfing, 32, 32, 2), + overworld_frame(gEventObjectPic_BrendanSurfing, 32, 32, 3), + overworld_frame(gEventObjectPic_BrendanSurfing, 32, 32, 4), + overworld_frame(gEventObjectPic_BrendanSurfing, 32, 32, 5), }; const struct SpriteFrameImage gEventObjectPicTable_BrendanUnderwater[] = { - obj_frame_tiles(gEventObjectPic_BrendanUnderwater_0), - obj_frame_tiles(gEventObjectPic_BrendanUnderwater_1), - obj_frame_tiles(gEventObjectPic_BrendanUnderwater_2), - obj_frame_tiles(gEventObjectPic_BrendanUnderwater_0), - obj_frame_tiles(gEventObjectPic_BrendanUnderwater_0), - obj_frame_tiles(gEventObjectPic_BrendanUnderwater_1), - obj_frame_tiles(gEventObjectPic_BrendanUnderwater_1), - obj_frame_tiles(gEventObjectPic_BrendanUnderwater_2), - obj_frame_tiles(gEventObjectPic_BrendanUnderwater_2), + overworld_frame(gEventObjectPic_BrendanUnderwater, 32, 32, 0), + overworld_frame(gEventObjectPic_BrendanUnderwater, 32, 32, 1), + overworld_frame(gEventObjectPic_BrendanUnderwater, 32, 32, 2), + overworld_frame(gEventObjectPic_BrendanUnderwater, 32, 32, 0), + overworld_frame(gEventObjectPic_BrendanUnderwater, 32, 32, 0), + overworld_frame(gEventObjectPic_BrendanUnderwater, 32, 32, 1), + overworld_frame(gEventObjectPic_BrendanUnderwater, 32, 32, 1), + overworld_frame(gEventObjectPic_BrendanUnderwater, 32, 32, 2), + overworld_frame(gEventObjectPic_BrendanUnderwater, 32, 32, 2), }; const struct SpriteFrameImage gEventObjectPicTable_BrendanFieldMove[] = { - obj_frame_tiles(gEventObjectPic_BrendanFieldMove_0), - obj_frame_tiles(gEventObjectPic_BrendanFieldMove_1), - obj_frame_tiles(gEventObjectPic_BrendanFieldMove_2), - obj_frame_tiles(gEventObjectPic_BrendanFieldMove_3), - obj_frame_tiles(gEventObjectPic_BrendanFieldMove_4), + overworld_frame(gEventObjectPic_BrendanFieldMove, 32, 32, 0), + overworld_frame(gEventObjectPic_BrendanFieldMove, 32, 32, 1), + overworld_frame(gEventObjectPic_BrendanFieldMove, 32, 32, 2), + overworld_frame(gEventObjectPic_BrendanFieldMove, 32, 32, 3), + overworld_frame(gEventObjectPic_BrendanFieldMove, 32, 32, 4), }; const struct SpriteFrameImage gEventObjectPicTable_QuintyPlump[] = { - obj_frame_tiles(gEventObjectPic_QuintyPlump_0), - obj_frame_tiles(gEventObjectPic_QuintyPlump_1), - obj_frame_tiles(gEventObjectPic_QuintyPlump_2), - obj_frame_tiles(gEventObjectPic_QuintyPlump_3), - obj_frame_tiles(gEventObjectPic_QuintyPlump_4), - obj_frame_tiles(gEventObjectPic_QuintyPlump_5), - obj_frame_tiles(gEventObjectPic_QuintyPlump_6), + overworld_frame(gEventObjectPic_QuintyPlump, 32, 32, 0), + overworld_frame(gEventObjectPic_QuintyPlump, 32, 32, 1), + overworld_frame(gEventObjectPic_QuintyPlump, 32, 32, 2), + overworld_frame(gEventObjectPic_QuintyPlump, 32, 32, 3), + overworld_frame(gEventObjectPic_QuintyPlump, 32, 32, 4), + overworld_frame(gEventObjectPic_QuintyPlump, 32, 32, 5), + overworld_frame(gEventObjectPic_QuintyPlump, 32, 32, 6), }; const struct SpriteFrameImage gEventObjectPicTable_LittleBoy1[] = { - obj_frame_tiles(gEventObjectPic_LittleBoy1_0), - obj_frame_tiles(gEventObjectPic_LittleBoy1_1), - obj_frame_tiles(gEventObjectPic_LittleBoy1_2), - obj_frame_tiles(gEventObjectPic_LittleBoy1_3), - obj_frame_tiles(gEventObjectPic_LittleBoy1_4), - obj_frame_tiles(gEventObjectPic_LittleBoy1_5), - obj_frame_tiles(gEventObjectPic_LittleBoy1_6), - obj_frame_tiles(gEventObjectPic_LittleBoy1_7), - obj_frame_tiles(gEventObjectPic_LittleBoy1_8), + overworld_frame(gEventObjectPic_LittleBoy1, 16, 16, 0), + overworld_frame(gEventObjectPic_LittleBoy1, 16, 16, 1), + overworld_frame(gEventObjectPic_LittleBoy1, 16, 16, 2), + overworld_frame(gEventObjectPic_LittleBoy1, 16, 16, 3), + overworld_frame(gEventObjectPic_LittleBoy1, 16, 16, 4), + overworld_frame(gEventObjectPic_LittleBoy1, 16, 16, 5), + overworld_frame(gEventObjectPic_LittleBoy1, 16, 16, 6), + overworld_frame(gEventObjectPic_LittleBoy1, 16, 16, 7), + overworld_frame(gEventObjectPic_LittleBoy1, 16, 16, 8), }; const struct SpriteFrameImage gEventObjectPicTable_LittleGirl1[] = { - obj_frame_tiles(gEventObjectPic_LittleGirl1_0), - obj_frame_tiles(gEventObjectPic_LittleGirl1_1), - obj_frame_tiles(gEventObjectPic_LittleGirl1_2), - obj_frame_tiles(gEventObjectPic_LittleGirl1_3), - obj_frame_tiles(gEventObjectPic_LittleGirl1_4), - obj_frame_tiles(gEventObjectPic_LittleGirl1_5), - obj_frame_tiles(gEventObjectPic_LittleGirl1_6), - obj_frame_tiles(gEventObjectPic_LittleGirl1_7), - obj_frame_tiles(gEventObjectPic_LittleGirl1_8), + overworld_frame(gEventObjectPic_LittleGirl1, 16, 16, 0), + overworld_frame(gEventObjectPic_LittleGirl1, 16, 16, 1), + overworld_frame(gEventObjectPic_LittleGirl1, 16, 16, 2), + overworld_frame(gEventObjectPic_LittleGirl1, 16, 16, 3), + overworld_frame(gEventObjectPic_LittleGirl1, 16, 16, 4), + overworld_frame(gEventObjectPic_LittleGirl1, 16, 16, 5), + overworld_frame(gEventObjectPic_LittleGirl1, 16, 16, 6), + overworld_frame(gEventObjectPic_LittleGirl1, 16, 16, 7), + overworld_frame(gEventObjectPic_LittleGirl1, 16, 16, 8), }; const struct SpriteFrameImage gEventObjectPicTable_Boy1[] = { - obj_frame_tiles(gEventObjectPic_Boy1_0), - obj_frame_tiles(gEventObjectPic_Boy1_1), - obj_frame_tiles(gEventObjectPic_Boy1_2), - obj_frame_tiles(gEventObjectPic_Boy1_3), - obj_frame_tiles(gEventObjectPic_Boy1_4), - obj_frame_tiles(gEventObjectPic_Boy1_5), - obj_frame_tiles(gEventObjectPic_Boy1_6), - obj_frame_tiles(gEventObjectPic_Boy1_7), - obj_frame_tiles(gEventObjectPic_Boy1_8), + overworld_frame(gEventObjectPic_Boy1, 16, 32, 0), + overworld_frame(gEventObjectPic_Boy1, 16, 32, 1), + overworld_frame(gEventObjectPic_Boy1, 16, 32, 2), + overworld_frame(gEventObjectPic_Boy1, 16, 32, 3), + overworld_frame(gEventObjectPic_Boy1, 16, 32, 4), + overworld_frame(gEventObjectPic_Boy1, 16, 32, 5), + overworld_frame(gEventObjectPic_Boy1, 16, 32, 6), + overworld_frame(gEventObjectPic_Boy1, 16, 32, 7), + overworld_frame(gEventObjectPic_Boy1, 16, 32, 8), }; const struct SpriteFrameImage gEventObjectPicTable_Girl1[] = { - obj_frame_tiles(gEventObjectPic_Girl1_0), - obj_frame_tiles(gEventObjectPic_Girl1_1), - obj_frame_tiles(gEventObjectPic_Girl1_2), - obj_frame_tiles(gEventObjectPic_Girl1_3), - obj_frame_tiles(gEventObjectPic_Girl1_4), - obj_frame_tiles(gEventObjectPic_Girl1_5), - obj_frame_tiles(gEventObjectPic_Girl1_6), - obj_frame_tiles(gEventObjectPic_Girl1_7), - obj_frame_tiles(gEventObjectPic_Girl1_8), + overworld_frame(gEventObjectPic_Girl1, 16, 32, 0), + overworld_frame(gEventObjectPic_Girl1, 16, 32, 1), + overworld_frame(gEventObjectPic_Girl1, 16, 32, 2), + overworld_frame(gEventObjectPic_Girl1, 16, 32, 3), + overworld_frame(gEventObjectPic_Girl1, 16, 32, 4), + overworld_frame(gEventObjectPic_Girl1, 16, 32, 5), + overworld_frame(gEventObjectPic_Girl1, 16, 32, 6), + overworld_frame(gEventObjectPic_Girl1, 16, 32, 7), + overworld_frame(gEventObjectPic_Girl1, 16, 32, 8), }; const struct SpriteFrameImage gEventObjectPicTable_Boy2[] = { - obj_frame_tiles(gEventObjectPic_Boy2_0), - obj_frame_tiles(gEventObjectPic_Boy2_1), - obj_frame_tiles(gEventObjectPic_Boy2_2), - obj_frame_tiles(gEventObjectPic_Boy2_3), - obj_frame_tiles(gEventObjectPic_Boy2_4), - obj_frame_tiles(gEventObjectPic_Boy2_5), - obj_frame_tiles(gEventObjectPic_Boy2_6), - obj_frame_tiles(gEventObjectPic_Boy2_7), - obj_frame_tiles(gEventObjectPic_Boy2_8), + overworld_frame(gEventObjectPic_Boy2, 16, 32, 0), + overworld_frame(gEventObjectPic_Boy2, 16, 32, 1), + overworld_frame(gEventObjectPic_Boy2, 16, 32, 2), + overworld_frame(gEventObjectPic_Boy2, 16, 32, 3), + overworld_frame(gEventObjectPic_Boy2, 16, 32, 4), + overworld_frame(gEventObjectPic_Boy2, 16, 32, 5), + overworld_frame(gEventObjectPic_Boy2, 16, 32, 6), + overworld_frame(gEventObjectPic_Boy2, 16, 32, 7), + overworld_frame(gEventObjectPic_Boy2, 16, 32, 8), }; const struct SpriteFrameImage gEventObjectPicTable_Girl2[] = { - obj_frame_tiles(gEventObjectPic_Girl2_0), - obj_frame_tiles(gEventObjectPic_Girl2_1), - obj_frame_tiles(gEventObjectPic_Girl2_2), - obj_frame_tiles(gEventObjectPic_Girl2_3), - obj_frame_tiles(gEventObjectPic_Girl2_4), - obj_frame_tiles(gEventObjectPic_Girl2_5), - obj_frame_tiles(gEventObjectPic_Girl2_6), - obj_frame_tiles(gEventObjectPic_Girl2_7), - obj_frame_tiles(gEventObjectPic_Girl2_8), + overworld_frame(gEventObjectPic_Girl2, 16, 32, 0), + overworld_frame(gEventObjectPic_Girl2, 16, 32, 1), + overworld_frame(gEventObjectPic_Girl2, 16, 32, 2), + overworld_frame(gEventObjectPic_Girl2, 16, 32, 3), + overworld_frame(gEventObjectPic_Girl2, 16, 32, 4), + overworld_frame(gEventObjectPic_Girl2, 16, 32, 5), + overworld_frame(gEventObjectPic_Girl2, 16, 32, 6), + overworld_frame(gEventObjectPic_Girl2, 16, 32, 7), + overworld_frame(gEventObjectPic_Girl2, 16, 32, 8), }; const struct SpriteFrameImage gEventObjectPicTable_LittleBoy2[] = { - obj_frame_tiles(gEventObjectPic_LittleBoy2_0), - obj_frame_tiles(gEventObjectPic_LittleBoy2_1), - obj_frame_tiles(gEventObjectPic_LittleBoy2_2), - obj_frame_tiles(gEventObjectPic_LittleBoy2_3), - obj_frame_tiles(gEventObjectPic_LittleBoy2_4), - obj_frame_tiles(gEventObjectPic_LittleBoy2_5), - obj_frame_tiles(gEventObjectPic_LittleBoy2_6), - obj_frame_tiles(gEventObjectPic_LittleBoy2_7), - obj_frame_tiles(gEventObjectPic_LittleBoy2_8), + overworld_frame(gEventObjectPic_LittleBoy2, 16, 16, 0), + overworld_frame(gEventObjectPic_LittleBoy2, 16, 16, 1), + overworld_frame(gEventObjectPic_LittleBoy2, 16, 16, 2), + overworld_frame(gEventObjectPic_LittleBoy2, 16, 16, 3), + overworld_frame(gEventObjectPic_LittleBoy2, 16, 16, 4), + overworld_frame(gEventObjectPic_LittleBoy2, 16, 16, 5), + overworld_frame(gEventObjectPic_LittleBoy2, 16, 16, 6), + overworld_frame(gEventObjectPic_LittleBoy2, 16, 16, 7), + overworld_frame(gEventObjectPic_LittleBoy2, 16, 16, 8), }; const struct SpriteFrameImage gEventObjectPicTable_LittleGirl2[] = { - obj_frame_tiles(gEventObjectPic_LittleGirl2_0), - obj_frame_tiles(gEventObjectPic_LittleGirl2_1), - obj_frame_tiles(gEventObjectPic_LittleGirl2_2), - obj_frame_tiles(gEventObjectPic_LittleGirl2_3), - obj_frame_tiles(gEventObjectPic_LittleGirl2_4), - obj_frame_tiles(gEventObjectPic_LittleGirl2_5), - obj_frame_tiles(gEventObjectPic_LittleGirl2_6), - obj_frame_tiles(gEventObjectPic_LittleGirl2_7), - obj_frame_tiles(gEventObjectPic_LittleGirl2_8), + overworld_frame(gEventObjectPic_LittleGirl2, 16, 16, 0), + overworld_frame(gEventObjectPic_LittleGirl2, 16, 16, 1), + overworld_frame(gEventObjectPic_LittleGirl2, 16, 16, 2), + overworld_frame(gEventObjectPic_LittleGirl2, 16, 16, 3), + overworld_frame(gEventObjectPic_LittleGirl2, 16, 16, 4), + overworld_frame(gEventObjectPic_LittleGirl2, 16, 16, 5), + overworld_frame(gEventObjectPic_LittleGirl2, 16, 16, 6), + overworld_frame(gEventObjectPic_LittleGirl2, 16, 16, 7), + overworld_frame(gEventObjectPic_LittleGirl2, 16, 16, 8), }; const struct SpriteFrameImage gEventObjectPicTable_Boy3[] = { - obj_frame_tiles(gEventObjectPic_Boy3_0), - obj_frame_tiles(gEventObjectPic_Boy3_1), - obj_frame_tiles(gEventObjectPic_Boy3_2), - obj_frame_tiles(gEventObjectPic_Boy3_3), - obj_frame_tiles(gEventObjectPic_Boy3_4), - obj_frame_tiles(gEventObjectPic_Boy3_5), - obj_frame_tiles(gEventObjectPic_Boy3_6), - obj_frame_tiles(gEventObjectPic_Boy3_7), - obj_frame_tiles(gEventObjectPic_Boy3_8), + overworld_frame(gEventObjectPic_Boy3, 16, 32, 0), + overworld_frame(gEventObjectPic_Boy3, 16, 32, 1), + overworld_frame(gEventObjectPic_Boy3, 16, 32, 2), + overworld_frame(gEventObjectPic_Boy3, 16, 32, 3), + overworld_frame(gEventObjectPic_Boy3, 16, 32, 4), + overworld_frame(gEventObjectPic_Boy3, 16, 32, 5), + overworld_frame(gEventObjectPic_Boy3, 16, 32, 6), + overworld_frame(gEventObjectPic_Boy3, 16, 32, 7), + overworld_frame(gEventObjectPic_Boy3, 16, 32, 8), }; const struct SpriteFrameImage gEventObjectPicTable_Girl3[] = { - obj_frame_tiles(gEventObjectPic_Girl3_0), - obj_frame_tiles(gEventObjectPic_Girl3_1), - obj_frame_tiles(gEventObjectPic_Girl3_2), - obj_frame_tiles(gEventObjectPic_Girl3_3), - obj_frame_tiles(gEventObjectPic_Girl3_4), - obj_frame_tiles(gEventObjectPic_Girl3_5), - obj_frame_tiles(gEventObjectPic_Girl3_6), - obj_frame_tiles(gEventObjectPic_Girl3_7), - obj_frame_tiles(gEventObjectPic_Girl3_8), + overworld_frame(gEventObjectPic_Girl3, 16, 32, 0), + overworld_frame(gEventObjectPic_Girl3, 16, 32, 1), + overworld_frame(gEventObjectPic_Girl3, 16, 32, 2), + overworld_frame(gEventObjectPic_Girl3, 16, 32, 3), + overworld_frame(gEventObjectPic_Girl3, 16, 32, 4), + overworld_frame(gEventObjectPic_Girl3, 16, 32, 5), + overworld_frame(gEventObjectPic_Girl3, 16, 32, 6), + overworld_frame(gEventObjectPic_Girl3, 16, 32, 7), + overworld_frame(gEventObjectPic_Girl3, 16, 32, 8), }; const struct SpriteFrameImage gEventObjectPicTable_Boy4[] = { - obj_frame_tiles(gEventObjectPic_Boy4_0), - obj_frame_tiles(gEventObjectPic_Boy4_1), - obj_frame_tiles(gEventObjectPic_Boy4_2), - obj_frame_tiles(gEventObjectPic_Boy4_3), - obj_frame_tiles(gEventObjectPic_Boy4_4), - obj_frame_tiles(gEventObjectPic_Boy4_5), - obj_frame_tiles(gEventObjectPic_Boy4_6), - obj_frame_tiles(gEventObjectPic_Boy4_7), - obj_frame_tiles(gEventObjectPic_Boy4_8), + overworld_frame(gEventObjectPic_Boy4, 16, 32, 0), + overworld_frame(gEventObjectPic_Boy4, 16, 32, 1), + overworld_frame(gEventObjectPic_Boy4, 16, 32, 2), + overworld_frame(gEventObjectPic_Boy4, 16, 32, 3), + overworld_frame(gEventObjectPic_Boy4, 16, 32, 4), + overworld_frame(gEventObjectPic_Boy4, 16, 32, 5), + overworld_frame(gEventObjectPic_Boy4, 16, 32, 6), + overworld_frame(gEventObjectPic_Boy4, 16, 32, 7), + overworld_frame(gEventObjectPic_Boy4, 16, 32, 8), }; const struct SpriteFrameImage gEventObjectPicTable_Woman1[] = { - obj_frame_tiles(gEventObjectPic_Woman1_0), - obj_frame_tiles(gEventObjectPic_Woman1_1), - obj_frame_tiles(gEventObjectPic_Woman1_2), - obj_frame_tiles(gEventObjectPic_Woman1_3), - obj_frame_tiles(gEventObjectPic_Woman1_4), - obj_frame_tiles(gEventObjectPic_Woman1_5), - obj_frame_tiles(gEventObjectPic_Woman1_6), - obj_frame_tiles(gEventObjectPic_Woman1_7), - obj_frame_tiles(gEventObjectPic_Woman1_8), + overworld_frame(gEventObjectPic_Woman1, 16, 32, 0), + overworld_frame(gEventObjectPic_Woman1, 16, 32, 1), + overworld_frame(gEventObjectPic_Woman1, 16, 32, 2), + overworld_frame(gEventObjectPic_Woman1, 16, 32, 3), + overworld_frame(gEventObjectPic_Woman1, 16, 32, 4), + overworld_frame(gEventObjectPic_Woman1, 16, 32, 5), + overworld_frame(gEventObjectPic_Woman1, 16, 32, 6), + overworld_frame(gEventObjectPic_Woman1, 16, 32, 7), + overworld_frame(gEventObjectPic_Woman1, 16, 32, 8), }; const struct SpriteFrameImage gEventObjectPicTable_FatMan[] = { - obj_frame_tiles(gEventObjectPic_FatMan_0), - obj_frame_tiles(gEventObjectPic_FatMan_1), - obj_frame_tiles(gEventObjectPic_FatMan_2), - obj_frame_tiles(gEventObjectPic_FatMan_3), - obj_frame_tiles(gEventObjectPic_FatMan_4), - obj_frame_tiles(gEventObjectPic_FatMan_5), - obj_frame_tiles(gEventObjectPic_FatMan_6), - obj_frame_tiles(gEventObjectPic_FatMan_7), - obj_frame_tiles(gEventObjectPic_FatMan_8), + overworld_frame(gEventObjectPic_FatMan, 16, 32, 0), + overworld_frame(gEventObjectPic_FatMan, 16, 32, 1), + overworld_frame(gEventObjectPic_FatMan, 16, 32, 2), + overworld_frame(gEventObjectPic_FatMan, 16, 32, 3), + overworld_frame(gEventObjectPic_FatMan, 16, 32, 4), + overworld_frame(gEventObjectPic_FatMan, 16, 32, 5), + overworld_frame(gEventObjectPic_FatMan, 16, 32, 6), + overworld_frame(gEventObjectPic_FatMan, 16, 32, 7), + overworld_frame(gEventObjectPic_FatMan, 16, 32, 8), }; const struct SpriteFrameImage gEventObjectPicTable_Woman2[] = { - obj_frame_tiles(gEventObjectPic_Woman2_0), - obj_frame_tiles(gEventObjectPic_Woman2_1), - obj_frame_tiles(gEventObjectPic_Woman2_2), - obj_frame_tiles(gEventObjectPic_Woman2_3), - obj_frame_tiles(gEventObjectPic_Woman2_4), - obj_frame_tiles(gEventObjectPic_Woman2_5), - obj_frame_tiles(gEventObjectPic_Woman2_6), - obj_frame_tiles(gEventObjectPic_Woman2_7), - obj_frame_tiles(gEventObjectPic_Woman2_8), + overworld_frame(gEventObjectPic_Woman2, 16, 32, 0), + overworld_frame(gEventObjectPic_Woman2, 16, 32, 1), + overworld_frame(gEventObjectPic_Woman2, 16, 32, 2), + overworld_frame(gEventObjectPic_Woman2, 16, 32, 3), + overworld_frame(gEventObjectPic_Woman2, 16, 32, 4), + overworld_frame(gEventObjectPic_Woman2, 16, 32, 5), + overworld_frame(gEventObjectPic_Woman2, 16, 32, 6), + overworld_frame(gEventObjectPic_Woman2, 16, 32, 7), + overworld_frame(gEventObjectPic_Woman2, 16, 32, 8), }; const struct SpriteFrameImage gEventObjectPicTable_Man1[] = { - obj_frame_tiles(gEventObjectPic_Man1_0), - obj_frame_tiles(gEventObjectPic_Man1_1), - obj_frame_tiles(gEventObjectPic_Man1_2), - obj_frame_tiles(gEventObjectPic_Man1_3), - obj_frame_tiles(gEventObjectPic_Man1_4), - obj_frame_tiles(gEventObjectPic_Man1_5), - obj_frame_tiles(gEventObjectPic_Man1_6), - obj_frame_tiles(gEventObjectPic_Man1_7), - obj_frame_tiles(gEventObjectPic_Man1_8), + overworld_frame(gEventObjectPic_Man1, 16, 32, 0), + overworld_frame(gEventObjectPic_Man1, 16, 32, 1), + overworld_frame(gEventObjectPic_Man1, 16, 32, 2), + overworld_frame(gEventObjectPic_Man1, 16, 32, 3), + overworld_frame(gEventObjectPic_Man1, 16, 32, 4), + overworld_frame(gEventObjectPic_Man1, 16, 32, 5), + overworld_frame(gEventObjectPic_Man1, 16, 32, 6), + overworld_frame(gEventObjectPic_Man1, 16, 32, 7), + overworld_frame(gEventObjectPic_Man1, 16, 32, 8), }; const struct SpriteFrameImage gEventObjectPicTable_Woman3[] = { - obj_frame_tiles(gEventObjectPic_Woman3_0), - obj_frame_tiles(gEventObjectPic_Woman3_1), - obj_frame_tiles(gEventObjectPic_Woman3_2), - obj_frame_tiles(gEventObjectPic_Woman3_3), - obj_frame_tiles(gEventObjectPic_Woman3_4), - obj_frame_tiles(gEventObjectPic_Woman3_5), - obj_frame_tiles(gEventObjectPic_Woman3_6), - obj_frame_tiles(gEventObjectPic_Woman3_7), - obj_frame_tiles(gEventObjectPic_Woman3_8), + overworld_frame(gEventObjectPic_Woman3, 16, 32, 0), + overworld_frame(gEventObjectPic_Woman3, 16, 32, 1), + overworld_frame(gEventObjectPic_Woman3, 16, 32, 2), + overworld_frame(gEventObjectPic_Woman3, 16, 32, 3), + overworld_frame(gEventObjectPic_Woman3, 16, 32, 4), + overworld_frame(gEventObjectPic_Woman3, 16, 32, 5), + overworld_frame(gEventObjectPic_Woman3, 16, 32, 6), + overworld_frame(gEventObjectPic_Woman3, 16, 32, 7), + overworld_frame(gEventObjectPic_Woman3, 16, 32, 8), }; const struct SpriteFrameImage gEventObjectPicTable_OldMan1[] = { - obj_frame_tiles(gEventObjectPic_OldMan1_0), - obj_frame_tiles(gEventObjectPic_OldMan1_1), - obj_frame_tiles(gEventObjectPic_OldMan1_2), - obj_frame_tiles(gEventObjectPic_OldMan1_3), - obj_frame_tiles(gEventObjectPic_OldMan1_4), - obj_frame_tiles(gEventObjectPic_OldMan1_5), - obj_frame_tiles(gEventObjectPic_OldMan1_6), - obj_frame_tiles(gEventObjectPic_OldMan1_7), - obj_frame_tiles(gEventObjectPic_OldMan1_8), + overworld_frame(gEventObjectPic_OldMan1, 16, 32, 0), + overworld_frame(gEventObjectPic_OldMan1, 16, 32, 1), + overworld_frame(gEventObjectPic_OldMan1, 16, 32, 2), + overworld_frame(gEventObjectPic_OldMan1, 16, 32, 3), + overworld_frame(gEventObjectPic_OldMan1, 16, 32, 4), + overworld_frame(gEventObjectPic_OldMan1, 16, 32, 5), + overworld_frame(gEventObjectPic_OldMan1, 16, 32, 6), + overworld_frame(gEventObjectPic_OldMan1, 16, 32, 7), + overworld_frame(gEventObjectPic_OldMan1, 16, 32, 8), }; const struct SpriteFrameImage gEventObjectPicTable_OldWoman1[] = { - obj_frame_tiles(gEventObjectPic_OldWoman1_0), - obj_frame_tiles(gEventObjectPic_OldWoman1_1), - obj_frame_tiles(gEventObjectPic_OldWoman1_2), - obj_frame_tiles(gEventObjectPic_OldWoman1_3), - obj_frame_tiles(gEventObjectPic_OldWoman1_4), - obj_frame_tiles(gEventObjectPic_OldWoman1_5), - obj_frame_tiles(gEventObjectPic_OldWoman1_6), - obj_frame_tiles(gEventObjectPic_OldWoman1_7), - obj_frame_tiles(gEventObjectPic_OldWoman1_8), + overworld_frame(gEventObjectPic_OldWoman1, 16, 32, 0), + overworld_frame(gEventObjectPic_OldWoman1, 16, 32, 1), + overworld_frame(gEventObjectPic_OldWoman1, 16, 32, 2), + overworld_frame(gEventObjectPic_OldWoman1, 16, 32, 3), + overworld_frame(gEventObjectPic_OldWoman1, 16, 32, 4), + overworld_frame(gEventObjectPic_OldWoman1, 16, 32, 5), + overworld_frame(gEventObjectPic_OldWoman1, 16, 32, 6), + overworld_frame(gEventObjectPic_OldWoman1, 16, 32, 7), + overworld_frame(gEventObjectPic_OldWoman1, 16, 32, 8), }; const struct SpriteFrameImage gEventObjectPicTable_Man2[] = { - obj_frame_tiles(gEventObjectPic_Man2_0), - obj_frame_tiles(gEventObjectPic_Man2_1), - obj_frame_tiles(gEventObjectPic_Man2_2), - obj_frame_tiles(gEventObjectPic_Man2_3), - obj_frame_tiles(gEventObjectPic_Man2_4), - obj_frame_tiles(gEventObjectPic_Man2_5), - obj_frame_tiles(gEventObjectPic_Man2_6), - obj_frame_tiles(gEventObjectPic_Man2_7), - obj_frame_tiles(gEventObjectPic_Man2_8), + overworld_frame(gEventObjectPic_Man2, 16, 32, 0), + overworld_frame(gEventObjectPic_Man2, 16, 32, 1), + overworld_frame(gEventObjectPic_Man2, 16, 32, 2), + overworld_frame(gEventObjectPic_Man2, 16, 32, 3), + overworld_frame(gEventObjectPic_Man2, 16, 32, 4), + overworld_frame(gEventObjectPic_Man2, 16, 32, 5), + overworld_frame(gEventObjectPic_Man2, 16, 32, 6), + overworld_frame(gEventObjectPic_Man2, 16, 32, 7), + overworld_frame(gEventObjectPic_Man2, 16, 32, 8), }; const struct SpriteFrameImage gEventObjectPicTable_Woman4[] = { - obj_frame_tiles(gEventObjectPic_Woman4_0), - obj_frame_tiles(gEventObjectPic_Woman4_1), - obj_frame_tiles(gEventObjectPic_Woman4_2), - obj_frame_tiles(gEventObjectPic_Woman4_3), - obj_frame_tiles(gEventObjectPic_Woman4_4), - obj_frame_tiles(gEventObjectPic_Woman4_5), - obj_frame_tiles(gEventObjectPic_Woman4_6), - obj_frame_tiles(gEventObjectPic_Woman4_7), - obj_frame_tiles(gEventObjectPic_Woman4_8), + overworld_frame(gEventObjectPic_Woman4, 16, 32, 0), + overworld_frame(gEventObjectPic_Woman4, 16, 32, 1), + overworld_frame(gEventObjectPic_Woman4, 16, 32, 2), + overworld_frame(gEventObjectPic_Woman4, 16, 32, 3), + overworld_frame(gEventObjectPic_Woman4, 16, 32, 4), + overworld_frame(gEventObjectPic_Woman4, 16, 32, 5), + overworld_frame(gEventObjectPic_Woman4, 16, 32, 6), + overworld_frame(gEventObjectPic_Woman4, 16, 32, 7), + overworld_frame(gEventObjectPic_Woman4, 16, 32, 8), }; const struct SpriteFrameImage gEventObjectPicTable_Man3[] = { - obj_frame_tiles(gEventObjectPic_Man3_0), - obj_frame_tiles(gEventObjectPic_Man3_1), - obj_frame_tiles(gEventObjectPic_Man3_2), - obj_frame_tiles(gEventObjectPic_Man3_3), - obj_frame_tiles(gEventObjectPic_Man3_4), - obj_frame_tiles(gEventObjectPic_Man3_5), - obj_frame_tiles(gEventObjectPic_Man3_6), - obj_frame_tiles(gEventObjectPic_Man3_7), - obj_frame_tiles(gEventObjectPic_Man3_8), + overworld_frame(gEventObjectPic_Man3, 16, 32, 0), + overworld_frame(gEventObjectPic_Man3, 16, 32, 1), + overworld_frame(gEventObjectPic_Man3, 16, 32, 2), + overworld_frame(gEventObjectPic_Man3, 16, 32, 3), + overworld_frame(gEventObjectPic_Man3, 16, 32, 4), + overworld_frame(gEventObjectPic_Man3, 16, 32, 5), + overworld_frame(gEventObjectPic_Man3, 16, 32, 6), + overworld_frame(gEventObjectPic_Man3, 16, 32, 7), + overworld_frame(gEventObjectPic_Man3, 16, 32, 8), }; const struct SpriteFrameImage gEventObjectPicTable_Woman5[] = { - obj_frame_tiles(gEventObjectPic_Woman5_0), - obj_frame_tiles(gEventObjectPic_Woman5_1), - obj_frame_tiles(gEventObjectPic_Woman5_2), - obj_frame_tiles(gEventObjectPic_Woman5_3), - obj_frame_tiles(gEventObjectPic_Woman5_4), - obj_frame_tiles(gEventObjectPic_Woman5_5), - obj_frame_tiles(gEventObjectPic_Woman5_6), - obj_frame_tiles(gEventObjectPic_Woman5_7), - obj_frame_tiles(gEventObjectPic_Woman5_8), + overworld_frame(gEventObjectPic_Woman5, 16, 32, 0), + overworld_frame(gEventObjectPic_Woman5, 16, 32, 1), + overworld_frame(gEventObjectPic_Woman5, 16, 32, 2), + overworld_frame(gEventObjectPic_Woman5, 16, 32, 3), + overworld_frame(gEventObjectPic_Woman5, 16, 32, 4), + overworld_frame(gEventObjectPic_Woman5, 16, 32, 5), + overworld_frame(gEventObjectPic_Woman5, 16, 32, 6), + overworld_frame(gEventObjectPic_Woman5, 16, 32, 7), + overworld_frame(gEventObjectPic_Woman5, 16, 32, 8), }; const struct SpriteFrameImage gEventObjectPicTable_Cook[] = { - obj_frame_tiles(gEventObjectPic_Cook_0), - obj_frame_tiles(gEventObjectPic_Cook_1), - obj_frame_tiles(gEventObjectPic_Cook_2), - obj_frame_tiles(gEventObjectPic_Cook_0), - obj_frame_tiles(gEventObjectPic_Cook_0), - obj_frame_tiles(gEventObjectPic_Cook_1), - obj_frame_tiles(gEventObjectPic_Cook_1), - obj_frame_tiles(gEventObjectPic_Cook_2), - obj_frame_tiles(gEventObjectPic_Cook_2), + overworld_frame(gEventObjectPic_Cook, 16, 32, 0), + overworld_frame(gEventObjectPic_Cook, 16, 32, 1), + overworld_frame(gEventObjectPic_Cook, 16, 32, 2), + overworld_frame(gEventObjectPic_Cook, 16, 32, 0), + overworld_frame(gEventObjectPic_Cook, 16, 32, 0), + overworld_frame(gEventObjectPic_Cook, 16, 32, 1), + overworld_frame(gEventObjectPic_Cook, 16, 32, 1), + overworld_frame(gEventObjectPic_Cook, 16, 32, 2), + overworld_frame(gEventObjectPic_Cook, 16, 32, 2), }; const struct SpriteFrameImage gEventObjectPicTable_Woman6[] = { - obj_frame_tiles(gEventObjectPic_Woman6_0), - obj_frame_tiles(gEventObjectPic_Woman6_1), - obj_frame_tiles(gEventObjectPic_Woman6_2), - obj_frame_tiles(gEventObjectPic_Woman6_3), - obj_frame_tiles(gEventObjectPic_Woman6_4), - obj_frame_tiles(gEventObjectPic_Woman6_5), - obj_frame_tiles(gEventObjectPic_Woman6_6), - obj_frame_tiles(gEventObjectPic_Woman6_7), - obj_frame_tiles(gEventObjectPic_Woman6_8), + overworld_frame(gEventObjectPic_Woman6, 16, 32, 0), + overworld_frame(gEventObjectPic_Woman6, 16, 32, 1), + overworld_frame(gEventObjectPic_Woman6, 16, 32, 2), + overworld_frame(gEventObjectPic_Woman6, 16, 32, 3), + overworld_frame(gEventObjectPic_Woman6, 16, 32, 4), + overworld_frame(gEventObjectPic_Woman6, 16, 32, 5), + overworld_frame(gEventObjectPic_Woman6, 16, 32, 6), + overworld_frame(gEventObjectPic_Woman6, 16, 32, 7), + overworld_frame(gEventObjectPic_Woman6, 16, 32, 8), }; const struct SpriteFrameImage gEventObjectPicTable_OldMan2[] = { - obj_frame_tiles(gEventObjectPic_OldMan2_0), - obj_frame_tiles(gEventObjectPic_OldMan2_1), - obj_frame_tiles(gEventObjectPic_OldMan2_2), - obj_frame_tiles(gEventObjectPic_OldMan2_0), - obj_frame_tiles(gEventObjectPic_OldMan2_0), - obj_frame_tiles(gEventObjectPic_OldMan2_1), - obj_frame_tiles(gEventObjectPic_OldMan2_1), - obj_frame_tiles(gEventObjectPic_OldMan2_2), - obj_frame_tiles(gEventObjectPic_OldMan2_2), + overworld_frame(gEventObjectPic_OldMan2, 16, 32, 0), + overworld_frame(gEventObjectPic_OldMan2, 16, 32, 1), + overworld_frame(gEventObjectPic_OldMan2, 16, 32, 2), + overworld_frame(gEventObjectPic_OldMan2, 16, 32, 0), + overworld_frame(gEventObjectPic_OldMan2, 16, 32, 0), + overworld_frame(gEventObjectPic_OldMan2, 16, 32, 1), + overworld_frame(gEventObjectPic_OldMan2, 16, 32, 1), + overworld_frame(gEventObjectPic_OldMan2, 16, 32, 2), + overworld_frame(gEventObjectPic_OldMan2, 16, 32, 2), }; const struct SpriteFrameImage gEventObjectPicTable_OldWoman2[] = { - obj_frame_tiles(gEventObjectPic_OldWoman2_0), - obj_frame_tiles(gEventObjectPic_OldWoman2_1), - obj_frame_tiles(gEventObjectPic_OldWoman2_2), - obj_frame_tiles(gEventObjectPic_OldWoman2_3), - obj_frame_tiles(gEventObjectPic_OldWoman2_4), - obj_frame_tiles(gEventObjectPic_OldWoman2_5), - obj_frame_tiles(gEventObjectPic_OldWoman2_6), - obj_frame_tiles(gEventObjectPic_OldWoman2_7), - obj_frame_tiles(gEventObjectPic_OldWoman2_8), + overworld_frame(gEventObjectPic_OldWoman2, 16, 32, 0), + overworld_frame(gEventObjectPic_OldWoman2, 16, 32, 1), + overworld_frame(gEventObjectPic_OldWoman2, 16, 32, 2), + overworld_frame(gEventObjectPic_OldWoman2, 16, 32, 3), + overworld_frame(gEventObjectPic_OldWoman2, 16, 32, 4), + overworld_frame(gEventObjectPic_OldWoman2, 16, 32, 5), + overworld_frame(gEventObjectPic_OldWoman2, 16, 32, 6), + overworld_frame(gEventObjectPic_OldWoman2, 16, 32, 7), + overworld_frame(gEventObjectPic_OldWoman2, 16, 32, 8), }; const struct SpriteFrameImage gEventObjectPicTable_Camper[] = { - obj_frame_tiles(gEventObjectPic_Camper_0), - obj_frame_tiles(gEventObjectPic_Camper_1), - obj_frame_tiles(gEventObjectPic_Camper_2), - obj_frame_tiles(gEventObjectPic_Camper_3), - obj_frame_tiles(gEventObjectPic_Camper_4), - obj_frame_tiles(gEventObjectPic_Camper_5), - obj_frame_tiles(gEventObjectPic_Camper_6), - obj_frame_tiles(gEventObjectPic_Camper_7), - obj_frame_tiles(gEventObjectPic_Camper_8), + overworld_frame(gEventObjectPic_Camper, 16, 32, 0), + overworld_frame(gEventObjectPic_Camper, 16, 32, 1), + overworld_frame(gEventObjectPic_Camper, 16, 32, 2), + overworld_frame(gEventObjectPic_Camper, 16, 32, 3), + overworld_frame(gEventObjectPic_Camper, 16, 32, 4), + overworld_frame(gEventObjectPic_Camper, 16, 32, 5), + overworld_frame(gEventObjectPic_Camper, 16, 32, 6), + overworld_frame(gEventObjectPic_Camper, 16, 32, 7), + overworld_frame(gEventObjectPic_Camper, 16, 32, 8), }; const struct SpriteFrameImage gEventObjectPicTable_Picnicker[] = { - obj_frame_tiles(gEventObjectPic_Picnicker_0), - obj_frame_tiles(gEventObjectPic_Picnicker_1), - obj_frame_tiles(gEventObjectPic_Picnicker_2), - obj_frame_tiles(gEventObjectPic_Picnicker_3), - obj_frame_tiles(gEventObjectPic_Picnicker_4), - obj_frame_tiles(gEventObjectPic_Picnicker_5), - obj_frame_tiles(gEventObjectPic_Picnicker_6), - obj_frame_tiles(gEventObjectPic_Picnicker_7), - obj_frame_tiles(gEventObjectPic_Picnicker_8), + overworld_frame(gEventObjectPic_Picnicker, 16, 32, 0), + overworld_frame(gEventObjectPic_Picnicker, 16, 32, 1), + overworld_frame(gEventObjectPic_Picnicker, 16, 32, 2), + overworld_frame(gEventObjectPic_Picnicker, 16, 32, 3), + overworld_frame(gEventObjectPic_Picnicker, 16, 32, 4), + overworld_frame(gEventObjectPic_Picnicker, 16, 32, 5), + overworld_frame(gEventObjectPic_Picnicker, 16, 32, 6), + overworld_frame(gEventObjectPic_Picnicker, 16, 32, 7), + overworld_frame(gEventObjectPic_Picnicker, 16, 32, 8), }; const struct SpriteFrameImage gEventObjectPicTable_Man4[] = { - obj_frame_tiles(gEventObjectPic_Man4_0), - obj_frame_tiles(gEventObjectPic_Man4_1), - obj_frame_tiles(gEventObjectPic_Man4_2), - obj_frame_tiles(gEventObjectPic_Man4_3), - obj_frame_tiles(gEventObjectPic_Man4_4), - obj_frame_tiles(gEventObjectPic_Man4_5), - obj_frame_tiles(gEventObjectPic_Man4_6), - obj_frame_tiles(gEventObjectPic_Man4_7), - obj_frame_tiles(gEventObjectPic_Man4_8), + overworld_frame(gEventObjectPic_Man4, 16, 32, 0), + overworld_frame(gEventObjectPic_Man4, 16, 32, 1), + overworld_frame(gEventObjectPic_Man4, 16, 32, 2), + overworld_frame(gEventObjectPic_Man4, 16, 32, 3), + overworld_frame(gEventObjectPic_Man4, 16, 32, 4), + overworld_frame(gEventObjectPic_Man4, 16, 32, 5), + overworld_frame(gEventObjectPic_Man4, 16, 32, 6), + overworld_frame(gEventObjectPic_Man4, 16, 32, 7), + overworld_frame(gEventObjectPic_Man4, 16, 32, 8), }; const struct SpriteFrameImage gEventObjectPicTable_Woman7[] = { - obj_frame_tiles(gEventObjectPic_Woman7_0), - obj_frame_tiles(gEventObjectPic_Woman7_1), - obj_frame_tiles(gEventObjectPic_Woman7_2), - obj_frame_tiles(gEventObjectPic_Woman7_3), - obj_frame_tiles(gEventObjectPic_Woman7_4), - obj_frame_tiles(gEventObjectPic_Woman7_5), - obj_frame_tiles(gEventObjectPic_Woman7_6), - obj_frame_tiles(gEventObjectPic_Woman7_7), - obj_frame_tiles(gEventObjectPic_Woman7_8), + overworld_frame(gEventObjectPic_Woman7, 16, 32, 0), + overworld_frame(gEventObjectPic_Woman7, 16, 32, 1), + overworld_frame(gEventObjectPic_Woman7, 16, 32, 2), + overworld_frame(gEventObjectPic_Woman7, 16, 32, 3), + overworld_frame(gEventObjectPic_Woman7, 16, 32, 4), + overworld_frame(gEventObjectPic_Woman7, 16, 32, 5), + overworld_frame(gEventObjectPic_Woman7, 16, 32, 6), + overworld_frame(gEventObjectPic_Woman7, 16, 32, 7), + overworld_frame(gEventObjectPic_Woman7, 16, 32, 8), }; const struct SpriteFrameImage gEventObjectPicTable_Youngster[] = { - obj_frame_tiles(gEventObjectPic_Youngster_0), - obj_frame_tiles(gEventObjectPic_Youngster_1), - obj_frame_tiles(gEventObjectPic_Youngster_2), - obj_frame_tiles(gEventObjectPic_Youngster_3), - obj_frame_tiles(gEventObjectPic_Youngster_4), - obj_frame_tiles(gEventObjectPic_Youngster_5), - obj_frame_tiles(gEventObjectPic_Youngster_6), - obj_frame_tiles(gEventObjectPic_Youngster_7), - obj_frame_tiles(gEventObjectPic_Youngster_8), + overworld_frame(gEventObjectPic_Youngster, 16, 32, 0), + overworld_frame(gEventObjectPic_Youngster, 16, 32, 1), + overworld_frame(gEventObjectPic_Youngster, 16, 32, 2), + overworld_frame(gEventObjectPic_Youngster, 16, 32, 3), + overworld_frame(gEventObjectPic_Youngster, 16, 32, 4), + overworld_frame(gEventObjectPic_Youngster, 16, 32, 5), + overworld_frame(gEventObjectPic_Youngster, 16, 32, 6), + overworld_frame(gEventObjectPic_Youngster, 16, 32, 7), + overworld_frame(gEventObjectPic_Youngster, 16, 32, 8), }; const struct SpriteFrameImage gEventObjectPicTable_BugCatcher[] = { - obj_frame_tiles(gEventObjectPic_BugCatcher_0), - obj_frame_tiles(gEventObjectPic_BugCatcher_1), - obj_frame_tiles(gEventObjectPic_BugCatcher_2), - obj_frame_tiles(gEventObjectPic_BugCatcher_3), - obj_frame_tiles(gEventObjectPic_BugCatcher_4), - obj_frame_tiles(gEventObjectPic_BugCatcher_5), - obj_frame_tiles(gEventObjectPic_BugCatcher_6), - obj_frame_tiles(gEventObjectPic_BugCatcher_7), - obj_frame_tiles(gEventObjectPic_BugCatcher_8), + overworld_frame(gEventObjectPic_BugCatcher, 16, 32, 0), + overworld_frame(gEventObjectPic_BugCatcher, 16, 32, 1), + overworld_frame(gEventObjectPic_BugCatcher, 16, 32, 2), + overworld_frame(gEventObjectPic_BugCatcher, 16, 32, 3), + overworld_frame(gEventObjectPic_BugCatcher, 16, 32, 4), + overworld_frame(gEventObjectPic_BugCatcher, 16, 32, 5), + overworld_frame(gEventObjectPic_BugCatcher, 16, 32, 6), + overworld_frame(gEventObjectPic_BugCatcher, 16, 32, 7), + overworld_frame(gEventObjectPic_BugCatcher, 16, 32, 8), }; const struct SpriteFrameImage gEventObjectPicTable_PsychicM[] = { - obj_frame_tiles(gEventObjectPic_PsychicM_0), - obj_frame_tiles(gEventObjectPic_PsychicM_1), - obj_frame_tiles(gEventObjectPic_PsychicM_2), - obj_frame_tiles(gEventObjectPic_PsychicM_3), - obj_frame_tiles(gEventObjectPic_PsychicM_4), - obj_frame_tiles(gEventObjectPic_PsychicM_5), - obj_frame_tiles(gEventObjectPic_PsychicM_6), - obj_frame_tiles(gEventObjectPic_PsychicM_7), - obj_frame_tiles(gEventObjectPic_PsychicM_8), + overworld_frame(gEventObjectPic_PsychicM, 16, 32, 0), + overworld_frame(gEventObjectPic_PsychicM, 16, 32, 1), + overworld_frame(gEventObjectPic_PsychicM, 16, 32, 2), + overworld_frame(gEventObjectPic_PsychicM, 16, 32, 3), + overworld_frame(gEventObjectPic_PsychicM, 16, 32, 4), + overworld_frame(gEventObjectPic_PsychicM, 16, 32, 5), + overworld_frame(gEventObjectPic_PsychicM, 16, 32, 6), + overworld_frame(gEventObjectPic_PsychicM, 16, 32, 7), + overworld_frame(gEventObjectPic_PsychicM, 16, 32, 8), }; const struct SpriteFrameImage gEventObjectPicTable_SchoolKidM[] = { - obj_frame_tiles(gEventObjectPic_SchoolKidM_0), - obj_frame_tiles(gEventObjectPic_SchoolKidM_1), - obj_frame_tiles(gEventObjectPic_SchoolKidM_2), - obj_frame_tiles(gEventObjectPic_SchoolKidM_3), - obj_frame_tiles(gEventObjectPic_SchoolKidM_4), - obj_frame_tiles(gEventObjectPic_SchoolKidM_5), - obj_frame_tiles(gEventObjectPic_SchoolKidM_6), - obj_frame_tiles(gEventObjectPic_SchoolKidM_7), - obj_frame_tiles(gEventObjectPic_SchoolKidM_8), + overworld_frame(gEventObjectPic_SchoolKidM, 16, 32, 0), + overworld_frame(gEventObjectPic_SchoolKidM, 16, 32, 1), + overworld_frame(gEventObjectPic_SchoolKidM, 16, 32, 2), + overworld_frame(gEventObjectPic_SchoolKidM, 16, 32, 3), + overworld_frame(gEventObjectPic_SchoolKidM, 16, 32, 4), + overworld_frame(gEventObjectPic_SchoolKidM, 16, 32, 5), + overworld_frame(gEventObjectPic_SchoolKidM, 16, 32, 6), + overworld_frame(gEventObjectPic_SchoolKidM, 16, 32, 7), + overworld_frame(gEventObjectPic_SchoolKidM, 16, 32, 8), }; const struct SpriteFrameImage gEventObjectPicTable_Maniac[] = { - obj_frame_tiles(gEventObjectPic_Maniac_0), - obj_frame_tiles(gEventObjectPic_Maniac_1), - obj_frame_tiles(gEventObjectPic_Maniac_2), - obj_frame_tiles(gEventObjectPic_Maniac_3), - obj_frame_tiles(gEventObjectPic_Maniac_4), - obj_frame_tiles(gEventObjectPic_Maniac_5), - obj_frame_tiles(gEventObjectPic_Maniac_6), - obj_frame_tiles(gEventObjectPic_Maniac_7), - obj_frame_tiles(gEventObjectPic_Maniac_8), + overworld_frame(gEventObjectPic_Maniac, 16, 32, 0), + overworld_frame(gEventObjectPic_Maniac, 16, 32, 1), + overworld_frame(gEventObjectPic_Maniac, 16, 32, 2), + overworld_frame(gEventObjectPic_Maniac, 16, 32, 3), + overworld_frame(gEventObjectPic_Maniac, 16, 32, 4), + overworld_frame(gEventObjectPic_Maniac, 16, 32, 5), + overworld_frame(gEventObjectPic_Maniac, 16, 32, 6), + overworld_frame(gEventObjectPic_Maniac, 16, 32, 7), + overworld_frame(gEventObjectPic_Maniac, 16, 32, 8), }; const struct SpriteFrameImage gEventObjectPicTable_HexManiac[] = { - obj_frame_tiles(gEventObjectPic_HexManiac_0), - obj_frame_tiles(gEventObjectPic_HexManiac_1), - obj_frame_tiles(gEventObjectPic_HexManiac_2), - obj_frame_tiles(gEventObjectPic_HexManiac_3), - obj_frame_tiles(gEventObjectPic_HexManiac_4), - obj_frame_tiles(gEventObjectPic_HexManiac_5), - obj_frame_tiles(gEventObjectPic_HexManiac_6), - obj_frame_tiles(gEventObjectPic_HexManiac_7), - obj_frame_tiles(gEventObjectPic_HexManiac_8), + overworld_frame(gEventObjectPic_HexManiac, 16, 32, 0), + overworld_frame(gEventObjectPic_HexManiac, 16, 32, 1), + overworld_frame(gEventObjectPic_HexManiac, 16, 32, 2), + overworld_frame(gEventObjectPic_HexManiac, 16, 32, 3), + overworld_frame(gEventObjectPic_HexManiac, 16, 32, 4), + overworld_frame(gEventObjectPic_HexManiac, 16, 32, 5), + overworld_frame(gEventObjectPic_HexManiac, 16, 32, 6), + overworld_frame(gEventObjectPic_HexManiac, 16, 32, 7), + overworld_frame(gEventObjectPic_HexManiac, 16, 32, 8), }; const struct SpriteFrameImage gEventObjectPicTable_SwimmerM[] = { - obj_frame_tiles(gEventObjectPic_SwimmerM_0), - obj_frame_tiles(gEventObjectPic_SwimmerM_1), - obj_frame_tiles(gEventObjectPic_SwimmerM_2), - obj_frame_tiles(gEventObjectPic_SwimmerM_3), - obj_frame_tiles(gEventObjectPic_SwimmerM_4), - obj_frame_tiles(gEventObjectPic_SwimmerM_5), - obj_frame_tiles(gEventObjectPic_SwimmerM_6), - obj_frame_tiles(gEventObjectPic_SwimmerM_7), - obj_frame_tiles(gEventObjectPic_SwimmerM_8), + overworld_frame(gEventObjectPic_SwimmerM, 16, 32, 0), + overworld_frame(gEventObjectPic_SwimmerM, 16, 32, 1), + overworld_frame(gEventObjectPic_SwimmerM, 16, 32, 2), + overworld_frame(gEventObjectPic_SwimmerM, 16, 32, 3), + overworld_frame(gEventObjectPic_SwimmerM, 16, 32, 4), + overworld_frame(gEventObjectPic_SwimmerM, 16, 32, 5), + overworld_frame(gEventObjectPic_SwimmerM, 16, 32, 6), + overworld_frame(gEventObjectPic_SwimmerM, 16, 32, 7), + overworld_frame(gEventObjectPic_SwimmerM, 16, 32, 8), }; const struct SpriteFrameImage gEventObjectPicTable_SwimmerF[] = { - obj_frame_tiles(gEventObjectPic_SwimmerF_0), - obj_frame_tiles(gEventObjectPic_SwimmerF_1), - obj_frame_tiles(gEventObjectPic_SwimmerF_2), - obj_frame_tiles(gEventObjectPic_SwimmerF_3), - obj_frame_tiles(gEventObjectPic_SwimmerF_4), - obj_frame_tiles(gEventObjectPic_SwimmerF_5), - obj_frame_tiles(gEventObjectPic_SwimmerF_6), - obj_frame_tiles(gEventObjectPic_SwimmerF_7), - obj_frame_tiles(gEventObjectPic_SwimmerF_8), + overworld_frame(gEventObjectPic_SwimmerF, 16, 32, 0), + overworld_frame(gEventObjectPic_SwimmerF, 16, 32, 1), + overworld_frame(gEventObjectPic_SwimmerF, 16, 32, 2), + overworld_frame(gEventObjectPic_SwimmerF, 16, 32, 3), + overworld_frame(gEventObjectPic_SwimmerF, 16, 32, 4), + overworld_frame(gEventObjectPic_SwimmerF, 16, 32, 5), + overworld_frame(gEventObjectPic_SwimmerF, 16, 32, 6), + overworld_frame(gEventObjectPic_SwimmerF, 16, 32, 7), + overworld_frame(gEventObjectPic_SwimmerF, 16, 32, 8), }; const struct SpriteFrameImage gEventObjectPicTable_BlackBelt[] = { - obj_frame_tiles(gEventObjectPic_BlackBelt_0), - obj_frame_tiles(gEventObjectPic_BlackBelt_1), - obj_frame_tiles(gEventObjectPic_BlackBelt_2), - obj_frame_tiles(gEventObjectPic_BlackBelt_3), - obj_frame_tiles(gEventObjectPic_BlackBelt_4), - obj_frame_tiles(gEventObjectPic_BlackBelt_5), - obj_frame_tiles(gEventObjectPic_BlackBelt_6), - obj_frame_tiles(gEventObjectPic_BlackBelt_7), - obj_frame_tiles(gEventObjectPic_BlackBelt_8), + overworld_frame(gEventObjectPic_BlackBelt, 16, 32, 0), + overworld_frame(gEventObjectPic_BlackBelt, 16, 32, 1), + overworld_frame(gEventObjectPic_BlackBelt, 16, 32, 2), + overworld_frame(gEventObjectPic_BlackBelt, 16, 32, 3), + overworld_frame(gEventObjectPic_BlackBelt, 16, 32, 4), + overworld_frame(gEventObjectPic_BlackBelt, 16, 32, 5), + overworld_frame(gEventObjectPic_BlackBelt, 16, 32, 6), + overworld_frame(gEventObjectPic_BlackBelt, 16, 32, 7), + overworld_frame(gEventObjectPic_BlackBelt, 16, 32, 8), }; const struct SpriteFrameImage gEventObjectPicTable_Beauty[] = { - obj_frame_tiles(gEventObjectPic_Beauty_0), - obj_frame_tiles(gEventObjectPic_Beauty_1), - obj_frame_tiles(gEventObjectPic_Beauty_2), - obj_frame_tiles(gEventObjectPic_Beauty_3), - obj_frame_tiles(gEventObjectPic_Beauty_4), - obj_frame_tiles(gEventObjectPic_Beauty_5), - obj_frame_tiles(gEventObjectPic_Beauty_6), - obj_frame_tiles(gEventObjectPic_Beauty_7), - obj_frame_tiles(gEventObjectPic_Beauty_8), + overworld_frame(gEventObjectPic_Beauty, 16, 32, 0), + overworld_frame(gEventObjectPic_Beauty, 16, 32, 1), + overworld_frame(gEventObjectPic_Beauty, 16, 32, 2), + overworld_frame(gEventObjectPic_Beauty, 16, 32, 3), + overworld_frame(gEventObjectPic_Beauty, 16, 32, 4), + overworld_frame(gEventObjectPic_Beauty, 16, 32, 5), + overworld_frame(gEventObjectPic_Beauty, 16, 32, 6), + overworld_frame(gEventObjectPic_Beauty, 16, 32, 7), + overworld_frame(gEventObjectPic_Beauty, 16, 32, 8), }; const struct SpriteFrameImage gEventObjectPicTable_Scientist1[] = { - obj_frame_tiles(gEventObjectPic_Scientist1_0), - obj_frame_tiles(gEventObjectPic_Scientist1_1), - obj_frame_tiles(gEventObjectPic_Scientist1_2), - obj_frame_tiles(gEventObjectPic_Scientist1_3), - obj_frame_tiles(gEventObjectPic_Scientist1_4), - obj_frame_tiles(gEventObjectPic_Scientist1_5), - obj_frame_tiles(gEventObjectPic_Scientist1_6), - obj_frame_tiles(gEventObjectPic_Scientist1_7), - obj_frame_tiles(gEventObjectPic_Scientist1_8), + overworld_frame(gEventObjectPic_Scientist1, 16, 32, 0), + overworld_frame(gEventObjectPic_Scientist1, 16, 32, 1), + overworld_frame(gEventObjectPic_Scientist1, 16, 32, 2), + overworld_frame(gEventObjectPic_Scientist1, 16, 32, 3), + overworld_frame(gEventObjectPic_Scientist1, 16, 32, 4), + overworld_frame(gEventObjectPic_Scientist1, 16, 32, 5), + overworld_frame(gEventObjectPic_Scientist1, 16, 32, 6), + overworld_frame(gEventObjectPic_Scientist1, 16, 32, 7), + overworld_frame(gEventObjectPic_Scientist1, 16, 32, 8), }; const struct SpriteFrameImage gEventObjectPicTable_Lass[] = { - obj_frame_tiles(gEventObjectPic_Lass_0), - obj_frame_tiles(gEventObjectPic_Lass_1), - obj_frame_tiles(gEventObjectPic_Lass_2), - obj_frame_tiles(gEventObjectPic_Lass_3), - obj_frame_tiles(gEventObjectPic_Lass_4), - obj_frame_tiles(gEventObjectPic_Lass_5), - obj_frame_tiles(gEventObjectPic_Lass_6), - obj_frame_tiles(gEventObjectPic_Lass_7), - obj_frame_tiles(gEventObjectPic_Lass_8), + overworld_frame(gEventObjectPic_Lass, 16, 32, 0), + overworld_frame(gEventObjectPic_Lass, 16, 32, 1), + overworld_frame(gEventObjectPic_Lass, 16, 32, 2), + overworld_frame(gEventObjectPic_Lass, 16, 32, 3), + overworld_frame(gEventObjectPic_Lass, 16, 32, 4), + overworld_frame(gEventObjectPic_Lass, 16, 32, 5), + overworld_frame(gEventObjectPic_Lass, 16, 32, 6), + overworld_frame(gEventObjectPic_Lass, 16, 32, 7), + overworld_frame(gEventObjectPic_Lass, 16, 32, 8), }; const struct SpriteFrameImage gEventObjectPicTable_Gentleman[] = { - obj_frame_tiles(gEventObjectPic_Gentleman_0), - obj_frame_tiles(gEventObjectPic_Gentleman_1), - obj_frame_tiles(gEventObjectPic_Gentleman_2), - obj_frame_tiles(gEventObjectPic_Gentleman_3), - obj_frame_tiles(gEventObjectPic_Gentleman_4), - obj_frame_tiles(gEventObjectPic_Gentleman_5), - obj_frame_tiles(gEventObjectPic_Gentleman_6), - obj_frame_tiles(gEventObjectPic_Gentleman_7), - obj_frame_tiles(gEventObjectPic_Gentleman_8), + overworld_frame(gEventObjectPic_Gentleman, 16, 32, 0), + overworld_frame(gEventObjectPic_Gentleman, 16, 32, 1), + overworld_frame(gEventObjectPic_Gentleman, 16, 32, 2), + overworld_frame(gEventObjectPic_Gentleman, 16, 32, 3), + overworld_frame(gEventObjectPic_Gentleman, 16, 32, 4), + overworld_frame(gEventObjectPic_Gentleman, 16, 32, 5), + overworld_frame(gEventObjectPic_Gentleman, 16, 32, 6), + overworld_frame(gEventObjectPic_Gentleman, 16, 32, 7), + overworld_frame(gEventObjectPic_Gentleman, 16, 32, 8), }; const struct SpriteFrameImage gEventObjectPicTable_Sailor[] = { - obj_frame_tiles(gEventObjectPic_Sailor_0), - obj_frame_tiles(gEventObjectPic_Sailor_1), - obj_frame_tiles(gEventObjectPic_Sailor_2), - obj_frame_tiles(gEventObjectPic_Sailor_3), - obj_frame_tiles(gEventObjectPic_Sailor_4), - obj_frame_tiles(gEventObjectPic_Sailor_5), - obj_frame_tiles(gEventObjectPic_Sailor_6), - obj_frame_tiles(gEventObjectPic_Sailor_7), - obj_frame_tiles(gEventObjectPic_Sailor_8), + overworld_frame(gEventObjectPic_Sailor, 16, 32, 0), + overworld_frame(gEventObjectPic_Sailor, 16, 32, 1), + overworld_frame(gEventObjectPic_Sailor, 16, 32, 2), + overworld_frame(gEventObjectPic_Sailor, 16, 32, 3), + overworld_frame(gEventObjectPic_Sailor, 16, 32, 4), + overworld_frame(gEventObjectPic_Sailor, 16, 32, 5), + overworld_frame(gEventObjectPic_Sailor, 16, 32, 6), + overworld_frame(gEventObjectPic_Sailor, 16, 32, 7), + overworld_frame(gEventObjectPic_Sailor, 16, 32, 8), }; const struct SpriteFrameImage gEventObjectPicTable_Fisherman[] = { - obj_frame_tiles(gEventObjectPic_Fisherman_0), - obj_frame_tiles(gEventObjectPic_Fisherman_1), - obj_frame_tiles(gEventObjectPic_Fisherman_2), - obj_frame_tiles(gEventObjectPic_Fisherman_3), - obj_frame_tiles(gEventObjectPic_Fisherman_4), - obj_frame_tiles(gEventObjectPic_Fisherman_5), - obj_frame_tiles(gEventObjectPic_Fisherman_6), - obj_frame_tiles(gEventObjectPic_Fisherman_7), - obj_frame_tiles(gEventObjectPic_Fisherman_8), + overworld_frame(gEventObjectPic_Fisherman, 16, 32, 0), + overworld_frame(gEventObjectPic_Fisherman, 16, 32, 1), + overworld_frame(gEventObjectPic_Fisherman, 16, 32, 2), + overworld_frame(gEventObjectPic_Fisherman, 16, 32, 3), + overworld_frame(gEventObjectPic_Fisherman, 16, 32, 4), + overworld_frame(gEventObjectPic_Fisherman, 16, 32, 5), + overworld_frame(gEventObjectPic_Fisherman, 16, 32, 6), + overworld_frame(gEventObjectPic_Fisherman, 16, 32, 7), + overworld_frame(gEventObjectPic_Fisherman, 16, 32, 8), }; const struct SpriteFrameImage gEventObjectPicTable_RunningTriathleteM[] = { - obj_frame_tiles(gEventObjectPic_RunningTriathleteM_0), - obj_frame_tiles(gEventObjectPic_RunningTriathleteM_1), - obj_frame_tiles(gEventObjectPic_RunningTriathleteM_2), - obj_frame_tiles(gEventObjectPic_RunningTriathleteM_3), - obj_frame_tiles(gEventObjectPic_RunningTriathleteM_4), - obj_frame_tiles(gEventObjectPic_RunningTriathleteM_5), - obj_frame_tiles(gEventObjectPic_RunningTriathleteM_6), - obj_frame_tiles(gEventObjectPic_RunningTriathleteM_7), - obj_frame_tiles(gEventObjectPic_RunningTriathleteM_8), + overworld_frame(gEventObjectPic_RunningTriathleteM, 16, 32, 0), + overworld_frame(gEventObjectPic_RunningTriathleteM, 16, 32, 1), + overworld_frame(gEventObjectPic_RunningTriathleteM, 16, 32, 2), + overworld_frame(gEventObjectPic_RunningTriathleteM, 16, 32, 3), + overworld_frame(gEventObjectPic_RunningTriathleteM, 16, 32, 4), + overworld_frame(gEventObjectPic_RunningTriathleteM, 16, 32, 5), + overworld_frame(gEventObjectPic_RunningTriathleteM, 16, 32, 6), + overworld_frame(gEventObjectPic_RunningTriathleteM, 16, 32, 7), + overworld_frame(gEventObjectPic_RunningTriathleteM, 16, 32, 8), }; const struct SpriteFrameImage gEventObjectPicTable_RunningTriathleteF[] = { - obj_frame_tiles(gEventObjectPic_RunningTriathleteF_0), - obj_frame_tiles(gEventObjectPic_RunningTriathleteF_1), - obj_frame_tiles(gEventObjectPic_RunningTriathleteF_2), - obj_frame_tiles(gEventObjectPic_RunningTriathleteF_3), - obj_frame_tiles(gEventObjectPic_RunningTriathleteF_4), - obj_frame_tiles(gEventObjectPic_RunningTriathleteF_5), - obj_frame_tiles(gEventObjectPic_RunningTriathleteF_6), - obj_frame_tiles(gEventObjectPic_RunningTriathleteF_7), - obj_frame_tiles(gEventObjectPic_RunningTriathleteF_8), + overworld_frame(gEventObjectPic_RunningTriathleteF, 16, 32, 0), + overworld_frame(gEventObjectPic_RunningTriathleteF, 16, 32, 1), + overworld_frame(gEventObjectPic_RunningTriathleteF, 16, 32, 2), + overworld_frame(gEventObjectPic_RunningTriathleteF, 16, 32, 3), + overworld_frame(gEventObjectPic_RunningTriathleteF, 16, 32, 4), + overworld_frame(gEventObjectPic_RunningTriathleteF, 16, 32, 5), + overworld_frame(gEventObjectPic_RunningTriathleteF, 16, 32, 6), + overworld_frame(gEventObjectPic_RunningTriathleteF, 16, 32, 7), + overworld_frame(gEventObjectPic_RunningTriathleteF, 16, 32, 8), }; const struct SpriteFrameImage gEventObjectPicTable_TuberF[] = { - obj_frame_tiles(gEventObjectPic_TuberF_0), - obj_frame_tiles(gEventObjectPic_TuberF_1), - obj_frame_tiles(gEventObjectPic_TuberF_2), - obj_frame_tiles(gEventObjectPic_TuberF_3), - obj_frame_tiles(gEventObjectPic_TuberF_4), - obj_frame_tiles(gEventObjectPic_TuberF_5), - obj_frame_tiles(gEventObjectPic_TuberF_6), - obj_frame_tiles(gEventObjectPic_TuberF_7), - obj_frame_tiles(gEventObjectPic_TuberF_8), + overworld_frame(gEventObjectPic_TuberF, 16, 16, 0), + overworld_frame(gEventObjectPic_TuberF, 16, 16, 1), + overworld_frame(gEventObjectPic_TuberF, 16, 16, 2), + overworld_frame(gEventObjectPic_TuberF, 16, 16, 3), + overworld_frame(gEventObjectPic_TuberF, 16, 16, 4), + overworld_frame(gEventObjectPic_TuberF, 16, 16, 5), + overworld_frame(gEventObjectPic_TuberF, 16, 16, 6), + overworld_frame(gEventObjectPic_TuberF, 16, 16, 7), + overworld_frame(gEventObjectPic_TuberF, 16, 16, 8), }; const struct SpriteFrameImage gEventObjectPicTable_TuberM[] = { - obj_frame_tiles(gEventObjectPic_TuberM_0), - obj_frame_tiles(gEventObjectPic_TuberM_1), - obj_frame_tiles(gEventObjectPic_TuberM_2), - obj_frame_tiles(gEventObjectPic_TuberM_3), - obj_frame_tiles(gEventObjectPic_TuberM_4), - obj_frame_tiles(gEventObjectPic_TuberM_5), - obj_frame_tiles(gEventObjectPic_TuberM_6), - obj_frame_tiles(gEventObjectPic_TuberM_7), - obj_frame_tiles(gEventObjectPic_TuberM_8), + overworld_frame(gEventObjectPic_TuberM, 16, 16, 0), + overworld_frame(gEventObjectPic_TuberM, 16, 16, 1), + overworld_frame(gEventObjectPic_TuberM, 16, 16, 2), + overworld_frame(gEventObjectPic_TuberM, 16, 16, 3), + overworld_frame(gEventObjectPic_TuberM, 16, 16, 4), + overworld_frame(gEventObjectPic_TuberM, 16, 16, 5), + overworld_frame(gEventObjectPic_TuberM, 16, 16, 6), + overworld_frame(gEventObjectPic_TuberM, 16, 16, 7), + overworld_frame(gEventObjectPic_TuberM, 16, 16, 8), }; const struct SpriteFrameImage gEventObjectPicTable_Hiker[] = { - obj_frame_tiles(gEventObjectPic_Hiker_0), - obj_frame_tiles(gEventObjectPic_Hiker_1), - obj_frame_tiles(gEventObjectPic_Hiker_2), - obj_frame_tiles(gEventObjectPic_Hiker_3), - obj_frame_tiles(gEventObjectPic_Hiker_4), - obj_frame_tiles(gEventObjectPic_Hiker_5), - obj_frame_tiles(gEventObjectPic_Hiker_6), - obj_frame_tiles(gEventObjectPic_Hiker_7), - obj_frame_tiles(gEventObjectPic_Hiker_8), + overworld_frame(gEventObjectPic_Hiker, 16, 32, 0), + overworld_frame(gEventObjectPic_Hiker, 16, 32, 1), + overworld_frame(gEventObjectPic_Hiker, 16, 32, 2), + overworld_frame(gEventObjectPic_Hiker, 16, 32, 3), + overworld_frame(gEventObjectPic_Hiker, 16, 32, 4), + overworld_frame(gEventObjectPic_Hiker, 16, 32, 5), + overworld_frame(gEventObjectPic_Hiker, 16, 32, 6), + overworld_frame(gEventObjectPic_Hiker, 16, 32, 7), + overworld_frame(gEventObjectPic_Hiker, 16, 32, 8), }; const struct SpriteFrameImage gEventObjectPicTable_CyclingTriathleteM[] = { - obj_frame_tiles(gEventObjectPic_CyclingTriathleteM_0), - obj_frame_tiles(gEventObjectPic_CyclingTriathleteM_1), - obj_frame_tiles(gEventObjectPic_CyclingTriathleteM_2), - obj_frame_tiles(gEventObjectPic_CyclingTriathleteM_3), - obj_frame_tiles(gEventObjectPic_CyclingTriathleteM_4), - obj_frame_tiles(gEventObjectPic_CyclingTriathleteM_5), - obj_frame_tiles(gEventObjectPic_CyclingTriathleteM_6), - obj_frame_tiles(gEventObjectPic_CyclingTriathleteM_7), - obj_frame_tiles(gEventObjectPic_CyclingTriathleteM_8), + overworld_frame(gEventObjectPic_CyclingTriathleteM, 32, 32, 0), + overworld_frame(gEventObjectPic_CyclingTriathleteM, 32, 32, 1), + overworld_frame(gEventObjectPic_CyclingTriathleteM, 32, 32, 2), + overworld_frame(gEventObjectPic_CyclingTriathleteM, 32, 32, 3), + overworld_frame(gEventObjectPic_CyclingTriathleteM, 32, 32, 4), + overworld_frame(gEventObjectPic_CyclingTriathleteM, 32, 32, 5), + overworld_frame(gEventObjectPic_CyclingTriathleteM, 32, 32, 6), + overworld_frame(gEventObjectPic_CyclingTriathleteM, 32, 32, 7), + overworld_frame(gEventObjectPic_CyclingTriathleteM, 32, 32, 8), }; const struct SpriteFrameImage gEventObjectPicTable_CyclingTriathleteF[] = { - obj_frame_tiles(gEventObjectPic_CyclingTriathleteF_0), - obj_frame_tiles(gEventObjectPic_CyclingTriathleteF_1), - obj_frame_tiles(gEventObjectPic_CyclingTriathleteF_2), - obj_frame_tiles(gEventObjectPic_CyclingTriathleteF_3), - obj_frame_tiles(gEventObjectPic_CyclingTriathleteF_4), - obj_frame_tiles(gEventObjectPic_CyclingTriathleteF_5), - obj_frame_tiles(gEventObjectPic_CyclingTriathleteF_6), - obj_frame_tiles(gEventObjectPic_CyclingTriathleteF_7), - obj_frame_tiles(gEventObjectPic_CyclingTriathleteF_8), + overworld_frame(gEventObjectPic_CyclingTriathleteF, 32, 32, 0), + overworld_frame(gEventObjectPic_CyclingTriathleteF, 32, 32, 1), + overworld_frame(gEventObjectPic_CyclingTriathleteF, 32, 32, 2), + overworld_frame(gEventObjectPic_CyclingTriathleteF, 32, 32, 3), + overworld_frame(gEventObjectPic_CyclingTriathleteF, 32, 32, 4), + overworld_frame(gEventObjectPic_CyclingTriathleteF, 32, 32, 5), + overworld_frame(gEventObjectPic_CyclingTriathleteF, 32, 32, 6), + overworld_frame(gEventObjectPic_CyclingTriathleteF, 32, 32, 7), + overworld_frame(gEventObjectPic_CyclingTriathleteF, 32, 32, 8), }; const struct SpriteFrameImage gEventObjectPicTable_Nurse[] = { - obj_frame_tiles(gEventObjectPic_Nurse_0), - obj_frame_tiles(gEventObjectPic_Nurse_1), - obj_frame_tiles(gEventObjectPic_Nurse_2), - obj_frame_tiles(gEventObjectPic_Nurse_0), - obj_frame_tiles(gEventObjectPic_Nurse_0), - obj_frame_tiles(gEventObjectPic_Nurse_1), - obj_frame_tiles(gEventObjectPic_Nurse_1), - obj_frame_tiles(gEventObjectPic_Nurse_2), - obj_frame_tiles(gEventObjectPic_Nurse_2), - obj_frame_tiles(gEventObjectPic_Nurse_3), + overworld_frame(gEventObjectPic_Nurse, 16, 32, 0), + overworld_frame(gEventObjectPic_Nurse, 16, 32, 1), + overworld_frame(gEventObjectPic_Nurse, 16, 32, 2), + overworld_frame(gEventObjectPic_Nurse, 16, 32, 0), + overworld_frame(gEventObjectPic_Nurse, 16, 32, 0), + overworld_frame(gEventObjectPic_Nurse, 16, 32, 1), + overworld_frame(gEventObjectPic_Nurse, 16, 32, 1), + overworld_frame(gEventObjectPic_Nurse, 16, 32, 2), + overworld_frame(gEventObjectPic_Nurse, 16, 32, 2), + overworld_frame(gEventObjectPic_Nurse, 16, 32, 3), }; const struct SpriteFrameImage gEventObjectPicTable_ItemBall[] = { @@ -751,87 +751,87 @@ const struct SpriteFrameImage gEventObjectPicTable_ItemBall[] = { }; const struct SpriteFrameImage gEventObjectPicTable_ProfBirch[] = { - obj_frame_tiles(gEventObjectPic_ProfBirch_0), - obj_frame_tiles(gEventObjectPic_ProfBirch_1), - obj_frame_tiles(gEventObjectPic_ProfBirch_2), - obj_frame_tiles(gEventObjectPic_ProfBirch_3), - obj_frame_tiles(gEventObjectPic_ProfBirch_4), - obj_frame_tiles(gEventObjectPic_ProfBirch_5), - obj_frame_tiles(gEventObjectPic_ProfBirch_6), - obj_frame_tiles(gEventObjectPic_ProfBirch_7), - obj_frame_tiles(gEventObjectPic_ProfBirch_8), + overworld_frame(gEventObjectPic_ProfBirch, 16, 32, 0), + overworld_frame(gEventObjectPic_ProfBirch, 16, 32, 1), + overworld_frame(gEventObjectPic_ProfBirch, 16, 32, 2), + overworld_frame(gEventObjectPic_ProfBirch, 16, 32, 3), + overworld_frame(gEventObjectPic_ProfBirch, 16, 32, 4), + overworld_frame(gEventObjectPic_ProfBirch, 16, 32, 5), + overworld_frame(gEventObjectPic_ProfBirch, 16, 32, 6), + overworld_frame(gEventObjectPic_ProfBirch, 16, 32, 7), + overworld_frame(gEventObjectPic_ProfBirch, 16, 32, 8), }; const struct SpriteFrameImage gEventObjectPicTable_Man5[] = { - obj_frame_tiles(gEventObjectPic_Man5_0), - obj_frame_tiles(gEventObjectPic_Man5_1), - obj_frame_tiles(gEventObjectPic_Man5_2), - obj_frame_tiles(gEventObjectPic_Man5_3), - obj_frame_tiles(gEventObjectPic_Man5_4), - obj_frame_tiles(gEventObjectPic_Man5_5), - obj_frame_tiles(gEventObjectPic_Man5_6), - obj_frame_tiles(gEventObjectPic_Man5_7), - obj_frame_tiles(gEventObjectPic_Man5_8), + overworld_frame(gEventObjectPic_Man5, 16, 32, 0), + overworld_frame(gEventObjectPic_Man5, 16, 32, 1), + overworld_frame(gEventObjectPic_Man5, 16, 32, 2), + overworld_frame(gEventObjectPic_Man5, 16, 32, 3), + overworld_frame(gEventObjectPic_Man5, 16, 32, 4), + overworld_frame(gEventObjectPic_Man5, 16, 32, 5), + overworld_frame(gEventObjectPic_Man5, 16, 32, 6), + overworld_frame(gEventObjectPic_Man5, 16, 32, 7), + overworld_frame(gEventObjectPic_Man5, 16, 32, 8), }; const struct SpriteFrameImage gEventObjectPicTable_Man6[] = { - obj_frame_tiles(gEventObjectPic_Man6_0), - obj_frame_tiles(gEventObjectPic_Man6_1), - obj_frame_tiles(gEventObjectPic_Man6_2), - obj_frame_tiles(gEventObjectPic_Man6_3), - obj_frame_tiles(gEventObjectPic_Man6_4), - obj_frame_tiles(gEventObjectPic_Man6_5), - obj_frame_tiles(gEventObjectPic_Man6_6), - obj_frame_tiles(gEventObjectPic_Man6_7), - obj_frame_tiles(gEventObjectPic_Man6_8), + overworld_frame(gEventObjectPic_Man6, 16, 32, 0), + overworld_frame(gEventObjectPic_Man6, 16, 32, 1), + overworld_frame(gEventObjectPic_Man6, 16, 32, 2), + overworld_frame(gEventObjectPic_Man6, 16, 32, 3), + overworld_frame(gEventObjectPic_Man6, 16, 32, 4), + overworld_frame(gEventObjectPic_Man6, 16, 32, 5), + overworld_frame(gEventObjectPic_Man6, 16, 32, 6), + overworld_frame(gEventObjectPic_Man6, 16, 32, 7), + overworld_frame(gEventObjectPic_Man6, 16, 32, 8), }; const struct SpriteFrameImage gEventObjectPicTable_ReporterM[] = { - obj_frame_tiles(gEventObjectPic_ReporterM_0), - obj_frame_tiles(gEventObjectPic_ReporterM_1), - obj_frame_tiles(gEventObjectPic_ReporterM_2), - obj_frame_tiles(gEventObjectPic_ReporterM_3), - obj_frame_tiles(gEventObjectPic_ReporterM_4), - obj_frame_tiles(gEventObjectPic_ReporterM_5), - obj_frame_tiles(gEventObjectPic_ReporterM_6), - obj_frame_tiles(gEventObjectPic_ReporterM_7), - obj_frame_tiles(gEventObjectPic_ReporterM_8), + overworld_frame(gEventObjectPic_ReporterM, 16, 32, 0), + overworld_frame(gEventObjectPic_ReporterM, 16, 32, 1), + overworld_frame(gEventObjectPic_ReporterM, 16, 32, 2), + overworld_frame(gEventObjectPic_ReporterM, 16, 32, 3), + overworld_frame(gEventObjectPic_ReporterM, 16, 32, 4), + overworld_frame(gEventObjectPic_ReporterM, 16, 32, 5), + overworld_frame(gEventObjectPic_ReporterM, 16, 32, 6), + overworld_frame(gEventObjectPic_ReporterM, 16, 32, 7), + overworld_frame(gEventObjectPic_ReporterM, 16, 32, 8), }; const struct SpriteFrameImage gEventObjectPicTable_ReporterF[] = { - obj_frame_tiles(gEventObjectPic_ReporterF_0), - obj_frame_tiles(gEventObjectPic_ReporterF_1), - obj_frame_tiles(gEventObjectPic_ReporterF_2), - obj_frame_tiles(gEventObjectPic_ReporterF_3), - obj_frame_tiles(gEventObjectPic_ReporterF_4), - obj_frame_tiles(gEventObjectPic_ReporterF_5), - obj_frame_tiles(gEventObjectPic_ReporterF_6), - obj_frame_tiles(gEventObjectPic_ReporterF_7), - obj_frame_tiles(gEventObjectPic_ReporterF_8), + overworld_frame(gEventObjectPic_ReporterF, 16, 32, 0), + overworld_frame(gEventObjectPic_ReporterF, 16, 32, 1), + overworld_frame(gEventObjectPic_ReporterF, 16, 32, 2), + overworld_frame(gEventObjectPic_ReporterF, 16, 32, 3), + overworld_frame(gEventObjectPic_ReporterF, 16, 32, 4), + overworld_frame(gEventObjectPic_ReporterF, 16, 32, 5), + overworld_frame(gEventObjectPic_ReporterF, 16, 32, 6), + overworld_frame(gEventObjectPic_ReporterF, 16, 32, 7), + overworld_frame(gEventObjectPic_ReporterF, 16, 32, 8), }; const struct SpriteFrameImage gEventObjectPicTable_MauvilleOldMan1[] = { - obj_frame_tiles(gEventObjectPic_MauvilleOldMan1_0), - obj_frame_tiles(gEventObjectPic_MauvilleOldMan1_1), - obj_frame_tiles(gEventObjectPic_MauvilleOldMan1_2), - obj_frame_tiles(gEventObjectPic_MauvilleOldMan1_3), - obj_frame_tiles(gEventObjectPic_MauvilleOldMan1_4), - obj_frame_tiles(gEventObjectPic_MauvilleOldMan1_5), - obj_frame_tiles(gEventObjectPic_MauvilleOldMan1_6), - obj_frame_tiles(gEventObjectPic_MauvilleOldMan1_7), - obj_frame_tiles(gEventObjectPic_MauvilleOldMan1_8), + overworld_frame(gEventObjectPic_MauvilleOldMan1, 16, 32, 0), + overworld_frame(gEventObjectPic_MauvilleOldMan1, 16, 32, 1), + overworld_frame(gEventObjectPic_MauvilleOldMan1, 16, 32, 2), + overworld_frame(gEventObjectPic_MauvilleOldMan1, 16, 32, 3), + overworld_frame(gEventObjectPic_MauvilleOldMan1, 16, 32, 4), + overworld_frame(gEventObjectPic_MauvilleOldMan1, 16, 32, 5), + overworld_frame(gEventObjectPic_MauvilleOldMan1, 16, 32, 6), + overworld_frame(gEventObjectPic_MauvilleOldMan1, 16, 32, 7), + overworld_frame(gEventObjectPic_MauvilleOldMan1, 16, 32, 8), }; const struct SpriteFrameImage gEventObjectPicTable_MauvilleOldMan2[] = { - obj_frame_tiles(gEventObjectPic_MauvilleOldMan2_0), - obj_frame_tiles(gEventObjectPic_MauvilleOldMan2_1), - obj_frame_tiles(gEventObjectPic_MauvilleOldMan2_2), - obj_frame_tiles(gEventObjectPic_MauvilleOldMan2_3), - obj_frame_tiles(gEventObjectPic_MauvilleOldMan2_4), - obj_frame_tiles(gEventObjectPic_MauvilleOldMan2_5), - obj_frame_tiles(gEventObjectPic_MauvilleOldMan2_6), - obj_frame_tiles(gEventObjectPic_MauvilleOldMan2_7), - obj_frame_tiles(gEventObjectPic_MauvilleOldMan2_8), + overworld_frame(gEventObjectPic_MauvilleOldMan2, 16, 32, 0), + overworld_frame(gEventObjectPic_MauvilleOldMan2, 16, 32, 1), + overworld_frame(gEventObjectPic_MauvilleOldMan2, 16, 32, 2), + overworld_frame(gEventObjectPic_MauvilleOldMan2, 16, 32, 3), + overworld_frame(gEventObjectPic_MauvilleOldMan2, 16, 32, 4), + overworld_frame(gEventObjectPic_MauvilleOldMan2, 16, 32, 5), + overworld_frame(gEventObjectPic_MauvilleOldMan2, 16, 32, 6), + overworld_frame(gEventObjectPic_MauvilleOldMan2, 16, 32, 7), + overworld_frame(gEventObjectPic_MauvilleOldMan2, 16, 32, 8), }; const struct SpriteFrameImage gEventObjectPicTable_UnusedNatuDoll[] = { @@ -859,53 +859,53 @@ const struct SpriteFrameImage gEventObjectPicTable_UnusedPorygon2Doll[] = { }; const struct SpriteFrameImage gEventObjectPicTable_CuttableTree[] = { - obj_frame_tiles(gEventObjectPic_CuttableTree_0), - obj_frame_tiles(gEventObjectPic_CuttableTree_1), - obj_frame_tiles(gEventObjectPic_CuttableTree_2), - obj_frame_tiles(gEventObjectPic_CuttableTree_3), + overworld_frame(gEventObjectPic_CuttableTree, 16, 16, 0), + overworld_frame(gEventObjectPic_CuttableTree, 16, 16, 1), + overworld_frame(gEventObjectPic_CuttableTree, 16, 16, 2), + overworld_frame(gEventObjectPic_CuttableTree, 16, 16, 3), }; const struct SpriteFrameImage gEventObjectPicTable_MartEmployee[] = { - obj_frame_tiles(gEventObjectPic_MartEmployee_0), - obj_frame_tiles(gEventObjectPic_MartEmployee_1), - obj_frame_tiles(gEventObjectPic_MartEmployee_2), - obj_frame_tiles(gEventObjectPic_MartEmployee_3), - obj_frame_tiles(gEventObjectPic_MartEmployee_4), - obj_frame_tiles(gEventObjectPic_MartEmployee_5), - obj_frame_tiles(gEventObjectPic_MartEmployee_6), - obj_frame_tiles(gEventObjectPic_MartEmployee_7), - obj_frame_tiles(gEventObjectPic_MartEmployee_8), + overworld_frame(gEventObjectPic_MartEmployee, 16, 32, 0), + overworld_frame(gEventObjectPic_MartEmployee, 16, 32, 1), + overworld_frame(gEventObjectPic_MartEmployee, 16, 32, 2), + overworld_frame(gEventObjectPic_MartEmployee, 16, 32, 3), + overworld_frame(gEventObjectPic_MartEmployee, 16, 32, 4), + overworld_frame(gEventObjectPic_MartEmployee, 16, 32, 5), + overworld_frame(gEventObjectPic_MartEmployee, 16, 32, 6), + overworld_frame(gEventObjectPic_MartEmployee, 16, 32, 7), + overworld_frame(gEventObjectPic_MartEmployee, 16, 32, 8), }; const struct SpriteFrameImage gEventObjectPicTable_RooftopSaleWoman[] = { - obj_frame_tiles(gEventObjectPic_RooftopSaleWoman_0), - obj_frame_tiles(gEventObjectPic_RooftopSaleWoman_1), - obj_frame_tiles(gEventObjectPic_RooftopSaleWoman_2), - obj_frame_tiles(gEventObjectPic_RooftopSaleWoman_3), - obj_frame_tiles(gEventObjectPic_RooftopSaleWoman_4), - obj_frame_tiles(gEventObjectPic_RooftopSaleWoman_5), - obj_frame_tiles(gEventObjectPic_RooftopSaleWoman_6), - obj_frame_tiles(gEventObjectPic_RooftopSaleWoman_7), - obj_frame_tiles(gEventObjectPic_RooftopSaleWoman_8), + overworld_frame(gEventObjectPic_RooftopSaleWoman, 16, 32, 0), + overworld_frame(gEventObjectPic_RooftopSaleWoman, 16, 32, 1), + overworld_frame(gEventObjectPic_RooftopSaleWoman, 16, 32, 2), + overworld_frame(gEventObjectPic_RooftopSaleWoman, 16, 32, 3), + overworld_frame(gEventObjectPic_RooftopSaleWoman, 16, 32, 4), + overworld_frame(gEventObjectPic_RooftopSaleWoman, 16, 32, 5), + overworld_frame(gEventObjectPic_RooftopSaleWoman, 16, 32, 6), + overworld_frame(gEventObjectPic_RooftopSaleWoman, 16, 32, 7), + overworld_frame(gEventObjectPic_RooftopSaleWoman, 16, 32, 8), }; const struct SpriteFrameImage gEventObjectPicTable_Teala[] = { - obj_frame_tiles(gEventObjectPic_Teala_0), - obj_frame_tiles(gEventObjectPic_Teala_1), - obj_frame_tiles(gEventObjectPic_Teala_2), - obj_frame_tiles(gEventObjectPic_Teala_3), - obj_frame_tiles(gEventObjectPic_Teala_4), - obj_frame_tiles(gEventObjectPic_Teala_5), - obj_frame_tiles(gEventObjectPic_Teala_6), - obj_frame_tiles(gEventObjectPic_Teala_7), - obj_frame_tiles(gEventObjectPic_Teala_8), + overworld_frame(gEventObjectPic_Teala, 16, 32, 0), + overworld_frame(gEventObjectPic_Teala, 16, 32, 1), + overworld_frame(gEventObjectPic_Teala, 16, 32, 2), + overworld_frame(gEventObjectPic_Teala, 16, 32, 3), + overworld_frame(gEventObjectPic_Teala, 16, 32, 4), + overworld_frame(gEventObjectPic_Teala, 16, 32, 5), + overworld_frame(gEventObjectPic_Teala, 16, 32, 6), + overworld_frame(gEventObjectPic_Teala, 16, 32, 7), + overworld_frame(gEventObjectPic_Teala, 16, 32, 8), }; const struct SpriteFrameImage gEventObjectPicTable_BreakableRock[] = { - obj_frame_tiles(gEventObjectPic_BreakableRock_0), - obj_frame_tiles(gEventObjectPic_BreakableRock_1), - obj_frame_tiles(gEventObjectPic_BreakableRock_2), - obj_frame_tiles(gEventObjectPic_BreakableRock_3), + overworld_frame(gEventObjectPic_BreakableRock, 16, 16, 0), + overworld_frame(gEventObjectPic_BreakableRock, 16, 16, 1), + overworld_frame(gEventObjectPic_BreakableRock, 16, 16, 2), + overworld_frame(gEventObjectPic_BreakableRock, 16, 16, 3), }; const struct SpriteFrameImage gEventObjectPicTable_PushableBoulder[] = { @@ -913,15 +913,15 @@ const struct SpriteFrameImage gEventObjectPicTable_PushableBoulder[] = { }; const struct SpriteFrameImage gEventObjectPicTable_MrBrineysBoat[] = { - obj_frame_tiles(gEventObjectPic_MrBrineysBoat_0), - obj_frame_tiles(gEventObjectPic_MrBrineysBoat_1), - obj_frame_tiles(gEventObjectPic_MrBrineysBoat_2), - obj_frame_tiles(gEventObjectPic_MrBrineysBoat_0), - obj_frame_tiles(gEventObjectPic_MrBrineysBoat_0), - obj_frame_tiles(gEventObjectPic_MrBrineysBoat_1), - obj_frame_tiles(gEventObjectPic_MrBrineysBoat_1), - obj_frame_tiles(gEventObjectPic_MrBrineysBoat_2), - obj_frame_tiles(gEventObjectPic_MrBrineysBoat_2), + overworld_frame(gEventObjectPic_MrBrineysBoat, 32, 32, 0), + overworld_frame(gEventObjectPic_MrBrineysBoat, 32, 32, 1), + overworld_frame(gEventObjectPic_MrBrineysBoat, 32, 32, 2), + overworld_frame(gEventObjectPic_MrBrineysBoat, 32, 32, 0), + overworld_frame(gEventObjectPic_MrBrineysBoat, 32, 32, 0), + overworld_frame(gEventObjectPic_MrBrineysBoat, 32, 32, 1), + overworld_frame(gEventObjectPic_MrBrineysBoat, 32, 32, 1), + overworld_frame(gEventObjectPic_MrBrineysBoat, 32, 32, 2), + overworld_frame(gEventObjectPic_MrBrineysBoat, 32, 32, 2), }; const struct SpriteFrameImage gEventObjectPicTable_Truck[] = { @@ -929,27 +929,27 @@ const struct SpriteFrameImage gEventObjectPicTable_Truck[] = { }; const struct SpriteFrameImage gEventObjectPicTable_VigorothCarryingBox[] = { - obj_frame_tiles(gEventObjectPic_VigorothCarryingBox_0), - obj_frame_tiles(gEventObjectPic_VigorothCarryingBox_0), - obj_frame_tiles(gEventObjectPic_VigorothCarryingBox_0), - obj_frame_tiles(gEventObjectPic_VigorothCarryingBox_1), - obj_frame_tiles(gEventObjectPic_VigorothCarryingBox_2), - obj_frame_tiles(gEventObjectPic_VigorothCarryingBox_1), - obj_frame_tiles(gEventObjectPic_VigorothCarryingBox_2), - obj_frame_tiles(gEventObjectPic_VigorothCarryingBox_1), - obj_frame_tiles(gEventObjectPic_VigorothCarryingBox_2), + overworld_frame(gEventObjectPic_Vigoroth, 32, 32, 0), + overworld_frame(gEventObjectPic_Vigoroth, 32, 32, 0), + overworld_frame(gEventObjectPic_Vigoroth, 32, 32, 0), + overworld_frame(gEventObjectPic_Vigoroth, 32, 32, 1), + overworld_frame(gEventObjectPic_Vigoroth, 32, 32, 2), + overworld_frame(gEventObjectPic_Vigoroth, 32, 32, 1), + overworld_frame(gEventObjectPic_Vigoroth, 32, 32, 2), + overworld_frame(gEventObjectPic_Vigoroth, 32, 32, 1), + overworld_frame(gEventObjectPic_Vigoroth, 32, 32, 2), }; const struct SpriteFrameImage gEventObjectPicTable_VigorothFacingAway[] = { - obj_frame_tiles(gEventObjectPic_VigorothFacingAway_0), - obj_frame_tiles(gEventObjectPic_VigorothFacingAway_0), - obj_frame_tiles(gEventObjectPic_VigorothFacingAway_0), - obj_frame_tiles(gEventObjectPic_VigorothFacingAway_1), - obj_frame_tiles(gEventObjectPic_VigorothFacingAway_1), - obj_frame_tiles(gEventObjectPic_VigorothFacingAway_1), - obj_frame_tiles(gEventObjectPic_VigorothFacingAway_1), - obj_frame_tiles(gEventObjectPic_VigorothFacingAway_1), - obj_frame_tiles(gEventObjectPic_VigorothFacingAway_1), + overworld_frame(gEventObjectPic_Vigoroth, 32, 32, 3), + overworld_frame(gEventObjectPic_Vigoroth, 32, 32, 3), + overworld_frame(gEventObjectPic_Vigoroth, 32, 32, 3), + overworld_frame(gEventObjectPic_Vigoroth, 32, 32, 4), + overworld_frame(gEventObjectPic_Vigoroth, 32, 32, 4), + overworld_frame(gEventObjectPic_Vigoroth, 32, 32, 4), + overworld_frame(gEventObjectPic_Vigoroth, 32, 32, 4), + overworld_frame(gEventObjectPic_Vigoroth, 32, 32, 4), + overworld_frame(gEventObjectPic_Vigoroth, 32, 32, 4), }; const struct SpriteFrameImage gEventObjectPicTable_BirchsBag[] = { @@ -957,149 +957,149 @@ const struct SpriteFrameImage gEventObjectPicTable_BirchsBag[] = { }; const struct SpriteFrameImage gEventObjectPicTable_EnemyZigzagoon[] = { - obj_frame_tiles(gEventObjectPic_EnemyZigzagoon_0), - obj_frame_tiles(gEventObjectPic_EnemyZigzagoon_1), - obj_frame_tiles(gEventObjectPic_EnemyZigzagoon_2), - obj_frame_tiles(gEventObjectPic_EnemyZigzagoon_3), - obj_frame_tiles(gEventObjectPic_EnemyZigzagoon_4), - obj_frame_tiles(gEventObjectPic_EnemyZigzagoon_5), - obj_frame_tiles(gEventObjectPic_EnemyZigzagoon_6), - obj_frame_tiles(gEventObjectPic_EnemyZigzagoon_7), - obj_frame_tiles(gEventObjectPic_EnemyZigzagoon_8), + overworld_frame(gEventObjectPic_EnemyZigzagoon, 32, 32, 0), + overworld_frame(gEventObjectPic_EnemyZigzagoon, 32, 32, 1), + overworld_frame(gEventObjectPic_EnemyZigzagoon, 32, 32, 2), + overworld_frame(gEventObjectPic_EnemyZigzagoon, 32, 32, 3), + overworld_frame(gEventObjectPic_EnemyZigzagoon, 32, 32, 4), + overworld_frame(gEventObjectPic_EnemyZigzagoon, 32, 32, 5), + overworld_frame(gEventObjectPic_EnemyZigzagoon, 32, 32, 6), + overworld_frame(gEventObjectPic_EnemyZigzagoon, 32, 32, 7), + overworld_frame(gEventObjectPic_EnemyZigzagoon, 32, 32, 8), }; const struct SpriteFrameImage gEventObjectPicTable_Poochyena[] = { - obj_frame_tiles(gEventObjectPic_Poochyena_0), - obj_frame_tiles(gEventObjectPic_Poochyena_1), - obj_frame_tiles(gEventObjectPic_Poochyena_2), - obj_frame_tiles(gEventObjectPic_Poochyena_3), - obj_frame_tiles(gEventObjectPic_Poochyena_4), - obj_frame_tiles(gEventObjectPic_Poochyena_5), - obj_frame_tiles(gEventObjectPic_Poochyena_6), - obj_frame_tiles(gEventObjectPic_Poochyena_7), - obj_frame_tiles(gEventObjectPic_Poochyena_8), + overworld_frame(gEventObjectPic_Poochyena, 32, 32, 0), + overworld_frame(gEventObjectPic_Poochyena, 32, 32, 1), + overworld_frame(gEventObjectPic_Poochyena, 32, 32, 2), + overworld_frame(gEventObjectPic_Poochyena, 32, 32, 3), + overworld_frame(gEventObjectPic_Poochyena, 32, 32, 4), + overworld_frame(gEventObjectPic_Poochyena, 32, 32, 5), + overworld_frame(gEventObjectPic_Poochyena, 32, 32, 6), + overworld_frame(gEventObjectPic_Poochyena, 32, 32, 7), + overworld_frame(gEventObjectPic_Poochyena, 32, 32, 8), }; const struct SpriteFrameImage gEventObjectPicTable_Artist[] = { - obj_frame_tiles(gEventObjectPic_Artist_0), - obj_frame_tiles(gEventObjectPic_Artist_1), - obj_frame_tiles(gEventObjectPic_Artist_2), - obj_frame_tiles(gEventObjectPic_Artist_3), - obj_frame_tiles(gEventObjectPic_Artist_4), - obj_frame_tiles(gEventObjectPic_Artist_5), - obj_frame_tiles(gEventObjectPic_Artist_6), - obj_frame_tiles(gEventObjectPic_Artist_7), - obj_frame_tiles(gEventObjectPic_Artist_8), + overworld_frame(gEventObjectPic_Artist, 16, 32, 0), + overworld_frame(gEventObjectPic_Artist, 16, 32, 1), + overworld_frame(gEventObjectPic_Artist, 16, 32, 2), + overworld_frame(gEventObjectPic_Artist, 16, 32, 3), + overworld_frame(gEventObjectPic_Artist, 16, 32, 4), + overworld_frame(gEventObjectPic_Artist, 16, 32, 5), + overworld_frame(gEventObjectPic_Artist, 16, 32, 6), + overworld_frame(gEventObjectPic_Artist, 16, 32, 7), + overworld_frame(gEventObjectPic_Artist, 16, 32, 8), }; const struct SpriteFrameImage gEventObjectPicTable_MayNormal[] = { - obj_frame_tiles(gEventObjectPic_MayNormal_0), - obj_frame_tiles(gEventObjectPic_MayNormal_1), - obj_frame_tiles(gEventObjectPic_MayNormal_2), - obj_frame_tiles(gEventObjectPic_MayNormal_3), - obj_frame_tiles(gEventObjectPic_MayNormal_4), - obj_frame_tiles(gEventObjectPic_MayNormal_5), - obj_frame_tiles(gEventObjectPic_MayNormal_6), - obj_frame_tiles(gEventObjectPic_MayNormal_7), - obj_frame_tiles(gEventObjectPic_MayNormal_8), - obj_frame_tiles(gEventObjectPic_MayNormal_9), - obj_frame_tiles(gEventObjectPic_MayNormal_10), - obj_frame_tiles(gEventObjectPic_MayNormal_11), - obj_frame_tiles(gEventObjectPic_MayNormal_12), - obj_frame_tiles(gEventObjectPic_MayNormal_13), - obj_frame_tiles(gEventObjectPic_MayNormal_14), - obj_frame_tiles(gEventObjectPic_MayNormal_15), - obj_frame_tiles(gEventObjectPic_MayNormal_16), - obj_frame_tiles(gEventObjectPic_MayNormal_17), + overworld_frame(gEventObjectPic_MayNormal, 16, 32, 0), + overworld_frame(gEventObjectPic_MayNormal, 16, 32, 1), + overworld_frame(gEventObjectPic_MayNormal, 16, 32, 2), + overworld_frame(gEventObjectPic_MayNormal, 16, 32, 3), + overworld_frame(gEventObjectPic_MayNormal, 16, 32, 4), + overworld_frame(gEventObjectPic_MayNormal, 16, 32, 5), + overworld_frame(gEventObjectPic_MayNormal, 16, 32, 6), + overworld_frame(gEventObjectPic_MayNormal, 16, 32, 7), + overworld_frame(gEventObjectPic_MayNormal, 16, 32, 8), + overworld_frame(gEventObjectPic_MayRunning, 16, 32, 0), + overworld_frame(gEventObjectPic_MayRunning, 16, 32, 1), + overworld_frame(gEventObjectPic_MayRunning, 16, 32, 2), + overworld_frame(gEventObjectPic_MayRunning, 16, 32, 3), + overworld_frame(gEventObjectPic_MayRunning, 16, 32, 4), + overworld_frame(gEventObjectPic_MayRunning, 16, 32, 5), + overworld_frame(gEventObjectPic_MayRunning, 16, 32, 6), + overworld_frame(gEventObjectPic_MayRunning, 16, 32, 7), + overworld_frame(gEventObjectPic_MayRunning, 16, 32, 8), }; const struct SpriteFrameImage gEventObjectPicTable_MayMachBike[] = { - obj_frame_tiles(gEventObjectPic_MayMachBike_0), - obj_frame_tiles(gEventObjectPic_MayMachBike_1), - obj_frame_tiles(gEventObjectPic_MayMachBike_2), - obj_frame_tiles(gEventObjectPic_MayMachBike_3), - obj_frame_tiles(gEventObjectPic_MayMachBike_4), - obj_frame_tiles(gEventObjectPic_MayMachBike_5), - obj_frame_tiles(gEventObjectPic_MayMachBike_6), - obj_frame_tiles(gEventObjectPic_MayMachBike_7), - obj_frame_tiles(gEventObjectPic_MayMachBike_8), + overworld_frame(gEventObjectPic_MayMachBike, 32, 32, 0), + overworld_frame(gEventObjectPic_MayMachBike, 32, 32, 1), + overworld_frame(gEventObjectPic_MayMachBike, 32, 32, 2), + overworld_frame(gEventObjectPic_MayMachBike, 32, 32, 3), + overworld_frame(gEventObjectPic_MayMachBike, 32, 32, 4), + overworld_frame(gEventObjectPic_MayMachBike, 32, 32, 5), + overworld_frame(gEventObjectPic_MayMachBike, 32, 32, 6), + overworld_frame(gEventObjectPic_MayMachBike, 32, 32, 7), + overworld_frame(gEventObjectPic_MayMachBike, 32, 32, 8), }; const struct SpriteFrameImage gEventObjectPicTable_MayAcroBike[] = { - obj_frame_tiles(gEventObjectPic_MayAcroBike_0), - obj_frame_tiles(gEventObjectPic_MayAcroBike_1), - obj_frame_tiles(gEventObjectPic_MayAcroBike_2), - obj_frame_tiles(gEventObjectPic_MayAcroBike_3), - obj_frame_tiles(gEventObjectPic_MayAcroBike_4), - obj_frame_tiles(gEventObjectPic_MayAcroBike_5), - obj_frame_tiles(gEventObjectPic_MayAcroBike_6), - obj_frame_tiles(gEventObjectPic_MayAcroBike_7), - obj_frame_tiles(gEventObjectPic_MayAcroBike_8), - obj_frame_tiles(gEventObjectPic_MayAcroBike_9), - obj_frame_tiles(gEventObjectPic_MayAcroBike_10), - obj_frame_tiles(gEventObjectPic_MayAcroBike_11), - obj_frame_tiles(gEventObjectPic_MayAcroBike_12), - obj_frame_tiles(gEventObjectPic_MayAcroBike_13), - obj_frame_tiles(gEventObjectPic_MayAcroBike_14), - obj_frame_tiles(gEventObjectPic_MayAcroBike_15), - obj_frame_tiles(gEventObjectPic_MayAcroBike_16), - obj_frame_tiles(gEventObjectPic_MayAcroBike_17), - obj_frame_tiles(gEventObjectPic_MayAcroBike_18), - obj_frame_tiles(gEventObjectPic_MayAcroBike_19), - obj_frame_tiles(gEventObjectPic_MayAcroBike_20), - obj_frame_tiles(gEventObjectPic_MayAcroBike_21), - obj_frame_tiles(gEventObjectPic_MayAcroBike_22), - obj_frame_tiles(gEventObjectPic_MayAcroBike_23), - obj_frame_tiles(gEventObjectPic_MayAcroBike_24), - obj_frame_tiles(gEventObjectPic_MayAcroBike_25), - obj_frame_tiles(gEventObjectPic_MayAcroBike_26), + overworld_frame(gEventObjectPic_MayAcroBike, 32, 32, 0), + overworld_frame(gEventObjectPic_MayAcroBike, 32, 32, 1), + overworld_frame(gEventObjectPic_MayAcroBike, 32, 32, 2), + overworld_frame(gEventObjectPic_MayAcroBike, 32, 32, 3), + overworld_frame(gEventObjectPic_MayAcroBike, 32, 32, 4), + overworld_frame(gEventObjectPic_MayAcroBike, 32, 32, 5), + overworld_frame(gEventObjectPic_MayAcroBike, 32, 32, 6), + overworld_frame(gEventObjectPic_MayAcroBike, 32, 32, 7), + overworld_frame(gEventObjectPic_MayAcroBike, 32, 32, 8), + overworld_frame(gEventObjectPic_MayAcroBike, 32, 32, 9), + overworld_frame(gEventObjectPic_MayAcroBike, 32, 32, 10), + overworld_frame(gEventObjectPic_MayAcroBike, 32, 32, 11), + overworld_frame(gEventObjectPic_MayAcroBike, 32, 32, 12), + overworld_frame(gEventObjectPic_MayAcroBike, 32, 32, 13), + overworld_frame(gEventObjectPic_MayAcroBike, 32, 32, 14), + overworld_frame(gEventObjectPic_MayAcroBike, 32, 32, 15), + overworld_frame(gEventObjectPic_MayAcroBike, 32, 32, 16), + overworld_frame(gEventObjectPic_MayAcroBike, 32, 32, 17), + overworld_frame(gEventObjectPic_MayAcroBike, 32, 32, 18), + overworld_frame(gEventObjectPic_MayAcroBike, 32, 32, 19), + overworld_frame(gEventObjectPic_MayAcroBike, 32, 32, 20), + overworld_frame(gEventObjectPic_MayAcroBike, 32, 32, 21), + overworld_frame(gEventObjectPic_MayAcroBike, 32, 32, 22), + overworld_frame(gEventObjectPic_MayAcroBike, 32, 32, 23), + overworld_frame(gEventObjectPic_MayAcroBike, 32, 32, 24), + overworld_frame(gEventObjectPic_MayAcroBike, 32, 32, 25), + overworld_frame(gEventObjectPic_MayAcroBike, 32, 32, 26), }; const struct SpriteFrameImage gEventObjectPicTable_MaySurfing[] = { - obj_frame_tiles(gEventObjectPic_MaySurfing_0), - obj_frame_tiles(gEventObjectPic_MaySurfing_1), - obj_frame_tiles(gEventObjectPic_MaySurfing_2), - obj_frame_tiles(gEventObjectPic_MaySurfing_0), - obj_frame_tiles(gEventObjectPic_MaySurfing_0), - obj_frame_tiles(gEventObjectPic_MaySurfing_1), - obj_frame_tiles(gEventObjectPic_MaySurfing_1), - obj_frame_tiles(gEventObjectPic_MaySurfing_2), - obj_frame_tiles(gEventObjectPic_MaySurfing_2), - obj_frame_tiles(gEventObjectPic_MaySurfing_3), - obj_frame_tiles(gEventObjectPic_MaySurfing_4), - obj_frame_tiles(gEventObjectPic_MaySurfing_5), + overworld_frame(gEventObjectPic_MaySurfing, 32, 32, 0), + overworld_frame(gEventObjectPic_MaySurfing, 32, 32, 1), + overworld_frame(gEventObjectPic_MaySurfing, 32, 32, 2), + overworld_frame(gEventObjectPic_MaySurfing, 32, 32, 0), + overworld_frame(gEventObjectPic_MaySurfing, 32, 32, 0), + overworld_frame(gEventObjectPic_MaySurfing, 32, 32, 1), + overworld_frame(gEventObjectPic_MaySurfing, 32, 32, 1), + overworld_frame(gEventObjectPic_MaySurfing, 32, 32, 2), + overworld_frame(gEventObjectPic_MaySurfing, 32, 32, 2), + overworld_frame(gEventObjectPic_MaySurfing, 32, 32, 3), + overworld_frame(gEventObjectPic_MaySurfing, 32, 32, 4), + overworld_frame(gEventObjectPic_MaySurfing, 32, 32, 5), }; const struct SpriteFrameImage gEventObjectPicTable_MayUnderwater[] = { - obj_frame_tiles(gEventObjectPic_MayUnderwater_0), - obj_frame_tiles(gEventObjectPic_MayUnderwater_1), - obj_frame_tiles(gEventObjectPic_MayUnderwater_2), - obj_frame_tiles(gEventObjectPic_MayUnderwater_0), - obj_frame_tiles(gEventObjectPic_MayUnderwater_0), - obj_frame_tiles(gEventObjectPic_MayUnderwater_1), - obj_frame_tiles(gEventObjectPic_MayUnderwater_1), - obj_frame_tiles(gEventObjectPic_MayUnderwater_2), - obj_frame_tiles(gEventObjectPic_MayUnderwater_2), + overworld_frame(gEventObjectPic_MayUnderwater, 32, 32, 0), + overworld_frame(gEventObjectPic_MayUnderwater, 32, 32, 1), + overworld_frame(gEventObjectPic_MayUnderwater, 32, 32, 2), + overworld_frame(gEventObjectPic_MayUnderwater, 32, 32, 0), + overworld_frame(gEventObjectPic_MayUnderwater, 32, 32, 0), + overworld_frame(gEventObjectPic_MayUnderwater, 32, 32, 1), + overworld_frame(gEventObjectPic_MayUnderwater, 32, 32, 1), + overworld_frame(gEventObjectPic_MayUnderwater, 32, 32, 2), + overworld_frame(gEventObjectPic_MayUnderwater, 32, 32, 2), }; const struct SpriteFrameImage gEventObjectPicTable_MayFieldMove[] = { - obj_frame_tiles(gEventObjectPic_MayFieldMove_0), - obj_frame_tiles(gEventObjectPic_MayFieldMove_1), - obj_frame_tiles(gEventObjectPic_MayFieldMove_2), - obj_frame_tiles(gEventObjectPic_MayFieldMove_3), - obj_frame_tiles(gEventObjectPic_MayFieldMove_4), + overworld_frame(gEventObjectPic_MayFieldMove, 32, 32, 0), + overworld_frame(gEventObjectPic_MayFieldMove, 32, 32, 1), + overworld_frame(gEventObjectPic_MayFieldMove, 32, 32, 2), + overworld_frame(gEventObjectPic_MayFieldMove, 32, 32, 3), + overworld_frame(gEventObjectPic_MayFieldMove, 32, 32, 4), }; const struct SpriteFrameImage gEventObjectPicTable_Cameraman[] = { - obj_frame_tiles(gEventObjectPic_Cameraman_0), - obj_frame_tiles(gEventObjectPic_Cameraman_1), - obj_frame_tiles(gEventObjectPic_Cameraman_2), - obj_frame_tiles(gEventObjectPic_Cameraman_3), - obj_frame_tiles(gEventObjectPic_Cameraman_4), - obj_frame_tiles(gEventObjectPic_Cameraman_5), - obj_frame_tiles(gEventObjectPic_Cameraman_6), - obj_frame_tiles(gEventObjectPic_Cameraman_7), - obj_frame_tiles(gEventObjectPic_Cameraman_8), + overworld_frame(gEventObjectPic_Cameraman, 16, 32, 0), + overworld_frame(gEventObjectPic_Cameraman, 16, 32, 1), + overworld_frame(gEventObjectPic_Cameraman, 16, 32, 2), + overworld_frame(gEventObjectPic_Cameraman, 16, 32, 3), + overworld_frame(gEventObjectPic_Cameraman, 16, 32, 4), + overworld_frame(gEventObjectPic_Cameraman, 16, 32, 5), + overworld_frame(gEventObjectPic_Cameraman, 16, 32, 6), + overworld_frame(gEventObjectPic_Cameraman, 16, 32, 7), + overworld_frame(gEventObjectPic_Cameraman, 16, 32, 8), }; const struct SpriteFrameImage gEventObjectPicTable_MovingBox[] = { @@ -1111,309 +1111,309 @@ const struct SpriteFrameImage gEventObjectPicTable_CableCar[] = { }; const struct SpriteFrameImage gEventObjectPicTable_Scientist2[] = { - obj_frame_tiles(gEventObjectPic_Scientist2_0), - obj_frame_tiles(gEventObjectPic_Scientist2_1), - obj_frame_tiles(gEventObjectPic_Scientist2_2), - obj_frame_tiles(gEventObjectPic_Scientist2_3), - obj_frame_tiles(gEventObjectPic_Scientist2_4), - obj_frame_tiles(gEventObjectPic_Scientist2_5), - obj_frame_tiles(gEventObjectPic_Scientist2_6), - obj_frame_tiles(gEventObjectPic_Scientist2_7), - obj_frame_tiles(gEventObjectPic_Scientist2_8), + overworld_frame(gEventObjectPic_Scientist2, 16, 32, 0), + overworld_frame(gEventObjectPic_Scientist2, 16, 32, 1), + overworld_frame(gEventObjectPic_Scientist2, 16, 32, 2), + overworld_frame(gEventObjectPic_Scientist2, 16, 32, 3), + overworld_frame(gEventObjectPic_Scientist2, 16, 32, 4), + overworld_frame(gEventObjectPic_Scientist2, 16, 32, 5), + overworld_frame(gEventObjectPic_Scientist2, 16, 32, 6), + overworld_frame(gEventObjectPic_Scientist2, 16, 32, 7), + overworld_frame(gEventObjectPic_Scientist2, 16, 32, 8), }; const struct SpriteFrameImage gEventObjectPicTable_Man7[] = { - obj_frame_tiles(gEventObjectPic_Man7_0), - obj_frame_tiles(gEventObjectPic_Man7_1), - obj_frame_tiles(gEventObjectPic_Man7_2), - obj_frame_tiles(gEventObjectPic_Man7_3), - obj_frame_tiles(gEventObjectPic_Man7_4), - obj_frame_tiles(gEventObjectPic_Man7_5), - obj_frame_tiles(gEventObjectPic_Man7_6), - obj_frame_tiles(gEventObjectPic_Man7_7), - obj_frame_tiles(gEventObjectPic_Man7_8), + overworld_frame(gEventObjectPic_Man7, 16, 32, 0), + overworld_frame(gEventObjectPic_Man7, 16, 32, 1), + overworld_frame(gEventObjectPic_Man7, 16, 32, 2), + overworld_frame(gEventObjectPic_Man7, 16, 32, 3), + overworld_frame(gEventObjectPic_Man7, 16, 32, 4), + overworld_frame(gEventObjectPic_Man7, 16, 32, 5), + overworld_frame(gEventObjectPic_Man7, 16, 32, 6), + overworld_frame(gEventObjectPic_Man7, 16, 32, 7), + overworld_frame(gEventObjectPic_Man7, 16, 32, 8), }; const struct SpriteFrameImage gEventObjectPicTable_AquaMemberM[] = { - obj_frame_tiles(gEventObjectPic_AquaMemberM_0), - obj_frame_tiles(gEventObjectPic_AquaMemberM_1), - obj_frame_tiles(gEventObjectPic_AquaMemberM_2), - obj_frame_tiles(gEventObjectPic_AquaMemberM_3), - obj_frame_tiles(gEventObjectPic_AquaMemberM_4), - obj_frame_tiles(gEventObjectPic_AquaMemberM_5), - obj_frame_tiles(gEventObjectPic_AquaMemberM_6), - obj_frame_tiles(gEventObjectPic_AquaMemberM_7), - obj_frame_tiles(gEventObjectPic_AquaMemberM_8), + overworld_frame(gEventObjectPic_AquaMemberM, 16, 32, 0), + overworld_frame(gEventObjectPic_AquaMemberM, 16, 32, 1), + overworld_frame(gEventObjectPic_AquaMemberM, 16, 32, 2), + overworld_frame(gEventObjectPic_AquaMemberM, 16, 32, 3), + overworld_frame(gEventObjectPic_AquaMemberM, 16, 32, 4), + overworld_frame(gEventObjectPic_AquaMemberM, 16, 32, 5), + overworld_frame(gEventObjectPic_AquaMemberM, 16, 32, 6), + overworld_frame(gEventObjectPic_AquaMemberM, 16, 32, 7), + overworld_frame(gEventObjectPic_AquaMemberM, 16, 32, 8), }; const struct SpriteFrameImage gEventObjectPicTable_AquaMemberF[] = { - obj_frame_tiles(gEventObjectPic_AquaMemberF_0), - obj_frame_tiles(gEventObjectPic_AquaMemberF_1), - obj_frame_tiles(gEventObjectPic_AquaMemberF_2), - obj_frame_tiles(gEventObjectPic_AquaMemberF_3), - obj_frame_tiles(gEventObjectPic_AquaMemberF_4), - obj_frame_tiles(gEventObjectPic_AquaMemberF_5), - obj_frame_tiles(gEventObjectPic_AquaMemberF_6), - obj_frame_tiles(gEventObjectPic_AquaMemberF_7), - obj_frame_tiles(gEventObjectPic_AquaMemberF_8), + overworld_frame(gEventObjectPic_AquaMemberF, 16, 32, 0), + overworld_frame(gEventObjectPic_AquaMemberF, 16, 32, 1), + overworld_frame(gEventObjectPic_AquaMemberF, 16, 32, 2), + overworld_frame(gEventObjectPic_AquaMemberF, 16, 32, 3), + overworld_frame(gEventObjectPic_AquaMemberF, 16, 32, 4), + overworld_frame(gEventObjectPic_AquaMemberF, 16, 32, 5), + overworld_frame(gEventObjectPic_AquaMemberF, 16, 32, 6), + overworld_frame(gEventObjectPic_AquaMemberF, 16, 32, 7), + overworld_frame(gEventObjectPic_AquaMemberF, 16, 32, 8), }; const struct SpriteFrameImage gEventObjectPicTable_MagmaMemberM[] = { - obj_frame_tiles(gEventObjectPic_MagmaMemberM_0), - obj_frame_tiles(gEventObjectPic_MagmaMemberM_1), - obj_frame_tiles(gEventObjectPic_MagmaMemberM_2), - obj_frame_tiles(gEventObjectPic_MagmaMemberM_3), - obj_frame_tiles(gEventObjectPic_MagmaMemberM_4), - obj_frame_tiles(gEventObjectPic_MagmaMemberM_5), - obj_frame_tiles(gEventObjectPic_MagmaMemberM_6), - obj_frame_tiles(gEventObjectPic_MagmaMemberM_7), - obj_frame_tiles(gEventObjectPic_MagmaMemberM_8), + overworld_frame(gEventObjectPic_MagmaMemberM, 16, 32, 0), + overworld_frame(gEventObjectPic_MagmaMemberM, 16, 32, 1), + overworld_frame(gEventObjectPic_MagmaMemberM, 16, 32, 2), + overworld_frame(gEventObjectPic_MagmaMemberM, 16, 32, 3), + overworld_frame(gEventObjectPic_MagmaMemberM, 16, 32, 4), + overworld_frame(gEventObjectPic_MagmaMemberM, 16, 32, 5), + overworld_frame(gEventObjectPic_MagmaMemberM, 16, 32, 6), + overworld_frame(gEventObjectPic_MagmaMemberM, 16, 32, 7), + overworld_frame(gEventObjectPic_MagmaMemberM, 16, 32, 8), }; const struct SpriteFrameImage gEventObjectPicTable_MagmaMemberF[] = { - obj_frame_tiles(gEventObjectPic_MagmaMemberF_0), - obj_frame_tiles(gEventObjectPic_MagmaMemberF_1), - obj_frame_tiles(gEventObjectPic_MagmaMemberF_2), - obj_frame_tiles(gEventObjectPic_MagmaMemberF_3), - obj_frame_tiles(gEventObjectPic_MagmaMemberF_4), - obj_frame_tiles(gEventObjectPic_MagmaMemberF_5), - obj_frame_tiles(gEventObjectPic_MagmaMemberF_6), - obj_frame_tiles(gEventObjectPic_MagmaMemberF_7), - obj_frame_tiles(gEventObjectPic_MagmaMemberF_8), + overworld_frame(gEventObjectPic_MagmaMemberF, 16, 32, 0), + overworld_frame(gEventObjectPic_MagmaMemberF, 16, 32, 1), + overworld_frame(gEventObjectPic_MagmaMemberF, 16, 32, 2), + overworld_frame(gEventObjectPic_MagmaMemberF, 16, 32, 3), + overworld_frame(gEventObjectPic_MagmaMemberF, 16, 32, 4), + overworld_frame(gEventObjectPic_MagmaMemberF, 16, 32, 5), + overworld_frame(gEventObjectPic_MagmaMemberF, 16, 32, 6), + overworld_frame(gEventObjectPic_MagmaMemberF, 16, 32, 7), + overworld_frame(gEventObjectPic_MagmaMemberF, 16, 32, 8), }; const struct SpriteFrameImage gEventObjectPicTable_Sidney[] = { - obj_frame_tiles(gEventObjectPic_Sidney_0), - obj_frame_tiles(gEventObjectPic_Sidney_1), - obj_frame_tiles(gEventObjectPic_Sidney_2), - obj_frame_tiles(gEventObjectPic_Sidney_0), - obj_frame_tiles(gEventObjectPic_Sidney_0), - obj_frame_tiles(gEventObjectPic_Sidney_1), - obj_frame_tiles(gEventObjectPic_Sidney_1), - obj_frame_tiles(gEventObjectPic_Sidney_2), - obj_frame_tiles(gEventObjectPic_Sidney_2), + overworld_frame(gEventObjectPic_Sidney, 16, 32, 0), + overworld_frame(gEventObjectPic_Sidney, 16, 32, 1), + overworld_frame(gEventObjectPic_Sidney, 16, 32, 2), + overworld_frame(gEventObjectPic_Sidney, 16, 32, 0), + overworld_frame(gEventObjectPic_Sidney, 16, 32, 0), + overworld_frame(gEventObjectPic_Sidney, 16, 32, 1), + overworld_frame(gEventObjectPic_Sidney, 16, 32, 1), + overworld_frame(gEventObjectPic_Sidney, 16, 32, 2), + overworld_frame(gEventObjectPic_Sidney, 16, 32, 2), }; const struct SpriteFrameImage gEventObjectPicTable_Phoebe[] = { - obj_frame_tiles(gEventObjectPic_Phoebe_0), - obj_frame_tiles(gEventObjectPic_Phoebe_1), - obj_frame_tiles(gEventObjectPic_Phoebe_2), - obj_frame_tiles(gEventObjectPic_Phoebe_0), - obj_frame_tiles(gEventObjectPic_Phoebe_0), - obj_frame_tiles(gEventObjectPic_Phoebe_1), - obj_frame_tiles(gEventObjectPic_Phoebe_1), - obj_frame_tiles(gEventObjectPic_Phoebe_2), - obj_frame_tiles(gEventObjectPic_Phoebe_2), + overworld_frame(gEventObjectPic_Phoebe, 16, 32, 0), + overworld_frame(gEventObjectPic_Phoebe, 16, 32, 1), + overworld_frame(gEventObjectPic_Phoebe, 16, 32, 2), + overworld_frame(gEventObjectPic_Phoebe, 16, 32, 0), + overworld_frame(gEventObjectPic_Phoebe, 16, 32, 0), + overworld_frame(gEventObjectPic_Phoebe, 16, 32, 1), + overworld_frame(gEventObjectPic_Phoebe, 16, 32, 1), + overworld_frame(gEventObjectPic_Phoebe, 16, 32, 2), + overworld_frame(gEventObjectPic_Phoebe, 16, 32, 2), }; const struct SpriteFrameImage gEventObjectPicTable_Glacia[] = { - obj_frame_tiles(gEventObjectPic_Glacia_0), - obj_frame_tiles(gEventObjectPic_Glacia_1), - obj_frame_tiles(gEventObjectPic_Glacia_2), - obj_frame_tiles(gEventObjectPic_Glacia_0), - obj_frame_tiles(gEventObjectPic_Glacia_0), - obj_frame_tiles(gEventObjectPic_Glacia_1), - obj_frame_tiles(gEventObjectPic_Glacia_1), - obj_frame_tiles(gEventObjectPic_Glacia_2), - obj_frame_tiles(gEventObjectPic_Glacia_2), + overworld_frame(gEventObjectPic_Glacia, 16, 32, 0), + overworld_frame(gEventObjectPic_Glacia, 16, 32, 1), + overworld_frame(gEventObjectPic_Glacia, 16, 32, 2), + overworld_frame(gEventObjectPic_Glacia, 16, 32, 0), + overworld_frame(gEventObjectPic_Glacia, 16, 32, 0), + overworld_frame(gEventObjectPic_Glacia, 16, 32, 1), + overworld_frame(gEventObjectPic_Glacia, 16, 32, 1), + overworld_frame(gEventObjectPic_Glacia, 16, 32, 2), + overworld_frame(gEventObjectPic_Glacia, 16, 32, 2), }; const struct SpriteFrameImage gEventObjectPicTable_Drake[] = { - obj_frame_tiles(gEventObjectPic_Drake_0), - obj_frame_tiles(gEventObjectPic_Drake_1), - obj_frame_tiles(gEventObjectPic_Drake_2), - obj_frame_tiles(gEventObjectPic_Drake_0), - obj_frame_tiles(gEventObjectPic_Drake_0), - obj_frame_tiles(gEventObjectPic_Drake_1), - obj_frame_tiles(gEventObjectPic_Drake_1), - obj_frame_tiles(gEventObjectPic_Drake_2), - obj_frame_tiles(gEventObjectPic_Drake_2), + overworld_frame(gEventObjectPic_Drake, 16, 32, 0), + overworld_frame(gEventObjectPic_Drake, 16, 32, 1), + overworld_frame(gEventObjectPic_Drake, 16, 32, 2), + overworld_frame(gEventObjectPic_Drake, 16, 32, 0), + overworld_frame(gEventObjectPic_Drake, 16, 32, 0), + overworld_frame(gEventObjectPic_Drake, 16, 32, 1), + overworld_frame(gEventObjectPic_Drake, 16, 32, 1), + overworld_frame(gEventObjectPic_Drake, 16, 32, 2), + overworld_frame(gEventObjectPic_Drake, 16, 32, 2), }; const struct SpriteFrameImage gEventObjectPicTable_Roxanne[] = { - obj_frame_tiles(gEventObjectPic_Roxanne_0), - obj_frame_tiles(gEventObjectPic_Roxanne_1), - obj_frame_tiles(gEventObjectPic_Roxanne_2), - obj_frame_tiles(gEventObjectPic_Roxanne_0), - obj_frame_tiles(gEventObjectPic_Roxanne_0), - obj_frame_tiles(gEventObjectPic_Roxanne_1), - obj_frame_tiles(gEventObjectPic_Roxanne_1), - obj_frame_tiles(gEventObjectPic_Roxanne_2), - obj_frame_tiles(gEventObjectPic_Roxanne_2), + overworld_frame(gEventObjectPic_Roxanne, 16, 32, 0), + overworld_frame(gEventObjectPic_Roxanne, 16, 32, 1), + overworld_frame(gEventObjectPic_Roxanne, 16, 32, 2), + overworld_frame(gEventObjectPic_Roxanne, 16, 32, 0), + overworld_frame(gEventObjectPic_Roxanne, 16, 32, 0), + overworld_frame(gEventObjectPic_Roxanne, 16, 32, 1), + overworld_frame(gEventObjectPic_Roxanne, 16, 32, 1), + overworld_frame(gEventObjectPic_Roxanne, 16, 32, 2), + overworld_frame(gEventObjectPic_Roxanne, 16, 32, 2), }; const struct SpriteFrameImage gEventObjectPicTable_Brawly[] = { - obj_frame_tiles(gEventObjectPic_Brawly_0), - obj_frame_tiles(gEventObjectPic_Brawly_1), - obj_frame_tiles(gEventObjectPic_Brawly_2), - obj_frame_tiles(gEventObjectPic_Brawly_0), - obj_frame_tiles(gEventObjectPic_Brawly_0), - obj_frame_tiles(gEventObjectPic_Brawly_1), - obj_frame_tiles(gEventObjectPic_Brawly_1), - obj_frame_tiles(gEventObjectPic_Brawly_2), - obj_frame_tiles(gEventObjectPic_Brawly_2), + overworld_frame(gEventObjectPic_Brawly, 16, 32, 0), + overworld_frame(gEventObjectPic_Brawly, 16, 32, 1), + overworld_frame(gEventObjectPic_Brawly, 16, 32, 2), + overworld_frame(gEventObjectPic_Brawly, 16, 32, 0), + overworld_frame(gEventObjectPic_Brawly, 16, 32, 0), + overworld_frame(gEventObjectPic_Brawly, 16, 32, 1), + overworld_frame(gEventObjectPic_Brawly, 16, 32, 1), + overworld_frame(gEventObjectPic_Brawly, 16, 32, 2), + overworld_frame(gEventObjectPic_Brawly, 16, 32, 2), }; const struct SpriteFrameImage gEventObjectPicTable_Wattson[] = { - obj_frame_tiles(gEventObjectPic_Wattson_0), - obj_frame_tiles(gEventObjectPic_Wattson_1), - obj_frame_tiles(gEventObjectPic_Wattson_2), - obj_frame_tiles(gEventObjectPic_Wattson_0), - obj_frame_tiles(gEventObjectPic_Wattson_0), - obj_frame_tiles(gEventObjectPic_Wattson_1), - obj_frame_tiles(gEventObjectPic_Wattson_1), - obj_frame_tiles(gEventObjectPic_Wattson_2), - obj_frame_tiles(gEventObjectPic_Wattson_2), + overworld_frame(gEventObjectPic_Wattson, 16, 32, 0), + overworld_frame(gEventObjectPic_Wattson, 16, 32, 1), + overworld_frame(gEventObjectPic_Wattson, 16, 32, 2), + overworld_frame(gEventObjectPic_Wattson, 16, 32, 0), + overworld_frame(gEventObjectPic_Wattson, 16, 32, 0), + overworld_frame(gEventObjectPic_Wattson, 16, 32, 1), + overworld_frame(gEventObjectPic_Wattson, 16, 32, 1), + overworld_frame(gEventObjectPic_Wattson, 16, 32, 2), + overworld_frame(gEventObjectPic_Wattson, 16, 32, 2), }; const struct SpriteFrameImage gEventObjectPicTable_Flannery[] = { - obj_frame_tiles(gEventObjectPic_Flannery_0), - obj_frame_tiles(gEventObjectPic_Flannery_1), - obj_frame_tiles(gEventObjectPic_Flannery_2), - obj_frame_tiles(gEventObjectPic_Flannery_0), - obj_frame_tiles(gEventObjectPic_Flannery_0), - obj_frame_tiles(gEventObjectPic_Flannery_1), - obj_frame_tiles(gEventObjectPic_Flannery_1), - obj_frame_tiles(gEventObjectPic_Flannery_2), - obj_frame_tiles(gEventObjectPic_Flannery_2), + overworld_frame(gEventObjectPic_Flannery, 16, 32, 0), + overworld_frame(gEventObjectPic_Flannery, 16, 32, 1), + overworld_frame(gEventObjectPic_Flannery, 16, 32, 2), + overworld_frame(gEventObjectPic_Flannery, 16, 32, 0), + overworld_frame(gEventObjectPic_Flannery, 16, 32, 0), + overworld_frame(gEventObjectPic_Flannery, 16, 32, 1), + overworld_frame(gEventObjectPic_Flannery, 16, 32, 1), + overworld_frame(gEventObjectPic_Flannery, 16, 32, 2), + overworld_frame(gEventObjectPic_Flannery, 16, 32, 2), }; const struct SpriteFrameImage gEventObjectPicTable_Norman[] = { - obj_frame_tiles(gEventObjectPic_Norman_0), - obj_frame_tiles(gEventObjectPic_Norman_1), - obj_frame_tiles(gEventObjectPic_Norman_2), - obj_frame_tiles(gEventObjectPic_Norman_3), - obj_frame_tiles(gEventObjectPic_Norman_4), - obj_frame_tiles(gEventObjectPic_Norman_5), - obj_frame_tiles(gEventObjectPic_Norman_6), - obj_frame_tiles(gEventObjectPic_Norman_7), - obj_frame_tiles(gEventObjectPic_Norman_8), + overworld_frame(gEventObjectPic_Norman, 16, 32, 0), + overworld_frame(gEventObjectPic_Norman, 16, 32, 1), + overworld_frame(gEventObjectPic_Norman, 16, 32, 2), + overworld_frame(gEventObjectPic_Norman, 16, 32, 3), + overworld_frame(gEventObjectPic_Norman, 16, 32, 4), + overworld_frame(gEventObjectPic_Norman, 16, 32, 5), + overworld_frame(gEventObjectPic_Norman, 16, 32, 6), + overworld_frame(gEventObjectPic_Norman, 16, 32, 7), + overworld_frame(gEventObjectPic_Norman, 16, 32, 8), }; const struct SpriteFrameImage gEventObjectPicTable_Winona[] = { - obj_frame_tiles(gEventObjectPic_Winona_0), - obj_frame_tiles(gEventObjectPic_Winona_1), - obj_frame_tiles(gEventObjectPic_Winona_2), - obj_frame_tiles(gEventObjectPic_Winona_0), - obj_frame_tiles(gEventObjectPic_Winona_0), - obj_frame_tiles(gEventObjectPic_Winona_1), - obj_frame_tiles(gEventObjectPic_Winona_1), - obj_frame_tiles(gEventObjectPic_Winona_2), - obj_frame_tiles(gEventObjectPic_Winona_2), + overworld_frame(gEventObjectPic_Winona, 16, 32, 0), + overworld_frame(gEventObjectPic_Winona, 16, 32, 1), + overworld_frame(gEventObjectPic_Winona, 16, 32, 2), + overworld_frame(gEventObjectPic_Winona, 16, 32, 0), + overworld_frame(gEventObjectPic_Winona, 16, 32, 0), + overworld_frame(gEventObjectPic_Winona, 16, 32, 1), + overworld_frame(gEventObjectPic_Winona, 16, 32, 1), + overworld_frame(gEventObjectPic_Winona, 16, 32, 2), + overworld_frame(gEventObjectPic_Winona, 16, 32, 2), }; const struct SpriteFrameImage gEventObjectPicTable_Liza[] = { - obj_frame_tiles(gEventObjectPic_Liza_0), - obj_frame_tiles(gEventObjectPic_Liza_1), - obj_frame_tiles(gEventObjectPic_Liza_2), - obj_frame_tiles(gEventObjectPic_Liza_0), - obj_frame_tiles(gEventObjectPic_Liza_0), - obj_frame_tiles(gEventObjectPic_Liza_1), - obj_frame_tiles(gEventObjectPic_Liza_1), - obj_frame_tiles(gEventObjectPic_Liza_2), - obj_frame_tiles(gEventObjectPic_Liza_2), + overworld_frame(gEventObjectPic_Liza, 16, 32, 0), + overworld_frame(gEventObjectPic_Liza, 16, 32, 1), + overworld_frame(gEventObjectPic_Liza, 16, 32, 2), + overworld_frame(gEventObjectPic_Liza, 16, 32, 0), + overworld_frame(gEventObjectPic_Liza, 16, 32, 0), + overworld_frame(gEventObjectPic_Liza, 16, 32, 1), + overworld_frame(gEventObjectPic_Liza, 16, 32, 1), + overworld_frame(gEventObjectPic_Liza, 16, 32, 2), + overworld_frame(gEventObjectPic_Liza, 16, 32, 2), }; const struct SpriteFrameImage gEventObjectPicTable_Tate[] = { - obj_frame_tiles(gEventObjectPic_Tate_0), - obj_frame_tiles(gEventObjectPic_Tate_1), - obj_frame_tiles(gEventObjectPic_Tate_2), - obj_frame_tiles(gEventObjectPic_Tate_0), - obj_frame_tiles(gEventObjectPic_Tate_0), - obj_frame_tiles(gEventObjectPic_Tate_1), - obj_frame_tiles(gEventObjectPic_Tate_1), - obj_frame_tiles(gEventObjectPic_Tate_2), - obj_frame_tiles(gEventObjectPic_Tate_2), + overworld_frame(gEventObjectPic_Tate, 16, 32, 0), + overworld_frame(gEventObjectPic_Tate, 16, 32, 1), + overworld_frame(gEventObjectPic_Tate, 16, 32, 2), + overworld_frame(gEventObjectPic_Tate, 16, 32, 0), + overworld_frame(gEventObjectPic_Tate, 16, 32, 0), + overworld_frame(gEventObjectPic_Tate, 16, 32, 1), + overworld_frame(gEventObjectPic_Tate, 16, 32, 1), + overworld_frame(gEventObjectPic_Tate, 16, 32, 2), + overworld_frame(gEventObjectPic_Tate, 16, 32, 2), }; const struct SpriteFrameImage gEventObjectPicTable_Wallace[] = { - obj_frame_tiles(gEventObjectPic_Wallace_0), - obj_frame_tiles(gEventObjectPic_Wallace_1), - obj_frame_tiles(gEventObjectPic_Wallace_2), - obj_frame_tiles(gEventObjectPic_Wallace_3), - obj_frame_tiles(gEventObjectPic_Wallace_4), - obj_frame_tiles(gEventObjectPic_Wallace_5), - obj_frame_tiles(gEventObjectPic_Wallace_6), - obj_frame_tiles(gEventObjectPic_Wallace_7), - obj_frame_tiles(gEventObjectPic_Wallace_8), + overworld_frame(gEventObjectPic_Wallace, 16, 32, 0), + overworld_frame(gEventObjectPic_Wallace, 16, 32, 1), + overworld_frame(gEventObjectPic_Wallace, 16, 32, 2), + overworld_frame(gEventObjectPic_Wallace, 16, 32, 3), + overworld_frame(gEventObjectPic_Wallace, 16, 32, 4), + overworld_frame(gEventObjectPic_Wallace, 16, 32, 5), + overworld_frame(gEventObjectPic_Wallace, 16, 32, 6), + overworld_frame(gEventObjectPic_Wallace, 16, 32, 7), + overworld_frame(gEventObjectPic_Wallace, 16, 32, 8), }; const struct SpriteFrameImage gEventObjectPicTable_Steven[] = { - obj_frame_tiles(gEventObjectPic_Steven_0), - obj_frame_tiles(gEventObjectPic_Steven_1), - obj_frame_tiles(gEventObjectPic_Steven_2), - obj_frame_tiles(gEventObjectPic_Steven_3), - obj_frame_tiles(gEventObjectPic_Steven_4), - obj_frame_tiles(gEventObjectPic_Steven_5), - obj_frame_tiles(gEventObjectPic_Steven_6), - obj_frame_tiles(gEventObjectPic_Steven_7), - obj_frame_tiles(gEventObjectPic_Steven_8), + overworld_frame(gEventObjectPic_Steven, 16, 32, 0), + overworld_frame(gEventObjectPic_Steven, 16, 32, 1), + overworld_frame(gEventObjectPic_Steven, 16, 32, 2), + overworld_frame(gEventObjectPic_Steven, 16, 32, 3), + overworld_frame(gEventObjectPic_Steven, 16, 32, 4), + overworld_frame(gEventObjectPic_Steven, 16, 32, 5), + overworld_frame(gEventObjectPic_Steven, 16, 32, 6), + overworld_frame(gEventObjectPic_Steven, 16, 32, 7), + overworld_frame(gEventObjectPic_Steven, 16, 32, 8), }; const struct SpriteFrameImage gEventObjectPicTable_Wally[] = { - obj_frame_tiles(gEventObjectPic_Wally_0), - obj_frame_tiles(gEventObjectPic_Wally_1), - obj_frame_tiles(gEventObjectPic_Wally_2), - obj_frame_tiles(gEventObjectPic_Wally_3), - obj_frame_tiles(gEventObjectPic_Wally_4), - obj_frame_tiles(gEventObjectPic_Wally_5), - obj_frame_tiles(gEventObjectPic_Wally_6), - obj_frame_tiles(gEventObjectPic_Wally_7), - obj_frame_tiles(gEventObjectPic_Wally_8), + overworld_frame(gEventObjectPic_Wally, 16, 32, 0), + overworld_frame(gEventObjectPic_Wally, 16, 32, 1), + overworld_frame(gEventObjectPic_Wally, 16, 32, 2), + overworld_frame(gEventObjectPic_Wally, 16, 32, 3), + overworld_frame(gEventObjectPic_Wally, 16, 32, 4), + overworld_frame(gEventObjectPic_Wally, 16, 32, 5), + overworld_frame(gEventObjectPic_Wally, 16, 32, 6), + overworld_frame(gEventObjectPic_Wally, 16, 32, 7), + overworld_frame(gEventObjectPic_Wally, 16, 32, 8), }; const struct SpriteFrameImage gEventObjectPicTable_RubySapphireLittleBoy[] = { - obj_frame_tiles(gEventObjectPic_RubySapphireLittleBoy_0), - obj_frame_tiles(gEventObjectPic_RubySapphireLittleBoy_1), - obj_frame_tiles(gEventObjectPic_RubySapphireLittleBoy_2), - obj_frame_tiles(gEventObjectPic_RubySapphireLittleBoy_3), - obj_frame_tiles(gEventObjectPic_RubySapphireLittleBoy_4), - obj_frame_tiles(gEventObjectPic_RubySapphireLittleBoy_5), - obj_frame_tiles(gEventObjectPic_RubySapphireLittleBoy_6), - obj_frame_tiles(gEventObjectPic_RubySapphireLittleBoy_7), - obj_frame_tiles(gEventObjectPic_RubySapphireLittleBoy_8), + overworld_frame(gEventObjectPic_RubySapphireLittleBoy, 16, 16, 0), + overworld_frame(gEventObjectPic_RubySapphireLittleBoy, 16, 16, 1), + overworld_frame(gEventObjectPic_RubySapphireLittleBoy, 16, 16, 2), + overworld_frame(gEventObjectPic_RubySapphireLittleBoy, 16, 16, 3), + overworld_frame(gEventObjectPic_RubySapphireLittleBoy, 16, 16, 4), + overworld_frame(gEventObjectPic_RubySapphireLittleBoy, 16, 16, 5), + overworld_frame(gEventObjectPic_RubySapphireLittleBoy, 16, 16, 6), + overworld_frame(gEventObjectPic_RubySapphireLittleBoy, 16, 16, 7), + overworld_frame(gEventObjectPic_RubySapphireLittleBoy, 16, 16, 8), }; const struct SpriteFrameImage gEventObjectPicTable_BrendanFishing[] = { - obj_frame_tiles(gEventObjectPic_BrendanFishing_0), - obj_frame_tiles(gEventObjectPic_BrendanFishing_1), - obj_frame_tiles(gEventObjectPic_BrendanFishing_2), - obj_frame_tiles(gEventObjectPic_BrendanFishing_3), - obj_frame_tiles(gEventObjectPic_BrendanFishing_4), - obj_frame_tiles(gEventObjectPic_BrendanFishing_5), - obj_frame_tiles(gEventObjectPic_BrendanFishing_6), - obj_frame_tiles(gEventObjectPic_BrendanFishing_7), - obj_frame_tiles(gEventObjectPic_BrendanFishing_8), - obj_frame_tiles(gEventObjectPic_BrendanFishing_9), - obj_frame_tiles(gEventObjectPic_BrendanFishing_10), - obj_frame_tiles(gEventObjectPic_BrendanFishing_11), + overworld_frame(gEventObjectPic_BrendanFishing, 32, 32, 0), + overworld_frame(gEventObjectPic_BrendanFishing, 32, 32, 1), + overworld_frame(gEventObjectPic_BrendanFishing, 32, 32, 2), + overworld_frame(gEventObjectPic_BrendanFishing, 32, 32, 3), + overworld_frame(gEventObjectPic_BrendanFishing, 32, 32, 4), + overworld_frame(gEventObjectPic_BrendanFishing, 32, 32, 5), + overworld_frame(gEventObjectPic_BrendanFishing, 32, 32, 6), + overworld_frame(gEventObjectPic_BrendanFishing, 32, 32, 7), + overworld_frame(gEventObjectPic_BrendanFishing, 32, 32, 8), + overworld_frame(gEventObjectPic_BrendanFishing, 32, 32, 9), + overworld_frame(gEventObjectPic_BrendanFishing, 32, 32, 10), + overworld_frame(gEventObjectPic_BrendanFishing, 32, 32, 11), }; const struct SpriteFrameImage gEventObjectPicTable_MayFishing[] = { - obj_frame_tiles(gEventObjectPic_MayFishing_0), - obj_frame_tiles(gEventObjectPic_MayFishing_1), - obj_frame_tiles(gEventObjectPic_MayFishing_2), - obj_frame_tiles(gEventObjectPic_MayFishing_3), - obj_frame_tiles(gEventObjectPic_MayFishing_4), - obj_frame_tiles(gEventObjectPic_MayFishing_5), - obj_frame_tiles(gEventObjectPic_MayFishing_6), - obj_frame_tiles(gEventObjectPic_MayFishing_7), - obj_frame_tiles(gEventObjectPic_MayFishing_8), - obj_frame_tiles(gEventObjectPic_MayFishing_9), - obj_frame_tiles(gEventObjectPic_MayFishing_10), - obj_frame_tiles(gEventObjectPic_MayFishing_11), + overworld_frame(gEventObjectPic_MayFishing, 32, 32, 0), + overworld_frame(gEventObjectPic_MayFishing, 32, 32, 1), + overworld_frame(gEventObjectPic_MayFishing, 32, 32, 2), + overworld_frame(gEventObjectPic_MayFishing, 32, 32, 3), + overworld_frame(gEventObjectPic_MayFishing, 32, 32, 4), + overworld_frame(gEventObjectPic_MayFishing, 32, 32, 5), + overworld_frame(gEventObjectPic_MayFishing, 32, 32, 6), + overworld_frame(gEventObjectPic_MayFishing, 32, 32, 7), + overworld_frame(gEventObjectPic_MayFishing, 32, 32, 8), + overworld_frame(gEventObjectPic_MayFishing, 32, 32, 9), + overworld_frame(gEventObjectPic_MayFishing, 32, 32, 10), + overworld_frame(gEventObjectPic_MayFishing, 32, 32, 11), }; const struct SpriteFrameImage gEventObjectPicTable_HotSpringsOldWoman[] = { - obj_frame_tiles(gEventObjectPic_HotSpringsOldWoman_0), - obj_frame_tiles(gEventObjectPic_HotSpringsOldWoman_1), - obj_frame_tiles(gEventObjectPic_HotSpringsOldWoman_2), - obj_frame_tiles(gEventObjectPic_HotSpringsOldWoman_3), - obj_frame_tiles(gEventObjectPic_HotSpringsOldWoman_4), - obj_frame_tiles(gEventObjectPic_HotSpringsOldWoman_5), - obj_frame_tiles(gEventObjectPic_HotSpringsOldWoman_6), - obj_frame_tiles(gEventObjectPic_HotSpringsOldWoman_7), - obj_frame_tiles(gEventObjectPic_HotSpringsOldWoman_8), + overworld_frame(gEventObjectPic_HotSpringsOldWoman, 16, 32, 0), + overworld_frame(gEventObjectPic_HotSpringsOldWoman, 16, 32, 1), + overworld_frame(gEventObjectPic_HotSpringsOldWoman, 16, 32, 2), + overworld_frame(gEventObjectPic_HotSpringsOldWoman, 16, 32, 3), + overworld_frame(gEventObjectPic_HotSpringsOldWoman, 16, 32, 4), + overworld_frame(gEventObjectPic_HotSpringsOldWoman, 16, 32, 5), + overworld_frame(gEventObjectPic_HotSpringsOldWoman, 16, 32, 6), + overworld_frame(gEventObjectPic_HotSpringsOldWoman, 16, 32, 7), + overworld_frame(gEventObjectPic_HotSpringsOldWoman, 16, 32, 8), }; const struct SpriteFrameImage gEventObjectPicTable_SSTidal[] = { @@ -1621,63 +1621,63 @@ const struct SpriteFrameImage gEventObjectPicTable_BigRegisteelDoll[] = { }; const struct SpriteFrameImage gEventObjectPicTable_LatiasLatios[] = { - obj_frame_tiles(gEventObjectPic_LatiasLatios_0), - obj_frame_tiles(gEventObjectPic_LatiasLatios_0), - obj_frame_tiles(gEventObjectPic_LatiasLatios_0), - obj_frame_tiles(gEventObjectPic_LatiasLatios_1), - obj_frame_tiles(gEventObjectPic_LatiasLatios_2), - obj_frame_tiles(gEventObjectPic_LatiasLatios_1), - obj_frame_tiles(gEventObjectPic_LatiasLatios_2), - obj_frame_tiles(gEventObjectPic_LatiasLatios_1), - obj_frame_tiles(gEventObjectPic_LatiasLatios_2), + overworld_frame(gEventObjectPic_LatiasLatios, 32, 32, 0), + overworld_frame(gEventObjectPic_LatiasLatios, 32, 32, 0), + overworld_frame(gEventObjectPic_LatiasLatios, 32, 32, 0), + overworld_frame(gEventObjectPic_LatiasLatios, 32, 32, 1), + overworld_frame(gEventObjectPic_LatiasLatios, 32, 32, 2), + overworld_frame(gEventObjectPic_LatiasLatios, 32, 32, 1), + overworld_frame(gEventObjectPic_LatiasLatios, 32, 32, 2), + overworld_frame(gEventObjectPic_LatiasLatios, 32, 32, 1), + overworld_frame(gEventObjectPic_LatiasLatios, 32, 32, 2), }; const struct SpriteFrameImage gEventObjectPicTable_Boy5[] = { - obj_frame_tiles(gEventObjectPic_Boy5_0), - obj_frame_tiles(gEventObjectPic_Boy5_1), - obj_frame_tiles(gEventObjectPic_Boy5_2), - obj_frame_tiles(gEventObjectPic_Boy5_0), - obj_frame_tiles(gEventObjectPic_Boy5_0), - obj_frame_tiles(gEventObjectPic_Boy5_1), - obj_frame_tiles(gEventObjectPic_Boy5_1), - obj_frame_tiles(gEventObjectPic_Boy5_2), - obj_frame_tiles(gEventObjectPic_Boy5_2), + overworld_frame(gEventObjectPic_Boy5, 16, 32, 0), + overworld_frame(gEventObjectPic_Boy5, 16, 32, 1), + overworld_frame(gEventObjectPic_Boy5, 16, 32, 2), + overworld_frame(gEventObjectPic_Boy5, 16, 32, 0), + overworld_frame(gEventObjectPic_Boy5, 16, 32, 0), + overworld_frame(gEventObjectPic_Boy5, 16, 32, 1), + overworld_frame(gEventObjectPic_Boy5, 16, 32, 1), + overworld_frame(gEventObjectPic_Boy5, 16, 32, 2), + overworld_frame(gEventObjectPic_Boy5, 16, 32, 2), }; const struct SpriteFrameImage gEventObjectPicTable_ContestOldMan[] = { - obj_frame_tiles(gEventObjectPic_ContestOldMan_0), - obj_frame_tiles(gEventObjectPic_ContestOldMan_1), - obj_frame_tiles(gEventObjectPic_ContestOldMan_2), - obj_frame_tiles(gEventObjectPic_ContestOldMan_3), - obj_frame_tiles(gEventObjectPic_ContestOldMan_4), - obj_frame_tiles(gEventObjectPic_ContestOldMan_5), - obj_frame_tiles(gEventObjectPic_ContestOldMan_6), - obj_frame_tiles(gEventObjectPic_ContestOldMan_7), - obj_frame_tiles(gEventObjectPic_ContestOldMan_8), + overworld_frame(gEventObjectPic_ContestOldMan, 16, 32, 0), + overworld_frame(gEventObjectPic_ContestOldMan, 16, 32, 1), + overworld_frame(gEventObjectPic_ContestOldMan, 16, 32, 2), + overworld_frame(gEventObjectPic_ContestOldMan, 16, 32, 3), + overworld_frame(gEventObjectPic_ContestOldMan, 16, 32, 4), + overworld_frame(gEventObjectPic_ContestOldMan, 16, 32, 5), + overworld_frame(gEventObjectPic_ContestOldMan, 16, 32, 6), + overworld_frame(gEventObjectPic_ContestOldMan, 16, 32, 7), + overworld_frame(gEventObjectPic_ContestOldMan, 16, 32, 8), }; const struct SpriteFrameImage gEventObjectPicTable_BrendanWatering[] = { - obj_frame_tiles(gEventObjectPic_BrendanWatering_0), - obj_frame_tiles(gEventObjectPic_BrendanWatering_1), - obj_frame_tiles(gEventObjectPic_BrendanWatering_2), - obj_frame_tiles(gEventObjectPic_BrendanWatering_3), - obj_frame_tiles(gEventObjectPic_BrendanWatering_3), - obj_frame_tiles(gEventObjectPic_BrendanWatering_4), - obj_frame_tiles(gEventObjectPic_BrendanWatering_4), - obj_frame_tiles(gEventObjectPic_BrendanWatering_5), - obj_frame_tiles(gEventObjectPic_BrendanWatering_5), + overworld_frame(gEventObjectPic_BrendanWatering, 32, 32, 0), + overworld_frame(gEventObjectPic_BrendanWatering, 32, 32, 1), + overworld_frame(gEventObjectPic_BrendanWatering, 32, 32, 2), + overworld_frame(gEventObjectPic_BrendanWatering, 32, 32, 3), + overworld_frame(gEventObjectPic_BrendanWatering, 32, 32, 3), + overworld_frame(gEventObjectPic_BrendanWatering, 32, 32, 4), + overworld_frame(gEventObjectPic_BrendanWatering, 32, 32, 4), + overworld_frame(gEventObjectPic_BrendanWatering, 32, 32, 5), + overworld_frame(gEventObjectPic_BrendanWatering, 32, 32, 5), }; const struct SpriteFrameImage gEventObjectPicTable_MayWatering[] = { - obj_frame_tiles(gEventObjectPic_MayWatering_0), - obj_frame_tiles(gEventObjectPic_MayWatering_1), - obj_frame_tiles(gEventObjectPic_MayWatering_2), - obj_frame_tiles(gEventObjectPic_MayWatering_3), - obj_frame_tiles(gEventObjectPic_MayWatering_3), - obj_frame_tiles(gEventObjectPic_MayWatering_4), - obj_frame_tiles(gEventObjectPic_MayWatering_4), - obj_frame_tiles(gEventObjectPic_MayWatering_5), - obj_frame_tiles(gEventObjectPic_MayWatering_5), + overworld_frame(gEventObjectPic_MayWatering, 32, 32, 0), + overworld_frame(gEventObjectPic_MayWatering, 32, 32, 1), + overworld_frame(gEventObjectPic_MayWatering, 32, 32, 2), + overworld_frame(gEventObjectPic_MayWatering, 32, 32, 3), + overworld_frame(gEventObjectPic_MayWatering, 32, 32, 3), + overworld_frame(gEventObjectPic_MayWatering, 32, 32, 4), + overworld_frame(gEventObjectPic_MayWatering, 32, 32, 4), + overworld_frame(gEventObjectPic_MayWatering, 32, 32, 5), + overworld_frame(gEventObjectPic_MayWatering, 32, 32, 5), }; const struct SpriteFrameImage gEventObjectPicTable_BrendanDecorating[] = { @@ -1689,75 +1689,75 @@ const struct SpriteFrameImage gEventObjectPicTable_MayDecorating[] = { }; const struct SpriteFrameImage gEventObjectPicTable_Archie[] = { - obj_frame_tiles(gEventObjectPic_Archie_0), - obj_frame_tiles(gEventObjectPic_Archie_1), - obj_frame_tiles(gEventObjectPic_Archie_2), - obj_frame_tiles(gEventObjectPic_Archie_3), - obj_frame_tiles(gEventObjectPic_Archie_4), - obj_frame_tiles(gEventObjectPic_Archie_5), - obj_frame_tiles(gEventObjectPic_Archie_6), - obj_frame_tiles(gEventObjectPic_Archie_7), - obj_frame_tiles(gEventObjectPic_Archie_8), + overworld_frame(gEventObjectPic_Archie, 16, 32, 0), + overworld_frame(gEventObjectPic_Archie, 16, 32, 1), + overworld_frame(gEventObjectPic_Archie, 16, 32, 2), + overworld_frame(gEventObjectPic_Archie, 16, 32, 3), + overworld_frame(gEventObjectPic_Archie, 16, 32, 4), + overworld_frame(gEventObjectPic_Archie, 16, 32, 5), + overworld_frame(gEventObjectPic_Archie, 16, 32, 6), + overworld_frame(gEventObjectPic_Archie, 16, 32, 7), + overworld_frame(gEventObjectPic_Archie, 16, 32, 8), }; const struct SpriteFrameImage gEventObjectPicTable_Maxie[] = { - obj_frame_tiles(gEventObjectPic_Maxie_0), - obj_frame_tiles(gEventObjectPic_Maxie_1), - obj_frame_tiles(gEventObjectPic_Maxie_2), - obj_frame_tiles(gEventObjectPic_Maxie_3), - obj_frame_tiles(gEventObjectPic_Maxie_4), - obj_frame_tiles(gEventObjectPic_Maxie_5), - obj_frame_tiles(gEventObjectPic_Maxie_6), - obj_frame_tiles(gEventObjectPic_Maxie_7), - obj_frame_tiles(gEventObjectPic_Maxie_8), + overworld_frame(gEventObjectPic_Maxie, 16, 32, 0), + overworld_frame(gEventObjectPic_Maxie, 16, 32, 1), + overworld_frame(gEventObjectPic_Maxie, 16, 32, 2), + overworld_frame(gEventObjectPic_Maxie, 16, 32, 3), + overworld_frame(gEventObjectPic_Maxie, 16, 32, 4), + overworld_frame(gEventObjectPic_Maxie, 16, 32, 5), + overworld_frame(gEventObjectPic_Maxie, 16, 32, 6), + overworld_frame(gEventObjectPic_Maxie, 16, 32, 7), + overworld_frame(gEventObjectPic_Maxie, 16, 32, 8), }; const struct SpriteFrameImage gEventObjectPicTable_KyogreFront[] = { - obj_frame_tiles(gEventObjectPic_KyogreFront_0), - obj_frame_tiles(gEventObjectPic_KyogreFront_0), - obj_frame_tiles(gEventObjectPic_KyogreFront_0), - obj_frame_tiles(gEventObjectPic_KyogreFront_1), - obj_frame_tiles(gEventObjectPic_KyogreFront_1), - obj_frame_tiles(gEventObjectPic_KyogreFront_1), - obj_frame_tiles(gEventObjectPic_KyogreFront_1), - obj_frame_tiles(gEventObjectPic_KyogreFront_1), - obj_frame_tiles(gEventObjectPic_KyogreFront_1), + overworld_frame(gEventObjectPic_Kyogre, 32, 32, 0), + overworld_frame(gEventObjectPic_Kyogre, 32, 32, 0), + overworld_frame(gEventObjectPic_Kyogre, 32, 32, 0), + overworld_frame(gEventObjectPic_Kyogre, 32, 32, 1), + overworld_frame(gEventObjectPic_Kyogre, 32, 32, 1), + overworld_frame(gEventObjectPic_Kyogre, 32, 32, 1), + overworld_frame(gEventObjectPic_Kyogre, 32, 32, 1), + overworld_frame(gEventObjectPic_Kyogre, 32, 32, 1), + overworld_frame(gEventObjectPic_Kyogre, 32, 32, 1), }; const struct SpriteFrameImage gEventObjectPicTable_GroudonFront[] = { - obj_frame_tiles(gEventObjectPic_GroudonFront_0), - obj_frame_tiles(gEventObjectPic_GroudonFront_0), - obj_frame_tiles(gEventObjectPic_GroudonFront_0), - obj_frame_tiles(gEventObjectPic_GroudonFront_1), - obj_frame_tiles(gEventObjectPic_GroudonFront_1), - obj_frame_tiles(gEventObjectPic_GroudonFront_1), - obj_frame_tiles(gEventObjectPic_GroudonFront_1), - obj_frame_tiles(gEventObjectPic_GroudonFront_1), - obj_frame_tiles(gEventObjectPic_GroudonFront_1), + overworld_frame(gEventObjectPic_Groudon, 32, 32, 0), + overworld_frame(gEventObjectPic_Groudon, 32, 32, 0), + overworld_frame(gEventObjectPic_Groudon, 32, 32, 0), + overworld_frame(gEventObjectPic_Groudon, 32, 32, 1), + overworld_frame(gEventObjectPic_Groudon, 32, 32, 1), + overworld_frame(gEventObjectPic_Groudon, 32, 32, 1), + overworld_frame(gEventObjectPic_Groudon, 32, 32, 1), + overworld_frame(gEventObjectPic_Groudon, 32, 32, 1), + overworld_frame(gEventObjectPic_Groudon, 32, 32, 1), }; const struct SpriteFrameImage gEventObjectPicTable_KyogreSide[] = { - obj_frame_tiles(gEventObjectPic_KyogreSide_0), - obj_frame_tiles(gEventObjectPic_KyogreSide_0), - obj_frame_tiles(gEventObjectPic_KyogreSide_0), - obj_frame_tiles(gEventObjectPic_KyogreSide_1), - obj_frame_tiles(gEventObjectPic_KyogreSide_1), - obj_frame_tiles(gEventObjectPic_KyogreSide_1), - obj_frame_tiles(gEventObjectPic_KyogreSide_1), - obj_frame_tiles(gEventObjectPic_KyogreSide_1), - obj_frame_tiles(gEventObjectPic_KyogreSide_1), + overworld_frame(gEventObjectPic_Kyogre, 32, 32, 2), + overworld_frame(gEventObjectPic_Kyogre, 32, 32, 2), + overworld_frame(gEventObjectPic_Kyogre, 32, 32, 2), + overworld_frame(gEventObjectPic_Kyogre, 32, 32, 3), + overworld_frame(gEventObjectPic_Kyogre, 32, 32, 3), + overworld_frame(gEventObjectPic_Kyogre, 32, 32, 3), + overworld_frame(gEventObjectPic_Kyogre, 32, 32, 3), + overworld_frame(gEventObjectPic_Kyogre, 32, 32, 3), + overworld_frame(gEventObjectPic_Kyogre, 32, 32, 3), }; const struct SpriteFrameImage gEventObjectPicTable_GroudonSide[] = { - obj_frame_tiles(gEventObjectPic_GroudonSide_0), - obj_frame_tiles(gEventObjectPic_GroudonSide_0), - obj_frame_tiles(gEventObjectPic_GroudonSide_0), - obj_frame_tiles(gEventObjectPic_GroudonSide_1), - obj_frame_tiles(gEventObjectPic_GroudonSide_1), - obj_frame_tiles(gEventObjectPic_GroudonSide_1), - obj_frame_tiles(gEventObjectPic_GroudonSide_1), - obj_frame_tiles(gEventObjectPic_GroudonSide_1), - obj_frame_tiles(gEventObjectPic_GroudonSide_1), + overworld_frame(gEventObjectPic_Groudon, 32, 32, 2), + overworld_frame(gEventObjectPic_Groudon, 32, 32, 2), + overworld_frame(gEventObjectPic_Groudon, 32, 32, 2), + overworld_frame(gEventObjectPic_Groudon, 32, 32, 3), + overworld_frame(gEventObjectPic_Groudon, 32, 32, 3), + overworld_frame(gEventObjectPic_Groudon, 32, 32, 3), + overworld_frame(gEventObjectPic_Groudon, 32, 32, 3), + overworld_frame(gEventObjectPic_Groudon, 32, 32, 3), + overworld_frame(gEventObjectPic_Groudon, 32, 32, 3), }; const struct SpriteFrameImage gEventObjectPicTable_Fossil[] = { @@ -1777,35 +1777,35 @@ const struct SpriteFrameImage gEventObjectPicTable_Regi[] = { }; const struct SpriteFrameImage gEventObjectPicTable_Skitty[] = { - obj_frame_tiles(gEventObjectPic_Skitty_0), - obj_frame_tiles(gEventObjectPic_Skitty_1), - obj_frame_tiles(gEventObjectPic_Skitty_2), - obj_frame_tiles(gEventObjectPic_Skitty_0), - obj_frame_tiles(gEventObjectPic_Skitty_0), - obj_frame_tiles(gEventObjectPic_Skitty_1), - obj_frame_tiles(gEventObjectPic_Skitty_1), - obj_frame_tiles(gEventObjectPic_Skitty_2), - obj_frame_tiles(gEventObjectPic_Skitty_2), + overworld_frame(gEventObjectPic_Skitty, 16, 16, 0), + overworld_frame(gEventObjectPic_Skitty, 16, 16, 1), + overworld_frame(gEventObjectPic_Skitty, 16, 16, 2), + overworld_frame(gEventObjectPic_Skitty, 16, 16, 0), + overworld_frame(gEventObjectPic_Skitty, 16, 16, 0), + overworld_frame(gEventObjectPic_Skitty, 16, 16, 1), + overworld_frame(gEventObjectPic_Skitty, 16, 16, 1), + overworld_frame(gEventObjectPic_Skitty, 16, 16, 2), + overworld_frame(gEventObjectPic_Skitty, 16, 16, 2), }; const struct SpriteFrameImage gEventObjectPicTable_Kecleon[] = { - obj_frame_tiles(gEventObjectPic_Kecleon_0), - obj_frame_tiles(gEventObjectPic_Kecleon_1), - obj_frame_tiles(gEventObjectPic_Kecleon_2), - obj_frame_tiles(gEventObjectPic_Kecleon_0), - obj_frame_tiles(gEventObjectPic_Kecleon_0), - obj_frame_tiles(gEventObjectPic_Kecleon_1), - obj_frame_tiles(gEventObjectPic_Kecleon_1), - obj_frame_tiles(gEventObjectPic_Kecleon_2), - obj_frame_tiles(gEventObjectPic_Kecleon_2), + overworld_frame(gEventObjectPic_Kecleon, 16, 16, 0), + overworld_frame(gEventObjectPic_Kecleon, 16, 16, 1), + overworld_frame(gEventObjectPic_Kecleon, 16, 16, 2), + overworld_frame(gEventObjectPic_Kecleon, 16, 16, 0), + overworld_frame(gEventObjectPic_Kecleon, 16, 16, 0), + overworld_frame(gEventObjectPic_Kecleon, 16, 16, 1), + overworld_frame(gEventObjectPic_Kecleon, 16, 16, 1), + overworld_frame(gEventObjectPic_Kecleon, 16, 16, 2), + overworld_frame(gEventObjectPic_Kecleon, 16, 16, 2), }; const struct SpriteFrameImage gEventObjectPicTable_Rayquaza[] = { - obj_frame_tiles(gEventObjectPic_Rayquaza_0), - obj_frame_tiles(gEventObjectPic_Rayquaza_1), - obj_frame_tiles(gEventObjectPic_Rayquaza_2), - obj_frame_tiles(gEventObjectPic_Rayquaza_3), - obj_frame_tiles(gEventObjectPic_Rayquaza_4), + overworld_frame(gEventObjectPic_Rayquaza, 64, 64, 0), + overworld_frame(gEventObjectPic_Rayquaza, 64, 64, 1), + overworld_frame(gEventObjectPic_Rayquaza, 64, 64, 2), + overworld_frame(gEventObjectPic_Rayquaza, 64, 64, 3), + overworld_frame(gEventObjectPic_Rayquaza, 64, 64, 4), }; const struct SpriteFrameImage gEventObjectPicTable_RayquazaStill[] = { @@ -1821,123 +1821,123 @@ const struct SpriteFrameImage gEventObjectPicTable_RayquazaStill[] = { }; const struct SpriteFrameImage gEventObjectPicTable_Zigzagoon[] = { - obj_frame_tiles(gEventObjectPic_Zigzagoon_0), - obj_frame_tiles(gEventObjectPic_Zigzagoon_1), - obj_frame_tiles(gEventObjectPic_Zigzagoon_2), - obj_frame_tiles(gEventObjectPic_Zigzagoon_0), - obj_frame_tiles(gEventObjectPic_Zigzagoon_0), - obj_frame_tiles(gEventObjectPic_Zigzagoon_1), - obj_frame_tiles(gEventObjectPic_Zigzagoon_1), - obj_frame_tiles(gEventObjectPic_Zigzagoon_2), - obj_frame_tiles(gEventObjectPic_Zigzagoon_2), + overworld_frame(gEventObjectPic_Zigzagoon, 16, 16, 0), + overworld_frame(gEventObjectPic_Zigzagoon, 16, 16, 1), + overworld_frame(gEventObjectPic_Zigzagoon, 16, 16, 2), + overworld_frame(gEventObjectPic_Zigzagoon, 16, 16, 0), + overworld_frame(gEventObjectPic_Zigzagoon, 16, 16, 0), + overworld_frame(gEventObjectPic_Zigzagoon, 16, 16, 1), + overworld_frame(gEventObjectPic_Zigzagoon, 16, 16, 1), + overworld_frame(gEventObjectPic_Zigzagoon, 16, 16, 2), + overworld_frame(gEventObjectPic_Zigzagoon, 16, 16, 2), }; const struct SpriteFrameImage gEventObjectPicTable_Pikachu[] = { - obj_frame_tiles(gEventObjectPic_Pikachu_0), - obj_frame_tiles(gEventObjectPic_Pikachu_1), - obj_frame_tiles(gEventObjectPic_Pikachu_2), - obj_frame_tiles(gEventObjectPic_Pikachu_0), - obj_frame_tiles(gEventObjectPic_Pikachu_0), - obj_frame_tiles(gEventObjectPic_Pikachu_1), - obj_frame_tiles(gEventObjectPic_Pikachu_1), - obj_frame_tiles(gEventObjectPic_Pikachu_2), - obj_frame_tiles(gEventObjectPic_Pikachu_2), + overworld_frame(gEventObjectPic_Pikachu, 16, 16, 0), + overworld_frame(gEventObjectPic_Pikachu, 16, 16, 1), + overworld_frame(gEventObjectPic_Pikachu, 16, 16, 2), + overworld_frame(gEventObjectPic_Pikachu, 16, 16, 0), + overworld_frame(gEventObjectPic_Pikachu, 16, 16, 0), + overworld_frame(gEventObjectPic_Pikachu, 16, 16, 1), + overworld_frame(gEventObjectPic_Pikachu, 16, 16, 1), + overworld_frame(gEventObjectPic_Pikachu, 16, 16, 2), + overworld_frame(gEventObjectPic_Pikachu, 16, 16, 2), }; const struct SpriteFrameImage gEventObjectPicTable_Azumarill[] = { - obj_frame_tiles(gEventObjectPic_Azumarill_0), - obj_frame_tiles(gEventObjectPic_Azumarill_1), - obj_frame_tiles(gEventObjectPic_Azumarill_2), - obj_frame_tiles(gEventObjectPic_Azumarill_0), - obj_frame_tiles(gEventObjectPic_Azumarill_0), - obj_frame_tiles(gEventObjectPic_Azumarill_1), - obj_frame_tiles(gEventObjectPic_Azumarill_1), - obj_frame_tiles(gEventObjectPic_Azumarill_2), - obj_frame_tiles(gEventObjectPic_Azumarill_2), + overworld_frame(gEventObjectPic_Azumarill, 16, 16, 0), + overworld_frame(gEventObjectPic_Azumarill, 16, 16, 1), + overworld_frame(gEventObjectPic_Azumarill, 16, 16, 2), + overworld_frame(gEventObjectPic_Azumarill, 16, 16, 0), + overworld_frame(gEventObjectPic_Azumarill, 16, 16, 0), + overworld_frame(gEventObjectPic_Azumarill, 16, 16, 1), + overworld_frame(gEventObjectPic_Azumarill, 16, 16, 1), + overworld_frame(gEventObjectPic_Azumarill, 16, 16, 2), + overworld_frame(gEventObjectPic_Azumarill, 16, 16, 2), }; const struct SpriteFrameImage gEventObjectPicTable_Wingull[] = { - obj_frame_tiles(gEventObjectPic_Wingull_0), - obj_frame_tiles(gEventObjectPic_Wingull_1), - obj_frame_tiles(gEventObjectPic_Wingull_2), - obj_frame_tiles(gEventObjectPic_Wingull_3), - obj_frame_tiles(gEventObjectPic_Wingull_3), - obj_frame_tiles(gEventObjectPic_Wingull_4), - obj_frame_tiles(gEventObjectPic_Wingull_4), - obj_frame_tiles(gEventObjectPic_Wingull_5), - obj_frame_tiles(gEventObjectPic_Wingull_5), + overworld_frame(gEventObjectPic_Wingull, 16, 16, 0), + overworld_frame(gEventObjectPic_Wingull, 16, 16, 1), + overworld_frame(gEventObjectPic_Wingull, 16, 16, 2), + overworld_frame(gEventObjectPic_Wingull, 16, 16, 3), + overworld_frame(gEventObjectPic_Wingull, 16, 16, 3), + overworld_frame(gEventObjectPic_Wingull, 16, 16, 4), + overworld_frame(gEventObjectPic_Wingull, 16, 16, 4), + overworld_frame(gEventObjectPic_Wingull, 16, 16, 5), + overworld_frame(gEventObjectPic_Wingull, 16, 16, 5), }; const struct SpriteFrameImage gEventObjectPicTable_TuberMSwimming[] = { - obj_frame_tiles(gEventObjectPic_TuberMSwimming_0), - obj_frame_tiles(gEventObjectPic_TuberMSwimming_1), - obj_frame_tiles(gEventObjectPic_TuberMSwimming_2), - obj_frame_tiles(gEventObjectPic_TuberMSwimming_3), - obj_frame_tiles(gEventObjectPic_TuberMSwimming_4), - obj_frame_tiles(gEventObjectPic_TuberMSwimming_5), - obj_frame_tiles(gEventObjectPic_TuberMSwimming_6), - obj_frame_tiles(gEventObjectPic_TuberMSwimming_7), - obj_frame_tiles(gEventObjectPic_TuberMSwimming_8), + overworld_frame(gEventObjectPic_TuberMSwimming, 16, 16, 0), + overworld_frame(gEventObjectPic_TuberMSwimming, 16, 16, 1), + overworld_frame(gEventObjectPic_TuberMSwimming, 16, 16, 2), + overworld_frame(gEventObjectPic_TuberMSwimming, 16, 16, 3), + overworld_frame(gEventObjectPic_TuberMSwimming, 16, 16, 4), + overworld_frame(gEventObjectPic_TuberMSwimming, 16, 16, 5), + overworld_frame(gEventObjectPic_TuberMSwimming, 16, 16, 6), + overworld_frame(gEventObjectPic_TuberMSwimming, 16, 16, 7), + overworld_frame(gEventObjectPic_TuberMSwimming, 16, 16, 8), }; const struct SpriteFrameImage gEventObjectPicTable_Azurill[] = { - obj_frame_tiles(gEventObjectPic_Azurill_0), - obj_frame_tiles(gEventObjectPic_Azurill_1), - obj_frame_tiles(gEventObjectPic_Azurill_2), - obj_frame_tiles(gEventObjectPic_Azurill_0), - obj_frame_tiles(gEventObjectPic_Azurill_0), - obj_frame_tiles(gEventObjectPic_Azurill_1), - obj_frame_tiles(gEventObjectPic_Azurill_1), - obj_frame_tiles(gEventObjectPic_Azurill_2), - obj_frame_tiles(gEventObjectPic_Azurill_2), + overworld_frame(gEventObjectPic_Azurill, 16, 16, 0), + overworld_frame(gEventObjectPic_Azurill, 16, 16, 1), + overworld_frame(gEventObjectPic_Azurill, 16, 16, 2), + overworld_frame(gEventObjectPic_Azurill, 16, 16, 0), + overworld_frame(gEventObjectPic_Azurill, 16, 16, 0), + overworld_frame(gEventObjectPic_Azurill, 16, 16, 1), + overworld_frame(gEventObjectPic_Azurill, 16, 16, 1), + overworld_frame(gEventObjectPic_Azurill, 16, 16, 2), + overworld_frame(gEventObjectPic_Azurill, 16, 16, 2), }; const struct SpriteFrameImage gEventObjectPicTable_Mom[] = { - obj_frame_tiles(gEventObjectPic_Mom_0), - obj_frame_tiles(gEventObjectPic_Mom_1), - obj_frame_tiles(gEventObjectPic_Mom_2), - obj_frame_tiles(gEventObjectPic_Mom_3), - obj_frame_tiles(gEventObjectPic_Mom_4), - obj_frame_tiles(gEventObjectPic_Mom_5), - obj_frame_tiles(gEventObjectPic_Mom_6), - obj_frame_tiles(gEventObjectPic_Mom_7), - obj_frame_tiles(gEventObjectPic_Mom_8), + overworld_frame(gEventObjectPic_Mom, 16, 32, 0), + overworld_frame(gEventObjectPic_Mom, 16, 32, 1), + overworld_frame(gEventObjectPic_Mom, 16, 32, 2), + overworld_frame(gEventObjectPic_Mom, 16, 32, 3), + overworld_frame(gEventObjectPic_Mom, 16, 32, 4), + overworld_frame(gEventObjectPic_Mom, 16, 32, 5), + overworld_frame(gEventObjectPic_Mom, 16, 32, 6), + overworld_frame(gEventObjectPic_Mom, 16, 32, 7), + overworld_frame(gEventObjectPic_Mom, 16, 32, 8), }; const struct SpriteFrameImage gEventObjectPicTable_Scott[] = { - obj_frame_tiles(gEventObjectPic_Scott_0), - obj_frame_tiles(gEventObjectPic_Scott_1), - obj_frame_tiles(gEventObjectPic_Scott_2), - obj_frame_tiles(gEventObjectPic_Scott_3), - obj_frame_tiles(gEventObjectPic_Scott_4), - obj_frame_tiles(gEventObjectPic_Scott_5), - obj_frame_tiles(gEventObjectPic_Scott_6), - obj_frame_tiles(gEventObjectPic_Scott_7), - obj_frame_tiles(gEventObjectPic_Scott_8), + overworld_frame(gEventObjectPic_Scott, 16, 32, 0), + overworld_frame(gEventObjectPic_Scott, 16, 32, 1), + overworld_frame(gEventObjectPic_Scott, 16, 32, 2), + overworld_frame(gEventObjectPic_Scott, 16, 32, 3), + overworld_frame(gEventObjectPic_Scott, 16, 32, 4), + overworld_frame(gEventObjectPic_Scott, 16, 32, 5), + overworld_frame(gEventObjectPic_Scott, 16, 32, 6), + overworld_frame(gEventObjectPic_Scott, 16, 32, 7), + overworld_frame(gEventObjectPic_Scott, 16, 32, 8), }; const struct SpriteFrameImage gEventObjectPicTable_Juan[] = { - obj_frame_tiles(gEventObjectPic_Juan_0), - obj_frame_tiles(gEventObjectPic_Juan_1), - obj_frame_tiles(gEventObjectPic_Juan_2), - obj_frame_tiles(gEventObjectPic_Juan_3), - obj_frame_tiles(gEventObjectPic_Juan_4), - obj_frame_tiles(gEventObjectPic_Juan_5), - obj_frame_tiles(gEventObjectPic_Juan_6), - obj_frame_tiles(gEventObjectPic_Juan_7), - obj_frame_tiles(gEventObjectPic_Juan_8), + overworld_frame(gEventObjectPic_Juan, 16, 32, 0), + overworld_frame(gEventObjectPic_Juan, 16, 32, 1), + overworld_frame(gEventObjectPic_Juan, 16, 32, 2), + overworld_frame(gEventObjectPic_Juan, 16, 32, 3), + overworld_frame(gEventObjectPic_Juan, 16, 32, 4), + overworld_frame(gEventObjectPic_Juan, 16, 32, 5), + overworld_frame(gEventObjectPic_Juan, 16, 32, 6), + overworld_frame(gEventObjectPic_Juan, 16, 32, 7), + overworld_frame(gEventObjectPic_Juan, 16, 32, 8), }; const struct SpriteFrameImage gEventObjectPicTable_MysteryEventDeliveryman[] = { - obj_frame_tiles(gEventObjectPic_MysteryEventDeliveryman_0), - obj_frame_tiles(gEventObjectPic_MysteryEventDeliveryman_1), - obj_frame_tiles(gEventObjectPic_MysteryEventDeliveryman_2), - obj_frame_tiles(gEventObjectPic_MysteryEventDeliveryman_0), - obj_frame_tiles(gEventObjectPic_MysteryEventDeliveryman_0), - obj_frame_tiles(gEventObjectPic_MysteryEventDeliveryman_1), - obj_frame_tiles(gEventObjectPic_MysteryEventDeliveryman_1), - obj_frame_tiles(gEventObjectPic_MysteryEventDeliveryman_2), - obj_frame_tiles(gEventObjectPic_MysteryEventDeliveryman_2), + overworld_frame(gEventObjectPic_MysteryEventDeliveryman, 16, 32, 0), + overworld_frame(gEventObjectPic_MysteryEventDeliveryman, 16, 32, 1), + overworld_frame(gEventObjectPic_MysteryEventDeliveryman, 16, 32, 2), + overworld_frame(gEventObjectPic_MysteryEventDeliveryman, 16, 32, 0), + overworld_frame(gEventObjectPic_MysteryEventDeliveryman, 16, 32, 0), + overworld_frame(gEventObjectPic_MysteryEventDeliveryman, 16, 32, 1), + overworld_frame(gEventObjectPic_MysteryEventDeliveryman, 16, 32, 1), + overworld_frame(gEventObjectPic_MysteryEventDeliveryman, 16, 32, 2), + overworld_frame(gEventObjectPic_MysteryEventDeliveryman, 16, 32, 2), }; const struct SpriteFrameImage gEventObjectPicTable_Statue[] = { @@ -1945,99 +1945,99 @@ const struct SpriteFrameImage gEventObjectPicTable_Statue[] = { }; const struct SpriteFrameImage gEventObjectPicTable_Dusclops[] = { - obj_frame_tiles(gEventObjectPic_Dusclops_0), - obj_frame_tiles(gEventObjectPic_Dusclops_1), - obj_frame_tiles(gEventObjectPic_Dusclops_2), - obj_frame_tiles(gEventObjectPic_Dusclops_3), - obj_frame_tiles(gEventObjectPic_Dusclops_4), - obj_frame_tiles(gEventObjectPic_Dusclops_5), - obj_frame_tiles(gEventObjectPic_Dusclops_6), - obj_frame_tiles(gEventObjectPic_Dusclops_7), - obj_frame_tiles(gEventObjectPic_Dusclops_8), + overworld_frame(gEventObjectPic_Dusclops, 16, 32, 0), + overworld_frame(gEventObjectPic_Dusclops, 16, 32, 1), + overworld_frame(gEventObjectPic_Dusclops, 16, 32, 2), + overworld_frame(gEventObjectPic_Dusclops, 16, 32, 3), + overworld_frame(gEventObjectPic_Dusclops, 16, 32, 4), + overworld_frame(gEventObjectPic_Dusclops, 16, 32, 5), + overworld_frame(gEventObjectPic_Dusclops, 16, 32, 6), + overworld_frame(gEventObjectPic_Dusclops, 16, 32, 7), + overworld_frame(gEventObjectPic_Dusclops, 16, 32, 8), }; const struct SpriteFrameImage gEventObjectPicTable_Kirlia[] = { - obj_frame_tiles(gEventObjectPic_Kirlia_0), - obj_frame_tiles(gEventObjectPic_Kirlia_1), - obj_frame_tiles(gEventObjectPic_Kirlia_2), - obj_frame_tiles(gEventObjectPic_Kirlia_3), - obj_frame_tiles(gEventObjectPic_Kirlia_4), - obj_frame_tiles(gEventObjectPic_Kirlia_5), - obj_frame_tiles(gEventObjectPic_Kirlia_6), - obj_frame_tiles(gEventObjectPic_Kirlia_7), - obj_frame_tiles(gEventObjectPic_Kirlia_8), + overworld_frame(gEventObjectPic_Kirlia, 16, 32, 0), + overworld_frame(gEventObjectPic_Kirlia, 16, 32, 1), + overworld_frame(gEventObjectPic_Kirlia, 16, 32, 2), + overworld_frame(gEventObjectPic_Kirlia, 16, 32, 3), + overworld_frame(gEventObjectPic_Kirlia, 16, 32, 4), + overworld_frame(gEventObjectPic_Kirlia, 16, 32, 5), + overworld_frame(gEventObjectPic_Kirlia, 16, 32, 6), + overworld_frame(gEventObjectPic_Kirlia, 16, 32, 7), + overworld_frame(gEventObjectPic_Kirlia, 16, 32, 8), }; const struct SpriteFrameImage gEventObjectPicTable_UnionRoomAttendant[] = { - obj_frame_tiles(gEventObjectPic_UnionRoomAttendant_0), - obj_frame_tiles(gEventObjectPic_UnionRoomAttendant_1), - obj_frame_tiles(gEventObjectPic_UnionRoomAttendant_2), - obj_frame_tiles(gEventObjectPic_UnionRoomAttendant_0), - obj_frame_tiles(gEventObjectPic_UnionRoomAttendant_0), - obj_frame_tiles(gEventObjectPic_UnionRoomAttendant_1), - obj_frame_tiles(gEventObjectPic_UnionRoomAttendant_1), - obj_frame_tiles(gEventObjectPic_UnionRoomAttendant_2), - obj_frame_tiles(gEventObjectPic_UnionRoomAttendant_2), + overworld_frame(gEventObjectPic_UnionRoomAttendant, 16, 32, 0), + overworld_frame(gEventObjectPic_UnionRoomAttendant, 16, 32, 1), + overworld_frame(gEventObjectPic_UnionRoomAttendant, 16, 32, 2), + overworld_frame(gEventObjectPic_UnionRoomAttendant, 16, 32, 0), + overworld_frame(gEventObjectPic_UnionRoomAttendant, 16, 32, 0), + overworld_frame(gEventObjectPic_UnionRoomAttendant, 16, 32, 1), + overworld_frame(gEventObjectPic_UnionRoomAttendant, 16, 32, 1), + overworld_frame(gEventObjectPic_UnionRoomAttendant, 16, 32, 2), + overworld_frame(gEventObjectPic_UnionRoomAttendant, 16, 32, 2), }; const struct SpriteFrameImage gEventObjectPicTable_Sudowoodo[] = { - obj_frame_tiles(gEventObjectPic_Sudowoodo_0), - obj_frame_tiles(gEventObjectPic_Sudowoodo_0), - obj_frame_tiles(gEventObjectPic_Sudowoodo_1), - obj_frame_tiles(gEventObjectPic_Sudowoodo_0), - obj_frame_tiles(gEventObjectPic_Sudowoodo_0), - obj_frame_tiles(gEventObjectPic_Sudowoodo_0), - obj_frame_tiles(gEventObjectPic_Sudowoodo_0), - obj_frame_tiles(gEventObjectPic_Sudowoodo_1), - obj_frame_tiles(gEventObjectPic_Sudowoodo_2), + overworld_frame(gEventObjectPic_Sudowoodo, 16, 32, 0), + overworld_frame(gEventObjectPic_Sudowoodo, 16, 32, 0), + overworld_frame(gEventObjectPic_Sudowoodo, 16, 32, 1), + overworld_frame(gEventObjectPic_Sudowoodo, 16, 32, 0), + overworld_frame(gEventObjectPic_Sudowoodo, 16, 32, 0), + overworld_frame(gEventObjectPic_Sudowoodo, 16, 32, 0), + overworld_frame(gEventObjectPic_Sudowoodo, 16, 32, 0), + overworld_frame(gEventObjectPic_Sudowoodo, 16, 32, 1), + overworld_frame(gEventObjectPic_Sudowoodo, 16, 32, 2), }; const struct SpriteFrameImage gEventObjectPicTable_Mew[] = { - obj_frame_tiles(gEventObjectPic_Mew_0), - obj_frame_tiles(gEventObjectPic_Mew_1), - obj_frame_tiles(gEventObjectPic_Mew_2), - obj_frame_tiles(gEventObjectPic_Mew_3), - obj_frame_tiles(gEventObjectPic_Mew_4), - obj_frame_tiles(gEventObjectPic_Mew_5), - obj_frame_tiles(gEventObjectPic_Mew_6), - obj_frame_tiles(gEventObjectPic_Mew_7), - obj_frame_tiles(gEventObjectPic_Mew_8), + overworld_frame(gEventObjectPic_Mew, 16, 32, 0), + overworld_frame(gEventObjectPic_Mew, 16, 32, 1), + overworld_frame(gEventObjectPic_Mew, 16, 32, 2), + overworld_frame(gEventObjectPic_Mew, 16, 32, 3), + overworld_frame(gEventObjectPic_Mew, 16, 32, 4), + overworld_frame(gEventObjectPic_Mew, 16, 32, 5), + overworld_frame(gEventObjectPic_Mew, 16, 32, 6), + overworld_frame(gEventObjectPic_Mew, 16, 32, 7), + overworld_frame(gEventObjectPic_Mew, 16, 32, 8), }; const struct SpriteFrameImage gEventObjectPicTable_Red[] = { - obj_frame_tiles(gEventObjectPic_Red_0), - obj_frame_tiles(gEventObjectPic_Red_1), - obj_frame_tiles(gEventObjectPic_Red_2), - obj_frame_tiles(gEventObjectPic_Red_3), - obj_frame_tiles(gEventObjectPic_Red_4), - obj_frame_tiles(gEventObjectPic_Red_5), - obj_frame_tiles(gEventObjectPic_Red_6), - obj_frame_tiles(gEventObjectPic_Red_7), - obj_frame_tiles(gEventObjectPic_Red_8), + overworld_frame(gEventObjectPic_Red, 16, 32, 0), + overworld_frame(gEventObjectPic_Red, 16, 32, 1), + overworld_frame(gEventObjectPic_Red, 16, 32, 2), + overworld_frame(gEventObjectPic_Red, 16, 32, 3), + overworld_frame(gEventObjectPic_Red, 16, 32, 4), + overworld_frame(gEventObjectPic_Red, 16, 32, 5), + overworld_frame(gEventObjectPic_Red, 16, 32, 6), + overworld_frame(gEventObjectPic_Red, 16, 32, 7), + overworld_frame(gEventObjectPic_Red, 16, 32, 8), }; const struct SpriteFrameImage gEventObjectPicTable_Leaf[] = { - obj_frame_tiles(gEventObjectPic_Leaf_0), - obj_frame_tiles(gEventObjectPic_Leaf_1), - obj_frame_tiles(gEventObjectPic_Leaf_2), - obj_frame_tiles(gEventObjectPic_Leaf_3), - obj_frame_tiles(gEventObjectPic_Leaf_4), - obj_frame_tiles(gEventObjectPic_Leaf_5), - obj_frame_tiles(gEventObjectPic_Leaf_6), - obj_frame_tiles(gEventObjectPic_Leaf_7), - obj_frame_tiles(gEventObjectPic_Leaf_8), + overworld_frame(gEventObjectPic_Leaf, 16, 32, 0), + overworld_frame(gEventObjectPic_Leaf, 16, 32, 1), + overworld_frame(gEventObjectPic_Leaf, 16, 32, 2), + overworld_frame(gEventObjectPic_Leaf, 16, 32, 3), + overworld_frame(gEventObjectPic_Leaf, 16, 32, 4), + overworld_frame(gEventObjectPic_Leaf, 16, 32, 5), + overworld_frame(gEventObjectPic_Leaf, 16, 32, 6), + overworld_frame(gEventObjectPic_Leaf, 16, 32, 7), + overworld_frame(gEventObjectPic_Leaf, 16, 32, 8), }; const struct SpriteFrameImage gEventObjectPicTable_Deoxys[] = { - obj_frame_tiles(gEventObjectPic_Deoxys_0), - obj_frame_tiles(gEventObjectPic_Deoxys_0), - obj_frame_tiles(gEventObjectPic_Deoxys_0), - obj_frame_tiles(gEventObjectPic_Deoxys_0), - obj_frame_tiles(gEventObjectPic_Deoxys_1), - obj_frame_tiles(gEventObjectPic_Deoxys_0), - obj_frame_tiles(gEventObjectPic_Deoxys_1), - obj_frame_tiles(gEventObjectPic_Deoxys_0), - obj_frame_tiles(gEventObjectPic_Deoxys_0), + overworld_frame(gEventObjectPic_Deoxys, 32, 32, 0), + overworld_frame(gEventObjectPic_Deoxys, 32, 32, 0), + overworld_frame(gEventObjectPic_Deoxys, 32, 32, 0), + overworld_frame(gEventObjectPic_Deoxys, 32, 32, 0), + overworld_frame(gEventObjectPic_Deoxys, 32, 32, 1), + overworld_frame(gEventObjectPic_Deoxys, 32, 32, 0), + overworld_frame(gEventObjectPic_Deoxys, 32, 32, 1), + overworld_frame(gEventObjectPic_Deoxys, 32, 32, 0), + overworld_frame(gEventObjectPic_Deoxys, 32, 32, 0), }; const struct SpriteFrameImage gEventObjectPicTable_BirthIslandStone[] = { @@ -2045,135 +2045,135 @@ const struct SpriteFrameImage gEventObjectPicTable_BirthIslandStone[] = { }; const struct SpriteFrameImage gEventObjectPicTable_Anabel[] = { - obj_frame_tiles(gEventObjectPic_Anabel_0), - obj_frame_tiles(gEventObjectPic_Anabel_1), - obj_frame_tiles(gEventObjectPic_Anabel_2), - obj_frame_tiles(gEventObjectPic_Anabel_3), - obj_frame_tiles(gEventObjectPic_Anabel_4), - obj_frame_tiles(gEventObjectPic_Anabel_5), - obj_frame_tiles(gEventObjectPic_Anabel_6), - obj_frame_tiles(gEventObjectPic_Anabel_7), - obj_frame_tiles(gEventObjectPic_Anabel_8), + overworld_frame(gEventObjectPic_Anabel, 16, 32, 0), + overworld_frame(gEventObjectPic_Anabel, 16, 32, 1), + overworld_frame(gEventObjectPic_Anabel, 16, 32, 2), + overworld_frame(gEventObjectPic_Anabel, 16, 32, 3), + overworld_frame(gEventObjectPic_Anabel, 16, 32, 4), + overworld_frame(gEventObjectPic_Anabel, 16, 32, 5), + overworld_frame(gEventObjectPic_Anabel, 16, 32, 6), + overworld_frame(gEventObjectPic_Anabel, 16, 32, 7), + overworld_frame(gEventObjectPic_Anabel, 16, 32, 8), }; const struct SpriteFrameImage gEventObjectPicTable_Tucker[] = { - obj_frame_tiles(gEventObjectPic_Tucker_0), - obj_frame_tiles(gEventObjectPic_Tucker_1), - obj_frame_tiles(gEventObjectPic_Tucker_2), - obj_frame_tiles(gEventObjectPic_Tucker_3), - obj_frame_tiles(gEventObjectPic_Tucker_4), - obj_frame_tiles(gEventObjectPic_Tucker_5), - obj_frame_tiles(gEventObjectPic_Tucker_6), - obj_frame_tiles(gEventObjectPic_Tucker_7), - obj_frame_tiles(gEventObjectPic_Tucker_8), + overworld_frame(gEventObjectPic_Tucker, 16, 32, 0), + overworld_frame(gEventObjectPic_Tucker, 16, 32, 1), + overworld_frame(gEventObjectPic_Tucker, 16, 32, 2), + overworld_frame(gEventObjectPic_Tucker, 16, 32, 3), + overworld_frame(gEventObjectPic_Tucker, 16, 32, 4), + overworld_frame(gEventObjectPic_Tucker, 16, 32, 5), + overworld_frame(gEventObjectPic_Tucker, 16, 32, 6), + overworld_frame(gEventObjectPic_Tucker, 16, 32, 7), + overworld_frame(gEventObjectPic_Tucker, 16, 32, 8), }; const struct SpriteFrameImage gEventObjectPicTable_Spenser[] = { - obj_frame_tiles(gEventObjectPic_Spenser_0), - obj_frame_tiles(gEventObjectPic_Spenser_1), - obj_frame_tiles(gEventObjectPic_Spenser_2), - obj_frame_tiles(gEventObjectPic_Spenser_3), - obj_frame_tiles(gEventObjectPic_Spenser_4), - obj_frame_tiles(gEventObjectPic_Spenser_5), - obj_frame_tiles(gEventObjectPic_Spenser_6), - obj_frame_tiles(gEventObjectPic_Spenser_7), - obj_frame_tiles(gEventObjectPic_Spenser_8), + overworld_frame(gEventObjectPic_Spenser, 16, 32, 0), + overworld_frame(gEventObjectPic_Spenser, 16, 32, 1), + overworld_frame(gEventObjectPic_Spenser, 16, 32, 2), + overworld_frame(gEventObjectPic_Spenser, 16, 32, 3), + overworld_frame(gEventObjectPic_Spenser, 16, 32, 4), + overworld_frame(gEventObjectPic_Spenser, 16, 32, 5), + overworld_frame(gEventObjectPic_Spenser, 16, 32, 6), + overworld_frame(gEventObjectPic_Spenser, 16, 32, 7), + overworld_frame(gEventObjectPic_Spenser, 16, 32, 8), }; const struct SpriteFrameImage gEventObjectPicTable_Greta[] = { - obj_frame_tiles(gEventObjectPic_Greta_0), - obj_frame_tiles(gEventObjectPic_Greta_1), - obj_frame_tiles(gEventObjectPic_Greta_2), - obj_frame_tiles(gEventObjectPic_Greta_3), - obj_frame_tiles(gEventObjectPic_Greta_4), - obj_frame_tiles(gEventObjectPic_Greta_5), - obj_frame_tiles(gEventObjectPic_Greta_6), - obj_frame_tiles(gEventObjectPic_Greta_7), - obj_frame_tiles(gEventObjectPic_Greta_8), + overworld_frame(gEventObjectPic_Greta, 16, 32, 0), + overworld_frame(gEventObjectPic_Greta, 16, 32, 1), + overworld_frame(gEventObjectPic_Greta, 16, 32, 2), + overworld_frame(gEventObjectPic_Greta, 16, 32, 3), + overworld_frame(gEventObjectPic_Greta, 16, 32, 4), + overworld_frame(gEventObjectPic_Greta, 16, 32, 5), + overworld_frame(gEventObjectPic_Greta, 16, 32, 6), + overworld_frame(gEventObjectPic_Greta, 16, 32, 7), + overworld_frame(gEventObjectPic_Greta, 16, 32, 8), }; const struct SpriteFrameImage gEventObjectPicTable_Noland[] = { - obj_frame_tiles(gEventObjectPic_Noland_0), - obj_frame_tiles(gEventObjectPic_Noland_1), - obj_frame_tiles(gEventObjectPic_Noland_2), - obj_frame_tiles(gEventObjectPic_Noland_3), - obj_frame_tiles(gEventObjectPic_Noland_4), - obj_frame_tiles(gEventObjectPic_Noland_5), - obj_frame_tiles(gEventObjectPic_Noland_6), - obj_frame_tiles(gEventObjectPic_Noland_7), - obj_frame_tiles(gEventObjectPic_Noland_8), + overworld_frame(gEventObjectPic_Noland, 16, 32, 0), + overworld_frame(gEventObjectPic_Noland, 16, 32, 1), + overworld_frame(gEventObjectPic_Noland, 16, 32, 2), + overworld_frame(gEventObjectPic_Noland, 16, 32, 3), + overworld_frame(gEventObjectPic_Noland, 16, 32, 4), + overworld_frame(gEventObjectPic_Noland, 16, 32, 5), + overworld_frame(gEventObjectPic_Noland, 16, 32, 6), + overworld_frame(gEventObjectPic_Noland, 16, 32, 7), + overworld_frame(gEventObjectPic_Noland, 16, 32, 8), }; const struct SpriteFrameImage gEventObjectPicTable_Lucy[] = { - obj_frame_tiles(gEventObjectPic_Lucy_0), - obj_frame_tiles(gEventObjectPic_Lucy_1), - obj_frame_tiles(gEventObjectPic_Lucy_2), - obj_frame_tiles(gEventObjectPic_Lucy_3), - obj_frame_tiles(gEventObjectPic_Lucy_4), - obj_frame_tiles(gEventObjectPic_Lucy_5), - obj_frame_tiles(gEventObjectPic_Lucy_6), - obj_frame_tiles(gEventObjectPic_Lucy_7), - obj_frame_tiles(gEventObjectPic_Lucy_8), + overworld_frame(gEventObjectPic_Lucy, 16, 32, 0), + overworld_frame(gEventObjectPic_Lucy, 16, 32, 1), + overworld_frame(gEventObjectPic_Lucy, 16, 32, 2), + overworld_frame(gEventObjectPic_Lucy, 16, 32, 3), + overworld_frame(gEventObjectPic_Lucy, 16, 32, 4), + overworld_frame(gEventObjectPic_Lucy, 16, 32, 5), + overworld_frame(gEventObjectPic_Lucy, 16, 32, 6), + overworld_frame(gEventObjectPic_Lucy, 16, 32, 7), + overworld_frame(gEventObjectPic_Lucy, 16, 32, 8), }; const struct SpriteFrameImage gEventObjectPicTable_Brandon[] = { - obj_frame_tiles(gEventObjectPic_Brandon_0), - obj_frame_tiles(gEventObjectPic_Brandon_1), - obj_frame_tiles(gEventObjectPic_Brandon_2), - obj_frame_tiles(gEventObjectPic_Brandon_3), - obj_frame_tiles(gEventObjectPic_Brandon_4), - obj_frame_tiles(gEventObjectPic_Brandon_5), - obj_frame_tiles(gEventObjectPic_Brandon_6), - obj_frame_tiles(gEventObjectPic_Brandon_7), - obj_frame_tiles(gEventObjectPic_Brandon_8), + overworld_frame(gEventObjectPic_Brandon, 16, 32, 0), + overworld_frame(gEventObjectPic_Brandon, 16, 32, 1), + overworld_frame(gEventObjectPic_Brandon, 16, 32, 2), + overworld_frame(gEventObjectPic_Brandon, 16, 32, 3), + overworld_frame(gEventObjectPic_Brandon, 16, 32, 4), + overworld_frame(gEventObjectPic_Brandon, 16, 32, 5), + overworld_frame(gEventObjectPic_Brandon, 16, 32, 6), + overworld_frame(gEventObjectPic_Brandon, 16, 32, 7), + overworld_frame(gEventObjectPic_Brandon, 16, 32, 8), }; const struct SpriteFrameImage gEventObjectPicTable_Lugia[] = { - obj_frame_tiles(gEventObjectPic_Lugia_0), - obj_frame_tiles(gEventObjectPic_Lugia_0), - obj_frame_tiles(gEventObjectPic_Lugia_0), - obj_frame_tiles(gEventObjectPic_Lugia_0), - obj_frame_tiles(gEventObjectPic_Lugia_1), - obj_frame_tiles(gEventObjectPic_Lugia_0), - obj_frame_tiles(gEventObjectPic_Lugia_1), - obj_frame_tiles(gEventObjectPic_Lugia_0), - obj_frame_tiles(gEventObjectPic_Lugia_1), + overworld_frame(gEventObjectPic_Lugia, 32, 32, 0), + overworld_frame(gEventObjectPic_Lugia, 32, 32, 0), + overworld_frame(gEventObjectPic_Lugia, 32, 32, 0), + overworld_frame(gEventObjectPic_Lugia, 32, 32, 0), + overworld_frame(gEventObjectPic_Lugia, 32, 32, 1), + overworld_frame(gEventObjectPic_Lugia, 32, 32, 0), + overworld_frame(gEventObjectPic_Lugia, 32, 32, 1), + overworld_frame(gEventObjectPic_Lugia, 32, 32, 0), + overworld_frame(gEventObjectPic_Lugia, 32, 32, 1), }; const struct SpriteFrameImage gEventObjectPicTable_HoOh[] = { - obj_frame_tiles(gEventObjectPic_HoOh_0), - obj_frame_tiles(gEventObjectPic_HoOh_0), - obj_frame_tiles(gEventObjectPic_HoOh_0), - obj_frame_tiles(gEventObjectPic_HoOh_0), - obj_frame_tiles(gEventObjectPic_HoOh_1), - obj_frame_tiles(gEventObjectPic_HoOh_0), - obj_frame_tiles(gEventObjectPic_HoOh_1), - obj_frame_tiles(gEventObjectPic_HoOh_0), - obj_frame_tiles(gEventObjectPic_HoOh_1), + overworld_frame(gEventObjectPic_HoOh, 32, 32, 0), + overworld_frame(gEventObjectPic_HoOh, 32, 32, 0), + overworld_frame(gEventObjectPic_HoOh, 32, 32, 0), + overworld_frame(gEventObjectPic_HoOh, 32, 32, 0), + overworld_frame(gEventObjectPic_HoOh, 32, 32, 1), + overworld_frame(gEventObjectPic_HoOh, 32, 32, 0), + overworld_frame(gEventObjectPic_HoOh, 32, 32, 1), + overworld_frame(gEventObjectPic_HoOh, 32, 32, 0), + overworld_frame(gEventObjectPic_HoOh, 32, 32, 1), }; const struct SpriteFrameImage gEventObjectPicTable_RubySapphireBrendan[] = { - obj_frame_tiles(gEventObjectPic_RubySapphireBrendan_0), - obj_frame_tiles(gEventObjectPic_RubySapphireBrendan_1), - obj_frame_tiles(gEventObjectPic_RubySapphireBrendan_2), - obj_frame_tiles(gEventObjectPic_RubySapphireBrendan_3), - obj_frame_tiles(gEventObjectPic_RubySapphireBrendan_4), - obj_frame_tiles(gEventObjectPic_RubySapphireBrendan_5), - obj_frame_tiles(gEventObjectPic_RubySapphireBrendan_6), - obj_frame_tiles(gEventObjectPic_RubySapphireBrendan_7), - obj_frame_tiles(gEventObjectPic_RubySapphireBrendan_8), + overworld_frame(gEventObjectPic_RubySapphireBrendanNormal, 16, 32, 0), + overworld_frame(gEventObjectPic_RubySapphireBrendanNormal, 16, 32, 1), + overworld_frame(gEventObjectPic_RubySapphireBrendanNormal, 16, 32, 2), + overworld_frame(gEventObjectPic_RubySapphireBrendanNormal, 16, 32, 3), + overworld_frame(gEventObjectPic_RubySapphireBrendanNormal, 16, 32, 4), + overworld_frame(gEventObjectPic_RubySapphireBrendanNormal, 16, 32, 5), + overworld_frame(gEventObjectPic_RubySapphireBrendanNormal, 16, 32, 6), + overworld_frame(gEventObjectPic_RubySapphireBrendanNormal, 16, 32, 7), + overworld_frame(gEventObjectPic_RubySapphireBrendanNormal, 16, 32, 8), }; const struct SpriteFrameImage gEventObjectPicTable_RubySapphireMay[] = { - obj_frame_tiles(gEventObjectPic_RubySapphireMay_0), - obj_frame_tiles(gEventObjectPic_RubySapphireMay_1), - obj_frame_tiles(gEventObjectPic_RubySapphireMay_2), - obj_frame_tiles(gEventObjectPic_RubySapphireMay_3), - obj_frame_tiles(gEventObjectPic_RubySapphireMay_4), - obj_frame_tiles(gEventObjectPic_RubySapphireMay_5), - obj_frame_tiles(gEventObjectPic_RubySapphireMay_6), - obj_frame_tiles(gEventObjectPic_RubySapphireMay_7), - obj_frame_tiles(gEventObjectPic_RubySapphireMay_8), + overworld_frame(gEventObjectPic_RubySapphireMayNormal, 16, 32, 0), + overworld_frame(gEventObjectPic_RubySapphireMayNormal, 16, 32, 1), + overworld_frame(gEventObjectPic_RubySapphireMayNormal, 16, 32, 2), + overworld_frame(gEventObjectPic_RubySapphireMayNormal, 16, 32, 3), + overworld_frame(gEventObjectPic_RubySapphireMayNormal, 16, 32, 4), + overworld_frame(gEventObjectPic_RubySapphireMayNormal, 16, 32, 5), + overworld_frame(gEventObjectPic_RubySapphireMayNormal, 16, 32, 6), + overworld_frame(gEventObjectPic_RubySapphireMayNormal, 16, 32, 7), + overworld_frame(gEventObjectPic_RubySapphireMayNormal, 16, 32, 8), }; #endif //GUARD_EVENT_OBJECT_PIC_TABLES_H diff --git a/src/data/field_event_obj/field_effect_objects.h b/src/data/field_event_obj/field_effect_objects.h index c8633daa7a..785a158729 100755 --- a/src/data/field_event_obj/field_effect_objects.h +++ b/src/data/field_event_obj/field_effect_objects.h @@ -13,23 +13,23 @@ const union AnimCmd gFieldEffectObjectImageAnim_850C9D0[] = const union AnimCmd *const gFieldEffectObjectImageAnimTable_Shadow[] = { - gFieldEffectObjectImageAnim_850C9D0, + gFieldEffectObjectImageAnim_850C9D0, }; const struct SpriteFrameImage gFieldEffectObjectPicTable_ShadowSmall[] = { - obj_frame_tiles(gFieldEffectObjectPic_ShadowSmall), + obj_frame_tiles(gFieldEffectObjectPic_ShadowSmall), }; const struct SpriteFrameImage gFieldEffectObjectPicTable_ShadowMedium[] = { - obj_frame_tiles(gFieldEffectObjectPic_ShadowMedium), + obj_frame_tiles(gFieldEffectObjectPic_ShadowMedium), }; const struct SpriteFrameImage gFieldEffectObjectPicTable_ShadowLarge[] = { - obj_frame_tiles(gFieldEffectObjectPic_ShadowLarge), + obj_frame_tiles(gFieldEffectObjectPic_ShadowLarge), }; const struct SpriteFrameImage gFieldEffectObjectPicTable_ShadowExtraLarge[] = { - obj_frame_tiles(gFieldEffectObjectPic_ShadowExtraLarge), + obj_frame_tiles(gFieldEffectObjectPic_ShadowExtraLarge), }; const struct SpriteTemplate gFieldEffectObjectTemplate_ShadowSmall = {0xFFFF, 0xFFFF, &gEventObjectBaseOam_8x8, gFieldEffectObjectImageAnimTable_Shadow, gFieldEffectObjectPicTable_ShadowSmall, gDummySpriteAffineAnimTable, oamc_shadow}; @@ -41,11 +41,11 @@ const struct SpriteTemplate gFieldEffectObjectTemplate_ShadowLarge = {0xFFFF, 0x const struct SpriteTemplate gFieldEffectObjectTemplate_ShadowExtraLarge = {0xFFFF, 0xFFFF, &gEventObjectBaseOam_64x32, gFieldEffectObjectImageAnimTable_Shadow, gFieldEffectObjectPicTable_ShadowExtraLarge, gDummySpriteAffineAnimTable, oamc_shadow}; const struct SpriteFrameImage gFieldEffectObjectPicTable_TallGrass[] = { - obj_frame_tiles(gFieldEffectObjectPic_TallGrass_0), - obj_frame_tiles(gFieldEffectObjectPic_TallGrass_1), - obj_frame_tiles(gFieldEffectObjectPic_TallGrass_2), - obj_frame_tiles(gFieldEffectObjectPic_TallGrass_3), - obj_frame_tiles(gFieldEffectObjectPic_TallGrass_4), + overworld_frame(gFieldEffectObjectPic_TallGrass, 16, 16, 0), + overworld_frame(gFieldEffectObjectPic_TallGrass, 16, 16, 1), + overworld_frame(gFieldEffectObjectPic_TallGrass, 16, 16, 2), + overworld_frame(gFieldEffectObjectPic_TallGrass, 16, 16, 3), + overworld_frame(gFieldEffectObjectPic_TallGrass, 16, 16, 4), }; const union AnimCmd gFieldEffectObjectImageAnim_850CA84[] = @@ -66,11 +66,11 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_TallGrass[] = const struct SpriteTemplate gFieldEffectObjectTemplate_TallGrass = {0xFFFF, 0x1005, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_TallGrass, gFieldEffectObjectPicTable_TallGrass, gDummySpriteAffineAnimTable, unc_grass_normal}; const struct SpriteFrameImage gFieldEffectObjectPicTable_Ripple[] = { - obj_frame_tiles(gFieldEffectObjectPic_Ripple_0), - obj_frame_tiles(gFieldEffectObjectPic_Ripple_1), - obj_frame_tiles(gFieldEffectObjectPic_Ripple_2), - obj_frame_tiles(gFieldEffectObjectPic_Ripple_3), - obj_frame_tiles(gFieldEffectObjectPic_Ripple_4), + overworld_frame(gFieldEffectObjectPic_Ripple, 16, 16, 0), + overworld_frame(gFieldEffectObjectPic_Ripple, 16, 16, 1), + overworld_frame(gFieldEffectObjectPic_Ripple, 16, 16, 2), + overworld_frame(gFieldEffectObjectPic_Ripple, 16, 16, 3), + overworld_frame(gFieldEffectObjectPic_Ripple, 16, 16, 4), }; const union AnimCmd gFieldEffectObjectImageAnim_850CAE0[] = @@ -94,11 +94,11 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_Ripple[] = const struct SpriteTemplate gFieldEffectObjectTemplate_Ripple = {0xFFFF, 0x1005, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_Ripple, gFieldEffectObjectPicTable_Ripple, gDummySpriteAffineAnimTable, sub_81561D0}; const struct SpriteFrameImage gFieldEffectObjectPicTable_Ash[] = { - obj_frame_tiles(gFieldEffectObjectPic_Ash_0), - obj_frame_tiles(gFieldEffectObjectPic_Ash_1), - obj_frame_tiles(gFieldEffectObjectPic_Ash_2), - obj_frame_tiles(gFieldEffectObjectPic_Ash_3), - obj_frame_tiles(gFieldEffectObjectPic_Ash_4), + overworld_frame(gFieldEffectObjectPic_Ash, 16, 16, 0), + overworld_frame(gFieldEffectObjectPic_Ash, 16, 16, 1), + overworld_frame(gFieldEffectObjectPic_Ash, 16, 16, 2), + overworld_frame(gFieldEffectObjectPic_Ash, 16, 16, 3), + overworld_frame(gFieldEffectObjectPic_Ash, 16, 16, 4), }; const union AnimCmd gFieldEffectObjectImageAnim_850CB48[] = @@ -119,9 +119,9 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_Ash[] = const struct SpriteTemplate gFieldEffectObjectTemplate_Ash = {0xFFFF, 0x1005, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_Ash, gFieldEffectObjectPicTable_Ash, gDummySpriteAffineAnimTable, sub_8155460}; const struct SpriteFrameImage gFieldEffectObjectPicTable_SurfBlob[] = { - obj_frame_tiles(gFieldEffectObjectPic_SurfBlob_0), - obj_frame_tiles(gFieldEffectObjectPic_SurfBlob_1), - obj_frame_tiles(gFieldEffectObjectPic_SurfBlob_2), + overworld_frame(gFieldEffectObjectPic_SurfBlob, 32, 32, 0), + overworld_frame(gFieldEffectObjectPic_SurfBlob, 32, 32, 1), + overworld_frame(gFieldEffectObjectPic_SurfBlob, 32, 32, 2), }; const union AnimCmd gFieldEffectObjectImageAnim_850CB94[] = @@ -159,14 +159,14 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_SurfBlob[] = const struct SpriteTemplate gFieldEffectObjectTemplate_SurfBlob = {0xFFFF, 0xFFFF, &gEventObjectBaseOam_32x32, gFieldEffectObjectImageAnimTable_SurfBlob, gFieldEffectObjectPicTable_SurfBlob, gDummySpriteAffineAnimTable, sub_8155658}; const struct SpriteFrameImage gFieldEffectObjectPicTable_Arrow[] = { - obj_frame_tiles(gFieldEffectObjectPic_Arrow_0), - obj_frame_tiles(gFieldEffectObjectPic_Arrow_1), - obj_frame_tiles(gFieldEffectObjectPic_Arrow_2), - obj_frame_tiles(gFieldEffectObjectPic_Arrow_3), - obj_frame_tiles(gFieldEffectObjectPic_Arrow_4), - obj_frame_tiles(gFieldEffectObjectPic_Arrow_5), - obj_frame_tiles(gFieldEffectObjectPic_Arrow_6), - obj_frame_tiles(gFieldEffectObjectPic_Arrow_7), + overworld_frame(gFieldEffectObjectPic_Arrow, 16, 16, 0), + overworld_frame(gFieldEffectObjectPic_Arrow, 16, 16, 1), + overworld_frame(gFieldEffectObjectPic_Arrow, 16, 16, 2), + overworld_frame(gFieldEffectObjectPic_Arrow, 16, 16, 3), + overworld_frame(gFieldEffectObjectPic_Arrow, 16, 16, 4), + overworld_frame(gFieldEffectObjectPic_Arrow, 16, 16, 5), + overworld_frame(gFieldEffectObjectPic_Arrow, 16, 16, 6), + overworld_frame(gFieldEffectObjectPic_Arrow, 16, 16, 7), }; const union AnimCmd gFieldEffectObjectImageAnim_850CC1C[] = @@ -208,9 +208,9 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_Arrow[] = const struct SpriteTemplate gFieldEffectObjectTemplate_Arrow = {0xFFFF, 0xFFFF, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_Arrow, gFieldEffectObjectPicTable_Arrow, gDummySpriteAffineAnimTable, SpriteCallbackDummy}; const struct SpriteFrameImage gFieldEffectObjectPicTable_GroundImpactDust[] = { - obj_frame_tiles(gFieldEffectObjectPic_GroundImpactDust_0), - obj_frame_tiles(gFieldEffectObjectPic_GroundImpactDust_1), - obj_frame_tiles(gFieldEffectObjectPic_GroundImpactDust_2), + obj_frame_tiles(gFieldEffectObjectPic_GroundImpactDust_0), + obj_frame_tiles(gFieldEffectObjectPic_GroundImpactDust_1), + obj_frame_tiles(gFieldEffectObjectPic_GroundImpactDust_2), }; const union AnimCmd gFieldEffectObjectImageAnim_850CC8C[] = @@ -229,10 +229,10 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_GroundImpactDust[] = const struct SpriteTemplate gFieldEffectObjectTemplate_GroundImpactDust = {0xFFFF, 0x1004, &gEventObjectBaseOam_16x8, gFieldEffectObjectImageAnimTable_GroundImpactDust, gFieldEffectObjectPicTable_GroundImpactDust, gDummySpriteAffineAnimTable, sub_8156194}; const struct SpriteFrameImage gFieldEffectObjectPicTable_BikeHopTallGrass[] = { - obj_frame_tiles(gFieldEffectObjectPic_BikeHopTallGrass_0), - obj_frame_tiles(gFieldEffectObjectPic_BikeHopTallGrass_1), - obj_frame_tiles(gFieldEffectObjectPic_BikeHopTallGrass_2), - obj_frame_tiles(gFieldEffectObjectPic_BikeHopTallGrass_3), + obj_frame_tiles(gFieldEffectObjectPic_BikeHopTallGrass_0), + obj_frame_tiles(gFieldEffectObjectPic_BikeHopTallGrass_1), + obj_frame_tiles(gFieldEffectObjectPic_BikeHopTallGrass_2), + obj_frame_tiles(gFieldEffectObjectPic_BikeHopTallGrass_3), }; const union AnimCmd gFieldEffectObjectImageAnim_850CCD8[] = @@ -252,8 +252,8 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_BikeHopTallGrass[] = const struct SpriteTemplate gFieldEffectObjectTemplate_BikeHopTallGrass = {0xFFFF, 0x1005, &gEventObjectBaseOam_16x8, gFieldEffectObjectImageAnimTable_BikeHopTallGrass, gFieldEffectObjectPicTable_BikeHopTallGrass, gDummySpriteAffineAnimTable, sub_8156194}; const struct SpriteFrameImage gFieldEffectObjectPicTable_SandFootprints[] = { - obj_frame_tiles(gFieldEffectObjectPic_SandFootprints_0), - obj_frame_tiles(gFieldEffectObjectPic_SandFootprints_1), + obj_frame_tiles(gFieldEffectObjectPic_SandFootprints_0), + obj_frame_tiles(gFieldEffectObjectPic_SandFootprints_1), }; const union AnimCmd gFieldEffectObjectImageAnim_850CD18[] = @@ -292,8 +292,8 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_SandFootprints[] = const struct SpriteTemplate gFieldEffectObjectTemplate_SandFootprints = {0xFFFF, 0x1004, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_SandFootprints, gFieldEffectObjectPicTable_SandFootprints, gDummySpriteAffineAnimTable, sub_8154C60}; const struct SpriteFrameImage gFieldEffectObjectPicTable_DeepSandFootprints[] = { - obj_frame_tiles(gFieldEffectObjectPic_DeepSandFootprints_0), - obj_frame_tiles(gFieldEffectObjectPic_DeepSandFootprints_1), + obj_frame_tiles(gFieldEffectObjectPic_DeepSandFootprints_0), + obj_frame_tiles(gFieldEffectObjectPic_DeepSandFootprints_1), }; const union AnimCmd gFieldEffectObjectImageAnim_850CD74[] = @@ -332,10 +332,10 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_DeepSandFootprints[] const struct SpriteTemplate gFieldEffectObjectTemplate_DeepSandFootprints = {0xFFFF, 0x1004, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_DeepSandFootprints, gFieldEffectObjectPicTable_DeepSandFootprints, gDummySpriteAffineAnimTable, sub_8154C60}; const struct SpriteFrameImage gFieldEffectObjectPicTable_BikeTireTracks[] = { - obj_frame_tiles(gFieldEffectObjectPic_BikeTireTracks_0), - obj_frame_tiles(gFieldEffectObjectPic_BikeTireTracks_1), - obj_frame_tiles(gFieldEffectObjectPic_BikeTireTracks_2), - obj_frame_tiles(gFieldEffectObjectPic_BikeTireTracks_3), + obj_frame_tiles(gFieldEffectObjectPic_BikeTireTracks_0), + obj_frame_tiles(gFieldEffectObjectPic_BikeTireTracks_1), + obj_frame_tiles(gFieldEffectObjectPic_BikeTireTracks_2), + obj_frame_tiles(gFieldEffectObjectPic_BikeTireTracks_3), }; const union AnimCmd gFieldEffectObjectImageAnim_850CDE0[] = @@ -402,10 +402,10 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_BikeTireTracks[] = const struct SpriteTemplate gFieldEffectObjectTemplate_BikeTireTracks = {0xFFFF, 0x1004, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_BikeTireTracks, gFieldEffectObjectPicTable_BikeTireTracks, gDummySpriteAffineAnimTable, sub_8154C60}; const struct SpriteFrameImage gFieldEffectObjectPicTable_BikeHopBigSplash[] = { - obj_frame_tiles(gFieldEffectObjectPic_BikeHopBigSplash_0), - obj_frame_tiles(gFieldEffectObjectPic_BikeHopBigSplash_1), - obj_frame_tiles(gFieldEffectObjectPic_BikeHopBigSplash_2), - obj_frame_tiles(gFieldEffectObjectPic_BikeHopBigSplash_3), + overworld_frame(gFieldEffectObjectPic_BikeHopBigSplash, 16, 16, 0), + overworld_frame(gFieldEffectObjectPic_BikeHopBigSplash, 16, 16, 1), + overworld_frame(gFieldEffectObjectPic_BikeHopBigSplash, 16, 16, 2), + overworld_frame(gFieldEffectObjectPic_BikeHopBigSplash, 16, 16, 3), }; const union AnimCmd gFieldEffectObjectImageAnim_850CE7C[] = @@ -425,8 +425,8 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_BikeHopBigSplash[] = const struct SpriteTemplate gFieldEffectObjectTemplate_BikeHopBigSplash = {0xFFFF, 0x1004, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_BikeHopBigSplash, gFieldEffectObjectPicTable_BikeHopBigSplash, gDummySpriteAffineAnimTable, sub_8156194}; const struct SpriteFrameImage gFieldEffectObjectPicTable_Splash[] = { - obj_frame_tiles(gFieldEffectObjectPic_Splash_0), - obj_frame_tiles(gFieldEffectObjectPic_Splash_1), + overworld_frame(gFieldEffectObjectPic_Splash, 16, 8, 0), + overworld_frame(gFieldEffectObjectPic_Splash, 16, 8, 1), }; const union AnimCmd gFieldEffectObjectImageAnim_850CEBC[] = @@ -458,9 +458,9 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_Splash[] = const struct SpriteTemplate gFieldEffectObjectTemplate_Splash = {0xFFFF, 0x1004, &gEventObjectBaseOam_16x8, gFieldEffectObjectImageAnimTable_Splash, gFieldEffectObjectPicTable_Splash, gDummySpriteAffineAnimTable, sub_8154D90}; const struct SpriteFrameImage gFieldEffectObjectPicTable_BikeHopSmallSplash[] = { - obj_frame_tiles(gFieldEffectObjectPic_BikeHopSmallSplash_0), - obj_frame_tiles(gFieldEffectObjectPic_BikeHopSmallSplash_1), - obj_frame_tiles(gFieldEffectObjectPic_BikeHopSmallSplash_2), + overworld_frame(gFieldEffectObjectPic_BikeHopSmallSplash, 16, 8, 0), + overworld_frame(gFieldEffectObjectPic_BikeHopSmallSplash, 16, 8, 1), + overworld_frame(gFieldEffectObjectPic_BikeHopSmallSplash, 16, 8, 2), }; const union AnimCmd gFieldEffectObjectImageAnim_850CF24[] = @@ -479,10 +479,10 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_BikeHopSmallSplash[] const struct SpriteTemplate gFieldEffectObjectTemplate_BikeHopSmallSplash = {0xFFFF, 0x1004, &gEventObjectBaseOam_16x8, gFieldEffectObjectImageAnimTable_BikeHopSmallSplash, gFieldEffectObjectPicTable_BikeHopSmallSplash, gDummySpriteAffineAnimTable, sub_8156194}; const struct SpriteFrameImage gFieldEffectObjectPicTable_LongGrass[] = { - obj_frame_tiles(gFieldEffectObjectPic_LongGrass_0), - obj_frame_tiles(gFieldEffectObjectPic_LongGrass_1), - obj_frame_tiles(gFieldEffectObjectPic_LongGrass_2), - obj_frame_tiles(gFieldEffectObjectPic_LongGrass_3), + obj_frame_tiles(gFieldEffectObjectPic_LongGrass_0), + obj_frame_tiles(gFieldEffectObjectPic_LongGrass_1), + obj_frame_tiles(gFieldEffectObjectPic_LongGrass_2), + obj_frame_tiles(gFieldEffectObjectPic_LongGrass_3), }; const union AnimCmd gFieldEffectObjectImageAnim_850CF70[] = @@ -505,12 +505,12 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_LongGrass[] = const struct SpriteTemplate gFieldEffectObjectTemplate_LongGrass = {0xFFFF, 0x1005, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_LongGrass, gFieldEffectObjectPicTable_LongGrass, gDummySpriteAffineAnimTable, unc_grass_tall}; const struct SpriteFrameImage gFieldEffectObjectPicTable_Unknown16[] = { - obj_frame_tiles(gFieldEffectObjectPic_Unknown16_0), - obj_frame_tiles(gFieldEffectObjectPic_Unknown16_1), - obj_frame_tiles(gFieldEffectObjectPic_Unknown16_2), - obj_frame_tiles(gFieldEffectObjectPic_Unknown16_3), - obj_frame_tiles(gFieldEffectObjectPic_Unknown16_4), - obj_frame_tiles(gFieldEffectObjectPic_Unknown16_5), + obj_frame_tiles(gFieldEffectObjectPic_Unknown16_0), + obj_frame_tiles(gFieldEffectObjectPic_Unknown16_1), + obj_frame_tiles(gFieldEffectObjectPic_Unknown16_2), + obj_frame_tiles(gFieldEffectObjectPic_Unknown16_3), + obj_frame_tiles(gFieldEffectObjectPic_Unknown16_4), + obj_frame_tiles(gFieldEffectObjectPic_Unknown16_5), }; const union AnimCmd gFieldEffectObjectImageAnim_850CFDC[] = @@ -532,15 +532,15 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_Unknown16[] = const struct SpriteTemplate gFieldEffectObjectTemplate_Unknown16 = {0xFFFF, 0x1005, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_Unknown16, gFieldEffectObjectPicTable_Unknown16, gDummySpriteAffineAnimTable, sub_8156194}; const struct SpriteFrameImage gFieldEffectObjectPicTable_Unknown17[] = { - obj_frame_tiles(gFieldEffectObjectPic_Unknown16_5), - obj_frame_tiles(gFieldEffectObjectPic_Unknown17_0), - obj_frame_tiles(gFieldEffectObjectPic_Unknown17_1), - obj_frame_tiles(gFieldEffectObjectPic_Unknown17_2), - obj_frame_tiles(gFieldEffectObjectPic_Unknown17_3), - obj_frame_tiles(gFieldEffectObjectPic_Unknown17_4), - obj_frame_tiles(gFieldEffectObjectPic_Unknown17_5), - obj_frame_tiles(gFieldEffectObjectPic_Unknown17_6), - obj_frame_tiles(gFieldEffectObjectPic_Unknown17_7), + obj_frame_tiles(gFieldEffectObjectPic_Unknown16_5), + overworld_frame(gFieldEffectObjectPic_Unknown17, 16, 16, 0), + overworld_frame(gFieldEffectObjectPic_Unknown17, 16, 16, 1), + overworld_frame(gFieldEffectObjectPic_Unknown17, 16, 16, 2), + overworld_frame(gFieldEffectObjectPic_Unknown17, 16, 16, 3), + overworld_frame(gFieldEffectObjectPic_Unknown17, 16, 16, 4), + overworld_frame(gFieldEffectObjectPic_Unknown17, 16, 16, 5), + overworld_frame(gFieldEffectObjectPic_Unknown17, 16, 16, 6), + overworld_frame(gFieldEffectObjectPic_Unknown17, 16, 16, 7), }; const union AnimCmd gFieldEffectObjectImageAnim_850D05C[] = @@ -565,10 +565,10 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_Unknown17[] = const struct SpriteTemplate gFieldEffectObjectTemplate_Unknown17 = {0xFFFF, 0x1005, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_Unknown17, gFieldEffectObjectPicTable_Unknown17, gDummySpriteAffineAnimTable, sub_81561D0}; const struct SpriteFrameImage gFieldEffectObjectPicTable_Unknown18[] = { - obj_frame_tiles(gFieldEffectObjectPic_Unknown18_0), - obj_frame_tiles(gFieldEffectObjectPic_Unknown18_1), - obj_frame_tiles(gFieldEffectObjectPic_Unknown18_2), - obj_frame_tiles(gFieldEffectObjectPic_Unknown18_3), + obj_frame_tiles(gFieldEffectObjectPic_Unknown18_0), + obj_frame_tiles(gFieldEffectObjectPic_Unknown18_1), + obj_frame_tiles(gFieldEffectObjectPic_Unknown18_2), + obj_frame_tiles(gFieldEffectObjectPic_Unknown18_3), }; const union AnimCmd gFieldEffectObjectImageAnim_850D0C0[] = @@ -590,10 +590,10 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_Unknown18[] = const struct SpriteTemplate gFieldEffectObjectTemplate_Unknown18 = {0xFFFF, 0x1005, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_Unknown18, gFieldEffectObjectPicTable_Unknown18, gDummySpriteAffineAnimTable, sub_81561D0}; const struct SpriteFrameImage gFieldEffectObjectPicTable_Unknown19[] = { - obj_frame_tiles(gFieldEffectObjectPic_Unknown19_0), - obj_frame_tiles(gFieldEffectObjectPic_Unknown19_1), - obj_frame_tiles(gFieldEffectObjectPic_Unknown19_2), - obj_frame_tiles(gFieldEffectObjectPic_Unknown19_3), + obj_frame_tiles(gFieldEffectObjectPic_Unknown19_0), + obj_frame_tiles(gFieldEffectObjectPic_Unknown19_1), + obj_frame_tiles(gFieldEffectObjectPic_Unknown19_2), + obj_frame_tiles(gFieldEffectObjectPic_Unknown19_3), }; const union AnimCmd gFieldEffectObjectImageAnim_850D118[] = @@ -613,9 +613,9 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_Unknown19[] = const struct SpriteTemplate gFieldEffectObjectTemplate_Unknown19 = {0xFFFF, 0x1004, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_Unknown19, gFieldEffectObjectPicTable_Unknown19, gDummySpriteAffineAnimTable, sub_81561D0}; const struct SpriteFrameImage gFieldEffectObjectPicTable_Unknown29[] = { - obj_frame_tiles(gFieldEffectObjectPic_Unknown29_0), - obj_frame_tiles(gFieldEffectObjectPic_Unknown29_1), - obj_frame_tiles(gFieldEffectObjectPic_Unknown29_2), + obj_frame_tiles(gFieldEffectObjectPic_Unknown29_0), + obj_frame_tiles(gFieldEffectObjectPic_Unknown29_1), + obj_frame_tiles(gFieldEffectObjectPic_Unknown29_2), }; const union AnimCmd gFieldEffectObjectImageAnim_850D160[] = @@ -634,10 +634,10 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_Unknown29[] = const struct SpriteTemplate gFieldEffectObjectTemplate_Unknown29 = {0xFFFF, 0x1004, &gEventObjectBaseOam_16x8, gFieldEffectObjectImageAnimTable_Unknown29, gFieldEffectObjectPicTable_Unknown29, gDummySpriteAffineAnimTable, sub_81559BC}; const struct SpriteFrameImage gFieldEffectObjectPicTable_Unknown20[] = { - obj_frame_tiles(gFieldEffectObjectPic_Unknown20_0), - obj_frame_tiles(gFieldEffectObjectPic_Unknown20_1), - obj_frame_tiles(gFieldEffectObjectPic_Unknown20_2), - obj_frame_tiles(gFieldEffectObjectPic_Unknown20_3), + obj_frame_tiles(gFieldEffectObjectPic_Unknown20_0), + obj_frame_tiles(gFieldEffectObjectPic_Unknown20_1), + obj_frame_tiles(gFieldEffectObjectPic_Unknown20_2), + obj_frame_tiles(gFieldEffectObjectPic_Unknown20_3), }; const union AnimCmd gFieldEffectObjectImageAnim_850D1AC[] = @@ -695,12 +695,12 @@ const union AffineAnimCmd *const gFieldEffectObjectRotScalAnimTable_Unknown21[] const struct SpriteTemplate gFieldEffectObjectTemplate_Unknown21 = {0x0, 0xFFFF, &gDummyOamData, gDummySpriteAnimTable, NULL, gFieldEffectObjectRotScalAnimTable_Unknown21, SpriteCallbackDummy}; const struct SpriteFrameImage gFieldEffectObjectPicTable_BerryTreeGrowthSparkle[] = { - obj_frame_tiles(gFieldEffectObjectPic_BerryTreeGrowthSparkle_0), - obj_frame_tiles(gFieldEffectObjectPic_BerryTreeGrowthSparkle_1), - obj_frame_tiles(gFieldEffectObjectPic_BerryTreeGrowthSparkle_2), - obj_frame_tiles(gFieldEffectObjectPic_BerryTreeGrowthSparkle_3), - obj_frame_tiles(gFieldEffectObjectPic_BerryTreeGrowthSparkle_4), - obj_frame_tiles(gFieldEffectObjectPic_BerryTreeGrowthSparkle_5), + obj_frame_tiles(gFieldEffectObjectPic_BerryTreeGrowthSparkle_0), + obj_frame_tiles(gFieldEffectObjectPic_BerryTreeGrowthSparkle_1), + obj_frame_tiles(gFieldEffectObjectPic_BerryTreeGrowthSparkle_2), + obj_frame_tiles(gFieldEffectObjectPic_BerryTreeGrowthSparkle_3), + obj_frame_tiles(gFieldEffectObjectPic_BerryTreeGrowthSparkle_4), + obj_frame_tiles(gFieldEffectObjectPic_BerryTreeGrowthSparkle_5), }; const union AnimCmd gFieldEffectObjectImageAnim_850D2D4[] = @@ -736,13 +736,13 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_BerryTreeGrowthSpark const struct SpriteTemplate gFieldEffectObjectTemplate_BerryTreeGrowthSparkle = {0xFFFF, 0xFFFF, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_BerryTreeGrowthSparkle, gFieldEffectObjectPicTable_BerryTreeGrowthSparkle, gDummySpriteAffineAnimTable, sub_81561D0}; const struct SpriteFrameImage gFieldEffectObjectPicTable_TreeDisguise[] = { - obj_frame_tiles(gFieldEffectObjectPic_TreeDisguise_0), - obj_frame_tiles(gFieldEffectObjectPic_TreeDisguise_1), - obj_frame_tiles(gFieldEffectObjectPic_TreeDisguise_2), - obj_frame_tiles(gFieldEffectObjectPic_TreeDisguise_3), - obj_frame_tiles(gFieldEffectObjectPic_TreeDisguise_4), - obj_frame_tiles(gFieldEffectObjectPic_TreeDisguise_5), - obj_frame_tiles(gFieldEffectObjectPic_TreeDisguise_6), + overworld_frame(gFieldEffectObjectPic_TreeDisguise, 16, 32, 0), + overworld_frame(gFieldEffectObjectPic_TreeDisguise, 16, 32, 1), + overworld_frame(gFieldEffectObjectPic_TreeDisguise, 16, 32, 2), + overworld_frame(gFieldEffectObjectPic_TreeDisguise, 16, 32, 3), + overworld_frame(gFieldEffectObjectPic_TreeDisguise, 16, 32, 4), + overworld_frame(gFieldEffectObjectPic_TreeDisguise, 16, 32, 5), + overworld_frame(gFieldEffectObjectPic_TreeDisguise, 16, 32, 6), }; const union AnimCmd gFieldEffectObjectImageAnim_850D37C[] = @@ -772,13 +772,13 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_TreeDisguise[] = const struct SpriteTemplate gFieldEffectObjectTemplate_TreeDisguise = {0xFFFF, 0xFFFF, &gEventObjectBaseOam_16x32, gFieldEffectObjectImageAnimTable_TreeDisguise, gFieldEffectObjectPicTable_TreeDisguise, gDummySpriteAffineAnimTable, sub_8155C88}; const struct SpriteFrameImage gFieldEffectObjectPicTable_MountainDisguise[] = { - obj_frame_tiles(gFieldEffectObjectPic_MountainDisguise_0), - obj_frame_tiles(gFieldEffectObjectPic_MountainDisguise_1), - obj_frame_tiles(gFieldEffectObjectPic_MountainDisguise_2), - obj_frame_tiles(gFieldEffectObjectPic_MountainDisguise_3), - obj_frame_tiles(gFieldEffectObjectPic_MountainDisguise_4), - obj_frame_tiles(gFieldEffectObjectPic_MountainDisguise_5), - obj_frame_tiles(gFieldEffectObjectPic_MountainDisguise_6), + overworld_frame(gFieldEffectObjectPic_MountainDisguise, 16, 32, 0), + overworld_frame(gFieldEffectObjectPic_MountainDisguise, 16, 32, 1), + overworld_frame(gFieldEffectObjectPic_MountainDisguise, 16, 32, 2), + overworld_frame(gFieldEffectObjectPic_MountainDisguise, 16, 32, 3), + overworld_frame(gFieldEffectObjectPic_MountainDisguise, 16, 32, 4), + overworld_frame(gFieldEffectObjectPic_MountainDisguise, 16, 32, 5), + overworld_frame(gFieldEffectObjectPic_MountainDisguise, 16, 32, 6), }; const union AnimCmd gFieldEffectObjectImageAnim_850D3FC[] = @@ -808,19 +808,19 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_MountainDisguise[] = const struct SpriteTemplate gFieldEffectObjectTemplate_MountainDisguise = {0xFFFF, 0xFFFF, &gEventObjectBaseOam_16x32, gFieldEffectObjectImageAnimTable_MountainDisguise, gFieldEffectObjectPicTable_MountainDisguise, gDummySpriteAffineAnimTable, sub_8155C88}; const struct SpriteFrameImage gFieldEffectObjectPicTable_SandDisguisePlaceholder[] = { - obj_frame_tiles(gFieldEffectObjectPic_SandDisguisePlaceholder_0), - obj_frame_tiles(gFieldEffectObjectPic_SandDisguisePlaceholder_1), - obj_frame_tiles(gFieldEffectObjectPic_SandDisguisePlaceholder_2), - obj_frame_tiles(gFieldEffectObjectPic_SandDisguisePlaceholder_3), - obj_frame_tiles(gFieldEffectObjectPic_SandDisguisePlaceholder_4), - obj_frame_tiles(gFieldEffectObjectPic_SandDisguisePlaceholder_5), - obj_frame_tiles(gFieldEffectObjectPic_SandDisguisePlaceholder_6), + overworld_frame(gFieldEffectObjectPic_SandDisguisePlaceholder, 16, 32, 0), + overworld_frame(gFieldEffectObjectPic_SandDisguisePlaceholder, 16, 32, 1), + overworld_frame(gFieldEffectObjectPic_SandDisguisePlaceholder, 16, 32, 2), + overworld_frame(gFieldEffectObjectPic_SandDisguisePlaceholder, 16, 32, 3), + overworld_frame(gFieldEffectObjectPic_SandDisguisePlaceholder, 16, 32, 4), + overworld_frame(gFieldEffectObjectPic_SandDisguisePlaceholder, 16, 32, 5), + overworld_frame(gFieldEffectObjectPic_SandDisguisePlaceholder, 16, 32, 6), }; const struct SpriteTemplate gFieldEffectObjectTemplate_SandDisguisePlaceholder = {0xFFFF, 0xFFFF, &gEventObjectBaseOam_16x32, gFieldEffectObjectImageAnimTable_TreeDisguise, gFieldEffectObjectPicTable_SandDisguisePlaceholder, gDummySpriteAffineAnimTable, sub_8155C88}; const struct SpriteFrameImage gFieldEffectObjectPicTable_Bird[] = { - obj_frame_tiles(gFieldEffectObjectPic_Bird), + obj_frame_tiles(gFieldEffectObjectPic_Bird), }; const union AnimCmd gFieldEffectObjectImageAnim_850D49C[] = @@ -837,8 +837,8 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_Bird[] = const struct SpriteTemplate gFieldEffectObjectTemplate_Bird = {0xFFFF, 0xFFFF, &gEventObjectBaseOam_32x32, gFieldEffectObjectImageAnimTable_Bird, gFieldEffectObjectPicTable_Bird, gDummySpriteAffineAnimTable, SpriteCallbackDummy}; const struct SpriteFrameImage gFieldEffectObjectPicTable_ShortGrass[] = { - obj_frame_tiles(gFieldEffectObjectPic_ShortGrass_0), - obj_frame_tiles(gFieldEffectObjectPic_ShortGrass_1), + overworld_frame(gFieldEffectObjectPic_ShortGrass, 16, 16, 0), + overworld_frame(gFieldEffectObjectPic_ShortGrass, 16, 16, 1), }; const union AnimCmd gFieldEffectObjectImageAnim_850D4D0[] = @@ -856,7 +856,7 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_ShortGrass[] = const struct SpriteTemplate gFieldEffectObjectTemplate_ShortGrass = {0xFFFF, 0x1005, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_ShortGrass, gFieldEffectObjectPicTable_ShortGrass, gDummySpriteAffineAnimTable, sub_8154A10}; const struct SpriteFrameImage gFieldEffectObjectPicTable_HotSpringsWater[] = { - obj_frame_tiles(gFieldEffectObjectPic_HotSpringsWater), + obj_frame_tiles(gFieldEffectObjectPic_HotSpringsWater), }; const union AnimCmd gFieldEffectObjectImageAnim_850D500[] = @@ -873,11 +873,11 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_HotSpringsWater[] = const struct SpriteTemplate gFieldEffectObjectTemplate_HotSpringsWater = {0xFFFF, 0x1005, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_HotSpringsWater, gFieldEffectObjectPicTable_HotSpringsWater, gDummySpriteAffineAnimTable, sub_8155158}; const struct SpriteFrameImage gFieldEffectObjectPicTable_JumpOutOfAsh[] = { - obj_frame_tiles(gFieldEffectObjectPic_JumpOutOfAsh_0), - obj_frame_tiles(gFieldEffectObjectPic_JumpOutOfAsh_1), - obj_frame_tiles(gFieldEffectObjectPic_JumpOutOfAsh_2), - obj_frame_tiles(gFieldEffectObjectPic_JumpOutOfAsh_3), - obj_frame_tiles(gFieldEffectObjectPic_JumpOutOfAsh_4), + overworld_frame(gFieldEffectObjectPic_JumpOutOfAsh, 16, 16, 0), + overworld_frame(gFieldEffectObjectPic_JumpOutOfAsh, 16, 16, 1), + overworld_frame(gFieldEffectObjectPic_JumpOutOfAsh, 16, 16, 2), + overworld_frame(gFieldEffectObjectPic_JumpOutOfAsh, 16, 16, 3), + overworld_frame(gFieldEffectObjectPic_JumpOutOfAsh, 16, 16, 4), }; const union AnimCmd gFieldEffectObjectImageAnim_850D54C[] = @@ -900,11 +900,11 @@ const struct SpriteTemplate gFieldEffectObjectTemplate_JumpOutOfAsh = {0xFFFF, 0 const struct SpritePalette gFieldEffectObjectPaletteInfo2 = {gFieldEffectObjectPalette2, 0x100D}; const struct SpriteFrameImage gFieldEffectObjectPicTable_Unknown33[] = { - obj_frame_tiles(gFieldEffectObjectPic_Unknown33_0), - obj_frame_tiles(gFieldEffectObjectPic_Unknown33_1), - obj_frame_tiles(gFieldEffectObjectPic_Unknown33_2), - obj_frame_tiles(gFieldEffectObjectPic_Unknown33_3), - obj_frame_tiles(gFieldEffectObjectPic_Unknown33_4), + obj_frame_tiles(gFieldEffectObjectPic_Unknown33_0), + obj_frame_tiles(gFieldEffectObjectPic_Unknown33_1), + obj_frame_tiles(gFieldEffectObjectPic_Unknown33_2), + obj_frame_tiles(gFieldEffectObjectPic_Unknown33_3), + obj_frame_tiles(gFieldEffectObjectPic_Unknown33_4), }; const union AnimCmd gFieldEffectObjectImageAnim_850D5B0[] = @@ -925,14 +925,14 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_Unknown33[] = const struct SpriteTemplate gFieldEffectObjectTemplate_Unknown33 = {0xFFFF, 0x100D, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_Unknown33, gFieldEffectObjectPicTable_Unknown33, gDummySpriteAffineAnimTable, sub_80B7A58}; const struct SpriteFrameImage gFieldEffectObjectPicTable_Bubbles[] = { - obj_frame_tiles(gFieldEffectObjectPic_Bubbles_0), - obj_frame_tiles(gFieldEffectObjectPic_Bubbles_1), - obj_frame_tiles(gFieldEffectObjectPic_Bubbles_2), - obj_frame_tiles(gFieldEffectObjectPic_Bubbles_3), - obj_frame_tiles(gFieldEffectObjectPic_Bubbles_4), - obj_frame_tiles(gFieldEffectObjectPic_Bubbles_5), - obj_frame_tiles(gFieldEffectObjectPic_Bubbles_6), - obj_frame_tiles(gFieldEffectObjectPic_Bubbles_7), + overworld_frame(gFieldEffectObjectPic_Bubbles, 16, 32, 0), + overworld_frame(gFieldEffectObjectPic_Bubbles, 16, 32, 1), + overworld_frame(gFieldEffectObjectPic_Bubbles, 16, 32, 2), + overworld_frame(gFieldEffectObjectPic_Bubbles, 16, 32, 3), + overworld_frame(gFieldEffectObjectPic_Bubbles, 16, 32, 4), + overworld_frame(gFieldEffectObjectPic_Bubbles, 16, 32, 5), + overworld_frame(gFieldEffectObjectPic_Bubbles, 16, 32, 6), + overworld_frame(gFieldEffectObjectPic_Bubbles, 16, 32, 7), }; const union AnimCmd gFieldEffectObjectImageAnim_850D624[] = @@ -956,8 +956,8 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_Bubbles[] = const struct SpriteTemplate gFieldEffectObjectTemplate_Bubbles = {0xFFFF, 0x1004, &gEventObjectBaseOam_16x32, gFieldEffectObjectImageAnimTable_Bubbles, gFieldEffectObjectPicTable_Bubbles, gDummySpriteAffineAnimTable, sub_8155AEC}; const struct SpriteFrameImage gFieldEffectObjectPicTable_Unknown35[] = { - obj_frame_tiles(gFieldEffectObjectPic_Unknown35_0), - obj_frame_tiles(gFieldEffectObjectPic_Unknown35_1), + obj_frame_tiles(gFieldEffectObjectPic_Unknown35_0), + obj_frame_tiles(gFieldEffectObjectPic_Unknown35_1), }; const union AnimCmd gFieldEffectObjectImageAnim_850D674[] = @@ -987,7 +987,7 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_Rayquaza[] = { }; const struct SpriteFrameImage gFieldEffectObjectPicTable_Rayquaza[] = { - {.data = (u8*)gEventObjectPic_Rayquaza_0, .size = (sizeof gEventObjectPic_Rayquaza_0) / 4} + overworld_frame(gEventObjectPic_Rayquaza, 64, 64, 0), }; const struct SpriteTemplate gFieldEffectObjectTemplate_Rayquaza = {0xFFFF, 0xFFFF, &gEventObjectBaseOam_32x32, gFieldEffectObjectImageAnimTable_Rayquaza, gFieldEffectObjectPicTable_Rayquaza, gDummySpriteAffineAnimTable, sub_8155F80}; From 291ac2cee9b04c6a9b203867bbcf9df0176ef0e2 Mon Sep 17 00:00:00 2001 From: Slawter666 <38655737+Slawter666@users.noreply.github.com> Date: Sat, 8 Sep 2018 00:28:32 +0100 Subject: [PATCH 182/234] Add build rules for overworld sprite sheets --- Makefile | 1 + event_obj_graphics_makefile_rules.mk | 221 ++++++++++++++++++ .../field_event_obj/event_object_pic_tables.h | 68 +++--- .../field_event_obj/field_effect_objects.h | 2 +- 4 files changed, 257 insertions(+), 35 deletions(-) create mode 100644 event_obj_graphics_makefile_rules.mk diff --git a/Makefile b/Makefile index ce3a6ec18d..3c2c333b0a 100644 --- a/Makefile +++ b/Makefile @@ -90,6 +90,7 @@ tidy: rm -r build/* include graphics_file_rules.mk +include event_obj_graphics_makefile_rules.mk %.s: ; %.png: ; diff --git a/event_obj_graphics_makefile_rules.mk b/event_obj_graphics_makefile_rules.mk new file mode 100644 index 0000000000..4496421f24 --- /dev/null +++ b/event_obj_graphics_makefile_rules.mk @@ -0,0 +1,221 @@ +OVERWORLDGFXDIR := graphics/event_objects/pics + +$(OVERWORLDGFXDIR)/people/brendan/walking.4bpp: $(OVERWORLDGFXDIR)/people/brendan/walking.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + + $(GFX) $(OVERWORLDGFXDIR)/people/brendan/running.png $(OVERWORLDGFXDIR)/people/brendan/running.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/people/brendan/field_move.png $(OVERWORLDGFXDIR)/people/brendan/field_move.4bpp -mwidth 4 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/people/brendan/surfing.png $(OVERWORLDGFXDIR)/people/brendan/surfing.4bpp -mwidth 4 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/people/brendan/mach_bike.png $(OVERWORLDGFXDIR)/people/brendan/mach_bike.4bpp -mwidth 4 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/people/brendan/acro_bike.png $(OVERWORLDGFXDIR)/people/brendan/acro_bike.4bpp -mwidth 4 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/people/brendan/fishing.png $(OVERWORLDGFXDIR)/people/brendan/fishing.4bpp -mwidth 4 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/people/brendan/watering.png $(OVERWORLDGFXDIR)/people/brendan/watering.4bpp -mwidth 4 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/people/brendan/underwater.png $(OVERWORLDGFXDIR)/people/brendan/underwater.4bpp -mwidth 4 -mheight 4 + + $(GFX) $(OVERWORLDGFXDIR)/people/elite_four/drake.png $(OVERWORLDGFXDIR)/people/elite_four/drake.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/people/elite_four/glacia.png $(OVERWORLDGFXDIR)/people/elite_four/glacia.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/people/elite_four/phoebe.png $(OVERWORLDGFXDIR)/people/elite_four/phoebe.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/people/elite_four/sidney.png $(OVERWORLDGFXDIR)/people/elite_four/sidney.4bpp -mwidth 2 -mheight 4 + + $(GFX) $(OVERWORLDGFXDIR)/people/frontier_brains/anabel.png $(OVERWORLDGFXDIR)/people/frontier_brains/anabel.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/people/frontier_brains/brandon.png $(OVERWORLDGFXDIR)/people/frontier_brains/brandon.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/people/frontier_brains/greta.png $(OVERWORLDGFXDIR)/people/frontier_brains/greta.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/people/frontier_brains/lucy.png $(OVERWORLDGFXDIR)/people/frontier_brains/lucy.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/people/frontier_brains/noland.png $(OVERWORLDGFXDIR)/people/frontier_brains/noland.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/people/frontier_brains/spenser.png $(OVERWORLDGFXDIR)/people/frontier_brains/spenser.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/people/frontier_brains/tucker.png $(OVERWORLDGFXDIR)/people/frontier_brains/tucker.4bpp -mwidth 2 -mheight 4 + + $(GFX) $(OVERWORLDGFXDIR)/people/gym_leaders/brawly.png $(OVERWORLDGFXDIR)/people/gym_leaders/brawly.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/people/gym_leaders/flannery.png $(OVERWORLDGFXDIR)/people/gym_leaders/flannery.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/people/gym_leaders/juan.png $(OVERWORLDGFXDIR)/people/gym_leaders/juan.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/people/gym_leaders/liza.png $(OVERWORLDGFXDIR)/people/gym_leaders/liza.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/people/gym_leaders/norman.png $(OVERWORLDGFXDIR)/people/gym_leaders/norman.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/people/gym_leaders/roxanne.png $(OVERWORLDGFXDIR)/people/gym_leaders/roxanne.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/people/gym_leaders/tate.png $(OVERWORLDGFXDIR)/people/gym_leaders/tate.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/people/gym_leaders/wattson.png $(OVERWORLDGFXDIR)/people/gym_leaders/wattson.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/people/gym_leaders/winona.png $(OVERWORLDGFXDIR)/people/gym_leaders/winona.4bpp -mwidth 2 -mheight 4 + + $(GFX) $(OVERWORLDGFXDIR)/people/may/walking.png $(OVERWORLDGFXDIR)/people/may/walking.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/people/may/running.png $(OVERWORLDGFXDIR)/people/may/running.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/people/may/field_move.png $(OVERWORLDGFXDIR)/people/may/field_move.4bpp -mwidth 4 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/people/may/surfing.png $(OVERWORLDGFXDIR)/people/may/surfing.4bpp -mwidth 4 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/people/may/mach_bike.png $(OVERWORLDGFXDIR)/people/may/mach_bike.4bpp -mwidth 4 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/people/may/acro_bike.png $(OVERWORLDGFXDIR)/people/may/acro_bike.4bpp -mwidth 4 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/people/may/fishing.png $(OVERWORLDGFXDIR)/people/may/fishing.4bpp -mwidth 4 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/people/may/watering.png $(OVERWORLDGFXDIR)/people/may/watering.4bpp -mwidth 4 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/people/may/underwater.png $(OVERWORLDGFXDIR)/people/may/underwater.4bpp -mwidth 4 -mheight 4 + + $(GFX) $(OVERWORLDGFXDIR)/people/ruby_sapphire_brendan/walking.png $(OVERWORLDGFXDIR)/people/ruby_sapphire_brendan/walking.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/people/ruby_sapphire_brendan/running.png $(OVERWORLDGFXDIR)/people/ruby_sapphire_brendan/running.4bpp -mwidth 2 -mheight 4 + + $(GFX) $(OVERWORLDGFXDIR)/people/ruby_sapphire_may/walking.png $(OVERWORLDGFXDIR)/people/ruby_sapphire_may/walking.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/people/ruby_sapphire_may/running.png $(OVERWORLDGFXDIR)/people/ruby_sapphire_may/running.4bpp -mwidth 2 -mheight 4 + + $(GFX) $(OVERWORLDGFXDIR)/people/team_aqua/aqua_member_f.png $(OVERWORLDGFXDIR)/people/team_aqua/aqua_member_f.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/people/team_aqua/aqua_member_m.png $(OVERWORLDGFXDIR)/people/team_aqua/aqua_member_m.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/people/team_aqua/archie.png $(OVERWORLDGFXDIR)/people/team_aqua/archie.4bpp -mwidth 2 -mheight 4 + + $(GFX) $(OVERWORLDGFXDIR)/people/team_magma/magma_member_f.png $(OVERWORLDGFXDIR)/people/team_magma/magma_member_f.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/people/team_magma/magma_member_m.png $(OVERWORLDGFXDIR)/people/team_magma/magma_member_m.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/people/team_magma/maxie.png $(OVERWORLDGFXDIR)/people/team_magma/maxie.4bpp -mwidth 2 -mheight 4 + + $(GFX) $(OVERWORLDGFXDIR)/people/artist.png $(OVERWORLDGFXDIR)/people/artist.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/people/beauty.png $(OVERWORLDGFXDIR)/people/beauty.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/people/black_belt.png $(OVERWORLDGFXDIR)/people/black_belt.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/people/boy_1.png $(OVERWORLDGFXDIR)/people/boy_1.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/people/boy_2.png $(OVERWORLDGFXDIR)/people/boy_2.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/people/boy_3.png $(OVERWORLDGFXDIR)/people/boy_3.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/people/boy_4.png $(OVERWORLDGFXDIR)/people/boy_4.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/people/boy_5.png $(OVERWORLDGFXDIR)/people/boy_5.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/people/bug_catcher.png $(OVERWORLDGFXDIR)/people/bug_catcher.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/people/cameraman.png $(OVERWORLDGFXDIR)/people/cameraman.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/people/camper.png $(OVERWORLDGFXDIR)/people/camper.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/people/contest_old_man.png $(OVERWORLDGFXDIR)/people/contest_old_man.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/people/cook.png $(OVERWORLDGFXDIR)/people/cook.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/people/cycling_triathlete_f.png $(OVERWORLDGFXDIR)/people/cycling_triathlete_f.4bpp -mwidth 4 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/people/cycling_triathlete_m.png $(OVERWORLDGFXDIR)/people/cycling_triathlete_m.4bpp -mwidth 4 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/people/fat_man.png $(OVERWORLDGFXDIR)/people/fat_man.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/people/fisherman.png $(OVERWORLDGFXDIR)/people/fisherman.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/people/gentleman.png $(OVERWORLDGFXDIR)/people/gentleman.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/people/girl_1.png $(OVERWORLDGFXDIR)/people/girl_1.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/people/girl_2.png $(OVERWORLDGFXDIR)/people/girl_2.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/people/girl_3.png $(OVERWORLDGFXDIR)/people/girl_3.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/people/hex_maniac.png $(OVERWORLDGFXDIR)/people/hex_maniac.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/people/hiker.png $(OVERWORLDGFXDIR)/people/hiker.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/people/hot_springs_old_woman.png $(OVERWORLDGFXDIR)/people/hot_springs_old_woman.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/people/lass.png $(OVERWORLDGFXDIR)/people/lass.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/people/leaf.png $(OVERWORLDGFXDIR)/people/leaf.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/people/little_boy_1.png $(OVERWORLDGFXDIR)/people/little_boy_1.4bpp -mwidth 2 -mheight 2 + $(GFX) $(OVERWORLDGFXDIR)/people/little_boy_2.png $(OVERWORLDGFXDIR)/people/little_boy_2.4bpp -mwidth 2 -mheight 2 + $(GFX) $(OVERWORLDGFXDIR)/people/little_girl_1.png $(OVERWORLDGFXDIR)/people/little_girl_1.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/people/little_girl_2.png $(OVERWORLDGFXDIR)/people/little_girl_2.4bpp -mwidth 2 -mheight 2 + $(GFX) $(OVERWORLDGFXDIR)/people/man_1.png $(OVERWORLDGFXDIR)/people/man_1.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/people/man_2.png $(OVERWORLDGFXDIR)/people/man_2.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/people/man_3.png $(OVERWORLDGFXDIR)/people/man_3.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/people/man_4.png $(OVERWORLDGFXDIR)/people/man_4.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/people/man_5.png $(OVERWORLDGFXDIR)/people/man_5.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/people/man_6.png $(OVERWORLDGFXDIR)/people/man_6.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/people/man_7.png $(OVERWORLDGFXDIR)/people/man_7.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/people/maniac.png $(OVERWORLDGFXDIR)/people/maniac.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/people/mart_employee.png $(OVERWORLDGFXDIR)/people/mart_employee.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/people/mauville_old_man_1.png $(OVERWORLDGFXDIR)/people/mauville_old_man_1.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/people/mauville_old_man_2.png $(OVERWORLDGFXDIR)/people/mauville_old_man_2.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/people/mom.png $(OVERWORLDGFXDIR)/people/mom.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/people/mystery_event_deliveryman.png $(OVERWORLDGFXDIR)/people/mystery_event_deliveryman.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/people/nurse.png $(OVERWORLDGFXDIR)/people/nurse.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/people/old_man_1.png $(OVERWORLDGFXDIR)/people/old_man_1.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/people/old_man_2.png $(OVERWORLDGFXDIR)/people/old_man_2.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/people/old_woman_1.png $(OVERWORLDGFXDIR)/people/old_woman_1.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/people/old_woman_2.png $(OVERWORLDGFXDIR)/people/old_woman_2.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/people/picnicker.png $(OVERWORLDGFXDIR)/people/picnicker.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/people/prof_birch.png $(OVERWORLDGFXDIR)/people/prof_birch.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/people/psychic_m.png $(OVERWORLDGFXDIR)/people/psychic_m.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/people/quinty_plump.png $(OVERWORLDGFXDIR)/people/quinty_plump.4bpp -mwidth 4 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/people/red.png $(OVERWORLDGFXDIR)/people/red.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/people/reporter_f.png $(OVERWORLDGFXDIR)/people/reporter_f.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/people/reporter_m.png $(OVERWORLDGFXDIR)/people/reporter_m.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/people/rooftop_sale_woman.png $(OVERWORLDGFXDIR)/people/rooftop_sale_woman.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/people/rs_little_boy.png $(OVERWORLDGFXDIR)/people/rs_little_boy.4bpp -mwidth 2 -mheight 2 + $(GFX) $(OVERWORLDGFXDIR)/people/running_triathlete_f.png $(OVERWORLDGFXDIR)/people/running_triathlete_f.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/people/running_triathlete_m.png $(OVERWORLDGFXDIR)/people/running_triathlete_m.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/people/sailor.png $(OVERWORLDGFXDIR)/people/sailor.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/people/school_kid_m.png $(OVERWORLDGFXDIR)/people/school_kid_m.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/people/scientist_1.png $(OVERWORLDGFXDIR)/people/scientist_1.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/people/scientist_2.png $(OVERWORLDGFXDIR)/people/scientist_2.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/people/scott.png $(OVERWORLDGFXDIR)/people/scott.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/people/steven.png $(OVERWORLDGFXDIR)/people/steven.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/people/swimmer_f.png $(OVERWORLDGFXDIR)/people/swimmer_f.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/people/swimmer_m.png $(OVERWORLDGFXDIR)/people/swimmer_m.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/people/teala.png $(OVERWORLDGFXDIR)/people/teala.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/people/tuber_f.png $(OVERWORLDGFXDIR)/people/tuber_f.4bpp -mwidth 2 -mheight 2 + $(GFX) $(OVERWORLDGFXDIR)/people/tuber_m.png $(OVERWORLDGFXDIR)/people/tuber_m.4bpp -mwidth 2 -mheight 2 + $(GFX) $(OVERWORLDGFXDIR)/people/tuber_m_swimming.png $(OVERWORLDGFXDIR)/people/tuber_m_swimming.4bpp -mwidth 2 -mheight 2 + $(GFX) $(OVERWORLDGFXDIR)/people/union_room_attendant.png $(OVERWORLDGFXDIR)/people/union_room_attendant.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/people/unused_woman.png $(OVERWORLDGFXDIR)/people/unused_woman.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/people/wallace.png $(OVERWORLDGFXDIR)/people/wallace.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/people/wally.png $(OVERWORLDGFXDIR)/people/wally.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/people/woman_1.png $(OVERWORLDGFXDIR)/people/woman_1.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/people/woman_2.png $(OVERWORLDGFXDIR)/people/woman_2.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/people/woman_3.png $(OVERWORLDGFXDIR)/people/woman_3.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/people/woman_4.png $(OVERWORLDGFXDIR)/people/woman_4.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/people/woman_5.png $(OVERWORLDGFXDIR)/people/woman_5.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/people/woman_6.png $(OVERWORLDGFXDIR)/people/woman_6.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/people/woman_7.png $(OVERWORLDGFXDIR)/people/woman_7.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/people/youngster.png $(OVERWORLDGFXDIR)/people/youngster.4bpp -mwidth 2 -mheight 4 + + + $(GFX) $(OVERWORLDGFXDIR)/pokemon/azumarill.png $(OVERWORLDGFXDIR)/pokemon/azumarill.4bpp -mwidth 2 -mheight 2 + $(GFX) $(OVERWORLDGFXDIR)/pokemon/azurill.png $(OVERWORLDGFXDIR)/pokemon/azurill.4bpp -mwidth 2 -mheight 2 + $(GFX) $(OVERWORLDGFXDIR)/pokemon/deoxys.png $(OVERWORLDGFXDIR)/pokemon/deoxys.4bpp -mwidth 4 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/pokemon/dusclops.png $(OVERWORLDGFXDIR)/pokemon/dusclops.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/pokemon/enemy_zigzagoon.png $(OVERWORLDGFXDIR)/pokemon/enemy_zigzagoon.4bpp -mwidth 4 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/pokemon/groudon.png $(OVERWORLDGFXDIR)/pokemon/groudon.4bpp -mwidth 4 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/pokemon/ho_oh.png $(OVERWORLDGFXDIR)/pokemon/ho_oh.4bpp -mwidth 4 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/pokemon/kecleon.png $(OVERWORLDGFXDIR)/pokemon/kecleon.4bpp -mwidth 2 -mheight 2 + $(GFX) $(OVERWORLDGFXDIR)/pokemon/kirlia.png $(OVERWORLDGFXDIR)/pokemon/kirlia.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/pokemon/kyogre.png $(OVERWORLDGFXDIR)/pokemon/kyogre.4bpp -mwidth 4 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/pokemon/latias_latios.png $(OVERWORLDGFXDIR)/pokemon/latias_latios.4bpp -mwidth 4 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/pokemon/lugia.png $(OVERWORLDGFXDIR)/pokemon/lugia.4bpp -mwidth 4 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/pokemon/mew.png $(OVERWORLDGFXDIR)/pokemon/mew.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/pokemon/pikachu.png $(OVERWORLDGFXDIR)/pokemon/pikachu.4bpp -mwidth 2 -mheight 2 + $(GFX) $(OVERWORLDGFXDIR)/pokemon/poochyena.png $(OVERWORLDGFXDIR)/pokemon/poochyena.4bpp -mwidth 4 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/pokemon/rayquaza.png $(OVERWORLDGFXDIR)/pokemon/rayquaza.4bpp -mwidth 8 -mheight 8 + $(GFX) $(OVERWORLDGFXDIR)/pokemon/skitty.png $(OVERWORLDGFXDIR)/pokemon/skitty.4bpp -mwidth 2 -mheight 2 + $(GFX) $(OVERWORLDGFXDIR)/pokemon/sudowoodo.png $(OVERWORLDGFXDIR)/pokemon/sudowoodo.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/pokemon/vigoroth.png $(OVERWORLDGFXDIR)/pokemon/vigoroth.4bpp -mwidth 4 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/pokemon/wingull.png $(OVERWORLDGFXDIR)/pokemon/wingull.4bpp -mwidth 2 -mheight 2 + $(GFX) $(OVERWORLDGFXDIR)/pokemon/zigzagoon.png $(OVERWORLDGFXDIR)/pokemon/zigzagoon.4bpp -mwidth 2 -mheight 2 + + + $(GFX) $(OVERWORLDGFXDIR)/berry_trees/aguav.png $(OVERWORLDGFXDIR)/berry_trees/aguav.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/berry_trees/aspear.png $(OVERWORLDGFXDIR)/berry_trees/aspear.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/berry_trees/cheri.png $(OVERWORLDGFXDIR)/berry_trees/cheri.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/berry_trees/chesto.png $(OVERWORLDGFXDIR)/berry_trees/chesto.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/berry_trees/cornn.png $(OVERWORLDGFXDIR)/berry_trees/cornn.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/berry_trees/durin.png $(OVERWORLDGFXDIR)/berry_trees/durin.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/berry_trees/figy.png $(OVERWORLDGFXDIR)/berry_trees/figy.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/berry_trees/grepa.png $(OVERWORLDGFXDIR)/berry_trees/grepa.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/berry_trees/hondew.png $(OVERWORLDGFXDIR)/berry_trees/hondew.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/berry_trees/iapapa.png $(OVERWORLDGFXDIR)/berry_trees/iapapa.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/berry_trees/kelpsy.png $(OVERWORLDGFXDIR)/berry_trees/kelpsy.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/berry_trees/lansat.png $(OVERWORLDGFXDIR)/berry_trees/lansat.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/berry_trees/leppa.png $(OVERWORLDGFXDIR)/berry_trees/leppa.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/berry_trees/liechi.png $(OVERWORLDGFXDIR)/berry_trees/liechi.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/berry_trees/lum.png $(OVERWORLDGFXDIR)/berry_trees/lum.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/berry_trees/mago.png $(OVERWORLDGFXDIR)/berry_trees/mago.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/berry_trees/nomel.png $(OVERWORLDGFXDIR)/berry_trees/nomel.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/berry_trees/oran.png $(OVERWORLDGFXDIR)/berry_trees/oran.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/berry_trees/pamtre.png $(OVERWORLDGFXDIR)/berry_trees/pamtre.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/berry_trees/pecha.png $(OVERWORLDGFXDIR)/berry_trees/pecha.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/berry_trees/persim.png $(OVERWORLDGFXDIR)/berry_trees/persim.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/berry_trees/pomeg.png $(OVERWORLDGFXDIR)/berry_trees/pomeg.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/berry_trees/rabuta.png $(OVERWORLDGFXDIR)/berry_trees/rabuta.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/berry_trees/rawst.png $(OVERWORLDGFXDIR)/berry_trees/rawst.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/berry_trees/razz.png $(OVERWORLDGFXDIR)/berry_trees/razz.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/berry_trees/sitrus.png $(OVERWORLDGFXDIR)/berry_trees/sitrus.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/berry_trees/spelon.png $(OVERWORLDGFXDIR)/berry_trees/spelon.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/berry_trees/sprout.png $(OVERWORLDGFXDIR)/berry_trees/sprout.4bpp -mwidth 2 -mheight 2 + $(GFX) $(OVERWORLDGFXDIR)/berry_trees/tamato.png $(OVERWORLDGFXDIR)/berry_trees/tamato.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/berry_trees/wepear.png $(OVERWORLDGFXDIR)/berry_trees/wepear.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/berry_trees/wiki.png $(OVERWORLDGFXDIR)/berry_trees/wiki.4bpp -mwidth 2 -mheight 4 + + + $(GFX) $(OVERWORLDGFXDIR)/misc/breakable_rock.png $(OVERWORLDGFXDIR)/misc/breakable_rock.4bpp -mwidth 2 -mheight 2 + $(GFX) $(OVERWORLDGFXDIR)/misc/cuttable_tree.png $(OVERWORLDGFXDIR)/misc/cuttable_tree.4bpp -mwidth 2 -mheight 2 + $(GFX) $(OVERWORLDGFXDIR)/misc/mr_brineys_boat.png $(OVERWORLDGFXDIR)/misc/mr_brineys_boat.4bpp -mwidth 4 -mheight 4 + + + $(GFX) $(OVERWORLDGFXDIR)/effects/arrow.png $(OVERWORLDGFXDIR)/effects/arrow.4bpp -mwidth 2 -mheight 2 + $(GFX) $(OVERWORLDGFXDIR)/effects/ash.png $(OVERWORLDGFXDIR)/effects/ash.4bpp -mwidth 2 -mheight 2 + $(GFX) $(OVERWORLDGFXDIR)/effects/bike_hop_big_splash.png $(OVERWORLDGFXDIR)/effects/bike_hop_big_splash.4bpp -mwidth 2 -mheight 2 + $(GFX) $(OVERWORLDGFXDIR)/effects/bike_hop_small_splash.png $(OVERWORLDGFXDIR)/effects/bike_hop_small_splash.4bpp -mwidth 2 -mheight 1 + $(GFX) $(OVERWORLDGFXDIR)/effects/bubbles.png $(OVERWORLDGFXDIR)/effects/bubbles.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/effects/jump_out_of_ash.png $(OVERWORLDGFXDIR)/effects/jump_out_of_ash.4bpp -mwidth 2 -mheight 2 + $(GFX) $(OVERWORLDGFXDIR)/effects/mountain_disguise.png $(OVERWORLDGFXDIR)/effects/mountain_disguise.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/effects/ripple.png $(OVERWORLDGFXDIR)/effects/ripple.4bpp -mwidth 2 -mheight 2 + $(GFX) $(OVERWORLDGFXDIR)/effects/sand_disguise_placeholder.png $(OVERWORLDGFXDIR)/effects/sand_disguise_placeholder.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/effects/short_grass.png $(OVERWORLDGFXDIR)/effects/short_grass.4bpp -mwidth 2 -mheight 2 + $(GFX) $(OVERWORLDGFXDIR)/effects/surf_blob.png $(OVERWORLDGFXDIR)/effects/surf_blob.4bpp -mwidth 4 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/effects/tall_grass.png $(OVERWORLDGFXDIR)/effects/tall_grass.4bpp -mwidth 2 -mheight 2 + $(GFX) $(OVERWORLDGFXDIR)/effects/tree_disguise.png $(OVERWORLDGFXDIR)/effects/tree_disguise.4bpp -mwidth 2 -mheight 4 + $(GFX) $(OVERWORLDGFXDIR)/effects/unknown_17.png $(OVERWORLDGFXDIR)/effects/unknown_17.4bpp -mwidth 2 -mheight 2 diff --git a/src/data/field_event_obj/event_object_pic_tables.h b/src/data/field_event_obj/event_object_pic_tables.h index 53f5976f1f..80a4e12ac4 100755 --- a/src/data/field_event_obj/event_object_pic_tables.h +++ b/src/data/field_event_obj/event_object_pic_tables.h @@ -66,16 +66,16 @@ const struct SpriteFrameImage gEventObjectPicTable_BrendanAcroBike[] = { const struct SpriteFrameImage gEventObjectPicTable_BrendanSurfing[] = { overworld_frame(gEventObjectPic_BrendanSurfing, 32, 32, 0), - overworld_frame(gEventObjectPic_BrendanSurfing, 32, 32, 1), overworld_frame(gEventObjectPic_BrendanSurfing, 32, 32, 2), - overworld_frame(gEventObjectPic_BrendanSurfing, 32, 32, 0), - overworld_frame(gEventObjectPic_BrendanSurfing, 32, 32, 0), - overworld_frame(gEventObjectPic_BrendanSurfing, 32, 32, 1), - overworld_frame(gEventObjectPic_BrendanSurfing, 32, 32, 1), - overworld_frame(gEventObjectPic_BrendanSurfing, 32, 32, 2), - overworld_frame(gEventObjectPic_BrendanSurfing, 32, 32, 2), - overworld_frame(gEventObjectPic_BrendanSurfing, 32, 32, 3), overworld_frame(gEventObjectPic_BrendanSurfing, 32, 32, 4), + overworld_frame(gEventObjectPic_BrendanSurfing, 32, 32, 0), + overworld_frame(gEventObjectPic_BrendanSurfing, 32, 32, 0), + overworld_frame(gEventObjectPic_BrendanSurfing, 32, 32, 2), + overworld_frame(gEventObjectPic_BrendanSurfing, 32, 32, 2), + overworld_frame(gEventObjectPic_BrendanSurfing, 32, 32, 4), + overworld_frame(gEventObjectPic_BrendanSurfing, 32, 32, 4), + overworld_frame(gEventObjectPic_BrendanSurfing, 32, 32, 1), + overworld_frame(gEventObjectPic_BrendanSurfing, 32, 32, 3), overworld_frame(gEventObjectPic_BrendanSurfing, 32, 32, 5), }; @@ -122,15 +122,15 @@ const struct SpriteFrameImage gEventObjectPicTable_LittleBoy1[] = { }; const struct SpriteFrameImage gEventObjectPicTable_LittleGirl1[] = { - overworld_frame(gEventObjectPic_LittleGirl1, 16, 16, 0), - overworld_frame(gEventObjectPic_LittleGirl1, 16, 16, 1), - overworld_frame(gEventObjectPic_LittleGirl1, 16, 16, 2), - overworld_frame(gEventObjectPic_LittleGirl1, 16, 16, 3), - overworld_frame(gEventObjectPic_LittleGirl1, 16, 16, 4), - overworld_frame(gEventObjectPic_LittleGirl1, 16, 16, 5), - overworld_frame(gEventObjectPic_LittleGirl1, 16, 16, 6), - overworld_frame(gEventObjectPic_LittleGirl1, 16, 16, 7), - overworld_frame(gEventObjectPic_LittleGirl1, 16, 16, 8), + overworld_frame(gEventObjectPic_LittleGirl1, 16, 32, 0), + overworld_frame(gEventObjectPic_LittleGirl1, 16, 32, 1), + overworld_frame(gEventObjectPic_LittleGirl1, 16, 32, 2), + overworld_frame(gEventObjectPic_LittleGirl1, 16, 32, 3), + overworld_frame(gEventObjectPic_LittleGirl1, 16, 32, 4), + overworld_frame(gEventObjectPic_LittleGirl1, 16, 32, 5), + overworld_frame(gEventObjectPic_LittleGirl1, 16, 32, 6), + overworld_frame(gEventObjectPic_LittleGirl1, 16, 32, 7), + overworld_frame(gEventObjectPic_LittleGirl1, 16, 32, 8), }; const struct SpriteFrameImage gEventObjectPicTable_Boy1[] = { @@ -1057,16 +1057,16 @@ const struct SpriteFrameImage gEventObjectPicTable_MayAcroBike[] = { const struct SpriteFrameImage gEventObjectPicTable_MaySurfing[] = { overworld_frame(gEventObjectPic_MaySurfing, 32, 32, 0), - overworld_frame(gEventObjectPic_MaySurfing, 32, 32, 1), overworld_frame(gEventObjectPic_MaySurfing, 32, 32, 2), - overworld_frame(gEventObjectPic_MaySurfing, 32, 32, 0), - overworld_frame(gEventObjectPic_MaySurfing, 32, 32, 0), - overworld_frame(gEventObjectPic_MaySurfing, 32, 32, 1), - overworld_frame(gEventObjectPic_MaySurfing, 32, 32, 1), - overworld_frame(gEventObjectPic_MaySurfing, 32, 32, 2), - overworld_frame(gEventObjectPic_MaySurfing, 32, 32, 2), - overworld_frame(gEventObjectPic_MaySurfing, 32, 32, 3), overworld_frame(gEventObjectPic_MaySurfing, 32, 32, 4), + overworld_frame(gEventObjectPic_MaySurfing, 32, 32, 0), + overworld_frame(gEventObjectPic_MaySurfing, 32, 32, 0), + overworld_frame(gEventObjectPic_MaySurfing, 32, 32, 2), + overworld_frame(gEventObjectPic_MaySurfing, 32, 32, 2), + overworld_frame(gEventObjectPic_MaySurfing, 32, 32, 4), + overworld_frame(gEventObjectPic_MaySurfing, 32, 32, 4), + overworld_frame(gEventObjectPic_MaySurfing, 32, 32, 1), + overworld_frame(gEventObjectPic_MaySurfing, 32, 32, 3), overworld_frame(gEventObjectPic_MaySurfing, 32, 32, 5), }; @@ -1658,24 +1658,24 @@ const struct SpriteFrameImage gEventObjectPicTable_ContestOldMan[] = { const struct SpriteFrameImage gEventObjectPicTable_BrendanWatering[] = { overworld_frame(gEventObjectPic_BrendanWatering, 32, 32, 0), - overworld_frame(gEventObjectPic_BrendanWatering, 32, 32, 1), overworld_frame(gEventObjectPic_BrendanWatering, 32, 32, 2), + overworld_frame(gEventObjectPic_BrendanWatering, 32, 32, 4), + overworld_frame(gEventObjectPic_BrendanWatering, 32, 32, 1), + overworld_frame(gEventObjectPic_BrendanWatering, 32, 32, 1), overworld_frame(gEventObjectPic_BrendanWatering, 32, 32, 3), overworld_frame(gEventObjectPic_BrendanWatering, 32, 32, 3), - overworld_frame(gEventObjectPic_BrendanWatering, 32, 32, 4), - overworld_frame(gEventObjectPic_BrendanWatering, 32, 32, 4), overworld_frame(gEventObjectPic_BrendanWatering, 32, 32, 5), overworld_frame(gEventObjectPic_BrendanWatering, 32, 32, 5), }; const struct SpriteFrameImage gEventObjectPicTable_MayWatering[] = { overworld_frame(gEventObjectPic_MayWatering, 32, 32, 0), - overworld_frame(gEventObjectPic_MayWatering, 32, 32, 1), overworld_frame(gEventObjectPic_MayWatering, 32, 32, 2), + overworld_frame(gEventObjectPic_MayWatering, 32, 32, 4), + overworld_frame(gEventObjectPic_MayWatering, 32, 32, 1), + overworld_frame(gEventObjectPic_MayWatering, 32, 32, 1), overworld_frame(gEventObjectPic_MayWatering, 32, 32, 3), overworld_frame(gEventObjectPic_MayWatering, 32, 32, 3), - overworld_frame(gEventObjectPic_MayWatering, 32, 32, 4), - overworld_frame(gEventObjectPic_MayWatering, 32, 32, 4), overworld_frame(gEventObjectPic_MayWatering, 32, 32, 5), overworld_frame(gEventObjectPic_MayWatering, 32, 32, 5), }; @@ -1858,12 +1858,12 @@ const struct SpriteFrameImage gEventObjectPicTable_Azumarill[] = { const struct SpriteFrameImage gEventObjectPicTable_Wingull[] = { overworld_frame(gEventObjectPic_Wingull, 16, 16, 0), - overworld_frame(gEventObjectPic_Wingull, 16, 16, 1), overworld_frame(gEventObjectPic_Wingull, 16, 16, 2), + overworld_frame(gEventObjectPic_Wingull, 16, 16, 4), + overworld_frame(gEventObjectPic_Wingull, 16, 16, 1), + overworld_frame(gEventObjectPic_Wingull, 16, 16, 1), overworld_frame(gEventObjectPic_Wingull, 16, 16, 3), overworld_frame(gEventObjectPic_Wingull, 16, 16, 3), - overworld_frame(gEventObjectPic_Wingull, 16, 16, 4), - overworld_frame(gEventObjectPic_Wingull, 16, 16, 4), overworld_frame(gEventObjectPic_Wingull, 16, 16, 5), overworld_frame(gEventObjectPic_Wingull, 16, 16, 5), }; diff --git a/src/data/field_event_obj/field_effect_objects.h b/src/data/field_event_obj/field_effect_objects.h index 785a158729..e8d15918f4 100755 --- a/src/data/field_event_obj/field_effect_objects.h +++ b/src/data/field_event_obj/field_effect_objects.h @@ -987,7 +987,7 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_Rayquaza[] = { }; const struct SpriteFrameImage gFieldEffectObjectPicTable_Rayquaza[] = { - overworld_frame(gEventObjectPic_Rayquaza, 64, 64, 0), + {.data = (u8*)gEventObjectPic_Rayquaza, .size = ((64*64)/2) /4} }; const struct SpriteTemplate gFieldEffectObjectTemplate_Rayquaza = {0xFFFF, 0xFFFF, &gEventObjectBaseOam_32x32, gFieldEffectObjectImageAnimTable_Rayquaza, gFieldEffectObjectPicTable_Rayquaza, gDummySpriteAffineAnimTable, sub_8155F80}; From d945a8bf2fc1fb61cf8f2c3e572fe378ba45bdae Mon Sep 17 00:00:00 2001 From: Diegoisawesome <diego@domoreaweso.me> Date: Fri, 7 Sep 2018 19:24:33 -0500 Subject: [PATCH 183/234] Macroize main_menu and general cleanup --- include/gba/io_reg.h | 2 - src/battle_dome.c | 12 +-- src/main_menu.c | 224 +++++++++++++++++++++++----------------- tools/gbafix/.gitignore | 1 + 4 files changed, 134 insertions(+), 105 deletions(-) diff --git a/include/gba/io_reg.h b/include/gba/io_reg.h index 9327d6cb0e..03faa1a874 100644 --- a/include/gba/io_reg.h +++ b/include/gba/io_reg.h @@ -574,8 +574,6 @@ #define WINOUT_WINOBJ_OBJ (1 << 12) #define WINOUT_WINOBJ_CLR (1 << 13) -#define WINHV_COORDS(m, n) (((m) << 8) | (n)) - // BLDCNT // Bits 0-5 select layers for the 1st target #define BLDCNT_TGT1_BG0 (1 << 0) diff --git a/src/battle_dome.c b/src/battle_dome.c index ff284b564b..0815b6a9b3 100644 --- a/src/battle_dome.c +++ b/src/battle_dome.c @@ -6024,7 +6024,7 @@ static void HblankCb_BattleDome(void) if (vCount < 50) { REG_WININ = WININ_WIN0_BG0 | WININ_WIN0_BG1 | WININ_WIN0_BG3 | WININ_WIN0_OBJ | WININ_WIN0_CLR | WININ_WIN1_BG0 | WININ_WIN1_BG1 | WININ_WIN1_BG3 | WININ_WIN1_OBJ | WININ_WIN1_CLR; - SET_WIN0H_WIN1H(WINHV_COORDS(152, 155), WINHV_COORDS(85, 88)); + SET_WIN0H_WIN1H(WIN_RANGE(152, 155), WIN_RANGE(85, 88)); return; } else if (vCount > 57) @@ -6032,13 +6032,13 @@ static void HblankCb_BattleDome(void) if (vCount < 75) { REG_WININ = WININ_WIN0_BG0 | WININ_WIN0_BG1 | WININ_WIN0_BG3 | WININ_WIN0_OBJ | WININ_WIN0_CLR | WININ_WIN1_BG0 | WININ_WIN1_BG1 | WININ_WIN1_BG3 | WININ_WIN1_OBJ | WININ_WIN1_CLR; - SET_WIN0H_WIN1H(WINHV_COORDS(144, 152), WINHV_COORDS(88, 96)); + SET_WIN0H_WIN1H(WIN_RANGE(144, 152), WIN_RANGE(88, 96)); return; } else if (vCount < 82) { REG_WININ = WININ_WIN0_BG0 | WININ_WIN0_BG1 | WININ_WIN0_BG3 | WININ_WIN0_OBJ | WININ_WIN0_CLR | WININ_WIN1_BG0 | WININ_WIN1_BG1 | WININ_WIN1_BG3 | WININ_WIN1_OBJ | WININ_WIN1_CLR; - SET_WIN0H_WIN1H(WINHV_COORDS(152, 155), WINHV_COORDS(85, 88)); + SET_WIN0H_WIN1H(WIN_RANGE(152, 155), WIN_RANGE(85, 88)); return; } else if (vCount > 94) @@ -6046,13 +6046,13 @@ static void HblankCb_BattleDome(void) if (vCount < 103) { REG_WININ = WININ_WIN0_BG0 | WININ_WIN0_BG1 | WININ_WIN0_BG2 | WININ_WIN0_OBJ | WININ_WIN0_CLR | WININ_WIN1_BG0 | WININ_WIN1_BG1 | WININ_WIN1_BG2 | WININ_WIN1_OBJ | WININ_WIN1_CLR; - SET_WIN0H_WIN1H(WINHV_COORDS(152, 155), WINHV_COORDS(85, 88)); + SET_WIN0H_WIN1H(WIN_RANGE(152, 155), WIN_RANGE(85, 88)); return; } else if (vCount < 119) { REG_WININ = WININ_WIN0_BG0 | WININ_WIN0_BG1 | WININ_WIN0_BG2 | WININ_WIN0_OBJ | WININ_WIN0_CLR | WININ_WIN1_BG0 | WININ_WIN1_BG1 | WININ_WIN1_BG2 | WININ_WIN1_OBJ | WININ_WIN1_CLR; - SET_WIN0H_WIN1H(WINHV_COORDS(144, 152), WINHV_COORDS(88, 96)); + SET_WIN0H_WIN1H(WIN_RANGE(144, 152), WIN_RANGE(88, 96)); return; } else if (vCount > 126) @@ -6060,7 +6060,7 @@ static void HblankCb_BattleDome(void) if (vCount_ < 135) { REG_WININ = WININ_WIN0_BG0 | WININ_WIN0_BG1 | WININ_WIN0_BG2 | WININ_WIN0_OBJ | WININ_WIN0_CLR | WININ_WIN1_BG0 | WININ_WIN1_BG1 | WININ_WIN1_BG2 | WININ_WIN1_OBJ | WININ_WIN1_CLR; - SET_WIN0H_WIN1H(WINHV_COORDS(152, 155), WINHV_COORDS(85, 88)); + SET_WIN0H_WIN1H(WIN_RANGE(152, 155), WIN_RANGE(85, 88)); return; } } diff --git a/src/main_menu.c b/src/main_menu.c index 3d8d5acc29..314ac272ae 100644 --- a/src/main_menu.c +++ b/src/main_menu.c @@ -131,85 +131,115 @@ const u8 gUnknown_082FEEF0[] = INCBIN_U8("graphics/birch_speech/map.bin.lz"); const u16 gUnknown_082FF018[] = INCBIN_U16("graphics/birch_speech/bg2.gbapal"); const u16 gUnknown_082FF028[] = {0, 0, 0, 0, 0, 0, 0, 0}; -const struct WindowTemplate sWindowTemplates_NoSavedGame[] = +#define MENU_LEFT 2 +#define MENU_TOP_WIN0 1 +#define MENU_TOP_WIN1 5 +#define MENU_TOP_WIN2 1 +#define MENU_TOP_WIN3 9 +#define MENU_TOP_WIN4 13 +#define MENU_TOP_WIN5 17 +#define MENU_TOP_WIN6 21 +#define MENU_WIDTH 26 +#define MENU_HEIGHT_WIN0 2 +#define MENU_HEIGHT_WIN1 2 +#define MENU_HEIGHT_WIN2 6 +#define MENU_HEIGHT_WIN3 2 +#define MENU_HEIGHT_WIN4 2 +#define MENU_HEIGHT_WIN5 2 +#define MENU_HEIGHT_WIN6 2 + +#define MENU_LEFT_ERROR 2 +#define MENU_TOP_ERROR 15 +#define MENU_WIDTH_ERROR 26 +#define MENU_HEIGHT_ERROR 4 + +#define MENU_SHADOW_PADDING 1 + +#define MENU_WIN_HCOORDS WIN_RANGE(((MENU_LEFT - 1) * 8) + MENU_SHADOW_PADDING, (MENU_LEFT + MENU_WIDTH + 1) * 8 - MENU_SHADOW_PADDING) +#define MENU_WIN_VCOORDS(n) WIN_RANGE(((MENU_TOP_WIN##n - 1) * 8) + MENU_SHADOW_PADDING, (MENU_TOP_WIN##n + MENU_HEIGHT_WIN##n + 1) * 8 - MENU_SHADOW_PADDING) +#define MENU_SCROLL_SHIFT WIN_RANGE(32, 32) + +const struct WindowTemplate sWindowTemplates_MainMenu[] = { + // No saved game + // NEW GAME { .priority = 0, - .tilemapLeft = 2, - .tilemapTop = 1, - .width = 26, - .height = 2, + .tilemapLeft = MENU_LEFT, + .tilemapTop = MENU_TOP_WIN0, + .width = MENU_WIDTH, + .height = MENU_HEIGHT_WIN0, .paletteNum = 15, .baseBlock = 1 }, + // OPTIONS { .priority = 0, - .tilemapLeft = 2, - .tilemapTop = 5, - .width = 26, - .height = 2, + .tilemapLeft = MENU_LEFT, + .tilemapTop = MENU_TOP_WIN1, + .width = MENU_WIDTH, + .height = MENU_HEIGHT_WIN1, .paletteNum = 15, .baseBlock = 0x35 - } -}; - -const struct WindowTemplate sWindowTemplates_HasSavedGame[] = -{ + }, + // Has saved game + // CONTINUE { .priority = 0, - .tilemapLeft = 2, - .tilemapTop = 1, - .width = 26, - .height = 6, + .tilemapLeft = MENU_LEFT, + .tilemapTop = MENU_TOP_WIN2, + .width = MENU_WIDTH, + .height = MENU_HEIGHT_WIN2, .paletteNum = 15, .baseBlock = 1 }, + // NEW GAME { .priority = 0, - .tilemapLeft = 2, - .tilemapTop = 9, - .width = 26, - .height = 2, + .tilemapLeft = MENU_LEFT, + .tilemapTop = MENU_TOP_WIN3, + .width = MENU_WIDTH, + .height = MENU_HEIGHT_WIN3, .paletteNum = 15, .baseBlock = 0x9D }, + // OPTION / MYSTERY GIFT { .priority = 0, - .tilemapLeft = 2, - .tilemapTop = 13, - .width = 26, - .height = 2, + .tilemapLeft = MENU_LEFT, + .tilemapTop = MENU_TOP_WIN4, + .width = MENU_WIDTH, + .height = MENU_HEIGHT_WIN4, .paletteNum = 15, .baseBlock = 0xD1 }, + // OPTION / MYSTERY EVENTS { .priority = 0, - .tilemapLeft = 2, - .tilemapTop = 17, - .width = 26, - .height = 2, + .tilemapLeft = MENU_LEFT, + .tilemapTop = MENU_TOP_WIN5, + .width = MENU_WIDTH, + .height = MENU_HEIGHT_WIN5, .paletteNum = 15, .baseBlock = 0x105 }, + // OPTION { .priority = 0, - .tilemapLeft = 2, - .tilemapTop = 21, - .width = 26, - .height = 2, + .tilemapLeft = MENU_LEFT, + .tilemapTop = MENU_TOP_WIN6, + .width = MENU_WIDTH, + .height = MENU_HEIGHT_WIN6, .paletteNum = 15, .baseBlock = 0x139 - } -}; - -const struct WindowTemplate sWindowTemplate_ErrorWindow[] = -{ + }, + // Error message window { .priority = 0, - .tilemapLeft = 2, - .tilemapTop = 15, - .width = 26, - .height = 4, + .tilemapLeft = MENU_LEFT_ERROR, + .tilemapTop = MENU_TOP_ERROR, + .width = MENU_WIDTH_ERROR, + .height = MENU_HEIGHT_ERROR, .paletteNum = 15, .baseBlock = 0x16D }, @@ -351,14 +381,14 @@ enum { HAS_NO_SAVED_GAME, //NEW GAME, OPTION HAS_SAVED_GAME, //CONTINUE, NEW GAME, OPTION - HAS_MYSTERY_GIFT, //CONTINUE, NEW GAME, MYSTERY EVENTS, OPTION - HAS_MYSTERY_EVENTS, + HAS_MYSTERY_GIFT, //CONTINUE, NEW GAME, MYSTERY GIFT, OPTION + HAS_MYSTERY_EVENTS, //CONTINUE, NEW GAME, MYSTERY GIFT, MYSTERY EVENTS, OPTION }; enum { ACTION_NEW_GAME, ACTION_CONTINUE, - ACTION_OPTIONS, + ACTION_OPTION, ACTION_MYSTERY_GIFT, ACTION_MYSTERY_EVENTS, ACTION_UNKNOWN, // TODO: change when rom_8011DC0 decompiled @@ -423,12 +453,12 @@ u32 InitMainMenu(bool8 returningFromOptionsMenu) else BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0xFFFF); // fade to white ResetBgsAndClearDma3BusyFlags(0); - InitBgsFromTemplates(0, gUnknown_082FF0E8, 2); + InitBgsFromTemplates(0, gUnknown_082FF0E8, ARRAY_COUNT(gUnknown_082FF0E8)); ChangeBgX(0, 0, 0); ChangeBgY(0, 0, 0); ChangeBgX(1, 0, 0); ChangeBgY(1, 0, 0); - InitWindows(sWindowTemplates_NoSavedGame); + InitWindows(sWindowTemplates_MainMenu); DeactivateAllTextPrinters(); LoadMainMenuWindowFrameTiles(0, MAIN_MENU_BORDER_TILE); @@ -535,7 +565,7 @@ void Task_WaitForSaveFileErrorWindow(u8 taskId) if (!IsTextPrinterActive(7) && (gMain.newKeys & A_BUTTON)) { ClearWindowTilemap(7); - ClearMainMenuWindowTilemap(sWindowTemplate_ErrorWindow); + ClearMainMenuWindowTilemap(&sWindowTemplates_MainMenu[7]); gTasks[taskId].func = Task_MainMenuCheckBattery; } } @@ -570,7 +600,7 @@ void Task_WaitForBatteryDryErrorWindow(u8 taskId) if (!IsTextPrinterActive(7) && (gMain.newKeys & A_BUTTON)) { ClearWindowTilemap(7); - ClearMainMenuWindowTilemap(sWindowTemplate_ErrorWindow); + ClearMainMenuWindowTilemap(&sWindowTemplates_MainMenu[7]); gTasks[taskId].func = Task_DisplayMainMenu; } } @@ -625,8 +655,8 @@ void Task_DisplayMainMenu(u8 taskId) PutWindowTilemap(1); CopyWindowToVram(0, 2); CopyWindowToVram(1, 2); - DrawMainMenuWindowBorder(&sWindowTemplates_NoSavedGame[0], MAIN_MENU_BORDER_TILE); - DrawMainMenuWindowBorder(&sWindowTemplates_NoSavedGame[1], MAIN_MENU_BORDER_TILE); + DrawMainMenuWindowBorder(&sWindowTemplates_MainMenu[0], MAIN_MENU_BORDER_TILE); + DrawMainMenuWindowBorder(&sWindowTemplates_MainMenu[1], MAIN_MENU_BORDER_TILE); break; case HAS_SAVED_GAME: FillWindowPixelBuffer(2, 0xAA); @@ -642,9 +672,9 @@ void Task_DisplayMainMenu(u8 taskId) CopyWindowToVram(2, 2); CopyWindowToVram(3, 2); CopyWindowToVram(4, 2); - DrawMainMenuWindowBorder(&sWindowTemplates_HasSavedGame[0], MAIN_MENU_BORDER_TILE); - DrawMainMenuWindowBorder(&sWindowTemplates_HasSavedGame[1], MAIN_MENU_BORDER_TILE); - DrawMainMenuWindowBorder(&sWindowTemplates_HasSavedGame[2], MAIN_MENU_BORDER_TILE); + DrawMainMenuWindowBorder(&sWindowTemplates_MainMenu[2], MAIN_MENU_BORDER_TILE); + DrawMainMenuWindowBorder(&sWindowTemplates_MainMenu[3], MAIN_MENU_BORDER_TILE); + DrawMainMenuWindowBorder(&sWindowTemplates_MainMenu[4], MAIN_MENU_BORDER_TILE); break; case HAS_MYSTERY_GIFT: FillWindowPixelBuffer(2, 0xAA); @@ -664,10 +694,10 @@ void Task_DisplayMainMenu(u8 taskId) CopyWindowToVram(3, 2); CopyWindowToVram(4, 2); CopyWindowToVram(5, 2); - DrawMainMenuWindowBorder(sWindowTemplates_HasSavedGame, MAIN_MENU_BORDER_TILE); - DrawMainMenuWindowBorder(&sWindowTemplates_HasSavedGame[1], MAIN_MENU_BORDER_TILE); - DrawMainMenuWindowBorder(&sWindowTemplates_HasSavedGame[2], MAIN_MENU_BORDER_TILE); - DrawMainMenuWindowBorder(&sWindowTemplates_HasSavedGame[3], MAIN_MENU_BORDER_TILE); + DrawMainMenuWindowBorder(&sWindowTemplates_MainMenu[2], MAIN_MENU_BORDER_TILE); + DrawMainMenuWindowBorder(&sWindowTemplates_MainMenu[3], MAIN_MENU_BORDER_TILE); + DrawMainMenuWindowBorder(&sWindowTemplates_MainMenu[4], MAIN_MENU_BORDER_TILE); + DrawMainMenuWindowBorder(&sWindowTemplates_MainMenu[5], MAIN_MENU_BORDER_TILE); break; case HAS_MYSTERY_EVENTS: FillWindowPixelBuffer(2, 0xAA); @@ -691,11 +721,11 @@ void Task_DisplayMainMenu(u8 taskId) CopyWindowToVram(4, 2); CopyWindowToVram(5, 2); CopyWindowToVram(6, 2); - DrawMainMenuWindowBorder(&sWindowTemplates_HasSavedGame[0], MAIN_MENU_BORDER_TILE); - DrawMainMenuWindowBorder(&sWindowTemplates_HasSavedGame[1], MAIN_MENU_BORDER_TILE); - DrawMainMenuWindowBorder(&sWindowTemplates_HasSavedGame[2], MAIN_MENU_BORDER_TILE); - DrawMainMenuWindowBorder(&sWindowTemplates_HasSavedGame[3], MAIN_MENU_BORDER_TILE); - DrawMainMenuWindowBorder(&sWindowTemplates_HasSavedGame[4], MAIN_MENU_BORDER_TILE); + DrawMainMenuWindowBorder(&sWindowTemplates_MainMenu[2], MAIN_MENU_BORDER_TILE); + DrawMainMenuWindowBorder(&sWindowTemplates_MainMenu[3], MAIN_MENU_BORDER_TILE); + DrawMainMenuWindowBorder(&sWindowTemplates_MainMenu[4], MAIN_MENU_BORDER_TILE); + DrawMainMenuWindowBorder(&sWindowTemplates_MainMenu[5], MAIN_MENU_BORDER_TILE); + DrawMainMenuWindowBorder(&sWindowTemplates_MainMenu[6], MAIN_MENU_BORDER_TILE); tScrollArrowTaskId = AddScrollIndicatorArrowPair(&sScrollArrowsTemplate_MainMenu, &sCurrItemAndOptionMenuCheck); gTasks[tScrollArrowTaskId].func = Task_ScrollIndicatorArrowPairOnMainMenu; if (sCurrItemAndOptionMenuCheck == 4) @@ -732,8 +762,8 @@ bool8 HandleMainMenuInput(u8 taskId) { PlaySE(SE_SELECT); BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_WHITEALPHA); - SetGpuReg(REG_OFFSET_WIN0H, 0xF0); - SetGpuReg(REG_OFFSET_WIN0V, 0xA0); + SetGpuReg(REG_OFFSET_WIN0H, WIN_RANGE(0, 240)); + SetGpuReg(REG_OFFSET_WIN0V, WIN_RANGE(0, 160)); gTasks[taskId].func = Task_HandleMainMenuBPressed; } else if ((gMain.newKeys & DPAD_UP) && tCurrItem > 0) @@ -798,7 +828,7 @@ void Task_HandleMainMenuAPressed(u8 taskId) action = ACTION_NEW_GAME; break; case 1: - action = ACTION_OPTIONS; + action = ACTION_OPTION; break; } break; @@ -813,7 +843,7 @@ void Task_HandleMainMenuAPressed(u8 taskId) action = ACTION_NEW_GAME; break; case 2: - action = ACTION_OPTIONS; + action = ACTION_OPTION; break; } break; @@ -832,11 +862,11 @@ void Task_HandleMainMenuAPressed(u8 taskId) if (!wirelessAdapterConnected) { action = ACTION_INVALID; - gTasks[taskId].tMenuType = 0; + gTasks[taskId].tMenuType = HAS_NO_SAVED_GAME; } break; case 3: - action = ACTION_OPTIONS; + action = ACTION_OPTION; break; } break; @@ -857,13 +887,13 @@ void Task_HandleMainMenuAPressed(u8 taskId) if (!wirelessAdapterConnected) { action = ACTION_INVALID; - gTasks[taskId].tMenuType = 0; + gTasks[taskId].tMenuType = HAS_NO_SAVED_GAME; } } else if (wirelessAdapterConnected) { action = ACTION_INVALID; - gTasks[taskId].tMenuType = 1; + gTasks[taskId].tMenuType = HAS_SAVED_GAME; } else { @@ -874,7 +904,7 @@ void Task_HandleMainMenuAPressed(u8 taskId) if (wirelessAdapterConnected) { action = ACTION_INVALID; - gTasks[taskId].tMenuType = 2; + gTasks[taskId].tMenuType = HAS_MYSTERY_GIFT; } else { @@ -882,7 +912,7 @@ void Task_HandleMainMenuAPressed(u8 taskId) } break; case 4: - action = ACTION_OPTIONS; + action = ACTION_OPTION; break; } break; @@ -903,7 +933,7 @@ void Task_HandleMainMenuAPressed(u8 taskId) SetMainCallback2(CB2_ContinueSavedGame); DestroyTask(taskId); break; - case ACTION_OPTIONS: + case ACTION_OPTION: gMain.savedCallback = CB2_ReinitMainMenu; SetMainCallback2(CB2_InitOptionMenu); DestroyTask(taskId); @@ -935,7 +965,7 @@ void Task_HandleMainMenuAPressed(u8 taskId) return; } FreeAllWindowBuffers(); - if (action != ACTION_OPTIONS) + if (action != ACTION_OPTION) sCurrItemAndOptionMenuCheck = 0; else sCurrItemAndOptionMenuCheck |= 0x8000; // entering the options menu @@ -1005,7 +1035,7 @@ void Task_DisplayMainMenuInvalidActionError(u8 taskId) void HighlightSelectedMainMenuItem(u8 menuType, u8 selectedMenuItem, s16 isScrolled) { - SetGpuReg(REG_OFFSET_WIN0H, WINHV_COORDS(9, 231)); + SetGpuReg(REG_OFFSET_WIN0H, MENU_WIN_HCOORDS); switch (menuType) { @@ -1015,10 +1045,10 @@ void HighlightSelectedMainMenuItem(u8 menuType, u8 selectedMenuItem, s16 isScrol { case 0: default: - SetGpuReg(REG_OFFSET_WIN0V, WINHV_COORDS(1, 31)); + SetGpuReg(REG_OFFSET_WIN0V, MENU_WIN_VCOORDS(0)); break; case 1: - SetGpuReg(REG_OFFSET_WIN0V, WINHV_COORDS(33, 63)); + SetGpuReg(REG_OFFSET_WIN0V, MENU_WIN_VCOORDS(1)); break; } break; @@ -1027,13 +1057,13 @@ void HighlightSelectedMainMenuItem(u8 menuType, u8 selectedMenuItem, s16 isScrol { case 0: default: - SetGpuReg(REG_OFFSET_WIN0V, WINHV_COORDS(1, 63)); + SetGpuReg(REG_OFFSET_WIN0V, MENU_WIN_VCOORDS(2)); break; case 1: - SetGpuReg(REG_OFFSET_WIN0V, WINHV_COORDS(65, 95)); + SetGpuReg(REG_OFFSET_WIN0V, MENU_WIN_VCOORDS(3)); break; case 2: - SetGpuReg(REG_OFFSET_WIN0V, WINHV_COORDS(97, 127)); + SetGpuReg(REG_OFFSET_WIN0V, MENU_WIN_VCOORDS(4)); break; } break; @@ -1042,16 +1072,16 @@ void HighlightSelectedMainMenuItem(u8 menuType, u8 selectedMenuItem, s16 isScrol { case 0: default: - SetGpuReg(REG_OFFSET_WIN0V, WINHV_COORDS(1, 63)); + SetGpuReg(REG_OFFSET_WIN0V, MENU_WIN_VCOORDS(2)); break; case 1: - SetGpuReg(REG_OFFSET_WIN0V, WINHV_COORDS(65, 95)); + SetGpuReg(REG_OFFSET_WIN0V, MENU_WIN_VCOORDS(3)); break; case 2: - SetGpuReg(REG_OFFSET_WIN0V, WINHV_COORDS(97, 127)); + SetGpuReg(REG_OFFSET_WIN0V, MENU_WIN_VCOORDS(4)); break; case 3: - SetGpuReg(REG_OFFSET_WIN0V, WINHV_COORDS(129, 159)); + SetGpuReg(REG_OFFSET_WIN0V, MENU_WIN_VCOORDS(5)); break; } break; @@ -1060,28 +1090,28 @@ void HighlightSelectedMainMenuItem(u8 menuType, u8 selectedMenuItem, s16 isScrol { case 0: default: - SetGpuReg(REG_OFFSET_WIN0V, WINHV_COORDS(1, 63)); + SetGpuReg(REG_OFFSET_WIN0V, MENU_WIN_VCOORDS(2)); break; case 1: if (isScrolled) - SetGpuReg(REG_OFFSET_WIN0V, WINHV_COORDS(33, 63)); + SetGpuReg(REG_OFFSET_WIN0V, MENU_WIN_VCOORDS(3) - MENU_SCROLL_SHIFT); else - SetGpuReg(REG_OFFSET_WIN0V, WINHV_COORDS(65, 95)); + SetGpuReg(REG_OFFSET_WIN0V, MENU_WIN_VCOORDS(3)); break; case 2: if (isScrolled) - SetGpuReg(REG_OFFSET_WIN0V, WINHV_COORDS(65, 95)); + SetGpuReg(REG_OFFSET_WIN0V, MENU_WIN_VCOORDS(4) - MENU_SCROLL_SHIFT); else - SetGpuReg(REG_OFFSET_WIN0V, WINHV_COORDS(97, 127)); + SetGpuReg(REG_OFFSET_WIN0V, MENU_WIN_VCOORDS(4)); break; case 3: if (isScrolled) - SetGpuReg(REG_OFFSET_WIN0V, WINHV_COORDS(97, 127)); + SetGpuReg(REG_OFFSET_WIN0V, MENU_WIN_VCOORDS(5) - MENU_SCROLL_SHIFT); else - SetGpuReg(REG_OFFSET_WIN0V, WINHV_COORDS(129, 159)); + SetGpuReg(REG_OFFSET_WIN0V, MENU_WIN_VCOORDS(5)); break; case 4: - SetGpuReg(REG_OFFSET_WIN0V, WINHV_COORDS(129, 159)); + SetGpuReg(REG_OFFSET_WIN0V, MENU_WIN_VCOORDS(6) - MENU_SCROLL_SHIFT); break; } break; @@ -1915,9 +1945,9 @@ void CreateMainMenuErrorWindow(const u8* str) PrintTextOnWindow(7, 1, str, 0, 1, 2, 0); PutWindowTilemap(7); CopyWindowToVram(7, 2); - DrawMainMenuWindowBorder(sWindowTemplate_ErrorWindow, MAIN_MENU_BORDER_TILE); - SetGpuReg(REG_OFFSET_WIN0H, 0x9E7); - SetGpuReg(REG_OFFSET_WIN0V, 0x719F); + DrawMainMenuWindowBorder(&sWindowTemplates_MainMenu[7], MAIN_MENU_BORDER_TILE); + SetGpuReg(REG_OFFSET_WIN0H, WIN_RANGE(9, 231)); + SetGpuReg(REG_OFFSET_WIN0V, WIN_RANGE(113, 159)); } void fmt_savegame(void) diff --git a/tools/gbafix/.gitignore b/tools/gbafix/.gitignore index 23abdd29c6..3cebf8ae8d 100644 --- a/tools/gbafix/.gitignore +++ b/tools/gbafix/.gitignore @@ -1 +1,2 @@ gbafix +README From f73807ea607ce195f0351213c24869d2f5286e5a Mon Sep 17 00:00:00 2001 From: Diegoisawesome <diego@domoreaweso.me> Date: Fri, 7 Sep 2018 23:52:11 -0500 Subject: [PATCH 184/234] Add palette tags for event objects --- .../event_object_graphics_info.h | 490 +++++++++--------- src/event_object_movement.c | 351 +++++++------ tools/gbafix/.gitignore | 1 + 3 files changed, 440 insertions(+), 402 deletions(-) diff --git a/src/data/field_event_obj/event_object_graphics_info.h b/src/data/field_event_obj/event_object_graphics_info.h index 14ef4983d2..fd8bb78ce6 100755 --- a/src/data/field_event_obj/event_object_graphics_info.h +++ b/src/data/field_event_obj/event_object_graphics_info.h @@ -1,250 +1,250 @@ #ifndef GUARD_EVENT_OBJECT_GRAPHICS_INFO_H #define GUARD_EVENT_OBJECT_GRAPHICS_INFO_H -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BrendanNormal = {0xFFFF, 0x1100, 0x1102, 512, 16, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_BrendanMayNormal, gEventObjectPicTable_BrendanNormal, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BrendanMachBike = {0xFFFF, 0x1100, 0x1102, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_BrendanMachBike, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BrendanAcroBike = {0xFFFF, 0x1100, 0x1102, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_AcroBike, gEventObjectPicTable_BrendanAcroBike, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BrendanSurfing = {0xFFFF, 0x1100, 0x11FF, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, TRUE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Surfing, gEventObjectPicTable_BrendanSurfing, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BrendanFieldMove = {0xFFFF, 0x1100, 0x1102, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_FieldMove, gEventObjectPicTable_BrendanFieldMove, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_QuintyPlump = {0xFFFF, 0x110B, 0x11FF, 512, 32, 32, 10, SHADOW_SIZE_L, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_QuintyPlump, gEventObjectPicTable_QuintyPlump, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_LittleBoy1 = {0xFFFF, 0x1103, 0x11FF, 128, 16, 16, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_LittleBoy1, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_LittleGirl1 = {0xFFFF, 0x1104, 0x11FF, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_LittleGirl1, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Boy1 = {0xFFFF, 0x1105, 0x11FF, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Boy1, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Girl1 = {0xFFFF, 0x1104, 0x11FF, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Girl1, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Boy2 = {0xFFFF, 0x1103, 0x11FF, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Boy2, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Girl2 = {0xFFFF, 0x1105, 0x11FF, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Girl2, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_LittleBoy2 = {0xFFFF, 0x1106, 0x11FF, 128, 16, 16, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_LittleBoy2, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_LittleGirl2 = {0xFFFF, 0x1104, 0x11FF, 128, 16, 16, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_LittleGirl2, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Boy3 = {0xFFFF, 0x1106, 0x11FF, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Boy3, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Girl3 = {0xFFFF, 0x1104, 0x11FF, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Girl3, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Boy4 = {0xFFFF, 0x1105, 0x11FF, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Boy4, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Woman1 = {0xFFFF, 0x1103, 0x11FF, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Woman1, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_FatMan = {0xFFFF, 0x1103, 0x11FF, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_FatMan, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Woman2 = {0xFFFF, 0x1104, 0x11FF, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Woman2, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Man1 = {0xFFFF, 0x1105, 0x11FF, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Man1, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Woman3 = {0xFFFF, 0x1105, 0x11FF, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Woman3, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_OldMan1 = {0xFFFF, 0x1106, 0x11FF, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_OldMan1, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_OldWoman1 = {0xFFFF, 0x1106, 0x11FF, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_OldWoman1, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Man2 = {0xFFFF, 0x1105, 0x11FF, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Man2, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Woman4 = {0xFFFF, 0x1104, 0x11FF, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Woman4, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Man3 = {0xFFFF, 0x1104, 0x11FF, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Man3, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Woman5 = {0xFFFF, 0x1103, 0x11FF, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Woman5, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Cook = {0xFFFF, 0x1105, 0x11FF, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Cook, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Woman6 = {0xFFFF, 0x1105, 0x11FF, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Woman6, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_OldMan2 = {0xFFFF, 0x1106, 0x11FF, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_OldMan2, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_OldWoman2 = {0xFFFF, 0x1105, 0x11FF, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_OldWoman2, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Camper = {0xFFFF, 0x1105, 0x11FF, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Camper, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Picnicker = {0xFFFF, 0x1105, 0x11FF, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Picnicker, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Man4 = {0xFFFF, 0x1104, 0x11FF, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Man4, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Woman7 = {0xFFFF, 0x1104, 0x11FF, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Woman7, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Youngster = {0xFFFF, 0x1103, 0x11FF, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Youngster, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BugCatcher = {0xFFFF, 0x1103, 0x11FF, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_BugCatcher, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_PsychicM = {0xFFFF, 0x1106, 0x11FF, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_PsychicM, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_SchoolKidM = {0xFFFF, 0x1103, 0x11FF, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_SchoolKidM, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Maniac = {0xFFFF, 0x1106, 0x11FF, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Maniac, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_HexManiac = {0xFFFF, 0x1106, 0x11FF, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_HexManiac, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Rayquaza1 = {0xFFFF, 0x1105, 0x11FF, 2048, 64, 64, 4, SHADOW_SIZE_M, FALSE, TRUE, TRACKS_FOOT, &gEventObjectBaseOam_64x64, gEventObjectSpriteOamTables_64x64, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_RayquazaStill, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_SwimmerM = {0xFFFF, 0x1103, 0x11FF, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_SwimmerM, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_SwimmerF = {0xFFFF, 0x1104, 0x11FF, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_SwimmerF, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BlackBelt = {0xFFFF, 0x1105, 0x11FF, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_BlackBelt, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Beauty = {0xFFFF, 0x1105, 0x11FF, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Beauty, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Scientist1 = {0xFFFF, 0x1105, 0x11FF, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Scientist1, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Lass = {0xFFFF, 0x1106, 0x11FF, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Lass, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Gentleman = {0xFFFF, 0x1105, 0x11FF, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Gentleman, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Sailor = {0xFFFF, 0x1103, 0x11FF, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Sailor, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Fisherman = {0xFFFF, 0x1104, 0x11FF, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Fisherman, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_RunningTriathleteM = {0xFFFF, 0x1106, 0x11FF, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_RunningTriathleteM, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_RunningTriathleteF = {0xFFFF, 0x1104, 0x11FF, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_RunningTriathleteF, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_TuberF = {0xFFFF, 0x1103, 0x11FF, 128, 16, 16, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_TuberF, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_TuberM = {0xFFFF, 0x1104, 0x11FF, 128, 16, 16, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_TuberM, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Hiker = {0xFFFF, 0x1103, 0x11FF, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Hiker, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_CyclingTriathleteM = {0xFFFF, 0x1105, 0x11FF, 512, 32, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_AcroBike, gEventObjectPicTable_CyclingTriathleteM, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_CyclingTriathleteF = {0xFFFF, 0x1103, 0x11FF, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_AcroBike, gEventObjectPicTable_CyclingTriathleteF, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Nurse = {0xFFFF, 0x1103, 0x11FF, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Nurse, gEventObjectPicTable_Nurse, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_ItemBall = {0xFFFF, 0x1105, 0x11FF, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_ItemBall, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BerryTree = {0xFFFF, 0x1103, 0x11FF, 256, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, NULL, gEventObjectImageAnimTable_BerryTree, gEventObjectPicTable_PechaBerryTree, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BerryTreeEarlyStages = {0xFFFF, 0x1103, 0x11FF, 256, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_BerryTree, gEventObjectPicTable_PechaBerryTree, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BerryTreeLateStages = {0xFFFF, 0x1103, 0x11FF, 256, 16, 32, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_BerryTree, gEventObjectPicTable_PechaBerryTree, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_ProfBirch = {0xFFFF, 0x1105, 0x11FF, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_ProfBirch, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Man5 = {0xFFFF, 0x1106, 0x11FF, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Man5, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Man6 = {0xFFFF, 0x1104, 0x11FF, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Man6, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_ReporterM = {0xFFFF, 0x1106, 0x11FF, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_ReporterM, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_ReporterF = {0xFFFF, 0x1106, 0x11FF, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_ReporterF, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Bard = {0xFFFF, 0x1103, 0x11FF, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_MauvilleOldMan1, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Hipster = {0xFFFF, 0x1104, 0x11FF, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_MauvilleOldMan1, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Trader = {0xFFFF, 0x1105, 0x11FF, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_MauvilleOldMan1, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Storyteller = {0xFFFF, 0x1103, 0x11FF, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_MauvilleOldMan2, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Giddy = {0xFFFF, 0x1104, 0x11FF, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_MauvilleOldMan2, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_UnusedMauvilleOldMan1 = {0xFFFF, 0x1105, 0x11FF, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_MauvilleOldMan2, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_UnusedMauvilleOldMan2 = {0xFFFF, 0x1106, 0x11FF, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_MauvilleOldMan2, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_UnusedNatuDoll = {0xFFFF, 0x1105, 0x11FF, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_UnusedNatuDoll, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_UnusedMagnemiteDoll = {0xFFFF, 0x1105, 0x11FF, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_UnusedMagnemiteDoll, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_UnusedSquirtleDoll = {0xFFFF, 0x1103, 0x11FF, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_UnusedSquirtleDoll, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_UnusedWooperDoll = {0xFFFF, 0x1105, 0x11FF, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_UnusedWooperDoll, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_UnusedPikachuDoll = {0xFFFF, 0x1104, 0x11FF, 128, 16, 16, 3, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_UnusedPikachuDoll, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_UnusedPorygon2Doll = {0xFFFF, 0x1103, 0x11FF, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_UnusedPorygon2Doll, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_CuttableTree = {0xFFFF, 0x1105, 0x11FF, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_CuttableTree, gEventObjectPicTable_CuttableTree, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MartEmployee = {0xFFFF, 0x1103, 0x11FF, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_MartEmployee, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_RooftopSaleWoman = {0xFFFF, 0x1103, 0x11FF, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_RooftopSaleWoman, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Teala = {0xFFFF, 0x1103, 0x11FF, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Teala, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BreakableRock = {0xFFFF, 0x1103, 0x11FF, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_BreakableRock, gEventObjectPicTable_BreakableRock, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_PushableBoulder = {0xFFFF, 0x1103, 0x11FF, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_PushableBoulder, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MrBrineysBoat = {0xFFFF, 0x1105, 0x11FF, 512, 32, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_MrBrineysBoat, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MayNormal = {0xFFFF, 0x1110, 0x1102, 512, 16, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_BrendanMayNormal, gEventObjectPicTable_MayNormal, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MayMachBike = {0xFFFF, 0x1110, 0x1102, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_MayMachBike, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MayAcroBike = {0xFFFF, 0x1110, 0x1102, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_AcroBike, gEventObjectPicTable_MayAcroBike, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MaySurfing = {0xFFFF, 0x1110, 0x11FF, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, TRUE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Surfing, gEventObjectPicTable_MaySurfing, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MayFieldMove = {0xFFFF, 0x1110, 0x1102, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_FieldMove, gEventObjectPicTable_MayFieldMove, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Truck = {0xFFFF, 0x110D, 0x11FF, 1152, 48, 48, 10, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_Truck, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_Truck, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_VigorothCarryingBox = {0xFFFF, 0x110E, 0x11FF, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_VigorothCarryingBox, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_VigorothFacingAway = {0xFFFF, 0x110E, 0x11FF, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_VigorothFacingAway, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BirchsBag = {0xFFFF, 0x1104, 0x11FF, 128, 16, 16, 3, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_BirchsBag, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_EnemyZigzagoon = {0xFFFF, 0x110F, 0x11FF, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_EnemyZigzagoon, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Poochyena = {0xFFFF, 0x111C, 0x11FF, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Poochyena, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Artist = {0xFFFF, 0x1106, 0x11FF, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Artist, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_RivalBrendanNormal = {0xFFFF, 0x1100, 0x1102, 256, 16, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_BrendanMayNormal, gEventObjectPicTable_BrendanNormal, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_RivalBrendanMachBike = {0xFFFF, 0x1100, 0x1102, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_BrendanMachBike, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_RivalBrendanAcroBike = {0xFFFF, 0x1100, 0x1102, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_AcroBike, gEventObjectPicTable_BrendanAcroBike, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_RivalBrendanSurfing = {0xFFFF, 0x1100, 0x11FF, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, TRUE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Surfing, gEventObjectPicTable_BrendanSurfing, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_RivalBrendanFieldMove = {0xFFFF, 0x1100, 0x1102, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_FieldMove, gEventObjectPicTable_BrendanFieldMove, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_RivalMayNormal = {0xFFFF, 0x1110, 0x1102, 256, 16, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_BrendanMayNormal, gEventObjectPicTable_MayNormal, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_RivalMayMachBike = {0xFFFF, 0x1110, 0x1102, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_MayMachBike, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_RivalMayAcroBike = {0xFFFF, 0x1110, 0x1102, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_AcroBike, gEventObjectPicTable_MayAcroBike, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_RivalMaySurfing = {0xFFFF, 0x1110, 0x11FF, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, TRUE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Surfing, gEventObjectPicTable_MaySurfing, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_RivalMayFieldMove = {0xFFFF, 0x1110, 0x1102, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_FieldMove, gEventObjectPicTable_MayFieldMove, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Cameraman = {0xFFFF, 0x1106, 0x11FF, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Cameraman, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BrendanUnderwater = {0xFFFF, 0x1115, 0x11FF, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, TRUE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_BrendanUnderwater, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MayUnderwater = {0xFFFF, 0x1115, 0x11FF, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, TRUE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_MayUnderwater, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MovingBox = {0xFFFF, 0x1112, 0x11FF, 128, 16, 16, 10, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_MovingBox, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_CableCar = {0xFFFF, 0x1113, 0x11FF, 2048, 64, 64, 10, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_64x64, gEventObjectSpriteOamTables_64x64, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_CableCar, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Scientist2 = {0xFFFF, 0x1103, 0x11FF, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Scientist2, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Man7 = {0xFFFF, 0x1104, 0x11FF, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Man7, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_AquaMemberM = {0xFFFF, 0x1106, 0x11FF, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_AquaMemberM, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_AquaMemberF = {0xFFFF, 0x1106, 0x11FF, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_AquaMemberF, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MagmaMemberM = {0xFFFF, 0x1104, 0x11FF, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_MagmaMemberM, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MagmaMemberF = {0xFFFF, 0x1104, 0x11FF, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_MagmaMemberF, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Sidney = {0xFFFF, 0x1104, 0x11FF, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Sidney, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Phoebe = {0xFFFF, 0x1103, 0x11FF, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Phoebe, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Glacia = {0xFFFF, 0x1104, 0x11FF, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Glacia, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Drake = {0xFFFF, 0x1105, 0x11FF, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Drake, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Roxanne = {0xFFFF, 0x1103, 0x11FF, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Roxanne, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Brawly = {0xFFFF, 0x1105, 0x11FF, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Brawly, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Wattson = {0xFFFF, 0x1104, 0x11FF, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Wattson, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Flannery = {0xFFFF, 0x1103, 0x11FF, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Flannery, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Norman = {0xFFFF, 0x1106, 0x11FF, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Norman, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Winona = {0xFFFF, 0x1106, 0x11FF, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Winona, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Liza = {0xFFFF, 0x1103, 0x11FF, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Liza, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Tate = {0xFFFF, 0x1103, 0x11FF, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Tate, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Wallace = {0xFFFF, 0x1106, 0x11FF, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Wallace, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Steven = {0xFFFF, 0x1106, 0x11FF, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Steven, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Wally = {0xFFFF, 0x1103, 0x11FF, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Wally, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_RubySapphireLittleBoy = {0xFFFF, 0x1103, 0x11FF, 128, 16, 16, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_RubySapphireLittleBoy, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BrendanFishing = {0xFFFF, 0x1100, 0x1102, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Fishing, gEventObjectPicTable_BrendanFishing, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MayFishing = {0xFFFF, 0x1110, 0x1102, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Fishing, gEventObjectPicTable_MayFishing, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_HotSpringsOldWoman = {0xFFFF, 0x1106, 0x11FF, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_HotSpringsOldWoman, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_SSTidal = {0xFFFF, 0x1114, 0x11FF, 1920, 96, 40, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_8x8, gEventObjectSpriteOamTables_SSTidal, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_SSTidal, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_SubmarineShadow = {0xFFFF, 0x111B, 0x11FF, 1408, 88, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_8x8, gEventObjectSpriteOamTables_SubmarineShadow, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_SubmarineShadow, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_PichuDoll = {0xFFFF, 0x1104, 0x11FF, 128, 16, 16, 3, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_PichuDoll, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_PikachuDoll = {0xFFFF, 0x1104, 0x11FF, 128, 16, 16, 3, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_PikachuDoll, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MarillDoll = {0xFFFF, 0x1103, 0x11FF, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_MarillDoll, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_TogepiDoll = {0xFFFF, 0x1105, 0x11FF, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_TogepiDoll, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_CyndaquilDoll = {0xFFFF, 0x1106, 0x11FF, 128, 16, 16, 5, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_CyndaquilDoll, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_ChikoritaDoll = {0xFFFF, 0x1105, 0x11FF, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_ChikoritaDoll, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_TotodileDoll = {0xFFFF, 0x1103, 0x11FF, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_TotodileDoll, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_JigglypuffDoll = {0xFFFF, 0x1103, 0x11FF, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_JigglypuffDoll, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MeowthDoll = {0xFFFF, 0x1104, 0x11FF, 128, 16, 16, 3, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_MeowthDoll, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_ClefairyDoll = {0xFFFF, 0x1103, 0x11FF, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_ClefairyDoll, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_DittoDoll = {0xFFFF, 0x1106, 0x11FF, 128, 16, 16, 5, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_DittoDoll, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_SmoochumDoll = {0xFFFF, 0x1106, 0x11FF, 128, 16, 16, 5, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_SmoochumDoll, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_TreeckoDoll = {0xFFFF, 0x1105, 0x11FF, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_TreeckoDoll, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_TorchicDoll = {0xFFFF, 0x1104, 0x11FF, 128, 16, 16, 3, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_TorchicDoll, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MudkipDoll = {0xFFFF, 0x1103, 0x11FF, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_MudkipDoll, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_DuskullDoll = {0xFFFF, 0x1106, 0x11FF, 128, 16, 16, 5, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_DuskullDoll, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_WynautDoll = {0xFFFF, 0x1103, 0x11FF, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_WynautDoll, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BaltoyDoll = {0xFFFF, 0x1103, 0x11FF, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_BaltoyDoll, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_KecleonDoll = {0xFFFF, 0x1105, 0x11FF, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_KecleonDoll, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_AzurillDoll = {0xFFFF, 0x1103, 0x11FF, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_AzurillDoll, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_SkittyDoll = {0xFFFF, 0x1103, 0x11FF, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_SkittyDoll, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_SwabluDoll = {0xFFFF, 0x1103, 0x11FF, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_SwabluDoll, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_GulpinDoll = {0xFFFF, 0x1105, 0x11FF, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_GulpinDoll, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_LotadDoll = {0xFFFF, 0x1105, 0x11FF, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_LotadDoll, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_SeedotDoll = {0xFFFF, 0x1105, 0x11FF, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_SeedotDoll, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_PikaCushion = {0xFFFF, 0x1104, 0x11FF, 128, 16, 16, 3, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_PikaCushion, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_RoundCushion = {0xFFFF, 0x1103, 0x11FF, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_RoundCushion, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_KissCushion = {0xFFFF, 0x1106, 0x11FF, 128, 16, 16, 5, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_KissCushion, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_ZigzagCushion = {0xFFFF, 0x1103, 0x11FF, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_ZigzagCushion, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_SpinCushion = {0xFFFF, 0x1103, 0x11FF, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_SpinCushion, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_DiamondCushion = {0xFFFF, 0x1106, 0x11FF, 128, 16, 16, 5, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_DiamondCushion, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BallCushion = {0xFFFF, 0x1105, 0x11FF, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_BallCushion, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_GrassCushion = {0xFFFF, 0x1105, 0x11FF, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_GrassCushion, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_FireCushion = {0xFFFF, 0x1104, 0x11FF, 128, 16, 16, 3, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_FireCushion, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_WaterCushion = {0xFFFF, 0x1103, 0x11FF, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_WaterCushion, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BigSnorlaxDoll = {0xFFFF, 0x1106, 0x11FF, 512, 32, 32, 5, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_BigSnorlaxDoll, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BigRhydonDoll = {0xFFFF, 0x1106, 0x11FF, 512, 32, 32, 5, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_BigRhydonDoll, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BigLaprasDoll = {0xFFFF, 0x1103, 0x11FF, 512, 32, 32, 2, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_BigLaprasDoll, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BigVenusaurDoll = {0xFFFF, 0x1105, 0x11FF, 512, 32, 32, 4, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_BigVenusaurDoll, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BigCharizardDoll = {0xFFFF, 0x1104, 0x11FF, 512, 32, 32, 3, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_BigCharizardDoll, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BigBlastoiseDoll = {0xFFFF, 0x1103, 0x11FF, 512, 32, 32, 2, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_BigBlastoiseDoll, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BigWailmerDoll = {0xFFFF, 0x1106, 0x11FF, 512, 32, 32, 5, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_BigWailmerDoll, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BigRegirockDoll = {0xFFFF, 0x1103, 0x11FF, 512, 32, 32, 2, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_BigRegirockDoll, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BigRegiceDoll = {0xFFFF, 0x1105, 0x11FF, 512, 32, 32, 4, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_BigRegiceDoll, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BigRegisteelDoll = {0xFFFF, 0x1106, 0x11FF, 512, 32, 32, 5, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_BigRegisteelDoll, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Latias = {0xFFFF, 0x1104, 0x11FF, 512, 32, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_LatiasLatios, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Latios = {0xFFFF, 0x1103, 0x11FF, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_LatiasLatios, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Boy5 = {0xFFFF, 0x1105, 0x11FF, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Boy5, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_ContestOldMan = {0xFFFF, 0x1105, 0x11FF, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_ContestOldMan, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BrendanWatering = {0xFFFF, 0x1100, 0x1102, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_BrendanWatering, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MayWatering = {0xFFFF, 0x1110, 0x1102, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_MayWatering, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BrendanDecorating = {0xFFFF, 0x1100, 0x1102, 256, 16, 32, 10, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_BrendanDecorating, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MayDecorating = {0xFFFF, 0x1110, 0x1102, 256, 16, 32, 10, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_MayDecorating, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Archie = {0xFFFF, 0x1103, 0x11FF, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Archie, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Maxie = {0xFFFF, 0x1104, 0x11FF, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Maxie, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Kyogre1 = {0xFFFF, 0x1106, 0x11FF, 512, 32, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_KyogreFront, gEventObjectRotScalAnimTable_KyogreGroudon}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Groudon1 = {0xFFFF, 0x1105, 0x11FF, 512, 32, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_GroudonFront, gEventObjectRotScalAnimTable_KyogreGroudon}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Kyogre3 = {0xFFFF, 0x1106, 0x11FF, 512, 32, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_KyogreSide, gEventObjectRotScalAnimTable_KyogreGroudon}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Groudon3 = {0xFFFF, 0x1105, 0x11FF, 512, 32, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Groudon3, gEventObjectPicTable_GroudonSide, gEventObjectRotScalAnimTable_KyogreGroudon}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Fossil = {0xFFFF, 0x1103, 0x11FF, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_Fossil, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Regirock = {0xFFFF, 0x1104, 0x11FF, 512, 32, 32, 3, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Regi, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Regice = {0xFFFF, 0x1105, 0x11FF, 512, 32, 32, 4, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Regi, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Registeel = {0xFFFF, 0x1106, 0x11FF, 512, 32, 32, 5, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Regi, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Skitty = {0xFFFF, 0x1103, 0x11FF, 128, 16, 16, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Skitty, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Kecleon1 = {0xFFFF, 0x1105, 0x11FF, 128, 16, 16, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Kecleon, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Kyogre2 = {0xFFFF, 0x1116, 0x11FF, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_KyogreFront, gEventObjectRotScalAnimTable_KyogreGroudon}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Groudon2 = {0xFFFF, 0x1118, 0x11FF, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_GroudonFront, gEventObjectRotScalAnimTable_KyogreGroudon}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Rayquaza2 = {0xFFFF, 0x1105, 0x11FF, 2048, 64, 64, 4, SHADOW_SIZE_M, FALSE, TRUE, TRACKS_FOOT, &gEventObjectBaseOam_64x64, gEventObjectSpriteOamTables_64x64, gEventObjectImageAnimTable_Rayquaza2, gEventObjectPicTable_Rayquaza, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Zigzagoon = {0xFFFF, 0x1103, 0x11FF, 128, 16, 16, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Zigzagoon, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Pikachu = {0xFFFF, 0x1104, 0x11FF, 128, 16, 16, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Pikachu, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Azumarill = {0xFFFF, 0x1103, 0x11FF, 128, 16, 16, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Azumarill, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Wingull = {0xFFFF, 0x1103, 0x11FF, 128, 16, 16, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Wingull, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Kecleon2 = {0xFFFF, 0x1105, 0x1102, 128, 16, 16, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Kecleon, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_TuberMSwimming = {0xFFFF, 0x1104, 0x11FF, 128, 16, 16, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_TuberMSwimming, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Azurill = {0xFFFF, 0x1103, 0x11FF, 128, 16, 16, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Azurill, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Mom = {0xFFFF, 0x1106, 0x11FF, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Mom, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_LinkBrendan = {0xFFFF, 0x1110, 0x1102, 256, 16, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_BrendanMayNormal, gEventObjectPicTable_BrendanNormal, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_LinkMay = {0xFFFF, 0x1110, 0x1102, 256, 16, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_BrendanMayNormal, gEventObjectPicTable_MayNormal, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Juan = {0xFFFF, 0x1106, 0x11FF, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Juan, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Scott = {0xFFFF, 0x1103, 0x11FF, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Scott, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MysteryEventDeliveryman = {0xFFFF, 0x1103, 0x11FF, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_MysteryEventDeliveryman, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Statue = {0xFFFF, 0x1106, 0x11FF, 256, 16, 32, 5, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_Statue, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Kirlia = {0xFFFF, 0x1105, 0x11FF, 256, 16, 32, 4, SHADOW_SIZE_S, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Kirlia, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Dusclops = {0xFFFF, 0x1106, 0x11FF, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Dusclops, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_UnionRoomAttendant = {0xFFFF, 0x1105, 0x11FF, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_UnionRoomAttendant, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Red = {0xFFFF, 0x111D, 0x11FF, 256, 16, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Red, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Leaf = {0xFFFF, 0x111D, 0x11FF, 256, 16, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Leaf, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Sudowoodo = {0xFFFF, 0x1105, 0x11FF, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Sudowoodo, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Mew = {0xFFFF, 0x1103, 0x11FF, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Mew, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Deoxys = {0xFFFF, 0x111E, 0x11FF, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Deoxys, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BirthIslandStone = {0xFFFF, 0x111F, 0x11FF, 512, 32, 32, 10, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_BirthIslandStone, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Anabel = {0xFFFF, 0x1106, 0x11FF, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Anabel, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Tucker = {0xFFFF, 0x1103, 0x11FF, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Tucker, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Greta = {0xFFFF, 0x1103, 0x11FF, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Greta, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Spenser = {0xFFFF, 0x1103, 0x11FF, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Spenser, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Noland = {0xFFFF, 0x1105, 0x11FF, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Noland, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Lucy = {0xFFFF, 0x1106, 0x11FF, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Lucy, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Brandon = {0xFFFF, 0x1105, 0x11FF, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Brandon, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_RubySapphireBrendan = {0xFFFF, 0x1122, 0x11FF, 256, 16, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_RubySapphireBrendan, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_RubySapphireMay = {0xFFFF, 0x1123, 0x11FF, 256, 16, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_RubySapphireMay, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Lugia = {0xFFFF, 0x1121, 0x11FF, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Lugia, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_HoOh = {0xFFFF, 0x1120, 0x11FF, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_HoOh, gEventObjectPicTable_HoOh, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BrendanNormal = {0xFFFF, EVENT_OBJ_PAL_TAG_8, EVENT_OBJ_PAL_TAG_10, 512, 16, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_BrendanMayNormal, gEventObjectPicTable_BrendanNormal, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BrendanMachBike = {0xFFFF, EVENT_OBJ_PAL_TAG_8, EVENT_OBJ_PAL_TAG_10, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_BrendanMachBike, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BrendanAcroBike = {0xFFFF, EVENT_OBJ_PAL_TAG_8, EVENT_OBJ_PAL_TAG_10, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_AcroBike, gEventObjectPicTable_BrendanAcroBike, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BrendanSurfing = {0xFFFF, EVENT_OBJ_PAL_TAG_8, EVENT_OBJ_PAL_TAG_NONE, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, TRUE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Surfing, gEventObjectPicTable_BrendanSurfing, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BrendanFieldMove = {0xFFFF, EVENT_OBJ_PAL_TAG_8, EVENT_OBJ_PAL_TAG_10, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_FieldMove, gEventObjectPicTable_BrendanFieldMove, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_QuintyPlump = {0xFFFF, EVENT_OBJ_PAL_TAG_12, EVENT_OBJ_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_L, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_QuintyPlump, gEventObjectPicTable_QuintyPlump, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_LittleBoy1 = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_LittleBoy1, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_LittleGirl1 = {0xFFFF, EVENT_OBJ_PAL_TAG_1, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_LittleGirl1, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Boy1 = {0xFFFF, EVENT_OBJ_PAL_TAG_2, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Boy1, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Girl1 = {0xFFFF, EVENT_OBJ_PAL_TAG_1, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Girl1, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Boy2 = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Boy2, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Girl2 = {0xFFFF, EVENT_OBJ_PAL_TAG_2, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Girl2, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_LittleBoy2 = {0xFFFF, EVENT_OBJ_PAL_TAG_3, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_LittleBoy2, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_LittleGirl2 = {0xFFFF, EVENT_OBJ_PAL_TAG_1, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_LittleGirl2, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Boy3 = {0xFFFF, EVENT_OBJ_PAL_TAG_3, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Boy3, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Girl3 = {0xFFFF, EVENT_OBJ_PAL_TAG_1, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Girl3, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Boy4 = {0xFFFF, EVENT_OBJ_PAL_TAG_2, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Boy4, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Woman1 = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Woman1, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_FatMan = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_FatMan, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Woman2 = {0xFFFF, EVENT_OBJ_PAL_TAG_1, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Woman2, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Man1 = {0xFFFF, EVENT_OBJ_PAL_TAG_2, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Man1, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Woman3 = {0xFFFF, EVENT_OBJ_PAL_TAG_2, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Woman3, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_OldMan1 = {0xFFFF, EVENT_OBJ_PAL_TAG_3, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_OldMan1, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_OldWoman1 = {0xFFFF, EVENT_OBJ_PAL_TAG_3, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_OldWoman1, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Man2 = {0xFFFF, EVENT_OBJ_PAL_TAG_2, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Man2, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Woman4 = {0xFFFF, EVENT_OBJ_PAL_TAG_1, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Woman4, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Man3 = {0xFFFF, EVENT_OBJ_PAL_TAG_1, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Man3, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Woman5 = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Woman5, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Cook = {0xFFFF, EVENT_OBJ_PAL_TAG_2, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Cook, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Woman6 = {0xFFFF, EVENT_OBJ_PAL_TAG_2, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Woman6, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_OldMan2 = {0xFFFF, EVENT_OBJ_PAL_TAG_3, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_OldMan2, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_OldWoman2 = {0xFFFF, EVENT_OBJ_PAL_TAG_2, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_OldWoman2, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Camper = {0xFFFF, EVENT_OBJ_PAL_TAG_2, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Camper, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Picnicker = {0xFFFF, EVENT_OBJ_PAL_TAG_2, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Picnicker, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Man4 = {0xFFFF, EVENT_OBJ_PAL_TAG_1, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Man4, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Woman7 = {0xFFFF, EVENT_OBJ_PAL_TAG_1, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Woman7, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Youngster = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Youngster, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BugCatcher = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_BugCatcher, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_PsychicM = {0xFFFF, EVENT_OBJ_PAL_TAG_3, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_PsychicM, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_SchoolKidM = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_SchoolKidM, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Maniac = {0xFFFF, EVENT_OBJ_PAL_TAG_3, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Maniac, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_HexManiac = {0xFFFF, EVENT_OBJ_PAL_TAG_3, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_HexManiac, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Rayquaza1 = {0xFFFF, EVENT_OBJ_PAL_TAG_2, EVENT_OBJ_PAL_TAG_NONE, 2048, 64, 64, 4, SHADOW_SIZE_M, FALSE, TRUE, TRACKS_FOOT, &gEventObjectBaseOam_64x64, gEventObjectSpriteOamTables_64x64, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_RayquazaStill, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_SwimmerM = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_SwimmerM, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_SwimmerF = {0xFFFF, EVENT_OBJ_PAL_TAG_1, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_SwimmerF, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BlackBelt = {0xFFFF, EVENT_OBJ_PAL_TAG_2, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_BlackBelt, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Beauty = {0xFFFF, EVENT_OBJ_PAL_TAG_2, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Beauty, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Scientist1 = {0xFFFF, EVENT_OBJ_PAL_TAG_2, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Scientist1, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Lass = {0xFFFF, EVENT_OBJ_PAL_TAG_3, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Lass, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Gentleman = {0xFFFF, EVENT_OBJ_PAL_TAG_2, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Gentleman, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Sailor = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Sailor, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Fisherman = {0xFFFF, EVENT_OBJ_PAL_TAG_1, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Fisherman, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_RunningTriathleteM = {0xFFFF, EVENT_OBJ_PAL_TAG_3, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_RunningTriathleteM, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_RunningTriathleteF = {0xFFFF, EVENT_OBJ_PAL_TAG_1, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_RunningTriathleteF, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_TuberF = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_TuberF, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_TuberM = {0xFFFF, EVENT_OBJ_PAL_TAG_1, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_TuberM, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Hiker = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Hiker, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_CyclingTriathleteM = {0xFFFF, EVENT_OBJ_PAL_TAG_2, EVENT_OBJ_PAL_TAG_NONE, 512, 32, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_AcroBike, gEventObjectPicTable_CyclingTriathleteM, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_CyclingTriathleteF = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_AcroBike, gEventObjectPicTable_CyclingTriathleteF, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Nurse = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Nurse, gEventObjectPicTable_Nurse, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_ItemBall = {0xFFFF, EVENT_OBJ_PAL_TAG_2, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_ItemBall, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BerryTree = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, NULL, gEventObjectImageAnimTable_BerryTree, gEventObjectPicTable_PechaBerryTree, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BerryTreeEarlyStages = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_BerryTree, gEventObjectPicTable_PechaBerryTree, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BerryTreeLateStages = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_BerryTree, gEventObjectPicTable_PechaBerryTree, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_ProfBirch = {0xFFFF, EVENT_OBJ_PAL_TAG_2, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_ProfBirch, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Man5 = {0xFFFF, EVENT_OBJ_PAL_TAG_3, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Man5, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Man6 = {0xFFFF, EVENT_OBJ_PAL_TAG_1, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Man6, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_ReporterM = {0xFFFF, EVENT_OBJ_PAL_TAG_3, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_ReporterM, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_ReporterF = {0xFFFF, EVENT_OBJ_PAL_TAG_3, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_ReporterF, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Bard = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_MauvilleOldMan1, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Hipster = {0xFFFF, EVENT_OBJ_PAL_TAG_1, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_MauvilleOldMan1, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Trader = {0xFFFF, EVENT_OBJ_PAL_TAG_2, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_MauvilleOldMan1, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Storyteller = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_MauvilleOldMan2, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Giddy = {0xFFFF, EVENT_OBJ_PAL_TAG_1, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_MauvilleOldMan2, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_UnusedMauvilleOldMan1 = {0xFFFF, EVENT_OBJ_PAL_TAG_2, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_MauvilleOldMan2, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_UnusedMauvilleOldMan2 = {0xFFFF, EVENT_OBJ_PAL_TAG_3, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_MauvilleOldMan2, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_UnusedNatuDoll = {0xFFFF, EVENT_OBJ_PAL_TAG_2, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_UnusedNatuDoll, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_UnusedMagnemiteDoll = {0xFFFF, EVENT_OBJ_PAL_TAG_2, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_UnusedMagnemiteDoll, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_UnusedSquirtleDoll = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_UnusedSquirtleDoll, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_UnusedWooperDoll = {0xFFFF, EVENT_OBJ_PAL_TAG_2, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_UnusedWooperDoll, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_UnusedPikachuDoll = {0xFFFF, EVENT_OBJ_PAL_TAG_1, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 3, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_UnusedPikachuDoll, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_UnusedPorygon2Doll = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_UnusedPorygon2Doll, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_CuttableTree = {0xFFFF, EVENT_OBJ_PAL_TAG_2, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_CuttableTree, gEventObjectPicTable_CuttableTree, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MartEmployee = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_MartEmployee, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_RooftopSaleWoman = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_RooftopSaleWoman, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Teala = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Teala, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BreakableRock = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_BreakableRock, gEventObjectPicTable_BreakableRock, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_PushableBoulder = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_PushableBoulder, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MrBrineysBoat = {0xFFFF, EVENT_OBJ_PAL_TAG_2, EVENT_OBJ_PAL_TAG_NONE, 512, 32, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_MrBrineysBoat, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MayNormal = {0xFFFF, EVENT_OBJ_PAL_TAG_17, EVENT_OBJ_PAL_TAG_10, 512, 16, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_BrendanMayNormal, gEventObjectPicTable_MayNormal, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MayMachBike = {0xFFFF, EVENT_OBJ_PAL_TAG_17, EVENT_OBJ_PAL_TAG_10, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_MayMachBike, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MayAcroBike = {0xFFFF, EVENT_OBJ_PAL_TAG_17, EVENT_OBJ_PAL_TAG_10, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_AcroBike, gEventObjectPicTable_MayAcroBike, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MaySurfing = {0xFFFF, EVENT_OBJ_PAL_TAG_17, EVENT_OBJ_PAL_TAG_NONE, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, TRUE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Surfing, gEventObjectPicTable_MaySurfing, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MayFieldMove = {0xFFFF, EVENT_OBJ_PAL_TAG_17, EVENT_OBJ_PAL_TAG_10, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_FieldMove, gEventObjectPicTable_MayFieldMove, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Truck = {0xFFFF, EVENT_OBJ_PAL_TAG_14, EVENT_OBJ_PAL_TAG_NONE, 1152, 48, 48, 10, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_Truck, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_Truck, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_VigorothCarryingBox = {0xFFFF, EVENT_OBJ_PAL_TAG_15, EVENT_OBJ_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_VigorothCarryingBox, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_VigorothFacingAway = {0xFFFF, EVENT_OBJ_PAL_TAG_15, EVENT_OBJ_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_VigorothFacingAway, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BirchsBag = {0xFFFF, EVENT_OBJ_PAL_TAG_1, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 3, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_BirchsBag, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_EnemyZigzagoon = {0xFFFF, EVENT_OBJ_PAL_TAG_16, EVENT_OBJ_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_EnemyZigzagoon, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Poochyena = {0xFFFF, EVENT_OBJ_PAL_TAG_27, EVENT_OBJ_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Poochyena, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Artist = {0xFFFF, EVENT_OBJ_PAL_TAG_3, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Artist, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_RivalBrendanNormal = {0xFFFF, EVENT_OBJ_PAL_TAG_8, EVENT_OBJ_PAL_TAG_10, 256, 16, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_BrendanMayNormal, gEventObjectPicTable_BrendanNormal, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_RivalBrendanMachBike = {0xFFFF, EVENT_OBJ_PAL_TAG_8, EVENT_OBJ_PAL_TAG_10, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_BrendanMachBike, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_RivalBrendanAcroBike = {0xFFFF, EVENT_OBJ_PAL_TAG_8, EVENT_OBJ_PAL_TAG_10, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_AcroBike, gEventObjectPicTable_BrendanAcroBike, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_RivalBrendanSurfing = {0xFFFF, EVENT_OBJ_PAL_TAG_8, EVENT_OBJ_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, TRUE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Surfing, gEventObjectPicTable_BrendanSurfing, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_RivalBrendanFieldMove = {0xFFFF, EVENT_OBJ_PAL_TAG_8, EVENT_OBJ_PAL_TAG_10, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_FieldMove, gEventObjectPicTable_BrendanFieldMove, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_RivalMayNormal = {0xFFFF, EVENT_OBJ_PAL_TAG_17, EVENT_OBJ_PAL_TAG_10, 256, 16, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_BrendanMayNormal, gEventObjectPicTable_MayNormal, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_RivalMayMachBike = {0xFFFF, EVENT_OBJ_PAL_TAG_17, EVENT_OBJ_PAL_TAG_10, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_MayMachBike, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_RivalMayAcroBike = {0xFFFF, EVENT_OBJ_PAL_TAG_17, EVENT_OBJ_PAL_TAG_10, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_AcroBike, gEventObjectPicTable_MayAcroBike, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_RivalMaySurfing = {0xFFFF, EVENT_OBJ_PAL_TAG_17, EVENT_OBJ_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, TRUE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Surfing, gEventObjectPicTable_MaySurfing, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_RivalMayFieldMove = {0xFFFF, EVENT_OBJ_PAL_TAG_17, EVENT_OBJ_PAL_TAG_10, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_FieldMove, gEventObjectPicTable_MayFieldMove, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Cameraman = {0xFFFF, EVENT_OBJ_PAL_TAG_3, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Cameraman, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BrendanUnderwater = {0xFFFF, EVENT_OBJ_PAL_TAG_11, EVENT_OBJ_PAL_TAG_NONE, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, TRUE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_BrendanUnderwater, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MayUnderwater = {0xFFFF, EVENT_OBJ_PAL_TAG_11, EVENT_OBJ_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, TRUE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_MayUnderwater, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MovingBox = {0xFFFF, EVENT_OBJ_PAL_TAG_19, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 10, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_MovingBox, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_CableCar = {0xFFFF, EVENT_OBJ_PAL_TAG_20, EVENT_OBJ_PAL_TAG_NONE, 2048, 64, 64, 10, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_64x64, gEventObjectSpriteOamTables_64x64, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_CableCar, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Scientist2 = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Scientist2, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Man7 = {0xFFFF, EVENT_OBJ_PAL_TAG_1, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Man7, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_AquaMemberM = {0xFFFF, EVENT_OBJ_PAL_TAG_3, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_AquaMemberM, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_AquaMemberF = {0xFFFF, EVENT_OBJ_PAL_TAG_3, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_AquaMemberF, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MagmaMemberM = {0xFFFF, EVENT_OBJ_PAL_TAG_1, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_MagmaMemberM, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MagmaMemberF = {0xFFFF, EVENT_OBJ_PAL_TAG_1, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_MagmaMemberF, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Sidney = {0xFFFF, EVENT_OBJ_PAL_TAG_1, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Sidney, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Phoebe = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Phoebe, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Glacia = {0xFFFF, EVENT_OBJ_PAL_TAG_1, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Glacia, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Drake = {0xFFFF, EVENT_OBJ_PAL_TAG_2, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Drake, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Roxanne = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Roxanne, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Brawly = {0xFFFF, EVENT_OBJ_PAL_TAG_2, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Brawly, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Wattson = {0xFFFF, EVENT_OBJ_PAL_TAG_1, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Wattson, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Flannery = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Flannery, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Norman = {0xFFFF, EVENT_OBJ_PAL_TAG_3, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Norman, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Winona = {0xFFFF, EVENT_OBJ_PAL_TAG_3, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Winona, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Liza = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Liza, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Tate = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Tate, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Wallace = {0xFFFF, EVENT_OBJ_PAL_TAG_3, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Wallace, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Steven = {0xFFFF, EVENT_OBJ_PAL_TAG_3, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Steven, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Wally = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Wally, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_RubySapphireLittleBoy = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_RubySapphireLittleBoy, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BrendanFishing = {0xFFFF, EVENT_OBJ_PAL_TAG_8, EVENT_OBJ_PAL_TAG_10, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Fishing, gEventObjectPicTable_BrendanFishing, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MayFishing = {0xFFFF, EVENT_OBJ_PAL_TAG_17, EVENT_OBJ_PAL_TAG_10, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Fishing, gEventObjectPicTable_MayFishing, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_HotSpringsOldWoman = {0xFFFF, EVENT_OBJ_PAL_TAG_3, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_HotSpringsOldWoman, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_SSTidal = {0xFFFF, EVENT_OBJ_PAL_TAG_21, EVENT_OBJ_PAL_TAG_NONE, 1920, 96, 40, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_8x8, gEventObjectSpriteOamTables_SSTidal, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_SSTidal, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_SubmarineShadow = {0xFFFF, EVENT_OBJ_PAL_TAG_26, EVENT_OBJ_PAL_TAG_NONE, 1408, 88, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_8x8, gEventObjectSpriteOamTables_SubmarineShadow, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_SubmarineShadow, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_PichuDoll = {0xFFFF, EVENT_OBJ_PAL_TAG_1, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 3, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_PichuDoll, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_PikachuDoll = {0xFFFF, EVENT_OBJ_PAL_TAG_1, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 3, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_PikachuDoll, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MarillDoll = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_MarillDoll, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_TogepiDoll = {0xFFFF, EVENT_OBJ_PAL_TAG_2, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_TogepiDoll, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_CyndaquilDoll = {0xFFFF, EVENT_OBJ_PAL_TAG_3, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 5, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_CyndaquilDoll, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_ChikoritaDoll = {0xFFFF, EVENT_OBJ_PAL_TAG_2, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_ChikoritaDoll, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_TotodileDoll = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_TotodileDoll, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_JigglypuffDoll = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_JigglypuffDoll, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MeowthDoll = {0xFFFF, EVENT_OBJ_PAL_TAG_1, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 3, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_MeowthDoll, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_ClefairyDoll = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_ClefairyDoll, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_DittoDoll = {0xFFFF, EVENT_OBJ_PAL_TAG_3, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 5, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_DittoDoll, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_SmoochumDoll = {0xFFFF, EVENT_OBJ_PAL_TAG_3, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 5, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_SmoochumDoll, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_TreeckoDoll = {0xFFFF, EVENT_OBJ_PAL_TAG_2, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_TreeckoDoll, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_TorchicDoll = {0xFFFF, EVENT_OBJ_PAL_TAG_1, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 3, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_TorchicDoll, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MudkipDoll = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_MudkipDoll, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_DuskullDoll = {0xFFFF, EVENT_OBJ_PAL_TAG_3, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 5, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_DuskullDoll, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_WynautDoll = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_WynautDoll, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BaltoyDoll = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_BaltoyDoll, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_KecleonDoll = {0xFFFF, EVENT_OBJ_PAL_TAG_2, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_KecleonDoll, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_AzurillDoll = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_AzurillDoll, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_SkittyDoll = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_SkittyDoll, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_SwabluDoll = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_SwabluDoll, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_GulpinDoll = {0xFFFF, EVENT_OBJ_PAL_TAG_2, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_GulpinDoll, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_LotadDoll = {0xFFFF, EVENT_OBJ_PAL_TAG_2, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_LotadDoll, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_SeedotDoll = {0xFFFF, EVENT_OBJ_PAL_TAG_2, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_SeedotDoll, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_PikaCushion = {0xFFFF, EVENT_OBJ_PAL_TAG_1, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 3, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_PikaCushion, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_RoundCushion = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_RoundCushion, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_KissCushion = {0xFFFF, EVENT_OBJ_PAL_TAG_3, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 5, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_KissCushion, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_ZigzagCushion = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_ZigzagCushion, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_SpinCushion = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_SpinCushion, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_DiamondCushion = {0xFFFF, EVENT_OBJ_PAL_TAG_3, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 5, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_DiamondCushion, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BallCushion = {0xFFFF, EVENT_OBJ_PAL_TAG_2, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_BallCushion, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_GrassCushion = {0xFFFF, EVENT_OBJ_PAL_TAG_2, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_GrassCushion, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_FireCushion = {0xFFFF, EVENT_OBJ_PAL_TAG_1, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 3, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_FireCushion, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_WaterCushion = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_WaterCushion, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BigSnorlaxDoll = {0xFFFF, EVENT_OBJ_PAL_TAG_3, EVENT_OBJ_PAL_TAG_NONE, 512, 32, 32, 5, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_BigSnorlaxDoll, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BigRhydonDoll = {0xFFFF, EVENT_OBJ_PAL_TAG_3, EVENT_OBJ_PAL_TAG_NONE, 512, 32, 32, 5, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_BigRhydonDoll, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BigLaprasDoll = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_BigLaprasDoll, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BigVenusaurDoll = {0xFFFF, EVENT_OBJ_PAL_TAG_2, EVENT_OBJ_PAL_TAG_NONE, 512, 32, 32, 4, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_BigVenusaurDoll, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BigCharizardDoll = {0xFFFF, EVENT_OBJ_PAL_TAG_1, EVENT_OBJ_PAL_TAG_NONE, 512, 32, 32, 3, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_BigCharizardDoll, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BigBlastoiseDoll = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_BigBlastoiseDoll, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BigWailmerDoll = {0xFFFF, EVENT_OBJ_PAL_TAG_3, EVENT_OBJ_PAL_TAG_NONE, 512, 32, 32, 5, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_BigWailmerDoll, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BigRegirockDoll = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_BigRegirockDoll, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BigRegiceDoll = {0xFFFF, EVENT_OBJ_PAL_TAG_2, EVENT_OBJ_PAL_TAG_NONE, 512, 32, 32, 4, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_BigRegiceDoll, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BigRegisteelDoll = {0xFFFF, EVENT_OBJ_PAL_TAG_3, EVENT_OBJ_PAL_TAG_NONE, 512, 32, 32, 5, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_BigRegisteelDoll, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Latias = {0xFFFF, EVENT_OBJ_PAL_TAG_1, EVENT_OBJ_PAL_TAG_NONE, 512, 32, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_LatiasLatios, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Latios = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_LatiasLatios, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Boy5 = {0xFFFF, EVENT_OBJ_PAL_TAG_2, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Boy5, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_ContestOldMan = {0xFFFF, EVENT_OBJ_PAL_TAG_2, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_ContestOldMan, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BrendanWatering = {0xFFFF, EVENT_OBJ_PAL_TAG_8, EVENT_OBJ_PAL_TAG_10, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_BrendanWatering, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MayWatering = {0xFFFF, EVENT_OBJ_PAL_TAG_17, EVENT_OBJ_PAL_TAG_10, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_MayWatering, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BrendanDecorating = {0xFFFF, EVENT_OBJ_PAL_TAG_8, EVENT_OBJ_PAL_TAG_10, 256, 16, 32, 10, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_BrendanDecorating, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MayDecorating = {0xFFFF, EVENT_OBJ_PAL_TAG_17, EVENT_OBJ_PAL_TAG_10, 256, 16, 32, 10, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_MayDecorating, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Archie = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Archie, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Maxie = {0xFFFF, EVENT_OBJ_PAL_TAG_1, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Maxie, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Kyogre1 = {0xFFFF, EVENT_OBJ_PAL_TAG_3, EVENT_OBJ_PAL_TAG_NONE, 512, 32, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_KyogreFront, gEventObjectRotScalAnimTable_KyogreGroudon}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Groudon1 = {0xFFFF, EVENT_OBJ_PAL_TAG_2, EVENT_OBJ_PAL_TAG_NONE, 512, 32, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_GroudonFront, gEventObjectRotScalAnimTable_KyogreGroudon}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Kyogre3 = {0xFFFF, EVENT_OBJ_PAL_TAG_3, EVENT_OBJ_PAL_TAG_NONE, 512, 32, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_KyogreSide, gEventObjectRotScalAnimTable_KyogreGroudon}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Groudon3 = {0xFFFF, EVENT_OBJ_PAL_TAG_2, EVENT_OBJ_PAL_TAG_NONE, 512, 32, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Groudon3, gEventObjectPicTable_GroudonSide, gEventObjectRotScalAnimTable_KyogreGroudon}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Fossil = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_Fossil, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Regirock = {0xFFFF, EVENT_OBJ_PAL_TAG_1, EVENT_OBJ_PAL_TAG_NONE, 512, 32, 32, 3, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Regi, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Regice = {0xFFFF, EVENT_OBJ_PAL_TAG_2, EVENT_OBJ_PAL_TAG_NONE, 512, 32, 32, 4, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Regi, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Registeel = {0xFFFF, EVENT_OBJ_PAL_TAG_3, EVENT_OBJ_PAL_TAG_NONE, 512, 32, 32, 5, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Regi, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Skitty = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Skitty, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Kecleon1 = {0xFFFF, EVENT_OBJ_PAL_TAG_2, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Kecleon, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Kyogre2 = {0xFFFF, EVENT_OBJ_PAL_TAG_22, EVENT_OBJ_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_KyogreFront, gEventObjectRotScalAnimTable_KyogreGroudon}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Groudon2 = {0xFFFF, EVENT_OBJ_PAL_TAG_24, EVENT_OBJ_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_GroudonFront, gEventObjectRotScalAnimTable_KyogreGroudon}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Rayquaza2 = {0xFFFF, EVENT_OBJ_PAL_TAG_2, EVENT_OBJ_PAL_TAG_NONE, 2048, 64, 64, 4, SHADOW_SIZE_M, FALSE, TRUE, TRACKS_FOOT, &gEventObjectBaseOam_64x64, gEventObjectSpriteOamTables_64x64, gEventObjectImageAnimTable_Rayquaza2, gEventObjectPicTable_Rayquaza, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Zigzagoon = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Zigzagoon, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Pikachu = {0xFFFF, EVENT_OBJ_PAL_TAG_1, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Pikachu, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Azumarill = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Azumarill, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Wingull = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Wingull, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Kecleon2 = {0xFFFF, EVENT_OBJ_PAL_TAG_2, EVENT_OBJ_PAL_TAG_10, 128, 16, 16, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Kecleon, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_TuberMSwimming = {0xFFFF, EVENT_OBJ_PAL_TAG_1, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_TuberMSwimming, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Azurill = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Azurill, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Mom = {0xFFFF, EVENT_OBJ_PAL_TAG_3, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Mom, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_LinkBrendan = {0xFFFF, EVENT_OBJ_PAL_TAG_17, EVENT_OBJ_PAL_TAG_10, 256, 16, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_BrendanMayNormal, gEventObjectPicTable_BrendanNormal, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_LinkMay = {0xFFFF, EVENT_OBJ_PAL_TAG_17, EVENT_OBJ_PAL_TAG_10, 256, 16, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_BrendanMayNormal, gEventObjectPicTable_MayNormal, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Juan = {0xFFFF, EVENT_OBJ_PAL_TAG_3, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Juan, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Scott = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Scott, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MysteryEventDeliveryman = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_MysteryEventDeliveryman, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Statue = {0xFFFF, EVENT_OBJ_PAL_TAG_3, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_Statue, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Kirlia = {0xFFFF, EVENT_OBJ_PAL_TAG_2, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_S, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Kirlia, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Dusclops = {0xFFFF, EVENT_OBJ_PAL_TAG_3, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Dusclops, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_UnionRoomAttendant = {0xFFFF, EVENT_OBJ_PAL_TAG_2, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_UnionRoomAttendant, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Red = {0xFFFF, EVENT_OBJ_PAL_TAG_28, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Red, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Leaf = {0xFFFF, EVENT_OBJ_PAL_TAG_28, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Leaf, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Sudowoodo = {0xFFFF, EVENT_OBJ_PAL_TAG_2, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Sudowoodo, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Mew = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Mew, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Deoxys = {0xFFFF, EVENT_OBJ_PAL_TAG_29, EVENT_OBJ_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Deoxys, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BirthIslandStone = {0xFFFF, EVENT_OBJ_PAL_TAG_30, EVENT_OBJ_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_BirthIslandStone, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Anabel = {0xFFFF, EVENT_OBJ_PAL_TAG_3, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Anabel, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Tucker = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Tucker, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Greta = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Greta, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Spenser = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Spenser, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Noland = {0xFFFF, EVENT_OBJ_PAL_TAG_2, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Noland, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Lucy = {0xFFFF, EVENT_OBJ_PAL_TAG_3, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Lucy, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Brandon = {0xFFFF, EVENT_OBJ_PAL_TAG_2, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Brandon, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_RubySapphireBrendan = {0xFFFF, EVENT_OBJ_PAL_TAG_33, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_RubySapphireBrendan, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_RubySapphireMay = {0xFFFF, EVENT_OBJ_PAL_TAG_34, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_RubySapphireMay, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Lugia = {0xFFFF, EVENT_OBJ_PAL_TAG_32, EVENT_OBJ_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Lugia, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_HoOh = {0xFFFF, EVENT_OBJ_PAL_TAG_31, EVENT_OBJ_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_HoOh, gEventObjectPicTable_HoOh, gDummySpriteAffineAnimTable}; #endif //GUARD_EVENT_OBJECT_GRAPHICS_INFO_H diff --git a/src/event_object_movement.c b/src/event_object_movement.c index 9a1e711c32..7f76bb1685 100644 --- a/src/event_object_movement.c +++ b/src/event_object_movement.c @@ -368,6 +368,43 @@ const u8 gInitialMovementTypeFacingDirections[] = { DIR_EAST, // MOVEMENT_TYPE_WALK_SLOWLY_IN_PLACE_RIGHT }; +#define EVENT_OBJ_PAL_TAG_0 0x1103 +#define EVENT_OBJ_PAL_TAG_1 0x1104 +#define EVENT_OBJ_PAL_TAG_2 0x1105 +#define EVENT_OBJ_PAL_TAG_3 0x1106 +#define EVENT_OBJ_PAL_TAG_4 0x1107 +#define EVENT_OBJ_PAL_TAG_5 0x1108 +#define EVENT_OBJ_PAL_TAG_6 0x1109 +#define EVENT_OBJ_PAL_TAG_7 0x110A +#define EVENT_OBJ_PAL_TAG_8 0x1100 +#define EVENT_OBJ_PAL_TAG_9 0x1101 +#define EVENT_OBJ_PAL_TAG_10 0x1102 +#define EVENT_OBJ_PAL_TAG_11 0x1115 +#define EVENT_OBJ_PAL_TAG_12 0x110B +#define EVENT_OBJ_PAL_TAG_13 0x110C +#define EVENT_OBJ_PAL_TAG_14 0x110D +#define EVENT_OBJ_PAL_TAG_15 0x110E +#define EVENT_OBJ_PAL_TAG_16 0x110F +#define EVENT_OBJ_PAL_TAG_17 0x1110 +#define EVENT_OBJ_PAL_TAG_18 0x1111 +#define EVENT_OBJ_PAL_TAG_19 0x1112 +#define EVENT_OBJ_PAL_TAG_20 0x1113 +#define EVENT_OBJ_PAL_TAG_21 0x1114 +#define EVENT_OBJ_PAL_TAG_22 0x1116 +#define EVENT_OBJ_PAL_TAG_23 0x1117 +#define EVENT_OBJ_PAL_TAG_24 0x1118 +#define EVENT_OBJ_PAL_TAG_25 0x1119 +#define EVENT_OBJ_PAL_TAG_26 0x111B +#define EVENT_OBJ_PAL_TAG_27 0x111C +#define EVENT_OBJ_PAL_TAG_28 0x111D +#define EVENT_OBJ_PAL_TAG_29 0x111E +#define EVENT_OBJ_PAL_TAG_30 0x111F +#define EVENT_OBJ_PAL_TAG_31 0x1120 +#define EVENT_OBJ_PAL_TAG_32 0x1121 +#define EVENT_OBJ_PAL_TAG_33 0x1122 +#define EVENT_OBJ_PAL_TAG_34 0x1123 +#define EVENT_OBJ_PAL_TAG_NONE 0x11FF + #include "data/field_event_obj/event_object_graphics_info_pointers.h" #include "data/field_event_obj/field_effect_object_template_pointers.h" #include "data/field_event_obj/event_object_pic_tables.h" @@ -377,216 +414,216 @@ const u8 gInitialMovementTypeFacingDirections[] = { #include "data/field_event_obj/event_object_graphics_info.h" const struct SpritePalette sEventObjectSpritePalettes[] = { - {gEventObjectPalette0, 0x1103}, - {gEventObjectPalette1, 0x1104}, - {gEventObjectPalette2, 0x1105}, - {gEventObjectPalette3, 0x1106}, - {gEventObjectPalette4, 0x1107}, - {gEventObjectPalette5, 0x1108}, - {gEventObjectPalette6, 0x1109}, - {gEventObjectPalette7, 0x110A}, - {gEventObjectPalette8, 0x1100}, - {gEventObjectPalette9, 0x1101}, - {gEventObjectPalette10, 0x1102}, - {gEventObjectPalette11, 0x1115}, - {gEventObjectPalette12, 0x110B}, - {gEventObjectPalette13, 0x110C}, - {gEventObjectPalette14, 0x110D}, - {gEventObjectPalette15, 0x110E}, - {gEventObjectPalette16, 0x110F}, - {gEventObjectPalette17, 0x1110}, - {gEventObjectPalette18, 0x1111}, - {gEventObjectPalette19, 0x1112}, - {gEventObjectPalette20, 0x1113}, - {gEventObjectPalette21, 0x1114}, - {gEventObjectPalette22, 0x1116}, - {gEventObjectPalette23, 0x1117}, - {gEventObjectPalette24, 0x1118}, - {gEventObjectPalette25, 0x1119}, - {gEventObjectPalette26, 0x111B}, - {gEventObjectPalette27, 0x111C}, - {gEventObjectPalette28, 0x111D}, - {gEventObjectPalette29, 0x111E}, - {gEventObjectPalette30, 0x111F}, - {gEventObjectPalette31, 0x1120}, - {gEventObjectPalette32, 0x1121}, - {gEventObjectPalette33, 0x1122}, - {gEventObjectPalette34, 0x1123}, + {gEventObjectPalette0, EVENT_OBJ_PAL_TAG_0}, + {gEventObjectPalette1, EVENT_OBJ_PAL_TAG_1}, + {gEventObjectPalette2, EVENT_OBJ_PAL_TAG_2}, + {gEventObjectPalette3, EVENT_OBJ_PAL_TAG_3}, + {gEventObjectPalette4, EVENT_OBJ_PAL_TAG_4}, + {gEventObjectPalette5, EVENT_OBJ_PAL_TAG_5}, + {gEventObjectPalette6, EVENT_OBJ_PAL_TAG_6}, + {gEventObjectPalette7, EVENT_OBJ_PAL_TAG_7}, + {gEventObjectPalette8, EVENT_OBJ_PAL_TAG_8}, + {gEventObjectPalette9, EVENT_OBJ_PAL_TAG_9}, + {gEventObjectPalette10, EVENT_OBJ_PAL_TAG_10}, + {gEventObjectPalette11, EVENT_OBJ_PAL_TAG_11}, + {gEventObjectPalette12, EVENT_OBJ_PAL_TAG_12}, + {gEventObjectPalette13, EVENT_OBJ_PAL_TAG_13}, + {gEventObjectPalette14, EVENT_OBJ_PAL_TAG_14}, + {gEventObjectPalette15, EVENT_OBJ_PAL_TAG_15}, + {gEventObjectPalette16, EVENT_OBJ_PAL_TAG_16}, + {gEventObjectPalette17, EVENT_OBJ_PAL_TAG_17}, + {gEventObjectPalette18, EVENT_OBJ_PAL_TAG_18}, + {gEventObjectPalette19, EVENT_OBJ_PAL_TAG_19}, + {gEventObjectPalette20, EVENT_OBJ_PAL_TAG_20}, + {gEventObjectPalette21, EVENT_OBJ_PAL_TAG_21}, + {gEventObjectPalette22, EVENT_OBJ_PAL_TAG_22}, + {gEventObjectPalette23, EVENT_OBJ_PAL_TAG_23}, + {gEventObjectPalette24, EVENT_OBJ_PAL_TAG_24}, + {gEventObjectPalette25, EVENT_OBJ_PAL_TAG_25}, + {gEventObjectPalette26, EVENT_OBJ_PAL_TAG_26}, + {gEventObjectPalette27, EVENT_OBJ_PAL_TAG_27}, + {gEventObjectPalette28, EVENT_OBJ_PAL_TAG_28}, + {gEventObjectPalette29, EVENT_OBJ_PAL_TAG_29}, + {gEventObjectPalette30, EVENT_OBJ_PAL_TAG_30}, + {gEventObjectPalette31, EVENT_OBJ_PAL_TAG_31}, + {gEventObjectPalette32, EVENT_OBJ_PAL_TAG_32}, + {gEventObjectPalette33, EVENT_OBJ_PAL_TAG_33}, + {gEventObjectPalette34, EVENT_OBJ_PAL_TAG_34}, {NULL, 0x0000}, }; const u16 gPlayerReflectionPaletteTags[] = { - 0x1101, - 0x1101, - 0x1101, - 0x1101, + EVENT_OBJ_PAL_TAG_9, + EVENT_OBJ_PAL_TAG_9, + EVENT_OBJ_PAL_TAG_9, + EVENT_OBJ_PAL_TAG_9, }; const u16 Unknown_0850BCF0[] = { - 0x1111, - 0x1111, - 0x1111, - 0x1111, + EVENT_OBJ_PAL_TAG_18, + EVENT_OBJ_PAL_TAG_18, + EVENT_OBJ_PAL_TAG_18, + EVENT_OBJ_PAL_TAG_18, }; const u16 gPlayerUnderwaterReflectionPaletteTags[] = { - 0x1115, - 0x1115, - 0x1115, - 0x1115, + EVENT_OBJ_PAL_TAG_11, + EVENT_OBJ_PAL_TAG_11, + EVENT_OBJ_PAL_TAG_11, + EVENT_OBJ_PAL_TAG_11, }; const struct PairedPalettes gPlayerReflectionPaletteSets[] = { - {0x1100, gPlayerReflectionPaletteTags}, - {0x1110, Unknown_0850BCF0}, - {0x1115, gPlayerUnderwaterReflectionPaletteTags}, - {0x11FF, NULL}, + {EVENT_OBJ_PAL_TAG_8, gPlayerReflectionPaletteTags}, + {EVENT_OBJ_PAL_TAG_17, Unknown_0850BCF0}, + {EVENT_OBJ_PAL_TAG_11, gPlayerUnderwaterReflectionPaletteTags}, + {EVENT_OBJ_PAL_TAG_NONE, NULL}, }; const u16 gQuintyPlumpReflectionPaletteTags[] = { - 0x110C, - 0x110C, - 0x110C, - 0x110C, + EVENT_OBJ_PAL_TAG_13, + EVENT_OBJ_PAL_TAG_13, + EVENT_OBJ_PAL_TAG_13, + EVENT_OBJ_PAL_TAG_13, }; const u16 gTruckReflectionPaletteTags[] = { - 0x110D, - 0x110D, - 0x110D, - 0x110D, + EVENT_OBJ_PAL_TAG_14, + EVENT_OBJ_PAL_TAG_14, + EVENT_OBJ_PAL_TAG_14, + EVENT_OBJ_PAL_TAG_14, }; const u16 gVigorothMoverReflectionPaletteTags[] = { - 0x110E, - 0x110E, - 0x110E, - 0x110E, + EVENT_OBJ_PAL_TAG_15, + EVENT_OBJ_PAL_TAG_15, + EVENT_OBJ_PAL_TAG_15, + EVENT_OBJ_PAL_TAG_15, }; const u16 gMovingBoxReflectionPaletteTags[] = { - 0x1112, - 0x1112, - 0x1112, - 0x1112, + EVENT_OBJ_PAL_TAG_19, + EVENT_OBJ_PAL_TAG_19, + EVENT_OBJ_PAL_TAG_19, + EVENT_OBJ_PAL_TAG_19, }; const u16 gCableCarReflectionPaletteTags[] = { - 0x1113, - 0x1113, - 0x1113, - 0x1113, + EVENT_OBJ_PAL_TAG_20, + EVENT_OBJ_PAL_TAG_20, + EVENT_OBJ_PAL_TAG_20, + EVENT_OBJ_PAL_TAG_20, }; const u16 gSSTidalReflectionPaletteTags[] = { - 0x1114, - 0x1114, - 0x1114, - 0x1114, + EVENT_OBJ_PAL_TAG_21, + EVENT_OBJ_PAL_TAG_21, + EVENT_OBJ_PAL_TAG_21, + EVENT_OBJ_PAL_TAG_21, }; const u16 gSubmarineShadowReflectionPaletteTags[] = { - 0x111B, - 0x111B, - 0x111B, - 0x111B, + EVENT_OBJ_PAL_TAG_26, + EVENT_OBJ_PAL_TAG_26, + EVENT_OBJ_PAL_TAG_26, + EVENT_OBJ_PAL_TAG_26, }; const u16 Unknown_0850BD58[] = { // Kyogre2? - 0x1117, - 0x1117, - 0x1117, - 0x1117, + EVENT_OBJ_PAL_TAG_23, + EVENT_OBJ_PAL_TAG_23, + EVENT_OBJ_PAL_TAG_23, + EVENT_OBJ_PAL_TAG_23, }; const u16 Unknown_0850BD60[] = { // Groudon2? - 0x1119, - 0x1119, - 0x1119, - 0x1119, + EVENT_OBJ_PAL_TAG_25, + EVENT_OBJ_PAL_TAG_25, + EVENT_OBJ_PAL_TAG_25, + EVENT_OBJ_PAL_TAG_25, }; const u16 Unknown_0850BD68[] = { // Invisible Keckleon? - 0x1109, - 0x1109, - 0x1109, - 0x1109, + EVENT_OBJ_PAL_TAG_6, + EVENT_OBJ_PAL_TAG_6, + EVENT_OBJ_PAL_TAG_6, + EVENT_OBJ_PAL_TAG_6, }; const u16 gRedLeafReflectionPaletteTags[] = { - 0x111D, - 0x111D, - 0x111D, - 0x111D, + EVENT_OBJ_PAL_TAG_28, + EVENT_OBJ_PAL_TAG_28, + EVENT_OBJ_PAL_TAG_28, + EVENT_OBJ_PAL_TAG_28, }; const struct PairedPalettes gSpecialObjectReflectionPaletteSets[] = { - {4352, gPlayerReflectionPaletteTags}, - {4368, Unknown_0850BCF0}, - {4363, gQuintyPlumpReflectionPaletteTags}, - {4365, gTruckReflectionPaletteTags}, - {4366, gVigorothMoverReflectionPaletteTags}, - {4370, gMovingBoxReflectionPaletteTags}, - {4371, gCableCarReflectionPaletteTags}, - {4372, gSSTidalReflectionPaletteTags}, - {4374, Unknown_0850BD58}, - {4376, Unknown_0850BD60}, - {4357, Unknown_0850BD68}, - {4379, gSubmarineShadowReflectionPaletteTags}, - {4381, gRedLeafReflectionPaletteTags}, - {4607, NULL}, + {EVENT_OBJ_PAL_TAG_8, gPlayerReflectionPaletteTags}, + {EVENT_OBJ_PAL_TAG_17, Unknown_0850BCF0}, + {EVENT_OBJ_PAL_TAG_12, gQuintyPlumpReflectionPaletteTags}, + {EVENT_OBJ_PAL_TAG_14, gTruckReflectionPaletteTags}, + {EVENT_OBJ_PAL_TAG_15, gVigorothMoverReflectionPaletteTags}, + {EVENT_OBJ_PAL_TAG_19, gMovingBoxReflectionPaletteTags}, + {EVENT_OBJ_PAL_TAG_20, gCableCarReflectionPaletteTags}, + {EVENT_OBJ_PAL_TAG_21, gSSTidalReflectionPaletteTags}, + {EVENT_OBJ_PAL_TAG_22, Unknown_0850BD58}, + {EVENT_OBJ_PAL_TAG_24, Unknown_0850BD60}, + {EVENT_OBJ_PAL_TAG_2, Unknown_0850BD68}, + {EVENT_OBJ_PAL_TAG_26, gSubmarineShadowReflectionPaletteTags}, + {EVENT_OBJ_PAL_TAG_28, gRedLeafReflectionPaletteTags}, + {EVENT_OBJ_PAL_TAG_NONE, NULL}, }; const u16 gObjectPaletteTags0[] = { - 0x1100, - 0x1101, - 0x1103, - 0x1104, - 0x1105, - 0x1106, - 0x1107, - 0x1108, - 0x1109, - 0x110A, + EVENT_OBJ_PAL_TAG_8, + EVENT_OBJ_PAL_TAG_9, + EVENT_OBJ_PAL_TAG_0, + EVENT_OBJ_PAL_TAG_1, + EVENT_OBJ_PAL_TAG_2, + EVENT_OBJ_PAL_TAG_3, + EVENT_OBJ_PAL_TAG_4, + EVENT_OBJ_PAL_TAG_5, + EVENT_OBJ_PAL_TAG_6, + EVENT_OBJ_PAL_TAG_7, }; const u16 gObjectPaletteTags1[] = { - 0x1100, - 0x1101, - 0x1103, - 0x1104, - 0x1105, - 0x1106, - 0x1107, - 0x1108, - 0x1109, - 0x110A, + EVENT_OBJ_PAL_TAG_8, + EVENT_OBJ_PAL_TAG_9, + EVENT_OBJ_PAL_TAG_0, + EVENT_OBJ_PAL_TAG_1, + EVENT_OBJ_PAL_TAG_2, + EVENT_OBJ_PAL_TAG_3, + EVENT_OBJ_PAL_TAG_4, + EVENT_OBJ_PAL_TAG_5, + EVENT_OBJ_PAL_TAG_6, + EVENT_OBJ_PAL_TAG_7, }; const u16 gObjectPaletteTags2[] = { - 0x1100, - 0x1101, - 0x1103, - 0x1104, - 0x1105, - 0x1106, - 0x1107, - 0x1108, - 0x1109, - 0x110A, + EVENT_OBJ_PAL_TAG_8, + EVENT_OBJ_PAL_TAG_9, + EVENT_OBJ_PAL_TAG_0, + EVENT_OBJ_PAL_TAG_1, + EVENT_OBJ_PAL_TAG_2, + EVENT_OBJ_PAL_TAG_3, + EVENT_OBJ_PAL_TAG_4, + EVENT_OBJ_PAL_TAG_5, + EVENT_OBJ_PAL_TAG_6, + EVENT_OBJ_PAL_TAG_7, }; const u16 gObjectPaletteTags3[] = { - 0x1100, - 0x1101, - 0x1103, - 0x1104, - 0x1105, - 0x1106, - 0x1107, - 0x1108, - 0x1109, - 0x110A, + EVENT_OBJ_PAL_TAG_8, + EVENT_OBJ_PAL_TAG_9, + EVENT_OBJ_PAL_TAG_0, + EVENT_OBJ_PAL_TAG_1, + EVENT_OBJ_PAL_TAG_2, + EVENT_OBJ_PAL_TAG_3, + EVENT_OBJ_PAL_TAG_4, + EVENT_OBJ_PAL_TAG_5, + EVENT_OBJ_PAL_TAG_6, + EVENT_OBJ_PAL_TAG_7, }; @@ -2082,7 +2119,7 @@ static void sub_808E894(u16 paletteTag) u16 paletteSlot; paletteSlot = FindEventObjectPaletteIndexByTag(paletteTag); - if (paletteSlot != 0x11ff) // always true + if (paletteSlot != EVENT_OBJ_PAL_TAG_NONE) // always true { sub_808E8F4(&sEventObjectSpritePalettes[paletteSlot]); } @@ -2092,7 +2129,7 @@ void sub_808E8C0(u16 *paletteTags) { u8 i; - for (i = 0; paletteTags[i] != 0x11ff; i++) + for (i = 0; paletteTags[i] != EVENT_OBJ_PAL_TAG_NONE; i++) { sub_808E894(paletteTags[i]); } @@ -2129,7 +2166,7 @@ static u8 FindEventObjectPaletteIndexByTag(u16 tag) { u8 i; - for (i = 0; sEventObjectSpritePalettes[i].tag != 0x11ff; i++) + for (i = 0; sEventObjectSpritePalettes[i].tag != EVENT_OBJ_PAL_TAG_NONE; i++) { if (sEventObjectSpritePalettes[i].tag == tag) { @@ -2144,7 +2181,7 @@ void LoadPlayerObjectReflectionPalette(u16 tag, u8 slot) u8 i; PatchObjectPalette(tag, slot); - for (i = 0; gPlayerReflectionPaletteSets[i].tag != 0x11ff; i++) + for (i = 0; gPlayerReflectionPaletteSets[i].tag != EVENT_OBJ_PAL_TAG_NONE; i++) { if (gPlayerReflectionPaletteSets[i].tag == tag) { @@ -2160,7 +2197,7 @@ void LoadSpecialObjectReflectionPalette(u16 tag, u8 slot) sCurrentSpecialObjectPaletteTag = tag; PatchObjectPalette(tag, slot); - for (i = 0; gSpecialObjectReflectionPaletteSets[i].tag != 0x11ff; i++) + for (i = 0; gSpecialObjectReflectionPaletteSets[i].tag != EVENT_OBJ_PAL_TAG_NONE; i++) { if (gSpecialObjectReflectionPaletteSets[i].tag == tag) { @@ -2613,7 +2650,7 @@ void sub_808F28C(u8 localId, u8 mapNum, u8 mapGroup, u8 decorCat) void InitEventObjectPalettes(u8 palSlot) { FreeAndReserveObjectSpritePalettes(); - sCurrentSpecialObjectPaletteTag = 0x11ff; + sCurrentSpecialObjectPaletteTag = EVENT_OBJ_PAL_TAG_NONE; sCurrentReflectionType = palSlot; if (palSlot == 1) { @@ -2634,14 +2671,14 @@ u16 GetObjectPaletteTag(u8 palSlot) { return gObjectPaletteTagSets[sCurrentReflectionType][palSlot]; } - for (i = 0; gSpecialObjectReflectionPaletteSets[i].tag != 0x11ff; i++) + for (i = 0; gSpecialObjectReflectionPaletteSets[i].tag != EVENT_OBJ_PAL_TAG_NONE; i++) { if (gSpecialObjectReflectionPaletteSets[i].tag == sCurrentSpecialObjectPaletteTag) { return gSpecialObjectReflectionPaletteSets[i].data[sCurrentReflectionType]; } } - return 0x11ff; + return EVENT_OBJ_PAL_TAG_NONE; } movement_type_empty_callback(MovementType_None) diff --git a/tools/gbafix/.gitignore b/tools/gbafix/.gitignore index 23abdd29c6..3cebf8ae8d 100644 --- a/tools/gbafix/.gitignore +++ b/tools/gbafix/.gitignore @@ -1 +1,2 @@ gbafix +README From 8827a52aa279869ce46b567e3866518ac682efb4 Mon Sep 17 00:00:00 2001 From: Diegoisawesome <diego@domoreaweso.me> Date: Sat, 8 Sep 2018 02:26:19 -0500 Subject: [PATCH 185/234] Fix makefile rules --- event_obj_graphics_makefile_rules.mk | 801 ++++++++++++++++++++------- 1 file changed, 599 insertions(+), 202 deletions(-) diff --git a/event_obj_graphics_makefile_rules.mk b/event_obj_graphics_makefile_rules.mk index 4496421f24..c7b4ccba46 100644 --- a/event_obj_graphics_makefile_rules.mk +++ b/event_obj_graphics_makefile_rules.mk @@ -1,221 +1,618 @@ OVERWORLDGFXDIR := graphics/event_objects/pics -$(OVERWORLDGFXDIR)/people/brendan/walking.4bpp: $(OVERWORLDGFXDIR)/people/brendan/walking.png +$(OVERWORLDGFXDIR)/people/brendan/walking.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/people/brendan/running.png $(OVERWORLDGFXDIR)/people/brendan/running.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/people/brendan/field_move.png $(OVERWORLDGFXDIR)/people/brendan/field_move.4bpp -mwidth 4 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/people/brendan/surfing.png $(OVERWORLDGFXDIR)/people/brendan/surfing.4bpp -mwidth 4 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/people/brendan/mach_bike.png $(OVERWORLDGFXDIR)/people/brendan/mach_bike.4bpp -mwidth 4 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/people/brendan/acro_bike.png $(OVERWORLDGFXDIR)/people/brendan/acro_bike.4bpp -mwidth 4 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/people/brendan/fishing.png $(OVERWORLDGFXDIR)/people/brendan/fishing.4bpp -mwidth 4 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/people/brendan/watering.png $(OVERWORLDGFXDIR)/people/brendan/watering.4bpp -mwidth 4 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/people/brendan/underwater.png $(OVERWORLDGFXDIR)/people/brendan/underwater.4bpp -mwidth 4 -mheight 4 +$(OVERWORLDGFXDIR)/people/brendan/running.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/people/elite_four/drake.png $(OVERWORLDGFXDIR)/people/elite_four/drake.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/people/elite_four/glacia.png $(OVERWORLDGFXDIR)/people/elite_four/glacia.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/people/elite_four/phoebe.png $(OVERWORLDGFXDIR)/people/elite_four/phoebe.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/people/elite_four/sidney.png $(OVERWORLDGFXDIR)/people/elite_four/sidney.4bpp -mwidth 2 -mheight 4 +$(OVERWORLDGFXDIR)/people/brendan/field_move.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/people/frontier_brains/anabel.png $(OVERWORLDGFXDIR)/people/frontier_brains/anabel.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/people/frontier_brains/brandon.png $(OVERWORLDGFXDIR)/people/frontier_brains/brandon.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/people/frontier_brains/greta.png $(OVERWORLDGFXDIR)/people/frontier_brains/greta.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/people/frontier_brains/lucy.png $(OVERWORLDGFXDIR)/people/frontier_brains/lucy.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/people/frontier_brains/noland.png $(OVERWORLDGFXDIR)/people/frontier_brains/noland.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/people/frontier_brains/spenser.png $(OVERWORLDGFXDIR)/people/frontier_brains/spenser.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/people/frontier_brains/tucker.png $(OVERWORLDGFXDIR)/people/frontier_brains/tucker.4bpp -mwidth 2 -mheight 4 +$(OVERWORLDGFXDIR)/people/brendan/surfing.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/people/gym_leaders/brawly.png $(OVERWORLDGFXDIR)/people/gym_leaders/brawly.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/people/gym_leaders/flannery.png $(OVERWORLDGFXDIR)/people/gym_leaders/flannery.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/people/gym_leaders/juan.png $(OVERWORLDGFXDIR)/people/gym_leaders/juan.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/people/gym_leaders/liza.png $(OVERWORLDGFXDIR)/people/gym_leaders/liza.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/people/gym_leaders/norman.png $(OVERWORLDGFXDIR)/people/gym_leaders/norman.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/people/gym_leaders/roxanne.png $(OVERWORLDGFXDIR)/people/gym_leaders/roxanne.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/people/gym_leaders/tate.png $(OVERWORLDGFXDIR)/people/gym_leaders/tate.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/people/gym_leaders/wattson.png $(OVERWORLDGFXDIR)/people/gym_leaders/wattson.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/people/gym_leaders/winona.png $(OVERWORLDGFXDIR)/people/gym_leaders/winona.4bpp -mwidth 2 -mheight 4 +$(OVERWORLDGFXDIR)/people/brendan/mach_bike.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/people/may/walking.png $(OVERWORLDGFXDIR)/people/may/walking.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/people/may/running.png $(OVERWORLDGFXDIR)/people/may/running.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/people/may/field_move.png $(OVERWORLDGFXDIR)/people/may/field_move.4bpp -mwidth 4 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/people/may/surfing.png $(OVERWORLDGFXDIR)/people/may/surfing.4bpp -mwidth 4 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/people/may/mach_bike.png $(OVERWORLDGFXDIR)/people/may/mach_bike.4bpp -mwidth 4 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/people/may/acro_bike.png $(OVERWORLDGFXDIR)/people/may/acro_bike.4bpp -mwidth 4 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/people/may/fishing.png $(OVERWORLDGFXDIR)/people/may/fishing.4bpp -mwidth 4 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/people/may/watering.png $(OVERWORLDGFXDIR)/people/may/watering.4bpp -mwidth 4 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/people/may/underwater.png $(OVERWORLDGFXDIR)/people/may/underwater.4bpp -mwidth 4 -mheight 4 +$(OVERWORLDGFXDIR)/people/brendan/acro_bike.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/people/ruby_sapphire_brendan/walking.png $(OVERWORLDGFXDIR)/people/ruby_sapphire_brendan/walking.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/people/ruby_sapphire_brendan/running.png $(OVERWORLDGFXDIR)/people/ruby_sapphire_brendan/running.4bpp -mwidth 2 -mheight 4 +$(OVERWORLDGFXDIR)/people/brendan/fishing.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/people/ruby_sapphire_may/walking.png $(OVERWORLDGFXDIR)/people/ruby_sapphire_may/walking.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/people/ruby_sapphire_may/running.png $(OVERWORLDGFXDIR)/people/ruby_sapphire_may/running.4bpp -mwidth 2 -mheight 4 +$(OVERWORLDGFXDIR)/people/brendan/watering.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/people/team_aqua/aqua_member_f.png $(OVERWORLDGFXDIR)/people/team_aqua/aqua_member_f.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/people/team_aqua/aqua_member_m.png $(OVERWORLDGFXDIR)/people/team_aqua/aqua_member_m.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/people/team_aqua/archie.png $(OVERWORLDGFXDIR)/people/team_aqua/archie.4bpp -mwidth 2 -mheight 4 - - $(GFX) $(OVERWORLDGFXDIR)/people/team_magma/magma_member_f.png $(OVERWORLDGFXDIR)/people/team_magma/magma_member_f.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/people/team_magma/magma_member_m.png $(OVERWORLDGFXDIR)/people/team_magma/magma_member_m.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/people/team_magma/maxie.png $(OVERWORLDGFXDIR)/people/team_magma/maxie.4bpp -mwidth 2 -mheight 4 - - $(GFX) $(OVERWORLDGFXDIR)/people/artist.png $(OVERWORLDGFXDIR)/people/artist.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/people/beauty.png $(OVERWORLDGFXDIR)/people/beauty.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/people/black_belt.png $(OVERWORLDGFXDIR)/people/black_belt.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/people/boy_1.png $(OVERWORLDGFXDIR)/people/boy_1.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/people/boy_2.png $(OVERWORLDGFXDIR)/people/boy_2.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/people/boy_3.png $(OVERWORLDGFXDIR)/people/boy_3.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/people/boy_4.png $(OVERWORLDGFXDIR)/people/boy_4.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/people/boy_5.png $(OVERWORLDGFXDIR)/people/boy_5.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/people/bug_catcher.png $(OVERWORLDGFXDIR)/people/bug_catcher.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/people/cameraman.png $(OVERWORLDGFXDIR)/people/cameraman.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/people/camper.png $(OVERWORLDGFXDIR)/people/camper.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/people/contest_old_man.png $(OVERWORLDGFXDIR)/people/contest_old_man.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/people/cook.png $(OVERWORLDGFXDIR)/people/cook.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/people/cycling_triathlete_f.png $(OVERWORLDGFXDIR)/people/cycling_triathlete_f.4bpp -mwidth 4 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/people/cycling_triathlete_m.png $(OVERWORLDGFXDIR)/people/cycling_triathlete_m.4bpp -mwidth 4 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/people/fat_man.png $(OVERWORLDGFXDIR)/people/fat_man.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/people/fisherman.png $(OVERWORLDGFXDIR)/people/fisherman.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/people/gentleman.png $(OVERWORLDGFXDIR)/people/gentleman.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/people/girl_1.png $(OVERWORLDGFXDIR)/people/girl_1.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/people/girl_2.png $(OVERWORLDGFXDIR)/people/girl_2.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/people/girl_3.png $(OVERWORLDGFXDIR)/people/girl_3.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/people/hex_maniac.png $(OVERWORLDGFXDIR)/people/hex_maniac.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/people/hiker.png $(OVERWORLDGFXDIR)/people/hiker.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/people/hot_springs_old_woman.png $(OVERWORLDGFXDIR)/people/hot_springs_old_woman.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/people/lass.png $(OVERWORLDGFXDIR)/people/lass.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/people/leaf.png $(OVERWORLDGFXDIR)/people/leaf.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/people/little_boy_1.png $(OVERWORLDGFXDIR)/people/little_boy_1.4bpp -mwidth 2 -mheight 2 - $(GFX) $(OVERWORLDGFXDIR)/people/little_boy_2.png $(OVERWORLDGFXDIR)/people/little_boy_2.4bpp -mwidth 2 -mheight 2 - $(GFX) $(OVERWORLDGFXDIR)/people/little_girl_1.png $(OVERWORLDGFXDIR)/people/little_girl_1.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/people/little_girl_2.png $(OVERWORLDGFXDIR)/people/little_girl_2.4bpp -mwidth 2 -mheight 2 - $(GFX) $(OVERWORLDGFXDIR)/people/man_1.png $(OVERWORLDGFXDIR)/people/man_1.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/people/man_2.png $(OVERWORLDGFXDIR)/people/man_2.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/people/man_3.png $(OVERWORLDGFXDIR)/people/man_3.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/people/man_4.png $(OVERWORLDGFXDIR)/people/man_4.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/people/man_5.png $(OVERWORLDGFXDIR)/people/man_5.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/people/man_6.png $(OVERWORLDGFXDIR)/people/man_6.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/people/man_7.png $(OVERWORLDGFXDIR)/people/man_7.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/people/maniac.png $(OVERWORLDGFXDIR)/people/maniac.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/people/mart_employee.png $(OVERWORLDGFXDIR)/people/mart_employee.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/people/mauville_old_man_1.png $(OVERWORLDGFXDIR)/people/mauville_old_man_1.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/people/mauville_old_man_2.png $(OVERWORLDGFXDIR)/people/mauville_old_man_2.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/people/mom.png $(OVERWORLDGFXDIR)/people/mom.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/people/mystery_event_deliveryman.png $(OVERWORLDGFXDIR)/people/mystery_event_deliveryman.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/people/nurse.png $(OVERWORLDGFXDIR)/people/nurse.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/people/old_man_1.png $(OVERWORLDGFXDIR)/people/old_man_1.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/people/old_man_2.png $(OVERWORLDGFXDIR)/people/old_man_2.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/people/old_woman_1.png $(OVERWORLDGFXDIR)/people/old_woman_1.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/people/old_woman_2.png $(OVERWORLDGFXDIR)/people/old_woman_2.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/people/picnicker.png $(OVERWORLDGFXDIR)/people/picnicker.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/people/prof_birch.png $(OVERWORLDGFXDIR)/people/prof_birch.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/people/psychic_m.png $(OVERWORLDGFXDIR)/people/psychic_m.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/people/quinty_plump.png $(OVERWORLDGFXDIR)/people/quinty_plump.4bpp -mwidth 4 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/people/red.png $(OVERWORLDGFXDIR)/people/red.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/people/reporter_f.png $(OVERWORLDGFXDIR)/people/reporter_f.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/people/reporter_m.png $(OVERWORLDGFXDIR)/people/reporter_m.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/people/rooftop_sale_woman.png $(OVERWORLDGFXDIR)/people/rooftop_sale_woman.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/people/rs_little_boy.png $(OVERWORLDGFXDIR)/people/rs_little_boy.4bpp -mwidth 2 -mheight 2 - $(GFX) $(OVERWORLDGFXDIR)/people/running_triathlete_f.png $(OVERWORLDGFXDIR)/people/running_triathlete_f.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/people/running_triathlete_m.png $(OVERWORLDGFXDIR)/people/running_triathlete_m.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/people/sailor.png $(OVERWORLDGFXDIR)/people/sailor.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/people/school_kid_m.png $(OVERWORLDGFXDIR)/people/school_kid_m.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/people/scientist_1.png $(OVERWORLDGFXDIR)/people/scientist_1.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/people/scientist_2.png $(OVERWORLDGFXDIR)/people/scientist_2.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/people/scott.png $(OVERWORLDGFXDIR)/people/scott.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/people/steven.png $(OVERWORLDGFXDIR)/people/steven.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/people/swimmer_f.png $(OVERWORLDGFXDIR)/people/swimmer_f.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/people/swimmer_m.png $(OVERWORLDGFXDIR)/people/swimmer_m.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/people/teala.png $(OVERWORLDGFXDIR)/people/teala.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/people/tuber_f.png $(OVERWORLDGFXDIR)/people/tuber_f.4bpp -mwidth 2 -mheight 2 - $(GFX) $(OVERWORLDGFXDIR)/people/tuber_m.png $(OVERWORLDGFXDIR)/people/tuber_m.4bpp -mwidth 2 -mheight 2 - $(GFX) $(OVERWORLDGFXDIR)/people/tuber_m_swimming.png $(OVERWORLDGFXDIR)/people/tuber_m_swimming.4bpp -mwidth 2 -mheight 2 - $(GFX) $(OVERWORLDGFXDIR)/people/union_room_attendant.png $(OVERWORLDGFXDIR)/people/union_room_attendant.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/people/unused_woman.png $(OVERWORLDGFXDIR)/people/unused_woman.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/people/wallace.png $(OVERWORLDGFXDIR)/people/wallace.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/people/wally.png $(OVERWORLDGFXDIR)/people/wally.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/people/woman_1.png $(OVERWORLDGFXDIR)/people/woman_1.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/people/woman_2.png $(OVERWORLDGFXDIR)/people/woman_2.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/people/woman_3.png $(OVERWORLDGFXDIR)/people/woman_3.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/people/woman_4.png $(OVERWORLDGFXDIR)/people/woman_4.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/people/woman_5.png $(OVERWORLDGFXDIR)/people/woman_5.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/people/woman_6.png $(OVERWORLDGFXDIR)/people/woman_6.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/people/woman_7.png $(OVERWORLDGFXDIR)/people/woman_7.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/people/youngster.png $(OVERWORLDGFXDIR)/people/youngster.4bpp -mwidth 2 -mheight 4 +$(OVERWORLDGFXDIR)/people/brendan/underwater.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/pokemon/azumarill.png $(OVERWORLDGFXDIR)/pokemon/azumarill.4bpp -mwidth 2 -mheight 2 - $(GFX) $(OVERWORLDGFXDIR)/pokemon/azurill.png $(OVERWORLDGFXDIR)/pokemon/azurill.4bpp -mwidth 2 -mheight 2 - $(GFX) $(OVERWORLDGFXDIR)/pokemon/deoxys.png $(OVERWORLDGFXDIR)/pokemon/deoxys.4bpp -mwidth 4 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/pokemon/dusclops.png $(OVERWORLDGFXDIR)/pokemon/dusclops.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/pokemon/enemy_zigzagoon.png $(OVERWORLDGFXDIR)/pokemon/enemy_zigzagoon.4bpp -mwidth 4 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/pokemon/groudon.png $(OVERWORLDGFXDIR)/pokemon/groudon.4bpp -mwidth 4 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/pokemon/ho_oh.png $(OVERWORLDGFXDIR)/pokemon/ho_oh.4bpp -mwidth 4 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/pokemon/kecleon.png $(OVERWORLDGFXDIR)/pokemon/kecleon.4bpp -mwidth 2 -mheight 2 - $(GFX) $(OVERWORLDGFXDIR)/pokemon/kirlia.png $(OVERWORLDGFXDIR)/pokemon/kirlia.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/pokemon/kyogre.png $(OVERWORLDGFXDIR)/pokemon/kyogre.4bpp -mwidth 4 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/pokemon/latias_latios.png $(OVERWORLDGFXDIR)/pokemon/latias_latios.4bpp -mwidth 4 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/pokemon/lugia.png $(OVERWORLDGFXDIR)/pokemon/lugia.4bpp -mwidth 4 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/pokemon/mew.png $(OVERWORLDGFXDIR)/pokemon/mew.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/pokemon/pikachu.png $(OVERWORLDGFXDIR)/pokemon/pikachu.4bpp -mwidth 2 -mheight 2 - $(GFX) $(OVERWORLDGFXDIR)/pokemon/poochyena.png $(OVERWORLDGFXDIR)/pokemon/poochyena.4bpp -mwidth 4 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/pokemon/rayquaza.png $(OVERWORLDGFXDIR)/pokemon/rayquaza.4bpp -mwidth 8 -mheight 8 - $(GFX) $(OVERWORLDGFXDIR)/pokemon/skitty.png $(OVERWORLDGFXDIR)/pokemon/skitty.4bpp -mwidth 2 -mheight 2 - $(GFX) $(OVERWORLDGFXDIR)/pokemon/sudowoodo.png $(OVERWORLDGFXDIR)/pokemon/sudowoodo.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/pokemon/vigoroth.png $(OVERWORLDGFXDIR)/pokemon/vigoroth.4bpp -mwidth 4 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/pokemon/wingull.png $(OVERWORLDGFXDIR)/pokemon/wingull.4bpp -mwidth 2 -mheight 2 - $(GFX) $(OVERWORLDGFXDIR)/pokemon/zigzagoon.png $(OVERWORLDGFXDIR)/pokemon/zigzagoon.4bpp -mwidth 2 -mheight 2 +$(OVERWORLDGFXDIR)/people/elite_four/drake.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/people/elite_four/glacia.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/people/elite_four/phoebe.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/people/elite_four/sidney.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/berry_trees/aguav.png $(OVERWORLDGFXDIR)/berry_trees/aguav.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/berry_trees/aspear.png $(OVERWORLDGFXDIR)/berry_trees/aspear.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/berry_trees/cheri.png $(OVERWORLDGFXDIR)/berry_trees/cheri.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/berry_trees/chesto.png $(OVERWORLDGFXDIR)/berry_trees/chesto.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/berry_trees/cornn.png $(OVERWORLDGFXDIR)/berry_trees/cornn.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/berry_trees/durin.png $(OVERWORLDGFXDIR)/berry_trees/durin.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/berry_trees/figy.png $(OVERWORLDGFXDIR)/berry_trees/figy.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/berry_trees/grepa.png $(OVERWORLDGFXDIR)/berry_trees/grepa.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/berry_trees/hondew.png $(OVERWORLDGFXDIR)/berry_trees/hondew.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/berry_trees/iapapa.png $(OVERWORLDGFXDIR)/berry_trees/iapapa.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/berry_trees/kelpsy.png $(OVERWORLDGFXDIR)/berry_trees/kelpsy.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/berry_trees/lansat.png $(OVERWORLDGFXDIR)/berry_trees/lansat.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/berry_trees/leppa.png $(OVERWORLDGFXDIR)/berry_trees/leppa.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/berry_trees/liechi.png $(OVERWORLDGFXDIR)/berry_trees/liechi.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/berry_trees/lum.png $(OVERWORLDGFXDIR)/berry_trees/lum.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/berry_trees/mago.png $(OVERWORLDGFXDIR)/berry_trees/mago.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/berry_trees/nomel.png $(OVERWORLDGFXDIR)/berry_trees/nomel.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/berry_trees/oran.png $(OVERWORLDGFXDIR)/berry_trees/oran.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/berry_trees/pamtre.png $(OVERWORLDGFXDIR)/berry_trees/pamtre.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/berry_trees/pecha.png $(OVERWORLDGFXDIR)/berry_trees/pecha.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/berry_trees/persim.png $(OVERWORLDGFXDIR)/berry_trees/persim.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/berry_trees/pomeg.png $(OVERWORLDGFXDIR)/berry_trees/pomeg.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/berry_trees/rabuta.png $(OVERWORLDGFXDIR)/berry_trees/rabuta.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/berry_trees/rawst.png $(OVERWORLDGFXDIR)/berry_trees/rawst.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/berry_trees/razz.png $(OVERWORLDGFXDIR)/berry_trees/razz.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/berry_trees/sitrus.png $(OVERWORLDGFXDIR)/berry_trees/sitrus.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/berry_trees/spelon.png $(OVERWORLDGFXDIR)/berry_trees/spelon.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/berry_trees/sprout.png $(OVERWORLDGFXDIR)/berry_trees/sprout.4bpp -mwidth 2 -mheight 2 - $(GFX) $(OVERWORLDGFXDIR)/berry_trees/tamato.png $(OVERWORLDGFXDIR)/berry_trees/tamato.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/berry_trees/wepear.png $(OVERWORLDGFXDIR)/berry_trees/wepear.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/berry_trees/wiki.png $(OVERWORLDGFXDIR)/berry_trees/wiki.4bpp -mwidth 2 -mheight 4 +$(OVERWORLDGFXDIR)/people/frontier_brains/anabel.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/people/frontier_brains/brandon.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/people/frontier_brains/greta.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/people/frontier_brains/lucy.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/people/frontier_brains/noland.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/people/frontier_brains/spenser.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/people/frontier_brains/tucker.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/misc/breakable_rock.png $(OVERWORLDGFXDIR)/misc/breakable_rock.4bpp -mwidth 2 -mheight 2 - $(GFX) $(OVERWORLDGFXDIR)/misc/cuttable_tree.png $(OVERWORLDGFXDIR)/misc/cuttable_tree.4bpp -mwidth 2 -mheight 2 - $(GFX) $(OVERWORLDGFXDIR)/misc/mr_brineys_boat.png $(OVERWORLDGFXDIR)/misc/mr_brineys_boat.4bpp -mwidth 4 -mheight 4 +$(OVERWORLDGFXDIR)/people/gym_leaders/brawly.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/people/gym_leaders/flannery.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/people/gym_leaders/juan.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/people/gym_leaders/liza.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/people/gym_leaders/norman.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/people/gym_leaders/roxanne.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/people/gym_leaders/tate.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/people/gym_leaders/wattson.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/people/gym_leaders/winona.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/effects/arrow.png $(OVERWORLDGFXDIR)/effects/arrow.4bpp -mwidth 2 -mheight 2 - $(GFX) $(OVERWORLDGFXDIR)/effects/ash.png $(OVERWORLDGFXDIR)/effects/ash.4bpp -mwidth 2 -mheight 2 - $(GFX) $(OVERWORLDGFXDIR)/effects/bike_hop_big_splash.png $(OVERWORLDGFXDIR)/effects/bike_hop_big_splash.4bpp -mwidth 2 -mheight 2 - $(GFX) $(OVERWORLDGFXDIR)/effects/bike_hop_small_splash.png $(OVERWORLDGFXDIR)/effects/bike_hop_small_splash.4bpp -mwidth 2 -mheight 1 - $(GFX) $(OVERWORLDGFXDIR)/effects/bubbles.png $(OVERWORLDGFXDIR)/effects/bubbles.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/effects/jump_out_of_ash.png $(OVERWORLDGFXDIR)/effects/jump_out_of_ash.4bpp -mwidth 2 -mheight 2 - $(GFX) $(OVERWORLDGFXDIR)/effects/mountain_disguise.png $(OVERWORLDGFXDIR)/effects/mountain_disguise.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/effects/ripple.png $(OVERWORLDGFXDIR)/effects/ripple.4bpp -mwidth 2 -mheight 2 - $(GFX) $(OVERWORLDGFXDIR)/effects/sand_disguise_placeholder.png $(OVERWORLDGFXDIR)/effects/sand_disguise_placeholder.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/effects/short_grass.png $(OVERWORLDGFXDIR)/effects/short_grass.4bpp -mwidth 2 -mheight 2 - $(GFX) $(OVERWORLDGFXDIR)/effects/surf_blob.png $(OVERWORLDGFXDIR)/effects/surf_blob.4bpp -mwidth 4 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/effects/tall_grass.png $(OVERWORLDGFXDIR)/effects/tall_grass.4bpp -mwidth 2 -mheight 2 - $(GFX) $(OVERWORLDGFXDIR)/effects/tree_disguise.png $(OVERWORLDGFXDIR)/effects/tree_disguise.4bpp -mwidth 2 -mheight 4 - $(GFX) $(OVERWORLDGFXDIR)/effects/unknown_17.png $(OVERWORLDGFXDIR)/effects/unknown_17.4bpp -mwidth 2 -mheight 2 +$(OVERWORLDGFXDIR)/people/may/walking.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/people/may/running.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/people/may/field_move.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OVERWORLDGFXDIR)/people/may/surfing.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OVERWORLDGFXDIR)/people/may/mach_bike.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OVERWORLDGFXDIR)/people/may/acro_bike.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OVERWORLDGFXDIR)/people/may/fishing.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OVERWORLDGFXDIR)/people/may/watering.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OVERWORLDGFXDIR)/people/may/underwater.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + + +$(OVERWORLDGFXDIR)/people/ruby_sapphire_brendan/walking.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/people/ruby_sapphire_brendan/running.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + + +$(OVERWORLDGFXDIR)/people/ruby_sapphire_may/walking.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/people/ruby_sapphire_may/running.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + + +$(OVERWORLDGFXDIR)/people/team_aqua/aqua_member_f.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/people/team_aqua/aqua_member_m.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/people/team_aqua/archie.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + + +$(OVERWORLDGFXDIR)/people/team_magma/magma_member_f.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/people/team_magma/magma_member_m.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/people/team_magma/maxie.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + + +$(OVERWORLDGFXDIR)/people/artist.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/people/beauty.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/people/black_belt.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/people/boy_1.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/people/boy_2.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/people/boy_3.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/people/boy_4.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/people/boy_5.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/people/bug_catcher.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/people/cameraman.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/people/camper.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/people/contest_old_man.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/people/cook.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/people/cycling_triathlete_f.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OVERWORLDGFXDIR)/people/cycling_triathlete_m.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OVERWORLDGFXDIR)/people/fat_man.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/people/fisherman.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/people/gentleman.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/people/girl_1.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/people/girl_2.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/people/girl_3.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/people/hex_maniac.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/people/hiker.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/people/hot_springs_old_woman.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/people/lass.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/people/leaf.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/people/little_boy_1.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 2 + +$(OVERWORLDGFXDIR)/people/little_boy_2.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 2 + +$(OVERWORLDGFXDIR)/people/little_girl_1.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/people/little_girl_2.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 2 + +$(OVERWORLDGFXDIR)/people/man_1.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/people/man_2.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/people/man_3.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/people/man_4.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/people/man_5.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/people/man_6.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/people/man_7.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/people/maniac.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/people/mart_employee.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/people/mauville_old_man_1.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/people/mauville_old_man_2.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/people/mom.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/people/mystery_event_deliveryman.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/people/nurse.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/people/old_man_1.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/people/old_man_2.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/people/old_woman_1.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/people/old_woman_2.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/people/picnicker.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/people/prof_birch.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/people/psychic_m.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/people/quinty_plump.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OVERWORLDGFXDIR)/people/red.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/people/reporter_f.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/people/reporter_m.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/people/rooftop_sale_woman.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/people/rs_little_boy.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 2 + +$(OVERWORLDGFXDIR)/people/running_triathlete_f.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/people/running_triathlete_m.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/people/sailor.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/people/school_kid_m.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/people/scientist_1.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/people/scientist_2.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/people/scott.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/people/steven.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/people/swimmer_f.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/people/swimmer_m.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/people/teala.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/people/tuber_f.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 2 + +$(OVERWORLDGFXDIR)/people/tuber_m.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 2 + +$(OVERWORLDGFXDIR)/people/tuber_m_swimming.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 2 + +$(OVERWORLDGFXDIR)/people/union_room_attendant.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/people/unused_woman.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/people/wallace.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/people/wally.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/people/woman_1.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/people/woman_2.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/people/woman_3.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/people/woman_4.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/people/woman_5.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/people/woman_6.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/people/woman_7.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/people/youngster.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + + + +$(OVERWORLDGFXDIR)/pokemon/azumarill.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 2 + +$(OVERWORLDGFXDIR)/pokemon/azurill.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 2 + +$(OVERWORLDGFXDIR)/pokemon/deoxys.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OVERWORLDGFXDIR)/pokemon/dusclops.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/pokemon/enemy_zigzagoon.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OVERWORLDGFXDIR)/pokemon/groudon.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OVERWORLDGFXDIR)/pokemon/ho_oh.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OVERWORLDGFXDIR)/pokemon/kecleon.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 2 + +$(OVERWORLDGFXDIR)/pokemon/kirlia.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/pokemon/kyogre.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OVERWORLDGFXDIR)/pokemon/latias_latios.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OVERWORLDGFXDIR)/pokemon/lugia.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OVERWORLDGFXDIR)/pokemon/mew.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/pokemon/pikachu.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 2 + +$(OVERWORLDGFXDIR)/pokemon/poochyena.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OVERWORLDGFXDIR)/pokemon/rayquaza.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 8 -mheight 8 + +$(OVERWORLDGFXDIR)/pokemon/skitty.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 2 + +$(OVERWORLDGFXDIR)/pokemon/sudowoodo.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/pokemon/vigoroth.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OVERWORLDGFXDIR)/pokemon/wingull.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 2 + +$(OVERWORLDGFXDIR)/pokemon/zigzagoon.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 2 + + + +$(OVERWORLDGFXDIR)/berry_trees/aguav.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/berry_trees/aspear.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/berry_trees/cheri.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/berry_trees/chesto.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/berry_trees/cornn.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/berry_trees/durin.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/berry_trees/figy.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/berry_trees/grepa.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/berry_trees/hondew.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/berry_trees/iapapa.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/berry_trees/kelpsy.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/berry_trees/lansat.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/berry_trees/leppa.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/berry_trees/liechi.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/berry_trees/lum.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/berry_trees/mago.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/berry_trees/nomel.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/berry_trees/oran.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/berry_trees/pamtre.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/berry_trees/pecha.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/berry_trees/persim.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/berry_trees/pomeg.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/berry_trees/rabuta.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/berry_trees/rawst.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/berry_trees/razz.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/berry_trees/sitrus.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/berry_trees/spelon.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/berry_trees/sprout.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 2 + +$(OVERWORLDGFXDIR)/berry_trees/tamato.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/berry_trees/wepear.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/berry_trees/wiki.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + + + +$(OVERWORLDGFXDIR)/misc/breakable_rock.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 2 + +$(OVERWORLDGFXDIR)/misc/cuttable_tree.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 2 + +$(OVERWORLDGFXDIR)/misc/mr_brineys_boat.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + + + +$(OVERWORLDGFXDIR)/effects/arrow.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 2 + +$(OVERWORLDGFXDIR)/effects/ash.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 2 + +$(OVERWORLDGFXDIR)/effects/bike_hop_big_splash.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 2 + +$(OVERWORLDGFXDIR)/effects/bike_hop_small_splash.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 1 + +$(OVERWORLDGFXDIR)/effects/bubbles.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/effects/jump_out_of_ash.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 2 + +$(OVERWORLDGFXDIR)/effects/mountain_disguise.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/effects/ripple.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 2 + +$(OVERWORLDGFXDIR)/effects/sand_disguise_placeholder.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/effects/short_grass.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 2 + +$(OVERWORLDGFXDIR)/effects/surf_blob.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(OVERWORLDGFXDIR)/effects/tall_grass.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 2 + +$(OVERWORLDGFXDIR)/effects/tree_disguise.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(OVERWORLDGFXDIR)/effects/unknown_17.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 2 From e1834c9d7bc961f872169e056b788fec04f39867 Mon Sep 17 00:00:00 2001 From: Diegoisawesome <diego@domoreaweso.me> Date: Sat, 8 Sep 2018 03:07:44 -0500 Subject: [PATCH 186/234] Change overworld_frame macro to use tiles --- include/sprite.h | 2 +- .../berry_tree_graphics_tables.h | 540 ++-- .../field_event_obj/event_object_pic_tables.h | 2840 ++++++++--------- .../field_event_obj/field_effect_objects.h | 160 +- 4 files changed, 1771 insertions(+), 1771 deletions(-) diff --git a/include/sprite.h b/include/sprite.h index 6270511c90..26263737b1 100644 --- a/include/sprite.h +++ b/include/sprite.h @@ -26,7 +26,7 @@ struct SpriteFrameImage #define obj_frame_tiles(ptr) {.data = (u8 *)ptr, .size = sizeof ptr} -#define overworld_frame(ptr, width, height, frame) {.data = (u8 *)ptr + (width * height * frame)/2, .size = (width * height)/2} +#define overworld_frame(ptr, width, height, frame) {.data = (u8 *)ptr + (width * height * frame * 64)/2, .size = (width * height * 64)/2} struct SpritePalette { diff --git a/src/data/field_event_obj/berry_tree_graphics_tables.h b/src/data/field_event_obj/berry_tree_graphics_tables.h index 679a0e5a57..beb59974f7 100755 --- a/src/data/field_event_obj/berry_tree_graphics_tables.h +++ b/src/data/field_event_obj/berry_tree_graphics_tables.h @@ -2,421 +2,421 @@ #define GUARD_BERRY_TREE_GRAPHICS_TABLES_H const struct SpriteFrameImage gEventObjectPicTable_PechaBerryTree[] = { - overworld_frame(gEventObjectPic_BerryTreeDirtPile, 16, 16, 0), - overworld_frame(gEventObjectPic_BerryTreeSprout, 16, 16, 0), - overworld_frame(gEventObjectPic_BerryTreeSprout, 16, 16, 1), - overworld_frame(gEventObjectPic_PechaBerryTree, 16, 32, 0), - overworld_frame(gEventObjectPic_PechaBerryTree, 16, 32, 1), - overworld_frame(gEventObjectPic_PechaBerryTree, 16, 32, 2), - overworld_frame(gEventObjectPic_PechaBerryTree, 16, 32, 3), - overworld_frame(gEventObjectPic_PechaBerryTree, 16, 32, 4), - overworld_frame(gEventObjectPic_PechaBerryTree, 16, 32, 5), + overworld_frame(gEventObjectPic_BerryTreeDirtPile, 2, 2, 0), + overworld_frame(gEventObjectPic_BerryTreeSprout, 2, 2, 0), + overworld_frame(gEventObjectPic_BerryTreeSprout, 2, 2, 1), + overworld_frame(gEventObjectPic_PechaBerryTree, 2, 4, 0), + overworld_frame(gEventObjectPic_PechaBerryTree, 2, 4, 1), + overworld_frame(gEventObjectPic_PechaBerryTree, 2, 4, 2), + overworld_frame(gEventObjectPic_PechaBerryTree, 2, 4, 3), + overworld_frame(gEventObjectPic_PechaBerryTree, 2, 4, 4), + overworld_frame(gEventObjectPic_PechaBerryTree, 2, 4, 5), }; const u8 gBerryTreePaletteSlotTable_Pecha[] = {3, 4, 4, 4, 4}; const struct SpriteFrameImage gEventObjectPicTable_KelpsyBerryTree[] = { - overworld_frame(gEventObjectPic_BerryTreeDirtPile, 16, 16, 0), - overworld_frame(gEventObjectPic_BerryTreeSprout, 16, 16, 0), - overworld_frame(gEventObjectPic_BerryTreeSprout, 16, 16, 1), - overworld_frame(gEventObjectPic_KelpsyBerryTree, 16, 32, 0), - overworld_frame(gEventObjectPic_KelpsyBerryTree, 16, 32, 1), - overworld_frame(gEventObjectPic_KelpsyBerryTree, 16, 32, 2), - overworld_frame(gEventObjectPic_KelpsyBerryTree, 16, 32, 3), - overworld_frame(gEventObjectPic_KelpsyBerryTree, 16, 32, 4), - overworld_frame(gEventObjectPic_KelpsyBerryTree, 16, 32, 5), + overworld_frame(gEventObjectPic_BerryTreeDirtPile, 2, 2, 0), + overworld_frame(gEventObjectPic_BerryTreeSprout, 2, 2, 0), + overworld_frame(gEventObjectPic_BerryTreeSprout, 2, 2, 1), + overworld_frame(gEventObjectPic_KelpsyBerryTree, 2, 4, 0), + overworld_frame(gEventObjectPic_KelpsyBerryTree, 2, 4, 1), + overworld_frame(gEventObjectPic_KelpsyBerryTree, 2, 4, 2), + overworld_frame(gEventObjectPic_KelpsyBerryTree, 2, 4, 3), + overworld_frame(gEventObjectPic_KelpsyBerryTree, 2, 4, 4), + overworld_frame(gEventObjectPic_KelpsyBerryTree, 2, 4, 5), }; const u8 gBerryTreePaletteSlotTable_Kelpsy[] = {3, 4, 2, 2, 2}; const struct SpriteFrameImage gEventObjectPicTable_WepearBerryTree[] = { - overworld_frame(gEventObjectPic_BerryTreeDirtPile, 16, 16, 0), - overworld_frame(gEventObjectPic_BerryTreeSprout, 16, 16, 0), - overworld_frame(gEventObjectPic_BerryTreeSprout, 16, 16, 1), - overworld_frame(gEventObjectPic_WepearBerryTree, 16, 32, 0), - overworld_frame(gEventObjectPic_WepearBerryTree, 16, 32, 1), - overworld_frame(gEventObjectPic_WepearBerryTree, 16, 32, 2), - overworld_frame(gEventObjectPic_WepearBerryTree, 16, 32, 3), - overworld_frame(gEventObjectPic_WepearBerryTree, 16, 32, 4), - overworld_frame(gEventObjectPic_WepearBerryTree, 16, 32, 5), + overworld_frame(gEventObjectPic_BerryTreeDirtPile, 2, 2, 0), + overworld_frame(gEventObjectPic_BerryTreeSprout, 2, 2, 0), + overworld_frame(gEventObjectPic_BerryTreeSprout, 2, 2, 1), + overworld_frame(gEventObjectPic_WepearBerryTree, 2, 4, 0), + overworld_frame(gEventObjectPic_WepearBerryTree, 2, 4, 1), + overworld_frame(gEventObjectPic_WepearBerryTree, 2, 4, 2), + overworld_frame(gEventObjectPic_WepearBerryTree, 2, 4, 3), + overworld_frame(gEventObjectPic_WepearBerryTree, 2, 4, 4), + overworld_frame(gEventObjectPic_WepearBerryTree, 2, 4, 5), }; const u8 gBerryTreePaletteSlotTable_Wepear[] = {3, 4, 2, 2, 2}; const struct SpriteFrameImage gEventObjectPicTable_IapapaBerryTree[] = { - overworld_frame(gEventObjectPic_BerryTreeDirtPile, 16, 16, 0), - overworld_frame(gEventObjectPic_BerryTreeSprout, 16, 16, 0), - overworld_frame(gEventObjectPic_BerryTreeSprout, 16, 16, 1), - overworld_frame(gEventObjectPic_IapapaBerryTree, 16, 32, 0), - overworld_frame(gEventObjectPic_IapapaBerryTree, 16, 32, 1), - overworld_frame(gEventObjectPic_IapapaBerryTree, 16, 32, 2), - overworld_frame(gEventObjectPic_IapapaBerryTree, 16, 32, 3), - overworld_frame(gEventObjectPic_IapapaBerryTree, 16, 32, 4), - overworld_frame(gEventObjectPic_IapapaBerryTree, 16, 32, 5), + overworld_frame(gEventObjectPic_BerryTreeDirtPile, 2, 2, 0), + overworld_frame(gEventObjectPic_BerryTreeSprout, 2, 2, 0), + overworld_frame(gEventObjectPic_BerryTreeSprout, 2, 2, 1), + overworld_frame(gEventObjectPic_IapapaBerryTree, 2, 4, 0), + overworld_frame(gEventObjectPic_IapapaBerryTree, 2, 4, 1), + overworld_frame(gEventObjectPic_IapapaBerryTree, 2, 4, 2), + overworld_frame(gEventObjectPic_IapapaBerryTree, 2, 4, 3), + overworld_frame(gEventObjectPic_IapapaBerryTree, 2, 4, 4), + overworld_frame(gEventObjectPic_IapapaBerryTree, 2, 4, 5), }; const u8 gBerryTreePaletteSlotTable_Iapapa[] = {3, 4, 3, 3, 3}; const struct SpriteFrameImage gEventObjectPicTable_CheriBerryTree[] = { - overworld_frame(gEventObjectPic_BerryTreeDirtPile, 16, 16, 0), - overworld_frame(gEventObjectPic_BerryTreeSprout, 16, 16, 0), - overworld_frame(gEventObjectPic_BerryTreeSprout, 16, 16, 1), - overworld_frame(gEventObjectPic_CheriBerryTree, 16, 32, 0), - overworld_frame(gEventObjectPic_CheriBerryTree, 16, 32, 1), - overworld_frame(gEventObjectPic_CheriBerryTree, 16, 32, 2), - overworld_frame(gEventObjectPic_CheriBerryTree, 16, 32, 3), - overworld_frame(gEventObjectPic_CheriBerryTree, 16, 32, 4), - overworld_frame(gEventObjectPic_CheriBerryTree, 16, 32, 5), + overworld_frame(gEventObjectPic_BerryTreeDirtPile, 2, 2, 0), + overworld_frame(gEventObjectPic_BerryTreeSprout, 2, 2, 0), + overworld_frame(gEventObjectPic_BerryTreeSprout, 2, 2, 1), + overworld_frame(gEventObjectPic_CheriBerryTree, 2, 4, 0), + overworld_frame(gEventObjectPic_CheriBerryTree, 2, 4, 1), + overworld_frame(gEventObjectPic_CheriBerryTree, 2, 4, 2), + overworld_frame(gEventObjectPic_CheriBerryTree, 2, 4, 3), + overworld_frame(gEventObjectPic_CheriBerryTree, 2, 4, 4), + overworld_frame(gEventObjectPic_CheriBerryTree, 2, 4, 5), }; const u8 gBerryTreePaletteSlotTable_Cheri[] = {3, 4, 4, 4, 4}; const struct SpriteFrameImage gEventObjectPicTable_FigyBerryTree[] = { - overworld_frame(gEventObjectPic_BerryTreeDirtPile, 16, 16, 0), - overworld_frame(gEventObjectPic_BerryTreeSprout, 16, 16, 0), - overworld_frame(gEventObjectPic_BerryTreeSprout, 16, 16, 1), - overworld_frame(gEventObjectPic_FigyBerryTree, 16, 32, 0), - overworld_frame(gEventObjectPic_FigyBerryTree, 16, 32, 1), - overworld_frame(gEventObjectPic_FigyBerryTree, 16, 32, 2), - overworld_frame(gEventObjectPic_FigyBerryTree, 16, 32, 3), - overworld_frame(gEventObjectPic_FigyBerryTree, 16, 32, 4), - overworld_frame(gEventObjectPic_FigyBerryTree, 16, 32, 5), + overworld_frame(gEventObjectPic_BerryTreeDirtPile, 2, 2, 0), + overworld_frame(gEventObjectPic_BerryTreeSprout, 2, 2, 0), + overworld_frame(gEventObjectPic_BerryTreeSprout, 2, 2, 1), + overworld_frame(gEventObjectPic_FigyBerryTree, 2, 4, 0), + overworld_frame(gEventObjectPic_FigyBerryTree, 2, 4, 1), + overworld_frame(gEventObjectPic_FigyBerryTree, 2, 4, 2), + overworld_frame(gEventObjectPic_FigyBerryTree, 2, 4, 3), + overworld_frame(gEventObjectPic_FigyBerryTree, 2, 4, 4), + overworld_frame(gEventObjectPic_FigyBerryTree, 2, 4, 5), }; const u8 gBerryTreePaletteSlotTable_Figy[] = {3, 4, 3, 3, 3}; const struct SpriteFrameImage gEventObjectPicTable_MagoBerryTree[] = { - overworld_frame(gEventObjectPic_BerryTreeDirtPile, 16, 16, 0), - overworld_frame(gEventObjectPic_BerryTreeSprout, 16, 16, 0), - overworld_frame(gEventObjectPic_BerryTreeSprout, 16, 16, 1), - overworld_frame(gEventObjectPic_MagoBerryTree, 16, 32, 0), - overworld_frame(gEventObjectPic_MagoBerryTree, 16, 32, 1), - overworld_frame(gEventObjectPic_MagoBerryTree, 16, 32, 2), - overworld_frame(gEventObjectPic_MagoBerryTree, 16, 32, 3), - overworld_frame(gEventObjectPic_MagoBerryTree, 16, 32, 4), - overworld_frame(gEventObjectPic_MagoBerryTree, 16, 32, 5), + overworld_frame(gEventObjectPic_BerryTreeDirtPile, 2, 2, 0), + overworld_frame(gEventObjectPic_BerryTreeSprout, 2, 2, 0), + overworld_frame(gEventObjectPic_BerryTreeSprout, 2, 2, 1), + overworld_frame(gEventObjectPic_MagoBerryTree, 2, 4, 0), + overworld_frame(gEventObjectPic_MagoBerryTree, 2, 4, 1), + overworld_frame(gEventObjectPic_MagoBerryTree, 2, 4, 2), + overworld_frame(gEventObjectPic_MagoBerryTree, 2, 4, 3), + overworld_frame(gEventObjectPic_MagoBerryTree, 2, 4, 4), + overworld_frame(gEventObjectPic_MagoBerryTree, 2, 4, 5), }; const u8 gBerryTreePaletteSlotTable_Mago[] = {3, 4, 3, 3, 3}; const struct SpriteFrameImage gEventObjectPicTable_LumBerryTree[] = { - overworld_frame(gEventObjectPic_BerryTreeDirtPile, 16, 16, 0), - overworld_frame(gEventObjectPic_BerryTreeSprout, 16, 16, 0), - overworld_frame(gEventObjectPic_BerryTreeSprout, 16, 16, 1), - overworld_frame(gEventObjectPic_LumBerryTree, 16, 32, 0), - overworld_frame(gEventObjectPic_LumBerryTree, 16, 32, 1), - overworld_frame(gEventObjectPic_LumBerryTree, 16, 32, 2), - overworld_frame(gEventObjectPic_LumBerryTree, 16, 32, 3), - overworld_frame(gEventObjectPic_LumBerryTree, 16, 32, 4), - overworld_frame(gEventObjectPic_LumBerryTree, 16, 32, 5), + overworld_frame(gEventObjectPic_BerryTreeDirtPile, 2, 2, 0), + overworld_frame(gEventObjectPic_BerryTreeSprout, 2, 2, 0), + overworld_frame(gEventObjectPic_BerryTreeSprout, 2, 2, 1), + overworld_frame(gEventObjectPic_LumBerryTree, 2, 4, 0), + overworld_frame(gEventObjectPic_LumBerryTree, 2, 4, 1), + overworld_frame(gEventObjectPic_LumBerryTree, 2, 4, 2), + overworld_frame(gEventObjectPic_LumBerryTree, 2, 4, 3), + overworld_frame(gEventObjectPic_LumBerryTree, 2, 4, 4), + overworld_frame(gEventObjectPic_LumBerryTree, 2, 4, 5), }; const u8 gBerryTreePaletteSlotTable_Lum[] = {3, 4, 4, 4, 4}; const struct SpriteFrameImage gEventObjectPicTable_RazzBerryTree[] = { - overworld_frame(gEventObjectPic_BerryTreeDirtPile, 16, 16, 0), - overworld_frame(gEventObjectPic_BerryTreeSprout, 16, 16, 0), - overworld_frame(gEventObjectPic_BerryTreeSprout, 16, 16, 1), - overworld_frame(gEventObjectPic_RazzBerryTree, 16, 32, 0), - overworld_frame(gEventObjectPic_RazzBerryTree, 16, 32, 1), - overworld_frame(gEventObjectPic_RazzBerryTree, 16, 32, 2), - overworld_frame(gEventObjectPic_RazzBerryTree, 16, 32, 3), - overworld_frame(gEventObjectPic_RazzBerryTree, 16, 32, 4), - overworld_frame(gEventObjectPic_RazzBerryTree, 16, 32, 5), + overworld_frame(gEventObjectPic_BerryTreeDirtPile, 2, 2, 0), + overworld_frame(gEventObjectPic_BerryTreeSprout, 2, 2, 0), + overworld_frame(gEventObjectPic_BerryTreeSprout, 2, 2, 1), + overworld_frame(gEventObjectPic_RazzBerryTree, 2, 4, 0), + overworld_frame(gEventObjectPic_RazzBerryTree, 2, 4, 1), + overworld_frame(gEventObjectPic_RazzBerryTree, 2, 4, 2), + overworld_frame(gEventObjectPic_RazzBerryTree, 2, 4, 3), + overworld_frame(gEventObjectPic_RazzBerryTree, 2, 4, 4), + overworld_frame(gEventObjectPic_RazzBerryTree, 2, 4, 5), }; const u8 gBerryTreePaletteSlotTable_Razz[] = {3, 4, 4, 4, 4}; const struct SpriteFrameImage gEventObjectPicTable_GrepaBerryTree[] = { - overworld_frame(gEventObjectPic_BerryTreeDirtPile, 16, 16, 0), - overworld_frame(gEventObjectPic_BerryTreeSprout, 16, 16, 0), - overworld_frame(gEventObjectPic_BerryTreeSprout, 16, 16, 1), - overworld_frame(gEventObjectPic_GrepaBerryTree, 16, 32, 0), - overworld_frame(gEventObjectPic_GrepaBerryTree, 16, 32, 1), - overworld_frame(gEventObjectPic_GrepaBerryTree, 16, 32, 2), - overworld_frame(gEventObjectPic_GrepaBerryTree, 16, 32, 3), - overworld_frame(gEventObjectPic_GrepaBerryTree, 16, 32, 4), - overworld_frame(gEventObjectPic_GrepaBerryTree, 16, 32, 5), + overworld_frame(gEventObjectPic_BerryTreeDirtPile, 2, 2, 0), + overworld_frame(gEventObjectPic_BerryTreeSprout, 2, 2, 0), + overworld_frame(gEventObjectPic_BerryTreeSprout, 2, 2, 1), + overworld_frame(gEventObjectPic_GrepaBerryTree, 2, 4, 0), + overworld_frame(gEventObjectPic_GrepaBerryTree, 2, 4, 1), + overworld_frame(gEventObjectPic_GrepaBerryTree, 2, 4, 2), + overworld_frame(gEventObjectPic_GrepaBerryTree, 2, 4, 3), + overworld_frame(gEventObjectPic_GrepaBerryTree, 2, 4, 4), + overworld_frame(gEventObjectPic_GrepaBerryTree, 2, 4, 5), }; const u8 gBerryTreePaletteSlotTable_Grepa[] = {3, 4, 3, 3, 3}; const struct SpriteFrameImage gEventObjectPicTable_RabutaBerryTree[] = { - overworld_frame(gEventObjectPic_BerryTreeDirtPile, 16, 16, 0), - overworld_frame(gEventObjectPic_BerryTreeSprout, 16, 16, 0), - overworld_frame(gEventObjectPic_BerryTreeSprout, 16, 16, 1), - overworld_frame(gEventObjectPic_RabutaBerryTree, 16, 32, 0), - overworld_frame(gEventObjectPic_RabutaBerryTree, 16, 32, 1), - overworld_frame(gEventObjectPic_RabutaBerryTree, 16, 32, 2), - overworld_frame(gEventObjectPic_RabutaBerryTree, 16, 32, 3), - overworld_frame(gEventObjectPic_RabutaBerryTree, 16, 32, 4), - overworld_frame(gEventObjectPic_RabutaBerryTree, 16, 32, 5), + overworld_frame(gEventObjectPic_BerryTreeDirtPile, 2, 2, 0), + overworld_frame(gEventObjectPic_BerryTreeSprout, 2, 2, 0), + overworld_frame(gEventObjectPic_BerryTreeSprout, 2, 2, 1), + overworld_frame(gEventObjectPic_RabutaBerryTree, 2, 4, 0), + overworld_frame(gEventObjectPic_RabutaBerryTree, 2, 4, 1), + overworld_frame(gEventObjectPic_RabutaBerryTree, 2, 4, 2), + overworld_frame(gEventObjectPic_RabutaBerryTree, 2, 4, 3), + overworld_frame(gEventObjectPic_RabutaBerryTree, 2, 4, 4), + overworld_frame(gEventObjectPic_RabutaBerryTree, 2, 4, 5), }; const u8 gBerryTreePaletteSlotTable_Rabuta[] = {3, 4, 4, 4, 4}; const struct SpriteFrameImage gEventObjectPicTable_NomelBerryTree[] = { - overworld_frame(gEventObjectPic_BerryTreeDirtPile, 16, 16, 0), - overworld_frame(gEventObjectPic_BerryTreeSprout, 16, 16, 0), - overworld_frame(gEventObjectPic_BerryTreeSprout, 16, 16, 1), - overworld_frame(gEventObjectPic_NomelBerryTree, 16, 32, 0), - overworld_frame(gEventObjectPic_NomelBerryTree, 16, 32, 1), - overworld_frame(gEventObjectPic_NomelBerryTree, 16, 32, 2), - overworld_frame(gEventObjectPic_NomelBerryTree, 16, 32, 3), - overworld_frame(gEventObjectPic_NomelBerryTree, 16, 32, 4), - overworld_frame(gEventObjectPic_NomelBerryTree, 16, 32, 5), + overworld_frame(gEventObjectPic_BerryTreeDirtPile, 2, 2, 0), + overworld_frame(gEventObjectPic_BerryTreeSprout, 2, 2, 0), + overworld_frame(gEventObjectPic_BerryTreeSprout, 2, 2, 1), + overworld_frame(gEventObjectPic_NomelBerryTree, 2, 4, 0), + overworld_frame(gEventObjectPic_NomelBerryTree, 2, 4, 1), + overworld_frame(gEventObjectPic_NomelBerryTree, 2, 4, 2), + overworld_frame(gEventObjectPic_NomelBerryTree, 2, 4, 3), + overworld_frame(gEventObjectPic_NomelBerryTree, 2, 4, 4), + overworld_frame(gEventObjectPic_NomelBerryTree, 2, 4, 5), }; const u8 gBerryTreePaletteSlotTable_Nomel[] = {3, 4, 3, 3, 3}; const struct SpriteFrameImage gEventObjectPicTable_LeppaBerryTree[] = { - overworld_frame(gEventObjectPic_BerryTreeDirtPile, 16, 16, 0), - overworld_frame(gEventObjectPic_BerryTreeSprout, 16, 16, 0), - overworld_frame(gEventObjectPic_BerryTreeSprout, 16, 16, 1), - overworld_frame(gEventObjectPic_LeppaBerryTree, 16, 32, 0), - overworld_frame(gEventObjectPic_LeppaBerryTree, 16, 32, 1), - overworld_frame(gEventObjectPic_LeppaBerryTree, 16, 32, 2), - overworld_frame(gEventObjectPic_LeppaBerryTree, 16, 32, 3), - overworld_frame(gEventObjectPic_LeppaBerryTree, 16, 32, 4), - overworld_frame(gEventObjectPic_LeppaBerryTree, 16, 32, 5), + overworld_frame(gEventObjectPic_BerryTreeDirtPile, 2, 2, 0), + overworld_frame(gEventObjectPic_BerryTreeSprout, 2, 2, 0), + overworld_frame(gEventObjectPic_BerryTreeSprout, 2, 2, 1), + overworld_frame(gEventObjectPic_LeppaBerryTree, 2, 4, 0), + overworld_frame(gEventObjectPic_LeppaBerryTree, 2, 4, 1), + overworld_frame(gEventObjectPic_LeppaBerryTree, 2, 4, 2), + overworld_frame(gEventObjectPic_LeppaBerryTree, 2, 4, 3), + overworld_frame(gEventObjectPic_LeppaBerryTree, 2, 4, 4), + overworld_frame(gEventObjectPic_LeppaBerryTree, 2, 4, 5), }; const u8 gBerryTreePaletteSlotTable_Leppa[] = {3, 4, 3, 3, 3}; const struct SpriteFrameImage gEventObjectPicTable_LiechiBerryTree[] = { - overworld_frame(gEventObjectPic_BerryTreeDirtPile, 16, 16, 0), - overworld_frame(gEventObjectPic_BerryTreeSprout, 16, 16, 0), - overworld_frame(gEventObjectPic_BerryTreeSprout, 16, 16, 1), - overworld_frame(gEventObjectPic_LiechiBerryTree, 16, 32, 0), - overworld_frame(gEventObjectPic_LiechiBerryTree, 16, 32, 1), - overworld_frame(gEventObjectPic_LiechiBerryTree, 16, 32, 2), - overworld_frame(gEventObjectPic_LiechiBerryTree, 16, 32, 3), - overworld_frame(gEventObjectPic_LiechiBerryTree, 16, 32, 4), - overworld_frame(gEventObjectPic_LiechiBerryTree, 16, 32, 5), + overworld_frame(gEventObjectPic_BerryTreeDirtPile, 2, 2, 0), + overworld_frame(gEventObjectPic_BerryTreeSprout, 2, 2, 0), + overworld_frame(gEventObjectPic_BerryTreeSprout, 2, 2, 1), + overworld_frame(gEventObjectPic_LiechiBerryTree, 2, 4, 0), + overworld_frame(gEventObjectPic_LiechiBerryTree, 2, 4, 1), + overworld_frame(gEventObjectPic_LiechiBerryTree, 2, 4, 2), + overworld_frame(gEventObjectPic_LiechiBerryTree, 2, 4, 3), + overworld_frame(gEventObjectPic_LiechiBerryTree, 2, 4, 4), + overworld_frame(gEventObjectPic_LiechiBerryTree, 2, 4, 5), }; const u8 gBerryTreePaletteSlotTable_Liechi[] = {3, 4, 4, 4, 4}; const struct SpriteFrameImage gEventObjectPicTable_HondewBerryTree[] = { - overworld_frame(gEventObjectPic_BerryTreeDirtPile, 16, 16, 0), - overworld_frame(gEventObjectPic_BerryTreeSprout, 16, 16, 0), - overworld_frame(gEventObjectPic_BerryTreeSprout, 16, 16, 1), - overworld_frame(gEventObjectPic_HondewBerryTree, 16, 32, 0), - overworld_frame(gEventObjectPic_HondewBerryTree, 16, 32, 1), - overworld_frame(gEventObjectPic_HondewBerryTree, 16, 32, 2), - overworld_frame(gEventObjectPic_HondewBerryTree, 16, 32, 3), - overworld_frame(gEventObjectPic_HondewBerryTree, 16, 32, 4), - overworld_frame(gEventObjectPic_HondewBerryTree, 16, 32, 5), + overworld_frame(gEventObjectPic_BerryTreeDirtPile, 2, 2, 0), + overworld_frame(gEventObjectPic_BerryTreeSprout, 2, 2, 0), + overworld_frame(gEventObjectPic_BerryTreeSprout, 2, 2, 1), + overworld_frame(gEventObjectPic_HondewBerryTree, 2, 4, 0), + overworld_frame(gEventObjectPic_HondewBerryTree, 2, 4, 1), + overworld_frame(gEventObjectPic_HondewBerryTree, 2, 4, 2), + overworld_frame(gEventObjectPic_HondewBerryTree, 2, 4, 3), + overworld_frame(gEventObjectPic_HondewBerryTree, 2, 4, 4), + overworld_frame(gEventObjectPic_HondewBerryTree, 2, 4, 5), }; const u8 gBerryTreePaletteSlotTable_Hondew[] = {3, 4, 5, 5, 5}; const struct SpriteFrameImage gEventObjectPicTable_AguavBerryTree[] = { - overworld_frame(gEventObjectPic_BerryTreeDirtPile, 16, 16, 0), - overworld_frame(gEventObjectPic_BerryTreeSprout, 16, 16, 0), - overworld_frame(gEventObjectPic_BerryTreeSprout, 16, 16, 1), - overworld_frame(gEventObjectPic_AguavBerryTree, 16, 32, 0), - overworld_frame(gEventObjectPic_AguavBerryTree, 16, 32, 1), - overworld_frame(gEventObjectPic_AguavBerryTree, 16, 32, 2), - overworld_frame(gEventObjectPic_AguavBerryTree, 16, 32, 3), - overworld_frame(gEventObjectPic_AguavBerryTree, 16, 32, 4), - overworld_frame(gEventObjectPic_AguavBerryTree, 16, 32, 5), + overworld_frame(gEventObjectPic_BerryTreeDirtPile, 2, 2, 0), + overworld_frame(gEventObjectPic_BerryTreeSprout, 2, 2, 0), + overworld_frame(gEventObjectPic_BerryTreeSprout, 2, 2, 1), + overworld_frame(gEventObjectPic_AguavBerryTree, 2, 4, 0), + overworld_frame(gEventObjectPic_AguavBerryTree, 2, 4, 1), + overworld_frame(gEventObjectPic_AguavBerryTree, 2, 4, 2), + overworld_frame(gEventObjectPic_AguavBerryTree, 2, 4, 3), + overworld_frame(gEventObjectPic_AguavBerryTree, 2, 4, 4), + overworld_frame(gEventObjectPic_AguavBerryTree, 2, 4, 5), }; const u8 gBerryTreePaletteSlotTable_Aguav[] = {3, 4, 4, 4, 4}; const struct SpriteFrameImage gEventObjectPicTable_WikiBerryTree[] = { - overworld_frame(gEventObjectPic_BerryTreeDirtPile, 16, 16, 0), - overworld_frame(gEventObjectPic_BerryTreeSprout, 16, 16, 0), - overworld_frame(gEventObjectPic_BerryTreeSprout, 16, 16, 1), - overworld_frame(gEventObjectPic_WikiBerryTree, 16, 32, 0), - overworld_frame(gEventObjectPic_WikiBerryTree, 16, 32, 1), - overworld_frame(gEventObjectPic_WikiBerryTree, 16, 32, 2), - overworld_frame(gEventObjectPic_WikiBerryTree, 16, 32, 3), - overworld_frame(gEventObjectPic_WikiBerryTree, 16, 32, 4), - overworld_frame(gEventObjectPic_WikiBerryTree, 16, 32, 5), + overworld_frame(gEventObjectPic_BerryTreeDirtPile, 2, 2, 0), + overworld_frame(gEventObjectPic_BerryTreeSprout, 2, 2, 0), + overworld_frame(gEventObjectPic_BerryTreeSprout, 2, 2, 1), + overworld_frame(gEventObjectPic_WikiBerryTree, 2, 4, 0), + overworld_frame(gEventObjectPic_WikiBerryTree, 2, 4, 1), + overworld_frame(gEventObjectPic_WikiBerryTree, 2, 4, 2), + overworld_frame(gEventObjectPic_WikiBerryTree, 2, 4, 3), + overworld_frame(gEventObjectPic_WikiBerryTree, 2, 4, 4), + overworld_frame(gEventObjectPic_WikiBerryTree, 2, 4, 5), }; const u8 gBerryTreePaletteSlotTable_Wiki[] = {3, 4, 3, 3, 3}; const struct SpriteFrameImage gEventObjectPicTable_PomegBerryTree[] = { - overworld_frame(gEventObjectPic_BerryTreeDirtPile, 16, 16, 0), - overworld_frame(gEventObjectPic_BerryTreeSprout, 16, 16, 0), - overworld_frame(gEventObjectPic_BerryTreeSprout, 16, 16, 1), - overworld_frame(gEventObjectPic_PomegBerryTree, 16, 32, 0), - overworld_frame(gEventObjectPic_PomegBerryTree, 16, 32, 1), - overworld_frame(gEventObjectPic_PomegBerryTree, 16, 32, 2), - overworld_frame(gEventObjectPic_PomegBerryTree, 16, 32, 3), - overworld_frame(gEventObjectPic_PomegBerryTree, 16, 32, 4), - overworld_frame(gEventObjectPic_PomegBerryTree, 16, 32, 5), + overworld_frame(gEventObjectPic_BerryTreeDirtPile, 2, 2, 0), + overworld_frame(gEventObjectPic_BerryTreeSprout, 2, 2, 0), + overworld_frame(gEventObjectPic_BerryTreeSprout, 2, 2, 1), + overworld_frame(gEventObjectPic_PomegBerryTree, 2, 4, 0), + overworld_frame(gEventObjectPic_PomegBerryTree, 2, 4, 1), + overworld_frame(gEventObjectPic_PomegBerryTree, 2, 4, 2), + overworld_frame(gEventObjectPic_PomegBerryTree, 2, 4, 3), + overworld_frame(gEventObjectPic_PomegBerryTree, 2, 4, 4), + overworld_frame(gEventObjectPic_PomegBerryTree, 2, 4, 5), }; const u8 gBerryTreePaletteSlotTable_Pomeg[] = {3, 4, 3, 3, 3}; const struct SpriteFrameImage gEventObjectPicTable_RawstBerryTree[] = { - overworld_frame(gEventObjectPic_BerryTreeDirtPile, 16, 16, 0), - overworld_frame(gEventObjectPic_BerryTreeSprout, 16, 16, 0), - overworld_frame(gEventObjectPic_BerryTreeSprout, 16, 16, 1), - overworld_frame(gEventObjectPic_RawstBerryTree, 16, 32, 0), - overworld_frame(gEventObjectPic_RawstBerryTree, 16, 32, 1), - overworld_frame(gEventObjectPic_RawstBerryTree, 16, 32, 2), - overworld_frame(gEventObjectPic_RawstBerryTree, 16, 32, 3), - overworld_frame(gEventObjectPic_RawstBerryTree, 16, 32, 4), - overworld_frame(gEventObjectPic_RawstBerryTree, 16, 32, 5), + overworld_frame(gEventObjectPic_BerryTreeDirtPile, 2, 2, 0), + overworld_frame(gEventObjectPic_BerryTreeSprout, 2, 2, 0), + overworld_frame(gEventObjectPic_BerryTreeSprout, 2, 2, 1), + overworld_frame(gEventObjectPic_RawstBerryTree, 2, 4, 0), + overworld_frame(gEventObjectPic_RawstBerryTree, 2, 4, 1), + overworld_frame(gEventObjectPic_RawstBerryTree, 2, 4, 2), + overworld_frame(gEventObjectPic_RawstBerryTree, 2, 4, 3), + overworld_frame(gEventObjectPic_RawstBerryTree, 2, 4, 4), + overworld_frame(gEventObjectPic_RawstBerryTree, 2, 4, 5), }; const u8 gBerryTreePaletteSlotTable_Rawst[] = {3, 4, 4, 4, 4}; const struct SpriteFrameImage gEventObjectPicTable_SpelonBerryTree[] = { - overworld_frame(gEventObjectPic_BerryTreeDirtPile, 16, 16, 0), - overworld_frame(gEventObjectPic_BerryTreeSprout, 16, 16, 0), - overworld_frame(gEventObjectPic_BerryTreeSprout, 16, 16, 1), - overworld_frame(gEventObjectPic_SpelonBerryTree, 16, 32, 0), - overworld_frame(gEventObjectPic_SpelonBerryTree, 16, 32, 1), - overworld_frame(gEventObjectPic_SpelonBerryTree, 16, 32, 2), - overworld_frame(gEventObjectPic_SpelonBerryTree, 16, 32, 3), - overworld_frame(gEventObjectPic_SpelonBerryTree, 16, 32, 4), - overworld_frame(gEventObjectPic_SpelonBerryTree, 16, 32, 5), + overworld_frame(gEventObjectPic_BerryTreeDirtPile, 2, 2, 0), + overworld_frame(gEventObjectPic_BerryTreeSprout, 2, 2, 0), + overworld_frame(gEventObjectPic_BerryTreeSprout, 2, 2, 1), + overworld_frame(gEventObjectPic_SpelonBerryTree, 2, 4, 0), + overworld_frame(gEventObjectPic_SpelonBerryTree, 2, 4, 1), + overworld_frame(gEventObjectPic_SpelonBerryTree, 2, 4, 2), + overworld_frame(gEventObjectPic_SpelonBerryTree, 2, 4, 3), + overworld_frame(gEventObjectPic_SpelonBerryTree, 2, 4, 4), + overworld_frame(gEventObjectPic_SpelonBerryTree, 2, 4, 5), }; const u8 gBerryTreePaletteSlotTable_Spelon[] = {3, 4, 3, 3, 3}; const struct SpriteFrameImage gEventObjectPicTable_ChestoBerryTree[] = { - overworld_frame(gEventObjectPic_BerryTreeDirtPile, 16, 16, 0), - overworld_frame(gEventObjectPic_BerryTreeSprout, 16, 16, 0), - overworld_frame(gEventObjectPic_BerryTreeSprout, 16, 16, 1), - overworld_frame(gEventObjectPic_ChestoBerryTree, 16, 32, 0), - overworld_frame(gEventObjectPic_ChestoBerryTree, 16, 32, 1), - overworld_frame(gEventObjectPic_ChestoBerryTree, 16, 32, 2), - overworld_frame(gEventObjectPic_ChestoBerryTree, 16, 32, 3), - overworld_frame(gEventObjectPic_ChestoBerryTree, 16, 32, 4), - overworld_frame(gEventObjectPic_ChestoBerryTree, 16, 32, 5), + overworld_frame(gEventObjectPic_BerryTreeDirtPile, 2, 2, 0), + overworld_frame(gEventObjectPic_BerryTreeSprout, 2, 2, 0), + overworld_frame(gEventObjectPic_BerryTreeSprout, 2, 2, 1), + overworld_frame(gEventObjectPic_ChestoBerryTree, 2, 4, 0), + overworld_frame(gEventObjectPic_ChestoBerryTree, 2, 4, 1), + overworld_frame(gEventObjectPic_ChestoBerryTree, 2, 4, 2), + overworld_frame(gEventObjectPic_ChestoBerryTree, 2, 4, 3), + overworld_frame(gEventObjectPic_ChestoBerryTree, 2, 4, 4), + overworld_frame(gEventObjectPic_ChestoBerryTree, 2, 4, 5), }; const u8 gBerryTreePaletteSlotTable_Chesto[] = {3, 4, 2, 2, 2}; const struct SpriteFrameImage gEventObjectPicTable_OranBerryTree[] = { - overworld_frame(gEventObjectPic_BerryTreeDirtPile, 16, 16, 0), - overworld_frame(gEventObjectPic_BerryTreeSprout, 16, 16, 0), - overworld_frame(gEventObjectPic_BerryTreeSprout, 16, 16, 1), - overworld_frame(gEventObjectPic_OranBerryTree, 16, 32, 0), - overworld_frame(gEventObjectPic_OranBerryTree, 16, 32, 1), - overworld_frame(gEventObjectPic_OranBerryTree, 16, 32, 2), - overworld_frame(gEventObjectPic_OranBerryTree, 16, 32, 3), - overworld_frame(gEventObjectPic_OranBerryTree, 16, 32, 4), - overworld_frame(gEventObjectPic_OranBerryTree, 16, 32, 5), + overworld_frame(gEventObjectPic_BerryTreeDirtPile, 2, 2, 0), + overworld_frame(gEventObjectPic_BerryTreeSprout, 2, 2, 0), + overworld_frame(gEventObjectPic_BerryTreeSprout, 2, 2, 1), + overworld_frame(gEventObjectPic_OranBerryTree, 2, 4, 0), + overworld_frame(gEventObjectPic_OranBerryTree, 2, 4, 1), + overworld_frame(gEventObjectPic_OranBerryTree, 2, 4, 2), + overworld_frame(gEventObjectPic_OranBerryTree, 2, 4, 3), + overworld_frame(gEventObjectPic_OranBerryTree, 2, 4, 4), + overworld_frame(gEventObjectPic_OranBerryTree, 2, 4, 5), }; const u8 gBerryTreePaletteSlotTable_Oran[] = {3, 4, 2, 2, 2}; const struct SpriteFrameImage gEventObjectPicTable_PersimBerryTree[] = { - overworld_frame(gEventObjectPic_BerryTreeDirtPile, 16, 16, 0), - overworld_frame(gEventObjectPic_BerryTreeSprout, 16, 16, 0), - overworld_frame(gEventObjectPic_BerryTreeSprout, 16, 16, 1), - overworld_frame(gEventObjectPic_PersimBerryTree, 16, 32, 0), - overworld_frame(gEventObjectPic_PersimBerryTree, 16, 32, 1), - overworld_frame(gEventObjectPic_PersimBerryTree, 16, 32, 2), - overworld_frame(gEventObjectPic_PersimBerryTree, 16, 32, 3), - overworld_frame(gEventObjectPic_PersimBerryTree, 16, 32, 4), - overworld_frame(gEventObjectPic_PersimBerryTree, 16, 32, 5), + overworld_frame(gEventObjectPic_BerryTreeDirtPile, 2, 2, 0), + overworld_frame(gEventObjectPic_BerryTreeSprout, 2, 2, 0), + overworld_frame(gEventObjectPic_BerryTreeSprout, 2, 2, 1), + overworld_frame(gEventObjectPic_PersimBerryTree, 2, 4, 0), + overworld_frame(gEventObjectPic_PersimBerryTree, 2, 4, 1), + overworld_frame(gEventObjectPic_PersimBerryTree, 2, 4, 2), + overworld_frame(gEventObjectPic_PersimBerryTree, 2, 4, 3), + overworld_frame(gEventObjectPic_PersimBerryTree, 2, 4, 4), + overworld_frame(gEventObjectPic_PersimBerryTree, 2, 4, 5), }; const u8 gBerryTreePaletteSlotTable_Persim[] = {3, 4, 2, 2, 2}; const struct SpriteFrameImage gEventObjectPicTable_SitrusBerryTree[] = { - overworld_frame(gEventObjectPic_BerryTreeDirtPile, 16, 16, 0), - overworld_frame(gEventObjectPic_BerryTreeSprout, 16, 16, 0), - overworld_frame(gEventObjectPic_BerryTreeSprout, 16, 16, 1), - overworld_frame(gEventObjectPic_SitrusBerryTree, 16, 32, 0), - overworld_frame(gEventObjectPic_SitrusBerryTree, 16, 32, 1), - overworld_frame(gEventObjectPic_SitrusBerryTree, 16, 32, 2), - overworld_frame(gEventObjectPic_SitrusBerryTree, 16, 32, 3), - overworld_frame(gEventObjectPic_SitrusBerryTree, 16, 32, 4), - overworld_frame(gEventObjectPic_SitrusBerryTree, 16, 32, 5), + overworld_frame(gEventObjectPic_BerryTreeDirtPile, 2, 2, 0), + overworld_frame(gEventObjectPic_BerryTreeSprout, 2, 2, 0), + overworld_frame(gEventObjectPic_BerryTreeSprout, 2, 2, 1), + overworld_frame(gEventObjectPic_SitrusBerryTree, 2, 4, 0), + overworld_frame(gEventObjectPic_SitrusBerryTree, 2, 4, 1), + overworld_frame(gEventObjectPic_SitrusBerryTree, 2, 4, 2), + overworld_frame(gEventObjectPic_SitrusBerryTree, 2, 4, 3), + overworld_frame(gEventObjectPic_SitrusBerryTree, 2, 4, 4), + overworld_frame(gEventObjectPic_SitrusBerryTree, 2, 4, 5), }; const u8 gBerryTreePaletteSlotTable_Sitrus[] = {3, 4, 4, 4, 4}; const struct SpriteFrameImage gEventObjectPicTable_AspearBerryTree[] = { - overworld_frame(gEventObjectPic_BerryTreeDirtPile, 16, 16, 0), - overworld_frame(gEventObjectPic_BerryTreeSprout, 16, 16, 0), - overworld_frame(gEventObjectPic_BerryTreeSprout, 16, 16, 1), - overworld_frame(gEventObjectPic_AspearBerryTree, 16, 32, 0), - overworld_frame(gEventObjectPic_AspearBerryTree, 16, 32, 1), - overworld_frame(gEventObjectPic_AspearBerryTree, 16, 32, 2), - overworld_frame(gEventObjectPic_AspearBerryTree, 16, 32, 3), - overworld_frame(gEventObjectPic_AspearBerryTree, 16, 32, 4), - overworld_frame(gEventObjectPic_AspearBerryTree, 16, 32, 5), + overworld_frame(gEventObjectPic_BerryTreeDirtPile, 2, 2, 0), + overworld_frame(gEventObjectPic_BerryTreeSprout, 2, 2, 0), + overworld_frame(gEventObjectPic_BerryTreeSprout, 2, 2, 1), + overworld_frame(gEventObjectPic_AspearBerryTree, 2, 4, 0), + overworld_frame(gEventObjectPic_AspearBerryTree, 2, 4, 1), + overworld_frame(gEventObjectPic_AspearBerryTree, 2, 4, 2), + overworld_frame(gEventObjectPic_AspearBerryTree, 2, 4, 3), + overworld_frame(gEventObjectPic_AspearBerryTree, 2, 4, 4), + overworld_frame(gEventObjectPic_AspearBerryTree, 2, 4, 5), }; const u8 gBerryTreePaletteSlotTable_Aspear[] = {3, 4, 3, 3, 3}; const struct SpriteFrameImage gEventObjectPicTable_PamtreBerryTree[] = { - overworld_frame(gEventObjectPic_BerryTreeDirtPile, 16, 16, 0), - overworld_frame(gEventObjectPic_BerryTreeSprout, 16, 16, 0), - overworld_frame(gEventObjectPic_BerryTreeSprout, 16, 16, 1), - overworld_frame(gEventObjectPic_PamtreBerryTree, 16, 32, 0), - overworld_frame(gEventObjectPic_PamtreBerryTree, 16, 32, 1), - overworld_frame(gEventObjectPic_PamtreBerryTree, 16, 32, 2), - overworld_frame(gEventObjectPic_PamtreBerryTree, 16, 32, 3), - overworld_frame(gEventObjectPic_PamtreBerryTree, 16, 32, 4), - overworld_frame(gEventObjectPic_PamtreBerryTree, 16, 32, 5), + overworld_frame(gEventObjectPic_BerryTreeDirtPile, 2, 2, 0), + overworld_frame(gEventObjectPic_BerryTreeSprout, 2, 2, 0), + overworld_frame(gEventObjectPic_BerryTreeSprout, 2, 2, 1), + overworld_frame(gEventObjectPic_PamtreBerryTree, 2, 4, 0), + overworld_frame(gEventObjectPic_PamtreBerryTree, 2, 4, 1), + overworld_frame(gEventObjectPic_PamtreBerryTree, 2, 4, 2), + overworld_frame(gEventObjectPic_PamtreBerryTree, 2, 4, 3), + overworld_frame(gEventObjectPic_PamtreBerryTree, 2, 4, 4), + overworld_frame(gEventObjectPic_PamtreBerryTree, 2, 4, 5), }; const u8 gBerryTreePaletteSlotTable_Pamtre[] = {3, 4, 2, 2, 2}; const struct SpriteFrameImage gEventObjectPicTable_CornnBerryTree[] = { - overworld_frame(gEventObjectPic_BerryTreeDirtPile, 16, 16, 0), - overworld_frame(gEventObjectPic_BerryTreeSprout, 16, 16, 0), - overworld_frame(gEventObjectPic_BerryTreeSprout, 16, 16, 1), - overworld_frame(gEventObjectPic_CornnBerryTree, 16, 32, 0), - overworld_frame(gEventObjectPic_CornnBerryTree, 16, 32, 1), - overworld_frame(gEventObjectPic_CornnBerryTree, 16, 32, 2), - overworld_frame(gEventObjectPic_CornnBerryTree, 16, 32, 3), - overworld_frame(gEventObjectPic_CornnBerryTree, 16, 32, 4), - overworld_frame(gEventObjectPic_CornnBerryTree, 16, 32, 5), + overworld_frame(gEventObjectPic_BerryTreeDirtPile, 2, 2, 0), + overworld_frame(gEventObjectPic_BerryTreeSprout, 2, 2, 0), + overworld_frame(gEventObjectPic_BerryTreeSprout, 2, 2, 1), + overworld_frame(gEventObjectPic_CornnBerryTree, 2, 4, 0), + overworld_frame(gEventObjectPic_CornnBerryTree, 2, 4, 1), + overworld_frame(gEventObjectPic_CornnBerryTree, 2, 4, 2), + overworld_frame(gEventObjectPic_CornnBerryTree, 2, 4, 3), + overworld_frame(gEventObjectPic_CornnBerryTree, 2, 4, 4), + overworld_frame(gEventObjectPic_CornnBerryTree, 2, 4, 5), }; const u8 gBerryTreePaletteSlotTable_Cornn[] = {3, 4, 2, 2, 2}; const struct SpriteFrameImage gEventObjectPicTable_LansatBerryTree[] = { - overworld_frame(gEventObjectPic_BerryTreeDirtPile, 16, 16, 0), - overworld_frame(gEventObjectPic_BerryTreeSprout, 16, 16, 0), - overworld_frame(gEventObjectPic_BerryTreeSprout, 16, 16, 1), - overworld_frame(gEventObjectPic_LansatBerryTree, 16, 32, 0), - overworld_frame(gEventObjectPic_LansatBerryTree, 16, 32, 1), - overworld_frame(gEventObjectPic_LansatBerryTree, 16, 32, 2), - overworld_frame(gEventObjectPic_LansatBerryTree, 16, 32, 3), - overworld_frame(gEventObjectPic_LansatBerryTree, 16, 32, 4), - overworld_frame(gEventObjectPic_LansatBerryTree, 16, 32, 5), + overworld_frame(gEventObjectPic_BerryTreeDirtPile, 2, 2, 0), + overworld_frame(gEventObjectPic_BerryTreeSprout, 2, 2, 0), + overworld_frame(gEventObjectPic_BerryTreeSprout, 2, 2, 1), + overworld_frame(gEventObjectPic_LansatBerryTree, 2, 4, 0), + overworld_frame(gEventObjectPic_LansatBerryTree, 2, 4, 1), + overworld_frame(gEventObjectPic_LansatBerryTree, 2, 4, 2), + overworld_frame(gEventObjectPic_LansatBerryTree, 2, 4, 3), + overworld_frame(gEventObjectPic_LansatBerryTree, 2, 4, 4), + overworld_frame(gEventObjectPic_LansatBerryTree, 2, 4, 5), }; const u8 gBerryTreePaletteSlotTable_Lansat[] = {3, 4, 2, 2, 2}; const struct SpriteFrameImage gEventObjectPicTable_DurinBerryTree[] = { - overworld_frame(gEventObjectPic_BerryTreeDirtPile, 16, 16, 0), - overworld_frame(gEventObjectPic_BerryTreeSprout, 16, 16, 0), - overworld_frame(gEventObjectPic_BerryTreeSprout, 16, 16, 1), - overworld_frame(gEventObjectPic_DurinBerryTree, 16, 32, 0), - overworld_frame(gEventObjectPic_DurinBerryTree, 16, 32, 1), - overworld_frame(gEventObjectPic_DurinBerryTree, 16, 32, 2), - overworld_frame(gEventObjectPic_DurinBerryTree, 16, 32, 3), - overworld_frame(gEventObjectPic_DurinBerryTree, 16, 32, 4), - overworld_frame(gEventObjectPic_DurinBerryTree, 16, 32, 5), + overworld_frame(gEventObjectPic_BerryTreeDirtPile, 2, 2, 0), + overworld_frame(gEventObjectPic_BerryTreeSprout, 2, 2, 0), + overworld_frame(gEventObjectPic_BerryTreeSprout, 2, 2, 1), + overworld_frame(gEventObjectPic_DurinBerryTree, 2, 4, 0), + overworld_frame(gEventObjectPic_DurinBerryTree, 2, 4, 1), + overworld_frame(gEventObjectPic_DurinBerryTree, 2, 4, 2), + overworld_frame(gEventObjectPic_DurinBerryTree, 2, 4, 3), + overworld_frame(gEventObjectPic_DurinBerryTree, 2, 4, 4), + overworld_frame(gEventObjectPic_DurinBerryTree, 2, 4, 5), }; const u8 gBerryTreePaletteSlotTable_Durin[] = {3, 4, 4, 4, 4}; const struct SpriteFrameImage gEventObjectPicTable_TamatoBerryTree[] = { - overworld_frame(gEventObjectPic_BerryTreeDirtPile, 16, 16, 0), - overworld_frame(gEventObjectPic_BerryTreeSprout, 16, 16, 0), - overworld_frame(gEventObjectPic_BerryTreeSprout, 16, 16, 1), - overworld_frame(gEventObjectPic_TamatoBerryTree, 16, 32, 0), - overworld_frame(gEventObjectPic_TamatoBerryTree, 16, 32, 1), - overworld_frame(gEventObjectPic_TamatoBerryTree, 16, 32, 2), - overworld_frame(gEventObjectPic_TamatoBerryTree, 16, 32, 3), - overworld_frame(gEventObjectPic_TamatoBerryTree, 16, 32, 4), - overworld_frame(gEventObjectPic_TamatoBerryTree, 16, 32, 5), + overworld_frame(gEventObjectPic_BerryTreeDirtPile, 2, 2, 0), + overworld_frame(gEventObjectPic_BerryTreeSprout, 2, 2, 0), + overworld_frame(gEventObjectPic_BerryTreeSprout, 2, 2, 1), + overworld_frame(gEventObjectPic_TamatoBerryTree, 2, 4, 0), + overworld_frame(gEventObjectPic_TamatoBerryTree, 2, 4, 1), + overworld_frame(gEventObjectPic_TamatoBerryTree, 2, 4, 2), + overworld_frame(gEventObjectPic_TamatoBerryTree, 2, 4, 3), + overworld_frame(gEventObjectPic_TamatoBerryTree, 2, 4, 4), + overworld_frame(gEventObjectPic_TamatoBerryTree, 2, 4, 5), }; const u8 gBerryTreePaletteSlotTable_Tamato[] = {3, 4, 2, 2, 2}; diff --git a/src/data/field_event_obj/event_object_pic_tables.h b/src/data/field_event_obj/event_object_pic_tables.h index 80a4e12ac4..40a6ad61c9 100755 --- a/src/data/field_event_obj/event_object_pic_tables.h +++ b/src/data/field_event_obj/event_object_pic_tables.h @@ -2,748 +2,748 @@ #define GUARD_EVENT_OBJECT_PIC_TABLES_H const struct SpriteFrameImage gEventObjectPicTable_BrendanNormal[] = { - overworld_frame(gEventObjectPic_BrendanNormal, 16, 32, 0), - overworld_frame(gEventObjectPic_BrendanNormal, 16, 32, 1), - overworld_frame(gEventObjectPic_BrendanNormal, 16, 32, 2), - overworld_frame(gEventObjectPic_BrendanNormal, 16, 32, 3), - overworld_frame(gEventObjectPic_BrendanNormal, 16, 32, 4), - overworld_frame(gEventObjectPic_BrendanNormal, 16, 32, 5), - overworld_frame(gEventObjectPic_BrendanNormal, 16, 32, 6), - overworld_frame(gEventObjectPic_BrendanNormal, 16, 32, 7), - overworld_frame(gEventObjectPic_BrendanNormal, 16, 32, 8), - overworld_frame(gEventObjectPic_BrendanRunning, 16, 32, 0), - overworld_frame(gEventObjectPic_BrendanRunning, 16, 32, 1), - overworld_frame(gEventObjectPic_BrendanRunning, 16, 32, 2), - overworld_frame(gEventObjectPic_BrendanRunning, 16, 32, 3), - overworld_frame(gEventObjectPic_BrendanRunning, 16, 32, 4), - overworld_frame(gEventObjectPic_BrendanRunning, 16, 32, 5), - overworld_frame(gEventObjectPic_BrendanRunning, 16, 32, 6), - overworld_frame(gEventObjectPic_BrendanRunning, 16, 32, 7), - overworld_frame(gEventObjectPic_BrendanRunning, 16, 32, 8), + overworld_frame(gEventObjectPic_BrendanNormal, 2, 4, 0), + overworld_frame(gEventObjectPic_BrendanNormal, 2, 4, 1), + overworld_frame(gEventObjectPic_BrendanNormal, 2, 4, 2), + overworld_frame(gEventObjectPic_BrendanNormal, 2, 4, 3), + overworld_frame(gEventObjectPic_BrendanNormal, 2, 4, 4), + overworld_frame(gEventObjectPic_BrendanNormal, 2, 4, 5), + overworld_frame(gEventObjectPic_BrendanNormal, 2, 4, 6), + overworld_frame(gEventObjectPic_BrendanNormal, 2, 4, 7), + overworld_frame(gEventObjectPic_BrendanNormal, 2, 4, 8), + overworld_frame(gEventObjectPic_BrendanRunning, 2, 4, 0), + overworld_frame(gEventObjectPic_BrendanRunning, 2, 4, 1), + overworld_frame(gEventObjectPic_BrendanRunning, 2, 4, 2), + overworld_frame(gEventObjectPic_BrendanRunning, 2, 4, 3), + overworld_frame(gEventObjectPic_BrendanRunning, 2, 4, 4), + overworld_frame(gEventObjectPic_BrendanRunning, 2, 4, 5), + overworld_frame(gEventObjectPic_BrendanRunning, 2, 4, 6), + overworld_frame(gEventObjectPic_BrendanRunning, 2, 4, 7), + overworld_frame(gEventObjectPic_BrendanRunning, 2, 4, 8), }; const struct SpriteFrameImage gEventObjectPicTable_BrendanMachBike[] = { - overworld_frame(gEventObjectPic_BrendanMachBike, 32, 32, 0), - overworld_frame(gEventObjectPic_BrendanMachBike, 32, 32, 1), - overworld_frame(gEventObjectPic_BrendanMachBike, 32, 32, 2), - overworld_frame(gEventObjectPic_BrendanMachBike, 32, 32, 3), - overworld_frame(gEventObjectPic_BrendanMachBike, 32, 32, 4), - overworld_frame(gEventObjectPic_BrendanMachBike, 32, 32, 5), - overworld_frame(gEventObjectPic_BrendanMachBike, 32, 32, 6), - overworld_frame(gEventObjectPic_BrendanMachBike, 32, 32, 7), - overworld_frame(gEventObjectPic_BrendanMachBike, 32, 32, 8), + overworld_frame(gEventObjectPic_BrendanMachBike, 4, 4, 0), + overworld_frame(gEventObjectPic_BrendanMachBike, 4, 4, 1), + overworld_frame(gEventObjectPic_BrendanMachBike, 4, 4, 2), + overworld_frame(gEventObjectPic_BrendanMachBike, 4, 4, 3), + overworld_frame(gEventObjectPic_BrendanMachBike, 4, 4, 4), + overworld_frame(gEventObjectPic_BrendanMachBike, 4, 4, 5), + overworld_frame(gEventObjectPic_BrendanMachBike, 4, 4, 6), + overworld_frame(gEventObjectPic_BrendanMachBike, 4, 4, 7), + overworld_frame(gEventObjectPic_BrendanMachBike, 4, 4, 8), }; const struct SpriteFrameImage gEventObjectPicTable_BrendanAcroBike[] = { - overworld_frame(gEventObjectPic_BrendanAcroBike, 32, 32, 0), - overworld_frame(gEventObjectPic_BrendanAcroBike, 32, 32, 1), - overworld_frame(gEventObjectPic_BrendanAcroBike, 32, 32, 2), - overworld_frame(gEventObjectPic_BrendanAcroBike, 32, 32, 3), - overworld_frame(gEventObjectPic_BrendanAcroBike, 32, 32, 4), - overworld_frame(gEventObjectPic_BrendanAcroBike, 32, 32, 5), - overworld_frame(gEventObjectPic_BrendanAcroBike, 32, 32, 6), - overworld_frame(gEventObjectPic_BrendanAcroBike, 32, 32, 7), - overworld_frame(gEventObjectPic_BrendanAcroBike, 32, 32, 8), - overworld_frame(gEventObjectPic_BrendanAcroBike, 32, 32, 9), - overworld_frame(gEventObjectPic_BrendanAcroBike, 32, 32, 10), - overworld_frame(gEventObjectPic_BrendanAcroBike, 32, 32, 11), - overworld_frame(gEventObjectPic_BrendanAcroBike, 32, 32, 12), - overworld_frame(gEventObjectPic_BrendanAcroBike, 32, 32, 13), - overworld_frame(gEventObjectPic_BrendanAcroBike, 32, 32, 14), - overworld_frame(gEventObjectPic_BrendanAcroBike, 32, 32, 15), - overworld_frame(gEventObjectPic_BrendanAcroBike, 32, 32, 16), - overworld_frame(gEventObjectPic_BrendanAcroBike, 32, 32, 17), - overworld_frame(gEventObjectPic_BrendanAcroBike, 32, 32, 18), - overworld_frame(gEventObjectPic_BrendanAcroBike, 32, 32, 19), - overworld_frame(gEventObjectPic_BrendanAcroBike, 32, 32, 20), - overworld_frame(gEventObjectPic_BrendanAcroBike, 32, 32, 21), - overworld_frame(gEventObjectPic_BrendanAcroBike, 32, 32, 22), - overworld_frame(gEventObjectPic_BrendanAcroBike, 32, 32, 23), - overworld_frame(gEventObjectPic_BrendanAcroBike, 32, 32, 24), - overworld_frame(gEventObjectPic_BrendanAcroBike, 32, 32, 25), - overworld_frame(gEventObjectPic_BrendanAcroBike, 32, 32, 26), + overworld_frame(gEventObjectPic_BrendanAcroBike, 4, 4, 0), + overworld_frame(gEventObjectPic_BrendanAcroBike, 4, 4, 1), + overworld_frame(gEventObjectPic_BrendanAcroBike, 4, 4, 2), + overworld_frame(gEventObjectPic_BrendanAcroBike, 4, 4, 3), + overworld_frame(gEventObjectPic_BrendanAcroBike, 4, 4, 4), + overworld_frame(gEventObjectPic_BrendanAcroBike, 4, 4, 5), + overworld_frame(gEventObjectPic_BrendanAcroBike, 4, 4, 6), + overworld_frame(gEventObjectPic_BrendanAcroBike, 4, 4, 7), + overworld_frame(gEventObjectPic_BrendanAcroBike, 4, 4, 8), + overworld_frame(gEventObjectPic_BrendanAcroBike, 4, 4, 9), + overworld_frame(gEventObjectPic_BrendanAcroBike, 4, 4, 10), + overworld_frame(gEventObjectPic_BrendanAcroBike, 4, 4, 11), + overworld_frame(gEventObjectPic_BrendanAcroBike, 4, 4, 12), + overworld_frame(gEventObjectPic_BrendanAcroBike, 4, 4, 13), + overworld_frame(gEventObjectPic_BrendanAcroBike, 4, 4, 14), + overworld_frame(gEventObjectPic_BrendanAcroBike, 4, 4, 15), + overworld_frame(gEventObjectPic_BrendanAcroBike, 4, 4, 16), + overworld_frame(gEventObjectPic_BrendanAcroBike, 4, 4, 17), + overworld_frame(gEventObjectPic_BrendanAcroBike, 4, 4, 18), + overworld_frame(gEventObjectPic_BrendanAcroBike, 4, 4, 19), + overworld_frame(gEventObjectPic_BrendanAcroBike, 4, 4, 20), + overworld_frame(gEventObjectPic_BrendanAcroBike, 4, 4, 21), + overworld_frame(gEventObjectPic_BrendanAcroBike, 4, 4, 22), + overworld_frame(gEventObjectPic_BrendanAcroBike, 4, 4, 23), + overworld_frame(gEventObjectPic_BrendanAcroBike, 4, 4, 24), + overworld_frame(gEventObjectPic_BrendanAcroBike, 4, 4, 25), + overworld_frame(gEventObjectPic_BrendanAcroBike, 4, 4, 26), }; const struct SpriteFrameImage gEventObjectPicTable_BrendanSurfing[] = { - overworld_frame(gEventObjectPic_BrendanSurfing, 32, 32, 0), - overworld_frame(gEventObjectPic_BrendanSurfing, 32, 32, 2), - overworld_frame(gEventObjectPic_BrendanSurfing, 32, 32, 4), - overworld_frame(gEventObjectPic_BrendanSurfing, 32, 32, 0), - overworld_frame(gEventObjectPic_BrendanSurfing, 32, 32, 0), - overworld_frame(gEventObjectPic_BrendanSurfing, 32, 32, 2), - overworld_frame(gEventObjectPic_BrendanSurfing, 32, 32, 2), - overworld_frame(gEventObjectPic_BrendanSurfing, 32, 32, 4), - overworld_frame(gEventObjectPic_BrendanSurfing, 32, 32, 4), - overworld_frame(gEventObjectPic_BrendanSurfing, 32, 32, 1), - overworld_frame(gEventObjectPic_BrendanSurfing, 32, 32, 3), - overworld_frame(gEventObjectPic_BrendanSurfing, 32, 32, 5), + overworld_frame(gEventObjectPic_BrendanSurfing, 4, 4, 0), + overworld_frame(gEventObjectPic_BrendanSurfing, 4, 4, 2), + overworld_frame(gEventObjectPic_BrendanSurfing, 4, 4, 4), + overworld_frame(gEventObjectPic_BrendanSurfing, 4, 4, 0), + overworld_frame(gEventObjectPic_BrendanSurfing, 4, 4, 0), + overworld_frame(gEventObjectPic_BrendanSurfing, 4, 4, 2), + overworld_frame(gEventObjectPic_BrendanSurfing, 4, 4, 2), + overworld_frame(gEventObjectPic_BrendanSurfing, 4, 4, 4), + overworld_frame(gEventObjectPic_BrendanSurfing, 4, 4, 4), + overworld_frame(gEventObjectPic_BrendanSurfing, 4, 4, 1), + overworld_frame(gEventObjectPic_BrendanSurfing, 4, 4, 3), + overworld_frame(gEventObjectPic_BrendanSurfing, 4, 4, 5), }; const struct SpriteFrameImage gEventObjectPicTable_BrendanUnderwater[] = { - overworld_frame(gEventObjectPic_BrendanUnderwater, 32, 32, 0), - overworld_frame(gEventObjectPic_BrendanUnderwater, 32, 32, 1), - overworld_frame(gEventObjectPic_BrendanUnderwater, 32, 32, 2), - overworld_frame(gEventObjectPic_BrendanUnderwater, 32, 32, 0), - overworld_frame(gEventObjectPic_BrendanUnderwater, 32, 32, 0), - overworld_frame(gEventObjectPic_BrendanUnderwater, 32, 32, 1), - overworld_frame(gEventObjectPic_BrendanUnderwater, 32, 32, 1), - overworld_frame(gEventObjectPic_BrendanUnderwater, 32, 32, 2), - overworld_frame(gEventObjectPic_BrendanUnderwater, 32, 32, 2), + overworld_frame(gEventObjectPic_BrendanUnderwater, 4, 4, 0), + overworld_frame(gEventObjectPic_BrendanUnderwater, 4, 4, 1), + overworld_frame(gEventObjectPic_BrendanUnderwater, 4, 4, 2), + overworld_frame(gEventObjectPic_BrendanUnderwater, 4, 4, 0), + overworld_frame(gEventObjectPic_BrendanUnderwater, 4, 4, 0), + overworld_frame(gEventObjectPic_BrendanUnderwater, 4, 4, 1), + overworld_frame(gEventObjectPic_BrendanUnderwater, 4, 4, 1), + overworld_frame(gEventObjectPic_BrendanUnderwater, 4, 4, 2), + overworld_frame(gEventObjectPic_BrendanUnderwater, 4, 4, 2), }; const struct SpriteFrameImage gEventObjectPicTable_BrendanFieldMove[] = { - overworld_frame(gEventObjectPic_BrendanFieldMove, 32, 32, 0), - overworld_frame(gEventObjectPic_BrendanFieldMove, 32, 32, 1), - overworld_frame(gEventObjectPic_BrendanFieldMove, 32, 32, 2), - overworld_frame(gEventObjectPic_BrendanFieldMove, 32, 32, 3), - overworld_frame(gEventObjectPic_BrendanFieldMove, 32, 32, 4), + overworld_frame(gEventObjectPic_BrendanFieldMove, 4, 4, 0), + overworld_frame(gEventObjectPic_BrendanFieldMove, 4, 4, 1), + overworld_frame(gEventObjectPic_BrendanFieldMove, 4, 4, 2), + overworld_frame(gEventObjectPic_BrendanFieldMove, 4, 4, 3), + overworld_frame(gEventObjectPic_BrendanFieldMove, 4, 4, 4), }; const struct SpriteFrameImage gEventObjectPicTable_QuintyPlump[] = { - overworld_frame(gEventObjectPic_QuintyPlump, 32, 32, 0), - overworld_frame(gEventObjectPic_QuintyPlump, 32, 32, 1), - overworld_frame(gEventObjectPic_QuintyPlump, 32, 32, 2), - overworld_frame(gEventObjectPic_QuintyPlump, 32, 32, 3), - overworld_frame(gEventObjectPic_QuintyPlump, 32, 32, 4), - overworld_frame(gEventObjectPic_QuintyPlump, 32, 32, 5), - overworld_frame(gEventObjectPic_QuintyPlump, 32, 32, 6), + overworld_frame(gEventObjectPic_QuintyPlump, 4, 4, 0), + overworld_frame(gEventObjectPic_QuintyPlump, 4, 4, 1), + overworld_frame(gEventObjectPic_QuintyPlump, 4, 4, 2), + overworld_frame(gEventObjectPic_QuintyPlump, 4, 4, 3), + overworld_frame(gEventObjectPic_QuintyPlump, 4, 4, 4), + overworld_frame(gEventObjectPic_QuintyPlump, 4, 4, 5), + overworld_frame(gEventObjectPic_QuintyPlump, 4, 4, 6), }; const struct SpriteFrameImage gEventObjectPicTable_LittleBoy1[] = { - overworld_frame(gEventObjectPic_LittleBoy1, 16, 16, 0), - overworld_frame(gEventObjectPic_LittleBoy1, 16, 16, 1), - overworld_frame(gEventObjectPic_LittleBoy1, 16, 16, 2), - overworld_frame(gEventObjectPic_LittleBoy1, 16, 16, 3), - overworld_frame(gEventObjectPic_LittleBoy1, 16, 16, 4), - overworld_frame(gEventObjectPic_LittleBoy1, 16, 16, 5), - overworld_frame(gEventObjectPic_LittleBoy1, 16, 16, 6), - overworld_frame(gEventObjectPic_LittleBoy1, 16, 16, 7), - overworld_frame(gEventObjectPic_LittleBoy1, 16, 16, 8), + overworld_frame(gEventObjectPic_LittleBoy1, 2, 2, 0), + overworld_frame(gEventObjectPic_LittleBoy1, 2, 2, 1), + overworld_frame(gEventObjectPic_LittleBoy1, 2, 2, 2), + overworld_frame(gEventObjectPic_LittleBoy1, 2, 2, 3), + overworld_frame(gEventObjectPic_LittleBoy1, 2, 2, 4), + overworld_frame(gEventObjectPic_LittleBoy1, 2, 2, 5), + overworld_frame(gEventObjectPic_LittleBoy1, 2, 2, 6), + overworld_frame(gEventObjectPic_LittleBoy1, 2, 2, 7), + overworld_frame(gEventObjectPic_LittleBoy1, 2, 2, 8), }; const struct SpriteFrameImage gEventObjectPicTable_LittleGirl1[] = { - overworld_frame(gEventObjectPic_LittleGirl1, 16, 32, 0), - overworld_frame(gEventObjectPic_LittleGirl1, 16, 32, 1), - overworld_frame(gEventObjectPic_LittleGirl1, 16, 32, 2), - overworld_frame(gEventObjectPic_LittleGirl1, 16, 32, 3), - overworld_frame(gEventObjectPic_LittleGirl1, 16, 32, 4), - overworld_frame(gEventObjectPic_LittleGirl1, 16, 32, 5), - overworld_frame(gEventObjectPic_LittleGirl1, 16, 32, 6), - overworld_frame(gEventObjectPic_LittleGirl1, 16, 32, 7), - overworld_frame(gEventObjectPic_LittleGirl1, 16, 32, 8), + overworld_frame(gEventObjectPic_LittleGirl1, 2, 4, 0), + overworld_frame(gEventObjectPic_LittleGirl1, 2, 4, 1), + overworld_frame(gEventObjectPic_LittleGirl1, 2, 4, 2), + overworld_frame(gEventObjectPic_LittleGirl1, 2, 4, 3), + overworld_frame(gEventObjectPic_LittleGirl1, 2, 4, 4), + overworld_frame(gEventObjectPic_LittleGirl1, 2, 4, 5), + overworld_frame(gEventObjectPic_LittleGirl1, 2, 4, 6), + overworld_frame(gEventObjectPic_LittleGirl1, 2, 4, 7), + overworld_frame(gEventObjectPic_LittleGirl1, 2, 4, 8), }; const struct SpriteFrameImage gEventObjectPicTable_Boy1[] = { - overworld_frame(gEventObjectPic_Boy1, 16, 32, 0), - overworld_frame(gEventObjectPic_Boy1, 16, 32, 1), - overworld_frame(gEventObjectPic_Boy1, 16, 32, 2), - overworld_frame(gEventObjectPic_Boy1, 16, 32, 3), - overworld_frame(gEventObjectPic_Boy1, 16, 32, 4), - overworld_frame(gEventObjectPic_Boy1, 16, 32, 5), - overworld_frame(gEventObjectPic_Boy1, 16, 32, 6), - overworld_frame(gEventObjectPic_Boy1, 16, 32, 7), - overworld_frame(gEventObjectPic_Boy1, 16, 32, 8), + overworld_frame(gEventObjectPic_Boy1, 2, 4, 0), + overworld_frame(gEventObjectPic_Boy1, 2, 4, 1), + overworld_frame(gEventObjectPic_Boy1, 2, 4, 2), + overworld_frame(gEventObjectPic_Boy1, 2, 4, 3), + overworld_frame(gEventObjectPic_Boy1, 2, 4, 4), + overworld_frame(gEventObjectPic_Boy1, 2, 4, 5), + overworld_frame(gEventObjectPic_Boy1, 2, 4, 6), + overworld_frame(gEventObjectPic_Boy1, 2, 4, 7), + overworld_frame(gEventObjectPic_Boy1, 2, 4, 8), }; const struct SpriteFrameImage gEventObjectPicTable_Girl1[] = { - overworld_frame(gEventObjectPic_Girl1, 16, 32, 0), - overworld_frame(gEventObjectPic_Girl1, 16, 32, 1), - overworld_frame(gEventObjectPic_Girl1, 16, 32, 2), - overworld_frame(gEventObjectPic_Girl1, 16, 32, 3), - overworld_frame(gEventObjectPic_Girl1, 16, 32, 4), - overworld_frame(gEventObjectPic_Girl1, 16, 32, 5), - overworld_frame(gEventObjectPic_Girl1, 16, 32, 6), - overworld_frame(gEventObjectPic_Girl1, 16, 32, 7), - overworld_frame(gEventObjectPic_Girl1, 16, 32, 8), + overworld_frame(gEventObjectPic_Girl1, 2, 4, 0), + overworld_frame(gEventObjectPic_Girl1, 2, 4, 1), + overworld_frame(gEventObjectPic_Girl1, 2, 4, 2), + overworld_frame(gEventObjectPic_Girl1, 2, 4, 3), + overworld_frame(gEventObjectPic_Girl1, 2, 4, 4), + overworld_frame(gEventObjectPic_Girl1, 2, 4, 5), + overworld_frame(gEventObjectPic_Girl1, 2, 4, 6), + overworld_frame(gEventObjectPic_Girl1, 2, 4, 7), + overworld_frame(gEventObjectPic_Girl1, 2, 4, 8), }; const struct SpriteFrameImage gEventObjectPicTable_Boy2[] = { - overworld_frame(gEventObjectPic_Boy2, 16, 32, 0), - overworld_frame(gEventObjectPic_Boy2, 16, 32, 1), - overworld_frame(gEventObjectPic_Boy2, 16, 32, 2), - overworld_frame(gEventObjectPic_Boy2, 16, 32, 3), - overworld_frame(gEventObjectPic_Boy2, 16, 32, 4), - overworld_frame(gEventObjectPic_Boy2, 16, 32, 5), - overworld_frame(gEventObjectPic_Boy2, 16, 32, 6), - overworld_frame(gEventObjectPic_Boy2, 16, 32, 7), - overworld_frame(gEventObjectPic_Boy2, 16, 32, 8), + overworld_frame(gEventObjectPic_Boy2, 2, 4, 0), + overworld_frame(gEventObjectPic_Boy2, 2, 4, 1), + overworld_frame(gEventObjectPic_Boy2, 2, 4, 2), + overworld_frame(gEventObjectPic_Boy2, 2, 4, 3), + overworld_frame(gEventObjectPic_Boy2, 2, 4, 4), + overworld_frame(gEventObjectPic_Boy2, 2, 4, 5), + overworld_frame(gEventObjectPic_Boy2, 2, 4, 6), + overworld_frame(gEventObjectPic_Boy2, 2, 4, 7), + overworld_frame(gEventObjectPic_Boy2, 2, 4, 8), }; const struct SpriteFrameImage gEventObjectPicTable_Girl2[] = { - overworld_frame(gEventObjectPic_Girl2, 16, 32, 0), - overworld_frame(gEventObjectPic_Girl2, 16, 32, 1), - overworld_frame(gEventObjectPic_Girl2, 16, 32, 2), - overworld_frame(gEventObjectPic_Girl2, 16, 32, 3), - overworld_frame(gEventObjectPic_Girl2, 16, 32, 4), - overworld_frame(gEventObjectPic_Girl2, 16, 32, 5), - overworld_frame(gEventObjectPic_Girl2, 16, 32, 6), - overworld_frame(gEventObjectPic_Girl2, 16, 32, 7), - overworld_frame(gEventObjectPic_Girl2, 16, 32, 8), + overworld_frame(gEventObjectPic_Girl2, 2, 4, 0), + overworld_frame(gEventObjectPic_Girl2, 2, 4, 1), + overworld_frame(gEventObjectPic_Girl2, 2, 4, 2), + overworld_frame(gEventObjectPic_Girl2, 2, 4, 3), + overworld_frame(gEventObjectPic_Girl2, 2, 4, 4), + overworld_frame(gEventObjectPic_Girl2, 2, 4, 5), + overworld_frame(gEventObjectPic_Girl2, 2, 4, 6), + overworld_frame(gEventObjectPic_Girl2, 2, 4, 7), + overworld_frame(gEventObjectPic_Girl2, 2, 4, 8), }; const struct SpriteFrameImage gEventObjectPicTable_LittleBoy2[] = { - overworld_frame(gEventObjectPic_LittleBoy2, 16, 16, 0), - overworld_frame(gEventObjectPic_LittleBoy2, 16, 16, 1), - overworld_frame(gEventObjectPic_LittleBoy2, 16, 16, 2), - overworld_frame(gEventObjectPic_LittleBoy2, 16, 16, 3), - overworld_frame(gEventObjectPic_LittleBoy2, 16, 16, 4), - overworld_frame(gEventObjectPic_LittleBoy2, 16, 16, 5), - overworld_frame(gEventObjectPic_LittleBoy2, 16, 16, 6), - overworld_frame(gEventObjectPic_LittleBoy2, 16, 16, 7), - overworld_frame(gEventObjectPic_LittleBoy2, 16, 16, 8), + overworld_frame(gEventObjectPic_LittleBoy2, 2, 2, 0), + overworld_frame(gEventObjectPic_LittleBoy2, 2, 2, 1), + overworld_frame(gEventObjectPic_LittleBoy2, 2, 2, 2), + overworld_frame(gEventObjectPic_LittleBoy2, 2, 2, 3), + overworld_frame(gEventObjectPic_LittleBoy2, 2, 2, 4), + overworld_frame(gEventObjectPic_LittleBoy2, 2, 2, 5), + overworld_frame(gEventObjectPic_LittleBoy2, 2, 2, 6), + overworld_frame(gEventObjectPic_LittleBoy2, 2, 2, 7), + overworld_frame(gEventObjectPic_LittleBoy2, 2, 2, 8), }; const struct SpriteFrameImage gEventObjectPicTable_LittleGirl2[] = { - overworld_frame(gEventObjectPic_LittleGirl2, 16, 16, 0), - overworld_frame(gEventObjectPic_LittleGirl2, 16, 16, 1), - overworld_frame(gEventObjectPic_LittleGirl2, 16, 16, 2), - overworld_frame(gEventObjectPic_LittleGirl2, 16, 16, 3), - overworld_frame(gEventObjectPic_LittleGirl2, 16, 16, 4), - overworld_frame(gEventObjectPic_LittleGirl2, 16, 16, 5), - overworld_frame(gEventObjectPic_LittleGirl2, 16, 16, 6), - overworld_frame(gEventObjectPic_LittleGirl2, 16, 16, 7), - overworld_frame(gEventObjectPic_LittleGirl2, 16, 16, 8), + overworld_frame(gEventObjectPic_LittleGirl2, 2, 2, 0), + overworld_frame(gEventObjectPic_LittleGirl2, 2, 2, 1), + overworld_frame(gEventObjectPic_LittleGirl2, 2, 2, 2), + overworld_frame(gEventObjectPic_LittleGirl2, 2, 2, 3), + overworld_frame(gEventObjectPic_LittleGirl2, 2, 2, 4), + overworld_frame(gEventObjectPic_LittleGirl2, 2, 2, 5), + overworld_frame(gEventObjectPic_LittleGirl2, 2, 2, 6), + overworld_frame(gEventObjectPic_LittleGirl2, 2, 2, 7), + overworld_frame(gEventObjectPic_LittleGirl2, 2, 2, 8), }; const struct SpriteFrameImage gEventObjectPicTable_Boy3[] = { - overworld_frame(gEventObjectPic_Boy3, 16, 32, 0), - overworld_frame(gEventObjectPic_Boy3, 16, 32, 1), - overworld_frame(gEventObjectPic_Boy3, 16, 32, 2), - overworld_frame(gEventObjectPic_Boy3, 16, 32, 3), - overworld_frame(gEventObjectPic_Boy3, 16, 32, 4), - overworld_frame(gEventObjectPic_Boy3, 16, 32, 5), - overworld_frame(gEventObjectPic_Boy3, 16, 32, 6), - overworld_frame(gEventObjectPic_Boy3, 16, 32, 7), - overworld_frame(gEventObjectPic_Boy3, 16, 32, 8), + overworld_frame(gEventObjectPic_Boy3, 2, 4, 0), + overworld_frame(gEventObjectPic_Boy3, 2, 4, 1), + overworld_frame(gEventObjectPic_Boy3, 2, 4, 2), + overworld_frame(gEventObjectPic_Boy3, 2, 4, 3), + overworld_frame(gEventObjectPic_Boy3, 2, 4, 4), + overworld_frame(gEventObjectPic_Boy3, 2, 4, 5), + overworld_frame(gEventObjectPic_Boy3, 2, 4, 6), + overworld_frame(gEventObjectPic_Boy3, 2, 4, 7), + overworld_frame(gEventObjectPic_Boy3, 2, 4, 8), }; const struct SpriteFrameImage gEventObjectPicTable_Girl3[] = { - overworld_frame(gEventObjectPic_Girl3, 16, 32, 0), - overworld_frame(gEventObjectPic_Girl3, 16, 32, 1), - overworld_frame(gEventObjectPic_Girl3, 16, 32, 2), - overworld_frame(gEventObjectPic_Girl3, 16, 32, 3), - overworld_frame(gEventObjectPic_Girl3, 16, 32, 4), - overworld_frame(gEventObjectPic_Girl3, 16, 32, 5), - overworld_frame(gEventObjectPic_Girl3, 16, 32, 6), - overworld_frame(gEventObjectPic_Girl3, 16, 32, 7), - overworld_frame(gEventObjectPic_Girl3, 16, 32, 8), + overworld_frame(gEventObjectPic_Girl3, 2, 4, 0), + overworld_frame(gEventObjectPic_Girl3, 2, 4, 1), + overworld_frame(gEventObjectPic_Girl3, 2, 4, 2), + overworld_frame(gEventObjectPic_Girl3, 2, 4, 3), + overworld_frame(gEventObjectPic_Girl3, 2, 4, 4), + overworld_frame(gEventObjectPic_Girl3, 2, 4, 5), + overworld_frame(gEventObjectPic_Girl3, 2, 4, 6), + overworld_frame(gEventObjectPic_Girl3, 2, 4, 7), + overworld_frame(gEventObjectPic_Girl3, 2, 4, 8), }; const struct SpriteFrameImage gEventObjectPicTable_Boy4[] = { - overworld_frame(gEventObjectPic_Boy4, 16, 32, 0), - overworld_frame(gEventObjectPic_Boy4, 16, 32, 1), - overworld_frame(gEventObjectPic_Boy4, 16, 32, 2), - overworld_frame(gEventObjectPic_Boy4, 16, 32, 3), - overworld_frame(gEventObjectPic_Boy4, 16, 32, 4), - overworld_frame(gEventObjectPic_Boy4, 16, 32, 5), - overworld_frame(gEventObjectPic_Boy4, 16, 32, 6), - overworld_frame(gEventObjectPic_Boy4, 16, 32, 7), - overworld_frame(gEventObjectPic_Boy4, 16, 32, 8), + overworld_frame(gEventObjectPic_Boy4, 2, 4, 0), + overworld_frame(gEventObjectPic_Boy4, 2, 4, 1), + overworld_frame(gEventObjectPic_Boy4, 2, 4, 2), + overworld_frame(gEventObjectPic_Boy4, 2, 4, 3), + overworld_frame(gEventObjectPic_Boy4, 2, 4, 4), + overworld_frame(gEventObjectPic_Boy4, 2, 4, 5), + overworld_frame(gEventObjectPic_Boy4, 2, 4, 6), + overworld_frame(gEventObjectPic_Boy4, 2, 4, 7), + overworld_frame(gEventObjectPic_Boy4, 2, 4, 8), }; const struct SpriteFrameImage gEventObjectPicTable_Woman1[] = { - overworld_frame(gEventObjectPic_Woman1, 16, 32, 0), - overworld_frame(gEventObjectPic_Woman1, 16, 32, 1), - overworld_frame(gEventObjectPic_Woman1, 16, 32, 2), - overworld_frame(gEventObjectPic_Woman1, 16, 32, 3), - overworld_frame(gEventObjectPic_Woman1, 16, 32, 4), - overworld_frame(gEventObjectPic_Woman1, 16, 32, 5), - overworld_frame(gEventObjectPic_Woman1, 16, 32, 6), - overworld_frame(gEventObjectPic_Woman1, 16, 32, 7), - overworld_frame(gEventObjectPic_Woman1, 16, 32, 8), + overworld_frame(gEventObjectPic_Woman1, 2, 4, 0), + overworld_frame(gEventObjectPic_Woman1, 2, 4, 1), + overworld_frame(gEventObjectPic_Woman1, 2, 4, 2), + overworld_frame(gEventObjectPic_Woman1, 2, 4, 3), + overworld_frame(gEventObjectPic_Woman1, 2, 4, 4), + overworld_frame(gEventObjectPic_Woman1, 2, 4, 5), + overworld_frame(gEventObjectPic_Woman1, 2, 4, 6), + overworld_frame(gEventObjectPic_Woman1, 2, 4, 7), + overworld_frame(gEventObjectPic_Woman1, 2, 4, 8), }; const struct SpriteFrameImage gEventObjectPicTable_FatMan[] = { - overworld_frame(gEventObjectPic_FatMan, 16, 32, 0), - overworld_frame(gEventObjectPic_FatMan, 16, 32, 1), - overworld_frame(gEventObjectPic_FatMan, 16, 32, 2), - overworld_frame(gEventObjectPic_FatMan, 16, 32, 3), - overworld_frame(gEventObjectPic_FatMan, 16, 32, 4), - overworld_frame(gEventObjectPic_FatMan, 16, 32, 5), - overworld_frame(gEventObjectPic_FatMan, 16, 32, 6), - overworld_frame(gEventObjectPic_FatMan, 16, 32, 7), - overworld_frame(gEventObjectPic_FatMan, 16, 32, 8), + overworld_frame(gEventObjectPic_FatMan, 2, 4, 0), + overworld_frame(gEventObjectPic_FatMan, 2, 4, 1), + overworld_frame(gEventObjectPic_FatMan, 2, 4, 2), + overworld_frame(gEventObjectPic_FatMan, 2, 4, 3), + overworld_frame(gEventObjectPic_FatMan, 2, 4, 4), + overworld_frame(gEventObjectPic_FatMan, 2, 4, 5), + overworld_frame(gEventObjectPic_FatMan, 2, 4, 6), + overworld_frame(gEventObjectPic_FatMan, 2, 4, 7), + overworld_frame(gEventObjectPic_FatMan, 2, 4, 8), }; const struct SpriteFrameImage gEventObjectPicTable_Woman2[] = { - overworld_frame(gEventObjectPic_Woman2, 16, 32, 0), - overworld_frame(gEventObjectPic_Woman2, 16, 32, 1), - overworld_frame(gEventObjectPic_Woman2, 16, 32, 2), - overworld_frame(gEventObjectPic_Woman2, 16, 32, 3), - overworld_frame(gEventObjectPic_Woman2, 16, 32, 4), - overworld_frame(gEventObjectPic_Woman2, 16, 32, 5), - overworld_frame(gEventObjectPic_Woman2, 16, 32, 6), - overworld_frame(gEventObjectPic_Woman2, 16, 32, 7), - overworld_frame(gEventObjectPic_Woman2, 16, 32, 8), + overworld_frame(gEventObjectPic_Woman2, 2, 4, 0), + overworld_frame(gEventObjectPic_Woman2, 2, 4, 1), + overworld_frame(gEventObjectPic_Woman2, 2, 4, 2), + overworld_frame(gEventObjectPic_Woman2, 2, 4, 3), + overworld_frame(gEventObjectPic_Woman2, 2, 4, 4), + overworld_frame(gEventObjectPic_Woman2, 2, 4, 5), + overworld_frame(gEventObjectPic_Woman2, 2, 4, 6), + overworld_frame(gEventObjectPic_Woman2, 2, 4, 7), + overworld_frame(gEventObjectPic_Woman2, 2, 4, 8), }; const struct SpriteFrameImage gEventObjectPicTable_Man1[] = { - overworld_frame(gEventObjectPic_Man1, 16, 32, 0), - overworld_frame(gEventObjectPic_Man1, 16, 32, 1), - overworld_frame(gEventObjectPic_Man1, 16, 32, 2), - overworld_frame(gEventObjectPic_Man1, 16, 32, 3), - overworld_frame(gEventObjectPic_Man1, 16, 32, 4), - overworld_frame(gEventObjectPic_Man1, 16, 32, 5), - overworld_frame(gEventObjectPic_Man1, 16, 32, 6), - overworld_frame(gEventObjectPic_Man1, 16, 32, 7), - overworld_frame(gEventObjectPic_Man1, 16, 32, 8), + overworld_frame(gEventObjectPic_Man1, 2, 4, 0), + overworld_frame(gEventObjectPic_Man1, 2, 4, 1), + overworld_frame(gEventObjectPic_Man1, 2, 4, 2), + overworld_frame(gEventObjectPic_Man1, 2, 4, 3), + overworld_frame(gEventObjectPic_Man1, 2, 4, 4), + overworld_frame(gEventObjectPic_Man1, 2, 4, 5), + overworld_frame(gEventObjectPic_Man1, 2, 4, 6), + overworld_frame(gEventObjectPic_Man1, 2, 4, 7), + overworld_frame(gEventObjectPic_Man1, 2, 4, 8), }; const struct SpriteFrameImage gEventObjectPicTable_Woman3[] = { - overworld_frame(gEventObjectPic_Woman3, 16, 32, 0), - overworld_frame(gEventObjectPic_Woman3, 16, 32, 1), - overworld_frame(gEventObjectPic_Woman3, 16, 32, 2), - overworld_frame(gEventObjectPic_Woman3, 16, 32, 3), - overworld_frame(gEventObjectPic_Woman3, 16, 32, 4), - overworld_frame(gEventObjectPic_Woman3, 16, 32, 5), - overworld_frame(gEventObjectPic_Woman3, 16, 32, 6), - overworld_frame(gEventObjectPic_Woman3, 16, 32, 7), - overworld_frame(gEventObjectPic_Woman3, 16, 32, 8), + overworld_frame(gEventObjectPic_Woman3, 2, 4, 0), + overworld_frame(gEventObjectPic_Woman3, 2, 4, 1), + overworld_frame(gEventObjectPic_Woman3, 2, 4, 2), + overworld_frame(gEventObjectPic_Woman3, 2, 4, 3), + overworld_frame(gEventObjectPic_Woman3, 2, 4, 4), + overworld_frame(gEventObjectPic_Woman3, 2, 4, 5), + overworld_frame(gEventObjectPic_Woman3, 2, 4, 6), + overworld_frame(gEventObjectPic_Woman3, 2, 4, 7), + overworld_frame(gEventObjectPic_Woman3, 2, 4, 8), }; const struct SpriteFrameImage gEventObjectPicTable_OldMan1[] = { - overworld_frame(gEventObjectPic_OldMan1, 16, 32, 0), - overworld_frame(gEventObjectPic_OldMan1, 16, 32, 1), - overworld_frame(gEventObjectPic_OldMan1, 16, 32, 2), - overworld_frame(gEventObjectPic_OldMan1, 16, 32, 3), - overworld_frame(gEventObjectPic_OldMan1, 16, 32, 4), - overworld_frame(gEventObjectPic_OldMan1, 16, 32, 5), - overworld_frame(gEventObjectPic_OldMan1, 16, 32, 6), - overworld_frame(gEventObjectPic_OldMan1, 16, 32, 7), - overworld_frame(gEventObjectPic_OldMan1, 16, 32, 8), + overworld_frame(gEventObjectPic_OldMan1, 2, 4, 0), + overworld_frame(gEventObjectPic_OldMan1, 2, 4, 1), + overworld_frame(gEventObjectPic_OldMan1, 2, 4, 2), + overworld_frame(gEventObjectPic_OldMan1, 2, 4, 3), + overworld_frame(gEventObjectPic_OldMan1, 2, 4, 4), + overworld_frame(gEventObjectPic_OldMan1, 2, 4, 5), + overworld_frame(gEventObjectPic_OldMan1, 2, 4, 6), + overworld_frame(gEventObjectPic_OldMan1, 2, 4, 7), + overworld_frame(gEventObjectPic_OldMan1, 2, 4, 8), }; const struct SpriteFrameImage gEventObjectPicTable_OldWoman1[] = { - overworld_frame(gEventObjectPic_OldWoman1, 16, 32, 0), - overworld_frame(gEventObjectPic_OldWoman1, 16, 32, 1), - overworld_frame(gEventObjectPic_OldWoman1, 16, 32, 2), - overworld_frame(gEventObjectPic_OldWoman1, 16, 32, 3), - overworld_frame(gEventObjectPic_OldWoman1, 16, 32, 4), - overworld_frame(gEventObjectPic_OldWoman1, 16, 32, 5), - overworld_frame(gEventObjectPic_OldWoman1, 16, 32, 6), - overworld_frame(gEventObjectPic_OldWoman1, 16, 32, 7), - overworld_frame(gEventObjectPic_OldWoman1, 16, 32, 8), + overworld_frame(gEventObjectPic_OldWoman1, 2, 4, 0), + overworld_frame(gEventObjectPic_OldWoman1, 2, 4, 1), + overworld_frame(gEventObjectPic_OldWoman1, 2, 4, 2), + overworld_frame(gEventObjectPic_OldWoman1, 2, 4, 3), + overworld_frame(gEventObjectPic_OldWoman1, 2, 4, 4), + overworld_frame(gEventObjectPic_OldWoman1, 2, 4, 5), + overworld_frame(gEventObjectPic_OldWoman1, 2, 4, 6), + overworld_frame(gEventObjectPic_OldWoman1, 2, 4, 7), + overworld_frame(gEventObjectPic_OldWoman1, 2, 4, 8), }; const struct SpriteFrameImage gEventObjectPicTable_Man2[] = { - overworld_frame(gEventObjectPic_Man2, 16, 32, 0), - overworld_frame(gEventObjectPic_Man2, 16, 32, 1), - overworld_frame(gEventObjectPic_Man2, 16, 32, 2), - overworld_frame(gEventObjectPic_Man2, 16, 32, 3), - overworld_frame(gEventObjectPic_Man2, 16, 32, 4), - overworld_frame(gEventObjectPic_Man2, 16, 32, 5), - overworld_frame(gEventObjectPic_Man2, 16, 32, 6), - overworld_frame(gEventObjectPic_Man2, 16, 32, 7), - overworld_frame(gEventObjectPic_Man2, 16, 32, 8), + overworld_frame(gEventObjectPic_Man2, 2, 4, 0), + overworld_frame(gEventObjectPic_Man2, 2, 4, 1), + overworld_frame(gEventObjectPic_Man2, 2, 4, 2), + overworld_frame(gEventObjectPic_Man2, 2, 4, 3), + overworld_frame(gEventObjectPic_Man2, 2, 4, 4), + overworld_frame(gEventObjectPic_Man2, 2, 4, 5), + overworld_frame(gEventObjectPic_Man2, 2, 4, 6), + overworld_frame(gEventObjectPic_Man2, 2, 4, 7), + overworld_frame(gEventObjectPic_Man2, 2, 4, 8), }; const struct SpriteFrameImage gEventObjectPicTable_Woman4[] = { - overworld_frame(gEventObjectPic_Woman4, 16, 32, 0), - overworld_frame(gEventObjectPic_Woman4, 16, 32, 1), - overworld_frame(gEventObjectPic_Woman4, 16, 32, 2), - overworld_frame(gEventObjectPic_Woman4, 16, 32, 3), - overworld_frame(gEventObjectPic_Woman4, 16, 32, 4), - overworld_frame(gEventObjectPic_Woman4, 16, 32, 5), - overworld_frame(gEventObjectPic_Woman4, 16, 32, 6), - overworld_frame(gEventObjectPic_Woman4, 16, 32, 7), - overworld_frame(gEventObjectPic_Woman4, 16, 32, 8), + overworld_frame(gEventObjectPic_Woman4, 2, 4, 0), + overworld_frame(gEventObjectPic_Woman4, 2, 4, 1), + overworld_frame(gEventObjectPic_Woman4, 2, 4, 2), + overworld_frame(gEventObjectPic_Woman4, 2, 4, 3), + overworld_frame(gEventObjectPic_Woman4, 2, 4, 4), + overworld_frame(gEventObjectPic_Woman4, 2, 4, 5), + overworld_frame(gEventObjectPic_Woman4, 2, 4, 6), + overworld_frame(gEventObjectPic_Woman4, 2, 4, 7), + overworld_frame(gEventObjectPic_Woman4, 2, 4, 8), }; const struct SpriteFrameImage gEventObjectPicTable_Man3[] = { - overworld_frame(gEventObjectPic_Man3, 16, 32, 0), - overworld_frame(gEventObjectPic_Man3, 16, 32, 1), - overworld_frame(gEventObjectPic_Man3, 16, 32, 2), - overworld_frame(gEventObjectPic_Man3, 16, 32, 3), - overworld_frame(gEventObjectPic_Man3, 16, 32, 4), - overworld_frame(gEventObjectPic_Man3, 16, 32, 5), - overworld_frame(gEventObjectPic_Man3, 16, 32, 6), - overworld_frame(gEventObjectPic_Man3, 16, 32, 7), - overworld_frame(gEventObjectPic_Man3, 16, 32, 8), + overworld_frame(gEventObjectPic_Man3, 2, 4, 0), + overworld_frame(gEventObjectPic_Man3, 2, 4, 1), + overworld_frame(gEventObjectPic_Man3, 2, 4, 2), + overworld_frame(gEventObjectPic_Man3, 2, 4, 3), + overworld_frame(gEventObjectPic_Man3, 2, 4, 4), + overworld_frame(gEventObjectPic_Man3, 2, 4, 5), + overworld_frame(gEventObjectPic_Man3, 2, 4, 6), + overworld_frame(gEventObjectPic_Man3, 2, 4, 7), + overworld_frame(gEventObjectPic_Man3, 2, 4, 8), }; const struct SpriteFrameImage gEventObjectPicTable_Woman5[] = { - overworld_frame(gEventObjectPic_Woman5, 16, 32, 0), - overworld_frame(gEventObjectPic_Woman5, 16, 32, 1), - overworld_frame(gEventObjectPic_Woman5, 16, 32, 2), - overworld_frame(gEventObjectPic_Woman5, 16, 32, 3), - overworld_frame(gEventObjectPic_Woman5, 16, 32, 4), - overworld_frame(gEventObjectPic_Woman5, 16, 32, 5), - overworld_frame(gEventObjectPic_Woman5, 16, 32, 6), - overworld_frame(gEventObjectPic_Woman5, 16, 32, 7), - overworld_frame(gEventObjectPic_Woman5, 16, 32, 8), + overworld_frame(gEventObjectPic_Woman5, 2, 4, 0), + overworld_frame(gEventObjectPic_Woman5, 2, 4, 1), + overworld_frame(gEventObjectPic_Woman5, 2, 4, 2), + overworld_frame(gEventObjectPic_Woman5, 2, 4, 3), + overworld_frame(gEventObjectPic_Woman5, 2, 4, 4), + overworld_frame(gEventObjectPic_Woman5, 2, 4, 5), + overworld_frame(gEventObjectPic_Woman5, 2, 4, 6), + overworld_frame(gEventObjectPic_Woman5, 2, 4, 7), + overworld_frame(gEventObjectPic_Woman5, 2, 4, 8), }; const struct SpriteFrameImage gEventObjectPicTable_Cook[] = { - overworld_frame(gEventObjectPic_Cook, 16, 32, 0), - overworld_frame(gEventObjectPic_Cook, 16, 32, 1), - overworld_frame(gEventObjectPic_Cook, 16, 32, 2), - overworld_frame(gEventObjectPic_Cook, 16, 32, 0), - overworld_frame(gEventObjectPic_Cook, 16, 32, 0), - overworld_frame(gEventObjectPic_Cook, 16, 32, 1), - overworld_frame(gEventObjectPic_Cook, 16, 32, 1), - overworld_frame(gEventObjectPic_Cook, 16, 32, 2), - overworld_frame(gEventObjectPic_Cook, 16, 32, 2), + overworld_frame(gEventObjectPic_Cook, 2, 4, 0), + overworld_frame(gEventObjectPic_Cook, 2, 4, 1), + overworld_frame(gEventObjectPic_Cook, 2, 4, 2), + overworld_frame(gEventObjectPic_Cook, 2, 4, 0), + overworld_frame(gEventObjectPic_Cook, 2, 4, 0), + overworld_frame(gEventObjectPic_Cook, 2, 4, 1), + overworld_frame(gEventObjectPic_Cook, 2, 4, 1), + overworld_frame(gEventObjectPic_Cook, 2, 4, 2), + overworld_frame(gEventObjectPic_Cook, 2, 4, 2), }; const struct SpriteFrameImage gEventObjectPicTable_Woman6[] = { - overworld_frame(gEventObjectPic_Woman6, 16, 32, 0), - overworld_frame(gEventObjectPic_Woman6, 16, 32, 1), - overworld_frame(gEventObjectPic_Woman6, 16, 32, 2), - overworld_frame(gEventObjectPic_Woman6, 16, 32, 3), - overworld_frame(gEventObjectPic_Woman6, 16, 32, 4), - overworld_frame(gEventObjectPic_Woman6, 16, 32, 5), - overworld_frame(gEventObjectPic_Woman6, 16, 32, 6), - overworld_frame(gEventObjectPic_Woman6, 16, 32, 7), - overworld_frame(gEventObjectPic_Woman6, 16, 32, 8), + overworld_frame(gEventObjectPic_Woman6, 2, 4, 0), + overworld_frame(gEventObjectPic_Woman6, 2, 4, 1), + overworld_frame(gEventObjectPic_Woman6, 2, 4, 2), + overworld_frame(gEventObjectPic_Woman6, 2, 4, 3), + overworld_frame(gEventObjectPic_Woman6, 2, 4, 4), + overworld_frame(gEventObjectPic_Woman6, 2, 4, 5), + overworld_frame(gEventObjectPic_Woman6, 2, 4, 6), + overworld_frame(gEventObjectPic_Woman6, 2, 4, 7), + overworld_frame(gEventObjectPic_Woman6, 2, 4, 8), }; const struct SpriteFrameImage gEventObjectPicTable_OldMan2[] = { - overworld_frame(gEventObjectPic_OldMan2, 16, 32, 0), - overworld_frame(gEventObjectPic_OldMan2, 16, 32, 1), - overworld_frame(gEventObjectPic_OldMan2, 16, 32, 2), - overworld_frame(gEventObjectPic_OldMan2, 16, 32, 0), - overworld_frame(gEventObjectPic_OldMan2, 16, 32, 0), - overworld_frame(gEventObjectPic_OldMan2, 16, 32, 1), - overworld_frame(gEventObjectPic_OldMan2, 16, 32, 1), - overworld_frame(gEventObjectPic_OldMan2, 16, 32, 2), - overworld_frame(gEventObjectPic_OldMan2, 16, 32, 2), + overworld_frame(gEventObjectPic_OldMan2, 2, 4, 0), + overworld_frame(gEventObjectPic_OldMan2, 2, 4, 1), + overworld_frame(gEventObjectPic_OldMan2, 2, 4, 2), + overworld_frame(gEventObjectPic_OldMan2, 2, 4, 0), + overworld_frame(gEventObjectPic_OldMan2, 2, 4, 0), + overworld_frame(gEventObjectPic_OldMan2, 2, 4, 1), + overworld_frame(gEventObjectPic_OldMan2, 2, 4, 1), + overworld_frame(gEventObjectPic_OldMan2, 2, 4, 2), + overworld_frame(gEventObjectPic_OldMan2, 2, 4, 2), }; const struct SpriteFrameImage gEventObjectPicTable_OldWoman2[] = { - overworld_frame(gEventObjectPic_OldWoman2, 16, 32, 0), - overworld_frame(gEventObjectPic_OldWoman2, 16, 32, 1), - overworld_frame(gEventObjectPic_OldWoman2, 16, 32, 2), - overworld_frame(gEventObjectPic_OldWoman2, 16, 32, 3), - overworld_frame(gEventObjectPic_OldWoman2, 16, 32, 4), - overworld_frame(gEventObjectPic_OldWoman2, 16, 32, 5), - overworld_frame(gEventObjectPic_OldWoman2, 16, 32, 6), - overworld_frame(gEventObjectPic_OldWoman2, 16, 32, 7), - overworld_frame(gEventObjectPic_OldWoman2, 16, 32, 8), + overworld_frame(gEventObjectPic_OldWoman2, 2, 4, 0), + overworld_frame(gEventObjectPic_OldWoman2, 2, 4, 1), + overworld_frame(gEventObjectPic_OldWoman2, 2, 4, 2), + overworld_frame(gEventObjectPic_OldWoman2, 2, 4, 3), + overworld_frame(gEventObjectPic_OldWoman2, 2, 4, 4), + overworld_frame(gEventObjectPic_OldWoman2, 2, 4, 5), + overworld_frame(gEventObjectPic_OldWoman2, 2, 4, 6), + overworld_frame(gEventObjectPic_OldWoman2, 2, 4, 7), + overworld_frame(gEventObjectPic_OldWoman2, 2, 4, 8), }; const struct SpriteFrameImage gEventObjectPicTable_Camper[] = { - overworld_frame(gEventObjectPic_Camper, 16, 32, 0), - overworld_frame(gEventObjectPic_Camper, 16, 32, 1), - overworld_frame(gEventObjectPic_Camper, 16, 32, 2), - overworld_frame(gEventObjectPic_Camper, 16, 32, 3), - overworld_frame(gEventObjectPic_Camper, 16, 32, 4), - overworld_frame(gEventObjectPic_Camper, 16, 32, 5), - overworld_frame(gEventObjectPic_Camper, 16, 32, 6), - overworld_frame(gEventObjectPic_Camper, 16, 32, 7), - overworld_frame(gEventObjectPic_Camper, 16, 32, 8), + overworld_frame(gEventObjectPic_Camper, 2, 4, 0), + overworld_frame(gEventObjectPic_Camper, 2, 4, 1), + overworld_frame(gEventObjectPic_Camper, 2, 4, 2), + overworld_frame(gEventObjectPic_Camper, 2, 4, 3), + overworld_frame(gEventObjectPic_Camper, 2, 4, 4), + overworld_frame(gEventObjectPic_Camper, 2, 4, 5), + overworld_frame(gEventObjectPic_Camper, 2, 4, 6), + overworld_frame(gEventObjectPic_Camper, 2, 4, 7), + overworld_frame(gEventObjectPic_Camper, 2, 4, 8), }; const struct SpriteFrameImage gEventObjectPicTable_Picnicker[] = { - overworld_frame(gEventObjectPic_Picnicker, 16, 32, 0), - overworld_frame(gEventObjectPic_Picnicker, 16, 32, 1), - overworld_frame(gEventObjectPic_Picnicker, 16, 32, 2), - overworld_frame(gEventObjectPic_Picnicker, 16, 32, 3), - overworld_frame(gEventObjectPic_Picnicker, 16, 32, 4), - overworld_frame(gEventObjectPic_Picnicker, 16, 32, 5), - overworld_frame(gEventObjectPic_Picnicker, 16, 32, 6), - overworld_frame(gEventObjectPic_Picnicker, 16, 32, 7), - overworld_frame(gEventObjectPic_Picnicker, 16, 32, 8), + overworld_frame(gEventObjectPic_Picnicker, 2, 4, 0), + overworld_frame(gEventObjectPic_Picnicker, 2, 4, 1), + overworld_frame(gEventObjectPic_Picnicker, 2, 4, 2), + overworld_frame(gEventObjectPic_Picnicker, 2, 4, 3), + overworld_frame(gEventObjectPic_Picnicker, 2, 4, 4), + overworld_frame(gEventObjectPic_Picnicker, 2, 4, 5), + overworld_frame(gEventObjectPic_Picnicker, 2, 4, 6), + overworld_frame(gEventObjectPic_Picnicker, 2, 4, 7), + overworld_frame(gEventObjectPic_Picnicker, 2, 4, 8), }; const struct SpriteFrameImage gEventObjectPicTable_Man4[] = { - overworld_frame(gEventObjectPic_Man4, 16, 32, 0), - overworld_frame(gEventObjectPic_Man4, 16, 32, 1), - overworld_frame(gEventObjectPic_Man4, 16, 32, 2), - overworld_frame(gEventObjectPic_Man4, 16, 32, 3), - overworld_frame(gEventObjectPic_Man4, 16, 32, 4), - overworld_frame(gEventObjectPic_Man4, 16, 32, 5), - overworld_frame(gEventObjectPic_Man4, 16, 32, 6), - overworld_frame(gEventObjectPic_Man4, 16, 32, 7), - overworld_frame(gEventObjectPic_Man4, 16, 32, 8), + overworld_frame(gEventObjectPic_Man4, 2, 4, 0), + overworld_frame(gEventObjectPic_Man4, 2, 4, 1), + overworld_frame(gEventObjectPic_Man4, 2, 4, 2), + overworld_frame(gEventObjectPic_Man4, 2, 4, 3), + overworld_frame(gEventObjectPic_Man4, 2, 4, 4), + overworld_frame(gEventObjectPic_Man4, 2, 4, 5), + overworld_frame(gEventObjectPic_Man4, 2, 4, 6), + overworld_frame(gEventObjectPic_Man4, 2, 4, 7), + overworld_frame(gEventObjectPic_Man4, 2, 4, 8), }; const struct SpriteFrameImage gEventObjectPicTable_Woman7[] = { - overworld_frame(gEventObjectPic_Woman7, 16, 32, 0), - overworld_frame(gEventObjectPic_Woman7, 16, 32, 1), - overworld_frame(gEventObjectPic_Woman7, 16, 32, 2), - overworld_frame(gEventObjectPic_Woman7, 16, 32, 3), - overworld_frame(gEventObjectPic_Woman7, 16, 32, 4), - overworld_frame(gEventObjectPic_Woman7, 16, 32, 5), - overworld_frame(gEventObjectPic_Woman7, 16, 32, 6), - overworld_frame(gEventObjectPic_Woman7, 16, 32, 7), - overworld_frame(gEventObjectPic_Woman7, 16, 32, 8), + overworld_frame(gEventObjectPic_Woman7, 2, 4, 0), + overworld_frame(gEventObjectPic_Woman7, 2, 4, 1), + overworld_frame(gEventObjectPic_Woman7, 2, 4, 2), + overworld_frame(gEventObjectPic_Woman7, 2, 4, 3), + overworld_frame(gEventObjectPic_Woman7, 2, 4, 4), + overworld_frame(gEventObjectPic_Woman7, 2, 4, 5), + overworld_frame(gEventObjectPic_Woman7, 2, 4, 6), + overworld_frame(gEventObjectPic_Woman7, 2, 4, 7), + overworld_frame(gEventObjectPic_Woman7, 2, 4, 8), }; const struct SpriteFrameImage gEventObjectPicTable_Youngster[] = { - overworld_frame(gEventObjectPic_Youngster, 16, 32, 0), - overworld_frame(gEventObjectPic_Youngster, 16, 32, 1), - overworld_frame(gEventObjectPic_Youngster, 16, 32, 2), - overworld_frame(gEventObjectPic_Youngster, 16, 32, 3), - overworld_frame(gEventObjectPic_Youngster, 16, 32, 4), - overworld_frame(gEventObjectPic_Youngster, 16, 32, 5), - overworld_frame(gEventObjectPic_Youngster, 16, 32, 6), - overworld_frame(gEventObjectPic_Youngster, 16, 32, 7), - overworld_frame(gEventObjectPic_Youngster, 16, 32, 8), + overworld_frame(gEventObjectPic_Youngster, 2, 4, 0), + overworld_frame(gEventObjectPic_Youngster, 2, 4, 1), + overworld_frame(gEventObjectPic_Youngster, 2, 4, 2), + overworld_frame(gEventObjectPic_Youngster, 2, 4, 3), + overworld_frame(gEventObjectPic_Youngster, 2, 4, 4), + overworld_frame(gEventObjectPic_Youngster, 2, 4, 5), + overworld_frame(gEventObjectPic_Youngster, 2, 4, 6), + overworld_frame(gEventObjectPic_Youngster, 2, 4, 7), + overworld_frame(gEventObjectPic_Youngster, 2, 4, 8), }; const struct SpriteFrameImage gEventObjectPicTable_BugCatcher[] = { - overworld_frame(gEventObjectPic_BugCatcher, 16, 32, 0), - overworld_frame(gEventObjectPic_BugCatcher, 16, 32, 1), - overworld_frame(gEventObjectPic_BugCatcher, 16, 32, 2), - overworld_frame(gEventObjectPic_BugCatcher, 16, 32, 3), - overworld_frame(gEventObjectPic_BugCatcher, 16, 32, 4), - overworld_frame(gEventObjectPic_BugCatcher, 16, 32, 5), - overworld_frame(gEventObjectPic_BugCatcher, 16, 32, 6), - overworld_frame(gEventObjectPic_BugCatcher, 16, 32, 7), - overworld_frame(gEventObjectPic_BugCatcher, 16, 32, 8), + overworld_frame(gEventObjectPic_BugCatcher, 2, 4, 0), + overworld_frame(gEventObjectPic_BugCatcher, 2, 4, 1), + overworld_frame(gEventObjectPic_BugCatcher, 2, 4, 2), + overworld_frame(gEventObjectPic_BugCatcher, 2, 4, 3), + overworld_frame(gEventObjectPic_BugCatcher, 2, 4, 4), + overworld_frame(gEventObjectPic_BugCatcher, 2, 4, 5), + overworld_frame(gEventObjectPic_BugCatcher, 2, 4, 6), + overworld_frame(gEventObjectPic_BugCatcher, 2, 4, 7), + overworld_frame(gEventObjectPic_BugCatcher, 2, 4, 8), }; const struct SpriteFrameImage gEventObjectPicTable_PsychicM[] = { - overworld_frame(gEventObjectPic_PsychicM, 16, 32, 0), - overworld_frame(gEventObjectPic_PsychicM, 16, 32, 1), - overworld_frame(gEventObjectPic_PsychicM, 16, 32, 2), - overworld_frame(gEventObjectPic_PsychicM, 16, 32, 3), - overworld_frame(gEventObjectPic_PsychicM, 16, 32, 4), - overworld_frame(gEventObjectPic_PsychicM, 16, 32, 5), - overworld_frame(gEventObjectPic_PsychicM, 16, 32, 6), - overworld_frame(gEventObjectPic_PsychicM, 16, 32, 7), - overworld_frame(gEventObjectPic_PsychicM, 16, 32, 8), + overworld_frame(gEventObjectPic_PsychicM, 2, 4, 0), + overworld_frame(gEventObjectPic_PsychicM, 2, 4, 1), + overworld_frame(gEventObjectPic_PsychicM, 2, 4, 2), + overworld_frame(gEventObjectPic_PsychicM, 2, 4, 3), + overworld_frame(gEventObjectPic_PsychicM, 2, 4, 4), + overworld_frame(gEventObjectPic_PsychicM, 2, 4, 5), + overworld_frame(gEventObjectPic_PsychicM, 2, 4, 6), + overworld_frame(gEventObjectPic_PsychicM, 2, 4, 7), + overworld_frame(gEventObjectPic_PsychicM, 2, 4, 8), }; const struct SpriteFrameImage gEventObjectPicTable_SchoolKidM[] = { - overworld_frame(gEventObjectPic_SchoolKidM, 16, 32, 0), - overworld_frame(gEventObjectPic_SchoolKidM, 16, 32, 1), - overworld_frame(gEventObjectPic_SchoolKidM, 16, 32, 2), - overworld_frame(gEventObjectPic_SchoolKidM, 16, 32, 3), - overworld_frame(gEventObjectPic_SchoolKidM, 16, 32, 4), - overworld_frame(gEventObjectPic_SchoolKidM, 16, 32, 5), - overworld_frame(gEventObjectPic_SchoolKidM, 16, 32, 6), - overworld_frame(gEventObjectPic_SchoolKidM, 16, 32, 7), - overworld_frame(gEventObjectPic_SchoolKidM, 16, 32, 8), + overworld_frame(gEventObjectPic_SchoolKidM, 2, 4, 0), + overworld_frame(gEventObjectPic_SchoolKidM, 2, 4, 1), + overworld_frame(gEventObjectPic_SchoolKidM, 2, 4, 2), + overworld_frame(gEventObjectPic_SchoolKidM, 2, 4, 3), + overworld_frame(gEventObjectPic_SchoolKidM, 2, 4, 4), + overworld_frame(gEventObjectPic_SchoolKidM, 2, 4, 5), + overworld_frame(gEventObjectPic_SchoolKidM, 2, 4, 6), + overworld_frame(gEventObjectPic_SchoolKidM, 2, 4, 7), + overworld_frame(gEventObjectPic_SchoolKidM, 2, 4, 8), }; const struct SpriteFrameImage gEventObjectPicTable_Maniac[] = { - overworld_frame(gEventObjectPic_Maniac, 16, 32, 0), - overworld_frame(gEventObjectPic_Maniac, 16, 32, 1), - overworld_frame(gEventObjectPic_Maniac, 16, 32, 2), - overworld_frame(gEventObjectPic_Maniac, 16, 32, 3), - overworld_frame(gEventObjectPic_Maniac, 16, 32, 4), - overworld_frame(gEventObjectPic_Maniac, 16, 32, 5), - overworld_frame(gEventObjectPic_Maniac, 16, 32, 6), - overworld_frame(gEventObjectPic_Maniac, 16, 32, 7), - overworld_frame(gEventObjectPic_Maniac, 16, 32, 8), + overworld_frame(gEventObjectPic_Maniac, 2, 4, 0), + overworld_frame(gEventObjectPic_Maniac, 2, 4, 1), + overworld_frame(gEventObjectPic_Maniac, 2, 4, 2), + overworld_frame(gEventObjectPic_Maniac, 2, 4, 3), + overworld_frame(gEventObjectPic_Maniac, 2, 4, 4), + overworld_frame(gEventObjectPic_Maniac, 2, 4, 5), + overworld_frame(gEventObjectPic_Maniac, 2, 4, 6), + overworld_frame(gEventObjectPic_Maniac, 2, 4, 7), + overworld_frame(gEventObjectPic_Maniac, 2, 4, 8), }; const struct SpriteFrameImage gEventObjectPicTable_HexManiac[] = { - overworld_frame(gEventObjectPic_HexManiac, 16, 32, 0), - overworld_frame(gEventObjectPic_HexManiac, 16, 32, 1), - overworld_frame(gEventObjectPic_HexManiac, 16, 32, 2), - overworld_frame(gEventObjectPic_HexManiac, 16, 32, 3), - overworld_frame(gEventObjectPic_HexManiac, 16, 32, 4), - overworld_frame(gEventObjectPic_HexManiac, 16, 32, 5), - overworld_frame(gEventObjectPic_HexManiac, 16, 32, 6), - overworld_frame(gEventObjectPic_HexManiac, 16, 32, 7), - overworld_frame(gEventObjectPic_HexManiac, 16, 32, 8), + overworld_frame(gEventObjectPic_HexManiac, 2, 4, 0), + overworld_frame(gEventObjectPic_HexManiac, 2, 4, 1), + overworld_frame(gEventObjectPic_HexManiac, 2, 4, 2), + overworld_frame(gEventObjectPic_HexManiac, 2, 4, 3), + overworld_frame(gEventObjectPic_HexManiac, 2, 4, 4), + overworld_frame(gEventObjectPic_HexManiac, 2, 4, 5), + overworld_frame(gEventObjectPic_HexManiac, 2, 4, 6), + overworld_frame(gEventObjectPic_HexManiac, 2, 4, 7), + overworld_frame(gEventObjectPic_HexManiac, 2, 4, 8), }; const struct SpriteFrameImage gEventObjectPicTable_SwimmerM[] = { - overworld_frame(gEventObjectPic_SwimmerM, 16, 32, 0), - overworld_frame(gEventObjectPic_SwimmerM, 16, 32, 1), - overworld_frame(gEventObjectPic_SwimmerM, 16, 32, 2), - overworld_frame(gEventObjectPic_SwimmerM, 16, 32, 3), - overworld_frame(gEventObjectPic_SwimmerM, 16, 32, 4), - overworld_frame(gEventObjectPic_SwimmerM, 16, 32, 5), - overworld_frame(gEventObjectPic_SwimmerM, 16, 32, 6), - overworld_frame(gEventObjectPic_SwimmerM, 16, 32, 7), - overworld_frame(gEventObjectPic_SwimmerM, 16, 32, 8), + overworld_frame(gEventObjectPic_SwimmerM, 2, 4, 0), + overworld_frame(gEventObjectPic_SwimmerM, 2, 4, 1), + overworld_frame(gEventObjectPic_SwimmerM, 2, 4, 2), + overworld_frame(gEventObjectPic_SwimmerM, 2, 4, 3), + overworld_frame(gEventObjectPic_SwimmerM, 2, 4, 4), + overworld_frame(gEventObjectPic_SwimmerM, 2, 4, 5), + overworld_frame(gEventObjectPic_SwimmerM, 2, 4, 6), + overworld_frame(gEventObjectPic_SwimmerM, 2, 4, 7), + overworld_frame(gEventObjectPic_SwimmerM, 2, 4, 8), }; const struct SpriteFrameImage gEventObjectPicTable_SwimmerF[] = { - overworld_frame(gEventObjectPic_SwimmerF, 16, 32, 0), - overworld_frame(gEventObjectPic_SwimmerF, 16, 32, 1), - overworld_frame(gEventObjectPic_SwimmerF, 16, 32, 2), - overworld_frame(gEventObjectPic_SwimmerF, 16, 32, 3), - overworld_frame(gEventObjectPic_SwimmerF, 16, 32, 4), - overworld_frame(gEventObjectPic_SwimmerF, 16, 32, 5), - overworld_frame(gEventObjectPic_SwimmerF, 16, 32, 6), - overworld_frame(gEventObjectPic_SwimmerF, 16, 32, 7), - overworld_frame(gEventObjectPic_SwimmerF, 16, 32, 8), + overworld_frame(gEventObjectPic_SwimmerF, 2, 4, 0), + overworld_frame(gEventObjectPic_SwimmerF, 2, 4, 1), + overworld_frame(gEventObjectPic_SwimmerF, 2, 4, 2), + overworld_frame(gEventObjectPic_SwimmerF, 2, 4, 3), + overworld_frame(gEventObjectPic_SwimmerF, 2, 4, 4), + overworld_frame(gEventObjectPic_SwimmerF, 2, 4, 5), + overworld_frame(gEventObjectPic_SwimmerF, 2, 4, 6), + overworld_frame(gEventObjectPic_SwimmerF, 2, 4, 7), + overworld_frame(gEventObjectPic_SwimmerF, 2, 4, 8), }; const struct SpriteFrameImage gEventObjectPicTable_BlackBelt[] = { - overworld_frame(gEventObjectPic_BlackBelt, 16, 32, 0), - overworld_frame(gEventObjectPic_BlackBelt, 16, 32, 1), - overworld_frame(gEventObjectPic_BlackBelt, 16, 32, 2), - overworld_frame(gEventObjectPic_BlackBelt, 16, 32, 3), - overworld_frame(gEventObjectPic_BlackBelt, 16, 32, 4), - overworld_frame(gEventObjectPic_BlackBelt, 16, 32, 5), - overworld_frame(gEventObjectPic_BlackBelt, 16, 32, 6), - overworld_frame(gEventObjectPic_BlackBelt, 16, 32, 7), - overworld_frame(gEventObjectPic_BlackBelt, 16, 32, 8), + overworld_frame(gEventObjectPic_BlackBelt, 2, 4, 0), + overworld_frame(gEventObjectPic_BlackBelt, 2, 4, 1), + overworld_frame(gEventObjectPic_BlackBelt, 2, 4, 2), + overworld_frame(gEventObjectPic_BlackBelt, 2, 4, 3), + overworld_frame(gEventObjectPic_BlackBelt, 2, 4, 4), + overworld_frame(gEventObjectPic_BlackBelt, 2, 4, 5), + overworld_frame(gEventObjectPic_BlackBelt, 2, 4, 6), + overworld_frame(gEventObjectPic_BlackBelt, 2, 4, 7), + overworld_frame(gEventObjectPic_BlackBelt, 2, 4, 8), }; const struct SpriteFrameImage gEventObjectPicTable_Beauty[] = { - overworld_frame(gEventObjectPic_Beauty, 16, 32, 0), - overworld_frame(gEventObjectPic_Beauty, 16, 32, 1), - overworld_frame(gEventObjectPic_Beauty, 16, 32, 2), - overworld_frame(gEventObjectPic_Beauty, 16, 32, 3), - overworld_frame(gEventObjectPic_Beauty, 16, 32, 4), - overworld_frame(gEventObjectPic_Beauty, 16, 32, 5), - overworld_frame(gEventObjectPic_Beauty, 16, 32, 6), - overworld_frame(gEventObjectPic_Beauty, 16, 32, 7), - overworld_frame(gEventObjectPic_Beauty, 16, 32, 8), + overworld_frame(gEventObjectPic_Beauty, 2, 4, 0), + overworld_frame(gEventObjectPic_Beauty, 2, 4, 1), + overworld_frame(gEventObjectPic_Beauty, 2, 4, 2), + overworld_frame(gEventObjectPic_Beauty, 2, 4, 3), + overworld_frame(gEventObjectPic_Beauty, 2, 4, 4), + overworld_frame(gEventObjectPic_Beauty, 2, 4, 5), + overworld_frame(gEventObjectPic_Beauty, 2, 4, 6), + overworld_frame(gEventObjectPic_Beauty, 2, 4, 7), + overworld_frame(gEventObjectPic_Beauty, 2, 4, 8), }; const struct SpriteFrameImage gEventObjectPicTable_Scientist1[] = { - overworld_frame(gEventObjectPic_Scientist1, 16, 32, 0), - overworld_frame(gEventObjectPic_Scientist1, 16, 32, 1), - overworld_frame(gEventObjectPic_Scientist1, 16, 32, 2), - overworld_frame(gEventObjectPic_Scientist1, 16, 32, 3), - overworld_frame(gEventObjectPic_Scientist1, 16, 32, 4), - overworld_frame(gEventObjectPic_Scientist1, 16, 32, 5), - overworld_frame(gEventObjectPic_Scientist1, 16, 32, 6), - overworld_frame(gEventObjectPic_Scientist1, 16, 32, 7), - overworld_frame(gEventObjectPic_Scientist1, 16, 32, 8), + overworld_frame(gEventObjectPic_Scientist1, 2, 4, 0), + overworld_frame(gEventObjectPic_Scientist1, 2, 4, 1), + overworld_frame(gEventObjectPic_Scientist1, 2, 4, 2), + overworld_frame(gEventObjectPic_Scientist1, 2, 4, 3), + overworld_frame(gEventObjectPic_Scientist1, 2, 4, 4), + overworld_frame(gEventObjectPic_Scientist1, 2, 4, 5), + overworld_frame(gEventObjectPic_Scientist1, 2, 4, 6), + overworld_frame(gEventObjectPic_Scientist1, 2, 4, 7), + overworld_frame(gEventObjectPic_Scientist1, 2, 4, 8), }; const struct SpriteFrameImage gEventObjectPicTable_Lass[] = { - overworld_frame(gEventObjectPic_Lass, 16, 32, 0), - overworld_frame(gEventObjectPic_Lass, 16, 32, 1), - overworld_frame(gEventObjectPic_Lass, 16, 32, 2), - overworld_frame(gEventObjectPic_Lass, 16, 32, 3), - overworld_frame(gEventObjectPic_Lass, 16, 32, 4), - overworld_frame(gEventObjectPic_Lass, 16, 32, 5), - overworld_frame(gEventObjectPic_Lass, 16, 32, 6), - overworld_frame(gEventObjectPic_Lass, 16, 32, 7), - overworld_frame(gEventObjectPic_Lass, 16, 32, 8), + overworld_frame(gEventObjectPic_Lass, 2, 4, 0), + overworld_frame(gEventObjectPic_Lass, 2, 4, 1), + overworld_frame(gEventObjectPic_Lass, 2, 4, 2), + overworld_frame(gEventObjectPic_Lass, 2, 4, 3), + overworld_frame(gEventObjectPic_Lass, 2, 4, 4), + overworld_frame(gEventObjectPic_Lass, 2, 4, 5), + overworld_frame(gEventObjectPic_Lass, 2, 4, 6), + overworld_frame(gEventObjectPic_Lass, 2, 4, 7), + overworld_frame(gEventObjectPic_Lass, 2, 4, 8), }; const struct SpriteFrameImage gEventObjectPicTable_Gentleman[] = { - overworld_frame(gEventObjectPic_Gentleman, 16, 32, 0), - overworld_frame(gEventObjectPic_Gentleman, 16, 32, 1), - overworld_frame(gEventObjectPic_Gentleman, 16, 32, 2), - overworld_frame(gEventObjectPic_Gentleman, 16, 32, 3), - overworld_frame(gEventObjectPic_Gentleman, 16, 32, 4), - overworld_frame(gEventObjectPic_Gentleman, 16, 32, 5), - overworld_frame(gEventObjectPic_Gentleman, 16, 32, 6), - overworld_frame(gEventObjectPic_Gentleman, 16, 32, 7), - overworld_frame(gEventObjectPic_Gentleman, 16, 32, 8), + overworld_frame(gEventObjectPic_Gentleman, 2, 4, 0), + overworld_frame(gEventObjectPic_Gentleman, 2, 4, 1), + overworld_frame(gEventObjectPic_Gentleman, 2, 4, 2), + overworld_frame(gEventObjectPic_Gentleman, 2, 4, 3), + overworld_frame(gEventObjectPic_Gentleman, 2, 4, 4), + overworld_frame(gEventObjectPic_Gentleman, 2, 4, 5), + overworld_frame(gEventObjectPic_Gentleman, 2, 4, 6), + overworld_frame(gEventObjectPic_Gentleman, 2, 4, 7), + overworld_frame(gEventObjectPic_Gentleman, 2, 4, 8), }; const struct SpriteFrameImage gEventObjectPicTable_Sailor[] = { - overworld_frame(gEventObjectPic_Sailor, 16, 32, 0), - overworld_frame(gEventObjectPic_Sailor, 16, 32, 1), - overworld_frame(gEventObjectPic_Sailor, 16, 32, 2), - overworld_frame(gEventObjectPic_Sailor, 16, 32, 3), - overworld_frame(gEventObjectPic_Sailor, 16, 32, 4), - overworld_frame(gEventObjectPic_Sailor, 16, 32, 5), - overworld_frame(gEventObjectPic_Sailor, 16, 32, 6), - overworld_frame(gEventObjectPic_Sailor, 16, 32, 7), - overworld_frame(gEventObjectPic_Sailor, 16, 32, 8), + overworld_frame(gEventObjectPic_Sailor, 2, 4, 0), + overworld_frame(gEventObjectPic_Sailor, 2, 4, 1), + overworld_frame(gEventObjectPic_Sailor, 2, 4, 2), + overworld_frame(gEventObjectPic_Sailor, 2, 4, 3), + overworld_frame(gEventObjectPic_Sailor, 2, 4, 4), + overworld_frame(gEventObjectPic_Sailor, 2, 4, 5), + overworld_frame(gEventObjectPic_Sailor, 2, 4, 6), + overworld_frame(gEventObjectPic_Sailor, 2, 4, 7), + overworld_frame(gEventObjectPic_Sailor, 2, 4, 8), }; const struct SpriteFrameImage gEventObjectPicTable_Fisherman[] = { - overworld_frame(gEventObjectPic_Fisherman, 16, 32, 0), - overworld_frame(gEventObjectPic_Fisherman, 16, 32, 1), - overworld_frame(gEventObjectPic_Fisherman, 16, 32, 2), - overworld_frame(gEventObjectPic_Fisherman, 16, 32, 3), - overworld_frame(gEventObjectPic_Fisherman, 16, 32, 4), - overworld_frame(gEventObjectPic_Fisherman, 16, 32, 5), - overworld_frame(gEventObjectPic_Fisherman, 16, 32, 6), - overworld_frame(gEventObjectPic_Fisherman, 16, 32, 7), - overworld_frame(gEventObjectPic_Fisherman, 16, 32, 8), + overworld_frame(gEventObjectPic_Fisherman, 2, 4, 0), + overworld_frame(gEventObjectPic_Fisherman, 2, 4, 1), + overworld_frame(gEventObjectPic_Fisherman, 2, 4, 2), + overworld_frame(gEventObjectPic_Fisherman, 2, 4, 3), + overworld_frame(gEventObjectPic_Fisherman, 2, 4, 4), + overworld_frame(gEventObjectPic_Fisherman, 2, 4, 5), + overworld_frame(gEventObjectPic_Fisherman, 2, 4, 6), + overworld_frame(gEventObjectPic_Fisherman, 2, 4, 7), + overworld_frame(gEventObjectPic_Fisherman, 2, 4, 8), }; const struct SpriteFrameImage gEventObjectPicTable_RunningTriathleteM[] = { - overworld_frame(gEventObjectPic_RunningTriathleteM, 16, 32, 0), - overworld_frame(gEventObjectPic_RunningTriathleteM, 16, 32, 1), - overworld_frame(gEventObjectPic_RunningTriathleteM, 16, 32, 2), - overworld_frame(gEventObjectPic_RunningTriathleteM, 16, 32, 3), - overworld_frame(gEventObjectPic_RunningTriathleteM, 16, 32, 4), - overworld_frame(gEventObjectPic_RunningTriathleteM, 16, 32, 5), - overworld_frame(gEventObjectPic_RunningTriathleteM, 16, 32, 6), - overworld_frame(gEventObjectPic_RunningTriathleteM, 16, 32, 7), - overworld_frame(gEventObjectPic_RunningTriathleteM, 16, 32, 8), + overworld_frame(gEventObjectPic_RunningTriathleteM, 2, 4, 0), + overworld_frame(gEventObjectPic_RunningTriathleteM, 2, 4, 1), + overworld_frame(gEventObjectPic_RunningTriathleteM, 2, 4, 2), + overworld_frame(gEventObjectPic_RunningTriathleteM, 2, 4, 3), + overworld_frame(gEventObjectPic_RunningTriathleteM, 2, 4, 4), + overworld_frame(gEventObjectPic_RunningTriathleteM, 2, 4, 5), + overworld_frame(gEventObjectPic_RunningTriathleteM, 2, 4, 6), + overworld_frame(gEventObjectPic_RunningTriathleteM, 2, 4, 7), + overworld_frame(gEventObjectPic_RunningTriathleteM, 2, 4, 8), }; const struct SpriteFrameImage gEventObjectPicTable_RunningTriathleteF[] = { - overworld_frame(gEventObjectPic_RunningTriathleteF, 16, 32, 0), - overworld_frame(gEventObjectPic_RunningTriathleteF, 16, 32, 1), - overworld_frame(gEventObjectPic_RunningTriathleteF, 16, 32, 2), - overworld_frame(gEventObjectPic_RunningTriathleteF, 16, 32, 3), - overworld_frame(gEventObjectPic_RunningTriathleteF, 16, 32, 4), - overworld_frame(gEventObjectPic_RunningTriathleteF, 16, 32, 5), - overworld_frame(gEventObjectPic_RunningTriathleteF, 16, 32, 6), - overworld_frame(gEventObjectPic_RunningTriathleteF, 16, 32, 7), - overworld_frame(gEventObjectPic_RunningTriathleteF, 16, 32, 8), + overworld_frame(gEventObjectPic_RunningTriathleteF, 2, 4, 0), + overworld_frame(gEventObjectPic_RunningTriathleteF, 2, 4, 1), + overworld_frame(gEventObjectPic_RunningTriathleteF, 2, 4, 2), + overworld_frame(gEventObjectPic_RunningTriathleteF, 2, 4, 3), + overworld_frame(gEventObjectPic_RunningTriathleteF, 2, 4, 4), + overworld_frame(gEventObjectPic_RunningTriathleteF, 2, 4, 5), + overworld_frame(gEventObjectPic_RunningTriathleteF, 2, 4, 6), + overworld_frame(gEventObjectPic_RunningTriathleteF, 2, 4, 7), + overworld_frame(gEventObjectPic_RunningTriathleteF, 2, 4, 8), }; const struct SpriteFrameImage gEventObjectPicTable_TuberF[] = { - overworld_frame(gEventObjectPic_TuberF, 16, 16, 0), - overworld_frame(gEventObjectPic_TuberF, 16, 16, 1), - overworld_frame(gEventObjectPic_TuberF, 16, 16, 2), - overworld_frame(gEventObjectPic_TuberF, 16, 16, 3), - overworld_frame(gEventObjectPic_TuberF, 16, 16, 4), - overworld_frame(gEventObjectPic_TuberF, 16, 16, 5), - overworld_frame(gEventObjectPic_TuberF, 16, 16, 6), - overworld_frame(gEventObjectPic_TuberF, 16, 16, 7), - overworld_frame(gEventObjectPic_TuberF, 16, 16, 8), + overworld_frame(gEventObjectPic_TuberF, 2, 2, 0), + overworld_frame(gEventObjectPic_TuberF, 2, 2, 1), + overworld_frame(gEventObjectPic_TuberF, 2, 2, 2), + overworld_frame(gEventObjectPic_TuberF, 2, 2, 3), + overworld_frame(gEventObjectPic_TuberF, 2, 2, 4), + overworld_frame(gEventObjectPic_TuberF, 2, 2, 5), + overworld_frame(gEventObjectPic_TuberF, 2, 2, 6), + overworld_frame(gEventObjectPic_TuberF, 2, 2, 7), + overworld_frame(gEventObjectPic_TuberF, 2, 2, 8), }; const struct SpriteFrameImage gEventObjectPicTable_TuberM[] = { - overworld_frame(gEventObjectPic_TuberM, 16, 16, 0), - overworld_frame(gEventObjectPic_TuberM, 16, 16, 1), - overworld_frame(gEventObjectPic_TuberM, 16, 16, 2), - overworld_frame(gEventObjectPic_TuberM, 16, 16, 3), - overworld_frame(gEventObjectPic_TuberM, 16, 16, 4), - overworld_frame(gEventObjectPic_TuberM, 16, 16, 5), - overworld_frame(gEventObjectPic_TuberM, 16, 16, 6), - overworld_frame(gEventObjectPic_TuberM, 16, 16, 7), - overworld_frame(gEventObjectPic_TuberM, 16, 16, 8), + overworld_frame(gEventObjectPic_TuberM, 2, 2, 0), + overworld_frame(gEventObjectPic_TuberM, 2, 2, 1), + overworld_frame(gEventObjectPic_TuberM, 2, 2, 2), + overworld_frame(gEventObjectPic_TuberM, 2, 2, 3), + overworld_frame(gEventObjectPic_TuberM, 2, 2, 4), + overworld_frame(gEventObjectPic_TuberM, 2, 2, 5), + overworld_frame(gEventObjectPic_TuberM, 2, 2, 6), + overworld_frame(gEventObjectPic_TuberM, 2, 2, 7), + overworld_frame(gEventObjectPic_TuberM, 2, 2, 8), }; const struct SpriteFrameImage gEventObjectPicTable_Hiker[] = { - overworld_frame(gEventObjectPic_Hiker, 16, 32, 0), - overworld_frame(gEventObjectPic_Hiker, 16, 32, 1), - overworld_frame(gEventObjectPic_Hiker, 16, 32, 2), - overworld_frame(gEventObjectPic_Hiker, 16, 32, 3), - overworld_frame(gEventObjectPic_Hiker, 16, 32, 4), - overworld_frame(gEventObjectPic_Hiker, 16, 32, 5), - overworld_frame(gEventObjectPic_Hiker, 16, 32, 6), - overworld_frame(gEventObjectPic_Hiker, 16, 32, 7), - overworld_frame(gEventObjectPic_Hiker, 16, 32, 8), + overworld_frame(gEventObjectPic_Hiker, 2, 4, 0), + overworld_frame(gEventObjectPic_Hiker, 2, 4, 1), + overworld_frame(gEventObjectPic_Hiker, 2, 4, 2), + overworld_frame(gEventObjectPic_Hiker, 2, 4, 3), + overworld_frame(gEventObjectPic_Hiker, 2, 4, 4), + overworld_frame(gEventObjectPic_Hiker, 2, 4, 5), + overworld_frame(gEventObjectPic_Hiker, 2, 4, 6), + overworld_frame(gEventObjectPic_Hiker, 2, 4, 7), + overworld_frame(gEventObjectPic_Hiker, 2, 4, 8), }; const struct SpriteFrameImage gEventObjectPicTable_CyclingTriathleteM[] = { - overworld_frame(gEventObjectPic_CyclingTriathleteM, 32, 32, 0), - overworld_frame(gEventObjectPic_CyclingTriathleteM, 32, 32, 1), - overworld_frame(gEventObjectPic_CyclingTriathleteM, 32, 32, 2), - overworld_frame(gEventObjectPic_CyclingTriathleteM, 32, 32, 3), - overworld_frame(gEventObjectPic_CyclingTriathleteM, 32, 32, 4), - overworld_frame(gEventObjectPic_CyclingTriathleteM, 32, 32, 5), - overworld_frame(gEventObjectPic_CyclingTriathleteM, 32, 32, 6), - overworld_frame(gEventObjectPic_CyclingTriathleteM, 32, 32, 7), - overworld_frame(gEventObjectPic_CyclingTriathleteM, 32, 32, 8), + overworld_frame(gEventObjectPic_CyclingTriathleteM, 4, 4, 0), + overworld_frame(gEventObjectPic_CyclingTriathleteM, 4, 4, 1), + overworld_frame(gEventObjectPic_CyclingTriathleteM, 4, 4, 2), + overworld_frame(gEventObjectPic_CyclingTriathleteM, 4, 4, 3), + overworld_frame(gEventObjectPic_CyclingTriathleteM, 4, 4, 4), + overworld_frame(gEventObjectPic_CyclingTriathleteM, 4, 4, 5), + overworld_frame(gEventObjectPic_CyclingTriathleteM, 4, 4, 6), + overworld_frame(gEventObjectPic_CyclingTriathleteM, 4, 4, 7), + overworld_frame(gEventObjectPic_CyclingTriathleteM, 4, 4, 8), }; const struct SpriteFrameImage gEventObjectPicTable_CyclingTriathleteF[] = { - overworld_frame(gEventObjectPic_CyclingTriathleteF, 32, 32, 0), - overworld_frame(gEventObjectPic_CyclingTriathleteF, 32, 32, 1), - overworld_frame(gEventObjectPic_CyclingTriathleteF, 32, 32, 2), - overworld_frame(gEventObjectPic_CyclingTriathleteF, 32, 32, 3), - overworld_frame(gEventObjectPic_CyclingTriathleteF, 32, 32, 4), - overworld_frame(gEventObjectPic_CyclingTriathleteF, 32, 32, 5), - overworld_frame(gEventObjectPic_CyclingTriathleteF, 32, 32, 6), - overworld_frame(gEventObjectPic_CyclingTriathleteF, 32, 32, 7), - overworld_frame(gEventObjectPic_CyclingTriathleteF, 32, 32, 8), + overworld_frame(gEventObjectPic_CyclingTriathleteF, 4, 4, 0), + overworld_frame(gEventObjectPic_CyclingTriathleteF, 4, 4, 1), + overworld_frame(gEventObjectPic_CyclingTriathleteF, 4, 4, 2), + overworld_frame(gEventObjectPic_CyclingTriathleteF, 4, 4, 3), + overworld_frame(gEventObjectPic_CyclingTriathleteF, 4, 4, 4), + overworld_frame(gEventObjectPic_CyclingTriathleteF, 4, 4, 5), + overworld_frame(gEventObjectPic_CyclingTriathleteF, 4, 4, 6), + overworld_frame(gEventObjectPic_CyclingTriathleteF, 4, 4, 7), + overworld_frame(gEventObjectPic_CyclingTriathleteF, 4, 4, 8), }; const struct SpriteFrameImage gEventObjectPicTable_Nurse[] = { - overworld_frame(gEventObjectPic_Nurse, 16, 32, 0), - overworld_frame(gEventObjectPic_Nurse, 16, 32, 1), - overworld_frame(gEventObjectPic_Nurse, 16, 32, 2), - overworld_frame(gEventObjectPic_Nurse, 16, 32, 0), - overworld_frame(gEventObjectPic_Nurse, 16, 32, 0), - overworld_frame(gEventObjectPic_Nurse, 16, 32, 1), - overworld_frame(gEventObjectPic_Nurse, 16, 32, 1), - overworld_frame(gEventObjectPic_Nurse, 16, 32, 2), - overworld_frame(gEventObjectPic_Nurse, 16, 32, 2), - overworld_frame(gEventObjectPic_Nurse, 16, 32, 3), + overworld_frame(gEventObjectPic_Nurse, 2, 4, 0), + overworld_frame(gEventObjectPic_Nurse, 2, 4, 1), + overworld_frame(gEventObjectPic_Nurse, 2, 4, 2), + overworld_frame(gEventObjectPic_Nurse, 2, 4, 0), + overworld_frame(gEventObjectPic_Nurse, 2, 4, 0), + overworld_frame(gEventObjectPic_Nurse, 2, 4, 1), + overworld_frame(gEventObjectPic_Nurse, 2, 4, 1), + overworld_frame(gEventObjectPic_Nurse, 2, 4, 2), + overworld_frame(gEventObjectPic_Nurse, 2, 4, 2), + overworld_frame(gEventObjectPic_Nurse, 2, 4, 3), }; const struct SpriteFrameImage gEventObjectPicTable_ItemBall[] = { @@ -751,87 +751,87 @@ const struct SpriteFrameImage gEventObjectPicTable_ItemBall[] = { }; const struct SpriteFrameImage gEventObjectPicTable_ProfBirch[] = { - overworld_frame(gEventObjectPic_ProfBirch, 16, 32, 0), - overworld_frame(gEventObjectPic_ProfBirch, 16, 32, 1), - overworld_frame(gEventObjectPic_ProfBirch, 16, 32, 2), - overworld_frame(gEventObjectPic_ProfBirch, 16, 32, 3), - overworld_frame(gEventObjectPic_ProfBirch, 16, 32, 4), - overworld_frame(gEventObjectPic_ProfBirch, 16, 32, 5), - overworld_frame(gEventObjectPic_ProfBirch, 16, 32, 6), - overworld_frame(gEventObjectPic_ProfBirch, 16, 32, 7), - overworld_frame(gEventObjectPic_ProfBirch, 16, 32, 8), + overworld_frame(gEventObjectPic_ProfBirch, 2, 4, 0), + overworld_frame(gEventObjectPic_ProfBirch, 2, 4, 1), + overworld_frame(gEventObjectPic_ProfBirch, 2, 4, 2), + overworld_frame(gEventObjectPic_ProfBirch, 2, 4, 3), + overworld_frame(gEventObjectPic_ProfBirch, 2, 4, 4), + overworld_frame(gEventObjectPic_ProfBirch, 2, 4, 5), + overworld_frame(gEventObjectPic_ProfBirch, 2, 4, 6), + overworld_frame(gEventObjectPic_ProfBirch, 2, 4, 7), + overworld_frame(gEventObjectPic_ProfBirch, 2, 4, 8), }; const struct SpriteFrameImage gEventObjectPicTable_Man5[] = { - overworld_frame(gEventObjectPic_Man5, 16, 32, 0), - overworld_frame(gEventObjectPic_Man5, 16, 32, 1), - overworld_frame(gEventObjectPic_Man5, 16, 32, 2), - overworld_frame(gEventObjectPic_Man5, 16, 32, 3), - overworld_frame(gEventObjectPic_Man5, 16, 32, 4), - overworld_frame(gEventObjectPic_Man5, 16, 32, 5), - overworld_frame(gEventObjectPic_Man5, 16, 32, 6), - overworld_frame(gEventObjectPic_Man5, 16, 32, 7), - overworld_frame(gEventObjectPic_Man5, 16, 32, 8), + overworld_frame(gEventObjectPic_Man5, 2, 4, 0), + overworld_frame(gEventObjectPic_Man5, 2, 4, 1), + overworld_frame(gEventObjectPic_Man5, 2, 4, 2), + overworld_frame(gEventObjectPic_Man5, 2, 4, 3), + overworld_frame(gEventObjectPic_Man5, 2, 4, 4), + overworld_frame(gEventObjectPic_Man5, 2, 4, 5), + overworld_frame(gEventObjectPic_Man5, 2, 4, 6), + overworld_frame(gEventObjectPic_Man5, 2, 4, 7), + overworld_frame(gEventObjectPic_Man5, 2, 4, 8), }; const struct SpriteFrameImage gEventObjectPicTable_Man6[] = { - overworld_frame(gEventObjectPic_Man6, 16, 32, 0), - overworld_frame(gEventObjectPic_Man6, 16, 32, 1), - overworld_frame(gEventObjectPic_Man6, 16, 32, 2), - overworld_frame(gEventObjectPic_Man6, 16, 32, 3), - overworld_frame(gEventObjectPic_Man6, 16, 32, 4), - overworld_frame(gEventObjectPic_Man6, 16, 32, 5), - overworld_frame(gEventObjectPic_Man6, 16, 32, 6), - overworld_frame(gEventObjectPic_Man6, 16, 32, 7), - overworld_frame(gEventObjectPic_Man6, 16, 32, 8), + overworld_frame(gEventObjectPic_Man6, 2, 4, 0), + overworld_frame(gEventObjectPic_Man6, 2, 4, 1), + overworld_frame(gEventObjectPic_Man6, 2, 4, 2), + overworld_frame(gEventObjectPic_Man6, 2, 4, 3), + overworld_frame(gEventObjectPic_Man6, 2, 4, 4), + overworld_frame(gEventObjectPic_Man6, 2, 4, 5), + overworld_frame(gEventObjectPic_Man6, 2, 4, 6), + overworld_frame(gEventObjectPic_Man6, 2, 4, 7), + overworld_frame(gEventObjectPic_Man6, 2, 4, 8), }; const struct SpriteFrameImage gEventObjectPicTable_ReporterM[] = { - overworld_frame(gEventObjectPic_ReporterM, 16, 32, 0), - overworld_frame(gEventObjectPic_ReporterM, 16, 32, 1), - overworld_frame(gEventObjectPic_ReporterM, 16, 32, 2), - overworld_frame(gEventObjectPic_ReporterM, 16, 32, 3), - overworld_frame(gEventObjectPic_ReporterM, 16, 32, 4), - overworld_frame(gEventObjectPic_ReporterM, 16, 32, 5), - overworld_frame(gEventObjectPic_ReporterM, 16, 32, 6), - overworld_frame(gEventObjectPic_ReporterM, 16, 32, 7), - overworld_frame(gEventObjectPic_ReporterM, 16, 32, 8), + overworld_frame(gEventObjectPic_ReporterM, 2, 4, 0), + overworld_frame(gEventObjectPic_ReporterM, 2, 4, 1), + overworld_frame(gEventObjectPic_ReporterM, 2, 4, 2), + overworld_frame(gEventObjectPic_ReporterM, 2, 4, 3), + overworld_frame(gEventObjectPic_ReporterM, 2, 4, 4), + overworld_frame(gEventObjectPic_ReporterM, 2, 4, 5), + overworld_frame(gEventObjectPic_ReporterM, 2, 4, 6), + overworld_frame(gEventObjectPic_ReporterM, 2, 4, 7), + overworld_frame(gEventObjectPic_ReporterM, 2, 4, 8), }; const struct SpriteFrameImage gEventObjectPicTable_ReporterF[] = { - overworld_frame(gEventObjectPic_ReporterF, 16, 32, 0), - overworld_frame(gEventObjectPic_ReporterF, 16, 32, 1), - overworld_frame(gEventObjectPic_ReporterF, 16, 32, 2), - overworld_frame(gEventObjectPic_ReporterF, 16, 32, 3), - overworld_frame(gEventObjectPic_ReporterF, 16, 32, 4), - overworld_frame(gEventObjectPic_ReporterF, 16, 32, 5), - overworld_frame(gEventObjectPic_ReporterF, 16, 32, 6), - overworld_frame(gEventObjectPic_ReporterF, 16, 32, 7), - overworld_frame(gEventObjectPic_ReporterF, 16, 32, 8), + overworld_frame(gEventObjectPic_ReporterF, 2, 4, 0), + overworld_frame(gEventObjectPic_ReporterF, 2, 4, 1), + overworld_frame(gEventObjectPic_ReporterF, 2, 4, 2), + overworld_frame(gEventObjectPic_ReporterF, 2, 4, 3), + overworld_frame(gEventObjectPic_ReporterF, 2, 4, 4), + overworld_frame(gEventObjectPic_ReporterF, 2, 4, 5), + overworld_frame(gEventObjectPic_ReporterF, 2, 4, 6), + overworld_frame(gEventObjectPic_ReporterF, 2, 4, 7), + overworld_frame(gEventObjectPic_ReporterF, 2, 4, 8), }; const struct SpriteFrameImage gEventObjectPicTable_MauvilleOldMan1[] = { - overworld_frame(gEventObjectPic_MauvilleOldMan1, 16, 32, 0), - overworld_frame(gEventObjectPic_MauvilleOldMan1, 16, 32, 1), - overworld_frame(gEventObjectPic_MauvilleOldMan1, 16, 32, 2), - overworld_frame(gEventObjectPic_MauvilleOldMan1, 16, 32, 3), - overworld_frame(gEventObjectPic_MauvilleOldMan1, 16, 32, 4), - overworld_frame(gEventObjectPic_MauvilleOldMan1, 16, 32, 5), - overworld_frame(gEventObjectPic_MauvilleOldMan1, 16, 32, 6), - overworld_frame(gEventObjectPic_MauvilleOldMan1, 16, 32, 7), - overworld_frame(gEventObjectPic_MauvilleOldMan1, 16, 32, 8), + overworld_frame(gEventObjectPic_MauvilleOldMan1, 2, 4, 0), + overworld_frame(gEventObjectPic_MauvilleOldMan1, 2, 4, 1), + overworld_frame(gEventObjectPic_MauvilleOldMan1, 2, 4, 2), + overworld_frame(gEventObjectPic_MauvilleOldMan1, 2, 4, 3), + overworld_frame(gEventObjectPic_MauvilleOldMan1, 2, 4, 4), + overworld_frame(gEventObjectPic_MauvilleOldMan1, 2, 4, 5), + overworld_frame(gEventObjectPic_MauvilleOldMan1, 2, 4, 6), + overworld_frame(gEventObjectPic_MauvilleOldMan1, 2, 4, 7), + overworld_frame(gEventObjectPic_MauvilleOldMan1, 2, 4, 8), }; const struct SpriteFrameImage gEventObjectPicTable_MauvilleOldMan2[] = { - overworld_frame(gEventObjectPic_MauvilleOldMan2, 16, 32, 0), - overworld_frame(gEventObjectPic_MauvilleOldMan2, 16, 32, 1), - overworld_frame(gEventObjectPic_MauvilleOldMan2, 16, 32, 2), - overworld_frame(gEventObjectPic_MauvilleOldMan2, 16, 32, 3), - overworld_frame(gEventObjectPic_MauvilleOldMan2, 16, 32, 4), - overworld_frame(gEventObjectPic_MauvilleOldMan2, 16, 32, 5), - overworld_frame(gEventObjectPic_MauvilleOldMan2, 16, 32, 6), - overworld_frame(gEventObjectPic_MauvilleOldMan2, 16, 32, 7), - overworld_frame(gEventObjectPic_MauvilleOldMan2, 16, 32, 8), + overworld_frame(gEventObjectPic_MauvilleOldMan2, 2, 4, 0), + overworld_frame(gEventObjectPic_MauvilleOldMan2, 2, 4, 1), + overworld_frame(gEventObjectPic_MauvilleOldMan2, 2, 4, 2), + overworld_frame(gEventObjectPic_MauvilleOldMan2, 2, 4, 3), + overworld_frame(gEventObjectPic_MauvilleOldMan2, 2, 4, 4), + overworld_frame(gEventObjectPic_MauvilleOldMan2, 2, 4, 5), + overworld_frame(gEventObjectPic_MauvilleOldMan2, 2, 4, 6), + overworld_frame(gEventObjectPic_MauvilleOldMan2, 2, 4, 7), + overworld_frame(gEventObjectPic_MauvilleOldMan2, 2, 4, 8), }; const struct SpriteFrameImage gEventObjectPicTable_UnusedNatuDoll[] = { @@ -859,53 +859,53 @@ const struct SpriteFrameImage gEventObjectPicTable_UnusedPorygon2Doll[] = { }; const struct SpriteFrameImage gEventObjectPicTable_CuttableTree[] = { - overworld_frame(gEventObjectPic_CuttableTree, 16, 16, 0), - overworld_frame(gEventObjectPic_CuttableTree, 16, 16, 1), - overworld_frame(gEventObjectPic_CuttableTree, 16, 16, 2), - overworld_frame(gEventObjectPic_CuttableTree, 16, 16, 3), + overworld_frame(gEventObjectPic_CuttableTree, 2, 2, 0), + overworld_frame(gEventObjectPic_CuttableTree, 2, 2, 1), + overworld_frame(gEventObjectPic_CuttableTree, 2, 2, 2), + overworld_frame(gEventObjectPic_CuttableTree, 2, 2, 3), }; const struct SpriteFrameImage gEventObjectPicTable_MartEmployee[] = { - overworld_frame(gEventObjectPic_MartEmployee, 16, 32, 0), - overworld_frame(gEventObjectPic_MartEmployee, 16, 32, 1), - overworld_frame(gEventObjectPic_MartEmployee, 16, 32, 2), - overworld_frame(gEventObjectPic_MartEmployee, 16, 32, 3), - overworld_frame(gEventObjectPic_MartEmployee, 16, 32, 4), - overworld_frame(gEventObjectPic_MartEmployee, 16, 32, 5), - overworld_frame(gEventObjectPic_MartEmployee, 16, 32, 6), - overworld_frame(gEventObjectPic_MartEmployee, 16, 32, 7), - overworld_frame(gEventObjectPic_MartEmployee, 16, 32, 8), + overworld_frame(gEventObjectPic_MartEmployee, 2, 4, 0), + overworld_frame(gEventObjectPic_MartEmployee, 2, 4, 1), + overworld_frame(gEventObjectPic_MartEmployee, 2, 4, 2), + overworld_frame(gEventObjectPic_MartEmployee, 2, 4, 3), + overworld_frame(gEventObjectPic_MartEmployee, 2, 4, 4), + overworld_frame(gEventObjectPic_MartEmployee, 2, 4, 5), + overworld_frame(gEventObjectPic_MartEmployee, 2, 4, 6), + overworld_frame(gEventObjectPic_MartEmployee, 2, 4, 7), + overworld_frame(gEventObjectPic_MartEmployee, 2, 4, 8), }; const struct SpriteFrameImage gEventObjectPicTable_RooftopSaleWoman[] = { - overworld_frame(gEventObjectPic_RooftopSaleWoman, 16, 32, 0), - overworld_frame(gEventObjectPic_RooftopSaleWoman, 16, 32, 1), - overworld_frame(gEventObjectPic_RooftopSaleWoman, 16, 32, 2), - overworld_frame(gEventObjectPic_RooftopSaleWoman, 16, 32, 3), - overworld_frame(gEventObjectPic_RooftopSaleWoman, 16, 32, 4), - overworld_frame(gEventObjectPic_RooftopSaleWoman, 16, 32, 5), - overworld_frame(gEventObjectPic_RooftopSaleWoman, 16, 32, 6), - overworld_frame(gEventObjectPic_RooftopSaleWoman, 16, 32, 7), - overworld_frame(gEventObjectPic_RooftopSaleWoman, 16, 32, 8), + overworld_frame(gEventObjectPic_RooftopSaleWoman, 2, 4, 0), + overworld_frame(gEventObjectPic_RooftopSaleWoman, 2, 4, 1), + overworld_frame(gEventObjectPic_RooftopSaleWoman, 2, 4, 2), + overworld_frame(gEventObjectPic_RooftopSaleWoman, 2, 4, 3), + overworld_frame(gEventObjectPic_RooftopSaleWoman, 2, 4, 4), + overworld_frame(gEventObjectPic_RooftopSaleWoman, 2, 4, 5), + overworld_frame(gEventObjectPic_RooftopSaleWoman, 2, 4, 6), + overworld_frame(gEventObjectPic_RooftopSaleWoman, 2, 4, 7), + overworld_frame(gEventObjectPic_RooftopSaleWoman, 2, 4, 8), }; const struct SpriteFrameImage gEventObjectPicTable_Teala[] = { - overworld_frame(gEventObjectPic_Teala, 16, 32, 0), - overworld_frame(gEventObjectPic_Teala, 16, 32, 1), - overworld_frame(gEventObjectPic_Teala, 16, 32, 2), - overworld_frame(gEventObjectPic_Teala, 16, 32, 3), - overworld_frame(gEventObjectPic_Teala, 16, 32, 4), - overworld_frame(gEventObjectPic_Teala, 16, 32, 5), - overworld_frame(gEventObjectPic_Teala, 16, 32, 6), - overworld_frame(gEventObjectPic_Teala, 16, 32, 7), - overworld_frame(gEventObjectPic_Teala, 16, 32, 8), + overworld_frame(gEventObjectPic_Teala, 2, 4, 0), + overworld_frame(gEventObjectPic_Teala, 2, 4, 1), + overworld_frame(gEventObjectPic_Teala, 2, 4, 2), + overworld_frame(gEventObjectPic_Teala, 2, 4, 3), + overworld_frame(gEventObjectPic_Teala, 2, 4, 4), + overworld_frame(gEventObjectPic_Teala, 2, 4, 5), + overworld_frame(gEventObjectPic_Teala, 2, 4, 6), + overworld_frame(gEventObjectPic_Teala, 2, 4, 7), + overworld_frame(gEventObjectPic_Teala, 2, 4, 8), }; const struct SpriteFrameImage gEventObjectPicTable_BreakableRock[] = { - overworld_frame(gEventObjectPic_BreakableRock, 16, 16, 0), - overworld_frame(gEventObjectPic_BreakableRock, 16, 16, 1), - overworld_frame(gEventObjectPic_BreakableRock, 16, 16, 2), - overworld_frame(gEventObjectPic_BreakableRock, 16, 16, 3), + overworld_frame(gEventObjectPic_BreakableRock, 2, 2, 0), + overworld_frame(gEventObjectPic_BreakableRock, 2, 2, 1), + overworld_frame(gEventObjectPic_BreakableRock, 2, 2, 2), + overworld_frame(gEventObjectPic_BreakableRock, 2, 2, 3), }; const struct SpriteFrameImage gEventObjectPicTable_PushableBoulder[] = { @@ -913,15 +913,15 @@ const struct SpriteFrameImage gEventObjectPicTable_PushableBoulder[] = { }; const struct SpriteFrameImage gEventObjectPicTable_MrBrineysBoat[] = { - overworld_frame(gEventObjectPic_MrBrineysBoat, 32, 32, 0), - overworld_frame(gEventObjectPic_MrBrineysBoat, 32, 32, 1), - overworld_frame(gEventObjectPic_MrBrineysBoat, 32, 32, 2), - overworld_frame(gEventObjectPic_MrBrineysBoat, 32, 32, 0), - overworld_frame(gEventObjectPic_MrBrineysBoat, 32, 32, 0), - overworld_frame(gEventObjectPic_MrBrineysBoat, 32, 32, 1), - overworld_frame(gEventObjectPic_MrBrineysBoat, 32, 32, 1), - overworld_frame(gEventObjectPic_MrBrineysBoat, 32, 32, 2), - overworld_frame(gEventObjectPic_MrBrineysBoat, 32, 32, 2), + overworld_frame(gEventObjectPic_MrBrineysBoat, 4, 4, 0), + overworld_frame(gEventObjectPic_MrBrineysBoat, 4, 4, 1), + overworld_frame(gEventObjectPic_MrBrineysBoat, 4, 4, 2), + overworld_frame(gEventObjectPic_MrBrineysBoat, 4, 4, 0), + overworld_frame(gEventObjectPic_MrBrineysBoat, 4, 4, 0), + overworld_frame(gEventObjectPic_MrBrineysBoat, 4, 4, 1), + overworld_frame(gEventObjectPic_MrBrineysBoat, 4, 4, 1), + overworld_frame(gEventObjectPic_MrBrineysBoat, 4, 4, 2), + overworld_frame(gEventObjectPic_MrBrineysBoat, 4, 4, 2), }; const struct SpriteFrameImage gEventObjectPicTable_Truck[] = { @@ -929,27 +929,27 @@ const struct SpriteFrameImage gEventObjectPicTable_Truck[] = { }; const struct SpriteFrameImage gEventObjectPicTable_VigorothCarryingBox[] = { - overworld_frame(gEventObjectPic_Vigoroth, 32, 32, 0), - overworld_frame(gEventObjectPic_Vigoroth, 32, 32, 0), - overworld_frame(gEventObjectPic_Vigoroth, 32, 32, 0), - overworld_frame(gEventObjectPic_Vigoroth, 32, 32, 1), - overworld_frame(gEventObjectPic_Vigoroth, 32, 32, 2), - overworld_frame(gEventObjectPic_Vigoroth, 32, 32, 1), - overworld_frame(gEventObjectPic_Vigoroth, 32, 32, 2), - overworld_frame(gEventObjectPic_Vigoroth, 32, 32, 1), - overworld_frame(gEventObjectPic_Vigoroth, 32, 32, 2), + overworld_frame(gEventObjectPic_Vigoroth, 4, 4, 0), + overworld_frame(gEventObjectPic_Vigoroth, 4, 4, 0), + overworld_frame(gEventObjectPic_Vigoroth, 4, 4, 0), + overworld_frame(gEventObjectPic_Vigoroth, 4, 4, 1), + overworld_frame(gEventObjectPic_Vigoroth, 4, 4, 2), + overworld_frame(gEventObjectPic_Vigoroth, 4, 4, 1), + overworld_frame(gEventObjectPic_Vigoroth, 4, 4, 2), + overworld_frame(gEventObjectPic_Vigoroth, 4, 4, 1), + overworld_frame(gEventObjectPic_Vigoroth, 4, 4, 2), }; const struct SpriteFrameImage gEventObjectPicTable_VigorothFacingAway[] = { - overworld_frame(gEventObjectPic_Vigoroth, 32, 32, 3), - overworld_frame(gEventObjectPic_Vigoroth, 32, 32, 3), - overworld_frame(gEventObjectPic_Vigoroth, 32, 32, 3), - overworld_frame(gEventObjectPic_Vigoroth, 32, 32, 4), - overworld_frame(gEventObjectPic_Vigoroth, 32, 32, 4), - overworld_frame(gEventObjectPic_Vigoroth, 32, 32, 4), - overworld_frame(gEventObjectPic_Vigoroth, 32, 32, 4), - overworld_frame(gEventObjectPic_Vigoroth, 32, 32, 4), - overworld_frame(gEventObjectPic_Vigoroth, 32, 32, 4), + overworld_frame(gEventObjectPic_Vigoroth, 4, 4, 3), + overworld_frame(gEventObjectPic_Vigoroth, 4, 4, 3), + overworld_frame(gEventObjectPic_Vigoroth, 4, 4, 3), + overworld_frame(gEventObjectPic_Vigoroth, 4, 4, 4), + overworld_frame(gEventObjectPic_Vigoroth, 4, 4, 4), + overworld_frame(gEventObjectPic_Vigoroth, 4, 4, 4), + overworld_frame(gEventObjectPic_Vigoroth, 4, 4, 4), + overworld_frame(gEventObjectPic_Vigoroth, 4, 4, 4), + overworld_frame(gEventObjectPic_Vigoroth, 4, 4, 4), }; const struct SpriteFrameImage gEventObjectPicTable_BirchsBag[] = { @@ -957,149 +957,149 @@ const struct SpriteFrameImage gEventObjectPicTable_BirchsBag[] = { }; const struct SpriteFrameImage gEventObjectPicTable_EnemyZigzagoon[] = { - overworld_frame(gEventObjectPic_EnemyZigzagoon, 32, 32, 0), - overworld_frame(gEventObjectPic_EnemyZigzagoon, 32, 32, 1), - overworld_frame(gEventObjectPic_EnemyZigzagoon, 32, 32, 2), - overworld_frame(gEventObjectPic_EnemyZigzagoon, 32, 32, 3), - overworld_frame(gEventObjectPic_EnemyZigzagoon, 32, 32, 4), - overworld_frame(gEventObjectPic_EnemyZigzagoon, 32, 32, 5), - overworld_frame(gEventObjectPic_EnemyZigzagoon, 32, 32, 6), - overworld_frame(gEventObjectPic_EnemyZigzagoon, 32, 32, 7), - overworld_frame(gEventObjectPic_EnemyZigzagoon, 32, 32, 8), + overworld_frame(gEventObjectPic_EnemyZigzagoon, 4, 4, 0), + overworld_frame(gEventObjectPic_EnemyZigzagoon, 4, 4, 1), + overworld_frame(gEventObjectPic_EnemyZigzagoon, 4, 4, 2), + overworld_frame(gEventObjectPic_EnemyZigzagoon, 4, 4, 3), + overworld_frame(gEventObjectPic_EnemyZigzagoon, 4, 4, 4), + overworld_frame(gEventObjectPic_EnemyZigzagoon, 4, 4, 5), + overworld_frame(gEventObjectPic_EnemyZigzagoon, 4, 4, 6), + overworld_frame(gEventObjectPic_EnemyZigzagoon, 4, 4, 7), + overworld_frame(gEventObjectPic_EnemyZigzagoon, 4, 4, 8), }; const struct SpriteFrameImage gEventObjectPicTable_Poochyena[] = { - overworld_frame(gEventObjectPic_Poochyena, 32, 32, 0), - overworld_frame(gEventObjectPic_Poochyena, 32, 32, 1), - overworld_frame(gEventObjectPic_Poochyena, 32, 32, 2), - overworld_frame(gEventObjectPic_Poochyena, 32, 32, 3), - overworld_frame(gEventObjectPic_Poochyena, 32, 32, 4), - overworld_frame(gEventObjectPic_Poochyena, 32, 32, 5), - overworld_frame(gEventObjectPic_Poochyena, 32, 32, 6), - overworld_frame(gEventObjectPic_Poochyena, 32, 32, 7), - overworld_frame(gEventObjectPic_Poochyena, 32, 32, 8), + overworld_frame(gEventObjectPic_Poochyena, 4, 4, 0), + overworld_frame(gEventObjectPic_Poochyena, 4, 4, 1), + overworld_frame(gEventObjectPic_Poochyena, 4, 4, 2), + overworld_frame(gEventObjectPic_Poochyena, 4, 4, 3), + overworld_frame(gEventObjectPic_Poochyena, 4, 4, 4), + overworld_frame(gEventObjectPic_Poochyena, 4, 4, 5), + overworld_frame(gEventObjectPic_Poochyena, 4, 4, 6), + overworld_frame(gEventObjectPic_Poochyena, 4, 4, 7), + overworld_frame(gEventObjectPic_Poochyena, 4, 4, 8), }; const struct SpriteFrameImage gEventObjectPicTable_Artist[] = { - overworld_frame(gEventObjectPic_Artist, 16, 32, 0), - overworld_frame(gEventObjectPic_Artist, 16, 32, 1), - overworld_frame(gEventObjectPic_Artist, 16, 32, 2), - overworld_frame(gEventObjectPic_Artist, 16, 32, 3), - overworld_frame(gEventObjectPic_Artist, 16, 32, 4), - overworld_frame(gEventObjectPic_Artist, 16, 32, 5), - overworld_frame(gEventObjectPic_Artist, 16, 32, 6), - overworld_frame(gEventObjectPic_Artist, 16, 32, 7), - overworld_frame(gEventObjectPic_Artist, 16, 32, 8), + overworld_frame(gEventObjectPic_Artist, 2, 4, 0), + overworld_frame(gEventObjectPic_Artist, 2, 4, 1), + overworld_frame(gEventObjectPic_Artist, 2, 4, 2), + overworld_frame(gEventObjectPic_Artist, 2, 4, 3), + overworld_frame(gEventObjectPic_Artist, 2, 4, 4), + overworld_frame(gEventObjectPic_Artist, 2, 4, 5), + overworld_frame(gEventObjectPic_Artist, 2, 4, 6), + overworld_frame(gEventObjectPic_Artist, 2, 4, 7), + overworld_frame(gEventObjectPic_Artist, 2, 4, 8), }; const struct SpriteFrameImage gEventObjectPicTable_MayNormal[] = { - overworld_frame(gEventObjectPic_MayNormal, 16, 32, 0), - overworld_frame(gEventObjectPic_MayNormal, 16, 32, 1), - overworld_frame(gEventObjectPic_MayNormal, 16, 32, 2), - overworld_frame(gEventObjectPic_MayNormal, 16, 32, 3), - overworld_frame(gEventObjectPic_MayNormal, 16, 32, 4), - overworld_frame(gEventObjectPic_MayNormal, 16, 32, 5), - overworld_frame(gEventObjectPic_MayNormal, 16, 32, 6), - overworld_frame(gEventObjectPic_MayNormal, 16, 32, 7), - overworld_frame(gEventObjectPic_MayNormal, 16, 32, 8), - overworld_frame(gEventObjectPic_MayRunning, 16, 32, 0), - overworld_frame(gEventObjectPic_MayRunning, 16, 32, 1), - overworld_frame(gEventObjectPic_MayRunning, 16, 32, 2), - overworld_frame(gEventObjectPic_MayRunning, 16, 32, 3), - overworld_frame(gEventObjectPic_MayRunning, 16, 32, 4), - overworld_frame(gEventObjectPic_MayRunning, 16, 32, 5), - overworld_frame(gEventObjectPic_MayRunning, 16, 32, 6), - overworld_frame(gEventObjectPic_MayRunning, 16, 32, 7), - overworld_frame(gEventObjectPic_MayRunning, 16, 32, 8), + overworld_frame(gEventObjectPic_MayNormal, 2, 4, 0), + overworld_frame(gEventObjectPic_MayNormal, 2, 4, 1), + overworld_frame(gEventObjectPic_MayNormal, 2, 4, 2), + overworld_frame(gEventObjectPic_MayNormal, 2, 4, 3), + overworld_frame(gEventObjectPic_MayNormal, 2, 4, 4), + overworld_frame(gEventObjectPic_MayNormal, 2, 4, 5), + overworld_frame(gEventObjectPic_MayNormal, 2, 4, 6), + overworld_frame(gEventObjectPic_MayNormal, 2, 4, 7), + overworld_frame(gEventObjectPic_MayNormal, 2, 4, 8), + overworld_frame(gEventObjectPic_MayRunning, 2, 4, 0), + overworld_frame(gEventObjectPic_MayRunning, 2, 4, 1), + overworld_frame(gEventObjectPic_MayRunning, 2, 4, 2), + overworld_frame(gEventObjectPic_MayRunning, 2, 4, 3), + overworld_frame(gEventObjectPic_MayRunning, 2, 4, 4), + overworld_frame(gEventObjectPic_MayRunning, 2, 4, 5), + overworld_frame(gEventObjectPic_MayRunning, 2, 4, 6), + overworld_frame(gEventObjectPic_MayRunning, 2, 4, 7), + overworld_frame(gEventObjectPic_MayRunning, 2, 4, 8), }; const struct SpriteFrameImage gEventObjectPicTable_MayMachBike[] = { - overworld_frame(gEventObjectPic_MayMachBike, 32, 32, 0), - overworld_frame(gEventObjectPic_MayMachBike, 32, 32, 1), - overworld_frame(gEventObjectPic_MayMachBike, 32, 32, 2), - overworld_frame(gEventObjectPic_MayMachBike, 32, 32, 3), - overworld_frame(gEventObjectPic_MayMachBike, 32, 32, 4), - overworld_frame(gEventObjectPic_MayMachBike, 32, 32, 5), - overworld_frame(gEventObjectPic_MayMachBike, 32, 32, 6), - overworld_frame(gEventObjectPic_MayMachBike, 32, 32, 7), - overworld_frame(gEventObjectPic_MayMachBike, 32, 32, 8), + overworld_frame(gEventObjectPic_MayMachBike, 4, 4, 0), + overworld_frame(gEventObjectPic_MayMachBike, 4, 4, 1), + overworld_frame(gEventObjectPic_MayMachBike, 4, 4, 2), + overworld_frame(gEventObjectPic_MayMachBike, 4, 4, 3), + overworld_frame(gEventObjectPic_MayMachBike, 4, 4, 4), + overworld_frame(gEventObjectPic_MayMachBike, 4, 4, 5), + overworld_frame(gEventObjectPic_MayMachBike, 4, 4, 6), + overworld_frame(gEventObjectPic_MayMachBike, 4, 4, 7), + overworld_frame(gEventObjectPic_MayMachBike, 4, 4, 8), }; const struct SpriteFrameImage gEventObjectPicTable_MayAcroBike[] = { - overworld_frame(gEventObjectPic_MayAcroBike, 32, 32, 0), - overworld_frame(gEventObjectPic_MayAcroBike, 32, 32, 1), - overworld_frame(gEventObjectPic_MayAcroBike, 32, 32, 2), - overworld_frame(gEventObjectPic_MayAcroBike, 32, 32, 3), - overworld_frame(gEventObjectPic_MayAcroBike, 32, 32, 4), - overworld_frame(gEventObjectPic_MayAcroBike, 32, 32, 5), - overworld_frame(gEventObjectPic_MayAcroBike, 32, 32, 6), - overworld_frame(gEventObjectPic_MayAcroBike, 32, 32, 7), - overworld_frame(gEventObjectPic_MayAcroBike, 32, 32, 8), - overworld_frame(gEventObjectPic_MayAcroBike, 32, 32, 9), - overworld_frame(gEventObjectPic_MayAcroBike, 32, 32, 10), - overworld_frame(gEventObjectPic_MayAcroBike, 32, 32, 11), - overworld_frame(gEventObjectPic_MayAcroBike, 32, 32, 12), - overworld_frame(gEventObjectPic_MayAcroBike, 32, 32, 13), - overworld_frame(gEventObjectPic_MayAcroBike, 32, 32, 14), - overworld_frame(gEventObjectPic_MayAcroBike, 32, 32, 15), - overworld_frame(gEventObjectPic_MayAcroBike, 32, 32, 16), - overworld_frame(gEventObjectPic_MayAcroBike, 32, 32, 17), - overworld_frame(gEventObjectPic_MayAcroBike, 32, 32, 18), - overworld_frame(gEventObjectPic_MayAcroBike, 32, 32, 19), - overworld_frame(gEventObjectPic_MayAcroBike, 32, 32, 20), - overworld_frame(gEventObjectPic_MayAcroBike, 32, 32, 21), - overworld_frame(gEventObjectPic_MayAcroBike, 32, 32, 22), - overworld_frame(gEventObjectPic_MayAcroBike, 32, 32, 23), - overworld_frame(gEventObjectPic_MayAcroBike, 32, 32, 24), - overworld_frame(gEventObjectPic_MayAcroBike, 32, 32, 25), - overworld_frame(gEventObjectPic_MayAcroBike, 32, 32, 26), + overworld_frame(gEventObjectPic_MayAcroBike, 4, 4, 0), + overworld_frame(gEventObjectPic_MayAcroBike, 4, 4, 1), + overworld_frame(gEventObjectPic_MayAcroBike, 4, 4, 2), + overworld_frame(gEventObjectPic_MayAcroBike, 4, 4, 3), + overworld_frame(gEventObjectPic_MayAcroBike, 4, 4, 4), + overworld_frame(gEventObjectPic_MayAcroBike, 4, 4, 5), + overworld_frame(gEventObjectPic_MayAcroBike, 4, 4, 6), + overworld_frame(gEventObjectPic_MayAcroBike, 4, 4, 7), + overworld_frame(gEventObjectPic_MayAcroBike, 4, 4, 8), + overworld_frame(gEventObjectPic_MayAcroBike, 4, 4, 9), + overworld_frame(gEventObjectPic_MayAcroBike, 4, 4, 10), + overworld_frame(gEventObjectPic_MayAcroBike, 4, 4, 11), + overworld_frame(gEventObjectPic_MayAcroBike, 4, 4, 12), + overworld_frame(gEventObjectPic_MayAcroBike, 4, 4, 13), + overworld_frame(gEventObjectPic_MayAcroBike, 4, 4, 14), + overworld_frame(gEventObjectPic_MayAcroBike, 4, 4, 15), + overworld_frame(gEventObjectPic_MayAcroBike, 4, 4, 16), + overworld_frame(gEventObjectPic_MayAcroBike, 4, 4, 17), + overworld_frame(gEventObjectPic_MayAcroBike, 4, 4, 18), + overworld_frame(gEventObjectPic_MayAcroBike, 4, 4, 19), + overworld_frame(gEventObjectPic_MayAcroBike, 4, 4, 20), + overworld_frame(gEventObjectPic_MayAcroBike, 4, 4, 21), + overworld_frame(gEventObjectPic_MayAcroBike, 4, 4, 22), + overworld_frame(gEventObjectPic_MayAcroBike, 4, 4, 23), + overworld_frame(gEventObjectPic_MayAcroBike, 4, 4, 24), + overworld_frame(gEventObjectPic_MayAcroBike, 4, 4, 25), + overworld_frame(gEventObjectPic_MayAcroBike, 4, 4, 26), }; const struct SpriteFrameImage gEventObjectPicTable_MaySurfing[] = { - overworld_frame(gEventObjectPic_MaySurfing, 32, 32, 0), - overworld_frame(gEventObjectPic_MaySurfing, 32, 32, 2), - overworld_frame(gEventObjectPic_MaySurfing, 32, 32, 4), - overworld_frame(gEventObjectPic_MaySurfing, 32, 32, 0), - overworld_frame(gEventObjectPic_MaySurfing, 32, 32, 0), - overworld_frame(gEventObjectPic_MaySurfing, 32, 32, 2), - overworld_frame(gEventObjectPic_MaySurfing, 32, 32, 2), - overworld_frame(gEventObjectPic_MaySurfing, 32, 32, 4), - overworld_frame(gEventObjectPic_MaySurfing, 32, 32, 4), - overworld_frame(gEventObjectPic_MaySurfing, 32, 32, 1), - overworld_frame(gEventObjectPic_MaySurfing, 32, 32, 3), - overworld_frame(gEventObjectPic_MaySurfing, 32, 32, 5), + overworld_frame(gEventObjectPic_MaySurfing, 4, 4, 0), + overworld_frame(gEventObjectPic_MaySurfing, 4, 4, 2), + overworld_frame(gEventObjectPic_MaySurfing, 4, 4, 4), + overworld_frame(gEventObjectPic_MaySurfing, 4, 4, 0), + overworld_frame(gEventObjectPic_MaySurfing, 4, 4, 0), + overworld_frame(gEventObjectPic_MaySurfing, 4, 4, 2), + overworld_frame(gEventObjectPic_MaySurfing, 4, 4, 2), + overworld_frame(gEventObjectPic_MaySurfing, 4, 4, 4), + overworld_frame(gEventObjectPic_MaySurfing, 4, 4, 4), + overworld_frame(gEventObjectPic_MaySurfing, 4, 4, 1), + overworld_frame(gEventObjectPic_MaySurfing, 4, 4, 3), + overworld_frame(gEventObjectPic_MaySurfing, 4, 4, 5), }; const struct SpriteFrameImage gEventObjectPicTable_MayUnderwater[] = { - overworld_frame(gEventObjectPic_MayUnderwater, 32, 32, 0), - overworld_frame(gEventObjectPic_MayUnderwater, 32, 32, 1), - overworld_frame(gEventObjectPic_MayUnderwater, 32, 32, 2), - overworld_frame(gEventObjectPic_MayUnderwater, 32, 32, 0), - overworld_frame(gEventObjectPic_MayUnderwater, 32, 32, 0), - overworld_frame(gEventObjectPic_MayUnderwater, 32, 32, 1), - overworld_frame(gEventObjectPic_MayUnderwater, 32, 32, 1), - overworld_frame(gEventObjectPic_MayUnderwater, 32, 32, 2), - overworld_frame(gEventObjectPic_MayUnderwater, 32, 32, 2), + overworld_frame(gEventObjectPic_MayUnderwater, 4, 4, 0), + overworld_frame(gEventObjectPic_MayUnderwater, 4, 4, 1), + overworld_frame(gEventObjectPic_MayUnderwater, 4, 4, 2), + overworld_frame(gEventObjectPic_MayUnderwater, 4, 4, 0), + overworld_frame(gEventObjectPic_MayUnderwater, 4, 4, 0), + overworld_frame(gEventObjectPic_MayUnderwater, 4, 4, 1), + overworld_frame(gEventObjectPic_MayUnderwater, 4, 4, 1), + overworld_frame(gEventObjectPic_MayUnderwater, 4, 4, 2), + overworld_frame(gEventObjectPic_MayUnderwater, 4, 4, 2), }; const struct SpriteFrameImage gEventObjectPicTable_MayFieldMove[] = { - overworld_frame(gEventObjectPic_MayFieldMove, 32, 32, 0), - overworld_frame(gEventObjectPic_MayFieldMove, 32, 32, 1), - overworld_frame(gEventObjectPic_MayFieldMove, 32, 32, 2), - overworld_frame(gEventObjectPic_MayFieldMove, 32, 32, 3), - overworld_frame(gEventObjectPic_MayFieldMove, 32, 32, 4), + overworld_frame(gEventObjectPic_MayFieldMove, 4, 4, 0), + overworld_frame(gEventObjectPic_MayFieldMove, 4, 4, 1), + overworld_frame(gEventObjectPic_MayFieldMove, 4, 4, 2), + overworld_frame(gEventObjectPic_MayFieldMove, 4, 4, 3), + overworld_frame(gEventObjectPic_MayFieldMove, 4, 4, 4), }; const struct SpriteFrameImage gEventObjectPicTable_Cameraman[] = { - overworld_frame(gEventObjectPic_Cameraman, 16, 32, 0), - overworld_frame(gEventObjectPic_Cameraman, 16, 32, 1), - overworld_frame(gEventObjectPic_Cameraman, 16, 32, 2), - overworld_frame(gEventObjectPic_Cameraman, 16, 32, 3), - overworld_frame(gEventObjectPic_Cameraman, 16, 32, 4), - overworld_frame(gEventObjectPic_Cameraman, 16, 32, 5), - overworld_frame(gEventObjectPic_Cameraman, 16, 32, 6), - overworld_frame(gEventObjectPic_Cameraman, 16, 32, 7), - overworld_frame(gEventObjectPic_Cameraman, 16, 32, 8), + overworld_frame(gEventObjectPic_Cameraman, 2, 4, 0), + overworld_frame(gEventObjectPic_Cameraman, 2, 4, 1), + overworld_frame(gEventObjectPic_Cameraman, 2, 4, 2), + overworld_frame(gEventObjectPic_Cameraman, 2, 4, 3), + overworld_frame(gEventObjectPic_Cameraman, 2, 4, 4), + overworld_frame(gEventObjectPic_Cameraman, 2, 4, 5), + overworld_frame(gEventObjectPic_Cameraman, 2, 4, 6), + overworld_frame(gEventObjectPic_Cameraman, 2, 4, 7), + overworld_frame(gEventObjectPic_Cameraman, 2, 4, 8), }; const struct SpriteFrameImage gEventObjectPicTable_MovingBox[] = { @@ -1111,309 +1111,309 @@ const struct SpriteFrameImage gEventObjectPicTable_CableCar[] = { }; const struct SpriteFrameImage gEventObjectPicTable_Scientist2[] = { - overworld_frame(gEventObjectPic_Scientist2, 16, 32, 0), - overworld_frame(gEventObjectPic_Scientist2, 16, 32, 1), - overworld_frame(gEventObjectPic_Scientist2, 16, 32, 2), - overworld_frame(gEventObjectPic_Scientist2, 16, 32, 3), - overworld_frame(gEventObjectPic_Scientist2, 16, 32, 4), - overworld_frame(gEventObjectPic_Scientist2, 16, 32, 5), - overworld_frame(gEventObjectPic_Scientist2, 16, 32, 6), - overworld_frame(gEventObjectPic_Scientist2, 16, 32, 7), - overworld_frame(gEventObjectPic_Scientist2, 16, 32, 8), + overworld_frame(gEventObjectPic_Scientist2, 2, 4, 0), + overworld_frame(gEventObjectPic_Scientist2, 2, 4, 1), + overworld_frame(gEventObjectPic_Scientist2, 2, 4, 2), + overworld_frame(gEventObjectPic_Scientist2, 2, 4, 3), + overworld_frame(gEventObjectPic_Scientist2, 2, 4, 4), + overworld_frame(gEventObjectPic_Scientist2, 2, 4, 5), + overworld_frame(gEventObjectPic_Scientist2, 2, 4, 6), + overworld_frame(gEventObjectPic_Scientist2, 2, 4, 7), + overworld_frame(gEventObjectPic_Scientist2, 2, 4, 8), }; const struct SpriteFrameImage gEventObjectPicTable_Man7[] = { - overworld_frame(gEventObjectPic_Man7, 16, 32, 0), - overworld_frame(gEventObjectPic_Man7, 16, 32, 1), - overworld_frame(gEventObjectPic_Man7, 16, 32, 2), - overworld_frame(gEventObjectPic_Man7, 16, 32, 3), - overworld_frame(gEventObjectPic_Man7, 16, 32, 4), - overworld_frame(gEventObjectPic_Man7, 16, 32, 5), - overworld_frame(gEventObjectPic_Man7, 16, 32, 6), - overworld_frame(gEventObjectPic_Man7, 16, 32, 7), - overworld_frame(gEventObjectPic_Man7, 16, 32, 8), + overworld_frame(gEventObjectPic_Man7, 2, 4, 0), + overworld_frame(gEventObjectPic_Man7, 2, 4, 1), + overworld_frame(gEventObjectPic_Man7, 2, 4, 2), + overworld_frame(gEventObjectPic_Man7, 2, 4, 3), + overworld_frame(gEventObjectPic_Man7, 2, 4, 4), + overworld_frame(gEventObjectPic_Man7, 2, 4, 5), + overworld_frame(gEventObjectPic_Man7, 2, 4, 6), + overworld_frame(gEventObjectPic_Man7, 2, 4, 7), + overworld_frame(gEventObjectPic_Man7, 2, 4, 8), }; const struct SpriteFrameImage gEventObjectPicTable_AquaMemberM[] = { - overworld_frame(gEventObjectPic_AquaMemberM, 16, 32, 0), - overworld_frame(gEventObjectPic_AquaMemberM, 16, 32, 1), - overworld_frame(gEventObjectPic_AquaMemberM, 16, 32, 2), - overworld_frame(gEventObjectPic_AquaMemberM, 16, 32, 3), - overworld_frame(gEventObjectPic_AquaMemberM, 16, 32, 4), - overworld_frame(gEventObjectPic_AquaMemberM, 16, 32, 5), - overworld_frame(gEventObjectPic_AquaMemberM, 16, 32, 6), - overworld_frame(gEventObjectPic_AquaMemberM, 16, 32, 7), - overworld_frame(gEventObjectPic_AquaMemberM, 16, 32, 8), + overworld_frame(gEventObjectPic_AquaMemberM, 2, 4, 0), + overworld_frame(gEventObjectPic_AquaMemberM, 2, 4, 1), + overworld_frame(gEventObjectPic_AquaMemberM, 2, 4, 2), + overworld_frame(gEventObjectPic_AquaMemberM, 2, 4, 3), + overworld_frame(gEventObjectPic_AquaMemberM, 2, 4, 4), + overworld_frame(gEventObjectPic_AquaMemberM, 2, 4, 5), + overworld_frame(gEventObjectPic_AquaMemberM, 2, 4, 6), + overworld_frame(gEventObjectPic_AquaMemberM, 2, 4, 7), + overworld_frame(gEventObjectPic_AquaMemberM, 2, 4, 8), }; const struct SpriteFrameImage gEventObjectPicTable_AquaMemberF[] = { - overworld_frame(gEventObjectPic_AquaMemberF, 16, 32, 0), - overworld_frame(gEventObjectPic_AquaMemberF, 16, 32, 1), - overworld_frame(gEventObjectPic_AquaMemberF, 16, 32, 2), - overworld_frame(gEventObjectPic_AquaMemberF, 16, 32, 3), - overworld_frame(gEventObjectPic_AquaMemberF, 16, 32, 4), - overworld_frame(gEventObjectPic_AquaMemberF, 16, 32, 5), - overworld_frame(gEventObjectPic_AquaMemberF, 16, 32, 6), - overworld_frame(gEventObjectPic_AquaMemberF, 16, 32, 7), - overworld_frame(gEventObjectPic_AquaMemberF, 16, 32, 8), + overworld_frame(gEventObjectPic_AquaMemberF, 2, 4, 0), + overworld_frame(gEventObjectPic_AquaMemberF, 2, 4, 1), + overworld_frame(gEventObjectPic_AquaMemberF, 2, 4, 2), + overworld_frame(gEventObjectPic_AquaMemberF, 2, 4, 3), + overworld_frame(gEventObjectPic_AquaMemberF, 2, 4, 4), + overworld_frame(gEventObjectPic_AquaMemberF, 2, 4, 5), + overworld_frame(gEventObjectPic_AquaMemberF, 2, 4, 6), + overworld_frame(gEventObjectPic_AquaMemberF, 2, 4, 7), + overworld_frame(gEventObjectPic_AquaMemberF, 2, 4, 8), }; const struct SpriteFrameImage gEventObjectPicTable_MagmaMemberM[] = { - overworld_frame(gEventObjectPic_MagmaMemberM, 16, 32, 0), - overworld_frame(gEventObjectPic_MagmaMemberM, 16, 32, 1), - overworld_frame(gEventObjectPic_MagmaMemberM, 16, 32, 2), - overworld_frame(gEventObjectPic_MagmaMemberM, 16, 32, 3), - overworld_frame(gEventObjectPic_MagmaMemberM, 16, 32, 4), - overworld_frame(gEventObjectPic_MagmaMemberM, 16, 32, 5), - overworld_frame(gEventObjectPic_MagmaMemberM, 16, 32, 6), - overworld_frame(gEventObjectPic_MagmaMemberM, 16, 32, 7), - overworld_frame(gEventObjectPic_MagmaMemberM, 16, 32, 8), + overworld_frame(gEventObjectPic_MagmaMemberM, 2, 4, 0), + overworld_frame(gEventObjectPic_MagmaMemberM, 2, 4, 1), + overworld_frame(gEventObjectPic_MagmaMemberM, 2, 4, 2), + overworld_frame(gEventObjectPic_MagmaMemberM, 2, 4, 3), + overworld_frame(gEventObjectPic_MagmaMemberM, 2, 4, 4), + overworld_frame(gEventObjectPic_MagmaMemberM, 2, 4, 5), + overworld_frame(gEventObjectPic_MagmaMemberM, 2, 4, 6), + overworld_frame(gEventObjectPic_MagmaMemberM, 2, 4, 7), + overworld_frame(gEventObjectPic_MagmaMemberM, 2, 4, 8), }; const struct SpriteFrameImage gEventObjectPicTable_MagmaMemberF[] = { - overworld_frame(gEventObjectPic_MagmaMemberF, 16, 32, 0), - overworld_frame(gEventObjectPic_MagmaMemberF, 16, 32, 1), - overworld_frame(gEventObjectPic_MagmaMemberF, 16, 32, 2), - overworld_frame(gEventObjectPic_MagmaMemberF, 16, 32, 3), - overworld_frame(gEventObjectPic_MagmaMemberF, 16, 32, 4), - overworld_frame(gEventObjectPic_MagmaMemberF, 16, 32, 5), - overworld_frame(gEventObjectPic_MagmaMemberF, 16, 32, 6), - overworld_frame(gEventObjectPic_MagmaMemberF, 16, 32, 7), - overworld_frame(gEventObjectPic_MagmaMemberF, 16, 32, 8), + overworld_frame(gEventObjectPic_MagmaMemberF, 2, 4, 0), + overworld_frame(gEventObjectPic_MagmaMemberF, 2, 4, 1), + overworld_frame(gEventObjectPic_MagmaMemberF, 2, 4, 2), + overworld_frame(gEventObjectPic_MagmaMemberF, 2, 4, 3), + overworld_frame(gEventObjectPic_MagmaMemberF, 2, 4, 4), + overworld_frame(gEventObjectPic_MagmaMemberF, 2, 4, 5), + overworld_frame(gEventObjectPic_MagmaMemberF, 2, 4, 6), + overworld_frame(gEventObjectPic_MagmaMemberF, 2, 4, 7), + overworld_frame(gEventObjectPic_MagmaMemberF, 2, 4, 8), }; const struct SpriteFrameImage gEventObjectPicTable_Sidney[] = { - overworld_frame(gEventObjectPic_Sidney, 16, 32, 0), - overworld_frame(gEventObjectPic_Sidney, 16, 32, 1), - overworld_frame(gEventObjectPic_Sidney, 16, 32, 2), - overworld_frame(gEventObjectPic_Sidney, 16, 32, 0), - overworld_frame(gEventObjectPic_Sidney, 16, 32, 0), - overworld_frame(gEventObjectPic_Sidney, 16, 32, 1), - overworld_frame(gEventObjectPic_Sidney, 16, 32, 1), - overworld_frame(gEventObjectPic_Sidney, 16, 32, 2), - overworld_frame(gEventObjectPic_Sidney, 16, 32, 2), + overworld_frame(gEventObjectPic_Sidney, 2, 4, 0), + overworld_frame(gEventObjectPic_Sidney, 2, 4, 1), + overworld_frame(gEventObjectPic_Sidney, 2, 4, 2), + overworld_frame(gEventObjectPic_Sidney, 2, 4, 0), + overworld_frame(gEventObjectPic_Sidney, 2, 4, 0), + overworld_frame(gEventObjectPic_Sidney, 2, 4, 1), + overworld_frame(gEventObjectPic_Sidney, 2, 4, 1), + overworld_frame(gEventObjectPic_Sidney, 2, 4, 2), + overworld_frame(gEventObjectPic_Sidney, 2, 4, 2), }; const struct SpriteFrameImage gEventObjectPicTable_Phoebe[] = { - overworld_frame(gEventObjectPic_Phoebe, 16, 32, 0), - overworld_frame(gEventObjectPic_Phoebe, 16, 32, 1), - overworld_frame(gEventObjectPic_Phoebe, 16, 32, 2), - overworld_frame(gEventObjectPic_Phoebe, 16, 32, 0), - overworld_frame(gEventObjectPic_Phoebe, 16, 32, 0), - overworld_frame(gEventObjectPic_Phoebe, 16, 32, 1), - overworld_frame(gEventObjectPic_Phoebe, 16, 32, 1), - overworld_frame(gEventObjectPic_Phoebe, 16, 32, 2), - overworld_frame(gEventObjectPic_Phoebe, 16, 32, 2), + overworld_frame(gEventObjectPic_Phoebe, 2, 4, 0), + overworld_frame(gEventObjectPic_Phoebe, 2, 4, 1), + overworld_frame(gEventObjectPic_Phoebe, 2, 4, 2), + overworld_frame(gEventObjectPic_Phoebe, 2, 4, 0), + overworld_frame(gEventObjectPic_Phoebe, 2, 4, 0), + overworld_frame(gEventObjectPic_Phoebe, 2, 4, 1), + overworld_frame(gEventObjectPic_Phoebe, 2, 4, 1), + overworld_frame(gEventObjectPic_Phoebe, 2, 4, 2), + overworld_frame(gEventObjectPic_Phoebe, 2, 4, 2), }; const struct SpriteFrameImage gEventObjectPicTable_Glacia[] = { - overworld_frame(gEventObjectPic_Glacia, 16, 32, 0), - overworld_frame(gEventObjectPic_Glacia, 16, 32, 1), - overworld_frame(gEventObjectPic_Glacia, 16, 32, 2), - overworld_frame(gEventObjectPic_Glacia, 16, 32, 0), - overworld_frame(gEventObjectPic_Glacia, 16, 32, 0), - overworld_frame(gEventObjectPic_Glacia, 16, 32, 1), - overworld_frame(gEventObjectPic_Glacia, 16, 32, 1), - overworld_frame(gEventObjectPic_Glacia, 16, 32, 2), - overworld_frame(gEventObjectPic_Glacia, 16, 32, 2), + overworld_frame(gEventObjectPic_Glacia, 2, 4, 0), + overworld_frame(gEventObjectPic_Glacia, 2, 4, 1), + overworld_frame(gEventObjectPic_Glacia, 2, 4, 2), + overworld_frame(gEventObjectPic_Glacia, 2, 4, 0), + overworld_frame(gEventObjectPic_Glacia, 2, 4, 0), + overworld_frame(gEventObjectPic_Glacia, 2, 4, 1), + overworld_frame(gEventObjectPic_Glacia, 2, 4, 1), + overworld_frame(gEventObjectPic_Glacia, 2, 4, 2), + overworld_frame(gEventObjectPic_Glacia, 2, 4, 2), }; const struct SpriteFrameImage gEventObjectPicTable_Drake[] = { - overworld_frame(gEventObjectPic_Drake, 16, 32, 0), - overworld_frame(gEventObjectPic_Drake, 16, 32, 1), - overworld_frame(gEventObjectPic_Drake, 16, 32, 2), - overworld_frame(gEventObjectPic_Drake, 16, 32, 0), - overworld_frame(gEventObjectPic_Drake, 16, 32, 0), - overworld_frame(gEventObjectPic_Drake, 16, 32, 1), - overworld_frame(gEventObjectPic_Drake, 16, 32, 1), - overworld_frame(gEventObjectPic_Drake, 16, 32, 2), - overworld_frame(gEventObjectPic_Drake, 16, 32, 2), + overworld_frame(gEventObjectPic_Drake, 2, 4, 0), + overworld_frame(gEventObjectPic_Drake, 2, 4, 1), + overworld_frame(gEventObjectPic_Drake, 2, 4, 2), + overworld_frame(gEventObjectPic_Drake, 2, 4, 0), + overworld_frame(gEventObjectPic_Drake, 2, 4, 0), + overworld_frame(gEventObjectPic_Drake, 2, 4, 1), + overworld_frame(gEventObjectPic_Drake, 2, 4, 1), + overworld_frame(gEventObjectPic_Drake, 2, 4, 2), + overworld_frame(gEventObjectPic_Drake, 2, 4, 2), }; const struct SpriteFrameImage gEventObjectPicTable_Roxanne[] = { - overworld_frame(gEventObjectPic_Roxanne, 16, 32, 0), - overworld_frame(gEventObjectPic_Roxanne, 16, 32, 1), - overworld_frame(gEventObjectPic_Roxanne, 16, 32, 2), - overworld_frame(gEventObjectPic_Roxanne, 16, 32, 0), - overworld_frame(gEventObjectPic_Roxanne, 16, 32, 0), - overworld_frame(gEventObjectPic_Roxanne, 16, 32, 1), - overworld_frame(gEventObjectPic_Roxanne, 16, 32, 1), - overworld_frame(gEventObjectPic_Roxanne, 16, 32, 2), - overworld_frame(gEventObjectPic_Roxanne, 16, 32, 2), + overworld_frame(gEventObjectPic_Roxanne, 2, 4, 0), + overworld_frame(gEventObjectPic_Roxanne, 2, 4, 1), + overworld_frame(gEventObjectPic_Roxanne, 2, 4, 2), + overworld_frame(gEventObjectPic_Roxanne, 2, 4, 0), + overworld_frame(gEventObjectPic_Roxanne, 2, 4, 0), + overworld_frame(gEventObjectPic_Roxanne, 2, 4, 1), + overworld_frame(gEventObjectPic_Roxanne, 2, 4, 1), + overworld_frame(gEventObjectPic_Roxanne, 2, 4, 2), + overworld_frame(gEventObjectPic_Roxanne, 2, 4, 2), }; const struct SpriteFrameImage gEventObjectPicTable_Brawly[] = { - overworld_frame(gEventObjectPic_Brawly, 16, 32, 0), - overworld_frame(gEventObjectPic_Brawly, 16, 32, 1), - overworld_frame(gEventObjectPic_Brawly, 16, 32, 2), - overworld_frame(gEventObjectPic_Brawly, 16, 32, 0), - overworld_frame(gEventObjectPic_Brawly, 16, 32, 0), - overworld_frame(gEventObjectPic_Brawly, 16, 32, 1), - overworld_frame(gEventObjectPic_Brawly, 16, 32, 1), - overworld_frame(gEventObjectPic_Brawly, 16, 32, 2), - overworld_frame(gEventObjectPic_Brawly, 16, 32, 2), + overworld_frame(gEventObjectPic_Brawly, 2, 4, 0), + overworld_frame(gEventObjectPic_Brawly, 2, 4, 1), + overworld_frame(gEventObjectPic_Brawly, 2, 4, 2), + overworld_frame(gEventObjectPic_Brawly, 2, 4, 0), + overworld_frame(gEventObjectPic_Brawly, 2, 4, 0), + overworld_frame(gEventObjectPic_Brawly, 2, 4, 1), + overworld_frame(gEventObjectPic_Brawly, 2, 4, 1), + overworld_frame(gEventObjectPic_Brawly, 2, 4, 2), + overworld_frame(gEventObjectPic_Brawly, 2, 4, 2), }; const struct SpriteFrameImage gEventObjectPicTable_Wattson[] = { - overworld_frame(gEventObjectPic_Wattson, 16, 32, 0), - overworld_frame(gEventObjectPic_Wattson, 16, 32, 1), - overworld_frame(gEventObjectPic_Wattson, 16, 32, 2), - overworld_frame(gEventObjectPic_Wattson, 16, 32, 0), - overworld_frame(gEventObjectPic_Wattson, 16, 32, 0), - overworld_frame(gEventObjectPic_Wattson, 16, 32, 1), - overworld_frame(gEventObjectPic_Wattson, 16, 32, 1), - overworld_frame(gEventObjectPic_Wattson, 16, 32, 2), - overworld_frame(gEventObjectPic_Wattson, 16, 32, 2), + overworld_frame(gEventObjectPic_Wattson, 2, 4, 0), + overworld_frame(gEventObjectPic_Wattson, 2, 4, 1), + overworld_frame(gEventObjectPic_Wattson, 2, 4, 2), + overworld_frame(gEventObjectPic_Wattson, 2, 4, 0), + overworld_frame(gEventObjectPic_Wattson, 2, 4, 0), + overworld_frame(gEventObjectPic_Wattson, 2, 4, 1), + overworld_frame(gEventObjectPic_Wattson, 2, 4, 1), + overworld_frame(gEventObjectPic_Wattson, 2, 4, 2), + overworld_frame(gEventObjectPic_Wattson, 2, 4, 2), }; const struct SpriteFrameImage gEventObjectPicTable_Flannery[] = { - overworld_frame(gEventObjectPic_Flannery, 16, 32, 0), - overworld_frame(gEventObjectPic_Flannery, 16, 32, 1), - overworld_frame(gEventObjectPic_Flannery, 16, 32, 2), - overworld_frame(gEventObjectPic_Flannery, 16, 32, 0), - overworld_frame(gEventObjectPic_Flannery, 16, 32, 0), - overworld_frame(gEventObjectPic_Flannery, 16, 32, 1), - overworld_frame(gEventObjectPic_Flannery, 16, 32, 1), - overworld_frame(gEventObjectPic_Flannery, 16, 32, 2), - overworld_frame(gEventObjectPic_Flannery, 16, 32, 2), + overworld_frame(gEventObjectPic_Flannery, 2, 4, 0), + overworld_frame(gEventObjectPic_Flannery, 2, 4, 1), + overworld_frame(gEventObjectPic_Flannery, 2, 4, 2), + overworld_frame(gEventObjectPic_Flannery, 2, 4, 0), + overworld_frame(gEventObjectPic_Flannery, 2, 4, 0), + overworld_frame(gEventObjectPic_Flannery, 2, 4, 1), + overworld_frame(gEventObjectPic_Flannery, 2, 4, 1), + overworld_frame(gEventObjectPic_Flannery, 2, 4, 2), + overworld_frame(gEventObjectPic_Flannery, 2, 4, 2), }; const struct SpriteFrameImage gEventObjectPicTable_Norman[] = { - overworld_frame(gEventObjectPic_Norman, 16, 32, 0), - overworld_frame(gEventObjectPic_Norman, 16, 32, 1), - overworld_frame(gEventObjectPic_Norman, 16, 32, 2), - overworld_frame(gEventObjectPic_Norman, 16, 32, 3), - overworld_frame(gEventObjectPic_Norman, 16, 32, 4), - overworld_frame(gEventObjectPic_Norman, 16, 32, 5), - overworld_frame(gEventObjectPic_Norman, 16, 32, 6), - overworld_frame(gEventObjectPic_Norman, 16, 32, 7), - overworld_frame(gEventObjectPic_Norman, 16, 32, 8), + overworld_frame(gEventObjectPic_Norman, 2, 4, 0), + overworld_frame(gEventObjectPic_Norman, 2, 4, 1), + overworld_frame(gEventObjectPic_Norman, 2, 4, 2), + overworld_frame(gEventObjectPic_Norman, 2, 4, 3), + overworld_frame(gEventObjectPic_Norman, 2, 4, 4), + overworld_frame(gEventObjectPic_Norman, 2, 4, 5), + overworld_frame(gEventObjectPic_Norman, 2, 4, 6), + overworld_frame(gEventObjectPic_Norman, 2, 4, 7), + overworld_frame(gEventObjectPic_Norman, 2, 4, 8), }; const struct SpriteFrameImage gEventObjectPicTable_Winona[] = { - overworld_frame(gEventObjectPic_Winona, 16, 32, 0), - overworld_frame(gEventObjectPic_Winona, 16, 32, 1), - overworld_frame(gEventObjectPic_Winona, 16, 32, 2), - overworld_frame(gEventObjectPic_Winona, 16, 32, 0), - overworld_frame(gEventObjectPic_Winona, 16, 32, 0), - overworld_frame(gEventObjectPic_Winona, 16, 32, 1), - overworld_frame(gEventObjectPic_Winona, 16, 32, 1), - overworld_frame(gEventObjectPic_Winona, 16, 32, 2), - overworld_frame(gEventObjectPic_Winona, 16, 32, 2), + overworld_frame(gEventObjectPic_Winona, 2, 4, 0), + overworld_frame(gEventObjectPic_Winona, 2, 4, 1), + overworld_frame(gEventObjectPic_Winona, 2, 4, 2), + overworld_frame(gEventObjectPic_Winona, 2, 4, 0), + overworld_frame(gEventObjectPic_Winona, 2, 4, 0), + overworld_frame(gEventObjectPic_Winona, 2, 4, 1), + overworld_frame(gEventObjectPic_Winona, 2, 4, 1), + overworld_frame(gEventObjectPic_Winona, 2, 4, 2), + overworld_frame(gEventObjectPic_Winona, 2, 4, 2), }; const struct SpriteFrameImage gEventObjectPicTable_Liza[] = { - overworld_frame(gEventObjectPic_Liza, 16, 32, 0), - overworld_frame(gEventObjectPic_Liza, 16, 32, 1), - overworld_frame(gEventObjectPic_Liza, 16, 32, 2), - overworld_frame(gEventObjectPic_Liza, 16, 32, 0), - overworld_frame(gEventObjectPic_Liza, 16, 32, 0), - overworld_frame(gEventObjectPic_Liza, 16, 32, 1), - overworld_frame(gEventObjectPic_Liza, 16, 32, 1), - overworld_frame(gEventObjectPic_Liza, 16, 32, 2), - overworld_frame(gEventObjectPic_Liza, 16, 32, 2), + overworld_frame(gEventObjectPic_Liza, 2, 4, 0), + overworld_frame(gEventObjectPic_Liza, 2, 4, 1), + overworld_frame(gEventObjectPic_Liza, 2, 4, 2), + overworld_frame(gEventObjectPic_Liza, 2, 4, 0), + overworld_frame(gEventObjectPic_Liza, 2, 4, 0), + overworld_frame(gEventObjectPic_Liza, 2, 4, 1), + overworld_frame(gEventObjectPic_Liza, 2, 4, 1), + overworld_frame(gEventObjectPic_Liza, 2, 4, 2), + overworld_frame(gEventObjectPic_Liza, 2, 4, 2), }; const struct SpriteFrameImage gEventObjectPicTable_Tate[] = { - overworld_frame(gEventObjectPic_Tate, 16, 32, 0), - overworld_frame(gEventObjectPic_Tate, 16, 32, 1), - overworld_frame(gEventObjectPic_Tate, 16, 32, 2), - overworld_frame(gEventObjectPic_Tate, 16, 32, 0), - overworld_frame(gEventObjectPic_Tate, 16, 32, 0), - overworld_frame(gEventObjectPic_Tate, 16, 32, 1), - overworld_frame(gEventObjectPic_Tate, 16, 32, 1), - overworld_frame(gEventObjectPic_Tate, 16, 32, 2), - overworld_frame(gEventObjectPic_Tate, 16, 32, 2), + overworld_frame(gEventObjectPic_Tate, 2, 4, 0), + overworld_frame(gEventObjectPic_Tate, 2, 4, 1), + overworld_frame(gEventObjectPic_Tate, 2, 4, 2), + overworld_frame(gEventObjectPic_Tate, 2, 4, 0), + overworld_frame(gEventObjectPic_Tate, 2, 4, 0), + overworld_frame(gEventObjectPic_Tate, 2, 4, 1), + overworld_frame(gEventObjectPic_Tate, 2, 4, 1), + overworld_frame(gEventObjectPic_Tate, 2, 4, 2), + overworld_frame(gEventObjectPic_Tate, 2, 4, 2), }; const struct SpriteFrameImage gEventObjectPicTable_Wallace[] = { - overworld_frame(gEventObjectPic_Wallace, 16, 32, 0), - overworld_frame(gEventObjectPic_Wallace, 16, 32, 1), - overworld_frame(gEventObjectPic_Wallace, 16, 32, 2), - overworld_frame(gEventObjectPic_Wallace, 16, 32, 3), - overworld_frame(gEventObjectPic_Wallace, 16, 32, 4), - overworld_frame(gEventObjectPic_Wallace, 16, 32, 5), - overworld_frame(gEventObjectPic_Wallace, 16, 32, 6), - overworld_frame(gEventObjectPic_Wallace, 16, 32, 7), - overworld_frame(gEventObjectPic_Wallace, 16, 32, 8), + overworld_frame(gEventObjectPic_Wallace, 2, 4, 0), + overworld_frame(gEventObjectPic_Wallace, 2, 4, 1), + overworld_frame(gEventObjectPic_Wallace, 2, 4, 2), + overworld_frame(gEventObjectPic_Wallace, 2, 4, 3), + overworld_frame(gEventObjectPic_Wallace, 2, 4, 4), + overworld_frame(gEventObjectPic_Wallace, 2, 4, 5), + overworld_frame(gEventObjectPic_Wallace, 2, 4, 6), + overworld_frame(gEventObjectPic_Wallace, 2, 4, 7), + overworld_frame(gEventObjectPic_Wallace, 2, 4, 8), }; const struct SpriteFrameImage gEventObjectPicTable_Steven[] = { - overworld_frame(gEventObjectPic_Steven, 16, 32, 0), - overworld_frame(gEventObjectPic_Steven, 16, 32, 1), - overworld_frame(gEventObjectPic_Steven, 16, 32, 2), - overworld_frame(gEventObjectPic_Steven, 16, 32, 3), - overworld_frame(gEventObjectPic_Steven, 16, 32, 4), - overworld_frame(gEventObjectPic_Steven, 16, 32, 5), - overworld_frame(gEventObjectPic_Steven, 16, 32, 6), - overworld_frame(gEventObjectPic_Steven, 16, 32, 7), - overworld_frame(gEventObjectPic_Steven, 16, 32, 8), + overworld_frame(gEventObjectPic_Steven, 2, 4, 0), + overworld_frame(gEventObjectPic_Steven, 2, 4, 1), + overworld_frame(gEventObjectPic_Steven, 2, 4, 2), + overworld_frame(gEventObjectPic_Steven, 2, 4, 3), + overworld_frame(gEventObjectPic_Steven, 2, 4, 4), + overworld_frame(gEventObjectPic_Steven, 2, 4, 5), + overworld_frame(gEventObjectPic_Steven, 2, 4, 6), + overworld_frame(gEventObjectPic_Steven, 2, 4, 7), + overworld_frame(gEventObjectPic_Steven, 2, 4, 8), }; const struct SpriteFrameImage gEventObjectPicTable_Wally[] = { - overworld_frame(gEventObjectPic_Wally, 16, 32, 0), - overworld_frame(gEventObjectPic_Wally, 16, 32, 1), - overworld_frame(gEventObjectPic_Wally, 16, 32, 2), - overworld_frame(gEventObjectPic_Wally, 16, 32, 3), - overworld_frame(gEventObjectPic_Wally, 16, 32, 4), - overworld_frame(gEventObjectPic_Wally, 16, 32, 5), - overworld_frame(gEventObjectPic_Wally, 16, 32, 6), - overworld_frame(gEventObjectPic_Wally, 16, 32, 7), - overworld_frame(gEventObjectPic_Wally, 16, 32, 8), + overworld_frame(gEventObjectPic_Wally, 2, 4, 0), + overworld_frame(gEventObjectPic_Wally, 2, 4, 1), + overworld_frame(gEventObjectPic_Wally, 2, 4, 2), + overworld_frame(gEventObjectPic_Wally, 2, 4, 3), + overworld_frame(gEventObjectPic_Wally, 2, 4, 4), + overworld_frame(gEventObjectPic_Wally, 2, 4, 5), + overworld_frame(gEventObjectPic_Wally, 2, 4, 6), + overworld_frame(gEventObjectPic_Wally, 2, 4, 7), + overworld_frame(gEventObjectPic_Wally, 2, 4, 8), }; const struct SpriteFrameImage gEventObjectPicTable_RubySapphireLittleBoy[] = { - overworld_frame(gEventObjectPic_RubySapphireLittleBoy, 16, 16, 0), - overworld_frame(gEventObjectPic_RubySapphireLittleBoy, 16, 16, 1), - overworld_frame(gEventObjectPic_RubySapphireLittleBoy, 16, 16, 2), - overworld_frame(gEventObjectPic_RubySapphireLittleBoy, 16, 16, 3), - overworld_frame(gEventObjectPic_RubySapphireLittleBoy, 16, 16, 4), - overworld_frame(gEventObjectPic_RubySapphireLittleBoy, 16, 16, 5), - overworld_frame(gEventObjectPic_RubySapphireLittleBoy, 16, 16, 6), - overworld_frame(gEventObjectPic_RubySapphireLittleBoy, 16, 16, 7), - overworld_frame(gEventObjectPic_RubySapphireLittleBoy, 16, 16, 8), + overworld_frame(gEventObjectPic_RubySapphireLittleBoy, 2, 2, 0), + overworld_frame(gEventObjectPic_RubySapphireLittleBoy, 2, 2, 1), + overworld_frame(gEventObjectPic_RubySapphireLittleBoy, 2, 2, 2), + overworld_frame(gEventObjectPic_RubySapphireLittleBoy, 2, 2, 3), + overworld_frame(gEventObjectPic_RubySapphireLittleBoy, 2, 2, 4), + overworld_frame(gEventObjectPic_RubySapphireLittleBoy, 2, 2, 5), + overworld_frame(gEventObjectPic_RubySapphireLittleBoy, 2, 2, 6), + overworld_frame(gEventObjectPic_RubySapphireLittleBoy, 2, 2, 7), + overworld_frame(gEventObjectPic_RubySapphireLittleBoy, 2, 2, 8), }; const struct SpriteFrameImage gEventObjectPicTable_BrendanFishing[] = { - overworld_frame(gEventObjectPic_BrendanFishing, 32, 32, 0), - overworld_frame(gEventObjectPic_BrendanFishing, 32, 32, 1), - overworld_frame(gEventObjectPic_BrendanFishing, 32, 32, 2), - overworld_frame(gEventObjectPic_BrendanFishing, 32, 32, 3), - overworld_frame(gEventObjectPic_BrendanFishing, 32, 32, 4), - overworld_frame(gEventObjectPic_BrendanFishing, 32, 32, 5), - overworld_frame(gEventObjectPic_BrendanFishing, 32, 32, 6), - overworld_frame(gEventObjectPic_BrendanFishing, 32, 32, 7), - overworld_frame(gEventObjectPic_BrendanFishing, 32, 32, 8), - overworld_frame(gEventObjectPic_BrendanFishing, 32, 32, 9), - overworld_frame(gEventObjectPic_BrendanFishing, 32, 32, 10), - overworld_frame(gEventObjectPic_BrendanFishing, 32, 32, 11), + overworld_frame(gEventObjectPic_BrendanFishing, 4, 4, 0), + overworld_frame(gEventObjectPic_BrendanFishing, 4, 4, 1), + overworld_frame(gEventObjectPic_BrendanFishing, 4, 4, 2), + overworld_frame(gEventObjectPic_BrendanFishing, 4, 4, 3), + overworld_frame(gEventObjectPic_BrendanFishing, 4, 4, 4), + overworld_frame(gEventObjectPic_BrendanFishing, 4, 4, 5), + overworld_frame(gEventObjectPic_BrendanFishing, 4, 4, 6), + overworld_frame(gEventObjectPic_BrendanFishing, 4, 4, 7), + overworld_frame(gEventObjectPic_BrendanFishing, 4, 4, 8), + overworld_frame(gEventObjectPic_BrendanFishing, 4, 4, 9), + overworld_frame(gEventObjectPic_BrendanFishing, 4, 4, 10), + overworld_frame(gEventObjectPic_BrendanFishing, 4, 4, 11), }; const struct SpriteFrameImage gEventObjectPicTable_MayFishing[] = { - overworld_frame(gEventObjectPic_MayFishing, 32, 32, 0), - overworld_frame(gEventObjectPic_MayFishing, 32, 32, 1), - overworld_frame(gEventObjectPic_MayFishing, 32, 32, 2), - overworld_frame(gEventObjectPic_MayFishing, 32, 32, 3), - overworld_frame(gEventObjectPic_MayFishing, 32, 32, 4), - overworld_frame(gEventObjectPic_MayFishing, 32, 32, 5), - overworld_frame(gEventObjectPic_MayFishing, 32, 32, 6), - overworld_frame(gEventObjectPic_MayFishing, 32, 32, 7), - overworld_frame(gEventObjectPic_MayFishing, 32, 32, 8), - overworld_frame(gEventObjectPic_MayFishing, 32, 32, 9), - overworld_frame(gEventObjectPic_MayFishing, 32, 32, 10), - overworld_frame(gEventObjectPic_MayFishing, 32, 32, 11), + overworld_frame(gEventObjectPic_MayFishing, 4, 4, 0), + overworld_frame(gEventObjectPic_MayFishing, 4, 4, 1), + overworld_frame(gEventObjectPic_MayFishing, 4, 4, 2), + overworld_frame(gEventObjectPic_MayFishing, 4, 4, 3), + overworld_frame(gEventObjectPic_MayFishing, 4, 4, 4), + overworld_frame(gEventObjectPic_MayFishing, 4, 4, 5), + overworld_frame(gEventObjectPic_MayFishing, 4, 4, 6), + overworld_frame(gEventObjectPic_MayFishing, 4, 4, 7), + overworld_frame(gEventObjectPic_MayFishing, 4, 4, 8), + overworld_frame(gEventObjectPic_MayFishing, 4, 4, 9), + overworld_frame(gEventObjectPic_MayFishing, 4, 4, 10), + overworld_frame(gEventObjectPic_MayFishing, 4, 4, 11), }; const struct SpriteFrameImage gEventObjectPicTable_HotSpringsOldWoman[] = { - overworld_frame(gEventObjectPic_HotSpringsOldWoman, 16, 32, 0), - overworld_frame(gEventObjectPic_HotSpringsOldWoman, 16, 32, 1), - overworld_frame(gEventObjectPic_HotSpringsOldWoman, 16, 32, 2), - overworld_frame(gEventObjectPic_HotSpringsOldWoman, 16, 32, 3), - overworld_frame(gEventObjectPic_HotSpringsOldWoman, 16, 32, 4), - overworld_frame(gEventObjectPic_HotSpringsOldWoman, 16, 32, 5), - overworld_frame(gEventObjectPic_HotSpringsOldWoman, 16, 32, 6), - overworld_frame(gEventObjectPic_HotSpringsOldWoman, 16, 32, 7), - overworld_frame(gEventObjectPic_HotSpringsOldWoman, 16, 32, 8), + overworld_frame(gEventObjectPic_HotSpringsOldWoman, 2, 4, 0), + overworld_frame(gEventObjectPic_HotSpringsOldWoman, 2, 4, 1), + overworld_frame(gEventObjectPic_HotSpringsOldWoman, 2, 4, 2), + overworld_frame(gEventObjectPic_HotSpringsOldWoman, 2, 4, 3), + overworld_frame(gEventObjectPic_HotSpringsOldWoman, 2, 4, 4), + overworld_frame(gEventObjectPic_HotSpringsOldWoman, 2, 4, 5), + overworld_frame(gEventObjectPic_HotSpringsOldWoman, 2, 4, 6), + overworld_frame(gEventObjectPic_HotSpringsOldWoman, 2, 4, 7), + overworld_frame(gEventObjectPic_HotSpringsOldWoman, 2, 4, 8), }; const struct SpriteFrameImage gEventObjectPicTable_SSTidal[] = { @@ -1621,63 +1621,63 @@ const struct SpriteFrameImage gEventObjectPicTable_BigRegisteelDoll[] = { }; const struct SpriteFrameImage gEventObjectPicTable_LatiasLatios[] = { - overworld_frame(gEventObjectPic_LatiasLatios, 32, 32, 0), - overworld_frame(gEventObjectPic_LatiasLatios, 32, 32, 0), - overworld_frame(gEventObjectPic_LatiasLatios, 32, 32, 0), - overworld_frame(gEventObjectPic_LatiasLatios, 32, 32, 1), - overworld_frame(gEventObjectPic_LatiasLatios, 32, 32, 2), - overworld_frame(gEventObjectPic_LatiasLatios, 32, 32, 1), - overworld_frame(gEventObjectPic_LatiasLatios, 32, 32, 2), - overworld_frame(gEventObjectPic_LatiasLatios, 32, 32, 1), - overworld_frame(gEventObjectPic_LatiasLatios, 32, 32, 2), + overworld_frame(gEventObjectPic_LatiasLatios, 4, 4, 0), + overworld_frame(gEventObjectPic_LatiasLatios, 4, 4, 0), + overworld_frame(gEventObjectPic_LatiasLatios, 4, 4, 0), + overworld_frame(gEventObjectPic_LatiasLatios, 4, 4, 1), + overworld_frame(gEventObjectPic_LatiasLatios, 4, 4, 2), + overworld_frame(gEventObjectPic_LatiasLatios, 4, 4, 1), + overworld_frame(gEventObjectPic_LatiasLatios, 4, 4, 2), + overworld_frame(gEventObjectPic_LatiasLatios, 4, 4, 1), + overworld_frame(gEventObjectPic_LatiasLatios, 4, 4, 2), }; const struct SpriteFrameImage gEventObjectPicTable_Boy5[] = { - overworld_frame(gEventObjectPic_Boy5, 16, 32, 0), - overworld_frame(gEventObjectPic_Boy5, 16, 32, 1), - overworld_frame(gEventObjectPic_Boy5, 16, 32, 2), - overworld_frame(gEventObjectPic_Boy5, 16, 32, 0), - overworld_frame(gEventObjectPic_Boy5, 16, 32, 0), - overworld_frame(gEventObjectPic_Boy5, 16, 32, 1), - overworld_frame(gEventObjectPic_Boy5, 16, 32, 1), - overworld_frame(gEventObjectPic_Boy5, 16, 32, 2), - overworld_frame(gEventObjectPic_Boy5, 16, 32, 2), + overworld_frame(gEventObjectPic_Boy5, 2, 4, 0), + overworld_frame(gEventObjectPic_Boy5, 2, 4, 1), + overworld_frame(gEventObjectPic_Boy5, 2, 4, 2), + overworld_frame(gEventObjectPic_Boy5, 2, 4, 0), + overworld_frame(gEventObjectPic_Boy5, 2, 4, 0), + overworld_frame(gEventObjectPic_Boy5, 2, 4, 1), + overworld_frame(gEventObjectPic_Boy5, 2, 4, 1), + overworld_frame(gEventObjectPic_Boy5, 2, 4, 2), + overworld_frame(gEventObjectPic_Boy5, 2, 4, 2), }; const struct SpriteFrameImage gEventObjectPicTable_ContestOldMan[] = { - overworld_frame(gEventObjectPic_ContestOldMan, 16, 32, 0), - overworld_frame(gEventObjectPic_ContestOldMan, 16, 32, 1), - overworld_frame(gEventObjectPic_ContestOldMan, 16, 32, 2), - overworld_frame(gEventObjectPic_ContestOldMan, 16, 32, 3), - overworld_frame(gEventObjectPic_ContestOldMan, 16, 32, 4), - overworld_frame(gEventObjectPic_ContestOldMan, 16, 32, 5), - overworld_frame(gEventObjectPic_ContestOldMan, 16, 32, 6), - overworld_frame(gEventObjectPic_ContestOldMan, 16, 32, 7), - overworld_frame(gEventObjectPic_ContestOldMan, 16, 32, 8), + overworld_frame(gEventObjectPic_ContestOldMan, 2, 4, 0), + overworld_frame(gEventObjectPic_ContestOldMan, 2, 4, 1), + overworld_frame(gEventObjectPic_ContestOldMan, 2, 4, 2), + overworld_frame(gEventObjectPic_ContestOldMan, 2, 4, 3), + overworld_frame(gEventObjectPic_ContestOldMan, 2, 4, 4), + overworld_frame(gEventObjectPic_ContestOldMan, 2, 4, 5), + overworld_frame(gEventObjectPic_ContestOldMan, 2, 4, 6), + overworld_frame(gEventObjectPic_ContestOldMan, 2, 4, 7), + overworld_frame(gEventObjectPic_ContestOldMan, 2, 4, 8), }; const struct SpriteFrameImage gEventObjectPicTable_BrendanWatering[] = { - overworld_frame(gEventObjectPic_BrendanWatering, 32, 32, 0), - overworld_frame(gEventObjectPic_BrendanWatering, 32, 32, 2), - overworld_frame(gEventObjectPic_BrendanWatering, 32, 32, 4), - overworld_frame(gEventObjectPic_BrendanWatering, 32, 32, 1), - overworld_frame(gEventObjectPic_BrendanWatering, 32, 32, 1), - overworld_frame(gEventObjectPic_BrendanWatering, 32, 32, 3), - overworld_frame(gEventObjectPic_BrendanWatering, 32, 32, 3), - overworld_frame(gEventObjectPic_BrendanWatering, 32, 32, 5), - overworld_frame(gEventObjectPic_BrendanWatering, 32, 32, 5), + overworld_frame(gEventObjectPic_BrendanWatering, 4, 4, 0), + overworld_frame(gEventObjectPic_BrendanWatering, 4, 4, 2), + overworld_frame(gEventObjectPic_BrendanWatering, 4, 4, 4), + overworld_frame(gEventObjectPic_BrendanWatering, 4, 4, 1), + overworld_frame(gEventObjectPic_BrendanWatering, 4, 4, 1), + overworld_frame(gEventObjectPic_BrendanWatering, 4, 4, 3), + overworld_frame(gEventObjectPic_BrendanWatering, 4, 4, 3), + overworld_frame(gEventObjectPic_BrendanWatering, 4, 4, 5), + overworld_frame(gEventObjectPic_BrendanWatering, 4, 4, 5), }; const struct SpriteFrameImage gEventObjectPicTable_MayWatering[] = { - overworld_frame(gEventObjectPic_MayWatering, 32, 32, 0), - overworld_frame(gEventObjectPic_MayWatering, 32, 32, 2), - overworld_frame(gEventObjectPic_MayWatering, 32, 32, 4), - overworld_frame(gEventObjectPic_MayWatering, 32, 32, 1), - overworld_frame(gEventObjectPic_MayWatering, 32, 32, 1), - overworld_frame(gEventObjectPic_MayWatering, 32, 32, 3), - overworld_frame(gEventObjectPic_MayWatering, 32, 32, 3), - overworld_frame(gEventObjectPic_MayWatering, 32, 32, 5), - overworld_frame(gEventObjectPic_MayWatering, 32, 32, 5), + overworld_frame(gEventObjectPic_MayWatering, 4, 4, 0), + overworld_frame(gEventObjectPic_MayWatering, 4, 4, 2), + overworld_frame(gEventObjectPic_MayWatering, 4, 4, 4), + overworld_frame(gEventObjectPic_MayWatering, 4, 4, 1), + overworld_frame(gEventObjectPic_MayWatering, 4, 4, 1), + overworld_frame(gEventObjectPic_MayWatering, 4, 4, 3), + overworld_frame(gEventObjectPic_MayWatering, 4, 4, 3), + overworld_frame(gEventObjectPic_MayWatering, 4, 4, 5), + overworld_frame(gEventObjectPic_MayWatering, 4, 4, 5), }; const struct SpriteFrameImage gEventObjectPicTable_BrendanDecorating[] = { @@ -1689,75 +1689,75 @@ const struct SpriteFrameImage gEventObjectPicTable_MayDecorating[] = { }; const struct SpriteFrameImage gEventObjectPicTable_Archie[] = { - overworld_frame(gEventObjectPic_Archie, 16, 32, 0), - overworld_frame(gEventObjectPic_Archie, 16, 32, 1), - overworld_frame(gEventObjectPic_Archie, 16, 32, 2), - overworld_frame(gEventObjectPic_Archie, 16, 32, 3), - overworld_frame(gEventObjectPic_Archie, 16, 32, 4), - overworld_frame(gEventObjectPic_Archie, 16, 32, 5), - overworld_frame(gEventObjectPic_Archie, 16, 32, 6), - overworld_frame(gEventObjectPic_Archie, 16, 32, 7), - overworld_frame(gEventObjectPic_Archie, 16, 32, 8), + overworld_frame(gEventObjectPic_Archie, 2, 4, 0), + overworld_frame(gEventObjectPic_Archie, 2, 4, 1), + overworld_frame(gEventObjectPic_Archie, 2, 4, 2), + overworld_frame(gEventObjectPic_Archie, 2, 4, 3), + overworld_frame(gEventObjectPic_Archie, 2, 4, 4), + overworld_frame(gEventObjectPic_Archie, 2, 4, 5), + overworld_frame(gEventObjectPic_Archie, 2, 4, 6), + overworld_frame(gEventObjectPic_Archie, 2, 4, 7), + overworld_frame(gEventObjectPic_Archie, 2, 4, 8), }; const struct SpriteFrameImage gEventObjectPicTable_Maxie[] = { - overworld_frame(gEventObjectPic_Maxie, 16, 32, 0), - overworld_frame(gEventObjectPic_Maxie, 16, 32, 1), - overworld_frame(gEventObjectPic_Maxie, 16, 32, 2), - overworld_frame(gEventObjectPic_Maxie, 16, 32, 3), - overworld_frame(gEventObjectPic_Maxie, 16, 32, 4), - overworld_frame(gEventObjectPic_Maxie, 16, 32, 5), - overworld_frame(gEventObjectPic_Maxie, 16, 32, 6), - overworld_frame(gEventObjectPic_Maxie, 16, 32, 7), - overworld_frame(gEventObjectPic_Maxie, 16, 32, 8), + overworld_frame(gEventObjectPic_Maxie, 2, 4, 0), + overworld_frame(gEventObjectPic_Maxie, 2, 4, 1), + overworld_frame(gEventObjectPic_Maxie, 2, 4, 2), + overworld_frame(gEventObjectPic_Maxie, 2, 4, 3), + overworld_frame(gEventObjectPic_Maxie, 2, 4, 4), + overworld_frame(gEventObjectPic_Maxie, 2, 4, 5), + overworld_frame(gEventObjectPic_Maxie, 2, 4, 6), + overworld_frame(gEventObjectPic_Maxie, 2, 4, 7), + overworld_frame(gEventObjectPic_Maxie, 2, 4, 8), }; const struct SpriteFrameImage gEventObjectPicTable_KyogreFront[] = { - overworld_frame(gEventObjectPic_Kyogre, 32, 32, 0), - overworld_frame(gEventObjectPic_Kyogre, 32, 32, 0), - overworld_frame(gEventObjectPic_Kyogre, 32, 32, 0), - overworld_frame(gEventObjectPic_Kyogre, 32, 32, 1), - overworld_frame(gEventObjectPic_Kyogre, 32, 32, 1), - overworld_frame(gEventObjectPic_Kyogre, 32, 32, 1), - overworld_frame(gEventObjectPic_Kyogre, 32, 32, 1), - overworld_frame(gEventObjectPic_Kyogre, 32, 32, 1), - overworld_frame(gEventObjectPic_Kyogre, 32, 32, 1), + overworld_frame(gEventObjectPic_Kyogre, 4, 4, 0), + overworld_frame(gEventObjectPic_Kyogre, 4, 4, 0), + overworld_frame(gEventObjectPic_Kyogre, 4, 4, 0), + overworld_frame(gEventObjectPic_Kyogre, 4, 4, 1), + overworld_frame(gEventObjectPic_Kyogre, 4, 4, 1), + overworld_frame(gEventObjectPic_Kyogre, 4, 4, 1), + overworld_frame(gEventObjectPic_Kyogre, 4, 4, 1), + overworld_frame(gEventObjectPic_Kyogre, 4, 4, 1), + overworld_frame(gEventObjectPic_Kyogre, 4, 4, 1), }; const struct SpriteFrameImage gEventObjectPicTable_GroudonFront[] = { - overworld_frame(gEventObjectPic_Groudon, 32, 32, 0), - overworld_frame(gEventObjectPic_Groudon, 32, 32, 0), - overworld_frame(gEventObjectPic_Groudon, 32, 32, 0), - overworld_frame(gEventObjectPic_Groudon, 32, 32, 1), - overworld_frame(gEventObjectPic_Groudon, 32, 32, 1), - overworld_frame(gEventObjectPic_Groudon, 32, 32, 1), - overworld_frame(gEventObjectPic_Groudon, 32, 32, 1), - overworld_frame(gEventObjectPic_Groudon, 32, 32, 1), - overworld_frame(gEventObjectPic_Groudon, 32, 32, 1), + overworld_frame(gEventObjectPic_Groudon, 4, 4, 0), + overworld_frame(gEventObjectPic_Groudon, 4, 4, 0), + overworld_frame(gEventObjectPic_Groudon, 4, 4, 0), + overworld_frame(gEventObjectPic_Groudon, 4, 4, 1), + overworld_frame(gEventObjectPic_Groudon, 4, 4, 1), + overworld_frame(gEventObjectPic_Groudon, 4, 4, 1), + overworld_frame(gEventObjectPic_Groudon, 4, 4, 1), + overworld_frame(gEventObjectPic_Groudon, 4, 4, 1), + overworld_frame(gEventObjectPic_Groudon, 4, 4, 1), }; const struct SpriteFrameImage gEventObjectPicTable_KyogreSide[] = { - overworld_frame(gEventObjectPic_Kyogre, 32, 32, 2), - overworld_frame(gEventObjectPic_Kyogre, 32, 32, 2), - overworld_frame(gEventObjectPic_Kyogre, 32, 32, 2), - overworld_frame(gEventObjectPic_Kyogre, 32, 32, 3), - overworld_frame(gEventObjectPic_Kyogre, 32, 32, 3), - overworld_frame(gEventObjectPic_Kyogre, 32, 32, 3), - overworld_frame(gEventObjectPic_Kyogre, 32, 32, 3), - overworld_frame(gEventObjectPic_Kyogre, 32, 32, 3), - overworld_frame(gEventObjectPic_Kyogre, 32, 32, 3), + overworld_frame(gEventObjectPic_Kyogre, 4, 4, 2), + overworld_frame(gEventObjectPic_Kyogre, 4, 4, 2), + overworld_frame(gEventObjectPic_Kyogre, 4, 4, 2), + overworld_frame(gEventObjectPic_Kyogre, 4, 4, 3), + overworld_frame(gEventObjectPic_Kyogre, 4, 4, 3), + overworld_frame(gEventObjectPic_Kyogre, 4, 4, 3), + overworld_frame(gEventObjectPic_Kyogre, 4, 4, 3), + overworld_frame(gEventObjectPic_Kyogre, 4, 4, 3), + overworld_frame(gEventObjectPic_Kyogre, 4, 4, 3), }; const struct SpriteFrameImage gEventObjectPicTable_GroudonSide[] = { - overworld_frame(gEventObjectPic_Groudon, 32, 32, 2), - overworld_frame(gEventObjectPic_Groudon, 32, 32, 2), - overworld_frame(gEventObjectPic_Groudon, 32, 32, 2), - overworld_frame(gEventObjectPic_Groudon, 32, 32, 3), - overworld_frame(gEventObjectPic_Groudon, 32, 32, 3), - overworld_frame(gEventObjectPic_Groudon, 32, 32, 3), - overworld_frame(gEventObjectPic_Groudon, 32, 32, 3), - overworld_frame(gEventObjectPic_Groudon, 32, 32, 3), - overworld_frame(gEventObjectPic_Groudon, 32, 32, 3), + overworld_frame(gEventObjectPic_Groudon, 4, 4, 2), + overworld_frame(gEventObjectPic_Groudon, 4, 4, 2), + overworld_frame(gEventObjectPic_Groudon, 4, 4, 2), + overworld_frame(gEventObjectPic_Groudon, 4, 4, 3), + overworld_frame(gEventObjectPic_Groudon, 4, 4, 3), + overworld_frame(gEventObjectPic_Groudon, 4, 4, 3), + overworld_frame(gEventObjectPic_Groudon, 4, 4, 3), + overworld_frame(gEventObjectPic_Groudon, 4, 4, 3), + overworld_frame(gEventObjectPic_Groudon, 4, 4, 3), }; const struct SpriteFrameImage gEventObjectPicTable_Fossil[] = { @@ -1777,35 +1777,35 @@ const struct SpriteFrameImage gEventObjectPicTable_Regi[] = { }; const struct SpriteFrameImage gEventObjectPicTable_Skitty[] = { - overworld_frame(gEventObjectPic_Skitty, 16, 16, 0), - overworld_frame(gEventObjectPic_Skitty, 16, 16, 1), - overworld_frame(gEventObjectPic_Skitty, 16, 16, 2), - overworld_frame(gEventObjectPic_Skitty, 16, 16, 0), - overworld_frame(gEventObjectPic_Skitty, 16, 16, 0), - overworld_frame(gEventObjectPic_Skitty, 16, 16, 1), - overworld_frame(gEventObjectPic_Skitty, 16, 16, 1), - overworld_frame(gEventObjectPic_Skitty, 16, 16, 2), - overworld_frame(gEventObjectPic_Skitty, 16, 16, 2), + overworld_frame(gEventObjectPic_Skitty, 2, 2, 0), + overworld_frame(gEventObjectPic_Skitty, 2, 2, 1), + overworld_frame(gEventObjectPic_Skitty, 2, 2, 2), + overworld_frame(gEventObjectPic_Skitty, 2, 2, 0), + overworld_frame(gEventObjectPic_Skitty, 2, 2, 0), + overworld_frame(gEventObjectPic_Skitty, 2, 2, 1), + overworld_frame(gEventObjectPic_Skitty, 2, 2, 1), + overworld_frame(gEventObjectPic_Skitty, 2, 2, 2), + overworld_frame(gEventObjectPic_Skitty, 2, 2, 2), }; const struct SpriteFrameImage gEventObjectPicTable_Kecleon[] = { - overworld_frame(gEventObjectPic_Kecleon, 16, 16, 0), - overworld_frame(gEventObjectPic_Kecleon, 16, 16, 1), - overworld_frame(gEventObjectPic_Kecleon, 16, 16, 2), - overworld_frame(gEventObjectPic_Kecleon, 16, 16, 0), - overworld_frame(gEventObjectPic_Kecleon, 16, 16, 0), - overworld_frame(gEventObjectPic_Kecleon, 16, 16, 1), - overworld_frame(gEventObjectPic_Kecleon, 16, 16, 1), - overworld_frame(gEventObjectPic_Kecleon, 16, 16, 2), - overworld_frame(gEventObjectPic_Kecleon, 16, 16, 2), + overworld_frame(gEventObjectPic_Kecleon, 2, 2, 0), + overworld_frame(gEventObjectPic_Kecleon, 2, 2, 1), + overworld_frame(gEventObjectPic_Kecleon, 2, 2, 2), + overworld_frame(gEventObjectPic_Kecleon, 2, 2, 0), + overworld_frame(gEventObjectPic_Kecleon, 2, 2, 0), + overworld_frame(gEventObjectPic_Kecleon, 2, 2, 1), + overworld_frame(gEventObjectPic_Kecleon, 2, 2, 1), + overworld_frame(gEventObjectPic_Kecleon, 2, 2, 2), + overworld_frame(gEventObjectPic_Kecleon, 2, 2, 2), }; const struct SpriteFrameImage gEventObjectPicTable_Rayquaza[] = { - overworld_frame(gEventObjectPic_Rayquaza, 64, 64, 0), - overworld_frame(gEventObjectPic_Rayquaza, 64, 64, 1), - overworld_frame(gEventObjectPic_Rayquaza, 64, 64, 2), - overworld_frame(gEventObjectPic_Rayquaza, 64, 64, 3), - overworld_frame(gEventObjectPic_Rayquaza, 64, 64, 4), + overworld_frame(gEventObjectPic_Rayquaza, 8, 8, 0), + overworld_frame(gEventObjectPic_Rayquaza, 8, 8, 1), + overworld_frame(gEventObjectPic_Rayquaza, 8, 8, 2), + overworld_frame(gEventObjectPic_Rayquaza, 8, 8, 3), + overworld_frame(gEventObjectPic_Rayquaza, 8, 8, 4), }; const struct SpriteFrameImage gEventObjectPicTable_RayquazaStill[] = { @@ -1821,123 +1821,123 @@ const struct SpriteFrameImage gEventObjectPicTable_RayquazaStill[] = { }; const struct SpriteFrameImage gEventObjectPicTable_Zigzagoon[] = { - overworld_frame(gEventObjectPic_Zigzagoon, 16, 16, 0), - overworld_frame(gEventObjectPic_Zigzagoon, 16, 16, 1), - overworld_frame(gEventObjectPic_Zigzagoon, 16, 16, 2), - overworld_frame(gEventObjectPic_Zigzagoon, 16, 16, 0), - overworld_frame(gEventObjectPic_Zigzagoon, 16, 16, 0), - overworld_frame(gEventObjectPic_Zigzagoon, 16, 16, 1), - overworld_frame(gEventObjectPic_Zigzagoon, 16, 16, 1), - overworld_frame(gEventObjectPic_Zigzagoon, 16, 16, 2), - overworld_frame(gEventObjectPic_Zigzagoon, 16, 16, 2), + overworld_frame(gEventObjectPic_Zigzagoon, 2, 2, 0), + overworld_frame(gEventObjectPic_Zigzagoon, 2, 2, 1), + overworld_frame(gEventObjectPic_Zigzagoon, 2, 2, 2), + overworld_frame(gEventObjectPic_Zigzagoon, 2, 2, 0), + overworld_frame(gEventObjectPic_Zigzagoon, 2, 2, 0), + overworld_frame(gEventObjectPic_Zigzagoon, 2, 2, 1), + overworld_frame(gEventObjectPic_Zigzagoon, 2, 2, 1), + overworld_frame(gEventObjectPic_Zigzagoon, 2, 2, 2), + overworld_frame(gEventObjectPic_Zigzagoon, 2, 2, 2), }; const struct SpriteFrameImage gEventObjectPicTable_Pikachu[] = { - overworld_frame(gEventObjectPic_Pikachu, 16, 16, 0), - overworld_frame(gEventObjectPic_Pikachu, 16, 16, 1), - overworld_frame(gEventObjectPic_Pikachu, 16, 16, 2), - overworld_frame(gEventObjectPic_Pikachu, 16, 16, 0), - overworld_frame(gEventObjectPic_Pikachu, 16, 16, 0), - overworld_frame(gEventObjectPic_Pikachu, 16, 16, 1), - overworld_frame(gEventObjectPic_Pikachu, 16, 16, 1), - overworld_frame(gEventObjectPic_Pikachu, 16, 16, 2), - overworld_frame(gEventObjectPic_Pikachu, 16, 16, 2), + overworld_frame(gEventObjectPic_Pikachu, 2, 2, 0), + overworld_frame(gEventObjectPic_Pikachu, 2, 2, 1), + overworld_frame(gEventObjectPic_Pikachu, 2, 2, 2), + overworld_frame(gEventObjectPic_Pikachu, 2, 2, 0), + overworld_frame(gEventObjectPic_Pikachu, 2, 2, 0), + overworld_frame(gEventObjectPic_Pikachu, 2, 2, 1), + overworld_frame(gEventObjectPic_Pikachu, 2, 2, 1), + overworld_frame(gEventObjectPic_Pikachu, 2, 2, 2), + overworld_frame(gEventObjectPic_Pikachu, 2, 2, 2), }; const struct SpriteFrameImage gEventObjectPicTable_Azumarill[] = { - overworld_frame(gEventObjectPic_Azumarill, 16, 16, 0), - overworld_frame(gEventObjectPic_Azumarill, 16, 16, 1), - overworld_frame(gEventObjectPic_Azumarill, 16, 16, 2), - overworld_frame(gEventObjectPic_Azumarill, 16, 16, 0), - overworld_frame(gEventObjectPic_Azumarill, 16, 16, 0), - overworld_frame(gEventObjectPic_Azumarill, 16, 16, 1), - overworld_frame(gEventObjectPic_Azumarill, 16, 16, 1), - overworld_frame(gEventObjectPic_Azumarill, 16, 16, 2), - overworld_frame(gEventObjectPic_Azumarill, 16, 16, 2), + overworld_frame(gEventObjectPic_Azumarill, 2, 2, 0), + overworld_frame(gEventObjectPic_Azumarill, 2, 2, 1), + overworld_frame(gEventObjectPic_Azumarill, 2, 2, 2), + overworld_frame(gEventObjectPic_Azumarill, 2, 2, 0), + overworld_frame(gEventObjectPic_Azumarill, 2, 2, 0), + overworld_frame(gEventObjectPic_Azumarill, 2, 2, 1), + overworld_frame(gEventObjectPic_Azumarill, 2, 2, 1), + overworld_frame(gEventObjectPic_Azumarill, 2, 2, 2), + overworld_frame(gEventObjectPic_Azumarill, 2, 2, 2), }; const struct SpriteFrameImage gEventObjectPicTable_Wingull[] = { - overworld_frame(gEventObjectPic_Wingull, 16, 16, 0), - overworld_frame(gEventObjectPic_Wingull, 16, 16, 2), - overworld_frame(gEventObjectPic_Wingull, 16, 16, 4), - overworld_frame(gEventObjectPic_Wingull, 16, 16, 1), - overworld_frame(gEventObjectPic_Wingull, 16, 16, 1), - overworld_frame(gEventObjectPic_Wingull, 16, 16, 3), - overworld_frame(gEventObjectPic_Wingull, 16, 16, 3), - overworld_frame(gEventObjectPic_Wingull, 16, 16, 5), - overworld_frame(gEventObjectPic_Wingull, 16, 16, 5), + overworld_frame(gEventObjectPic_Wingull, 2, 2, 0), + overworld_frame(gEventObjectPic_Wingull, 2, 2, 2), + overworld_frame(gEventObjectPic_Wingull, 2, 2, 4), + overworld_frame(gEventObjectPic_Wingull, 2, 2, 1), + overworld_frame(gEventObjectPic_Wingull, 2, 2, 1), + overworld_frame(gEventObjectPic_Wingull, 2, 2, 3), + overworld_frame(gEventObjectPic_Wingull, 2, 2, 3), + overworld_frame(gEventObjectPic_Wingull, 2, 2, 5), + overworld_frame(gEventObjectPic_Wingull, 2, 2, 5), }; const struct SpriteFrameImage gEventObjectPicTable_TuberMSwimming[] = { - overworld_frame(gEventObjectPic_TuberMSwimming, 16, 16, 0), - overworld_frame(gEventObjectPic_TuberMSwimming, 16, 16, 1), - overworld_frame(gEventObjectPic_TuberMSwimming, 16, 16, 2), - overworld_frame(gEventObjectPic_TuberMSwimming, 16, 16, 3), - overworld_frame(gEventObjectPic_TuberMSwimming, 16, 16, 4), - overworld_frame(gEventObjectPic_TuberMSwimming, 16, 16, 5), - overworld_frame(gEventObjectPic_TuberMSwimming, 16, 16, 6), - overworld_frame(gEventObjectPic_TuberMSwimming, 16, 16, 7), - overworld_frame(gEventObjectPic_TuberMSwimming, 16, 16, 8), + overworld_frame(gEventObjectPic_TuberMSwimming, 2, 2, 0), + overworld_frame(gEventObjectPic_TuberMSwimming, 2, 2, 1), + overworld_frame(gEventObjectPic_TuberMSwimming, 2, 2, 2), + overworld_frame(gEventObjectPic_TuberMSwimming, 2, 2, 3), + overworld_frame(gEventObjectPic_TuberMSwimming, 2, 2, 4), + overworld_frame(gEventObjectPic_TuberMSwimming, 2, 2, 5), + overworld_frame(gEventObjectPic_TuberMSwimming, 2, 2, 6), + overworld_frame(gEventObjectPic_TuberMSwimming, 2, 2, 7), + overworld_frame(gEventObjectPic_TuberMSwimming, 2, 2, 8), }; const struct SpriteFrameImage gEventObjectPicTable_Azurill[] = { - overworld_frame(gEventObjectPic_Azurill, 16, 16, 0), - overworld_frame(gEventObjectPic_Azurill, 16, 16, 1), - overworld_frame(gEventObjectPic_Azurill, 16, 16, 2), - overworld_frame(gEventObjectPic_Azurill, 16, 16, 0), - overworld_frame(gEventObjectPic_Azurill, 16, 16, 0), - overworld_frame(gEventObjectPic_Azurill, 16, 16, 1), - overworld_frame(gEventObjectPic_Azurill, 16, 16, 1), - overworld_frame(gEventObjectPic_Azurill, 16, 16, 2), - overworld_frame(gEventObjectPic_Azurill, 16, 16, 2), + overworld_frame(gEventObjectPic_Azurill, 2, 2, 0), + overworld_frame(gEventObjectPic_Azurill, 2, 2, 1), + overworld_frame(gEventObjectPic_Azurill, 2, 2, 2), + overworld_frame(gEventObjectPic_Azurill, 2, 2, 0), + overworld_frame(gEventObjectPic_Azurill, 2, 2, 0), + overworld_frame(gEventObjectPic_Azurill, 2, 2, 1), + overworld_frame(gEventObjectPic_Azurill, 2, 2, 1), + overworld_frame(gEventObjectPic_Azurill, 2, 2, 2), + overworld_frame(gEventObjectPic_Azurill, 2, 2, 2), }; const struct SpriteFrameImage gEventObjectPicTable_Mom[] = { - overworld_frame(gEventObjectPic_Mom, 16, 32, 0), - overworld_frame(gEventObjectPic_Mom, 16, 32, 1), - overworld_frame(gEventObjectPic_Mom, 16, 32, 2), - overworld_frame(gEventObjectPic_Mom, 16, 32, 3), - overworld_frame(gEventObjectPic_Mom, 16, 32, 4), - overworld_frame(gEventObjectPic_Mom, 16, 32, 5), - overworld_frame(gEventObjectPic_Mom, 16, 32, 6), - overworld_frame(gEventObjectPic_Mom, 16, 32, 7), - overworld_frame(gEventObjectPic_Mom, 16, 32, 8), + overworld_frame(gEventObjectPic_Mom, 2, 4, 0), + overworld_frame(gEventObjectPic_Mom, 2, 4, 1), + overworld_frame(gEventObjectPic_Mom, 2, 4, 2), + overworld_frame(gEventObjectPic_Mom, 2, 4, 3), + overworld_frame(gEventObjectPic_Mom, 2, 4, 4), + overworld_frame(gEventObjectPic_Mom, 2, 4, 5), + overworld_frame(gEventObjectPic_Mom, 2, 4, 6), + overworld_frame(gEventObjectPic_Mom, 2, 4, 7), + overworld_frame(gEventObjectPic_Mom, 2, 4, 8), }; const struct SpriteFrameImage gEventObjectPicTable_Scott[] = { - overworld_frame(gEventObjectPic_Scott, 16, 32, 0), - overworld_frame(gEventObjectPic_Scott, 16, 32, 1), - overworld_frame(gEventObjectPic_Scott, 16, 32, 2), - overworld_frame(gEventObjectPic_Scott, 16, 32, 3), - overworld_frame(gEventObjectPic_Scott, 16, 32, 4), - overworld_frame(gEventObjectPic_Scott, 16, 32, 5), - overworld_frame(gEventObjectPic_Scott, 16, 32, 6), - overworld_frame(gEventObjectPic_Scott, 16, 32, 7), - overworld_frame(gEventObjectPic_Scott, 16, 32, 8), + overworld_frame(gEventObjectPic_Scott, 2, 4, 0), + overworld_frame(gEventObjectPic_Scott, 2, 4, 1), + overworld_frame(gEventObjectPic_Scott, 2, 4, 2), + overworld_frame(gEventObjectPic_Scott, 2, 4, 3), + overworld_frame(gEventObjectPic_Scott, 2, 4, 4), + overworld_frame(gEventObjectPic_Scott, 2, 4, 5), + overworld_frame(gEventObjectPic_Scott, 2, 4, 6), + overworld_frame(gEventObjectPic_Scott, 2, 4, 7), + overworld_frame(gEventObjectPic_Scott, 2, 4, 8), }; const struct SpriteFrameImage gEventObjectPicTable_Juan[] = { - overworld_frame(gEventObjectPic_Juan, 16, 32, 0), - overworld_frame(gEventObjectPic_Juan, 16, 32, 1), - overworld_frame(gEventObjectPic_Juan, 16, 32, 2), - overworld_frame(gEventObjectPic_Juan, 16, 32, 3), - overworld_frame(gEventObjectPic_Juan, 16, 32, 4), - overworld_frame(gEventObjectPic_Juan, 16, 32, 5), - overworld_frame(gEventObjectPic_Juan, 16, 32, 6), - overworld_frame(gEventObjectPic_Juan, 16, 32, 7), - overworld_frame(gEventObjectPic_Juan, 16, 32, 8), + overworld_frame(gEventObjectPic_Juan, 2, 4, 0), + overworld_frame(gEventObjectPic_Juan, 2, 4, 1), + overworld_frame(gEventObjectPic_Juan, 2, 4, 2), + overworld_frame(gEventObjectPic_Juan, 2, 4, 3), + overworld_frame(gEventObjectPic_Juan, 2, 4, 4), + overworld_frame(gEventObjectPic_Juan, 2, 4, 5), + overworld_frame(gEventObjectPic_Juan, 2, 4, 6), + overworld_frame(gEventObjectPic_Juan, 2, 4, 7), + overworld_frame(gEventObjectPic_Juan, 2, 4, 8), }; const struct SpriteFrameImage gEventObjectPicTable_MysteryEventDeliveryman[] = { - overworld_frame(gEventObjectPic_MysteryEventDeliveryman, 16, 32, 0), - overworld_frame(gEventObjectPic_MysteryEventDeliveryman, 16, 32, 1), - overworld_frame(gEventObjectPic_MysteryEventDeliveryman, 16, 32, 2), - overworld_frame(gEventObjectPic_MysteryEventDeliveryman, 16, 32, 0), - overworld_frame(gEventObjectPic_MysteryEventDeliveryman, 16, 32, 0), - overworld_frame(gEventObjectPic_MysteryEventDeliveryman, 16, 32, 1), - overworld_frame(gEventObjectPic_MysteryEventDeliveryman, 16, 32, 1), - overworld_frame(gEventObjectPic_MysteryEventDeliveryman, 16, 32, 2), - overworld_frame(gEventObjectPic_MysteryEventDeliveryman, 16, 32, 2), + overworld_frame(gEventObjectPic_MysteryEventDeliveryman, 2, 4, 0), + overworld_frame(gEventObjectPic_MysteryEventDeliveryman, 2, 4, 1), + overworld_frame(gEventObjectPic_MysteryEventDeliveryman, 2, 4, 2), + overworld_frame(gEventObjectPic_MysteryEventDeliveryman, 2, 4, 0), + overworld_frame(gEventObjectPic_MysteryEventDeliveryman, 2, 4, 0), + overworld_frame(gEventObjectPic_MysteryEventDeliveryman, 2, 4, 1), + overworld_frame(gEventObjectPic_MysteryEventDeliveryman, 2, 4, 1), + overworld_frame(gEventObjectPic_MysteryEventDeliveryman, 2, 4, 2), + overworld_frame(gEventObjectPic_MysteryEventDeliveryman, 2, 4, 2), }; const struct SpriteFrameImage gEventObjectPicTable_Statue[] = { @@ -1945,99 +1945,99 @@ const struct SpriteFrameImage gEventObjectPicTable_Statue[] = { }; const struct SpriteFrameImage gEventObjectPicTable_Dusclops[] = { - overworld_frame(gEventObjectPic_Dusclops, 16, 32, 0), - overworld_frame(gEventObjectPic_Dusclops, 16, 32, 1), - overworld_frame(gEventObjectPic_Dusclops, 16, 32, 2), - overworld_frame(gEventObjectPic_Dusclops, 16, 32, 3), - overworld_frame(gEventObjectPic_Dusclops, 16, 32, 4), - overworld_frame(gEventObjectPic_Dusclops, 16, 32, 5), - overworld_frame(gEventObjectPic_Dusclops, 16, 32, 6), - overworld_frame(gEventObjectPic_Dusclops, 16, 32, 7), - overworld_frame(gEventObjectPic_Dusclops, 16, 32, 8), + overworld_frame(gEventObjectPic_Dusclops, 2, 4, 0), + overworld_frame(gEventObjectPic_Dusclops, 2, 4, 1), + overworld_frame(gEventObjectPic_Dusclops, 2, 4, 2), + overworld_frame(gEventObjectPic_Dusclops, 2, 4, 3), + overworld_frame(gEventObjectPic_Dusclops, 2, 4, 4), + overworld_frame(gEventObjectPic_Dusclops, 2, 4, 5), + overworld_frame(gEventObjectPic_Dusclops, 2, 4, 6), + overworld_frame(gEventObjectPic_Dusclops, 2, 4, 7), + overworld_frame(gEventObjectPic_Dusclops, 2, 4, 8), }; const struct SpriteFrameImage gEventObjectPicTable_Kirlia[] = { - overworld_frame(gEventObjectPic_Kirlia, 16, 32, 0), - overworld_frame(gEventObjectPic_Kirlia, 16, 32, 1), - overworld_frame(gEventObjectPic_Kirlia, 16, 32, 2), - overworld_frame(gEventObjectPic_Kirlia, 16, 32, 3), - overworld_frame(gEventObjectPic_Kirlia, 16, 32, 4), - overworld_frame(gEventObjectPic_Kirlia, 16, 32, 5), - overworld_frame(gEventObjectPic_Kirlia, 16, 32, 6), - overworld_frame(gEventObjectPic_Kirlia, 16, 32, 7), - overworld_frame(gEventObjectPic_Kirlia, 16, 32, 8), + overworld_frame(gEventObjectPic_Kirlia, 2, 4, 0), + overworld_frame(gEventObjectPic_Kirlia, 2, 4, 1), + overworld_frame(gEventObjectPic_Kirlia, 2, 4, 2), + overworld_frame(gEventObjectPic_Kirlia, 2, 4, 3), + overworld_frame(gEventObjectPic_Kirlia, 2, 4, 4), + overworld_frame(gEventObjectPic_Kirlia, 2, 4, 5), + overworld_frame(gEventObjectPic_Kirlia, 2, 4, 6), + overworld_frame(gEventObjectPic_Kirlia, 2, 4, 7), + overworld_frame(gEventObjectPic_Kirlia, 2, 4, 8), }; const struct SpriteFrameImage gEventObjectPicTable_UnionRoomAttendant[] = { - overworld_frame(gEventObjectPic_UnionRoomAttendant, 16, 32, 0), - overworld_frame(gEventObjectPic_UnionRoomAttendant, 16, 32, 1), - overworld_frame(gEventObjectPic_UnionRoomAttendant, 16, 32, 2), - overworld_frame(gEventObjectPic_UnionRoomAttendant, 16, 32, 0), - overworld_frame(gEventObjectPic_UnionRoomAttendant, 16, 32, 0), - overworld_frame(gEventObjectPic_UnionRoomAttendant, 16, 32, 1), - overworld_frame(gEventObjectPic_UnionRoomAttendant, 16, 32, 1), - overworld_frame(gEventObjectPic_UnionRoomAttendant, 16, 32, 2), - overworld_frame(gEventObjectPic_UnionRoomAttendant, 16, 32, 2), + overworld_frame(gEventObjectPic_UnionRoomAttendant, 2, 4, 0), + overworld_frame(gEventObjectPic_UnionRoomAttendant, 2, 4, 1), + overworld_frame(gEventObjectPic_UnionRoomAttendant, 2, 4, 2), + overworld_frame(gEventObjectPic_UnionRoomAttendant, 2, 4, 0), + overworld_frame(gEventObjectPic_UnionRoomAttendant, 2, 4, 0), + overworld_frame(gEventObjectPic_UnionRoomAttendant, 2, 4, 1), + overworld_frame(gEventObjectPic_UnionRoomAttendant, 2, 4, 1), + overworld_frame(gEventObjectPic_UnionRoomAttendant, 2, 4, 2), + overworld_frame(gEventObjectPic_UnionRoomAttendant, 2, 4, 2), }; const struct SpriteFrameImage gEventObjectPicTable_Sudowoodo[] = { - overworld_frame(gEventObjectPic_Sudowoodo, 16, 32, 0), - overworld_frame(gEventObjectPic_Sudowoodo, 16, 32, 0), - overworld_frame(gEventObjectPic_Sudowoodo, 16, 32, 1), - overworld_frame(gEventObjectPic_Sudowoodo, 16, 32, 0), - overworld_frame(gEventObjectPic_Sudowoodo, 16, 32, 0), - overworld_frame(gEventObjectPic_Sudowoodo, 16, 32, 0), - overworld_frame(gEventObjectPic_Sudowoodo, 16, 32, 0), - overworld_frame(gEventObjectPic_Sudowoodo, 16, 32, 1), - overworld_frame(gEventObjectPic_Sudowoodo, 16, 32, 2), + overworld_frame(gEventObjectPic_Sudowoodo, 2, 4, 0), + overworld_frame(gEventObjectPic_Sudowoodo, 2, 4, 0), + overworld_frame(gEventObjectPic_Sudowoodo, 2, 4, 1), + overworld_frame(gEventObjectPic_Sudowoodo, 2, 4, 0), + overworld_frame(gEventObjectPic_Sudowoodo, 2, 4, 0), + overworld_frame(gEventObjectPic_Sudowoodo, 2, 4, 0), + overworld_frame(gEventObjectPic_Sudowoodo, 2, 4, 0), + overworld_frame(gEventObjectPic_Sudowoodo, 2, 4, 1), + overworld_frame(gEventObjectPic_Sudowoodo, 2, 4, 2), }; const struct SpriteFrameImage gEventObjectPicTable_Mew[] = { - overworld_frame(gEventObjectPic_Mew, 16, 32, 0), - overworld_frame(gEventObjectPic_Mew, 16, 32, 1), - overworld_frame(gEventObjectPic_Mew, 16, 32, 2), - overworld_frame(gEventObjectPic_Mew, 16, 32, 3), - overworld_frame(gEventObjectPic_Mew, 16, 32, 4), - overworld_frame(gEventObjectPic_Mew, 16, 32, 5), - overworld_frame(gEventObjectPic_Mew, 16, 32, 6), - overworld_frame(gEventObjectPic_Mew, 16, 32, 7), - overworld_frame(gEventObjectPic_Mew, 16, 32, 8), + overworld_frame(gEventObjectPic_Mew, 2, 4, 0), + overworld_frame(gEventObjectPic_Mew, 2, 4, 1), + overworld_frame(gEventObjectPic_Mew, 2, 4, 2), + overworld_frame(gEventObjectPic_Mew, 2, 4, 3), + overworld_frame(gEventObjectPic_Mew, 2, 4, 4), + overworld_frame(gEventObjectPic_Mew, 2, 4, 5), + overworld_frame(gEventObjectPic_Mew, 2, 4, 6), + overworld_frame(gEventObjectPic_Mew, 2, 4, 7), + overworld_frame(gEventObjectPic_Mew, 2, 4, 8), }; const struct SpriteFrameImage gEventObjectPicTable_Red[] = { - overworld_frame(gEventObjectPic_Red, 16, 32, 0), - overworld_frame(gEventObjectPic_Red, 16, 32, 1), - overworld_frame(gEventObjectPic_Red, 16, 32, 2), - overworld_frame(gEventObjectPic_Red, 16, 32, 3), - overworld_frame(gEventObjectPic_Red, 16, 32, 4), - overworld_frame(gEventObjectPic_Red, 16, 32, 5), - overworld_frame(gEventObjectPic_Red, 16, 32, 6), - overworld_frame(gEventObjectPic_Red, 16, 32, 7), - overworld_frame(gEventObjectPic_Red, 16, 32, 8), + overworld_frame(gEventObjectPic_Red, 2, 4, 0), + overworld_frame(gEventObjectPic_Red, 2, 4, 1), + overworld_frame(gEventObjectPic_Red, 2, 4, 2), + overworld_frame(gEventObjectPic_Red, 2, 4, 3), + overworld_frame(gEventObjectPic_Red, 2, 4, 4), + overworld_frame(gEventObjectPic_Red, 2, 4, 5), + overworld_frame(gEventObjectPic_Red, 2, 4, 6), + overworld_frame(gEventObjectPic_Red, 2, 4, 7), + overworld_frame(gEventObjectPic_Red, 2, 4, 8), }; const struct SpriteFrameImage gEventObjectPicTable_Leaf[] = { - overworld_frame(gEventObjectPic_Leaf, 16, 32, 0), - overworld_frame(gEventObjectPic_Leaf, 16, 32, 1), - overworld_frame(gEventObjectPic_Leaf, 16, 32, 2), - overworld_frame(gEventObjectPic_Leaf, 16, 32, 3), - overworld_frame(gEventObjectPic_Leaf, 16, 32, 4), - overworld_frame(gEventObjectPic_Leaf, 16, 32, 5), - overworld_frame(gEventObjectPic_Leaf, 16, 32, 6), - overworld_frame(gEventObjectPic_Leaf, 16, 32, 7), - overworld_frame(gEventObjectPic_Leaf, 16, 32, 8), + overworld_frame(gEventObjectPic_Leaf, 2, 4, 0), + overworld_frame(gEventObjectPic_Leaf, 2, 4, 1), + overworld_frame(gEventObjectPic_Leaf, 2, 4, 2), + overworld_frame(gEventObjectPic_Leaf, 2, 4, 3), + overworld_frame(gEventObjectPic_Leaf, 2, 4, 4), + overworld_frame(gEventObjectPic_Leaf, 2, 4, 5), + overworld_frame(gEventObjectPic_Leaf, 2, 4, 6), + overworld_frame(gEventObjectPic_Leaf, 2, 4, 7), + overworld_frame(gEventObjectPic_Leaf, 2, 4, 8), }; const struct SpriteFrameImage gEventObjectPicTable_Deoxys[] = { - overworld_frame(gEventObjectPic_Deoxys, 32, 32, 0), - overworld_frame(gEventObjectPic_Deoxys, 32, 32, 0), - overworld_frame(gEventObjectPic_Deoxys, 32, 32, 0), - overworld_frame(gEventObjectPic_Deoxys, 32, 32, 0), - overworld_frame(gEventObjectPic_Deoxys, 32, 32, 1), - overworld_frame(gEventObjectPic_Deoxys, 32, 32, 0), - overworld_frame(gEventObjectPic_Deoxys, 32, 32, 1), - overworld_frame(gEventObjectPic_Deoxys, 32, 32, 0), - overworld_frame(gEventObjectPic_Deoxys, 32, 32, 0), + overworld_frame(gEventObjectPic_Deoxys, 4, 4, 0), + overworld_frame(gEventObjectPic_Deoxys, 4, 4, 0), + overworld_frame(gEventObjectPic_Deoxys, 4, 4, 0), + overworld_frame(gEventObjectPic_Deoxys, 4, 4, 0), + overworld_frame(gEventObjectPic_Deoxys, 4, 4, 1), + overworld_frame(gEventObjectPic_Deoxys, 4, 4, 0), + overworld_frame(gEventObjectPic_Deoxys, 4, 4, 1), + overworld_frame(gEventObjectPic_Deoxys, 4, 4, 0), + overworld_frame(gEventObjectPic_Deoxys, 4, 4, 0), }; const struct SpriteFrameImage gEventObjectPicTable_BirthIslandStone[] = { @@ -2045,135 +2045,135 @@ const struct SpriteFrameImage gEventObjectPicTable_BirthIslandStone[] = { }; const struct SpriteFrameImage gEventObjectPicTable_Anabel[] = { - overworld_frame(gEventObjectPic_Anabel, 16, 32, 0), - overworld_frame(gEventObjectPic_Anabel, 16, 32, 1), - overworld_frame(gEventObjectPic_Anabel, 16, 32, 2), - overworld_frame(gEventObjectPic_Anabel, 16, 32, 3), - overworld_frame(gEventObjectPic_Anabel, 16, 32, 4), - overworld_frame(gEventObjectPic_Anabel, 16, 32, 5), - overworld_frame(gEventObjectPic_Anabel, 16, 32, 6), - overworld_frame(gEventObjectPic_Anabel, 16, 32, 7), - overworld_frame(gEventObjectPic_Anabel, 16, 32, 8), + overworld_frame(gEventObjectPic_Anabel, 2, 4, 0), + overworld_frame(gEventObjectPic_Anabel, 2, 4, 1), + overworld_frame(gEventObjectPic_Anabel, 2, 4, 2), + overworld_frame(gEventObjectPic_Anabel, 2, 4, 3), + overworld_frame(gEventObjectPic_Anabel, 2, 4, 4), + overworld_frame(gEventObjectPic_Anabel, 2, 4, 5), + overworld_frame(gEventObjectPic_Anabel, 2, 4, 6), + overworld_frame(gEventObjectPic_Anabel, 2, 4, 7), + overworld_frame(gEventObjectPic_Anabel, 2, 4, 8), }; const struct SpriteFrameImage gEventObjectPicTable_Tucker[] = { - overworld_frame(gEventObjectPic_Tucker, 16, 32, 0), - overworld_frame(gEventObjectPic_Tucker, 16, 32, 1), - overworld_frame(gEventObjectPic_Tucker, 16, 32, 2), - overworld_frame(gEventObjectPic_Tucker, 16, 32, 3), - overworld_frame(gEventObjectPic_Tucker, 16, 32, 4), - overworld_frame(gEventObjectPic_Tucker, 16, 32, 5), - overworld_frame(gEventObjectPic_Tucker, 16, 32, 6), - overworld_frame(gEventObjectPic_Tucker, 16, 32, 7), - overworld_frame(gEventObjectPic_Tucker, 16, 32, 8), + overworld_frame(gEventObjectPic_Tucker, 2, 4, 0), + overworld_frame(gEventObjectPic_Tucker, 2, 4, 1), + overworld_frame(gEventObjectPic_Tucker, 2, 4, 2), + overworld_frame(gEventObjectPic_Tucker, 2, 4, 3), + overworld_frame(gEventObjectPic_Tucker, 2, 4, 4), + overworld_frame(gEventObjectPic_Tucker, 2, 4, 5), + overworld_frame(gEventObjectPic_Tucker, 2, 4, 6), + overworld_frame(gEventObjectPic_Tucker, 2, 4, 7), + overworld_frame(gEventObjectPic_Tucker, 2, 4, 8), }; const struct SpriteFrameImage gEventObjectPicTable_Spenser[] = { - overworld_frame(gEventObjectPic_Spenser, 16, 32, 0), - overworld_frame(gEventObjectPic_Spenser, 16, 32, 1), - overworld_frame(gEventObjectPic_Spenser, 16, 32, 2), - overworld_frame(gEventObjectPic_Spenser, 16, 32, 3), - overworld_frame(gEventObjectPic_Spenser, 16, 32, 4), - overworld_frame(gEventObjectPic_Spenser, 16, 32, 5), - overworld_frame(gEventObjectPic_Spenser, 16, 32, 6), - overworld_frame(gEventObjectPic_Spenser, 16, 32, 7), - overworld_frame(gEventObjectPic_Spenser, 16, 32, 8), + overworld_frame(gEventObjectPic_Spenser, 2, 4, 0), + overworld_frame(gEventObjectPic_Spenser, 2, 4, 1), + overworld_frame(gEventObjectPic_Spenser, 2, 4, 2), + overworld_frame(gEventObjectPic_Spenser, 2, 4, 3), + overworld_frame(gEventObjectPic_Spenser, 2, 4, 4), + overworld_frame(gEventObjectPic_Spenser, 2, 4, 5), + overworld_frame(gEventObjectPic_Spenser, 2, 4, 6), + overworld_frame(gEventObjectPic_Spenser, 2, 4, 7), + overworld_frame(gEventObjectPic_Spenser, 2, 4, 8), }; const struct SpriteFrameImage gEventObjectPicTable_Greta[] = { - overworld_frame(gEventObjectPic_Greta, 16, 32, 0), - overworld_frame(gEventObjectPic_Greta, 16, 32, 1), - overworld_frame(gEventObjectPic_Greta, 16, 32, 2), - overworld_frame(gEventObjectPic_Greta, 16, 32, 3), - overworld_frame(gEventObjectPic_Greta, 16, 32, 4), - overworld_frame(gEventObjectPic_Greta, 16, 32, 5), - overworld_frame(gEventObjectPic_Greta, 16, 32, 6), - overworld_frame(gEventObjectPic_Greta, 16, 32, 7), - overworld_frame(gEventObjectPic_Greta, 16, 32, 8), + overworld_frame(gEventObjectPic_Greta, 2, 4, 0), + overworld_frame(gEventObjectPic_Greta, 2, 4, 1), + overworld_frame(gEventObjectPic_Greta, 2, 4, 2), + overworld_frame(gEventObjectPic_Greta, 2, 4, 3), + overworld_frame(gEventObjectPic_Greta, 2, 4, 4), + overworld_frame(gEventObjectPic_Greta, 2, 4, 5), + overworld_frame(gEventObjectPic_Greta, 2, 4, 6), + overworld_frame(gEventObjectPic_Greta, 2, 4, 7), + overworld_frame(gEventObjectPic_Greta, 2, 4, 8), }; const struct SpriteFrameImage gEventObjectPicTable_Noland[] = { - overworld_frame(gEventObjectPic_Noland, 16, 32, 0), - overworld_frame(gEventObjectPic_Noland, 16, 32, 1), - overworld_frame(gEventObjectPic_Noland, 16, 32, 2), - overworld_frame(gEventObjectPic_Noland, 16, 32, 3), - overworld_frame(gEventObjectPic_Noland, 16, 32, 4), - overworld_frame(gEventObjectPic_Noland, 16, 32, 5), - overworld_frame(gEventObjectPic_Noland, 16, 32, 6), - overworld_frame(gEventObjectPic_Noland, 16, 32, 7), - overworld_frame(gEventObjectPic_Noland, 16, 32, 8), + overworld_frame(gEventObjectPic_Noland, 2, 4, 0), + overworld_frame(gEventObjectPic_Noland, 2, 4, 1), + overworld_frame(gEventObjectPic_Noland, 2, 4, 2), + overworld_frame(gEventObjectPic_Noland, 2, 4, 3), + overworld_frame(gEventObjectPic_Noland, 2, 4, 4), + overworld_frame(gEventObjectPic_Noland, 2, 4, 5), + overworld_frame(gEventObjectPic_Noland, 2, 4, 6), + overworld_frame(gEventObjectPic_Noland, 2, 4, 7), + overworld_frame(gEventObjectPic_Noland, 2, 4, 8), }; const struct SpriteFrameImage gEventObjectPicTable_Lucy[] = { - overworld_frame(gEventObjectPic_Lucy, 16, 32, 0), - overworld_frame(gEventObjectPic_Lucy, 16, 32, 1), - overworld_frame(gEventObjectPic_Lucy, 16, 32, 2), - overworld_frame(gEventObjectPic_Lucy, 16, 32, 3), - overworld_frame(gEventObjectPic_Lucy, 16, 32, 4), - overworld_frame(gEventObjectPic_Lucy, 16, 32, 5), - overworld_frame(gEventObjectPic_Lucy, 16, 32, 6), - overworld_frame(gEventObjectPic_Lucy, 16, 32, 7), - overworld_frame(gEventObjectPic_Lucy, 16, 32, 8), + overworld_frame(gEventObjectPic_Lucy, 2, 4, 0), + overworld_frame(gEventObjectPic_Lucy, 2, 4, 1), + overworld_frame(gEventObjectPic_Lucy, 2, 4, 2), + overworld_frame(gEventObjectPic_Lucy, 2, 4, 3), + overworld_frame(gEventObjectPic_Lucy, 2, 4, 4), + overworld_frame(gEventObjectPic_Lucy, 2, 4, 5), + overworld_frame(gEventObjectPic_Lucy, 2, 4, 6), + overworld_frame(gEventObjectPic_Lucy, 2, 4, 7), + overworld_frame(gEventObjectPic_Lucy, 2, 4, 8), }; const struct SpriteFrameImage gEventObjectPicTable_Brandon[] = { - overworld_frame(gEventObjectPic_Brandon, 16, 32, 0), - overworld_frame(gEventObjectPic_Brandon, 16, 32, 1), - overworld_frame(gEventObjectPic_Brandon, 16, 32, 2), - overworld_frame(gEventObjectPic_Brandon, 16, 32, 3), - overworld_frame(gEventObjectPic_Brandon, 16, 32, 4), - overworld_frame(gEventObjectPic_Brandon, 16, 32, 5), - overworld_frame(gEventObjectPic_Brandon, 16, 32, 6), - overworld_frame(gEventObjectPic_Brandon, 16, 32, 7), - overworld_frame(gEventObjectPic_Brandon, 16, 32, 8), + overworld_frame(gEventObjectPic_Brandon, 2, 4, 0), + overworld_frame(gEventObjectPic_Brandon, 2, 4, 1), + overworld_frame(gEventObjectPic_Brandon, 2, 4, 2), + overworld_frame(gEventObjectPic_Brandon, 2, 4, 3), + overworld_frame(gEventObjectPic_Brandon, 2, 4, 4), + overworld_frame(gEventObjectPic_Brandon, 2, 4, 5), + overworld_frame(gEventObjectPic_Brandon, 2, 4, 6), + overworld_frame(gEventObjectPic_Brandon, 2, 4, 7), + overworld_frame(gEventObjectPic_Brandon, 2, 4, 8), }; const struct SpriteFrameImage gEventObjectPicTable_Lugia[] = { - overworld_frame(gEventObjectPic_Lugia, 32, 32, 0), - overworld_frame(gEventObjectPic_Lugia, 32, 32, 0), - overworld_frame(gEventObjectPic_Lugia, 32, 32, 0), - overworld_frame(gEventObjectPic_Lugia, 32, 32, 0), - overworld_frame(gEventObjectPic_Lugia, 32, 32, 1), - overworld_frame(gEventObjectPic_Lugia, 32, 32, 0), - overworld_frame(gEventObjectPic_Lugia, 32, 32, 1), - overworld_frame(gEventObjectPic_Lugia, 32, 32, 0), - overworld_frame(gEventObjectPic_Lugia, 32, 32, 1), + overworld_frame(gEventObjectPic_Lugia, 4, 4, 0), + overworld_frame(gEventObjectPic_Lugia, 4, 4, 0), + overworld_frame(gEventObjectPic_Lugia, 4, 4, 0), + overworld_frame(gEventObjectPic_Lugia, 4, 4, 0), + overworld_frame(gEventObjectPic_Lugia, 4, 4, 1), + overworld_frame(gEventObjectPic_Lugia, 4, 4, 0), + overworld_frame(gEventObjectPic_Lugia, 4, 4, 1), + overworld_frame(gEventObjectPic_Lugia, 4, 4, 0), + overworld_frame(gEventObjectPic_Lugia, 4, 4, 1), }; const struct SpriteFrameImage gEventObjectPicTable_HoOh[] = { - overworld_frame(gEventObjectPic_HoOh, 32, 32, 0), - overworld_frame(gEventObjectPic_HoOh, 32, 32, 0), - overworld_frame(gEventObjectPic_HoOh, 32, 32, 0), - overworld_frame(gEventObjectPic_HoOh, 32, 32, 0), - overworld_frame(gEventObjectPic_HoOh, 32, 32, 1), - overworld_frame(gEventObjectPic_HoOh, 32, 32, 0), - overworld_frame(gEventObjectPic_HoOh, 32, 32, 1), - overworld_frame(gEventObjectPic_HoOh, 32, 32, 0), - overworld_frame(gEventObjectPic_HoOh, 32, 32, 1), + overworld_frame(gEventObjectPic_HoOh, 4, 4, 0), + overworld_frame(gEventObjectPic_HoOh, 4, 4, 0), + overworld_frame(gEventObjectPic_HoOh, 4, 4, 0), + overworld_frame(gEventObjectPic_HoOh, 4, 4, 0), + overworld_frame(gEventObjectPic_HoOh, 4, 4, 1), + overworld_frame(gEventObjectPic_HoOh, 4, 4, 0), + overworld_frame(gEventObjectPic_HoOh, 4, 4, 1), + overworld_frame(gEventObjectPic_HoOh, 4, 4, 0), + overworld_frame(gEventObjectPic_HoOh, 4, 4, 1), }; const struct SpriteFrameImage gEventObjectPicTable_RubySapphireBrendan[] = { - overworld_frame(gEventObjectPic_RubySapphireBrendanNormal, 16, 32, 0), - overworld_frame(gEventObjectPic_RubySapphireBrendanNormal, 16, 32, 1), - overworld_frame(gEventObjectPic_RubySapphireBrendanNormal, 16, 32, 2), - overworld_frame(gEventObjectPic_RubySapphireBrendanNormal, 16, 32, 3), - overworld_frame(gEventObjectPic_RubySapphireBrendanNormal, 16, 32, 4), - overworld_frame(gEventObjectPic_RubySapphireBrendanNormal, 16, 32, 5), - overworld_frame(gEventObjectPic_RubySapphireBrendanNormal, 16, 32, 6), - overworld_frame(gEventObjectPic_RubySapphireBrendanNormal, 16, 32, 7), - overworld_frame(gEventObjectPic_RubySapphireBrendanNormal, 16, 32, 8), + overworld_frame(gEventObjectPic_RubySapphireBrendanNormal, 2, 4, 0), + overworld_frame(gEventObjectPic_RubySapphireBrendanNormal, 2, 4, 1), + overworld_frame(gEventObjectPic_RubySapphireBrendanNormal, 2, 4, 2), + overworld_frame(gEventObjectPic_RubySapphireBrendanNormal, 2, 4, 3), + overworld_frame(gEventObjectPic_RubySapphireBrendanNormal, 2, 4, 4), + overworld_frame(gEventObjectPic_RubySapphireBrendanNormal, 2, 4, 5), + overworld_frame(gEventObjectPic_RubySapphireBrendanNormal, 2, 4, 6), + overworld_frame(gEventObjectPic_RubySapphireBrendanNormal, 2, 4, 7), + overworld_frame(gEventObjectPic_RubySapphireBrendanNormal, 2, 4, 8), }; const struct SpriteFrameImage gEventObjectPicTable_RubySapphireMay[] = { - overworld_frame(gEventObjectPic_RubySapphireMayNormal, 16, 32, 0), - overworld_frame(gEventObjectPic_RubySapphireMayNormal, 16, 32, 1), - overworld_frame(gEventObjectPic_RubySapphireMayNormal, 16, 32, 2), - overworld_frame(gEventObjectPic_RubySapphireMayNormal, 16, 32, 3), - overworld_frame(gEventObjectPic_RubySapphireMayNormal, 16, 32, 4), - overworld_frame(gEventObjectPic_RubySapphireMayNormal, 16, 32, 5), - overworld_frame(gEventObjectPic_RubySapphireMayNormal, 16, 32, 6), - overworld_frame(gEventObjectPic_RubySapphireMayNormal, 16, 32, 7), - overworld_frame(gEventObjectPic_RubySapphireMayNormal, 16, 32, 8), + overworld_frame(gEventObjectPic_RubySapphireMayNormal, 2, 4, 0), + overworld_frame(gEventObjectPic_RubySapphireMayNormal, 2, 4, 1), + overworld_frame(gEventObjectPic_RubySapphireMayNormal, 2, 4, 2), + overworld_frame(gEventObjectPic_RubySapphireMayNormal, 2, 4, 3), + overworld_frame(gEventObjectPic_RubySapphireMayNormal, 2, 4, 4), + overworld_frame(gEventObjectPic_RubySapphireMayNormal, 2, 4, 5), + overworld_frame(gEventObjectPic_RubySapphireMayNormal, 2, 4, 6), + overworld_frame(gEventObjectPic_RubySapphireMayNormal, 2, 4, 7), + overworld_frame(gEventObjectPic_RubySapphireMayNormal, 2, 4, 8), }; #endif //GUARD_EVENT_OBJECT_PIC_TABLES_H diff --git a/src/data/field_event_obj/field_effect_objects.h b/src/data/field_event_obj/field_effect_objects.h index e8d15918f4..45a498dac1 100755 --- a/src/data/field_event_obj/field_effect_objects.h +++ b/src/data/field_event_obj/field_effect_objects.h @@ -41,11 +41,11 @@ const struct SpriteTemplate gFieldEffectObjectTemplate_ShadowLarge = {0xFFFF, 0x const struct SpriteTemplate gFieldEffectObjectTemplate_ShadowExtraLarge = {0xFFFF, 0xFFFF, &gEventObjectBaseOam_64x32, gFieldEffectObjectImageAnimTable_Shadow, gFieldEffectObjectPicTable_ShadowExtraLarge, gDummySpriteAffineAnimTable, oamc_shadow}; const struct SpriteFrameImage gFieldEffectObjectPicTable_TallGrass[] = { - overworld_frame(gFieldEffectObjectPic_TallGrass, 16, 16, 0), - overworld_frame(gFieldEffectObjectPic_TallGrass, 16, 16, 1), - overworld_frame(gFieldEffectObjectPic_TallGrass, 16, 16, 2), - overworld_frame(gFieldEffectObjectPic_TallGrass, 16, 16, 3), - overworld_frame(gFieldEffectObjectPic_TallGrass, 16, 16, 4), + overworld_frame(gFieldEffectObjectPic_TallGrass, 2, 2, 0), + overworld_frame(gFieldEffectObjectPic_TallGrass, 2, 2, 1), + overworld_frame(gFieldEffectObjectPic_TallGrass, 2, 2, 2), + overworld_frame(gFieldEffectObjectPic_TallGrass, 2, 2, 3), + overworld_frame(gFieldEffectObjectPic_TallGrass, 2, 2, 4), }; const union AnimCmd gFieldEffectObjectImageAnim_850CA84[] = @@ -66,11 +66,11 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_TallGrass[] = const struct SpriteTemplate gFieldEffectObjectTemplate_TallGrass = {0xFFFF, 0x1005, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_TallGrass, gFieldEffectObjectPicTable_TallGrass, gDummySpriteAffineAnimTable, unc_grass_normal}; const struct SpriteFrameImage gFieldEffectObjectPicTable_Ripple[] = { - overworld_frame(gFieldEffectObjectPic_Ripple, 16, 16, 0), - overworld_frame(gFieldEffectObjectPic_Ripple, 16, 16, 1), - overworld_frame(gFieldEffectObjectPic_Ripple, 16, 16, 2), - overworld_frame(gFieldEffectObjectPic_Ripple, 16, 16, 3), - overworld_frame(gFieldEffectObjectPic_Ripple, 16, 16, 4), + overworld_frame(gFieldEffectObjectPic_Ripple, 2, 2, 0), + overworld_frame(gFieldEffectObjectPic_Ripple, 2, 2, 1), + overworld_frame(gFieldEffectObjectPic_Ripple, 2, 2, 2), + overworld_frame(gFieldEffectObjectPic_Ripple, 2, 2, 3), + overworld_frame(gFieldEffectObjectPic_Ripple, 2, 2, 4), }; const union AnimCmd gFieldEffectObjectImageAnim_850CAE0[] = @@ -94,11 +94,11 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_Ripple[] = const struct SpriteTemplate gFieldEffectObjectTemplate_Ripple = {0xFFFF, 0x1005, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_Ripple, gFieldEffectObjectPicTable_Ripple, gDummySpriteAffineAnimTable, sub_81561D0}; const struct SpriteFrameImage gFieldEffectObjectPicTable_Ash[] = { - overworld_frame(gFieldEffectObjectPic_Ash, 16, 16, 0), - overworld_frame(gFieldEffectObjectPic_Ash, 16, 16, 1), - overworld_frame(gFieldEffectObjectPic_Ash, 16, 16, 2), - overworld_frame(gFieldEffectObjectPic_Ash, 16, 16, 3), - overworld_frame(gFieldEffectObjectPic_Ash, 16, 16, 4), + overworld_frame(gFieldEffectObjectPic_Ash, 2, 2, 0), + overworld_frame(gFieldEffectObjectPic_Ash, 2, 2, 1), + overworld_frame(gFieldEffectObjectPic_Ash, 2, 2, 2), + overworld_frame(gFieldEffectObjectPic_Ash, 2, 2, 3), + overworld_frame(gFieldEffectObjectPic_Ash, 2, 2, 4), }; const union AnimCmd gFieldEffectObjectImageAnim_850CB48[] = @@ -119,9 +119,9 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_Ash[] = const struct SpriteTemplate gFieldEffectObjectTemplate_Ash = {0xFFFF, 0x1005, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_Ash, gFieldEffectObjectPicTable_Ash, gDummySpriteAffineAnimTable, sub_8155460}; const struct SpriteFrameImage gFieldEffectObjectPicTable_SurfBlob[] = { - overworld_frame(gFieldEffectObjectPic_SurfBlob, 32, 32, 0), - overworld_frame(gFieldEffectObjectPic_SurfBlob, 32, 32, 1), - overworld_frame(gFieldEffectObjectPic_SurfBlob, 32, 32, 2), + overworld_frame(gFieldEffectObjectPic_SurfBlob, 4, 4, 0), + overworld_frame(gFieldEffectObjectPic_SurfBlob, 4, 4, 1), + overworld_frame(gFieldEffectObjectPic_SurfBlob, 4, 4, 2), }; const union AnimCmd gFieldEffectObjectImageAnim_850CB94[] = @@ -159,14 +159,14 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_SurfBlob[] = const struct SpriteTemplate gFieldEffectObjectTemplate_SurfBlob = {0xFFFF, 0xFFFF, &gEventObjectBaseOam_32x32, gFieldEffectObjectImageAnimTable_SurfBlob, gFieldEffectObjectPicTable_SurfBlob, gDummySpriteAffineAnimTable, sub_8155658}; const struct SpriteFrameImage gFieldEffectObjectPicTable_Arrow[] = { - overworld_frame(gFieldEffectObjectPic_Arrow, 16, 16, 0), - overworld_frame(gFieldEffectObjectPic_Arrow, 16, 16, 1), - overworld_frame(gFieldEffectObjectPic_Arrow, 16, 16, 2), - overworld_frame(gFieldEffectObjectPic_Arrow, 16, 16, 3), - overworld_frame(gFieldEffectObjectPic_Arrow, 16, 16, 4), - overworld_frame(gFieldEffectObjectPic_Arrow, 16, 16, 5), - overworld_frame(gFieldEffectObjectPic_Arrow, 16, 16, 6), - overworld_frame(gFieldEffectObjectPic_Arrow, 16, 16, 7), + overworld_frame(gFieldEffectObjectPic_Arrow, 2, 2, 0), + overworld_frame(gFieldEffectObjectPic_Arrow, 2, 2, 1), + overworld_frame(gFieldEffectObjectPic_Arrow, 2, 2, 2), + overworld_frame(gFieldEffectObjectPic_Arrow, 2, 2, 3), + overworld_frame(gFieldEffectObjectPic_Arrow, 2, 2, 4), + overworld_frame(gFieldEffectObjectPic_Arrow, 2, 2, 5), + overworld_frame(gFieldEffectObjectPic_Arrow, 2, 2, 6), + overworld_frame(gFieldEffectObjectPic_Arrow, 2, 2, 7), }; const union AnimCmd gFieldEffectObjectImageAnim_850CC1C[] = @@ -402,10 +402,10 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_BikeTireTracks[] = const struct SpriteTemplate gFieldEffectObjectTemplate_BikeTireTracks = {0xFFFF, 0x1004, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_BikeTireTracks, gFieldEffectObjectPicTable_BikeTireTracks, gDummySpriteAffineAnimTable, sub_8154C60}; const struct SpriteFrameImage gFieldEffectObjectPicTable_BikeHopBigSplash[] = { - overworld_frame(gFieldEffectObjectPic_BikeHopBigSplash, 16, 16, 0), - overworld_frame(gFieldEffectObjectPic_BikeHopBigSplash, 16, 16, 1), - overworld_frame(gFieldEffectObjectPic_BikeHopBigSplash, 16, 16, 2), - overworld_frame(gFieldEffectObjectPic_BikeHopBigSplash, 16, 16, 3), + overworld_frame(gFieldEffectObjectPic_BikeHopBigSplash, 2, 2, 0), + overworld_frame(gFieldEffectObjectPic_BikeHopBigSplash, 2, 2, 1), + overworld_frame(gFieldEffectObjectPic_BikeHopBigSplash, 2, 2, 2), + overworld_frame(gFieldEffectObjectPic_BikeHopBigSplash, 2, 2, 3), }; const union AnimCmd gFieldEffectObjectImageAnim_850CE7C[] = @@ -425,8 +425,8 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_BikeHopBigSplash[] = const struct SpriteTemplate gFieldEffectObjectTemplate_BikeHopBigSplash = {0xFFFF, 0x1004, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_BikeHopBigSplash, gFieldEffectObjectPicTable_BikeHopBigSplash, gDummySpriteAffineAnimTable, sub_8156194}; const struct SpriteFrameImage gFieldEffectObjectPicTable_Splash[] = { - overworld_frame(gFieldEffectObjectPic_Splash, 16, 8, 0), - overworld_frame(gFieldEffectObjectPic_Splash, 16, 8, 1), + overworld_frame(gFieldEffectObjectPic_Splash, 2, 1, 0), + overworld_frame(gFieldEffectObjectPic_Splash, 2, 1, 1), }; const union AnimCmd gFieldEffectObjectImageAnim_850CEBC[] = @@ -458,9 +458,9 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_Splash[] = const struct SpriteTemplate gFieldEffectObjectTemplate_Splash = {0xFFFF, 0x1004, &gEventObjectBaseOam_16x8, gFieldEffectObjectImageAnimTable_Splash, gFieldEffectObjectPicTable_Splash, gDummySpriteAffineAnimTable, sub_8154D90}; const struct SpriteFrameImage gFieldEffectObjectPicTable_BikeHopSmallSplash[] = { - overworld_frame(gFieldEffectObjectPic_BikeHopSmallSplash, 16, 8, 0), - overworld_frame(gFieldEffectObjectPic_BikeHopSmallSplash, 16, 8, 1), - overworld_frame(gFieldEffectObjectPic_BikeHopSmallSplash, 16, 8, 2), + overworld_frame(gFieldEffectObjectPic_BikeHopSmallSplash, 2, 1, 0), + overworld_frame(gFieldEffectObjectPic_BikeHopSmallSplash, 2, 1, 1), + overworld_frame(gFieldEffectObjectPic_BikeHopSmallSplash, 2, 1, 2), }; const union AnimCmd gFieldEffectObjectImageAnim_850CF24[] = @@ -533,14 +533,14 @@ const struct SpriteTemplate gFieldEffectObjectTemplate_Unknown16 = {0xFFFF, 0x10 const struct SpriteFrameImage gFieldEffectObjectPicTable_Unknown17[] = { obj_frame_tiles(gFieldEffectObjectPic_Unknown16_5), - overworld_frame(gFieldEffectObjectPic_Unknown17, 16, 16, 0), - overworld_frame(gFieldEffectObjectPic_Unknown17, 16, 16, 1), - overworld_frame(gFieldEffectObjectPic_Unknown17, 16, 16, 2), - overworld_frame(gFieldEffectObjectPic_Unknown17, 16, 16, 3), - overworld_frame(gFieldEffectObjectPic_Unknown17, 16, 16, 4), - overworld_frame(gFieldEffectObjectPic_Unknown17, 16, 16, 5), - overworld_frame(gFieldEffectObjectPic_Unknown17, 16, 16, 6), - overworld_frame(gFieldEffectObjectPic_Unknown17, 16, 16, 7), + overworld_frame(gFieldEffectObjectPic_Unknown17, 2, 2, 0), + overworld_frame(gFieldEffectObjectPic_Unknown17, 2, 2, 1), + overworld_frame(gFieldEffectObjectPic_Unknown17, 2, 2, 2), + overworld_frame(gFieldEffectObjectPic_Unknown17, 2, 2, 3), + overworld_frame(gFieldEffectObjectPic_Unknown17, 2, 2, 4), + overworld_frame(gFieldEffectObjectPic_Unknown17, 2, 2, 5), + overworld_frame(gFieldEffectObjectPic_Unknown17, 2, 2, 6), + overworld_frame(gFieldEffectObjectPic_Unknown17, 2, 2, 7), }; const union AnimCmd gFieldEffectObjectImageAnim_850D05C[] = @@ -736,13 +736,13 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_BerryTreeGrowthSpark const struct SpriteTemplate gFieldEffectObjectTemplate_BerryTreeGrowthSparkle = {0xFFFF, 0xFFFF, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_BerryTreeGrowthSparkle, gFieldEffectObjectPicTable_BerryTreeGrowthSparkle, gDummySpriteAffineAnimTable, sub_81561D0}; const struct SpriteFrameImage gFieldEffectObjectPicTable_TreeDisguise[] = { - overworld_frame(gFieldEffectObjectPic_TreeDisguise, 16, 32, 0), - overworld_frame(gFieldEffectObjectPic_TreeDisguise, 16, 32, 1), - overworld_frame(gFieldEffectObjectPic_TreeDisguise, 16, 32, 2), - overworld_frame(gFieldEffectObjectPic_TreeDisguise, 16, 32, 3), - overworld_frame(gFieldEffectObjectPic_TreeDisguise, 16, 32, 4), - overworld_frame(gFieldEffectObjectPic_TreeDisguise, 16, 32, 5), - overworld_frame(gFieldEffectObjectPic_TreeDisguise, 16, 32, 6), + overworld_frame(gFieldEffectObjectPic_TreeDisguise, 2, 4, 0), + overworld_frame(gFieldEffectObjectPic_TreeDisguise, 2, 4, 1), + overworld_frame(gFieldEffectObjectPic_TreeDisguise, 2, 4, 2), + overworld_frame(gFieldEffectObjectPic_TreeDisguise, 2, 4, 3), + overworld_frame(gFieldEffectObjectPic_TreeDisguise, 2, 4, 4), + overworld_frame(gFieldEffectObjectPic_TreeDisguise, 2, 4, 5), + overworld_frame(gFieldEffectObjectPic_TreeDisguise, 2, 4, 6), }; const union AnimCmd gFieldEffectObjectImageAnim_850D37C[] = @@ -772,13 +772,13 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_TreeDisguise[] = const struct SpriteTemplate gFieldEffectObjectTemplate_TreeDisguise = {0xFFFF, 0xFFFF, &gEventObjectBaseOam_16x32, gFieldEffectObjectImageAnimTable_TreeDisguise, gFieldEffectObjectPicTable_TreeDisguise, gDummySpriteAffineAnimTable, sub_8155C88}; const struct SpriteFrameImage gFieldEffectObjectPicTable_MountainDisguise[] = { - overworld_frame(gFieldEffectObjectPic_MountainDisguise, 16, 32, 0), - overworld_frame(gFieldEffectObjectPic_MountainDisguise, 16, 32, 1), - overworld_frame(gFieldEffectObjectPic_MountainDisguise, 16, 32, 2), - overworld_frame(gFieldEffectObjectPic_MountainDisguise, 16, 32, 3), - overworld_frame(gFieldEffectObjectPic_MountainDisguise, 16, 32, 4), - overworld_frame(gFieldEffectObjectPic_MountainDisguise, 16, 32, 5), - overworld_frame(gFieldEffectObjectPic_MountainDisguise, 16, 32, 6), + overworld_frame(gFieldEffectObjectPic_MountainDisguise, 2, 4, 0), + overworld_frame(gFieldEffectObjectPic_MountainDisguise, 2, 4, 1), + overworld_frame(gFieldEffectObjectPic_MountainDisguise, 2, 4, 2), + overworld_frame(gFieldEffectObjectPic_MountainDisguise, 2, 4, 3), + overworld_frame(gFieldEffectObjectPic_MountainDisguise, 2, 4, 4), + overworld_frame(gFieldEffectObjectPic_MountainDisguise, 2, 4, 5), + overworld_frame(gFieldEffectObjectPic_MountainDisguise, 2, 4, 6), }; const union AnimCmd gFieldEffectObjectImageAnim_850D3FC[] = @@ -808,13 +808,13 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_MountainDisguise[] = const struct SpriteTemplate gFieldEffectObjectTemplate_MountainDisguise = {0xFFFF, 0xFFFF, &gEventObjectBaseOam_16x32, gFieldEffectObjectImageAnimTable_MountainDisguise, gFieldEffectObjectPicTable_MountainDisguise, gDummySpriteAffineAnimTable, sub_8155C88}; const struct SpriteFrameImage gFieldEffectObjectPicTable_SandDisguisePlaceholder[] = { - overworld_frame(gFieldEffectObjectPic_SandDisguisePlaceholder, 16, 32, 0), - overworld_frame(gFieldEffectObjectPic_SandDisguisePlaceholder, 16, 32, 1), - overworld_frame(gFieldEffectObjectPic_SandDisguisePlaceholder, 16, 32, 2), - overworld_frame(gFieldEffectObjectPic_SandDisguisePlaceholder, 16, 32, 3), - overworld_frame(gFieldEffectObjectPic_SandDisguisePlaceholder, 16, 32, 4), - overworld_frame(gFieldEffectObjectPic_SandDisguisePlaceholder, 16, 32, 5), - overworld_frame(gFieldEffectObjectPic_SandDisguisePlaceholder, 16, 32, 6), + overworld_frame(gFieldEffectObjectPic_SandDisguisePlaceholder, 2, 4, 0), + overworld_frame(gFieldEffectObjectPic_SandDisguisePlaceholder, 2, 4, 1), + overworld_frame(gFieldEffectObjectPic_SandDisguisePlaceholder, 2, 4, 2), + overworld_frame(gFieldEffectObjectPic_SandDisguisePlaceholder, 2, 4, 3), + overworld_frame(gFieldEffectObjectPic_SandDisguisePlaceholder, 2, 4, 4), + overworld_frame(gFieldEffectObjectPic_SandDisguisePlaceholder, 2, 4, 5), + overworld_frame(gFieldEffectObjectPic_SandDisguisePlaceholder, 2, 4, 6), }; const struct SpriteTemplate gFieldEffectObjectTemplate_SandDisguisePlaceholder = {0xFFFF, 0xFFFF, &gEventObjectBaseOam_16x32, gFieldEffectObjectImageAnimTable_TreeDisguise, gFieldEffectObjectPicTable_SandDisguisePlaceholder, gDummySpriteAffineAnimTable, sub_8155C88}; @@ -837,8 +837,8 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_Bird[] = const struct SpriteTemplate gFieldEffectObjectTemplate_Bird = {0xFFFF, 0xFFFF, &gEventObjectBaseOam_32x32, gFieldEffectObjectImageAnimTable_Bird, gFieldEffectObjectPicTable_Bird, gDummySpriteAffineAnimTable, SpriteCallbackDummy}; const struct SpriteFrameImage gFieldEffectObjectPicTable_ShortGrass[] = { - overworld_frame(gFieldEffectObjectPic_ShortGrass, 16, 16, 0), - overworld_frame(gFieldEffectObjectPic_ShortGrass, 16, 16, 1), + overworld_frame(gFieldEffectObjectPic_ShortGrass, 2, 2, 0), + overworld_frame(gFieldEffectObjectPic_ShortGrass, 2, 2, 1), }; const union AnimCmd gFieldEffectObjectImageAnim_850D4D0[] = @@ -873,11 +873,11 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_HotSpringsWater[] = const struct SpriteTemplate gFieldEffectObjectTemplate_HotSpringsWater = {0xFFFF, 0x1005, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_HotSpringsWater, gFieldEffectObjectPicTable_HotSpringsWater, gDummySpriteAffineAnimTable, sub_8155158}; const struct SpriteFrameImage gFieldEffectObjectPicTable_JumpOutOfAsh[] = { - overworld_frame(gFieldEffectObjectPic_JumpOutOfAsh, 16, 16, 0), - overworld_frame(gFieldEffectObjectPic_JumpOutOfAsh, 16, 16, 1), - overworld_frame(gFieldEffectObjectPic_JumpOutOfAsh, 16, 16, 2), - overworld_frame(gFieldEffectObjectPic_JumpOutOfAsh, 16, 16, 3), - overworld_frame(gFieldEffectObjectPic_JumpOutOfAsh, 16, 16, 4), + overworld_frame(gFieldEffectObjectPic_JumpOutOfAsh, 2, 2, 0), + overworld_frame(gFieldEffectObjectPic_JumpOutOfAsh, 2, 2, 1), + overworld_frame(gFieldEffectObjectPic_JumpOutOfAsh, 2, 2, 2), + overworld_frame(gFieldEffectObjectPic_JumpOutOfAsh, 2, 2, 3), + overworld_frame(gFieldEffectObjectPic_JumpOutOfAsh, 2, 2, 4), }; const union AnimCmd gFieldEffectObjectImageAnim_850D54C[] = @@ -925,14 +925,14 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_Unknown33[] = const struct SpriteTemplate gFieldEffectObjectTemplate_Unknown33 = {0xFFFF, 0x100D, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_Unknown33, gFieldEffectObjectPicTable_Unknown33, gDummySpriteAffineAnimTable, sub_80B7A58}; const struct SpriteFrameImage gFieldEffectObjectPicTable_Bubbles[] = { - overworld_frame(gFieldEffectObjectPic_Bubbles, 16, 32, 0), - overworld_frame(gFieldEffectObjectPic_Bubbles, 16, 32, 1), - overworld_frame(gFieldEffectObjectPic_Bubbles, 16, 32, 2), - overworld_frame(gFieldEffectObjectPic_Bubbles, 16, 32, 3), - overworld_frame(gFieldEffectObjectPic_Bubbles, 16, 32, 4), - overworld_frame(gFieldEffectObjectPic_Bubbles, 16, 32, 5), - overworld_frame(gFieldEffectObjectPic_Bubbles, 16, 32, 6), - overworld_frame(gFieldEffectObjectPic_Bubbles, 16, 32, 7), + overworld_frame(gFieldEffectObjectPic_Bubbles, 2, 4, 0), + overworld_frame(gFieldEffectObjectPic_Bubbles, 2, 4, 1), + overworld_frame(gFieldEffectObjectPic_Bubbles, 2, 4, 2), + overworld_frame(gFieldEffectObjectPic_Bubbles, 2, 4, 3), + overworld_frame(gFieldEffectObjectPic_Bubbles, 2, 4, 4), + overworld_frame(gFieldEffectObjectPic_Bubbles, 2, 4, 5), + overworld_frame(gFieldEffectObjectPic_Bubbles, 2, 4, 6), + overworld_frame(gFieldEffectObjectPic_Bubbles, 2, 4, 7), }; const union AnimCmd gFieldEffectObjectImageAnim_850D624[] = @@ -987,7 +987,7 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_Rayquaza[] = { }; const struct SpriteFrameImage gFieldEffectObjectPicTable_Rayquaza[] = { - {.data = (u8*)gEventObjectPic_Rayquaza, .size = ((64*64)/2) /4} + overworld_frame(gEventObjectPic_Rayquaza, 4, 4, 0), }; const struct SpriteTemplate gFieldEffectObjectTemplate_Rayquaza = {0xFFFF, 0xFFFF, &gEventObjectBaseOam_32x32, gFieldEffectObjectImageAnimTable_Rayquaza, gFieldEffectObjectPicTable_Rayquaza, gDummySpriteAffineAnimTable, sub_8155F80}; From 1616c254d21b216ecf652461a0cb0b7772450651 Mon Sep 17 00:00:00 2001 From: DizzyEggg <jajkodizzy@wp.pl> Date: Sat, 8 Sep 2018 22:33:07 +0200 Subject: [PATCH 187/234] Swap_InitAllSprites done --- asm/battle_frontier_2.s | 2375 +-------------------------------------- src/battle_factory.c | 805 ++++++++++++- 2 files changed, 788 insertions(+), 2392 deletions(-) diff --git a/asm/battle_frontier_2.s b/asm/battle_frontier_2.s index 489eb2d15b..ffbd7c58d6 100644 --- a/asm/battle_frontier_2.s +++ b/asm/battle_frontier_2.s @@ -6,2327 +6,6 @@ .text - - - thumb_func_start sub_819D12C -sub_819D12C: @ 819D12C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x10 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp] - ldr r1, =gTasks - lsls r0, 2 - ldr r2, [sp] - adds r0, r2 - lsls r0, 3 - adds r4, r0, r1 - movs r2, 0x8 - ldrsh r3, [r4, r2] - cmp r3, 0 - beq _0819D15C - cmp r3, 0x1 - beq _0819D168 - b _0819D310 - .pool -_0819D15C: - strh r3, [r4, 0xA] - strh r3, [r4, 0xC] - strh r3, [r4, 0xE] - movs r0, 0x1 - strh r0, [r4, 0x8] - b _0819D310 -_0819D168: - movs r3, 0 - str r3, [sp, 0x4] - movs r1, 0x2 - str r0, [sp, 0x8] - ldr r0, =gTasks - str r0, [sp, 0xC] -_0819D174: - lsls r0, r1, 24 - asrs r4, r0, 24 - mov r9, r0 - cmp r4, 0x2 - beq _0819D1F2 - ldr r2, =gSprites - ldr r3, =sFactorySwapScreen - ldr r0, [r3] - adds r0, 0x5 - mov r8, r0 - adds r0, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r6, r0, r2 - ldrh r1, [r6, 0x20] - mov r12, r1 - mov r7, r12 - ldr r1, [sp, 0x4] - subs r0, r1, r7 - lsls r0, 24 - lsrs r5, r0, 24 - mov r10, r2 - cmp r5, 0x10 - beq _0819D1BE - adds r0, r4, 0x2 - lsls r0, 1 - ldr r2, [sp, 0x8] - adds r0, r2 - ldr r1, =gTasks - adds r1, 0x8 - adds r0, r1 - movs r3, 0 - ldrsh r0, [r0, r3] - cmp r0, 0x1 - bne _0819D1D8 -_0819D1BE: - lsls r0, r7, 24 - lsrs r0, 24 - str r0, [sp, 0x4] - mov r0, r12 - adds r0, 0xA - strh r0, [r6, 0x20] - b _0819D210 - .pool -_0819D1D8: - cmp r5, 0x10 - bls _0819D210 - adds r0, r4, 0x1 - add r0, r8 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - add r0, r10 - ldrh r0, [r0, 0x20] - subs r0, 0x30 - strh r0, [r6, 0x20] - b _0819D210 -_0819D1F2: - ldr r3, =gSprites - ldr r4, =sFactorySwapScreen - ldr r0, [r4] - ldrb r1, [r0, 0x7] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r2, [r0, 0x20] - lsls r1, r2, 24 - lsrs r1, 24 - str r1, [sp, 0x4] - adds r2, 0xA - strh r2, [r0, 0x20] - mov r10, r3 -_0819D210: - mov r0, r9 - asrs r2, r0, 24 - adds r0, r2, 0x1 - lsls r0, 1 - ldr r1, [sp, 0x8] - adds r0, r1 - ldr r1, =gTasks - adds r1, 0x8 - adds r0, r1 - movs r3, 0 - ldrsh r0, [r0, r3] - cmp r0, 0x1 - bne _0819D26A - ldr r1, =sFactorySwapScreen - ldr r0, [r1] - adds r0, 0x5 - adds r0, r2 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - mov r3, r10 - adds r1, r0, r3 - movs r0, 0x20 - ldrsh r3, [r1, r0] - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 4 - adds r0, 0x48 - cmp r3, r0 - ble _0819D260 - strh r0, [r1, 0x20] - movs r7, 0x1 - b _0819D26C - .pool -_0819D260: - movs r7, 0 - cmp r3, r0 - bne _0819D26C - movs r7, 0x1 - b _0819D26C -_0819D26A: - movs r7, 0 -_0819D26C: - mov r6, r10 - ldr r5, =sFactorySwapScreen - ldr r2, [r5] - mov r1, r9 - asrs r4, r1, 24 - adds r0, r2, 0x5 - adds r0, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r0, r6 - movs r3, 0x20 - ldrsh r0, [r1, r3] - subs r0, 0x10 - cmp r0, 0xF0 - ble _0819D2F8 - ldrh r0, [r1, 0x20] - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x4] - ldr r0, =0x0000fff0 - strh r0, [r1, 0x20] - ldrb r0, [r2, 0x14] - cmp r0, 0x1 - bne _0819D2C0 - movs r0, 0x65 - bl IndexOfSpritePaletteTag - ldr r1, [r5] - adds r1, 0x5 - adds r1, r4 - ldrb r1, [r1] - lsls r2, r1, 4 - adds r2, r1 - lsls r2, 2 - adds r2, r6 - b _0819D2D8 - .pool -_0819D2C0: - movs r0, 0x64 - bl IndexOfSpritePaletteTag - ldr r2, =sFactorySwapScreen - ldr r1, [r2] - adds r1, 0x5 - adds r1, r4 - ldrb r1, [r1] - lsls r2, r1, 4 - adds r2, r1 - lsls r2, 2 - add r2, r10 -_0819D2D8: - lsls r0, 4 - ldrb r3, [r2, 0x5] - movs r1, 0xF - ands r1, r3 - orrs r1, r0 - strb r1, [r2, 0x5] - mov r3, r9 - asrs r0, r3, 23 - adds r0, 0x2 - ldr r1, [sp, 0x8] - adds r0, r1 - ldr r2, [sp, 0xC] - adds r2, 0x8 - adds r0, r2 - movs r1, 0x1 - strh r1, [r0] -_0819D2F8: - movs r0, 0xFF - lsls r0, 24 - add r0, r9 - lsrs r1, r0, 24 - cmp r0, 0 - blt _0819D306 - b _0819D174 -_0819D306: - cmp r7, 0x1 - bne _0819D310 - ldr r0, [sp] - bl DestroyTask -_0819D310: - 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_819D12C - - thumb_func_start sub_819D324 -sub_819D324: @ 819D324 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 24 - lsrs r7, r0, 24 - movs r0, 0 - mov r8, r0 - ldr r1, =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r2, r0, r1 - ldrb r4, [r2, 0xE] - movs r0, 0xC - ldrsh r5, [r2, r0] - mov r10, r1 - cmp r5, 0x1 - bne _0819D352 - lsls r0, r4, 24 - negs r0, r0 - lsrs r4, r0, 24 -_0819D352: - movs r1, 0x8 - ldrsh r0, [r2, r1] - cmp r0, 0 - beq _0819D368 - cmp r0, 0x1 - bne _0819D360 - b _0819D480 -_0819D360: - b _0819D570 - .pool -_0819D368: - ldr r3, =gSprites - ldr r2, =sFactorySwapScreen - ldr r0, [r2] - ldrb r1, [r0, 0x8] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r0, [r0, 0x20] - cmp r5, 0 - bne _0819D39C - lsls r0, 16 - asrs r0, 16 - lsls r2, r4, 24 - asrs r1, r2, 24 - adds r0, r1 - movs r1, 0x1 - cmp r0, 0xEF - ble _0819D3B2 - movs r1, 0 - movs r0, 0xF0 - b _0819D3B0 - .pool -_0819D39C: - lsls r0, 16 - asrs r0, 16 - lsls r2, r4, 24 - asrs r1, r2, 24 - adds r0, r1 - movs r1, 0x1 - cmp r0, 0xA0 - bgt _0819D3B2 - movs r1, 0 - movs r0, 0xA0 -_0819D3B0: - mov r8, r0 -_0819D3B2: - cmp r1, 0x1 - bne _0819D3FC - movs r3, 0 - ldr r7, =gSprites - ldr r6, =sFactorySwapScreen - asrs r5, r2, 24 -_0819D3BE: - movs r4, 0 - adds r2, r3, 0x1 -_0819D3C2: - ldr r1, [r6] - lsls r0, r4, 1 - adds r0, r4 - adds r0, r3, r0 - adds r1, 0x8 - adds r1, r0 - ldrb r1, [r1] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - ldrh r1, [r0, 0x20] - adds r1, r5 - strh r1, [r0, 0x20] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x1 - bls _0819D3C2 - lsls r0, r2, 24 - lsrs r3, r0, 24 - cmp r3, 0x2 - bls _0819D3BE - b _0819D570 - .pool -_0819D3FC: - movs r4, 0 - lsls r1, r7, 2 - mov r12, r1 - mov r6, r8 - adds r6, 0x10 - movs r0, 0x30 - add r0, r8 - mov r9, r0 - ldr r5, =gSprites -_0819D40E: - ldr r1, =sFactorySwapScreen - ldr r2, [r1] - lsls r3, r4, 1 - adds r3, r4 - adds r0, r2, 0 - adds r0, 0x8 - adds r0, r3 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - mov r1, r8 - strh r1, [r0, 0x20] - adds r0, r2, 0 - adds r0, 0x9 - adds r0, r3 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - strh r6, [r0, 0x20] - adds r2, 0xA - adds r2, r3 - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - mov r1, r9 - strh r1, [r0, 0x20] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x1 - bls _0819D40E - mov r1, r12 - adds r0, r1, r7 - lsls r0, 3 - add r0, r10 - ldrb r1, [r0, 0xA] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - add r0, r10 - movs r1, 0x1 - strh r1, [r0, 0xE] - adds r0, r7, 0 - bl DestroyTask - b _0819D570 - .pool -_0819D480: - ldr r2, =gSprites - ldr r0, =sFactorySwapScreen - ldr r0, [r0] - ldrb r1, [r0, 0xE] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r0, [r0, 0x20] - cmp r5, 0 - bne _0819D4B4 - lsls r0, 16 - asrs r0, 16 - lsls r2, r4, 24 - asrs r1, r2, 24 - adds r0, r1 - movs r1, 0x1 - cmp r0, 0xEF - ble _0819D4CA - movs r1, 0 - movs r0, 0xF0 - b _0819D4C8 - .pool -_0819D4B4: - lsls r0, 16 - asrs r0, 16 - lsls r2, r4, 24 - asrs r1, r2, 24 - adds r0, r1 - movs r1, 0x1 - cmp r0, 0xC0 - bgt _0819D4CA - movs r1, 0 - movs r0, 0xC0 -_0819D4C8: - mov r8, r0 -_0819D4CA: - cmp r1, 0x1 - bne _0819D510 - movs r3, 0 - ldr r7, =gSprites - ldr r6, =sFactorySwapScreen - asrs r5, r2, 24 -_0819D4D6: - movs r4, 0 - adds r2, r3, 0x1 -_0819D4DA: - ldr r0, [r6] - lsls r1, r4, 1 - adds r1, r3, r1 - adds r0, 0xE - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - ldrh r1, [r0, 0x20] - adds r1, r5 - strh r1, [r0, 0x20] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x1 - bls _0819D4DA - lsls r0, r2, 24 - lsrs r3, r0, 24 - cmp r3, 0x1 - bls _0819D4D6 - b _0819D570 - .pool -_0819D510: - movs r4, 0 - lsls r1, r7, 2 - mov r12, r1 - mov r6, r8 - adds r6, 0x10 - ldr r5, =gSprites - ldr r0, =sFactorySwapScreen - mov r9, r0 -_0819D520: - mov r1, r9 - ldr r2, [r1] - lsls r3, r4, 1 - adds r0, r2, 0 - adds r0, 0xE - adds r0, r3 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - mov r1, r8 - strh r1, [r0, 0x20] - adds r2, 0xF - adds r2, r3 - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - strh r6, [r0, 0x20] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x1 - bls _0819D520 - mov r1, r12 - adds r0, r1, r7 - lsls r0, 3 - add r0, r10 - ldrb r1, [r0, 0xA] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - add r0, r10 - movs r1, 0x1 - strh r1, [r0, 0x10] - adds r0, r7, 0 - bl DestroyTask -_0819D570: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_819D324 - - thumb_func_start sub_819D588 -sub_819D588: @ 819D588 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - 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] - mov r8, r1 - cmp r0, 0x5 - bls _0819D5AA - b _0819D762 -_0819D5AA: - lsls r0, 2 - ldr r1, =_0819D5BC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0819D5BC: - .4byte _0819D5D4 - .4byte _0819D5F0 - .4byte _0819D60C - .4byte _0819D63C - .4byte _0819D6F0 - .4byte _0819D73A -_0819D5D4: - ldr r0, =gUnknown_08610918 - movs r1, 0xE0 - movs r2, 0xA - bl LoadPalette - bl sub_819ED34 - movs r0, 0x5 - bl PutWindowTilemap - b _0819D622 - .pool -_0819D5F0: - movs r0, 0x3 - bl sub_819EA64 - 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 _0819D762 - .pool -_0819D60C: - movs r0, 0x80 - lsls r0, 7 - ldr r1, =gUnknown_0860F13C - adds r1, 0x4A - ldrh r1, [r1] - str r1, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade -_0819D622: - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - ldrh r1, [r0, 0x8] - adds r1, 0x1 - strh r1, [r0, 0x8] - b _0819D762 - .pool -_0819D63C: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0 - beq _0819D64E - b _0819D762 -_0819D64E: - movs r0, 0x5 - movs r1, 0 - bl FillWindowPixelBuffer - movs r0, 0x5 - movs r1, 0x2 - bl CopyWindowToVram - ldr r0, =sFactorySwapScreen - ldr r0, [r0] - ldrb r0, [r0, 0x14] - cmp r0, 0x1 - bne _0819D6B0 - ldr r0, =sub_819D324 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, =gTasks - lsls r2, r5, 2 - adds r2, r5 - lsls r2, 3 - adds r2, r1 - strh r6, [r2, 0xE] - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - strh r5, [r0, 0xA] - strh r6, [r0, 0x8] - strh r6, [r0, 0xC] - movs r1, 0x6 - strh r1, [r0, 0xE] - movs r0, 0x5 - strh r0, [r2, 0xC] - ldrh r0, [r2, 0x8] - adds r0, 0x1 - strh r0, [r2, 0x8] - b _0819D762 - .pool -_0819D6B0: - ldr r0, =sub_819D324 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r4, r0, 24 - ldr r3, =gTasks - lsls r2, r5, 2 - adds r2, r5 - lsls r2, 3 - adds r2, r3 - movs r1, 0x1 - strh r1, [r2, 0xE] - strh r6, [r2, 0x10] - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r3 - strh r5, [r0, 0xA] - strh r1, [r0, 0x8] - strh r6, [r0, 0xC] - movs r1, 0x6 - strh r1, [r0, 0xE] - ldrh r0, [r2, 0x8] - adds r0, 0x2 - strh r0, [r2, 0x8] - b _0819D762 - .pool -_0819D6F0: - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - mov r1, r8 - adds r6, r0, r1 - ldrh r0, [r6, 0xC] - movs r2, 0xC - ldrsh r7, [r6, r2] - cmp r7, 0 - bne _0819D734 - ldr r0, =sub_819D324 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r4, r0, 24 - strh r7, [r6, 0x10] - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - add r0, r8 - strh r5, [r0, 0xA] - movs r1, 0x1 - strh r1, [r0, 0x8] - strh r7, [r0, 0xC] - movs r1, 0x6 - strh r1, [r0, 0xE] - ldrh r0, [r6, 0x8] - adds r0, 0x1 - strh r0, [r6, 0x8] - b _0819D762 - .pool -_0819D734: - subs r0, 0x1 - strh r0, [r6, 0xC] - b _0819D762 -_0819D73A: - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - mov r1, r8 - adds r2, r0, r1 - movs r1, 0xE - ldrsh r0, [r2, r1] - cmp r0, 0x1 - bne _0819D762 - movs r1, 0x10 - ldrsh r0, [r2, r1] - cmp r0, 0x1 - bne _0819D762 - ldrh r0, [r2, 0x12] - strh r0, [r2, 0x8] - ldrh r0, [r2, 0x14] - ldrh r1, [r2, 0x16] - lsls r0, 16 - orrs r0, r1 - str r0, [r2] -_0819D762: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_819D588 - - thumb_func_start sub_819D770 -sub_819D770: @ 819D770 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - lsls r0, 24 - lsrs r6, r0, 24 - ldr r1, =sFactorySwapScreen - ldr r0, [r1] - adds r0, 0x30 - ldrb r0, [r0] - adds r3, r1, 0 - cmp r0, 0x1 - bne _0819D78C - b _0819D9D8 -_0819D78C: - ldr r0, =gTasks - lsls r2, r6, 2 - adds r1, r2, r6 - lsls r1, 3 - adds r1, r0 - movs r4, 0x8 - ldrsh r1, [r1, r4] - mov r8, r0 - adds r5, r2, 0 - cmp r1, 0x8 - bls _0819D7A4 - b _0819D9D8 -_0819D7A4: - lsls r0, r1, 2 - ldr r1, =_0819D7BC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0819D7BC: - .4byte _0819D7E0 - .4byte _0819D868 - .4byte _0819D8AE - .4byte _0819D8F4 - .4byte _0819D910 - .4byte _0819D928 - .4byte _0819D936 - .4byte _0819D948 - .4byte _0819D9B0 -_0819D7E0: - ldr r0, [r3] - ldrb r7, [r0, 0x14] - cmp r7, 0x1 - bne _0819D828 - ldr r0, =sub_819D324 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r4, r0, 24 - ldr r3, =gTasks - adds r2, r5, r6 - lsls r2, 3 - adds r2, r3 - movs r1, 0 - strh r1, [r2, 0xE] - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r3 - strh r6, [r0, 0xA] - strh r1, [r0, 0x8] - strh r7, [r0, 0xC] - movs r1, 0x6 - strh r1, [r0, 0xE] - movs r0, 0xA - strh r0, [r2, 0xC] - ldrh r0, [r2, 0x8] - adds r0, 0x1 - strh r0, [r2, 0x8] - b _0819D9D8 - .pool -_0819D828: - ldr r0, =sub_819D324 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r4, r0, 24 - ldr r3, =gTasks - adds r2, r5, r6 - lsls r2, 3 - adds r2, r3 - movs r0, 0 - movs r1, 0x1 - strh r1, [r2, 0xE] - strh r0, [r2, 0x10] - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r3 - strh r6, [r0, 0xA] - strh r1, [r0, 0x8] - strh r1, [r0, 0xC] - movs r1, 0x6 - strh r1, [r0, 0xE] - ldrh r0, [r2, 0x8] - adds r0, 0x2 - strh r0, [r2, 0x8] - b _0819D9D8 - .pool -_0819D868: - adds r0, r5, r6 - lsls r0, 3 - mov r1, r8 - adds r5, r0, r1 - ldrh r0, [r5, 0xC] - movs r2, 0xC - ldrsh r7, [r5, r2] - cmp r7, 0 - bne _0819D8A8 - ldr r0, =sub_819D324 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r4, r0, 24 - strh r7, [r5, 0x10] - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - add r0, r8 - strh r6, [r0, 0xA] - movs r1, 0x1 - strh r1, [r0, 0x8] - strh r1, [r0, 0xC] - movs r1, 0x6 - strh r1, [r0, 0xE] - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] - b _0819D9D8 - .pool -_0819D8A8: - subs r0, 0x1 - strh r0, [r5, 0xC] - b _0819D9D8 -_0819D8AE: - adds r0, r5, r6 - lsls r0, 3 - mov r1, r8 - adds r4, r0, r1 - movs r2, 0xE - ldrsh r0, [r4, r2] - cmp r0, 0x1 - beq _0819D8C0 - b _0819D9D8 -_0819D8C0: - movs r1, 0x10 - ldrsh r0, [r4, r1] - cmp r0, 0x1 - beq _0819D8CA - b _0819D9D8 -_0819D8CA: - ldr r1, =gPlttBufferFaded - ldr r0, =gUnknown_0860F13C - adds r0, 0x4A - ldrh r0, [r0] - movs r2, 0xE2 - lsls r2, 1 - adds r1, r2 - strh r0, [r1] - bl sub_819ED34 - movs r0, 0x5 - bl PutWindowTilemap - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _0819D9D8 - .pool -_0819D8F4: - movs r0, 0x80 - lsls r0, 7 - ldr r1, =gUnknown_0860F13C - adds r1, 0x4A - ldrh r1, [r1] - str r1, [sp] - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - b _0819D990 - .pool -_0819D910: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0819D9D8 - movs r0, 0 - bl sub_819EDBC - b _0819D990 - .pool -_0819D928: - movs r0, 0x1 - bl sub_819EDBC - movs r0, 0x3 - bl PutWindowTilemap - b _0819D990 -_0819D936: - movs r0, 0x5 - movs r1, 0 - bl FillWindowPixelBuffer - movs r0, 0x5 - movs r1, 0x2 - bl CopyWindowToVram - b _0819D990 -_0819D948: - ldr r0, =sFactorySwapScreen - ldr r0, [r0] - ldrb r0, [r0, 0x14] - cmp r0, 0 - bne _0819D964 - ldr r0, =gText_SelectPkmnToSwap - bl Swap_PrintOnYesNoQuestionWindow - b _0819D96A - .pool -_0819D964: - ldr r0, =gText_SelectPkmnToAccept - bl Swap_PrintOnYesNoQuestionWindow -_0819D96A: - ldr r0, =sFactorySwapScreen - ldr r1, [r0] - ldrb r0, [r1, 0x3] - cmp r0, 0x2 - bhi _0819D98C - ldr r2, =gSprites - ldrb r1, [r1, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - adds r0, 0x3E - ldrb r2, [r0] - movs r1, 0x5 - negs r1, r1 - ands r1, r2 - strb r1, [r0] -_0819D98C: - bl Swap_PrintMonCategory -_0819D990: - ldr r0, =gTasks - adds r1, r5, r6 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - b _0819D9D8 - .pool -_0819D9B0: - bl sub_819EEF0 - bl sub_819EADC - ldr r0, =sFactorySwapScreen - ldr r0, [r0] - adds r0, 0x22 - movs r1, 0x1 - strb r1, [r0] - ldr r1, =gTasks - adds r0, r5, r6 - lsls r0, 3 - adds r0, r1 - ldrh r1, [r0, 0x12] - strh r1, [r0, 0x8] - ldrh r1, [r0, 0x14] - ldrh r2, [r0, 0x16] - lsls r1, 16 - orrs r1, r2 - str r1, [r0] -_0819D9D8: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_819D770 - - thumb_func_start sub_819D9EC -sub_819D9EC: @ 819D9EC - push {r4-r7,lr} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r0, =sFactorySwapScreen - ldr r0, [r0] - adds r0, 0x30 - ldrb r0, [r0] - cmp r0, 0x1 - bne _0819DA00 - b _0819DBCA -_0819DA00: - ldr r0, =gTasks - lsls r2, r6, 2 - adds r1, r2, r6 - lsls r1, 3 - adds r1, r0 - movs r3, 0x8 - ldrsh r1, [r1, r3] - adds r3, r0, 0 - adds r7, r2, 0 - cmp r1, 0x4 - bls _0819DA18 - b _0819DBCA -_0819DA18: - lsls r0, r1, 2 - ldr r1, =_0819DA30 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0819DA30: - .4byte _0819DA44 - .4byte _0819DA58 - .4byte _0819DA8C - .4byte _0819DABC - .4byte _0819DBB0 -_0819DA44: - bl sub_819EEF0 - ldr r0, =gTasks - adds r1, r7, r6 - lsls r1, 3 - adds r1, r0 - b _0819DB96 - .pool -_0819DA58: - bl sub_819EADC - ldr r2, =gSprites - ldr r0, =sFactorySwapScreen - ldr r0, [r0] - ldrb r1, [r0, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - ldr r0, =gTasks - adds r1, r7, r6 - lsls r1, 3 - adds r1, r0 - b _0819DB96 - .pool -_0819DA8C: - ldr r0, =sub_819D12C - movs r1, 0 - bl CreateTask - ldr r2, =gTasks - ldr r0, =sFactorySwapScreen - ldr r0, [r0] - adds r0, 0x21 - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldr r1, =sub_819D064 - str r1, [r0] - b _0819DB90 - .pool -_0819DABC: - ldr r0, =sub_819D12C - bl FuncIsActiveTask - lsls r0, 24 - cmp r0, 0 - beq _0819DACA - b _0819DBCA -_0819DACA: - ldr r2, =gTasks - ldr r4, =sFactorySwapScreen - ldr r0, [r4] - adds r0, 0x21 - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - movs r1, 0x10 - ldrsh r0, [r0, r1] - cmp r0, 0x1 - bne _0819DBCA - bl sub_819EAC0 - ldr r0, [r4] - ldrb r0, [r0, 0x14] - cmp r0, 0 - bne _0819DB04 - movs r0, 0x1 - bl sub_819F048 - b _0819DB32 - .pool -_0819DB04: - movs r0, 0 - bl sub_819F048 - movs r2, 0 - ldr r5, =gSprites - movs r3, 0x4 -_0819DB10: - ldr r0, [r4] - adds r0, 0xB - adds r0, r2 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - adds r0, 0x3E - ldrb r1, [r0] - orrs r1, r3 - strb r1, [r0] - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x2 - bls _0819DB10 -_0819DB32: - ldr r5, =gSprites - ldr r4, =sFactorySwapScreen - ldr r3, [r4] - ldrb r0, [r3, 0x4] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r5 - adds r0, r3, 0x5 - ldrb r2, [r3, 0x3] - adds r0, r2 - ldrb r2, [r0] - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r0, r5 - ldrh r0, [r0, 0x20] - movs r5, 0 - strh r0, [r1, 0x20] - ldr r2, =gTasks - adds r0, r3, 0 - adds r0, 0x21 - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldr r1, =sub_819CF54 - str r1, [r0] - adds r3, 0x27 - strb r5, [r3] - ldr r0, [r4] - adds r0, 0x28 - movs r1, 0x6 - strb r1, [r0] - ldr r0, [r4] - adds r0, 0x26 - strb r5, [r0] - ldr r0, [r4] - adds r0, 0x21 - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - movs r1, 0x1 - strh r1, [r0, 0x8] -_0819DB90: - adds r1, r7, r6 - lsls r1, 3 - adds r1, r2 -_0819DB96: - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - b _0819DBCA - .pool -_0819DBB0: - adds r0, r7, r6 - lsls r0, 3 - adds r0, r3 - movs r1, 0 - strh r1, [r0, 0x8] - ldr r2, =Task_HandleSwapScreenChooseMons - lsrs r1, r2, 16 - strh r1, [r0, 0x14] - strh r2, [r0, 0x16] - movs r1, 0x1 - strh r1, [r0, 0x12] - ldr r1, =sub_819D770 - str r1, [r0] -_0819DBCA: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_819D9EC - - thumb_func_start sub_819DBD8 -sub_819DBD8: @ 819DBD8 - push {r4,r5,lr} - ldr r5, =sFactorySwapScreen - ldr r4, [r5] - cmp r4, 0 - bne _0819DBF6 - movs r0, 0x34 - bl AllocZeroed - str r0, [r5] - strb r4, [r0, 0x3] - ldr r0, [r5] - adds r0, 0x30 - strb r4, [r0] - ldr r0, [r5] - strb r4, [r0, 0x15] -_0819DBF6: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_819DBD8 - - thumb_func_start sub_819DC00 -sub_819DC00: @ 819DC00 - push {lr} - ldr r0, =sFactorySwapScreen - movs r1, 0 - str r1, [r0] - ldr r0, =sub_819DC1C - bl SetMainCallback2 - pop {r0} - bx r0 - .pool - thumb_func_end sub_819DC00 - - thumb_func_start sub_819DC1C -sub_819DC1C: @ 819DC1C - push {r4-r6,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, 0xF - bls _0819DC32 - b _0819E0AA -_0819DC32: - lsls r0, 2 - ldr r1, =_0819DC44 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0819DC44: - .4byte _0819DC84 - .4byte _0819DCD4 - .4byte _0819DDA8 - .4byte _0819DE68 - .4byte _0819DE94 - .4byte _0819DECC - .4byte _0819DEEC - .4byte _0819DF10 - .4byte _0819DF30 - .4byte _0819DF3C - .4byte _0819DF64 - .4byte _0819DF70 - .4byte _0819DF78 - .4byte _0819DF8C - .4byte _0819DFA4 - .4byte _0819E01C -_0819DC84: - movs r0, 0 - bl SetHBlankCallback - movs r0, 0 - bl SetVBlankCallback - movs r0, 0 - str r0, [sp, 0x8] - movs r1, 0xC0 - lsls r1, 19 - ldr r2, =0x05006000 - add r0, sp, 0x8 - bl CpuSet - movs r0, 0 - bl ResetBgsAndClearDma3BusyFlags - ldr r1, =gUnknown_086108B8 - movs r0, 0 - movs r2, 0x4 - bl InitBgsFromTemplates - ldr r0, =gUnknown_086108C8 - bl InitWindows - bl DeactivateAllTextPrinters - ldr r1, =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 - b _0819E00E - .pool -_0819DCD4: - ldr r5, =gUnknown_0203CE40 - movs r4, 0x88 - lsls r4, 3 - adds r0, r4, 0 - bl Alloc - str r0, [r5] - ldr r5, =gUnknown_0203CE44 - adds r0, r4, 0 - bl AllocZeroed - str r0, [r5] - ldr r5, =gUnknown_0203CE48 - movs r4, 0x80 - lsls r4, 4 - adds r0, r4, 0 - bl Alloc - str r0, [r5] - ldr r5, =gUnknown_0203CE4C - adds r0, r4, 0 - bl AllocZeroed - str r0, [r5] - 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 - 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 - movs r0, 0x54 - movs r1, 0 - bl SetGpuReg - movs r0, 0x4C - movs r1, 0 - bl SetGpuReg - movs r0, 0x40 - movs r1, 0 - bl SetGpuReg - movs r0, 0x44 - movs r1, 0 - bl SetGpuReg - movs r0, 0x42 - movs r1, 0 - bl SetGpuReg - movs r0, 0x46 - movs r1, 0 - bl SetGpuReg - movs r0, 0x48 - movs r1, 0 - bl SetGpuReg - movs r0, 0x4A - movs r1, 0 - bl SetGpuReg - b _0819E006 - .pool -_0819DDA8: - bl ResetPaletteFade - bl ResetSpriteData - bl ResetTasks - bl FreeAllSpritePalettes - bl ResetAllPicSprites - ldr r0, =gFrontierFactorySelectMenu_Gfx - ldr r5, =gUnknown_0203CE40 - ldr r1, [r5] - movs r2, 0x88 - lsls r2, 2 - bl CpuSet - ldr r0, =gUnknown_0861033C - ldr r4, =gUnknown_0203CE44 - ldr r1, [r4] - movs r2, 0x30 - bl CpuSet - ldr r1, [r5] - movs r2, 0x88 - lsls r2, 3 - movs r0, 0x1 - movs r3, 0 - bl LoadBgTiles - ldr r1, [r4] - movs r0, 0x3 - movs r2, 0x60 - movs r3, 0 - bl LoadBgTiles - ldr r0, =gFrontierFactorySelectMenu_Tilemap - ldr r4, =gUnknown_0203CE48 - ldr r1, [r4] - movs r2, 0x80 - lsls r2, 3 - bl CpuSet - ldr r1, [r4] - movs r2, 0x80 - lsls r2, 4 - movs r0, 0x1 - movs r3, 0 - bl LoadBgTilemap - ldr r0, =gFrontierFactorySelectMenu_Pal - movs r1, 0 - movs r2, 0x40 - bl LoadPalette - ldr r4, =gUnknown_08610918 - adds r0, r4, 0 - movs r1, 0xF0 - movs r2, 0xA - bl LoadPalette - adds r0, r4, 0 - movs r1, 0xE0 - movs r2, 0xA - bl LoadPalette - ldr r0, =gUnknown_0861039C - movs r1, 0x20 - movs r2, 0x4 - bl LoadPalette - ldr r1, =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 - b _0819E00E - .pool -_0819DE68: - ldr r0, =gUnknown_0203CE4C - ldr r1, [r0] - movs r0, 0x3 - bl SetBgTilemapBuffer - ldr r1, =gUnknown_0861023C - movs r0, 0x8 - str r0, [sp] - str r0, [sp, 0x4] - movs r0, 0x3 - movs r2, 0xB - movs r3, 0x4 - bl CopyToBgTilemapBufferRect - movs r0, 0x3 - bl CopyBgTilemapBufferToVram - b _0819E006 - .pool -_0819DE94: - ldr r0, =gUnknown_086106B0 - bl LoadSpritePalettes - ldr r0, =gUnknown_08610650 - bl LoadSpriteSheets - ldr r0, =gUnknown_086106A0 - bl LoadCompressedObjectPic - ldr r0, =sub_819C7FC - bl SetVBlankCallback - ldr r1, =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 - b _0819E00E - .pool -_0819DECC: - ldr r0, =sFactorySwapScreen - ldr r1, [r0] - ldrb r0, [r1, 0x15] - cmp r0, 0x1 - bne _0819DEDC - ldr r0, =gUnknown_0203CF20 - ldrb r0, [r0] - strb r0, [r1, 0x3] -_0819DEDC: - movs r0, 0x87 - lsls r0, 3 - adds r1, r2, r0 - b _0819E00E - .pool -_0819DEEC: - bl sub_819DBD8 - bl sub_819E0C0 - ldr r0, =sFactorySwapScreen - ldr r0, [r0] - ldrb r0, [r0, 0x15] - cmp r0, 0x1 - bne _0819DF02 - bl sub_819F304 -_0819DF02: - movs r0, 0 - bl sub_819F048 - b _0819E006 - .pool -_0819DF10: - ldr r0, =gText_SelectPkmnToSwap - bl Swap_PrintOnYesNoQuestionWindow - movs r0, 0x2 - bl PutWindowTilemap - ldr r1, =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 - b _0819E00E - .pool -_0819DF30: - bl Swap_PrintMonCategory - movs r0, 0x8 - bl PutWindowTilemap - b _0819E006 -_0819DF3C: - ldr r0, =sFactorySwapScreen - ldr r0, [r0] - ldrb r0, [r0, 0x15] - cmp r0, 0 - bne _0819DF4A - bl Swap_PrintMonSpecies -_0819DF4A: - movs r0, 0x1 - bl PutWindowTilemap - ldr r1, =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 - b _0819E00E - .pool -_0819DF64: - bl sub_819EB18 - movs r0, 0 - bl PutWindowTilemap - b _0819E006 -_0819DF70: - movs r0, 0x87 - lsls r0, 3 - adds r1, r2, r0 - b _0819E00E -_0819DF78: - ldr r0, =sFactorySwapScreen - ldr r0, [r0] - ldrb r0, [r0, 0x15] - cmp r0, 0 - beq _0819E006 - bl sub_819EE08 - b _0819E006 - .pool -_0819DF8C: - bl sub_819ED78 - movs r0, 0x3 - bl PutWindowTilemap - ldr r1, =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 - b _0819E00E - .pool -_0819DFA4: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - movs r1, 0x82 - lsls r1, 5 - movs r0, 0 - bl SetGpuReg - movs r0, 0 - bl ShowBg - movs r0, 0x1 - bl ShowBg - movs r0, 0x2 - bl ShowBg - ldr r0, =sFactorySwapScreen - ldr r0, [r0] - ldrb r0, [r0, 0x15] - cmp r0, 0x1 - bne _0819E000 - movs r0, 0x3 - bl ShowBg - ldr r1, =0x00001248 - movs r0, 0x50 - bl SetGpuReg - ldr r1, =0x0000040b - movs r0, 0x52 - bl SetGpuReg - b _0819E006 - .pool -_0819E000: - movs r0, 0x3 - bl HideBg -_0819E006: - ldr r1, =gMain - movs r2, 0x87 - lsls r2, 3 - adds r1, r2 -_0819E00E: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _0819E0AA - .pool -_0819E01C: - ldr r0, =sub_819CF54 - movs r1, 0 - bl CreateTask - ldr r6, =sFactorySwapScreen - ldr r1, [r6] - adds r1, 0x21 - strb r0, [r1] - ldr r0, [r6] - ldrb r5, [r0, 0x15] - cmp r5, 0 - bne _0819E06C - ldr r4, =gTasks - adds r0, 0x21 - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r4 - strh r5, [r0, 0x8] - ldr r0, =Task_HandleSwapScreenChooseMons - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r1, r0, 24 - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r4 - strh r5, [r0, 0x8] - b _0819E0A4 - .pool -_0819E06C: - bl sub_819EAF8 - ldr r4, =gTasks - ldr r2, [r6] - adds r0, r2, 0 - adds r0, 0x21 - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r4 - movs r3, 0 - movs r1, 0x1 - strh r1, [r0, 0x8] - adds r2, 0x22 - strb r3, [r2] - ldr r0, =Task_HandleSwapScreenMenu - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r1, r0, 24 - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r4 - movs r1, 0x2 - strh r1, [r0, 0x8] -_0819E0A4: - ldr r0, =sub_819C7E0 - bl SetMainCallback2 -_0819E0AA: - add sp, 0xC - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_819DC1C - - thumb_func_start sub_819E0C0 -sub_819E0C0: @ 819E0C0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x1C - mov r1, sp - ldr r0, =gUnknown_08610834 - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - ldm r0!, {r2,r5,r6} - stm r1!, {r2,r5,r6} - mov r1, sp - movs r0, 0x65 - strh r0, [r1, 0x2] - movs r6, 0 - ldr r4, =sFactorySwapScreen - movs r7, 0 - ldr r5, =gSprites -_0819E0E6: - lsls r1, r6, 1 - adds r1, r6 - lsls r1, 20 - movs r3, 0x90 - lsls r3, 15 - adds r1, r3 - asrs r1, 16 - mov r0, sp - movs r2, 0x40 - movs r3, 0x1 - bl CreateSprite - ldr r1, [r4] - adds r1, 0x5 - adds r1, r6 - strb r0, [r1] - ldr r0, [r4] - adds r0, 0x5 - adds r0, r6 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - strh r7, [r0, 0x2E] - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x2 - bls _0819E0E6 - ldr r7, =sFactorySwapScreen - ldr r1, [r7] - adds r0, r1, 0x5 - ldrb r1, [r1, 0x3] - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r4, =gSprites - adds r0, r4 - movs r5, 0x20 - ldrsh r1, [r0, r5] - ldr r0, =gUnknown_0861084C - movs r2, 0x58 - movs r3, 0 - bl CreateSprite - ldr r1, [r7] - movs r4, 0 - strb r0, [r1, 0x4] - ldr r0, =gUnknown_08610864 - movs r1, 0xB0 - movs r2, 0x70 - movs r3, 0 - bl CreateSprite - ldr r1, [r7] - strb r0, [r1, 0x1] - ldr r0, =gUnknown_0861087C - movs r1, 0xB0 - movs r2, 0x90 - movs r3, 0 - bl CreateSprite - ldr r1, [r7] - strb r0, [r1, 0x2] - ldr r0, [r7] - ldrb r1, [r0, 0x1] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r6, =gSprites - adds r0, r6 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - ldr r0, [r7] - ldrb r1, [r0, 0x2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - adds r0, 0x3E - ldrb r1, [r0] - orrs r1, r2 - strb r1, [r0] - ldr r0, [r7] - ldrb r1, [r0, 0x1] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - adds r0, 0x28 - strb r4, [r0] - ldr r0, [r7] - ldrb r1, [r0, 0x1] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - adds r0, 0x29 - strb r4, [r0] - ldr r0, [r7] - ldrb r1, [r0, 0x2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - adds r0, 0x28 - strb r4, [r0] - ldr r0, [r7] - ldrb r1, [r0, 0x2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - adds r0, 0x29 - strb r4, [r0] - ldr r0, [r7] - ldrb r0, [r0, 0x15] - movs r1, 0xC0 - str r1, [sp, 0x18] - cmp r0, 0x1 - bne _0819E1E8 - movs r2, 0xF0 - str r2, [sp, 0x18] -_0819E1E8: - mov r1, sp - ldr r0, =gUnknown_0861084C - ldm r0!, {r3-r5} - stm r1!, {r3-r5} - ldm r0!, {r2,r3,r6} - stm r1!, {r2,r3,r6} - mov r0, sp - movs r4, 0x68 - mov r10, r4 - mov r5, r10 - strh r5, [r0] - movs r1, 0xF0 - movs r2, 0x78 - movs r3, 0xA - bl CreateSprite - ldr r1, [r7] - strb r0, [r1, 0x8] - mov r1, sp - ldr r0, =gUnknown_08610864 - ldm r0!, {r2,r3,r6} - stm r1!, {r2,r3,r6} - ldm r0!, {r4-r6} - stm r1!, {r4-r6} - mov r0, sp - movs r1, 0x69 - mov r9, r1 - mov r2, r9 - strh r2, [r0] - movs r4, 0x80 - lsls r4, 1 - adds r1, r4, 0 - movs r2, 0x78 - movs r3, 0xA - bl CreateSprite - ldr r1, [r7] - strb r0, [r1, 0x9] - movs r5, 0x90 - lsls r5, 1 - mov r0, sp - adds r1, r5, 0 - movs r2, 0x78 - movs r3, 0xA - bl CreateSprite - ldr r1, [r7] - strb r0, [r1, 0xA] - mov r1, sp - ldr r0, =gUnknown_0861084C - ldm r0!, {r2,r3,r6} - stm r1!, {r2,r3,r6} - ldm r0!, {r2,r3,r6} - stm r1!, {r2,r3,r6} - mov r0, sp - movs r3, 0x6A - mov r8, r3 - mov r6, r8 - strh r6, [r0] - movs r1, 0xF0 - movs r2, 0x78 - movs r3, 0x1 - bl CreateSprite - ldr r1, [r7] - strb r0, [r1, 0xB] - mov r1, sp - ldr r0, =gUnknown_08610864 - ldm r0!, {r2,r3,r6} - stm r1!, {r2,r3,r6} - ldm r0!, {r2,r3,r6} - stm r1!, {r2,r3,r6} - mov r1, sp - movs r0, 0x6B - strh r0, [r1] - mov r0, sp - adds r1, r4, 0 - movs r2, 0x78 - movs r3, 0x1 - bl CreateSprite - ldr r1, [r7] - strb r0, [r1, 0xC] - mov r0, sp - movs r6, 0x6C - strh r6, [r0] - adds r1, r5, 0 - movs r2, 0x78 - movs r3, 0x1 - bl CreateSprite - ldr r1, [r7] - strb r0, [r1, 0xD] - mov r1, sp - ldr r0, =gUnknown_0861084C - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - mov r0, sp - mov r4, r10 - strh r4, [r0] - ldr r1, [sp, 0x18] - movs r2, 0x90 - movs r3, 0xA - bl CreateSprite - ldr r1, [r7] - strb r0, [r1, 0xE] - mov r1, sp - ldr r0, =gUnknown_08610864 - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldm r0!, {r2,r4,r5} - stm r1!, {r2,r4,r5} - mov r0, sp - mov r3, r9 - strh r3, [r0] - ldr r4, [sp, 0x18] - adds r4, 0x10 - adds r1, r4, 0 - movs r2, 0x90 - movs r3, 0xA - bl CreateSprite - ldr r1, [r7] - strb r0, [r1, 0xF] - mov r1, sp - ldr r0, =gUnknown_0861084C - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - mov r0, sp - mov r5, r8 - strh r5, [r0] - ldr r1, [sp, 0x18] - movs r2, 0x90 - movs r3, 0x1 - bl CreateSprite - ldr r1, [r7] - strb r0, [r1, 0x10] - mov r1, sp - ldr r0, =gUnknown_08610864 - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - mov r0, sp - strh r6, [r0] - adds r1, r4, 0 - movs r2, 0x90 - movs r3, 0x1 - bl CreateSprite - ldr r1, [r7] - strb r0, [r1, 0x11] - movs r6, 0 - ldr r5, =gSprites - adds r4, r7, 0 - movs r7, 0 - movs r0, 0x4 - mov r10, r0 -_0819E330: - ldr r0, [r4] - lsls r3, r6, 1 - adds r2, r3, r6 - adds r0, 0x8 - adds r0, r2 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - adds r0, 0x28 - strb r7, [r0] - ldr r0, [r4] - adds r0, 0x8 - adds r0, r2 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - adds r0, 0x29 - strb r7, [r0] - ldr r0, [r4] - adds r0, 0x9 - adds r0, r2 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - adds r0, 0x28 - strb r7, [r0] - ldr r0, [r4] - adds r0, 0x9 - adds r0, r2 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - adds r0, 0x29 - strb r7, [r0] - ldr r0, [r4] - adds r0, 0xA - adds r0, r2 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - adds r0, 0x28 - strb r7, [r0] - ldr r0, [r4] - adds r0, 0xA - adds r0, r2 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - adds r0, 0x29 - strb r7, [r0] - ldr r0, [r4] - adds r0, 0xE - adds r0, r3 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - adds r0, 0x28 - strb r7, [r0] - ldr r0, [r4] - adds r0, 0xE - adds r0, r3 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - adds r0, 0x29 - strb r7, [r0] - ldr r0, [r4] - adds r0, 0xF - adds r0, r3 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - adds r0, 0x28 - strb r7, [r0] - ldr r0, [r4] - adds r0, 0xF - adds r0, r3 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - adds r0, 0x29 - strb r7, [r0] - ldr r0, [r4] - adds r0, 0x8 - adds r0, r2 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - adds r0, 0x3E - mov r8, r0 - ldrb r1, [r0] - mov r0, r10 - orrs r1, r0 - mov r0, r8 - strb r1, [r0] - ldr r0, [r4] - adds r0, 0x9 - adds r0, r2 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - adds r0, 0x3E - mov r8, r0 - ldrb r1, [r0] - mov r0, r10 - orrs r1, r0 - mov r0, r8 - strb r1, [r0] - ldr r0, [r4] - adds r0, 0xA - adds r0, r2 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - adds r0, 0x3E - ldrb r1, [r0] - mov r2, r10 - orrs r1, r2 - strb r1, [r0] - ldr r0, [r4] - adds r0, 0xE - adds r0, r3 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - adds r0, 0x3E - ldrb r1, [r0] - orrs r1, r2 - strb r1, [r0] - ldr r0, [r4] - adds r0, 0xF - adds r0, r3 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - adds r0, 0x3E - ldrb r1, [r0] - orrs r1, r2 - strb r1, [r0] - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - ldr r3, =sFactorySwapScreen - mov r8, r3 - ldr r0, =gSprites - mov r9, r0 - cmp r6, 0x1 - bhi _0819E496 - b _0819E330 -_0819E496: - ldr r0, [r3] - ldrb r0, [r0, 0xE] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - add r1, r9 - adds r1, 0x3E - ldrb r2, [r1] - movs r3, 0x5 - negs r3, r3 - adds r0, r3, 0 - b _0819E4C8 - .pool -_0819E4C8: - ands r0, r2 - strb r0, [r1] - mov r1, r8 - ldr r0, [r1] - ldrb r1, [r0, 0xF] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - add r0, r9 - adds r0, 0x3E - ldrb r2, [r0] - adds r1, r3, 0 - ands r1, r2 - strb r1, [r0] - mov r2, r8 - ldr r0, [r2] - ldrb r1, [r0, 0x8] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - add r0, r9 - adds r0, 0x3E - ldrb r2, [r0] - adds r1, r3, 0 - ands r1, r2 - strb r1, [r0] - mov r4, r8 - ldr r0, [r4] - ldrb r1, [r0, 0x9] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - add r0, r9 - adds r0, 0x3E - ldrb r2, [r0] - adds r1, r3, 0 - ands r1, r2 - strb r1, [r0] - ldr r0, [r4] - ldrb r1, [r0, 0xA] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - add r0, r9 - adds r0, 0x3E - ldrb r1, [r0] - ands r3, r1 - strb r3, [r0] - add sp, 0x1C - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_819E0C0 - thumb_func_start sub_819E538 sub_819E538: @ 819E538 push {r4-r7,lr} @@ -3095,8 +774,8 @@ sub_819EAF8: @ 819EAF8 bx r0 thumb_func_end sub_819EAF8 - thumb_func_start sub_819EB18 -sub_819EB18: @ 819EB18 + thumb_func_start Swap_PrintPkmnSwap +Swap_PrintPkmnSwap: @ 819EB18 push {lr} sub sp, 0xC movs r0, 0 @@ -3118,7 +797,7 @@ sub_819EB18: @ 819EB18 pop {r0} bx r0 .pool - thumb_func_end sub_819EB18 + thumb_func_end Swap_PrintPkmnSwap thumb_func_start Swap_PrintMonSpecies Swap_PrintMonSpecies: @ 819EB4C @@ -3192,8 +871,8 @@ _0819EBD4: .pool thumb_func_end Swap_PrintMonSpecies - thumb_func_start Swap_PrintOnYesNoQuestionWindow -Swap_PrintOnYesNoQuestionWindow: @ 819EBEC + thumb_func_start Swap_PrintOnInfoWindow +Swap_PrintOnInfoWindow: @ 819EBEC push {r4,lr} sub sp, 0xC adds r4, r0, 0 @@ -3217,7 +896,7 @@ Swap_PrintOnYesNoQuestionWindow: @ 819EBEC pop {r4} pop {r0} bx r0 - thumb_func_end Swap_PrintOnYesNoQuestionWindow + thumb_func_end Swap_PrintOnInfoWindow thumb_func_start sub_819EC20 sub_819EC20: @ 819EC20 @@ -3340,8 +1019,8 @@ sub_819ECF0: @ 819ECF0 .pool thumb_func_end sub_819ECF0 - thumb_func_start sub_819ED34 -sub_819ED34: @ 819ED34 + thumb_func_start Swap_PrintActionStrings +Swap_PrintActionStrings: @ 819ED34 push {lr} movs r0, 0x5 movs r1, 0 @@ -3369,10 +1048,10 @@ _0819ED60: pop {r0} bx r0 .pool - thumb_func_end sub_819ED34 + thumb_func_end Swap_PrintActionStrings - thumb_func_start sub_819ED78 -sub_819ED78: @ 819ED78 + thumb_func_start Swap_PrintActionStrings2 +Swap_PrintActionStrings2: @ 819ED78 push {lr} movs r0, 0x3 movs r1, 0 @@ -3400,10 +1079,10 @@ _0819EDA4: pop {r0} bx r0 .pool - thumb_func_end sub_819ED78 + thumb_func_end Swap_PrintActionStrings2 - thumb_func_start sub_819EDBC -sub_819EDBC: @ 819EDBC + thumb_func_start Swap_PrintActionStrings3 +Swap_PrintActionStrings3: @ 819EDBC push {lr} lsls r0, 24 lsrs r0, 24 @@ -3436,10 +1115,10 @@ _0819EDF6: pop {r0} bx r0 .pool - thumb_func_end sub_819EDBC + thumb_func_end Swap_PrintActionStrings3 - thumb_func_start sub_819EE08 -sub_819EE08: @ 819EE08 + thumb_func_start Swap_PrintMonSpecies2 +Swap_PrintMonSpecies2: @ 819EE08 push {r4,lr} sub sp, 0x18 ldr r0, =gUnknown_08610918 @@ -3537,10 +1216,10 @@ _0819EED8: pop {r0} bx r0 .pool - thumb_func_end sub_819EE08 + thumb_func_end Swap_PrintMonSpecies2 - thumb_func_start sub_819EEF0 -sub_819EEF0: @ 819EEF0 + thumb_func_start Swap_PrintMonSpecies3 +Swap_PrintMonSpecies3: @ 819EEF0 push {r4,lr} sub sp, 0xC ldr r0, =gUnknown_08610918 @@ -3614,7 +1293,7 @@ _0819EF90: pop {r0} bx r0 .pool - thumb_func_end sub_819EEF0 + thumb_func_end Swap_PrintMonSpecies3 thumb_func_start Swap_PrintMonCategory Swap_PrintMonCategory: @ 819EFA8 @@ -4016,8 +1695,8 @@ sub_819F2B4: @ 819F2B4 .pool thumb_func_end sub_819F2B4 - thumb_func_start sub_819F304 -sub_819F304: @ 819F304 + thumb_func_start Swap_ShowSummaryMonSprite +Swap_ShowSummaryMonSprite: @ 819F304 push {r4-r6,lr} mov r6, r10 mov r5, r9 @@ -4125,7 +1804,7 @@ sub_819F304: @ 819F304 pop {r0} bx r0 .pool - thumb_func_end sub_819F304 + thumb_func_end Swap_ShowSummaryMonSprite thumb_func_start sub_819F3F8 sub_819F3F8: @ 819F3F8 @@ -4232,7 +1911,7 @@ _0819F4C8: .4byte _0819F568 _0819F4DC: ldr r0, =gText_SamePkmnInPartyAlready - bl Swap_PrintOnYesNoQuestionWindow + bl Swap_PrintOnInfoWindow ldr r0, =sFactorySwapScreen ldr r0, [r0] adds r0, 0x20 @@ -4277,7 +1956,7 @@ _0819F52C: b _0819F54E _0819F548: ldr r0, =gText_SelectPkmnToAccept - bl Swap_PrintOnYesNoQuestionWindow + bl Swap_PrintOnInfoWindow _0819F54E: ldr r0, =gTasks adds r1, r5, r4 @@ -4289,7 +1968,7 @@ _0819F54E: b _0819F58A .pool _0819F568: - bl sub_819EEF0 + bl Swap_PrintMonSpecies3 bl sub_819EADC ldr r0, =sFactorySwapScreen ldr r0, [r0] diff --git a/src/battle_factory.c b/src/battle_factory.c index 1609658f39..6324f4040c 100644 --- a/src/battle_factory.c +++ b/src/battle_factory.c @@ -34,8 +34,22 @@ #define MENU_OPTIONS_COUNT 3 #define SELECTABLE_MONS_COUNT 6 + #define TAG_PAL_BALL_GREY 0x64 #define TAG_PAL_BALL_SELECTED 0x65 +#define TAG_PAL_66 0x66 +#define TAG_PAL_67 0x67 + +#define TAG_TILE_64 0x64 +#define TAG_TILE_65 0x65 +#define TAG_TILE_66 0x66 +#define TAG_TILE_67 0x67 +#define TAG_TILE_68 0x68 +#define TAG_TILE_69 0x69 +#define TAG_TILE_6A 0x6A +#define TAG_TILE_6B 0x6B +#define TAG_TILE_6C 0x6C +#define TAG_TILE_6D 0x6D struct FactorySelecteableMon { @@ -74,29 +88,21 @@ struct FactorySelectMonsStruct u8 unk2A9; }; +// 'Action' refers to the Cancel, Pknm for swap windows. + struct FactorySwapMonsStruct { - u8 unk0; - u8 unk1; - u8 unk2; - u8 unk3; - u8 unk4; - u8 unk5; - u8 unk6; - u8 unk7; - u8 unk8; - u8 unk9; - u8 unkA; - u8 unkB; - u8 unkC; - u8 unkD; - u8 unkE; - u8 unkF; - u8 unk10; - u8 unk11; + u8 menuCursorPos; + u8 menuCursor1SpriteId; + u8 menuCursor2SpriteId; + u8 cursorPos; + u8 cursorSpriteId; + u8 ballSpriteIds[3]; + u8 unk8[2][3]; + u8 unkE[2][2]; u8 unk12; u8 unk13; - u8 unk14; + u8 actionsState; bool8 fromSummaryScreen; u8 yesNoCursorPos; u8 unk17; @@ -109,7 +115,7 @@ struct FactorySwapMonsStruct u8 unk1E; u8 unk1F; u8 unk20; - u8 unk21; + u8 palBlendTaskId; u8 unk22; u8 unk23; u16 unk24; @@ -169,9 +175,7 @@ u8 sub_81A6F70(u8 battleMode, u8 lvlMode); u8 sub_81A6CA8(u8 arg0, u8 arg1); static bool32 Select_AreSpeciesValid(u16 monSetId); void sub_819E538(void); -void sub_819DC1C(void); void sub_819E9E0(void); -void sub_819EE08(void); void sub_819EAC0(void); void Swap_UpdateYesNoCursorPosition(s8 direction); void Swap_UpdateMenuCursorPosition(s8 direction); @@ -179,14 +183,26 @@ void sub_819EA64(u8 windowId); void sub_819D770(u8 taskId); void Task_HandleSwapScreenChooseMons(u8 taskId); void sub_819D588(u8 taskId); -void Swap_PrintOnYesNoQuestionWindow(const u8 *str); +void Swap_PrintOnInfoWindow(const u8 *str); void Swap_ShowMenuOptions(void); void Swap_PrintMonSpecies(void); +void Swap_PrintMonSpecies2(void); +void Swap_PrintMonSpecies3(void); void Swap_PrintMonCategory(void); +void Swap_InitAllSprites(void); +void Swap_PrintPkmnSwap(void); +void sub_819EADC(void); +void sub_819EAF8(void); +void CB2_InitSwapScreen(void); +void Swap_ShowSummaryMonSprite(void); void Swap_UpdateActionCursorPosition(s8 direction); void Swap_UpdateBallCursorPosition(s8 direction); void Swap_RunMenuOptionFunc(u8 taskId); void sub_819F184(u8 taskId); +void Swap_PrintActionStrings(void); +void Swap_PrintActionStrings2(void); +void Swap_PrintActionStrings3(u8 field); +void sub_819F048(u8 field); // Ewram variables EWRAM_DATA u8 *gUnknown_0203CE2C = NULL; @@ -224,25 +240,25 @@ const u16 gUnknown_0861039C[] = INCBIN_U16("graphics/unknown/unknown_61039C.gbap const struct SpriteSheet gUnknown_086103BC[] = { - {gUnknown_0860F3BC, sizeof(gUnknown_0860F3BC), 0x65}, - {gUnknown_0860F43C, sizeof(gUnknown_0860F43C), 0x66}, - {gUnknown_0860F53C, sizeof(gUnknown_0860F53C), 0x67}, - {gUnknown_0860FA3C, sizeof(gUnknown_0860FA3C), 0x6D}, + {gUnknown_0860F3BC, sizeof(gUnknown_0860F3BC), TAG_TILE_65}, + {gUnknown_0860F43C, sizeof(gUnknown_0860F43C), TAG_TILE_66}, + {gUnknown_0860F53C, sizeof(gUnknown_0860F53C), TAG_TILE_67}, + {gUnknown_0860FA3C, sizeof(gUnknown_0860FA3C), TAG_TILE_6D}, {}, }; const struct CompressedSpriteSheet gUnknown_086103E4[] = { - {gUnknown_085B18AC, 0x800, 0x64}, + {gUnknown_085B18AC, 0x800, TAG_TILE_64}, {}, }; const struct SpritePalette gUnknown_086103F4[] = { - {gUnknown_0860F13C, 0x64}, - {gUnknown_0860F15C, 0x65}, - {gUnknown_0860F17C, 0x66}, - {gUnknown_0861039C, 0x67}, + {gUnknown_0860F13C, TAG_PAL_BALL_GREY}, + {gUnknown_0860F15C, TAG_PAL_BALL_SELECTED}, + {gUnknown_0860F17C, TAG_PAL_66}, + {gUnknown_0861039C, TAG_PAL_67}, {}, }; @@ -254,8 +270,11 @@ u8 (* const sSelect_MenuOptionFuncs[])(void) = }; extern const struct BgTemplate gUnknown_08610428[3]; +extern const struct BgTemplate gUnknown_086108B8[4]; extern const struct WindowTemplate gUnknown_08610434[]; +extern const struct WindowTemplate gUnknown_086108C8[]; extern const u16 gUnknown_0861046C[]; +extern const u16 gUnknown_08610918[]; extern const struct SpriteTemplate gUnknown_086105D8; extern const struct SpriteTemplate gUnknown_086105F0; extern const struct SpriteTemplate gUnknown_08610608; @@ -263,6 +282,9 @@ extern const struct SpriteTemplate gUnknown_08610620; extern const struct SpriteTemplate gUnknown_08610638; extern const u8 gUnknown_08610479[]; extern const u8 gUnknown_08610476[]; +extern const struct SpritePalette gUnknown_086106B0[]; +extern const struct SpriteSheet gUnknown_08610650[]; +extern const struct CompressedSpriteSheet gUnknown_086106A0[]; // gfx extern const u8 gFrontierFactorySelectMenu_Gfx[]; @@ -284,6 +306,8 @@ extern const u8 gText_Yes2[]; extern const u8 gText_No2[]; extern const u8 gText_QuitSwapping[]; extern const u8 gText_AcceptThisPkmn[]; +extern const u8 gText_SelectPkmnToAccept[]; +extern const u8 gText_SelectPkmnToSwap[]; // code void sub_819A44C(struct Sprite *sprite) @@ -1486,7 +1510,9 @@ static void Task_SelectBlendPalette(u8 taskId) } } -void sub_819C7E0(void) +// Swap Screen's section begins here. + +void Swap_CB2(void) { AnimateSprites(); BuildOamBuffer(); @@ -1495,7 +1521,7 @@ void sub_819C7E0(void) RunTasks(); } -void sub_819C7FC(void) +void Swap_VblankCb(void) { LoadOam(); ProcessSpriteCopyRequests(); @@ -1526,7 +1552,7 @@ void sub_819C90C(u8 taskId) // Task_FromSelectScreenToSummaryScreen case 7: if (!gPaletteFade.active) { - DestroyTask(sFactorySwapScreen->unk21); + DestroyTask(sFactorySwapScreen->palBlendTaskId); sub_819F444(sFactorySwapScreen->unk2C, &sFactorySwapScreen->unk30); sub_819E538(); FREE_AND_SET_NULL(gUnknown_0203CE40); @@ -1541,7 +1567,7 @@ void sub_819C90C(u8 taskId) // Task_FromSelectScreenToSummaryScreen DestroyTask(taskId); sFactorySwapScreen->fromSummaryScreen = TRUE; sFactorySwapScreen->unk24 = gPlttBufferUnfaded[244]; - ShowPokemonSummaryScreen(0, gPlayerParty, sFactorySwapScreen->unk3, 3 - 1, sub_819DC1C); + ShowPokemonSummaryScreen(0, gPlayerParty, sFactorySwapScreen->cursorPos, 3 - 1, CB2_InitSwapScreen); break; } } @@ -1567,7 +1593,7 @@ void sub_819CA08(u8 taskId) // Task_CloseSelectionScreen case 1: if (sFactorySwapScreen->unk20 == 1) { - sFactorySwapScreen->unk13 = sFactorySwapScreen->unk3; + sFactorySwapScreen->unk13 = sFactorySwapScreen->cursorPos; sub_819C810(); } gTasks[taskId].data[0]++; @@ -1579,7 +1605,7 @@ void sub_819CA08(u8 taskId) // Task_CloseSelectionScreen case 3: if (!UpdatePaletteFade()) { - DestroyTask(sFactorySwapScreen->unk21); + DestroyTask(sFactorySwapScreen->palBlendTaskId); sub_819E538(); FREE_AND_SET_NULL(gUnknown_0203CE40); FREE_AND_SET_NULL(gUnknown_0203CE44); @@ -1672,7 +1698,7 @@ void sub_819CC24(u8 taskId) { if (gTasks[taskId].data[0] == 0) { - Swap_PrintOnYesNoQuestionWindow(gText_QuitSwapping); + Swap_PrintOnInfoWindow(gText_QuitSwapping); sFactorySwapScreen->unk20 = 0; gTasks[taskId].data[0] = 4; gTasks[taskId].data[6] = (u32)(sub_819CBDC) >> 16; @@ -1704,7 +1730,7 @@ void sub_819CCD4(u8 taskId) if (gTasks[taskId].data[0] == 0) { sub_819F2B4(&sFactorySwapScreen->unk2C.field1, &sFactorySwapScreen->unk30, 1); - Swap_PrintOnYesNoQuestionWindow(gText_AcceptThisPkmn); + Swap_PrintOnInfoWindow(gText_AcceptThisPkmn); sFactorySwapScreen->unk20 = 1; gTasks[taskId].data[0] = 4; gTasks[taskId].data[6] = (u32)(sub_819CC74) >> 16; @@ -1777,7 +1803,7 @@ void Task_HandleSwapScreenChooseMons(u8 taskId) { PlaySE(SE_SELECT); sFactorySwapScreen->unk22 = 0; - sub_819EE08(); + Swap_PrintMonSpecies2(); sub_819EAC0(); sub_819F184(taskId); } @@ -1785,7 +1811,7 @@ void Task_HandleSwapScreenChooseMons(u8 taskId) { PlaySE(SE_SELECT); sFactorySwapScreen->unk22 = 0; - sub_819EE08(); + Swap_PrintMonSpecies2(); sub_819EAC0(); gTasks[taskId].data[6] = (u32)(sub_819CC24) >> 16; gTasks[taskId].data[7] = (u32)(sub_819CC24); @@ -1821,7 +1847,7 @@ void Task_HandleSwapScreenChooseMons(u8 taskId) } } -void sub_819CF54(u8 taskId) +void Task_SwapBlendPalette(u8 taskId) { switch (gTasks[taskId].data[0]) { @@ -1876,7 +1902,7 @@ void sub_819CF54(u8 taskId) } } -void sub_819D064(u8 taskId) +void Task_SwapBlendPalette2(u8 taskId) { switch (gTasks[taskId].data[0]) { @@ -1906,3 +1932,694 @@ void sub_819D064(u8 taskId) break; } } + +void sub_819D12C(u8 taskId) +{ + s8 i; + u8 var_2C; + bool8 r7; + + switch (gTasks[taskId].data[0]) + { + case 0: + gTasks[taskId].data[1] = 0; + gTasks[taskId].data[2] = 0; + gTasks[taskId].data[3] = 0; + gTasks[taskId].data[0] = 1; + break; + case 1: + var_2C = 0; + for (i = 2; i >= 0; i--) + { + if (i != 2) + { + u8 posX = var_2C - gSprites[sFactorySwapScreen->ballSpriteIds[i]].pos1.x; + if (posX == 16 || gTasks[taskId].data[i + 2] == 1) + { + var_2C = gSprites[sFactorySwapScreen->ballSpriteIds[i]].pos1.x; + gSprites[sFactorySwapScreen->ballSpriteIds[i]].pos1.x += 10; + } + else if (posX > 16) + { + gSprites[sFactorySwapScreen->ballSpriteIds[i]].pos1.x = gSprites[sFactorySwapScreen->ballSpriteIds[i + 1]].pos1.x - 48; + } + } + else + { + var_2C = gSprites[sFactorySwapScreen->ballSpriteIds[i]].pos1.x; + gSprites[sFactorySwapScreen->ballSpriteIds[i]].pos1.x += 10; + } + + if (gTasks[taskId].data[i + 1] == 1) + { + if (gSprites[sFactorySwapScreen->ballSpriteIds[i]].pos1.x > (i * 48) + 72) + { + gSprites[sFactorySwapScreen->ballSpriteIds[i]].pos1.x = (i * 48) + 72; + r7 = TRUE; + } + else if (gSprites[sFactorySwapScreen->ballSpriteIds[i]].pos1.x == (i * 48) + 72) + { + r7 = TRUE; + } + else + { + r7 = FALSE; + } + } + else + { + r7 = FALSE; + } + + if (gSprites[sFactorySwapScreen->ballSpriteIds[i]].pos1.x - 16 > 240) + { + var_2C = gSprites[sFactorySwapScreen->ballSpriteIds[i]].pos1.x; + gSprites[sFactorySwapScreen->ballSpriteIds[i]].pos1.x = -16; + if (sFactorySwapScreen->actionsState == 1) + gSprites[sFactorySwapScreen->ballSpriteIds[i]].oam.paletteNum = IndexOfSpritePaletteTag(TAG_PAL_BALL_SELECTED); + else + gSprites[sFactorySwapScreen->ballSpriteIds[i]].oam.paletteNum = IndexOfSpritePaletteTag(TAG_PAL_BALL_GREY); + + gTasks[taskId].data[i + 1] = 1; + } + } + if (r7 == TRUE) + DestroyTask(taskId); + break; + } +} + +void sub_819D324(u8 taskId) +{ + u8 i, j; + s32 posX = 0; + s8 r4 = gTasks[taskId].data[3]; + bool8 r1; + s16 currPosX; + u8 taskId2; + + if (gTasks[taskId].data[2] == 1) + r4 *= -1; + + switch (gTasks[taskId].data[0]) + { + case 0: + currPosX = gSprites[sFactorySwapScreen->unk8[0][0]].pos1.x; + if (!gTasks[taskId].data[2]) + { + if (currPosX + r4 < 240) + { + r1 = TRUE; + } + else + { + r1 = FALSE; + posX = 240; + } + } + else + { + if (currPosX + r4 > 160) + { + r1 = TRUE; + } + else + { + r1 = FALSE; + posX = 160; + } + } + + if (r1 == TRUE) + { + for (i = 0; i < 3; i++) + { + for (j = 0; j < 2; j++) + gSprites[sFactorySwapScreen->unk8[j][i]].pos1.x += r4; + } + } + else + { + for (j = 0; j < 2; j++) + { + gSprites[sFactorySwapScreen->unk8[j][0]].pos1.x = posX; + gSprites[sFactorySwapScreen->unk8[j][1]].pos1.x = posX + 16; + gSprites[sFactorySwapScreen->unk8[j][2]].pos1.x = posX + 48; + } + taskId2 = gTasks[taskId].data[1]; + gTasks[taskId2].data[3] = 1; + DestroyTask(taskId); + } + break; + case 1: + currPosX = gSprites[sFactorySwapScreen->unkE[0][0]].pos1.x; + if (!gTasks[taskId].data[2]) + { + if (currPosX + r4 < 240) + { + r1 = TRUE; + } + else + { + r1 = FALSE; + posX = 240; + } + } + else + { + if (currPosX + r4 > 192) + { + r1 = TRUE; + } + else + { + r1 = FALSE; + posX = 192; + } + } + + if (r1 == TRUE) + { + for (i = 0; i < 2; i++) + { + for (j = 0; j < 2; j++) + gSprites[sFactorySwapScreen->unkE[j][i]].pos1.x += r4; + } + } + else + { + for (j = 0; j < 2; j++) + { + gSprites[sFactorySwapScreen->unkE[j][0]].pos1.x = posX; + gSprites[sFactorySwapScreen->unkE[j][1]].pos1.x = posX + 16; + } + taskId2 = gTasks[taskId].data[1]; + gTasks[taskId2].data[4] = 1; + DestroyTask(taskId); + } + break; + } +} + +void sub_819D588(u8 taskId) +{ + u8 anotherTaskId; + u16 loPtr, hiPtr; + + switch (gTasks[taskId].data[0]) + { + case 0: + LoadPalette(gUnknown_08610918, 0xE0, 0xA); + Swap_PrintActionStrings(); + PutWindowTilemap(5); + gTasks[taskId].data[0]++; + break; + case 1: + sub_819EA64(3); + gTasks[taskId].data[0]++; + break; + case 2: + BeginNormalPaletteFade(0x4000, 0, 0, 0x10, gUnknown_0860F13C[37]); + gTasks[taskId].data[0]++; + break; + case 3: + if (!gPaletteFade.active) + { + FillWindowPixelBuffer(5, 0); + CopyWindowToVram(5, 2); + if (sFactorySwapScreen->actionsState == 1) + { + anotherTaskId = CreateTask(sub_819D324, 0); + gTasks[taskId].data[3] = 0; + gTasks[anotherTaskId].data[1] = taskId; + gTasks[anotherTaskId].data[0] = 0; + gTasks[anotherTaskId].data[2] = 0; + gTasks[anotherTaskId].data[3] = 6; + gTasks[taskId].data[2] = 5; + gTasks[taskId].data[0]++; + } + else + { + anotherTaskId = CreateTask(sub_819D324, 0); + gTasks[taskId].data[3] = 1; + gTasks[taskId].data[4] = 0; + gTasks[anotherTaskId].data[1] = taskId; + gTasks[anotherTaskId].data[0] = 1; + gTasks[anotherTaskId].data[2] = 0; + gTasks[anotherTaskId].data[3] = 6; + gTasks[taskId].data[0] += 2; + } + } + break; + case 4: + if (gTasks[taskId].data[2] == 0) + { + anotherTaskId = CreateTask(sub_819D324, 0); + gTasks[taskId].data[4] = 0; + gTasks[anotherTaskId].data[1] = taskId; + gTasks[anotherTaskId].data[0] = 1; + gTasks[anotherTaskId].data[2] = 0; + gTasks[anotherTaskId].data[3] = 6; + gTasks[taskId].data[0]++; + } + else + { + gTasks[taskId].data[2]--; + } + break; + case 5: + if (gTasks[taskId].data[3] == 1 && gTasks[taskId].data[4] == 1) + { + gTasks[taskId].data[0] = gTasks[taskId].data[5]; + loPtr = gTasks[taskId].data[6]; + hiPtr = gTasks[taskId].data[7]; + gTasks[taskId].func = (void *)((loPtr << 0x10) | (hiPtr)); + } + break; + } +} + +void sub_819D770(u8 taskId) +{ + u8 anotherTaskId; + u16 loPtr, hiPtr; + if (sFactorySwapScreen->unk30 == 1) + return; + + switch (gTasks[taskId].data[0]) + { + case 0: + if (sFactorySwapScreen->actionsState == 1) + { + anotherTaskId = CreateTask(sub_819D324, 0); + gTasks[taskId].data[3] = 0; + gTasks[anotherTaskId].data[1] = taskId; + gTasks[anotherTaskId].data[0] = 0; + gTasks[anotherTaskId].data[2] = 1; + gTasks[anotherTaskId].data[3] = 6; + gTasks[taskId].data[2] = 10; + gTasks[taskId].data[0]++; + } + else + { + anotherTaskId = CreateTask(sub_819D324, 0); + gTasks[taskId].data[3] = 1; + gTasks[taskId].data[4] = 0; + gTasks[anotherTaskId].data[1] = taskId; + gTasks[anotherTaskId].data[0] = 1; + gTasks[anotherTaskId].data[2] = 1; + gTasks[anotherTaskId].data[3] = 6; + gTasks[taskId].data[0] += 2; + } + break; + case 1: + if (gTasks[taskId].data[2] == 0) + { + anotherTaskId = CreateTask(sub_819D324, 0); + gTasks[taskId].data[4] = 0; + gTasks[anotherTaskId].data[1] = taskId; + gTasks[anotherTaskId].data[0] = 1; + gTasks[anotherTaskId].data[2] = 1; + gTasks[anotherTaskId].data[3] = 6; + gTasks[taskId].data[0]++; + } + else + { + gTasks[taskId].data[2]--; + } + break; + case 2: + if (gTasks[taskId].data[3] == 1 && gTasks[taskId].data[4] == 1) + { + gPlttBufferFaded[226] = gUnknown_0860F13C[37]; + Swap_PrintActionStrings(); + PutWindowTilemap(5); + gTasks[taskId].data[0]++; + } + break; + case 3: + BeginNormalPaletteFade(0x4000, 0, 0x10, 0, gUnknown_0860F13C[37]); + gTasks[taskId].data[0]++; + break; + case 4: + if (!gPaletteFade.active) + { + Swap_PrintActionStrings3(0); + gTasks[taskId].data[0]++; + } + break; + case 5: + Swap_PrintActionStrings3(1); + PutWindowTilemap(3); + gTasks[taskId].data[0]++; + break; + case 6: + FillWindowPixelBuffer(5, 0); + CopyWindowToVram(5, 2); + gTasks[taskId].data[0]++; + break; + case 7: + if (sFactorySwapScreen->actionsState == 0) + Swap_PrintOnInfoWindow(gText_SelectPkmnToSwap); + else + Swap_PrintOnInfoWindow(gText_SelectPkmnToAccept); + if (sFactorySwapScreen->cursorPos < 3) + gSprites[sFactorySwapScreen->cursorSpriteId].invisible = 0; + Swap_PrintMonCategory(); + gTasks[taskId].data[0]++; + break; + case 8: + Swap_PrintMonSpecies3(); + sub_819EADC(); + sFactorySwapScreen->unk22 = 1; + gTasks[taskId].data[0] = gTasks[taskId].data[5]; + loPtr = gTasks[taskId].data[6]; + hiPtr = gTasks[taskId].data[7]; + gTasks[taskId].func = (void *)((loPtr << 0x10) | (hiPtr)); + break; + } +} + +void sub_819D9EC(u8 taskId) +{ + u8 i; + if (sFactorySwapScreen->unk30 == 1) + return; + + switch (gTasks[taskId].data[0]) + { + case 0: + Swap_PrintMonSpecies3(); + gTasks[taskId].data[0]++; + break; + case 1: + sub_819EADC(); + gSprites[sFactorySwapScreen->cursorSpriteId].invisible = 1; + gTasks[taskId].data[0]++; + break; + case 2: + CreateTask(sub_819D12C, 0); + gTasks[sFactorySwapScreen->palBlendTaskId].func = Task_SwapBlendPalette2; + gTasks[taskId].data[0]++; + break; + case 3: + if (!FuncIsActiveTask(sub_819D12C) && gTasks[sFactorySwapScreen->palBlendTaskId].data[4] == 1) + { + sub_819EAC0(); + if (sFactorySwapScreen->actionsState == 0) + { + sub_819F048(1); + } + else + { + sub_819F048(0); + for (i = 0; i < 3; i++) + gSprites[sFactorySwapScreen->unk8[1][i]].invisible = 1; + } + gSprites[sFactorySwapScreen->cursorSpriteId].pos1.x = gSprites[sFactorySwapScreen->ballSpriteIds[sFactorySwapScreen->cursorPos]].pos1.x; + gTasks[sFactorySwapScreen->palBlendTaskId].func = Task_SwapBlendPalette; + sFactorySwapScreen->unk27 = 0; + sFactorySwapScreen->unk28 = 6; + sFactorySwapScreen->unk26 = FALSE; + gTasks[sFactorySwapScreen->palBlendTaskId].data[0] = 1; + gTasks[taskId].data[0]++; + } + break; + case 4: + gTasks[taskId].data[0] = 0; + gTasks[taskId].data[6] = (u32)(Task_HandleSwapScreenChooseMons) >> 0x10; + gTasks[taskId].data[7] = (u32)(Task_HandleSwapScreenChooseMons); + gTasks[taskId].data[5] = 1; + gTasks[taskId].func = sub_819D770; + break; + } +} + +void Swap_InitStruct(void) +{ + if (sFactorySwapScreen == NULL) + { + sFactorySwapScreen = AllocZeroed(sizeof(*sFactorySwapScreen)); + sFactorySwapScreen->cursorPos = 0; + sFactorySwapScreen->unk30 = 0; + sFactorySwapScreen->fromSummaryScreen = FALSE; + } +} + +void sub_819DC00(void) +{ + sFactorySwapScreen = NULL; + SetMainCallback2(CB2_InitSwapScreen); +} + +void CB2_InitSwapScreen(void) +{ + u8 taskId; + + switch (gMain.state) + { + case 0: + SetHBlankCallback(NULL); + SetVBlankCallback(NULL); + CpuFill32(0, (void *)VRAM, VRAM_SIZE); + ResetBgsAndClearDma3BusyFlags(0); + InitBgsFromTemplates(0, gUnknown_086108B8, ARRAY_COUNT(gUnknown_086108B8)); + InitWindows(gUnknown_086108C8); + DeactivateAllTextPrinters(); + gMain.state++; + break; + case 1: + gUnknown_0203CE40 = Alloc(0x440); + gUnknown_0203CE44 = AllocZeroed(0x440); + gUnknown_0203CE48 = Alloc(0x800); + gUnknown_0203CE4C = AllocZeroed(0x800); + ChangeBgX(0, 0, 0); + ChangeBgY(0, 0, 0); + ChangeBgX(1, 0, 0); + ChangeBgY(1, 0, 0); + ChangeBgX(2, 0, 0); + ChangeBgY(2, 0, 0); + ChangeBgX(3, 0, 0); + ChangeBgY(3, 0, 0); + SetGpuReg(REG_OFFSET_BLDY, 0); + SetGpuReg(REG_OFFSET_MOSAIC, 0); + SetGpuReg(REG_OFFSET_WIN0H, 0); + SetGpuReg(REG_OFFSET_WIN0V, 0); + SetGpuReg(REG_OFFSET_WIN1H, 0); + SetGpuReg(REG_OFFSET_WIN1V, 0); + SetGpuReg(REG_OFFSET_WININ, 0); + SetGpuReg(REG_OFFSET_WINOUT, 0); + gMain.state++; + break; + case 2: + ResetPaletteFade(); + ResetSpriteData(); + ResetTasks(); + FreeAllSpritePalettes(); + ResetAllPicSprites(); + CpuCopy16(gFrontierFactorySelectMenu_Gfx, gUnknown_0203CE40, 0x440); + CpuCopy16(gUnknown_0861033C, gUnknown_0203CE44, 0x60); + LoadBgTiles(1, gUnknown_0203CE40, 0x440, 0); + LoadBgTiles(3, gUnknown_0203CE44, 0x60, 0); + CpuCopy16(gFrontierFactorySelectMenu_Tilemap, gUnknown_0203CE48, 0x800); + LoadBgTilemap(1, gUnknown_0203CE48, 0x800, 0); + LoadPalette(gFrontierFactorySelectMenu_Pal, 0, 0x40); + LoadPalette(gUnknown_08610918, 0xF0, 10); + LoadPalette(gUnknown_08610918, 0xE0, 10); + LoadPalette(gUnknown_0861039C, 0x20, 4); + gMain.state++; + break; + case 3: + SetBgTilemapBuffer(3, gUnknown_0203CE4C); + CopyToBgTilemapBufferRect(3, gUnknown_0861023C, 11, 4, 8, 8); + CopyBgTilemapBufferToVram(3); + gMain.state++; + break; + case 4: + LoadSpritePalettes(gUnknown_086106B0); + LoadSpriteSheets(gUnknown_08610650); + LoadCompressedObjectPic(gUnknown_086106A0); + SetVBlankCallback(Swap_VblankCb); + gMain.state++; + break; + case 5: + if (sFactorySwapScreen->fromSummaryScreen == TRUE) + sFactorySwapScreen->cursorPos = gUnknown_0203CF20; + gMain.state++; + break; + case 6: + Swap_InitStruct(); + Swap_InitAllSprites(); + if (sFactorySwapScreen->fromSummaryScreen == TRUE) + Swap_ShowSummaryMonSprite(); + sub_819F048(0); + gMain.state++; + break; + case 7: + Swap_PrintOnInfoWindow(gText_SelectPkmnToSwap); + PutWindowTilemap(2); + gMain.state++; + break; + case 8: + Swap_PrintMonCategory(); + PutWindowTilemap(8); + gMain.state++; + break; + case 9: + if (!sFactorySwapScreen->fromSummaryScreen) + Swap_PrintMonSpecies(); + PutWindowTilemap(1); + gMain.state++; + break; + case 10: + Swap_PrintPkmnSwap(); + PutWindowTilemap(0); + gMain.state++; + break; + case 11: + gMain.state++; + break; + case 12: + if (sFactorySwapScreen->fromSummaryScreen) + Swap_PrintMonSpecies2(); + gMain.state++; + break; + case 13: + Swap_PrintActionStrings2(); + PutWindowTilemap(3); + gMain.state++; + break; + case 14: + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0); + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_ON | DISPCNT_OBJ_1D_MAP); + ShowBg(0); + ShowBg(1); + ShowBg(2); + if (sFactorySwapScreen->fromSummaryScreen == TRUE) + { + ShowBg(3); + SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG3 | BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_BG1 | BLDCNT_TGT2_OBJ); + SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(11, 4)); + } + else + { + HideBg(3); + } + gMain.state++; + break; + case 15: + sFactorySwapScreen->palBlendTaskId = CreateTask(Task_SwapBlendPalette, 0); + if (!sFactorySwapScreen->fromSummaryScreen) + { + gTasks[sFactorySwapScreen->palBlendTaskId].data[0] = 0; + taskId = CreateTask(Task_HandleSwapScreenChooseMons, 0); + gTasks[taskId].data[0] = 0; + } + else + { + sub_819EAF8(); + gTasks[sFactorySwapScreen->palBlendTaskId].data[0] = 1; + sFactorySwapScreen->unk22 = FALSE; + taskId = CreateTask(Task_HandleSwapScreenMenu, 0); + gTasks[taskId].data[0] = 2; + } + SetMainCallback2(Swap_CB2); + break; + } +} + +extern const struct SpriteTemplate gUnknown_08610834; +extern const struct SpriteTemplate gUnknown_0861084C; +extern const struct SpriteTemplate gUnknown_08610864; +extern const struct SpriteTemplate gUnknown_0861087C; + +void Swap_InitAllSprites(void) +{ + u8 i; + u8 x; + struct SpriteTemplate spriteTemplate; + + spriteTemplate = gUnknown_08610834; + spriteTemplate.paletteTag = TAG_PAL_BALL_SELECTED; + + for (i = 0; i < 3; i++) + { + sFactorySwapScreen->ballSpriteIds[i] = CreateSprite(&spriteTemplate, (48 * i) + 72, 64, 1); + gSprites[sFactorySwapScreen->ballSpriteIds[i]].data[0] = 0; + } + sFactorySwapScreen->cursorSpriteId = CreateSprite(&gUnknown_0861084C, gSprites[sFactorySwapScreen->ballSpriteIds[sFactorySwapScreen->cursorPos]].pos1.x, 88, 0); + sFactorySwapScreen->menuCursor1SpriteId = CreateSprite(&gUnknown_08610864, 176, 112, 0); + sFactorySwapScreen->menuCursor2SpriteId = CreateSprite(&gUnknown_0861087C, 176, 144, 0); + gSprites[sFactorySwapScreen->menuCursor1SpriteId].invisible = 1; + gSprites[sFactorySwapScreen->menuCursor2SpriteId].invisible = 1; + gSprites[sFactorySwapScreen->menuCursor1SpriteId].centerToCornerVecX = 0; + gSprites[sFactorySwapScreen->menuCursor1SpriteId].centerToCornerVecY = 0; + gSprites[sFactorySwapScreen->menuCursor2SpriteId].centerToCornerVecX = 0; + gSprites[sFactorySwapScreen->menuCursor2SpriteId].centerToCornerVecY = 0; + + if (sFactorySwapScreen->fromSummaryScreen == TRUE) + x = 240; + else + x = 192; + + spriteTemplate = gUnknown_0861084C; + spriteTemplate.tileTag = TAG_TILE_68; + sFactorySwapScreen->unk8[0][0] = CreateSprite(&spriteTemplate, 240, 120, 10); + + spriteTemplate = gUnknown_08610864; + spriteTemplate.tileTag = TAG_TILE_69; + sFactorySwapScreen->unk8[0][1] = CreateSprite(&spriteTemplate, 256, 120, 10); + sFactorySwapScreen->unk8[0][2] = CreateSprite(&spriteTemplate, 288, 120, 10); + + spriteTemplate = gUnknown_0861084C; + spriteTemplate.tileTag = TAG_TILE_6A; + sFactorySwapScreen->unk8[1][0] = CreateSprite(&spriteTemplate, 240, 120, 1); + + spriteTemplate = gUnknown_08610864; + spriteTemplate.tileTag = TAG_TILE_6B; + sFactorySwapScreen->unk8[1][1] = CreateSprite(&spriteTemplate, 256, 120, 1); + spriteTemplate.tileTag = TAG_TILE_6C; + sFactorySwapScreen->unk8[1][2] = CreateSprite(&spriteTemplate, 288, 120, 1); + + spriteTemplate = gUnknown_0861084C; + spriteTemplate.tileTag = TAG_TILE_68; + sFactorySwapScreen->unkE[0][0] = CreateSprite(&spriteTemplate, x, 144, 10); + + spriteTemplate = gUnknown_08610864; + spriteTemplate.tileTag = TAG_TILE_69; + sFactorySwapScreen->unkE[0][1] = CreateSprite(&spriteTemplate, x + 16, 144, 10); + + spriteTemplate = gUnknown_0861084C; + spriteTemplate.tileTag = TAG_TILE_6A; + sFactorySwapScreen->unkE[1][0] = CreateSprite(&spriteTemplate, x, 144, 1); + + spriteTemplate = gUnknown_08610864; + spriteTemplate.tileTag = TAG_TILE_6C; + sFactorySwapScreen->unkE[1][1] = CreateSprite(&spriteTemplate, x + 16, 144, 1); + + for (i = 0; i < 2; i++) + { + gSprites[sFactorySwapScreen->unk8[i][0]].centerToCornerVecX = 0; + gSprites[sFactorySwapScreen->unk8[i][0]].centerToCornerVecY = 0; + gSprites[sFactorySwapScreen->unk8[i][1]].centerToCornerVecX = 0; + gSprites[sFactorySwapScreen->unk8[i][1]].centerToCornerVecY = 0; + gSprites[sFactorySwapScreen->unk8[i][2]].centerToCornerVecX = 0; + gSprites[sFactorySwapScreen->unk8[i][2]].centerToCornerVecY = 0; + gSprites[sFactorySwapScreen->unkE[i][0]].centerToCornerVecX = 0; + gSprites[sFactorySwapScreen->unkE[i][0]].centerToCornerVecY = 0; + gSprites[sFactorySwapScreen->unkE[i][1]].centerToCornerVecX = 0; + gSprites[sFactorySwapScreen->unkE[i][1]].centerToCornerVecY = 0; + + gSprites[sFactorySwapScreen->unk8[i][0]].invisible = 1; + gSprites[sFactorySwapScreen->unk8[i][1]].invisible = 1; + gSprites[sFactorySwapScreen->unk8[i][2]].invisible = 1; + gSprites[sFactorySwapScreen->unkE[i][0]].invisible = 1; + gSprites[sFactorySwapScreen->unkE[i][1]].invisible = 1; + } + + gSprites[sFactorySwapScreen->unkE[0][0]].invisible = 0; + gSprites[sFactorySwapScreen->unkE[0][1]].invisible = 0; + gSprites[sFactorySwapScreen->unk8[0][0]].invisible = 0; + gSprites[sFactorySwapScreen->unk8[0][1]].invisible = 0; + gSprites[sFactorySwapScreen->unk8[0][2]].invisible = 0; +} From 2f59df03ab8dbd5d9edb28b5680cc668aafc6684 Mon Sep 17 00:00:00 2001 From: DizzyEggg <jajkodizzy@wp.pl> Date: Sat, 8 Sep 2018 23:38:30 +0200 Subject: [PATCH 188/234] Standartize AddTextPrinterParametrized functions, --- asm/battle_frontier_2.s | 1012 ++-------------------------------- asm/cable_club.s | 2 +- asm/contest_painting.s | 2 +- asm/easy_chat.s | 2 +- asm/field_player_avatar.s | 10 +- asm/party_menu.s | 10 +- asm/pokemon_storage_system.s | 20 +- asm/pokenav.s | 80 +-- asm/rom_8011DC0.s | 106 ++-- asm/roulette.s | 26 +- asm/script_menu.s | 34 +- asm/shop.s | 4 +- asm/trade.s | 6 +- asm/trainer_card.s | 6 +- asm/use_pokeblock.s | 8 +- include/menu.h | 6 +- include/text.h | 2 +- src/battle_factory.c | 315 ++++++++++- src/battle_interface.c | 2 +- src/battle_pyramid_bag.c | 8 +- src/battle_records.c | 22 +- src/berry_blender.c | 8 +- src/berry_tag_screen.c | 18 +- src/clear_save_data_screen.c | 4 +- src/coins.c | 2 +- src/credits.c | 2 +- src/decoration.c | 10 +- src/diploma.c | 4 +- src/egg_hatch.c | 2 +- src/field_region_map.c | 4 +- src/field_specials.c | 28 +- src/hall_of_fame.c | 6 +- src/item_menu.c | 6 +- src/learn_move.c | 4 +- src/list_menu.c | 4 +- src/main_menu.c | 2 +- src/map_name_popup.c | 2 +- src/mauville_old_man.c | 6 +- src/menu.c | 32 +- src/menu_helpers.c | 2 +- src/money.c | 2 +- src/mystery_event_menu.c | 2 +- src/naming_screen.c | 8 +- src/option_menu.c | 6 +- src/player_pc.c | 16 +- src/pokeblock.c | 2 +- src/pokeblock_feed.c | 2 +- src/pokedex.c | 8 +- src/pokemon_storage_system.c | 14 +- src/pokemon_summary_screen.c | 2 +- src/record_mixing.c | 2 +- src/region_map.c | 8 +- src/reset_rtc_screen.c | 10 +- src/save_failed_screen.c | 2 +- src/scrcmd.c | 4 +- src/slot_machine.c | 8 +- src/start_menu.c | 24 +- src/starter_choose.c | 4 +- src/text.c | 4 +- src/trader.c | 6 +- src/wallclock.c | 6 +- sym_ewram.txt | 12 - 62 files changed, 675 insertions(+), 1306 deletions(-) diff --git a/asm/battle_frontier_2.s b/asm/battle_frontier_2.s index ffbd7c58d6..45da56996d 100644 --- a/asm/battle_frontier_2.s +++ b/asm/battle_frontier_2.s @@ -6,900 +6,8 @@ .text - thumb_func_start sub_819E538 -sub_819E538: @ 819E538 - push {r4-r7,lr} - movs r5, 0 -_0819E53C: - ldr r6, =sFactorySwapScreen - ldr r0, [r6] - adds r0, 0x5 - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r4, =gSprites - adds r0, r4 - bl DestroySprite - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x2 - bls _0819E53C - ldr r0, [r6] - ldrb r1, [r0, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - bl DestroySprite - ldr r0, [r6] - ldrb r1, [r0, 0x1] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - bl DestroySprite - ldr r0, [r6] - ldrb r1, [r0, 0x2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - bl DestroySprite - movs r5, 0 -_0819E590: - movs r4, 0 - lsls r6, r5, 1 -_0819E594: - ldr r0, =sFactorySwapScreen - ldr r0, [r0] - adds r1, r6, r5 - adds r1, r4, r1 - adds r0, 0x8 - adds r0, r1 - 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, 0x2 - bls _0819E594 - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x1 - bls _0819E590 - movs r5, 0 -_0819E5C6: - movs r4, 0 - adds r7, r5, 0x1 - lsls r6, r5, 1 -_0819E5CC: - ldr r0, =sFactorySwapScreen - ldr r0, [r0] - adds r1, r4, r6 - adds r0, 0xE - adds r0, r1 - 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, 0x1 - bls _0819E5CC - lsls r0, r7, 24 - lsrs r5, r0, 24 - cmp r5, 0x1 - bls _0819E5C6 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_819E538 - - thumb_func_start sub_819E608 -sub_819E608: @ 819E608 - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x2 - bhi _0819E65C - ldr r4, =gSprites - ldr r5, =sFactorySwapScreen - ldr r0, [r5] - ldrb r1, [r0, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r0, 0x3E - ldrb r2, [r0] - movs r1, 0x5 - negs r1, r1 - ands r1, r2 - strb r1, [r0] - bl sub_819E8EC - ldr r0, [r5] - ldrb r2, [r0, 0x4] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r4 - adds r0, 0x5 - adds r0, r6 - ldrb r2, [r0] - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r0, r4 - ldrh r0, [r0, 0x20] - strh r0, [r1, 0x20] - b _0819E684 - .pool -_0819E65C: - ldr r2, =gSprites - ldr r3, =sFactorySwapScreen - ldr r0, [r3] - ldrb r1, [r0, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - ldr r0, [r3] - ldr r1, [r0, 0x18] - lsls r0, r6, 3 - adds r0, r1 - ldrb r0, [r0] - bl sub_819E838 -_0819E684: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_819E608 - - thumb_func_start Swap_UpdateBallCursorPosition -Swap_UpdateBallCursorPosition: @ 819E694 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x5 - bl PlaySE - lsls r4, 24 - cmp r4, 0 - ble _0819E6C0 - ldr r1, =sFactorySwapScreen - ldr r2, [r1] - ldrb r0, [r2, 0x3] - adds r0, 0x1 - ldrb r3, [r2, 0x17] - cmp r0, r3 - bne _0819E6D8 - movs r0, 0 - b _0819E6D8 - .pool -_0819E6C0: - ldr r0, =sFactorySwapScreen - ldr r2, [r0] - ldrb r3, [r2, 0x3] - adds r1, r0, 0 - cmp r3, 0 - beq _0819E6D4 - subs r0, r3, 0x1 - b _0819E6D8 - .pool -_0819E6D4: - ldrb r0, [r2, 0x17] - subs r0, 0x1 -_0819E6D8: - strb r0, [r2, 0x3] - ldr r0, [r1] - ldrb r0, [r0, 0x3] - bl sub_819E608 - pop {r4} - pop {r0} - bx r0 - thumb_func_end Swap_UpdateBallCursorPosition - - thumb_func_start Swap_UpdateActionCursorPosition -Swap_UpdateActionCursorPosition: @ 819E6E8 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x5 - bl PlaySE - lsls r4, 24 - cmp r4, 0 - ble _0819E728 - ldr r0, =sFactorySwapScreen - ldr r2, [r0] - ldrb r1, [r2, 0x3] - adds r4, r0, 0 - cmp r1, 0x2 - bhi _0819E714 - movs r0, 0x3 - strb r0, [r2, 0x3] - b _0819E74A - .pool -_0819E714: - ldrb r0, [r2, 0x3] - adds r0, 0x1 - ldrb r1, [r2, 0x17] - cmp r0, r1 - beq _0819E722 - strb r0, [r2, 0x3] - b _0819E74A -_0819E722: - movs r0, 0 - strb r0, [r2, 0x3] - b _0819E74A -_0819E728: - ldr r0, =sFactorySwapScreen - ldr r1, [r0] - ldrb r3, [r1, 0x3] - adds r2, r3, 0 - adds r4, r0, 0 - cmp r2, 0x2 - bls _0819E744 - cmp r2, 0 - beq _0819E744 - subs r0, r3, 0x1 - b _0819E748 - .pool -_0819E744: - ldrb r0, [r1, 0x17] - subs r0, 0x1 -_0819E748: - strb r0, [r1, 0x3] -_0819E74A: - ldr r0, [r4] - ldrb r0, [r0, 0x3] - bl sub_819E608 - pop {r4} - pop {r0} - bx r0 - thumb_func_end Swap_UpdateActionCursorPosition - - thumb_func_start Swap_UpdateYesNoCursorPosition -Swap_UpdateYesNoCursorPosition: @ 819E758 - push {lr} - lsls r0, 24 - cmp r0, 0 - ble _0819E778 - ldr r0, =sFactorySwapScreen - ldr r1, [r0] - ldrb r3, [r1, 0x16] - adds r2, r0, 0 - cmp r3, 0x1 - beq _0819E774 - adds r0, r3, 0x1 - b _0819E78E - .pool -_0819E774: - movs r0, 0 - b _0819E78E -_0819E778: - ldr r0, =sFactorySwapScreen - ldr r1, [r0] - ldrb r3, [r1, 0x16] - adds r2, r0, 0 - cmp r3, 0 - beq _0819E78C - subs r0, r3, 0x1 - b _0819E78E - .pool -_0819E78C: - movs r0, 0x1 -_0819E78E: - strb r0, [r1, 0x16] - ldr r3, =gSprites - ldr r2, [r2] - ldrb r0, [r2, 0x1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r3 - ldrb r0, [r2, 0x16] - lsls r0, 4 - adds r0, 0x70 - strh r0, [r1, 0x22] - ldrb r0, [r2, 0x2] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r3 - ldrb r0, [r2, 0x16] - lsls r0, 4 - adds r0, 0x70 - strh r0, [r1, 0x22] - pop {r0} - bx r0 - .pool - thumb_func_end Swap_UpdateYesNoCursorPosition - - thumb_func_start Swap_UpdateMenuCursorPosition -Swap_UpdateMenuCursorPosition: @ 819E7C0 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x5 - bl PlaySE - lsls r4, 24 - cmp r4, 0 - ble _0819E7EC - ldr r0, =sFactorySwapScreen - ldr r1, [r0] - ldrb r3, [r1] - adds r2, r0, 0 - cmp r3, 0x2 - beq _0819E7E8 - adds r0, r3, 0x1 - b _0819E802 - .pool -_0819E7E8: - movs r0, 0 - b _0819E802 -_0819E7EC: - ldr r0, =sFactorySwapScreen - ldr r1, [r0] - ldrb r3, [r1] - adds r2, r0, 0 - cmp r3, 0 - beq _0819E800 - subs r0, r3, 0x1 - b _0819E802 - .pool -_0819E800: - movs r0, 0x2 -_0819E802: - strb r0, [r1] - ldr r3, =gSprites - ldr r2, [r2] - ldrb r0, [r2, 0x1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r3 - ldrb r0, [r2] - lsls r0, 4 - adds r0, 0x70 - strh r0, [r1, 0x22] - ldrb r0, [r2, 0x2] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r3 - ldrb r0, [r2] - lsls r0, 4 - adds r0, 0x70 - strh r0, [r1, 0x22] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end Swap_UpdateMenuCursorPosition - - thumb_func_start sub_819E838 -sub_819E838: @ 819E838 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 24 - lsrs r6, r0, 24 - movs r4, 0 - movs r0, 0x5 - negs r0, r0 - mov r9, r0 - movs r2, 0x4 - mov r8, r2 - ldr r0, =gSprites - mov r12, r0 - ldr r7, =sFactorySwapScreen -_0819E856: - cmp r6, 0x2 - bne _0819E898 - ldr r5, =gSprites - ldr r3, =sFactorySwapScreen - ldr r0, [r3] - adds r0, 0xB - adds r0, r4 - ldrb r0, [r0] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r5 - adds r1, 0x3E - ldrb r2, [r1] - mov r0, r9 - ands r0, r2 - strb r0, [r1] - cmp r4, 0x1 - bhi _0819E8D4 - ldr r0, [r3] - adds r0, 0x10 - adds r0, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - b _0819E8CA - .pool -_0819E898: - cmp r6, 0x3 - bne _0819E8D4 - cmp r4, 0x1 - bhi _0819E8BA - ldr r0, [r7] - adds r0, 0x10 - adds r0, r4 - ldrb r0, [r0] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - add r1, r12 - adds r1, 0x3E - ldrb r2, [r1] - mov r0, r9 - ands r0, r2 - strb r0, [r1] -_0819E8BA: - ldr r0, [r7] - adds r0, 0xB - adds r0, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - add r0, r12 -_0819E8CA: - adds r0, 0x3E - ldrb r1, [r0] - mov r2, r8 - orrs r1, r2 - strb r1, [r0] -_0819E8D4: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x2 - bls _0819E856 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_819E838 - - thumb_func_start sub_819E8EC -sub_819E8EC: @ 819E8EC - push {r4-r6,lr} - movs r2, 0 - ldr r5, =gSprites - ldr r4, =sFactorySwapScreen - adds r6, r5, 0 - movs r3, 0x4 -_0819E8F8: - ldr r0, [r4] - adds r0, 0xB - adds r0, r2 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - adds r0, 0x3E - ldrb r1, [r0] - orrs r1, r3 - strb r1, [r0] - cmp r2, 0x1 - bhi _0819E92C - ldr r0, [r4] - adds r0, 0x10 - adds r0, r2 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - adds r0, 0x3E - ldrb r1, [r0] - orrs r1, r3 - strb r1, [r0] -_0819E92C: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x2 - bls _0819E8F8 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_819E8EC - - thumb_func_start Swap_ShowMenuOptions -Swap_ShowMenuOptions: @ 819E944 - push {r4,r5,lr} - ldr r0, =sFactorySwapScreen - ldr r3, [r0] - ldrb r1, [r3, 0x15] - adds r5, r0, 0 - cmp r1, 0x1 - bne _0819E95C - movs r0, 0 - strb r0, [r3, 0x15] - b _0819E960 - .pool -_0819E95C: - movs r0, 0 - strb r0, [r3] -_0819E960: - ldr r4, =gSprites - ldr r2, [r5] - ldrb r1, [r2, 0x1] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0xB0 - strh r1, [r0, 0x20] - ldrb r0, [r2, 0x1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - ldrb r0, [r2] - lsls r0, 4 - adds r0, 0x70 - strh r0, [r1, 0x22] - ldrb r1, [r2, 0x2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0xD0 - strh r1, [r0, 0x20] - ldrb r0, [r2, 0x2] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - ldrb r0, [r2] - lsls r0, 4 - adds r0, 0x70 - strh r0, [r1, 0x22] - ldrb r0, [r2, 0x1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - adds r1, 0x3E - ldrb r3, [r1] - movs r2, 0x5 - negs r2, r2 - adds r0, r2, 0 - ands r0, r3 - strb r0, [r1] - ldr r0, [r5] - ldrb r1, [r0, 0x2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r0, 0x3E - ldrb r1, [r0] - ands r2, r1 - strb r2, [r0] - bl sub_819EC20 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end Swap_ShowMenuOptions - - thumb_func_start sub_819E9E0 -sub_819E9E0: @ 819E9E0 - push {r4,r5,lr} - ldr r5, =sFactorySwapScreen - ldr r1, [r5] - movs r0, 0 - strb r0, [r1, 0x16] - ldr r4, =gSprites - ldr r2, [r5] - ldrb r1, [r2, 0x1] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0xB0 - strh r1, [r0, 0x20] - ldrb r1, [r2, 0x1] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r3, 0x70 - strh r3, [r0, 0x22] - ldrb r1, [r2, 0x2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0xD0 - strh r1, [r0, 0x20] - ldrb r1, [r2, 0x2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - strh r3, [r0, 0x22] - ldrb r0, [r2, 0x1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - adds r1, 0x3E - ldrb r3, [r1] - movs r2, 0x5 - negs r2, r2 - adds r0, r2, 0 - ands r0, r3 - strb r0, [r1] - ldr r0, [r5] - ldrb r1, [r0, 0x2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r0, 0x3E - ldrb r1, [r0] - ands r2, r1 - strb r2, [r0] - bl sub_819EC94 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_819E9E0 - - thumb_func_start sub_819EA64 -sub_819EA64: @ 819EA64 - push {r4,r5,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r5, =gSprites - ldr r3, =sFactorySwapScreen - ldr r0, [r3] - ldrb r1, [r0, 0x1] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - ldr r0, [r3] - ldrb r1, [r0, 0x2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - adds r0, 0x3E - ldrb r1, [r0] - orrs r1, r2 - strb r1, [r0] - adds r0, r4, 0 - movs r1, 0 - bl FillWindowPixelBuffer - adds r0, r4, 0 - movs r1, 0x2 - bl CopyWindowToVram - adds r0, r4, 0 - bl ClearWindowTilemap - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_819EA64 - - thumb_func_start sub_819EAC0 -sub_819EAC0: @ 819EAC0 - push {lr} - movs r0, 0x1 - bl PutWindowTilemap - movs r0, 0x1 - movs r1, 0 - bl FillWindowPixelBuffer - movs r0, 0x1 - movs r1, 0x2 - bl CopyWindowToVram - pop {r0} - bx r0 - thumb_func_end sub_819EAC0 - - thumb_func_start sub_819EADC -sub_819EADC: @ 819EADC - push {lr} - movs r0, 0x7 - bl PutWindowTilemap - movs r0, 0x7 - movs r1, 0 - bl FillWindowPixelBuffer - movs r0, 0x7 - movs r1, 0x2 - bl CopyWindowToVram - pop {r0} - bx r0 - thumb_func_end sub_819EADC - - thumb_func_start sub_819EAF8 -sub_819EAF8: @ 819EAF8 - push {lr} - bl sub_819EAC0 - movs r0, 0x5 - bl PutWindowTilemap - movs r0, 0x5 - movs r1, 0 - bl FillWindowPixelBuffer - movs r0, 0x5 - movs r1, 0x2 - bl CopyWindowToVram - pop {r0} - bx r0 - thumb_func_end sub_819EAF8 - - thumb_func_start Swap_PrintPkmnSwap -Swap_PrintPkmnSwap: @ 819EB18 - push {lr} - sub sp, 0xC - movs r0, 0 - movs r1, 0x11 - bl FillWindowPixelBuffer - ldr r2, =gText_PkmnSwap - movs r0, 0x1 - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - str r0, [sp, 0x8] - movs r1, 0x1 - movs r3, 0x2 - bl PrintTextOnWindow - movs r0, 0 - movs r1, 0x3 - bl CopyWindowToVram - add sp, 0xC - pop {r0} - bx r0 - .pool - thumb_func_end Swap_PrintPkmnSwap - - thumb_func_start Swap_PrintMonSpecies -Swap_PrintMonSpecies: @ 819EB4C - push {r4,lr} - sub sp, 0xC - movs r0, 0x1 - movs r1, 0 - bl FillWindowPixelBuffer - ldr r0, =sFactorySwapScreen - ldr r1, [r0] - ldrb r0, [r1, 0x3] - cmp r0, 0x2 - bls _0819EB70 - movs r0, 0x1 - movs r1, 0x2 - bl CopyWindowToVram - b _0819EBD4 - .pool -_0819EB70: - ldrb r2, [r1, 0x3] - ldrb r0, [r1, 0x14] - cmp r0, 0 - bne _0819EB84 - movs r0, 0x64 - muls r0, r2 - ldr r1, =gPlayerParty - b _0819EB8A - .pool -_0819EB84: - movs r0, 0x64 - muls r0, r2 - ldr r1, =gEnemyParty -_0819EB8A: - adds r0, r1 - movs r1, 0xB - movs r2, 0 - bl GetMonData - lsls r0, 16 - lsrs r1, r0, 16 - ldr r4, =gStringVar4 - movs r0, 0xB - muls r1, r0 - ldr r0, =gSpeciesNames - adds r1, r0 - adds r0, r4, 0 - bl StringCopy - movs r0, 0x1 - adds r1, r4, 0 - movs r2, 0x56 - bl GetStringRightAlignXOffset - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - ldr r0, =gUnknown_08610925 - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - str r4, [sp, 0x8] - movs r0, 0x1 - movs r1, 0x1 - movs r3, 0x1 - bl AddTextPrinterParameterized3 - movs r0, 0x1 - movs r1, 0x3 - bl CopyWindowToVram -_0819EBD4: - add sp, 0xC - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end Swap_PrintMonSpecies - - thumb_func_start Swap_PrintOnInfoWindow -Swap_PrintOnInfoWindow: @ 819EBEC - push {r4,lr} - sub sp, 0xC - adds r4, r0, 0 - movs r0, 0x2 - movs r1, 0 - bl FillWindowPixelBuffer - movs r0, 0x5 - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - str r0, [sp, 0x8] - movs r0, 0x2 - movs r1, 0x1 - adds r2, r4, 0 - movs r3, 0x2 - bl PrintTextOnWindow - movs r0, 0x2 - movs r1, 0x2 - bl CopyWindowToVram - add sp, 0xC - pop {r4} - pop {r0} - bx r0 - thumb_func_end Swap_PrintOnInfoWindow - - thumb_func_start sub_819EC20 -sub_819EC20: @ 819EC20 + thumb_func_start Swap_PrintMenuOptions +Swap_PrintMenuOptions: @ 819EC20 push {r4,r5,lr} sub sp, 0xC movs r0, 0x3 @@ -944,10 +52,10 @@ sub_819EC20: @ 819EC20 pop {r0} bx r0 .pool - thumb_func_end sub_819EC20 + thumb_func_end Swap_PrintMenuOptions - thumb_func_start sub_819EC94 -sub_819EC94: @ 819EC94 + thumb_func_start Swap_PrintYesNoOptions +Swap_PrintYesNoOptions: @ 819EC94 push {r4,r5,lr} sub sp, 0xC movs r0, 0x4 @@ -983,7 +91,7 @@ sub_819EC94: @ 819EC94 pop {r0} bx r0 .pool - thumb_func_end sub_819EC94 + thumb_func_end Swap_PrintYesNoOptions thumb_func_start sub_819ECF0 sub_819ECF0: @ 819ECF0 @@ -1356,7 +464,7 @@ _0819EFF2: movs r0, 0x8 movs r1, 0x1 add r2, sp, 0xC - bl PrintTextOnWindow + bl AddTextPrinterParameterized movs r0, 0x8 movs r1, 0x2 bl CopyWindowToVram @@ -4176,7 +3284,7 @@ _081A06B8: adds r0, r5, 0 movs r1, 0x1 movs r3, 0x8 - bl PrintTextOnWindow + bl AddTextPrinterParameterized adds r0, r4, 0x1 lsls r0, 24 lsrs r4, r0, 24 @@ -6802,7 +5910,7 @@ sub_81A1C4C: @ 81A1C4C str r1, [sp, 0x8] movs r1, 0x1 adds r2, r4, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized add sp, 0xC pop {r4,r5} pop {r0} @@ -6841,7 +5949,7 @@ _081A1C9E: movs r1, 0x1 adds r2, r4, 0 movs r3, 0x4 - bl PrintTextOnWindow + bl AddTextPrinterParameterized add sp, 0x34 pop {r4} pop {r0} @@ -6883,7 +5991,7 @@ sub_81A1CD8: @ 81A1CD8 movs r1, 0x1 adds r2, r5, 0 adds r3, r4, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldr r0, =0x0000270f cmp r6, r0 bls _081A1D24 @@ -6908,7 +6016,7 @@ _081A1D24: movs r1, 0x1 adds r2, r4, 0 ldr r3, [sp, 0xC] - bl PrintTextOnWindow + bl AddTextPrinterParameterized add sp, 0x10 pop {r3-r5} mov r8, r3 @@ -7142,7 +6250,7 @@ _081A1F28: str r4, [sp, 0x8] movs r1, 0x1 movs r3, 0x10 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldrb r0, [r6] ldr r2, =gText_OpenLv movs r1, 0x61 @@ -7152,7 +6260,7 @@ _081A1F28: str r4, [sp, 0x8] movs r1, 0x1 movs r3, 0x10 - bl PrintTextOnWindow + bl AddTextPrinterParameterized movs r0, 0xA bl sub_81A1C90 mov r0, r8 @@ -7255,7 +6363,7 @@ sub_81A2008: @ 81A2008 str r1, [sp, 0x8] movs r1, 0x1 mov r2, r12 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldr r0, =gStringVar1 adds r1, r4, 0 movs r2, 0x1 @@ -7275,7 +6383,7 @@ sub_81A2008: @ 81A2008 movs r1, 0x1 adds r2, r4, 0 adds r3, r6, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized add sp, 0xC pop {r3-r5} mov r8, r3 @@ -7413,7 +6521,7 @@ _081A2184: str r4, [sp, 0x8] movs r1, 0x1 movs r3, 0x8 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldr r1, =gRecordsWindowId ldrb r0, [r1] ldr r2, =gText_OpenLv @@ -7423,7 +6531,7 @@ _081A2184: str r4, [sp, 0x8] movs r1, 0x1 movs r3, 0x8 - bl PrintTextOnWindow + bl AddTextPrinterParameterized movs r0, 0xA bl sub_81A1C90 str r6, [sp] @@ -7549,7 +6657,7 @@ sub_81A22B8: @ 81A22B8 movs r1, 0x1 adds r2, r5, 0 adds r3, r4, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldr r0, =0x0000270f cmp r6, r0 bls _081A2304 @@ -7574,7 +6682,7 @@ _081A2304: movs r1, 0x1 adds r2, r4, 0 ldr r3, [sp, 0xC] - bl PrintTextOnWindow + bl AddTextPrinterParameterized add sp, 0x10 pop {r3-r5} mov r8, r3 @@ -7767,7 +6875,7 @@ _081A24B0: str r4, [sp, 0x8] movs r1, 0x1 movs r3, 0x10 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldrb r0, [r6] ldr r2, =gText_OpenLv movs r1, 0x61 @@ -7777,7 +6885,7 @@ _081A24B0: str r4, [sp, 0x8] movs r1, 0x1 movs r3, 0x10 - bl PrintTextOnWindow + bl AddTextPrinterParameterized movs r0, 0xA bl sub_81A1C90 mov r0, r8 @@ -7877,7 +6985,7 @@ sub_81A258C: @ 81A258C str r1, [sp, 0x8] movs r1, 0x1 mov r2, r12 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldr r0, =gStringVar1 adds r1, r4, 0 movs r2, 0x1 @@ -7897,7 +7005,7 @@ sub_81A258C: @ 81A258C movs r1, 0x1 adds r2, r4, 0 adds r3, r6, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized add sp, 0xC pop {r3-r5} mov r8, r3 @@ -8005,7 +7113,7 @@ sub_81A2698: @ 81A2698 str r4, [sp, 0x8] movs r1, 0x1 movs r3, 0x8 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldrb r0, [r6] ldr r2, =gText_OpenLv movs r1, 0x61 @@ -8014,7 +7122,7 @@ sub_81A2698: @ 81A2698 str r4, [sp, 0x8] movs r1, 0x1 movs r3, 0x8 - bl PrintTextOnWindow + bl AddTextPrinterParameterized movs r0, 0xA bl sub_81A1C90 movs r0, 0 @@ -8130,7 +7238,7 @@ sub_81A27E8: @ 81A27E8 movs r1, 0x1 adds r2, r5, 0 adds r3, r4, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldr r0, =0x0000270f cmp r6, r0 bls _081A2834 @@ -8155,7 +7263,7 @@ _081A2834: movs r1, 0x1 adds r2, r4, 0 ldr r3, [sp, 0xC] - bl PrintTextOnWindow + bl AddTextPrinterParameterized add sp, 0x10 pop {r3-r5} mov r8, r3 @@ -8310,7 +7418,7 @@ sub_81A2968: @ 81A2968 str r4, [sp, 0x8] movs r1, 0x1 movs r3, 0x10 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldrb r0, [r5] ldr r2, =gText_OpenLv movs r1, 0x61 @@ -8319,7 +7427,7 @@ sub_81A2968: @ 81A2968 str r4, [sp, 0x8] movs r1, 0x1 movs r3, 0x10 - bl PrintTextOnWindow + bl AddTextPrinterParameterized movs r0, 0 movs r1, 0x48 movs r2, 0x7E @@ -8392,7 +7500,7 @@ sub_81A2A28: @ 81A2A28 str r1, [sp, 0x8] movs r1, 0x1 mov r2, r12 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldr r0, =0x0000270f cmp r7, r0 bls _081A2A80 @@ -8418,7 +7526,7 @@ _081A2A80: movs r1, 0x1 adds r2, r4, 0 ldr r3, [sp, 0x10] - bl PrintTextOnWindow + bl AddTextPrinterParameterized adds r0, r5, 0 ldr r1, [sp, 0xC] movs r2, 0x1 @@ -8437,7 +7545,7 @@ _081A2A80: movs r1, 0x1 adds r2, r4, 0 ldr r3, [sp, 0x14] - bl PrintTextOnWindow + bl AddTextPrinterParameterized add sp, 0x18 pop {r3-r5} mov r8, r3 @@ -8693,7 +7801,7 @@ _081A2CE0: str r4, [sp, 0x8] movs r1, 0x1 movs r3, 0x8 - bl PrintTextOnWindow + bl AddTextPrinterParameterized mov r1, r8 ldrb r0, [r1] ldr r2, =gText_RentalSwap @@ -8702,7 +7810,7 @@ _081A2CE0: str r4, [sp, 0x8] movs r1, 0x1 movs r3, 0x98 - bl PrintTextOnWindow + bl AddTextPrinterParameterized mov r1, r8 ldrb r0, [r1] ldr r2, =gText_OpenLv @@ -8712,7 +7820,7 @@ _081A2CE0: str r4, [sp, 0x8] movs r1, 0x1 movs r3, 0x8 - bl PrintTextOnWindow + bl AddTextPrinterParameterized movs r0, 0xA bl sub_81A1C90 movs r4, 0x9E @@ -8798,7 +7906,7 @@ sub_81A2DB4: @ 81A2DB4 movs r1, 0x1 adds r2, r5, 0 adds r3, r4, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldr r0, =0x0000270f cmp r6, r0 bls _081A2E00 @@ -8823,7 +7931,7 @@ _081A2E00: movs r1, 0x1 adds r2, r4, 0 ldr r3, [sp, 0xC] - bl PrintTextOnWindow + bl AddTextPrinterParameterized add sp, 0x10 pop {r3-r5} mov r8, r3 @@ -8978,7 +8086,7 @@ sub_81A2F38: @ 81A2F38 str r4, [sp, 0x8] movs r1, 0x1 movs r3, 0x8 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldrb r0, [r5] ldr r2, =gText_OpenLv movs r1, 0x61 @@ -8987,7 +8095,7 @@ sub_81A2F38: @ 81A2F38 str r4, [sp, 0x8] movs r1, 0x1 movs r3, 0x8 - bl PrintTextOnWindow + bl AddTextPrinterParameterized movs r0, 0xA bl sub_81A1C90 movs r0, 0 @@ -9058,7 +8166,7 @@ sub_81A2FF8: @ 81A2FF8 movs r5, 0 str r5, [sp, 0x8] mov r2, r9 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldr r7, =gText_1st movs r0, 0x1 adds r1, r7, 0 @@ -9076,7 +8184,7 @@ sub_81A2FF8: @ 81A2FF8 str r5, [sp, 0x8] movs r1, 0x1 adds r2, r7, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldr r7, =gText_2nd movs r0, 0x1 adds r1, r7, 0 @@ -9093,7 +8201,7 @@ sub_81A2FF8: @ 81A2FF8 str r5, [sp, 0x8] movs r1, 0x1 adds r2, r7, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldr r7, =gText_3rd movs r0, 0x1 adds r1, r7, 0 @@ -9110,7 +8218,7 @@ sub_81A2FF8: @ 81A2FF8 str r5, [sp, 0x8] movs r1, 0x1 adds r2, r7, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldr r7, =gText_4th movs r0, 0x1 adds r1, r7, 0 @@ -9127,7 +8235,7 @@ sub_81A2FF8: @ 81A2FF8 str r5, [sp, 0x8] movs r1, 0x1 adds r2, r7, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldrb r0, [r4] ldr r2, =gText_Cool movs r1, 0x29 @@ -9136,7 +8244,7 @@ sub_81A2FF8: @ 81A2FF8 str r5, [sp, 0x8] movs r1, 0x1 movs r3, 0x6 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldrb r0, [r4] ldr r2, =gText_Beauty movs r1, 0x39 @@ -9145,7 +8253,7 @@ sub_81A2FF8: @ 81A2FF8 str r5, [sp, 0x8] movs r1, 0x1 movs r3, 0x6 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldrb r0, [r4] ldr r2, =gText_Cute movs r1, 0x49 @@ -9154,7 +8262,7 @@ sub_81A2FF8: @ 81A2FF8 str r5, [sp, 0x8] movs r1, 0x1 movs r3, 0x6 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldrb r0, [r4] ldr r2, =gText_Smart movs r1, 0x59 @@ -9163,7 +8271,7 @@ sub_81A2FF8: @ 81A2FF8 str r5, [sp, 0x8] movs r1, 0x1 movs r3, 0x6 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldrb r0, [r4] ldr r2, =gText_Tough movs r1, 0x69 @@ -9172,7 +8280,7 @@ sub_81A2FF8: @ 81A2FF8 str r5, [sp, 0x8] movs r1, 0x1 movs r3, 0x6 - bl PrintTextOnWindow + bl AddTextPrinterParameterized movs r1, 0 _081A314A: movs r5, 0 @@ -9210,7 +8318,7 @@ _081A315C: str r1, [sp, 0x8] movs r1, 0x1 mov r2, r9 - bl PrintTextOnWindow + bl AddTextPrinterParameterized adds r4, 0x2 adds r5, 0x1 cmp r5, 0x3 @@ -11497,7 +10605,7 @@ sub_81A4594: @ 81A4594 adds r0, r5, 0 movs r1, 0x1 adds r2, r4, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized movs r0, 0xFF strb r0, [r6, 0xD] ldrh r0, [r6, 0x4] @@ -11520,7 +10628,7 @@ sub_81A4594: @ 81A4594 str r1, [sp, 0x8] movs r1, 0x1 add r2, sp, 0xC - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldrh r1, [r6, 0x4] ldr r0, =0x0000270f cmp r1, r0 @@ -11556,7 +10664,7 @@ _081A4618: str r1, [sp, 0x8] movs r1, 0x1 adds r2, r5, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized _081A465C: add sp, 0x2C pop {r3-r5} @@ -11607,7 +10715,7 @@ sub_81A4684: @ 81A4684 str r3, [sp, 0x8] movs r1, 0x1 mov r3, r12 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldrh r0, [r5, 0x8] cmp r0, 0 beq _081A47BC @@ -11638,7 +10746,7 @@ sub_81A4684: @ 81A4684 str r1, [sp, 0x8] movs r1, 0x1 add r2, sp, 0xC - bl PrintTextOnWindow + bl AddTextPrinterParameterized adds r4, r5, 0 adds r4, 0x12 adds r0, r4, 0 @@ -11679,7 +10787,7 @@ _081A473C: str r7, [sp, 0x8] movs r1, 0x1 add r2, sp, 0xC - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldrh r1, [r5, 0x8] ldr r0, =0x0000270f cmp r1, r0 @@ -11715,7 +10823,7 @@ _081A4778: str r7, [sp, 0x8] movs r1, 0x1 adds r2, r5, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized _081A47BC: add sp, 0x2C pop {r3-r5} @@ -11990,7 +11098,7 @@ sub_81A4998: @ 81A4998 str r5, [sp, 0x8] adds r2, r6, 0 movs r3, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldr r1, =gUnknown_08611D00 ldr r2, [sp, 0x90] lsls r0, r2, 2 @@ -12012,7 +11120,7 @@ sub_81A4998: @ 81A4998 str r5, [sp, 0x8] movs r1, 0x1 adds r2, r4, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized cmp r7, 0x9 bne _081A4A6C ldr r2, =gSaveBlock2Ptr diff --git a/asm/cable_club.s b/asm/cable_club.s index 0297c2f804..6f4917a196 100644 --- a/asm/cable_club.s +++ b/asm/cable_club.s @@ -74,7 +74,7 @@ sub_80B23B0: @ 80B23B0 adds r0, r4, 0 movs r1, 0x1 adds r2, r5, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized adds r0, r4, 0 movs r1, 0x3 bl CopyWindowToVram diff --git a/asm/contest_painting.s b/asm/contest_painting.s index 8bb38eeed3..f7c146e3e1 100644 --- a/asm/contest_painting.s +++ b/asm/contest_painting.s @@ -438,7 +438,7 @@ _081301A6: str r1, [sp, 0x8] movs r1, 0x1 adds r2, r4, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized movs r0, 0x1 bl CopyBgTilemapBufferToVram _081301D4: diff --git a/asm/easy_chat.s b/asm/easy_chat.s index ffe8e171b7..e99c885cca 100644 --- a/asm/easy_chat.s +++ b/asm/easy_chat.s @@ -4644,7 +4644,7 @@ sub_811D028: @ 811D028 str r4, [sp] str r5, [sp, 0x4] str r6, [sp, 0x8] - bl PrintTextOnWindow + bl AddTextPrinterParameterized add sp, 0xC pop {r4-r6} pop {r0} diff --git a/asm/field_player_avatar.s b/asm/field_player_avatar.s index a1f1153769..0abbf014f3 100644 --- a/asm/field_player_avatar.s +++ b/asm/field_player_avatar.s @@ -3022,7 +3022,7 @@ _0808CA94: movs r0, 0 movs r1, 0x1 add r2, sp, 0xC - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldrh r0, [r4, 0xC] adds r0, 0x1 strh r0, [r4, 0xC] @@ -3133,7 +3133,7 @@ fish6: @ 808CB6C movs r0, 0 movs r1, 0x1 movs r3, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldrh r0, [r5, 0x8] adds r0, 0x1 strh r0, [r5, 0x8] @@ -3266,7 +3266,7 @@ fish9: @ 808CC64 movs r0, 0 movs r1, 0x1 movs r3, 0x1 - bl AddTextPrinterParameterized + bl AddTextPrinterParameterized2 ldrh r0, [r4, 0x8] adds r0, 0x1 strh r0, [r4, 0x8] @@ -3423,7 +3423,7 @@ fishB: @ 808CD94 movs r0, 0 movs r1, 0x1 movs r3, 0x1 - bl AddTextPrinterParameterized + bl AddTextPrinterParameterized2 movs r0, 0xD strh r0, [r5, 0x8] movs r0, 0x1 @@ -3471,7 +3471,7 @@ fishC: @ 808CE04 movs r0, 0 movs r1, 0x1 movs r3, 0x1 - bl AddTextPrinterParameterized + bl AddTextPrinterParameterized2 ldrh r0, [r5, 0x8] adds r0, 0x1 strh r0, [r5, 0x8] diff --git a/asm/party_menu.s b/asm/party_menu.s index 67fc563fba..67fdab266a 100644 --- a/asm/party_menu.s +++ b/asm/party_menu.s @@ -4454,7 +4454,7 @@ _081B243E: adds r0, r4, 0 movs r1, 0 movs r3, 0x1 - bl AddTextPrinterParameterized2 + bl AddTextPrinterParameterized4 adds r0, r4, 0 bl PutWindowTilemap adds r0, r4, 0 @@ -5938,7 +5938,7 @@ _081B3104: movs r1, 0x1 adds r2, r4, 0 movs r3, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized movs r0, 0x2 bl schedule_bg_copy_tilemap_to_vram _081B313C: @@ -6132,7 +6132,7 @@ _081B328C: str r1, [sp, 0x10] movs r1, 0x1 mov r2, r9 - bl AddTextPrinterParameterized2 + bl AddTextPrinterParameterized4 adds r0, r5, 0x1 lsls r0, 24 lsrs r5, r0, 24 @@ -6193,7 +6193,7 @@ sub_81B3300: @ 81B3300 movs r0, 0x6 movs r1, 0x1 adds r2, r4, 0 - bl AddTextPrinterParameterized + bl AddTextPrinterParameterized2 add sp, 0x10 pop {r4} pop {r0} @@ -12508,7 +12508,7 @@ _081B6A40: adds r0, r6, 0 mov r1, r10 movs r3, 0x8 - bl PrintTextOnWindow + bl AddTextPrinterParameterized cmp r4, 0 beq _081B6A82 adds r0, r7, 0x1 diff --git a/asm/pokemon_storage_system.s b/asm/pokemon_storage_system.s index 481a85d8d6..9d56030853 100644 --- a/asm/pokemon_storage_system.s +++ b/asm/pokemon_storage_system.s @@ -4387,7 +4387,7 @@ sub_80CA4FC: @ 80CA4FC movs r0, 0 movs r1, 0x1 movs r3, 0x6 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldr r2, [r6] ldr r1, =0x00000d1d adds r2, r1 @@ -4398,7 +4398,7 @@ sub_80CA4FC: @ 80CA4FC movs r0, 0 movs r1, 0x2 movs r3, 0x6 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldr r2, [r6] ldr r0, =0x00000d41 adds r2, r0 @@ -4409,7 +4409,7 @@ sub_80CA4FC: @ 80CA4FC movs r0, 0 movs r1, 0x2 movs r3, 0xA - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldr r2, [r6] ldr r1, =0x00000d65 adds r2, r1 @@ -4420,7 +4420,7 @@ sub_80CA4FC: @ 80CA4FC movs r0, 0 movs r1, 0 movs r3, 0x6 - bl PrintTextOnWindow + bl AddTextPrinterParameterized b _080CA5E8 .pool _080CA588: @@ -4434,7 +4434,7 @@ _080CA588: movs r0, 0 movs r1, 0 movs r3, 0x6 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldr r2, [r6] ldr r1, =0x00000cf9 adds r2, r1 @@ -4445,7 +4445,7 @@ _080CA588: movs r0, 0 movs r1, 0x1 movs r3, 0x6 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldr r2, [r6] ldr r0, =0x00000d1d adds r2, r0 @@ -4456,7 +4456,7 @@ _080CA588: movs r0, 0 movs r1, 0x2 movs r3, 0x6 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldr r2, [r6] ldr r1, =0x00000d41 adds r2, r1 @@ -4467,7 +4467,7 @@ _080CA588: movs r0, 0 movs r1, 0x2 movs r3, 0xA - bl PrintTextOnWindow + bl AddTextPrinterParameterized _080CA5E8: movs r0, 0 movs r1, 0x2 @@ -5337,7 +5337,7 @@ _080CAD30: movs r0, 0x1 movs r1, 0x1 movs r3, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized movs r0, 0x1 movs r1, 0x2 movs r2, 0xE @@ -18189,7 +18189,7 @@ _080D17DA: movs r1, 0x1 adds r2, r4, 0 movs r3, 0x4 - bl sub_8199F74 + bl AddTextPrinterParameterized5 add sp, 0x14 pop {r4} pop {r0} diff --git a/asm/pokenav.s b/asm/pokenav.s index e69a9ef8c2..4851cd221a 100644 --- a/asm/pokenav.s +++ b/asm/pokenav.s @@ -2559,7 +2559,7 @@ _081C8434: str r6, [sp, 0x8] adds r2, r7, 0 movs r3, 0x8 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldrh r0, [r4, 0xC] adds r0, 0x1 strh r0, [r4, 0xC] @@ -3769,7 +3769,7 @@ sub_81C8D4C: @ 81C8D4C str r2, [sp, 0x8] adds r2, r5, 0 movs r3, 0x8 - bl PrintTextOnWindow + bl AddTextPrinterParameterized adds r0, r4, 0 movs r1, 0 bl sub_81C8C64 @@ -3897,7 +3897,7 @@ sub_81C8E54: @ 81C8E54 movs r1, 0x7 adds r2, r5, 0 movs r3, 0x2 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldrh r0, [r7, 0x8] ldrb r1, [r7, 0x4] str r1, [sp] @@ -10073,7 +10073,7 @@ sub_81CBE88: @ 81CBE88 movs r1, 0x7 adds r2, r3, 0 movs r3, 0x2 - bl PrintTextOnWindow + bl AddTextPrinterParameterized add sp, 0xC pop {r0} bx r0 @@ -10108,7 +10108,7 @@ sub_81CBEB4: @ 81CBEB4 adds r0, r5, 0 movs r1, 0x7 adds r2, r6, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized add sp, 0xC pop {r4-r6} pop {r0} @@ -10156,7 +10156,7 @@ _081CBF24: movs r1, 0x7 add r2, sp, 0xC adds r3, r4, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized add sp, 0x2C pop {r4,r5} pop {r0} @@ -10190,7 +10190,7 @@ _081CBF76: str r1, [sp, 0x8] movs r1, 0x7 movs r3, 0x10 - bl PrintTextOnWindow + bl AddTextPrinterParameterized movs r0, 0x80 lsls r0, 21 adds r6, r0 @@ -10375,7 +10375,7 @@ sub_81CC0E0: @ 81CC0E0 str r1, [sp, 0x8] movs r1, 0x1 movs r3, 0x20 - bl PrintTextOnWindow + bl AddTextPrinterParameterized add sp, 0xC pop {r0} bx r0 @@ -10409,7 +10409,7 @@ sub_81CC11C: @ 81CC11C str r1, [sp, 0x8] movs r1, 0x1 movs r3, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized add sp, 0xC pop {r0} bx r0 @@ -10452,7 +10452,7 @@ sub_81CC158: @ 81CC158 adds r0, r2, 0 adds r2, r5, 0 movs r3, 0x20 - bl PrintTextOnWindow + bl AddTextPrinterParameterized add sp, 0xC pop {r4,r5} pop {r0} @@ -11694,7 +11694,7 @@ _081CCB44: str r1, [sp, 0x8] movs r1, 0x7 movs r3, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldrh r1, [r5] ldrb r2, [r5, 0x3] adds r0, r4, 0 @@ -11726,7 +11726,7 @@ _081CCB8E: str r1, [sp, 0x8] movs r1, 0x7 movs r3, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldr r1, =0x00001041 movs r0, 0xC str r0, [sp] @@ -11756,7 +11756,7 @@ _081CCBDC: str r1, [sp, 0x8] movs r1, 0x7 movs r3, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldrh r1, [r5] ldrb r2, [r5, 0x3] adds r0, r4, 0 @@ -12035,7 +12035,7 @@ _081CCE08: movs r1, 0x7 adds r2, r6, 0 movs r3, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized movs r0, 0x80 lsls r0, 21 adds r4, r0 @@ -15151,7 +15151,7 @@ _081CE7DA: str r1, [sp, 0x8] movs r1, 0x1 movs r3, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized b _081CE924 _081CE800: bl sub_81CDD5C @@ -15176,7 +15176,7 @@ _081CE80C: str r4, [sp, 0x8] movs r1, 0x1 movs r3, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized add r1, sp, 0xC movs r0, 0xFC strb r0, [r1] @@ -15202,7 +15202,7 @@ _081CE80C: movs r1, 0x1 add r2, sp, 0xC movs r3, 0x4 - bl PrintTextOnWindow + bl AddTextPrinterParameterized bl sub_81CDD48 adds r1, r0, 0 lsls r1, 16 @@ -15218,7 +15218,7 @@ _081CE80C: movs r1, 0x1 add r2, sp, 0xC movs r3, 0x1C - bl PrintTextOnWindow + bl AddTextPrinterParameterized b _081CE924 .pool _081CE89C: @@ -17198,7 +17198,7 @@ sub_81CF7F4: @ 81CF7F4 movs r1, 0x1 adds r2, r5, 0 movs r3, 0x4 - bl PrintTextOnWindow + bl AddTextPrinterParameterized adds r0, r4, 0 adds r1, r7, 0 movs r2, 0x1 @@ -17214,7 +17214,7 @@ sub_81CF7F4: @ 81CF7F4 movs r1, 0x1 adds r2, r4, 0 movs r3, 0x22 - bl PrintTextOnWindow + bl AddTextPrinterParameterized mov r1, r8 ldrb r0, [r1, 0x8] movs r1, 0x2 @@ -18597,7 +18597,7 @@ sub_81D02B0: @ 81D02B0 adds r0, r4, 0 movs r1, 0x1 add r2, sp, 0xC - bl PrintTextOnWindow + bl AddTextPrinterParameterized add sp, 0x1C pop {r4,r5} pop {r0} @@ -20260,7 +20260,7 @@ sub_81D0FF0: @ 81D0FF0 movs r1, 0x1 adds r2, r4, 0 movs r3, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldrb r0, [r6] cmp r0, 0 beq _081D1040 @@ -20305,7 +20305,7 @@ _081D104A: movs r1, 0x1 adds r2, r5, 0 movs r3, 0x3C - bl PrintTextOnWindow + bl AddTextPrinterParameterized adds r0, r4, 0 movs r1, 0x2 bl CopyWindowToVram @@ -20379,7 +20379,7 @@ sub_81D10D0: @ 81D10D0 str r1, [sp, 0x8] movs r1, 0x1 adds r2, r5, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized mov r1, r8 ldrb r0, [r1, 0xC] movs r1, 0x2 @@ -21106,7 +21106,7 @@ _081D1D8C: movs r1, 0x1 movs r2, 0x8 adds r3, r5, 0 - bl AddTextPrinterParameterized2 + bl AddTextPrinterParameterized4 _081D1DAC: add sp, 0x34 pop {r4,r5} @@ -22636,7 +22636,7 @@ sub_81D28FC: @ 81D28FC movs r0, 0 movs r1, 0x1 adds r2, r5, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldr r5, =gText_PPSlash movs r1, 0x29 mov r10, r1 @@ -22648,7 +22648,7 @@ sub_81D28FC: @ 81D28FC movs r1, 0x1 adds r2, r5, 0 movs r3, 0x4 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldr r5, =gText_PowerSlash movs r0, 0x1 adds r1, r5, 0 @@ -22665,7 +22665,7 @@ sub_81D28FC: @ 81D28FC movs r0, 0 movs r1, 0x1 adds r2, r5, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldr r5, =gText_AccuracySlash movs r0, 0x1 adds r1, r5, 0 @@ -22682,7 +22682,7 @@ sub_81D28FC: @ 81D28FC movs r0, 0 movs r1, 0x1 adds r2, r5, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized movs r0, 0x2 negs r0, r0 cmp r9, r0 @@ -22713,7 +22713,7 @@ _081D29C4: movs r1, 0x1 adds r2, r5, 0 movs r3, 0x4 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldr r1, =gText_PPSlash movs r0, 0x1 movs r2, 0 @@ -22734,7 +22734,7 @@ _081D29C4: movs r0, 0 movs r1, 0x1 add r2, sp, 0xC - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldrb r0, [r6, 0x1] cmp r0, 0x1 bhi _081D2A3C @@ -22758,7 +22758,7 @@ _081D2A4A: movs r1, 0x1 adds r2, r5, 0 movs r3, 0x6A - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldrb r0, [r6, 0x3] cmp r0, 0 bne _081D2A70 @@ -22783,7 +22783,7 @@ _081D2A7E: movs r1, 0x1 adds r2, r5, 0 movs r3, 0x6A - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldr r1, =gMoveDescriptionPointers mov r0, r9 subs r0, 0x1 @@ -22798,7 +22798,7 @@ _081D2A7E: movs r1, 0x7 adds r2, r5, 0 movs r3, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized _081D2AB6: add sp, 0x2C pop {r3-r5} @@ -22837,7 +22837,7 @@ sub_81D2ACC: @ 81D2ACC str r6, [sp, 0x8] movs r1, 0x1 adds r2, r5, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldr r5, =gText_Appeal2 movs r0, 0x1 adds r1, r5, 0 @@ -22853,7 +22853,7 @@ sub_81D2ACC: @ 81D2ACC movs r0, 0x1 movs r1, 0x1 adds r2, r5, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldr r5, =gText_Jam2 movs r0, 0x1 adds r1, r5, 0 @@ -22868,7 +22868,7 @@ sub_81D2ACC: @ 81D2ACC movs r0, 0x1 movs r1, 0x1 adds r2, r5, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized movs r0, 0x2 negs r0, r0 cmp r4, r0 @@ -22896,7 +22896,7 @@ _081D2B6C: movs r1, 0x1 adds r2, r5, 0 movs r3, 0x4 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldr r1, =gContestEffectDescriptionPointers ldrb r0, [r4] lsls r0, 2 @@ -22910,7 +22910,7 @@ _081D2B6C: movs r1, 0x7 adds r2, r5, 0 movs r3, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized movs r0, 0x1 movs r1, 0x2 bl CopyWindowToVram @@ -22971,7 +22971,7 @@ sub_81D2BF4: @ 81D2BF4 str r0, [sp, 0xC] movs r1, 0x1 adds r2, r4, 0 - bl AddTextPrinterParameterized + bl AddTextPrinterParameterized2 add sp, 0x10 pop {r4} pop {r0} diff --git a/asm/rom_8011DC0.s b/asm/rom_8011DC0.s index d96e3c2946..84573367a4 100644 --- a/asm/rom_8011DC0.s +++ b/asm/rom_8011DC0.s @@ -5689,7 +5689,7 @@ _08018720: movs r1, 0x1 movs r2, 0x4 movs r3, 0x1 - bl AddTextPrinterParameterized2 + bl AddTextPrinterParameterized4 movs r0, 0 adds r1, r7, 0 movs r2, 0xDE @@ -5705,7 +5705,7 @@ _08018720: movs r0, 0 movs r1, 0 movs r3, 0x1 - bl AddTextPrinterParameterized2 + bl AddTextPrinterParameterized4 movs r0, 0 movs r1, 0x2 bl CopyWindowToVram @@ -5877,7 +5877,7 @@ sub_8018884: @ 8018884 movs r1, 0x1 movs r2, 0 movs r3, 0x1 - bl AddTextPrinterParameterized2 + bl AddTextPrinterParameterized4 movs r0, 0x1 movs r1, 0x1 movs r2, 0xF @@ -6230,7 +6230,7 @@ _08018B4A: str r1, [sp, 0x10] movs r1, 0x1 movs r3, 0x1 - bl AddTextPrinterParameterized2 + bl AddTextPrinterParameterized4 ldrb r0, [r4] movs r1, 0x1 movs r2, 0xF @@ -6376,7 +6376,7 @@ _08018C8C: str r1, [sp, 0x10] movs r1, 0x1 movs r3, 0x1 - bl AddTextPrinterParameterized2 + bl AddTextPrinterParameterized4 ldrb r0, [r5] movs r1, 0x1 movs r2, 0xF @@ -9928,7 +9928,7 @@ _0801A93A: adds r0, r7, 0 adds r1, r6, 0 adds r2, r5, 0 - bl AddTextPrinterParameterized2 + bl AddTextPrinterParameterized4 add sp, 0x18 pop {r4-r7} pop {r0} @@ -10249,7 +10249,7 @@ sub_801AB68: @ 801AB68 movs r1, 0x1 adds r2, r6, 0 ldr r3, [sp, 0x14] - bl AddTextPrinterParameterized2 + bl AddTextPrinterParameterized4 add sp, 0x18 pop {r3-r5} mov r8, r3 @@ -20539,7 +20539,7 @@ sub_801FDDC: @ 801FDDC str r4, [sp, 0x4] str r6, [sp, 0x8] movs r3, 0x8 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldr r0, [r5] ldrb r0, [r0, 0x18] ldr r2, =gText_No @@ -20549,7 +20549,7 @@ sub_801FDDC: @ 801FDDC str r6, [sp, 0x8] movs r1, 0x1 movs r3, 0x8 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldr r0, [r5] ldrb r0, [r0, 0x18] movs r1, 0x1 @@ -20757,7 +20757,7 @@ _0801FFE2: adds r0, r5, 0 movs r1, 0x1 adds r2, r6, 0 - bl sub_8199F74 + bl AddTextPrinterParameterized5 b _0802007A .pool _08020050: @@ -20779,7 +20779,7 @@ _08020050: adds r0, r5, 0 movs r1, 0x1 adds r2, r6, 0 - bl sub_8199F74 + bl AddTextPrinterParameterized5 _0802007A: ldr r0, =gUnknown_02022C88 ldr r0, [r0] @@ -25326,7 +25326,7 @@ _08022616: str r4, [sp, 0x10] movs r1, 0x2 movs r3, 0x1 - bl AddTextPrinterParameterized2 + bl AddTextPrinterParameterized4 b _0802269C .pool _08022668: @@ -25353,7 +25353,7 @@ _08022668: str r4, [sp, 0x10] movs r1, 0x2 movs r3, 0x1 - bl AddTextPrinterParameterized2 + bl AddTextPrinterParameterized4 _0802269C: ldr r1, =0x000001bb adds r0, r6, r1 @@ -26229,7 +26229,7 @@ _08022D42: movs r0, 0 movs r1, 0x1 adds r2, r4, 0 - bl AddTextPrinterParameterized + bl AddTextPrinterParameterized2 b _08022DB2 .pool _08022D90: @@ -26248,7 +26248,7 @@ _08022D90: str r0, [sp, 0xC] movs r0, 0 movs r1, 0x1 - bl AddTextPrinterParameterized + bl AddTextPrinterParameterized2 _08022DB2: movs r0, 0 movs r1, 0x3 @@ -28812,7 +28812,7 @@ _080241A6: movs r0, 0 movs r1, 0x1 movs r3, 0 - bl AddTextPrinterParameterized + bl AddTextPrinterParameterized2 movs r0, 0 movs r1, 0x3 bl CopyWindowToVram @@ -29171,7 +29171,7 @@ _08024460: str r1, [sp, 0xC] movs r0, 0 movs r1, 0x1 - bl AddTextPrinterParameterized + bl AddTextPrinterParameterized2 b _080244AC .pool _08024490: @@ -29187,7 +29187,7 @@ _08024490: str r0, [sp, 0xC] movs r0, 0 movs r1, 0x1 - bl AddTextPrinterParameterized + bl AddTextPrinterParameterized2 _080244AC: movs r0, 0 movs r1, 0x3 @@ -29653,7 +29653,7 @@ sub_80247D4: @ 80247D4 movs r1, 0x1 mov r2, r9 mov r3, r8 - bl PrintTextOnWindow + bl AddTextPrinterParameterized add sp, 0xC pop {r3,r4} mov r8, r3 @@ -29695,7 +29695,7 @@ sub_802482C: @ 802482C adds r0, r6, 0 movs r1, 0x1 movs r3, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized str r4, [sp] adds r0, r6, 0 mov r1, r8 @@ -36210,7 +36210,7 @@ sub_8027BEC: @ 8027BEC adds r0, r7, 0 movs r1, 0x1 adds r2, r4, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized movs r6, 0 ldr r2, =gStringVar1 mov r8, r2 @@ -36252,7 +36252,7 @@ _08027C76: adds r0, r7, 0 movs r1, 0x1 movs r3, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldr r2, [sp, 0x18] lsls r3, r2, 3 subs r3, r5 @@ -36269,7 +36269,7 @@ _08027C76: adds r0, r7, 0 movs r1, 0x1 mov r2, r8 - bl PrintTextOnWindow + bl AddTextPrinterParameterized adds r6, 0x1 cmp r6, 0x2 ble _08027C76 @@ -39648,7 +39648,7 @@ _08029774: str r3, [sp, 0x8] movs r1, 0x1 movs r3, 0x8 - bl PrintTextOnWindow + bl AddTextPrinterParameterized bl GetMultiplayerId lsls r0, 24 lsrs r0, 24 @@ -39704,7 +39704,7 @@ _080297CC: str r1, [sp, 0x8] movs r1, 0x1 add r2, sp, 0xC - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldr r2, =gUnknown_02022CF8 ldr r0, [r2] add r0, r10 @@ -39719,7 +39719,7 @@ _080297CC: movs r1, 0x1 ldr r2, =gText_SpacePoints lsrs r3, 24 - bl PrintTextOnWindow + bl AddTextPrinterParameterized adds r0, r5, 0x1 lsls r0, 24 lsrs r5, r0, 24 @@ -39858,7 +39858,7 @@ _0802996C: movs r5, 0 str r5, [sp, 0x8] mov r2, r8 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldr r0, [r4] add r0, r9 ldrb r0, [r0] @@ -39869,7 +39869,7 @@ _0802996C: str r5, [sp, 0x8] movs r1, 0x1 movs r3, 0x44 - bl PrintTextOnWindow + bl AddTextPrinterParameterized mov r9, r5 ldr r0, [sp, 0xC] cmp r9, r0 @@ -39997,7 +39997,7 @@ _08029AE0: str r1, [sp, 0x8] movs r1, 0x1 ldr r2, =gStringVar4 - bl PrintTextOnWindow + bl AddTextPrinterParameterized _08029B10: adds r0, r7, 0x1 lsls r0, 24 @@ -40125,7 +40125,7 @@ _08029BFC: str r1, [sp, 0x8] movs r1, 0x1 adds r2, r6, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized b _08029F88 .pool _08029C60: @@ -40291,7 +40291,7 @@ _08029DA0: str r6, [sp, 0x8] movs r1, 0x1 adds r2, r5, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized bl DynamicPlaceholderTextUtil_Reset bl sub_802762C lsls r0, 16 @@ -40317,7 +40317,7 @@ _08029DA0: movs r1, 0x1 adds r2, r7, 0 movs r3, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized bl sub_80279C8 lsls r0, 24 lsrs r4, r0, 24 @@ -40363,7 +40363,7 @@ _08029EA8: str r1, [sp, 0x8] movs r1, 0x1 movs r3, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized _08029EC8: ldr r4, =gUnknown_02022CF8 ldr r0, [r4] @@ -40597,7 +40597,7 @@ _0802A0CC: str r1, [sp, 0x8] movs r1, 0x1 movs r3, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldr r0, [r7] add r0, r10 ldrb r0, [r0] @@ -40609,7 +40609,7 @@ _0802A0CC: str r1, [sp, 0x8] movs r1, 0x1 movs r3, 0x8 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldr r0, [r7] add r0, r10 ldrb r0, [r0] @@ -40622,7 +40622,7 @@ _0802A0CC: str r1, [sp, 0x8] movs r1, 0x1 movs r3, 0x8 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldr r0, [r7] add r0, r10 ldrb r0, [r0] @@ -40634,7 +40634,7 @@ _0802A0CC: str r1, [sp, 0x8] movs r1, 0x1 movs r3, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldr r0, [r7] add r0, r8 ldrb r0, [r0] @@ -40701,7 +40701,7 @@ _0802A1DC: str r1, [sp, 0x8] movs r1, 0x1 movs r3, 0x8 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldr r0, [r7] add r0, r8 ldrb r0, [r0] @@ -40714,7 +40714,7 @@ _0802A1DC: str r1, [sp, 0x8] movs r1, 0x1 movs r3, 0x8 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldr r0, [r7] add r0, r8 ldrb r0, [r0] @@ -40731,7 +40731,7 @@ _0802A1DC: str r1, [sp, 0x8] movs r1, 0x1 movs r3, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldr r0, [r7] add r0, r8 ldrb r0, [r0] @@ -40901,7 +40901,7 @@ _0802A3AE: movs r0, 0 movs r1, 0x1 movs r3, 0 - bl AddTextPrinterParameterized + bl AddTextPrinterParameterized2 b _0802A410 .pool _0802A3D8: @@ -41021,7 +41021,7 @@ _0802A4AC: str r1, [sp, 0x8] movs r1, 0x1 movs r3, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldr r0, [r5] adds r0, r4 ldrb r0, [r0] @@ -41181,7 +41181,7 @@ _0802A610: str r1, [sp, 0x8] movs r1, 0x1 movs r3, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldr r0, [r6] adds r0, r4 ldrb r0, [r0] @@ -47057,7 +47057,7 @@ _0802D46A: str r4, [sp, 0x8] movs r1, 0x1 movs r3, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldr r0, [r5] ldrb r0, [r0, 0x12] movs r1, 0x2 @@ -47141,7 +47141,7 @@ _0802D516: str r4, [sp, 0x8] movs r1, 0x1 movs r3, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldr r0, [r5] ldrb r0, [r0, 0x12] movs r1, 0x2 @@ -47259,7 +47259,7 @@ _0802D606: str r4, [sp, 0x8] movs r1, 0x1 movs r3, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldr r0, [r5] ldrb r0, [r0, 0x12] movs r1, 0x2 @@ -47339,7 +47339,7 @@ _0802D6AA: str r4, [sp, 0x8] movs r1, 0x1 movs r3, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldr r0, [r5] ldrb r0, [r0, 0x12] movs r1, 0x2 @@ -47538,7 +47538,7 @@ sub_802D7E8: @ 802D7E8 str r1, [sp, 0x4] str r3, [sp, 0x8] movs r1, 0x1 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldr r0, [r5] ldrb r0, [r0, 0x12] movs r1, 0x2 @@ -47592,7 +47592,7 @@ sub_802D884: @ 802D884 str r5, [sp, 0x8] movs r1, 0x1 movs r3, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldr r0, [r4] ldrb r0, [r0, 0x12] movs r1, 0x2 @@ -47645,7 +47645,7 @@ sub_802D8FC: @ 802D8FC str r5, [sp, 0x8] movs r1, 0x1 movs r3, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldr r0, [r4] ldrb r0, [r0, 0x12] movs r1, 0x2 @@ -49203,7 +49203,7 @@ sub_802E500: @ 802E500 adds r0, r4, 0 movs r1, 0x1 adds r2, r5, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized movs r6, 0 adds r7, r4, 0 movs r0, 0xFF @@ -49231,7 +49231,7 @@ _0802E58A: adds r0, r7, 0 movs r1, 0x1 movs r3, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldr r0, [sp, 0x20] ldm r0!, {r1} str r0, [sp, 0x20] @@ -49258,7 +49258,7 @@ _0802E58A: adds r0, r7, 0 movs r1, 0x1 adds r2, r5, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized movs r0, 0x80 lsls r0, 21 add r8, r0 diff --git a/asm/roulette.s b/asm/roulette.s index b0098daf62..f5d2dc3726 100644 --- a/asm/roulette.s +++ b/asm/roulette.s @@ -519,7 +519,7 @@ _081406E0: str r5, [sp, 0x8] movs r1, 0x1 movs r3, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldrb r0, [r4] movs r1, 0x3 bl CopyWindowToVram @@ -751,7 +751,7 @@ sub_8140914: @ 8140914 str r1, [sp, 0x8] movs r1, 0x1 movs r3, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldrb r0, [r5] movs r1, 0x3 bl CopyWindowToVram @@ -2655,7 +2655,7 @@ _08141902: str r1, [sp, 0x8] movs r1, 0x1 movs r3, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldrb r0, [r4] movs r1, 0x3 bl CopyWindowToVram @@ -2678,7 +2678,7 @@ _08141928: str r1, [sp, 0x8] movs r1, 0x1 movs r3, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldrb r0, [r4] movs r1, 0x3 bl CopyWindowToVram @@ -2816,7 +2816,7 @@ sub_8141A18: @ 8141A18 movs r1, 0x1 mov r2, r8 movs r3, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldrb r0, [r5] movs r1, 0x3 bl CopyWindowToVram @@ -3012,7 +3012,7 @@ _08141BB0: str r1, [sp, 0x8] movs r1, 0x1 movs r3, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldrb r0, [r4] movs r1, 0x3 bl CopyWindowToVram @@ -3039,7 +3039,7 @@ _08141C58: str r1, [sp, 0x8] movs r1, 0x1 movs r3, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldrb r0, [r4] movs r1, 0x3 bl CopyWindowToVram @@ -3071,7 +3071,7 @@ _08141CBC: str r1, [sp, 0x8] movs r1, 0x1 movs r3, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldrb r0, [r4] movs r1, 0x3 bl CopyWindowToVram @@ -3158,7 +3158,7 @@ _08141D44: str r1, [sp, 0x8] movs r1, 0x1 movs r3, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldrb r0, [r4] movs r1, 0x3 bl CopyWindowToVram @@ -4676,7 +4676,7 @@ sub_81429F0: @ 81429F0 movs r1, 0x1 adds r2, r4, 0 movs r3, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized movs r0, 0 movs r1, 0x3 bl CopyWindowToVram @@ -4753,7 +4753,7 @@ sub_8142A88: @ 8142A88 str r0, [sp, 0x8] movs r1, 0x1 movs r3, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized movs r0, 0 movs r1, 0x3 bl CopyWindowToVram @@ -4778,7 +4778,7 @@ _08142B28: movs r1, 0x1 adds r2, r4, 0 movs r3, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized movs r0, 0 movs r1, 0x3 bl CopyWindowToVram @@ -4808,7 +4808,7 @@ _08142B78: movs r1, 0x1 adds r2, r5, 0 movs r3, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized movs r0, 0 movs r1, 0x3 bl CopyWindowToVram diff --git a/asm/script_menu.s b/asm/script_menu.s index b521121bfd..bb145e78d4 100644 --- a/asm/script_menu.s +++ b/asm/script_menu.s @@ -761,7 +761,7 @@ _080E23D4: adds r0, r6, 0 movs r1, 0x1 adds r3, r7, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldr r2, =gText_LogOff movs r0, 0x31 str r0, [sp] @@ -770,7 +770,7 @@ _080E23D4: adds r0, r6, 0 movs r1, 0x1 adds r3, r7, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized b _080E247A .pool _080E2448: @@ -795,7 +795,7 @@ _080E2448: adds r0, r6, 0 movs r1, 0x1 adds r3, r7, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized _080E247A: ldr r0, =0x000008ab bl FlagGet @@ -813,7 +813,7 @@ _080E247A: adds r0, r6, 0 movs r1, 0x1 adds r3, r7, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized b _080E24C6 .pool _080E24B0: @@ -826,7 +826,7 @@ _080E24B0: adds r0, r6, 0 movs r1, 0x1 adds r3, r7, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized _080E24C6: ldr r4, =gStringVar4 ldr r1, =gText_PlayersPC @@ -877,7 +877,7 @@ ScriptMenu_DisplayPCStartupPrompt: @ 80E2514 movs r0, 0 movs r1, 0x1 movs r3, 0 - bl AddTextPrinterParameterized + bl AddTextPrinterParameterized2 add sp, 0x10 pop {r0} bx r0 @@ -1228,7 +1228,7 @@ _080E2802: adds r0, r6, 0 movs r1, 0x1 movs r3, 0x8 - bl PrintTextOnWindow + bl AddTextPrinterParameterized adds r0, r5, 0x1 lsls r0, 24 lsrs r5, r0, 24 @@ -1606,7 +1606,7 @@ _080E2B12: movs r0, 0 movs r1, 0x1 movs r3, 0 - bl AddTextPrinterParameterized + bl AddTextPrinterParameterized2 b _080E2B70 .pool _080E2B40: @@ -1630,7 +1630,7 @@ _080E2B40: movs r0, 0 movs r1, 0x1 movs r3, 0 - bl AddTextPrinterParameterized + bl AddTextPrinterParameterized2 _080E2B70: add sp, 0x10 pop {r4} @@ -1687,7 +1687,7 @@ CreateStartMenu: @ 80E2BAC adds r0, r4, 0 movs r1, 0x1 movs r3, 0x8 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldr r2, =gText_MenuOptionPokemon movs r0, 0x19 str r0, [sp] @@ -1696,7 +1696,7 @@ CreateStartMenu: @ 80E2BAC adds r0, r4, 0 movs r1, 0x1 movs r3, 0x8 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldr r2, =gText_MenuOptionBag movs r0, 0x29 str r0, [sp] @@ -1705,7 +1705,7 @@ CreateStartMenu: @ 80E2BAC adds r0, r4, 0 movs r1, 0x1 movs r3, 0x8 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldr r2, =gText_MenuOptionPokenav movs r0, 0x39 str r0, [sp] @@ -1714,7 +1714,7 @@ CreateStartMenu: @ 80E2BAC adds r0, r4, 0 movs r1, 0x1 movs r3, 0x8 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldr r0, =gSaveBlock2Ptr ldr r2, [r0] movs r0, 0x49 @@ -1724,7 +1724,7 @@ CreateStartMenu: @ 80E2BAC adds r0, r4, 0 movs r1, 0x1 movs r3, 0x8 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldr r2, =gText_MenuOptionSave movs r0, 0x59 str r0, [sp] @@ -1733,7 +1733,7 @@ CreateStartMenu: @ 80E2BAC adds r0, r4, 0 movs r1, 0x1 movs r3, 0x8 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldr r2, =gText_MenuOptionOption movs r0, 0x69 str r0, [sp] @@ -1742,7 +1742,7 @@ CreateStartMenu: @ 80E2BAC adds r0, r4, 0 movs r1, 0x1 movs r3, 0x8 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldr r2, =gText_MenuOptionExit movs r0, 0x79 str r0, [sp] @@ -1751,7 +1751,7 @@ CreateStartMenu: @ 80E2BAC adds r0, r4, 0 movs r1, 0x1 movs r3, 0x8 - bl PrintTextOnWindow + bl AddTextPrinterParameterized movs r0, 0x10 str r0, [sp] movs r0, 0x8 diff --git a/asm/shop.s b/asm/shop.s index 30a5ec278a..8072373897 100644 --- a/asm/shop.s +++ b/asm/shop.s @@ -839,7 +839,7 @@ _080E0176: adds r0, r6, 0 movs r1, 0x7 adds r3, r7, 0 - bl AddTextPrinterParameterized2 + bl AddTextPrinterParameterized4 _080E01AC: add sp, 0x14 pop {r4-r7} @@ -1201,7 +1201,7 @@ BuyMenuPrint: @ 80E04A4 str r6, [sp, 0xC] str r1, [sp, 0x10] movs r1, 0x1 - bl AddTextPrinterParameterized2 + bl AddTextPrinterParameterized4 add sp, 0x14 pop {r4-r6} pop {r0} diff --git a/asm/trade.s b/asm/trade.s index 30a22ff758..1c9d1f17b4 100644 --- a/asm/trade.s +++ b/asm/trade.s @@ -4608,7 +4608,7 @@ _080798BC: movs r1, 0x1 movs r2, 0 movs r3, 0 - bl AddTextPrinterParameterized2 + bl AddTextPrinterParameterized4 adds r0, r5, 0 bl PutWindowTilemap adds r0, r5, 0 @@ -5599,7 +5599,7 @@ sub_807A19C: @ 807A19C str r0, [sp, 0x8] movs r1, 0x1 movs r3, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized movs r0, 0 movs r1, 0x14 movs r2, 0xC @@ -14295,7 +14295,7 @@ sub_807F1A8: @ 807F1A8 movs r1, 0x1 movs r2, 0 movs r3, 0x2 - bl AddTextPrinterParameterized2 + bl AddTextPrinterParameterized4 adds r0, r5, 0 movs r1, 0x3 bl CopyWindowToVram diff --git a/asm/trainer_card.s b/asm/trainer_card.s index 8ebcfbaccc..2c38140c65 100644 --- a/asm/trainer_card.s +++ b/asm/trainer_card.s @@ -419,7 +419,7 @@ _080C2A2C: str r0, [sp, 0x8] movs r1, 0x1 movs r3, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized movs r0, 0 movs r1, 0x3 bl CopyWindowToVram @@ -8258,7 +8258,7 @@ _080C6E08: str r1, [sp, 0x10] movs r1, 0x1 movs r3, 0x1 - bl AddTextPrinterParameterized2 + bl AddTextPrinterParameterized4 ldr r0, [sp, 0x4C] mov r10, r4 cmp r0, 0x6 @@ -8410,7 +8410,7 @@ sub_80C6EAC: @ 80C6EAC movs r1, 0x1 movs r2, 0 movs r3, 0x2 - bl AddTextPrinterParameterized2 + bl AddTextPrinterParameterized4 lsrs r5, 1 adds r0, r7, 0 ldr r1, [sp, 0x24] diff --git a/asm/use_pokeblock.s b/asm/use_pokeblock.s index f4a2bdbb28..e04dedd9ec 100644 --- a/asm/use_pokeblock.s +++ b/asm/use_pokeblock.s @@ -879,7 +879,7 @@ sub_8166D44: @ 8166D44 movs r1, 0x1 adds r2, r4, 0 movs r3, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized movs r0, 0x2 bl PutWindowTilemap movs r0, 0x2 @@ -1095,7 +1095,7 @@ sub_8166F50: @ 8166F50 movs r0, 0x2 movs r1, 0x1 movs r3, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized movs r0, 0x2 bl PutWindowTilemap movs r0, 0x2 @@ -1134,7 +1134,7 @@ sub_8166FB0: @ 8166FB0 movs r0, 0x2 movs r1, 0x1 movs r3, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized add sp, 0xC pop {r0} bx r0 @@ -2536,7 +2536,7 @@ sub_8167BA0: @ 8167BA0 movs r0, 0 movs r1, 0x1 movs r3, 0 - bl PrintTextOnWindow + bl AddTextPrinterParameterized ldr r0, [r7] ldr r1, =0x00008041 adds r0, r1 diff --git a/include/menu.h b/include/menu.h index 145a7d5dea..b52b165f28 100644 --- a/include/menu.h +++ b/include/menu.h @@ -27,7 +27,7 @@ void sub_81973A4(void); void NewMenuHelpers_DrawDialogueFrame(u8, u8); void sub_819746C(u8 windowId, bool8 copyToVram); void NewMenuHelpers_DrawStdWindowFrame(u8, u8); -u16 AddTextPrinterParameterized(u8 windowId, u8 fontId, const u8 *str, u8 speed, void (*callback)(struct TextSubPrinter *, u16), u8 fgColor, u8 bgColor, u8 shadowColor); +u16 AddTextPrinterParameterized2(u8 windowId, u8 fontId, const u8 *str, u8 speed, void (*callback)(struct TextSubPrinter *, u16), u8 fgColor, u8 bgColor, u8 shadowColor); void PrintPlayerNameOnWindow(u8, const u8*, u16, u16); void DisplayItemMessageOnField(u8 taskId, const u8 *src, TaskFunc callback); void sub_8197434(u8 windowId, bool8 copyToVram); @@ -58,7 +58,7 @@ s8 Menu_ProcessInputNoWrap_(void); s8 ProcessMenuInput_other(void); void do_scheduled_bg_tilemap_copies_to_vram(void); void clear_scheduled_bg_copies_to_vram(void); -void AddTextPrinterParameterized2(u8 windowId, u8 fontId, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, const u8 *color, s8 speed, const u8 *str); +void AddTextPrinterParameterized4(u8 windowId, u8 fontId, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, const u8 *color, s8 speed, const u8 *str); void sub_8197B1C(u8 windowId, bool8 copyToVram, u16 a2, u8 a3); void sub_81995E4(u8 windowId, u8 optionsNo, const struct MenuAction *actions, const u8 *actionIds); void sub_8197DF8(u8 windowId, bool8 copyToVram); @@ -84,7 +84,7 @@ void sub_819A344(u8 a0, u8 *dest, u8 color); void RemoveMapNamePopUpWindow(void); u8 GetMapNamePopUpWindowId(void); u8 AddMapNamePopUpWindow(void); -void sub_8199F74(u8 windowId, u8 fontId, const u8 *str, u8 left, u8 top, u8 speed, void (*callback)(struct TextSubPrinter *, u16), u8 letterSpacing, u8 lineSpacing); +void AddTextPrinterParameterized5(u8 windowId, u8 fontId, const u8 *str, u8 left, u8 top, u8 speed, void (*callback)(struct TextSubPrinter *, u16), u8 letterSpacing, u8 lineSpacing); 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); diff --git a/include/text.h b/include/text.h index 92def780c2..e2120efa33 100644 --- a/include/text.h +++ b/include/text.h @@ -223,7 +223,7 @@ u8 gGlyphDimensions[0x2]; void SetFontsPointer(const struct FontInfo *fonts); void DeactivateAllTextPrinters(void); -u16 PrintTextOnWindow(u8 windowId, u8 fontId, const u8 *str, u8 x, u8 y, u8 speed, void (*callback)(struct TextSubPrinter *, u16)); +u16 AddTextPrinterParameterized(u8 windowId, u8 fontId, const u8 *str, u8 x, u8 y, u8 speed, void (*callback)(struct TextSubPrinter *, u16)); bool16 AddTextPrinter(struct TextSubPrinter *textSubPrinter, u8 speed, void (*callback)(struct TextSubPrinter *, u16)); void RunTextPrinters(void); bool16 IsTextPrinterActive(u8 id); diff --git a/src/battle_factory.c b/src/battle_factory.c index 6324f4040c..6d75145047 100644 --- a/src/battle_factory.c +++ b/src/battle_factory.c @@ -90,6 +90,12 @@ struct FactorySelectMonsStruct // 'Action' refers to the Cancel, Pknm for swap windows. +struct UnkField18Struct +{ + u8 unk0; + u8 unk1[7]; +}; + struct FactorySwapMonsStruct { u8 menuCursorPos; @@ -105,11 +111,8 @@ struct FactorySwapMonsStruct u8 actionsState; bool8 fromSummaryScreen; u8 yesNoCursorPos; - u8 unk17; - u8 unk18; - u8 unk19; - u8 unk1A; - u8 unk1B; + u8 actionsCount; + struct UnkField18Struct *unk18; u8 unk1C; u8 unk1D; u8 unk1E; @@ -174,8 +177,9 @@ static u8 Select_OptionRentDeselect(void); u8 sub_81A6F70(u8 battleMode, u8 lvlMode); u8 sub_81A6CA8(u8 arg0, u8 arg1); static bool32 Select_AreSpeciesValid(u16 monSetId); -void sub_819E538(void); -void sub_819E9E0(void); +void Swap_DestroyAllSprites(void); +void Swap_ShowYesNoOptions(void); +void sub_819E8EC(void); void sub_819EAC0(void); void Swap_UpdateYesNoCursorPosition(s8 direction); void Swap_UpdateMenuCursorPosition(s8 direction); @@ -185,6 +189,8 @@ void Task_HandleSwapScreenChooseMons(u8 taskId); void sub_819D588(u8 taskId); void Swap_PrintOnInfoWindow(const u8 *str); void Swap_ShowMenuOptions(void); +void Swap_PrintMenuOptions(void); +void Swap_PrintYesNoOptions(void); void Swap_PrintMonSpecies(void); void Swap_PrintMonSpecies2(void); void Swap_PrintMonSpecies3(void); @@ -201,19 +207,20 @@ void Swap_RunMenuOptionFunc(u8 taskId); void sub_819F184(u8 taskId); void Swap_PrintActionStrings(void); void Swap_PrintActionStrings2(void); -void Swap_PrintActionStrings3(u8 field); -void sub_819F048(u8 field); +void Swap_PrintActionStrings3(u8 arg0); +void sub_819F048(u8 arg0); +void sub_819E838(u8 arg0); // Ewram variables EWRAM_DATA u8 *gUnknown_0203CE2C = NULL; EWRAM_DATA u8 *gUnknown_0203CE30 = NULL; EWRAM_DATA u8 *gUnknown_0203CE34 = NULL; EWRAM_DATA u8 *gUnknown_0203CE38 = NULL; -static EWRAM_DATA struct Pokemon *sFactorySelectMons = NULL; -extern u8 *gUnknown_0203CE40; -extern u8 *gUnknown_0203CE44; -extern u8 *gUnknown_0203CE48; -extern u8 *gUnknown_0203CE4C; +EWRAM_DATA struct Pokemon *sFactorySelectMons = NULL; +EWRAM_DATA u8 *gUnknown_0203CE40 = NULL; +EWRAM_DATA u8 *gUnknown_0203CE44 = NULL; +EWRAM_DATA u8 *gUnknown_0203CE48 = NULL; +EWRAM_DATA u8 *gUnknown_0203CE4C = NULL; // IWRAM bss IWRAM_DATA struct FactorySelectMonsStruct *sFactorySelectScreen; @@ -281,6 +288,7 @@ extern const struct SpriteTemplate gUnknown_08610608; extern const struct SpriteTemplate gUnknown_08610620; extern const struct SpriteTemplate gUnknown_08610638; extern const u8 gUnknown_08610479[]; +extern const u8 gUnknown_08610925[]; extern const u8 gUnknown_08610476[]; extern const struct SpritePalette gUnknown_086106B0[]; extern const struct SpriteSheet gUnknown_08610650[]; @@ -308,6 +316,7 @@ extern const u8 gText_QuitSwapping[]; extern const u8 gText_AcceptThisPkmn[]; extern const u8 gText_SelectPkmnToAccept[]; extern const u8 gText_SelectPkmnToSwap[]; +extern const u8 gText_PkmnSwap[]; // code void sub_819A44C(struct Sprite *sprite) @@ -1066,7 +1075,7 @@ static void sub_819B958(u8 windowId) static void Select_PrintRentalPkmnString(void) { FillWindowPixelBuffer(0, 0); - PrintTextOnWindow(0, 1, gText_RentalPkmn2, 2, 1, 0, NULL); + AddTextPrinterParameterized(0, 1, gText_RentalPkmn2, 2, 1, 0, NULL); CopyWindowToVram(0, 3); } @@ -1098,14 +1107,14 @@ static void Select_PrintSelectMonString(void) else str = gText_TheseThreePkmnOkay; - PrintTextOnWindow(2, 1, str, 2, 5, 0, NULL); + AddTextPrinterParameterized(2, 1, str, 2, 5, 0, NULL); CopyWindowToVram(2, 2); } static void Select_PrintCantSelectSameMon(void) { FillWindowPixelBuffer(2, 0); - PrintTextOnWindow(2, 1, gText_CantSelectSamePkmn, 2, 5, 0, NULL); + AddTextPrinterParameterized(2, 1, gText_CantSelectSamePkmn, 2, 5, 0, NULL); CopyWindowToVram(2, 2); } @@ -1200,7 +1209,7 @@ static void Select_PrintMonCategory(void) species = GetMonData(&sFactorySelectScreen->mons[monId].monData, MON_DATA_SPECIES, NULL); CopyMonCategoryText(SpeciesToNationalPokedexNum(species), text); x = GetStringRightAlignXOffset(1, text, 0x76); - PrintTextOnWindow(5, 1, text, x, 1, 0, NULL); + AddTextPrinterParameterized(5, 1, text, x, 1, 0, NULL); CopyWindowToVram(5, 2); } } @@ -1554,7 +1563,7 @@ void sub_819C90C(u8 taskId) // Task_FromSelectScreenToSummaryScreen { DestroyTask(sFactorySwapScreen->palBlendTaskId); sub_819F444(sFactorySwapScreen->unk2C, &sFactorySwapScreen->unk30); - sub_819E538(); + Swap_DestroyAllSprites(); FREE_AND_SET_NULL(gUnknown_0203CE40); FREE_AND_SET_NULL(gUnknown_0203CE44); FREE_AND_SET_NULL(gUnknown_0203CE48); @@ -1606,7 +1615,7 @@ void sub_819CA08(u8 taskId) // Task_CloseSelectionScreen if (!UpdatePaletteFade()) { DestroyTask(sFactorySwapScreen->palBlendTaskId); - sub_819E538(); + Swap_DestroyAllSprites(); FREE_AND_SET_NULL(gUnknown_0203CE40); FREE_AND_SET_NULL(gUnknown_0203CE44); FREE_AND_SET_NULL(gUnknown_0203CE48); @@ -1630,7 +1639,7 @@ void Task_HandleSwapScreenYesNo(u8 taskId) switch (gTasks[taskId].data[0]) { case 4: - sub_819E9E0(); + Swap_ShowYesNoOptions(); gTasks[taskId].data[0] = 5; break; case 5: @@ -2623,3 +2632,267 @@ void Swap_InitAllSprites(void) gSprites[sFactorySwapScreen->unk8[0][1]].invisible = 0; gSprites[sFactorySwapScreen->unk8[0][2]].invisible = 0; } + +void Swap_DestroyAllSprites(void) +{ + u8 i, j; + + for (i = 0; i < 3; i++) + DestroySprite(&gSprites[sFactorySwapScreen->ballSpriteIds[i]]); + DestroySprite(&gSprites[sFactorySwapScreen->cursorSpriteId]); + DestroySprite(&gSprites[sFactorySwapScreen->menuCursor1SpriteId]); + DestroySprite(&gSprites[sFactorySwapScreen->menuCursor2SpriteId]); + for (i = 0; i < 2; i++) + { + for (j = 0; j < 3; j++) + DestroySprite(&gSprites[sFactorySwapScreen->unk8[i][j]]); + } + for (i = 0; i < 2; i++) + { + for (j = 0; j < 2; j++) + DestroySprite(&gSprites[sFactorySwapScreen->unkE[i][j]]); + } +} + +void Swap_HandleActionCursorChange(u8 cursorId) +{ + if (cursorId < 3) + { + gSprites[sFactorySwapScreen->cursorSpriteId].invisible = 0; + sub_819E8EC(); + gSprites[sFactorySwapScreen->cursorSpriteId].pos1.x = gSprites[sFactorySwapScreen->ballSpriteIds[cursorId]].pos1.x; + } + else + { + gSprites[sFactorySwapScreen->cursorSpriteId].invisible = 1; + sub_819E838(sFactorySwapScreen->unk18[cursorId].unk0); + } +} + +void Swap_UpdateBallCursorPosition(s8 direction) +{ + u8 cursorPos; + PlaySE(SE_SELECT); + if (direction > 0) // Move cursor right. + { + if (sFactorySwapScreen->cursorPos + 1 != sFactorySwapScreen->actionsCount) + sFactorySwapScreen->cursorPos++; + else + sFactorySwapScreen->cursorPos = 0; + } + else // Move cursor left. + { + if (sFactorySwapScreen->cursorPos != 0) + sFactorySwapScreen->cursorPos--; + else + sFactorySwapScreen->cursorPos = sFactorySwapScreen->actionsCount - 1; + } + + cursorPos = sFactorySwapScreen->cursorPos; + Swap_HandleActionCursorChange(cursorPos); +} + +void Swap_UpdateActionCursorPosition(s8 direction) +{ + u8 cursorPos; + PlaySE(SE_SELECT); + if (direction > 0) // Move cursor down. + { + if (sFactorySwapScreen->cursorPos < 3) + sFactorySwapScreen->cursorPos = 3; + else if (sFactorySwapScreen->cursorPos + 1 != sFactorySwapScreen->actionsCount) + sFactorySwapScreen->cursorPos++; + else + sFactorySwapScreen->cursorPos = 0; + } + else // Move cursor up. + { + if (sFactorySwapScreen->cursorPos < 3) + sFactorySwapScreen->cursorPos = sFactorySwapScreen->actionsCount - 1; + else if (sFactorySwapScreen->cursorPos != 0) + sFactorySwapScreen->cursorPos--; + else + sFactorySwapScreen->cursorPos = sFactorySwapScreen->actionsCount - 1; + } + + cursorPos = sFactorySwapScreen->cursorPos; + Swap_HandleActionCursorChange(cursorPos); +} + +void Swap_UpdateYesNoCursorPosition(s8 direction) +{ + if (direction > 0) // Move cursor down. + { + if (sFactorySwapScreen->yesNoCursorPos != 1) + sFactorySwapScreen->yesNoCursorPos++; + else + sFactorySwapScreen->yesNoCursorPos = 0; + } + else // Move cursor up. + { + if (sFactorySwapScreen->yesNoCursorPos != 0) + sFactorySwapScreen->yesNoCursorPos--; + else + sFactorySwapScreen->yesNoCursorPos = 1; + } + + gSprites[sFactorySwapScreen->menuCursor1SpriteId].pos1.y = (sFactorySwapScreen->yesNoCursorPos * 16) + 112; + gSprites[sFactorySwapScreen->menuCursor2SpriteId].pos1.y = (sFactorySwapScreen->yesNoCursorPos * 16) + 112; +} + +void Swap_UpdateMenuCursorPosition(s8 direction) +{ + PlaySE(SE_SELECT); + if (direction > 0) // Move cursor down. + { + if (sFactorySwapScreen->menuCursorPos != MENU_OPTIONS_COUNT - 1) + sFactorySwapScreen->menuCursorPos++; + else + sFactorySwapScreen->menuCursorPos = 0; + } + else // Move cursor up. + { + if (sFactorySwapScreen->menuCursorPos != 0) + sFactorySwapScreen->menuCursorPos--; + else + sFactorySwapScreen->menuCursorPos = MENU_OPTIONS_COUNT - 1; + } + + gSprites[sFactorySwapScreen->menuCursor1SpriteId].pos1.y = (sFactorySwapScreen->menuCursorPos * 16) + 112; + gSprites[sFactorySwapScreen->menuCursor2SpriteId].pos1.y = (sFactorySwapScreen->menuCursorPos * 16) + 112; +} + +void sub_819E838(u8 arg0) +{ + u8 i; + + for (i = 0; i < 3; i++) + { + if (arg0 == 2) + { + gSprites[sFactorySwapScreen->unk8[1][i]].invisible = 0; + if (i < 2) + gSprites[sFactorySwapScreen->unkE[1][i]].invisible = 1; + } + else if (arg0 == 3) + { + if (i < 2) + gSprites[sFactorySwapScreen->unkE[1][i]].invisible = 0; + gSprites[sFactorySwapScreen->unk8[1][i]].invisible = 1; + } + } +} + +void sub_819E8EC(void) +{ + u8 i; + + for (i = 0; i < 3; i++) + { + gSprites[sFactorySwapScreen->unk8[1][i]].invisible = 1; + if (i < 2) + gSprites[sFactorySwapScreen->unkE[1][i]].invisible = 1; + } +} + +void Swap_ShowMenuOptions(void) +{ + if (sFactorySwapScreen->fromSummaryScreen == TRUE) + sFactorySwapScreen->fromSummaryScreen = FALSE; + else + sFactorySwapScreen->menuCursorPos = 0; + + gSprites[sFactorySwapScreen->menuCursor1SpriteId].pos1.x = 176; + gSprites[sFactorySwapScreen->menuCursor1SpriteId].pos1.y = (sFactorySwapScreen->menuCursorPos * 16) + 112; + gSprites[sFactorySwapScreen->menuCursor2SpriteId].pos1.x = 208; + gSprites[sFactorySwapScreen->menuCursor2SpriteId].pos1.y = (sFactorySwapScreen->menuCursorPos * 16) + 112; + + gSprites[sFactorySwapScreen->menuCursor1SpriteId].invisible = 0; + gSprites[sFactorySwapScreen->menuCursor2SpriteId].invisible = 0; + + Swap_PrintMenuOptions(); +} + +void Swap_ShowYesNoOptions(void) +{ + sFactorySwapScreen->yesNoCursorPos = 0; + + gSprites[sFactorySwapScreen->menuCursor1SpriteId].pos1.x = 176; + gSprites[sFactorySwapScreen->menuCursor1SpriteId].pos1.y = 112; + gSprites[sFactorySwapScreen->menuCursor2SpriteId].pos1.x = 208; + gSprites[sFactorySwapScreen->menuCursor2SpriteId].pos1.y = 112; + + gSprites[sFactorySwapScreen->menuCursor1SpriteId].invisible = 0; + gSprites[sFactorySwapScreen->menuCursor2SpriteId].invisible = 0; + + Swap_PrintYesNoOptions(); +} + +void sub_819EA64(u8 windowId) +{ + gSprites[sFactorySwapScreen->menuCursor1SpriteId].invisible = 1; + gSprites[sFactorySwapScreen->menuCursor2SpriteId].invisible = 1; + FillWindowPixelBuffer(windowId, 0); + CopyWindowToVram(windowId, 2); + ClearWindowTilemap(windowId); +} + +void sub_819EAC0(void) +{ + PutWindowTilemap(1); + FillWindowPixelBuffer(1, 0); + CopyWindowToVram(1, 2); +} + +void sub_819EADC(void) +{ + PutWindowTilemap(7); + FillWindowPixelBuffer(7, 0); + CopyWindowToVram(7, 2); +} + +void sub_819EAF8(void) +{ + sub_819EAC0(); + PutWindowTilemap(5); + FillWindowPixelBuffer(5, 0); + CopyWindowToVram(5, 2); +} + +void Swap_PrintPkmnSwap(void) +{ + FillWindowPixelBuffer(0, 0x11); + AddTextPrinterParameterized(0, 1, gText_PkmnSwap, 2, 1, 0, NULL); + CopyWindowToVram(0, 3); +} + +void Swap_PrintMonSpecies(void) +{ + u16 species; + u8 x; + + FillWindowPixelBuffer(1, 0); + if (sFactorySwapScreen->cursorPos > 2) + { + CopyWindowToVram(1, 2); + } + else + { + u8 monId = sFactorySwapScreen->cursorPos; + if (sFactorySwapScreen->actionsState == 0) + species = GetMonData(&gPlayerParty[monId], MON_DATA_SPECIES, NULL); + else + species = GetMonData(&gEnemyParty[monId], MON_DATA_SPECIES, NULL); + StringCopy(gStringVar4, gSpeciesNames[species]); + x = GetStringRightAlignXOffset(1, gStringVar4, 86); + AddTextPrinterParameterized3(1, 1, x, 1, gUnknown_08610925, 0, gStringVar4); + CopyWindowToVram(1, 3); + } +} + +void Swap_PrintOnInfoWindow(const u8 *str) +{ + FillWindowPixelBuffer(2, 0); + AddTextPrinterParameterized(2, 1, str, 2, 5, 0, NULL); + CopyWindowToVram(2, 2); +} diff --git a/src/battle_interface.c b/src/battle_interface.c index 278edb6f43..e45af2bf09 100644 --- a/src/battle_interface.c +++ b/src/battle_interface.c @@ -2589,7 +2589,7 @@ static u8* AddTextPrinterAndCreateWindowOnHealthbox(const u8 *str, u32 x, u32 y, color[1] = 1; color[2] = 3; - AddTextPrinterParameterized2(winId, 0, x, y, 0, 0, color, -1, str); + AddTextPrinterParameterized4(winId, 0, x, y, 0, 0, color, -1, str); *windowId = winId; return (u8*)(GetWindowAttribute(winId, WINDOW_TILE_DATA)); diff --git a/src/battle_pyramid_bag.c b/src/battle_pyramid_bag.c index 8a5ce7a99a..5a31554b42 100644 --- a/src/battle_pyramid_bag.c +++ b/src/battle_pyramid_bag.c @@ -997,7 +997,7 @@ static void sub_81C6404(void) StringExpandPlaceholders(gStringVar4, gText_xVar1); sub_81C6CEC(3); x = GetStringCenterAlignXOffset(1, gStringVar4, 0x28); - PrintTextOnWindow(3, 1, gStringVar4, x, 2, 0, NULL); + AddTextPrinterParameterized(3, 1, gStringVar4, x, 2, 0, NULL); } static void sub_81C645C(s16 value) @@ -1007,7 +1007,7 @@ static void sub_81C645C(s16 value) ConvertIntToDecimalStringN(gStringVar1, value, STR_CONV_MODE_LEADING_ZEROS, 2); StringExpandPlaceholders(gStringVar4, gText_xVar1); x = GetStringCenterAlignXOffset(1, gStringVar4, 0x28); - PrintTextOnWindow(3, 1, gStringVar4, x, 2, 0, NULL); + AddTextPrinterParameterized(3, 1, gStringVar4, x, 2, 0, NULL); } static void sub_81C64B4(u8 taskId) @@ -1280,12 +1280,12 @@ static void sub_81C6BD8(void) static void PrintOnWindow_Font1(u8 windowId, const u8 *src, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, u8 speed, u8 colorTableId) { - AddTextPrinterParameterized2(windowId, 1, x, y, letterSpacing, lineSpacing, sColorTable[colorTableId], speed, src); + AddTextPrinterParameterized4(windowId, 1, x, y, letterSpacing, lineSpacing, sColorTable[colorTableId], speed, src); } static void PrintOnWindow_Font7(u8 windowId, const u8 *src, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, u8 speed, u8 colorTableId) { - AddTextPrinterParameterized2(windowId, 7, x, y, letterSpacing, lineSpacing, sColorTable[colorTableId], speed, src); + AddTextPrinterParameterized4(windowId, 7, x, y, letterSpacing, lineSpacing, sColorTable[colorTableId], speed, src); } static void sub_81C6CEC(u8 windowId) diff --git a/src/battle_records.c b/src/battle_records.c index 1680f3cc4e..762cb8aae1 100644 --- a/src/battle_records.c +++ b/src/battle_records.c @@ -266,7 +266,7 @@ static void PrintLinkBattleWinsLossesDraws(struct LinkBattleRecord *records) StringExpandPlaceholders(gStringVar4, gText_TotalRecordWLD); x = GetStringCenterAlignXOffset(1, gStringVar4, 0xD0); - PrintTextOnWindow(gRecordsWindowId, 1, gStringVar4, x, 0x11, 0, NULL); + AddTextPrinterParameterized(gRecordsWindowId, 1, gStringVar4, x, 0x11, 0, NULL); } static void PrintLinkBattleRecord(struct LinkBattleRecord *record, u8 y, s32 language) @@ -274,10 +274,10 @@ static void PrintLinkBattleRecord(struct LinkBattleRecord *record, u8 y, s32 lan if (record->wins == 0 && record->losses == 0 && record->draws == 0) { // empty slot - PrintTextOnWindow(gRecordsWindowId, 1, sText_DashesNoPlayer, 8, (y * 8) + 1, 0, NULL); - PrintTextOnWindow(gRecordsWindowId, 1, sText_DashesNoScore, 80, (y * 8) + 1, 0, NULL); - PrintTextOnWindow(gRecordsWindowId, 1, sText_DashesNoScore, 128, (y * 8) + 1, 0, NULL); - PrintTextOnWindow(gRecordsWindowId, 1, sText_DashesNoScore, 176, (y * 8) + 1, 0, NULL); + AddTextPrinterParameterized(gRecordsWindowId, 1, sText_DashesNoPlayer, 8, (y * 8) + 1, 0, NULL); + AddTextPrinterParameterized(gRecordsWindowId, 1, sText_DashesNoScore, 80, (y * 8) + 1, 0, NULL); + AddTextPrinterParameterized(gRecordsWindowId, 1, sText_DashesNoScore, 128, (y * 8) + 1, 0, NULL); + AddTextPrinterParameterized(gRecordsWindowId, 1, sText_DashesNoScore, 176, (y * 8) + 1, 0, NULL); } else { @@ -285,16 +285,16 @@ static void PrintLinkBattleRecord(struct LinkBattleRecord *record, u8 y, s32 lan StringCopyN(gStringVar1, record->name, 7); ConvertInternationalString(gStringVar1, language); - PrintTextOnWindow(gRecordsWindowId, 1, gStringVar1, 8, (y * 8) + 1, 0, NULL); + AddTextPrinterParameterized(gRecordsWindowId, 1, gStringVar1, 8, (y * 8) + 1, 0, NULL); ConvertIntToDecimalStringN(gStringVar1, record->wins, STR_CONV_MODE_RIGHT_ALIGN, 4); - PrintTextOnWindow(gRecordsWindowId, 1, gStringVar1, 80, (y * 8) + 1, 0, NULL); + AddTextPrinterParameterized(gRecordsWindowId, 1, gStringVar1, 80, (y * 8) + 1, 0, NULL); ConvertIntToDecimalStringN(gStringVar1, record->losses, STR_CONV_MODE_RIGHT_ALIGN, 4); - PrintTextOnWindow(gRecordsWindowId, 1, gStringVar1, 128, (y * 8) + 1, 0, NULL); + AddTextPrinterParameterized(gRecordsWindowId, 1, gStringVar1, 128, (y * 8) + 1, 0, NULL); ConvertIntToDecimalStringN(gStringVar1, record->draws, STR_CONV_MODE_RIGHT_ALIGN, 4); - PrintTextOnWindow(gRecordsWindowId, 1, gStringVar1, 176, (y * 8) + 1, 0, NULL); + AddTextPrinterParameterized(gRecordsWindowId, 1, gStringVar1, 176, (y * 8) + 1, 0, NULL); } } @@ -308,11 +308,11 @@ void ShowLinkBattleRecords(void) StringExpandPlaceholders(gStringVar4, gText_PlayersBattleResults); x = GetStringCenterAlignXOffset(1, gStringVar4, 208); - PrintTextOnWindow(gRecordsWindowId, 1, gStringVar4, x, 1, 0, NULL); + AddTextPrinterParameterized(gRecordsWindowId, 1, gStringVar4, x, 1, 0, NULL); PrintLinkBattleWinsLossesDraws(gSaveBlock1Ptr->linkBattleRecords.entries); StringExpandPlaceholders(gStringVar4, gText_WinLoseDraw); - PrintTextOnWindow(gRecordsWindowId, 1, gStringVar4, 0, 41, 0, NULL); + AddTextPrinterParameterized(gRecordsWindowId, 1, gStringVar4, 0, 41, 0, NULL); for (i = 0; i < LINK_B_RECORDS_COUNT; i++) { diff --git a/src/berry_blender.c b/src/berry_blender.c index 02df933f29..92d44ea782 100644 --- a/src/berry_blender.c +++ b/src/berry_blender.c @@ -3487,8 +3487,8 @@ void ShowBerryBlenderRecordWindow(void) FillWindowPixelBuffer(gRecordsWindowId, 0x11); xPos = GetStringCenterAlignXOffset(1, gText_BlenderMaxSpeedRecord, 0x90); - PrintTextOnWindow(gRecordsWindowId, 1, gText_BlenderMaxSpeedRecord, xPos, 1, 0, NULL); - PrintTextOnWindow(gRecordsWindowId, 1, gText_234Players, 4, 0x29, 0, NULL); + AddTextPrinterParameterized(gRecordsWindowId, 1, gText_BlenderMaxSpeedRecord, xPos, 1, 0, NULL); + AddTextPrinterParameterized(gRecordsWindowId, 1, gText_234Players, 4, 0x29, 0, NULL); for (i = 0, yPos = 0x29; i < BLENDER_SCORES_NO; i++) { @@ -3503,7 +3503,7 @@ void ShowBerryBlenderRecordWindow(void) txtPtr = StringAppend(txtPtr, sText_RPM); xPos = GetStringRightAlignXOffset(1, text, 0x8C); - PrintTextOnWindow(gRecordsWindowId, 1, text, xPos, yPos + (i * 16), 0, NULL); + AddTextPrinterParameterized(gRecordsWindowId, 1, text, xPos, yPos + (i * 16), 0, NULL); } PutWindowTilemap(gRecordsWindowId); @@ -3596,7 +3596,7 @@ static void Blender_AddTextPrinter(u8 windowId, const u8 *string, u8 x, u8 y, s3 FillWindowPixelBuffer(windowId, txtColor[0] | (txtColor[0] << 4)); } - AddTextPrinterParameterized2(windowId, 1, x, y, letterSpacing, 1, txtColor, speed, string); + AddTextPrinterParameterized4(windowId, 1, x, y, letterSpacing, 1, txtColor, speed, string); } static bool32 Blender_PrintText(s16 *textState, const u8 *string, s32 textSpeed) diff --git a/src/berry_tag_screen.c b/src/berry_tag_screen.c index fb4bf68177..7623decd3f 100644 --- a/src/berry_tag_screen.c +++ b/src/berry_tag_screen.c @@ -343,7 +343,7 @@ static void HandleInitWindows(void) static void PrintTextInBerryTagScreen(u8 windowId, const u8 *text, u8 x, u8 y, s32 speed, u8 colorStructId) { - AddTextPrinterParameterized2(windowId, 1, x, y, 0, 0, sTextColors[colorStructId], speed, text); + AddTextPrinterParameterized4(windowId, 1, x, y, 0, 0, sTextColors[colorStructId], speed, text); } static void AddBerryTagTextToBg0(void) @@ -376,7 +376,7 @@ static void PrintBerryNumberAndName(void) static void PrintBerrySize(void) { const struct Berry *berry = GetBerryInfo(sBerryTag->berryId); - PrintTextOnWindow(WIN_SIZE_FIRM, 1, gText_SizeSlash, 0, 1, TEXT_SPEED_FF, NULL); + AddTextPrinterParameterized(WIN_SIZE_FIRM, 1, gText_SizeSlash, 0, 1, TEXT_SPEED_FF, NULL); if (berry->size != 0) { u32 inches, fraction; @@ -390,34 +390,34 @@ static void PrintBerrySize(void) ConvertIntToDecimalStringN(gStringVar1, inches, 0, 2); ConvertIntToDecimalStringN(gStringVar2, fraction, 0, 2); StringExpandPlaceholders(gStringVar4, gText_Var1DotVar2); - PrintTextOnWindow(WIN_SIZE_FIRM, 1, gStringVar4, 0x28, 1, 0, NULL); + AddTextPrinterParameterized(WIN_SIZE_FIRM, 1, gStringVar4, 0x28, 1, 0, NULL); } else { - PrintTextOnWindow(WIN_SIZE_FIRM, 1, gText_ThreeMarks, 0x28, 1, 0, NULL); + AddTextPrinterParameterized(WIN_SIZE_FIRM, 1, gText_ThreeMarks, 0x28, 1, 0, NULL); } } static void PrintBerryFirmness(void) { const struct Berry *berry = GetBerryInfo(sBerryTag->berryId); - PrintTextOnWindow(WIN_SIZE_FIRM, 1, gText_FirmSlash, 0, 0x11, TEXT_SPEED_FF, NULL); + AddTextPrinterParameterized(WIN_SIZE_FIRM, 1, gText_FirmSlash, 0, 0x11, TEXT_SPEED_FF, NULL); if (berry->firmness != 0) - PrintTextOnWindow(WIN_SIZE_FIRM, 1, sBerryFirmnessStrings[berry->firmness - 1], 0x28, 0x11, 0, NULL); + AddTextPrinterParameterized(WIN_SIZE_FIRM, 1, sBerryFirmnessStrings[berry->firmness - 1], 0x28, 0x11, 0, NULL); else - PrintTextOnWindow(WIN_SIZE_FIRM, 1, gText_ThreeMarks, 0x28, 0x11, 0, NULL); + AddTextPrinterParameterized(WIN_SIZE_FIRM, 1, gText_ThreeMarks, 0x28, 0x11, 0, NULL); } static void PrintBerryDescription1(void) { const struct Berry *berry = GetBerryInfo(sBerryTag->berryId); - PrintTextOnWindow(WIN_DESC, 1, berry->description1, 0, 1, 0, NULL); + AddTextPrinterParameterized(WIN_DESC, 1, berry->description1, 0, 1, 0, NULL); } static void PrintBerryDescription2(void) { const struct Berry *berry = GetBerryInfo(sBerryTag->berryId); - PrintTextOnWindow(WIN_DESC, 1, berry->description2, 0, 0x11, 0, NULL); + AddTextPrinterParameterized(WIN_DESC, 1, berry->description2, 0, 0x11, 0, NULL); } static void CreateBerrySprite(void) diff --git a/src/clear_save_data_screen.c b/src/clear_save_data_screen.c index 5c1f7db20d..839a77e4a4 100644 --- a/src/clear_save_data_screen.c +++ b/src/clear_save_data_screen.c @@ -79,7 +79,7 @@ void CB2_InitClearSaveDataScreen(void) static void Task_DoClearSaveDataScreenYesNo(u8 taskId) { SetWindowBorderStyle(0, 0, 2, 14); - PrintTextOnWindow(0, 1, gText_ClearAllSaveData, 0, 1, 0, 0); + AddTextPrinterParameterized(0, 1, gText_ClearAllSaveData, 0, 1, 0, 0); CreateYesNoMenu(sClearSaveYesNo, 2, 14, 1); gTasks[taskId].func = Task_ClearSaveDataScreenYesNoChoice; } @@ -90,7 +90,7 @@ static void Task_ClearSaveDataScreenYesNoChoice(u8 taskId) { case 0: FillWindowPixelBuffer(0, 17); - PrintTextOnWindow(0, 1, gText_ClearingData, 0, 1, 0, 0); + AddTextPrinterParameterized(0, 1, gText_ClearingData, 0, 1, 0, 0); gTasks[taskId].func = Task_ClearSaveData; break; case 1: diff --git a/src/coins.c b/src/coins.c index 12e0bd4ef1..967eb92aca 100644 --- a/src/coins.c +++ b/src/coins.c @@ -19,7 +19,7 @@ void PrintCoinsString(u32 coinAmount) StringExpandPlaceholders(gStringVar4, gText_Coins); xAlign = GetStringRightAlignXOffset(1, gStringVar4, 0x40); - PrintTextOnWindow(sCoinsWindowId, 1, gStringVar4, xAlign, 1, 0, NULL); + AddTextPrinterParameterized(sCoinsWindowId, 1, gStringVar4, xAlign, 1, 0, NULL); } void ShowCoinsWindow(u32 coinAmount, u8 x, u8 y) diff --git a/src/credits.c b/src/credits.c index c054958ce3..8e641fdb50 100644 --- a/src/credits.c +++ b/src/credits.c @@ -1189,7 +1189,7 @@ static void sub_81755BC(const u8 *string, u8 y, u8 a2) } x = GetStringCenterAlignXOffsetWithLetterSpacing(1, string, 0xF0, 1); - AddTextPrinterParameterized2(0, 1, x, y, 1, 0, color, -1, string); + AddTextPrinterParameterized4(0, 1, x, y, 1, 0, color, -1, string); } void sub_8175620(void) diff --git a/src/decoration.c b/src/decoration.c index b21d512780..442c66d7fb 100644 --- a/src/decoration.c +++ b/src/decoration.c @@ -499,7 +499,7 @@ void sub_8126B80(u8 taskId) void sub_8126C08(void) { FillWindowPixelBuffer(0, 0x11); - AddTextPrinterParameterized(0, 1, sSecretBasePCMenuItemDescriptions[sSecretBasePCMenuCursorPos], 0, 0, 2, 1, 3); + AddTextPrinterParameterized2(0, 1, sSecretBasePCMenuItemDescriptions[sSecretBasePCMenuCursorPos], 0, 0, 2, 1, 3); } void SecretBasePC_Decorate(u8 taskId) @@ -622,7 +622,7 @@ void sub_8126E8C(u8 taskId) sub_8126F68(r5, i, 8, i << 4, FALSE, 0xFF); } } - PrintTextOnWindow(r5, 1, gTasks[taskId].data[11] == 2 ? gText_Exit : gText_Cancel, 8, (i << 4) + 1, 0, 0); + AddTextPrinterParameterized(r5, 1, gTasks[taskId].data[11] == 2 ? gText_Exit : gText_Cancel, 8, (i << 4) + 1, 0, 0); schedule_bg_copy_tilemap_to_vram(0); } @@ -636,12 +636,12 @@ void sub_8126F68(u8 winid, u8 decorCat, u8 x, u8 y, bool8 flag, u8 speed) sub_8127058(gStringVar4, flag); strbuf = StringLength(gStringVar4) + gStringVar4; StringCopy(strbuf, sDecorCatNames[decorCat]); - PrintTextOnWindow(winid, 1, gStringVar4, x, y, speed, NULL); + 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); x = GetStringRightAlignXOffset(1, gStringVar4, width); - PrintTextOnWindow(winid, 1, gStringVar4, x, y, speed, NULL); + AddTextPrinterParameterized(winid, 1, gStringVar4, x, y, speed, NULL); } void sub_8127058(u8 *str, bool8 flag) @@ -932,7 +932,7 @@ void sub_8127744(u32 a0) { txt = gDecorations[gCurDecorInventoryItems[a0]].description; } - PrintTextOnWindow(winidx, 1, txt, 0, 1, 0, 0); + AddTextPrinterParameterized(winidx, 1, txt, 0, 1, 0, 0); } void sub_81277A8(void) diff --git a/src/diploma.c b/src/diploma.c index 599ceec723..8e0b48ed30 100644 --- a/src/diploma.c +++ b/src/diploma.c @@ -17,7 +17,7 @@ extern int decompress_and_copy_tile_data_to_vram(u8 bg_id, void *src, int size, extern bool8 free_temp_tile_data_buffers_if_possible(void); extern void sub_80861E8(void); // rom4 extern bool16 sub_80C0944(void); -extern void AddTextPrinterParameterized2(u8 windowId, u8 fontId, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, u8 *color, s8 speed, u8 *str); +extern void AddTextPrinterParameterized4(u8 windowId, u8 fontId, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, u8 *color, s8 speed, u8 *str); extern u16 gUnknown_0860F074[]; @@ -210,5 +210,5 @@ static void PrintDiplomaText(u8 *text, u8 var1, u8 var2) { u8 color[3] = {0, 2, 3}; - AddTextPrinterParameterized2(0, 1, var1, var2, 0, 0, color, -1, text); + AddTextPrinterParameterized4(0, 1, var1, var2, 0, 0, color, -1, text); } diff --git a/src/egg_hatch.c b/src/egg_hatch.c index 1c626cc868..f72ca04a32 100644 --- a/src/egg_hatch.c +++ b/src/egg_hatch.c @@ -856,7 +856,7 @@ static void EggHatchPrintMessage(u8 windowId, u8* string, u8 x, u8 y, u8 speed) sEggHatchData->textColor[0] = 0; sEggHatchData->textColor[1] = 5; sEggHatchData->textColor[2] = 6; - AddTextPrinterParameterized2(windowId, 1, x, y, 0, 0, sEggHatchData->textColor, speed, string); + AddTextPrinterParameterized4(windowId, 1, x, y, 0, 0, sEggHatchData->textColor, speed, string); } u8 GetEggStepsToSubtract(void) diff --git a/src/field_region_map.c b/src/field_region_map.c index f565480682..14b4cdd2fc 100644 --- a/src/field_region_map.c +++ b/src/field_region_map.c @@ -126,7 +126,7 @@ static void FieldUpdateRegionMap(void) case 1: SetWindowBorderStyle(1, 0, 0x27, 0xd); offset = GetStringCenterAlignXOffset(1, gText_Hoenn, 0x38); - PrintTextOnWindow(1, 1, gText_Hoenn, offset, 1, 0, NULL); + AddTextPrinterParameterized(1, 1, gText_Hoenn, offset, 1, 0, NULL); schedule_bg_copy_tilemap_to_vram(0); SetWindowBorderStyle(0, 0, 0x27, 0xd); PrintRegionMapSecName(); @@ -182,7 +182,7 @@ static void PrintRegionMapSecName(void) if (sFieldRegionMapHandler->regionMap.iconDrawType != MAPSECTYPE_NONE) { FillWindowPixelBuffer(0, 0x11); - PrintTextOnWindow(0, 1, sFieldRegionMapHandler->regionMap.mapSecName, 0, 1, 0, NULL); + AddTextPrinterParameterized(0, 1, sFieldRegionMapHandler->regionMap.mapSecName, 0, 1, 0, NULL); schedule_bg_copy_tilemap_to_vram(0); } else diff --git a/src/field_specials.c b/src/field_specials.c index 84852e6b5c..a6c0a1baf2 100644 --- a/src/field_specials.c +++ b/src/field_specials.c @@ -1836,10 +1836,10 @@ void sub_8139B60(void) SetStandardWindowBorderStyle(gUnknown_0203AB5E, 0); xPos = GetStringCenterAlignXOffset(1, gText_ElevatorNowOn, 64); - PrintTextOnWindow(gUnknown_0203AB5E, 1, gText_ElevatorNowOn, xPos, 1, TEXT_SPEED_FF, NULL); + AddTextPrinterParameterized(gUnknown_0203AB5E, 1, gText_ElevatorNowOn, xPos, 1, TEXT_SPEED_FF, NULL); xPos = GetStringCenterAlignXOffset(1, gElevatorFloorsTable[gSpecialVar_0x8005], 64); - PrintTextOnWindow(gUnknown_0203AB5E, 1, gElevatorFloorsTable[gSpecialVar_0x8005], xPos, 17, TEXT_SPEED_FF, NULL); + AddTextPrinterParameterized(gUnknown_0203AB5E, 1, gElevatorFloorsTable[gSpecialVar_0x8005], xPos, 17, TEXT_SPEED_FF, NULL); PutWindowTilemap(gUnknown_0203AB5E); CopyWindowToVram(gUnknown_0203AB5E, 3); @@ -2178,13 +2178,13 @@ void sub_8139F20(void) } break; case 5: - if (gSaveBlock2Ptr->frontier.field_DE2[0] >= gSaveBlock2Ptr->frontier.field_DE2[1]) + if (gSaveBlock2Ptr->frontier.field_DE2[0][0] >= gSaveBlock2Ptr->frontier.field_DE2[0][1]) { - unk = gSaveBlock2Ptr->frontier.field_DE2[0]; + unk = gSaveBlock2Ptr->frontier.field_DE2[0][0]; } else { - unk = gSaveBlock2Ptr->frontier.field_DE2[1]; + unk = gSaveBlock2Ptr->frontier.field_DE2[0][1]; } break; case 6: @@ -3063,7 +3063,7 @@ void sub_813A8FC(void) u32 x; StringCopy(ConvertIntToDecimalStringN(string, gSaveBlock2Ptr->frontier.frontierBattlePoints, STR_CONV_MODE_RIGHT_ALIGN, 4), gText_BP); x = GetStringRightAlignXOffset(1, string, 48); - PrintTextOnWindow(gUnknown_0203AB6D, 1, string, x, 1, 0, NULL); + AddTextPrinterParameterized(gUnknown_0203AB6D, 1, string, x, 1, 0, NULL); } void sub_813A958(void) @@ -3201,7 +3201,7 @@ static void sub_813AA60(u16 a0, u16 a1) switch (a0) { case 3: - AddTextPrinterParameterized(0, 1, gUnknown_085B3170[a1], 0, NULL, 2, 1, 3); + AddTextPrinterParameterized2(0, 1, gUnknown_085B3170[a1], 0, NULL, 2, 1, 3); if (gUnknown_085B312C[a1] == 0xFFFF) { sub_813ABD4(gUnknown_085B312C[a1]); @@ -3214,7 +3214,7 @@ static void sub_813AA60(u16 a0, u16 a1) } break; case 4: - AddTextPrinterParameterized(0, 1, gUnknown_085B319C[a1], 0, NULL, 2, 1, 3); + AddTextPrinterParameterized2(0, 1, gUnknown_085B319C[a1], 0, NULL, 2, 1, 3); if (gUnknown_085B3142[a1] == 0xFFFF) { sub_813ABD4(gUnknown_085B3142[a1]); @@ -3227,11 +3227,11 @@ static void sub_813AA60(u16 a0, u16 a1) } break; case 5: - AddTextPrinterParameterized(0, 1, gUnknown_085B31B4[a1], 0, NULL, 2, 1, 3); + AddTextPrinterParameterized2(0, 1, gUnknown_085B31B4[a1], 0, NULL, 2, 1, 3); sub_813ABD4(gUnknown_085B314E[a1]); break; case 6: - AddTextPrinterParameterized(0, 1, gUnknown_085B31D0[a1], 0, NULL, 2, 1, 3); + AddTextPrinterParameterized2(0, 1, gUnknown_085B31D0[a1], 0, NULL, 2, 1, 3); sub_813ABD4(gUnknown_085B315C[a1]); break; } @@ -3339,11 +3339,11 @@ static void sub_813AD34(u8 a0, u16 a1) FillWindowPixelRect(gUnknown_0203AB5E, 0x11, 0, 0, 96, 48); if (a0 == 10) { - PrintTextOnWindow(gUnknown_0203AB5E, 1, gUnknown_085B3254[a1], 0, 1, 0, NULL); + AddTextPrinterParameterized(gUnknown_0203AB5E, 1, gUnknown_085B3254[a1], 0, 1, 0, NULL); } else { - PrintTextOnWindow(gUnknown_0203AB5E, 1, gUnknown_085B3228[a1], 0, 1, 0, NULL); + AddTextPrinterParameterized(gUnknown_0203AB5E, 1, gUnknown_085B3228[a1], 0, 1, 0, NULL); } } } @@ -3367,10 +3367,10 @@ void sub_813ADD4(void) for (i = 0; i < 6; i++) { - sub_8199F74(task->data[13], 1, gUnknown_085B2CF0[gSpecialVar_0x8004][scrollOffset + i], 10, i * 16, TEXT_SPEED_FF, NULL, 0, 0); + AddTextPrinterParameterized5(task->data[13], 1, gUnknown_085B2CF0[gSpecialVar_0x8004][scrollOffset + i], 10, i * 16, TEXT_SPEED_FF, NULL, 0, 0); } - PrintTextOnWindow(task->data[13], 1, gText_SelectorArrow, 0, selectedRow * 16, TEXT_SPEED_FF, NULL); + AddTextPrinterParameterized(task->data[13], 1, gText_SelectorArrow, 0, selectedRow * 16, TEXT_SPEED_FF, NULL); PutWindowTilemap(task->data[13]); CopyWindowToVram(task->data[13], 3); } diff --git a/src/hall_of_fame.c b/src/hall_of_fame.c index 081c963eea..b739ba66d3 100644 --- a/src/hall_of_fame.c +++ b/src/hall_of_fame.c @@ -531,7 +531,7 @@ static void Task_Hof_InitTeamSaveData(u8 taskId) *lastSavedTeam = *sHofMonPtr; NewMenuHelpers_DrawDialogueFrame(0, 0); - AddTextPrinterParameterized(0, 1, gText_SavingDontTurnOffPower, 0, NULL, 2, 1, 3); + AddTextPrinterParameterized2(0, 1, gText_SavingDontTurnOffPower, 0, NULL, 2, 1, 3); CopyWindowToVram(0, 3); gTasks[taskId].func = Task_Hof_TrySaveData; } @@ -738,7 +738,7 @@ static void Task_Hof_WaitAndPrintPlayerInfo(u8 taskId) FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 0x20, 0x20); HallOfFame_PrintPlayerInfo(1, 2); NewMenuHelpers_DrawDialogueFrame(0, 0); - AddTextPrinterParameterized(0, 1, gText_LeagueChamp, 0, NULL, 2, 1, 3); + AddTextPrinterParameterized2(0, 1, gText_LeagueChamp, 0, NULL, 2, 1, 3); CopyWindowToVram(0, 3); gTasks[taskId].func = Task_Hof_ExitOnKeyPressed; } @@ -1107,7 +1107,7 @@ static void Task_HofPC_PrintDataIsCorrupted(u8 taskId) { sub_8198180(gText_UnkCtrlF800Exit, 8, 1); NewMenuHelpers_DrawDialogueFrame(0, 0); - AddTextPrinterParameterized(0, 1, gText_HOFCorrupted, 0, NULL, 2, 1, 3); + AddTextPrinterParameterized2(0, 1, gText_HOFCorrupted, 0, NULL, 2, 1, 3); CopyWindowToVram(0, 3); gTasks[taskId].func = Task_HofPC_ExitOnButtonPress; } diff --git a/src/item_menu.c b/src/item_menu.c index f58c2b8b3e..c9b19fc3fc 100755 --- a/src/item_menu.c +++ b/src/item_menu.c @@ -884,7 +884,7 @@ void sub_81ABC54(u8 a, s16 b) u8 r3 = (gUnknown_0203CE58.pocket == 3) ? 3 : 2; ConvertIntToDecimalStringN(gStringVar1, b, 2, r3); StringExpandPlaceholders(gStringVar4, gText_xVar1); - PrintTextOnWindow(a, 1, gStringVar4, GetStringCenterAlignXOffset(1, gStringVar4, 0x28), 2, 0, 0); + AddTextPrinterParameterized(a, 1, gStringVar4, GetStringCenterAlignXOffset(1, gStringVar4, 0x28), 2, 0, 0); } void sub_81ABCC0(int a, int b, int c) @@ -892,7 +892,7 @@ void sub_81ABCC0(int a, int b, int c) u8 r3 = (gUnknown_0203CE58.pocket == 3) ? 3 : 2; ConvertIntToDecimalStringN(gStringVar1, b, 2, r3); StringExpandPlaceholders(gStringVar4, gText_xVar1); - PrintTextOnWindow(a, 1, gStringVar4, 0, 1, -1, 0); + AddTextPrinterParameterized(a, 1, gStringVar4, 0, 1, -1, 0); PrintMoneyAmount(a, 0x26, 1, c, 0); } @@ -2118,7 +2118,7 @@ void setup_bag_menu_textboxes(void) void bag_menu_print(u8 windowId, u8 fontId, const u8 *str, u8 left, u8 top, u8 letterSpacing, u8 lineSpacing, u8 speed, u8 h) { - AddTextPrinterParameterized2(windowId, fontId, left, top, letterSpacing, lineSpacing, gUnknown_08614164[h], speed, str); + AddTextPrinterParameterized4(windowId, fontId, left, top, letterSpacing, lineSpacing, gUnknown_08614164[h], speed, str); } u8 sub_81AE124(u8 a) diff --git a/src/learn_move.c b/src/learn_move.c index e288a393dd..ff23cb3dc7 100644 --- a/src/learn_move.c +++ b/src/learn_move.c @@ -632,7 +632,7 @@ static void HideSpritesAndPrintTeachText(bool8 a) { StringExpandPlaceholders(gStringVar4, gText_TeachWhichMoveToPkmn); FillWindowPixelBuffer(3, 0x11); - PrintTextOnWindow(3, 1, gStringVar4, 0, 1, 0, NULL); + AddTextPrinterParameterized(3, 1, gStringVar4, 0, 1, 0, NULL); } } @@ -696,7 +696,7 @@ static void ShowTeachMoveText(bool8 showContest) { StringExpandPlaceholders(gStringVar4, gText_TeachWhichMoveToPkmn); FillWindowPixelBuffer(3, 0x11); - PrintTextOnWindow(3, 1, gStringVar4, 0, 1, 0, NULL); + AddTextPrinterParameterized(3, 1, gStringVar4, 0, 1, 0, NULL); } } diff --git a/src/list_menu.c b/src/list_menu.c index 6b5c3af942..ec45ba3e42 100644 --- a/src/list_menu.c +++ b/src/list_menu.c @@ -600,7 +600,7 @@ static void ListMenuPrint(struct ListMenu *list, const u8 *str, u8 x, u8 y) colors[0] = gListMenuOverride.fillValue; colors[1] = gListMenuOverride.cursorPal; colors[2] = gListMenuOverride.cursorShadowPal; - AddTextPrinterParameterized2(list->template.windowId, + AddTextPrinterParameterized4(list->template.windowId, gListMenuOverride.fontId, x, y, gListMenuOverride.lettersSpacing, @@ -613,7 +613,7 @@ static void ListMenuPrint(struct ListMenu *list, const u8 *str, u8 x, u8 y) colors[0] = list->template.fillValue; colors[1] = list->template.cursorPal; colors[2] = list->template.cursorShadowPal; - AddTextPrinterParameterized2(list->template.windowId, + AddTextPrinterParameterized4(list->template.windowId, list->template.fontId, x, y, list->template.lettersSpacing, diff --git a/src/main_menu.c b/src/main_menu.c index b4b343fc6c..19f11efab1 100644 --- a/src/main_menu.c +++ b/src/main_menu.c @@ -1820,7 +1820,7 @@ void set_default_player_name(u8 nameId) void CreateMainMenuErrorWindow(const u8* str) { FillWindowPixelBuffer(7, 17); - PrintTextOnWindow(7, 1, str, 0, 1, 2, 0); + AddTextPrinterParameterized(7, 1, str, 0, 1, 2, 0); PutWindowTilemap(7); CopyWindowToVram(7, 2); DrawMainMenuWindowBorder(sWindowTemplate_ErrorWindow, MAIN_MENU_BORDER_TILE); diff --git a/src/map_name_popup.c b/src/map_name_popup.c index 578636d403..1876f2ca43 100644 --- a/src/map_name_popup.c +++ b/src/map_name_popup.c @@ -251,7 +251,7 @@ static void ShowMapNamePopUpWindow(void) mapDisplayHeader[0] = EXT_CTRL_CODE_BEGIN; mapDisplayHeader[1] = EXT_CTRL_CODE_HIGHLIGHT; mapDisplayHeader[2] = TEXT_COLOR_TRANSPARENT; - PrintTextOnWindow(GetMapNamePopUpWindowId(), 7, mapDisplayHeader, x, 3, 0xFF, NULL); + AddTextPrinterParameterized(GetMapNamePopUpWindowId(), 7, mapDisplayHeader, x, 3, 0xFF, NULL); CopyWindowToVram(GetMapNamePopUpWindowId(), 3); } diff --git a/src/mauville_old_man.c b/src/mauville_old_man.c index 591e3ad9a1..6ebc7affaa 100644 --- a/src/mauville_old_man.c +++ b/src/mauville_old_man.c @@ -438,7 +438,7 @@ static void BardSong_TextSubPrinter(struct TextSubPrinter * printer, u16 a1) static void sub_8120708(const u8 * src) { NewMenuHelpers_DrawDialogueFrame(0, 0); - PrintTextOnWindow(0, 1, src, 0, 1, 1, BardSong_TextSubPrinter); + AddTextPrinterParameterized(0, 1, src, 0, 1, 1, BardSong_TextSubPrinter); gUnknown_03002F84 = TRUE; CopyWindowToVram(0, 3); } @@ -1160,9 +1160,9 @@ static void PrintStoryList(void) u16 gameStatID = sStorytellerPtr->gameStatIDs[i]; if (gameStatID == 0) break; - PrintTextOnWindow(sStorytellerWindowId, 1, GetStoryTitleByStat(gameStatID), 8, 16 * i + 1, 0xFF, NULL); + AddTextPrinterParameterized(sStorytellerWindowId, 1, GetStoryTitleByStat(gameStatID), 8, 16 * i + 1, 0xFF, NULL); } - PrintTextOnWindow(sStorytellerWindowId, 1, gText_Exit, 8, 16 * i + 1, 0xFF, NULL); + AddTextPrinterParameterized(sStorytellerWindowId, 1, gText_Exit, 8, 16 * i + 1, 0xFF, NULL); InitMenuInUpperLeftCornerPlaySoundWhenAPressed(sStorytellerWindowId, GetFreeStorySlot() + 1, 0); CopyWindowToVram(sStorytellerWindowId, 3); } diff --git a/src/menu.c b/src/menu.c index 7c9c2f8a80..38d355cf27 100644 --- a/src/menu.c +++ b/src/menu.c @@ -149,7 +149,7 @@ u16 sub_8197224(void) return IsTextPrinterActive(0); } -u16 AddTextPrinterParameterized(u8 windowId, u8 fontId, const u8 *str, u8 speed, void (*callback)(struct TextSubPrinter *, u16), u8 fgColor, u8 bgColor, u8 shadowColor) +u16 AddTextPrinterParameterized2(u8 windowId, u8 fontId, const u8 *str, u8 speed, void (*callback)(struct TextSubPrinter *, u16), u8 fgColor, u8 bgColor, u8 shadowColor) { struct TextSubPrinter printer; @@ -175,19 +175,19 @@ void AddTextPrinterForMessage(bool8 allowSkippingDelayWithButtonPress) { void (*callback)(struct TextSubPrinter *, u16) = NULL; gTextFlags.flag_0 = allowSkippingDelayWithButtonPress; - AddTextPrinterParameterized(0, 1, gStringVar4, GetPlayerTextSpeed(), callback, 2, 1, 3); + AddTextPrinterParameterized2(0, 1, gStringVar4, GetPlayerTextSpeed(), callback, 2, 1, 3); } void AddTextPrinterForMessage_2(bool8 allowSkippingDelayWithButtonPress) { gTextFlags.flag_0 = allowSkippingDelayWithButtonPress; - AddTextPrinterParameterized(0, 1, gStringVar4, GetPlayerTextSpeed(), NULL, 2, 1, 3); + AddTextPrinterParameterized2(0, 1, gStringVar4, GetPlayerTextSpeed(), NULL, 2, 1, 3); } void AddTextPrinterWithCustomSpeedForMessage(bool8 allowSkippingDelayWithButtonPress, u8 speed) { gTextFlags.flag_0 = allowSkippingDelayWithButtonPress; - AddTextPrinterParameterized(0, 1, gStringVar4, speed, NULL, 2, 1, 3); + AddTextPrinterParameterized2(0, 1, gStringVar4, speed, NULL, 2, 1, 3); } void sub_81973A4(void) @@ -525,7 +525,7 @@ void RemoveMapNamePopUpWindow(void) void AddTextPrinterWithCallbackForMessage(bool8 a1, void (*callback)(struct TextSubPrinter *, u16)) { gTextFlags.flag_0 = a1; - AddTextPrinterParameterized(0, 1, gStringVar4, GetPlayerTextSpeed(), callback, 2, 1, 3); + AddTextPrinterParameterized2(0, 1, gStringVar4, GetPlayerTextSpeed(), callback, 2, 1, 3); } void sub_8197AE8(bool8 copyToVram) @@ -843,7 +843,7 @@ void sub_8198204(const u8 *string, const u8 *string2, u8 a3, u8 a4, bool8 copyTo 0, string2); } - AddTextPrinterParameterized2(gUnknown_0203CDA0, 1, 4, 1, 0, 0, color, 0, string); + AddTextPrinterParameterized4(gUnknown_0203CDA0, 1, 4, 1, 0, 0, color, 0, string); if (copyToVram) CopyWindowToVram(gUnknown_0203CDA0, 3); } @@ -918,7 +918,7 @@ void RedrawMenuCursor(u8 oldPos, u8 newPos) width = GetMenuCursorDimensionByFont(gUnknown_0203CD90.fontId, 0); height = GetMenuCursorDimensionByFont(gUnknown_0203CD90.fontId, 1); FillWindowPixelRect(gUnknown_0203CD90.windowId, 0x11, gUnknown_0203CD90.left, gUnknown_0203CD90.optionHeight * oldPos + gUnknown_0203CD90.top, width, height); - PrintTextOnWindow(gUnknown_0203CD90.windowId, gUnknown_0203CD90.fontId, gText_SelectorArrow3, gUnknown_0203CD90.left, gUnknown_0203CD90.optionHeight * newPos + gUnknown_0203CD90.top, 0, 0); + AddTextPrinterParameterized(gUnknown_0203CD90.windowId, gUnknown_0203CD90.fontId, gText_SelectorArrow3, gUnknown_0203CD90.left, gUnknown_0203CD90.optionHeight * newPos + gUnknown_0203CD90.top, 0, 0); } u8 MoveMenuCursor(s8 cursorDelta) @@ -1079,7 +1079,7 @@ void PrintTextArray(u8 windowId, u8 fontId, u8 left, u8 top, u8 lineHeight, u8 i u8 i; for (i = 0; i < itemCount; i++) { - PrintTextOnWindow(windowId, fontId, strs[i].text, left, (lineHeight * i) + top, 0xFF, NULL); + AddTextPrinterParameterized(windowId, fontId, strs[i].text, left, (lineHeight * i) + top, 0xFF, NULL); } CopyWindowToVram(windowId, 2); } @@ -1089,7 +1089,7 @@ void sub_81987BC(u8 windowId, u8 fontId, u8 left, u8 top, u8 lineHeight, u8 item u8 i; for (i = 0; i < itemCount; i++) { - sub_8199F74(windowId, fontId, strs[i].text, left, (lineHeight * i) + top, 0xFF, NULL, a6, a7); + AddTextPrinterParameterized5(windowId, fontId, strs[i].text, left, (lineHeight * i) + top, 0xFF, NULL, a6, a7); } CopyWindowToVram(windowId, 2); } @@ -1209,7 +1209,7 @@ void sub_8198C94(u8 windowId, u8 fontId, u8 left, u8 top, u8 a4, u8 a5, u8 a6, u { for (j = 0; j < a6; j++) { - PrintTextOnWindow(windowId, fontId, strs[(i * a6) + j].text, (a4 * j) + left, (a5 * i) + top, 0xFF, NULL); + AddTextPrinterParameterized(windowId, fontId, strs[(i * a6) + j].text, (a4 * j) + left, (a5 * i) + top, 0xFF, NULL); } } CopyWindowToVram(windowId, 2); @@ -1303,7 +1303,7 @@ void sub_8199060(u8 oldCursorPos, u8 newCursorPos) cursorHeight); xPos = (newCursorPos % gUnknown_0203CD90.horizontalCount) * gUnknown_0203CD90.optionWidth + gUnknown_0203CD90.left; yPos = (newCursorPos / gUnknown_0203CD90.horizontalCount) * gUnknown_0203CD90.optionHeight + gUnknown_0203CD90.top; - PrintTextOnWindow(gUnknown_0203CD90.windowId, + AddTextPrinterParameterized(gUnknown_0203CD90.windowId, gUnknown_0203CD90.fontId, gText_SelectorArrow3, xPos, @@ -1588,7 +1588,7 @@ void PrintMenuTable(u8 windowId, u8 itemCount, const struct MenuAction *strs) for (i = 0; i < itemCount; i++) { - PrintTextOnWindow(windowId, 1, strs[i].text, 8, (i * 16) + 1, 0xFF, NULL); + AddTextPrinterParameterized(windowId, 1, strs[i].text, 8, (i * 16) + 1, 0xFF, NULL); } CopyWindowToVram(windowId, 2); @@ -1654,7 +1654,7 @@ void sub_81997AC(u8 windowId, u8 a4, u8 a6, u8 a7, const struct MenuAction *strs { for (j = 0; j < a6; j++) { - PrintTextOnWindow(windowId, 1, strs[(i * a6) + j].text, (a4 * j) + 8, (i * 16) + 1, 0xFF, NULL); + AddTextPrinterParameterized(windowId, 1, strs[(i * a6) + j].text, (a4 * j) + 8, (i * 16) + 1, 0xFF, NULL); } } CopyWindowToVram(windowId, 2); @@ -1946,7 +1946,7 @@ void AddTextPrinterParameterized3(u8 windowId, u8 fontId, u8 left, u8 top, const AddTextPrinter(&printer, speed, NULL); } -void AddTextPrinterParameterized2(u8 windowId, u8 fontId, u8 left, u8 top, u8 letterSpacing, u8 lineSpacing, const u8 *color, s8 speed, const u8 *str) +void AddTextPrinterParameterized4(u8 windowId, u8 fontId, u8 left, u8 top, u8 letterSpacing, u8 lineSpacing, const u8 *color, s8 speed, const u8 *str) { struct TextSubPrinter printer; @@ -1967,7 +1967,7 @@ void AddTextPrinterParameterized2(u8 windowId, u8 fontId, u8 left, u8 top, u8 le AddTextPrinter(&printer, speed, NULL); } -void sub_8199F74(u8 windowId, u8 fontId, const u8 *str, u8 left, u8 top, u8 speed, void (*callback)(struct TextSubPrinter *, u16), u8 letterSpacing, u8 lineSpacing) +void AddTextPrinterParameterized5(u8 windowId, u8 fontId, const u8 *str, u8 left, u8 top, u8 speed, void (*callback)(struct TextSubPrinter *, u16), u8 letterSpacing, u8 lineSpacing) { struct TextSubPrinter printer; @@ -1997,7 +1997,7 @@ void PrintPlayerNameOnWindow(u8 windowId, const u8 *src, u16 x, u16 y) StringExpandPlaceholders(gStringVar4, src); - PrintTextOnWindow(windowId, 1, gStringVar4, x, y, 0xFF, 0); + AddTextPrinterParameterized(windowId, 1, gStringVar4, x, y, 0xFF, 0); } //Screw this function, it's long and unreferenced and ugh diff --git a/src/menu_helpers.c b/src/menu_helpers.c index 217fdabaec..0f6d5aa38d 100644 --- a/src/menu_helpers.c +++ b/src/menu_helpers.c @@ -137,7 +137,7 @@ void DisplayMessageAndContinueTask(u8 taskId, u8 windowId, u16 arg2, u8 arg3, u8 StringExpandPlaceholders(gStringVar4, string); gTextFlags.flag_0 = 1; - AddTextPrinterParameterized(windowId, fontId, gStringVar4, textSpeed, NULL, 2, 1, 3); + AddTextPrinterParameterized2(windowId, fontId, gStringVar4, textSpeed, NULL, 2, 1, 3); gUnknown_0300117C = taskFunc; gTasks[taskId].func = Task_ContinueTaskAfterMessagePrints; } diff --git a/src/money.c b/src/money.c index 98f25a42aa..7b78dda922 100644 --- a/src/money.c +++ b/src/money.c @@ -152,7 +152,7 @@ void PrintMoneyAmount(u8 windowId, u8 x, u8 y, int amount, u8 speed) *(txtPtr++) = 0x77; StringExpandPlaceholders(txtPtr, gText_PokedollarVar1); - PrintTextOnWindow(windowId, 1, gStringVar4, x, y, speed, NULL); + AddTextPrinterParameterized(windowId, 1, gStringVar4, x, y, speed, NULL); } void PrintMoneyAmountInMoneyBoxWithBorder(u8 windowId, u16 tileStart, u8 pallete, int amount) diff --git a/src/mystery_event_menu.c b/src/mystery_event_menu.c index 68f31584b8..d3119190c2 100644 --- a/src/mystery_event_menu.c +++ b/src/mystery_event_menu.c @@ -298,5 +298,5 @@ static void PrintMysteryMenuText(u8 windowId, const u8 *text, u8 x, u8 y, s32 sp textColor[2] = 3; FillWindowPixelBuffer(windowId, (textColor[0]) | (textColor[0] << 4)); - AddTextPrinterParameterized2(windowId, 1, x, y, letterSpacing, lineSpacing, textColor, speed, text); + AddTextPrinterParameterized4(windowId, 1, x, y, letterSpacing, lineSpacing, textColor, speed, text); } diff --git a/src/naming_screen.c b/src/naming_screen.c index 35a05499b8..c5a44cb825 100644 --- a/src/naming_screen.c +++ b/src/naming_screen.c @@ -531,7 +531,7 @@ static void DisplaySentToPCMessage(void) StringExpandPlaceholders(gStringVar4, gUnknown_0858BDB8[stringToDisplay]); NewMenuHelpers_DrawDialogueFrame(0, 0); gTextFlags.flag_0 = TRUE; - AddTextPrinterParameterized(0, 1, gStringVar4, GetPlayerTextSpeed(), 0, 2, 1, 3); + AddTextPrinterParameterized2(0, 1, gStringVar4, GetPlayerTextSpeed(), 0, 2, 1, 3); CopyWindowToVram(0, 3); } @@ -1447,7 +1447,7 @@ static void HandleDpadMovement(struct Task *task) static void sub_80E4894(void) { FillWindowPixelBuffer(gNamingScreenData->windows[3], 0x11); - PrintTextOnWindow(gNamingScreenData->windows[3], 1, gNamingScreenData->template->title, 8, 1, 0, 0); + AddTextPrinterParameterized(gNamingScreenData->windows[3], 1, gNamingScreenData->template->title, 8, 1, 0, 0); PutWindowTilemap(gNamingScreenData->windows[3]); } @@ -1458,7 +1458,7 @@ static void sub_80E48E8(void) StringCopy(buffer, gSpeciesNames[gNamingScreenData->monSpecies]); StringAppendN(buffer, gNamingScreenData->template->title, 15); FillWindowPixelBuffer(gNamingScreenData->windows[3], 0x11); - PrintTextOnWindow(gNamingScreenData->windows[3], 1, buffer, 8, 1, 0, 0); + AddTextPrinterParameterized(gNamingScreenData->windows[3], 1, buffer, 8, 1, 0, 0); PutWindowTilemap(gNamingScreenData->windows[3]); } @@ -1652,7 +1652,7 @@ static void sub_80E4D10(void) temp[1] = gExpandedPlaceholder_Empty[0]; unk2 = (sub_80E503C(temp[0]) == 1) ? 2 : 0; - PrintTextOnWindow(gNamingScreenData->windows[2], 1, temp, i * 8 + unk + unk2, 1, 0xFF, NULL); + AddTextPrinterParameterized(gNamingScreenData->windows[2], 1, temp, i * 8 + unk + unk2, 1, 0xFF, NULL); } sub_80E498C(); diff --git a/src/option_menu.c b/src/option_menu.c index fc0c0c24e8..a650545b15 100644 --- a/src/option_menu.c +++ b/src/option_menu.c @@ -379,7 +379,7 @@ static void DrawOptionMenuChoice(const u8 *text, u8 x, u8 y, u8 style) } dst[i] = EOS; - PrintTextOnWindow(WIN_OPTIONS, 1, dst, x, y + 1, TEXT_SPEED_FF, NULL); + AddTextPrinterParameterized(WIN_OPTIONS, 1, dst, x, y + 1, TEXT_SPEED_FF, NULL); } static u8 TextSpeed_ProcessInput(u8 selection) @@ -605,7 +605,7 @@ static void ButtonMode_DrawChoices(u8 selection) static void DrawTextOption(void) { FillWindowPixelBuffer(WIN_TEXT_OPTION, 0x11); - PrintTextOnWindow(WIN_TEXT_OPTION, 1, gText_Option, 8, 1, TEXT_SPEED_FF, NULL); + AddTextPrinterParameterized(WIN_TEXT_OPTION, 1, gText_Option, 8, 1, TEXT_SPEED_FF, NULL); CopyWindowToVram(WIN_TEXT_OPTION, 3); } @@ -616,7 +616,7 @@ static void DrawOptionMenuTexts(void) FillWindowPixelBuffer(WIN_OPTIONS, 0x11); for (i = 0; i < MENUITEM_COUNT; i++) { - PrintTextOnWindow(WIN_OPTIONS, 1, sOptionMenuItemsNames[i], 8, (i * 16) + 1, TEXT_SPEED_FF, NULL); + AddTextPrinterParameterized(WIN_OPTIONS, 1, sOptionMenuItemsNames[i], 8, (i * 16) + 1, TEXT_SPEED_FF, NULL); } CopyWindowToVram(WIN_OPTIONS, 3); } diff --git a/src/player_pc.c b/src/player_pc.c index ef00e2e062..b09db0e737 100644 --- a/src/player_pc.c +++ b/src/player_pc.c @@ -371,7 +371,7 @@ static void InitItemStorageMenu(u8 taskId, u8 var) static void ItemStorageMenuPrint(const u8 *textPtr) { NewMenuHelpers_DrawDialogueFrame(0, 0); - PrintTextOnWindow(0, 1, textPtr, 0, 1, 0, 0); + AddTextPrinterParameterized(0, 1, textPtr, 0, 1, 0, 0); } static void ItemStorageMenuProcessInput(u8 taskId) @@ -544,7 +544,7 @@ static void Mailbox_DrawMailboxMenu(u8 taskId) windowId = sub_81D1C84(0); sub_81D1C84(1); - PrintTextOnWindow(windowId, 1, gText_Mailbox, GetStringCenterAlignXOffset(1, gText_Mailbox, 0x40), 1, 0, NULL); + AddTextPrinterParameterized(windowId, 1, gText_Mailbox, GetStringCenterAlignXOffset(1, gText_Mailbox, 0x40), 1, 0, NULL); schedule_bg_copy_tilemap_to_vram(0); gTasks[taskId].data[5] = sub_81D1DC0(&playerPCItemPageInfo); sub_81D1E90(&playerPCItemPageInfo); @@ -883,7 +883,7 @@ static void fish4_goto_x5_or_x6(u8 windowId, s32 id, u8 yOffset) } ConvertIntToDecimalStringN(gStringVar1, gSaveBlock1Ptr->pcItems[id].quantity, STR_CONV_MODE_RIGHT_ALIGN, 3); StringExpandPlaceholders(gStringVar4, gText_xVar1); - PrintTextOnWindow(windowId, 7, gStringVar4, GetStringRightAlignXOffset(7, gStringVar4, 104), yOffset, 0xFF, NULL); + AddTextPrinterParameterized(windowId, 7, gStringVar4, GetStringRightAlignXOffset(7, gStringVar4, 104), yOffset, 0xFF, NULL); } } @@ -897,7 +897,7 @@ static void sub_816BEF0(s32 id) else description = ItemStorage_GetItemPcResponse(ITEMPC_GO_BACK_TO_PREV); FillWindowPixelBuffer(windowId, 17); - PrintTextOnWindow(windowId, 1, description, 0, 1, 0, NULL); + AddTextPrinterParameterized(windowId, 1, description, 0, 1, 0, NULL); } static void ItemStorage_StartScrollIndicator(void) @@ -926,7 +926,7 @@ static void sub_816BFE0(u8 y, u8 b, u8 speed) if(b == 0xFF) FillWindowPixelRect(windowId, 17, 0, y, GetMenuCursorDimensionByFont(1, 0), GetMenuCursorDimensionByFont(1, 1)); else - AddTextPrinterParameterized2(windowId, 1, 0, y, 0, 0, gUnknown_085DFF8C, speed, gText_SelectorArrow2); + AddTextPrinterParameterized4(windowId, 1, 0, y, 0, 0, gUnknown_085DFF8C, speed, gText_SelectorArrow2); } static void sub_816C060(u16 itemId) @@ -988,7 +988,7 @@ static void ItemStorage_ProcessWithdrawTossInput(u8 taskId) if(!toss) text = gText_WithdrawItem; x = GetStringCenterAlignXOffset(1, text, 104); - PrintTextOnWindow(gUnknown_0203BCC4->windowIds[3], 1, text, x, 1, 0, NULL); + AddTextPrinterParameterized(gUnknown_0203BCC4->windowIds[3], 1, text, x, 1, 0, NULL); CopyWindowToVram(gUnknown_0203BCC4->windowIds[2], 2); sub_816C110(); sub_816C140(); @@ -1044,7 +1044,7 @@ static void ItemStorage_PrintItemPcResponse(const u8 *string) u8 windowId = gUnknown_0203BCC4->windowIds[1]; FillWindowPixelBuffer(windowId, 0x11); StringExpandPlaceholders(gStringVar4, string); - PrintTextOnWindow(windowId, 1, gStringVar4, 0, 1, 0, NULL); + AddTextPrinterParameterized(windowId, 1, gStringVar4, 0, 1, 0, NULL); } static void ItemStorage_ProcessInput(u8 taskId) @@ -1202,7 +1202,7 @@ static void sub_816C6BC(u8 windowId, u16 value, u32 mode, u8 x, u8 y, u8 n) { ConvertIntToDecimalStringN(gStringVar1, value, mode, n); StringExpandPlaceholders(gStringVar4, gText_xVar1); - PrintTextOnWindow(windowId, 1, gStringVar4, GetStringCenterAlignXOffset(1, gStringVar4, 48), y, 0, NULL); + AddTextPrinterParameterized(windowId, 1, gStringVar4, GetStringCenterAlignXOffset(1, gStringVar4, 48), y, 0, NULL); } static void ItemStorage_DoItemAction(u8 taskId) diff --git a/src/pokeblock.c b/src/pokeblock.c index e615693b94..ea38c559db 100644 --- a/src/pokeblock.c +++ b/src/pokeblock.c @@ -580,7 +580,7 @@ static void HandleInitWindows(void) static void PrintOnPokeblockWindow(u8 windowId, const u8 *string, s32 x) { - AddTextPrinterParameterized2(windowId, 1, x, 1, 0, 0, sTextColorInPokeblockMenu, 0, string); + AddTextPrinterParameterized4(windowId, 1, x, 1, 0, 0, sTextColorInPokeblockMenu, 0, string); } static void PutPokeblockInfoText(void) diff --git a/src/pokeblock_feed.c b/src/pokeblock_feed.c index 5f06ed7e8f..1449d4a00e 100644 --- a/src/pokeblock_feed.c +++ b/src/pokeblock_feed.c @@ -789,7 +789,7 @@ static void Task_HandleMonAtePokeblock(u8 taskId) StringExpandPlaceholders(gStringVar4, gText_Var1DisdainfullyAteVar2); gTextFlags.flag_0 = 1; - AddTextPrinterParameterized(0, 1, gStringVar4, GetPlayerTextSpeed(), NULL, 2, 1, 3); + AddTextPrinterParameterized2(0, 1, gStringVar4, GetPlayerTextSpeed(), NULL, 2, 1, 3); gTasks[taskId].func = Task_WaitForAtePokeblockText; } diff --git a/src/pokedex.c b/src/pokedex.c index 2cb3c153ff..d27f0d89c0 100644 --- a/src/pokedex.c +++ b/src/pokedex.c @@ -1637,7 +1637,7 @@ void sub_80BCE2C(u8 windowId, u8 fontId, const u8* str, u8 left, u8 top) color[0] = 0; color[1] = 15; color[2] = 3; - AddTextPrinterParameterized2(windowId, fontId, left * 8, (top * 8) + 1, 0, 0, color, -1, str); + AddTextPrinterParameterized4(windowId, fontId, left * 8, (top * 8) + 1, 0, 0, color, -1, str); } void sub_80BCE84(u8 a, u16 b, u16 c) @@ -2450,7 +2450,7 @@ void sub_80BE8DC(const u8* str, u8 left, u8 top) color[1] = 15; color[2] = 3; - AddTextPrinterParameterized2(0, 1, left, top, 0, 0, color, -1, str); + AddTextPrinterParameterized4(0, 1, left, top, 0, 0, color, -1, str); } u8 sub_80BE91C(struct PokedexListItem* item, u8 b) @@ -4065,7 +4065,7 @@ void sub_80C0A88(u8 windowId, const u8 *str, u8 left, u8 top) color[1] = 15; color[2] = 3; - AddTextPrinterParameterized2(windowId, 1, left, top, 0, 0, color, -1, str); + AddTextPrinterParameterized4(windowId, 1, left, top, 0, 0, color, -1, str); } void sub_80C0AC4(u8 windowId, u16 order, u8 left, u8 top) @@ -4368,7 +4368,7 @@ void sub_80C1270(const u8 *str, u32 left, u32 top) color[0] = 0; color[1] = 15; color[2] = 2; - AddTextPrinterParameterized2(0, 1, left, top, 0, 0, color, -1, str); + AddTextPrinterParameterized4(0, 1, left, top, 0, 0, color, -1, str); } void sub_80C12B0(u32 x, u32 y, u32 width, u32 height) diff --git a/src/pokemon_storage_system.c b/src/pokemon_storage_system.c index eae8681342..031f704a43 100644 --- a/src/pokemon_storage_system.c +++ b/src/pokemon_storage_system.c @@ -258,7 +258,7 @@ void Task_PokemonStorageSystem(u8 taskId) sub_81973A4(); NewMenuHelpers_DrawDialogueFrame(0, 0); FillWindowPixelBuffer(0, 0x11); - AddTextPrinterParameterized(0, 1, gUnknown_085716C0[task->data[1]].desc, TEXT_SPEED_FF, NULL, 2, 1, 3); + AddTextPrinterParameterized2(0, 1, gUnknown_085716C0[task->data[1]].desc, TEXT_SPEED_FF, NULL, 2, 1, 3); CopyWindowToVram(0, 3); CopyWindowToVram(task->data[15], 3); task->data[0]++; @@ -284,7 +284,7 @@ void Task_PokemonStorageSystem(u8 taskId) { task->data[1] = task->data[3]; FillWindowPixelBuffer(0, 0x11); - AddTextPrinterParameterized(0, 1, gUnknown_085716C0[task->data[1]].desc, 0, NULL, 2, 1, 3); + AddTextPrinterParameterized2(0, 1, gUnknown_085716C0[task->data[1]].desc, 0, NULL, 2, 1, 3); } break; case -1: @@ -299,13 +299,13 @@ void Task_PokemonStorageSystem(u8 taskId) if (task->data[2] == 0 && CountPartyMons() == PARTY_SIZE) { FillWindowPixelBuffer(0, 0x11); - AddTextPrinterParameterized(0, 1, gText_PartyFull, 0, NULL, 2, 1, 3); + AddTextPrinterParameterized2(0, 1, gText_PartyFull, 0, NULL, 2, 1, 3); task->data[0] = 3; } else if (task->data[2] == 1 && CountPartyMons() == 1) { FillWindowPixelBuffer(0, 0x11); - AddTextPrinterParameterized(0, 1, gText_JustOnePkmn, 0, NULL, 2, 1, 3); + AddTextPrinterParameterized2(0, 1, gText_JustOnePkmn, 0, NULL, 2, 1, 3); task->data[0] = 3; } else @@ -320,7 +320,7 @@ void Task_PokemonStorageSystem(u8 taskId) if (gMain.newKeys & (A_BUTTON | B_BUTTON)) { FillWindowPixelBuffer(0, 0x11); - AddTextPrinterParameterized(0, 1, gUnknown_085716C0[task->data[1]].desc, 0, NULL, 2, 1, 3); + AddTextPrinterParameterized2(0, 1, gUnknown_085716C0[task->data[1]].desc, 0, NULL, 2, 1, 3); task->data[0] = 2; } else if (gMain.newKeys & DPAD_UP) @@ -330,7 +330,7 @@ void Task_PokemonStorageSystem(u8 taskId) MoveMenuCursor(-1); task->data[1] = GetMenuCursorPos(); FillWindowPixelBuffer(0, 0x11); - AddTextPrinterParameterized(0, 1, gUnknown_085716C0[task->data[1]].desc, 0, NULL, 2, 1, 3); + AddTextPrinterParameterized2(0, 1, gUnknown_085716C0[task->data[1]].desc, 0, NULL, 2, 1, 3); task->data[0] = 2; } else if (gMain.newKeys & DPAD_DOWN) @@ -340,7 +340,7 @@ void Task_PokemonStorageSystem(u8 taskId) MoveMenuCursor(1); task->data[1] = GetMenuCursorPos(); FillWindowPixelBuffer(0, 0x11); - AddTextPrinterParameterized(0, 1, gUnknown_085716C0[task->data[1]].desc, 0, NULL, 2, 1, 3); + AddTextPrinterParameterized2(0, 1, gUnknown_085716C0[task->data[1]].desc, 0, NULL, 2, 1, 3); task->data[0] = 2; } break; diff --git a/src/pokemon_summary_screen.c b/src/pokemon_summary_screen.c index 9648747e71..baf4b128ed 100644 --- a/src/pokemon_summary_screen.c +++ b/src/pokemon_summary_screen.c @@ -2379,7 +2379,7 @@ static void sub_81C2554(void) static void SummaryScreen_PrintTextOnWindow(u8 windowId, const u8 *string, u8 x, u8 y, u8 lineSpacing, u8 colorId) { - AddTextPrinterParameterized2(windowId, 1, x, y, 0, lineSpacing, sTextColors_861CD2C[colorId], 0, string); + AddTextPrinterParameterized4(windowId, 1, x, y, 0, lineSpacing, sTextColors_861CD2C[colorId], 0, string); } static void sub_81C25E8(void) diff --git a/src/record_mixing.c b/src/record_mixing.c index 552c32d38d..6c6f69fa88 100644 --- a/src/record_mixing.c +++ b/src/record_mixing.c @@ -306,7 +306,7 @@ static void ReceiveExchangePacket(u32 which) static void PrintTextOnRecordMixing(const u8 *src) { NewMenuHelpers_DrawDialogueFrame(0, 0); - PrintTextOnWindow(0, 1, src, 0, 1, 0, NULL); + AddTextPrinterParameterized(0, 1, src, 0, 1, 0, NULL); CopyWindowToVram(0, 3); } diff --git a/src/region_map.c b/src/region_map.c index 3214ae1851..e06d121e9b 100644 --- a/src/region_map.c +++ b/src/region_map.c @@ -1631,7 +1631,7 @@ void MCB2_FlyMap(void) LoadPalette(sRegionMapFramePal, 0x10, 0x20); PutWindowTilemap(2); FillWindowPixelBuffer(2, 0x00); - PrintTextOnWindow(2, 1, gText_FlyToWhere, 0, 1, 0, NULL); + AddTextPrinterParameterized(2, 1, gText_FlyToWhere, 0, 1, 0, NULL); schedule_bg_copy_tilemap_to_vram(0); gMain.state++; break; @@ -1697,9 +1697,9 @@ static void sub_8124904(void) flag = TRUE; sub_8198070(0, FALSE); SetWindowBorderStyle(1, FALSE, 0x65, 0x0d); - PrintTextOnWindow(1, 1, sFlyMap->regionMap.mapSecName, 0, 1, 0, NULL); + AddTextPrinterParameterized(1, 1, sFlyMap->regionMap.mapSecName, 0, 1, 0, NULL); name = gUnknown_085A1EDC[i].name[sFlyMap->regionMap.posWithinMapSec]; - PrintTextOnWindow(1, 1, name, GetStringRightAlignXOffset(1, name, 0x60), 0x11, 0, NULL); + AddTextPrinterParameterized(1, 1, name, GetStringRightAlignXOffset(1, name, 0x60), 0x11, 0, NULL); schedule_bg_copy_tilemap_to_vram(0); gUnknown_03001180 = TRUE; } @@ -1717,7 +1717,7 @@ static void sub_8124904(void) { FillWindowPixelBuffer(0, 0x11); } - PrintTextOnWindow(0, 1, sFlyMap->regionMap.mapSecName, 0, 1, 0, NULL); + AddTextPrinterParameterized(0, 1, sFlyMap->regionMap.mapSecName, 0, 1, 0, NULL); schedule_bg_copy_tilemap_to_vram(0); gUnknown_03001180 = FALSE; } diff --git a/src/reset_rtc_screen.c b/src/reset_rtc_screen.c index 416a8da9d7..34444cbf49 100644 --- a/src/reset_rtc_screen.c +++ b/src/reset_rtc_screen.c @@ -314,14 +314,14 @@ static void PrintTime(u8 windowId, u8 x, u8 y, u16 days, u8 hours, u8 minutes, u ConvertIntToDecimalStringN(gStringVar1, seconds, 2, 2); dest = StringCopy(dest, gStringVar1); - PrintTextOnWindow(windowId, 1, gStringVar4, x, y, TEXT_SPEED_FF, NULL); + AddTextPrinterParameterized(windowId, 1, gStringVar4, x, y, TEXT_SPEED_FF, NULL); } static void ShowChooseTimeWindow(u8 windowId, u16 days, u8 hours, u8 minutes, u8 seconds) { SetWindowBorderStyle(windowId, FALSE, 0x214, 0xE); PrintTime(windowId, 0, 1, days, hours, minutes, seconds); - PrintTextOnWindow(windowId, 1, gText_Confirm2, 126, 1, 0, NULL); + AddTextPrinterParameterized(windowId, 1, gText_Confirm2, 126, 1, 0, NULL); schedule_bg_copy_tilemap_to_vram(0); } @@ -496,7 +496,7 @@ static void VBlankCB(void) static void ShowMessage(const u8 *str) { sub_8197B1C(1, FALSE, 0x200, 0xF); - PrintTextOnWindow(1, 1, str, 0, 1, 0, NULL); + AddTextPrinterParameterized(1, 1, str, 0, 1, 0, NULL); schedule_bg_copy_tilemap_to_vram(0); } @@ -508,7 +508,7 @@ static void Task_ShowResetRtcPrompt(u8 taskId) { case 0: SetWindowBorderStyle(0, FALSE, 0x214, 0xE); - PrintTextOnWindow(0, 1, gText_PresentTime, 0, 1, TEXT_SPEED_FF, 0); + AddTextPrinterParameterized(0, 1, gText_PresentTime, 0, 1, TEXT_SPEED_FF, 0); PrintTime( 0, 0, @@ -517,7 +517,7 @@ static void Task_ShowResetRtcPrompt(u8 taskId) gLocalTime.hours, gLocalTime.minutes, gLocalTime.seconds); - PrintTextOnWindow(0, 1, gText_PreviousTime, 0, 33, TEXT_SPEED_FF, 0); + AddTextPrinterParameterized(0, 1, gText_PreviousTime, 0, 33, TEXT_SPEED_FF, 0); PrintTime( 0, 0, diff --git a/src/save_failed_screen.c b/src/save_failed_screen.c index b207d7e747..4c1da86206 100644 --- a/src/save_failed_screen.c +++ b/src/save_failed_screen.c @@ -173,7 +173,7 @@ static void SaveFailedScreenTextPrint(u8 *text, u8 var1, u8 var2) color[0] = 0; color[1] = 15; color[2] = 3; - AddTextPrinterParameterized2(gSaveFailedWindowIds[TEXT_WIN_ID], 1, var1 * 8, var2 * 8 + 1, 0, 0, color, 0, text); + AddTextPrinterParameterized4(gSaveFailedWindowIds[TEXT_WIN_ID], 1, var1 * 8, var2 * 8 + 1, 0, 0, color, 0, text); } void DoSaveFailedScreen(u8 saveType) diff --git a/src/scrcmd.c b/src/scrcmd.c index 01d04704aa..b9a8a37af2 100644 --- a/src/scrcmd.c +++ b/src/scrcmd.c @@ -1304,7 +1304,7 @@ bool8 ScrCmd_cmdDB(struct ScriptContext *ctx) msg = (const u8 *)ctx->data[0]; sub_81973A4(); NewMenuHelpers_DrawDialogueFrame(0, 1); - PrintTextOnWindow(0, 1, msg, 0, 1, 0, 0); + AddTextPrinterParameterized(0, 1, msg, 0, 1, 0, 0); return FALSE; } @@ -1521,7 +1521,7 @@ bool8 ScrCmd_braillemessage(struct ScriptContext *ctx) NewMenuHelpers_DrawStdWindowFrame(gUnknown_03000F30, 0); PutWindowTilemap(gUnknown_03000F30); FillWindowPixelBuffer(gUnknown_03000F30, 0x11); - PrintTextOnWindow(gUnknown_03000F30, 6, gStringVar4, xText, yText, 0xFF, 0x0); + AddTextPrinterParameterized(gUnknown_03000F30, 6, gStringVar4, xText, yText, 0xFF, 0x0); CopyWindowToVram(gUnknown_03000F30, 3); return FALSE; } diff --git a/src/slot_machine.c b/src/slot_machine.c index 6b6a46cf8a..ed00f41c21 100644 --- a/src/slot_machine.c +++ b/src/slot_machine.c @@ -725,7 +725,7 @@ extern const u8 gText_YouveRunOutOfCoins[]; bool8 sub_8101F44(struct Task *task) { NewMenuHelpers_DrawDialogueFrame(0, 0); - PrintTextOnWindow(0, 1, gText_YouDontHaveThreeCoins, 0, 1, 0, 0); + AddTextPrinterParameterized(0, 1, gText_YouDontHaveThreeCoins, 0, 1, 0, 0); CopyWindowToVram(0, 3); sSlotMachine->state = 7; return FALSE; @@ -966,7 +966,7 @@ bool8 sub_81022F0(struct Task *task) bool8 sub_8102318(struct Task *task) { NewMenuHelpers_DrawDialogueFrame(0, 0); - PrintTextOnWindow(0, 1, gText_QuitTheGame, 0, 1, 0, 0); + AddTextPrinterParameterized(0, 1, gText_QuitTheGame, 0, 1, 0, 0); CopyWindowToVram(0, 3); sub_80323CC(0x15, 7, 0x214, 0x180, 0xE, 0xF); sSlotMachine->state = 22; @@ -996,7 +996,7 @@ bool8 sub_8102344(struct Task *task) bool8 sub_810239C(struct Task *task) { NewMenuHelpers_DrawDialogueFrame(0, 0); - PrintTextOnWindow(0, 1, gText_YouveGot9999Coins, 0, 1, 0, 0); + AddTextPrinterParameterized(0, 1, gText_YouveGot9999Coins, 0, 1, 0, 0); CopyWindowToVram(0, 3); sSlotMachine->state = 24; return FALSE; @@ -1015,7 +1015,7 @@ bool8 sub_81023B8(struct Task *task) bool8 sub_81023E0_(struct Task *task) { NewMenuHelpers_DrawDialogueFrame(0, 0); - PrintTextOnWindow(0, 1, gText_YouveRunOutOfCoins, 0, 1, 0, 0); + AddTextPrinterParameterized(0, 1, gText_YouveRunOutOfCoins, 0, 1, 0, 0); CopyWindowToVram(0, 3); sSlotMachine->state = 26; return FALSE; diff --git a/src/start_menu.c b/src/start_menu.c index 4a58c146ef..56dad89f7f 100644 --- a/src/start_menu.c +++ b/src/start_menu.c @@ -377,7 +377,7 @@ static void ShowSafariBallsWindow(void) NewMenuHelpers_DrawStdWindowFrame(sSafariBallsWindowId, FALSE); ConvertIntToDecimalStringN(gStringVar1, gNumSafariBalls, STR_CONV_MODE_RIGHT_ALIGN, 2); StringExpandPlaceholders(gStringVar4, gText_SafariBallStock); - PrintTextOnWindow(sSafariBallsWindowId, 1, gStringVar4, 0, 1, 0xFF, NULL); + AddTextPrinterParameterized(sSafariBallsWindowId, 1, gStringVar4, 0, 1, 0xFF, NULL); CopyWindowToVram(sSafariBallsWindowId, 2); } @@ -392,7 +392,7 @@ static void ShowPyramidFloorWindow(void) NewMenuHelpers_DrawStdWindowFrame(sBattlePyramidFloorWindowId, FALSE); StringCopy(gStringVar1, sPyramindFloorNames[gSaveBlock2Ptr->frontier.field_CB2]); StringExpandPlaceholders(gStringVar4, gText_BattlePyramidFloor); - PrintTextOnWindow(sBattlePyramidFloorWindowId, 1, gStringVar4, 0, 1, 0xFF, NULL); + AddTextPrinterParameterized(sBattlePyramidFloorWindowId, 1, gStringVar4, 0, 1, 0xFF, NULL); CopyWindowToVram(sBattlePyramidFloorWindowId, 2); } @@ -422,7 +422,7 @@ static bool32 PrintStartMenuActions(s8 *pIndex, u32 count) } else { StringExpandPlaceholders(gStringVar4, sStartMenuItems[sCurrentStartMenuActions[index]].text); - PrintTextOnWindow(GetStartMenuWindowId(), 1, gStringVar4, 8, (index << 4) + 9, 0xFF, NULL); + AddTextPrinterParameterized(GetStartMenuWindowId(), 1, gStringVar4, 8, (index << 4) + 9, 0xFF, NULL); } index++; @@ -1249,7 +1249,7 @@ static void sub_80A0550(u8 taskId) { case 0: FillWindowPixelBuffer(0, 17); - AddTextPrinterParameterized(0, + AddTextPrinterParameterized2(0, 1, gText_SavingDontTurnOffPower, 255, @@ -1342,38 +1342,38 @@ static void ShowSaveInfoWindow(void) // Print region name yOffset = 1; sub_819A344(3, gStringVar4, TEXT_COLOR_GREEN); - PrintTextOnWindow(sSaveInfoWindowId, 1, gStringVar4, 0, yOffset, 0xFF, NULL); + AddTextPrinterParameterized(sSaveInfoWindowId, 1, gStringVar4, 0, yOffset, 0xFF, NULL); // Print player name yOffset = 0x11; - PrintTextOnWindow(sSaveInfoWindowId, 1, gText_SavingPlayer, 0, yOffset, 0xFF, NULL); + AddTextPrinterParameterized(sSaveInfoWindowId, 1, gText_SavingPlayer, 0, yOffset, 0xFF, NULL); sub_819A344(0, gStringVar4, color); xOffset = GetStringRightAlignXOffset(1, gStringVar4, 0x70); PrintPlayerNameOnWindow(sSaveInfoWindowId, gStringVar4, xOffset, yOffset); // Print badge count yOffset = 0x21; - PrintTextOnWindow(sSaveInfoWindowId, 1, gText_SavingBadges, 0, yOffset, 0xFF, NULL); + AddTextPrinterParameterized(sSaveInfoWindowId, 1, gText_SavingBadges, 0, yOffset, 0xFF, NULL); sub_819A344(4, gStringVar4, color); xOffset = GetStringRightAlignXOffset(1, gStringVar4, 0x70); - PrintTextOnWindow(sSaveInfoWindowId, 1, gStringVar4, xOffset, yOffset, 0xFF, NULL); + AddTextPrinterParameterized(sSaveInfoWindowId, 1, gStringVar4, xOffset, yOffset, 0xFF, NULL); if (FlagGet(FLAG_SYS_POKEDEX_GET) == TRUE) { // Print pokedex count yOffset = 0x31; - PrintTextOnWindow(sSaveInfoWindowId, 1, gText_SavingPokedex, 0, yOffset, 0xFF, NULL); + AddTextPrinterParameterized(sSaveInfoWindowId, 1, gText_SavingPokedex, 0, yOffset, 0xFF, NULL); sub_819A344(1, gStringVar4, color); xOffset = GetStringRightAlignXOffset(1, gStringVar4, 0x70); - PrintTextOnWindow(sSaveInfoWindowId, 1, gStringVar4, xOffset, yOffset, 0xFF, NULL); + AddTextPrinterParameterized(sSaveInfoWindowId, 1, gStringVar4, xOffset, yOffset, 0xFF, NULL); } // Print play time yOffset += 0x10; - PrintTextOnWindow(sSaveInfoWindowId, 1, gText_SavingTime, 0, yOffset, 0xFF, NULL); + AddTextPrinterParameterized(sSaveInfoWindowId, 1, gText_SavingTime, 0, yOffset, 0xFF, NULL); sub_819A344(2, gStringVar4, color); xOffset = GetStringRightAlignXOffset(1, gStringVar4, 0x70); - PrintTextOnWindow(sSaveInfoWindowId, 1, gStringVar4, xOffset, yOffset, 0xFF, NULL); + AddTextPrinterParameterized(sSaveInfoWindowId, 1, gStringVar4, xOffset, yOffset, 0xFF, NULL); CopyWindowToVram(sSaveInfoWindowId, 2); } diff --git a/src/starter_choose.c b/src/starter_choose.c index 5625b61840..80d909c26a 100644 --- a/src/starter_choose.c +++ b/src/starter_choose.c @@ -189,7 +189,7 @@ static void Task_StarterChoose1(u8 taskId) { CreateStarterPokemonLabel(gTasks[taskId].tStarterSelection); SetWindowBorderStyle(0, FALSE, 0x2A8, 0xD); - PrintTextOnWindow(0, 1, gText_BirchInTrouble, 0, 1, 0, NULL); + AddTextPrinterParameterized(0, 1, gText_BirchInTrouble, 0, 1, 0, NULL); PutWindowTilemap(0); schedule_bg_copy_tilemap_to_vram(0); gTasks[taskId].func = Task_StarterChoose2; @@ -243,7 +243,7 @@ static void Task_StarterChoose4(u8 taskId) { PlayCry1(GetStarterPokemon(gTasks[taskId].tStarterSelection), 0); FillWindowPixelBuffer(0, 0x11); - PrintTextOnWindow(0, 1, gText_ConfirmStarterChoice, 0, 1, 0, NULL); + AddTextPrinterParameterized(0, 1, gText_ConfirmStarterChoice, 0, 1, 0, NULL); schedule_bg_copy_tilemap_to_vram(0); CreateYesNoMenu(&gUnknown_085B1DDC, 0x2A8, 0xD, 0); gTasks[taskId].func = Task_StarterChoose5; diff --git a/src/text.c b/src/text.c index ed70f767ba..e5a9feed87 100644 --- a/src/text.c +++ b/src/text.c @@ -139,14 +139,14 @@ void SetFontsPointer(const struct FontInfo *fonts) gFonts = fonts; } -void DeactivateAllTextPrinters (void) +void DeactivateAllTextPrinters(void) { int printer; for (printer = 0; printer < NUM_TEXT_PRINTERS; ++printer) gTextPrinters[printer].sub_union.sub.active = 0; } -u16 PrintTextOnWindow(u8 windowId, u8 fontId, const u8 *str, u8 x, u8 y, u8 speed, void (*callback)(struct TextSubPrinter *, u16)) +u16 AddTextPrinterParameterized(u8 windowId, u8 fontId, const u8 *str, u8 x, u8 y, u8 speed, void (*callback)(struct TextSubPrinter *, u16)) { struct TextSubPrinter subPrinter; diff --git a/src/trader.c b/src/trader.c index c4d70ac9a9..f081d7e957 100644 --- a/src/trader.c +++ b/src/trader.c @@ -77,11 +77,11 @@ void CreateAvailableDecorationsMenu(u8 taskId) for (i = 0; i < 4; i++) { if (trader->decorIds[i] > NUM_DECORATIONS) - PrintTextOnWindow(data[3], 1, gText_FiveMarks, 8, 16 * i + 1, 255, NULL); + AddTextPrinterParameterized(data[3], 1, gText_FiveMarks, 8, 16 * i + 1, 255, NULL); else - PrintTextOnWindow(data[3], 1, gDecorations[trader->decorIds[i]].name, 8, 16 * i + 1, 255, NULL); + AddTextPrinterParameterized(data[3], 1, gDecorations[trader->decorIds[i]].name, 8, 16 * i + 1, 255, NULL); } - PrintTextOnWindow(data[3], 1, gText_Exit, 8, 16 * i + 1, 255, NULL); + AddTextPrinterParameterized(data[3], 1, gText_Exit, 8, 16 * i + 1, 255, NULL); InitMenuInUpperLeftCornerPlaySoundWhenAPressed(data[3], 5, 0); schedule_bg_copy_tilemap_to_vram(0); } diff --git a/src/wallclock.c b/src/wallclock.c index 5be20d5c9c..138dfcc387 100644 --- a/src/wallclock.c +++ b/src/wallclock.c @@ -639,7 +639,7 @@ void CB2_StartWallClock(void) WallClockInit(); - PrintTextOnWindow(1, 1, gText_Confirm3, 0, 1, 0, NULL); + AddTextPrinterParameterized(1, 1, gText_Confirm3, 0, 1, 0, NULL); PutWindowTilemap(1); schedule_bg_copy_tilemap_to_vram(2); } @@ -687,7 +687,7 @@ void CB2_ViewWallClock(void) WallClockInit(); - PrintTextOnWindow(1, 1, gText_Cancel4, 0, 1, 0, NULL); + AddTextPrinterParameterized(1, 1, gText_Cancel4, 0, 1, 0, NULL); PutWindowTilemap(1); schedule_bg_copy_tilemap_to_vram(2); } @@ -754,7 +754,7 @@ static void Task_SetClock2(u8 taskId) static void Task_SetClock3(u8 taskId) { SetWindowBorderStyle(0, FALSE, 0x250, 0x0d); - PrintTextOnWindow(0, 1, gText_IsThisTheCorrectTime, 0, 1, 0, NULL); + AddTextPrinterParameterized(0, 1, gText_IsThisTheCorrectTime, 0, 1, 0, NULL); PutWindowTilemap(0); schedule_bg_copy_tilemap_to_vram(0); CreateYesNoMenu(&gUnknown_085B21F4, 0x250, 0x0d, 1); diff --git a/sym_ewram.txt b/sym_ewram.txt index 392b84b7bc..b2db24d658 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -645,18 +645,6 @@ gUnknown_0203CD88: @ 203CD88 .include "src/menu.o" .include "src/battle_factory.o" -gUnknown_0203CE40: @ 203CE40 - .space 0x4 - -gUnknown_0203CE44: @ 203CE44 - .space 0x4 - -gUnknown_0203CE48: @ 203CE48 - .space 0x4 - -gUnknown_0203CE4C: @ 203CE4C - .space 0x4 - gUnknown_0203CE50: @ 203CE50 .space 0x4 From 6454740587f9a97105c45d54bf4284015a20d6d1 Mon Sep 17 00:00:00 2001 From: DizzyEggg <jajkodizzy@wp.pl> Date: Sun, 9 Sep 2018 13:12:26 +0200 Subject: [PATCH 189/234] More battle factory --- asm/battle_frontier_2.s | 1141 +------------------------------------- data/battle_frontier_2.s | 2 +- src/battle_factory.c | 576 +++++++++++++++---- 3 files changed, 482 insertions(+), 1237 deletions(-) diff --git a/asm/battle_frontier_2.s b/asm/battle_frontier_2.s index 45da56996d..d66751e055 100644 --- a/asm/battle_frontier_2.s +++ b/asm/battle_frontier_2.s @@ -6,1145 +6,6 @@ .text - thumb_func_start Swap_PrintMenuOptions -Swap_PrintMenuOptions: @ 819EC20 - push {r4,r5,lr} - sub sp, 0xC - movs r0, 0x3 - bl PutWindowTilemap - movs r0, 0x3 - movs r1, 0 - bl FillWindowPixelBuffer - ldr r5, =gUnknown_08610922 - str r5, [sp] - movs r4, 0 - str r4, [sp, 0x4] - ldr r0, =gText_Summary2 - str r0, [sp, 0x8] - movs r0, 0x3 - movs r1, 0x1 - movs r2, 0xF - movs r3, 0x1 - bl AddTextPrinterParameterized3 - str r5, [sp] - str r4, [sp, 0x4] - ldr r0, =gText_Swap - str r0, [sp, 0x8] - movs r0, 0x3 - movs r1, 0x1 - movs r2, 0xF - movs r3, 0x11 - bl AddTextPrinterParameterized3 - str r5, [sp] - str r4, [sp, 0x4] - ldr r0, =gText_Rechoose - str r0, [sp, 0x8] - movs r0, 0x3 - movs r1, 0x1 - movs r2, 0xF - movs r3, 0x21 - bl AddTextPrinterParameterized3 - movs r0, 0x3 - movs r1, 0x3 - bl CopyWindowToVram - add sp, 0xC - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end Swap_PrintMenuOptions - - thumb_func_start Swap_PrintYesNoOptions -Swap_PrintYesNoOptions: @ 819EC94 - push {r4,r5,lr} - sub sp, 0xC - movs r0, 0x4 - bl PutWindowTilemap - movs r0, 0x4 - movs r1, 0 - bl FillWindowPixelBuffer - ldr r5, =gUnknown_08610922 - str r5, [sp] - movs r4, 0 - str r4, [sp, 0x4] - ldr r0, =gText_Yes3 - str r0, [sp, 0x8] - movs r0, 0x4 - movs r1, 0x1 - movs r2, 0x7 - movs r3, 0x1 - bl AddTextPrinterParameterized3 - str r5, [sp] - str r4, [sp, 0x4] - ldr r0, =gText_No3 - str r0, [sp, 0x8] - movs r0, 0x4 - movs r1, 0x1 - movs r2, 0x7 - movs r3, 0x11 - bl AddTextPrinterParameterized3 - movs r0, 0x4 - movs r1, 0x3 - bl CopyWindowToVram - add sp, 0xC - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end Swap_PrintYesNoOptions - - thumb_func_start sub_819ECF0 -sub_819ECF0: @ 819ECF0 - push {r4-r6,lr} - sub sp, 0xC - adds r6, r0, 0 - adds r5, r1, 0 - adds r4, r2, 0 - movs r0, 0 - adds r1, r6, 0 - movs r2, 0x46 - bl GetStringRightAlignXOffset - adds r2, r0, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r2, 24 - lsrs r2, 24 - lsls r5, 24 - lsrs r5, 24 - ldr r0, =gUnknown_08610922 - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - str r6, [sp, 0x8] - adds r0, r4, 0 - movs r1, 0 - adds r3, r5, 0 - bl AddTextPrinterParameterized3 - add sp, 0xC - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_819ECF0 - - thumb_func_start Swap_PrintActionStrings -Swap_PrintActionStrings: @ 819ED34 - push {lr} - movs r0, 0x5 - movs r1, 0 - bl FillWindowPixelBuffer - ldr r0, =sFactorySwapScreen - ldr r0, [r0] - ldrb r0, [r0, 0x14] - cmp r0, 0 - beq _0819ED56 - cmp r0, 0x1 - bne _0819ED60 - ldr r0, =gText_PkmnForSwap - movs r1, 0 - movs r2, 0x5 - bl sub_819ECF0 -_0819ED56: - ldr r0, =gText_Cancel3 - movs r1, 0x18 - movs r2, 0x5 - bl sub_819ECF0 -_0819ED60: - movs r0, 0x5 - movs r1, 0x3 - bl CopyWindowToVram - pop {r0} - bx r0 - .pool - thumb_func_end Swap_PrintActionStrings - - thumb_func_start Swap_PrintActionStrings2 -Swap_PrintActionStrings2: @ 819ED78 - push {lr} - movs r0, 0x3 - movs r1, 0 - bl FillWindowPixelBuffer - ldr r0, =sFactorySwapScreen - ldr r0, [r0] - ldrb r0, [r0, 0x14] - cmp r0, 0 - beq _0819ED9A - cmp r0, 0x1 - bne _0819EDA4 - ldr r0, =gText_PkmnForSwap - movs r1, 0x8 - movs r2, 0x3 - bl sub_819ECF0 -_0819ED9A: - ldr r0, =gText_Cancel3 - movs r1, 0x20 - movs r2, 0x3 - bl sub_819ECF0 -_0819EDA4: - movs r0, 0x3 - movs r1, 0x3 - bl CopyWindowToVram - pop {r0} - bx r0 - .pool - thumb_func_end Swap_PrintActionStrings2 - - thumb_func_start Swap_PrintActionStrings3 -Swap_PrintActionStrings3: @ 819EDBC - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - beq _0819EDCC - cmp r0, 0x1 - beq _0819EDEC - b _0819EDF6 -_0819EDCC: - ldr r0, =sFactorySwapScreen - ldr r0, [r0] - ldrb r0, [r0, 0x14] - cmp r0, 0x1 - bne _0819EDF6 - ldr r0, =gText_PkmnForSwap - movs r1, 0x8 - movs r2, 0x3 - bl sub_819ECF0 - b _0819EDF6 - .pool -_0819EDEC: - ldr r0, =gText_Cancel3 - movs r1, 0x20 - movs r2, 0x3 - bl sub_819ECF0 -_0819EDF6: - movs r0, 0x3 - movs r1, 0x3 - bl CopyWindowToVram - pop {r0} - bx r0 - .pool - thumb_func_end Swap_PrintActionStrings3 - - thumb_func_start Swap_PrintMonSpecies2 -Swap_PrintMonSpecies2: @ 819EE08 - push {r4,lr} - sub sp, 0x18 - ldr r0, =gUnknown_08610918 - add r1, sp, 0xC - movs r2, 0x4 - bl CpuSet - ldr r0, =sFactorySwapScreen - ldr r2, [r0] - ldrb r0, [r2, 0x15] - cmp r0, 0 - bne _0819EE3C - add r0, sp, 0xC - ldr r1, =gPlttBufferFaded - movs r2, 0xE4 - lsls r2, 1 - adds r1, r2 - ldrh r1, [r1] - strh r1, [r0, 0x8] - b _0819EE42 - .pool -_0819EE3C: - add r1, sp, 0xC - ldrh r0, [r2, 0x24] - strh r0, [r1, 0x8] -_0819EE42: - add r0, sp, 0xC - movs r1, 0xF0 - movs r2, 0xA - bl LoadPalette - movs r0, 0x7 - bl PutWindowTilemap - movs r0, 0x7 - movs r1, 0 - bl FillWindowPixelBuffer - ldr r0, =sFactorySwapScreen - ldr r1, [r0] - ldrb r0, [r1, 0x3] - cmp r0, 0x2 - bls _0819EE74 - movs r0, 0x7 - movs r1, 0x3 - bl CopyWindowToVram - b _0819EED8 - .pool -_0819EE74: - ldrb r2, [r1, 0x3] - ldrb r0, [r1, 0x14] - cmp r0, 0 - bne _0819EE88 - movs r0, 0x64 - muls r0, r2 - ldr r1, =gPlayerParty - b _0819EE8E - .pool -_0819EE88: - movs r0, 0x64 - muls r0, r2 - ldr r1, =gEnemyParty -_0819EE8E: - adds r0, r1 - movs r1, 0xB - movs r2, 0 - bl GetMonData - lsls r0, 16 - lsrs r1, r0, 16 - ldr r4, =gStringVar4 - movs r0, 0xB - muls r1, r0 - ldr r0, =gSpeciesNames - adds r1, r0 - adds r0, r4, 0 - bl StringCopy - movs r0, 0x1 - adds r1, r4, 0 - movs r2, 0x56 - bl GetStringRightAlignXOffset - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - ldr r0, =gUnknown_08610925 - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - str r4, [sp, 0x8] - movs r0, 0x7 - movs r1, 0x1 - movs r3, 0x1 - bl AddTextPrinterParameterized3 - movs r0, 0x7 - movs r1, 0x3 - bl CopyWindowToVram -_0819EED8: - add sp, 0x18 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end Swap_PrintMonSpecies2 - - thumb_func_start Swap_PrintMonSpecies3 -Swap_PrintMonSpecies3: @ 819EEF0 - push {r4,lr} - sub sp, 0xC - ldr r0, =gUnknown_08610918 - movs r1, 0xE0 - movs r2, 0xA - bl LoadPalette - ldr r0, =gPlttBufferUnfaded+ 0x1E0 - ldr r1, =gPlttBufferFaded + 0x1C0 - movs r2, 0x5 - bl CpuSet - ldr r0, =sFactorySwapScreen - ldr r1, [r0] - ldrb r0, [r1, 0x3] - cmp r0, 0x2 - bls _0819EF2C - movs r0, 0x1 - movs r1, 0x2 - bl CopyWindowToVram - b _0819EF90 - .pool -_0819EF2C: - ldrb r2, [r1, 0x3] - ldrb r0, [r1, 0x14] - cmp r0, 0 - bne _0819EF40 - movs r0, 0x64 - muls r0, r2 - ldr r1, =gPlayerParty - b _0819EF46 - .pool -_0819EF40: - movs r0, 0x64 - muls r0, r2 - ldr r1, =gEnemyParty -_0819EF46: - adds r0, r1 - movs r1, 0xB - movs r2, 0 - bl GetMonData - lsls r0, 16 - lsrs r1, r0, 16 - ldr r4, =gStringVar4 - movs r0, 0xB - muls r1, r0 - ldr r0, =gSpeciesNames - adds r1, r0 - adds r0, r4, 0 - bl StringCopy - movs r0, 0x1 - adds r1, r4, 0 - movs r2, 0x56 - bl GetStringRightAlignXOffset - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - ldr r0, =gUnknown_08610925 - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - str r4, [sp, 0x8] - movs r0, 0x1 - movs r1, 0x1 - movs r3, 0x1 - bl AddTextPrinterParameterized3 - movs r0, 0x1 - movs r1, 0x3 - bl CopyWindowToVram -_0819EF90: - add sp, 0xC - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end Swap_PrintMonSpecies3 - - thumb_func_start Swap_PrintMonCategory -Swap_PrintMonCategory: @ 819EFA8 - push {r4-r6,lr} - sub sp, 0x2C - ldr r6, =sFactorySwapScreen - ldr r0, [r6] - ldrb r4, [r0, 0x3] - adds r5, r4, 0 - movs r0, 0x8 - movs r1, 0 - bl FillWindowPixelBuffer - cmp r4, 0x2 - bls _0819EFD0 - movs r0, 0x8 - movs r1, 0x2 - bl CopyWindowToVram - b _0819F03A - .pool -_0819EFD0: - movs r0, 0x8 - bl PutWindowTilemap - ldr r0, [r6] - ldrb r0, [r0, 0x14] - cmp r0, 0 - bne _0819EFEC - movs r0, 0x64 - muls r0, r4 - ldr r1, =gPlayerParty - b _0819EFF2 - .pool -_0819EFEC: - movs r0, 0x64 - muls r0, r5 - ldr r1, =gEnemyParty -_0819EFF2: - adds r0, r1 - movs r1, 0xB - movs r2, 0 - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - bl SpeciesToNationalPokedexNum - lsls r0, 16 - lsrs r0, 16 - add r1, sp, 0xC - bl CopyMonCategoryText - movs r0, 0x1 - add r1, sp, 0xC - movs r2, 0x76 - bl GetStringRightAlignXOffset - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - movs r0, 0x1 - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - str r0, [sp, 0x8] - movs r0, 0x8 - movs r1, 0x1 - add r2, sp, 0xC - bl AddTextPrinterParameterized - movs r0, 0x8 - movs r1, 0x2 - bl CopyWindowToVram -_0819F03A: - add sp, 0x2C - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end Swap_PrintMonCategory - - thumb_func_start sub_819F048 -sub_819F048: @ 819F048 - push {r4,lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r4, =sFactorySwapScreen - ldr r3, [r4] - ldrb r0, [r3, 0x15] - cmp r0, 0x1 - beq _0819F094 - cmp r2, 0 - beq _0819F068 - cmp r2, 0x1 - beq _0819F080 - b _0819F094 - .pool -_0819F068: - strb r2, [r3, 0x14] - ldr r0, [r4] - strb r2, [r0, 0x3] - ldr r1, [r4] - movs r0, 0x4 - strb r0, [r1, 0x17] - ldr r1, [r4] - ldr r0, =gUnknown_08610928 - b _0819F092 - .pool -_0819F080: - movs r1, 0 - strb r2, [r3, 0x14] - ldr r0, [r4] - strb r1, [r0, 0x3] - ldr r1, [r4] - movs r0, 0x5 - strb r0, [r1, 0x17] - ldr r1, [r4] - ldr r0, =gUnknown_08610948 -_0819F092: - str r0, [r1, 0x18] -_0819F094: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_819F048 - - thumb_func_start Swap_RunMenuOptionFunc -Swap_RunMenuOptionFunc: @ 819F0A0 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r3, =gUnknown_03001280 - ldr r2, =gUnknown_086108AC - ldr r1, =sFactorySwapScreen - ldr r1, [r1] - ldrb r1, [r1] - lsls r1, 2 - adds r1, r2 - ldr r1, [r1] - str r1, [r3] - bl _call_via_r1 - pop {r0} - bx r0 - .pool - thumb_func_end Swap_RunMenuOptionFunc - - thumb_func_start sub_819F0CC -sub_819F0CC: @ 819F0CC - push {r4,r5,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r5, =sFactorySwapScreen - ldr r1, [r5] - ldr r0, [r1, 0x2C] - adds r1, 0x30 - movs r2, 0x1 - bl sub_819F3F8 - ldr r0, [r5] - ldrb r1, [r0, 0x3] - movs r5, 0 - strb r1, [r0, 0x12] - movs r0, 0x3 - bl sub_819EA64 - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - strh r5, [r0, 0x8] - ldr r1, =sub_819D9EC - str r1, [r0] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_819F0CC - - thumb_func_start sub_819F114 -sub_819F114: @ 819F114 - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r0, 0x6 - strh r0, [r1, 0x8] - ldr r0, =sub_819C90C - str r0, [r1] - bx lr - .pool - thumb_func_end sub_819F114 - - thumb_func_start sub_819F134 -sub_819F134: @ 819F134 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, =sFactorySwapScreen - ldr r1, [r0] - ldr r0, [r1, 0x2C] - adds r1, 0x30 - movs r2, 0x1 - bl sub_819F3F8 - movs r0, 0x3 - bl sub_819EA64 - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - movs r1, 0 - strh r1, [r0, 0x8] - ldr r2, =Task_HandleSwapScreenChooseMons - lsrs r1, r2, 16 - strh r1, [r0, 0x14] - strh r2, [r0, 0x16] - movs r1, 0x1 - strh r1, [r0, 0x12] - ldr r1, =sub_819D770 - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_819F134 - - thumb_func_start sub_819F184 -sub_819F184: @ 819F184 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r3, =gUnknown_03001280 - ldr r1, =sFactorySwapScreen - ldr r2, [r1] - ldrb r1, [r2, 0x3] - ldr r2, [r2, 0x18] - lsls r1, 3 - adds r1, r2 - ldr r1, [r1, 0x4] - str r1, [r3] - bl _call_via_r1 - pop {r0} - bx r0 - .pool - thumb_func_end sub_819F184 - - thumb_func_start sub_819F1AC -sub_819F1AC: @ 819F1AC - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r2, =sub_819CC24 - lsrs r0, r2, 16 - movs r3, 0 - strh r0, [r1, 0x14] - strh r2, [r1, 0x16] - strh r3, [r1, 0x8] - strh r3, [r1, 0x12] - ldr r0, =sub_819D588 - str r0, [r1] - bx lr - .pool - thumb_func_end sub_819F1AC - - thumb_func_start sub_819F1DC -sub_819F1DC: @ 819F1DC - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r2, =sub_819D9EC - lsrs r0, r2, 16 - movs r3, 0 - strh r0, [r1, 0x14] - strh r2, [r1, 0x16] - strh r3, [r1, 0x12] - strh r3, [r1, 0x8] - ldr r0, =sub_819D588 - str r0, [r1] - bx lr - .pool - thumb_func_end sub_819F1DC - - thumb_func_start sub_819F20C -sub_819F20C: @ 819F20C - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r5, =sFactorySwapScreen - ldr r1, [r5] - ldrb r0, [r1, 0x14] - cmp r0, 0 - bne _0819F240 - ldr r3, =gTasks - lsls r4, r6, 2 - adds r0, r4, r6 - lsls r0, 3 - adds r0, r3 - ldr r2, =Task_HandleSwapScreenMenu - lsrs r1, r2, 16 - strh r1, [r0, 0x14] - strh r2, [r0, 0x16] - movs r1, 0x2 - strh r1, [r0, 0x12] - b _0819F292 - .pool -_0819F240: - ldrb r0, [r1, 0x3] - bl sub_819F59C - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x1 - bne _0819F278 - ldr r1, [r5] - adds r0, r1, 0 - adds r0, 0x2D - adds r1, 0x30 - movs r2, 0x1 - bl sub_819F2B4 - ldr r1, =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r0, r1 - movs r1, 0 - strh r1, [r0, 0x8] - strh r4, [r0, 0x12] - ldr r1, =sub_819F488 - b _0819F29E - .pool -_0819F278: - ldr r4, =gTasks - lsls r5, r6, 2 - adds r0, r5, r6 - lsls r0, 3 - adds r0, r4 - ldr r2, =sub_819CCD4 - lsrs r1, r2, 16 - movs r3, 0 - strh r1, [r0, 0x14] - strh r2, [r0, 0x16] - strh r3, [r0, 0x12] - adds r3, r4, 0 - adds r4, r5, 0 -_0819F292: - adds r0, r4, r6 - lsls r0, 3 - adds r0, r3 - movs r1, 0 - strh r1, [r0, 0x8] - ldr r1, =sub_819D588 -_0819F29E: - str r1, [r0] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_819F20C - - thumb_func_start sub_819F2B4 -sub_819F2B4: @ 819F2B4 - push {r4-r6,lr} - adds r4, r0, 0 - adds r6, r1, 0 - lsls r5, r2, 24 - lsrs r5, 24 - ldr r0, =gUnknown_08610894 - movs r1, 0x78 - movs r2, 0x40 - movs r3, 0x1 - bl CreateSprite - strb r0, [r4] - ldr r2, =gSprites - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r2, 0 - adds r1, 0x1C - adds r0, r1 - ldr r1, =sub_819F600 - str r1, [r0] - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - strh r5, [r0, 0x3C] - movs r0, 0x1 - strb r0, [r6] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_819F2B4 - - thumb_func_start Swap_ShowSummaryMonSprite -Swap_ShowSummaryMonSprite: @ 819F304 - push {r4-r6,lr} - mov r6, r10 - mov r5, r9 - mov r4, r8 - push {r4-r6} - sub sp, 0x10 - ldr r0, =gUnknown_08610894 - movs r1, 0x78 - movs r2, 0x40 - movs r3, 0x1 - bl CreateSprite - ldr r6, =sFactorySwapScreen - ldr r1, [r6] - adds r1, 0x2D - movs r2, 0 - mov r10, r2 - strb r0, [r1] - ldr r0, [r6] - adds r0, 0x2D - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - mov r8, r1 - add r0, r8 - movs r1, 0x2 - bl StartSpriteAffineAnim - ldr r0, [r6] - ldrb r1, [r0, 0x3] - movs r0, 0x64 - adds r4, r1, 0 - muls r4, r0 - ldr r0, =gPlayerParty - adds r4, r0 - adds r0, r4, 0 - movs r1, 0xB - movs r2, 0 - bl GetMonData - adds r5, r0, 0 - lsls r5, 16 - lsrs r5, 16 - adds r0, r4, 0 - movs r1, 0 - movs r2, 0 - bl GetMonData - mov r9, r0 - adds r0, r4, 0 - movs r1, 0x1 - movs r2, 0 - bl GetMonData - adds r2, r0, 0 - movs r0, 0x58 - str r0, [sp] - movs r0, 0x20 - str r0, [sp, 0x4] - movs r0, 0xF - str r0, [sp, 0x8] - ldr r0, =0x0000ffff - str r0, [sp, 0xC] - adds r0, r5, 0 - mov r1, r9 - movs r3, 0x1 - bl CreateMonPicSprite_HandleDeoxys - ldr r1, [r6] - adds r1, 0x2C - strb r0, [r1] - ldr r0, [r6] - adds r0, 0x2C - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - add r0, r8 - adds r0, 0x28 - mov r2, r10 - strb r2, [r0] - ldr r0, [r6] - adds r0, 0x2C - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - add r0, r8 - adds r0, 0x29 - strb r2, [r0] - ldr r0, [r6] - adds r0, 0x2D - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - add r0, r8 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - add sp, 0x10 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end Swap_ShowSummaryMonSprite - - thumb_func_start sub_819F3F8 -sub_819F3F8: @ 819F3F8 - push {r4-r6,lr} - adds r4, r0, 0 - adds r6, r1, 0 - lsls r5, r2, 24 - lsrs r5, 24 - lsls r0, r4, 24 - lsrs r0, 24 - bl FreeAndDestroyMonPicSprite - ldr r0, =sub_819F7B4 - movs r1, 0x1 - 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 r5, [r1, 0x16] - lsrs r4, 8 - lsls r4, 24 - lsrs r4, 24 - strh r4, [r1, 0x14] - ldr r1, [r1] - bl _call_via_r1 - movs r0, 0x1 - strb r0, [r6] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_819F3F8 - - thumb_func_start sub_819F444 -sub_819F444: @ 819F444 - push {r4-r6,lr} - adds r4, r0, 0 - adds r6, r1, 0 - lsls r0, r4, 24 - lsrs r0, 24 - bl FreeAndDestroyMonPicSprite - ldr r5, =gSprites - lsls r4, 16 - lsrs r1, r4, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - ldrb r0, [r0, 0x3] - lsls r0, 26 - lsrs r0, 27 - bl FreeOamMatrix - lsrs r4, 24 - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - adds r0, r5 - bl DestroySprite - movs r0, 0 - strb r0, [r6] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_819F444 - - thumb_func_start sub_819F488 -sub_819F488: @ 819F488 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, =sFactorySwapScreen - ldr r0, [r1] - adds r0, 0x30 - ldrb r0, [r0] - adds r3, r1, 0 - cmp r0, 0x1 - beq _0819F58A - ldr r2, =gTasks - lsls r1, r4, 2 - adds r0, r1, r4 - lsls r0, 3 - adds r0, r2 - movs r2, 0x8 - ldrsh r0, [r0, r2] - adds r5, r1, 0 - cmp r0, 0x4 - bhi _0819F58A - lsls r0, 2 - ldr r1, =_0819F4C8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0819F4C8: - .4byte _0819F4DC - .4byte _0819F4F8 - .4byte _0819F52C - .4byte _0819F548 - .4byte _0819F568 -_0819F4DC: - ldr r0, =gText_SamePkmnInPartyAlready - bl Swap_PrintOnInfoWindow - ldr r0, =sFactorySwapScreen - ldr r0, [r0] - adds r0, 0x20 - movs r1, 0 - strb r1, [r0] - b _0819F54E - .pool -_0819F4F8: - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _0819F50C - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0819F58A -_0819F50C: - movs r0, 0x5 - bl PlaySE - ldr r0, =sFactorySwapScreen - ldr r1, [r0] - ldr r0, [r1, 0x2C] - adds r1, 0x30 - movs r2, 0x1 - bl sub_819F3F8 - b _0819F54E - .pool -_0819F52C: - ldr r0, [r3] - adds r0, 0x30 - ldrb r0, [r0] - cmp r0, 0x1 - beq _0819F58A - movs r0, 0x5 - movs r1, 0 - bl FillWindowPixelBuffer - movs r0, 0x5 - movs r1, 0x2 - bl CopyWindowToVram - b _0819F54E -_0819F548: - ldr r0, =gText_SelectPkmnToAccept - bl Swap_PrintOnInfoWindow -_0819F54E: - ldr r0, =gTasks - adds r1, r5, r4 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - b _0819F58A - .pool -_0819F568: - bl Swap_PrintMonSpecies3 - bl sub_819EADC - ldr r0, =sFactorySwapScreen - ldr r0, [r0] - adds r0, 0x22 - movs r1, 0x1 - strb r1, [r0] - ldr r1, =gTasks - adds r0, r5, r4 - lsls r0, 3 - adds r0, r1 - ldrh r1, [r0, 0x12] - strh r1, [r0, 0x8] - ldr r1, =Task_HandleSwapScreenChooseMons - str r1, [r0] -_0819F58A: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_819F488 - - thumb_func_start sub_819F59C -sub_819F59C: @ 819F59C - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r0, r1 - ldr r1, =gEnemyParty - adds r0, r1 - movs r1, 0xB - movs r2, 0 - bl GetMonData - lsls r0, 16 - lsrs r5, r0, 16 - movs r4, 0 -_0819F5B8: - ldr r0, =sFactorySwapScreen - ldr r0, [r0] - ldrb r0, [r0, 0x12] - cmp r4, r0 - beq _0819F5EC - movs r0, 0x64 - muls r0, r4 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0xB - movs r2, 0 - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - cmp r0, r5 - bne _0819F5EC - movs r0, 0x1 - b _0819F5F8 - .pool -_0819F5EC: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x2 - bls _0819F5B8 - movs r0, 0 -_0819F5F8: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_819F59C thumb_func_start sub_819F600 sub_819F600: @ 819F600 @@ -1584,6 +445,8 @@ _0819F908: .pool thumb_func_end sub_819F8E0 +@ Battle Factory ends here + thumb_func_start sub_819F99C sub_819F99C: @ 819F99C push {r4-r7,lr} diff --git a/data/battle_frontier_2.s b/data/battle_frontier_2.s index c03c9c368c..ab2ecc0588 100644 --- a/data/battle_frontier_2.s +++ b/data/battle_frontier_2.s @@ -236,7 +236,7 @@ gUnknown_08610894:: @ 8610894 spr_template 0x006d, 0x0067, gUnknown_086106F0, gUnknown_0861075C, NULL, gUnknown_08610828, SpriteCallbackDummy .align 2 -gUnknown_086108AC:: @ 86108AC +sSwap_MenuOptionFuncs:: @ 86108AC .4byte sub_819F114 .4byte sub_819F0CC .4byte sub_819F134 diff --git a/src/battle_factory.c b/src/battle_factory.c index 6d75145047..f85a14b48c 100644 --- a/src/battle_factory.c +++ b/src/battle_factory.c @@ -78,8 +78,8 @@ struct FactorySelectMonsStruct u8 unused8; struct FactorySelecteableMon mons[SELECTABLE_MONS_COUNT]; struct UnkFactoryStruct unk294[3]; - u8 unk2A0; - u8 palBlendTaskId; + bool8 unk2A0; + u8 fadeSpeciesNameTaskId; bool8 unk2A2; u16 unk2A4; bool8 unk2A6; @@ -88,12 +88,14 @@ struct FactorySelectMonsStruct u8 unk2A9; }; -// 'Action' refers to the Cancel, Pknm for swap windows. +// 'Action' refers to the 3 Selectable mons, Cancel, Pknm for swap windows. +#define ACTIONS_PLAYER_SCREEN 0 +#define ACTIONS_ENEMY_SCREEN 1 -struct UnkField18Struct +struct SwapActionIdAndFunc { - u8 unk0; - u8 unk1[7]; + u8 id; + void (*func)(u8 taskId); }; struct FactorySwapMonsStruct @@ -106,19 +108,19 @@ struct FactorySwapMonsStruct u8 ballSpriteIds[3]; u8 unk8[2][3]; u8 unkE[2][2]; - u8 unk12; - u8 unk13; - u8 actionsState; + u8 playerMonId; + u8 enemyMonId; + bool8 inEnemyScreen; bool8 fromSummaryScreen; u8 yesNoCursorPos; u8 actionsCount; - struct UnkField18Struct *unk18; + const struct SwapActionIdAndFunc *actionsData; u8 unk1C; u8 unk1D; u8 unk1E; u8 unk1F; - u8 unk20; - u8 palBlendTaskId; + bool8 monSwapped; + u8 fadeSpeciesNameTaskId; u8 unk22; u8 unk23; u16 unk24; @@ -127,7 +129,7 @@ struct FactorySwapMonsStruct u8 unk28; u8 unk29; struct UnkFactoryStruct unk2C; - u8 unk30; + bool8 unk30; }; extern u8 (*gUnknown_030062E8)(void); @@ -146,7 +148,7 @@ static void CB2_InitSelectScreen(void); static void Select_SetWinRegs(s16 mWin0H, s16 nWin0H, s16 mWin0V, s16 nWin0V); static void Select_InitMonsData(void); static void Select_InitAllSprites(void); -static void Select_ShowCheckedMonSprite(void); +static void Select_ShowSummaryMonSprite(void); static void Select_PrintSelectMonString(void); static void Select_PrintMonSpecies(void); static void Select_PrintMonCategory(void); @@ -158,17 +160,17 @@ static void sub_819C568(void); static void Select_ShowMenuOptions(void); static void Select_PrintMenuOptions(void); static void Select_PrintYesNoOptions(void); -static void Task_SelectBlendPalette(u8 taskId); +static void Task_SelectFadeSpeciesName(u8 taskId); static void sub_819C1D0(u8 taskId); static void Task_HandleSelectionScreenChooseMons(u8 taskId); static void Task_HandleSelectionScreenMenu(u8 taskId); static void CreateFrontierFactorySelectableMons(u8 firstMonId); static void CreateTentFactorySelectableMons(u8 firstMonId); static void Select_SetBallSpritePaletteNum(u8 id); -void sub_819F444(struct UnkFactoryStruct arg0, u8 *arg1); +void sub_819F444(struct UnkFactoryStruct arg0, bool8 *arg1); static void sub_819B958(u8 windowId); -void sub_819F2B4(u8 *arg0, u8 *arg1, u8 arg2); -void sub_819F3F8(struct UnkFactoryStruct arg0, u8 *arg1, u8 arg2); +void sub_819F2B4(u8 *arg0, bool8 *arg1, bool8 swapScreen); +void sub_819F3F8(struct UnkFactoryStruct arg0, bool8 *arg1, bool8 swapScreen); static u8 Select_RunMenuOptionFunc(void); static u8 sub_819BC9C(void); static u8 Select_OptionSummary(void); @@ -187,6 +189,7 @@ void sub_819EA64(u8 windowId); void sub_819D770(u8 taskId); void Task_HandleSwapScreenChooseMons(u8 taskId); void sub_819D588(u8 taskId); +void sub_819F7B4(u8 taskId); void Swap_PrintOnInfoWindow(const u8 *str); void Swap_ShowMenuOptions(void); void Swap_PrintMenuOptions(void); @@ -204,12 +207,15 @@ void Swap_ShowSummaryMonSprite(void); void Swap_UpdateActionCursorPosition(s8 direction); void Swap_UpdateBallCursorPosition(s8 direction); void Swap_RunMenuOptionFunc(u8 taskId); -void sub_819F184(u8 taskId); +void Swap_RunActionFunc(u8 taskId); +void Task_SwapCantHaveSameMons(u8 taskId); void Swap_PrintActionStrings(void); void Swap_PrintActionStrings2(void); -void Swap_PrintActionStrings3(u8 arg0); -void sub_819F048(u8 arg0); +void Swap_PrintOneActionString(u8 which); +void Swap_InitActions(u8 id); void sub_819E838(u8 arg0); +bool8 Swap_AlreadyHasSameSpecies(u8 monId); +void sub_819F600(struct Sprite *sprite); // Ewram variables EWRAM_DATA u8 *gUnknown_0203CE2C = NULL; @@ -224,7 +230,7 @@ EWRAM_DATA u8 *gUnknown_0203CE4C = NULL; // IWRAM bss IWRAM_DATA struct FactorySelectMonsStruct *sFactorySelectScreen; -IWRAM_DATA u8 (*gUnknown_03001280)(void); +IWRAM_DATA void (*gUnknown_03001280)(u8 taskId); IWRAM_DATA struct FactorySwapMonsStruct *sFactorySwapScreen; // Const rom data. @@ -276,6 +282,8 @@ u8 (* const sSelect_MenuOptionFuncs[])(void) = [MENU_OTHERS] = Select_OptionOthers }; +extern void (* const sSwap_MenuOptionFuncs[])(u8 taskId); + extern const struct BgTemplate gUnknown_08610428[3]; extern const struct BgTemplate gUnknown_086108B8[4]; extern const struct WindowTemplate gUnknown_08610434[]; @@ -290,6 +298,7 @@ extern const struct SpriteTemplate gUnknown_08610638; extern const u8 gUnknown_08610479[]; extern const u8 gUnknown_08610925[]; extern const u8 gUnknown_08610476[]; +extern const u8 gUnknown_08610922[]; extern const struct SpritePalette gUnknown_086106B0[]; extern const struct SpriteSheet gUnknown_08610650[]; extern const struct CompressedSpriteSheet gUnknown_086106A0[]; @@ -307,16 +316,24 @@ extern const u8 gText_SelectThirdPkmn[]; extern const u8 gText_TheseThreePkmnOkay[]; extern const u8 gText_CantSelectSamePkmn[]; extern const u8 gText_Summary[]; +extern const u8 gText_Rechoose[]; extern const u8 gText_Deselect[]; extern const u8 gText_Rent[]; extern const u8 gText_Others2[]; extern const u8 gText_Yes2[]; +extern const u8 gText_Yes3[]; extern const u8 gText_No2[]; +extern const u8 gText_No3[]; extern const u8 gText_QuitSwapping[]; extern const u8 gText_AcceptThisPkmn[]; extern const u8 gText_SelectPkmnToAccept[]; extern const u8 gText_SelectPkmnToSwap[]; extern const u8 gText_PkmnSwap[]; +extern const u8 gText_Swap[]; +extern const u8 gText_Summary2[]; +extern const u8 gText_PkmnForSwap[]; +extern const u8 gText_SamePkmnInPartyAlready[]; +extern const u8 gText_Cancel3[]; // code void sub_819A44C(struct Sprite *sprite) @@ -468,7 +485,7 @@ static void CB2_InitSelectScreen(void) Select_InitMonsData(); Select_InitAllSprites(); if (sFactorySelectScreen->fromSummaryScreen == TRUE) - Select_ShowCheckedMonSprite(); + Select_ShowSummaryMonSprite(); gMain.state++; break; case 6: @@ -492,16 +509,16 @@ static void CB2_InitSelectScreen(void) gMain.state++; break; case 10: - sFactorySelectScreen->palBlendTaskId = CreateTask(Task_SelectBlendPalette, 0); + sFactorySelectScreen->fadeSpeciesNameTaskId = CreateTask(Task_SelectFadeSpeciesName, 0); if (!sFactorySelectScreen->fromSummaryScreen) { - gTasks[sFactorySelectScreen->palBlendTaskId].data[0] = 0; + gTasks[sFactorySelectScreen->fadeSpeciesNameTaskId].data[0] = 0; taskId = CreateTask(Task_HandleSelectionScreenChooseMons, 0); gTasks[taskId].data[0] = 0; } else { - gTasks[sFactorySelectScreen->palBlendTaskId].data[0] = 1; + gTasks[sFactorySelectScreen->fadeSpeciesNameTaskId].data[0] = 1; sFactorySelectScreen->unk2A2 = FALSE; taskId = CreateTask(Task_HandleSelectionScreenMenu, 0); gTasks[taskId].data[0] = 13; @@ -692,7 +709,7 @@ static void Task_FromSelectScreenToSummaryScreen(u8 taskId) case 7: if (!gPaletteFade.active) { - DestroyTask(sFactorySelectScreen->palBlendTaskId); + DestroyTask(sFactorySelectScreen->fadeSpeciesNameTaskId); sub_819F444(sFactorySelectScreen->unk294[1], &sFactorySelectScreen->unk2A0); Select_DestroyAllSprites(); FREE_AND_SET_NULL(gUnknown_0203CE2C); @@ -718,7 +735,7 @@ static void Task_FromSelectScreenToSummaryScreen(u8 taskId) static void Task_CloseSelectionScreen(u8 taskId) { - if (sFactorySelectScreen->unk2A0 != 1) + if (sFactorySelectScreen->unk2A0 != TRUE) { switch (gTasks[taskId].data[0]) { @@ -730,7 +747,7 @@ static void Task_CloseSelectionScreen(u8 taskId) if (!UpdatePaletteFade()) { Select_CopyMonsToPlayerParty(); - DestroyTask(sFactorySelectScreen->palBlendTaskId); + DestroyTask(sFactorySelectScreen->fadeSpeciesNameTaskId); Select_DestroyAllSprites(); FREE_AND_SET_NULL(gUnknown_0203CE2C); FREE_AND_SET_NULL(gUnknown_0203CE34); @@ -747,7 +764,7 @@ static void Task_CloseSelectionScreen(u8 taskId) static void Task_HandleSelectionScreenYesNo(u8 taskId) { - if (sFactorySelectScreen->unk2A0 != 1) + if (sFactorySelectScreen->unk2A0 != TRUE) { switch (gTasks[taskId].data[0]) { @@ -808,11 +825,11 @@ static void Task_HandleSelectionScreenMenu(u8 taskId) { case 2: if (!sFactorySelectScreen->fromSummaryScreen) - sub_819F2B4(&sFactorySelectScreen->unk294[1].field1, &sFactorySelectScreen->unk2A0, 0); + sub_819F2B4(&sFactorySelectScreen->unk294[1].field1, &sFactorySelectScreen->unk2A0, FALSE); gTasks[taskId].data[0] = 9; break; case 9: - if (sFactorySelectScreen->unk2A0 != 1) + if (sFactorySelectScreen->unk2A0 != TRUE) { Select_ShowMenuOptions(); sFactorySelectScreen->fromSummaryScreen = FALSE; @@ -850,7 +867,7 @@ static void Task_HandleSelectionScreenMenu(u8 taskId) else if (gMain.newKeys & B_BUTTON) { PlaySE(SE_SELECT); - sub_819F3F8(sFactorySelectScreen->unk294[1], &sFactorySelectScreen->unk2A0, 0); + sub_819F3F8(sFactorySelectScreen->unk294[1], &sFactorySelectScreen->unk2A0, FALSE); sub_819B958(3); sFactorySelectScreen->unk2A2 = TRUE; gTasks[taskId].data[0] = 1; @@ -888,7 +905,7 @@ static void Task_HandleSelectionScreenMenu(u8 taskId) static void Task_HandleSelectionScreenChooseMons(u8 taskId) { - if (sFactorySelectScreen->unk2A0 != 1) + if (sFactorySelectScreen->unk2A0 != TRUE) { switch (gTasks[taskId].data[0]) { @@ -926,7 +943,7 @@ static void Task_HandleSelectionScreenChooseMons(u8 taskId) if (gMain.newKeys & A_BUTTON) { PlaySE(SE_SELECT); - sub_819F3F8(sFactorySelectScreen->unk294[1], &sFactorySelectScreen->unk2A0, 0); + sub_819F3F8(sFactorySelectScreen->unk294[1], &sFactorySelectScreen->unk2A0, FALSE); Select_PrintSelectMonString(); sFactorySelectScreen->unk2A2 = TRUE; gTasks[taskId].data[0] = 1; @@ -1161,7 +1178,7 @@ static u8 Select_OptionRentDeselect(void) } else { - sub_819F3F8(sFactorySelectScreen->unk294[1], &sFactorySelectScreen->unk2A0, 0); + sub_819F3F8(sFactorySelectScreen->unk294[1], &sFactorySelectScreen->unk2A0, FALSE); Select_HandleMonSelectionChange(); Select_PrintSelectMonString(); sub_819B958(3); @@ -1191,7 +1208,7 @@ static u8 Select_OptionSummary(void) static u8 Select_OptionOthers(void) { - sub_819F3F8(sFactorySelectScreen->unk294[1], &sFactorySelectScreen->unk2A0, 0); + sub_819F3F8(sFactorySelectScreen->unk294[1], &sFactorySelectScreen->unk2A0, FALSE); sub_819B958(3); return 1; } @@ -1226,15 +1243,15 @@ void sub_819BD70(void) gSprites[sFactorySelectScreen->unk294[1].field0].centerToCornerVecX = 0; gSprites[sFactorySelectScreen->unk294[1].field0].centerToCornerVecY = 0; - sFactorySelectScreen->unk2A0 = 0; + sFactorySelectScreen->unk2A0 = FALSE; } -void sub_819BE20(u8 arg0) +void sub_819BE20(bool8 arg0) { sFactorySelectScreen->unk2A0 = arg0; } -static void Select_ShowCheckedMonSprite(void) +static void Select_ShowSummaryMonSprite(void) { struct Pokemon *mon; u16 species; @@ -1277,7 +1294,7 @@ static void Select_ShowChosenMonsSprites(void) } } } - sFactorySelectScreen->unk2A0 = 0; + sFactorySelectScreen->unk2A0 = FALSE; } static void sub_819C040(struct Sprite *sprite) @@ -1309,7 +1326,7 @@ static void sub_819C100(struct Sprite *sprite) FreeOamMatrix(gSprites[sFactorySelectScreen->unk294[0].field1].oam.matrixNum); FreeOamMatrix(gSprites[sFactorySelectScreen->unk294[2].field1].oam.matrixNum); - sFactorySelectScreen->unk2A0 = 0; + sFactorySelectScreen->unk2A0 = FALSE; DestroySprite(&gSprites[sFactorySelectScreen->unk294[0].field1]); DestroySprite(&gSprites[sFactorySelectScreen->unk294[2].field1]); @@ -1415,7 +1432,7 @@ static void sub_819C4B4(void) gSprites[sFactorySelectScreen->unk294[0].field1].callback = SpriteCallbackDummy; gSprites[sFactorySelectScreen->unk294[2].field1].callback = SpriteCallbackDummy; - sFactorySelectScreen->unk2A0 = 1; + sFactorySelectScreen->unk2A0 = TRUE; } static void sub_819C568(void) @@ -1429,7 +1446,7 @@ static void sub_819C568(void) taskId = CreateTask(sub_819C2D4, 1); gTasks[taskId].func(taskId); - sFactorySelectScreen->unk2A0 = 1; + sFactorySelectScreen->unk2A0 = TRUE; } static void Select_SetWinRegs(s16 mWin0H, s16 nWin0H, s16 mWin0V, s16 nWin0V) @@ -1464,7 +1481,7 @@ static bool32 Select_AreSpeciesValid(u16 monSetId) return TRUE; } -static void Task_SelectBlendPalette(u8 taskId) +static void Task_SelectFadeSpeciesName(u8 taskId) { switch (gTasks[taskId].data[0]) { @@ -1537,20 +1554,20 @@ void Swap_VblankCb(void) TransferPlttBuffer(); } -void sub_819C810(void) +void CopySwappedMonData(void) { u8 happiness; - gPlayerParty[sFactorySwapScreen->unk12] = gEnemyParty[sFactorySwapScreen->unk13]; + gPlayerParty[sFactorySwapScreen->playerMonId] = gEnemyParty[sFactorySwapScreen->enemyMonId]; happiness = 0; - SetMonData(&gPlayerParty[sFactorySwapScreen->unk12], MON_DATA_FRIENDSHIP, &happiness); - gSaveBlock2Ptr->frontier.field_E70[sFactorySwapScreen->unk12].monId = gSaveBlock2Ptr->frontier.field_E70[sFactorySwapScreen->unk13 + 3].monId; - gSaveBlock2Ptr->frontier.field_E70[sFactorySwapScreen->unk12].ivs = gSaveBlock2Ptr->frontier.field_E70[sFactorySwapScreen->unk13 + 3].ivs; - gSaveBlock2Ptr->frontier.field_E70[sFactorySwapScreen->unk12].personality = GetMonData(&gEnemyParty[sFactorySwapScreen->unk13], MON_DATA_PERSONALITY, NULL); - gSaveBlock2Ptr->frontier.field_E70[sFactorySwapScreen->unk12].abilityBit = GetBoxMonData(&gEnemyParty[sFactorySwapScreen->unk13].box, MON_DATA_ALT_ABILITY, NULL); + SetMonData(&gPlayerParty[sFactorySwapScreen->playerMonId], MON_DATA_FRIENDSHIP, &happiness); + gSaveBlock2Ptr->frontier.field_E70[sFactorySwapScreen->playerMonId].monId = gSaveBlock2Ptr->frontier.field_E70[sFactorySwapScreen->enemyMonId + 3].monId; + gSaveBlock2Ptr->frontier.field_E70[sFactorySwapScreen->playerMonId].ivs = gSaveBlock2Ptr->frontier.field_E70[sFactorySwapScreen->enemyMonId + 3].ivs; + gSaveBlock2Ptr->frontier.field_E70[sFactorySwapScreen->playerMonId].personality = GetMonData(&gEnemyParty[sFactorySwapScreen->enemyMonId], MON_DATA_PERSONALITY, NULL); + gSaveBlock2Ptr->frontier.field_E70[sFactorySwapScreen->playerMonId].abilityBit = GetBoxMonData(&gEnemyParty[sFactorySwapScreen->enemyMonId].box, MON_DATA_ALT_ABILITY, NULL); } -void sub_819C90C(u8 taskId) // Task_FromSelectScreenToSummaryScreen +void Task_FromSwapScreenToSummaryScreen(u8 taskId) { switch (gTasks[taskId].data[0]) { @@ -1561,7 +1578,7 @@ void sub_819C90C(u8 taskId) // Task_FromSelectScreenToSummaryScreen case 7: if (!gPaletteFade.active) { - DestroyTask(sFactorySwapScreen->palBlendTaskId); + DestroyTask(sFactorySwapScreen->fadeSpeciesNameTaskId); sub_819F444(sFactorySwapScreen->unk2C, &sFactorySwapScreen->unk30); Swap_DestroyAllSprites(); FREE_AND_SET_NULL(gUnknown_0203CE40); @@ -1581,14 +1598,14 @@ void sub_819C90C(u8 taskId) // Task_FromSelectScreenToSummaryScreen } } -void sub_819CA08(u8 taskId) // Task_CloseSelectionScreen +void Task_CloseSwapScreen(u8 taskId) { - if (sFactorySwapScreen->unk30 != 1) + if (sFactorySwapScreen->unk30 != TRUE) { switch (gTasks[taskId].data[0]) { case 0: - if (sFactorySwapScreen->unk20 == 1) + if (sFactorySwapScreen->monSwapped == TRUE) { gTasks[taskId].data[0]++; gSpecialVar_Result = 0; @@ -1600,10 +1617,10 @@ void sub_819CA08(u8 taskId) // Task_CloseSelectionScreen } break; case 1: - if (sFactorySwapScreen->unk20 == 1) + if (sFactorySwapScreen->monSwapped == TRUE) { - sFactorySwapScreen->unk13 = sFactorySwapScreen->cursorPos; - sub_819C810(); + sFactorySwapScreen->enemyMonId = sFactorySwapScreen->cursorPos; + CopySwappedMonData(); } gTasks[taskId].data[0]++; break; @@ -1614,7 +1631,7 @@ void sub_819CA08(u8 taskId) // Task_CloseSelectionScreen case 3: if (!UpdatePaletteFade()) { - DestroyTask(sFactorySwapScreen->palBlendTaskId); + DestroyTask(sFactorySwapScreen->fadeSpeciesNameTaskId); Swap_DestroyAllSprites(); FREE_AND_SET_NULL(gUnknown_0203CE40); FREE_AND_SET_NULL(gUnknown_0203CE44); @@ -1634,7 +1651,7 @@ void Task_HandleSwapScreenYesNo(u8 taskId) { u16 loPtr, hiPtr; - if (sFactorySwapScreen->unk30 != 1) + if (sFactorySwapScreen->unk30 != TRUE) { switch (gTasks[taskId].data[0]) { @@ -1691,7 +1708,7 @@ void sub_819CBDC(u8 taskId) if (gTasks[taskId].data[1] == 1) { gTasks[taskId].data[0] = 0; - gTasks[taskId].func = sub_819CA08; + gTasks[taskId].func = Task_CloseSwapScreen; } else { @@ -1708,7 +1725,7 @@ void sub_819CC24(u8 taskId) if (gTasks[taskId].data[0] == 0) { Swap_PrintOnInfoWindow(gText_QuitSwapping); - sFactorySwapScreen->unk20 = 0; + sFactorySwapScreen->monSwapped = FALSE; gTasks[taskId].data[0] = 4; gTasks[taskId].data[6] = (u32)(sub_819CBDC) >> 16; gTasks[taskId].data[7] = (u32)(sub_819CBDC); @@ -1718,11 +1735,11 @@ void sub_819CC24(u8 taskId) void sub_819CC74(u8 taskId) { - sub_819F3F8(sFactorySwapScreen->unk2C, &sFactorySwapScreen->unk30, 1); + sub_819F3F8(sFactorySwapScreen->unk2C, &sFactorySwapScreen->unk30, TRUE); if (gTasks[taskId].data[1] == 1) { gTasks[taskId].data[0] = 0; - gTasks[taskId].func = sub_819CA08; + gTasks[taskId].func = Task_CloseSwapScreen; } else { @@ -1738,9 +1755,9 @@ void sub_819CCD4(u8 taskId) { if (gTasks[taskId].data[0] == 0) { - sub_819F2B4(&sFactorySwapScreen->unk2C.field1, &sFactorySwapScreen->unk30, 1); + sub_819F2B4(&sFactorySwapScreen->unk2C.field1, &sFactorySwapScreen->unk30, TRUE); Swap_PrintOnInfoWindow(gText_AcceptThisPkmn); - sFactorySwapScreen->unk20 = 1; + sFactorySwapScreen->monSwapped = TRUE; gTasks[taskId].data[0] = 4; gTasks[taskId].data[6] = (u32)(sub_819CC74) >> 16; gTasks[taskId].data[7] = (u32)(sub_819CC74); @@ -1754,18 +1771,18 @@ void Task_HandleSwapScreenMenu(u8 taskId) { case 2: if (!sFactorySwapScreen->fromSummaryScreen) - sub_819F2B4(&sFactorySwapScreen->unk2C.field1, &sFactorySwapScreen->unk30, 1); + sub_819F2B4(&sFactorySwapScreen->unk2C.field1, &sFactorySwapScreen->unk30, TRUE); gTasks[taskId].data[0] = 9; break; case 9: - if (sFactorySwapScreen->unk30 != 1) + if (sFactorySwapScreen->unk30 != TRUE) { Swap_ShowMenuOptions(); gTasks[taskId].data[0] = 3; } break; case 3: - if (sFactorySwapScreen->unk30 != 1) + if (sFactorySwapScreen->unk30 != TRUE) { if (gMain.newKeys & A_BUTTON) { @@ -1775,7 +1792,7 @@ void Task_HandleSwapScreenMenu(u8 taskId) else if (gMain.newKeys & B_BUTTON) { PlaySE(SE_SELECT); - sub_819F3F8(sFactorySwapScreen->unk2C, &sFactorySwapScreen->unk30, 1); + sub_819F3F8(sFactorySwapScreen->unk2C, &sFactorySwapScreen->unk30, TRUE); sub_819EA64(3); gTasks[taskId].data[0] = 0; gTasks[taskId].data[6] = (u32)(Task_HandleSwapScreenChooseMons) >> 16; @@ -1814,7 +1831,7 @@ void Task_HandleSwapScreenChooseMons(u8 taskId) sFactorySwapScreen->unk22 = 0; Swap_PrintMonSpecies2(); sub_819EAC0(); - sub_819F184(taskId); + Swap_RunActionFunc(taskId); } else if (gMain.newKeys & B_BUTTON) { @@ -1856,7 +1873,7 @@ void Task_HandleSwapScreenChooseMons(u8 taskId) } } -void Task_SwapBlendPalette(u8 taskId) +void Task_SwapFadeSpeciesName(u8 taskId) { switch (gTasks[taskId].data[0]) { @@ -1911,7 +1928,7 @@ void Task_SwapBlendPalette(u8 taskId) } } -void Task_SwapBlendPalette2(u8 taskId) +void Task_SwapFadeSpeciesName2(u8 taskId) { switch (gTasks[taskId].data[0]) { @@ -2004,7 +2021,7 @@ void sub_819D12C(u8 taskId) { var_2C = gSprites[sFactorySwapScreen->ballSpriteIds[i]].pos1.x; gSprites[sFactorySwapScreen->ballSpriteIds[i]].pos1.x = -16; - if (sFactorySwapScreen->actionsState == 1) + if (sFactorySwapScreen->inEnemyScreen == TRUE) gSprites[sFactorySwapScreen->ballSpriteIds[i]].oam.paletteNum = IndexOfSpritePaletteTag(TAG_PAL_BALL_SELECTED); else gSprites[sFactorySwapScreen->ballSpriteIds[i]].oam.paletteNum = IndexOfSpritePaletteTag(TAG_PAL_BALL_GREY); @@ -2156,7 +2173,7 @@ void sub_819D588(u8 taskId) { FillWindowPixelBuffer(5, 0); CopyWindowToVram(5, 2); - if (sFactorySwapScreen->actionsState == 1) + if (sFactorySwapScreen->inEnemyScreen == TRUE) { anotherTaskId = CreateTask(sub_819D324, 0); gTasks[taskId].data[3] = 0; @@ -2212,13 +2229,13 @@ void sub_819D770(u8 taskId) { u8 anotherTaskId; u16 loPtr, hiPtr; - if (sFactorySwapScreen->unk30 == 1) + if (sFactorySwapScreen->unk30 == TRUE) return; switch (gTasks[taskId].data[0]) { case 0: - if (sFactorySwapScreen->actionsState == 1) + if (sFactorySwapScreen->inEnemyScreen == TRUE) { anotherTaskId = CreateTask(sub_819D324, 0); gTasks[taskId].data[3] = 0; @@ -2273,12 +2290,12 @@ void sub_819D770(u8 taskId) case 4: if (!gPaletteFade.active) { - Swap_PrintActionStrings3(0); + Swap_PrintOneActionString(0); gTasks[taskId].data[0]++; } break; case 5: - Swap_PrintActionStrings3(1); + Swap_PrintOneActionString(1); PutWindowTilemap(3); gTasks[taskId].data[0]++; break; @@ -2288,7 +2305,7 @@ void sub_819D770(u8 taskId) gTasks[taskId].data[0]++; break; case 7: - if (sFactorySwapScreen->actionsState == 0) + if (!sFactorySwapScreen->inEnemyScreen) Swap_PrintOnInfoWindow(gText_SelectPkmnToSwap); else Swap_PrintOnInfoWindow(gText_SelectPkmnToAccept); @@ -2312,7 +2329,7 @@ void sub_819D770(u8 taskId) void sub_819D9EC(u8 taskId) { u8 i; - if (sFactorySwapScreen->unk30 == 1) + if (sFactorySwapScreen->unk30 == TRUE) return; switch (gTasks[taskId].data[0]) @@ -2328,29 +2345,29 @@ void sub_819D9EC(u8 taskId) break; case 2: CreateTask(sub_819D12C, 0); - gTasks[sFactorySwapScreen->palBlendTaskId].func = Task_SwapBlendPalette2; + gTasks[sFactorySwapScreen->fadeSpeciesNameTaskId].func = Task_SwapFadeSpeciesName2; gTasks[taskId].data[0]++; break; case 3: - if (!FuncIsActiveTask(sub_819D12C) && gTasks[sFactorySwapScreen->palBlendTaskId].data[4] == 1) + if (!FuncIsActiveTask(sub_819D12C) && gTasks[sFactorySwapScreen->fadeSpeciesNameTaskId].data[4] == 1) { sub_819EAC0(); - if (sFactorySwapScreen->actionsState == 0) + if (!sFactorySwapScreen->inEnemyScreen) { - sub_819F048(1); + Swap_InitActions(ACTIONS_ENEMY_SCREEN); } else { - sub_819F048(0); + Swap_InitActions(ACTIONS_PLAYER_SCREEN); for (i = 0; i < 3; i++) gSprites[sFactorySwapScreen->unk8[1][i]].invisible = 1; } gSprites[sFactorySwapScreen->cursorSpriteId].pos1.x = gSprites[sFactorySwapScreen->ballSpriteIds[sFactorySwapScreen->cursorPos]].pos1.x; - gTasks[sFactorySwapScreen->palBlendTaskId].func = Task_SwapBlendPalette; + gTasks[sFactorySwapScreen->fadeSpeciesNameTaskId].func = Task_SwapFadeSpeciesName; sFactorySwapScreen->unk27 = 0; sFactorySwapScreen->unk28 = 6; sFactorySwapScreen->unk26 = FALSE; - gTasks[sFactorySwapScreen->palBlendTaskId].data[0] = 1; + gTasks[sFactorySwapScreen->fadeSpeciesNameTaskId].data[0] = 1; gTasks[taskId].data[0]++; } break; @@ -2370,7 +2387,7 @@ void Swap_InitStruct(void) { sFactorySwapScreen = AllocZeroed(sizeof(*sFactorySwapScreen)); sFactorySwapScreen->cursorPos = 0; - sFactorySwapScreen->unk30 = 0; + sFactorySwapScreen->unk30 = FALSE; sFactorySwapScreen->fromSummaryScreen = FALSE; } } @@ -2461,7 +2478,7 @@ void CB2_InitSwapScreen(void) Swap_InitAllSprites(); if (sFactorySwapScreen->fromSummaryScreen == TRUE) Swap_ShowSummaryMonSprite(); - sub_819F048(0); + Swap_InitActions(ACTIONS_PLAYER_SCREEN); gMain.state++; break; case 7: @@ -2517,17 +2534,17 @@ void CB2_InitSwapScreen(void) gMain.state++; break; case 15: - sFactorySwapScreen->palBlendTaskId = CreateTask(Task_SwapBlendPalette, 0); + sFactorySwapScreen->fadeSpeciesNameTaskId = CreateTask(Task_SwapFadeSpeciesName, 0); if (!sFactorySwapScreen->fromSummaryScreen) { - gTasks[sFactorySwapScreen->palBlendTaskId].data[0] = 0; + gTasks[sFactorySwapScreen->fadeSpeciesNameTaskId].data[0] = 0; taskId = CreateTask(Task_HandleSwapScreenChooseMons, 0); gTasks[taskId].data[0] = 0; } else { sub_819EAF8(); - gTasks[sFactorySwapScreen->palBlendTaskId].data[0] = 1; + gTasks[sFactorySwapScreen->fadeSpeciesNameTaskId].data[0] = 1; sFactorySwapScreen->unk22 = FALSE; taskId = CreateTask(Task_HandleSwapScreenMenu, 0); gTasks[taskId].data[0] = 2; @@ -2541,6 +2558,7 @@ extern const struct SpriteTemplate gUnknown_08610834; extern const struct SpriteTemplate gUnknown_0861084C; extern const struct SpriteTemplate gUnknown_08610864; extern const struct SpriteTemplate gUnknown_0861087C; +extern const struct SpriteTemplate gUnknown_08610894; void Swap_InitAllSprites(void) { @@ -2665,7 +2683,7 @@ void Swap_HandleActionCursorChange(u8 cursorId) else { gSprites[sFactorySwapScreen->cursorSpriteId].invisible = 1; - sub_819E838(sFactorySwapScreen->unk18[cursorId].unk0); + sub_819E838(sFactorySwapScreen->actionsData[cursorId].id); } } @@ -2879,7 +2897,7 @@ void Swap_PrintMonSpecies(void) else { u8 monId = sFactorySwapScreen->cursorPos; - if (sFactorySwapScreen->actionsState == 0) + if (!sFactorySwapScreen->inEnemyScreen) species = GetMonData(&gPlayerParty[monId], MON_DATA_SPECIES, NULL); else species = GetMonData(&gEnemyParty[monId], MON_DATA_SPECIES, NULL); @@ -2896,3 +2914,367 @@ void Swap_PrintOnInfoWindow(const u8 *str) AddTextPrinterParameterized(2, 1, str, 2, 5, 0, NULL); CopyWindowToVram(2, 2); } + +void Swap_PrintMenuOptions(void) +{ + PutWindowTilemap(3); + FillWindowPixelBuffer(3, 0); + AddTextPrinterParameterized3(3, 1, 15, 1, gUnknown_08610922, 0, gText_Summary2); + AddTextPrinterParameterized3(3, 1, 15, 17, gUnknown_08610922, 0, gText_Swap); + AddTextPrinterParameterized3(3, 1, 15, 33, gUnknown_08610922, 0, gText_Rechoose); + CopyWindowToVram(3, 3); +} + +void Swap_PrintYesNoOptions(void) +{ + PutWindowTilemap(4); + FillWindowPixelBuffer(4, 0); + AddTextPrinterParameterized3(4, 1, 7, 1, gUnknown_08610922, 0, gText_Yes3); + AddTextPrinterParameterized3(4, 1, 7, 17, gUnknown_08610922, 0, gText_No3); + CopyWindowToVram(4, 3); +} + +void Swap_PrintActionString(const u8 *str, u32 y, u32 windowId) +{ + s32 x = GetStringRightAlignXOffset(0, str, 0x46); + AddTextPrinterParameterized3(windowId, 0, x, y, gUnknown_08610922, 0, str); +} + +void Swap_PrintActionStrings(void) +{ + FillWindowPixelBuffer(5, 0); + switch (sFactorySwapScreen->inEnemyScreen) + { + case TRUE: + Swap_PrintActionString(gText_PkmnForSwap, 0, 5); + case FALSE: + Swap_PrintActionString(gText_Cancel3, 24, 5); + break; + } + CopyWindowToVram(5, 3); +} + +void Swap_PrintActionStrings2(void) +{ + FillWindowPixelBuffer(3, 0); + switch (sFactorySwapScreen->inEnemyScreen) + { + case TRUE: + Swap_PrintActionString(gText_PkmnForSwap, 8, 3); + case FALSE: + Swap_PrintActionString(gText_Cancel3, 32, 3); + break; + } + CopyWindowToVram(3, 3); +} + +void Swap_PrintOneActionString(u8 which) +{ + switch (which) + { + case 0: + if (sFactorySwapScreen->inEnemyScreen == TRUE) + Swap_PrintActionString(gText_PkmnForSwap, 8, 3); + break; + case 1: + Swap_PrintActionString(gText_Cancel3, 32, 3); + break; + } + CopyWindowToVram(3, 3); +} + +void Swap_PrintMonSpecies2(void) +{ + u16 species; + u8 x; + u16 pal[5]; + + CpuCopy16(gUnknown_08610918, pal, 8); + if (!sFactorySwapScreen->fromSummaryScreen) + pal[4] = gPlttBufferFaded[228]; + else + pal[4] = sFactorySwapScreen->unk24; + LoadPalette(pal, 0xF0, 0xA); + + PutWindowTilemap(7); + FillWindowPixelBuffer(7, 0); + if (sFactorySwapScreen->cursorPos > 2) + { + CopyWindowToVram(7, 3); + } + else + { + u8 monId = sFactorySwapScreen->cursorPos; + if (!sFactorySwapScreen->inEnemyScreen) + species = GetMonData(&gPlayerParty[monId], MON_DATA_SPECIES, NULL); + else + species = GetMonData(&gEnemyParty[monId], MON_DATA_SPECIES, NULL); + StringCopy(gStringVar4, gSpeciesNames[species]); + x = GetStringRightAlignXOffset(1, gStringVar4, 86); + AddTextPrinterParameterized3(7, 1, x, 1, gUnknown_08610925, 0, gStringVar4); + CopyWindowToVram(7, 3); + } +} + +void Swap_PrintMonSpecies3(void) +{ + u16 species; + u8 x; + + LoadPalette(gUnknown_08610918, 0xE0, 0xA); + CpuCopy16(gPlttBufferUnfaded + 240, gPlttBufferFaded + 224, 10); + + if (sFactorySwapScreen->cursorPos > 2) + { + CopyWindowToVram(1, 2); + } + else + { + u8 monId = sFactorySwapScreen->cursorPos; + if (!sFactorySwapScreen->inEnemyScreen) + species = GetMonData(&gPlayerParty[monId], MON_DATA_SPECIES, NULL); + else + species = GetMonData(&gEnemyParty[monId], MON_DATA_SPECIES, NULL); + StringCopy(gStringVar4, gSpeciesNames[species]); + x = GetStringRightAlignXOffset(1, gStringVar4, 86); + AddTextPrinterParameterized3(1, 1, x, 1, gUnknown_08610925, 0, gStringVar4); + CopyWindowToVram(1, 3); + } +} + +void Swap_PrintMonCategory(void) +{ + u16 species; + u8 text[30]; + u8 x; + u8 monId = sFactorySwapScreen->cursorPos; + + FillWindowPixelBuffer(8, 0); + if (monId > 2) + { + CopyWindowToVram(8, 2); + } + else + { + PutWindowTilemap(8); + if (!sFactorySwapScreen->inEnemyScreen) + species = GetMonData(&gPlayerParty[monId], MON_DATA_SPECIES, NULL); + else + species = GetMonData(&gEnemyParty[monId], MON_DATA_SPECIES, NULL); + CopyMonCategoryText(SpeciesToNationalPokedexNum(species), text); + x = GetStringRightAlignXOffset(1, text, 0x76); + AddTextPrinterParameterized(8, 1, text, x, 1, 0, NULL); + CopyWindowToVram(8, 2); + } +} + +extern const struct SwapActionIdAndFunc gUnknown_08610928[4]; +extern const struct SwapActionIdAndFunc gUnknown_08610948[5]; + +void Swap_InitActions(u8 id) +{ + if (sFactorySwapScreen->fromSummaryScreen != TRUE) + { + switch (id) + { + case ACTIONS_PLAYER_SCREEN: + sFactorySwapScreen->inEnemyScreen = FALSE; + sFactorySwapScreen->cursorPos = 0; + sFactorySwapScreen->actionsCount = ARRAY_COUNT(gUnknown_08610928); + sFactorySwapScreen->actionsData = gUnknown_08610928; + break; + case ACTIONS_ENEMY_SCREEN: + sFactorySwapScreen->inEnemyScreen = TRUE; + sFactorySwapScreen->cursorPos = 0; + sFactorySwapScreen->actionsCount = ARRAY_COUNT(gUnknown_08610948); + sFactorySwapScreen->actionsData = gUnknown_08610948; + break; + } + } +} + +void Swap_RunMenuOptionFunc(u8 taskId) +{ + gUnknown_03001280 = sSwap_MenuOptionFuncs[sFactorySwapScreen->menuCursorPos]; + gUnknown_03001280(taskId); +} + +void sub_819F0CC(u8 taskId) +{ + sub_819F3F8(sFactorySwapScreen->unk2C, &sFactorySwapScreen->unk30, TRUE); + sFactorySwapScreen->playerMonId = sFactorySwapScreen->cursorPos; + sub_819EA64(3); + gTasks[taskId].data[0] = 0; + gTasks[taskId].func = sub_819D9EC; +} + +void sub_819F114(u8 taskId) +{ + gTasks[taskId].data[0] = 6; + gTasks[taskId].func = Task_FromSwapScreenToSummaryScreen; +} + +void sub_819F134(u8 taskId) +{ + sub_819F3F8(sFactorySwapScreen->unk2C, &sFactorySwapScreen->unk30, TRUE); + sub_819EA64(3); + gTasks[taskId].data[0] = 0; + gTasks[taskId].data[6] = (u32)(Task_HandleSwapScreenChooseMons) >> 0x10; + gTasks[taskId].data[7] = (u32)(Task_HandleSwapScreenChooseMons); + gTasks[taskId].data[5] = 1; + gTasks[taskId].func = sub_819D770; +} + +void Swap_RunActionFunc(u8 taskId) +{ + gUnknown_03001280 = sFactorySwapScreen->actionsData[sFactorySwapScreen->cursorPos].func; + gUnknown_03001280(taskId); +} + +void sub_819F1AC(u8 taskId) +{ + gTasks[taskId].data[6] = (u32)(sub_819CC24) >> 0x10; + gTasks[taskId].data[7] = (u32)(sub_819CC24); + gTasks[taskId].data[0] = 0; + gTasks[taskId].data[5] = 0; + gTasks[taskId].func = sub_819D588; +} + +void sub_819F1DC(u8 taskId) +{ + gTasks[taskId].data[6] = (u32)(sub_819D9EC) >> 0x10; + gTasks[taskId].data[7] = (u32)(sub_819D9EC); + gTasks[taskId].data[5] = 0; + gTasks[taskId].data[0] = 0; + gTasks[taskId].func = sub_819D588; +} + +void sub_819F20C(u8 taskId) +{ + if (!sFactorySwapScreen->inEnemyScreen) + { + gTasks[taskId].data[6] = (u32)(Task_HandleSwapScreenMenu) >> 0x10; + gTasks[taskId].data[7] = (u32)(Task_HandleSwapScreenMenu); + gTasks[taskId].data[5] = 2; + } + else if (Swap_AlreadyHasSameSpecies(sFactorySwapScreen->cursorPos) == TRUE) + { + sub_819F2B4(&sFactorySwapScreen->unk2C.field1, &sFactorySwapScreen->unk30, TRUE); + gTasks[taskId].data[0] = 0; + gTasks[taskId].data[5] = 1; + gTasks[taskId].func = Task_SwapCantHaveSameMons; + return; + } + else + { + gTasks[taskId].data[6] = (u32)(sub_819CCD4) >> 0x10; + gTasks[taskId].data[7] = (u32)(sub_819CCD4); + gTasks[taskId].data[5] = 0; + } + gTasks[taskId].data[0] = 0; + gTasks[taskId].func = sub_819D588; +} + +void sub_819F2B4(u8 *arg0, bool8 *arg1, bool8 swapScreen) +{ + *arg0 = CreateSprite(&gUnknown_08610894, 120, 64, 1); + gSprites[*arg0].callback = sub_819F600; + gSprites[*arg0].data[7] = swapScreen; + *arg1 = TRUE; +} + +void Swap_ShowSummaryMonSprite(void) +{ + struct Pokemon *mon; + u16 species; + u32 personality, otId; + + sFactorySwapScreen->unk2C.field1 = CreateSprite(&gUnknown_08610894, 120, 64, 1); + StartSpriteAffineAnim(&gSprites[sFactorySwapScreen->unk2C.field1], 2); + + mon = &gPlayerParty[sFactorySwapScreen->cursorPos]; + species = GetMonData(mon, MON_DATA_SPECIES, NULL); + personality = GetMonData(mon, MON_DATA_PERSONALITY, NULL); + otId = GetMonData(mon, MON_DATA_OT_ID, NULL); + + sFactorySwapScreen->unk2C.field0 = CreateMonPicSprite_HandleDeoxys(species, personality, otId, TRUE, 88, 32, 15, 0xFFFF); // BUG: otId and personality should be switched. + gSprites[sFactorySwapScreen->unk2C.field0].centerToCornerVecX = 0; + gSprites[sFactorySwapScreen->unk2C.field0].centerToCornerVecY = 0; + + gSprites[sFactorySwapScreen->unk2C.field1].invisible = 1; +} + +void sub_819F3F8(struct UnkFactoryStruct arg0, bool8 *arg1, bool8 swapScreen) +{ + u8 taskId; + + FreeAndDestroyMonPicSprite(arg0.field0); + taskId = CreateTask(sub_819F7B4, 1); + gTasks[taskId].data[7] = swapScreen; + gTasks[taskId].data[6] = arg0.field1; + gTasks[taskId].func(taskId); + *arg1 = TRUE; +} + +void sub_819F444(struct UnkFactoryStruct arg0, bool8 *arg1) +{ + FreeAndDestroyMonPicSprite(arg0.field0); + FreeOamMatrix(gSprites[arg0.field1].oam.matrixNum); + DestroySprite(&gSprites[arg0.field1]); + *arg1 = FALSE; +} + +void Task_SwapCantHaveSameMons(u8 taskId) +{ + if (sFactorySwapScreen->unk30 == TRUE) + return; + + switch (gTasks[taskId].data[0]) + { + case 0: + Swap_PrintOnInfoWindow(gText_SamePkmnInPartyAlready); + sFactorySwapScreen->monSwapped = FALSE; + gTasks[taskId].data[0]++; + break; + case 1: + if (gMain.newKeys & A_BUTTON || gMain.newKeys & B_BUTTON) + { + PlaySE(SE_SELECT); + sub_819F3F8(sFactorySwapScreen->unk2C, &sFactorySwapScreen->unk30, TRUE); + gTasks[taskId].data[0]++; + } + break; + case 2: + if (sFactorySwapScreen->unk30 != TRUE) + { + FillWindowPixelBuffer(5, 0); + CopyWindowToVram(5, 2); + gTasks[taskId].data[0]++; + } + break; + case 3: + Swap_PrintOnInfoWindow(gText_SelectPkmnToAccept); + gTasks[taskId].data[0]++; + break; + case 4: + Swap_PrintMonSpecies3(); + sub_819EADC(); + sFactorySwapScreen->unk22 = 1; + gTasks[taskId].data[0] = gTasks[taskId].data[5]; + gTasks[taskId].func = Task_HandleSwapScreenChooseMons; + break; + } +} + +bool8 Swap_AlreadyHasSameSpecies(u8 monId) +{ + u8 i; + u16 species = GetMonData(&gEnemyParty[monId], MON_DATA_SPECIES, NULL); + + for (i = 0; i < 3; i++) + { + if (i != sFactorySwapScreen->playerMonId && (u16)(GetMonData(&gPlayerParty[i], MON_DATA_SPECIES, NULL)) == species) + return TRUE; + } + return FALSE; +} From 135e98a82493b2538c030af9b327cb104e27a3dd Mon Sep 17 00:00:00 2001 From: Slawter666 <38655737+Slawter666@users.noreply.github.com> Date: Sun, 9 Sep 2018 16:06:35 +0100 Subject: [PATCH 190/234] Move battle factory data to C --- data/battle_frontier_2.s | 252 ------------- src/battle_factory.c | 742 +++++++++++++++++++++++++++++++++++++-- 2 files changed, 717 insertions(+), 277 deletions(-) diff --git a/data/battle_frontier_2.s b/data/battle_frontier_2.s index ab2ecc0588..f2e2dd6501 100644 --- a/data/battle_frontier_2.s +++ b/data/battle_frontier_2.s @@ -6,258 +6,6 @@ .section .rodata - - .align 2 -gUnknown_08610428:: @ 8610428 - .4byte 0x00000180, 0x00003195, 0x000021bb - - .align 2 -gUnknown_08610434:: @ 8610434 - window_template 0x00, 0x00, 0x02, 0x0c, 0x02, 0x0f, 0x0001 - window_template 0x00, 0x13, 0x02, 0x0b, 0x02, 0x0e, 0x0019 - window_template 0x00, 0x00, 0x0f, 0x14, 0x03, 0x0f, 0x002f - window_template 0x00, 0x16, 0x0e, 0x08, 0x06, 0x0f, 0x006b - window_template 0x00, 0x16, 0x0e, 0x08, 0x04, 0x0f, 0x009b - window_template 0x00, 0x0f, 0x00, 0x0f, 0x02, 0x0f, 0x00bb - null_window_template - - .align 1 -gUnknown_0861046C:: @ 861046C - .incbin "graphics/unknown/unknown_61046C.gbapal" - -gUnknown_08610476:: @ 8610476 - .byte 0x00, 0x02, 0x00 - -gUnknown_08610479:: @ 8610479 - .byte 0x00, 0x04, 0x00 - - .align 2 -gUnknown_0861047C:: @ 861047C - .byte 0x00, 0x00, 0x00, 0x80, 0x00, 0x0c, 0x00, 0x00 - - .align 2 -gUnknown_08610484:: @ 8610484 - .byte 0x00, 0x00, 0x00, 0x40, 0x00, 0x0c, 0x00, 0x00 - - .align 2 -gUnknown_0861048C:: @ 861048C - .byte 0x00, 0x40, 0x00, 0x80, 0x00, 0x08, 0x00, 0x00 - - .align 2 -gUnknown_08610494:: @ 8610494 - .byte 0x00, 0x07, 0x00, 0xc0, 0x00, 0x00, 0x01, 0x00 - - .align 2 -gUnknown_0861049C:: @ 861049C - .2byte 0x0000, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_086104A4:: @ 86104A4 - .2byte 0x0000, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_086104AC:: @ 86104AC - .2byte 0x0000, 0x001e, 0xffff, 0x0000 - - .align 2 -gUnknown_086104B4:: @ 86104B4 - .2byte 0x0010, 0x0004, 0x0000, 0x0004, 0x0020, 0x0004, 0x0000, 0x0004, 0x0010, 0x0004, 0x0000, 0x0004, 0x0020, 0x0004, 0x0000, 0x0004 - .2byte 0x0000, 0x0020, 0x0010, 0x0008, 0x0000, 0x0008, 0x0020, 0x0008, 0x0000, 0x0008, 0x0010, 0x0008, 0x0000, 0x0008, 0x0020, 0x0008 - .2byte 0x0000, 0x0008, 0xffff, 0x0000 - - .align 2 -gUnknown_086104FC:: @ 86104FC - .4byte gUnknown_0861049C - - .align 2 -gUnknown_08610500:: @ 8610500 - .4byte gUnknown_086104A4 - - .align 2 -gUnknown_08610504:: @ 8610504 - .4byte gUnknown_086104AC - .4byte gUnknown_086104B4 - - .align 2 -gUnknown_0861050C:: @ 861050C - .2byte 0x0005, 0x0005, 0x0000, 0x0000, 0x0000, 0x0000, 0x0100, 0x0000, 0x0010, 0x0005, 0x0000, 0x0000, 0x0000, 0x0000, 0x0100, 0x0000 - .2byte 0x0020, 0x0005, 0x0000, 0x0000, 0x0000, 0x0000, 0x0100, 0x0000, 0x0040, 0x0005, 0x0000, 0x0000, 0x0000, 0x0000, 0x0100, 0x0000 - .2byte 0x0080, 0x0005, 0x0000, 0x0000, 0x0000, 0x0000, 0x0100, 0x0000, 0x0100, 0x0005, 0x0000, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_0861056C:: @ 861056C - .2byte 0x0080, 0x0005, 0x0000, 0x0000, 0x0000, 0x0000, 0x0100, 0x0000, 0x0040, 0x0005, 0x0000, 0x0000, 0x0000, 0x0000, 0x0100, 0x0000 - .2byte 0x0020, 0x0005, 0x0000, 0x0000, 0x0000, 0x0000, 0x0100, 0x0000, 0x0010, 0x0005, 0x0000, 0x0000, 0x0000, 0x0000, 0x0100, 0x0000 - .2byte 0x0005, 0x0005, 0x0000, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_086105BC:: @ 86105BC - .2byte 0x0100, 0x0100, 0x0000, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_086105CC:: @ 86105CC - .4byte gUnknown_0861050C - .4byte gUnknown_0861056C - .4byte gUnknown_086105BC - - .align 2 -gUnknown_086105D8:: @ 86105D8 - spr_template 0x0064, 0x0064, gUnknown_0861047C, gUnknown_08610504, NULL, gDummySpriteAffineAnimTable, sub_819A44C - - .align 2 -gUnknown_086105F0:: @ 86105F0 - spr_template 0x0065, 0x0066, gUnknown_08610484, gUnknown_086104FC, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gUnknown_08610608:: @ 8610608 - spr_template 0x0066, 0x0066, gUnknown_0861048C, gUnknown_086104FC, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gUnknown_08610620:: @ 8610620 - spr_template 0x0067, 0x0066, gUnknown_0861048C, gUnknown_086104FC, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gUnknown_08610638:: @ 8610638 - spr_template 0x006d, 0x0067, gUnknown_08610494, gUnknown_08610500, NULL, gUnknown_086105CC, SpriteCallbackDummy - - .align 2 -gUnknown_08610650:: @ 8610650 - obj_tiles gUnknown_0860F3BC, 0x0080, 0x0065 - obj_tiles gUnknown_0860F43C, 0x0100, 0x0066 - obj_tiles gUnknown_0860F53C, 0x0100, 0x0067 - obj_tiles gUnknown_0860F63C, 0x0080, 0x0068 - obj_tiles gUnknown_0860F6BC, 0x0100, 0x0069 - obj_tiles gUnknown_0860F7BC, 0x0100, 0x006a - obj_tiles gUnknown_0860F83C, 0x0100, 0x006b - obj_tiles gUnknown_0860F93C, 0x0100, 0x006c - obj_tiles gUnknown_0860FA3C, 0x0800, 0x006d - null_obj_tiles - - .align 2 -gUnknown_086106A0:: @ 86106A0 - obj_tiles gUnknown_085B18AC, 0x0800, 0x0064 - null_obj_tiles - - .align 2 -gUnknown_086106B0:: @ 86106B0 - obj_pal gUnknown_0860F13C, 0x0064 - obj_pal gUnknown_0860F15C, 0x0065 - obj_pal gUnknown_0860F17C, 0x0066 - obj_pal gUnknown_0861039C, 0x0067 - null_obj_pal - - .align 2 -gUnknown_086106D8:: @ 86106D8 - .byte 0x00, 0x00, 0x00, 0x80, 0x00, 0x0c, 0x00, 0x00 - - .align 2 -gUnknown_086106E0:: @ 86106E0 - .byte 0x00, 0x00, 0x00, 0x40, 0x00, 0x0c, 0x00, 0x00 - - .align 2 -gUnknown_086106E8:: @ 86106E8 - .byte 0x00, 0x40, 0x00, 0x80, 0x00, 0x08, 0x00, 0x00 - - .align 2 -gUnknown_086106F0:: @ 86106F0 - .byte 0x00, 0x07, 0x00, 0xc0, 0x00, 0x00, 0x01, 0x00 - - .align 2 -gUnknown_086106F8:: @ 86106F8 - .2byte 0x0000, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_08610700:: @ 8610700 - .2byte 0x0000, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_08610708:: @ 8610708 - .2byte 0x0000, 0x001e, 0xffff, 0x0000 - - .align 2 -gUnknown_08610710:: @ 8610710 - .2byte 0x0010, 0x0004, 0x0000, 0x0004, 0x0020, 0x0004, 0x0000, 0x0004, 0x0010, 0x0004, 0x0000, 0x0004, 0x0020, 0x0004, 0x0000, 0x0004 - .2byte 0x0000, 0x0020, 0x0010, 0x0008, 0x0000, 0x0008, 0x0020, 0x0008, 0x0000, 0x0008, 0x0010, 0x0008, 0x0000, 0x0008, 0x0020, 0x0008 - .2byte 0x0000, 0x0008, 0xffff, 0x0000 - - .align 2 -gUnknown_08610758:: @ 8610758 - .4byte gUnknown_086106F8 - - .align 2 -gUnknown_0861075C:: @ 861075C - .4byte gUnknown_08610700 - - .align 2 -gUnknown_08610760:: @ 8610760 - .4byte gUnknown_08610708 - .4byte gUnknown_08610710 - - .align 2 -gUnknown_08610768:: @ 8610768 - .2byte 0x0005, 0x0005, 0x0000, 0x0000, 0x0000, 0x0000, 0x0100, 0x0000, 0x0010, 0x0005, 0x0000, 0x0000, 0x0000, 0x0000, 0x0100, 0x0000 - .2byte 0x0020, 0x0005, 0x0000, 0x0000, 0x0000, 0x0000, 0x0100, 0x0000, 0x0040, 0x0005, 0x0000, 0x0000, 0x0000, 0x0000, 0x0100, 0x0000 - .2byte 0x0080, 0x0005, 0x0000, 0x0000, 0x0000, 0x0000, 0x0100, 0x0000, 0x0100, 0x0005, 0x0000, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_086107C8:: @ 86107C8 - .2byte 0x0080, 0x0005, 0x0000, 0x0000, 0x0000, 0x0000, 0x0100, 0x0000, 0x0040, 0x0005, 0x0000, 0x0000, 0x0000, 0x0000, 0x0100, 0x0000 - .2byte 0x0020, 0x0005, 0x0000, 0x0000, 0x0000, 0x0000, 0x0100, 0x0000, 0x0010, 0x0005, 0x0000, 0x0000, 0x0000, 0x0000, 0x0100, 0x0000 - .2byte 0x0005, 0x0005, 0x0000, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_08610818:: @ 8610818 - .2byte 0x0100, 0x0100, 0x0000, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_08610828:: @ 8610828 - .4byte gUnknown_08610768 - .4byte gUnknown_086107C8 - .4byte gUnknown_08610818 - - .align 2 -gUnknown_08610834:: @ 8610834 - spr_template 0x0064, 0x0064, gUnknown_086106D8, gUnknown_08610760, NULL, gDummySpriteAffineAnimTable, sub_819A44C - - .align 2 -gUnknown_0861084C:: @ 861084C - spr_template 0x0065, 0x0066, gUnknown_086106E0, gUnknown_08610758, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gUnknown_08610864:: @ 8610864 - spr_template 0x0066, 0x0066, gUnknown_086106E8, gUnknown_08610758, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gUnknown_0861087C:: @ 861087C - spr_template 0x0067, 0x0066, gUnknown_086106E8, gUnknown_08610758, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gUnknown_08610894:: @ 8610894 - spr_template 0x006d, 0x0067, gUnknown_086106F0, gUnknown_0861075C, NULL, gUnknown_08610828, SpriteCallbackDummy - - .align 2 -sSwap_MenuOptionFuncs:: @ 86108AC - .4byte sub_819F114 - .4byte sub_819F0CC - .4byte sub_819F134 - - .align 2 -gUnknown_086108B8:: @ 86108B8 - .4byte 0x00001180, 0x00003195, 0x000001aa, 0x000021bb - - .align 2 -gUnknown_086108C8:: @ 86108C8 - window_template 0x00, 0x00, 0x02, 0x0c, 0x02, 0x0f, 0x0001 - window_template 0x02, 0x13, 0x02, 0x0b, 0x02, 0x0e, 0x0019 - window_template 0x00, 0x00, 0x0f, 0x14, 0x03, 0x0f, 0x002f - window_template 0x00, 0x15, 0x0e, 0x09, 0x06, 0x0f, 0x006b - window_template 0x00, 0x16, 0x0e, 0x08, 0x04, 0x0f, 0x00a1 - window_template 0x02, 0x15, 0x0f, 0x09, 0x05, 0x0e, 0x006b - window_template 0x02, 0x0a, 0x02, 0x04, 0x02, 0x0e, 0x00c1 - window_template 0x00, 0x13, 0x02, 0x0b, 0x02, 0x0f, 0x00c9 - window_template 0x00, 0x0f, 0x00, 0x0f, 0x02, 0x0f, 0x00df - null_window_template - gUnknown_08610918:: @ 8610918 .byte 0x00, 0x00, 0x00, 0x00, 0xff, 0x7f, 0x00, 0x00, 0x1f, 0x00 diff --git a/src/battle_factory.c b/src/battle_factory.c index f85a14b48c..1ae2afa213 100644 --- a/src/battle_factory.c +++ b/src/battle_factory.c @@ -144,6 +144,7 @@ extern const u8 gUnknown_085B18AC[]; extern void SetMonMoveAvoidReturn(struct Pokemon *mon, u16 move, u8 moveSlot); // This file's functions. +void sub_819A44C(struct Sprite *sprite); static void CB2_InitSelectScreen(void); static void Select_SetWinRegs(s16 mWin0H, s16 nWin0H, s16 mWin0V, s16 nWin0V); static void Select_InitMonsData(void); @@ -207,6 +208,9 @@ void Swap_ShowSummaryMonSprite(void); void Swap_UpdateActionCursorPosition(s8 direction); void Swap_UpdateBallCursorPosition(s8 direction); void Swap_RunMenuOptionFunc(u8 taskId); +void sub_819F0CC(u8 taskId); +void sub_819F114(u8 taskId); +void sub_819F134(u8 taskId); void Swap_RunActionFunc(u8 taskId); void Task_SwapCantHaveSameMons(u8 taskId); void Swap_PrintActionStrings(void); @@ -282,26 +286,714 @@ u8 (* const sSelect_MenuOptionFuncs[])(void) = [MENU_OTHERS] = Select_OptionOthers }; -extern void (* const sSwap_MenuOptionFuncs[])(u8 taskId); +static const struct BgTemplate gUnknown_08610428[3] = +{ + { + .bg = 0, + .charBaseIndex = 0, + .mapBaseIndex = 24, + .screenSize = 0, + .paletteMode = 0, + .priority = 0, + .baseTile = 0 + }, + { + .bg = 1, + .charBaseIndex = 1, + .mapBaseIndex = 25, + .screenSize = 0, + .paletteMode = 0, + .priority = 3, + .baseTile = 0 + }, + { + .bg = 3, + .charBaseIndex = 2, + .mapBaseIndex = 27, + .screenSize = 0, + .paletteMode = 0, + .priority = 2, + .baseTile = 0 + }, +}; + +static const struct WindowTemplate gUnknown_08610434[] = +{ + { + .priority = 0, + .tilemapLeft = 0, + .tilemapTop = 2, + .width = 12, + .height = 2, + .paletteNum = 15, + .baseBlock = 0x0001, + }, + { + .priority = 0, + .tilemapLeft = 19, + .tilemapTop = 2, + .width = 11, + .height = 2, + .paletteNum = 14, + .baseBlock = 0x0019, + }, + { + .priority = 0, + .tilemapLeft = 0, + .tilemapTop = 15, + .width = 20, + .height = 3, + .paletteNum = 15, + .baseBlock = 0x002f, + }, + { + .priority = 0, + .tilemapLeft = 22, + .tilemapTop = 14, + .width = 8, + .height = 6, + .paletteNum = 15, + .baseBlock = 0x006b, + }, + { + .priority = 0, + .tilemapLeft = 22, + .tilemapTop = 14, + .width = 8, + .height = 4, + .paletteNum = 15, + .baseBlock = 0x009b, + }, + { + .priority = 0, + .tilemapLeft = 15, + .tilemapTop = 0, + .width = 15, + .height = 2, + .paletteNum = 15, + .baseBlock = 0x00bb, + }, + DUMMY_WIN_TEMPLATE, +}; + +static const u16 gUnknown_0861046C[] = INCBIN_U16("graphics/unknown/unknown_61046C.gbapal"); + +static const u8 gUnknown_08610476[] = {0x00, 0x02, 0x00}; +static const u8 gUnknown_08610479[] = {0x00, 0x04, 0x00}; + +static const struct OamData gUnknown_0861047C = +{ + .y = 0, + .affineMode = 0, + .objMode = 0, + .mosaic = 0, + .bpp = 0, + .shape = 0, + .x = 0, + .matrixNum = 0, + .size = 2, + .tileNum = 0, + .priority = 3, + .paletteNum = 0, + .affineParam = 0, +}; + +static const struct OamData gUnknown_08610484 = +{ + .y = 0, + .affineMode = 0, + .objMode = 0, + .mosaic = 0, + .bpp = 0, + .shape = 0, + .x = 0, + .matrixNum = 0, + .size = 1, + .tileNum = 0, + .priority = 3, + .paletteNum = 0, + .affineParam = 0, +}; + +static const struct OamData gUnknown_0861048C = +{ + .y = 0, + .affineMode = 0, + .objMode = 0, + .mosaic = 0, + .bpp = 0, + .shape = 1, + .x = 0, + .matrixNum = 0, + .size = 2, + .tileNum = 0, + .priority = 2, + .paletteNum = 0, + .affineParam = 0, +}; + +static const struct OamData gUnknown_08610494 = +{ + .y = 0, + .affineMode = 3, + .objMode = 1, + .mosaic = 0, + .bpp = 0, + .shape = 0, + .x = 0, + .matrixNum = 0, + .size = 3, + .tileNum = 0, + .priority = 0, + .paletteNum = 0, + .affineParam = 1, +}; + +static const union AnimCmd gUnknown_0861049C[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd gUnknown_086104A4[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd gUnknown_086104AC[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_END, +}; + +static const union AnimCmd gUnknown_086104B4[] = +{ + ANIMCMD_FRAME(16, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(32, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(16, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(32, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(0, 32), + ANIMCMD_FRAME(16, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(32, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(16, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(32, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_END, +}; + +static const union AnimCmd * const gUnknown_086104FC[] = +{ + gUnknown_0861049C, +}; + +static const union AnimCmd * const gUnknown_08610500[] = +{ + gUnknown_086104A4, +}; + +static const union AnimCmd * const gUnknown_08610504[] = +{ + gUnknown_086104AC, + gUnknown_086104B4, +}; + +static const union AffineAnimCmd gUnknown_0861050C[] = +{ + AFFINEANIMCMD_FRAME(5, 5, 0, 0), + AFFINEANIMCMD_FRAME(0, 0, 0, 1), + AFFINEANIMCMD_FRAME(16, 5, 0, 0), + AFFINEANIMCMD_FRAME(0, 0, 0, 1), + AFFINEANIMCMD_FRAME(32, 5, 0, 0), + AFFINEANIMCMD_FRAME(0, 0, 0, 1), + AFFINEANIMCMD_FRAME(64, 5, 0, 0), + AFFINEANIMCMD_FRAME(0, 0, 0, 1), + AFFINEANIMCMD_FRAME(128, 5, 0, 0), + AFFINEANIMCMD_FRAME(0, 0, 0, 1), + AFFINEANIMCMD_FRAME(256, 5, 0, 0), + AFFINEANIMCMD_END, +}; + +static const union AffineAnimCmd gUnknown_0861056C[] = +{ + AFFINEANIMCMD_FRAME(128, 5, 0, 0), + AFFINEANIMCMD_FRAME(0, 0, 0, 1), + AFFINEANIMCMD_FRAME(64, 5, 0, 0), + AFFINEANIMCMD_FRAME(0, 0, 0, 1), + AFFINEANIMCMD_FRAME(32, 5, 0, 0), + AFFINEANIMCMD_FRAME(0, 0, 0, 1), + AFFINEANIMCMD_FRAME(16, 5, 0, 0), + AFFINEANIMCMD_FRAME(0, 0, 0, 1), + AFFINEANIMCMD_FRAME(5, 5, 0, 0), + AFFINEANIMCMD_END, +}; + +static const union AffineAnimCmd gUnknown_086105BC[] = +{ + AFFINEANIMCMD_FRAME(256, 256, 0, 0), + AFFINEANIMCMD_END, +}; + +static const union AffineAnimCmd * const gUnknown_086105CC[] = +{ + gUnknown_0861050C, + gUnknown_0861056C, + gUnknown_086105BC, +}; + +static const struct SpriteTemplate gUnknown_086105D8 = +{ + .tileTag = 0x0064, + .paletteTag = 0x0064, + .oam = &gUnknown_0861047C, + .anims = gUnknown_08610504, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_819A44C +}; + +static const struct SpriteTemplate gUnknown_086105F0 = +{ + .tileTag = 0x0065, + .paletteTag = 0x0066, + .oam = &gUnknown_08610484, + .anims = gUnknown_086104FC, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy +}; + +static const struct SpriteTemplate gUnknown_08610608 = +{ + .tileTag = 0x0066, + .paletteTag = 0x0066, + .oam = &gUnknown_0861048C, + .anims = gUnknown_086104FC, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy +}; + +static const struct SpriteTemplate gUnknown_08610620 = +{ + .tileTag = 0x0067, + .paletteTag = 0x0066, + .oam = &gUnknown_0861048C, + .anims = gUnknown_086104FC, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy +}; + +static const struct SpriteTemplate gUnknown_08610638 = +{ + .tileTag = 0x006d, + .paletteTag = 0x0067, + .oam = &gUnknown_08610494, + .anims = gUnknown_08610500, + .images = NULL, + .affineAnims = gUnknown_086105CC, + .callback = SpriteCallbackDummy +}; + +static const struct SpriteSheet gUnknown_08610650[] = +{ + {gUnknown_0860F3BC, 0x0080, 0x0065}, + {gUnknown_0860F43C, 0x0100, 0x0066}, + {gUnknown_0860F53C, 0x0100, 0x0067}, + {gUnknown_0860F63C, 0x0080, 0x0068}, + {gUnknown_0860F6BC, 0x0100, 0x0069}, + {gUnknown_0860F7BC, 0x0100, 0x006a}, + {gUnknown_0860F83C, 0x0100, 0x006b}, + {gUnknown_0860F93C, 0x0100, 0x006c}, + {gUnknown_0860FA3C, 0x0800, 0x006d}, + {}, +}; + +static const struct CompressedSpriteSheet gUnknown_086106A0[] = +{ + {gUnknown_085B18AC, 0x0800, 0x0064}, + {}, +}; + +static const struct SpritePalette gUnknown_086106B0[] = +{ + {gUnknown_0860F13C, 0x0064}, + {gUnknown_0860F15C, 0x0065}, + {gUnknown_0860F17C, 0x0066}, + {gUnknown_0861039C, 0x0067}, + {}, +}; + +static const struct OamData gUnknown_086106D8 = +{ + .y = 0, + .affineMode = 0, + .objMode = 0, + .mosaic = 0, + .bpp = 0, + .shape = 0, + .x = 0, + .matrixNum = 0, + .size = 2, + .tileNum = 0, + .priority = 3, + .paletteNum = 0, + .affineParam = 0, +}; + +static const struct OamData gUnknown_086106E0 = +{ + .y = 0, + .affineMode = 0, + .objMode = 0, + .mosaic = 0, + .bpp = 0, + .shape = 0, + .x = 0, + .matrixNum = 0, + .size = 1, + .tileNum = 0, + .priority = 3, + .paletteNum = 0, + .affineParam = 0, +}; + +static const struct OamData gUnknown_086106E8 = +{ + .y = 0, + .affineMode = 0, + .objMode = 0, + .mosaic = 0, + .bpp = 0, + .shape = 1, + .x = 0, + .matrixNum = 0, + .size = 2, + .tileNum = 0, + .priority = 2, + .paletteNum = 0, + .affineParam = 0, +}; + +static const struct OamData gUnknown_086106F0 = +{ + .y = 0, + .affineMode = 3, + .objMode = 1, + .mosaic = 0, + .bpp = 0, + .shape = 0, + .x = 0, + .matrixNum = 0, + .size = 3, + .tileNum = 0, + .priority = 0, + .paletteNum = 0, + .affineParam = 1, +}; + +static const union AnimCmd gUnknown_086106F8[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd gUnknown_08610700[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd gUnknown_08610708[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_END, +}; + +static const union AnimCmd gUnknown_08610710[] = +{ + ANIMCMD_FRAME(16, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(32, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(16, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(32, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(0, 32), + ANIMCMD_FRAME(16, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(32, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(16, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(32, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_END, +}; + +static const union AnimCmd * const gUnknown_08610758[] = +{ + gUnknown_086106F8, +}; + +static const union AnimCmd * const gUnknown_0861075C[] = +{ + gUnknown_08610700, +}; + +static const union AnimCmd * const gUnknown_08610760[] = +{ + gUnknown_08610708, + gUnknown_08610710, +}; + +static const union AffineAnimCmd gUnknown_08610768[] = +{ + AFFINEANIMCMD_FRAME(5, 5, 0, 0), + AFFINEANIMCMD_FRAME(0, 0, 0, 1), + AFFINEANIMCMD_FRAME(16, 5, 0, 0), + AFFINEANIMCMD_FRAME(0, 0, 0, 1), + AFFINEANIMCMD_FRAME(32, 5, 0, 0), + AFFINEANIMCMD_FRAME(0, 0, 0, 1), + AFFINEANIMCMD_FRAME(64, 5, 0, 0), + AFFINEANIMCMD_FRAME(0, 0, 0, 1), + AFFINEANIMCMD_FRAME(128, 5, 0, 0), + AFFINEANIMCMD_FRAME(0, 0, 0, 1), + AFFINEANIMCMD_FRAME(256, 5, 0, 0), + AFFINEANIMCMD_END, +}; + +static const union AffineAnimCmd gUnknown_086107C8[] = +{ + AFFINEANIMCMD_FRAME(128, 5, 0, 0), + AFFINEANIMCMD_FRAME(0, 0, 0, 1), + AFFINEANIMCMD_FRAME(64, 5, 0, 0), + AFFINEANIMCMD_FRAME(0, 0, 0, 1), + AFFINEANIMCMD_FRAME(32, 5, 0, 0), + AFFINEANIMCMD_FRAME(0, 0, 0, 1), + AFFINEANIMCMD_FRAME(16, 5, 0, 0), + AFFINEANIMCMD_FRAME(0, 0, 0, 1), + AFFINEANIMCMD_FRAME(5, 5, 0, 0), + AFFINEANIMCMD_END, +}; + +static const union AffineAnimCmd gUnknown_08610818[] = +{ + AFFINEANIMCMD_FRAME(256, 256, 0, 0), + AFFINEANIMCMD_END, +}; + +static const union AffineAnimCmd * const gUnknown_08610828[] = +{ + gUnknown_08610768, + gUnknown_086107C8, + gUnknown_08610818, +}; + +static const struct SpriteTemplate gUnknown_08610834 = +{ + .tileTag = 0x0064, + .paletteTag = 0x0064, + .oam = &gUnknown_086106D8, + .anims = gUnknown_08610760, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_819A44C +}; + +static const struct SpriteTemplate gUnknown_0861084C = +{ + .tileTag = 0x0065, + .paletteTag = 0x0066, + .oam = &gUnknown_086106E0, + .anims = gUnknown_08610758, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy +}; + +static const struct SpriteTemplate gUnknown_08610864 = +{ + .tileTag = 0x0066, + .paletteTag = 0x0066, + .oam = &gUnknown_086106E8, + .anims = gUnknown_08610758, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy +}; + +static const struct SpriteTemplate gUnknown_0861087C = +{ + .tileTag = 0x0067, + .paletteTag = 0x0066, + .oam = &gUnknown_086106E8, + .anims = gUnknown_08610758, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy +}; + +static const struct SpriteTemplate gUnknown_08610894 = +{ + .tileTag = 0x006d, + .paletteTag = 0x0067, + .oam = &gUnknown_086106F0, + .anims = gUnknown_0861075C, + .images = NULL, + .affineAnims = gUnknown_08610828, + .callback = SpriteCallbackDummy +}; + +void (* const sSwap_MenuOptionFuncs[])(u8 taskId) = +{ + sub_819F114, + sub_819F0CC, + sub_819F134, +}; + +static const struct BgTemplate gUnknown_086108B8[4] = +{ + { + .bg = 0, + .charBaseIndex = 0, + .mapBaseIndex = 24, + .screenSize = 0, + .paletteMode = 0, + .priority = 1, + .baseTile = 0 + }, + { + .bg = 1, + .charBaseIndex = 1, + .mapBaseIndex = 25, + .screenSize = 0, + .paletteMode = 0, + .priority = 3, + .baseTile = 0 + }, + { + .bg = 2, + .charBaseIndex = 2, + .mapBaseIndex = 26, + .screenSize = 0, + .paletteMode = 0, + .priority = 0, + .baseTile = 0 + }, + { + .bg = 3, + .charBaseIndex = 2, + .mapBaseIndex = 27, + .screenSize = 0, + .paletteMode = 0, + .priority = 2, + .baseTile = 0 + }, +}; + +static const struct WindowTemplate gUnknown_086108C8[] = +{ + { + .priority = 0, + .tilemapLeft = 0, + .tilemapTop = 2, + .width = 12, + .height = 2, + .paletteNum = 15, + .baseBlock = 0x0001, + }, + { + .priority = 2, + .tilemapLeft = 19, + .tilemapTop = 2, + .width = 11, + .height = 2, + .paletteNum = 14, + .baseBlock = 0x0019, + }, + { + .priority = 0, + .tilemapLeft = 0, + .tilemapTop = 15, + .width = 20, + .height = 3, + .paletteNum = 15, + .baseBlock = 0x002f, + }, + { + .priority = 0, + .tilemapLeft = 21, + .tilemapTop = 14, + .width = 9, + .height = 6, + .paletteNum = 15, + .baseBlock = 0x006b, + }, + { + .priority = 0, + .tilemapLeft = 22, + .tilemapTop = 14, + .width = 8, + .height = 4, + .paletteNum = 15, + .baseBlock = 0x00a1, + }, + { + .priority = 2, + .tilemapLeft = 21, + .tilemapTop = 15, + .width = 9, + .height = 5, + .paletteNum = 14, + .baseBlock = 0x006b, + }, + { + .priority = 2, + .tilemapLeft = 10, + .tilemapTop = 2, + .width = 4, + .height = 2, + .paletteNum = 14, + .baseBlock = 0x00c1, + }, + { + .priority = 0, + .tilemapLeft = 19, + .tilemapTop = 2, + .width = 11, + .height = 2, + .paletteNum = 15, + .baseBlock = 0x00c9, + }, + { + .priority = 0, + .tilemapLeft = 15, + .tilemapTop = 0, + .width = 15, + .height = 2, + .paletteNum = 15, + .baseBlock = 0x00df, + }, + DUMMY_WIN_TEMPLATE, +}; + +//const u16 gUnknown_08610918[] = {0x00, 0x00, 0x00, 0x00, 0xff, 0x7f, 0x00, 0x00, 0x1f, 0x00}; // palette +//const u8 gUnknown_08610922[] = {0x00, 0x02, 0x00}; +//const u8 gUnknown_08610925[] = {0x00, 0x04, 0x00}; -extern const struct BgTemplate gUnknown_08610428[3]; -extern const struct BgTemplate gUnknown_086108B8[4]; -extern const struct WindowTemplate gUnknown_08610434[]; -extern const struct WindowTemplate gUnknown_086108C8[]; -extern const u16 gUnknown_0861046C[]; extern const u16 gUnknown_08610918[]; -extern const struct SpriteTemplate gUnknown_086105D8; -extern const struct SpriteTemplate gUnknown_086105F0; -extern const struct SpriteTemplate gUnknown_08610608; -extern const struct SpriteTemplate gUnknown_08610620; -extern const struct SpriteTemplate gUnknown_08610638; -extern const u8 gUnknown_08610479[]; -extern const u8 gUnknown_08610925[]; -extern const u8 gUnknown_08610476[]; extern const u8 gUnknown_08610922[]; -extern const struct SpritePalette gUnknown_086106B0[]; -extern const struct SpriteSheet gUnknown_08610650[]; -extern const struct CompressedSpriteSheet gUnknown_086106A0[]; +extern const u8 gUnknown_08610925[]; // gfx extern const u8 gFrontierFactorySelectMenu_Gfx[]; @@ -1345,8 +2037,8 @@ static void sub_819C1D0(u8 taskId) task->data[5] = 64; task->data[8] = 65; SetGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_WIN0_ON); - SetGpuReg(REG_OFFSET_WIN0H, WINHV_COORDS(task->data[3], task->data[24])); - SetGpuReg(REG_OFFSET_WIN0V, WINHV_COORDS(task->data[5], task->data[8])); + SetGpuReg(REG_OFFSET_WIN0H, WIN_RANGE(task->data[3], task->data[24])); + SetGpuReg(REG_OFFSET_WIN0V, WIN_RANGE(task->data[5], task->data[8])); SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG_ALL | WININ_WIN0_CLR | WININ_WIN0_OBJ); SetGpuReg(REG_OFFSET_WINOUT, WINOUT_WIN01_BG0 | WINOUT_WIN01_BG1 | WINOUT_WIN01_BG2 | WINOUT_WIN01_CLR | WINOUT_WIN01_OBJ); break; @@ -1364,7 +2056,7 @@ static void sub_819C1D0(u8 taskId) task->data[8] = 96; ClearGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_WIN0_ON); } - SetGpuReg(REG_OFFSET_WIN0V, WINHV_COORDS(task->data[5], task->data[8])); + SetGpuReg(REG_OFFSET_WIN0V, WIN_RANGE(task->data[5], task->data[8])); if (task->data[5] != 32) return; break; @@ -1401,8 +2093,8 @@ static void sub_819C2D4(u8 taskId) task->data[5] = 32; task->data[8] = 96; SetGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_WIN0_ON); - SetGpuReg(REG_OFFSET_WIN0H, WINHV_COORDS(task->data[3], task->data[24])); - SetGpuReg(REG_OFFSET_WIN0V, WINHV_COORDS(task->data[5], task->data[8])); + SetGpuReg(REG_OFFSET_WIN0H, WIN_RANGE(task->data[3], task->data[24])); + SetGpuReg(REG_OFFSET_WIN0V, WIN_RANGE(task->data[5], task->data[8])); SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG_ALL | WININ_WIN0_CLR | WININ_WIN0_OBJ); SetGpuReg(REG_OFFSET_WINOUT, WINOUT_WIN01_BG0 | WINOUT_WIN01_BG1 | WINOUT_WIN01_BG2 | WINOUT_WIN01_CLR | WINOUT_WIN01_OBJ); task->data[0]++; @@ -1415,7 +2107,7 @@ static void sub_819C2D4(u8 taskId) task->data[5] = 64; task->data[8] = 65; } - SetGpuReg(REG_OFFSET_WIN0V, WINHV_COORDS(task->data[5], task->data[8])); + SetGpuReg(REG_OFFSET_WIN0V, WIN_RANGE(task->data[5], task->data[8])); if (task->data[5] == 64) task->data[0]++; break; @@ -1452,8 +2144,8 @@ static void sub_819C568(void) static void Select_SetWinRegs(s16 mWin0H, s16 nWin0H, s16 mWin0V, s16 nWin0V) { SetGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_WIN0_ON); - SetGpuReg(REG_OFFSET_WIN0H, WINHV_COORDS(mWin0H, nWin0H)); - SetGpuReg(REG_OFFSET_WIN0V, WINHV_COORDS(mWin0V, nWin0V)); + SetGpuReg(REG_OFFSET_WIN0H, WIN_RANGE(mWin0H, nWin0H)); + SetGpuReg(REG_OFFSET_WIN0V, WIN_RANGE(mWin0V, nWin0V)); SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG_ALL | WININ_WIN0_CLR | WININ_WIN0_OBJ); SetGpuReg(REG_OFFSET_WINOUT, WINOUT_WIN01_BG0 | WINOUT_WIN01_BG1 | WINOUT_WIN01_BG2 | WINOUT_WIN01_CLR | WINOUT_WIN01_OBJ); } From 4d1df7ecbe69cf151d00976648aa34faae8cd6e9 Mon Sep 17 00:00:00 2001 From: DizzyEggg <jajkodizzy@wp.pl> Date: Sun, 9 Sep 2018 20:31:51 +0200 Subject: [PATCH 191/234] comm --- asm/battle_frontier_2.s | 38 -------------------------------------- src/battle_factory.c | 15 +++++++++++++++ 2 files changed, 15 insertions(+), 38 deletions(-) diff --git a/asm/battle_frontier_2.s b/asm/battle_frontier_2.s index d66751e055..280a8a483b 100644 --- a/asm/battle_frontier_2.s +++ b/asm/battle_frontier_2.s @@ -7,44 +7,6 @@ - thumb_func_start sub_819F600 -sub_819F600: @ 819F600 - push {r4,lr} - adds r4, r0, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _0819F640 - adds r2, r4, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - ldr r0, =sub_819F69C - movs r1, 0x1 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldrh r2, [r4, 0x3C] - strh r2, [r1, 0x16] - ldr r1, [r1] - bl _call_via_r1 - ldr r0, =SpriteCallbackDummy - str r0, [r4, 0x1C] -_0819F640: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_819F600 thumb_func_start sub_819F654 sub_819F654: @ 819F654 diff --git a/src/battle_factory.c b/src/battle_factory.c index f85a14b48c..898278b03f 100644 --- a/src/battle_factory.c +++ b/src/battle_factory.c @@ -208,6 +208,7 @@ void Swap_UpdateActionCursorPosition(s8 direction); void Swap_UpdateBallCursorPosition(s8 direction); void Swap_RunMenuOptionFunc(u8 taskId); void Swap_RunActionFunc(u8 taskId); +void sub_819F69C(u8 taskId); void Task_SwapCantHaveSameMons(u8 taskId); void Swap_PrintActionStrings(void); void Swap_PrintActionStrings2(void); @@ -3278,3 +3279,17 @@ bool8 Swap_AlreadyHasSameSpecies(u8 monId) } return FALSE; } + +void sub_819F600(struct Sprite *sprite) +{ + u8 taskId; + + if (sprite->affineAnimEnded) + { + sprite->invisible = 1; + taskId = CreateTask(sub_819F69C, 1); + gTasks[taskId].data[7] = sprite->data[7]; + gTasks[taskId].func(taskId); + sprite->callback = SpriteCallbackDummy; + } +} From 044ef98309bae2ba49668cdc453f4e82b84ba3d7 Mon Sep 17 00:00:00 2001 From: Tetrable <atifhuss386@gmail.com> Date: Sun, 9 Sep 2018 22:35:07 +0100 Subject: [PATCH 192/234] Document trainer animations, correct unused table labelling --- src/data/pokemon_graphics/unknown_anims.h | 2 +- src/data/trainer_graphics/back_pic_anims.h | 64 +- src/data/trainer_graphics/front_pic_anims.h | 656 ++++++++++++++------ src/pokemon.c | 10 +- src/trainer_pokemon_sprites.c | 4 +- 5 files changed, 507 insertions(+), 229 deletions(-) diff --git a/src/data/pokemon_graphics/unknown_anims.h b/src/data/pokemon_graphics/unknown_anims.h index a4ae43eb60..313e7ae35a 100644 --- a/src/data/pokemon_graphics/unknown_anims.h +++ b/src/data/pokemon_graphics/unknown_anims.h @@ -1902,7 +1902,7 @@ 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}; -const union AnimCmd *const *const gUnknownAnimationsSpriteAnimsPtrTable[] = +const union AnimCmd *const *const gUnusedTrainerFrontAnimsPtrTable[] = { 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 e2419b6f66..21dbda5978 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 gUnknown_08305C24[] = +const union AnimCmd gAnimCmd_Brendan_1[] = { ANIMCMD_FRAME(0, 24), ANIMCMD_FRAME(1, 9), @@ -8,7 +8,7 @@ const union AnimCmd gUnknown_08305C24[] = ANIMCMD_END, }; -const union AnimCmd gUnknown_08305C3C[] = +const union AnimCmd gAnimCmd_May_Steven_1[] = { ANIMCMD_FRAME(0, 24), ANIMCMD_FRAME(1, 9), @@ -18,7 +18,7 @@ const union AnimCmd gUnknown_08305C3C[] = ANIMCMD_END, }; -const union AnimCmd gUnknown_08305C54[] = +const union AnimCmd gAnimCmd_Wally_1[] = { ANIMCMD_FRAME(0, 24), ANIMCMD_FRAME(1, 9), @@ -28,7 +28,7 @@ const union AnimCmd gUnknown_08305C54[] = ANIMCMD_END, }; -const union AnimCmd gUnknown_08305C6C[] = +const union AnimCmd gAnimCmd_Red_1[] = { ANIMCMD_FRAME(1, 20), ANIMCMD_FRAME(2, 6), @@ -38,7 +38,7 @@ const union AnimCmd gUnknown_08305C6C[] = ANIMCMD_END, }; -const union AnimCmd gUnknown_08305C84[] = +const union AnimCmd gAnimCmd_Leaf_1[] = { ANIMCMD_FRAME(1, 20), ANIMCMD_FRAME(2, 6), @@ -48,7 +48,7 @@ const union AnimCmd gUnknown_08305C84[] = ANIMCMD_END, }; -const union AnimCmd gUnknown_08305C9C[] = +const union AnimCmd gAnimCmd_RubySapphireBrendan_1[] = { ANIMCMD_FRAME(0, 24), ANIMCMD_FRAME(1, 9), @@ -58,7 +58,7 @@ const union AnimCmd gUnknown_08305C9C[] = ANIMCMD_END, }; -const union AnimCmd gUnknown_08305CB4[] = +const union AnimCmd gAnimCmd_RubySapphireMay_1[] = { ANIMCMD_FRAME(0, 24), ANIMCMD_FRAME(1, 9), @@ -68,62 +68,62 @@ const union AnimCmd gUnknown_08305CB4[] = ANIMCMD_END, }; -const union AnimCmd *const gUnknown_08305CCC[] = +const union AnimCmd *const gTrainerBackAnims_Brendan[] = { AnimCmd_82FF540, - gUnknown_08305C24, + gAnimCmd_Brendan_1, }; -const union AnimCmd *const gUnknown_08305CD4[] = +const union AnimCmd *const gTrainerBackAnims_May[] = { AnimCmd_82FF540, - gUnknown_08305C3C, + gAnimCmd_May_Steven_1, }; -const union AnimCmd *const gUnknown_08305CDC[] = +const union AnimCmd *const gTrainerBackAnims_Red[] = { gAnimCmd_General_Frame0, - gUnknown_08305C6C, + gAnimCmd_Red_1, }; -const union AnimCmd *const gUnknown_08305CE4[] = +const union AnimCmd *const gTrainerBackAnims_Leaf[] = { gAnimCmd_General_Frame0, - gUnknown_08305C84, + gAnimCmd_Leaf_1, }; -const union AnimCmd *const gUnknown_08305CEC[] = +const union AnimCmd *const gTrainerBackAnims_RubySapphireBrendan[] = { AnimCmd_82FF540, - gUnknown_08305C9C, + gAnimCmd_RubySapphireBrendan_1, }; -const union AnimCmd *const gUnknown_08305CF4[] = +const union AnimCmd *const gTrainerBackAnims_RubySapphireMay[] = { AnimCmd_82FF540, - gUnknown_08305CB4, + gAnimCmd_RubySapphireMay_1, }; -const union AnimCmd *const gUnknown_08305CFC[] = +const union AnimCmd *const gTrainerBackAnims_Wally[] = { AnimCmd_82FF540, - gUnknown_08305C54, + gAnimCmd_Wally_1, }; -const union AnimCmd *const gUnknown_08305D04[] = +const union AnimCmd *const gTrainerBackAnims_Steven[] = { AnimCmd_82FF540, - gUnknown_08305C3C, + gAnimCmd_May_Steven_1, }; -const union AnimCmd *const *const gUnknown_08305D0C[] = +const union AnimCmd *const *const gTrainerBackAnimsPtrTable[] = { - gUnknown_08305CCC, - gUnknown_08305CD4, - gUnknown_08305CDC, - gUnknown_08305CE4, - gUnknown_08305CEC, - gUnknown_08305CF4, - gUnknown_08305CFC, - gUnknown_08305D04, + gTrainerBackAnims_Brendan, + gTrainerBackAnims_May, + gTrainerBackAnims_Red, + gTrainerBackAnims_Leaf, + gTrainerBackAnims_RubySapphireBrendan, + gTrainerBackAnims_RubySapphireMay, + gTrainerBackAnims_Wally, + gTrainerBackAnims_Steven, }; diff --git a/src/data/trainer_graphics/front_pic_anims.h b/src/data/trainer_graphics/front_pic_anims.h index 423ce33b93..b72726506f 100644 --- a/src/data/trainer_graphics/front_pic_anims.h +++ b/src/data/trainer_graphics/front_pic_anims.h @@ -1,190 +1,468 @@ -const union AnimCmd *const gUnknown_083051F8[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083051FC[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08305200[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08305204[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08305208[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_0830520C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08305210[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08305214[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08305218[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_0830521C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08305220[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08305224[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08305228[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_0830522C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08305230[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08305234[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08305238[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_0830523C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08305240[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08305244[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08305248[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_0830524C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08305250[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08305254[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08305258[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_0830525C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08305260[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08305264[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08305268[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_0830526C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08305270[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08305274[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08305278[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_0830527C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08305280[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08305284[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08305288[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_0830528C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08305290[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08305294[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08305298[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_0830529C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083052A0[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083052A4[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083052A8[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083052AC[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083052B0[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083052B4[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083052B8[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083052BC[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083052C0[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083052C4[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083052C8[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083052CC[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083052D0[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083052D4[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083052D8[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083052DC[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083052E0[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083052E4[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083052E8[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083052EC[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083052F0[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083052F4[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083052F8[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_083052FC[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08305300[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08305304[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08305308[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_0830530C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08305310[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08305314[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08305318[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_0830531C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08305320[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08305324[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08305328[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_0830532C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08305330[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08305334[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08305338[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_0830533C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08305340[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08305344[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08305348[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_0830534C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08305350[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08305354[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08305358[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_0830535C[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08305360[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08305364[] = {gAnimCmd_General_Frame0}; -const union AnimCmd *const gUnknown_08305368[] = {gAnimCmd_General_Frame0}; - -const union AnimCmd *const *const gUnknown_0830536C[] = -{ - gUnknown_083051F8, - gUnknown_083051FC, - gUnknown_08305200, - gUnknown_08305204, - gUnknown_08305208, - gUnknown_0830520C, - gUnknown_08305210, - gUnknown_08305214, - gUnknown_08305218, - gUnknown_0830521C, - gUnknown_08305220, - gUnknown_08305224, - gUnknown_08305228, - gUnknown_0830522C, - gUnknown_08305230, - gUnknown_08305234, - gUnknown_08305238, - gUnknown_0830523C, - gUnknown_08305240, - gUnknown_08305244, - gUnknown_08305248, - gUnknown_0830524C, - gUnknown_08305250, - gUnknown_08305254, - gUnknown_08305258, - gUnknown_0830525C, - gUnknown_08305260, - gUnknown_08305264, - gUnknown_08305268, - gUnknown_0830526C, - gUnknown_08305270, - gUnknown_08305274, - gUnknown_08305278, - gUnknown_0830527C, - gUnknown_08305280, - gUnknown_08305284, - gUnknown_08305288, - gUnknown_0830528C, - gUnknown_08305290, - gUnknown_08305294, - gUnknown_08305298, - gUnknown_0830529C, - gUnknown_083052A0, - gUnknown_083052A4, - gUnknown_083052A8, - gUnknown_083052AC, - gUnknown_083052B0, - gUnknown_083052B4, - gUnknown_083052B8, - gUnknown_083052BC, - gUnknown_083052C0, - gUnknown_083052C4, - gUnknown_083052C8, - gUnknown_083052CC, - gUnknown_083052D0, - gUnknown_083052D4, - gUnknown_083052D8, - gUnknown_083052DC, - gUnknown_083052E0, - gUnknown_083052E4, - gUnknown_083052E8, - gUnknown_083052EC, - gUnknown_083052F0, - gUnknown_083052F4, - gUnknown_083052F8, - gUnknown_083052FC, - gUnknown_08305300, - gUnknown_08305304, - gUnknown_08305308, - gUnknown_0830530C, - gUnknown_08305310, - gUnknown_08305314, - gUnknown_08305318, - gUnknown_0830531C, - gUnknown_08305320, - gUnknown_08305324, - gUnknown_08305328, - gUnknown_0830532C, - gUnknown_08305330, - gUnknown_08305334, - gUnknown_08305338, - gUnknown_0830533C, - gUnknown_08305340, - gUnknown_08305344, - gUnknown_08305348, - gUnknown_0830534C, - gUnknown_08305350, - gUnknown_08305354, - gUnknown_08305358, - gUnknown_0830535C, - gUnknown_08305360, - gUnknown_08305364, - gUnknown_08305368, +const union AnimCmd *const gTrainerFrontAnims_Hiker[] ={ + gAnimCmd_General_Frame0, +}; + +const union AnimCmd *const gTrainerFrontAnims_AquaGruntM[] ={ + gAnimCmd_General_Frame0, +}; + +const union AnimCmd *const gTrainerFrontAnims_PokemonBreederF[] ={ + gAnimCmd_General_Frame0, +}; + +const union AnimCmd *const gTrainerFrontAnims_CoolTrainerM[] ={ + gAnimCmd_General_Frame0, +}; + +const union AnimCmd *const gTrainerFrontAnims_BirdKeeper[] ={ + gAnimCmd_General_Frame0, +}; + +const union AnimCmd *const gTrainerFrontAnims_Collector[] ={ + gAnimCmd_General_Frame0, +}; + +const union AnimCmd *const gTrainerFrontAnims_AquaGruntF[] ={ + gAnimCmd_General_Frame0, +}; + +const union AnimCmd *const gTrainerFrontAnims_SwimmerM[] ={ + gAnimCmd_General_Frame0, +}; + +const union AnimCmd *const gTrainerFrontAnims_MagmaGruntM[] ={ + gAnimCmd_General_Frame0, +}; + +const union AnimCmd *const gTrainerFrontAnims_ExpertM[] ={ + gAnimCmd_General_Frame0, +}; + +const union AnimCmd *const gTrainerFrontAnims_AquaAdminM[] ={ + gAnimCmd_General_Frame0, +}; + +const union AnimCmd *const gTrainerFrontAnims_BlackBelt[] ={ + gAnimCmd_General_Frame0, +}; + +const union AnimCmd *const gTrainerFrontAnims_AquaAdminF[] ={ + gAnimCmd_General_Frame0, +}; + +const union AnimCmd *const gTrainerFrontAnims_AquaLeaderArchie[] ={ + gAnimCmd_General_Frame0, +}; + +const union AnimCmd *const gTrainerFrontAnims_HexManiac[] ={ + gAnimCmd_General_Frame0, +}; + +const union AnimCmd *const gTrainerFrontAnims_AromaLady[] ={ + gAnimCmd_General_Frame0, +}; + +const union AnimCmd *const gTrainerFrontAnims_RuinManiac[] ={ + gAnimCmd_General_Frame0, +}; + +const union AnimCmd *const gTrainerFrontAnims_Interviewer[] ={ + gAnimCmd_General_Frame0, +}; + +const union AnimCmd *const gTrainerFrontAnims_TuberF[] ={ + gAnimCmd_General_Frame0, +}; + +const union AnimCmd *const gTrainerFrontAnims_TuberM[] ={ + gAnimCmd_General_Frame0, +}; + +const union AnimCmd *const gTrainerFrontAnims_CoolTrainerF[] ={ + gAnimCmd_General_Frame0, +}; + +const union AnimCmd *const gTrainerFrontAnims_Lady[] ={ + gAnimCmd_General_Frame0, +}; + +const union AnimCmd *const gTrainerFrontAnims_Beauty[] ={ + gAnimCmd_General_Frame0, +}; + +const union AnimCmd *const gTrainerFrontAnims_RichBoy[] ={ + gAnimCmd_General_Frame0, +}; + +const union AnimCmd *const gTrainerFrontAnims_ExpertF[] ={ + gAnimCmd_General_Frame0, +}; + +const union AnimCmd *const gTrainerFrontAnims_Pokemaniac[] ={ + gAnimCmd_General_Frame0, +}; + +const union AnimCmd *const gTrainerFrontAnims_MagmaGruntF[] ={ + gAnimCmd_General_Frame0, +}; + +const union AnimCmd *const gTrainerFrontAnims_Guitarist[] ={ + gAnimCmd_General_Frame0, +}; + +const union AnimCmd *const gTrainerFrontAnims_Kindler[] ={ + gAnimCmd_General_Frame0, +}; + +const union AnimCmd *const gTrainerFrontAnims_Camper[] ={ + gAnimCmd_General_Frame0, +}; + +const union AnimCmd *const gTrainerFrontAnims_Picnicker[] ={ + gAnimCmd_General_Frame0, +}; + +const union AnimCmd *const gTrainerFrontAnims_BugManiac[] ={ + gAnimCmd_General_Frame0, +}; + +const union AnimCmd *const gTrainerFrontAnims_PokemonBreederM[] ={ + gAnimCmd_General_Frame0, +}; + +const union AnimCmd *const gTrainerFrontAnims_PsychicM[] ={ + gAnimCmd_General_Frame0, +}; + +const union AnimCmd *const gTrainerFrontAnims_PsychicF[] ={ + gAnimCmd_General_Frame0, +}; + +const union AnimCmd *const gTrainerFrontAnims_Gentleman[] ={ + gAnimCmd_General_Frame0, +}; + +const union AnimCmd *const gTrainerFrontAnims_EliteFourSidney[] ={ + gAnimCmd_General_Frame0, +}; + +const union AnimCmd *const gTrainerFrontAnims_EliteFourPhoebe[] ={ + gAnimCmd_General_Frame0, +}; + +const union AnimCmd *const gTrainerFrontAnims_EliteFourGlacia[] ={ + gAnimCmd_General_Frame0, +}; + +const union AnimCmd *const gTrainerFrontAnims_EliteFourDrake[] ={ + gAnimCmd_General_Frame0, +}; + +const union AnimCmd *const gTrainerFrontAnims_LeaderRoxanne[] ={ + gAnimCmd_General_Frame0, +}; + +const union AnimCmd *const gTrainerFrontAnims_LeaderBrawly[] ={ + gAnimCmd_General_Frame0, +}; + +const union AnimCmd *const gTrainerFrontAnims_LeaderWattson[] ={ + gAnimCmd_General_Frame0, +}; + +const union AnimCmd *const gTrainerFrontAnims_LeaderFlannery[] ={ + gAnimCmd_General_Frame0, +}; + +const union AnimCmd *const gTrainerFrontAnims_LeaderNorman[] ={ + gAnimCmd_General_Frame0, +}; + +const union AnimCmd *const gTrainerFrontAnims_LeaderWinona[] ={ + gAnimCmd_General_Frame0, +}; + +const union AnimCmd *const gTrainerFrontAnims_LeaderTateAndLiza[] ={ + gAnimCmd_General_Frame0, +}; + +const union AnimCmd *const gTrainerFrontAnims_LeaderJuan[] ={ + gAnimCmd_General_Frame0, +}; + +const union AnimCmd *const gTrainerFrontAnims_SchoolKidM[] ={ + gAnimCmd_General_Frame0, +}; + +const union AnimCmd *const gTrainerFrontAnims_SchoolKidF[] ={ + gAnimCmd_General_Frame0, +}; + +const union AnimCmd *const gTrainerFrontAnims_SrAndJr[] ={ + gAnimCmd_General_Frame0, +}; + +const union AnimCmd *const gTrainerFrontAnims_WinstrateM[] ={ + gAnimCmd_General_Frame0, +}; + +const union AnimCmd *const gTrainerFrontAnims_WinstrateF[] ={ + gAnimCmd_General_Frame0, +}; + +const union AnimCmd *const gTrainerFrontAnims_Youngster[] ={ + gAnimCmd_General_Frame0, +}; + +const union AnimCmd *const gTrainerFrontAnims_ChampionWallace[] ={ + gAnimCmd_General_Frame0, +}; + +const union AnimCmd *const gTrainerFrontAnims_Fisherman[] ={ + gAnimCmd_General_Frame0, +}; + +const union AnimCmd *const gTrainerFrontAnims_CyclingTriathleteM[] ={ + gAnimCmd_General_Frame0, +}; + +const union AnimCmd *const gTrainerFrontAnims_CyclingTriathleteF[] ={ + gAnimCmd_General_Frame0, +}; + +const union AnimCmd *const gTrainerFrontAnims_RunningTriathleteM[] ={ + gAnimCmd_General_Frame0, +}; + +const union AnimCmd *const gTrainerFrontAnims_RunningTriathleteF[] ={ + gAnimCmd_General_Frame0, +}; + +const union AnimCmd *const gTrainerFrontAnims_SwimmingTriathleteM[] ={ + gAnimCmd_General_Frame0, +}; + +const union AnimCmd *const gTrainerFrontAnims_SwimmingTriathleteF[] ={ + gAnimCmd_General_Frame0, +}; + +const union AnimCmd *const gTrainerFrontAnims_DragonTamer[] ={ + gAnimCmd_General_Frame0, +}; + +const union AnimCmd *const gTrainerFrontAnims_NinjaBoy[] ={ + gAnimCmd_General_Frame0, +}; + +const union AnimCmd *const gTrainerFrontAnims_BattleGirl[] ={ + gAnimCmd_General_Frame0, +}; + +const union AnimCmd *const gTrainerFrontAnims_ParasolLady[] ={ + gAnimCmd_General_Frame0, +}; + +const union AnimCmd *const gTrainerFrontAnims_SwimmerF[] ={ + gAnimCmd_General_Frame0, +}; + +const union AnimCmd *const gTrainerFrontAnims_Twins[] ={ + gAnimCmd_General_Frame0, +}; + +const union AnimCmd *const gTrainerFrontAnims_Sailor[] ={ + gAnimCmd_General_Frame0, +}; + +const union AnimCmd *const gTrainerFrontAnims_MagmaAdmin[] ={ + gAnimCmd_General_Frame0, +}; + +const union AnimCmd *const gTrainerFrontAnims_Wally[] ={ + gAnimCmd_General_Frame0, +}; + +const union AnimCmd *const gTrainerFrontAnims_Brendan[] ={ + gAnimCmd_General_Frame0, +}; + +const union AnimCmd *const gTrainerFrontAnims_May[] ={ + gAnimCmd_General_Frame0, +}; + +const union AnimCmd *const gTrainerFrontAnims_BugCatcher[] ={ + gAnimCmd_General_Frame0, +}; + +const union AnimCmd *const gTrainerFrontAnims_PokemonRangerM[] ={ + gAnimCmd_General_Frame0, +}; + +const union AnimCmd *const gTrainerFrontAnims_PokemonRangerF[] ={ + gAnimCmd_General_Frame0, +}; + +const union AnimCmd *const gTrainerFrontAnims_MagmaLeaderMaxie[] ={ + gAnimCmd_General_Frame0, +}; + +const union AnimCmd *const gTrainerFrontAnims_Lass[] ={ + gAnimCmd_General_Frame0, +}; + +const union AnimCmd *const gTrainerFrontAnims_YoungCouple[] ={ + gAnimCmd_General_Frame0, +}; + +const union AnimCmd *const gTrainerFrontAnims_OldCouple[] ={ + gAnimCmd_General_Frame0, +}; + +const union AnimCmd *const gTrainerFrontAnims_SisAndBro[] ={ + gAnimCmd_General_Frame0, +}; + +const union AnimCmd *const gTrainerFrontAnims_Steven[] ={ + gAnimCmd_General_Frame0, +}; + +const union AnimCmd *const gTrainerFrontAnims_SalonMaidenAnabel[] ={ + gAnimCmd_General_Frame0, +}; + +const union AnimCmd *const gTrainerFrontAnims_DomeAceTucker[] ={ + gAnimCmd_General_Frame0, +}; + +const union AnimCmd *const gTrainerFrontAnims_PalaceMavenSpenser[] ={ + gAnimCmd_General_Frame0, +}; + +const union AnimCmd *const gTrainerFrontAnims_ArenaTycoonGreta[] ={ + gAnimCmd_General_Frame0, +}; + +const union AnimCmd *const gTrainerFrontAnims_FactoryHeadNoland[] ={ + gAnimCmd_General_Frame0, +}; + +const union AnimCmd *const gTrainerFrontAnims_PikeQueenLucy[] ={ + gAnimCmd_General_Frame0, +}; + +const union AnimCmd *const gTrainerFrontAnims_PyramidKingBrandon[] ={ + gAnimCmd_General_Frame0, +}; + +const union AnimCmd *const gTrainerFrontAnims_Red[] ={ + gAnimCmd_General_Frame0, +}; + +const union AnimCmd *const gTrainerFrontAnims_Leaf[] ={ + gAnimCmd_General_Frame0, +}; + +const union AnimCmd *const gTrainerFrontAnims_RubySapphireBrendan[] ={ + gAnimCmd_General_Frame0, +}; + +const union AnimCmd *const gTrainerFrontAnims_RubySapphireMay[] ={ + gAnimCmd_General_Frame0, +}; + +const union AnimCmd *const *const gTrainerFrontAnimsPtrTable[] = +{ + gTrainerFrontAnims_Hiker, // TRAINER_PIC_HIKER + gTrainerFrontAnims_AquaGruntM, // TRAINER_PIC_AQUA_GRUNT_M + gTrainerFrontAnims_PokemonBreederF, // TRAINER_PIC_POKEMON_BREEDER_F + gTrainerFrontAnims_CoolTrainerM, // TRAINER_PIC_COOL_TRAINER_M + gTrainerFrontAnims_BirdKeeper, // TRAINER_PIC_BIRD_KEEPER + gTrainerFrontAnims_Collector, // TRAINER_PIC_COLLECTOR + gTrainerFrontAnims_AquaGruntF, // TRAINER_PIC_AQUA_GRUNT_F + gTrainerFrontAnims_SwimmerM, // TRAINER_PIC_SWIMMER_M + gTrainerFrontAnims_MagmaGruntM, // TRAINER_PIC_MAGMA_GRUNT_M + gTrainerFrontAnims_ExpertM, // TRAINER_PIC_EXPERT_M + gTrainerFrontAnims_AquaAdminM, // TRAINER_PIC_AQUA_ADMIN_M + gTrainerFrontAnims_BlackBelt, // TRAINER_PIC_BLACK_BELT + gTrainerFrontAnims_AquaAdminF, // TRAINER_PIC_AQUA_ADMIN_F + gTrainerFrontAnims_AquaLeaderArchie, // TRAINER_PIC_AQUA_LEADER_ARCHIE + gTrainerFrontAnims_HexManiac, // TRAINER_PIC_HEX_MANIAC + gTrainerFrontAnims_AromaLady, // TRAINER_PIC_AROMA_LADY + gTrainerFrontAnims_RuinManiac, // TRAINER_PIC_RUIN_MANIAC + gTrainerFrontAnims_Interviewer, // TRAINER_PIC_INTERVIEWER + gTrainerFrontAnims_TuberF, // TRAINER_PIC_TUBER_F + gTrainerFrontAnims_TuberM, // TRAINER_PIC_TUBER_M + gTrainerFrontAnims_CoolTrainerF, // TRAINER_PIC_COOL_TRAINER_F + gTrainerFrontAnims_Lady, // TRAINER_PIC_LADY + gTrainerFrontAnims_Beauty, // TRAINER_PIC_BEAUTY + gTrainerFrontAnims_RichBoy, // TRAINER_PIC_RICH_BOY + gTrainerFrontAnims_ExpertF, // TRAINER_PIC_EXPERT_F + gTrainerFrontAnims_Pokemaniac, // TRAINER_PIC_POKEMANIAC + gTrainerFrontAnims_MagmaGruntF, // TRAINER_PIC_MAGMA_GRUNT_F + gTrainerFrontAnims_Guitarist, // TRAINER_PIC_GUITARIST + gTrainerFrontAnims_Kindler, // TRAINER_PIC_KINDLER + gTrainerFrontAnims_Camper, // TRAINER_PIC_CAMPER + gTrainerFrontAnims_Picnicker, // TRAINER_PIC_PICNICKER + gTrainerFrontAnims_BugManiac, // TRAINER_PIC_BUG_MANIAC + gTrainerFrontAnims_PokemonBreederM, // TRAINER_PIC_POKEMON_BREEDER_M + gTrainerFrontAnims_PsychicM, // TRAINER_PIC_PSYCHIC_M + gTrainerFrontAnims_PsychicF, // TRAINER_PIC_PSYCHIC_F + gTrainerFrontAnims_Gentleman, // TRAINER_PIC_GENTLEMAN + gTrainerFrontAnims_EliteFourSidney, // TRAINER_PIC_ELITE_FOUR_SIDNEY + gTrainerFrontAnims_EliteFourPhoebe, // TRAINER_PIC_ELITE_FOUR_PHOEBE + gTrainerFrontAnims_EliteFourGlacia, // TRAINER_PIC_ELITE_FOUR_GLACIA + gTrainerFrontAnims_EliteFourDrake, // TRAINER_PIC_ELITE_FOUR_DRAKE + gTrainerFrontAnims_LeaderRoxanne, // TRAINER_PIC_LEADER_ROXANNE + gTrainerFrontAnims_LeaderBrawly, // TRAINER_PIC_LEADER_BRAWLY + gTrainerFrontAnims_LeaderWattson, // TRAINER_PIC_LEADER_WATTSON + gTrainerFrontAnims_LeaderFlannery, // TRAINER_PIC_LEADER_FLANNERY + gTrainerFrontAnims_LeaderNorman, // TRAINER_PIC_LEADER_NORMAN + gTrainerFrontAnims_LeaderWinona, // TRAINER_PIC_LEADER_WINONA + gTrainerFrontAnims_LeaderTateAndLiza, // TRAINER_PIC_LEADER_TATE_AND_LIZA + gTrainerFrontAnims_LeaderJuan, // TRAINER_PIC_LEADER_JUAN + gTrainerFrontAnims_SchoolKidM, // TRAINER_PIC_SCHOOL_KID_M + gTrainerFrontAnims_SchoolKidF, // TRAINER_PIC_SCHOOL_KID_F + gTrainerFrontAnims_SrAndJr, // TRAINER_PIC_SR_AND_JR + gTrainerFrontAnims_WinstrateM, // TRAINER_PIC_WINSTRATE_M + gTrainerFrontAnims_WinstrateF, // TRAINER_PIC_WINSTRATE_F + gTrainerFrontAnims_Youngster, // TRAINER_PIC_YOUNGSTER + gTrainerFrontAnims_ChampionWallace, // TRAINER_PIC_CHAMPION_WALLACE + gTrainerFrontAnims_Fisherman, // TRAINER_PIC_FISHERMAN + gTrainerFrontAnims_CyclingTriathleteM, // TRAINER_PIC_CYCLING_TRIATHLETE_M + gTrainerFrontAnims_CyclingTriathleteF, // TRAINER_PIC_CYCLING_TRIATHLETE_F + gTrainerFrontAnims_RunningTriathleteM, // TRAINER_PIC_RUNNING_TRIATHLETE_M + gTrainerFrontAnims_RunningTriathleteF, // TRAINER_PIC_RUNNING_TRIATHLETE_F + gTrainerFrontAnims_SwimmingTriathleteM, // TRAINER_PIC_SWIMMING_TRIATHLETE_M + gTrainerFrontAnims_SwimmingTriathleteF, // TRAINER_PIC_SWIMMING_TRIATHLETE_F + gTrainerFrontAnims_DragonTamer, // TRAINER_PIC_DRAGON_TAMER + gTrainerFrontAnims_NinjaBoy, // TRAINER_PIC_NINJA_BOY + gTrainerFrontAnims_BattleGirl, // TRAINER_PIC_BATTLE_GIRL + gTrainerFrontAnims_ParasolLady, // TRAINER_PIC_PARASOL_LADY + gTrainerFrontAnims_SwimmerF, // TRAINER_PIC_SWIMMER_F + gTrainerFrontAnims_Twins, // TRAINER_PIC_TWINS + gTrainerFrontAnims_Sailor, // TRAINER_PIC_SAILOR + gTrainerFrontAnims_MagmaAdmin, // TRAINER_PIC_MAGMA_ADMIN + gTrainerFrontAnims_Wally, // TRAINER_PIC_WALLY + gTrainerFrontAnims_Brendan, // TRAINER_PIC_BRENDAN + gTrainerFrontAnims_May, // TRAINER_PIC_MAY + gTrainerFrontAnims_BugCatcher, // TRAINER_PIC_BUG_CATCHER + gTrainerFrontAnims_PokemonRangerM, // TRAINER_PIC_POKEMON_RANGER_M + gTrainerFrontAnims_PokemonRangerF, // TRAINER_PIC_POKEMON_RANGER_F + gTrainerFrontAnims_MagmaLeaderMaxie, // TRAINER_PIC_MAGMA_LEADER_MAXIE + gTrainerFrontAnims_Lass, // TRAINER_PIC_LASS + gTrainerFrontAnims_YoungCouple, // TRAINER_PIC_YOUNG_COUPLE + gTrainerFrontAnims_OldCouple, // TRAINER_PIC_OLD_COUPLE + gTrainerFrontAnims_SisAndBro, // TRAINER_PIC_SIS_AND_BRO + gTrainerFrontAnims_Steven, // TRAINER_PIC_STEVEN + gTrainerFrontAnims_SalonMaidenAnabel, // TRAINER_PIC_SALON_MAIDEN_ANABEL + gTrainerFrontAnims_DomeAceTucker, // TRAINER_PIC_DOME_ACE_TUCKER + gTrainerFrontAnims_PalaceMavenSpenser, // TRAINER_PIC_PALACE_MAVEN_SPENSER + gTrainerFrontAnims_ArenaTycoonGreta, // TRAINER_PIC_ARENA_TYCOON_GRETA + gTrainerFrontAnims_FactoryHeadNoland, // TRAINER_PIC_FACTORY_HEAD_NOLAND + gTrainerFrontAnims_PikeQueenLucy, // TRAINER_PIC_PIKE_QUEEN_LUCY + gTrainerFrontAnims_PyramidKingBrandon, // TRAINER_PIC_PYRAMID_KING_BRANDON + gTrainerFrontAnims_Red, // TRAINER_PIC_RED + gTrainerFrontAnims_Leaf, // TRAINER_PIC_LEAF + gTrainerFrontAnims_RubySapphireBrendan, // TRAINER_PIC_RUBY_SAPPHIRE_BRENDAN + gTrainerFrontAnims_RubySapphireMay, // TRAINER_PIC_RUBY_SAPPHIRE_MAY }; diff --git a/src/pokemon.c b/src/pokemon.c index 2922549852..78a7a55a5b 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -66,8 +66,8 @@ 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 gUnknown_08305D0C[]; -extern const union AnimCmd *const *const gUnknown_0830536C[]; +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 UnknownPokemonStruct3 gUnknown_08610970[]; extern const struct CompressedSpritePalette gMonPaletteTable[]; @@ -3831,7 +3831,7 @@ void SetMultiuseSpriteTemplateToTrainerBack(u16 trainerSpriteId, u8 battlerPosit if (battlerPosition == B_POSITION_PLAYER_LEFT || battlerPosition == B_POSITION_PLAYER_RIGHT) { gMultiuseSpriteTemplate = gUnknown_08329DF8[trainerSpriteId]; - gMultiuseSpriteTemplate.anims = gUnknown_08305D0C[trainerSpriteId]; + gMultiuseSpriteTemplate.anims = gTrainerBackAnimsPtrTable[trainerSpriteId]; } else { @@ -3839,7 +3839,7 @@ void SetMultiuseSpriteTemplateToTrainerBack(u16 trainerSpriteId, u8 battlerPosit gMultiuseSpriteTemplate = gMonSpritesGfxPtr->templates[battlerPosition]; else gMultiuseSpriteTemplate = gUnknown_08329D98[battlerPosition]; - gMultiuseSpriteTemplate.anims = gUnknown_0830536C[trainerSpriteId]; + gMultiuseSpriteTemplate.anims = gTrainerFrontAnimsPtrTable[trainerSpriteId]; } } @@ -3851,7 +3851,7 @@ void SetMultiuseSpriteTemplateToTrainerFront(u16 arg0, u8 battlerPosition) gMultiuseSpriteTemplate = gUnknown_08329D98[battlerPosition]; gMultiuseSpriteTemplate.paletteTag = arg0; - gMultiuseSpriteTemplate.anims = gUnknown_0830536C[arg0]; + gMultiuseSpriteTemplate.anims = gTrainerFrontAnimsPtrTable[arg0]; } static void EncryptBoxMon(struct BoxPokemon *boxMon) diff --git a/src/trainer_pokemon_sprites.c b/src/trainer_pokemon_sprites.c index 085e66214c..18c02350f8 100644 --- a/src/trainer_pokemon_sprites.c +++ b/src/trainer_pokemon_sprites.c @@ -19,7 +19,7 @@ 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 gUnknown_0830536C[]; +extern const union AnimCmd *const *const gTrainerFrontAnimsPtrTable[]; // Static type declarations @@ -146,7 +146,7 @@ static void AssignSpriteAnimsTable(bool8 isTrainer) if (!isTrainer) sCreatingSpriteTemplate.anims = gPlayerMonSpriteAnimsTable; else - sCreatingSpriteTemplate.anims = gUnknown_0830536C[0]; + sCreatingSpriteTemplate.anims = gTrainerFrontAnimsPtrTable[0]; } static u16 CreatePicSprite(u16 species, u32 otId, u32 personality, bool8 isFrontPic, s16 x, s16 y, u8 paletteSlot, u16 paletteTag, bool8 isTrainer, bool8 ignoreDeoxys) From b87856b58eacd3ea7375f001427d53f096b02b68 Mon Sep 17 00:00:00 2001 From: DizzyEggg <jajkodizzy@wp.pl> Date: Mon, 10 Sep 2018 01:01:39 +0200 Subject: [PATCH 193/234] Battle Factory is decompiled and documented. --- asm/battle_frontier_2.s | 408 +--------------------- asm/battle_tent.s | 260 --------------- common_syms/save.txt | 3 + data/battle_frontier_2.s | 23 -- include/battle_factory.h | 7 + include/battle_frontier_2.h | 2 - include/battle_tower.h | 2 +- include/menu.h | 2 +- include/save.h | 16 +- ld_script.txt | 1 - src/battle_factory.c | 650 +++++++++++++++++++++--------------- src/battle_tent.c | 190 +++++++---- src/hall_of_fame.c | 37 +- src/save.c | 5 +- src/save_failed_screen.c | 8 +- sym_bss.txt | 4 +- sym_common.txt | 8 - 17 files changed, 569 insertions(+), 1057 deletions(-) delete mode 100644 asm/battle_tent.s create mode 100644 include/battle_factory.h diff --git a/asm/battle_frontier_2.s b/asm/battle_frontier_2.s index 280a8a483b..c7966b48df 100644 --- a/asm/battle_frontier_2.s +++ b/asm/battle_frontier_2.s @@ -4,410 +4,6 @@ .syntax unified .text - - - - - thumb_func_start sub_819F654 -sub_819F654: @ 819F654 - push {r4,lr} - adds r4, r0, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _0819F694 - ldrb r0, [r4, 0x3] - lsls r0, 26 - lsrs r0, 27 - bl FreeOamMatrix - movs r1, 0x3C - ldrsh r0, [r4, r1] - cmp r0, 0x1 - bne _0819F688 - ldr r0, =sFactorySwapScreen - ldr r0, [r0] - adds r0, 0x30 - movs r1, 0 - strb r1, [r0] - b _0819F68E - .pool -_0819F688: - movs r0, 0 - bl sub_819BE20 -_0819F68E: - adds r0, r4, 0 - bl DestroySprite -_0819F694: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_819F654 - - thumb_func_start sub_819F69C -sub_819F69C: @ 819F69C - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, =gTasks - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0x1 - beq _0819F71A - cmp r0, 0x1 - bgt _0819F6C4 - cmp r0, 0 - beq _0819F6CA - b _0819F77C - .pool -_0819F6C4: - cmp r0, 0x2 - beq _0819F73C - b _0819F77C -_0819F6CA: - movs r0, 0x58 - strh r0, [r4, 0xE] - movs r0, 0x98 - strh r0, [r4, 0x38] - movs r0, 0x40 - strh r0, [r4, 0x12] - movs r0, 0x41 - strh r0, [r4, 0x18] - movs r1, 0x80 - lsls r1, 6 - movs r0, 0 - bl SetGpuRegBits - ldrh r1, [r4, 0xE] - lsls r1, 8 - ldrh r0, [r4, 0x38] - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x40 - bl SetGpuReg - ldrh r1, [r4, 0x12] - lsls r1, 8 - ldrh r0, [r4, 0x18] - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x44 - bl SetGpuReg - movs r0, 0x48 - movs r1, 0x3F - bl SetGpuReg - movs r0, 0x4A - movs r1, 0x37 - bl SetGpuReg - b _0819F7A6 -_0819F71A: - movs r0, 0x3 - bl ShowBg - ldr r1, =0x00001248 - movs r0, 0x50 - bl SetGpuReg - ldr r1, =0x0000040b - movs r0, 0x52 - bl SetGpuReg - b _0819F7A6 - .pool -_0819F73C: - ldrh r0, [r4, 0x12] - subs r0, 0x4 - strh r0, [r4, 0x12] - ldrh r1, [r4, 0x18] - adds r1, 0x4 - strh r1, [r4, 0x18] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x20 - ble _0819F758 - lsls r0, r1, 16 - asrs r0, 16 - cmp r0, 0x5F - ble _0819F760 -_0819F758: - movs r0, 0x20 - strh r0, [r4, 0x12] - movs r0, 0x60 - strh r0, [r4, 0x18] -_0819F760: - ldrh r1, [r4, 0x12] - lsls r1, 8 - ldrh r0, [r4, 0x18] - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x44 - bl SetGpuReg - movs r2, 0x12 - ldrsh r0, [r4, r2] - cmp r0, 0x20 - bne _0819F7AC - b _0819F7A6 -_0819F77C: - adds r0, r5, 0 - bl DestroyTask - ldr r0, =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r0 - movs r2, 0x16 - ldrsh r0, [r1, r2] - cmp r0, 0x1 - bne _0819F7A0 - bl sub_819F8E0 - b _0819F7AC - .pool -_0819F7A0: - bl sub_819BD70 - b _0819F7AC -_0819F7A6: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_0819F7AC: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_819F69C - - thumb_func_start sub_819F7B4 -sub_819F7B4: @ 819F7B4 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, =gTasks - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _0819F844 - cmp r0, 0x1 - beq _0819F894 - movs r0, 0x3 - bl HideBg - ldr r3, =gSprites - movs r0, 0x14 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r1, [r4, 0x16] - strh r1, [r0, 0x3C] - movs r0, 0x14 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - adds r0, 0x3E - ldrb r2, [r0] - movs r1, 0x5 - negs r1, r1 - ands r1, r2 - strb r1, [r0] - movs r0, 0x14 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r3, 0 - adds r1, 0x1C - adds r0, r1 - ldr r1, =sub_819F654 - str r1, [r0] - movs r0, 0x14 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - movs r1, 0x1 - bl StartSpriteAffineAnim - movs r1, 0x80 - lsls r1, 6 - movs r0, 0 - bl ClearGpuRegBits - adds r0, r5, 0 - bl DestroyTask - b _0819F8D8 - .pool -_0819F844: - movs r0, 0x58 - strh r0, [r4, 0xE] - movs r0, 0x98 - strh r0, [r4, 0x38] - movs r0, 0x20 - strh r0, [r4, 0x12] - movs r0, 0x60 - strh r0, [r4, 0x18] - movs r1, 0x80 - lsls r1, 6 - movs r0, 0 - bl SetGpuRegBits - ldrh r1, [r4, 0xE] - lsls r1, 8 - ldrh r0, [r4, 0x38] - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x40 - bl SetGpuReg - ldrh r1, [r4, 0x12] - lsls r1, 8 - ldrh r0, [r4, 0x18] - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x44 - bl SetGpuReg - movs r0, 0x48 - movs r1, 0x3F - bl SetGpuReg - movs r0, 0x4A - movs r1, 0x37 - bl SetGpuReg - b _0819F8D2 -_0819F894: - ldrh r0, [r4, 0x12] - adds r0, 0x4 - strh r0, [r4, 0x12] - ldrh r1, [r4, 0x18] - subs r1, 0x4 - strh r1, [r4, 0x18] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3F - bgt _0819F8B0 - lsls r0, r1, 16 - asrs r0, 16 - cmp r0, 0x41 - bgt _0819F8B8 -_0819F8B0: - movs r0, 0x40 - strh r0, [r4, 0x12] - movs r0, 0x41 - strh r0, [r4, 0x18] -_0819F8B8: - ldrh r1, [r4, 0x12] - lsls r1, 8 - ldrh r0, [r4, 0x18] - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x44 - bl SetGpuReg - movs r1, 0x12 - ldrsh r0, [r4, r1] - cmp r0, 0x40 - bne _0819F8D8 -_0819F8D2: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_0819F8D8: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_819F7B4 - - thumb_func_start sub_819F8E0 -sub_819F8E0: @ 819F8E0 - push {r4-r6,lr} - sub sp, 0x10 - ldr r0, =sFactorySwapScreen - ldr r1, [r0] - ldrb r0, [r1, 0x14] - cmp r0, 0 - bne _0819F900 - ldrb r1, [r1, 0x3] - movs r0, 0x64 - muls r1, r0 - ldr r0, =gPlayerParty - b _0819F908 - .pool -_0819F900: - ldrb r1, [r1, 0x3] - movs r0, 0x64 - muls r1, r0 - ldr r0, =gEnemyParty -_0819F908: - adds r6, r1, r0 - adds r0, r6, 0 - movs r1, 0xB - movs r2, 0 - bl GetMonData - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r6, 0 - movs r1, 0 - movs r2, 0 - bl GetMonData - adds r5, r0, 0 - adds r0, r6, 0 - movs r1, 0x1 - movs r2, 0 - bl GetMonData - adds r1, r0, 0 - movs r0, 0x58 - str r0, [sp] - movs r0, 0x20 - str r0, [sp, 0x4] - movs r0, 0xF - str r0, [sp, 0x8] - ldr r0, =0x0000ffff - str r0, [sp, 0xC] - adds r0, r4, 0 - adds r2, r5, 0 - movs r3, 0x1 - bl CreateMonPicSprite_HandleDeoxys - ldr r2, =sFactorySwapScreen - ldr r1, [r2] - adds r1, 0x2C - movs r3, 0 - strb r0, [r1] - ldr r4, =gSprites - ldr r0, [r2] - adds r0, 0x2C - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r0, 0x28 - strb r3, [r0] - ldr r0, [r2] - adds r0, 0x2C - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r0, 0x29 - strb r3, [r0] - ldr r0, [r2] - adds r0, 0x30 - strb r3, [r0] - add sp, 0x10 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_819F8E0 - -@ Battle Factory ends here thumb_func_start sub_819F99C sub_819F99C: @ 819F99C @@ -12655,7 +12251,7 @@ nullsub_123: @ 81A6184 sub_81A6188: @ 81A6188 push {lr} bl ZeroPlayerPartyMons - bl sub_819A4F8 + bl DoBattleFactorySelectScreen pop {r0} bx r0 thumb_func_end sub_81A6188 @@ -12663,7 +12259,7 @@ sub_81A6188: @ 81A6188 thumb_func_start sub_81A6198 sub_81A6198: @ 81A6198 push {lr} - bl sub_819DC00 + bl DoBattleFactorySwapScreen pop {r0} bx r0 thumb_func_end sub_81A6198 diff --git a/asm/battle_tent.s b/asm/battle_tent.s deleted file mode 100644 index 8de98850f6..0000000000 --- a/asm/battle_tent.s +++ /dev/null @@ -1,260 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - - - thumb_func_start sub_81BA040 -sub_81BA040: @ 81BA040 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x10 - movs r0, 0 - mov r10, r0 - ldr r1, =gFacilityTrainers - ldr r0, =gSlateportBattleTentTrainers - str r0, [r1] - ldr r1, =gFacilityTrainerMons - ldr r0, =gSlateportBattleTentMons - str r0, [r1] - ldr r7, =gSaveBlock2Ptr - ldr r1, =0x0000ffff - mov r8, r1 -_081BA062: - mov r2, r10 - lsls r6, r2, 1 -_081BA066: - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x1E - bl __umodsi3 - lsls r0, 16 - lsrs r3, r0, 16 - movs r5, 0 - ldr r1, [r7] - ldr r4, =0x00000cb2 - adds r0, r1, r4 - ldrh r0, [r0] - cmp r5, r0 - bge _081BA0AA - ldr r2, =0x00000cb4 - adds r0, r1, r2 - ldrh r0, [r0] - cmp r0, r3 - beq _081BA0AA - ldr r0, =gSaveBlock2Ptr - ldr r1, [r0] - adds r0, r1, r4 - ldrh r2, [r0] - adds r4, 0x2 - adds r1, r4 -_081BA09C: - adds r1, 0x2 - adds r5, 0x1 - cmp r5, r2 - bge _081BA0AA - ldrh r0, [r1] - cmp r0, r3 - bne _081BA09C -_081BA0AA: - ldr r0, [r7] - ldr r1, =0x00000cb2 - adds r0, r1 - ldrh r0, [r0] - cmp r5, r0 - bne _081BA066 - ldr r2, =gTrainerBattleOpponent_A - strh r3, [r2] - ldrh r3, [r2] - ldr r4, =gFacilityTrainers - ldr r1, [r4] - movs r0, 0x34 - muls r0, r3 - adds r0, r1 - ldr r0, [r0, 0x30] - adds r1, r6, r0 - ldrh r0, [r1] - cmp r0, r8 - beq _081BA0DE - ldr r3, =0x0000ffff -_081BA0D2: - adds r1, 0x2 - movs r6, 0x1 - add r10, r6 - ldrh r0, [r1] - cmp r0, r3 - bne _081BA0D2 -_081BA0DE: - mov r0, r10 - cmp r0, 0x8 - bgt _081BA110 - movs r1, 0 - mov r10, r1 - b _081BA062 - .pool -_081BA110: - ldr r0, =gSaveBlock2Ptr - ldr r1, [r0] - ldr r6, =0x00000cb2 - adds r3, r1, r6 - ldrh r0, [r3] - cmp r0, 0x1 - bhi _081BA12A - lsls r0, 1 - ldr r3, =0x00000cb4 - adds r1, r3 - adds r1, r0 - ldrh r0, [r2] - strh r0, [r1] -_081BA12A: - ldrh r1, [r2] - ldr r2, [r4] - movs r0, 0x34 - muls r0, r1 - adds r0, r2 - ldr r0, [r0, 0x30] - mov r9, r0 - movs r5, 0 - ldr r7, =gUnknown_03001298 - mov r8, sp -_081BA13E: - bl Random - lsls r0, 16 - lsrs r0, 16 - mov r1, r10 - bl __modsi3 - lsls r0, 1 - add r0, r9 - ldrh r0, [r0] - strh r0, [r7] - movs r2, 0 - ldrh r0, [r7] - ldr r4, =gFacilityTrainerMons - ldr r3, [r4] - lsls r0, 4 - adds r0, r3 - ldr r1, =gSaveBlock2Ptr - ldrh r6, [r0] - ldr r1, [r1] -_081BA166: - movs r4, 0xE7 - lsls r4, 4 - adds r0, r1, r4 - ldrh r0, [r0] - lsls r0, 4 - adds r0, r3 - ldrh r0, [r0] - cmp r6, r0 - beq _081BA180 - adds r1, 0xC - adds r2, 0x1 - cmp r2, 0x5 - ble _081BA166 -_081BA180: - cmp r2, 0x6 - bne _081BA220 - movs r4, 0 - cmp r4, r5 - bge _081BA1B0 - mov r0, sp - ldrh r0, [r0] - cmp r0, r6 - beq _081BA1B0 - ldr r6, =gUnknown_03001298 - ldr r3, =gFacilityTrainerMons - mov r2, sp -_081BA198: - adds r2, 0x2 - adds r4, 0x1 - cmp r4, r5 - bge _081BA1B0 - ldrh r0, [r6] - ldr r1, [r3] - lsls r0, 4 - adds r0, r1 - ldrh r1, [r2] - ldrh r0, [r0] - cmp r1, r0 - bne _081BA198 -_081BA1B0: - cmp r4, r5 - bne _081BA220 - movs r4, 0 - cmp r4, r5 - bge _081BA1E6 - ldr r6, =gBattleFrontierHeldItems - mov r12, r6 - add r3, sp, 0x8 -_081BA1C0: - ldrh r2, [r3] - cmp r2, 0 - beq _081BA1DE - ldr r1, =gUnknown_03001298 - ldrh r0, [r1] - ldr r6, =gFacilityTrainerMons - ldr r1, [r6] - lsls r0, 4 - adds r0, r1 - ldrb r0, [r0, 0xA] - lsls r0, 1 - add r0, r12 - ldrh r0, [r0] - cmp r2, r0 - beq _081BA1E6 -_081BA1DE: - adds r3, 0x2 - adds r4, 0x1 - cmp r4, r5 - blt _081BA1C0 -_081BA1E6: - cmp r4, r5 - bne _081BA220 - lsls r2, r5, 1 - ldrh r0, [r7] - ldr r1, =gFacilityTrainerMons - ldr r4, [r1] - lsls r0, 4 - adds r0, r4 - ldrh r0, [r0] - mov r3, r8 - strh r0, [r3] - add r1, sp, 0x8 - adds r1, r2 - ldr r3, =gBattleFrontierHeldItems - ldrh r0, [r7] - lsls r0, 4 - adds r0, r4 - ldrb r0, [r0, 0xA] - lsls r0, 1 - adds r0, r3 - ldrh r0, [r0] - strh r0, [r1] - ldr r0, =gUnknown_03006298 - adds r2, r0 - ldrh r0, [r7] - strh r0, [r2] - movs r4, 0x2 - add r8, r4 - adds r5, 0x1 -_081BA220: - cmp r5, 0x3 - bne _081BA13E - 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_81BA040 - - .align 2, 0 @ Don't pad with nop. diff --git a/common_syms/save.txt b/common_syms/save.txt index 92d31eb149..d7668c332e 100644 --- a/common_syms/save.txt +++ b/common_syms/save.txt @@ -8,3 +8,6 @@ gUnknown_03006208 gSaveUnusedVar gSaveFileStatus gGameContinueCallback +gRamSaveSectionLocations +gSaveUnusedVar2 +gUnknown_03006294 diff --git a/data/battle_frontier_2.s b/data/battle_frontier_2.s index f2e2dd6501..dc38826a7a 100644 --- a/data/battle_frontier_2.s +++ b/data/battle_frontier_2.s @@ -6,29 +6,6 @@ .section .rodata -gUnknown_08610918:: @ 8610918 - .byte 0x00, 0x00, 0x00, 0x00, 0xff, 0x7f, 0x00, 0x00, 0x1f, 0x00 - -gUnknown_08610922:: @ 8610922 - .byte 0x00, 0x02, 0x00 - -gUnknown_08610925:: @ 8610925 - .byte 0x00, 0x04, 0x00 - - .align 2 -gUnknown_08610928:: @ 8610928 - .4byte 0x00000001, sub_819F20C - .4byte 0x00000001, sub_819F20C - .4byte 0x00000001, sub_819F20C - .4byte 0x00000003, sub_819F1AC - - .align 2 -gUnknown_08610948:: @ 8610948 - .4byte 0x00000001, sub_819F20C - .4byte 0x00000001, sub_819F20C - .4byte 0x00000001, sub_819F20C - .4byte 0x00000002, sub_819F1DC - .4byte 0x00000003, sub_819F1AC .align 2 @ struct, eight bytes x6 for names in different languages, then 0x28 more bytes of data gUnknown_08610970:: @ 8610970 diff --git a/include/battle_factory.h b/include/battle_factory.h new file mode 100644 index 0000000000..1b0e449431 --- /dev/null +++ b/include/battle_factory.h @@ -0,0 +1,7 @@ +#ifndef GUARD_BATTLE_FACTORY_H +#define GUARD_BATTLE_FACTORY_H + +void DoBattleFactorySelectScreen(void); +void DoBattleFactorySwapScreen(void); + +#endif // GUARD_BATTLE_FACTORY_H diff --git a/include/battle_frontier_2.h b/include/battle_frontier_2.h index 09e9740685..4ef860e80a 100644 --- a/include/battle_frontier_2.h +++ b/include/battle_frontier_2.h @@ -9,8 +9,6 @@ bool8 InBattlePike(void); void sub_819FA50(void); void sub_81AA078(u16*, u8); void sub_81A4C30(void); -void sub_819A4F8(void); -void sub_819DC00(void); bool8 sub_81A6BF4(void); #endif // GUARD_BATTLE_FRONTIER_2_H diff --git a/include/battle_tower.h b/include/battle_tower.h index f07e9e5443..5879a73bb1 100644 --- a/include/battle_tower.h +++ b/include/battle_tower.h @@ -31,7 +31,7 @@ struct BattleFrontierTrainer u16 speechBefore[6]; u16 speechWin[6]; u16 speechLose[6]; - u16 *btMonPool; + const u16 *btMonPool; }; struct FacilityMon diff --git a/include/menu.h b/include/menu.h index b52b165f28..309667b19d 100644 --- a/include/menu.h +++ b/include/menu.h @@ -35,7 +35,6 @@ void SetStandardWindowBorderStyle(u8 a0, u8 a1); void sub_8197930(void); u8 GetPlayerTextSpeed(void); void sub_81978B0(u16 arg0); - void AddTextPrinterWithCallbackForMessage(bool8 a1, void (*callback)(struct TextSubPrinter *, u16)); void AddTextPrinterParameterized3(u8 windowId, u8 fontId, u8 left, u8 top, const u8 *color, s8 speed, const u8 *str); void sub_8198070(u8 windowId, bool8 copyToVram); @@ -87,5 +86,6 @@ u8 AddMapNamePopUpWindow(void); void AddTextPrinterParameterized5(u8 windowId, u8 fontId, const u8 *str, u8 left, u8 top, u8 speed, void (*callback)(struct TextSubPrinter *, u16), u8 letterSpacing, u8 lineSpacing); 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); #endif // GUARD_MENU_H diff --git a/include/save.h b/include/save.h index 9859870b49..a87e31e99e 100644 --- a/include/save.h +++ b/include/save.h @@ -1,8 +1,6 @@ #ifndef GUARD_SAVE_H #define GUARD_SAVE_H -extern u16 gSaveFileStatus; - struct SaveSectionLocation { void *data; @@ -58,6 +56,20 @@ enum #define SECTION_ID_RECORDED_BATTLE 31 +extern u16 gLastWrittenSector; +extern u32 gLastSaveCounter; +extern u16 gLastKnownGoodSector; +extern u32 gDamagedSaveSectors; +extern u32 gSaveCounter; +extern struct SaveSection *gFastSaveSection; +extern u16 gUnknown_03006208; +extern u16 gSaveFileStatus; +extern void (*gGameContinueCallback)(void); +extern struct SaveSectionLocation gRamSaveSectionLocations[]; +extern u16 gUnknown_03006294; + +extern struct SaveSection gSaveDataBuffer; + void ClearSaveData(void); void Save_ResetSaveCounters(void); bool32 SetDamagedSectorBits(u8 op, u8 bit); diff --git a/ld_script.txt b/ld_script.txt index eec0bbc68d..26e6fa2e33 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -256,7 +256,6 @@ SECTIONS { src/item_icon.o(.text); asm/party_menu.o(.text); src/battle_tent.o(.text); - asm/battle_tent.o(.text); src/unk_text_util_2.o(.text); src/multiboot.o(.text); src/unk_81BAD84.o(.text); diff --git a/src/battle_factory.c b/src/battle_factory.c index 486449f943..07c5c9e10d 100644 --- a/src/battle_factory.c +++ b/src/battle_factory.c @@ -1,4 +1,5 @@ #include "global.h" +#include "battle_factory.h" #include "sprite.h" #include "event_data.h" #include "overworld.h" @@ -115,14 +116,10 @@ struct FactorySwapMonsStruct u8 yesNoCursorPos; u8 actionsCount; const struct SwapActionIdAndFunc *actionsData; - u8 unk1C; - u8 unk1D; - u8 unk1E; - u8 unk1F; + u8 unused1C[4]; bool8 monSwapped; u8 fadeSpeciesNameTaskId; - u8 unk22; - u8 unk23; + bool8 unk22; u16 unk24; bool8 unk26; u8 unk27; @@ -142,9 +139,11 @@ extern const struct BattleFrontierTrainer gBattleFrontierTrainers[]; extern const u8 gUnknown_085B18AC[]; extern void SetMonMoveAvoidReturn(struct Pokemon *mon, u16 move, u8 moveSlot); +extern u8 sub_81A6F70(u8 battleMode, u8 lvlMode); +extern u8 sub_81A6CA8(u8 arg0, u8 arg1); // This file's functions. -void sub_819A44C(struct Sprite *sprite); +static void sub_819A44C(struct Sprite *sprite); static void CB2_InitSelectScreen(void); static void Select_SetWinRegs(s16 mWin0H, s16 nWin0H, s16 mWin0V, s16 nWin0V); static void Select_InitMonsData(void); @@ -168,95 +167,97 @@ static void Task_HandleSelectionScreenMenu(u8 taskId); static void CreateFrontierFactorySelectableMons(u8 firstMonId); static void CreateTentFactorySelectableMons(u8 firstMonId); static void Select_SetBallSpritePaletteNum(u8 id); -void sub_819F444(struct UnkFactoryStruct arg0, bool8 *arg1); +static void sub_819F444(struct UnkFactoryStruct arg0, bool8 *arg1); static void sub_819B958(u8 windowId); -void sub_819F2B4(u8 *arg0, bool8 *arg1, bool8 swapScreen); -void sub_819F3F8(struct UnkFactoryStruct arg0, bool8 *arg1, bool8 swapScreen); +static void sub_819F2B4(u8 *arg0, bool8 *arg1, bool8 swapScreen); +static void sub_819F3F8(struct UnkFactoryStruct arg0, bool8 *arg1, bool8 swapScreen); static u8 Select_RunMenuOptionFunc(void); static u8 sub_819BC9C(void); static u8 Select_OptionSummary(void); static u8 Select_OptionOthers(void); static u8 Select_OptionRentDeselect(void); -u8 sub_81A6F70(u8 battleMode, u8 lvlMode); -u8 sub_81A6CA8(u8 arg0, u8 arg1); static bool32 Select_AreSpeciesValid(u16 monSetId); -void Swap_DestroyAllSprites(void); -void Swap_ShowYesNoOptions(void); -void sub_819E8EC(void); -void sub_819EAC0(void); -void Swap_UpdateYesNoCursorPosition(s8 direction); -void Swap_UpdateMenuCursorPosition(s8 direction); -void sub_819EA64(u8 windowId); -void sub_819D770(u8 taskId); -void Task_HandleSwapScreenChooseMons(u8 taskId); -void sub_819D588(u8 taskId); -void sub_819F7B4(u8 taskId); -void Swap_PrintOnInfoWindow(const u8 *str); -void Swap_ShowMenuOptions(void); -void Swap_PrintMenuOptions(void); -void Swap_PrintYesNoOptions(void); -void Swap_PrintMonSpecies(void); -void Swap_PrintMonSpecies2(void); -void Swap_PrintMonSpecies3(void); -void Swap_PrintMonCategory(void); -void Swap_InitAllSprites(void); -void Swap_PrintPkmnSwap(void); -void sub_819EADC(void); -void sub_819EAF8(void); -void CB2_InitSwapScreen(void); -void Swap_ShowSummaryMonSprite(void); -void Swap_UpdateActionCursorPosition(s8 direction); -void Swap_UpdateBallCursorPosition(s8 direction); -void Swap_RunMenuOptionFunc(u8 taskId); -void sub_819F0CC(u8 taskId); -void sub_819F114(u8 taskId); -void sub_819F134(u8 taskId); -void Swap_RunActionFunc(u8 taskId); -void sub_819F69C(u8 taskId); -void Task_SwapCantHaveSameMons(u8 taskId); -void Swap_PrintActionStrings(void); -void Swap_PrintActionStrings2(void); -void Swap_PrintOneActionString(u8 which); -void Swap_InitActions(u8 id); -void sub_819E838(u8 arg0); -bool8 Swap_AlreadyHasSameSpecies(u8 monId); -void sub_819F600(struct Sprite *sprite); +static void Swap_DestroyAllSprites(void); +static void Swap_ShowYesNoOptions(void); +static void sub_819E8EC(void); +static void sub_819EAC0(void); +static void Swap_UpdateYesNoCursorPosition(s8 direction); +static void Swap_UpdateMenuCursorPosition(s8 direction); +static void sub_819EA64(u8 windowId); +static void sub_819D770(u8 taskId); +static void Task_HandleSwapScreenChooseMons(u8 taskId); +static void sub_819D588(u8 taskId); +static void sub_819F7B4(u8 taskId); +static void Swap_PrintOnInfoWindow(const u8 *str); +static void Swap_ShowMenuOptions(void); +static void Swap_PrintMenuOptions(void); +static void Swap_PrintYesNoOptions(void); +static void Swap_PrintMonSpecies(void); +static void Swap_PrintMonSpecies2(void); +static void Swap_PrintMonSpecies3(void); +static void Swap_PrintMonCategory(void); +static void Swap_InitAllSprites(void); +static void Swap_PrintPkmnSwap(void); +static void sub_819EADC(void); +static void sub_819EAF8(void); +static void CB2_InitSwapScreen(void); +static void Swap_ShowSummaryMonSprite(void); +static void Swap_UpdateActionCursorPosition(s8 direction); +static void Swap_UpdateBallCursorPosition(s8 direction); +static void Swap_RunMenuOptionFunc(u8 taskId); +static void sub_819F0CC(u8 taskId); +static void sub_819F114(u8 taskId); +static void sub_819F134(u8 taskId); +static void Swap_RunActionFunc(u8 taskId); +static void sub_819F69C(u8 taskId); +static void Task_SwapCantHaveSameMons(u8 taskId); +static void Swap_ShowMonSprite(void); +static void Swap_PrintActionStrings(void); +static void Swap_PrintActionStrings2(void); +static void Swap_PrintOneActionString(u8 which); +static void Swap_InitActions(u8 id); +static void sub_819E838(u8 arg0); +static bool8 Swap_AlreadyHasSameSpecies(u8 monId); +static void sub_819F600(struct Sprite *sprite); +static void Swap_ActionMon(u8 taskId); +static void Swap_ActionCancel(u8 taskId); +static void Swap_ActionPkmnForSwap(u8 taskId); // Ewram variables -EWRAM_DATA u8 *gUnknown_0203CE2C = NULL; -EWRAM_DATA u8 *gUnknown_0203CE30 = NULL; -EWRAM_DATA u8 *gUnknown_0203CE34 = NULL; -EWRAM_DATA u8 *gUnknown_0203CE38 = NULL; -EWRAM_DATA struct Pokemon *sFactorySelectMons = NULL; -EWRAM_DATA u8 *gUnknown_0203CE40 = NULL; -EWRAM_DATA u8 *gUnknown_0203CE44 = NULL; -EWRAM_DATA u8 *gUnknown_0203CE48 = NULL; -EWRAM_DATA u8 *gUnknown_0203CE4C = NULL; +static EWRAM_DATA u8 *sSelectMenuTilesetBuffer = NULL; +static EWRAM_DATA u8 *sSelectMonCardBgTilesetBuffer = NULL; +static EWRAM_DATA u8 *sSelectMenuTilemapBuffer = NULL; +static EWRAM_DATA u8 *sSelectMonCardBgTilemapBuffer = NULL; +static EWRAM_DATA struct Pokemon *sFactorySelectMons = NULL; +static EWRAM_DATA u8 *sSwapMenuTilesetBuffer = NULL; +static EWRAM_DATA u8 *sSwapMonCardBgTilesetBuffer = NULL; +static EWRAM_DATA u8 *sSwapMenuTilemapBuffer = NULL; +static EWRAM_DATA u8 *sSwapMonCardBgTilemapBuffer = NULL; // IWRAM bss -IWRAM_DATA struct FactorySelectMonsStruct *sFactorySelectScreen; -IWRAM_DATA void (*gUnknown_03001280)(u8 taskId); -IWRAM_DATA struct FactorySwapMonsStruct *sFactorySwapScreen; +static IWRAM_DATA struct FactorySelectMonsStruct *sFactorySelectScreen; +static IWRAM_DATA void (*sSwap_CurrentTableFunc)(u8 taskId); +static IWRAM_DATA struct FactorySwapMonsStruct *sFactorySwapScreen; // Const rom data. -const u16 gUnknown_0860F13C[] = INCBIN_U16("graphics/unknown/unknown_60F13C.gbapal"); -const u16 gUnknown_0860F15C[] = INCBIN_U16("graphics/unknown/unknown_60F15C.gbapal"); -const u16 gUnknown_0860F17C[] = INCBIN_U16("graphics/unknown/unknown_60F17C.gbapal"); -const u8 gUnknown_0860F1BC[] = INCBIN_U8("graphics/unknown/unknown_60F1BC.4bpp"); -const u8 gUnknown_0860F3BC[] = INCBIN_U8("graphics/unknown/unknown_60F3BC.4bpp"); -const u8 gUnknown_0860F43C[] = INCBIN_U8("graphics/unknown/unknown_60F43C.4bpp"); -const u8 gUnknown_0860F53C[] = INCBIN_U8("graphics/unknown/unknown_60F53C.4bpp"); -const u8 gUnknown_0860F63C[] = INCBIN_U8("graphics/unknown/unknown_60F63C.4bpp"); -const u8 gUnknown_0860F6BC[] = INCBIN_U8("graphics/unknown/unknown_60F6BC.4bpp"); -const u8 gUnknown_0860F7BC[] = INCBIN_U8("graphics/unknown/unknown_60F7BC.4bpp"); -const u8 gUnknown_0860F83C[] = INCBIN_U8("graphics/unknown/unknown_60F83C.4bpp"); -const u8 gUnknown_0860F93C[] = INCBIN_U8("graphics/unknown/unknown_60F93C.4bpp"); -const u8 gUnknown_0860FA3C[] = INCBIN_U8("graphics/unknown/unknown_60FA3C.4bpp"); -const u8 gUnknown_0861023C[] = INCBIN_U8("graphics/unknown/unknown_61023C.bin"); -const u8 gUnknown_0861033C[] = INCBIN_U8("graphics/unknown/unknown_61033C.4bpp"); -const u16 gUnknown_0861039C[] = INCBIN_U16("graphics/unknown/unknown_61039C.gbapal"); +static const u16 gUnknown_0860F13C[] = INCBIN_U16("graphics/unknown/unknown_60F13C.gbapal"); +static const u16 gUnknown_0860F15C[] = INCBIN_U16("graphics/unknown/unknown_60F15C.gbapal"); +static const u16 gUnknown_0860F17C[] = INCBIN_U16("graphics/unknown/unknown_60F17C.gbapal"); +static const u8 gUnknown_0860F1BC[] = INCBIN_U8("graphics/unknown/unknown_60F1BC.4bpp"); +static const u8 gUnknown_0860F3BC[] = INCBIN_U8("graphics/unknown/unknown_60F3BC.4bpp"); +static const u8 gUnknown_0860F43C[] = INCBIN_U8("graphics/unknown/unknown_60F43C.4bpp"); +static const u8 gUnknown_0860F53C[] = INCBIN_U8("graphics/unknown/unknown_60F53C.4bpp"); +static const u8 gUnknown_0860F63C[] = INCBIN_U8("graphics/unknown/unknown_60F63C.4bpp"); +static const u8 gUnknown_0860F6BC[] = INCBIN_U8("graphics/unknown/unknown_60F6BC.4bpp"); +static const u8 gUnknown_0860F7BC[] = INCBIN_U8("graphics/unknown/unknown_60F7BC.4bpp"); +static const u8 gUnknown_0860F83C[] = INCBIN_U8("graphics/unknown/unknown_60F83C.4bpp"); +static const u8 gUnknown_0860F93C[] = INCBIN_U8("graphics/unknown/unknown_60F93C.4bpp"); +static const u8 gUnknown_0860FA3C[] = INCBIN_U8("graphics/unknown/unknown_60FA3C.4bpp"); +static const u8 gUnknown_0861023C[] = INCBIN_U8("graphics/unknown/unknown_61023C.bin"); +static const u8 gUnknown_0861033C[] = INCBIN_U8("graphics/unknown/unknown_61033C.4bpp"); +static const u16 gUnknown_0861039C[] = INCBIN_U16("graphics/unknown/unknown_61039C.gbapal"); -const struct SpriteSheet gUnknown_086103BC[] = +static const struct SpriteSheet gUnknown_086103BC[] = { {gUnknown_0860F3BC, sizeof(gUnknown_0860F3BC), TAG_TILE_65}, {gUnknown_0860F43C, sizeof(gUnknown_0860F43C), TAG_TILE_66}, @@ -265,13 +266,13 @@ const struct SpriteSheet gUnknown_086103BC[] = {}, }; -const struct CompressedSpriteSheet gUnknown_086103E4[] = +static const struct CompressedSpriteSheet gUnknown_086103E4[] = { {gUnknown_085B18AC, 0x800, TAG_TILE_64}, {}, }; -const struct SpritePalette gUnknown_086103F4[] = +static const struct SpritePalette gUnknown_086103F4[] = { {gUnknown_0860F13C, TAG_PAL_BALL_GREY}, {gUnknown_0860F15C, TAG_PAL_BALL_SELECTED}, @@ -280,14 +281,14 @@ const struct SpritePalette gUnknown_086103F4[] = {}, }; -u8 (* const sSelect_MenuOptionFuncs[])(void) = +u8 static (* const sSelect_MenuOptionFuncs[])(void) = { [MENU_SUMMARY] = Select_OptionSummary, [MENU_RENT] /*Or Deselect*/ = Select_OptionRentDeselect, [MENU_OTHERS] = Select_OptionOthers }; -static const struct BgTemplate gUnknown_08610428[3] = +static const struct BgTemplate sSelect_BgTemplates[] = { { .bg = 0, @@ -318,7 +319,7 @@ static const struct BgTemplate gUnknown_08610428[3] = }, }; -static const struct WindowTemplate gUnknown_08610434[] = +static const struct WindowTemplate sSelect_WindowTemplates[] = { { .priority = 0, @@ -551,8 +552,8 @@ static const union AffineAnimCmd * const gUnknown_086105CC[] = static const struct SpriteTemplate gUnknown_086105D8 = { - .tileTag = 0x0064, - .paletteTag = 0x0064, + .tileTag = TAG_TILE_64, + .paletteTag = TAG_PAL_BALL_GREY, .oam = &gUnknown_0861047C, .anims = gUnknown_08610504, .images = NULL, @@ -562,8 +563,8 @@ static const struct SpriteTemplate gUnknown_086105D8 = static const struct SpriteTemplate gUnknown_086105F0 = { - .tileTag = 0x0065, - .paletteTag = 0x0066, + .tileTag = TAG_TILE_65, + .paletteTag = TAG_PAL_66, .oam = &gUnknown_08610484, .anims = gUnknown_086104FC, .images = NULL, @@ -573,8 +574,8 @@ static const struct SpriteTemplate gUnknown_086105F0 = static const struct SpriteTemplate gUnknown_08610608 = { - .tileTag = 0x0066, - .paletteTag = 0x0066, + .tileTag = TAG_TILE_66, + .paletteTag = TAG_PAL_66, .oam = &gUnknown_0861048C, .anims = gUnknown_086104FC, .images = NULL, @@ -584,8 +585,8 @@ static const struct SpriteTemplate gUnknown_08610608 = static const struct SpriteTemplate gUnknown_08610620 = { - .tileTag = 0x0067, - .paletteTag = 0x0066, + .tileTag = TAG_TILE_67, + .paletteTag = TAG_PAL_66, .oam = &gUnknown_0861048C, .anims = gUnknown_086104FC, .images = NULL, @@ -595,8 +596,8 @@ static const struct SpriteTemplate gUnknown_08610620 = static const struct SpriteTemplate gUnknown_08610638 = { - .tileTag = 0x006d, - .paletteTag = 0x0067, + .tileTag = TAG_TILE_6D, + .paletteTag = TAG_PAL_67, .oam = &gUnknown_08610494, .anims = gUnknown_08610500, .images = NULL, @@ -606,30 +607,30 @@ static const struct SpriteTemplate gUnknown_08610638 = static const struct SpriteSheet gUnknown_08610650[] = { - {gUnknown_0860F3BC, 0x0080, 0x0065}, - {gUnknown_0860F43C, 0x0100, 0x0066}, - {gUnknown_0860F53C, 0x0100, 0x0067}, - {gUnknown_0860F63C, 0x0080, 0x0068}, - {gUnknown_0860F6BC, 0x0100, 0x0069}, - {gUnknown_0860F7BC, 0x0100, 0x006a}, - {gUnknown_0860F83C, 0x0100, 0x006b}, - {gUnknown_0860F93C, 0x0100, 0x006c}, - {gUnknown_0860FA3C, 0x0800, 0x006d}, + {gUnknown_0860F3BC, sizeof(gUnknown_0860F3BC), TAG_TILE_65}, + {gUnknown_0860F43C, sizeof(gUnknown_0860F43C), TAG_TILE_66}, + {gUnknown_0860F53C, sizeof(gUnknown_0860F53C), TAG_TILE_67}, + {gUnknown_0860F63C, sizeof(gUnknown_0860F63C), TAG_TILE_68}, + {gUnknown_0860F6BC, sizeof(gUnknown_0860F6BC), TAG_TILE_69}, + {gUnknown_0860F7BC, 0x100, TAG_TILE_6A}, + {gUnknown_0860F83C, sizeof(gUnknown_0860F83C), TAG_TILE_6B}, + {gUnknown_0860F93C, sizeof(gUnknown_0860F93C), TAG_TILE_6C}, + {gUnknown_0860FA3C, sizeof(gUnknown_0860FA3C), TAG_TILE_6D}, {}, }; static const struct CompressedSpriteSheet gUnknown_086106A0[] = { - {gUnknown_085B18AC, 0x0800, 0x0064}, + {gUnknown_085B18AC, 0x800, TAG_TILE_64}, {}, }; static const struct SpritePalette gUnknown_086106B0[] = { - {gUnknown_0860F13C, 0x0064}, - {gUnknown_0860F15C, 0x0065}, - {gUnknown_0860F17C, 0x0066}, - {gUnknown_0861039C, 0x0067}, + {gUnknown_0860F13C, TAG_PAL_BALL_GREY}, + {gUnknown_0860F15C, TAG_PAL_BALL_SELECTED}, + {gUnknown_0860F17C, TAG_PAL_66}, + {gUnknown_0861039C, TAG_PAL_67}, {}, }; @@ -802,8 +803,8 @@ static const union AffineAnimCmd * const gUnknown_08610828[] = static const struct SpriteTemplate gUnknown_08610834 = { - .tileTag = 0x0064, - .paletteTag = 0x0064, + .tileTag = TAG_TILE_64, + .paletteTag = TAG_PAL_BALL_GREY, .oam = &gUnknown_086106D8, .anims = gUnknown_08610760, .images = NULL, @@ -813,8 +814,8 @@ static const struct SpriteTemplate gUnknown_08610834 = static const struct SpriteTemplate gUnknown_0861084C = { - .tileTag = 0x0065, - .paletteTag = 0x0066, + .tileTag = TAG_TILE_65, + .paletteTag = TAG_PAL_66, .oam = &gUnknown_086106E0, .anims = gUnknown_08610758, .images = NULL, @@ -824,8 +825,8 @@ static const struct SpriteTemplate gUnknown_0861084C = static const struct SpriteTemplate gUnknown_08610864 = { - .tileTag = 0x0066, - .paletteTag = 0x0066, + .tileTag = TAG_TILE_66, + .paletteTag = TAG_PAL_66, .oam = &gUnknown_086106E8, .anims = gUnknown_08610758, .images = NULL, @@ -835,8 +836,8 @@ static const struct SpriteTemplate gUnknown_08610864 = static const struct SpriteTemplate gUnknown_0861087C = { - .tileTag = 0x0067, - .paletteTag = 0x0066, + .tileTag = TAG_TILE_67, + .paletteTag = TAG_PAL_66, .oam = &gUnknown_086106E8, .anims = gUnknown_08610758, .images = NULL, @@ -846,8 +847,8 @@ static const struct SpriteTemplate gUnknown_0861087C = static const struct SpriteTemplate gUnknown_08610894 = { - .tileTag = 0x006d, - .paletteTag = 0x0067, + .tileTag = TAG_TILE_6D, + .paletteTag = TAG_PAL_67, .oam = &gUnknown_086106F0, .anims = gUnknown_0861075C, .images = NULL, @@ -855,14 +856,14 @@ static const struct SpriteTemplate gUnknown_08610894 = .callback = SpriteCallbackDummy }; -void (* const sSwap_MenuOptionFuncs[])(u8 taskId) = +void static (* const sSwap_MenuOptionFuncs[])(u8 taskId) = { sub_819F114, sub_819F0CC, sub_819F134, }; -static const struct BgTemplate gUnknown_086108B8[4] = +static const struct BgTemplate sSwap_BgTemplates[4] = { { .bg = 0, @@ -902,7 +903,7 @@ static const struct BgTemplate gUnknown_086108B8[4] = }, }; -static const struct WindowTemplate gUnknown_086108C8[] = +static const struct WindowTemplate sSwap_WindowTemplates[] = { { .priority = 0, @@ -988,13 +989,26 @@ static const struct WindowTemplate gUnknown_086108C8[] = DUMMY_WIN_TEMPLATE, }; -//const u16 gUnknown_08610918[] = {0x00, 0x00, 0x00, 0x00, 0xff, 0x7f, 0x00, 0x00, 0x1f, 0x00}; // palette -//const u8 gUnknown_08610922[] = {0x00, 0x02, 0x00}; -//const u8 gUnknown_08610925[] = {0x00, 0x04, 0x00}; +static const u16 gUnknown_08610918[] = {0x0, 0x0, 0x7FFF, 0x0, 0x1F}; // Palette. +static const u8 gUnknown_08610922[] = {0x0, 0x02, 0x0}; +static const u8 gUnknown_08610925[] = {0x0, 0x04, 0x0}; -extern const u16 gUnknown_08610918[]; -extern const u8 gUnknown_08610922[]; -extern const u8 gUnknown_08610925[]; +static const struct SwapActionIdAndFunc sSwap_PlayerScreenActions[] = +{ + {1, Swap_ActionMon}, + {1, Swap_ActionMon}, + {1, Swap_ActionMon}, + {3, Swap_ActionCancel}, +}; + +static const struct SwapActionIdAndFunc sSwap_EnemyScreenActions[] = +{ + {1, Swap_ActionMon}, + {1, Swap_ActionMon}, + {1, Swap_ActionMon}, + {2, Swap_ActionPkmnForSwap}, + {3, Swap_ActionCancel}, +}; // gfx extern const u8 gFrontierFactorySelectMenu_Gfx[]; @@ -1029,7 +1043,7 @@ extern const u8 gText_SamePkmnInPartyAlready[]; extern const u8 gText_Cancel3[]; // code -void sub_819A44C(struct Sprite *sprite) +static void sub_819A44C(struct Sprite *sprite) { if (sprite->oam.paletteNum == IndexOfSpritePaletteTag(TAG_PAL_BALL_SELECTED)) { @@ -1076,7 +1090,7 @@ static void Select_VblankCb(void) TransferPlttBuffer(); } -void sub_819A4F8(void) +void DoBattleFactorySelectScreen(void) { sFactorySelectScreen = NULL; SetMainCallback2(CB2_InitSelectScreen); @@ -1095,16 +1109,16 @@ static void CB2_InitSelectScreen(void) SetVBlankCallback(NULL); CpuFill32(0, (void *)VRAM, VRAM_SIZE); ResetBgsAndClearDma3BusyFlags(0); - InitBgsFromTemplates(0, gUnknown_08610428, ARRAY_COUNT(gUnknown_08610428)); - InitWindows(gUnknown_08610434); + InitBgsFromTemplates(0, sSelect_BgTemplates, ARRAY_COUNT(sSelect_BgTemplates)); + InitWindows(sSelect_WindowTemplates); DeactivateAllTextPrinters(); gMain.state++; break; case 1: - gUnknown_0203CE2C = Alloc(0x440); - gUnknown_0203CE30 = AllocZeroed(0x440); - gUnknown_0203CE34 = Alloc(0x800); - gUnknown_0203CE38 = AllocZeroed(0x800); + sSelectMenuTilesetBuffer = Alloc(0x440); + sSelectMonCardBgTilesetBuffer = AllocZeroed(0x440); + sSelectMenuTilemapBuffer = Alloc(0x800); + sSelectMonCardBgTilemapBuffer = AllocZeroed(0x800); ChangeBgX(0, 0, 0); ChangeBgY(0, 0, 0); ChangeBgX(1, 0, 0); @@ -1128,12 +1142,12 @@ static void CB2_InitSelectScreen(void) ResetSpriteData(); ResetTasks(); FreeAllSpritePalettes(); - CpuCopy16(gFrontierFactorySelectMenu_Gfx, gUnknown_0203CE2C, 0x440); - CpuCopy16(gUnknown_0861033C, gUnknown_0203CE30, 0x60); - LoadBgTiles(1, gUnknown_0203CE2C, 0x440, 0); - LoadBgTiles(3, gUnknown_0203CE30, 0x60, 0); - CpuCopy16(gFrontierFactorySelectMenu_Tilemap, gUnknown_0203CE34, 0x800); - LoadBgTilemap(1, gUnknown_0203CE34, 0x800, 0); + CpuCopy16(gFrontierFactorySelectMenu_Gfx, sSelectMenuTilesetBuffer, 0x440); + CpuCopy16(gUnknown_0861033C, sSelectMonCardBgTilesetBuffer, 0x60); + LoadBgTiles(1, sSelectMenuTilesetBuffer, 0x440, 0); + LoadBgTiles(3, sSelectMonCardBgTilesetBuffer, 0x60, 0); + CpuCopy16(gFrontierFactorySelectMenu_Tilemap, sSelectMenuTilemapBuffer, 0x800); + LoadBgTilemap(1, sSelectMenuTilemapBuffer, 0x800, 0); LoadPalette(gFrontierFactorySelectMenu_Pal, 0, 0x40); LoadPalette(gUnknown_0861046C, 0xF0, 8); LoadPalette(gUnknown_0861046C, 0xE0, 10); @@ -1143,7 +1157,7 @@ static void CB2_InitSelectScreen(void) gMain.state++; break; case 3: - SetBgTilemapBuffer(3, gUnknown_0203CE38); + SetBgTilemapBuffer(3, sSelectMonCardBgTilemapBuffer); CopyToBgTilemapBufferRect(3, gUnknown_0861023C, 11, 4, 8, 8); CopyToBgTilemapBufferRect(3, gUnknown_0861023C, 2, 4, 8, 8); CopyToBgTilemapBufferRect(3, gUnknown_0861023C, 20, 4, 8, 8); @@ -1405,10 +1419,10 @@ static void Task_FromSelectScreenToSummaryScreen(u8 taskId) DestroyTask(sFactorySelectScreen->fadeSpeciesNameTaskId); sub_819F444(sFactorySelectScreen->unk294[1], &sFactorySelectScreen->unk2A0); Select_DestroyAllSprites(); - FREE_AND_SET_NULL(gUnknown_0203CE2C); - FREE_AND_SET_NULL(gUnknown_0203CE30); - FREE_AND_SET_NULL(gUnknown_0203CE34); - FREE_AND_SET_NULL(gUnknown_0203CE38); + FREE_AND_SET_NULL(sSelectMenuTilesetBuffer); + FREE_AND_SET_NULL(sSelectMonCardBgTilesetBuffer); + FREE_AND_SET_NULL(sSelectMenuTilemapBuffer); + FREE_AND_SET_NULL(sSelectMonCardBgTilemapBuffer); FreeAllWindowBuffers(); gTasks[taskId].data[0] = 8; } @@ -1442,9 +1456,9 @@ static void Task_CloseSelectionScreen(u8 taskId) Select_CopyMonsToPlayerParty(); DestroyTask(sFactorySelectScreen->fadeSpeciesNameTaskId); Select_DestroyAllSprites(); - FREE_AND_SET_NULL(gUnknown_0203CE2C); - FREE_AND_SET_NULL(gUnknown_0203CE34); - FREE_AND_SET_NULL(gUnknown_0203CE38); + FREE_AND_SET_NULL(sSelectMenuTilesetBuffer); + FREE_AND_SET_NULL(sSelectMenuTilemapBuffer); + FREE_AND_SET_NULL(sSelectMonCardBgTilemapBuffer); FREE_AND_SET_NULL(sFactorySelectScreen); FreeAllWindowBuffers(); SetMainCallback2(CB2_ReturnToFieldContinueScript); @@ -1924,7 +1938,7 @@ static void Select_PrintMonCategory(void) } } -void sub_819BD70(void) +static void Summary_ShowMonSprite(void) { u8 monId = sFactorySelectScreen->cursorPos; struct Pokemon *mon = &sFactorySelectScreen->mons[monId].monData; @@ -1939,7 +1953,7 @@ void sub_819BD70(void) sFactorySelectScreen->unk2A0 = FALSE; } -void sub_819BE20(bool8 arg0) +static void sub_819BE20(bool8 arg0) { sFactorySelectScreen->unk2A0 = arg0; } @@ -2231,7 +2245,7 @@ static void Task_SelectFadeSpeciesName(u8 taskId) // Swap Screen's section begins here. -void Swap_CB2(void) +static void Swap_CB2(void) { AnimateSprites(); BuildOamBuffer(); @@ -2240,14 +2254,14 @@ void Swap_CB2(void) RunTasks(); } -void Swap_VblankCb(void) +static void Swap_VblankCb(void) { LoadOam(); ProcessSpriteCopyRequests(); TransferPlttBuffer(); } -void CopySwappedMonData(void) +static void CopySwappedMonData(void) { u8 happiness; @@ -2260,7 +2274,7 @@ void CopySwappedMonData(void) gSaveBlock2Ptr->frontier.field_E70[sFactorySwapScreen->playerMonId].abilityBit = GetBoxMonData(&gEnemyParty[sFactorySwapScreen->enemyMonId].box, MON_DATA_ALT_ABILITY, NULL); } -void Task_FromSwapScreenToSummaryScreen(u8 taskId) +static void Task_FromSwapScreenToSummaryScreen(u8 taskId) { switch (gTasks[taskId].data[0]) { @@ -2274,10 +2288,10 @@ void Task_FromSwapScreenToSummaryScreen(u8 taskId) DestroyTask(sFactorySwapScreen->fadeSpeciesNameTaskId); sub_819F444(sFactorySwapScreen->unk2C, &sFactorySwapScreen->unk30); Swap_DestroyAllSprites(); - FREE_AND_SET_NULL(gUnknown_0203CE40); - FREE_AND_SET_NULL(gUnknown_0203CE44); - FREE_AND_SET_NULL(gUnknown_0203CE48); - FREE_AND_SET_NULL(gUnknown_0203CE4C); + FREE_AND_SET_NULL(sSwapMenuTilesetBuffer); + FREE_AND_SET_NULL(sSwapMonCardBgTilesetBuffer); + FREE_AND_SET_NULL(sSwapMenuTilemapBuffer); + FREE_AND_SET_NULL(sSwapMonCardBgTilemapBuffer); FreeAllWindowBuffers(); gTasks[taskId].data[0] = 8; } @@ -2291,7 +2305,7 @@ void Task_FromSwapScreenToSummaryScreen(u8 taskId) } } -void Task_CloseSwapScreen(u8 taskId) +static void Task_CloseSwapScreen(u8 taskId) { if (sFactorySwapScreen->unk30 != TRUE) { @@ -2326,10 +2340,10 @@ void Task_CloseSwapScreen(u8 taskId) { DestroyTask(sFactorySwapScreen->fadeSpeciesNameTaskId); Swap_DestroyAllSprites(); - FREE_AND_SET_NULL(gUnknown_0203CE40); - FREE_AND_SET_NULL(gUnknown_0203CE44); - FREE_AND_SET_NULL(gUnknown_0203CE48); - FREE_AND_SET_NULL(gUnknown_0203CE4C); + FREE_AND_SET_NULL(sSwapMenuTilesetBuffer); + FREE_AND_SET_NULL(sSwapMonCardBgTilesetBuffer); + FREE_AND_SET_NULL(sSwapMenuTilemapBuffer); + FREE_AND_SET_NULL(sSwapMonCardBgTilemapBuffer); FREE_AND_SET_NULL(sFactorySwapScreen); FreeAllWindowBuffers(); SetMainCallback2(CB2_ReturnToFieldContinueScript); @@ -2340,7 +2354,7 @@ void Task_CloseSwapScreen(u8 taskId) } } -void Task_HandleSwapScreenYesNo(u8 taskId) +static void Task_HandleSwapScreenYesNo(u8 taskId) { u16 loPtr, hiPtr; @@ -2396,7 +2410,7 @@ void Task_HandleSwapScreenYesNo(u8 taskId) } } -void sub_819CBDC(u8 taskId) +static void sub_819CBDC(u8 taskId) { if (gTasks[taskId].data[1] == 1) { @@ -2413,7 +2427,7 @@ void sub_819CBDC(u8 taskId) } } -void sub_819CC24(u8 taskId) +static void sub_819CC24(u8 taskId) { if (gTasks[taskId].data[0] == 0) { @@ -2426,7 +2440,7 @@ void sub_819CC24(u8 taskId) } } -void sub_819CC74(u8 taskId) +static void sub_819CC74(u8 taskId) { sub_819F3F8(sFactorySwapScreen->unk2C, &sFactorySwapScreen->unk30, TRUE); if (gTasks[taskId].data[1] == 1) @@ -2444,7 +2458,7 @@ void sub_819CC74(u8 taskId) } } -void sub_819CCD4(u8 taskId) +static void sub_819CCD4(u8 taskId) { if (gTasks[taskId].data[0] == 0) { @@ -2458,7 +2472,7 @@ void sub_819CCD4(u8 taskId) } } -void Task_HandleSwapScreenMenu(u8 taskId) +static void Task_HandleSwapScreenMenu(u8 taskId) { switch (gTasks[taskId].data[0]) { @@ -2506,14 +2520,14 @@ void Task_HandleSwapScreenMenu(u8 taskId) } } -void Task_HandleSwapScreenChooseMons(u8 taskId) +static void Task_HandleSwapScreenChooseMons(u8 taskId) { switch (gTasks[taskId].data[0]) { case 0: if (!gPaletteFade.active) { - sFactorySwapScreen->unk22 = 1; + sFactorySwapScreen->unk22 = TRUE; gTasks[taskId].data[0] = 1; } break; @@ -2521,7 +2535,7 @@ void Task_HandleSwapScreenChooseMons(u8 taskId) if (gMain.newKeys & A_BUTTON) { PlaySE(SE_SELECT); - sFactorySwapScreen->unk22 = 0; + sFactorySwapScreen->unk22 = FALSE; Swap_PrintMonSpecies2(); sub_819EAC0(); Swap_RunActionFunc(taskId); @@ -2529,7 +2543,7 @@ void Task_HandleSwapScreenChooseMons(u8 taskId) else if (gMain.newKeys & B_BUTTON) { PlaySE(SE_SELECT); - sFactorySwapScreen->unk22 = 0; + sFactorySwapScreen->unk22 = FALSE; Swap_PrintMonSpecies2(); sub_819EAC0(); gTasks[taskId].data[6] = (u32)(sub_819CC24) >> 16; @@ -2566,7 +2580,7 @@ void Task_HandleSwapScreenChooseMons(u8 taskId) } } -void Task_SwapFadeSpeciesName(u8 taskId) +static void Task_SwapFadeSpeciesName(u8 taskId) { switch (gTasks[taskId].data[0]) { @@ -2621,7 +2635,7 @@ void Task_SwapFadeSpeciesName(u8 taskId) } } -void Task_SwapFadeSpeciesName2(u8 taskId) +static void Task_SwapFadeSpeciesName2(u8 taskId) { switch (gTasks[taskId].data[0]) { @@ -2652,7 +2666,7 @@ void Task_SwapFadeSpeciesName2(u8 taskId) } } -void sub_819D12C(u8 taskId) +static void sub_819D12C(u8 taskId) { s8 i; u8 var_2C; @@ -2728,7 +2742,7 @@ void sub_819D12C(u8 taskId) } } -void sub_819D324(u8 taskId) +static void sub_819D324(u8 taskId) { u8 i, j; s32 posX = 0; @@ -2840,7 +2854,7 @@ void sub_819D324(u8 taskId) } } -void sub_819D588(u8 taskId) +static void sub_819D588(u8 taskId) { u8 anotherTaskId; u16 loPtr, hiPtr; @@ -2918,7 +2932,7 @@ void sub_819D588(u8 taskId) } } -void sub_819D770(u8 taskId) +static void sub_819D770(u8 taskId) { u8 anotherTaskId; u16 loPtr, hiPtr; @@ -3010,7 +3024,7 @@ void sub_819D770(u8 taskId) case 8: Swap_PrintMonSpecies3(); sub_819EADC(); - sFactorySwapScreen->unk22 = 1; + sFactorySwapScreen->unk22 = TRUE; gTasks[taskId].data[0] = gTasks[taskId].data[5]; loPtr = gTasks[taskId].data[6]; hiPtr = gTasks[taskId].data[7]; @@ -3019,7 +3033,7 @@ void sub_819D770(u8 taskId) } } -void sub_819D9EC(u8 taskId) +static void sub_819D9EC(u8 taskId) { u8 i; if (sFactorySwapScreen->unk30 == TRUE) @@ -3074,7 +3088,7 @@ void sub_819D9EC(u8 taskId) } } -void Swap_InitStruct(void) +static void Swap_InitStruct(void) { if (sFactorySwapScreen == NULL) { @@ -3085,13 +3099,13 @@ void Swap_InitStruct(void) } } -void sub_819DC00(void) +void DoBattleFactorySwapScreen(void) { sFactorySwapScreen = NULL; SetMainCallback2(CB2_InitSwapScreen); } -void CB2_InitSwapScreen(void) +static void CB2_InitSwapScreen(void) { u8 taskId; @@ -3102,16 +3116,16 @@ void CB2_InitSwapScreen(void) SetVBlankCallback(NULL); CpuFill32(0, (void *)VRAM, VRAM_SIZE); ResetBgsAndClearDma3BusyFlags(0); - InitBgsFromTemplates(0, gUnknown_086108B8, ARRAY_COUNT(gUnknown_086108B8)); - InitWindows(gUnknown_086108C8); + InitBgsFromTemplates(0, sSwap_BgTemplates, ARRAY_COUNT(sSwap_BgTemplates)); + InitWindows(sSwap_WindowTemplates); DeactivateAllTextPrinters(); gMain.state++; break; case 1: - gUnknown_0203CE40 = Alloc(0x440); - gUnknown_0203CE44 = AllocZeroed(0x440); - gUnknown_0203CE48 = Alloc(0x800); - gUnknown_0203CE4C = AllocZeroed(0x800); + sSwapMenuTilesetBuffer = Alloc(0x440); + sSwapMonCardBgTilesetBuffer = AllocZeroed(0x440); + sSwapMenuTilemapBuffer = Alloc(0x800); + sSwapMonCardBgTilemapBuffer = AllocZeroed(0x800); ChangeBgX(0, 0, 0); ChangeBgY(0, 0, 0); ChangeBgX(1, 0, 0); @@ -3136,12 +3150,12 @@ void CB2_InitSwapScreen(void) ResetTasks(); FreeAllSpritePalettes(); ResetAllPicSprites(); - CpuCopy16(gFrontierFactorySelectMenu_Gfx, gUnknown_0203CE40, 0x440); - CpuCopy16(gUnknown_0861033C, gUnknown_0203CE44, 0x60); - LoadBgTiles(1, gUnknown_0203CE40, 0x440, 0); - LoadBgTiles(3, gUnknown_0203CE44, 0x60, 0); - CpuCopy16(gFrontierFactorySelectMenu_Tilemap, gUnknown_0203CE48, 0x800); - LoadBgTilemap(1, gUnknown_0203CE48, 0x800, 0); + CpuCopy16(gFrontierFactorySelectMenu_Gfx, sSwapMenuTilesetBuffer, 0x440); + CpuCopy16(gUnknown_0861033C, sSwapMonCardBgTilesetBuffer, 0x60); + LoadBgTiles(1, sSwapMenuTilesetBuffer, 0x440, 0); + LoadBgTiles(3, sSwapMonCardBgTilesetBuffer, 0x60, 0); + CpuCopy16(gFrontierFactorySelectMenu_Tilemap, sSwapMenuTilemapBuffer, 0x800); + LoadBgTilemap(1, sSwapMenuTilemapBuffer, 0x800, 0); LoadPalette(gFrontierFactorySelectMenu_Pal, 0, 0x40); LoadPalette(gUnknown_08610918, 0xF0, 10); LoadPalette(gUnknown_08610918, 0xE0, 10); @@ -3149,7 +3163,7 @@ void CB2_InitSwapScreen(void) gMain.state++; break; case 3: - SetBgTilemapBuffer(3, gUnknown_0203CE4C); + SetBgTilemapBuffer(3, sSwapMonCardBgTilemapBuffer); CopyToBgTilemapBufferRect(3, gUnknown_0861023C, 11, 4, 8, 8); CopyBgTilemapBufferToVram(3); gMain.state++; @@ -3247,13 +3261,7 @@ void CB2_InitSwapScreen(void) } } -extern const struct SpriteTemplate gUnknown_08610834; -extern const struct SpriteTemplate gUnknown_0861084C; -extern const struct SpriteTemplate gUnknown_08610864; -extern const struct SpriteTemplate gUnknown_0861087C; -extern const struct SpriteTemplate gUnknown_08610894; - -void Swap_InitAllSprites(void) +static void Swap_InitAllSprites(void) { u8 i; u8 x; @@ -3344,7 +3352,7 @@ void Swap_InitAllSprites(void) gSprites[sFactorySwapScreen->unk8[0][2]].invisible = 0; } -void Swap_DestroyAllSprites(void) +static void Swap_DestroyAllSprites(void) { u8 i, j; @@ -3365,7 +3373,7 @@ void Swap_DestroyAllSprites(void) } } -void Swap_HandleActionCursorChange(u8 cursorId) +static void Swap_HandleActionCursorChange(u8 cursorId) { if (cursorId < 3) { @@ -3380,7 +3388,7 @@ void Swap_HandleActionCursorChange(u8 cursorId) } } -void Swap_UpdateBallCursorPosition(s8 direction) +static void Swap_UpdateBallCursorPosition(s8 direction) { u8 cursorPos; PlaySE(SE_SELECT); @@ -3403,7 +3411,7 @@ void Swap_UpdateBallCursorPosition(s8 direction) Swap_HandleActionCursorChange(cursorPos); } -void Swap_UpdateActionCursorPosition(s8 direction) +static void Swap_UpdateActionCursorPosition(s8 direction) { u8 cursorPos; PlaySE(SE_SELECT); @@ -3430,7 +3438,7 @@ void Swap_UpdateActionCursorPosition(s8 direction) Swap_HandleActionCursorChange(cursorPos); } -void Swap_UpdateYesNoCursorPosition(s8 direction) +static void Swap_UpdateYesNoCursorPosition(s8 direction) { if (direction > 0) // Move cursor down. { @@ -3451,7 +3459,7 @@ void Swap_UpdateYesNoCursorPosition(s8 direction) gSprites[sFactorySwapScreen->menuCursor2SpriteId].pos1.y = (sFactorySwapScreen->yesNoCursorPos * 16) + 112; } -void Swap_UpdateMenuCursorPosition(s8 direction) +static void Swap_UpdateMenuCursorPosition(s8 direction) { PlaySE(SE_SELECT); if (direction > 0) // Move cursor down. @@ -3473,7 +3481,7 @@ void Swap_UpdateMenuCursorPosition(s8 direction) gSprites[sFactorySwapScreen->menuCursor2SpriteId].pos1.y = (sFactorySwapScreen->menuCursorPos * 16) + 112; } -void sub_819E838(u8 arg0) +static void sub_819E838(u8 arg0) { u8 i; @@ -3494,7 +3502,7 @@ void sub_819E838(u8 arg0) } } -void sub_819E8EC(void) +static void sub_819E8EC(void) { u8 i; @@ -3506,7 +3514,7 @@ void sub_819E8EC(void) } } -void Swap_ShowMenuOptions(void) +static void Swap_ShowMenuOptions(void) { if (sFactorySwapScreen->fromSummaryScreen == TRUE) sFactorySwapScreen->fromSummaryScreen = FALSE; @@ -3524,7 +3532,7 @@ void Swap_ShowMenuOptions(void) Swap_PrintMenuOptions(); } -void Swap_ShowYesNoOptions(void) +static void Swap_ShowYesNoOptions(void) { sFactorySwapScreen->yesNoCursorPos = 0; @@ -3539,7 +3547,7 @@ void Swap_ShowYesNoOptions(void) Swap_PrintYesNoOptions(); } -void sub_819EA64(u8 windowId) +static void sub_819EA64(u8 windowId) { gSprites[sFactorySwapScreen->menuCursor1SpriteId].invisible = 1; gSprites[sFactorySwapScreen->menuCursor2SpriteId].invisible = 1; @@ -3548,21 +3556,21 @@ void sub_819EA64(u8 windowId) ClearWindowTilemap(windowId); } -void sub_819EAC0(void) +static void sub_819EAC0(void) { PutWindowTilemap(1); FillWindowPixelBuffer(1, 0); CopyWindowToVram(1, 2); } -void sub_819EADC(void) +static void sub_819EADC(void) { PutWindowTilemap(7); FillWindowPixelBuffer(7, 0); CopyWindowToVram(7, 2); } -void sub_819EAF8(void) +static void sub_819EAF8(void) { sub_819EAC0(); PutWindowTilemap(5); @@ -3570,14 +3578,14 @@ void sub_819EAF8(void) CopyWindowToVram(5, 2); } -void Swap_PrintPkmnSwap(void) +static void Swap_PrintPkmnSwap(void) { FillWindowPixelBuffer(0, 0x11); AddTextPrinterParameterized(0, 1, gText_PkmnSwap, 2, 1, 0, NULL); CopyWindowToVram(0, 3); } -void Swap_PrintMonSpecies(void) +static void Swap_PrintMonSpecies(void) { u16 species; u8 x; @@ -3601,14 +3609,14 @@ void Swap_PrintMonSpecies(void) } } -void Swap_PrintOnInfoWindow(const u8 *str) +static void Swap_PrintOnInfoWindow(const u8 *str) { FillWindowPixelBuffer(2, 0); AddTextPrinterParameterized(2, 1, str, 2, 5, 0, NULL); CopyWindowToVram(2, 2); } -void Swap_PrintMenuOptions(void) +static void Swap_PrintMenuOptions(void) { PutWindowTilemap(3); FillWindowPixelBuffer(3, 0); @@ -3618,7 +3626,7 @@ void Swap_PrintMenuOptions(void) CopyWindowToVram(3, 3); } -void Swap_PrintYesNoOptions(void) +static void Swap_PrintYesNoOptions(void) { PutWindowTilemap(4); FillWindowPixelBuffer(4, 0); @@ -3627,13 +3635,13 @@ void Swap_PrintYesNoOptions(void) CopyWindowToVram(4, 3); } -void Swap_PrintActionString(const u8 *str, u32 y, u32 windowId) +static void Swap_PrintActionString(const u8 *str, u32 y, u32 windowId) { s32 x = GetStringRightAlignXOffset(0, str, 0x46); AddTextPrinterParameterized3(windowId, 0, x, y, gUnknown_08610922, 0, str); } -void Swap_PrintActionStrings(void) +static void Swap_PrintActionStrings(void) { FillWindowPixelBuffer(5, 0); switch (sFactorySwapScreen->inEnemyScreen) @@ -3647,7 +3655,7 @@ void Swap_PrintActionStrings(void) CopyWindowToVram(5, 3); } -void Swap_PrintActionStrings2(void) +static void Swap_PrintActionStrings2(void) { FillWindowPixelBuffer(3, 0); switch (sFactorySwapScreen->inEnemyScreen) @@ -3661,7 +3669,7 @@ void Swap_PrintActionStrings2(void) CopyWindowToVram(3, 3); } -void Swap_PrintOneActionString(u8 which) +static void Swap_PrintOneActionString(u8 which) { switch (which) { @@ -3676,7 +3684,7 @@ void Swap_PrintOneActionString(u8 which) CopyWindowToVram(3, 3); } -void Swap_PrintMonSpecies2(void) +static void Swap_PrintMonSpecies2(void) { u16 species; u8 x; @@ -3709,7 +3717,7 @@ void Swap_PrintMonSpecies2(void) } } -void Swap_PrintMonSpecies3(void) +static void Swap_PrintMonSpecies3(void) { u16 species; u8 x; @@ -3735,7 +3743,7 @@ void Swap_PrintMonSpecies3(void) } } -void Swap_PrintMonCategory(void) +static void Swap_PrintMonCategory(void) { u16 species; u8 text[30]; @@ -3761,10 +3769,7 @@ void Swap_PrintMonCategory(void) } } -extern const struct SwapActionIdAndFunc gUnknown_08610928[4]; -extern const struct SwapActionIdAndFunc gUnknown_08610948[5]; - -void Swap_InitActions(u8 id) +static void Swap_InitActions(u8 id) { if (sFactorySwapScreen->fromSummaryScreen != TRUE) { @@ -3773,26 +3778,26 @@ void Swap_InitActions(u8 id) case ACTIONS_PLAYER_SCREEN: sFactorySwapScreen->inEnemyScreen = FALSE; sFactorySwapScreen->cursorPos = 0; - sFactorySwapScreen->actionsCount = ARRAY_COUNT(gUnknown_08610928); - sFactorySwapScreen->actionsData = gUnknown_08610928; + sFactorySwapScreen->actionsCount = ARRAY_COUNT(sSwap_PlayerScreenActions); + sFactorySwapScreen->actionsData = sSwap_PlayerScreenActions; break; case ACTIONS_ENEMY_SCREEN: sFactorySwapScreen->inEnemyScreen = TRUE; sFactorySwapScreen->cursorPos = 0; - sFactorySwapScreen->actionsCount = ARRAY_COUNT(gUnknown_08610948); - sFactorySwapScreen->actionsData = gUnknown_08610948; + sFactorySwapScreen->actionsCount = ARRAY_COUNT(sSwap_EnemyScreenActions); + sFactorySwapScreen->actionsData = sSwap_EnemyScreenActions; break; } } } -void Swap_RunMenuOptionFunc(u8 taskId) +static void Swap_RunMenuOptionFunc(u8 taskId) { - gUnknown_03001280 = sSwap_MenuOptionFuncs[sFactorySwapScreen->menuCursorPos]; - gUnknown_03001280(taskId); + sSwap_CurrentTableFunc = sSwap_MenuOptionFuncs[sFactorySwapScreen->menuCursorPos]; + sSwap_CurrentTableFunc(taskId); } -void sub_819F0CC(u8 taskId) +static void sub_819F0CC(u8 taskId) { sub_819F3F8(sFactorySwapScreen->unk2C, &sFactorySwapScreen->unk30, TRUE); sFactorySwapScreen->playerMonId = sFactorySwapScreen->cursorPos; @@ -3801,13 +3806,13 @@ void sub_819F0CC(u8 taskId) gTasks[taskId].func = sub_819D9EC; } -void sub_819F114(u8 taskId) +static void sub_819F114(u8 taskId) { gTasks[taskId].data[0] = 6; gTasks[taskId].func = Task_FromSwapScreenToSummaryScreen; } -void sub_819F134(u8 taskId) +static void sub_819F134(u8 taskId) { sub_819F3F8(sFactorySwapScreen->unk2C, &sFactorySwapScreen->unk30, TRUE); sub_819EA64(3); @@ -3818,13 +3823,13 @@ void sub_819F134(u8 taskId) gTasks[taskId].func = sub_819D770; } -void Swap_RunActionFunc(u8 taskId) +static void Swap_RunActionFunc(u8 taskId) { - gUnknown_03001280 = sFactorySwapScreen->actionsData[sFactorySwapScreen->cursorPos].func; - gUnknown_03001280(taskId); + sSwap_CurrentTableFunc = sFactorySwapScreen->actionsData[sFactorySwapScreen->cursorPos].func; + sSwap_CurrentTableFunc(taskId); } -void sub_819F1AC(u8 taskId) +static void Swap_ActionCancel(u8 taskId) { gTasks[taskId].data[6] = (u32)(sub_819CC24) >> 0x10; gTasks[taskId].data[7] = (u32)(sub_819CC24); @@ -3833,7 +3838,7 @@ void sub_819F1AC(u8 taskId) gTasks[taskId].func = sub_819D588; } -void sub_819F1DC(u8 taskId) +static void Swap_ActionPkmnForSwap(u8 taskId) { gTasks[taskId].data[6] = (u32)(sub_819D9EC) >> 0x10; gTasks[taskId].data[7] = (u32)(sub_819D9EC); @@ -3842,7 +3847,7 @@ void sub_819F1DC(u8 taskId) gTasks[taskId].func = sub_819D588; } -void sub_819F20C(u8 taskId) +static void Swap_ActionMon(u8 taskId) { if (!sFactorySwapScreen->inEnemyScreen) { @@ -3868,7 +3873,7 @@ void sub_819F20C(u8 taskId) gTasks[taskId].func = sub_819D588; } -void sub_819F2B4(u8 *arg0, bool8 *arg1, bool8 swapScreen) +static void sub_819F2B4(u8 *arg0, bool8 *arg1, bool8 swapScreen) { *arg0 = CreateSprite(&gUnknown_08610894, 120, 64, 1); gSprites[*arg0].callback = sub_819F600; @@ -3876,7 +3881,7 @@ void sub_819F2B4(u8 *arg0, bool8 *arg1, bool8 swapScreen) *arg1 = TRUE; } -void Swap_ShowSummaryMonSprite(void) +static void Swap_ShowSummaryMonSprite(void) { struct Pokemon *mon; u16 species; @@ -3897,7 +3902,7 @@ void Swap_ShowSummaryMonSprite(void) gSprites[sFactorySwapScreen->unk2C.field1].invisible = 1; } -void sub_819F3F8(struct UnkFactoryStruct arg0, bool8 *arg1, bool8 swapScreen) +static void sub_819F3F8(struct UnkFactoryStruct arg0, bool8 *arg1, bool8 swapScreen) { u8 taskId; @@ -3909,7 +3914,7 @@ void sub_819F3F8(struct UnkFactoryStruct arg0, bool8 *arg1, bool8 swapScreen) *arg1 = TRUE; } -void sub_819F444(struct UnkFactoryStruct arg0, bool8 *arg1) +static void sub_819F444(struct UnkFactoryStruct arg0, bool8 *arg1) { FreeAndDestroyMonPicSprite(arg0.field0); FreeOamMatrix(gSprites[arg0.field1].oam.matrixNum); @@ -3917,7 +3922,7 @@ void sub_819F444(struct UnkFactoryStruct arg0, bool8 *arg1) *arg1 = FALSE; } -void Task_SwapCantHaveSameMons(u8 taskId) +static void Task_SwapCantHaveSameMons(u8 taskId) { if (sFactorySwapScreen->unk30 == TRUE) return; @@ -3952,14 +3957,14 @@ void Task_SwapCantHaveSameMons(u8 taskId) case 4: Swap_PrintMonSpecies3(); sub_819EADC(); - sFactorySwapScreen->unk22 = 1; + sFactorySwapScreen->unk22 = TRUE; gTasks[taskId].data[0] = gTasks[taskId].data[5]; gTasks[taskId].func = Task_HandleSwapScreenChooseMons; break; } } -bool8 Swap_AlreadyHasSameSpecies(u8 monId) +static bool8 Swap_AlreadyHasSameSpecies(u8 monId) { u8 i; u16 species = GetMonData(&gEnemyParty[monId], MON_DATA_SPECIES, NULL); @@ -3972,7 +3977,7 @@ bool8 Swap_AlreadyHasSameSpecies(u8 monId) return FALSE; } -void sub_819F600(struct Sprite *sprite) +static void sub_819F600(struct Sprite *sprite) { u8 taskId; @@ -3985,3 +3990,124 @@ void sub_819F600(struct Sprite *sprite) sprite->callback = SpriteCallbackDummy; } } + +static void sub_819F654(struct Sprite *sprite) +{ + if (sprite->affineAnimEnded) + { + FreeOamMatrix(sprite->oam.matrixNum); + if (sprite->data[7] == TRUE) + sFactorySwapScreen->unk30 = FALSE; + else + sub_819BE20(FALSE); + DestroySprite(sprite); + } +} + +static void sub_819F69C(u8 taskId) +{ + struct Task *task = &gTasks[taskId]; + switch (task->data[0]) + { + case 0: + task->data[3] = 88; + task->data[24] = 152; // BUG: writing outside the array's bounds. + task->data[5] = 64; + task->data[8] = 65; + SetGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_WIN0_ON); + SetGpuReg(REG_OFFSET_WIN0H, WIN_RANGE(task->data[3], task->data[24])); + SetGpuReg(REG_OFFSET_WIN0V, WIN_RANGE(task->data[5], task->data[8])); + SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG_ALL | WININ_WIN0_CLR | WININ_WIN0_OBJ); + SetGpuReg(REG_OFFSET_WINOUT, WINOUT_WIN01_BG0 | WINOUT_WIN01_BG1 | WINOUT_WIN01_BG2 | WINOUT_WIN01_CLR | WINOUT_WIN01_OBJ); + break; + case 1: + ShowBg(3); + SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG3 | BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_BG1 | BLDCNT_TGT2_OBJ); + SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(11, 4)); + break; + case 2: + task->data[5] -= 4; + task->data[8] += 4; + if (task->data[5] <= 32 || task->data[8] >= 96) + { + task->data[5] = 32; + task->data[8] = 96; + } + SetGpuReg(REG_OFFSET_WIN0V, WIN_RANGE(task->data[5], task->data[8])); + if (task->data[5] != 32) + return; + break; + default: + DestroyTask(taskId); + // UB: Should not use the task after it has been deleted. + if (gTasks[taskId].data[7] == TRUE) + Swap_ShowMonSprite(); + else + Summary_ShowMonSprite(); + return; + } + task->data[0]++; +} + +static void sub_819F7B4(u8 taskId) +{ + struct Task *task = &gTasks[taskId]; + switch (task->data[0]) + { + default: + HideBg(3); + gSprites[task->data[6]].data[7] = task->data[7]; + gSprites[task->data[6]].invisible = 0; + gSprites[task->data[6]].callback = sub_819F654; + StartSpriteAffineAnim(&gSprites[task->data[6]], 1); + ClearGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_WIN0_ON); + DestroyTask(taskId); + break; + case 0: + task->data[3] = 88; + task->data[24] = 152; // BUG: writing outside the array's bounds. + task->data[5] = 32; + task->data[8] = 96; + SetGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_WIN0_ON); + SetGpuReg(REG_OFFSET_WIN0H, WIN_RANGE(task->data[3], task->data[24])); + SetGpuReg(REG_OFFSET_WIN0V, WIN_RANGE(task->data[5], task->data[8])); + SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG_ALL | WININ_WIN0_CLR | WININ_WIN0_OBJ); + SetGpuReg(REG_OFFSET_WINOUT, WINOUT_WIN01_BG0 | WINOUT_WIN01_BG1 | WINOUT_WIN01_BG2 | WINOUT_WIN01_CLR | WINOUT_WIN01_OBJ); + task->data[0]++; + break; + case 1: + task->data[5] += 4; + task->data[8] -= 4; + if (task->data[5] >= 64 || task->data[8] <= 65) + { + task->data[5] = 64; + task->data[8] = 65; + } + SetGpuReg(REG_OFFSET_WIN0V, WIN_RANGE(task->data[5], task->data[8])); + if (task->data[5] == 64) + task->data[0]++; + break; + } +} + +static void Swap_ShowMonSprite(void) +{ + struct Pokemon *mon; + u16 species; + u32 personality, otId; + + if (!sFactorySwapScreen->inEnemyScreen) + mon = &gPlayerParty[sFactorySwapScreen->cursorPos]; + else + mon = &gEnemyParty[sFactorySwapScreen->cursorPos]; + + species = GetMonData(mon, MON_DATA_SPECIES, NULL); + personality = GetMonData(mon, MON_DATA_PERSONALITY, NULL); + otId = GetMonData(mon, MON_DATA_OT_ID, NULL); + + sFactorySwapScreen->unk2C.field0 = CreateMonPicSprite_HandleDeoxys(species, otId, personality, TRUE, 88, 32, 15, 0xFFFF); + gSprites[sFactorySwapScreen->unk2C.field0].centerToCornerVecX = 0; + gSprites[sFactorySwapScreen->unk2C.field0].centerToCornerVecY = 0; + + sFactorySwapScreen->unk30 = FALSE; +} diff --git a/src/battle_tent.c b/src/battle_tent.c index 516f3fc4d7..e30cac386c 100644 --- a/src/battle_tent.c +++ b/src/battle_tent.c @@ -1,13 +1,15 @@ #include "global.h" +#include "battle_tent.h" #include "overworld.h" #include "event_data.h" #include "region_map.h" #include "battle.h" #include "battle_setup.h" #include "battle_tower.h" -#include "battle_frontier_2.h" #include "random.h" #include "item.h" +#include "battle_factory.h" +#include "battle_frontier_2.h" #include "constants/items.h" #include "constants/region_map_sections.h" @@ -15,35 +17,40 @@ extern const struct BattleFrontierTrainer gSlateportBattleTentTrainers[]; extern const struct FacilityMon gSlateportBattleTentMons[]; extern const u16 gBattleFrontierHeldItems[]; +extern u16 gUnknown_03006298[]; + // This file's functions. -void sub_81B99D4(void); -void sub_81B9A28(void); -void sub_81B9A44(void); -void sub_81B9A60(void); -void sub_81B9A90(void); -void sub_81B9ABC(void); -void sub_81B9B00(void); -void sub_81B9B28(void); -void sub_81B9BA0(void); -void sub_81B9BF4(void); -void sub_81B9C10(void); -void sub_81B9C2C(void); -void sub_81B9C70(void); -void sub_81B9C98(void); -void sub_81B9CF0(void); -void sub_81B9D28(void); -void sub_81B9D7C(void); -void sub_81B9D98(void); -void sub_81B9DB4(void); -void sub_81B9DF8(void); -void sub_81B9E20(void); -void sub_81B9E78(void); -void sub_81B9E88(void); -void sub_81BA040(void); -void sub_81B9EC0(void); +static void sub_81B99D4(void); +static void sub_81B9A28(void); +static void sub_81B9A44(void); +static void sub_81B9A60(void); +static void sub_81B9A90(void); +static void sub_81B9ABC(void); +static void sub_81B9B00(void); +static void sub_81B9B28(void); +static void sub_81B9BA0(void); +static void sub_81B9BF4(void); +static void sub_81B9C10(void); +static void sub_81B9C2C(void); +static void sub_81B9C70(void); +static void sub_81B9C98(void); +static void sub_81B9CF0(void); +static void sub_81B9D28(void); +static void sub_81B9D7C(void); +static void sub_81B9D98(void); +static void sub_81B9DB4(void); +static void sub_81B9DF8(void); +static void sub_81B9E20(void); +static void sub_81B9E78(void); +static void sub_81B9E88(void); +static void sub_81BA040(void); +static void sub_81B9EC0(void); + +// IWRAM bss +static IWRAM_DATA u16 sRandMonSetId; // const rom data -void (*const gUnknown_086160B4[])(void) = +void static (*const gUnknown_086160B4[])(void) = { sub_81B99D4, sub_81B9A28, @@ -57,7 +64,7 @@ void (*const gUnknown_086160B4[])(void) = static const u16 sVerdanturfTentRewards[] = {ITEM_NEST_BALL}; -void (*const gUnknown_086160D8[])(void) = +void static (*const gUnknown_086160D8[])(void) = { sub_81B9BA0, sub_81B9BF4, @@ -70,7 +77,7 @@ void (*const gUnknown_086160D8[])(void) = static const u16 sFallarborTentRewards[] = {ITEM_HYPER_POTION}; -void (*const gUnknown_086160F8[])(void) = +void static (*const gUnknown_086160F8[])(void) = { sub_81B9D28, sub_81B9D7C, @@ -92,7 +99,7 @@ void sub_81B99B4(void) gUnknown_086160B4[gSpecialVar_0x8004](); } -void sub_81B99D4(void) +static void sub_81B99D4(void) { gSaveBlock2Ptr->frontier.field_CA8 = 0; gSaveBlock2Ptr->frontier.field_CB2 = 0; @@ -100,29 +107,29 @@ void sub_81B99D4(void) saved_warp2_set(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1); } -void sub_81B9A28(void) +static void sub_81B9A28(void) { gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_E6A; } -void sub_81B9A44(void) +static void sub_81B9A44(void) { gSaveBlock2Ptr->frontier.field_E6A = gSpecialVar_0x8006; } -void sub_81B9A60(void) +static void sub_81B9A60(void) { gTrainerBattleOpponent_A = (u32)((Random() % 255) * 5) / 64; sub_8162614(gTrainerBattleOpponent_A, 0); } -void sub_81B9A90(void) +static void sub_81B9A90(void) { if (gTrainerBattleOpponent_A < 300) ConvertBattleFrontierTrainerSpeechToString(gFacilityTrainers[gTrainerBattleOpponent_A].speechBefore); } -void sub_81B9ABC(void) +static void sub_81B9ABC(void) { gSaveBlock2Ptr->frontier.field_CA8 = gSpecialVar_0x8005; VarSet(VAR_TEMP_0, 0); @@ -130,12 +137,12 @@ void sub_81B9ABC(void) sub_81A4C30(); } -void sub_81B9B00(void) +static void sub_81B9B00(void) { gSaveBlock2Ptr->frontier.field_E6A = sVerdanturfTentRewards[Random() % ARRAY_COUNT(sVerdanturfTentRewards)]; } -void sub_81B9B28(void) +static void sub_81B9B28(void) { if (AddBagItem(gSaveBlock2Ptr->frontier.field_E6A, 1) == TRUE) { @@ -154,7 +161,7 @@ void sub_81B9B80(void) gUnknown_086160D8[gSpecialVar_0x8004](); } -void sub_81B9BA0(void) +static void sub_81B9BA0(void) { gSaveBlock2Ptr->frontier.field_CA8 = 0; gSaveBlock2Ptr->frontier.field_CB2 = 0; @@ -162,17 +169,17 @@ void sub_81B9BA0(void) saved_warp2_set(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1); } -void sub_81B9BF4(void) +static void sub_81B9BF4(void) { gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_E6C; } -void sub_81B9C10(void) +static void sub_81B9C10(void) { gSaveBlock2Ptr->frontier.field_E6C = gSpecialVar_0x8006; } -void sub_81B9C2C(void) +static void sub_81B9C2C(void) { gSaveBlock2Ptr->frontier.field_CA8 = gSpecialVar_0x8005; VarSet(VAR_TEMP_0, 0); @@ -180,12 +187,12 @@ void sub_81B9C2C(void) sub_81A4C30(); } -void sub_81B9C70(void) +static void sub_81B9C70(void) { gSaveBlock2Ptr->frontier.field_E6C = sFallarborTentRewards[Random() % ARRAY_COUNT(sFallarborTentRewards)]; } -void sub_81B9C98(void) +static void sub_81B9C98(void) { if (AddBagItem(gSaveBlock2Ptr->frontier.field_E6C, 1) == TRUE) { @@ -199,7 +206,7 @@ void sub_81B9C98(void) } } -void sub_81B9CF0(void) +static void sub_81B9CF0(void) { GetFrontierTrainerName(gStringVar1, gTrainerBattleOpponent_A); } @@ -209,7 +216,7 @@ void sub_81B9D08(void) gUnknown_086160F8[gSpecialVar_0x8004](); } -void sub_81B9D28(void) +static void sub_81B9D28(void) { gSaveBlock2Ptr->frontier.field_CA8 = 0; gSaveBlock2Ptr->frontier.field_CB2 = 0; @@ -217,17 +224,17 @@ void sub_81B9D28(void) saved_warp2_set(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1); } -void sub_81B9D7C(void) +static void sub_81B9D7C(void) { gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_E6E; } -void sub_81B9D98(void) +static void sub_81B9D98(void) { gSaveBlock2Ptr->frontier.field_E6E = gSpecialVar_0x8006; } -void sub_81B9DB4(void) +static void sub_81B9DB4(void) { gSaveBlock2Ptr->frontier.field_CA8 = gSpecialVar_0x8005; VarSet(VAR_TEMP_0, 0); @@ -235,12 +242,12 @@ void sub_81B9DB4(void) sub_81A4C30(); } -void sub_81B9DF8(void) +static void sub_81B9DF8(void) { gSaveBlock2Ptr->frontier.field_E6E = sSlateportTentRewards[Random() % ARRAY_COUNT(sSlateportTentRewards)]; } -void sub_81B9E20(void) +static void sub_81B9E20(void) { if (AddBagItem(gSaveBlock2Ptr->frontier.field_E6E, 1) == TRUE) { @@ -254,15 +261,15 @@ void sub_81B9E20(void) } } -void sub_81B9E78(void) +static void sub_81B9E78(void) { ZeroPlayerPartyMons(); - sub_819A4F8(); + DoBattleFactorySelectScreen(); } -void sub_81B9E88(void) +static void sub_81B9E88(void) { - sub_819DC00(); + DoBattleFactorySwapScreen(); } bool8 sub_81B9E94(void) @@ -273,7 +280,7 @@ bool8 sub_81B9E94(void) // This function was written very...oddly. #ifdef NONMATCHING -void sub_81B9EC0(void) +static void sub_81B9EC0(void) { s32 i, j; u16 currMonId = 0, currSpecies = 0; @@ -335,7 +342,7 @@ void sub_81B9EC0(void) } #else NAKED -void sub_81B9EC0(void) +static void sub_81B9EC0(void) { asm_unified("\n\ push {r4-r7,lr}\n\ @@ -526,3 +533,74 @@ _081BA024:\n\ "); } #endif // NONMATCHING + +static void sub_81BA040(void) +{ + u16 trainerId; + s32 i, j, k; + register const u16 *monSetsPool asm("r9"); // Fix me. Compiler insists on moving that variable into stack. + u16 species[3]; + u16 heldItems[3]; + s32 monPoolCount = 0; + + gFacilityTrainers = gSlateportBattleTentTrainers; + gFacilityTrainerMons = gSlateportBattleTentMons; + + while (1) + { + do + { + trainerId = Random() % 30; + for (i = 0; i < gSaveBlock2Ptr->frontier.field_CB2; i++) + { + if (gSaveBlock2Ptr->frontier.field_CB4[i] == trainerId) + break; + } + } while (i != gSaveBlock2Ptr->frontier.field_CB2); + + gTrainerBattleOpponent_A = trainerId; + while (gFacilityTrainers[gTrainerBattleOpponent_A].btMonPool[monPoolCount] != 0xFFFF) + monPoolCount++; + if (monPoolCount > 8) + break; + monPoolCount = 0; + } + + if (gSaveBlock2Ptr->frontier.field_CB2 < 2) + gSaveBlock2Ptr->frontier.field_CB4[gSaveBlock2Ptr->frontier.field_CB2] = gTrainerBattleOpponent_A; + + monSetsPool = gFacilityTrainers[gTrainerBattleOpponent_A].btMonPool; + i = 0; + while (i != 3) + { + sRandMonSetId = monSetsPool[Random() % monPoolCount]; + for (j = 0; j < 6; j++) + { + if (gFacilityTrainerMons[sRandMonSetId].species == gFacilityTrainerMons[gSaveBlock2Ptr->frontier.field_E70[j].monId].species) + break; + } + if (j != 6) + continue; + + for (k = 0; k < i; k++) + { + if (species[k] == gFacilityTrainerMons[sRandMonSetId].species) + break; + } + if (k != i) + continue; + + for (k = 0; k < i; k++) + { + if (heldItems[k] != 0 && heldItems[k] == gBattleFrontierHeldItems[gFacilityTrainerMons[sRandMonSetId].itemTableId]) + break; + } + if (k != i) + continue; + + species[i] = gFacilityTrainerMons[sRandMonSetId].species; + heldItems[i] = gBattleFrontierHeldItems[gFacilityTrainerMons[sRandMonSetId].itemTableId]; + gUnknown_03006298[i] = sRandMonSetId; + i++; + } +} diff --git a/src/hall_of_fame.c b/src/hall_of_fame.c index b739ba66d3..522d11d4f3 100644 --- a/src/hall_of_fame.c +++ b/src/hall_of_fame.c @@ -28,6 +28,7 @@ #include "overworld.h" #include "menu.h" #include "trainer_pokemon_sprites.h" +#include "data2.h" struct HallofFameMon { @@ -57,10 +58,6 @@ static EWRAM_DATA struct HofGfx *sHofGfxPtr = NULL; extern bool8 gHasHallOfFameRecords; extern struct MusicPlayerInfo gMPlayInfo_BGM; -extern MainCallback gGameContinueCallback; -extern u32 gDamagedSaveSectors; -extern u8 gReservedSpritePaletteCount; -extern const u8 gSpeciesNames[][11]; #define HALL_OF_FAME_MAX_TEAMS 50 @@ -84,10 +81,6 @@ extern const u8 gContestConfetti_Gfx[]; extern const u8 gContestConfetti_Pal[]; extern void sub_8175620(void); -extern u8 TrySavingData(u8); -extern void sub_8197434(u8, u8); -extern u16 sub_818D97C(u8 playerGender, u8); -extern void sub_8198204(u8 *dst, const u8 *src, u8, u8, u8); extern bool8 sub_80F9C30(void); extern void sub_8198314(void); extern void ReturnFromHallOfFamePC(void); @@ -182,20 +175,18 @@ static const u8 sUnknown_085E5388[] = {0, 1, 2, 0}; static const u8 sUnknown_085E538C[] = {0, 2, 3, 0, 4, 5, 0, 0}; -static const struct CompressedSpriteSheet sHallOfFame_ConfettiSpriteSheet = +static const struct CompressedSpriteSheet sHallOfFame_ConfettiSpriteSheet[] = { - gContestConfetti_Gfx, 0x220, 1001 + {gContestConfetti_Gfx, 0x220, 1001}, + {}, }; -static const u8 sUnused0[8] = {}; - -static const struct CompressedSpritePalette sHallOfFame_ConfettiSpritePalette = +static const struct CompressedSpritePalette sHallOfFame_ConfettiSpritePalette[] = { - gContestConfetti_Pal, 1001 + {gContestConfetti_Pal, 1001}, + {}, }; -static const u8 sUnused1[8] = {}; - static const s16 sHallOfFame_MonFullTeamPositions[6][4] = { {120, 210, 120, 40}, @@ -610,7 +601,7 @@ static void Task_Hof_DisplayMon(u8 taskId) gSprites[spriteId].tSpecies = currMon->species; gSprites[spriteId].callback = SpriteCB_GetOnScreenAndAnimate; gTasks[taskId].tMonSpriteId(currMonId) = spriteId; - sub_8197434(0, 1); + sub_8197434(0, TRUE); gTasks[taskId].func = Task_Hof_PrintMonInfoAfterAnimating; } @@ -964,9 +955,9 @@ static void Task_HofPC_DrawSpritesPrintText(u8 taskId) StringExpandPlaceholders(gStringVar4, gText_HOFNumber); if (gTasks[taskId].tCurrTeamNo <= 0) - sub_8198204(gStringVar4, gText_PickCancel, 0, 0, 1); + sub_8198204(gStringVar4, gText_PickCancel, 0, 0, TRUE); else - sub_8198204(gStringVar4, gText_PickNextCancel, 0, 0, 1); + sub_8198204(gStringVar4, gText_PickNextCancel, 0, 0, TRUE); gTasks[taskId].func = Task_HofPC_PrintMonInfo; } @@ -1300,8 +1291,8 @@ static void sub_8174F70(void) ResetAllPicSprites(); FreeAllSpritePalettes(); gReservedSpritePaletteCount = 8; - LoadCompressedObjectPic(&sHallOfFame_ConfettiSpriteSheet); - LoadCompressedObjectPalette(&sHallOfFame_ConfettiSpritePalette); + LoadCompressedObjectPic(sHallOfFame_ConfettiSpriteSheet); + LoadCompressedObjectPalette(sHallOfFame_ConfettiSpritePalette); } static void sub_8174FAC(void) @@ -1517,8 +1508,8 @@ static void sub_8175364(u8 taskId) gSpecialVar_0x8004 = var; gSpecialVar_0x8005 = 0xFFFF; } - LoadCompressedObjectPic(&sHallOfFame_ConfettiSpriteSheet); - LoadCompressedObjectPalette(&sHallOfFame_ConfettiSpritePalette); + LoadCompressedObjectPic(sHallOfFame_ConfettiSpriteSheet); + LoadCompressedObjectPalette(sHallOfFame_ConfettiSpritePalette); data[0]++; break; case 1: diff --git a/src/save.c b/src/save.c index 81731692ef..68427c4c37 100644 --- a/src/save.c +++ b/src/save.c @@ -9,8 +9,6 @@ // for the chunk declarations -extern struct SaveSectionLocation gRamSaveSectionLocations[0xE]; -extern u16 gUnknown_03006294; extern bool8 gSoftResetDisabled; extern u32 gUnknown_0203CF5C; @@ -83,6 +81,9 @@ u16 gUnknown_03006208; u16 gSaveUnusedVar; u16 gSaveFileStatus; void (*gGameContinueCallback)(void); +struct SaveSectionLocation gRamSaveSectionLocations[0xE]; +u16 gSaveUnusedVar2; +u16 gUnknown_03006294; EWRAM_DATA struct SaveSection gSaveDataBuffer = {0}; diff --git a/src/save_failed_screen.c b/src/save_failed_screen.c index 4c1da86206..2587bf10ae 100644 --- a/src/save_failed_screen.c +++ b/src/save_failed_screen.c @@ -4,6 +4,7 @@ #include "palette.h" #include "gpu_regs.h" #include "bg.h" +#include "decompress.h" #include "task.h" #include "window.h" #include "menu.h" @@ -14,16 +15,11 @@ #define MSG_WIN_TOP 12 #define CLOCK_WIN_TOP (MSG_WIN_TOP - 4) -extern void (*gGameContinueCallback)(void); - -extern u32 gDamagedSaveSectors; - extern const u8 gBirchHelpGfx[]; extern const u8 gBirchBagTilemap[]; extern const u8 gBirchGrassTilemap[]; extern const u16 gBirchBagGrassPal[]; extern const u16 gUnknown_0860F074[]; -extern struct SaveSection gSaveDataBuffer; extern u8 gText_SaveFailedCheckingBackup[]; extern u8 gText_BackupMemoryDamaged[]; @@ -32,8 +28,6 @@ extern u8 gText_SaveCompleteGameCannotContinue[]; extern u8 gText_SaveCompletePressA[]; extern u8 gText_GamePlayCannotBeContinued[]; -extern u8 gDecompressionBuffer[]; - // gSaveFailedClockInfo enum enum { diff --git a/sym_bss.txt b/sym_bss.txt index 5f055e8e4b..08b1a58bd1 100644 --- a/sym_bss.txt +++ b/sym_bss.txt @@ -98,9 +98,7 @@ gUnknown_03001290: @ 3001290 gUnknown_03001294: @ 3001294 .space 0x4 -gUnknown_03001298: @ 3001298 - .space 0x4 - + .include "src/battle_tent.o" .include "src/multiboot.o" .space 0x4 @ XXX: why is this needed? diff --git a/sym_common.txt b/sym_common.txt index 96796d9419..282ef7f722 100644 --- a/sym_common.txt +++ b/sym_common.txt @@ -99,14 +99,6 @@ gUnknown_030061EC: @ 30061EC .include "save.o" - .space 0x8 - -gRamSaveSectionLocations: @ 3006220 - .space 0x74 - -gUnknown_03006294: @ 3006294 - .space 0x4 - gUnknown_03006298: @ 3006298 .space 0x8 From 74cc2cf512657f478667f6b57ab595ab546962a1 Mon Sep 17 00:00:00 2001 From: DizzyEggg <jajkodizzy@wp.pl> Date: Mon, 10 Sep 2018 10:18:30 +0200 Subject: [PATCH 194/234] battle factory review changes --- src/battle_factory.c | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/src/battle_factory.c b/src/battle_factory.c index 07c5c9e10d..a83a14e640 100644 --- a/src/battle_factory.c +++ b/src/battle_factory.c @@ -24,6 +24,7 @@ #include "trainer_pokemon_sprites.h" #include "constants/battle_frontier.h" #include "constants/songs.h" +#include "constants/rgb.h" // Select_ refers to the first Pokemon selection screen where you choose 3 Pokemon. // Swap_ refers to the consecutive selection screen where you can keep your Pokemon or swap one with beaten trainer's. @@ -989,7 +990,7 @@ static const struct WindowTemplate sSwap_WindowTemplates[] = DUMMY_WIN_TEMPLATE, }; -static const u16 gUnknown_08610918[] = {0x0, 0x0, 0x7FFF, 0x0, 0x1F}; // Palette. +static const u16 gUnknown_08610918[] = {RGB_BLACK, RGB_BLACK, RGB_WHITE, RGB_BLACK, RGB_RED}; // Palette. static const u8 gUnknown_08610922[] = {0x0, 0x02, 0x0}; static const u8 gUnknown_08610925[] = {0x0, 0x04, 0x0}; @@ -2670,7 +2671,7 @@ static void sub_819D12C(u8 taskId) { s8 i; u8 var_2C; - bool8 r7; + bool8 destroyTask; switch (gTasks[taskId].data[0]) { @@ -2708,20 +2709,20 @@ static void sub_819D12C(u8 taskId) if (gSprites[sFactorySwapScreen->ballSpriteIds[i]].pos1.x > (i * 48) + 72) { gSprites[sFactorySwapScreen->ballSpriteIds[i]].pos1.x = (i * 48) + 72; - r7 = TRUE; + destroyTask = TRUE; } else if (gSprites[sFactorySwapScreen->ballSpriteIds[i]].pos1.x == (i * 48) + 72) { - r7 = TRUE; + destroyTask = TRUE; } else { - r7 = FALSE; + destroyTask = FALSE; } } else { - r7 = FALSE; + destroyTask = FALSE; } if (gSprites[sFactorySwapScreen->ballSpriteIds[i]].pos1.x - 16 > 240) @@ -2736,7 +2737,7 @@ static void sub_819D12C(u8 taskId) gTasks[taskId].data[i + 1] = 1; } } - if (r7 == TRUE) + if (destroyTask == TRUE) DestroyTask(taskId); break; } @@ -2862,7 +2863,7 @@ static void sub_819D588(u8 taskId) switch (gTasks[taskId].data[0]) { case 0: - LoadPalette(gUnknown_08610918, 0xE0, 0xA); + LoadPalette(gUnknown_08610918, 0xE0, sizeof(gUnknown_08610918)); Swap_PrintActionStrings(); PutWindowTilemap(5); gTasks[taskId].data[0]++; @@ -3157,8 +3158,8 @@ static void CB2_InitSwapScreen(void) CpuCopy16(gFrontierFactorySelectMenu_Tilemap, sSwapMenuTilemapBuffer, 0x800); LoadBgTilemap(1, sSwapMenuTilemapBuffer, 0x800, 0); LoadPalette(gFrontierFactorySelectMenu_Pal, 0, 0x40); - LoadPalette(gUnknown_08610918, 0xF0, 10); - LoadPalette(gUnknown_08610918, 0xE0, 10); + LoadPalette(gUnknown_08610918, 0xF0, sizeof(gUnknown_08610918)); + LoadPalette(gUnknown_08610918, 0xE0, sizeof(gUnknown_08610918)); LoadPalette(gUnknown_0861039C, 0x20, 4); gMain.state++; break; @@ -3722,7 +3723,7 @@ static void Swap_PrintMonSpecies3(void) u16 species; u8 x; - LoadPalette(gUnknown_08610918, 0xE0, 0xA); + LoadPalette(gUnknown_08610918, 0xE0, sizeof(gUnknown_08610918)); CpuCopy16(gPlttBufferUnfaded + 240, gPlttBufferFaded + 224, 10); if (sFactorySwapScreen->cursorPos > 2) From d9941cd1a8614cef012696e6549a2fda336fa8c8 Mon Sep 17 00:00:00 2001 From: Diegoisawesome <diego@domoreaweso.me> Date: Mon, 10 Sep 2018 10:25:58 -0500 Subject: [PATCH 195/234] Standardize sprite visibility to boolean --- src/battle_anim.c | 18 ++--- src/battle_bg.c | 8 +- src/battle_controller_link_opponent.c | 2 +- src/battle_controller_link_partner.c | 2 +- src/battle_controller_opponent.c | 2 +- src/battle_controller_player.c | 2 +- src/battle_controller_player_partner.c | 2 +- src/battle_controller_recorded_opponent.c | 2 +- src/battle_controller_recorded_player.c | 2 +- src/battle_controller_wally.c | 2 +- src/battle_dome.c | 56 +++++++------- src/battle_factory.c | 94 +++++++++++------------ src/battle_gfx_sfx_util.c | 2 +- src/battle_interface.c | 18 ++--- src/berry_tag_screen.c | 20 ++--- src/credits.c | 20 ++--- src/egg_hatch.c | 6 +- src/event_object_movement.c | 8 +- src/evolution_graphics.c | 16 ++-- src/evolution_scene.c | 8 +- src/field_effect.c | 30 ++++---- src/item_menu.c | 2 +- src/main_menu.c | 22 +++--- src/menu_helpers.c | 2 +- src/pokemon_animation.c | 8 +- src/rom_8034C54.c | 2 +- src/sprite.c | 2 +- 27 files changed, 179 insertions(+), 179 deletions(-) diff --git a/src/battle_anim.c b/src/battle_anim.c index b6f726897c..2d514c9552 100644 --- a/src/battle_anim.c +++ b/src/battle_anim.c @@ -558,7 +558,7 @@ static void sub_80A40F4(u8 taskId) s16 *selfData = gTasks[taskId].data; u8 battlerSpriteId = gBattlerSpriteIds[selfData[t1_MONBG_BATTLER]]; - gSprites[battlerSpriteId].invisible = 1; + gSprites[battlerSpriteId].invisible = TRUE; if (!selfData[t1_CREATE_ANOTHER_TASK]) { @@ -699,7 +699,7 @@ void sub_80A438C(u8 battlerId, bool8 toBG_2, bool8 setSpriteInvisible) gBattle_BG1_Y = -(gSprites[battlerSpriteId].pos1.y + gSprites[battlerSpriteId].pos2.y) + 0x20; if (setSpriteInvisible) - gSprites[gBattlerSpriteIds[battlerId]].invisible = 1; + gSprites[gBattlerSpriteIds[battlerId]].invisible = TRUE; SetGpuReg(REG_OFFSET_BG1HOFS, gBattle_BG1_X); SetGpuReg(REG_OFFSET_BG1VOFS, gBattle_BG1_Y); @@ -734,7 +734,7 @@ void sub_80A438C(u8 battlerId, bool8 toBG_2, bool8 setSpriteInvisible) gBattle_BG2_Y = -(gSprites[battlerSpriteId].pos1.y + gSprites[battlerSpriteId].pos2.y) + 0x20; if (setSpriteInvisible) - gSprites[gBattlerSpriteIds[battlerId]].invisible = 1; + gSprites[gBattlerSpriteIds[battlerId]].invisible = TRUE; SetGpuReg(REG_OFFSET_BG2HOFS, gBattle_BG2_X); SetGpuReg(REG_OFFSET_BG2VOFS, gBattle_BG2_Y); @@ -866,9 +866,9 @@ static void ScriptCmd_clearmonbg(void) battlerId = gBattleAnimTarget; if (sMonAnimTaskIdArray[0] != 0xFF) - gSprites[gBattlerSpriteIds[battlerId]].invisible = 0; + gSprites[gBattlerSpriteIds[battlerId]].invisible = FALSE; if (animBattlerId > 1 && sMonAnimTaskIdArray[1] != 0xFF) - gSprites[gBattlerSpriteIds[battlerId ^ BIT_FLANK]].invisible = 0; + gSprites[gBattlerSpriteIds[battlerId ^ BIT_FLANK]].invisible = FALSE; else animBattlerId = 0; @@ -973,9 +973,9 @@ static void ScriptCmd_clearmonbg_23(void) battlerId = gBattleAnimTarget; if (IsBattlerSpriteVisible(battlerId)) - gSprites[gBattlerSpriteIds[battlerId]].invisible = 0; + gSprites[gBattlerSpriteIds[battlerId]].invisible = FALSE; if (animBattlerId > 1 && IsBattlerSpriteVisible(battlerId ^ BIT_FLANK)) - gSprites[gBattlerSpriteIds[battlerId ^ BIT_FLANK]].invisible = 0; + gSprites[gBattlerSpriteIds[battlerId ^ BIT_FLANK]].invisible = FALSE; else animBattlerId = 0; @@ -1745,7 +1745,7 @@ static void ScriptCmd_invisible(void) spriteId = GetAnimBattlerSpriteId(sBattleAnimScriptPtr[1]); if (spriteId != 0xFF) - gSprites[spriteId].invisible = 1; + gSprites[spriteId].invisible = TRUE; sBattleAnimScriptPtr += 2; } @@ -1756,7 +1756,7 @@ static void ScriptCmd_visible(void) spriteId = GetAnimBattlerSpriteId(sBattleAnimScriptPtr[1]); if (spriteId != 0xFF) - gSprites[spriteId].invisible = 0; + gSprites[spriteId].invisible = FALSE; sBattleAnimScriptPtr += 2; } diff --git a/src/battle_bg.c b/src/battle_bg.c index 999b64a542..fb3e52eacd 100644 --- a/src/battle_bg.c +++ b/src/battle_bg.c @@ -412,8 +412,8 @@ void sub_8035D74(u8 taskId) gPlttBufferUnfaded[palId * 16 + 0x10F] = gPlttBufferFaded[palId * 16 + 0x10F] = 0x7FFF; gBattleStruct->field_7D = CreateSprite(&gUnknown_0831A9D0, 111, 80, 0); gBattleStruct->field_7E = CreateSprite(&gUnknown_0831A9E8, 129, 80, 0); - gSprites[gBattleStruct->field_7D].invisible = 1; - gSprites[gBattleStruct->field_7E].invisible = 1; + gSprites[gBattleStruct->field_7D].invisible = TRUE; + gSprites[gBattleStruct->field_7E].invisible = TRUE; gTasks[taskId].data[0]++; break; case 2: @@ -444,8 +444,8 @@ void sub_8035D74(u8 taskId) PlaySE(SE_W231); DestroyTask(taskId); - gSprites[gBattleStruct->field_7D].invisible = 0; - gSprites[gBattleStruct->field_7E].invisible = 0; + gSprites[gBattleStruct->field_7D].invisible = FALSE; + gSprites[gBattleStruct->field_7E].invisible = FALSE; gSprites[gBattleStruct->field_7E].oam.tileNum += 0x40; gSprites[gBattleStruct->field_7D].data[0] = 0; gSprites[gBattleStruct->field_7E].data[0] = 1; diff --git a/src/battle_controller_link_opponent.c b/src/battle_controller_link_opponent.c index d786dacd14..637b8c7027 100644 --- a/src/battle_controller_link_opponent.c +++ b/src/battle_controller_link_opponent.c @@ -442,7 +442,7 @@ static void DoHitAnimBlinkSpriteEffect(void) if (gSprites[spriteId].data[1] == 32) { gSprites[spriteId].data[1] = 0; - gSprites[spriteId].invisible = 0; + gSprites[spriteId].invisible = FALSE; gDoingBattleAnim = FALSE; LinkOpponentBufferExecCompleted(); } diff --git a/src/battle_controller_link_partner.c b/src/battle_controller_link_partner.c index 9867c14e4d..bfaaf9e82c 100644 --- a/src/battle_controller_link_partner.c +++ b/src/battle_controller_link_partner.c @@ -332,7 +332,7 @@ static void DoHitAnimBlinkSpriteEffect(void) if (gSprites[spriteId].data[1] == 32) { gSprites[spriteId].data[1] = 0; - gSprites[spriteId].invisible = 0; + gSprites[spriteId].invisible = FALSE; gDoingBattleAnim = FALSE; LinkPartnerBufferExecCompleted(); } diff --git a/src/battle_controller_opponent.c b/src/battle_controller_opponent.c index 6148587f86..3c126aeec8 100644 --- a/src/battle_controller_opponent.c +++ b/src/battle_controller_opponent.c @@ -435,7 +435,7 @@ static void DoHitAnimBlinkSpriteEffect(void) if (gSprites[spriteId].data[1] == 32) { gSprites[spriteId].data[1] = 0; - gSprites[spriteId].invisible = 0; + gSprites[spriteId].invisible = FALSE; gDoingBattleAnim = FALSE; OpponentBufferExecCompleted(); } diff --git a/src/battle_controller_player.c b/src/battle_controller_player.c index 7f038a0c3f..57a4efa9ff 100644 --- a/src/battle_controller_player.c +++ b/src/battle_controller_player.c @@ -1398,7 +1398,7 @@ static void DoHitAnimBlinkSpriteEffect(void) if (gSprites[spriteId].data[1] == 32) { gSprites[spriteId].data[1] = 0; - gSprites[spriteId].invisible = 0; + gSprites[spriteId].invisible = FALSE; gDoingBattleAnim = FALSE; PlayerBufferExecCompleted(); } diff --git a/src/battle_controller_player_partner.c b/src/battle_controller_player_partner.c index 601b8dcc1e..7795c56566 100644 --- a/src/battle_controller_player_partner.c +++ b/src/battle_controller_player_partner.c @@ -520,7 +520,7 @@ static void DoHitAnimBlinkSpriteEffect(void) if (gSprites[spriteId].data[1] == 32) { gSprites[spriteId].data[1] = 0; - gSprites[spriteId].invisible = 0; + gSprites[spriteId].invisible = FALSE; gDoingBattleAnim = FALSE; PlayerPartnerBufferExecCompleted(); } diff --git a/src/battle_controller_recorded_opponent.c b/src/battle_controller_recorded_opponent.c index affcb09ab8..963c535dbb 100644 --- a/src/battle_controller_recorded_opponent.c +++ b/src/battle_controller_recorded_opponent.c @@ -425,7 +425,7 @@ static void DoHitAnimBlinkSpriteEffect(void) if (gSprites[spriteId].data[1] == 32) { gSprites[spriteId].data[1] = 0; - gSprites[spriteId].invisible = 0; + gSprites[spriteId].invisible = FALSE; gDoingBattleAnim = FALSE; RecordedOpponentBufferExecCompleted(); } diff --git a/src/battle_controller_recorded_player.c b/src/battle_controller_recorded_player.c index 4f224bc67e..1a043573fb 100644 --- a/src/battle_controller_recorded_player.c +++ b/src/battle_controller_recorded_player.c @@ -415,7 +415,7 @@ static void DoHitAnimBlinkSpriteEffect(void) if (gSprites[spriteId].data[1] == 32) { gSprites[spriteId].data[1] = 0; - gSprites[spriteId].invisible = 0; + gSprites[spriteId].invisible = FALSE; gDoingBattleAnim = FALSE; RecordedPlayerBufferExecCompleted(); } diff --git a/src/battle_controller_wally.c b/src/battle_controller_wally.c index 4faf78681c..747aa29878 100644 --- a/src/battle_controller_wally.c +++ b/src/battle_controller_wally.c @@ -371,7 +371,7 @@ static void DoHitAnimBlinkSpriteEffect(void) if (gSprites[spriteId].data[1] == 32) { gSprites[spriteId].data[1] = 0; - gSprites[spriteId].invisible = 0; + gSprites[spriteId].invisible = FALSE; gDoingBattleAnim = FALSE; WallyBufferExecCompleted(); } diff --git a/src/battle_dome.c b/src/battle_dome.c index 0815b6a9b3..82384b43a7 100644 --- a/src/battle_dome.c +++ b/src/battle_dome.c @@ -3622,7 +3622,7 @@ static void sub_8190400(u8 taskId) gSprites[r7].data[0] = i; gSprites[r7].data[1] = 0; if (r9 == 1) - gSprites[r7].invisible = 1; + gSprites[r7].invisible = TRUE; r7 = CreateSprite(&gUnknown_0860D050, 234, 80, 0); StartSpriteAnim(&gSprites[r7], 1); @@ -3644,7 +3644,7 @@ static void SpriteCb_TrainerIconCardScrollUp(struct Sprite *sprite) if (sprite->data[0] != 0) { if (sprite->pos1.y >= -32) - sprite->invisible = 0; + sprite->invisible = FALSE; if (++sprite->data[1] == 40) sprite->callback = SpriteCallbackDummy; } @@ -3664,7 +3664,7 @@ static void SpriteCb_TrainerIconCardScrollDown(struct Sprite *sprite) if (sprite->data[0] != 0) { if (sprite->pos1.y <= 192) - sprite->invisible = 0; + sprite->invisible = FALSE; if (++sprite->data[1] == 40) sprite->callback = SpriteCallbackDummy; } @@ -3684,7 +3684,7 @@ static void SpriteCb_TrainerIconCardScrollLeft(struct Sprite *sprite) if (sprite->data[0] != 0) { if (sprite->pos1.x >= -32) - sprite->invisible = 0; + sprite->invisible = FALSE; if (++sprite->data[1] == 64) sprite->callback = SpriteCallbackDummy; } @@ -3704,7 +3704,7 @@ static void SpriteCb_TrainerIconCardScrollRight(struct Sprite *sprite) if (sprite->data[0] != 0) { if (sprite->pos1.x <= 272) - sprite->invisible = 0; + sprite->invisible = FALSE; if (++sprite->data[1] == 64) sprite->callback = SpriteCallbackDummy; } @@ -3734,7 +3734,7 @@ static void SpriteCb_MonIconCardScrollUp(struct Sprite *sprite) if (sprite->data[0] != 0) { if (sprite->pos1.y >= -16) - sprite->invisible = 0; + sprite->invisible = FALSE; if (++sprite->data[1] == 40) sprite->callback = SpriteCb_MonIcon; } @@ -3756,7 +3756,7 @@ static void SpriteCb_MonIconCardScrollDown(struct Sprite *sprite) if (sprite->data[0] != 0) { if (sprite->pos1.y <= 176) - sprite->invisible = 0; + sprite->invisible = FALSE; if (++sprite->data[1] == 40) sprite->callback = SpriteCb_MonIcon; } @@ -3778,7 +3778,7 @@ static void SpriteCb_MonIconCardScrollLeft(struct Sprite *sprite) if (sprite->data[0] != 0) { if (sprite->pos1.x >= -16) - sprite->invisible = 0; + sprite->invisible = FALSE; if (++sprite->data[1] == 64) sprite->callback = SpriteCb_MonIcon; } @@ -3800,7 +3800,7 @@ static void SpriteCb_MonIconCardScrollRight(struct Sprite *sprite) if (sprite->data[0] != 0) { if (sprite->pos1.x <= 256) - sprite->invisible = 0; + sprite->invisible = FALSE; if (++sprite->data[1] == 64) sprite->callback = SpriteCb_MonIcon; } @@ -3828,29 +3828,29 @@ static void sub_8190B40(struct Sprite *sprite) if ((gSaveBlock2Ptr->frontier.domeTrainers[tournmanetTrainerId].isEliminated && sBattleDomeStruct->unk_10 - 1 < gSaveBlock2Ptr->frontier.domeTrainers[tournmanetTrainerId].eliminatedAt)) { - sprite->invisible = 0; + sprite->invisible = FALSE; } else if (!gSaveBlock2Ptr->frontier.domeTrainers[tournmanetTrainerId].isEliminated && sBattleDomeStruct->unk_10 - 1 < r12) { - sprite->invisible = 0; + sprite->invisible = FALSE; } else { if (gTasks[taskId1].data[0] == 2) - sprite->invisible = 1; + sprite->invisible = TRUE; } } else { if (sBattleDomeStruct->unk_10 != 0) { - sprite->invisible = 0; + sprite->invisible = FALSE; } else { if (gTasks[taskId1].data[0] == 2) - sprite->invisible = 1; + sprite->invisible = TRUE; } } } @@ -3861,23 +3861,23 @@ static void sub_8190B40(struct Sprite *sprite) if (sBattleDomeStruct->unk_10 > 1) { if (gTasks[taskId1].data[0] == 2) - sprite->invisible = 1; + sprite->invisible = TRUE; } else { - sprite->invisible = 0; + sprite->invisible = FALSE; } } else { if (sBattleDomeStruct->unk_10 != 0) { - sprite->invisible = 0; + sprite->invisible = FALSE; } else { if (gTasks[taskId1].data[0] == 2) - sprite->invisible = 1; + sprite->invisible = TRUE; } } } @@ -3892,11 +3892,11 @@ static void sub_8190C6C(struct Sprite *sprite) if (sBattleDomeStruct->unk_10 != 0) { if (gTasks[taskId1].data[0] == 2) - sprite->invisible = 1; + sprite->invisible = TRUE; } else { - sprite->invisible = 0; + sprite->invisible = FALSE; } } else @@ -3904,11 +3904,11 @@ static void sub_8190C6C(struct Sprite *sprite) if (sBattleDomeStruct->unk_10 != 1) { if (gTasks[taskId1].data[0] == 2) - sprite->invisible = 1; + sprite->invisible = TRUE; } else { - sprite->invisible = 0; + sprite->invisible = FALSE; } } } @@ -4770,7 +4770,7 @@ static void DisplayTrainerInfoOnCard(u8 flags, u8 trainerTournamentId) sBattleDomeStruct->arr[arrId] = CreateTrainerPicSprite(GetFrontierTrainerFrontSpriteId(trainerId), TRUE, x + 48, y + 64, palSlot + 12, 0xFFFF); if (flags & 0x1E) - gSprites[sBattleDomeStruct->arr[arrId]].invisible = 1; + gSprites[sBattleDomeStruct->arr[arrId]].invisible = TRUE; for (i = 0; i < 3; i++) { @@ -4803,7 +4803,7 @@ static void DisplayTrainerInfoOnCard(u8 flags, u8 trainerTournamentId) } if (flags & 0x1E) - gSprites[sBattleDomeStruct->arr[2 + i + arrId]].invisible = 1; + gSprites[sBattleDomeStruct->arr[2 + i + arrId]].invisible = TRUE; } textPrinter.fontId = 2; textPrinter.x = 0; @@ -5208,7 +5208,7 @@ static void DisplayMatchInfoOnCard(u8 flags, u8 matchNo) sBattleDomeStruct->arr[arrId] = CreateTrainerPicSprite(GetFrontierTrainerFrontSpriteId(trainerIds[0]), TRUE, x + 48, y + 88, palSlot + 12, 0xFFFF); if (flags & 0x1E) - gSprites[sBattleDomeStruct->arr[arrId]].invisible = 1; + gSprites[sBattleDomeStruct->arr[arrId]].invisible = TRUE; if (lost[0]) gSprites[sBattleDomeStruct->arr[arrId]].oam.paletteNum = 3; @@ -5221,7 +5221,7 @@ static void DisplayMatchInfoOnCard(u8 flags, u8 matchNo) sBattleDomeStruct->arr[1 + arrId] = CreateTrainerPicSprite(GetFrontierTrainerFrontSpriteId(trainerIds[1]), TRUE, x + 192, y + 88, palSlot + 13, 0xFFFF); if (flags & 0x1E) - gSprites[sBattleDomeStruct->arr[1 + arrId]].invisible = 1; + gSprites[sBattleDomeStruct->arr[1 + arrId]].invisible = TRUE; if (lost[1]) gSprites[sBattleDomeStruct->arr[1 + arrId]].oam.paletteNum = 3; @@ -5257,7 +5257,7 @@ static void DisplayMatchInfoOnCard(u8 flags, u8 matchNo) } if (flags & 0x1E) - gSprites[sBattleDomeStruct->arr[2 + i + arrId]].invisible = 1; + gSprites[sBattleDomeStruct->arr[2 + i + arrId]].invisible = TRUE; if (lost[0]) { gSprites[sBattleDomeStruct->arr[2 + i + arrId]].oam.paletteNum = 3; @@ -5297,7 +5297,7 @@ static void DisplayMatchInfoOnCard(u8 flags, u8 matchNo) } if (flags & 0x1E) - gSprites[sBattleDomeStruct->arr[5 + i + arrId]].invisible = 1; + gSprites[sBattleDomeStruct->arr[5 + i + arrId]].invisible = TRUE; if (lost[1]) { gSprites[sBattleDomeStruct->arr[5 + i + arrId]].oam.paletteNum = 3; diff --git a/src/battle_factory.c b/src/battle_factory.c index a83a14e640..36c5ed2e8e 100644 --- a/src/battle_factory.c +++ b/src/battle_factory.c @@ -1273,8 +1273,8 @@ static void Select_InitAllSprites(void) sFactorySelectScreen->menuCursor1SpriteId = CreateSprite(&gUnknown_08610608, 176, 112, 0); sFactorySelectScreen->menuCursor2SpriteId = CreateSprite(&gUnknown_08610620, 176, 144, 0); - gSprites[sFactorySelectScreen->menuCursor1SpriteId].invisible = 1; - gSprites[sFactorySelectScreen->menuCursor2SpriteId].invisible = 1; + gSprites[sFactorySelectScreen->menuCursor1SpriteId].invisible = TRUE; + gSprites[sFactorySelectScreen->menuCursor2SpriteId].invisible = TRUE; gSprites[sFactorySelectScreen->menuCursor1SpriteId].centerToCornerVecX = 0; gSprites[sFactorySelectScreen->menuCursor1SpriteId].centerToCornerVecY = 0; @@ -1767,8 +1767,8 @@ static void Select_ShowMenuOptions(void) gSprites[sFactorySelectScreen->menuCursor2SpriteId].pos1.x = 208; gSprites[sFactorySelectScreen->menuCursor2SpriteId].pos1.y = (sFactorySelectScreen->menuCursorPos * 16) + 112; - gSprites[sFactorySelectScreen->menuCursor1SpriteId].invisible = 0; - gSprites[sFactorySelectScreen->menuCursor2SpriteId].invisible = 0; + gSprites[sFactorySelectScreen->menuCursor1SpriteId].invisible = FALSE; + gSprites[sFactorySelectScreen->menuCursor2SpriteId].invisible = FALSE; Select_PrintMenuOptions(); } @@ -1782,16 +1782,16 @@ static void Select_ShowYesNoOptions(void) gSprites[sFactorySelectScreen->menuCursor2SpriteId].pos1.x = 208; gSprites[sFactorySelectScreen->menuCursor2SpriteId].pos1.y = 112; - gSprites[sFactorySelectScreen->menuCursor1SpriteId].invisible = 0; - gSprites[sFactorySelectScreen->menuCursor2SpriteId].invisible = 0; + gSprites[sFactorySelectScreen->menuCursor1SpriteId].invisible = FALSE; + gSprites[sFactorySelectScreen->menuCursor2SpriteId].invisible = FALSE; Select_PrintYesNoOptions(); } static void sub_819B958(u8 windowId) { - gSprites[sFactorySelectScreen->menuCursor1SpriteId].invisible = 1; - gSprites[sFactorySelectScreen->menuCursor2SpriteId].invisible = 1; + gSprites[sFactorySelectScreen->menuCursor1SpriteId].invisible = TRUE; + gSprites[sFactorySelectScreen->menuCursor2SpriteId].invisible = TRUE; FillWindowPixelBuffer(windowId, 0); CopyWindowToVram(windowId, 2); ClearWindowTilemap(windowId); @@ -1977,7 +1977,7 @@ static void Select_ShowSummaryMonSprite(void) gSprites[sFactorySelectScreen->unk294[1].field0].centerToCornerVecX = 0; gSprites[sFactorySelectScreen->unk294[1].field0].centerToCornerVecY = 0; - gSprites[sFactorySelectScreen->unk294[1].field1].invisible = 1; + gSprites[sFactorySelectScreen->unk294[1].field1].invisible = TRUE; } static void Select_ShowChosenMonsSprites(void) @@ -2013,9 +2013,9 @@ static void sub_819C040(struct Sprite *sprite) && gSprites[sFactorySelectScreen->unk294[0].field1].affineAnimEnded && gSprites[sFactorySelectScreen->unk294[2].field1].affineAnimEnded) { - sprite->invisible = 1; - gSprites[sFactorySelectScreen->unk294[0].field1].invisible = 1; - gSprites[sFactorySelectScreen->unk294[2].field1].invisible = 1; + sprite->invisible = TRUE; + gSprites[sFactorySelectScreen->unk294[0].field1].invisible = TRUE; + gSprites[sFactorySelectScreen->unk294[2].field1].invisible = TRUE; taskId = CreateTask(sub_819C1D0, 1); gTasks[taskId].func(taskId); @@ -2091,11 +2091,11 @@ static void sub_819C2D4(u8 taskId) { default: HideBg(3); - gSprites[sFactorySelectScreen->unk294[1].field1].invisible = 0; + gSprites[sFactorySelectScreen->unk294[1].field1].invisible = FALSE; gSprites[sFactorySelectScreen->unk294[1].field1].callback = sub_819C100; - gSprites[sFactorySelectScreen->unk294[0].field1].invisible = 0; + gSprites[sFactorySelectScreen->unk294[0].field1].invisible = FALSE; gSprites[sFactorySelectScreen->unk294[0].field1].callback = SpriteCallbackDummy; - gSprites[sFactorySelectScreen->unk294[2].field1].invisible = 0; + gSprites[sFactorySelectScreen->unk294[2].field1].invisible = FALSE; gSprites[sFactorySelectScreen->unk294[2].field1].callback = SpriteCallbackDummy; StartSpriteAffineAnim(&gSprites[sFactorySelectScreen->unk294[1].field1], 1); StartSpriteAffineAnim(&gSprites[sFactorySelectScreen->unk294[0].field1], 1); @@ -3018,7 +3018,7 @@ static void sub_819D770(u8 taskId) else Swap_PrintOnInfoWindow(gText_SelectPkmnToAccept); if (sFactorySwapScreen->cursorPos < 3) - gSprites[sFactorySwapScreen->cursorSpriteId].invisible = 0; + gSprites[sFactorySwapScreen->cursorSpriteId].invisible = FALSE; Swap_PrintMonCategory(); gTasks[taskId].data[0]++; break; @@ -3048,7 +3048,7 @@ static void sub_819D9EC(u8 taskId) break; case 1: sub_819EADC(); - gSprites[sFactorySwapScreen->cursorSpriteId].invisible = 1; + gSprites[sFactorySwapScreen->cursorSpriteId].invisible = TRUE; gTasks[taskId].data[0]++; break; case 2: @@ -3068,7 +3068,7 @@ static void sub_819D9EC(u8 taskId) { Swap_InitActions(ACTIONS_PLAYER_SCREEN); for (i = 0; i < 3; i++) - gSprites[sFactorySwapScreen->unk8[1][i]].invisible = 1; + gSprites[sFactorySwapScreen->unk8[1][i]].invisible = TRUE; } gSprites[sFactorySwapScreen->cursorSpriteId].pos1.x = gSprites[sFactorySwapScreen->ballSpriteIds[sFactorySwapScreen->cursorPos]].pos1.x; gTasks[sFactorySwapScreen->fadeSpeciesNameTaskId].func = Task_SwapFadeSpeciesName; @@ -3279,8 +3279,8 @@ static void Swap_InitAllSprites(void) sFactorySwapScreen->cursorSpriteId = CreateSprite(&gUnknown_0861084C, gSprites[sFactorySwapScreen->ballSpriteIds[sFactorySwapScreen->cursorPos]].pos1.x, 88, 0); sFactorySwapScreen->menuCursor1SpriteId = CreateSprite(&gUnknown_08610864, 176, 112, 0); sFactorySwapScreen->menuCursor2SpriteId = CreateSprite(&gUnknown_0861087C, 176, 144, 0); - gSprites[sFactorySwapScreen->menuCursor1SpriteId].invisible = 1; - gSprites[sFactorySwapScreen->menuCursor2SpriteId].invisible = 1; + gSprites[sFactorySwapScreen->menuCursor1SpriteId].invisible = TRUE; + gSprites[sFactorySwapScreen->menuCursor2SpriteId].invisible = TRUE; gSprites[sFactorySwapScreen->menuCursor1SpriteId].centerToCornerVecX = 0; gSprites[sFactorySwapScreen->menuCursor1SpriteId].centerToCornerVecY = 0; gSprites[sFactorySwapScreen->menuCursor2SpriteId].centerToCornerVecX = 0; @@ -3339,18 +3339,18 @@ static void Swap_InitAllSprites(void) gSprites[sFactorySwapScreen->unkE[i][1]].centerToCornerVecX = 0; gSprites[sFactorySwapScreen->unkE[i][1]].centerToCornerVecY = 0; - gSprites[sFactorySwapScreen->unk8[i][0]].invisible = 1; - gSprites[sFactorySwapScreen->unk8[i][1]].invisible = 1; - gSprites[sFactorySwapScreen->unk8[i][2]].invisible = 1; - gSprites[sFactorySwapScreen->unkE[i][0]].invisible = 1; - gSprites[sFactorySwapScreen->unkE[i][1]].invisible = 1; + gSprites[sFactorySwapScreen->unk8[i][0]].invisible = TRUE; + gSprites[sFactorySwapScreen->unk8[i][1]].invisible = TRUE; + gSprites[sFactorySwapScreen->unk8[i][2]].invisible = TRUE; + gSprites[sFactorySwapScreen->unkE[i][0]].invisible = TRUE; + gSprites[sFactorySwapScreen->unkE[i][1]].invisible = TRUE; } - gSprites[sFactorySwapScreen->unkE[0][0]].invisible = 0; - gSprites[sFactorySwapScreen->unkE[0][1]].invisible = 0; - gSprites[sFactorySwapScreen->unk8[0][0]].invisible = 0; - gSprites[sFactorySwapScreen->unk8[0][1]].invisible = 0; - gSprites[sFactorySwapScreen->unk8[0][2]].invisible = 0; + gSprites[sFactorySwapScreen->unkE[0][0]].invisible = FALSE; + gSprites[sFactorySwapScreen->unkE[0][1]].invisible = FALSE; + gSprites[sFactorySwapScreen->unk8[0][0]].invisible = FALSE; + gSprites[sFactorySwapScreen->unk8[0][1]].invisible = FALSE; + gSprites[sFactorySwapScreen->unk8[0][2]].invisible = FALSE; } static void Swap_DestroyAllSprites(void) @@ -3378,13 +3378,13 @@ static void Swap_HandleActionCursorChange(u8 cursorId) { if (cursorId < 3) { - gSprites[sFactorySwapScreen->cursorSpriteId].invisible = 0; + gSprites[sFactorySwapScreen->cursorSpriteId].invisible = FALSE; sub_819E8EC(); gSprites[sFactorySwapScreen->cursorSpriteId].pos1.x = gSprites[sFactorySwapScreen->ballSpriteIds[cursorId]].pos1.x; } else { - gSprites[sFactorySwapScreen->cursorSpriteId].invisible = 1; + gSprites[sFactorySwapScreen->cursorSpriteId].invisible = TRUE; sub_819E838(sFactorySwapScreen->actionsData[cursorId].id); } } @@ -3490,15 +3490,15 @@ static void sub_819E838(u8 arg0) { if (arg0 == 2) { - gSprites[sFactorySwapScreen->unk8[1][i]].invisible = 0; + gSprites[sFactorySwapScreen->unk8[1][i]].invisible = FALSE; if (i < 2) - gSprites[sFactorySwapScreen->unkE[1][i]].invisible = 1; + gSprites[sFactorySwapScreen->unkE[1][i]].invisible = TRUE; } else if (arg0 == 3) { if (i < 2) - gSprites[sFactorySwapScreen->unkE[1][i]].invisible = 0; - gSprites[sFactorySwapScreen->unk8[1][i]].invisible = 1; + gSprites[sFactorySwapScreen->unkE[1][i]].invisible = FALSE; + gSprites[sFactorySwapScreen->unk8[1][i]].invisible = TRUE; } } } @@ -3509,9 +3509,9 @@ static void sub_819E8EC(void) for (i = 0; i < 3; i++) { - gSprites[sFactorySwapScreen->unk8[1][i]].invisible = 1; + gSprites[sFactorySwapScreen->unk8[1][i]].invisible = TRUE; if (i < 2) - gSprites[sFactorySwapScreen->unkE[1][i]].invisible = 1; + gSprites[sFactorySwapScreen->unkE[1][i]].invisible = TRUE; } } @@ -3527,8 +3527,8 @@ static void Swap_ShowMenuOptions(void) gSprites[sFactorySwapScreen->menuCursor2SpriteId].pos1.x = 208; gSprites[sFactorySwapScreen->menuCursor2SpriteId].pos1.y = (sFactorySwapScreen->menuCursorPos * 16) + 112; - gSprites[sFactorySwapScreen->menuCursor1SpriteId].invisible = 0; - gSprites[sFactorySwapScreen->menuCursor2SpriteId].invisible = 0; + gSprites[sFactorySwapScreen->menuCursor1SpriteId].invisible = FALSE; + gSprites[sFactorySwapScreen->menuCursor2SpriteId].invisible = FALSE; Swap_PrintMenuOptions(); } @@ -3542,16 +3542,16 @@ static void Swap_ShowYesNoOptions(void) gSprites[sFactorySwapScreen->menuCursor2SpriteId].pos1.x = 208; gSprites[sFactorySwapScreen->menuCursor2SpriteId].pos1.y = 112; - gSprites[sFactorySwapScreen->menuCursor1SpriteId].invisible = 0; - gSprites[sFactorySwapScreen->menuCursor2SpriteId].invisible = 0; + gSprites[sFactorySwapScreen->menuCursor1SpriteId].invisible = FALSE; + gSprites[sFactorySwapScreen->menuCursor2SpriteId].invisible = FALSE; Swap_PrintYesNoOptions(); } static void sub_819EA64(u8 windowId) { - gSprites[sFactorySwapScreen->menuCursor1SpriteId].invisible = 1; - gSprites[sFactorySwapScreen->menuCursor2SpriteId].invisible = 1; + gSprites[sFactorySwapScreen->menuCursor1SpriteId].invisible = TRUE; + gSprites[sFactorySwapScreen->menuCursor2SpriteId].invisible = TRUE; FillWindowPixelBuffer(windowId, 0); CopyWindowToVram(windowId, 2); ClearWindowTilemap(windowId); @@ -3900,7 +3900,7 @@ static void Swap_ShowSummaryMonSprite(void) gSprites[sFactorySwapScreen->unk2C.field0].centerToCornerVecX = 0; gSprites[sFactorySwapScreen->unk2C.field0].centerToCornerVecY = 0; - gSprites[sFactorySwapScreen->unk2C.field1].invisible = 1; + gSprites[sFactorySwapScreen->unk2C.field1].invisible = TRUE; } static void sub_819F3F8(struct UnkFactoryStruct arg0, bool8 *arg1, bool8 swapScreen) @@ -3984,7 +3984,7 @@ static void sub_819F600(struct Sprite *sprite) if (sprite->affineAnimEnded) { - sprite->invisible = 1; + sprite->invisible = TRUE; taskId = CreateTask(sub_819F69C, 1); gTasks[taskId].data[7] = sprite->data[7]; gTasks[taskId].func(taskId); @@ -4058,7 +4058,7 @@ static void sub_819F7B4(u8 taskId) default: HideBg(3); gSprites[task->data[6]].data[7] = task->data[7]; - gSprites[task->data[6]].invisible = 0; + gSprites[task->data[6]].invisible = FALSE; gSprites[task->data[6]].callback = sub_819F654; StartSpriteAffineAnim(&gSprites[task->data[6]], 1); ClearGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_WIN0_ON); diff --git a/src/battle_gfx_sfx_util.c b/src/battle_gfx_sfx_util.c index 8f17d488e5..23ed8a19f4 100644 --- a/src/battle_gfx_sfx_util.c +++ b/src/battle_gfx_sfx_util.c @@ -1173,7 +1173,7 @@ void SpriteCB_EnemyShadow(struct Sprite *shadowSprite) void SpriteCB_SetInvisible(struct Sprite *sprite) { - sprite->invisible = 1; + sprite->invisible = TRUE; } void SetBattlerShadowSpriteCallback(u8 battlerId, u16 species) diff --git a/src/battle_interface.c b/src/battle_interface.c index e45af2bf09..d2750bf9d4 100644 --- a/src/battle_interface.c +++ b/src/battle_interface.c @@ -974,13 +974,13 @@ u8 CreateBattlerHealthboxSprites(u8 battlerId) gSprites[healthboxLeftSpriteId].hMain_HealthBarSpriteId = healthbarSpriteId; gSprites[healthboxLeftSpriteId].hMain_Battler = battlerId; - gSprites[healthboxLeftSpriteId].invisible = 1; + gSprites[healthboxLeftSpriteId].invisible = TRUE; - gSprites[healthboxRightSpriteId].invisible = 1; + gSprites[healthboxRightSpriteId].invisible = TRUE; healthBarSpritePtr->hBar_HealthBoxSpriteId = healthboxLeftSpriteId; healthBarSpritePtr->hBar_Data6 = data6; - healthBarSpritePtr->invisible = 1; + healthBarSpritePtr->invisible = TRUE; return healthboxLeftSpriteId; } @@ -1058,16 +1058,16 @@ void SetBattleBarStruct(u8 battlerId, u8 healthboxSpriteId, s32 maxVal, s32 oldV void SetHealthboxSpriteInvisible(u8 healthboxSpriteId) { - gSprites[healthboxSpriteId].invisible = 1; - gSprites[gSprites[healthboxSpriteId].hMain_HealthBarSpriteId].invisible = 1; - gSprites[gSprites[healthboxSpriteId].oam.affineParam].invisible = 1; + gSprites[healthboxSpriteId].invisible = TRUE; + gSprites[gSprites[healthboxSpriteId].hMain_HealthBarSpriteId].invisible = TRUE; + gSprites[gSprites[healthboxSpriteId].oam.affineParam].invisible = TRUE; } void SetHealthboxSpriteVisible(u8 healthboxSpriteId) { - gSprites[healthboxSpriteId].invisible = 0; - gSprites[gSprites[healthboxSpriteId].hMain_HealthBarSpriteId].invisible = 0; - gSprites[gSprites[healthboxSpriteId].oam.affineParam].invisible = 0; + gSprites[healthboxSpriteId].invisible = FALSE; + gSprites[gSprites[healthboxSpriteId].hMain_HealthBarSpriteId].invisible = FALSE; + gSprites[gSprites[healthboxSpriteId].oam.affineParam].invisible = FALSE; } static void UpdateSpritePos(u8 spriteId, s16 x, s16 y) diff --git a/src/berry_tag_screen.c b/src/berry_tag_screen.c index d30af944e0..07fb6bd9e9 100644 --- a/src/berry_tag_screen.c +++ b/src/berry_tag_screen.c @@ -477,29 +477,29 @@ static void SetFlavorCirclesVisiblity(void) const struct Berry *berry = GetBerryInfo(sBerryTag->berryId); if (berry->spicy) - gSprites[sBerryTag->flavorCircleIds[FLAVOR_SPICY]].invisible = 0; + gSprites[sBerryTag->flavorCircleIds[FLAVOR_SPICY]].invisible = FALSE; else - gSprites[sBerryTag->flavorCircleIds[FLAVOR_SPICY]].invisible = 1; + gSprites[sBerryTag->flavorCircleIds[FLAVOR_SPICY]].invisible = TRUE; if (berry->dry) - gSprites[sBerryTag->flavorCircleIds[FLAVOR_DRY]].invisible = 0; + gSprites[sBerryTag->flavorCircleIds[FLAVOR_DRY]].invisible = FALSE; else - gSprites[sBerryTag->flavorCircleIds[FLAVOR_DRY]].invisible = 1; + gSprites[sBerryTag->flavorCircleIds[FLAVOR_DRY]].invisible = TRUE; if (berry->sweet) - gSprites[sBerryTag->flavorCircleIds[FLAVOR_SWEET]].invisible = 0; + gSprites[sBerryTag->flavorCircleIds[FLAVOR_SWEET]].invisible = FALSE; else - gSprites[sBerryTag->flavorCircleIds[FLAVOR_SWEET]].invisible = 1; + gSprites[sBerryTag->flavorCircleIds[FLAVOR_SWEET]].invisible = TRUE; if (berry->bitter) - gSprites[sBerryTag->flavorCircleIds[FLAVOR_BITTER]].invisible = 0; + gSprites[sBerryTag->flavorCircleIds[FLAVOR_BITTER]].invisible = FALSE; else - gSprites[sBerryTag->flavorCircleIds[FLAVOR_BITTER]].invisible = 1; + gSprites[sBerryTag->flavorCircleIds[FLAVOR_BITTER]].invisible = TRUE; if (berry->sour) - gSprites[sBerryTag->flavorCircleIds[FLAVOR_SOUR]].invisible = 0; + gSprites[sBerryTag->flavorCircleIds[FLAVOR_SOUR]].invisible = FALSE; else - gSprites[sBerryTag->flavorCircleIds[FLAVOR_SOUR]].invisible = 1; + gSprites[sBerryTag->flavorCircleIds[FLAVOR_SOUR]].invisible = TRUE; } static void DestroyFlavorCircleSprites(void) diff --git a/src/credits.c b/src/credits.c index 94089a6d18..981b60a47f 100644 --- a/src/credits.c +++ b/src/credits.c @@ -1862,8 +1862,8 @@ static void sub_817664C(u8 data, u8 taskIdA) switch (data) { case 0: - gSprites[gTasks[taskIdA].data[TDA_PLAYER_CYCLIST]].invisible = 0; - gSprites[gTasks[taskIdA].data[TDA_RIVAL_CYCLIST]].invisible = 0; + gSprites[gTasks[taskIdA].data[TDA_PLAYER_CYCLIST]].invisible = FALSE; + gSprites[gTasks[taskIdA].data[TDA_RIVAL_CYCLIST]].invisible = FALSE; gSprites[gTasks[taskIdA].data[TDA_PLAYER_CYCLIST]].pos1.x = 272; gSprites[gTasks[taskIdA].data[TDA_RIVAL_CYCLIST]].pos1.x = 272; gSprites[gTasks[taskIdA].data[TDA_PLAYER_CYCLIST]].pos1.y = 46; @@ -1873,8 +1873,8 @@ static void sub_817664C(u8 data, u8 taskIdA) gTasks[taskIdA].data[TDA_0] = sub_817B3DC(0, 0x2000, 0x20, 8); break; case 1: - gSprites[gTasks[taskIdA].data[TDA_PLAYER_CYCLIST]].invisible = 0; - gSprites[gTasks[taskIdA].data[TDA_RIVAL_CYCLIST]].invisible = 0; + gSprites[gTasks[taskIdA].data[TDA_PLAYER_CYCLIST]].invisible = FALSE; + gSprites[gTasks[taskIdA].data[TDA_RIVAL_CYCLIST]].invisible = FALSE; gSprites[gTasks[taskIdA].data[TDA_PLAYER_CYCLIST]].pos1.x = 120; gSprites[gTasks[taskIdA].data[TDA_RIVAL_CYCLIST]].pos1.x = 272; gSprites[gTasks[taskIdA].data[TDA_PLAYER_CYCLIST]].pos1.y = 46; @@ -1884,8 +1884,8 @@ static void sub_817664C(u8 data, u8 taskIdA) gTasks[taskIdA].data[TDA_0] = sub_817B3DC(0, 0x2000, 0x20, 8); break; case 2: - gSprites[gTasks[taskIdA].data[TDA_PLAYER_CYCLIST]].invisible = 0; - gSprites[gTasks[taskIdA].data[TDA_RIVAL_CYCLIST]].invisible = 0; + gSprites[gTasks[taskIdA].data[TDA_PLAYER_CYCLIST]].invisible = FALSE; + gSprites[gTasks[taskIdA].data[TDA_RIVAL_CYCLIST]].invisible = FALSE; gSprites[gTasks[taskIdA].data[TDA_PLAYER_CYCLIST]].pos1.x = 120; gSprites[gTasks[taskIdA].data[TDA_RIVAL_CYCLIST]].pos1.x = 272; gSprites[gTasks[taskIdA].data[TDA_PLAYER_CYCLIST]].pos1.y = 46; @@ -1895,8 +1895,8 @@ static void sub_817664C(u8 data, u8 taskIdA) gTasks[taskIdA].data[TDA_0] = sub_817B3DC(1, 0x2000, 0x200, 8); break; case 3: - gSprites[gTasks[taskIdA].data[TDA_PLAYER_CYCLIST]].invisible = 0; - gSprites[gTasks[taskIdA].data[TDA_RIVAL_CYCLIST]].invisible = 0; + gSprites[gTasks[taskIdA].data[TDA_PLAYER_CYCLIST]].invisible = FALSE; + gSprites[gTasks[taskIdA].data[TDA_RIVAL_CYCLIST]].invisible = FALSE; gSprites[gTasks[taskIdA].data[TDA_PLAYER_CYCLIST]].pos1.x = 120; gSprites[gTasks[taskIdA].data[TDA_RIVAL_CYCLIST]].pos1.x = -32; gSprites[gTasks[taskIdA].data[TDA_PLAYER_CYCLIST]].pos1.y = 46; @@ -1906,8 +1906,8 @@ static void sub_817664C(u8 data, u8 taskIdA) gTasks[taskIdA].data[TDA_0] = sub_817B3DC(1, 0x2000, 0x200, 8); break; case 4: - gSprites[gTasks[taskIdA].data[TDA_PLAYER_CYCLIST]].invisible = 0; - gSprites[gTasks[taskIdA].data[TDA_RIVAL_CYCLIST]].invisible = 0; + gSprites[gTasks[taskIdA].data[TDA_PLAYER_CYCLIST]].invisible = FALSE; + gSprites[gTasks[taskIdA].data[TDA_RIVAL_CYCLIST]].invisible = FALSE; gSprites[gTasks[taskIdA].data[TDA_PLAYER_CYCLIST]].pos1.x = 88; gSprites[gTasks[taskIdA].data[TDA_RIVAL_CYCLIST]].pos1.x = 152; gSprites[gTasks[taskIdA].data[TDA_PLAYER_CYCLIST]].pos1.y = 46; diff --git a/src/egg_hatch.c b/src/egg_hatch.c index d56f03028f..9f25262951 100644 --- a/src/egg_hatch.c +++ b/src/egg_hatch.c @@ -451,7 +451,7 @@ static u8 EggHatchCreateMonSprite(u8 a0, u8 switchID, u8 pokeID, u16* speciesLoc case 1: SetMultiuseSpriteTemplateToPokemon(GetMonSpritePalStruct(mon)->tag, r5); spriteID = CreateSprite(&gMultiuseSpriteTemplate, 120, 75, 6); - gSprites[spriteID].invisible = 1; + gSprites[spriteID].invisible = TRUE; gSprites[spriteID].callback = SpriteCallbackDummy; break; } @@ -808,7 +808,7 @@ static void SpriteCB_Egg_4(struct Sprite* sprite) if (!gPaletteFade.active) { PlaySE(SE_TAMAGO); - sprite->invisible = 1; + sprite->invisible = TRUE; sprite->callback = SpriteCB_Egg_5; sprite->data[0] = 0; } @@ -818,7 +818,7 @@ static void SpriteCB_Egg_5(struct Sprite* sprite) { if (sprite->data[0] == 0) { - gSprites[sEggHatchData->pokeSpriteID].invisible = 0; + gSprites[sEggHatchData->pokeSpriteID].invisible = FALSE; StartSpriteAffineAnim(&gSprites[sEggHatchData->pokeSpriteID], 1); } if (sprite->data[0] == 8) diff --git a/src/event_object_movement.c b/src/event_object_movement.c index 7f76bb1685..2b85e751fb 100644 --- a/src/event_object_movement.c +++ b/src/event_object_movement.c @@ -1097,13 +1097,13 @@ static void sub_808D450(void) gSprites[spriteId].oam.affineMode = 1; InitSpriteAffineAnim(&gSprites[spriteId]); StartSpriteAffineAnim(&gSprites[spriteId], 0); - gSprites[spriteId].invisible = 1; + gSprites[spriteId].invisible = TRUE; spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[21], 0, 0, 31); gSprites[spriteId].oam.affineMode = 1; InitSpriteAffineAnim(&gSprites[spriteId]); StartSpriteAffineAnim(&gSprites[spriteId], 1); - gSprites[spriteId].invisible = 1; + gSprites[spriteId].invisible = TRUE; } u8 GetFirstInactiveEventObjectId(void) @@ -8798,9 +8798,9 @@ void UpdateEventObjectSpriteVisibility(struct Sprite *sprite, bool8 invisible) y2 = y - (sprite->centerToCornerVecY >> 1); if ((s16)x > 255 || x2 < -16) - sprite->invisible = 1; + sprite->invisible = TRUE; if ((s16)y > 175 || y2 < -16) - sprite->invisible = 1; + sprite->invisible = TRUE; } void UpdateEventObjectSpriteSubpriorityAndVisibility(struct Sprite *sprite) diff --git a/src/evolution_graphics.c b/src/evolution_graphics.c index 8d02eef91f..77f65289e6 100644 --- a/src/evolution_graphics.c +++ b/src/evolution_graphics.c @@ -220,10 +220,10 @@ static void SpriteCB_PostEvoSparkleSet2(struct Sprite* sprite) sprite->subpriority = 1; else { - sprite->invisible = 0; + sprite->invisible = FALSE; sprite->subpriority = 20; if (sprite->data[6] > 112 && sprite->data[6] & 1) - sprite->invisible = 1; + sprite->invisible = TRUE; } if (matrixNum < 20) matrixNum = 20; @@ -498,13 +498,13 @@ u8 sub_817C3A0(u8 preEvoSpriteID, u8 postEvoSpriteID) gSprites[preEvoSpriteID].callback = PokeEvoSprite_DummySpriteCB; gSprites[preEvoSpriteID].oam.affineMode = 1; gSprites[preEvoSpriteID].oam.matrixNum = 30; - gSprites[preEvoSpriteID].invisible = 0; + gSprites[preEvoSpriteID].invisible = FALSE; CpuSet(stack, &gPlttBufferFaded[0x100 + (gSprites[preEvoSpriteID].oam.paletteNum * 16)], 16); gSprites[postEvoSpriteID].callback = PokeEvoSprite_DummySpriteCB; gSprites[postEvoSpriteID].oam.affineMode = 1; gSprites[postEvoSpriteID].oam.matrixNum = 31; - gSprites[postEvoSpriteID].invisible = 0; + gSprites[postEvoSpriteID].invisible = FALSE; CpuSet(stack, &gPlttBufferFaded[0x100 + (gSprites[postEvoSpriteID].oam.paletteNum * 16)], 16); gTasks[taskID].tEvoStopped = FALSE; @@ -588,11 +588,11 @@ static void PreEvoInvisible_PostEvoVisible_KillTask(u8 taskID) { gSprites[gTasks[taskID].tPreEvoSpriteID].oam.affineMode = 0; gSprites[gTasks[taskID].tPreEvoSpriteID].oam.matrixNum = 0; - gSprites[gTasks[taskID].tPreEvoSpriteID].invisible = 1; + gSprites[gTasks[taskID].tPreEvoSpriteID].invisible = TRUE; gSprites[gTasks[taskID].tPostEvoSpriteID].oam.affineMode = 0; gSprites[gTasks[taskID].tPostEvoSpriteID].oam.matrixNum = 0; - gSprites[gTasks[taskID].tPostEvoSpriteID].invisible = 0; + gSprites[gTasks[taskID].tPostEvoSpriteID].invisible = FALSE; DestroyTask(taskID); } @@ -601,11 +601,11 @@ static void PreEvoVisible_PostEvoInvisible_KillTask(u8 taskID) { gSprites[gTasks[taskID].tPreEvoSpriteID].oam.affineMode = 0; gSprites[gTasks[taskID].tPreEvoSpriteID].oam.matrixNum = 0; - gSprites[gTasks[taskID].tPreEvoSpriteID].invisible = 0; + gSprites[gTasks[taskID].tPreEvoSpriteID].invisible = FALSE; gSprites[gTasks[taskID].tPostEvoSpriteID].oam.affineMode = 0; gSprites[gTasks[taskID].tPostEvoSpriteID].oam.matrixNum = 0; - gSprites[gTasks[taskID].tPostEvoSpriteID].invisible = 1; + gSprites[gTasks[taskID].tPostEvoSpriteID].invisible = TRUE; DestroyTask(taskID); } diff --git a/src/evolution_scene.c b/src/evolution_scene.c index ae15e79fe7..91ac90b1b2 100644 --- a/src/evolution_scene.c +++ b/src/evolution_scene.c @@ -285,7 +285,7 @@ void EvolutionScene(struct Pokemon* mon, u16 speciesToEvolve, bool8 canStopEvo, gSprites[ID].callback = SpriteCallbackDummy_2; gSprites[ID].oam.paletteNum = 1; - gSprites[ID].invisible = 1; + gSprites[ID].invisible = TRUE; // postEvo sprite DecompressPicFromTable_2(&gMonFrontPicTable[speciesToEvolve], @@ -299,7 +299,7 @@ void EvolutionScene(struct Pokemon* mon, u16 speciesToEvolve, bool8 canStopEvo, sEvoStructPtr->postEvoSpriteID = ID = CreateSprite(&gMultiuseSpriteTemplate, 120, 64, 30); gSprites[ID].callback = SpriteCallbackDummy_2; gSprites[ID].oam.paletteNum = 2; - gSprites[ID].invisible = 1; + gSprites[ID].invisible = TRUE; LoadEvoSparkleSpriteAndPal(); @@ -514,7 +514,7 @@ void TradeEvolutionScene(struct Pokemon* mon, u16 speciesToEvolve, u8 preEvoSpri gSprites[ID].callback = SpriteCallbackDummy_2; gSprites[ID].oam.paletteNum = 2; - gSprites[ID].invisible = 1; + gSprites[ID].invisible = TRUE; LoadEvoSparkleSpriteAndPal(); @@ -623,7 +623,7 @@ static void Task_EvolutionScene(u8 taskID) { case 0: BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0); - gSprites[sEvoStructPtr->preEvoSpriteID].invisible = 0; + gSprites[sEvoStructPtr->preEvoSpriteID].invisible = FALSE; gTasks[taskID].tState++; ShowBg(0); ShowBg(1); diff --git a/src/field_effect.c b/src/field_effect.c index ecda8578b9..e7ecca1830 100644 --- a/src/field_effect.c +++ b/src/field_effect.c @@ -1078,7 +1078,7 @@ u8 PokecenterHealEffectHelper(s16 x, s16 y) spriteIdAtEnd = CreateSpriteAtEnd(&gSpriteTemplate_855C31C, x, y, 0); sprite = &gSprites[spriteIdAtEnd]; sprite->oam.priority = 2; - sprite->invisible = 1; + sprite->invisible = TRUE; SetSubspriteTables(sprite, &gUnknown_0855C2AC); return spriteIdAtEnd; } @@ -1088,7 +1088,7 @@ void SpriteCB_PokecenterMonitor(struct Sprite *sprite) if (sprite->data[0] != 0) { sprite->data[0] = 0; - sprite->invisible = 0; + sprite->invisible = FALSE; StartSpriteAnim(sprite, 1); } if (sprite->animEnded) @@ -1108,7 +1108,7 @@ void HallOfFameRecordEffectHelper(s16 a0, s16 a1, s16 a2, u8 a3) { spriteIdAtEnd = CreateSpriteAtEnd(&gSpriteTemplate_855C34C, a1, a2, 0); } - gSprites[spriteIdAtEnd].invisible = 1; + gSprites[spriteIdAtEnd].invisible = TRUE; gSprites[spriteIdAtEnd].data[0] = a0; } @@ -1182,7 +1182,7 @@ void mapldr_08084390(void) Overworld_PlaySpecialMapMusic(); pal_fill_black(); CreateTask(c3_080843F8, 0); - gEventObjects[gPlayerAvatar.eventObjectId].invisible = 1; + gEventObjects[gPlayerAvatar.eventObjectId].invisible = TRUE; if (gPlayerAvatar.flags & 0x08) { EventObjectTurn(&gEventObjects[gPlayerAvatar.eventObjectId], DIR_WEST); @@ -1242,7 +1242,7 @@ bool8 sub_80B6BCC(struct Task *task) // gUnknown_0855C3C8[0] playerObject = &gEventObjects[gPlayerAvatar.eventObjectId]; playerSprite = &gSprites[gPlayerAvatar.spriteId]; CameraObjectReset2(); - gEventObjects[gPlayerAvatar.eventObjectId].invisible = 1; + gEventObjects[gPlayerAvatar.eventObjectId].invisible = TRUE; gPlayerAvatar.preventStep = TRUE; EventObjectSetHeldMovement(playerObject, GetFaceDirectionMovementAction(GetPlayerFacingDirection())); task->data[4] = playerSprite->subspriteMode; @@ -1271,7 +1271,7 @@ bool8 sub_80B6C90(struct Task *task) // gUnknown_0855C3C8[2] sprite->pos2.y = -(sprite->pos1.y + sprite->centerToCornerVecY + gSpriteCoordOffsetY + centerToCornerVecY); task->data[1] = 1; task->data[2] = 0; - gEventObjects[gPlayerAvatar.eventObjectId].invisible = 0; + gEventObjects[gPlayerAvatar.eventObjectId].invisible = FALSE; PlaySE(SE_RU_HYUU); task->data[0]++; return FALSE; @@ -1869,7 +1869,7 @@ bool8 sub_80B78EC(struct Task *task, struct EventObject *eventObject, struct Spr CameraObjectReset2(); FreezeEventObjects(); gPlayerAvatar.preventStep = TRUE; - eventObject->invisible = 1; + eventObject->invisible = TRUE; task->data[0]++; return FALSE; } @@ -1894,7 +1894,7 @@ bool8 sub_80B7968(struct Task *task, struct EventObject *eventObject, struct Spr if (sprite->animCmdIndex > 1) { task->data[0]++; - eventObject->invisible = 0; + eventObject->invisible = FALSE; CameraObjectReset1(); PlaySE(SE_W091); EventObjectSetHeldMovement(eventObject, GetJumpMovementAction(DIR_EAST)); @@ -1982,7 +1982,7 @@ bool8 sub_80B7B94(struct Task *task, struct EventObject *eventObject, struct Spr { if (gSprites[task->data[1]].animCmdIndex == 2) { - eventObject->invisible = 1; + eventObject->invisible = TRUE; task->data[0]++; } return FALSE; @@ -2097,7 +2097,7 @@ void mapldr_080859D4(void) ScriptContext2_Enable(); FreezeEventObjects(); gFieldCallback = NULL; - gEventObjects[gPlayerAvatar.eventObjectId].invisible = 1; + gEventObjects[gPlayerAvatar.eventObjectId].invisible = TRUE; CreateTask(sub_80B7E94, 0); } @@ -2127,7 +2127,7 @@ void sub_80B7EE8(struct Task *task) } if (task->data[2] >= 32 && task->data[15] == GetPlayerFacingDirection()) { - eventObject->invisible = 0; + eventObject->invisible = FALSE; ScriptContext2_Disable(); UnfreezeEventObjects(); DestroyTask(FindTaskIdByFunc(sub_80B7E94)); @@ -2254,7 +2254,7 @@ static void mapldr_08085D88(void) ScriptContext2_Enable(); FreezeEventObjects(); gFieldCallback = NULL; - gEventObjects[gPlayerAvatar.eventObjectId].invisible = 1; + gEventObjects[gPlayerAvatar.eventObjectId].invisible = TRUE; CameraObjectReset2(); CreateTask(sub_80B8250, 0); } @@ -2279,7 +2279,7 @@ void sub_80B8280(struct Task *task) sprite = &gSprites[gPlayerAvatar.spriteId]; centerToCornerVecY = -(sprite->centerToCornerVecY << 1); sprite->pos2.y = -(sprite->pos1.y + sprite->centerToCornerVecY + gSpriteCoordOffsetY + centerToCornerVecY); - gEventObjects[gPlayerAvatar.eventObjectId].invisible = 0; + gEventObjects[gPlayerAvatar.eventObjectId].invisible = FALSE; task->data[0]++; task->data[1] = 8; task->data[2] = 1; @@ -3463,7 +3463,7 @@ void sub_80B96B0(struct Sprite *sprite) sprite->data[7]++; sprite->oam.affineMode = 0; FreeOamMatrix(sprite->oam.matrixNum); - sprite->invisible = 1; + sprite->invisible = TRUE; } } } @@ -3516,7 +3516,7 @@ void sub_80B9804(struct Task *task) CameraObjectReset2(); EventObjectTurn(eventObject, DIR_WEST); StartSpriteAnim(&gSprites[eventObject->spriteId], 0x16); - eventObject->invisible = 0; + eventObject->invisible = FALSE; task->data[1] = sub_80B94C4(); sub_80B9524(task->data[1]); sub_80B9560(task->data[1], eventObject->spriteId); diff --git a/src/item_menu.c b/src/item_menu.c index 9382772100..0cdedec97d 100755 --- a/src/item_menu.c +++ b/src/item_menu.c @@ -1185,7 +1185,7 @@ void SwitchBagPocket(u8 taskId, s16 deltaBagPocketId, u16 a3) ClearWindowTilemap(1); DestroyListMenuTask(data[0], &gUnknown_0203CE58.scrollPosition[gUnknown_0203CE58.pocket], &gUnknown_0203CE58.cursorPosition[gUnknown_0203CE58.pocket]); schedule_bg_copy_tilemap_to_vram(0); - gSprites[gUnknown_0203CE54->unk804[2 + (gUnknown_0203CE54->unk81B_1 ^ 1)]].invisible = 1; + gSprites[gUnknown_0203CE54->unk804[2 + (gUnknown_0203CE54->unk81B_1 ^ 1)]].invisible = TRUE; sub_81AB824(); } pocketId = gUnknown_0203CE58.pocket; diff --git a/src/main_menu.c b/src/main_menu.c index fd8b1b04db..7e84ae7ec1 100644 --- a/src/main_menu.c +++ b/src/main_menu.c @@ -1164,7 +1164,7 @@ void task_new_game_prof_birch_speech_2(u8 taskId) spriteId = gTasks[taskId].data[8]; gSprites[spriteId].pos1.x = 0x88; gSprites[spriteId].pos1.y = 0x3C; - gSprites[spriteId].invisible = 0; + gSprites[spriteId].invisible = FALSE; gSprites[spriteId].oam.objMode = 1; sub_8031BAC(taskId, 10); sub_8031D34(taskId, 20); @@ -1225,7 +1225,7 @@ void sub_8030A70(u8 taskId) gSprites[spriteId].pos1.x = 0x64; gSprites[spriteId].pos1.y = 0x4B; - gSprites[spriteId].invisible = 0; + gSprites[spriteId].invisible = FALSE; gSprites[spriteId].data[0] = 0; CreatePokeballSpriteToReleaseMon(spriteId, gSprites[spriteId].oam.paletteNum, 0x70, 0x3A, 0, 0, 0x20, 0xFFFF, SPECIES_LOTAD); @@ -1306,8 +1306,8 @@ void task_new_game_prof_birch_speech_9(u8 taskId) { if (gTasks[taskId].data[5]) { - gSprites[gTasks[taskId].data[8]].invisible = 1; - gSprites[gTasks[taskId].data[9]].invisible = 1; + gSprites[gTasks[taskId].data[8]].invisible = TRUE; + gSprites[gTasks[taskId].data[9]].invisible = TRUE; if (gTasks[taskId].data[7]) { gTasks[taskId].data[7]--; @@ -1318,7 +1318,7 @@ void task_new_game_prof_birch_speech_9(u8 taskId) gSprites[spriteId].pos1.x = 0xB4; gSprites[spriteId].pos1.y = 0x3C; - gSprites[spriteId].invisible = 0; + gSprites[spriteId].invisible = FALSE; gSprites[spriteId].oam.objMode = 1; gTasks[taskId].data[2] = spriteId; gTasks[taskId].data[6] = 0; @@ -1394,14 +1394,14 @@ void sub_8030ED4(u8 taskId) } else { - gSprites[spriteId].invisible = 1; + gSprites[spriteId].invisible = TRUE; if (gTasks[taskId].data[6]) spriteId = gTasks[taskId].data[11]; else spriteId = gTasks[taskId].data[10]; gSprites[spriteId].pos1.x = 0xF0; gSprites[spriteId].pos1.y = 0x3C; - gSprites[spriteId].invisible = 0; + gSprites[spriteId].invisible = FALSE; gTasks[taskId].data[2] = spriteId; gSprites[spriteId].oam.objMode = 1; sub_8031BAC(taskId, 0); @@ -1562,8 +1562,8 @@ void task_new_game_prof_birch_speech_part2_8(u8 taskId) if (gTasks[taskId].data[5]) { - gSprites[gTasks[taskId].data[8]].invisible = 1; - gSprites[gTasks[taskId].data[9]].invisible = 1; + gSprites[gTasks[taskId].data[8]].invisible = TRUE; + gSprites[gTasks[taskId].data[9]].invisible = TRUE; if (gTasks[taskId].data[7]) { gTasks[taskId].data[7]--; @@ -1575,7 +1575,7 @@ void task_new_game_prof_birch_speech_part2_8(u8 taskId) spriteId = gTasks[taskId].data[10]; gSprites[spriteId].pos1.x = 0x78; gSprites[spriteId].pos1.y = 0x3C; - gSprites[spriteId].invisible = 0; + gSprites[spriteId].invisible = FALSE; gSprites[spriteId].oam.objMode = 1; gTasks[taskId].data[2] = spriteId; sub_8031BAC(taskId, 2); @@ -1692,7 +1692,7 @@ void new_game_prof_birch_speech_part2_start(void) } gSprites[spriteId].pos1.x = 0xB4; gSprites[spriteId].pos1.y = 0x3C; - gSprites[spriteId].invisible = 0; + gSprites[spriteId].invisible = FALSE; gTasks[taskId].data[2] = spriteId; SetGpuReg(REG_OFFSET_BG1HOFS, -60); BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0); diff --git a/src/menu_helpers.c b/src/menu_helpers.c index 0f6d5aa38d..8cabbde426 100644 --- a/src/menu_helpers.c +++ b/src/menu_helpers.c @@ -410,7 +410,7 @@ void sub_8122344(u8 *spriteIds, u8 count) if (i != 0) StartSpriteAnim(&gSprites[spriteIds[i]], 1); - gSprites[spriteIds[i]].invisible = 1; + gSprites[spriteIds[i]].invisible = TRUE; } } diff --git a/src/pokemon_animation.c b/src/pokemon_animation.c index 9c307f7f87..e75f2eeba0 100644 --- a/src/pokemon_animation.c +++ b/src/pokemon_animation.c @@ -2347,7 +2347,7 @@ static void pokemonanimfunc_27(struct Sprite *sprite) sprite->invisible = sprite->data[4]; if (++sprite->data[2] > 19) { - sprite->invisible = 0; + sprite->invisible = FALSE; sprite->callback = SpriteCB_SetDummyOnAnimEnd; } sprite->data[3] = 2; @@ -3069,17 +3069,17 @@ static void pokemonanimfunc_35(struct Sprite *sprite) { sprite->data[7] = 0; sprite->data[2]++; - sprite->invisible = 0; + sprite->invisible = FALSE; } else { sprite->data[7]++; - sprite->invisible = 1; + sprite->invisible = TRUE; } if (sprite->data[2] > 10) { - sprite->invisible = 0; + sprite->invisible = FALSE; sprite->callback = SpriteCB_SetDummyOnAnimEnd; } } diff --git a/src/rom_8034C54.c b/src/rom_8034C54.c index 42df512950..da18c330cc 100644 --- a/src/rom_8034C54.c +++ b/src/rom_8034C54.c @@ -442,7 +442,7 @@ static void sub_8035608(void) ResetSpriteData(); spriteId = CreateSprite(&gUnknown_0831AC88, 0, 0, 0); - gSprites[spriteId].invisible = 1; + gSprites[spriteId].invisible = TRUE; SetMainCallback2(sub_8035648); } diff --git a/src/sprite.c b/src/sprite.c index 8a4729b27c..c133dc73ee 100644 --- a/src/sprite.c +++ b/src/sprite.c @@ -171,7 +171,7 @@ static const struct Sprite sDummySprite = .data = {0, 0, 0, 0, 0, 0, 0}, .inUse = 0, .coordOffsetEnabled = 0, - .invisible = 0, + .invisible = FALSE, .flags_3 = 0, .flags_4 = 0, .flags_5 = 0, From aa0782c40bc5ace54447c8234a8ca8a08ee6d788 Mon Sep 17 00:00:00 2001 From: Diegoisawesome <diego@domoreaweso.me> Date: Mon, 10 Sep 2018 12:03:24 -0500 Subject: [PATCH 196/234] Make gbafix silent --- Makefile | 2 +- tools/gbafix/gbafix.c | 25 +++++++++++++++---------- 2 files changed, 16 insertions(+), 11 deletions(-) diff --git a/Makefile b/Makefile index 3c2c333b0a..47bfee2a2f 100644 --- a/Makefile +++ b/Makefile @@ -173,5 +173,5 @@ $(ELF): $(OBJ_DIR)/ld_script.ld $(OBJS) $(ROM): $(ELF) $(OBJCOPY) -O binary $< $@ - $(FIX) $@ -p -t"$(TITLE)" -c$(GAME_CODE) -m$(MAKER_CODE) -r$(REVISION) + $(FIX) $@ -p -t"$(TITLE)" -c$(GAME_CODE) -m$(MAKER_CODE) -r$(REVISION) -silent diff --git a/tools/gbafix/gbafix.c b/tools/gbafix/gbafix.c index 60e4ccb4f5..071568d453 100644 --- a/tools/gbafix/gbafix.c +++ b/tools/gbafix/gbafix.c @@ -135,6 +135,7 @@ int main(int argc, char *argv[]) int arg; char *argfile = 0; FILE *infile; + int silent = 0; int size,bit; @@ -142,7 +143,7 @@ int main(int argc, char *argv[]) if (argc <= 1) { printf("GBA ROM fixer v"VER" by Dark Fader / BlackThunder / WinterMute / Diegoisawesome \n"); - printf("Syntax: gbafix <rom.gba> [-p] [-t[title]] [-c<game_code>] [-m<maker_code>] [-r<version>] [-d<debug>]\n"); + printf("Syntax: gbafix <rom.gba> [-p] [-t[title]] [-c<game_code>] [-m<maker_code>] [-r<version>] [-d<debug>] [-silent]\n"); printf("\n"); printf("parameters:\n"); printf(" -p Pad to next exact power of 2. No minimum size!\n"); @@ -151,25 +152,27 @@ int main(int argc, char *argv[]) printf(" -m<maker_code> Patch maker code (two characters)\n"); printf(" -r<version> Patch game version (number)\n"); printf(" -d<debug> Enable debugging handler and set debug entry point (0 or 1)\n"); + printf(" -silent Silence non-error output\n"); return -1; } // get filename for (arg=1; arg<argc; arg++) { - if ((ARGV[0] != '-')) { argfile=ARGV; break; } + if ((ARGV[0] != '-')) { argfile=ARGV; } + if (strncmp("-silent", &ARGV[0], 6) == 0) { silent = 1; } } // check filename if (!argfile) { - printf("Filename needed!\n"); + fprintf(stderr, "Filename needed!\n"); return -1; } // read file infile = fopen(argfile, "r+b"); - if (!infile) { printf("Error opening input file!\n"); return -1; } + if (!infile) { fprintf(stderr, "Error opening input file!\n"); return -1; } fseek(infile, 0, SEEK_SET); fread(&header, sizeof(header), 1, infile); @@ -183,6 +186,8 @@ int main(int argc, char *argv[]) { if ((ARGV[0] == '-')) { + if (strncmp("-silent", &ARGV[0], 6) == 0) { continue; } + switch (ARGV[1]) { case 'p': // pad @@ -215,7 +220,7 @@ int main(int argc, char *argv[]) t = strrchr(s, '/'); if (t) begin = t+1; t = strrchr(s, '.'); if (t) *t = 0; strncpy(title, begin, sizeof(header.title)); - printf("%s\n",begin); + if (!silent) printf("%s\n",begin); } memcpy(header.title, title, sizeof(header.title)); // copy break; @@ -223,7 +228,7 @@ int main(int argc, char *argv[]) case 'c': // game code { - //if (!VALUE[0]) { printf("Need value for %s\n", ARGV); break; } + //if (!VALUE[0]) { fprintf(stderr, "Need value for %s\n", ARGV); break; } //header.game_code = NUMBER; header.game_code = VALUE[0] | VALUE[1]<<8 | VALUE[2]<<16 | VALUE[3]<<24; break; @@ -231,7 +236,7 @@ int main(int argc, char *argv[]) case 'm': // maker code { - //if (!VALUE[0]) { printf("Need value for %s\n", ARGV); break; } + //if (!VALUE[0]) { fprintf(stderr, "Need value for %s\n", ARGV); break; } //header.maker_code = (unsigned short)NUMBER; header.maker_code = VALUE[0] | VALUE[1]<<8; break; @@ -244,14 +249,14 @@ int main(int argc, char *argv[]) case 'r': // version { - if (!VALUE[0]) { printf("Need value for %s\n", ARGV); break; } + if (!VALUE[0]) { fprintf(stderr, "Need value for %s\n", ARGV); break; } header.game_version = (unsigned char)NUMBER; break; } case 'd': // debug { - if (!VALUE[0]) { printf("Need value for %s\n", ARGV); break; } + if (!VALUE[0]) { fprintf(stderr, "Need value for %s\n", ARGV); break; } header.logo[0x9C-0x04] = 0xA5; // debug enable header.device_type = (unsigned char)((NUMBER & 1) << 7); // debug handler entry point break; @@ -275,7 +280,7 @@ int main(int argc, char *argv[]) fwrite(&header, sizeof(header), 1, infile); fclose(infile); - printf("ROM fixed!\n"); + if (!silent) printf("ROM fixed!\n"); return 0; } From 8026188e36cfa33a420c0c2516cfa7816a61de5d Mon Sep 17 00:00:00 2001 From: Diegoisawesome <diego@domoreaweso.me> Date: Mon, 10 Sep 2018 13:15:53 -0500 Subject: [PATCH 197/234] Make long param use two dashes --- Makefile | 2 +- tools/gbafix/gbafix.c | 17 ++++++++++------- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/Makefile b/Makefile index 47bfee2a2f..9adacb6e19 100644 --- a/Makefile +++ b/Makefile @@ -173,5 +173,5 @@ $(ELF): $(OBJ_DIR)/ld_script.ld $(OBJS) $(ROM): $(ELF) $(OBJCOPY) -O binary $< $@ - $(FIX) $@ -p -t"$(TITLE)" -c$(GAME_CODE) -m$(MAKER_CODE) -r$(REVISION) -silent + $(FIX) $@ -p -t"$(TITLE)" -c$(GAME_CODE) -m$(MAKER_CODE) -r$(REVISION) --silent diff --git a/tools/gbafix/gbafix.c b/tools/gbafix/gbafix.c index 071568d453..d5e2f62ab4 100644 --- a/tools/gbafix/gbafix.c +++ b/tools/gbafix/gbafix.c @@ -33,6 +33,7 @@ History ------- + v1.06 - added output silencing, (Diegoisawesome) v1.05 - added debug offset argument, (Diegoisawesome) v1.04 - converted to plain C, (WinterMute) v1.03 - header.fixed, header.device_type @@ -48,7 +49,7 @@ #include <string.h> #include <stdint.h> -#define VER "1.05" +#define VER "1.06" #define ARGV argv[arg] #define VALUE (ARGV+2) #define NUMBER strtoul(VALUE, NULL, 0) @@ -143,7 +144,7 @@ int main(int argc, char *argv[]) if (argc <= 1) { printf("GBA ROM fixer v"VER" by Dark Fader / BlackThunder / WinterMute / Diegoisawesome \n"); - printf("Syntax: gbafix <rom.gba> [-p] [-t[title]] [-c<game_code>] [-m<maker_code>] [-r<version>] [-d<debug>] [-silent]\n"); + printf("Syntax: gbafix <rom.gba> [-p] [-t[title]] [-c<game_code>] [-m<maker_code>] [-r<version>] [-d<debug>] [--silent]\n"); printf("\n"); printf("parameters:\n"); printf(" -p Pad to next exact power of 2. No minimum size!\n"); @@ -152,7 +153,7 @@ int main(int argc, char *argv[]) printf(" -m<maker_code> Patch maker code (two characters)\n"); printf(" -r<version> Patch game version (number)\n"); printf(" -d<debug> Enable debugging handler and set debug entry point (0 or 1)\n"); - printf(" -silent Silence non-error output\n"); + printf(" --silent Silence non-error output\n"); return -1; } @@ -160,7 +161,7 @@ int main(int argc, char *argv[]) for (arg=1; arg<argc; arg++) { if ((ARGV[0] != '-')) { argfile=ARGV; } - if (strncmp("-silent", &ARGV[0], 6) == 0) { silent = 1; } + if (strncmp("--silent", &ARGV[0], 7) == 0) { silent = 1; } } // check filename @@ -186,8 +187,6 @@ int main(int argc, char *argv[]) { if ((ARGV[0] == '-')) { - if (strncmp("-silent", &ARGV[0], 6) == 0) { continue; } - switch (ARGV[1]) { case 'p': // pad @@ -261,7 +260,11 @@ int main(int argc, char *argv[]) header.device_type = (unsigned char)((NUMBER & 1) << 7); // debug handler entry point break; } - + case '-': // long arguments + { + if (strncmp("silent", &ARGV[2], 6) == 0) { continue; } + break; + } default: { printf("Invalid option: %s\n", ARGV); From bcea321494f3cab1284325e73cca7f796961d963 Mon Sep 17 00:00:00 2001 From: Slawter666 <38655737+Slawter666@users.noreply.github.com> Date: Tue, 11 Sep 2018 01:35:47 +0100 Subject: [PATCH 198/234] Finish converting data2b data --- data/data2b.s | 219 -------------------------------- data/field_ground_effect.s | 6 - ld_script.txt | 1 - src/data2b.c | 252 ++++++++++++++++++++++++++++++++++++- 4 files changed, 250 insertions(+), 228 deletions(-) delete mode 100644 data/data2b.s delete mode 100644 data/field_ground_effect.s diff --git a/data/data2b.s b/data/data2b.s deleted file mode 100644 index db378d1a5b..0000000000 --- a/data/data2b.s +++ /dev/null @@ -1,219 +0,0 @@ -#include "constants/items.h" -#include "constants/moves.h" -#include "constants/species.h" -#include "constants/trainers.h" -#include "constants/pokemon.h" - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - - .align 2 -gUnknown_082FF1D8:: @ 82FF1D8 - .incbin "graphics/link/minigame_digits.gbapal" - - .align 2 -gUnknown_082FF1F8:: @ 82FF1F8 - .incbin "graphics/link/minigame_digits.4bpp.lz" - - .align 2 -gUnknown_082FF2B8:: @ 82FF2B8 - .incbin "graphics/link/minigame_digits2.4bpp.lz" - - .align 2 -gUnknown_082FF3A8:: @ 82FF3A8 - obj_frame_tiles gHeap + 0x8000, 0x800 - obj_frame_tiles gHeap + 0x8800, 0x800 - obj_frame_tiles gHeap + 0x9000, 0x800 - obj_frame_tiles gHeap + 0x9800, 0x800 - - .align 2 -gUnknown_082FF3C8:: @ 82FF3C8 - obj_frame_tiles gHeap + 0xA000, 0x800 - obj_frame_tiles gHeap + 0xA800, 0x800 - obj_frame_tiles gHeap + 0xB000, 0x800 - obj_frame_tiles gHeap + 0xB800, 0x800 - - .align 2 -gUnknown_082FF3E8:: @ 82FF3E8 - obj_frame_tiles gHeap + 0xC000, 0x800 - obj_frame_tiles gHeap + 0xC800, 0x800 - obj_frame_tiles gHeap + 0xD000, 0x800 - obj_frame_tiles gHeap + 0xD800, 0x800 - - .align 2 -gUnknown_082FF408:: @ 82FF408 - obj_frame_tiles gHeap + 0xE000, 0x800 - obj_frame_tiles gHeap + 0xE800, 0x800 - obj_frame_tiles gHeap + 0xF000, 0x800 - obj_frame_tiles gHeap + 0xF800, 0x800 - - .align 2 -gUnknown_082FF428:: @ 82FF428 - obj_frame_tiles gTrainerBackPic_Brendan, 0x0800 - obj_frame_tiles gTrainerBackPic_Brendan + 0x0800, 0x0800 - obj_frame_tiles gTrainerBackPic_Brendan + 0x1000, 0x0800 - obj_frame_tiles gTrainerBackPic_Brendan + 0x1800, 0x0800 - - .align 2 -gUnknown_082FF448:: @ 82FF448 - obj_frame_tiles gTrainerBackPic_May, 0x0800 - obj_frame_tiles gTrainerBackPic_May + 0x0800, 0x0800 - obj_frame_tiles gTrainerBackPic_May + 0x1000, 0x0800 - obj_frame_tiles gTrainerBackPic_May + 0x1800, 0x0800 - - .align 2 -gUnknown_082FF468:: @ 82FF468 - obj_frame_tiles gTrainerBackPic_Red, 0x0800 - obj_frame_tiles gTrainerBackPic_Red + 0x0800, 0x0800 - obj_frame_tiles gTrainerBackPic_Red + 0x1000, 0x0800 - obj_frame_tiles gTrainerBackPic_Red + 0x1800, 0x0800 - obj_frame_tiles gTrainerBackPic_Red + 0x2000, 0x0800 - - .align 2 -gUnknown_082FF490:: @ 82FF490 - obj_frame_tiles gTrainerBackPic_Leaf, 0x0800 - obj_frame_tiles gTrainerBackPic_Leaf + 0x0800, 0x0800 - obj_frame_tiles gTrainerBackPic_Leaf + 0x1000, 0x0800 - obj_frame_tiles gTrainerBackPic_Leaf + 0x1800, 0x0800 - obj_frame_tiles gTrainerBackPic_Leaf + 0x2000, 0x0800 - - .align 2 -gUnknown_082FF4B8:: @ 82FF4B8 - obj_frame_tiles gTrainerBackPic_RubySapphireBrendan, 0x0800 - obj_frame_tiles gTrainerBackPic_RubySapphireBrendan + 0x0800, 0x0800 - obj_frame_tiles gTrainerBackPic_RubySapphireBrendan + 0x1000, 0x0800 - obj_frame_tiles gTrainerBackPic_RubySapphireBrendan + 0x1800, 0x0800 - - .align 2 -gUnknown_082FF4D8:: @ 82FF4D8 - obj_frame_tiles gTrainerBackPic_RubySapphireMay, 0x0800 - obj_frame_tiles gTrainerBackPic_RubySapphireMay + 0x0800, 0x0800 - obj_frame_tiles gTrainerBackPic_RubySapphireMay + 0x1000, 0x0800 - obj_frame_tiles gTrainerBackPic_RubySapphireMay + 0x1800, 0x0800 - - .align 2 -gUnknown_082FF4F8:: @ 82FF4F8 - obj_frame_tiles gTrainerBackPic_Wally, 0x0800 - obj_frame_tiles gTrainerBackPic_Wally + 0x0800, 0x0800 - obj_frame_tiles gTrainerBackPic_Wally + 0x1000, 0x0800 - obj_frame_tiles gTrainerBackPic_Wally + 0x1800, 0x0800 - - .align 2 -gUnknown_082FF518:: @ 82FF518 - obj_frame_tiles gTrainerBackPic_Steven, 0x0800 - obj_frame_tiles gTrainerBackPic_Steven + 0x0800, 0x0800 - obj_frame_tiles gTrainerBackPic_Steven + 0x1000, 0x0800 - obj_frame_tiles gTrainerBackPic_Steven + 0x1800, 0x0800 - - .align 2 -gAnimCmd_General_Frame0:: @ 82FF538 - obj_image_anim_frame 0, 0 - obj_image_anim_end - - .align 2 -AnimCmd_82FF540:: @ 82FF540 - .2byte 0x0003, 0x0000, 0xffff, 0x0000 - - .align 2 -gUnknown_082FF548:: @ 82FF548 - .2byte 0x0100, 0x0100, 0x0000, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_082FF558:: @ 82FF558 - .2byte 0xff00, 0x0100, 0x0000, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_082FF568:: @ 82FF568 - .2byte 0x0028, 0x0028, 0x0000, 0x0000, 0x0012, 0x0012, 0x0c00, 0x0000 - .2byte 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_082FF580:: @ 82FF580 - .2byte 0xfffe, 0xfffe, 0x1200, 0x0000, 0xfff0, 0xfff0, 0x0f00, 0x0000 - .2byte 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_082FF598:: @ 82FF598 - .2byte 0x00a0, 0x0100, 0x0000, 0x0000, 0x0004, 0x0000, 0x0800, 0x0000 - .2byte 0xfffc, 0x0000, 0x0800, 0x0000, 0x7ffe, 0x0001, 0x0000, 0x0000 - - .align 2 -gUnknown_082FF5B8:: @ 82FF5B8 - .2byte 0x0002, 0x0002, 0x1400, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_082FF5C8:: @ 82FF5C8 - .2byte 0xfffe, 0xfffe, 0x1400, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_082FF5D8:: @ 82FF5D8 - .2byte 0x0100, 0x0100, 0x0000, 0x0000, 0xfff0, 0xfff0, 0x0900, 0x0000 - .2byte 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_082FF5F0:: @ 82FF5F0 - .2byte 0x0004, 0x0004, 0x3f00, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_082FF600:: @ 82FF600 - .2byte 0x0000, 0x0000, 0x05fd, 0x0000, 0x0000, 0x0000, 0x0503, 0x0000 - .2byte 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_082FF618:: @ 82FF618 - .4byte gUnknown_082FF548 - .4byte gUnknown_082FF568 - .4byte gUnknown_082FF580 - .4byte gUnknown_082FF598 - .4byte gUnknown_082FF5B8 - .4byte gUnknown_082FF5C8 - .4byte gUnknown_082FF5F0 - .4byte gUnknown_082FF600 - .4byte gUnknown_082FF5D8 - - .align 2 -gUnknown_082FF63C:: @ 82FF63C - .2byte 0xfffc, 0xfffc, 0x3f04, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_082FF64C:: @ 82FF64C - .2byte 0x0000, 0x0000, 0x0503, 0x0000, 0x0000, 0x0000, 0x05fd, 0x0000 - .2byte 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_082FF664:: @ 82FF664 - .2byte 0x0000, 0x0000, 0x14fb, 0x0000, 0x0000, 0x0000, 0x1400, 0x0000 - .2byte 0x0000, 0x0000, 0x1405, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_082FF684:: @ 82FF684 - .2byte 0x0000, 0x0000, 0x6e09, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_082FF694:: @ 82FF694 - .4byte gUnknown_082FF548 - .4byte gUnknown_082FF568 - .4byte gUnknown_082FF580 - .4byte gUnknown_082FF598 - .4byte gUnknown_082FF5B8 - .4byte gUnknown_082FF5C8 - .4byte gUnknown_082FF63C - .4byte gUnknown_082FF64C - .4byte gUnknown_082FF664 - .4byte gUnknown_082FF5D8 - .4byte gUnknown_082FF684 - - .align 2 -gUnknown_082FF6C0:: @ 82FF6C0 - .4byte gUnknown_082FF558 - .4byte gUnknown_082FF568 - .4byte gUnknown_082FF580 - .4byte gUnknown_082FF598 - .4byte gUnknown_082FF5B8 - .4byte gUnknown_082FF5C8 - .4byte gUnknown_082FF63C - .4byte gUnknown_082FF64C - .4byte gUnknown_082FF664 - .4byte gUnknown_082FF5D8 - .4byte gUnknown_082FF684 diff --git a/data/field_ground_effect.s b/data/field_ground_effect.s deleted file mode 100644 index 686d9396b7..0000000000 --- a/data/field_ground_effect.s +++ /dev/null @@ -1,6 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - .align 2, 0 - diff --git a/ld_script.txt b/ld_script.txt index 071d2594ec..e9f59350e6 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -380,7 +380,6 @@ SECTIONS { src/rtc.o(.rodata); src/main_menu.o(.rodata); src/rom_8034C54.o(.rodata); - data/data2b.o(.rodata); src/data2b.o(.rodata); src/battle_data.o(.rodata); data/data2c.o(.rodata); diff --git a/src/data2b.c b/src/data2b.c index 46a158e09b..50cdee3232 100644 --- a/src/data2b.c +++ b/src/data2b.c @@ -1,9 +1,257 @@ #include "global.h" #include "data2.h" #include "graphics.h" +#include "malloc.h" -extern const union AnimCmd gAnimCmd_General_Frame0[]; -extern const union AnimCmd AnimCmd_82FF540[]; +const u16 gUnknown_082FF1D8[] = INCBIN_U16("graphics/link/minigame_digits.gbapal"); +const u8 gUnknown_082FF1F8[] = INCBIN_U8("graphics/link/minigame_digits.4bpp.lz"); +const u8 gUnknown_082FF2B8[] = INCBIN_U8("graphics/link/minigame_digits2.4bpp.lz"); + +const struct SpriteFrameImage gUnknown_082FF3A8[] = +{ + gHeap + 0x8000, 0x800, + gHeap + 0x8800, 0x800, + gHeap + 0x9000, 0x800, + gHeap + 0x9800, 0x800, +}; + +const struct SpriteFrameImage gUnknown_082FF3C8[] = +{ + gHeap + 0xA000, 0x800, + gHeap + 0xA800, 0x800, + gHeap + 0xB000, 0x800, + gHeap + 0xB800, 0x800, +}; + +const struct SpriteFrameImage gUnknown_082FF3E8[] = +{ + gHeap + 0xC000, 0x800, + gHeap + 0xC800, 0x800, + gHeap + 0xD000, 0x800, + gHeap + 0xD800, 0x800, +}; + +const struct SpriteFrameImage gUnknown_082FF408[] = +{ + gHeap + 0xE000, 0x800, + gHeap + 0xE800, 0x800, + gHeap + 0xF000, 0x800, + gHeap + 0xF800, 0x800, +}; + +const struct SpriteFrameImage gUnknown_082FF428[] = +{ + gTrainerBackPic_Brendan, 0x0800, + gTrainerBackPic_Brendan + 0x0800, 0x0800, + gTrainerBackPic_Brendan + 0x1000, 0x0800, + gTrainerBackPic_Brendan + 0x1800, 0x0800, +}; + +const struct SpriteFrameImage gUnknown_082FF448[] = +{ + gTrainerBackPic_May, 0x0800, + gTrainerBackPic_May + 0x0800, 0x0800, + gTrainerBackPic_May + 0x1000, 0x0800, + gTrainerBackPic_May + 0x1800, 0x0800, +}; + +const struct SpriteFrameImage gUnknown_082FF468[] = +{ + gTrainerBackPic_Red, 0x0800, + gTrainerBackPic_Red + 0x0800, 0x0800, + gTrainerBackPic_Red + 0x1000, 0x0800, + gTrainerBackPic_Red + 0x1800, 0x0800, + gTrainerBackPic_Red + 0x2000, 0x0800, +}; + +const struct SpriteFrameImage gUnknown_082FF490[] = +{ + gTrainerBackPic_Leaf, 0x0800, + gTrainerBackPic_Leaf + 0x0800, 0x0800, + gTrainerBackPic_Leaf + 0x1000, 0x0800, + gTrainerBackPic_Leaf + 0x1800, 0x0800, + gTrainerBackPic_Leaf + 0x2000, 0x0800, +}; + +const struct SpriteFrameImage gUnknown_082FF4B8[] = +{ + gTrainerBackPic_RubySapphireBrendan, 0x0800, + gTrainerBackPic_RubySapphireBrendan + 0x0800, 0x0800, + gTrainerBackPic_RubySapphireBrendan + 0x1000, 0x0800, + gTrainerBackPic_RubySapphireBrendan + 0x1800, 0x0800, +}; + +const struct SpriteFrameImage gUnknown_082FF4D8[] = +{ + gTrainerBackPic_RubySapphireMay, 0x0800, + gTrainerBackPic_RubySapphireMay + 0x0800, 0x0800, + gTrainerBackPic_RubySapphireMay + 0x1000, 0x0800, + gTrainerBackPic_RubySapphireMay + 0x1800, 0x0800, +}; + +const struct SpriteFrameImage gUnknown_082FF4F8[] = +{ + gTrainerBackPic_Wally, 0x0800, + gTrainerBackPic_Wally + 0x0800, 0x0800, + gTrainerBackPic_Wally + 0x1000, 0x0800, + gTrainerBackPic_Wally + 0x1800, 0x0800, +}; + +const struct SpriteFrameImage gUnknown_082FF518[] = +{ + gTrainerBackPic_Steven, 0x0800, + gTrainerBackPic_Steven + 0x0800, 0x0800, + gTrainerBackPic_Steven + 0x1000, 0x0800, + gTrainerBackPic_Steven + 0x1800, 0x0800, +}; + +const union AnimCmd gAnimCmd_General_Frame0[] = +{ + ANIMCMD_FRAME(0, 0), + ANIMCMD_END, +}; + +const union AnimCmd AnimCmd_82FF540[] = +{ + ANIMCMD_FRAME(3, 0), + ANIMCMD_END, +}; + +const union AffineAnimCmd gUnknown_082FF548[] = +{ + AFFINEANIMCMD_FRAME(0x0100, 0x0100, 0x00, 0x00), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd gUnknown_082FF558[] = +{ + AFFINEANIMCMD_FRAME(0xff00, 0x0100, 0x00, 0x00), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd gUnknown_082FF568[] = +{ + AFFINEANIMCMD_FRAME(0x0028, 0x0028, 0x00, 0x00), + AFFINEANIMCMD_FRAME(0x0012, 0x0012, 0x00, 0x0c), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd gUnknown_082FF580[] = +{ + AFFINEANIMCMD_FRAME(0xfffe, 0xfffe, 0x00, 0x12), + AFFINEANIMCMD_FRAME(0xfff0, 0xfff0, 0x00, 0x0f), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd gUnknown_082FF598[] = +{ + AFFINEANIMCMD_FRAME(0x00a0, 0x0100, 0x00, 0x00), + AFFINEANIMCMD_FRAME(0x0004, 0x0000, 0x00, 0x08), + AFFINEANIMCMD_FRAME(0xfffc, 0x0000, 0x00, 0x08), + AFFINEANIMCMD_JUMP(1), +}; + +const union AffineAnimCmd gUnknown_082FF5B8[] = +{ + AFFINEANIMCMD_FRAME(0x0002, 0x0002, 0x00, 0x14), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd gUnknown_082FF5C8[] = +{ + AFFINEANIMCMD_FRAME(0xfffe, 0xfffe, 0x00, 0x14), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd gUnknown_082FF5D8[] = +{ + AFFINEANIMCMD_FRAME(0x0100, 0x0100, 0x00, 0000), + AFFINEANIMCMD_FRAME(0xfff0, 0xfff0, 0x00, 0x09), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd gUnknown_082FF5F0[] = +{ + AFFINEANIMCMD_FRAME(0x0004, 0x0004, 0x00, 0x3f), + AFFINEANIMCMD_END, +}; + +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[] = +{ + gUnknown_082FF548, + gUnknown_082FF568, + gUnknown_082FF580, + gUnknown_082FF598, + gUnknown_082FF5B8, + gUnknown_082FF5C8, + gUnknown_082FF5F0, + gUnknown_082FF600, + gUnknown_082FF5D8, +}; + +const union AffineAnimCmd gUnknown_082FF63C[] = +{ + AFFINEANIMCMD_FRAME(0xfffc, 0xfffc, 0x04, 0x3f), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd gUnknown_082FF64C[] = +{ + AFFINEANIMCMD_FRAME(0x0000, 0x0000, 0x03, 0x05), + AFFINEANIMCMD_FRAME(0x0000, 0x0000, 0xfd, 0x05), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd gUnknown_082FF664[] = +{ + AFFINEANIMCMD_FRAME(0x0000, 0x0000, 0xfb, 0x14), + AFFINEANIMCMD_FRAME(0x0000, 0x0000, 0x00, 0x14), + AFFINEANIMCMD_FRAME(0x0000, 0x0000, 0x05, 0x14), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd gUnknown_082FF684[] = +{ + AFFINEANIMCMD_FRAME(0x0000, 0x0000, 0x09, 0x6e), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd * const gUnknown_082FF694[] = +{ + gUnknown_082FF548, + gUnknown_082FF568, + gUnknown_082FF580, + gUnknown_082FF598, + gUnknown_082FF5B8, + gUnknown_082FF5C8, + gUnknown_082FF63C, + gUnknown_082FF64C, + gUnknown_082FF664, + gUnknown_082FF5D8, + gUnknown_082FF684, +}; + +const union AffineAnimCmd * const gUnknown_082FF6C0[] = +{ + gUnknown_082FF558, + gUnknown_082FF568, + gUnknown_082FF580, + gUnknown_082FF598, + gUnknown_082FF5B8, + gUnknown_082FF5C8, + gUnknown_082FF63C, + gUnknown_082FF64C, + gUnknown_082FF664, + gUnknown_082FF5D8, + gUnknown_082FF684, +}; #include "data/pokemon_graphics/unknown_anims.h" #include "data/pokemon_graphics/front_pic_coordinates.h" From b6ee8823f021a7da98cf84d5fc8a6b8609d1630f Mon Sep 17 00:00:00 2001 From: Slawter666 <38655737+Slawter666@users.noreply.github.com> Date: Tue, 11 Sep 2018 02:04:03 +0100 Subject: [PATCH 199/234] Move field_special_scene data to C --- data/field_special_scene.s | 15 --------------- ld_script.txt | 2 +- src/field_special_scene.c | 24 ++++++++++++------------ 3 files changed, 13 insertions(+), 28 deletions(-) delete mode 100644 data/field_special_scene.s diff --git a/data/field_special_scene.s b/data/field_special_scene.s deleted file mode 100644 index 16e5a366df..0000000000 --- a/data/field_special_scene.s +++ /dev/null @@ -1,15 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - - .align 2, 0 - -gTruckCamera_HorizontalTable:: @ 858E898 - .byte 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 2, 2, 2, 2, 2, -1, -1, -1, 0 - -gUnknown_0858E8AB:: @ 858E8AB - .byte 0x18, 0xFE - -gUnknown_0858E8AD:: @ 858E8AD - .byte 0x17, 0xFE diff --git a/ld_script.txt b/ld_script.txt index e9f59350e6..678939e64f 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -454,7 +454,7 @@ SECTIONS { data/script_pokemon_util_80F87D8.o(.rodata); src/pokemon_size_record.o(.rodata) data/field_effect_misc.o(.rodata); - data/field_special_scene.o(.rodata); + src/field_special_scene.o(.rodata); src/rotating_gate.o(.rodata); data/item_use.o(.rodata); data/battle_anim_80FE840.o(.rodata); diff --git a/src/field_special_scene.c b/src/field_special_scene.c index c6cb0741d4..1cabf63d69 100644 --- a/src/field_special_scene.c +++ b/src/field_special_scene.c @@ -1,22 +1,21 @@ #include "global.h" -#include "task.h" -#include "sprite.h" +#include "event_data.h" #include "event_object_movement.h" -#include "constants/songs.h" -#include "sound.h" +#include "main.h" #include "palette.h" #include "script.h" +#include "script_movement.h" +#include "sound.h" +#include "sprite.h" +#include "task.h" +#include "constants/songs.h" #include "constants/vars.h" -#include "event_data.h" -#include "main.h" #define SECONDS(value) ((signed) (60.0 * value + 0.5)) extern u8 GetSSTidalLocation(s8 *, s8 *, s16 *, s16 *); // should be in field_specials.h extern void Overworld_SetWarpDestination(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y); -extern bool8 ScriptMovement_IsObjectMovementFinished(u8, u8, u8); extern bool32 CountSSTidalStep(u16); -extern bool8 ScriptMovement_StartObjectMovementScript(u8, u8, u8, u8 *); extern void copy_saved_warp2_bank_and_enter_x_to_warp1(u8 unused); extern void sp13E_warp_to_last_warp(void); extern void saved_warp2_set(int unused, s8 mapGroup, s8 mapNum, s8 warpId); @@ -38,11 +37,12 @@ extern void pal_fill_black(void); extern void MapGridSetMetatileIdAt(s32 x, s32 y, u16 metatileId); extern void DrawWholeMapView(); -extern s8 gTruckCamera_HorizontalTable[]; - -extern u8 gUnknown_0858E8AB[]; -extern u8 gUnknown_0858E8AD[]; +//. rodata +static const s8 gTruckCamera_HorizontalTable[] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 2, 2, 2, 2, 2, -1, -1, -1, 0}; +const u8 gUnknown_0858E8AB[] = {0x18, 0xFE}; +const u8 gUnknown_0858E8AD[] = {0x17, 0xFE}; +// .text void Task_Truck3(u8); s16 GetTruckCameraBobbingY(int a1) From 3c16d8c59876b2d5d84a3c9d82a7fc5718a32edb Mon Sep 17 00:00:00 2001 From: Slawter666 <38655737+Slawter666@users.noreply.github.com> Date: Tue, 11 Sep 2018 02:17:21 +0100 Subject: [PATCH 200/234] Move braille_puzzles data to C --- data/braille_puzzles.s | 16 ------------ ld_script.txt | 2 +- src/braille_puzzles.c | 55 ++++++++++++++++++++++++++++++++++-------- 3 files changed, 46 insertions(+), 27 deletions(-) delete mode 100644 data/braille_puzzles.s diff --git a/data/braille_puzzles.s b/data/braille_puzzles.s deleted file mode 100644 index 55dcb3a26a..0000000000 --- a/data/braille_puzzles.s +++ /dev/null @@ -1,16 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - - .align 2 -gUnknown_085EFE74:: @ 85EFE74 - .byte 0x04, 0x15, 0x05, 0x15, 0x06, 0x15, 0x07, 0x15 - .byte 0x08, 0x15, 0x09, 0x15, 0x0a, 0x15, 0x0b, 0x15 - .byte 0x0c, 0x15, 0x0c, 0x16, 0x0c, 0x17, 0x0d, 0x17 - .byte 0x0d, 0x18, 0x0d, 0x19, 0x0d, 0x1a, 0x0d, 0x1b - .byte 0x0c, 0x1b, 0x0c, 0x1c, 0x04, 0x1d, 0x05, 0x1d - .byte 0x06, 0x1d, 0x07, 0x1d, 0x08, 0x1d, 0x09, 0x1d - .byte 0x0a, 0x1d, 0x0b, 0x1d, 0x0c, 0x1d, 0x04, 0x1c - .byte 0x04, 0x1b, 0x03, 0x1b, 0x03, 0x1a, 0x03, 0x19 - .byte 0x03, 0x18, 0x03, 0x17, 0x04, 0x17, 0x04, 0x16 diff --git a/ld_script.txt b/ld_script.txt index 678939e64f..95d546276a 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -512,7 +512,7 @@ SECTIONS { src/berry_tag_screen.o(.rodata); src/mystery_event_menu.o(.rodata); src/save_failed_screen.o(.rodata); - data/braille_puzzles.o(.rodata); + src/braille_puzzles.o(.rodata); src/pokeblock_feed.o(.rodata); src/clear_save_data_screen.o(.rodata); src/intro_credits_graphics.o(.rodata); diff --git a/src/braille_puzzles.c b/src/braille_puzzles.c index b7ed1f7135..4765141de4 100644 --- a/src/braille_puzzles.c +++ b/src/braille_puzzles.c @@ -1,19 +1,16 @@ #include "global.h" #include "event_data.h" -#include "constants/songs.h" -#include "sound.h" -#include "script.h" -#include "constants/species.h" -#include "task.h" +#include "field_camera.h" #include "field_effect.h" +#include "script.h" +#include "sound.h" +#include "task.h" #include "constants/flags.h" #include "constants/maps.h" +#include "constants/songs.h" +#include "constants/species.h" extern void MapGridSetMetatileIdAt(s32 x, s32 y, u16 metatileId); // fieldmap -extern void DrawWholeMapView(); // field_camera -extern void SetCameraPanningCallback(void ( *callback)()); // field_camera -extern void InstallCameraPanAheadCallback(void); -extern void SetCameraPanning(s16 x, s16 y); extern u8 GetCursorSelectionMonId(void); extern u8 oei_task_add(void); @@ -26,7 +23,45 @@ enum EWRAM_DATA static u8 sBraillePuzzleCallbackFlag = 0; -extern const u8 gUnknown_085EFE74[][2]; +static const u8 gUnknown_085EFE74[][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}, +}; void SealedChamberShakingEffect(u8); void sub_8179860(void); From 991151f4613e534f73141035b054ab7914d04a14 Mon Sep 17 00:00:00 2001 From: Slawter666 <38655737+Slawter666@users.noreply.github.com> Date: Tue, 11 Sep 2018 03:04:19 +0100 Subject: [PATCH 201/234] Move item_use data to C --- data/item_use.s | 21 ---------------- include/party_menu.h | 11 +++++++++ ld_script.txt | 2 +- src/item_use.c | 59 ++++++++++++++++++++++++++------------------ 4 files changed, 47 insertions(+), 46 deletions(-) delete mode 100644 data/item_use.s diff --git a/data/item_use.s b/data/item_use.s deleted file mode 100644 index 6c9affbc80..0000000000 --- a/data/item_use.s +++ /dev/null @@ -1,21 +0,0 @@ - - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - .align 2, 0 - - .align 2 -gUnknown_085920D8:: @ 85920D8 - .4byte sub_81B617C - .4byte CB2_ReturnToField - .4byte NULL - - .align 2 -gUnknown_085920E4:: @ 85920E4 - .byte 0x02, 0x04, 0x01, 0x03 - - .align 2 -gUnknown_085920E8:: @ 85920E8 - .4byte sub_80FE03C - .4byte bag_menu_inits_lists_menu diff --git a/include/party_menu.h b/include/party_menu.h index 02e4812002..b93b78544c 100644 --- a/include/party_menu.h +++ b/include/party_menu.h @@ -58,7 +58,18 @@ void sub_81B8904(u8 arg0, void (*callback)(void)); void OpenPartyMenuInBattle(u8 caseId); u16 ItemIdToBattleMoveId(u16 itemId); u8 sub_81B205C(struct Pokemon* a); +void sub_81B617C(void); u8 sub_81B6D14(u16 a); bool8 hm_add_c3_without_phase_2(void); +extern void dp05_ether(u8, u16, TaskFunc); +extern void dp05_pp_up(u8, u16, TaskFunc); +extern void dp05_rare_candy(u8, u16, TaskFunc); + +extern void sub_81B67C8(u8, u16, TaskFunc); +extern void sub_81B79E8(u8, u16, TaskFunc); +extern void sub_81B6DC4(u8, u16, TaskFunc); +extern void sub_81B7C74(u8, u16, TaskFunc); +extern u16 ItemIdToBattleMoveId(u16); + #endif // GUARD_PARTY_MENU_H diff --git a/ld_script.txt b/ld_script.txt index 95d546276a..6ec697253f 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -456,7 +456,7 @@ SECTIONS { data/field_effect_misc.o(.rodata); src/field_special_scene.o(.rodata); src/rotating_gate.o(.rodata); - data/item_use.o(.rodata); + src/item_use.o(.rodata); data/battle_anim_80FE840.o(.rodata); src/bike.o(.rodata); data/easy_chat.o(.rodata); diff --git a/src/item_use.c b/src/item_use.c index ea8206502d..67bdabd879 100755 --- a/src/item_use.c +++ b/src/item_use.c @@ -1,15 +1,10 @@ #include "global.h" #include "item_use.h" #include "battle.h" -#include "main.h" +#include "battle_pyramid_bag.h" #include "berry.h" #include "bike.h" #include "coins.h" -#include "constants/bg_event_constants.h" -#include "constants/flags.h" -#include "constants/items.h" -#include "constants/songs.h" -#include "constants/vars.h" #include "data2.h" #include "event_data.h" #include "fieldmap.h" @@ -18,25 +13,31 @@ #include "field_screen.h" #include "field_weather.h" #include "item.h" +#include "item_menu.h" #include "mail.h" +#include "main.h" +#include "menu.h" +#include "menu_helpers.h" #include "metatile_behavior.h" #include "overworld.h" #include "palette.h" +#include "party_menu.h" +#include "pokeblock.h" #include "pokemon.h" #include "rom_818CFC8.h" #include "script.h" #include "sound.h" +#include "strings.h" #include "string_util.h" #include "task.h" #include "text.h" -#include "strings.h" -#include "pokeblock.h" -#include "menu.h" -#include "item_menu.h" -#include "battle_pyramid_bag.h" +#include "constants/bg_event_constants.h" +#include "constants/flags.h" +#include "constants/items.h" +#include "constants/songs.h" +#include "constants/vars.h" extern void(*gUnknown_0203A0F4)(u8 taskId); -extern void(*gUnknown_085920D8[])(void); extern void (*gUnknown_03006328)(u8, u16, TaskFunc); extern void unknown_ItemMenu_Confirm(u8 taskId); extern void sub_81C5B14(u8 taskId); @@ -45,7 +46,6 @@ extern void ItemUseOutOfBattle_TMHM(u8 a); extern void ItemUseOutOfBattle_EvolutionStone(u8 b); extern bool8 IsPlayerFacingSurfableFishableWater(void); extern bool8 sub_81221AC(void); -extern u8 gUnknown_085920E4[]; extern u8 Route102_EventScript_274482[]; extern u8 Route102_EventScript_2744C0[]; extern u8 BattleFrontier_OutsideEast_EventScript_242CFC[]; @@ -53,16 +53,7 @@ extern int sub_80247BC(void); extern struct MapHeader* mapconnection_get_mapheader(struct MapConnection *connection); extern void SetUpItemUseCallback(u8 taskId); extern void ItemUseCB_Medicine(u8, u16, TaskFunc); -extern void sub_81B67C8(u8, u16, TaskFunc); -extern void sub_81B79E8(u8, u16, TaskFunc); -extern void dp05_ether(u8, u16, TaskFunc); -extern void dp05_pp_up(u8, u16, TaskFunc); -extern void dp05_rare_candy(u8, u16, TaskFunc); -extern void sub_81B6DC4(u8, u16, TaskFunc); -extern void sub_81B7C74(u8, u16, TaskFunc); -extern u16 ItemIdToBattleMoveId(u16); -extern void bag_menu_yes_no(u8, u8, void(**)(u8 taskId)); -extern void (*gUnknown_085920E8[])(u8 taskId); +extern void bag_menu_yes_no(u8, u8, const struct YesNoFuncTable*); extern void sub_81C5924(void); extern void sub_81C59BC(void); extern void sub_81AB9A8(u8); @@ -92,6 +83,7 @@ void sub_80FDE7C(u8 taskId); void sub_80FDF90(u8 taskId); void task08_0809AD8C(u8 taskId); void sub_80FE024(u8 taskId); +void sub_80FE03C(u8 taskId); void sub_80FE124(u8 taskId); void sub_80FE164(u8 taskId); @@ -108,6 +100,25 @@ void sub_80FDBEC(void); bool8 sub_80FDE2C(void); void ItemUseOutOfBattle_CannotUse(u8 taskId); +// .rodata + +static const MainCallback gUnknown_085920D8[] = +{ + sub_81B617C, + CB2_ReturnToField, + NULL, +}; + +static const u8 gUnknown_085920E4[] = {DIR_NORTH, DIR_EAST, DIR_SOUTH, DIR_WEST}; + +static const struct YesNoFuncTable gUnknown_085920E8 = +{ + .yesFunc = sub_80FE03C, + .noFunc = bag_menu_inits_lists_menu, +}; + +// .text + void SetUpItemUseCallback(u8 taskId) { u8 type; @@ -784,7 +795,7 @@ void task08_0809AD8C(u8 taskId) void sub_80FE024(u8 taskId) { - bag_menu_yes_no(taskId, 6, gUnknown_085920E8); + bag_menu_yes_no(taskId, 6, &gUnknown_085920E8); } void sub_80FE03C(u8 taskId) From ba125b23fd7a51675c27d5d23e8037e7c9dfdeb7 Mon Sep 17 00:00:00 2001 From: Marcus Huderle <huderlem@gmail.com> Date: Tue, 11 Sep 2018 17:18:10 -0500 Subject: [PATCH 202/234] Remove transparency from event object spritesheets --- Makefile | 2 +- event_obj_graphics_makefile_rules.mk | 618 ---------------- .../event_objects/pics/berry_trees/aguav.png | Bin 638 -> 522 bytes .../event_objects/pics/berry_trees/aspear.png | Bin 712 -> 596 bytes .../event_objects/pics/berry_trees/cheri.png | Bin 783 -> 667 bytes .../event_objects/pics/berry_trees/chesto.png | Bin 816 -> 700 bytes .../event_objects/pics/berry_trees/cornn.png | Bin 709 -> 593 bytes .../pics/berry_trees/dirt_pile.png | Bin 189 -> 176 bytes .../event_objects/pics/berry_trees/durin.png | Bin 680 -> 564 bytes .../event_objects/pics/berry_trees/figy.png | Bin 708 -> 592 bytes .../event_objects/pics/berry_trees/grepa.png | Bin 611 -> 495 bytes .../event_objects/pics/berry_trees/hondew.png | Bin 620 -> 504 bytes .../event_objects/pics/berry_trees/iapapa.png | Bin 566 -> 450 bytes .../event_objects/pics/berry_trees/kelpsy.png | Bin 580 -> 464 bytes .../event_objects/pics/berry_trees/lansat.png | Bin 626 -> 510 bytes .../event_objects/pics/berry_trees/leppa.png | Bin 691 -> 575 bytes .../event_objects/pics/berry_trees/liechi.png | Bin 681 -> 565 bytes .../event_objects/pics/berry_trees/lum.png | Bin 724 -> 608 bytes .../event_objects/pics/berry_trees/mago.png | Bin 717 -> 601 bytes .../event_objects/pics/berry_trees/nomel.png | Bin 605 -> 489 bytes .../event_objects/pics/berry_trees/oran.png | Bin 755 -> 639 bytes .../event_objects/pics/berry_trees/pamtre.png | Bin 636 -> 520 bytes .../event_objects/pics/berry_trees/pecha.png | Bin 680 -> 564 bytes .../event_objects/pics/berry_trees/persim.png | Bin 654 -> 538 bytes .../event_objects/pics/berry_trees/pomeg.png | Bin 588 -> 472 bytes .../event_objects/pics/berry_trees/rabuta.png | Bin 657 -> 541 bytes .../event_objects/pics/berry_trees/rawst.png | Bin 583 -> 467 bytes .../event_objects/pics/berry_trees/razz.png | Bin 766 -> 650 bytes .../event_objects/pics/berry_trees/sitrus.png | Bin 709 -> 593 bytes .../event_objects/pics/berry_trees/spelon.png | Bin 581 -> 465 bytes .../event_objects/pics/berry_trees/sprout.png | Bin 337 -> 221 bytes .../event_objects/pics/berry_trees/tamato.png | Bin 645 -> 529 bytes .../event_objects/pics/berry_trees/wepear.png | Bin 689 -> 573 bytes .../event_objects/pics/berry_trees/wiki.png | Bin 640 -> 524 bytes .../pics/cushions/ball_cushion.png | Bin 215 -> 202 bytes .../pics/cushions/diamond_cushion.png | Bin 216 -> 203 bytes .../pics/cushions/fire_cushion.png | Bin 209 -> 196 bytes .../pics/cushions/grass_cushion.png | Bin 208 -> 195 bytes .../pics/cushions/kiss_cushion.png | Bin 213 -> 200 bytes .../pics/cushions/pika_cushion.png | Bin 199 -> 186 bytes .../pics/cushions/round_cushion.png | Bin 214 -> 201 bytes .../pics/cushions/spin_cushion.png | Bin 224 -> 211 bytes .../pics/cushions/water_cushion.png | Bin 205 -> 192 bytes .../pics/cushions/zigzag_cushion.png | Bin 226 -> 213 bytes .../event_objects/pics/dolls/azurill_doll.png | Bin 215 -> 202 bytes .../event_objects/pics/dolls/baltoy_doll.png | Bin 216 -> 203 bytes .../pics/dolls/big_blastoise_doll.png | Bin 425 -> 412 bytes .../pics/dolls/big_charizard_doll.png | Bin 398 -> 385 bytes .../pics/dolls/big_lapras_doll.png | Bin 380 -> 367 bytes .../pics/dolls/big_regice_doll.png | Bin 380 -> 367 bytes .../pics/dolls/big_regirock_doll.png | Bin 390 -> 377 bytes .../pics/dolls/big_registeel_doll.png | Bin 389 -> 376 bytes .../pics/dolls/big_rhydon_doll.png | Bin 393 -> 380 bytes .../pics/dolls/big_snorlax_doll.png | Bin 379 -> 366 bytes .../pics/dolls/big_venusaur_doll.png | Bin 463 -> 450 bytes .../pics/dolls/big_wailmer_doll.png | Bin 357 -> 344 bytes .../pics/dolls/chikorita_doll.png | Bin 213 -> 200 bytes .../pics/dolls/clefairy_doll.png | Bin 227 -> 214 bytes .../pics/dolls/cyndaquil_doll.png | Bin 232 -> 219 bytes .../event_objects/pics/dolls/ditto_doll.png | Bin 205 -> 192 bytes .../event_objects/pics/dolls/duskull_doll.png | Bin 228 -> 215 bytes .../event_objects/pics/dolls/gulpin_doll.png | Bin 215 -> 202 bytes .../pics/dolls/jigglypuff_doll.png | Bin 229 -> 216 bytes .../event_objects/pics/dolls/kecleon_doll.png | Bin 236 -> 223 bytes .../event_objects/pics/dolls/lotad_doll.png | Bin 236 -> 223 bytes .../event_objects/pics/dolls/marill_doll.png | Bin 225 -> 212 bytes .../event_objects/pics/dolls/meowth_doll.png | Bin 248 -> 235 bytes .../event_objects/pics/dolls/mudkip_doll.png | Bin 225 -> 212 bytes .../event_objects/pics/dolls/pichu_doll.png | Bin 230 -> 217 bytes .../event_objects/pics/dolls/pikachu_doll.png | Bin 220 -> 207 bytes .../event_objects/pics/dolls/seedot_doll.png | Bin 258 -> 245 bytes .../event_objects/pics/dolls/skitty_doll.png | Bin 222 -> 209 bytes .../pics/dolls/smoochum_doll.png | Bin 236 -> 223 bytes .../event_objects/pics/dolls/swablu_doll.png | Bin 223 -> 210 bytes .../event_objects/pics/dolls/togepi_doll.png | Bin 224 -> 211 bytes .../event_objects/pics/dolls/torchic_doll.png | Bin 239 -> 226 bytes .../pics/dolls/totodile_doll.png | Bin 230 -> 217 bytes .../event_objects/pics/dolls/treecko_doll.png | Bin 233 -> 220 bytes .../pics/dolls/unused_magnemite_doll.png | Bin 223 -> 210 bytes .../pics/dolls/unused_natu_doll.png | Bin 216 -> 203 bytes .../pics/dolls/unused_pikachu_doll.png | Bin 231 -> 218 bytes .../pics/dolls/unused_porygon2_doll.png | Bin 252 -> 239 bytes .../pics/dolls/unused_squirtle_doll.png | Bin 245 -> 232 bytes .../pics/dolls/unused_wooper_doll.png | Bin 231 -> 218 bytes .../event_objects/pics/dolls/wynaut_doll.png | Bin 214 -> 201 bytes graphics/event_objects/pics/effects/arrow.png | Bin 430 -> 314 bytes graphics/event_objects/pics/effects/ash.png | Bin 400 -> 284 bytes .../effects/berry_tree_growth_sparkle.png | Bin 0 -> 205 bytes .../effects/berry_tree_growth_sparkle/0.png | Bin 132 -> 0 bytes .../effects/berry_tree_growth_sparkle/1.png | Bin 141 -> 0 bytes .../effects/berry_tree_growth_sparkle/2.png | Bin 151 -> 0 bytes .../effects/berry_tree_growth_sparkle/3.png | Bin 153 -> 0 bytes .../effects/berry_tree_growth_sparkle/4.png | Bin 145 -> 0 bytes .../effects/berry_tree_growth_sparkle/5.png | Bin 134 -> 0 bytes .../berry_tree_growth_sparkle.png | Bin 308 -> 0 bytes .../pics/effects/bike_hop_big_splash.png | Bin 389 -> 273 bytes .../pics/effects/bike_hop_small_splash.png | Bin 313 -> 197 bytes .../pics/effects/bike_hop_tall_grass.png | Bin 0 -> 205 bytes .../pics/effects/bike_hop_tall_grass/0.png | Bin 171 -> 0 bytes .../pics/effects/bike_hop_tall_grass/1.png | Bin 169 -> 0 bytes .../pics/effects/bike_hop_tall_grass/2.png | Bin 153 -> 0 bytes .../pics/effects/bike_hop_tall_grass/3.png | Bin 151 -> 0 bytes .../bike_hop_tall_grass.png | Bin 321 -> 0 bytes .../pics/effects/bike_tire_tracks.png | Bin 0 -> 179 bytes .../pics/effects/bike_tire_tracks/0.png | Bin 165 -> 0 bytes .../pics/effects/bike_tire_tracks/1.png | Bin 153 -> 0 bytes .../pics/effects/bike_tire_tracks/2.png | Bin 149 -> 0 bytes .../pics/effects/bike_tire_tracks/3.png | Bin 172 -> 0 bytes .../bike_tire_tracks/bike_tire_tracks.png | Bin 295 -> 0 bytes graphics/event_objects/pics/effects/bird.png | Bin 288 -> 275 bytes .../event_objects/pics/effects/bubbles.png | Bin 664 -> 548 bytes .../pics/effects/deep_sand_footprints.png | Bin 0 -> 196 bytes .../pics/effects/deep_sand_footprints/0.png | Bin 182 -> 0 bytes .../pics/effects/deep_sand_footprints/1.png | Bin 174 -> 0 bytes .../deep_sand_footprints.png | Bin 312 -> 0 bytes .../pics/effects/ground_impact_dust.png | Bin 0 -> 197 bytes .../pics/effects/ground_impact_dust/0.png | Bin 174 -> 0 bytes .../pics/effects/ground_impact_dust/1.png | Bin 165 -> 0 bytes .../pics/effects/ground_impact_dust/2.png | Bin 158 -> 0 bytes .../ground_impact_dust/ground_impact_dust.png | Bin 313 -> 0 bytes .../pics/effects/hot_springs_water.png | Bin 150 -> 137 bytes .../pics/effects/jump_out_of_ash.png | Bin 462 -> 346 bytes .../event_objects/pics/effects/long_grass.png | Bin 0 -> 400 bytes .../pics/effects/long_grass/0.png | Bin 236 -> 0 bytes .../pics/effects/long_grass/1.png | Bin 230 -> 0 bytes .../pics/effects/long_grass/2.png | Bin 231 -> 0 bytes .../pics/effects/long_grass/3.png | Bin 236 -> 0 bytes .../pics/effects/long_grass/long_grass.png | Bin 516 -> 0 bytes .../pics/effects/mountain_disguise.png | Bin 523 -> 407 bytes .../event_objects/pics/effects/ripple.png | Bin 349 -> 233 bytes .../effects/sand_disguise_placeholder.png | Bin 442 -> 326 bytes .../pics/effects/sand_footprints.png | Bin 0 -> 175 bytes .../pics/effects/sand_footprints/0.png | Bin 172 -> 0 bytes .../pics/effects/sand_footprints/1.png | Bin 159 -> 0 bytes .../sand_footprints/sand_footprints.png | Bin 291 -> 0 bytes .../pics/effects/shadow_extra_large.png | Bin 165 -> 152 bytes .../pics/effects/shadow_large.png | Bin 157 -> 144 bytes .../pics/effects/shadow_medium.png | Bin 156 -> 143 bytes .../pics/effects/shadow_small.png | Bin 156 -> 143 bytes .../pics/effects/short_grass.png | Bin 274 -> 158 bytes .../event_objects/pics/effects/splash.png | Bin 281 -> 165 bytes .../event_objects/pics/effects/surf_blob.png | Bin 477 -> 361 bytes .../event_objects/pics/effects/tall_grass.png | Bin 465 -> 349 bytes .../pics/effects/tree_disguise.png | Bin 561 -> 445 bytes .../event_objects/pics/effects/unknown_16.png | Bin 0 -> 567 bytes .../pics/effects/unknown_16/0.png | Bin 244 -> 0 bytes .../pics/effects/unknown_16/1.png | Bin 241 -> 0 bytes .../pics/effects/unknown_16/2.png | Bin 246 -> 0 bytes .../pics/effects/unknown_16/3.png | Bin 249 -> 0 bytes .../pics/effects/unknown_16/4.png | Bin 250 -> 0 bytes .../pics/effects/unknown_16/5.png | Bin 226 -> 0 bytes .../event_objects/pics/effects/unknown_17.png | Bin 663 -> 547 bytes .../event_objects/pics/effects/unknown_18.png | Bin 0 -> 344 bytes .../pics/effects/unknown_18/0.png | Bin 244 -> 0 bytes .../pics/effects/unknown_18/1.png | Bin 245 -> 0 bytes .../pics/effects/unknown_18/2.png | Bin 245 -> 0 bytes .../pics/effects/unknown_18/3.png | Bin 244 -> 0 bytes .../pics/effects/unknown_18/unknown_18.png | Bin 460 -> 0 bytes .../event_objects/pics/effects/unknown_19.png | Bin 0 -> 272 bytes .../pics/effects/unknown_19/0.png | Bin 186 -> 0 bytes .../pics/effects/unknown_19/1.png | Bin 204 -> 0 bytes .../pics/effects/unknown_19/2.png | Bin 211 -> 0 bytes .../pics/effects/unknown_19/3.png | Bin 203 -> 0 bytes .../pics/effects/unknown_19/unknown_19.png | Bin 388 -> 0 bytes .../event_objects/pics/effects/unknown_20.png | Bin 0 -> 319 bytes .../pics/effects/unknown_20/0.png | Bin 154 -> 0 bytes .../pics/effects/unknown_20/1.png | Bin 171 -> 0 bytes .../pics/effects/unknown_20/2.png | Bin 197 -> 0 bytes .../pics/effects/unknown_20/3.png | Bin 211 -> 0 bytes .../pics/effects/unknown_20/4.png | Bin 206 -> 0 bytes .../pics/effects/unknown_20/unknown_20.png | Bin 435 -> 0 bytes .../event_objects/pics/effects/unknown_29.png | Bin 0 -> 197 bytes .../pics/effects/unknown_29/0.png | Bin 164 -> 0 bytes .../pics/effects/unknown_29/1.png | Bin 176 -> 0 bytes .../pics/effects/unknown_29/2.png | Bin 171 -> 0 bytes .../pics/effects/unknown_29/unknown_29.png | Bin 313 -> 0 bytes .../event_objects/pics/effects/unknown_33.png | Bin 0 -> 406 bytes .../pics/effects/unknown_33/0.png | Bin 185 -> 0 bytes .../pics/effects/unknown_33/1.png | Bin 224 -> 0 bytes .../pics/effects/unknown_33/2.png | Bin 232 -> 0 bytes .../pics/effects/unknown_33/3.png | Bin 223 -> 0 bytes .../pics/effects/unknown_33/4.png | Bin 214 -> 0 bytes .../pics/effects/unknown_33/unknown_33.png | Bin 522 -> 0 bytes .../event_objects/pics/effects/unknown_35.png | Bin 0 -> 174 bytes .../pics/effects/unknown_35/0.png | Bin 157 -> 0 bytes .../pics/effects/unknown_35/1.png | Bin 175 -> 0 bytes .../pics/effects/unknown_35/unknown_35.png | Bin 290 -> 0 bytes .../pics/effects/unknown_4F7E38/0.png | Bin 175 -> 0 bytes .../pics/effects/unused_grass.png | Bin 0 -> 389 bytes .../pics/effects/unused_grass/0.png | Bin 231 -> 0 bytes .../pics/effects/unused_grass/1.png | Bin 228 -> 0 bytes .../pics/effects/unused_grass/2.png | Bin 230 -> 0 bytes .../pics/effects/unused_grass/3.png | Bin 232 -> 0 bytes .../effects/unused_grass/unused_grass.png | Bin 492 -> 0 bytes .../event_objects/pics/misc/birchs_bag.png | Bin 234 -> 221 bytes .../pics/misc/birth_island_stone.png | Bin 224 -> 211 bytes .../pics/misc/breakable_rock.png | Bin 497 -> 381 bytes .../event_objects/pics/misc/cable_car.png | Bin 569 -> 556 bytes .../event_objects/pics/misc/cuttable_tree.png | Bin 460 -> 344 bytes graphics/event_objects/pics/misc/fossil.png | Bin 261 -> 248 bytes .../event_objects/pics/misc/item_ball.png | Bin 205 -> 192 bytes .../event_objects/pics/misc/moving_box.png | Bin 206 -> 193 bytes .../pics/misc/mr_brineys_boat.png | Bin 736 -> 620 bytes .../pics/misc/pushable_boulder.png | Bin 224 -> 211 bytes graphics/event_objects/pics/misc/ss_tidal.png | Bin 706 -> 693 bytes graphics/event_objects/pics/misc/statue.png | Bin 257 -> 244 bytes .../pics/misc/submarine_shadow.png | Bin 256 -> 243 bytes graphics/event_objects/pics/misc/truck.png | Bin 436 -> 423 bytes graphics/event_objects/pics/people/artist.png | Bin 790 -> 674 bytes graphics/event_objects/pics/people/beauty.png | Bin 828 -> 712 bytes .../event_objects/pics/people/black_belt.png | Bin 873 -> 757 bytes graphics/event_objects/pics/people/boy_1.png | Bin 790 -> 674 bytes graphics/event_objects/pics/people/boy_2.png | Bin 850 -> 734 bytes graphics/event_objects/pics/people/boy_3.png | Bin 807 -> 691 bytes graphics/event_objects/pics/people/boy_4.png | Bin 875 -> 759 bytes graphics/event_objects/pics/people/boy_5.png | Bin 517 -> 401 bytes .../pics/people/brendan/acro_bike.png | Bin 2581 -> 2465 bytes .../pics/people/brendan/decorating.png | Bin 283 -> 270 bytes .../pics/people/brendan/field_move.png | Bin 750 -> 634 bytes .../pics/people/brendan/fishing.png | Bin 1586 -> 1470 bytes .../pics/people/brendan/mach_bike.png | Bin 1165 -> 1049 bytes .../pics/people/brendan/running.png | Bin 909 -> 793 bytes .../pics/people/brendan/surfing.png | Bin 884 -> 768 bytes .../pics/people/brendan/underwater.png | Bin 650 -> 534 bytes .../pics/people/brendan/walking.png | Bin 912 -> 796 bytes .../pics/people/brendan/watering.png | Bin 757 -> 641 bytes .../event_objects/pics/people/bug_catcher.png | Bin 806 -> 690 bytes .../event_objects/pics/people/cameraman.png | Bin 787 -> 671 bytes graphics/event_objects/pics/people/camper.png | Bin 809 -> 693 bytes .../pics/people/contest_old_man.png | Bin 872 -> 756 bytes graphics/event_objects/pics/people/cook.png | Bin 582 -> 466 bytes .../pics/people/cycling_triathlete_f.png | Bin 1176 -> 1060 bytes .../pics/people/cycling_triathlete_m.png | Bin 1173 -> 1057 bytes .../pics/people/elite_four/drake.png | Bin 574 -> 458 bytes .../pics/people/elite_four/glacia.png | Bin 572 -> 456 bytes .../pics/people/elite_four/phoebe.png | Bin 576 -> 460 bytes .../pics/people/elite_four/sidney.png | Bin 558 -> 442 bytes .../event_objects/pics/people/fat_man.png | Bin 784 -> 668 bytes .../event_objects/pics/people/fisherman.png | Bin 887 -> 771 bytes .../pics/people/frontier_brains/anabel.png | Bin 825 -> 709 bytes .../pics/people/frontier_brains/brandon.png | Bin 833 -> 717 bytes .../pics/people/frontier_brains/greta.png | Bin 853 -> 737 bytes .../pics/people/frontier_brains/lucy.png | Bin 796 -> 680 bytes .../pics/people/frontier_brains/noland.png | Bin 818 -> 702 bytes .../pics/people/frontier_brains/spenser.png | Bin 779 -> 663 bytes .../pics/people/frontier_brains/tucker.png | Bin 901 -> 785 bytes .../event_objects/pics/people/gentleman.png | Bin 861 -> 745 bytes graphics/event_objects/pics/people/girl_1.png | Bin 825 -> 709 bytes graphics/event_objects/pics/people/girl_2.png | Bin 826 -> 710 bytes graphics/event_objects/pics/people/girl_3.png | Bin 896 -> 780 bytes .../pics/people/gym_leaders/brawly.png | Bin 566 -> 450 bytes .../pics/people/gym_leaders/flannery.png | Bin 605 -> 489 bytes .../pics/people/gym_leaders/juan.png | Bin 792 -> 676 bytes .../pics/people/gym_leaders/liza.png | Bin 542 -> 426 bytes .../pics/people/gym_leaders/norman.png | Bin 826 -> 710 bytes .../pics/people/gym_leaders/roxanne.png | Bin 588 -> 472 bytes .../pics/people/gym_leaders/tate.png | Bin 540 -> 424 bytes .../pics/people/gym_leaders/wattson.png | Bin 599 -> 483 bytes .../pics/people/gym_leaders/winona.png | Bin 577 -> 461 bytes .../event_objects/pics/people/hex_maniac.png | Bin 790 -> 674 bytes graphics/event_objects/pics/people/hiker.png | Bin 821 -> 705 bytes .../pics/people/hot_springs_old_woman.png | Bin 509 -> 393 bytes graphics/event_objects/pics/people/lass.png | Bin 832 -> 716 bytes graphics/event_objects/pics/people/leaf.png | Bin 893 -> 777 bytes .../pics/people/little_boy_1.png | Bin 562 -> 446 bytes .../pics/people/little_boy_2.png | Bin 558 -> 442 bytes .../pics/people/little_girl_1.png | Bin 612 -> 496 bytes .../pics/people/little_girl_2.png | Bin 594 -> 478 bytes graphics/event_objects/pics/people/man_1.png | Bin 843 -> 727 bytes graphics/event_objects/pics/people/man_2.png | Bin 832 -> 716 bytes graphics/event_objects/pics/people/man_3.png | Bin 900 -> 784 bytes graphics/event_objects/pics/people/man_4.png | Bin 858 -> 742 bytes graphics/event_objects/pics/people/man_5.png | Bin 820 -> 704 bytes graphics/event_objects/pics/people/man_6.png | Bin 857 -> 741 bytes graphics/event_objects/pics/people/man_7.png | Bin 832 -> 716 bytes graphics/event_objects/pics/people/maniac.png | Bin 780 -> 664 bytes .../pics/people/mart_employee.png | Bin 891 -> 775 bytes .../pics/people/mauville_old_man_1.png | Bin 836 -> 720 bytes .../pics/people/mauville_old_man_2.png | Bin 839 -> 723 bytes .../pics/people/may/acro_bike.png | Bin 2629 -> 2513 bytes .../pics/people/may/decorating.png | Bin 279 -> 266 bytes .../pics/people/may/field_move.png | Bin 818 -> 702 bytes .../event_objects/pics/people/may/fishing.png | Bin 1640 -> 1524 bytes .../pics/people/may/mach_bike.png | Bin 1222 -> 1106 bytes .../event_objects/pics/people/may/running.png | Bin 964 -> 848 bytes .../event_objects/pics/people/may/surfing.png | Bin 874 -> 758 bytes .../pics/people/may/underwater.png | Bin 688 -> 572 bytes .../event_objects/pics/people/may/walking.png | Bin 887 -> 771 bytes .../pics/people/may/watering.png | Bin 775 -> 659 bytes graphics/event_objects/pics/people/mom.png | Bin 807 -> 691 bytes .../pics/people/mystery_event_deliveryman.png | Bin 530 -> 414 bytes graphics/event_objects/pics/people/nurse.png | Bin 711 -> 595 bytes .../event_objects/pics/people/old_man_1.png | Bin 773 -> 657 bytes .../event_objects/pics/people/old_man_2.png | Bin 585 -> 469 bytes .../event_objects/pics/people/old_woman_1.png | Bin 718 -> 602 bytes .../event_objects/pics/people/old_woman_2.png | Bin 754 -> 638 bytes .../event_objects/pics/people/picnicker.png | Bin 874 -> 758 bytes .../event_objects/pics/people/prof_birch.png | Bin 886 -> 770 bytes .../event_objects/pics/people/psychic_m.png | Bin 850 -> 734 bytes .../pics/people/quinty_plump.png | Bin 1430 -> 1314 bytes graphics/event_objects/pics/people/red.png | Bin 847 -> 731 bytes .../event_objects/pics/people/reporter_f.png | Bin 780 -> 664 bytes .../event_objects/pics/people/reporter_m.png | Bin 840 -> 724 bytes .../pics/people/rooftop_sale_woman.png | Bin 866 -> 750 bytes .../pics/people/rs_little_boy.png | Bin 565 -> 449 bytes .../people/ruby_sapphire_brendan/running.png | Bin 899 -> 783 bytes .../people/ruby_sapphire_brendan/walking.png | Bin 899 -> 783 bytes .../pics/people/ruby_sapphire_may/running.png | Bin 962 -> 846 bytes .../pics/people/ruby_sapphire_may/walking.png | Bin 861 -> 745 bytes .../pics/people/running_triathlete_f.png | Bin 854 -> 738 bytes .../pics/people/running_triathlete_m.png | Bin 877 -> 761 bytes graphics/event_objects/pics/people/sailor.png | Bin 780 -> 664 bytes .../pics/people/school_kid_m.png | Bin 826 -> 710 bytes .../event_objects/pics/people/scientist_1.png | Bin 799 -> 683 bytes .../event_objects/pics/people/scientist_2.png | Bin 804 -> 688 bytes graphics/event_objects/pics/people/scott.png | Bin 892 -> 776 bytes graphics/event_objects/pics/people/steven.png | Bin 820 -> 704 bytes .../event_objects/pics/people/swimmer_f.png | Bin 656 -> 540 bytes .../event_objects/pics/people/swimmer_m.png | Bin 649 -> 533 bytes graphics/event_objects/pics/people/teala.png | Bin 757 -> 641 bytes .../pics/people/team_aqua/aqua_member_f.png | Bin 814 -> 698 bytes .../pics/people/team_aqua/aqua_member_m.png | Bin 851 -> 735 bytes .../pics/people/team_aqua/archie.png | Bin 692 -> 576 bytes .../pics/people/team_magma/magma_member_f.png | Bin 803 -> 687 bytes .../pics/people/team_magma/magma_member_m.png | Bin 819 -> 703 bytes .../pics/people/team_magma/maxie.png | Bin 748 -> 632 bytes .../event_objects/pics/people/tuber_f.png | Bin 602 -> 486 bytes .../event_objects/pics/people/tuber_m.png | Bin 526 -> 410 bytes .../pics/people/tuber_m_swimming.png | Bin 530 -> 414 bytes .../pics/people/union_room_attendant.png | Bin 566 -> 450 bytes .../pics/people/unused_woman.png | Bin 826 -> 710 bytes .../event_objects/pics/people/wallace.png | Bin 911 -> 795 bytes graphics/event_objects/pics/people/wally.png | Bin 816 -> 700 bytes .../event_objects/pics/people/woman_1.png | Bin 883 -> 767 bytes .../event_objects/pics/people/woman_2.png | Bin 872 -> 756 bytes .../event_objects/pics/people/woman_3.png | Bin 890 -> 774 bytes .../event_objects/pics/people/woman_4.png | Bin 817 -> 701 bytes .../event_objects/pics/people/woman_5.png | Bin 852 -> 736 bytes .../event_objects/pics/people/woman_6.png | Bin 825 -> 709 bytes .../event_objects/pics/people/woman_7.png | Bin 946 -> 830 bytes .../event_objects/pics/people/youngster.png | Bin 790 -> 674 bytes .../event_objects/pics/pokemon/azumarill.png | Bin 441 -> 325 bytes .../event_objects/pics/pokemon/azurill.png | Bin 424 -> 308 bytes .../event_objects/pics/pokemon/deoxys.png | Bin 663 -> 547 bytes .../event_objects/pics/pokemon/dusclops.png | Bin 756 -> 640 bytes .../pics/pokemon/enemy_zigzagoon.png | Bin 842 -> 726 bytes .../event_objects/pics/pokemon/groudon.png | Bin 1168 -> 1052 bytes graphics/event_objects/pics/pokemon/ho_oh.png | Bin 645 -> 529 bytes .../event_objects/pics/pokemon/kecleon.png | Bin 461 -> 345 bytes .../event_objects/pics/pokemon/kirlia.png | Bin 585 -> 469 bytes .../event_objects/pics/pokemon/kyogre.png | Bin 1153 -> 1037 bytes .../pics/pokemon/latias_latios.png | Bin 689 -> 573 bytes graphics/event_objects/pics/pokemon/lugia.png | Bin 526 -> 410 bytes graphics/event_objects/pics/pokemon/mew.png | Bin 917 -> 801 bytes .../event_objects/pics/pokemon/pikachu.png | Bin 451 -> 335 bytes .../event_objects/pics/pokemon/poochyena.png | Bin 790 -> 674 bytes .../event_objects/pics/pokemon/rayquaza.png | Bin 1507 -> 1391 bytes .../pics/pokemon/rayquaza_still.png | Bin 538 -> 525 bytes graphics/event_objects/pics/pokemon/regi.png | Bin 386 -> 373 bytes .../event_objects/pics/pokemon/skitty.png | Bin 448 -> 332 bytes .../event_objects/pics/pokemon/sudowoodo.png | Bin 451 -> 335 bytes .../event_objects/pics/pokemon/vigoroth.png | Bin 1096 -> 980 bytes .../event_objects/pics/pokemon/wingull.png | Bin 470 -> 354 bytes .../event_objects/pics/pokemon/zigzagoon.png | Bin 415 -> 299 bytes spritesheet_rules.mk | 663 ++++++++++++++++++ .../field_event_obj/event_object_graphics.h | 74 +- .../field_event_obj/field_effect_objects.h | 108 +-- 367 files changed, 733 insertions(+), 732 deletions(-) delete mode 100644 event_obj_graphics_makefile_rules.mk create mode 100644 graphics/event_objects/pics/effects/berry_tree_growth_sparkle.png delete mode 100644 graphics/event_objects/pics/effects/berry_tree_growth_sparkle/0.png delete mode 100644 graphics/event_objects/pics/effects/berry_tree_growth_sparkle/1.png delete mode 100644 graphics/event_objects/pics/effects/berry_tree_growth_sparkle/2.png delete mode 100644 graphics/event_objects/pics/effects/berry_tree_growth_sparkle/3.png delete mode 100644 graphics/event_objects/pics/effects/berry_tree_growth_sparkle/4.png delete mode 100644 graphics/event_objects/pics/effects/berry_tree_growth_sparkle/5.png delete mode 100644 graphics/event_objects/pics/effects/berry_tree_growth_sparkle/berry_tree_growth_sparkle.png create mode 100755 graphics/event_objects/pics/effects/bike_hop_tall_grass.png delete mode 100644 graphics/event_objects/pics/effects/bike_hop_tall_grass/0.png delete mode 100644 graphics/event_objects/pics/effects/bike_hop_tall_grass/1.png delete mode 100644 graphics/event_objects/pics/effects/bike_hop_tall_grass/2.png delete mode 100644 graphics/event_objects/pics/effects/bike_hop_tall_grass/3.png delete mode 100644 graphics/event_objects/pics/effects/bike_hop_tall_grass/bike_hop_tall_grass.png create mode 100644 graphics/event_objects/pics/effects/bike_tire_tracks.png delete mode 100644 graphics/event_objects/pics/effects/bike_tire_tracks/0.png delete mode 100644 graphics/event_objects/pics/effects/bike_tire_tracks/1.png delete mode 100644 graphics/event_objects/pics/effects/bike_tire_tracks/2.png delete mode 100644 graphics/event_objects/pics/effects/bike_tire_tracks/3.png delete mode 100644 graphics/event_objects/pics/effects/bike_tire_tracks/bike_tire_tracks.png create mode 100644 graphics/event_objects/pics/effects/deep_sand_footprints.png delete mode 100644 graphics/event_objects/pics/effects/deep_sand_footprints/0.png delete mode 100644 graphics/event_objects/pics/effects/deep_sand_footprints/1.png delete mode 100644 graphics/event_objects/pics/effects/deep_sand_footprints/deep_sand_footprints.png create mode 100644 graphics/event_objects/pics/effects/ground_impact_dust.png delete mode 100644 graphics/event_objects/pics/effects/ground_impact_dust/0.png delete mode 100644 graphics/event_objects/pics/effects/ground_impact_dust/1.png delete mode 100644 graphics/event_objects/pics/effects/ground_impact_dust/2.png delete mode 100644 graphics/event_objects/pics/effects/ground_impact_dust/ground_impact_dust.png create mode 100644 graphics/event_objects/pics/effects/long_grass.png delete mode 100644 graphics/event_objects/pics/effects/long_grass/0.png delete mode 100644 graphics/event_objects/pics/effects/long_grass/1.png delete mode 100644 graphics/event_objects/pics/effects/long_grass/2.png delete mode 100644 graphics/event_objects/pics/effects/long_grass/3.png delete mode 100644 graphics/event_objects/pics/effects/long_grass/long_grass.png mode change 100644 => 100755 graphics/event_objects/pics/effects/sand_disguise_placeholder.png create mode 100644 graphics/event_objects/pics/effects/sand_footprints.png delete mode 100644 graphics/event_objects/pics/effects/sand_footprints/0.png delete mode 100644 graphics/event_objects/pics/effects/sand_footprints/1.png delete mode 100644 graphics/event_objects/pics/effects/sand_footprints/sand_footprints.png create mode 100755 graphics/event_objects/pics/effects/unknown_16.png delete mode 100644 graphics/event_objects/pics/effects/unknown_16/0.png delete mode 100644 graphics/event_objects/pics/effects/unknown_16/1.png delete mode 100644 graphics/event_objects/pics/effects/unknown_16/2.png delete mode 100644 graphics/event_objects/pics/effects/unknown_16/3.png delete mode 100644 graphics/event_objects/pics/effects/unknown_16/4.png delete mode 100644 graphics/event_objects/pics/effects/unknown_16/5.png create mode 100644 graphics/event_objects/pics/effects/unknown_18.png delete mode 100644 graphics/event_objects/pics/effects/unknown_18/0.png delete mode 100644 graphics/event_objects/pics/effects/unknown_18/1.png delete mode 100644 graphics/event_objects/pics/effects/unknown_18/2.png delete mode 100644 graphics/event_objects/pics/effects/unknown_18/3.png delete mode 100644 graphics/event_objects/pics/effects/unknown_18/unknown_18.png create mode 100644 graphics/event_objects/pics/effects/unknown_19.png delete mode 100644 graphics/event_objects/pics/effects/unknown_19/0.png delete mode 100644 graphics/event_objects/pics/effects/unknown_19/1.png delete mode 100644 graphics/event_objects/pics/effects/unknown_19/2.png delete mode 100644 graphics/event_objects/pics/effects/unknown_19/3.png delete mode 100644 graphics/event_objects/pics/effects/unknown_19/unknown_19.png create mode 100644 graphics/event_objects/pics/effects/unknown_20.png delete mode 100644 graphics/event_objects/pics/effects/unknown_20/0.png delete mode 100644 graphics/event_objects/pics/effects/unknown_20/1.png delete mode 100644 graphics/event_objects/pics/effects/unknown_20/2.png delete mode 100644 graphics/event_objects/pics/effects/unknown_20/3.png delete mode 100644 graphics/event_objects/pics/effects/unknown_20/4.png delete mode 100644 graphics/event_objects/pics/effects/unknown_20/unknown_20.png create mode 100644 graphics/event_objects/pics/effects/unknown_29.png delete mode 100644 graphics/event_objects/pics/effects/unknown_29/0.png delete mode 100644 graphics/event_objects/pics/effects/unknown_29/1.png delete mode 100644 graphics/event_objects/pics/effects/unknown_29/2.png delete mode 100644 graphics/event_objects/pics/effects/unknown_29/unknown_29.png create mode 100644 graphics/event_objects/pics/effects/unknown_33.png delete mode 100644 graphics/event_objects/pics/effects/unknown_33/0.png delete mode 100644 graphics/event_objects/pics/effects/unknown_33/1.png delete mode 100644 graphics/event_objects/pics/effects/unknown_33/2.png delete mode 100644 graphics/event_objects/pics/effects/unknown_33/3.png delete mode 100644 graphics/event_objects/pics/effects/unknown_33/4.png delete mode 100644 graphics/event_objects/pics/effects/unknown_33/unknown_33.png create mode 100644 graphics/event_objects/pics/effects/unknown_35.png delete mode 100644 graphics/event_objects/pics/effects/unknown_35/0.png delete mode 100644 graphics/event_objects/pics/effects/unknown_35/1.png delete mode 100644 graphics/event_objects/pics/effects/unknown_35/unknown_35.png delete mode 100644 graphics/event_objects/pics/effects/unknown_4F7E38/0.png create mode 100644 graphics/event_objects/pics/effects/unused_grass.png delete mode 100644 graphics/event_objects/pics/effects/unused_grass/0.png delete mode 100644 graphics/event_objects/pics/effects/unused_grass/1.png delete mode 100644 graphics/event_objects/pics/effects/unused_grass/2.png delete mode 100644 graphics/event_objects/pics/effects/unused_grass/3.png delete mode 100644 graphics/event_objects/pics/effects/unused_grass/unused_grass.png create mode 100644 spritesheet_rules.mk diff --git a/Makefile b/Makefile index 47bfee2a2f..a0ce6bdd12 100644 --- a/Makefile +++ b/Makefile @@ -90,7 +90,7 @@ tidy: rm -r build/* include graphics_file_rules.mk -include event_obj_graphics_makefile_rules.mk +include spritesheet_rules.mk %.s: ; %.png: ; diff --git a/event_obj_graphics_makefile_rules.mk b/event_obj_graphics_makefile_rules.mk deleted file mode 100644 index c7b4ccba46..0000000000 --- a/event_obj_graphics_makefile_rules.mk +++ /dev/null @@ -1,618 +0,0 @@ -OVERWORLDGFXDIR := graphics/event_objects/pics - -$(OVERWORLDGFXDIR)/people/brendan/walking.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/people/brendan/running.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/people/brendan/field_move.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 4 -mheight 4 - -$(OVERWORLDGFXDIR)/people/brendan/surfing.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 4 -mheight 4 - -$(OVERWORLDGFXDIR)/people/brendan/mach_bike.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 4 -mheight 4 - -$(OVERWORLDGFXDIR)/people/brendan/acro_bike.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 4 -mheight 4 - -$(OVERWORLDGFXDIR)/people/brendan/fishing.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 4 -mheight 4 - -$(OVERWORLDGFXDIR)/people/brendan/watering.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 4 -mheight 4 - -$(OVERWORLDGFXDIR)/people/brendan/underwater.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 4 -mheight 4 - - -$(OVERWORLDGFXDIR)/people/elite_four/drake.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/people/elite_four/glacia.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/people/elite_four/phoebe.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/people/elite_four/sidney.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - - -$(OVERWORLDGFXDIR)/people/frontier_brains/anabel.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/people/frontier_brains/brandon.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/people/frontier_brains/greta.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/people/frontier_brains/lucy.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/people/frontier_brains/noland.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/people/frontier_brains/spenser.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/people/frontier_brains/tucker.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - - -$(OVERWORLDGFXDIR)/people/gym_leaders/brawly.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/people/gym_leaders/flannery.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/people/gym_leaders/juan.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/people/gym_leaders/liza.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/people/gym_leaders/norman.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/people/gym_leaders/roxanne.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/people/gym_leaders/tate.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/people/gym_leaders/wattson.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/people/gym_leaders/winona.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - - -$(OVERWORLDGFXDIR)/people/may/walking.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/people/may/running.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/people/may/field_move.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 4 -mheight 4 - -$(OVERWORLDGFXDIR)/people/may/surfing.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 4 -mheight 4 - -$(OVERWORLDGFXDIR)/people/may/mach_bike.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 4 -mheight 4 - -$(OVERWORLDGFXDIR)/people/may/acro_bike.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 4 -mheight 4 - -$(OVERWORLDGFXDIR)/people/may/fishing.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 4 -mheight 4 - -$(OVERWORLDGFXDIR)/people/may/watering.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 4 -mheight 4 - -$(OVERWORLDGFXDIR)/people/may/underwater.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 4 -mheight 4 - - -$(OVERWORLDGFXDIR)/people/ruby_sapphire_brendan/walking.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/people/ruby_sapphire_brendan/running.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - - -$(OVERWORLDGFXDIR)/people/ruby_sapphire_may/walking.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/people/ruby_sapphire_may/running.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - - -$(OVERWORLDGFXDIR)/people/team_aqua/aqua_member_f.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/people/team_aqua/aqua_member_m.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/people/team_aqua/archie.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - - -$(OVERWORLDGFXDIR)/people/team_magma/magma_member_f.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/people/team_magma/magma_member_m.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/people/team_magma/maxie.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - - -$(OVERWORLDGFXDIR)/people/artist.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/people/beauty.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/people/black_belt.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/people/boy_1.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/people/boy_2.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/people/boy_3.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/people/boy_4.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/people/boy_5.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/people/bug_catcher.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/people/cameraman.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/people/camper.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/people/contest_old_man.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/people/cook.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/people/cycling_triathlete_f.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 4 -mheight 4 - -$(OVERWORLDGFXDIR)/people/cycling_triathlete_m.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 4 -mheight 4 - -$(OVERWORLDGFXDIR)/people/fat_man.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/people/fisherman.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/people/gentleman.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/people/girl_1.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/people/girl_2.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/people/girl_3.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/people/hex_maniac.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/people/hiker.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/people/hot_springs_old_woman.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/people/lass.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/people/leaf.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/people/little_boy_1.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 2 - -$(OVERWORLDGFXDIR)/people/little_boy_2.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 2 - -$(OVERWORLDGFXDIR)/people/little_girl_1.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/people/little_girl_2.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 2 - -$(OVERWORLDGFXDIR)/people/man_1.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/people/man_2.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/people/man_3.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/people/man_4.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/people/man_5.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/people/man_6.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/people/man_7.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/people/maniac.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/people/mart_employee.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/people/mauville_old_man_1.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/people/mauville_old_man_2.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/people/mom.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/people/mystery_event_deliveryman.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/people/nurse.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/people/old_man_1.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/people/old_man_2.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/people/old_woman_1.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/people/old_woman_2.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/people/picnicker.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/people/prof_birch.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/people/psychic_m.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/people/quinty_plump.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 4 -mheight 4 - -$(OVERWORLDGFXDIR)/people/red.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/people/reporter_f.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/people/reporter_m.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/people/rooftop_sale_woman.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/people/rs_little_boy.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 2 - -$(OVERWORLDGFXDIR)/people/running_triathlete_f.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/people/running_triathlete_m.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/people/sailor.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/people/school_kid_m.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/people/scientist_1.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/people/scientist_2.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/people/scott.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/people/steven.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/people/swimmer_f.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/people/swimmer_m.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/people/teala.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/people/tuber_f.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 2 - -$(OVERWORLDGFXDIR)/people/tuber_m.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 2 - -$(OVERWORLDGFXDIR)/people/tuber_m_swimming.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 2 - -$(OVERWORLDGFXDIR)/people/union_room_attendant.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/people/unused_woman.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/people/wallace.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/people/wally.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/people/woman_1.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/people/woman_2.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/people/woman_3.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/people/woman_4.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/people/woman_5.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/people/woman_6.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/people/woman_7.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/people/youngster.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - - - -$(OVERWORLDGFXDIR)/pokemon/azumarill.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 2 - -$(OVERWORLDGFXDIR)/pokemon/azurill.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 2 - -$(OVERWORLDGFXDIR)/pokemon/deoxys.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 4 -mheight 4 - -$(OVERWORLDGFXDIR)/pokemon/dusclops.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/pokemon/enemy_zigzagoon.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 4 -mheight 4 - -$(OVERWORLDGFXDIR)/pokemon/groudon.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 4 -mheight 4 - -$(OVERWORLDGFXDIR)/pokemon/ho_oh.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 4 -mheight 4 - -$(OVERWORLDGFXDIR)/pokemon/kecleon.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 2 - -$(OVERWORLDGFXDIR)/pokemon/kirlia.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/pokemon/kyogre.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 4 -mheight 4 - -$(OVERWORLDGFXDIR)/pokemon/latias_latios.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 4 -mheight 4 - -$(OVERWORLDGFXDIR)/pokemon/lugia.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 4 -mheight 4 - -$(OVERWORLDGFXDIR)/pokemon/mew.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/pokemon/pikachu.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 2 - -$(OVERWORLDGFXDIR)/pokemon/poochyena.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 4 -mheight 4 - -$(OVERWORLDGFXDIR)/pokemon/rayquaza.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 8 -mheight 8 - -$(OVERWORLDGFXDIR)/pokemon/skitty.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 2 - -$(OVERWORLDGFXDIR)/pokemon/sudowoodo.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/pokemon/vigoroth.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 4 -mheight 4 - -$(OVERWORLDGFXDIR)/pokemon/wingull.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 2 - -$(OVERWORLDGFXDIR)/pokemon/zigzagoon.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 2 - - - -$(OVERWORLDGFXDIR)/berry_trees/aguav.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/berry_trees/aspear.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/berry_trees/cheri.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/berry_trees/chesto.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/berry_trees/cornn.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/berry_trees/durin.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/berry_trees/figy.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/berry_trees/grepa.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/berry_trees/hondew.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/berry_trees/iapapa.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/berry_trees/kelpsy.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/berry_trees/lansat.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/berry_trees/leppa.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/berry_trees/liechi.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/berry_trees/lum.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/berry_trees/mago.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/berry_trees/nomel.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/berry_trees/oran.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/berry_trees/pamtre.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/berry_trees/pecha.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/berry_trees/persim.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/berry_trees/pomeg.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/berry_trees/rabuta.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/berry_trees/rawst.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/berry_trees/razz.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/berry_trees/sitrus.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/berry_trees/spelon.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/berry_trees/sprout.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 2 - -$(OVERWORLDGFXDIR)/berry_trees/tamato.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/berry_trees/wepear.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/berry_trees/wiki.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - - - -$(OVERWORLDGFXDIR)/misc/breakable_rock.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 2 - -$(OVERWORLDGFXDIR)/misc/cuttable_tree.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 2 - -$(OVERWORLDGFXDIR)/misc/mr_brineys_boat.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 4 -mheight 4 - - - -$(OVERWORLDGFXDIR)/effects/arrow.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 2 - -$(OVERWORLDGFXDIR)/effects/ash.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 2 - -$(OVERWORLDGFXDIR)/effects/bike_hop_big_splash.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 2 - -$(OVERWORLDGFXDIR)/effects/bike_hop_small_splash.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 1 - -$(OVERWORLDGFXDIR)/effects/bubbles.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/effects/jump_out_of_ash.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 2 - -$(OVERWORLDGFXDIR)/effects/mountain_disguise.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/effects/ripple.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 2 - -$(OVERWORLDGFXDIR)/effects/sand_disguise_placeholder.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/effects/short_grass.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 2 - -$(OVERWORLDGFXDIR)/effects/surf_blob.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 4 -mheight 4 - -$(OVERWORLDGFXDIR)/effects/tall_grass.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 2 - -$(OVERWORLDGFXDIR)/effects/tree_disguise.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 4 - -$(OVERWORLDGFXDIR)/effects/unknown_17.4bpp: %.4bpp: %.png - $(GFX) $< $@ -mwidth 2 -mheight 2 diff --git a/graphics/event_objects/pics/berry_trees/aguav.png b/graphics/event_objects/pics/berry_trees/aguav.png index 13321eb42e5779729c38a7674db1435fd337d3f3..fca4b0dd51bd8fc0c613d85603be4b78a98102b7 100644 GIT binary patch delta 39 tcmeyz(#0}CWn!H*2jf&v7sn8b-i@~>GYYJ+tlYo=1fH&bF6*2Ung9~V4MYF{ delta 153 zcmeBT`NuLrC7iv))7O>#5eFx)Hn(xq;tLE64B{oO5hcO-X(i=}MX3z#J}v=%?h0k8 zMGD4xCWWm_9s-qcloa^617(bXYzD6eO?e>2lJ4m1$iT3%pZiZD>qJF6B?iVMZ+Dmf yOW8ji1xhoP1o;IsI6S+N24qk5ba4!+n6oi`GNZuSwLKjmV?15`T-G@yGywob?k!XR diff --git a/graphics/event_objects/pics/berry_trees/aspear.png b/graphics/event_objects/pics/berry_trees/aspear.png index 984e598ea0d4a5d427ca80de188178268a33a196..d0782166ef25d45e1ef0f3b8b3120e42a4005d22 100644 GIT binary patch delta 39 tcmX@XdWB_z%EUTr4#xYQE{-7<y&G@eWfU-Auq<Ez0#8>zmvv4FO#l%j47dOQ delta 153 zcmcb@a)Nb&N;rFor>`sfBMwep9X6&_o~sxb7{p6lBT9nv(@M${i&7cfeOv<k+!e}F zixiCYObT0<JOnD?C@JuB2g(=&*$iF{n({!3CEd~2k%3`jKlh(R)`^OCN(_ui-tI2{ ym$H943Y2Cn3GxeOaCmkj4amOl>EaktF=u1?T}FYGy!kC4V?15`T-G@yGywo11uWA5 diff --git a/graphics/event_objects/pics/berry_trees/cheri.png b/graphics/event_objects/pics/berry_trees/cheri.png index 527ef9dfee1faa8ee7aacf914cae40e9ca9a2372..ec2db0ae30a231e688268b2670035ecec3721d76 100644 GIT binary patch delta 39 tcmeBYo6R~wWn!H*2a}qoi(`mI@5b9IOahBp+wL&{fv2mV%Q~loCIIj93=04N delta 153 zcmbQu+RrvYC7iv))7O>#5eFx)j+O3FQ(XoI2JsTth?3y^w370~qErTVAC~|>cZIUl zA_ZeTlfu>|4}nTJN(%hkfilKGHiK7#raX{hNq6*hWMJ6X&;2Knb)ur35(8tBx4X;# yrR<-M0;L&Cg8YIR9G=}sV_;xX^K@|xshG1dU4=;?ZH}KT$QVyoKbLh*2~7a6f-0Z@ diff --git a/graphics/event_objects/pics/berry_trees/chesto.png b/graphics/event_objects/pics/berry_trees/chesto.png index 36b4520cefe71a9d39dac840076a5f6711e49546..3087de2b281b59ff4064188ecf0a36268711786c 100644 GIT binary patch delta 39 tcmdnMwug0s%EUTr4kmX`7sn8b-i^0inFM}**>A@H1fH&bF6*2Ung9+v4Q&7b delta 153 zcmdnPx`AziN;rFor>`sfBMwepUBksZcb_mYFo>79MwA5Sr<If^7Ns({`?v)7xhs^V z7AY9(nH07zc?eX(QBvUN4wNwlvKhP@H06O5OS+@4BLl<6e(pbstP>UOlo%M3yxm>? zFJ=F96e!JD666=m;PC858Uq89yQhm|NX49u>8?xyQoa|BK*o5w`njxgN@xNAX<sZg diff --git a/graphics/event_objects/pics/berry_trees/cornn.png b/graphics/event_objects/pics/berry_trees/cornn.png index 60ac7da8b3c273e69027d985908d2613afda4b46..de3ba7003f0aa2d372e04929dd2ef5fa27b735b8 100644 GIT binary patch delta 39 ucmX@gdXZ&<%EUTr4#qp4E{-7<y&G@eViZXK{Pz?C5O})!xvX<aXaWE*st)u3 delta 153 zcmcb}a+Gy~N;rFor>`sfBMwepJ<Zv^VucJ04B{oO5hcO-X(i=}MX3z#J}v=%?h0k8 zMGD4xCWWm_9s-qcloa^617(bXYzD6eO?e>2lJ4m1$iT3%pZiZD>qJF6B?iVMZ+Dmf yOW8ji1xhoP1o;IsI6S+N24vsyba4!+n6okc7Nfw;7h9fyjPZ2!b6Mw<&;$T6HZE)c diff --git a/graphics/event_objects/pics/berry_trees/dirt_pile.png b/graphics/event_objects/pics/berry_trees/dirt_pile.png index 3790fd846d045b0603c2aa519c41fb2b801d9cd7..ed2a38b3f69a5320a660f4f2190f347a9da8ffa2 100644 GIT binary patch delta 9 QcmdnXxPfs(!o=JF01~+at^fc4 delta 20 bcmdnMxR-H40vBURkY6x^!?PP{6Jvt`NgM}v diff --git a/graphics/event_objects/pics/berry_trees/durin.png b/graphics/event_objects/pics/berry_trees/durin.png index 250cea0311b00b650c6699c9edd908894fd58bee..c0caf166f3e6e0092236ba7760428de58192c4ee 100644 GIT binary patch delta 39 ucmZ3%x`kze%EUTr4#xeSE{-7<y&G@uWfXY-DleG<2s~Z=T-G@yGywn|rw$1K delta 153 zcmdnOvVwJjN;rFor>`sfBMwepeZ`*M^-K&54B{oO5hcO-X(i=}MX3z#J}v=%?h0k8 zMGD4xCWWm_9s-qcloa^617(bXYzD6eO?e>2lJ4m1$iT3%pZiZD>qJF6B?iVMZ+Dmf xOW8ji1xhoP1o;IsI6S+N24wH|ba4!+n6oi`FQY()zSwq<F`lk|F6*2UngAGVELQ*k diff --git a/graphics/event_objects/pics/berry_trees/figy.png b/graphics/event_objects/pics/berry_trees/figy.png index 2f26d13812552492d30b73a9c37fa7fcc36bfbbc..6ca366296c9a2e58eef90e60b47f58e1ad4c1728 100644 GIT binary patch delta 39 tcmX@YdVytv%EUTr4#wM_E{-7<y&G@eWE5ByELy<;1fH&bF6*2UngAK)4OIXD delta 153 zcmcb>a)fn)N;rFor>`sfBMwep1E~*pJa#ZJFo>79MwA5Sr<If^7Ns({`?v)7xhs^V z7AY9(nH07zc?eX(QBvUN4wNwlvKhP@H06O5OS+@4BLl<6e(pbstP>UOlo%M3yxm>? yFJ=F96e!JD666=m;PC858jyY4)5S5QV$R0&n~Vb6xU{)I#(28=xvX<aXaWGdA}v$^ diff --git a/graphics/event_objects/pics/berry_trees/grepa.png b/graphics/event_objects/pics/berry_trees/grepa.png index 07c8554ce42de9527f6f1dcf7fb6cd4b298fd904..33788c4a43f66003374f447a6e8443f08c25180b 100644 GIT binary patch delta 39 tcmaFN@}7Bu%EUTr4#p}^7sn8b-i@~_7zI4vdQWBm0#8>zmvv4FO#m2)4P5{L delta 153 zcmaFQ{Fr5eN;rFor>`sfBMwepL;e=2xk3yK4B{oO5hcO-X(i=}MX3z#J}v=%?h0k8 zMGD4xCWWm_9s-qcloa^617(bXYzD6eO?e>2lJ4m1$iT3%pZiZD>qJF6B?iVMZ+Dmf xOW8ji1xhoP1o;IsI6S+N24q)xx;TbZ%-NV;!6>lhX7f*wF`lk|F6*2UngAa(Em;5n diff --git a/graphics/event_objects/pics/berry_trees/hondew.png b/graphics/event_objects/pics/berry_trees/hondew.png index 45f5605eec1e48a77eb409419a56810abb328903..c07bc17f7cf60103b6e716b203755dec55461dd5 100644 GIT binary patch delta 39 tcmaFE@`HJT%EUTr4#s9r7sn8b-i@~#83kUy-DJc71fH&bF6*2UngA!U4k-Wt delta 153 zcmeyt{Dx(MN;rFor>`sfBMwepBOWum`PmE%4B{oO5hcO-X(i=}MX3z#J}v=%?h0k8 zMGD4xCWWm_9s-qcloa^617(bXYzD6eO?e>2lJ4m1$iT3%pZiZD>qJF6B?iVMZ+Dmf xOW8ji1xhoP1o;IsI6S+N24pvTx;TbZ%-NXU$S6>EIFAQpjHj!g%Q~loCIB%QEM5Qr diff --git a/graphics/event_objects/pics/berry_trees/iapapa.png b/graphics/event_objects/pics/berry_trees/iapapa.png index 2a8d9b7606e1d32e2e63db002af1bbfe265c2e3d..98eb27c1dd6392b227b0d0b7c8c4e2f46473a2ce 100644 GIT binary patch delta 39 tcmdnSa)^0?%EUTr4n|*37sn8b-i^1t83n4JEV<7B1fH&bF6*2Ung9+x4R-(l delta 153 zcmX@ayp3goN;rFor>`sfBMwepYl**VAL1Dp7{p6lBT9nv(@M${i&7cfeOv<k+!e}F zixiCYObT0<JOnD?C@JuB2g(=&*$iF{n({!3CEd~2k%3`jKlh(R)`^OCN(_ui-tI2{ xm$H943Y2Cn3GxeOaCmkj4aoNOba4!+n6ok6n^7R*?&1!RF`lk|F6*2UngDs!Ei?cC diff --git a/graphics/event_objects/pics/berry_trees/kelpsy.png b/graphics/event_objects/pics/berry_trees/kelpsy.png index bad257fce76230571f23d98b1aad7dc757ab255c..7fdf1d8bd273a3714128df39d56d04ed44626265 100644 GIT binary patch delta 39 tcmX@Ya)Eh*%EUTr4#sFt7sn8b-i@~-83ha%3EMLOfv2mV%Q~loCII|g3-SN} delta 153 zcmcb>e1v6!N;rFor>`sfBMweJ2H_Bfifs%G4B{oO5hcO-X(i=}MX3z#J}v=%?h0k8 zMGD4xCWWm_9s-qcloa^617(bXYzD6eO?e>2lJ4m1$iT3%pZiZD>qJF6B?iVMZ+Dmf xOW8ji1xhoP1o;IsI6S+N24qKjx;TbZ%-NV8$tW=6<-|&mF`lk|F6*2UngH<YENB1# diff --git a/graphics/event_objects/pics/berry_trees/lansat.png b/graphics/event_objects/pics/berry_trees/lansat.png index 8ab63c97994258a60be4d36d40da3e903ea6c882..3271c1ceb7b3b49880887a8ab4dc2df2f1446533 100644 GIT binary patch delta 39 tcmeyw@{f6f%EUTr4#rMT7sn8b-i^2083i5-yvtz#0#8>zmvv4FO#mZW4blJr delta 153 zcmeyz{E20PN;rFor>`sfBMweJM*c`C(H#s74B{oO5hcO-X(i=}MX3z#J}v=%?h0k8 zMGD4xCWWm_9s-qcloa^617(bXYzD6eO?e>2lJ4m1$iT3%pZiZD>qJF6B?iVMZ+Dmf xOW8ji1xhoP1o;IsI6S+N24r`7x;TbZ%-NXU&M2T2u;V|-7*AI}mvv4FO#lU}EP((3 diff --git a/graphics/event_objects/pics/berry_trees/leppa.png b/graphics/event_objects/pics/berry_trees/leppa.png index a0b3dccc01710629edb9af4f4c0876e8f588d106..601945e436a2389a14d7c055a4caf52f1d09545a 100644 GIT binary patch delta 39 ucmdnYx}Rl&%EUTr4#rcSE{-7<y&G?zU=(27vEUp75O})!xvX<aXaWEkO%1XD delta 153 zcmdnbvYB;)N;rFor>`sfBMweJCXP43mv1mIFo>79MwA5Sr<If^7Ns({`?v)7xhs^V z7AY9(nH07zc?eX(QBvUN4wNwlvKhP@H06O5OS+@4BLl<6e(pbstP>UOlo%M3yxm>? yFJ=F96e!JD666=m;PC858jyX;)5S5QV$R0&6N~~M_)OwK#(28=xvX<aXaWG5;4O;) diff --git a/graphics/event_objects/pics/berry_trees/liechi.png b/graphics/event_objects/pics/berry_trees/liechi.png index a845c5ac29d3d69e3916a1de67e62f4e0cfbf6b9..b65074c80fdcdbc62611d179c0bd56aff2072bb2 100644 GIT binary patch delta 39 ucmZ3<x|L;u%EUTr4#oqXE{-7<y&G@uV-(PFnS6r*2s~Z=T-G@yGywn*FAY8b delta 153 zcmdnWvXXUzN;rFor>`sfBMweJX8vrQaw`S~2JsTth?3y^w370~qErTVAC~|>cZIUl zA_ZeTlfu>|4}nTJN(%hkfilKGHiK7#raX{hNq6*hWMJ6X&;2Knb)ur35(8tBx4X;# xrR<-M0;L&Cg8YIR9G=}s1F{czx;TbZ%-NW}k5OQ4twS!z7*AI}mvv4FO#r;`EDrzx diff --git a/graphics/event_objects/pics/berry_trees/lum.png b/graphics/event_objects/pics/berry_trees/lum.png index e108e428fff575979db94e2002a4e956bd558d47..a2e156ddd1ea256d3bcc82434e89788dedf112ef 100644 GIT binary patch delta 39 tcmcb@`haDE%EUTr4#wA>E{-7<y&G@8WE4>Ji=4>-1fH&bF6*2UngAYO4R8Pe delta 153 zcmaFBa)ot*N;rFor>`sfBMweJ7M{H+8{8Qf7{p6lBT9nv(@M${i&7cfeOv<k+!e}F zixiCYObT0<JOnD?C@JuB2g(=&*$iF{n({!3CEd~2k%3`jKlh(R)`^OCN(_ui-tI2{ ym$H943Y2Cn3GxeOaCmkj4ak1&>EaktF=u1?OGbfIwkHlic?M5cKbLh*2~7ZAEG<C* diff --git a/graphics/event_objects/pics/berry_trees/mago.png b/graphics/event_objects/pics/berry_trees/mago.png index cc30190d208644419420f878cc832a8a06acf3e1..182a3dea86876c20e1c115e034fb499207817f45 100644 GIT binary patch delta 39 ucmX@hdXr^>%EUTr4#p>*E{-7<y&G>oVifSczx+J|5O})!xvX<aXaWE(!w$0m delta 153 zcmcb~a+Y<1N;rFor>`sfBMweJR(9jH5q%5{4B{oO5hcO-X(i=}MX3z#J}v=%?h0k8 zMGD4xCWWm_9s-qcloa^617(bXYzD6eO?e>2lJ4m1$iT3%pZiZD>qJF6B?iVMZ+Dmf yOW8ji1xhoP1o;IsI6S+N24p|+ba4!+n6okc5u?C{u*EzeV?15`T-G@yGywoAOf2;P diff --git a/graphics/event_objects/pics/berry_trees/nomel.png b/graphics/event_objects/pics/berry_trees/nomel.png index b1c18046528117bb9ce782c652ed27a74ad2c6b1..fa60688b89988e3435f0b2d22bc419c094b47917 100644 GIT binary patch delta 39 tcmcc1@{)Oi%EUTr4#pBs7sn8b-i^157zK{DrZh1Cfv2mV%Q~loCIA=E4PgKP delta 153 zcmaFKe3xZ{N;rFor>`sfBMwecW3BhHH{}@^7{p6lBT9nv(@M${i&7cfeOv<k+!e}F zixiCYObT0<JOnD?C@JuB2g(=&*$iF{njmc~>5jgR3=A9lx&I`xPE@p0Vqi@2c6a%| wl>O6DpfqDikY6x^!?PP{AhxHAV@SoEjp;><0<-HP;z7oEy85}Sb4q9e0C=V><NyEw diff --git a/graphics/event_objects/pics/berry_trees/oran.png b/graphics/event_objects/pics/berry_trees/oran.png index 7f98da25ec2e48ee5dfba2de7198bdcad91d054f..484fb7eb238d7ee75be7396ec376200ce3a67676 100644 GIT binary patch delta 39 tcmey&`k!Tj%EUTr4kj*77sn8b-i^08m;`KgZok9;1fH&bF6*2Ung9-Q4GRDO delta 153 zcmey*@|kslN;rFor>`sfBMwec6TRhz-3J*M7{p6lBT9nv(@M${i&7cfeOv<k+!e}F zixiCYObT0<JOnD?C@JuB2g(=&*$iF{n({!3CEd~2k%3`jKlh(R)`^OCN(_ui-tI2{ zm$H943Y2Cn3GxeOaCmkjje&uQ%hSa%q+-s-bPgtgm<v9NAY(jT{an^LB{Ts5kHai3 diff --git a/graphics/event_objects/pics/berry_trees/pamtre.png b/graphics/event_objects/pics/berry_trees/pamtre.png index b2d7c590da5673af4c1da50986e006137f273f57..a9f30601281440f85c9eb92028270cb64bbf7f4d 100644 GIT binary patch delta 39 tcmeyv(!nx8Wn!H*2jgT<7sn8b-i@~>G71<o8J}bT0#8>zmvv4FO#lRW3|{~M delta 153 zcmeBR`NJ|nC7iv))7O>#5eKKJso7dLrE3ff4B{oO5hcO-X(i=}MX3z#J}v=%?h0k8 zMGD4xCWWm_9s-qcloa^617(bXYzD6eO?e>2lJ4m1$iT3%pZiZD>qJF6B?iVMZ+Dmf xOW8ji1xhoP1o;IsI6S+N24qk6ba4!+n6oi`BBMaYIfX2cF`lk|F6*2UngCC%EXDu; diff --git a/graphics/event_objects/pics/berry_trees/pecha.png b/graphics/event_objects/pics/berry_trees/pecha.png index 7078d2bd1c6c808dc967f7be3b363761b2f17548..3bfec5753410d851d40e5b3eae0be8fd8944ffcd 100644 GIT binary patch delta 39 ucmZ3%x`kze%EUTr4#xeSE{-7<y&G@uWfb`K&igq75O})!xvX<aXaWEu9S(H> delta 153 zcmdnOvVwJjN;rFor>`sfBMwecb52dM+)M@r2JsTth?3y^w370~qErTVAC~|>cZIUl zA_ZeTlfu>|4}nTJN(%hkfilKGHiK7#raX{hNq6*hWMJ6X&;2Knb)ur35(8tBx4X;# wrR<-M0;L&Cg8YIR9G=}s1G4vfx;TbZ%-NW}mr<Zl+Zb$&r>mdKI;Vst0I+*2H~;_u diff --git a/graphics/event_objects/pics/berry_trees/persim.png b/graphics/event_objects/pics/berry_trees/persim.png index ff4d8f808a7d1d556d843f623a5c166e37867bf9..eb5450b8b7644298fa4a1c834674de3c68d97924 100644 GIT binary patch delta 39 ucmeBUoy9UiWn!H*2jfyt7sn8b-i@~xGYS}fSa_WQ2s~Z=T-G@yGywn(Q4Np) delta 153 zcmbQm(#JYMC7iv))7O>#5eKKJh3Kw+-Ioju4B{oO5hcO-X(i=}MX3z#J}v=%?h0k8 zMGD4xCWWm_9s-qcloa^617(bXYzD6eO?e>2lJ4m1$iT3%pZiZD>qJF6B?iVMZ+Dmf yOW8ji1xhoP1o;IsI6S+N24pYwba4!+n6oi`F{8lCn5^$0V?15`T-G@yGywosSS`x{ diff --git a/graphics/event_objects/pics/berry_trees/pomeg.png b/graphics/event_objects/pics/berry_trees/pomeg.png index 78abc73eb13376cfc972ed8ada239f96180c90f2..cd0e5e6c39367d17ca66a50b6b8f7963b6bd1c27 100644 GIT binary patch delta 39 tcmX@Za)Wt-%EUTr4#s3p7sn8b-i@~t83pRNxC0n~z|+;wWt~$(69D{)3(x=n delta 153 zcmcb?e1>I$N;rFor>`sfBMwecOWp2iOUxJ;7{p6lBT9nv(@M${i&7cfeOv<k+!e}F zixiCYObT0<JOnD?C@JuB2g(=&*$iF{n({!3CEd~2k%3`jKlh(R)`^OCN(_ui-tI2{ ym$H943Y2Cn3GxeOaCmkj4aiRRba4!+n6oiGkx^jUO`DY<V?15`T-G@yGywo;Q7t3@ diff --git a/graphics/event_objects/pics/berry_trees/rabuta.png b/graphics/event_objects/pics/berry_trees/rabuta.png index b7a2c85d6e91a40c8039468047d5ae9de107f9c2..59f9baff27ed03595a835a15664ebdcd0e66b99c 100644 GIT binary patch delta 39 tcmbQpI+taF%EUTr4#pLpE{-7<y&G>YV-!&TpXI~=1fH&bF6*2Ung9iG4AlSt delta 153 zcmbQsGLdzHN;rFor>`sfBMwecD}BGM({3^_Fo>79MwA5Sr<If^7Ns({`?v)7xhs^V z7AY9(nH07zc?eX(QBvUN4wNwlvKhP@H06O5OS+@4BLl<6e(pbstP>UOlo%M3yxm>? yFJ=F96e!JD666=m;PC858j!uh)5S5QV$R0&WsCwZ?wqv&8RO~d=d#Wzp$PzWz%DHS diff --git a/graphics/event_objects/pics/berry_trees/rawst.png b/graphics/event_objects/pics/berry_trees/rawst.png index e0bcac5322b4efe1fa69ad8e79ee54192b93e7f4..aad761f5bd55e72b684a390ecd5bf1c6e517bb34 100644 GIT binary patch delta 39 tcmX@ka+!I8%EUTr4#qf77sn8b-i^0o7zG|H+HPY20#8>zmvv4FO#lhR4A1}o delta 153 zcmcc2e4J&1N;rFor>`sfBMwe629X<q@^={+7{p6lBT9nv(@M${i&7cfeOv<k+!e}F zixiCYObT0<JOnD?C@JuB2g(=&*$iF{n({!3CEd~2k%3`jKlh(R)`^OCN(_ui-tI2{ xm$H943Y2Cn3GxeOaCmkj4ako3ba4!+n6oiGhEbrtcikS4F`lk|F6*2UngC5LEeiku diff --git a/graphics/event_objects/pics/berry_trees/razz.png b/graphics/event_objects/pics/berry_trees/razz.png index 70f56bc8b658be908b2ff4201ac7164997e9ac63..dc2dd1723b866c8573778a6f5ca8c2d87e72d828 100644 GIT binary patch delta 39 tcmeyz+Qm9SWn!H*2a~9$i(`mI@5bB0OajwCHVQHTfv2mV%Q~loCIJ103{(IB delta 153 zcmeBT{l_{%C7iv))7O>#5eKIjqvZbIL5d6v4B{oO5hcO-X(i=}MX3z#J}v=%?h0k8 zMGD4xCWWm_9s-qcloa^617(bXYzD6eO?e>2lJ4m1$iT3%pZiZD>qJF6B?iVMZ+Dmf yOW8ji1xhoP1o;IsI6S+N#=yWN>gnPbQZZ*^x-gS~e|SO|$QVyoKbLh*2~7YmZYy8_ diff --git a/graphics/event_objects/pics/berry_trees/sitrus.png b/graphics/event_objects/pics/berry_trees/sitrus.png index bdfece860849f8a1f2483da94b43fc256f8f1031..c5392e3adb143975a5d06093bf8a9db55f9070b0 100644 GIT binary patch delta 39 ucmX@gdXZ&<%EUTr4#qp4E{-7<y&G@eViX8mfB6an5O})!xvX<aXaWE!gbsQD delta 153 zcmcb}a+Gy~N;rFor>`sfBMwe6CdEBhcGfU3Fo>79MwA5Sr<If^7Ns({`?v)7xhs^V z7AY9(nH07zc?eX(QBvUN4wNwlvKhP@H06O5OS+@4BLl<6e(pbstP>UOlo%M3yxm>? yFJ=F96e!JD666=m;PC858jyX*)5S5QV$R0&TZ{tlx6JwlGRD)@&t;ucLK6VVi!XHm diff --git a/graphics/event_objects/pics/berry_trees/spelon.png b/graphics/event_objects/pics/berry_trees/spelon.png index d9b7f4174509fdfa3e416f33197004bbca95fd64..572b4d4f9eacf8fc580de64300be0e21a0f6175e 100644 GIT binary patch delta 39 tcmX@ga*=t0%EUTr4#pTy7sn8b-i^1T7zKo%b@nj;fv2mV%Q~loCIAU}4B-F( delta 153 zcmcb}e3WH^N;rFor>`sfBMwe6W-TMxz^x1n4B{oO5hcO-X(i=}MX3z#J}v=%?h0k8 zMGD4xCWWm_9s-qcloa^617(bXYzD6eO?e>2lJ4m1$iT3%pZiZD>qJF6B?iVMZ+Dmf xOW8ji1xhoP1o;IsI6S+N24u&0x;TbZ%-NV8#VFA8L2V_-7*AI}mvv4FO#taIEFk~@ diff --git a/graphics/event_objects/pics/berry_trees/sprout.png b/graphics/event_objects/pics/berry_trees/sprout.png index 8fee510bdcb901c93a14050fb11114fdf616ea70..e343596272aeedaf8767f17da65830baec796a26 100644 GIT binary patch delta 37 rcmcb}beD00%EUSw_6$!K#}J9B6K|&p6n2LAF#v(5tDnm{r-UW|_-YJa delta 151 zcmcc1c#&y>N;rFor>`sfBMwe67Jjn`VN(VM2JsTth?3y^w370~qErTVAC~|>cZIUl zA_ZeTlfu>|4}nTJN(%hkfilKGHiK7#raX{hNq6*hWMJ6X&;2Knb)urZB4d)byUYKj w?4OPTWf@C?{DK)Ap4~_Taxy$!978JROiWJ`cva5)4=BRm>FVdQ&MBb@0B02|sQ>@~ diff --git a/graphics/event_objects/pics/berry_trees/tamato.png b/graphics/event_objects/pics/berry_trees/tamato.png index d0770746bd2677eeda02fa53ddc4480963172002..d12af1922ced3ab874720b0a424aea6233e52168 100644 GIT binary patch delta 39 tcmZo=oyamlWn!H*2jd)17sn8b-i^0sF$yd=6RpAk1fH&bF6*2Ung9Xk488yW delta 153 zcmbQp(#kqPC7iv))7O>#5eKIjE4PN;vs?xS2JsTth?3y^w370~qErTVAC~|>cZIUl zA_ZeTlfu>|4}nTJN(%hkfilKGHiK7#raX{hNq6*hWMJ6X&;2Knb)ur35(8tBx4X;# xrR<-M0;L&Cg8YIR9G=}s1G49Mx;TbZ%-NVei&5Z_>ODS?F`lk|F6*2UngGHUECK)k diff --git a/graphics/event_objects/pics/berry_trees/wepear.png b/graphics/event_objects/pics/berry_trees/wepear.png index 133140843f310d006757ac4e82d212d5cbff8356..63e5ae53d954ab0becb1c019b40b2838084b6165 100644 GIT binary patch delta 39 tcmdnUx|d~w%EUTr4#pFnE{-7<y&G>IV-&a{SZu-o1fH&bF6*2Ung9{D4HEzW delta 153 zcmdnXvXOOyN;rFor>`sfBMwe6Hm(wuRtp9O2JsTth?3y^w370~qErTVAC~|>cZIUl zA_ZeTlfu>|4}nTJN(%hkfilKGHiK7#raX{hNq6*hWMJ6X&;2Knb)ur35(8tBx4X;# xrR<-M0;L&Cg8YIR9G=}s1F}zex;TbZ%-NWJj8UNYer*QG7*AI}mvv4FO#sGtEP?<4 diff --git a/graphics/event_objects/pics/berry_trees/wiki.png b/graphics/event_objects/pics/berry_trees/wiki.png index a78d55db4f9ccb0d0892e8a9730d44f3535d9693..2fa0c0b017224912b1e038e9e229eac12d462963 100644 GIT binary patch delta 39 tcmZo*?O~aqGO^B@gK@g2i(`mI@5b9x83p=(*Pmbj0#8>zmvv4FO#lmh4Uhl; delta 153 zcmeBSX<(h863$-Y>Fdh=h=Ws%o%Qd6l`j|=7{p6lBT9nv(@M${i&7cfeOv<k+!e}F zixiCYObT0<JOnD?C@JuB2g(=&*$iF{n({!3CEd~2k%3`jKlh(R)`^OCN(_ui-tI2{ ym$H943Y2Cn3GxeOaCmkj4alDE>EaktF=u1?R7Qc&%|}c?#(28=xvX<aXaWF(X)SyJ diff --git a/graphics/event_objects/pics/cushions/ball_cushion.png b/graphics/event_objects/pics/cushions/ball_cushion.png index 54ecc19804502f83614dfa55ba477d8df63f20dd..2b45f8fd2d597f6b8161e5481f4b3668f5ab82e2 100644 GIT binary patch delta 9 Qcmcc4c#3gC!o=Jx02Ffr`~Uy| delta 20 bcmX@bc%5-V0vBURkY6x^!?PP{6Jv7$O%eyi diff --git a/graphics/event_objects/pics/cushions/diamond_cushion.png b/graphics/event_objects/pics/cushions/diamond_cushion.png index 747866941303d5c2f0d414f07f86e95534e92ff6..c6c7bc761940f8ca57db60248e9f11dcb9c294c2 100644 GIT binary patch delta 9 Qcmcb?c$#rS!o=Kc02G7+{{R30 delta 20 bcmX@jc!P050vBURkY6x^!?PP{6JzrLO*se1 diff --git a/graphics/event_objects/pics/cushions/fire_cushion.png b/graphics/event_objects/pics/cushions/fire_cushion.png index aa9a70f2e81a37fd68bffa9f239410c5d42122ec..ee671503781c08327b03a77aef8aaaf72faa2051 100644 GIT binary patch delta 9 Qcmcb}c!Y66!o=JZ02B=a>Hq)$ delta 20 bcmX@Yc#&~J0vBURkY6x^!?PP{6Jyf>OehDl diff --git a/graphics/event_objects/pics/cushions/grass_cushion.png b/graphics/event_objects/pics/cushions/grass_cushion.png index 8ee854f1708eab671d6393fdfa3f99b455a115f3..44862882eb677fd00ce05d1332c8b4b046cc5945 100644 GIT binary patch delta 9 Qcmcb>c$jfQ!o=KU02BNJ=Kufz delta 20 bcmX@ic!6<30vBURkY6x^!?PP{6Jyf=OaTY5 diff --git a/graphics/event_objects/pics/cushions/kiss_cushion.png b/graphics/event_objects/pics/cushions/kiss_cushion.png index 6a99348c90f16fc8277d64141e365e6b700d2cf6..e24bd9deaaf98569b66d5e0639ece31384e61c37 100644 GIT binary patch delta 9 Qcmcc0c!F_4!o=JR02EOJ_5c6? delta 20 bcmX@Xc$INN0vBURkY6x^!?PP{6JxUhOvDGj diff --git a/graphics/event_objects/pics/cushions/pika_cushion.png b/graphics/event_objects/pics/cushions/pika_cushion.png index 947713c399f7ddaf9c67546535aa05bc6d88dc67..16661bc01bf9f1c94ea68037eefde961788cf63e 100644 GIT binary patch delta 9 QcmX@kxQlT@!o=Jt025;a%m4rY delta 20 bcmdnRc${%U0vBURkY6x^!?PP{6JuimN}>mq diff --git a/graphics/event_objects/pics/cushions/round_cushion.png b/graphics/event_objects/pics/cushions/round_cushion.png index 0e7b71ad58aa1d74ab89afb93e44bcefc00deae1..2a2c6d9d97f4a516b6c1066bdf45f77a5a238b87 100644 GIT binary patch delta 9 Qcmcb{c#?5K!o=K602E>a`2YX_ delta 20 bcmX@fc#UyF0vBURkY6x^!?PP{6Jv7#OzQ{2 diff --git a/graphics/event_objects/pics/cushions/spin_cushion.png b/graphics/event_objects/pics/cushions/spin_cushion.png index 81eba708c35e8ba1ef28761c4ff7ee1a36885c34..cfac6c811a1ba254b6901d95579e49a067f07c8a 100644 GIT binary patch delta 9 QcmaFBc$slR!o=KS02K@b7XSbN delta 20 bcmcc2_<(Uj0vBURkY6x^!?PP{6JyH&PH_j| diff --git a/graphics/event_objects/pics/cushions/water_cushion.png b/graphics/event_objects/pics/cushions/water_cushion.png index 9ed16c633b0618cdc63695ec78991b9100dfae71..848b0cd352ac4d6469a82807a2aa238a345d89a7 100644 GIT binary patch delta 9 QcmX@hcz|(2!o=JJ029dr-T(jq delta 20 bcmX@Wc$RTO0vBURkY6x^!?PP{6JwJBON<An diff --git a/graphics/event_objects/pics/cushions/zigzag_cushion.png b/graphics/event_objects/pics/cushions/zigzag_cushion.png index 407e6a66bc251273ead5e63fec69759331471397..88bb74868890f6d9ef45d2294cceba0a5eac803f 100644 GIT binary patch delta 9 QcmaFFc$INN!o=KC02M9-9RL6T delta 20 bcmcc0_=s^r0vBURkY6x^!?PP{6Jsj?PQM4{ diff --git a/graphics/event_objects/pics/dolls/azurill_doll.png b/graphics/event_objects/pics/dolls/azurill_doll.png index 1d1f7492f1a84b4989bcd9eb74093304c59a10a0..2c2a49639aa2c4706479d0c11db42adf9be1f77b 100644 GIT binary patch delta 9 Qcmcc4c#3gC!o=Jx02Ffr`~Uy| delta 20 bcmX@bc%5-V0vBURkY6x^!?PP{6Jv7$O%eyi diff --git a/graphics/event_objects/pics/dolls/baltoy_doll.png b/graphics/event_objects/pics/dolls/baltoy_doll.png index 5205123dab1e36e1ad4844792fa3ef48fc49b914..c64d260330940758897071976fd4bfb9b321144c 100644 GIT binary patch delta 9 Qcmcb?c$#rS!o=Kc02G7+{{R30 delta 20 bcmX@jc!P050vBURkY6x^!?PP{6JzrLO*se1 diff --git a/graphics/event_objects/pics/dolls/big_blastoise_doll.png b/graphics/event_objects/pics/dolls/big_blastoise_doll.png index fa295f302ae15e64ebb9b5f6539b093c3797c3c6..0873117d86335fa17bf54aff0b8e95d05964aef4 100644 GIT binary patch delta 10 RcmZ3<JcoHg{KgzxMgSFZ1C{^) delta 22 dcmbQkypnlBJU0VlNswPKgTu2MX&Ynh839mT2VejI diff --git a/graphics/event_objects/pics/dolls/big_charizard_doll.png b/graphics/event_objects/pics/dolls/big_charizard_doll.png index 4fa5aed45fea82fc4a3c0a842ea8cec4b4a46510..8bf206e5ba74b03e1aed1c205504de80e6777ac6 100644 GIT binary patch delta 10 RcmeBUZe*SizcELN5dafb14RG; delta 22 dcmZo<?qi-1&&|MC666=m;PC85+QwKFMgU8>2M+)M diff --git a/graphics/event_objects/pics/dolls/big_lapras_doll.png b/graphics/event_objects/pics/dolls/big_lapras_doll.png index 572d3c810611e337483fd9a033e12ee82b18451c..9695a0ea526e680ebd3c239e4a7d4dad4a7d1937 100644 GIT binary patch delta 10 Rcmeyv^qy%#!p2;FMgSV*1P%ZI delta 21 ccmaFQ^oMCe0vBURkY6x^!?PP{8)JnS0a}m;*8l(j diff --git a/graphics/event_objects/pics/dolls/big_regice_doll.png b/graphics/event_objects/pics/dolls/big_regice_doll.png index e437d3558af98b0afc1704d42738deeda18b0ef2..eff1de4928882dae53b78975f313618b94b6cc23 100644 GIT binary patch delta 10 Rcmeyv^qy%#!p2;FMgSV*1P%ZI delta 21 ccmaFQ^oMCe0vBURkY6x^!?PP{8)JnS0a}m;*8l(j diff --git a/graphics/event_objects/pics/dolls/big_regirock_doll.png b/graphics/event_objects/pics/dolls/big_regirock_doll.png index 139abbb288cdcfff64327705ddca163a05117a34..63ed272361bcca10278d19cd8d620fb3bc0183c6 100644 GIT binary patch delta 10 RcmZo;{>d~Ueq)XlBLEh!1FQf5 delta 22 dcmey#)W$p^o|}QOB*-tA!Qt7Bw2iSci~v<c2X+7e diff --git a/graphics/event_objects/pics/dolls/big_registeel_doll.png b/graphics/event_objects/pics/dolls/big_registeel_doll.png index 632a2cadd765265775569c519bde9c9fe02e759c..b7ab0821a4cab7a312f6a09fdbc18b4d9d8855fe 100644 GIT binary patch delta 10 RcmZo={=qaMeq)X#BLEhg1E~N2 delta 22 dcmeyt)XF>|o|}QOB*-tA!Qt7Bw2iUSi~v;_2Xg=b diff --git a/graphics/event_objects/pics/dolls/big_rhydon_doll.png b/graphics/event_objects/pics/dolls/big_rhydon_doll.png index 2e059f8c94695e5f66ef38d6bf3daaab00536064..4e439330aebde1118be188e7289386fb80401b87 100644 GIT binary patch delta 10 RcmeBV{=+mOeq)X-BLEib1GNAE delta 22 dcmeyv)X6*{o|}QOB*-tA!Qt7Bw2iUyi~v>02Y&zn diff --git a/graphics/event_objects/pics/dolls/big_snorlax_doll.png b/graphics/event_objects/pics/dolls/big_snorlax_doll.png index 397c9baacd7bc57f89998b852cff004724ae110b..dcb1699bf29938581cbb9825988704eb57e0966c 100644 GIT binary patch delta 10 Rcmey(^p0sl!p2-aMgSVn1PcHF delta 21 ccmaFI^qXly0vBURkY6x^!?PP{8)F3-0a|7U)Bpeg diff --git a/graphics/event_objects/pics/dolls/big_venusaur_doll.png b/graphics/event_objects/pics/dolls/big_venusaur_doll.png index 9d1961608b041774f5f2991e6f54951067a16057..1910d1c6e590f4214c555ba87f479b944e6122f6 100644 GIT binary patch delta 10 RcmX@le295M{KlMQMgSOU1PA~C delta 22 dcmX@ae4cqiJU0VlNswPKgTu2MX&Ylx839)12hsol diff --git a/graphics/event_objects/pics/dolls/big_wailmer_doll.png b/graphics/event_objects/pics/dolls/big_wailmer_doll.png index a174d30f7ddb2a97f7ef0259cd7e10b70c8db672..13cbbccf329792c42b1f2422a203ad1d13a90025 100644 GIT binary patch delta 9 QcmaFLbc1O^!o=Jk02S{9r~m)} delta 20 ccmcb?^pt5r0vBURkY6x^!?PP{6Jvh^08iKmaR2}S diff --git a/graphics/event_objects/pics/dolls/chikorita_doll.png b/graphics/event_objects/pics/dolls/chikorita_doll.png index 6b5e6417d8411b1a7dabbab37406faeec486e2ba..9942fc9dc035890e03a36593ec050e8dd5c53553 100644 GIT binary patch delta 9 Qcmcc0c!F_4!o=JR02EOJ_5c6? delta 20 bcmX@Xc$INN0vBURkY6x^!?PP{6JxUhOvDGj diff --git a/graphics/event_objects/pics/dolls/clefairy_doll.png b/graphics/event_objects/pics/dolls/clefairy_doll.png index 137b202136f306c052983c81b65ef86417e60dc8..3aed333add2378db94f1d191d2ec6aa3d6d78b79 100644 GIT binary patch delta 9 QcmaFNc#UyF!o=J%02Mz3AOHXW delta 20 bcmcb{_?U4*0vBURkY6x^!?PP{6Jsj@PUZ*c diff --git a/graphics/event_objects/pics/dolls/cyndaquil_doll.png b/graphics/event_objects/pics/dolls/cyndaquil_doll.png index b76221e1d42c55c8a922a994f9c0f317587f6592..2f026816efb9d32d30612be06148af29ecc773ca 100644 GIT binary patch delta 9 QcmaFCc$;xT!o=Ka02P!3F8}}l delta 20 bcmcc3_=0gl0vBURkY6x^!?PP{6JzTDPpJp^ diff --git a/graphics/event_objects/pics/dolls/ditto_doll.png b/graphics/event_objects/pics/dolls/ditto_doll.png index da4c33018a069f0f761de7695c15ea23dddd19ba..7b8cb48aefff40ee8d888b1b21a0bcb5de516976 100644 GIT binary patch delta 9 QcmX@hcz|(2!o=JJ029dr-T(jq delta 20 bcmX@Wc$RTO0vBURkY6x^!?PP{6JwJBON<An diff --git a/graphics/event_objects/pics/dolls/duskull_doll.png b/graphics/event_objects/pics/dolls/duskull_doll.png index fdfbe3fecd4e2501d92c6dc0a25ac7cc9fcc966a..6e69796d7243ee039a6a5408075cd74ce2fbbc73 100644 GIT binary patch delta 9 QcmaFDc%5-V!o=Ki02NRKBLDyZ delta 20 bcmcc4_=Isn0vBURkY6x^!?PP{6Jx6YPYnm` diff --git a/graphics/event_objects/pics/dolls/gulpin_doll.png b/graphics/event_objects/pics/dolls/gulpin_doll.png index 48bf1824b3adbcd8b11f6666e4fd8731d99067d1..5ffdefb0cd7ff895c4602240a2e54fa52c6df63c 100644 GIT binary patch delta 9 Qcmcc4c#3gC!o=Jx02Ffr`~Uy| delta 20 bcmX@bc%5-V0vBURkY6x^!?PP{6Jv7$O%eyi diff --git a/graphics/event_objects/pics/dolls/jigglypuff_doll.png b/graphics/event_objects/pics/dolls/jigglypuff_doll.png index 1a2c8d44ac69495d4d31503e8aac1171e1d4518d..75dcbe1eb6e81fefe97834ca905323760852f404 100644 GIT binary patch delta 9 QcmaFLc!P05!o=JP02N^bCIA2c delta 20 bcmcb?_>^%%0vBURkY6x^!?PP{6Jx6ZPc#Sb diff --git a/graphics/event_objects/pics/dolls/kecleon_doll.png b/graphics/event_objects/pics/dolls/kecleon_doll.png index 92869882f1be80ad0860f014541af4c2a5581fb2..a70feb67ce08f75d4fd452ee05b47a4ed8afab89 100644 GIT binary patch delta 9 QcmaFEc%N}X!o=Kq02SB-I{*Lx delta 20 bcmcc5_=a&p0vBURkY6x^!?PP{6JwhIP(=s? diff --git a/graphics/event_objects/pics/dolls/lotad_doll.png b/graphics/event_objects/pics/dolls/lotad_doll.png index 9ee2182d191913130980cac92d148027ab57926f..69065a424043b2caaa2df432928e8abb2d18036f 100644 GIT binary patch delta 9 QcmaFEc%N}X!o=Kq02SB-I{*Lx delta 20 bcmcc5_=a&p0vBURkY6x^!?PP{6JwhIP(=s? diff --git a/graphics/event_objects/pics/dolls/marill_doll.png b/graphics/event_objects/pics/dolls/marill_doll.png index d5372f7ddf1fe0897e2f8be83effbdf44f8c1365..d90c0cee1c8177caf03f5d30e16116ea0a046db4 100644 GIT binary patch delta 9 QcmaFJc!hC7!o=JX02Lhs8UO$Q delta 20 bcmcb@_>gfz0vBURkY6x^!?PP{6JyH(PM8Pd diff --git a/graphics/event_objects/pics/dolls/meowth_doll.png b/graphics/event_objects/pics/dolls/meowth_doll.png index 67ce3db4c0d8676c28ac33089bdfa04ff414b47a..cb093acfa12bcf14e076cf265ccbedf4092577d3 100644 GIT binary patch delta 9 Qcmeyt_?mG-!o=Ke02ZVKUjP6A delta 20 bcmaFO_=9mm0vBURkY6x^!?PP{6Jz@TQW*#+ diff --git a/graphics/event_objects/pics/dolls/mudkip_doll.png b/graphics/event_objects/pics/dolls/mudkip_doll.png index 8d6af157f27a1720833fa6448196dabb99b5522b..440fde84bba268d09edcee58ef50f1282ed6d510 100644 GIT binary patch delta 9 QcmaFJc!hC7!o=JX02Lhs8UO$Q delta 20 bcmcb@_>gfz0vBURkY6x^!?PP{6JyH(PM8Pd diff --git a/graphics/event_objects/pics/dolls/pichu_doll.png b/graphics/event_objects/pics/dolls/pichu_doll.png index 7a2aefc3140041d8fd8ef8bdf1051054284e1902..69bcc64ae56afd2a2bbe351cde98c7cf4a35e674 100644 GIT binary patch delta 9 QcmaFHc$0BL!o=K402OisDF6Tf delta 20 bcmcb~_>6Hv0vBURkY6x^!?PP{6Ju)tPg@7_ diff --git a/graphics/event_objects/pics/dolls/pikachu_doll.png b/graphics/event_objects/pics/dolls/pikachu_doll.png index a762f1e15a02f6cedc802b38a44285657e78ce7e..1c9342ad1c85e7d01dc402c3869cbca5757ed6b1 100644 GIT binary patch delta 9 Qcmcb^c%E@W!o=Ks02Igs3jhEB delta 20 bcmX@lc!zO90vBURkY6x^!?PP{6Jv`2P1Og~ diff --git a/graphics/event_objects/pics/dolls/seedot_doll.png b/graphics/event_objects/pics/dolls/seedot_doll.png index e00c485ae0018019e144a30a4f527e0779fc3c43..255b4c55d064465a6207876933d6a369bd08942e 100644 GIT binary patch delta 9 QcmZo-`pP&VVPfu7020;%{r~^~ delta 20 bcmey$*u*p;fs3&u$S;_|;n|I}iLo;PO0WmV diff --git a/graphics/event_objects/pics/dolls/skitty_doll.png b/graphics/event_objects/pics/dolls/skitty_doll.png index 57ae4c5eda1c88b4a2a9d949b6196e9d5a31d2c8..6e04a9cb1df8057c6add145d818a043d295e62fa 100644 GIT binary patch delta 9 Qcmcb|c#&~J!o=J{02Jy35dZ)H delta 20 bcmcb}c#m;H0vBURkY6x^!?PP{6JtvNP9q1} diff --git a/graphics/event_objects/pics/dolls/smoochum_doll.png b/graphics/event_objects/pics/dolls/smoochum_doll.png index 4adacdfd56a7597a498cf9d96f46462119731f33..7dc1180fdd415af9be9cec000f970217d37e86a1 100644 GIT binary patch delta 9 QcmaFEc%N}X!o=Kq02SB-I{*Lx delta 20 bcmcc5_=a&p0vBURkY6x^!?PP{6JwhIP(=s? diff --git a/graphics/event_objects/pics/dolls/swablu_doll.png b/graphics/event_objects/pics/dolls/swablu_doll.png index 94e3051d7c254d888c901407aa4f32f74afa5bd0..271576db85b1962c5d915fcd36aea0ee3b78ae8f 100644 GIT binary patch delta 9 Qcmcc5c!_aB!o=Jn02KQK6aWAK delta 20 bcmcb_c%N}X0vBURkY6x^!?PP{6JtvOPD%&e diff --git a/graphics/event_objects/pics/dolls/togepi_doll.png b/graphics/event_objects/pics/dolls/togepi_doll.png index 4deda750c3338053bc526dc4e269c3cbfd357e09..aa527b44bb64c0e60add6449b93f9006618b1e73 100644 GIT binary patch delta 9 QcmaFBc$slR!o=KS02K@b7XSbN delta 20 bcmcc2_<(Uj0vBURkY6x^!?PP{6JyH&PH_j| diff --git a/graphics/event_objects/pics/dolls/torchic_doll.png b/graphics/event_objects/pics/dolls/torchic_doll.png index 067eae9fb83037bf2bc6f6874c17732b1ff72b6d..80969c4247f2beee6cb86f74606835c68ad9b566 100644 GIT binary patch delta 9 QcmaFQ_=s^r!o=Jr02T`bL;wH) delta 20 bcmaFF_?~e>0vBURkY6x^!?PP{6JuKeP`U^W diff --git a/graphics/event_objects/pics/dolls/totodile_doll.png b/graphics/event_objects/pics/dolls/totodile_doll.png index b347125c94b64ab2c0252856b6d77196fa7b5f7f..46324159e89f11bbc75ae6955d38bc1b18674702 100644 GIT binary patch delta 9 QcmaFHc$0BL!o=K402OisDF6Tf delta 20 bcmcb~_>6Hv0vBURkY6x^!?PP{6Ju)tPg@7_ diff --git a/graphics/event_objects/pics/dolls/treecko_doll.png b/graphics/event_objects/pics/dolls/treecko_doll.png index 3ccf44a58709f43d39046dcb04f6a54481c2cec3..6487fe8056c25ccba29301a61deb160d41f4a1cd 100644 GIT binary patch delta 9 QcmaFKc!zO9!o=Jf02QSKG5`Po delta 20 bcmcb^_>yr#0vBURkY6x^!?PP{6JzTEPtXVZ diff --git a/graphics/event_objects/pics/dolls/unused_magnemite_doll.png b/graphics/event_objects/pics/dolls/unused_magnemite_doll.png index bbf386e6ae72db2f4066f61019772b969ac8be50..2c9ef10c77672f767891ca4731573d64148f26a3 100644 GIT binary patch delta 9 Qcmcc5c!_aB!o=Jn02KQK6aWAK delta 20 bcmcb_c%N}X0vBURkY6x^!?PP{6JtvOPD%&e diff --git a/graphics/event_objects/pics/dolls/unused_natu_doll.png b/graphics/event_objects/pics/dolls/unused_natu_doll.png index a2c4995e396f2d3e20b99b461b8e5f90711cb046..8087db81dd88275910e0152ec9633fa329ed3693 100644 GIT binary patch delta 9 Qcmcb?c$#rS!o=Kc02G7+{{R30 delta 20 bcmX@jc!P050vBURkY6x^!?PP{6JzrLO*se1 diff --git a/graphics/event_objects/pics/dolls/unused_pikachu_doll.png b/graphics/event_objects/pics/dolls/unused_pikachu_doll.png index 9bf762d024a4c3cc953fd044025b20d1f0e2c119..2e5181977a326bc86b8811f3f38460d640574800 100644 GIT binary patch delta 9 QcmaFPc#CmD!o=Jv02PA-EC2ui delta 20 bcmcb`_?&S<0vBURkY6x^!?PP{6Ju)uPl5;a diff --git a/graphics/event_objects/pics/dolls/unused_porygon2_doll.png b/graphics/event_objects/pics/dolls/unused_porygon2_doll.png index 465b7a0922b21480371c34de146d3575d8d3b47a..f68182762ace3d0c20bb919ba13b01298b4eaa49 100644 GIT binary patch delta 9 Qcmeyv_?~e>!o=Ku02b&3YXATM delta 20 ccmaFQ_=j;q0vBURkY6x^!?PP{6JsX<08+IGGynhq diff --git a/graphics/event_objects/pics/dolls/unused_squirtle_doll.png b/graphics/event_objects/pics/dolls/unused_squirtle_doll.png index ccc526aae7cec7e9a18970ee65027db93d58613f..0480227d0e0e3e9c9bb692cea2573b8b659df354 100644 GIT binary patch delta 9 Qcmey$_=0gl!o=JT02XlsRsaA1 delta 20 bcmaFC_?2-&0vBURkY6x^!?PP{6JxspQKSeT diff --git a/graphics/event_objects/pics/dolls/unused_wooper_doll.png b/graphics/event_objects/pics/dolls/unused_wooper_doll.png index 29bc8fd9972f595a05a673aa652811e9d58a32be..69d73eadac771685aba3a6b34acfe7ab8b4e573e 100644 GIT binary patch delta 9 QcmaFPc#CmD!o=Jv02PA-EC2ui delta 20 bcmcb`_?&S<0vBURkY6x^!?PP{6Ju)uPl5;a diff --git a/graphics/event_objects/pics/dolls/wynaut_doll.png b/graphics/event_objects/pics/dolls/wynaut_doll.png index 3ac3d1311459d03742f1075db8503a99678eb88b..54332817826e16c955b99ce9e9dc77d7f3bb88bc 100644 GIT binary patch delta 9 Qcmcb{c#?5K!o=K602E>a`2YX_ delta 20 bcmX@fc#UyF0vBURkY6x^!?PP{6Jv7#OzQ{2 diff --git a/graphics/event_objects/pics/effects/arrow.png b/graphics/event_objects/pics/effects/arrow.png index a530b5344a266723a6bf599b54d0abb1b4b7361f..85ebdf514c2cd9a89afd78cddb050778366b1fb6 100644 GIT binary patch delta 37 scmZ3-yo+gq%EUSw_M@IIjv*Gk6K@|DXuNi!hye&ZUHx3vIVCg!01pQZ;s5{u delta 151 zcmdnRw2pa#N;rFor>`sfBMwe6X_fGOPhK-HFo>79MwA5Sr<If^7Ns({`?v)7xhs^V z7AY9(nH07zc?eX(QBvUN4wNwlvKhP@H06O5OS+@4BLl<6e(pbstP>UO6&aJf-Ch1K xW&d;(D9cz9<QL4~@a#q!kaN`2#WAE}&cyV?0=HKr$pA$dJYD@<);T3K0RU}FE%*Qc diff --git a/graphics/event_objects/pics/effects/ash.png b/graphics/event_objects/pics/effects/ash.png index 472583def078a2d55bd79d46a1b9ac412f5a8b96..8890d5ab8e1a0c9ebd04827ab95df5410528d7e7 100644 GIT binary patch delta 37 scmbQhJcnt5%EUSw_T`=~jv*QoC*EEvAe`58oB;?tUHx3vIVCg!0Q5%;p#T5? delta 151 zcmbQkG=X`7N;rFor>`sfBMwe68RfRw&-)n|7{p6lBT9nv(@M${i&7cfeOv<k+!e}F zixiCYObT0<JOnD?C@JuB2g(=&*$iF{n({!3CEd~2k%3`jKlh(R)`^Ptii}C#?k@kA xvVS@Xlw~Xl@(X5gcy=QV$XV{`;uumfXJYzNfprr;F93=#c)I$ztaD0e0stt*E&~7n diff --git a/graphics/event_objects/pics/effects/berry_tree_growth_sparkle.png b/graphics/event_objects/pics/effects/berry_tree_growth_sparkle.png new file mode 100644 index 0000000000000000000000000000000000000000..2910c2a499411b1fdda3e1424eb8c807d51328f3 GIT binary patch literal 205 zcmeAS@N?(olHy`uVBq!ia0vp^2|z5s!VDy(r=*_(QU(D&A+E(om;ArF<^Rzs_oftA zJ39Wqs&H?PK$a!Pv!JA-42DSz5_6KgvJ4Fk86^Jy{}0p@_pKxmNJV(MIEH9UTsq+* zCxZfq%j^Sxj~6qgcPK2hvYGnM{mA2aR%{bDJ)Hl<Ws2o(jk51E^wJM={JNrA%yW~4 z!$r~N)VXubDF#_nU)oh_m6vneEWfbhU%X$wV3F_E0I}DWha$EB?O^b9^>bP0l+XkK Dzcx;~ literal 0 HcmV?d00001 diff --git a/graphics/event_objects/pics/effects/berry_tree_growth_sparkle/0.png b/graphics/event_objects/pics/effects/berry_tree_growth_sparkle/0.png deleted file mode 100644 index f3e751d3afed1c842ff5394472aaba4cc442ca91..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 132 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUEk3&B|J5!3k50KarMTMB zF{^uxrB@P%fWp<{B}*KOgA^REUcK7gJ;l*6=>Px!Kuvm5=F@-_zo(012*=Figaxb> c4%_?~i~|@RR)0)C1e9X%boFyt=akR{0LE4<s{jB1 diff --git a/graphics/event_objects/pics/effects/berry_tree_growth_sparkle/1.png b/graphics/event_objects/pics/effects/berry_tree_growth_sparkle/1.png deleted file mode 100644 index d48fd1234903c1c14ffc5e3b18d420b75c532dd4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 141 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUEk3&B|J5!3k50KarMTMB zF{^uxrB@P%fWp<{B}*KOgA^REUcK7gJ;l*6=>Px!Kuvm5=F@<bgr|#R2*=Fi1O;B3 l1Iov~^Uc@tIneIP!@%>Cd3A2@kE1{}44$rjF6*2UngDseFo*yE diff --git a/graphics/event_objects/pics/effects/berry_tree_growth_sparkle/2.png b/graphics/event_objects/pics/effects/berry_tree_growth_sparkle/2.png deleted file mode 100644 index 9a9abf73e4b7531e0a7bc74fc49972749b359bb0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 151 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUEk3&B|J5!3k50KarMTMB zF{^uxrB@P%fWp<{B}*KOgA^REUcK7gJ;l*6=>Px!Kuvm5=F@<blBbJf2*=Figadp( w0xApMG4lwjd|;R^(8Ut-d^h_GB_19Id12O#>Bk&_iWwL@UHx3vIVCg!0A)5ZHvj+t diff --git a/graphics/event_objects/pics/effects/berry_tree_growth_sparkle/3.png b/graphics/event_objects/pics/effects/berry_tree_growth_sparkle/3.png deleted file mode 100644 index 857abfb0b45ec4baea7e95c7b31a83652a0f0bf8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 153 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUEk3&B|J5!3k50KarMTMB zF{^uxrB@P%fWp<{B}*KOgA^REUcK7gJ;l*6=>Px!Kuvm5=F@<bil>WX2*=Fi1coMd y9*GBx%xx_4Js;mO?&4Th#-mywnDW_>kztD($In0hZ{GmbGkCiCxvX<aXaWGTel#Qi diff --git a/graphics/event_objects/pics/effects/berry_tree_growth_sparkle/4.png b/graphics/event_objects/pics/effects/berry_tree_growth_sparkle/4.png deleted file mode 100644 index bce9df4c788aef0a01c5e1854712868ae15a4e47..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 145 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUEk3&B|J5!3k50KarMTMB zF{^uxrB@P%fWp<{B}*KOgA^REUcK7gJ;l*6=>Px!Kuvm5=F@<bjHioZ2*=Figab@+ p4w?JPUnmJA=2R6h1YK!jU~u4Nx+(uedLB?6gQu&X%Q~loCIBkSFnIs~ diff --git a/graphics/event_objects/pics/effects/berry_tree_growth_sparkle/5.png b/graphics/event_objects/pics/effects/berry_tree_growth_sparkle/5.png deleted file mode 100644 index 4c757bf6bce7dfc03256fc4863424078878d6c73..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 134 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUEk3&B|J5!3k50KarMTMB zF{^uxrB@P%fWp<{B}*KOgA^REUcK7gJ;l*6=>Px!Kuvm5=F@<bpr?yt2*=Figahny e52h|<Wnf4NV0gIc3ExMcB!j1`pUXO@geCwcGcADt diff --git a/graphics/event_objects/pics/effects/berry_tree_growth_sparkle/berry_tree_growth_sparkle.png b/graphics/event_objects/pics/effects/berry_tree_growth_sparkle/berry_tree_growth_sparkle.png deleted file mode 100644 index 4fd6e4d5fe366cd82eff320235ca95d21045207d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 308 zcmeAS@N?(olHy`uVBq!ia0vp^2|z5s!VDy(r=*_(QtTz3zOL+#I5@>*)n~jFx(*Z) zFL8}13C>R|DNig)WpMX#0UD!FmRh7>tY=c#y5u2H2}enRpF2>-7|3SuYS5GiQY`6? zzK#qG8~eHcB(ehe1_3@HuEj@}{J*;8|IsP;rW98@I%ajRvGhvf5Ky>Uykv=Eagc)J z)vH&#yQerh2L1p4AE-%B%6uA-VodUOclp1R{nJq(C&JUkF{EP7(g_zi85B5NW*_)_ zyqGDyLt&wn&D3}9M;_0!Vw<?>;ru5qQ!H<5lzpF}mwuSz*A>-bo|`NjE{Zm%&Yf#c uG02+w(ymggyqx1^`Gp<-;{Eaki+r~Rh`lbGwdo(w4hBzGKbLh*2~7Zkzim?h diff --git a/graphics/event_objects/pics/effects/bike_hop_big_splash.png b/graphics/event_objects/pics/effects/bike_hop_big_splash.png index 4546340fe77155d4d45bc15d3b796818786462cd..171d23457e06c87d68178350a62002afd1b12285 100644 GIT binary patch delta 37 rcmZo=p2##oWn!HT`y5Xf#}JK)6K~HF&|OpN!T<!Gu6{1-oD!M<?3oNR delta 151 zcmbQp)XF?TC7iv))7O>#5eKK3oc><vlWGhM4B{oO5hcO-X(i=}MX3z#J}v=%?h0k8 zMGD4xCWWm_9s-qcloa^617(bXYzD6eO?e>2lJ4m1$iT3%pZiZD>qJF+MaCp=cbET5 w**_fx$}*M&`2{mLJiCzw<jnDOaSW-LGckRZz}4fc#DO9Vp00i_>zopr0J4}Yp#T5? diff --git a/graphics/event_objects/pics/effects/bike_hop_small_splash.png b/graphics/event_objects/pics/effects/bike_hop_small_splash.png index 523238a1d4531cc40ffa26bdcb1b1c0d1c67c17a..e98ded0257aa7735c68b84754dc749b6753210e0 100644 GIT binary patch delta 37 rcmdnVbd+&|%EUSw_5e>8#}JO06L0$o=tqB!VgLe9S3j3^P6<r_?&1tC delta 151 zcmX@gxRYsuN;rFor>`sfBMwe6dE*U?OEef57{p6lBT9nv(@M${i&7cfeOv<k+!e}F zixiCYObT0<JOnD?C@JuB2g(=&*$iF{n({!3CEd~2k%3`jKlh(R)`^Ptii}C#?k@kA wvVS@Xlw~Xl@(X5gcy=QV$O-UtaSW-LGcnyy;6CrEN}vdXr>mdKI;Vst0J=si`~Uy| diff --git a/graphics/event_objects/pics/effects/bike_hop_tall_grass.png b/graphics/event_objects/pics/effects/bike_hop_tall_grass.png new file mode 100755 index 0000000000000000000000000000000000000000..c43da9f280869a0ffa8d1c868e898a447678d3c7 GIT binary patch literal 205 zcmeAS@N?(olHy`uVBq!ia0vp^4nWMo!VDyL`#gCAqznRlLR^dYzT5J@x%p_4Ww)VM z6o;WBL(-aeNo$UFpZzxF+5aicNn6%TS#tGg@zEuYTbd=7WL=xCUkcP4;pyTSA~ChJ z|1>XyB8SVvbB#<d_VeutzGC&`@DbIv&Y2$@T~>?qzT982{9YT^m6<%Zyc~XMe`B@p zn9+N(nuFnNH}CG)2A77wunt{5=Tknr!w=l~{#@xiyUtghFSTE6uLA90@O1TaS?83{ F1OUCYRuBLH literal 0 HcmV?d00001 diff --git a/graphics/event_objects/pics/effects/bike_hop_tall_grass/0.png b/graphics/event_objects/pics/effects/bike_hop_tall_grass/0.png deleted file mode 100644 index d2768ec0cea25034b380ec24745985771a93c343..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 171 zcmeAS@N?(olHy`uVBq!ia0vp^0zk~c!VDytB9fK>DT4r?5ZB_p@3#DJZa$i1*=^_* z#bM~kkhJDq(wd{)XTME(_J2xq(v~$-mRvnrd~}K9mS%}1S=XlPmjd-NmIV0)GdMiE zkp|>wdb&7<aLi0jIKa}Q;Ka~T*}(FcaRS4H2aH^eEDBES4P7i12Trj%ykd-RWu6`! Sws$U26N9I#pUXO@geCy1`8weM diff --git a/graphics/event_objects/pics/effects/bike_hop_tall_grass/1.png b/graphics/event_objects/pics/effects/bike_hop_tall_grass/1.png deleted file mode 100644 index 7816f4d00d37fc8372b8e655ff91cb11b2975432..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 169 zcmeAS@N?(olHy`uVBq!ia0vp^0zk~c!VDytB9fK>DT4r?5ZB_p@3#DJZa$i1*=^_* z#bM~kkhJDq(wd{)XTME(_J2xq(v~$-mRvnrd~}K9mS%}1S=XlPmjd-NmIV0)GdMiE zkp|?bd%8G=aLi0j5J+HPa?@b@$Wr0Z!`vglI6;8lW5&dX3@#HHn8g?v{JI$bKa=)e Q57ffo>FVdQ&MBb@0M;xwivR!s diff --git a/graphics/event_objects/pics/effects/bike_hop_tall_grass/2.png b/graphics/event_objects/pics/effects/bike_hop_tall_grass/2.png deleted file mode 100644 index 00c51d276559d14e46aa70521ed4643c1bc026d9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 153 zcmeAS@N?(olHy`uVBq!ia0vp^0zk~c!VDytB9fK>DT4r?5ZB_p@3#DJZa$i1*=^_* z#bM~kkhJDq(wd{)XTME(_J2xq(v~$-mRvnrd~}K9mS%}1S=XlPmjd-NmIV0)GdMiE zkp|?5d%8G=aLi0jIKX10@JL}7!zuv}o|*g%zU)jhLh^X$0F^L!y85}Sb4q9e0F~`B A+W-In diff --git a/graphics/event_objects/pics/effects/bike_hop_tall_grass/3.png b/graphics/event_objects/pics/effects/bike_hop_tall_grass/3.png deleted file mode 100644 index 210382b9334a141d065ae78a9dc47fa8aee42129..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 151 zcmeAS@N?(olHy`uVBq!ia0vp^0zk~c!VDytB9fK>DT4r?5ZB_p@3#DJZa$i1*=^_* z#bM~kkhJDq(wd{)XTME(_J2xq(v~$-mRvnrd~}K9mS%}1S=XlPmjd-NmIV0)GdMiE ykp|?5db&7<aLi0jIKX`F0A~tgh@t>{2SfH9mXk+>CFcMYFnGH9xvX<aXaWF5b2DoI diff --git a/graphics/event_objects/pics/effects/bike_hop_tall_grass/bike_hop_tall_grass.png b/graphics/event_objects/pics/effects/bike_hop_tall_grass/bike_hop_tall_grass.png deleted file mode 100644 index 805f260235e71b4a20d9975c1c77bdec187032de..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 321 zcmeAS@N?(olHy`uVBq!ia0vp^4nWMo!VDyL`#gCAq}WS5eO=ifad3($=yl(GbQUNi zUg8>25}cn_Ql40p%HZzf0yIXUEVW3%SkI)eb;(1J5hVqF?m!u1Ae+IfK~o+`v7|ft zIx;Y9?C1WI$O_~e1o(uw7Vmwx<$rVY(Im@mL$4?fLq~?BHSdzv9PK{)ZOXI%Q<{^u zteLXp>e1q(OB}Z}ODxH{HeJ6IsFyLx+uh~=Qua?rL7b8xzhDN3XE)M-oCr@B$B>FS zrTwRQ85B8O9-eDtda<8xPw*A1ABT^qwsp?@*yyrar1$0iiskp(xUS6Px#i{XOZywE zeaDR6lhqsyXS;cK$2Pb$1cr6!@;RUK*&Tl1&iCg^=h=0>@_flTKMQ0#gQu&X%Q~lo FCIB|JcQ60| diff --git a/graphics/event_objects/pics/effects/bike_tire_tracks.png b/graphics/event_objects/pics/effects/bike_tire_tracks.png new file mode 100644 index 0000000000000000000000000000000000000000..2d989d28cb76304fcae6cef1c48cd939e2409807 GIT binary patch literal 179 zcmeAS@N?(olHy`uVBq!ia0vp^4nQox!VDxsPNql!DT4r?5Z9zN@4h`d`tItMdt0Xb z|NsBqvv+&XKAW@UUecT`|Mxxvs(SZq$-T49SGQ!HodYtZ<Kx4tK+4Y3#W6%<VsgR( zmhbl#U0Teg5qjYFJ0_ow?|L!|G%C2CF-LyCcaU+@#qSC=9L%$sCb;bgj99}E-TO?! c=Q=aP9R0MZzcT(B08L`>boFyt=akR{0KiU6egFUf literal 0 HcmV?d00001 diff --git a/graphics/event_objects/pics/effects/bike_tire_tracks/0.png b/graphics/event_objects/pics/effects/bike_tire_tracks/0.png deleted file mode 100644 index d4fd46f9ba1d2a8229083392b8d8eebe74428931..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 165 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUO<MEr+q0wZu5P)vWy=5m z|L;9}xA*L`Ia}@}&DrvQ?=zsPch8pGJKKD9OV-&rAWa<~A6^Agj3q&S!3+-1ZlnP@ z%APKcAsjQ46BY<R*jp{`bievL-x-EW32g6oZx_(KS1v9g!N70ByTpO%{5zm>22WQ% Jmvv4FO#o*?LgfGe diff --git a/graphics/event_objects/pics/effects/bike_tire_tracks/1.png b/graphics/event_objects/pics/effects/bike_tire_tracks/1.png deleted file mode 100644 index 9095cdd745c4d958ee82056c7d327f3eb49e6936..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 153 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUO<MEr+q0wZu5P)vWy=5m z|L;9}xA*L`Ia}@}&DrvQ?=zsPch8pGJKKD9OV-&rAWa<~A6^Agj3q&S!3+-1ZlnP@ w;+`&!AsjQ46BgL+;AZ7{zkuOjgZDuO26kVWjRNjU_CO^Jp00i_>zopr00GWBhX4Qo diff --git a/graphics/event_objects/pics/effects/bike_tire_tracks/2.png b/graphics/event_objects/pics/effects/bike_tire_tracks/2.png deleted file mode 100644 index 56907c153a9768f6ca8008ee94114d7dafff762b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 149 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUO<MEr+q0wZu5P)vWy=5m z|L;9}xA*L`Ia}@}&DrvQ?=zsPch8pGJKKD9OV-&rAWa<~A6^Agj3q&S!3+-1ZlnP@ s!k#XUAsjQ46A}`3e4ob1#Ky?XAS58O(OZLKEl`@l)78&qol`;+0QginMgRZ+ diff --git a/graphics/event_objects/pics/effects/bike_tire_tracks/3.png b/graphics/event_objects/pics/effects/bike_tire_tracks/3.png deleted file mode 100644 index 397bfb41810d5be620e99c2238aeb5887e130677..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 172 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUO<MEr+q0wZu5P)vWy=5m z|L;9}xA*L`Ia}@}&DrvQ?=zsPch8pGJKKD9OV-&rAWa<~A6^Agj3q&S!3+-1ZlnP@ zTAnVBAsjQ46A}`3e4ob1wBp=@+H%HY71iJMT;AQ?T`sV&I)IH?KZJ{gp;J_TlB`4n Q8&DU6r>mdKI;Vst0A3tK#sB~S diff --git a/graphics/event_objects/pics/effects/bike_tire_tracks/bike_tire_tracks.png b/graphics/event_objects/pics/effects/bike_tire_tracks/bike_tire_tracks.png deleted file mode 100644 index 383a393c4d38c594fbc3688b2a2ad0dfd22860f7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 295 zcmeAS@N?(olHy`uVBq!ia0vp^4nQox!VDxsPNql!DfSXiUsv`=9Gqf`YI7u`_W^~( zOI#yLg7ec#$`gxH8QgtbfW|14r4}g|>zNd`E_n!4!ckJ-=MI!H2C^Bv8Z_mB6id3J zuOkD)#(wTUiL5}rL4Z$)Ytou`-<}<PcXi9XEmQvg|9|h<yS-<h&DnA<Y0j4ad!GSS zy?eIg-r44>Te8m10lBZ^<HM^!iZRLC-R1vM_D@GaoRT2FU<QY0H`0I{J5LwKkcv6U z2?tod-&=HPF_%W@f#2_#d^*1C$t=*Q;C{v&`TgEO#!VN$E7Wi>&t{t7wj(fN4MTMA eGYOyT%nWn%)25!45BLEziNVv=&t;ucLK6V48Ehl~ diff --git a/graphics/event_objects/pics/effects/bird.png b/graphics/event_objects/pics/effects/bird.png index 3147f98f52cc0584b1b318dd1fd1b8e631b3b619..e9d9798fde6555444868395b7f814f41047f4590 100644 GIT binary patch delta 9 QcmZ3$G?{5a!o=Lo01;XP*#H0l delta 20 ccmbQtw18<s0vBURkY6x^!?PP{6Jxgl07X>?q5uE@ diff --git a/graphics/event_objects/pics/effects/bubbles.png b/graphics/event_objects/pics/effects/bubbles.png index 554fc8425e300be8c6970a907ebe37ac3ac12e1d..b04ceaf09594dcbaf282f33a602346272f8100e7 100644 GIT binary patch delta 39 ucmbQix`btd%EUTr4#xGKE{-7{of~hjWfV9UY;}hL2s~Z=T-G@yGywn)a}8nu delta 153 zcmZ3&GJ|!3N;rFor>`sfBMwe6W#*^aZ>t#?7{p6lBT9nv(@M${i&7cfeOv<k+!e}F zixiCYObT0<JOnD?C@JuB2g(=&*$iF{n({!3CEd~2k%3`jKlh(R)`^OCN(_ui-tI2{ ym$H943Y2Cn3GxeOaCmkj4ai>a>EaktF=u1?T1Ejmr*+>!#(28=xvX<aXaWFIw=G2g diff --git a/graphics/event_objects/pics/effects/deep_sand_footprints.png b/graphics/event_objects/pics/effects/deep_sand_footprints.png new file mode 100644 index 0000000000000000000000000000000000000000..ea7484b23e308e087a07b89be6f94e645811952c GIT binary patch literal 196 zcmeAS@N?(olHy`uVBq!ia0vp^3P3Et!VDx^^%AmxltF+`h-=cCci)~JeRp-sy)9Gz z|NnpQ*}J`GpUv5FFKNz}|9hVSRlR$*<lfolt6Q?p&H<Uy@$unRAm#7r;us<^H90|n z>%%@*;Rn_39t_Uh@8@!_U@AYii1Wj}qwl+_Ilg{Buxx)dgLuXFcREfCDyNH|={cR= tUG8xDJ=4uS=?Y~Z<~2sveb+PMW$4#bIVE%Ef;7-*22WQ%mvv4FO#l~dRKx%P literal 0 HcmV?d00001 diff --git a/graphics/event_objects/pics/effects/deep_sand_footprints/0.png b/graphics/event_objects/pics/effects/deep_sand_footprints/0.png deleted file mode 100644 index c449b223e9cc72d090def49c99986d629ac1a346..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 182 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUO<MEr+q0wZu5P)vWy=5m z|L;9}xA*L`Ia}@}&DrvQ?=zsPch8pGJKKD9OV-&rAWa<~A6^Agj3q&S!3+-1ZlnP@ zCY~;iAsjQ46Ao}y+;@_!d4EB&K=YopxI&M0`a+(2yH_l`)7)jer@G->gXhP2jW2g{ a19kbF6E3W~eC`ZTKZB>MpUXO@geCx^YE91o diff --git a/graphics/event_objects/pics/effects/deep_sand_footprints/1.png b/graphics/event_objects/pics/effects/deep_sand_footprints/1.png deleted file mode 100644 index 2a1d5cce5de114132150716fa75ccd318f95f819..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 174 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUO<MEr+q0wZu5P)vWy=5m z|L;9}xA*L`Ia}@}&DrvQ?=zsPch8pGJKKD9OV-&rAWa<~A6^Agj3q&S!3+-1ZlnP@ zI-V|$AsjQ46Bg+1_%3#;;`=+DmgB|G^g7C)GabIm&BL=N{ajpw#*S)n7bb?|3k9RT T)me)I^)Yz5`njxgN@xNANdic= diff --git a/graphics/event_objects/pics/effects/deep_sand_footprints/deep_sand_footprints.png b/graphics/event_objects/pics/effects/deep_sand_footprints/deep_sand_footprints.png deleted file mode 100644 index 8719bd7a245aa2f5168a58562f44cfca30177f25..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 312 zcmeAS@N?(olHy`uVBq!ia0vp^3P3Et!VDx^^%Amx6nlxMuPgf_4o)#;?F;i<8-YUN zC9V-A!TD(=<%vb94DLQIKw}ijQi~Lf^-Ky|mplY2;V3Eaa|g;81KA8-4Vv;miY49A z*O7r?V?XzwL{=c*AiyWYHEGSeZ_kdtySnAxmMQ=L|G)R_-QKg$=4`o_G-u2Iz0ZKE z-aT7#?`-qcEm>#hfZW&d@!?e<#hB#n?(%;r`=_HIPDzkoFoVOh8)-m}zo(01NX4Aw z1O=`S`&@+|RJ(gHICH<B%e{iB{M;hW5BH9~@2ckb`u)JN{nZTO72n_KI5DW4E`Fxx vbb5EW!|C@-H}|9~lzo`j7+LpS&xn_yUsL7O!&Gf`pwSGTu6{1-oD!M<g4lHf diff --git a/graphics/event_objects/pics/effects/ground_impact_dust.png b/graphics/event_objects/pics/effects/ground_impact_dust.png new file mode 100644 index 0000000000000000000000000000000000000000..d4562fe57de94c0dc09ddeca8011a27000024c6f GIT binary patch literal 197 zcmeAS@N?(olHy`uVBq!ia0vp^20+Zg!VDyRSrbb@0s%fDu1Ra&eS3EF-PJAkwoLi| z|Np&b@AjU3HfPJdq&Zvu?|lYT_3qh{duN-kZpk`32V_de$A?#eRDh?8V+hC0wY?X4 z85B93yLA|R8g?;U{9A54<@fIU*$SDzof!Uwu=6~yn726erNiYZ%}-K<^e4=@x{K|^ uyR9ya=Ol}JdyH$>+}X}v_TgV$9fK4jOY6OdZe2jL89ZJ6T-G@yGywnzLR7;5 literal 0 HcmV?d00001 diff --git a/graphics/event_objects/pics/effects/ground_impact_dust/0.png b/graphics/event_objects/pics/effects/ground_impact_dust/0.png deleted file mode 100644 index 57e2e88982a1adc3def6fdc0547e7a79ade6fc4c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 174 zcmeAS@N?(olHy`uVBq!ia0vp^0zk~c!VDytB9fK>DT4r?5Z9zN@4h`d`tItMdt0Xb z|NsBqvv+&XKAW@UUecT`|Mxxvs(SZq$-T49SGQ!HodYtZ<Kx4tK#H*>$S;_|;n|He zAV<g3#W93qW^%#-b`eR576+5b3IZAol4qKnx|-M&+9qw9DAaK<A?HBOnF9<Ay7o-% UmO_(@f%+IcUHx3vIVCg!0AP1P+5i9m diff --git a/graphics/event_objects/pics/effects/ground_impact_dust/1.png b/graphics/event_objects/pics/effects/ground_impact_dust/1.png deleted file mode 100644 index d91554b6ead633982f553ba0031465d7446582da..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 165 zcmeAS@N?(olHy`uVBq!ia0vp^0zk~c!VDytB9fK>DT4r?5Z9zN@4h`d`tItMdt0Xb z|NsBqvv+&XKAW@UUecT`|Mxxvs(SZq$-T49SGQ!HodYtZ<Kx4tK#H*>$S;_|;n|He zAV=BL#W93qW^%#--Wj|LR2DOIFsewlI`FtEgwLGWc<=znLNNw~gN&gQC(k_xRL<b( L>gTe~DWM4fChk9M diff --git a/graphics/event_objects/pics/effects/ground_impact_dust/2.png b/graphics/event_objects/pics/effects/ground_impact_dust/2.png deleted file mode 100644 index 8d0235141a311ee2ab29b15568c66766bc70ae64..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 158 zcmeAS@N?(olHy`uVBq!ia0vp^0zk~c!VDytB9fK>DT4r?5Z9zN@4h`d`tItMdt0Xb z|NsBqvv+&XKAW@UUecT`|Mxxvs(SZq$-T49SGQ!HodYtZ<Kx4tK#H*>$S;_|;n|He zAV<d2#W93qW^%#--Wdv0m;{`DvI(#mGq)V=3E*ZB5@J~0kj+pCRL9`y>gTe~DWM4f DLqs~0 diff --git a/graphics/event_objects/pics/effects/ground_impact_dust/ground_impact_dust.png b/graphics/event_objects/pics/effects/ground_impact_dust/ground_impact_dust.png deleted file mode 100644 index 83b25a6057188ab2698620633bbfaef463a69e88..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 313 zcmeAS@N?(olHy`uVBq!ia0vp^20+Zg!VDyRSrbcu6nlxMuPgf_4o)!@*??5H`#>S_ z64!{5;QX|b^2DN426rD9pfL(%sYMFLdM1UfOCExZC@JuB2g(=&*$iF{n({!3CEd~2 zk%3`jKlh(RRv_OXz$e5tY0bND&yK#ky5-)MDgXcfzxV9j-m}l<Y`K>-XUqS+&w#4l zJzH|`Z1dGES!d^f+}H8(;Z-2TnB?v5@_#A&r=uWFNswPKgTu2MX+TbZr;B4q#hkUh z7kL>JIh?z77<?LbF<ksxZawAq?)%vanZKPF{)MpfJg}IzIP|5%<tfciQiSv;%(=RY w?ZmsSE{x|Si+g*FYuDV_&R+K6UtJx86eCNk-uC*HK(iS<UHx3vIVCg!00Sd*U;qFB diff --git a/graphics/event_objects/pics/effects/hot_springs_water.png b/graphics/event_objects/pics/effects/hot_springs_water.png index 1b6550b196a7dd0656312dcbd4b5ea98780272d1..18892239e2c9089abd0bc5a8ce8c4dd909c617f7 100644 GIT binary patch delta 9 QcmbQn*vU8{VPdW(01zSrIRF3v delta 20 bcmeBVoW?jIfs3&u$S;_|;n|I}iLp8WLn{XY diff --git a/graphics/event_objects/pics/effects/jump_out_of_ash.png b/graphics/event_objects/pics/effects/jump_out_of_ash.png index b5161274ab8e59b1da9c31444c9caf76f466af31..3247b8169659ac122f762aef030423ca12f802ef 100644 GIT binary patch delta 37 scmX@de2Zy<%EUSw_NSgMjv*QoC*FQ6a8xAY8Uqk`y85}Sb4q9e02NUU+yDRo delta 151 zcmcb`bdGs~N;rFor>`sfBMwe6b<V^|2NM|>7{p6lBT9nv(@M${i&7cfeOv<k+!e}F zixiCYObT0<JOnD?C@JuB2g(=&*$iF{n({!3CEd~2k%3`jKlh(R)`^Ptii}C#?k@kA wvVS@Xlw~Xl@(X5gcy=QV$a(7N;uumfXJYzef#>Cq6@elQp00i_>zopr04*>r`v3p{ diff --git a/graphics/event_objects/pics/effects/long_grass.png b/graphics/event_objects/pics/effects/long_grass.png new file mode 100644 index 0000000000000000000000000000000000000000..265e45056b49525149b5614982ecc766af15c509 GIT binary patch literal 400 zcmV;B0dM|^P)<h;3K|Lk000e1NJLTq002M$000mK0{{R3RLNu-0000mP)t-sbG`1g z|AT|YVmXU3N?HgpK>%W`?qaOPi_P|w=Kqv~VzjK3q}9c9#iT*BgBYZ0)|W4J0003S zNkl<ZD3LXhJCcJy3`FM&puGUoq^`2mq*G;keE&o-ci9%~2GBx!`qFY_p63|UbDo(z znYW%&K3ZD3!sde%%NW6m%jrX*#+7d2=7>PT0-b|EnEY4-INZ1eS5cJP1eUIPg*}=p zAGQRSyV9k+G!#RNsMOBfAV^&{5^BK>bk%Bv0FvpT%9chI2z{>tTfs{u1+V7Ri!M8g zk7pCk?x7`3m}oJwFACP5E%(qiF><Q8hRP3bV5*ow0H$F*n1?3WICEAqW*&jS)R3IZ z+otiT)kGEOyHvnV)1kPzy??Zm-B-AdREoYkT88z2A6l>1QA;(o$&Zfp*}j5hj4umZ uQ0iFm=V$vIGT0ByCF)20>u1Uzc>My~y>s_PZ^>H#0000<MNUMnLSTYFDY)DK literal 0 HcmV?d00001 diff --git a/graphics/event_objects/pics/effects/long_grass/0.png b/graphics/event_objects/pics/effects/long_grass/0.png deleted file mode 100644 index 4a02b3d174df7397e58bb32efc8f849e7f8a0205..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 236 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUE#CWX%m3!)qe+(ChF(z| zhK>wLYu+WTIof^p+mvVjr!*&RSu<tH)uY8nmpE=|mROQ?ZMuFbP%mRikY6x^!?PP{ zKu(sYi(?4KOwltNMUNP8Fb9Nf*vZ<I$2cLn>&W(c=ee<b<?;RsE7w%r_tDfnzl2LY z_OLWxc%0%rNh>F%G;udYsV9sU9v&Am<@SE&J!)|v?95g3JCCo`vQ_T9C%-a)`^Ths hd+D@Oo29mVWxsh^`cl~H*e;;044$rjF6*2UngH3tTi^fy diff --git a/graphics/event_objects/pics/effects/long_grass/1.png b/graphics/event_objects/pics/effects/long_grass/1.png deleted file mode 100644 index 97f652c6d477a967a719e9469020cf30833807f5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 230 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUE#CWX%m3!)qe+(ChF(z| zhK>wLYu+WTIof^p+mvVjr!*&RSu<tH)uY8nmpE=|mROQ?ZMuFbP%mRikY6x^!?PP{ zKu(IMi(?4KOwpc=f=3K^4sU5%%qioiaB!{m|9`z%?>~99TQ?cJyZ1dTGUrBUghsHc z`8*zVX|{)F!-7wGM7BO)RL-1jQZS*)YVtMdumevdRvRa`3ci%D`)+>ap!~mOZ9eHG c&!6%i+AsV4{?U`?fc7zXy85}Sb4q9e06IHg8vp<R diff --git a/graphics/event_objects/pics/effects/long_grass/2.png b/graphics/event_objects/pics/effects/long_grass/2.png deleted file mode 100644 index 313226f8bc46a98402a906e74b30b3ce29f09a96..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 231 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUE#CWX%m3!)qe+(ChF(z| zhK>wLYu+WTIof^p+mvVjr!*&RSu<tH)uY8nmpE=|mROQ?ZMuFbP%mRikY6x^!?PP{ zKu)Tsi(?4KOx@mtyv&9iEZbS-MUO0DoKf>$IR3x<y?3e+T`fnl+GCF_`?fCVo@f3P zyPbvN(_Sv=bd2bK#ab88`uw9yyucC##_TUo^{+YZJE9)7$Js?n{P7X>&D`=iZSi{X c%I6=;yY<OyeluEK2(*yF)78&qol`;+02J?Al>h($ diff --git a/graphics/event_objects/pics/effects/long_grass/3.png b/graphics/event_objects/pics/effects/long_grass/3.png deleted file mode 100644 index 0565b40695d50fa2b7924a2115c81527e26dbf4a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 236 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUE#CWX%m3!)qe+(ChF(z| zhK>wLYu+WTIof^p+mvVjr!*&RSu<tH)uY8nmpE=|mROQ?ZMuFbP%mRikY6x^!?PP{ zKu(sYi(?4KOwpc=yoU`0n0Ge)6+Tju?cl#mRKVrt{=l`dpI-4jnfM{9Sl9l<z0K#} z1Xwh?xBF|0@Yh5{O8!|CY%*odw3a7pO>bl#3pEHaHaoLjgYU3(9{aa%yC%<2jj@rg hD~(O4ac}(blewoznxkle#6O^|44$rjF6*2UngC8cUf=)# diff --git a/graphics/event_objects/pics/effects/long_grass/long_grass.png b/graphics/event_objects/pics/effects/long_grass/long_grass.png deleted file mode 100644 index 5dfc3b2469837e7dc17c33a441e3961b2c921c25..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 516 zcmV+f0{i`mP)<h;3K|Lk000e1NJLTq002M$000mK0{{R3RLNu-00007bV*G`2jU0` z7AO{L0?=Ck000+sMObuGZ)S9NVRB^vM@&RePDdbiWpW@hE;Mn4q~QPn00?w&PDe*f zL^A*Y002sWDIWj;00d`2O+f$vv5yP<VFdsH05DKYR7G>W?zI1dgT-Pwi!n-C2r)qb zVyy0Bti_AX_LS!Tl!IcltdykH#dF1^L9~Myq-xfeFLeL_00Cl4M@0Xn2lB-L0004W zQchC<K<3zH0003SNkl<Zc$_tnJCcJy3`FM&puGUoq^`2mq*G;keE&o-ci9%~2GBx! z`qFY_p63|UbDo(znYW%&K3ZD3!sde%%NW6m%jrX*#+7d2=7>PT0-b|EnEY4-INZ1e zS5cJP1eUIPg*}=pAGQRSyV9k+G!#RNsMOBfAV^&{5^BK>bk%Bv0FvpT%9chI2z{>t zTfs{u1+V7Ri!M8gk7pCk?x7`3m}oJwFACP5E%(qiF><Q8hRP3bV5*ow0H$F*n1?3W zICEAqW*&jS)R3IZ+otiT)kGEOyHvnV)1kPzy??Zm-B-AdREoYkT88z2A6l>1QA;(o z$&Zfp*}j5hj4umZQ0iFm=V$vIGT0ByCF)20>u1Uzc>My~y>s{N`3mj;0000<MNUMn GLSTZ)W!a<v diff --git a/graphics/event_objects/pics/effects/mountain_disguise.png b/graphics/event_objects/pics/effects/mountain_disguise.png index ad592eac89a3e9e67e706a52f161e6d17ac5d3ea..c394855e61038338a1693cb313c6c74874c7ba83 100644 GIT binary patch delta 39 tcmeBXna(^xWn!H*2cwdwi(`mI@5b8-i~{mpd-gE^fv2mV%Q~loCIIH53yc5& delta 153 zcmbQv+|4pUC7iv))7O>#5eKK37UQkw=5h=S4B{oO5hcO-X(i=}MX3z#J}v=%?h0k8 zMGD4xCWWm_9s-qcloa^617(bXYzD6eO?e>2lJ4m1$iT3%pZiZD>qJF6B?iVMZ+Dmf xOW8ji1xhoP1o;IsI6S+N24pLFx;TbZ%-NW(z$oA`+wuy?7*AI}mvv4FO#t}zE1duU diff --git a/graphics/event_objects/pics/effects/ripple.png b/graphics/event_objects/pics/effects/ripple.png index 0352ef2d8bee96b6260ad0987e090b2b6f8e9096..87e6dd6176d09af902307e66aa14df79389f8d6b 100644 GIT binary patch delta 37 rcmcc1^pbIc%EUSw_7YDQ#}JK)6K@v@SQq#BF#v(5tDnm{r-UW|{a6f# delta 151 zcmaFKc$aB{N;rFor>`sfBMwe69f4=O8?qP}7{p6lBT9nv(@M${i&7cfeOv<k+!e}F zixiCYObT0<JOnD?C@JuB2g(=&*$iF{n({!3CEd~2k%3`jKlh(R)`^Ptii}C#?k@kA wvVS@Xlw~Xl@(X5gcy=QV$SLu3aSW-LGcmnLVCm07MxY3Tr>mdKI;Vst04NMB=Kufz diff --git a/graphics/event_objects/pics/effects/sand_disguise_placeholder.png b/graphics/event_objects/pics/effects/sand_disguise_placeholder.png old mode 100644 new mode 100755 index 66b9993e776bafd011eea89d5fcda175b607974b..76808a53bd75d2d125a82bdb2e1afb5a9905729d GIT binary patch delta 37 rcmdnRe2i&=%EUSw_KTh_jv*Gk6K|gv_~Ya*#sCDKu6{1-oD!M<2h9x} delta 151 zcmX@cw2OIyN;rFor>`sfBMwe6J$aXw^OXz?4B{oO5hcO-X(i=}MX3z#J}v=%?h0k8 zMGD4xCWWm_9s-qcloa^617(bXYzD6eO?e>2lJ4m1$iT3%pZiZD>qJF+MaCp=cbET5 w**_fx$}*M&`2{mLJiCzw<XrT0aSW-LGco<VfFgeiKTw3h)78&qol`;+00b5+1ONa4 diff --git a/graphics/event_objects/pics/effects/sand_footprints.png b/graphics/event_objects/pics/effects/sand_footprints.png new file mode 100644 index 0000000000000000000000000000000000000000..71c54f78723f9867a05f7792acf054d9945eb1e0 GIT binary patch literal 175 zcmeAS@N?(olHy`uVBq!ia0vp^3P3Et!VDx^^%AmxltF+`h-=cCci)~JeRp-sy)9Gz z|NnpQ*}J`GpUv5FFKNz}|9hVSRlR$*<lfolt6Q?p&H<Uy@$unRAZ6w0;us<^H90|n z>%%@*;Rn_39t_Uh@0lOHImG)e*1_Q5vi;5yKl#qIaowq|X6$(wb?;#4r&xze{hSPM XK1+RRo@)LcXbOX;tDnm{r-UW|DZ)!z literal 0 HcmV?d00001 diff --git a/graphics/event_objects/pics/effects/sand_footprints/0.png b/graphics/event_objects/pics/effects/sand_footprints/0.png deleted file mode 100644 index 3cc79aa184fe2a4ea03c52a105978252848113af..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 172 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUO<MEr+q0wZu5P)vWy=5m z|L;9}xA*L`Ia}@}&DrvQ?=zsPch8pGJKKD9OV-&rAWa<~A6^Agj3q&S!3+-1ZlnP@ zTAnVBAsjQ46Ao}y+;@_!d4EB&K=U5^jju`v_HqXt+s*!hXNSmr))ZMDhJT$r8}9xR Rkpb#r@O1TaS?83{1OR_jM@#?! diff --git a/graphics/event_objects/pics/effects/sand_footprints/1.png b/graphics/event_objects/pics/effects/sand_footprints/1.png deleted file mode 100644 index 80d33783b390cdcc1121f1f791453a724b2c0b25..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 159 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUO<MEr+q0wZu5P)vWy=5m z|L;9}xA*L`Ia}@}&DrvQ?=zsPch8pGJKKD9OV-&rAWa<~A6^Agj3q&S!3+-1ZlnP@ zvYsxEAsjQ46Bg+1_%3#;;`=+sj&jBxMH`Vy4F-li=lNW}78NfCDrE3<^>bP0l+XkK D&v8KB diff --git a/graphics/event_objects/pics/effects/sand_footprints/sand_footprints.png b/graphics/event_objects/pics/effects/sand_footprints/sand_footprints.png deleted file mode 100644 index cec011d0a5752a253184580477c439e1763b8390..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 291 zcmeAS@N?(olHy`uVBq!ia0vp^3P3Et!VDx^^%Amx6nlxMuPgf_4o)$B)&+mroq$5( zC9V-A!TD(=<%vb94DLQIKw}ijQi~Lf^-Ky|mplY2;V3Eaa|g;81KA8-4Vv;miY49A z*O7r?V?XzwL{=c*AiyWYHEGSeZ_kdtySnAxmMQ=L|G)R_-QKg$=4`o_G-u2Iz0ZKE z-aT7#?`-qcEm>#hfZW&d@!?e<#hB#n?(%;r`=_HIPDzkoFoVOh8)-m}m8XkiNX4Aw z1O=`S`&@+|RJ(gHICH;ee)Q%L@4HwBgM-WVJ4^iJJJZH>r@ET4=V8>ngQ1^d9WM2A ZGQ9aL^<~>T={TS%44$rjF6*2UngEKoYfJzD diff --git a/graphics/event_objects/pics/effects/shadow_extra_large.png b/graphics/event_objects/pics/effects/shadow_extra_large.png index 41b37d8fbae0e2465dc016f4bddd8d7cedbfb976..765a5291a8d9eb0f6508e5d9e223c421112ca56b 100644 GIT binary patch delta 47 zcmV+~0MP%X0hj@hI3@q2wAE^Ri$PM9#r9f@y$~@{w4`Etb3r*d82|tO0000TZJx)G FYC90I6?Fgr delta 60 zcmbQixRh~%g^{IKwWei~gl3R{g5|wu?~2bBdrb-YpA>b}(eeNP{|pQa`U>ZSfD~g% PkY6x^!?PP{6JxCbu)P+r diff --git a/graphics/event_objects/pics/effects/shadow_large.png b/graphics/event_objects/pics/effects/shadow_large.png index f0e76cd7ffd48d55ee831ab94715431eefc0809e..e917823b05cd96f64884877479f9c8df82d73483 100644 GIT binary patch delta 47 zcmV+~0MP%P0gwTZI3@q2wAE^Ri$PM9#r9f@y$~@{w4`Etb3r*d82|tO0000TZJx)G FYBLSV6<q)T delta 60 zcmbQhIG1sPg^{IKwWei~gl3R{g5|wu?~2bBdrb-YpA>b}(eeNP{|pQa`U>ZSfD~g% PkY6x^!?PP{6Jw15tpygC diff --git a/graphics/event_objects/pics/effects/shadow_medium.png b/graphics/event_objects/pics/effects/shadow_medium.png index 7bf9afef71957a93bf13446d3c3c2f355be8805f..83ab6e1f6e1ea9688552ceea05a987954f77d643 100644 GIT binary patch delta 47 zcmV+~0MP%O0gnNYI3@q2wAE^Ri$PM9#r9f@y$~@{w4`Etb3r*d82|tO0000TZJx)G FYBCLM6<PoQ delta 60 zcmeBYoWnT5!pPFATGKK~LNiD}!Sdd-cg1Imy`}{HPl`I~==lHte+C8yeT8#EK#H*> P$S;_|;n|I}iLpiitd16y diff --git a/graphics/event_objects/pics/effects/shadow_small.png b/graphics/event_objects/pics/effects/shadow_small.png index 6c13c1b862b7c3f22c31436bd554a08efd197cdb..f5feada2b96633ca74e5281fa01fa7fd59aff536 100644 GIT binary patch delta 47 zcmV+~0MP%O0gnNYI3@q2wAE^Ri$PM9#r9f@y$~@{w4`Etb3r*d82|tO0000TZJx)G FYBCLM6<PoQ delta 60 zcmeBYoWnT5!pPFATGKK~LNiD}!Sdd-cg1Imy`}{HPl`I~==lHte+C8yeT8#EK#H*> P$S;_|;n|I}iLpiitd16y diff --git a/graphics/event_objects/pics/effects/short_grass.png b/graphics/event_objects/pics/effects/short_grass.png index 53eb7924e2177f33a6d2c349e9b63061481cf127..dc477e29fc123e1084ebecf59917dd6dd2c15ad9 100644 GIT binary patch delta 37 rcmbQlG>>tD%EUSwc1=$g#}J9B6K|^vl*%(XGXR07tDnm{r-UW|(4GpQ delta 151 zcmbQoIEiV3N;rFor>`sfBMwe6eU&#;#AO&57{p6lBT9nv(@M${i&7cfeOv<k+!e}F zixiCYObT0<JOnD?C@JuB2g(=&*$iF{n({!3CEd~2k%3`jKlh(R)`^Ptii}C#?k@kA wvVS@Xlw~Xl@(X5gcy=QV$kFt4aSW-LGcjFVU}=5(E1(F2r>mdKI;Vst0H^RP{Qv*} diff --git a/graphics/event_objects/pics/effects/splash.png b/graphics/event_objects/pics/effects/splash.png index a33a0c9dac3341419a9041e7df2ddbff49968f74..6e55ffae0b30d4d29a8432fc520174a68051c318 100644 GIT binary patch delta 37 rcmbQqw3Kmz%EUSwb^}ir#}JO06L0GY^aXO=WB>wBS3j3^P6<r_-%$&h delta 151 zcmZ3=IFo6DN;rFor>`sfBMwe61J>N-oOc))7{p6lBT9nv(@M${i&7cfeOv<k+!e}F zixiCYObT0<JOnD?C@JuB2g(=&*$iF{n({!3CEd~2k%3`jKlh(R)`^Ptii}C#?k@kA wvVS@Xlw~Xl@(X5gcy=QV$T9GAaSW-LGcjFHz}YJ68Bm15)78&qol`;+0JpX)c>n+a diff --git a/graphics/event_objects/pics/effects/surf_blob.png b/graphics/event_objects/pics/effects/surf_blob.png index 7e91e17dc16d778cbb6e1aefc3c23dc80af6a3e5..b5656cf16bf9daf4cadd999460518e8d27239219 100644 GIT binary patch delta 37 scmcc1{E}&c%EUSw_Aj0;jv*Gk6K{VK_|Uwjf&mCTUHx3vIVCg!03}-vqyPW_ delta 151 zcmaFKbeDO8N;rFor>`sfBMwe61MQ84EW!*74B{oO5hcO-X(i=}MX3z#J}v=%?h0k8 zMGD4xCWWm_9s-qcloa^617(bXYzD6eO?e>2lJ4m1$iT3%pZiZD>qJF+MaCp=cbET5 w**_fx$}*M&`2{mLJiCzw<b3gTaSW-LGco;>fbI+T`9Ki{Pgg&ebxsLQ0O6`F9{>OV diff --git a/graphics/event_objects/pics/effects/tall_grass.png b/graphics/event_objects/pics/effects/tall_grass.png index b6b44307a944b5f53f7c398bd04073eb93191414..919fc6f8a833166b566fb490c7f8a793753ccf77 100644 GIT binary patch delta 37 scmcb}e3xm0%EUSw_7|Qmjv*QoC*FQ0VDiyxEdvmEy85}Sb4q9e02bN}?EnA( delta 151 zcmcc1bdh<2N;rFor>`sfBMwe6Lru4okU9ni2JsTth?3y^w370~qErTVAC~|>cZIUl zA_ZeTlfu>|4}nTJN(%hkfilKGHiK7#raX{hNq6*hWMJ6X&;2Knb)urZB4d)byUYKj w?4OPTWf@C?{DK)Ap4~_Ta$b14IEGZrnV9}epkrIy4xk8wr>mdKI;Vst0QUPWiU0rr diff --git a/graphics/event_objects/pics/effects/tree_disguise.png b/graphics/event_objects/pics/effects/tree_disguise.png index 77d07ef4eddfcb90c1cf5cffaff9854f2f3de10a..8acbfbd5d4959478898ce328dc853ff10f1db679 100644 GIT binary patch delta 39 tcmdnUvX^;+%EUTr4n_}87sn8b-i^227zMmszNRq%fv2mV%Q~loCIJ1Q3~B%X delta 153 zcmdnXypd&sN;rFor>`sfBMwe6V;=jkN4psq7{p6lBT9nv(@M${i&7cfeOv<k+!e}F zixiCYObT0<JOnD?C@JuB2g(=&*$iF{n({!3CEd~2k%3`jKlh(R)`^OCN(_ui-tI2{ ym$H943Y2Cn3GxeOaCmkj4aoNJba4!+n6ok6jZxr8{lCW`V?15`T-G@yGyworWi6Qi diff --git a/graphics/event_objects/pics/effects/unknown_16.png b/graphics/event_objects/pics/effects/unknown_16.png new file mode 100755 index 0000000000000000000000000000000000000000..bb4789f9f57660cd6cd4f22cabe0b48e9c890c11 GIT binary patch literal 567 zcmV-70?7S|P)<h;3K|Lk000e1NJLTq003|R000mK0{{R3JUZqg0000mP)t-sbG`1g z|AT|YVmXU3N?HgpK>%W`?qaOPi_P|w=Kqv~VzjK3q}9c9#iT*BgBYZ0)|W4J0005P zNkl<ZD3N87%aW@g5QeD<dk@hEh{yvB()&Z`f1C2<-BP}SbK*9|X_A;qW$^O*HGKga zwIZtb(KMJELbGmIuZZg>=jTwmcS-?D-xEOY(NTYlnk^^enooWOa<EaKj}b-^XcKkd zF}dKFg0npS;#_Lja#P?GzXBY@s8Zh@j3XB)`XeU}Xg+zVk<0C-jHS~6$OJjf6xBFj zpmTSyl!DkF4D6h5`BERXa)^XLhJ#Du&}iQ=OuMoN!FP=gB-;z(hw7J?Wm^ieY6Jn6 z7s<t>Ha36>P3Jq&P8i9--~BApf+<WJE@~r22#8e=q78#M5Pmu~!JF8$=Z@v0&daK8 zDH~`iMWtbMJQ5wGBooIcf1jWB)Q*Nn^M~&|y15jPM5~`P7`DS6Ks*0S_E`1BwimXi zyh-}MvQ*s<BYZpU4%!R%qWy5J_MN}_!Bn1cA6czNHpCt630B_{&P2QYjeX@j6++ph zVvA7!>MMbN@NTbc-+0btDwFi_DkP=jKC$ylljG#lsj?NG3rfaimcz{~F4OhV%((MQ z?NighN!l@^Ompqy72m{sSamIMPw?PhY9A^me4cJO{|Aew3_<<(b&LQ2002ovPDHLk FV1gs=40iwk literal 0 HcmV?d00001 diff --git a/graphics/event_objects/pics/effects/unknown_16/0.png b/graphics/event_objects/pics/effects/unknown_16/0.png deleted file mode 100644 index 491801c325a2dec635a40d514b93ed4011082cbb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 244 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUE#CWX%m3!)qe+(ChF(z| zhK>wLYu+WTIof^p+mvVjr!*&RSu<tH)uY8nmpE=|mROQ?ZMuFbP%mRikY6x^!?PP{ zKu(dTi(?4KOj)1PyoU@#HY=2eoMM=e!f>LR*(T}!?*C$r1`L_C8+85~h*(UJ6P>^i z)%Rr|+YveS;G>iN#+h_Ci|G}|Jel<3hh?hS;<%{P;^WJwx9&V*qvN~2^l-$PqqCLQ rZc6?-cg<ge&N)T1&s{$G`3LjrnR4Ne{S0pdZD;Uw^>bP0l+XkK%xYxD diff --git a/graphics/event_objects/pics/effects/unknown_16/1.png b/graphics/event_objects/pics/effects/unknown_16/1.png deleted file mode 100644 index f83ca15da5aa69f65882f7c21ccd868e3143db60..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 241 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUE#CWX%m3!)qe+(ChF(z| zhK>wLYu+WTIof^p+mvVjr!*&RSu<tH)uY8nmpE=|mROQ?ZMuFbP%mRikY6x^!?PP{ zKu*4=i(?4KOw-dBc@G<Kuw0mYh{+^UVXJt@S%zsl|G(Mqy11kv&W`H^iwFOY>4h3A zKdw5>J|j2bopfJ#$Z3fWZ%WxXjjl-ka4UMbs5?$lGa%}$SYx)>`Etn(drjnCclMVr n)J@Q~mant-EKJUN`jeUAqU5a5m5aTARx^0I`njxgN@xNA1;1b5 diff --git a/graphics/event_objects/pics/effects/unknown_16/2.png b/graphics/event_objects/pics/effects/unknown_16/2.png deleted file mode 100644 index 073aa9b7ef8518833bdee1fe1cfa70a1331063e2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 246 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUE#CWX%m3!)qe+(ChF(z| zhK>wLYu+WTIof^p+mvVjr!*&RSu<tH)uY8nmpE=|mROQ?ZMuFbP%mRikY6x^!?PP{ zKu(FLi(?4KOx~V@yv+szEa6T6Pd2i3tY_G;o#DgV`Tuq+cyXPm4O@IMBXQYn4dyFz zZofWqXEE>lzLgexKeI%IKHYlgSu*cb)*r4Dz1mwP<{nycc5&hH^eaN|XW6^w-V&OZ tyim`mcbCW!^Y9?EE{{Ez-}KCwXMdVsMxw>()E=Py44$rjF6*2UngE%DXl(!h diff --git a/graphics/event_objects/pics/effects/unknown_16/3.png b/graphics/event_objects/pics/effects/unknown_16/3.png deleted file mode 100644 index e7b5c96cf524f451d779a86dcdebd09ae4118a6b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 249 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUE#CWX%m3!)qe+(ChF(z| zhK>wLYu+WTIof^p+mvVjr!*&RSu<tH)uY8nmpE=|mROQ?ZMuFbP%mRikY6x^!?PP{ zKu)=*i(?4KOwpc$yoVJ8Si+6!TYQ-hiU>U5Qh4+4ZoRmQAEV;@iy3mwKd<h&sxBk! zenM``G~sObo0d18Y*dx@eKkYJXex)i_Y|ii)<#=|tm4wou1WjRv&DF>?7PBuTE|-@ wXLVkDz_*r{_xqxM&gw-kx1PFuBKIG|)<23JNB^vy3UmU4r>mdKI;Vst0DWg>PXGV_ diff --git a/graphics/event_objects/pics/effects/unknown_16/4.png b/graphics/event_objects/pics/effects/unknown_16/4.png deleted file mode 100644 index 8972d5d810190983b69fb50854757aaa8fbb2334..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 250 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUE#CWX%m3!)qe+(ChF(z| zhK>wLYu+WTIof^p+mvVjr!*&RSu<tH)uY8nmpE=|mROQ?ZMuFbP%mRikY6x^!?PP{ zKu(3Hi(?4KOx`ma1)B{7TrSRSjG0!*=(dYV=dLKjt+OxpbKC4-nEbc$pu3k<kOt!` zvDd|i-@G||#~_va^NohMP-mxEwh=E5^h+&k+ww-g>a>LS`8Pis->;at^xpii-Pf$o yZEN|~5&guKC+4t4&K^VYpev2u^A(nV=0C7l+U@_kh@C(;FnGH9xvX<aXaWGl!)oyW diff --git a/graphics/event_objects/pics/effects/unknown_16/5.png b/graphics/event_objects/pics/effects/unknown_16/5.png deleted file mode 100644 index d570a9a8d766f98c912243d0e171b1f46dbbea31..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 226 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUE#CWX%m3!)qe+(ChF(z| zhK>wLYu+WTIof^p+mvVjr!*&RSu<tH)uY8nmpE=|mROQ?ZMuFbP%mRikY6x^!?PP{ zKu&_Ei(?4KOxIpRE*D1*=e?Kx_8(m$yJt`C2cd0~O6}y$6x?|IA8Y@XzB?_qGPX>5 z_Va0mn}Zgp{(0P*9F({-MKSSg%9_33%KaMMnM-t6q&e@bu~6)=FqEu}IakAz|B0RH XR^;XT@w(rEb}@Lm`njxgN@xNAGm%+c diff --git a/graphics/event_objects/pics/effects/unknown_17.png b/graphics/event_objects/pics/effects/unknown_17.png index fedf86a10b0c4b18174196b3daea785d8da95ae1..f158bebc81e7bfa6fb1e64a5a00e9358300a0f50 100644 GIT binary patch delta 39 ucmbQvx|n5x%EUTr4#st!E{-7<y&G?@VH9}Nye6Lk2s~Z=T-G@yGywn;Lk*<> delta 153 zcmZ3?GM#mTN;rFor>`sfBMwe6Q?|~VYm^xn7{p6lBT9nv(@M${i&7cfeOv<k+!e}F zixiCYObT0<JOnD?C@JuB2g(=&*$iF{n({!3CEd~2k%3`jKlh(R)`^OCN(_ui-tI2{ ym$H943Y2Cn3GxeOaCmkj4ai>S>EaktF=u1?8b$&08$n+|#(28=xvX<aXaWE|XDwg= diff --git a/graphics/event_objects/pics/effects/unknown_18.png b/graphics/event_objects/pics/effects/unknown_18.png new file mode 100644 index 0000000000000000000000000000000000000000..65f4d97e29f9d738995b8e5e67053d3d0d99cd74 GIT binary patch literal 344 zcmV-e0jK_nP)<h;3K|Lk000e1NJLTq002M$000mK0{{R3RLNu-0000mP)t-sbG`1g z|AT|YVmXU3N?HgpK>%W`?qaOPi_P|w=Kqv~VzjK3q}9c9#iT*BgBYZ0)|W4J0002v zNkl<ZD3Nv0J#xe#42EH4?4I$@1s2mMMmhjNU(fw-L1uk`XtOAtt7qmlU<CCG{fW{8 zS`hSqz0<5w>yiR;lE?ZvEWtaeaEh7>Yp#i<zfIjcovT)5gjK}8x3HwQ-f4<b87Sw0 zLx7%#Q%--Kx-Ap1%q$A!=6a`K04kRn;Np6x%Qi5hC`4HhT<=tmoHUELkt6ufGHmoy zk458A+&!LqjuM9UP!GHGxiz=03|*uT1NFuJsJplyn+<nr8y1>3@awkjx2U|P7&dxZ qwRy^&G(+uS(C)MozC?BEcm4v??T4!bpiRC20000<MNUMnLSTaYshoWP literal 0 HcmV?d00001 diff --git a/graphics/event_objects/pics/effects/unknown_18/0.png b/graphics/event_objects/pics/effects/unknown_18/0.png deleted file mode 100644 index 70b39df59523c034cc27e328bda03c821e59c9eb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 244 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUE#CWX%m3!)qe+(ChF(z| zhK>wLYu+WTIof^p+mvVjr!*&RSu<tH)uY8nmpE=|mROQ?ZMuFbP%mRikY6x^!?PP{ zKu(dTi(?4KOj)0kyoU{Vga!Wdn#V5K#-5?Wn=s=~`hVRJ73Pq)?dl#MXV(?(QVCge zY4d?C;XRtinYmBtL~mXCM1(&(WU`FQp(kbmrmL>H9XFVKK8tm$ujl$Sn{UB;RtWk} q-V*$Owf2Plhg}q&NS?giaCX1Gx-#EJ6)z>A?F^o-elF{r5}E*y-(dIv diff --git a/graphics/event_objects/pics/effects/unknown_18/1.png b/graphics/event_objects/pics/effects/unknown_18/1.png deleted file mode 100644 index 392298f5a734c09908ae8af5492faf2347e027a0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 245 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUE#CWX%m3!)qe+(ChF(z| zhK>wLYu+WTIof^p+mvVjr!*&RSu<tH)uY8nmpE=|mROQ?ZMuFbP%mRikY6x^!?PP{ zKu)ozi(?4KOx~WeyoU`$nkLTLJ#{{7(DQr8`WY7;xcfW*;VRh${mdROm_@!j^)qg7 z{{2adW9x4YKAn^_eT&uFZyPl=w5{rjwDeAdTwpEFZI|jiADeFbx;69s#hqn6mYlgq rwpir|-v4q(J^AUvYO{Q={*UZB8x&ocr0%T&TF>C=>gTe~DWM4fBcEf7 diff --git a/graphics/event_objects/pics/effects/unknown_18/2.png b/graphics/event_objects/pics/effects/unknown_18/2.png deleted file mode 100644 index ff418e940c655817caf3cb3bec4eeb4bbefa02ee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 245 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUE#CWX%m3!)qe+(ChF(z| zhK>wLYu+WTIof^p+mvVjr!*&RSu<tH)uY8nmpE=|mROQ?ZMuFbP%mRikY6x^!?PP{ zKu)ozi(?4KOxd2(yoU@#Si~ppp6btRq1W&umr-qZ`S<&+su~RkWZY*t7WsdXDA29Z z(NzpNFO-^~r*m*#K>7PE?8_FcdGX_f_(g?aNA)Ks`eJ#b?Y7ODS)iAAR%XZAMEO@0 rfq%mDf178_Sd;ytZl?Ou-#?iCs446cIm4U-w4TA!)z4*}Q$iB}>=I&i diff --git a/graphics/event_objects/pics/effects/unknown_18/3.png b/graphics/event_objects/pics/effects/unknown_18/3.png deleted file mode 100644 index 0e1e134386f2d9cd163d63e48f6c2b61699be11e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 244 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUE#CWX%m3!)qe+(ChF(z| zhK>wLYu+WTIof^p+mvVjr!*&RSu<tH)uY8nmpE=|mROQ?ZMuFbP%mRikY6x^!?PP{ zKu(dTi(?4KOwpdxyv+szF6vFYSr;-LXFYOH_rS+9bN}t$z`~khdDcJQApfj)ZBpv9 z8(vIzz0zK<ux9t=^wvJSq)+l<YM+SG#X{>;vEXewzdszA`1;}||DL-?&I-r9Z_u`` rJ9psC5z#gC4u_`PSpL&$=NWqecBO>|ekXW=wljFT`njxgN@xNAqori> diff --git a/graphics/event_objects/pics/effects/unknown_18/unknown_18.png b/graphics/event_objects/pics/effects/unknown_18/unknown_18.png deleted file mode 100644 index 19f08ac537e418f769c112e7ee207790ee0f5a52..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 460 zcmeAS@N?(olHy`uVBq!ia0vp^4nQox!VDxsPNql!DfSXiUsv`=9GqfiEIz;HodF7o zm$*ih1m~xflqVLYGPwJ=0F6;7OD$3`)-x$=UGfm9grlUu&mAaZ3}iESHE7BMDVB6c zUq=Rpjs4tz5?O(Kg8-ip*W$hJw)}5yKAL3NZRi!nVd%(^wB}vXnxoxkzfF1ee@b)G zmNiqBTs>NRbcy4ZW{D+P*QV>20`)Q`dAqy(U&{XJD2P)M<QL4~@a#q!kn`Bn#WAE} zPU!{Pq9Y1CZHcLG=6yWRDt1}j&5FS>{`}v3$F$mpjLjNzSEoNSO<?)T{kQWHbCkfB z`n{Le1iqfcR5a=MFH4<+)+-CTW^re)>s-3u_pbHa)nTbEp-1*@->_u+z09s4NsZ@? z&JFY0gZ=8~?$Q<Ba7Ksg>9eZk2@G1(r5-%0T7KHhV6lcvq(IF3kp4L)-8&{K|F~e3 z^Ch_7^>N@G+j-S}LT%py_;-KVX}WzKPwWzY=C4Qpt=PRoel~A;mbBO`^AE4Lz1zNG y&oT+Ks;I4%r{<bCzfHXGZj10fm(o|||ClbnZD0LKP$L28T?S8AKbLh*2~7Y#q`fZy diff --git a/graphics/event_objects/pics/effects/unknown_19.png b/graphics/event_objects/pics/effects/unknown_19.png new file mode 100644 index 0000000000000000000000000000000000000000..4ae851e58bd9dde1d1ba7f6f0424b40dfa41f3ea GIT binary patch literal 272 zcmV+r0q_2aP)<h;3K|Lk000e1NJLTq002M$000mK0{{R3RLNu-0000mP)t-sVyy1= z=Ed&SwBEFo|NsBq=I*`C=A5+NVw|-9z2*P_0Pg0b-pzy6v}(<qQUCw|i1Fdo0001+ zNkl<ZD3OJb(GkNi2t&R9O7RAWP5>J;nW0ADIBnCbKk|Z47KnyFr}1l5-H-wi#iA5D zSq>I&loWW?WD3S@`U>yKp7nHCO}n{YhA0O_)5nv4dhFRy?M#u9!^dDDFbl$?UIOHc zfgK^h6ntlQkC;|1)(&!ba+`JR!79Q)FK%H+a!4s}v6EI*&;f6|_+YCY;1{nkZ_f*l W`J8V__%TBO0000<MNUMnLSTY=3V2rl literal 0 HcmV?d00001 diff --git a/graphics/event_objects/pics/effects/unknown_19/0.png b/graphics/event_objects/pics/effects/unknown_19/0.png deleted file mode 100644 index ef800506611f1611fc2260b8bc43c1d63ad89677..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 186 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUO<MEr+q0wZu5P)vWy=5m z|L;9}xA*L`Ia}@}&DrvQ?=zsPch8pGJKKD9OV-&rAWa<~A6^Agj3q&S!3+-1ZlnP@ z7M?DSAsjP9dk%6k7;rG(t>1ct*T`q3FY~Vnk3Z;CWo_ees8_aCNa9JkevUn5hkcI9 feFe49^?w*%#HH=$UT<;{Xa<9)tDnm{r-UW|M{P^w diff --git a/graphics/event_objects/pics/effects/unknown_19/1.png b/graphics/event_objects/pics/effects/unknown_19/1.png deleted file mode 100644 index 6fde1a291318e98f8481464c3570663252d96d1a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 204 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUO<MEr+q0wZu5P)vWy=5m z|L;9}xA*L`Ia}@}&DrvQ?=zsPch8pGJKKD9OV-&rAWa<~A6^Agj3q&S!3+-1ZlnP@ zUY;(FAsjPZdvEhL1aLUttXDJFusB%A{FtYxy7OD}lx6)V9Df+OXifG~ShM`t<?~9< y--bLbe!B5&L?V}J`!px(J38OQY8HQ8Zyv|cm(HRU8?Xv!Dubu1pUXO@geCyoa914w diff --git a/graphics/event_objects/pics/effects/unknown_19/2.png b/graphics/event_objects/pics/effects/unknown_19/2.png deleted file mode 100644 index c385fd84cc12a0717dc87d368387ca98b3483202..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 211 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUO<MEr+q0wZu5P)vWy=5m z|L;9}xA*L`Ia}@}&DrvQ?=zsPch8pGJKKD9OV-&rAWa<~A6^Agj3q&S!3+-1ZlnP@ zfu1goAsjPZdoKzeFyL^yTfa1oxqw+laqhy5%d6#o^)YkK>%1w&&}h=&>KWFxmTmf} zNs6EEC7XGy4&G_05LPNv@FJ`K$?BhLwjVkbKC6EBb4IhX>AO7q($#>5GkCiCxvX<a GXaWH46j{aq diff --git a/graphics/event_objects/pics/effects/unknown_19/3.png b/graphics/event_objects/pics/effects/unknown_19/3.png deleted file mode 100644 index 084c20314a0fa5d5a64a2c3901b822b4cf275b03..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 203 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUO<MEr+q0wZu5P)vWy=5m z|L;9}xA*L`Ia}@}&DrvQ?=zsPch8pGJKKD9OV-&rAWa<~A6^Agj3q&S!3+-1ZlnP@ zo}Mm_AsjPZeQ)y~aNsEVKebAlLHdE-*DK3vBn~+@b-#G6*4_~1d5dq}rOvY<8XBkW y3K_4y@K7<1d&kn>$DbJsYfN5Tv-sC_ZvD^hY0r|yEV+S(GI+ZBxvX<aXaWGg3s=Yh diff --git a/graphics/event_objects/pics/effects/unknown_19/unknown_19.png b/graphics/event_objects/pics/effects/unknown_19/unknown_19.png deleted file mode 100644 index d670cde5fc4efc62a3a8468a00b1fcc5c3e08430..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 388 zcmeAS@N?(olHy`uVBq!ia0vp^4nQox!VDxsPNql!DfSXiUsv`=9Gqh2jH=zyOh6&= z64!{5;QX|b^2DN426rD9pfL(%sYMFLdM1UfOCAE1aFi7IxdUa4fouk^22FV&#ggvm z>&U>cv7h@-A}f$@5a1KynzZKKw`WJ+UEOkT%as5B|KEG|ZtvM=bGF<|nzQBq-e*8n z@18BWceeTJmaMaLK<?}K`0y%_VodUOclp1R{nJqprzFTPn8D%MjWi%<wx^3@NX4Ai z2^R$q8*n)9{qOaWt;3H&+GOTJw+9xvmsi_=YVsHBXtQ7bF+23`1SY|wi$ts=`NZ<4 zh*Vrn;X0Q4i|hT#d0$H+e0T4RZ_{9RxqN(bebt+r0dIXKPC9%%LD7Kw(Be3zC*6&* ziU&k$(#!j2gy~-6E2=1(UHayr)*%P|yhQgR56%3IlfyzTFy`<6k+53!f%tmE{PW!X XKj-8-baKxFI+MZE)z4*}Q$iB}_%N46 diff --git a/graphics/event_objects/pics/effects/unknown_20.png b/graphics/event_objects/pics/effects/unknown_20.png new file mode 100644 index 0000000000000000000000000000000000000000..7d6af5e0cdd1d80bfbfc30e6859ff3506b5278b9 GIT binary patch literal 319 zcmV-F0l@x=P)<h;3K|Lk000e1NJLTq002+`000mK0{{R3b7$r90000mP)t-sVyy1= z=Ed&SwBEFo|NsBq=I*`C=A5+NVw|-9z2*P_0Pg0b-pzy6v}(<qQUCw|i1Fdo0002W zNkl<ZD3QI9F%H8Z3`H3L^;j98Ss84yG8EGTBxKD}rN^!bjhd<qnfe9`$<H5I7UJ*7 zbDG;9s?pRbhtknRVRH~&LleWyOzaaP1<4*!%al3Kb4s1?#6%$?GXBd!<Pv+E6O3LX zn-PQJ!p~#mV_oko4#U__llL_##+rPHygZ4Xi_ldF*P3)QH5rZ~vy>&MtP8XyS&186 zHI`x)@iV7v@r+XjELh_X!alIC55|<fvtU3qgf~t((Wy|rw9UKxPMp4X<pn+^Oc&$* RCHepW002ovPDHLkV1lMVkDUMj literal 0 HcmV?d00001 diff --git a/graphics/event_objects/pics/effects/unknown_20/0.png b/graphics/event_objects/pics/effects/unknown_20/0.png deleted file mode 100644 index eec853d53b5cc15892ec315d61a74a10c275531f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 154 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUO<MEr+q0wZu5P)vWy=5m z|L;9}xA*L`Ia}@}&DrvQ?=zsPch8pGJKKD9OV-&rAWa<~A6^Agj3q&S!3+-1ZlnP@ x5}q!OAsjQ46Be*Pc<~~G!Pu&SA(Vxefniw#Yhcs8I3=JO22WQ%mvv4FO#n|cJdgkY diff --git a/graphics/event_objects/pics/effects/unknown_20/1.png b/graphics/event_objects/pics/effects/unknown_20/1.png deleted file mode 100644 index f4782fc6709052bb1b658e7817cd57a0cc404e3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 171 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUO<MEr+q0wZu5P)vWy=5m z|L;9}xA*L`Ia}@}&DrvQ?=zsPch8pGJKKD9OV-&rAWa<~A6^Agj3q&S!3+-1ZlnP@ znw~C>AsjQ46BbCcv^l-F_U#*wz}brvr(L_qkjB8+agZU&z~PAklLaG#?_=()^2H}l Q0yQysy85}Sb4q9e05%y$djJ3c diff --git a/graphics/event_objects/pics/effects/unknown_20/2.png b/graphics/event_objects/pics/effects/unknown_20/2.png deleted file mode 100644 index 416dae69db4724dbe2ca67076403b7080ab246c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 197 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUO<MEr+q0wZu5P)vWy=5m z|L;9}xA*L`Ia}@}&DrvQ?=zsPch8pGJKKD9OV-&rAWa<~A6^Agj3q&S!3+-1ZlnP@ z&YmugAsjQ46BM{MES;{}@Zv*}f<|gWf~K~%zQ2EYf=6k&t~b9XXR-$`zkZ><E^l&z pH!o|G!GfY~CJG)3=a?iI7(}WBU4Q?+bsA_KgQu&X%Q~loCIGqSN?ZT{ diff --git a/graphics/event_objects/pics/effects/unknown_20/3.png b/graphics/event_objects/pics/effects/unknown_20/3.png deleted file mode 100644 index 3d966e81c659df220586b4231337ee2bd31bd901..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 211 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUO<MEr+q0wZu5P)vWy=5m z|L;9}xA*L`Ia}@}&DrvQ?=zsPch8pGJKKD9OV-&rAWa<~A6^Agj3q&S!3+-1ZlnP@ zfu1goAsjPXd$olQ7;w0Rx6ILQ3UOyKSyb>}xg<FHV){4ZGfaOrGB~d960VvVYI2}k zg?q6#cZJl)BS%ksI=1e6n$xqurvbNDxlh;O>HPTj8$-(rv9$fNou7b)GkCiCxvX<a GXaWEeLtAtJ diff --git a/graphics/event_objects/pics/effects/unknown_20/4.png b/graphics/event_objects/pics/effects/unknown_20/4.png deleted file mode 100644 index 6bbfbca12084cb9c2cd3d5bc4b896c38ba86af41..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 206 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUO<MEr+q0wZu5P)vWy=5m z|L;9}xA*L`Ia}@}&DrvQ?=zsPch8pGJKKD9OV-&rAWa<~A6^Agj3q&S!3+-1ZlnP@ zKAtX)AsjPPdpGhPaNuB$wW(g(Fpud5!#8<FzNgPsRBj8IeRv!bx9{|qtCpKrO%`ch zxT>&(_hr*1Bc3@iavg20n)mNGId8kVO}y^y-p|IuTbuj}Qi0|&c)I$ztaD0e0sxD1 BSoQz_ diff --git a/graphics/event_objects/pics/effects/unknown_20/unknown_20.png b/graphics/event_objects/pics/effects/unknown_20/unknown_20.png deleted file mode 100644 index 83e35467a185024283a160eae238c7fe2b96b7e5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 435 zcmeAS@N?(olHy`uVBq!ia0vp^0YEIk!VDyf)1Q6<QtTz3zOL+#I5@>DIM<vw{~stM zUg8>25}cn_Ql40p%HZzf0yIXUEVW3%SkI)eb;(1Z5{{ArKX;&vF_6vR)u1U4q*&4& zeH|GXHuiJ>Nn{1`4FY^ZT$9$k`}XYUyQ^F7ZJF}_|Nnc>-t9g6Y|fT@NprUR-}?-x z>fN&?_s%w7-I8^74#<5SA0J)?QjAI7?k@kAvVS@X;*<pW1v5B2yO9Ruobq&W45^s2 zccLNRVFeynNrtZxk_#dwb2b@?TxM2DIUBU}_&UzsS*v(v{$k@kd0swJ?9uxZ#j|e9 zuex|ev;ERVm&9U$SZCqGXMElWE3uxG3p_o=@_ez^+z&@w6qStropyX8R6Sd`Cr){` zVDqCx=aZi#$G+F$JAA``@^@3sW3y^H_SkgJ>%I`maeY>av8iOA(&j0uE7ovtQH|`B zjy0W@B=*sGdCte4U^bnI$9#wEHmv7AHf7)D1P9X=b3e<AD+BgzIlKFh-<*BrPg(6$ WeZ={vul)n`6@#a%pUXO@geCyIv9MeK diff --git a/graphics/event_objects/pics/effects/unknown_29.png b/graphics/event_objects/pics/effects/unknown_29.png new file mode 100644 index 0000000000000000000000000000000000000000..03f89a5f5b1f6d1e8ea6cc07fba4cbb68f01f2e0 GIT binary patch literal 197 zcmeAS@N?(olHy`uVBq!ia0vp^20+Zg!VDyRSrbb@0s%fDu1Ra&eS3EF-PJAkwoLi| z|Np&b@AjU3HfPJdq&Zvu?|lYT_3qh{duN-kZpk`32V_de$A?#eRDh?8V+hC0R==IR z42B%Z44eNOn8+Pq<xXimQ{d)R8YChv@zC96&&6`p&*cwiPM&z}p7*D&hPk~<1lCU4 ts58M=d6tyZ)s`5h8;yr8W1D~X%gaaT2_|H}e+V?2!PC{xWt~$(698gKQgQ$Q literal 0 HcmV?d00001 diff --git a/graphics/event_objects/pics/effects/unknown_29/0.png b/graphics/event_objects/pics/effects/unknown_29/0.png deleted file mode 100644 index 87fe91c975121f63172ce2ed7a14838769c38274..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 164 zcmeAS@N?(olHy`uVBq!ia0vp^0zk~c!VDytB9fK>DT4r?5Z9zN@4h`d`tItMdt0Xb z|NsBqvv+&XKAW@UUecT`|Mxxvs(SZq$-T49SGQ!HodYtZ<Kx4tK#H*>$S;_|;n|He zAV<m5#W93qW^%#-em(~cIX1aCgYO4gnH?BJ9#|GX<KcIbW!Q0wW1m;c?!7?O44$rj JF6*2UngG!QKBxcy diff --git a/graphics/event_objects/pics/effects/unknown_29/1.png b/graphics/event_objects/pics/effects/unknown_29/1.png deleted file mode 100644 index c20fb34bbe614215df3ee9f7c6e93d77223b602f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 176 zcmeAS@N?(olHy`uVBq!ia0vp^0zk~c!VDytB9fK>DT4r?5Z9zN@4h`d`tItMdt0Xb z|NsBqvv+&XKAW@UUecT`|Mxxvs(SZq$-T49SGQ!HodYtZ<Kx4tK#H*>$S;_|;n|He zAV<&B#W93qW^#f<12>15zWxk52EpA24p%?m;qRz@cwi<oJ0C-9Ma8)}mWR79a5GFW W;5~TrhlnOnCxfS}pUXO@geCwc6-1~2 diff --git a/graphics/event_objects/pics/effects/unknown_29/2.png b/graphics/event_objects/pics/effects/unknown_29/2.png deleted file mode 100644 index def972b20a83d850b42c1dfc6e953a80b2aaad78..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 171 zcmeAS@N?(olHy`uVBq!ia0vp^0zk~c!VDytB9fK>DT4r?5Z9zN@4h`d`tItMdt0Xb z|NsBqvv+&XKAW@UUecT`|Mxxvs(SZq$-T49SGQ!HodYtZ<Kx4tK#H*>$S;_|;n|He zAV<^F#W93qW^%#--g9$y{(g7&u5r4=xi@yqEam47KD@cdD`dkkiJ7q_iedT;@hLae S3fX{~7(8A5T-G@yGywo}7eycd diff --git a/graphics/event_objects/pics/effects/unknown_29/unknown_29.png b/graphics/event_objects/pics/effects/unknown_29/unknown_29.png deleted file mode 100644 index 2da55f179d82f719d92f7804908a606573c0998c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 313 zcmeAS@N?(olHy`uVBq!ia0vp^20+Zg!VDyRSrbcu6nlxMuPgf_4o)#k);+14rUHe; zOI#yLg7ec#$`gxH8QgtbfW|14r4}g|>zNd`E_nztqNKpj9VlZAWHWd*XvzaAmUKs7 zM+SzC{oH>NS%G|m0G|-oq&4rpJv;jD>Xv(3ru_f^|K78Ad(S?bv*ljWoGt(NJ_D+H z_iV|%v&~nxWSyM@a$m>ChgX3VW0JSK%m1b9pN@h!B|(0{3=Yq3qyaero-U3d6?0ns zcJeY9awIcs{%>F+cYu{UrS(jKn^$R&h`7W<cb7dE%T+&@Kb$#v;<bC;pSl|6_AU`v vJ87fN1YhM@QchP}Vwi3;9=42a{@pJxAE75W!S>oApxF$bu6{1-oD!M<^G9;# diff --git a/graphics/event_objects/pics/effects/unknown_33.png b/graphics/event_objects/pics/effects/unknown_33.png new file mode 100644 index 0000000000000000000000000000000000000000..26b8522003b3ad2b60747c3e1ac14c1e5ac1afc3 GIT binary patch literal 406 zcmeAS@N?(olHy`uVBq!ia0vp^0YEIk!VDyf)1Q6<QU(D&A+A9B|Ns9<Nl90)cCT3z z)!ps*?AzJB@3u7G+mf`V8z_qgd}fAgGcYhJdb&7<XiV&#xUs0kfXAhjw;(pd!|uFE z#S4#QP1(!|FIMRN$j?u0JE=N(XD65U4gb|!6@T?r>79Ib>_w!{^Z;ekJLNX^s^W?h zZt*#5+ci}FYTk9_$P9@uwnodt7e2B4)p34%vP0-Kajk@<y0Z;c7C&b>_v@UWHe;8; za>lOaHP+L(WKLX&Na|ycd??ek^@U5QvBx>9GoDi-P0WsQ6dEv;9G!Jhyr?TpGp!+w z!M8PXsm+X{jgbzwOt<Dv*;-`#Ore1xyYgWZd$V>$gQ0$bq>Ivp8=48p?N{&S@XlMX z@zU3dWp6*cIAS{cDR20$mqo?=|9Zb{EvfxeAUXd*kfh^1gTBXMT<;I>^U^zJ^Wx)! qj1Nt6-|t@PpI;$2=fV57`eU-M)TR^`UfX{b6n>trelF{r5}E*O46U31 literal 0 HcmV?d00001 diff --git a/graphics/event_objects/pics/effects/unknown_33/0.png b/graphics/event_objects/pics/effects/unknown_33/0.png deleted file mode 100644 index 2241eabd318bd1c67df192ab873dbdd4bbf87401..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 185 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDU1=9cj|4&Lvx_Y&H&6=q0 zZpUZe&hCA;rTN~Lq&3|@Sv24?Gh7=e#8?vK7tG-B>_!@pWA5qV7{W0#IYEJIgW^Wv z1x}m-VNB8?4GZ_mtXi{}*{Qgs#H1nP+)P<nWA%mz<HiO?B^E&kc7}*mJS(g1{vQKb N;pyt<vd$@?2>>~!H%tHk diff --git a/graphics/event_objects/pics/effects/unknown_33/1.png b/graphics/event_objects/pics/effects/unknown_33/1.png deleted file mode 100644 index 5f90405d83ce0e2bd254bece37b487b7297087da..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 224 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDU1=9cj|4&Lvx_Y&H&6=q0 zZpUZe&hCA;rTN~Lq&3|@Sv24?Gh7=e#8?vK7tG-B>_!@p6X)sT7{W2rwRa)k0R<jb z`8K}o{%ejtbXc^YSi|UF+0u@=FQ0yz#KaIPanevWn>DL%0&Bt@gO3F}iqf@1sx~=A zt`d_8jM&sMHT=oV>*wz+3+L26X7MdU^PAQh(+{5+%dI3IH5cEX3v!94tDnm{r-UW| Dcok6X diff --git a/graphics/event_objects/pics/effects/unknown_33/2.png b/graphics/event_objects/pics/effects/unknown_33/2.png deleted file mode 100644 index 3f1c3a76a496503c91753921af726ca0bfcac471..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 232 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDU1=9cj|4&Lvx_Y&H&6=q0 zZpUZe&hCA;rTN~Lq&3|@Sv24?Gh7=e#8?vK7tG-B>_!@pljiB-7{W2rw?|Rvhyf2X zZ?MFr>iEuP@1(;9+G`B{<zAgOr(x^jk83&-L^y)q+{hJJv??rp{@FGE=QJ}O)4cNh z(ZogbB&}4cnX9}bFJ|Z3y=?wCcV2738TYvkcDm8ezBWBE|8sD*v|gCH++zm&jUX3! My85}Sb4q9e0CIIzlK=n! diff --git a/graphics/event_objects/pics/effects/unknown_33/3.png b/graphics/event_objects/pics/effects/unknown_33/3.png deleted file mode 100644 index 2696f4a5ac648fe1628bf37d8600937aa7048695..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 223 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDU1=9cj|4&Lvx_Y&H&6=q0 zZpUZe&hCA;rTN~Lq&3|@Sv24?Gh7=e#8?vK7tG-B>_!@p6YJ^X7{W0#x7Sdp!GVK0 z_~jk;FV#^Ovz*WIS4_EX`6ukcu|p=2Z4M3cy-%jCb6Um1adyQ40l6&>*~;0ISvI#Q zrXSNfw2))E?fK_?G0(T0nkc_Fv|g*Ly8iT?{a4Lr6)Me4RZT1cImFY|&t;ucLK6T} Co={Q% diff --git a/graphics/event_objects/pics/effects/unknown_33/4.png b/graphics/event_objects/pics/effects/unknown_33/4.png deleted file mode 100644 index c2d1785bf7e8a9ba8cb0238f556747857e11b2c5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 214 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDU1=9cj|4&Lvx_Y&H&6=q0 zZpUZe&hCA;rTN~Lq&3|@Sv24?Gh7=e#8?vK7tG-B>_!@p6XNOO7{W2LwpUT8!GVWa zyPw~nhW{wPM{1zB%%tDCnT8rlv)=mLn(=p~toM}SxsorfH*`uVR!Zz<zMHvj;Zkk~ srw?gbI!X67Pm$06w5BVw=k?_u42Sot7|)${Xd1|VPgg&ebxsLQ09i6gqyPW_ diff --git a/graphics/event_objects/pics/effects/unknown_33/unknown_33.png b/graphics/event_objects/pics/effects/unknown_33/unknown_33.png deleted file mode 100644 index 67f589ece3770194de59164959372ee9cc68966b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 522 zcmeAS@N?(olHy`uVBq!ia0vp^0YEIk!VDyf)1Q6<QtTz3zOL+#I5@?ulwDm@Rs)5^ zOI#yLg7ec#$`gxH8QgtbfW|14r4}g|>zNd`E_n!4!ckJ-=MI!H2C^Bv8Z_mB6id3J zuOkD)#(wTUiL5}rL4Z$)E0F&G|9?_a($%ZoYt}?{cRN1&c6RT(EzS3~B(3QN%Ax_E znc><%A;u(ccbET5**_fxaY};xf*Bm1-ADtn6+K-XLn`L<PTW}3V!-24%3Bbd;bC{) zq~e7~vZie2gcmFHe&pw;ww+X+yt9+b`-cDOt%|?;s`O4iJN6>dXL^9L>78;LdsT78 z3Agy1we1=ze>LyAa%6_Y7h9v{;R~Nw{^~ftJ=r1jnz&ZNQr+2xDvO`9ocndoPn)sJ zU^!z~^BU`ETrwvvL?rdGM?RG4+WNvJ)Y#*k)fvwzktSxxI0_9IN{-IDC|=Z+rkU1| z#^Bo;xzuJx(Z)!JTc%rcr)({<eWuXBkX`w(iM?67qQOwVK+;9&!VS%Y<o2s~b9m=1 z*m&t{#j>{_UK}x<{ggL+*UO?}{(rq+wwBcXDUh81AV|{jo<ZN^Fs}E9_j&0Zvw89H rLB@wBx$k!`_0O-6oAcm(Tm3QFS87uVZ>h*G0EMiltDnm{r-UW|VeQOj diff --git a/graphics/event_objects/pics/effects/unknown_35.png b/graphics/event_objects/pics/effects/unknown_35.png new file mode 100644 index 0000000000000000000000000000000000000000..b2072bd2645adcb9d120be9199bbfb4974f56ea1 GIT binary patch literal 174 zcmeAS@N?(olHy`uVBq!ia0vp^3P3Et!VDx^^%AmxltF+`h->p2umAu5pZ)fK&ei{3 zNB{q4Ab_m(&bkBjT6(%ThDc0JPEg>qSimi@fScoiNP||XSew)#C8mYFEenj=niSeL sD+oATNmy~fpqV4PaF@tk4g&^;3N}{3!1-$}fQB%5y85}Sb4q9e0CsaiD*ylh literal 0 HcmV?d00001 diff --git a/graphics/event_objects/pics/effects/unknown_35/0.png b/graphics/event_objects/pics/effects/unknown_35/0.png deleted file mode 100644 index c2ae128f7f2c03128b39294e3a25061757bd15a6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 157 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUZC>N`|NsB9-~P|J`rqs5 z|NjgGkhR`fcc5Ozk|4ie28U-i(tsRkPZ!4!j+w~`3epk|nPP$(hXXD!__C~P%V1z| Xk!NI1TrK?vsEonW)z4*}Q$iB}l+rti diff --git a/graphics/event_objects/pics/effects/unknown_35/1.png b/graphics/event_objects/pics/effects/unknown_35/1.png deleted file mode 100644 index fe68b19fd06d2c053f23d6f1e4ec7faca46d3b07..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 175 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUZC>N`|NsB9-~P|J`rqs5 z|NjgGkhR`fcc5Ozk|4ie28U-i(tsRYPZ!4!j+w~`2e@Psc$g)e8RkCJ;R#JqVF`Pp p!@(k8xPoJnl+Rm^$q&mKfo_Ok;eYWwodu|o!PC{xWt~$(695<aL9GA) diff --git a/graphics/event_objects/pics/effects/unknown_35/unknown_35.png b/graphics/event_objects/pics/effects/unknown_35/unknown_35.png deleted file mode 100644 index 8dbffe36ca43309c37aa8d5c30126184c01f5a86..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 290 zcmeAS@N?(olHy`uVBq!ia0vp^3P3Et!VDx^^%Amx6nlxMuPgf_4o)#^ktdHoJOv7g zm$*ih1m~xflqVLYGPwJ=0F6;7OD$3`)-x$=UGfm9grlUu&mAaZ3}iESHE7BMDVB6c zUq=Rpjs4tz5?O(Kg8-ip*XA`||Ns9#`|bantN*=@{{PQF09osubqDHYO!9Vj`M;F? z(@_woB*-tA!Qt7BG$6;))5S5QVoq{`0;k0SZixll91lbqv`WR=qz)-DE$nSsVAR&6 u(6(7Yz~M^5iUS7C9NC4tMDB7JFfdfGu?o(YekK4kgu&C*&t;ucLK6UEs$=N@ diff --git a/graphics/event_objects/pics/effects/unknown_4F7E38/0.png b/graphics/event_objects/pics/effects/unknown_4F7E38/0.png deleted file mode 100644 index 685aee28b7bb232e8b30207d5061cbca98274a01..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 175 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx+BpCi@`0fExWu7jMAsjPBdkpywD+sV`Hy8W= z-}P7Y5oW#<%n#<UA94F)5mc~wv2NM}^N)UujxRC%V&&j_b%ye(qX$%&w`Y1N3D(6< zT_VAq6q4h0(w8S^r_uASyM5hh@_+iSEuEwPV_w&X)iai_IkV|bRCSZFNt=85x3Ev& Y>fg+c{c@($`Y^~Pp00i_>zopr0DC1yyZ`_I diff --git a/graphics/event_objects/pics/effects/unused_grass.png b/graphics/event_objects/pics/effects/unused_grass.png new file mode 100644 index 0000000000000000000000000000000000000000..ffd68ec1da89c9c336ed536ad1493d3a736a0b5a GIT binary patch literal 389 zcmV;00eb$4P)<h;3K|Lk000e1NJLTq002M$000mK0{{R3RLNu-0000mP)t-sbG`1g z|AT|YVmXU3N?HgpK>%W`?qaOPi_P|w=Kqv~VzjK3q}9c9#iT*BgBYZ0)|W4J0003H zNkl<ZD3MK(QF6l|3`8|G{|rtJP#X>qBOO3N`=9&Yf;KroMG`W_3_JU@#voIN(*F@7 zZcz~X1N{!|6t+SHP<RI6vliJ_4YpfLC6e*3;kqi42Sd`pR$Jj>!ezIr1Z(=mC>W+~ z=Oq;>EPAZgj1ejA@|^((Qi6$6&By{QyEJxA-B<-I$+$Ex#K2-Oc8<X*x&Y>j_+vs3 za}S=J9-e204qaTML5u~HQ_Hnj6<K@>6Vtc9*qhT&%gOdU3o`w0+t;Dqs9bTJZnF>$ z_nYgM*TJbL|Dc^^2K#XmTtz0QZ~~9heuBr#PfmAV{XROu^i%yOnfC>^`>Po`{Z!xK jB4$eu<ArDN<){7u4Q6-&H?O#U00000NkvXXu0mjfj?bt? literal 0 HcmV?d00001 diff --git a/graphics/event_objects/pics/effects/unused_grass/0.png b/graphics/event_objects/pics/effects/unused_grass/0.png deleted file mode 100644 index 2e16f15cb67647653412cbb7a47534694f22bef4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 231 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUE#CWX%m3!)qe+(ChF(z| zhK>wLYu+WTIof^p+mvVjr!*&RSu<tH)uY8nmpE=|mROQ?ZMuFbP;Zf^i(?4KOj)1P zyoU@#HY=2eoMM=e!f>LR*(T}!?*C$r1`L_C8+85~h*(UJ6P>^i)%Rr|+YveS;G>iN z#+h_Ci|G}|Jel<3hh?hS;<%{P;^WJwx9&V*qvN~2^l-$PqqCLQZc6?-cg<ge&N)T1 f&s{$G`3LjrnR4Ne{S0pdZD;Uw^>bP0l+XkK*ehWA diff --git a/graphics/event_objects/pics/effects/unused_grass/1.png b/graphics/event_objects/pics/effects/unused_grass/1.png deleted file mode 100644 index dd33b0d8833891263c183a35cb719fa1d546be71..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 228 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUE#CWX%m3!)qe+(ChF(z| zhK>wLYu+WTIof^p+mvVjr!*&RSu<tH)uY8nmpE=|mROQ?ZMuFbP;b7ci(?4KOw-dB zc@G<Kuw0mYh{+^UVXJt@S%zsl|G(Mqy11kv&W`H^iwFOY>4h3AKdw5>J|j2bopfJ# z$Z3fWZ%WxXjjl-ka4UMbs5?$lGa%}$SYx)>`Etn(drjnCclMVr)J@Q~mant-EKJUN b`jeUAqU5a5m5aTARx^0I`njxgN@xNA9OPUS diff --git a/graphics/event_objects/pics/effects/unused_grass/2.png b/graphics/event_objects/pics/effects/unused_grass/2.png deleted file mode 100644 index 345d454cdd55248f64e886bd76051e11efd0638e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 230 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUE#CWX%m3!)qe+(ChF(z| zhK>wLYu+WTIof^p+mvVjr!*&RSu<tH)uY8nmpE=|mROQ?ZMuFbP;a59i(?4KOx~V@ zyv+eT&bkL}7tL)@V?NN&zTimtxBE@2WEXrqxM^O_VV~)NY#A)qk2hLo&zabm$?5iq zq3yKh!DlHeg?>zp;?&+a>Cj8%tb)VOzbuWrXTO_&t?awMo_kNKd9CcouRgzf@hkgS eU$ZdZ@A6t3WL0lGo7M!hoWax8&t;ucLK6Vs4PvGM diff --git a/graphics/event_objects/pics/effects/unused_grass/3.png b/graphics/event_objects/pics/effects/unused_grass/3.png deleted file mode 100644 index 087676102697427479e0f68801493a8e93bd8c4c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 232 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUE#CWX%m3!)qe+(ChF(z| zhK>wLYu+WTIof^p+mvVjr!*&RSu<tH)uY8nmpE=|mROQ?ZMuFbP;arPi(?4KOj)0k zyoU{Vga!WhT0}0`#-5?Xn=s=~`hVRPHRh1F?dl#M+v|#VsDzx^n%<bX-lAQGRrr*S z_tuq91o*Q<Cd;@SdSV!0s<mbFW0T3}*RXEo^;{oTku&|rDz`UknT!90mn+n_cRHNV fp0u5@yPi>#UFqGTvg~a@>lr*<{an^LB{Ts5%}ZR* diff --git a/graphics/event_objects/pics/effects/unused_grass/unused_grass.png b/graphics/event_objects/pics/effects/unused_grass/unused_grass.png deleted file mode 100644 index 0c573b4aa4cd8e1b656f3f0186b3f560cc2567ec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 492 zcmeAS@N?(olHy`uVBq!ia0vp^4nQox!VDxsPNql!DfSXiUsv`=9Gv2ejB7&|faJwX zTq8<?^V3So6N^$A+<jbt#we7f7AY9(nH07zc?eX(QBvUN4wNwlvKhP@H06O5OS+@4 zBLl<6e(pbstU$g&fKP~P@!oe^{x>%tO|tAZ^orszbYw_c^Db%4(eAU~rab#Ur8#NK znkh@J9xXn)#Bocr#FDIQ)AdV%dKr_v-Ch1KW&d;($QJN)aSW-L<2y01=&%Bhi>c{< z9zVVSX+8mESqI18^MBuOGP87W6*4-?WBq%}F@@mvOaBFx^8y8aGymm#E3(arC7^=s z;byU$VZ7U-y;UcDT=#I7)+Bc4O9#TDA0{12-M)$?``1woiDkLZRYf&*s@7cV5!8J9 zX)YssP*Z2n*%M4UyG_dc?nbccoZMlef8;=tL0R8H&0P%7x_=})@fY*Yn<F<by^Sw6 zX0c-r>*V0mTO&jxYq*6kZ{L4o_GSOmC%@Tn8~x3{eSP7*6)}Z#@-_?beV_e$+Vz7g z)&DP;o67dPP$<S#ZFvDx|K+--<EQ=o%H#jqSsnZm{8xSEch>E{S4&#`4Y~hNDb1Vz gaclaAr_28_@}^ZV7Tj030}LnzPgg&ebxsLQ03}Dnc>n+a diff --git a/graphics/event_objects/pics/misc/birchs_bag.png b/graphics/event_objects/pics/misc/birchs_bag.png index 045e5546c73d6adb71ad05d196a903e200ba8270..21f463b718b7cff3f6c1d2d806db4ca14bb25934 100644 GIT binary patch delta 9 QcmaFGc$aZP!o=KK02Q_bH2?qr delta 20 bcmcc1_=<5t0vBURkY6x^!?PP{6Jr|yPxlA@ diff --git a/graphics/event_objects/pics/misc/birth_island_stone.png b/graphics/event_objects/pics/misc/birth_island_stone.png index 2ec134c2291a7fa7c5494e5907501f4801549aea..3c5d82c1195e3ec4b00148b75974959d5d005353 100644 GIT binary patch delta 9 QcmaFBc$slR!o=KS02K@b7XSbN delta 20 bcmcc2_<(Uj0vBURkY6x^!?PP{6JyH&PH_j| diff --git a/graphics/event_objects/pics/misc/breakable_rock.png b/graphics/event_objects/pics/misc/breakable_rock.png index db9926804df07c3aa3a595ae9f859f53050c94f0..c5054da411b866e6e630e95efaa3b3df318b66dc 100644 GIT binary patch delta 39 tcmey!{FiBh%EUTr4n_`77sn8di5qXTF$!4j_N!+A0#8>zmvv4FO#lIz3^V`$ delta 153 zcmey%^pSajN;rFor>`sfBMwe+M(gaz%1;ao4B{oO5hcO-X(i=}MX3z#J}v=%?h0k8 zMGD4xCWWm_9s-qcloa^617(bXYzD6eO?e>2lJ4m1$iT3%pZiZD>qJF6B?iVMZ+Dmf yOW8ji1xhoP1o;IsI6S+N24r)1x;TbZ%-NXE#wakugLMH=p25@A&t;ucLK6Ub(<}1; diff --git a/graphics/event_objects/pics/misc/cable_car.png b/graphics/event_objects/pics/misc/cable_car.png index e0bd21ddfa5e19edaa4d64520c6ea440fc2a8588..67f581fb978095c524a84e9317ec075a5eb2136a 100644 GIT binary patch delta 10 RcmdnVvW8_s{KlNKi~twH1V{h? delta 22 ecmZ3(vXf;(JU0VlNswPKgTu2MX&YnDGXelqMF<iA diff --git a/graphics/event_objects/pics/misc/cuttable_tree.png b/graphics/event_objects/pics/misc/cuttable_tree.png index 6071f4a61ec436318bbe7116ccb701c0e5a73de6..fba4ced1ac54c47b03baa5a3832834714086f89f 100644 GIT binary patch delta 37 scmX@Ze1mC%%EUSw_Q#$sjv*QoC*FQ2FgYn9gaHUVUHx3vIVCg!01nR$W&i*H delta 151 zcmcb?bcT6?N;rFor>`sfBMwe+CY{5}*MDPRU=S~HjVKAuPb(=;EJ|f?_i+jEb5|%! zEmAPnGbwCc@(`$mqolyk9VlZAWHWd*XvzaAmUKs7M+SzC{oH>NStlymD>5c|ySw~f x%KqsnP?oVI$S;_|;n|HeAm_2Ci(^Q|oQdfV1yV1wb^%2gJYD@<);T3K0RW$aE>Qpg diff --git a/graphics/event_objects/pics/misc/fossil.png b/graphics/event_objects/pics/misc/fossil.png index a8da0e8ff65d69eec073be43666de0f7371d19bc..3e070a6c9b9162dec453d5f407e0050ac4dc205c 100644 GIT binary patch delta 9 QcmZo=`oTCMVPftK022uW2LJ#7 delta 20 bcmeyt*vd2^fs3&u$S;_|;n|I}iLtW*OC<-; diff --git a/graphics/event_objects/pics/misc/item_ball.png b/graphics/event_objects/pics/misc/item_ball.png index a30e02fb1507ce737f939130624928f2c78871aa..ef02e158c99bfe6bfa98eb4c880e9c06ddaac6c1 100644 GIT binary patch delta 9 QcmX@hcz|(2!o=JJ029dr-T(jq delta 20 bcmX@Wc$RTO0vBURkY6x^!?PP{6JwJBON<An diff --git a/graphics/event_objects/pics/misc/moving_box.png b/graphics/event_objects/pics/misc/moving_box.png index 3cbc419006dc0b8aa88225144fe8cd73abb49b97..43b65c2c15e19009c3c32dad771b845143d5a389 100644 GIT binary patch delta 9 QcmX@dc#v^I!o=J}02A5+;Q#;t delta 20 bcmX@ec#d&G0vBURkY6x^!?PP{6Jt{VOS1>6 diff --git a/graphics/event_objects/pics/misc/mr_brineys_boat.png b/graphics/event_objects/pics/misc/mr_brineys_boat.png index e790eb172d7b241324e5f99fa4a799f3f0f8cb45..249f25b51ba2be9791be633d757587297add3798 100644 GIT binary patch delta 39 tcmaFB`i5nK%EUTr4#w}EE{-7<y&G?TWfYjN&%(w41fH&bF6*2UngAXZ4Hp0a delta 153 zcmaFE@_==MN;rFor>`sfBMwe+W`lEk5B*?ZU=S~HjVKAuPb(=;EJ|f?_i+jEb5|%! zEmAPnGbwCc@(`$mqolyk9VlZAWHWd*XvzaAmUKs7M+SzC{oH>NStlymDKRi6dAqy( zU&{XJC{UWQB*-tA!Qt7BG$8xCr;B4q#hi`lUl|3CnCUJ6$}@Pn`njxgN@xNAB#<ux diff --git a/graphics/event_objects/pics/misc/pushable_boulder.png b/graphics/event_objects/pics/misc/pushable_boulder.png index a6962123c47d5e19102a12c12bb91643d6f515f1..eba6a116f91f0db2bb0214fa7649c0a3550bb5a6 100644 GIT binary patch delta 9 QcmaFBc$slR!o=KS02K@b7XSbN delta 20 bcmcc2_<(Uj0vBURkY6x^!?PP{6JyH&PH_j| diff --git a/graphics/event_objects/pics/misc/ss_tidal.png b/graphics/event_objects/pics/misc/ss_tidal.png index 40ca9a3f3c0532fe62c87fbfdd1b270b5e191cf3..44510d25ae5a3a036d872c917be2ae5998243a95 100644 GIT binary patch delta 10 RcmX@ax|MZ8{KlLxCIA<Q1Lgn# delta 22 dcmdnWdWdyGJU0VlNswPKgTu2MX&YlBm;hAz2e1GD diff --git a/graphics/event_objects/pics/misc/statue.png b/graphics/event_objects/pics/misc/statue.png index 725aa8a7bf23b690b307120c03de1c8c006e9a94..7b4b13cd739471d5fdff54d6cc9a0659c84ffd23 100644 GIT binary patch delta 9 QcmZo<`ocINVPftS020Lm`v3p{ delta 20 bcmeyu*vK>?fs3&u$S;_|;n|I}iLuiGN{I)= diff --git a/graphics/event_objects/pics/misc/submarine_shadow.png b/graphics/event_objects/pics/misc/submarine_shadow.png index b9dfc4c553a596b6210c1ebb3f8318b2f069b316..d43bc98dc1a1e2fe0bd7f82c38749a33f6d5b86f 100644 GIT binary patch delta 9 QcmZo*`ph^XVPfuN01~tV_y7O^ delta 20 bcmey&*uXR)fs3&u$S;_|;n|I}iLuiFN@54W diff --git a/graphics/event_objects/pics/misc/truck.png b/graphics/event_objects/pics/misc/truck.png index 0d31ffbc20c64de8e89a0e121b572a6f52ccd244..46940a9a3a6fb1f0d2de0821a344c7f2b5798aed 100644 GIT binary patch delta 10 RcmdnOyqtML{Kgy)MgSI01GfMG delta 22 dcmZ3^yoGr}JU0VlNswPKgTu2MX&Ym`7y(j22Y~<p diff --git a/graphics/event_objects/pics/people/artist.png b/graphics/event_objects/pics/people/artist.png index 7a40a2e38f0c67ccd1a2f7c505c63d44d0aa0b1c..1a98032a7fb039b64a6a2a6cf7b0c5fb6e6dc593 100644 GIT binary patch delta 39 tcmbQnwup6t%EUTr4kles7sn8f&W*RVnFPK#vaMnO0#8>zmvv4FO#t&(3=9AO delta 153 zcmZ3)I*o0DN;rFor>`sfBMx?M37xjg3N8i)2JsTth?3y^w370~qErTVAC~|>cZIUl zA_ZeTlfu>|4}nTJN(%hkfilKGHiK7#raX{hNq6*hWMJ6X&;2Knb)ur35(8tBx4X;# yrR<-M0;L&Cg8YIR9G=}sV_;y?^>lFzshG1dU7JZDKlbV#kTIUFelF{r5}E+Ov@4?k diff --git a/graphics/event_objects/pics/people/beauty.png b/graphics/event_objects/pics/people/beauty.png index ac07e8e9b9eec9b8a51717386e08e6bcf29a6691..dd3a3d76b1d958938d197c1705c71ea12a9415e8 100644 GIT binary patch delta 39 tcmdnPc7k<+%EUTr4yIsF7sn8f&W*PNnFO{7=7uu>fv2mV%Q~loCIA3K3`hU~ delta 153 zcmX@Xx`%CoN;rFor>`sfBMx?MDPbl{^Q{aF4B{oO5hcO-X(i=}MX3z#J}v=%?h0k8 zMGD4xCWWm_9s-qcloa^617(bXYzD6eO?e>2lJ4m1$iT3%pZiZD>qJF6B?iVMZ+Dmf zOW8ji1xhoP1o;IsI6S+N#=yW7?CIhdQZZ*^dLWa)V<U<CAY(jT{an^LB{Ts5ywEF& diff --git a/graphics/event_objects/pics/people/black_belt.png b/graphics/event_objects/pics/people/black_belt.png index 88043e0c0f5bb02f36fdb92d7b2624310912c6b6..e6c901933ee5045cf8c98076cf0c229985513348 100644 GIT binary patch delta 39 tcmaFK_LX&l%EUTr4yFcA7sn8f&W*S0m;^F+vHf5G0#8>zmvv4FO#mIF4U_-? delta 153 zcmey$`jTyeN;rFor>`sfBMx?MX=4Q+H5HJsTth?3y^w370~qErTVAC~|>cZIUl zA_ZeTlfu>|4}nTJN(%hkfilKGHiK7#raX{hNq6*hWMJ6X&;2Knb)ur35(8tBx4X;# yrR<-M0;L&Cg8YIR9G=}sV_;xv@N{tushG1dy^cvh>szM)$QVyoKbLh*2~7anW-GD) diff --git a/graphics/event_objects/pics/people/boy_1.png b/graphics/event_objects/pics/people/boy_1.png index 72cb2c2b51c988b44a0efbe3a5d76ba1de196b80..cd7507c9b2d0c21e463f51bf8aeab03a21b639c4 100644 GIT binary patch delta 39 ucmbQnwup6t%EUTr4kles7sn8f&W*RVnFL-RKX;V@2s~Z=T-G@yGywny&kcM4 delta 153 zcmZ3)I*o0DN;rFor>`sfBMuf}DcPrt?o${T7{p6lBT9nv(@M${i&7cfeOv<k+!e}F zixiCYObT0<JOnD?C@JuB2g(=&*$iF{n({!3CEd~2k%3`jKlh(R)`^OCN(_ui-tI2{ zm$H943Y2Cn3GxeOaCmkjje&tl*VDx@q+-s-bZsVqg4?o(LB@Ex`njxgN@xNA<4!BN diff --git a/graphics/event_objects/pics/people/boy_2.png b/graphics/event_objects/pics/people/boy_2.png index c8d6db12e7dea41dfab1de11739cdbe245d05c4e..ff57b602bf4c46a74d2762cc459a9d68fe6ee273 100644 GIT binary patch delta 39 tcmcb_c8_&}%EUTr4yH^`7sn8f&W*RznFPvKr9ET-0#8>zmvv4FO#l{*4SoOs delta 153 zcmcb|dWmg<N;rFor>`sfBMuf}8GeUH6QdXy7{p6lBT9nv(@M${i&7cfeOv<k+!e}F zixiCYObT0<JOnD?C@JuB2g(=&*$iF{n({!3CEd~2k%3`jKlh(R)`^OCN(_ui-tI2{ zm$H943Y2Cn3GxeOaCmkjje&tF)6>N<q+-s-^mHbHmeYHILJSO^u6{1-oD!M<TBj{A diff --git a/graphics/event_objects/pics/people/boy_3.png b/graphics/event_objects/pics/people/boy_3.png index dd8f2e51d9e8a3126ce16cc3cc9357b131e578d6..b6dba79447c4e552a49e7ebb0ee33ba8931b98dd 100644 GIT binary patch delta 39 tcmZ3^wwZN;%EUTr4kkNK7sn8f&W*Qim<0B+ADPSm1fH&bF6*2UngIRf42A#z delta 153 zcmdnYx}0r-N;rFor>`sfBMuf}S@j$rj)x2k4B{oO5hcO-X(i=}MX3z#J}v=%?h0k8 zMGD4xCWWm_KuS1D3jExGGR8nQgI9y5Jdk2Zcl32+VA$Bt{U?!iqN1G=17ni6yUYKj x?4OPTr5Q_t{DK)Ap4~`eU|_QIba4!+n6ok6hDks=VW|(u7*AI}mvv4FO#tNQD=Pp1 diff --git a/graphics/event_objects/pics/people/boy_4.png b/graphics/event_objects/pics/people/boy_4.png index 2e2fd0412a87fb84a82f79b779c3e5592ba191fd..6536d2c23a60aa0af42b1d36246af11f6d42e5e3 100644 GIT binary patch delta 39 tcmaFO_MLTt%EUTr4yGng7sn8f&W*Plm;@a4Jwq6Pz|+;wWt~$(695lO42S># delta 153 zcmey)`kHNmN;rFor>`sfBMuf}dC_TWtsgTmFo>79MwA5Sr<If^7Ns({`?v)7xhs^V z7AY9(nH07zc?eX(QBvUN4wNwlvKhP@H06O5OS+@4BLl<6e(pbstP>UOlo%M3yxm>? zFJ=F96e!JD666=m;PC858Uq7Ulc$SgNX49u=?zQ*tNP#if{gKW^>bP0l+XkKttBn; diff --git a/graphics/event_objects/pics/people/boy_5.png b/graphics/event_objects/pics/people/boy_5.png index 19fff5b36e68306bc3b18c9e49d24c3fd0e96809..b0b7426516e681567b6311d5043156f34a2d2554 100644 GIT binary patch delta 39 tcmZo=naDgrWn!H*2cwLqi(`n!#ErM57zK=Eg0?UKfv2mV%Q~loCIH@;3mE_a delta 153 zcmbQp+{!XRC7iv))7O>#5eJK~0<+cfC4CGG4B{oO5hcO-X(i=}MX3z#J}v=%?h0k8 zMGD4xCWWm_9s-qcloa^617(bXYzD6eO?e>2lJ4m1$iT3%pZiZD>qJF6B?iVMZ+Dmf xOW8ji1xhoP1o;IsI6S+N24u^4x;TbZ%-NVO#VF9ZzqtftjHj!g%Q~loCIIRQE5QH& diff --git a/graphics/event_objects/pics/people/brendan/acro_bike.png b/graphics/event_objects/pics/people/brendan/acro_bike.png index 367fa1bd5a206c8bac324a8bd2b46777e437f2c1..183e2b7c957463ed1a1dc06667554da34e314308 100644 GIT binary patch delta 39 tcmbO#vQT(}%EUTr4o)3U7srr{#*MeNI0Y&$vgt7Zfv2mV%Q~loCIIxs3*rC( delta 153 zcmZ1|JXK_ZN;rFor>`sfBX$`9Gma%;^E4S47{p6lBT9nv(@M${i&7cfeOv<k+!e}F zixiCYObT0<JOnD?C@JuB2g(=&*$iF{n({!3CEd~2k%3`jKlh(R)`^OCN(_ui-tI2{ zm$H943Y2Cn3GxeOaCmkjje&tv$J50zq+-s-bS+K+!=LO8KzRmFS3j3^P6<r_`^YPR diff --git a/graphics/event_objects/pics/people/brendan/decorating.png b/graphics/event_objects/pics/people/brendan/decorating.png index c0839120a88eff60a67975de1d6a5747ab534d35..f3771e60e4c92b865e40df607857779a4f13865d 100644 GIT binary patch delta 9 QcmbQu)W<X-VPft&01*WP$^ZZW delta 20 bcmeBUn$0vJfs3&u$S;_|;n|I}iLo02M3M)S diff --git a/graphics/event_objects/pics/people/brendan/field_move.png b/graphics/event_objects/pics/people/brendan/field_move.png index 7f85137a4c169f95d1178170f5af4544426a6c73..26ef7474948ced58af2817216de4ee1ef0cdfd44 100644 GIT binary patch delta 39 tcmaFI`io_P%EUTr4klJl7sn8f&W*R3nFQn~+`Ga61fH&bF6*2Ung9zY4CVj; delta 153 zcmeyx@{V<aN;rFor>`sfBX$`98QEnIw!LCtU=S~HjVKAuPb(=;EJ|f?_i+jEb5|%! zEmAPnGbwCc@(`$mqolyk9VlZAWHWd*XvzaAmUKs7M+SzC{oH>NStlymDKRi6dAqy( zU&{XJC{UWQB*-tA!Qt7BGzJDHR!<klkcv4Q)0vqBA|)Kwf{gKW^>bP0l+XkK`#&tj diff --git a/graphics/event_objects/pics/people/brendan/fishing.png b/graphics/event_objects/pics/people/brendan/fishing.png index 8ebe7ae4d9b7dc5ac7b50f33138abb343100e70c..bb2a8f7472d91a3658eaaff669fefaa8e33b7113 100644 GIT binary patch delta 39 tcmdnQvyXd%%EUTr4pvW37srr@){VE_Sp|Lwt`B4Y0#8>zmvv4FO#lXD488yW delta 153 zcmdnTy@_XnN;rFor>`sfBX$`9Mcr2y&;4LvU=S~HjVKAuPb(=;EJ|f?_i+jEb5|%! zEmAPnGbwCc@(`$mqolyk9VlZAWHWd*XvzaAmUKs7M+SzC{oH>NStlymDKRi6dAqy( zU&{XJC{UWQB*-tA!Qt7BGzJD%Pfr)ekcv4Q)7@DGJj*@SgN*TX^>bP0l+XkK2;(iX diff --git a/graphics/event_objects/pics/people/brendan/mach_bike.png b/graphics/event_objects/pics/people/brendan/mach_bike.png index a1518cf9a7a17e1cbca11a7b3bf66611f2e077b8..661ebb7330dafb2e42897984ec19aa7e0d14d9b9 100644 GIT binary patch delta 39 tcmeC>oXIgkWn!H*2lEn77srr@){VCpF$=gADIa720#8>zmvv4FO#lOU46^_L delta 153 zcmbQq(aSkOC7iv))7O>#5xb0lq(bw5zI_Y~4B{oO5hcO-X(i=}MX3z#J}v=%?h0k8 zMGD4xCWWm_9s-qcloa^617(bXYzD6eO?e>2lJ4m1$iT3%pZiZD>qJF6B?iVMZ+Dmf zOW8ji1xhoP1o;IsI6S+N#=yY5#M8wwq+-s-^hL}9PZuQ41R3M$>gTe~DWM4fOiL}4 diff --git a/graphics/event_objects/pics/people/brendan/running.png b/graphics/event_objects/pics/people/brendan/running.png index cf5a6b61e62505f161c32f0f710a93cae8081fc8..a66dbf8d3ed2ae23471212fd8db68312eec30415 100644 GIT binary patch delta 39 tcmeBWpUE~sWn!H*2h$Qy7sn8f&W*PhF$o-H=3rs~0#8>zmvv4FO#t`M3)cVu delta 153 zcmbQq*2_LYC7iv))7O>#5xb0l2-9OjLvaQM2JsTth?3y^w370~qErTVAC~|>cZIUl zA_ZeTlfu>|4}nTJN(%hkfilKGHiK7#raX{hNq6*hWMJ6X&;2Knb)ur35(8tBx4X;# yrR<-M0;L&Cg8YIR9G=}sV_;xf;_2cTQZZ*^`XVNQpg4XRkTIUFelF{r5}E*`B`Vbb diff --git a/graphics/event_objects/pics/people/brendan/surfing.png b/graphics/event_objects/pics/people/brendan/surfing.png index c0ddb14f6a73cf4d5515c33c4d27e9960cc1d062..1baa4afc6c0fbcfdd2cf6d913750ec07a452e848 100644 GIT binary patch delta 39 tcmeyu*1$GFWn!H*2UEAFi(`mK=f>NeOacL4qr@42z|+;wWt~$(695aL4AuYu delta 153 zcmZo*`@%LsC7iv))7O>#5xcB_B=bxaiIoft4B{oO5hcO-X(i=}MX3z#J}v=%?h0k8 zMGD4xCWWm_9s-qcloa^617(bXYzD6eO?e>2lJ4m1$iT3%pZiZD>qJF6B?iVMZ+Dmf yOW8ji1xhoP1o;IsI6S+N#=yYT?djqeQZZ*^dMA^B>(2TVkTIUFelF{r5}E++BP<^P diff --git a/graphics/event_objects/pics/people/brendan/underwater.png b/graphics/event_objects/pics/people/brendan/underwater.png index 86e436e55ddcc9fcdfd0016ed9ef4ae2c2732812..47f926b61267c5f489052d1c91f7be8335cab686 100644 GIT binary patch delta 39 tcmeBToyIajWn!H*2jfCd7sn8f&W*R{GYV{euNS}o1fH&bF6*2Ung9rC4HEzW delta 153 zcmbQn(#1MKC7iv))7O>#5xb0lx*T&fM+O4}gLsK+L`iUdT1k0gQ7VJGk4u1`yFyuN zk%F<FNnz`fhd?D9B?W%&KpA5oo58C=QyxgMq&xaLGB9lH=l+w(I#JP1iGeZ6+uh~= yQua?rfzpg6L4Lsu4$p3+0oe;ZT^vIy=4?!#&nVE8X?g%C&*16m=d#Wzp$PzZM=NOn diff --git a/graphics/event_objects/pics/people/brendan/walking.png b/graphics/event_objects/pics/people/brendan/walking.png index 31b64a1af6abedf286b12fa40315b5973fab7de6..0560881fa53c597b7689e823d1e9ae6842b19bd2 100644 GIT binary patch delta 39 ucmbQhK8J0B%EUTr4yNUvE{-7{of~g2WfHK;`tpDQ2s~Z=T-G@yGywn(*A0mP delta 153 zcmbQkHi3PDN;rFor>`sfBX%hsZj*~`>u)eHFo>79MwA5Sr<If^7Ns({`?v)7xhs^V z7AY9(nH07zc?eX(QBvUN4wNwlvKhP@H06O5OS+@4BLl<6e(pbstP>UOlo%M3yxm>? zFJ=F96e!JD666=m;PC858Uq8<a!(h>kcv4Q)0Z*{lzAR(1{ve&>gTe~DWM4fkRvUw diff --git a/graphics/event_objects/pics/people/brendan/watering.png b/graphics/event_objects/pics/people/brendan/watering.png index e348d8994dfed761d5ab278086aac3abcbc5029e..999608437b508f411dc847316dba84c9339798d6 100644 GIT binary patch delta 39 tcmey$+Q>RVWn!H*2NRE{i(`mK=f>MyOac<O_Z(pW0#8>zmvv4FO#uC343z)? delta 153 zcmZo<{mME)C7iv))7O>#5xcB_v}~ZPy9WaUgLsK+L`iUdT1k0gQ7VJGk4u1`yFyuN zk%F<FNnz`fhd?D9B?W%&KpA5oo58C=QyxgMq&xaLGB9lH=l+w(I#JP1iGeZ6+uh~= yQua?rfzpg6L4Lsu4$p3+F)%Rkc)B=-RLt3!&c!59xo**3kTIUFelF{r5}E+3>MLOY diff --git a/graphics/event_objects/pics/people/bug_catcher.png b/graphics/event_objects/pics/people/bug_catcher.png index 489050251436fb1d5391818a5e4005e617cd38d9..7f733b936112bdf19453ff8fe0101f8353cbc579 100644 GIT binary patch delta 39 tcmZ3+wuyCu%EUTr4klYq7sn8f&W*RNnFRU-<!>?ofv2mV%Q~loCII!A3;qBA delta 153 zcmdnQx{PgtN;rFor>`sfBMx?MS>^176YnuFFo>79MwA5Sr<If^7Ns({`?v)7xhs^V z7AY9(nH07zc?eX(QBvUN4wNwlvKhP@H06O5OS+@4BLl<6e(pbstP>UOlo%M3yxm>? zFJ=F96e!JD666=m;PC858Uq89t*47)NX49u>DEjFq3X+PK*o5w`njxgN@xNAQe-SE diff --git a/graphics/event_objects/pics/people/cameraman.png b/graphics/event_objects/pics/people/cameraman.png index 23addbab1dec604cc09bec7860db215ee7adde28..b1f972438a7edaf1463c566020c6338cbe22fe20 100644 GIT binary patch delta 39 tcmbQtHlKBZ%EUTr4kj&67sn8f&W*P<m;~Bm`%D>tz|+;wWt~$(69Dcx3&H>Z delta 153 zcmbQwI+<;PN;rFor>`sfBMx?MdEQpXf0G#)7{p6lBT9nv(@M${i&7cfeOv<k+!e}F zixiCYObT0<JOnD?C@JuB2g(=&*$iF{n({!3CEd~2k%3`jKlh(R)`^OCN(_ui-tI2{ zm$H943Y2Cn3GxeOaCmkjje&tl%hSa%q+-s-bPXnfmJiLZK*o5w`njxgN@xNAEwL== diff --git a/graphics/event_objects/pics/people/camper.png b/graphics/event_objects/pics/people/camper.png index c931d478d9f8e012eab1bbd087a0cdf2ad40e3eb..3719d64f34c9d7807f36a48138a92efdb1cb25da 100644 GIT binary patch delta 39 tcmZ3<wv}~)%EUTr4kiar7sn8f&W*S2m;_eD)+jOnfv2mV%Q~loCII-`3>5$X delta 153 zcmdnWx{_^zN;rFor>`sfBMx?M1#{`iys``o4B{oO5hcO-X(i=}MX3z#J}v=%?h0k8 zMGD4xCWWm_9s-qcloa^617(bXYzD6eO?e>2lJ4m1$iT3%pZiZD>qJF6B?iVMZ+Dmf zOW8ji1xhoP1o;IsI6S+N#=yYj;OXKRQZZ*^x*e0i6px??pge=8tDnm{r-UW|iUKN< diff --git a/graphics/event_objects/pics/people/contest_old_man.png b/graphics/event_objects/pics/people/contest_old_man.png index b5e9e5cde62ca0b49f20ca035745b571cce5d9b5..919230cb7ef1ef0748ac83068c94372e22d7c635 100644 GIT binary patch delta 39 tcmaFC_JwtV%EUTr4yJlf7sn8f&W*QgnFOAvOn=A#1fH&bF6*2UngAxk4l)1$ delta 153 zcmeyu`hsnON;rFor>`sfBMx?MC6%?(dX5YX4B{oO5hcO-X(i=}MX3z#J}v=%?h0k8 zMGD4xCWWm_9s-qcloa^617(bXYzD6eO?e>2lJ4jW)V{Hw`%fb4L`6F#2F4_BcbET5 x**_fxN;8%O`2{mLJiC#`z`#`R>EaktF=u0XEt9|@CecoiF`lk|F6*2Ung9mwE4Tmv diff --git a/graphics/event_objects/pics/people/cook.png b/graphics/event_objects/pics/people/cook.png index 66d77802cb6ceee39bc44f5a123f5cdd69aa8355..9ac187130b89825a64a91b17f83ad0305a16755b 100644 GIT binary patch delta 39 tcmX@ca*26@%EUTr4#rqd7sn8di5qW6GYTwpitb<l0#8>zmvv4FO#lT>437W+ delta 153 zcmcb_e2is+N;rFor>`sfBMx?MWrfYTw<Q@E7{p6lBT9nv(@M${i&7cfeOv<k+!e}F zixiCYObT0<JOnD?C@JuB2g(=&*$iF{n({!3CEd~2k%3`jKlh(R)`^OCN(_ui-tI2{ ym$H943Y2Cn3GxeOaCmkj4ako5ba4!+n6oiGno(ef%>K0?V?15`T-G@yGywoou`J>M diff --git a/graphics/event_objects/pics/people/cycling_triathlete_f.png b/graphics/event_objects/pics/people/cycling_triathlete_f.png index 42be9a608aa714f7b47bc651b300e932893abf69..a291b79c50f9c10df05a545be923c35ffb3884af 100644 GIT binary patch delta 39 ucmbQixrAea%EUTr4(9cqE{-7)ts8HzWfn-?C4Gzm2s~Z=T-G@yGywn(x(!1B delta 153 zcmZ3&F@tl0N;rFor>`sfBMx?MRWrfIC(ki3Fo>79MwA5Sr<If^7Ns({`?v)7xhs^V z7AY9(nH07zc?eX(QBvUN4wNwlvKhP@H06O5OS+@4BLl<6e(pbstP>UOlo%M3yxm>? zFJ=F96e!JD666=m;PC858Uq9KdQTU}kcv4Q)7LT!DDSR(1v19d)z4*}Q$iB}c`Pl+ diff --git a/graphics/event_objects/pics/people/cycling_triathlete_m.png b/graphics/event_objects/pics/people/cycling_triathlete_m.png index e2ae09033d461aab5cf0456e8b0e068682dadac5..08a848d27dade286d67c59e13a4b7c86235ef3a8 100644 GIT binary patch delta 39 ucmbQrxsYRm%EUTr4(2tUE{-7)ts8HzVix#Ou(^`~2s~Z=T-G@yGywn?S`FI( delta 153 zcmZ3;F_m+IN;rFor>`sfBMx?Mbt9D>`JoI94B{oO5hcO-X(i=}MX3z#J}v=%?h0k8 zMGD4xCWWm_9s-qcloa^617(bXYzD6eO?e>2lJ4m1$iT3%pZiZD>qJF6B?iVMZ+Dmf zOW8ji1xhoP1o;IsI6S+N#=yY5#?!?yq+-s-^i|9PN5j%jfQ<2U^>bP0l+XkK{JSjJ diff --git a/graphics/event_objects/pics/people/elite_four/drake.png b/graphics/event_objects/pics/people/elite_four/drake.png index 74328006e9cb4ea48c26065c3c2f8c9b96f0f897..9fde008fff342c58c5ef833af394d176483bd025 100644 GIT binary patch delta 39 tcmdnTa*BC^%EUTr4#rSV7sn8di5qVRGYTxvmgQmq0#8>zmvv4FO#u323*rC( delta 153 zcmX@bypLsqN;rFor>`sfBMuf}5w%mD&2|h74B{oO5hcO-X(i=}MX3z#J}v=%?h0k8 zMGD4xCWWm_9s-qcloa^617(bXYzD6eO?e>2lJ4m1$iT3%pZiZD>qJF6B?iVMZ+Dmf xOW8ji1xhoP1o;IsI6S+N24shNx;TbZ%-NV8%qVan$hs3`jHj!g%Q~loCICTLEMx!x diff --git a/graphics/event_objects/pics/people/elite_four/glacia.png b/graphics/event_objects/pics/people/elite_four/glacia.png index 978d87db02c114012f88a061415fff5cd516e227..fcf6dbde2481c7c729f534069bfd7039a47d978a 100644 GIT binary patch delta 39 tcmdnPa)Nn+%EUTr4#r?l7sn8di5qVRG750(K8|Am0#8>zmvv4FO#u5O3>p9c delta 153 zcmX@XyoY6iN;rFor>`sfBMuf}VO5!fF3t=L4B{oO5hcO-X(i=}MX3z#J}v=%?h0k8 zMGD4xCWWm_9s-qcloa^617(bXYzD6eO?e>2lJ4m1$iT3%pZiZD>qJF6B?iVMZ+Dmf xOW8ji1xhoP1o;IsI6S+N24n|&x;TbZ%-NV8$S6?kZ@Cj>jHj!g%Q~loCIH>)D|i3^ diff --git a/graphics/event_objects/pics/people/elite_four/phoebe.png b/graphics/event_objects/pics/people/elite_four/phoebe.png index e5d54ed779798a96e932bd05fa1903d571997f02..243057ae261d614075e6ad10e962f0d193b9de1c 100644 GIT binary patch delta 39 tcmX@Wa)x<=%EUTr4#sd#7sn8di5qW+G76juJ{8IU1fH&bF6*2Ung9uQ4DA2_ delta 153 zcmX@Ze1K(wN;rFor>`sfBMuf}A-zc)Yq}U17{p6lBT9nv(@M${i&7cfeOv<k+!e}F zixiCYObT0<JOnD?C@JuB2g(=&*$iF{n({!3CEd~2k%3`jKlh(R)`^OCN(_ui-tI2{ xm$H943Y2Cn3GxeOaCmkj4ag4nba4!+n6oiGlu>}=!)Hm5F`lk|F6*2UngApdEKC3Z diff --git a/graphics/event_objects/pics/people/elite_four/sidney.png b/graphics/event_objects/pics/people/elite_four/sidney.png index 15892f926c4140cd0f11ceed21b3d98cb4d97d4c..de9d08719336ebd13ef10cf23820ee6f4edeec32 100644 GIT binary patch delta 39 tcmZ3-vWt0w%EUTr4n|i`7sn8di5qV_GYT}77;7^Cfv2mV%Q~loCIIuy3%vjU delta 153 zcmdnRypCmpN;rFor>`sfBMuf}L9<n!>GBK=4B{oO5hcO-X(i=}MX3z#J}v=%?h0k8 zMGD4xCWWm_9s-qcloa^617(bXYzD6eO^`O0bVpxD28NCO+<y{TCo0-0F)${1ySw~f x%KqsnP@1tM$S;_|;n|HeAluc`#WAE}&c<|SMu9u(*EWER@pScbS?83{1OV!kEI9xG diff --git a/graphics/event_objects/pics/people/fat_man.png b/graphics/event_objects/pics/people/fat_man.png index 74d71191bc7daa5615fc8e5a1c4ff988c59f43ad..392f0446e5d8391d96d603b80234053b959fd6aa 100644 GIT binary patch delta 39 tcmbQhHivbB%EUTr4kmR^7sn8f&W*QKnFNgf-0)=p0#8>zmvv4FO#t={3}OHP delta 153 zcmbQkI)QD1N;rFor>`sfBMx?MO$E;;<H-yR4B{oO5hcO-X(i=}MX3z#J}v=%?h0k8 zMGD4xCWWm_9s-qcloa^617(bXYzD6eO?e>2lJ4m1$iT3%pZiZD>qJF6B?iVMZ+Dmf yOW8ji1xhoP1o;IsI6S+N#=yX&?&;zfQZZ*^x+;@^SIR<vkTIUFelF{r5}E+Od@At( diff --git a/graphics/event_objects/pics/people/fisherman.png b/graphics/event_objects/pics/people/fisherman.png index ab31a44addcbff2dc7598a0e3e48830a1a60223e..486fc36ed97db9df289ee192c3a3078999ab90ea 100644 GIT binary patch delta 39 tcmey)*333RWn!H*2UDM?i(`mK=f>MTOadLObAuUxz|+;wWt~$(695S~45<JB delta 153 zcmZo>`_48&C7iv))7O>#5eGZBmhm$|#XbfG2JsTth?3y^w370~qErTVAC~|>cZIUl zA_ZeTlfu>|4}nTJN(%hkfilKGHiK7#raX{hNq6*hWMJ6X&;2Knb)ur35(8tBx4X;# yrR<-M0;L&Cg8YIR9G=}sV_;zF^K@|xshG1dy@yG_Q+t{)$QVyoKbLh*2~7YH{wuZs diff --git a/graphics/event_objects/pics/people/frontier_brains/anabel.png b/graphics/event_objects/pics/people/frontier_brains/anabel.png index 0b6bc0eb968a6f18c9f300dc5c7b3420cef75a7a..fce97a5e379b07d710ff7a4b0a13351d7fb6e933 100644 GIT binary patch delta 39 tcmdnVc9eC3%EUTr4yFK47sn8f&W*SIm;~ZpZA)eV0#8>zmvv4FO#lkR4HN(X delta 153 zcmX@gx|3~!N;rFor>`sfBMwF}E6du+TkRMa7{p6lBT9nv(@M${i&7cfeOv<k+!e}F zixiCYObT0<JOnD?C@JuB2g(=&*$iF{n({!3CEd~2k%3`jKlh(R)`^OCN(_ui-tI2{ zm$H943Y2Cn3GxeOaCmkjje&tFz|+Msq+-s-bU!8mx5?VGK*o5w`njxgN@xNAO%g0N diff --git a/graphics/event_objects/pics/people/frontier_brains/brandon.png b/graphics/event_objects/pics/people/frontier_brains/brandon.png index 74b8ff3f9fbd54bab2f7766dda03c2d836d7c877..a6cfcbbcb8fcda21c66dd6adbd95c307b8af0f72 100644 GIT binary patch delta 39 tcmX@ec9wO5%EUTr4yFiC7sn8f&W*Rjm;@Ay4|FjAfv2mV%Q~loCIALm46y(J delta 153 zcmX@hdXQ~`N;rFor>`sfBMwG!2D6jyG7lLT7{p6lBT9nv(@M${i&7cfeOv<k+!e}F zixiCYObT0<fRu2Q6!^IVWsHGr2CoK9c_77-?&#~tz_78O`%fb4L`6F#2F4_BcbET5 x**_fxN;8%O`2{mLJiC#`z`zvY>EaktF=u0X7?XhU*N9k<F`lk|F6*2UngBrREMouw diff --git a/graphics/event_objects/pics/people/frontier_brains/greta.png b/graphics/event_objects/pics/people/frontier_brains/greta.png index 441a193b5c9b4d74600a49ec8940d4f63367ea23..d8d57777428aa5b0c6d8cc458b7bd62650f1424b 100644 GIT binary patch delta 39 tcmcc0_K<ag%EUTr4yGJW7sn8f&W*RTm;^Krl!!6_fv2mV%Q~loCIAZG43z)? delta 153 zcmaFJdX;U0N;rFor>`sfBMwG!X0{`n>-!iO7{p6lBT9nv(@M${i&7cfeOv<k+!e}F zixiCYObT0<JOnD?C@JuB2g(=&*$iF{n({!3CEd~2k%3`jKlh(R)`^OCN(_ui-tI2{ zm$H943Y2Cn3GxeOaCmkjje&tF$J50zq+-s-^eiTUsfSH|fQ<2U^>bP0l+XkKi^wgc diff --git a/graphics/event_objects/pics/people/frontier_brains/lucy.png b/graphics/event_objects/pics/people/frontier_brains/lucy.png index ebb93ad8cb30f507471c7960c746a7a1433dee94..7f935612c87a2d1e7a4505c5f45d8d75590d66c8 100644 GIT binary patch delta 39 tcmbQkwt{tn%EUTr4klwy7sn8f&W*PXnFLNG`Wr9+fv2mV%Q~loCIIs#3+Dg; delta 153 zcmZ3%I)`n7N;rFor>`sfBMwG!7DHoyA2$XD2JsTth?3y^w370~qErTVAC~|>cZIUl zA_ZeTlfu>|4}nTJN(%hkfilKGHiK7#raX{hNq6*hWMJ6X&;2Knb)ur35(8tBx4X;# yrR<-M0;L&Cg8YIR9G=}sV_;x1_H=O!shG1d-H=JZ!bpS@WQ?b)pUXO@geCxamnnY$ diff --git a/graphics/event_objects/pics/people/frontier_brains/noland.png b/graphics/event_objects/pics/people/frontier_brains/noland.png index aa03eb7bd496a57f248ea3d498e59dd6ae14f5cc..b71430bd1668f37e7c4b7685e6104cefdb01ad49 100644 GIT binary patch delta 39 tcmdnQwvTm!%EUTr4kk}e7sn8f&W*R-nFMYMz5mGo1fH&bF6*2Ung9(d4Qc=Y delta 153 zcmdnTx`}OqN;rFor>`sfBMwG!HubM-XHR8dU=S~HjVKAuPb(=;EJ|f?_i+jEb5|%! zEmAPnGbwCc@(`$mqolyk9VlZAWHWd*XvzaAmUKs7M+SzC{oH>NStlymDKRi6dAqy( zU&{XJC{UWQB*-tA!Qt7BGzJDHPfr)ekcv4Q)7_Z_^f$~~12V?b)z4*}Q$iB}k;*ME diff --git a/graphics/event_objects/pics/people/frontier_brains/spenser.png b/graphics/event_objects/pics/people/frontier_brains/spenser.png index f27b643f0846a3e7c7080436d2740e6fdf203164..cd8563d5e93f964b2f955309d50f7f9c5ebc935a 100644 GIT binary patch delta 39 tcmeBXo6b5xWn!H*2a}Sgi(`mK=f>L#Oah;tm}f8mfv2mV%Q~loCII%&3~&Gd delta 153 zcmbQv+RZjWC7iv))7O>#5eK6<hr(Ac<sA$R4B{oO5hcO-X(i=}MX3z#J}v=%?h0k8 zMGD4xCWWm_9s-qcloa^617(bXYzD6eO?e>2lJ4m1$iT3%pZiZD>qJF6B?iVMZ+Dmf zOW8ji1xhoP1o;IsI6S+N#=yX&<muuVQZZ*^x&o6x`4YxYAY(jT{an^LB{Ts5`2Q=r diff --git a/graphics/event_objects/pics/people/frontier_brains/tucker.png b/graphics/event_objects/pics/people/frontier_brains/tucker.png index 71ae23fa609062966a7f5b8309c8dec3f5a599a0..d9daa0838533427945e3d8d49b9ea219914ac683 100644 GIT binary patch delta 39 tcmZo=pU5^rWn!H*2h$u+7sn8f&W*QcF$vV2k2%Bu1fH&bF6*2Ung9vo4Nw38 delta 153 zcmbQp*2+FXC7iv))7O>#5eK6<m*R%%!Zi#G4B{oO5hcO-X(i=}MX3z#J}v=%?h0k8 zMGD4xCWWm_9s-qcloa^617(bXYzD6eO?e>2lJ4m1$iT3%pZiZD>qJF6B?iVMZ+Dmf zOW8ji1xhoP1o;IsI6S+N#=yWd$J50zq+-s-^jS;-o-^Jb0~zD#>gTe~DWM4fDYz|O diff --git a/graphics/event_objects/pics/people/gentleman.png b/graphics/event_objects/pics/people/gentleman.png index 5ae953c5e013bc90ca8296c9c8bef19b44892899..409c593e22985bfb05e6e381ef0b455294272775 100644 GIT binary patch delta 39 tcmcc1_L6mi%EUTr4yF=M7sn8f&W*Q=m;^dAc$P5$fv2mV%Q~loCIAsU4CVj; delta 153 zcmaFKdY5g2N;rFor>`sfBMx?M9T8DS<75T~2JsTth?3y^w370~qErTVAC~|>cZIUl zA_ZeTlfu>|4}nTJN(%hkfilKGHiK7#raX{hNq6*hWMJ6X&;2Knb)ur35(8tBx4X;# yrR<-M0;L&Cg8YIR9G=}sV_;w^@pN$vshG1dy@*MmP4wOskTIUFelF{r5}E+m{46E_ diff --git a/graphics/event_objects/pics/people/girl_1.png b/graphics/event_objects/pics/people/girl_1.png index 6a3a1cf32748e9ce3469b6baaf07a53eaad1cf49..d0666c1c3c5be2e070ffcc0191daf2b48673e9ea 100644 GIT binary patch delta 39 tcmdnVc9eC3%EUTr4yFK47sn8f&W*SIm;@Y7{|aIN0#8>zmvv4FO#lh)4GI7N delta 153 zcmX@gx|3~!N;rFor>`sfBMuf3Q+9rX32Y1u4B{oO5hcO-X(i=}MX3z#J}v=%?h0k8 zMGD4xCWWm_9s-qcloa^617(bXYzD6eO?e>2lJ4m1$iT3%pZiZD>qJF6B?iVMZ+Dmf zOW8ji1xhoP1o;IsI6S+N#=yW7;OXKRQZZ*^x*wB3#HRGsAY(jT{an^LB{Ts5n&2x? diff --git a/graphics/event_objects/pics/people/girl_2.png b/graphics/event_objects/pics/people/girl_2.png index dc04a5f5ed7aa2ad8d8c701012496a83de17db41..fa54bd715d9df18e989171c395a7190600aad334 100644 GIT binary patch delta 39 tcmdnRc8qm`%EUTr4yHg)7sn8f&W*SInFO}J?!3YP1fH&bF6*2UngA384YU9N delta 153 zcmX@cx{GasN;rFor>`sfBMuf3Gp)o!^EWUsFo>79MwA5Sr<If^7Ns({`?v)7xhs^V z7AY9(nH07zc?eX(QBvUN4wNwlvKhP@H06O5OS+@4BLl<6e(pbstP>UOlo%M3yxm>? zFJ=F96e!JD666=m;PC858Uq7Upr?ytNX49u>HbUtg_CxD1R3M$>gTe~DWM4fjFT;= diff --git a/graphics/event_objects/pics/people/girl_3.png b/graphics/event_objects/pics/people/girl_3.png index 73fae17f3490822608ec2a4a0e1327904d29a038..7e329f6284a37fbbd75a52e7c18f2c8223d1c180 100644 GIT binary patch delta 39 tcmZo*?_ryuGO^B@gK4^_i(`mK=f>MpnFQ9R>wRDV0#8>zmvv4FO#lQY4FdoG delta 153 zcmeBSYha(C63$-Y>Fdh=h=WDMLVUUAKYa!U2JsTth?3y^w370~qErTVAC~|>cZIUl zA_ZeTlfu>|4}nTJN(%hkfilKGHiK7#raX{hNq6*hWMJ6X&;2Knb)ur35(8tBx4X;# zrR<-M0;L&Cg8YIR9G=}sV_;yK?&;zfQZZ*^`cx)??3McpLB@Ex`njxgN@xNA3zsa= diff --git a/graphics/event_objects/pics/people/gym_leaders/brawly.png b/graphics/event_objects/pics/people/gym_leaders/brawly.png index 77553369bbdfa6ec585dfa87380ec79d2d62a93f..1fdd98b04ed2653dae0d98fbfc084cdf7c0a83db 100644 GIT binary patch delta 39 tcmdnSa)^0?%EUTr4n|*37sn8di5qWwGYYgk_$$T$1fH&bF6*2Ung9qQ4FCWD delta 153 zcmX@ayp3goN;rFor>`sfBMuf}R`#ow8wwa07{p6lBT9nv(@M${i&7cfeOv<k+!e}F zixiCYObT0<JOnD?C@JuB2g(=&*$iF{n({!3CEd~2k%3`jKlh(R)`^OCN(_ui-tI2{ ym$H943Y2Cn3GxeOaCmkj4aoNOba4!+n6ok6n^9oZ>g%6C#(28=xvX<aXaWE`zb$A0 diff --git a/graphics/event_objects/pics/people/gym_leaders/flannery.png b/graphics/event_objects/pics/people/gym_leaders/flannery.png index 9673941ec8a56f0825f896e8fe195aa632e7e833..3339f2c4bb7bfe0c8d77751891205d32b36c98cd 100644 GIT binary patch delta 39 tcmcc1@{)Oi%EUTr4#pBs7sn8di5qVhF$&1JSlnX(0#8>zmvv4FO#lkL44nV~ delta 153 zcmaFKe3xZ{N;rFor>`sfBMuf}HeJ>ATB!^S4B{oO5hcO-X(i=}MX3z#J}v=%?h0k8 zMGD4xCWWm_9s-qcloa^617(bXYzD6eO?e>2lJ4m1$iT3%pZiZD>qJF6B?iVMZ+Dmf wOW8ji1xhoP1o;IsI6S+N24Z`<IEGZr*_d9$D6nWT=QfZrp00i_>zopr01WpmMgRZ+ diff --git a/graphics/event_objects/pics/people/gym_leaders/juan.png b/graphics/event_objects/pics/people/gym_leaders/juan.png index d3320f0e13eac1ed61ea186e653b79b1bd19173c..aa246861abd718ccd0384ddb08de11ba9ec5cd71 100644 GIT binary patch delta 39 tcmbQiwuE(p%EUTr4kmq17sn8f&W*QqnFQX5IV@%X0#8>zmvv4FO#t*63={wW delta 153 zcmZ3&I)iP3N;rFor>`sfBMuf}UUu0BRuv2k4B{oO5hcO-X(i=}MX3z#J}v=%?h0k8 zMGD4xCWWm_9s-qcloa^617(bXYzD6eO?e>2lJ4m1$iT3%pZiZD>qJF6B?iVMZ+Dmf zOW8ji1xhoP1o;IsI6S+N#=yX&@9E+gQZZ*^x-OHz`;fP6AY(jT{an^LB{Ts5%X=%A diff --git a/graphics/event_objects/pics/people/gym_leaders/liza.png b/graphics/event_objects/pics/people/gym_leaders/liza.png index 9d3f302e7b1c9b94c10664dcfd3792d568bf56ea..6a1eec536709865c4fcc2244106c5da807acc0ad 100644 GIT binary patch delta 39 tcmbQovWj_v%EUTr4n|W?7sn8di5qVlGYS~J476nc0#8>zmvv4FO#twP3(^1p delta 153 zcmZ3*Jdb69N;rFor>`sfBMuf}Zg%fobN?|gFo>79MwA5Sr<If^7Ns({`?v)7xhs^V z7AY9(nH07zc?eX(QBvUN4wNwlvKhP@H06O5OS+@4BLl<6e(pbstP>UOlo%M3yxm>? yFJ=F96e!JD666=m;PC858jx-3>EaktF=u1CF{6OO``=X{V?15`T-G@yGywok>MZ5} diff --git a/graphics/event_objects/pics/people/gym_leaders/norman.png b/graphics/event_objects/pics/people/gym_leaders/norman.png index 91c6189e3ea45ce1f8560eedc05127f4c0906cac..48755d3bdc30e5f8efb2956dccf504b2f31bb851 100644 GIT binary patch delta 39 tcmdnRc8qm`%EUTr4yHg)7sn8f&W*SInFLhcu3%>X0#8>zmvv4FO#lL040iwk delta 153 zcmX@cx{GasN;rFor>`sfBMuf}4mp-TX@40Q7{p6lBT9nv(@M${i&7cfeOv<k+!e}F zixiCYObT0<JOnD?C@JuB2g(=&*$iF{n({!3CEd~2k%3`jKlh(R)`^OCN(_ui-tI2{ zm$H943Y2Cn3GxeOaCmkjje&tF(9^{+q+-s-bbls+2UBJ%fsFBV^>bP0l+XkKUzRN3 diff --git a/graphics/event_objects/pics/people/gym_leaders/roxanne.png b/graphics/event_objects/pics/people/gym_leaders/roxanne.png index 9a3f34cbe957f4a7044dbd6829d706eea75e8e59..c1a1421a0242b6e68e7e980f5ccb8aebdfa967f6 100644 GIT binary patch delta 39 tcmX@Za)Wt-%EUTr4#s3p7sn8di5qVxG71FA@<=fNfv2mV%Q~loCII&y3w8hi delta 153 zcmcb?e1>I$N;rFor>`sfBMuf}7WOkrjfM;i4B{oO5hcO-X(i=}MX3z#J}v=%?h0k8 zMGD4xCWWm_9s-qcloa^617(bXYzD6eO?e>2lJ4m1$iT3%pZiZD>qJF6B?iVMZ+Dmf xOW8ji1xhoP1o;IsI6S+N24p9Dx;TbZ%-NWp$SClDSMnXm7*AI}mvv4FO#uJ4EC&Dp diff --git a/graphics/event_objects/pics/people/gym_leaders/tate.png b/graphics/event_objects/pics/people/gym_leaders/tate.png index 5e8a7703988e087b2eb36afce41bba600f6d0ae9..f73ee136b8db86b878b6ab0806607fe99f26a3eb 100644 GIT binary patch delta 39 ucmbQkvVwVn%EUTr4n|{77sn8di5qVlG79Y3Rz05q2s~Z=T-G@yGywqocnqxo delta 153 zcmZ3%Jcnh1N;rFor>`sfBMuf}E`f_hniUKT4B{oO5hcO-X(i=}MX3z#J}v=%?h0k8 zMGD4xCWWm_9s-qcloa^617(bXYzD6eO?e>2lJ4m1$iT3%pZiZD>qJF6B?iVMZ+Dmf xOW8ji1xhoP1o;IsI6S+N24ow1x;TbZ%-NW3$SCl|gKY`O7*AI}mvv4FO#tZOD~tdD diff --git a/graphics/event_objects/pics/people/gym_leaders/wattson.png b/graphics/event_objects/pics/people/gym_leaders/wattson.png index ac4368679b092d40240e4eceb1dcda4409b14997..73ab5e8fcad617781a24f92c82f6d681fbb44c23 100644 GIT binary patch delta 39 ucmcc4@|byo%EUTr4#qrB7sn8di5qX{FbYgqap)}r5O})!xvX<aXaWEoCJpoe delta 153 zcmaFNe4S;2N;rFor>`sfBMuf}R*U5LxxNex4B{oO5hcO-X(i=}MX3z#J}v=%?h0k8 zMGD4xCWWm_9s-qcloa^617(bXYzD6eO?e>2lJ4m1$iT3%pZiZD>qJF6B?iVMZ+Dmf xOW8ji1xhoP1o;IsI6S+N24v@Xx;TbZ%-NWp!zd7-#?JyW#?#f$Wt~$(695{)D+T}n diff --git a/graphics/event_objects/pics/people/gym_leaders/winona.png b/graphics/event_objects/pics/people/gym_leaders/winona.png index bffaeba3d436be264318f8541636f161bf8ad739..9a1ce83eb9e01f0024bcb07e14cfc2b7015bb2b4 100644 GIT binary patch delta 39 ucmX@ea+Z05%EUTr4#o&i7sn8di5qW+F$zqRz44m?2s~Z=T-G@yGywn%xeYr2 delta 153 zcmX@he2`^=N;rFor>`sfBMuf}PQl&?FI@%(2JsTth?3y^w370~qErTVAC~|>cZIUl zA_ZeTlfu>|4}nTJN(%hkfilKGHiK7#raX{hNq6*hWMJ6X&;2Knb)ur35(8tBx4X;# xrR<-M0;L&Cg8YIR9G=}s1F|DLT^vIy=4?z4V-$F~wX70kjHj!g%Q~loCIH^ZEI$AM diff --git a/graphics/event_objects/pics/people/hex_maniac.png b/graphics/event_objects/pics/people/hex_maniac.png index caee0bd22488b4dce774ab098bc3557cc8fc9ac9..b0e3b22a060634e561a902b95b898fdf39289c36 100644 GIT binary patch delta 39 tcmbQnwup6t%EUTr4kles7sn8f&W*RVnFJJf?c2rx1fH&bF6*2UngI9e40Zqj delta 153 zcmZ3)I*o0DN;rFor>`sfBMx?MT@!N?rB@6L4B{oO5hcO-X(i=}MX3z#J}v=%?h0k8 zMGD4xCWWm_9s-qcloa^617(bXYzD6eO?e>2lJ4m1$iT3%pZiZD>qJF6B?iVMZ+Dmf zOW8ji1xhoP1o;IsI6S+N#=yX&>*?YcQZZ*^x;B%*u4TCkfbtBUu6{1-oD!M<(^M<g diff --git a/graphics/event_objects/pics/people/hiker.png b/graphics/event_objects/pics/people/hiker.png index f52467492fddcdb4247034e0390a7253acb66740..8c7b026a1c95a2f3935095245c9398e51183f012 100644 GIT binary patch delta 39 tcmdnWc93;~%EUTr4kjN@7sn8f&W*Rdm;`!PzyHbr1fH&bF6*2Ung9}>4Zi>Y delta 153 zcmX@ex|MB$N;rFor>`sfBMx?Mec=ThUzr&g7{p6lBT9nv(@M${i&7cfeOv<k+!e}F zixiCYObT0<JOnD?C@JuB2g(=&*$iF{n({!3CEd~2k%3`jKlh(R)`^OCN(_ui-tI2{ zm$H943Y2Cn3GxeOaCmkjje&v5$J50zq+-s-bT1}>mkOQQAY(jT{an^LB{Ts5`rIq5 diff --git a/graphics/event_objects/pics/people/hot_springs_old_woman.png b/graphics/event_objects/pics/people/hot_springs_old_woman.png index 82fbc489b887455f80874dbd9390c9ee489a9722..874ba8a4516a8c3152b9644678bf15ff37f9832b 100644 GIT binary patch delta 39 tcmey%+{rvaWn!H*2cw9mi(`mK=f>MYi~_l<Voe!<z|+;wWt~$(69D#e3*`U+ delta 153 zcmeBV{>wZ;C7iv))7O>#5eGZBA#>)xTRRvS7{p6lBT9nv(@M${i&7cfeOv<k+!e}F zixiCYObT0<JOnD?C@JuB2g(=&*$iF{n({!3CEd~2k%3`jKlh(R)`^OCN(_ui-tI2{ xm$H943Y2Cn3GxeOaCmkj4agSpba4!+n6oimh*2OaSu+P@jHj!g%Q~loCIFe^EF}N{ diff --git a/graphics/event_objects/pics/people/lass.png b/graphics/event_objects/pics/people/lass.png index a47f9ee3dd71456778df3571febdc28ff7e19479..9e27f70ddffbb4741c4cec6b5fe494260d40fe98 100644 GIT binary patch delta 39 tcmX@Wc7}C=%EUTr4yJHV7sn8f&W*Q2nFM^_-#f$r1fH&bF6*2UngA4D4XXeE delta 153 zcmX@ZdVp<$N;rFor>`sfBMx?MBk92Xg1QV04B{oO5hcO-X(i=}MX3z#J}v=%?h0k8 zMGD4xCWWm_9s-qcloa^617(bXYzD6eO?e>2lJ4m1$iT3%pZiZD>qJF6B?iVMZ+Dmf zOW8ji1xhoP1o;IsI6S+N#=yW7?&;zfQZZ*^dMJ}X&AiCjAY(jT{an^LB{Ts5=?W|2 diff --git a/graphics/event_objects/pics/people/leaf.png b/graphics/event_objects/pics/people/leaf.png index fb110cd0d6002651ca79297c383b04b14107d0b6..d96dd26638c90cf6793a7df147dc046ef66d62d5 100644 GIT binary patch delta 39 tcmey%*2y+OWn!H*2h$W!7sn8f&W*PxF$rw?+|R=R1fH&bF6*2UngAG04TJyy delta 153 zcmeBV`^z>#C7iv))7O>#5eGZBvB49Gn>q{(4B{oO5hcO-X(i=}MX3z#J}v=%?h0k8 zMGD4xCWWm_9s-qcloa^617(bXYzD6eO?e>2lJ4m1$iT3%pZiZD>qJF6B?iVMZ+Dmf zOW8ji1xhoP1o;IsI6S+N#=yWd#nZ(xq+-s-^hrztQoko~gN*TX^>bP0l+XkKR6s1k diff --git a/graphics/event_objects/pics/people/little_boy_1.png b/graphics/event_objects/pics/people/little_boy_1.png index dc6dd8a5def4214c1530bc746927bf52fd7540ef..ce4f3e92cdcca0dfdc0209b15548763612fe9ed0 100644 GIT binary patch delta 39 tcmdnQvX6O!%EUTr4n|K;7sn8b-i^2283i1}n{F`xfv2mV%Q~loCIJ3I40!+m delta 153 zcmdnTyoqIkN;rFor>`sfBMx?MQ)#(>?XMUZ7{p6lBT9nv(@M${i&7cfeOv<k+!e}F zixiCYObT0<JOnD?C@JuB2g(=&*$iF{n({!3CEd~2k%3`jKlh(R)`^OCN(_ui-tI2{ xm$H943Y2Cn3GxeOaCmkj4aoNNba4!+n6ok6ol)Qp_qjTdF`lk|F6*2UngDv-Eeiku diff --git a/graphics/event_objects/pics/people/little_boy_2.png b/graphics/event_objects/pics/people/little_boy_2.png index 0982c0e1e7d4f773cc9d7dc07725da81883f32b6..1b62a36d0734c859ddd0b1446142e7f70d070c2e 100644 GIT binary patch delta 39 tcmZ3-vWt0w%EUTr4n|i`7sn8b-i^1N83nG#?_bRT1fH&bF6*2Ung9nd4HW<Y delta 153 zcmdnRypCmpN;rFor>`sfBMx?MGsAZovi}(v7{p6lBT9nv(@M${i&7cfeOv<k+!e}F zixiCYObT0<JOnD?C@JuB2g(=&*$iF{n({!3CEd~2k%3`jKlh(R)`^OCN(_ui-tI2{ xm$H943Y2Cn3GxeOaCmkj4aj!&ba4!+n6ok6nNdKMN1+~MjHj!g%Q~loCIDZvE0h2L diff --git a/graphics/event_objects/pics/people/little_girl_1.png b/graphics/event_objects/pics/people/little_girl_1.png index 6cd04a4e9be2246a479a362333d1ec9187926b42..5ce59ea1b8198c854ef39ab67fecc3e3f72db62b 100644 GIT binary patch delta 39 tcmaFD@_~7R%EUTr4#sLv7sn8f&W*P#83lYR-)b=cfv2mV%Q~loCIA-~4K@G( delta 153 zcmeys{DftKN;rFor>`sfBMx?M3!zIrj?4@U4B{oO5hcO-X(i=}MX3z#J}v=%?h0k8 zMGD4xCWWm_9s-qcloa^617(bXYzD6eO?e>2lJ4m1$iT3%pZiZD>qJF6B?iVMZ+Dmf xOW8ji1xhoP1o;IsI6S+N24q)zx;TbZ%-NV;$tcht&vFH1jHj!g%Q~loCICKSEOh_? diff --git a/graphics/event_objects/pics/people/little_girl_2.png b/graphics/event_objects/pics/people/little_girl_2.png index ee82a5659e5e283daad47acd3d574696b853ad14..2540d84af93cae7b50d38a10239379a25173a1b5 100644 GIT binary patch delta 39 scmcb_a*ug}%EUTr4#rGR7sn8b-i^1@83j@UGZ{d@)78&qol`;+00SosBme*a delta 153 zcmcb|e2Ha(N;rFor>`sfBMx?MOT8yQc#bkKFo>79MwA5Sr<If^7Ns({`?v)7xhs^V z7AY9(nH07zc?eX(QBvUN4wNwlvKhP@H06O5OS+@4BLl<6e(pbstP>UOlo%M3yxm>? xFJ=D(GL^9;$S;_|;n|HeAUo63#WAE}&c^g~MuF>hFKK{`@pScbS?83{1OUwBE<FGM diff --git a/graphics/event_objects/pics/people/man_1.png b/graphics/event_objects/pics/people/man_1.png index b83cd0367cf61bbae493763c132400c33f8996b6..069cb3ed737db3b1e18211e6c649d519d42015d7 100644 GIT binary patch delta 39 tcmX@jcAa&C%EUTr4yGhe7sn8f&W*Pdm;_YQZE_iaz|+;wWt~$(6957N3@`uy delta 153 zcmcc4dYWy5N;rFor>`sfBMuf}75yAx-b@At2JsTth?3y^w370~qErTVAC~|>cZIUl zA_ZeTlfu>|4}nTJN(%hkfilKGHiK7#raX{hNq6*hWMJ6X&;2Knb)ur35(8tBx4X;# yrR<-M0;L&Cg8YIR9G=}sV_;xP@^o<wshG1dJ%LG}=ac6_kTIUFelF{r5}E+kNh~@5 diff --git a/graphics/event_objects/pics/people/man_2.png b/graphics/event_objects/pics/people/man_2.png index 0cf7164ec2d6e81e0b733aa0cf71f11cc3a804fb..6c29797ec507390ae07cd9e15efd3a676da6a3f6 100644 GIT binary patch delta 39 tcmX@Wc7}C=%EUTr4yJHV7sn8f&W*Q2nFRdxvT_)Jz|+;wWt~$(69E2d3?cvk delta 153 zcmX@ZdVp<$N;rFor>`sfBMuf}HTjA^@$L)^4B{oO5hcO-X(i=}MX3z#J}v=%?h0k8 zMGD4xCWWm_9s-qcloa^617(bXYzD6eO?e>2lJ4m1$iT3%pZiZD>qJF6B?iVMZ+Dmf yOW8ji1xhoP1o;IsI6S+N#=yW7?&;zfQZZ*^dMJ}XUHn^9kTIUFelF{r5}E)|c`Td& diff --git a/graphics/event_objects/pics/people/man_3.png b/graphics/event_objects/pics/people/man_3.png index efa81c2c4bc7febc4f8082eb77cbcd8d0889e961..a41a1ee9b5b1f583ab8d682d86e403a5fc92f277 100644 GIT binary patch delta 39 tcmZo+pTIUjWn!H*2h(g%7sn8f&W*QcG6^(n=`v#g0#8>zmvv4FO#lO14AlSt delta 153 zcmbQh*1|qPC7iv))7O>#5eJK~hVc87c8?es7{p6lBT9nv(@M${i&7cfeOv<k+!e}F zixiCYObT0<JOnD?C@JuB2g(=&*$iF{n({!3CEd~2k%3`jKlh(R)`^OCN(_ui-tI2{ zm$H943Y2Cn3GxeOaCmkjje&t_wx^3@NX49u=`)!G_-*R$f{gKW^>bP0l+XkKZ7?kf diff --git a/graphics/event_objects/pics/people/man_4.png b/graphics/event_objects/pics/people/man_4.png index 4419e4c95799586846daaad8c96c2f40f6617504..05a87d4ddbec40b096f3bff8d9bf61cff0c1749b 100644 GIT binary patch delta 39 tcmcb`_KbCc%EUTr4yHm+7sn8f&W*S8nFOq+uw*j;fv2mV%Q~loCIAWm40Heh delta 153 zcmaFHdW&s>N;rFor>`sfBMuf}O_SgoyG}4LFo>79MwA5Sr<If^7Ns({`?v)7xhs^V z7AY9(nH07zc?eX(QBvUN4wNwlvKhP@H06O5OS+@4BLl<6e(pbstP>UOlo%M3yxm>? zFJ=F96e!JD666=m;PC858Uq7Up{I*uNX49u>G@0o)}I)zf{gKW^>bP0l+XkK%RVi# diff --git a/graphics/event_objects/pics/people/man_5.png b/graphics/event_objects/pics/people/man_5.png index 3ab97efd31c5be2b63ef84c738e947d9cbd79622..234d679242f6e7989009314287b97dd50a120a62 100644 GIT binary patch delta 39 tcmdnOc7Sz)%EUTr4km9;7sn8f&W*P{nFJp58E<0%0#8>zmvv4FO#lGZ40!+m delta 153 zcmX@Wx`l0mN;rFor>`sfBMuf}ZS|)CGp8^xFo>79MwA5Sr<If^7Ns({`?v)7xhs^V z7AY9(nH07zc?eX(QBvUN4wNwlvKhP@H06O5OS+@4BLl<6e(pbstP>UOlo%M3yxm>? zFJ=F96e!JD666=m;PC858Uq89x2KC^NX49u>7Gmi%m;MWgN*TX^>bP0l+XkKWtS{r diff --git a/graphics/event_objects/pics/people/man_6.png b/graphics/event_objects/pics/people/man_6.png index 7832e9f2a91ec02d88fcc930e0d217ee76941f4c..f86aff0e4cd118d487bd93a9a3b63c4feedf1174 100644 GIT binary patch delta 39 ucmcb~_LOyk%EUTr4yFQ67sn8f&W*S8m;_$FTC;`$2s~Z=T-G@yGywo5{0?3K delta 153 zcmaFLdXsH}N;rFor>`sfBMuf}T><Xxvt=0=7{p6lBT9nv(@M${i&7cfeOv<k+!e}F zixiCYObT0<JOnD?C@JuB2g(=&*$iF{n({!3CEd~2k%3`jKlh(R)`^OCN(_ui-tI2{ zm$H943Y2Cn3GxeOaCmkjje&uwz|+Msq+-s-^gJekkoh8SLB@Ex`njxgN@xNA8MG`- diff --git a/graphics/event_objects/pics/people/man_7.png b/graphics/event_objects/pics/people/man_7.png index 5a43e62e07846cc6f0ef02dd53c0844490abbb25..106bc58b3715c4703283ecc9e7ccacdab16d8f97 100644 GIT binary patch delta 39 tcmX@Wc7}C=%EUTr4yJHV7sn8f&W*Q2nFRdxvT_)Jz|+;wWt~$(69E2d3?cvk delta 153 zcmX@ZdVp<$N;rFor>`sfBMuf}J+n{KeU%v)7{p6lBT9nv(@M${i&7cfeOv<k+!e}F zixiCYObT0<JOnD?C@JuB2g(=&*$iF{n({!3CEd~2k%3`jKlh(R)`^OCN(_ui-tI2{ zm$H943Y2Cn3GxeOaCmkjje&tF+|$J|q+-s-^iU>&y7;%IAY(jT{an^LB{Ts5P>C#> diff --git a/graphics/event_objects/pics/people/maniac.png b/graphics/event_objects/pics/people/maniac.png index 9b3846279353cd748f237afdb45e3025795e5c4f..29829c309e9f80f793367e6e4934b8aca83e179d 100644 GIT binary patch delta 39 tcmeBSo54CkWn!H*2a~d=i(`mK=f>NLOajc(ADtP1z|+;wWt~$(69DAi3sC?7 delta 153 zcmbQi+QT+MC7iv))7O>#5eGZBwTQr>?Oz!f7{p6lBT9nv(@M${i&7cfeOv<k+!e}F zixiCYObT0<JOnD?C@JuB2g(=&*$iF{n({!3CEd~2k%3`jKlh(R)`^OCN(_ui-tI2{ zm$H943Y2Cn3GxeOaCmkjje&tl+0(@_q+-s-bVVisVVBeTAY(jT{an^LB{Ts5Ge;|j diff --git a/graphics/event_objects/pics/people/mart_employee.png b/graphics/event_objects/pics/people/mart_employee.png index 7688c86eef7e1d95d452957828a25d4656e26e91..43bdfef79665a5afb995f9e13ca7b45a477259bb 100644 GIT binary patch delta 39 tcmey(*3LFTWn!H*2h$`^7sn8f&W*PxFbVk1ywkw|1fH&bF6*2UngA9<4Tb;! delta 153 zcmZo?`^`2%C7iv))7O>#5eGXDqwqS1SF0Ep7{p6lBT9nv(@M${i&7cfeOv<k+!e}F zixiCYObT0<JOnD?C@JuB2g(=&*$iF{n({!3CEd~2k%3`jKlh(R)`^OCN(_ui-tI2{ zm$H943Y2Cn3GxeOaCmkjje&t_lBbJfNX49u=@Xa)Z1+rv0~zD#>gTe~DWM4fY^W_H diff --git a/graphics/event_objects/pics/people/mauville_old_man_1.png b/graphics/event_objects/pics/people/mauville_old_man_1.png index 2c06a8f7345364a01e9d66b67eb4192dd35e2bf3..200f733b6cae917552925d3ba84afd127f0994d7 100644 GIT binary patch delta 95 zcmV-l0HFWG2G9kNBttMzOjJd4#iak$wExAF-js8DK|#&U-khAhN=kcky#PUb01!C< z&0<QFIVn;Q0RR900000nhyrr}00LV{L_t(YiLu*R0uVGYAR7Px002ovPDHLkV1mWr BBp?6) delta 192 zcmcb>dW3C)N;rFor>`sfBMx>RCLLq$DIp9D4B{oO5hcO-X(i=}MX3z#J}v=%?h0k8 zMGD4xCWWm_9s-qcloa^617(bXYzD6eO?e>2lJ4m1$iT3%pZiZD>qJFy&;LudT+OQP zb_|+w^jlQ-UID|PElZNBiybX3CI0{a57Z%>JMTD<VodUOclp1R{nJqprzFTPn8D%M ljWh-Zrf5$W$B>FS8`C411Q@rd?gq*;c)I$ztaD0e0suRWJw*Tj diff --git a/graphics/event_objects/pics/people/mauville_old_man_2.png b/graphics/event_objects/pics/people/mauville_old_man_2.png index c70175be3d1d83793f67ec269a8339cc7db83549..6da0c24c4ca3d54bd236ebd285e21c9cbab692af 100644 GIT binary patch delta 95 zcmV-l0HFWJ2Ga$QBttMzOjJd4#iak$wExAF-js8DK|yMZtT{?z2oNCEbEKp}b5bBd z)z#IDi<Ch@Qvd(|0000k8aI{z00Le~L_t(YiLu*U0uVZyhq?d&002ovPDHLkV1n-p BCb$3q delta 192 zcmcc2dYo;7N;rFor>`sfBMx>R7Ow3v+w>V27{p6lBT9nv(@M${i&7cfeOv<k+!e}F zixiCYObT0<JOnD?C@JuB2g(=&*$iF{n({!3CEd~2k%3`jKlh(R)`^PZp8uC@xtdko z?HDxW=(niuy#j_oTb3kM7du*7O8o!-AE-k%ciwRz#hB#n?(%;r`=_HIPDzkoFoVOh l8)*y-OmUtrjv*CuHm1ig2{5}yvI6B9JYD@<);T3K0RXG<Jr)1} diff --git a/graphics/event_objects/pics/people/may/acro_bike.png b/graphics/event_objects/pics/people/may/acro_bike.png index 37e88110699648d02f5d6583726febeb4c77344a..81a35b75a6dae75b841647ba50bfba8fad8a8c76 100644 GIT binary patch delta 39 tcmX>qa#47K%EUTr4$c@)7srr{#*Me5I0aM+?D!afz|+;wWt~$(6958b3<UrH delta 153 zcmca8d{ktDN;rFor>`sfBX(H<Hp!JT?|m5<7{p6lBT9nv(@M${i&7cfeOv<k+!e}F zixiCYObT0<JOnD?C@JuB2g(=&*$iF{n({!3CEd~2k%3`jKlh(R)`^OCN(_ui-tI2{ zm$H943Y2Cn3GxeOaCmkjje&tP#?!?yq+-s-^e9dN*^ZlEK*o5w`njxgN@xNASJf>e diff --git a/graphics/event_objects/pics/people/may/decorating.png b/graphics/event_objects/pics/people/may/decorating.png index 7f83dfde934a305e3c59e2c2855fac87e08ec8c6..8e8e346550dc6061a27b2c1583f5140b97601542 100644 GIT binary patch delta 9 QcmbQv)WtL*VPfto01&|gz5oCK delta 20 bcmeBTn$9#Kfs3&u$S;_|;n|I}iLq+|L-q%U diff --git a/graphics/event_objects/pics/people/may/field_move.png b/graphics/event_objects/pics/people/may/field_move.png index 41aa13627fccd17086f85d6724cf989517bfb3ee..7882009d57dd6908c4a7df494a6566b394a18a6b 100644 GIT binary patch delta 39 tcmdnQwvTm!%EUTr4kk}e7sn8f&W*R-nFP%9W2_l~z|+;wWt~$(69D$U3)BDr delta 153 zcmdnTx`}OqN;rFor>`sfBX(JSeSW?#in|yX7{p6lBT9nv(@M${i&7cfeOv<k+!e}F zixiCYObT0<JOnD?C@JuB2g(=&*$iF{n({!3CEd~2k%3`jKlh(R)`^OCN(_ui-tI2{ zm$H943Y2Cn3GxeOaCmkjje&v5)6>N<q+-s-bay6!gJ*T~K*o5w`njxgN@xNACax@A diff --git a/graphics/event_objects/pics/people/may/fishing.png b/graphics/event_objects/pics/people/may/fishing.png index e8d3533f35ca16d378c603a1fa89f3c267ebb01c..69c57f12d664f7dc1bfdfa451d3b9f9a807e67af 100644 GIT binary patch delta 39 tcmaFC^M!kY%EUTr4%T{47srr@){VDoSq1d=d=g;*0#8>zmvv4FO#mKD4SfIr delta 153 zcmeyu{eowLN;rFor>`sfBX(JSBcqic7`HPpFo>79MwA5Sr<If^7Ns({`?v)7xhs^V z7AY9(nH07zc?eX(QBvUN4wNwlvKhP@H06O5OS+@4BLl<6e(pbstP>UOlo%M3yxm>? zFJ=F96e!JD666=m;PC858Uq7sy{C&~NX49u>9wo^<#s1*LB@Ex`njxgN@xNA!e=dW diff --git a/graphics/event_objects/pics/people/may/mach_bike.png b/graphics/event_objects/pics/people/may/mach_bike.png index 4e199b84a8bd86e69bc184470c2e95a5b99d04ea..14eaf36ea78b95c378bbcddfb9aa55eb0021cc63 100644 GIT binary patch delta 39 ucmX@cd5L3!%EUTr4(7X_E{-7)ts8IOW)?W`V&QHEAn<hcb6Mw<&;$T8`wssA delta 153 zcmcb_ag1|<N;rFor>`sfBX(JSQ|tM;`d1hj7{p6lBT9nv(@M${i&7cfeOv<k+!e}F zixiCYObT0<JOnD?C@JuB2g(=&*$iF{n({!3CEd~2k%3`jKlh(R)`^OCN(_ui-tI2{ zm$H943Y2Cn3GxeOaCmkjje&vruBVG*NX49u>9?5$e!tSV1v19d)z4*}Q$iB}oQW>j diff --git a/graphics/event_objects/pics/people/may/running.png b/graphics/event_objects/pics/people/may/running.png index 40808c9650ee10defeabd9298f97da7fd72f172b..54fa079a0cc0cfd13904dc8ae8bcc18be564974a 100644 GIT binary patch delta 39 ucmX@Yet~U*%EUTr4yN0lE{-7{of~i8WD?kWn9Y^}2s~Z=T-G@yGywn~?+v5? delta 153 zcmcb>c7%O`N;rFor>`sfBX(JCP1BjHzXvfeFo>79MwA5Sr<If^7Ns({`?v)7xhs^V z7AY9(nH07zc?eX(QBvUN4wNwlvKhP@H06O5OS+@4BLl<6e(pbstP>UOlo%M3yxm>? zFJ=F96e!JD666=m;PC858Uq8<ZBG}+kcv4Q({C~fq;8P#0vY4!>gTe~DWM4fxJWI+ diff --git a/graphics/event_objects/pics/people/may/surfing.png b/graphics/event_objects/pics/people/may/surfing.png index 5b783f4991d92f949a99cd4365c99b90fe657393..758063ab89ce6f429c766f8bbea5e585817a5a30 100644 GIT binary patch delta 39 tcmaFG_KkId%EUTr4yHy=7sn8f&W*S0nFK;6Z(76v1fH&bF6*2UngAb=4YB|L delta 153 zcmeyy`igCWN;rFor>`sfBX(H<0qN*2>un4S4B{oO5hcO-X(i=}MX3z#J}v=%?h0k8 zMGD4xCWWm_9s-qcloa^617(bXYzD6eO?e>2lJ4m1$iT3%pZiZD>qJF6B?iVMZ+Dmf zOW8ji1xhoP1o;IsI6S+N#=yYT=;`7ZQZZ*^dOefCFUBe9AY(jT{an^LB{Ts5V^%Ek diff --git a/graphics/event_objects/pics/people/may/underwater.png b/graphics/event_objects/pics/people/may/underwater.png index 8a2d654656a5a7c637bd68aa48eddbd80d8a56f1..8c260d93272e25f7b6fbf868b1822fcf313845fc 100644 GIT binary patch delta 39 ucmdnMx`$<g%EUTr4#wl2E{-7{of~f-WfVBpa_R^J5O})!xvX<aXaWEv0uEyU delta 153 zcmdnPvVnDiN;rFor>`sfBX(JSD}gPZr=l4c7{p6lBT9nv(@M${i&7cfeOv<k+!e}F zixiCYObT0<JOnD?C@JuB2g(=&*$iF{n({!3CEd~2k%3`jKlh(R)`^OCN(_ui-tI2{ ym$H943Y2Cn3GxeOaCmkj4ah$3>EaktF=u1?QAUC8Nf9eR#(28=xvX<aXaWFZeJz&& diff --git a/graphics/event_objects/pics/people/may/walking.png b/graphics/event_objects/pics/people/may/walking.png index b50bf122955e8930a99fbf6e1422c21063b0b1b5..4b71d1a55e432404f012eb4fdae93e763e88e737 100644 GIT binary patch delta 39 tcmey)*333RWn!H*2UDM?i(`mK=f>MTOaj_Fz2-9jfv2mV%Q~loCIAga4EX>6 delta 153 zcmZo>`_48&C7iv))7O>#5xXq6n%<N!r9uV<2JsTth?3y^w370~qErTVAC~|>cZIUl zA_ZeTlfu>|4}nTJN(%hkfilKGHiK7#raX{hNq6*hWMJ6X&;2Knb)ur35(8tBx4X;# zrR<-M0;L&Cg8YIR9G=}sV_;zF^K@|xshG1dy@yHQ)pW=EAY(jT{an^LB{Ts57(gu@ diff --git a/graphics/event_objects/pics/people/may/watering.png b/graphics/event_objects/pics/people/may/watering.png index 28c5b41beb9f086864a110835136edbaf90fe56e..368b6a4627408ac88a7d9cac0d6010931f4610db 100644 GIT binary patch delta 39 tcmZo?o6I^vWn!H*2a}wqi(`mK=f>MIOacMEYI7KXz|+;wWt~$(69D6&3rYY0 delta 153 zcmbQt+RipXC7iv))7O>#5xcB_2v=y>JqHE`2JsTth?3y^w370~qErTVAC~|>cZIUl zA_ZeTlfu>|4}nTJN(%hkfilKGHiK7#raX{hNq6*hWMJ6X&;2Knb)ur35(8tBx4X;# yrR<-M0;L&Cg8YIR9G=}sV_;yC^K@|xshG1dU4}^@bEWk)kTIUFelF{r5}E+d!Yg?I diff --git a/graphics/event_objects/pics/people/mom.png b/graphics/event_objects/pics/people/mom.png index 8b78515ff6d7e20fc8fd892276e23fb6c9c77dd6..252eccf48fee8e75a1db9255c38ff161fce5e94c 100644 GIT binary patch delta 39 tcmZ3^wwZN;%EUTr4kkNK7sn8f&W*Qim;`wB)S?)Gz|+;wWt~$(69DO@3nl;n delta 153 zcmdnYx}0r-N;rFor>`sfBMx>RR*h=)V_ggk4B{oO5hcO-X(i=}MX3z#J}v=%?h0k8 zMGD4xCWWm_9s-qcloa^617(bXYzD6eO?e>2lJ4m1$iT3%pZiZD>qJF6B?iVMZ+Dmf yOW8ji1xhoP1o;IsI6S+N#=yX2=jq}YQZZ*^x($=SYESo8kTIUFelF{r5}E)87%Q~^ diff --git a/graphics/event_objects/pics/people/mystery_event_deliveryman.png b/graphics/event_objects/pics/people/mystery_event_deliveryman.png index 2181de2f121f2ffd4b7d5a5941069655c0b5bd40..8c1cbbc6e72196e56e9dd04401df0d566ce3c3f2 100644 GIT binary patch delta 39 tcmbQlGLLzJ%EUTr4n|E+7sn8di5qXLGYYWY|I@<&1fH&bF6*2UngH~;3}pZS delta 153 zcmbQoJc(t3N;rFor>`sfBMx>RHi@#!OP?|@Fo>79MwA5Sr<If^7Ns({`?v)7xhs^V z7AY9(nH07zc?eX(QBvUN4wNwlvKhP@H06O5OS+@4BLl<6e(pbstP>UOlo%M3yxm>? yFJ=F96e!JD666=m;PC858j!8&>EaktF=u1CI-|hB6?08M#(28=xvX<aXaWFQtt_Vi diff --git a/graphics/event_objects/pics/people/nurse.png b/graphics/event_objects/pics/people/nurse.png index d202f3c16b14cb7e71d3dc05a71e73577eb45507..6e094f9f1840d1cdd17806dae3bc5b8e739aac87 100644 GIT binary patch delta 39 ucmX@kdYNT{%EUTr4#s<)E{-7<y&G@eVH9|~rg<d;5O})!xvX<aXaWE&eh#1j delta 153 zcmcc2a-4O7N;rFor>`sfBMx>RcJcq^ou&*74B{oO5hcO-X(i=}MX3z#J}v=%?h0k8 zMGD4xCWWm_9s-qcloa^617(bXYzD6eO?e>2lJ4m1$iT3%pZiZD>qJF6B?iVMZ+Dmf yOW8ji1xhoP1o;IsI6S+N24vs!ba4!+n6okc4x_-!)n`|MjPZ2!b6Mw<&;$T>ye_W* diff --git a/graphics/event_objects/pics/people/old_man_1.png b/graphics/event_objects/pics/people/old_man_1.png index 2249869904b1802d36074d4a026c2493182341a3..6bd5afc448adea6a3f5eada90e4b114928156da1 100644 GIT binary patch delta 39 tcmZo=o5(srWn!H*2a}Aai(`mK=f>MoOaiOiXWn7}0#8>zmvv4FO#ty=3`YO} delta 153 zcmbQp+R8RTC7iv))7O>#5eGXDhkn3Y-4q4}2JsTth?3y^w370~qErTVAC~|>cZIUl zA_ZeTlfu>|4}nTJN(%hkfilKGHiK7#raX{hNq6*hWMJ6X&;2Knb)ur35(8tBx4X;# zrR<-M0;L&Cg8YIR9G=}sV_;yC@pN$vshG1dU5ZIy&!gHaAY(jT{an^LB{Ts5+qf)3 diff --git a/graphics/event_objects/pics/people/old_man_2.png b/graphics/event_objects/pics/people/old_man_2.png index 82bb66f8a97fbc3cd44914b0651b6c8e402a9b64..fe2a77c6e336320869f2d28881d854a479d9b78b 100644 GIT binary patch delta 39 tcmX@fa+P_4%EUTr4#ose7sn8di5qXnF$%=A%+hB70#8>zmvv4FO#lTt41NFr delta 153 zcmcc0e3E5?N;rFor>`sfBMx>RPML3NwZ;q#4B{oO5hcO-X(i=}MX3z#J}v=%?h0k8 zMGD4xCWWm_9s-qcloa^617$$U8N3=a<$)ASx}&cn1H;CC?mvmF6BX^07#Neh-Ch1K xW&d;(D9u<B<QL4~@a#q!ke%S^;uumfXJdLCqrjEJA!;CFJYD@<);T3K0RSOHELs2n diff --git a/graphics/event_objects/pics/people/old_woman_1.png b/graphics/event_objects/pics/people/old_woman_1.png index d928b8ae6c4c9ae83653dd6f95a5428889ac63fe..a0d852cd44e78973d6e8c37518dc299300c0b872 100644 GIT binary patch delta 39 ucmX@ddW&U(%EUTr4#uaRE{-7{of~gIW)$GO!S|N|2s~Z=T-G@yGywo4B@OQY delta 153 zcmcb`a*lO^N;rFor>`sfBMx>RE+fXf%JvKl4B{oO5hcO-X(i=}MX3z#J}v=%?h0k8 zMGD4xCWWm_9s-qcloa^617(bXYzD6eO?e>2lJ4m1$iT3%pZiZD>qJF6B?iVMZ+Dmf yOW8ji1xhoP1o;IsI6S+N24p|=ba4!+n6okcF{8lKc}?XYV?15`T-G@yGywn!1}$a) diff --git a/graphics/event_objects/pics/people/old_woman_2.png b/graphics/event_objects/pics/people/old_woman_2.png index 0a6f5ebd3fb6f559fb56338923f65b9fd657e519..84a5ba8010813015ca10e55f31df80a79a091273 100644 GIT binary patch delta 39 tcmeyw`j2IT%EUTr4kk`d7sn8f&W*R(nFMYvDqFz-1fH&bF6*2Ung9{y4KDxy delta 153 zcmeyz@`-hVN;rFor>`sfBMx>R9%1QsQ=T(0Fo>79MwA5Sr<If^7Ns({`?v)7xhs^V z7AY9(nH07zc?eX(QBvUN4wNwlvKhP@H06O5OS+@4BLl<6e(pbstP>UOlo%M3yxm>? zFJ=F96e!JD666=m;PC858Uq6pr>Bc!NX49u>Fi7b;eUTE0vY4!>gTe~DWM4fsAVma diff --git a/graphics/event_objects/pics/people/picnicker.png b/graphics/event_objects/pics/people/picnicker.png index 207c4220066cb0419f6c7c826c2ed5b2f14b7eda..a15eeb644885e820f655ccdfc21a34313d4300df 100644 GIT binary patch delta 39 tcmaFG_KkId%EUTr4yHy=7sn8f&W*S0nFRP6*^?Q7z|+;wWt~$(695gB3~&Gd delta 153 zcmeyy`igCWN;rFor>`sfBMx>RUTv-KvK9;s4B{oO5hcO-X(i=}MX3z#J}v=%?h0k8 zMGD4xCWWm_9s-qcloa^617(bXYzD6eO?e>2lJ4m1$iT3%pZiZD>qJF6B?iVMZ+Dmf zOW8ji1xhoP1o;IsI6S+N#=yYT=;`7ZQZZ*^dOefC0%65vAY(jT{an^LB{Ts5BpECU diff --git a/graphics/event_objects/pics/people/prof_birch.png b/graphics/event_objects/pics/people/prof_birch.png index 5c3fda9f9e62eea35b7c29cde27532bef9a2167d..d3ea18c319cc8068d9d5b0a85e02fe6712e9c558 100644 GIT binary patch delta 39 tcmeyy*2FeJWn!H*2UD-7i(`mK=f>OJOafb^|2Z=Nfv2mV%Q~loCIAsd4LAS* delta 153 zcmZo-`^GjwC7iv))7O>#5eGXDKg(tTr^gHo4B{oO5hcO-X(i=}MX3z#J}v=%?h0k8 zMGD4xCWWm_9s-qcloa^617(bXYzD6eO?e>2lJ4m1$iT3%pZiZD>qJF6B?iVMZ+Dmf yOW8ji1xhoP1o;IsI6S+N#=yYT>*?YcQZZ*^dN-56Z(h+_kTIUFelF{r5}E)K1uQ54 diff --git a/graphics/event_objects/pics/people/psychic_m.png b/graphics/event_objects/pics/people/psychic_m.png index 74e85032946dbcf83d0133f07869ee8ebbb0cc6d..3efe5c0afc37a8e9f554066f902ec7b000d5b209 100644 GIT binary patch delta 39 tcmcb_c8_&}%EUTr4yH^`7sn8f&W*RznFQ3oO?<%s1fH&bF6*2UngAHZ4XpqG delta 153 zcmcb|dWmg<N;rFor>`sfBMx>R0f{Vc0V4(m2JsTth?3y^w370~qErTVAC~|>cZIUl zA_ZeTlfu>|4}nTJN(%hkfilKGHiK7#raX{hNq6*hWMJ6X&;2Knb)ur35(8tBx4X;# yrR<-M0;L&Cg8YIR9G=}sV_;y)^mK6yshG1dJ)KG5>U6JskTIUFelF{r5}E+Rk}Jjl diff --git a/graphics/event_objects/pics/people/quinty_plump.png b/graphics/event_objects/pics/people/quinty_plump.png index 8b08ba7d720b19445c2625c35c544683e08a08d6..49d4c70382babb477065aab14f8e00d51628ce5f 100644 GIT binary patch delta 39 tcmbQny@+dq%EUTr4wki^E{-7{of~hjW)YCgkFa0>0#8>zmvv4FO#lFD3{3z4 delta 153 zcmZ3)HH~|MN;rFor>`sfBMx>RA(O17a={D?4B{oO5hcO-X(i=}MX3z#J}v=%?h0k8 zMGD4xCWWm_9s-qcloa^617(bXYzD6eO?e>2lJ4m1$iT3%pZiZD>qJF6B?iVMZ+Dmf yOW8ji1xhoP1o;IsI6S+N22{G%)5S5QV$R0&)hq&j_9}uPV?15`T-G@yGywq7Q7b3_ diff --git a/graphics/event_objects/pics/people/red.png b/graphics/event_objects/pics/people/red.png index b233aeaebfb53a494b3d6773e9c4c05aa168da19..7215156c1d0484c8310a625564f1d9948453e826 100644 GIT binary patch delta 39 ucmX@lcAIsA%EUTr4yH6u7sn8f&W*QIm;?@OSumXe2s~Z=T-G@yGywn^+YPt? delta 153 zcmcc3dY)~9N;rFor>`sfBMx>R5xM6s1<VW#4B{oO5hcO-X(i=}MX3z#J}v=%?h0k8 zMGD4xCWWm_9s-qcloa^617(bXYzD6eO?e>2lJ4m1$iT3%pZiZD>qJF6B?iVMZ+Dmf yOW8ji1xhoP1o;IsI6S+N#=yXo=IP=XQZZ*^dJ2<(3IE9^kTIUFelF{r5}E)J?JLv( diff --git a/graphics/event_objects/pics/people/reporter_f.png b/graphics/event_objects/pics/people/reporter_f.png index 781b07fc690b218ae474a2b0f1901e16c8913b27..289aef6d972c30bbed066cebea0132f43e9bfb5b 100644 GIT binary patch delta 39 tcmeBSo54CkWn!H*2a~d=i(`mK=f>NLOaceKs=a3b0#8>zmvv4FO#u5A49Nfh delta 153 zcmbQi+QT+MC7iv))7O>#5eGYuB)eJTvOWd|2JsTth?3y^w370~qErTVAC~|>cZIUl zA_ZeTlfu>|4}nTJN(%hkfilKGHiK7#raX{hNq6*hWMJ6X&;2Knb)ur35(8tBx4X;# yrR<-M0;L&Cg8YIR9G=}sV_;xX_H=O!shG1dU6D!P!YY|&kTIUFelF{r5}E+p_$!V8 diff --git a/graphics/event_objects/pics/people/reporter_m.png b/graphics/event_objects/pics/people/reporter_m.png index 0992b12ea2cce2a2fea7374ebe55b671eb02e2f9..09b2b964e7b1dbb58a9819d5117dc92953da660e 100644 GIT binary patch delta 39 tcmX@Xc7=6<%EUTr4yJfd7sn8f&W*QYnFQ2IESnjCz|+;wWt~$(6958O3`GC{ delta 153 zcmcb@dV+0&N;rFor>`sfBMx>RDUEHlCqx(+7{p6lBT9nv(@M${i&7cfeOv<k+!e}F zixiCYObT0<JOnD?C@JuB2g(=&*$iF{n({!3CEd~2k%3`jKlh(R)`^OCN(_ui-tI2{ zm$H943Y2Cn3GxeOaCmkjje&tF-qXb~q+-s-^jIc=+R0uHKzRmFS3j3^P6<r_Ow=qz diff --git a/graphics/event_objects/pics/people/rooftop_sale_woman.png b/graphics/event_objects/pics/people/rooftop_sale_woman.png index d55d961f4c5c06eedbda652731c8f0e2b2554a5c..f1f9bc72bb257f7d5286e4ca9b5e45cef83caa81 100644 GIT binary patch delta 39 tcmaFF_KtOe%EUTr4yH;^7sn8f&W*RrnFMUo-BcNXz|+;wWt~$(695Zi3}pZS delta 153 zcmaFI`iO0UN;rFor>`sfBMx>R88(}bNwEwJ4B{oO5hcO-X(i=}MX3z#J}v=%?h0k8 zMGD4xCWWm_9s-qcloa^617(bXYzD6eO?e>2lJ4m1$iT3%pZiZD>qJF6B?iVMZ+Dmf zOW8ji1xhoP1o;IsI6S+N#=yW->FMGaQZZ*^dO4H8i<!wGAY(jT{an^LB{Ts5Rx>RK diff --git a/graphics/event_objects/pics/people/rs_little_boy.png b/graphics/event_objects/pics/people/rs_little_boy.png index 6e8b4bdaba02b771eb89f7885f1ccfd7613b035c..41bc20afbe9c491d8445631912634b27b9655b1a 100644 GIT binary patch delta 39 tcmdnWa*%m~%EUTr4n`kO7sn8b-i^1t7zLa%ID{C0z|+;wWt~$(69Dh-3snFB delta 153 zcmX@eyp?5wN;rFor>`sfBMx>R1;g+A_pN1MU=S~HjVKAuPb(=;EJ|f?_i+jEb5|%! zEmAPnGbwCc@(`$mqolyk9VlZAWHWd*XvzaAmUKs7M+SzC{oH>NStlymDKRi6dAqy( yU&{XJC{UWQB*-tA!Qt7BG$7l@)5S5QV$Q~NFGhhy91os?jPZ2!b6Mw<&;$U`UM=YW diff --git a/graphics/event_objects/pics/people/ruby_sapphire_brendan/running.png b/graphics/event_objects/pics/people/ruby_sapphire_brendan/running.png index d7a1c222423717738f6b2b42ab35e6d6bf1e5f8c..3a4e710f313561b5426fcb6e3b60ec8e08dbf16e 100644 GIT binary patch delta 39 tcmZo>?`NB!GO^B@gK3thi(`mK=f>MJm;~<5%Bx@i0#8>zmvv4FO#le|4LSe- delta 153 zcmeBYYi6II63$-Y>Fdh=h=ZL+p0RVs5?cla2JsTth?3y^w370~qErTVAC~|>cZIUl zA_ZeTlfu>|4}nTJN(%hkfilKGHiK7#raX{hNq6*hWMJ6X&;2Knb)ur35(8tBx4X;# zrR<-M0;L&Cg8YIR9G=}sV_;yK<>}%WQZZ*^`V1xkgAY|pK*o5w`njxgN@xNA2H7mg diff --git a/graphics/event_objects/pics/people/ruby_sapphire_brendan/walking.png b/graphics/event_objects/pics/people/ruby_sapphire_brendan/walking.png index 833e635d528083298e4362418d4937b7cfcb564a..7f3d4bde708bff758e029f0afa41e59032b187da 100644 GIT binary patch delta 39 tcmZo>?`NB!GO^B@gK3thi(`mK=f>MJm;~0;vrc9J0#8>zmvv4FO#uJt44?o2 delta 153 zcmeBYYi6II63$-Y>Fdh=h=ZL+R^j{eYY!P17{p6lBT9nv(@M${i&7cfeOv<k+!e}F zixiCYObT0<fRu2Q6!^IVWsHGr2CoK9c_77-?&#~tz_78O`%fb4L`6F#2F4_BcbET5 y**_fxN;8%O`2{mLJiC#`z`!)i)5S5QV$R0&8B79>qJsV)V?15`T-G@yGywp>0W8n} diff --git a/graphics/event_objects/pics/people/ruby_sapphire_may/running.png b/graphics/event_objects/pics/people/ruby_sapphire_may/running.png index dbde4aa307a64905c401e727d6690d92851b45bf..7c546a2867d66c24797c92b11f496208736ec909 100644 GIT binary patch delta 39 ucmX@aevWN|%EUTr4yK!)E{-7{of~goXA<~Tcr1zm2s~Z=T-G@yGywo9^bTYI delta 153 zcmX@dc8Gm~N;rFor>`sfBMx>RWyOQ4f4LYK7{p6lBT9nv(@M${i&7cfeOv<k+!e}F zixiCYObT0<JOnD?C@JuB2g(=&*$iF{n({!3CEd~2k%3`jKlh(R)`^OCN(_ui-tI2{ zm$H943Y2Cn3GxeOaCmkjje&vbrl*TzNX49u>DQSA>K0rM2N~n(>gTe~DWM4fRvRt7 diff --git a/graphics/event_objects/pics/people/ruby_sapphire_may/walking.png b/graphics/event_objects/pics/people/ruby_sapphire_may/walking.png index c48b04cb207931c9d5e76dc1d36c98c61a9513e5..7c600a003079f1b6107075f5c02ebd6a93700706 100644 GIT binary patch delta 39 tcmcc1_L6mi%EUTr4yF=M7sn8f&W*Q=m;}xU7R+M+0#8>zmvv4FO#l^R4K4rx delta 153 zcmaFKdY5g2N;rFor>`sfBMx>RC2r<c*0~G}4B{oO5hcO-X(i=}MX3z#J}v=%?h0k8 zMGD4xCWWm_9s-qcloa^617(bXYzD6eO?e>2lJ4m1$iT3%pZiZD>qJF6B?iVMZ+Dmf zOW8ji1xhoP1o;IsI6S+N#=yW-;_2cTQZZ*^dJ&Vr;haTpK*o5w`njxgN@xNA_AM;J diff --git a/graphics/event_objects/pics/people/running_triathlete_f.png b/graphics/event_objects/pics/people/running_triathlete_f.png index 85494110d73a32114a139eea7bd2f7024ce12f0d..f95eb2be266f34664bad1888c5f10143d60176c5 100644 GIT binary patch delta 39 tcmcb{_K0<Y%EUTr4yIgB7sn8f&W*RTnFKcdf7ihP1fH&bF6*2UngApo4o(07 delta 153 zcmaFFdW~&@N;rFor>`sfBMx>R70bCCpJy{LFo>79MwA5Sr<If^7Ns({`?v)7xhs^V z7AY9(nH07zc?eX(QBvUN4wNwlvKhP@H06O5OS+@4BLl<6e(pbstP>UOlo%M3yxm>? zFJ=F96e!JD666=m;PC858Uq7UuBVG*NX49u>Df#IIX{YdLB@Ex`njxgN@xNAgfT4! diff --git a/graphics/event_objects/pics/people/running_triathlete_m.png b/graphics/event_objects/pics/people/running_triathlete_m.png index 97e5d0e85e2f7150a566c559f79948307df27796..b2b681201dcf9da90dd34615f4c26a1be6d5deb3 100644 GIT binary patch delta 39 tcmaFM_LFsj%EUTr4yG1Q7sn8f&W*R5m;{<z@4aIH0#8>zmvv4FO#mrl4p#sG delta 153 zcmey#`j%~iN;rFor>`sfBMx>RHHpXJjqVH#4B{oO5hcO-X(i=}MX3z#J}v=%?h0k8 zMGD4xCWWm_9s-qcloa^617(bXYzD6eO?e>2lJ4m1$iT3%pZiZD>qJF6B?iVMZ+Dmf zOW8ji1xhoP1o;IsI6S+N#=yYT;_2cTQZZ*^dJ~htNxR?6LB@Ex`njxgN@xNAg?cU5 diff --git a/graphics/event_objects/pics/people/sailor.png b/graphics/event_objects/pics/people/sailor.png index b84eac22ccaba835c8c82d4f8052dd11157bace1..6c8a867f4c5dc1243431e09aa2afb734ab9ae30a 100644 GIT binary patch delta 39 tcmeBSo54CkWn!H*2a~d=i(`mK=f>NLOal7M4=*qPfv2mV%Q~loCIIYz3*rC( delta 153 zcmbQi+QT+MC7iv))7O>#5eGYux|+4_+O-S}4B{oO5hcO-X(i=}MX3z#J}v=%?h0k8 zMGD4xCWWm_9s-qcloa^617(bXYzD6eO?e>2lJ4m1$iT3%pZiZD>qJF6B?iVMZ+Dmf zOW8ji1xhoP1o;IsI6S+N#=yX&?CIhdQZZ*^x+0T+ea!7WAY(jT{an^LB{Ts5-RUc< diff --git a/graphics/event_objects/pics/people/school_kid_m.png b/graphics/event_objects/pics/people/school_kid_m.png index e9e8e48899cd10821fea503b39171574a839bd16..ddfc28b1084ce948dfaf17f3765f8df65de2b3ba 100644 GIT binary patch delta 39 tcmdnRc8qm`%EUTr4yHg)7sn8f&W*SInFInGB={JBz|+;wWt~$(69D%#3$6eF delta 153 zcmX@cx{GasN;rFor>`sfBMx>RO-6<#rXCCo4B{oO5hcO-X(i=}MX3z#J}v=%?h0k8 zMGD4xCWWm_9s-qcloa^617(bXYzD6eO?e>2lJ4m1$iT3%pZiZD>qJF6B?iVMZ+Dmf zOW8ji1xhoP1o;IsI6S+N#=yW7=;`7ZQZZ*^x<8Y^)SuegAY(jT{an^LB{Ts5wSX&8 diff --git a/graphics/event_objects/pics/people/scientist_1.png b/graphics/event_objects/pics/people/scientist_1.png index f6e79660c7cc6fc0b7296ce6315891c380b545dd..2b1f6605ddacb61b2dead007d3d396b0edd70b3a 100644 GIT binary patch delta 39 tcmbQwwwiT<%EUTr4kj~C7sn8f&W*QCm;?k>IZ_#bz|+;wWt~$(69D9K3hn>^ delta 153 zcmZ3@I-hNVN;rFor>`sfBMx>RE#Vsm;)fX+7{p6lBT9nv(@M${i&7cfeOv<k+!e}F zixiCYObT0<JOnD?C@JuB2g(=&*$iF{n({!3CEd~2k%3`jKlh(R)`^OCN(_ui-tI2{ zm$H943Y2Cn3GxeOaCmkjje&v5%+tj&q+-s-bQ30liJO9=LB@Ex`njxgN@xNA{_iWr diff --git a/graphics/event_objects/pics/people/scientist_2.png b/graphics/event_objects/pics/people/scientist_2.png index 20ce638f6ef47087b7c19f47b45c39df3661a0a9..ba4759a7125eb0dffcb31cec5eaef9769faa78aa 100644 GIT binary patch delta 39 tcmZ3&wt;nm%EUTr4kl|)7sn8f&W*P%nFKbc8nrM0fv2mV%Q~loCII-C3@rcv delta 153 zcmdnMx`b_lN;rFor>`sfBMx>RZRO{m#Pk>#7{p6lBT9nv(@M${i&7cfeOv<k+!e}F zixiCYObT0<JOnD?C@JuB2g(=&*$iF{n({!3CEd~2k%3`jKlh(R)`^OCN(_ui-tI2{ zm$H943Y2Cn3GxeOaCmkjje&v5+SA1`q+-s-bW0|IQ_^o|gN*TX^>bP0l+XkKH6tvd diff --git a/graphics/event_objects/pics/people/scott.png b/graphics/event_objects/pics/people/scott.png index 41c7100c49b0b6439c3ef7a6b6f6a650669735fb..113614f5f14ef5f9677ff0e59f63ae6838058de9 100644 GIT binary patch delta 39 tcmeyv*1<MGWn!H*2h(Iv7sn8f&W*PxG6}?6yO=Wofv2mV%Q~loCIAKR3{?OC delta 153 zcmeBR`@=RtC7iv))7O>#5eGYuj@6kP8k!6Y4B{oO5hcO-X(i=}MX3z#J}v=%?h0k8 zMGD4xCWWm_9s-qcloa^617(bXYzD6eO?e>2lJ4m1$iT3%pZiZD>qJF6B?iVMZ+Dmf zOW8ji1xhoP1o;IsI6S+N#=yWd+0(@_q+-s-^odLY2EWB-fsFBV^>bP0l+XkKQBo}7 diff --git a/graphics/event_objects/pics/people/steven.png b/graphics/event_objects/pics/people/steven.png index ab113d35063988149c41839901982ad5a86261b1..da692f51dbbf62b328ba1705adaf64a0c85935d6 100644 GIT binary patch delta 39 tcmdnOc7Sz)%EUTr4km9;7sn8f&W*P{nFQ8I9JOQs0#8>zmvv4FO#uIo3}FBO delta 153 zcmX@Wx`l0mN;rFor>`sfBMx>RJzlrq_e&TU7{p6lBT9nv(@M${i&7cfeOv<k+!e}F zixiCYObT0<JOnD?C@JuB2g(=&*$iF{n({!3CEd~2k%3`jKlh(R)`^OCN(_ui-tI2{ zm$H943Y2Cn3GxeOaCmkjje&v5+tbA{q+-s-bWbJ$pKG@jfbtBUu6{1-oD!M<LQpJ@ diff --git a/graphics/event_objects/pics/people/swimmer_f.png b/graphics/event_objects/pics/people/swimmer_f.png index d9fd2e39d0ba3242e108244fe1a168f8e45d068b..962e60a9c9edc55b3c780ad45aa8b50712ae22c2 100644 GIT binary patch delta 39 tcmbQhI)`O~%EUTr4#wr4E{-7{of~g2WfZWH_z=MW1fH&bF6*2Ung9Yu45t79 delta 153 zcmbQkGJ$o1N;rFor>`sfBMx>RebubLW%3LR4B{oO5hcO-X(i=}MX3z#J}v=%?h0k8 zMGD4xCWWm_9s-qcloa^617(bXYzD6eO^`O0bVpxD28NCO+<y{TCo0-0F)${1ySw~f x%KqsnP@1tM$S;_|;n|HeAbYu|i(^Q|oQ>&A83k@%RXYJP#?#f$Wt~$(696QEEo1-y diff --git a/graphics/event_objects/pics/people/swimmer_m.png b/graphics/event_objects/pics/people/swimmer_m.png index 25068830e11f2117cbab984155aa198781d1dc00..eb1733da8d0053429afda9174d61a93419f999ae 100644 GIT binary patch delta 39 tcmeBVoysynWn!H*2jc=y7sn8f&W*R{F$%bJitsW3fv2mV%Q~loCII##3*7(! delta 153 zcmbQr(#bkOC7iv))7O>#5eGYufyI%9A`uJ>4B{oO5hcO-X(i=}MX3z#J}v=%?h0k8 zMGD4xCWWm_9s-qcloa^617(bXYzD6eO?e>2lJ4m1$iT3%pZiZD>qJF6B?iVMZ+Dmf yOW8ji1xhoP1o;IsI6S+N24pYrba4!+n6oi`9;3h-ne4?NV?15`T-G@yGywnuhAe3S diff --git a/graphics/event_objects/pics/people/teala.png b/graphics/event_objects/pics/people/teala.png index f38bc479ece46f43971606d2e793f578c2d1b42d..cfc47b112b7b2b30205da89a6d878321290be909 100644 GIT binary patch delta 39 tcmey$+Q>RVWn!H*2NRE{i(`mK=f>MyOah(%eD5&;fv2mV%Q~loCIA7>4AcMs delta 153 zcmZo<{mME)C7iv))7O>#5eGYu5$AHxvIh(d4B{oO5hcO-X(i=}MX3z#J}v=%?h0k8 zMGD4xCWWm_9s-qcloa^617(bXYzD6eO?e>2lJ4m1$iT3%pZiZD>qJF6B?iVMZ+Dmf zOW8ji1xhoP1o;IsI6S+N#=yYD<LTlUQZZ*^Iv10`i|*j%AY(jT{an^LB{Ts5Nrx<Z diff --git a/graphics/event_objects/pics/people/team_aqua/aqua_member_f.png b/graphics/event_objects/pics/people/team_aqua/aqua_member_f.png index 0afbfb30087684d9a8cc29566995c9c3a1d0e803..fab673878d2bc56dc193b3634a168a32a8e293dd 100644 GIT binary patch delta 39 tcmZ3-wu^Ow%EUTr4klMm7sn8f&W*R7nFJDyre0tG0#8>zmvv4FO#uFW41NFr delta 153 zcmdnRx{hsvN;rFor>`sfBMwF}1JSKZ48s{17{p6lBT9nv(@M${i&7cfeOv<k+!e}F zixiCYObT0<JOnD?C@JuB2g(=&*$iF{n({!3CEd~2k%3`jKlh(R)`^OCN(_ui-tI2{ zm$H943Y2Cn3GxeOaCmkjje&v5)zif>q+-s-bY~`kz0B9yLB@Ex`njxgN@xNA6@n|e diff --git a/graphics/event_objects/pics/people/team_aqua/aqua_member_m.png b/graphics/event_objects/pics/people/team_aqua/aqua_member_m.png index eba838305f1069bca375bbed06d9e7f52c2bcc10..434085954804c41d2bd699c0734f167f76a57cde 100644 GIT binary patch delta 39 tcmcc2cAs^E%EUTr4yG(m7sn8f&W*P-m;_WlyNfaafv2mV%Q~loCIAW`42}Q* delta 153 zcmcc5dYNs4N;rFor>`sfBMwF}ZMGRYyM-AT7{p6lBT9nv(@M${i&7cfeOv<k+!e}F zixiCYObT0<JOnD?C@JuB2g(=&*$iF{n({!3CEd~2k%3`jKlh(R)`^OCN(_ui-tI2{ zm$H943Y2Cn3GxeOaCmkjje&tF%hSa%q+-s-^b96}@Vf@SAY(jT{an^LB{Ts56;vz! diff --git a/graphics/event_objects/pics/people/team_aqua/archie.png b/graphics/event_objects/pics/people/team_aqua/archie.png index 2117d52ad236b284fdd809e82d1bb7ee6ab7e282..6ece66e060673917aae2df7f7d0a7e0df95a2fa0 100644 GIT binary patch delta 39 tcmdnOdVpnu%EUTr4#v}-E{-7{of~hTWE7ARi2Td|1fH&bF6*2Ung9@&4G{nU delta 153 zcmX@WvW0bmN;rFor>`sfBMwF}W6rJ)yW0#54B{oO5hcO-X(i=}MX3z#J}v=%?h0k8 zMGD4xCWWm_9s-qcloa^617(bXYzD6eO?e>2lJ4m1$iT3%pZiZD>qJF6B?iVMZ+Dmf xOW8ji1xhoP1o;IsI6S+N24tW1ba4!+n6okcB%?rM(^nmkF`lk|F6*2UngCmiEtLQO diff --git a/graphics/event_objects/pics/people/team_magma/magma_member_f.png b/graphics/event_objects/pics/people/team_magma/magma_member_f.png index fe74beeec46948d94965b3d2729d48557a3b72b2..60bd8494eff13e9e8bd74859a42da9ca95105037 100644 GIT binary patch delta 39 ucmZ3?ww`r@%EUTr4kjy47sn8f&W*P%m;_e-_<5KC2s~Z=T-G@yGywn(Jq@@3 delta 153 zcmZ3_x|nT(N;rFor>`sfBMwG!StCQYEl(I27{p6lBT9nv(@M${i&7cfeOv<k+!e}F zixiCYObT0<JOnD?C@JuB2g(=&*$iF{n({!3CEd~2k%3`jKlh(R)`^OCN(_ui-tI2{ zm$H943Y2Cn3GxeOaCmkjje&v5%G1R$q+-s-bPFZ{?)grqK*o5w`njxgN@xNAA+syr diff --git a/graphics/event_objects/pics/people/team_magma/magma_member_m.png b/graphics/event_objects/pics/people/team_magma/magma_member_m.png index 1a174b5a28017d582910785c0c4992296396c73e..f7581bb39facf6df3716ae15c9509731b8a08cf2 100644 GIT binary patch delta 39 tcmdnYwx4x^%EUTr4kj;87sn8f&W*P{m;@3nxFs2Yz|+;wWt~$(69Djd3s?XE delta 153 zcmdnbx|wZ)N;rFor>`sfBMwG!X=}LytB)}-Fo>79MwA5Sr<If^7Ns({`?v)7xhs^V z7AY9(nH07zc?eX(QBvUN4wNwlvKhP@H06O5OS+@4BLl<6e(pbstP>UOlo%M3yxm>? zFJ=F96e!JD666=m;PC858Uq89m#2$kNX49u=^ji1Rp)txLB@Ex`njxgN@xNAT16}v diff --git a/graphics/event_objects/pics/people/team_magma/maxie.png b/graphics/event_objects/pics/people/team_magma/maxie.png index 16b35d2fa2d0e81c48872be6951753bc0dc76d41..cc8b180ed1c9fa1fbe213a5dd50f89955a0d5dc1 100644 GIT binary patch delta 39 tcmaFE`h#VH%EUTr4kl(#7sn8f&W*PjnFI_rb$?|50#8>zmvv4FO#ljF4Br3% delta 153 zcmeyt@`iPSN;rFor>`sfBMwG!c{RyZOwtSt4B{oO5hcO-X(i=}MX3z#J}v=%?h0k8 zMGD4xCWWm_9s-qcloa^617(bXYzD6eO?e>2lJ4m1$iT3%pZiZD>qJF6B?iVMZ+Dmf yOW8ji1xhoP1o;IsI6S+N#=yYD?CIhdQZZ*^IwO;SoR-Z#kTIUFelF{r5}E+T?<!OP diff --git a/graphics/event_objects/pics/people/tuber_f.png b/graphics/event_objects/pics/people/tuber_f.png index 1fa7fa42171ae77c9bd87ed0d0214e5efc5cbad9..bfcab635a3a578b99c5f2ff8c062f32b7f1ebf42 100644 GIT binary patch delta 39 tcmcb`@{D<c%EUTr4#q-H7sn8b-i^2O83lHINmF6~0#8>zmvv4FO#l~c4O;*J delta 153 zcmaFHe2Zm*N;rFor>`sfBMx>RV<n+?`yMhdFo>79MwA5Sr<If^7Ns({`?v)7xhs^V z7AY9(nH07z0V&}qDe!X#$`}LL3|<YI@<56u-O<;Pfnj4m_n$=8iHdeg42((M?k@kA wvVS@Xlx8dm@(X5gcy=QV$S(ABaSW-LvoSrNQD9?2w-3k|Pgg&ebxsLQ0J<J6cmMzZ diff --git a/graphics/event_objects/pics/people/tuber_m.png b/graphics/event_objects/pics/people/tuber_m.png index 04a5b698ef728aa43539b7254dea5569dcddcefb..48bc3b3b4930231ab1dfabfa958694e614e4b874 100644 GIT binary patch delta 39 tcmeBUnZ-OoWn!H*2cxQ|i(`mI@5bB8i~?6ov-uc+z|+;wWt~$(69DLn3wHnj delta 153 zcmbQm+{ZFOC7iv))7O>#5eGYuiQ!Gb%pVL44B{oO5hcO-X(i=}MX3z#J}v=%?h0k8 zMGD4xCWWm_9s-qcloa^617(bXYzD6eO?e>2lJ4m1$iT3%pZiZD>qJF6B?iVMZ+Dmf xOW8ji1xhoP1o;IsI6S+N24t&xx;TbZ%-NW(%qS4h`KlOXjHj!g%Q~loCIB-jEK&df diff --git a/graphics/event_objects/pics/people/tuber_m_swimming.png b/graphics/event_objects/pics/people/tuber_m_swimming.png index 6cdeded89eb7e347273ba0d524bfe8a237e3c6ae..15dedb2590f0b07fd8276843b2da243d42f0dd1c 100644 GIT binary patch delta 39 tcmbQlGLLzJ%EUTr4n|E+7sn8b-i^1_83q1M7jj?#0#8>zmvv4FO#tw43+n&? delta 153 zcmbQoJc(t3N;rFor>`sfBMx>RGlj<K+8qoG4B{oO5hcO-X(i=}MX3z#J}v=%?h0k8 zMGD4xCWWm_9s-qcloa^617(bXYzD6eO?e>2lJ4m1$iT3%pZiZD>qJF6B?iVMZ+Dmf xOW8ji1xhoP1o;IsI6S+N24rh`x;TbZ%-NW(&M2TZVXrmF7*AI}mvv4FO#tU`D@y<X diff --git a/graphics/event_objects/pics/people/union_room_attendant.png b/graphics/event_objects/pics/people/union_room_attendant.png index 00c76cc7c9fec81710eca64c53efbe7ed1beaab2..8e8c3851cf404b96a9ae09b824ac7eb29395ce6c 100644 GIT binary patch delta 39 tcmdnSa)^0?%EUTr4n|*37sn8di5qWwGYYirsp4k<0#8>zmvv4FO#uFq3{(IB delta 153 zcmX@ayp3goN;rFor>`sfBMx>RbFpx<{s0CB2JsTth?3y^w370~qErTVAC~|>cZIUl zA_ZeTlfu>|4}nTJN(%hkfilKGHiK7#raX{hNq6*hWMJ6X&;2Knb)ur35(8tBx4X;# xrR<-M0;L&Cg8YIR9G=}s1G0TRT^vIy=4?#&W)xWQJ>WIS7*AI}mvv4FO#t(_ES~@X diff --git a/graphics/event_objects/pics/people/unused_woman.png b/graphics/event_objects/pics/people/unused_woman.png index 393d38ddc9a674b19aa3ba9200651905eefa4e99..395ed1c099fee457cd49c19edde436c871403b77 100644 GIT binary patch delta 39 tcmdnRc8qm`%EUTr4yHg)7sn8f&W*SInFI{tH_l@K0#8>zmvv4FO#lM&43z)? delta 153 zcmX@cx{GasN;rFor>`sfBMx>R3&YYSYF`)_7{p6lBT9nv(@M${i&7cfeOv<k+!e}F zixiCYObT0<JOnD?C@JuB2g(=&*$iF{n({!3CEd~2k%3`jKlh(R)`^OCN(_ui-tI2{ zm$H943Y2Cn3GxeOaCmkjje&tF(9^{+q+-s-bbls+FKSJ@LB@Ex`njxgN@xNAY62}4 diff --git a/graphics/event_objects/pics/people/wallace.png b/graphics/event_objects/pics/people/wallace.png index aec7c5c06e8f0dff7a83c74c7e77bedadb499010..2ef1d60500455f34d20aa4827b70877e7bca40f0 100644 GIT binary patch delta 39 tcmeBYpUpNwWn!H*2h%c77sn8f&W*R1FbQPjpUYtY0#8>zmvv4FO#lgx4ITgh delta 153 zcmbQu*3UjcC7iv))7O>#5eJK~xY6%AmIej}2JsTth?3y^w370~qErTVAC~|>cZIUl zA_ZeTlfu>|4}nTJN(%hkfilKGHiK7#raX{hNq6*hWMJ6X&;2Knb)ur35(8tBx4X;# zrR<-M0;L&Cg8YIR9G=}sV_;xf=IP=XQZZ*^`VuAqC9luEAY(jT{an^LB{Ts56Y(r= diff --git a/graphics/event_objects/pics/people/wally.png b/graphics/event_objects/pics/people/wally.png index 32276ad77cdb550bfb2eb8f867fe453054e3dff6..190ee671322afb569580dbe02f3e1e7468cfcbd3 100644 GIT binary patch delta 39 tcmdnMwug0s%EUTr4kmX`7sn8f&W*QSnFJVX(>ob}z|+;wWt~$(69D(h3;h59 delta 153 zcmdnPx`AziN;rFor>`sfBMx>RE79tS3zjo5Fo>79MwA5Sr<If^7Ns({`?v)7xhs^V z7AY9(nH07zc?eX(QBvUN4wNwlvKhP@H06O5OS+@4BLl<6e(pbstP>UOlo%M3yxm>? zFJ=F96e!JD666=m;PC858Uq89yQhm|NX49u>8?xy;nz;y0U6`z>gTe~DWM4fWo<2P diff --git a/graphics/event_objects/pics/people/woman_1.png b/graphics/event_objects/pics/people/woman_1.png index 285c2947c9e06c84d9763266016f4bb0afa98083..2207993f741e88d1a972d2af2556d61ad6b631aa 100644 GIT binary patch delta 39 tcmey&_Mdfv%EUTr4yG<o7sn8f&W*P_m;^LuD@<Sj0#8>zmvv4FO#m3h4G#bS delta 153 zcmey*`k8HlN;rFor>`sfBMuf3YxC_{y($b04B{oO5hcO-X(i=}MX3z#J}v=%?h0k8 zMGD4xCWWm_9s-qcloa^617(bXYzD6eO?e>2lJ4m1$iT3%pZiZD>qJF6B?iVMZ+Dmf zOW8ji1xhoP1o;IsI6S+N#=yYT<>}%WQZZ*^dIyuh{>f5jLB@Ex`njxgN@xNAjQA~x diff --git a/graphics/event_objects/pics/people/woman_2.png b/graphics/event_objects/pics/people/woman_2.png index b4381c2f436944b72ac77343926fba04c00b6cdb..c97fc3507007dc91db3ed4ba2a5fcc98f3595ac3 100644 GIT binary patch delta 39 tcmaFC_JwtV%EUTr4yJlf7sn8f&W*QgnFKy`vVUU$0#8>zmvv4FO#mXU4dnm; delta 153 zcmeyu`hsnON;rFor>`sfBMuf(Mx}pu?lv+oFo>79MwA5Sr<If^7Ns({`?v)7xhs^V z7AY9(nH07zc?eX(QBvUN4wNwlvKhP@H06O5OS+@4BLl<6e(pbstP>UOlo%M3yxm>? zFJ=F96e!JD666=m;PC858Uq7Uy{C&~NX49u>9tG(SKqhJ0~zD#>gTe~DWM4f7!EHY diff --git a/graphics/event_objects/pics/people/woman_3.png b/graphics/event_objects/pics/people/woman_3.png index 00579b200ce767045734ba585ca6bc0b00b3172a..8d35b165372d4118839578eb5da5cd335f9ffcf3 100644 GIT binary patch delta 39 tcmeyx*2XqLWn!H*2h&7P7sn8f&W*SGnFL&~%=2Xc0#8>zmvv4FO#l*F4Lkq< delta 153 zcmZo;`^7dvC7iv))7O>#5eJJXGuwxk(U%w)7{p6lBT9nv(@M${i&7cfeOv<k+!e}F zixiCYObT0<JOnD?C@JuB2g(=&*$iF{n({!3CEd~2k%3`jKlh(R)`^OCN(_ui-tI2{ zm$H943Y2Cn3GxeOaCmkjje&t_qNj^vNX49u>HSOsTsg-*K*o5w`njxgN@xNAr^+oo diff --git a/graphics/event_objects/pics/people/woman_4.png b/graphics/event_objects/pics/people/woman_4.png index cb88cab47f3ff1b92b4689ff3c919580e53bcdd5..2a29acae3018dab7ebe06ca70f55e7f985c70c2c 100644 GIT binary patch delta 39 tcmdnUwwHB+%EUTr4kiyz7sn8f&W*R-m;}0l*9kBHfv2mV%Q~loCII{#3@!iw delta 153 zcmdnXx{+;yN;rFor>`sfBMuf(7EO`L4?YYG4B{oO5hcO-X(i=}MX3z#J}v=%?h0k8 zMGD4xCWWm_9s-qcloa^617(bXYzD6eO?e>2lJ4m1$iT3%pZiZD>qJF6B?iVMZ+Dmf yOW8ji1xhoP1o;IsI6S+N#=yYj;pyTSQZZ*^x*L<gM3x00c?M5cKbLh*2~7Y55i9fn diff --git a/graphics/event_objects/pics/people/woman_5.png b/graphics/event_objects/pics/people/woman_5.png index cc26319804d638e627ce8f7c7bfcf27bf5ef7396..95dfc76dae41fda0cc319ee2a72e32c6b1ff6a07 100644 GIT binary patch delta 39 tcmcb@_JDPQ%EUTr4yJ5R7sn8f&W*P-nFQ2YrOq+{fv2mV%Q~loCIAa746y(J delta 153 zcmaFBdWCI*N;rFor>`sfBMuf(Hi`0ylfE!8Fo>79MwA5Sr<If^7Ns({`?v)7xhs^V z7AY9(nH07zc?eX(QBvUN4wNwlvKhP@H06O5OS+@4BLl<6e(pbstP>UOlo%M3yxm>? zFJ=F96e!JD666=m;PC858Uq7Uwx^3@NX49u>6uId&TemOK*o5w`njxgN@xNAk#H?8 diff --git a/graphics/event_objects/pics/people/woman_6.png b/graphics/event_objects/pics/people/woman_6.png index 51ef0954094072663e0d45953d8e13820da148c3..2ffdd5af61d66d16cef8f34c73ab364f8b55e118 100644 GIT binary patch delta 39 tcmdnVc9eC3%EUTr4yFK47sn8f&W*SIm;|00_`GKT0#8>zmvv4FO#lg<4FdoG delta 153 zcmX@gx|3~!N;rFor>`sfBMuf(c1xwln_n|9Fo>79MwA5Sr<If^7Ns({`?v)7xhs^V z7AY9(nH07zc?eX(QBvUN4wNwlvKhP@H06O5OS+@4BLl<6e(pbstP>UOlo%M3yxm>? zFJ=F96e!JD666=m;PC858Uq7UfTxRNNX49u>3&QCe?2dXfsFBV^>bP0l+XkKjrJ`x diff --git a/graphics/event_objects/pics/people/woman_7.png b/graphics/event_objects/pics/people/woman_7.png index 522c5254d740dc83cbab6354851ae490e25cec65..a7750dc4cb0d85a6b45e75ab24a47cc6387d45d8 100644 GIT binary patch delta 39 ucmdnQzK?B!%EUTr4yKcyE{-7{of~f-XA;;tqoJMw2s~Z=T-G@yGywn}N)6=z delta 153 zcmdnTwuya$N;rFor>`sfBMuf(PA!Xj_jfZeFo>79MwA5Sr<If^7Ns({`?v)7xhs^V z7AY9(nH07zc?eX(QBvUN4wNwlvKhP@H06O5OS+@4BLl<6e(pbstP>UOlo%M3yxm>? zFJ=F96e!JD666=m;PC858Uq8<NlzEYkcv4Q(~mO=yj=ZX1!Rn;tDnm{r-UW|r1dVO diff --git a/graphics/event_objects/pics/people/youngster.png b/graphics/event_objects/pics/people/youngster.png index 1d262908666e14ec56e931c0e0845d5c4908af7e..c17e7c6cfa4da445e473a8d1939429eb9722452d 100644 GIT binary patch delta 39 tcmbQnwup6t%EUTr4kles7sn8f&W*RVnFIv(99+i$1fH&bF6*2UngI5?3}OHP delta 153 zcmZ3)I*o0DN;rFor>`sfBMx>RYqh&kA3iWJFo>79MwA5Sr<If^7Ns({`?v)7xhs^V z7AY9(nH07zc?eX(QBvUN4wNwlvKhP@H06O5OS+@4BLl<6e(pbstP>UOlo%M3yxm>? zFJ=F96e!JD666=m;PC858Uq89uBVG*NX49u>Do*J-3x?vfQ<2U^>bP0l+XkKq}nY1 diff --git a/graphics/event_objects/pics/pokemon/azumarill.png b/graphics/event_objects/pics/pokemon/azumarill.png index 0a03fd3d4d297723bc879d88f3fe1e50ab794d52..84b07ea5bc12f6d737863afce821b11e24ec3c9d 100644 GIT binary patch delta 37 scmdnVe3WT|%EUSw_6wdajv*3LC*D3MklFfcIRg-Qy85}Sb4q9e01+e&^Z)<= delta 151 zcmX@gw3B&)N;rFor>`sfBMuI6StB36-+2rS4B{oO5hcO-X(i=}MX3z#J}v=%?h0k8 zMGD4xCWWm_9s-qcloa^617(bXYzD6eO?e>2lJ4m1$iT3%pZiZD>qJF+MaCp=cbET5 w**_fx$}*M&`2{mLJiCzw<XrG{aSW-LGco;~z|V}}c%TS_r>mdKI;Vst020|PWdHyG diff --git a/graphics/event_objects/pics/pokemon/azurill.png b/graphics/event_objects/pics/pokemon/azurill.png index d6050257b721a7d0373d2ce78130d5350a082443..99cd25fe5c772963d5a6a530a5f5e492c0c3e748 100644 GIT binary patch delta 37 scmZ3%yoG6k%EUSw_WhnNjv*3LC*IyGaOw4hd<G!!boFyt=akR{01(9v9RL6T delta 151 zcmdnOw1RnpN;rFor>`sfBMuI6Imy%a1K%<*Fo>79MwA5Sr<If^7Ns({`?v)7xhs^V z7AY9(nH07zc?eX(QBvUN4wNwlvKhP@H06O5OS+@4BLl<6e(pbstP>UO6&aJf-Ch1K xW&d;(D9cz9<QL4~@a#q!kh9;@#WAE}&cyV+0$-fNZU99XJYD@<);T3K0RU*HE<gYP diff --git a/graphics/event_objects/pics/pokemon/deoxys.png b/graphics/event_objects/pics/pokemon/deoxys.png index 2e892f0da0f19522eb0d78ae775bcb5df811a3e7..9aa8dc2188562b852ef96f047141f94f2443d134 100644 GIT binary patch delta 39 tcmbQvx|n5x%EUTr4#st!E{-7<y&G?@VH7azRmflf0#8>zmvv4FO#lEU3}FBO delta 153 zcmZ3?GM#mTN;rFor>`sfBMuI6d6tcbcuE-<7{p6lBT9nv(@M${i&7cfeOv<k+!e}F zixiCYObT0<JOnD?C@JuB2g(=&*$iF{n({!3CEd~2k%3`jKlh(R)`^OCN(_ui-tI2{ ym$H943Y2Cn3GxeOaCmkj4ai>S>EaktF=u1?8b*Ov*Y14+8RO~d=d#Wzp$PyZt}aCY diff --git a/graphics/event_objects/pics/pokemon/dusclops.png b/graphics/event_objects/pics/pokemon/dusclops.png index faf183ff430c87c8bf4a34947385978cae6cee84..fb2c85576c08e846addb2496d030ea8ebbd05d3e 100644 GIT binary patch delta 39 tcmeyu+Q2$NWn!H*2NSoai(`mK=f>NdOajMSlX@9|z|+;wWt~$(69D@b3|RmG delta 153 zcmZo*{lYpyC7iv))7O>#5eJ93f@t#^w%rU24B{oO5hcO-X(i=}MX3z#J}v=%?h0k8 zMGD4xCWWm_9s-qcloa^617(bXYzD6eO?e>2lJ4m1$iT3%pZiZD>qJF6B?iVMZ+Dmf zOW8ji1xhoP1o;IsI6S+N#=yYD?djqeQZZ*^IwzCB&6E?tAY(jT{an^LB{Ts59x5yn diff --git a/graphics/event_objects/pics/pokemon/enemy_zigzagoon.png b/graphics/event_objects/pics/pokemon/enemy_zigzagoon.png index 5c75f647f544260185f665d3195e112c2bbe2559..2684ad13021b1a86f086a14e93cb904244f1ac69 100644 GIT binary patch delta 39 tcmX@bc8zs{%EUTr4yHs;7srr@){VF0nFLt>Oy0u)1fH&bF6*2Ung9|X4O0LB delta 153 zcmcb{dWvm=N;rFor>`sfBMuI6CC1eb8(bI|7{p6lBT9nv(@M${i&7cfeOv<k+!e}F zixiCYObT0<JOnD?C@JuB2g(=&*$iF{n({!3CEd~2k%3`jKlh(R)`^OCN(_ui-tI2{ zm$H943Y2Cn3GxeOaCmkjje&tF(bL5-q+-s-^mrzLj6b2NAY(jT{an^LB{Ts5GrcU1 diff --git a/graphics/event_objects/pics/pokemon/groudon.png b/graphics/event_objects/pics/pokemon/groudon.png index de569261c518b605172c3eff436b6de11e774f52..3d14c5ac9ef670f03bcf7a4b73a74ba7ffb70a48 100644 GIT binary patch delta 39 tcmbQhIfr9{%EUTr4(8>aE{-7{of~g2WfsukOx?u*1fH&bF6*2UngIVi3~K-Y delta 153 zcmbQkF@bY}N;rFor>`sfBMuI6X)YtNCuIx_4B{oO5hcO-X(i=}MX3z#J}v=%?h0k8 zMGD4xCWWm_9s-qcloa^617(bXYzD6eO?e>2lJ4m1$iT3%pZiZD>qJF6B?iVMZ+Dmf zOW8ji1xhoP1o;IsI6S+N#=yY5+|$J|q+-s-^rg%KPr3W;K*o5w`njxgN@xNA+K4O? diff --git a/graphics/event_objects/pics/pokemon/ho_oh.png b/graphics/event_objects/pics/pokemon/ho_oh.png index 883bf657735b28e3ac499d10c7953fd9826ba458..e6c7374e03b5398acc3c34e0fa313554666c29f6 100644 GIT binary patch delta 39 tcmZo=oyamlWn!H*2jd)17sn8b-i^0sF$#PX^pIr$0#8>zmvv4FO#u3i3_1V+ delta 153 zcmbQp(#kqPC7iv))7O>#5eJ93lHvrt2|Wx94B{oO5hcO-X(i=}MX3z#J}v=%?h0k8 zMGD4xCWWm_9s-qcloa^617(bXYzD6eO?e>2lJ4m1$iT3%pZiZD>qJF6B?iVMZ+Dmf yOW8ji1xhoP1o;IsI6S+N24v6iba4!+n6oi`7NfxCA7{-$#(28=xvX<aXaWEMuPq_~ diff --git a/graphics/event_objects/pics/pokemon/kecleon.png b/graphics/event_objects/pics/pokemon/kecleon.png index 460d3acc47cc521711afa14d623e0d7b6a61bdfd..47ae584b796f4dbac3b533b9c317858b983ac75c 100644 GIT binary patch delta 37 scmX@he3NN{%EUSw_9vb$jv*3LC*FP}@Z{2y^9(@X>FVdQ&MBb@04Glm9smFU delta 151 zcmcb~be4I7N;rFor>`sfBMuI6Wi}mqk!1`F4B{oO5hcO-X(i=}MX3z#J}v=%?h0k8 zMGD4xCWWm_9s-qcloa^617(bXYzD6eO?e>2lJ4m1$iT3%pZiZD>qJF+MaCp=cbET5 w**_fx$}*M&`2{mLJiCzw<UH|oaSW-LGco;<zzVCC@jwv<Pgg&ebxsLQ0Hw7ohyVZp diff --git a/graphics/event_objects/pics/pokemon/kirlia.png b/graphics/event_objects/pics/pokemon/kirlia.png index b71b575ebf9f79ba47f1e29c26810f973846b991..bac74a9ccb0c3ddca0031d49393edf4b97cd3f92 100644 GIT binary patch delta 39 tcmX@fa+P_4%EUTr4#ose7sn8f&W*R@7zNbcBs^mP0#8>zmvv4FO#l!<4MhL| delta 153 zcmcc0e3E5?N;rFor>`sfBMuI6718Gh4)14RU=S~HjVKAuPb(=;EJ|f?_i+jEb5|%! zEmAPnGbwCc@(`$mqolyk9VlZAWHWd*XvzaAmUKs7M+SzC{oH>NStlymDKRi6dAqy( yU&{XJC{UWQB*-tA!Qt7BG$1>{)5S5QV$R0&I7WfiQyc6-#(28=xvX<aXaWG}0xkpq diff --git a/graphics/event_objects/pics/pokemon/kyogre.png b/graphics/event_objects/pics/pokemon/kyogre.png index b67f3b15fc985502c328e3dc9675c877333031c2..32f67aafa2c7399296e29c63dc751fd8fd4dc7f4 100644 GIT binary patch delta 39 tcmZqV?B$rCGO^B@gL#Ihi(`mK=f>O9m<9SjlrLid0#8>zmvv4FO#lnW4R-(l delta 153 zcmeC>Xylxr63$-Y>Fdh=h=W61M)14Q?pOu}2JsTth?3y^w370~qErTVAC~|>cZIUl zA_ZeTlfu>|4}nTJN(%hkfilKGHiK7#raX{hNq6*hWMJ6X&;2Knb)ur35(8tBx4X;# zrR<-M0;L&Cg8YIR9G=}sV_;yO;pyTSQZZ*^`ZQ*N4Q^AOf{gKW^>bP0l+XkKCg3eE diff --git a/graphics/event_objects/pics/pokemon/latias_latios.png b/graphics/event_objects/pics/pokemon/latias_latios.png index e9355d4a6069f3d2ff75ffdadfdd7b12da023a27..4030d413c62c9c2fce28a58d0acc8a1f7154a41b 100644 GIT binary patch delta 39 tcmdnUx|d~w%EUTr4#pFnE{-7<y&G>IV-!d!duYl41fH&bF6*2UngAAZ4RZhh delta 153 zcmdnXvXOOyN;rFor>`sfBMuI6Ri0TJqU;zL7{p6lBT9nv(@M${i&7cfeOv<k+!e}F zixiCYObT0<JOnD?C@JuB2g(=&*$iF{n({!3CEd~2k%3`jKlh(R)`^OCN(_ui-tI2{ ym$H943Y2Cn3GxeOaCmkj4ah#>>EaktF=u1?F-C#&JKkr4jPZ2!b6Mw<&;$TG@-6rP diff --git a/graphics/event_objects/pics/pokemon/lugia.png b/graphics/event_objects/pics/pokemon/lugia.png index d38e374b380d64ef7740c0d79ef644bfced8f84a..1dfc6858b90f830a7433edd0333e1d548ce231e0 100644 GIT binary patch delta 39 tcmeBUnZ-OoWn!H*2cxQ|i(`mI@5bB8i~>vDFFs`e0#8>zmvv4FO#t^N43_`^ delta 153 zcmbQm+{ZFOC7iv))7O>#5eJ93s^-NleU%Ih4B{oO5hcO-X(i=}MX3z#J}v=%?h0k8 zMGD4xCWWm_9s-qcloa^617(bXYzD6eO?e>2lJ4m1$iT3%pZiZD>qJF6B?iVMZ+Dmf xOW8ji1xhoP1o;IsI6S+N24t&xx;TbZ%-NW(%qXDvJ75OL7*AI}mvv4FO#n?VELH#j diff --git a/graphics/event_objects/pics/pokemon/mew.png b/graphics/event_objects/pics/pokemon/mew.png index 152bdabce2a86b7c4016abc18b81fafaa63ea987..00cbd277947d4122321e752ecee69c4ac05e74ba 100644 GIT binary patch delta 39 ucmbQrzL0H#%EUTr4yHApE{-7{of~hjViK6VTj>!45O})!xvX<aXaWEbD-Cx5 delta 153 zcmZ3;HkEyXN;rFor>`sfBMuI6HH!(Fe?1r&7{p6lBT9nv(@M${i&7cfeOv<k+!e}F zixiCYObT0<JOnD?C@JuB2g(=&*$iF{n({!3CEd~2k%3`jKlh(R)`^OCN(_ui-tI2{ zm$H943Y2Cn3GxeOaCmkjje&t_ji-xaNX49u>8qFo-bmk%0U6`z>gTe~DWM4fG_)-` diff --git a/graphics/event_objects/pics/pokemon/pikachu.png b/graphics/event_objects/pics/pokemon/pikachu.png index bd7026955500ed0ed193737da2809e4fa1a0b8b2..b2d15ef1796db2730dd20195815ad1320908a576 100644 GIT binary patch delta 37 scmX@ie4c57%EUSw_FJAVjv*3LC*Hmx5c6eXG6N8Jy85}Sb4q9e01`C~(EtDd delta 151 zcmX@lbeMU9N;rFor>`sfBMuI6b(yV(8aEgi7{p6lBT9nv(@M${i&7cfeOv<k+!e}F zixiCYObT0<JOnD?C@JuB2g(=&*$iF{n({!3CEd~2k%3`jKlh(R)`^Ptii}C#?k@kA wvVS@Xlw~Xl@(X5gcy=QV$hqa|;uumfXJYydfd{4fra%z}Pgg&ebxsLQ00zq~3IG5A diff --git a/graphics/event_objects/pics/pokemon/poochyena.png b/graphics/event_objects/pics/pokemon/poochyena.png index 86fd9b3acb161655d6311ec36ef971b62e2f3497..171a551d3b45a945e0d20c09b67d89b285455ece 100644 GIT binary patch delta 39 tcmbQnwup6t%EUTr4kles7srr@){VEdnFO-UwsSE6fv2mV%Q~loCIIZn3zYx> delta 153 zcmZ3)I*o0DN;rFor>`sfBMuI6O;-P#Yo{?VFo>79MwA5Sr<If^7Ns({`?v)7xhs^V z7AY9(nH07zc?eX(QBvUN4wNwlvKhP@H06O5OS+@4BLl<6e(pbstP>UOlo%M3yxm>? zFJ=F96e!JD666=m;PC858Uq89uBVG*NX49u>Do*JwZ|_hfsFBV^>bP0l+XkKJE$yg diff --git a/graphics/event_objects/pics/pokemon/rayquaza.png b/graphics/event_objects/pics/pokemon/rayquaza.png index aec6616d9ae6bcb38ddca0e230f7a005fec705dc..9a74dc64f034e17394d2a7412bb0decd3c6be983 100644 GIT binary patch delta 39 tcmaFN{hn)r%EUTr4whe@E{-7?jT>+OU=i@m*~7~K1fH&bF6*2UngA{J4g&xH delta 153 zcmaFQ^_Y8tN;rFor>`sfBMuI6Evc7(J}+QkU=S~HjVKAuPb(=;EJ|f?_i+jEb5|%! zEmAPnGbwCc@(`$mqolyk9VlZAWHWd*XvzaAmUKs7M+SzC{oH>NStlymDKRi6dAqy( yU&{XJC{UWQB*-tA!Qt7BG@#O7o-U3d6>~PG|6mcQbWn-~8RO~d=d#Wzp$Py>;4ahv diff --git a/graphics/event_objects/pics/pokemon/rayquaza_still.png b/graphics/event_objects/pics/pokemon/rayquaza_still.png index 1c18b2ffc1aa6179bee49a2f5b6b5291fb8a8cc2..55d638f292894865fb9ec8a3c233013b742eda14 100644 GIT binary patch delta 10 RcmbQm(#tX-eq+u$MgSF71M2_) delta 22 dcmeBWnZ+_8o|}QOB*-tA!Qt7Bw2iSF7y(Z42ekkI diff --git a/graphics/event_objects/pics/pokemon/regi.png b/graphics/event_objects/pics/pokemon/regi.png index 8425040dd121adab156bbcccbbeaab7fe0db0983..c3bb15e57dabc44cc0e3007809a8bb0293d5fdba 100644 GIT binary patch delta 10 RcmZo-{>n5Veq)XpBLEg(1E2r^ delta 22 dcmey$)Wkd?o|}QOB*-tA!Qt7Bw2iS6i~v-W2WkKS diff --git a/graphics/event_objects/pics/pokemon/skitty.png b/graphics/event_objects/pics/pokemon/skitty.png index 2b4011320727777e3989e7484b5513ed87d8ef5a..2b78104123fa1fecc7ca029e6a205719119c568b 100644 GIT binary patch delta 37 scmX@We1>U)%EUSw_UoQ5jv*3LC*Hm)z$U`9i2(>aUHx3vIVCg!0Qz_gPXGV_ delta 151 zcmX@Zbbxt+N;rFor>`sfBMuI6ZT86z*I6(yFo>79MwA5Sr<If^7Ns({`?v)7xhs^V z7AY9(nH07zc?eX(QBvUN4wNwlvKhP@H06O5OS+@4BLl<6e(pbstP>UO6&aJf-Ch1K xW&d;(D9cz9<QL4~@a#q!kaOMB#WAE}&cyVq0!)*xJOGL?c)I$ztaD0e0suQ}E${#U diff --git a/graphics/event_objects/pics/pokemon/sudowoodo.png b/graphics/event_objects/pics/pokemon/sudowoodo.png index ff2cc385b64a48742d850e929612707e9e348370..0e084dcc0eedf259ef06aa406bcf62cb61e29467 100644 GIT binary patch delta 37 scmX@ie4c57%EUSw_FJAVjv*QoC*Hmx5O!?g0R|xOboFyt=akR{02Rm%761SM delta 151 zcmX@lbeMU9N;rFor>`sfBMuI6Z41@*W>y9U2JsTth?3y^w370~qErTVAC~|>cZIUl zA_ZeTlfu>|4}nTJN(%hkfilKGHiK7#raX{hNq6*hWMJ6X&;2Knb)urZB4d)byUYKj w?4OPTWf@C?{DK)Ap4~_Ta&CFLIEGZrnV5b<;N67h5<n3KPgg&ebxsLQ0LT$7JOBUy diff --git a/graphics/event_objects/pics/pokemon/vigoroth.png b/graphics/event_objects/pics/pokemon/vigoroth.png index b90c5fddde13d7c237e6c4147fb197aed30816ec..d9ea6dbed5b395bfa7d95e8ddedc201239896114 100644 GIT binary patch delta 39 tcmX@XafN+?%EUTr4(51I7sn8f&W*QYnFZ>zm+&(Hfv2mV%Q~loCIAQ;43Yo< delta 153 zcmcb@eu86yN;rFor>`sfBMuI6Jz3!|i`f|%7{p6lBT9nv(@M${i&7cfeOv<k+!e}F zixiCYObT0<JOnD?C@JuB2g(=&*$iF{n({!3CEd~2k%3`jKlh(R)`^OCN(_ui-tI2{ zm$H943Y2Cn3GxeOaCmkjje&tV-qXb~q+-s-^jKzrds*#=LB@Ex`njxgN@xNAHw!HK diff --git a/graphics/event_objects/pics/pokemon/wingull.png b/graphics/event_objects/pics/pokemon/wingull.png index 4ebb0039e702d9071b07ee4a74c56ba21bc9fd69..9401d77f8a0b89a7d3374645249a92766d0c3497 100644 GIT binary patch delta 37 scmcb{{D^6S%EUSw_P3rcjv*QoC*FQ7P@H`CBm)q5y85}Sb4q9e03J6EVE_OC delta 151 zcmaFFbd7m}N;rFor>`sfBMuI637yksMji|d4B{oO5hcO-X(i=}MX3z#J}v=%?h0k8 zMGD4xCWWm_9s-qcloa^617(bXYzD6eO?e>2lJ4m1$iT3%pZiZD>qJF+MaCp=cbET5 w**_fx$}*M&`2{mLJiCzw<h=ECaSW-LGco<OfaTtLCZGs|r>mdKI;Vst0OrXossI20 diff --git a/graphics/event_objects/pics/pokemon/zigzagoon.png b/graphics/event_objects/pics/pokemon/zigzagoon.png index 2312d4f97a5181859a719920e526752c631f776a..2eaf2403d5f7eed52a53ce9c66333a9201188ab7 100644 GIT binary patch delta 37 scmbQwyqal(%EUSw_HCXnjv*3LC*Iy7@S}kvmH`MnUHx3vIVCg!0Q}kv+5i9m delta 151 zcmZ3@G@p5bN;rFor>`sfBMuI6eN+1=t33=14B{oO5hcO-X(i=}MX3z#J}v=%?h0k8 zMGD4xCWWm_9s-qcloa^617(bXYzD6eO?e>2lJ4m1$iT3%pZiZD>qJF+MaCp=cbET5 w**_fx$}*M&`2{mLJiCzw<ZSbFaSW-LGckROz{wPuDxe61r>mdKI;Vst0J@kgP5=M^ diff --git a/spritesheet_rules.mk b/spritesheet_rules.mk new file mode 100644 index 0000000000..2f5bfe608e --- /dev/null +++ b/spritesheet_rules.mk @@ -0,0 +1,663 @@ +EVENTOBJGFXDIR := graphics/event_objects/pics + +$(EVENTOBJGFXDIR)/people/brendan/walking.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/people/brendan/running.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/people/brendan/field_move.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(EVENTOBJGFXDIR)/people/brendan/surfing.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(EVENTOBJGFXDIR)/people/brendan/mach_bike.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(EVENTOBJGFXDIR)/people/brendan/acro_bike.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(EVENTOBJGFXDIR)/people/brendan/fishing.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(EVENTOBJGFXDIR)/people/brendan/watering.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(EVENTOBJGFXDIR)/people/brendan/underwater.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + + +$(EVENTOBJGFXDIR)/people/elite_four/drake.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/people/elite_four/glacia.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/people/elite_four/phoebe.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/people/elite_four/sidney.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + + +$(EVENTOBJGFXDIR)/people/frontier_brains/anabel.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/people/frontier_brains/brandon.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/people/frontier_brains/greta.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/people/frontier_brains/lucy.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/people/frontier_brains/noland.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/people/frontier_brains/spenser.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/people/frontier_brains/tucker.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + + +$(EVENTOBJGFXDIR)/people/gym_leaders/brawly.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/people/gym_leaders/flannery.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/people/gym_leaders/juan.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/people/gym_leaders/liza.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/people/gym_leaders/norman.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/people/gym_leaders/roxanne.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/people/gym_leaders/tate.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/people/gym_leaders/wattson.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/people/gym_leaders/winona.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + + +$(EVENTOBJGFXDIR)/people/may/walking.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/people/may/running.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/people/may/field_move.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(EVENTOBJGFXDIR)/people/may/surfing.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(EVENTOBJGFXDIR)/people/may/mach_bike.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(EVENTOBJGFXDIR)/people/may/acro_bike.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(EVENTOBJGFXDIR)/people/may/fishing.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(EVENTOBJGFXDIR)/people/may/watering.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(EVENTOBJGFXDIR)/people/may/underwater.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + + +$(EVENTOBJGFXDIR)/people/ruby_sapphire_brendan/walking.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/people/ruby_sapphire_brendan/running.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + + +$(EVENTOBJGFXDIR)/people/ruby_sapphire_may/walking.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/people/ruby_sapphire_may/running.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + + +$(EVENTOBJGFXDIR)/people/team_aqua/aqua_member_f.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/people/team_aqua/aqua_member_m.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/people/team_aqua/archie.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + + +$(EVENTOBJGFXDIR)/people/team_magma/magma_member_f.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/people/team_magma/magma_member_m.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/people/team_magma/maxie.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + + +$(EVENTOBJGFXDIR)/people/artist.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/people/beauty.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/people/black_belt.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/people/boy_1.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/people/boy_2.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/people/boy_3.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/people/boy_4.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/people/boy_5.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/people/bug_catcher.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/people/cameraman.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/people/camper.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/people/contest_old_man.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/people/cook.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/people/cycling_triathlete_f.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(EVENTOBJGFXDIR)/people/cycling_triathlete_m.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(EVENTOBJGFXDIR)/people/fat_man.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/people/fisherman.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/people/gentleman.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/people/girl_1.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/people/girl_2.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/people/girl_3.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/people/hex_maniac.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/people/hiker.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/people/hot_springs_old_woman.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/people/lass.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/people/leaf.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/people/little_boy_1.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 2 + +$(EVENTOBJGFXDIR)/people/little_boy_2.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 2 + +$(EVENTOBJGFXDIR)/people/little_girl_1.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/people/little_girl_2.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 2 + +$(EVENTOBJGFXDIR)/people/man_1.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/people/man_2.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/people/man_3.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/people/man_4.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/people/man_5.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/people/man_6.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/people/man_7.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/people/maniac.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/people/mart_employee.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/people/mauville_old_man_1.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/people/mauville_old_man_2.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/people/mom.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/people/mystery_event_deliveryman.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/people/nurse.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/people/old_man_1.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/people/old_man_2.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/people/old_woman_1.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/people/old_woman_2.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/people/picnicker.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/people/prof_birch.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/people/psychic_m.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/people/quinty_plump.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(EVENTOBJGFXDIR)/people/red.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/people/reporter_f.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/people/reporter_m.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/people/rooftop_sale_woman.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/people/rs_little_boy.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 2 + +$(EVENTOBJGFXDIR)/people/running_triathlete_f.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/people/running_triathlete_m.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/people/sailor.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/people/school_kid_m.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/people/scientist_1.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/people/scientist_2.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/people/scott.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/people/steven.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/people/swimmer_f.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/people/swimmer_m.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/people/teala.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/people/tuber_f.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 2 + +$(EVENTOBJGFXDIR)/people/tuber_m.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 2 + +$(EVENTOBJGFXDIR)/people/tuber_m_swimming.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 2 + +$(EVENTOBJGFXDIR)/people/union_room_attendant.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/people/unused_woman.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/people/wallace.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/people/wally.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/people/woman_1.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/people/woman_2.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/people/woman_3.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/people/woman_4.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/people/woman_5.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/people/woman_6.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/people/woman_7.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/people/youngster.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + + + +$(EVENTOBJGFXDIR)/pokemon/azumarill.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 2 + +$(EVENTOBJGFXDIR)/pokemon/azurill.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 2 + +$(EVENTOBJGFXDIR)/pokemon/deoxys.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(EVENTOBJGFXDIR)/pokemon/dusclops.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/pokemon/enemy_zigzagoon.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(EVENTOBJGFXDIR)/pokemon/groudon.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(EVENTOBJGFXDIR)/pokemon/ho_oh.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(EVENTOBJGFXDIR)/pokemon/kecleon.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 2 + +$(EVENTOBJGFXDIR)/pokemon/kirlia.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/pokemon/kyogre.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(EVENTOBJGFXDIR)/pokemon/latias_latios.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(EVENTOBJGFXDIR)/pokemon/lugia.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(EVENTOBJGFXDIR)/pokemon/mew.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/pokemon/pikachu.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 2 + +$(EVENTOBJGFXDIR)/pokemon/poochyena.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(EVENTOBJGFXDIR)/pokemon/rayquaza.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 8 -mheight 8 + +$(EVENTOBJGFXDIR)/pokemon/skitty.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 2 + +$(EVENTOBJGFXDIR)/pokemon/sudowoodo.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/pokemon/vigoroth.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(EVENTOBJGFXDIR)/pokemon/wingull.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 2 + +$(EVENTOBJGFXDIR)/pokemon/zigzagoon.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 2 + + + +$(EVENTOBJGFXDIR)/berry_trees/aguav.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/berry_trees/aspear.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/berry_trees/cheri.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/berry_trees/chesto.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/berry_trees/cornn.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/berry_trees/durin.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/berry_trees/figy.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/berry_trees/grepa.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/berry_trees/hondew.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/berry_trees/iapapa.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/berry_trees/kelpsy.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/berry_trees/lansat.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/berry_trees/leppa.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/berry_trees/liechi.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/berry_trees/lum.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/berry_trees/mago.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/berry_trees/nomel.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/berry_trees/oran.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/berry_trees/pamtre.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/berry_trees/pecha.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/berry_trees/persim.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/berry_trees/pomeg.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/berry_trees/rabuta.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/berry_trees/rawst.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/berry_trees/razz.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/berry_trees/sitrus.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/berry_trees/spelon.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/berry_trees/sprout.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 2 + +$(EVENTOBJGFXDIR)/berry_trees/tamato.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/berry_trees/wepear.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/berry_trees/wiki.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + + + +$(EVENTOBJGFXDIR)/misc/breakable_rock.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 2 + +$(EVENTOBJGFXDIR)/misc/cuttable_tree.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 2 + +$(EVENTOBJGFXDIR)/misc/mr_brineys_boat.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + + + +$(EVENTOBJGFXDIR)/effects/arrow.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 2 + +$(EVENTOBJGFXDIR)/effects/ash.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 2 + +$(EVENTOBJGFXDIR)/effects/berry_tree_growth_sparkle.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 2 + +$(EVENTOBJGFXDIR)/effects/bike_hop_big_splash.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 2 + +$(EVENTOBJGFXDIR)/effects/bike_hop_small_splash.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 1 + +$(EVENTOBJGFXDIR)/effects/bike_hop_tall_grass.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 1 + +$(EVENTOBJGFXDIR)/effects/bike_tire_tracks.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 2 + +$(EVENTOBJGFXDIR)/effects/bubbles.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/effects/deep_sand_footprints.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 2 + +$(EVENTOBJGFXDIR)/effects/ground_impact_dust.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 1 + +$(EVENTOBJGFXDIR)/effects/jump_out_of_ash.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 2 + +$(EVENTOBJGFXDIR)/effects/long_grass.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 2 + +$(EVENTOBJGFXDIR)/effects/mountain_disguise.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/effects/ripple.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 2 + +$(EVENTOBJGFXDIR)/effects/sand_disguise_placeholder.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/effects/sand_footprints.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 2 + +$(EVENTOBJGFXDIR)/effects/short_grass.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 2 + +$(EVENTOBJGFXDIR)/effects/surf_blob.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + +$(EVENTOBJGFXDIR)/effects/tall_grass.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 2 + +$(EVENTOBJGFXDIR)/effects/tree_disguise.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 4 + +$(EVENTOBJGFXDIR)/effects/unknown_16.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 2 + +$(EVENTOBJGFXDIR)/effects/unknown_17.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 2 + +$(EVENTOBJGFXDIR)/effects/unknown_18.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 2 + +$(EVENTOBJGFXDIR)/effects/unknown_19.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 2 + +$(EVENTOBJGFXDIR)/effects/unknown_20.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 2 + +$(EVENTOBJGFXDIR)/effects/unknown_29.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 1 + +$(EVENTOBJGFXDIR)/effects/unknown_33.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 2 + +$(EVENTOBJGFXDIR)/effects/unknown_35.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 2 + +$(EVENTOBJGFXDIR)/effects/unused_grass.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 2 diff --git a/src/data/field_event_obj/event_object_graphics.h b/src/data/field_event_obj/event_object_graphics.h index 522f14db40..a99d5a779e 100755 --- a/src/data/field_event_obj/event_object_graphics.h +++ b/src/data/field_event_obj/event_object_graphics.h @@ -255,12 +255,7 @@ const u32 gEventObjectPic_CableCar[] = INCBIN_U32("graphics/event_objects/pics/m const u16 gEventObjectPalette20[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_20.gbapal"); const u32 gEventObjectPic_SSTidal[] = INCBIN_U32("graphics/event_objects/pics/misc/ss_tidal.4bpp"); const u16 gEventObjectPalette21[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_21.gbapal"); -const u32 gFieldEffectObjectPic_BerryTreeGrowthSparkle_0[] = INCBIN_U32("graphics/event_objects/pics/effects/berry_tree_growth_sparkle/0.4bpp"); -const u32 gFieldEffectObjectPic_BerryTreeGrowthSparkle_1[] = INCBIN_U32("graphics/event_objects/pics/effects/berry_tree_growth_sparkle/1.4bpp"); -const u32 gFieldEffectObjectPic_BerryTreeGrowthSparkle_2[] = INCBIN_U32("graphics/event_objects/pics/effects/berry_tree_growth_sparkle/2.4bpp"); -const u32 gFieldEffectObjectPic_BerryTreeGrowthSparkle_3[] = INCBIN_U32("graphics/event_objects/pics/effects/berry_tree_growth_sparkle/3.4bpp"); -const u32 gFieldEffectObjectPic_BerryTreeGrowthSparkle_4[] = INCBIN_U32("graphics/event_objects/pics/effects/berry_tree_growth_sparkle/4.4bpp"); -const u32 gFieldEffectObjectPic_BerryTreeGrowthSparkle_5[] = INCBIN_U32("graphics/event_objects/pics/effects/berry_tree_growth_sparkle/5.4bpp"); +const u32 gFieldEffectObjectPic_BerryTreeGrowthSparkle[] = INCBIN_U32("graphics/event_objects/pics/effects/berry_tree_growth_sparkle.4bpp"); const u32 gEventObjectPic_BerryTreeDirtPile[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/dirt_pile.4bpp"); const u32 gEventObjectPic_BerryTreeSprout[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/sprout.4bpp"); const u32 gEventObjectPic_PechaBerryTree[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/pecha.4bpp"); @@ -310,72 +305,33 @@ const u32 gFieldEffectObjectPic_Ash[] = INCBIN_U32("graphics/event_objects/pics/ const u32 gFieldEffectObjectPic_Arrow[] = INCBIN_U32("graphics/event_objects/pics/effects/arrow.4bpp"); const u16 gFieldEffectObjectPalette0[] = INCBIN_U16("graphics/event_objects/palettes/field_effect_object_palette_00.gbapal"); const u16 gFieldEffectObjectPalette1[] = INCBIN_U16("graphics/event_objects/palettes/field_effect_object_palette_01.gbapal"); -const u32 gFieldEffectObjectPic_GroundImpactDust_0[] = INCBIN_U32("graphics/event_objects/pics/effects/ground_impact_dust/0.4bpp"); -const u32 gFieldEffectObjectPic_GroundImpactDust_1[] = INCBIN_U32("graphics/event_objects/pics/effects/ground_impact_dust/1.4bpp"); -const u32 gFieldEffectObjectPic_GroundImpactDust_2[] = INCBIN_U32("graphics/event_objects/pics/effects/ground_impact_dust/2.4bpp"); -const u32 gFieldEffectObjectPic_BikeHopTallGrass_0[] = INCBIN_U32("graphics/event_objects/pics/effects/bike_hop_tall_grass/0.4bpp"); -const u32 gFieldEffectObjectPic_BikeHopTallGrass_1[] = INCBIN_U32("graphics/event_objects/pics/effects/bike_hop_tall_grass/1.4bpp"); -const u32 gFieldEffectObjectPic_BikeHopTallGrass_2[] = INCBIN_U32("graphics/event_objects/pics/effects/bike_hop_tall_grass/2.4bpp"); -const u32 gFieldEffectObjectPic_BikeHopTallGrass_3[] = INCBIN_U32("graphics/event_objects/pics/effects/bike_hop_tall_grass/3.4bpp"); -const u32 gUnusedGrass_0[] = INCBIN_U32("graphics/event_objects/pics/effects/unused_grass/0.4bpp"); -const u32 gUnusedGrass_1[] = INCBIN_U32("graphics/event_objects/pics/effects/unused_grass/1.4bpp"); -const u32 gUnusedGrass_2[] = INCBIN_U32("graphics/event_objects/pics/effects/unused_grass/2.4bpp"); -const u32 gUnusedGrass_3[] = INCBIN_U32("graphics/event_objects/pics/effects/unused_grass/3.4bpp"); -const u32 gFieldEffectObjectPic_Unknown16_0[] = INCBIN_U32("graphics/event_objects/pics/effects/unknown_16/0.4bpp"); -const u32 gFieldEffectObjectPic_Unknown16_1[] = INCBIN_U32("graphics/event_objects/pics/effects/unknown_16/1.4bpp"); -const u32 gFieldEffectObjectPic_Unknown16_2[] = INCBIN_U32("graphics/event_objects/pics/effects/unknown_16/2.4bpp"); -const u32 gFieldEffectObjectPic_Unknown16_3[] = INCBIN_U32("graphics/event_objects/pics/effects/unknown_16/3.4bpp"); -const u32 gFieldEffectObjectPic_Unknown16_4[] = INCBIN_U32("graphics/event_objects/pics/effects/unknown_16/4.4bpp"); -const u32 gUnknown_084F7E38[] = INCBIN_U32("graphics/event_objects/pics/effects/unknown_4F7E38/0.4bpp"); -const u32 gFieldEffectObjectPic_Unknown16_5[] = INCBIN_U32("graphics/event_objects/pics/effects/unknown_16/5.4bpp"); +const u32 gFieldEffectObjectPic_GroundImpactDust[] = INCBIN_U32("graphics/event_objects/pics/effects/ground_impact_dust.4bpp"); +const u32 gFieldEffectObjectPic_BikeHopTallGrass[] = INCBIN_U32("graphics/event_objects/pics/effects/bike_hop_tall_grass.4bpp"); +const u32 gUnusedGrass[] = INCBIN_U32("graphics/event_objects/pics/effects/unused_grass.4bpp"); +const u32 gFieldEffectObjectPic_Unknown16[] = INCBIN_U32("graphics/event_objects/pics/effects/unknown_16.4bpp"); const u32 gFieldEffectObjectPic_Unknown17[] = INCBIN_U32("graphics/event_objects/pics/effects/unknown_17.4bpp"); -const u32 gFieldEffectObjectPic_Unknown18_0[] = INCBIN_U32("graphics/event_objects/pics/effects/unknown_18/0.4bpp"); -const u32 gFieldEffectObjectPic_Unknown18_1[] = INCBIN_U32("graphics/event_objects/pics/effects/unknown_18/1.4bpp"); -const u32 gFieldEffectObjectPic_Unknown18_2[] = INCBIN_U32("graphics/event_objects/pics/effects/unknown_18/2.4bpp"); -const u32 gFieldEffectObjectPic_Unknown18_3[] = INCBIN_U32("graphics/event_objects/pics/effects/unknown_18/3.4bpp"); -const u32 gFieldEffectObjectPic_LongGrass_0[] = INCBIN_U32("graphics/event_objects/pics/effects/long_grass/0.4bpp"); -const u32 gFieldEffectObjectPic_LongGrass_1[] = INCBIN_U32("graphics/event_objects/pics/effects/long_grass/1.4bpp"); -const u32 gFieldEffectObjectPic_LongGrass_2[] = INCBIN_U32("graphics/event_objects/pics/effects/long_grass/2.4bpp"); -const u32 gFieldEffectObjectPic_LongGrass_3[] = INCBIN_U32("graphics/event_objects/pics/effects/long_grass/3.4bpp"); +const u32 gFieldEffectObjectPic_Unknown18[] = INCBIN_U32("graphics/event_objects/pics/effects/unknown_18.4bpp"); +const u32 gFieldEffectObjectPic_LongGrass[] = INCBIN_U32("graphics/event_objects/pics/effects/long_grass.4bpp"); const u32 gFieldEffectObjectPic_TallGrass[] = INCBIN_U32("graphics/event_objects/pics/effects/tall_grass.4bpp"); const u32 gFieldEffectObjectPic_ShortGrass[] = INCBIN_U32("graphics/event_objects/pics/effects/short_grass.4bpp"); -const u32 gFieldEffectObjectPic_SandFootprints_0[] = INCBIN_U32("graphics/event_objects/pics/effects/sand_footprints/0.4bpp"); -const u32 gFieldEffectObjectPic_SandFootprints_1[] = INCBIN_U32("graphics/event_objects/pics/effects/sand_footprints/1.4bpp"); -const u32 gFieldEffectObjectPic_DeepSandFootprints_0[] = INCBIN_U32("graphics/event_objects/pics/effects/deep_sand_footprints/0.4bpp"); -const u32 gFieldEffectObjectPic_DeepSandFootprints_1[] = INCBIN_U32("graphics/event_objects/pics/effects/deep_sand_footprints/1.4bpp"); -const u32 gFieldEffectObjectPic_BikeTireTracks_0[] = INCBIN_U32("graphics/event_objects/pics/effects/bike_tire_tracks/0.4bpp"); -const u32 gFieldEffectObjectPic_BikeTireTracks_1[] = INCBIN_U32("graphics/event_objects/pics/effects/bike_tire_tracks/1.4bpp"); -const u32 gFieldEffectObjectPic_BikeTireTracks_2[] = INCBIN_U32("graphics/event_objects/pics/effects/bike_tire_tracks/2.4bpp"); -const u32 gFieldEffectObjectPic_BikeTireTracks_3[] = INCBIN_U32("graphics/event_objects/pics/effects/bike_tire_tracks/3.4bpp"); -const u32 gFieldEffectObjectPic_Unknown19_0[] = INCBIN_U32("graphics/event_objects/pics/effects/unknown_19/0.4bpp"); -const u32 gFieldEffectObjectPic_Unknown19_1[] = INCBIN_U32("graphics/event_objects/pics/effects/unknown_19/1.4bpp"); -const u32 gFieldEffectObjectPic_Unknown19_2[] = INCBIN_U32("graphics/event_objects/pics/effects/unknown_19/2.4bpp"); -const u32 gFieldEffectObjectPic_Unknown19_3[] = INCBIN_U32("graphics/event_objects/pics/effects/unknown_19/3.4bpp"); -const u32 gFieldEffectObjectPic_Unknown29_0[] = INCBIN_U32("graphics/event_objects/pics/effects/unknown_29/0.4bpp"); -const u32 gFieldEffectObjectPic_Unknown29_1[] = INCBIN_U32("graphics/event_objects/pics/effects/unknown_29/1.4bpp"); -const u32 gFieldEffectObjectPic_Unknown29_2[] = INCBIN_U32("graphics/event_objects/pics/effects/unknown_29/2.4bpp"); +const u32 gFieldEffectObjectPic_SandFootprints[] = INCBIN_U32("graphics/event_objects/pics/effects/sand_footprints.4bpp"); +const u32 gFieldEffectObjectPic_DeepSandFootprints[] = INCBIN_U32("graphics/event_objects/pics/effects/deep_sand_footprints.4bpp"); +const u32 gFieldEffectObjectPic_BikeTireTracks[] = INCBIN_U32("graphics/event_objects/pics/effects/bike_tire_tracks.4bpp"); +const u32 gFieldEffectObjectPic_Unknown19[] = INCBIN_U32("graphics/event_objects/pics/effects/unknown_19.4bpp"); +const u32 gFieldEffectObjectPic_Unknown29[] = INCBIN_U32("graphics/event_objects/pics/effects/unknown_29.4bpp"); const u32 gFieldEffectObjectPic_BikeHopBigSplash[] = INCBIN_U32("graphics/event_objects/pics/effects/bike_hop_big_splash.4bpp"); const u32 gFieldEffectObjectPic_Splash[] = INCBIN_U32("graphics/event_objects/pics/effects/splash.4bpp"); const u32 gFieldEffectObjectPic_BikeHopSmallSplash[] = INCBIN_U32("graphics/event_objects/pics/effects/bike_hop_small_splash.4bpp"); -const u32 gFieldEffectObjectPic_Unknown20_0[] = INCBIN_U32("graphics/event_objects/pics/effects/unknown_20/0.4bpp"); -const u32 gFieldEffectObjectPic_Unknown20_1[] = INCBIN_U32("graphics/event_objects/pics/effects/unknown_20/1.4bpp"); -const u32 gFieldEffectObjectPic_Unknown20_2[] = INCBIN_U32("graphics/event_objects/pics/effects/unknown_20/2.4bpp"); -const u32 gFieldEffectObjectPic_Unknown20_3[] = INCBIN_U32("graphics/event_objects/pics/effects/unknown_20/3.4bpp"); -const u32 gFieldEffectObjectPic_Unknown20_4[] = INCBIN_U32("graphics/event_objects/pics/effects/unknown_20/4.4bpp"); +const u32 gFieldEffectObjectPic_Unknown20[] = INCBIN_U32("graphics/event_objects/pics/effects/unknown_20.4bpp"); const u32 gFieldEffectObjectPic_TreeDisguise[] = INCBIN_U32("graphics/event_objects/pics/effects/tree_disguise.4bpp"); const u32 gFieldEffectObjectPic_MountainDisguise[] = INCBIN_U32("graphics/event_objects/pics/effects/mountain_disguise.4bpp"); const u32 gFieldEffectObjectPic_SandDisguisePlaceholder[] = INCBIN_U32("graphics/event_objects/pics/effects/sand_disguise_placeholder.4bpp"); const u32 gFieldEffectObjectPic_HotSpringsWater[] = INCBIN_U32("graphics/event_objects/pics/effects/hot_springs_water.4bpp"); const u16 gFieldEffectObjectPalette2[] = INCBIN_U16("graphics/event_objects/palettes/field_effect_object_palette_02.gbapal"); const u32 gFieldEffectObjectPic_JumpOutOfAsh[] = INCBIN_U32("graphics/event_objects/pics/effects/jump_out_of_ash.4bpp"); -const u32 gFieldEffectObjectPic_Unknown33_0[] = INCBIN_U32("graphics/event_objects/pics/effects/unknown_33/0.4bpp"); -const u32 gFieldEffectObjectPic_Unknown33_1[] = INCBIN_U32("graphics/event_objects/pics/effects/unknown_33/1.4bpp"); -const u32 gFieldEffectObjectPic_Unknown33_2[] = INCBIN_U32("graphics/event_objects/pics/effects/unknown_33/2.4bpp"); -const u32 gFieldEffectObjectPic_Unknown33_3[] = INCBIN_U32("graphics/event_objects/pics/effects/unknown_33/3.4bpp"); -const u32 gFieldEffectObjectPic_Unknown33_4[] = INCBIN_U32("graphics/event_objects/pics/effects/unknown_33/4.4bpp"); +const u32 gFieldEffectObjectPic_Unknown33[] = INCBIN_U32("graphics/event_objects/pics/effects/unknown_33.4bpp"); const u32 gFieldEffectObjectPic_Bubbles[] = INCBIN_U32("graphics/event_objects/pics/effects/bubbles.4bpp"); -const u32 gFieldEffectObjectPic_Unknown35_0[] = INCBIN_U32("graphics/event_objects/pics/effects/unknown_35/0.4bpp"); -const u32 gFieldEffectObjectPic_Unknown35_1[] = INCBIN_U32("graphics/event_objects/pics/effects/unknown_35/1.4bpp"); +const u32 gFieldEffectObjectPic_Unknown35[] = INCBIN_U32("graphics/event_objects/pics/effects/unknown_35.4bpp"); const u16 gFieldEffectObjectPalette3[] = INCBIN_U16("graphics/event_objects/palettes/field_effect_object_palette_03.gbapal"); const u32 gFieldEffectObjectPic_Bird[] = INCBIN_U32("graphics/event_objects/pics/effects/bird.4bpp"); const u32 gEventObjectPic_Juan[] = INCBIN_U32("graphics/event_objects/pics/people/gym_leaders/juan.4bpp"); diff --git a/src/data/field_event_obj/field_effect_objects.h b/src/data/field_event_obj/field_effect_objects.h index 45a498dac1..15fc733433 100755 --- a/src/data/field_event_obj/field_effect_objects.h +++ b/src/data/field_event_obj/field_effect_objects.h @@ -208,9 +208,9 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_Arrow[] = const struct SpriteTemplate gFieldEffectObjectTemplate_Arrow = {0xFFFF, 0xFFFF, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_Arrow, gFieldEffectObjectPicTable_Arrow, gDummySpriteAffineAnimTable, SpriteCallbackDummy}; const struct SpriteFrameImage gFieldEffectObjectPicTable_GroundImpactDust[] = { - obj_frame_tiles(gFieldEffectObjectPic_GroundImpactDust_0), - obj_frame_tiles(gFieldEffectObjectPic_GroundImpactDust_1), - obj_frame_tiles(gFieldEffectObjectPic_GroundImpactDust_2), + overworld_frame(gFieldEffectObjectPic_GroundImpactDust, 2, 1, 0), + overworld_frame(gFieldEffectObjectPic_GroundImpactDust, 2, 1, 1), + overworld_frame(gFieldEffectObjectPic_GroundImpactDust, 2, 1, 2), }; const union AnimCmd gFieldEffectObjectImageAnim_850CC8C[] = @@ -229,10 +229,10 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_GroundImpactDust[] = const struct SpriteTemplate gFieldEffectObjectTemplate_GroundImpactDust = {0xFFFF, 0x1004, &gEventObjectBaseOam_16x8, gFieldEffectObjectImageAnimTable_GroundImpactDust, gFieldEffectObjectPicTable_GroundImpactDust, gDummySpriteAffineAnimTable, sub_8156194}; const struct SpriteFrameImage gFieldEffectObjectPicTable_BikeHopTallGrass[] = { - obj_frame_tiles(gFieldEffectObjectPic_BikeHopTallGrass_0), - obj_frame_tiles(gFieldEffectObjectPic_BikeHopTallGrass_1), - obj_frame_tiles(gFieldEffectObjectPic_BikeHopTallGrass_2), - obj_frame_tiles(gFieldEffectObjectPic_BikeHopTallGrass_3), + overworld_frame(gFieldEffectObjectPic_BikeHopTallGrass, 2, 1, 0), + overworld_frame(gFieldEffectObjectPic_BikeHopTallGrass, 2, 1, 1), + overworld_frame(gFieldEffectObjectPic_BikeHopTallGrass, 2, 1, 2), + overworld_frame(gFieldEffectObjectPic_BikeHopTallGrass, 2, 1, 3), }; const union AnimCmd gFieldEffectObjectImageAnim_850CCD8[] = @@ -252,8 +252,8 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_BikeHopTallGrass[] = const struct SpriteTemplate gFieldEffectObjectTemplate_BikeHopTallGrass = {0xFFFF, 0x1005, &gEventObjectBaseOam_16x8, gFieldEffectObjectImageAnimTable_BikeHopTallGrass, gFieldEffectObjectPicTable_BikeHopTallGrass, gDummySpriteAffineAnimTable, sub_8156194}; const struct SpriteFrameImage gFieldEffectObjectPicTable_SandFootprints[] = { - obj_frame_tiles(gFieldEffectObjectPic_SandFootprints_0), - obj_frame_tiles(gFieldEffectObjectPic_SandFootprints_1), + overworld_frame(gFieldEffectObjectPic_SandFootprints, 2, 2, 0), + overworld_frame(gFieldEffectObjectPic_SandFootprints, 2, 2, 1), }; const union AnimCmd gFieldEffectObjectImageAnim_850CD18[] = @@ -292,8 +292,8 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_SandFootprints[] = const struct SpriteTemplate gFieldEffectObjectTemplate_SandFootprints = {0xFFFF, 0x1004, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_SandFootprints, gFieldEffectObjectPicTable_SandFootprints, gDummySpriteAffineAnimTable, sub_8154C60}; const struct SpriteFrameImage gFieldEffectObjectPicTable_DeepSandFootprints[] = { - obj_frame_tiles(gFieldEffectObjectPic_DeepSandFootprints_0), - obj_frame_tiles(gFieldEffectObjectPic_DeepSandFootprints_1), + overworld_frame(gFieldEffectObjectPic_DeepSandFootprints, 2, 2, 0), + overworld_frame(gFieldEffectObjectPic_DeepSandFootprints, 2, 2, 1), }; const union AnimCmd gFieldEffectObjectImageAnim_850CD74[] = @@ -332,10 +332,10 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_DeepSandFootprints[] const struct SpriteTemplate gFieldEffectObjectTemplate_DeepSandFootprints = {0xFFFF, 0x1004, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_DeepSandFootprints, gFieldEffectObjectPicTable_DeepSandFootprints, gDummySpriteAffineAnimTable, sub_8154C60}; const struct SpriteFrameImage gFieldEffectObjectPicTable_BikeTireTracks[] = { - obj_frame_tiles(gFieldEffectObjectPic_BikeTireTracks_0), - obj_frame_tiles(gFieldEffectObjectPic_BikeTireTracks_1), - obj_frame_tiles(gFieldEffectObjectPic_BikeTireTracks_2), - obj_frame_tiles(gFieldEffectObjectPic_BikeTireTracks_3), + overworld_frame(gFieldEffectObjectPic_BikeTireTracks, 2, 2, 0), + overworld_frame(gFieldEffectObjectPic_BikeTireTracks, 2, 2, 1), + overworld_frame(gFieldEffectObjectPic_BikeTireTracks, 2, 2, 2), + overworld_frame(gFieldEffectObjectPic_BikeTireTracks, 2, 2, 3), }; const union AnimCmd gFieldEffectObjectImageAnim_850CDE0[] = @@ -479,10 +479,10 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_BikeHopSmallSplash[] const struct SpriteTemplate gFieldEffectObjectTemplate_BikeHopSmallSplash = {0xFFFF, 0x1004, &gEventObjectBaseOam_16x8, gFieldEffectObjectImageAnimTable_BikeHopSmallSplash, gFieldEffectObjectPicTable_BikeHopSmallSplash, gDummySpriteAffineAnimTable, sub_8156194}; const struct SpriteFrameImage gFieldEffectObjectPicTable_LongGrass[] = { - obj_frame_tiles(gFieldEffectObjectPic_LongGrass_0), - obj_frame_tiles(gFieldEffectObjectPic_LongGrass_1), - obj_frame_tiles(gFieldEffectObjectPic_LongGrass_2), - obj_frame_tiles(gFieldEffectObjectPic_LongGrass_3), + overworld_frame(gFieldEffectObjectPic_LongGrass, 2, 2, 0), + overworld_frame(gFieldEffectObjectPic_LongGrass, 2, 2, 1), + overworld_frame(gFieldEffectObjectPic_LongGrass, 2, 2, 2), + overworld_frame(gFieldEffectObjectPic_LongGrass, 2, 2, 3), }; const union AnimCmd gFieldEffectObjectImageAnim_850CF70[] = @@ -505,12 +505,12 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_LongGrass[] = const struct SpriteTemplate gFieldEffectObjectTemplate_LongGrass = {0xFFFF, 0x1005, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_LongGrass, gFieldEffectObjectPicTable_LongGrass, gDummySpriteAffineAnimTable, unc_grass_tall}; const struct SpriteFrameImage gFieldEffectObjectPicTable_Unknown16[] = { - obj_frame_tiles(gFieldEffectObjectPic_Unknown16_0), - obj_frame_tiles(gFieldEffectObjectPic_Unknown16_1), - obj_frame_tiles(gFieldEffectObjectPic_Unknown16_2), - obj_frame_tiles(gFieldEffectObjectPic_Unknown16_3), - obj_frame_tiles(gFieldEffectObjectPic_Unknown16_4), - obj_frame_tiles(gFieldEffectObjectPic_Unknown16_5), + overworld_frame(gFieldEffectObjectPic_Unknown16, 2, 2, 0), + overworld_frame(gFieldEffectObjectPic_Unknown16, 2, 2, 1), + overworld_frame(gFieldEffectObjectPic_Unknown16, 2, 2, 2), + overworld_frame(gFieldEffectObjectPic_Unknown16, 2, 2, 3), + overworld_frame(gFieldEffectObjectPic_Unknown16, 2, 2, 4), + overworld_frame(gFieldEffectObjectPic_Unknown16, 2, 2, 6), }; const union AnimCmd gFieldEffectObjectImageAnim_850CFDC[] = @@ -532,7 +532,7 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_Unknown16[] = const struct SpriteTemplate gFieldEffectObjectTemplate_Unknown16 = {0xFFFF, 0x1005, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_Unknown16, gFieldEffectObjectPicTable_Unknown16, gDummySpriteAffineAnimTable, sub_8156194}; const struct SpriteFrameImage gFieldEffectObjectPicTable_Unknown17[] = { - obj_frame_tiles(gFieldEffectObjectPic_Unknown16_5), + overworld_frame(gFieldEffectObjectPic_Unknown16, 2, 2, 6), overworld_frame(gFieldEffectObjectPic_Unknown17, 2, 2, 0), overworld_frame(gFieldEffectObjectPic_Unknown17, 2, 2, 1), overworld_frame(gFieldEffectObjectPic_Unknown17, 2, 2, 2), @@ -565,10 +565,10 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_Unknown17[] = const struct SpriteTemplate gFieldEffectObjectTemplate_Unknown17 = {0xFFFF, 0x1005, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_Unknown17, gFieldEffectObjectPicTable_Unknown17, gDummySpriteAffineAnimTable, sub_81561D0}; const struct SpriteFrameImage gFieldEffectObjectPicTable_Unknown18[] = { - obj_frame_tiles(gFieldEffectObjectPic_Unknown18_0), - obj_frame_tiles(gFieldEffectObjectPic_Unknown18_1), - obj_frame_tiles(gFieldEffectObjectPic_Unknown18_2), - obj_frame_tiles(gFieldEffectObjectPic_Unknown18_3), + overworld_frame(gFieldEffectObjectPic_Unknown18, 2, 2, 0), + overworld_frame(gFieldEffectObjectPic_Unknown18, 2, 2, 1), + overworld_frame(gFieldEffectObjectPic_Unknown18, 2, 2, 2), + overworld_frame(gFieldEffectObjectPic_Unknown18, 2, 2, 3), }; const union AnimCmd gFieldEffectObjectImageAnim_850D0C0[] = @@ -590,10 +590,10 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_Unknown18[] = const struct SpriteTemplate gFieldEffectObjectTemplate_Unknown18 = {0xFFFF, 0x1005, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_Unknown18, gFieldEffectObjectPicTable_Unknown18, gDummySpriteAffineAnimTable, sub_81561D0}; const struct SpriteFrameImage gFieldEffectObjectPicTable_Unknown19[] = { - obj_frame_tiles(gFieldEffectObjectPic_Unknown19_0), - obj_frame_tiles(gFieldEffectObjectPic_Unknown19_1), - obj_frame_tiles(gFieldEffectObjectPic_Unknown19_2), - obj_frame_tiles(gFieldEffectObjectPic_Unknown19_3), + overworld_frame(gFieldEffectObjectPic_Unknown19, 2, 2, 0), + overworld_frame(gFieldEffectObjectPic_Unknown19, 2, 2, 1), + overworld_frame(gFieldEffectObjectPic_Unknown19, 2, 2, 2), + overworld_frame(gFieldEffectObjectPic_Unknown19, 2, 2, 3), }; const union AnimCmd gFieldEffectObjectImageAnim_850D118[] = @@ -613,9 +613,9 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_Unknown19[] = const struct SpriteTemplate gFieldEffectObjectTemplate_Unknown19 = {0xFFFF, 0x1004, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_Unknown19, gFieldEffectObjectPicTable_Unknown19, gDummySpriteAffineAnimTable, sub_81561D0}; const struct SpriteFrameImage gFieldEffectObjectPicTable_Unknown29[] = { - obj_frame_tiles(gFieldEffectObjectPic_Unknown29_0), - obj_frame_tiles(gFieldEffectObjectPic_Unknown29_1), - obj_frame_tiles(gFieldEffectObjectPic_Unknown29_2), + overworld_frame(gFieldEffectObjectPic_Unknown29, 2, 1, 0), + overworld_frame(gFieldEffectObjectPic_Unknown29, 2, 1, 1), + overworld_frame(gFieldEffectObjectPic_Unknown29, 2, 1, 2), }; const union AnimCmd gFieldEffectObjectImageAnim_850D160[] = @@ -634,10 +634,10 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_Unknown29[] = const struct SpriteTemplate gFieldEffectObjectTemplate_Unknown29 = {0xFFFF, 0x1004, &gEventObjectBaseOam_16x8, gFieldEffectObjectImageAnimTable_Unknown29, gFieldEffectObjectPicTable_Unknown29, gDummySpriteAffineAnimTable, sub_81559BC}; const struct SpriteFrameImage gFieldEffectObjectPicTable_Unknown20[] = { - obj_frame_tiles(gFieldEffectObjectPic_Unknown20_0), - obj_frame_tiles(gFieldEffectObjectPic_Unknown20_1), - obj_frame_tiles(gFieldEffectObjectPic_Unknown20_2), - obj_frame_tiles(gFieldEffectObjectPic_Unknown20_3), + overworld_frame(gFieldEffectObjectPic_Unknown20, 2, 2, 0), + overworld_frame(gFieldEffectObjectPic_Unknown20, 2, 2, 1), + overworld_frame(gFieldEffectObjectPic_Unknown20, 2, 2, 2), + overworld_frame(gFieldEffectObjectPic_Unknown20, 2, 2, 3), }; const union AnimCmd gFieldEffectObjectImageAnim_850D1AC[] = @@ -695,12 +695,12 @@ const union AffineAnimCmd *const gFieldEffectObjectRotScalAnimTable_Unknown21[] const struct SpriteTemplate gFieldEffectObjectTemplate_Unknown21 = {0x0, 0xFFFF, &gDummyOamData, gDummySpriteAnimTable, NULL, gFieldEffectObjectRotScalAnimTable_Unknown21, SpriteCallbackDummy}; const struct SpriteFrameImage gFieldEffectObjectPicTable_BerryTreeGrowthSparkle[] = { - obj_frame_tiles(gFieldEffectObjectPic_BerryTreeGrowthSparkle_0), - obj_frame_tiles(gFieldEffectObjectPic_BerryTreeGrowthSparkle_1), - obj_frame_tiles(gFieldEffectObjectPic_BerryTreeGrowthSparkle_2), - obj_frame_tiles(gFieldEffectObjectPic_BerryTreeGrowthSparkle_3), - obj_frame_tiles(gFieldEffectObjectPic_BerryTreeGrowthSparkle_4), - obj_frame_tiles(gFieldEffectObjectPic_BerryTreeGrowthSparkle_5), + overworld_frame(gFieldEffectObjectPic_BerryTreeGrowthSparkle, 2, 2, 0), + overworld_frame(gFieldEffectObjectPic_BerryTreeGrowthSparkle, 2, 2, 1), + overworld_frame(gFieldEffectObjectPic_BerryTreeGrowthSparkle, 2, 2, 2), + overworld_frame(gFieldEffectObjectPic_BerryTreeGrowthSparkle, 2, 2, 3), + overworld_frame(gFieldEffectObjectPic_BerryTreeGrowthSparkle, 2, 2, 4), + overworld_frame(gFieldEffectObjectPic_BerryTreeGrowthSparkle, 2, 2, 5), }; const union AnimCmd gFieldEffectObjectImageAnim_850D2D4[] = @@ -900,11 +900,11 @@ const struct SpriteTemplate gFieldEffectObjectTemplate_JumpOutOfAsh = {0xFFFF, 0 const struct SpritePalette gFieldEffectObjectPaletteInfo2 = {gFieldEffectObjectPalette2, 0x100D}; const struct SpriteFrameImage gFieldEffectObjectPicTable_Unknown33[] = { - obj_frame_tiles(gFieldEffectObjectPic_Unknown33_0), - obj_frame_tiles(gFieldEffectObjectPic_Unknown33_1), - obj_frame_tiles(gFieldEffectObjectPic_Unknown33_2), - obj_frame_tiles(gFieldEffectObjectPic_Unknown33_3), - obj_frame_tiles(gFieldEffectObjectPic_Unknown33_4), + overworld_frame(gFieldEffectObjectPic_Unknown33, 2, 2, 0), + overworld_frame(gFieldEffectObjectPic_Unknown33, 2, 2, 1), + overworld_frame(gFieldEffectObjectPic_Unknown33, 2, 2, 2), + overworld_frame(gFieldEffectObjectPic_Unknown33, 2, 2, 3), + overworld_frame(gFieldEffectObjectPic_Unknown33, 2, 2, 4), }; const union AnimCmd gFieldEffectObjectImageAnim_850D5B0[] = @@ -956,8 +956,8 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_Bubbles[] = const struct SpriteTemplate gFieldEffectObjectTemplate_Bubbles = {0xFFFF, 0x1004, &gEventObjectBaseOam_16x32, gFieldEffectObjectImageAnimTable_Bubbles, gFieldEffectObjectPicTable_Bubbles, gDummySpriteAffineAnimTable, sub_8155AEC}; const struct SpriteFrameImage gFieldEffectObjectPicTable_Unknown35[] = { - obj_frame_tiles(gFieldEffectObjectPic_Unknown35_0), - obj_frame_tiles(gFieldEffectObjectPic_Unknown35_1), + overworld_frame(gFieldEffectObjectPic_Unknown35, 2, 2, 0), + overworld_frame(gFieldEffectObjectPic_Unknown35, 2, 2, 1), }; const union AnimCmd gFieldEffectObjectImageAnim_850D674[] = From f40fa373988288ee6ca9b8938cb6c33aa409575e Mon Sep 17 00:00:00 2001 From: Slawter666 <38655737+Slawter666@users.noreply.github.com> Date: Tue, 11 Sep 2018 23:37:47 +0100 Subject: [PATCH 203/234] Move battle_bg data to C --- data/data2c.s | 173 ----------- include/battle_main.h | 2 +- ld_script.txt | 1 + src/battle_bg.c | 679 ++++++++++++++++++++++++++++++++++++++++-- src/battle_main.c | 2 +- 5 files changed, 659 insertions(+), 198 deletions(-) diff --git a/data/data2c.s b/data/data2c.s index a661dc165a..1946f5bdb4 100644 --- a/data/data2c.s +++ b/data/data2c.s @@ -8,179 +8,6 @@ .section .rodata - .align 2 - .2byte 0x0300, 0x0000 - - .align 2 -gUnknown_0831A988:: @ 831A988 - .byte 0x00, 0x03, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00 - - .align 2 -gUnknown_0831A990:: @ 831A990 - .byte 0x00, 0x03, 0x00, 0xc0, 0x40, 0x00, 0x00, 0x00 - - .align 2 -gUnknown_0831A998:: @ 831A998 - .2byte 0x0080, 0x0080, 0x0000, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_0831A9A8:: @ 831A9A8 - .2byte 0x0080, 0x0080, 0x0000, 0x0000, 0x0018, 0x0018, 0x8000, 0x0000 - .2byte 0x0018, 0x0018, 0x8000, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_0831A9C8:: @ 831A9C8 - .4byte gUnknown_0831A998 - .4byte gUnknown_0831A9A8 - - .align 2 -gUnknown_0831A9D0:: @ 831A9D0 - spr_template 0x2710, 0x2710, gUnknown_0831A988, gDummySpriteAnimTable, NULL, gUnknown_0831A9C8, nullsub_17 - - .align 2 -gUnknown_0831A9E8:: @ 831A9E8 - spr_template 0x2710, 0x2710, gUnknown_0831A990, gDummySpriteAnimTable, NULL, gUnknown_0831A9C8, nullsub_17 - - .align 2 -gUnknown_0831AA00:: @ 831AA00 - obj_tiles gUnknown_08D77B0C, 0x1000, 0x2710 - - .align 2 -gBattleBgTemplates:: @ 831AA08 - .4byte 0x00000580, 0x000005c5, 0x000013e6, 0x000033ab - - .align 2 -gUnknown_0831AA18:: @ 831AA18 - window_template 0x00, 0x02, 0x0f, 0x1a, 0x04, 0x00, 0x0090 - window_template 0x00, 0x01, 0x23, 0x0e, 0x04, 0x00, 0x01c0 - window_template 0x00, 0x11, 0x23, 0x0c, 0x04, 0x05, 0x0190 - window_template 0x00, 0x02, 0x37, 0x08, 0x02, 0x05, 0x0300 - window_template 0x00, 0x0b, 0x37, 0x08, 0x02, 0x05, 0x0310 - window_template 0x00, 0x02, 0x39, 0x08, 0x02, 0x05, 0x0320 - window_template 0x00, 0x0b, 0x39, 0x08, 0x02, 0x05, 0x0330 - window_template 0x00, 0x15, 0x37, 0x04, 0x02, 0x05, 0x0290 - window_template 0x00, 0x15, 0x39, 0x00, 0x00, 0x05, 0x0298 - window_template 0x00, 0x19, 0x37, 0x04, 0x02, 0x05, 0x0298 - window_template 0x00, 0x15, 0x39, 0x08, 0x02, 0x05, 0x02a0 - window_template 0x00, 0x15, 0x37, 0x08, 0x04, 0x05, 0x02b0 - window_template 0x00, 0x1a, 0x09, 0x03, 0x04, 0x05, 0x0100 - window_template 0x01, 0x13, 0x08, 0x0a, 0x0b, 0x05, 0x0100 - window_template 0x02, 0x12, 0x00, 0x0c, 0x03, 0x06, 0x016e - window_template 0x01, 0x02, 0x03, 0x06, 0x02, 0x05, 0x0020 - window_template 0x02, 0x02, 0x03, 0x06, 0x02, 0x05, 0x0040 - window_template 0x01, 0x02, 0x02, 0x06, 0x02, 0x05, 0x0020 - window_template 0x02, 0x02, 0x02, 0x06, 0x02, 0x05, 0x0040 - window_template 0x01, 0x02, 0x06, 0x06, 0x02, 0x05, 0x0060 - window_template 0x02, 0x02, 0x06, 0x06, 0x02, 0x05, 0x0080 - window_template 0x00, 0x0c, 0x02, 0x06, 0x02, 0x00, 0x00a0 - window_template 0x00, 0x04, 0x02, 0x07, 0x02, 0x00, 0x00a0 - window_template 0x00, 0x13, 0x02, 0x07, 0x02, 0x00, 0x00b0 - null_window_template - - .align 2 -gUnknown_0831AAE0:: @ 831AAE0 - window_template 0x00, 0x02, 0x0f, 0x1a, 0x04, 0x00, 0x0090 - window_template 0x00, 0x01, 0x23, 0x0e, 0x04, 0x00, 0x01c0 - window_template 0x00, 0x11, 0x23, 0x0c, 0x04, 0x05, 0x0190 - window_template 0x00, 0x02, 0x37, 0x08, 0x02, 0x05, 0x0300 - window_template 0x00, 0x0b, 0x37, 0x08, 0x02, 0x05, 0x0310 - window_template 0x00, 0x02, 0x39, 0x08, 0x02, 0x05, 0x0320 - window_template 0x00, 0x0b, 0x39, 0x08, 0x02, 0x05, 0x0330 - window_template 0x00, 0x15, 0x37, 0x04, 0x02, 0x05, 0x0290 - window_template 0x00, 0x15, 0x39, 0x00, 0x00, 0x05, 0x0298 - window_template 0x00, 0x19, 0x37, 0x04, 0x02, 0x05, 0x0298 - window_template 0x00, 0x15, 0x39, 0x08, 0x02, 0x05, 0x02a0 - window_template 0x00, 0x15, 0x37, 0x08, 0x04, 0x05, 0x02b0 - window_template 0x00, 0x1a, 0x09, 0x03, 0x04, 0x05, 0x0100 - window_template 0x01, 0x13, 0x08, 0x0a, 0x0b, 0x05, 0x0100 - window_template 0x02, 0x12, 0x00, 0x0c, 0x03, 0x06, 0x016e - window_template 0x00, 0x06, 0x01, 0x08, 0x02, 0x05, 0x0100 - window_template 0x00, 0x0e, 0x01, 0x02, 0x02, 0x05, 0x0110 - window_template 0x00, 0x10, 0x01, 0x08, 0x02, 0x05, 0x0114 - window_template 0x00, 0x0c, 0x04, 0x06, 0x02, 0x05, 0x0124 - window_template 0x00, 0x0c, 0x06, 0x06, 0x02, 0x05, 0x0130 - window_template 0x00, 0x0c, 0x08, 0x06, 0x02, 0x05, 0x013c - window_template 0x00, 0x08, 0x0b, 0x0e, 0x02, 0x05, 0x0148 - window_template 0x00, 0x02, 0x0f, 0x1a, 0x04, 0x07, 0x0090 - null_window_template - - .align 2 -gBattleWindowTemplates:: @ 831ABA0 - .4byte gUnknown_0831AA18 - .4byte gUnknown_0831AAE0 - - .align 2 -gBattleTerrainTable:: @ 831ABA8 - @ tall_grass - .4byte gBattleTerrainTiles_TallGrass - .4byte gBattleTerrainTilemap_TallGrass - .4byte gBattleTerrainAnimTiles_TallGrass - .4byte gBattleTerrainAnimTilemap_TallGrass - .4byte gBattleTerrainPalette_TallGrass - - @ long_grass - .4byte gBattleTerrainTiles_LongGrass - .4byte gBattleTerrainTilemap_LongGrass - .4byte gBattleTerrainAnimTiles_LongGrass - .4byte gBattleTerrainAnimTilemap_LongGrass - .4byte gBattleTerrainPalette_LongGrass - - @ sand - .4byte gBattleTerrainTiles_Sand - .4byte gBattleTerrainTilemap_Sand - .4byte gBattleTerrainAnimTiles_Sand - .4byte gBattleTerrainAnimTilemap_Sand - .4byte gBattleTerrainPalette_Sand - - @ underwater - .4byte gBattleTerrainTiles_Underwater - .4byte gBattleTerrainTilemap_Underwater - .4byte gBattleTerrainAnimTiles_Underwater - .4byte gBattleTerrainAnimTilemap_Underwater - .4byte gBattleTerrainPalette_Underwater - - @ water - .4byte gBattleTerrainTiles_Water - .4byte gBattleTerrainTilemap_Water - .4byte gBattleTerrainAnimTiles_Water - .4byte gBattleTerrainAnimTilemap_Water - .4byte gBattleTerrainPalette_Water - - @ pond_water - .4byte gBattleTerrainTiles_PondWater - .4byte gBattleTerrainTilemap_PondWater - .4byte gBattleTerrainAnimTiles_PondWater - .4byte gBattleTerrainAnimTilemap_PondWater - .4byte gBattleTerrainPalette_PondWater - - @ rock - .4byte gBattleTerrainTiles_Rock - .4byte gBattleTerrainTilemap_Rock - .4byte gBattleTerrainAnimTiles_Rock - .4byte gBattleTerrainAnimTilemap_Rock - .4byte gBattleTerrainPalette_Rock - - @ cave - .4byte gBattleTerrainTiles_Cave - .4byte gBattleTerrainTilemap_Cave - .4byte gBattleTerrainAnimTiles_Cave - .4byte gBattleTerrainAnimTilemap_Cave - .4byte gBattleTerrainPalette_Cave - - @ building - .4byte gBattleTerrainTiles_Building - .4byte gBattleTerrainTilemap_Building - .4byte gBattleTerrainAnimTiles_Building - .4byte gBattleTerrainAnimTilemap_Building - .4byte gBattleTerrainPalette_Building - - @ plain - .4byte gBattleTerrainTiles_Building - .4byte gBattleTerrainTilemap_Building - .4byte gBattleTerrainAnimTiles_Building - .4byte gBattleTerrainAnimTilemap_Building - .4byte gBattleTerrainPalette_Plain - .align 2 gUnknown_0831AC70:: @ 831AC70 .4byte REG_BG3HOFS diff --git a/include/battle_main.h b/include/battle_main.h index 27e61c8fc2..5a61b5ef01 100644 --- a/include/battle_main.h +++ b/include/battle_main.h @@ -35,7 +35,7 @@ void CB2_QuitRecordedBattle(void); void sub_8038528(struct Sprite* sprite); void sub_8038A04(void); // unused void VBlankCB_Battle(void); -void nullsub_17(void); +void nullsub_17(struct Sprite *sprite); void sub_8038B74(struct Sprite *sprite); void sub_8038D64(void); u32 sub_80391E0(u8 arrayId, u8 caseId); diff --git a/ld_script.txt b/ld_script.txt index 6ec697253f..56d246d70f 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -382,6 +382,7 @@ SECTIONS { src/rom_8034C54.o(.rodata); src/data2b.o(.rodata); src/battle_data.o(.rodata); + src/battle_bg.o(.rodata); data/data2c.o(.rodata); src/battle_main.o(.rodata); src/battle_util.o(.rodata); diff --git a/src/battle_bg.c b/src/battle_bg.c index 999b64a542..b8c24e10fe 100644 --- a/src/battle_bg.c +++ b/src/battle_bg.c @@ -1,24 +1,26 @@ #include "global.h" #include "battle.h" -#include "sprite.h" -#include "constants/trainers.h" -#include "graphics.h" -#include "decompress.h" -#include "bg.h" -#include "palette.h" -#include "main.h" -#include "gpu_regs.h" -#include "link.h" +#include "battle_bg.h" +#include "battle_main.h" #include "battle_message.h" -#include "task.h" -#include "trig.h" -#include "sound.h" -#include "constants/songs.h" -#include "window.h" -#include "text_window.h" -#include "menu.h" #include "battle_setup.h" +#include "bg.h" +#include "decompress.h" +#include "gpu_regs.h" +#include "graphics.h" +#include "link.h" +#include "main.h" +#include "menu.h" +#include "palette.h" +#include "sound.h" +#include "sprite.h" +#include "task.h" +#include "text_window.h" +#include "trig.h" +#include "window.h" #include "constants/map_types.h" +#include "constants/songs.h" +#include "constants/trainers.h" struct BattleBackground { @@ -29,13 +31,6 @@ struct BattleBackground const void *palette; }; -extern const struct SpriteTemplate gUnknown_0831A9D0; -extern const struct SpriteTemplate gUnknown_0831A9E8; -extern const struct CompressedSpriteSheet gUnknown_0831AA00; -extern const struct BgTemplate gBattleBgTemplates[4]; -extern const struct WindowTemplate *const gBattleWindowTemplates[]; -extern const struct BattleBackground gBattleTerrainTable[]; - extern u16 gBattle_BG1_X; extern u16 gBattle_BG1_Y; extern u16 gBattle_BG2_X; @@ -43,6 +38,644 @@ extern u16 gBattle_BG2_Y; extern u8 GetCurrentMapBattleScene(void); +// .rodata +static const u16 sUnrefArray[] = {0x0300, 0x0000}; //OamData? + +static const struct OamData gUnknown_0831A988 = +{ + .y = 0, + .affineMode = 3, + .objMode = 0, + .mosaic = 0, + .bpp = 0, + .shape = 0, + .x = 0, + .matrixNum = 0, + .size = 3, + .tileNum = 0, + .priority = 0, + .paletteNum = 0, + .affineParam = 0, +}; + +static const struct OamData gUnknown_0831A990 = +{ + .y = 0, + .affineMode = 3, + .objMode = 0, + .mosaic = 0, + .bpp = 0, + .shape = 0, + .x = 0, + .matrixNum = 0, + .size = 3, + .tileNum = 64, + .priority = 0, + .paletteNum = 0, + .affineParam = 0, +}; + +static const union AffineAnimCmd gUnknown_0831A998[] = +{ + AFFINEANIMCMD_FRAME(0x0080, 0x0080, 0x00, 0x00), + AFFINEANIMCMD_END, +}; + +static const union AffineAnimCmd gUnknown_0831A9A8[] = +{ + AFFINEANIMCMD_FRAME(0x0080, 0x0080, 0x00, 0x00), + AFFINEANIMCMD_FRAME(0x0018, 0x0018, 0x00, 0x80), + AFFINEANIMCMD_FRAME(0x0018, 0x0018, 0x00, 0x80), + AFFINEANIMCMD_END, +}; + +static const union AffineAnimCmd * const gUnknown_0831A9C8[] = +{ + gUnknown_0831A998, + gUnknown_0831A9A8, +}; + +static const struct SpriteTemplate gUnknown_0831A9D0 = +{ + .tileTag = 0x2710, + .paletteTag = 0x2710, + .oam = &gUnknown_0831A988, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gUnknown_0831A9C8, + .callback = nullsub_17 +}; + +static const struct SpriteTemplate gUnknown_0831A9E8 = +{ + .tileTag = 0x2710, + .paletteTag = 0x2710, + .oam = &gUnknown_0831A990, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gUnknown_0831A9C8, + .callback = nullsub_17 +}; + +static const struct CompressedSpriteSheet gUnknown_0831AA00 = +{ + gUnknown_08D77B0C, 0x1000, 0x2710 +}; + +const struct BgTemplate gBattleBgTemplates[] = +{ + { + .bg = 0, + .charBaseIndex = 0, + .mapBaseIndex = 24, + .screenSize = 2, + .paletteMode = 0, + .priority = 0, + .baseTile = 0 + }, + { + .bg = 1, + .charBaseIndex = 1, + .mapBaseIndex = 28, + .screenSize = 2, + .paletteMode = 0, + .priority = 0, + .baseTile = 0 + }, + { + .bg = 2, + .charBaseIndex = 1, + .mapBaseIndex = 30, + .screenSize = 1, + .paletteMode = 0, + .priority = 1, + .baseTile = 0 + }, + { + .bg = 3, + .charBaseIndex = 2, + .mapBaseIndex = 26, + .screenSize = 1, + .paletteMode = 0, + .priority = 3, + .baseTile = 0 + }, +}; + +static const struct WindowTemplate gUnknown_0831AA18[] = +{ + { + .priority = 0, + .tilemapLeft = 2, + .tilemapTop = 15, + .width = 26, + .height = 4, + .paletteNum = 0, + .baseBlock = 0x0090, + }, + { + .priority = 0, + .tilemapLeft = 1, + .tilemapTop = 35, + .width = 14, + .height = 4, + .paletteNum = 0, + .baseBlock = 0x01c0, + }, + { + .priority = 0, + .tilemapLeft = 17, + .tilemapTop = 35, + .width = 12, + .height = 4, + .paletteNum = 5, + .baseBlock = 0x0190, + }, + { + .priority = 0, + .tilemapLeft = 2, + .tilemapTop = 55, + .width = 8, + .height = 2, + .paletteNum = 5, + .baseBlock = 0x0300, + }, + { + .priority = 0, + .tilemapLeft = 11, + .tilemapTop = 55, + .width = 8, + .height = 2, + .paletteNum = 5, + .baseBlock = 0x0310, + }, + { + .priority = 0, + .tilemapLeft = 2, + .tilemapTop = 57, + .width = 8, + .height = 2, + .paletteNum = 5, + .baseBlock = 0x0320, + }, + { + .priority = 0, + .tilemapLeft = 11, + .tilemapTop = 57, + .width = 8, + .height = 2, + .paletteNum = 5, + .baseBlock = 0x0330, + }, + { + .priority = 0, + .tilemapLeft = 21, + .tilemapTop = 55, + .width = 4, + .height = 2, + .paletteNum = 5, + .baseBlock = 0x0290, + }, + { + .priority = 0, + .tilemapLeft = 21, + .tilemapTop = 57, + .width = 0, + .height = 0, + .paletteNum = 5, + .baseBlock = 0x0298, + }, + { + .priority = 0, + .tilemapLeft = 25, + .tilemapTop = 55, + .width = 4, + .height = 2, + .paletteNum = 5, + .baseBlock = 0x0298, + }, + { + .priority = 0, + .tilemapLeft = 21, + .tilemapTop = 57, + .width = 8, + .height = 2, + .paletteNum = 5, + .baseBlock = 0x02a0, + }, + { + .priority = 0, + .tilemapLeft = 21, + .tilemapTop = 55, + .width = 8, + .height = 4, + .paletteNum = 5, + .baseBlock = 0x02b0, + }, + { + .priority = 0, + .tilemapLeft = 26, + .tilemapTop = 9, + .width = 3, + .height = 4, + .paletteNum = 5, + .baseBlock = 0x0100, + }, + { + .priority = 1, + .tilemapLeft = 19, + .tilemapTop = 8, + .width = 10, + .height = 11, + .paletteNum = 5, + .baseBlock = 0x0100, + }, + { + .priority = 2, + .tilemapLeft = 18, + .tilemapTop = 0, + .width = 12, + .height = 3, + .paletteNum = 6, + .baseBlock = 0x016e, + }, + { + .priority = 1, + .tilemapLeft = 2, + .tilemapTop = 3, + .width = 6, + .height = 2, + .paletteNum = 5, + .baseBlock = 0x0020, + }, + { + .priority = 2, + .tilemapLeft = 2, + .tilemapTop = 3, + .width = 6, + .height = 2, + .paletteNum = 5, + .baseBlock = 0x0040, + }, + { + .priority = 1, + .tilemapLeft = 2, + .tilemapTop = 2, + .width = 6, + .height = 2, + .paletteNum = 5, + .baseBlock = 0x0020, + }, + { + .priority = 2, + .tilemapLeft = 2, + .tilemapTop = 2, + .width = 6, + .height = 2, + .paletteNum = 5, + .baseBlock = 0x0040, + }, + { + .priority = 1, + .tilemapLeft = 2, + .tilemapTop = 6, + .width = 6, + .height = 2, + .paletteNum = 5, + .baseBlock = 0x0060, + }, + { + .priority = 2, + .tilemapLeft = 2, + .tilemapTop = 6, + .width = 6, + .height = 2, + .paletteNum = 5, + .baseBlock = 0x0080, + }, + { + .priority = 0, + .tilemapLeft = 12, + .tilemapTop = 2, + .width = 6, + .height = 2, + .paletteNum = 0, + .baseBlock = 0x00a0, + }, + { + .priority = 0, + .tilemapLeft = 4, + .tilemapTop = 2, + .width = 7, + .height = 2, + .paletteNum = 0, + .baseBlock = 0x00a0, + }, + { + .priority = 0, + .tilemapLeft = 19, + .tilemapTop = 2, + .width = 7, + .height = 2, + .paletteNum = 0, + .baseBlock = 0x00b0, + }, + DUMMY_WIN_TEMPLATE +}; + +static const struct WindowTemplate gUnknown_0831AAE0[] = +{ + { + .priority = 0, + .tilemapLeft = 2, + .tilemapTop = 15, + .width = 26, + .height = 4, + .paletteNum = 0, + .baseBlock = 0x0090, + }, + { + .priority = 0, + .tilemapLeft = 1, + .tilemapTop = 35, + .width = 14, + .height = 4, + .paletteNum = 0, + .baseBlock = 0x01c0, + }, + { + .priority = 0, + .tilemapLeft = 17, + .tilemapTop = 35, + .width = 12, + .height = 4, + .paletteNum = 5, + .baseBlock = 0x0190, + }, + { + .priority = 0, + .tilemapLeft = 2, + .tilemapTop = 55, + .width = 8, + .height = 2, + .paletteNum = 5, + .baseBlock = 0x0300, + }, + { + .priority = 0, + .tilemapLeft = 11, + .tilemapTop = 55, + .width = 8, + .height = 2, + .paletteNum = 5, + .baseBlock = 0x0310, + }, + { + .priority = 0, + .tilemapLeft = 2, + .tilemapTop = 57, + .width = 8, + .height = 2, + .paletteNum = 5, + .baseBlock = 0x0320, + }, + { + .priority = 0, + .tilemapLeft = 11, + .tilemapTop = 57, + .width = 8, + .height = 2, + .paletteNum = 5, + .baseBlock = 0x0330, + }, + { + .priority = 0, + .tilemapLeft = 21, + .tilemapTop = 55, + .width = 4, + .height = 2, + .paletteNum = 5, + .baseBlock = 0x0290, + }, + { + .priority = 0, + .tilemapLeft = 21, + .tilemapTop = 57, + .width = 0, + .height = 0, + .paletteNum = 5, + .baseBlock = 0x0298, + }, + { + .priority = 0, + .tilemapLeft = 25, + .tilemapTop = 55, + .width = 4, + .height = 2, + .paletteNum = 5, + .baseBlock = 0x0298, + }, + { + .priority = 0, + .tilemapLeft = 21, + .tilemapTop = 57, + .width = 8, + .height = 2, + .paletteNum = 5, + .baseBlock = 0x02a0, + }, + { + .priority = 0, + .tilemapLeft = 21, + .tilemapTop = 55, + .width = 8, + .height = 4, + .paletteNum = 5, + .baseBlock = 0x02b0, + }, + { + .priority = 0, + .tilemapLeft = 26, + .tilemapTop = 9, + .width = 3, + .height = 4, + .paletteNum = 5, + .baseBlock = 0x0100, + }, + { + .priority = 1, + .tilemapLeft = 19, + .tilemapTop = 8, + .width = 10, + .height = 11, + .paletteNum = 5, + .baseBlock = 0x0100, + }, + { + .priority = 2, + .tilemapLeft = 18, + .tilemapTop = 0, + .width = 12, + .height = 3, + .paletteNum = 6, + .baseBlock = 0x016e, + }, + { + .priority = 0, + .tilemapLeft = 6, + .tilemapTop = 1, + .width = 8, + .height = 2, + .paletteNum = 5, + .baseBlock = 0x0100, + }, + { + .priority = 0, + .tilemapLeft = 14, + .tilemapTop = 1, + .width = 2, + .height = 2, + .paletteNum = 5, + .baseBlock = 0x0110, + }, + { + .priority = 0, + .tilemapLeft = 16, + .tilemapTop = 1, + .width = 8, + .height = 2, + .paletteNum = 5, + .baseBlock = 0x0114, + }, + { + .priority = 0, + .tilemapLeft = 12, + .tilemapTop = 4, + .width = 6, + .height = 2, + .paletteNum = 5, + .baseBlock = 0x0124, + }, + { + .priority = 0, + .tilemapLeft = 12, + .tilemapTop = 6, + .width = 6, + .height = 2, + .paletteNum = 5, + .baseBlock = 0x0130, + }, + { + .priority = 0, + .tilemapLeft = 12, + .tilemapTop = 8, + .width = 6, + .height = 2, + .paletteNum = 5, + .baseBlock = 0x013c, + }, + { + .priority = 0, + .tilemapLeft = 8, + .tilemapTop = 11, + .width = 14, + .height = 2, + .paletteNum = 5, + .baseBlock = 0x0148, + }, + { + .priority = 0, + .tilemapLeft = 2, + .tilemapTop = 15, + .width = 26, + .height = 4, + .paletteNum = 7, + .baseBlock = 0x0090, + }, + DUMMY_WIN_TEMPLATE +}; + +const struct WindowTemplate * const gBattleWindowTemplates[] = +{ + gUnknown_0831AA18, + gUnknown_0831AAE0, +}; + +static const struct BattleBackground gBattleTerrainTable[] = +{ + { + .tileset = gBattleTerrainTiles_TallGrass, + .tilemap = gBattleTerrainTilemap_TallGrass, + .entryTileset = gBattleTerrainAnimTiles_TallGrass, + .entryTilemap = gBattleTerrainAnimTilemap_TallGrass, + .palette = gBattleTerrainPalette_TallGrass, + }, + { + .tileset = gBattleTerrainTiles_LongGrass, + .tilemap = gBattleTerrainTilemap_LongGrass, + .entryTileset = gBattleTerrainAnimTiles_LongGrass, + .entryTilemap = gBattleTerrainAnimTilemap_LongGrass, + .palette = gBattleTerrainPalette_LongGrass, + }, + { + .tileset = gBattleTerrainTiles_Sand, + .tilemap = gBattleTerrainTilemap_Sand, + .entryTileset = gBattleTerrainAnimTiles_Sand, + .entryTilemap = gBattleTerrainAnimTilemap_Sand, + .palette = gBattleTerrainPalette_Sand, + }, + { + .tileset = gBattleTerrainTiles_Underwater, + .tilemap = gBattleTerrainTilemap_Underwater, + .entryTileset = gBattleTerrainAnimTiles_Underwater, + .entryTilemap = gBattleTerrainAnimTilemap_Underwater, + .palette = gBattleTerrainPalette_Underwater, + }, + { + .tileset = gBattleTerrainTiles_Water, + .tilemap = gBattleTerrainTilemap_Water, + .entryTileset = gBattleTerrainAnimTiles_Water, + .entryTilemap = gBattleTerrainAnimTilemap_Water, + .palette = gBattleTerrainPalette_Water, + }, + { + .tileset = gBattleTerrainTiles_PondWater, + .tilemap = gBattleTerrainTilemap_PondWater, + .entryTileset = gBattleTerrainAnimTiles_PondWater, + .entryTilemap = gBattleTerrainAnimTilemap_PondWater, + .palette = gBattleTerrainPalette_PondWater, + }, + { + .tileset = gBattleTerrainTiles_Rock, + .tilemap = gBattleTerrainTilemap_Rock, + .entryTileset = gBattleTerrainAnimTiles_Rock, + .entryTilemap = gBattleTerrainAnimTilemap_Rock, + .palette = gBattleTerrainPalette_Rock, + }, + { + .tileset = gBattleTerrainTiles_Cave, + .tilemap = gBattleTerrainTilemap_Cave, + .entryTileset = gBattleTerrainAnimTiles_Cave, + .entryTilemap = gBattleTerrainAnimTilemap_Cave, + .palette = gBattleTerrainPalette_Cave, + }, + { + .tileset = gBattleTerrainTiles_Building, + .tilemap = gBattleTerrainTilemap_Building, + .entryTileset = gBattleTerrainAnimTiles_Building, + .entryTilemap = gBattleTerrainAnimTilemap_Building, + .palette = gBattleTerrainPalette_Building, + }, + {// plain + .tileset = gBattleTerrainTiles_Building, + .tilemap = gBattleTerrainTilemap_Building, + .entryTileset = gBattleTerrainAnimTiles_Building, + .entryTilemap = gBattleTerrainAnimTilemap_Building, + .palette = gBattleTerrainPalette_Plain, + }, +}; + +// .text void BattleInitBgsAndWindows(void) { ResetBgsAndClearDma3BusyFlags(0); diff --git a/src/battle_main.c b/src/battle_main.c index 1a1f6f61a6..781fbeff40 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -2055,7 +2055,7 @@ void VBlankCB_Battle(void) ScanlineEffect_InitHBlankDmaTransfer(); } -void nullsub_17(void) +void nullsub_17(struct Sprite *sprite) { } From b860d583e4a5b6fd39e725df998ee9837f7f3029 Mon Sep 17 00:00:00 2001 From: Diegoisawesome <diego@domoreaweso.me> Date: Fri, 14 Sep 2018 12:15:46 -0500 Subject: [PATCH 204/234] Document main_menu --- asm/battle_frontier_2.s | 2 +- asm/rom_8011DC0.s | 4 +- asm/trade.s | 2 +- include/main_menu.h | 2 +- include/menu.h | 2 +- src/data/pokemon/trainer_class_lookups.h | 4 +- src/field_message_box.c | 2 +- src/main_menu.c | 1054 ++++++++++++---------- src/mauville_old_man.c | 2 +- src/menu.c | 2 +- src/slot_machine.c | 2 +- src/start_menu.c | 2 +- 12 files changed, 568 insertions(+), 512 deletions(-) diff --git a/asm/battle_frontier_2.s b/asm/battle_frontier_2.s index c7966b48df..27eee478aa 100644 --- a/asm/battle_frontier_2.s +++ b/asm/battle_frontier_2.s @@ -2156,7 +2156,7 @@ sub_81A0A34: @ 81A0A34 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - bl sub_8197224 + bl RunTextPrintersAndIsPrinter0Active lsls r0, 16 cmp r0, 0 bne _081A0A68 diff --git a/asm/rom_8011DC0.s b/asm/rom_8011DC0.s index 84573367a4..33ace5757f 100644 --- a/asm/rom_8011DC0.s +++ b/asm/rom_8011DC0.s @@ -2831,7 +2831,7 @@ sub_8017020: @ 8017020 thumb_func_start sub_801704C sub_801704C: @ 801704C push {lr} - bl sub_8197224 + bl RunTextPrintersAndIsPrinter0Active lsls r0, 16 cmp r0, 0 beq _0801705C @@ -2871,7 +2871,7 @@ _08017076: b _080170AE .pool _0801709C: - bl sub_8197224 + bl RunTextPrintersAndIsPrinter0Active lsls r0, 16 lsrs r0, 16 cmp r0, 0 diff --git a/asm/trade.s b/asm/trade.s index 1c9d1f17b4..f81d8c6b21 100644 --- a/asm/trade.s +++ b/asm/trade.s @@ -1881,7 +1881,7 @@ sub_807825C: @ 807825C lsrs r1, 24 movs r0, 0x1C bl SetGpuReg - bl sub_8197224 + bl RunTextPrintersAndIsPrinter0Active bl RunTasks bl AnimateSprites bl BuildOamBuffer diff --git a/include/main_menu.h b/include/main_menu.h index 4f75b17679..1944f4ecc5 100644 --- a/include/main_menu.h +++ b/include/main_menu.h @@ -2,6 +2,6 @@ #define GUARD_MAIN_MENU_H void CB2_InitMainMenu(void); -void sub_80323CC(u8 a, u8 b, u16 c, u16 d, u8 e, u8 f); +void CreateYesNoMenuParameterized(u8 a, u8 b, u16 c, u16 d, u8 e, u8 f); #endif // GUARD_MAIN_MENU_H diff --git a/include/menu.h b/include/menu.h index 309667b19d..cddab0870e 100644 --- a/include/menu.h +++ b/include/menu.h @@ -22,7 +22,7 @@ extern const u16 gUnknown_0860F074[]; void sub_81971D0(void); void sub_8197200(void); -u16 sub_8197224(void); +u16 RunTextPrintersAndIsPrinter0Active(void); void sub_81973A4(void); void NewMenuHelpers_DrawDialogueFrame(u8, u8); void sub_819746C(u8 windowId, bool8 copyToVram); diff --git a/src/data/pokemon/trainer_class_lookups.h b/src/data/pokemon/trainer_class_lookups.h index ec4dbf0fb5..02b2016c1b 100644 --- a/src/data/pokemon/trainer_class_lookups.h +++ b/src/data/pokemon/trainer_class_lookups.h @@ -63,10 +63,10 @@ const u8 gFacilityClassToPicIndex[] = TRAINER_PIC_TWINS, // FACILITY_CLASS_TWINS TRAINER_PIC_SAILOR, // FACILITY_CLASS_SAILOR TRAINER_PIC_WALLY, // FACILITY_CLASS_PKMN_TRAINER_1 - TRAINER_PIC_BRENDAN, // FACILITY_CLASS_PKMN_TRAINER_MAY + TRAINER_PIC_BRENDAN, // FACILITY_CLASS_PKMN_TRAINER_BRENDAN TRAINER_PIC_BRENDAN, // FACILITY_CLASS_PKMN_TRAINER_3 TRAINER_PIC_BRENDAN, // FACILITY_CLASS_PKMN_TRAINER_4 - TRAINER_PIC_MAY, // FACILITY_CLASS_PKMN_TRAINER_BRENDAN + TRAINER_PIC_MAY, // FACILITY_CLASS_PKMN_TRAINER_MAY TRAINER_PIC_MAY, // FACILITY_CLASS_PKMN_TRAINER_6 TRAINER_PIC_MAY, // FACILITY_CLASS_PKMN_TRAINER_7 TRAINER_PIC_POKEMON_BREEDER_M, // FACILITY_CLASS_PKMN_BREEDER_2 diff --git a/src/field_message_box.c b/src/field_message_box.c index 7ed87e837f..19859ec0f8 100755 --- a/src/field_message_box.c +++ b/src/field_message_box.c @@ -37,7 +37,7 @@ void sub_8098154(u8 taskId) task->data[0]++; break; case 2: - if (sub_8197224() != 1) + if (RunTextPrintersAndIsPrinter0Active() != 1) { gUnknown_020375BC = 0; DestroyTask(taskId); diff --git a/src/main_menu.c b/src/main_menu.c index 7e84ae7ec1..bcc4f9af54 100644 --- a/src/main_menu.c +++ b/src/main_menu.c @@ -5,6 +5,7 @@ #include "constants/rgb.h" #include "constants/songs.h" #include "constants/species.h" +#include "constants/trainers.h" #include "decompress.h" #include "event_data.h" #include "field_effect.h" @@ -45,91 +46,91 @@ static EWRAM_DATA u8 gUnknown_02022D04 = 0; static EWRAM_DATA u16 sCurrItemAndOptionMenuCheck = 0; -static IWRAM_DATA u8 gUnknown_03000DD0; +static IWRAM_DATA u8 sBirchSpeechMainTaskId; // Static ROM declarations -u32 InitMainMenu(bool8); -void Task_MainMenuCheckSaveFile(u8); -void Task_MainMenuCheckBattery(u8); -void Task_WaitForSaveFileErrorWindow(u8); -void CreateMainMenuErrorWindow(const u8*); +static u32 InitMainMenu(bool8); +static void Task_MainMenuCheckSaveFile(u8); +static void Task_MainMenuCheckBattery(u8); +static void Task_WaitForSaveFileErrorWindow(u8); +static void CreateMainMenuErrorWindow(const u8*); static void ClearMainMenuWindowTilemap(const struct WindowTemplate*); -void Task_DisplayMainMenu(u8); -void Task_WaitForBatteryDryErrorWindow(u8); -void fmt_savegame(void); -void HighlightSelectedMainMenuItem(u8, u8, s16); -void Task_HandleMainMenuInput(u8); -void Task_HandleMainMenuAPressed(u8); -void Task_HandleMainMenuBPressed(u8); -void task_new_game_prof_birch_speech_1(u8); -void Task_DisplayMainMenuInvalidActionError(u8); -void AddBirchSpeechObjects(u8); -void task_new_game_prof_birch_speech_2(u8); -void sub_8031BAC(u8, u8); -void sub_8031D34(u8, u8); -void task_new_game_prof_birch_speech_3(u8); -void unknown_rbox_to_vram(u8, u8); -void sub_8032318(u8); -void task_new_game_prof_birch_speech_4(u8); -void task_new_game_prof_birch_speech_5(u8); -void sub_80323A0(struct TextSubPrinter *printer, u16 a); -void task_new_game_prof_birch_speech_6(u8); -void sub_8030B14(u8); -void task_new_game_prof_birch_speech_7(u8); -void sub_8031ACC(u8, u8); -void sub_8031C88(u8, u8); -void task_new_game_prof_birch_speech_8(u8); -void task_new_game_prof_birch_speech_9(u8); -void task_new_game_prof_birch_speech_10(u8); -void task_new_game_prof_birch_speech_11(u8); -void LoadMainMenuWindowFrameTiles(u8, u16); -void DrawMainMenuWindowBorder(const struct WindowTemplate*, u16); -void Task_HighlightSelectedMainMenuItem(u8); -void task_new_game_prof_birch_speech_12(u8); -void task_new_game_prof_birch_speech_13(u8); -void sub_8031D74(void); -s8 sub_8031DB4(void); -void sub_80322E0(u8, u8); -void task_new_game_prof_birch_speech_14(u8); -void sub_8030ED4(u8); -void sub_8030F7C(u8); -void task_new_game_prof_birch_speech_15(u8); -void task_new_game_prof_birch_speech_16(u8); -void task_new_game_prof_birch_speech_17(u8); -void new_game_prof_birch_speech_part2_start(void); -void set_default_player_name(u8); -void task_new_game_prof_birch_speech_part2_3(u8); -void task_new_game_prof_birch_speech_part2_4(u8); -void sub_80323CC(u8, u8, u16, u16, u8, u8); -void task_new_game_prof_birch_speech_part2_5(u8); -void task_new_game_prof_birch_speech_part2_6(u8); -void task_new_game_prof_birch_speech_part2_7(u8); -void task_new_game_prof_birch_speech_part2_8(u8); -void task_new_game_prof_birch_speech_part2_9(u8); -void sub_80318D8(struct Sprite*); -void task_new_game_prof_birch_speech_part2_10(u8); -void task_new_game_prof_birch_speech_part2_11(u8); -void task_new_game_prof_birch_speech_part2_12(u8); -void nullsub_11(); -void task_new_game_prof_birch_speech_part2_1(u8); -void fmt_time(void); -void fmt_pokedex(void); -void fmt_player(void); -void fmt_badges(void); -void sub_8032474(u8, u8, u8, u8, u8, u8); +static void Task_DisplayMainMenu(u8); +static void Task_WaitForBatteryDryErrorWindow(u8); +static void MainMenu_FormatSavegameText(void); +static void HighlightSelectedMainMenuItem(u8, u8, s16); +static void Task_HandleMainMenuInput(u8); +static void Task_HandleMainMenuAPressed(u8); +static void Task_HandleMainMenuBPressed(u8); +static void Task_NewGameBirchSpeech_Init(u8); +static void Task_DisplayMainMenuInvalidActionError(u8); +static void AddBirchSpeechObjects(u8); +static void Task_NewGameBirchSpeech_WaitToShowBirch(u8); +static void NewGameBirchSpeech_StartFadeInTarget1OutTarget2(u8, u8); +static void NewGameBirchSpeech_StartFadePlatformOut(u8, u8); +static void Task_NewGameBirchSpeech_WaitForSpriteFadeInWelcome(u8); +static void NewGameBirchSpeech_ShowDialogueWindow(u8, u8); +static void NewGameBirchSpeech_ClearWindow(u8); +static void Task_NewGameBirchSpeech_ThisIsAPokemon(u8); +static void Task_NewGameBirchSpeech_MainSpeech(u8); +static void NewGameBirchSpeech_ShowPokeBallPrinterCallback(struct TextSubPrinter *printer, u16 a); +static void Task_NewGameBirchSpeech_AndYouAre(u8); +static void Task_NewGameBirchSpeechSub_WaitForLotad(u8); +static void Task_NewGameBirchSpeech_StartBirchLotadPlatformFade(u8); +static void NewGameBirchSpeech_StartFadeOutTarget1InTarget2(u8, u8); +static void NewGameBirchSpeech_StartFadePlatformIn(u8, u8); +static void Task_NewGameBirchSpeech_SlidePlatformAway(u8); +static void Task_NewGameBirchSpeech_StartPlayerFadeIn(u8); +static void Task_NewGameBirchSpeech_WaitForPlayerFadeIn(u8); +static void Task_NewGameBirchSpeech_BoyOrGirl(u8); +static void LoadMainMenuWindowFrameTiles(u8, u16); +static void DrawMainMenuWindowBorder(const struct WindowTemplate*, u16); +static void Task_HighlightSelectedMainMenuItem(u8); +static void Task_NewGameBirchSpeech_WaitToShowGenderMenu(u8); +static void Task_NewGameBirchSpeech_ChooseGender(u8); +static void NewGameBirchSpeech_ShowGenderMenu(void); +static s8 NewGameBirchSpeech_ProcessGenderMenuInput(void); +static void NewGameBirchSpeech_ClearGenderWindow(u8, u8); +static void Task_NewGameBirchSpeech_WhatsYourName(u8); +static void Task_NewGameBirchSpeech_SlideOutOldGenderSprite(u8); +static void Task_NewGameBirchSpeech_SlideInNewGenderSprite(u8); +static void Task_NewGameBirchSpeech_WaitForWhatsYourNameToPrint(u8); +static void Task_NewGameBirchSpeech_WaitPressBeforeNameChoice(u8); +static void Task_NewGameBirchSpeech_StartNamingScreen(u8); +static void CB2_NewGameBirchSpeech_ReturnFromNamingScreen(void); +static void NewGameBirchSpeech_SetDefaultPlayerName(u8); +static void Task_NewGameBirchSpeech_CreateNameYesNo(u8); +static void Task_NewGameBirchSpeech_ProcessNameYesNoMenu(u8); +void CreateYesNoMenuParameterized(u8, u8, u16, u16, u8, u8); +static void Task_NewGameBirchSpeech_SlidePlatformAway2(u8); +static void Task_NewGameBirchSpeech_ReshowBirchLotad(u8); +static void Task_NewGameBirchSpeech_WaitForSpriteFadeInAndTextPrinter(u8); +static void Task_NewGameBirchSpeech_AreYouReady(u8); +static void Task_NewGameBirchSpeech_ShrinkPlayer(u8); +static void SpriteCB_MovePlayerDownWhileShrinking(struct Sprite*); +static void Task_NewGameBirchSpeech_WaitForPlayerShrink(u8); +static void Task_NewGameBirchSpeech_FadePlayerToWhite(u8); +static void Task_NewGameBirchSpeech_Cleanup(u8); +static void nullsub_11(); +static void Task_NewGameBirchSpeech_ReturnFromNamingScreenShowTextbox(u8); +static void MainMenu_FormatSavegamePlayer(void); +static void MainMenu_FormatSavegamePokedex(void); +static void MainMenu_FormatSavegameTime(void); +static void MainMenu_FormatSavegameBadges(void); +static void NewGameBirchSpeech_CreateDialogueWindowBorder(u8, u8, u8, u8, u8, u8); // .rodata -const u16 gUnknown_082FECFC[][16] = { +static const u16 sBirchSpeechBgPals[][16] = { INCBIN_U16("graphics/birch_speech/bg0.gbapal"), INCBIN_U16("graphics/birch_speech/bg1.gbapal") }; -const u8 gBirchIntroShadowGfx[] = INCBIN_U8("graphics/birch_speech/shadow.4bpp.lz"); -const u8 gUnknown_082FEEF0[] = INCBIN_U8("graphics/birch_speech/map.bin.lz"); -const u16 gUnknown_082FF018[] = INCBIN_U16("graphics/birch_speech/bg2.gbapal"); -const u16 gUnknown_082FF028[] = {0, 0, 0, 0, 0, 0, 0, 0}; +static const u8 sBirchSpeechShadowGfx[] = INCBIN_U8("graphics/birch_speech/shadow.4bpp.lz"); +static const u8 sBirchSpeechBgMap[] = INCBIN_U8("graphics/birch_speech/map.bin.lz"); +static const u16 sBirchSpeechBgGradientPal[] = INCBIN_U16("graphics/birch_speech/bg2.gbapal"); +static const u16 sBirchSpeechPlatformBlackPal[] = {RGB_BLACK, RGB_BLACK, RGB_BLACK, RGB_BLACK, RGB_BLACK, RGB_BLACK, RGB_BLACK, RGB_BLACK}; #define MENU_LEFT 2 #define MENU_TOP_WIN0 1 @@ -159,7 +160,7 @@ const u16 gUnknown_082FF028[] = {0, 0, 0, 0, 0, 0, 0, 0}; #define MENU_WIN_VCOORDS(n) WIN_RANGE(((MENU_TOP_WIN##n - 1) * 8) + MENU_SHADOW_PADDING, (MENU_TOP_WIN##n + MENU_HEIGHT_WIN##n + 1) * 8 - MENU_SHADOW_PADDING) #define MENU_SCROLL_SHIFT WIN_RANGE(32, 32) -const struct WindowTemplate sWindowTemplates_MainMenu[] = +static const struct WindowTemplate sWindowTemplates_MainMenu[] = { // No saved game // NEW GAME @@ -246,7 +247,7 @@ const struct WindowTemplate sWindowTemplates_MainMenu[] = DUMMY_WIN_TEMPLATE }; -const struct WindowTemplate gUnknown_082FF080[] = +static const struct WindowTemplate gUnknown_082FF080[] = { { .priority = 0, @@ -278,13 +279,13 @@ const struct WindowTemplate gUnknown_082FF080[] = DUMMY_WIN_TEMPLATE }; -const u16 gMainMenuBgPal[] = INCBIN_U16("graphics/misc/main_menu_bg.gbapal"); -const u16 gMainMenuTextPal[] = INCBIN_U16("graphics/misc/main_menu_text.gbapal"); +static const u16 sMainMenuBgPal[] = INCBIN_U16("graphics/misc/main_menu_bg.gbapal"); +static const u16 sMainMenuTextPal[] = INCBIN_U16("graphics/misc/main_menu_text.gbapal"); -const u8 gTextColor_Headers[] = {10, 11, 12}; -const u8 gUnknown_082FF0E3[] = {10, 1, 12}; +static const u8 sTextColor_Headers[] = {10, 11, 12}; +static const u8 sTextColor_PlayerGenderColor[] = {10, 1, 12}; -const struct BgTemplate gUnknown_082FF0E8[] = { +static const struct BgTemplate sMainMenuBgTemplates[] = { { .bg = 0, .charBaseIndex = 2, @@ -305,7 +306,7 @@ const struct BgTemplate gUnknown_082FF0E8[] = { } }; -const struct BgTemplate gUnknown_082FF0F0 = { +static const struct BgTemplate sBirchBgTemplate = { .bg = 0, .charBaseIndex = 3, .mapBaseIndex = 30, @@ -315,21 +316,24 @@ const struct BgTemplate gUnknown_082FF0F0 = { .baseTile = 0 }; -const struct ScrollArrowsTemplate sScrollArrowsTemplate_MainMenu = {2, 0x78, 8, 3, 0x78, 0x98, 3, 4, 1, 1, 0}; +static const struct ScrollArrowsTemplate sScrollArrowsTemplate_MainMenu = {2, 0x78, 8, 3, 0x78, 0x98, 3, 4, 1, 1, 0}; -const union AffineAnimCmd gUnknown_082FF104[] = { +static const union AffineAnimCmd sSpriteAffineAnim_PlayerShrink[] = { AFFINEANIMCMD_FRAME(-2, -2, 0, 0x30), AFFINEANIMCMD_END }; -const union AffineAnimCmd *const gUnknown_082FF114 = gUnknown_082FF104; +static const union AffineAnimCmd *const sSpriteAffineAnimTable_PlayerShrink[] = +{ + sSpriteAffineAnim_PlayerShrink +}; -const struct MenuAction gUnknown_082FF118[] = { +static const struct MenuAction sMenuActions_Gender[] = { {gText_BirchBoy, NULL}, {gText_BirchGirl, NULL} }; -const u8 *const gMalePresetNames[] = { +static const u8 *const gMalePresetNames[] = { gText_DefaultNameStu, gText_DefaultNameMilton, gText_DefaultNameTom, @@ -352,7 +356,7 @@ const u8 *const gMalePresetNames[] = { gText_DefaultNameQuincy }; -const u8 *const gFemalePresetNames[] = { +static const u8 *const gFemalePresetNames[] = { gText_DefaultNameKimmy, gText_DefaultNameTiara, gText_DefaultNameBella, @@ -385,7 +389,8 @@ enum HAS_MYSTERY_EVENTS, //CONTINUE, NEW GAME, MYSTERY GIFT, MYSTERY EVENTS, OPTION }; -enum { +enum +{ ACTION_NEW_GAME, ACTION_CONTINUE, ACTION_OPTION, @@ -397,7 +402,7 @@ enum { #define MAIN_MENU_BORDER_TILE 0x1D5 -void CB2_MainMenu(void) +static void CB2_MainMenu(void) { RunTasks(); AnimateSprites(); @@ -405,7 +410,7 @@ void CB2_MainMenu(void) UpdatePaletteFade(); } -void VBlankCB_MainMenu(void) +static void VBlankCB_MainMenu(void) { LoadOam(); ProcessSpriteCopyRequests(); @@ -422,7 +427,7 @@ void CB2_ReinitMainMenu(void) InitMainMenu(TRUE); } -u32 InitMainMenu(bool8 returningFromOptionsMenu) +static u32 InitMainMenu(bool8 returningFromOptionsMenu) { SetVBlankCallback(NULL); @@ -442,8 +447,8 @@ u32 InitMainMenu(bool8 returningFromOptionsMenu) DmaFill16(3, 0, (void *)(PLTT + 2), PLTT_SIZE - 2); ResetPaletteFade(); - LoadPalette(gMainMenuBgPal, 0, 32); - LoadPalette(gMainMenuTextPal, 0xF0, 32); + LoadPalette(sMainMenuBgPal, 0, 32); + LoadPalette(sMainMenuTextPal, 0xF0, 32); ScanlineEffect_Stop(); ResetTasks(); ResetSpriteData(); @@ -453,7 +458,7 @@ u32 InitMainMenu(bool8 returningFromOptionsMenu) else BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0xFFFF); // fade to white ResetBgsAndClearDma3BusyFlags(0); - InitBgsFromTemplates(0, gUnknown_082FF0E8, ARRAY_COUNT(gUnknown_082FF0E8)); + InitBgsFromTemplates(0, sMainMenuBgTemplates, ARRAY_COUNT(sMainMenuBgTemplates)); ChangeBgX(0, 0, 0); ChangeBgY(0, 0, 0); ChangeBgX(1, 0, 0); @@ -490,7 +495,7 @@ u32 InitMainMenu(bool8 returningFromOptionsMenu) #define tArrowTaskIsScrolled data[15] // For scroll indicator arrow task -void Task_MainMenuCheckSaveFile(u8 taskId) +static void Task_MainMenuCheckSaveFile(u8 taskId) { s16* data = gTasks[taskId].data; @@ -559,7 +564,7 @@ void Task_MainMenuCheckSaveFile(u8 taskId) } } -void Task_WaitForSaveFileErrorWindow(u8 taskId) +static void Task_WaitForSaveFileErrorWindow(u8 taskId) { RunTextPrinters(); if (!IsTextPrinterActive(7) && (gMain.newKeys & A_BUTTON)) @@ -570,7 +575,7 @@ void Task_WaitForSaveFileErrorWindow(u8 taskId) } } -void Task_MainMenuCheckBattery(u8 taskId) +static void Task_MainMenuCheckBattery(u8 taskId) { if (!gPaletteFade.active) { @@ -594,7 +599,7 @@ void Task_MainMenuCheckBattery(u8 taskId) } } -void Task_WaitForBatteryDryErrorWindow(u8 taskId) +static void Task_WaitForBatteryDryErrorWindow(u8 taskId) { RunTextPrinters(); if (!IsTextPrinterActive(7) && (gMain.newKeys & A_BUTTON)) @@ -605,7 +610,7 @@ void Task_WaitForBatteryDryErrorWindow(u8 taskId) } } -void Task_DisplayMainMenu(u8 taskId) +static void Task_DisplayMainMenu(u8 taskId) { s16* data = gTasks[taskId].data; u16 palette; @@ -649,8 +654,8 @@ void Task_DisplayMainMenu(u8 taskId) default: FillWindowPixelBuffer(0, 0xAA); FillWindowPixelBuffer(1, 0xAA); - AddTextPrinterParameterized3(0, 1, 0, 1, gTextColor_Headers, -1, gText_MainMenuNewGame); - AddTextPrinterParameterized3(1, 1, 0, 1, gTextColor_Headers, -1, gText_MainMenuOption); + AddTextPrinterParameterized3(0, 1, 0, 1, sTextColor_Headers, -1, gText_MainMenuNewGame); + AddTextPrinterParameterized3(1, 1, 0, 1, sTextColor_Headers, -1, gText_MainMenuOption); PutWindowTilemap(0); PutWindowTilemap(1); CopyWindowToVram(0, 2); @@ -662,10 +667,10 @@ void Task_DisplayMainMenu(u8 taskId) FillWindowPixelBuffer(2, 0xAA); FillWindowPixelBuffer(3, 0xAA); FillWindowPixelBuffer(4, 0xAA); - AddTextPrinterParameterized3(2, 1, 0, 1, gTextColor_Headers, -1, gText_MainMenuContinue); - AddTextPrinterParameterized3(3, 1, 0, 1, gTextColor_Headers, -1, gText_MainMenuNewGame); - AddTextPrinterParameterized3(4, 1, 0, 1, gTextColor_Headers, -1, gText_MainMenuOption); - fmt_savegame(); + AddTextPrinterParameterized3(2, 1, 0, 1, sTextColor_Headers, -1, gText_MainMenuContinue); + AddTextPrinterParameterized3(3, 1, 0, 1, sTextColor_Headers, -1, gText_MainMenuNewGame); + AddTextPrinterParameterized3(4, 1, 0, 1, sTextColor_Headers, -1, gText_MainMenuOption); + MainMenu_FormatSavegameText(); PutWindowTilemap(2); PutWindowTilemap(3); PutWindowTilemap(4); @@ -681,11 +686,11 @@ void Task_DisplayMainMenu(u8 taskId) FillWindowPixelBuffer(3, 0xAA); FillWindowPixelBuffer(4, 0xAA); FillWindowPixelBuffer(5, 0xAA); - AddTextPrinterParameterized3(2, 1, 0, 1, gTextColor_Headers, -1, gText_MainMenuContinue); - AddTextPrinterParameterized3(3, 1, 0, 1, gTextColor_Headers, -1, gText_MainMenuNewGame); - AddTextPrinterParameterized3(4, 1, 0, 1, gTextColor_Headers, -1, gText_MainMenuMysteryGift); - AddTextPrinterParameterized3(5, 1, 0, 1, gTextColor_Headers, -1, gText_MainMenuOption); - fmt_savegame(); + AddTextPrinterParameterized3(2, 1, 0, 1, sTextColor_Headers, -1, gText_MainMenuContinue); + AddTextPrinterParameterized3(3, 1, 0, 1, sTextColor_Headers, -1, gText_MainMenuNewGame); + AddTextPrinterParameterized3(4, 1, 0, 1, sTextColor_Headers, -1, gText_MainMenuMysteryGift); + AddTextPrinterParameterized3(5, 1, 0, 1, sTextColor_Headers, -1, gText_MainMenuOption); + MainMenu_FormatSavegameText(); PutWindowTilemap(2); PutWindowTilemap(3); PutWindowTilemap(4); @@ -705,12 +710,12 @@ void Task_DisplayMainMenu(u8 taskId) FillWindowPixelBuffer(4, 0xAA); FillWindowPixelBuffer(5, 0xAA); FillWindowPixelBuffer(6, 0xAA); - AddTextPrinterParameterized3(2, 1, 0, 1, gTextColor_Headers, -1, gText_MainMenuContinue); - AddTextPrinterParameterized3(3, 1, 0, 1, gTextColor_Headers, -1, gText_MainMenuNewGame); - AddTextPrinterParameterized3(4, 1, 0, 1, gTextColor_Headers, -1, gText_MainMenuMysteryGift2); - AddTextPrinterParameterized3(5, 1, 0, 1, gTextColor_Headers, -1, gText_MainMenuMysteryEvents); - AddTextPrinterParameterized3(6, 1, 0, 1, gTextColor_Headers, -1, gText_MainMenuOption); - fmt_savegame(); + AddTextPrinterParameterized3(2, 1, 0, 1, sTextColor_Headers, -1, gText_MainMenuContinue); + AddTextPrinterParameterized3(3, 1, 0, 1, sTextColor_Headers, -1, gText_MainMenuNewGame); + AddTextPrinterParameterized3(4, 1, 0, 1, sTextColor_Headers, -1, gText_MainMenuMysteryGift2); + AddTextPrinterParameterized3(5, 1, 0, 1, sTextColor_Headers, -1, gText_MainMenuMysteryEvents); + AddTextPrinterParameterized3(6, 1, 0, 1, sTextColor_Headers, -1, gText_MainMenuOption); + MainMenu_FormatSavegameText(); PutWindowTilemap(2); PutWindowTilemap(3); PutWindowTilemap(4); @@ -741,13 +746,13 @@ void Task_DisplayMainMenu(u8 taskId) } } -void Task_HighlightSelectedMainMenuItem(u8 taskId) +static void Task_HighlightSelectedMainMenuItem(u8 taskId) { HighlightSelectedMainMenuItem(gTasks[taskId].tMenuType, gTasks[taskId].tCurrItem, gTasks[taskId].tIsScrolled); gTasks[taskId].func = Task_HandleMainMenuInput; } -bool8 HandleMainMenuInput(u8 taskId) +static bool8 HandleMainMenuInput(u8 taskId) { s16* data = gTasks[taskId].data; @@ -793,13 +798,13 @@ bool8 HandleMainMenuInput(u8 taskId) return FALSE; } -void Task_HandleMainMenuInput(u8 taskId) +static void Task_HandleMainMenuInput(u8 taskId) { if (HandleMainMenuInput(taskId)) gTasks[taskId].func = Task_HighlightSelectedMainMenuItem; } -void Task_HandleMainMenuAPressed(u8 taskId) +static void Task_HandleMainMenuAPressed(u8 taskId) { bool8 wirelessAdapterConnected; u8 action; @@ -925,7 +930,7 @@ void Task_HandleMainMenuAPressed(u8 taskId) default: gPlttBufferUnfaded[0] = RGB_BLACK; gPlttBufferFaded[0] = RGB_BLACK; - gTasks[taskId].func = task_new_game_prof_birch_speech_1; + gTasks[taskId].func = Task_NewGameBirchSpeech_Init; break; case ACTION_CONTINUE: gPlttBufferUnfaded[0] = RGB_BLACK; @@ -972,7 +977,7 @@ void Task_HandleMainMenuAPressed(u8 taskId) } } -void Task_HandleMainMenuBPressed(u8 taskId) +static void Task_HandleMainMenuBPressed(u8 taskId) { if (!gPaletteFade.active) { @@ -985,7 +990,7 @@ void Task_HandleMainMenuBPressed(u8 taskId) } } -void Task_DisplayMainMenuInvalidActionError(u8 taskId) +static void Task_DisplayMainMenuInvalidActionError(u8 taskId) { switch (gTasks[taskId].tCurrItem) { @@ -1033,7 +1038,7 @@ void Task_DisplayMainMenuInvalidActionError(u8 taskId) #undef tArrowTaskIsScrolled -void HighlightSelectedMainMenuItem(u8 menuType, u8 selectedMenuItem, s16 isScrolled) +static void HighlightSelectedMainMenuItem(u8 menuType, u8 selectedMenuItem, s16 isScrolled) { SetGpuReg(REG_OFFSET_WIN0H, MENU_WIN_HCOORDS); @@ -1118,11 +1123,21 @@ void HighlightSelectedMainMenuItem(u8 menuType, u8 selectedMenuItem, s16 isScrol } } -void task_new_game_prof_birch_speech_1(u8 taskId) +#define tPlayerSpriteId data[2] +#define tBG1HOFS data[4] +#define tIsDoneFadingSprites data[5] +#define tPlayerGender data[6] +#define tTimer data[7] +#define tBirchSpriteId data[8] +#define tLotadSpriteId data[9] +#define tBrendanSpriteId data[10] +#define tMaySpriteId data[11] + +static void Task_NewGameBirchSpeech_Init(u8 taskId) { SetGpuReg(REG_OFFSET_DISPCNT, 0); SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_ON | DISPCNT_OBJ_1D_MAP); - InitBgFromTemplate(&gUnknown_082FF0F0); + InitBgFromTemplate(&sBirchBgTemplate); SetGpuReg(REG_OFFSET_WIN0H, 0); SetGpuReg(REG_OFFSET_WIN0V, 0); SetGpuReg(REG_OFFSET_WININ, 0); @@ -1131,518 +1146,522 @@ void task_new_game_prof_birch_speech_1(u8 taskId) SetGpuReg(REG_OFFSET_BLDALPHA, 0); SetGpuReg(REG_OFFSET_BLDY, 0); - LZ77UnCompVram(gBirchIntroShadowGfx, (void*)VRAM); - LZ77UnCompVram(gUnknown_082FEEF0, (void*)(VRAM + 0x3800)); - LoadPalette(gUnknown_082FECFC, 0, 64); - LoadPalette(gUnknown_082FF028, 1, 16); + LZ77UnCompVram(sBirchSpeechShadowGfx, (void*)VRAM); + LZ77UnCompVram(sBirchSpeechBgMap, (void*)(VRAM + 0x3800)); + LoadPalette(sBirchSpeechBgPals, 0, 64); + LoadPalette(sBirchSpeechPlatformBlackPal, 1, 16); ScanlineEffect_Stop(); ResetSpriteData(); FreeAllSpritePalettes(); ResetAllPicSprites(); AddBirchSpeechObjects(taskId); BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0); - gTasks[taskId].data[4] = 0; - gTasks[taskId].func = task_new_game_prof_birch_speech_2; - gTasks[taskId].data[2] = 0xFF; + gTasks[taskId].tBG1HOFS = 0; + gTasks[taskId].func = Task_NewGameBirchSpeech_WaitToShowBirch; + gTasks[taskId].tPlayerSpriteId = 0xFF; gTasks[taskId].data[3] = 0xFF; - gTasks[taskId].data[7] = 0xD8; + gTasks[taskId].tTimer = 0xD8; PlayBGM(MUS_DOORO_X4); ShowBg(0); ShowBg(1); } -void task_new_game_prof_birch_speech_2(u8 taskId) +static void Task_NewGameBirchSpeech_WaitToShowBirch(u8 taskId) { u8 spriteId; - if (gTasks[taskId].data[7]) + if (gTasks[taskId].tTimer) { - gTasks[taskId].data[7]--; + gTasks[taskId].tTimer--; } else { - spriteId = gTasks[taskId].data[8]; - gSprites[spriteId].pos1.x = 0x88; - gSprites[spriteId].pos1.y = 0x3C; + spriteId = gTasks[taskId].tBirchSpriteId; + gSprites[spriteId].pos1.x = 136; + gSprites[spriteId].pos1.y = 60; gSprites[spriteId].invisible = FALSE; gSprites[spriteId].oam.objMode = 1; - sub_8031BAC(taskId, 10); - sub_8031D34(taskId, 20); - gTasks[taskId].data[7] = 0x50; - gTasks[taskId].func = task_new_game_prof_birch_speech_3; + NewGameBirchSpeech_StartFadeInTarget1OutTarget2(taskId, 10); + NewGameBirchSpeech_StartFadePlatformOut(taskId, 20); + gTasks[taskId].tTimer = 80; + gTasks[taskId].func = Task_NewGameBirchSpeech_WaitForSpriteFadeInWelcome; } } -void task_new_game_prof_birch_speech_3(u8 taskId) +static void Task_NewGameBirchSpeech_WaitForSpriteFadeInWelcome(u8 taskId) { - if (gTasks[taskId].data[5]) + if (gTasks[taskId].tIsDoneFadingSprites) { - gSprites[gTasks[taskId].data[8]].oam.objMode = 0; - if (gTasks[taskId].data[7]) + gSprites[gTasks[taskId].tBirchSpriteId].oam.objMode = 0; + if (gTasks[taskId].tTimer) { - gTasks[taskId].data[7]--; + gTasks[taskId].tTimer--; } else { InitWindows(gUnknown_082FF080); LoadMainMenuWindowFrameTiles(0, 0xF3); - LoadMessageBoxGfx(0, 0xFC, 0xF0); - unknown_rbox_to_vram(0, 1); + LoadMessageBoxGfx(0, 0xFC, 0xF0); + NewGameBirchSpeech_ShowDialogueWindow(0, 1); PutWindowTilemap(0); CopyWindowToVram(0, 2); - sub_8032318(0); + NewGameBirchSpeech_ClearWindow(0); StringExpandPlaceholders(gStringVar4, gText_Birch_Welcome); AddTextPrinterForMessage(1); - gTasks[taskId].func = task_new_game_prof_birch_speech_4; + gTasks[taskId].func = Task_NewGameBirchSpeech_ThisIsAPokemon; } } } -void task_new_game_prof_birch_speech_4(u8 taskId) +static void Task_NewGameBirchSpeech_ThisIsAPokemon(u8 taskId) { - if (!gPaletteFade.active && !sub_8197224()) + if (!gPaletteFade.active && !RunTextPrintersAndIsPrinter0Active()) { - gTasks[taskId].func = task_new_game_prof_birch_speech_5; + gTasks[taskId].func = Task_NewGameBirchSpeech_MainSpeech; StringExpandPlaceholders(gStringVar4, gText_ThisIsAPokemon); - AddTextPrinterWithCallbackForMessage(1, sub_80323A0); - gUnknown_03000DD0 = taskId; + AddTextPrinterWithCallbackForMessage(1, NewGameBirchSpeech_ShowPokeBallPrinterCallback); + sBirchSpeechMainTaskId = taskId; } } -void task_new_game_prof_birch_speech_5(u8 taskId) +static void Task_NewGameBirchSpeech_MainSpeech(u8 taskId) { - if (!sub_8197224()) + if (!RunTextPrintersAndIsPrinter0Active()) { StringExpandPlaceholders(gStringVar4, gText_Birch_MainSpeech); AddTextPrinterForMessage(1); - gTasks[taskId].func = task_new_game_prof_birch_speech_6; + gTasks[taskId].func = Task_NewGameBirchSpeech_AndYouAre; } } -void sub_8030A70(u8 taskId) -{ - u8 spriteId = gTasks[gUnknown_03000DD0].data[9]; +#define tState data[0] - gSprites[spriteId].pos1.x = 0x64; - gSprites[spriteId].pos1.y = 0x4B; +static void Task_NewGameBirchSpeechSub_InitPokeBall(u8 taskId) +{ + u8 spriteId = gTasks[sBirchSpeechMainTaskId].tLotadSpriteId; + + gSprites[spriteId].pos1.x = 100; + gSprites[spriteId].pos1.y = 75; gSprites[spriteId].invisible = FALSE; gSprites[spriteId].data[0] = 0; - CreatePokeballSpriteToReleaseMon(spriteId, gSprites[spriteId].oam.paletteNum, 0x70, 0x3A, 0, 0, 0x20, 0xFFFF, SPECIES_LOTAD); - gTasks[taskId].func = sub_8030B14; - gTasks[gUnknown_03000DD0].data[7] = 0; + CreatePokeballSpriteToReleaseMon(spriteId, gSprites[spriteId].oam.paletteNum, 112, 58, 0, 0, 32, 0x0000FFFF, SPECIES_LOTAD); + gTasks[taskId].func = Task_NewGameBirchSpeechSub_WaitForLotad; + gTasks[sBirchSpeechMainTaskId].tTimer = 0; } -void sub_8030B14(u8 taskId) +static void Task_NewGameBirchSpeechSub_WaitForLotad(u8 taskId) { s16 *data = gTasks[taskId].data; - struct Sprite *sprite = &gSprites[gTasks[gUnknown_03000DD0].data[9]]; + struct Sprite *sprite = &gSprites[gTasks[sBirchSpeechMainTaskId].tLotadSpriteId]; - switch (data[0]) + switch (tState) { case 0: if (sprite->callback == SpriteCallbackDummy) { sprite->oam.affineMode = 0; - goto _08030B98_inc_data0; + goto incrementStateAndTimer; } break; case 1: - if (gTasks[gUnknown_03000DD0].data[7] >= 0x60) + if (gTasks[sBirchSpeechMainTaskId].tTimer >= 96) { DestroyTask(taskId); - if (gTasks[gUnknown_03000DD0].data[7] < 0x4000) - gTasks[gUnknown_03000DD0].data[7]++; + if (gTasks[sBirchSpeechMainTaskId].tTimer < 0x4000) + gTasks[sBirchSpeechMainTaskId].tTimer++; } break; - _08030B98_inc_data0: + incrementStateAndTimer: default: - data[0]++; - if (gTasks[gUnknown_03000DD0].data[7] < 0x4000) - gTasks[gUnknown_03000DD0].data[7]++; + tState++; + if (gTasks[sBirchSpeechMainTaskId].tTimer < 0x4000) + gTasks[sBirchSpeechMainTaskId].tTimer++; break; } } -void task_new_game_prof_birch_speech_6(u8 taskId) +#undef tState + +static void Task_NewGameBirchSpeech_AndYouAre(u8 taskId) { - if (!sub_8197224()) + if (!RunTextPrintersAndIsPrinter0Active()) { gUnknown_02022D04 = 0; StringExpandPlaceholders(gStringVar4, gText_Birch_AndYouAre); AddTextPrinterForMessage(1); - gTasks[taskId].func = task_new_game_prof_birch_speech_7; + gTasks[taskId].func = Task_NewGameBirchSpeech_StartBirchLotadPlatformFade; } } -void task_new_game_prof_birch_speech_7(u8 taskId) +static void Task_NewGameBirchSpeech_StartBirchLotadPlatformFade(u8 taskId) { - if (!sub_8197224()) + if (!RunTextPrintersAndIsPrinter0Active()) { - gSprites[gTasks[taskId].data[8]].oam.objMode = 1; - gSprites[gTasks[taskId].data[9]].oam.objMode = 1; - sub_8031ACC(taskId, 2); - sub_8031C88(taskId, 1); - gTasks[taskId].data[7] = 0x40; - gTasks[taskId].func = task_new_game_prof_birch_speech_8; + gSprites[gTasks[taskId].tBirchSpriteId].oam.objMode = 1; + gSprites[gTasks[taskId].tLotadSpriteId].oam.objMode = 1; + NewGameBirchSpeech_StartFadeOutTarget1InTarget2(taskId, 2); + NewGameBirchSpeech_StartFadePlatformIn(taskId, 1); + gTasks[taskId].tTimer = 64; + gTasks[taskId].func = Task_NewGameBirchSpeech_SlidePlatformAway; } } -void task_new_game_prof_birch_speech_8(u8 taskId) +static void Task_NewGameBirchSpeech_SlidePlatformAway(u8 taskId) { - if (gTasks[taskId].data[4] != -60) + if (gTasks[taskId].tBG1HOFS != -60) { - gTasks[taskId].data[4] -= 2; - SetGpuReg(REG_OFFSET_BG1HOFS, gTasks[taskId].data[4]); + gTasks[taskId].tBG1HOFS -= 2; + SetGpuReg(REG_OFFSET_BG1HOFS, gTasks[taskId].tBG1HOFS); } else { - gTasks[taskId].data[4] = -60; - gTasks[taskId].func = task_new_game_prof_birch_speech_9; + gTasks[taskId].tBG1HOFS = -60; + gTasks[taskId].func = Task_NewGameBirchSpeech_StartPlayerFadeIn; } } -void task_new_game_prof_birch_speech_9(u8 taskId) +static void Task_NewGameBirchSpeech_StartPlayerFadeIn(u8 taskId) { - if (gTasks[taskId].data[5]) + if (gTasks[taskId].tIsDoneFadingSprites) { - gSprites[gTasks[taskId].data[8]].invisible = TRUE; - gSprites[gTasks[taskId].data[9]].invisible = TRUE; - if (gTasks[taskId].data[7]) + gSprites[gTasks[taskId].tBirchSpriteId].invisible = TRUE; + gSprites[gTasks[taskId].tLotadSpriteId].invisible = TRUE; + if (gTasks[taskId].tTimer) { - gTasks[taskId].data[7]--; + gTasks[taskId].tTimer--; } else { - u8 spriteId = gTasks[taskId].data[10]; + u8 spriteId = gTasks[taskId].tBrendanSpriteId; - gSprites[spriteId].pos1.x = 0xB4; - gSprites[spriteId].pos1.y = 0x3C; + gSprites[spriteId].pos1.x = 180; + gSprites[spriteId].pos1.y = 60; gSprites[spriteId].invisible = FALSE; gSprites[spriteId].oam.objMode = 1; - gTasks[taskId].data[2] = spriteId; - gTasks[taskId].data[6] = 0; - sub_8031BAC(taskId, 2); - sub_8031D34(taskId, 1); - gTasks[taskId].func = task_new_game_prof_birch_speech_10; + gTasks[taskId].tPlayerSpriteId = spriteId; + gTasks[taskId].tPlayerGender = MALE; + NewGameBirchSpeech_StartFadeInTarget1OutTarget2(taskId, 2); + NewGameBirchSpeech_StartFadePlatformOut(taskId, 1); + gTasks[taskId].func = Task_NewGameBirchSpeech_WaitForPlayerFadeIn; } } } -void task_new_game_prof_birch_speech_10(u8 taskId) +static void Task_NewGameBirchSpeech_WaitForPlayerFadeIn(u8 taskId) { - if (gTasks[taskId].data[5]) + if (gTasks[taskId].tIsDoneFadingSprites) { - gSprites[gTasks[taskId].data[2]].oam.objMode = 0; - gTasks[taskId].func = task_new_game_prof_birch_speech_11; + gSprites[gTasks[taskId].tPlayerSpriteId].oam.objMode = 0; + gTasks[taskId].func = Task_NewGameBirchSpeech_BoyOrGirl; } } -void task_new_game_prof_birch_speech_11(u8 taskId) +static void Task_NewGameBirchSpeech_BoyOrGirl(u8 taskId) { - sub_8032318(0); + NewGameBirchSpeech_ClearWindow(0); StringExpandPlaceholders(gStringVar4, gText_Birch_BoyOrGirl); AddTextPrinterForMessage(1); - gTasks[taskId].func = task_new_game_prof_birch_speech_12; + gTasks[taskId].func = Task_NewGameBirchSpeech_WaitToShowGenderMenu; } -void task_new_game_prof_birch_speech_12(u8 taskId) +static void Task_NewGameBirchSpeech_WaitToShowGenderMenu(u8 taskId) { - if (!sub_8197224()) + if (!RunTextPrintersAndIsPrinter0Active()) { - sub_8031D74(); - gTasks[taskId].func = task_new_game_prof_birch_speech_13; + NewGameBirchSpeech_ShowGenderMenu(); + gTasks[taskId].func = Task_NewGameBirchSpeech_ChooseGender; } } -void task_new_game_prof_birch_speech_13(u8 taskId) +static void Task_NewGameBirchSpeech_ChooseGender(u8 taskId) { - int gender = sub_8031DB4(); - int r3; + int gender = NewGameBirchSpeech_ProcessGenderMenuInput(); + int gender2; switch (gender) { case MALE: PlaySE(SE_SELECT); gSaveBlock2Ptr->playerGender = gender; - sub_80322E0(1, 1); - gTasks[taskId].func = task_new_game_prof_birch_speech_14; + NewGameBirchSpeech_ClearGenderWindow(1, 1); + gTasks[taskId].func = Task_NewGameBirchSpeech_WhatsYourName; break; case FEMALE: PlaySE(SE_SELECT); gSaveBlock2Ptr->playerGender = gender; - sub_80322E0(1, 1); - gTasks[taskId].func = task_new_game_prof_birch_speech_14; + NewGameBirchSpeech_ClearGenderWindow(1, 1); + gTasks[taskId].func = Task_NewGameBirchSpeech_WhatsYourName; break; } - r3 = GetMenuCursorPos(); - if (r3 != gTasks[taskId].data[6]) + gender2 = GetMenuCursorPos(); + if (gender2 != gTasks[taskId].tPlayerGender) { - gTasks[taskId].data[6] = r3; - gSprites[gTasks[taskId].data[2]].oam.objMode = 1; - sub_8031ACC(taskId, 0); - gTasks[taskId].func = sub_8030ED4; + gTasks[taskId].tPlayerGender = gender2; + gSprites[gTasks[taskId].tPlayerSpriteId].oam.objMode = 1; + NewGameBirchSpeech_StartFadeOutTarget1InTarget2(taskId, 0); + gTasks[taskId].func = Task_NewGameBirchSpeech_SlideOutOldGenderSprite; } } -void sub_8030ED4(u8 taskId) +static void Task_NewGameBirchSpeech_SlideOutOldGenderSprite(u8 taskId) { - u8 spriteId = gTasks[taskId].data[2]; - if (gTasks[taskId].data[5] == 0) + u8 spriteId = gTasks[taskId].tPlayerSpriteId; + if (gTasks[taskId].tIsDoneFadingSprites == 0) { gSprites[spriteId].pos1.x += 4; } else { gSprites[spriteId].invisible = TRUE; - if (gTasks[taskId].data[6]) - spriteId = gTasks[taskId].data[11]; + if (gTasks[taskId].tPlayerGender != MALE) + spriteId = gTasks[taskId].tMaySpriteId; else - spriteId = gTasks[taskId].data[10]; - gSprites[spriteId].pos1.x = 0xF0; - gSprites[spriteId].pos1.y = 0x3C; + spriteId = gTasks[taskId].tBrendanSpriteId; + gSprites[spriteId].pos1.x = 240; + gSprites[spriteId].pos1.y = 60; gSprites[spriteId].invisible = FALSE; - gTasks[taskId].data[2] = spriteId; + gTasks[taskId].tPlayerSpriteId = spriteId; gSprites[spriteId].oam.objMode = 1; - sub_8031BAC(taskId, 0); - gTasks[taskId].func = sub_8030F7C; + NewGameBirchSpeech_StartFadeInTarget1OutTarget2(taskId, 0); + gTasks[taskId].func = Task_NewGameBirchSpeech_SlideInNewGenderSprite; } } -void sub_8030F7C(u8 taskId) +static void Task_NewGameBirchSpeech_SlideInNewGenderSprite(u8 taskId) { - u8 spriteId = gTasks[taskId].data[2]; + u8 spriteId = gTasks[taskId].tPlayerSpriteId; - if (gSprites[spriteId].pos1.x > 0xB4) + if (gSprites[spriteId].pos1.x > 180) { gSprites[spriteId].pos1.x -= 4; } else { - gSprites[spriteId].pos1.x = 0xB4; - if (gTasks[taskId].data[5]) + gSprites[spriteId].pos1.x = 180; + if (gTasks[taskId].tIsDoneFadingSprites) { gSprites[spriteId].oam.objMode = 0; - gTasks[taskId].func = task_new_game_prof_birch_speech_13; + gTasks[taskId].func = Task_NewGameBirchSpeech_ChooseGender; } } } -void task_new_game_prof_birch_speech_14(u8 taskId) +static void Task_NewGameBirchSpeech_WhatsYourName(u8 taskId) { - sub_8032318(0); + NewGameBirchSpeech_ClearWindow(0); StringExpandPlaceholders(gStringVar4, gText_Birch_WhatsYourName); AddTextPrinterForMessage(1); - gTasks[taskId].func = task_new_game_prof_birch_speech_15; + gTasks[taskId].func = Task_NewGameBirchSpeech_WaitForWhatsYourNameToPrint; } -void task_new_game_prof_birch_speech_15(u8 taskId) +static void Task_NewGameBirchSpeech_WaitForWhatsYourNameToPrint(u8 taskId) { - if (!sub_8197224()) - gTasks[taskId].func = task_new_game_prof_birch_speech_16; + if (!RunTextPrintersAndIsPrinter0Active()) + gTasks[taskId].func = Task_NewGameBirchSpeech_WaitPressBeforeNameChoice; } -void task_new_game_prof_birch_speech_16(u8 taskId) +static void Task_NewGameBirchSpeech_WaitPressBeforeNameChoice(u8 taskId) { if ((gMain.newKeys & A_BUTTON) || (gMain.newKeys & B_BUTTON)) { BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); - gTasks[taskId].func = task_new_game_prof_birch_speech_17; + gTasks[taskId].func = Task_NewGameBirchSpeech_StartNamingScreen; } } -void task_new_game_prof_birch_speech_17(u8 taskId) +static void Task_NewGameBirchSpeech_StartNamingScreen(u8 taskId) { if (!gPaletteFade.active) { FreeAllWindowBuffers(); - FreeAndDestroyMonPicSprite(gTasks[taskId].data[9]); - set_default_player_name(Random() % 20); + FreeAndDestroyMonPicSprite(gTasks[taskId].tLotadSpriteId); + NewGameBirchSpeech_SetDefaultPlayerName(Random() % 20); DestroyTask(taskId); - DoNamingScreen(0, gSaveBlock2Ptr->playerName, gSaveBlock2Ptr->playerGender, 0, 0, new_game_prof_birch_speech_part2_start); + DoNamingScreen(0, gSaveBlock2Ptr->playerName, gSaveBlock2Ptr->playerGender, 0, 0, CB2_NewGameBirchSpeech_ReturnFromNamingScreen); } } -void task_new_game_prof_birch_speech_part2_2(u8 taskId) +static void Task_NewGameBirchSpeech_SoItsPlayerName(u8 taskId) { - sub_8032318(0); + NewGameBirchSpeech_ClearWindow(0); StringExpandPlaceholders(gStringVar4, gText_Birch_SoItsPlayer); AddTextPrinterForMessage(1); - gTasks[taskId].func = task_new_game_prof_birch_speech_part2_3; + gTasks[taskId].func = Task_NewGameBirchSpeech_CreateNameYesNo; } -void task_new_game_prof_birch_speech_part2_3(u8 taskId) +static void Task_NewGameBirchSpeech_CreateNameYesNo(u8 taskId) { - if (!sub_8197224()) + if (!RunTextPrintersAndIsPrinter0Active()) { - sub_80323CC(2, 1, 0xF3, 0xDF, 2, 15); - gTasks[taskId].func = task_new_game_prof_birch_speech_part2_4; + CreateYesNoMenuParameterized(2, 1, 0xF3, 0xDF, 2, 15); + gTasks[taskId].func = Task_NewGameBirchSpeech_ProcessNameYesNoMenu; } } -void task_new_game_prof_birch_speech_part2_4(u8 taskId) +static void Task_NewGameBirchSpeech_ProcessNameYesNoMenu(u8 taskId) { switch (Menu_ProcessInputNoWrap_()) { case 0: PlaySE(SE_SELECT); - gSprites[gTasks[taskId].data[2]].oam.objMode = 1; - sub_8031ACC(taskId, 2); - sub_8031C88(taskId, 1); - gTasks[taskId].func = task_new_game_prof_birch_speech_part2_5; + gSprites[gTasks[taskId].tPlayerSpriteId].oam.objMode = 1; + NewGameBirchSpeech_StartFadeOutTarget1InTarget2(taskId, 2); + NewGameBirchSpeech_StartFadePlatformIn(taskId, 1); + gTasks[taskId].func = Task_NewGameBirchSpeech_SlidePlatformAway2; break; case -1: case 1: PlaySE(SE_SELECT); - gTasks[taskId].func = task_new_game_prof_birch_speech_11; + gTasks[taskId].func = Task_NewGameBirchSpeech_BoyOrGirl; } } -void task_new_game_prof_birch_speech_part2_5(u8 taskId) +static void Task_NewGameBirchSpeech_SlidePlatformAway2(u8 taskId) { - if (gTasks[taskId].data[4]) + if (gTasks[taskId].tBG1HOFS) { - gTasks[taskId].data[4] += 2; - SetGpuReg(REG_OFFSET_BG1HOFS, gTasks[taskId].data[4]); + gTasks[taskId].tBG1HOFS += 2; + SetGpuReg(REG_OFFSET_BG1HOFS, gTasks[taskId].tBG1HOFS); } else { - gTasks[taskId].func = task_new_game_prof_birch_speech_part2_6; + gTasks[taskId].func = Task_NewGameBirchSpeech_ReshowBirchLotad; } } -void task_new_game_prof_birch_speech_part2_6(u8 taskId) +static void Task_NewGameBirchSpeech_ReshowBirchLotad(u8 taskId) { u8 spriteId; - if (gTasks[taskId].data[5]) + if (gTasks[taskId].tIsDoneFadingSprites) { - gSprites[gTasks[taskId].data[10]].invisible = TRUE; - gSprites[gTasks[taskId].data[11]].invisible = TRUE; - spriteId = gTasks[taskId].data[8]; - gSprites[spriteId].pos1.x = 0x88; - gSprites[spriteId].pos1.y = 0x3C; + gSprites[gTasks[taskId].tBrendanSpriteId].invisible = TRUE; + gSprites[gTasks[taskId].tMaySpriteId].invisible = TRUE; + spriteId = gTasks[taskId].tBirchSpriteId; + gSprites[spriteId].pos1.x = 136; + gSprites[spriteId].pos1.y = 60; gSprites[spriteId].invisible = FALSE; gSprites[spriteId].oam.objMode = 1; - spriteId = gTasks[taskId].data[9]; - gSprites[spriteId].pos1.x = 0x64; - gSprites[spriteId].pos1.y = 0x4B; + spriteId = gTasks[taskId].tLotadSpriteId; + gSprites[spriteId].pos1.x = 100; + gSprites[spriteId].pos1.y = 75; gSprites[spriteId].invisible = FALSE; gSprites[spriteId].oam.objMode = 1; - sub_8031BAC(taskId, 2); - sub_8031D34(taskId, 1); - sub_8032318(0); + NewGameBirchSpeech_StartFadeInTarget1OutTarget2(taskId, 2); + NewGameBirchSpeech_StartFadePlatformOut(taskId, 1); + NewGameBirchSpeech_ClearWindow(0); StringExpandPlaceholders(gStringVar4, gText_Birch_YourePlayer); AddTextPrinterForMessage(1); - gTasks[taskId].func = task_new_game_prof_birch_speech_part2_7; + gTasks[taskId].func = Task_NewGameBirchSpeech_WaitForSpriteFadeInAndTextPrinter; } } -void task_new_game_prof_birch_speech_part2_7(u8 taskId) +static void Task_NewGameBirchSpeech_WaitForSpriteFadeInAndTextPrinter(u8 taskId) { - if (gTasks[taskId].data[5]) + if (gTasks[taskId].tIsDoneFadingSprites) { - gSprites[gTasks[taskId].data[8]].oam.objMode = 0; - gSprites[gTasks[taskId].data[9]].oam.objMode = 0; - if (!sub_8197224()) + gSprites[gTasks[taskId].tBirchSpriteId].oam.objMode = 0; + gSprites[gTasks[taskId].tLotadSpriteId].oam.objMode = 0; + if (!RunTextPrintersAndIsPrinter0Active()) { - gSprites[gTasks[taskId].data[8]].oam.objMode = 1; - gSprites[gTasks[taskId].data[9]].oam.objMode = 1; - sub_8031ACC(taskId, 2); - sub_8031C88(taskId, 1); - gTasks[taskId].data[7] = 64; - gTasks[taskId].func = task_new_game_prof_birch_speech_part2_8; + gSprites[gTasks[taskId].tBirchSpriteId].oam.objMode = 1; + gSprites[gTasks[taskId].tLotadSpriteId].oam.objMode = 1; + NewGameBirchSpeech_StartFadeOutTarget1InTarget2(taskId, 2); + NewGameBirchSpeech_StartFadePlatformIn(taskId, 1); + gTasks[taskId].tTimer = 64; + gTasks[taskId].func = Task_NewGameBirchSpeech_AreYouReady; } } } -void task_new_game_prof_birch_speech_part2_8(u8 taskId) +static void Task_NewGameBirchSpeech_AreYouReady(u8 taskId) { u8 spriteId; - if (gTasks[taskId].data[5]) + if (gTasks[taskId].tIsDoneFadingSprites) { - gSprites[gTasks[taskId].data[8]].invisible = TRUE; - gSprites[gTasks[taskId].data[9]].invisible = TRUE; - if (gTasks[taskId].data[7]) + gSprites[gTasks[taskId].tBirchSpriteId].invisible = TRUE; + gSprites[gTasks[taskId].tLotadSpriteId].invisible = TRUE; + if (gTasks[taskId].tTimer) { - gTasks[taskId].data[7]--; + gTasks[taskId].tTimer--; return; } if (gSaveBlock2Ptr->playerGender != MALE) - spriteId = gTasks[taskId].data[11]; + spriteId = gTasks[taskId].tMaySpriteId; else - spriteId = gTasks[taskId].data[10]; - gSprites[spriteId].pos1.x = 0x78; - gSprites[spriteId].pos1.y = 0x3C; + spriteId = gTasks[taskId].tBrendanSpriteId; + gSprites[spriteId].pos1.x = 120; + gSprites[spriteId].pos1.y = 60; gSprites[spriteId].invisible = FALSE; gSprites[spriteId].oam.objMode = 1; - gTasks[taskId].data[2] = spriteId; - sub_8031BAC(taskId, 2); - sub_8031D34(taskId, 1); + gTasks[taskId].tPlayerSpriteId = spriteId; + NewGameBirchSpeech_StartFadeInTarget1OutTarget2(taskId, 2); + NewGameBirchSpeech_StartFadePlatformOut(taskId, 1); StringExpandPlaceholders(gStringVar4, gText_Birch_AreYouReady); AddTextPrinterForMessage(1); - gTasks[taskId].func = task_new_game_prof_birch_speech_part2_9; + gTasks[taskId].func = Task_NewGameBirchSpeech_ShrinkPlayer; } } -void task_new_game_prof_birch_speech_part2_9(u8 taskId) +static void Task_NewGameBirchSpeech_ShrinkPlayer(u8 taskId) { u8 spriteId; - if (gTasks[taskId].data[5]) + if (gTasks[taskId].tIsDoneFadingSprites) { - gSprites[gTasks[taskId].data[2]].oam.objMode = 0; - if (!sub_8197224()) + gSprites[gTasks[taskId].tPlayerSpriteId].oam.objMode = 0; + if (!RunTextPrintersAndIsPrinter0Active()) { - spriteId = gTasks[taskId].data[2]; + spriteId = gTasks[taskId].tPlayerSpriteId; gSprites[spriteId].oam.affineMode = 1; - gSprites[spriteId].affineAnims = &gUnknown_082FF114; + gSprites[spriteId].affineAnims = sSpriteAffineAnimTable_PlayerShrink; InitSpriteAffineAnim(&gSprites[spriteId]); StartSpriteAffineAnim(&gSprites[spriteId], 0); - gSprites[spriteId].callback = sub_80318D8; + gSprites[spriteId].callback = SpriteCB_MovePlayerDownWhileShrinking; BeginNormalPaletteFade(0x0000FFFF, 0, 0, 16, RGB_BLACK); FadeOutBGM(4); - gTasks[taskId].func = task_new_game_prof_birch_speech_part2_10; + gTasks[taskId].func = Task_NewGameBirchSpeech_WaitForPlayerShrink; } } } -void task_new_game_prof_birch_speech_part2_10(u8 taskId) +static void Task_NewGameBirchSpeech_WaitForPlayerShrink(u8 taskId) { - u8 spriteId = gTasks[taskId].data[2]; + u8 spriteId = gTasks[taskId].tPlayerSpriteId; if (gSprites[spriteId].affineAnimEnded) - gTasks[taskId].func = task_new_game_prof_birch_speech_part2_11; + gTasks[taskId].func = Task_NewGameBirchSpeech_FadePlayerToWhite; } -void task_new_game_prof_birch_speech_part2_11(u8 taskId) +static void Task_NewGameBirchSpeech_FadePlayerToWhite(u8 taskId) { u8 spriteId; if (!gPaletteFade.active) { - spriteId = gTasks[taskId].data[2]; + spriteId = gTasks[taskId].tPlayerSpriteId; gSprites[spriteId].callback = nullsub_11; SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_ON | DISPCNT_OBJ_1D_MAP); BeginNormalPaletteFade(0xFFFF0000, 0, 0, 16, RGB_WHITEALPHA); - gTasks[taskId].func = task_new_game_prof_birch_speech_part2_12; + gTasks[taskId].func = Task_NewGameBirchSpeech_Cleanup; } } -void task_new_game_prof_birch_speech_part2_12(u8 taskId) +static void Task_NewGameBirchSpeech_Cleanup(u8 taskId) { if (!gPaletteFade.active) { FreeAllWindowBuffers(); - FreeAndDestroyMonPicSprite(gTasks[taskId].data[9]); + FreeAndDestroyMonPicSprite(gTasks[taskId].tLotadSpriteId); ResetAllPicSprites(); SetMainCallback2(CB2_NewGame); DestroyTask(taskId); } } -void new_game_prof_birch_speech_part2_start(void) +static void CB2_NewGameBirchSpeech_ReturnFromNamingScreen(void) { u8 taskId; u8 spriteId; @@ -1651,8 +1670,8 @@ void new_game_prof_birch_speech_part2_start(void) ResetBgsAndClearDma3BusyFlags(0); SetGpuReg(REG_OFFSET_DISPCNT, 0); SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_ON | DISPCNT_OBJ_1D_MAP); - InitBgsFromTemplates(0, gUnknown_082FF0E8, 2); - InitBgFromTemplate(&gUnknown_082FF0F0); + InitBgsFromTemplates(0, sMainMenuBgTemplates, 2); + InitBgFromTemplate(&sBirchBgTemplate); SetVBlankCallback(NULL); SetGpuReg(REG_OFFSET_BG2CNT, 0); SetGpuReg(REG_OFFSET_BG1CNT, 0); @@ -1667,14 +1686,14 @@ void new_game_prof_birch_speech_part2_start(void) DmaFill32(3, 0, OAM, OAM_SIZE); DmaFill16(3, 0, PLTT, PLTT_SIZE); ResetPaletteFade(); - LZ77UnCompVram(gBirchIntroShadowGfx, (u8*)VRAM); - LZ77UnCompVram(gUnknown_082FEEF0, (u8*)(VRAM + 0x3800)); - LoadPalette(gUnknown_082FECFC, 0, 64); - LoadPalette(&gUnknown_082FF018[1], 1, 16); + LZ77UnCompVram(sBirchSpeechShadowGfx, (u8*)VRAM); + LZ77UnCompVram(sBirchSpeechBgMap, (u8*)(VRAM + 0x3800)); + LoadPalette(sBirchSpeechBgPals, 0, 64); + LoadPalette(&sBirchSpeechBgGradientPal[1], 1, 16); ResetTasks(); - taskId = CreateTask(task_new_game_prof_birch_speech_part2_1, 0); - gTasks[taskId].data[7] = 5; - gTasks[taskId].data[4] = -60; + taskId = CreateTask(Task_NewGameBirchSpeech_ReturnFromNamingScreenShowTextbox, 0); + gTasks[taskId].tTimer = 5; + gTasks[taskId].tBG1HOFS = -60; ScanlineEffect_Stop(); ResetSpriteData(); FreeAllSpritePalettes(); @@ -1682,18 +1701,18 @@ void new_game_prof_birch_speech_part2_start(void) AddBirchSpeechObjects(taskId); if (gSaveBlock2Ptr->playerGender != MALE) { - gTasks[taskId].data[6] = FEMALE; - spriteId = gTasks[taskId].data[11]; + gTasks[taskId].tPlayerGender = FEMALE; + spriteId = gTasks[taskId].tMaySpriteId; } else { - gTasks[taskId].data[6] = MALE; - spriteId = gTasks[taskId].data[10]; + gTasks[taskId].tPlayerGender = MALE; + spriteId = gTasks[taskId].tBrendanSpriteId; } - gSprites[spriteId].pos1.x = 0xB4; - gSprites[spriteId].pos1.y = 0x3C; + gSprites[spriteId].pos1.x = 180; + gSprites[spriteId].pos1.y = 60; gSprites[spriteId].invisible = FALSE; - gTasks[taskId].data[2] = spriteId; + gTasks[taskId].tPlayerSpriteId = spriteId; SetGpuReg(REG_OFFSET_BG1HOFS, -60); BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0); SetGpuReg(REG_OFFSET_WIN0H, 0); @@ -1718,11 +1737,11 @@ void new_game_prof_birch_speech_part2_start(void) CopyWindowToVram(0, 3); } -void nullsub_11(struct Sprite *sprite) +static void nullsub_11(struct Sprite *sprite) { } -void sub_80318D8(struct Sprite *sprite) +static void SpriteCB_MovePlayerDownWhileShrinking(struct Sprite *sprite) { u32 y; @@ -1731,201 +1750,236 @@ void sub_80318D8(struct Sprite *sprite) sprite->data[0] = y; } -u8 sub_80318F4(u8 a, u8 b) +static u8 NewGameBirchSpeech_CreateLotadSprite(u8 a, u8 b) { return CreatePicSprite2(SPECIES_LOTAD, 8, 0, 1, a, b, 14, -1); } -void AddBirchSpeechObjects(u8 taskId) +static void AddBirchSpeechObjects(u8 taskId) { - u8 spriteId = AddNewGameBirchObject(0x88, 0x3C, 1); - u8 spriteId2; - u8 spriteId3; - u8 spriteId4; + u8 birchSpriteId; + u8 lotadSpriteId; + u8 brendanSpriteId; + u8 maySpriteId; - gSprites[spriteId].callback = nullsub_11; - gSprites[spriteId].oam.priority = 0; - gSprites[spriteId].invisible = TRUE; - gTasks[taskId].data[8] = spriteId; - spriteId2 = sub_80318F4(100, 0x4B); - gSprites[spriteId2].callback = nullsub_11; - gSprites[spriteId2].oam.priority = 0; - gSprites[spriteId2].invisible = TRUE; - gTasks[taskId].data[9] = spriteId2; - spriteId3 = CreateTrainerSprite(FacilityClassToPicIndex(0x3C), 0x78, 0x3C, 0, gDecompressionBuffer); - gSprites[spriteId3].callback = nullsub_11; - gSprites[spriteId3].invisible = TRUE; - gSprites[spriteId3].oam.priority = 0; - gTasks[taskId].data[10] = spriteId3; - spriteId4 = CreateTrainerSprite(FacilityClassToPicIndex(0x3F), 0x78, 0x3C, 0, &gDecompressionBuffer[0x800]); - gSprites[spriteId4].callback = nullsub_11; - gSprites[spriteId4].invisible = TRUE; - gSprites[spriteId4].oam.priority = 0; - gTasks[taskId].data[11] = spriteId4; + birchSpriteId = AddNewGameBirchObject(0x88, 0x3C, 1); + gSprites[birchSpriteId].callback = nullsub_11; + gSprites[birchSpriteId].oam.priority = 0; + gSprites[birchSpriteId].invisible = TRUE; + gTasks[taskId].tBirchSpriteId = birchSpriteId; + lotadSpriteId = NewGameBirchSpeech_CreateLotadSprite(100, 0x4B); + gSprites[lotadSpriteId].callback = nullsub_11; + gSprites[lotadSpriteId].oam.priority = 0; + gSprites[lotadSpriteId].invisible = TRUE; + gTasks[taskId].tLotadSpriteId = lotadSpriteId; + brendanSpriteId = CreateTrainerSprite(FacilityClassToPicIndex(FACILITY_CLASS_PKMN_TRAINER_BRENDAN), 120, 60, 0, &gDecompressionBuffer[0]); + gSprites[brendanSpriteId].callback = nullsub_11; + gSprites[brendanSpriteId].invisible = TRUE; + gSprites[brendanSpriteId].oam.priority = 0; + gTasks[taskId].tBrendanSpriteId = brendanSpriteId; + maySpriteId = CreateTrainerSprite(FacilityClassToPicIndex(FACILITY_CLASS_PKMN_TRAINER_MAY), 120, 60, 0, &gDecompressionBuffer[0x800]); + gSprites[maySpriteId].callback = nullsub_11; + gSprites[maySpriteId].invisible = TRUE; + gSprites[maySpriteId].oam.priority = 0; + gTasks[taskId].tMaySpriteId = maySpriteId; } -void sub_8031A5C(u8 taskId) -{ - int alpha; +#undef tPlayerSpriteId +#undef tBG1HOFS +#undef tPlayerGender +#undef tBirchSpriteId +#undef tLotadSpriteId +#undef tBrendanSpriteId +#undef tMaySpriteId - if (gTasks[taskId].data[1] == 0) +#define tMainTask data[0] +#define tAlphaCoeff1 data[1] +#define tAlphaCoeff2 data[2] +#define tDelay data[3] +#define tDelayTimer data[4] + +static void Task_NewGameBirchSpeech_FadeOutTarget1InTarget2(u8 taskId) +{ + int alphaCoeff2; + + if (gTasks[taskId].tAlphaCoeff1 == 0) { - gTasks[gTasks[taskId].data[0]].data[5] = 1; + gTasks[gTasks[taskId].tMainTask].tIsDoneFadingSprites = TRUE; DestroyTask(taskId); } - else if (gTasks[taskId].data[4]) + else if (gTasks[taskId].tDelayTimer) { - gTasks[taskId].data[4]--; + gTasks[taskId].tDelayTimer--; } else { - gTasks[taskId].data[4] = gTasks[taskId].data[3]; - gTasks[taskId].data[1]--; - gTasks[taskId].data[2]++; - alpha = gTasks[taskId].data[2] << 8; - SetGpuReg(REG_OFFSET_BLDALPHA, gTasks[taskId].data[1] + alpha); + gTasks[taskId].tDelayTimer = gTasks[taskId].tDelay; + gTasks[taskId].tAlphaCoeff1--; + gTasks[taskId].tAlphaCoeff2++; + alphaCoeff2 = gTasks[taskId].tAlphaCoeff2 << 8; + SetGpuReg(REG_OFFSET_BLDALPHA, gTasks[taskId].tAlphaCoeff1 + alphaCoeff2); } } -void sub_8031ACC(u8 taskId, u8 a) +static void NewGameBirchSpeech_StartFadeOutTarget1InTarget2(u8 taskId, u8 delay) { u8 taskId2; SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT2_BG1 | BLDCNT_EFFECT_BLEND | BLDCNT_TGT1_OBJ); SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(16, 0)); SetGpuReg(REG_OFFSET_BLDY, 0); - gTasks[taskId].data[5] = 0; - taskId2 = CreateTask(sub_8031A5C, 0); - gTasks[taskId2].data[0] = taskId; - gTasks[taskId2].data[1] = 16; - gTasks[taskId2].data[2] = 0; - gTasks[taskId2].data[3] = a; - gTasks[taskId2].data[4] = a; + gTasks[taskId].tIsDoneFadingSprites = 0; + taskId2 = CreateTask(Task_NewGameBirchSpeech_FadeOutTarget1InTarget2, 0); + gTasks[taskId2].tMainTask = taskId; + gTasks[taskId2].tAlphaCoeff1 = 16; + gTasks[taskId2].tAlphaCoeff2 = 0; + gTasks[taskId2].tDelay = delay; + gTasks[taskId2].tDelayTimer = delay; } -void sub_8031B3C(u8 taskId) +static void Task_NewGameBirchSpeech_FadeInTarget1OutTarget2(u8 taskId) { - int alpha; + int alphaCoeff2; - if (gTasks[taskId].data[1] == 16) + if (gTasks[taskId].tAlphaCoeff1 == 16) { - gTasks[gTasks[taskId].data[0]].data[5] = 1; + gTasks[gTasks[taskId].tMainTask].tIsDoneFadingSprites = TRUE; DestroyTask(taskId); } - else if (gTasks[taskId].data[4]) + else if (gTasks[taskId].tDelayTimer) { - gTasks[taskId].data[4]--; + gTasks[taskId].tDelayTimer--; } else { - gTasks[taskId].data[4] = gTasks[taskId].data[3]; - gTasks[taskId].data[1]++; - gTasks[taskId].data[2]--; - alpha = gTasks[taskId].data[2] << 8; - SetGpuReg(REG_OFFSET_BLDALPHA, gTasks[taskId].data[1] + alpha); + gTasks[taskId].tDelayTimer = gTasks[taskId].tDelay; + gTasks[taskId].tAlphaCoeff1++; + gTasks[taskId].tAlphaCoeff2--; + alphaCoeff2 = gTasks[taskId].tAlphaCoeff2 << 8; + SetGpuReg(REG_OFFSET_BLDALPHA, gTasks[taskId].tAlphaCoeff1 + alphaCoeff2); } } -void sub_8031BAC(u8 taskId, u8 a) +static void NewGameBirchSpeech_StartFadeInTarget1OutTarget2(u8 taskId, u8 delay) { u8 taskId2; SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT2_BG1 | BLDCNT_EFFECT_BLEND | BLDCNT_TGT1_OBJ); SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(0, 16)); SetGpuReg(REG_OFFSET_BLDY, 0); - gTasks[taskId].data[5] = 0; - taskId2 = CreateTask(sub_8031B3C, 0); - gTasks[taskId2].data[0] = taskId; - gTasks[taskId2].data[1] = 0; - gTasks[taskId2].data[2] = 16; - gTasks[taskId2].data[3] = a; - gTasks[taskId2].data[4] = a; + gTasks[taskId].tIsDoneFadingSprites = 0; + taskId2 = CreateTask(Task_NewGameBirchSpeech_FadeInTarget1OutTarget2, 0); + gTasks[taskId2].tMainTask = taskId; + gTasks[taskId2].tAlphaCoeff1 = 0; + gTasks[taskId2].tAlphaCoeff2 = 16; + gTasks[taskId2].tDelay = delay; + gTasks[taskId2].tDelayTimer = delay; } -void sub_8031C1C(u8 taskId) +#undef tMainTask +#undef tAlphaCoeff1 +#undef tAlphaCoeff2 +#undef tDelay +#undef tDelayTimer + +#undef tIsDoneFadingSprites + +#define tMainTask data[0] +#define tPalIndex data[1] +#define tDelayBefore data[2] +#define tDelay data[3] +#define tDelayTimer data[4] + +static void Task_NewGameBirchSpeech_FadePlatformIn(u8 taskId) { - if (gTasks[taskId].data[2]) + if (gTasks[taskId].tDelayBefore) { - gTasks[taskId].data[2]--; + gTasks[taskId].tDelayBefore--; } - else if (gTasks[taskId].data[1] == 8) + else if (gTasks[taskId].tPalIndex == 8) { DestroyTask(taskId); } - else if (gTasks[taskId].data[4]) + else if (gTasks[taskId].tDelayTimer) { - gTasks[taskId].data[4]--; + gTasks[taskId].tDelayTimer--; } else { - gTasks[taskId].data[4] = gTasks[taskId].data[3]; - gTasks[taskId].data[1]++; - LoadPalette(&gUnknown_082FF018[gTasks[taskId].data[1]], 1, 16); + gTasks[taskId].tDelayTimer = gTasks[taskId].tDelay; + gTasks[taskId].tPalIndex++; + LoadPalette(&sBirchSpeechBgGradientPal[gTasks[taskId].tPalIndex], 1, 16); } } -void sub_8031C88(u8 taskId, u8 a) +static void NewGameBirchSpeech_StartFadePlatformIn(u8 taskId, u8 delay) { u8 taskId2; - taskId2 = CreateTask(sub_8031C1C, 0); - gTasks[taskId2].data[0] = taskId; - gTasks[taskId2].data[1] = 0; - gTasks[taskId2].data[2] = 8; - gTasks[taskId2].data[3] = a; - gTasks[taskId2].data[4] = a; + taskId2 = CreateTask(Task_NewGameBirchSpeech_FadePlatformIn, 0); + gTasks[taskId2].tMainTask = taskId; + gTasks[taskId2].tPalIndex = 0; + gTasks[taskId2].tDelayBefore = 8; + gTasks[taskId2].tDelay = delay; + gTasks[taskId2].tDelayTimer = delay; } -void sub_8031CC8(u8 taskId) +static void Task_NewGameBirchSpeech_FadePlatformOut(u8 taskId) { - if (gTasks[taskId].data[2]) + if (gTasks[taskId].tDelayBefore) { - gTasks[taskId].data[2]--; + gTasks[taskId].tDelayBefore--; } - else if (gTasks[taskId].data[1] == 0) + else if (gTasks[taskId].tPalIndex == 0) { DestroyTask(taskId); } - else if (gTasks[taskId].data[4]) + else if (gTasks[taskId].tDelayTimer) { - gTasks[taskId].data[4]--; + gTasks[taskId].tDelayTimer--; } else { - gTasks[taskId].data[4] = gTasks[taskId].data[3]; - gTasks[taskId].data[1]--; - LoadPalette(&gUnknown_082FF018[gTasks[taskId].data[1]], 1, 16); + gTasks[taskId].tDelayTimer = gTasks[taskId].tDelay; + gTasks[taskId].tPalIndex--; + LoadPalette(&sBirchSpeechBgGradientPal[gTasks[taskId].tPalIndex], 1, 16); } } -void sub_8031D34(u8 taskId, u8 a) +static void NewGameBirchSpeech_StartFadePlatformOut(u8 taskId, u8 delay) { u8 taskId2; - taskId2 = CreateTask(sub_8031CC8, 0); - gTasks[taskId2].data[0] = taskId; - gTasks[taskId2].data[1] = 8; - gTasks[taskId2].data[2] = 8; - gTasks[taskId2].data[3] = a; - gTasks[taskId2].data[4] = a; + taskId2 = CreateTask(Task_NewGameBirchSpeech_FadePlatformOut, 0); + gTasks[taskId2].tMainTask = taskId; + gTasks[taskId2].tPalIndex = 8; + gTasks[taskId2].tDelayBefore = 8; + gTasks[taskId2].tDelay = delay; + gTasks[taskId2].tDelayTimer = delay; } -void sub_8031D74(void) +#undef tMainTask +#undef tPalIndex +#undef tDelayBefore +#undef tDelay +#undef tDelayTimer + +static void NewGameBirchSpeech_ShowGenderMenu(void) { DrawMainMenuWindowBorder(&gUnknown_082FF080[1], 0xF3); FillWindowPixelBuffer(1, 17); - PrintMenuTable(1, 2, gUnknown_082FF118); + PrintMenuTable(1, 2, sMenuActions_Gender); InitMenuInUpperLeftCornerPlaySoundWhenAPressed(1, 2, 0); PutWindowTilemap(1); CopyWindowToVram(1, 3); } -s8 sub_8031DB4(void) +static s8 NewGameBirchSpeech_ProcessGenderMenuInput(void) { return Menu_ProcessInputNoWrapAround(); } -void set_default_player_name(u8 nameId) +static void NewGameBirchSpeech_SetDefaultPlayerName(u8 nameId) { const u8* name; u8 i; @@ -1939,7 +1993,7 @@ void set_default_player_name(u8 nameId) gSaveBlock2Ptr->playerName[7] = 0xFF; } -void CreateMainMenuErrorWindow(const u8* str) +static void CreateMainMenuErrorWindow(const u8* str) { FillWindowPixelBuffer(7, 17); AddTextPrinterParameterized(7, 1, str, 0, 1, 2, 0); @@ -1950,35 +2004,35 @@ void CreateMainMenuErrorWindow(const u8* str) SetGpuReg(REG_OFFSET_WIN0V, WIN_RANGE(113, 159)); } -void fmt_savegame(void) +static void MainMenu_FormatSavegameText(void) { - fmt_time(); - fmt_pokedex(); - fmt_player(); - fmt_badges(); + MainMenu_FormatSavegamePlayer(); + MainMenu_FormatSavegamePokedex(); + MainMenu_FormatSavegameTime(); + MainMenu_FormatSavegameBadges(); } -void fmt_time(void) +static void MainMenu_FormatSavegamePlayer(void) { StringExpandPlaceholders(gStringVar4, gText_ContinueMenuPlayer); - AddTextPrinterParameterized3(2, 1, 0, 17, gUnknown_082FF0E3, -1, gStringVar4); - AddTextPrinterParameterized3(2, 1, GetStringRightAlignXOffset(1, gSaveBlock2Ptr->playerName, 100), 17, gUnknown_082FF0E3, -1, gSaveBlock2Ptr->playerName); + AddTextPrinterParameterized3(2, 1, 0, 17, sTextColor_PlayerGenderColor, -1, gStringVar4); + AddTextPrinterParameterized3(2, 1, GetStringRightAlignXOffset(1, gSaveBlock2Ptr->playerName, 100), 17, sTextColor_PlayerGenderColor, -1, gSaveBlock2Ptr->playerName); } -void fmt_player(void) +static void MainMenu_FormatSavegameTime(void) { u8 str[0x20]; u8* ptr; StringExpandPlaceholders(gStringVar4, gText_ContinueMenuTime); - AddTextPrinterParameterized3(2, 1, 0x6C, 17, gUnknown_082FF0E3, -1, gStringVar4); + AddTextPrinterParameterized3(2, 1, 0x6C, 17, sTextColor_PlayerGenderColor, -1, gStringVar4); ptr = ConvertIntToDecimalStringN(str, gSaveBlock2Ptr->playTimeHours, 0, 3); *ptr = 0xF0; ConvertIntToDecimalStringN(ptr + 1, gSaveBlock2Ptr->playTimeMinutes, 2, 2); - AddTextPrinterParameterized3(2, 1, GetStringRightAlignXOffset(1, str, 0xD0), 17, gUnknown_082FF0E3, -1, str); + AddTextPrinterParameterized3(2, 1, GetStringRightAlignXOffset(1, str, 0xD0), 17, sTextColor_PlayerGenderColor, -1, str); } -void fmt_pokedex(void) +static void MainMenu_FormatSavegamePokedex(void) { u8 str[0x20]; u16 dexCount; @@ -1990,13 +2044,13 @@ void fmt_pokedex(void) else dexCount = GetHoennPokedexCount(1); StringExpandPlaceholders(gStringVar4, gText_ContinueMenuPokedex); - AddTextPrinterParameterized3(2, 1, 0, 33, gUnknown_082FF0E3, -1, gStringVar4); + AddTextPrinterParameterized3(2, 1, 0, 33, sTextColor_PlayerGenderColor, -1, gStringVar4); ConvertIntToDecimalStringN(str, dexCount, 0, 3); - AddTextPrinterParameterized3(2, 1, GetStringRightAlignXOffset(1, str, 100), 33, gUnknown_082FF0E3, -1, str); + AddTextPrinterParameterized3(2, 1, GetStringRightAlignXOffset(1, str, 100), 33, sTextColor_PlayerGenderColor, -1, str); } } -void fmt_badges(void) +static void MainMenu_FormatSavegameBadges(void) { u8 str[0x20]; u8 badgeCount = 0; @@ -2008,18 +2062,18 @@ void fmt_badges(void) badgeCount++; } StringExpandPlaceholders(gStringVar4, gText_ContinueMenuBadges); - AddTextPrinterParameterized3(2, 1, 0x6C, 33, gUnknown_082FF0E3, -1, gStringVar4); + AddTextPrinterParameterized3(2, 1, 0x6C, 33, sTextColor_PlayerGenderColor, -1, gStringVar4); ConvertIntToDecimalStringN(str, badgeCount, 2, 1); - AddTextPrinterParameterized3(2, 1, GetStringRightAlignXOffset(1, str, 0xD0), 33, gUnknown_082FF0E3, -1, str); + AddTextPrinterParameterized3(2, 1, GetStringRightAlignXOffset(1, str, 0xD0), 33, sTextColor_PlayerGenderColor, -1, str); } -void LoadMainMenuWindowFrameTiles(u8 bgId, u16 tileOffset) +static void LoadMainMenuWindowFrameTiles(u8 bgId, u16 tileOffset) { LoadBgTiles(bgId, GetWindowFrameTilesPal(gSaveBlock2Ptr->optionsWindowFrameType)->tiles, 0x120, tileOffset); LoadPalette(GetWindowFrameTilesPal(gSaveBlock2Ptr->optionsWindowFrameType)->pal, 32, 32); } -void DrawMainMenuWindowBorder(const struct WindowTemplate *template, u16 baseTileNum) +static void DrawMainMenuWindowBorder(const struct WindowTemplate *template, u16 baseTileNum) { u16 r9 = 1 + baseTileNum; u16 r10 = 2 + baseTileNum; @@ -2046,42 +2100,42 @@ static void ClearMainMenuWindowTilemap(const struct WindowTemplate *template) CopyBgTilemapBufferToVram(template->priority); } -void sub_8032298(u8 a, u8 b, u8 c, u8 d, u8 e, u8 unused) +static void NewGameBirchSpeech_ClearGenderWindowTilemap(u8 a, u8 b, u8 c, u8 d, u8 e, u8 unused) { FillBgTilemapBufferRect(a, 0, b + 0xFF, c + 0xFF, d + 2, e + 2, 2); } -void sub_80322E0(u8 windowId, u8 a) +static void NewGameBirchSpeech_ClearGenderWindow(u8 windowId, u8 a) { - CallWindowFunction(windowId, sub_8032298); + CallWindowFunction(windowId, NewGameBirchSpeech_ClearGenderWindowTilemap); FillWindowPixelBuffer(windowId, 0x11); ClearWindowTilemap(windowId); if (a == 1) CopyWindowToVram(windowId, 3); } -void sub_8032318(u8 a) +static void NewGameBirchSpeech_ClearWindow(u8 windowId) { - u8 fontAttribute = GetFontAttribute(1, FONTATTR_COLOR_BACKGROUND); - u8 fontAttribute2 = GetFontAttribute(1, FONTATTR_MAX_LETTER_WIDTH); - u8 fontAttribute3 = GetFontAttribute(1, FONTATTR_MAX_LETTER_HEIGHT); - u8 windowAttribute = GetWindowAttribute(a, WINDOW_WIDTH); - u8 windowAttribute2 = GetWindowAttribute(a, WINDOW_HEIGHT); + u8 bgColor = GetFontAttribute(1, FONTATTR_COLOR_BACKGROUND); + u8 maxCharWidth = GetFontAttribute(1, FONTATTR_MAX_LETTER_WIDTH); + u8 maxCharHeight = GetFontAttribute(1, FONTATTR_MAX_LETTER_HEIGHT); + u8 winWidth = GetWindowAttribute(windowId, WINDOW_WIDTH); + u8 winHeight = GetWindowAttribute(windowId, WINDOW_HEIGHT); - FillWindowPixelRect(a, fontAttribute, 0, 0, fontAttribute2 * windowAttribute, fontAttribute3 * windowAttribute2); - CopyWindowToVram(a, 2); + FillWindowPixelRect(windowId, bgColor, 0, 0, maxCharWidth * winWidth, maxCharHeight * winHeight); + CopyWindowToVram(windowId, 2); } -void sub_80323A0(struct TextSubPrinter *printer, u16 a) +static void NewGameBirchSpeech_ShowPokeBallPrinterCallback(struct TextSubPrinter *printer, u16 a) { if (*(printer->current_text_offset - 2) == 8 && gUnknown_02022D04 == 0) { gUnknown_02022D04 = 1; - CreateTask(sub_8030A70, 0); + CreateTask(Task_NewGameBirchSpeechSub_InitPokeBall, 0); } } -void sub_80323CC(u8 a, u8 b, u16 c, u16 d, u8 e, u8 f) +void CreateYesNoMenuParameterized(u8 a, u8 b, u16 c, u16 d, u8 e, u8 f) { struct WindowTemplate sp; @@ -2089,16 +2143,16 @@ void sub_80323CC(u8 a, u8 b, u16 c, u16 d, u8 e, u8 f) CreateYesNoMenu(&sp, c, e, 0); } -void unknown_rbox_to_vram(u8 windowId, u8 a) +static void NewGameBirchSpeech_ShowDialogueWindow(u8 windowId, u8 copyToVram) { - CallWindowFunction(windowId, sub_8032474); + CallWindowFunction(windowId, NewGameBirchSpeech_CreateDialogueWindowBorder); FillWindowPixelBuffer(windowId, 17); PutWindowTilemap(windowId); - if (a == 1) + if (copyToVram == TRUE) CopyWindowToVram(windowId, 3); } -void sub_8032474 (u8 a, u8 b, u8 c, u8 d, u8 e, u8 f) +static void NewGameBirchSpeech_CreateDialogueWindowBorder(u8 a, u8 b, u8 c, u8 d, u8 e, u8 f) { FillBgTilemapBufferRect(a, 0xFD, b-2, c-1, 1, 1, f); FillBgTilemapBufferRect(a, 0xFF, b-1, c-1, 1, 1, f); @@ -2115,11 +2169,13 @@ void sub_8032474 (u8 a, u8 b, u8 c, u8 d, u8 e, u8 f) FillBgTilemapBufferRect(a, BG_TILE_V_FLIP(0x102), b+d, c+e, 1, 1, f); } -void task_new_game_prof_birch_speech_part2_1(u8 taskId) +static void Task_NewGameBirchSpeech_ReturnFromNamingScreenShowTextbox(u8 taskId) { - if (gTasks[taskId].data[7]-- <= 0) + if (gTasks[taskId].tTimer-- <= 0) { - unknown_rbox_to_vram(0, 1); - gTasks[taskId].func = task_new_game_prof_birch_speech_part2_2; + NewGameBirchSpeech_ShowDialogueWindow(0, 1); + gTasks[taskId].func = Task_NewGameBirchSpeech_SoItsPlayerName; } } + +#undef tTimer diff --git a/src/mauville_old_man.c b/src/mauville_old_man.c index 6ebc7affaa..3d3408bbb6 100644 --- a/src/mauville_old_man.c +++ b/src/mauville_old_man.c @@ -668,7 +668,7 @@ static void Task_BardSong(u8 taskId) task->tState = 3; break; } - sub_8197224(); + RunTextPrintersAndIsPrinter0Active(); } void ScrSpecial_SetMauvilleOldManEventObjGfx(void) diff --git a/src/menu.c b/src/menu.c index c5d70f5559..0e5d1b8568 100644 --- a/src/menu.c +++ b/src/menu.c @@ -157,7 +157,7 @@ void sub_8197200(void) sub_81973A4(); } -u16 sub_8197224(void) +u16 RunTextPrintersAndIsPrinter0Active(void) { RunTextPrinters(); return IsTextPrinterActive(0); diff --git a/src/slot_machine.c b/src/slot_machine.c index ed00f41c21..5edd31e998 100644 --- a/src/slot_machine.c +++ b/src/slot_machine.c @@ -968,7 +968,7 @@ bool8 sub_8102318(struct Task *task) NewMenuHelpers_DrawDialogueFrame(0, 0); AddTextPrinterParameterized(0, 1, gText_QuitTheGame, 0, 1, 0, 0); CopyWindowToVram(0, 3); - sub_80323CC(0x15, 7, 0x214, 0x180, 0xE, 0xF); + CreateYesNoMenuParameterized(0x15, 7, 0x214, 0x180, 0xE, 0xF); sSlotMachine->state = 22; return FALSE; } diff --git a/src/start_menu.c b/src/start_menu.c index 56dad89f7f..9d10aeaa4b 100644 --- a/src/start_menu.c +++ b/src/start_menu.c @@ -866,7 +866,7 @@ static void InitSave(void) static u8 RunSaveCallback(void) { // True if text is still printing - if (sub_8197224() == TRUE) + if (RunTextPrintersAndIsPrinter0Active() == TRUE) { return SAVE_IN_PROGRESS; } From e8be47abb880a06090f36a7305ab0e4f59f0a701 Mon Sep 17 00:00:00 2001 From: Diegoisawesome <diego@domoreaweso.me> Date: Fri, 14 Sep 2018 22:35:04 -0500 Subject: [PATCH 205/234] Add running status to mid2agb --- tools/mid2agb/main.cpp | 14 +++++++++++++- tools/mid2agb/midi.cpp | 13 +++++++++++++ 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/tools/mid2agb/main.cpp b/tools/mid2agb/main.cpp index 9b883fba5b..5659e49b17 100644 --- a/tools/mid2agb/main.cpp +++ b/tools/mid2agb/main.cpp @@ -73,6 +73,18 @@ static std::string StripExtension(std::string s) return s; } +static std::string StripPathAndExtension(std::string s) +{ + std::size_t pos = s.find_last_of("/\\"); + + if (pos > 0 && pos != std::string::npos) + { + s = s.substr(pos + 1, pos); + } + + return StripExtension(s); +} + static std::string GetExtension(std::string s) { std::size_t pos = s.find_last_of('.'); @@ -206,7 +218,7 @@ int main(int argc, char** argv) RaiseError("output filename extension is not \"s\""); if (g_asmLabel.empty()) - g_asmLabel = StripExtension(outputFilename); + g_asmLabel = StripPathAndExtension(outputFilename); g_inputFile = std::fopen(inputFilename.c_str(), "rb"); diff --git a/tools/mid2agb/midi.cpp b/tools/mid2agb/midi.cpp index ba5dd654ae..7c05c52374 100644 --- a/tools/mid2agb/midi.cpp +++ b/tools/mid2agb/midi.cpp @@ -52,6 +52,7 @@ static std::int32_t s_absoluteTime; static int s_blockCount = 0; static int s_minNote; static int s_maxNote; +static int s_runningStatus = 0; void Seek(long offset) { @@ -181,19 +182,31 @@ void DetermineEventCategory(MidiEventCategory& category, int& typeChan, int& siz { typeChan = ReadInt8(); + if (typeChan < 0x80 && s_runningStatus != 0) + { + typeChan = s_runningStatus; + Skip(-1); + } + if (typeChan == 0xFF) { category = MidiEventCategory::Meta; size = 0; } + else if (typeChan >= 0xF8) + { + category = MidiEventCategory::Invalid; + } else if (typeChan >= 0xF0) { category = MidiEventCategory::SysEx; size = 0; + s_runningStatus = 0; } else if (typeChan >= 0x80) { category = MidiEventCategory::Control; + s_runningStatus = typeChan; switch (typeChan >> 4) { From ff13cb63520d58951c6d7fcbb026b1f1beb21ae8 Mon Sep 17 00:00:00 2001 From: DizzyEggg <jajkodizzy@wp.pl> Date: Sat, 15 Sep 2018 13:50:23 +0200 Subject: [PATCH 206/234] decompile cable car util which has nothing to do with actual cable car --- asm/cable_car_util.s | 762 ------------------------------------------ include/pokemon.h | 8 +- include/rom_8034C54.h | 2 +- include/rom_81520A8.h | 33 ++ ld_script.txt | 2 +- src/hall_of_fame.c | 51 +-- src/rom_8034C54.c | 4 +- src/rom_81520A8.c | 218 ++++++++++++ sym_ewram.txt | 4 +- 9 files changed, 270 insertions(+), 814 deletions(-) delete mode 100644 asm/cable_car_util.s create mode 100644 include/rom_81520A8.h create mode 100644 src/rom_81520A8.c diff --git a/asm/cable_car_util.s b/asm/cable_car_util.s deleted file mode 100644 index db434eaf91..0000000000 --- a/asm/cable_car_util.s +++ /dev/null @@ -1,762 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_81520A8 -sub_81520A8: @ 81520A8 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - mov r10, r0 - ldr r0, [sp, 0x24] - ldr r4, [sp, 0x28] - lsls r1, 16 - lsrs r1, 16 - mov r9, r1 - lsls r2, 24 - lsrs r2, 24 - str r2, [sp] - lsls r3, 24 - lsls r0, 24 - lsrs r7, r0, 24 - lsls r4, 24 - lsrs r4, 24 - mov r8, r4 - movs r0, 0 - lsrs r4, r3, 24 - cmp r0, r8 - bcs _08152122 -_081520DA: - ldr r2, [sp] - movs r3, 0 - adds r6, r4, 0x1 - adds r0, 0x1 - mov r12, r0 - cmp r3, r7 - bcs _0815210C - lsls r5, r4, 6 -_081520EA: - lsls r0, r2, 1 - adds r0, r5 - add r0, r10 - mov r1, r9 - strh r1, [r0] - adds r1, r2, 0x1 - adds r0, r1, 0 - asrs r0, 5 - lsls r0, 5 - subs r0, r1, r0 - lsls r0, 24 - lsrs r2, r0, 24 - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, r7 - bcc _081520EA -_0815210C: - adds r0, r6, 0 - asrs r0, 5 - lsls r0, 5 - subs r0, r6, r0 - lsls r0, 24 - lsrs r4, r0, 24 - mov r1, r12 - lsls r0, r1, 24 - lsrs r0, 24 - cmp r0, r8 - bcc _081520DA -_08152122: - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_81520A8 - - thumb_func_start sub_8152134 -sub_8152134: @ 8152134 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - mov r10, r0 - ldr r0, [sp, 0x24] - ldr r4, [sp, 0x28] - lsls r2, 24 - lsrs r2, 24 - str r2, [sp] - lsls r3, 24 - lsls r0, 24 - lsrs r0, 24 - mov r12, r0 - lsls r4, 24 - lsrs r4, 24 - mov r9, r4 - movs r0, 0 - adds r5, r1, 0 - lsrs r4, r3, 24 - cmp r0, r9 - bcs _081521AE -_08152164: - ldr r2, [sp] - movs r3, 0 - adds r7, r4, 0x1 - adds r0, 0x1 - mov r8, r0 - cmp r3, r12 - bcs _08152198 - lsls r6, r4, 6 -_08152174: - lsls r0, r2, 1 - adds r0, r6 - add r0, r10 - ldrh r1, [r5] - strh r1, [r0] - adds r5, 0x2 - adds r1, r2, 0x1 - adds r0, r1, 0 - asrs r0, 5 - lsls r0, 5 - subs r0, r1, r0 - lsls r0, 24 - lsrs r2, r0, 24 - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, r12 - bcc _08152174 -_08152198: - adds r0, r7, 0 - asrs r0, 5 - lsls r0, 5 - subs r0, r7, r0 - lsls r0, 24 - lsrs r4, r0, 24 - mov r1, r8 - lsls r0, r1, 24 - lsrs r0, 24 - cmp r0, r9 - bcc _08152164 -_081521AE: - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8152134 - - thumb_func_start sub_81521C0 -sub_81521C0: @ 81521C0 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r4, r0, 24 - movs r5, 0 - cmp r4, 0 - beq _081521FE - cmp r4, 0x40 - bls _081521D6 - movs r4, 0x40 -_081521D6: - ldr r6, =gUnknown_0203ABB8 - movs r0, 0x8 - bl AllocZeroed - str r0, [r6] - cmp r0, 0 - beq _081521FE - lsls r0, r4, 1 - adds r0, r4 - lsls r0, 4 - bl AllocZeroed - ldr r1, [r6] - str r0, [r1, 0x4] - cmp r0, 0 - bne _08152208 - adds r0, r1, 0 - bl Free - str r5, [r6] -_081521FE: - movs r0, 0 - b _08152244 - .pool -_08152208: - strb r4, [r1] - cmp r5, r4 - bcs _08152242 - adds r3, r6, 0 - ldr r0, =gDummyOamData - mov r12, r0 - movs r2, 0x4 - mov r8, r2 -_08152218: - ldr r0, [r3] - ldr r2, [r0, 0x4] - lsls r1, r5, 1 - adds r1, r5 - lsls r1, 4 - adds r2, r1, r2 - mov r0, r12 - ldm r0!, {r6,r7} - stm r2!, {r6,r7} - ldr r0, [r3] - ldr r0, [r0, 0x4] - adds r1, r0 - ldrb r0, [r1, 0x19] - mov r2, r8 - orrs r0, r2 - strb r0, [r1, 0x19] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, r4 - bcc _08152218 -_08152242: - movs r0, 0x1 -_08152244: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81521C0 - - thumb_func_start sub_8152254 -sub_8152254: @ 8152254 - push {r4-r7,lr} - movs r3, 0 - ldr r0, =gUnknown_0203ABB8 - ldr r2, [r0] - adds r5, r0, 0 - cmp r2, 0 - bne _0815226C - movs r0, 0 - b _081522C4 - .pool -_0815226C: - ldrb r2, [r2] - cmp r3, r2 - bcs _08152292 - ldr r0, =gMain+0x238 - mov r12, r0 - ldr r4, =gDummyOamData - adds r2, r5, 0 -_0815227A: - lsls r1, r3, 3 - add r1, r12 - adds r0, r4, 0 - ldm r0!, {r6,r7} - stm r1!, {r6,r7} - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - ldr r0, [r2] - ldrb r0, [r0] - cmp r3, r0 - bcc _0815227A -_08152292: - ldr r1, [r5] - ldrb r0, [r1] - lsls r2, r0, 1 - adds r2, r0 - ldr r0, [r1, 0x4] - lsls r2, 4 - movs r1, 0 - bl memset - ldr r0, [r5] - ldr r0, [r0, 0x4] - bl Free - ldr r0, [r5] - movs r4, 0 - str r4, [r0, 0x4] - movs r1, 0 - movs r2, 0x8 - bl memset - ldr r0, [r5] - bl Free - str r4, [r5] - movs r0, 0x1 -_081522C4: - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8152254 - - thumb_func_start sub_81522D4 -sub_81522D4: @ 81522D4 - push {r4-r7,lr} - mov r7, r8 - push {r7} - movs r6, 0 - ldr r0, =gUnknown_0203ABB8 - ldr r1, [r0] - adds r3, r0, 0 - cmp r1, 0 - beq _081522EC - ldr r0, [r1, 0x4] - cmp r0, 0 - bne _081522F4 -_081522EC: - movs r0, 0 - b _081523D2 - .pool -_081522F4: - ldrb r1, [r1] - cmp r6, r1 - bcs _081523D0 - adds r7, r3, 0 - movs r0, 0x3 - mov r8, r0 -_08152300: - ldr r0, [r7] - ldr r1, [r0, 0x4] - lsls r0, r6, 1 - adds r0, r6 - lsls r5, r0, 4 - adds r2, r5, r1 - ldrb r1, [r2, 0x19] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0x3 - bne _081523C2 - ldr r1, [r2, 0x2C] - cmp r1, 0 - beq _08152322 - adds r0, r2, 0 - bl _call_via_r1 -_08152322: - ldr r0, [r7] - ldr r0, [r0, 0x4] - adds r2, r5, r0 - ldrb r1, [r2, 0x19] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _08152348 - lsls r0, r6, 3 - ldr r1, =gMain+0x238 - adds r0, r1 - ldr r1, =gDummyOamData - ldm r1!, {r2,r3} - stm r0!, {r2,r3} - b _081523C0 - .pool -_08152348: - ldrb r0, [r2, 0xE] - ldrb r4, [r2, 0xA] - adds r0, r4 - strb r0, [r2] - ldr r4, [r7] - ldr r3, [r4, 0x4] - adds r3, r5, r3 - movs r0, 0x8 - ldrsh r2, [r3, r0] - movs r1, 0xC - ldrsh r0, [r3, r1] - adds r2, r0 - ldr r1, =0x000001ff - adds r0, r1, 0 - ands r2, r0 - ldrh r0, [r3, 0x2] - ldr r1, =0xfffffe00 - mov r12, r1 - mov r1, r12 - ands r0, r1 - orrs r0, r2 - strh r0, [r3, 0x2] - ldr r3, [r4, 0x4] - adds r3, r5, r3 - ldrb r0, [r3, 0x19] - lsls r0, 27 - lsrs r0, 30 - mov r2, r8 - ands r0, r2 - lsls r0, 2 - ldrb r1, [r3, 0x5] - movs r4, 0xD - negs r4, r4 - adds r2, r4, 0 - ands r1, r2 - orrs r1, r0 - strb r1, [r3, 0x5] - ldr r4, [r7] - ldr r2, [r4, 0x4] - adds r2, r5, r2 - ldrh r3, [r2, 0x14] - ldr r1, =0x000003ff - adds r0, r1, 0 - adds r1, r3, 0 - ands r1, r0 - mov r12, r1 - ldrh r0, [r2, 0x4] - ldr r3, =0xfffffc00 - adds r1, r3, 0 - ands r0, r1 - mov r1, r12 - orrs r0, r1 - strh r0, [r2, 0x4] - lsls r1, r6, 3 - ldr r2, =gMain+0x238 - ldr r0, [r4, 0x4] - adds r1, r2 - adds r0, r5, r0 - ldm r0!, {r2,r3} - stm r1!, {r2,r3} -_081523C0: - ldr r3, =gUnknown_0203ABB8 -_081523C2: - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - ldr r0, [r3] - ldrb r0, [r0] - cmp r6, r0 - bcc _08152300 -_081523D0: - movs r0, 0x1 -_081523D2: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81522D4 - - thumb_func_start sub_81523F4 -sub_81523F4: @ 81523F4 - push {r4-r6,lr} - adds r4, r0, 0 - lsls r1, 24 - lsrs r6, r1, 24 - cmp r4, 0 - beq _08152430 - ldrh r0, [r4, 0x10] - bl GetSpriteTileStartByTag - lsls r0, 16 - lsrs r5, r0, 16 - ldr r0, =0x0000ffff - cmp r5, r0 - beq _08152430 - strb r6, [r4, 0x18] - ldrb r0, [r4, 0x1] - lsrs r0, 6 - ldrb r1, [r4, 0x3] - lsrs r1, 6 - bl sub_80355F8 - lsls r0, 24 - lsrs r0, 24 - muls r0, r6 - adds r0, r5, r0 - strh r0, [r4, 0x14] - movs r0, 0x1 - b _08152432 - .pool -_08152430: - movs r0, 0 -_08152432: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_81523F4 - - thumb_func_start sub_8152438 -sub_8152438: @ 8152438 - push {r4,lr} - adds r4, r1, 0 - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, =gUnknown_0203ABB8 - ldr r0, [r0] - cmp r0, 0 - beq _0815246C - ldrb r1, [r0] - cmp r2, r1 - bcs _0815246C - ldr r1, [r0, 0x4] - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 4 - adds r3, r0, r1 - ldrb r1, [r3, 0x19] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0815246C - str r4, [r3, 0x2C] - adds r0, r2, 0 - b _0815246E - .pool -_0815246C: - movs r0, 0xFF -_0815246E: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8152438 - - thumb_func_start sub_8152474 -sub_8152474: @ 8152474 - push {r4,r5,lr} - lsls r0, 24 - lsrs r3, r0, 24 - lsls r1, 24 - lsrs r4, r1, 24 - lsls r2, 16 - lsrs r5, r2, 16 - ldr r0, =gUnknown_0203ABB8 - ldr r0, [r0] - cmp r0, 0 - beq _081524A8 - ldrb r1, [r0] - cmp r3, r1 - bcs _081524A8 - ldr r1, [r0, 0x4] - lsls r0, r3, 1 - adds r0, r3 - lsls r0, 4 - adds r2, r0, r1 - ldrb r1, [r2, 0x19] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _081524A8 - cmp r4, 0x7 - bls _081524B0 -_081524A8: - movs r0, 0xFF - b _081524BC - .pool -_081524B0: - lsls r1, r4, 1 - adds r0, r2, 0 - adds r0, 0x1A - adds r0, r1 - strh r5, [r0] - adds r0, r3, 0 -_081524BC: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8152474 - - thumb_func_start sub_81524C4 -sub_81524C4: @ 81524C4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x10 - mov r9, r0 - ldr r0, [sp, 0x30] - ldr r4, [sp, 0x34] - ldr r5, [sp, 0x38] - lsls r1, 16 - lsrs r1, 16 - str r1, [sp] - lsls r2, 16 - lsrs r2, 16 - mov r8, r2 - lsls r3, 16 - lsrs r3, 16 - str r3, [sp, 0x4] - lsls r0, 16 - lsrs r0, 16 - str r0, [sp, 0x8] - lsls r4, 24 - lsrs r4, 24 - str r4, [sp, 0xC] - lsls r5, 24 - lsrs r5, 24 - mov r10, r5 - movs r5, 0 - ldr r0, =gUnknown_0203ABB8 - ldr r0, [r0] - cmp r0, 0 - beq _0815255E - mov r1, r9 - cmp r1, 0 - bne _08152530 - b _0815255E - .pool -_08152514: - adds r5, r2, 0 - adds r0, r5, 0 - movs r1, 0 - movs r2, 0x30 - bl memset - strb r4, [r5, 0x16] - ldrb r0, [r5, 0x19] - movs r1, 0x1 - orrs r0, r1 - movs r1, 0x2 - orrs r0, r1 - strb r0, [r5, 0x19] - b _0815255A -_08152530: - movs r4, 0 - ldrb r1, [r0] - cmp r5, r1 - bcs _0815255A - ldr r6, [r0, 0x4] - adds r3, r1, 0 - movs r7, 0x1 -_0815253E: - lsls r0, r4, 1 - adds r0, r4 - lsls r0, 4 - adds r2, r0, r6 - ldrb r1, [r2, 0x19] - adds r0, r7, 0 - ands r0, r1 - cmp r0, 0 - beq _08152514 - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, r3 - bcc _0815253E -_0815255A: - cmp r5, 0 - bne _08152562 -_0815255E: - movs r0, 0xFF - b _081525C0 -_08152562: - adds r1, r5, 0 - mov r0, r9 - ldm r0!, {r2,r3} - stm r1!, {r2,r3} - mov r0, sp - ldrh r0, [r0] - strh r0, [r5, 0x10] - mov r1, r8 - strh r1, [r5, 0x12] - mov r2, sp - ldrh r2, [r2, 0x4] - strh r2, [r5, 0x8] - mov r3, sp - ldrh r3, [r3, 0x8] - strh r3, [r5, 0xA] - mov r0, r8 - bl IndexOfSpritePaletteTag - lsls r0, 4 - ldrb r1, [r5, 0x5] - movs r4, 0xF - ands r4, r1 - orrs r4, r0 - strb r4, [r5, 0x5] - mov r0, r10 - cmp r0, 0x3 - bhi _081525B6 - movs r1, 0x3 - ands r1, r0 - lsls r3, r1, 3 - ldrb r2, [r5, 0x19] - movs r0, 0x19 - negs r0, r0 - ands r0, r2 - orrs r0, r3 - strb r0, [r5, 0x19] - lsls r1, 2 - movs r0, 0xD - negs r0, r0 - ands r4, r0 - orrs r4, r1 - strb r4, [r5, 0x5] -_081525B6: - adds r0, r5, 0 - ldr r1, [sp, 0xC] - bl sub_81523F4 - ldrb r0, [r5, 0x16] -_081525C0: - add sp, 0x10 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_81524C4 - - thumb_func_start sub_81525D0 -sub_81525D0: @ 81525D0 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r6, =gUnknown_0203ABB8 - ldr r0, [r6] - cmp r0, 0 - beq _081525F2 - ldr r1, [r0, 0x4] - lsls r0, r5, 1 - adds r0, r5 - lsls r4, r0, 4 - adds r2, r4, r1 - ldrb r1, [r2, 0x19] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _081525FC -_081525F2: - movs r0, 0xFF - b _0815263C - .pool -_081525FC: - adds r0, r2, 0 - movs r1, 0 - movs r2, 0x30 - bl memset - ldr r0, [r6] - ldr r0, [r0, 0x4] - adds r0, r4, r0 - movs r1, 0xA0 - strb r1, [r0] - ldr r3, [r6] - ldr r2, [r3, 0x4] - adds r2, r4, r2 - ldrh r1, [r2, 0x2] - ldr r0, =0xfffffe00 - ands r0, r1 - movs r1, 0xF0 - orrs r0, r1 - strh r0, [r2, 0x2] - ldr r1, [r3, 0x4] - adds r1, r4, r1 - ldrb r0, [r1, 0x19] - movs r2, 0x4 - orrs r0, r2 - strb r0, [r1, 0x19] - lsls r1, r5, 3 - ldr r0, =gMain+0x238 - adds r1, r0 - ldr r0, =gDummyOamData - ldm r0!, {r2,r3} - stm r1!, {r2,r3} - adds r0, r5, 0 -_0815263C: - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81525D0 - - .align 2, 0 @ Don't pad with nop. diff --git a/include/pokemon.h b/include/pokemon.h index abfb360f0d..9eddd8155a 100644 --- a/include/pokemon.h +++ b/include/pokemon.h @@ -268,12 +268,12 @@ struct UnknownPokemonStruct3 struct Unknown_806F160_Struct { - u8 field_0_0 : 4; - u8 field_0_1 : 4; + u8 field_0_0:4; + u8 field_0_1:4; u8 field_1; u8 magic; - u8 field_3_0 : 4; - u8 field_3_1 : 4; + u8 field_3_0:4; + u8 field_3_1:4; void *bytes; u8 **byteArrays; struct SpriteTemplate *templates; diff --git a/include/rom_8034C54.h b/include/rom_8034C54.h index 9ad84ca139..4da324dd10 100644 --- a/include/rom_8034C54.h +++ b/include/rom_8034C54.h @@ -21,6 +21,6 @@ bool32 sub_8034D14(u32 id, s32 arg1, const struct UnkStruct3 *arg2); void sub_8035044(u32 id, s32 arg1); void sub_80353DC(u32 id); void sub_803547C(u32 id, bool32 arg1); -u8 sub_80355F8(u32 arg0, u32 arg1); +u8 sub_80355F8(u32 shape, u32 size); #endif // GUARD_ROM_8034C54_H diff --git a/include/rom_81520A8.h b/include/rom_81520A8.h new file mode 100644 index 0000000000..2be12200fb --- /dev/null +++ b/include/rom_81520A8.h @@ -0,0 +1,33 @@ +#ifndef GUARD_ROM_81520A8_H +#define GUARD_ROM_81520A8_H + +struct UnkStruct_81520A8 +{ + struct OamData oam; + s16 x; + s16 y; + s16 xDelta; + s16 yDelta; + u16 tileTag; + u16 palTag; + u16 tileNum; + u8 id; + u8 filler17; // Unused. + u8 unk18; + u8 unk19_0:1; + u8 unk19_1:1; + u8 unk19_2:1; + u8 priority:2; + s16 data[8]; + void (*callback)(struct UnkStruct_81520A8 *); +}; + +bool32 sub_81521C0(u8 count); +bool32 sub_8152254(void); +bool32 sub_81522D4(void); +u8 sub_8152438(u8 id, void (*func)(struct UnkStruct_81520A8 *)); +u8 sub_8152474(u8 id, u8 dataArrayId, s16 dataValue); +u8 sub_81524C4(const struct OamData *oam, u16 tileTag, u16 palTag, s16 x, s16 y, u8 arg5, u8 priority); +u8 sub_81525D0(u8 id); + +#endif // GUARD_ROM_81520A8_H diff --git a/ld_script.txt b/ld_script.txt index 2e36161218..50a2b60489 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -199,7 +199,7 @@ SECTIONS { asm/cable_car.o(.text); src/math_util.o(.text); asm/roulette_util.o(.text); - asm/cable_car_util.o(.text); + src/rom_81520A8.o(.text); src/save.o(.text); src/mystery_event_script.o(.text); asm/field_effect_helpers.o(.text); diff --git a/src/hall_of_fame.c b/src/hall_of_fame.c index 522d11d4f3..2b09046725 100644 --- a/src/hall_of_fame.c +++ b/src/hall_of_fame.c @@ -29,6 +29,7 @@ #include "menu.h" #include "trainer_pokemon_sprites.h" #include "data2.h" +#include "rom_81520A8.h" struct HallofFameMon { @@ -91,13 +92,6 @@ extern void sub_80F9BCC(u16, u16, u8); extern bool8 sub_80F9C1C(void); extern void sub_81971D0(void); extern void sub_8197200(void); -extern void sub_8152254(void); -extern void sub_81525D0(u8); -extern void sub_8152438(u8, void*); -extern void sub_8152474(u8, u8, u8); -extern void sub_81522D4(void); -extern bool32 sub_81521C0(u8); -extern u8 sub_81524C4(const struct OamData *arg0, s16 arg1, s16 arg2, s16 arg3, s16 arg4, u8 arg5, s16 arg6); // this file's functions static void ClearVramOamPltt_LoadHofPal(void); @@ -1444,53 +1438,28 @@ static void sub_81752C0(void) FreeSpritePaletteByTag(0x3E9); } -struct UnknownStruct912B4 +static void sub_81752F4(struct UnkStruct_81520A8 *structPtr) { - s16 field_0; - s16 field_2; - s16 field_4; - s16 field_6; - s16 field_8; - s16 field_A; - s16 field_C; - s16 field_E; - s16 field_10; - s16 field_12; - s16 field_14; - s16 field_16; - s16 field_18; - s16 field_1A; - s16 field_1C; - s16 field_1E; - s16 field_20; - s16 field_22; - s16 field_24; - s16 field_26; - s16 field_28; -}; - -static void sub_81752F4(struct UnknownStruct912B4 *unkStruct) -{ - if (unkStruct->field_E > 110) + if (structPtr->yDelta > 110) { - gTasks[unkStruct->field_28].data[15]--; - sub_81525D0(unkStruct->field_16); + gTasks[structPtr->data[7]].data[15]--; + sub_81525D0(structPtr->id); } else { u8 var; s32 rand; - unkStruct->field_E++; - unkStruct->field_E += unkStruct->field_1C; + structPtr->yDelta++; + structPtr->yDelta += structPtr->data[1]; - var = unkStruct->field_1A; + var = structPtr->data[0]; rand = Random(); rand &= 3; rand += 8; - unkStruct->field_C = (rand) * ((gSineTable[var])) / 256; + structPtr->xDelta = (rand) * ((gSineTable[var])) / 256; - unkStruct->field_1A += 4; + structPtr->data[0] += 4; } } diff --git a/src/rom_8034C54.c b/src/rom_8034C54.c index da18c330cc..1ef223c696 100644 --- a/src/rom_8034C54.c +++ b/src/rom_8034C54.c @@ -431,9 +431,9 @@ static bool32 SharesPalWithAnyActive(u32 id) return FALSE; } -u8 sub_80355F8(u32 arg0, u32 arg1) +u8 sub_80355F8(u32 shape, u32 size) { - return gUnknown_082FF1C8[arg0][arg1]; + return gUnknown_082FF1C8[shape][size]; } static void sub_8035608(void) diff --git a/src/rom_81520A8.c b/src/rom_81520A8.c new file mode 100644 index 0000000000..f6d14d49c4 --- /dev/null +++ b/src/rom_81520A8.c @@ -0,0 +1,218 @@ +#include "global.h" +#include "rom_81520A8.h" +#include "malloc.h" +#include "main.h" +#include "rom_8034C54.h" + +static EWRAM_DATA struct +{ + u8 count; + struct UnkStruct_81520A8 *unk4; +} *sUnknown_0203ABB8 = NULL; + +void sub_81520A8(void *dest, u16 value, u8 left, u8 top, u8 width, u8 height) // Unused. +{ + u8 i; + u8 j; + u8 x; + u8 y; + + for (i = 0, y = top; i < height; i++) + { + for (x = left, j = 0; j < width; j++) + { + *(u16 *)((dest) + (y * 64 + x * 2)) = value; + x = (x + 1) % 32; + } + y = (y + 1) % 32; + } +} + +void sub_8152134(void *dest, const u16 *src, u8 left, u8 top, u8 width, u8 height) // Unused. +{ + u8 i; + u8 j; + u8 x; + u8 y; + const u16 *_src; + + for (i = 0, _src = src, y = top; i < height; i++) + { + for (x = left, j = 0; j < width; j++) + { + *(u16 *)((dest) + (y * 64 + x * 2)) = *(_src++); + x = (x + 1) % 32; + } + y = (y + 1) % 32; + } +} + +bool32 sub_81521C0(u8 count) +{ + u8 i = 0; + + if (count == 0) + return FALSE; + if (count > 64) + count = 64; + + sUnknown_0203ABB8 = AllocZeroed(sizeof(*sUnknown_0203ABB8)); + if (sUnknown_0203ABB8 == NULL) + return FALSE; + sUnknown_0203ABB8->unk4 = AllocZeroed(count * sizeof(struct UnkStruct_81520A8)); + if (sUnknown_0203ABB8->unk4 == NULL) + { + FREE_AND_SET_NULL(sUnknown_0203ABB8); + return FALSE; + } + + sUnknown_0203ABB8->count = count; + for (i = 0; i < count; i++) + { + memcpy(&sUnknown_0203ABB8->unk4[i].oam, &gDummyOamData, sizeof(struct OamData)); + sUnknown_0203ABB8->unk4[i].unk19_2 = TRUE; + } + + return TRUE; +} + +bool32 sub_8152254(void) +{ + u8 i = 0; + + if (sUnknown_0203ABB8 == NULL) + return FALSE; + + for (i = 0; i < sUnknown_0203ABB8->count; i++) + memcpy(&gMain.oamBuffer[i + 64], &gDummyOamData, sizeof(struct OamData)); + + memset(sUnknown_0203ABB8->unk4, 0, sUnknown_0203ABB8->count * sizeof(struct UnkStruct_81520A8)); + FREE_AND_SET_NULL(sUnknown_0203ABB8->unk4); + memset(sUnknown_0203ABB8, 0, sizeof(*sUnknown_0203ABB8)); + FREE_AND_SET_NULL(sUnknown_0203ABB8); + + return TRUE; +} + +bool32 sub_81522D4(void) +{ + u8 i = 0; + + if (sUnknown_0203ABB8 == NULL || sUnknown_0203ABB8->unk4 == NULL) + return FALSE; + + for (i = 0; i < sUnknown_0203ABB8->count; i++) + { + if (sUnknown_0203ABB8->unk4[i].unk19_0 && sUnknown_0203ABB8->unk4[i].unk19_1) + { + if (sUnknown_0203ABB8->unk4[i].callback != NULL) + sUnknown_0203ABB8->unk4[i].callback(&sUnknown_0203ABB8->unk4[i]); + + if (sUnknown_0203ABB8->unk4[i].unk19_2) + { + memcpy(&gMain.oamBuffer[i + 64], &gDummyOamData, sizeof(struct OamData)); + } + else + { + sUnknown_0203ABB8->unk4[i].oam.y = sUnknown_0203ABB8->unk4[i].y + sUnknown_0203ABB8->unk4[i].yDelta; + sUnknown_0203ABB8->unk4[i].oam.x = sUnknown_0203ABB8->unk4[i].x + sUnknown_0203ABB8->unk4[i].xDelta; + sUnknown_0203ABB8->unk4[i].oam.priority = sUnknown_0203ABB8->unk4[i].priority; + sUnknown_0203ABB8->unk4[i].oam.tileNum = sUnknown_0203ABB8->unk4[i].tileNum; + memcpy(&gMain.oamBuffer[i + 64], &sUnknown_0203ABB8->unk4[i], sizeof(struct OamData)); + } + } + } + + return TRUE; +} + +static bool32 sub_81523F4(struct UnkStruct_81520A8 *structPtr, u8 arg1) +{ + u16 tileStart; + + if (structPtr == NULL) + return FALSE; + + tileStart = GetSpriteTileStartByTag(structPtr->tileTag); + if (tileStart == 0xFFFF) + return FALSE; + + structPtr->unk18 = arg1; + structPtr->tileNum = (sub_80355F8(structPtr->oam.shape, structPtr->oam.size) * arg1) + tileStart; + return TRUE; +} + +u8 sub_8152438(u8 id, void (*func)(struct UnkStruct_81520A8 *)) +{ + if (sUnknown_0203ABB8 == NULL || id >= sUnknown_0203ABB8->count) + return 0xFF; + else if (!sUnknown_0203ABB8->unk4[id].unk19_0) + return 0xFF; + + sUnknown_0203ABB8->unk4[id].callback = func; + return id; +} + +u8 sub_8152474(u8 id, u8 dataArrayId, s16 dataValue) +{ + if (sUnknown_0203ABB8 == NULL || id >= sUnknown_0203ABB8->count) + return 0xFF; + else if (!sUnknown_0203ABB8->unk4[id].unk19_0 || dataArrayId >= ARRAY_COUNT(sUnknown_0203ABB8->unk4[id].data)) + return 0xFF; + + sUnknown_0203ABB8->unk4[id].data[dataArrayId] = dataValue; + return id; +} + +u8 sub_81524C4(const struct OamData *oam, u16 tileTag, u16 palTag, s16 x, s16 y, u8 arg5, u8 priority) +{ + struct UnkStruct_81520A8 *structPtr = NULL; + u8 i; + + if (sUnknown_0203ABB8 == NULL || oam == NULL) + return 0xFF; + + for (i = 0; i < sUnknown_0203ABB8->count; i++) + { + if (!sUnknown_0203ABB8->unk4[i].unk19_0) + { + structPtr = &sUnknown_0203ABB8->unk4[i]; + memset(structPtr, 0, sizeof(*structPtr)); + structPtr->id = i; + structPtr->unk19_0 = TRUE; + structPtr->unk19_1 = TRUE; + break; + } + } + + if (structPtr == NULL) + return 0xFF; + + memcpy(&structPtr->oam, oam, sizeof(*oam)); + structPtr->tileTag = tileTag; + structPtr->palTag = palTag; + structPtr->x = x; + structPtr->y = y; + structPtr->oam.paletteNum = IndexOfSpritePaletteTag(palTag); + if (priority < 4) + { + structPtr->priority = priority; + structPtr->oam.priority = priority; + } + sub_81523F4(structPtr, arg5); + + return structPtr->id; +} + +u8 sub_81525D0(u8 id) +{ + if (sUnknown_0203ABB8 == NULL || !sUnknown_0203ABB8->unk4[id].unk19_0) + return 0xFF; + + memset(&sUnknown_0203ABB8->unk4[id], 0, sizeof(struct UnkStruct_81520A8)); + sUnknown_0203ABB8->unk4[id].oam.y = 160; + sUnknown_0203ABB8->unk4[id].oam.x = 240; + sUnknown_0203ABB8->unk4[id].unk19_2 = TRUE; + memcpy(&gMain.oamBuffer[id + 64], &gDummyOamData, sizeof(struct OamData)); + return id; +} diff --git a/sym_ewram.txt b/sym_ewram.txt index 8515e91198..f1c821d819 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -591,9 +591,7 @@ gUnknown_0203ABB4: @ 203ABB4 gUnknown_0203ABB5: @ 203ABB5 .space 0x3 -gUnknown_0203ABB8: @ 203ABB8 - .space 0x4 - + .include "src/rom_81520A8.o" .include "src/save.o" .space 0x4 /*unused var?*/ From 0547e260a4d1e89b6efac0c85c276316186d370c Mon Sep 17 00:00:00 2001 From: DizzyEggg <jajkodizzy@wp.pl> Date: Sat, 15 Sep 2018 18:01:20 +0200 Subject: [PATCH 207/234] More of slot machine --- asm/slot_machine.s | 5426 +--------------------------------------- data/slot_machine.s | 207 +- include/field_effect.h | 2 + include/sprite.h | 6 +- src/slot_machine.c | 1989 ++++++++++++++- 5 files changed, 2047 insertions(+), 5583 deletions(-) diff --git a/asm/slot_machine.s b/asm/slot_machine.s index e6828cb707..d700bf5c54 100644 --- a/asm/slot_machine.s +++ b/asm/slot_machine.s @@ -5,5245 +5,9 @@ .text - thumb_func_start sub_8102A64 -sub_8102A64: @ 812BAFC - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r5, =gUnknown_085A74C4 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 -_0812BB0E: - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _0812BB0E - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8102A64 - - thumb_func_start sub_812BB34 -sub_812BB34: @ 812BB34 - push {r4,lr} - adds r4, r0, 0 - bl sub_812CF6C - lsls r0, 24 - cmp r0, 0 - beq _0812BB60 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - ldr r0, =sSlotMachine - ldr r0, [r0] - movs r1, 0xE - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _0812BB60 - movs r0, 0x2 - strh r0, [r4, 0x8] - movs r0, 0x1 - b _0812BB62 - .pool -_0812BB60: - movs r0, 0 -_0812BB62: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_812BB34 - - thumb_func_start sub_812BB68 -sub_812BB68: @ 812BB68 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0xA] - subs r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - asrs r0, 16 - movs r1, 0x1 - negs r1, r1 - cmp r0, r1 - bne _0812BBBC - bl IsFanfareTaskInactive - lsls r0, 24 - cmp r0, 0 - beq _0812BB8E - movs r0, 0x15 - bl PlaySE -_0812BB8E: - ldr r0, =sSlotMachine - ldr r2, [r0] - ldrh r0, [r2, 0xE] - subs r0, 0x1 - strh r0, [r2, 0xE] - ldrh r3, [r2, 0xC] - movs r0, 0xC - ldrsh r1, [r2, r0] - ldr r0, =0x0000270e - cmp r1, r0 - bgt _0812BBA8 - adds r0, r3, 0x1 - strh r0, [r2, 0xC] -_0812BBA8: - movs r0, 0x8 - strh r0, [r4, 0xA] - ldr r0, =gMain - ldrh r1, [r0, 0x2C] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0812BBBC - movs r0, 0x4 - strh r0, [r4, 0xA] -_0812BBBC: - bl IsFanfareTaskInactive - lsls r0, 24 - cmp r0, 0 - beq _0812BBF6 - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _0812BBF6 - movs r0, 0x15 - bl PlaySE - ldr r1, =sSlotMachine - ldr r2, [r1] - ldrh r0, [r2, 0xE] - ldrh r3, [r2, 0xC] - adds r0, r3 - strh r0, [r2, 0xC] - lsls r0, 16 - asrs r0, 16 - ldr r3, =0x0000270f - cmp r0, r3 - ble _0812BBF0 - strh r3, [r2, 0xC] -_0812BBF0: - ldr r1, [r1] - movs r0, 0 - strh r0, [r1, 0xE] -_0812BBF6: - ldr r0, =sSlotMachine - ldr r0, [r0] - movs r1, 0xE - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _0812BC08 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_0812BC08: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_812BB68 - - thumb_func_start sub_812BC20 -sub_812BC20: @ 812BC20 - push {lr} - bl sub_812CFB8 - lsls r0, 24 - cmp r0, 0 - beq _0812BC3A - ldr r0, =sub_8102A64 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask -_0812BC3A: - movs r0, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_812BC20 - - thumb_func_start GetTagOfReelSymbolOnScreenAtPos -GetTagOfReelSymbolOnScreenAtPos: @ 812BC44 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - adds r4, r0, 0 - ldr r0, =sSlotMachine - ldr r0, [r0] - lsls r2, r4, 1 - adds r0, 0x28 - adds r0, r2 - movs r2, 0 - ldrsh r0, [r0, r2] - lsls r1, 16 - asrs r1, 16 - adds r0, r1 - movs r1, 0x15 - bl __modsi3 - lsls r0, 16 - lsrs r1, r0, 16 - asrs r0, 16 - cmp r0, 0 - bge _0812BC76 - adds r0, 0x15 - lsls r0, 16 - lsrs r1, r0, 16 -_0812BC76: - ldr r2, =gUnknown_085A766E - lsls r1, 16 - asrs r1, 16 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 2 - adds r0, r4 - adds r1, r0 - adds r1, r2 - ldrb r0, [r1] - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end GetTagOfReelSymbolOnScreenAtPos - - thumb_func_start sub_812BC98 -sub_812BC98: @ 812BC98 - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - adds r4, r0, 0 - lsls r1, 16 - lsrs r5, r1, 16 - movs r6, 0 - ldr r0, =sSlotMachine - ldr r0, [r0] - lsls r1, r4, 1 - adds r0, 0x1C - adds r0, r1 - movs r1, 0 - ldrsh r0, [r0, r1] - movs r1, 0x18 - bl __modsi3 - lsls r0, 16 - cmp r0, 0 - beq _0812BCC2 - ldr r6, =0x0000ffff -_0812BCC2: - lsls r1, r5, 16 - asrs r1, 16 - lsls r0, r6, 16 - asrs r0, 16 - adds r1, r0 - lsls r1, 16 - asrs r1, 16 - adds r0, r4, 0 - bl GetTagOfReelSymbolOnScreenAtPos - lsls r0, 24 - lsrs r0, 24 - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_812BC98 - - thumb_func_start sub_812BCE8 -sub_812BCE8: @ 812BCE8 - push {lr} - ldr r1, =sSlotMachine - ldr r1, [r1] - movs r2, 0x16 - ldrsh r1, [r1, r2] - lsls r0, 16 - asrs r0, 16 - adds r1, r0 - adds r0, r1, 0 - movs r1, 0x6 - bl __modsi3 - lsls r0, 16 - lsrs r1, r0, 16 - asrs r0, 16 - cmp r0, 0 - bge _0812BD10 - adds r0, 0x6 - lsls r0, 16 - lsrs r1, r0, 16 -_0812BD10: - ldr r0, =gUnknown_085A76AD - lsls r1, 16 - asrs r1, 16 - adds r1, r0 - ldrb r0, [r1] - pop {r1} - bx r1 - .pool - thumb_func_end sub_812BCE8 - - thumb_func_start sub_812BD28 -sub_812BD28: @ 812BD28 - push {r4-r6,lr} - adds r5, r0, 0 - lsls r5, 24 - ldr r0, =sSlotMachine - ldr r6, [r0] - lsrs r5, 23 - adds r4, r6, 0 - adds r4, 0x1C - adds r4, r5 - lsls r1, 16 - asrs r1, 16 - ldrh r0, [r4] - adds r1, r0 - strh r1, [r4] - movs r1, 0 - ldrsh r0, [r4, r1] - movs r1, 0xFC - lsls r1, 1 - bl __modsi3 - strh r0, [r4] - adds r6, 0x28 - adds r6, r5 - movs r1, 0 - ldrsh r0, [r4, r1] - movs r1, 0x18 - bl __divsi3 - movs r1, 0x15 - subs r1, r0 - strh r1, [r6] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812BD28 - - thumb_func_start sub_812BD70 -sub_812BD70: @ 812BD70 - push {r4-r7,lr} - lsls r0, 24 - lsrs r0, 24 - adds r5, r0, 0 - lsls r1, 16 - lsrs r4, r1, 16 - ldr r7, =sSlotMachine - ldr r0, [r7] - lsls r6, r5, 1 - adds r0, 0x1C - adds r0, r6 - movs r1, 0 - ldrsh r0, [r0, r1] - movs r1, 0x18 - bl __modsi3 - lsls r0, 16 - lsrs r0, 16 - lsls r2, r0, 16 - asrs r1, r2, 16 - cmp r1, 0 - beq _0812BDC4 - lsls r0, r4, 16 - asrs r0, 16 - cmp r1, r0 - bge _0812BDA6 - lsrs r4, r2, 16 -_0812BDA6: - lsls r1, r4, 16 - asrs r1, 16 - adds r0, r5, 0 - bl sub_812BD28 - ldr r0, [r7] - adds r0, 0x1C - adds r0, r6 - movs r1, 0 - ldrsh r0, [r0, r1] - movs r1, 0x18 - bl __modsi3 - lsls r0, 16 - lsrs r0, 16 -_0812BDC4: - lsls r0, 16 - asrs r0, 16 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_812BD70 - - thumb_func_start sub_812BDD4 -sub_812BDD4: @ 812BDD4 - push {r4,lr} - ldr r1, =sSlotMachine - ldr r4, [r1] - lsls r0, 16 - asrs r0, 16 - ldrh r1, [r4, 0x14] - adds r0, r1 - strh r0, [r4, 0x14] - movs r1, 0x14 - ldrsh r0, [r4, r1] - movs r1, 0x78 - bl __modsi3 - strh r0, [r4, 0x14] - movs r1, 0x14 - ldrsh r0, [r4, r1] - movs r1, 0x14 - bl __divsi3 - movs r1, 0x6 - subs r1, r0 - strh r1, [r4, 0x16] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812BDD4 - - thumb_func_start sub_812BE0C -sub_812BE0C: @ 812BE0C - push {r4,r5,lr} - lsls r0, 16 - lsrs r4, r0, 16 - ldr r5, =sSlotMachine - ldr r0, [r5] - movs r1, 0x14 - ldrsh r0, [r0, r1] - movs r1, 0x14 - bl __modsi3 - lsls r0, 16 - lsrs r0, 16 - lsls r2, r0, 16 - asrs r1, r2, 16 - cmp r1, 0 - beq _0812BE4E - lsls r0, r4, 16 - asrs r0, 16 - cmp r1, r0 - bge _0812BE36 - lsrs r4, r2, 16 -_0812BE36: - lsls r0, r4, 16 - asrs r0, 16 - bl sub_812BDD4 - ldr r0, [r5] - movs r1, 0x14 - ldrsh r0, [r0, r1] - movs r1, 0x14 - bl __modsi3 - lsls r0, 16 - lsrs r0, 16 -_0812BE4E: - lsls r0, 16 - asrs r0, 16 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_812BE0C - - thumb_func_start sub_8102DA8 -sub_8102DA8: @ 812BE5C - push {r4-r6,lr} - movs r4, 0 - ldr r5, =sub_812BF2C - ldr r6, =gTasks -_0812BE64: - adds r0, r5, 0 - movs r1, 0x2 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r6 - strh r4, [r1, 0x26] - ldr r1, =sSlotMachine - ldr r1, [r1] - adds r1, 0x3A - adds r1, r4 - strb r0, [r1] - bl _call_via_r5 - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x2 - bls _0812BE64 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8102DA8 - - thumb_func_start sub_8102DEC -sub_8102DEC: @ 812BEA4 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r4, =gTasks - ldr r1, =sSlotMachine - ldr r2, [r1] - adds r2, 0x3A - adds r2, r0 - ldrb r1, [r2] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r4 - movs r3, 0x1 - strh r3, [r0, 0x8] - ldrb r1, [r2] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r4 - strh r3, [r0, 0x24] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8102DEC - - thumb_func_start sub_8102E1C -sub_8102E1C: @ 812BEDC - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - ldr r1, =sSlotMachine - ldr r1, [r1] - adds r1, 0x3A - adds r1, r0 - ldrb r1, [r1] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - movs r1, 0x2 - strh r1, [r0, 0x8] - bx lr - .pool - thumb_func_end sub_8102E1C - - thumb_func_start sub_8102E40 -sub_8102E40: @ 812BF04 - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - ldr r1, =sSlotMachine - ldr r1, [r1] - adds r1, 0x3A - adds r1, r0 - ldrb r1, [r1] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldrh r0, [r0, 0x24] - lsls r0, 24 - lsrs r0, 24 - bx lr - .pool - thumb_func_end sub_8102E40 - - thumb_func_start sub_812BF2C -sub_812BF2C: @ 812BF2C - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r5, =gUnknown_085A74D0 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 -_0812BF3E: - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _0812BF3E - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812BF2C - - thumb_func_start sub_812BF64 -sub_812BF64: @ 812BF64 - movs r0, 0 - bx lr - thumb_func_end sub_812BF64 - - thumb_func_start sub_812BF68 -sub_812BF68: @ 812BF68 - push {lr} - ldrh r0, [r0, 0x26] - lsls r0, 24 - lsrs r0, 24 - ldr r1, =sSlotMachine - ldr r1, [r1] - movs r2, 0x1A - ldrsh r1, [r1, r2] - bl sub_812BD28 - movs r0, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_812BF68 - - thumb_func_start sub_812BF88 -sub_812BF88: @ 812BF88 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - movs r2, 0 - strh r0, [r4, 0x8] - ldr r0, =sSlotMachine - ldr r3, [r0] - movs r0, 0x26 - ldrsh r1, [r4, r0] - lsls r1, 1 - adds r0, r3, 0 - adds r0, 0x34 - adds r0, r1 - strh r2, [r0] - movs r0, 0x26 - ldrsh r1, [r4, r0] - lsls r1, 1 - adds r0, r3, 0 - adds r0, 0x2E - adds r0, r1 - strh r2, [r0] - ldrb r0, [r3, 0xA] - cmp r0, 0 - bne _0812BFF4 - ldrb r0, [r3, 0x4] - cmp r0, 0 - beq _0812BFDC - ldrb r0, [r3, 0x6] - cmp r0, 0 - beq _0812BFDC - ldr r1, =gUnknown_085A74E4 - movs r2, 0x26 - ldrsh r0, [r4, r2] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - bl _call_via_r0 - lsls r0, 24 - cmp r0, 0 - bne _0812BFF4 -_0812BFDC: - ldr r0, =sSlotMachine - ldr r1, [r0] - movs r0, 0 - strb r0, [r1, 0x6] - ldr r1, =gUnknown_085A74F0 - movs r2, 0x26 - ldrsh r0, [r4, r2] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - bl _call_via_r0 -_0812BFF4: - ldr r0, =sSlotMachine - ldr r1, [r0] - movs r2, 0x26 - ldrsh r0, [r4, r2] - lsls r0, 1 - adds r1, 0x2E - adds r1, r0 - ldrh r0, [r1] - strh r0, [r4, 0xA] - movs r0, 0x1 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_812BF88 - - thumb_func_start sub_812C01C -sub_812C01C: @ 812C01C - push {r4-r7,lr} - sub sp, 0xC - adds r4, r0, 0 - ldr r1, =gUnknown_085A74FC - mov r0, sp - movs r2, 0xA - bl memcpy - ldr r7, =sSlotMachine - ldr r5, [r7] - movs r1, 0x26 - ldrsh r0, [r4, r1] - lsls r6, r0, 1 - adds r0, r5, 0 - adds r0, 0x1C - adds r0, r6 - movs r2, 0 - ldrsh r0, [r0, r2] - movs r1, 0x18 - bl __modsi3 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r0, 0 - beq _0812C068 - ldrh r0, [r4, 0x26] - lsls r0, 24 - lsrs r0, 24 - movs r6, 0x1A - ldrsh r1, [r5, r6] - bl sub_812BD70 - b _0812C0A0 - .pool -_0812C068: - adds r0, r5, 0 - adds r0, 0x2E - adds r1, r0, r6 - ldrh r3, [r1] - movs r6, 0 - ldrsh r0, [r1, r6] - cmp r0, 0 - beq _0812C0A4 - subs r0, r3, 0x1 - strh r0, [r1] - ldrh r0, [r4, 0x26] - lsls r0, 24 - lsrs r0, 24 - movs r2, 0x1A - ldrsh r1, [r5, r2] - bl sub_812BD28 - ldr r1, [r7] - movs r6, 0x26 - ldrsh r0, [r4, r6] - lsls r0, 1 - adds r1, 0x1C - adds r1, r0 - movs r2, 0 - ldrsh r0, [r1, r2] - movs r1, 0x18 - bl __modsi3 -_0812C0A0: - lsls r0, 16 - lsrs r2, r0, 16 -_0812C0A4: - cmp r2, 0 - bne _0812C0D2 - ldr r0, =sSlotMachine - ldr r1, [r0] - movs r6, 0x26 - ldrsh r0, [r4, r6] - lsls r0, 1 - adds r1, 0x2E - adds r1, r0 - movs r0, 0 - ldrsh r1, [r1, r0] - cmp r1, 0 - bne _0812C0D2 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r2, 0xA - ldrsh r0, [r4, r2] - lsls r0, 1 - add r0, sp - ldrh r0, [r0] - strh r0, [r4, 0xA] - strh r1, [r4, 0xC] -_0812C0D2: - movs r0, 0 - add sp, 0xC - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_812C01C - - thumb_func_start sub_812C0E0 -sub_812C0E0: @ 812C0E0 - push {r4,lr} - adds r2, r0, 0 - ldr r4, =sSlotMachine - ldr r1, [r4] - movs r3, 0x26 - ldrsh r0, [r2, r3] - lsls r0, 1 - adds r1, 0x22 - adds r1, r0 - ldrh r0, [r2, 0xA] - strh r0, [r1] - ldrh r0, [r2, 0xA] - negs r3, r0 - strh r3, [r2, 0xA] - ldrh r0, [r2, 0xC] - adds r0, 0x1 - strh r0, [r2, 0xC] - movs r1, 0x3 - ands r0, r1 - cmp r0, 0 - bne _0812C110 - lsls r0, r3, 16 - asrs r0, 17 - strh r0, [r2, 0xA] -_0812C110: - movs r0, 0xA - ldrsh r3, [r2, r0] - cmp r3, 0 - bne _0812C12A - strh r3, [r2, 0x8] - strh r3, [r2, 0x24] - ldr r1, [r4] - movs r4, 0x26 - ldrsh r0, [r2, r4] - lsls r0, 1 - adds r1, 0x22 - adds r1, r0 - strh r3, [r1] -_0812C12A: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_812C0E0 - - thumb_func_start sub_812C138 -sub_812C138: @ 812C138 - push {r4,r5,lr} - ldr r4, =sSlotMachine - ldr r0, [r4] - ldrb r0, [r0, 0x4] - bl sub_810250C - lsls r0, 24 - lsrs r3, r0, 24 - adds r5, r3, 0 - ldr r4, [r4] - ldrb r1, [r4, 0x4] - movs r0, 0xC0 - ands r0, r1 - cmp r0, 0 - beq _0812C15A - movs r5, 0 - movs r3, 0x1 -_0812C15A: - ldr r1, =gUnknown_085A7508 - movs r2, 0x12 - ldrsh r0, [r4, r2] - subs r0, 0x1 - lsls r0, 2 - adds r0, r1 - ldr r2, [r0] - adds r0, r5, 0 - adds r1, r3, 0 - bl _call_via_r2 - lsls r0, 24 - lsrs r0, 24 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_812C138 - - thumb_func_start sub_812C184 -sub_812C184: @ 812C184 - push {r4,r5,lr} - adds r3, r0, 0 - adds r4, r1, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r2, 24 - lsrs r5, r2, 24 - lsls r3, 16 - asrs r3, 16 - movs r0, 0 - adds r1, r3, 0 - bl sub_812BC98 - lsls r0, 24 - lsrs r0, 24 - adds r1, r0, 0 - cmp r0, r4 - beq _0812C1AC - cmp r0, r5 - bne _0812C1BC -_0812C1AC: - ldr r0, =sSlotMachine - ldr r0, [r0] - strb r1, [r0, 0x7] - movs r0, 0x1 - b _0812C1BE - .pool -_0812C1BC: - movs r0, 0 -_0812C1BE: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_812C184 - - thumb_func_start sub_812C1C4 -sub_812C1C4: @ 812C1C4 - push {r4,lr} - movs r1, 0x1 - lsls r0, 16 - asrs r4, r0, 16 - subs r1, r4 - lsls r1, 16 - asrs r1, 16 - movs r0, 0 - bl sub_812BC98 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x4 - beq _0812C20C - movs r1, 0x2 - subs r1, r4 - lsls r1, 16 - asrs r1, 16 - movs r0, 0 - bl sub_812BC98 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x4 - beq _0812C20C - movs r1, 0x3 - subs r1, r4 - lsls r1, 16 - asrs r1, 16 - movs r0, 0 - bl sub_812BC98 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x4 - bne _0812C210 -_0812C20C: - movs r0, 0x1 - b _0812C212 -_0812C210: - movs r0, 0 -_0812C212: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_812C1C4 - - thumb_func_start sub_812C218 -sub_812C218: @ 812C218 - push {lr} - ldr r0, =sSlotMachine - ldr r0, [r0] - ldrb r1, [r0, 0x4] - movs r0, 0xC2 - ands r0, r1 - cmp r0, 0 - bne _0812C230 - movs r0, 0 - b _0812C232 - .pool -_0812C230: - movs r0, 0x1 -_0812C232: - pop {r1} - bx r1 - thumb_func_end sub_812C218 - - thumb_func_start sub_812C238 -sub_812C238: @ 812C238 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r7, r0, 24 - lsls r1, 24 - lsrs r6, r1, 24 - movs r5, 0 - movs r0, 0x2 - mov r8, r0 -_0812C24C: - lsls r0, r5, 16 - asrs r4, r0, 16 - mov r1, r8 - subs r0, r1, r4 - lsls r0, 16 - asrs r0, 16 - adds r1, r7, 0 - adds r2, r6, 0 - bl sub_812C184 - lsls r0, 24 - cmp r0, 0 - beq _0812C278 - ldr r0, =sSlotMachine - ldr r1, [r0] - movs r0, 0x2 - strh r0, [r1, 0x34] - strh r5, [r1, 0x2E] - movs r0, 0x1 - b _0812C286 - .pool -_0812C278: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - asrs r0, 16 - cmp r0, 0x4 - ble _0812C24C - movs r0, 0 -_0812C286: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_812C238 - - thumb_func_start sub_812C290 -sub_812C290: @ 812C290 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - lsls r1, 24 - lsrs r1, 24 - mov r8, r1 - bl sub_812C218 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0 - bne _0812C2BE - movs r0, 0 - bl sub_812C1C4 - lsls r0, 24 - cmp r0, 0 - bne _0812C2F4 -_0812C2BE: - movs r7, 0x1 - movs r6, 0 -_0812C2C2: - lsls r0, r7, 16 - asrs r4, r0, 16 - adds r0, r4, 0 - mov r1, r9 - mov r2, r8 - bl sub_812C184 - lsls r0, 24 - cmp r0, 0 - beq _0812C2E8 - ldr r0, =sSlotMachine - ldr r0, [r0] - strh r7, [r0, 0x34] - strh r6, [r0, 0x2E] - movs r0, 0x1 - b _0812C390 - .pool -_0812C2E8: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r7, r0, 16 - asrs r0, 16 - cmp r0, 0x3 - ble _0812C2C2 -_0812C2F4: - movs r7, 0x1 - adds r6, r5, 0 - ldr r0, =sSlotMachine - mov r10, r0 -_0812C2FC: - lsls r5, r7, 16 - cmp r6, 0 - bne _0812C30E - asrs r0, r5, 16 - bl sub_812C1C4 - lsls r0, 24 - cmp r0, 0 - bne _0812C380 -_0812C30E: - movs r0, 0x1 - asrs r4, r5, 16 - subs r0, r4 - lsls r0, 16 - asrs r0, 16 - mov r1, r9 - mov r2, r8 - bl sub_812C184 - lsls r0, 24 - cmp r0, 0 - beq _0812C380 - cmp r4, 0x1 - bne _0812C34C - cmp r6, 0 - bne _0812C33A - movs r0, 0x3 - bl sub_812C1C4 - lsls r0, 24 - cmp r0, 0 - bne _0812C34C -_0812C33A: - mov r0, r10 - ldr r1, [r0] - movs r0, 0x3 - strh r0, [r1, 0x34] - strh r0, [r1, 0x2E] - movs r0, 0x1 - b _0812C390 - .pool -_0812C34C: - asrs r0, r5, 16 - cmp r0, 0x3 - bgt _0812C374 - adds r4, r0, 0x1 - cmp r6, 0 - bne _0812C366 - lsls r0, r4, 16 - asrs r0, 16 - bl sub_812C1C4 - lsls r0, 24 - cmp r0, 0 - bne _0812C374 -_0812C366: - mov r0, r10 - ldr r1, [r0] - movs r0, 0x2 - strh r0, [r1, 0x34] - strh r4, [r1, 0x2E] - movs r0, 0x1 - b _0812C390 -_0812C374: - mov r0, r10 - ldr r1, [r0] - movs r0, 0x1 - strh r0, [r1, 0x34] - strh r7, [r1, 0x2E] - b _0812C390 -_0812C380: - movs r1, 0x80 - lsls r1, 9 - adds r0, r5, r1 - lsrs r7, r0, 16 - asrs r0, 16 - cmp r0, 0x4 - ble _0812C2FC - movs r0, 0 -_0812C390: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_812C290 - - thumb_func_start sub_812C3A0 -sub_812C3A0: @ 812C3A0 - push {lr} - ldr r1, =gUnknown_085A7514 - ldr r0, =sSlotMachine - ldr r0, [r0] - movs r2, 0x12 - ldrsh r0, [r0, r2] - subs r0, 0x1 - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - bl _call_via_r0 - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .pool - thumb_func_end sub_812C3A0 - - thumb_func_start sub_812C3C8 -sub_812C3C8: @ 812C3C8 - push {r4-r7,lr} - ldr r0, =sSlotMachine - ldr r0, [r0] - movs r5, 0 - ldrh r7, [r0, 0x34] - movs r1, 0x34 - ldrsh r6, [r0, r1] -_0812C3D6: - lsls r0, r5, 16 - asrs r4, r0, 16 - subs r1, r6, r4 - lsls r1, 16 - asrs r1, 16 - movs r0, 0x1 - bl sub_812BC98 - ldr r1, =sSlotMachine - ldr r1, [r1] - lsls r0, 24 - lsrs r0, 24 - ldrb r2, [r1, 0x7] - cmp r0, r2 - bne _0812C400 - strh r7, [r1, 0x36] - strh r5, [r1, 0x30] - movs r0, 0x1 - b _0812C40E - .pool -_0812C400: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - asrs r0, 16 - cmp r0, 0x4 - ble _0812C3D6 - movs r0, 0 -_0812C40E: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_812C3C8 - - thumb_func_start sub_812C414 -sub_812C414: @ 812C414 - push {r4-r6,lr} - bl sub_812C3C8 - lsls r0, 24 - cmp r0, 0 - beq _0812C476 - ldr r0, =sSlotMachine - ldr r1, [r0] - movs r2, 0x34 - ldrsh r0, [r1, r2] - cmp r0, 0x2 - beq _0812C472 - movs r2, 0x30 - ldrsh r0, [r1, r2] - cmp r0, 0x1 - ble _0812C472 - cmp r0, 0x4 - beq _0812C472 - movs r5, 0 - movs r6, 0x2 -_0812C43C: - lsls r0, r5, 16 - asrs r4, r0, 16 - subs r1, r6, r4 - lsls r1, 16 - asrs r1, 16 - movs r0, 0x1 - bl sub_812BC98 - ldr r1, =sSlotMachine - ldr r1, [r1] - lsls r0, 24 - lsrs r0, 24 - ldrb r2, [r1, 0x7] - cmp r0, r2 - beq _0812C46C - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - asrs r0, 16 - cmp r0, 0x4 - ble _0812C43C - b _0812C472 - .pool -_0812C46C: - movs r0, 0x2 - strh r0, [r1, 0x36] - strh r5, [r1, 0x30] -_0812C472: - movs r0, 0x1 - b _0812C4B2 -_0812C476: - ldr r0, =sSlotMachine - ldr r0, [r0] - movs r1, 0x34 - ldrsh r0, [r0, r1] - cmp r0, 0x2 - beq _0812C4B0 - movs r5, 0 - movs r6, 0x2 -_0812C486: - lsls r0, r5, 16 - asrs r4, r0, 16 - subs r1, r6, r4 - lsls r1, 16 - asrs r1, 16 - movs r0, 0x1 - bl sub_812BC98 - ldr r1, =sSlotMachine - ldr r1, [r1] - lsls r0, 24 - lsrs r0, 24 - ldrb r2, [r1, 0x7] - cmp r0, r2 - beq _0812C46C - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - asrs r0, 16 - cmp r0, 0x4 - ble _0812C486 -_0812C4B0: - movs r0, 0 -_0812C4B2: - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_812C414 - - thumb_func_start sub_812C4BC -sub_812C4BC: @ 812C4BC - push {r4,lr} - ldr r2, =sSlotMachine - ldr r0, [r2] - ldrb r3, [r0, 0x7] - adds r4, r3, 0 - ldrb r1, [r0, 0x4] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _0812C4D8 - movs r3, 0 - cmp r4, 0 - bne _0812C4D8 - movs r3, 0x1 -_0812C4D8: - ldr r1, =gUnknown_085A7520 - ldr r0, [r2] - movs r2, 0x12 - ldrsh r0, [r0, r2] - subs r0, 0x1 - lsls r0, 2 - adds r0, r1 - ldr r1, [r0] - adds r0, r3, 0 - bl _call_via_r1 - lsls r0, 24 - lsrs r0, 24 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_812C4BC - - thumb_func_start sub_812C500 -sub_812C500: @ 812C500 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r7, r0, 24 - ldr r0, =sSlotMachine - ldr r0, [r0] - movs r5, 0 - ldrh r1, [r0, 0x36] - mov r8, r1 - movs r1, 0x36 - ldrsh r6, [r0, r1] -_0812C518: - lsls r0, r5, 16 - asrs r4, r0, 16 - subs r1, r6, r4 - lsls r1, 16 - asrs r1, 16 - movs r0, 0x2 - bl sub_812BC98 - lsls r0, 24 - lsrs r0, 24 - cmp r0, r7 - bne _0812C544 - ldr r0, =sSlotMachine - ldr r0, [r0] - mov r1, r8 - strh r1, [r0, 0x38] - strh r5, [r0, 0x32] - movs r0, 0x1 - b _0812C552 - .pool -_0812C544: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - asrs r0, 16 - cmp r0, 0x4 - ble _0812C518 - movs r0, 0 -_0812C552: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_812C500 - - thumb_func_start sub_812C55C -sub_812C55C: @ 812C55C - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r0, =sSlotMachine - ldr r0, [r0] - movs r2, 0x34 - ldrsh r1, [r0, r2] - movs r2, 0x36 - ldrsh r0, [r0, r2] - cmp r1, r0 - bne _0812C59C - adds r0, r6, 0 - bl sub_812C500 - lsls r0, 24 - lsrs r0, 24 - b _0812C5D2 - .pool -_0812C588: - ldr r0, =sSlotMachine - ldr r0, [r0] - strh r5, [r0, 0x32] - mov r1, r8 - strh r1, [r0, 0x38] - movs r0, 0x1 - b _0812C5D2 - .pool -_0812C59C: - movs r2, 0x1 - mov r8, r2 - cmp r1, 0x1 - bne _0812C5A8 - movs r0, 0x3 - mov r8, r0 -_0812C5A8: - movs r5, 0 - mov r7, r8 -_0812C5AC: - lsls r0, r5, 16 - asrs r4, r0, 16 - subs r1, r7, r4 - lsls r1, 16 - asrs r1, 16 - movs r0, 0x2 - bl sub_812BC98 - lsls r0, 24 - lsrs r0, 24 - cmp r0, r6 - beq _0812C588 - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - asrs r0, 16 - cmp r0, 0x4 - ble _0812C5AC - movs r0, 0 -_0812C5D2: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_812C55C - - thumb_func_start sub_812C5DC -sub_812C5DC: @ 812C5DC - push {r4,r5,lr} - movs r5, 0 - b _0812C5E8 -_0812C5E2: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 -_0812C5E8: - lsls r0, r5, 16 - asrs r4, r0, 16 - adds r0, r4, 0 - bl sub_812C1C4 - lsls r0, 24 - cmp r0, 0 - bne _0812C5E2 - ldr r0, =sSlotMachine - ldr r0, [r0] - strh r5, [r0, 0x2E] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812C5DC - - thumb_func_start sub_812C608 -sub_812C608: @ 812C608 - push {lr} - adds r1, r0, 0 - ldrb r0, [r1] - cmp r0, 0 - bne _0812C616 - movs r0, 0x1 - b _0812C620 -_0812C616: - cmp r0, 0x1 - beq _0812C61E - movs r0, 0 - b _0812C624 -_0812C61E: - movs r0, 0 -_0812C620: - strb r0, [r1] - movs r0, 0x1 -_0812C624: - pop {r1} - bx r1 - thumb_func_end sub_812C608 - - thumb_func_start sub_812C628 -sub_812C628: @ 812C628 - push {lr} - ldr r1, =gUnknown_085A752C - ldr r0, =sSlotMachine - ldr r0, [r0] - movs r2, 0x12 - ldrsh r0, [r0, r2] - subs r0, 0x1 - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - bl _call_via_r0 - pop {r0} - bx r0 - .pool - thumb_func_end sub_812C628 - - thumb_func_start sub_812C64C -sub_812C64C: @ 812C64C - push {r4-r7,lr} - sub sp, 0x4 - ldr r0, =sSlotMachine - ldr r2, [r0] - movs r1, 0x34 - ldrsh r0, [r2, r1] - cmp r0, 0 - beq _0812C6C4 - ldrb r1, [r2, 0x4] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0812C6C4 - ldrh r0, [r2, 0x2E] - movs r1, 0x2 - subs r1, r0 - lsls r1, 16 - asrs r1, 16 - movs r0, 0 - bl sub_812BC98 - mov r1, sp - strb r0, [r1] - mov r0, sp - bl sub_812C608 - lsls r0, 24 - cmp r0, 0 - beq _0812C6C4 - movs r5, 0 - mov r6, sp - movs r7, 0x2 -_0812C68C: - lsls r0, r5, 16 - asrs r4, r0, 16 - subs r1, r7, r4 - lsls r1, 16 - asrs r1, 16 - movs r0, 0x1 - bl sub_812BC98 - ldrb r1, [r6] - lsls r0, 24 - lsrs r0, 24 - cmp r1, r0 - bne _0812C6B8 - ldr r0, =sSlotMachine - ldr r1, [r0] - movs r0, 0x2 - strh r0, [r1, 0x36] - strh r5, [r1, 0x30] - b _0812C6C4 - .pool -_0812C6B8: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - asrs r0, 16 - cmp r0, 0x4 - ble _0812C68C -_0812C6C4: - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_812C64C - - thumb_func_start j5_08111E84 -j5_08111E84: @ 812C6CC - push {r4-r7,lr} - sub sp, 0x4 - ldr r4, =sSlotMachine - ldr r2, [r4] - ldrh r3, [r2, 0x34] - movs r1, 0x34 - ldrsh r0, [r2, r1] - cmp r0, 0 - beq _0812C744 - ldrb r1, [r2, 0x4] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0812C744 - ldrh r1, [r2, 0x2E] - subs r1, r3, r1 - lsls r1, 16 - asrs r1, 16 - movs r0, 0 - bl sub_812BC98 - mov r1, sp - strb r0, [r1] - mov r0, sp - bl sub_812C608 - lsls r0, 24 - cmp r0, 0 - beq _0812C744 - movs r5, 0 - mov r7, sp - adds r6, r4, 0 -_0812C70C: - ldr r0, [r6] - ldrh r1, [r0, 0x34] - lsls r0, r5, 16 - asrs r4, r0, 16 - subs r1, r4 - lsls r1, 16 - asrs r1, 16 - movs r0, 0x1 - bl sub_812BC98 - ldrb r1, [r7] - lsls r0, 24 - lsrs r0, 24 - cmp r1, r0 - bne _0812C738 - ldr r0, [r6] - ldrh r1, [r0, 0x34] - strh r1, [r0, 0x36] - strh r5, [r0, 0x30] - b _0812C744 - .pool -_0812C738: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - asrs r0, 16 - cmp r0, 0x4 - ble _0812C70C -_0812C744: - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end j5_08111E84 - - thumb_func_start sub_812C74C -sub_812C74C: @ 812C74C - push {r4-r7,lr} - sub sp, 0x4 - ldr r6, =sSlotMachine - ldr r2, [r6] - ldrh r4, [r2, 0x34] - movs r0, 0x34 - ldrsh r3, [r2, r0] - cmp r3, 0 - beq _0812C84A - ldrb r1, [r2, 0x4] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0812C84A - cmp r3, 0x2 - bne _0812C796 - bl j5_08111E84 - b _0812C84A - .pool -_0812C778: - ldr r0, =sSlotMachine - ldr r0, [r0] - movs r1, 0 - strh r5, [r0, 0x36] - strh r1, [r0, 0x30] - b _0812C84A - .pool -_0812C788: - movs r0, 0x2 - strh r0, [r1, 0x36] - adds r0, r4, 0x1 - strh r0, [r1, 0x30] - b _0812C84A -_0812C792: - movs r0, 0x3 - b _0812C824 -_0812C796: - ldrh r1, [r2, 0x2E] - subs r1, r4, r1 - lsls r1, 16 - asrs r1, 16 - movs r0, 0 - bl sub_812BC98 - mov r1, sp - strb r0, [r1] - mov r0, sp - bl sub_812C608 - lsls r0, 24 - cmp r0, 0 - beq _0812C84A - movs r5, 0x2 - ldr r0, [r6] - movs r1, 0x34 - ldrsh r0, [r0, r1] - cmp r0, 0x3 - bne _0812C7C2 - movs r5, 0x3 -_0812C7C2: - movs r6, 0 - mov r7, sp -_0812C7C6: - lsls r0, r5, 16 - asrs r4, r0, 16 - movs r0, 0x1 - adds r1, r4, 0 - bl sub_812BC98 - ldrb r1, [r7] - lsls r0, 24 - lsrs r0, 24 - cmp r1, r0 - beq _0812C778 - lsls r1, r6, 16 - movs r2, 0x80 - lsls r2, 9 - adds r1, r2 - subs r0, r4, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - lsrs r6, r1, 16 - asrs r1, 16 - cmp r1, 0x1 - ble _0812C7C6 - movs r5, 0x1 - mov r7, sp - ldr r6, =sSlotMachine -_0812C7F8: - ldr r0, [r6] - ldrh r1, [r0, 0x34] - lsls r0, r5, 16 - asrs r4, r0, 16 - subs r1, r4 - lsls r1, 16 - asrs r1, 16 - movs r0, 0x1 - bl sub_812BC98 - ldrb r1, [r7] - lsls r0, 24 - lsrs r0, 24 - cmp r1, r0 - bne _0812C83E - ldr r1, [r6] - movs r2, 0x34 - ldrsh r0, [r1, r2] - cmp r0, 0x1 - bne _0812C830 - cmp r4, 0x2 - ble _0812C788 -_0812C824: - strh r0, [r1, 0x36] - strh r5, [r1, 0x30] - b _0812C84A - .pool -_0812C830: - cmp r4, 0x2 - ble _0812C792 - movs r0, 0x2 - strh r0, [r1, 0x36] - subs r0, r4, 0x1 - strh r0, [r1, 0x30] - b _0812C84A -_0812C83E: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - asrs r0, 16 - cmp r0, 0x4 - ble _0812C7F8 -_0812C84A: - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_812C74C - - thumb_func_start sub_812C854 -sub_812C854: @ 812C854 - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - adds r2, r1, 0 - cmp r0, 0 - bne _0812C868 - cmp r1, 0x1 - beq _0812C870 -_0812C868: - cmp r0, 0x1 - bne _0812C874 - cmp r2, 0 - bne _0812C874 -_0812C870: - movs r0, 0x1 - b _0812C876 -_0812C874: - movs r0, 0 -_0812C876: - pop {r1} - bx r1 - thumb_func_end sub_812C854 - - thumb_func_start sub_812C87C -sub_812C87C: @ 812C87C - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r2, 24 - cmp r0, 0 - bne _0812C896 - cmp r1, 0x1 - bne _0812C896 - cmp r2, 0 - beq _0812C8A2 -_0812C896: - cmp r0, 0x1 - bne _0812C8A6 - cmp r1, 0 - bne _0812C8A6 - cmp r2, 0x1 - bne _0812C8A6 -_0812C8A2: - movs r0, 0x1 - b _0812C8A8 -_0812C8A6: - movs r0, 0 -_0812C8A8: - pop {r1} - bx r1 - thumb_func_end sub_812C87C - - thumb_func_start sub_812C8AC -sub_812C8AC: @ 812C8AC - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r2, 24 - cmp r0, 0 - bne _0812C8C6 - cmp r1, 0x1 - bne _0812C8C6 - cmp r2, 0 - beq _0812C8F2 -_0812C8C6: - cmp r0, 0x1 - bne _0812C8D2 - cmp r1, 0 - bne _0812C8D2 - cmp r2, 0x1 - beq _0812C8F2 -_0812C8D2: - cmp r0, 0 - bne _0812C8DE - cmp r1, 0 - bne _0812C8DE - cmp r2, 0x1 - beq _0812C8F2 -_0812C8DE: - cmp r0, 0x1 - bne _0812C8EA - cmp r1, 0x1 - bne _0812C8EA - cmp r2, 0 - beq _0812C8F2 -_0812C8EA: - cmp r0, r1 - bne _0812C8F6 - cmp r0, r2 - bne _0812C8F6 -_0812C8F2: - movs r0, 0 - b _0812C8F8 -_0812C8F6: - movs r0, 0x1 -_0812C8F8: - pop {r1} - bx r1 - thumb_func_end sub_812C8AC - - thumb_func_start sub_812C8FC -sub_812C8FC: @ 812C8FC - push {lr} - ldr r1, =gUnknown_085A7538 - ldr r0, =sSlotMachine - ldr r0, [r0] - movs r2, 0x12 - ldrsh r0, [r0, r2] - subs r0, 0x1 - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - bl _call_via_r0 - pop {r0} - bx r0 - .pool - thumb_func_end sub_812C8FC - - thumb_func_start sub_812C920 -sub_812C920: @ 812C920 - push {r4-r7,lr} - movs r6, 0 - ldr r7, =sSlotMachine - ldr r0, [r7] - ldrh r1, [r0, 0x2E] - movs r4, 0x2 - subs r1, r4, r1 - lsls r1, 16 - asrs r1, 16 - movs r0, 0 - bl sub_812BC98 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, [r7] - ldrh r0, [r0, 0x30] - subs r4, r0 - lsls r4, 16 - asrs r4, 16 - movs r0, 0x1 - adds r1, r4, 0 - bl sub_812BC98 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r5, r1 - bne _0812C994 - movs r4, 0x2 - b _0812C96A - .pool -_0812C960: - lsls r0, r6, 16 - movs r1, 0x80 - lsls r1, 9 - adds r0, r1 - lsrs r6, r0, 16 -_0812C96A: - lsls r1, r6, 16 - asrs r1, 16 - subs r1, r4, r1 - lsls r1, 16 - asrs r1, 16 - movs r0, 0x2 - bl sub_812BC98 - lsls r0, 24 - lsrs r0, 24 - cmp r5, r0 - beq _0812C960 - cmp r5, 0 - bne _0812C98A - cmp r0, 0x1 - beq _0812C960 -_0812C98A: - cmp r5, 0x1 - bne _0812C9F6 - cmp r0, 0 - beq _0812C960 - b _0812C9F6 -_0812C994: - adds r0, r5, 0 - bl sub_812C854 - lsls r0, 24 - cmp r0, 0 - beq _0812C9F6 - ldr r0, [r7] - ldrb r1, [r0, 0x4] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0812C9D2 - movs r7, 0x2 -_0812C9AE: - lsls r0, r6, 16 - asrs r4, r0, 16 - subs r1, r7, r4 - lsls r1, 16 - asrs r1, 16 - movs r0, 0x2 - bl sub_812BC98 - lsls r0, 24 - lsrs r0, 24 - cmp r5, r0 - beq _0812C9F6 - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - asrs r0, 16 - cmp r0, 0x4 - ble _0812C9AE -_0812C9D2: - movs r6, 0 - movs r7, 0x2 - b _0812C9DE -_0812C9D8: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 -_0812C9DE: - lsls r0, r6, 16 - asrs r4, r0, 16 - subs r1, r7, r4 - lsls r1, 16 - asrs r1, 16 - movs r0, 0x2 - bl sub_812BC98 - lsls r0, 24 - lsrs r0, 24 - cmp r5, r0 - beq _0812C9D8 -_0812C9F6: - ldr r0, =sSlotMachine - ldr r0, [r0] - strh r6, [r0, 0x32] - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812C920 - - thumb_func_start sub_812CA08 -sub_812CA08: @ 812CA08 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - movs r0, 0 - str r0, [sp] - ldr r4, =sSlotMachine - ldr r2, [r4] - movs r5, 0x36 - ldrsh r1, [r2, r5] - cmp r1, 0 - beq _0812CAA4 - ldrh r3, [r2, 0x34] - movs r5, 0x34 - ldrsh r0, [r2, r5] - cmp r0, r1 - bne _0812CAA4 - ldrb r1, [r2, 0x4] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0812CAA4 - ldrh r1, [r2, 0x2E] - subs r1, r3, r1 - lsls r1, 16 - asrs r1, 16 - movs r0, 0 - bl sub_812BC98 - lsls r0, 24 - lsrs r7, r0, 24 - ldr r0, [r4] - ldrh r1, [r0, 0x36] - ldrh r0, [r0, 0x30] - subs r1, r0 - lsls r1, 16 - asrs r1, 16 - movs r0, 0x1 - bl sub_812BC98 - lsls r0, 24 - lsrs r6, r0, 24 - adds r0, r7, 0 - adds r1, r6, 0 - bl sub_812C854 - lsls r0, 24 - cmp r0, 0 - beq _0812CAA4 - movs r5, 0 - b _0812CA7E - .pool -_0812CA78: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 -_0812CA7E: - lsls r6, r5, 16 - asrs r5, r6, 16 - cmp r5, 0x4 - bgt _0812CAA4 - ldr r0, =sSlotMachine - ldr r0, [r0] - ldrh r1, [r0, 0x36] - subs r1, r5 - lsls r1, 16 - asrs r1, 16 - movs r0, 0x2 - bl sub_812BC98 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r7, r4 - bne _0812CA78 - lsrs r6, 16 - str r6, [sp] -_0812CAA4: - ldr r0, =sSlotMachine - mov r9, r0 -_0812CAA8: - movs r5, 0x1 - movs r1, 0 - mov r8, r1 - ldr r2, [sp] - lsls r2, 16 - mov r10, r2 -_0812CAB4: - mov r1, r9 - ldr r0, [r1] - ldrh r1, [r0, 0x2E] - lsls r5, 16 - asrs r4, r5, 16 - subs r1, r4, r1 - lsls r1, 16 - asrs r1, 16 - movs r0, 0 - bl sub_812BC98 - lsls r0, 24 - lsrs r7, r0, 24 - mov r2, r9 - ldr r0, [r2] - ldrh r1, [r0, 0x30] - subs r1, r4, r1 - lsls r1, 16 - asrs r1, 16 - movs r0, 0x1 - bl sub_812BC98 - lsls r0, 24 - lsrs r6, r0, 24 - mov r1, r10 - asrs r0, r1, 16 - subs r4, r0 - lsls r4, 16 - asrs r4, 16 - movs r0, 0x2 - adds r1, r4, 0 - bl sub_812BC98 - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r7, 0 - adds r1, r6, 0 - adds r2, r4, 0 - bl sub_812C8AC - lsls r0, 24 - cmp r0, 0 - bne _0812CB3C - adds r0, r7, 0 - adds r1, r6, 0 - adds r2, r4, 0 - bl sub_812C87C - lsls r0, 24 - cmp r0, 0 - beq _0812CB28 - mov r2, r9 - ldr r0, [r2] - ldrb r1, [r0, 0x4] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0812CB3C -_0812CB28: - mov r5, r8 - lsls r0, r5, 16 - movs r1, 0x80 - lsls r1, 9 - adds r0, r1 - lsrs r0, 16 - mov r8, r0 - b _0812CB4A - .pool -_0812CB3C: - movs r2, 0x80 - lsls r2, 9 - adds r0, r5, r2 - lsrs r5, r0, 16 - asrs r0, 16 - cmp r0, 0x3 - ble _0812CAB4 -_0812CB4A: - mov r5, r8 - cmp r5, 0 - beq _0812CB60 - ldr r1, [sp] - lsls r0, r1, 16 - movs r2, 0x80 - lsls r2, 9 - adds r0, r2 - lsrs r0, 16 - str r0, [sp] - b _0812CAA8 -_0812CB60: - ldr r0, =sSlotMachine - ldr r0, [r0] - mov r5, sp - ldrh r5, [r5] - strh r5, [r0, 0x32] - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812CA08 - - thumb_func_start sub_812CB80 -sub_812CB80: @ 812CB80 - push {r4-r7,lr} - mov r7, r8 - push {r7} - bl sub_812CA08 - ldr r4, =sSlotMachine - ldr r2, [r4] - movs r0, 0x36 - ldrsh r1, [r2, r0] - cmp r1, 0 - beq _0812CC34 - ldrh r3, [r2, 0x34] - movs r5, 0x34 - ldrsh r0, [r2, r5] - cmp r0, r1 - beq _0812CC34 - ldrb r1, [r2, 0x4] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0812CC34 - ldrh r1, [r2, 0x2E] - subs r1, r3, r1 - lsls r1, 16 - asrs r1, 16 - movs r0, 0 - bl sub_812BC98 - lsls r0, 24 - lsrs r6, r0, 24 - ldr r0, [r4] - ldrh r1, [r0, 0x36] - ldrh r0, [r0, 0x30] - subs r1, r0 - lsls r1, 16 - asrs r1, 16 - movs r0, 0x1 - bl sub_812BC98 - lsls r0, 24 - lsrs r5, r0, 24 - adds r0, r6, 0 - adds r1, r5, 0 - bl sub_812C854 - lsls r0, 24 - cmp r0, 0 - beq _0812CC34 - movs r1, 0x1 - ldr r0, [r4] - movs r2, 0x34 - ldrsh r0, [r0, r2] - cmp r0, 0x1 - bne _0812CBEE - movs r1, 0x3 -_0812CBEE: - movs r3, 0 - lsls r1, 16 - mov r8, r1 - adds r7, r4, 0 -_0812CBF6: - ldr r0, [r7] - ldrh r2, [r0, 0x32] - lsls r0, r3, 16 - asrs r5, r0, 16 - adds r2, r5, r2 - mov r0, r8 - asrs r1, r0, 16 - subs r1, r2 - lsls r1, 16 - asrs r1, 16 - movs r0, 0x2 - bl sub_812BC98 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r6, r4 - bne _0812CC28 - ldr r1, [r7] - ldrh r0, [r1, 0x32] - adds r0, r5, r0 - strh r0, [r1, 0x32] - b _0812CC34 - .pool -_0812CC28: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - asrs r0, 16 - cmp r0, 0x4 - ble _0812CBF6 -_0812CC34: - ldr r7, =sSlotMachine -_0812CC36: - ldr r0, [r7] - ldrh r0, [r0, 0x2E] - movs r1, 0x1 - subs r1, r0 - lsls r1, 16 - asrs r1, 16 - movs r0, 0 - bl sub_812BC98 - lsls r0, 24 - lsrs r6, r0, 24 - ldr r0, [r7] - ldrh r0, [r0, 0x30] - movs r1, 0x2 - subs r1, r0 - lsls r1, 16 - asrs r1, 16 - movs r0, 0x1 - bl sub_812BC98 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, [r7] - ldrh r0, [r0, 0x32] - movs r1, 0x3 - subs r1, r0 - lsls r1, 16 - asrs r1, 16 - movs r0, 0x2 - bl sub_812BC98 - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r6, 0 - adds r1, r5, 0 - adds r2, r4, 0 - bl sub_812C8AC - lsls r0, 24 - cmp r0, 0 - bne _0812CCB4 - adds r0, r6, 0 - adds r1, r5, 0 - adds r2, r4, 0 - bl sub_812C87C - lsls r0, 24 - cmp r0, 0 - beq _0812CCA4 - ldr r0, [r7] - ldrb r1, [r0, 0x4] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0812CCB4 -_0812CCA4: - ldr r1, [r7] - ldrh r0, [r1, 0x32] - adds r0, 0x1 - strh r0, [r1, 0x32] - b _0812CC36 - .pool -_0812CCB4: - ldr r7, =sSlotMachine -_0812CCB6: - ldr r0, [r7] - ldrh r0, [r0, 0x2E] - movs r1, 0x3 - subs r1, r0 - lsls r1, 16 - asrs r1, 16 - movs r0, 0 - bl sub_812BC98 - lsls r0, 24 - lsrs r6, r0, 24 - ldr r0, [r7] - ldrh r0, [r0, 0x30] - movs r1, 0x2 - subs r1, r0 - lsls r1, 16 - asrs r1, 16 - movs r0, 0x1 - bl sub_812BC98 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, [r7] - ldrh r0, [r0, 0x32] - movs r1, 0x1 - subs r1, r0 - lsls r1, 16 - asrs r1, 16 - movs r0, 0x2 - bl sub_812BC98 - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r6, 0 - adds r1, r5, 0 - adds r2, r4, 0 - bl sub_812C8AC - lsls r0, 24 - cmp r0, 0 - bne _0812CD34 - adds r0, r6, 0 - adds r1, r5, 0 - adds r2, r4, 0 - bl sub_812C87C - lsls r0, 24 - cmp r0, 0 - beq _0812CD24 - ldr r0, [r7] - ldrb r1, [r0, 0x4] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0812CD34 -_0812CD24: - ldr r1, [r7] - ldrh r0, [r1, 0x32] - adds r0, 0x1 - strh r0, [r1, 0x32] - b _0812CCB6 - .pool -_0812CD34: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_812CB80 - - thumb_func_start sub_8103C14 -sub_8103C14: @ 812CD40 - push {r4,r5,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r5, =sub_812CD74 - adds r0, r5, 0 - movs r1, 0x5 - 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, 0x26] - bl _call_via_r5 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8103C14 - - thumb_func_start sub_812CD74 -sub_812CD74: @ 812CD74 - push {r4,lr} - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r3, =gUnknown_085A7544 - ldr r2, =gTasks - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - movs r4, 0x8 - ldrsh r2, [r0, r4] - lsls r2, 2 - adds r2, r3 - ldr r2, [r2] - bl _call_via_r2 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812CD74 - - thumb_func_start sub_812CDA4 -sub_812CDA4: @ 812CDA4 - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - ldr r1, =gUnknown_085A7550 - movs r2, 0x26 - ldrsh r0, [r4, r2] - lsls r0, 1 - adds r0, r1 - movs r1, 0 - ldrsh r0, [r0, r1] - movs r1, 0x73 - str r1, [sp] - movs r1, 0x62 - movs r2, 0x63 - movs r3, 0x72 - bl sub_812FA78 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812CDA4 - - thumb_func_start sub_812CDD8 -sub_812CDD8: @ 812CDD8 - push {lr} - adds r1, r0, 0 - ldrh r0, [r1, 0xA] - adds r0, 0x1 - strh r0, [r1, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xB - ble _0812CDF0 - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] -_0812CDF0: - pop {r0} - bx r0 - thumb_func_end sub_812CDD8 - - thumb_func_start sub_812CDF4 -sub_812CDF4: @ 812CDF4 - push {r4,lr} - sub sp, 0x4 - lsls r4, r1, 24 - lsrs r4, 24 - ldr r1, =gUnknown_085A7550 - movs r2, 0x26 - ldrsh r0, [r0, r2] - lsls r0, 1 - adds r0, r1 - movs r1, 0 - ldrsh r0, [r0, r1] - movs r1, 0x53 - str r1, [sp] - movs r1, 0x42 - movs r2, 0x43 - movs r3, 0x52 - bl sub_812FA78 - adds r0, r4, 0 - bl DestroyTask - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812CDF4 - - thumb_func_start sub_812CE2C -sub_812CE2C: @ 812CE2C - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gUnknown_085A8408 - lsls r1, r0, 2 - adds r1, r2 - ldr r2, [r1] - ldr r1, =gUnknown_085A8430 - adds r0, r1 - ldrb r1, [r0] - adds r0, r2, 0 - movs r2, 0x2 - bl LoadPalette - pop {r0} - bx r0 - .pool - thumb_func_end sub_812CE2C - - thumb_func_start sub_812CE54 -sub_812CE54: @ 812CE54 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gUnknown_085A841C - lsls r1, r0, 2 - adds r1, r2 - ldr r2, [r1] - ldr r1, =gUnknown_085A8430 - adds r0, r1 - ldrb r1, [r0] - adds r0, r2, 0 - movs r2, 0x2 - bl LoadPalette - pop {r0} - bx r0 - .pool - thumb_func_end sub_812CE54 - - thumb_func_start sub_8103D50 -sub_8103D50: @ 812CE7C - push {r4-r7,lr} - lsls r0, 24 - lsrs r1, r0, 24 - movs r4, 0 - ldr r0, =gUnknown_085A843B - adds r0, r1, r0 - ldrb r0, [r0] - cmp r4, r0 - bcs _0812CEA8 - ldr r7, =gUnknown_085A8435 - adds r6, r0, 0 - lsls r5, r1, 1 -_0812CE94: - adds r0, r4, r5 - adds r0, r7 - ldrb r0, [r0] - bl sub_812CE2C - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, r6 - bcc _0812CE94 -_0812CEA8: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8103D50 - - thumb_func_start sub_8103D8C -sub_8103D8C: @ 812CEB8 - push {r4-r7,lr} - lsls r0, 24 - lsrs r1, r0, 24 - movs r4, 0 - ldr r0, =gUnknown_085A843B - adds r0, r1, r0 - ldrb r0, [r0] - cmp r4, r0 - bcs _0812CEE4 - ldr r7, =gUnknown_085A8435 - adds r6, r0, 0 - lsls r5, r1, 1 -_0812CED0: - adds r0, r4, r5 - adds r0, r7 - ldrb r0, [r0] - bl sub_812CE54 - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, r6 - bcc _0812CED0 -_0812CEE4: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8103D8C - - thumb_func_start sub_8103DC8 -sub_8103DC8: @ 812CEF4 - push {r4,r5,lr} - movs r4, 0 - ldr r5, =gSprites -_0812CEFA: - ldr r0, =sub_812D024 - bl CreateInvisibleSprite - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r5 - strh r4, [r1, 0x2E] - ldr r1, =sSlotMachine - ldr r1, [r1] - adds r1, 0x44 - adds r1, r4 - strb r0, [r1] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x4 - bls _0812CEFA - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8103DC8 - - thumb_func_start sub_8103E04 -sub_8103E04: @ 812CF34 - lsls r0, 24 - lsrs r0, 24 - ldr r1, =sSlotMachine - ldr r1, [r1] - adds r1, 0x44 - adds r1, r0 - ldrb r1, [r1] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - movs r2, 0 - movs r1, 0x1 - strh r1, [r0, 0x30] - movs r1, 0x4 - strh r1, [r0, 0x32] - strh r2, [r0, 0x34] - strh r2, [r0, 0x36] - movs r1, 0x2 - strh r1, [r0, 0x38] - strh r2, [r0, 0x3C] - bx lr - .pool - thumb_func_end sub_8103E04 - - thumb_func_start sub_812CF6C -sub_812CF6C: @ 812CF6C - push {r4,r5,lr} - movs r2, 0 - ldr r0, =sSlotMachine - ldr r0, [r0] - adds r3, r0, 0 - adds r3, 0x44 - ldr r4, =gSprites -_0812CF7A: - adds r0, r3, r2 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r0, r4 - movs r5, 0x30 - ldrsh r0, [r1, r5] - cmp r0, 0 - beq _0812CFA4 - movs r5, 0x32 - ldrsh r0, [r1, r5] - cmp r0, 0 - beq _0812CFA4 - movs r0, 0 - b _0812CFB0 - .pool -_0812CFA4: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x4 - bls _0812CF7A - movs r0, 0x1 -_0812CFB0: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_812CF6C - - thumb_func_start sub_812CFB8 -sub_812CFB8: @ 812CFB8 - push {r4,lr} - movs r4, 0 -_0812CFBC: - ldr r0, =sSlotMachine - ldr r0, [r0] - adds r0, 0x44 - adds r0, r4 - ldrb r0, [r0] - bl sub_812CFEC - lsls r0, 24 - cmp r0, 0 - bne _0812CFD8 - movs r0, 0 - b _0812CFE4 - .pool -_0812CFD8: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x4 - bls _0812CFBC - movs r0, 0x1 -_0812CFE4: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_812CFB8 - - thumb_func_start sub_812CFEC -sub_812CFEC: @ 812CFEC - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, =gSprites - adds r1, r0 - movs r2, 0x30 - ldrsh r0, [r1, r2] - cmp r0, 0 - bne _0812D00C - movs r0, 0x1 - b _0812D01E - .pool -_0812D00C: - ldrh r2, [r1, 0x3C] - movs r3, 0x3C - ldrsh r0, [r1, r3] - cmp r0, 0 - beq _0812D01A - movs r0, 0 - strh r0, [r1, 0x30] -_0812D01A: - lsls r0, r2, 24 - lsrs r0, 24 -_0812D01E: - pop {r1} - bx r1 - thumb_func_end sub_812CFEC - - thumb_func_start sub_812D024 -sub_812D024: @ 812D024 - push {r4-r7,lr} - adds r2, r0, 0 - movs r1, 0x30 - ldrsh r0, [r2, r1] - cmp r0, 0 - beq _0812D0A6 - ldrh r0, [r2, 0x34] - subs r0, 0x1 - strh r0, [r2, 0x34] - lsls r0, 16 - asrs r0, 16 - movs r1, 0x1 - negs r1, r1 - cmp r0, r1 - bne _0812D08E - movs r0, 0 - strh r0, [r2, 0x3C] - movs r6, 0x1 - strh r6, [r2, 0x34] - ldrh r1, [r2, 0x38] - ldrh r3, [r2, 0x36] - adds r0, r1, r3 - strh r0, [r2, 0x36] - movs r4, 0x4 - ldrh r5, [r2, 0x32] - movs r7, 0x32 - ldrsh r3, [r2, r7] - cmp r3, 0 - beq _0812D060 - movs r4, 0x8 -_0812D060: - lsls r0, 16 - asrs r0, 16 - cmp r0, 0 - bgt _0812D078 - strh r6, [r2, 0x3C] - negs r0, r1 - strh r0, [r2, 0x38] - cmp r3, 0 - beq _0812D08E - subs r0, r5, 0x1 - strh r0, [r2, 0x32] - b _0812D080 -_0812D078: - cmp r0, r4 - blt _0812D080 - negs r0, r1 - strh r0, [r2, 0x38] -_0812D080: - movs r1, 0x32 - ldrsh r0, [r2, r1] - cmp r0, 0 - beq _0812D08E - ldrh r0, [r2, 0x34] - lsls r0, 1 - strh r0, [r2, 0x34] -_0812D08E: - ldr r1, =gUnknown_085A8430 - movs r3, 0x2E - ldrsh r0, [r2, r3] - adds r0, r1 - ldrb r0, [r0] - ldrh r3, [r2, 0x36] - lsls r3, 24 - lsrs r3, 24 - adds r1, r3, 0 - adds r2, r3, 0 - bl MultiplyPaletteRGBComponents -_0812D0A6: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812D024 - - thumb_func_start sub_8103F70 -sub_8103F70: @ 812D0B0 - push {r4,lr} - ldr r4, =sub_812D128 - adds r0, r4, 0 - movs r1, 0x6 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r2, 0x1 - strh r2, [r1, 0xE] - bl _call_via_r4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8103F70 - - thumb_func_start sub_8103FA0 -sub_8103FA0: @ 812D0E0 - push {lr} - ldr r0, =sub_812D128 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r2, r0, 24 - ldr r1, =gTasks - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r0, r1 - movs r1, 0xC - ldrsh r0, [r0, r1] - cmp r0, 0 - beq _0812D10C - movs r0, 0 - b _0812D120 - .pool -_0812D10C: - adds r0, r2, 0 - bl DestroyTask - ldr r0, =gUnknown_085A84AC - ldr r0, [r0] - movs r1, 0x10 - movs r2, 0x20 - bl LoadPalette - movs r0, 0x1 -_0812D120: - pop {r1} - bx r1 - .pool - thumb_func_end sub_8103FA0 - - thumb_func_start sub_812D128 -sub_812D128: @ 812D128 - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks - adds r2, r1, r0 - ldrh r0, [r2, 0xA] - subs r0, 0x1 - strh r0, [r2, 0xA] - lsls r0, 16 - asrs r0, 16 - movs r1, 0x1 - negs r1, r1 - cmp r0, r1 - bne _0812D166 - movs r0, 0x4 - strh r0, [r2, 0xA] - ldrh r1, [r2, 0xE] - ldrh r3, [r2, 0xC] - adds r0, r1, r3 - strh r0, [r2, 0xC] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0 - beq _0812D162 - cmp r0, 0x2 - bne _0812D166 -_0812D162: - negs r0, r1 - strh r0, [r2, 0xE] -_0812D166: - ldr r0, =gUnknown_085A84A0 - movs r3, 0xC - ldrsh r1, [r2, r3] - lsls r1, 2 - adds r1, r0 - ldr r0, [r1] - movs r1, 0x10 - movs r2, 0x20 - bl LoadPalette - pop {r0} - bx r0 - .pool - thumb_func_end sub_812D128 - - thumb_func_start sub_8104048 -sub_8104048: @ 812D188 - push {lr} - ldr r0, =sub_812D230 - movs r1, 0x8 - bl CreateTask - ldr r1, =sSlotMachine - ldr r1, [r1] - adds r1, 0x3E - strb r0, [r1] - pop {r0} - bx r0 - .pool - thumb_func_end sub_8104048 - - thumb_func_start sub_8104064 -sub_8104064: @ 812D1A8 - push {r4,lr} - ldr r0, =sSlotMachine - ldr r0, [r0] - adds r0, 0x3E - ldrb r0, [r0] - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - ldr r0, =gTasks - adds r4, r0 - adds r0, r4, 0 - bl sub_812D394 - movs r1, 0x1 - strh r1, [r4, 0x8] - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - strh r1, [r4, 0x26] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8104064 - - thumb_func_start sub_812D1DC -sub_812D1DC: @ 812D1DC - push {r4,lr} - ldr r0, =sSlotMachine - ldr r0, [r0] - adds r0, 0x3E - ldrb r0, [r0] - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - ldr r0, =gTasks - adds r4, r0 - adds r0, r4, 0 - bl sub_812D394 - movs r0, 0x3 - strh r0, [r4, 0x8] - movs r0, 0x1 - strh r0, [r4, 0x26] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812D1DC - - thumb_func_start sub_81040C8 -sub_81040C8: @ 812D20C - ldr r2, =gTasks - ldr r0, =sSlotMachine - ldr r0, [r0] - adds r0, 0x3E - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldrh r0, [r0, 0x26] - lsls r0, 24 - lsrs r0, 24 - bx lr - .pool - thumb_func_end sub_81040C8 - - thumb_func_start sub_812D230 -sub_812D230: @ 812D230 - push {lr} - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r3, =gUnknown_085A7558 - ldr r2, =gTasks - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - movs r2, 0x8 - ldrsh r1, [r0, r2] - lsls r1, 2 - adds r1, r3 - ldr r1, [r1] - bl _call_via_r1 - pop {r0} - bx r0 - .pool - thumb_func_end sub_812D230 - - thumb_func_start nullsub_50 -nullsub_50: @ 812D260 - bx lr - thumb_func_end nullsub_50 - - thumb_func_start sub_812D264 -sub_812D264: @ 812D264 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0xA] - lsls r0, 19 - movs r1, 0xA0 - lsls r1, 13 - adds r0, r1 - asrs r0, 16 - movs r1, 0x14 - bl sub_812EF00 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0xC] - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_812D264 - - thumb_func_start sub_812D28C -sub_812D28C: @ 812D28C - push {r4,r5,lr} - adds r4, r0, 0 - ldr r2, =gSprites - movs r0, 0xC - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r1, 0x3C - ldrsh r0, [r0, r1] - cmp r0, 0 - beq _0812D2FC - ldrh r1, [r4, 0xA] - adds r0, r1, 0x2 - lsls r0, 16 - lsrs r5, r0, 16 - movs r3, 0 - movs r2, 0 - lsls r1, 16 - asrs r1, 16 - cmp r1, 0x1 - bne _0812D2C4 - movs r3, 0x1 - movs r2, 0x1 - b _0812D2CC - .pool -_0812D2C4: - cmp r1, 0x10 - bne _0812D2CC - movs r3, 0x2 - movs r2, 0x2 -_0812D2CC: - ldr r0, =gUnknown_0203AACC - ldr r0, [r0] - lsls r1, r2, 1 - adds r1, r0 - ldr r2, =gUnknown_085A7568 - lsls r0, r3, 2 - adds r0, r2 - ldrh r0, [r0] - strh r0, [r1] - lsls r3, r5, 16 - movs r0, 0x80 - lsls r0, 15 - adds r3, r0 - lsrs r3, 16 - movs r0, 0x2 - movs r2, 0x2 - bl LoadBgTilemap - ldrb r0, [r4, 0xC] - bl sub_812EF6C - movs r0, 0 - strh r0, [r4, 0x8] - strh r0, [r4, 0x26] -_0812D2FC: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812D28C - - thumb_func_start sub_812D30C -sub_812D30C: @ 812D30C - push {r4,r5,lr} - adds r4, r0, 0 - ldrh r1, [r4, 0xA] - adds r0, r1, 0x2 - lsls r0, 16 - lsrs r5, r0, 16 - movs r3, 0 - movs r2, 0x3 - lsls r1, 16 - asrs r1, 16 - cmp r1, 0x1 - bne _0812D32A - movs r3, 0x1 - movs r2, 0x1 - b _0812D332 -_0812D32A: - cmp r1, 0x10 - bne _0812D332 - movs r3, 0x2 - movs r2, 0x2 -_0812D332: - movs r1, 0xC - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _0812D366 - ldr r0, =gUnknown_0203AACC - ldr r0, [r0] - lsls r1, r2, 1 - adds r1, r0 - ldr r0, =gUnknown_085A7568 - lsls r2, r3, 2 - adds r0, 0x2 - adds r2, r0 - ldrh r0, [r2] - strh r0, [r1] - lsls r3, r5, 16 - movs r0, 0x80 - lsls r0, 15 - adds r3, r0 - lsrs r3, 16 - movs r0, 0x2 - movs r2, 0x2 - bl LoadBgTilemap - ldrh r0, [r4, 0xA] - subs r0, 0x1 - strh r0, [r4, 0xA] -_0812D366: - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x13 - ble _0812D378 - movs r0, 0 - strh r0, [r4, 0xC] -_0812D378: - movs r1, 0xA - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _0812D384 - strh r0, [r4, 0x8] - strh r0, [r4, 0x26] -_0812D384: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812D30C - - thumb_func_start sub_812D394 -sub_812D394: @ 812D394 - push {lr} - movs r1, 0x2 - adds r2, r0, 0 - adds r2, 0x8 - movs r3, 0 -_0812D39E: - lsls r0, r1, 1 - adds r0, r2, r0 - strh r3, [r0] - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0xF - bls _0812D39E - pop {r0} - bx r0 - thumb_func_end sub_812D394 - - thumb_func_start sub_810423C -sub_810423C: @ 812D3B4 - push {r4-r7,lr} - lsls r0, 24 - lsrs r6, r0, 24 - movs r4, 0x3 - movs r5, 0 - cmp r5, r6 - bge _0812D41E - ldr r7, =gUnknown_085A7568 -_0812D3C4: - movs r3, 0 - movs r1, 0 - lsls r0, r5, 16 - asrs r0, 16 - cmp r0, 0 - bne _0812D3DC - movs r3, 0x1 - movs r1, 0x1 - b _0812D3E4 - .pool -_0812D3DC: - cmp r0, 0xF - bne _0812D3E4 - movs r3, 0x2 - movs r1, 0x2 -_0812D3E4: - ldr r0, =gUnknown_0203AACC - ldr r0, [r0] - lsls r1, 1 - adds r1, r0 - lsls r0, r3, 2 - adds r0, r7 - ldrh r0, [r0] - strh r0, [r1] - lsls r3, r4, 16 - asrs r4, r3, 16 - movs r0, 0x80 - lsls r0, 15 - adds r3, r0 - lsrs r3, 16 - movs r0, 0x2 - movs r2, 0x2 - bl LoadBgTilemap - lsls r0, r5, 16 - movs r1, 0x80 - lsls r1, 9 - adds r0, r1 - adds r4, 0x1 - lsls r4, 16 - lsrs r4, 16 - lsrs r5, r0, 16 - asrs r0, 16 - cmp r0, r6 - blt _0812D3C4 -_0812D41E: - lsls r2, r5, 16 - asrs r0, r2, 16 - cmp r0, 0xF - bgt _0812D484 - ldr r7, =gUnknown_085A756A -_0812D428: - movs r3, 0 - movs r1, 0x3 - asrs r0, r2, 16 - cmp r0, 0 - bne _0812D440 - movs r3, 0x1 - movs r1, 0x1 - b _0812D448 - .pool -_0812D440: - cmp r0, 0xF - bne _0812D448 - movs r3, 0x2 - movs r1, 0x2 -_0812D448: - ldr r0, =gUnknown_0203AACC - ldr r0, [r0] - lsls r1, 1 - adds r1, r0 - lsls r0, r3, 2 - adds r0, r7 - ldrh r0, [r0] - strh r0, [r1] - lsls r3, r4, 16 - asrs r4, r3, 16 - movs r0, 0x80 - lsls r0, 15 - adds r3, r0 - lsrs r3, 16 - movs r0, 0x2 - movs r2, 0x2 - bl LoadBgTilemap - lsls r0, r5, 16 - movs r1, 0x80 - lsls r1, 9 - adds r0, r1 - lsrs r5, r0, 16 - adds r4, 0x1 - lsls r4, 16 - lsrs r4, 16 - lsls r2, r5, 16 - asrs r0, r2, 16 - cmp r0, 0xF - ble _0812D428 -_0812D484: - ldr r2, =gTasks - ldr r0, =sSlotMachine - ldr r0, [r0] - adds r0, 0x3E - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - strh r6, [r0, 0xA] - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_810423C - - thumb_func_start sub_810430C -sub_810430C: @ 812D4AC - push {r4,lr} - ldr r4, =sub_812D4EC - adds r0, r4, 0 - movs r1, 0x7 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - bl _call_via_r4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_810430C - - thumb_func_start sub_810432C -sub_810432C: @ 812D4CC - push {lr} - ldr r0, =sub_812D4EC - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFF - beq _0812D4E4 - movs r0, 0 - b _0812D4E6 - .pool -_0812D4E4: - movs r0, 0x1 -_0812D4E6: - pop {r1} - bx r1 - thumb_func_end sub_810432C - - thumb_func_start sub_812D4EC -sub_812D4EC: @ 812D4EC - push {lr} - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r3, =gUnknown_085A7574 - ldr r2, =gTasks - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - movs r2, 0x8 - ldrsh r1, [r0, r2] - lsls r1, 2 - adds r1, r3 - ldr r1, [r1] - bl _call_via_r1 - pop {r0} - bx r0 - .pool - thumb_func_end sub_812D4EC - - thumb_func_start sub_812D51C -sub_812D51C: @ 812D51C - push {lr} - ldr r3, =sSlotMachine - ldr r1, [r3] - movs r2, 0 - strb r2, [r1, 0xA] - ldr r1, [r3] - strh r2, [r1, 0x14] - strh r2, [r1, 0x16] - ldrh r1, [r0, 0x8] - adds r1, 0x1 - strh r1, [r0, 0x8] - strh r2, [r0, 0xA] - movs r1, 0x1E - strh r1, [r0, 0xC] - movs r1, 0xA0 - lsls r1, 3 - strh r1, [r0, 0x10] - ldr r0, =gSpriteCoordOffsetX - strh r2, [r0] - ldr r0, =gSpriteCoordOffsetY - strh r2, [r0] - movs r0, 0x14 - movs r1, 0 - bl SetGpuReg - movs r0, 0x16 - movs r1, 0 - bl SetGpuReg - movs r0, 0x1E - movs r1, 0 - bl sub_812DC08 - bl sub_812E474 - bl sub_812E33C - bl sub_812E650 - bl sub_812E70C - bl sub_812E7CC - bl sub_8102680 - bl StopMapMusic - movs r0, 0xC4 - lsls r0, 1 - bl PlayNewMapMusic - pop {r0} - bx r0 - .pool - thumb_func_end sub_812D51C - - thumb_func_start sub_812D594 -sub_812D594: @ 812D594 - push {r4,r5,lr} - adds r4, r0, 0 - ldr r1, =gSpriteCoordOffsetX - ldrh r0, [r1] - subs r0, 0x8 - strh r0, [r1] - ldrh r1, [r4, 0xA] - adds r1, 0x8 - strh r1, [r4, 0xA] - movs r2, 0xA - ldrsh r0, [r4, r2] - adds r0, 0xF0 - movs r2, 0xFF - ands r0, r2 - lsrs r5, r0, 3 - ldr r0, =0x000001ff - ands r1, r0 - movs r0, 0x14 - bl SetGpuReg - adds r2, r5, 0 - movs r1, 0xC - ldrsh r0, [r4, r1] - cmp r2, r0 - beq _0812D5E2 - movs r1, 0xE - ldrsh r0, [r4, r1] - cmp r0, 0x12 - bgt _0812D5E2 - strh r5, [r4, 0xC] - ldrh r0, [r4, 0xA] - lsls r0, 16 - asrs r0, 19 - strh r0, [r4, 0xE] - movs r0, 0xE - ldrsh r1, [r4, r0] - adds r0, r2, 0 - bl sub_812DC08 -_0812D5E2: - movs r1, 0xA - ldrsh r0, [r4, r1] - cmp r0, 0xC7 - ble _0812D5F4 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - movs r1, 0 - strh r0, [r4, 0x8] - strh r1, [r4, 0xE] -_0812D5F4: - ldrh r0, [r4, 0x10] - lsls r0, 16 - asrs r0, 24 - bl sub_812BDD4 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812D594 - - thumb_func_start sub_812D60C -sub_812D60C: @ 812D60C - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x10] - lsls r0, 16 - asrs r0, 24 - bl sub_812BDD4 - ldrh r0, [r4, 0x12] - adds r0, 0x1 - strh r0, [r4, 0x12] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3B - ble _0812D636 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - bl sub_812E934 - bl sub_812EAB0 -_0812D636: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_812D60C - - thumb_func_start sub_812D63C -sub_812D63C: @ 812D63C - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x14 - adds r7, r0, 0 - ldr r1, =gUnknown_085A75C0 - mov r0, sp - movs r2, 0x4 - bl memcpy - add r0, sp, 0x4 - mov r8, r0 - ldr r1, =gUnknown_085A75C4 - movs r2, 0x8 - bl memcpy - add r6, sp, 0xC - ldr r1, =gUnknown_085A75CC - adds r0, r6, 0 - movs r2, 0x8 - bl memcpy - ldrh r0, [r7, 0x10] - lsls r0, 16 - asrs r0, 24 - bl sub_812BDD4 - ldrh r0, [r7, 0x10] - subs r0, 0x4 - strh r0, [r7, 0x10] - lsls r0, 16 - asrs r0, 24 - movs r5, 0x4 - subs r5, r0 - lsls r4, r5, 1 - add r8, r4 - mov r1, r8 - movs r2, 0 - ldrsh r0, [r1, r2] - bl sub_812EA44 - adds r6, r4 - movs r1, 0 - ldrsh r0, [r6, r1] - bl sub_812EBAC - ldr r0, =sSlotMachine - ldr r0, [r0] - adds r0, 0x3F - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - mov r2, sp - adds r1, r2, r5 - ldrb r1, [r1] - bl StartSpriteAnimIfDifferent - movs r1, 0x10 - ldrsh r0, [r7, r1] - movs r1, 0x80 - lsls r1, 1 - cmp r0, r1 - bgt _0812D6CC - ldrh r0, [r7, 0x8] - adds r0, 0x1 - strh r0, [r7, 0x8] - strh r1, [r7, 0x10] - movs r0, 0 - strh r0, [r7, 0x12] -_0812D6CC: - add sp, 0x14 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812D63C - - thumb_func_start sub_812D6EC -sub_812D6EC: @ 812D6EC - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x10] - lsls r0, 16 - asrs r0, 24 - bl sub_812BDD4 - ldrh r0, [r4, 0x12] - adds r0, 0x1 - strh r0, [r4, 0x12] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x4F - ble _0812D730 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0 - strh r0, [r4, 0x12] - movs r0, 0x2 - bl sub_812EBAC - ldr r0, =sSlotMachine - ldr r0, [r0] - adds r0, 0x3F - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - movs r1, 0x3 - bl StartSpriteAnimIfDifferent -_0812D730: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812D6EC - - thumb_func_start sub_812D740 -sub_812D740: @ 812D740 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x10] - lsls r0, 16 - asrs r0, 24 - bl sub_812BDD4 - ldrb r0, [r4, 0x10] - adds r0, 0x80 - strh r0, [r4, 0x10] - ldrh r0, [r4, 0x12] - adds r0, 0x1 - strh r0, [r4, 0x12] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x4F - ble _0812D76C - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0 - strh r0, [r4, 0x12] -_0812D76C: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_812D740 - - thumb_func_start sub_812D774 -sub_812D774: @ 812D774 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x10] - lsls r0, 16 - asrs r0, 24 - bl sub_812BDD4 - ldrb r0, [r4, 0x10] - adds r0, 0x40 - strh r0, [r4, 0x10] - ldrh r0, [r4, 0x12] - adds r0, 0x1 - strh r0, [r4, 0x12] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x27 - ble _0812D7DC - movs r0, 0 - strh r0, [r4, 0x12] - ldr r0, =sSlotMachine - ldr r1, [r0] - ldrb r0, [r1, 0x5] - cmp r0, 0 - beq _0812D7B8 - ldrb r1, [r1, 0xA] - movs r2, 0x14 - ldrsh r0, [r4, r2] - cmp r1, r0 - bgt _0812D7D6 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - b _0812D7D4 - .pool -_0812D7B8: - movs r1, 0x14 - ldrsh r0, [r4, r1] - cmp r0, 0x3 - ble _0812D7C6 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - b _0812D7D4 -_0812D7C6: - ldrh r0, [r4, 0x14] - bl sub_81026DC - lsls r0, 24 - cmp r0, 0 - beq _0812D7D6 - movs r0, 0xE -_0812D7D4: - strh r0, [r4, 0x8] -_0812D7D6: - ldrh r0, [r4, 0x14] - adds r0, 0x1 - strh r0, [r4, 0x14] -_0812D7DC: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_812D774 - - thumb_func_start sub_812D7E4 -sub_812D7E4: @ 812D7E4 - push {r4-r6,lr} - adds r4, r0, 0 - ldr r6, =sSlotMachine - ldr r0, [r6] - movs r1, 0x14 - ldrsh r0, [r0, r1] - movs r1, 0x14 - bl __modsi3 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r0, 0 - beq _0812D810 - ldrh r0, [r4, 0x10] - lsls r0, 16 - asrs r0, 24 - bl sub_812BE0C - b _0812D838 - .pool -_0812D810: - movs r0, 0x1 - bl sub_812BCE8 - ldr r1, [r6] - lsls r0, 24 - lsrs r0, 24 - ldrb r1, [r1, 0x5] - cmp r0, r1 - beq _0812D842 - ldrh r0, [r4, 0x10] - lsls r0, 16 - asrs r0, 24 - bl sub_812BDD4 - ldr r0, [r6] - movs r1, 0x14 - ldrsh r0, [r0, r1] - movs r1, 0x14 - bl __modsi3 -_0812D838: - lsls r0, 16 - lsrs r5, r0, 16 - ldrb r0, [r4, 0x10] - adds r0, 0x40 - strh r0, [r4, 0x10] -_0812D842: - lsls r0, r5, 16 - asrs r5, r0, 16 - cmp r5, 0 - bne _0812D866 - movs r0, 0x1 - bl sub_812BCE8 - ldr r1, =sSlotMachine - ldr r1, [r1] - lsls r0, 24 - lsrs r0, 24 - ldrb r1, [r1, 0x5] - cmp r0, r1 - bne _0812D866 - strh r5, [r4, 0x10] - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_0812D866: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812D7E4 - - thumb_func_start sub_812D870 -sub_812D870: @ 812D870 - push {r4-r6,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x10] - adds r0, 0x1 - movs r6, 0 - strh r0, [r4, 0x10] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3B - ble _0812D914 - bl StopMapMusic - bl sub_812EA7C - bl sub_812EBCC - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - ldr r5, =sSlotMachine - ldr r1, [r5] - ldrb r0, [r1, 0x5] - cmp r0, 0 - bne _0812D8D0 - movs r0, 0xA0 - strh r0, [r4, 0x10] - adds r0, r1, 0 - adds r0, 0x3F - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - movs r1, 0x5 - bl StartSpriteAnimIfDifferent - ldr r0, =0x00000187 - bl PlayFanfare - b _0812D914 - .pool -_0812D8D0: - movs r0, 0xC0 - strh r0, [r4, 0x10] - adds r0, r1, 0 - adds r0, 0x3F - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r4, =gSprites - adds r0, r4 - movs r1, 0x4 - bl StartSpriteAnimIfDifferent - ldr r0, [r5] - adds r0, 0x3F - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r0, 0x2B - strb r6, [r0] - ldr r0, [r5] - ldrb r0, [r0, 0x2] - cmp r0, 0 - beq _0812D90C - bl sub_812D1DC - ldr r0, [r5] - strb r6, [r0, 0x2] -_0812D90C: - movs r0, 0xC3 - lsls r0, 1 - bl PlayFanfare -_0812D914: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812D870 - - thumb_func_start sub_812D920 -sub_812D920: @ 812D920 - push {r4,lr} - adds r4, r0, 0 - ldrh r1, [r4, 0x10] - movs r2, 0x10 - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _0812D938 - subs r0, r1, 0x1 - strh r0, [r4, 0x10] - lsls r0, 16 - cmp r0, 0 - bne _0812D948 -_0812D938: - bl sub_81040C8 - lsls r0, 24 - cmp r0, 0 - bne _0812D948 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_0812D948: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_812D920 - - thumb_func_start sub_812D950 -sub_812D950: @ 812D950 - push {r4,r5,lr} - adds r4, r0, 0 - ldr r1, =gSpriteCoordOffsetX - ldrh r0, [r1] - subs r0, 0x8 - strh r0, [r1] - ldrh r1, [r4, 0xA] - adds r1, 0x8 - strh r1, [r4, 0xA] - ldrh r0, [r4, 0xE] - adds r0, 0x8 - strh r0, [r4, 0xE] - movs r2, 0xA - ldrsh r0, [r4, r2] - subs r0, 0x8 - movs r2, 0xFF - ands r0, r2 - lsrs r5, r0, 3 - ldr r0, =0x000001ff - ands r1, r0 - movs r0, 0x14 - bl SetGpuReg - ldrh r0, [r4, 0xE] - lsls r0, 16 - asrs r0, 19 - cmp r0, 0x19 - bgt _0812D998 - adds r0, r5, 0 - bl sub_812DC50 - b _0812D99E - .pool -_0812D998: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_0812D99E: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_812D950 - - thumb_func_start sub_812D9A4 -sub_812D9A4: @ 812D9A4 - push {r4-r6,lr} - adds r5, r0, 0 - ldr r4, =sSlotMachine - ldr r0, [r4] - movs r6, 0 - strb r6, [r0, 0xB] - ldr r1, [r4] - ldrb r0, [r1, 0x5] - strb r0, [r1, 0xA] - ldr r0, =gSpriteCoordOffsetX - strh r6, [r0] - movs r0, 0x14 - movs r1, 0 - bl SetGpuReg - ldr r1, [r4] - movs r0, 0x8 - strh r0, [r1, 0x1A] - bl sub_812E3E8 - bl sub_812E82C - bl sub_812E8C4 - ldr r0, [r4] - adds r0, 0x60 - ldrh r0, [r0] - bl PlayNewMapMusic - ldr r0, [r4] - ldrb r0, [r0, 0xA] - cmp r0, 0 - bne _0812DA04 - ldr r0, =sub_812D4EC - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask - b _0812DA1A - .pool -_0812DA04: - movs r0, 0x4 - bl sub_8104CAC - bl dp15_jump_random_unknown - strh r0, [r5, 0xA] - strh r6, [r5, 0xC] - strh r6, [r5, 0xE] - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] -_0812DA1A: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_812D9A4 - - thumb_func_start sub_812DA20 -sub_812DA20: @ 812DA20 - push {r4,r5,lr} - adds r4, r0, 0 - ldr r0, =sSlotMachine - ldr r5, [r0] - movs r0, 0x1A - ldrsh r1, [r5, r0] - movs r2, 0xA - ldrsh r0, [r4, r2] - cmp r1, r0 - bne _0812DA40 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _0812DA66 - .pool -_0812DA40: - movs r1, 0x1C - ldrsh r0, [r5, r1] - movs r1, 0x18 - bl __modsi3 - lsls r0, 16 - cmp r0, 0 - bne _0812DA66 - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] - movs r1, 0x7 - ands r0, r1 - cmp r0, 0 - bne _0812DA66 - ldrh r0, [r5, 0x1A] - lsls r0, 16 - asrs r0, 17 - strh r0, [r5, 0x1A] -_0812DA66: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_812DA20 - - thumb_func_start sub_812DA6C -sub_812DA6C: @ 812DA6C - push {lr} - bl sub_8104E18 - lsls r0, 24 - cmp r0, 0 - beq _0812DA86 - ldr r0, =sub_812D4EC - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask -_0812DA86: - pop {r0} - bx r0 - .pool - thumb_func_end sub_812DA6C - - thumb_func_start sub_812DA90 -sub_812DA90: @ 812DA90 - push {r4,r5,lr} - adds r4, r0, 0 - bl sub_812E82C - bl sub_812EA7C - bl sub_812EBCC - bl sub_812EC20 - ldr r5, =gSprites - ldr r3, =sSlotMachine - ldr r0, [r3] - adds r0, 0x4E - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - ldr r0, [r3] - adds r0, 0x3F - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - movs r1, 0x5 - bl StartSpriteAnimIfDifferent - ldrh r0, [r4, 0x8] - adds r0, 0x1 - movs r1, 0 - strh r0, [r4, 0x8] - movs r0, 0x4 - strh r0, [r4, 0x10] - strh r1, [r4, 0x12] - bl StopMapMusic - ldr r0, =0x00000187 - bl PlayFanfare - movs r0, 0xB2 - bl PlaySE - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812DA90 - - thumb_func_start sub_812DB04 -sub_812DB04: @ 812DB04 - push {r4,r5,lr} - adds r4, r0, 0 - ldr r1, =gSpriteCoordOffsetY - ldrh r0, [r4, 0x10] - strh r0, [r1] - ldrh r1, [r4, 0x10] - movs r0, 0x16 - bl SetGpuReg - ldrh r1, [r4, 0x12] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0812DB26 - ldrh r0, [r4, 0x10] - negs r0, r0 - strh r0, [r4, 0x10] -_0812DB26: - ldrh r0, [r4, 0x12] - adds r0, 0x1 - strh r0, [r4, 0x12] - movs r1, 0x1F - ands r0, r1 - cmp r0, 0 - bne _0812DB3C - ldrh r0, [r4, 0x10] - lsls r0, 16 - asrs r0, 17 - strh r0, [r4, 0x10] -_0812DB3C: - movs r0, 0x10 - ldrsh r5, [r4, r0] - cmp r5, 0 - bne _0812DB7A - bl sub_812EC70 - bl sub_812EC94 - bl sub_812E5A8 - bl sub_812EDC0 - ldr r2, =gSprites - ldr r0, =sSlotMachine - ldr r0, [r0] - adds r0, 0x4E - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - adds r0, 0x3E - ldrb r2, [r0] - movs r1, 0x5 - negs r1, r1 - ands r1, r2 - strb r1, [r0] - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - strh r5, [r4, 0x12] -_0812DB7A: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812DB04 - - thumb_func_start sub_812DB8C -sub_812DB8C: @ 812DB8C - push {r4,lr} - adds r4, r0, 0 - ldr r1, =gSpriteCoordOffsetY - movs r0, 0 - strh r0, [r1] - movs r0, 0x16 - movs r1, 0 - bl SetGpuReg - bl sub_812EEA8 - lsls r0, 24 - cmp r0, 0 - beq _0812DBB2 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - bl sub_812EECC -_0812DBB2: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812DB8C - - thumb_func_start sub_812DBBC -sub_812DBBC: @ 812DBBC - push {lr} - ldr r1, =gSpriteCoordOffsetX - movs r0, 0 - strh r0, [r1] - movs r0, 0x14 - movs r1, 0 - bl SetGpuReg - ldr r0, =sSlotMachine - ldr r0, [r0] - adds r0, 0x60 - ldrh r0, [r0] - bl PlayNewMapMusic - bl sub_812E3E8 - bl sub_812E8F8 - bl sub_812E8C4 - bl sub_812ED8C - ldr r0, =sub_812D4EC - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask - pop {r0} - bx r0 - .pool - thumb_func_end sub_812DBBC - - thumb_func_start sub_812DC08 -sub_812DC08: @ 812DC08 - push {r4-r6,lr} - movs r2, 0x4 - lsls r1, 16 - asrs r6, r1, 16 - lsls r0, 16 - asrs r5, r0, 16 -_0812DC14: - lsls r4, r2, 16 - asrs r4, 16 - subs r0, r4, 0x4 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 2 - adds r1, r6, r1 - lsls r1, 1 - ldr r0, =gUnknown_085A96E0 - adds r1, r0 - lsls r3, r4, 5 - adds r3, r5, r3 - lsls r3, 16 - lsrs r3, 16 - movs r0, 0x1 - movs r2, 0x2 - bl LoadBgTilemap - adds r4, 0x1 - lsls r4, 16 - lsrs r2, r4, 16 - asrs r4, 16 - cmp r4, 0xE - ble _0812DC14 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812DC08 - - thumb_func_start sub_812DC50 -sub_812DC50: @ 812DC50 - push {r4,r5,lr} - movs r4, 0x4 - lsls r0, 16 - asrs r5, r0, 16 -_0812DC58: - lsls r3, r4, 5 - adds r3, r5, r3 - lsls r3, 16 - lsrs r3, 16 - movs r0, 0x1 - ldr r1, =gUnknown_085A9898 - movs r2, 0x2 - bl LoadBgTilemap - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0xE - bls _0812DC58 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812DC50 - - thumb_func_start sub_8104AB8 -sub_8104AB8: @ 812DC80 - push {r4,r5,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r5, =sub_812DCD4 - adds r0, r5, 0 - movs r1, 0x1 - 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, 0xA] - bl _call_via_r5 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8104AB8 - - thumb_func_start sub_8104AEC -sub_8104AEC: @ 812DCB4 - push {lr} - ldr r0, =sub_812DCD4 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFF - beq _0812DCCC - movs r0, 0 - b _0812DCCE - .pool -_0812DCCC: - movs r0, 0x1 -_0812DCCE: - pop {r1} - bx r1 - thumb_func_end sub_8104AEC - - thumb_func_start sub_812DCD4 -sub_812DCD4: @ 812DCD4 - push {lr} - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r3, =gUnknown_085A75D4 - ldr r2, =gTasks - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - movs r2, 0x8 - ldrsh r1, [r0, r2] - lsls r1, 2 - adds r1, r3 - ldr r1, [r1] - bl _call_via_r1 - pop {r0} - bx r0 - .pool - thumb_func_end sub_812DCD4 - - thumb_func_start sub_812DD04 -sub_812DD04: @ 812DD04 - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_812DD04 - - thumb_func_start sub_812DD28 -sub_812DD28: @ 812DD28 - push {lr} - adds r2, r0, 0 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0812DD3E - ldrh r0, [r2, 0x8] - adds r0, 0x1 - strh r0, [r2, 0x8] -_0812DD3E: - pop {r0} - bx r0 - .pool - thumb_func_end sub_812DD28 - - thumb_func_start sub_812DD48 -sub_812DD48: @ 812DD48 - push {r4,lr} - adds r4, r0, 0 - bl sub_8104DA4 - bl sub_812FAF4 - ldr r0, =gUnknown_085A7444 - bl AddWindow - movs r0, 0x1 - bl PutWindowTilemap - movs r0, 0x1 - movs r1, 0 - bl FillWindowPixelBuffer - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812DD48 - - thumb_func_start sub_812DD78 -sub_812DD78: @ 812DD78 - push {r4,r5,lr} - sub sp, 0xC - adds r5, r0, 0 - ldr r0, =gUnknown_085A744C - str r0, [sp] - movs r4, 0 - str r4, [sp, 0x4] - ldr r0, =gText_ReelTimeHelp - str r0, [sp, 0x8] - movs r0, 0x1 - movs r1, 0x1 - movs r2, 0x2 - movs r3, 0x5 - bl AddTextPrinterParameterized3 - movs r0, 0x1 - movs r1, 0x3 - bl CopyWindowToVram - movs r0, 0x1 - negs r0, r0 - str r4, [sp] - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] - add sp, 0xC - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812DD78 - - thumb_func_start sub_812DDC4 -sub_812DDC4: @ 812DDC4 - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x6 - ands r0, r1 - cmp r0, 0 - beq _0812DE08 - movs r0, 0x1 - movs r1, 0 - bl FillWindowPixelBuffer - movs r0, 0x1 - bl ClearWindowTilemap - movs r0, 0x1 - movs r1, 0x1 - bl CopyWindowToVram - movs r0, 0x1 - bl RemoveWindow - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_0812DE08: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812DDC4 - - thumb_func_start sub_812DE14 -sub_812DE14: @ 812DE14 - push {r4,lr} - adds r4, r0, 0 - bl sub_812F968 - movs r0, 0x3 - bl ShowBg - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_812DE14 - - thumb_func_start sub_812DE30 -sub_812DE30: @ 812DE30 - push {r4,lr} - adds r4, r0, 0 - ldrb r0, [r4, 0xA] - bl sub_8104CAC - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_812DE30 - - thumb_func_start sub_812DE48 -sub_812DE48: @ 812DE48 - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - ldr r0, =sSlotMachine - ldr r0, [r0] - ldrb r0, [r0, 0x2] - bl sub_810423C - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812DE48 - - thumb_func_start sub_812DE7C -sub_812DE7C: @ 812DE7C - push {lr} - ldr r0, =sub_812DCD4 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask - pop {r0} - bx r0 - .pool - thumb_func_end sub_812DE7C - - thumb_func_start sub_8104C5C -sub_8104C5C: @ 812DE94 - push {lr} - ldr r0, =sub_812E0B0 - movs r1, 0x3 - bl CreateTask - lsls r0, 24 - lsrs r1, r0, 24 - ldr r0, =sSlotMachine - ldr r0, [r0] - adds r0, 0x3D - strb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - ldr r1, =gTasks - adds r0, r1 - ldr r1, =0x0000ffff - strh r1, [r0, 0xA] - movs r1, 0x4 - adds r2, r0, 0 - adds r2, 0x8 - movs r3, 0x40 -_0812DEC0: - lsls r0, r1, 1 - adds r0, r2, r0 - strh r3, [r0] - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0xF - bls _0812DEC0 - pop {r0} - bx r0 - .pool - thumb_func_end sub_8104C5C - - thumb_func_start sub_8104CAC -sub_8104CAC: @ 812DEE4 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl sub_8104DA4 - ldr r0, =sSlotMachine - ldr r0, [r0] - adds r0, 0x3D - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - ldr r1, =gTasks - adds r7, r0, r1 - strh r4, [r7, 0xA] - movs r6, 0 - ldr r1, =gUnknown_085A7A04 - lsls r5, r4, 2 - adds r0, r5, r1 - ldr r0, [r0] - ldrb r0, [r0] - cmp r0, 0xFF - beq _0812DF52 - mov r8, r1 -_0812DF1A: - mov r0, r8 - adds r4, r5, r0 - ldr r0, [r4] - lsls r2, r6, 2 - adds r2, r0 - ldrb r0, [r2] - ldrb r1, [r2, 0x1] - movs r3, 0x2 - ldrsh r2, [r2, r3] - bl sub_812EF98 - lsls r0, 24 - lsrs r0, 24 - adds r2, r6, 0x4 - lsls r2, 1 - adds r1, r7, 0 - adds r1, 0x8 - adds r1, r2 - strh r0, [r1] - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - ldr r1, [r4] - lsls r0, r6, 2 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0xFF - bne _0812DF1A -_0812DF52: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8104CAC - - thumb_func_start sub_812DF68 -sub_812DF68: @ 812DF68 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - mov r8, r1 - ldr r4, [sp, 0x1C] - lsls r0, 24 - lsrs r7, r0, 24 - ldr r0, =sSlotMachine - ldr r0, [r0] - adds r0, 0x3D - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - ldr r1, =gTasks - adds r0, r1 - mov r12, r0 - movs r5, 0x4 - lsls r4, 16 - asrs r6, r4, 16 - lsls r2, 16 - lsls r3, 16 -_0812DF96: - lsls r0, r5, 1 - mov r1, r12 - adds r1, 0x8 - adds r4, r1, r0 - movs r1, 0 - ldrsh r0, [r4, r1] - cmp r0, 0x40 - bne _0812DFC4 - str r6, [sp] - adds r0, r7, 0 - mov r1, r8 - asrs r2, 16 - asrs r3, 16 - bl sub_812EFDC - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4] - b _0812DFCE - .pool -_0812DFC4: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0xF - bls _0812DF96 -_0812DFCE: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_812DF68 - - thumb_func_start sub_8104DA4 -sub_8104DA4: @ 812DFDC - push {r4-r6,lr} - ldr r0, =sSlotMachine - ldr r0, [r0] - adds r0, 0x3D - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - ldr r1, =gTasks - adds r4, r0, r1 - ldrh r1, [r4, 0xA] - ldr r0, =0x0000ffff - cmp r1, r0 - beq _0812E008 - ldr r0, =gUnknown_085A7A20 - movs r2, 0xA - ldrsh r1, [r4, r2] - lsls r1, 2 - adds r1, r0 - ldr r0, [r1] - bl _call_via_r0 -_0812E008: - movs r5, 0x4 - adds r6, r4, 0 - adds r6, 0x8 -_0812E00E: - lsls r0, r5, 1 - adds r4, r6, r0 - movs r1, 0 - ldrsh r0, [r4, r1] - cmp r0, 0x40 - beq _0812E02E - adds r1, r0, 0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - bl DestroySprite - movs r0, 0x40 - strh r0, [r4] -_0812E02E: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0xF - bls _0812E00E - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8104DA4 - - thumb_func_start sub_8104E18 -sub_8104E18: @ 812E054 - push {r4,r5,lr} - ldr r0, =sSlotMachine - ldr r0, [r0] - adds r0, 0x3D - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - ldr r1, =gTasks - adds r0, r1 - movs r2, 0x4 - adds r3, r0, 0 - adds r3, 0x8 - ldr r4, =gSprites -_0812E070: - lsls r0, r2, 1 - adds r1, r3, r0 - movs r5, 0 - ldrsh r0, [r1, r5] - cmp r0, 0x40 - beq _0812E09C - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - movs r5, 0x3C - ldrsh r0, [r1, r5] - cmp r0, 0 - beq _0812E09C - movs r0, 0 - b _0812E0A8 - .pool -_0812E09C: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0xF - bls _0812E070 - movs r0, 0x1 -_0812E0A8: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8104E18 - - thumb_func_start sub_812E0B0 -sub_812E0B0: @ 812E0B0 - push {lr} - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r3, =gUnknown_085A7610 - ldr r2, =gTasks - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - movs r2, 0x8 - ldrsh r1, [r0, r2] - lsls r1, 2 - adds r1, r3 - ldr r1, [r1] - bl _call_via_r1 - pop {r0} - bx r0 - .pool - thumb_func_end sub_812E0B0 - - thumb_func_start nullsub_51 -nullsub_51: @ 812E0E0 - bx lr - thumb_func_end nullsub_51 - - thumb_func_start sub_8104EA8 -sub_8104EA8: @ 812E0E4 - push {r4-r7,lr} - movs r6, 0 - movs r0, 0x30 -_0812E0EA: - movs r4, 0 - lsls r5, r0, 16 - lsls r7, r6, 16 -_0812E0F0: - ldr r0, =gUnknown_085A7CE0 - asrs r1, r5, 16 - movs r2, 0 - movs r3, 0xE - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, =gSprites - adds r1, r0 - ldrb r0, [r1, 0x5] - movs r2, 0xC - orrs r0, r2 - strb r0, [r1, 0x5] - strh r6, [r1, 0x2E] - strh r4, [r1, 0x30] - ldr r0, =0x0000ffff - strh r0, [r1, 0x34] - lsls r0, r4, 16 - movs r1, 0xC0 - lsls r1, 13 - adds r0, r1 - lsrs r4, r0, 16 - asrs r0, 16 - cmp r0, 0x77 - ble _0812E0F0 - movs r2, 0x80 - lsls r2, 9 - adds r1, r7, r2 - movs r2, 0xA0 - lsls r2, 14 - adds r0, r5, r2 - lsrs r0, 16 - lsrs r6, r1, 16 - asrs r1, 16 - cmp r1, 0x2 - ble _0812E0EA - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8104EA8 - - thumb_func_start sub_812E154 -sub_812E154: @ 812E154 - push {r4,r5,lr} - adds r5, r0, 0 - ldr r0, =sSlotMachine - ldr r4, [r0] - movs r1, 0x2E - ldrsh r0, [r5, r1] - lsls r0, 1 - adds r1, r4, 0 - adds r1, 0x1C - adds r1, r0 - ldrh r0, [r5, 0x30] - ldrh r1, [r1] - adds r0, r1 - strh r0, [r5, 0x32] - movs r2, 0x32 - ldrsh r0, [r5, r2] - movs r1, 0x78 - bl __modsi3 - strh r0, [r5, 0x32] - movs r2, 0x2E - ldrsh r1, [r5, r2] - lsls r1, 1 - adds r4, 0x22 - adds r4, r1 - ldrh r1, [r4] - adds r1, 0x1C - adds r0, r1 - strh r0, [r5, 0x22] - ldrh r4, [r5, 0x2E] - lsls r4, 24 - lsrs r4, 24 - movs r1, 0x32 - ldrsh r0, [r5, r1] - movs r1, 0x18 - bl __divsi3 - adds r1, r0, 0 - lsls r1, 16 - asrs r1, 16 - adds r0, r4, 0 - bl GetTagOfReelSymbolOnScreenAtPos - lsls r0, 24 - lsrs r0, 24 - bl GetSpriteTileStartByTag - adds r1, r5, 0 - adds r1, 0x40 - strh r0, [r1] - adds r0, r5, 0 - bl SetSpriteSheetFrameTileNum - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812E154 - - thumb_func_start sub_8104F8C -sub_8104F8C: @ 812E1C8 - push {r4-r6,lr} - movs r4, 0xCB - movs r5, 0x1 - ldr r6, =0x0000270f -_0812E1D0: - lsls r4, 16 - asrs r4, 16 - lsls r5, 16 - asrs r5, 16 - adds r0, r4, 0 - movs r1, 0x17 - movs r2, 0 - adds r3, r5, 0 - bl sub_812E230 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 17 - subs r4, 0x7 - lsls r4, 16 - lsrs r4, 16 - lsrs r5, r0, 16 - asrs r0, 16 - cmp r0, r6 - ble _0812E1D0 - movs r4, 0xEB - movs r5, 0x1 - ldr r6, =0x0000270f -_0812E1FE: - lsls r4, 16 - asrs r4, 16 - lsls r5, 16 - asrs r5, 16 - adds r0, r4, 0 - movs r1, 0x17 - movs r2, 0x1 - adds r3, r5, 0 - bl sub_812E230 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 17 - subs r4, 0x7 - lsls r4, 16 - lsrs r4, 16 - lsrs r5, r0, 16 - asrs r0, 16 - cmp r0, r6 - ble _0812E1FE - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8104F8C - - thumb_func_start sub_812E230 -sub_812E230: @ 812E230 - push {r4-r6,lr} - mov r6, r8 - push {r6} - adds r5, r0, 0 - adds r6, r1, 0 - mov r8, r2 - adds r4, r3, 0 - mov r0, r8 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - lsls r4, 16 - lsrs r4, 16 - ldr r0, =gUnknown_085A7CF8 - lsls r5, 16 - asrs r5, 16 - lsls r6, 16 - asrs r6, 16 - adds r1, r5, 0 - adds r2, r6, 0 - movs r3, 0xD - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - ldr r0, =gSprites - adds r2, r0 - ldrb r1, [r2, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r1 - movs r1, 0x8 - orrs r0, r1 - strb r0, [r2, 0x5] - mov r0, r8 - strh r0, [r2, 0x2E] - strh r4, [r2, 0x30] - lsls r4, 16 - asrs r4, 16 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 1 - strh r0, [r2, 0x32] - ldr r0, =0x0000ffff - strh r0, [r2, 0x34] - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812E230 - - thumb_func_start sub_812E2A8 -sub_812E2A8: @ 812E2A8 - push {r4,lr} - adds r4, r0, 0 - ldr r0, =sSlotMachine - ldr r1, [r0] - ldrh r2, [r1, 0xC] - movs r3, 0x2E - ldrsh r0, [r4, r3] - cmp r0, 0 - beq _0812E2BC - ldrh r2, [r1, 0xE] -_0812E2BC: - movs r1, 0x34 - ldrsh r0, [r4, r1] - cmp r0, r2 - beq _0812E2F6 - strh r2, [r4, 0x34] - ldrh r1, [r4, 0x32] - adds r0, r2, 0 - bl __umodsi3 - lsls r0, 16 - lsrs r2, r0, 16 - ldrh r1, [r4, 0x30] - adds r0, r2, 0 - bl __udivsi3 - lsls r0, 16 - movs r3, 0xE0 - lsls r3, 11 - adds r0, r3 - lsrs r2, r0, 16 - adds r0, r2, 0 - bl GetSpriteTileStartByTag - adds r1, r4, 0 - adds r1, 0x40 - strh r0, [r1] - adds r0, r4, 0 - bl SetSpriteSheetFrameTileNum -_0812E2F6: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812E2A8 - - thumb_func_start sub_81050C4 -sub_81050C4: @ 812E300 - push {lr} - ldr r0, =gUnknown_085A7D10 - movs r1, 0x58 - movs r2, 0x48 - movs r3, 0xF - bl CreateSprite - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r2, =gSprites - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0, 0x5] - movs r2, 0xC - orrs r1, r2 - strb r1, [r0, 0x5] - ldr r1, =gUnknown_085A7FC0 - bl SetSubspriteTables - pop {r0} - bx r0 - .pool - thumb_func_end sub_81050C4 - - thumb_func_start sub_812E33C -sub_812E33C: @ 812E33C + + thumb_func_start sub_8105100 +sub_8105100: @ 812E33C push {r4,r5,lr} sub sp, 0x18 ldr r4, =gUnknown_0203AAE4 @@ -5280,7 +44,7 @@ _0812E350: str r1, [r2, 0x20] strh r3, [r2, 0x24] mov r1, sp - ldr r0, =gUnknown_085A7D28 + ldr r0, =gSpriteTemplate_83ED45C ldm r0!, {r3-r5} stm r1!, {r3-r5} ldm r0!, {r3-r5} @@ -5320,10 +84,10 @@ _0812E350: pop {r0} bx r0 .pool - thumb_func_end sub_812E33C + thumb_func_end sub_8105100 - thumb_func_start sub_812E3E8 -sub_812E3E8: @ 812E3E8 + thumb_func_start sub_810514C +sub_810514C: @ 812E3E8 push {r4,lr} ldr r0, =sSlotMachine ldr r0, [r0] @@ -5347,7 +111,7 @@ _0812E410: pop {r0} bx r0 .pool - thumb_func_end sub_812E3E8 + thumb_func_end sub_810514C thumb_func_start sub_812E424 sub_812E424: @ 812E424 @@ -5394,8 +158,8 @@ _0812E46A: .pool thumb_func_end sub_812E424 - thumb_func_start sub_812E474 -sub_812E474: @ 812E474 + thumb_func_start sub_81051C0 +sub_81051C0: @ 812E474 push {r4-r7,lr} mov r7, r10 mov r6, r9 @@ -5528,10 +292,10 @@ _0812E510: pop {r0} bx r0 .pool - thumb_func_end sub_812E474 + thumb_func_end sub_81051C0 - thumb_func_start sub_812E5A8 -sub_812E5A8: @ 812E5A8 + thumb_func_start sub_8105284_ +sub_8105284_: @ 812E5A8 push {r4,r5,lr} sub sp, 0x18 ldr r4, =gUnknown_0203AAF0 @@ -5601,10 +365,10 @@ _0812E5BC: pop {r0} bx r0 .pool - thumb_func_end sub_812E5A8 + thumb_func_end sub_8105284_ - thumb_func_start sub_812E650 -sub_812E650: @ 812E650 + thumb_func_start sub_81052EC +sub_81052EC: @ 812E650 push {r4-r6,lr} movs r4, 0 movs r5, 0 @@ -5658,10 +422,10 @@ _0812E656: pop {r0} bx r0 .pool - thumb_func_end sub_812E650 + thumb_func_end sub_81052EC - thumb_func_start sub_812E6C4 -sub_812E6C4: @ 812E6C4 + thumb_func_start sub_810535C +sub_810535C: @ 812E6C4 push {r4,lr} adds r4, r0, 0 ldr r0, =sSlotMachine @@ -5682,7 +446,7 @@ sub_812E6C4: @ 812E6C4 bl __divsi3 lsls r0, 16 asrs r0, 16 - bl sub_812BCE8 + bl sub_8102C48 adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 @@ -5692,10 +456,10 @@ sub_812E6C4: @ 812E6C4 pop {r0} bx r0 .pool - thumb_func_end sub_812E6C4 + thumb_func_end sub_810535C - thumb_func_start sub_812E70C -sub_812E70C: @ 812E70C + thumb_func_start sub_81053A0 +sub_81053A0: @ 812E70C push {r4-r7,lr} mov r7, r10 mov r6, r9 @@ -5780,10 +544,10 @@ sub_812E70C: @ 812E70C pop {r0} bx r0 .pool - thumb_func_end sub_812E70C + thumb_func_end sub_81053A0 - thumb_func_start sub_812E7CC -sub_812E7CC: @ 812E7CC + thumb_func_start sub_810545C +sub_810545C: @ 812E7CC push {r4,lr} ldr r0, =gUnknown_085A7DB8 movs r1, 0xB8 @@ -5822,10 +586,10 @@ sub_812E7CC: @ 812E7CC pop {r0} bx r0 .pool - thumb_func_end sub_812E7CC + thumb_func_end sub_810545C - thumb_func_start sub_812E82C -sub_812E82C: @ 812E82C + thumb_func_start sub_81054B8 +sub_81054B8: @ 812E82C push {r4,lr} ldr r0, =sSlotMachine ldr r0, [r0] @@ -5893,10 +657,10 @@ _0812E88A: pop {r0} bx r0 .pool - thumb_func_end sub_812E82C + thumb_func_end sub_81054B8 - thumb_func_start sub_812E8C4 -sub_812E8C4: @ 812E8C4 + thumb_func_start sub_8105524 +sub_8105524: @ 812E8C4 push {r4,lr} movs r4, 0 _0812E8C8: @@ -5920,10 +684,10 @@ _0812E8C8: pop {r0} bx r0 .pool - thumb_func_end sub_812E8C4 + thumb_func_end sub_8105524 - thumb_func_start sub_812E8F8 -sub_812E8F8: @ 812E8F8 + thumb_func_start sub_8105554 +sub_8105554: @ 812E8F8 push {r4,lr} ldr r0, =sSlotMachine ldr r0, [r0] @@ -5947,10 +711,10 @@ _0812E920: pop {r0} bx r0 .pool - thumb_func_end sub_812E8F8 + thumb_func_end sub_8105554 - thumb_func_start sub_812E934 -sub_812E934: @ 812E934 + thumb_func_start sub_8105578 +sub_8105578: @ 812E934 push {r4-r6,lr} mov r6, r10 mov r5, r9 @@ -6032,7 +796,7 @@ sub_812E934: @ 812E934 pop {r0} bx r0 .pool - thumb_func_end sub_812E934 + thumb_func_end sub_8105578 thumb_func_start sub_812E9E8 sub_812E9E8: @ 812E9E8 @@ -6086,8 +850,8 @@ _0812EA3E: bx r0 thumb_func_end sub_812E9E8 - thumb_func_start sub_812EA44 -sub_812EA44: @ 812EA44 + thumb_func_start sub_8105688 +sub_8105688: @ 812EA44 push {r4,lr} lsls r0, 16 lsrs r0, 16 @@ -6113,10 +877,10 @@ sub_812EA44: @ 812EA44 pop {r0} bx r0 .pool - thumb_func_end sub_812EA44 + thumb_func_end sub_8105688 - thumb_func_start sub_812EA7C -sub_812EA7C: @ 812EA7C + thumb_func_start sub_81056C0 +sub_81056C0: @ 812EA7C push {r4,lr} movs r4, 0 _0812EA80: @@ -6140,10 +904,10 @@ _0812EA80: pop {r0} bx r0 .pool - thumb_func_end sub_812EA7C + thumb_func_end sub_81056C0 - thumb_func_start sub_812EAB0 -sub_812EAB0: @ 812EAB0 + thumb_func_start sub_81056F0 +sub_81056F0: @ 812EAB0 push {r4-r6,lr} mov r6, r9 mov r5, r8 @@ -6212,7 +976,7 @@ sub_812EAB0: @ 812EAB0 pop {r0} bx r0 .pool - thumb_func_end sub_812EAB0 + thumb_func_end sub_81056F0 thumb_func_start sub_812EB48 sub_812EB48: @ 812EB48 @@ -6262,8 +1026,8 @@ _0812EB9A: .pool thumb_func_end sub_812EB48 - thumb_func_start sub_812EBAC -sub_812EBAC: @ 812EBAC + thumb_func_start sub_81057E8 +sub_81057E8: @ 812EBAC ldr r3, =gSprites ldr r1, =sSlotMachine ldr r1, [r1] @@ -6276,10 +1040,10 @@ sub_812EBAC: @ 812EBAC strh r0, [r1, 0x3C] bx lr .pool - thumb_func_end sub_812EBAC + thumb_func_end sub_81057E8 - thumb_func_start sub_812EBCC -sub_812EBCC: @ 812EBCC + thumb_func_start sub_8105804 +sub_8105804: @ 812EBCC push {r4,lr} movs r0, 0x7 bl IndexOfSpritePaletteTag @@ -6314,10 +1078,10 @@ _0812EBEA: pop {r0} bx r0 .pool - thumb_func_end sub_812EBCC + thumb_func_end sub_8105804 - thumb_func_start sub_812EC20 -sub_812EC20: @ 812EC20 + thumb_func_start sub_8105854 +sub_8105854: @ 812EC20 push {lr} ldr r0, =gUnknown_085A7E00 movs r1, 0xA8 @@ -6345,7 +1109,7 @@ sub_812EC20: @ 812EC20 pop {r0} bx r0 .pool - thumb_func_end sub_812EC20 + thumb_func_end sub_8105854 thumb_func_start sub_812EC64 sub_812EC64: @ 812EC64 @@ -6356,8 +1120,8 @@ sub_812EC64: @ 812EC64 .pool thumb_func_end sub_812EC64 - thumb_func_start sub_812EC70 -sub_812EC70: @ 812EC70 + thumb_func_start sub_81058A0 +sub_81058A0: @ 812EC70 push {lr} ldr r0, =sSlotMachine ldr r0, [r0] @@ -6372,10 +1136,10 @@ sub_812EC70: @ 812EC70 pop {r0} bx r0 .pool - thumb_func_end sub_812EC70 + thumb_func_end sub_81058A0 - thumb_func_start sub_812EC94 -sub_812EC94: @ 812EC94 + thumb_func_start sub_81058C4 +sub_81058C4: @ 812EC94 push {r4,r5,lr} sub sp, 0x8 ldr r1, =gUnknown_085A7616 @@ -6436,7 +1200,7 @@ _0812ECA4: pop {r0} bx r0 .pool - thumb_func_end sub_812EC94 + thumb_func_end sub_81058C4 thumb_func_start sub_812ED20 sub_812ED20: @ 812ED20 @@ -6495,8 +1259,8 @@ _0812ED84: bx r0 thumb_func_end sub_812ED20 - thumb_func_start sub_812ED8C -sub_812ED8C: @ 812ED8C + thumb_func_start sub_81059B8 +sub_81059B8: @ 812ED8C push {r4,lr} movs r4, 0 _0812ED90: @@ -6520,10 +1284,10 @@ _0812ED90: pop {r0} bx r0 .pool - thumb_func_end sub_812ED8C + thumb_func_end sub_81059B8 - thumb_func_start sub_812EDC0 -sub_812EDC0: @ 812EDC0 + thumb_func_start sub_81059E8 +sub_81059E8: @ 812EDC0 push {r4,lr} ldr r0, =gUnknown_085A7E30 movs r1, 0xA8 @@ -6558,7 +1322,7 @@ sub_812EDC0: @ 812EDC0 pop {r0} bx r0 .pool - thumb_func_end sub_812EDC0 + thumb_func_end sub_81059E8 thumb_func_start sub_812EE14 sub_812EE14: @ 812EE14 @@ -6640,8 +1404,8 @@ _0812EE90: bx r0 thumb_func_end sub_812EE14 - thumb_func_start sub_812EEA8 -sub_812EEA8: @ 812EEA8 + thumb_func_start sub_8105ACC +sub_8105ACC: @ 812EEA8 ldr r2, =gSprites ldr r0, =sSlotMachine ldr r0, [r0] @@ -6656,10 +1420,10 @@ sub_812EEA8: @ 812EEA8 lsrs r0, 24 bx lr .pool - thumb_func_end sub_812EEA8 + thumb_func_end sub_8105ACC - thumb_func_start sub_812EECC -sub_812EECC: @ 812EECC + thumb_func_start sub_8105AEC +sub_8105AEC: @ 812EECC push {r4,lr} ldr r0, =sSlotMachine ldr r0, [r0] @@ -6680,10 +1444,10 @@ sub_812EECC: @ 812EECC pop {r0} bx r0 .pool - thumb_func_end sub_812EECC + thumb_func_end sub_8105AEC - thumb_func_start sub_812EF00 -sub_812EF00: @ 812EF00 + thumb_func_start sub_8105B1C +sub_8105B1C: @ 812EF00 push {r4,lr} adds r3, r0, 0 adds r2, r1, 0 @@ -6720,7 +1484,7 @@ sub_812EF00: @ 812EF00 pop {r1} bx r1 .pool - thumb_func_end sub_812EF00 + thumb_func_end sub_8105B1C thumb_func_start sub_812EF54 sub_812EF54: @ 812EF54 @@ -6739,8 +1503,8 @@ _0812EF68: bx r0 thumb_func_end sub_812EF54 - thumb_func_start sub_812EF6C -sub_812EF6C: @ 812EF6C + thumb_func_start sub_8105B88 +sub_8105B88: @ 812EF6C push {r4,lr} lsls r0, 24 lsrs r0, 24 @@ -6759,10 +1523,10 @@ sub_812EF6C: @ 812EF6C pop {r0} bx r0 .pool - thumb_func_end sub_812EF6C + thumb_func_end sub_8105B88 - thumb_func_start sub_812EF98 -sub_812EF98: @ 812EF98 + thumb_func_start sub_8105BB4 +sub_8105BB4: @ 812EF98 push {r4-r6,lr} sub sp, 0x4 lsls r0, 24 @@ -6785,7 +1549,7 @@ sub_812EF98: @ 812EF98 str r2, [sp] adds r1, r5, 0 adds r2, r4, 0 - bl sub_812EFDC + bl sub_8105BF8 lsls r0, 24 lsrs r0, 24 add sp, 0x4 @@ -6793,10 +1557,10 @@ sub_812EF98: @ 812EF98 pop {r1} bx r1 .pool - thumb_func_end sub_812EF98 + thumb_func_end sub_8105BB4 - thumb_func_start sub_812EFDC -sub_812EFDC: @ 812EFDC + thumb_func_start sub_8105BF8 +sub_8105BF8: @ 812EFDC push {r4-r7,lr} mov r7, r9 mov r6, r8 @@ -6866,7 +1630,7 @@ _0812F056: pop {r1} bx r1 .pool - thumb_func_end sub_812EFDC + thumb_func_end sub_8105BF8 thumb_func_start sub_812F078 sub_812F078: @ 812F078 @@ -7762,7 +2526,7 @@ _0812F6E0: movs r0, 0x5 movs r2, 0xD0 movs r3, 0x74 - bl sub_812DF68 + bl sub_8104D30 ldr r2, [r6] adds r1, r2, 0 adds r1, 0x58 @@ -8194,8 +2958,8 @@ _0812FA32: .pool thumb_func_end sub_812F980 - thumb_func_start sub_812FA78 -sub_812FA78: @ 812FA78 + thumb_func_start sub_81065A8 +sub_81065A8: @ 812FA78 push {r4-r6,lr} adds r4, r0, 0 ldr r5, [sp, 0x10] @@ -8249,10 +3013,10 @@ sub_812FA78: @ 812FA78 pop {r0} bx r0 .pool - thumb_func_end sub_812FA78 + thumb_func_end sub_81065A8 - thumb_func_start sub_812FAF4 -sub_812FAF4: @ 812FAF4 + thumb_func_start sub_81065DC +sub_81065DC: @ 812FAF4 push {lr} ldr r1, =gUnknown_08DCEC70 movs r2, 0xA0 @@ -8265,7 +3029,7 @@ sub_812FAF4: @ 812FAF4 pop {r0} bx r0 .pool - thumb_func_end sub_812FAF4 + thumb_func_end sub_81065DC thumb_func_start SlotMachineSetup_9_0 SlotMachineSetup_9_0: @ 812FB14 diff --git a/data/slot_machine.s b/data/slot_machine.s index 0896d6348a..bbbba9652f 100644 --- a/data/slot_machine.s +++ b/data/slot_machine.s @@ -4,173 +4,6 @@ .section .rodata .align 2, 0 -gUnknown_085A7424:: @ 85A7424 - .4byte 0x1F8 - .4byte 0x11C5 - .4byte 0x21D6 - .4byte 0x11E7 - -gUnknown_085A7434:: @ 85A7434 - window_template 0, 2, 15, 0x1B, 4, 15, 0x194 - null_window_template - -gUnknown_085A7444:: @ 85A7444 - window_template 0, 1, 3, 20, 13, 13, 1 - -gUnknown_085A744C:: @ 85A744C - .byte 3, 1, 2, 0 - -gUnknown_083ECAAC:: @ 85A7450 - .4byte sub_8101D5C - .4byte sub_8101D8C - .4byte sub_8101DB0 - .4byte sub_8101DF4 - .4byte sub_8101E10 - .4byte sub_8101E3C - .4byte sub_8101F44 - .4byte sub_8101F60 - .4byte sub_8101F88 - .4byte sub_8101FA4 - .4byte sub_8102008 - .4byte sub_8102034 - .4byte sub_8102058 - .4byte sub_8102090 - .4byte sub_81020C8 - .4byte sub_81021E0 - .4byte sub_81021FC - .4byte sub_8102264 - .4byte sub_81022A0 - .4byte sub_81022CC - .4byte sub_81022F0 - .4byte sub_8102318 - .4byte sub_8102344 - .4byte sub_810239C - .4byte sub_81023B8 - .4byte sub_81023E0_ - .4byte sub_81023FC - .4byte sub_8102424 - .4byte sub_8102460 - -gUnknown_085A74C4:: @ 85A74C4 - .4byte sub_812BB34 - .4byte sub_812BB68 - .4byte sub_812BC20 - -gUnknown_085A74D0:: @ 85A74D0 - .4byte sub_812BF64 - .4byte sub_812BF68 - .4byte sub_812BF88 - .4byte sub_812C01C - .4byte sub_812C0E0 - -gUnknown_085A74E4:: @ 85A74E4 - .4byte sub_812C138 - .4byte sub_812C3A0 - .4byte sub_812C4BC - -gUnknown_085A74F0:: @ 85A74F0 - .4byte sub_812C5DC - .4byte sub_812C628 - .4byte sub_812C8FC - -gUnknown_085A74FC:: @ 85A74FC - .2byte 2, 4, 4, 4, 8, 0 - -gUnknown_085A7508:: @ 85A7508 - .4byte sub_812C238 - .4byte sub_812C290 - .4byte sub_812C290 - -gUnknown_085A7514:: @ 85A7514 - .4byte sub_812C3C8 - .4byte sub_812C3C8 - .4byte sub_812C414 - -gUnknown_085A7520:: @ 85A7520 - .4byte sub_812C500 - .4byte sub_812C500 - .4byte sub_812C55C - -gUnknown_085A752C:: @ 85A752C - .4byte sub_812C64C - .4byte j5_08111E84 - .4byte sub_812C74C - -gUnknown_085A7538:: @ 85A7538 - .4byte sub_812C920 - .4byte sub_812CA08 - .4byte sub_812CB80 - -gUnknown_085A7544:: @ 85A7544 - .4byte sub_812CDA4 - .4byte sub_812CDD8 - .4byte sub_812CDF4 - -gUnknown_085A7550:: @ 85A7550 - .2byte 5, 10, 15, 0 - -gUnknown_085A7558:: @ 85A7558 - .4byte nullsub_50 - .4byte sub_812D264 - .4byte sub_812D28C - .4byte sub_812D30C - -gUnknown_085A7568:: @ 85A7568 - .2byte 0x9E - -gUnknown_085A756A:: @ 85A756A - .2byte 0x6E, 0x9F, 0x6F, 0xAF, 0x7F - -gUnknown_085A7574:: @ 85A7574 - .4byte sub_812D51C - .4byte sub_812D594 - .4byte sub_812D60C - .4byte sub_812D63C - .4byte sub_812D6EC - .4byte sub_812D740 - .4byte sub_812D774 - .4byte sub_812D7E4 - .4byte sub_812D870 - .4byte sub_812D920 - .4byte sub_812D950 - .4byte sub_812D9A4 - .4byte sub_812DA20 - .4byte sub_812DA6C - .4byte sub_812DA90 - .4byte sub_812DB04 - .4byte sub_812DB8C - .4byte sub_812D950 - .4byte sub_812DBBC - -gUnknown_085A75C0:: @ 85A75C0 - .byte 1, 1, 2, 2 - -gUnknown_085A75C4:: @ 85A75C4 - .2byte 0x40, 0x30, 0x18, 8 - -gUnknown_085A75CC:: @ 85A75CC - .2byte 10, 8, 6, 4 - -gUnknown_085A75D4:: @ 85A75D4 - .4byte sub_812DD04 - .4byte sub_812DD28 - .4byte sub_812DD48 - .4byte sub_812DD28 - .4byte sub_812DD78 - .4byte sub_812DD28 - .4byte sub_812DDC4 - .4byte sub_812DD28 - .4byte sub_812DE14 - .4byte sub_812DD28 - .4byte sub_812DE30 - .4byte sub_812DD28 - .4byte sub_812DE48 - .4byte sub_812DD28 - .4byte sub_812DE7C - -gUnknown_085A7610:: @ 85A7610 - .4byte nullsub_51 - gUnknown_085A7614:: @ 85A7614 .2byte 16 @@ -195,12 +28,12 @@ gUnknown_085A764E:: @ 85A764E gUnknown_085A765E:: @ 85A765E .2byte 0xA0, 0xC0, 0xE0, 0x68, 0x50, 0x40, 0x30, 0x18 -gUnknown_085A766E:: @ 85A766E +sReelSymbols:: @ 85A766E .byte 0, 4, 2, 6, 5, 3, 1, 3, 4, 5, 6, 2, 0, 5, 3, 6, 2, 1, 5, 3, 6 .byte 0, 4, 6, 3, 2, 4, 6, 5, 5, 3, 1, 3, 6, 4, 2, 3, 6, 4, 3, 6, 4 .byte 0, 5, 1, 6, 3, 2, 6, 3, 5, 2, 6, 3, 2, 5, 6, 3, 2, 5, 6, 3, 4 -gUnknown_085A76AD:: @ 85A76AD +gUnknown_083ECCF1:: @ 85A76AD .byte 1, 0, 5, 4, 3, 2, 0 gUnknown_083ECCF8:: @ 85A76B4 @@ -505,7 +338,7 @@ gUnknown_085A79DC:: @ 85A79DC .byte 0 .2byte 0 -gUnknown_085A7A04:: @ 85A7A04 +gUnknown_083ED048:: @ 85A7A04 .4byte gUnknown_085A7954 .4byte gUnknown_085A7964 .4byte gUnknown_085A7980 @@ -514,7 +347,7 @@ gUnknown_085A7A04:: @ 85A7A04 .4byte gUnknown_085A79DC .4byte gUnknown_085A79B4 -gUnknown_085A7A20:: @ 85A7A20 +gUnknown_083ED064:: @ 85A7A20 .4byte sub_812F7C0 .4byte sub_812F784 .4byte sub_812F794 @@ -820,16 +653,16 @@ gUnknown_085A7C8C:: @ 85A7C8C gUnknown_085A7CDC:: @ 85A7CDC .4byte gUnknown_085A7C8C -gUnknown_085A7CE0:: @ 85A7CE0 - spr_template 0, 0, gUnknown_085A7A5C, gUnknown_085A7BF8, NULL, gDummySpriteAffineAnimTable, sub_812E154 +gSpriteTemplate_83ED414:: @ 85A7CE0 + spr_template 0, 0, gUnknown_085A7A5C, gUnknown_085A7BF8, NULL, gDummySpriteAffineAnimTable, sub_8104F18 -gUnknown_085A7CF8:: @ 85A7CF8 - spr_template 7, 4, gUnknown_085A7A44, gUnknown_085A7BF8, NULL, gDummySpriteAffineAnimTable, sub_812E2A8 +gSpriteTemplate_83ED42C:: @ 85A7CF8 + spr_template 7, 4, gUnknown_085A7A44, gUnknown_085A7BF8, NULL, gDummySpriteAffineAnimTable, sub_810506C -gUnknown_085A7D10:: @ 85A7D10 +gSpriteTemplate_83ED444:: @ 85A7D10 spr_template 17, 0, gUnknown_085A7A74, gUnknown_085A7BF8, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy -gUnknown_085A7D28:: @ 85A7D28 +gSpriteTemplate_83ED45C:: @ 85A7D28 spr_template 0xFFFF, 1, gUnknown_085A7A74, gUnknown_085A7C00, NULL, gDummySpriteAffineAnimTable, sub_812E424 gUnknown_085A7D40:: @ 85A7D40 @@ -842,7 +675,7 @@ gUnknown_085A7D70:: @ 85A7D70 spr_template 0xFFFF, 3, gUnknown_085A7A44, gUnknown_085A7BF8, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy gUnknown_085A7D88:: @ 85A7D88 - spr_template 0xFFFF, 4, gUnknown_085A7A4C, gUnknown_085A7C18, gUnknown_085A7A7C, gDummySpriteAffineAnimTable, sub_812E6C4 + spr_template 0xFFFF, 4, gUnknown_085A7A4C, gUnknown_085A7C18, gUnknown_085A7A7C, gDummySpriteAffineAnimTable, sub_810535C gUnknown_085A7DA0:: @ 85A7DA0 spr_template 0xFFFF, 4, gUnknown_085A7A4C, gUnknown_085A7BF8, gUnknown_085A7AAC, gDummySpriteAffineAnimTable, SpriteCallbackDummy @@ -916,7 +749,7 @@ gUnknown_085A7FB0:: @ 85A7FB0 subsprite -64, 0, 3, 0, 64x64 subsprite 0, 0, 3, 0, 64x64 -gUnknown_085A7FC0:: @ 85A7FC0 +gSubspriteTables_83ED704:: @ 85A7FC0 .4byte 4, gUnknown_085A7FB0 gUnknown_085A7FC8:: @ 85A7FC8 @@ -1272,29 +1105,29 @@ gUnknown_085A8402:: @ 85A8402 gUnknown_085A8404:: @ 85A8404 .byte 0xBF, 0x4A, 0, 0 -gUnknown_085A8408:: @ 85A8408 +gUnknown_083EDD08:: @ 85A8408 .4byte gUnknown_085A83FC .4byte gUnknown_085A83FE .4byte gUnknown_085A8400 .4byte gUnknown_085A8402 .4byte gUnknown_085A8404 -gUnknown_085A841C:: @ 85A841C +gUnknown_083EDD1C:: @ 85A841C .4byte gSlotMachineMenu_Pal + 0x94 .4byte gSlotMachineMenu_Pal + 0x96 .4byte gSlotMachineMenu_Pal + 0x98 .4byte gSlotMachineMenu_Pal + 0x9A .4byte gSlotMachineMenu_Pal + 0x9C -gUnknown_085A8430:: @ 85A8430 +gUnknown_083EDD30:: @ 85A8430 .byte 0x4A, 0x4B, 0x4C, 0x4E, 0x4D -gUnknown_085A8435:: @ 85A8435 +gUnknown_083EDD35:: @ 85A8435 .byte 0, 0 .byte 1, 2 .byte 3, 4 -gUnknown_085A843B:: @ 85A843B +gUnknown_083EDD3B:: @ 85A843B .byte 1, 2, 2 gUnknown_085A843E:: @ 85A843E @@ -1307,12 +1140,12 @@ gUnknown_085A847E:: @ 85A847E .incbin "graphics/slot_machine/85A847E.gbapal" .align 2 -gUnknown_085A84A0:: @ 85A84A0 +gUnknown_083EDDA0:: @ 85A84A0 .4byte gUnknown_085A843E .4byte gUnknown_085A845E .4byte gUnknown_085A847E -gUnknown_085A84AC:: @ 85A84AC +gUnknown_083EDDAC:: @ 85A84AC .4byte gSlotMachineMenu_Pal + 0x20 gUnknown_085A84B0:: @ 85A84B0 @@ -1351,7 +1184,7 @@ gUnknown_085A8544:: @ 85A8544 gUnknown_085A858C:: @ 85A858C .incbin "graphics/slot_machine/reel_time_gfx.4bpp.lz" -gUnknown_085A96E0:: @ 85A96E0 +sReelTimeWindowTilemap:: @ 85A96E0 @if anyone knows what this tilemap is please do share .incbin "graphics/slot_machine/85A96E0.bin" diff --git a/include/field_effect.h b/include/field_effect.h index cdabd5c992..e05ded6214 100644 --- a/include/field_effect.h +++ b/include/field_effect.h @@ -236,4 +236,6 @@ void sub_80B9CDC(s16*, u8); void sub_80B7CAC(struct Sprite*); void sub_80B7A58(struct Sprite*); +void MultiplyPaletteRGBComponents(u16 i, u8 r, u8 g, u8 b); + #endif //GUARD_FIELD_EFFECTS_H diff --git a/include/sprite.h b/include/sprite.h index 26263737b1..8fc45d5018 100644 --- a/include/sprite.h +++ b/include/sprite.h @@ -160,6 +160,8 @@ struct SubspriteTable struct Sprite; +typedef void (*SpriteCallback)(struct Sprite *); + struct SpriteTemplate { u16 tileTag; @@ -168,7 +170,7 @@ struct SpriteTemplate const union AnimCmd *const *anims; const struct SpriteFrameImage *images; const union AffineAnimCmd *const *affineAnims; - void (*callback)(struct Sprite *); + SpriteCallback callback; }; struct Sprite @@ -179,7 +181,7 @@ struct Sprite /*0x10*/ const union AffineAnimCmd *const *affineAnims; /*0x14*/ const struct SpriteTemplate *template; /*0x18*/ const struct SubspriteTable *subspriteTables; - /*0x1C*/ void (*callback)(struct Sprite *); + /*0x1C*/ SpriteCallback callback; /*0x20*/ struct Coords16 pos1; /*0x24*/ struct Coords16 pos2; diff --git a/src/slot_machine.c b/src/slot_machine.c index 5edd31e998..4ee4a2fe4f 100644 --- a/src/slot_machine.c +++ b/src/slot_machine.c @@ -22,6 +22,44 @@ #include "text_window.h" #include "constants/rgb.h" #include "main_menu.h" +#include "bg.h" +#include "window.h" + +extern u8 gOamLimit; +extern u16 *gUnknown_0203AAC8; +extern u16 *gUnknown_0203AACC; +extern u16 *gUnknown_0203AAD0; +extern u16 *gUnknown_0203AADC; +extern void *gUnknown_0203AAF4; +extern void *gUnknown_0203AAF8; +extern void *gUnknown_0203AAFC; +extern void *gUnknown_0203AB00; +extern void *gUnknown_0203AB04; +extern void *gUnknown_0203AB08; +extern void *gUnknown_0203AB0C; +extern void *gUnknown_0203AB10; +extern void *gUnknown_0203AB14; +extern void *gUnknown_0203AB18; +extern void *gUnknown_0203AB1C; +extern void *gUnknown_0203AB20; +extern void *gUnknown_0203AB24; +extern void *gUnknown_0203AB28; +extern void *gUnknown_0203AAE4; +extern void *gUnknown_0203AAE8; +extern void *gUnknown_0203AAEC; +extern void *gUnknown_0203AAF0; +extern void *gUnknown_0203AAD4; +extern void *gUnknown_0203AAD8; +extern void *gUnknown_0203AAE0; +extern void *gUnknown_0203AB2C; +extern void *gUnknown_0203AB30; + +// Text +extern const u8 gText_YouDontHaveThreeCoins[]; +extern const u8 gText_QuitTheGame[]; +extern const u8 gText_YouveGot9999Coins[]; +extern const u8 gText_YouveRunOutOfCoins[]; +extern const u8 gText_ReelTimeHelp[]; enum { @@ -220,7 +258,7 @@ bool8 sub_81020C8(struct Task *task); /*static*/void sub_8103EE4(struct Sprite *sprite); /*static*/void sub_8103F70(void); /*static*/bool8 sub_8103FA0(void); -/*static*/void sub_8103FE8(u8 taskId); +/*static*/void sub_8103FE8_(u8 taskId); /*static*/void sub_8104048(void); /*static*/void sub_8104064(u8 pikaPower); /*static*/bool8 sub_81040C8(void); @@ -229,7 +267,7 @@ bool8 sub_81020C8(struct Task *task); /*static*/void sub_810411C(struct Task *task); /*static*/void sub_8104144(struct Task *task); /*static*/void sub_81041AC(struct Task *task); -/*static*/void sub_810421C(struct Task *task); +/*static*/void sub_812D394(struct Task *task); /*static*/void sub_810423C(u8 pikaPower); /*static*/void sub_810430C(void); /*static*/bool8 sub_810432C(void); @@ -261,13 +299,16 @@ bool8 sub_81020C8(struct Task *task); /*static*/void sub_8104B60(struct Task *task); /*static*/void sub_8104B80(struct Task *task); /*static*/void sub_8104BC8(struct Task *task); +/*static*/void sub_812DD78(struct Task *task); /*static*/void sub_8104BFC(struct Task *task); +/*static*/void sub_812DE14(struct Task *task); +/*static*/void sub_812DE30(struct Task *task); /*static*/void sub_8104C44(struct Task *task); /*static*/void sub_8104C5C(void); /*static*/void sub_8104CAC(u8 arg0); /*static*/bool8 sub_8104E18(void); /*static*/void nullsub_69(struct Task *task); -/*static*/void sub_8104E74(u8 taskId); +/*static*/void sub_8104E74_(u8 taskId); /*static*/void sub_8104EA8(void); /*static*/void sub_8104F8C(void); /*static*/void sub_8104FF4(s16 x, s16 y, u8 a2, s16 a3); @@ -275,7 +316,7 @@ bool8 sub_81020C8(struct Task *task); /*static*/void sub_8105100(void); /*static*/void sub_810514C(void); /*static*/void sub_81051C0(void); -/*static*/void sub_8105284(void); +/*static*/void sub_8105284_(void); /*static*/void sub_81052EC(void); /*static*/void sub_81053A0(void); /*static*/void sub_810545C(void); @@ -304,12 +345,291 @@ bool8 sub_81020C8(struct Task *task); /*static*/void sub_81064B8(void); /*static*/void sub_81065A8(s16 arg0, u16 arg1, u16 arg2, u16 arg3, u16 arg4); /*static*/void sub_81065DC(void); +/*static*/void sub_812F908(void); +/*static*/void sub_812F958(void); +/*static*/void sub_812F7E4(void); +/*static*/void sub_812F968(void); +void LoadSlotMachineWheelOverlay(void); +u8 sub_8105BB4(u8 templateIdx, u8 cbAndCoordsIdx, s16 a2); + +// Const rom data. /*static*/extern const struct UnkStruct1 *const gUnknown_083ED048[]; /*static*/extern const u16 gPalette_83EDE24[]; /*static*/extern const u8 gUnknown_083ECD04[][3]; /*static*/extern const u8 gUnknown_083ECE3A[]; /*static*/extern const u16 gUnknown_083ECE42[]; /*static*/extern const u16 gUnknown_083ECE48[]; +extern const u16 gUnknown_083ECE12[]; +extern const u16 gUnknown_083ECE1C[][2]; +extern const u16 gUnknown_083ECE30[]; +extern const u16 sSlotMatchFlags[]; +extern const u16 sSlotPayouts[]; +extern const s16 gUnknown_083ECCF8[][2]; +extern const struct BgTemplate gUnknown_085A7424[4]; +extern const struct WindowTemplate gUnknown_085A7434[]; +extern const u8 gUnknown_083ECD16[][6]; +extern const u8 gUnknown_083ECD28[][6]; +extern const u8 gUnknown_083ECD46[][17]; +extern const u8 gUnknown_083ECDAC[][17]; +extern const u8 sSym2Match[]; +extern const u8 gUnknown_083ECCF1[]; +extern const u8 sReelSymbols[][21]; +extern const u16 *const gUnknown_083EDD08[]; +extern const u16 *const gUnknown_083EDD1C[]; +extern const u8 gUnknown_083EDD30[]; +extern const u8 gUnknown_083EDD35[][2]; +extern const u8 gUnknown_083EDD3B[]; +extern const u16 *const gUnknown_083EDDA0[]; +extern const u16 *const gUnknown_083EDDAC; +extern const u16 sReelTimeWindowTilemap[]; +extern const u16 gUnknown_085A9898[]; +extern void (*const gUnknown_083ED064[])(void); + +const struct BgTemplate gUnknown_085A7424[] = +{ + { + .bg = 0, + .charBaseIndex = 2, + .mapBaseIndex = 31, + .screenSize = 0, + .paletteMode = 0, + .priority = 0, + .baseTile = 0 + }, + { + .bg = 1, + .charBaseIndex = 1, + .mapBaseIndex = 28, + .screenSize = 0, + .paletteMode = 0, + .priority = 1, + .baseTile = 0 + }, + { + .bg = 2, + .charBaseIndex = 1, + .mapBaseIndex = 29, + .screenSize = 0, + .paletteMode = 0, + .priority = 2, + .baseTile = 0 + }, + { + .bg = 3, + .charBaseIndex = 1, + .mapBaseIndex = 30, + .screenSize = 0, + .paletteMode = 0, + .priority = 1, + .baseTile = 0 + }, +}; + +const struct WindowTemplate gUnknown_085A7434[] = +{ + {0, 2, 15, 0x1B, 4, 15, 0x194}, + DUMMY_WIN_TEMPLATE +}; + +const struct WindowTemplate gUnknown_085A7444 = +{ + 0, 1, 3, 20, 13, 13, 1 +}; + +const u8 gUnknown_085A744C[] = {3, 1, 2, 0}; + +bool8 (*const gUnknown_083ECAAC[])(struct Task *task) = +{ + sub_8101D5C, + sub_8101D8C, + sub_8101DB0, + sub_8101DF4, + sub_8101E10, + sub_8101E3C, + sub_8101F44, + sub_8101F60, + sub_8101F88, + sub_8101FA4, + sub_8102008, + sub_8102034, + sub_8102058, + sub_8102090, + sub_81020C8, + sub_81021E0, + sub_81021FC, + sub_8102264, + sub_81022A0, + sub_81022CC, + sub_81022F0, + sub_8102318, + sub_8102344, + sub_810239C, + sub_81023B8, + sub_81023E0_, + sub_81023FC, + sub_8102424, + sub_8102460, +}; + +bool8 (*const gUnknown_083ECB20[])(struct Task *task) = +{ + sub_8102A9C, + sub_8102AD0, + sub_8102B80 +}; + +bool8 (*const gUnknown_083ECB2C[])(struct Task *task) = +{ + sub_8102EA0, + sub_8102EA4, + sub_8102EC0, + sub_8102F4C, + sub_8103008 +}; + +bool8 (*const gUnknown_083ECB40[])(void) = +{ + sub_810305C, + sub_81032C0, + sub_81033DC +}; + +void (*const gUnknown_083ECB4C[])(void) = +{ + sub_81034F4, + sub_8103540, + sub_810380C +}; + +const u16 gUnknown_085A74FC[] = {2, 4, 4, 4, 8}; + +bool8 (*const gUnknown_083ECB64[])(u8 a0, u8 a1) = +{ + sub_8103154, + sub_81031B4, + sub_81031B4 +}; + +bool8 (*const gUnknown_083ECB70[])(void) = +{ + sub_81032E8, + sub_81032E8, + sub_810333C +}; + +bool8 (*const gUnknown_083ECB7C[])(u8 a0) = +{ + sub_810341C, + sub_810341C, + sub_810347C +}; + +void (*const gUnknown_083ECB88[])(void) = +{ + sub_8103564, + j5_08111E84, + sub_8103668 +}; + +void (*const gUnknown_083ECB94[])(void) = +{ + sub_8103830, + sub_8103910, + sub_8103A78 +}; + +void (*const gUnknown_083ECBA0[])(struct Task *task, u8 taskId) = +{ + sub_8103C78, + sub_8103CAC, + sub_8103CC8 +}; + +const s16 gUnknown_083ECBAC[] = {5, 10, 15}; + +void (*const gUnknown_083ECBB4[])(struct Task *task) = +{ + nullsub_68, + sub_810411C, + sub_8104144, + sub_81041AC +}; + +const u16 gUnknown_083ECBC4[][2] = +{ + {0x9e, 0x6e}, + {0x9f, 0x6f}, + {0xaf, 0x7f}, +}; + +void (*const gUnknown_083ECBD0[])(struct Task *task) = +{ + sub_810437C, + sub_81043EC, + sub_8104468, + sub_8104498, + sub_8104548, + sub_8104598, + sub_81045CC, + sub_810463C, + sub_81046C0, + sub_8104764, + sub_8104794, + sub_81047EC, + sub_8104860, + sub_81048A8, + sub_81048CC, + sub_8104940, + sub_81049C8, + sub_8104794, + sub_81049F8 +}; + +const u8 gUnknown_085A75C0[] = {1, 1, 2, 2}; +const s16 gUnknown_085A75C4[] = {0x40, 0x30, 0x18, 0x08}; +const s16 gUnknown_085A75CC[] = {10, 8, 6, 4}; + +void (*const gUnknown_083ECC30[])(struct Task *task) = +{ + sub_8104B3C, + sub_8104B60, + sub_8104B80, + sub_8104B60, + sub_812DD78, + sub_8104B60, + sub_8104BC8, + sub_8104B60, + sub_812DE14, + sub_8104B60, + sub_812DE30, + sub_8104B60, + sub_8104BFC, + sub_8104B60, + sub_8104C44, +}; + +void (*const gUnknown_083ECC54[])(struct Task *task) = +{ + nullsub_69, +}; + +extern const struct SpriteTemplate gSpriteTemplate_83ED504; +extern const struct SpriteTemplate gSpriteTemplate_83ED4EC; +extern const struct SubspriteTable gSubspriteTables_83ED7D4[]; +extern const struct SpriteTemplate gSpriteTemplate_83ED4D4; +extern const struct SubspriteTable gSubspriteTables_83ED7B4[]; +extern const struct SpriteTemplate gSpriteTemplate_83ED4BC; +extern const struct SpriteTemplate gSpriteTemplate_83ED4A4; +extern const struct SubspriteTable gSubspriteTables_83ED78C[]; +extern const struct SpriteTemplate gSpriteTemplate_83ED474; +extern const struct SpriteTemplate gSpriteTemplate_83ED48C; +extern const struct SubspriteTable gSubspriteTables_83ED73C[]; +extern const struct SubspriteTable gSubspriteTables_83ED75C[]; +extern const struct SpriteTemplate gSpriteTemplate_83ED444; +extern const struct SubspriteTable gSubspriteTables_83ED704[]; +extern const struct SpriteTemplate gSpriteTemplate_83ED42C; +extern const struct SpriteTemplate gSpriteTemplate_83ED414; +extern const struct SpriteTemplate gSpriteTemplate_83ED45C; // code #define tState data[0] @@ -442,9 +762,6 @@ void SlotMachineDummyTask(u8 taskId) { } -extern const struct BgTemplate gUnknown_085A7424[4]; -extern const struct WindowTemplate gUnknown_085A7434[]; - void SlotMachineSetup_0_0(void) { SetVBlankCallback(NULL); @@ -493,8 +810,6 @@ void SlotMachineSetup_2_1(void) SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(9, 8)); } -extern const s16 gUnknown_083ECCF8[][2]; - void SlotMachineSetup_0_1(void) { u8 i; @@ -528,8 +843,6 @@ void SlotMachineSetup_0_1(void) sub_80EDE70(GetCoins()); } -extern u8 gOamLimit; - void SlotMachineSetup_3_0(void) { ResetPaletteFade(); @@ -539,34 +852,6 @@ void SlotMachineSetup_3_0(void) ResetTasks(); } -extern u16 *gUnknown_0203AAC8; -extern u16 *gUnknown_0203AACC; -extern u16 *gUnknown_0203AAD0; -extern u16 *gUnknown_0203AADC; -extern void *gUnknown_0203AAF4; -extern void *gUnknown_0203AAF8; -extern void *gUnknown_0203AAFC; -extern void *gUnknown_0203AB00; -extern void *gUnknown_0203AB04; -extern void *gUnknown_0203AB08; -extern void *gUnknown_0203AB0C; -extern void *gUnknown_0203AB10; -extern void *gUnknown_0203AB14; -extern void *gUnknown_0203AB18; -extern void *gUnknown_0203AB1C; -extern void *gUnknown_0203AB20; -extern void *gUnknown_0203AB24; -extern void *gUnknown_0203AB28; -extern void *gUnknown_0203AAE4; -extern void *gUnknown_0203AAE8; -extern void *gUnknown_0203AAEC; -extern void *gUnknown_0203AAF0; -extern void *gUnknown_0203AAD4; -extern void *gUnknown_0203AAD8; -extern void *gUnknown_0203AAE0; -extern void *gUnknown_0203AB2C; -extern void *gUnknown_0203AB30; - void SlotMachineSetup_4_0(void) { gUnknown_0203AACC = Alloc(8); @@ -582,10 +867,6 @@ void SlotMachineSetup_4_0(void) gUnknown_0203AAD0[6] = 0x20BF; } -/*static*/void sub_812F908(void); -/*static*/void sub_812F958(void); -/*static*/void sub_812F7E4(void); - void SlotMachineSetup_5_0(void) { sub_812F908(); @@ -617,8 +898,6 @@ void sub_8101D04(void) sub_8101D24(CreateTask(sub_8101D24, 0)); } -extern bool8 (*const gUnknown_083ECAAC[])(struct Task *task); - void sub_8101D24(u8 taskId) { while (gUnknown_083ECAAC[sSlotMachine->state](gTasks + taskId)) @@ -717,11 +996,6 @@ bool8 sub_8101E3C(struct Task *task) return FALSE; } -extern const u8 gText_YouDontHaveThreeCoins[]; -extern const u8 gText_QuitTheGame[]; -extern const u8 gText_YouveGot9999Coins[]; -extern const u8 gText_YouveRunOutOfCoins[]; - bool8 sub_8101F44(struct Task *task) { NewMenuHelpers_DrawDialogueFrame(0, 0); @@ -1139,11 +1413,6 @@ bool8 sub_8102540_(void) return FALSE; } -extern const u8 gUnknown_083ECD16[][6]; -extern const u8 gUnknown_083ECD28[][6]; -extern const u8 gUnknown_083ECD46[][17]; -extern const u8 gUnknown_083ECDAC[][17]; - u8 sub_8102578(void) { s16 i; @@ -1210,12 +1479,6 @@ void sub_8102680(void) sSlotMachine->unk05 = i; } -extern const u16 gUnknown_083ECE12[]; -extern const u16 gUnknown_083ECE1C[][2]; -extern const u16 gUnknown_083ECE30[]; -extern const u16 sSlotMatchFlags[]; -extern const u16 sSlotPayouts[]; - bool8 sub_81026DC(u16 a0) { u16 rval = Random() & 0xff; @@ -1337,8 +1600,6 @@ void CheckMatch_Diagonals(void) } } -extern const u8 sSym2Match[]; - u8 GetMatchFromSymbolsInRow(u8 c1, u8 c2, u8 c3) { if (c1 == c2 && c1 == c3) @@ -1364,3 +1625,1605 @@ bool8 sub_8102A44(void) else return FALSE; } + +void sub_8102A64(u8 taskId) +{ + while (gUnknown_083ECB20[gTasks[taskId].data[0]](gTasks + taskId)) + ; +} + +bool8 sub_8102A9C(struct Task *task) +{ + if (sub_8103E38()) + { + task->data[0]++; + if (sSlotMachine->payout == 0) + { + task->data[0] = 2; + return TRUE; + } + } + return FALSE; +} + +bool8 sub_8102AD0(struct Task *task) +{ + if (!task->data[1]--) + { + if (IsFanfareTaskInactive()) + PlaySE(SE_PIN); + sSlotMachine->payout--; + if (sSlotMachine->coins < 9999) + sSlotMachine->coins++; + task->data[1] = 8; + if (gMain.heldKeys & A_BUTTON) + task->data[1] = 4; + } + if (IsFanfareTaskInactive() && gMain.newKeys & START_BUTTON) + { + PlaySE(SE_PIN); + sSlotMachine->coins += sSlotMachine->payout; + if (sSlotMachine->coins > 9999) + sSlotMachine->coins = 9999; + sSlotMachine->payout = 0; + } + if (sSlotMachine->payout == 0) + task->data[0]++; + return FALSE; +} + +bool8 sub_8102B80(struct Task *task) +{ + if (sub_8103E7C()) + DestroyTask(FindTaskIdByFunc(sub_8102A64)); + return FALSE; +} + +u8 GetTagOfReelSymbolOnScreenAtPos(u8 x, s16 y) +{ + s16 offset = (sSlotMachine->reelPositions[x] + y) % 21; + if (offset < 0) + offset += 21; + return sReelSymbols[x][offset]; +} + +u8 GetTagOfReelSymbolOnScreenAtPos_AdjustForPixelOffset(u8 x, s16 y) +{ + s16 r6 = 0; + s16 result = sSlotMachine->unk1C[x] % 24; + if (result != 0) + r6 = -1; + return GetTagOfReelSymbolOnScreenAtPos(x, y + r6); +} + +u8 sub_8102C48(s16 a0) +{ + s16 r1 = (sSlotMachine->unk16 + a0) % 6; + if (r1 < 0) + r1 += 6; + return gUnknown_083ECCF1[r1]; +} + +void sub_8102C84(u8 a0, s16 a1) +{ + sSlotMachine->unk1C[a0] += a1; + sSlotMachine->unk1C[a0] %= 504; + sSlotMachine->reelPositions[a0] = 21 - sSlotMachine->unk1C[a0] / 24; +} + +s16 sub_8102CCC(u8 a0, s16 a1) +{ + s16 r1 = sSlotMachine->unk1C[a0] % 24; + if (r1 != 0) + { + if (r1 < a1) + a1 = r1; + sub_8102C84(a0, a1); + r1 = sSlotMachine->unk1C[a0] % 24; + } + return r1; +} + +void sub_8102D28(s16 a0) +{ + sSlotMachine->unk14 += a0; + sSlotMachine->unk14 %= 120; + sSlotMachine->unk16 = 6 - sSlotMachine->unk14 / 20; +} + +s16 sub_8102D5C(s16 a0) +{ + s16 r1 = sSlotMachine->unk14 % 20; + if (r1 != 0) + { + if (r1 < a0) + a0 = r1; + sub_8102D28(a0); + r1 = sSlotMachine->unk14 % 20; + } + return r1; +} + +void sub_8102DA8(void) +{ + u8 i; + for (i = 0; i < 3; i++) + { + u8 taskId = CreateTask(sub_8102E68, 2); + gTasks[taskId].data[15] = i; + sSlotMachine->reelTasks[i] = taskId; + sub_8102E68(taskId); + } +} + +void sub_8102DEC(u8 a0) +{ + gTasks[sSlotMachine->reelTasks[a0]].data[0] = 1; + gTasks[sSlotMachine->reelTasks[a0]].data[14] = 1; +} + +void sub_8102E1C(u8 a0) +{ + gTasks[sSlotMachine->reelTasks[a0]].data[0] = 2; +} + +bool8 sub_8102E40(u8 a0) +{ + return gTasks[sSlotMachine->reelTasks[a0]].data[14]; +} + +void sub_8102E68(u8 taskId) +{ + while (gUnknown_083ECB2C[gTasks[taskId].data[0]](gTasks + taskId)) + ; +} + +bool8 sub_8102EA0(struct Task *task) +{ + return FALSE; +} + +bool8 sub_8102EA4(struct Task *task) +{ + sub_8102C84(task->data[15], sSlotMachine->unk1A); + return FALSE; +} + + +bool8 sub_8102EC0(struct Task *task) +{ + task->data[0]++; + sSlotMachine->unk34[task->data[15]] = 0; + sSlotMachine->unk2E[task->data[15]] = 0; + if (sSlotMachine->unk0A == 0 && (sSlotMachine->unk04 == 0 || sSlotMachine->unk06 == 0 || !gUnknown_083ECB40[task->data[15]]())) + { + sSlotMachine->unk06 = 0; + gUnknown_083ECB4C[task->data[15]](); + } + task->data[1] = sSlotMachine->unk2E[task->data[15]]; + return TRUE; +} + +bool8 sub_8102F4C(struct Task *task) +{ + u16 sp[ARRAY_COUNT(gUnknown_085A74FC)]; + s16 r2; + + memcpy(sp, gUnknown_085A74FC, sizeof(gUnknown_085A74FC)); + r2 = sSlotMachine->unk1C[task->data[15]] % 24; + if (r2 != 0) + r2 = sub_8102CCC(task->data[15], sSlotMachine->unk1A); + else if (sSlotMachine->unk2E[task->data[15]]) + { + sSlotMachine->unk2E[task->data[15]]--; + sub_8102C84(task->data[15], sSlotMachine->unk1A); + r2 = sSlotMachine->unk1C[task->data[15]] % 24; + } + if (r2 == 0 && sSlotMachine->unk2E[task->data[15]] == 0) + { + task->data[0]++; + task->data[1] = sp[task->data[1]]; + task->data[2] = 0; + } + return FALSE; +} + +bool8 sub_8103008(struct Task *task) +{ + sSlotMachine->unk22[task->data[15]] = task->data[1]; + task->data[1] = -task->data[1]; + task->data[2]++; + if ((task->data[2] & 0x3) == 0) + task->data[1] >>= 1; + if (task->data[1] == 0) + { + task->data[0] = 0; + task->data[14] = 0; + sSlotMachine->unk22[task->data[15]] = 0; + } + return FALSE; +} + +bool8 sub_810305C(void) +{ + u8 r3 = sub_810250C(sSlotMachine->unk04); + u8 r5 = r3; + if (sSlotMachine->unk04 & 0xc0) + { + r5 = 0; + r3 = 1; + } + return gUnknown_083ECB64[sSlotMachine->bet - 1](r5, r3); +} + +bool8 sub_81030A4(s16 y, u8 tag1, u8 tag2) +{ + u8 tag = GetTagOfReelSymbolOnScreenAtPos_AdjustForPixelOffset(0, y); + if (tag == tag1 || tag == tag2) + { + sSlotMachine->unk07 = tag; + return TRUE; + } + return FALSE; +} + +bool8 sub_81030E0(s16 y) +{ + if (GetTagOfReelSymbolOnScreenAtPos_AdjustForPixelOffset(0, 1 - y) == 4 || GetTagOfReelSymbolOnScreenAtPos_AdjustForPixelOffset(0, 2 - y) == 4 || GetTagOfReelSymbolOnScreenAtPos_AdjustForPixelOffset(0, 3 - y) == 4) + return TRUE; + else + return FALSE; +} + +bool8 sub_8103134(void) +{ + if (sSlotMachine->unk04 & 0xc2) + return TRUE; + else + return FALSE; +} + +bool8 sub_8103154(u8 a0, u8 a1) +{ + s16 i; + + for (i = 0; i < 5; i++) + { + if (sub_81030A4(2 - i, a0, a1)) + { + sSlotMachine->unk34[0] = 2; + sSlotMachine->unk2E[0] = i; + return TRUE; + } + } + return FALSE; +} + +bool8 sub_81031B4(u8 tag1, u8 tag2) +{ + s16 i; + bool8 r6 = sub_8103134(); + if (r6 || !sub_81030E0(0)) + { + for (i = 1; i < 4; i++) + { + if (sub_81030A4(i, tag1, tag2)) + { + sSlotMachine->unk34[0] = i; + sSlotMachine->unk2E[0] = 0; + return TRUE; + } + } + } + for (i = 1; i < 5; i++) + { + bool8 r7 = r6; + if (r7 || !sub_81030E0(i)) + { + if (sub_81030A4(1 - i, tag1, tag2)) + { + if (i == 1 && (r7 || !sub_81030E0(3))) + { + sSlotMachine->unk34[0] = 3; + sSlotMachine->unk2E[0] = 3; + return TRUE; + } + if (i < 4 && (r7 || !sub_81030E0(i + 1))) + { + sSlotMachine->unk34[0] = 2; + sSlotMachine->unk2E[0] = i + 1; + return TRUE; + } + sSlotMachine->unk34[0] = 1; + sSlotMachine->unk2E[0] = i; + return TRUE; + } + } + } + return FALSE; +} + +bool8 sub_81032C0(void) +{ + return gUnknown_083ECB70[sSlotMachine->bet - 1](); +} + +bool8 sub_81032E8(void) +{ + s16 i; + s16 unk34_0 = sSlotMachine->unk34[0]; + + for (i = 0; i < 5; i++) + { + if (GetTagOfReelSymbolOnScreenAtPos_AdjustForPixelOffset(1, unk34_0 - i) == sSlotMachine->unk07) + { + sSlotMachine->unk34[1] = unk34_0; + sSlotMachine->unk2E[1] = i; + return TRUE; + } + } + return FALSE; +} + +bool8 sub_810333C(void) +{ + s16 i; + if (sub_81032E8()) + { + if (sSlotMachine->unk34[0] != 2 && sSlotMachine->unk2E[1] > 1 && sSlotMachine->unk2E[1] != 4) + { + for (i = 0; i < 5; i++) + { + if (GetTagOfReelSymbolOnScreenAtPos_AdjustForPixelOffset(1, 2 - i) == sSlotMachine->unk07) + { + sSlotMachine->unk34[1] = 2; + sSlotMachine->unk2E[1] = i; + break; + } + } + } + return TRUE; + } + if (sSlotMachine->unk34[0] != 2) + { + for (i = 0; i < 5; i++) + { + if (GetTagOfReelSymbolOnScreenAtPos_AdjustForPixelOffset(1, 2 - i) == sSlotMachine->unk07) + { + sSlotMachine->unk34[1] = 2; + sSlotMachine->unk2E[1] = i; + return TRUE; + } + } + } + return FALSE; +} + +bool8 sub_81033DC(void) +{ + u8 r3 = sSlotMachine->unk07; + if (sSlotMachine->unk04 & 0x40) + { + r3 = 0; + if (sSlotMachine->unk07 == 0) + { + r3 = 1; + } + } + return gUnknown_083ECB7C[sSlotMachine->bet - 1](r3); +} + +bool8 sub_810341C(u8 a0) +{ + s16 i; + s16 unk34_1 = sSlotMachine->unk34[1]; + + for (i = 0; i < 5; i++) + { + if (GetTagOfReelSymbolOnScreenAtPos_AdjustForPixelOffset(2, unk34_1 - i) == a0) + { + sSlotMachine->unk34[2] = unk34_1; + sSlotMachine->unk2E[2] = i; + return TRUE; + } + } + return FALSE; +} + +bool8 sub_810347C(u8 a0) +{ + s16 i; + s16 r8; + if (sSlotMachine->unk34[0] == sSlotMachine->unk34[1]) + return sub_810341C(a0); + if (sSlotMachine->unk34[0] == 1) + r8 = 3; + else + r8 = 1; + for (i = 0; i < 5; i++) + { + if (GetTagOfReelSymbolOnScreenAtPos_AdjustForPixelOffset(2, r8 - i) == a0) + { + sSlotMachine->unk2E[2] = i; + sSlotMachine->unk34[2] = r8; + return TRUE; + } + } + return FALSE; +} + +void sub_81034F4(void) +{ + s16 i = 0; + + while (sub_81030E0(i) != 0) + i++; + sSlotMachine->unk2E[0] = i; +} + +bool8 sub_8103520(u8 *a0) +{ + if (*a0 == 0) + { + *a0 = 1; + return TRUE; + } + if (*a0 == 1) + { + *a0 = 0; + return TRUE; + } + return FALSE; +} + +void sub_8103540(void) +{ + gUnknown_083ECB88[sSlotMachine->bet - 1](); +} + +void sub_8103564(void) +{ + if (sSlotMachine->unk34[0] != 0 && sSlotMachine->unk04 & 0x80) + { + u8 sp0 = GetTagOfReelSymbolOnScreenAtPos_AdjustForPixelOffset(0, 2 - sSlotMachine->unk2E[0]); + if (sub_8103520(&sp0)) + { + s16 i; + for (i = 0; i < 5; i++) + { + if (sp0 == GetTagOfReelSymbolOnScreenAtPos_AdjustForPixelOffset(1, 2 - i)) + { + sSlotMachine->unk34[1] = 2; + sSlotMachine->unk2E[1] = i; + break; + } + } + } + } +} + +void j5_08111E84(void) +{ + if (sSlotMachine->unk34[0] != 0 && sSlotMachine->unk04 & 0x80) + { + u8 sp0 = GetTagOfReelSymbolOnScreenAtPos_AdjustForPixelOffset(0, sSlotMachine->unk34[0] - sSlotMachine->unk2E[0]); + if (sub_8103520(&sp0)) + { + s16 i; + for (i = 0; i < 5; i++) + { + if (sp0 == GetTagOfReelSymbolOnScreenAtPos_AdjustForPixelOffset(1, sSlotMachine->unk34[0] - i)) + { + sSlotMachine->unk34[1] = sSlotMachine->unk34[0]; + sSlotMachine->unk2E[1] = i; + break; + } + } + } + } +} + +void sub_8103668(void) +{ + s16 i; + s16 j; + if (sSlotMachine->unk34[0] != 0 && sSlotMachine->unk04 & 0x80) + { + if (sSlotMachine->unk34[0] == 2) + { + j5_08111E84(); + } + else + { + u8 sp0 = GetTagOfReelSymbolOnScreenAtPos_AdjustForPixelOffset(0, sSlotMachine->unk34[0] - sSlotMachine->unk2E[0]); + if (sub_8103520(&sp0)) + { + j = 2; + if (sSlotMachine->unk34[0] == 3) + j = 3; + for (i = 0; i < 2; i++, j--) + { + if (sp0 == GetTagOfReelSymbolOnScreenAtPos_AdjustForPixelOffset(1, j)) + { + sSlotMachine->unk34[1] = j; + sSlotMachine->unk2E[1] = 0; + return; + } + } + for (j = 1; j < 5; j++) + { + if (sp0 == GetTagOfReelSymbolOnScreenAtPos_AdjustForPixelOffset(1, sSlotMachine->unk34[0] - j)) + { + if (sSlotMachine->unk34[0] == 1) + { + if (j < 3) + { + sSlotMachine->unk34[1] = 2; + sSlotMachine->unk2E[1] = j + 1; + } + else + { + sSlotMachine->unk34[1] = 1; + sSlotMachine->unk2E[1] = j; + } + } + else + { + if (j < 3) + { + sSlotMachine->unk34[1] = 3; + sSlotMachine->unk2E[1] = j; + } + else + { + sSlotMachine->unk34[1] = 2; + sSlotMachine->unk2E[1] = j - 1; + } + } + return; + } + } + } + } + } +} + +bool8 sub_8103764(u8 a0, u8 a1) +{ + if ((a0 == 0 && a1 == 1) || (a0 == 1 && a1 == 0)) + return TRUE; + else + return FALSE; +} + +bool8 sub_810378C(u8 a0, u8 a1, u8 a2) +{ + if ((a0 == 0 && a1 == 1 && a2 == 0) || (a0 == 1 && a1 == 0 && a2 == 1)) + return TRUE; + else + return FALSE; +} + +bool8 sub_81037BC(u8 a0, u8 a1, u8 a2) +{ + if ((a0 == 0 && a1 == 1 && a2 == 0) || + (a0 == 1 && a1 == 0 && a2 == 1) || + (a0 == 0 && a1 == 0 && a2 == 1) || + (a0 == 1 && a1 == 1 && a2 == 0) || + (a0 == a1 && a0 == a2)) + { + return FALSE; + } + return TRUE; +} + +void sub_810380C(void) +{ + gUnknown_083ECB94[sSlotMachine->bet - 1](); +} + +void sub_8103830(void) +{ + s16 i = 0; + u8 r5 = GetTagOfReelSymbolOnScreenAtPos_AdjustForPixelOffset(0, 2 - sSlotMachine->unk2E[0]); + u8 r1 = GetTagOfReelSymbolOnScreenAtPos_AdjustForPixelOffset(1, 2 - sSlotMachine->unk2E[1]); + if (r5 == r1) + { + while (1) + { + u8 r0; + if (!(r5 == (r0 = GetTagOfReelSymbolOnScreenAtPos_AdjustForPixelOffset(2, 2 - i)) || (r5 == 0 && r0 == 1) || (r5 == 1 && r0 == 0))) + break; + i++; + } + } + else if (sub_8103764(r5, r1)) + { + if (sSlotMachine->unk04 & 0x80) + { + for (i = 0; i < 5; i++) + { + if (r5 == GetTagOfReelSymbolOnScreenAtPos_AdjustForPixelOffset(2, 2 - i)) + { + sSlotMachine->unk2E[2] = i; + return; + } + } + } + i = 0; + while (1) + { + if (r5 != GetTagOfReelSymbolOnScreenAtPos_AdjustForPixelOffset(2, 2 - i)) + break; + i++; + } + } + sSlotMachine->unk2E[2] = i; +} + +void sub_8103910(void) +{ + s16 sp0 = 0; + s16 i; + u8 r7; + u8 r6; + u8 r4; + + if (sSlotMachine->unk34[1] != 0 && sSlotMachine->unk34[0] == sSlotMachine->unk34[1] && sSlotMachine->unk04 & 0x80) + { + r7 = GetTagOfReelSymbolOnScreenAtPos_AdjustForPixelOffset(0, sSlotMachine->unk34[0] - sSlotMachine->unk2E[0]); + r6 = GetTagOfReelSymbolOnScreenAtPos_AdjustForPixelOffset(1, sSlotMachine->unk34[1] - sSlotMachine->unk2E[1]); + if (sub_8103764(r7, r6)) + { + for (i = 0; i < 5; i++) + { + r4 = GetTagOfReelSymbolOnScreenAtPos_AdjustForPixelOffset(2, sSlotMachine->unk34[1] - i); + if (r7 == r4) + { + sp0 = i; + break; + } + } + } + } + while (1) + { + s16 r8; + for (i = 1, r8 = 0; i < 4; i++) + { + r7 = GetTagOfReelSymbolOnScreenAtPos_AdjustForPixelOffset(0, i - sSlotMachine->unk2E[0]); + r6 = GetTagOfReelSymbolOnScreenAtPos_AdjustForPixelOffset(1, i - sSlotMachine->unk2E[1]); + r4 = GetTagOfReelSymbolOnScreenAtPos_AdjustForPixelOffset(2, i - sp0); + if (!sub_81037BC(r7, r6, r4) && (!sub_810378C(r7, r6, r4) || !(sSlotMachine->unk04 & 0x80))) + { + r8++; + break; + } + } + if (r8 == 0) + break; + sp0++; + } + sSlotMachine->unk2E[2] = sp0; +} + +void sub_8103A78(void) +{ + u8 r6; + u8 r5; + u8 r4; + s16 r8; + s16 i; + + sub_8103910(); + if (sSlotMachine->unk34[1] != 0 && sSlotMachine->unk34[0] != sSlotMachine->unk34[1] && sSlotMachine->unk04 & 0x80) + { + r6 = GetTagOfReelSymbolOnScreenAtPos_AdjustForPixelOffset(0, sSlotMachine->unk34[0] - sSlotMachine->unk2E[0]); + r5 = GetTagOfReelSymbolOnScreenAtPos_AdjustForPixelOffset(1, sSlotMachine->unk34[1] - sSlotMachine->unk2E[1]); + if (sub_8103764(r6, r5)) + { + r8 = 1; + if (sSlotMachine->unk34[0] == 1) + r8 = 3; + for (i = 0; i < 5; i++) + { + r4 = GetTagOfReelSymbolOnScreenAtPos_AdjustForPixelOffset(2, r8 - (sSlotMachine->unk2E[2] + i)); + if (r6 == r4) + { + sSlotMachine->unk2E[2] += i; + break; + } + } + } + } + while (1) + { + r6 = GetTagOfReelSymbolOnScreenAtPos_AdjustForPixelOffset(0, 1 - sSlotMachine->unk2E[0]); + r5 = GetTagOfReelSymbolOnScreenAtPos_AdjustForPixelOffset(1, 2 - sSlotMachine->unk2E[1]); + r4 = GetTagOfReelSymbolOnScreenAtPos_AdjustForPixelOffset(2, 3 - sSlotMachine->unk2E[2]); + if (sub_81037BC(r6, r5, r4) || (sub_810378C(r6, r5, r4) && sSlotMachine->unk04 & 0x80)) + break; + sSlotMachine->unk2E[2]++; + } + while (1) + { + r6 = GetTagOfReelSymbolOnScreenAtPos_AdjustForPixelOffset(0, 3 - sSlotMachine->unk2E[0]); + r5 = GetTagOfReelSymbolOnScreenAtPos_AdjustForPixelOffset(1, 2 - sSlotMachine->unk2E[1]); + r4 = GetTagOfReelSymbolOnScreenAtPos_AdjustForPixelOffset(2, 1 - sSlotMachine->unk2E[2]); + if (sub_81037BC(r6, r5, r4) || (sub_810378C(r6, r5, r4) && sSlotMachine->unk04 & 0x80)) + break; + sSlotMachine->unk2E[2]++; + } +} + +void sub_8103C14(u8 a0) +{ + u8 taskId = CreateTask(sub_8103C48, 5); + gTasks[taskId].data[15] = a0; + sub_8103C48(taskId); +} + +void sub_8103C48(u8 taskId) +{ + gUnknown_083ECBA0[gTasks[taskId].data[0]](gTasks + taskId, taskId); +} + +void sub_8103C78(struct Task *task, u8 taskId) +{ + sub_81065A8(gUnknown_083ECBAC[task->data[15]], 0x62, 0x63, 0x72, 0x73); + task->data[0]++; +} + +void sub_8103CAC(struct Task *task, u8 taskId) +{ + if (++task->data[1] > 11) + task->data[0]++; +} + +void sub_8103CC8(struct Task *task, u8 taskId) +{ + sub_81065A8(gUnknown_083ECBAC[task->data[15]], 0x42, 0x43, 0x52, 0x53); + DestroyTask(taskId); +} + +void sub_8103D00(u8 a0) +{ + LoadPalette(gUnknown_083EDD08[a0], gUnknown_083EDD30[a0], 2); +} + +void sub_8103D28(u8 a0) +{ + LoadPalette(gUnknown_083EDD1C[a0], gUnknown_083EDD30[a0], 2); +} + +void sub_8103D50(u8 a0) +{ + u8 i; + for (i = 0; i < gUnknown_083EDD3B[a0]; i++) + sub_8103D00(gUnknown_083EDD35[a0][i]); +} + +void sub_8103D8C(u8 a0) +{ + u8 i; + for (i = 0; i < gUnknown_083EDD3B[a0]; i++) + sub_8103D28(gUnknown_083EDD35[a0][i]); +} + +void sub_8103DC8(void) +{ + u8 i; + for (i = 0; i < 5; i++) + { + u8 spriteId = CreateInvisibleSprite(sub_8103EE4); + gSprites[spriteId].data[0] = i; + sSlotMachine->unk44[i] = spriteId; + } +} + +void sub_8103E04(u8 a0) +{ + struct Sprite *sprite = gSprites + sSlotMachine->unk44[a0]; + sprite->data[1] = 1; + sprite->data[2] = 4; + sprite->data[3] = 0; + sprite->data[4] = 0; + sprite->data[5] = 2; + sprite->data[7] = 0; +} + +bool8 sub_8103E38(void) +{ + u8 i; + for (i = 0; i < 5; i++) + { + struct Sprite *sprite = &gSprites[sSlotMachine->unk44[i]]; + if (sprite->data[1] && sprite->data[2]) + return FALSE; + } + return TRUE; +} + +bool8 sub_8103E7C(void) +{ + u8 i; + for (i = 0; i < 5; i++) + { + if (!sub_8103EAC(sSlotMachine->unk44[i])) + return FALSE; + } + return TRUE; +} + +bool8 sub_8103EAC(u8 spriteId) +{ + struct Sprite *sprite = gSprites + spriteId; + if (!sprite->data[1]) + return TRUE; + if (sprite->data[7]) + sprite->data[1] = 0; + return sprite->data[7]; +} + +void sub_8103EE4(struct Sprite *sprite) +{ + s16 r4; + if (sprite->data[1]) + { + if (!sprite->data[3]--) + { + sprite->data[7] = 0; + sprite->data[3] = 1; + sprite->data[4] += sprite->data[5]; + r4 = 4; + if (sprite->data[2]) + r4 = 8; + if (sprite->data[4] <= 0) + { + sprite->data[7] = 1; + sprite->data[5] = -sprite->data[5]; + if (sprite->data[2]) + sprite->data[2]--; + } + else if (sprite->data[4] >= r4) + sprite->data[5] = -sprite->data[5]; + if (sprite->data[2]) + sprite->data[3] <<= 1; + } + MultiplyPaletteRGBComponents(gUnknown_083EDD30[sprite->data[0]], sprite->data[4], sprite->data[4], sprite->data[4]); + } +} + +void sub_8103F70(void) +{ + u8 taskId = CreateTask(sub_8103FE8_, 6); + gTasks[taskId].data[3] = 1; + sub_8103FE8_(taskId); +} + +bool8 sub_8103FA0(void) +{ + u8 taskId = FindTaskIdByFunc(sub_8103FE8_); + if (!gTasks[taskId].data[2]) + { + DestroyTask(taskId); + LoadPalette(gUnknown_083EDDAC, 0x10, 0x20); + return TRUE; + } + return FALSE; +} + +void sub_8103FE8_(u8 taskId) +{ + struct Task *task = gTasks + taskId; + if (!task->data[1]--) + { + task->data[1] = 4; + task->data[2] += task->data[3]; + if (task->data[2] == 0 || task->data[2] == 2) + task->data[3] = -task->data[3]; + } + LoadPalette(gUnknown_083EDDA0[task->data[2]], 0x10, 0x20); +} + +void sub_8104048(void) +{ + sSlotMachine->unk3E = CreateTask(sub_81040E8, 8); +} + +void sub_8104064(u8 pikaPower) +{ + struct Task *task = gTasks + sSlotMachine->unk3E; + sub_812D394(task); + task->data[0] = 1; + task->data[1]++; + task->data[15] = 1; +} + +void sub_8104098(void) +{ + struct Task *task = gTasks + sSlotMachine->unk3E; + sub_812D394(task); + task->data[0] = 3; + task->data[15] = 1; +} + +bool8 sub_81040C8(void) +{ + return gTasks[sSlotMachine->unk3E].data[15]; +} + +void sub_81040E8(u8 taskId) +{ + gUnknown_083ECBB4[gTasks[taskId].data[0]](gTasks + taskId); +} + +void nullsub_68(struct Task *task) +{ +} + +void sub_810411C(struct Task *task) +{ + task->data[2] = sub_8105B1C((task->data[1] << 3) + 20, 20); + task->data[0]++; +} + +void sub_8104144(struct Task *task) +{ + if (gSprites[task->data[2]].data[7]) + { + s16 r5 = task->data[1] + 2; + s16 r3 = 0; + s16 r2 = 0; + if (task->data[1] == 1) + r3 = 1, r2 = 1; + else if (task->data[1] == 16) + r3 = 2, r2 = 2; + gUnknown_0203AACC[r2] = gUnknown_083ECBC4[r3][0]; + LoadBgTilemap(2, &gUnknown_0203AACC[r2], 2, r5 + 0x40); + sub_8105B88(task->data[2]); + task->data[0] = 0; + task->data[15] = 0; + } +} + +void sub_81041AC(struct Task *task) +{ + s16 r5 = task->data[1] + 2; + s16 r3 = 0; + s16 r2 = 3; + if (task->data[1] == 1) + r3 = 1, r2 = 1; + else if (task->data[1] == 16) + r3 = 2, r2 = 2; + if (task->data[2] == 0) + { + gUnknown_0203AACC[r2] = gUnknown_083ECBC4[r3][1]; + LoadBgTilemap(2, &gUnknown_0203AACC[r2], 2, r5 + 0x40); + task->data[1]--; + } + if (++task->data[2] >= 20) + task->data[2] = 0; + if (task->data[1] == 0) + { + task->data[0] = 0; + task->data[15] = 0; + } +} + +void sub_812D394(struct Task *task) +{ + u8 i; + + for (i = 2; i < 16; i++) + task->data[i] = 0; +} + +void sub_810423C(u8 pikaPower) +{ + s16 i; + s16 r3 = 0, r1 = 0; + s16 r4 = 3; + for (i = 0; i < pikaPower; i++, r4++) + { + r3 = 0, r1 = 0; + if (i == 0) + r3 = 1, r1 = 1; + else if (i == 15) + r3 = 2, r1 = 2; + gUnknown_0203AACC[r1] = gUnknown_083ECBC4[r3][0]; + LoadBgTilemap(2, &gUnknown_0203AACC[r1], 2, r4 + 0x40); + } + for (; i < 16; i++, r4++) + { + r3 = 0, r1 = 3; + if (i == 0) + r3 = 1, r1 = 1; + else if (i == 15) + r3 = 2, r1 = 2; + gUnknown_0203AACC[r1] = gUnknown_083ECBC4[r3][1]; + LoadBgTilemap(2, &gUnknown_0203AACC[r1], 2, r4 + 0x40); + } + gTasks[sSlotMachine->unk3E].data[1] = pikaPower; +} + +void sub_810430C(void) +{ + u8 taskId = CreateTask(sub_810434C, 7); + sub_810434C(taskId); +} + +bool8 sub_810432C(void) +{ + if (FindTaskIdByFunc(sub_810434C) == 0xFF) + return TRUE; + return FALSE; +} + +void sub_810434C(u8 taskId) +{ + gUnknown_083ECBD0[gTasks[taskId].data[0]](gTasks + taskId); +} + +void sub_810437C(struct Task *task) +{ + sSlotMachine->unk0A = 0; + sSlotMachine->unk14 = 0; + sSlotMachine->unk16 = 0; + task->data[0]++; + task->data[1] = 0; + task->data[2] = 30; + task->data[4] = 1280; + gSpriteCoordOffsetX = 0; + gSpriteCoordOffsetY = 0; + SetGpuReg(REG_OFFSET_BG1HOFS, 0); + SetGpuReg(REG_OFFSET_BG1VOFS, 0); + sub_8104A40(REG_OFFSET_BG3VOFS, 0); + sub_81051C0(); + sub_8105100(); + sub_81052EC(); + sub_81053A0(); + sub_810545C(); + sub_8102680(); + StopMapMusic(); + PlayNewMapMusic(MUS_BD_TIME); +} + +void sub_81043EC(struct Task *task) +{ + s16 r3; + gSpriteCoordOffsetX -= 8; + task->data[1] += 8; + r3 = ((task->data[1] + 240) & 0xff) >> 3; + SetGpuReg(REG_OFFSET_BG1HOFS, task->data[1] & 0x1ff); + if (r3 != task->data[2] && task->data[3] <= 18) + { + task->data[2] = r3; + task->data[3] = task->data[1] >> 3; + sub_8104A40(r3, task->data[3]); + } + if (task->data[1] >= 200) + { + task->data[0]++; + task->data[3] = 0; + } + sub_8102D28(task->data[4] >> 8); +} + +void sub_8104468(struct Task *task) +{ + sub_8102D28(task->data[4] >> 8); + if (++task->data[5] >= 60) + { + task->data[0]++; + sub_8105578(); + sub_81056F0(); + } +} + +void sub_8104498(struct Task *task) +{ + int r5; + u8 sp0[ARRAY_COUNT(gUnknown_085A75C0)]; + s16 sp4[ARRAY_COUNT(gUnknown_085A75C4)]; + s16 spC[ARRAY_COUNT(gUnknown_085A75CC)]; + + memcpy(sp0, gUnknown_085A75C0, sizeof(gUnknown_085A75C0)); + memcpy(sp4, gUnknown_085A75C4, sizeof(gUnknown_085A75C4)); + memcpy(spC, gUnknown_085A75CC, sizeof(gUnknown_085A75CC)); + + sub_8102D28(task->data[4] >> 8); + task->data[4] -= 4; + r5 = 4 - (task->data[4] >> 8); + sub_8105688(sp4[r5]); + sub_81057E8(spC[r5]); + StartSpriteAnimIfDifferent(gSprites + sSlotMachine->unk3F, sp0[r5]); + if (task->data[4] <= 0x100) + { + task->data[0]++; + task->data[4] = 0x100; + task->data[5] = 0; + } +} + +void sub_8104548(struct Task *task) +{ + sub_8102D28(task->data[4] >> 8); + if (++task->data[5] >= 80) + { + task->data[0]++; + task->data[5] = 0; + sub_81057E8(2); + StartSpriteAnimIfDifferent(gSprites + sSlotMachine->unk3F, 3); + } +} + +void sub_8104598(struct Task *task) +{ + sub_8102D28(task->data[4] >> 8); + task->data[4] = (u8)task->data[4] + 0x80; + if (++task->data[5] >= 80) + { + task->data[0]++; + task->data[5] = 0; + } +} + +void sub_81045CC(struct Task *task) +{ + sub_8102D28(task->data[4] >> 8); + task->data[4] = (u8)task->data[4] + 0x40; + if (++task->data[5] >= 40) + { + task->data[5] = 0; + if (sSlotMachine->unk05) + { + if (sSlotMachine->unk0A <= task->data[6]) + task->data[0]++; + } + else if (task->data[6] > 3) + { + task->data[0]++; + } + else if (sub_81026DC(task->data[6])) + { + task->data[0] = 14; + } + task->data[6]++; + } +} + +void sub_810463C(struct Task *task) +{ + s16 r5 = sSlotMachine->unk14 % 20; + if (r5) + { + r5 = sub_8102D5C(task->data[4] >> 8); + task->data[4] = (u8)task->data[4] + 0x40; + } + else if (sub_8102C48(1) != sSlotMachine->unk05) + { + sub_8102D28(task->data[4] >> 8); + r5 = sSlotMachine->unk14 % 20; + task->data[4] = (u8)task->data[4] + 0x40; + } + if (r5 == 0 && sub_8102C48(1) == sSlotMachine->unk05) + { + task->data[4] = 0; + task->data[0]++; + } +} + +void sub_81046C0(struct Task *task) +{ + if (++task->data[4] >= 60) + { + StopMapMusic(); + sub_81056C0(); + sub_8105804(); + task->data[0]++; + if(sSlotMachine->unk05 == 0) + { + task->data[4] = 0xa0; + StartSpriteAnimIfDifferent(gSprites + sSlotMachine->unk3F, 5); + PlayFanfare(MUS_ME_ZANNEN); + } + else + { + task->data[4] = 0xc0; + StartSpriteAnimIfDifferent(gSprites + sSlotMachine->unk3F, 4); + gSprites[sSlotMachine->unk3F].animCmdIndex = 0; + if (sSlotMachine->pikaPower) + { + sub_8104098(); + sSlotMachine->pikaPower = 0; + } + PlayFanfare(MUS_ME_B_SMALL); + } + } +} + +void sub_8104764(struct Task *task) +{ + if ((task->data[4] == 0 || --task->data[4] == 0) && !sub_81040C8()) + task->data[0]++; +} + +void sub_8104794(struct Task *task) +{ + s16 r4; + gSpriteCoordOffsetX -= 8; + task->data[1] += 8; + task->data[3] += 8; + r4 = ((task->data[1] - 8) & 0xff) >> 3; + SetGpuReg(REG_OFFSET_BG1HOFS, task->data[1] & 0x1ff); + if (task->data[3] >> 3 <= 25) + sub_8104A88(r4); + else + task->data[0]++; +} + +void sub_81047EC(struct Task *task) +{ + sSlotMachine->unk0B = 0; + sSlotMachine->unk0A = sSlotMachine->unk05; + gSpriteCoordOffsetX = 0; + SetGpuReg(REG_OFFSET_BG1HOFS, 0); + sSlotMachine->unk1A = 8; + sub_810514C(); + sub_81054B8(); + sub_8105524(); + PlayNewMapMusic(sSlotMachine->backupMapMusic); + if (sSlotMachine->unk0A == 0) + { + DestroyTask(FindTaskIdByFunc(sub_810434C)); + } + else + { + sub_8104CAC(4); + task->data[1] = dp15_jump_random_unknown(); + task->data[2] = 0; + task->data[3] = 0; + task->data[0]++; + } +} + +void sub_8104860(struct Task *task) +{ + if (sSlotMachine->unk1A == task->data[1]) + task->data[0]++; + else if (sSlotMachine->unk1C[0] % 24 == 0 && (++task->data[2]& 0x07) == 0) + sSlotMachine->unk1A >>= 1; +} + +void sub_81048A8(struct Task *task) +{ + if (sub_8104E18()) + DestroyTask(FindTaskIdByFunc(sub_810434C)); +} + +void sub_81048CC(struct Task *task) +{ + sub_81054B8(); + sub_81056C0(); + sub_8105804(); + sub_8105854(); + gSprites[sSlotMachine->unk4E[0]].invisible = TRUE; + StartSpriteAnimIfDifferent(gSprites + sSlotMachine->unk3F, 5); + task->data[0]++; + task->data[4] = 4; + task->data[5] = 0; + StopMapMusic(); + PlayFanfare(MUS_ME_ZANNEN); + PlaySE(SE_W153); +} + +void sub_8104940(struct Task *task) +{ + gSpriteCoordOffsetY = task->data[4]; + SetGpuReg(REG_OFFSET_BG1VOFS, task->data[4]); + if (task->data[5] & 0x01) + task->data[4] = -task->data[4]; + if ((++task->data[5] & 0x1f) == 0) + task->data[4] >>= 1; + if (task->data[4] == 0) + { + sub_81058A0(); + sub_81058C4(); + sub_8105284_(); + sub_81059E8(); + gSprites[sSlotMachine->unk4E[0]].invisible = FALSE; + task->data[0]++; + task->data[5] = 0; + } +} + +void sub_81049C8(struct Task *task) +{ + gSpriteCoordOffsetY = 0; + SetGpuReg(REG_OFFSET_BG1VOFS, 0); + if (sub_8105ACC()) + { + task->data[0]++; + sub_8105AEC(); + } +} + +void sub_81049F8(struct Task *task) +{ + gSpriteCoordOffsetX = 0; + SetGpuReg(REG_OFFSET_BG1HOFS, 0); + PlayNewMapMusic(sSlotMachine->backupMapMusic); + sub_810514C(); + sub_8105554(); + sub_8105524(); + sub_81059B8(); + DestroyTask(FindTaskIdByFunc(sub_810434C)); +} + +void sub_8104A40(s16 a0, s16 a1) +{ + s16 i; + + for (i = 4; i < 15; i++) + { + LoadBgTilemap(1, &sReelTimeWindowTilemap[a1 + (i - 4) * 20], 2, 32 * i + a0); + } +} + +void sub_8104A88(s16 a0) +{ + u8 i; + + for (i = 4; i < 15; i++) + { + LoadBgTilemap(1, gUnknown_085A9898, 2, 32 * i + a0); + } +} + +void sub_8104AB8(u8 a0) +{ + u8 taskId = CreateTask(sub_8104B0C, 1); + gTasks[taskId].data[1] = a0; + sub_8104B0C(taskId); +} + +bool8 sub_8104AEC(void) +{ + if (FindTaskIdByFunc(sub_8104B0C) == 0xFF) + return TRUE; + else + return FALSE; +} + +void sub_8104B0C(u8 taskId) +{ + gUnknown_083ECC30[gTasks[taskId].data[0]](gTasks + taskId); +} + +void sub_8104B3C(struct Task *task) +{ + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); + task->data[0]++; +} + +void sub_8104B60(struct Task *task) +{ + if (!gPaletteFade.active) + task->data[0]++; +} + +void sub_8104B80(struct Task *task) +{ + sub_8104DA4(); + sub_81065DC(); + AddWindow(&gUnknown_085A7444); + PutWindowTilemap(1); + FillWindowPixelBuffer(1, 0); + task->data[0]++; +} + +void sub_812DD78(struct Task *task) +{ + AddTextPrinterParameterized3(1, 1, 2, 5, gUnknown_085A744C, 0, gText_ReelTimeHelp); + CopyWindowToVram(1, 3); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB(0, 0, 0)); + task->data[0]++; +} + +void sub_8104BC8(struct Task *task) +{ + if (gMain.newKeys & (B_BUTTON | SELECT_BUTTON)) + { + FillWindowPixelBuffer(1, 0); + ClearWindowTilemap(1); + CopyWindowToVram(1, 1); + RemoveWindow(1); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); + task->data[0]++; + } +} + +void sub_812DE14(struct Task *task) +{ + sub_812F968(); + ShowBg(3); + task->data[0]++; +} + +void sub_812DE30(struct Task *task) +{ + sub_8104CAC(task->data[1]); + task->data[0]++; +} + +void sub_8104BFC(struct Task *task) +{ + sub_810423C(sSlotMachine->pikaPower); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB(0, 0, 0)); + task->data[0]++; +} + +void sub_8104C44(struct Task *task) +{ + DestroyTask(FindTaskIdByFunc(sub_8104B0C)); +} + +void sub_8104C5C(void) +{ + u8 i; + struct Task *task; + i = CreateTask(sub_8104E74_, 3); + sSlotMachine->unk3D = i; + task = gTasks + i; + task->data[1] = -1; + for (i = 4; i < 16; i++) + task->data[i] = MAX_SPRITES; +} + +void sub_8104CAC(u8 arg0) +{ + u8 i; + struct Task *task; + + sub_8104DA4(); + + task = gTasks + sSlotMachine->unk3D; + task->data[1] = arg0; + + for (i = 0; gUnknown_083ED048[arg0][i].unk00 != 0xFF; i++) + { + u8 spriteId; + spriteId = sub_8105BB4( + gUnknown_083ED048[arg0][i].unk00, + gUnknown_083ED048[arg0][i].unk01, + gUnknown_083ED048[arg0][i].unk02 + ); + task->data[4 + i] = spriteId; + } +} + +void sub_8104D30(u8 a0, SpriteCallback a1, s16 a2, s16 a3, s16 a4) +{ + u8 i; + struct Task *task = gTasks + sSlotMachine->unk3D; + for (i = 4; i < 16; i++) + { + if (task->data[i] == MAX_SPRITES) + { + task->data[i] = sub_8105BF8(a0, a1, a2, a3, a4); + break; + } + } +} + +void sub_8104DA4(void) +{ + u8 i; + struct Task *task = gTasks + sSlotMachine->unk3D; + if ((u16)task->data[1] != 0xFFFF) + gUnknown_083ED064[task->data[1]](); + for (i = 4; i < 16; i++) + { + if (task->data[i] != MAX_SPRITES) + { + DestroySprite(gSprites + task->data[i]); + task->data[i] = MAX_SPRITES; + } + } +} + +bool8 sub_8104E18(void) +{ + u8 i; + struct Task *task = gTasks + sSlotMachine->unk3D; + for (i = 4; i < 16; i++) + { + if (task->data[i] != MAX_SPRITES) + { + if (gSprites[task->data[i]].data[7]) + return FALSE; + } + } + return TRUE; +} + +void sub_8104E74_(u8 taskId) +{ + gUnknown_083ECC54[gTasks[taskId].data[0]](gTasks + taskId); +} + +void nullsub_69(struct Task *task) +{ +} + +void sub_8104EA8(void) +{ + s16 i; + s16 j; + s16 x; + for (i = 0, x = 0x30; i < 3; i++, x += 0x28) + { + for (j = 0; j < 120; j += 24) + { + struct Sprite *sprite = gSprites + CreateSprite(&gSpriteTemplate_83ED414, x, 0, 14); + sprite->oam.priority = 3; + sprite->data[0] = i; + sprite->data[1] = j; + sprite->data[3] = -1; + } + } +} + +void sub_8104F18(struct Sprite *sprite) +{ + sprite->data[2] = sSlotMachine->unk1C[sprite->data[0]] + sprite->data[1]; + sprite->data[2] %= 120; + sprite->pos1.y = sSlotMachine->unk22[sprite->data[0]] + 28 + sprite->data[2]; + sprite->sheetTileStart = GetSpriteTileStartByTag(GetTagOfReelSymbolOnScreenAtPos(sprite->data[0], sprite->data[2] / 24)); + SetSpriteSheetFrameTileNum(sprite); +} + +void sub_8104F8C(void) +{ + s16 i; + s16 x; + + for (x = 203, i = 1; i < 10000; i *= 10, x -= 7) + sub_8104FF4(x, 23, 0, i); + for (x = 235, i = 1; i < 10000; i *= 10, x -= 7) + sub_8104FF4(x, 23, 1, i); +} + +void sub_8104FF4(s16 x, s16 y, u8 a2, s16 a3) +{ + struct Sprite *sprite = gSprites + CreateSprite(&gSpriteTemplate_83ED42C, x, y, 13); + sprite->oam.priority = 2; + sprite->data[0] = a2; + sprite->data[1] = a3; + sprite->data[2] = a3 * 10; + sprite->data[3] = -1; +} + +void sub_810506C(struct Sprite *sprite) +{ + u16 tag = sSlotMachine->coins; + if (sprite->data[0]) + tag = sSlotMachine->payout; + if (sprite->data[3] != tag) + { + sprite->data[3] = tag; + tag %= (u16)sprite->data[2]; + tag /= (u16)sprite->data[1]; + tag += 7; + sprite->sheetTileStart = GetSpriteTileStartByTag(tag); + SetSpriteSheetFrameTileNum(sprite); + } +} + +void sub_81050C4(void) +{ + u8 spriteId = CreateSprite(&gSpriteTemplate_83ED444, 0x58, 0x48, 15); + gSprites[spriteId].oam.priority = 3; + SetSubspriteTables(gSprites + spriteId, gSubspriteTables_83ED704); +} From 3028fdc353447be5b36a5bee526ffe3ee696a62a Mon Sep 17 00:00:00 2001 From: Diegoisawesome <diego@domoreaweso.me> Date: Sat, 15 Sep 2018 15:49:31 -0500 Subject: [PATCH 208/234] Update mid2agb source Credit to @camthesaxman --- tools/mid2agb/Makefile | 7 ++- tools/mid2agb/main.cpp | 128 ++++++++++++++++++----------------------- tools/mid2agb/midi.cpp | 21 ++++--- 3 files changed, 74 insertions(+), 82 deletions(-) diff --git a/tools/mid2agb/Makefile b/tools/mid2agb/Makefile index 7fd5d5fc83..4dc2f123fc 100644 --- a/tools/mid2agb/Makefile +++ b/tools/mid2agb/Makefile @@ -1,12 +1,15 @@ CXX := g++ -CXXFLAGS := -std=c++11 -O2 -Wall -Wno-switch -Werror +CXXFLAGS := -std=c++11 -O2 -s -Wall -Wno-switch -Werror SRCS := agb.cpp error.cpp main.cpp midi.cpp tables.cpp HEADERS := agb.h error.h main.h midi.h tables.h -.PHONY: clean +.PHONY: all clean + +all: mid2agb + @: mid2agb: $(SRCS) $(HEADERS) $(CXX) $(CXXFLAGS) $(SRCS) -o $@ $(LDFLAGS) diff --git a/tools/mid2agb/main.cpp b/tools/mid2agb/main.cpp index 5659e49b17..03feabdd8f 100644 --- a/tools/mid2agb/main.cpp +++ b/tools/mid2agb/main.cpp @@ -50,7 +50,8 @@ bool g_compressionEnabled = true; " input_file filename(.mid) of MIDI file\n" " output_file filename(.s) for AGB file (default:input_file)\n" "\n" - "options -V??? master volume (default:127)\n" + "options -L??? label for assembler (default:output_file)\n" + " -V??? master volume (default:127)\n" " -G??? voice group number (default:0)\n" " -P??? priority (default:0)\n" " -R??? reverb (default:off)\n" @@ -73,18 +74,6 @@ static std::string StripExtension(std::string s) return s; } -static std::string StripPathAndExtension(std::string s) -{ - std::size_t pos = s.find_last_of("/\\"); - - if (pos > 0 && pos != std::string::npos) - { - s = s.substr(pos + 1, pos); - } - - return StripExtension(s); -} - static std::string GetExtension(std::string s) { std::size_t pos = s.find_last_of('.'); @@ -97,57 +86,45 @@ static std::string GetExtension(std::string s) return ""; } -struct Option +static std::string BaseName(std::string s) { - char letter = 0; - const char *arg = NULL; -}; + std::size_t posAfterSlash = s.find_last_of("/\\"); -static Option ParseOption(int& index, const int argc, char** argv) + if (posAfterSlash == std::string::npos) + posAfterSlash = 0; + else + posAfterSlash++; + + std::size_t dotPos = s.find_first_of('.', posAfterSlash); + if (dotPos > posAfterSlash && dotPos != std::string::npos) + s = s.substr(posAfterSlash, dotPos - posAfterSlash); + + return s; +} + +static const char *GetArgument(int argc, char **argv, int& index) { - static std::set<char> optionsWithArg = { 'L', 'V', 'G', 'P', 'R' }; - static std::set<char> optionsWithoutArg = { 'X', 'E', 'N' }; - assert(index >= 0 && index < argc); - const char *opt = argv[index]; + const char *option = argv[index]; - assert(opt[0] == '-'); - assert(std::strlen(opt) == 2); + assert(option != nullptr); + assert(option[0] == '-'); - char letter = std::toupper(opt[1]); + // If there is text following the letter, return that. + if (std::strlen(option) >= 3) + return option + 2; - bool isOption = false; - bool hasArg = false; - - if (optionsWithArg.count(letter) != 0) - { - isOption = true; - hasArg = true; - } - else if (optionsWithoutArg.count(letter) != 0) - { - isOption = true; - } - - if (!isOption) - PrintUsage(); - - Option retVal; - - retVal.letter = letter; - - if (hasArg) + // Otherwise, try to get the next arg. + if (index + 1 < argc) { index++; - - if (index >= argc) - RaiseError("missing argument for \"-%c\"", letter); - - retVal.arg = argv[index]; + return argv[index]; + } + else + { + return nullptr; } - - return retVal; } int main(int argc, char** argv) @@ -157,51 +134,60 @@ int main(int argc, char** argv) for (int i = 1; i < argc; i++) { - if (argv[i][0] == '-' && std::strlen(argv[i]) == 2) - { - Option option = ParseOption(i, argc, argv); + const char *option = argv[i]; - switch (option.letter) + if (option[0] == '-' && option[1] != '\0') + { + const char *arg = GetArgument(argc, argv, i); + + switch (std::toupper(option[1])) { case 'E': g_exactGateTime = true; break; case 'G': - g_voiceGroup = std::stoi(option.arg); + if (arg == nullptr) + PrintUsage(); + g_voiceGroup = std::stoi(arg); break; case 'L': - g_asmLabel = option.arg; + if (arg == nullptr) + PrintUsage(); + g_asmLabel = std::stoi(arg); break; case 'N': g_compressionEnabled = false; break; case 'P': - g_priority = std::stoi(option.arg); + if (arg == nullptr) + PrintUsage(); + g_priority = std::stoi(arg); break; case 'R': - g_reverb = std::stoi(option.arg); + if (arg == nullptr) + PrintUsage(); + g_reverb = std::stoi(arg); break; case 'V': - g_masterVolume = std::stoi(option.arg); + if (arg == nullptr) + PrintUsage(); + g_masterVolume = std::stoi(arg); break; case 'X': g_clocksPerBeat = 2; break; + default: + PrintUsage(); } } else { - switch (i) - { - case 1: + if (inputFilename.empty()) inputFilename = argv[i]; - break; - case 2: + else if (outputFilename.empty()) outputFilename = argv[i]; - break; - default: + else PrintUsage(); - } } } @@ -218,7 +204,7 @@ int main(int argc, char** argv) RaiseError("output filename extension is not \"s\""); if (g_asmLabel.empty()) - g_asmLabel = StripPathAndExtension(outputFilename); + g_asmLabel = BaseName(outputFilename); g_inputFile = std::fopen(inputFilename.c_str(), "rb"); diff --git a/tools/mid2agb/midi.cpp b/tools/mid2agb/midi.cpp index 7c05c52374..09480e139c 100644 --- a/tools/mid2agb/midi.cpp +++ b/tools/mid2agb/midi.cpp @@ -52,7 +52,7 @@ static std::int32_t s_absoluteTime; static int s_blockCount = 0; static int s_minNote; static int s_maxNote; -static int s_runningStatus = 0; +static int s_runningStatus; void Seek(long offset) { @@ -171,6 +171,7 @@ void StartTrack() { Seek(s_trackDataStart); s_absoluteTime = 0; + s_runningStatus = 0; } void SkipEventData() @@ -182,20 +183,18 @@ void DetermineEventCategory(MidiEventCategory& category, int& typeChan, int& siz { typeChan = ReadInt8(); - if (typeChan < 0x80 && s_runningStatus != 0) + if (typeChan < 0x80) { + // If data byte was found, use the running status. + ungetc(typeChan, g_inputFile); typeChan = s_runningStatus; - Skip(-1); } - + if (typeChan == 0xFF) { category = MidiEventCategory::Meta; size = 0; - } - else if (typeChan >= 0xF8) - { - category = MidiEventCategory::Invalid; + s_runningStatus = 0; } else if (typeChan >= 0xF0) { @@ -206,7 +205,6 @@ void DetermineEventCategory(MidiEventCategory& category, int& typeChan, int& siz else if (typeChan >= 0x80) { category = MidiEventCategory::Control; - s_runningStatus = typeChan; switch (typeChan >> 4) { @@ -218,6 +216,7 @@ void DetermineEventCategory(MidiEventCategory& category, int& typeChan, int& siz size = 2; break; } + s_runningStatus = typeChan; } else { @@ -434,7 +433,10 @@ bool CheckNoteEnd(Event& event) void FindNoteEnd(Event& event) { + // Save the current file position and running status + // which get modified by CheckNoteEnd. long startPos = ftell(g_inputFile); + int savedRunningStatus = s_runningStatus; event.param2 = 0; @@ -442,6 +444,7 @@ void FindNoteEnd(Event& event) ; Seek(startPos); + s_runningStatus = savedRunningStatus; } bool ReadTrackEvent(Event& event) From db248dada23086ed8a5fd26d7fcce52b575768d2 Mon Sep 17 00:00:00 2001 From: DizzyEggg <jajkodizzy@wp.pl> Date: Sat, 15 Sep 2018 22:59:45 +0200 Subject: [PATCH 209/234] slot machine is decompiled --- asm/slot_machine.s | 3289 ------------------------------------------- data/slot_machine.s | 304 +--- src/slot_machine.c | 1318 ++++++++++++++++- 3 files changed, 1367 insertions(+), 3544 deletions(-) diff --git a/asm/slot_machine.s b/asm/slot_machine.s index d700bf5c54..c3fc4d140b 100644 --- a/asm/slot_machine.s +++ b/asm/slot_machine.s @@ -5,3295 +5,6 @@ .text - - thumb_func_start sub_8105100 -sub_8105100: @ 812E33C - push {r4,r5,lr} - sub sp, 0x18 - ldr r4, =gUnknown_0203AAE4 - ldr r0, [r4] - cmp r0, 0 - bne _0812E350 - movs r0, 0x28 - bl AllocZeroed - str r0, [r4] -_0812E350: - ldr r2, [r4] - ldr r0, =gUnknown_0203AAD8 - ldr r1, [r0] - str r1, [r2] - movs r3, 0x80 - lsls r3, 4 - strh r3, [r2, 0x4] - adds r0, r1, r3 - str r0, [r2, 0x8] - strh r3, [r2, 0xC] - movs r4, 0x80 - lsls r4, 5 - adds r0, r1, r4 - str r0, [r2, 0x10] - strh r3, [r2, 0x14] - movs r5, 0xC0 - lsls r5, 5 - adds r0, r1, r5 - str r0, [r2, 0x18] - strh r3, [r2, 0x1C] - movs r0, 0x80 - lsls r0, 6 - adds r1, r0 - str r1, [r2, 0x20] - strh r3, [r2, 0x24] - mov r1, sp - ldr r0, =gSpriteTemplate_83ED45C - ldm r0!, {r3-r5} - stm r1!, {r3-r5} - ldm r0!, {r3-r5} - stm r1!, {r3-r5} - str r2, [sp, 0xC] - movs r1, 0x8C - lsls r1, 1 - mov r0, sp - movs r2, 0x50 - movs r3, 0x1 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - 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 - movs r3, 0x4 - orrs r1, r3 - strb r1, [r2, 0x5] - adds r2, 0x3E - ldrb r1, [r2] - movs r3, 0x2 - orrs r1, r3 - strb r1, [r2] - ldr r1, =sSlotMachine - ldr r1, [r1] - adds r1, 0x3F - strb r0, [r1] - add sp, 0x18 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8105100 - thumb_func_start sub_810514C -sub_810514C: @ 812E3E8 - push {r4,lr} - ldr r0, =sSlotMachine - ldr r0, [r0] - adds r0, 0x3F - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - bl DestroySprite - ldr r4, =gUnknown_0203AAE4 - ldr r0, [r4] - cmp r0, 0 - beq _0812E410 - bl Free - movs r0, 0 - str r0, [r4] -_0812E410: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_810514C - - thumb_func_start sub_812E424 -sub_812E424: @ 812E424 - push {lr} - adds r2, r0, 0 - movs r0, 0 - strh r0, [r2, 0x24] - strh r0, [r2, 0x26] - adds r0, r2, 0 - adds r0, 0x2A - ldrb r0, [r0] - cmp r0, 0x4 - bne _0812E46A - movs r0, 0x8 - strh r0, [r2, 0x24] - strh r0, [r2, 0x26] - adds r0, r2, 0 - adds r0, 0x2B - ldrb r0, [r0] - cmp r0, 0 - beq _0812E458 - adds r0, r2, 0 - adds r0, 0x2C - ldrb r1, [r0] - movs r0, 0x3F - ands r0, r1 - cmp r0, 0 - bne _0812E466 - b _0812E46A -_0812E458: - adds r0, r2, 0 - adds r0, 0x2C - ldrb r1, [r0] - movs r0, 0x3F - ands r0, r1 - cmp r0, 0 - bne _0812E46A -_0812E466: - ldr r0, =0x0000fff8 - strh r0, [r2, 0x26] -_0812E46A: - pop {r0} - bx r0 - .pool - thumb_func_end sub_812E424 - - thumb_func_start sub_81051C0 -sub_81051C0: @ 812E474 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x18 - ldr r4, =gUnknown_0203AAE8 - ldr r0, [r4] - cmp r0, 0 - bne _0812E490 - movs r0, 0x8 - bl AllocZeroed - str r0, [r4] -_0812E490: - ldr r2, [r4] - ldr r0, =gUnknown_0203AAD8 - mov r10, r0 - ldr r0, [r0] - movs r1, 0xA0 - lsls r1, 6 - adds r0, r1 - str r0, [r2] - movs r0, 0xC0 - lsls r0, 2 - strh r0, [r2, 0x4] - mov r1, sp - ldr r0, =gUnknown_085A7D40 - ldm r0!, {r3-r5} - stm r1!, {r3-r5} - ldm r0!, {r3,r4,r7} - stm r1!, {r3,r4,r7} - str r2, [sp, 0xC] - mov r0, sp - movs r1, 0xB8 - lsls r1, 1 - movs r2, 0x34 - movs r3, 0x7 - bl CreateSprite - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - ldr r5, =gSprites - mov r9, r5 - adds r2, r0, r5 - ldrb r1, [r2, 0x5] - movs r7, 0xD - negs r7, r7 - mov r8, r7 - mov r0, r8 - ands r0, r1 - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2, 0x5] - adds r1, r2, 0 - adds r1, 0x3E - ldrb r0, [r1] - movs r6, 0x2 - orrs r0, r6 - strb r0, [r1] - ldr r1, =gUnknown_085A7FE0 - adds r0, r2, 0 - bl SetSubspriteTables - ldr r5, =sSlotMachine - ldr r0, [r5] - adds r0, 0x49 - strb r4, [r0] - ldr r4, =gUnknown_0203AAEC - ldr r0, [r4] - cmp r0, 0 - bne _0812E510 - movs r0, 0x8 - bl AllocZeroed - str r0, [r4] -_0812E510: - ldr r2, [r4] - mov r3, r10 - ldr r0, [r3] - movs r4, 0xAC - lsls r4, 6 - adds r0, r4 - str r0, [r2] - movs r0, 0xA0 - lsls r0, 3 - strh r0, [r2, 0x4] - mov r1, sp - ldr r0, =gUnknown_085A7D58 - ldm r0!, {r3,r4,r7} - stm r1!, {r3,r4,r7} - ldm r0!, {r3,r4,r7} - stm r1!, {r3,r4,r7} - str r2, [sp, 0xC] - mov r0, sp - movs r1, 0xB8 - lsls r1, 1 - movs r2, 0x54 - movs r3, 0x7 - bl CreateSprite - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - mov r7, r9 - adds r2, r0, r7 - ldrb r1, [r2, 0x5] - mov r0, r8 - ands r0, r1 - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2, 0x5] - adds r1, r2, 0 - adds r1, 0x3E - ldrb r0, [r1] - orrs r0, r6 - strb r0, [r1] - ldr r1, =gUnknown_085A7FF4 - adds r0, r2, 0 - bl SetSubspriteTables - ldr r0, [r5] - adds r0, 0x4A - strb r4, [r0] - 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_81051C0 - - thumb_func_start sub_8105284_ -sub_8105284_: @ 812E5A8 - push {r4,r5,lr} - sub sp, 0x18 - ldr r4, =gUnknown_0203AAF0 - ldr r0, [r4] - cmp r0, 0 - bne _0812E5BC - movs r0, 0x8 - bl AllocZeroed - str r0, [r4] -_0812E5BC: - ldr r2, [r4] - ldr r0, =gUnknown_0203AAD8 - ldr r0, [r0] - movs r1, 0xC0 - lsls r1, 6 - adds r0, r1 - str r0, [r2] - movs r0, 0xC0 - lsls r0, 3 - strh r0, [r2, 0x4] - mov r1, sp - ldr r0, =gUnknown_085A7D70 - ldm r0!, {r3-r5} - stm r1!, {r3-r5} - ldm r0!, {r3-r5} - stm r1!, {r3-r5} - str r2, [sp, 0xC] - ldr r0, =gSpriteCoordOffsetX - ldrh r0, [r0] - movs r1, 0xA8 - subs r1, r0 - lsls r1, 16 - asrs r1, 16 - mov r0, sp - movs r2, 0x50 - movs r3, 0x7 - bl CreateSprite - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - ldrb r2, [r0, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r2 - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0, 0x5] - adds r3, r0, 0 - adds r3, 0x3E - ldrb r1, [r3] - movs r2, 0x2 - orrs r1, r2 - strb r1, [r3] - ldr r1, =gUnknown_085A8010 - bl SetSubspriteTables - ldr r0, =sSlotMachine - ldr r0, [r0] - adds r0, 0x42 - strb r4, [r0] - add sp, 0x18 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8105284_ - - thumb_func_start sub_81052EC -sub_81052EC: @ 812E650 - push {r4-r6,lr} - movs r4, 0 - movs r5, 0 -_0812E656: - ldr r0, =gUnknown_085A7D88 - movs r1, 0xB8 - lsls r1, 1 - movs r2, 0 - movs r3, 0xA - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - lsls r3, r0, 4 - adds r3, r0 - lsls r3, 2 - ldr r1, =gSprites - adds r3, r1 - ldrb r2, [r3, 0x5] - movs r6, 0xD - negs r6, r6 - adds r1, r6, 0 - ands r2, r1 - movs r1, 0x4 - orrs r2, r1 - strb r2, [r3, 0x5] - movs r1, 0x3E - adds r1, r3 - mov r12, r1 - ldrb r1, [r1] - movs r2, 0x2 - orrs r1, r2 - mov r2, r12 - strb r1, [r2] - strh r5, [r3, 0x3C] - ldr r1, =sSlotMachine - ldr r1, [r1] - adds r1, 0x4B - adds r1, r4 - strb r0, [r1] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r5, 16 - movs r6, 0xA0 - lsls r6, 13 - adds r0, r6 - lsrs r5, r0, 16 - cmp r4, 0x2 - bls _0812E656 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81052EC - - thumb_func_start sub_810535C -sub_810535C: @ 812E6C4 - push {r4,lr} - adds r4, r0, 0 - ldr r0, =sSlotMachine - ldr r1, [r0] - ldrh r0, [r4, 0x3C] - ldrh r1, [r1, 0x14] - adds r0, r1 - lsls r0, 16 - asrs r0, 16 - movs r1, 0x28 - bl __modsi3 - lsls r0, 16 - asrs r0, 16 - adds r1, r0, 0 - adds r1, 0x3B - strh r1, [r4, 0x22] - movs r1, 0x14 - bl __divsi3 - lsls r0, 16 - asrs r0, 16 - bl sub_8102C48 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl StartSpriteAnimIfDifferent - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_810535C - - thumb_func_start sub_81053A0 -sub_81053A0: @ 812E70C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - movs r1, 0xB8 - lsls r1, 1 - ldr r0, =gUnknown_085A7DA0 - movs r2, 0x64 - movs r3, 0x9 - bl CreateSprite - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - ldr r7, =gSprites - adds r2, r0, r7 - adds r1, r2, 0 - adds r1, 0x3E - ldrb r0, [r1] - movs r3, 0x2 - mov r10, r3 - mov r3, r10 - orrs r0, r3 - strb r0, [r1] - ldrb r1, [r2, 0x5] - movs r5, 0xD - negs r5, r5 - adds r0, r5, 0 - ands r0, r1 - movs r1, 0x4 - mov r8, r1 - mov r3, r8 - orrs r0, r3 - strb r0, [r2, 0x5] - ldr r0, =gUnknown_085A8028 - mov r9, r0 - adds r0, r2, 0 - mov r1, r9 - bl SetSubspriteTables - ldr r6, =sSlotMachine - ldr r0, [r6] - adds r0, 0x4E - strb r4, [r0] - movs r1, 0x90 - lsls r1, 1 - ldr r0, =gUnknown_085A7DA0 - movs r2, 0x68 - movs r3, 0x4 - bl CreateSprite - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - adds r2, r0, r7 - adds r1, r2, 0 - adds r1, 0x3E - ldrb r0, [r1] - mov r3, r10 - orrs r0, r3 - strb r0, [r1] - ldrb r0, [r2, 0x5] - ands r5, r0 - mov r0, r8 - orrs r5, r0 - strb r5, [r2, 0x5] - adds r0, r2, 0 - mov r1, r9 - bl SetSubspriteTables - ldr r0, [r6] - adds r0, 0x4F - strb r4, [r0] - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81053A0 - - thumb_func_start sub_810545C -sub_810545C: @ 812E7CC - push {r4,lr} - ldr r0, =gUnknown_085A7DB8 - movs r1, 0xB8 - lsls r1, 1 - movs r2, 0x4C - movs r3, 0xB - bl CreateSprite - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - adds r3, r0, 0 - adds r3, 0x3E - ldrb r1, [r3] - movs r2, 0x2 - orrs r1, r2 - strb r1, [r3] - ldrb r2, [r0, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r2 - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0, 0x5] - ldr r1, =gUnknown_085A803C - bl SetSubspriteTables - ldr r0, =sSlotMachine - ldr r0, [r0] - adds r0, 0x40 - strb r4, [r0] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_810545C - - thumb_func_start sub_81054B8 -sub_81054B8: @ 812E82C - push {r4,lr} - ldr r0, =sSlotMachine - ldr r0, [r0] - adds r0, 0x40 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - bl DestroySprite - movs r4, 0 -_0812E846: - ldr r0, =sSlotMachine - ldr r0, [r0] - adds r0, 0x49 - 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, 0x1 - bls _0812E846 - ldr r4, =gUnknown_0203AAE8 - ldr r0, [r4] - cmp r0, 0 - beq _0812E878 - bl Free - movs r0, 0 - str r0, [r4] -_0812E878: - ldr r4, =gUnknown_0203AAEC - ldr r0, [r4] - cmp r0, 0 - beq _0812E888 - bl Free - movs r0, 0 - str r0, [r4] -_0812E888: - movs r4, 0 -_0812E88A: - ldr r0, =sSlotMachine - ldr r0, [r0] - adds r0, 0x4B - 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, 0x2 - bls _0812E88A - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81054B8 - - thumb_func_start sub_8105524 -sub_8105524: @ 812E8C4 - push {r4,lr} - movs r4, 0 -_0812E8C8: - ldr r0, =sSlotMachine - ldr r0, [r0] - adds r0, 0x4E - 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, 0x1 - bls _0812E8C8 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8105524 - - thumb_func_start sub_8105554 -sub_8105554: @ 812E8F8 - push {r4,lr} - ldr r0, =sSlotMachine - ldr r0, [r0] - adds r0, 0x42 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - bl DestroySprite - ldr r4, =gUnknown_0203AAF0 - ldr r0, [r4] - cmp r0, 0 - beq _0812E920 - bl Free - movs r0, 0 - str r0, [r4] -_0812E920: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8105554 - - thumb_func_start sub_8105578 -sub_8105578: @ 812E934 - push {r4-r6,lr} - mov r6, r10 - mov r5, r9 - mov r4, r8 - push {r4-r6} - ldr r0, =gUnknown_085A7DD0 - mov r10, r0 - movs r1, 0x98 - movs r2, 0x20 - movs r3, 0x5 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r2, =gSprites - mov r9, r2 - adds r3, r1, r2 - ldrb r2, [r3, 0x5] - movs r4, 0xD - negs r4, r4 - adds r1, r4, 0 - ands r1, r2 - movs r2, 0x4 - mov r8, r2 - mov r2, r8 - orrs r1, r2 - strb r1, [r3, 0x5] - adds r5, r3, 0 - adds r5, 0x3F - ldrb r1, [r5] - movs r2, 0x1 - orrs r1, r2 - strb r1, [r5] - ldr r6, =sSlotMachine - ldr r1, [r6] - adds r1, 0x50 - strb r0, [r1] - movs r0, 0x8 - strh r0, [r3, 0x2E] - ldr r0, =0x0000ffff - strh r0, [r3, 0x30] - movs r0, 0x1 - negs r0, r0 - strh r0, [r3, 0x32] - movs r5, 0x20 - strh r5, [r3, 0x3C] - mov r0, r10 - movs r1, 0xB8 - movs r2, 0x20 - movs r3, 0x5 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - mov r2, r9 - adds r3, r1, r2 - ldrb r1, [r3, 0x5] - ands r4, r1 - mov r1, r8 - orrs r4, r1 - strb r4, [r3, 0x5] - ldr r1, [r6] - adds r1, 0x51 - strb r0, [r1] - movs r0, 0x1 - strh r0, [r3, 0x30] - subs r0, 0x2 - strh r0, [r3, 0x32] - strh r5, [r3, 0x3C] - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8105578 - - thumb_func_start sub_812E9E8 -sub_812E9E8: @ 812E9E8 - push {r4,lr} - adds r2, r0, 0 - ldrh r0, [r2, 0x2E] - movs r1, 0x2E - ldrsh r4, [r2, r1] - cmp r4, 0 - beq _0812EA0C - subs r0, 0x1 - movs r1, 0 - strh r0, [r2, 0x2E] - strh r1, [r2, 0x24] - strh r1, [r2, 0x26] - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - b _0812EA3E -_0812EA0C: - adds r3, r2, 0 - adds r3, 0x3E - ldrb r1, [r3] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r3] - ldrh r0, [r2, 0x30] - ldrh r1, [r2, 0x24] - adds r0, r1 - strh r0, [r2, 0x24] - ldrh r0, [r2, 0x32] - ldrh r1, [r2, 0x26] - adds r0, r1 - strh r0, [r2, 0x26] - ldrh r0, [r2, 0x34] - adds r0, 0x1 - strh r0, [r2, 0x34] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x7 - ble _0812EA3E - ldrh r0, [r2, 0x3C] - strh r0, [r2, 0x2E] - strh r4, [r2, 0x34] -_0812EA3E: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_812E9E8 - - thumb_func_start sub_8105688 -sub_8105688: @ 812EA44 - push {r4,lr} - lsls r0, 16 - lsrs r0, 16 - ldr r4, =gSprites - ldr r1, =sSlotMachine - ldr r3, [r1] - adds r1, r3, 0 - adds r1, 0x50 - ldrb r2, [r1] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r4 - strh r0, [r1, 0x3C] - adds r3, 0x51 - ldrb r2, [r3] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r4 - strh r0, [r1, 0x3C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8105688 - - thumb_func_start sub_81056C0 -sub_81056C0: @ 812EA7C - push {r4,lr} - movs r4, 0 -_0812EA80: - ldr r0, =sSlotMachine - ldr r0, [r0] - adds r0, 0x50 - 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, 0x1 - bls _0812EA80 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81056C0 - - thumb_func_start sub_81056F0 -sub_81056F0: @ 812EAB0 - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - ldr r0, =gUnknown_085A7DE8 - mov r8, r0 - movs r1, 0x48 - movs r2, 0x50 - movs r3, 0x3 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gSprites - mov r9, r1 - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - add r2, r9 - ldrb r3, [r2, 0x5] - movs r4, 0xD - negs r4, r4 - adds r1, r4, 0 - ands r1, r3 - movs r6, 0x4 - orrs r1, r6 - strb r1, [r2, 0x5] - movs r3, 0 - movs r1, 0x1 - strh r1, [r2, 0x2E] - strh r3, [r2, 0x38] - movs r1, 0x10 - strh r1, [r2, 0x3A] - movs r1, 0x8 - strh r1, [r2, 0x3C] - ldr r5, =sSlotMachine - ldr r1, [r5] - adds r1, 0x52 - strb r0, [r1] - mov r0, r8 - movs r1, 0x68 - movs r2, 0x50 - movs r3, 0x3 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - add r1, r9 - ldrb r2, [r1, 0x5] - ands r4, r2 - orrs r4, r6 - strb r4, [r1, 0x5] - adds r1, 0x3F - ldrb r2, [r1] - movs r3, 0x1 - orrs r2, r3 - strb r2, [r1] - ldr r1, [r5] - adds r1, 0x53 - strb r0, [r1] - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81056F0 - - thumb_func_start sub_812EB48 -sub_812EB48: @ 812EB48 - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - ldr r1, =gUnknown_085A7614 - mov r0, sp - movs r2, 0x2 - bl memcpy - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _0812EB9A - ldrh r0, [r4, 0x3A] - subs r0, 0x1 - strh r0, [r4, 0x3A] - lsls r0, 16 - cmp r0, 0 - bgt _0812EB9A - movs r0, 0x7 - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 4 - ldr r2, =0x01030000 - adds r0, r2 - lsrs r0, 16 - movs r2, 0x38 - ldrsh r1, [r4, r2] - add r1, sp - ldrb r3, [r1] - adds r1, r3, 0 - adds r2, r3, 0 - bl MultiplyInvertedPaletteRGBComponents - ldrh r0, [r4, 0x38] - adds r0, 0x1 - movs r1, 0x1 - ands r0, r1 - strh r0, [r4, 0x38] - ldrh r0, [r4, 0x3C] - strh r0, [r4, 0x3A] -_0812EB9A: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812EB48 - - thumb_func_start sub_81057E8 -sub_81057E8: @ 812EBAC - ldr r3, =gSprites - ldr r1, =sSlotMachine - ldr r1, [r1] - adds r1, 0x52 - ldrb r2, [r1] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r3 - strh r0, [r1, 0x3C] - bx lr - .pool - thumb_func_end sub_81057E8 - - thumb_func_start sub_8105804 -sub_8105804: @ 812EBCC - push {r4,lr} - movs r0, 0x7 - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 4 - ldr r1, =0x01030000 - adds r0, r1 - lsrs r0, 16 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl MultiplyInvertedPaletteRGBComponents - movs r4, 0 -_0812EBEA: - ldr r0, =sSlotMachine - ldr r0, [r0] - adds r0, 0x52 - 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, 0x1 - bls _0812EBEA - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8105804 - - thumb_func_start sub_8105854 -sub_8105854: @ 812EC20 - push {lr} - ldr r0, =gUnknown_085A7E00 - movs r1, 0xA8 - movs r2, 0x50 - movs r3, 0x6 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gSprites - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldrb r3, [r1, 0x5] - movs r2, 0xD - negs r2, r2 - ands r2, r3 - movs r3, 0x4 - orrs r2, r3 - strb r2, [r1, 0x5] - ldr r1, =sSlotMachine - ldr r1, [r1] - adds r1, 0x41 - strb r0, [r1] - pop {r0} - bx r0 - .pool - thumb_func_end sub_8105854 - - thumb_func_start sub_812EC64 -sub_812EC64: @ 812EC64 - ldr r1, =gSpriteCoordOffsetY - ldrh r1, [r1] - strh r1, [r0, 0x26] - bx lr - .pool - thumb_func_end sub_812EC64 - - thumb_func_start sub_81058A0 -sub_81058A0: @ 812EC70 - push {lr} - ldr r0, =sSlotMachine - ldr r0, [r0] - adds r0, 0x41 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - bl DestroySprite - pop {r0} - bx r0 - .pool - thumb_func_end sub_81058A0 - - thumb_func_start sub_81058C4 -sub_81058C4: @ 812EC94 - push {r4,r5,lr} - sub sp, 0x8 - ldr r1, =gUnknown_085A7616 - mov r0, sp - movs r2, 0x8 - bl memcpy - movs r4, 0 -_0812ECA4: - ldr r0, =gSpriteCoordOffsetX - ldrh r0, [r0] - movs r1, 0x50 - subs r1, r0 - lsls r1, 16 - asrs r1, 16 - ldr r0, =gUnknown_085A7E18 - movs r2, 0x44 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - lsls r3, r0, 4 - adds r3, r0 - lsls r3, 2 - ldr r1, =gSprites - adds r3, r1 - ldrb r2, [r3, 0x5] - movs r5, 0xD - negs r5, r5 - adds r1, r5, 0 - ands r2, r1 - movs r1, 0x4 - orrs r2, r1 - strb r2, [r3, 0x5] - movs r1, 0x3E - adds r1, r3 - mov r12, r1 - ldrb r1, [r1] - movs r2, 0x2 - orrs r1, r2 - mov r2, r12 - strb r1, [r2] - lsls r1, r4, 1 - add r1, sp - ldrh r1, [r1] - strh r1, [r3, 0x2E] - ldr r1, =sSlotMachine - ldr r1, [r1] - adds r1, 0x54 - adds r1, r4 - strb r0, [r1] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x3 - bls _0812ECA4 - add sp, 0x8 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81058C4 - - thumb_func_start sub_812ED20 -sub_812ED20: @ 812ED20 - push {r4,r5,lr} - adds r5, r0, 0 - ldrh r0, [r5, 0x2E] - subs r0, 0x2 - movs r4, 0 - movs r1, 0xFF - ands r0, r1 - strh r0, [r5, 0x2E] - movs r1, 0x2E - ldrsh r0, [r5, r1] - movs r1, 0x14 - bl Cos - strh r0, [r5, 0x24] - movs r2, 0x2E - ldrsh r0, [r5, r2] - movs r1, 0x6 - bl Sin - strh r0, [r5, 0x26] - adds r1, r5, 0 - adds r1, 0x43 - strb r4, [r1] - movs r2, 0x2E - ldrsh r0, [r5, r2] - cmp r0, 0x7F - ble _0812ED5A - movs r0, 0x2 - strb r0, [r1] -_0812ED5A: - ldrh r0, [r5, 0x30] - adds r0, 0x1 - strh r0, [r5, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xF - ble _0812ED84 - adds r3, r5, 0 - adds r3, 0x3F - ldrb r2, [r3] - lsls r0, r2, 31 - lsrs r0, 31 - movs r1, 0x1 - eors r1, r0 - movs r0, 0x2 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - movs r0, 0 - strh r0, [r5, 0x30] -_0812ED84: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_812ED20 - - thumb_func_start sub_81059B8 -sub_81059B8: @ 812ED8C - push {r4,lr} - movs r4, 0 -_0812ED90: - ldr r0, =sSlotMachine - ldr r0, [r0] - adds r0, 0x54 - 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, 0x3 - bls _0812ED90 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81059B8 - - thumb_func_start sub_81059E8 -sub_81059E8: @ 812EDC0 - push {r4,lr} - ldr r0, =gUnknown_085A7E30 - movs r1, 0xA8 - movs r2, 0x3C - movs r3, 0x8 - bl CreateSprite - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - ldrb r2, [r0, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r2 - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0, 0x5] - ldrb r1, [r0, 0x1] - movs r2, 0x3 - orrs r1, r2 - strb r1, [r0, 0x1] - bl InitSpriteAffineAnim - ldr r0, =sSlotMachine - ldr r0, [r0] - adds r0, 0x43 - strb r4, [r0] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81059E8 - - thumb_func_start sub_812EE14 -sub_812EE14: @ 812EE14 - push {lr} - adds r3, r0, 0 - ldrh r2, [r3, 0x2E] - movs r1, 0x2E - ldrsh r0, [r3, r1] - cmp r0, 0 - bne _0812EE36 - adds r0, r3, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _0812EE90 - adds r0, r2, 0x1 - strh r0, [r3, 0x2E] - b _0812EE90 -_0812EE36: - cmp r0, 0x1 - bne _0812EE72 - movs r0, 0x3E - adds r0, r3 - mov r12, r0 - ldrb r2, [r0] - lsls r0, r2, 29 - lsrs r0, 31 - movs r1, 0x1 - eors r1, r0 - lsls r1, 2 - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - mov r1, r12 - strb r0, [r1] - ldrh r0, [r3, 0x32] - adds r0, 0x1 - strh r0, [r3, 0x32] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x17 - ble _0812EE90 - ldrh r0, [r3, 0x2E] - adds r0, 0x1 - strh r0, [r3, 0x2E] - movs r0, 0 - strh r0, [r3, 0x32] - b _0812EE90 -_0812EE72: - adds r2, r3, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - ldrh r0, [r3, 0x32] - adds r0, 0x1 - strh r0, [r3, 0x32] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xF - ble _0812EE90 - movs r0, 0x1 - strh r0, [r3, 0x3C] -_0812EE90: - ldrh r0, [r3, 0x30] - movs r1, 0xFF - ands r1, r0 - adds r1, 0x10 - strh r1, [r3, 0x30] - lsrs r1, 8 - ldrh r0, [r3, 0x26] - subs r0, r1 - strh r0, [r3, 0x26] - pop {r0} - bx r0 - thumb_func_end sub_812EE14 - - thumb_func_start sub_8105ACC -sub_8105ACC: @ 812EEA8 - ldr r2, =gSprites - ldr r0, =sSlotMachine - ldr r0, [r0] - adds r0, 0x43 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r0, [r0, 0x3C] - lsls r0, 24 - lsrs r0, 24 - bx lr - .pool - thumb_func_end sub_8105ACC - - thumb_func_start sub_8105AEC -sub_8105AEC: @ 812EECC - push {r4,lr} - ldr r0, =sSlotMachine - ldr r0, [r0] - adds r0, 0x43 - ldrb r0, [r0] - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - ldr r0, =gSprites - adds r4, r0 - ldrb r0, [r4, 0x3] - lsls r0, 26 - lsrs r0, 27 - bl FreeOamMatrix - adds r0, r4, 0 - bl DestroySprite - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8105AEC - - thumb_func_start sub_8105B1C -sub_8105B1C: @ 812EF00 - push {r4,lr} - adds r3, r0, 0 - adds r2, r1, 0 - ldr r0, =gUnknown_085A7F98 - lsls r3, 16 - asrs r3, 16 - lsls r2, 16 - asrs r2, 16 - adds r1, r3, 0 - movs r3, 0xC - bl CreateSprite - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - ldrb r2, [r0, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r2 - movs r2, 0x8 - orrs r1, r2 - strb r1, [r0, 0x5] - ldrb r1, [r0, 0x1] - movs r2, 0x3 - orrs r1, r2 - strb r1, [r0, 0x1] - bl InitSpriteAffineAnim - adds r0, r4, 0 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8105B1C - - thumb_func_start sub_812EF54 -sub_812EF54: @ 812EF54 - push {lr} - adds r2, r0, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _0812EF68 - movs r0, 0x1 - strh r0, [r2, 0x3C] -_0812EF68: - pop {r0} - bx r0 - thumb_func_end sub_812EF54 - - thumb_func_start sub_8105B88 -sub_8105B88: @ 812EF6C - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - ldr r0, =gSprites - adds r4, r0 - ldrb r0, [r4, 0x3] - lsls r0, 26 - lsrs r0, 27 - bl FreeOamMatrix - adds r0, r4, 0 - bl DestroySprite - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8105B88 - - thumb_func_start sub_8105BB4 -sub_8105BB4: @ 812EF98 - push {r4-r6,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - ldr r3, =gUnknown_085A78C8 - lsrs r1, 22 - adds r3, r1, r3 - ldr r5, [r3] - ldr r3, =gUnknown_085A783A - adds r4, r1, r3 - movs r6, 0 - ldrsh r4, [r4, r6] - adds r3, 0x2 - adds r1, r3 - movs r6, 0 - ldrsh r3, [r1, r6] - lsls r2, 16 - asrs r2, 16 - str r2, [sp] - adds r1, r5, 0 - adds r2, r4, 0 - bl sub_8105BF8 - lsls r0, 24 - lsrs r0, 24 - add sp, 0x4 - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8105BB4 - - thumb_func_start sub_8105BF8 -sub_8105BF8: @ 812EFDC - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x18 - adds r4, r0, 0 - mov r8, r1 - adds r1, r2, 0 - adds r2, r3, 0 - ldr r5, [sp, 0x34] - lsls r4, 24 - lsls r5, 16 - lsrs r5, 16 - mov r9, r5 - ldr r0, =gUnknown_085A8264 - lsrs r4, 22 - adds r0, r4, r0 - mov r3, sp - ldr r0, [r0] - ldm r0!, {r5-r7} - stm r3!, {r5-r7} - ldm r0!, {r5-r7} - stm r3!, {r5-r7} - ldr r0, =gUnknown_03001188 - adds r0, r4, r0 - ldr r0, [r0] - str r0, [sp, 0xC] - lsls r1, 16 - asrs r1, 16 - lsls r2, 16 - asrs r2, 16 - mov r0, sp - movs r3, 0x10 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - adds r7, r0, 0 - lsls r0, r7, 4 - adds r0, r7 - lsls r0, 2 - ldr r1, =gSprites - adds r2, r0, r1 - ldrb r0, [r2, 0x5] - movs r1, 0xC - orrs r0, r1 - strb r0, [r2, 0x5] - mov r0, r8 - str r0, [r2, 0x1C] - mov r5, r9 - strh r5, [r2, 0x3A] - movs r0, 0x1 - strh r0, [r2, 0x3C] - ldr r0, =gUnknown_085A82CC - adds r4, r0 - ldr r1, [r4] - cmp r1, 0 - beq _0812F056 - adds r0, r2, 0 - bl SetSubspriteTables -_0812F056: - adds r0, r7, 0 - add sp, 0x18 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8105BF8 - - thumb_func_start sub_812F078 -sub_812F078: @ 812F078 - movs r1, 0 - strh r1, [r0, 0x3C] - bx lr - thumb_func_end sub_812F078 - - thumb_func_start sub_812F080 -sub_812F080: @ 812F080 - push {r4,r5,lr} - sub sp, 0x10 - adds r4, r0, 0 - ldr r1, =gUnknown_085A761E - mov r0, sp - movs r2, 0x8 - bl memcpy - add r5, sp, 0x8 - ldr r1, =gUnknown_085A7626 - adds r0, r5, 0 - movs r2, 0x8 - bl memcpy - ldrh r0, [r4, 0x30] - adds r1, r0, 0x1 - strh r1, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xF - ble _0812F0C6 - adds r3, r4, 0 - adds r3, 0x42 - ldrb r2, [r3] - lsls r0, r2, 26 - lsrs r0, 26 - movs r1, 0x1 - eors r1, r0 - movs r0, 0x40 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - movs r0, 0 - strh r0, [r4, 0x30] -_0812F0C6: - movs r0, 0 - strh r0, [r4, 0x24] - strh r0, [r4, 0x26] - adds r0, r4, 0 - adds r0, 0x42 - ldrb r1, [r0] - movs r0, 0x3F - ands r0, r1 - cmp r0, 0 - beq _0812F0F2 - movs r1, 0x3A - ldrsh r0, [r4, r1] - lsls r0, 1 - add r0, sp - ldrh r0, [r0] - strh r0, [r4, 0x24] - movs r1, 0x3A - ldrsh r0, [r4, r1] - lsls r0, 1 - adds r0, r5, r0 - ldrh r0, [r0] - strh r0, [r4, 0x26] -_0812F0F2: - add sp, 0x10 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812F080 - - thumb_func_start sub_812F104 -sub_812F104: @ 812F104 - push {lr} - adds r3, r0, 0 - adds r3, 0x3F - ldrb r1, [r3] - movs r2, 0x1 - orrs r1, r2 - strb r1, [r3] - bl sub_812F080 - pop {r0} - bx r0 - thumb_func_end sub_812F104 - - thumb_func_start sub_812F11C -sub_812F11C: @ 812F11C - push {lr} - adds r3, r0, 0 - adds r3, 0x3F - ldrb r1, [r3] - movs r2, 0x2 - orrs r1, r2 - strb r1, [r3] - bl sub_812F080 - pop {r0} - bx r0 - thumb_func_end sub_812F11C - - thumb_func_start sub_812F134 -sub_812F134: @ 812F134 - push {lr} - adds r3, r0, 0 - adds r3, 0x3F - ldrb r1, [r3] - movs r2, 0x1 - orrs r1, r2 - movs r2, 0x2 - orrs r1, r2 - strb r1, [r3] - bl sub_812F080 - pop {r0} - bx r0 - thumb_func_end sub_812F134 - - thumb_func_start sub_812F150 -sub_812F150: @ 812F150 - push {lr} - adds r2, r0, 0 - movs r1, 0x2E - ldrsh r0, [r2, r1] - cmp r0, 0x1 - beq _0812F184 - cmp r0, 0x1 - bgt _0812F166 - cmp r0, 0 - beq _0812F170 - b _0812F1B4 -_0812F166: - cmp r0, 0x2 - beq _0812F194 - cmp r0, 0x3 - beq _0812F1B0 - b _0812F1B4 -_0812F170: - ldrh r0, [r2, 0x20] - adds r0, 0x4 - strh r0, [r2, 0x20] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xCF - ble _0812F1B4 - movs r0, 0xD0 - strh r0, [r2, 0x20] - b _0812F1A2 -_0812F184: - ldrh r0, [r2, 0x30] - adds r0, 0x1 - strh r0, [r2, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x5A - ble _0812F1B4 - b _0812F1A2 -_0812F194: - ldrh r0, [r2, 0x20] - adds r0, 0x4 - strh r0, [r2, 0x20] - lsls r0, 16 - ldr r1, =0x010f0000 - cmp r0, r1 - ble _0812F1B4 -_0812F1A2: - ldrh r0, [r2, 0x2E] - adds r0, 0x1 - strh r0, [r2, 0x2E] - b _0812F1B4 - .pool -_0812F1B0: - movs r0, 0 - strh r0, [r2, 0x3C] -_0812F1B4: - pop {r0} - bx r0 - thumb_func_end sub_812F150 - - thumb_func_start sub_812F1B8 -sub_812F1B8: @ 812F1B8 - push {lr} - adds r1, r0, 0 - movs r2, 0x2E - ldrsh r0, [r1, r2] - cmp r0, 0x1 - beq _0812F1EC - cmp r0, 0x1 - bgt _0812F1CE - cmp r0, 0 - beq _0812F1D8 - b _0812F216 -_0812F1CE: - cmp r0, 0x2 - beq _0812F1FC - cmp r0, 0x3 - beq _0812F212 - b _0812F216 -_0812F1D8: - ldrh r0, [r1, 0x20] - subs r0, 0x4 - strh r0, [r1, 0x20] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xD0 - bgt _0812F216 - movs r0, 0xD0 - strh r0, [r1, 0x20] - b _0812F20A -_0812F1EC: - ldrh r0, [r1, 0x30] - adds r0, 0x1 - strh r0, [r1, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x5A - ble _0812F216 - b _0812F20A -_0812F1FC: - ldrh r0, [r1, 0x20] - subs r0, 0x4 - strh r0, [r1, 0x20] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x90 - bgt _0812F216 -_0812F20A: - ldrh r0, [r1, 0x2E] - adds r0, 0x1 - strh r0, [r1, 0x2E] - b _0812F216 -_0812F212: - movs r0, 0 - strh r0, [r1, 0x3C] -_0812F216: - pop {r0} - bx r0 - thumb_func_end sub_812F1B8 - - thumb_func_start sub_812F21C -sub_812F21C: @ 812F21C - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0x5 - bhi _0812F2C6 - lsls r0, 2 - ldr r1, =_0812F238 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0812F238: - .4byte _0812F250 - .4byte _0812F268 - .4byte _0812F288 - .4byte _0812F29C - .4byte _0812F2AC - .4byte _0812F2C2 -_0812F250: - ldr r0, =sSlotMachine - ldr r0, [r0] - ldrb r1, [r0, 0xA] - subs r1, 0x1 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl StartSpriteAnim - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] -_0812F268: - ldrh r0, [r4, 0x30] - adds r0, 0x1 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3 - ble _0812F2C6 - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - movs r0, 0 - strh r0, [r4, 0x30] - b _0812F2C6 - .pool -_0812F288: - ldrh r0, [r4, 0x20] - adds r0, 0x4 - strh r0, [r4, 0x20] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xCF - ble _0812F2C6 - movs r0, 0xD0 - strh r0, [r4, 0x20] - b _0812F2BA -_0812F29C: - ldrh r0, [r4, 0x30] - adds r0, 0x1 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x5A - ble _0812F2C6 - b _0812F2BA -_0812F2AC: - ldrh r0, [r4, 0x20] - adds r0, 0x4 - strh r0, [r4, 0x20] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xF7 - ble _0812F2C6 -_0812F2BA: - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - b _0812F2C6 -_0812F2C2: - movs r0, 0 - strh r0, [r4, 0x3C] -_0812F2C6: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_812F21C - - thumb_func_start sub_812F2CC -sub_812F2CC: @ 812F2CC - push {lr} - adds r3, r0, 0 - movs r1, 0x2E - ldrsh r0, [r3, r1] - cmp r0, 0x1 - beq _0812F2FA - cmp r0, 0x1 - bgt _0812F2E2 - cmp r0, 0 - beq _0812F2E8 - b _0812F368 -_0812F2E2: - cmp r0, 0x2 - beq _0812F318 - b _0812F368 -_0812F2E8: - adds r2, r3, 0 - adds r2, 0x2C - ldrb r0, [r2] - movs r1, 0x40 - orrs r0, r1 - strb r0, [r2] - ldrh r0, [r3, 0x2E] - adds r0, 0x1 - strh r0, [r3, 0x2E] -_0812F2FA: - ldrh r0, [r3, 0x22] - adds r0, 0x8 - strh r0, [r3, 0x22] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x6F - ble _0812F368 - movs r0, 0x70 - strh r0, [r3, 0x22] - movs r0, 0x10 - strh r0, [r3, 0x30] - ldrh r0, [r3, 0x2E] - adds r0, 0x1 - strh r0, [r3, 0x2E] - b _0812F368 -_0812F318: - movs r0, 0x32 - ldrsh r2, [r3, r0] - cmp r2, 0 - bne _0812F35E - ldrh r0, [r3, 0x22] - ldrh r1, [r3, 0x30] - subs r0, r1 - strh r0, [r3, 0x22] - negs r1, r1 - strh r1, [r3, 0x30] - ldrh r0, [r3, 0x34] - adds r0, 0x1 - strh r0, [r3, 0x34] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _0812F35E - lsls r0, r1, 16 - asrs r0, 18 - strh r0, [r3, 0x30] - strh r2, [r3, 0x34] - adds r1, r0, 0 - cmp r1, 0 - bne _0812F35E - ldrh r0, [r3, 0x2E] - adds r0, 0x1 - strh r0, [r3, 0x2E] - strh r1, [r3, 0x3C] - adds r2, r3, 0 - adds r2, 0x2C - ldrb r1, [r2] - movs r0, 0x41 - negs r0, r0 - ands r0, r1 - strb r0, [r2] -_0812F35E: - ldrh r0, [r3, 0x32] - adds r0, 0x1 - movs r1, 0x7 - ands r0, r1 - strh r0, [r3, 0x32] -_0812F368: - pop {r0} - bx r0 - thumb_func_end sub_812F2CC - - thumb_func_start sub_812F36C -sub_812F36C: @ 812F36C - push {lr} - adds r1, r0, 0 - movs r2, 0x2E - ldrsh r0, [r1, r2] - cmp r0, 0 - beq _0812F37E - cmp r0, 0x1 - beq _0812F394 - b _0812F3B0 -_0812F37E: - ldrh r0, [r1, 0x30] - adds r0, 0x1 - strh r0, [r1, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x8 - ble _0812F3B0 - ldrh r0, [r1, 0x2E] - adds r0, 0x1 - strh r0, [r1, 0x2E] - b _0812F3B0 -_0812F394: - ldrh r0, [r1, 0x22] - adds r0, 0x2 - strh r0, [r1, 0x22] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x2F - ble _0812F3B0 - movs r0, 0x30 - strh r0, [r1, 0x22] - ldrh r0, [r1, 0x2E] - adds r0, 0x1 - strh r0, [r1, 0x2E] - movs r0, 0 - strh r0, [r1, 0x3C] -_0812F3B0: - pop {r0} - bx r0 - thumb_func_end sub_812F36C - - thumb_func_start sub_812F3B4 -sub_812F3B4: @ 812F3B4 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _0812F3C6 - cmp r0, 0x1 - beq _0812F416 - b _0812F468 -_0812F3C6: - adds r2, r4, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - ldrh r0, [r4, 0x30] - adds r0, 0x1 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x20 - ble _0812F468 - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - movs r0, 0x5 - strh r0, [r4, 0x30] - ldrb r0, [r4, 0x1] - movs r1, 0x10 - orrs r0, r1 - strb r0, [r4, 0x1] - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - adds r0, r4, 0 - movs r1, 0x1 - bl StartSpriteAnim - ldrh r0, [r4, 0x30] - lsls r1, r0, 4 - orrs r1, r0 - lsls r1, 24 - lsrs r1, 16 - movs r0, 0x4C - bl SetGpuReg - b _0812F468 -_0812F416: - ldrh r1, [r4, 0x32] - lsls r1, 16 - asrs r1, 24 - ldrh r0, [r4, 0x30] - subs r0, r1 - strh r0, [r4, 0x30] - lsls r0, 16 - cmp r0, 0 - bge _0812F42C - movs r0, 0 - strh r0, [r4, 0x30] -_0812F42C: - ldrh r0, [r4, 0x30] - lsls r1, r0, 4 - orrs r1, r0 - lsls r1, 24 - lsrs r1, 16 - movs r0, 0x4C - bl SetGpuReg - ldrh r1, [r4, 0x32] - movs r0, 0xFF - ands r0, r1 - adds r0, 0x80 - strh r0, [r4, 0x32] - movs r0, 0x30 - ldrsh r1, [r4, r0] - cmp r1, 0 - bne _0812F468 - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - strh r1, [r4, 0x3C] - ldrb r1, [r4, 0x1] - movs r0, 0x11 - negs r0, r0 - ands r0, r1 - strb r0, [r4, 0x1] - adds r0, r4, 0 - movs r1, 0 - bl StartSpriteAnim -_0812F468: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_812F3B4 - - thumb_func_start sub_812F470 -sub_812F470: @ 812F470 - push {r4,r5,lr} - adds r5, r0, 0 - movs r1, 0x30 - ldrsh r0, [r5, r1] - cmp r0, 0x2 - bgt _0812F4C0 - ldr r1, =gUnknown_085A8510 - lsls r0, 2 - adds r0, r1 - ldr r4, [r0] - movs r0, 0x6 - bl IndexOfSpritePaletteTag - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 4 - movs r0, 0x80 - lsls r0, 17 - adds r1, r0 - lsrs r1, 16 - adds r0, r4, 0 - movs r2, 0x20 - bl LoadPalette - ldrh r0, [r5, 0x32] - adds r0, 0x1 - strh r0, [r5, 0x32] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3 - ble _0812F4FC - ldrh r0, [r5, 0x30] - adds r0, 0x1 - strh r0, [r5, 0x30] - movs r0, 0 - strh r0, [r5, 0x32] - b _0812F4FC - .pool -_0812F4C0: - ldr r1, =gUnknown_085A8510 - movs r2, 0x30 - ldrsh r0, [r5, r2] - lsls r0, 2 - adds r0, r1 - ldr r4, [r0] - movs r0, 0x6 - bl IndexOfSpritePaletteTag - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 4 - movs r0, 0x80 - lsls r0, 17 - adds r1, r0 - lsrs r1, 16 - adds r0, r4, 0 - movs r2, 0x20 - bl LoadPalette - ldrh r0, [r5, 0x32] - adds r0, 0x1 - movs r1, 0 - strh r0, [r5, 0x32] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x18 - ble _0812F4FC - strh r1, [r5, 0x30] - strh r1, [r5, 0x32] -_0812F4FC: - adds r0, r5, 0 - movs r1, 0x1 - bl StartSpriteAnimIfDifferent - movs r0, 0 - strh r0, [r5, 0x3C] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812F470 - - thumb_func_start sub_812F514 -sub_812F514: @ 812F514 - push {r4-r6,lr} - sub sp, 0x30 - adds r4, r0, 0 - ldr r1, =gUnknown_085A762E - mov r0, sp - movs r2, 0x10 - bl memcpy - add r6, sp, 0x10 - ldr r1, =gUnknown_085A763E - adds r0, r6, 0 - movs r2, 0x10 - bl memcpy - add r5, sp, 0x20 - ldr r1, =gUnknown_085A764E - adds r0, r5, 0 - movs r2, 0x10 - bl memcpy - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0x1 - beq _0812F58C - cmp r0, 0x1 - bgt _0812F55C - cmp r0, 0 - beq _0812F562 - b _0812F5D8 - .pool -_0812F55C: - cmp r0, 0x2 - beq _0812F5A0 - b _0812F5D8 -_0812F562: - movs r2, 0x3A - ldrsh r0, [r4, r2] - lsls r0, 1 - add r0, sp - ldrh r0, [r0] - strh r0, [r4, 0x24] - movs r1, 0x3A - ldrsh r0, [r4, r1] - lsls r0, 1 - adds r0, r6, r0 - ldrh r0, [r0] - strh r0, [r4, 0x26] - movs r2, 0x3A - ldrsh r0, [r4, r2] - lsls r0, 1 - adds r0, r5, r0 - ldrh r0, [r0] - strh r0, [r4, 0x30] - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] -_0812F58C: - ldrh r0, [r4, 0x30] - subs r0, 0x1 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - movs r1, 0x1 - negs r1, r1 - cmp r0, r1 - bne _0812F5D8 - b _0812F5D2 -_0812F5A0: - ldrh r0, [r4, 0x24] - movs r2, 0x24 - ldrsh r1, [r4, r2] - cmp r1, 0 - ble _0812F5AE - subs r0, 0x4 - b _0812F5B4 -_0812F5AE: - cmp r1, 0 - bge _0812F5B6 - adds r0, 0x4 -_0812F5B4: - strh r0, [r4, 0x24] -_0812F5B6: - ldrh r0, [r4, 0x26] - movs r2, 0x26 - ldrsh r1, [r4, r2] - cmp r1, 0 - ble _0812F5C4 - subs r0, 0x4 - b _0812F5CA -_0812F5C4: - cmp r1, 0 - bge _0812F5CC - adds r0, 0x4 -_0812F5CA: - strh r0, [r4, 0x26] -_0812F5CC: - ldr r0, [r4, 0x24] - cmp r0, 0 - bne _0812F5D8 -_0812F5D2: - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] -_0812F5D8: - add sp, 0x30 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_812F514 - - thumb_func_start sub_812F5E0 -sub_812F5E0: @ 812F5E0 - push {r4,lr} - sub sp, 0x10 - adds r4, r0, 0 - ldr r1, =gUnknown_085A765E - mov r0, sp - movs r2, 0x10 - bl memcpy - ldrh r1, [r4, 0x2E] - movs r2, 0x2E - ldrsh r0, [r4, r2] - cmp r0, 0 - bne _0812F602 - adds r0, r1, 0x1 - strh r0, [r4, 0x2E] - movs r0, 0xC - strh r0, [r4, 0x30] -_0812F602: - movs r1, 0x3A - ldrsh r0, [r4, r1] - lsls r0, 1 - add r0, sp - movs r2, 0 - ldrsh r0, [r0, r2] - movs r2, 0x30 - ldrsh r1, [r4, r2] - bl Cos - strh r0, [r4, 0x24] - movs r1, 0x3A - ldrsh r0, [r4, r1] - lsls r0, 1 - add r0, sp - movs r2, 0 - ldrsh r0, [r0, r2] - movs r2, 0x30 - ldrsh r1, [r4, r2] - bl Sin - strh r0, [r4, 0x26] - ldrh r1, [r4, 0x30] - movs r2, 0x30 - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _0812F63C - subs r0, r1, 0x1 - strh r0, [r4, 0x30] -_0812F63C: - add sp, 0x10 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812F5E0 - - thumb_func_start sub_812F648 -sub_812F648: @ 812F648 - push {r4-r6,lr} - sub sp, 0x4 - adds r5, r0, 0 - movs r1, 0x2E - ldrsh r0, [r5, r1] - cmp r0, 0x1 - beq _0812F694 - cmp r0, 0x1 - bgt _0812F660 - cmp r0, 0 - beq _0812F66A - b _0812F76C -_0812F660: - cmp r0, 0x2 - beq _0812F6E0 - cmp r0, 0x3 - beq _0812F71C - b _0812F76C -_0812F66A: - ldr r0, =sSlotMachine - ldr r2, [r0] - adds r1, r2, 0 - adds r1, 0x5C - movs r0, 0x2F - strh r0, [r1] - adds r1, 0x2 - movs r0, 0x3F - strh r0, [r1] - subs r1, 0x4 - ldr r0, =0x00002088 - strh r0, [r1] - adds r2, r5, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - ldrh r0, [r5, 0x2E] - adds r0, 0x1 - strh r0, [r5, 0x2E] -_0812F694: - ldrh r0, [r5, 0x30] - adds r2, r0, 0x2 - strh r2, [r5, 0x30] - adds r0, 0xB2 - strh r0, [r5, 0x32] - movs r1, 0xF0 - subs r1, r2 - strh r1, [r5, 0x34] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xD0 - ble _0812F6B0 - movs r0, 0xD0 - strh r0, [r5, 0x32] -_0812F6B0: - movs r1, 0x34 - ldrsh r0, [r5, r1] - cmp r0, 0xCF - bgt _0812F6BC - movs r0, 0xD0 - strh r0, [r5, 0x34] -_0812F6BC: - ldr r0, =sSlotMachine - ldr r2, [r0] - ldrh r0, [r5, 0x32] - lsls r0, 8 - ldrh r1, [r5, 0x34] - orrs r0, r1 - adds r1, r2, 0 - adds r1, 0x58 - strh r0, [r1] - movs r1, 0x30 - ldrsh r0, [r5, r1] - cmp r0, 0x33 - ble _0812F76C - b _0812F75E - .pool -_0812F6E0: - ldr r6, =sSlotMachine - ldr r0, [r6] - movs r1, 0x12 - ldrsh r0, [r0, r1] - cmp r0, 0 - beq _0812F76C - ldr r1, =SpriteCallbackDummy - movs r4, 0 - str r4, [sp] - movs r0, 0x5 - movs r2, 0xD0 - movs r3, 0x74 - bl sub_8104D30 - ldr r2, [r6] - adds r1, r2, 0 - adds r1, 0x58 - ldr r0, =0x0000c0e0 - strh r0, [r1] - adds r1, 0x2 - movs r0, 0xD1 - lsls r0, 7 - strh r0, [r1] - adds r1, 0x2 - movs r0, 0x2F - strh r0, [r1] - ldrh r0, [r5, 0x2E] - adds r0, 0x1 - strh r0, [r5, 0x2E] - strh r4, [r5, 0x30] -_0812F71C: - ldrh r0, [r5, 0x30] - adds r2, r0, 0x2 - strh r2, [r5, 0x30] - adds r0, 0xC2 - strh r0, [r5, 0x32] - movs r1, 0xE0 - subs r1, r2 - strh r1, [r5, 0x34] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xD0 - ble _0812F738 - movs r0, 0xD0 - strh r0, [r5, 0x32] -_0812F738: - movs r1, 0x34 - ldrsh r0, [r5, r1] - cmp r0, 0xCF - bgt _0812F744 - movs r0, 0xD0 - strh r0, [r5, 0x34] -_0812F744: - ldr r0, =sSlotMachine - ldr r2, [r0] - ldrh r0, [r5, 0x32] - lsls r0, 8 - ldrh r1, [r5, 0x34] - orrs r0, r1 - adds r1, r2, 0 - adds r1, 0x58 - strh r0, [r1] - movs r1, 0x30 - ldrsh r0, [r5, r1] - cmp r0, 0xF - ble _0812F76C -_0812F75E: - ldrh r0, [r5, 0x2E] - adds r0, 0x1 - strh r0, [r5, 0x2E] - adds r1, r2, 0 - adds r1, 0x5C - movs r0, 0x3F - strh r0, [r1] -_0812F76C: - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812F648 - - thumb_func_start nullsub_101 -nullsub_101: @ 812F780 - bx lr - thumb_func_end nullsub_101 - - thumb_func_start sub_812F784 -sub_812F784: @ 812F784 - push {lr} - movs r0, 0x4C - movs r1, 0 - bl SetGpuReg - pop {r0} - bx r0 - thumb_func_end sub_812F784 - - thumb_func_start sub_812F794 -sub_812F794: @ 812F794 - push {r4,lr} - ldr r0, =gUnknown_085A8520 - ldr r4, [r0] - movs r0, 0x6 - bl IndexOfSpritePaletteTag - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 4 - movs r0, 0x80 - lsls r0, 17 - adds r1, r0 - lsrs r1, 16 - adds r0, r4, 0 - movs r2, 0x20 - bl LoadPalette - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812F794 - - thumb_func_start sub_812F7C0 -sub_812F7C0: @ 812F7C0 - ldr r0, =sSlotMachine - ldr r2, [r0] - adds r1, r2, 0 - adds r1, 0x58 - movs r0, 0xF0 - strh r0, [r1] - adds r1, 0x2 - movs r0, 0xA0 - strh r0, [r1] - adds r0, r2, 0 - adds r0, 0x5C - movs r1, 0x3F - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - bx lr - .pool - thumb_func_end sub_812F7C0 - - thumb_func_start sub_812F7E4 -sub_812F7E4: @ 812F7E4 - push {r4-r6,lr} - bl sub_812F8A0 - ldr r4, =gUnknown_0203AAD4 - movs r0, 0xC8 - lsls r0, 6 - bl Alloc - adds r1, r0, 0 - str r1, [r4] - ldr r0, =gSlotMachineReelTime_Gfx - bl LZDecompressWram - ldr r4, =gUnknown_0203AAD8 - movs r0, 0xD8 - lsls r0, 6 - bl Alloc - adds r1, r0, 0 - str r1, [r4] - ldr r0, =gUnknown_085A858C - bl LZDecompressWram - ldr r4, =gUnknown_0203AB30 - movs r0, 0xB0 - bl AllocZeroed - str r0, [r4] - movs r3, 0 - ldr r5, =gUnknown_085A8334 - adds r6, r4, 0 -_0812F822: - ldr r2, [r4] - lsls r1, r3, 3 - adds r2, r1, r2 - adds r1, r5 - ldr r0, [r1] - str r0, [r2] - ldrh r0, [r1, 0x4] - strh r0, [r2, 0x4] - ldrh r0, [r1, 0x6] - strh r0, [r2, 0x6] - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x15 - bls _0812F822 - ldr r3, [r6] - adds r2, r3, 0 - adds r2, 0x88 - ldr r0, =gUnknown_0203AAD4 - ldr r1, [r0] - movs r4, 0xA0 - lsls r4, 4 - adds r0, r1, r4 - str r0, [r2] - adds r2, 0x8 - movs r4, 0xA0 - lsls r4, 5 - adds r0, r1, r4 - str r0, [r2] - adds r2, 0x8 - movs r4, 0xB0 - lsls r4, 5 - adds r0, r1, r4 - str r0, [r2] - adds r0, r3, 0 - adds r0, 0xA0 - movs r2, 0xC8 - lsls r2, 5 - adds r1, r2 - str r1, [r0] - adds r0, r3, 0 - bl LoadSpriteSheets - ldr r0, =gUnknown_085A8544 - bl LoadSpritePalettes - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812F7E4 - - thumb_func_start sub_812F8A0 -sub_812F8A0: @ 812F8A0 - push {r4-r6,lr} - ldr r5, =gUnknown_0203AB2C - movs r0, 0x8 - bl AllocZeroed - str r0, [r5] - ldr r4, =gUnknown_0203AAE0 - movs r0, 0x80 - lsls r0, 6 - bl AllocZeroed - str r0, [r4] - adds r3, r0, 0 - movs r1, 0 - adds r6, r4, 0 - ldr r0, =gUnknown_085A83E4 - ldr r4, [r0] -_0812F8C2: - movs r2, 0 - adds r1, 0x1 -_0812F8C6: - adds r0, r4, r2 - ldrb r0, [r0] - strb r0, [r3] - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - adds r3, 0x1 - cmp r2, 0x1F - bls _0812F8C6 - lsls r0, r1, 24 - lsrs r1, r0, 24 - cmp r1, 0x3F - bls _0812F8C2 - ldr r0, [r5] - ldr r1, [r6] - str r1, [r0] - movs r1, 0x80 - lsls r1, 4 - strh r1, [r0, 0x4] - movs r1, 0x11 - strh r1, [r0, 0x6] - bl LoadSpriteSheet - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812F8A0 - - thumb_func_start sub_812F908 -sub_812F908: @ 812F908 - push {r4,r5,lr} - ldr r4, =gUnknown_0203AAC8 - movs r5, 0x88 - lsls r5, 6 - adds r0, r5, 0 - bl Alloc - adds r1, r0, 0 - str r1, [r4] - ldr r0, =gSlotMachineMenu_Gfx - bl LZDecompressWram - ldr r1, [r4] - movs r0, 0x2 - adds r2, r5, 0 - movs r3, 0 - bl LoadBgTiles - ldr r0, =gSlotMachineMenu_Pal - movs r1, 0 - movs r2, 0xA0 - bl LoadPalette - ldr r0, =gUnknown_085A8524 - movs r1, 0xD0 - movs r2, 0x20 - bl LoadPalette - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812F908 - - thumb_func_start sub_812F958 -sub_812F958: @ 812F958 - push {lr} - bl sub_812F968 - bl sub_812F980 - pop {r0} - bx r0 - thumb_func_end sub_812F958 - - thumb_func_start sub_812F968 -sub_812F968: @ 812F968 - push {lr} - ldr r1, =gSlotMachineMenu_Tilemap - movs r2, 0xA0 - lsls r2, 3 - movs r0, 0x2 - movs r3, 0 - bl LoadBgTilemap - pop {r0} - bx r0 - .pool - thumb_func_end sub_812F968 - - thumb_func_start sub_812F980 -sub_812F980: @ 812F980 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - movs r1, 0x4 - ldr r0, =gUnknown_0203AAD0 - mov r8, r0 -_0812F98E: - movs r0, 0 - lsls r1, 16 - mov r9, r1 -_0812F994: - mov r2, r8 - ldr r1, [r2] - mov r2, r9 - asrs r6, r2, 16 - lsls r4, r0, 16 - asrs r4, 16 - adds r5, r6, r4 - adds r3, r5, 0 - adds r3, 0xA0 - lsls r3, 16 - lsrs r3, 16 - movs r0, 0x3 - movs r2, 0x2 - bl LoadBgTilemap - mov r0, r8 - ldr r1, [r0] - adds r1, 0x2 - movs r2, 0xD0 - lsls r2, 1 - adds r3, r5, r2 - lsls r3, 16 - lsrs r3, 16 - movs r0, 0x3 - movs r2, 0x2 - bl LoadBgTilemap - mov r0, r8 - ldr r1, [r0] - adds r1, 0x4 - adds r3, r5, 0 - adds r3, 0xC0 - lsls r3, 16 - lsrs r3, 16 - movs r0, 0x3 - movs r2, 0x2 - bl LoadBgTilemap - mov r2, r8 - ldr r1, [r2] - adds r1, 0x6 - movs r0, 0xC0 - lsls r0, 1 - adds r7, r0, 0 - adds r3, r5, r7 - lsls r3, 16 - lsrs r3, 16 - movs r0, 0x3 - movs r2, 0x2 - bl LoadBgTilemap - adds r4, 0x1 - lsls r4, 16 - lsrs r0, r4, 16 - asrs r4, 16 - cmp r4, 0x3 - ble _0812F994 - mov r2, r8 - ldr r1, [r2] - adds r1, 0x8 - adds r3, r6, 0 - adds r3, 0xC0 - lsls r3, 16 - lsrs r3, 16 - movs r0, 0x3 - movs r2, 0x2 - bl LoadBgTilemap - mov r0, r8 - ldr r1, [r0] - adds r1, 0xA - adds r3, r6, r7 - lsls r3, 16 - lsrs r3, 16 - movs r0, 0x3 - movs r2, 0x2 - bl LoadBgTilemap - movs r0, 0x7 -_0812FA32: - mov r2, r8 - ldr r1, [r2] - adds r1, 0xC - lsls r4, r0, 16 - asrs r4, 16 - lsls r3, r4, 5 - mov r0, r9 - asrs r5, r0, 16 - adds r3, r5, r3 - lsls r3, 16 - lsrs r3, 16 - movs r0, 0x3 - movs r2, 0x2 - bl LoadBgTilemap - adds r4, 0x1 - lsls r4, 16 - lsrs r0, r4, 16 - asrs r4, 16 - cmp r4, 0xB - ble _0812FA32 - adds r0, r5, 0x5 - lsls r0, 16 - lsrs r1, r0, 16 - asrs r0, 16 - cmp r0, 0x11 - ble _0812F98E - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812F980 - - thumb_func_start sub_81065A8 -sub_81065A8: @ 812FA78 - push {r4-r6,lr} - adds r4, r0, 0 - ldr r5, [sp, 0x10] - ldr r6, =gUnknown_0203AADC - ldr r0, [r6] - strh r1, [r0] - ldr r1, [r6] - strh r2, [r1, 0x2] - strh r3, [r1, 0x4] - strh r5, [r1, 0x6] - lsls r4, 16 - asrs r5, r4, 16 - movs r0, 0xF0 - lsls r0, 17 - adds r4, r0 - lsrs r4, 16 - movs r0, 0x2 - movs r2, 0x2 - adds r3, r4, 0 - bl LoadBgTilemap - ldr r1, [r6] - adds r1, 0x2 - ldr r0, =0x000001e1 - adds r3, r5, r0 - lsls r3, 16 - lsrs r3, 16 - movs r0, 0x2 - movs r2, 0x2 - bl LoadBgTilemap - ldr r1, [r6] - adds r1, 0x4 - movs r0, 0x80 - lsls r0, 2 - adds r3, r5, r0 - lsls r3, 16 - lsrs r3, 16 - movs r0, 0x2 - movs r2, 0x2 - bl LoadBgTilemap - ldr r1, [r6] - adds r1, 0x6 - ldr r0, =0x00000201 - adds r5, r0 - lsls r5, 16 - lsrs r5, 16 - movs r0, 0x2 - movs r2, 0x2 - adds r3, r5, 0 - bl LoadBgTilemap - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81065A8 - - thumb_func_start sub_81065DC -sub_81065DC: @ 812FAF4 - push {lr} - ldr r1, =gUnknown_08DCEC70 - movs r2, 0xA0 - lsls r2, 3 - movs r0, 0x2 - movs r3, 0 - bl LoadBgTilemap - movs r0, 0x3 - bl HideBg - pop {r0} - bx r0 - .pool - thumb_func_end sub_81065DC - - thumb_func_start SlotMachineSetup_9_0 -SlotMachineSetup_9_0: @ 812FB14 - ldr r1, =gUnknown_03001188 - ldr r0, =gUnknown_0203AAF4 - ldr r0, [r0] - str r0, [r1] - ldr r0, =gUnknown_0203AAF8 - ldr r0, [r0] - str r0, [r1, 0x4] - ldr r0, =gUnknown_0203AAFC - ldr r0, [r0] - str r0, [r1, 0x8] - ldr r0, =gUnknown_0203AB04 - ldr r0, [r0] - str r0, [r1, 0xC] - ldr r0, =gUnknown_0203AB08 - ldr r0, [r0] - str r0, [r1, 0x10] - ldr r0, =gUnknown_0203AB18 - ldr r0, [r0] - str r0, [r1, 0x14] - ldr r0, =gUnknown_0203AB1C - ldr r0, [r0] - str r0, [r1, 0x18] - ldr r0, =gUnknown_0203AB20 - ldr r0, [r0] - str r0, [r1, 0x1C] - ldr r0, =gUnknown_0203AB24 - ldr r0, [r0] - str r0, [r1, 0x20] - ldr r0, =gUnknown_0203AB28 - ldr r0, [r0] - str r0, [r1, 0x24] - ldr r0, =gUnknown_0203AB00 - ldr r0, [r0] - str r0, [r1, 0x28] - str r0, [r1, 0x2C] - str r0, [r1, 0x30] - str r0, [r1, 0x34] - ldr r0, =gUnknown_0203AB0C - ldr r0, [r0] - str r0, [r1, 0x38] - str r0, [r1, 0x3C] - str r0, [r1, 0x40] - str r0, [r1, 0x44] - str r0, [r1, 0x48] - ldr r0, =gUnknown_0203AB10 - ldr r0, [r0] - str r0, [r1, 0x4C] - str r0, [r1, 0x50] - str r0, [r1, 0x54] - ldr r0, =gUnknown_0203AB14 - ldr r0, [r0] - str r0, [r1, 0x58] - str r0, [r1, 0x5C] - str r0, [r1, 0x60] - movs r0, 0 - str r0, [r1, 0x64] - bx lr - .pool - thumb_func_end SlotMachineSetup_9_0 - - thumb_func_start SlotMachineSetup_8_0 -SlotMachineSetup_8_0: @ 812FBC4 - push {r4-r6,lr} - mov r6, r8 - push {r6} - ldr r4, =gUnknown_0203AAF4 - movs r0, 0x8 - bl AllocZeroed - str r0, [r4] - ldr r6, =gUnknown_0203AAD4 - ldr r1, [r6] - str r1, [r0] - movs r5, 0xC0 - lsls r5, 3 - strh r5, [r0, 0x4] - ldr r4, =gUnknown_0203AAF8 - movs r0, 0x8 - bl AllocZeroed - str r0, [r4] - ldr r1, [r6] - adds r1, r5 - str r1, [r0] - movs r1, 0x80 - lsls r1, 2 - mov r8, r1 - mov r2, r8 - strh r2, [r0, 0x4] - ldr r4, =gUnknown_0203AAFC - movs r0, 0x8 - bl AllocZeroed - str r0, [r4] - ldr r1, [r6] - movs r3, 0x80 - lsls r3, 4 - adds r1, r3 - str r1, [r0] - mov r4, r8 - strh r4, [r0, 0x4] - ldr r4, =gUnknown_0203AB00 - movs r0, 0x8 - bl AllocZeroed - str r0, [r4] - ldr r1, [r6] - movs r2, 0xA0 - lsls r2, 4 - adds r1, r2 - str r1, [r0] - mov r3, r8 - strh r3, [r0, 0x4] - ldr r4, =gUnknown_0203AB04 - movs r0, 0x8 - bl AllocZeroed - str r0, [r4] - ldr r1, [r6] - movs r4, 0xC0 - lsls r4, 4 - adds r1, r4 - str r1, [r0] - movs r5, 0xC0 - lsls r5, 2 - strh r5, [r0, 0x4] - ldr r4, =gUnknown_0203AB08 - movs r0, 0x8 - bl AllocZeroed - str r0, [r4] - ldr r1, [r6] - movs r2, 0x80 - lsls r2, 5 - adds r1, r2 - str r1, [r0] - movs r1, 0x80 - lsls r1, 3 - strh r1, [r0, 0x4] - ldr r4, =gUnknown_0203AB0C - movs r0, 0x8 - bl AllocZeroed - str r0, [r4] - ldr r1, [r6] - movs r3, 0xA0 - lsls r3, 5 - adds r1, r3 - str r1, [r0] - mov r4, r8 - strh r4, [r0, 0x4] - ldr r4, =gUnknown_0203AB10 - movs r0, 0x8 - bl AllocZeroed - str r0, [r4] - ldr r1, [r6] - movs r2, 0xB0 - lsls r2, 5 - adds r1, r2 - str r1, [r0] - strh r5, [r0, 0x4] - ldr r4, =gUnknown_0203AB14 - movs r0, 0x8 - bl AllocZeroed - str r0, [r4] - ldr r1, [r6] - movs r3, 0xC8 - lsls r3, 5 - adds r1, r3 - str r1, [r0] - strh r5, [r0, 0x4] - ldr r4, =gUnknown_0203AB18 - movs r0, 0x10 - bl AllocZeroed - str r0, [r4] - ldr r1, [r6] - movs r4, 0xE0 - lsls r4, 5 - adds r2, r1, r4 - str r2, [r0] - mov r2, r8 - strh r2, [r0, 0x4] - movs r3, 0xF0 - lsls r3, 5 - adds r1, r3 - str r1, [r0, 0x8] - strh r2, [r0, 0xC] - ldr r4, =gUnknown_0203AB1C - movs r0, 0x8 - bl AllocZeroed - str r0, [r4] - ldr r1, [r6] - movs r4, 0x80 - lsls r4, 6 - adds r1, r4 - str r1, [r0] - movs r1, 0xA0 - lsls r1, 2 - strh r1, [r0, 0x4] - ldr r4, =gUnknown_0203AB20 - movs r0, 0x28 - bl AllocZeroed - str r0, [r4] - ldr r2, [r6] - movs r3, 0x8A - lsls r3, 6 - adds r1, r2, r3 - str r1, [r0] - movs r3, 0x80 - strh r3, [r0, 0x4] - movs r4, 0x8C - lsls r4, 6 - adds r1, r2, r4 - str r1, [r0, 0x8] - strh r3, [r0, 0xC] - adds r4, 0x80 - adds r1, r2, r4 - str r1, [r0, 0x10] - strh r3, [r0, 0x14] - adds r4, 0x80 - adds r1, r2, r4 - str r1, [r0, 0x18] - strh r3, [r0, 0x1C] - movs r1, 0x92 - lsls r1, 6 - adds r2, r1 - str r2, [r0, 0x20] - strh r3, [r0, 0x24] - ldr r4, =gUnknown_0203AB24 - movs r0, 0x10 - bl AllocZeroed - str r0, [r4] - ldr r2, [r6] - movs r3, 0x98 - lsls r3, 6 - adds r1, r2, r3 - str r1, [r0] - movs r1, 0x90 - lsls r1, 3 - strh r1, [r0, 0x4] - movs r4, 0xAA - lsls r4, 6 - adds r2, r4 - str r2, [r0, 0x8] - strh r1, [r0, 0xC] - ldr r4, =gUnknown_0203AB28 - movs r0, 0x10 - bl AllocZeroed - str r0, [r4] - ldr r2, [r6] - movs r3, 0xBC - lsls r3, 6 - adds r1, r2, r3 - str r1, [r0] - movs r1, 0xC0 - lsls r1, 1 - strh r1, [r0, 0x4] - movs r4, 0xC2 - lsls r4, 6 - adds r2, r4 - str r2, [r0, 0x8] - strh r1, [r0, 0xC] - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end SlotMachineSetup_8_0 .align 2, 0 @ Don't pad with nop. diff --git a/data/slot_machine.s b/data/slot_machine.s index bbbba9652f..1a57f6abd1 100644 --- a/data/slot_machine.s +++ b/data/slot_machine.s @@ -2,195 +2,45 @@ .include "constants/constants.inc" .section .rodata - .align 2, 0 -gUnknown_085A7614:: @ 85A7614 - .2byte 16 - -gUnknown_085A7616:: @ 85A7616 - .2byte 0, 0x40, 0x80, 0xC0 - -gUnknown_085A761E:: @ 85A761E - .2byte 4, -4, 4, -4 - -gUnknown_085A7626:: @ 85A7626 - .2byte 4, 4, -4, -4 - -gUnknown_085A762E:: @ 85A762E - .2byte 0, 0xFFD8, 0, 0, 0x30, 0, 0x18, 0 - -gUnknown_085A763E:: @ 85A763E - .2byte 0xFFE0, 0, 0xFFE0, 0xFFD0, 0, 0xFFD0, 0, 0xFFD0 - -gUnknown_085A764E:: @ 85A764E - .2byte 16, 12, 16, 0, 0, 4, 8, 8 - -gUnknown_085A765E:: @ 85A765E - .2byte 0xA0, 0xC0, 0xE0, 0x68, 0x50, 0x40, 0x30, 0x18 - -sReelSymbols:: @ 85A766E - .byte 0, 4, 2, 6, 5, 3, 1, 3, 4, 5, 6, 2, 0, 5, 3, 6, 2, 1, 5, 3, 6 - .byte 0, 4, 6, 3, 2, 4, 6, 5, 5, 3, 1, 3, 6, 4, 2, 3, 6, 4, 3, 6, 4 - .byte 0, 5, 1, 6, 3, 2, 6, 3, 5, 2, 6, 3, 2, 5, 6, 3, 2, 5, 6, 3, 4 - -gUnknown_083ECCF1:: @ 85A76AD - .byte 1, 0, 5, 4, 3, 2, 0 - -gUnknown_083ECCF8:: @ 85A76B4 - .2byte 0, 6, 0, 10, 0, 2 - -gUnknown_083ECD04:: @ 85A76C0 - .byte 1, 1, 12 - .byte 1, 1, 14 - .byte 2, 2, 14 - .byte 2, 2, 14 - .byte 2, 3, 16 - .byte 3, 3, 16 - -gUnknown_083ECD16:: @ 85A76D2 - .byte 0x19, 0x19, 0x1E, 0x28, 0x28, 0x32 - .byte 0x19, 0x19, 0x1E, 0x1E, 0x23, 0x23 - .byte 0x19, 0x19, 0x1E, 0x19, 0x19, 0x1E - -gUnknown_083ECD28:: @ 85A76E4 - .byte 0x14, 0x19, 0x19, 0x14, 0x19, 0x19 - .byte 0xC, 0xF, 0xF, 0x12, 0x13, 0x16 - .byte 0x19, 0x19, 0x19, 0x1E, 0x1E, 0x28 - .byte 0x19, 0x19, 0x14, 0x14, 0xF, 0xF - .byte 0x28, 0x28, 0x23, 0x23, 0x28, 0x28 - -gUnknown_083ECD46:: @ 85A7702 - .byte 0xF3, 0xF3, 0xF3, 0x50, 0x50, 0x50, 0x50, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x5, 0x5, 0x5, 0x5 - .byte 0x5, 0x5, 0x5, 0x96, 0x96, 0x96, 0x96, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x64, 0x64, 0x64, 0x5 - .byte 0x4, 0x4, 0x4, 0x14, 0x14, 0x14, 0x14, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x64, 0x64, 0x64, 0x28 - .byte 0x2, 0x2, 0x2, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x2D, 0x2D, 0x2D, 0x64 - .byte 0x1, 0x1, 0x1, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x5, 0x5, 0x5, 0x64 - .byte 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x6 - -gUnknown_083ECDAC:: @ 85A7768 - .byte 0xF3, 0xF3, 0xF3, 0xC8, 0xC8, 0xC8, 0xC8, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0x46, 0x46, 0x46, 0x05 - .byte 0x05, 0x05, 0x05, 0x19, 0x19, 0x19, 0x19, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x02, 0x02, 0x02, 0x06 - .byte 0x04, 0x04, 0x04, 0x19, 0x19, 0x19, 0x19, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x28, 0x28, 0x28, 0x23 - .byte 0x02, 0x02, 0x02, 0x03, 0x03, 0x03, 0x03, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x64, 0x64, 0x64, 0x32 - .byte 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x02, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x28, 0x28, 0x28, 0x64 - .byte 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x04, 0x04, 0x04, 0x3C - -gUnknown_083ECE12:: @ 85A77CE - .2byte 0x80, 0xAF, 0xC8, 0xE1, 0x100 - -gUnknown_083ECE1C:: @ 85A77D8 - .byte 10, 0, 5, 0 - .byte 10, 0, 10, 0 - .byte 10, 0, 15, 0 - .byte 10, 0, 25, 0 - .byte 10, 0, 35, 0 - -gUnknown_083ECE30:: @ 85A77EC - .byte 0, 0 - .byte 5, 0 - .byte 10, 0 - .byte 15, 0 - .byte 20, 0 - -gUnknown_083ECE3A:: @ 85A77F6 - .byte 6, 4, 3, 2, 5, 0, 0, 0 - -gUnknown_083ECE42:: @ 85A77FE - .byte 0x80, 0 - .byte 0x20, 0 - .byte 0x40, 0 - -gUnknown_083ECE48:: @ 85A7804 - .byte 16, 0 - .byte 8, 0 - .byte 4, 0 - .byte 2, 0 - .byte 1, 0 - -sSym2Match:: @ 85A780E - .byte 7, 8, 4, 3, 0, 5, 2, 0 - -sSlotMatchFlags:: @ 85A7816 - .2byte 1, 2, 4, 8, 16, 32, 64, 128, 256 - -sSlotPayouts:: @ 85A7828 - .2byte 2, 4, 0, 6, 12, 3, 0x5A, 0x12C, 0x12C - -gUnknown_085A783A:: @ 85A783A - .2byte 0xD0, 0x38 - .2byte 0xB8, 0 - .2byte 0xC8, 8 - .2byte 0xD8, 0x10 - .2byte 0xE8, 0x18 - .2byte 0xD0, 0x48 - .2byte 0xD0, 8 - .2byte 0xD0, 0x40 - .2byte 0xD0, 0x38 - .2byte 0xC0, 0x58 - .2byte 0xE0, 0x58 - .2byte 0xC0, 0x78 - .2byte 0xE0, 0x78 - .2byte 0x90, 0x38 - .2byte 0x110, 0x58 - .2byte 0xA8, 0x70 - .2byte 0xD0, 0x54 - .2byte 0xD0, 0x70 - .2byte 0xBC, 0x34 - .2byte 0xD0, 0x34 - .2byte 0xE4, 0x34 - .2byte 0xB8, 0x48 - .2byte 0xC4, 0x48 - .2byte 0xD0, 0x48 - .2byte 0xDC, 0x48 - .2byte 0xE8, 0x48 - .2byte 0xBC, 0x34 - .2byte 0xD0, 0x34 - .2byte 0xE4, 0x34 - .2byte 0xB8, 0x48 - .2byte 0xC4, 0x48 - .2byte 0xD0, 0x48 - .2byte 0xDC, 0x48 - .2byte 0xE8, 0x48 - .2byte 0x00, 0x00 - .2byte 0 +.align 2 - -gUnknown_085A78C8:: @ 85A78C8 - .4byte sub_812F078 - .4byte sub_812F36C - .4byte sub_812F36C - .4byte sub_812F36C - .4byte sub_812F36C - .4byte sub_812F3B4 - .4byte sub_812F2CC - .4byte sub_812F078 - .4byte sub_812F078 - .4byte sub_812F080 - .4byte sub_812F104 - .4byte sub_812F11C - .4byte sub_812F134 - .4byte sub_812F150 - .4byte sub_812F1B8 - .4byte sub_812F21C - .4byte sub_812F078 - .4byte sub_812F470 - .4byte sub_812F514 - .4byte sub_812F514 - .4byte sub_812F514 - .4byte sub_812F514 - .4byte sub_812F514 - .4byte sub_812F514 - .4byte sub_812F514 - .4byte sub_812F514 - .4byte sub_812F5E0 - .4byte sub_812F5E0 - .4byte sub_812F5E0 - .4byte sub_812F5E0 - .4byte sub_812F5E0 - .4byte sub_812F5E0 - .4byte sub_812F5E0 - .4byte sub_812F5E0 - .4byte sub_812F648 +gUnknown_083ECF0C:: @ 85A78C8 + .4byte sub_8105C64 + .4byte sub_8105F54 + .4byte sub_8105F54 + .4byte sub_8105F54 + .4byte sub_8105F54 + .4byte sub_8105F9C + .4byte sub_8105EB4 + .4byte sub_8105C64 + .4byte sub_8105C64 + .4byte sub_8105C6C + .4byte sub_8105CF0 + .4byte sub_8105D08 + .4byte sub_8105D20 + .4byte sub_8105D3C + .4byte sub_8105DA4 + .4byte sub_8105E08 + .4byte sub_8105C64 + .4byte sub_8106058 + .4byte sub_81060FC + .4byte sub_81060FC + .4byte sub_81060FC + .4byte sub_81060FC + .4byte sub_81060FC + .4byte sub_81060FC + .4byte sub_81060FC + .4byte sub_81060FC + .4byte sub_81061C8 + .4byte sub_81061C8 + .4byte sub_81061C8 + .4byte sub_81061C8 + .4byte sub_81061C8 + .4byte sub_81061C8 + .4byte sub_81061C8 + .4byte sub_81061C8 + .4byte sub_8106230 gUnknown_085A7954:: @ 85A7954 .byte 0x19 @@ -348,13 +198,13 @@ gUnknown_083ED048:: @ 85A7A04 .4byte gUnknown_085A79B4 gUnknown_083ED064:: @ 85A7A20 - .4byte sub_812F7C0 - .4byte sub_812F784 - .4byte sub_812F794 - .4byte nullsub_101 - .4byte nullsub_101 - .4byte sub_812F794 - .4byte sub_812F794 + .4byte sub_810639C + .4byte sub_8106364 + .4byte sub_8106370 + .4byte nullsub_70 + .4byte nullsub_70 + .4byte sub_8106370 + .4byte sub_8106370 gUnknown_085A7A3C:: @ 85A7A3C .2byte 0 @@ -663,40 +513,40 @@ gSpriteTemplate_83ED444:: @ 85A7D10 spr_template 17, 0, gUnknown_085A7A74, gUnknown_085A7BF8, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy gSpriteTemplate_83ED45C:: @ 85A7D28 - spr_template 0xFFFF, 1, gUnknown_085A7A74, gUnknown_085A7C00, NULL, gDummySpriteAffineAnimTable, sub_812E424 + spr_template 0xFFFF, 1, gUnknown_085A7A74, gUnknown_085A7C00, NULL, gDummySpriteAffineAnimTable, sub_8105170 -gUnknown_085A7D40:: @ 85A7D40 +gSpriteTemplate_83ED474:: @ 85A7D40 spr_template 0xFFFF, 2, gUnknown_085A7A44, gUnknown_085A7BF8, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy -gUnknown_085A7D58:: @ 85A7D58 +gSpriteTemplate_83ED48C:: @ 85A7D58 spr_template 0xFFFF, 3, gUnknown_085A7A44, gUnknown_085A7BF8, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy -gUnknown_085A7D70:: @ 85A7D70 +gSpriteTemplate_83ED4A4:: @ 85A7D70 spr_template 0xFFFF, 3, gUnknown_085A7A44, gUnknown_085A7BF8, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy -gUnknown_085A7D88:: @ 85A7D88 +gSpriteTemplate_83ED4BC:: @ 85A7D88 spr_template 0xFFFF, 4, gUnknown_085A7A4C, gUnknown_085A7C18, gUnknown_085A7A7C, gDummySpriteAffineAnimTable, sub_810535C -gUnknown_085A7DA0:: @ 85A7DA0 +gSpriteTemplate_83ED4D4:: @ 85A7DA0 spr_template 0xFFFF, 4, gUnknown_085A7A4C, gUnknown_085A7BF8, gUnknown_085A7AAC, gDummySpriteAffineAnimTable, SpriteCallbackDummy -gUnknown_085A7DB8:: @ 85A7DB8 +gSpriteTemplate_83ED4EC:: @ 85A7DB8 spr_template 0xFFFF, 4, gUnknown_085A7A4C, gUnknown_085A7BF8, gUnknown_085A7AB4, gDummySpriteAffineAnimTable, SpriteCallbackDummy -gUnknown_085A7DD0:: @ 85A7DD0 - spr_template 0xFFFF, 4, gUnknown_085A7A54, gUnknown_085A7C30, gUnknown_085A7ABC, gDummySpriteAffineAnimTable, sub_812E9E8 +gSpriteTemplate_83ED504:: @ 85A7DD0 + spr_template 0xFFFF, 4, gUnknown_085A7A54, gUnknown_085A7C30, gUnknown_085A7ABC, gDummySpriteAffineAnimTable, sub_810562C -gUnknown_085A7DE8:: @ 85A7DE8 - spr_template 0xFFFF, 7, gUnknown_085A7A64, gUnknown_085A7BF8, gUnknown_085A7ACC, gDummySpriteAffineAnimTable, sub_812EB48 +gSpriteTemplate_83ED51C:: @ 85A7DE8 + spr_template 0xFFFF, 7, gUnknown_085A7A64, gUnknown_085A7BF8, gUnknown_085A7ACC, gDummySpriteAffineAnimTable, sub_8105784 -gUnknown_085A7E00:: @ 85A7E00 - spr_template 0xFFFF, 5, gUnknown_085A7A5C, gUnknown_085A7C34, gUnknown_085A7AD4, gDummySpriteAffineAnimTable, sub_812EC64 +gSpriteTemplate_83ED534:: @ 85A7E00 + spr_template 0xFFFF, 5, gUnknown_085A7A5C, gUnknown_085A7C34, gUnknown_085A7AD4, gDummySpriteAffineAnimTable, sub_8105894 -gUnknown_085A7E18:: @ 85A7E18 - spr_template 0xFFFF, 4, gUnknown_085A7A3C, gUnknown_085A7BFC, gUnknown_085A7AE4, gDummySpriteAffineAnimTable, sub_812ED20 +gSpriteTemplate_83ED54C:: @ 85A7E18 + spr_template 0xFFFF, 4, gUnknown_085A7A3C, gUnknown_085A7BFC, gUnknown_085A7AE4, gDummySpriteAffineAnimTable, sub_810594C -gUnknown_085A7E30:: @ 85A7E30 - spr_template 0xFFFF, 4, gUnknown_085A7A4C, gUnknown_085A7BF8, gUnknown_085A7AEC, gUnknown_085A7C88, sub_812EE14 +gSpriteTemplate_83ED564:: @ 85A7E30 + spr_template 0xFFFF, 4, gUnknown_085A7A4C, gUnknown_085A7BF8, gUnknown_085A7AEC, gUnknown_085A7C88, sub_8105A38 gUnknown_085A7E48:: @ 85A7E48 spr_template 0xFFFF, 6, gUnknown_085A7A3C, gUnknown_085A7BF8, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy @@ -740,8 +590,8 @@ gUnknown_085A7F68:: @ 85A7F68 gUnknown_085A7F80:: @ 85A7F80 spr_template 0xFFFF, 6, gUnknown_085A7A3C, gUnknown_085A7C40, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy -gUnknown_085A7F98:: @ 85A7F98 - spr_template 0xFFFF, 4, gUnknown_085A7A3C, gUnknown_085A7BF8, gUnknown_085A7AF4, gUnknown_085A7CDC, sub_812EF54 +gSpriteTemplate_83ED6CC:: @ 85A7F98 + spr_template 0xFFFF, 4, gUnknown_085A7A3C, gUnknown_085A7BF8, gUnknown_085A7AF4, gUnknown_085A7CDC, sub_8105B70 gUnknown_085A7FB0:: @ 85A7FB0 subsprite -64, -64, 3, 0, 64x64 @@ -760,7 +610,7 @@ gUnknown_085A7FC8:: @ 85A7FC8 subsprite -32, 4, 1, 16, 32x8 subsprite 0, 4, 1, 20, 32x8 -gUnknown_085A7FE0:: @ 85A7FE0 +gSubspriteTables_83ED73C:: @ 85A7FE0 .4byte 6, gUnknown_085A7FC8 gUnknown_085A7FE8:: @ 85A7FE8 @@ -768,7 +618,7 @@ gUnknown_085A7FE8:: @ 85A7FE8 subsprite -32, 12, 1, 32, 32x8 subsprite 0, 12, 1, 36, 32x8 -gUnknown_085A7FF4:: @ 85A7FF4 +gSubspriteTables_83ED75C:: @ 85A7FF4 .4byte 3, gUnknown_085A7FE8 gUnknown_085A7FFC:: @ 85A7FFC @@ -778,7 +628,7 @@ gUnknown_085A7FFC:: @ 85A7FFC subsprite -32, 16, 1, 40, 32x8 subsprite 0, 16, 1, 44, 32x8 -gUnknown_085A8010:: @ 85A8010 +gSubspriteTables_83ED78C:: @ 85A8010 .4byte 5, gUnknown_085A7FFC gUnknown_085A8018:: @ 85A8018 @@ -787,7 +637,7 @@ gUnknown_085A8018:: @ 85A8018 subsprite -32, 0, 1, 8, 32x8 subsprite 0, 0, 1, 12, 32x8 -gUnknown_085A8028:: @ 85A8028 +gSubspriteTables_83ED7B4:: @ 85A8028 .4byte 4, gUnknown_085A8018 gUnknown_085A8030:: @ 85A8030 @@ -795,7 +645,7 @@ gUnknown_085A8030:: @ 85A8030 subsprite -8, -4, 1, 0, 16x8 subsprite -8, 4, 1, 0, 16x8 -gUnknown_085A803C:: @ 85A803C +gSubspriteTables_83ED7D4:: @ 85A803C .4byte 3, gUnknown_085A8030 gUnknown_085A8044:: @ 85A8044 @@ -1006,7 +856,7 @@ gUnknown_085A8244:: @ 85A8244 gUnknown_085A825C:: @ 85A825C .4byte 6, gUnknown_085A8244 -gUnknown_085A8264:: @ 85A8264 +gUnknown_083EDB5C:: @ 85A8264 .4byte gUnknown_085A7E48 .4byte gUnknown_085A7E60 .4byte gUnknown_085A7E78 @@ -1034,7 +884,7 @@ gUnknown_085A8264:: @ 85A8264 .4byte gUnknown_085A7F08 .4byte gDummySpriteTemplate -gUnknown_085A82CC:: @ 85A82CC +gUnknown_083EDBC4:: @ 85A82CC .4byte gUnknown_085A8058 .4byte gUnknown_085A8070 .4byte gUnknown_085A8088 @@ -1063,7 +913,7 @@ gUnknown_085A82CC:: @ 85A82CC .4byte NULL .align 2 -gUnknown_085A8334:: @ 85A8334 +sSlotMachineSpriteSheets:: @ 85A8334 obj_tiles gSlotMachineReelSymbol1Tiles, 0x0200, 0x0000 obj_tiles gSlotMachineReelSymbol2Tiles, 0x0200, 0x0001 obj_tiles gSlotMachineReelSymbol3Tiles, 0x0200, 0x0002 @@ -1085,7 +935,7 @@ gUnknown_085A8334:: @ 85A8334 .align 2 .byte 0, 0, 0, 0, 0, 2, 0x12, 0, 0, 0, 0, 0, 0, 2, 0x13, 0, 0, 0, 0, 0, 0, 3, 0x14, 0, 0, 0, 0, 0, 0, 3, 0x15, 0, 0, 0, 0, 0, 0, 0, 0, 0 -gUnknown_085A83E4:: @ 85A83E4 +gUnknown_083EDCDC:: @ 85A83E4 .4byte gUnknown_08DD19F8 @ might be a palette idk .byte 0x7B, 0x6F, 0x68, 0x69, 0xAB, 0x36, 0xFF, 0x7F, 0x50, 0x57, 0xC0, 0x7E, 0xBA, 2, 0xBA, 2, 0xFD, 1, 0xFD, 1 @@ -1157,20 +1007,20 @@ gUnknown_085A84D0:: @ 85A84D0 gUnknown_085A84F0:: @ 85A84F0 .incbin "graphics/slot_machine/85A84F0.gbapal" -gUnknown_085A8510:: @ 85A8510 +gUnknown_083EDE10:: @ 85A8510 .4byte gUnknown_085A84B0 .4byte gUnknown_085A84D0 .4byte gUnknown_085A84F0 .4byte gUnknown_08DCF230 -gUnknown_085A8520:: @ 85A8520 +gUnknown_083EDE20:: @ 85A8520 .4byte gUnknown_08DCF230 -gUnknown_085A8524:: @ 85A8524 +gPalette_83EDE24:: @ 85A8524 .incbin "graphics/slot_machine/85A8524.bin" .align 2 -gUnknown_085A8544:: @ 85A8544 +gSlotMachineSpritePalettes:: @ 85A8544 obj_pal gUnknown_08DCF170, 0 obj_pal gUnknown_08DCF190, 1 obj_pal gUnknown_08DCF1B0, 2 @@ -1181,7 +1031,7 @@ gUnknown_085A8544:: @ 85A8544 obj_pal gUnknown_08DCF1F0, 7 null_obj_pal -gUnknown_085A858C:: @ 85A858C +sReelTimeGfx:: @ 85A858C .incbin "graphics/slot_machine/reel_time_gfx.4bpp.lz" sReelTimeWindowTilemap:: @ 85A96E0 diff --git a/src/slot_machine.c b/src/slot_machine.c index 4ee4a2fe4f..ec5640b912 100644 --- a/src/slot_machine.c +++ b/src/slot_machine.c @@ -30,29 +30,31 @@ extern u16 *gUnknown_0203AAC8; extern u16 *gUnknown_0203AACC; extern u16 *gUnknown_0203AAD0; extern u16 *gUnknown_0203AADC; -extern void *gUnknown_0203AAF4; -extern void *gUnknown_0203AAF8; -extern void *gUnknown_0203AAFC; -extern void *gUnknown_0203AB00; -extern void *gUnknown_0203AB04; -extern void *gUnknown_0203AB08; -extern void *gUnknown_0203AB0C; -extern void *gUnknown_0203AB10; -extern void *gUnknown_0203AB14; -extern void *gUnknown_0203AB18; -extern void *gUnknown_0203AB1C; -extern void *gUnknown_0203AB20; -extern void *gUnknown_0203AB24; -extern void *gUnknown_0203AB28; -extern void *gUnknown_0203AAE4; -extern void *gUnknown_0203AAE8; -extern void *gUnknown_0203AAEC; -extern void *gUnknown_0203AAF0; -extern void *gUnknown_0203AAD4; -extern void *gUnknown_0203AAD8; -extern void *gUnknown_0203AAE0; -extern void *gUnknown_0203AB2C; -extern void *gUnknown_0203AB30; +extern struct SpriteFrameImage *gUnknown_0203AAF4; +extern struct SpriteFrameImage *gUnknown_0203AAF8; +extern struct SpriteFrameImage *gUnknown_0203AAFC; +extern struct SpriteFrameImage *gUnknown_0203AB00; +extern struct SpriteFrameImage *gUnknown_0203AB04; +extern struct SpriteFrameImage *gUnknown_0203AB08; +extern struct SpriteFrameImage *gUnknown_0203AB0C; +extern struct SpriteFrameImage *gUnknown_0203AB10; +extern struct SpriteFrameImage *gUnknown_0203AB14; +extern struct SpriteFrameImage *gUnknown_0203AB18; +extern struct SpriteFrameImage *gUnknown_0203AB1C; +extern struct SpriteFrameImage *gUnknown_0203AB20; +extern struct SpriteFrameImage *gUnknown_0203AB24; +extern struct SpriteFrameImage *gUnknown_0203AB28; +extern struct SpriteFrameImage *gUnknown_0203AAE4; +extern struct SpriteFrameImage *gUnknown_0203AAE8; +extern struct SpriteFrameImage *gUnknown_0203AAEC; +extern struct SpriteFrameImage *gUnknown_0203AAF0; +extern u8 *gUnknown_0203AAD4; +extern u8 *gUnknown_0203AAD8; +extern u8 *gUnknown_0203AAE0; +extern struct SpriteSheet *gUnknown_0203AB2C; +extern struct SpriteSheet *gUnknown_0203AB30; + +extern struct SpriteFrameImage *gUnknown_03001188[]; // Text extern const u8 gText_YouDontHaveThreeCoins[]; @@ -61,6 +63,9 @@ extern const u8 gText_YouveGot9999Coins[]; extern const u8 gText_YouveRunOutOfCoins[]; extern const u8 gText_ReelTimeHelp[]; +// gfx +extern const u8 gSlotMachineReelTime_Gfx[]; + enum { SLOT_MACHINE_TAG_7_RED, @@ -345,9 +350,7 @@ bool8 sub_81020C8(struct Task *task); /*static*/void sub_81064B8(void); /*static*/void sub_81065A8(s16 arg0, u16 arg1, u16 arg2, u16 arg3, u16 arg4); /*static*/void sub_81065DC(void); -/*static*/void sub_812F908(void); /*static*/void sub_812F958(void); -/*static*/void sub_812F7E4(void); /*static*/void sub_812F968(void); void LoadSlotMachineWheelOverlay(void); u8 sub_8105BB4(u8 templateIdx, u8 cbAndCoordsIdx, s16 a2); @@ -359,11 +362,28 @@ u8 sub_8105BB4(u8 templateIdx, u8 cbAndCoordsIdx, s16 a2); /*static*/extern const u8 gUnknown_083ECE3A[]; /*static*/extern const u16 gUnknown_083ECE42[]; /*static*/extern const u16 gUnknown_083ECE48[]; +extern const s16 gUnknown_083ECE7E[][2]; +extern const SpriteCallback gUnknown_083ECF0C[]; +extern const struct SpriteTemplate *const gUnknown_083EDB5C[]; +extern const struct SubspriteTable *const gUnknown_083EDBC4[]; +extern const struct SpriteTemplate gSpriteTemplate_83ED6CC; +extern const struct SpriteTemplate gSpriteTemplate_83ED564; +extern const struct SpriteTemplate gSpriteTemplate_83ED54C; +extern const struct SpriteTemplate gSpriteTemplate_83ED534; +extern const u8 gUnknown_083ECC58[2]; // don't remove this until decompiled through gUnknown_083ECCF8 +extern const struct SpriteTemplate gSpriteTemplate_83ED51C; extern const u16 gUnknown_083ECE12[]; +extern const u16 *const gUnknown_083EDE10[]; extern const u16 gUnknown_083ECE1C[][2]; extern const u16 gUnknown_083ECE30[]; extern const u16 sSlotMatchFlags[]; extern const u16 sSlotPayouts[]; +extern const u8 *const gUnknown_083EDCE4; +extern const u8 *const gUnknown_083EDCDC; +extern const u8 sReelTimeGfx[]; +extern const struct SpriteSheet sSlotMachineSpriteSheets[]; +extern const struct SpritePalette gSlotMachineSpritePalettes[]; +extern const u16 *const gUnknown_083EDE20; extern const s16 gUnknown_083ECCF8[][2]; extern const struct BgTemplate gUnknown_085A7424[4]; extern const struct WindowTemplate gUnknown_085A7434[]; @@ -869,9 +889,9 @@ void SlotMachineSetup_4_0(void) void SlotMachineSetup_5_0(void) { - sub_812F908(); - sub_812F958(); - sub_812F7E4(); + sub_8106448(); + sub_81064B8(); + sub_81063C0(); LoadMessageBoxGfx(0, 0x200, 0xF0); LoadUserWindowBorderGfx(0, 0x214, 0xE0); PutWindowTilemap(0); @@ -3227,3 +3247,1245 @@ void sub_81050C4(void) gSprites[spriteId].oam.priority = 3; SetSubspriteTables(gSprites + spriteId, gSubspriteTables_83ED704); } + +void sub_8105100(void) +{ + struct SpriteTemplate spriteTemplate; + u8 spriteId; + if (gUnknown_0203AAE4 == NULL) + gUnknown_0203AAE4 = AllocZeroed(sizeof(struct SpriteFrameImage) * 5); + + gUnknown_0203AAE4[0].data = gUnknown_0203AAD8 + (0 * 0x800); + gUnknown_0203AAE4[0].size = 0x800; + gUnknown_0203AAE4[1].data = gUnknown_0203AAD8 + (1 * 0x800); + gUnknown_0203AAE4[1].size = 0x800; + gUnknown_0203AAE4[2].data = gUnknown_0203AAD8 + (2 * 0x800); + gUnknown_0203AAE4[2].size = 0x800; + gUnknown_0203AAE4[3].data = gUnknown_0203AAD8 + (3 * 0x800); + gUnknown_0203AAE4[3].size = 0x800; + gUnknown_0203AAE4[4].data = gUnknown_0203AAD8 + (4 * 0x800); + gUnknown_0203AAE4[4].size = 0x800; + + spriteTemplate = gSpriteTemplate_83ED45C; + spriteTemplate.images = gUnknown_0203AAE4; + spriteId = CreateSprite(&spriteTemplate, 280, 80, 1); + gSprites[spriteId].oam.priority = 1; + gSprites[spriteId].coordOffsetEnabled = TRUE; + sSlotMachine->unk3F = spriteId; +} + +void sub_810514C(void) +{ + DestroySprite(gSprites + sSlotMachine->unk3F); + if (gUnknown_0203AAE4 != NULL) + FREE_AND_SET_NULL(gUnknown_0203AAE4); +} + +void sub_8105170(struct Sprite *sprite) +{ + sprite->pos2.y = sprite->pos2.x = 0; + if (sprite->animNum == 4) + { + sprite->pos2.y = sprite->pos2.x = 8; + if ((sprite->animCmdIndex != 0 && sprite->animDelayCounter != 0) || (sprite->animCmdIndex == 0 && sprite->animDelayCounter == 0)) + sprite->pos2.y = -8; + } +} + +void sub_81051C0(void) +{ + struct SpriteTemplate spriteTemplate; + u8 spriteId; + struct Sprite *sprite; + + if (gUnknown_0203AAE8 == NULL) + gUnknown_0203AAE8 = AllocZeroed(sizeof(struct SpriteFrameImage) * 1); + + gUnknown_0203AAE8[0].data = gUnknown_0203AAD8 + 0x2800; + gUnknown_0203AAE8[0].size = 0x300; + spriteTemplate = gSpriteTemplate_83ED474; + spriteTemplate.images = gUnknown_0203AAE8; + spriteId = CreateSprite(&spriteTemplate, 368, 52, 7); + sprite = &gSprites[spriteId]; + sprite->oam.priority = 1; + sprite->coordOffsetEnabled = TRUE; + SetSubspriteTables(sprite, gSubspriteTables_83ED73C); + sSlotMachine->unk49[0] = spriteId; + + if (gUnknown_0203AAEC == NULL) + gUnknown_0203AAEC = AllocZeroed(sizeof(struct SpriteFrameImage) * 1); + + gUnknown_0203AAEC[0].data = gUnknown_0203AAD8 + 0x2800 + 0x300; + gUnknown_0203AAEC[0].size = 0x500; + spriteTemplate = gSpriteTemplate_83ED48C; + spriteTemplate.images = gUnknown_0203AAEC; + spriteId = CreateSprite(&spriteTemplate, 368, 84, 7); + sprite = &gSprites[spriteId]; + sprite->oam.priority = 1; + sprite->coordOffsetEnabled = TRUE; + SetSubspriteTables(sprite, gSubspriteTables_83ED75C); + sSlotMachine->unk49[1] = spriteId; +} + +void sub_8105284_(void) +{ + struct SpriteTemplate spriteTemplate; + u8 spriteId; + struct Sprite *sprite; + + if (gUnknown_0203AAF0 == NULL) + gUnknown_0203AAF0 = AllocZeroed(sizeof(struct SpriteFrameImage) * 1); + + gUnknown_0203AAF0[0].data = gUnknown_0203AAD8 + 0x3000; + gUnknown_0203AAF0[0].size = 0x600; + spriteTemplate = gSpriteTemplate_83ED4A4; + spriteTemplate.images = gUnknown_0203AAF0; + spriteId = CreateSprite(&spriteTemplate, 0xa8 - gSpriteCoordOffsetX, 0x50, 7); + sprite = &gSprites[spriteId]; + sprite->oam.priority = 1; + sprite->coordOffsetEnabled = TRUE; + SetSubspriteTables(sprite, gSubspriteTables_83ED78C); + sSlotMachine->unk42 = spriteId; +} + +void sub_81052EC(void) +{ + u8 i; + s16 r5; + for (i = 0, r5 = 0; i < 3; i++, r5 += 20) + { + u8 spriteId = CreateSprite(&gSpriteTemplate_83ED4BC, 0x170, 0, 10); + struct Sprite *sprite = &gSprites[spriteId]; + sprite->oam.priority = 1; + sprite->coordOffsetEnabled = TRUE; + sprite->data[7] = r5; + sSlotMachine->unk4B[i] = spriteId; + } +} + +void sub_810535C(struct Sprite *sprite) +{ + s16 r0 = (u16)(sSlotMachine->unk14 + sprite->data[7]); + r0 %= 40; + sprite->pos1.y = r0 + 59; + StartSpriteAnimIfDifferent(sprite, sub_8102C48(r0 / 20)); +} + +void sub_81053A0(void) +{ + u8 spriteId = CreateSprite(&gSpriteTemplate_83ED4D4, 0x170, 0x64, 9); + struct Sprite *sprite = &gSprites[spriteId]; + sprite->coordOffsetEnabled = TRUE; + sprite->oam.priority = 1; + SetSubspriteTables(sprite, gSubspriteTables_83ED7B4); + sSlotMachine->unk4E[0] = spriteId; + + spriteId = CreateSprite(&gSpriteTemplate_83ED4D4, 0x120, 0x68, 4); + sprite = &gSprites[spriteId]; + sprite->coordOffsetEnabled = TRUE; + sprite->oam.priority = 1; + SetSubspriteTables(sprite, gSubspriteTables_83ED7B4); + sSlotMachine->unk4E[1] = spriteId; +} + +void sub_810545C(void) +{ + u8 spriteId = CreateSprite(&gSpriteTemplate_83ED4EC, 0x170, 0x4c, 11); + struct Sprite *sprite = &gSprites[spriteId]; + sprite->coordOffsetEnabled = TRUE; + sprite->oam.priority = 1; + SetSubspriteTables(sprite, gSubspriteTables_83ED7D4); + sSlotMachine->unk40 = spriteId; +} + +void sub_81054B8(void) +{ + u8 i; + + DestroySprite(&gSprites[sSlotMachine->unk40]); + for (i = 0; i < 2; i++) + DestroySprite(&gSprites[sSlotMachine->unk49[i]]); + + if (gUnknown_0203AAE8 != NULL) + FREE_AND_SET_NULL(gUnknown_0203AAE8); + if (gUnknown_0203AAEC != NULL) + FREE_AND_SET_NULL(gUnknown_0203AAEC); + + for (i = 0; i < 3; i++) + DestroySprite(&gSprites[sSlotMachine->unk4B[i]]); +} + +void sub_8105524(void) +{ + u8 i; + + for (i = 0; i < 2; i++) + DestroySprite(&gSprites[sSlotMachine->unk4E[i]]); +} + +void sub_8105554(void) +{ + DestroySprite(&gSprites[sSlotMachine->unk42]); + if (gUnknown_0203AAF0 != NULL) + FREE_AND_SET_NULL(gUnknown_0203AAF0); +} + +void sub_8105578(void) +{ + u8 spriteId = CreateSprite(&gSpriteTemplate_83ED504, 0x98, 0x20, 5); + struct Sprite *sprite = &gSprites[spriteId]; + sprite->oam.priority = 1; + sprite->hFlip = TRUE; + sSlotMachine->unk50[0] = spriteId; + sprite->data[0] = 8; + sprite->data[1] = -1; + sprite->data[2] = -1; + sprite->data[7] = 0x20; + + spriteId = CreateSprite(&gSpriteTemplate_83ED504, 0xb8, 0x20, 5); + sprite = &gSprites[spriteId]; + sprite->oam.priority = 1; + sSlotMachine->unk50[1] = spriteId; + sprite->data[1] = 1; + sprite->data[2] = -1; + sprite->data[7] = 0x20; +} + +void sub_810562C(struct Sprite *sprite) +{ + if (sprite->data[0] != 0) + { + sprite->data[0]--; + sprite->pos2.x = 0; + sprite->pos2.y = 0; + sprite->invisible = TRUE; + } + else + { + sprite->invisible = FALSE; + sprite->pos2.x += sprite->data[1]; + sprite->pos2.y += sprite->data[2]; + if (++sprite->data[3] >= 8) + { + sprite->data[0] = sprite->data[7]; + sprite->data[3] = 0; + } + } +} + +void sub_8105688(s16 a0) +{ + gSprites[sSlotMachine->unk50[0]].data[7] = a0; + gSprites[sSlotMachine->unk50[1]].data[7] = a0; +} + +void sub_81056C0(void) +{ + u8 i; + + for (i = 0; i < 2; i++) + DestroySprite(&gSprites[sSlotMachine->unk50[i]]); +} + +void sub_81056F0(void) +{ + u8 spriteId = CreateSprite(&gSpriteTemplate_83ED51C, 0x48, 0x50, 3); + gSprites[spriteId].oam.priority = 1; + gSprites[spriteId].data[0] = 1; + gSprites[spriteId].data[5] = 0; + gSprites[spriteId].data[6] = 16; + gSprites[spriteId].data[7] = 8; + sSlotMachine->unk52[0] = spriteId; + + spriteId = CreateSprite(&gSpriteTemplate_83ED51C, 0x68, 0x50, 3); + gSprites[spriteId].oam.priority = 1; + gSprites[spriteId].hFlip = TRUE; + sSlotMachine->unk52[1] = spriteId; +} + +void sub_8105784(struct Sprite *sprite) +{ + u8 sp[] = {16, 0}; + if (sprite->data[0] && --sprite->data[6] <= 0) + { + MultiplyInvertedPaletteRGBComponents((IndexOfSpritePaletteTag(7) << 4) + 0x103, sp[sprite->data[5]], sp[sprite->data[5]], sp[sprite->data[5]]); + ++sprite->data[5]; + sprite->data[5] &= 1; + sprite->data[6] = sprite->data[7]; + } +} + +void sub_81057E8(s16 a0) +{ + gSprites[sSlotMachine->unk52[0]].data[7] = a0; +} + +void sub_8105804(void) +{ + u8 i; + MultiplyInvertedPaletteRGBComponents((IndexOfSpritePaletteTag(7) << 4) + 0x103, 0, 0, 0); + for (i = 0; i < 2; i++) + DestroySprite(&gSprites[sSlotMachine->unk52[i]]); +} + +void sub_8105854(void) +{ + u8 spriteId = CreateSprite(&gSpriteTemplate_83ED534, 0xa8, 0x50, 6); + gSprites[spriteId].oam.priority = 1; + sSlotMachine->unk41 = spriteId; +} + +void sub_8105894(struct Sprite *sprite) +{ + sprite->pos2.y = gSpriteCoordOffsetY; +} + +void sub_81058A0(void) +{ + DestroySprite(&gSprites[sSlotMachine->unk41]); +} + +void sub_81058C4(void) +{ + u8 i; + u16 sp[] = {0x0, 0x40, 0x80, 0xC0}; + for (i = 0; i < 4; i++) + { + u8 spriteId = CreateSprite(&gSpriteTemplate_83ED54C, 0x50 - gSpriteCoordOffsetX, 0x44, 0); + struct Sprite *sprite = &gSprites[spriteId]; + sprite->oam.priority = 1; + sprite->coordOffsetEnabled = TRUE; + sprite->data[0] = sp[i]; + sSlotMachine->unk54[i] = spriteId; + } +} + +void sub_810594C(struct Sprite *sprite) +{ + sprite->data[0] -= 2; + sprite->data[0] &= 0xff; + sprite->pos2.x = Cos(sprite->data[0], 20); + sprite->pos2.y = Sin(sprite->data[0], 6); + sprite->subpriority = 0; + if (sprite->data[0] >= 0x80) + { + sprite->subpriority = 2; + } + if (++sprite->data[1] >= 16) + { + sprite->hFlip ^= 1; + sprite->data[1] = 0; + } +} + +void sub_81059B8(void) +{ + u8 i; + for (i = 0; i < 4; i++) + { + DestroySprite(&gSprites[sSlotMachine->unk54[i]]); + } +} + +void sub_81059E8(void) +{ + u8 spriteId = CreateSprite(&gSpriteTemplate_83ED564, 0xa8, 0x3c, 8); + struct Sprite *sprite = &gSprites[spriteId]; + sprite->oam.priority = 1; + sprite->oam.affineMode = ST_OAM_AFFINE_DOUBLE; + InitSpriteAffineAnim(sprite); + sSlotMachine->unk43 = spriteId; +} + +void sub_8105A38(struct Sprite *sprite) +{ + if (sprite->data[0] == 0) + { + if (sprite->affineAnimEnded) + sprite->data[0]++; + } + else if (sprite->data[0] == 1) + { + sprite->invisible ^= 1; + if (++sprite->data[2] >= 24) + { + sprite->data[0]++; + sprite->data[2] = 0; + } + } + else + { + sprite->invisible = TRUE; + if (++sprite->data[2] >= 16) + sprite->data[7] = 1; + } + sprite->data[1] &= 0xff; + sprite->data[1] += 16; + sprite->pos2.y -= (sprite->data[1] >> 8); +} + +u8 sub_8105ACC(void) +{ + return gSprites[sSlotMachine->unk43].data[7]; +} + +void sub_8105AEC(void) +{ + struct Sprite *sprite = &gSprites[sSlotMachine->unk43]; + FreeOamMatrix(sprite->oam.matrixNum); + DestroySprite(sprite); +} + +u8 sub_8105B1C(s16 x, s16 y) +{ + u8 spriteId = CreateSprite(&gSpriteTemplate_83ED6CC, x, y, 12); + struct Sprite *sprite = &gSprites[spriteId]; + sprite->oam.priority = 2; + sprite->oam.affineMode = ST_OAM_AFFINE_DOUBLE; + InitSpriteAffineAnim(sprite); + return spriteId; +} + +void sub_8105B70(struct Sprite *sprite) +{ + if (sprite->affineAnimEnded) + sprite->data[7] = 1; +} + +void sub_8105B88(u8 spriteId) +{ + struct Sprite *sprite = &gSprites[spriteId]; + FreeOamMatrix(sprite->oam.matrixNum); + DestroySprite(sprite); +} + +u8 sub_8105BB4(u8 templateIdx, u8 cbAndCoordsIdx, s16 a2) +{ + return sub_8105BF8(templateIdx, gUnknown_083ECF0C[cbAndCoordsIdx], gUnknown_083ECE7E[cbAndCoordsIdx][0], gUnknown_083ECE7E[cbAndCoordsIdx][1], a2); +} + +u8 sub_8105BF8(u8 templateIdx, SpriteCallback callback, s16 x, s16 y, s16 a4) +{ + struct SpriteTemplate spriteTemplate; + u8 spriteId; + struct Sprite *sprite; + + spriteTemplate = *gUnknown_083EDB5C[templateIdx]; + spriteTemplate.images = gUnknown_03001188[templateIdx]; + spriteId = CreateSprite(&spriteTemplate, x, y, 16); + sprite = &gSprites[spriteId]; + sprite->oam.priority = 3; + sprite->callback = callback; + sprite->data[6] = a4; + sprite->data[7] = 1; + if (gUnknown_083EDBC4[templateIdx]) + SetSubspriteTables(sprite, gUnknown_083EDBC4[templateIdx]); + return spriteId; +} + +void sub_8105C64(struct Sprite *sprite) +{ + sprite->data[7] = 0; +} + +void sub_8105C6C(struct Sprite *sprite) +{ + s16 sp0[] = {4, -4, 4, -4}; + s16 sp8[] = {4, 4, -4, -4}; + + if (sprite->data[1]++ >= 16) + { + sprite->subspriteTableNum ^= 1; + sprite->data[1] = 0; + } + sprite->pos2.x = 0; + sprite->pos2.y = 0; + if (sprite->subspriteTableNum != 0) + { + sprite->pos2.x = sp0[sprite->data[6]]; + sprite->pos2.y = sp8[sprite->data[6]]; + } +} + +void sub_8105CF0(struct Sprite *sprite) +{ + sprite->hFlip = TRUE; + sub_8105C6C(sprite); +} + +void sub_8105D08(struct Sprite *sprite) +{ + sprite->vFlip = TRUE; + sub_8105C6C(sprite); +} + +void sub_8105D20(struct Sprite *sprite) +{ + sprite->hFlip = TRUE; + sprite->vFlip = TRUE; + sub_8105C6C(sprite); +} + +void sub_8105D3C(struct Sprite *sprite) +{ + switch (sprite->data[0]) + { + case 0: + sprite->pos1.x += 4; + if (sprite->pos1.x >= 0xd0) + { + sprite->pos1.x = 0xd0; + sprite->data[0]++; + } + break; + case 1: + if (++sprite->data[1] > 90) + sprite->data[0]++; + break; + case 2: + sprite->pos1.x += 4; + if (sprite->pos1.x >= 0x110) + sprite->data[0]++; + break; + case 3: + sprite->data[7] = 0; + break; + } +} + +void sub_8105DA4(struct Sprite *sprite) +{ + switch (sprite->data[0]) + { + case 0: + sprite->pos1.x -= 4; + if (sprite->pos1.x <= 0xd0) + { + sprite->pos1.x = 0xd0; + sprite->data[0]++; + } + break; + case 1: + if (++sprite->data[1] > 90) + sprite->data[0]++; + break; + case 2: + sprite->pos1.x -= 4; + if (sprite->pos1.x <= 0x90) + sprite->data[0]++; + break; + case 3: + sprite->data[7] = 0; + break; + } +} + +void sub_8105E08(struct Sprite *sprite) +{ + switch (sprite->data[0]) + { + case 0: + StartSpriteAnim(sprite, sSlotMachine->unk0A - 1); + sprite->data[0]++; + // fallthrough + case 1: + if (++sprite->data[1] >= 4) + { + sprite->data[0]++; + sprite->data[1] = 0; + } + break; + case 2: + sprite->pos1.x += 4; + if (sprite->pos1.x >= 0xd0) + { + sprite->pos1.x = 0xd0; + sprite->data[0]++; + } + break; + case 3: + if (++sprite->data[1] > 90) + sprite->data[0]++; + break; + case 4: + sprite->pos1.x += 4; + if (sprite->pos1.x >= 0xf8) + sprite->data[0]++; + break; + case 5: + sprite->data[7] = 0; + break; + } +} + +void sub_8105EB4(struct Sprite *sprite) +{ + switch (sprite->data[0]) + { + case 0: + sprite->animPaused = TRUE; + sprite->data[0]++; + // fallthrough + case 1: + sprite->pos1.y += 8; + if (sprite->pos1.y >= 0x70) + { + sprite->pos1.y = 0x70; + sprite->data[1] = 16; + sprite->data[0]++; + } + break; + case 2: + if (sprite->data[2] == 0) + { + sprite->pos1.y -= sprite->data[1]; + sprite->data[1] = -sprite->data[1]; + if (++sprite->data[3] >= 2) + { + sprite->data[1] >>= 2; + sprite->data[3] = 0; + if (sprite->data[1] == 0) + { + sprite->data[0]++; + sprite->data[7] = 0; + sprite->animPaused = FALSE; + } + } + } + sprite->data[2]++; + sprite->data[2] &= 0x07; + break; + } +} + +void sub_8105F54(struct Sprite *sprite) +{ + switch (sprite->data[0]) + { + case 0: + if (++sprite->data[1] > 8) + sprite->data[0]++; + break; + case 1: + sprite->pos1.y += 2; + if (sprite->pos1.y >= 0x30) + { + sprite->pos1.y = 0x30; + sprite->data[0]++; + sprite->data[7] = 0; + } + break; + } +} + +void sub_8105F9C(struct Sprite *sprite) +{ + switch (sprite->data[0]) + { + case 0: + sprite->invisible = TRUE; + if (++sprite->data[1] > 0x20) + { + sprite->data[0]++; + sprite->data[1] = 5; + sprite->oam.mosaic = TRUE; + sprite->invisible = FALSE; + StartSpriteAnim(sprite, 1); + SetGpuReg(REG_OFFSET_MOSAIC, ((sprite->data[1] << 4) | sprite->data[1]) << 8); + } + break; + case 1: + sprite->data[1] -= (sprite->data[2] >> 8); + if (sprite->data[1] < 0) + sprite->data[1] = 0; + SetGpuReg(REG_OFFSET_MOSAIC, ((sprite->data[1] << 4) | sprite->data[1]) << 8); + sprite->data[2] &= 0xff; + sprite->data[2] += 0x80; + if (sprite->data[1] == 0) + { + sprite->data[0]++; + sprite->data[7] = 0; + sprite->oam.mosaic = FALSE; + StartSpriteAnim(sprite, 0); + } + break; + } +} + +void sub_8106058(struct Sprite *sprite) +{ + if (sprite->data[1] < 3) + { + LoadPalette(gUnknown_083EDE10[sprite->data[1]], (IndexOfSpritePaletteTag(6) << 4) + 0x100, 0x20); + if (++sprite->data[2] >= 4) + { + sprite->data[1]++; + sprite->data[2] = 0; + } + } + else + { + LoadPalette(gUnknown_083EDE10[sprite->data[1]], (IndexOfSpritePaletteTag(6) << 4) + 0x100, 0x20); + if (++sprite->data[2] >= 25) + { + sprite->data[1] = 0; + sprite->data[2] = 0; + } + } + StartSpriteAnimIfDifferent(sprite, 1); + sprite->data[7] = 0; +} + +void sub_81060FC(struct Sprite *sprite) +{ + s16 sp00[] = {0, -40, 0, 0, 48, 0, 24, 0}; + s16 sp10[] = {-32, 0, -32, -48, 0, -48, 0, -48}; + s16 sp20[] = {16, 12, 16, 0, 0, 4, 8, 8}; + + switch (sprite->data[0]) + { + case 0: + sprite->pos2.x = sp00[sprite->data[6]]; + sprite->pos2.y = sp10[sprite->data[6]]; + sprite->data[1] = sp20[sprite->data[6]]; + sprite->data[0]++; + // fallthrough + case 1: + if (sprite->data[1]-- == 0) + sprite->data[0]++; + break; + case 2: + if (sprite->pos2.x > 0) + sprite->pos2.x -= 4; + else if (sprite->pos2.x < 0) + sprite->pos2.x += 4; + + if (sprite->pos2.y > 0) + sprite->pos2.y -= 4; + else if (sprite->pos2.y < 0) + sprite->pos2.y += 4; + + if (sprite->pos2.x == 0 && sprite->pos2.y == 0) + sprite->data[0]++; + break; + } +} + +void sub_81061C8(struct Sprite *sprite) +{ + s16 sp0[] = {160, 192, 224, 104, 80, 64, 48, 24}; + + if (sprite->data[0] == 0) + { + sprite->data[0]++; + sprite->data[1] = 12; + } + sprite->pos2.x = Cos(sp0[sprite->data[6]], sprite->data[1]); + sprite->pos2.y = Sin(sp0[sprite->data[6]], sprite->data[1]); + if (sprite->data[1] != 0) + sprite->data[1]--; +} + +void sub_8106230(struct Sprite *sprite) +{ + switch (sprite->data[0]) + { + case 0: + sSlotMachine->winIn = 0x2f; + sSlotMachine->winOut = 0x3f; + sSlotMachine->win0v = 0x2088; + sprite->invisible = TRUE; + sprite->data[0]++; + // fallthrough + case 1: + sprite->data[1] += 2; + sprite->data[2] = sprite->data[1] + 0xb0; + sprite->data[3] = 0xf0 - sprite->data[1]; + if (sprite->data[2] > 0xd0) + sprite->data[2] = 0xd0; + if (sprite->data[3] < 0xd0) + sprite->data[3] = 0xd0; + sSlotMachine->win0h = (sprite->data[2] << 8) | sprite->data[3]; + if (sprite->data[1] > 0x33) + { + sprite->data[0]++; + sSlotMachine->winIn = 0x3f; + } + break; + case 2: + if (sSlotMachine->bet == 0) + break; + sub_8104D30(5, SpriteCallbackDummy, 0xd0, 0x74, 0); + sSlotMachine->win0h = 0xc0e0; + sSlotMachine->win0v = 0x6880; + sSlotMachine->winIn = 0x2f; + sprite->data[0]++; + sprite->data[1] = 0; + // fallthrough + case 3: + sprite->data[1] += 2; + sprite->data[2] = sprite->data[1] + 0xc0; + sprite->data[3] = 0xe0 - sprite->data[1]; + if (sprite->data[2] > 0xd0) + sprite->data[2] = 0xd0; + if (sprite->data[3] < 0xd0) + sprite->data[3] = 0xd0; + sSlotMachine->win0h = (sprite->data[2] << 8) | sprite->data[3]; + if (sprite->data[1] > 0x0f) + { + sprite->data[0]++; + sSlotMachine->winIn = 0x3f; + } + break; + } +} + +void nullsub_70(void) +{ +} + +void sub_8106364(void) +{ + SetGpuReg(REG_OFFSET_MOSAIC, 0); +} + +void sub_8106370(void) +{ + LoadPalette(gUnknown_083EDE20, (IndexOfSpritePaletteTag(6) << 4) + 0x100, 0x20); +} + +void sub_810639C(void) +{ + sSlotMachine->win0h = 0xf0; + sSlotMachine->win0v = 0xa0; + sSlotMachine->winIn = 0x3f; + sSlotMachine->winOut = 0x3f; +} + +void sub_81063C0(void) +{ + u8 i; + + sub_8106404(); + gUnknown_0203AAD4 = Alloc(0x3200); + LZDecompressWram(gSlotMachineReelTime_Gfx, gUnknown_0203AAD4); + gUnknown_0203AAD8 = Alloc(0x3600); + LZDecompressWram(sReelTimeGfx, gUnknown_0203AAD8); + gUnknown_0203AB30 = AllocZeroed(sizeof(struct SpriteSheet) * 22); + for (i = 0; i < 22; i++) + { + gUnknown_0203AB30[i].data = sSlotMachineSpriteSheets[i].data; + gUnknown_0203AB30[i].size = sSlotMachineSpriteSheets[i].size; + gUnknown_0203AB30[i].tag = sSlotMachineSpriteSheets[i].tag; + } + gUnknown_0203AB30[17].data = gUnknown_0203AAD4 + 0xA00; + gUnknown_0203AB30[18].data = gUnknown_0203AAD4 + 0x1400; + gUnknown_0203AB30[19].data = gUnknown_0203AAD4 + 0x1600; + gUnknown_0203AB30[20].data = gUnknown_0203AAD4 + 0x1900; + LoadSpriteSheets(gUnknown_0203AB30); + LoadSpritePalettes(gSlotMachineSpritePalettes); +} + +void sub_8106404(void) +{ + u8 *dest; + u8 i, j; + + gUnknown_0203AB2C = AllocZeroed(sizeof(struct SpriteSheet)); + gUnknown_0203AAE0 = AllocZeroed(0x2000); + dest = gUnknown_0203AAE0; + for (i = 0; i < 0x40; i++) + { + for (j = 0; j < 0x20; j++, dest++) + *dest = gUnknown_083EDCDC[j]; + } + gUnknown_0203AB2C->data = gUnknown_0203AAE0; + gUnknown_0203AB2C->size = 0x800; + gUnknown_0203AB2C->tag = 0x11; + LoadSpriteSheet(gUnknown_0203AB2C); +} + +extern const u8 gSlotMachineMenu_Gfx[]; +extern const u8 gSlotMachineMenu_Tilemap[]; +extern const u8 gUnknown_08DCEC70[]; +extern const u16 gSlotMachineMenu_Pal[]; + +void sub_8106448(void) +{ + gUnknown_0203AAC8 = Alloc(0x2200); + LZDecompressWram(gSlotMachineMenu_Gfx, gUnknown_0203AAC8); + LoadBgTiles(2, gUnknown_0203AAC8, 0x2200, 0); + LoadPalette(gSlotMachineMenu_Pal, 0, 160); + LoadPalette(gPalette_83EDE24, 208, 32); +} + +void sub_81064B8(void) +{ + sub_812F968(); + LoadSlotMachineWheelOverlay(); +} + +void sub_812F968(void) +{ + LoadBgTilemap(2, gSlotMachineMenu_Tilemap, 0x500, 0); +} + +void LoadSlotMachineWheelOverlay(void) +{ + s16 x, y, dx; + + for (x = 4; x < 18; x += 5) + { + for (dx = 0; dx < 4; dx++) + { + LoadBgTilemap(3, gUnknown_0203AAD0, 2, x + dx + 5 * 32); + LoadBgTilemap(3, gUnknown_0203AAD0 + 1, 2, x + dx + 13 * 32); + LoadBgTilemap(3, gUnknown_0203AAD0 + 2, 2, x + dx + 6 * 32); + LoadBgTilemap(3, gUnknown_0203AAD0 + 3, 2, x + dx + 12 * 32); + } + + LoadBgTilemap(3, gUnknown_0203AAD0 + 4, 2, x + 6 * 32); + LoadBgTilemap(3, gUnknown_0203AAD0 + 5, 2, x + 12 * 32); + + for (y = 7; y <= 11; y++) + LoadBgTilemap(3, gUnknown_0203AAD0 + 6, 2, x + y * 32); + } +} + +void sub_81065A8(s16 arg0, u16 arg1, u16 arg2, u16 arg3, u16 arg4) +{ + gUnknown_0203AADC[0] = arg1; + gUnknown_0203AADC[1] = arg2; + gUnknown_0203AADC[2] = arg3; + gUnknown_0203AADC[3] = arg4; + + LoadBgTilemap(2, gUnknown_0203AADC, 2, 15 * 32 + arg0); + LoadBgTilemap(2, gUnknown_0203AADC + 1, 2, 15 * 32 + 1 + arg0); + LoadBgTilemap(2, gUnknown_0203AADC + 2, 2, 16 * 32 + arg0); + LoadBgTilemap(2, gUnknown_0203AADC + 3, 2, 16 * 32 + 1 + arg0); +} + +void sub_81065DC(void) +{ + LoadBgTilemap(2, gUnknown_08DCEC70, 0x500, 0); + HideBg(3); +} + +void SlotMachineSetup_9_0(void) +{ + gUnknown_03001188[0] = gUnknown_0203AAF4; + gUnknown_03001188[1] = gUnknown_0203AAF8; + gUnknown_03001188[2] = gUnknown_0203AAFC; + gUnknown_03001188[3] = gUnknown_0203AB04; + gUnknown_03001188[4] = gUnknown_0203AB08; + gUnknown_03001188[5] = gUnknown_0203AB18; + gUnknown_03001188[6] = gUnknown_0203AB1C; + gUnknown_03001188[7] = gUnknown_0203AB20; + gUnknown_03001188[8] = gUnknown_0203AB24; + gUnknown_03001188[9] = gUnknown_0203AB28; + gUnknown_03001188[10] = gUnknown_0203AB00; + gUnknown_03001188[11] = gUnknown_0203AB00; + gUnknown_03001188[12] = gUnknown_0203AB00; + gUnknown_03001188[13] = gUnknown_0203AB00; + gUnknown_03001188[14] = gUnknown_0203AB0C; + gUnknown_03001188[15] = gUnknown_0203AB0C; + gUnknown_03001188[16] = gUnknown_0203AB0C; + gUnknown_03001188[17] = gUnknown_0203AB0C; + gUnknown_03001188[18] = gUnknown_0203AB0C; + gUnknown_03001188[19] = gUnknown_0203AB10; + gUnknown_03001188[20] = gUnknown_0203AB10; + gUnknown_03001188[21] = gUnknown_0203AB10; + gUnknown_03001188[22] = gUnknown_0203AB14; + gUnknown_03001188[23] = gUnknown_0203AB14; + gUnknown_03001188[24] = gUnknown_0203AB14; + gUnknown_03001188[25] = NULL; +} + +void SlotMachineSetup_8_0(void) +{ + gUnknown_0203AAF4 = AllocZeroed(sizeof(struct SpriteFrameImage) * 1); + gUnknown_0203AAF4[0].data = gUnknown_0203AAD4; + gUnknown_0203AAF4[0].size = 0x600; + + gUnknown_0203AAF8 = AllocZeroed(sizeof(struct SpriteFrameImage) * 1); + gUnknown_0203AAF8[0].data = gUnknown_0203AAD4 + 0x600; + gUnknown_0203AAF8[0].size = 0x200; + + gUnknown_0203AAFC = AllocZeroed(sizeof(struct SpriteFrameImage) * 1); + gUnknown_0203AAFC[0].data = gUnknown_0203AAD4 + 0x800; + gUnknown_0203AAFC[0].size = 0x200; + + gUnknown_0203AB00 = AllocZeroed(sizeof(struct SpriteFrameImage) * 1); + gUnknown_0203AB00[0].data = gUnknown_0203AAD4 + 0xA00; + gUnknown_0203AB00[0].size = 0x200; + + gUnknown_0203AB04 = AllocZeroed(sizeof(struct SpriteFrameImage) * 1); + gUnknown_0203AB04[0].data = gUnknown_0203AAD4 + 0xC00; + gUnknown_0203AB04[0].size = 0x300; + + gUnknown_0203AB08 = AllocZeroed(sizeof(struct SpriteFrameImage) * 1); + gUnknown_0203AB08[0].data = gUnknown_0203AAD4 + 0x1000; + gUnknown_0203AB08[0].size = 0x400; + + gUnknown_0203AB0C = AllocZeroed(sizeof(struct SpriteFrameImage) * 1); + gUnknown_0203AB0C[0].data = gUnknown_0203AAD4 + 0x1400; + gUnknown_0203AB0C[0].size = 0x200; + + gUnknown_0203AB10 = AllocZeroed(sizeof(struct SpriteFrameImage) * 1); + gUnknown_0203AB10[0].data = gUnknown_0203AAD4 + 0x1600; + gUnknown_0203AB10[0].size = 0x300; + + gUnknown_0203AB14 = AllocZeroed(sizeof(struct SpriteFrameImage) * 1); + gUnknown_0203AB14[0].data = gUnknown_0203AAD4 + 0x1900; + gUnknown_0203AB14[0].size = 0x300; + + gUnknown_0203AB18 = AllocZeroed(sizeof(struct SpriteFrameImage) * 2); + gUnknown_0203AB18[0].data = gUnknown_0203AAD4 + 0x1C00; + gUnknown_0203AB18[0].size = 0x200; + gUnknown_0203AB18[1].data = gUnknown_0203AAD4 + 0x1E00; + gUnknown_0203AB18[1].size = 0x200; + + gUnknown_0203AB1C = AllocZeroed(sizeof(struct SpriteFrameImage) * 1); + gUnknown_0203AB1C[0].data = gUnknown_0203AAD4 + 0x2000; + gUnknown_0203AB1C[0].size = 640; + + gUnknown_0203AB20 = AllocZeroed(sizeof(struct SpriteFrameImage) * 5); + gUnknown_0203AB20[0].data = gUnknown_0203AAD4 + 0x2280; + gUnknown_0203AB20[0].size = 0x80; + gUnknown_0203AB20[1].data = gUnknown_0203AAD4 + 0x2300; + gUnknown_0203AB20[1].size = 0x80; + gUnknown_0203AB20[2].data = gUnknown_0203AAD4 + 0x2380; + gUnknown_0203AB20[2].size = 0x80; + gUnknown_0203AB20[3].data = gUnknown_0203AAD4 + 0x2400; + gUnknown_0203AB20[3].size = 0x80; + gUnknown_0203AB20[4].data = gUnknown_0203AAD4 + 0x2480; + gUnknown_0203AB20[4].size = 0x80; + + gUnknown_0203AB24 = AllocZeroed(sizeof(struct SpriteFrameImage) * 2); + gUnknown_0203AB24[0].data = gUnknown_0203AAD4 + 0x2600; + gUnknown_0203AB24[0].size = 0x480; + gUnknown_0203AB24[1].data = gUnknown_0203AAD4 + 10880; + gUnknown_0203AB24[1].size = 0x480; + + gUnknown_0203AB28 = AllocZeroed(sizeof(struct SpriteFrameImage) * 2); + gUnknown_0203AB28[0].data = gUnknown_0203AAD4 + 0x2F00; + gUnknown_0203AB28[0].size = 0x180; + gUnknown_0203AB28[1].data = gUnknown_0203AAD4 + 0x3080; + gUnknown_0203AB28[1].size = 0x180; +} + +const u8 sReelSymbols[][21] = +{ + { + SLOT_MACHINE_TAG_7_RED, + SLOT_MACHINE_TAG_CHERRY, + SLOT_MACHINE_TAG_AZURILL, + SLOT_MACHINE_TAG_REPLAY, + SLOT_MACHINE_TAG_POWER, + SLOT_MACHINE_TAG_LOTAD, + SLOT_MACHINE_TAG_7_BLUE, + SLOT_MACHINE_TAG_LOTAD, + SLOT_MACHINE_TAG_CHERRY, + SLOT_MACHINE_TAG_POWER, + SLOT_MACHINE_TAG_REPLAY, + SLOT_MACHINE_TAG_AZURILL, + SLOT_MACHINE_TAG_7_RED, + SLOT_MACHINE_TAG_POWER, + SLOT_MACHINE_TAG_LOTAD, + SLOT_MACHINE_TAG_REPLAY, + SLOT_MACHINE_TAG_AZURILL, + SLOT_MACHINE_TAG_7_BLUE, + SLOT_MACHINE_TAG_POWER, + SLOT_MACHINE_TAG_LOTAD, + SLOT_MACHINE_TAG_REPLAY + }, + { + SLOT_MACHINE_TAG_7_RED, + SLOT_MACHINE_TAG_CHERRY, + SLOT_MACHINE_TAG_REPLAY, + SLOT_MACHINE_TAG_LOTAD, + SLOT_MACHINE_TAG_AZURILL, + SLOT_MACHINE_TAG_CHERRY, + SLOT_MACHINE_TAG_REPLAY, + SLOT_MACHINE_TAG_POWER, + SLOT_MACHINE_TAG_POWER, + SLOT_MACHINE_TAG_LOTAD, + SLOT_MACHINE_TAG_7_BLUE, + SLOT_MACHINE_TAG_LOTAD, + SLOT_MACHINE_TAG_REPLAY, + SLOT_MACHINE_TAG_CHERRY, + SLOT_MACHINE_TAG_AZURILL, + SLOT_MACHINE_TAG_LOTAD, + SLOT_MACHINE_TAG_REPLAY, + SLOT_MACHINE_TAG_CHERRY, + SLOT_MACHINE_TAG_LOTAD, + SLOT_MACHINE_TAG_REPLAY, + SLOT_MACHINE_TAG_CHERRY + }, + { + SLOT_MACHINE_TAG_7_RED, + SLOT_MACHINE_TAG_POWER, + SLOT_MACHINE_TAG_7_BLUE, + SLOT_MACHINE_TAG_REPLAY, + SLOT_MACHINE_TAG_LOTAD, + SLOT_MACHINE_TAG_AZURILL, + SLOT_MACHINE_TAG_REPLAY, + SLOT_MACHINE_TAG_LOTAD, + SLOT_MACHINE_TAG_POWER, + SLOT_MACHINE_TAG_AZURILL, + SLOT_MACHINE_TAG_REPLAY, + SLOT_MACHINE_TAG_LOTAD, + SLOT_MACHINE_TAG_AZURILL, + SLOT_MACHINE_TAG_POWER, + SLOT_MACHINE_TAG_REPLAY, + SLOT_MACHINE_TAG_LOTAD, + SLOT_MACHINE_TAG_AZURILL, + SLOT_MACHINE_TAG_POWER, + SLOT_MACHINE_TAG_REPLAY, + SLOT_MACHINE_TAG_LOTAD, + SLOT_MACHINE_TAG_CHERRY + }, +}; + +const u8 gUnknown_083ECCF1[] = { + 1, 0, 5, 4, 3, 2 +}; + +const s16 gUnknown_083ECCF8[][2] = { + {0, 6}, + {0, 10}, + {0, 2} +}; + +const u8 gUnknown_083ECD04[][3] = { + {1, 1, 12}, + {1, 1, 14}, + {2, 2, 14}, + {2, 2, 14}, + {2, 3, 16}, + {3, 3, 16} +}; + +const u8 gUnknown_083ECD16[][6] = { + {25, 25, 30, 40, 40, 50}, + {25, 25, 30, 30, 35, 35}, + {25, 25, 30, 25, 25, 30} +}; + +const u8 gUnknown_083ECD28[][6] = { + {20, 25, 25, 20, 25, 25}, + {12, 15, 15, 18, 19, 22}, + {25, 25, 25, 30, 30, 40}, + {25, 25, 20, 20, 15, 15}, + {40, 40, 35, 35, 40, 40} +}; + +const u8 gUnknown_083ECD46[][17] = { + {243, 243, 243, 80, 80, 80, 80, 40, 40, 40, 40, 40, 40, 5, 5, 5, 5}, + { 5, 5, 5, 150, 150, 150, 150, 130, 130, 130, 130, 130, 130, 100, 100, 100, 5}, + { 4, 4, 4, 20, 20, 20, 20, 80, 80, 80, 80, 80, 80, 100, 100, 100, 40}, + { 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 45, 45, 45, 100}, + { 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 5, 5, 5, 100}, + { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 6} +}; + +const u8 gUnknown_083ECDAC[][17] = { + { 243, 243, 243, 200, 200, 200, 200, 160, 160, 160, 160, 160, 160, 70, 70, 70, 5}, + { 5, 5, 5, 25, 25, 25, 25, 5, 5, 5, 5, 5, 5, 2, 2, 2, 6}, + { 4, 4, 4, 25, 25, 25, 25, 30, 30, 30, 30, 30, 30, 40, 40, 40, 35}, + { 2, 2, 2, 3, 3, 3, 3, 30, 30, 30, 30, 30, 30, 100, 100, 100, 50}, + { 1, 1, 1, 2, 2, 2, 2, 30, 30, 30, 30, 30, 30, 40, 40, 40, 100}, + { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, 4, 4, 60} +}; + +const u16 gUnknown_083ECE12[] = { + 0x80, 0xaf, 0xc8, 0xe1, 0x100 +}; + +const u16 gUnknown_083ECE1C[][2] = { + {10, 5}, + {10, 10}, + {10, 15}, + {10, 25}, + {10, 35} +}; + +const u16 gUnknown_083ECE30[] = { + 0, 5, 10, 15, 20 +}; + +const u8 gUnknown_083ECE3A[] = { + 6, 4, 3, 2, 5, 0, 0, 0 +}; + +const u16 gUnknown_083ECE42[] = { + 0x80, 0x20, 0x40 +}; + +const u16 gUnknown_083ECE48[] = { + 0x10, 0x08, 0x04, 0x02, 0x01 +}; + +const u8 sSym2Match[] = { + SLOT_MACHINE_MATCHED_777_RED, + SLOT_MACHINE_MATCHED_777_BLUE, + SLOT_MACHINE_MATCHED_AZURILL, + SLOT_MACHINE_MATCHED_LOTAD, + SLOT_MACHINE_MATCHED_1CHERRY, + SLOT_MACHINE_MATCHED_POWER, + SLOT_MACHINE_MATCHED_REPLAY +}; + +const u16 sSlotMatchFlags[] = { + 1 << SLOT_MACHINE_MATCHED_1CHERRY, + 1 << SLOT_MACHINE_MATCHED_2CHERRY, + 1 << SLOT_MACHINE_MATCHED_REPLAY, + 1 << SLOT_MACHINE_MATCHED_LOTAD, + 1 << SLOT_MACHINE_MATCHED_AZURILL, + 1 << SLOT_MACHINE_MATCHED_POWER, + 1 << SLOT_MACHINE_MATCHED_777_MIXED, + 1 << SLOT_MACHINE_MATCHED_777_RED, + 1 << SLOT_MACHINE_MATCHED_777_BLUE +}; + +const u16 sSlotPayouts[] = { + 2, 4, 0, 6, 12, 3, 90, 300, 300 +}; + +const s16 gUnknown_083ECE7E[][2] = { + { 0xd0, 0x38}, + { 0xb8, 0x00}, + { 0xc8, 0x08}, + { 0xd8, 0x10}, + { 0xe8, 0x18}, + { 0xd0, 0x48}, + { 0xd0, 0x08}, + { 0xd0, 0x40}, + { 0xd0, 0x38}, + { 0xc0, 0x58}, + { 0xe0, 0x58}, + { 0xc0, 0x78}, + { 0xe0, 0x78}, + { 0x90, 0x38}, + {0x110, 0x58}, + { 0xa8, 0x70}, + { 0xd0, 0x54}, + { 0xd0, 0x70}, + { 0xbc, 0x34}, + { 0xd0, 0x34}, + { 0xe4, 0x34}, + { 0xb8, 0x48}, + { 0xc4, 0x48}, + { 0xd0, 0x48}, + { 0xdc, 0x48}, + { 0xe8, 0x48}, + { 0xbc, 0x34}, + { 0xd0, 0x34}, + { 0xe4, 0x34}, + { 0xb8, 0x48}, + { 0xc4, 0x48}, + { 0xd0, 0x48}, + { 0xdc, 0x48}, + { 0xe8, 0x48}, + { 0x00, 0x00} +}; From 4d2637883a55d916badb0b7b6107da5b9145b529 Mon Sep 17 00:00:00 2001 From: DizzyEggg <jajkodizzy@wp.pl> Date: Sat, 15 Sep 2018 23:19:37 +0200 Subject: [PATCH 210/234] Slot machine is decompiled. --- asm/slot_machine.s | 10 - data/slot_machine.s | 201 -------- ld_script.txt | 1 - src/slot_machine.c | 1109 ++++++++++++++++++++++++------------------- sym_bss.txt | 4 +- sym_ewram.txt | 89 +--- 6 files changed, 619 insertions(+), 795 deletions(-) delete mode 100644 asm/slot_machine.s diff --git a/asm/slot_machine.s b/asm/slot_machine.s deleted file mode 100644 index c3fc4d140b..0000000000 --- a/asm/slot_machine.s +++ /dev/null @@ -1,10 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - - - .align 2, 0 @ Don't pad with nop. diff --git a/data/slot_machine.s b/data/slot_machine.s index 1a57f6abd1..4a354d71c9 100644 --- a/data/slot_machine.s +++ b/data/slot_machine.s @@ -4,207 +4,6 @@ .section .rodata .align 2 - -gUnknown_083ECF0C:: @ 85A78C8 - .4byte sub_8105C64 - .4byte sub_8105F54 - .4byte sub_8105F54 - .4byte sub_8105F54 - .4byte sub_8105F54 - .4byte sub_8105F9C - .4byte sub_8105EB4 - .4byte sub_8105C64 - .4byte sub_8105C64 - .4byte sub_8105C6C - .4byte sub_8105CF0 - .4byte sub_8105D08 - .4byte sub_8105D20 - .4byte sub_8105D3C - .4byte sub_8105DA4 - .4byte sub_8105E08 - .4byte sub_8105C64 - .4byte sub_8106058 - .4byte sub_81060FC - .4byte sub_81060FC - .4byte sub_81060FC - .4byte sub_81060FC - .4byte sub_81060FC - .4byte sub_81060FC - .4byte sub_81060FC - .4byte sub_81060FC - .4byte sub_81061C8 - .4byte sub_81061C8 - .4byte sub_81061C8 - .4byte sub_81061C8 - .4byte sub_81061C8 - .4byte sub_81061C8 - .4byte sub_81061C8 - .4byte sub_81061C8 - .4byte sub_8106230 - -gUnknown_085A7954:: @ 85A7954 - .byte 0x19 - .byte 0x22 - .2byte 0 - .byte 0x2 - .byte 0 - .2byte 0 - .byte 0x9 - .byte 0x10 - .2byte 0 - .byte 0xFF - .byte 0 - .2byte 0 - -gUnknown_085A7964:: @ 85A7964 - .byte 0xA - .byte 0x1 - .2byte 0 - .byte 0xB - .byte 2 - .2byte 0 - .byte 0xC - .byte 0x3 - .2byte 0 - .byte 0xD - .byte 4 - .2byte 0 - .byte 0x5 - .byte 5 - .2byte 0 - .byte 0x8 - .byte 0x6 - .2byte 0 - .byte 0xFF - .byte 0 - .2byte 0 - -gUnknown_085A7980:: @ 85A7980 - .byte 0x3 - .byte 0x7 - .2byte 0 - .byte 0x8 - .byte 0x11 - .2byte 0 - .byte 0xFF - .byte 0 - .2byte 0 - -gUnknown_085A798C:: @ 85A798C - .byte 0x4 - .byte 0x8 - .2byte 0 - .byte 0x6 - .byte 0x9 - .2byte 0 - .byte 0x6 - .byte 0xA - .2byte 1 - .byte 0x6 - .byte 0xB - .2byte 2 - .byte 0x6 - .byte 0xC - .2byte 3 - .byte 0xFF - .byte 0 - .2byte 0 - -gUnknown_085A79A4:: @ 85A79A4 - .byte 0 - .byte 0xD - .2byte 0 - .byte 1 - .byte 0xE - .2byte 0 - .byte 0x7 - .byte 0xF - .2byte 0 - .byte 0xFF - .byte 0 - .2byte 0 - -gUnknown_085A79B4:: @ 85A79B4 - .byte 0x13 - .byte 0x1A - .2byte 0 - .byte 0x14 - .byte 0x1B - .2byte 1 - .byte 0x15 - .byte 0x1C - .2byte 2 - .byte 0xE - .byte 0x1D - .2byte 3 - .byte 0xF - .byte 0x1E - .2byte 4 - .byte 0x10 - .byte 0x1F - .2byte 5 - .byte 0x11 - .byte 0x20 - .2byte 6 - .byte 0x12 - .byte 0x21 - .2byte 7 - .byte 0x8 - .byte 0x11 - .2byte 0 - .byte 0xFF - .byte 0 - .2byte 0 - -gUnknown_085A79DC:: @ 85A79DC - .byte 0x16 - .byte 0x12 - .2byte 0 - .byte 0x17 - .byte 0x13 - .2byte 1 - .byte 0x18 - .byte 0x14 - .2byte 2 - .byte 0xE - .byte 0x15 - .2byte 3 - .byte 0xF - .byte 0x16 - .2byte 4 - .byte 0x10 - .byte 0x17 - .2byte 5 - .byte 0x11 - .byte 0x18 - .2byte 6 - .byte 0x12 - .byte 0x19 - .2byte 7 - .byte 0x8 - .byte 0x11 - .2byte 0 - .byte 0xFF - .byte 0 - .2byte 0 - -gUnknown_083ED048:: @ 85A7A04 - .4byte gUnknown_085A7954 - .4byte gUnknown_085A7964 - .4byte gUnknown_085A7980 - .4byte gUnknown_085A798C - .4byte gUnknown_085A79A4 - .4byte gUnknown_085A79DC - .4byte gUnknown_085A79B4 - -gUnknown_083ED064:: @ 85A7A20 - .4byte sub_810639C - .4byte sub_8106364 - .4byte sub_8106370 - .4byte nullsub_70 - .4byte nullsub_70 - .4byte sub_8106370 - .4byte sub_8106370 gUnknown_085A7A3C:: @ 85A7A3C .2byte 0 diff --git a/ld_script.txt b/ld_script.txt index 2e36161218..e2ea3e5425 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -171,7 +171,6 @@ SECTIONS { asm/cute_sketch.o(.text); src/decoration.o(.text); src/slot_machine.o(.text); - asm/slot_machine.o(.text); asm/contest_painting.o(.text); src/battle_ai_script_commands.o(.text); src/trader.o(.text); diff --git a/src/slot_machine.c b/src/slot_machine.c index ec5640b912..ef52b71716 100644 --- a/src/slot_machine.c +++ b/src/slot_machine.c @@ -26,35 +26,6 @@ #include "window.h" extern u8 gOamLimit; -extern u16 *gUnknown_0203AAC8; -extern u16 *gUnknown_0203AACC; -extern u16 *gUnknown_0203AAD0; -extern u16 *gUnknown_0203AADC; -extern struct SpriteFrameImage *gUnknown_0203AAF4; -extern struct SpriteFrameImage *gUnknown_0203AAF8; -extern struct SpriteFrameImage *gUnknown_0203AAFC; -extern struct SpriteFrameImage *gUnknown_0203AB00; -extern struct SpriteFrameImage *gUnknown_0203AB04; -extern struct SpriteFrameImage *gUnknown_0203AB08; -extern struct SpriteFrameImage *gUnknown_0203AB0C; -extern struct SpriteFrameImage *gUnknown_0203AB10; -extern struct SpriteFrameImage *gUnknown_0203AB14; -extern struct SpriteFrameImage *gUnknown_0203AB18; -extern struct SpriteFrameImage *gUnknown_0203AB1C; -extern struct SpriteFrameImage *gUnknown_0203AB20; -extern struct SpriteFrameImage *gUnknown_0203AB24; -extern struct SpriteFrameImage *gUnknown_0203AB28; -extern struct SpriteFrameImage *gUnknown_0203AAE4; -extern struct SpriteFrameImage *gUnknown_0203AAE8; -extern struct SpriteFrameImage *gUnknown_0203AAEC; -extern struct SpriteFrameImage *gUnknown_0203AAF0; -extern u8 *gUnknown_0203AAD4; -extern u8 *gUnknown_0203AAD8; -extern u8 *gUnknown_0203AAE0; -extern struct SpriteSheet *gUnknown_0203AB2C; -extern struct SpriteSheet *gUnknown_0203AB30; - -extern struct SpriteFrameImage *gUnknown_03001188[]; // Text extern const u8 gText_YouDontHaveThreeCoins[]; @@ -140,8 +111,6 @@ struct SlotMachineEwramStruct /*0x64*/ MainCallback prevMainCb; }; -extern struct SlotMachineEwramStruct *sSlotMachine; - struct UnkStruct1 { /*0x00*/ u8 unk00; @@ -151,217 +120,250 @@ struct UnkStruct1 #define SLOTMACHINE_GFX_TILES 233 -/*static*/void CB2_SlotMachineSetup(void); -/*static*/void CB2_SlotMachineLoop(void); -/*static*/void PlaySlotMachine_Internal(u8 arg0, MainCallback cb); -/*static*/void SlotMachineDummyTask(u8 taskId); -/*static*/void SlotMachineSetup_0_0(void); -/*static*/void SlotMachineSetup_6_2(void); -/*static*/void SlotMachineSetup_1_0(void); -/*static*/void SlotMachineSetup_2_0(void); -/*static*/void SlotMachineSetup_2_1(void); -/*static*/void SlotMachineSetup_0_1(void); -/*static*/void SlotMachineSetup_3_0(void); -/*static*/void SlotMachineSetup_4_0(void); -/*static*/void SlotMachineSetup_5_0(void); -/*static*/void SlotMachineSetup_6_0(void); -/*static*/void SlotMachineSetup_6_1(void); -/*static*/void SlotMachineSetup_8_0(void); -/*static*/void SlotMachineSetup_9_0(void); -/*static*/void SlotMachineSetup_10_0(void); -/*static*/void SlotMachineSetup_10_1(void); -/*static*/void sub_8101D04(void); -/*static*/void sub_8104DA4(void); -/*static*/void sub_8101D24(u8 taskId); -/*static*/bool8 sub_8101D5C(struct Task *task); -/*static*/bool8 sub_8101D8C(struct Task *task); -/*static*/bool8 sub_8101DB0(struct Task *task); -/*static*/bool8 sub_8101DF4(struct Task *task); -/*static*/bool8 sub_8101E10(struct Task *task); -/*static*/bool8 sub_8101E3C(struct Task *task); -/*static*/bool8 sub_8101F44(struct Task *task); -/*static*/bool8 sub_8101F60(struct Task *task); -/*static*/bool8 sub_8101F88(struct Task *task); -/*static*/bool8 sub_8101FA4(struct Task *task); -/*static*/bool8 sub_8102008(struct Task *task); -/*static*/bool8 sub_8102034(struct Task *task); -/*static*/bool8 sub_8102058(struct Task *task); -/*static*/bool8 sub_8102090(struct Task *task); -bool8 sub_81020C8(struct Task *task); -/*static*/bool8 sub_81021E0(struct Task *task); -/*static*/bool8 sub_81021FC(struct Task *task); -/*static*/bool8 sub_8102264(struct Task *task); -/*static*/bool8 sub_81022A0(struct Task *task); -/*static*/bool8 sub_81022CC(struct Task *task); -/*static*/bool8 sub_81022F0(struct Task *task); -/*static*/bool8 sub_8102318(struct Task *task); -/*static*/bool8 sub_8102344(struct Task *task); -/*static*/bool8 sub_810239C(struct Task *task); -/*static*/bool8 sub_81023B8(struct Task *task); -/*static*/bool8 sub_81023E0_(struct Task *task); -/*static*/bool8 sub_81023FC(struct Task *task); -/*static*/bool8 sub_8102424(struct Task *task); -/*static*/bool8 sub_8102460(struct Task *task); -/*static*/void sub_8102484(void); -/*static*/void sub_81024F0(void); -/*static*/bool8 sub_8102540_(void); -/*static*/u8 sub_8102578(void); -/*static*/u16 dp15_jump_random_unknown(void); -/*static*/u8 sub_81025BC(void); -/*static*/void CheckMatch(void); -/*static*/void CheckMatch_CenterRow(void); -/*static*/void CheckMatch_TopAndBottom(void); -/*static*/void CheckMatch_Diagonals(void); -/*static*/u8 GetMatchFromSymbolsInRow(u8 c1, u8 c2, u8 c3); -/*static*/void sub_8102A24(void); -/*static*/void sub_8102A64(u8 taskId); -/*static*/bool8 sub_8102A44(void); -/*static*/bool8 sub_8102A9C(struct Task *task); -/*static*/bool8 sub_8102AD0(struct Task *task); -/*static*/bool8 sub_8102B80(struct Task *task); -/*static*/u8 GetTagOfReelSymbolOnScreenAtPos(u8 x, s16 y); -/*static*/void sub_8102DA8(void); -/*static*/void sub_8102DEC(u8 a0); -/*static*/void sub_8102E1C(u8 a0); -/*static*/bool8 sub_8102E40(u8 a0); -/*static*/void sub_8102E68(u8 taskId); -/*static*/bool8 sub_8102EA0(struct Task *task); -/*static*/bool8 sub_8102EA4(struct Task *task); -/*static*/bool8 sub_8102EC0(struct Task *task); -/*static*/bool8 sub_8102F4C(struct Task *task); -/*static*/bool8 sub_8103008(struct Task *task); -/*static*/bool8 sub_810305C(void); -/*static*/bool8 sub_8103154(u8 a0, u8 a1); -/*static*/bool8 sub_81031B4(u8 a0, u8 a1); -/*static*/bool8 sub_81032C0(void); -/*static*/bool8 sub_81032E8(void); -/*static*/bool8 sub_810333C(void); -/*static*/bool8 sub_81033DC(void); -/*static*/bool8 sub_810341C(u8 a0); -/*static*/bool8 sub_810347C(u8 a0); -/*static*/void sub_81034F4(void); -/*static*/void sub_8103540(void); -/*static*/void sub_8103564(void); -/*static*/void j5_08111E84(void); -/*static*/void sub_8103668(void); -/*static*/void sub_810380C(void); -/*static*/void sub_8103830(void); -/*static*/void sub_8103910(void); -/*static*/void sub_8103A78(void); -/*static*/void sub_8103C14(u8 a0); -/*static*/void sub_8103C48(u8 taskId); -/*static*/void sub_8103D50(u8 a0); -/*static*/void sub_8103C78(struct Task *task, u8 taskId); -/*static*/void sub_8103CAC(struct Task *task, u8 taskId); -/*static*/void sub_8103CC8(struct Task *task, u8 taskId); -/*static*/void sub_8103D8C(u8 a0); -/*static*/void sub_8103DC8(void); -/*static*/void sub_8103E04(u8 a0); -/*static*/bool8 sub_8103E38(void); -/*static*/bool8 sub_8103E7C(void); -/*static*/bool8 sub_8103EAC(u8 spriteId); -/*static*/void sub_8103EE4(struct Sprite *sprite); -/*static*/void sub_8103F70(void); -/*static*/bool8 sub_8103FA0(void); -/*static*/void sub_8103FE8_(u8 taskId); -/*static*/void sub_8104048(void); -/*static*/void sub_8104064(u8 pikaPower); -/*static*/bool8 sub_81040C8(void); -/*static*/void sub_81040E8(u8 taskId); -/*static*/void nullsub_68(struct Task *task); -/*static*/void sub_810411C(struct Task *task); -/*static*/void sub_8104144(struct Task *task); -/*static*/void sub_81041AC(struct Task *task); -/*static*/void sub_812D394(struct Task *task); -/*static*/void sub_810423C(u8 pikaPower); -/*static*/void sub_810430C(void); -/*static*/bool8 sub_810432C(void); -/*static*/void sub_810434C(u8 taskId); -/*static*/void sub_810437C(struct Task *task); -/*static*/void sub_81043EC(struct Task *task); -/*static*/void sub_8104468(struct Task *task); -/*static*/void sub_8104498(struct Task *task); -/*static*/void sub_8104548(struct Task *task); -/*static*/void sub_8104598(struct Task *task); -/*static*/void sub_81045CC(struct Task *task); -/*static*/void sub_810463C(struct Task *task); -/*static*/void sub_81046C0(struct Task *task); -/*static*/void sub_8104764(struct Task *task); -/*static*/void sub_8104794(struct Task *task); -/*static*/void sub_81047EC(struct Task *task); -/*static*/void sub_8104860(struct Task *task); -/*static*/void sub_81048A8(struct Task *task); -/*static*/void sub_81048CC(struct Task *task); -/*static*/void sub_8104940(struct Task *task); -/*static*/void sub_81049C8(struct Task *task); -/*static*/void sub_81049F8(struct Task *task); -/*static*/void sub_8104A40(s16 a0, s16 a1); -/*static*/void sub_8104A88(s16 a0); -/*static*/void sub_8104AB8(u8 a0); -/*static*/bool8 sub_8104AEC(void); -/*static*/void sub_8104B0C(u8 taskId); -/*static*/void sub_8104B3C(struct Task *task); -/*static*/void sub_8104B60(struct Task *task); -/*static*/void sub_8104B80(struct Task *task); -/*static*/void sub_8104BC8(struct Task *task); -/*static*/void sub_812DD78(struct Task *task); -/*static*/void sub_8104BFC(struct Task *task); -/*static*/void sub_812DE14(struct Task *task); -/*static*/void sub_812DE30(struct Task *task); -/*static*/void sub_8104C44(struct Task *task); -/*static*/void sub_8104C5C(void); -/*static*/void sub_8104CAC(u8 arg0); -/*static*/bool8 sub_8104E18(void); -/*static*/void nullsub_69(struct Task *task); -/*static*/void sub_8104E74_(u8 taskId); -/*static*/void sub_8104EA8(void); -/*static*/void sub_8104F8C(void); -/*static*/void sub_8104FF4(s16 x, s16 y, u8 a2, s16 a3); -/*static*/void sub_81050C4(void); -/*static*/void sub_8105100(void); -/*static*/void sub_810514C(void); -/*static*/void sub_81051C0(void); -/*static*/void sub_8105284_(void); -/*static*/void sub_81052EC(void); -/*static*/void sub_81053A0(void); -/*static*/void sub_810545C(void); -/*static*/void sub_81054B8(void); -/*static*/void sub_8105524(void); -/*static*/void sub_8105554(void); -/*static*/void sub_8105578(void); -/*static*/void sub_8105688(s16 a0); -/*static*/void sub_81056C0(void); -/*static*/void sub_81056F0(void); -/*static*/void sub_81057E8(s16 a0); -/*static*/void sub_8105804(void); -/*static*/void sub_8105854(void); -/*static*/void sub_81058A0(void); -/*static*/void sub_81058C4(void); -/*static*/void sub_81059B8(void); -/*static*/void sub_81059E8(void); -/*static*/bool8 sub_8105ACC(void); -/*static*/void sub_8105AEC(void); -/*static*/u8 sub_8105B1C(s16 x, s16 y); -/*static*/void sub_8105B88(u8 spriteId); -/*static*/u8 sub_8105BF8(u8 templateIdx, void (*callback)(struct Sprite*), s16 x, s16 y, s16 a4); -/*static*/void sub_81063C0(void); -/*static*/void sub_8106404(void); -/*static*/void sub_8106448(void); -/*static*/void sub_81064B8(void); -/*static*/void sub_81065A8(s16 arg0, u16 arg1, u16 arg2, u16 arg3, u16 arg4); -/*static*/void sub_81065DC(void); -/*static*/void sub_812F958(void); -/*static*/void sub_812F968(void); -void LoadSlotMachineWheelOverlay(void); -u8 sub_8105BB4(u8 templateIdx, u8 cbAndCoordsIdx, s16 a2); +/*static */void CB2_SlotMachineSetup(void); +/*static */void CB2_SlotMachineLoop(void); +/*static */void PlaySlotMachine_Internal(u8 arg0, MainCallback cb); +/*static */void SlotMachineDummyTask(u8 taskId); +/*static */void SlotMachineSetup_0_0(void); +/*static */void SlotMachineSetup_6_2(void); +/*static */void SlotMachineSetup_1_0(void); +/*static */void SlotMachineSetup_2_0(void); +/*static */void SlotMachineSetup_2_1(void); +/*static */void SlotMachineSetup_0_1(void); +/*static */void SlotMachineSetup_3_0(void); +/*static */void SlotMachineSetup_4_0(void); +/*static */void SlotMachineSetup_5_0(void); +/*static */void SlotMachineSetup_6_0(void); +/*static */void SlotMachineSetup_6_1(void); +/*static */void SlotMachineSetup_8_0(void); +/*static */void SlotMachineSetup_9_0(void); +/*static */void SlotMachineSetup_10_0(void); +/*static */void SlotMachineSetup_10_1(void); +/*static */void sub_8101D04(void); +/*static */void sub_8104DA4(void); +/*static */void sub_8101D24(u8 taskId); +/*static */bool8 sub_8101D5C(struct Task *task); +/*static */bool8 sub_8101D8C(struct Task *task); +/*static */bool8 sub_8101DB0(struct Task *task); +/*static */bool8 sub_8101DF4(struct Task *task); +/*static */bool8 sub_8101E10(struct Task *task); +/*static */bool8 sub_8101E3C(struct Task *task); +/*static */bool8 sub_8101F44(struct Task *task); +/*static */bool8 sub_8101F60(struct Task *task); +/*static */bool8 sub_8101F88(struct Task *task); +/*static */bool8 sub_8101FA4(struct Task *task); +/*static */bool8 sub_8102008(struct Task *task); +/*static */bool8 sub_8102034(struct Task *task); +/*static */bool8 sub_8102058(struct Task *task); +/*static */bool8 sub_8102090(struct Task *task); +/*static */bool8 sub_81020C8(struct Task *task); +/*static */bool8 sub_81021E0(struct Task *task); +/*static */bool8 sub_81021FC(struct Task *task); +/*static */bool8 sub_8102264(struct Task *task); +/*static */bool8 sub_81022A0(struct Task *task); +/*static */bool8 sub_81022CC(struct Task *task); +/*static */bool8 sub_81022F0(struct Task *task); +/*static */bool8 sub_8102318(struct Task *task); +/*static */bool8 sub_8102344(struct Task *task); +/*static */bool8 sub_810239C(struct Task *task); +/*static */bool8 sub_81023B8(struct Task *task); +/*static */bool8 sub_81023E0_(struct Task *task); +/*static */bool8 sub_81023FC(struct Task *task); +/*static */bool8 sub_8102424(struct Task *task); +/*static */bool8 sub_8102460(struct Task *task); +/*static */void sub_8102484(void); +/*static */void sub_81024F0(void); +/*static */bool8 sub_8102540_(void); +/*static */u8 sub_8102578(void); +/*static */u16 dp15_jump_random_unknown(void); +/*static */u8 sub_81025BC(void); +/*static */void CheckMatch(void); +/*static */void CheckMatch_CenterRow(void); +/*static */void CheckMatch_TopAndBottom(void); +/*static */void CheckMatch_Diagonals(void); +/*static */u8 GetMatchFromSymbolsInRow(u8 c1, u8 c2, u8 c3); +/*static */void sub_8102A24(void); +/*static */void sub_8102A64(u8 taskId); +/*static */bool8 sub_8102A44(void); +/*static */bool8 sub_8102A9C(struct Task *task); +/*static */bool8 sub_8102AD0(struct Task *task); +/*static */bool8 sub_8102B80(struct Task *task); +/*static */u8 GetTagOfReelSymbolOnScreenAtPos(u8 x, s16 y); +/*static */void sub_8102DA8(void); +/*static */void sub_8102DEC(u8 a0); +/*static */void sub_8102E1C(u8 a0); +/*static */bool8 sub_8102E40(u8 a0); +/*static */void sub_8102E68(u8 taskId); +/*static */bool8 sub_8102EA0(struct Task *task); +/*static */bool8 sub_8102EA4(struct Task *task); +/*static */bool8 sub_8102EC0(struct Task *task); +/*static */bool8 sub_8102F4C(struct Task *task); +/*static */bool8 sub_8103008(struct Task *task); +/*static */bool8 sub_810305C(void); +/*static */bool8 sub_8103154(u8 a0, u8 a1); +/*static */bool8 sub_81031B4(u8 a0, u8 a1); +/*static */bool8 sub_81032C0(void); +/*static */bool8 sub_81032E8(void); +/*static */bool8 sub_810333C(void); +/*static */bool8 sub_81033DC(void); +/*static */bool8 sub_810341C(u8 a0); +/*static */bool8 sub_810347C(u8 a0); +/*static */void sub_81034F4(void); +/*static */void sub_8103540(void); +/*static */void sub_8103564(void); +/*static */void j5_08111E84(void); +/*static */void sub_8103668(void); +/*static */void sub_810380C(void); +/*static */void sub_8103830(void); +/*static */void sub_8103910(void); +/*static */void sub_8103A78(void); +/*static */void sub_8103C14(u8 a0); +/*static */void sub_8103C48(u8 taskId); +/*static */void sub_8103D50(u8 a0); +/*static */void sub_8103C78(struct Task *task, u8 taskId); +/*static */void sub_8103CAC(struct Task *task, u8 taskId); +/*static */void sub_8103CC8(struct Task *task, u8 taskId); +/*static */void sub_8103D8C(u8 a0); +/*static */void sub_8103DC8(void); +/*static */void sub_8103E04(u8 a0); +/*static */bool8 sub_8103E38(void); +/*static */bool8 sub_8103E7C(void); +/*static */bool8 sub_8103EAC(u8 spriteId); +/*static */void sub_8103EE4(struct Sprite *sprite); +/*static */void sub_8103F70(void); +/*static */bool8 sub_8103FA0(void); +/*static */void sub_8103FE8_(u8 taskId); +/*static */void sub_8104048(void); +/*static */void sub_8104064(u8 pikaPower); +/*static */bool8 sub_81040C8(void); +/*static */void sub_81040E8(u8 taskId); +/*static */void nullsub_68(struct Task *task); +/*static */void sub_810411C(struct Task *task); +/*static */void sub_8104144(struct Task *task); +/*static */void sub_81041AC(struct Task *task); +/*static */void sub_812D394(struct Task *task); +/*static */void sub_810423C(u8 pikaPower); +/*static */void sub_810430C(void); +/*static */bool8 sub_810432C(void); +/*static */void sub_810434C(u8 taskId); +/*static */void sub_810437C(struct Task *task); +/*static */void sub_81043EC(struct Task *task); +/*static */void sub_8104468(struct Task *task); +/*static */void sub_8104498(struct Task *task); +/*static */void sub_8104548(struct Task *task); +/*static */void sub_8104598(struct Task *task); +/*static */void sub_81045CC(struct Task *task); +/*static */void sub_810463C(struct Task *task); +/*static */void sub_81046C0(struct Task *task); +/*static */void sub_8104764(struct Task *task); +/*static */void sub_8104794(struct Task *task); +/*static */void sub_81047EC(struct Task *task); +/*static */void sub_8104860(struct Task *task); +/*static */void sub_81048A8(struct Task *task); +/*static */void sub_81048CC(struct Task *task); +/*static */void sub_8104940(struct Task *task); +/*static */void sub_81049C8(struct Task *task); +/*static */void sub_81049F8(struct Task *task); +/*static */void sub_8104A40(s16 a0, s16 a1); +/*static */void sub_8104A88(s16 a0); +/*static */void sub_8104AB8(u8 a0); +/*static */bool8 sub_8104AEC(void); +/*static */void sub_8104B0C(u8 taskId); +/*static */void sub_8104B3C(struct Task *task); +/*static */void sub_8104B60(struct Task *task); +/*static */void sub_8104B80(struct Task *task); +/*static */void sub_8104BC8(struct Task *task); +/*static */void sub_812DD78(struct Task *task); +/*static */void sub_8104BFC(struct Task *task); +/*static */void sub_812DE14(struct Task *task); +/*static */void sub_812DE30(struct Task *task); +/*static */void sub_8104C44(struct Task *task); +/*static */void sub_8104C5C(void); +/*static */void sub_8104CAC(u8 arg0); +/*static */bool8 sub_8104E18(void); +/*static */void nullsub_69(struct Task *task); +/*static */void sub_8104E74_(u8 taskId); +/*static */void sub_8104EA8(void); +/*static */void sub_8104F8C(void); +/*static */void sub_8104FF4(s16 x, s16 y, u8 a2, s16 a3); +/*static */void sub_81050C4(void); +/*static */void sub_8105100(void); +/*static */void sub_810514C(void); +/*static */void sub_81051C0(void); +/*static */void sub_8105284_(void); +/*static */void sub_81052EC(void); +/*static */void sub_81053A0(void); +/*static */void sub_810545C(void); +/*static */void sub_81054B8(void); +/*static */void sub_8105524(void); +/*static */void sub_8105554(void); +/*static */void sub_8105578(void); +/*static */void sub_8105688(s16 a0); +/*static */void sub_81056C0(void); +/*static */void sub_81056F0(void); +/*static */void sub_81057E8(s16 a0); +/*static */void sub_8105804(void); +/*static */void sub_8105854(void); +/*static */void sub_81058A0(void); +/*static */void sub_81058C4(void); +/*static */void sub_81059B8(void); +/*static */void sub_81059E8(void); +/*static */bool8 sub_8105ACC(void); +/*static */void sub_8105AEC(void); +/*static */u8 sub_8105B1C(s16 x, s16 y); +/*static */void sub_8105B88(u8 spriteId); +/*static */u8 sub_8105BF8(u8 templateIdx, void (*callback)(struct Sprite*), s16 x, s16 y, s16 a4); +/*static */void sub_81063C0(void); +/*static */void sub_8106404(void); +/*static */void sub_8106448(void); +/*static */void sub_81064B8(void); +/*static */void sub_81065A8(s16 arg0, u16 arg1, u16 arg2, u16 arg3, u16 arg4); +/*static */void sub_81065DC(void); +/*static */void sub_812F958(void); +/*static */void sub_812F968(void); +/*static */void LoadSlotMachineWheelOverlay(void); +/*static */u8 sub_8105BB4(u8 templateIdx, u8 cbAndCoordsIdx, s16 a2); + +// Ewram variables +static EWRAM_DATA u16 *gUnknown_0203AAC8 = NULL; +static EWRAM_DATA u16 *gUnknown_0203AACC = NULL; +static EWRAM_DATA u16 *gUnknown_0203AAD0 = NULL; +static EWRAM_DATA u8 *gUnknown_0203AAD4 = NULL; +static EWRAM_DATA u8 *gUnknown_0203AAD8 = NULL; +static EWRAM_DATA u16 *gUnknown_0203AADC = NULL; +static EWRAM_DATA u8 *gUnknown_0203AAE0 = NULL; +static EWRAM_DATA struct SpriteFrameImage *gUnknown_0203AAE4 = NULL; +static EWRAM_DATA struct SpriteFrameImage *gUnknown_0203AAE8 = NULL; +static EWRAM_DATA struct SpriteFrameImage *gUnknown_0203AAEC = NULL; +static EWRAM_DATA struct SpriteFrameImage *gUnknown_0203AAF0 = NULL; +static EWRAM_DATA struct SpriteFrameImage *gUnknown_0203AAF4 = NULL; +static EWRAM_DATA struct SpriteFrameImage *gUnknown_0203AAF8 = NULL; +static EWRAM_DATA struct SpriteFrameImage *gUnknown_0203AAFC = NULL; +static EWRAM_DATA struct SpriteFrameImage *gUnknown_0203AB00 = NULL; +static EWRAM_DATA struct SpriteFrameImage *gUnknown_0203AB04 = NULL; +static EWRAM_DATA struct SpriteFrameImage *gUnknown_0203AB08 = NULL; +static EWRAM_DATA struct SpriteFrameImage *gUnknown_0203AB0C = NULL; +static EWRAM_DATA struct SpriteFrameImage *gUnknown_0203AB10 = NULL; +static EWRAM_DATA struct SpriteFrameImage *gUnknown_0203AB14 = NULL; +static EWRAM_DATA struct SpriteFrameImage *gUnknown_0203AB18 = NULL; +static EWRAM_DATA struct SpriteFrameImage *gUnknown_0203AB1C = NULL; +static EWRAM_DATA struct SpriteFrameImage *gUnknown_0203AB20 = NULL; +static EWRAM_DATA struct SpriteFrameImage *gUnknown_0203AB24 = NULL; +static EWRAM_DATA struct SpriteFrameImage *gUnknown_0203AB28 = NULL; +static EWRAM_DATA struct SpriteSheet *gUnknown_0203AB2C = NULL; +static EWRAM_DATA struct SpriteSheet *gUnknown_0203AB30 = NULL; +static EWRAM_DATA struct SlotMachineEwramStruct *sSlotMachine = NULL; + +// IWRAM bss +static IWRAM_DATA struct SpriteFrameImage *gUnknown_03001188[26]; // Const rom data. -/*static*/extern const struct UnkStruct1 *const gUnknown_083ED048[]; -/*static*/extern const u16 gPalette_83EDE24[]; -/*static*/extern const u8 gUnknown_083ECD04[][3]; -/*static*/extern const u8 gUnknown_083ECE3A[]; -/*static*/extern const u16 gUnknown_083ECE42[]; -/*static*/extern const u16 gUnknown_083ECE48[]; +extern const struct UnkStruct1 *const gUnknown_083ED048[]; +extern const u16 gPalette_83EDE24[]; +extern const u8 gUnknown_083ECD04[][3]; +extern const u8 gUnknown_083ECE3A[]; +extern const u16 gUnknown_083ECE42[]; +extern const u16 gUnknown_083ECE48[]; extern const s16 gUnknown_083ECE7E[][2]; extern const SpriteCallback gUnknown_083ECF0C[]; extern const struct SpriteTemplate *const gUnknown_083EDB5C[]; @@ -370,7 +372,7 @@ extern const struct SpriteTemplate gSpriteTemplate_83ED6CC; extern const struct SpriteTemplate gSpriteTemplate_83ED564; extern const struct SpriteTemplate gSpriteTemplate_83ED54C; extern const struct SpriteTemplate gSpriteTemplate_83ED534; -extern const u8 gUnknown_083ECC58[2]; // don't remove this until decompiled through gUnknown_083ECCF8 +extern const u8 gUnknown_083ECC58[2]; extern const struct SpriteTemplate gSpriteTemplate_83ED51C; extern const u16 gUnknown_083ECE12[]; extern const u16 *const gUnknown_083EDE10[]; @@ -654,7 +656,7 @@ extern const struct SpriteTemplate gSpriteTemplate_83ED45C; // code #define tState data[0] -void Task_FadeToSlotMachine(u8 taskId) +/*static */void Task_FadeToSlotMachine(u8 taskId) { switch (gTasks[taskId].tState) { @@ -684,7 +686,7 @@ void PlaySlotMachine(u8 arg0, MainCallback cb) #undef tState -void CB2_SlotMachineSetup(void) +/*static */void CB2_SlotMachineSetup(void) { switch (gMain.state) { @@ -745,7 +747,7 @@ void CB2_SlotMachineSetup(void) } } -void CB2_SlotMachineLoop(void) +/*static */void CB2_SlotMachineLoop(void) { RunTasks(); AnimateSprites(); @@ -753,7 +755,7 @@ void CB2_SlotMachineLoop(void) UpdatePaletteFade(); } -void SlotMachine_VBlankCallback(void) +/*static */void SlotMachine_VBlankCallback(void) { LoadOam(); ProcessSpriteCopyRequests(); @@ -764,25 +766,25 @@ void SlotMachine_VBlankCallback(void) SetGpuReg(REG_OFFSET_WINOUT, sSlotMachine->winOut); } -void PlaySlotMachine_Internal(u8 arg0, MainCallback cb) +/*static */void PlaySlotMachine_Internal(u8 arg0, MainCallback cb) { struct Task *task = gTasks + CreateTask(SlotMachineDummyTask, 0xFF); task->data[0] = arg0; StoreWordInTwoHalfwords(task->data + 1, (intptr_t)cb); } -void sub_81019EC(void) +/*static */void sub_81019EC(void) { struct Task *task = gTasks + FindTaskIdByFunc(SlotMachineDummyTask); sSlotMachine->unk01 = task->data[0]; LoadWordFromTwoHalfwords((u16 *)(task->data + 1), (u32 *)&sSlotMachine->prevMainCb); } -void SlotMachineDummyTask(u8 taskId) +/*static */void SlotMachineDummyTask(u8 taskId) { } -void SlotMachineSetup_0_0(void) +/*static */void SlotMachineSetup_0_0(void) { SetVBlankCallback(NULL); SetHBlankCallback(NULL); @@ -793,24 +795,24 @@ void SlotMachineSetup_0_0(void) DeactivateAllTextPrinters(); } -void SlotMachineSetup_6_0(void) +/*static */void SlotMachineSetup_6_0(void) { SetVBlankCallback(SlotMachine_VBlankCallback); EnableInterrupts(INTR_FLAG_VBLANK); SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_1D_MAP | DISPCNT_OBJ_ON | DISPCNT_WIN0_ON); } -void SlotMachineSetup_1_0(void) +/*static */void SlotMachineSetup_1_0(void) { DmaClearLarge16(3, (u16 *)(BG_VRAM), BG_VRAM_SIZE, 0x1000); } -void SlotMachineSetup_2_0(void) +/*static */void SlotMachineSetup_2_0(void) { DmaClear16(3, (u16 *)OAM, OAM_SIZE); } -void SlotMachineSetup_2_1(void) +/*static */void SlotMachineSetup_2_1(void) { SetGpuReg(REG_OFFSET_BG0CNT, 0); SetGpuReg(REG_OFFSET_BG1CNT, 0); @@ -830,7 +832,7 @@ void SlotMachineSetup_2_1(void) SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(9, 8)); } -void SlotMachineSetup_0_1(void) +/*static */void SlotMachineSetup_0_1(void) { u8 i; @@ -863,7 +865,7 @@ void SlotMachineSetup_0_1(void) sub_80EDE70(GetCoins()); } -void SlotMachineSetup_3_0(void) +/*static */void SlotMachineSetup_3_0(void) { ResetPaletteFade(); ResetSpriteData(); @@ -872,7 +874,7 @@ void SlotMachineSetup_3_0(void) ResetTasks(); } -void SlotMachineSetup_4_0(void) +/*static */void SlotMachineSetup_4_0(void) { gUnknown_0203AACC = Alloc(8); gUnknown_0203AAD0 = AllocZeroed(0xE); @@ -887,7 +889,7 @@ void SlotMachineSetup_4_0(void) gUnknown_0203AAD0[6] = 0x20BF; } -void SlotMachineSetup_5_0(void) +/*static */void SlotMachineSetup_5_0(void) { sub_8106448(); sub_81064B8(); @@ -897,7 +899,7 @@ void SlotMachineSetup_5_0(void) PutWindowTilemap(0); } -void SlotMachineSetup_10_0(void) +/*static */void SlotMachineSetup_10_0(void) { sub_8104EA8(); sub_8104F8C(); @@ -905,7 +907,7 @@ void SlotMachineSetup_10_0(void) sub_81050C4(); } -void SlotMachineSetup_10_1(void) +/*static */void SlotMachineSetup_10_1(void) { sub_8104048(); sub_8102DA8(); @@ -913,18 +915,18 @@ void SlotMachineSetup_10_1(void) sub_8101D04(); } -void sub_8101D04(void) +/*static */void sub_8101D04(void) { sub_8101D24(CreateTask(sub_8101D24, 0)); } -void sub_8101D24(u8 taskId) +/*static */void sub_8101D24(u8 taskId) { while (gUnknown_083ECAAC[sSlotMachine->state](gTasks + taskId)) ; } -bool8 sub_8101D5C(struct Task *task) +/*static */bool8 sub_8101D5C(struct Task *task) { BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB(0, 0, 0)); sub_810423C(sSlotMachine->pikaPower); @@ -932,14 +934,14 @@ bool8 sub_8101D5C(struct Task *task) return FALSE; } -bool8 sub_8101D8C(struct Task *task) +/*static */bool8 sub_8101D8C(struct Task *task) { if (!gPaletteFade.active) sSlotMachine->state++; return FALSE; } -bool8 sub_8101DB0(struct Task *task) +/*static */bool8 sub_8101DB0(struct Task *task) { sSlotMachine->payout = 0; sSlotMachine->bet = 0; @@ -958,14 +960,14 @@ bool8 sub_8101DB0(struct Task *task) return TRUE; } -bool8 sub_8101DF4(struct Task *task) +/*static */bool8 sub_8101DF4(struct Task *task) { if (sub_8104E18()) sSlotMachine->state = 4; return FALSE; } -bool8 sub_8101E10(struct Task *task) +/*static */bool8 sub_8101E10(struct Task *task) { sub_8104CAC(0); sSlotMachine->state = 5; @@ -974,7 +976,7 @@ bool8 sub_8101E10(struct Task *task) return TRUE; } -bool8 sub_8101E3C(struct Task *task) +/*static */bool8 sub_8101E3C(struct Task *task) { s16 i; @@ -1016,7 +1018,7 @@ bool8 sub_8101E3C(struct Task *task) return FALSE; } -bool8 sub_8101F44(struct Task *task) +/*static */bool8 sub_8101F44(struct Task *task) { NewMenuHelpers_DrawDialogueFrame(0, 0); AddTextPrinterParameterized(0, 1, gText_YouDontHaveThreeCoins, 0, 1, 0, 0); @@ -1025,7 +1027,7 @@ bool8 sub_8101F44(struct Task *task) return FALSE; } -bool8 sub_8101F60(struct Task *task) +/*static */bool8 sub_8101F60(struct Task *task) { if (gMain.newKeys & (A_BUTTON | B_BUTTON)) { @@ -1035,14 +1037,14 @@ bool8 sub_8101F60(struct Task *task) return FALSE; } -bool8 sub_8101F88(struct Task *task) +/*static */bool8 sub_8101F88(struct Task *task) { if (sub_8104AEC()) sSlotMachine->state = 5; return FALSE; } -bool8 sub_8101FA4(struct Task *task) +/*static */bool8 sub_8101FA4(struct Task *task) { sub_8102484(); sub_8104DA4(); @@ -1067,7 +1069,7 @@ bool8 sub_8101FA4(struct Task *task) return FALSE; } -bool8 sub_8102008(struct Task *task) +/*static */bool8 sub_8102008(struct Task *task) { if (sub_810432C()) { @@ -1078,7 +1080,7 @@ bool8 sub_8102008(struct Task *task) return FALSE; } -bool8 sub_8102034(struct Task *task) +/*static */bool8 sub_8102034(struct Task *task) { if (++task->data[0] >= 30) { @@ -1088,7 +1090,7 @@ bool8 sub_8102034(struct Task *task) return FALSE; } -bool8 sub_8102058(struct Task *task) +/*static */bool8 sub_8102058(struct Task *task) { if (gMain.newKeys & A_BUTTON) { @@ -1100,7 +1102,7 @@ bool8 sub_8102058(struct Task *task) return FALSE; } -bool8 sub_8102090(struct Task *task) +/*static */bool8 sub_8102090(struct Task *task) { if (!sub_8102E40(sSlotMachine->unk18)) { @@ -1115,7 +1117,7 @@ bool8 sub_8102090(struct Task *task) return FALSE; } -bool8 sub_81020C8(struct Task *task) +/*static */bool8 sub_81020C8(struct Task *task) { sSlotMachine->unk04 &= 0xc0; CheckMatch(); @@ -1177,14 +1179,14 @@ bool8 sub_81020C8(struct Task *task) return FALSE; } -bool8 sub_81021E0(struct Task *task) +/*static */bool8 sub_81021E0(struct Task *task) { if (sub_8102A44()) sSlotMachine->state = 16; return FALSE; } -bool8 sub_81021FC(struct Task *task) +/*static */bool8 sub_81021FC(struct Task *task) { if (sub_8103FA0()) { @@ -1207,7 +1209,7 @@ bool8 sub_81021FC(struct Task *task) return FALSE; } -bool8 sub_8102264(struct Task *task) +/*static */bool8 sub_8102264(struct Task *task) { if (!sub_81040C8()) { @@ -1225,7 +1227,7 @@ bool8 sub_8102264(struct Task *task) return FALSE; } -bool8 sub_81022A0(struct Task *task) +/*static */bool8 sub_81022A0(struct Task *task) { if (sub_8104E18()) { @@ -1238,7 +1240,7 @@ bool8 sub_81022A0(struct Task *task) return FALSE; } -bool8 sub_81022CC(struct Task *task) +/*static */bool8 sub_81022CC(struct Task *task) { sub_8103D8C(0); sub_8103D8C(1); @@ -1247,7 +1249,7 @@ bool8 sub_81022CC(struct Task *task) return FALSE; } -bool8 sub_81022F0(struct Task *task) +/*static */bool8 sub_81022F0(struct Task *task) { if (++task->data[1] > 64) { @@ -1257,7 +1259,7 @@ bool8 sub_81022F0(struct Task *task) return FALSE; } -bool8 sub_8102318(struct Task *task) +/*static */bool8 sub_8102318(struct Task *task) { NewMenuHelpers_DrawDialogueFrame(0, 0); AddTextPrinterParameterized(0, 1, gText_QuitTheGame, 0, 1, 0, 0); @@ -1267,7 +1269,7 @@ bool8 sub_8102318(struct Task *task) return FALSE; } -bool8 sub_8102344(struct Task *task) +/*static */bool8 sub_8102344(struct Task *task) { s8 input = Menu_ProcessInputNoWrap_(); if (input == 0) @@ -1287,7 +1289,7 @@ bool8 sub_8102344(struct Task *task) return FALSE; } -bool8 sub_810239C(struct Task *task) +/*static */bool8 sub_810239C(struct Task *task) { NewMenuHelpers_DrawDialogueFrame(0, 0); AddTextPrinterParameterized(0, 1, gText_YouveGot9999Coins, 0, 1, 0, 0); @@ -1296,7 +1298,7 @@ bool8 sub_810239C(struct Task *task) return FALSE; } -bool8 sub_81023B8(struct Task *task) +/*static */bool8 sub_81023B8(struct Task *task) { if (gMain.newKeys & (A_BUTTON | B_BUTTON)) { @@ -1306,7 +1308,7 @@ bool8 sub_81023B8(struct Task *task) return FALSE; } -bool8 sub_81023E0_(struct Task *task) +/*static */bool8 sub_81023E0_(struct Task *task) { NewMenuHelpers_DrawDialogueFrame(0, 0); AddTextPrinterParameterized(0, 1, gText_YouveRunOutOfCoins, 0, 1, 0, 0); @@ -1315,7 +1317,7 @@ bool8 sub_81023E0_(struct Task *task) return FALSE; } -bool8 sub_81023FC(struct Task *task) +/*static */bool8 sub_81023FC(struct Task *task) { if (gMain.newKeys & (A_BUTTON | B_BUTTON)) { @@ -1325,7 +1327,7 @@ bool8 sub_81023FC(struct Task *task) return FALSE; } -bool8 sub_8102424(struct Task *task) +/*static */bool8 sub_8102424(struct Task *task) { SetCoins(sSlotMachine->coins); sub_80EDD78(GetCoins()); @@ -1334,7 +1336,7 @@ bool8 sub_8102424(struct Task *task) return FALSE; } -bool8 sub_8102460(struct Task *task) +/*static */bool8 sub_8102460(struct Task *task) { if (!gPaletteFade.active) { @@ -1376,7 +1378,7 @@ bool8 sub_8102460(struct Task *task) return FALSE; } -void sub_8102484(void) +/*static */void sub_8102484(void) { u8 r3; @@ -1405,14 +1407,14 @@ void sub_8102484(void) } } -void sub_81024F0(void) +/*static */void sub_81024F0(void) { sSlotMachine->unk06 = 0; if (sSlotMachine->unk04) sSlotMachine->unk06 = 1; } -u8 sub_810250C(u8 a0) +/*static */u8 sub_810250C(u8 a0) { u8 i; @@ -1425,7 +1427,7 @@ u8 sub_810250C(u8 a0) return 0; } -bool8 sub_8102540_(void) +/*static */bool8 sub_8102540_(void) { u8 rval = Random(); if (gUnknown_083ECD04[sSlotMachine->unk01][sSlotMachine->bet - 1] > rval) @@ -1433,7 +1435,7 @@ bool8 sub_8102540_(void) return FALSE; } -u8 sub_8102578(void) +/*static */u8 sub_8102578(void) { s16 i; @@ -1447,7 +1449,7 @@ u8 sub_8102578(void) return i; } -u8 sub_81025BC(void) +/*static */u8 sub_81025BC(void) { s16 i; @@ -1473,7 +1475,7 @@ u8 sub_81025BC(void) return i; } -u8 sub_810264C(u8 a0) +/*static */u8 sub_810264C(u8 a0) { if (sSlotMachine->unk03 == 0) return gUnknown_083ECD46[a0][sSlotMachine->pikaPower]; @@ -1481,7 +1483,7 @@ u8 sub_810264C(u8 a0) return gUnknown_083ECDAC[a0][sSlotMachine->pikaPower]; } -void sub_8102680(void) +/*static */void sub_8102680(void) { u8 rval; s16 i; @@ -1499,7 +1501,7 @@ void sub_8102680(void) sSlotMachine->unk05 = i; } -bool8 sub_81026DC(u16 a0) +/*static */bool8 sub_81026DC(u16 a0) { u16 rval = Random() & 0xff; if (rval < gUnknown_083ECE12[a0]) @@ -1508,7 +1510,7 @@ bool8 sub_81026DC(u16 a0) return FALSE; } -u16 dp15_jump_random_unknown(void) +/*static */u16 dp15_jump_random_unknown(void) { u8 r4 = 0; u8 rval; @@ -1532,7 +1534,7 @@ u16 dp15_jump_random_unknown(void) return 8; } -void CheckMatch(void) +/*static */void CheckMatch(void) { sSlotMachine->matchedSymbols = 0; CheckMatch_CenterRow(); @@ -1542,7 +1544,7 @@ void CheckMatch(void) CheckMatch_Diagonals(); } -void CheckMatch_CenterRow(void) +/*static */void CheckMatch_CenterRow(void) { u8 c1, c2, c3, match; @@ -1558,7 +1560,7 @@ void CheckMatch_CenterRow(void) } } -void CheckMatch_TopAndBottom(void) +/*static */void CheckMatch_TopAndBottom(void) { u8 c1, c2, c3, match; @@ -1588,7 +1590,7 @@ void CheckMatch_TopAndBottom(void) } } -void CheckMatch_Diagonals(void) +/*static */void CheckMatch_Diagonals(void) { u8 c1, c2, c3, match; @@ -1620,7 +1622,7 @@ void CheckMatch_Diagonals(void) } } -u8 GetMatchFromSymbolsInRow(u8 c1, u8 c2, u8 c3) +/*static */u8 GetMatchFromSymbolsInRow(u8 c1, u8 c2, u8 c3) { if (c1 == c2 && c1 == c3) return sSym2Match[c1]; @@ -1633,12 +1635,12 @@ u8 GetMatchFromSymbolsInRow(u8 c1, u8 c2, u8 c3) return SLOT_MACHINE_MATCHED_NONE; } -void sub_8102A24(void) +/*static */void sub_8102A24(void) { sub_8102A64(CreateTask(sub_8102A64, 4)); } -bool8 sub_8102A44(void) +/*static */bool8 sub_8102A44(void) { if (FindTaskIdByFunc(sub_8102A64) == 0xff) return TRUE; @@ -1646,13 +1648,13 @@ bool8 sub_8102A44(void) return FALSE; } -void sub_8102A64(u8 taskId) +/*static */void sub_8102A64(u8 taskId) { while (gUnknown_083ECB20[gTasks[taskId].data[0]](gTasks + taskId)) ; } -bool8 sub_8102A9C(struct Task *task) +/*static */bool8 sub_8102A9C(struct Task *task) { if (sub_8103E38()) { @@ -1666,7 +1668,7 @@ bool8 sub_8102A9C(struct Task *task) return FALSE; } -bool8 sub_8102AD0(struct Task *task) +/*static */bool8 sub_8102AD0(struct Task *task) { if (!task->data[1]--) { @@ -1692,14 +1694,14 @@ bool8 sub_8102AD0(struct Task *task) return FALSE; } -bool8 sub_8102B80(struct Task *task) +/*static */bool8 sub_8102B80(struct Task *task) { if (sub_8103E7C()) DestroyTask(FindTaskIdByFunc(sub_8102A64)); return FALSE; } -u8 GetTagOfReelSymbolOnScreenAtPos(u8 x, s16 y) +/*static */u8 GetTagOfReelSymbolOnScreenAtPos(u8 x, s16 y) { s16 offset = (sSlotMachine->reelPositions[x] + y) % 21; if (offset < 0) @@ -1707,7 +1709,7 @@ u8 GetTagOfReelSymbolOnScreenAtPos(u8 x, s16 y) return sReelSymbols[x][offset]; } -u8 GetTagOfReelSymbolOnScreenAtPos_AdjustForPixelOffset(u8 x, s16 y) +/*static */u8 GetTagOfReelSymbolOnScreenAtPos_AdjustForPixelOffset(u8 x, s16 y) { s16 r6 = 0; s16 result = sSlotMachine->unk1C[x] % 24; @@ -1716,7 +1718,7 @@ u8 GetTagOfReelSymbolOnScreenAtPos_AdjustForPixelOffset(u8 x, s16 y) return GetTagOfReelSymbolOnScreenAtPos(x, y + r6); } -u8 sub_8102C48(s16 a0) +/*static */u8 sub_8102C48(s16 a0) { s16 r1 = (sSlotMachine->unk16 + a0) % 6; if (r1 < 0) @@ -1724,7 +1726,7 @@ u8 sub_8102C48(s16 a0) return gUnknown_083ECCF1[r1]; } -void sub_8102C84(u8 a0, s16 a1) +/*static */void sub_8102C84(u8 a0, s16 a1) { sSlotMachine->unk1C[a0] += a1; sSlotMachine->unk1C[a0] %= 504; @@ -1744,7 +1746,7 @@ s16 sub_8102CCC(u8 a0, s16 a1) return r1; } -void sub_8102D28(s16 a0) +/*static */void sub_8102D28(s16 a0) { sSlotMachine->unk14 += a0; sSlotMachine->unk14 %= 120; @@ -1764,7 +1766,7 @@ s16 sub_8102D5C(s16 a0) return r1; } -void sub_8102DA8(void) +/*static */void sub_8102DA8(void) { u8 i; for (i = 0; i < 3; i++) @@ -1776,41 +1778,41 @@ void sub_8102DA8(void) } } -void sub_8102DEC(u8 a0) +/*static */void sub_8102DEC(u8 a0) { gTasks[sSlotMachine->reelTasks[a0]].data[0] = 1; gTasks[sSlotMachine->reelTasks[a0]].data[14] = 1; } -void sub_8102E1C(u8 a0) +/*static */void sub_8102E1C(u8 a0) { gTasks[sSlotMachine->reelTasks[a0]].data[0] = 2; } -bool8 sub_8102E40(u8 a0) +/*static */bool8 sub_8102E40(u8 a0) { return gTasks[sSlotMachine->reelTasks[a0]].data[14]; } -void sub_8102E68(u8 taskId) +/*static */void sub_8102E68(u8 taskId) { while (gUnknown_083ECB2C[gTasks[taskId].data[0]](gTasks + taskId)) ; } -bool8 sub_8102EA0(struct Task *task) +/*static */bool8 sub_8102EA0(struct Task *task) { return FALSE; } -bool8 sub_8102EA4(struct Task *task) +/*static */bool8 sub_8102EA4(struct Task *task) { sub_8102C84(task->data[15], sSlotMachine->unk1A); return FALSE; } -bool8 sub_8102EC0(struct Task *task) +/*static */bool8 sub_8102EC0(struct Task *task) { task->data[0]++; sSlotMachine->unk34[task->data[15]] = 0; @@ -1824,7 +1826,7 @@ bool8 sub_8102EC0(struct Task *task) return TRUE; } -bool8 sub_8102F4C(struct Task *task) +/*static */bool8 sub_8102F4C(struct Task *task) { u16 sp[ARRAY_COUNT(gUnknown_085A74FC)]; s16 r2; @@ -1848,7 +1850,7 @@ bool8 sub_8102F4C(struct Task *task) return FALSE; } -bool8 sub_8103008(struct Task *task) +/*static */bool8 sub_8103008(struct Task *task) { sSlotMachine->unk22[task->data[15]] = task->data[1]; task->data[1] = -task->data[1]; @@ -1864,7 +1866,7 @@ bool8 sub_8103008(struct Task *task) return FALSE; } -bool8 sub_810305C(void) +/*static */bool8 sub_810305C(void) { u8 r3 = sub_810250C(sSlotMachine->unk04); u8 r5 = r3; @@ -1876,7 +1878,7 @@ bool8 sub_810305C(void) return gUnknown_083ECB64[sSlotMachine->bet - 1](r5, r3); } -bool8 sub_81030A4(s16 y, u8 tag1, u8 tag2) +/*static */bool8 sub_81030A4(s16 y, u8 tag1, u8 tag2) { u8 tag = GetTagOfReelSymbolOnScreenAtPos_AdjustForPixelOffset(0, y); if (tag == tag1 || tag == tag2) @@ -1887,7 +1889,7 @@ bool8 sub_81030A4(s16 y, u8 tag1, u8 tag2) return FALSE; } -bool8 sub_81030E0(s16 y) +/*static */bool8 sub_81030E0(s16 y) { if (GetTagOfReelSymbolOnScreenAtPos_AdjustForPixelOffset(0, 1 - y) == 4 || GetTagOfReelSymbolOnScreenAtPos_AdjustForPixelOffset(0, 2 - y) == 4 || GetTagOfReelSymbolOnScreenAtPos_AdjustForPixelOffset(0, 3 - y) == 4) return TRUE; @@ -1895,7 +1897,7 @@ bool8 sub_81030E0(s16 y) return FALSE; } -bool8 sub_8103134(void) +/*static */bool8 sub_8103134(void) { if (sSlotMachine->unk04 & 0xc2) return TRUE; @@ -1903,7 +1905,7 @@ bool8 sub_8103134(void) return FALSE; } -bool8 sub_8103154(u8 a0, u8 a1) +/*static */bool8 sub_8103154(u8 a0, u8 a1) { s16 i; @@ -1919,7 +1921,7 @@ bool8 sub_8103154(u8 a0, u8 a1) return FALSE; } -bool8 sub_81031B4(u8 tag1, u8 tag2) +/*static */bool8 sub_81031B4(u8 tag1, u8 tag2) { s16 i; bool8 r6 = sub_8103134(); @@ -1963,12 +1965,12 @@ bool8 sub_81031B4(u8 tag1, u8 tag2) return FALSE; } -bool8 sub_81032C0(void) +/*static */bool8 sub_81032C0(void) { return gUnknown_083ECB70[sSlotMachine->bet - 1](); } -bool8 sub_81032E8(void) +/*static */bool8 sub_81032E8(void) { s16 i; s16 unk34_0 = sSlotMachine->unk34[0]; @@ -1985,7 +1987,7 @@ bool8 sub_81032E8(void) return FALSE; } -bool8 sub_810333C(void) +/*static */bool8 sub_810333C(void) { s16 i; if (sub_81032E8()) @@ -2019,7 +2021,7 @@ bool8 sub_810333C(void) return FALSE; } -bool8 sub_81033DC(void) +/*static */bool8 sub_81033DC(void) { u8 r3 = sSlotMachine->unk07; if (sSlotMachine->unk04 & 0x40) @@ -2033,7 +2035,7 @@ bool8 sub_81033DC(void) return gUnknown_083ECB7C[sSlotMachine->bet - 1](r3); } -bool8 sub_810341C(u8 a0) +/*static */bool8 sub_810341C(u8 a0) { s16 i; s16 unk34_1 = sSlotMachine->unk34[1]; @@ -2050,7 +2052,7 @@ bool8 sub_810341C(u8 a0) return FALSE; } -bool8 sub_810347C(u8 a0) +/*static */bool8 sub_810347C(u8 a0) { s16 i; s16 r8; @@ -2072,7 +2074,7 @@ bool8 sub_810347C(u8 a0) return FALSE; } -void sub_81034F4(void) +/*static */void sub_81034F4(void) { s16 i = 0; @@ -2081,7 +2083,7 @@ void sub_81034F4(void) sSlotMachine->unk2E[0] = i; } -bool8 sub_8103520(u8 *a0) +/*static */bool8 sub_8103520(u8 *a0) { if (*a0 == 0) { @@ -2096,12 +2098,12 @@ bool8 sub_8103520(u8 *a0) return FALSE; } -void sub_8103540(void) +/*static */void sub_8103540(void) { gUnknown_083ECB88[sSlotMachine->bet - 1](); } -void sub_8103564(void) +/*static */void sub_8103564(void) { if (sSlotMachine->unk34[0] != 0 && sSlotMachine->unk04 & 0x80) { @@ -2122,7 +2124,7 @@ void sub_8103564(void) } } -void j5_08111E84(void) +/*static */void j5_08111E84(void) { if (sSlotMachine->unk34[0] != 0 && sSlotMachine->unk04 & 0x80) { @@ -2143,7 +2145,7 @@ void j5_08111E84(void) } } -void sub_8103668(void) +/*static */void sub_8103668(void) { s16 i; s16 j; @@ -2208,7 +2210,7 @@ void sub_8103668(void) } } -bool8 sub_8103764(u8 a0, u8 a1) +/*static */bool8 sub_8103764(u8 a0, u8 a1) { if ((a0 == 0 && a1 == 1) || (a0 == 1 && a1 == 0)) return TRUE; @@ -2216,7 +2218,7 @@ bool8 sub_8103764(u8 a0, u8 a1) return FALSE; } -bool8 sub_810378C(u8 a0, u8 a1, u8 a2) +/*static */bool8 sub_810378C(u8 a0, u8 a1, u8 a2) { if ((a0 == 0 && a1 == 1 && a2 == 0) || (a0 == 1 && a1 == 0 && a2 == 1)) return TRUE; @@ -2224,7 +2226,7 @@ bool8 sub_810378C(u8 a0, u8 a1, u8 a2) return FALSE; } -bool8 sub_81037BC(u8 a0, u8 a1, u8 a2) +/*static */bool8 sub_81037BC(u8 a0, u8 a1, u8 a2) { if ((a0 == 0 && a1 == 1 && a2 == 0) || (a0 == 1 && a1 == 0 && a2 == 1) || @@ -2237,12 +2239,12 @@ bool8 sub_81037BC(u8 a0, u8 a1, u8 a2) return TRUE; } -void sub_810380C(void) +/*static */void sub_810380C(void) { gUnknown_083ECB94[sSlotMachine->bet - 1](); } -void sub_8103830(void) +/*static */void sub_8103830(void) { s16 i = 0; u8 r5 = GetTagOfReelSymbolOnScreenAtPos_AdjustForPixelOffset(0, 2 - sSlotMachine->unk2E[0]); @@ -2281,7 +2283,7 @@ void sub_8103830(void) sSlotMachine->unk2E[2] = i; } -void sub_8103910(void) +/*static */void sub_8103910(void) { s16 sp0 = 0; s16 i; @@ -2327,7 +2329,7 @@ void sub_8103910(void) sSlotMachine->unk2E[2] = sp0; } -void sub_8103A78(void) +/*static */void sub_8103A78(void) { u8 r6; u8 r5; @@ -2376,61 +2378,61 @@ void sub_8103A78(void) } } -void sub_8103C14(u8 a0) +/*static */void sub_8103C14(u8 a0) { u8 taskId = CreateTask(sub_8103C48, 5); gTasks[taskId].data[15] = a0; sub_8103C48(taskId); } -void sub_8103C48(u8 taskId) +/*static */void sub_8103C48(u8 taskId) { gUnknown_083ECBA0[gTasks[taskId].data[0]](gTasks + taskId, taskId); } -void sub_8103C78(struct Task *task, u8 taskId) +/*static */void sub_8103C78(struct Task *task, u8 taskId) { sub_81065A8(gUnknown_083ECBAC[task->data[15]], 0x62, 0x63, 0x72, 0x73); task->data[0]++; } -void sub_8103CAC(struct Task *task, u8 taskId) +/*static */void sub_8103CAC(struct Task *task, u8 taskId) { if (++task->data[1] > 11) task->data[0]++; } -void sub_8103CC8(struct Task *task, u8 taskId) +/*static */void sub_8103CC8(struct Task *task, u8 taskId) { sub_81065A8(gUnknown_083ECBAC[task->data[15]], 0x42, 0x43, 0x52, 0x53); DestroyTask(taskId); } -void sub_8103D00(u8 a0) +/*static */void sub_8103D00(u8 a0) { LoadPalette(gUnknown_083EDD08[a0], gUnknown_083EDD30[a0], 2); } -void sub_8103D28(u8 a0) +/*static */void sub_8103D28(u8 a0) { LoadPalette(gUnknown_083EDD1C[a0], gUnknown_083EDD30[a0], 2); } -void sub_8103D50(u8 a0) +/*static */void sub_8103D50(u8 a0) { u8 i; for (i = 0; i < gUnknown_083EDD3B[a0]; i++) sub_8103D00(gUnknown_083EDD35[a0][i]); } -void sub_8103D8C(u8 a0) +/*static */void sub_8103D8C(u8 a0) { u8 i; for (i = 0; i < gUnknown_083EDD3B[a0]; i++) sub_8103D28(gUnknown_083EDD35[a0][i]); } -void sub_8103DC8(void) +/*static */void sub_8103DC8(void) { u8 i; for (i = 0; i < 5; i++) @@ -2441,7 +2443,7 @@ void sub_8103DC8(void) } } -void sub_8103E04(u8 a0) +/*static */void sub_8103E04(u8 a0) { struct Sprite *sprite = gSprites + sSlotMachine->unk44[a0]; sprite->data[1] = 1; @@ -2452,7 +2454,7 @@ void sub_8103E04(u8 a0) sprite->data[7] = 0; } -bool8 sub_8103E38(void) +/*static */bool8 sub_8103E38(void) { u8 i; for (i = 0; i < 5; i++) @@ -2464,7 +2466,7 @@ bool8 sub_8103E38(void) return TRUE; } -bool8 sub_8103E7C(void) +/*static */bool8 sub_8103E7C(void) { u8 i; for (i = 0; i < 5; i++) @@ -2475,7 +2477,7 @@ bool8 sub_8103E7C(void) return TRUE; } -bool8 sub_8103EAC(u8 spriteId) +/*static */bool8 sub_8103EAC(u8 spriteId) { struct Sprite *sprite = gSprites + spriteId; if (!sprite->data[1]) @@ -2485,7 +2487,7 @@ bool8 sub_8103EAC(u8 spriteId) return sprite->data[7]; } -void sub_8103EE4(struct Sprite *sprite) +/*static */void sub_8103EE4(struct Sprite *sprite) { s16 r4; if (sprite->data[1]) @@ -2514,14 +2516,14 @@ void sub_8103EE4(struct Sprite *sprite) } } -void sub_8103F70(void) +/*static */void sub_8103F70(void) { u8 taskId = CreateTask(sub_8103FE8_, 6); gTasks[taskId].data[3] = 1; sub_8103FE8_(taskId); } -bool8 sub_8103FA0(void) +/*static */bool8 sub_8103FA0(void) { u8 taskId = FindTaskIdByFunc(sub_8103FE8_); if (!gTasks[taskId].data[2]) @@ -2533,7 +2535,7 @@ bool8 sub_8103FA0(void) return FALSE; } -void sub_8103FE8_(u8 taskId) +/*static */void sub_8103FE8_(u8 taskId) { struct Task *task = gTasks + taskId; if (!task->data[1]--) @@ -2546,12 +2548,12 @@ void sub_8103FE8_(u8 taskId) LoadPalette(gUnknown_083EDDA0[task->data[2]], 0x10, 0x20); } -void sub_8104048(void) +/*static */void sub_8104048(void) { sSlotMachine->unk3E = CreateTask(sub_81040E8, 8); } -void sub_8104064(u8 pikaPower) +/*static */void sub_8104064(u8 pikaPower) { struct Task *task = gTasks + sSlotMachine->unk3E; sub_812D394(task); @@ -2560,7 +2562,7 @@ void sub_8104064(u8 pikaPower) task->data[15] = 1; } -void sub_8104098(void) +/*static */void sub_8104098(void) { struct Task *task = gTasks + sSlotMachine->unk3E; sub_812D394(task); @@ -2568,27 +2570,27 @@ void sub_8104098(void) task->data[15] = 1; } -bool8 sub_81040C8(void) +/*static */bool8 sub_81040C8(void) { return gTasks[sSlotMachine->unk3E].data[15]; } -void sub_81040E8(u8 taskId) +/*static */void sub_81040E8(u8 taskId) { gUnknown_083ECBB4[gTasks[taskId].data[0]](gTasks + taskId); } -void nullsub_68(struct Task *task) +/*static */void nullsub_68(struct Task *task) { } -void sub_810411C(struct Task *task) +/*static */void sub_810411C(struct Task *task) { task->data[2] = sub_8105B1C((task->data[1] << 3) + 20, 20); task->data[0]++; } -void sub_8104144(struct Task *task) +/*static */void sub_8104144(struct Task *task) { if (gSprites[task->data[2]].data[7]) { @@ -2607,7 +2609,7 @@ void sub_8104144(struct Task *task) } } -void sub_81041AC(struct Task *task) +/*static */void sub_81041AC(struct Task *task) { s16 r5 = task->data[1] + 2; s16 r3 = 0; @@ -2631,7 +2633,7 @@ void sub_81041AC(struct Task *task) } } -void sub_812D394(struct Task *task) +/*static */void sub_812D394(struct Task *task) { u8 i; @@ -2639,7 +2641,7 @@ void sub_812D394(struct Task *task) task->data[i] = 0; } -void sub_810423C(u8 pikaPower) +/*static */void sub_810423C(u8 pikaPower) { s16 i; s16 r3 = 0, r1 = 0; @@ -2667,25 +2669,25 @@ void sub_810423C(u8 pikaPower) gTasks[sSlotMachine->unk3E].data[1] = pikaPower; } -void sub_810430C(void) +/*static */void sub_810430C(void) { u8 taskId = CreateTask(sub_810434C, 7); sub_810434C(taskId); } -bool8 sub_810432C(void) +/*static */bool8 sub_810432C(void) { if (FindTaskIdByFunc(sub_810434C) == 0xFF) return TRUE; return FALSE; } -void sub_810434C(u8 taskId) +/*static */void sub_810434C(u8 taskId) { gUnknown_083ECBD0[gTasks[taskId].data[0]](gTasks + taskId); } -void sub_810437C(struct Task *task) +/*static */void sub_810437C(struct Task *task) { sSlotMachine->unk0A = 0; sSlotMachine->unk14 = 0; @@ -2709,7 +2711,7 @@ void sub_810437C(struct Task *task) PlayNewMapMusic(MUS_BD_TIME); } -void sub_81043EC(struct Task *task) +/*static */void sub_81043EC(struct Task *task) { s16 r3; gSpriteCoordOffsetX -= 8; @@ -2730,7 +2732,7 @@ void sub_81043EC(struct Task *task) sub_8102D28(task->data[4] >> 8); } -void sub_8104468(struct Task *task) +/*static */void sub_8104468(struct Task *task) { sub_8102D28(task->data[4] >> 8); if (++task->data[5] >= 60) @@ -2741,7 +2743,7 @@ void sub_8104468(struct Task *task) } } -void sub_8104498(struct Task *task) +/*static */void sub_8104498(struct Task *task) { int r5; u8 sp0[ARRAY_COUNT(gUnknown_085A75C0)]; @@ -2766,7 +2768,7 @@ void sub_8104498(struct Task *task) } } -void sub_8104548(struct Task *task) +/*static */void sub_8104548(struct Task *task) { sub_8102D28(task->data[4] >> 8); if (++task->data[5] >= 80) @@ -2778,7 +2780,7 @@ void sub_8104548(struct Task *task) } } -void sub_8104598(struct Task *task) +/*static */void sub_8104598(struct Task *task) { sub_8102D28(task->data[4] >> 8); task->data[4] = (u8)task->data[4] + 0x80; @@ -2789,7 +2791,7 @@ void sub_8104598(struct Task *task) } } -void sub_81045CC(struct Task *task) +/*static */void sub_81045CC(struct Task *task) { sub_8102D28(task->data[4] >> 8); task->data[4] = (u8)task->data[4] + 0x40; @@ -2813,7 +2815,7 @@ void sub_81045CC(struct Task *task) } } -void sub_810463C(struct Task *task) +/*static */void sub_810463C(struct Task *task) { s16 r5 = sSlotMachine->unk14 % 20; if (r5) @@ -2834,7 +2836,7 @@ void sub_810463C(struct Task *task) } } -void sub_81046C0(struct Task *task) +/*static */void sub_81046C0(struct Task *task) { if (++task->data[4] >= 60) { @@ -2863,13 +2865,13 @@ void sub_81046C0(struct Task *task) } } -void sub_8104764(struct Task *task) +/*static */void sub_8104764(struct Task *task) { if ((task->data[4] == 0 || --task->data[4] == 0) && !sub_81040C8()) task->data[0]++; } -void sub_8104794(struct Task *task) +/*static */void sub_8104794(struct Task *task) { s16 r4; gSpriteCoordOffsetX -= 8; @@ -2883,7 +2885,7 @@ void sub_8104794(struct Task *task) task->data[0]++; } -void sub_81047EC(struct Task *task) +/*static */void sub_81047EC(struct Task *task) { sSlotMachine->unk0B = 0; sSlotMachine->unk0A = sSlotMachine->unk05; @@ -2908,7 +2910,7 @@ void sub_81047EC(struct Task *task) } } -void sub_8104860(struct Task *task) +/*static */void sub_8104860(struct Task *task) { if (sSlotMachine->unk1A == task->data[1]) task->data[0]++; @@ -2916,13 +2918,13 @@ void sub_8104860(struct Task *task) sSlotMachine->unk1A >>= 1; } -void sub_81048A8(struct Task *task) +/*static */void sub_81048A8(struct Task *task) { if (sub_8104E18()) DestroyTask(FindTaskIdByFunc(sub_810434C)); } -void sub_81048CC(struct Task *task) +/*static */void sub_81048CC(struct Task *task) { sub_81054B8(); sub_81056C0(); @@ -2938,7 +2940,7 @@ void sub_81048CC(struct Task *task) PlaySE(SE_W153); } -void sub_8104940(struct Task *task) +/*static */void sub_8104940(struct Task *task) { gSpriteCoordOffsetY = task->data[4]; SetGpuReg(REG_OFFSET_BG1VOFS, task->data[4]); @@ -2958,7 +2960,7 @@ void sub_8104940(struct Task *task) } } -void sub_81049C8(struct Task *task) +/*static */void sub_81049C8(struct Task *task) { gSpriteCoordOffsetY = 0; SetGpuReg(REG_OFFSET_BG1VOFS, 0); @@ -2969,7 +2971,7 @@ void sub_81049C8(struct Task *task) } } -void sub_81049F8(struct Task *task) +/*static */void sub_81049F8(struct Task *task) { gSpriteCoordOffsetX = 0; SetGpuReg(REG_OFFSET_BG1HOFS, 0); @@ -2981,7 +2983,7 @@ void sub_81049F8(struct Task *task) DestroyTask(FindTaskIdByFunc(sub_810434C)); } -void sub_8104A40(s16 a0, s16 a1) +/*static */void sub_8104A40(s16 a0, s16 a1) { s16 i; @@ -2991,7 +2993,7 @@ void sub_8104A40(s16 a0, s16 a1) } } -void sub_8104A88(s16 a0) +/*static */void sub_8104A88(s16 a0) { u8 i; @@ -3001,14 +3003,14 @@ void sub_8104A88(s16 a0) } } -void sub_8104AB8(u8 a0) +/*static */void sub_8104AB8(u8 a0) { u8 taskId = CreateTask(sub_8104B0C, 1); gTasks[taskId].data[1] = a0; sub_8104B0C(taskId); } -bool8 sub_8104AEC(void) +/*static */bool8 sub_8104AEC(void) { if (FindTaskIdByFunc(sub_8104B0C) == 0xFF) return TRUE; @@ -3016,24 +3018,24 @@ bool8 sub_8104AEC(void) return FALSE; } -void sub_8104B0C(u8 taskId) +/*static */void sub_8104B0C(u8 taskId) { gUnknown_083ECC30[gTasks[taskId].data[0]](gTasks + taskId); } -void sub_8104B3C(struct Task *task) +/*static */void sub_8104B3C(struct Task *task) { BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); task->data[0]++; } -void sub_8104B60(struct Task *task) +/*static */void sub_8104B60(struct Task *task) { if (!gPaletteFade.active) task->data[0]++; } -void sub_8104B80(struct Task *task) +/*static */void sub_8104B80(struct Task *task) { sub_8104DA4(); sub_81065DC(); @@ -3043,7 +3045,7 @@ void sub_8104B80(struct Task *task) task->data[0]++; } -void sub_812DD78(struct Task *task) +/*static */void sub_812DD78(struct Task *task) { AddTextPrinterParameterized3(1, 1, 2, 5, gUnknown_085A744C, 0, gText_ReelTimeHelp); CopyWindowToVram(1, 3); @@ -3051,7 +3053,7 @@ void sub_812DD78(struct Task *task) task->data[0]++; } -void sub_8104BC8(struct Task *task) +/*static */void sub_8104BC8(struct Task *task) { if (gMain.newKeys & (B_BUTTON | SELECT_BUTTON)) { @@ -3064,32 +3066,32 @@ void sub_8104BC8(struct Task *task) } } -void sub_812DE14(struct Task *task) +/*static */void sub_812DE14(struct Task *task) { sub_812F968(); ShowBg(3); task->data[0]++; } -void sub_812DE30(struct Task *task) +/*static */void sub_812DE30(struct Task *task) { sub_8104CAC(task->data[1]); task->data[0]++; } -void sub_8104BFC(struct Task *task) +/*static */void sub_8104BFC(struct Task *task) { sub_810423C(sSlotMachine->pikaPower); BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB(0, 0, 0)); task->data[0]++; } -void sub_8104C44(struct Task *task) +/*static */void sub_8104C44(struct Task *task) { DestroyTask(FindTaskIdByFunc(sub_8104B0C)); } -void sub_8104C5C(void) +/*static */void sub_8104C5C(void) { u8 i; struct Task *task; @@ -3101,7 +3103,7 @@ void sub_8104C5C(void) task->data[i] = MAX_SPRITES; } -void sub_8104CAC(u8 arg0) +/*static */void sub_8104CAC(u8 arg0) { u8 i; struct Task *task; @@ -3123,7 +3125,7 @@ void sub_8104CAC(u8 arg0) } } -void sub_8104D30(u8 a0, SpriteCallback a1, s16 a2, s16 a3, s16 a4) +/*static */void sub_8104D30(u8 a0, SpriteCallback a1, s16 a2, s16 a3, s16 a4) { u8 i; struct Task *task = gTasks + sSlotMachine->unk3D; @@ -3137,7 +3139,7 @@ void sub_8104D30(u8 a0, SpriteCallback a1, s16 a2, s16 a3, s16 a4) } } -void sub_8104DA4(void) +/*static */void sub_8104DA4(void) { u8 i; struct Task *task = gTasks + sSlotMachine->unk3D; @@ -3153,7 +3155,7 @@ void sub_8104DA4(void) } } -bool8 sub_8104E18(void) +/*static */bool8 sub_8104E18(void) { u8 i; struct Task *task = gTasks + sSlotMachine->unk3D; @@ -3168,16 +3170,16 @@ bool8 sub_8104E18(void) return TRUE; } -void sub_8104E74_(u8 taskId) +/*static */void sub_8104E74_(u8 taskId) { gUnknown_083ECC54[gTasks[taskId].data[0]](gTasks + taskId); } -void nullsub_69(struct Task *task) +/*static */void nullsub_69(struct Task *task) { } -void sub_8104EA8(void) +/*static */void sub_8104EA8(void) { s16 i; s16 j; @@ -3195,7 +3197,7 @@ void sub_8104EA8(void) } } -void sub_8104F18(struct Sprite *sprite) +/*static */void sub_8104F18(struct Sprite *sprite) { sprite->data[2] = sSlotMachine->unk1C[sprite->data[0]] + sprite->data[1]; sprite->data[2] %= 120; @@ -3204,7 +3206,7 @@ void sub_8104F18(struct Sprite *sprite) SetSpriteSheetFrameTileNum(sprite); } -void sub_8104F8C(void) +/*static */void sub_8104F8C(void) { s16 i; s16 x; @@ -3215,7 +3217,7 @@ void sub_8104F8C(void) sub_8104FF4(x, 23, 1, i); } -void sub_8104FF4(s16 x, s16 y, u8 a2, s16 a3) +/*static */void sub_8104FF4(s16 x, s16 y, u8 a2, s16 a3) { struct Sprite *sprite = gSprites + CreateSprite(&gSpriteTemplate_83ED42C, x, y, 13); sprite->oam.priority = 2; @@ -3225,7 +3227,7 @@ void sub_8104FF4(s16 x, s16 y, u8 a2, s16 a3) sprite->data[3] = -1; } -void sub_810506C(struct Sprite *sprite) +/*static */void sub_810506C(struct Sprite *sprite) { u16 tag = sSlotMachine->coins; if (sprite->data[0]) @@ -3241,14 +3243,14 @@ void sub_810506C(struct Sprite *sprite) } } -void sub_81050C4(void) +/*static */void sub_81050C4(void) { u8 spriteId = CreateSprite(&gSpriteTemplate_83ED444, 0x58, 0x48, 15); gSprites[spriteId].oam.priority = 3; SetSubspriteTables(gSprites + spriteId, gSubspriteTables_83ED704); } -void sub_8105100(void) +/*static */void sub_8105100(void) { struct SpriteTemplate spriteTemplate; u8 spriteId; @@ -3274,14 +3276,14 @@ void sub_8105100(void) sSlotMachine->unk3F = spriteId; } -void sub_810514C(void) +/*static */void sub_810514C(void) { DestroySprite(gSprites + sSlotMachine->unk3F); if (gUnknown_0203AAE4 != NULL) FREE_AND_SET_NULL(gUnknown_0203AAE4); } -void sub_8105170(struct Sprite *sprite) +/*static */void sub_8105170(struct Sprite *sprite) { sprite->pos2.y = sprite->pos2.x = 0; if (sprite->animNum == 4) @@ -3292,7 +3294,7 @@ void sub_8105170(struct Sprite *sprite) } } -void sub_81051C0(void) +/*static */void sub_81051C0(void) { struct SpriteTemplate spriteTemplate; u8 spriteId; @@ -3327,7 +3329,7 @@ void sub_81051C0(void) sSlotMachine->unk49[1] = spriteId; } -void sub_8105284_(void) +/*static */void sub_8105284_(void) { struct SpriteTemplate spriteTemplate; u8 spriteId; @@ -3348,7 +3350,7 @@ void sub_8105284_(void) sSlotMachine->unk42 = spriteId; } -void sub_81052EC(void) +/*static */void sub_81052EC(void) { u8 i; s16 r5; @@ -3363,7 +3365,7 @@ void sub_81052EC(void) } } -void sub_810535C(struct Sprite *sprite) +/*static */void sub_810535C(struct Sprite *sprite) { s16 r0 = (u16)(sSlotMachine->unk14 + sprite->data[7]); r0 %= 40; @@ -3371,7 +3373,7 @@ void sub_810535C(struct Sprite *sprite) StartSpriteAnimIfDifferent(sprite, sub_8102C48(r0 / 20)); } -void sub_81053A0(void) +/*static */void sub_81053A0(void) { u8 spriteId = CreateSprite(&gSpriteTemplate_83ED4D4, 0x170, 0x64, 9); struct Sprite *sprite = &gSprites[spriteId]; @@ -3388,7 +3390,7 @@ void sub_81053A0(void) sSlotMachine->unk4E[1] = spriteId; } -void sub_810545C(void) +/*static */void sub_810545C(void) { u8 spriteId = CreateSprite(&gSpriteTemplate_83ED4EC, 0x170, 0x4c, 11); struct Sprite *sprite = &gSprites[spriteId]; @@ -3398,7 +3400,7 @@ void sub_810545C(void) sSlotMachine->unk40 = spriteId; } -void sub_81054B8(void) +/*static */void sub_81054B8(void) { u8 i; @@ -3415,7 +3417,7 @@ void sub_81054B8(void) DestroySprite(&gSprites[sSlotMachine->unk4B[i]]); } -void sub_8105524(void) +/*static */void sub_8105524(void) { u8 i; @@ -3423,14 +3425,14 @@ void sub_8105524(void) DestroySprite(&gSprites[sSlotMachine->unk4E[i]]); } -void sub_8105554(void) +/*static */void sub_8105554(void) { DestroySprite(&gSprites[sSlotMachine->unk42]); if (gUnknown_0203AAF0 != NULL) FREE_AND_SET_NULL(gUnknown_0203AAF0); } -void sub_8105578(void) +/*static */void sub_8105578(void) { u8 spriteId = CreateSprite(&gSpriteTemplate_83ED504, 0x98, 0x20, 5); struct Sprite *sprite = &gSprites[spriteId]; @@ -3451,7 +3453,7 @@ void sub_8105578(void) sprite->data[7] = 0x20; } -void sub_810562C(struct Sprite *sprite) +/*static */void sub_810562C(struct Sprite *sprite) { if (sprite->data[0] != 0) { @@ -3473,13 +3475,13 @@ void sub_810562C(struct Sprite *sprite) } } -void sub_8105688(s16 a0) +/*static */void sub_8105688(s16 a0) { gSprites[sSlotMachine->unk50[0]].data[7] = a0; gSprites[sSlotMachine->unk50[1]].data[7] = a0; } -void sub_81056C0(void) +/*static */void sub_81056C0(void) { u8 i; @@ -3487,7 +3489,7 @@ void sub_81056C0(void) DestroySprite(&gSprites[sSlotMachine->unk50[i]]); } -void sub_81056F0(void) +/*static */void sub_81056F0(void) { u8 spriteId = CreateSprite(&gSpriteTemplate_83ED51C, 0x48, 0x50, 3); gSprites[spriteId].oam.priority = 1; @@ -3503,7 +3505,7 @@ void sub_81056F0(void) sSlotMachine->unk52[1] = spriteId; } -void sub_8105784(struct Sprite *sprite) +/*static */void sub_8105784(struct Sprite *sprite) { u8 sp[] = {16, 0}; if (sprite->data[0] && --sprite->data[6] <= 0) @@ -3515,12 +3517,12 @@ void sub_8105784(struct Sprite *sprite) } } -void sub_81057E8(s16 a0) +/*static */void sub_81057E8(s16 a0) { gSprites[sSlotMachine->unk52[0]].data[7] = a0; } -void sub_8105804(void) +/*static */void sub_8105804(void) { u8 i; MultiplyInvertedPaletteRGBComponents((IndexOfSpritePaletteTag(7) << 4) + 0x103, 0, 0, 0); @@ -3528,24 +3530,24 @@ void sub_8105804(void) DestroySprite(&gSprites[sSlotMachine->unk52[i]]); } -void sub_8105854(void) +/*static */void sub_8105854(void) { u8 spriteId = CreateSprite(&gSpriteTemplate_83ED534, 0xa8, 0x50, 6); gSprites[spriteId].oam.priority = 1; sSlotMachine->unk41 = spriteId; } -void sub_8105894(struct Sprite *sprite) +/*static */void sub_8105894(struct Sprite *sprite) { sprite->pos2.y = gSpriteCoordOffsetY; } -void sub_81058A0(void) +/*static */void sub_81058A0(void) { DestroySprite(&gSprites[sSlotMachine->unk41]); } -void sub_81058C4(void) +/*static */void sub_81058C4(void) { u8 i; u16 sp[] = {0x0, 0x40, 0x80, 0xC0}; @@ -3560,7 +3562,7 @@ void sub_81058C4(void) } } -void sub_810594C(struct Sprite *sprite) +/*static */void sub_810594C(struct Sprite *sprite) { sprite->data[0] -= 2; sprite->data[0] &= 0xff; @@ -3578,7 +3580,7 @@ void sub_810594C(struct Sprite *sprite) } } -void sub_81059B8(void) +/*static */void sub_81059B8(void) { u8 i; for (i = 0; i < 4; i++) @@ -3587,7 +3589,7 @@ void sub_81059B8(void) } } -void sub_81059E8(void) +/*static */void sub_81059E8(void) { u8 spriteId = CreateSprite(&gSpriteTemplate_83ED564, 0xa8, 0x3c, 8); struct Sprite *sprite = &gSprites[spriteId]; @@ -3597,7 +3599,7 @@ void sub_81059E8(void) sSlotMachine->unk43 = spriteId; } -void sub_8105A38(struct Sprite *sprite) +/*static */void sub_8105A38(struct Sprite *sprite) { if (sprite->data[0] == 0) { @@ -3624,19 +3626,19 @@ void sub_8105A38(struct Sprite *sprite) sprite->pos2.y -= (sprite->data[1] >> 8); } -u8 sub_8105ACC(void) +/*static */u8 sub_8105ACC(void) { return gSprites[sSlotMachine->unk43].data[7]; } -void sub_8105AEC(void) +/*static */void sub_8105AEC(void) { struct Sprite *sprite = &gSprites[sSlotMachine->unk43]; FreeOamMatrix(sprite->oam.matrixNum); DestroySprite(sprite); } -u8 sub_8105B1C(s16 x, s16 y) +/*static */u8 sub_8105B1C(s16 x, s16 y) { u8 spriteId = CreateSprite(&gSpriteTemplate_83ED6CC, x, y, 12); struct Sprite *sprite = &gSprites[spriteId]; @@ -3646,25 +3648,25 @@ u8 sub_8105B1C(s16 x, s16 y) return spriteId; } -void sub_8105B70(struct Sprite *sprite) +/*static */void sub_8105B70(struct Sprite *sprite) { if (sprite->affineAnimEnded) sprite->data[7] = 1; } -void sub_8105B88(u8 spriteId) +/*static */void sub_8105B88(u8 spriteId) { struct Sprite *sprite = &gSprites[spriteId]; FreeOamMatrix(sprite->oam.matrixNum); DestroySprite(sprite); } -u8 sub_8105BB4(u8 templateIdx, u8 cbAndCoordsIdx, s16 a2) +/*static */u8 sub_8105BB4(u8 templateIdx, u8 cbAndCoordsIdx, s16 a2) { return sub_8105BF8(templateIdx, gUnknown_083ECF0C[cbAndCoordsIdx], gUnknown_083ECE7E[cbAndCoordsIdx][0], gUnknown_083ECE7E[cbAndCoordsIdx][1], a2); } -u8 sub_8105BF8(u8 templateIdx, SpriteCallback callback, s16 x, s16 y, s16 a4) +/*static */u8 sub_8105BF8(u8 templateIdx, SpriteCallback callback, s16 x, s16 y, s16 a4) { struct SpriteTemplate spriteTemplate; u8 spriteId; @@ -3683,12 +3685,12 @@ u8 sub_8105BF8(u8 templateIdx, SpriteCallback callback, s16 x, s16 y, s16 a4) return spriteId; } -void sub_8105C64(struct Sprite *sprite) +/*static */void sub_8105C64(struct Sprite *sprite) { sprite->data[7] = 0; } -void sub_8105C6C(struct Sprite *sprite) +/*static */void sub_8105C6C(struct Sprite *sprite) { s16 sp0[] = {4, -4, 4, -4}; s16 sp8[] = {4, 4, -4, -4}; @@ -3707,26 +3709,26 @@ void sub_8105C6C(struct Sprite *sprite) } } -void sub_8105CF0(struct Sprite *sprite) +/*static */void sub_8105CF0(struct Sprite *sprite) { sprite->hFlip = TRUE; sub_8105C6C(sprite); } -void sub_8105D08(struct Sprite *sprite) +/*static */void sub_8105D08(struct Sprite *sprite) { sprite->vFlip = TRUE; sub_8105C6C(sprite); } -void sub_8105D20(struct Sprite *sprite) +/*static */void sub_8105D20(struct Sprite *sprite) { sprite->hFlip = TRUE; sprite->vFlip = TRUE; sub_8105C6C(sprite); } -void sub_8105D3C(struct Sprite *sprite) +/*static */void sub_8105D3C(struct Sprite *sprite) { switch (sprite->data[0]) { @@ -3753,7 +3755,7 @@ void sub_8105D3C(struct Sprite *sprite) } } -void sub_8105DA4(struct Sprite *sprite) +/*static */void sub_8105DA4(struct Sprite *sprite) { switch (sprite->data[0]) { @@ -3780,7 +3782,7 @@ void sub_8105DA4(struct Sprite *sprite) } } -void sub_8105E08(struct Sprite *sprite) +/*static */void sub_8105E08(struct Sprite *sprite) { switch (sprite->data[0]) { @@ -3818,7 +3820,7 @@ void sub_8105E08(struct Sprite *sprite) } } -void sub_8105EB4(struct Sprite *sprite) +/*static */void sub_8105EB4(struct Sprite *sprite) { switch (sprite->data[0]) { @@ -3858,7 +3860,7 @@ void sub_8105EB4(struct Sprite *sprite) } } -void sub_8105F54(struct Sprite *sprite) +/*static */void sub_8105F54(struct Sprite *sprite) { switch (sprite->data[0]) { @@ -3878,7 +3880,7 @@ void sub_8105F54(struct Sprite *sprite) } } -void sub_8105F9C(struct Sprite *sprite) +/*static */void sub_8105F9C(struct Sprite *sprite) { switch (sprite->data[0]) { @@ -3912,7 +3914,7 @@ void sub_8105F9C(struct Sprite *sprite) } } -void sub_8106058(struct Sprite *sprite) +/*static */void sub_8106058(struct Sprite *sprite) { if (sprite->data[1] < 3) { @@ -3936,7 +3938,7 @@ void sub_8106058(struct Sprite *sprite) sprite->data[7] = 0; } -void sub_81060FC(struct Sprite *sprite) +/*static */void sub_81060FC(struct Sprite *sprite) { s16 sp00[] = {0, -40, 0, 0, 48, 0, 24, 0}; s16 sp10[] = {-32, 0, -32, -48, 0, -48, 0, -48}; @@ -3971,7 +3973,7 @@ void sub_81060FC(struct Sprite *sprite) } } -void sub_81061C8(struct Sprite *sprite) +/*static */void sub_81061C8(struct Sprite *sprite) { s16 sp0[] = {160, 192, 224, 104, 80, 64, 48, 24}; @@ -3986,7 +3988,7 @@ void sub_81061C8(struct Sprite *sprite) sprite->data[1]--; } -void sub_8106230(struct Sprite *sprite) +/*static */void sub_8106230(struct Sprite *sprite) { switch (sprite->data[0]) { @@ -4040,21 +4042,21 @@ void sub_8106230(struct Sprite *sprite) } } -void nullsub_70(void) +/*static */void nullsub_70(void) { } -void sub_8106364(void) +/*static */void sub_8106364(void) { SetGpuReg(REG_OFFSET_MOSAIC, 0); } -void sub_8106370(void) +/*static */void sub_8106370(void) { LoadPalette(gUnknown_083EDE20, (IndexOfSpritePaletteTag(6) << 4) + 0x100, 0x20); } -void sub_810639C(void) +/*static */void sub_810639C(void) { sSlotMachine->win0h = 0xf0; sSlotMachine->win0v = 0xa0; @@ -4062,7 +4064,7 @@ void sub_810639C(void) sSlotMachine->winOut = 0x3f; } -void sub_81063C0(void) +/*static */void sub_81063C0(void) { u8 i; @@ -4086,7 +4088,7 @@ void sub_81063C0(void) LoadSpritePalettes(gSlotMachineSpritePalettes); } -void sub_8106404(void) +/*static */void sub_8106404(void) { u8 *dest; u8 i, j; @@ -4110,7 +4112,7 @@ extern const u8 gSlotMachineMenu_Tilemap[]; extern const u8 gUnknown_08DCEC70[]; extern const u16 gSlotMachineMenu_Pal[]; -void sub_8106448(void) +/*static */void sub_8106448(void) { gUnknown_0203AAC8 = Alloc(0x2200); LZDecompressWram(gSlotMachineMenu_Gfx, gUnknown_0203AAC8); @@ -4119,18 +4121,18 @@ void sub_8106448(void) LoadPalette(gPalette_83EDE24, 208, 32); } -void sub_81064B8(void) +/*static */void sub_81064B8(void) { sub_812F968(); LoadSlotMachineWheelOverlay(); } -void sub_812F968(void) +/*static */void sub_812F968(void) { LoadBgTilemap(2, gSlotMachineMenu_Tilemap, 0x500, 0); } -void LoadSlotMachineWheelOverlay(void) +/*static */void LoadSlotMachineWheelOverlay(void) { s16 x, y, dx; @@ -4152,7 +4154,7 @@ void LoadSlotMachineWheelOverlay(void) } } -void sub_81065A8(s16 arg0, u16 arg1, u16 arg2, u16 arg3, u16 arg4) +/*static */void sub_81065A8(s16 arg0, u16 arg1, u16 arg2, u16 arg3, u16 arg4) { gUnknown_0203AADC[0] = arg1; gUnknown_0203AADC[1] = arg2; @@ -4165,13 +4167,13 @@ void sub_81065A8(s16 arg0, u16 arg1, u16 arg2, u16 arg3, u16 arg4) LoadBgTilemap(2, gUnknown_0203AADC + 3, 2, 16 * 32 + 1 + arg0); } -void sub_81065DC(void) +/*static */void sub_81065DC(void) { LoadBgTilemap(2, gUnknown_08DCEC70, 0x500, 0); HideBg(3); } -void SlotMachineSetup_9_0(void) +/*static */void SlotMachineSetup_9_0(void) { gUnknown_03001188[0] = gUnknown_0203AAF4; gUnknown_03001188[1] = gUnknown_0203AAF8; @@ -4201,7 +4203,7 @@ void SlotMachineSetup_9_0(void) gUnknown_03001188[25] = NULL; } -void SlotMachineSetup_8_0(void) +/*static */void SlotMachineSetup_8_0(void) { gUnknown_0203AAF4 = AllocZeroed(sizeof(struct SpriteFrameImage) * 1); gUnknown_0203AAF4[0].data = gUnknown_0203AAD4; @@ -4489,3 +4491,126 @@ const s16 gUnknown_083ECE7E[][2] = { { 0xe8, 0x48}, { 0x00, 0x00} }; + +const SpriteCallback gUnknown_083ECF0C[] = { + sub_8105C64, + sub_8105F54, + sub_8105F54, + sub_8105F54, + sub_8105F54, + sub_8105F9C, + sub_8105EB4, + sub_8105C64, + sub_8105C64, + sub_8105C6C, + sub_8105CF0, + sub_8105D08, + sub_8105D20, + sub_8105D3C, + sub_8105DA4, + sub_8105E08, + sub_8105C64, + sub_8106058, + sub_81060FC, + sub_81060FC, + sub_81060FC, + sub_81060FC, + sub_81060FC, + sub_81060FC, + sub_81060FC, + sub_81060FC, + sub_81061C8, + sub_81061C8, + sub_81061C8, + sub_81061C8, + sub_81061C8, + sub_81061C8, + sub_81061C8, + sub_81061C8, + sub_8106230 +}; + +const struct UnkStruct1 Unknown_83ECF98[] = { + {25, 34, 0}, + {2, 0, 0}, + {9, 16, 0}, + {255, 0, 0} +}; + +const struct UnkStruct1 Unknown_83ECFA8[] = { + {10, 1, 0}, + {11, 2, 0}, + {12, 3, 0}, + {13, 4, 0}, + {5, 5, 0}, + {8, 6, 0}, + {255, 0, 0} +}; + +const struct UnkStruct1 Unknown_83ECFC4[] = { + {3, 7, 0}, + {8, 17, 0}, + {255, 0, 0} +}; + +const struct UnkStruct1 Unknown_83ECFD0[] = { + {4, 8, 0}, + {6, 9, 0}, + {6, 10, 1}, + {6, 11, 2}, + {6, 12, 3}, + {255, 0, 0} +}; + +const struct UnkStruct1 Unknown_83ECFE8[] = { + {0, 13, 0}, + {1, 14, 0}, + {7, 15, 0}, + {255, 0, 0} +}; + +const struct UnkStruct1 Unknown_83ECFF8[] = { + {19, 26, 0}, + {20, 27, 1}, + {21, 28, 2}, + {14, 29, 3}, + {15, 30, 4}, + {16, 31, 5}, + {17, 32, 6}, + {18, 33, 7}, + {8, 17, 0}, + {255, 0, 0} +}; + +const struct UnkStruct1 Unknown_83ED020[] = { + {22, 18, 0}, + {23, 19, 1}, + {24, 20, 2}, + {14, 21, 3}, + {15, 22, 4}, + {16, 23, 5}, + {17, 24, 6}, + {18, 25, 7}, + {8, 17, 0}, + {255, 0, 0} +}; + +const struct UnkStruct1 *const gUnknown_083ED048[] = { + Unknown_83ECF98, + Unknown_83ECFA8, + Unknown_83ECFC4, + Unknown_83ECFD0, + Unknown_83ECFE8, + Unknown_83ED020, + Unknown_83ECFF8 +}; + +void (*const gUnknown_083ED064[])(void) = { + sub_810639C, + sub_8106364, + sub_8106370, + nullsub_70, + nullsub_70, + sub_8106370, + sub_8106370 +}; diff --git a/sym_bss.txt b/sym_bss.txt index 08b1a58bd1..7df5e30554 100644 --- a/sym_bss.txt +++ b/sym_bss.txt @@ -31,9 +31,7 @@ .include "src/mauville_old_man.o" .include "src/menu_helpers.o" .include "src/region_map.o" - -gUnknown_03001188: @ 3001188 - .space 0x68 + .include "src/slot_machine.o" gUnknown_030011F0: @ 30011F0 .space 0x2 diff --git a/sym_ewram.txt b/sym_ewram.txt index 8515e91198..ddd121bee1 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -448,94 +448,7 @@ gUnknown_0203A120: @ 203A120 .include "src/menu_helpers.o" .include "src/region_map.o" .include "src/decoration.o" - .align 2 - -@ slot_machine - -gUnknown_0203AAC8: @ 203AAC8 - .space 0x4 - -gUnknown_0203AACC: @ 203AACC - .space 0x4 - -gUnknown_0203AAD0: @ 203AAD0 - .space 0x4 - -gUnknown_0203AAD4: @ 203AAD4 - .space 0x4 - -gUnknown_0203AAD8: @ 203AAD8 - .space 0x4 - -gUnknown_0203AADC: @ 203AADC - .space 0x4 - -gUnknown_0203AAE0: @ 203AAE0 - .space 0x4 - -gUnknown_0203AAE4: @ 203AAE4 - .space 0x4 - -gUnknown_0203AAE8: @ 203AAE8 - .space 0x4 - -gUnknown_0203AAEC: @ 203AAEC - .space 0x4 - -gUnknown_0203AAF0: @ 203AAF0 - .space 0x4 - -gUnknown_0203AAF4: @ 203AAF4 - .space 0x4 - -gUnknown_0203AAF8: @ 203AAF8 - .space 0x4 - -gUnknown_0203AAFC: @ 203AAFC - .space 0x4 - -gUnknown_0203AB00: @ 203AB00 - .space 0x4 - -gUnknown_0203AB04: @ 203AB04 - .space 0x4 - -gUnknown_0203AB08: @ 203AB08 - .space 0x4 - -gUnknown_0203AB0C: @ 203AB0C - .space 0x4 - -gUnknown_0203AB10: @ 203AB10 - .space 0x4 - -gUnknown_0203AB14: @ 203AB14 - .space 0x4 - -gUnknown_0203AB18: @ 203AB18 - .space 0x4 - -gUnknown_0203AB1C: @ 203AB1C - .space 0x4 - -gUnknown_0203AB20: @ 203AB20 - .space 0x4 - -gUnknown_0203AB24: @ 203AB24 - .space 0x4 - -gUnknown_0203AB28: @ 203AB28 - .space 0x4 - -gUnknown_0203AB2C: @ 203AB2C - .space 0x4 - -gUnknown_0203AB30: @ 203AB30 - .space 0x4 - -sSlotMachine: @ 203AB34 - .space 0x4 - + .include "src/slot_machine.o" .include "src/battle_ai_script_commands.o" .align 2 From de65ddf4b6507f9d7e436ea36ebe6f83f4b25b1f Mon Sep 17 00:00:00 2001 From: DizzyEggg <jajkodizzy@wp.pl> Date: Sun, 16 Sep 2018 10:17:10 +0200 Subject: [PATCH 211/234] Make it easier to edit ability text --- src/data/text/abilities.h | 473 +++++++++++++++++++------------------- 1 file changed, 234 insertions(+), 239 deletions(-) diff --git a/src/data/text/abilities.h b/src/data/text/abilities.h index 3a1e989d2b..97c29f9ee9 100644 --- a/src/data/text/abilities.h +++ b/src/data/text/abilities.h @@ -1,247 +1,242 @@ -#ifndef POKEEMERALD_DATA_TEXT_ABILITIES_H -#define POKEEMERALD_DATA_TEXT_ABILITIES_H - -static const u8 gNoneAbilityDescription[] = _("No special ability."); -static const u8 gStenchAbilityDescription[] = _("Helps repel wild POKéMON."); -static const u8 gDrizzleAbilityDescription[] = _("Summons rain in battle."); -static const u8 gSpeedBoostAbilityDescription[] = _("Gradually boosts SPEED."); -static const u8 gBattleArmorAbilityDescription[] = _("Blocks critical hits."); -static const u8 gSturdyAbilityDescription[] = _("Negates 1-hit KO attacks."); -static const u8 gDampAbilityDescription[] = _("Prevents self-destruction."); -static const u8 gLimberAbilityDescription[] = _("Prevents paralysis."); -static const u8 gSandVeilAbilityDescription[] = _("Ups evasion in a sandstorm."); -static const u8 gStaticAbilityDescription[] = _("Paralyzes on contact."); -static const u8 gVoltAbsorbAbilityDescription[] = _("Turns electricity into HP."); -static const u8 gWaterAbsorbAbilityDescription[] = _("Changes water into HP."); -static const u8 gObliviousAbilityDescription[] = _("Prevents attraction."); -static const u8 gCloudNineAbilityDescription[] = _("Negates weather effects."); -static const u8 gCompoundEyesAbilityDescription[] = _("Raises accuracy."); -static const u8 gInsomniaAbilityDescription[] = _("Prevents sleep."); -static const u8 gColorChangeAbilityDescription[] = _("Changes type to foe’s move."); -static const u8 gImmunityAbilityDescription[] = _("Prevents poisoning."); -static const u8 gFlashFireAbilityDescription[] = _("Powers up if hit by fire."); -static const u8 gShieldDustAbilityDescription[] = _("Prevents added effects."); -static const u8 gOwnTempoAbilityDescription[] = _("Prevents confusion."); -static const u8 gSuctionCupsAbilityDescription[] = _("Firmly anchors the body."); -static const u8 gIntimidateAbilityDescription[] = _("Lowers the foe’s ATTACK."); -static const u8 gShadowTagAbilityDescription[] = _("Prevents the foe’s escape."); -static const u8 gRoughSkinAbilityDescription[] = _("Hurts to touch."); -static const u8 gWonderGuardAbilityDescription[] = _("“Super effective†hits."); -static const u8 gLevitateAbilityDescription[] = _("Not hit by GROUND attacks."); -static const u8 gEffectSporeAbilityDescription[] = _("Leaves spores on contact."); -static const u8 gSynchronizeAbilityDescription[] = _("Passes on status problems."); -static const u8 gClearBodyAbilityDescription[] = _("Prevents ability reduction."); -static const u8 gNaturalCureAbilityDescription[] = _("Heals upon switching out."); -static const u8 gLightningRodAbilityDescription[] = _("Draws electrical moves."); -static const u8 gSereneGraceAbilityDescription[] = _("Promotes added effects."); -static const u8 gSwiftSwimAbilityDescription[] = _("Raises SPEED in rain."); -static const u8 gChlorophyllAbilityDescription[] = _("Raises SPEED in sunshine."); -static const u8 gIlluminateAbilityDescription[] = _("Encounter rate increases."); -static const u8 gTraceAbilityDescription[] = _("Copies special ability."); -static const u8 gHugePowerAbilityDescription[] = _("Raises ATTACK."); -static const u8 gPoisonPointAbilityDescription[] = _("Poisons foe on contact."); -static const u8 gInnerFocusAbilityDescription[] = _("Prevents flinching."); -static const u8 gMagmaArmorAbilityDescription[] = _("Prevents freezing."); -static const u8 gWaterVeilAbilityDescription[] = _("Prevents burns."); -static const u8 gMagnetPullAbilityDescription[] = _("Traps STEEL-type POKéMON."); -static const u8 gSoundproofAbilityDescription[] = _("Avoids sound-based moves."); -static const u8 gRainDishAbilityDescription[] = _("Slight HP recovery in rain."); -static const u8 gSandStreamAbilityDescription[] = _("Summons a sandstorm."); -static const u8 gPressureAbilityDescription[] = _("Raises foe’s PP usage."); -static const u8 gThickFatAbilityDescription[] = _("Heat-and-cold protection."); -static const u8 gEarlyBirdAbilityDescription[] = _("Awakens quickly from sleep."); -static const u8 gFlameBodyAbilityDescription[] = _("Burns the foe on contact."); -static const u8 gRunAwayAbilityDescription[] = _("Makes escaping easier."); -static const u8 gKeenEyeAbilityDescription[] = _("Prevents loss of accuracy."); -static const u8 gHyperCutterAbilityDescription[] = _("Prevents ATTACK reduction."); -static const u8 gPickupAbilityDescription[] = _("May pick up items."); -static const u8 gTruantAbilityDescription[] = _("Moves only every two turns."); -static const u8 gHustleAbilityDescription[] = _("Trades accuracy for power."); -static const u8 gCuteCharmAbilityDescription[] = _("Infatuates on contact."); -static const u8 gPlusAbilityDescription[] = _("Powers up with MINUS."); -static const u8 gMinusAbilityDescription[] = _("Powers up with PLUS."); -static const u8 gForecastAbilityDescription[] = _("Changes with the weather."); -static const u8 gStickyHoldAbilityDescription[] = _("Prevents item theft."); -static const u8 gShedSkinAbilityDescription[] = _("Heals the body by shedding."); -static const u8 gGutsAbilityDescription[] = _("Ups ATTACK if suffering."); -static const u8 gMarvelScaleAbilityDescription[] = _("Ups DEFENSE if suffering."); -static const u8 gLiquidOozeAbilityDescription[] = _("Draining causes injury."); -static const u8 gOvergrowAbilityDescription[] = _("Ups GRASS moves in a pinch."); -static const u8 gBlazeAbilityDescription[] = _("Ups FIRE moves in a pinch."); -static const u8 gTorrentAbilityDescription[] = _("Ups WATER moves in a pinch."); -static const u8 gSwarmAbilityDescription[] = _("Ups BUG moves in a pinch."); -static const u8 gRockHeadAbilityDescription[] = _("Prevents recoil damage."); -static const u8 gDroughtAbilityDescription[] = _("Summons sunlight in battle."); -static const u8 gArenaTrapAbilityDescription[] = _("Prevents fleeing."); -static const u8 gVitalSpiritAbilityDescription[] = _("Prevents sleep."); -static const u8 gWhiteSmokeAbilityDescription[] = _("Prevents ability reduction."); -static const u8 gPurePowerAbilityDescription[] = _("Raises ATTACK."); -static const u8 gShellArmorAbilityDescription[] = _("Blocks critical hits."); -static const u8 gCacophonyAbilityDescription[] = _("Avoids sound-based moves."); -static const u8 gAirLockAbilityDescription[] = _("Negates weather effects."); +static const u8 sNoneDescription[] = _("No special ability."); +static const u8 sStenchDescription[] = _("Helps repel wild POKéMON."); +static const u8 sDrizzleDescription[] = _("Summons rain in battle."); +static const u8 sSpeedBoostDescription[] = _("Gradually boosts SPEED."); +static const u8 sBattleArmorDescription[] = _("Blocks critical hits."); +static const u8 sSturdyDescription[] = _("Negates 1-hit KO attacks."); +static const u8 sDampDescription[] = _("Prevents self-destruction."); +static const u8 sLimberDescription[] = _("Prevents paralysis."); +static const u8 sSandVeilDescription[] = _("Ups evasion in a sandstorm."); +static const u8 sStaticDescription[] = _("Paralyzes on contact."); +static const u8 sVoltAbsorbDescription[] = _("Turns electricity into HP."); +static const u8 sWaterAbsorbDescription[] = _("Changes water into HP."); +static const u8 sObliviousDescription[] = _("Prevents attraction."); +static const u8 sCloudNineDescription[] = _("Negates weather effects."); +static const u8 sCompoundEyesDescription[] = _("Raises accuracy."); +static const u8 sInsomniaDescription[] = _("Prevents sleep."); +static const u8 sColorChangeDescription[] = _("Changes type to foe’s move."); +static const u8 sImmunityDescription[] = _("Prevents poisoning."); +static const u8 sFlashFireDescription[] = _("Powers up if hit by fire."); +static const u8 sShieldDustDescription[] = _("Prevents added effects."); +static const u8 sOwnTempoDescription[] = _("Prevents confusion."); +static const u8 sSuctionCupsDescription[] = _("Firmly anchors the body."); +static const u8 sIntimidateDescription[] = _("Lowers the foe’s ATTACK."); +static const u8 sShadowTagDescription[] = _("Prevents the foe’s escape."); +static const u8 sRoughSkinDescription[] = _("Hurts to touch."); +static const u8 sWonderGuardDescription[] = _("“Super effective†hits."); +static const u8 sLevitateDescription[] = _("Not hit by GROUND attacks."); +static const u8 sEffectSporeDescription[] = _("Leaves spores on contact."); +static const u8 sSynchronizeDescription[] = _("Passes on status problems."); +static const u8 sClearBodyDescription[] = _("Prevents ability reduction."); +static const u8 sNaturalCureDescription[] = _("Heals upon switching out."); +static const u8 sLightningRodDescription[] = _("Draws electrical moves."); +static const u8 sSereneGraceDescription[] = _("Promotes added effects."); +static const u8 sSwiftSwimDescription[] = _("Raises SPEED in rain."); +static const u8 sChlorophyllDescription[] = _("Raises SPEED in sunshine."); +static const u8 sIlluminateDescription[] = _("Encounter rate increases."); +static const u8 sTraceDescription[] = _("Copies special ability."); +static const u8 sHugePowerDescription[] = _("Raises ATTACK."); +static const u8 sPoisonPointDescription[] = _("Poisons foe on contact."); +static const u8 sInnerFocusDescription[] = _("Prevents flinching."); +static const u8 sMagmaArmorDescription[] = _("Prevents freezing."); +static const u8 sWaterVeilDescription[] = _("Prevents burns."); +static const u8 sMagnetPullDescription[] = _("Traps STEEL-type POKéMON."); +static const u8 sSoundproofDescription[] = _("Avoids sound-based moves."); +static const u8 sRainDishDescription[] = _("Slight HP recovery in rain."); +static const u8 sSandStreamDescription[] = _("Summons a sandstorm."); +static const u8 sPressureDescription[] = _("Raises foe’s PP usage."); +static const u8 sThickFatDescription[] = _("Heat-and-cold protection."); +static const u8 sEarlyBirdDescription[] = _("Awakens quickly from sleep."); +static const u8 sFlameBodyDescription[] = _("Burns the foe on contact."); +static const u8 sRunAwayDescription[] = _("Makes escaping easier."); +static const u8 sKeenEyeDescription[] = _("Prevents loss of accuracy."); +static const u8 sHyperCutterDescription[] = _("Prevents ATTACK reduction."); +static const u8 sPickupDescription[] = _("May pick up items."); +static const u8 sTruantDescription[] = _("Moves only every two turns."); +static const u8 sHustleDescription[] = _("Trades accuracy for power."); +static const u8 sCuteCharmDescription[] = _("Infatuates on contact."); +static const u8 sPlusDescription[] = _("Powers up with MINUS."); +static const u8 sMinusDescription[] = _("Powers up with PLUS."); +static const u8 sForecastDescription[] = _("Changes with the weather."); +static const u8 sStickyHoldDescription[] = _("Prevents item theft."); +static const u8 sShedSkinDescription[] = _("Heals the body by shedding."); +static const u8 sGutsDescription[] = _("Ups ATTACK if suffering."); +static const u8 sMarvelScaleDescription[] = _("Ups DEFENSE if suffering."); +static const u8 sLiquidOozeDescription[] = _("Draining causes injury."); +static const u8 sOvergrowDescription[] = _("Ups GRASS moves in a pinch."); +static const u8 sBlazeDescription[] = _("Ups FIRE moves in a pinch."); +static const u8 sTorrentDescription[] = _("Ups WATER moves in a pinch."); +static const u8 sSwarmDescription[] = _("Ups BUG moves in a pinch."); +static const u8 sRockHeadDescription[] = _("Prevents recoil damage."); +static const u8 sDroughtDescription[] = _("Summons sunlight in battle."); +static const u8 sArenaTrapDescription[] = _("Prevents fleeing."); +static const u8 sVitalSpiritDescription[] = _("Prevents sleep."); +static const u8 sWhiteSmokeDescription[] = _("Prevents ability reduction."); +static const u8 sPurePowerDescription[] = _("Raises ATTACK."); +static const u8 sShellArmorDescription[] = _("Blocks critical hits."); +static const u8 sCacophonyDescription[] = _("Avoids sound-based moves."); +static const u8 sAirLockDescription[] = _("Negates weather effects."); const u8 gAbilityNames[ABILITIES_COUNT][ABILITY_NAME_LENGTH + 1] = { - _("-------"), - _("STENCH"), - _("DRIZZLE"), - _("SPEED BOOST"), - _("BATTLE ARMOR"), - _("STURDY"), - _("DAMP"), - _("LIMBER"), - _("SAND VEIL"), - _("STATIC"), - _("VOLT ABSORB"), - _("WATER ABSORB"), - _("OBLIVIOUS"), - _("CLOUD NINE"), - _("COMPOUNDEYES"), - _("INSOMNIA"), - _("COLOR CHANGE"), - _("IMMUNITY"), - _("FLASH FIRE"), - _("SHIELD DUST"), - _("OWN TEMPO"), - _("SUCTION CUPS"), - _("INTIMIDATE"), - _("SHADOW TAG"), - _("ROUGH SKIN"), - _("WONDER GUARD"), - _("LEVITATE"), - _("EFFECT SPORE"), - _("SYNCHRONIZE"), - _("CLEAR BODY"), - _("NATURAL CURE"), - _("LIGHTNINGROD"), - _("SERENE GRACE"), - _("SWIFT SWIM"), - _("CHLOROPHYLL"), - _("ILLUMINATE"), - _("TRACE"), - _("HUGE POWER"), - _("POISON POINT"), - _("INNER FOCUS"), - _("MAGMA ARMOR"), - _("WATER VEIL"), - _("MAGNET PULL"), - _("SOUNDPROOF"), - _("RAIN DISH"), - _("SAND STREAM"), - _("PRESSURE"), - _("THICK FAT"), - _("EARLY BIRD"), - _("FLAME BODY"), - _("RUN AWAY"), - _("KEEN EYE"), - _("HYPER CUTTER"), - _("PICKUP"), - _("TRUANT"), - _("HUSTLE"), - _("CUTE CHARM"), - _("PLUS"), - _("MINUS"), - _("FORECAST"), - _("STICKY HOLD"), - _("SHED SKIN"), - _("GUTS"), - _("MARVEL SCALE"), - _("LIQUID OOZE"), - _("OVERGROW"), - _("BLAZE"), - _("TORRENT"), - _("SWARM"), - _("ROCK HEAD"), - _("DROUGHT"), - _("ARENA TRAP"), - _("VITAL SPIRIT"), - _("WHITE SMOKE"), - _("PURE POWER"), - _("SHELL ARMOR"), - _("CACOPHONY"), - _("AIR LOCK"), + [ABILITY_NONE] = _("-------"), + [ABILITY_STENCH] = _("STENCH"), + [ABILITY_DRIZZLE] = _("DRIZZLE"), + [ABILITY_SPEED_BOOST] = _("SPEED BOOST"), + [ABILITY_BATTLE_ARMOR] = _("BATTLE ARMOR"), + [ABILITY_STURDY] = _("STURDY"), + [ABILITY_DAMP] = _("DAMP"), + [ABILITY_LIMBER] = _("LIMBER"), + [ABILITY_SAND_VEIL] = _("SAND VEIL"), + [ABILITY_STATIC] = _("STATIC"), + [ABILITY_VOLT_ABSORB] = _("VOLT ABSORB"), + [ABILITY_WATER_ABSORB] = _("WATER ABSORB"), + [ABILITY_OBLIVIOUS] = _("OBLIVIOUS"), + [ABILITY_CLOUD_NINE] = _("CLOUD NINE"), + [ABILITY_COMPOUND_EYES] = _("COMPOUNDEYES"), + [ABILITY_INSOMNIA] = _("INSOMNIA"), + [ABILITY_COLOR_CHANGE] = _("COLOR CHANGE"), + [ABILITY_IMMUNITY] = _("IMMUNITY"), + [ABILITY_FLASH_FIRE] = _("FLASH FIRE"), + [ABILITY_SHIELD_DUST] = _("SHIELD DUST"), + [ABILITY_OWN_TEMPO] = _("OWN TEMPO"), + [ABILITY_SUCTION_CUPS] = _("SUCTION CUPS"), + [ABILITY_INTIMIDATE] = _("INTIMIDATE"), + [ABILITY_SHADOW_TAG] = _("SHADOW TAG"), + [ABILITY_ROUGH_SKIN] = _("ROUGH SKIN"), + [ABILITY_WONDER_GUARD] = _("WONDER GUARD"), + [ABILITY_LEVITATE] = _("LEVITATE"), + [ABILITY_EFFECT_SPORE] = _("EFFECT SPORE"), + [ABILITY_SYNCHRONIZE] = _("SYNCHRONIZE"), + [ABILITY_CLEAR_BODY] = _("CLEAR BODY"), + [ABILITY_NATURAL_CURE] = _("NATURAL CURE"), + [ABILITY_LIGHTNING_ROD] = _("LIGHTNINGROD"), + [ABILITY_SERENE_GRACE] = _("SERENE GRACE"), + [ABILITY_SWIFT_SWIM] = _("SWIFT SWIM"), + [ABILITY_CHLOROPHYLL] = _("CHLOROPHYLL"), + [ABILITY_ILLUMINATE] = _("ILLUMINATE"), + [ABILITY_TRACE] = _("TRACE"), + [ABILITY_HUGE_POWER] = _("HUGE POWER"), + [ABILITY_POISON_POINT] = _("POISON POINT"), + [ABILITY_INNER_FOCUS] = _("INNER FOCUS"), + [ABILITY_MAGMA_ARMOR] = _("MAGMA ARMOR"), + [ABILITY_WATER_VEIL] = _("WATER VEIL"), + [ABILITY_MAGNET_PULL] = _("MAGNET PULL"), + [ABILITY_SOUNDPROOF] = _("SOUNDPROOF"), + [ABILITY_RAIN_DISH] = _("RAIN DISH"), + [ABILITY_SAND_STREAM] = _("SAND STREAM"), + [ABILITY_PRESSURE] = _("PRESSURE"), + [ABILITY_THICK_FAT] = _("THICK FAT"), + [ABILITY_EARLY_BIRD] = _("EARLY BIRD"), + [ABILITY_FLAME_BODY] = _("FLAME BODY"), + [ABILITY_RUN_AWAY] = _("RUN AWAY"), + [ABILITY_KEEN_EYE] = _("KEEN EYE"), + [ABILITY_HYPER_CUTTER] = _("HYPER CUTTER"), + [ABILITY_PICKUP] = _("PICKUP"), + [ABILITY_TRUANT] = _("TRUANT"), + [ABILITY_HUSTLE] = _("HUSTLE"), + [ABILITY_CUTE_CHARM] = _("CUTE CHARM"), + [ABILITY_PLUS] = _("PLUS"), + [ABILITY_MINUS] = _("MINUS"), + [ABILITY_FORECAST] = _("FORECAST"), + [ABILITY_STICKY_HOLD] = _("STICKY HOLD"), + [ABILITY_SHED_SKIN] = _("SHED SKIN"), + [ABILITY_GUTS] = _("GUTS"), + [ABILITY_MARVEL_SCALE] = _("MARVEL SCALE"), + [ABILITY_LIQUID_OOZE] = _("LIQUID OOZE"), + [ABILITY_OVERGROW] = _("OVERGROW"), + [ABILITY_BLAZE] = _("BLAZE"), + [ABILITY_TORRENT] = _("TORRENT"), + [ABILITY_SWARM] = _("SWARM"), + [ABILITY_ROCK_HEAD] = _("ROCK HEAD"), + [ABILITY_DROUGHT] = _("DROUGHT"), + [ABILITY_ARENA_TRAP] = _("ARENA TRAP"), + [ABILITY_VITAL_SPIRIT] = _("VITAL SPIRIT"), + [ABILITY_WHITE_SMOKE] = _("WHITE SMOKE"), + [ABILITY_PURE_POWER] = _("PURE POWER"), + [ABILITY_SHELL_ARMOR] = _("SHELL ARMOR"), + [ABILITY_CACOPHONY] = _("CACOPHONY"), + [ABILITY_AIR_LOCK] = _("AIR LOCK"), }; const u8 *const gAbilityDescriptionPointers[ABILITIES_COUNT] = { - gNoneAbilityDescription, - gStenchAbilityDescription, - gDrizzleAbilityDescription, - gSpeedBoostAbilityDescription, - gBattleArmorAbilityDescription, - gSturdyAbilityDescription, - gDampAbilityDescription, - gLimberAbilityDescription, - gSandVeilAbilityDescription, - gStaticAbilityDescription, - gVoltAbsorbAbilityDescription, - gWaterAbsorbAbilityDescription, - gObliviousAbilityDescription, - gCloudNineAbilityDescription, - gCompoundEyesAbilityDescription, - gInsomniaAbilityDescription, - gColorChangeAbilityDescription, - gImmunityAbilityDescription, - gFlashFireAbilityDescription, - gShieldDustAbilityDescription, - gOwnTempoAbilityDescription, - gSuctionCupsAbilityDescription, - gIntimidateAbilityDescription, - gShadowTagAbilityDescription, - gRoughSkinAbilityDescription, - gWonderGuardAbilityDescription, - gLevitateAbilityDescription, - gEffectSporeAbilityDescription, - gSynchronizeAbilityDescription, - gClearBodyAbilityDescription, - gNaturalCureAbilityDescription, - gLightningRodAbilityDescription, - gSereneGraceAbilityDescription, - gSwiftSwimAbilityDescription, - gChlorophyllAbilityDescription, - gIlluminateAbilityDescription, - gTraceAbilityDescription, - gHugePowerAbilityDescription, - gPoisonPointAbilityDescription, - gInnerFocusAbilityDescription, - gMagmaArmorAbilityDescription, - gWaterVeilAbilityDescription, - gMagnetPullAbilityDescription, - gSoundproofAbilityDescription, - gRainDishAbilityDescription, - gSandStreamAbilityDescription, - gPressureAbilityDescription, - gThickFatAbilityDescription, - gEarlyBirdAbilityDescription, - gFlameBodyAbilityDescription, - gRunAwayAbilityDescription, - gKeenEyeAbilityDescription, - gHyperCutterAbilityDescription, - gPickupAbilityDescription, - gTruantAbilityDescription, - gHustleAbilityDescription, - gCuteCharmAbilityDescription, - gPlusAbilityDescription, - gMinusAbilityDescription, - gForecastAbilityDescription, - gStickyHoldAbilityDescription, - gShedSkinAbilityDescription, - gGutsAbilityDescription, - gMarvelScaleAbilityDescription, - gLiquidOozeAbilityDescription, - gOvergrowAbilityDescription, - gBlazeAbilityDescription, - gTorrentAbilityDescription, - gSwarmAbilityDescription, - gRockHeadAbilityDescription, - gDroughtAbilityDescription, - gArenaTrapAbilityDescription, - gVitalSpiritAbilityDescription, - gWhiteSmokeAbilityDescription, - gPurePowerAbilityDescription, - gShellArmorAbilityDescription, - gCacophonyAbilityDescription, - gAirLockAbilityDescription, + [ABILITY_NONE] = sNoneDescription, + [ABILITY_STENCH] = sStenchDescription, + [ABILITY_DRIZZLE] = sDrizzleDescription, + [ABILITY_SPEED_BOOST] = sSpeedBoostDescription, + [ABILITY_BATTLE_ARMOR] = sBattleArmorDescription, + [ABILITY_STURDY] = sSturdyDescription, + [ABILITY_DAMP] = sDampDescription, + [ABILITY_LIMBER] = sLimberDescription, + [ABILITY_SAND_VEIL] = sSandVeilDescription, + [ABILITY_STATIC] = sStaticDescription, + [ABILITY_VOLT_ABSORB] = sVoltAbsorbDescription, + [ABILITY_WATER_ABSORB] = sWaterAbsorbDescription, + [ABILITY_OBLIVIOUS] = sObliviousDescription, + [ABILITY_CLOUD_NINE] = sCloudNineDescription, + [ABILITY_COMPOUND_EYES] = sCompoundEyesDescription, + [ABILITY_INSOMNIA] = sInsomniaDescription, + [ABILITY_COLOR_CHANGE] = sColorChangeDescription, + [ABILITY_IMMUNITY] = sImmunityDescription, + [ABILITY_FLASH_FIRE] = sFlashFireDescription, + [ABILITY_SHIELD_DUST] = sShieldDustDescription, + [ABILITY_OWN_TEMPO] = sOwnTempoDescription, + [ABILITY_SUCTION_CUPS] = sSuctionCupsDescription, + [ABILITY_INTIMIDATE] = sIntimidateDescription, + [ABILITY_SHADOW_TAG] = sShadowTagDescription, + [ABILITY_ROUGH_SKIN] = sRoughSkinDescription, + [ABILITY_WONDER_GUARD] = sWonderGuardDescription, + [ABILITY_LEVITATE] = sLevitateDescription, + [ABILITY_EFFECT_SPORE] = sEffectSporeDescription, + [ABILITY_SYNCHRONIZE] = sSynchronizeDescription, + [ABILITY_CLEAR_BODY] = sClearBodyDescription, + [ABILITY_NATURAL_CURE] = sNaturalCureDescription, + [ABILITY_LIGHTNING_ROD] = sLightningRodDescription, + [ABILITY_SERENE_GRACE] = sSereneGraceDescription, + [ABILITY_SWIFT_SWIM] = sSwiftSwimDescription, + [ABILITY_CHLOROPHYLL] = sChlorophyllDescription, + [ABILITY_ILLUMINATE] = sIlluminateDescription, + [ABILITY_TRACE] = sTraceDescription, + [ABILITY_HUGE_POWER] = sHugePowerDescription, + [ABILITY_POISON_POINT] = sPoisonPointDescription, + [ABILITY_INNER_FOCUS] = sInnerFocusDescription, + [ABILITY_MAGMA_ARMOR] = sMagmaArmorDescription, + [ABILITY_WATER_VEIL] = sWaterVeilDescription, + [ABILITY_MAGNET_PULL] = sMagnetPullDescription, + [ABILITY_SOUNDPROOF] = sSoundproofDescription, + [ABILITY_RAIN_DISH] = sRainDishDescription, + [ABILITY_SAND_STREAM] = sSandStreamDescription, + [ABILITY_PRESSURE] = sPressureDescription, + [ABILITY_THICK_FAT] = sThickFatDescription, + [ABILITY_EARLY_BIRD] = sEarlyBirdDescription, + [ABILITY_FLAME_BODY] = sFlameBodyDescription, + [ABILITY_RUN_AWAY] = sRunAwayDescription, + [ABILITY_KEEN_EYE] = sKeenEyeDescription, + [ABILITY_HYPER_CUTTER] = sHyperCutterDescription, + [ABILITY_PICKUP] = sPickupDescription, + [ABILITY_TRUANT] = sTruantDescription, + [ABILITY_HUSTLE] = sHustleDescription, + [ABILITY_CUTE_CHARM] = sCuteCharmDescription, + [ABILITY_PLUS] = sPlusDescription, + [ABILITY_MINUS] = sMinusDescription, + [ABILITY_FORECAST] = sForecastDescription, + [ABILITY_STICKY_HOLD] = sStickyHoldDescription, + [ABILITY_SHED_SKIN] = sShedSkinDescription, + [ABILITY_GUTS] = sGutsDescription, + [ABILITY_MARVEL_SCALE] = sMarvelScaleDescription, + [ABILITY_LIQUID_OOZE] = sLiquidOozeDescription, + [ABILITY_OVERGROW] = sOvergrowDescription, + [ABILITY_BLAZE] = sBlazeDescription, + [ABILITY_TORRENT] = sTorrentDescription, + [ABILITY_SWARM] = sSwarmDescription, + [ABILITY_ROCK_HEAD] = sRockHeadDescription, + [ABILITY_DROUGHT] = sDroughtDescription, + [ABILITY_ARENA_TRAP] = sArenaTrapDescription, + [ABILITY_VITAL_SPIRIT] = sVitalSpiritDescription, + [ABILITY_WHITE_SMOKE] = sWhiteSmokeDescription, + [ABILITY_PURE_POWER] = sPurePowerDescription, + [ABILITY_SHELL_ARMOR] = sShellArmorDescription, + [ABILITY_CACOPHONY] = sCacophonyDescription, + [ABILITY_AIR_LOCK] = sAirLockDescription, }; - -#endif // POKEEMERALD_DATA_TEXT_ABILITIES_H From 94bbfa7fa0ed62b0182d2dfd088876cc93ca99cd Mon Sep 17 00:00:00 2001 From: DizzyEggg <jajkodizzy@wp.pl> Date: Sun, 16 Sep 2018 15:58:13 +0200 Subject: [PATCH 212/234] Use pokeruby's formatting for move descriptions --- src/data/text/move_descriptions.h | 2481 ++++++++++++++++++++--------- 1 file changed, 1772 insertions(+), 709 deletions(-) diff --git a/src/data/text/move_descriptions.h b/src/data/text/move_descriptions.h index f8830c5937..3642f66b11 100644 --- a/src/data/text/move_descriptions.h +++ b/src/data/text/move_descriptions.h @@ -1,714 +1,1777 @@ -static const u8 sNullMoveDescription[] = _(""); -static const u8 sPoundMoveDescription[] = _("Pounds the foe with\nforelegs or tail."); -static const u8 sKarateChopMoveDescription[] = _("A chopping attack with a\nhigh critical-hit ratio."); -static const u8 sDoubleSlapMoveDescription[] = _("Repeatedly slaps the foe\n2 to 5 times."); -static const u8 sCometPunchMoveDescription[] = _("Repeatedly punches the foe\n2 to 5 times."); -static const u8 sMegaPunchMoveDescription[] = _("A strong punch thrown with\nincredible power."); -static const u8 sPayDayMoveDescription[] = _("Throws coins at the foe.\nMoney is recovered after."); -static const u8 sFirePunchMoveDescription[] = _("A fiery punch that may burn\nthe foe."); -static const u8 sIcePunchMoveDescription[] = _("An icy punch that may\nfreeze the foe."); -static const u8 sThunderPunchMoveDescription[] = _("An electrified punch that\nmay paralyze the foe."); -static const u8 sScratchMoveDescription[] = _("Scratches the foe with\nsharp claws."); -static const u8 sViceGripMoveDescription[] = _("Grips the foe with large and\npowerful pincers."); -static const u8 sGuillotineMoveDescription[] = _("A powerful pincer attack\nthat may cause fainting."); -static const u8 sRazorWindMoveDescription[] = _("A 2-turn move that strikes\nthe foe on the 2nd turn."); -static const u8 sSwordsDanceMoveDescription[] = _("A fighting dance that\nsharply raises ATTACK."); -static const u8 sCutMoveDescription[] = _("Cuts the foe with sharp\nscythes, claws, etc."); -static const u8 sGustMoveDescription[] = _("Strikes the foe with a gust\nof wind whipped up by wings."); -static const u8 sWingAttackMoveDescription[] = _("Strikes the foe with wings\nspread wide."); -static const u8 sWhirlwindMoveDescription[] = _("Blows away the foe with\nwind and ends the battle."); -static const u8 sFlyMoveDescription[] = _("Flies up on the first turn,\nthen strikes the next turn."); -static const u8 sBindMoveDescription[] = _("Binds and squeezes the foe\nfor 2 to 5 turns."); -static const u8 sSlamMoveDescription[] = _("Slams the foe with a long\ntail, vine, etc."); -static const u8 sVineWhipMoveDescription[] = _("Strikes the foe with\nslender, whiplike vines."); -static const u8 sStompMoveDescription[] = _("Stomps the enemy with a big\nfoot. May cause flinching."); -static const u8 sDoubleKickMoveDescription[] = _("A double-kicking attack\nthat strikes the foe twice."); -static const u8 sMegaKickMoveDescription[] = _("An extremely powerful kick\nwith intense force."); -static const u8 sJumpKickMoveDescription[] = _("A strong jumping kick. May\nmiss and hurt the kicker."); -static const u8 sRollingKickMoveDescription[] = _("A fast kick delivered from\na rapid spin."); -static const u8 sSandAttackMoveDescription[] = _("Reduces the foe’s accuracy\nby hurling sand in its face."); -static const u8 sHeadbuttMoveDescription[] = _("A ramming attack that may\ncause flinching."); -static const u8 sHornAttackMoveDescription[] = _("Jabs the foe with sharp\nhorns."); -static const u8 sFuryAttackMoveDescription[] = _("Jabs the foe 2 to 5 times\nwith sharp horns, etc."); -static const u8 sHornDrillMoveDescription[] = _("A one-hit KO attack that\nuses a horn like a drill."); -static const u8 sTackleMoveDescription[] = _("Charges the foe with a full-\nbody tackle."); -static const u8 sBodySlamMoveDescription[] = _("A full-body slam that may\ncause paralysis."); -static const u8 sWrapMoveDescription[] = _("Wraps and squeezes the foe\n2 to 5 times with vines, etc."); -static const u8 sTakeDownMoveDescription[] = _("A reckless charge attack\nthat also hurts the user."); -static const u8 sThrashMoveDescription[] = _("A rampage of 2 to 3 turns\nthat confuses the user."); -static const u8 sDoubleEdgeMoveDescription[] = _("A life-risking tackle that\nalso hurts the user."); -static const u8 sTailWhipMoveDescription[] = _("Wags the tail to lower the\nfoe’s DEFENSE."); -static const u8 sPoisonStingMoveDescription[] = _("A toxic attack with barbs,\netc., that may poison."); -static const u8 sTwineedleMoveDescription[] = _("Stingers on the forelegs\njab the foe twice."); -static const u8 sPinMissileMoveDescription[] = _("Sharp pins are fired to\nstrike 2 to 5 times."); -static const u8 sLeerMoveDescription[] = _("Frightens the foe with a\nleer to lower DEFENSE."); -static const u8 sBiteMoveDescription[] = _("Bites with vicious fangs.\nMay cause flinching."); -static const u8 sGrowlMoveDescription[] = _("Growls cutely to reduce the\nfoe’s ATTACK."); -static const u8 sRoarMoveDescription[] = _("Makes the foe flee to end\nthe battle."); -static const u8 sSingMoveDescription[] = _("A soothing song lulls the\nfoe into a deep slumber."); -static const u8 sSupersonicMoveDescription[] = _("Emits bizarre sound waves\nthat may confuse the foe."); -static const u8 sSonicBoomMoveDescription[] = _("Launches shock waves that\nalways inflict 20 HP damage."); -static const u8 sDisableMoveDescription[] = _("Psychically disables one of\nthe foe’s moves."); -static const u8 sAcidMoveDescription[] = _("Sprays a hide-melting acid.\nMay lower DEFENSE."); -static const u8 sEmberMoveDescription[] = _("A weak fire attack that may\ninflict a burn."); -static const u8 sFlamethrowerMoveDescription[] = _("A powerful fire attack that\nmay inflict a burn."); -static const u8 sMistMoveDescription[] = _("Creates a mist that stops\nreduction of abilities."); -static const u8 sWaterGunMoveDescription[] = _("Squirts water to attack\nthe foe."); -static const u8 sHydroPumpMoveDescription[] = _("Blasts water at high power\nto strike the foe."); -static const u8 sSurfMoveDescription[] = _("Creates a huge wave, then\ncrashes it down on the foe."); -static const u8 sIceBeamMoveDescription[] = _("Blasts the foe with an icy\nbeam that may freeze it."); -static const u8 sBlizzardMoveDescription[] = _("Hits the foe with an icy\nstorm that may freeze it."); -static const u8 sPsybeamMoveDescription[] = _("Fires a peculiar ray that\nmay confuse the foe."); -static const u8 sBubbleBeamMoveDescription[] = _("Forcefully sprays bubbles\nthat may lower SPEED."); -static const u8 sAuroraBeamMoveDescription[] = _("Fires a rainbow-colored\nbeam that may lower ATTACK."); -static const u8 sHyperBeamMoveDescription[] = _("Powerful, but leaves the\nuser immobile the next turn."); -static const u8 sPeckMoveDescription[] = _("Attacks the foe with a\njabbing beak, etc."); -static const u8 sDrillPeckMoveDescription[] = _("A corkscrewing attack with\nthe beak acting as a drill."); -static const u8 sSubmissionMoveDescription[] = _("A reckless body slam that\nalso hurts the user."); -static const u8 sLowKickMoveDescription[] = _("A kick that inflicts more\ndamage on heavier foes."); -static const u8 sCounterMoveDescription[] = _("Retaliates any physical hit\nwith double the power."); -static const u8 sSeismicTossMoveDescription[] = _("Inflicts damage identical\nto the user’s level."); -static const u8 sStrengthMoveDescription[] = _("Builds enormous power,\nthen slams the foe."); -static const u8 sAbsorbMoveDescription[] = _("An attack that absorbs\nhalf the damage inflicted."); -static const u8 sMegaDrainMoveDescription[] = _("An attack that absorbs\nhalf the damage inflicted."); -static const u8 sLeechSeedMoveDescription[] = _("Plants a seed on the foe to\nsteal HP on every turn."); -static const u8 sGrowthMoveDescription[] = _("Forces the body to grow\nand heightens SP. ATK."); -static const u8 sRazorLeafMoveDescription[] = _("Cuts the enemy with leaves.\nHigh critical-hit ratio."); -static const u8 sSolarBeamMoveDescription[] = _("Absorbs light in one turn,\nthen attacks next turn."); -static const u8 sPoisonPowderMoveDescription[] = _("Scatters a toxic powder\nthat may poison the foe."); -static const u8 sStunSporeMoveDescription[] = _("Scatters a powder that may\nparalyze the foe."); -static const u8 sSleepPowderMoveDescription[] = _("Scatters a powder that may\ncause the foe to sleep."); -static const u8 sPetalDanceMoveDescription[] = _("A rampage of 2 to 3 turns\nthat confuses the user."); -static const u8 sStringShotMoveDescription[] = _("Binds the foe with string\nto reduce its SPEED."); -static const u8 sDragonRageMoveDescription[] = _("Launches shock waves that\nalways inflict 40 HP damage."); -static const u8 sFireSpinMoveDescription[] = _("Traps the foe in a ring of\nfire for 2 to 5 turns."); -static const u8 sThunderShockMoveDescription[] = _("An electrical attack that\nmay paralyze the foe."); -static const u8 sThunderboltMoveDescription[] = _("A strong electrical attack\nthat may paralyze the foe."); -static const u8 sThunderWaveMoveDescription[] = _("A weak jolt of electricity\nthat paralyzes the foe."); -static const u8 sThunderMoveDescription[] = _("A lightning attack that may\ncause paralysis."); -static const u8 sRockThrowMoveDescription[] = _("Throws small rocks to\nstrike the foe."); -static const u8 sEarthquakeMoveDescription[] = _("A powerful quake, but has\nno effect on flying foes."); -static const u8 sFissureMoveDescription[] = _("A one-hit KO move that\ndrops the foe in a fissure."); -static const u8 sDigMoveDescription[] = _("Digs underground the first\nturn and strikes next turn."); -static const u8 sToxicMoveDescription[] = _("Poisons the foe with an\nintensifying toxin."); -static const u8 sConfusionMoveDescription[] = _("A psychic attack that may\ncause confusion."); -static const u8 sPsychicMoveDescription[] = _("A powerful psychic attack\nthat may lower SP. DEF."); -static const u8 sHypnosisMoveDescription[] = _("A hypnotizing move that\nmay induce sleep."); -static const u8 sMeditateMoveDescription[] = _("Meditates in a peaceful\nfashion to raise ATTACK."); -static const u8 sAgilityMoveDescription[] = _("Relaxes the body to sharply\nboost SPEED."); -static const u8 sQuickAttackMoveDescription[] = _("An extremely fast attack\nthat always strikes first."); -static const u8 sRageMoveDescription[] = _("Raises the user’s ATTACK\nevery time it is hit."); -static const u8 sTeleportMoveDescription[] = _("A psychic move for fleeing\nfrom battle instantly."); -static const u8 sNightShadeMoveDescription[] = _("Inflicts damage identical\nto the user’s level."); -static const u8 sMimicMoveDescription[] = _("Copies a move used by the\nfoe during one battle."); -static const u8 sScreechMoveDescription[] = _("Emits a screech to sharply\nreduce the foe’s DEFENSE."); -static const u8 sDoubleTeamMoveDescription[] = _("Creates illusory copies to\nraise evasiveness."); -static const u8 sRecoverMoveDescription[] = _("Recovers up to half the\nuser’s maximum HP."); -static const u8 sHardenMoveDescription[] = _("Stiffens the body’s \nmuscles to raise DEFENSE."); -static const u8 sMinimizeMoveDescription[] = _("Minimizes the user’s size\nto raise evasiveness."); -static const u8 sSmokescreenMoveDescription[] = _("Lowers the foe’s accuracy\nusing smoke, ink, etc."); -static const u8 sConfuseRayMoveDescription[] = _("A sinister ray that\nconfuses the foe."); -static const u8 sWithdrawMoveDescription[] = _("Withdraws the body into its\nhard shell to raise DEFENSE."); -static const u8 sDefenseCurlMoveDescription[] = _("Curls up to conceal weak\nspots and raise DEFENSE."); -static const u8 sBarrierMoveDescription[] = _("Creates a barrier that\nsharply raises DEFENSE."); -static const u8 sLightScreenMoveDescription[] = _("Creates a wall of light that\nlowers SP. ATK damage."); -static const u8 sHazeMoveDescription[] = _("Creates a black haze that\neliminates all stat changes."); -static const u8 sReflectMoveDescription[] = _("Creates a wall of light that\nweakens physical attacks."); -static const u8 sFocusEnergyMoveDescription[] = _("Focuses power to raise the\ncritical-hit ratio."); -static const u8 sBideMoveDescription[] = _("Endures attack for 2\nturns to retaliate double."); -static const u8 sMetronomeMoveDescription[] = _("Waggles a finger to use any\nPOKéMON move at random."); -static const u8 sMirrorMoveMoveDescription[] = _("Counters the foe’s attack\nwith the same move."); -static const u8 sSelfDestructMoveDescription[] = _("Inflicts severe damage but\nmakes the user faint."); -static const u8 sEggBombMoveDescription[] = _("An egg is forcibly hurled at\nthe foe."); -static const u8 sLickMoveDescription[] = _("Licks with a long tongue to\ninjure. May also paralyze."); -static const u8 sSmogMoveDescription[] = _("An exhaust-gas attack\nthat may also poison."); -static const u8 sSludgeMoveDescription[] = _("Sludge is hurled to inflict\ndamage. May also poison."); -static const u8 sBoneClubMoveDescription[] = _("Clubs the foe with a bone.\nMay cause flinching."); -static const u8 sFireBlastMoveDescription[] = _("Incinerates everything it\nstrikes. May cause a burn."); -static const u8 sWaterfallMoveDescription[] = _("Charges the foe with speed\nto climb waterfalls."); -static const u8 sClampMoveDescription[] = _("Traps and squeezes the\nfoe for 2 to 5 turns."); -static const u8 sSwiftMoveDescription[] = _("Sprays star-shaped rays\nthat never miss."); -static const u8 sSkullBashMoveDescription[] = _("Tucks in the head, then\nattacks on the next turn."); -static const u8 sSpikeCannonMoveDescription[] = _("Launches sharp spikes that\nstrike 2 to 5 times."); -static const u8 sConstrictMoveDescription[] = _("Constricts to inflict pain.\nMay lower SPEED."); -static const u8 sAmnesiaMoveDescription[] = _("Forgets about something\nand sharply raises SP. DEF."); -static const u8 sKinesisMoveDescription[] = _("Distracts the foe.\nMay lower accuracy."); -static const u8 sSoftBoiledMoveDescription[] = _("Recovers up to half the\nuser’s maximum HP."); -static const u8 sHiJumpKickMoveDescription[] = _("A jumping knee kick. If it\nmisses, the user is hurt."); -static const u8 sGlareMoveDescription[] = _("Intimidates and frightens\nthe foe into paralysis."); -static const u8 sDreamEaterMoveDescription[] = _("Takes one half the damage\ninflicted on a sleeping foe."); -static const u8 sPoisonGasMoveDescription[] = _("Envelops the foe in a toxic\ngas that may poison."); -static const u8 sBarrageMoveDescription[] = _("Hurls round objects at the\nfoe 2 to 5 times."); -static const u8 sLeechLifeMoveDescription[] = _("An attack that steals half\nthe damage inflicted."); -static const u8 sLovelyKissMoveDescription[] = _("Demands a kiss with a scary\nface that induces sleep."); -static const u8 sSkyAttackMoveDescription[] = _("Searches out weak spots,\nthen strikes the next turn."); -static const u8 sTransformMoveDescription[] = _("Alters the user’s cells to\nbecome a copy of the foe."); -static const u8 sBubbleMoveDescription[] = _("An attack using bubbles.\nMay lower the foe’s SPEED."); -static const u8 sDizzyPunchMoveDescription[] = _("A rhythmic punch that may\nconfuse the foe."); -static const u8 sSporeMoveDescription[] = _("Scatters a cloud of spores\nthat always induce sleep."); -static const u8 sFlashMoveDescription[] = _("Looses a powerful blast of\nlight that cuts accuracy."); -static const u8 sPsywaveMoveDescription[] = _("Attacks with a psychic\nwave of varying intensity."); -static const u8 sSplashMoveDescription[] = _("It’s just a splash...\nHas no effect whatsoever."); -static const u8 sAcidArmorMoveDescription[] = _("Liquifies the user’s body\nto sharply raise DEFENSE."); -static const u8 sCrabhammerMoveDescription[] = _("Hammers with a pincer. Has a\nhigh critical-hit ratio."); -static const u8 sExplosionMoveDescription[] = _("Inflicts severe damage but\nmakes the user faint."); -static const u8 sFurySwipesMoveDescription[] = _("Rakes the foe with sharp\nclaws, etc., 2 to 5 times."); -static const u8 sBonemerangMoveDescription[] = _("Throws a bone boomerang\nthat strikes twice."); -static const u8 sRestMoveDescription[] = _("The user sleeps for 2 turns,\nrestoring HP and status."); -static const u8 sRockSlideMoveDescription[] = _("Large boulders are hurled.\nMay cause flinching."); -static const u8 sHyperFangMoveDescription[] = _("Attacks with sharp fangs.\nMay cause flinching."); -static const u8 sSharpenMoveDescription[] = _("Reduces the polygon count\nand raises ATTACK."); -static const u8 sConversionMoveDescription[] = _("Changes the user’s type\ninto a known move’s type."); -static const u8 sTriAttackMoveDescription[] = _("Fires three types of beams\nat the same time."); -static const u8 sSuperFangMoveDescription[] = _("Attacks with sharp fangs\nand cuts half the foe’s HP."); -static const u8 sSlashMoveDescription[] = _("Slashes with claws, etc. Has\na high critical-hit ratio."); -static const u8 sSubstituteMoveDescription[] = _("Creates a decoy using 1/4\nof the user’s maximum HP."); -static const u8 sStruggleMoveDescription[] = _("Used only if all PP are gone.\nAlso hurts the user a little."); -static const u8 sSketchMoveDescription[] = _("Copies the foe’s last move\npermanently."); -static const u8 sTripleKickMoveDescription[] = _("Kicks the foe 3 times in a\nrow with rising intensity."); -static const u8 sThiefMoveDescription[] = _("While attacking, it may\nsteal the foe’s held item."); -static const u8 sSpiderWebMoveDescription[] = _("Ensnares the foe to stop it\nfrom fleeing or switching."); -static const u8 sMindReaderMoveDescription[] = _("Senses the foe’s action to\nensure the next move’s hit."); -static const u8 sNightmareMoveDescription[] = _("Inflicts 1/4 damage on a\nsleeping foe every turn."); -static const u8 sFlameWheelMoveDescription[] = _("A fiery charge attack that\nmay inflict a burn."); -static const u8 sSnoreMoveDescription[] = _("A loud attack that can be\nused only while asleep."); -static const u8 sCurseMoveDescription[] = _("A move that functions\ndifferently for GHOSTS."); -static const u8 sFlailMoveDescription[] = _("Inflicts more damage when\nthe user’s HP is down."); -static const u8 sConversion2MoveDescription[] = _("Makes the user resistant\nto the last attack’s type."); -static const u8 sAeroblastMoveDescription[] = _("Launches a vacuumed blast.\nHigh critical-hit ratio."); -static const u8 sCottonSporeMoveDescription[] = _("Spores cling to the foe,\nsharply reducing SPEED."); -static const u8 sReversalMoveDescription[] = _("Inflicts more damage when\nthe user’s HP is down."); -static const u8 sSpiteMoveDescription[] = _("Spitefully cuts the PP\nof the foe’s last move."); -static const u8 sPowderSnowMoveDescription[] = _("Blasts the foe with a snowy\ngust. May cause freezing."); -static const u8 sProtectMoveDescription[] = _("Evades attack, but may fail\nif used in succession."); -static const u8 sMachPunchMoveDescription[] = _("A punch is thrown at wicked\nspeed to strike first."); -static const u8 sScaryFaceMoveDescription[] = _("Frightens with a scary face\nto sharply reduce SPEED."); -static const u8 sFaintAttackMoveDescription[] = _("Draws the foe close, then\nstrikes without fail."); -static const u8 sSweetKissMoveDescription[] = _("Demands a kiss with a cute\nlook. May cause confusion."); -static const u8 sBellyDrumMoveDescription[] = _("Maximizes ATTACK while\nsacrificing HP."); -static const u8 sSludgeBombMoveDescription[] = _("Sludge is hurled to inflict\ndamage. May also poison."); -static const u8 sMudSlapMoveDescription[] = _("Hurls mud in the foe’s face\nto reduce its accuracy."); -static const u8 sOctazookaMoveDescription[] = _("Fires a lump of ink to\ndamage and cut accuracy."); -static const u8 sSpikesMoveDescription[] = _("Sets spikes that hurt a \nfoe switching in."); -static const u8 sZapCannonMoveDescription[] = _("Powerful and sure to cause\nparalysis, but inaccurate."); -static const u8 sForesightMoveDescription[] = _("Negates the foe’s efforts\nto heighten evasiveness."); -static const u8 sDestinyBondMoveDescription[] = _("If the user faints, the foe\nis also made to faint."); -static const u8 sPerishSongMoveDescription[] = _("Any POKéMON hearing this\nsong faints in 3 turns."); -static const u8 sIcyWindMoveDescription[] = _("A chilling attack that\nlowers the foe’s SPEED."); -static const u8 sDetectMoveDescription[] = _("Evades attack, but may fail\nif used in succession."); -static const u8 sBoneRushMoveDescription[] = _("Strikes the foe with a bone\nin hand 2 to 5 times."); -static const u8 sLockOnMoveDescription[] = _("Locks on to the foe to\nensure the next move hits."); -static const u8 sOutrageMoveDescription[] = _("A rampage of 2 to 3 turns\nthat confuses the user."); -static const u8 sSandstormMoveDescription[] = _("Causes a sandstorm that\nrages for several turns."); -static const u8 sGigaDrainMoveDescription[] = _("An attack that steals half\nthe damage inflicted."); -static const u8 sEndureMoveDescription[] = _("Endures any attack for\n1 turn, leaving at least 1HP."); -static const u8 sCharmMoveDescription[] = _("Charms the foe and sharply\nreduces its ATTACK."); -static const u8 sRolloutMoveDescription[] = _("An attack lasting 5 turns\nwith rising intensity."); -static const u8 sFalseSwipeMoveDescription[] = _("An attack that leaves the\nfoe with at least 1 HP."); -static const u8 sSwaggerMoveDescription[] = _("Confuses the foe, but also\nsharply raises ATTACK."); -static const u8 sMilkDrinkMoveDescription[] = _("Recovers up to half the\nuser’s maximum HP."); -static const u8 sSparkMoveDescription[] = _("An electrified tackle that\nmay paralyze the foe."); -static const u8 sFuryCutterMoveDescription[] = _("An attack that intensifies\non each successive hit."); -static const u8 sSteelWingMoveDescription[] = _("Strikes the foe with hard\nwings spread wide."); -static const u8 sMeanLookMoveDescription[] = _("Fixes the foe with a mean\nlook that prevents escape."); -static const u8 sAttractMoveDescription[] = _("Makes the opposite gender\nless likely to attack."); -static const u8 sSleepTalkMoveDescription[] = _("Uses an available move\nrandomly while asleep."); -static const u8 sHealBellMoveDescription[] = _("Chimes soothingly to heal\nall status abnormalities."); -static const u8 sReturnMoveDescription[] = _("An attack that increases\nin power with friendship."); -static const u8 sPresentMoveDescription[] = _("A gift in the form of a\nbomb. May restore HP."); -static const u8 sFrustrationMoveDescription[] = _("An attack that is stronger\nif the TRAINER is disliked."); -static const u8 sSafeguardMoveDescription[] = _("A mystical force prevents\nall status problems."); -static const u8 sPainSplitMoveDescription[] = _("Adds the user and foe’s HP,\nthen shares them equally."); -static const u8 sSacredFireMoveDescription[] = _("A mystical fire attack that\nmay inflict a burn."); -static const u8 sMagnitudeMoveDescription[] = _("A ground-shaking attack\nof random intensity."); -static const u8 sDynamicPunchMoveDescription[] = _("Powerful and sure to cause\nconfusion, but inaccurate."); -static const u8 sMegahornMoveDescription[] = _("A brutal ramming attack\nusing out-thrust horns."); -static const u8 sDragonBreathMoveDescription[] = _("Strikes the foe with an\nincredible blast of breath."); -static const u8 sBatonPassMoveDescription[] = _("Switches out the user while\nkeeping effects in play."); -static const u8 sEncoreMoveDescription[] = _("Makes the foe repeat its\nlast move over 2 to 6 turns."); -static const u8 sPursuitMoveDescription[] = _("Inflicts bad damage if used\non a foe switching out."); -static const u8 sRapidSpinMoveDescription[] = _("Spins the body at high\nspeed to strike the foe."); -static const u8 sSweetScentMoveDescription[] = _("Allures the foe to reduce\nevasiveness."); -static const u8 sIronTailMoveDescription[] = _("Attacks with a rock-hard\ntail. May lower DEFENSE."); -static const u8 sMetalClawMoveDescription[] = _("A claw attack that may\nraise the user’s ATTACK."); -static const u8 sVitalThrowMoveDescription[] = _("Makes the user’s move last,\nbut it never misses."); -static const u8 sMorningSunMoveDescription[] = _("Restores HP. The amount\nvaries with the weather."); -static const u8 sSynthesisMoveDescription[] = _("Restores HP. The amount\nvaries with the weather."); -static const u8 sMoonlightMoveDescription[] = _("Restores HP. The amount\nvaries with the weather."); -static const u8 sHiddenPowerMoveDescription[] = _("The effectiveness varies\nwith the user."); -static const u8 sCrossChopMoveDescription[] = _("A double-chopping attack.\nHigh critical-hit ratio."); -static const u8 sTwisterMoveDescription[] = _("Whips up a vicious twister\nto tear at the foe."); -static const u8 sRainDanceMoveDescription[] = _("Boosts the power of WATER-\ntype moves for 5 turns."); -static const u8 sSunnyDayMoveDescription[] = _("Boosts the power of FIRE-\ntype moves for 5 turns."); -static const u8 sCrunchMoveDescription[] = _("Crunches with sharp fangs.\nMay lower SP. DEF."); -static const u8 sMirrorCoatMoveDescription[] = _("Counters the foe’s special\nattack at double the power."); -static const u8 sPsychUpMoveDescription[] = _("Copies the foe’s effect(s)\nand gives to the user."); -static const u8 sExtremeSpeedMoveDescription[] = _("An extremely fast and\npowerful attack."); -static const u8 sAncientPowerMoveDescription[] = _("An attack that may raise\nall stats."); -static const u8 sShadowBallMoveDescription[] = _("Hurls a black blob that may\nlower the foe’s SP. DEF."); -static const u8 sFutureSightMoveDescription[] = _("Heightens inner power to\nstrike 2 turns later."); -static const u8 sRockSmashMoveDescription[] = _("A rock-crushing attack\nthat may lower DEFENSE."); -static const u8 sWhirlpoolMoveDescription[] = _("Traps and hurts the foe in\na whirlpool for 2 to 5 turns."); -static const u8 sBeatUpMoveDescription[] = _("Summons party POKéMON to\njoin in the attack."); -static const u8 sFakeOutMoveDescription[] = _("A 1st-turn, 1st-strike move\nthat causes flinching."); -static const u8 sUproarMoveDescription[] = _("Causes an uproar for 2 to 5\nturns and prevents sleep."); -static const u8 sStockpileMoveDescription[] = _("Charges up power for up to\n3 turns."); -static const u8 sSpitUpMoveDescription[] = _("Releases stockpiled power\n(the more the better)."); -static const u8 sSwallowMoveDescription[] = _("Absorbs stockpiled power\nand restores HP."); -static const u8 sHeatWaveMoveDescription[] = _("Exhales a hot breath on the\nfoe. May inflict a burn."); -static const u8 sHailMoveDescription[] = _("Summons a hailstorm that\nstrikes every turn."); -static const u8 sTormentMoveDescription[] = _("Torments the foe and stops\nsuccessive use of a move."); -static const u8 sFlatterMoveDescription[] = _("Confuses the foe, but\nraises its SP. ATK."); -static const u8 sWillOWispMoveDescription[] = _("Inflicts a burn on the foe\nwith intense fire."); -static const u8 sMementoMoveDescription[] = _("The user faints and lowers\nthe foe’s abilities."); -static const u8 sFacadeMoveDescription[] = _("Boosts ATTACK when burned,\nparalyzed, or poisoned."); -static const u8 sFocusPunchMoveDescription[] = _("A powerful loyalty attack.\nThe user flinches if hit."); -static const u8 sSmellingSaltMoveDescription[] = _("Powerful against paralyzed\nfoes, but also heals them."); -static const u8 sFollowMeMoveDescription[] = _("Draws attention to make\nfoes attack only the user."); -static const u8 sNaturePowerMoveDescription[] = _("The type of attack varies\ndepending on the location."); -static const u8 sChargeMoveDescription[] = _("Charges power to boost the\nelectric move used next."); -static const u8 sTauntMoveDescription[] = _("Taunts the foe into only\nusing attack moves."); -static const u8 sHelpingHandMoveDescription[] = _("Boosts the power of the\nrecipient’s moves."); -static const u8 sTrickMoveDescription[] = _("Tricks the foe into trading\nheld items."); -static const u8 sRolePlayMoveDescription[] = _("Mimics the target and\ncopies its special ability."); -static const u8 sWishMoveDescription[] = _("A wish that restores HP.\nIt takes time to work."); -static const u8 sAssistMoveDescription[] = _("Attacks randomly with one\nof the partner’s moves."); -static const u8 sIngrainMoveDescription[] = _("Lays roots that restore HP.\nThe user can’t switch out."); -static const u8 sSuperpowerMoveDescription[] = _("Boosts strength sharply,\nbut lowers abilities."); -static const u8 sMagicCoatMoveDescription[] = _("Reflects special effects\nback to the attacker."); -static const u8 sRecycleMoveDescription[] = _("Recycles a used item for\none more use."); -static const u8 sRevengeMoveDescription[] = _("An attack that gains power\nif injured by the foe."); -static const u8 sBrickBreakMoveDescription[] = _("Destroys barriers such as\nREFLECT and causes damage."); -static const u8 sYawnMoveDescription[] = _("Lulls the foe into yawning,\nthen sleeping next turn."); -static const u8 sKnockOffMoveDescription[] = _("Knocks down the foe’s held\nitem to prevent its use."); -static const u8 sEndeavorMoveDescription[] = _("Gains power if the user’s HP\nis lower than the foe’s HP."); -static const u8 sEruptionMoveDescription[] = _("The higher the user’s HP,\nthe more damage caused."); -static const u8 sSkillSwapMoveDescription[] = _("The user swaps special\nabilities with the target."); -static const u8 sImprisonMoveDescription[] = _("Prevents foes from using\nmoves known by the user."); -static const u8 sRefreshMoveDescription[] = _("Heals poisoning, paralysis,\nor a burn."); -static const u8 sGrudgeMoveDescription[] = _("If the user faints, deletes\nall PP of foe’s last move."); -static const u8 sSnatchMoveDescription[] = _("Steals the effects of the\nmove the target uses next."); -static const u8 sSecretPowerMoveDescription[] = _("An attack with effects\nthat vary by location."); -static const u8 sDiveMoveDescription[] = _("Dives underwater the first\nturn and strikes next turn."); -static const u8 sArmThrustMoveDescription[] = _("Straight-arm punches that\nstrike the foe 2 to 5 times."); -static const u8 sCamouflageMoveDescription[] = _("Alters the POKéMON’s type\ndepending on the location."); -static const u8 sTailGlowMoveDescription[] = _("Flashes a light that sharply\nraises SP. ATK."); -static const u8 sLusterPurgeMoveDescription[] = _("Attacks with a burst of\nlight. May lower SP. DEF."); -static const u8 sMistBallMoveDescription[] = _("Attacks with a flurry of\ndown. May lower SP. ATK."); -static const u8 sFeatherDanceMoveDescription[] = _("Envelops the foe with down\nto sharply reduce ATTACK."); -static const u8 sTeeterDanceMoveDescription[] = _("Confuses all POKéMON on\nthe scene."); -static const u8 sBlazeKickMoveDescription[] = _("A kick with a high critical-\nhit ratio. May cause a burn."); -static const u8 sMudSportMoveDescription[] = _("Covers the user in mud to\nraise electrical resistance."); -static const u8 sIceBallMoveDescription[] = _("A 5-turn attack that gains\npower on successive hits."); -static const u8 sNeedleArmMoveDescription[] = _("Attacks with thorny arms.\nMay cause flinching."); -static const u8 sSlackOffMoveDescription[] = _("Slacks off and restores\nhalf the maximum HP."); -static const u8 sHyperVoiceMoveDescription[] = _("A loud attack that uses\nsound waves to injure."); -static const u8 sPoisonFangMoveDescription[] = _("A sharp-fanged attack.\nMay badly poison the foe."); -static const u8 sCrushClawMoveDescription[] = _("Tears at the foe with sharp\nclaws. May lower DEFENSE."); -static const u8 sBlastBurnMoveDescription[] = _("Powerful, but leaves the\nuser immobile the next turn."); -static const u8 sHydroCannonMoveDescription[] = _("Powerful, but leaves the\nuser immobile the next turn."); -static const u8 sMeteorMashMoveDescription[] = _("Fires a meteor-like punch.\nMay raise ATTACK."); -static const u8 sAstonishMoveDescription[] = _("An attack that may shock\nthe foe into flinching."); -static const u8 sWeatherBallMoveDescription[] = _("The move’s type and power\nchange with the weather."); -static const u8 sAromatherapyMoveDescription[] = _("Heals all status problems\nwith a soothing scent."); -static const u8 sFakeTearsMoveDescription[] = _("Feigns crying to sharply\nlower the foe’s SP. DEF."); -static const u8 sAirCutterMoveDescription[] = _("Hacks with razorlike wind.\nHigh critical-hit ratio."); -static const u8 sOverheatMoveDescription[] = _("Allows a full-power attack,\nbut sharply lowers SP. ATK."); -static const u8 sOdorSleuthMoveDescription[] = _("Negates the foe’s efforts\nto heighten evasiveness."); -static const u8 sRockTombMoveDescription[] = _("Stops the foe from moving\nwith rocks and cuts SPEED."); -static const u8 sSilverWindMoveDescription[] = _("A powdery attack that may\nraise abilities."); -static const u8 sMetalSoundMoveDescription[] = _("Emits a horrible screech\nthat sharply lowers SP. DEF."); -static const u8 sGrassWhistleMoveDescription[] = _("Lulls the foe into sleep\nwith a pleasant melody."); -static const u8 sTickleMoveDescription[] = _("Makes the foe laugh to\nlower ATTACK and DEFENSE."); -static const u8 sCosmicPowerMoveDescription[] = _("Raises DEFENSE and SP. DEF\nwith a mystic power."); -static const u8 sWaterSpoutMoveDescription[] = _("Inflicts more damage if the\nuser’s HP is high."); -static const u8 sSignalBeamMoveDescription[] = _("A strange beam attack that\nmay confuse the foe."); -static const u8 sShadowPunchMoveDescription[] = _("An unavoidable punch that\nis thrown from shadows."); -static const u8 sExtrasensoryMoveDescription[] = _("Attacks with a peculiar\npower. May cause flinching."); -static const u8 sSkyUppercutMoveDescription[] = _("An uppercut thrown as if\nleaping into the sky."); -static const u8 sSandTombMoveDescription[] = _("Traps and hurts the foe in\nquicksand for 2 to 5 turns."); -static const u8 sSheerColdMoveDescription[] = _("A chilling attack that\ncauses fainting if it hits."); -static const u8 sMuddyWaterMoveDescription[] = _("Attacks with muddy water.\nMay lower accuracy."); -static const u8 sBulletSeedMoveDescription[] = _("Shoots 2 to 5 seeds in a row\nto strike the foe."); -static const u8 sAerialAceMoveDescription[] = _("An extremely speedy and\nunavoidable attack."); -static const u8 sIcicleSpearMoveDescription[] = _("Attacks the foe by firing\n2 to 5 icicles in a row."); -static const u8 sIronDefenseMoveDescription[] = _("Hardens the body’s surface\nto sharply raise DEFENSE."); -static const u8 sBlockMoveDescription[] = _("Blocks the foe’s way to\nprevent escape."); -static const u8 sHowlMoveDescription[] = _("Howls to raise the spirit\nand boosts ATTACK."); -static const u8 sDragonClawMoveDescription[] = _("Slashes the foe with sharp\nclaws."); -static const u8 sFrenzyPlantMoveDescription[] = _("Powerful, but leaves the\nuser immobile the next turn."); -static const u8 sBulkUpMoveDescription[] = _("Bulks up the body to boost\nboth ATTACK and DEFENSE."); -static const u8 sBounceMoveDescription[] = _("Bounces up, then down the\nnext turn. May paralyze."); -static const u8 sMudShotMoveDescription[] = _("Hurls mud at the foe and\nreduces SPEED."); -static const u8 sPoisonTailMoveDescription[] = _("Has a high critical-hit\nratio. May also poison."); -static const u8 sCovetMoveDescription[] = _("Cutely begs to obtain an\nitem held by the foe."); -static const u8 sVoltTackleMoveDescription[] = _("A life-risking tackle that\nslightly hurts the user."); -static const u8 sMagicalLeafMoveDescription[] = _("Attacks with a strange leaf\nthat cannot be evaded."); -static const u8 sWaterSportMoveDescription[] = _("The user becomes soaked to\nraise resistance to fire."); -static const u8 sCalmMindMoveDescription[] = _("Raises SP. ATK and SP. DEF\nby focusing the mind."); -static const u8 sLeafBladeMoveDescription[] = _("Slashes with a sharp leaf.\nHigh critical-hit ratio."); -static const u8 sDragonDanceMoveDescription[] = _("A mystical dance that ups\nATTACK and SPEED."); -static const u8 sRockBlastMoveDescription[] = _("Hurls boulders at the foe\n2 to 5 times in a row."); -static const u8 sShockWaveMoveDescription[] = _("A fast and unavoidable\nelectric attack."); -static const u8 sWaterPulseMoveDescription[] = _("Attacks with ultrasonic\nwaves. May confuse the foe."); -static const u8 sDoomDesireMoveDescription[] = _("Summons strong sunlight to\nattack 2 turns later."); -static const u8 sPsychoBoostMoveDescription[] = _("Allows a full-power attack,\nbut sharply lowers SP. ATK."); +static const u8 sNullDescription[] = _( + ""); + +static const u8 sPoundDescription[] = _( + "Pounds the foe with\n" + "forelegs or tail."); + +static const u8 sKarateChopDescription[] = _( + "A chopping attack with a\n" + "high critical-hit ratio."); + +static const u8 sDoubleSlapDescription[] = _( + "Repeatedly slaps the foe\n" + "2 to 5 times."); + +static const u8 sCometPunchDescription[] = _( + "Repeatedly punches the foe\n" + "2 to 5 times."); + +static const u8 sMegaPunchDescription[] = _( + "A strong punch thrown with\n" + "incredible power."); + +static const u8 sPayDayDescription[] = _( + "Throws coins at the foe.\n" + "Money is recovered after."); + +static const u8 sFirePunchDescription[] = _( + "A fiery punch that may burn\n" + "the foe."); + +static const u8 sIcePunchDescription[] = _( + "An icy punch that may\n" + "freeze the foe."); + +static const u8 sThunderPunchDescription[] = _( + "An electrified punch that\n" + "may paralyze the foe."); + +static const u8 sScratchDescription[] = _( + "Scratches the foe with\n" + "sharp claws."); + +static const u8 sViceGripDescription[] = _( + "Grips the foe with large and\n" + "powerful pincers."); + +static const u8 sGuillotineDescription[] = _( + "A powerful pincer attack\n" + "that may cause fainting."); + +static const u8 sRazorWindDescription[] = _( + "A 2-turn move that strikes\n" + "the foe on the 2nd turn."); + +static const u8 sSwordsDanceDescription[] = _( + "A fighting dance that\n" + "sharply raises ATTACK."); + +static const u8 sCutDescription[] = _( + "Cuts the foe with sharp\n" + "scythes, claws, etc."); + +static const u8 sGustDescription[] = _( + "Strikes the foe with a gust\n" + "of wind whipped up by wings."); + +static const u8 sWingAttackDescription[] = _( + "Strikes the foe with wings\n" + "spread wide."); + +static const u8 sWhirlwindDescription[] = _( + "Blows away the foe with\n" + "wind and ends the battle."); + +static const u8 sFlyDescription[] = _( + "Flies up on the first turn,\n" + "then strikes the next turn."); + +static const u8 sBindDescription[] = _( + "Binds and squeezes the foe\n" + "for 2 to 5 turns."); + +static const u8 sSlamDescription[] = _( + "Slams the foe with a long\n" + "tail, vine, etc."); + +static const u8 sVineWhipDescription[] = _( + "Strikes the foe with\n" + "slender, whiplike vines."); + +static const u8 sStompDescription[] = _( + "Stomps the enemy with a big\n" + "foot. May cause flinching."); + +static const u8 sDoubleKickDescription[] = _( + "A double-kicking attack\n" + "that strikes the foe twice."); + +static const u8 sMegaKickDescription[] = _( + "An extremely powerful kick\n" + "with intense force."); + +static const u8 sJumpKickDescription[] = _( + "A strong jumping kick. May\n" + "miss and hurt the kicker."); + +static const u8 sRollingKickDescription[] = _( + "A fast kick delivered from\n" + "a rapid spin."); + +static const u8 sSandAttackDescription[] = _( + "Reduces the foe’s accuracy\n" + "by hurling sand in its face."); + +static const u8 sHeadbuttDescription[] = _( + "A ramming attack that may\n" + "cause flinching."); + +static const u8 sHornAttackDescription[] = _( + "Jabs the foe with sharp\n" + "horns."); + +static const u8 sFuryAttackDescription[] = _( + "Jabs the foe 2 to 5 times\n" + "with sharp horns, etc."); + +static const u8 sHornDrillDescription[] = _( + "A one-hit KO attack that\n" + "uses a horn like a drill."); + +static const u8 sTackleDescription[] = _( + "Charges the foe with a full-\n" + "body tackle."); + +static const u8 sBodySlamDescription[] = _( + "A full-body slam that may\n" + "cause paralysis."); + +static const u8 sWrapDescription[] = _( + "Wraps and squeezes the foe\n" + "2 to 5 times with vines, etc."); + +static const u8 sTakeDownDescription[] = _( + "A reckless charge attack\n" + "that also hurts the user."); + +static const u8 sThrashDescription[] = _( + "A rampage of 2 to 3 turns\n" + "that confuses the user."); + +static const u8 sDoubleEdgeDescription[] = _( + "A life-risking tackle that\n" + "also hurts the user."); + +static const u8 sTailWhipDescription[] = _( + "Wags the tail to lower the\n" + "foe’s DEFENSE."); + +static const u8 sPoisonStingDescription[] = _( + "A toxic attack with barbs,\n" + "etc., that may poison."); + +static const u8 sTwineedleDescription[] = _( + "Stingers on the forelegs\n" + "jab the foe twice."); + +static const u8 sPinMissileDescription[] = _( + "Sharp pins are fired to\n" + "strike 2 to 5 times."); + +static const u8 sLeerDescription[] = _( + "Frightens the foe with a\n" + "leer to lower DEFENSE."); + +static const u8 sBiteDescription[] = _( + "Bites with vicious fangs.\n" + "May cause flinching."); + +static const u8 sGrowlDescription[] = _( + "Growls cutely to reduce the\n" + "foe’s ATTACK."); + +static const u8 sRoarDescription[] = _( + "Makes the foe flee to end\n" + "the battle."); + +static const u8 sSingDescription[] = _( + "A soothing song lulls the\n" + "foe into a deep slumber."); + +static const u8 sSupersonicDescription[] = _( + "Emits bizarre sound waves\n" + "that may confuse the foe."); + +static const u8 sSonicBoomDescription[] = _( + "Launches shock waves that\n" + "always inflict 20 HP damage."); + +static const u8 sDisableDescription[] = _( + "Psychically disables one of\n" + "the foe’s moves."); + +static const u8 sAcidDescription[] = _( + "Sprays a hide-melting acid.\n" + "May lower DEFENSE."); + +static const u8 sEmberDescription[] = _( + "A weak fire attack that may\n" + "inflict a burn."); + +static const u8 sFlamethrowerDescription[] = _( + "A powerful fire attack that\n" + "may inflict a burn."); + +static const u8 sMistDescription[] = _( + "Creates a mist that stops\n" + "reduction of abilities."); + +static const u8 sWaterGunDescription[] = _( + "Squirts water to attack\n" + "the foe."); + +static const u8 sHydroPumpDescription[] = _( + "Blasts water at high power\n" + "to strike the foe."); + +static const u8 sSurfDescription[] = _( + "Creates a huge wave, then\n" + "crashes it down on the foe."); + +static const u8 sIceBeamDescription[] = _( + "Blasts the foe with an icy\n" + "beam that may freeze it."); + +static const u8 sBlizzardDescription[] = _( + "Hits the foe with an icy\n" + "storm that may freeze it."); + +static const u8 sPsybeamDescription[] = _( + "Fires a peculiar ray that\n" + "may confuse the foe."); + +static const u8 sBubbleBeamDescription[] = _( + "Forcefully sprays bubbles\n" + "that may lower SPEED."); + +static const u8 sAuroraBeamDescription[] = _( + "Fires a rainbow-colored\n" + "beam that may lower ATTACK."); + +static const u8 sHyperBeamDescription[] = _( + "Powerful, but leaves the\n" + "user immobile the next turn."); + +static const u8 sPeckDescription[] = _( + "Attacks the foe with a\n" + "jabbing beak, etc."); + +static const u8 sDrillPeckDescription[] = _( + "A corkscrewing attack with\n" + "the beak acting as a drill."); + +static const u8 sSubmissionDescription[] = _( + "A reckless body slam that\n" + "also hurts the user."); + +static const u8 sLowKickDescription[] = _( + "A kick that inflicts more\n" + "damage on heavier foes."); + +static const u8 sCounterDescription[] = _( + "Retaliates any physical hit\n" + "with double the power."); + +static const u8 sSeismicTossDescription[] = _( + "Inflicts damage identical\n" + "to the user’s level."); + +static const u8 sStrengthDescription[] = _( + "Builds enormous power,\n" + "then slams the foe."); + +static const u8 sAbsorbDescription[] = _( + "An attack that absorbs\n" + "half the damage inflicted."); + +static const u8 sMegaDrainDescription[] = _( + "An attack that absorbs\n" + "half the damage inflicted."); + +static const u8 sLeechSeedDescription[] = _( + "Plants a seed on the foe to\n" + "steal HP on every turn."); + +static const u8 sGrowthDescription[] = _( + "Forces the body to grow\n" + "and heightens SP. ATK."); + +static const u8 sRazorLeafDescription[] = _( + "Cuts the enemy with leaves.\n" + "High critical-hit ratio."); + +static const u8 sSolarBeamDescription[] = _( + "Absorbs light in one turn,\n" + "then attacks next turn."); + +static const u8 sPoisonPowderDescription[] = _( + "Scatters a toxic powder\n" + "that may poison the foe."); + +static const u8 sStunSporeDescription[] = _( + "Scatters a powder that may\n" + "paralyze the foe."); + +static const u8 sSleepPowderDescription[] = _( + "Scatters a powder that may\n" + "cause the foe to sleep."); + +static const u8 sPetalDanceDescription[] = _( + "A rampage of 2 to 3 turns\n" + "that confuses the user."); + +static const u8 sStringShotDescription[] = _( + "Binds the foe with string\n" + "to reduce its SPEED."); + +static const u8 sDragonRageDescription[] = _( + "Launches shock waves that\n" + "always inflict 40 HP damage."); + +static const u8 sFireSpinDescription[] = _( + "Traps the foe in a ring of\n" + "fire for 2 to 5 turns."); + +static const u8 sThunderShockDescription[] = _( + "An electrical attack that\n" + "may paralyze the foe."); + +static const u8 sThunderboltDescription[] = _( + "A strong electrical attack\n" + "that may paralyze the foe."); + +static const u8 sThunderWaveDescription[] = _( + "A weak jolt of electricity\n" + "that paralyzes the foe."); + +static const u8 sThunderDescription[] = _( + "A lightning attack that may\n" + "cause paralysis."); + +static const u8 sRockThrowDescription[] = _( + "Throws small rocks to\n" + "strike the foe."); + +static const u8 sEarthquakeDescription[] = _( + "A powerful quake, but has\n" + "no effect on flying foes."); + +static const u8 sFissureDescription[] = _( + "A one-hit KO move that\n" + "drops the foe in a fissure."); + +static const u8 sDigDescription[] = _( + "Digs underground the first\n" + "turn and strikes next turn."); + +static const u8 sToxicDescription[] = _( + "Poisons the foe with an\n" + "intensifying toxin."); + +static const u8 sConfusionDescription[] = _( + "A psychic attack that may\n" + "cause confusion."); + +static const u8 sPsychicDescription[] = _( + "A powerful psychic attack\n" + "that may lower SP. DEF."); + +static const u8 sHypnosisDescription[] = _( + "A hypnotizing move that\n" + "may induce sleep."); + +static const u8 sMeditateDescription[] = _( + "Meditates in a peaceful\n" + "fashion to raise ATTACK."); + +static const u8 sAgilityDescription[] = _( + "Relaxes the body to sharply\n" + "boost SPEED."); + +static const u8 sQuickAttackDescription[] = _( + "An extremely fast attack\n" + "that always strikes first."); + +static const u8 sRageDescription[] = _( + "Raises the user’s ATTACK\n" + "every time it is hit."); + +static const u8 sTeleportDescription[] = _( + "A psychic move for fleeing\n" + "from battle instantly."); + +static const u8 sNightShadeDescription[] = _( + "Inflicts damage identical\n" + "to the user’s level."); + +static const u8 sMimicDescription[] = _( + "Copies a move used by the\n" + "foe during one battle."); + +static const u8 sScreechDescription[] = _( + "Emits a screech to sharply\n" + "reduce the foe’s DEFENSE."); + +static const u8 sDoubleTeamDescription[] = _( + "Creates illusory copies to\n" + "raise evasiveness."); + +static const u8 sRecoverDescription[] = _( + "Recovers up to half the\n" + "user’s maximum HP."); + +static const u8 sHardenDescription[] = _( + "Stiffens the body’s \n" + "muscles to raise DEFENSE."); + +static const u8 sMinimizeDescription[] = _( + "Minimizes the user’s size\n" + "to raise evasiveness."); + +static const u8 sSmokescreenDescription[] = _( + "Lowers the foe’s accuracy\n" + "using smoke, ink, etc."); + +static const u8 sConfuseRayDescription[] = _( + "A sinister ray that\n" + "confuses the foe."); + +static const u8 sWithdrawDescription[] = _( + "Withdraws the body into its\n" + "hard shell to raise DEFENSE."); + +static const u8 sDefenseCurlDescription[] = _( + "Curls up to conceal weak\n" + "spots and raise DEFENSE."); + +static const u8 sBarrierDescription[] = _( + "Creates a barrier that\n" + "sharply raises DEFENSE."); + +static const u8 sLightScreenDescription[] = _( + "Creates a wall of light that\n" + "lowers SP. ATK damage."); + +static const u8 sHazeDescription[] = _( + "Creates a black haze that\n" + "eliminates all stat changes."); + +static const u8 sReflectDescription[] = _( + "Creates a wall of light that\n" + "weakens physical attacks."); + +static const u8 sFocusEnergyDescription[] = _( + "Focuses power to raise the\n" + "critical-hit ratio."); + +static const u8 sBideDescription[] = _( + "Endures attack for 2\n" + "turns to retaliate double."); + +static const u8 sMetronomeDescription[] = _( + "Waggles a finger to use any\n" + "POKéMON move at random."); + +static const u8 sMirrorMoveDescription[] = _( + "Counters the foe’s attack\n" + "with the same move."); + +static const u8 sSelfDestructDescription[] = _( + "Inflicts severe damage but\n" + "makes the user faint."); + +static const u8 sEggBombDescription[] = _( + "An egg is forcibly hurled at\n" + "the foe."); + +static const u8 sLickDescription[] = _( + "Licks with a long tongue to\n" + "injure. May also paralyze."); + +static const u8 sSmogDescription[] = _( + "An exhaust-gas attack\n" + "that may also poison."); + +static const u8 sSludgeDescription[] = _( + "Sludge is hurled to inflict\n" + "damage. May also poison."); + +static const u8 sBoneClubDescription[] = _( + "Clubs the foe with a bone.\n" + "May cause flinching."); + +static const u8 sFireBlastDescription[] = _( + "Incinerates everything it\n" + "strikes. May cause a burn."); + +static const u8 sWaterfallDescription[] = _( + "Charges the foe with speed\n" + "to climb waterfalls."); + +static const u8 sClampDescription[] = _( + "Traps and squeezes the\n" + "foe for 2 to 5 turns."); + +static const u8 sSwiftDescription[] = _( + "Sprays star-shaped rays\n" + "that never miss."); + +static const u8 sSkullBashDescription[] = _( + "Tucks in the head, then\n" + "attacks on the next turn."); + +static const u8 sSpikeCannonDescription[] = _( + "Launches sharp spikes that\n" + "strike 2 to 5 times."); + +static const u8 sConstrictDescription[] = _( + "Constricts to inflict pain.\n" + "May lower SPEED."); + +static const u8 sAmnesiaDescription[] = _( + "Forgets about something\n" + "and sharply raises SP. DEF."); + +static const u8 sKinesisDescription[] = _( + "Distracts the foe.\n" + "May lower accuracy."); + +static const u8 sSoftBoiledDescription[] = _( + "Recovers up to half the\n" + "user’s maximum HP."); + +static const u8 sHiJumpKickDescription[] = _( + "A jumping knee kick. If it\n" + "misses, the user is hurt."); + +static const u8 sGlareDescription[] = _( + "Intimidates and frightens\n" + "the foe into paralysis."); + +static const u8 sDreamEaterDescription[] = _( + "Takes one half the damage\n" + "inflicted on a sleeping foe."); + +static const u8 sPoisonGasDescription[] = _( + "Envelops the foe in a toxic\n" + "gas that may poison."); + +static const u8 sBarrageDescription[] = _( + "Hurls round objects at the\n" + "foe 2 to 5 times."); + +static const u8 sLeechLifeDescription[] = _( + "An attack that steals half\n" + "the damage inflicted."); + +static const u8 sLovelyKissDescription[] = _( + "Demands a kiss with a scary\n" + "face that induces sleep."); + +static const u8 sSkyAttackDescription[] = _( + "Searches out weak spots,\n" + "then strikes the next turn."); + +static const u8 sTransformDescription[] = _( + "Alters the user’s cells to\n" + "become a copy of the foe."); + +static const u8 sBubbleDescription[] = _( + "An attack using bubbles.\n" + "May lower the foe’s SPEED."); + +static const u8 sDizzyPunchDescription[] = _( + "A rhythmic punch that may\n" + "confuse the foe."); + +static const u8 sSporeDescription[] = _( + "Scatters a cloud of spores\n" + "that always induce sleep."); + +static const u8 sFlashDescription[] = _( + "Looses a powerful blast of\n" + "light that cuts accuracy."); + +static const u8 sPsywaveDescription[] = _( + "Attacks with a psychic\n" + "wave of varying intensity."); + +static const u8 sSplashDescription[] = _( + "It’s just a splash...\n" + "Has no effect whatsoever."); + +static const u8 sAcidArmorDescription[] = _( + "Liquifies the user’s body\n" + "to sharply raise DEFENSE."); + +static const u8 sCrabhammerDescription[] = _( + "Hammers with a pincer. Has a\n" + "high critical-hit ratio."); + +static const u8 sExplosionDescription[] = _( + "Inflicts severe damage but\n" + "makes the user faint."); + +static const u8 sFurySwipesDescription[] = _( + "Rakes the foe with sharp\n" + "claws, etc., 2 to 5 times."); + +static const u8 sBonemerangDescription[] = _( + "Throws a bone boomerang\n" + "that strikes twice."); + +static const u8 sRestDescription[] = _( + "The user sleeps for 2 turns,\n" + "restoring HP and status."); + +static const u8 sRockSlideDescription[] = _( + "Large boulders are hurled.\n" + "May cause flinching."); + +static const u8 sHyperFangDescription[] = _( + "Attacks with sharp fangs.\n" + "May cause flinching."); + +static const u8 sSharpenDescription[] = _( + "Reduces the polygon count\n" + "and raises ATTACK."); + +static const u8 sConversionDescription[] = _( + "Changes the user’s type\n" + "into a known move’s type."); + +static const u8 sTriAttackDescription[] = _( + "Fires three types of beams\n" + "at the same time."); + +static const u8 sSuperFangDescription[] = _( + "Attacks with sharp fangs\n" + "and cuts half the foe’s HP."); + +static const u8 sSlashDescription[] = _( + "Slashes with claws, etc. Has\n" + "a high critical-hit ratio."); + +static const u8 sSubstituteDescription[] = _( + "Creates a decoy using 1/4\n" + "of the user’s maximum HP."); + +static const u8 sStruggleDescription[] = _( + "Used only if all PP are gone.\n" + "Also hurts the user a little."); + +static const u8 sSketchDescription[] = _( + "Copies the foe’s last move\n" + "permanently."); + +static const u8 sTripleKickDescription[] = _( + "Kicks the foe 3 times in a\n" + "row with rising intensity."); + +static const u8 sThiefDescription[] = _( + "While attacking, it may\n" + "steal the foe’s held item."); + +static const u8 sSpiderWebDescription[] = _( + "Ensnares the foe to stop it\n" + "from fleeing or switching."); + +static const u8 sMindReaderDescription[] = _( + "Senses the foe’s action to\n" + "ensure the next move’s hit."); + +static const u8 sNightmareDescription[] = _( + "Inflicts 1/4 damage on a\n" + "sleeping foe every turn."); + +static const u8 sFlameWheelDescription[] = _( + "A fiery charge attack that\n" + "may inflict a burn."); + +static const u8 sSnoreDescription[] = _( + "A loud attack that can be\n" + "used only while asleep."); + +static const u8 sCurseDescription[] = _( + "A move that functions\n" + "differently for GHOSTS."); + +static const u8 sFlailDescription[] = _( + "Inflicts more damage when\n" + "the user’s HP is down."); + +static const u8 sConversion2Description[] = _( + "Makes the user resistant\n" + "to the last attack’s type."); + +static const u8 sAeroblastDescription[] = _( + "Launches a vacuumed blast.\n" + "High critical-hit ratio."); + +static const u8 sCottonSporeDescription[] = _( + "Spores cling to the foe,\n" + "sharply reducing SPEED."); + +static const u8 sReversalDescription[] = _( + "Inflicts more damage when\n" + "the user’s HP is down."); + +static const u8 sSpiteDescription[] = _( + "Spitefully cuts the PP\n" + "of the foe’s last move."); + +static const u8 sPowderSnowDescription[] = _( + "Blasts the foe with a snowy\n" + "gust. May cause freezing."); + +static const u8 sProtectDescription[] = _( + "Evades attack, but may fail\n" + "if used in succession."); + +static const u8 sMachPunchDescription[] = _( + "A punch is thrown at wicked\n" + "speed to strike first."); + +static const u8 sScaryFaceDescription[] = _( + "Frightens with a scary face\n" + "to sharply reduce SPEED."); + +static const u8 sFaintAttackDescription[] = _( + "Draws the foe close, then\n" + "strikes without fail."); + +static const u8 sSweetKissDescription[] = _( + "Demands a kiss with a cute\n" + "look. May cause confusion."); + +static const u8 sBellyDrumDescription[] = _( + "Maximizes ATTACK while\n" + "sacrificing HP."); + +static const u8 sSludgeBombDescription[] = _( + "Sludge is hurled to inflict\n" + "damage. May also poison."); + +static const u8 sMudSlapDescription[] = _( + "Hurls mud in the foe’s face\n" + "to reduce its accuracy."); + +static const u8 sOctazookaDescription[] = _( + "Fires a lump of ink to\n" + "damage and cut accuracy."); + +static const u8 sSpikesDescription[] = _( + "Sets spikes that hurt a \n" + "foe switching in."); + +static const u8 sZapCannonDescription[] = _( + "Powerful and sure to cause\n" + "paralysis, but inaccurate."); + +static const u8 sForesightDescription[] = _( + "Negates the foe’s efforts\n" + "to heighten evasiveness."); + +static const u8 sDestinyBondDescription[] = _( + "If the user faints, the foe\n" + "is also made to faint."); + +static const u8 sPerishSongDescription[] = _( + "Any POKéMON hearing this\n" + "song faints in 3 turns."); + +static const u8 sIcyWindDescription[] = _( + "A chilling attack that\n" + "lowers the foe’s SPEED."); + +static const u8 sDetectDescription[] = _( + "Evades attack, but may fail\n" + "if used in succession."); + +static const u8 sBoneRushDescription[] = _( + "Strikes the foe with a bone\n" + "in hand 2 to 5 times."); + +static const u8 sLockOnDescription[] = _( + "Locks on to the foe to\n" + "ensure the next move hits."); + +static const u8 sOutrageDescription[] = _( + "A rampage of 2 to 3 turns\n" + "that confuses the user."); + +static const u8 sSandstormDescription[] = _( + "Causes a sandstorm that\n" + "rages for several turns."); + +static const u8 sGigaDrainDescription[] = _( + "An attack that steals half\n" + "the damage inflicted."); + +static const u8 sEndureDescription[] = _( + "Endures any attack for\n" + "1 turn, leaving at least 1HP."); + +static const u8 sCharmDescription[] = _( + "Charms the foe and sharply\n" + "reduces its ATTACK."); + +static const u8 sRolloutDescription[] = _( + "An attack lasting 5 turns\n" + "with rising intensity."); + +static const u8 sFalseSwipeDescription[] = _( + "An attack that leaves the\n" + "foe with at least 1 HP."); + +static const u8 sSwaggerDescription[] = _( + "Confuses the foe, but also\n" + "sharply raises ATTACK."); + +static const u8 sMilkDrinkDescription[] = _( + "Recovers up to half the\n" + "user’s maximum HP."); + +static const u8 sSparkDescription[] = _( + "An electrified tackle that\n" + "may paralyze the foe."); + +static const u8 sFuryCutterDescription[] = _( + "An attack that intensifies\n" + "on each successive hit."); + +static const u8 sSteelWingDescription[] = _( + "Strikes the foe with hard\n" + "wings spread wide."); + +static const u8 sMeanLookDescription[] = _( + "Fixes the foe with a mean\n" + "look that prevents escape."); + +static const u8 sAttractDescription[] = _( + "Makes the opposite gender\n" + "less likely to attack."); + +static const u8 sSleepTalkDescription[] = _( + "Uses an available move\n" + "randomly while asleep."); + +static const u8 sHealBellDescription[] = _( + "Chimes soothingly to heal\n" + "all status abnormalities."); + +static const u8 sReturnDescription[] = _( + "An attack that increases\n" + "in power with friendship."); + +static const u8 sPresentDescription[] = _( + "A gift in the form of a\n" + "bomb. May restore HP."); + +static const u8 sFrustrationDescription[] = _( + "An attack that is stronger\n" + "if the TRAINER is disliked."); + +static const u8 sSafeguardDescription[] = _( + "A mystical force prevents\n" + "all status problems."); + +static const u8 sPainSplitDescription[] = _( + "Adds the user and foe’s HP,\n" + "then shares them equally."); + +static const u8 sSacredFireDescription[] = _( + "A mystical fire attack that\n" + "may inflict a burn."); + +static const u8 sMagnitudeDescription[] = _( + "A ground-shaking attack\n" + "of random intensity."); + +static const u8 sDynamicPunchDescription[] = _( + "Powerful and sure to cause\n" + "confusion, but inaccurate."); + +static const u8 sMegahornDescription[] = _( + "A brutal ramming attack\n" + "using out-thrust horns."); + +static const u8 sDragonBreathDescription[] = _( + "Strikes the foe with an\n" + "incredible blast of breath."); + +static const u8 sBatonPassDescription[] = _( + "Switches out the user while\n" + "keeping effects in play."); + +static const u8 sEncoreDescription[] = _( + "Makes the foe repeat its\n" + "last move over 2 to 6 turns."); + +static const u8 sPursuitDescription[] = _( + "Inflicts bad damage if used\n" + "on a foe switching out."); + +static const u8 sRapidSpinDescription[] = _( + "Spins the body at high\n" + "speed to strike the foe."); + +static const u8 sSweetScentDescription[] = _( + "Allures the foe to reduce\n" + "evasiveness."); + +static const u8 sIronTailDescription[] = _( + "Attacks with a rock-hard\n" + "tail. May lower DEFENSE."); + +static const u8 sMetalClawDescription[] = _( + "A claw attack that may\n" + "raise the user’s ATTACK."); + +static const u8 sVitalThrowDescription[] = _( + "Makes the user’s move last,\n" + "but it never misses."); + +static const u8 sMorningSunDescription[] = _( + "Restores HP. The amount\n" + "varies with the weather."); + +static const u8 sSynthesisDescription[] = _( + "Restores HP. The amount\n" + "varies with the weather."); + +static const u8 sMoonlightDescription[] = _( + "Restores HP. The amount\n" + "varies with the weather."); + +static const u8 sHiddenPowerDescription[] = _( + "The effectiveness varies\n" + "with the user."); + +static const u8 sCrossChopDescription[] = _( + "A double-chopping attack.\n" + "High critical-hit ratio."); + +static const u8 sTwisterDescription[] = _( + "Whips up a vicious twister\n" + "to tear at the foe."); + +static const u8 sRainDanceDescription[] = _( + "Boosts the power of WATER-\n" + "type moves for 5 turns."); + +static const u8 sSunnyDayDescription[] = _( + "Boosts the power of FIRE-\n" + "type moves for 5 turns."); + +static const u8 sCrunchDescription[] = _( + "Crunches with sharp fangs.\n" + "May lower SP. DEF."); + +static const u8 sMirrorCoatDescription[] = _( + "Counters the foe’s special\n" + "attack at double the power."); + +static const u8 sPsychUpDescription[] = _( + "Copies the foe’s effect(s)\n" + "and gives to the user."); + +static const u8 sExtremeSpeedDescription[] = _( + "An extremely fast and\n" + "powerful attack."); + +static const u8 sAncientPowerDescription[] = _( + "An attack that may raise\n" + "all stats."); + +static const u8 sShadowBallDescription[] = _( + "Hurls a black blob that may\n" + "lower the foe’s SP. DEF."); + +static const u8 sFutureSightDescription[] = _( + "Heightens inner power to\n" + "strike 2 turns later."); + +static const u8 sRockSmashDescription[] = _( + "A rock-crushing attack\n" + "that may lower DEFENSE."); + +static const u8 sWhirlpoolDescription[] = _( + "Traps and hurts the foe in\n" + "a whirlpool for 2 to 5 turns."); + +static const u8 sBeatUpDescription[] = _( + "Summons party POKéMON to\n" + "join in the attack."); + +static const u8 sFakeOutDescription[] = _( + "A 1st-turn, 1st-strike move\n" + "that causes flinching."); + +static const u8 sUproarDescription[] = _( + "Causes an uproar for 2 to 5\n" + "turns and prevents sleep."); + +static const u8 sStockpileDescription[] = _( + "Charges up power for up to\n" + "3 turns."); + +static const u8 sSpitUpDescription[] = _( + "Releases stockpiled power\n" + "(the more the better)."); + +static const u8 sSwallowDescription[] = _( + "Absorbs stockpiled power\n" + "and restores HP."); + +static const u8 sHeatWaveDescription[] = _( + "Exhales a hot breath on the\n" + "foe. May inflict a burn."); + +static const u8 sHailDescription[] = _( + "Summons a hailstorm that\n" + "strikes every turn."); + +static const u8 sTormentDescription[] = _( + "Torments the foe and stops\n" + "successive use of a move."); + +static const u8 sFlatterDescription[] = _( + "Confuses the foe, but\n" + "raises its SP. ATK."); + +static const u8 sWillOWispDescription[] = _( + "Inflicts a burn on the foe\n" + "with intense fire."); + +static const u8 sMementoDescription[] = _( + "The user faints and lowers\n" + "the foe’s abilities."); + +static const u8 sFacadeDescription[] = _( + "Boosts ATTACK when burned,\n" + "paralyzed, or poisoned."); + +static const u8 sFocusPunchDescription[] = _( + "A powerful loyalty attack.\n" + "The user flinches if hit."); + +static const u8 sSmellingSaltDescription[] = _( + "Powerful against paralyzed\n" + "foes, but also heals them."); + +static const u8 sFollowMeDescription[] = _( + "Draws attention to make\n" + "foes attack only the user."); + +static const u8 sNaturePowerDescription[] = _( + "The type of attack varies\n" + "depending on the location."); + +static const u8 sChargeDescription[] = _( + "Charges power to boost the\n" + "electric move used next."); + +static const u8 sTauntDescription[] = _( + "Taunts the foe into only\n" + "using attack moves."); + +static const u8 sHelpingHandDescription[] = _( + "Boosts the power of the\n" + "recipient’s moves."); + +static const u8 sTrickDescription[] = _( + "Tricks the foe into trading\n" + "held items."); + +static const u8 sRolePlayDescription[] = _( + "Mimics the target and\n" + "copies its special ability."); + +static const u8 sWishDescription[] = _( + "A wish that restores HP.\n" + "It takes time to work."); + +static const u8 sAssistDescription[] = _( + "Attacks randomly with one\n" + "of the partner’s moves."); + +static const u8 sIngrainDescription[] = _( + "Lays roots that restore HP.\n" + "The user can’t switch out."); + +static const u8 sSuperpowerDescription[] = _( + "Boosts strength sharply,\n" + "but lowers abilities."); + +static const u8 sMagicCoatDescription[] = _( + "Reflects special effects\n" + "back to the attacker."); + +static const u8 sRecycleDescription[] = _( + "Recycles a used item for\n" + "one more use."); + +static const u8 sRevengeDescription[] = _( + "An attack that gains power\n" + "if injured by the foe."); + +static const u8 sBrickBreakDescription[] = _( + "Destroys barriers such as\n" + "REFLECT and causes damage."); + +static const u8 sYawnDescription[] = _( + "Lulls the foe into yawning,\n" + "then sleeping next turn."); + +static const u8 sKnockOffDescription[] = _( + "Knocks down the foe’s held\n" + "item to prevent its use."); + +static const u8 sEndeavorDescription[] = _( + "Gains power if the user’s HP\n" + "is lower than the foe’s HP."); + +static const u8 sEruptionDescription[] = _( + "The higher the user’s HP,\n" + "the more damage caused."); + +static const u8 sSkillSwapDescription[] = _( + "The user swaps special\n" + "abilities with the target."); + +static const u8 sImprisonDescription[] = _( + "Prevents foes from using\n" + "moves known by the user."); + +static const u8 sRefreshDescription[] = _( + "Heals poisoning, paralysis,\n" + "or a burn."); + +static const u8 sGrudgeDescription[] = _( + "If the user faints, deletes\n" + "all PP of foe’s last move."); + +static const u8 sSnatchDescription[] = _( + "Steals the effects of the\n" + "move the target uses next."); + +static const u8 sSecretPowerDescription[] = _( + "An attack with effects\n" + "that vary by location."); + +static const u8 sDiveDescription[] = _( + "Dives underwater the first\n" + "turn and strikes next turn."); + +static const u8 sArmThrustDescription[] = _( + "Straight-arm punches that\n" + "strike the foe 2 to 5 times."); + +static const u8 sCamouflageDescription[] = _( + "Alters the POKéMON’s type\n" + "depending on the location."); + +static const u8 sTailGlowDescription[] = _( + "Flashes a light that sharply\n" + "raises SP. ATK."); + +static const u8 sLusterPurgeDescription[] = _( + "Attacks with a burst of\n" + "light. May lower SP. DEF."); + +static const u8 sMistBallDescription[] = _( + "Attacks with a flurry of\n" + "down. May lower SP. ATK."); + +static const u8 sFeatherDanceDescription[] = _( + "Envelops the foe with down\n" + "to sharply reduce ATTACK."); + +static const u8 sTeeterDanceDescription[] = _( + "Confuses all POKéMON on\n" + "the scene."); + +static const u8 sBlazeKickDescription[] = _( + "A kick with a high critical-\n" + "hit ratio. May cause a burn."); + +static const u8 sMudSportDescription[] = _( + "Covers the user in mud to\n" + "raise electrical resistance."); + +static const u8 sIceBallDescription[] = _( + "A 5-turn attack that gains\n" + "power on successive hits."); + +static const u8 sNeedleArmDescription[] = _( + "Attacks with thorny arms.\n" + "May cause flinching."); + +static const u8 sSlackOffDescription[] = _( + "Slacks off and restores\n" + "half the maximum HP."); + +static const u8 sHyperVoiceDescription[] = _( + "A loud attack that uses\n" + "sound waves to injure."); + +static const u8 sPoisonFangDescription[] = _( + "A sharp-fanged attack.\n" + "May badly poison the foe."); + +static const u8 sCrushClawDescription[] = _( + "Tears at the foe with sharp\n" + "claws. May lower DEFENSE."); + +static const u8 sBlastBurnDescription[] = _( + "Powerful, but leaves the\n" + "user immobile the next turn."); + +static const u8 sHydroCannonDescription[] = _( + "Powerful, but leaves the\n" + "user immobile the next turn."); + +static const u8 sMeteorMashDescription[] = _( + "Fires a meteor-like punch.\n" + "May raise ATTACK."); + +static const u8 sAstonishDescription[] = _( + "An attack that may shock\n" + "the foe into flinching."); + +static const u8 sWeatherBallDescription[] = _( + "The move’s type and power\n" + "change with the weather."); + +static const u8 sAromatherapyDescription[] = _( + "Heals all status problems\n" + "with a soothing scent."); + +static const u8 sFakeTearsDescription[] = _( + "Feigns crying to sharply\n" + "lower the foe’s SP. DEF."); + +static const u8 sAirCutterDescription[] = _( + "Hacks with razorlike wind.\n" + "High critical-hit ratio."); + +static const u8 sOverheatDescription[] = _( + "Allows a full-power attack,\n" + "but sharply lowers SP. ATK."); + +static const u8 sOdorSleuthDescription[] = _( + "Negates the foe’s efforts\n" + "to heighten evasiveness."); + +static const u8 sRockTombDescription[] = _( + "Stops the foe from moving\n" + "with rocks and cuts SPEED."); + +static const u8 sSilverWindDescription[] = _( + "A powdery attack that may\n" + "raise abilities."); + +static const u8 sMetalSoundDescription[] = _( + "Emits a horrible screech\n" + "that sharply lowers SP. DEF."); + +static const u8 sGrassWhistleDescription[] = _( + "Lulls the foe into sleep\n" + "with a pleasant melody."); + +static const u8 sTickleDescription[] = _( + "Makes the foe laugh to\n" + "lower ATTACK and DEFENSE."); + +static const u8 sCosmicPowerDescription[] = _( + "Raises DEFENSE and SP. DEF\n" + "with a mystic power."); + +static const u8 sWaterSpoutDescription[] = _( + "Inflicts more damage if the\n" + "user’s HP is high."); + +static const u8 sSignalBeamDescription[] = _( + "A strange beam attack that\n" + "may confuse the foe."); + +static const u8 sShadowPunchDescription[] = _( + "An unavoidable punch that\n" + "is thrown from shadows."); + +static const u8 sExtrasensoryDescription[] = _( + "Attacks with a peculiar\n" + "power. May cause flinching."); + +static const u8 sSkyUppercutDescription[] = _( + "An uppercut thrown as if\n" + "leaping into the sky."); + +static const u8 sSandTombDescription[] = _( + "Traps and hurts the foe in\n" + "quicksand for 2 to 5 turns."); + +static const u8 sSheerColdDescription[] = _( + "A chilling attack that\n" + "causes fainting if it hits."); + +static const u8 sMuddyWaterDescription[] = _( + "Attacks with muddy water.\n" + "May lower accuracy."); + +static const u8 sBulletSeedDescription[] = _( + "Shoots 2 to 5 seeds in a row\n" + "to strike the foe."); + +static const u8 sAerialAceDescription[] = _( + "An extremely speedy and\n" + "unavoidable attack."); + +static const u8 sIcicleSpearDescription[] = _( + "Attacks the foe by firing\n" + "2 to 5 icicles in a row."); + +static const u8 sIronDefenseDescription[] = _( + "Hardens the body’s surface\n" + "to sharply raise DEFENSE."); + +static const u8 sBlockDescription[] = _( + "Blocks the foe’s way to\n" + "prevent escape."); + +static const u8 sHowlDescription[] = _( + "Howls to raise the spirit\n" + "and boosts ATTACK."); + +static const u8 sDragonClawDescription[] = _( + "Slashes the foe with sharp\n" + "claws."); + +static const u8 sFrenzyPlantDescription[] = _( + "Powerful, but leaves the\n" + "user immobile the next turn."); + +static const u8 sBulkUpDescription[] = _( + "Bulks up the body to boost\n" + "both ATTACK and DEFENSE."); + +static const u8 sBounceDescription[] = _( + "Bounces up, then down the\n" + "next turn. May paralyze."); + +static const u8 sMudShotDescription[] = _( + "Hurls mud at the foe and\n" + "reduces SPEED."); + +static const u8 sPoisonTailDescription[] = _( + "Has a high critical-hit\n" + "ratio. May also poison."); + +static const u8 sCovetDescription[] = _( + "Cutely begs to obtain an\n" + "item held by the foe."); + +static const u8 sVoltTackleDescription[] = _( + "A life-risking tackle that\n" + "slightly hurts the user."); + +static const u8 sMagicalLeafDescription[] = _( + "Attacks with a strange leaf\n" + "that cannot be evaded."); + +static const u8 sWaterSportDescription[] = _( + "The user becomes soaked to\n" + "raise resistance to fire."); + +static const u8 sCalmMindDescription[] = _( + "Raises SP. ATK and SP. DEF\n" + "by focusing the mind."); + +static const u8 sLeafBladeDescription[] = _( + "Slashes with a sharp leaf.\n" + "High critical-hit ratio."); + +static const u8 sDragonDanceDescription[] = _( + "A mystical dance that ups\n" + "ATTACK and SPEED."); + +static const u8 sRockBlastDescription[] = _( + "Hurls boulders at the foe\n" + "2 to 5 times in a row."); + +static const u8 sShockWaveDescription[] = _( + "A fast and unavoidable\n" + "electric attack."); + +static const u8 sWaterPulseDescription[] = _( + "Attacks with ultrasonic\n" + "waves. May confuse the foe."); + +static const u8 sDoomDesireDescription[] = _( + "Summons strong sunlight to\n" + "attack 2 turns later."); + +static const u8 sPsychoBoostDescription[] = _( + "Allows a full-power attack,\n" + "but sharply lowers SP. ATK."); // MOVE_NONE is ignored in this table. Make sure to always subtract 1 before getting the right pointer. const u8 *const gMoveDescriptionPointers[MOVES_COUNT - 1] = { - [MOVE_POUND - 1] = sPoundMoveDescription, - [MOVE_KARATE_CHOP - 1] = sKarateChopMoveDescription, - [MOVE_DOUBLE_SLAP - 1] = sDoubleSlapMoveDescription, - [MOVE_COMET_PUNCH - 1] = sCometPunchMoveDescription, - [MOVE_MEGA_PUNCH - 1] = sMegaPunchMoveDescription, - [MOVE_PAY_DAY - 1] = sPayDayMoveDescription, - [MOVE_FIRE_PUNCH - 1] = sFirePunchMoveDescription, - [MOVE_ICE_PUNCH - 1] = sIcePunchMoveDescription, - [MOVE_THUNDER_PUNCH - 1] = sThunderPunchMoveDescription, - [MOVE_SCRATCH - 1] = sScratchMoveDescription, - [MOVE_VICE_GRIP - 1] = sViceGripMoveDescription, - [MOVE_GUILLOTINE - 1] = sGuillotineMoveDescription, - [MOVE_RAZOR_WIND - 1] = sRazorWindMoveDescription, - [MOVE_SWORDS_DANCE - 1] = sSwordsDanceMoveDescription, - [MOVE_CUT - 1] = sCutMoveDescription, - [MOVE_GUST - 1] = sGustMoveDescription, - [MOVE_WING_ATTACK - 1] = sWingAttackMoveDescription, - [MOVE_WHIRLWIND - 1] = sWhirlwindMoveDescription, - [MOVE_FLY - 1] = sFlyMoveDescription, - [MOVE_BIND - 1] = sBindMoveDescription, - [MOVE_SLAM - 1] = sSlamMoveDescription, - [MOVE_VINE_WHIP - 1] = sVineWhipMoveDescription, - [MOVE_STOMP - 1] = sStompMoveDescription, - [MOVE_DOUBLE_KICK - 1] = sDoubleKickMoveDescription, - [MOVE_MEGA_KICK - 1] = sMegaKickMoveDescription, - [MOVE_JUMP_KICK - 1] = sJumpKickMoveDescription, - [MOVE_ROLLING_KICK - 1] = sRollingKickMoveDescription, - [MOVE_SAND_ATTACK - 1] = sSandAttackMoveDescription, - [MOVE_HEADBUTT - 1] = sHeadbuttMoveDescription, - [MOVE_HORN_ATTACK - 1] = sHornAttackMoveDescription, - [MOVE_FURY_ATTACK - 1] = sFuryAttackMoveDescription, - [MOVE_HORN_DRILL - 1] = sHornDrillMoveDescription, - [MOVE_TACKLE - 1] = sTackleMoveDescription, - [MOVE_BODY_SLAM - 1] = sBodySlamMoveDescription, - [MOVE_WRAP - 1] = sWrapMoveDescription, - [MOVE_TAKE_DOWN - 1] = sTakeDownMoveDescription, - [MOVE_THRASH - 1] = sThrashMoveDescription, - [MOVE_DOUBLE_EDGE - 1] = sDoubleEdgeMoveDescription, - [MOVE_TAIL_WHIP - 1] = sTailWhipMoveDescription, - [MOVE_POISON_STING - 1] = sPoisonStingMoveDescription, - [MOVE_TWINEEDLE - 1] = sTwineedleMoveDescription, - [MOVE_PIN_MISSILE - 1] = sPinMissileMoveDescription, - [MOVE_LEER - 1] = sLeerMoveDescription, - [MOVE_BITE - 1] = sBiteMoveDescription, - [MOVE_GROWL - 1] = sGrowlMoveDescription, - [MOVE_ROAR - 1] = sRoarMoveDescription, - [MOVE_SING - 1] = sSingMoveDescription, - [MOVE_SUPERSONIC - 1] = sSupersonicMoveDescription, - [MOVE_SONIC_BOOM - 1] = sSonicBoomMoveDescription, - [MOVE_DISABLE - 1] = sDisableMoveDescription, - [MOVE_ACID - 1] = sAcidMoveDescription, - [MOVE_EMBER - 1] = sEmberMoveDescription, - [MOVE_FLAMETHROWER - 1] = sFlamethrowerMoveDescription, - [MOVE_MIST - 1] = sMistMoveDescription, - [MOVE_WATER_GUN - 1] = sWaterGunMoveDescription, - [MOVE_HYDRO_PUMP - 1] = sHydroPumpMoveDescription, - [MOVE_SURF - 1] = sSurfMoveDescription, - [MOVE_ICE_BEAM - 1] = sIceBeamMoveDescription, - [MOVE_BLIZZARD - 1] = sBlizzardMoveDescription, - [MOVE_PSYBEAM - 1] = sPsybeamMoveDescription, - [MOVE_BUBBLE_BEAM - 1] = sBubbleBeamMoveDescription, - [MOVE_AURORA_BEAM - 1] = sAuroraBeamMoveDescription, - [MOVE_HYPER_BEAM - 1] = sHyperBeamMoveDescription, - [MOVE_PECK - 1] = sPeckMoveDescription, - [MOVE_DRILL_PECK - 1] = sDrillPeckMoveDescription, - [MOVE_SUBMISSION - 1] = sSubmissionMoveDescription, - [MOVE_LOW_KICK - 1] = sLowKickMoveDescription, - [MOVE_COUNTER - 1] = sCounterMoveDescription, - [MOVE_SEISMIC_TOSS - 1] = sSeismicTossMoveDescription, - [MOVE_STRENGTH - 1] = sStrengthMoveDescription, - [MOVE_ABSORB - 1] = sAbsorbMoveDescription, - [MOVE_MEGA_DRAIN - 1] = sMegaDrainMoveDescription, - [MOVE_LEECH_SEED - 1] = sLeechSeedMoveDescription, - [MOVE_GROWTH - 1] = sGrowthMoveDescription, - [MOVE_RAZOR_LEAF - 1] = sRazorLeafMoveDescription, - [MOVE_SOLAR_BEAM - 1] = sSolarBeamMoveDescription, - [MOVE_POISON_POWDER - 1] = sPoisonPowderMoveDescription, - [MOVE_STUN_SPORE - 1] = sStunSporeMoveDescription, - [MOVE_SLEEP_POWDER - 1] = sSleepPowderMoveDescription, - [MOVE_PETAL_DANCE - 1] = sPetalDanceMoveDescription, - [MOVE_STRING_SHOT - 1] = sStringShotMoveDescription, - [MOVE_DRAGON_RAGE - 1] = sDragonRageMoveDescription, - [MOVE_FIRE_SPIN - 1] = sFireSpinMoveDescription, - [MOVE_THUNDER_SHOCK - 1] = sThunderShockMoveDescription, - [MOVE_THUNDERBOLT - 1] = sThunderboltMoveDescription, - [MOVE_THUNDER_WAVE - 1] = sThunderWaveMoveDescription, - [MOVE_THUNDER - 1] = sThunderMoveDescription, - [MOVE_ROCK_THROW - 1] = sRockThrowMoveDescription, - [MOVE_EARTHQUAKE - 1] = sEarthquakeMoveDescription, - [MOVE_FISSURE - 1] = sFissureMoveDescription, - [MOVE_DIG - 1] = sDigMoveDescription, - [MOVE_TOXIC - 1] = sToxicMoveDescription, - [MOVE_CONFUSION - 1] = sConfusionMoveDescription, - [MOVE_PSYCHIC - 1] = sPsychicMoveDescription, - [MOVE_HYPNOSIS - 1] = sHypnosisMoveDescription, - [MOVE_MEDITATE - 1] = sMeditateMoveDescription, - [MOVE_AGILITY - 1] = sAgilityMoveDescription, - [MOVE_QUICK_ATTACK - 1] = sQuickAttackMoveDescription, - [MOVE_RAGE - 1] = sRageMoveDescription, - [MOVE_TELEPORT - 1] = sTeleportMoveDescription, - [MOVE_NIGHT_SHADE - 1] = sNightShadeMoveDescription, - [MOVE_MIMIC - 1] = sMimicMoveDescription, - [MOVE_SCREECH - 1] = sScreechMoveDescription, - [MOVE_DOUBLE_TEAM - 1] = sDoubleTeamMoveDescription, - [MOVE_RECOVER - 1] = sRecoverMoveDescription, - [MOVE_HARDEN - 1] = sHardenMoveDescription, - [MOVE_MINIMIZE - 1] = sMinimizeMoveDescription, - [MOVE_SMOKESCREEN - 1] = sSmokescreenMoveDescription, - [MOVE_CONFUSE_RAY - 1] = sConfuseRayMoveDescription, - [MOVE_WITHDRAW - 1] = sWithdrawMoveDescription, - [MOVE_DEFENSE_CURL - 1] = sDefenseCurlMoveDescription, - [MOVE_BARRIER - 1] = sBarrierMoveDescription, - [MOVE_LIGHT_SCREEN - 1] = sLightScreenMoveDescription, - [MOVE_HAZE - 1] = sHazeMoveDescription, - [MOVE_REFLECT - 1] = sReflectMoveDescription, - [MOVE_FOCUS_ENERGY - 1] = sFocusEnergyMoveDescription, - [MOVE_BIDE - 1] = sBideMoveDescription, - [MOVE_METRONOME - 1] = sMetronomeMoveDescription, - [MOVE_MIRROR_MOVE - 1] = sMirrorMoveMoveDescription, - [MOVE_SELF_DESTRUCT - 1] = sSelfDestructMoveDescription, - [MOVE_EGG_BOMB - 1] = sEggBombMoveDescription, - [MOVE_LICK - 1] = sLickMoveDescription, - [MOVE_SMOG - 1] = sSmogMoveDescription, - [MOVE_SLUDGE - 1] = sSludgeMoveDescription, - [MOVE_BONE_CLUB - 1] = sBoneClubMoveDescription, - [MOVE_FIRE_BLAST - 1] = sFireBlastMoveDescription, - [MOVE_WATERFALL - 1] = sWaterfallMoveDescription, - [MOVE_CLAMP - 1] = sClampMoveDescription, - [MOVE_SWIFT - 1] = sSwiftMoveDescription, - [MOVE_SKULL_BASH - 1] = sSkullBashMoveDescription, - [MOVE_SPIKE_CANNON - 1] = sSpikeCannonMoveDescription, - [MOVE_CONSTRICT - 1] = sConstrictMoveDescription, - [MOVE_AMNESIA - 1] = sAmnesiaMoveDescription, - [MOVE_KINESIS - 1] = sKinesisMoveDescription, - [MOVE_SOFT_BOILED - 1] = sSoftBoiledMoveDescription, - [MOVE_HI_JUMP_KICK - 1] = sHiJumpKickMoveDescription, - [MOVE_GLARE - 1] = sGlareMoveDescription, - [MOVE_DREAM_EATER - 1] = sDreamEaterMoveDescription, - [MOVE_POISON_GAS - 1] = sPoisonGasMoveDescription, - [MOVE_BARRAGE - 1] = sBarrageMoveDescription, - [MOVE_LEECH_LIFE - 1] = sLeechLifeMoveDescription, - [MOVE_LOVELY_KISS - 1] = sLovelyKissMoveDescription, - [MOVE_SKY_ATTACK - 1] = sSkyAttackMoveDescription, - [MOVE_TRANSFORM - 1] = sTransformMoveDescription, - [MOVE_BUBBLE - 1] = sBubbleMoveDescription, - [MOVE_DIZZY_PUNCH - 1] = sDizzyPunchMoveDescription, - [MOVE_SPORE - 1] = sSporeMoveDescription, - [MOVE_FLASH - 1] = sFlashMoveDescription, - [MOVE_PSYWAVE - 1] = sPsywaveMoveDescription, - [MOVE_SPLASH - 1] = sSplashMoveDescription, - [MOVE_ACID_ARMOR - 1] = sAcidArmorMoveDescription, - [MOVE_CRABHAMMER - 1] = sCrabhammerMoveDescription, - [MOVE_EXPLOSION - 1] = sExplosionMoveDescription, - [MOVE_FURY_SWIPES - 1] = sFurySwipesMoveDescription, - [MOVE_BONEMERANG - 1] = sBonemerangMoveDescription, - [MOVE_REST - 1] = sRestMoveDescription, - [MOVE_ROCK_SLIDE - 1] = sRockSlideMoveDescription, - [MOVE_HYPER_FANG - 1] = sHyperFangMoveDescription, - [MOVE_SHARPEN - 1] = sSharpenMoveDescription, - [MOVE_CONVERSION - 1] = sConversionMoveDescription, - [MOVE_TRI_ATTACK - 1] = sTriAttackMoveDescription, - [MOVE_SUPER_FANG - 1] = sSuperFangMoveDescription, - [MOVE_SLASH - 1] = sSlashMoveDescription, - [MOVE_SUBSTITUTE - 1] = sSubstituteMoveDescription, - [MOVE_STRUGGLE - 1] = sStruggleMoveDescription, - [MOVE_SKETCH - 1] = sSketchMoveDescription, - [MOVE_TRIPLE_KICK - 1] = sTripleKickMoveDescription, - [MOVE_THIEF - 1] = sThiefMoveDescription, - [MOVE_SPIDER_WEB - 1] = sSpiderWebMoveDescription, - [MOVE_MIND_READER - 1] = sMindReaderMoveDescription, - [MOVE_NIGHTMARE - 1] = sNightmareMoveDescription, - [MOVE_FLAME_WHEEL - 1] = sFlameWheelMoveDescription, - [MOVE_SNORE - 1] = sSnoreMoveDescription, - [MOVE_CURSE - 1] = sCurseMoveDescription, - [MOVE_FLAIL - 1] = sFlailMoveDescription, - [MOVE_CONVERSION_2 - 1] = sConversion2MoveDescription, - [MOVE_AEROBLAST - 1] = sAeroblastMoveDescription, - [MOVE_COTTON_SPORE - 1] = sCottonSporeMoveDescription, - [MOVE_REVERSAL - 1] = sReversalMoveDescription, - [MOVE_SPITE - 1] = sSpiteMoveDescription, - [MOVE_POWDER_SNOW - 1] = sPowderSnowMoveDescription, - [MOVE_PROTECT - 1] = sProtectMoveDescription, - [MOVE_MACH_PUNCH - 1] = sMachPunchMoveDescription, - [MOVE_SCARY_FACE - 1] = sScaryFaceMoveDescription, - [MOVE_FAINT_ATTACK - 1] = sFaintAttackMoveDescription, - [MOVE_SWEET_KISS - 1] = sSweetKissMoveDescription, - [MOVE_BELLY_DRUM - 1] = sBellyDrumMoveDescription, - [MOVE_SLUDGE_BOMB - 1] = sSludgeBombMoveDescription, - [MOVE_MUD_SLAP - 1] = sMudSlapMoveDescription, - [MOVE_OCTAZOOKA - 1] = sOctazookaMoveDescription, - [MOVE_SPIKES - 1] = sSpikesMoveDescription, - [MOVE_ZAP_CANNON - 1] = sZapCannonMoveDescription, - [MOVE_FORESIGHT - 1] = sForesightMoveDescription, - [MOVE_DESTINY_BOND - 1] = sDestinyBondMoveDescription, - [MOVE_PERISH_SONG - 1] = sPerishSongMoveDescription, - [MOVE_ICY_WIND - 1] = sIcyWindMoveDescription, - [MOVE_DETECT - 1] = sDetectMoveDescription, - [MOVE_BONE_RUSH - 1] = sBoneRushMoveDescription, - [MOVE_LOCK_ON - 1] = sLockOnMoveDescription, - [MOVE_OUTRAGE - 1] = sOutrageMoveDescription, - [MOVE_SANDSTORM - 1] = sSandstormMoveDescription, - [MOVE_GIGA_DRAIN - 1] = sGigaDrainMoveDescription, - [MOVE_ENDURE - 1] = sEndureMoveDescription, - [MOVE_CHARM - 1] = sCharmMoveDescription, - [MOVE_ROLLOUT - 1] = sRolloutMoveDescription, - [MOVE_FALSE_SWIPE - 1] = sFalseSwipeMoveDescription, - [MOVE_SWAGGER - 1] = sSwaggerMoveDescription, - [MOVE_MILK_DRINK - 1] = sMilkDrinkMoveDescription, - [MOVE_SPARK - 1] = sSparkMoveDescription, - [MOVE_FURY_CUTTER - 1] = sFuryCutterMoveDescription, - [MOVE_STEEL_WING - 1] = sSteelWingMoveDescription, - [MOVE_MEAN_LOOK - 1] = sMeanLookMoveDescription, - [MOVE_ATTRACT - 1] = sAttractMoveDescription, - [MOVE_SLEEP_TALK - 1] = sSleepTalkMoveDescription, - [MOVE_HEAL_BELL - 1] = sHealBellMoveDescription, - [MOVE_RETURN - 1] = sReturnMoveDescription, - [MOVE_PRESENT - 1] = sPresentMoveDescription, - [MOVE_FRUSTRATION - 1] = sFrustrationMoveDescription, - [MOVE_SAFEGUARD - 1] = sSafeguardMoveDescription, - [MOVE_PAIN_SPLIT - 1] = sPainSplitMoveDescription, - [MOVE_SACRED_FIRE - 1] = sSacredFireMoveDescription, - [MOVE_MAGNITUDE - 1] = sMagnitudeMoveDescription, - [MOVE_DYNAMIC_PUNCH - 1] = sDynamicPunchMoveDescription, - [MOVE_MEGAHORN - 1] = sMegahornMoveDescription, - [MOVE_DRAGON_BREATH - 1] = sDragonBreathMoveDescription, - [MOVE_BATON_PASS - 1] = sBatonPassMoveDescription, - [MOVE_ENCORE - 1] = sEncoreMoveDescription, - [MOVE_PURSUIT - 1] = sPursuitMoveDescription, - [MOVE_RAPID_SPIN - 1] = sRapidSpinMoveDescription, - [MOVE_SWEET_SCENT - 1] = sSweetScentMoveDescription, - [MOVE_IRON_TAIL - 1] = sIronTailMoveDescription, - [MOVE_METAL_CLAW - 1] = sMetalClawMoveDescription, - [MOVE_VITAL_THROW - 1] = sVitalThrowMoveDescription, - [MOVE_MORNING_SUN - 1] = sMorningSunMoveDescription, - [MOVE_SYNTHESIS - 1] = sSynthesisMoveDescription, - [MOVE_MOONLIGHT - 1] = sMoonlightMoveDescription, - [MOVE_HIDDEN_POWER - 1] = sHiddenPowerMoveDescription, - [MOVE_CROSS_CHOP - 1] = sCrossChopMoveDescription, - [MOVE_TWISTER - 1] = sTwisterMoveDescription, - [MOVE_RAIN_DANCE - 1] = sRainDanceMoveDescription, - [MOVE_SUNNY_DAY - 1] = sSunnyDayMoveDescription, - [MOVE_CRUNCH - 1] = sCrunchMoveDescription, - [MOVE_MIRROR_COAT - 1] = sMirrorCoatMoveDescription, - [MOVE_PSYCH_UP - 1] = sPsychUpMoveDescription, - [MOVE_EXTREME_SPEED - 1] = sExtremeSpeedMoveDescription, - [MOVE_ANCIENT_POWER - 1] = sAncientPowerMoveDescription, - [MOVE_SHADOW_BALL - 1] = sShadowBallMoveDescription, - [MOVE_FUTURE_SIGHT - 1] = sFutureSightMoveDescription, - [MOVE_ROCK_SMASH - 1] = sRockSmashMoveDescription, - [MOVE_WHIRLPOOL - 1] = sWhirlpoolMoveDescription, - [MOVE_BEAT_UP - 1] = sBeatUpMoveDescription, - [MOVE_FAKE_OUT - 1] = sFakeOutMoveDescription, - [MOVE_UPROAR - 1] = sUproarMoveDescription, - [MOVE_STOCKPILE - 1] = sStockpileMoveDescription, - [MOVE_SPIT_UP - 1] = sSpitUpMoveDescription, - [MOVE_SWALLOW - 1] = sSwallowMoveDescription, - [MOVE_HEAT_WAVE - 1] = sHeatWaveMoveDescription, - [MOVE_HAIL - 1] = sHailMoveDescription, - [MOVE_TORMENT - 1] = sTormentMoveDescription, - [MOVE_FLATTER - 1] = sFlatterMoveDescription, - [MOVE_WILL_O_WISP - 1] = sWillOWispMoveDescription, - [MOVE_MEMENTO - 1] = sMementoMoveDescription, - [MOVE_FACADE - 1] = sFacadeMoveDescription, - [MOVE_FOCUS_PUNCH - 1] = sFocusPunchMoveDescription, - [MOVE_SMELLING_SALT - 1] = sSmellingSaltMoveDescription, - [MOVE_FOLLOW_ME - 1] = sFollowMeMoveDescription, - [MOVE_NATURE_POWER - 1] = sNaturePowerMoveDescription, - [MOVE_CHARGE - 1] = sChargeMoveDescription, - [MOVE_TAUNT - 1] = sTauntMoveDescription, - [MOVE_HELPING_HAND - 1] = sHelpingHandMoveDescription, - [MOVE_TRICK - 1] = sTrickMoveDescription, - [MOVE_ROLE_PLAY - 1] = sRolePlayMoveDescription, - [MOVE_WISH - 1] = sWishMoveDescription, - [MOVE_ASSIST - 1] = sAssistMoveDescription, - [MOVE_INGRAIN - 1] = sIngrainMoveDescription, - [MOVE_SUPERPOWER - 1] = sSuperpowerMoveDescription, - [MOVE_MAGIC_COAT - 1] = sMagicCoatMoveDescription, - [MOVE_RECYCLE - 1] = sRecycleMoveDescription, - [MOVE_REVENGE - 1] = sRevengeMoveDescription, - [MOVE_BRICK_BREAK - 1] = sBrickBreakMoveDescription, - [MOVE_YAWN - 1] = sYawnMoveDescription, - [MOVE_KNOCK_OFF - 1] = sKnockOffMoveDescription, - [MOVE_ENDEAVOR - 1] = sEndeavorMoveDescription, - [MOVE_ERUPTION - 1] = sEruptionMoveDescription, - [MOVE_SKILL_SWAP - 1] = sSkillSwapMoveDescription, - [MOVE_IMPRISON - 1] = sImprisonMoveDescription, - [MOVE_REFRESH - 1] = sRefreshMoveDescription, - [MOVE_GRUDGE - 1] = sGrudgeMoveDescription, - [MOVE_SNATCH - 1] = sSnatchMoveDescription, - [MOVE_SECRET_POWER - 1] = sSecretPowerMoveDescription, - [MOVE_DIVE - 1] = sDiveMoveDescription, - [MOVE_ARM_THRUST - 1] = sArmThrustMoveDescription, - [MOVE_CAMOUFLAGE - 1] = sCamouflageMoveDescription, - [MOVE_TAIL_GLOW - 1] = sTailGlowMoveDescription, - [MOVE_LUSTER_PURGE - 1] = sLusterPurgeMoveDescription, - [MOVE_MIST_BALL - 1] = sMistBallMoveDescription, - [MOVE_FEATHER_DANCE - 1] = sFeatherDanceMoveDescription, - [MOVE_TEETER_DANCE - 1] = sTeeterDanceMoveDescription, - [MOVE_BLAZE_KICK - 1] = sBlazeKickMoveDescription, - [MOVE_MUD_SPORT - 1] = sMudSportMoveDescription, - [MOVE_ICE_BALL - 1] = sIceBallMoveDescription, - [MOVE_NEEDLE_ARM - 1] = sNeedleArmMoveDescription, - [MOVE_SLACK_OFF - 1] = sSlackOffMoveDescription, - [MOVE_HYPER_VOICE - 1] = sHyperVoiceMoveDescription, - [MOVE_POISON_FANG - 1] = sPoisonFangMoveDescription, - [MOVE_CRUSH_CLAW - 1] = sCrushClawMoveDescription, - [MOVE_BLAST_BURN - 1] = sBlastBurnMoveDescription, - [MOVE_HYDRO_CANNON - 1] = sHydroCannonMoveDescription, - [MOVE_METEOR_MASH - 1] = sMeteorMashMoveDescription, - [MOVE_ASTONISH - 1] = sAstonishMoveDescription, - [MOVE_WEATHER_BALL - 1] = sWeatherBallMoveDescription, - [MOVE_AROMATHERAPY - 1] = sAromatherapyMoveDescription, - [MOVE_FAKE_TEARS - 1] = sFakeTearsMoveDescription, - [MOVE_AIR_CUTTER - 1] = sAirCutterMoveDescription, - [MOVE_OVERHEAT - 1] = sOverheatMoveDescription, - [MOVE_ODOR_SLEUTH - 1] = sOdorSleuthMoveDescription, - [MOVE_ROCK_TOMB - 1] = sRockTombMoveDescription, - [MOVE_SILVER_WIND - 1] = sSilverWindMoveDescription, - [MOVE_METAL_SOUND - 1] = sMetalSoundMoveDescription, - [MOVE_GRASS_WHISTLE - 1] = sGrassWhistleMoveDescription, - [MOVE_TICKLE - 1] = sTickleMoveDescription, - [MOVE_COSMIC_POWER - 1] = sCosmicPowerMoveDescription, - [MOVE_WATER_SPOUT - 1] = sWaterSpoutMoveDescription, - [MOVE_SIGNAL_BEAM - 1] = sSignalBeamMoveDescription, - [MOVE_SHADOW_PUNCH - 1] = sShadowPunchMoveDescription, - [MOVE_EXTRASENSORY - 1] = sExtrasensoryMoveDescription, - [MOVE_SKY_UPPERCUT - 1] = sSkyUppercutMoveDescription, - [MOVE_SAND_TOMB - 1] = sSandTombMoveDescription, - [MOVE_SHEER_COLD - 1] = sSheerColdMoveDescription, - [MOVE_MUDDY_WATER - 1] = sMuddyWaterMoveDescription, - [MOVE_BULLET_SEED - 1] = sBulletSeedMoveDescription, - [MOVE_AERIAL_ACE - 1] = sAerialAceMoveDescription, - [MOVE_ICICLE_SPEAR - 1] = sIcicleSpearMoveDescription, - [MOVE_IRON_DEFENSE - 1] = sIronDefenseMoveDescription, - [MOVE_BLOCK - 1] = sBlockMoveDescription, - [MOVE_HOWL - 1] = sHowlMoveDescription, - [MOVE_DRAGON_CLAW - 1] = sDragonClawMoveDescription, - [MOVE_FRENZY_PLANT - 1] = sFrenzyPlantMoveDescription, - [MOVE_BULK_UP - 1] = sBulkUpMoveDescription, - [MOVE_BOUNCE - 1] = sBounceMoveDescription, - [MOVE_MUD_SHOT - 1] = sMudShotMoveDescription, - [MOVE_POISON_TAIL - 1] = sPoisonTailMoveDescription, - [MOVE_COVET - 1] = sCovetMoveDescription, - [MOVE_VOLT_TACKLE - 1] = sVoltTackleMoveDescription, - [MOVE_MAGICAL_LEAF - 1] = sMagicalLeafMoveDescription, - [MOVE_WATER_SPORT - 1] = sWaterSportMoveDescription, - [MOVE_CALM_MIND - 1] = sCalmMindMoveDescription, - [MOVE_LEAF_BLADE - 1] = sLeafBladeMoveDescription, - [MOVE_DRAGON_DANCE - 1] = sDragonDanceMoveDescription, - [MOVE_ROCK_BLAST - 1] = sRockBlastMoveDescription, - [MOVE_SHOCK_WAVE - 1] = sShockWaveMoveDescription, - [MOVE_WATER_PULSE - 1] = sWaterPulseMoveDescription, - [MOVE_DOOM_DESIRE - 1] = sDoomDesireMoveDescription, - [MOVE_PSYCHO_BOOST - 1] = sPsychoBoostMoveDescription, + [MOVE_POUND - 1] = sPoundDescription, + [MOVE_KARATE_CHOP - 1] = sKarateChopDescription, + [MOVE_DOUBLE_SLAP - 1] = sDoubleSlapDescription, + [MOVE_COMET_PUNCH - 1] = sCometPunchDescription, + [MOVE_MEGA_PUNCH - 1] = sMegaPunchDescription, + [MOVE_PAY_DAY - 1] = sPayDayDescription, + [MOVE_FIRE_PUNCH - 1] = sFirePunchDescription, + [MOVE_ICE_PUNCH - 1] = sIcePunchDescription, + [MOVE_THUNDER_PUNCH - 1] = sThunderPunchDescription, + [MOVE_SCRATCH - 1] = sScratchDescription, + [MOVE_VICE_GRIP - 1] = sViceGripDescription, + [MOVE_GUILLOTINE - 1] = sGuillotineDescription, + [MOVE_RAZOR_WIND - 1] = sRazorWindDescription, + [MOVE_SWORDS_DANCE - 1] = sSwordsDanceDescription, + [MOVE_CUT - 1] = sCutDescription, + [MOVE_GUST - 1] = sGustDescription, + [MOVE_WING_ATTACK - 1] = sWingAttackDescription, + [MOVE_WHIRLWIND - 1] = sWhirlwindDescription, + [MOVE_FLY - 1] = sFlyDescription, + [MOVE_BIND - 1] = sBindDescription, + [MOVE_SLAM - 1] = sSlamDescription, + [MOVE_VINE_WHIP - 1] = sVineWhipDescription, + [MOVE_STOMP - 1] = sStompDescription, + [MOVE_DOUBLE_KICK - 1] = sDoubleKickDescription, + [MOVE_MEGA_KICK - 1] = sMegaKickDescription, + [MOVE_JUMP_KICK - 1] = sJumpKickDescription, + [MOVE_ROLLING_KICK - 1] = sRollingKickDescription, + [MOVE_SAND_ATTACK - 1] = sSandAttackDescription, + [MOVE_HEADBUTT - 1] = sHeadbuttDescription, + [MOVE_HORN_ATTACK - 1] = sHornAttackDescription, + [MOVE_FURY_ATTACK - 1] = sFuryAttackDescription, + [MOVE_HORN_DRILL - 1] = sHornDrillDescription, + [MOVE_TACKLE - 1] = sTackleDescription, + [MOVE_BODY_SLAM - 1] = sBodySlamDescription, + [MOVE_WRAP - 1] = sWrapDescription, + [MOVE_TAKE_DOWN - 1] = sTakeDownDescription, + [MOVE_THRASH - 1] = sThrashDescription, + [MOVE_DOUBLE_EDGE - 1] = sDoubleEdgeDescription, + [MOVE_TAIL_WHIP - 1] = sTailWhipDescription, + [MOVE_POISON_STING - 1] = sPoisonStingDescription, + [MOVE_TWINEEDLE - 1] = sTwineedleDescription, + [MOVE_PIN_MISSILE - 1] = sPinMissileDescription, + [MOVE_LEER - 1] = sLeerDescription, + [MOVE_BITE - 1] = sBiteDescription, + [MOVE_GROWL - 1] = sGrowlDescription, + [MOVE_ROAR - 1] = sRoarDescription, + [MOVE_SING - 1] = sSingDescription, + [MOVE_SUPERSONIC - 1] = sSupersonicDescription, + [MOVE_SONIC_BOOM - 1] = sSonicBoomDescription, + [MOVE_DISABLE - 1] = sDisableDescription, + [MOVE_ACID - 1] = sAcidDescription, + [MOVE_EMBER - 1] = sEmberDescription, + [MOVE_FLAMETHROWER - 1] = sFlamethrowerDescription, + [MOVE_MIST - 1] = sMistDescription, + [MOVE_WATER_GUN - 1] = sWaterGunDescription, + [MOVE_HYDRO_PUMP - 1] = sHydroPumpDescription, + [MOVE_SURF - 1] = sSurfDescription, + [MOVE_ICE_BEAM - 1] = sIceBeamDescription, + [MOVE_BLIZZARD - 1] = sBlizzardDescription, + [MOVE_PSYBEAM - 1] = sPsybeamDescription, + [MOVE_BUBBLE_BEAM - 1] = sBubbleBeamDescription, + [MOVE_AURORA_BEAM - 1] = sAuroraBeamDescription, + [MOVE_HYPER_BEAM - 1] = sHyperBeamDescription, + [MOVE_PECK - 1] = sPeckDescription, + [MOVE_DRILL_PECK - 1] = sDrillPeckDescription, + [MOVE_SUBMISSION - 1] = sSubmissionDescription, + [MOVE_LOW_KICK - 1] = sLowKickDescription, + [MOVE_COUNTER - 1] = sCounterDescription, + [MOVE_SEISMIC_TOSS - 1] = sSeismicTossDescription, + [MOVE_STRENGTH - 1] = sStrengthDescription, + [MOVE_ABSORB - 1] = sAbsorbDescription, + [MOVE_MEGA_DRAIN - 1] = sMegaDrainDescription, + [MOVE_LEECH_SEED - 1] = sLeechSeedDescription, + [MOVE_GROWTH - 1] = sGrowthDescription, + [MOVE_RAZOR_LEAF - 1] = sRazorLeafDescription, + [MOVE_SOLAR_BEAM - 1] = sSolarBeamDescription, + [MOVE_POISON_POWDER - 1] = sPoisonPowderDescription, + [MOVE_STUN_SPORE - 1] = sStunSporeDescription, + [MOVE_SLEEP_POWDER - 1] = sSleepPowderDescription, + [MOVE_PETAL_DANCE - 1] = sPetalDanceDescription, + [MOVE_STRING_SHOT - 1] = sStringShotDescription, + [MOVE_DRAGON_RAGE - 1] = sDragonRageDescription, + [MOVE_FIRE_SPIN - 1] = sFireSpinDescription, + [MOVE_THUNDER_SHOCK - 1] = sThunderShockDescription, + [MOVE_THUNDERBOLT - 1] = sThunderboltDescription, + [MOVE_THUNDER_WAVE - 1] = sThunderWaveDescription, + [MOVE_THUNDER - 1] = sThunderDescription, + [MOVE_ROCK_THROW - 1] = sRockThrowDescription, + [MOVE_EARTHQUAKE - 1] = sEarthquakeDescription, + [MOVE_FISSURE - 1] = sFissureDescription, + [MOVE_DIG - 1] = sDigDescription, + [MOVE_TOXIC - 1] = sToxicDescription, + [MOVE_CONFUSION - 1] = sConfusionDescription, + [MOVE_PSYCHIC - 1] = sPsychicDescription, + [MOVE_HYPNOSIS - 1] = sHypnosisDescription, + [MOVE_MEDITATE - 1] = sMeditateDescription, + [MOVE_AGILITY - 1] = sAgilityDescription, + [MOVE_QUICK_ATTACK - 1] = sQuickAttackDescription, + [MOVE_RAGE - 1] = sRageDescription, + [MOVE_TELEPORT - 1] = sTeleportDescription, + [MOVE_NIGHT_SHADE - 1] = sNightShadeDescription, + [MOVE_MIMIC - 1] = sMimicDescription, + [MOVE_SCREECH - 1] = sScreechDescription, + [MOVE_DOUBLE_TEAM - 1] = sDoubleTeamDescription, + [MOVE_RECOVER - 1] = sRecoverDescription, + [MOVE_HARDEN - 1] = sHardenDescription, + [MOVE_MINIMIZE - 1] = sMinimizeDescription, + [MOVE_SMOKESCREEN - 1] = sSmokescreenDescription, + [MOVE_CONFUSE_RAY - 1] = sConfuseRayDescription, + [MOVE_WITHDRAW - 1] = sWithdrawDescription, + [MOVE_DEFENSE_CURL - 1] = sDefenseCurlDescription, + [MOVE_BARRIER - 1] = sBarrierDescription, + [MOVE_LIGHT_SCREEN - 1] = sLightScreenDescription, + [MOVE_HAZE - 1] = sHazeDescription, + [MOVE_REFLECT - 1] = sReflectDescription, + [MOVE_FOCUS_ENERGY - 1] = sFocusEnergyDescription, + [MOVE_BIDE - 1] = sBideDescription, + [MOVE_METRONOME - 1] = sMetronomeDescription, + [MOVE_MIRROR_MOVE - 1] = sMirrorMoveDescription, + [MOVE_SELF_DESTRUCT - 1] = sSelfDestructDescription, + [MOVE_EGG_BOMB - 1] = sEggBombDescription, + [MOVE_LICK - 1] = sLickDescription, + [MOVE_SMOG - 1] = sSmogDescription, + [MOVE_SLUDGE - 1] = sSludgeDescription, + [MOVE_BONE_CLUB - 1] = sBoneClubDescription, + [MOVE_FIRE_BLAST - 1] = sFireBlastDescription, + [MOVE_WATERFALL - 1] = sWaterfallDescription, + [MOVE_CLAMP - 1] = sClampDescription, + [MOVE_SWIFT - 1] = sSwiftDescription, + [MOVE_SKULL_BASH - 1] = sSkullBashDescription, + [MOVE_SPIKE_CANNON - 1] = sSpikeCannonDescription, + [MOVE_CONSTRICT - 1] = sConstrictDescription, + [MOVE_AMNESIA - 1] = sAmnesiaDescription, + [MOVE_KINESIS - 1] = sKinesisDescription, + [MOVE_SOFT_BOILED - 1] = sSoftBoiledDescription, + [MOVE_HI_JUMP_KICK - 1] = sHiJumpKickDescription, + [MOVE_GLARE - 1] = sGlareDescription, + [MOVE_DREAM_EATER - 1] = sDreamEaterDescription, + [MOVE_POISON_GAS - 1] = sPoisonGasDescription, + [MOVE_BARRAGE - 1] = sBarrageDescription, + [MOVE_LEECH_LIFE - 1] = sLeechLifeDescription, + [MOVE_LOVELY_KISS - 1] = sLovelyKissDescription, + [MOVE_SKY_ATTACK - 1] = sSkyAttackDescription, + [MOVE_TRANSFORM - 1] = sTransformDescription, + [MOVE_BUBBLE - 1] = sBubbleDescription, + [MOVE_DIZZY_PUNCH - 1] = sDizzyPunchDescription, + [MOVE_SPORE - 1] = sSporeDescription, + [MOVE_FLASH - 1] = sFlashDescription, + [MOVE_PSYWAVE - 1] = sPsywaveDescription, + [MOVE_SPLASH - 1] = sSplashDescription, + [MOVE_ACID_ARMOR - 1] = sAcidArmorDescription, + [MOVE_CRABHAMMER - 1] = sCrabhammerDescription, + [MOVE_EXPLOSION - 1] = sExplosionDescription, + [MOVE_FURY_SWIPES - 1] = sFurySwipesDescription, + [MOVE_BONEMERANG - 1] = sBonemerangDescription, + [MOVE_REST - 1] = sRestDescription, + [MOVE_ROCK_SLIDE - 1] = sRockSlideDescription, + [MOVE_HYPER_FANG - 1] = sHyperFangDescription, + [MOVE_SHARPEN - 1] = sSharpenDescription, + [MOVE_CONVERSION - 1] = sConversionDescription, + [MOVE_TRI_ATTACK - 1] = sTriAttackDescription, + [MOVE_SUPER_FANG - 1] = sSuperFangDescription, + [MOVE_SLASH - 1] = sSlashDescription, + [MOVE_SUBSTITUTE - 1] = sSubstituteDescription, + [MOVE_STRUGGLE - 1] = sStruggleDescription, + [MOVE_SKETCH - 1] = sSketchDescription, + [MOVE_TRIPLE_KICK - 1] = sTripleKickDescription, + [MOVE_THIEF - 1] = sThiefDescription, + [MOVE_SPIDER_WEB - 1] = sSpiderWebDescription, + [MOVE_MIND_READER - 1] = sMindReaderDescription, + [MOVE_NIGHTMARE - 1] = sNightmareDescription, + [MOVE_FLAME_WHEEL - 1] = sFlameWheelDescription, + [MOVE_SNORE - 1] = sSnoreDescription, + [MOVE_CURSE - 1] = sCurseDescription, + [MOVE_FLAIL - 1] = sFlailDescription, + [MOVE_CONVERSION_2 - 1] = sConversion2Description, + [MOVE_AEROBLAST - 1] = sAeroblastDescription, + [MOVE_COTTON_SPORE - 1] = sCottonSporeDescription, + [MOVE_REVERSAL - 1] = sReversalDescription, + [MOVE_SPITE - 1] = sSpiteDescription, + [MOVE_POWDER_SNOW - 1] = sPowderSnowDescription, + [MOVE_PROTECT - 1] = sProtectDescription, + [MOVE_MACH_PUNCH - 1] = sMachPunchDescription, + [MOVE_SCARY_FACE - 1] = sScaryFaceDescription, + [MOVE_FAINT_ATTACK - 1] = sFaintAttackDescription, + [MOVE_SWEET_KISS - 1] = sSweetKissDescription, + [MOVE_BELLY_DRUM - 1] = sBellyDrumDescription, + [MOVE_SLUDGE_BOMB - 1] = sSludgeBombDescription, + [MOVE_MUD_SLAP - 1] = sMudSlapDescription, + [MOVE_OCTAZOOKA - 1] = sOctazookaDescription, + [MOVE_SPIKES - 1] = sSpikesDescription, + [MOVE_ZAP_CANNON - 1] = sZapCannonDescription, + [MOVE_FORESIGHT - 1] = sForesightDescription, + [MOVE_DESTINY_BOND - 1] = sDestinyBondDescription, + [MOVE_PERISH_SONG - 1] = sPerishSongDescription, + [MOVE_ICY_WIND - 1] = sIcyWindDescription, + [MOVE_DETECT - 1] = sDetectDescription, + [MOVE_BONE_RUSH - 1] = sBoneRushDescription, + [MOVE_LOCK_ON - 1] = sLockOnDescription, + [MOVE_OUTRAGE - 1] = sOutrageDescription, + [MOVE_SANDSTORM - 1] = sSandstormDescription, + [MOVE_GIGA_DRAIN - 1] = sGigaDrainDescription, + [MOVE_ENDURE - 1] = sEndureDescription, + [MOVE_CHARM - 1] = sCharmDescription, + [MOVE_ROLLOUT - 1] = sRolloutDescription, + [MOVE_FALSE_SWIPE - 1] = sFalseSwipeDescription, + [MOVE_SWAGGER - 1] = sSwaggerDescription, + [MOVE_MILK_DRINK - 1] = sMilkDrinkDescription, + [MOVE_SPARK - 1] = sSparkDescription, + [MOVE_FURY_CUTTER - 1] = sFuryCutterDescription, + [MOVE_STEEL_WING - 1] = sSteelWingDescription, + [MOVE_MEAN_LOOK - 1] = sMeanLookDescription, + [MOVE_ATTRACT - 1] = sAttractDescription, + [MOVE_SLEEP_TALK - 1] = sSleepTalkDescription, + [MOVE_HEAL_BELL - 1] = sHealBellDescription, + [MOVE_RETURN - 1] = sReturnDescription, + [MOVE_PRESENT - 1] = sPresentDescription, + [MOVE_FRUSTRATION - 1] = sFrustrationDescription, + [MOVE_SAFEGUARD - 1] = sSafeguardDescription, + [MOVE_PAIN_SPLIT - 1] = sPainSplitDescription, + [MOVE_SACRED_FIRE - 1] = sSacredFireDescription, + [MOVE_MAGNITUDE - 1] = sMagnitudeDescription, + [MOVE_DYNAMIC_PUNCH - 1] = sDynamicPunchDescription, + [MOVE_MEGAHORN - 1] = sMegahornDescription, + [MOVE_DRAGON_BREATH - 1] = sDragonBreathDescription, + [MOVE_BATON_PASS - 1] = sBatonPassDescription, + [MOVE_ENCORE - 1] = sEncoreDescription, + [MOVE_PURSUIT - 1] = sPursuitDescription, + [MOVE_RAPID_SPIN - 1] = sRapidSpinDescription, + [MOVE_SWEET_SCENT - 1] = sSweetScentDescription, + [MOVE_IRON_TAIL - 1] = sIronTailDescription, + [MOVE_METAL_CLAW - 1] = sMetalClawDescription, + [MOVE_VITAL_THROW - 1] = sVitalThrowDescription, + [MOVE_MORNING_SUN - 1] = sMorningSunDescription, + [MOVE_SYNTHESIS - 1] = sSynthesisDescription, + [MOVE_MOONLIGHT - 1] = sMoonlightDescription, + [MOVE_HIDDEN_POWER - 1] = sHiddenPowerDescription, + [MOVE_CROSS_CHOP - 1] = sCrossChopDescription, + [MOVE_TWISTER - 1] = sTwisterDescription, + [MOVE_RAIN_DANCE - 1] = sRainDanceDescription, + [MOVE_SUNNY_DAY - 1] = sSunnyDayDescription, + [MOVE_CRUNCH - 1] = sCrunchDescription, + [MOVE_MIRROR_COAT - 1] = sMirrorCoatDescription, + [MOVE_PSYCH_UP - 1] = sPsychUpDescription, + [MOVE_EXTREME_SPEED - 1] = sExtremeSpeedDescription, + [MOVE_ANCIENT_POWER - 1] = sAncientPowerDescription, + [MOVE_SHADOW_BALL - 1] = sShadowBallDescription, + [MOVE_FUTURE_SIGHT - 1] = sFutureSightDescription, + [MOVE_ROCK_SMASH - 1] = sRockSmashDescription, + [MOVE_WHIRLPOOL - 1] = sWhirlpoolDescription, + [MOVE_BEAT_UP - 1] = sBeatUpDescription, + [MOVE_FAKE_OUT - 1] = sFakeOutDescription, + [MOVE_UPROAR - 1] = sUproarDescription, + [MOVE_STOCKPILE - 1] = sStockpileDescription, + [MOVE_SPIT_UP - 1] = sSpitUpDescription, + [MOVE_SWALLOW - 1] = sSwallowDescription, + [MOVE_HEAT_WAVE - 1] = sHeatWaveDescription, + [MOVE_HAIL - 1] = sHailDescription, + [MOVE_TORMENT - 1] = sTormentDescription, + [MOVE_FLATTER - 1] = sFlatterDescription, + [MOVE_WILL_O_WISP - 1] = sWillOWispDescription, + [MOVE_MEMENTO - 1] = sMementoDescription, + [MOVE_FACADE - 1] = sFacadeDescription, + [MOVE_FOCUS_PUNCH - 1] = sFocusPunchDescription, + [MOVE_SMELLING_SALT - 1] = sSmellingSaltDescription, + [MOVE_FOLLOW_ME - 1] = sFollowMeDescription, + [MOVE_NATURE_POWER - 1] = sNaturePowerDescription, + [MOVE_CHARGE - 1] = sChargeDescription, + [MOVE_TAUNT - 1] = sTauntDescription, + [MOVE_HELPING_HAND - 1] = sHelpingHandDescription, + [MOVE_TRICK - 1] = sTrickDescription, + [MOVE_ROLE_PLAY - 1] = sRolePlayDescription, + [MOVE_WISH - 1] = sWishDescription, + [MOVE_ASSIST - 1] = sAssistDescription, + [MOVE_INGRAIN - 1] = sIngrainDescription, + [MOVE_SUPERPOWER - 1] = sSuperpowerDescription, + [MOVE_MAGIC_COAT - 1] = sMagicCoatDescription, + [MOVE_RECYCLE - 1] = sRecycleDescription, + [MOVE_REVENGE - 1] = sRevengeDescription, + [MOVE_BRICK_BREAK - 1] = sBrickBreakDescription, + [MOVE_YAWN - 1] = sYawnDescription, + [MOVE_KNOCK_OFF - 1] = sKnockOffDescription, + [MOVE_ENDEAVOR - 1] = sEndeavorDescription, + [MOVE_ERUPTION - 1] = sEruptionDescription, + [MOVE_SKILL_SWAP - 1] = sSkillSwapDescription, + [MOVE_IMPRISON - 1] = sImprisonDescription, + [MOVE_REFRESH - 1] = sRefreshDescription, + [MOVE_GRUDGE - 1] = sGrudgeDescription, + [MOVE_SNATCH - 1] = sSnatchDescription, + [MOVE_SECRET_POWER - 1] = sSecretPowerDescription, + [MOVE_DIVE - 1] = sDiveDescription, + [MOVE_ARM_THRUST - 1] = sArmThrustDescription, + [MOVE_CAMOUFLAGE - 1] = sCamouflageDescription, + [MOVE_TAIL_GLOW - 1] = sTailGlowDescription, + [MOVE_LUSTER_PURGE - 1] = sLusterPurgeDescription, + [MOVE_MIST_BALL - 1] = sMistBallDescription, + [MOVE_FEATHER_DANCE - 1] = sFeatherDanceDescription, + [MOVE_TEETER_DANCE - 1] = sTeeterDanceDescription, + [MOVE_BLAZE_KICK - 1] = sBlazeKickDescription, + [MOVE_MUD_SPORT - 1] = sMudSportDescription, + [MOVE_ICE_BALL - 1] = sIceBallDescription, + [MOVE_NEEDLE_ARM - 1] = sNeedleArmDescription, + [MOVE_SLACK_OFF - 1] = sSlackOffDescription, + [MOVE_HYPER_VOICE - 1] = sHyperVoiceDescription, + [MOVE_POISON_FANG - 1] = sPoisonFangDescription, + [MOVE_CRUSH_CLAW - 1] = sCrushClawDescription, + [MOVE_BLAST_BURN - 1] = sBlastBurnDescription, + [MOVE_HYDRO_CANNON - 1] = sHydroCannonDescription, + [MOVE_METEOR_MASH - 1] = sMeteorMashDescription, + [MOVE_ASTONISH - 1] = sAstonishDescription, + [MOVE_WEATHER_BALL - 1] = sWeatherBallDescription, + [MOVE_AROMATHERAPY - 1] = sAromatherapyDescription, + [MOVE_FAKE_TEARS - 1] = sFakeTearsDescription, + [MOVE_AIR_CUTTER - 1] = sAirCutterDescription, + [MOVE_OVERHEAT - 1] = sOverheatDescription, + [MOVE_ODOR_SLEUTH - 1] = sOdorSleuthDescription, + [MOVE_ROCK_TOMB - 1] = sRockTombDescription, + [MOVE_SILVER_WIND - 1] = sSilverWindDescription, + [MOVE_METAL_SOUND - 1] = sMetalSoundDescription, + [MOVE_GRASS_WHISTLE - 1] = sGrassWhistleDescription, + [MOVE_TICKLE - 1] = sTickleDescription, + [MOVE_COSMIC_POWER - 1] = sCosmicPowerDescription, + [MOVE_WATER_SPOUT - 1] = sWaterSpoutDescription, + [MOVE_SIGNAL_BEAM - 1] = sSignalBeamDescription, + [MOVE_SHADOW_PUNCH - 1] = sShadowPunchDescription, + [MOVE_EXTRASENSORY - 1] = sExtrasensoryDescription, + [MOVE_SKY_UPPERCUT - 1] = sSkyUppercutDescription, + [MOVE_SAND_TOMB - 1] = sSandTombDescription, + [MOVE_SHEER_COLD - 1] = sSheerColdDescription, + [MOVE_MUDDY_WATER - 1] = sMuddyWaterDescription, + [MOVE_BULLET_SEED - 1] = sBulletSeedDescription, + [MOVE_AERIAL_ACE - 1] = sAerialAceDescription, + [MOVE_ICICLE_SPEAR - 1] = sIcicleSpearDescription, + [MOVE_IRON_DEFENSE - 1] = sIronDefenseDescription, + [MOVE_BLOCK - 1] = sBlockDescription, + [MOVE_HOWL - 1] = sHowlDescription, + [MOVE_DRAGON_CLAW - 1] = sDragonClawDescription, + [MOVE_FRENZY_PLANT - 1] = sFrenzyPlantDescription, + [MOVE_BULK_UP - 1] = sBulkUpDescription, + [MOVE_BOUNCE - 1] = sBounceDescription, + [MOVE_MUD_SHOT - 1] = sMudShotDescription, + [MOVE_POISON_TAIL - 1] = sPoisonTailDescription, + [MOVE_COVET - 1] = sCovetDescription, + [MOVE_VOLT_TACKLE - 1] = sVoltTackleDescription, + [MOVE_MAGICAL_LEAF - 1] = sMagicalLeafDescription, + [MOVE_WATER_SPORT - 1] = sWaterSportDescription, + [MOVE_CALM_MIND - 1] = sCalmMindDescription, + [MOVE_LEAF_BLADE - 1] = sLeafBladeDescription, + [MOVE_DRAGON_DANCE - 1] = sDragonDanceDescription, + [MOVE_ROCK_BLAST - 1] = sRockBlastDescription, + [MOVE_SHOCK_WAVE - 1] = sShockWaveDescription, + [MOVE_WATER_PULSE - 1] = sWaterPulseDescription, + [MOVE_DOOM_DESIRE - 1] = sDoomDesireDescription, + [MOVE_PSYCHO_BOOST - 1] = sPsychoBoostDescription, }; From 5164215c9123824c9c6579a9c6ea0ef859e40a2f Mon Sep 17 00:00:00 2001 From: DizzyEggg <jajkodizzy@wp.pl> Date: Sun, 16 Sep 2018 17:06:35 +0200 Subject: [PATCH 213/234] Use defines for BattleAI_ChooseMoveOrAction --- src/battle_controller_opponent.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/battle_controller_opponent.c b/src/battle_controller_opponent.c index 3c126aeec8..b3179ed3d2 100644 --- a/src/battle_controller_opponent.c +++ b/src/battle_controller_opponent.c @@ -1552,10 +1552,10 @@ static void OpponentHandleChooseMove(void) switch (chosenMoveId) { - case 5: + case AI_CHOICE_WATCH: BtlController_EmitTwoReturnValues(1, B_ACTION_SAFARI_WATCH_CAREFULLY, 0); break; - case 4: + case AI_CHOICE_FLEE: BtlController_EmitTwoReturnValues(1, B_ACTION_RUN, 0); break; case 6: From f2a76b54bdb75953f7ce1372647db9d5bec8c16e Mon Sep 17 00:00:00 2001 From: Marcus Huderle <huderlem@gmail.com> Date: Sun, 16 Sep 2018 11:07:48 -0500 Subject: [PATCH 214/234] Re-dump tileset images as RGB-indexed, rather than greyscale --- data/tilesets/primary/building/anim/0.png | Bin 141 -> 179 bytes data/tilesets/primary/building/anim/1.png | Bin 144 -> 180 bytes data/tilesets/primary/building/tiles.png | Bin 1813 -> 1575 bytes data/tilesets/primary/general/anim/0/0.png | Bin 183 -> 239 bytes data/tilesets/primary/general/anim/0/1.png | Bin 182 -> 238 bytes data/tilesets/primary/general/anim/0/2.png | Bin 183 -> 241 bytes data/tilesets/primary/general/anim/1/0.png | Bin 518 -> 608 bytes data/tilesets/primary/general/anim/1/1.png | Bin 581 -> 651 bytes data/tilesets/primary/general/anim/1/2.png | Bin 534 -> 597 bytes data/tilesets/primary/general/anim/1/3.png | Bin 527 -> 610 bytes data/tilesets/primary/general/anim/1/4.png | Bin 461 -> 534 bytes data/tilesets/primary/general/anim/1/5.png | Bin 460 -> 538 bytes data/tilesets/primary/general/anim/1/6.png | Bin 480 -> 554 bytes data/tilesets/primary/general/anim/1/7.png | Bin 521 -> 612 bytes data/tilesets/primary/general/anim/2/0.png | Bin 194 -> 259 bytes data/tilesets/primary/general/anim/2/1.png | Bin 243 -> 293 bytes data/tilesets/primary/general/anim/2/2.png | Bin 262 -> 303 bytes data/tilesets/primary/general/anim/2/3.png | Bin 280 -> 320 bytes data/tilesets/primary/general/anim/2/4.png | Bin 232 -> 281 bytes data/tilesets/primary/general/anim/2/5.png | Bin 220 -> 261 bytes data/tilesets/primary/general/anim/2/6.png | Bin 203 -> 249 bytes data/tilesets/primary/general/anim/3/0.png | Bin 136 -> 199 bytes data/tilesets/primary/general/anim/3/1.png | Bin 154 -> 214 bytes data/tilesets/primary/general/anim/3/2.png | Bin 133 -> 195 bytes data/tilesets/primary/general/anim/3/3.png | Bin 130 -> 191 bytes data/tilesets/primary/general/anim/4/0.png | Bin 304 -> 333 bytes data/tilesets/primary/general/anim/4/1.png | Bin 311 -> 341 bytes data/tilesets/primary/general/anim/4/2.png | Bin 314 -> 342 bytes data/tilesets/primary/general/anim/4/3.png | Bin 328 -> 360 bytes data/tilesets/primary/general/tiles.png | Bin 7786 -> 7622 bytes data/tilesets/primary/secret_base/tiles.png | Bin 7869 -> 7144 bytes .../primary/secret_base/unknown_tiles.png | Bin 1316 -> 1237 bytes .../tilesets/secondary/battle_arena/tiles.png | Bin 2340 -> 2116 bytes data/tilesets/secondary/battle_dome/tiles.png | Bin 3626 -> 3239 bytes .../secondary/battle_factory/tiles.png | Bin 3694 -> 3368 bytes .../secondary/battle_frontier/tiles.png | Bin 2647 -> 2411 bytes .../battle_frontier_outside_east/anim/0.png | Bin 191 -> 230 bytes .../battle_frontier_outside_east/anim/1.png | Bin 188 -> 227 bytes .../battle_frontier_outside_east/anim/2.png | Bin 185 -> 225 bytes .../battle_frontier_outside_east/anim/3.png | Bin 183 -> 228 bytes .../battle_frontier_outside_east/tiles.png | Bin 3834 -> 3798 bytes .../battle_frontier_outside_west/anim/0.png | Bin 191 -> 230 bytes .../battle_frontier_outside_west/anim/1.png | Bin 188 -> 227 bytes .../battle_frontier_outside_west/anim/2.png | Bin 185 -> 225 bytes .../battle_frontier_outside_west/anim/3.png | Bin 183 -> 228 bytes .../battle_frontier_outside_west/tiles.png | Bin 5892 -> 5544 bytes .../battle_frontier_ranking_hall/tiles.png | Bin 1700 -> 1503 bytes .../secondary/battle_palace/tiles.png | Bin 1633 -> 1573 bytes data/tilesets/secondary/battle_pike/tiles.png | Bin 4013 -> 3960 bytes .../secondary/battle_pyramid/anim/0/0.png | Bin 228 -> 265 bytes .../secondary/battle_pyramid/anim/0/1.png | Bin 220 -> 259 bytes .../secondary/battle_pyramid/anim/0/2.png | Bin 219 -> 254 bytes .../secondary/battle_pyramid/anim/1/0.png | Bin 261 -> 303 bytes .../secondary/battle_pyramid/anim/1/1.png | Bin 267 -> 307 bytes .../secondary/battle_pyramid/anim/1/2.png | Bin 261 -> 303 bytes .../secondary/battle_pyramid/anim/1/3.png | Bin 105 -> 0 bytes .../secondary/battle_pyramid/anim/1/4.png | Bin 86 -> 0 bytes .../secondary/battle_pyramid/anim/1/5.png | Bin 86 -> 0 bytes .../secondary/battle_pyramid/anim/1/6.png | Bin 106 -> 0 bytes .../secondary/battle_pyramid/anim/1/7.png | Bin 393 -> 0 bytes .../secondary/battle_pyramid/anim/1/8.png | Bin 105 -> 0 bytes .../secondary/battle_pyramid/anim/1/9.png | Bin 111 -> 0 bytes .../secondary/battle_pyramid/tiles.png | Bin 3504 -> 3256 bytes data/tilesets/secondary/battle_tent/tiles.png | Bin 2084 -> 1751 bytes data/tilesets/secondary/bike_shop/anim/0.png | Bin 250 -> 290 bytes data/tilesets/secondary/bike_shop/anim/1.png | Bin 249 -> 286 bytes data/tilesets/secondary/bike_shop/anim/2.png | Bin 219 -> 0 bytes data/tilesets/secondary/bike_shop/tiles.png | Bin 3505 -> 3300 bytes .../secondary/brendans_mays_house/tiles.png | Bin 3074 -> 2658 bytes data/tilesets/secondary/cable_club/tiles.png | Bin 2590 -> 2477 bytes .../secondary/cable_club/unknown_tiles.png | Bin 311 -> 332 bytes data/tilesets/secondary/cave/anim/0.png | Bin 100 -> 157 bytes data/tilesets/secondary/cave/anim/1.png | Bin 126 -> 181 bytes data/tilesets/secondary/cave/anim/2.png | Bin 108 -> 173 bytes data/tilesets/secondary/cave/anim/3.png | Bin 109 -> 175 bytes .../tilesets/secondary/cave/anim/unused/0.png | Bin 100 -> 157 bytes .../tilesets/secondary/cave/anim/unused/1.png | Bin 121 -> 177 bytes .../tilesets/secondary/cave/anim/unused/2.png | Bin 108 -> 173 bytes .../tilesets/secondary/cave/anim/unused/3.png | Bin 105 -> 171 bytes data/tilesets/secondary/cave/tiles.png | Bin 5884 -> 5787 bytes data/tilesets/secondary/contest/tiles.png | Bin 1650 -> 1655 bytes data/tilesets/secondary/dewford/anim/0.png | Bin 185 -> 224 bytes data/tilesets/secondary/dewford/anim/1.png | Bin 185 -> 222 bytes data/tilesets/secondary/dewford/anim/2.png | Bin 185 -> 228 bytes data/tilesets/secondary/dewford/anim/3.png | Bin 192 -> 234 bytes data/tilesets/secondary/dewford/tiles.png | Bin 3985 -> 3810 bytes data/tilesets/secondary/dewford_gym/tiles.png | Bin 640 -> 650 bytes .../secondary/elite_four/anim/0/0.png | Bin 91 -> 152 bytes .../secondary/elite_four/anim/0/1.png | Bin 91 -> 152 bytes .../secondary/elite_four/anim/0/2.png | Bin 91 -> 152 bytes .../secondary/elite_four/anim/0/3.png | Bin 91 -> 152 bytes .../secondary/elite_four/anim/1/0.png | Bin 135 -> 171 bytes .../secondary/elite_four/anim/1/1.png | Bin 72 -> 129 bytes .../secondary/elite_four/anim/1/2.png | Bin 1260 -> 0 bytes .../secondary/elite_four/anim/1/3.png | Bin 1184 -> 0 bytes .../secondary/elite_four/anim/1/4.png | Bin 1190 -> 0 bytes .../secondary/elite_four/anim/1/5.png | Bin 1248 -> 0 bytes .../secondary/elite_four/anim/1/6.png | Bin 1161 -> 0 bytes .../secondary/elite_four/anim/1/7.png | Bin 1153 -> 0 bytes data/tilesets/secondary/elite_four/tiles.png | Bin 2876 -> 2877 bytes .../tilesets/secondary/ever_grande/anim/0.png | Bin 204 -> 257 bytes .../tilesets/secondary/ever_grande/anim/1.png | Bin 204 -> 257 bytes .../tilesets/secondary/ever_grande/anim/2.png | Bin 197 -> 253 bytes .../tilesets/secondary/ever_grande/anim/3.png | Bin 200 -> 255 bytes .../tilesets/secondary/ever_grande/anim/4.png | Bin 204 -> 257 bytes .../tilesets/secondary/ever_grande/anim/5.png | Bin 204 -> 257 bytes .../tilesets/secondary/ever_grande/anim/6.png | Bin 201 -> 254 bytes .../tilesets/secondary/ever_grande/anim/7.png | Bin 201 -> 254 bytes data/tilesets/secondary/ever_grande/tiles.png | Bin 2208 -> 2126 bytes data/tilesets/secondary/facility/tiles.png | Bin 6352 -> 5773 bytes data/tilesets/secondary/fallarbor/tiles.png | Bin 4781 -> 4653 bytes data/tilesets/secondary/fortree/tiles.png | Bin 4342 -> 4414 bytes data/tilesets/secondary/fortree_gym/tiles.png | Bin 770 -> 824 bytes .../secondary/generic_building/tiles.png | Bin 5607 -> 4990 bytes .../secondary/inside_of_truck/tiles.png | Bin 545 -> 572 bytes data/tilesets/secondary/inside_ship/tiles.png | Bin 2149 -> 2050 bytes .../secondary/island_harbor/tiles.png | Bin 5639 -> 5121 bytes data/tilesets/secondary/lab/tiles.png | Bin 2844 -> 2633 bytes data/tilesets/secondary/lavaridge/anim/0.png | Bin 83 -> 140 bytes data/tilesets/secondary/lavaridge/anim/1.png | Bin 92 -> 147 bytes data/tilesets/secondary/lavaridge/anim/2.png | Bin 88 -> 143 bytes data/tilesets/secondary/lavaridge/anim/3.png | Bin 100 -> 153 bytes data/tilesets/secondary/lavaridge/tiles.png | Bin 4215 -> 4087 bytes .../secondary/lavaridge_gym/tiles.png | Bin 713 -> 688 bytes data/tilesets/secondary/lilycove/tiles.png | Bin 3912 -> 3652 bytes .../secondary/lilycove_museum/tiles.png | Bin 3938 -> 3391 bytes .../secondary/mauville/anim/0/a/0.png | Bin 177 -> 234 bytes .../secondary/mauville/anim/0/a/1.png | Bin 175 -> 229 bytes .../secondary/mauville/anim/0/a/2.png | Bin 171 -> 224 bytes .../secondary/mauville/anim/0/a/3.png | Bin 160 -> 216 bytes .../secondary/mauville/anim/0/a/4.png | Bin 178 -> 0 bytes .../secondary/mauville/anim/0/a/5.png | Bin 177 -> 0 bytes .../secondary/mauville/anim/0/a/6.png | Bin 175 -> 0 bytes .../secondary/mauville/anim/0/a/7.png | Bin 171 -> 0 bytes .../secondary/mauville/anim/0/a/8.png | Bin 160 -> 0 bytes .../secondary/mauville/anim/0/a/9.png | Bin 178 -> 0 bytes .../secondary/mauville/anim/0/b/0.png | Bin 177 -> 234 bytes .../secondary/mauville/anim/0/b/1.png | Bin 175 -> 229 bytes .../secondary/mauville/anim/0/b/2.png | Bin 171 -> 224 bytes .../secondary/mauville/anim/0/b/3.png | Bin 160 -> 216 bytes .../secondary/mauville/anim/0/b/4.png | Bin 72 -> 0 bytes .../secondary/mauville/anim/0/b/5.png | Bin 72 -> 0 bytes .../secondary/mauville/anim/0/b/6.png | Bin 72 -> 0 bytes .../secondary/mauville/anim/0/b/7.png | Bin 72 -> 0 bytes .../secondary/mauville/anim/1/a/0.png | Bin 177 -> 0 bytes .../secondary/mauville/anim/1/a/1.png | Bin 178 -> 232 bytes .../secondary/mauville/anim/1/a/2.png | Bin 171 -> 0 bytes .../secondary/mauville/anim/1/a/3.png | Bin 160 -> 0 bytes .../secondary/mauville/anim/1/b/0.png | Bin 177 -> 0 bytes .../secondary/mauville/anim/1/b/1.png | Bin 178 -> 232 bytes .../secondary/mauville/anim/1/b/2.png | Bin 171 -> 0 bytes .../secondary/mauville/anim/1/b/3.png | Bin 160 -> 0 bytes .../secondary/mauville/anim/1/b/4.png | Bin 100 -> 0 bytes .../secondary/mauville/anim/1/b/5.png | Bin 121 -> 0 bytes .../secondary/mauville/anim/1/b/6.png | Bin 108 -> 0 bytes .../secondary/mauville/anim/1/b/7.png | Bin 105 -> 0 bytes data/tilesets/secondary/mauville/tiles.png | Bin 6372 -> 6069 bytes .../secondary/mauville_game_corner/tiles.png | Bin 1788 -> 1608 bytes .../secondary/mauville_gym/anim/0.png | Bin 215 -> 243 bytes .../secondary/mauville_gym/anim/1.png | Bin 218 -> 242 bytes .../secondary/mauville_gym/anim/2.png | Bin 106 -> 0 bytes .../secondary/mauville_gym/anim/3.png | Bin 393 -> 0 bytes .../tilesets/secondary/mauville_gym/tiles.png | Bin 1534 -> 1496 bytes .../tilesets/secondary/meteor_falls/tiles.png | Bin 6078 -> 6021 bytes .../tilesets/secondary/mirage_tower/tiles.png | Bin 5645 -> 5585 bytes data/tilesets/secondary/mossdeep/tiles.png | Bin 4269 -> 4111 bytes .../secondary/mossdeep_game_corner/tiles.png | Bin 893 -> 895 bytes .../tilesets/secondary/mossdeep_gym/tiles.png | Bin 969 -> 978 bytes .../secondary/mystery_events_house/tiles.png | Bin 5383 -> 4839 bytes data/tilesets/secondary/navel_rock/tiles.png | Bin 6073 -> 5989 bytes .../secondary/oceanic_museum/tiles.png | Bin 3219 -> 2714 bytes .../secondary/pacifidlog/anim/0/0.png | Bin 596 -> 631 bytes .../secondary/pacifidlog/anim/0/1.png | Bin 603 -> 655 bytes .../secondary/pacifidlog/anim/0/2.png | Bin 625 -> 664 bytes .../secondary/pacifidlog/anim/1/0.png | Bin 198 -> 263 bytes .../secondary/pacifidlog/anim/1/1.png | Bin 219 -> 271 bytes .../secondary/pacifidlog/anim/1/2.png | Bin 241 -> 284 bytes .../secondary/pacifidlog/anim/1/3.png | Bin 213 -> 266 bytes .../secondary/pacifidlog/anim/1/4.png | Bin 138 -> 200 bytes .../secondary/pacifidlog/anim/1/5.png | Bin 140 -> 200 bytes .../secondary/pacifidlog/anim/1/6.png | Bin 138 -> 200 bytes .../secondary/pacifidlog/anim/1/7.png | Bin 200 -> 261 bytes data/tilesets/secondary/pacifidlog/tiles.png | Bin 4812 -> 4718 bytes data/tilesets/secondary/petalburg/tiles.png | Bin 1910 -> 1740 bytes .../secondary/petalburg_gym/tiles.png | Bin 1429 -> 1272 bytes .../secondary/pokemon_center/tiles.png | Bin 3645 -> 3487 bytes .../secondary/pokemon_day_care/tiles.png | Bin 1528 -> 1494 bytes .../secondary/pokemon_fan_club/tiles.png | Bin 1373 -> 1285 bytes .../secondary/pokemon_school/tiles.png | Bin 1027 -> 1021 bytes .../pretty_petal_flower_shop/tiles.png | Bin 1951 -> 1876 bytes data/tilesets/secondary/rustboro/anim/0/0.png | Bin 119 -> 180 bytes data/tilesets/secondary/rustboro/anim/0/1.png | Bin 113 -> 170 bytes data/tilesets/secondary/rustboro/anim/0/2.png | Bin 72 -> 132 bytes data/tilesets/secondary/rustboro/anim/0/3.png | Bin 72 -> 132 bytes data/tilesets/secondary/rustboro/anim/0/4.png | Bin 72 -> 132 bytes data/tilesets/secondary/rustboro/anim/0/5.png | Bin 72 -> 132 bytes data/tilesets/secondary/rustboro/anim/0/6.png | Bin 72 -> 132 bytes data/tilesets/secondary/rustboro/anim/0/7.png | Bin 72 -> 132 bytes data/tilesets/secondary/rustboro/anim/1/0.png | Bin 201 -> 252 bytes data/tilesets/secondary/rustboro/anim/1/1.png | Bin 198 -> 247 bytes data/tilesets/secondary/rustboro/anim/1/2.png | Bin 185 -> 0 bytes data/tilesets/secondary/rustboro/anim/1/3.png | Bin 192 -> 0 bytes data/tilesets/secondary/rustboro/tiles.png | Bin 4108 -> 3938 bytes .../tilesets/secondary/rustboro_gym/tiles.png | Bin 768 -> 813 bytes .../secondary/rusturf_tunnel/tiles.png | Bin 2228 -> 2180 bytes .../secondary/seashore_house/tiles.png | Bin 1280 -> 1147 bytes .../secondary/secret_base/blue_cave/tiles.png | Bin 905 -> 964 bytes .../secret_base/blue_cave/unused_tiles.png | Bin 903 -> 964 bytes .../secret_base/brown_cave/tiles.png | Bin 1166 -> 1128 bytes .../secret_base/brown_cave/unused_tiles.png | Bin 1163 -> 1128 bytes .../secondary/secret_base/red_cave/tiles.png | Bin 941 -> 1000 bytes .../secret_base/red_cave/unused_tiles.png | Bin 938 -> 1000 bytes .../secondary/secret_base/shrub/tiles.png | Bin 1177 -> 1149 bytes .../secret_base/shrub/unused_tiles.png | Bin 1173 -> 1149 bytes .../secondary/secret_base/tree/tiles.png | Bin 1098 -> 1117 bytes .../secret_base/tree/unused_tiles.png | Bin 1095 -> 1117 bytes .../secret_base/yellow_cave/tiles.png | Bin 1127 -> 1184 bytes .../secret_base/yellow_cave/unused_tiles.png | Bin 1125 -> 1184 bytes data/tilesets/secondary/shop/tiles.png | Bin 4416 -> 3899 bytes data/tilesets/secondary/slateport/anim/0.png | Bin 179 -> 227 bytes data/tilesets/secondary/slateport/anim/1.png | Bin 181 -> 234 bytes data/tilesets/secondary/slateport/anim/2.png | Bin 179 -> 231 bytes data/tilesets/secondary/slateport/anim/3.png | Bin 181 -> 234 bytes data/tilesets/secondary/slateport/tiles.png | Bin 6985 -> 6559 bytes data/tilesets/secondary/sootopolis/anim/0.png | Bin 1201 -> 1135 bytes data/tilesets/secondary/sootopolis/anim/1.png | Bin 1262 -> 1155 bytes data/tilesets/secondary/sootopolis/anim/2.png | Bin 1260 -> 1155 bytes data/tilesets/secondary/sootopolis/anim/3.png | Bin 1184 -> 1112 bytes data/tilesets/secondary/sootopolis/anim/4.png | Bin 1190 -> 1124 bytes data/tilesets/secondary/sootopolis/anim/5.png | Bin 1248 -> 1149 bytes data/tilesets/secondary/sootopolis/anim/6.png | Bin 1161 -> 1097 bytes data/tilesets/secondary/sootopolis/anim/7.png | Bin 1153 -> 1093 bytes data/tilesets/secondary/sootopolis/tiles.png | Bin 2950 -> 2695 bytes .../secondary/sootopolis_gym/anim/0/0.png | Bin 286 -> 341 bytes .../secondary/sootopolis_gym/anim/0/1.png | Bin 283 -> 339 bytes .../secondary/sootopolis_gym/anim/0/2.png | Bin 294 -> 340 bytes .../secondary/sootopolis_gym/anim/0/3.png | Bin 91 -> 0 bytes .../secondary/sootopolis_gym/anim/1/0.png | Bin 389 -> 363 bytes .../secondary/sootopolis_gym/anim/1/1.png | Bin 408 -> 372 bytes .../secondary/sootopolis_gym/anim/1/2.png | Bin 399 -> 385 bytes .../secondary/sootopolis_gym/tiles.png | Bin 2954 -> 2818 bytes .../tilesets/secondary/trainer_hill/tiles.png | Bin 3594 -> 3359 bytes .../secondary/trick_house_puzzle/tiles.png | Bin 2797 -> 2613 bytes data/tilesets/secondary/underwater/anim/0.png | Bin 180 -> 231 bytes data/tilesets/secondary/underwater/anim/1.png | Bin 183 -> 236 bytes data/tilesets/secondary/underwater/anim/2.png | Bin 185 -> 238 bytes data/tilesets/secondary/underwater/anim/3.png | Bin 184 -> 234 bytes data/tilesets/secondary/underwater/tiles.png | Bin 2846 -> 3014 bytes data/tilesets/secondary/union_room/tiles.png | Bin 1817 -> 1763 bytes data/tilesets/secondary/unused_1/0.png | Bin 86 -> 141 bytes data/tilesets/secondary/unused_1/1.png | Bin 86 -> 141 bytes data/tilesets/secondary/unused_1/2.png | Bin 106 -> 165 bytes data/tilesets/secondary/unused_1/3.png | Bin 393 -> 539 bytes data/tilesets/secondary/unused_1/tiles.png | Bin 77 -> 139 bytes data/tilesets/secondary/unused_2/0.png | Bin 105 -> 165 bytes data/tilesets/secondary/unused_2/1.png | Bin 111 -> 169 bytes data/tilesets/secondary/unused_2/2.png | Bin 108 -> 0 bytes data/tilesets/secondary/unused_2/3.png | Bin 105 -> 0 bytes data/tilesets/secondary/unused_2/tiles.png | Bin 979 -> 917 bytes 259 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 data/tilesets/secondary/battle_pyramid/anim/1/3.png delete mode 100644 data/tilesets/secondary/battle_pyramid/anim/1/4.png delete mode 100644 data/tilesets/secondary/battle_pyramid/anim/1/5.png delete mode 100644 data/tilesets/secondary/battle_pyramid/anim/1/6.png delete mode 100644 data/tilesets/secondary/battle_pyramid/anim/1/7.png delete mode 100644 data/tilesets/secondary/battle_pyramid/anim/1/8.png delete mode 100644 data/tilesets/secondary/battle_pyramid/anim/1/9.png delete mode 100644 data/tilesets/secondary/bike_shop/anim/2.png delete mode 100644 data/tilesets/secondary/elite_four/anim/1/2.png delete mode 100644 data/tilesets/secondary/elite_four/anim/1/3.png delete mode 100644 data/tilesets/secondary/elite_four/anim/1/4.png delete mode 100644 data/tilesets/secondary/elite_four/anim/1/5.png delete mode 100644 data/tilesets/secondary/elite_four/anim/1/6.png delete mode 100644 data/tilesets/secondary/elite_four/anim/1/7.png delete mode 100644 data/tilesets/secondary/mauville/anim/0/a/4.png delete mode 100644 data/tilesets/secondary/mauville/anim/0/a/5.png delete mode 100644 data/tilesets/secondary/mauville/anim/0/a/6.png delete mode 100644 data/tilesets/secondary/mauville/anim/0/a/7.png delete mode 100644 data/tilesets/secondary/mauville/anim/0/a/8.png delete mode 100644 data/tilesets/secondary/mauville/anim/0/a/9.png delete mode 100644 data/tilesets/secondary/mauville/anim/0/b/4.png delete mode 100644 data/tilesets/secondary/mauville/anim/0/b/5.png delete mode 100644 data/tilesets/secondary/mauville/anim/0/b/6.png delete mode 100644 data/tilesets/secondary/mauville/anim/0/b/7.png delete mode 100644 data/tilesets/secondary/mauville/anim/1/a/0.png delete mode 100644 data/tilesets/secondary/mauville/anim/1/a/2.png delete mode 100644 data/tilesets/secondary/mauville/anim/1/a/3.png delete mode 100644 data/tilesets/secondary/mauville/anim/1/b/0.png delete mode 100644 data/tilesets/secondary/mauville/anim/1/b/2.png delete mode 100644 data/tilesets/secondary/mauville/anim/1/b/3.png delete mode 100644 data/tilesets/secondary/mauville/anim/1/b/4.png delete mode 100644 data/tilesets/secondary/mauville/anim/1/b/5.png delete mode 100644 data/tilesets/secondary/mauville/anim/1/b/6.png delete mode 100644 data/tilesets/secondary/mauville/anim/1/b/7.png delete mode 100644 data/tilesets/secondary/mauville_gym/anim/2.png delete mode 100644 data/tilesets/secondary/mauville_gym/anim/3.png delete mode 100644 data/tilesets/secondary/rustboro/anim/1/2.png delete mode 100644 data/tilesets/secondary/rustboro/anim/1/3.png delete mode 100644 data/tilesets/secondary/sootopolis_gym/anim/0/3.png delete mode 100644 data/tilesets/secondary/unused_2/2.png delete mode 100644 data/tilesets/secondary/unused_2/3.png diff --git a/data/tilesets/primary/building/anim/0.png b/data/tilesets/primary/building/anim/0.png index 004eccc67d6a563c9fa50b1bc53a6c046479c9b6..1d98f3621c424be43d62cd95fe644ac67f1f72bc 100644 GIT binary patch literal 179 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDU{r~^}yLa#I-Me@8?Ag70 z_pVv9X3m^B-QC^A#l=ZUNkKtDj*gCohK33X3IYNk6P&+1`~{@!JY5_^IA$hKn3Kc9 z)WtJ{M^V)vAVr{siOn%_LXYBv#7CS-jS`a=@^~j}9F{O=UMHKkV8MeUGZWZu7`Zw! YIQEO|-ut%n4A3M7Pgg&ebxsLQ0F{+LU;qFB literal 141 zcmeAS@N?(olHy`uVBq!ia0vp^96+qV0wfsDXLs`gsSr;W#}JO0p=USpHW=`*9GGtw zdZa?Ku`S%Jz)S0g<OX4tp6<yye{Wl8clO^tqagp{Q>Z()mSd5MjagXV8^-u8?!EQT oR#t}GQmCIKHFMom?Z*8Vm|ri>I<C?GMHOU^r>mdKI;Vst08QI4m;e9( diff --git a/data/tilesets/primary/building/anim/1.png b/data/tilesets/primary/building/anim/1.png index e28281dea9caf084d219b71fad644e7ffc177bdb..6798473b72b895b55593417e591f5c5523148649 100644 GIT binary patch literal 180 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDU{r~^}yLa#I-Me@8?Ag70 z_pVv9X3m^B-QC^A#l=ZUNkKtDj*gCohK33X3IYNk6P&+1`~{@!JzX3_IA$hKn3Kc9 z)WtJ{M^V)vAVr{siOun2k%9(`k(Z65jzF^2l)y;7)G3eC4s1QlD<U$-Lih|r^fC<& Z1`!U0WQ!fIb^(oI@O1TaS?83{1OQ?}JRSf5 literal 144 zcmeAS@N?(olHy`uVBq!ia0vp^96+qV0wfsDXLs`gsc=sh#}JO0p=S^BHW=_QJNS23 zC>(Q`Ho=N7IHmPl=Z^=H9#JYza^E+}&gqu4dl#ksggsVei~K>K8Ij%<YkFlOnf7IL rOa1?{(oSpb1bfe3pNl7a8~0yeetIfi{^DypJ&;wNu6{1-oD!M<(Hk+b diff --git a/data/tilesets/primary/building/tiles.png b/data/tilesets/primary/building/tiles.png index 506bb74004065f61938e31cffdff5404f1861746..bd6c0f921577bf4126ebdd00332cb95e69848bef 100644 GIT binary patch literal 1575 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 X)L@#_a$`yN%83JS4;rO@D}(<p-8i>$ literal 1813 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 D*=|)L diff --git a/data/tilesets/primary/general/anim/0/0.png b/data/tilesets/primary/general/anim/0/0.png index d535d920ec06f1d44ec6d2aa4430020ef8c185b6..1254a7655c7c2ea173eb7f4ea17dbb39aad4253e 100644 GIT binary patch literal 239 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDU{r~^}yLa#I-Me@8?Ag70 z_pVv9X3m^B-QC^A#l=ZUNkKtDj*gCohK33X3IYNk6P&+1`~{?{JY5_^IA+?O-N@Uf zAkg+OUo3%X;ld3~#||0HF*)MdV;qsFnb@>{@lWpJc^50r+V0$Qa^arlbXoIFbLVx> z6&EuzKI47Gc2j_JiIdTm!j-`qX0Ns^Yp@rWulb~|wfwB{rb5S;>yGRBaQpRS7zvnK kE~?U+x<j+1e))Y?ek&jUMTgIF16{%3>FVdQ&MBb@0PWjfDgXcg literal 183 zcmeAS@N?(olHy`uVBq!ia0vp^96+qV0wfsDXLs`gsX9*=#}JO0rl$<~4lD4qK3vWh zd!vf!Nnh$K$yIY$Hd?ehOGbQ{(#TrGbSO4!%C%{Bk=OVy9pn$6^62BblZSifO$l>s zy=`A9bgfeNb<1tOX@yRQE(+QyK6)p<Z$l^RI<F(yA<V^Y2huLY?0O{giC0Z~udMZ= h9$u-u4HxEz_3O778XNQMv{(#sk*BMl%Q~loCID@7MMnSt diff --git a/data/tilesets/primary/general/anim/0/1.png b/data/tilesets/primary/general/anim/0/1.png index 74f93ecce1e6ccd38b07eeba2ab96023f43d7d38..50bd949f283182c3a00e350a9800eb38ad3d414a 100644 GIT binary patch literal 238 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDU{r~^}yLa#I-Me@8?Ag70 z_pVv9X3m^B-QC^A#l=ZUNkKtDj*gCohK33X3IYNk6P&+1`~{>cJzX3_IA-deHRL;F zz{7f>e%ccC1CbKD1oUNB-Qg|WXu<i2$0wH4l5uwU6Dvmjx?jJh1^#coU&TA&jPlK= z4-Xk{R6c*>@R37`RvkZTdNWiiciuHO$>-T4yC;V=wAJ*Z_}4?Ji-PU_qlzLHZk&-B kbMZ#j=6f6e-L+#s_}6>Up>@7*fR14BboFyt=akR{0CcEhmjD0& literal 182 zcmeAS@N?(olHy`uVBq!ia0vp^96+qV0wfsDXLs`gsaj7L#}JO0ragvShYbW+#J9it z#Psyiu2a%JaYE}1|IIFV`0R<Bt5j@U!b|-~;XUk!H}Y^N798vh{J3VB#P7rw>qXi7 zrnEb7@9$J8YK+R?aQ@PUz46A2{JMT~a%N4qD-@pPkiprJb8hnfoZE8*R`FW=iJnjt g?^x){VjZ<zej2y&gX24W^Fa>sboFyt=akR{0N&w5WdHyG diff --git a/data/tilesets/primary/general/anim/0/2.png b/data/tilesets/primary/general/anim/0/2.png index fb0bfe89f681b6f4641c7dd0b98e8c03ca5d4877..5d8192c9dce6605eff34a98b7624dad4c7495cc3 100644 GIT binary patch literal 241 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDU{r~^}yLa#I-Me@8?Ag70 z_pVv9X3m^B-QC^A#l=ZUNkKtDj*gCohK33X3IYNk6P&+1`~{?HJY5_^IA-de-N@Tw zz{7gM-un<sy1B^8M{P={3NE<#G|gz_I@LYn!LBV6^&g%)TmS3Vq>2CA<M&u=>|Abn z`Ce<YG?V2Vw@Di|@*a8Y!>sYM@b0sYZ8NUrRw`T;()JS4JR~aq+v39Mhek1r%o&fm nT}@)nyI8Y2B<1b>ub)}HOgwMPES|O+=ne)?S3j3^P6<r_^owRM literal 183 zcmeAS@N?(olHy`uVBq!ia0vp^96+qV0wfsDXLs`gsX9*=#}JO0rl&UYHX8`IJyee> zpUGgU8ZwhHb<ztdiFZ$$p2h53u+f;YV)_lCos;eU9zDGM@iLCOX|3UTXRa;@G;)3P z(SP2&E7O<wX>gwY`sl`~lh5~RZaQ(#aLx?Frz?C+t?w)~klMFD|KqARtNAQWGpGMl jGr8u#&8%$p<<&=KhsCDLOBO!N2D!-7)z4*}Q$iB}pD0UK diff --git a/data/tilesets/primary/general/anim/1/0.png b/data/tilesets/primary/general/anim/1/0.png index a7bb2e631d50dce2e68bd1beaa17a202ee544ba8..d3f2ea0da6cf3a594b2181a57a991df8074e81c8 100644 GIT binary patch literal 608 zcmV-m0-ybfP)<h;3K|Lk000e1NJLTq000mG004Ld0{{R333_j30000mP)t-s|NsB) z?(W{+-p$R;y}iAxtgM`zoQsQ#b8~ZIVq#KKQb9pMF)=Y9ARrJB5C8xGL-gVL0005& zNkl<ZIE{Uiv2NQy42JnE8M@@HJlvwX&v7v-&!J%L7LhC&yd1p8sol}A1W{wqA--qm z&%09_pr}0@KG@`E-Y<$&r#MdWN(nSZii*$4AYL`TUNSTrZ4xjamGoDmJ?oK9eTV9v z>6XXW8h=ianx@tDhel#<bsNpYtV5SPjB5PXICO0ij@ofHpP21OTD|pbowRyt3&>Fu z45CI5qQhJ?_H3RtJk~v||9bdfo@c<OEx^_dusbQs>?vTb45*@2x|e~pYOV|$Es*jN zF8K_9@<IC`b@9lSIC%`%JVSwv7T}Uk$=S+ri%<E;oR3JlS3C?Lq!B-A5y5pLGEOi> zHPZBSKIJpa`Sdv-F^?R2w8JA$&m!9zfSe!wwd5RQip8H`r4V-RW#_64!8vk2LJ0Q; zt_tqUuD~J~d_~1wAe<-<cXW@_Iw3r}mpzt5tK^CFUM0^rI%m%^!y+tic`%F15DM5V zHWQsO3r5+~c~NC}hXbxXO>p2VO=Gy_q&N53-V5931h&r!(mo>_%bF}3>%^mM<gt-1 z1B;Mg=lH=uI+j&aV9N!>GvP!zdwOWB95r}3{CM$o2KAnNn#Ta|mw&w!_^t)K&Eq}F uZJvvjqvqdz=6Rp<9`-!%A^&#|d;Sf_4zHRRz|&a(0000<MNUMnLSTYYMH!+1 literal 518 zcmV+h0{Q)kP)<h;3K|Lk000e1NJLTq000O8008g=00000-Bp(&0005aNkl<ZIE|%~ zu};G<5Qgs+3<F}!RY{eR7RrvibYLmEWG~8fZc*@aP_lU7tyma%7ye6H8k!;@v3yFT z^Y`0lA2BD6S~zAV=g#`zi;8KI6-=YVozaLLiYI`(9XqNXxgymmQ>HwHB~v=~g$+|x zEg5wHtC~-TzALO)pR=RV!Iu`T4;iDhSfZ|gd7?`74KnJ7B_LKOhul5Xa@({6dbydJ zPj^0@*@{Q_2It7uK)T-h7Jaaa`G7-iZFRLQ`(Ux$wD>KTPv!pY9I0&JlM+5aXK87^ z@`n$*-}O%{SA^Uw1<p5s^*M2EU3+Cea>dd_7CW%W>Hf(q6OxAo(7%t+g||(V)@R+2 z5|3dO>|HqrAJWPDdF&9cy{8zPZ@hZ)F?xER1NZaT&^`XizXS2ZR=jy2etJU1XJ=u~ zfd*ff4Scz&@>9M$92!1nz8CXt&9^=FAvgANbIZ-&8tAPqvAQ;Lc#gY0UJa2cZWA8N z$I-lf_vO@lIGc~7dsD5XgQ(qy6n&`R;-4#ERY^fB{F6QdQrn7B?cRbCDne($(1i}c z_7`k^58x26zcDZx2YY`3#S<Xh+KMLz0``ZB>0b4pxg5;L7X!}>)kQ3degFUf07*qo IM6N<$g6a_QH~;_u diff --git a/data/tilesets/primary/general/anim/1/1.png b/data/tilesets/primary/general/anim/1/1.png index c215f16836328257a36728dc0ad6b5ffb46250d4..86b0ff17643b149ed04c5a81c79b6b728ddb8c57 100644 GIT binary patch literal 651 zcmV;60(AX}P)<h;3K|Lk000e1NJLTq000mG004Ld0{{R333_j30000mP)t-s|NsB) z?(W{+-p$R;y}iAxtgM`zoQsQ#b8~ZIVq#KKQb9pMF)=Y9ARrJB5C8xGL-gVL0006O zNkl<ZIE{^y&x)Kt5Qpnoa-H|`B6ClkV0FP<Cnb1a3%tz1OOMx(*`{+`Y)yGy7W5hN zEB|Z=EF{p#N0<Fg_0JmeVVM<+bPRw6pyQ;|GSjRY<~~~p<xpx_63REOBGdA!K2{oO z%A2v{O6gyoX<4YOG<-#knDzFAEdxI^I#J|m>`*5y8})%JQmJ9M0|xkYT)`;NW5Y&w z8YHs002<9jovNCP6fgKt7XZfTXFyy%jlt&OYW4iUukW77e|ee__o^#%*}W=r*}bB< zsDJ}uF#6HJY9M<)Z?fkT<vkxfakt$ghesN!R*yWPAM+Tnd4?6tbL3;k<;bU$BOh$7 z`9v`a_+F1j&onK4F6arMJz%?6|0f?g^0~j~GaGCkX~aA~5$_=1vMuK!TXqk=?MR<a zN$Rl3T~B}n;IFOwo}`pIcS_qNA(T&vGe~ZDy)$s9HgzqvNqRK{@_9+!S#iP5qcpnJ za|W!QGreq{^9P>f@K`Sn53*jIYXRuRd6&|NUa;4}14s>$4&XbQ5{IG-6m)d$S%3Z4 zJlp?bv3a)t#bWae@Y9U%W!ZFg{2`Z`v4}4@KmdFxxs;k}=DaRN2<2SZK=`v@%iy7` zxg@-I`C`X?$O^@>egN6pPp^GetaDiOSw<*_Obzg@GHe<6zR;fV-q_jkbq+tC=jxc} lZ4M21pXYrJ<2Hw={{}%DudkJ|9tZ#c002ovPDHLkV1m^ZGmZcN literal 581 zcmV-L0=oT)P)<h;3K|Lk000e1NJLTq000O8008g=00000-Bp(&0006ENkl<ZIE{^y zJ&xNj6olsr6cD7=i+<oTg4RJ=uNoC@1W?-x5aTuiZ0!k>-cZAPxy@ZNqhL3?wu@~( z@MkzfK9Z;_m%y@$uq;JlR>38Lvq!kkRwF%i8H|I3BT}wN%GqJGaYPu3fMT!$yD%8; z`Hce+0{w^@MHp`VQs?lKeLS&=yt5QLu7iyo;d>$vgAj1+h};)~a?O;h*=#!~cfg=r z?q_?Gt4$jFutF;eT7`iqg3b~C`}Gt39wzy9uYTX&`LQn4DYsg43rx}-JHb=;$xG+E zo7`c|wKe>ze&Ma(OYUv`*17~QKhOOY{)v9VkUz;!^;=6PjMC-QQS5oYM~~E%C&J3R z_3M<&r4R5rhu1mE`}OnG(KPqDVEK!mSN*nY{gPL|ulO<3Z+3cDF3Irc5*IZ43sLV| zEKPGkT!i>2u+_$8kA{OpB))US(#D9`2+J;_U78jbN$P5|z~q-T^vmS8dG8ljzcV+< z^(Mcw{Lb<_U;AC<X3E_xLZmK@)K!*ow$VA7R_ACIS~WYJL#TJkt<awB%iaI+=D)qx z<=+2r`X5gJBTaO_l02V$k8n5<;V_~P;RN3cKKvG*G5Y?1z(K+j?4uufWj+XOV(i0+ zUy{_-tb420dn^CF=Xny=dz<wR=85~`ATbl{V=Ctvvk7dXob;|F`S5%G*#Gzo!bS|h TaWoEO00000NkvXXu0mjfDQ6=? diff --git a/data/tilesets/primary/general/anim/1/2.png b/data/tilesets/primary/general/anim/1/2.png index f8e0ee273b05c91bf8331d030dd45a57317512aa..d2302180e20152da5f4e107a0b65d7e053339ae5 100644 GIT binary patch literal 597 zcmV-b0;>IqP)<h;3K|Lk000e1NJLTq000mG004Ld0{{R333_j30000mP)t-s|NsB) z?(W{+-p$R;y}iAxtgM`zoQsQ#b8~ZIVq#KKQb9pMF)=Y9ARrJB5C8xGL-gVL0005t zNkl<ZIE{^yJ#yke5JvkfPAOkXff7oweS{IPjv3I#7Grq>2P8x71(r!&U~34sWPauh z{<>RQXJ#jQHQn{-`P5KMIHzr-$aLNW3h@B)TiWuKnR&W|*e!4<weij3P&$Xb!ZbvI zYo2uW^fSc81CVSR_q9M3_KVd6U<uD+o~T=*orNFGCNR;&`E7`MhRSmhU@cq<>{5V> zjtp=?h*qfa6YOyS%bvFyARY$sD8RE*s6r3yiEd@tMKV<-@8YNHyZFk}56uAcv{7R@ zHhn%HPeVQ;{KnHrJ^)usJ_;3k+^;?#yrO&R^XaNSpET+7NoB+Da+JD>dkzfAln&nv zkc?}BKr&zXxFMg_kk2lW(|iCp@F>jNcn~n>a3Eu?Nhf%Gj+1#$UT6gPv(EF^Y(zJD zmC<-4kW>D$L9GB}eyul|Hc`C1=J_}xAN53fSI;fIXv>)1)l+=u;Su~l@C=xRXCnMS zcH`FtLynmW`U?kKzbWY}A|)Q9;4%JVpYgxouEhU~g95TqIBAV6NA_qe;sw<AC6)M& z&fOW#kgx7&RZ5p5H<ucqE_-;?8byOMm3aU&nP&&mdH729kh@@Rr3RRV9;RBmzK7MY jhgdB;?6dA6!%}OXFnN;#Wrqc)00000NkvXXu0mjfbU6~; literal 534 zcmV+x0_pvUP)<h;3K|Lk000e1NJLTq000O8008g=00000-Bp(&0005qNkl<ZIE}58 zy>c2c6ov0AToZdICBneaio8I^YA9SJSZwNGL{0GSeT2B)p;5t0WoYv*IR}XCS#Jt^ zqT(CP?A1B<M_O^JDh?Fy`YKaw<-)r{bl`@fJwFnC@J{r@6zJV}Q4Ld3+Xh)-Ny2)8 zF1_#GA#UJCl9td*_Z@oL3$o$al2|P^DrvP=Dee(>HAh?(5m&`!0ATctOTrz^LHLdm zeG`3C+c!}!EuohZ^iqOetAtY>NCA3r1HEBMy^?w*^~Tg2pY&W@yz>1)--^DMbNF7} zy~X#vb<C+3%O`w6|B!ughq!`qTCvYH;<TtDI&L+fMrem`l&>C$ya#dahhiPRk#$6@ z7qFBJ{fq41g8dtx?*a5w)&tiU>-j#e0Q5r6SwbK_&9eN)R(1y<-`>n5@52${jC=ql z`vZ1)ParNg`R@*J7ZZSb*VMbE-gTGW&N=Ei>iy!`9nrM)PL@x;6Z%g0;UnXeJEi5T zI%W;)Xz2TymN05y`H%Oed~bcew{u^*-p6rJEhKgv<Bn2e-t2vpMGeGtT1hNx;9H#l z1InK@X7p%4`PiP@5zY+5135Qie#ZN3V!ZdZ#l1KF59|T?*%tYkAwT2)z<9QW|NJih Y0F`zrZ7N3LmH+?%07*qoM6N<$g6=H=c>n+a diff --git a/data/tilesets/primary/general/anim/1/3.png b/data/tilesets/primary/general/anim/1/3.png index 6c6ce36112378d99917b0093ab596a7e88e424c8..f757f8253ec37f22bd9ad73b7769ee48931d1a01 100644 GIT binary patch literal 610 zcmV-o0-gPdP)<h;3K|Lk000e1NJLTq000mG004Ld0{{R333_j30000mP)t-s|NsB) z?(W{+-p$R;y}iAxtgM`zoQsQ#b8~ZIVq#KKQb9pMF)=Y9ARrJB5C8xGL-gVL0005) zNkl<ZIE{UiL5><R5Jl@gt+^BnHi$WgK@4lE)!8=|$zm34oSa~~w+J(sWyD0_Gvxnr zccM`gyn3>#pY31Oa>-czB}*c72|zlhgdNbTGdR}uxtBhrld3jyODO?Vav#4KJn}fu zjh;H4*133Mi#=)JskiGaN>9DXa_yr=3O~A}JVTan@HAQOy2L$M`g0G60Bz_ZC|&Xk zKo^A?p%$g5_5kzvR<tn>K+SU$z6l<K;vr~%`YO?HDO5=`!zK1|dzS|_ok66_-t{@3 zk1?NEgln<=4yXV1=;+Z;9>24E0N;ju@QOeAT*rL!m=Ak}Jumr+clmUZoZX5&17x@3 zyVxAp$Cn`=Kjh=LV?J#b&wM;O=$UhyE&#uS$H1@XajFjOzRP}!Rqdw|3<BT{@EQVk zus5j;Q1)6$6}|)J6Pbiy^@2}l2ABI`I(_2&6i=4-;`t%(#bZFv(<2Y>vM*rg18^7K zNe;M6nC<6sz+J*D%;hH>Rd{=rj6%4OPr1hZ;XLPYo^wK3=@;v7)_2wmvoWX{*`oHM z1g8Mf2K`bGYMlYfHVauO0VCR~Re8auTZ5y+>W>b86IPc1q~ZT^&i+%EP*(24`jxO( wtQUOxVo>Ig^Q`~O^MB?L^W2Q{tiwG22C9{#8f>OWy8r+H07*qoM6N<$g0vzb2LJ#7 literal 527 zcmV+q0`UEbP)<h;3K|Lk000e1NJLTq000O8008g=00000-Bp(&0005jNkl<ZIE}57 zF^(ER5Jl?>1@fW|rxpg0!k%C~3Bd+7Y9=?DB4!cvIgB=$fJ?17kpHj2YiS^`B_~g< z>7MtytGcC7Rk47@$O2QDn@wbBW}@@*2T-W!0<-$WZ~KKw(>%?^-8Y1H==(B#4OH-z zvZ2rK`G)ZA6uw$@D9w7O;>}iNG%sBq7Upu`y2A?V4hicH3AupF7oudi1uRAuDEqli zpVQ~``364s+jErI0ydriOEp!2sLS-XZ}MHrv_??+%uN=!=0^P<{wepb&oSB2SKs>5 ziui{5VfRtL5p)0aO-ER#n)iTaLhs}zo@3J8gB5f0ynO4QBQZCzA1NUhNRr(%>c`S0 z7SU>@3aG81uaJFruZn>z+qRV|@EoHmu#`*nbt&hns-(Rv--#B$Z2QV@=L^ujUVzgX zz`ucFFl)s)8q+tXZ+y@9f%^xa()U8&3w<AbUoUsY+!=EpxlXx68QDL_`|<=-C*(f= zWUeuCaPvN{@9kQb;b&d$y${vs8{S8>EYPsx9`G1>ppl~kH5;0a&6-G(GG^13-|7sc z?U603yS@dcIcL0D!eV5B>%HH1_h9-)WXTK6X6`TZUgeDa;nzKpJN)N&`3vx`8C4us R%5wk!002ovPDHLkV1o4j1+oAD diff --git a/data/tilesets/primary/general/anim/1/4.png b/data/tilesets/primary/general/anim/1/4.png index cc1f9576c72f3accaa5b94237538e5f26e7d7721..950b885850e4ac3efb411f22af725a442ed002b8 100644 GIT binary patch literal 534 zcmV+x0_pvUP)<h;3K|Lk000e1NJLTq000mG004Ld0{{R333_j30000mP)t-s|NsB) z?(W{+-p$R;y}iAxtgM`zoQsQ#b8~ZIVq#KKQb9pMF)=Y9ARrJB5C8xGL-gVL0004@ zNkl<ZIE{^yF>b>!3`KcbF9v!Jp+GX12E5w>+A)ig6J!r;7xdUIIz#^#Wg|n=HVB9p zS$w9y6|tQ29YxG`K(#f?%8Flvsp}m~6@XQMn%r&F86>}XLiH@2Eyp`xhGWRp(~U=y z9=f@E%SG5zSOBZ?YTRxFBhK>rzCkQt0B+$eqIwrg54D5Eqo{iZQTI%O^$J=&e5T^z zGokB4EY>m1bOUBEEAHh+hu-07K3d0cPaLXe8JLE93iLIf2T$DcLHk2K(dWs=+Zw@a zfl-h@*8sVI0kS{W3ObmEnor#F8TWj$(1xy6B63~^0+yzL_DG^<QVr!Tr>1FI6iI1= zE9&*s$f-&ArsU8TIOEzmVKcWkN!W1$iQR8ad%<Zj_hk8W&x_pLb8%<^KYREo(C)x_ zI16Wz8#V*sX)Aoe0oO%x!$A{*+Q<0c|6*m<<$sa4^USP;9n4x3k&P%gT05X>7o}t6 zt1K`&@S1WD8&%lRfy6=x2Nc|52UNTknL>Fv=5TP}HJ=BKChV93yHuZ@=ReP()^iB@ Y2BUktpiraOm;e9(07*qoM6N<$f>`A7KL7v# literal 461 zcmV;;0W$uHP)<h;3K|Lk000e1NJLTq000O8008g=00000-Bp(&0004$Nkl<ZIE{^y zy>7!W421Ox%GNPN9m9K`z|oSi1!(UE%+3xF=s5~x(cAV;sekIYfR_(Jj=mEq%8B>h ziDZa(M=wXBB!vHoJ4j;yN-|JEK<GQbEW^Z|K)3db@GE*LppJf>*tXwr09xku%>cjt z%a7r}T}}kl`zN6p$So9p9mBITDvW8T3Cr9WMn9uq8+~**0_t?&w=G@D36r0GIMIfY zV{V~{9I>3=-dxGp(}(8swXiDMS3l+aQ1UxJHH^5>=bSy~?0tq8+%#@sHNOI`Y@t~6 zaTAN{K9qv;K2$T1TN>;7e7<IQ?g3n|2Q5&>c`nEeDJ2&IaSq8{Q@D<}1PCFx2h|zr zd<7_^2f;d+1bhKi4i&(<cluSds<!-UY#n}i`hC-{reD4AOX)SYqCv&nH`aO9c}6~_ z;<1l<#HD7gJR|>kZ^u9HZG0N5_px<vhLQ8S2~*dr^%IQ$nQN%dfJi{V>H?a91?g!e zF-9CCLn3dhoG|SH)EN*72=PY5jEFtRR=f9k*ZcSZj28dEICzZm00000NkvXXu0mjf Dtz_2$ diff --git a/data/tilesets/primary/general/anim/1/5.png b/data/tilesets/primary/general/anim/1/5.png index 3c0c57a86bd76987481efe65890d92d5d9bef2b8..4de7d4225e19c73497900fca6f776ef6a4312320 100644 GIT binary patch literal 538 zcmV+#0_FXQP)<h;3K|Lk000e1NJLTq000mG004Ld0{{R333_j30000mP)t-s|NsB) z?(W{+-p$R;y}iAxtgM`zoQsQ#b8~ZIVq#KKQb9pMF)=Y9ARrJB5C8xGL-gVL0004{ zNkl<ZIE{sqF>b>!3`KcbFGYF|BY-=X2E4}tyn0cx<_Ll1Kpu-WfPIGkPf2OeA<;lQ zi_{nOCCi2pmu;1$073@FSg(Tk-NhIQd(99OQ>X!e<f+btdO+L7w&8Lt&_jmM4n+rf ziF4m620=ptRc<0p<d%UDi7NX$3<g1Nj*SA?pSJx6K||{j#NZCnna)hGRR_^KbOw{~ zOc;y&xSqRrGCNI>`vI5-0PJq%2IkLg`0o$T6ld26&xAIH($A1}0NQ08f);=Nbl}vZ zKd$)WocXgt17!{niB7gVtOhf#iAfwV`IBu4E*k|`Ho+kV-WkAFZQ=l*4FOa23R~*p zPle&f>P^N1{tP%1_~`)_z4w44az}#YJZb<Sba<)!X~FwRI;&ih&Q7jLXD64Wb9$!3 zZ}vo}MuVhNL5HOy1wC;mU(kToyKHYZv!D$mPdL}h|6;TM!t6BIGB9WNwa{yE81T85 zwg5r~Mg>^pRT5kV=9JF{<-JOc5vRJ5sQ^L-#t5*;HVAbF=Byu-H~Ag%^@alJ9X`J2 cSMLz?3ub(`ZuAs8eE<Le07*qoM6N<$g6yj6r~m)} literal 460 zcmV;-0W<!IP)<h;3K|Lk000e1NJLTq000O8008g=00000-Bp(&0004#Nkl<ZIE|Il zO>V+45C!15f-TXi%UJmlN9Y#3$u^S1-jdxlkx<T2#3r}xdyZ*<2DQ!N6N-m7_9PL7 zOA2BN0!3-_N=~H4JyIxrgEpfUj}?gtPoVtBYm@|U0!t!!mInq#9Z2YyhyRJGdQT#V z5hc;jb*BXDHqNs-R%>Ev0>4|{^{o*wmk`gqwR6PKAEgfNh&p$`f2#vm7aHaj^5U?y z%Ei3D)EB$TY`Vw3ndg1~dXCBs+*&u|P2xTeQ@qa4aevNX&ZyHYQ3*}pN?#|gGYb{_ zHjneeAv=H+m*Ddl=lNlDwZjlGx%?hrRmsNyMvc*>`AxW_CH9@zc9Q90$v*vRagVgq zCG!qYL9CU@?k(#8#EG_(6wE7`S2AzAmbWW3^EC6$%p-R9n0M`)_gAuS$-Zx_Q>;_E zv@7R0GllFw`Kv%nocGE1wvgwt_I<29H-}3C!NdU+ypjunk2Y|%zX6K`PtYZL!dH33 zB@HnRfiezep~>$-GY&UkahSi$F)<MM@9*-L@8b*RPz3=&7efI60000<MNUMnLSTX* COx2_S diff --git a/data/tilesets/primary/general/anim/1/6.png b/data/tilesets/primary/general/anim/1/6.png index be5ecacaa10e7216288bc09f2deb74e367c51cfc..73c1cabdd22a140682ce56d28dfb88e7c57661cc 100644 GIT binary patch literal 554 zcmV+_0@eMAP)<h;3K|Lk000e1NJLTq000mG004Ld0{{R333_j30000mP)t-s|NsB) z?(W{+-p$R;y}iAxtgM`zoQsQ#b8~ZIVq#KKQb9pMF)=Y9ARrJB5C8xGL-gVL0005C zNkl<ZIE{UiL5|xn3`KcbZ-VJL+yI&N(17<b0ngGKH9f|_c0ex&ofg&^`afj_MHk_M zc!}sQQu>mdoslKyynD`D1s5l@Ex_|HUptrV+Zn|RU>*7bt{U(}r)>}LuJa9`zThL@ z0{Q}>v!Mn661QOi^#JW3-~p>f8H*Q6$fd&X0N0|^QAc&r&MpM#*cjje(S=<Po%Jex z1uZ)7@?|lX%DL>mRPfpl=hB!+&P8!S8!^`+U-f*L5wD_U_ql@CeyWZ=&S!plKAj!s zbGEU-cN?*Yxn|yyS<Gd=n(Pn@z%6a9d;8z{*ig>L?79<1w>QAb;a@Y0*EigpjDVH^ zjXCqWn<g<DKyymXX_Dpx@X;hm@ehG{0yOD{@*k+d&r?bSt^x9XPw7Vgl&?1VEIL2s zUjDhsz3AMY>97|Dcb^JC2R$`a=SA)ln+E)W2DH9OPV8^WYy%sFji0}Z;%8*~IWljD zuovJOz)TqiutCkb3M%>l<_-`U*Ag%k;2Hq$kkJC#3trS*A>P*k%rhV|{X@7E;2IsJ sho6i6bg58%_^+R}`dO==4<9an0mM?gO7=%?7XSbN07*qoM6N<$f+G0--2eap literal 480 zcmV<60U!Q}P)<h;3K|Lk000e1NJLTq000O8008g=00000-Bp(&0004}Nkl<ZIE|f@ z%}&EG5QO&?T=650Sv86J7!+S}1Zl$^$>vO?;OC&~#c#`u;}(eqgt&Z4z0;Yjy^c7i zD$cph0xeK?D^8mkXh%RJ*3_}u5GtAy&<16plNTZq-~CdeUkIpn@q`t>g2olUhJFoo z4SzyxV+X{SiZ<5ViMTG|Py?tIXaTsA8(HnDq@arzeZ)Y&U=#f82|7aU8P)a-eUux6 zZsuFfU+>4<nUUAT%|)(OtmXc_k2k(mPiRGF#jn5EzhKCn*}^-~&oy^Lu`A+>+|sX! zX<Lz0)5`uq*DkrOJQ0be%l_FoiP<woz+O2AZ%$ru%8&q#BapNAKt4*|0iI7Dl<fD! zK=_O`A|D6wyX>h02EsoKa`b+nZV<QGdU15Qqu-WK+cm#E!m-}a@19S4`t85_)!bZi zPkzk3qR!RGfi2{UT`vDPu#W?CKbVVF8TrF~<8Cx(@M`>eKQ=@;H#5wJnT-o#LFBn% zcu$DNQ#Dot5i0@_V~~+B0{2>hG%e5q5J%RZvCKhYwXdIof<D#xn}}r&{&O#Xz8{|# Wt^g&Qe)|~!0000<MNUMnLSTZ<y5Vd9 diff --git a/data/tilesets/primary/general/anim/1/7.png b/data/tilesets/primary/general/anim/1/7.png index 85bc7561a265ebfe3063abbc8469ed5dbd6a4537..827fd8b740de1dc9fee739e4b3420409e0d75a45 100644 GIT binary patch literal 612 zcmV-q0-ODbP)<h;3K|Lk000e1NJLTq000mG004Ld0{{R333_j30000mP)t-s|NsB) z?(W{+-p$R;y}iAxtgM`zoQsQ#b8~ZIVq#KKQb9pMF)=Y9ARrJB5C8xGL-gVL0005+ zNkl<ZIE{sqF^=0X5Jl%KF1FcQsbFJl&Y>79*Gs|bEh0*hLJhI~df`neNP<UYDvM{x z|0LrCLEyMB9z4|Z%;!i})o|4%NB~_TgrLj!HN#uA$O4!TjS9+@+Ox{4b*HLl`Oww^ ztlaaIC1H`du64Pt@JzPR08gWU<gxSwxyBlV7XV4-_r~Hwuv3CBmPL5nS$SUQpo?JX zl0)+Be|x4AJ&r&R;Xn_7GwI~I>`4HR`^vd2U9#&q7s25vxPHMTGa=?P<DXJKx4CjY zP4vurVd0|lQ8>zU>TWO!XPORO&d2^EpZ%Zt%xSLWy>l^^<>b%_;kwh=aV}&GN^^C2 zt^im0S3X_N$GIcoJy|^c!kir%-RGRgutra%3Ca%*LAKtT!uLiD=v#!r`2JxFFcEs` z3B}fn@1M5bY&@RgalesAj~Wz6Y%s+u*Cu&_{79ZpG9=Gyf&y^I!(P~vuosfB7xpB> zgTYS*p2Dz5;l{)DBnk&yoNF+TY~z3L1^1cnMcU^Dr$W4U9*_5h8uz)yrX6kV#DQKS zIA`l!dxKhP!m+i2a%){_@f45anm*%7xV2It@Mj%MDJ%9vz-u+WRW}%ABs^E>XT+%z y{ouRG{h$U#-b1W$+CzfP`<!9Qd)VCBL;Dl_Rku&M9gcVa0000<MNUMnLSTZNZz>4@ literal 521 zcmV+k0`~ohP)<h;3K|Lk000e1NJLTq000O8008g=00000-Bp(&0005dNkl<ZIE|f? zv2L6|5QgU!c3q`ptp!o~ET4NsL*c?i13f3k^<iE1IbzXlac||uh2JIrU@l4)E3(pj z5}IHC&&=$Qb<U6h$r!UDQ@G4bWZl@(&UHdp_@-+`c4LA2DI<Rvpp#p`xm$%$>KB3| zKaP;(GSJ|Fos+HKjm;>#ve217{0wxtKnM7{K_NN$?*a+`l{+W|BoSGWE0Wy9Z@+v$ zDBzbLWYY(nju$^(kt<xzEvl?@;YaOP=+r`YVp-u8&Lh%(<aVFr4w}22-`D%_NBH?3 zR_%fUer@7+yv)xFWp^!8wr7typEh$&a#@x>v|o=_+mC)Fq<#3kc<h6deS~#>Iv3_% z@dUsA2uWcqO%B*OV`#4HND-u1Mj!%>qHbPhRO3vqb&Pbbn@A6e=51ckP;;K4i|;^P zzbhgpUPdzN_f7rEctPq{;pxH8sMSwJrG8cFm*kdjv7z$3m_p}N=QMKLN2PsKn){-; zmR>dTU-xEFz0BpS_tD{H5`!2quNW0Fa)&DLLzt<@H$5rFQ@3EGvB$#{4x&2`3dUxz zyZ}<r(_K&~ToEQzft?G1p7D+U1B&};K|#gy1YJnq!T;Um=lAgo0BQvwlLFG}00000 LNkvXXu0mjf0dV+i diff --git a/data/tilesets/primary/general/anim/2/0.png b/data/tilesets/primary/general/anim/2/0.png index 6f9f0c30930c243896b6e540a0ccb0a9f9fe3ca6..80c99c47397b2136d322cf4a56f9de8efd8b841a 100644 GIT binary patch literal 259 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<6!VDx?zobtBQU(D&A+G=b|9|)H-MxGF&YnHH zckkXcYu3z}GpD<|ySTVGDJdx^D9F*#(a_LPK|w)40AzymmxsTARG+7dV~E7m+zA(X znH71Q_cFY(Ka<<AGLNB;H7c*IO~r0y&`*Zb0>3#KcDxg=_Wfk49^fg*-q_D+w#Z;^ z?PlE`fgW}HN0TDfwo7b_3E?gdJoMp!T;DRe!0(eM`fXm5v3*TWeq>gp*4z4uO{b0> z4W40Bq2BMx-d4|ay{Z1R-3poe?p)6oR%pm|wLiM}Lww<@mq*S-f4vTL8H1;*pUXO@ GgeCysS7~4X literal 194 zcmeAS@N?(olHy`uVBq!ia0vp^96%hv0wfrYc($DZQk|YIjv*3Lr%t%b%dE)Ly!lXJ zEQ66l=p5d>|A`5WF+RUOhs2&ftgh1Y*5%IL&g#}54hj4|ENlyp_~n$BA6y)Eu+V|w z@M|{Z2@#LnL|!KfsIPId37wwlU;U@!&7%0It>1O)1Jcj17H?K5K6uC9eraBS`Qykx sY1x1N#ju1Ig{~F3$rb+TyutOqe&_Co{5!&NO#$RMPgg&ebxsLQ0M~p?e*gdg diff --git a/data/tilesets/primary/general/anim/2/1.png b/data/tilesets/primary/general/anim/2/1.png index bef1f3023c9d9b6a48a309ae02a182243313995a..52051f056bf2f943e6cc5d01b65f9e9cbb048ed3 100644 GIT binary patch literal 293 zcmV+=0owkFP)<h;3K|Lk000e1NJLTq000mG001Zi0{{R31@vc<0000mP)t-s|NsB) z?(W{+-p$R;y}iAxtgM`zoQsQ#b8~ZIVq#KKQb9pMF)=Y9ARrJB5C8xGL-gVL00026 zNkl<Z7?ov^F%H5o3`M`FFVF)pK<5m!td&ZeWA_GeCPtFGV8?D5uoU^rPW)dC05LAm zh|~0p5uh>DcRvAJD4c5rJqq)_GiYXwB%LN0TXC@-;&zHpK3b*KKp|PBo9z-VfwPIL zzoJv9MPV~dDZ9JOa<Am>GW@{EKaAHOSQng!X6M0LCCLXt_gd>X=n}?$&?V?vG_i+? r;-c|bMR*#8@+fjp9yOI?JW<MDDoDj~%}{I200000NkvXXu0mjfE`NEv literal 243 zcmV<P01W?$P)<h;3K|Lk000e1NJLTq000O8002+~00000#7TzC0002GNkl<Z7?q8X zF%E+;3`PH0l8&9?+<;>TT8S0t;F)&l0k}Xwu5DB%Ds{+{qkP*xA0kqqXN1&=AuUJL zM<mpq2rV0;qTEF=4y7Pmml2dg05uJPh_ZopbS8c|F3GM@=W!;iy$;=&61MkO{0FLu ztJ!cv4&Tup@ax`TRnEyO-K);L^4GLWZb!$;$>ym}x<LB<XRsh9cqHeB^wS|sGnQF{ tC`BVV(?tUxY5epT%^#aTl_V5x`2dA@c~MLj!bJc8002ovPDHLkV1kLsWC8#H diff --git a/data/tilesets/primary/general/anim/2/2.png b/data/tilesets/primary/general/anim/2/2.png index b5d7a9ee90d5830a9c130ca91ada45f3159dcdbd..39c6e2f873dabaa99f30db8bab05707e60487d0d 100644 GIT binary patch literal 303 zcmV+~0nq-5P)<h;3K|Lk000e1NJLTq000mG001Zi0{{R31@vc<0000mP)t-s|NsB) z?(W{+-p$R;y}iAxtgM`zoQsQ#b8~ZIVq#KKQb9pMF)=Y9ARrJB5C8xGL-gVL0002G zNkl<Z7?n+syAH!33`ITg1CX^DFf#*mtRl4uYri}&bv6G|n@1E&2}d`Gdk6qPN^gL+ z$^fV%A_}Bntab=$H`@=j2leq(Y9&Z^%QC!$2H=3*&csa6uSTHI_e6ztKwL|QeJ1t- z-c0S2&*xbr;Zh=Q*K*#;T?<Kabrnc)YFuJryB#R<>M&G;`|<_tf?7MdGP<Wrx1Z36 z-+4?2njk)v*D5}uqltaQ-LC8t*@vG3T$K;=$bScjpmY^%nxg;!002ovPDHLkV1kju BeGLEr literal 262 zcmV+h0r~!kP)<h;3K|Lk000e1NJLTq000O8002+~00000#7TzC0002ZNkl<Z7?pjH zF%H5o3`KpGcx6g@a#pt>Rg5%4=OjZ}NiL8f_@{t?fk=Id)Nkk6)LIkLPf^E(n)pn0 z$}`o|$|PxaB%T%L)=2bFjEYo3q(dw#S!0--o*fc3JS9|Qpj?=0Tpd-vDVEJ@`^|k+ z{6|eFOK30wU8vxV`}>WBUlptv28$cRYUsEA*Y1(2598-o(=oFSo$eSvJ{N(Nd}v@m z<HM0+DS^T@$i4^>UCEEG0SYwK+tC8QF@O0v_!;;W9+2anvzoiP2WxbmPG7-P8UO$Q M07*qoM6N<$f<s+xDgXcg diff --git a/data/tilesets/primary/general/anim/2/3.png b/data/tilesets/primary/general/anim/2/3.png index 42a953a83d3d07ac0899888d4fa4365b870ba825..abb5ff362e5e59d515681f562a14385fac10be82 100644 GIT binary patch literal 320 zcmV-G0l)r<P)<h;3K|Lk000e1NJLTq000mG001Zi0{{R31@vc<0000mP)t-s|NsB) z?(W{+-p$R;y}iAxtgM`zoQsQ#b8~ZIVq#KKQb9pMF)=Y9ARrJB5C8xGL-gVL0002X zNkl<Z7?n+s&2a-E425-Y15$GH<{;RceKDqh7^&-|gOxj=m`G?3VdlZdL!%!6093yL z))@=nqAI02=-68y#f{oZK?kYAhzQ#KPB-(AC*RE+nqDnoYzbq%g!4$}^5hft$Mu9k z38P_x7f5JKHW%RSINlMAo6R{vD|w#7K-y<G4x>iGH>hwXR4tf|^;f|k{PoPTzZl8K z>8&6$fQV1pYmB_;-zO~c-OiN|{h${>@_wR#YXVoa5VQ}xhd>B7*B2-gh5i6Q4Q}3$ S?e=^C0000<MNUMnLSTY3R*GK$ literal 280 zcmV+z0q6dSP)<h;3K|Lk000e1NJLTq000O8002+~00000#7TzC0002rNkl<Z7?q8X z&2hva4254W?!dT%q-%*y0W5p*-WKT)?=3+Ma3BI_Cdn<#@QntZexA^KC-`-=0g4Ya zDjAIngOUg+UKRA#JID`M3L&Q`5HW$88LZv|_7DOn)6)?TPt)C_+ktjf$K&>N#EKTP zAq??9&{z#EtEXkVdja#xr5@n?;fTe%vHzYKi(}i?5iN_qZ8Mss)>A?x=C&^4m3dfA z8J&6B=kG;~l}t1CYA?8`Rfws&^HjW>q;nBOzLK9wtvbZ^04)}fKWzusF|O9%^I2V| eZuzTwpSmwm!_VX|uNmF|0000<MNUMnLSTa9_IZ{7 diff --git a/data/tilesets/primary/general/anim/2/4.png b/data/tilesets/primary/general/anim/2/4.png index 112b2007709692d0df589326d9526879e6d6188c..a7bde983714b6a9f682c19e0870a7a381b956adf 100644 GIT binary patch literal 281 zcmV+!0p|XRP)<h;3K|Lk000e1NJLTq000mG001Zi0{{R31@vc<0000mP)t-s|NsB) z?(W{+-p$R;y}iAxtgM`zoQsQ#b8~ZIVq#KKQb9pMF)=Y9ARrJB5C8xGL-gVL0001_ zNkl<Z7?pL9F%HBq2m~qolDJJ3D09-u@cWP-_%T^9x$Z2jJ=)0YB}7DKU!pu?5jE^0 zR)$&{=_DK*$CuHWJ)ocN3G55>T%e;sjs?xiX(F#<{T~PdXF7Ub*In1=oOmK~u6k=u zCpC+}JNs0Px0u-AsM=Ibx6a7HEIBEhcVu1g`w2<dz1D*0gDhu8pN)5i&}XoRaHa2| fECzj|>JfSX$}@Xe&aH-x00000NkvXXu0mjf8W4C$ literal 232 zcmV<E02lv>P)<h;3K|Lk000e1NJLTq000O8002+~00000#7TzC00025Nkl<Z7?q8X zI}*bn3`BJoZeV<S!DJ?sk}J1x5(=^l&bLazn*|o3m5eb|uz*e|&|kpHL>0Y_L4`9j zUZkfwnoD($Qeup>IB$z+%77gOrJ%YQ6-rG+n*YFhVJO;Jbe7TuY?EqP{jC=P*!PVp z1f1<t%~IR4tT2XHJtd|zlR<^}=^6w_GQ&7yrB?k){tJxc-6_0LnxFV1J3p%DH3-ee iM}O|y^o4KVefl1ni^FLQm=b~j0000<MNUMnLSTZd@m;w9 diff --git a/data/tilesets/primary/general/anim/2/5.png b/data/tilesets/primary/general/anim/2/5.png index 7f58c0b945e5c2c10c0147ccbd384139e51681a6..05f88d81e81b39ba73ee3796cdbb0e21958d195e 100644 GIT binary patch literal 261 zcmV+g0s8)lP)<h;3K|Lk000e1NJLTq000mG001Zi0{{R31@vc<0000mP)t-s|NsB) z?(W{+-p$R;y}iAxtgM`zoQsQ#b8~ZIVq#KKQb9pMF)=Y9ARrJB5C8xGL-gVL0001x zNkl<Z7?pjHK@J2V2n0F!Bj&g!o8a#UegJ>jZpSh4vLr1PG|(s_GR9YAW`;-`rk5!S zrVJGHQwV7`bK#~h(5Q5Gz|1H332lSL3qAiqF1YWQ;GUTriWm3loVka_F})tJsAYb6 z#yXMQYcI%>Ufg|u!X%u&;sN?$->M)a0DiQWQ=;$#(P2-DAC=S(sSm0+Xv_rr00000 LNkvXXu0mjfyvA#M literal 220 zcmeAS@N?(olHy`uVBq!ia0vp^96%hv0wfrYc($DZQj0xZ9780g_D*o*JEFkhYT12< zVXv*)<Qu6wCvrb$mVH~~@hfST`lp3krwQ35WG!EMH)B<-$?s5)-wZwt=cATrY?AI; zxMD%vgDCAMhonsnnPX*|g|9xfFUb4zz<24pZ|AcsnUw>wAE|$<*Y&&T71a1<<AjVV zGnc76y+6L`910iuq&@q2?}akwPS+Jls_B=4m@3Y)xow`qZ~Xe?>4hE@du;9QiO=nx U($(wXeHr9zPgg&ebxsLQ04%*)L;wH) diff --git a/data/tilesets/primary/general/anim/2/6.png b/data/tilesets/primary/general/anim/2/6.png index 784a543b4eaf8f0c9ba1fdf61399fe7fa2d668bb..01f9c203ded54b8f6d2e5ecda300649bb6b60b8c 100644 GIT binary patch literal 249 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<6!VDx?zobtBQU(D&A+G=b|9|)H-MxGF&YnHH zckkXcYu3z}GpD<|ySTVGDJdx^D9F*#(a_LPK|w)40AzymmxsTAREwvJV~E7m+6jhy zhYfg`EuSRH?)i4Iw(-f@#b2fe^yIMU3NUTsH`1BN)?gUda89V8=S)81d7-}YUG*#v zr+hrNH2nnY!t|QFdjitW;-9izOfU;qUF05dKIyY*$-U*r`88aby?Zt@YZZk(`OB&F x?%pm1sVC1@UGV>U_S52hPnXXrI?Gze)co$8N_{l{RG@npJYD@<);T3K0RRqsW_tht literal 203 zcmeAS@N?(olHy`uVBq!ia0vp^96%hv0wfrYc($DZQj<Jg9780g)=seIV>aY)u{<5H z%-GJcZ;!4k-!@js4STaSS1bJFJXw=Ap`+lTvR``(bCH~ZldsIS51j((9C4g&H>?w{ z37c&wW#A0$dsQrV(XFif&+)9=8{bDr$a;ObXY@EuYxSDC+n1ILUsf%dA@}XIK;<NP zT^-HK4BoE<-r1a-oF)=<y6~Z=d=L<NM_sLD)ax&p7x5@X5adcvS3j3^P6<r_JEKX$ diff --git a/data/tilesets/primary/general/anim/3/0.png b/data/tilesets/primary/general/anim/3/0.png index 2f8bb49b69ad22a0bec3ba10016aa2cb5d0e6fe3..e307d81aa7552fc80c4b32c27e171dec42937881 100644 GIT binary patch delta 182 zcmeBRJkB^lvYwfNf#Dv9S_P0Y2=EDU{r~^}yLa#I-Me@8?Ag70_pVv9X3m^B-QC^A z#l=ZUNkKtDj*gCohK33X3IYNGKuykH9{vJSL7py-AsjQ4cW|@ta6IA>NKh?fW^4&y zV&Z5Na9*+d`#arDl?jh@Zlr`fK6q<a`TKi^FBDe!vpegv3pjL$%htY^xW~xYvZGq+ isFzXa?&XdwK(nt;%R4c<+M5?>JcFmJpUXO@geCxB%}09x delta 118 zcmX@k*ugkKGM@nm&g|`+2BiEwT^vI=W+n$PF|n~E@~}j3iYqh-ls7UsDI5`aCBoV| z;ViSTTf*ePUiNJ5!otEd4f8_1bPaYU4#l`QjS~tSECNm^S&n)cajFUnFtRXQEefc* Slq&xKWQC`zpUXO@geCxQ8X%eg diff --git a/data/tilesets/primary/general/anim/3/1.png b/data/tilesets/primary/general/anim/3/1.png index 5a2744a665d931bdf17bcd8e2ec1fc5cb8128e30..df6aaf3bca791269a23a11eb4e2d4a20c43f97ec 100644 GIT binary patch delta 197 zcmV;$06PDg0oDPK8Gi!+007<yCU^h<05DKYR7L;)|L*SY-rnBL&CR{Ny{xRPoSdAC zi;Ht}b7Ep*Qc_YuK|wJwF(4oy5D*Xm002Yu;rajo0AWc)K~xBtrOmqyfItibP|rfk zq9-9S46U=lg$+1r8g2&i5fo73;uVo%qgjw_s!)AFg8VX)13m@|7DxRSAH{;B%pKj5 z?ESnqob^Eie-kH~CsI(Vl&q50Y7YG&T73Kh2tjVkqULS-00000NkvXXu0mjf$2U>~ delta 137 zcmcb{IE!(DWIY2AoY~ts4M-(=x;Tb#%v^eQBX5HP53|Gi4<=V^qy@}6qT3vuPA%H9 zpL@PbfJ0}uw$f3zw~j{L4o_G)Kb`h8+aj0K_e0li4g2D^tV`8ro+`+<INi+hZ<(Ko o{E|aqTi0BQx-Rp}dCQL<tV^y1l;{7s3bxeK)z4*}6H`JH0FCB3VgLXD diff --git a/data/tilesets/primary/general/anim/3/2.png b/data/tilesets/primary/general/anim/3/2.png index 0ddf1cda70a7b04241702d3a45c81dd3a638bbd9..560f89d0663a832552f94a0ca3d03304d26f7e25 100644 GIT binary patch delta 178 zcmV;j08Rge0mA{18Gi!+007<yCU^h<05DKYR7L;)|L*SY-rnBL&CR{Ny{xRPoSdAC zi;Ht}b7Ep*Qc_YuK|wJwF(4oy5D*Xm002Yu;rajo08U9nK~xBtW4H?h3<%;35Fin| zfq)odllCShByRWa-Fp~1PVebp=l}u;@uH*e9m6{yfDrfIy(>kw7fhT5y8zW0K$Gq= gC;<V5#2$zp00?4nCxi00i2wiq07*qoM6N<$f_sogi~s-t delta 115 zcmX@i*vdFTGKT>O&g|`+2BdsET^vI=W+n$PF|n~E^00Wca0>`H|A_mzxBG~0VPRpK zhIyf0x&}KFhhkiu#t8)u76GTg0FIk+28k?XjH`?r)HDt6urhIRrgz9PEZOQO9llQc PHOPEVS3j3^P6<r_Z3`hk diff --git a/data/tilesets/primary/general/anim/3/3.png b/data/tilesets/primary/general/anim/3/3.png index f3fee847008a2125cdcafe2bb25349c59453a353..a8db289aee32410c3bb2dfd1d466e549536dcbe0 100644 GIT binary patch delta 174 zcmV;f08#&f0lxu|8Gi!+007<yCU^h<05DKYR7L;)|L*SY-rnBL&CR{Ny{xRPoSdAC zi;Ht}b7Ep*Qc_YuK|wJwF(4oy5D*Xm002Yu;rajo07^+jK~xBtW4H?h3<%;35TFyg zfq+2?2p}w+1XwY|6jY<YvfaCP?_uaTy{Chr0|+3*i;li`3@7h^07Be*_ZHbLU;<$| c#RSMa0E_x>9&iM6SO5S307*qoM6N<$f-WdTn*aa+ delta 112 zcmdnb*u*$NGLr!a&g|`+2BbVaT^vI=W+n$PF|n~E^02&U;TABs!^*_Lt<D(6W5{|{ zV?$17cek<g&dy>>XG;MGj*p+59N8Qd8U(tUoKEC13Ui#+RC9R7$e<`2pfYo_ha|{w MPgg&ebxsLQ0PcVwC;$Ke diff --git a/data/tilesets/primary/general/anim/4/0.png b/data/tilesets/primary/general/anim/4/0.png index 90dc0bc0266cdec32412d0d4b306341b6544962c..ba160b63339e52284236273f352cb60bf8344e84 100644 GIT binary patch literal 333 zcmV-T0kZyyP)<h;3K|Lk000e1NJLTq002+`000OC0{{R3oZ@8!0000mP)t-s|NsB) z?(W{+-p$R;y}iAxtgM`zoQsQ#b8~ZIVq#KKQb9pMF)=Y9ARrJB5C8xGL-gVL0002k zNkl<Z7?l-|L5{>A3<S}NhoQ*V`6$tTAclM(IHx&HXij?@!5g-X1XkmcyB+dA>!WI2 zwLa^}m^1yT;qjVx8*5Rkg}gAE7J_9>jC`*pQc&ADWYgZ@S_{H2+sy!6<>vdTY;5*i zY6S4PI;iOoPJ+EnpgV_e9S#ue1aRyPL!<$L835zO8l<hlK?dmr`k{17k&c0xIBsCV zYdfn?z`@iIxm3HoQ+&a#*PqC?3D2wRWe$FF(@K!r@;d~7e9I7`NTTKn&zKT(KEGq8 fsO65{2$KE*h8Wih3)S6=00000NkvXXu0mjf{fm== literal 304 zcmV-00nh%4P)<h;3K|Lk000e1NJLTq000O8002+~00000#7TzC0002@Nkl<Z7?mZE zF^<I`3`FM&px<qUNvf>^xj=$*fmOKZZ&Ad-qAzxwpW-P7dl(Pu>338o9)HdYHbZbu zusG*gx*z*%m{b$879xotX7)*9pGXk2c3l|bZiuQoQ5<9~3nVVq;sU%-ukl0cV_<Se z<yok_mD%tjVj}W}chnVa<&)xl|2o(o1cN*X4aqPC-|*2y8%1_pY2vIrh)Nv9Tr=)k zH%z9NH;!qdibkSDmL&<xop=SdeCnBSY0MOuS6p(OXwjrrB`l3wxgfLZ5VID|RW?IR zs3WG|Zu<`0T$uhi(X<Ff&1q(cw<USMiD9{n(fU77182Bgwe!>f0000<MNUMnLSTYH CpMY5a diff --git a/data/tilesets/primary/general/anim/4/1.png b/data/tilesets/primary/general/anim/4/1.png index 4459a94e54ebd09eeb29f73ae09ca0be4c6b80b9..48274c9a0af3a4c6ee32b6a38e05e3f62db8f951 100644 GIT binary patch literal 341 zcmV-b0jmCqP)<h;3K|Lk000e1NJLTq002+`000OC0{{R3oZ@8!0000mP)t-s|NsB) z?(W{+-p$R;y}iAxtgM`zoQsQ#b8~ZIVq#KKQb9pMF)=Y9ARrJB5C8xGL-gVL0002s zNkl<Z7?mxMF>b>!3`IHk0$pRELy)Pygi&y8E-IrJFeP8WlBZ6Qz9w&hbcT{aH1LD? zPy7VQEiGh`R767Vt3x~IVNA%TUrVZ;=V6jWuA@cq3i{qq-O-u(8zFA0Tq3L=J?K~M zm;mhl(E12waNZ@EKK6o>c}k#7!4ex#jKee3H&{&9CF0K#K(*V5Pi6ReLrDP^t&0=` zR*6Y><U8o-r#T-t8*q=?3%stnwStp~b_z0Uw1MyUBYU!_i;EIe$JeGrR%{}X{+YE` nBUe4k#cj`OXYt2i2J!q4>$b6HjpHl-00000NkvXXu0mjf<fWDu literal 311 zcmV-70m%M|P)<h;3K|Lk000e1NJLTq000O8002+~00000#7TzC0002~Nkl<Z7?m}U zJ#ND=425|G8QDCEa;8p}asgZP1q$n;=|~v9ggXTp3OH*o;K6;g)8&JH9v>e`WvqHC zjw||f6;o&M&MCF7R$S}%sS$~kBm<F|LV`~9$1wc@s<iK$QV{8Z?1*o<B@QhUvp(rz zl0&ESzEk6dLKXXhU%nbH^xzOl@2MmGk{juYmR!{{5}>R<;0^qb$RCL2A=%c5EED(W z(cIpcf{;E3;8hZBuhLOteyKyPL_+{_fJ=^m^uWa{{JuwI(U5?v`3)od%xV!iqiqWY z^bTUSXo0b&WPwt|8zw!l(}sZ|Mun~!A(t~L<Ku3y)t&p(`48ZDja&J<QfmMJ002ov JPDHLkV1hBui68&~ diff --git a/data/tilesets/primary/general/anim/4/2.png b/data/tilesets/primary/general/anim/4/2.png index 389875c31c4109f32c8a5197659497ec080ffed7..9e1f98c1bccb9e0787364ec2bf383d8ec1cdcd17 100644 GIT binary patch literal 342 zcmV-c0jd6pP)<h;3K|Lk000e1NJLTq002+`000OC0{{R3oZ@8!0000mP)t-s|NsB) z?(W{+-p$R;y}iAxtgM`zoQsQ#b8~ZIVq#KKQb9pMF)=Y9ARrJB5C8xGL-gVL0002t zNkl<Z7?n*>J8r`;4CUYx7@dMH4KyY39c)2UkdxZzQe-MEPu(PW2r|W@hag)ZouQ;U zq#XG0@ID|2{gCW}7$Txw@^??lw3Ys8mc-Z%VSNby3eaat9!EBgInmnB55rSie^$om zlc&N@1fTg%D$s@8VWx&|wg`KNN>ICa6>JEm%u1cM6pdCyPg{gHhXs#=Hzja|RgC7N z)+HE&Elmd;qu>sCwG}Uz@8;jUPk)U&zFLa#Wt_5l`MSLeB)IV?)g6i*pfs`(fHN&~ o7M4}<Tej0v-qekAB?6fC7jY$$R5q3c6951J07*qoM6N<$g3jTO$N&HU literal 314 zcmV-A0mc4_P)<h;3K|Lk000e1NJLTq000O8002+~00000#7TzC00032Nkl<Z7?nNH zF>ZrE5CzbG1&}-Bf`L?43cy_|U{ghDA~>m)YP4_%oK!2PiBd(JfP(zNj+>`lG4po@ z^j+Mbk0i!hv=`J-qDYNmugYuS$;h26QMtB6DCH44#}}x6&4hIu>$)g1=Ni&RkmI?4 zWa{DXC0E9EMIJr(h$ZbIlRO}Z?4VOtvgEsl4j)ItCne~JB4JyzaWKOFsT7i@VZ`E} zCicz^v0nW(&W?PN;itkfTx#So^Qsqa<SfNmN}Cy_T^Ws?J-G}WXYr?s0p6nCyIYiZ z?mF5sv<1?H#bTpn7FFH09Pg}HxG?8?wcSoaCc_{2fyEo^_5bPk2M~*_Zq!BtNdN!< M07*qoM6N<$f=Jbj6951J diff --git a/data/tilesets/primary/general/anim/4/3.png b/data/tilesets/primary/general/anim/4/3.png index ac8936cce5f2e595992637dc2adf180f4be61b92..c5b446f655e9a7a739dac7c0a49a8e73f8584d4d 100644 GIT binary patch literal 360 zcmV-u0hj)XP)<h;3K|Lk000e1NJLTq002+`000OC0{{R3oZ@8!0000mP)t-s|NsB) z?(W{+-p$R;y}iAxtgM`zoQsQ#b8~ZIVq#KKQb9pMF)=Y9ARrJB5C8xGL-gVL0002< zNkl<Z7?mxMF>b{m42BtUfp%=F4o{g%=ozAjH9aU%FAzh9s9PXI^ri=9sNPn=8EQY3 z!M`nkzp*ULTwDYQ3Bbj=7{vR~v;kuweV;?FdT1mBVd_*o*eyX{%bCq_*IJLtZ7Zox z9xF*}QGC^M^$HPpdr-VNZj5n<z~D_LB&YmFvDSjUFNpnt#Q(a?z_~+WU1qPYWSmgs zPZ}}4b%^@X;TfFbi3x0CU;!U!M@`^SA4@%T94Egzq~x-I4FpO6stDAYzGm?M^>PnL zz>9eWN7_C%6@tS?pb+F4sBS^UOlNsE>rdvh*pG%ALJxm%Dy7`mF%6yo0000<MNUMn GLSTYosF&pc literal 328 zcmV-O0k{5%P)<h;3K|Lk000e1NJLTq000O8002+~00000#7TzC0003GNkl<Z7?mZE zF>Zx05Jcw+M(I!r7Jl_bf&IIP0x%bd;Gp^K3UP)2sn9Q?kTSUd1sRj(N%qc+W*2=I z)#%MV!mEj{s7xeC-i)F!vGPfj0h#v}&Nn68B!bydr^Dw8)!~;=#c}M4)ccy44dm7o zkhu_u=mTqzoH`wk1DR=iM0wJ4Di<*G39IB5!`)TTdAUJ1KXDq5C}P@b6OaT<0YX^0 zvRXpPzS&S{s)>wV&50rP&__#r_g~n5`U+V@aaqypZ9qyiDN`Ct_?mc5lzAVWWlHLZ z%R;mr^Fq|(eW+%!FU>m=L$QQvsqjp0Vt}*!<EAGL>|B^)I&^DTa(M|&@4~@}aJv8d a>G%hUe3<4)K*U@C0000<MNUMnLSTZp#E~-q diff --git a/data/tilesets/primary/general/tiles.png b/data/tilesets/primary/general/tiles.png index 121e835a2528f4663bf880c29d6f3d3c1aff4f34..17426ab80e8fe2434bc9ecefbc8e063fd4e6d09a 100644 GIT binary patch literal 7622 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 literal 7786 zcmV-w9+lyVP)<h;3K|Lk000e1NJLTq000O801yBK00000uNe~c0015_Nkl<Zc%03A zZERfEdFD&1EwB&`@ZOQDk6Iw_y>uOl+S)UB)S#OUwB%eW@Q>7MX-3&D0xW8q(?uNw zm0E`gQeacZ1xS4~6>GpA*-9e$N2yUZ;%b4|)}5g#6-i{z9j1(bB=*c@0lPmMiyT0- z0o$aEyU%m(d~rAwM^1|D0DN%nIq!Y%dCz&yd%h_Fe)4Ms(=aVDZPOHkV4CZ|GWFV{ z5yly{1odd+H9{jHUvLYOFS|J@<Y#Zne%GzY(BiT$h2?x%a_-`?xW&q1JqI4Z^Ch_L zS0pG_0C|Xf;`_cJs#25lehQesDS=n0$ZhJoO??6N-LC7q?Ez+&0F|5<h`+e}Qz@1f ze=3X1ZXnAQ|1~i!b3b#czys{}C1w^YV#e}|Vh-KRi<$Rbsd#=tDoe$AnO`c+i&w0a zWO=@llcmZs9(}JOzK7JMWrWJ*c|d-CN%EDlCxyz=B8BInrQpd@x#-Jv7S45iUA%6D z{Oc&#N*ST$Qokvs{1sDNzod6qZ)<gM39}O9+<5>>(sS{(oQD$f{ff`}m}PyqGL+Bd zWXLb%CGUHA87k)rGUOJE;uZX2=X_BWFEfB`u`4JrbG!6!pAp#>+rC}I?8k>-iYO^l z>~86|A2Q{Ng*Rrl&vc8-*q@W_rhP@WcOzl{_5J&0|I&Vx>9PlyFQdfgmx@v>E+cDY z1t?R)yk3;+*S#e{oh-q?#iEp#Dn(R}@5#L9c_?hJECnC6HB`vK=u#1;=F0`dK_p*V zL}}!gXF<%;tgIEu9KQ$-70WO`$Iu#zB)DB*ncnt7d)KIMjrwM*`dq}V)3-)_tv}>3 z1TULK*0R}I$!4=B#LS`Wb&yi_`*>~0$0tn}6);rt%TVgG%JRNciZHq|d$TAvD>oO# zt;|+XwIDw%ot0A2Lo4&kxsL0t<Q2fReA$$ndH=fP3jP(a*aaQ^{1s3oUlPBRE7jk) zO~|8xxjuP?B5{!`@D1j>DD2$qBJxr|TPV+>7D|;uQGD0WLzQ0wm0<_UIgjkV{MX1h zpz!k7$EDzYJp*|8>+}pSi|M(fisyA~2lyqj-F3mWD>5TPvHlt9x7=<}+3go|`waD& zLr6m0478Jr<Qn4oK|mBX;)ck?88*bCH}A>*QgKQ4mvc+VZVqP6d#Ik`k}s}TK}{C` z{(SMelq-Z~wCUL;2+uFU!xhW(1@X(v*WnM~GCnf_V+Q}RQkKCVfMJ7|ig-NX-H->q z4)Y&)?z!ire|&sgPI;LrnP0v!1-EqLxa7T8{sM8+e<4V0fS{t-epyUwc~tjWz5TA0 zb464I)CY*{xcr9T5a8jENs~>(9Ll-ye=Z(lLuC}*P>w#)#W!H3>!Vg(HwUj$z<0e| z0gcInaL&simC)&T-CPNT^Gc@ViU79&hv&JhfGhBSctYHDQ<ou-9CewaYbFfAX?+e^ zU>p;e@%;cdkF0robUm+{7niT)yh08iLQXv<bfgbOqV&0n**StsD`%H;lB<+*d@O_s zutfvhIsniez>XBaBG_@p4FDpeGMYrUm`cPQiPIhY7s7v4p5dEKUgGaj_J$^ojqVc< z2}b=^RpOifp;_)h7NQ0eLkEl)fT%`?Oc-Iph!y(hgjk2tX&FtAjY)d!=ut`G*9vj^ z@pSr$n2e>4KG9Z0LBRHVyG{GO&Gs9RnCP85=YeUWu=V|H_B{lKVvI9m`wR7s*<@W7 z0N+5(yo^t}t^$15<#)Y;diO5A>*kcwe<ED30poJlRmZG`GX?;Z5ZwfQ%x>n2S&Okj zn6ZAZJ~GnL49F7iC#2r1f6e?ohn!|qCZA*eUJmnT4&^J<x7bEsA#_zrU!LSz&Ou*3 z2Yq?!%Tr&4`g|Jg-o6WaYw$kceG(H)4Bod6Nw9JV@cZectfa?Mp`4uvY)PhVM?jpo zq*JLUKnv8qf>DA^xpe#yThfmwo{;oW@aj-KHRQ`^s;cjxQc7?TltT{SK<Z$?R&h{9 zM-z6(COD%hWX-W{G$u5#R5Ct_uQ|y&MMs%~B;*otu_-s|KyEY%dy_|CZ)ybgCTZ^o z?N$2hguSJ`)R&GYwz600i}SlS^XJ5oze5i4cOZ2jMSBl~_SW)ufcay>XiAbvYH<Kb zs1e6ecBB$`bYQPT50Z=#41%UhY8a3-G)?pa_?l_iv2YZQfn|N%u2-pS>AEg)=FejO zOxun^E~+6_tAcLSppiewr67k4L30f(2M~u@wVJs_FzE>mdOZ$YbvVXb$R9wHxT+cF z{!vMq_ormUq`m<H%#;Dg8HK%sMsczrQb$HxTo9`}m8=6Eo#X+O#sQ`(;bemcAV?gp zG<8@*fgLtbU`OCyQ%6id0+1X=s$=Me^eKO;JQ6|gqi3Zn)if3AV+c^o-=oYQlpYy| z`V{O1K<T5blt(q~ZrU5k|Nbaa<4;I1U>}l|#34sk4y7NL0g4Qy$v-q78BL(gq>>3X zoa8|{aAY)rP%I`RqX|O}$BlJ%uwT&8MbvVyv#-z)GR!`?m*uCim`s+Rz60fFXed8T zOEPrtC_?vkUVfSe5lw@Lro((Z5mW->G!>_vNB4vh(oKysNCPuXT?Z2l3$)d(D6$4l zYC2eK#c6aLRI$mInBt2fVcb!qIRF;ZZ=46)gO_5KtVUuHfDxBfT_;3rS=FF<RYN8R z9Ec1g%u$KO22zqR2dLD7`R1r2_(W37RIUBqg@4(q{T|lQ29umDr$+Qz(@l{jXuCCt zv2gZWCS+M^SyX^l1yg|z&<!LwQP}HPFvg+14()YluS0ts+UwBX9S$4?>>Z)K2Wjs? z+WQFYeMBzY4=XR=>vBIcIWPdTG!q4jZ#Z&ZNB&k>Z^7z$Mdd8r4SB%Yw*Vtiu-%Fp z`%rm$A3$U7FOzks^C-!%!kS*8FIh1a7!i(c_Q-&t@1d1e2#`=<(o_O_T@pk$5E9Wx zM268L{<enl`z^v@v`HBzsZ|S2a_kecVpTT>HfkZ;+m1KlBO3V!PI9CbXu8%`Zb0Lw zIShjn?I-j~V4`$`6?+&W4%;;R)vBhmtdLz4n8incVSsvu2I`%U#6pS=sJ_Ahm7Dxu z8$SQ0{2%%TG7L0B%LS;AR%4xJl9)Qcp}k4ko20!-+MA@k4()ZKkyuF4m(WwmOOA!k z(7d128~q=&_YvCr2<?s0-l$v%0z)qJq2A69qXx4BXep}^!g)ZD)!3(GQDs4}2i&-| zk84nS;1rCk*fHa>STQslWEp-f%X-uGePR!Tm><Nnh<spydhe65@5f;82P06r!vKe1 zFBwLsMXqToq$$?vj3el<Evh&A06>EMf*B>@Og@^mvG-_d*p?CU^oWLUjF6`Wc^a+r zG<=P94qnmmaHWl7J@CqI<yCbe5#f{~#yJEE8(r#w8bm1fzH`_9&xAh!BsesP5)56f z=GE5qwiq8Y;C_xb%=&o4Y%|_~FOXOikEkdGx>z>s#S749p|?`sRXNz)^=YVS(^O0} zI`@AAWY~a{Fljk}i<#$X`FUn?RSU_baUK<eA5Q?7YT3+vOskFltG*;Fm`kmYvB-El zp~^*hDWl1kWYN1a<9gW1Su7@-3DCR;JOw~At=xCHWB=C}gM<^iHuF5gZ1P;3eywp0 z;QO9@atZJj=elpZSKp8q+^d%`9f6$Z!BcyMi-0%Ka4?VmuDs!S=P-eJV-gdX=}Bn$ zAVCtwYy30sConF;0gJ^1%K^<`APA??>lw0of&P>Q8?0WSXU$#+`;U+Utav-7ZJ^Y7 zjv2D&)uX}j0s4xt0_qbilO<^?Kcr>vtWR&&$C?IM)fH<+^pNcum#FosK229%4-8YD zP%~5=WdZw8Li@5PF#KWsM|+dBH%WVwCPU1DLx1X!YZ%9xTi9zbf2Praz4Svgp<{hp z*;~~Id+GIzswdRA?62`PB%<xpBjL{usi*bT29<rA&CA|)Cr-!<*@+2xdpZNiV5<5_ z=J^xy$uA~PNZ@Axf&Z4cS0_%(rRj-`WTz+3$=T`5Imu=w|3xlNpCkBzob#1Zom|t% zwOe|9hS6sI06Dc{oNq<Z3)$NExM<@w*jWc8YH+@4c!@$BAJ+)u4LBCUY8GU8hPChv zCxy?9grO)yMm=P5@irUQR>Wp8al-??Bf?rhMMdmL7zeS-l-mWl=q}duE{QT^)I%x` z_KsjQf{I^Z*Kw=bf0!Ig=@{$)qME96QzdA!YXXJ6%lCg#1@-88H$v!iKAmAjDRA)% z*T|G@f6MX4NyeRG+@^96`)`bUg>g5+)Y(d<(h8TDpg_Hbz*Rx~22cqKYI5!M)e;n3 z-9n!dQDDa6oLtyu)2iDy+pNPu4xJ%KWOxXp+OEUxTu-wWXfUzCu#HeB;W49`bq}Mk zpPAa>$kQRf?>@~6czQQLu}&u$RHZo1fD?jkqd_!ktHHWV=FBc}h6fcqkLCh^L=^_u z&LO8(3?C%)v2CgDeVFt8xae_osUgD@*I4IGz&N8$(N6iNmRQ}K?~7Xm<hW5V&-zuh z-vC88pQ#O~w3S0b3;4czcO6`%aDx`V3aIZ&mq|)lW;N8S^O2#hem<%YTK9OB3|m2q zS(}2slMEv?LLuvpp(=LnsmYCxA2$HHRs-e#j=@W5J0lP|e=L;y7Q9RqI3D`eAAv)7 z++Bs3IT*&BVNENTqHo%5XoI3nnP)^B%wSM-Mw^mB4R4&$c0V7&lnKJ^Cf9cJF$Bg9 zGOkm;oMk2(pg2B3>irG#@-(UUG!(WLQ$r47yGYT`Aa3e2Tll{QR9A6A;P5=)peRtG zcrAp~hN=dr@1DqJFH+T?gs^eE@jZ?=zQ^%~V7&1?5&msb5ZwO0T`9|LZ+=-kzqs61 zPHle|D?bfnehF{Pmi^j#@yEzy@Ex?Ck8i@>kMsVk@?r6<jC|;4UX%|@nYZelL%>${ zU2dTKQZkgwWc;5<Idkskl6mWepSPJWaOeX5ndWhfEzINNRcJF`7(d1lN(3!sJYo<q zUufkY>r#2Wk64JoBr`s_o_}>G*r?>jV+;Qp4i91{5PJS{2sZs`%#4{~$h0sNYK;rY z1u{H6m`<+)W|FCsXD}xG&g*J95addy*MTCOq8^5hpJB!CYNgqx0CI8K_r7A?flc@q z>}X=xrf`xyVyEqGfRkX%r!n8+eA?lBI>GsLg7ayoKA*NZ-?yvt{W$0QNzV5j&i9?B z`TmD*y-1q*nQDk!3t8tY{*j3b+Ja<W%z$C%{GV4tuY+qL>oSbX0~Qt*e%{0|(>%t$ zCt|mqFH{-ERmlkFW%efXkKh^mKLN~rTZEo9&E1{AOZN0-xnKhB98wIcEt75lMQY`i zUVI&olOTTR@LHfDr`+78(2!Fjyv8t3!D)7`N~9rIW8DXYmD<X7YiK1TmjbAIBLwJs zyGhk*Ro`9hTQxwPM40C^SDgmpk%zU#jum`(?Vqm6N7poX!tbl?vyUg~4o^yuA$+X5 zqK`A8UDJLd_g#zLV3z<NF^P8zlNklym1#Og{I!{X>}>9YH=lnT3;W*<^N$+C1_9_k z+rl(Tvca%_U^hF}2BzuZUb3Gj!vN>CO#ot-(bJS?gtkf#kInQHi$y8pCmut&G8l0W z2WZ><;!M~}mMK?MavtRTVzJybHp8zMe_e(Mk5yni9RpYvo)GG?P-^Tkq`RxP7oLzy zFZfB!j@jW5RyBwQpiOrJ`u`adtT*u(VceSlgQ@*?{jtBhTO!>LeO_$q^LY17>s@(Q zX?gc&N);D+Y-_{$9O>!;M3^vutaafHJlVC>UXJLZQ86qtR?U@V)%5WZzis@}`1hbl z^ua*5XerzJ09{<CiIRVCLq_LppI@p$HrpN)&GcjS@t<)FpjNF~$A5}uI}JH@4AYFA zJ241^+=lVrr)rWJwwWke&p!Y%;P}Vf$C)Cip+@FeOknKzouG%L$&+CqoliCuL8LH* z1O(-t^`rkgLl>K5gew?banz9tMPl&;sE6T4gw*R=&#*g#V%WBK8B(gqD>Vl*-UVYL z<N=sy)!v9TziWkjY0~$mFdrf+e=!J?P9PjZ+n5l6K54v>sE6Vz6yK1)zM!@`(}06@ zXvA&W#k2s(^=(p5!2};$phm*#!psh?)2Q<=2?=iPuqD`mp7@pn*pY}-XQa-sGrR?; zOsbY*v*FlL1$~4l!R{kOMK?NwJF~6<id^~4*rXDg__rBPeeyK)e__?yc2h_ZE_|$q zn(EgAeXOQhb!@uBDy5Wj>nE>FMaR19vzq<in^nTS+aMg+)Ykve!*x+aR9<wIp@edM ziP~d5FAT-VQ=3jYr1yIN*I-x|VH=^l4iDB-)A)4)A^)l{Q6(Xv<^1HgY>=x1=zw|( zI`w+%XqEx|5r&e3X8;+rp51Ihit;um%b7EGYHCXEo;LpP9`foQ@`@Bg@8ZvN;`+Ax zkZbtA?s&Z~)7c4k>FngXdc%&bov(|rR#kVbbMn*G-QQdFe`MW%v_H@O7yi%OM%ML5 zIH&8^!}-yj{ol3-`p|wu@2>W+@N@MLbG0p68#vT{E&eY?W1<$c^y&}wHpwc6#p?Vc z*@Q=qpz~lrdk<1-%dR)d^ARE&_k`;`@kai|2$-sJ>nMa+24D_OaZ;F(zcDeI>%iqI z9(2mTjS6<x;Y<incP2~)9gCO*gGkz55JW4M@rHlx^Kzdb@lnZp{jl@@J1(eI=K;ve zsn<Czc;WwQa_U74m`|U&@4iqDV*eH{_hvF`&G*F{qJ8dFjFq+55xREc7j4&7PA@|J z2`cy{6V&ouJGn|_`4{}qG!woP%3)ZF`YZnPob=pN?vc5<IbXb<9-mQjf~X#0B;;HK z3TOd6uAh^F@6Mq?xH*|~^Cju&0nE)6W;$=@cI*MsQ%4?<drjlBqB*ghq9+)4;P3+y zah%UeG!p$w3AopL%Zc@IQPvPGb!4YtqKP+bzTxl<1zYR86^Z_@kX$Wey$O0kHIE7= zCcYi!Z<0gji8Fu`2+GOnGp3xrI;qRwm8Q?giRG)4a`FeI>9C0JOubNZhviZuR|6XS z)7CAw-RH@DUc?j4yY`;}9zJ;=D*24YT?I||Lb=nYNRU%nGz^_ON$N4-6bKW-^Jmri zF31&)0943zU%5dAH&9^Hb+|Yw|7s3Y<efh-tFWN$U66&n{zBDHY75m+WyJhrshEFU z0f1(EwJ-XzcUb#kn7VhbR&}cHyz{RE@{ak=I|u<578W$Z27T`gykkP7@&_R-?C|$O z4$z{n({het9FN{5YRZn`N1YHN(MN4L{=jF=5Y+s#iD7qyTU+b<P%R(VSMnYFLTIdl zh0Ax8JNe%7t8%jPgA(Aqn}EtC!h3|9O|a=Ys|q!s({c%c`aWiHp8FXxR0YFm3f0J( z35&gvdxP7zjZjT4fZWf%i-djCAsEKGP`IjlHFHVav+hNC^@Yr<;bRzLT$tKe0><D` zUf`ORyYS`$Lw*>iQiEWHn<e%bM$LzgV$?i_&_EiYfujiNi4<JRzyUEigG?PEr1}U^ z!bl)V6-pQg#kJ0huH9aODkc?bETZ0BeRKeujq3vTs{#Afpz8WI9sf<R|5YXgtu#A5 zODGZi*_(38F9C|a+e))dp;J5Bajjjb9oO22Hgauq{t*<P;epVflTv#ZqE*+@vipE2 zH@t<TAp7>)r7$k!-v!=KP{(wG^X-qqDX?REc>3gW^)SG%%!5r=In{nLW&r;)gntMA zb=0qB+pM*;lbiNfrl*P}S)KMukULe7V0D@oaIz->tJ9RLwx|}awd@ex)%r`wFrN6B z;%jPD^^sDb@^|7Qn(oQ$#gJjDbXyvGqls6KGJsqVo95%LaP+0dAP|FRI6KV^w^yo1 z9<+sxY(LG=>3XQj?0xJ+_FZJ?Vm;K%XLW-t2xco=fO{22SGI;u%P;--AA(_z+mF@Y z4;A6wlk``=T8AIM_o@9_15|x{RO3r4G_UZj^M9Mkd1PY4|Cxq4FNSILAS50pI2aN? zB*lvKOMX#$x8KZ5FYm7|@#N2(X6fQ}X{Pvd*L10rrAwAeJzY}D&vfy=>6~c2VQcIS zNuz7E!`!{$iSAlLaPsQK_K+o<Qv7@4VyiRS6wY1(x!MDJrn5H?`aT{*hLQJA*Lgpo zHZoYwlgk$o`p(;DH{-KvzpqI4?Bers@qhpFl}@OqDB1z_+`Ho6SC>GzuVA2*PR|q4 ze@@r;-$Vb`<PSdjc5nyyH2$w6zoy#0@L)p&8gjteaT(rU?OlI=HR}2v@2~PwY`J=W zwd56q_f3WOP3P+OP4()1(_-zuDfq|Zl&Ifcb7K#oYhCsA$#pafA5W@BhNiE=wX9B@ z2n(@Yx7cukD%3)=>SK+BCoY}H%Jf9`a`<kJZZmhT{3C#ulH7|wN`-Omdbf_Kf~3Cu zCx9QlUXU+;8GyJFkEIl9<3Hu}8xVZ78GM@R-t_oX3z0fKw)N{^VpKlhY+{(zILy86 z;neTmE5ncez9GX$(`gw#64?<h7CMftMhbms6-WBSdi?P|`O`lIq|<=mVSu{7+ROW^ zy}ZBLyFKT^|K)Ph|Il{CiGm)N_f7u~@0)h<zA1cNVWwL=S9B@Ph$)2`gxoo}L+O!1 z_(p#Zz+foWi#RjZ3m@Cv-5YK%yRN71BNkfkBNliyuSeZu?p0R;@s$@}CK;Zq!E@gL ze1n%xp=A!a>e3}Ab8}%1+_|}Kh8WicpUvY$UHEYItoWzn!JXjO#We-3e7Per-Mg3j zRrwbs!=jwX-coKP2zahu9j3?vR<lOf5Ea90JK9J7U2a<5-osPCdwA7Aod>pt>6WYn zchd%jd7?W(h>Ny!%o6QuM=jYocJ#4kN5-AFu`yo8UBBdgh|r|(IP{H;J(fV~V{wXD zb$G1RF&-m)i7<8)6a4hppJ{RkLHXU((X>33O1Fo535O`6t_VM7C6JfL1`hF)?Z4Z> z(tT*hXzCdCeTn+MfP}-;cbNK8Ru#rl$03K0ALn<UI*ji=mBM!capuor{w$hs7vJsF zjxpp9+4$0C@F>a;B0E_)JI7LK(Vl{<(!NI6`4sQTjem`0KOQ==mhYzc-Bb$p!ogV~ zjHlDbTl0+a-*CnH3+eQDz5I?z>M(eaV!5QgbUZG9Hm*Sx?+j=>c=znXYJc@%z~HkF zvv*POEDsw!+qCM^1cNPcQ`OMJ1l`aFMWa3)T6tdYVII(XHdH!D5e4RyTIQS5!j(Y4 zR9)#*U0*dcSpS*|?XH71s8%ISWye(2j!bCBNX?E=%Ncw!9D(X>Cy(vGsDs`Z%yR6g zRqu81?q;g}h4^;RxD$M|4yiH1(J_h~9TV#d<KyJ>xQrhM@5jfFCkSz_mRSU~Zg#wr zBcNX(Y{_Ty?%HKzHLn3lLJAn#mL9ABQ-D;Wc^@ZX$2YtigtvYTTY_5<33x7JMY-4d z&X3wASO2QOj$&qLCla+S>@Z}<o4%oh)fT57kJ;fa)GZ3HaKG^uccxbEX5T){i?vCv z%zCJ?&l!(5_BrDl_BoZXMY&s)Tj9Qaup_R_k5vnTMY2`abY7HYk=%_j9ptY{etknT z2zlSyNGR9UBG=n2Qac^fd{m~l32VRVs>WRN`bLim^{iX-P)tN0JXUKn8@Z-v7IIQS zz0tLOH>r<EiXP-JuS^VYxHs{847uTbuuboIxo$p>dRueFa-5OP?|Frzk=Fv=4-N0} z@j|?LKVe7HdHE|mFYofays7K2g*g~eU=U0N2LJN|V8GB_`GhxzT;A8s#|H4Oslajo zqX6F5UE_V-0qV1d@tPBZ7RLf4EIcM+rpxn~F3)4WCZF&;W}fFUU7p9x^E{@@^O!Er zW4bJjHJ-;rS-r-KXD;unxxBCDvV>j}D>n2R?G0oN1|xrX!{vRtyvix>)2*>2*Z8km zf^aJ1zV`1iKK=h1TK+-WrcJluF&i88Ejud;3{5v%mBy6j_3B&V67_HVmE)kti6^R^ zh&q1T>7l7j!Hn1TPJZ(x{+p}c{XYi$_z8&>e)t5JJAMejEYSS%llA`uW0~?5h7Ns& z@T7NLp3M1W$)$@WNjvEo`JE>YJsCp(51-7*{z7hs|AcM3Z0GsQepmgMH2y0d3cG2y woB!OZTS{K>y3FMKD+0kQ($D{9#fyIb4|VU53&eUs1^@s607*qoM6N<$f*a3mI{*Lx diff --git a/data/tilesets/primary/secret_base/tiles.png b/data/tilesets/primary/secret_base/tiles.png index 9dee014ea4e6fc3e93c00e0080ac40b61957759d..e19d61a9d29bc94575948f2903d366a35ac9e0ed 100644 GIT binary patch literal 7144 zcmYM3RaBIX*TtV_W`LoGZWtt`8>AdkO1eWzLP}B^9=Z`;K#&d<q!Cb>0SOThln!B( zk}e4Y`1@UbS9`B@&bitbd;Qi)($~F5O2kM60060`hN|H|g#Z8q5b%F4Y0feGpNQz| z7^~gf+#DPntgNhzkB@hEch}a|78Vw!q@?)y`8hZ^7#bQXDJhAHilWhI6bkk4Nag3Z z-vGemr>UxB98|bp;ORlVRfJ{pd3`zgT(ucrl`><&qMoO9y(;jkj7^FZM>9;Yg{rhF z|6)pOBCkqF^jWi!=rwg&#pgVzI^x41lZS~J3+eOLN2+>+djjLQuZ(-)vkwX~q8FMz z+cZ=&&(|f9nxrUP+}sszZg$r&`Z_$imV12g>9pWx=``}eeI)ga(}u9kSD%T_Ln)em zfc4p6g019zt5&|_z3>U9l4Hh?x8S@c0`C(4!+z1smJChn9+EB3bKbMs^eG=OPYPYT z=pN<HUYnM<eUk#emQz1%0x;sUwF^u@3+C*Z%WUw)Fdi2A0wjh8q8h_xn!@Qpb9$WZ zF{@h2;9^U=EH-TIAc}4bZP!JajsSKyB|MqIyYa%=m?=w30OEsw{Cp$YwF)St8?lL8 zW1uI?@)3x7PrpTL9jgTOE*)Eu3)>ZUdiQklg2&UKESxiS;Cze1+hB^<SpLndgrxDe z@+VC%Jy|-APeiJ3;_bVj_<3Q_KrmJ+NYQ|o^SpvIwc8c$x&N*wZqBr>u9b_{1@ODM zrW+$y4BF;8P5bt(gYG91mbyhn2nXFs;QXwQBqPT-p)bm7I&spo^zP%i{}$n=iA@)A zYiT~vifA+?rfRH=6hMtO%kVOP)k|XuS|y7iJN&T@eEj&n!IC%+1>lC1`++;}?)I`o zFsMhvuMLkmD1esNVWLnQgUO{b4Xf#7;tdbb;j>WS=6EWUwYga@716a9A!#8@Tx`Z| zc9nbccOuCJES-5g`SI4h%a;O{#kS18w`q9qB8Yd+aywMA#hd$tgH)_aD(KYC^e;iE zH>T#werM*L(d)>lKar15PVn)kMv;vHA;+4sQ4EkTX71~pZExTq7Dj;nAt{%m)mxy& zj!S%^3WwN1z2cX~&5sBfT1Y_~!#+HuJMge>ZqH*#w~_(Z@+{&nk9!<KxSwe^z6XTq zC#R+W^bxFlLLn=upEs`HS-4gYZpVf5Uq6?akESGG5iM50K_rK?mr*`k-D??6xEc7$ zutBf3H&<)?P?eA*NcP$3c1xdekbD{+XLn~mzMkX$Eg+e?TVzj(<5&KxD}XU=*tpRE z{L|f1<SZp3NnOelyt)P)D#~{b^eSZF=4^;Z)>jWKuk=P9&h=mDN7IQ5TfD`Sx|Ghw zwFIk9rPp3<TU`tXiql}vv+EsKsdQlab#jmBN4^S3qc+^n38bnr@03VIV1doWVK&=> zh#L1OxPP|>&lz(V`L?X;#|C)W^S{N&7jueX`zjO~^aS@J9L~FPV()d00e#;y{-uSm z{fL2aaB`J4MW5zcuD{X0b|1C<gB8|S?aU>$ejBKRII?elebs3Qd&Y~y_gFRSCBH7I zH+@|3wShAz>gg(fr%{afihSr*(y`pR<ZVSBzG?5Td<KH1g^xxVCCK*0!=QjZ#xdu* z=bpb!J+>)D`o#THb;xxsW~$YuL2B1*c&QFD^1s`oAG=&YyMkHd<U+2jRTGXD0XY~M z0eLK{Ea8xQ#lv9?%=A@Fm(J1e4%rWC<N*GHm6@8ap|~mSgM9I%jA75CyLM$AL{p|H zoUSNMG<3Tv^7s7ql(?0OpEVwclA?rei+um4;Ho-+lQYB%^I1eNd60UN!nm2h7}eV* zr7UKJHAC4nh>Y8lICCiu@C&{e*|bH(U4vLAF0>t7pFOKi`$&#ECK~{88i-T}pL$j| zSlhzXFq%pV{({2dZ#K%CSo;j*g8)<KJD4^f#`}ti&`VL?wNc<Qc4~OfNh%|1AWa4j zSiuu810NK>73f?b9{moa25l#hi<UcCE;vD(GN{|B5;Y<@BN1NAI^)SQ8K;mlkWxJ* zK*>f)aCB!`wK4A7<Vy=Yu{c?b6;k6!&b3a}hhN~hln(!u3_zeKmL1Mye%Li^xh94w z7q^3h(6<5)9m6;#Q(CJE8V?;xi0=}ZPJuf!ffj#Q@KNIyix4l1hxeU*B4K)Ao~$a^ zCfxYF-lJvCXF9xM9GaNzS!(AOO86L#kJ;RymXu?+OLw!t%U@8nJ_!C8+I%7F;36pJ z=#-zuhalV4N%o@Y{vpOB0%`09Q&bN!r{6|r;~g39*qlplmP>lA@-5O?U-l?XzNu0k zc`J<b=3Aw3wDljrAJAm_gXbX-fH47<ncnU%l0fRlUf$4`mA)PgQ8Rgqv7!=?O#*ne z5Jm+`5%qyMbwf(vL2t}tm}sTU;HyvB>Bp=G&wR@aTl`)!MKGhd?)mVl5tZ*6I`}j` zi!K}eJ$Z}i(Sjn7V3MwUC4<2<-f;gy9(D{{-vfMgqKU4Bq7c%)d*KWO0Z`r$$zbrI z!jmO}#$2<>dwQ$4UNWVV+noY&zbTJuIPOuOd|W9VoABA`J*2Cul3J{h_j5UQ*%NQi zn3S(Z_S`!)=>BdR(9IXQ{2zJVW|EO<{9!(`-k-CIj{2NeF@8x)G@$;B<&iU;tnoR% z-c7_+(P_wQT7-a!a}Za+V#<*cUc+O;q@Yd8GwJVg%-%}@m3X*jmji4im3W|oBBnLn z!p&26&Z=9k2k{X#oscN#IrQ5}nKsk=9*o;XG36JZ4okDZ%#`GP@~Rwi_oUcYTql5e zVY?=4s4?F5;lLdXX`jhTt+K8C{fRjHkm(&bwL~fYT_mqCh3_dh*$RO5(horVrK7tT zqV_iv4{Vve<Jrt(@}UAeCIC{NeqDEd4r2AGALnH}Qzs^~lyQr?6V4CBQsn&5wZ8}( z@9d6M>bLIY1hN7k_XV!qdC?5JdXq~Eo5oDZU<rqDIB{Ek{F?C*3|_@vM8Mi5?dIg0 zq4koeA75n*x-_a5ynnYk-bNZBKAn%ik!vvZkKm`uXc<+Ald3-)rRvIdOObwDy_@?1 z(dMfTaHEcRMt?tlZ|%A?@#GUy+LtEVo24<BLOs7Uu45&@<-i-u2`j!_n46G&IIW6} z<aU;))$m(R{3VO-WmqlXUYD}AY^TE_kdpxjh*%KcPEGZD#w>z2Yj_%fNJC2|Tbi>| zS>^Df3UdH2I2R+Ll*s8MVMzxM5nIMEICIT&eKpctq5E0vX%s4{=~3}wuq^`_;Ff|& zy_~NA+V8yoj!xa)3b~<T__Ox|f>pfw{5dLCr`G>3ttU{*#J1)YX51#q2}lIez6qOU z{Gc@S3<&)DjH!hk=sIBwLVxWVhrf=47q{#;4}u!CH<=pLD6DZ13MVxhILTVc0Ne*4 z#g+?KHiJ^XQZ424rz9wE*g%vy2Uld3lA|)9-N*50tm*LVIJ?gO!+|FQB<WInGhdOy z>Ym1qPk+Bz4BKp0R?&w)4ykc2cPYFF1(}anXCo89>}};*5Vc2la_gl+^_y&3Hn$XS zfGyP<E4cXCPW5iX(-{#qM3!3^?-<=T^#w}xXQ0;9yo#PMd@^79u|(xrSq1_VlPCgN zMk~JTOMG)JpGuW4_pFST5M#nwYI(+y`EdhN+Z&i>;I_BOM<;!(D^?n9`Me&!bIz2o z<<1B!o7Y|&wSSO%(bf-=!7&p8!$?ItlAS}FZg<jvhJoVEoMZB8B*0d5bR4U#eLzo4 zJ43+Rx*y*p`+T{zzA3bqH&^AdYS3QVQE%d=mK=qF;17J~b~t}6msgLjd|QLR#J^H@ zH=Npm8Ws<0q*r(zZt%bUy+79=4d)ITR^B4V+--87nVnJf=Tntj?Q)JTZ&+QrO72?P z-?yJ@m@W~gm{sv+Sd9S0aACKaXx!8}T+yxXD&G-+f#Fc-ica(0j;_O86KQmmp*R^v zXiyWBzsu}kGkNCU!3OXPs#J&euyN^+x|z)d3b#312x=2%2g5^0Oba<$T4T@NJ`-y% zRt#1Q|1Tq^Q$Z-ow?aC+E;qxSr#>KfwN?0`QG%WZcHRb#a8)Cm7I|_~c49W(;#oO< zG13>l!v8u4OTT@%t#=Xaxgy<>Wjb_~7D(<fU_!s@h4oGloT)NUfUR!$IqS)Ob??zM z?a8;?W(gs~FWYv%!r`3_@vPYF_LJ^@jSHpwXbltTTX{IQEPvjRWywoP>aJ(At9j9X zQGgr#sWmZwFPZ1hc=2^aV;=!=py2M-Q0Geb8<AUib^*RQJV2(tOtpff@A%%nsNPSu zuuq|q;U7ZcCQr8|kZKyf(i(OwM-OyZde9!F%W<ZS$rne#-GbC!pVwOG%=SWlu)h!8 z*gt?@P=|6BNri@tn04W;sR90d4N7JG^EQI7%Rs1f(p%dKiGNIw->vXT%YF5u@ea1z zflTL%WB&S1f3(v}vKYj(<L`v^$|!(k;}tvo2LE<ex5C!cr`^CTRLW~JREDnYp+V%j zpn2)_1nKV9icRwvC;jRt69}V&F;^J|AFwq|l(hU|uDbedvqsZz{NwP@Opo)T6kfYt zTq3;OZR$*!>ZrX5nY{RpAuxw2AN(CDkMVr8k#hKE<YO?kQoy}B<By$zAFTjF{5V90 z_J5rN9y5FVWT}`~USz+zo`nD($`q}V&$~e09s2rxB`vLC8!JC!7H@_`c4o0d{kx|# z4;P|evC~E--kOwvuPY+(QoRm~1IalHj|i564qqB48-E#$@+Vx<?V*CHiB3K4%@<?I zKudo~NUK0nLO(~gXb(0tVi44oVQv!|qH}X8CZ{q^Oxt~1=jXRY(#C0ClOC$@!~T@< zGgD>*yMa6n1=~HDErje=BZ1Lqj&5#z)ZuJdmDlIDVr)Ty;@FY)4b8}Y@Ql2#D;QA? zhw)9OKe1Mk5-rsUq8)tR625=mvc)5j{W7OwOV>Ix3$;O6^H@K-{T=ycszhd~PX^H6 zK*wnZ!T_z+F`DMer%t|ue%Z5N?X?$&ruy%YPz)fZN?hbmB@=aiKIzX!^(Fp!b$Q<O zCns?n&6H0Sg11&N5##Fff_$q)WuDvvc0ai-0Ou{)*PL^*;XtvMIl7Tv!_{b<>I-)K zGL*OPB*C%a$quqtRi-YUL+_=lFoI{7goCe+9fb5ew-z_v03slLwEho7^E`dLKg*Rl z<G3?EpGS(0;J|k48aFcg>DC%LKloQHFll_@^-76y*~#Kgm~Z7SEeg}jV0pVa;8p+I zdC4uY93$J1E?-!P{@7tI8P^5Na$p9i%2wsCTE34$aupad0T;sx@4jS0x^J=*80uM* zhWWXac{oIw4=TyHOR@k7)Z3wSR|H7o|6qi`?#A%jmFGxY(73oTuWSDn8Fy!AmZ};} zqhnbnuansaav`(6agNd+Q$0?cAzypwMUP6S5gP2HdGPnc%jr7X=M>)-#*1nIh#ZTb zK#y^fgT~D^)m!a<3yT9z+yH5@<Ab1}%vPJ5$8o5H1bgX@$tpN&3&rk^fo@)GZ{Vk9 z`?#2EWx~dtgKPw^-Mfu5l}x1Hog&U1-5>a)VYg|9SL{?$l?m+xd)s?{XV(wk$~wY^ z#g4O6rCX;2OvZohy3G!`q&s5=9@29r4m04^>dG?CYndZKoZTC%1NUR+r^W69RAxV2 zQ$Z~N8F%Kn%iO+<fWBT2(Qh6y*M(4p{p?-oebdST<{{(WZGY3{x<X?<e@Y8(o)yFD z?``up-G^b`C)MS{M-tA@&Lq|GkeC`5w{uQgyl|}tJjGv1ddk<nm=Z3>pUMZFAo<g6 zOCHER1nfL!-?%v#hzT`N6=b{zRN5%&;%1cymgjO0wEqC~#LP#Sn1$4E?q-tGT>qjS z7?d10$`Qu8ae3Bh7Y{(GHU+KWz&ro2Ta0BA$xxZRfwUK?d)b*59AZ^Adjgj3nA9*> zh)#&D2xef&cSEKLVq1>5L7b^^yag|SWvyB4t=`l&dAGBYyv4xAIcfiq>OV@XIVXua zJs}{}v{gYQrTWE?1>5=K@`XO3IPhE*6J&%cWp*&Y0#a8rRU&%~#XhS9ZOj-8?W;UZ zeX>Oy<<kwJrz@ELs(twUuvVDid~6ai&=^GpAVGat?tM>Jal7dI;pHTyUOE_eOJNB+ zzDchJZ4K{l_`5>|CMf=E9~yFbBo(4dr0{1fGOU#m)E@eeJ+*3?fY5t^huQ2*Y+j!@ z&O0<%wHji?dEL>1QZ|rC1;=SdPHY@c5gbRZ&{dt40>OB{jtJpn2!$}a1kkmoP+#MF zuuLRu+lR}Pk}3b2u27WG1(=NS%=I)}cT|QEVr3~1B-?E6N`Q1!i;^Ko_zK8mt7kN^ zg&jq&3>oV?{Gxv-0o3mN{F=y(dte7tdEK7@-ywiB`eZYQ><E$v)2*tN-W+OF2(ka< z=6U-BbtEPk17>Nt9phq030jMijibOe3J~Ix&?+TybSHU4!2+T|J-^*Bj&jmYP7DR# zhfR6wmySb%3>pO@gTDX~SPq1-?1lJ9l88=Z89wNP7`CMb2Hn|iNU;;3lz?;p<aN%L zNu~j0YC}C?SPk;EQc)hhjC3@a`P2!h`f%NzRyhE3N{BZb`r$z$>LwQN$ygd5AKA8# z0<3raK~@}be5=w8$_Qr->y_FQ#`L1WQaS%u26YVB_=}wvy2i|UeP?dr`mifyu?6Jh zGq`sUxue|4h*wONcX!B#qumNpMq^iZK*WLqI4do;&(QR#n>##V1ndP3393ZD(m>|5 zL^Ky*=_cG<_n4NEYf{-W0Q*pal3yJAaBs<6G%n>(5h!mO)yDUPxLse@l)4>#nxbqR z;LJOhC)6iPo}C5&hA?bS25XWpHuc>=iM%O+wL_DuMI~!>KaIDxfGI7+*p7Ih?^b*S zBg)YEE}EFYkjZjM0R(x|kcaePyZOEY0*w%i^Fn?sjd`-4d#P=3V9t3h`!9EnLtPnh zNhFa+M&jc=$aXx+UzF$<GK3q!FOF<v5u^6I>|u6o%vjE9vBNGSA^puirx(IIW!{`0 z!57ABko-@7A}fI(2bS}WAUfwizHC)TM!S77kg>(3NKlWjV42T7Nv6|<I3!m;h7-Q- zcufEBppE&_iK#`0@M+YSq)M&=g0=TLF)spk+OswAe5tk66pv5AP}~~{tPa${{kgn8 z&s?Cy29X>&NpYw~1(DYop<zozg__vq4|S$@6L4&;g#&R_UjDbj*xsTw3l-HBhZJ(e z>m{uom>N`nIDc)xvy5#=0I47~2+;nLsm*-7pjY{cM2Nsn)~0!`?-80_s-F|XV@Fbo zTpu!y2Vd2R8^yHE;3gvHO)O%z;1Xm=cTsLo7PLvch1!7&>`K9SQw^FT*cp}R>OsOM zkF4XowNo|GATR77&IeoSbl-lW@aajJ$-S0v4w$J*#p-S;MUHo^P#<d|i0ZpF_>XWZ z(EZQBLfG)FHjr#Ctxff<vt(l9oRYK{&4~k^N`BttXA%YiX<A{3$%mz^f`e8C6Jf+Y z1h}6coPY-Z>9zbhdsGH@9b{G~?CYcSs^gD4KYxPYjF)Pi19jr^>A2#|6Ks3olz>AX zr^t%mf~D*}jz@^7sq67T_i|$E9hQmLf6kWdPy=MH*?gP;FZHFqaFm%7>AZJtV$7no z3~qz0jx>}7Z=LzQoUpOh<a+L4)KD5PfcEM8cFwQ*o&>#g$NnA_D=LXz!w_$IpPFAD zZ#g?<=l2QUeMmA?G_Re)r&6zHHA-bz7=}tqYR{ad(q^|LXyaS$HlL+#GJGGk_4^nu z1eo>B7{6VTGICyki7pch5FnmfkNTy>vMEfqQ_M8#I-^La100-v!Wo7PW%4!Ux@1{@ z)2>nbpvffdDz>E3JPi|)I?d}oVOhlMsCKt#lTK*I-b}6fw87R`<vT2|x>cr?B6#&( zOB3W4eST69Wj@kzd6%@f7~*oeY;6&|D|gs^YWjbWDw_t>o&_WvUO7I>g!DZBm?5$E z;XvVHmTt+Sk(pAFLinCFN*_sxX@hqhi+q#ou!}aGD6rB)9?<lN>r0o*y601ta-bXH z`eo7{eO}ZkBlV4%XAn>_>tJ1s3)=7eTvTT|VIcCo`2AR72EX0q8`4cw6Yp&<2}9*I z<G*T}V##yhtqbOv>jm+WVy1xgcJ<}X$L^oYd6kgB{)<=|6!2mRiRA|d;=i6<|Eoc= zi_$oz94UHPh^m!#wop!kkQ-Z~h&;MCCExdtSL^e#wipdO{T*s6u0X&HutpR@{4lKc zRx<p=nuDMb)1O7wQUrQ{RY(k1sWRI^MC$p7UmE8`_XjE>d<B><(#{BPmDqQ};6UkL z9+Z<!CPIGN!t3@CQ56~AuCmDvdH#Q9dY6`C)?{Ikug-Sx&o!&R9oaXRl=$NtTPxl~ z4aMMv%R(#G1!XDuuAZW}dQw2l^LTJH{(B%y+0Lh=YJzM>N#*+uHT>G7RXyDFN76uY z$fEIPt4aRbspDN2F`eia{ZD#xy$PI^iJgZuBr+2Rq)_4SbsrN0Px9mf^X}aN%m$7d z+2IfCY{Pz5k^st|O~*XEEMTk)Fo-7e$>Z&J`Y!wF6`P+qn4z=hh$@(dT?Jx?hUJ7% zr$zN-Mj9Pko9Ov>*v(-O-)aA8AoCRm0k1{y3S}CSa-J;;K_pa&6TnND&oD=R=!T(x zb0iHs(=fIO^^e#}uOp*_D8$Cnc>C@xa3L^}Ch-d_5&_g36h~m7io<BKxv_=QLE&B5 zLvIjecS9NPkzk~?Ke6!idJLExQ@SamC+U<#)XwM4E3+PZMRPVi=93HDE0lhYkZ_Ly zJ@?G%v2PgwH}#U}rwPD|1eQ1U+AmlDxm<k`*IzaIc+PMU`=O6e7vqpL{4Wel{`6|8 zZHZzi&lXHa5MrW8*WX#~sIPO&r)aCGzQ!8=n2<_=M|$7_EBK|b@1@Z{4!c*QnZ{Y} zg=6q{cjtHhVnXaJz!|dv2c{ZA<co?^fsABpK;CSqm`CN8z1py=hDVhC?Atf`LPQ{% zUo&cZ>&6kTu5zWwRWNSZJI&64e@=GFBu5+~Z=OUN=Bya%tV#Fsd_g?ruiZo1_*NGs z;PU*ju)m>`6&&zPhUC6$6!$Oye_gpXGLqtzAS~)$8KEW8wa?IUKnd&Y!%7U+Hg9lG zdbifs!${C_i!3)It7B_-8(WA0-I|hbz}^8K(A$D-6rs)f_22iKw>ao|P2=+-6A##5 zu`vKe(4^aQN;&V^SLDIWdnXn?V4)_jy;kEbHD<<afB9)MUTO4>L|=whVOSQtIBHv3 zH%Y;306>$RrhMvu3msp_ue01SP$e9w2(F!>WxI^@vVA5zn!7Q2;`A%h=9=z3M*^C6 TO5W(-7Y@)=(^aikwu}BBv&Y)D literal 7869 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 bpMrk{SgkyhhKxl^00000NkvXXu0mjfPak^F diff --git a/data/tilesets/primary/secret_base/unknown_tiles.png b/data/tilesets/primary/secret_base/unknown_tiles.png index 3ca4d9e87975b45c0a3670b30d9ed6c0d08151e2..2511e18b0ddd24182f19ce69cee27181f6c2fe0f 100644 GIT binary patch delta 1223 zcmV;&1UUPo3e^dJiBL{Q4GJ0x0000DNk~Le0001h000311Oos70EyRQlmGw#Fi=cX zMgRZ*?(Xj1-rmj4&Aq+7tgNh@oSch`i*s{xVq#)aQc^)dK`}8gARr(R5D)+W07LZQ z`Tzg~U`a$lRCt{2o4;?{Mij>nw7T(N9JO>YO5SNG0=boc?>y1~Vc)1!UAh!#Mx%d2 z(V^{7cu0_`gZ~8q`3thpqTmJvor+Ql1cilkaE1bgkQN?1G-lr&NlR|zx)s;=0gPwM zeBb-NAG}S3+{M&#=VP}*^Zb`D@;qMns1XtWe+cv~ivn8T_V9GHMBs_3;Mci;!?kw! z(sb%=ysJQepK#8DdvgIHwHC@J-0$TPsd@xmqQNv^JNAra0<^LxWFrCrM{MU;XYhB% zEE|M+9^<zN@OyE_%3*Ndh!97$KACC9p9^F`;7KcRqsO%W`B$ci8PDuvgn)0zBfOz? z1WIFW*(4LjxY#s49cMwpJvmL&lhc@vCFdXfF(M6rm_acH9XU#pL|H;I2|#B&g5)*g zcdjdOt1%9gl8hMvr==s($bW-JRA(+=PT&I&aEko07PtSC0R)6nJcx-OiER+*T^SoN z&Lp*jbdyWo<|AXE9Jp0*&keJfxC59*YCeZSf&(bPCub1|7@y}MZG(X}4@rkmYP#*O z*&5t`tLMPaum>)jQz-k|NQ2Nv`58&<ihu)t!rKE7pwny&rIJpE_&zwuE%QYx-8sTh zsx{Mv0}#lhNC#4cWa@c=w_~3n9p5zZ$FFa`3kBS4gO26`P@!#R7BJ7-H2G_$pQPx~ zJNcy822z&bf<V(uBQ*=jl!9j3c`Qr3NhL6UHpizbq+5(Nl}ybvpoae-P?m5Crzb*& zbh6b<Bs9~Zqv@z~w}oPie}$7YQLsv322M<L2;B%q*22GBXzAPml)xDe!mL=$aE)e? zZ@^*_s(7JLwsN7PDUV5V9FuAafd>xSX|dYWlS1vlT8<%_cWfv{*SJ+(5|;u4aYKNA zaZ`fF;kD$UPvPYhun$!vdvd#FYF4q^EzXZqT?xP#y?_Nx5a0o0;KZLWPni2*;&B_@ zJ=KB(Ng}($U5IODfTjn>=Y;?dJXSj30;VwGT$p{RqMNjb$_TW&L-@BzvXxi?*OVZ+ z=XnsfSOC#A*9;_9k+^!$-iDN6H+6S^!-Xk;fO~vytvC6+gd(vysv=~n#5OV2=`c1C zerywG>GORf;1x|Q;}IC*N?u1eO%LtPXuStcIth%>g<l56o!HK-Qx#V6h<kyM@;WZ; z0qm>|u`S_Rz+70xCfaxey@ZWyS8;Lu(yIR0j<wi4s8vGu<J;o0MRv{om6luxzxTJr zWh|9NlTidAlVAh{f8?KhS~LH>*Y(mrd+@rJg$KVM9{y0rz-%@<tm9z);j@R&-qaAd z{C+z9@^LMJ{rx%ujgQSYeE*DA7ih6>-)Fn43y?ke-G^d(^?cG$Qm7gR$ohp+y*guj zdywY`uU5}*^e-R1eB6kGOA;NZp6Z&tUEU%Y(OyIeh=F|6lW=XIL6-pligS^_U# ly}e&YfaGu1^E&w@e**&k>CTUQX%YYc002ovPDHLkV1hJsN2dS) delta 1292 zcmV+n1@rpV38V^tiBL{Q4GJ0x0000DNk~Le00008000mG1ONa40IwMm^#A|_>q$gG zRCt{2+`n(zMid9|=XCI3w1FU?Lp(IFQ3PmYsrJE03`^mXzaW7A1rMEqWH36k9g6-9 zg~t@=(j{&@(gp!*^wDZ91RcyH3ol(v!XP(G#P$0~%0Fd)Cmo6)z|-&nDLy@tci+2F zWbvU%%;7`LBuPqcuS3OA$>h4Zlx!N#fjB1H48v<(S|C1ZSqhU~ONjxozdQMsWAZa@ zud9gOv+lpaub&cqMQOL&rSut}J~QSb-Cuv=VY2iKkwYkRaQdY~CVV@_ysa+Wc%u|U zgsI?3G0j_l=A)Vvfay5@ZpgS~a{~gu0N<I2uX<ITXL0KCk((P3=!iT9#VE<68*XW$ zP0E8kqFf*Tj?<w#u@3z$P0fOun@8k&flmttBh=PfS16?bO4<&i#-QwgP|+(vS&wX1 z2UcC8!C`HLhU|imu|F_Ar30P?vt+302MXh7LNdXBK?_Y6m<|}2f*uVzpyLPCjf#Zj zHX4B(?-7ka-*TSknwb4E&k2|C)jnd@Kc6zNkZ`DD&U1WlHX8Y*qiBQ__xn7=#ohAJ z#i5Ieqw&~B5g+xVqBx>#X<kvr(aXBa%aqmYb;_m|7bzoraN#jo9#ge6UnOjLdD)?Q zz2?w=;^Nm1S2^?}UqBh2nMcibFcr2FfUJX4o2jdFY5xAKMShaBNSlyTjNd9XAsa)t z052GM0l#lBdDS9zbm$_9dyLOS?v=4BacM|jSlXOI=b`K6SlDQq2RR<s*s8skYab(| z`#3ec_Gdlv|D;*chc%ac>w4vWP{!<X)=E}?oQq%#dSi;{eR4f|e6?wgH7#(I=e1VU zQ0?N>l&J&QPh;do^VOb0!rFn~Bi|r(i3xj%3XTk)hQ|OKW<u#cLY+4DkEzL>n{8&G zK+OFN`XySo=vez$J-(^>oiCT9XwRK(be7^gZ6Ryv5slKO&s(!kQJNTv8cAH{IY-ie zu{HN23R|{M=BSlZpm#?U1jutRd4I+(Z&OSK)*qUppKZkE+6Gl*h}TD;u|96=SHSsO zML)X@vTZ%FPBFn2*gNDj1<p<Vupn%vx5&0Nw%oSAb<2Lr*~qx*>duY*E<fqWwkO;Y zDC6+5a>!9G;P2Wi^~=;0b$CzgoNbJMiq~%$y$mtSR<P?WZq$pE3`)j(B5!VC4180@ zqG@6Vt(qLd%wRh#_Jbl3aUA#P*o*^LbP0>oz*PG|m9YKf9sTeN&Td@A?8bh!VTzws zJn>CTPfQ$w<YK>o^K43v87z{(FIURo|Lm8w2f*!c;5cT=9p~@Tgsy6YVX((b+e48J zHO}AFiEkewT&r6gIBu1>+)wGNO;=41G1~!Z6-~Ffv!2{EtBx`}ZokcuQk>!<VP|#D zdFnC*&Srb#k|NJNEa&3rop~0M0R$wI5CjW<crQ+W1Ft?Ods?fJJ$d=);?>vS^d5M1 z@3p11wQnrd)^POl(cKUJ;KIko^tW@&1`Yp65*i*R-;>?;zau;3KO8!l(PZze6V3hn z+|mY<B%gZpPqO3DU%?*#-;HNUZz6iMe*Z(ijPS8B>`uR+;nO$kWNGFB0!J>`B=GPv zK1%3rS@+<1*Q51^Pk*2no6{CW9Jm>9=M6Zas^7mzirLl*7h8b<0000<MNUMnLSTYB C^?#@U diff --git a/data/tilesets/secondary/battle_arena/tiles.png b/data/tilesets/secondary/battle_arena/tiles.png index 7414666df9d98fe97653ad91593933a04039b725..c0592a0b45c22ef06b4ad16940cbca2aadf7f49e 100644 GIT binary patch literal 2116 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 literal 2340 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 KMNUMnLSTaCvy>YE diff --git a/data/tilesets/secondary/battle_dome/tiles.png b/data/tilesets/secondary/battle_dome/tiles.png index be3708bfd630be84a3d052286756487e6beefe31..04ebc0e75112b089f5867ee0c7ecffe2bd6ccef1 100644 GIT binary patch literal 3239 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 UdE^S=&xrswdmJpEnzK0n13{^YX8-^I literal 3626 zcmV+_4%P9AP)<h;3K|Lk000e1NJLTq000O801kiz00000hDhPQ000f~Nkl<Zc%1E< zL2TT{6^17X+KYgos(Y=Gu7MsZK!~kV5i~%7)nyY4JuG#Q8>1+ojghwMEvu7{)%v2V zr5<u9v<6CBf}l9PthJ{!2Z<t3H0?ps(y^_`s+OF+^=7i~e?xM}6}d|%>nK4@Kp$o} zZ-?aYpEqx2C}GhdT6849=Q?zRkWz{Qc4XEOmTh-LtDOR$>o{q+F8$W+wo>48UMB$= zUtD3wG=*gnc2KZ`>+T@iXJ?xC0MkOjJ>1_tWbcUv9byp}np#rX!KtNsy)Np&;1vBW z7D;u{uo@oV9sqmvSgzIC6B6iq6)imUgYofk@ekl}sZ>%p`^s8^EOvn(3$mD0pu%<< z4q@A-UmV)vuwyZ#2++<x-=Cl(7i1QomL4+geB{61G;-fBzf}z>S#VIIg<tHr4%J84 zNu%RZX-B#c2-WA=_W+Y|FM&Rp<!1Y2mYe;y>(6sZT%JRZ<#n8za2b2f2P8c^#G}&W z2ja=p)RcNDwOVZ<fjdCcu=d2-HRC-&W^XIIV=7ML194~>bK+lyQ6X{J4%vB*sL_Q1 zTio$TdUxoWAs&}54pE)PVAW~tWN0l5eKO0%PKMU9&?mE8aMMZdZ<|B<n^awV@KMx` z%QuG@Jx4ox9(59i?{vt6I8H|dlqZMML8`Sa{DbXni0k(Xt_i`#&;^XOckW*mpT2W{ zTYOr+-xh1-@(kcn0pq@h(i!o2xm*F>6-OZ|!byV*K7+Uzcj$5n=z`DE`s0?=p4w&L zoQtOvX%Cn3tTxWs<PRJ>Q)}%1lqZC*;|g*F7kWZ%m!&oKf65bDE_zwM{$fwaJ`oSd z&&$%o11cr*lW)^gb{~)(BcYslu;Clx&_Fxx7hs2W9@DKWVb><RgEpD$hVZsYVcixf ztc#R~l$TC%X`jp@xWF>d5RN=)C~<}O<huCu8sYEP{<a{Fe@9rBghqpI_b8U$mj=Ul zR~*k9zlQ%K<C;97+a*8VCo_f(oB$2Rvh+w?J9~t?>rskYL&3%<i6-f)W^(LIn5K(C z-SW^(+Xw^35doAkp<6tlqX@<yxl)uK$w#8}7`3D!0gfl7eQ{h|loxTK$t*|}Pilo} z$Oq9=`bY)wP3m!m+Sy2e3wpReZC8Vxfl>`F2+r6op!9kIk)5AVSPD{gacbwD3Wa?B z1zuF(b92J=Q4+Oysw%!N-=xEL&;uM`zeg}P0<mx2?Fr8`+o226y)my{bQkK2pmbJ- zcFEq8dJay7&(TG@bPsW%LtOmu;2@E5k@61Jv|yWlwzo}{5)L}lx2S(bsn+%$N}Z%X z-HhONV>p{3(8ps8IC^m-wquO-A|S62_|&FBxBW~6uI*Bm`c}}jeSivFCkRuh;32RF zSd<ipQ-mia3V?zs(sK|X750E<z#-w8g@Qc_fJ$$Zo~HszMb~}UZ3n`3sd@+59$zSZ z-Q;-bV7#RHk?$SQxx-!R?A9(d_AXMpyVUj!i;$T`s%Zc9Nn)f^@+AQ!p;N%$&(tZm z?p-vj+2%3ope4+WyDhPQx=zjrSsFqupp^!n>m*QQ9?H@yJ{}bs7u*ij7=m;bg7OTC zO&o>6$7T%ZECe-Agt1<PC@Ki_JCEUaogP96Tljm2J@nr~uk86y@Vca-11P7XWR|P2 zb+ml}NYC^DyoLP@MEa(3@D%dXxsHPghm>KwI~=F$^x{tsGJpa<28qio0y7NqhoR_r zRCHV*>?cqvoy{`Nv?)2BGg(4CIpZ4v8u7GrG+3o$l!)5Ei&Ex>Sob;_VQI(V`98tP zlawCvwaKXoK%ETMsRP;iaBjh=#yY`gm>A<t#0L`M!i>PCAd4X-M^%LI98y+vH4eu5 zA~K!TcUs7f<}TyoZV1wlR0y*!CLxxcP#9x;JV%6DVIk;hSt9&@(_hDx7S@q=(VP_f z*t@_XW=|C1X%rpbirNLiX{!iaOO3S>sAXUtlbZQNB-po}6NSI;DQLU1>p3+n<roSU zR%|3D(6tQAGBBypg5y*lSbtW>*-r_MQ+<H`ypEOV2D+1I=%BZ#UEhQ#t2bs%oO10( zKAyi=_&i2YSdGAo@w!64)_leWc|HGbOTm`}78irHrlAWM<#PFIj2Xa7V@Ba~qQVj2 zq;V93#igJH7pqQ#<{<mj%NX0dPSeTU*I1`n4FMr1qKwYh*e7|;etzB(_-0XbefQ!; z64&H7wfN*usH;t)Z)xy41CQb)u38K&IL=B12fF}~ulqy7*YP>sfBE&WoBMa#*YUYN zyBfq*OKXj@GKOVST(WwL29XtvB)5hPHY=RE1*{CP!yva(XfRv_ZVj=k&C;{Y;{j)Z zT0Z7EH4DrSutS5*r&nEaz^gN}L+n!B6fxYJ)Hyqs#|Z!Y0Sc!2dlcKXUZd3J1;Q)8 zAWRMJZyee~W*QXSVKP77OF&A(_zzRiwMfj9Py6s>iqPGB_%-@W4Y(oxTMJHv-;g&5 zOE)r&dCtBZ)cz=zWTPkQCxqM=&%01doLw9uB;JZzBrG+CM030!)hHDD@qSbz|HV%O zRnATi5mFVHCR7a!BISHk0b`&^glWJS{eYX6nF3r|-?=`SF-oPg=SW-*aG1oS3xqFT ziGa9?#`!>)8$E(K2*FAHeNsEUqu^wz4y`Q`78~N}hYiM}kWcG3ME(8cKzvxIU(^>V zwY0cIT3Z4d@82X{5&l%aDYF~GM}MPXT=={w3uM_z>QeL;W_ozP3<|P1(t4E|?2A`v zn0WjKAkIQZWI}CrjUl!5G1hT7^%kAl+Dh2*j#vqcJa0`Pg_X#Uk(!v;<oXc$y@B7p z@jBtvN!Xu3VKK<U`|L&c{R-{JXGu?O(eVPdjP5T~SSbXV^~izBa8*NjN7$XZG#DoE zWXd`tM_{n(68d{uKOuoUeM;5)0Pf1S|04od{#gWFc?w9eT)!EJn>XnfH+w7<!bdJ; z|0?Z3Y{)jw5xSp{xE}q8wDxEQ+ch5D<k8`SmN+`#R0PAg)+Vj}lE!X%L}Rz*%wPfg z46?MwB4jzTFj=DF<FPIA+QdXlj7?l2T-m%r=SuV%$LLSb940nNh^?)yH%05x)~2{L zc4<?zN^e25n@PJYt%V{aIkGTWqDA%h9Q*7=k3##zqxPq{4$p-gH45v`Z$ofc^6}MX zjwOO;9v1r@c(Z3=2qC*<+}g&*O^0AHoQG84QEBI4bbnf5j4t%YN@PvSqwRxeJ+V(~ zPFpFFHF<C_Bcq<@mr*mX)w{?7N5Gde09>grMVWgA?tnL&Y-H^j+|YG`aXkuHM*TjX zOMl8!#~SxLu^;lBK&?~jqi@5KQ@XxLVf?w1Uhs?jRb1bwpQBG^xhSeX^$Xm6B8Bf{ zT+d?gv-Q+aF5&PjyBGSutow6l@**58j>@>zr2G<Fp|hCOP^o2e@V<Z@W6wjYh3#it z$8ym;uNg7aJSv<Et#S0#Bvh(MnS|yXVQy~P5Vhk4vO8X&TBM}X<ArSK`gBNFHJb#g zD?&5Z&ZJV@fzhlgWZ9W>W>ck_MkPd+UB#%Hgo+VkF4L|FI|C+0SYM7^#iSJ7mI7z9 z?B>>t3N_ty5?OY}+#FqZPPKDIA^W;iU{tEj1Tx#DiguwkR^aTY`v;4QWmW^^F{!S5 zOc&o}d^v9j`}nvPiA!mXvhz@mvCsw{2xIp815sO8aH*}<=*FAPX<-`8rkJi6NX<ci z)5%T#T)`<olWZ5sER;{y41?_|b5z<i6wG`(tuSM*nLT4s^~Lh3n$-dIC1f_RKC&>9 z?>zVZVucw{U9R06#5IR6_Y8ATeMy-Os*e<A02Pv1bAa8b^~aU+&YoV`4%EmQbdl{Q zmVx^0Y*e5=Gl&<&r|?~5A*`;7DXiH1JjU1AhZuFc6n~BvgUf`=;{=+7OkpwoGN4T^ zXRO+5XuDjKZ;9RL-`kZ-5p;9D`C5b*b=^^8WLtE%BiybN>V(^i4Y68pG{kM7o(6a9 zQ}pvw_?!sSgld&AT}G;$@CPc?sM5LVjFqB3yWAC}7ixD6=PH>v|2I8ay<mrTWdPjW z=v!S6@h&6lT&wi}-%6VJYO>=fWSyf+)+2Fgg~g~xsAp&`3#SIXyi=$tOqElq7(>@5 z&kN91#mo^L3iwl+HOj7?r~b}5ij_zujR-58`bdh^kGd_f+NGKQ^43pl3SCT`G}JoW z=2%O}FJ71V`ya|~Yl7?^PY$)qu5Ug8)zAO(GgH-<6*uYNiJBgtUdatQcYQs=doixA z_sc97-?XF@pevKkRn`b5l~STCOxUdr_*ot*=K1MwC05u#^vMj-Xoz&dfQ`8nir!zO zFk=XE1$PElLxmaDK{!YKtw9kQ<p^dP1;tu1&3=h$ooam7^jC_JE;z5}c!}>OzM}r* z=J!J!V>muupn-Y0wvaQB{+7mR9v1aKKxEqe29;u%P1((-kzHS=ulv>a3{{^Q|Lf}c zxA;rs=uZcHD*j7-Uekc;8q3Fo#<I-+nzS!+J7f2v<{$h$O)ZY_&Rm!0Bs4`aj9IA= z*)1pR^!(%e-^@#VB|Q(E^}f*gZ@j`XXeFj^n#)Tsya=;;JJkozza?MdtLbmG(8u*f zKf>ov6Gyo2o%HgVPCu-V7x5X(nf^2q`e1+0AF<sA3fR@p)9(D0^AbrE-XgiIwh_jM w*d_KH!i|T^L+rA4De~<u<X`s!Vc2v04+46KXqk%uTmS$707*qoM6N<$f=0On-~a#s diff --git a/data/tilesets/secondary/battle_factory/tiles.png b/data/tilesets/secondary/battle_factory/tiles.png index 4d9463b201df6450b99a85d98901d68af3c749fe..381cddabf7b7e761c87bcb7e2f4a026dbc5be7b5 100644 GIT binary patch literal 3368 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 literal 3694 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 M07*qoM6N<$f?mZ3;s5{u diff --git a/data/tilesets/secondary/battle_frontier/tiles.png b/data/tilesets/secondary/battle_frontier/tiles.png index 1b14ce5552d60b4d8ee8f755a735689e1e8699d1..0b39cbc0201a5887b76b21f7d8d5613a9e8b6232 100644 GIT binary patch literal 2411 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 literal 2647 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 FV1kga0Nwxq diff --git a/data/tilesets/secondary/battle_frontier_outside_east/anim/0.png b/data/tilesets/secondary/battle_frontier_outside_east/anim/0.png index 8a9905198e98746671448b35fbd58bbcbea470d0..98f1a928387b0f09e42849d5210d9e4a48746f31 100644 GIT binary patch literal 230 zcmeAS@N?(olHy`uVBq!ia0vp^5<o1#!VDz;aV=T~qznRlLR|m<|NrjYyL<QUojrSY z@7}#@)~uN`XHIu_cX4rXQc_Y-P>`deqoJXpf`Wp8fB;aF^OuLefK;KUi(?4KOxJUU zd<PUbSOdhS%QbJfku1UYD9ZoxhKE;5CI?SjwYKHyQ{hjH+qkc_92Rp9EX^zP<9P3T z-{#4(7EkS(2ds%te$4eu`qg-%L%7__L&UmkL;d53YGzgcW4i-<7X2zqF$i9Nh3!D* d;*5XR_BSF7rTP}%ssvij;OXk;vd$@?2>?5vU3CBe literal 191 zcmeAS@N?(olHy`uVBq!ia0vp^96)Tq0wfsD?CqQeq}n`P978x}ruG?fF*|a&{#U)L zmt$Hs>9WdOITstZWs)|>%rbk<r6~w>w>SN=dvu5SV_ndrgWSizwd=fLUA8CTqIks) z)hi0GxC~{l-#g;@{lKxUcOG@eJwEcQMtf;UljeE}_df?>Wz*~yq)K1)OlK5)?kW&# pwto3y^)1^Qmg>2#eU!%-wbJgEcArL^S%@#lWuC5nF6*2UngA)vN`(Lb diff --git a/data/tilesets/secondary/battle_frontier_outside_east/anim/1.png b/data/tilesets/secondary/battle_frontier_outside_east/anim/1.png index 836986b1281bfb14ce636f381db107667b99cbed..d0254e9ee4fa0cfaa55beeec48dfd7bd78e48050 100644 GIT binary patch literal 227 zcmeAS@N?(olHy`uVBq!ia0vp^5<o1#!VDz;aV=T~qznRlLR|m<|NrjYyL<QUojrSY z@7}#@)~uN`XHIu_cX4rXQc_Y-P>`deqoJXpf`Wp8fB;aF^OuLefK;BRi(?4KOxJUU zd<_O1tN~);{f-e;yqB7Hyvp?1et%`5_Hq&3ux;Weo(r$-{TKOd+pJoPEcT|;j1D5# z<a71~c&=!i^qD_#e>USen}d9OF{^aus2zEH>xc5G$ijW4YgDG_&pLDeT86_DU-$3q ahUUBh#-jCkv-bgQX7F_Nb6Mw<&;$Td2U%7C literal 188 zcmeAS@N?(olHy`uVBq!ia0vp^96)Tq0wfsD?CqQeq?$cl978x}rk*q8Vo~H_y-<Jh zhHluh$+l;Gtl1~V9Cj<}$=r5Qt?$sGC>xO{|M_=sK4_O-)+e-~c&YuL2WmztX-uC5 z+}U<)W0QMjp8M<1?0^GPc;=pVvd}O4lx<w?-?jYj0zs`uAC=-PU8J*~bA6IEi2t%B mvn8wCZNBXL(8wgmd#m?Vi1p|$QB&Rka+as7pUXO@geCyIT1TY- diff --git a/data/tilesets/secondary/battle_frontier_outside_east/anim/2.png b/data/tilesets/secondary/battle_frontier_outside_east/anim/2.png index 660d3080fcc3dfb3de9b538f544579027dd6f001..1be9641b86d65feb6b7a0944b7a50b5a542a1a03 100644 GIT binary patch literal 225 zcmeAS@N?(olHy`uVBq!ia0vp^5<o1#!VDz;aV=T~qznRlLR|m<|NrjYyL<QUojrSY z@7}#@)~uN`XHIu_cX4rXQc_Y-P>`deqoJXpf`Wp8fB;aF^OuLefK-mBi(?4KOy6_6 zc@HS?umng+9oukcL)%lwONUGZ=f)~p%`oc7Usr7>p5Al%*|9dg>(5TQon6;)%|;>W zMt9#cLB|EXS|`Li>wT5nPH;2qjnZ&&VDIUuQ&LlT(5mo2`b1T>=kFcmhqf5+Nq)}k X@>ZuyevK;|&|U^lS3j3^P6<r_B;i=O literal 185 zcmeAS@N?(olHy`uVBq!ia0vp^96)Tq0wfsD?CqQeq#8V3978x}rk>l#%WTNu5IF5i zshH@yH9p0e#vDn!<{gH2Vw?|%yH9-dsFSId$L`|6_3CWus=5`reesW2H#3~O)u6?n zktMXj;rWbR8}3!lxFGn{?O%K1GP|d{EUW91@9K8mpRuvg<4I(w<57tmk!C-;g=<3M jgzxm|>uUDzowSG1bLONSR~CGE4RVvGtDnm{r-UW|9*{<Z diff --git a/data/tilesets/secondary/battle_frontier_outside_east/anim/3.png b/data/tilesets/secondary/battle_frontier_outside_east/anim/3.png index 7fe571b4ac021670fbf81beb852e3dd920f73051..7a536f24c09d696a56d0bb78a51241c7182f0817 100644 GIT binary patch literal 228 zcmeAS@N?(olHy`uVBq!ia0vp^5<o1#!VDz;aV=T~qznRlLR|m<|NrjYyL<QUojrSY z@7}#@)~uN`XHIu_cX4rXQc_Y-P>`deqoJXpf`Wp8fB;aF^OuLefK<Mxi(?4KOy6^w zLI(^uSTD?&CHI(L&6e%3W76fzC679~c$epF)03!R`f={<(b}!9uXDGrejJjWeAQ?n z+f{MTJ<m1@uM+yfF8E)8vo3+LkJX_=?c5QbY3xo4^XeA~{(kbgLwL^C>0!?r=M}lW bk0@nM<ka~s<+j=cXf=bUtDnm{r-UW|FZfzf literal 183 zcmeAS@N?(olHy`uVBq!ia0vp^96)Tq0wfsD?CqQer0P6f978x}hMwEVd)R=7<v{$T zywJ|M6Ef#qYZj1E&f@4>sK)CYS@>YXj;<f|M>HBM>@{!x>`&f3dHVth7Pa(($$Vzl zU08f$uAN@sp77Y`*<`8sU;Wj8?&+PAbib3K#aC{)B5mRfX`gE5(sd^^Q$v4gZ|w9b h`Sxv=@rszk>hd~!C%J$AzvC##MV_vHF6*2UngEnuN3Q?? diff --git a/data/tilesets/secondary/battle_frontier_outside_east/tiles.png b/data/tilesets/secondary/battle_frontier_outside_east/tiles.png index da34656d18d2f6abfb8aa874e845c43f2a15452c..59ac5b7e9a488751d4510d92e82594473344fae5 100644 GIT binary patch literal 3798 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 M07*qoM6N<$f)$m%RsaA1 literal 3834 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 diff --git a/data/tilesets/secondary/battle_frontier_outside_west/anim/0.png b/data/tilesets/secondary/battle_frontier_outside_west/anim/0.png index 8a9905198e98746671448b35fbd58bbcbea470d0..98f1a928387b0f09e42849d5210d9e4a48746f31 100644 GIT binary patch literal 230 zcmeAS@N?(olHy`uVBq!ia0vp^5<o1#!VDz;aV=T~qznRlLR|m<|NrjYyL<QUojrSY z@7}#@)~uN`XHIu_cX4rXQc_Y-P>`deqoJXpf`Wp8fB;aF^OuLefK;KUi(?4KOxJUU zd<PUbSOdhS%QbJfku1UYD9ZoxhKE;5CI?SjwYKHyQ{hjH+qkc_92Rp9EX^zP<9P3T z-{#4(7EkS(2ds%te$4eu`qg-%L%7__L&UmkL;d53YGzgcW4i-<7X2zqF$i9Nh3!D* d;*5XR_BSF7rTP}%ssvij;OXk;vd$@?2>?5vU3CBe literal 191 zcmeAS@N?(olHy`uVBq!ia0vp^96)Tq0wfsD?CqQeq}n`P978x}ruG?fF*|a&{#U)L zmt$Hs>9WdOITstZWs)|>%rbk<r6~w>w>SN=dvu5SV_ndrgWSizwd=fLUA8CTqIks) z)hi0GxC~{l-#g;@{lKxUcOG@eJwEcQMtf;UljeE}_df?>Wz*~yq)K1)OlK5)?kW&# pwto3y^)1^Qmg>2#eU!%-wbJgEcArL^S%@#lWuC5nF6*2UngA)vN`(Lb diff --git a/data/tilesets/secondary/battle_frontier_outside_west/anim/1.png b/data/tilesets/secondary/battle_frontier_outside_west/anim/1.png index 836986b1281bfb14ce636f381db107667b99cbed..d0254e9ee4fa0cfaa55beeec48dfd7bd78e48050 100644 GIT binary patch literal 227 zcmeAS@N?(olHy`uVBq!ia0vp^5<o1#!VDz;aV=T~qznRlLR|m<|NrjYyL<QUojrSY z@7}#@)~uN`XHIu_cX4rXQc_Y-P>`deqoJXpf`Wp8fB;aF^OuLefK;BRi(?4KOxJUU zd<_O1tN~);{f-e;yqB7Hyvp?1et%`5_Hq&3ux;Weo(r$-{TKOd+pJoPEcT|;j1D5# z<a71~c&=!i^qD_#e>USen}d9OF{^aus2zEH>xc5G$ijW4YgDG_&pLDeT86_DU-$3q ahUUBh#-jCkv-bgQX7F_Nb6Mw<&;$Td2U%7C literal 188 zcmeAS@N?(olHy`uVBq!ia0vp^96)Tq0wfsD?CqQeq?$cl978x}rk*q8Vo~H_y-<Jh zhHluh$+l;Gtl1~V9Cj<}$=r5Qt?$sGC>xO{|M_=sK4_O-)+e-~c&YuL2WmztX-uC5 z+}U<)W0QMjp8M<1?0^GPc;=pVvd}O4lx<w?-?jYj0zs`uAC=-PU8J*~bA6IEi2t%B mvn8wCZNBXL(8wgmd#m?Vi1p|$QB&Rka+as7pUXO@geCyIT1TY- diff --git a/data/tilesets/secondary/battle_frontier_outside_west/anim/2.png b/data/tilesets/secondary/battle_frontier_outside_west/anim/2.png index 660d3080fcc3dfb3de9b538f544579027dd6f001..1be9641b86d65feb6b7a0944b7a50b5a542a1a03 100644 GIT binary patch literal 225 zcmeAS@N?(olHy`uVBq!ia0vp^5<o1#!VDz;aV=T~qznRlLR|m<|NrjYyL<QUojrSY z@7}#@)~uN`XHIu_cX4rXQc_Y-P>`deqoJXpf`Wp8fB;aF^OuLefK-mBi(?4KOy6_6 zc@HS?umng+9oukcL)%lwONUGZ=f)~p%`oc7Usr7>p5Al%*|9dg>(5TQon6;)%|;>W zMt9#cLB|EXS|`Li>wT5nPH;2qjnZ&&VDIUuQ&LlT(5mo2`b1T>=kFcmhqf5+Nq)}k X@>ZuyevK;|&|U^lS3j3^P6<r_B;i=O literal 185 zcmeAS@N?(olHy`uVBq!ia0vp^96)Tq0wfsD?CqQeq#8V3978x}rk>l#%WTNu5IF5i zshH@yH9p0e#vDn!<{gH2Vw?|%yH9-dsFSId$L`|6_3CWus=5`reesW2H#3~O)u6?n zktMXj;rWbR8}3!lxFGn{?O%K1GP|d{EUW91@9K8mpRuvg<4I(w<57tmk!C-;g=<3M jgzxm|>uUDzowSG1bLONSR~CGE4RVvGtDnm{r-UW|9*{<Z diff --git a/data/tilesets/secondary/battle_frontier_outside_west/anim/3.png b/data/tilesets/secondary/battle_frontier_outside_west/anim/3.png index 7fe571b4ac021670fbf81beb852e3dd920f73051..7a536f24c09d696a56d0bb78a51241c7182f0817 100644 GIT binary patch literal 228 zcmeAS@N?(olHy`uVBq!ia0vp^5<o1#!VDz;aV=T~qznRlLR|m<|NrjYyL<QUojrSY z@7}#@)~uN`XHIu_cX4rXQc_Y-P>`deqoJXpf`Wp8fB;aF^OuLefK<Mxi(?4KOy6^w zLI(^uSTD?&CHI(L&6e%3W76fzC679~c$epF)03!R`f={<(b}!9uXDGrejJjWeAQ?n z+f{MTJ<m1@uM+yfF8E)8vo3+LkJX_=?c5QbY3xo4^XeA~{(kbgLwL^C>0!?r=M}lW bk0@nM<ka~s<+j=cXf=bUtDnm{r-UW|FZfzf literal 183 zcmeAS@N?(olHy`uVBq!ia0vp^96)Tq0wfsD?CqQer0P6f978x}hMwEVd)R=7<v{$T zywJ|M6Ef#qYZj1E&f@4>sK)CYS@>YXj;<f|M>HBM>@{!x>`&f3dHVth7Pa(($$Vzl zU08f$uAN@sp77Y`*<`8sU;Wj8?&+PAbib3K#aC{)B5mRfX`gE5(sd^^Q$v4gZ|w9b h`Sxv=@rszk>hd~!C%J$AzvC##MV_vHF6*2UngEnuN3Q?? diff --git a/data/tilesets/secondary/battle_frontier_outside_west/tiles.png b/data/tilesets/secondary/battle_frontier_outside_west/tiles.png index 03704bfd0f49d17c19946ce58759ddae1a803bd2..277abe7f891ff66769fad716d84ffbb1cc5263e8 100644 GIT binary patch literal 5544 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 F{~ujBvZMe2 literal 5892 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 a>i+?l(QkUCf-P(S0000<MNUMnLSTYHBZ9C1 diff --git a/data/tilesets/secondary/battle_frontier_ranking_hall/tiles.png b/data/tilesets/secondary/battle_frontier_ranking_hall/tiles.png index 1c1f700c09e77e702b13b90f2888404310265ccf..9e82b5fe2eff8ead3cf5c6adda140ec18048de7e 100644 GIT binary patch literal 1503 zcmV<51t9u~P)<h;3K|Lk000e1NJLTq004jh002k?0{{R3%&Xub0000mP)t-s|NsB) z?(W{+-p$R;y}iAxtgM`zoQsQ#b8~ZIVq#KKQb9pMF)=Y9ARrJB5C8xGL-gVL000GQ zNkl<ZScS!wF>l*A6vw@EIN%o2Xr18}k@BglNg3B!qJWNVEWrh?OK-?71%~F}TEOG2 zb^HY^d+kt3LvQF%iy!LVqnyN&l}5>OZ!lrN{PF+Z`}5HQ)e6=MJ!pjf*8KkKAcz_f za@h#c2K;D#Uk?J|2BGgp;SFF!xv;1d_W`m-0D##+<Oh+0-9Z3=G~v?XlEH4y`v3%2 zkr&LSczzIqf|yB%Plk9t7bk$K2`Ev4ie|1D8-PLuOit+N(g2vy{~YiCMgJ%ofhi~z zg?`9Q31$FbObScHrUa8yz)1?O>qf3A0|Y3bluByK009cVem;upE`X;(C_spS5Q<10 zCZGTU0RoDcXO+&YVqM|7?EnOR;6e5?ECP0cTik){Cs+jRLS9x?wFdyMU4T$24yVuT zx(!?~7Q^Y2q;7-Gcl%ww(<_Z@7hq<4F3JZ5G629NaVW|M1%x9&>ug_C*BaMOfRrH? zfuR;C;)D=^MMzN#L%=rM>HS*c+67Q(0qB80Rmyfl&d>tT18c}wLIr5A@@l^Y1+Z>9 z0AND^*wM^~^T7{bLjWXlV!`<q0?Hj64GLiG0-%Da?Mdzi<3QF5hKWOB$}c(T;RD~} zQh7cTw#_7@U^y{ij+Ks*BqfjncwklP0y2Pg+jSRs5Cn>kJ>fBCgOy{>Ig2lyk&~tg z7O}j}%57EQy6w6PZs5Dhn}*zm%L4$)Ey|psh!Ya0=tRBFwpm%3RqsDHVh4b!tDygO zD48cX0EU!7{}Vw{XA}cqTV3bHUT3&=reOO4j3cF_XL}xAXN$u)VvIP6;}|2Yc3D+s zxB{S=f~kQ!4pb0MmCI~Y5YtP}xEL~;CZJ$d<m)Wk78=)02SA!(9L>0|d<iumW*Ey! zY%z<Z=!4z5-0$=b*G>TRAdu1q5O=``Z~+)6Bmq!NPknF-@L^{t1q?=4`2u_ZI|UiR zV5H0%iK^5`0eAWY;4-)bE=M~D3R0jcTml-SojFUzkL%;#e_eMdaFz634;}~RdH?_u z5Q{qSIHc48z~(rGRR_R!1$S*ZjRKEh5feI!X+nmQJ1G>gT5YT1;DaLHbfmyspGk8i zL&haK(MpNAk|K=>05lAx+6Vcr3m`ajGEy$iWCV<2=%i#6XR-mn`3E1A*#@pvBlLrh zD=64)4?ZZ%P5GN{#J_`wp7&~%XE_|TEs8uZHYI7r?VHmE-9)vj-vw>ng-toQFTDCd z+iME2tCe{d%F?_GPXg5M!rr_KPXg5MLS^2Crvc2npi5kT0toAx1#Ljv%BMT){tsq# z-=`;l)@3@`|IB!^d~+W_H;1S`0lcpP-*2qg2Be3$H~05j1mxfScT0#*ZX2+ux$_4B z-uwb$anglFx>!W>v=86|Azc8Bs2AWK1rX_c-UmQlARuhsrQqQj9J+uC{$dMz)|>}Z z1bq1^pdJhc@PTv#ihc@S5ClZ6SVVso#h0FKM1cRco-}96+7|{;^Z~ph<cfT<p`9-- z2o|*N$|Dq{FvX#bb8>->xC1;?gS$2o19*ER-~jk}7mgI9DFTiJ8~{CiZ~)AY1oQ&j z_@KUxc6}$%RP6VQi|0MA^8s*vj?Ej7u@)oPkT3>+^Pb!HZfpZ0c6N3~Smc2ZP|HW9 zUN4uA0Gu;az{UWeFByCJx0J7zS3LmFYQWu0d`s9Zfb;>>RXzex1Hd${dI8iM^D#4j z_YknGL%w=Nz}h_&yfGhl3T^>c<g5qaCT_?24FD1#eNt%0`T6lk9FHFjh?+w+db|Sm zM|vBV?C}a_^7ZmIKFaC;0XTjZo&;!)^+yBRWBsAu{|DN~L4`zAiE#h`002ovPDHLk FV1f~EoVNe~ literal 1700 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 diff --git a/data/tilesets/secondary/battle_palace/tiles.png b/data/tilesets/secondary/battle_palace/tiles.png index 4e11e3596c2abc3d645324003a7a1eafa6c01f5f..1137db188a51d150d29ae76e11e5378fca5f309b 100644 GIT binary patch literal 1573 zcmV+=2HN?FP)<h;3K|Lk000e1NJLTq004jh002k?0{{R3%&Xub0000mP)t-s|NsB) z?(W{+-p$R;y}iAxtgM`zoQsQ#b8~ZIVq#KKQb9pMF)=Y9ARrJB5C8xGL-gVL000HB zNkl<ZScR>Zzi-<{6vx?a*=idI+NDOxF76glK#Z=sq4rSy4OvJdgO>m#*TRKFWJqhk z%gJ`x!7!p*xMZ<~dN&|-cdAq2#mG?6i-uBzuJ7IPmq^)`fIc815%WI$zW2WOgPQNk z@LfxWYnUoN2*x->4?=_ZV-!Vr<ua%cRNZN9Uxw!>kiDTp)O7tZzzr2=yMmrdfF~vR zZCgrkopsZw)r{JMfSXfJkH~cAC?q?S-<$%#^ZhmgY}a*MX9I@oy15X5_W`A(DY~6* zM@$H%vF5p$f!nq%RAM>nn1W##R}U$G;elYgXH3L^00kZb+HKoLfTI-D%-U5X0Sv~o zA|ME33hzJL1r0Qq#udQ22_=LYTt)bPruBLunNOi3M9e5<fe>9<1$?un;sXLcYFh7- z%mJ{0$iUHfUjd*84Cw<YKm!4UL4*@RuumPvj(bU5FxIUAbSME9Qg$H$;9tB0)5I$X z&jFB31ppqZts8~{{0@M#9KgCA7SP}Xv<(OFa~&^eBh=4a*K4&N06qfX5~SnXum-f# zr2z|1hW-9<(C-hfr!1}*$utZT74&EhNEJ{B3E;!wV8Bzryp_SoI?jh)lhO(xh^v6| zWP%!C5o^8XG*ggvLBxRwNb_VE{WBc=84a!{B-YB)89jhr=>0gV)Br)yg}jK^1yP77 zia44E?*T9<1MqL)gS?37gL%OCNdPLyY9JLv^MMb+<^Dkc_#gwI4|2db;$=W61OlWy zqUMC`LRv)Zg1|`w()kGf!H-<FihvMj52Z(w8~_gnF%~fgaC|w8S4AA90FeWNqJn-u zh*KwuXbjKuGz~tN0<`T?loX&3_%MjE2IzxQ5ywTqUr@YDrXmzgvQ!t6kbvTvn1=L0 zT14rCC{19LCGr@c>cq5!5g&2B1OR=II#K!nORpM<@id@38^u_TjS@mKURilL055bg zx!#K>0CP@6`^XaJ`HR^jDS!{MA{KlwPSlTaJVGuX=|Vq=q7V2eO9I{xfbRidrLlKF zh}p7&nEk40R7D`BH0(|jz?kE^<@J6h)A$Ymj^nv*8`eX!Uaylz8vw`JGqrZ`n@%?l zy8^nv(<G7xL>a)v71wjyUcJ$15c8!3gb9G(1fnwya55$7t0pP|0GNRSzpVfS6x5Z1 zL;!AlDIk*T03WMsQj`0w__qP<87``LLrk+lhy(<3IHeL0hXCNRg364e=<ityn0Be( zYP-1YylFI`2IOT1h^2xX(UkzMx+wD)X8;|hod?@Z+i!saGOr*3U>kBD6iWzRFt$3( zZoz)xv}_MnBal!Aa5yN$nx?COXGq=yAq;(sS{`iM&`0NI0&V!gE(4&7vGzI1BkKWp z33h26^m{Jk;ee0oWP35-+XVppHB4QXHiEt1-GdU6mJ9w{4uE;Qfc-JEvUOl?Z(A0g zP6};Y2*@gl#~j$KUD)yQ;9;7U<KX!y&W*GPAkqvHfMYqXZ6g8>AT}y!hARMU+qP^# zz*vyt$O9IMb3lhZ0kBH(jM7umRI@qr0Rob<<yvv!KmcCVfew$9>Mm7~J&1r!QTk7a z7YR_F2i5n1JRdd#wNuRllErY5f{Wu`{(aE9IF6?)0?OY9!DL6)pbWsNEEWMS=D!b) zgURkf1yIxbg@E$+L4Zg7ssfnJT+9}yF#mmk6KZa$-$-hJ$C^c5D1RSR0PD$jqPApM zuht6j+*%p%`W*Z9$@kyk_4T=Sn5;-k1K9qa@4sd2z3;c~*tyn8cB*9o&)NQ4JTVC{ z)cZU3O50?Im3i=3d~NOjB2UHe^Y5K?t8GrdSaz%eM4w>jOdTTLMYq~ls{;0<0GRS9 zp>?Z$Mh{m4e5qEX*}c3>e_Cnq{{pC_uri=r#FYW%Hm({KBdr=0E3XVFPo`C)Je~go X^pgj>5w6LR00000NkvXXu0mjfB3ICX literal 1633 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 diff --git a/data/tilesets/secondary/battle_pike/tiles.png b/data/tilesets/secondary/battle_pike/tiles.png index fc11f1d1aad5ea141001e340bd7ff2fd5ff79a2f..7750506d87a6e5dea4047033770132fc29c59752 100644 GIT binary patch literal 3960 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 RhTUH=Fw`^AeRhHt{vYT0?sEVD literal 4013 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 Tv&lO700000NkvXXu0mjfc@5=B diff --git a/data/tilesets/secondary/battle_pyramid/anim/0/0.png b/data/tilesets/secondary/battle_pyramid/anim/0/0.png index c0fb59c0e021d2e655840d435dd119e414d741a4..04bb8ad849a62d6b55ec44f8eaabebef92e5e0bc 100644 GIT binary patch literal 265 zcmV+k0rvihP)<h;3K|Lk000e1NJLTq000mG001Ba0{{R3>8IuY0000mP)t-s|NsB) z?(W{+-p$R;y}iAxtgM`zoQsQ#b8~ZIVq#KKQb9pMF)=Y9ARrJB5C8xGL-gVL0001# zNkl<Z7?q99u?oU45XSL)$rM7st#J{@DhRIa;Mzrff^-hjp4?u14()J|XE3?gE?xY% z;RpZW;MmA&s1LI0UraO3E1aek9zXDcIUyxfcGq02-GcUn#HLN?F`+2;J${N3UY>^= znI{;}*N%*jiJhaIB64yr<TP|a(uV0RNrj*!skoTN7L7-J2c40AS-AyY92SYXf(C5M P00000NkvXXu0mjf?Z9%g literal 228 zcmV<A02}{_P)<h;3K|Lk000e1NJLTq000O8002M)00000$Df2(00021Nkl<Z7?p*~ zu?oU46oujQ3V{sO=MeW`S|oGx1nSb&AzcN*b`+N;n-B`gQ+jU-1qX5Y;J@61hjR}7 zFbuz_m>cM=2c5=0lxO1pja<<f{mU)S)yi?Dq++h#PneC;OoJ4j4R%J>h(=y0rRB7o z7D~nry0A$BXB7`<RWz`Q(sEisNwb<}Z%MN(D09ZX(-AY1f=>&rpqbjzOk|qnOlkCd eVmi=AD0~3+z;#HmFuY;_0000<MNUMnLSTZ*abAD` diff --git a/data/tilesets/secondary/battle_pyramid/anim/0/1.png b/data/tilesets/secondary/battle_pyramid/anim/0/1.png index 29c01920962389a765d112193d585d6656592cbf..e292686f98b81527f49b40396eca5952a7e67b1f 100644 GIT binary patch literal 259 zcmV+e0sQ`nP)<h;3K|Lk000e1NJLTq000mG001Ba0{{R3>8IuY0000mP)t-s|NsB) z?(W{+-p$R;y}iAxtgM`zoQsQ#b8~ZIVq#KKQb9pMF)=Y9ARrJB5C8xGL-gVL0001v zNkl<Z7?rh*F$%&!5Jl&b8(0?XvUVw>m2E82Zn4G-<N#afz?7l~F(LzVhU^T%8~FLf zgUA1HJX;1B4wnAk@Yz5%IH9UO#^?Bmd+;TT<d6*TTcK$?#-(ZDRRod36+FppB2^vd znU<=EFEg<!16}cb5?k$<-nuGI#Mz;%QI#+h^i`#7ttwi7umU7;h`FX5S&IMw002ov JPDHLkV1ngHZYKZ$ literal 220 zcmeAS@N?(olHy`uVBq!ia0vp^96;>A0wfrY&u<9_Qj0xZ9780gww~F@b;v-Z_2FkO z@ump*C66RJ_-YyA7nnMSwU?D{lHENsr&Y*f-X-DPT(NfV8c+9^-~TRgtnf}_K68bS z^_yjJGxpg3=a=ae@tJwP`@e!&m|4&a(N}Ifi>66mTBDP-R&I{Vn^y^Zty-)Sd$+wX zc^(_yxMJIbh`{hLv7;G!7v}_8Z&tFBwyeGNqD8be$<;{Pve-;*+k@H6_J{iQd2-4; TUu{-+339fltDnm{r-UW|w$)V3 diff --git a/data/tilesets/secondary/battle_pyramid/anim/0/2.png b/data/tilesets/secondary/battle_pyramid/anim/0/2.png index 7c463d9c3b0e572d421cf5488377285c277e4f76..fa24db001c87dc4b2dd6ed801ef2f817cbecb93e 100644 GIT binary patch literal 254 zcmV<a00IArP)<h;3K|Lk000e1NJLTq000mG001Ba0{{R3>8IuY0000mP)t-s|NsB) z?(W{+-p$R;y}iAxtgM`zoQsQ#b8~ZIVq#KKQb9pMF)=Y9ARrJB5C8xGL-gVL0001q zNkl<Z7?riju?oU46ouiuWC|saE%6PiQ`dHI&5-H~=-`&2T<9+N8llv{eTLo~#Kqae z8GiWGX~YIK9I@^%(f>sGM9*uD&X4Dp^9R)?CXOaZybEs<joXNp#;Ip266Pv|sKoPy zL3X-jkd5~YvhyQ@bXhb=+pIxaRw<B4)Cz@&3wit-J0{769oz<w7ytkO07*qoM6N<$ Ef{0dbr~m)} literal 219 zcmV<103`p3P)<h;3K|Lk000e1NJLTq000O8002M)00000$Df2(0001@Nkl<Z7?p+0 zF$%&k7{&2-g+MHlYY5#7!J(Ujy+E}?R)=)$WP1afEl>jaPU(w+i$j+m`NQ{ur}rM? zJkLAuYy=<64*%QfhbEK4viir)FUP_utS_WiS#r?Gp|Yr3U6SOW&dhjc#sO;B98^VY zlLOiMg2PQQJHxyhW)88;L~|yQDT3PB4ap6Ox#lky!&xJo8R1NX+1k{DXAZmwAKnv$ VdF6~(0mT3S002ovPDHLkV1l|=U2OmW diff --git a/data/tilesets/secondary/battle_pyramid/anim/1/0.png b/data/tilesets/secondary/battle_pyramid/anim/1/0.png index 2a0921dea85aa33119550b0bf11f8f72807f145e..c135df8246045300fd415fc8a8583990f92b584e 100644 GIT binary patch literal 303 zcmV+~0nq-5P)<h;3K|Lk000e1NJLTq000mG001Ba0{{R3>8IuY0000mP)t-s|NsB) z?(W{+-p$R;y}iAxtgM`zoQsQ#b8~ZIVq#KKQb9pMF)=Y9ARrJB5C8xGL-gVL0002G zNkl<Z7?pj@u?oU45C-79WYdZ`CZX=lr4&cW1#xW5sk7kVC~Y6X2N1=lF^LXN{?o_t z-_M8wk#od|&;|S;ri};*^<RLNQb+|1zhQ)H#0p~vd9@Y^K?$zYvNu}U^xmU2I7=`9 zHo-rMwt2ZG@~Iqd`|~k_PY0P%Y{ueqK@=GZF)#NnxDa=sp_mew6lOYDE}2}I&1mnE zsYTn*c6a@QRqN~BBcgeomX|UDhNkQwVLo(M&~LA1hYrJ!uj~K-002ovPDHLkV1k#Q Bf}H>W literal 261 zcmV+g0s8)lP)<h;3K|Lk000e1NJLTq000O8002M)00000$Df2(0002YNkl<Z7?owt zv2Fq}494;AWvU_`ppO8Eu>(@)g2UZdp*Ui!(8akOlw?E*?s&@D(2eCMTXOyih#Y~4 zy}=;&ilkCN-V+=v%$;$1p_VK<*)!f7<4ps(f|{5>Ee9ovuJ81`;~Nw9RT-0(bI?lU zD?x%nKf028@Uc<GnR4IRWM9il>m8&gJ!v$s`c~FOncwZF)v&U6)}ujCYMh~*;|}@U zwg3Ef4RZhXg)EC+xh${_W5GO33$EK~dUD!M5{{ok!f=p;!&1^8Jpgy~X>hlz00000 LNkvXXu0mjf(cE<` diff --git a/data/tilesets/secondary/battle_pyramid/anim/1/1.png b/data/tilesets/secondary/battle_pyramid/anim/1/1.png index 3474d081f891088b8ff0d8d1f91ec8a8796a2c20..2588bdac065914ac1e4cc64094ac12078ffd3915 100644 GIT binary patch literal 307 zcmV-30nGl1P)<h;3K|Lk000e1NJLTq000mG001Ba0{{R3>8IuY0000mP)t-s|NsB) z?(W{+-p$R;y}iAxtgM`zoQsQ#b8~ZIVq#KKQb9pMF)=Y9ARrJB5C8xGL-gVL0002K zNkl<Z7?o|$y$ZrG5C`zQWWSJ(NvL~sDe72qp*XfC(phkD6#E9!2Ple9V{&!$zub?I zyW^OrSkJt7p%TzKToKX)xQOZ>KncNx1ctvbk1b-3;SZ*H%L$UFDq;X7A-4D0Xj2dX z2*caDBTcTnAL4d5pRXe!oku}Px+z&-5II32s)*h?>%ttU<2e~H!Sy_vR4`HMZZeBt zvea#E78TI+#VO*@4AtosP=7AlTNVJ%I@?3U=CQkj`U3N}hd^G4RagK3002ovPDHLk FV1hREgB}0? literal 267 zcmV+m0rdWfP)<h;3K|Lk000e1NJLTq000O8002M)00000$Df2(0002eNkl<Z7?oAe zJx;_h5C!0O83ft`MBHEzB?S_7#CVeut!yhLpx92oE8FD?<!4XH8)(4Arx|%{y@BvR z#3;@x4r2ZhQz^W#9I?bW;@qg5|58hitn`^1lx-ooLb{kBeeg<TduxB^+~Nd7C0imn z@|WOeK~&5eTQNU0uVib;^{ACb%cQpkancn!rh0BkTgd*ZA*+&zHM1_bMwA*FluI}w zU&27f9{GLjkf)m$Cb*x-*8^I=73}@4VDY<z`9RKxyM)uzny`LwqtC~fz5(}?cfz@4 RqACCY002ovPDHLkV1nhebVmRH diff --git a/data/tilesets/secondary/battle_pyramid/anim/1/2.png b/data/tilesets/secondary/battle_pyramid/anim/1/2.png index b9f1c44234e65202d8052d6599ff66dc0ab095d3..fbbf67d2fc5cfc7af0d8c0a8f265953ee5ae5abe 100644 GIT binary patch literal 303 zcmV+~0nq-5P)<h;3K|Lk000e1NJLTq000mG001Ba0{{R3>8IuY0000mP)t-s|NsB) z?(W{+-p$R;y}iAxtgM`zoQsQ#b8~ZIVq#KKQb9pMF)=Y9ARrJB5C8xGL-gVL0002G zNkl<Z7?n-V%?^Sv3<vPNBp=3bWE1bKBgP}Hgm?ru!`Z}xM<cJm0}zc*V^=)zzx0=; zX)8RZ@nQu>m4S`J1(b^50*VztOPR+C1pXsD)`%(64901lGiXExoRn62N9c?-cEbQ* z^dH1CZ!Wy=!%;U~?*k+DUNWL~jFt{!&QORtpbNKY50nl4pMa3LnFbq6Av4pCc9ueA zrcUjw1G)|4SoOu_O(?&&{UaejQYIw?Y+r{b=pXFuhGU#&(MbRR002ovPDHLkV1kM9 Beb4{^ literal 261 zcmV+g0s8)lP)<h;3K|Lk000e1NJLTq000O8002M)00000$Df2(0002YNkl<Z7?m~7 zK~BR!3<c1C83gJ9dW9mEERa}NI3!C{#Y2_|b;j9K#<Q$YlIbb2OYq|9Yc#e#$ObEo z!@a|x=AR_0_SVx%Z!~N$ADz=msX1BlH6ENg8(Ki`SwLM3P6D;J{P&M%CJe=>YGnB) z#4r((!*6z!nk(BEqk6g=JbATjblz|DR;}^0_oT+|;{A#v*QS&2E(u!V7J7~c<Z~RH z4*BEQB9AxE$Y~jkpL^^>RqVn>F^7#{a!#*zg0II#u#8FY`H<un77cixa%00r00000 LNkvXXu0mjfK(KLG diff --git a/data/tilesets/secondary/battle_pyramid/anim/1/3.png b/data/tilesets/secondary/battle_pyramid/anim/1/3.png deleted file mode 100644 index 8ad81b1e1e9daf31260a661bd436367997d4f31c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 105 zcmeAS@N?(olHy`uVBq!ia0vp^96+qV0wfsDXLs`gDFaUz#}JO0$sDXqY$}IzMLm`* zUDTl{n7Kp6p+#G-)5OQ{dcX|Xl?q{5S`#=9hp;nbt=1OT^vItMGQ-o=&t;ucLK6Uu C+!_4< diff --git a/data/tilesets/secondary/battle_pyramid/anim/1/4.png b/data/tilesets/secondary/battle_pyramid/anim/1/4.png deleted file mode 100644 index bea921d90e42ea862d1fed110fd4913482f3d34a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 86 zcmeAS@N?(olHy`uVBq!ia0vp^91ILh3@ktfLwv-1As{8|>EamT(fRg>AtM6=50k?0 l>DRtW$ShHxq~iJO5<~p4A6c#%^TI(IJYD@<);T3K0RRNb7Iy#u diff --git a/data/tilesets/secondary/battle_pyramid/anim/1/5.png b/data/tilesets/secondary/battle_pyramid/anim/1/5.png deleted file mode 100644 index bea921d90e42ea862d1fed110fd4913482f3d34a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 86 zcmeAS@N?(olHy`uVBq!ia0vp^91ILh3@ktfLwv-1As{8|>EamT(fRg>AtM6=50k?0 l>DRtW$ShHxq~iJO5<~p4A6c#%^TI(IJYD@<);T3K0RRNb7Iy#u diff --git a/data/tilesets/secondary/battle_pyramid/anim/1/6.png b/data/tilesets/secondary/battle_pyramid/anim/1/6.png deleted file mode 100644 index 16652df19896a91d715ed5047610e1350fa210b1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 106 zcmeAS@N?(olHy`uVBq!ia0vp^91ILh3@ktfLwv-1As}Vw>EamT(fRg>BQJx30L#YB z8!UEAY^cw7IK<Aaa@jpwHZ=_h?z7L0ZtyxL&1q_#qbhLwcHM%N`XEC*UHx3vIVCg! E043%f#sB~S diff --git a/data/tilesets/secondary/battle_pyramid/anim/1/7.png b/data/tilesets/secondary/battle_pyramid/anim/1/7.png deleted file mode 100644 index 8ea7a49e6bc169a443d376168a5dc43547b366f8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 393 zcmV;40e1e0P)<h;3K|Lk000e1NJLTq000O800IC600000Us#_K0003{Nkl<ZNQv!K z+ik=!4ATlyZUNI-AhIX8WS@@E(OXKvy^uQ~Es7Qe;twKmXpxZ#NiAwpp(=2KPK7Xl zpbb(KO#tpa=h=pL0|mgZb`Lxcak8a*)a!17+KU*f3mF8(9MD<RMxMAFLpZP!;$cJi zD8*3Zyiy)`NS+aj22X<*hEf-ON?q1N3*9<xbfZB2hlAai1A1eXaVFHoDa3ct6=qf$ zmPY6cs|<Y7aG>dcV0}gaKh%Xnmb}_7&7rF#-*j8*I$;UjmbyK49cxh}<fX7D0VV7f z8M60YEPyszTxgBGA?#{2n=bE6>iLm(O5V8P?bY3zgD>T8e44-c+xf#7`NJ6b!*Awq zoKn}Wy4(C+TkO{`n6KAU_~%YI`Q@U9$e%|3n8N#8y}?f2Ufmzh-%j42=I@w)$NW3y n-!cFG!TkH+l6Nk7<9Z37meuh-l$2BE00000NkvXXu0mjfNMW|J diff --git a/data/tilesets/secondary/battle_pyramid/anim/1/8.png b/data/tilesets/secondary/battle_pyramid/anim/1/8.png deleted file mode 100644 index 2895d3319a5c35f73a524731a21caa8f30647a0b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 105 zcmeAS@N?(olHy`uVBq!ia0vp^96&6<0wfqt3-&AkQU;zbjv*W~Q;#?bGAMAk9-RN} zBEvDZ8xB6NA567fb3mY_Trp?bZZDP-yCUr6?^^w2NRXB}w|H{pe~=lTu6{1-oD!M< Dhh!kZ diff --git a/data/tilesets/secondary/battle_pyramid/anim/1/9.png b/data/tilesets/secondary/battle_pyramid/anim/1/9.png deleted file mode 100644 index 63c22acf2b98595cf3a22b7d9dfdf18fc3847c02..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 111 zcmeAS@N?(olHy`uVBq!ia0vp^96&6=0wfsJo%qfIDKk$O#}JO0y+<|*GAM8`AMlYj zQ;@FM(V(ukI_UO~qs=BwQ^J|v>Q<?}@SBkrwEEcPQ<68XyR&ypvQ6F@;s-K;!PC{x JWt~$(69DUxA{77t diff --git a/data/tilesets/secondary/battle_pyramid/tiles.png b/data/tilesets/secondary/battle_pyramid/tiles.png index d9609f3dd48c091947cc013ab18a7a38aadf1dbf..d6784b06a9dea97482c3b071dfdee7c51bcfc307 100644 GIT binary patch literal 3256 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 aD&#ue9$3~D_2u`g0M-_E=9Q+b*#7~WV3`sC literal 3504 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 diff --git a/data/tilesets/secondary/battle_tent/tiles.png b/data/tilesets/secondary/battle_tent/tiles.png index 35e5c4b6545c856665e575db886451fe4d56b1a1..c9f64690612022608a9b1c3866b00ab0bfdb9bb7 100644 GIT binary patch literal 1751 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 literal 2084 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 O0000<MNUMnLSTZta0PDw diff --git a/data/tilesets/secondary/bike_shop/anim/0.png b/data/tilesets/secondary/bike_shop/anim/0.png index 069509b27a824bc4a2dfeec837cebcee7719c833..127ed4e47af0f083cfcb98c44d277be3a854f108 100644 GIT binary patch literal 290 zcmV+-0p0$IP)<h;3K|Lk000e1NJLTq000;O000;S0{{R35?LV20000mP)t-s|NsB) z?(W{+-p$R;y}iAxtgM`zoQsQ#b8~ZIVq#KKQb9pMF)=Y9ARrJB5C8xGL-gVL00023 zNkl<Z7?nNFJr2S!3<cmEgo%n1pl-QFrn-k??aqR;Rau%>bz-6shhU8q9QVglKD}ov zreh9v8ZLv3saWus4uJA!P!O{x&~zez@Y*3g0%Aq15&bZyq>yMV3b1Zr{+104x7AR4 z9<Ent<Pn@RJv5RgP@z#B)33qD6RG39$fkWmw&RI-$lTp1FVdT)af`)MP)|4QQmmt_ oxV9)+kQFzK0_3Dv0fGD*e=A+Wmu++(q5uE@07*qoM6N<$f`7<&=Kufz literal 250 zcmV<W00sYvP)<h;3K|Lk000e1NJLTq000O8002k?00000E6fHu0002NNkl<Z7?oYm zF%H5o3<c0Hb>$GKWn!xM=@NB|S=hUBxVlrW(XHYH2qrFqol=m<@RUS}{f$W^VuMhT z^hKayWA26*T3$P7br_)34v|VwjTChUq4pST{d0C0oKsx`j?ycy1c!o=3=T0iF=4DH zfuu-SvTP*ZSv2uzh2YTh@wCTUK92@twjW;V_qebeSqQl0o_OST#$#!L=R)Jo-e_zh zPh}m0_3$Y##+<c6^}+6(U*$E1w=7hJ+K-uh0}hg0OBtHBXaE2J07*qoM6N<$f({92 AYXATM diff --git a/data/tilesets/secondary/bike_shop/anim/1.png b/data/tilesets/secondary/bike_shop/anim/1.png index 4123bb0bf31eb4946c4e9e366b6ae20e25ba515c..71f12a74608b0b12568318934e1db9e25b62f5bb 100644 GIT binary patch literal 286 zcmV+(0pb3MP)<h;3K|Lk000e1NJLTq000;O000;S0{{R35?LV20000mP)t-s|NsB) z?(W{+-p$R;y}iAxtgM`zoQsQ#b8~ZIVq#KKQb9pMF)=Y9ARrJB5C8xGL-gVL0001~ zNkl<Z7?nNFI}*bn3<OXPk}95@AmbZQl9I~u;nLEli6~8DmM*CRcZrZcs(7<24Q66a zbq$vwV>%W**8?E;3kqV61X@od5Z*haM?mh#J)#FnYYK^qRe*I1<zqK6{8mHnMfh2v zQAG0I%+N@hK!-+s%v@8<C)&h&k<IvpZ08gCkh%LJFVdT4@Jq!@&`%HJVyh>oxQ?(+ k;1o9$0bEm5Kp_9dAMI(p2blN`Q2+n{07*qoM6N<$f<kh12><{9 literal 249 zcmV<V00#ewP)<h;3K|Lk000e1NJLTq000O8002k?00000E6fHu0002MNkl<Z7?oYm zJ+i_u3<TgkOH2iw*J+&6dJTPA4i{0mBxP=p;RFm+?;=PJKQp-a#`f6K3TKgwH-w6m z4+2eZLO=dv;HihsyAew5k*NgLC|NHMYQ$*kmp_NeiCu@qQF`T#<WMk?$swkY3#RTY zkdg^YR*m92izXheksNwH#>29euam)C?T458K5ndgHWIEi68Aa;+}B~jW2JFpG=fd! zsjOqN9zNyK2vujyFYM0wR^DQG%f{U3{8-5+$HQXVW-XBh00000NkvXXu0mjf{>Nzn diff --git a/data/tilesets/secondary/bike_shop/anim/2.png b/data/tilesets/secondary/bike_shop/anim/2.png deleted file mode 100644 index 7c463d9c3b0e572d421cf5488377285c277e4f76..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 219 zcmV<103`p3P)<h;3K|Lk000e1NJLTq000O8002M)00000$Df2(0001@Nkl<Z7?p+0 zF$%&k7{&2-g+MHlYY5#7!J(Ujy+E}?R)=)$WP1afEl>jaPU(w+i$j+m`NQ{ur}rM? zJkLAuYy=<64*%QfhbEK4viir)FUP_utS_WiS#r?Gp|Yr3U6SOW&dhjc#sO;B98^VY zlLOiMg2PQQJHxyhW)88;L~|yQDT3PB4ap6Ox#lky!&xJo8R1NX+1k{DXAZmwAKnv$ VdF6~(0mT3S002ovPDHLkV1l|=U2OmW diff --git a/data/tilesets/secondary/bike_shop/tiles.png b/data/tilesets/secondary/bike_shop/tiles.png index e068538f570eb58e37ca64999687ea87dcb410bb..f4f48fca3b37b4bd69f9d53116d8a37fa5031802 100644 GIT binary patch literal 3300 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 WvL7!8dM5pSAi&(z+9cnI7WqE}CDgG1 literal 3505 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 diff --git a/data/tilesets/secondary/brendans_mays_house/tiles.png b/data/tilesets/secondary/brendans_mays_house/tiles.png index 6d6a5f04776151a993d17d39c1e8d3a045731abc..f54e2ae152ea3af9a8464a886d95f0048b8d26c4 100644 GIT binary patch literal 2658 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 K+iGiC@_zwxlc^^F literal 3074 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 QaR2}S07*qoM6N<$f-*(o4*&oF diff --git a/data/tilesets/secondary/cable_club/tiles.png b/data/tilesets/secondary/cable_club/tiles.png index c5ad4cfacd8f5b934b63aa2ec2362c47d5d0e3c8..7d2378a0611846ab7e827c89808067c71853510e 100644 GIT binary patch literal 2477 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 literal 2590 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 A6951J diff --git a/data/tilesets/secondary/cable_club/unknown_tiles.png b/data/tilesets/secondary/cable_club/unknown_tiles.png index 84e79f7201055ac6ab4a8057891d66e452741c55..46e0916f30989f8bdf6a1cbe9206c97774add4f8 100644 GIT binary patch literal 332 zcmV-S0ki&zP)<h;3K|Lk000e1NJLTq004jh002M)0{{R3AoyZT0000mP)t-s|NsB) z?(W{+-p$R;y}iAxtgM`zoQsQ#b8~ZIVq#KKQb9pMF)=Y9ARrJB5C8xGL-gVL0002j zNkl<ZScUDBF%H5o5Co6H5+w*+KxxDSfP4Uj2gFEz7$tNm<A$fvQvksVP8xjC(g3=V zBBk+Yle;xhgUNP1$PK;2EH*t@Ck5Lv!!#|(=ANO<lY*7MGx$kbaK12HIl+yA6-WX} zPzz4nDpx51kt5|?@qFr60Hs~T7KmVJU%l6RL_jXy2PO0gG>G?sA7O&92Vq>8z=k~t z3!{<q%C-qKG=**gXbRl~$ocvw#suILVizh*;AY2$1K5RjmBB8wWdghKVVwm*5QKkc eD1t8#{00y0CMh)-yg`Hj0000<MNUMnLSTXcI)k(T literal 311 zcmV-70m%M|P)<h;3K|Lk000e1NJLTq000O800Y1T00000=*Nl@0002~Nkl<ZScUD= zF$%&k6vpxA(A}fC#L=ye9xPybfEF*%>H)-#Iz-X2(82h<WT~Y=5Jl1Vh950FXi5Ji zhoKizmw8V0uBw<7DEDBam`R5mLluV37*ZJWGse&e6Ru=0wpY~HTi0}CW(80uklgd? z@B8iaGK-LQPBMDsNA`yIl7ZHGO#iVz=QL=o23y0odvI0E1Q^hQR_ly3=D~j+-Rpf6 zJl2smnIpRdGrm<9ka(;o`}pAq?}p<FnT6o4DMxtVCJi^KL!v|f^c)j1^TGM_dO1e- zd|V+j4sOaUI6})!YHrde`UNK>2!bF8!t*pAe*@uXX=2>(-2hUL$e$(P20Z`(002ov JPDHLkV1f^0i)a7< diff --git a/data/tilesets/secondary/cave/anim/0.png b/data/tilesets/secondary/cave/anim/0.png index 67f294ffedd05c33f82f4db11d749606d3a5072a..e98a161ebc5e73a5e6eca44de004f3997432eeb1 100644 GIT binary patch literal 157 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDU{r~^}yLa#I-Me@8?Ag70 z_pVv9X3m^B-QC^A#l=ZUNkKtDj*gCohK33X3IYNk6P&+1`~{>mJY5_^IA$i#;AG|D zI5u;#z_B@(cQ5R@8*uE*UF(aY=jT{ftMB4q<zbMy?)xn3N({(a22WQ%mvv4FO#l=s BIsX6v literal 100 zcmeAS@N?(olHy`uVBq!ia0vp^96+qV0wfsDXLs`gDQ!;|#}JO0$sWv1Y#fO>(~eEZ xdBmg=)8I0zTiQoSSGSeXQ&#U#?*^esoD3!whI6uXu5SQo_jL7hS?83{1OOZS80!E4 diff --git a/data/tilesets/secondary/cave/anim/1.png b/data/tilesets/secondary/cave/anim/1.png index 9c92be8079c0150fb23dbc44adfcb71e0258d328..12ffcd12c5ab22b187d48ae0af03e123e28def13 100644 GIT binary patch literal 181 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDU{r~^}yLa#I-Me@8?Ag70 z_pVv9X3m^B-QC^A#l=ZUNkKtDj*gCohK33X3IYNk6P&+1`~{>OJY5_^IA)f1-{xdc z;9=hVpKaq@2Xzg}gG*}!L|8sgR*vCml;!@Rb0}a-MQ)QCLoh=H*NJk=bFD9a+o{&g aoyy23=x4M3htqbTSqz@8elF{r5}E*W$3Z3l literal 126 zcmeAS@N?(olHy`uVBq!ia0vp^96+qV0wfsDXLs`gDOXPy#}JO0$sXQ*-pL+*-kv}f z>!u(l=LQ#!2_D6T%tD!&nhJ+lT^e@iWg3WaJ!DggS#U>$M^(?FL}ABCHHFiLR~Z?? Wj11kXtQf;V279{txvX<aXaWESSRfn# diff --git a/data/tilesets/secondary/cave/anim/2.png b/data/tilesets/secondary/cave/anim/2.png index 78ea00e048f82fb32d834175ca62b4c618f3e488..c5be89c00fcf3e363779bd6a19f0736ef4055bd6 100644 GIT binary patch literal 173 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDU{r~^}yLa#I-Me@8?Ag70 z_pVv9X3m^B-QC^A#l=ZUNkKtDj*gCohK33X3IYNk6P&+1`~{>eJY5_^IA$i#;AGpK zZq)Gd=I(N%1zik`jK|*0-EsAdC3Di7d6u8gyqjw**|6-q4R2C|OWONm%eWbY3jMzA T-?i}q&<qAoS3j3^P6<r_Yn4O# literal 108 zcmeAS@N?(olHy`uVBq!ia0vp^96+qV0wfsDXLs`gDPvC;#}JO0$sWv1Y)vj)6ABnN z1;yN1priBZ&W4wzj6x2v0b*vkCyzNCl2~$t#bwEY70e8USq41~pM<+X#(28=xvX<a GXaWFh^&a~G diff --git a/data/tilesets/secondary/cave/anim/3.png b/data/tilesets/secondary/cave/anim/3.png index 7edd52eaa036c55e74c10a1c5d292c62db521340..635a8115478506ed2e9212ea0ad9a72d9c1e8bea 100644 GIT binary patch literal 175 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDU{r~^}yLa#I-Me@8?Ag70 z_pVv9X3m^B-QC^A#l=ZUNkKtDj*gCohK33X3IYNk6P&+1`~{?}JY5_^IA$i#;AG_y z$TII?6tdhaeCozt;YeP#$0}0_i=O$dIN`P8#JbRciLtvKdhQyhpS#z4TSkF_K}E^$ V;I-`QazIlUJYD@<);T3K0RSQ;Kz;xK literal 109 zcmeAS@N?(olHy`uVBq!ia0vp^96+qV0wfsDXLs`gDHBf@#}JO0$sWv1Y$}J2@Otdn zv9Lo?P;ZBdLyM#yr?`*dW|IlBi4N1UH6}cL#ibHtaFvlE{H4Lc?bGUAK<0S5`njxg HN@xNAIMf|` diff --git a/data/tilesets/secondary/cave/anim/unused/0.png b/data/tilesets/secondary/cave/anim/unused/0.png index 44564e67a599b80664b2480d99c8c5a00c33d328..cea6ece8573814ce8f6e59e64485e80424f0932b 100644 GIT binary patch literal 157 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDU{r~^}yLa#I-Me@8?Ag70 z_pVv9X3m^B-QC^A#l=ZUNkKtDj*gCohK33X3IYNk6P&+1`~{>mJY5_^IA$hCu(I-S z9D5flaO~Aw<Apsl1CFhlx%q<V`lzi%V!Jq4c^GcRg`7J*x$*~44}+(xpUXO@geCw6 Cy*ix$ literal 100 zcmeAS@N?(olHy`uVBq!ia0vp^96+qV0wfsDXLs`gDQ!;|#}JO0$sDXqY#a|CNu3gS xG>uK=QiDrIl$MW@iAfKmr>vgR)D1$DI2q!Tw6@%kaL@;7_jL7hS?83{1OO1j7$5)u diff --git a/data/tilesets/secondary/cave/anim/unused/1.png b/data/tilesets/secondary/cave/anim/unused/1.png index 47e7e17ee95fdaf34d342d8970c538f9829e4750..01d8a300ab6e8a498d20b2969e2621fb9d35bfca 100644 GIT binary patch literal 177 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDU{r~^}yLa#I-Me@8?Ag70 z_pVv9X3m^B-QC^A#l=ZUNkKtDj*gCohK33X3IYNk6P&+1`~{?JJY5_^IA)f1ALL{( z;9$O6-@L=|5zF0mT9=#_e*eg^T=PmqN2S8$gf~lDl$-iJz6d^u^($5l+n?T&ADpw- WIHbg;`216#ISihzelF{r5}E*7Uqr0{ literal 121 zcmeAS@N?(olHy`uVBq!ia0vp^96+qV0wfsDXLs`gDF;s%#}JO0$sD|#yr~?VyxgfA ztW0eN0@^w}M|{0myIUJOOgeNX2y!Ja6j-UC#CwYOaKNNCXZ9xPM{Jv9f@K-%B(?dz SoYr3tGSk!5&t;ucLK6VDI~^YY diff --git a/data/tilesets/secondary/cave/anim/unused/2.png b/data/tilesets/secondary/cave/anim/unused/2.png index d1447cde23dccd65bcdaf90921fe1212241d5db6..ba13bda8cc55b91fa76f620698de9cfe925b442b 100644 GIT binary patch literal 173 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDU{r~^}yLa#I-Me@8?Ag70 z_pVv9X3m^B-QC^A#l=ZUNkKtDj*gCohK33X3IYNk6P&+1`~{>eJY5_^IA$hCu(BD4 z8#cV0YMgGkpo@W#@z|-z9aq=f<4rmfvo-7cnaI@=4a?Tw;!J9A2|IUW88^fBo)9;M T<rA`jW-xfV`njxgN@xNA^+G{g literal 108 zcmeAS@N?(olHy`uVBq!ia0vp^96+qV0wfsDXLs`gDPvC;#}JO0$sDXqY)vi_6FitV z9l8{>P)Fxg(8ia(%t8*a0b*vkih2%*SeG2(b!l0+f|;SVN85&t)#oF~7*AI}mvv4F FO#lvr8~XqN diff --git a/data/tilesets/secondary/cave/anim/unused/3.png b/data/tilesets/secondary/cave/anim/unused/3.png index 8ad81b1e1e9daf31260a661bd436367997d4f31c..117f04aa4d6a8302a862bf23803289e62e45f08d 100644 GIT binary patch literal 171 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDU{r~^}yLa#I-Me@8?Ag70 z_pVv9X3m^B-QC^A#l=ZUNkKtDj*gCohK33X3IYNk6P&+1`~{@UJY5_^IA$hCu(I+9 zWU2Kq3f;8iJ~hLVJCc_zS$xXI?5jE^D<cgiMs9ZKnYlV_?VQfrG71a~$9hAuKiEGi Q1De3#>FVdQ&MBb@0G?JnjQ{`u literal 105 zcmeAS@N?(olHy`uVBq!ia0vp^96+qV0wfsDXLs`gDFaUz#}JO0$sDXqY$}IzMLm`* zUDTl{n7Kp6p+#G-)5OQ{dcX|Xl?q{5S`#=9hp;nbt=1OT^vItMGQ-o=&t;ucLK6Uu C+!_4< diff --git a/data/tilesets/secondary/cave/tiles.png b/data/tilesets/secondary/cave/tiles.png index e8c98dd71fed4b99cb85594fc7cac435646039ab..cd9a8370190b695bfdef79ab3cc7b8acfc3a6a5a 100644 GIT binary patch literal 5787 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 X?_?gMBz@oO#W7G;P?s-$Y!UK5bZQO7 literal 5884 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 S^9U6H0000<MNUMnLSTZ$k77Om diff --git a/data/tilesets/secondary/contest/tiles.png b/data/tilesets/secondary/contest/tiles.png index 710654f5fae1c9a6a1ad24ecd31088a230f5bfcf..f9a1b5cd93497048aabe306743106e38c3882312 100644 GIT binary patch literal 1655 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 B)zJU| literal 1650 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 diff --git a/data/tilesets/secondary/dewford/anim/0.png b/data/tilesets/secondary/dewford/anim/0.png index adf42975fa65c184e93702c4e1cbe83c549257cf..f80971c453d1ee90fcbe23431760804e3fb2f1fa 100644 GIT binary patch literal 224 zcmeAS@N?(olHy`uVBq!ia0vp^5<o1#!VDz;aV=T~qznRlLR|m<|NrjYyL<QUojrSY z@7}#@)~uN`XHIu_cX4rXQc_Y-P>`deqoJXpf`Wp8fB;aF^OuLefK;}pi(?4K%;baz zQ3o0r)<murQz%S3$5OQOfRh5BL_?}j+POJWT}L`Ci$#t_T7Eq<(|BTmpO2J~yRM0P z(K8l~^kqS-q?&}6EU^+k#CXftR7dz&<W`{^O&7@vn%e2-nk>{AJqjFUxt}>OFk~59 VE<2TZD+XvSgQu&X%Q~loCIISNP%Que literal 185 zcmeAS@N?(olHy`uVBq!ia0vp^96)Tq0wfsD?CqQeq#8V3978x}hMu$KYc}9veNe8R zzt??J+NyRPTc4|5C5aABOr6YuoyjRLlitjl|KQ>5oc-*Yo(lWJ4Jww~c1l}$u(9t= zkS&m#+Lw32rR9$4lj{1e_nyA>0kvf|ce1twO?>{5GtSPqB5I$M<sL!ZJuNH5gPN9q i{d41icKPaw-@>$iFtpAIuaCP1a+9a4pUXO@geCwWeMSrb diff --git a/data/tilesets/secondary/dewford/anim/1.png b/data/tilesets/secondary/dewford/anim/1.png index 6e7c23a18caae63f0652d852a2c53885fa3234dc..b98d9cafb1a810cc176cd485218ad029ecf91c06 100644 GIT binary patch literal 222 zcmeAS@N?(olHy`uVBq!ia0vp^5<o1#!VDz;aV=T~qznRlLR|m<|NrjYyL<QUojrSY z@7}#@)~uN`XHIu_cX4rXQc_Y-P>`deqoJXpf`Wp8fB;aF^OuLefK;ZZi(?4KOy6@G zc^ec&S{_~xcp;%;HGxx2O~hoDhs?3IM{6=t`K{ZG4hZjgxB8v>E8DG{uQh*gvBdZ! z<}GPGP@pw&;p5FU1%}7i_Wm_kwV0_$wsErI$;L!R^Y;zsHI}ost$5tf6L$9llUt?L VmwS6ZvH~q-@O1TaS?83{1OUUuSh)ZI literal 185 zcmeAS@N?(olHy`uVBq!ia0vp^96)Tq0wfsD?CqQeq#8V3978x}=AJX;I+Vb}`k;Jy z&OPPW|0m7=bhm4YmK17mh}i^i+q%idBz@W*;(hjm<AaIfH>U7>%L{UN9`^S*`!cyO zInghS#m~1CIfw~9`KIKp=fN1Nd#LUAv{-k|{8L%>Pxh@o`0-Zr`N9vUj#uh!58tqD j>f$Gvs=7azzn!gRP*iR4yR9v53UZUDtDnm{r-UW|1ItIe diff --git a/data/tilesets/secondary/dewford/anim/2.png b/data/tilesets/secondary/dewford/anim/2.png index 86075ffb0b7955064e20f4ad12b7b449678e4981..6f88f493f7979754400aa141e91f05ba25e7b037 100644 GIT binary patch literal 228 zcmeAS@N?(olHy`uVBq!ia0vp^5<o1#!VDz;aV=T~qznRlLR|m<|NrjYyL<QUojrSY z@7}#@)~uN`XHIu_cX4rXQc_Y-P>`deqoJXpf`Wp8fB;aF^OuLefK<Mxi(?4K%;baz zQ3o0r)<inUU0=l-a88G9-BjcBrk!gdjl&sl8mBj=3Wc5H>2)bsHqTO+^ZAiEmc=E{ zm^9SCMDR5UPmwAUIyZBP*c8s^KA}Nfb6B^QJUeq?%S;ZwGkzPEIxJt)RJ0>ZF=j49 bIunD{1k(qL*!EulTFv0;>gTe~DWM4fMMqbU literal 185 zcmeAS@N?(olHy`uVBq!ia0vp^96)Tq0wfsD?CqQeq#8V3978x}rk>l#)odWr`tY+K z<HCLJo6=56vdniAxwX_;G2kHks|U#`g*)#>Ynsk@I9u;I{}PwRoMe+pj!z}^UIcfw zPjUF+&{V8u_1q}#+}0WS&eeBZo8zX>T%z=EhsnOX!Fwc{o_@@`P(O|H?yfZ7dt1G` kZ|||M3)NL$`D4C>b@%$tr06`&43L{VUHx3vIVCg!0Q}xcXaE2J diff --git a/data/tilesets/secondary/dewford/anim/3.png b/data/tilesets/secondary/dewford/anim/3.png index 6e3c576214a9cb83b23595a3a12a392e79349546..b95b4bc9e235fdf6bb816ee750f4818d6f625eae 100644 GIT binary patch literal 234 zcmeAS@N?(olHy`uVBq!ia0vp^5<o1#!VDz;aV=T~qznRlLR|m<|NrjYyL<QUojrSY z@7}#@)~uN`XHIu_cX4rXQc_Y-P>`deqoJXpf`Wp8fB;aF^OuLefK;ici(?4KOyBc{ zTnz?1tQYk3Y}=aIwL&y3N&*9HdN^e3maltjTk>jQ&&4R?zwC|kITV{$T-MQ<$#j^# zOHi75p3;GAvqLZC+iGeGEYlxzx2<%V|GJUM^qXk)^0Wt<t=ZAR0t?j-7_Zs$+fw+& hrYZMUzx{rIRr`W9^Tki`vw;p^@O1TaS?83{1OTq<TMYmJ literal 192 zcmeAS@N?(olHy`uVBq!ia0vp^96)Tq0wfsD?CqQeq}n}Q978x}rk*q8I&8qhdZAw3 z_p9xjtCRmHXxRFAD#lu|FquAakS*fTj}5U@%T;8u72v3K%no@`-O+nx!AB1EHCBPE z-9I%Z=p9qxi*%W=Jn)y-*D{k2ixj@jw|pyOwCzr!bhfkg(~{DNcmD04vv(@4f6X&( qV%fYc3h%2`E{h+Vn-cN*{cnDwrWX56UysfQInC46&t;ucLK6UJW=Q}5 diff --git a/data/tilesets/secondary/dewford/tiles.png b/data/tilesets/secondary/dewford/tiles.png index 1cf4c165c4716f45df69ae3c125c82dae56d45bc..33e61b435d8031c8bdf433cb8015eba98aade440 100644 GIT binary patch literal 3810 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 G8ux!Y>yae@ literal 3985 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 diff --git a/data/tilesets/secondary/dewford_gym/tiles.png b/data/tilesets/secondary/dewford_gym/tiles.png index 7d923b505c596b99dd239a53d2ddaae7ae151784..2aa68bb2a3a99095ca58094c2d254e7de946ed42 100644 GIT binary patch literal 650 zcmV;50(Jd~P)<h;3K|Lk000e1NJLTq004jh001Ba0{{R3C=6{D0000mP)t-s|NsB) z?(W{+-p$R;y}iAxtgM`zoQsQ#b8~ZIVq#KKQb9pMF)=Y9ARrJB5C8xGL-gVL0006N zNkl<ZNQsS=v2NQi5QeEfL1@6R)3}JGH!wK#IfOz%RuA@`A>fil8&^-M-XL(M4qd7) zo~s1#9#2Mr3<Zn4L3!kz6p?bJf3RSQ`tXrQo)|OXCK~dp@->EGBF<SWoS!j2Qp$9z z^>%v{ivUn;+Jn!F5TKOG&Ffk}bQo;7m-7%Hgjf_>7e$xBX6vN`00zn>G{_&zR(?!F zK=wr}giC0EfbW@0H{g1J0p9NfXft=|k~V<I)+^$^fmcSVKdmv2%UCp#OBfpafYH1K zp!(zUv<6IWvurs4K=ls{CV(@#eE_PzZxG$W@3<eJ@0HSDLxX6Q^6?<RQ3%}_+|+=K z7km)l)fkv6_<#@NX_3EMgJvIu2A{hO3_#^+G9O}K=Z_o7g05gA#awY18~bO$-v`D( zHd(BI0DvUsqlEPX%pR~Iz#0`8OA>g$7hv{)O$|VWdO)wiy=Q<5!vVkD>Q+)#mAu=p zQDHdXF9KW)z$wskI?fHC>o}W~RaKVNuiY9IY5?{`!UR1LUWO~YUX?%hkvkG+pAI&A z>dF@g2)Z)#1GtjG<+Ik$`p?^J1~c02%y%Jy5Fqit3(yZNz-4#&bT~X6UK)VPZJ9q} zQx{X!20%Y}2ly5ksN5P5An^gFomd0v2d4~Z3V{JFA|5t=%Aj6@Q-J>%*!wgE-UAqu kLG1pIOj+A&;C<fz0hH~f#7pjD0ssI207*qoM6N<$f<)yU$p8QV literal 640 zcmV-`0)PF9P)<h;3K|Lk000e1NJLTq000O800HO(00000l&2hE0006<Nkl<ZNQupr zF>c#H5Jl$%Miwp%1g_-XfX&ouvTjniGT|FAsnoJ#lZJ4SJ}lfCS_C|Y3&J;8$%qq6 z5TNA=Lgvqq5^aK%SqMm`c=%clmz>e(ER_fv0EeJBj#CQ5FrqBW9x7#iK$$xzbqu8t z<SXTq@_j{tQUT|Md`DI(>=KhY!X3WcaSat5Z}w|;mZyD3>=T3PE!>d2oKZLj1QTF_ z4iyvMry{!2FX4bzCw&BIL>s+%pNui2xdc(Yd4{h_siI2faw?yL9C^<<@&J9YcnwY& z=!1Qu%P;B+Tmm;`>=IG;oqkcDx2`+dDCve&-lZCB*3u63?KR9kQ5MUX%H<8z5<iO@ zMv}rg#s&0ewGf1K3wM#ZWu*9fj9KNhVmL;`Yf)<FRL<C3Z==g=T@Z8iqVeDEDjWal zi}id6{+a)3U){5>LiSZw`|my8UcF<mMK|*=ZcnqOXvve5E_iY5k%u7dd79TAI^o4% zPdV=tc^}5r&WZF?kVtn0iS${J&{R4um`d*jQ~4JJ)7pPC7gA|wJmIX}G4I#&lGYZ= z?r!2v*U9LUnK;0Dy)&_etASRo@P_qVJrn<{`4<GLy3k<gexBB~!<rtnCZWL7A8Usp zLvXpxbKATXpKp#H&+rD1=c7@-a(vF5slx+0ADtZZtDhs>@$`hxpcgZKB+~dZ7?1mb zv~_*z1`|s~7-fu>a$JI~Dzb>`(`~8d>Mw4X;5XY*(6!dGt>3pMr>^DmH(P{Ij7B+8 aXx(2)6!Q3v?xS1)0000<MNUMnLSTXr+As0| diff --git a/data/tilesets/secondary/elite_four/anim/0/0.png b/data/tilesets/secondary/elite_four/anim/0/0.png index 806d26e570e348ec3620c361106211e3c4e24254..108a2099be48e6da116df82ff935c7125bf8c1f0 100644 GIT binary patch delta 133 zcma!^!8k#(o|%Dx!Ax=S4j^R^;1lBd|NsAY@7~?Jckk@kvwQdMU9)D*oH=v4ySs~v zi<6R)f`Wn^9UTn~4HXm=1Ox<tnw-Bp`~{?xJzX3_IA$gb+}T@g?)>mw?<E1JwD0pS k^8_gvW(tUVy|LtF@Zk}teRtLUCQvzpr>mdKI;Vst0Gent#sB~S delta 72 zcmbQi7(GGKi2(>yrtpLTDJ4%A#}JO0$raBZJvwyZ`J?YFPBvwQW{DMCLe)%<oH)~k Y84Mrsr>1T1QUdAnboFyt=akR{07$(Tu>b%7 diff --git a/data/tilesets/secondary/elite_four/anim/0/1.png b/data/tilesets/secondary/elite_four/anim/0/1.png index 2a8e6a31c92bdc7b8b674b1697a7499be500d051..64b23f06139ef86f6db57805183930c15c687475 100644 GIT binary patch delta 133 zcma!^!8k#(o|%Dx!Ax=S4j^R^;1lBd|NsAY@7~?Jckk@kvwQdMU9)D*oH=v4ySs~v zi<6R)f`Wn^9UTn~4HXm=1Ox<tnw-Bp`~{?xJzX3_IA$gb+}T@g?)>Oo?<E1JwD0pS k^8_gvW(tUVy|LtF@Q@LR-LhieIiPX|Pgg&ebxsLQ0GR?bxBvhE delta 72 zcmbQi7(GGKi2(>yrtpLTDJ4%A#}JO0$raBZJvwA?{^)zomWnrzat?hEQTfJlq*dsg Z8iVO2{?`4B-;RNFdAj<!taD0e0sx}h8&v=R diff --git a/data/tilesets/secondary/elite_four/anim/0/2.png b/data/tilesets/secondary/elite_four/anim/0/2.png index c4e6161a6460547b89689c41e39ea885e5ccd309..0d9f603fc3db4421a22af6e716ed48ad683e1ba0 100644 GIT binary patch delta 133 zcma!^!8k#(o|%Dx!Ax=S4j^R^;1lBd|NsAY@7~?Jckk@kvwQdMU9)D*oH=v4ySs~v zi<6R)f`Wn^9UTn~4HXm=1Ox<tnw-Bp`~{?xJzX3_IA$gb+}T@g?)>0g?<E1JwD0pS k^8_gvW(tUVy|LtFaM2O4ZF+m|B2YPlr>mdKI;Vst0GVJk$N&HU delta 72 zcmbQi7(GGKi2(>yrtpLTDJ4%A#}JO0$raBZJvy}E+|l=(EfsGb<sAATqVkR9NUP8} ZH3rK={7Y3YPC5_L<>~6@vd$@?2>`Z#8^Ztq diff --git a/data/tilesets/secondary/elite_four/anim/0/3.png b/data/tilesets/secondary/elite_four/anim/0/3.png index 2a8e6a31c92bdc7b8b674b1697a7499be500d051..64b23f06139ef86f6db57805183930c15c687475 100644 GIT binary patch delta 133 zcma!^!8k#(o|%Dx!Ax=S4j^R^;1lBd|NsAY@7~?Jckk@kvwQdMU9)D*oH=v4ySs~v zi<6R)f`Wn^9UTn~4HXm=1Ox<tnw-Bp`~{?xJzX3_IA$gb+}T@g?)>Oo?<E1JwD0pS k^8_gvW(tUVy|LtF@Q@LR-LhieIiPX|Pgg&ebxsLQ0GR?bxBvhE delta 72 zcmbQi7(GGKi2(>yrtpLTDJ4%A#}JO0$raBZJvwA?{^)zomWnrzat?hEQTfJlq*dsg Z8iVO2{?`4B-;RNFdAj<!taD0e0sx}h8&v=R diff --git a/data/tilesets/secondary/elite_four/anim/1/0.png b/data/tilesets/secondary/elite_four/anim/1/0.png index 7822d18961b5f398c42697c1279043b8da3ba999..6e508308b7de3aba9906993f87f0e9f5bfeec4e9 100644 GIT binary patch literal 171 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDU{r~^}yLa#I-Me@8?Ag70 z_pVv9X3m^B-QC^A#l=ZUNkKtDj*gCohK33X3IYNk6P&+1`~{@UJY5_^IA$g%9N-RH z+jLPtOuS<w!_0#Q!W<F-5`X^xuV*lx(c8<b@GCZE0oyDKXGtBt2wfHiPYw~M1s#q4 QKob}|UHx3vIVCg!0O;I1D*ylh literal 135 zcmeAS@N?(olHy`uVBq!ia0vp^96+qV0wfsDXLs`gDL+pa#}JO0$v^m6cr;uzCUCF{ z#Xmgqe~Ss5N$J7_B@v$^&YfFKHt0lrWM@<O_?*Y%W1c{vl*=DCBZf6I8s$CaSn{is iH6Qub(D7G8jFI8prEG_Nx8BVI+2HBw=d#Wzp$PzUg)18X diff --git a/data/tilesets/secondary/elite_four/anim/1/1.png b/data/tilesets/secondary/elite_four/anim/1/1.png index 66d60e90bca79defbe5d47d2dd6752eca42c0c62..794f26195f7faf9a72684e5f3578de2aaf199d39 100644 GIT binary patch literal 129 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDU{r~^}yLa#I-Me@8?Ag70 z_pVv9X3m^B-QC^A#l=ZUNkKtDj*gCohK33X3IYNk6P&+1`~{?VJY5_^IA$g%NW=hn W6Brmh(;UtKSqz@8elF{r5}E+q4=RxW literal 72 zcmeAS@N?(olHy`uVBq!ia0vp^96+qV0wfsDXLs`gDSl5E#}JO0$v^m6c$%j(Fx+}s U-zZ!5=_yEwr>mdKI;Vst0PrpmVE_OC diff --git a/data/tilesets/secondary/elite_four/anim/1/2.png b/data/tilesets/secondary/elite_four/anim/1/2.png deleted file mode 100644 index 09fb59fbf70ad81c170971b11f6bb97d1cfefb76..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1260 zcmV<I1QYv-P)<h;3K|Lk000e1NJLTq000O800RI700000`7e~F000EDNkl<ZNQv#0 zO>QGM5QXas@|<8aIf3mP*jLcb$$46UW-odcT3ZgFz1gBy0tATcYz?T%b%1ViFU<g* z_t>)h6VD_Ff<Xp|79S+B`W36{kuAgbgMkb|IUNoMazUJ*4d2U87r=+h)1eIUTLwKY zPG#`!@(eh?l)>N~zTwm3J#lh=F(k0?;qpQTCpqo|<4%T*JL!X;@}A|qr@$rip5?sf zIWO@a-(QE%8`u#yz<v(s`Eg+{-Dj(1_o=j^)F%xn)#HZ9ar60&lDqj_$%ZKP{6>D= z0JrvTF7xtHPnDZHQJ<ivzN_AXxSKCJ>dn5c_X@L|BLiQd$AvGOIiaPywHxWKk+)N~ z=#aXe1L~Skf(le$ht74}0hW1n&RgcZz;(IFz{aVku5%r?tOI(Adg{l}n{jSvG4wj> zb=2#qx1ipFdJEYz@1A-0%=?-6!n|LY_cQ0Q=R8!8znt$=9pCoL51_Z8-aYk*@;B<; zQ)<@ZhS+l+d(LC`(tjQ2(ZPkpkKmVoU2jIc8TDo_{ntV79_}Q%E?)|}d^4!y)%T~f z|JHnWoNw;#(_?>QzF*aQ<(KcNw}9T_a4{bAi2KJ2Z}#?U;+x1l&3V=I<?3Mpn<_+2 z3oFIM2ASCCpS^${H$Ii(qqS0PwU(%XT5EII<gvEG*H&ywT0(`8W(k96z0|Mc+{46* z@tY*Ng^Jk#I_Y?bn>_{>#TfqcMIo_TTk+9r@d2BB^KEc^qP4)*ug72Si+Yxb|LxEN zG-&dO!ogP=Q#x!~A#M^_o0s52BXJb8T-i2BrHz$_Ey>VCV)?plw3vwC<ee91y_MFX zL#76FjDRlrL<B<JNC<Th7u!l)@D(ceTcSaT@xAgZ7>^uVgS|A!DZ#8NEVMs!wI%qo z+yc$ZXZ;%6HBmx?<S}ful(vduR_Ly7N63b+C>rmNf_Olmq#Xlw0r)izwtX1S<d-#| zrXM5VYC+R*9~9Q`XOP_#mG7pLLldznBsXRwiAATNIZz*@cF5aW>%?2wO#4)`wj{=( zwpiCrQjG$muaeY0Msc*63xH2ATCycVL!YL`Na-EQipTN|!Bta-gOvlZ=>?YT^ENRK zo?H^TiG0>P%Mr94No?9$>ZWXfWg}H%49YS&F7~L{oU|^K7$OpNkMRMXAv-mxh=g8M zIDYITz?Vqhy6nUW28Eu6h-tZmvtT_u1V?#vZG^q7t~O$?FvgI_&F<m|A{e8FPy1cf z*rZ-bLi5q*s~S#RT}iZ~4F#gCMx#nb7XMjYuCSU)*+xtYV}mz*_EijUT?@xHFl%L& z2yWt4-`Hi}Ap`ks#OXE~J#Cr*!{KUac!bbRwm2jVw8lVPT}jRJ5pBT!=tO7T@8Ta| zvy7NQ>#d1`P8_QYxO1oS`6c=nfqHtAJU{l<d51f~5);o`&-eG=PQ7>xd$c`5!dVRw z_~`8#kKr<Uy2!lui5qtU*9KWnY{ifXR;NXOZ7PbEbvu$29oimgW!{sRo9*?AL$H!6 zpgAyg#Apc@*HB&;{k>N7d0B^b4@_AI7ROjs$JLBkcf4}D{%3wHUwHrICGtPMi9Y~7 Wo~LxP@{BeB0000<MNUMnLSTZV8++sc diff --git a/data/tilesets/secondary/elite_four/anim/1/3.png b/data/tilesets/secondary/elite_four/anim/1/3.png deleted file mode 100644 index 0c7c05034ea82b816b028eb39b9287fddf0ea9d2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1184 zcmV;R1Yi4!P)<h;3K|Lk000e1NJLTq000O800RI700000`7e~F000DMNkl<ZNQv#0 z!EWO=5QgU!-1G(F?Gt3*pzzV{bIE{mH=6}?wz7clrp>+hAk?JJ0Zj5-KqBwT9^8K@ z#kHNJ8x+MN1?s~G$sEpb{uz$wdNdl*IANTg#tGMSGX}24<1vkHu76;RX!H@QqYwPw z)kk3T;RYC8F-8M^KDYZZ+5Pm)?yYg(`}q#|y?~Cf03J(V@!RRb*RrJUPL?FZ{R$9w z4ACRmmHbqe3{fU5XjKAtCH9KdlRqJ`D(?Be@9J-voR$T9E{oUwU7$!Y5(<Xkg~x?p zNq`;p9zG%NL3~~Th}&_<ghfi>+j)rJ;qN4mPbrVj&+>Tx{*t<kQY4)Rz~7SnE!khu zi}RRJrl&Gtfmh%w$L&(w)p^|4>igzA-oL+s{T1wQ$^Mq??+be=PS9~ZI*!}jKkvUo z$1UIeC;H`I_s18TQKqMp{yV_m68Cqt<cpn#LYF3kIF7z&cmJjOc3fX<y*t_VhCE*N zchN83)87*QmcxV_{4u^f4ZPw7Nxp@oX^Jc6=c~g4PLYwAXPUBHd&+fiC*PT;TFxoE z)tc(PloTXjrBuTqkLAvs)udyT<ZGBTo1G*nH}cZXJmi{`+eMNsyr>-@qYQ&x@noE3 zGeO#A8HKvi<bsprJP!Hd*WkFL)xh3Wv)6UG{C;%M00QMt$PD@_VXhf9>~hb!Ir7do z6eeEMRJW08sWde#NrGfVPG7c-Bo$yBopEHe)6^O$q%0sq0OXo?1i;&dytkfAXlpXw z)yUlK84XO7>pfpUImFm2oTWib@@iXSq5XwdTL!<b_ds*L*Ht*K3gjCE4}LFct?NK) z3w32XK{PxfX?!{|#shSsb_UoCa22kzewY>XYXyk;Z2*iVh_(Z?;#W`I9GQ3Xd=L?b zLU5&a6glbWB^T6rvIcQmtqnPiHj^$|&MlHM$SqiFC|V>KTph`}5Xf+w84tL4Cdr=R z8}8HCC|Wy%w8Alc#o$$C{m{yuvFjadSm%9YJM`p+A)CN^)kzF5^@KvxTC&Z$0X7ZQ zjZ#QUCA-k0W^rPb2~v!}usvo29Gi3^uNe_q)wq7FB%slWy>zJ)a})}i`haSgh`XR2 zdI%lmpxOjy*-m$)rzoRO<z{tp1!0U*qfh%&SsYSsDMEbcJhkY=?UaI^?ASq|?POBZ zMB_g#*ITT{HSGhcg|eYHT<WXf(RD34wn4MjY6IgYOnYHBy+R7^_W`$CNod+M9u0@l z((o06nk=!8D5yn2jjhS@{RrCQeB6mfn?J}spv@9O0=Hhp$hZ?{A_3jmiFAJ%oj4A> zgSfo*+Bkz5p&7a3sptCn*NL-jIHT_2BkrmXz^&62wqY3kHOQQEkq>SNUF)gJb<HL@ zR_9qiHU&Ff+jc@R7|0&Dm3dC0Zo2oE4aS0M4{^}c0i|V_P{DJR^>Z!j<8mI_JaEX2 yusFl2IIboXhvUdS^si}K8hHQYBl17~7JmX@e0q$t!&WT-0000<MNUMnLSTZStWNg; diff --git a/data/tilesets/secondary/elite_four/anim/1/4.png b/data/tilesets/secondary/elite_four/anim/1/4.png deleted file mode 100644 index 317db1714c5a40a1f0d017a40baf0e7a0a951e78..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1190 zcmV;X1X=ruP)<h;3K|Lk000e1NJLTq000O800RI700000`7e~F000DSNkl<ZNQv#0 zv2G(b5QgU!ba?{n@&Y-vN}9af3Rw4|uh`mq0aWKGF@>51L~d<BB<ldXWWTxqn}0}I zmK58#1i`@p;^KoP4*%f{e~xH6y_rzLWICPFWb*DD)5&B?A8vs6H<Net9-nFY0hs*2 zJHDF&li8FIG0Q3`?)&SwcO3WgdED3Lee35N@%Ic4j2ajiqCPDQG#-SY;n#aX;$sa6 zS<}6!CDk>)OL6HxQP(wA@6J&RNPWJ4)cb_bRDTA<H`QA)M7<hWW%aV&6{@t2abKlV z@xmbPa!W?eJ96If;~hFAb~S*!2hLlc@OmAe?xFX~bscwH$L_q2x39MvGoY9H{Dc+j ztypiBo0Bkb-hs0{;lOzhr@UWrzkjQax2;#PUd4J9>s72*vEGXHeq)u2zHr_@IPc-o ze<R-qp09*E{}X=s*Y&Cl=&dgO2V;tAgkHrDI}L?FJPy1(`u_6vpS$0I?{^$z+V<sa zRJ~rui+Wdn`IdUzq3Spok9v$1?>LRV7k(>VLh7kVSYECk7laT6iDjXwD7B|j2Y2>6 zgVhwWq~ca<YWGr7kbsp^<+#TXL4~uLbc~XGi;!-!lO*LvUdNe-Qj>DKNV12D+5s}k zaEz-SgNtGzNV}q-&^DS}aFU$IA)os-c-qlxVDFm6%Y6}NiSqA9fw#IWA5j>LzJ#S_ zw1_J`X&)VV=Q|2BFKMp(NUc<wI&MjVWJE4s_MIdZ5FDLxWVF-N8+1rnK!yOwHSY+3 zw;g$JJ(<wAWV~xpx!W^3geaGlub>=q>=n+^At!mYZL!e*$g4erKd$#cce&R!IIarh zJ0uT&FKMmYKx&Kb%6^7y_&3|JU_78t)Gq*A0ItC})DMe_erf=*ybXY{gr@BPt@xv- zVTsCzWqE8O4u#}O?I?25(M!Hi=gAu6?X@=KG;Ahav|L*xWl&qN)=;!4Ft|37bs>;p zn;8$dc+rwQ!*}e{*eO~&gR;V@e8u2ZW&P30p0UdU8}9QyavVIlVaP7<UUinkOFg5| z^_Fb6?to24ZKo8<QYkKEwA`H76oM2ZFl@%+2*)9VC|gEEuUb4m?j)e$#N4{%#1a>U zp89~>G7)b<J9r3=a_HI&XW7nor02LspRSv`izkR+Ts3@}Pi1jPxuuBaqt9~-CvN8y z^lZlhfwr?*OEZn{v|Mko8rQTBxGh{8yy23sf`{vRIJSdXTeU%O7v{OKo7^D<`F+6a zRuVn!IuFBPv~)3Yixs!nM_j1Ig&NzE<@XV^$NAWaMw{QsJ-}uOA%U&eFba0!LL|VQ zgGld}F^JQ^8^!gr*Txyl2+b%RPd%6C-yklw;fy-NN4!-ZfLo^<Y{M{m8f4D7$OktB z*LrG7-Ev5Y)n$>#reM*v?PnB&LE8gcndc<#O=rF07%Zse`2tf1TrI<d2Fgv5=US2T zavj<{aLR(PxWKA7ttM3CY2=RiW7?Jm-aq*f`5&+1Paf%fLwCY3l>h($07*qoM6N<$ Ef?!!oZU6uP diff --git a/data/tilesets/secondary/elite_four/anim/1/5.png b/data/tilesets/secondary/elite_four/anim/1/5.png deleted file mode 100644 index d0cbfeb57cff3c941397618c313b781c0c15b3f2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1248 zcmV<61Rwi}P)<h;3K|Lk000e1NJLTq000O800RI700000`7e~F000E1Nkl<ZNQv#0 z!EWO=5QgU!>^F#!7uaB*p!G5BbIE{nH+|9BLI9t4X)_lej5VcR16bs_fJELU6j1+P za-29#+M*~H4bU7uSmEd&&Obv+KHrSSGP%A1Cf8Roo=k3JG$uxqABoR$H5y;b1pfp^ z0G?%hH5$oiLg1%djVD*~!w_;2H|gWXz}1LxBgRc86FKGm)aM<a^L~1r_rJcs4u5Z; zB@RHl0haeK7aFyccBPc4j99Letd`kIzNuw4#AWwimy%`oD_LgQSA-BMI}jULsV6<W zpGk&iS$<c&bswCqJL)~WulEWmp@<cJLXQg#MH}Spn73ozZV5DMMIdjRWtnWgVl}(} z($}#(*YV|b-i(`kt|RN~px%mlE9!mw7<wuD_CTNSd!IY%b(H#rc%a@|eq-L2{cYLb zmU$cYqha2Ld7C%#zT4kZ9e+75A3$$Sy*2ex>ZR06sh3i3O}(|W6m6Ney_~;}{pcFx z?b;79FaNq;O1+eN>G_=Z^GD$9!%`k>y4JNsw>n>ae>nSZ^|xVvyOut8T{Fb}jsCu? z_iA3gr{2S0N&2E*g4bMjzWUzzR=kIXzNj9H%hl6@QYsO(NUS7t>t$|(JBKt}?L!ul z+*vEdQELerD77|2+*62>#FbWTj9PqwkZOC-qV-n4j>{kCR*XAD(KS@e0nky0Q(XEK zoFp?P)+LFAVsFI-r^R_}@~yAI^Bc7Vj&47D-xu{FQUCpb2QX;<ge1p>*JELc0&#QC z+MIajD+yDt<<{0w3T>=Zw4{e7BFooxrNsmUN0&Rvt+P_+aLAN^4gt^`z7YUlR^ol> zB@cBWxpxIBcSoW^h;f7RD;S3yM}xgo$SL0J3M|w=akVD+xH$sV<-2Z=?V2FILh|5` zS~j)_Vs>y>*HdJ}PZW*AnGlcgN$MF;CV<=HVB5!8DnIW5wYUpFUJ6XZfk>?3qnBoZ z%A3XfWFj_&<i;E%vgqhF8|u82Ir7%l=He{IOuJaJwkRe?ZJ{i4i6sgQu82~)5G3cA z<sNYH!jdE5E6!=GjBH$vvckE1LvYoU{xr&-I1B<?`h1Lx!%S`oT?M{tUgYrFP9;=z zDP^^(fNdp3WemzPeOwq&(44qWlo%oq<$&1<jv<Yj7es_t1&$w`1S}?Tu&$rPIT{5| zeL%PJh_hfFW(X7I;Mx>>+1(z*-lC1ZZ#Uh=5kxRrjX525RbrERClThu=i3sKxVx2L zrw0lI*-fW~OfCLr^=60FxRGN(x6n4shU@1lcuZZ5iLEfKh1nvw3b%u?+rc3N`D4K8 zHX5E*mB+y0YN>dH;3h5h5e+TT(7Y_9<oO8JV}G2)+~&WEd&HRa2t7D@dm`Z^&QuRf zXQTS_OEl_y;q^D%#j&@!%W+3oV(xhBx#9k6)WvJqqaENQ&Z-Z<owIwqhRf*rB6H3~ zZaf!Et(X1W77UqVb&(9$rlRPktfvw~4%-7qnfE06W(U3G6s)B1Fb6{&&{`r7dnoUd z;a*FIysX3Kk4%{e7H3#h=hYr*cfNAF;jw?MzwrLaN92F}DSij#0)>a;x#2AU0000< KMNUMnLSTY5*JyPB diff --git a/data/tilesets/secondary/elite_four/anim/1/6.png b/data/tilesets/secondary/elite_four/anim/1/6.png deleted file mode 100644 index 4b35ededdb4fc28243cd2354e553dbc952523d08..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1161 zcmV;41a|w0P)<h;3K|Lk000e1NJLTq000O800RI700000`7e~F000C~Nkl<ZNQv#0 zziuNp5XR>f6z2ubc?0_qa<8CH$@8p$buY#SwzjTNFG_SJU;&Yv)__RX0k~wpz5vQM zTzPFNc22nBa5%)p4=Zyxe?AU}bU7N0=n|x>%MT;E#wY!B1&n^V{6M3NE8yp=OW+!~ z`1OiLqmS3X#YX_!PI0E)xpBYu{Py^J10CZYcw#K)!@?8oJ1wabx0(e0PLb{Ab9^o5 z_ktuo>5nBKKF#k*+%AE;XMf^$yTms56W`R|g0Y-0_Ux~E-`@$U93!J*2wwPG!uT`d z?m6zB<L)_7cZ_+)m+KIB@OMTX-@m_#&#hve@3YQ(_P1w$3--5Qe+znI<EMEB;(q41 zPaL=7xE;ssek@(i_Qx`9AJ`w`_D^<DoucEo9mnmC`>#j$j2}psbNyB9uVR1IasTn4 zcmVDm_+saw(B;V>hSB%0yZ=_)?nUBZ+ZlDd>+j9c_ig;4n?5ZL6Yk(|7<0qud*`iq z4_VV3SImxA4+}`8ATcX66{Yr6>gZlQK+lQKsJPLZnw^vsC19mgha`vE3THLxlqC5E zCSkpmB;{J3+L^~vlXBZcvV|A51!R)(U{^gG7sXVNc11z4sWrLiBsq^H-+T>*9jyj- zuAaWH%jx^kK?4X>KBF+`tBe_U*sOtF>A5yX-uXar>?KWfo2ZdWQ(#FlBqMS8vJH|{ zgmH4lk<m_5YoL&_fQ%84E8Y<SZv%O6J(<`xWV~xox!W-UOqA<ApFlap*eT=^5R<&x zG+1bV<JFeIKUX^-9Pf2C(p8asK=9~yl2*Ejq&84jwqr!YCyK_?Q7|5%6SY&o7J#d9 zr}g8sqTg#k%x)rJEJ3s_pcVi0)Xh+NH!BY!A}It{YD<ZWPG0hXI#1RhZmYE+r_pB8 zCCjxXQU<j}YYiof0;6jZSr;Q2ZZqQnmyRUaF?`@YO+nGh8I%==@)d(umGy^K_Ka=s zV9h%365F9C*9;jV?^Um2c&Wz}Lu<)~RRGq3nxGWQQrRx{Xjq(77lITcGHj3O0gg>N zQ8tVOtr}cERubSxq?aytVu^!-rat1dOu}8z4n2g9a!_rITsD&}=?RX}=i_E|aRp(F zqeh?hSy?10H<Tbgbe>pr;$}iokGJd~(q=qvXsq!+Ems??rWNfXP7B9|-f+3EqDR-Y z=-7Z}ZPXgZAx?T>*S$gt?spNlTS;gdf=9z)v;@9FP?IJ02?uI%pvE?2`F=$0kso)W z(dI95k7%=un8B@AGYam+smMTgb|T+jM*k3qmzU)Awb#ZO%m~dW9Zx;i&%gc=8MYxu z-NPr`RUd&Hr)zA(FnSqe&bh>i8$#E5s!QFlNr}~2(T`2RPFJ=aQ;G(%M{Z@FlQ=is z`zsE{f*KET(9{t}%P_Hq=ep?UTG7YlI<$G@kOg6Jid8YJW>ouO<nH^Qd0QTMU-O9k bkN?C!2gZS74S&js00000NkvXXu0mjfh66Ol diff --git a/data/tilesets/secondary/elite_four/anim/1/7.png b/data/tilesets/secondary/elite_four/anim/1/7.png deleted file mode 100644 index dfe698edbaaeee5d72a8ca7ca1c6b5bc5754b491..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1153 zcmV-{1b+L8P)<h;3K|Lk000e1NJLTq000O800RI700000`7e~F000C?Nkl<ZNQv#0 zv2Noy5QgU!e0hR+-yr)=uDtggGNAP4rBH2c;Xbsvogu)aY6B)&FF=vKvW4#-O7SJ$ z<kq-iu~?jo50W{Y;ryH#(d}e1p=ri6KTR`k>23<#Os7+t+}-}cn9$@SRwp0$znhQ1 z<ii~>xnWF3TxoZ0++Y2CC;Z+(&sYIZHL&{Y<-)hRrv5?JB*f=OKs+$SfNWRuQ(ZGe zow1_F8hEI&S3ExZ6B4W9GynHf{jIapx?<0D^}fFgR5?aQ#Spykv=S@{z;RC;_r!5~ zj@xs{j8#tI$9Vwanmm4ee_35dEwaud;BU?T*6gYp#Cgi7^HZI%!YlBN<MzLoE?4`j z*k8r|*6eT1{=Tr6>IHg^+jHFhb^V<<?y2XJ?|&~{uJy-_&8YL!i~2jk-x~e<xaP*r zL!r-;L7Ye5cfJ2s+&=5vv(D#jSLE@ozl%J6roT1(t;Y#B`eS@~9(dIolKco+(;QbU zU$2e}I7LBXS!gOs?Wxq!z4*>N-{q2ud#$NGN=Z=yR!TJ<@_gNevzl~Dl6(u3u-!|N zaw{+G%%Rkz+&+=);6?2LnPeR8s%PV(SP0UtC@8j#CKsI~=W)n4zXs<Wod%AsS-h{y z<@ck91`w!xMqyA_8B5J*VOM(2&5?ILP@H*5bKNCsrP35wk_^d6oWAUWBo$$toN;8d z)6^L#q%0s~1muQyM8MlX-dj&5b}bq2T4e5yi~tkm2G18z4l#}jX9<W&UhP^ebf0*& zWAN+d2!z*rU4!GQNIoEV^hZe>-9}P7s4Ke}qTvxq<I_<v4$z6Z1z-!nHE3sjSXA_9 z1Bm5)1dJt!wg<H0S5N&CnfJ?b6cL9)aHaN?IO*giU#RnB4dQlM8*&<DCS9_eTOwtU zTeQ|tvPdwxHj#BPlHoEl9&qWEBu9o1T&F20+Bk!>;yHcA;8kV)SjwKU9~^91=VM|! z)Z~^SL*%{cMGP<XjAH04*{}(~Hc%UsLRu=@#Q`mglbS-1Vnl`=uo&Ukq!(q&NYJW9 z`>~RMMkNl?<w`7ZQP9*!+?Gk`1?^Bns3-^3W;n}kz9&7$HTrzrtS(v*#<*(K>2NBG zL&_Z`h!36T7L~Z0Q`ECPJBYNK&03mi{HNt+ht;&9W5jLY+E5!V*H!eWx(*c^P^_)m z!Z^hFAnbNfNWuLvqPvxZrXhF~97apv7J`~Au}`>AiwiZjCCmL0wa59m5{))r$sJH; z88L%PuVEBii3^c|>g+}CUq&y^1Meg*+g=-IFe5ahbUgLkF#me-Y8%d|2l#|u^%1yt zy1_OKqkjgOb1w104WVj1HKlIZq{Qm77{;bxryJYNC`AL=BbPGIN!*(r{1v0Ipw>ei z6m`VaGE8jXxhaOZRt#}D4{Z({vLGxjuqw{08P(}La!<o+-j)a6fBA^~kAKDAMTdN9 TxZ-MX00000NkvXXu0mjfG<-W6 diff --git a/data/tilesets/secondary/elite_four/tiles.png b/data/tilesets/secondary/elite_four/tiles.png index d16b2db03c568c78ad0f22ee437f07b8fe331fa4..751f5d8cd71a73612889177d9e0b165c46af7cf4 100644 GIT binary patch literal 2877 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 Zgj`RYbA9}NeEYQpRuo(F=caJn{{R-!2k8I+ literal 2876 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 a_<sNn_>&>loYRZ|0000<MNUMnLSTXdc$(e- diff --git a/data/tilesets/secondary/ever_grande/anim/0.png b/data/tilesets/secondary/ever_grande/anim/0.png index 7536d08ad1a80452afd07dbccaa324892b81f8d7..ac03df40bbcf2203484f12bd27721b377d24f13a 100644 GIT binary patch literal 257 zcmV+c0sj7pP)<h;3K|Lk000e1NJLTq000mG000mK0{{R3?cL&10000mP)t-s|NsB) z?(W{+-p$R;y}iAxtgM`zoQsQ#b8~ZIVq#KKQb9pMF)=Y9ARrJB5C8xGL-gVL0001t zNkl<Z2$^HJ3k17w@4d@#_wJqBt9GphG46WroVnW<$he}tdiQD-hO>9CnCx1$#f0JR z*~`w>yN#WJQkR`nT$F%}8@(OQ#xAxDciSt<d+!?GWq8t&meF$e&Rqtl_Kx-@-@A7i zoIT1boIwl|<Bnz%TM$FZ#YqLkxa?wV;taHq0jTpaP~a^9VDw6vk;!<?00000NkvXX Hu0mjfcMEl) literal 204 zcmeAS@N?(olHy`uVBq!ia0vp^96+qV0wfsDXLs`gsmY!$jv*W~MbB;IJ!Bxla$$C( z*eY+8t|g~9PAptl8kW#t(#LY;BwL56k_uP7x!~N`ORhIt-)ql%XCBX<<si27(DtCe z7dCVy1b5FXW$54Atm*G^J?c@7sqvbP+PB^beKhsl@XJ@>r2Yc~zZ<)+3nvyZKQZp@ zIC)plTt49UlKH~?FGBA`2=qsad#LH1nl*8c*Xeis9?d2%%_R@M1Ub{w)z4*}Q$iB} D2AfXN diff --git a/data/tilesets/secondary/ever_grande/anim/1.png b/data/tilesets/secondary/ever_grande/anim/1.png index 7536d08ad1a80452afd07dbccaa324892b81f8d7..ac03df40bbcf2203484f12bd27721b377d24f13a 100644 GIT binary patch literal 257 zcmV+c0sj7pP)<h;3K|Lk000e1NJLTq000mG000mK0{{R3?cL&10000mP)t-s|NsB) z?(W{+-p$R;y}iAxtgM`zoQsQ#b8~ZIVq#KKQb9pMF)=Y9ARrJB5C8xGL-gVL0001t zNkl<Z2$^HJ3k17w@4d@#_wJqBt9GphG46WroVnW<$he}tdiQD-hO>9CnCx1$#f0JR z*~`w>yN#WJQkR`nT$F%}8@(OQ#xAxDciSt<d+!?GWq8t&meF$e&Rqtl_Kx-@-@A7i zoIT1boIwl|<Bnz%TM$FZ#YqLkxa?wV;taHq0jTpaP~a^9VDw6vk;!<?00000NkvXX Hu0mjfcMEl) literal 204 zcmeAS@N?(olHy`uVBq!ia0vp^96+qV0wfsDXLs`gsmY!$jv*W~MbB;IJ!Bxla$$C( z*eY+8t|g~9PAptl8kW#t(#LY;BwL56k_uP7x!~N`ORhIt-)ql%XCBX<<si27(DtCe z7dCVy1b5FXW$54Atm*G^J?c@7sqvbP+PB^beKhsl@XJ@>r2Yc~zZ<)+3nvyZKQZp@ zIC)plTt49UlKH~?FGBA`2=qsad#LH1nl*8c*Xeis9?d2%%_R@M1Ub{w)z4*}Q$iB} D2AfXN diff --git a/data/tilesets/secondary/ever_grande/anim/2.png b/data/tilesets/secondary/ever_grande/anim/2.png index f0835aa3b83e07cbfab26d3eb1be60282fcf4100..4f8baa2a3088be87e8e269320952b1e28b676ede 100644 GIT binary patch literal 253 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDU{r~^}yLa#I-Me@8?Ag70 z_pVv9X3m^B-QC^A#l=ZUNkKtDj*gCohK33X3IYNk6P&+1`~{>sJY5_^IA)5THRL;F zz{46af9b1ZGuFfkt&d?YY%XZ<`Y3C`c=lFnl+40lD}|}{2M-*QEwHhzJ$;{LcC0AN zo()r8CNjK!duxO2w4(W$N1v5y87Hp2xY8>6>V;x)-cPc!{4MFH#4RqkfAU<@-K1hE z&)79*vPp%y5g)H?`@V&nK3|lZ6uVFN$6v-mdEY0#n;tF&x{1Nl)z4*}Q$iB}3F2mL literal 197 zcmeAS@N?(olHy`uVBq!ia0vp^96+qV0wfsDXLs`gsUA-k#}JO0qUSd99&+Gey<pGG z%NoMgsT7{ta$<?+Yy(E?A4_-+<TgY!Uz@J>cIT4rP26_k{`Y(TI@&4h3h|ixtbN)n zrYz@graFBxg{f+Hj<004pEq}T9fSX4hGesxUFm0*X}_4J<R@ewp~AW8SWA+U#%?{1 vth$>odZu%)tiK<huQ0W;beq?@wKg*U^v)R0+a-Id8RR}sS3j3^P6<r_j0Q+x diff --git a/data/tilesets/secondary/ever_grande/anim/3.png b/data/tilesets/secondary/ever_grande/anim/3.png index c07cbbd17cc8fbb1fca167e388a66d9fd9b98f32..f120dee16e0898dfee858bf3e66ed8be1d1d21f2 100644 GIT binary patch literal 255 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDU{r~^}yLa#I-Me@8?Ag70 z_pVv9X3m^B-QC^A#l=ZUNkKtDj*gCohK33X3IYNk6P&+1`~{@CJY5_^IA)5T-N<{$ zK!EkaY*jD!%Dl@r^d<;oE0`6qbv(J<$k}n*<VaFWh@T*5ohX-7*@K#^m+kM`H=WZ? z7x-{&&avf8cK7o|UnlzYcZ#ifX0ohvgUE5q&Fi{yYafezlD$#hqI*P+=a<Kxj<ShU z6|NgQypw1Skr0#I)phLlwnY_Ye)5yz-bwxW=d#<kV!hY?UZATOJYD@<);T3K0Ra3J BXyyO_ literal 200 zcmeAS@N?(olHy`uVBq!ia0vp^96+qV0wfsDXLs`gseVrv#}JO0qUSd99&+Gey<pGG z%NoMgsT7{t^1@@XSt3)}2T#d{+YB4ooEGiat@d{3lI~61+q##(KlV>SR$wlVm)B=! zZ(r7}daqw~9jczQS3TzV%I5udt$qJCoHyYUc+Z-B%P7s0`-KoQpG=&FjO0&grBw!t y^Hv^Ey?ENm-6mwi-`ag!8KpljTI04YOscFtQo)FeSD9lU$cdh=elF{r5}E*x$VdAC diff --git a/data/tilesets/secondary/ever_grande/anim/4.png b/data/tilesets/secondary/ever_grande/anim/4.png index 7536d08ad1a80452afd07dbccaa324892b81f8d7..ac03df40bbcf2203484f12bd27721b377d24f13a 100644 GIT binary patch literal 257 zcmV+c0sj7pP)<h;3K|Lk000e1NJLTq000mG000mK0{{R3?cL&10000mP)t-s|NsB) z?(W{+-p$R;y}iAxtgM`zoQsQ#b8~ZIVq#KKQb9pMF)=Y9ARrJB5C8xGL-gVL0001t zNkl<Z2$^HJ3k17w@4d@#_wJqBt9GphG46WroVnW<$he}tdiQD-hO>9CnCx1$#f0JR z*~`w>yN#WJQkR`nT$F%}8@(OQ#xAxDciSt<d+!?GWq8t&meF$e&Rqtl_Kx-@-@A7i zoIT1boIwl|<Bnz%TM$FZ#YqLkxa?wV;taHq0jTpaP~a^9VDw6vk;!<?00000NkvXX Hu0mjfcMEl) literal 204 zcmeAS@N?(olHy`uVBq!ia0vp^96+qV0wfsDXLs`gsmY!$jv*W~MbB;IJ!Bxla$$C( z*eY+8t|g~9PAptl8kW#t(#LY;BwL56k_uP7x!~N`ORhIt-)ql%XCBX<<si27(DtCe z7dCVy1b5FXW$54Atm*G^J?c@7sqvbP+PB^beKhsl@XJ@>r2Yc~zZ<)+3nvyZKQZp@ zIC)plTt49UlKH~?FGBA`2=qsad#LH1nl*8c*Xeis9?d2%%_R@M1Ub{w)z4*}Q$iB} D2AfXN diff --git a/data/tilesets/secondary/ever_grande/anim/5.png b/data/tilesets/secondary/ever_grande/anim/5.png index 7536d08ad1a80452afd07dbccaa324892b81f8d7..ac03df40bbcf2203484f12bd27721b377d24f13a 100644 GIT binary patch literal 257 zcmV+c0sj7pP)<h;3K|Lk000e1NJLTq000mG000mK0{{R3?cL&10000mP)t-s|NsB) z?(W{+-p$R;y}iAxtgM`zoQsQ#b8~ZIVq#KKQb9pMF)=Y9ARrJB5C8xGL-gVL0001t zNkl<Z2$^HJ3k17w@4d@#_wJqBt9GphG46WroVnW<$he}tdiQD-hO>9CnCx1$#f0JR z*~`w>yN#WJQkR`nT$F%}8@(OQ#xAxDciSt<d+!?GWq8t&meF$e&Rqtl_Kx-@-@A7i zoIT1boIwl|<Bnz%TM$FZ#YqLkxa?wV;taHq0jTpaP~a^9VDw6vk;!<?00000NkvXX Hu0mjfcMEl) literal 204 zcmeAS@N?(olHy`uVBq!ia0vp^96+qV0wfsDXLs`gsmY!$jv*W~MbB;IJ!Bxla$$C( z*eY+8t|g~9PAptl8kW#t(#LY;BwL56k_uP7x!~N`ORhIt-)ql%XCBX<<si27(DtCe z7dCVy1b5FXW$54Atm*G^J?c@7sqvbP+PB^beKhsl@XJ@>r2Yc~zZ<)+3nvyZKQZp@ zIC)plTt49UlKH~?FGBA`2=qsad#LH1nl*8c*Xeis9?d2%%_R@M1Ub{w)z4*}Q$iB} D2AfXN diff --git a/data/tilesets/secondary/ever_grande/anim/6.png b/data/tilesets/secondary/ever_grande/anim/6.png index 9b5030306330e8e9c2cce6fa7ff0c50eb91da06d..d7cfd452941f4eaaf87d6aca5a3538d8d87b4fa8 100644 GIT binary patch literal 254 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDU{r~^}yLa#I-Me@8?Ag70 z_pVv9X3m^B-QC^A#l=ZUNkKtDj*gCohK33X3IYNk6P&+1`~{>sJzX3_IA)5T-N<{$ zK!oLjz4sH|H+(xg>nExeA7Jz375m1uCSiKWhe*ZH7#F4Rix)O9mwhi$zbn|Vox|b4 zzcVkdGVDy1)IQ}rNh2yiCDp8DsmzmgJHxWq?<j8BQMvr)C9~F>PR;wSCx5x&cv$ny z^No7^iJ#UTJW^q}ZQ<iM(=}^)ovW|^xbomT`$u;lqmw%-76Bc_;OXk;vd$@?2>^bA BZI=K5 literal 201 zcmeAS@N?(olHy`uVBq!ia0vp^96+qV0wfsDXLs`gsR^Dgjv*W~Mb8=XH8}{dUZ`i2 zmR{Y@$r=)K@M4$Hx(A|S&DV;UZP|H`>YP26_nl4p-J=V8{&?2av8kL_=w9t;xJp_o zY}%|>>FIl$*2yS3EqbkgWbb6jOWtnxGh4QJPAvWW!ISw^X2s(lKdf}*y-yqTcAT>n zG>;9;?n-#XdGN@Iri!!M-jpX9eCpetzUI(j`KngqfQuKq)j@9bboFyt=akR{0INz* A00000 diff --git a/data/tilesets/secondary/ever_grande/anim/7.png b/data/tilesets/secondary/ever_grande/anim/7.png index 9b5030306330e8e9c2cce6fa7ff0c50eb91da06d..d7cfd452941f4eaaf87d6aca5a3538d8d87b4fa8 100644 GIT binary patch literal 254 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDU{r~^}yLa#I-Me@8?Ag70 z_pVv9X3m^B-QC^A#l=ZUNkKtDj*gCohK33X3IYNk6P&+1`~{>sJzX3_IA)5T-N<{$ zK!oLjz4sH|H+(xg>nExeA7Jz375m1uCSiKWhe*ZH7#F4Rix)O9mwhi$zbn|Vox|b4 zzcVkdGVDy1)IQ}rNh2yiCDp8DsmzmgJHxWq?<j8BQMvr)C9~F>PR;wSCx5x&cv$ny z^No7^iJ#UTJW^q}ZQ<iM(=}^)ovW|^xbomT`$u;lqmw%-76Bc_;OXk;vd$@?2>^bA BZI=K5 literal 201 zcmeAS@N?(olHy`uVBq!ia0vp^96+qV0wfsDXLs`gsR^Dgjv*W~Mb8=XH8}{dUZ`i2 zmR{Y@$r=)K@M4$Hx(A|S&DV;UZP|H`>YP26_nl4p-J=V8{&?2av8kL_=w9t;xJp_o zY}%|>>FIl$*2yS3EqbkgWbb6jOWtnxGh4QJPAvWW!ISw^X2s(lKdf}*y-yqTcAT>n zG>;9;?n-#XdGN@Iri!!M-jpX9eCpetzUI(j`KngqfQuKq)j@9bboFyt=akR{0INz* A00000 diff --git a/data/tilesets/secondary/ever_grande/tiles.png b/data/tilesets/secondary/ever_grande/tiles.png index 943a3f8f421e748fed59606e6051eba6e858244d..a8ff3a742a835e62922d618ea17075d14381b7ac 100644 GIT binary patch literal 2126 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 Ef<MdVMgRZ+ literal 2208 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 diff --git a/data/tilesets/secondary/facility/tiles.png b/data/tilesets/secondary/facility/tiles.png index f99c2415028ddccd5ca7d4567754172bd94639ee..7f48c6a99f61339e84f99989662910fc3ac4cc1e 100644 GIT binary patch literal 5773 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 literal 6352 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 Sv~PL<0000<MNUMnLSTZm@13Rq diff --git a/data/tilesets/secondary/fallarbor/tiles.png b/data/tilesets/secondary/fallarbor/tiles.png index 21ab321efd26aea4909e554d93f2bc527035bbfd..3582d1d030d978025a2de580831db536aa401cf9 100644 GIT binary patch literal 4653 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 V8~rBEs|T+fU}RvTU#3e5{~t{kS!VzM literal 4781 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 Hu0mjf$ogN0 diff --git a/data/tilesets/secondary/fortree/tiles.png b/data/tilesets/secondary/fortree/tiles.png index 78cb1c1aee22044a5abf7565cb4990a457c0445f..9cd688c5ed549e4fea918dcabd27a8f7b6625fd2 100644 GIT binary patch literal 4414 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 CM)45< literal 4342 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 diff --git a/data/tilesets/secondary/fortree_gym/tiles.png b/data/tilesets/secondary/fortree_gym/tiles.png index 932b5c06ac6e2d1eda226e28b48beb4fca0ffc6a..aa10752cdc3e2a4d209b9f3846a8b043726b5601 100644 GIT binary patch literal 824 zcmV-81IPS{P)<h;3K|Lk000e1NJLTq004jh001Ba0{{R3C=6{D0000mP)t-s|NsB) z?(W{+-p$R;y}iAxtgM`zoQsQ#b8~ZIVq#KKQb9pMF)=Y9ARrJB5C8xGL-gVL0008R zNkl<ZNQs4%F;Ck-7={ldm~FR!ARUOM(ymn|##CM^F_cPXu90%gVW_*dLouUOsnuo6 zQYr2~2#m1M`~~PQ2>AtR`n_j=mpfy@YkP5W&)sw1cNT(j@`<mgyQqTq@+9qxhD<2V zi_d3#Mcw(|TYX!A72k^YBw%)@Z~W8W0$`;zu`=`;08I)}*Ar29ivX?5$)8IDxXBv< z5yvP*Di`$h#mdD5fa|!-WaKp|Sb$35ol+h>zGz+OnXh|NXEMr5z`B%;09H6xD#x=5 zz}0~b*ewD6GifQj?UZ@L3Jhpp5a8g76d0g_60ohlf5d3t2cT;Jl|n{?QAPvkEdlow zu^z|j7m6Gy59MP3D>wj0K?T#h+bLEs0N{C=<^Ys!((zd#J6C-Ja5j+u_jd%?S4BY% z+XR3@_Vsm^edz>7;r!<kpv&ke%%IQ+FbZd>3wWTgUlbz(Y$}yN!K|QCz~Dy|=3;$N z6bgXekp`rvuhO)?RB!;;MAL~-m@Uvqk^xX)04q2EDx(QjKuZ*BM3V&Ah}0n<@_0|m zq@!z$U~pD7658dq3IN=IYw`QCjDRoz8-$wxZ3dvgioy!cK|&P(36XY3*BG}vIZdb+ z65hl|0oxY9C>-w*;K$Pdlo0^lL{{)OWs-f94gh%wpbZ4X04jy}NG5n508|aI(L2&r zU;ryvfJ+;2QwPu|*R#vW3Kn1t0DqN7bpU3Yp>Z_8_Zt*`7nB!O9}Vh&IZcPoia)%J z<HKTDR|s3<u?-lF^3Vm)bW>`62GkW+TY3S-PElo$?>d0RKg_pSl!gRYDg+wP9=m{1 z-~#CEPHD<{^|PgrgaC-J9LfsC&@~WrcBeSs3@{3Z!LA0Zws&m6u(kj}1<-}yGO>am zghB&E*v5NS2x<#}!W;_Kc+*HB{jmfHeM}foAO9cnww-C2EVLy60000<MNUMnLSTYC Csbh)& literal 770 zcmV+d1O5DoP)<h;3K|Lk000e1NJLTq000O800HO(00000l&2hE0008XNkl<ZNQsq| zzi!%46vj{e1i%x7yaLUVj0tZLBXwcps+B6nBpuo{FoYQ+mCRUbIz;MXl`#|Q+CP%X zP!c6+eVK^_?sv|`*a<e!Bk_~J>(3Y8<L}xOqG$uOo9!l@o}8W-h-^1K4>AJe*HoW} zN??FubDuApLnKZn0oyl{vbMG@vT{W$TT0<zi!h$cmhp=881VXIK-EL~qSTm<l&Tvz z?MBN$-vM6#uEo9<`*gw=%{K#PBVe>o;q0J9;Ru*Ah6gO=FHuxNQR(G=1d)4}z~$bu zkFo2zF70+4XAT!g^SSJEPzi`{%&78ucj`c?GG^2T*MJHVv#dsTN+$eo6a5#sRcq4Z zFy5ZC)H<Y@hu;5bH0pG_z`asky6^PnNXtvwn1o9p%{hMm{WyWf*^h>SgiE0H0KN}{ zAc00J!s^t;a&_urdCZ|PI8rU(HE<GT?f)U++5i$R6SI~1OT=uEwWLJC<ceo8dj@ym zGvQi~Jc<g%?E)3@#RALRLR!R%3f%E<f|*UiCRZwwS2j?y=OKK=n0ke9)fl#Y9-+ce zfWvSd;K5TD+0lFG^e$+o^>{8<ng!0spN@f#GKf<rFqSUDCGdw4;?xP`>~deyr5xd) zNEpv&%P2WR;7o3}OZwjFlG}TNCpm>YdIP*$_N|THKBJuazDmP3iWDjvGK=^mW--!y z*{M^&4x_@@^gFmI9^KCy`Q*u1`~)q2p!9;}7Rww<qP%(2$m>IPKp`g^f@P7V*&k-R zSSDQVr(dpt^uR_Lh!i+oz`d}m23iAf%n|v5HK~i`>eR*ZS$u#1==!*g;F@&chuAad z%d#&W2-hL`qjDMF+C!VB!!q6i{tYl4-k`<)ko)W>dXNTLuk6*|974ejpAe*t#fgn) zNgJz4!YXy#K@HzpyMk5PRjjfaT!$3!Qt=D_0ZFX;Q^^RF8UO$Q07*qoM6N<$f;d=s AO#lD@ diff --git a/data/tilesets/secondary/generic_building/tiles.png b/data/tilesets/secondary/generic_building/tiles.png index 6f681f837361022eda54d16d03eff46a24871ec0..4a79b0f0492afee8c190401df9877127c43610b0 100644 GIT binary patch literal 4990 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 literal 5607 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 B<Y)i@ diff --git a/data/tilesets/secondary/inside_of_truck/tiles.png b/data/tilesets/secondary/inside_of_truck/tiles.png index 65a82e88834c8cc249b3b42c6f0951c9cfe38174..59a24b705d7d235cc60ebad72cd2caeb995436d8 100644 GIT binary patch literal 572 zcmV-C0>k}@P)<h;3K|Lk000e1NJLTq004jh001Ba0{{R3C=6{D0000mP)t-s|NsB) z?(W{+-p$R;y}iAxtgM`zoQsQ#b8~ZIVq#KKQb9pMF)=Y9ARrJB5C8xGL-gVL0005U zNkl<ZNQsq|A#=ho9L4zxb-SyAiE_7NVl{jK+`h-AsF)Zi1QQ?z9*=3}W_F{V8Z;Pc z5TM9c*peo%kfi?t&*UywetG}LYg4NU{RxdNy;#D&=O<F%wR1_p@U3Ae%FeV}E!A$& z^cGC&>o&ml1n}n_sb>c;>X|YC*=nhF`+c7g4n7%+XR}#a4%ileMTc-8089c9mI=s~ zdYcAJSZ;xEkX?2#QE8{WJj}oW$ld#}?Ph@RrjJ6cR&cX}X_EZP*(WOP6k%SSfdDLW zK<+F~5hgW4DIhKYEJc{FW-Z>y9!xnu%J4K`gD@j*Xity8`EGY?1ppvS+W|d-bRfbT z<}X?DgD|`5<ikL%YYi&TK!!KeZwtbVOaMk0yBXvFW&xOXa5xMUVeJWpVb~@du#E-S zL?&Q=5r9UTfYS&h06#>CSZ#p*&NQ72P+g3G)&3hjr8~y~s%rzfW|7t;0M&II@c!u& zJ>s+jR2NxbwZ8HrG6PgsBpk{ka6)LRUhP0sw;J%|Rc0WoTMejR0<aVp3TAAS%gq4I z!x1>av-F|nARQC{TwPZKP~GB5eR*CF(8VdHd{Ec7J-h^zW$+IgAy9!cBTUHv0000< KMNUMnLSTYc)$t?% literal 545 zcmV++0^a?JP)<h;3K|Lk000e1NJLTq000O800Hm>00000dm@~c0005#Nkl<ZNQupr zAydOJ6oB&=GBw0ZW<b{z-*Ffmo59a-h)pn2)l49U8vg^gA23rycigRlPVElYzX0#O zv`Yw0ue*aC5#PPMyr${vcP;yb!5X0Hn80AO$1GErN-5cWzdu0q*_a@NP<0s$1&MXT z;m}tYAcW`nm30JKP*c27gSsqBC3}X!7I=bsP@TZ29>>*r-X#-VgdlVg!bGFz(9fH0 z6{L(J1;`iCd%TWVz7GPH_n__jyVZ*A@dfl&5NS{@2!b01!7YQ-ixFv1uBk6gL4u5e z;0n<zz<CSNDI&}{1?jXlDYnyx^9_79N|HnwHrB!&FoVZrGwffo`F0sB63!K%>>B%= zs{2+6Y~9FtKI=x7W=p(m!8upa6Gk+(^r7uJE|gJQp}sD}C@l6fHG{=D)}0-qi^EhJ z5;~{aHPY<IR7R?<%C)Lom20Q)&#(^R{9ajtIA1r(MWC&;aMl9Jr47@<Sqn~qt^J$= zTl;ClG_-n49!=DH1Gm~GO4qbpR6+<tG%PGN3r$7MI&GMSR&O%pbF7=P9EJh1t|}MD z@!9~Swz&FXfO7xdzhC}dK{sLp&i*ycIr~Sy6Z)}aZ*a)^{?U|vF-_0+2X#BZYYx~Q j*@FkT&PJ7MC-CnJg4Ad#aVq3M00000NkvXXu0mjf>uLIc diff --git a/data/tilesets/secondary/inside_ship/tiles.png b/data/tilesets/secondary/inside_ship/tiles.png index 77142a7553ef7cc3ca7cc07c8d85e35cf59b395b..5ddbe2859dbedaa1c75fdc562d7e3c5d63bb8865 100644 GIT binary patch literal 2050 zcmV+d2>thoP)<h;3K|Lk000e1NJLTq004jh006KA0{{R3HEMfR0000mP)t-s|NsB) z?(W{+-p$R;y}iAxtgM`zoQsQ#b8~ZIVq#KKQb9pMF)=Y9ARrJB5C8xGL-gVL000M# zNkl<ZXo2mTKWH0Q9LMjnbk#dqcWL7i-)kMKv@u*RbTR~`N0*X<1X7nQr`GbU;7Zv{ z3?YWnA&bG?TJVr`a%rGoFPWpInYt)L=vqU_;8Fek-ao(lr+bnErJ%2DMR&gY===M< z_kMTpT`UVU0a+<|Q55Ohuo<-|UF}lpN17}N2!#>=!X*K#ly>0P%>^WO2!QReU403l zEilmXyGDT8b`+6q4nP<9k*;<i2$$l{p^yS3b|B!J;n35*2{wm316_*8wS^R*C!_%I zM;(CMJOit=t!X9z&j4*10h}BF&j4Lb03@ZClDEnMvIT1L+d%NKNn{g0J3Kth1>B<) z0eBDs97?GKz(-#teI&>+2lgb{8|?4vA-Mbd`w{>j9}g!?L+j)jcMwyQ-=jihfSoh^ z{+%;xG~y0?W;~`nx_<haLI`C59>JM)0v2$m%R_g1bUYrL0VqYl2rOtxjJxXqczw+P zaPRudHRj;tnFi=~uLIzv5nw!C;|@ke02KBUJOKf_l-8jp_;|bmfP<3+KnnqdEg}JR zN*}^+O#pZZX$M;@i30@?VgR}e26p`xYqd3z#Iysw88d+TLkObAdgPKPnlbI52VI!1 z6#*~<Ee5E1svo2rY~7=413nf+{FnzH#{$nlJqgG-=xq%LIGC1rkwpOf)4)xh0lGWg zfgFu}KBy2N2N=%)t&1dbfRqHtZSVVL4MsidrR`=7Hi)VRycx>?B8jr+={?a1;Fba8 za83bY1=u_<npnd0l7><RMM~7jrZFIO9mxRv5`ZeIsU42orrH6SgDqBAnF@F4+nIy) zed_A+-Y_Hl)=uhzlhL8LE?C=9M$0dbkJ@Db<)8@Axu65Mh8a7!t%Bb^2aqse06V88 zEb9`{9W>y$O?2E5wh<770qYOTBd#RCrn-Y%fFA}B#S}o919G!L(8LEnlcxmUG61C{ zfE~z^c(V~ijV5{jv3*d1w?qP*Vt}gw{0L0s0Bq_LBLImSK>;8LO#scP;RC=waNsQo z@J#_Egt|_!xF-_e6H`D_J5Wo2Z(j%ylmdvR902q&2;mr11hDu3sH9I;2?&BR02@<T zfJ{K(mjS*U3<lrj0$2iA2q!P*a^O=qJAkgN03jRrDZp*e#|0rk0s@Pihk&=K8NiK? z=#4NJU{gpy0H3D=*eya4fEWM@nvsWKQ+;Gu{1$$&1#b#aB-RR$fCL%<au#9&fL2KD zoDo1S3P>ejc7T=1Edcg}WKo?8$Or&x>~?xi_5cHbyyjEwMk8OE{{xWzCwZfpI2^=g zo2?v{8DKc%)76!7Kwb$WS0_UeTMpo-Cka5_{SfhX&QkYa#Q>OjvI$2j1Odp7t85M^ z{qa=>;F$xu_1*eQdaVFJR>}eEf6@AG8X!Z+vyc)@`{*5*_HFX}yDmR(Ccr=SR}28P zsVxChLP%?io?btNc_W+*kam|ORBixTVVy!VvH-Gxk|DwXY~Hvj0G$+I`Y7iBHg6Ou z6gi+&<-h<S=8bX=g}$L)pBbK>S<UHs%zywGq(B3)YfN{i?=Zj&rz$|30fuBg0DM0H zNNeY;55;b0b^xj2ED}2L<P89{`Jpj@@D;P+5GVfL8~~gs65b22;?E3V^F~J%dRl%) z8j#Y|gYRmZ`I}IOn&tv%E1U}l|Cs~f;_loIbQc$KFn<mf4&IRi;bMLV(#68T|K7nu z3oW!zO8l<UPR?<{Fbt~jW>@%Y+WAq0gr(>!waSG6&Z~NT{whBI60QKQ;7Z^zF38AL zed2AQh&R|`uVTRZ-(mRmYc%i&I`HJ<AP%UM0xq3S!f<lBvJ@TvkN~(HR5`%DH6dj3 zwz9+x%nqoAZz}fHFj(RS<^crk?Fu(w3OH|b1>gpbFN@`|LI6MY!#m^g_)pf*A_QZ= z<@=BJ?myxH`0zj`(HP+EAz^ugeny|ehX*$Pr<lpa9B>&8>@9DE8{u>K(6_F>4Z~Y+ zED3Ps(wJDnC<tMBV>B8)#}N2Za3u?<HKCKVi$dUd3<1&_hR_}opq_BKF#vi+A@FZu zAz;H;8ldg=V)(Jx2qu<tlng=rJivzsxY%<Js3x9n)LN_Tl?p-q0KkbN9{{2!+PxA0 zhM+y<?DIzg6-$l<yO&%#$pTacm|`eM$H!2T<Y<JvSyKTR0-V^yOf$d|RI=Y2maGS* z01TlQ6Rej|_85Q=2H+OT0T_ZCRw3{&s-L?GP?a^&B!u`|0SM#Rx)Ko*9a+_zqAI7> zE^<Tg<%*dT`v3qPS>#6k!b5HdzVj<@^j`=7K8>Q^jx5_T1Yij79|*wHCj<bLBA}nY z`j#7l2B;{&u<aO!Pyooi{*{GLv1|lXiUCdjDh|OSd<osl2V}0!nGi%hfXn+z9w4J^ z2nH*+x-ub5yY%M*(jmBU`ANDmA<XO`9fBL1tzZ|1;PnTC!3-`kA-M5ufSgvC(E*g= z3pv0m%{u@*6+*x!XokMP0O~Q_C-VUkk1$Lh0~7*qsB6RB2w+pu^BlOU;#invJTSk~ gF%D(l;lGCZ7wcuShAKKC!~g&Q07*qoM6N<$f^m(6fB*mh literal 2149 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 brgi@XRutqT-6OW900000NkvXXu0mjfN)ZyX diff --git a/data/tilesets/secondary/island_harbor/tiles.png b/data/tilesets/secondary/island_harbor/tiles.png index 82e419e72f3657589428dfe6880e2d7961e767a7..12ec2b1dfdbd129f537c3bafe0314338b3134e11 100644 GIT binary patch literal 5121 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 WVHy3iRYL#nIdI{;sb0AbG5mj70SuD> literal 5639 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 diff --git a/data/tilesets/secondary/lab/tiles.png b/data/tilesets/secondary/lab/tiles.png index 6a213d9609dbc272e77aedb46057c42a828ada8b..cd401d24a7ad06995bdef42ff4c9d49096bf5df1 100644 GIT binary patch literal 2633 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Ðw3;-;Rt*hS}9s^)AI0}Fj1SPo}Re_jD$z523kraqD rCfQSIBn5mqC&7c&2XO!-nu7lT!{yJGIAP8x00000NkvXXu0mjfi3y>9 literal 2844 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 diff --git a/data/tilesets/secondary/lavaridge/anim/0.png b/data/tilesets/secondary/lavaridge/anim/0.png index 303855f715b590b2e9479b21052a237c87b53f51..434041fbd8a974762b23803736cf26b8bd8e3792 100644 GIT binary patch literal 140 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDU{r~^}yLa#I-Me@8?Ag70 z_pVv9X3m^B-QC^A#l=ZUNkKtDj*gCohK33X3IYNk6P&+1`~{@MJzX3_IA$g%EYM8| iYA_OMy&zejnF16SWmv5i@@y_p34^DrpUXO@geCy_ZZBW} literal 83 zcmeAS@N?(olHy`uVBq!ia0vp^96+qV0wfsDXLs`gDJf4E#}JO0$v^m6c$mHa?B!Q^ gx3^U=LC;5w;p~RG>kZOZbU>;-UHx3vIVCg!0LG^j{Qv*} diff --git a/data/tilesets/secondary/lavaridge/anim/1.png b/data/tilesets/secondary/lavaridge/anim/1.png index 7cdee79e24685e0915a7b2fce39f8f02a6f5c66c..ebc028ed49574458ed0360d2d3bd31d66ddbae35 100644 GIT binary patch literal 147 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDU{r~^}yLa#I-Me@8?Ag70 z_pVv9X3m^B-QC^A#l=ZUNkKtDj*gCohK33X3IYNk6P&+1`~{@sJY5_^IA$g%EKo`a q3TiNz!ZKBX$JJ5ML~w`H8wLiqX2$ZqDOI&Vl?<M)elF{r5}E)}i7~bS literal 92 zcmeAS@N?(olHy`uVBq!ia0vp^96+qV0wfsDXLs`gDP>O=#}JO0$v^m6c$gjj?5+N9 pfB0^B`G4a()!)TVF?BCo#multua5i5Nw0X2HcwYSmvv4FO#laP8(RPX diff --git a/data/tilesets/secondary/lavaridge/anim/2.png b/data/tilesets/secondary/lavaridge/anim/2.png index b5810b80631a560dbcdd31d4f7b8161665292b61..aee227f05db4c7281442141750ccb840d9beae46 100644 GIT binary patch literal 143 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDU{r~^}yLa#I-Me@8?Ag70 z_pVv9X3m^B-QC^A#l=ZUNkKtDj*gCohK33X3IYNk6P&+1`~{?>JY5_^IA$g%D2Q<w laW!PR0hNWY83r9;Vu&(lG;g|i`V>$VgQu&X%Q~loCIDjyFP{Ja literal 88 zcmeAS@N?(olHy`uVBq!ia0vp^96+qV0wfsDXLs`gDS1y9#}JO0$v^m6c%BHo|F<{& l$M<)4tvMK<39X*)k;~AlROdZgwzCtY#naW#Wt~$(69Anz8DIba diff --git a/data/tilesets/secondary/lavaridge/anim/3.png b/data/tilesets/secondary/lavaridge/anim/3.png index caf7b569835b7e3edd654797f57b762a68dee3c2..99149ae625c0292f2c1ff055bb4cf0e90adffb33 100644 GIT binary patch literal 153 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDU{r~^}yLa#I-Me@8?Ag70 z_pVv9X3m^B-QC^A#l=ZUNkKtDj*gCohK33X3IYNk6P&+1`~{>`JY5_^IA$g%9N?E| x6yRZLU{E{6F}bz#zz!w@LAM!FGdMOfFqkAVthTA&auTSX!PC{xWt~$(699;wGyVVo literal 100 zcmeAS@N?(olHy`uVBq!ia0vp^96+qV0wfsDXLs`gDQ!;|#}JO0$v^m6c$NtN|M&m* y`44g&4r}Ta3<bJbnD6apfBA#`5_i(WAa;fg40YEZtEz1PY4>#Xb6Mw<&;$VRMjj6U diff --git a/data/tilesets/secondary/lavaridge/tiles.png b/data/tilesets/secondary/lavaridge/tiles.png index 896c43194b1349e149d234b25a6df5fabb801378..2f6898a0f7ca21efb0dfc0c1d608d8bae6931a27 100644 GIT binary patch literal 4087 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 literal 4215 zcmV--5Qy)IP)<h;3K|Lk000e1NJLTq000O801glY00000n=beL000m^Nkl<Zc%1E< ze{37)dB>kR0=5(=;FH=~^Iy`PTx%MJOgt)f7!=T?qk-80hFUz&nT-xbX2DpoqI0`a zvIlsU7xPHTR$|v6kFg^}3Sjc@e*ijFD<GzJulGKLH&981)&0qvS(A`k<CDY?V# z`@F}WvLsWf6WN6b=!56(9=><S_xnE2``o=E2OoO0$T7|Uxh!x7$Yp^u0E{f1VHo(( zbS9H|2nM;)Nk)2*G0A`lOfu4gj7b_ur>DqZ^bfE##^@gaj4?)kKTX1X#J9Ru@J;8w zhueR7Uw1dXtm`K5VmBH3{%$^c$n}GpL)q-F2dTUJ(0(#?eLr=dXS}Q%r1Q~gPpNyF zbn4pol9vMC*teJT4!w)InznV4|4@fQ&jwm$@^tO$qP_b90ou0B(?(sMeIAm#^(Jc7 zJN%^h8{0_n>{6&s@$aQfdMZV;)ILqKPkHuGrb(`$f3ImLddgE%LnJq7WXq(XQ{XjC z>R0F|>Yt5Mhq60O?KSORA!=8>R3oc<sAdxm1o8RZVdCT7@0p^)R!0@m6G*e9s)1qL zhB_H(fk{T%aMfAzTR;8f4i#~p@nYq^Jaisq0xvSo7dMxn+Vk#}4mDDnviEEBt=2k) zy0*Qvmpb-!HIgcOH0tnr+er7fb&{;AZPY0#It9ME*Gp~Qz&2|0Y?Gn7y()FIb!rsw z?)B48G$N|eG-$1Z+UcsNp`HFs(KgXlO>3a3nin*h%}iXyA?+<{*R%|@D6`h&CTeJ} z*-f&h+0=A(Pm1=W?o5-+%8}xhMe=!FcOePutSpoKV@-3#C16=rl5|~vu?(^-|1oKr z_7|>8h0Nv|w}E*BxDCu35ju0*uqqXncEe!_IFaR|q@0upZX(R3L~sKVMrw*Iqklbh zRV_?b*eM>Srw*+Q-GsBbpJlcxsy(lUPU4PAldetKq^Io^9klIRbilT=G-YEGm}8d! zrFGp;b}G<@eQBNk*S2p^*0!&?e)9}f^{RwFg*p`#ma2A=+R2s&aZTZ)UhIS-{2Jj8 zan}nCK_CIr0&I0^e)95BKX$Tw<fRZoLRjl9gE*jRZc}*_{K_NYX(KWW4OtSwkSQ0z z*PIiQM9xXJ1j6{5XivhY?7T}hMe{8Q!zKw5BN-+RSO)yICfLPdw77nSF!wO5pZ+Sf zwisrx92XP354Ytwi`D~Li(O$k0(t~6EbOzctl_*65)_uo*bv;r&mq0c4C(gNG%%52 zB~H`S#7u^!SeSMO$@SwI2yP++>CL8Woia1PEGscHF_S{0h!&1>3?u$tFAt{P3&6df z^Vx0zw}4wfI*pU3uJd4u9%sOU;n4BQ>sunT6(P%K)oS4Ui&_;_wL17%e=6%wg^7I@ z!<XQr7Q^TIl@yj@^fM4ACpk_|a-5vxIJutsbGWw_bl^PW$A3xALckATUI+XN==wI9 z?EE*JVL#2W#UlLlQ_OewV<-LUW#HR~2iKs#S=OJ8Tybz>7V*!v)2zBQ$3MFm|6rx3 zQ~2pvgwr!OC~ZS^X;z(GjDI%cQU5NhtFADwTZFh?m6nAh#W*a*ICDlUa{5H9TLzq0 zodjbMc~!)^<*+0PS9>2@6DTeaClMWCqN&6nP=AG+VnnWRd+V2fb7B2i>U*y1?*aXn z)MxJdF7<`Kc8dCp|N0j7?VK~IPyMDrzy75$NZ&ntu9^Pz6ma-EW;31odaRkg^F5=P z%=weeWc-KPT=jVi`4`X_UH*f-c?&p@Wh=$j+#|nVk<V{%KEI|RpChO1l)d5CY3}0y zGW#_gn48hPD6mk7Re|;Dw=Wpa0CyX|BtO*ou0!(X+Gnb6xsQW%UkgT5Bw51KPZul< zoP=SCh~A8m;(^x8mIS@>bODwH7)G2eOronjujWVm3%r2*t8YU7)ems~Jy6KM`T^u$ zKj+`i{;U0#!KwE?KkjfiMBbmHbm|vg`gmftjj|Iz(~;R{bef);LO#!MQlA2*XEIkw zJtF@Jb?uPHNmq~jDFr%PXUHFrzDaF*>lRq868Zgqj#$@X*)%#cGeZ*-C>rMQp?NMd zvWy=v)F38pHV3U4_RC}nep#+WvU%tKCV6}C2+2SFDV)dU?KCmE{f9L3{tq>p->&SU z|2eX27ajRVcYx&XL;53E*j-7%r1vSWMvZlt!Zs+&qLVsh=^4^I4Vd(HG}dC)EN?1< zR|PuRdeqnVsIiChug>{b7y0)9QZE7?L$?d@PhU&@hW4D_LeCEC*|`rrJNKbyhxP2- zhn^kQb1IddA)NLa>Y2<nO0(cnQ;2`|HN?L($3Oc9;@|rJLSHNz6qa5sf|0yQQ6Wc+ znY#_Om><Yr0`4{t{IE|bO!Yu|s@%W@5#%T}ZUQ#T4$-D(5dY+2%REh4;PH0xeS9~M z#>O&B_=)L^7?-6gs}Y|vYps3`{N5kJftG}e#>NUu^B=S+AWGj(Mu4HeVCQRMPLO_1 zm6#Hy0n`=tb<`EMEpWY;XMNXMJ~nADz~w&c*<n39tY-+0%aQvG$1cP_2d$(!z4-1g z+89tB#D;yC0i@mq-qoN)O~ZNN%*mz^Wx*$08`J@JIahqbP#AR#i8GVhiaS?3JJoy{ z?pmn3OZ9?qmKn8P4;sJ+O~LuDqKHO4Zu8aZ#l03~g{zW_R<-R3XNBAQgs<<eitBT} z>J_)|$^Q`ilRT_6s;wod7VRykwdJhkH1xY!4{B{WYbsx6*lxjbkfF1h5cKjQEa-1) zW&PRwH4XI$S9dmDxDIDC`cF21ebHmUF?O+Cq~3Lll>)9YxRgodMVKz?uWXv9KHE(% zc{M--y0u-U`QP7GGez80<y3M_SpSH*I$VV{qHsFPGmi)(CkiJ~Z$*-*-}<d&*#oB1 zvrPd}Y89TYT5IrwxZuXqL93o2EK$0RkrkhdQSz-1*ZY0X20nLK<4JM`gv@Rx^PBx* zldZ&f0`)%X1-JfCSfazwP-OU(rwjN@^+$XZ&SrelqWI-8tFS37ATk=UxV<Zn!!Pt% ze^}hnBF{nI%4A~Lw}9Vt;dRtF7qgh`%zbFlg}L7tG%)uYi^6Or*)oUl-Ry@$n4Dxk zaL9Uneu#`S^Y4*$W`2^b7+dl3_Fm6gw2)<d^mdjmmcaXPDU3x8coSIkGE@fgxw9y9 zz8sdx;%nCU$*i`U(Rl?>0oB8h0l8(}f71;t#l_4Aw}Fd!oc`c6aIuI;0bv%`dvhNd z6utv(y!SS$*@4W52Bl*IX?ibm8H3YGL|9xgGTxrQK-rJpilN}WbAgQ4Gn15_G{tMS z3zWW@FzDhO#1+rXWhp)ljmOhz0qjfPGyn|jNP3cA3Rp5NTB=3EK2@d>A5=HuljS_r zVTKR+NW2+PG2&%)qy?%Q@gYYQ(W3gug5zWGi*KMDrxOt<%tE+6eJ25AFoigsxx*G@ zAuzx%Xd}r85W5TwMO-8(5lIZt?FbIsHh{@k<R;DD#6%>IB$Q~FF`DIsF>57GvvnH# z!UGg$g(U`{u*9T+*$t~M5r+P5hhqlX3!A)N#eleww}u6HW;Fb!b(WC8j?i#0c*NZ| za`NQK;+v2b_nll*Q_}<1j^}r5=<jhuq%><5i-QD8o8tWkTM07~qr`$SK!y{$4CF3T z!f`O)b)3@_<5gE;snpFxI06g-1|J;+CI_7eub~poVLopTlM@q-<_wdY5(gY^&vC67 zL$oLKCloeP5@998e0;|ai0k<s&-+{@3c)SGn%<{uVErH@V1s0V$g8&T7+lo`elG!a z!7@Z-SVd;bYVzUV6;BQ9QG1lExD|IdAA_6Tzy^x=zyAd0<_i#;>wi^G&h<Un;KkfI z+d5AD_E?BU?XfT-T$ERz1ba|*1bZoF1YdKVb4Ca=Mtdv>zeE@iexV);Tfs1<bU|}z z^T8nS+W2u`^b*I;>&Jmh(W<XcJcK@M7~O^Qjy-tZP>)63>~h$)ezeMcgo5!^&nEtH zpdZNDlz8nOlm5!K^SE>joBdJDhV8LllSaovCXJ)GqF67!YcN8L;1FAt5H6of=iTEK zm-ke42i=q9?aNw^fx=dWWyZy87%RU>htaL;54?vkdQGIy(qf*K{H$=)MCT=YDQu5l zf*1s1L5jQ+3eqKLg_1#t<~W~RAm~)|R<sC{`_1ezEs92xC{ds!)ZGb#dJH2-(IC{m zz%M|>eZ+b&4G3}V++(7$F-$X*_cM%MS_lS*_$@8;Y=msq=}|gb)amGWg-$V!;`9y= zCNpZ{K91R!C}i7c-X1q86iI|Ab`+P9><Jpn>Td~p_<&yd)2)cArMIH$Bx#E)Oy^$k zaZuRmsP;XWzOM*<85EBu#-m{f4*C;u2v&$9;}*maPeOl@OFi`0tiNP$G)_?){oBia z$6Q2%bku@QL&;Dt>(nfakG~rS_H|eE)`KTs?)v_bah(s?KU%~4yeJE}*ED;eXM-hg zMyaO<`=Y!q61pF9{e<+wMd^v<qeCk-DprUe@pwFC`2Ob2oAY`JR`}uIjxxY)3m-TR z7on?rZ2e$I0spWCI8wy-|DfQq-U@pN#A^;-OFW`l{AiaScZ>j*s>*-|n+);rLOkj9 z$V&b#ye!MYDt}uq{9H@y<EB)fI6A^B2LyboyBJha)hi5NC3fN*ax=HGlic?t&N-Ew z1zu)wPE}|@^(b^sl^NJ~wzydT!KDHoh5~r_auuKJr?{&aS|tYi0X}h6e1jvcxX4m_ zxE5upRk;0!uM^zB>Nv;CQp&&`6?Xw$y~@jBUX{deuau*rljWikan$1z@VS=InxekJ zM;WaWAl0#`A+8eCm2i?9tpfSw_`Z?iRY`zU5dVk^i6KL49$q%1RKg=3bj$A3?rQ%( zVEudW$;LSeeRQr>lF*H<47IhgYdtQ6>gw2~uvEUTqAPH;#X{VWSgcZAVOiADF7t?R z=!VF0naLdR6j|Qs#=ioZtC3zG$02nDSEateC`RCNK$sXK7FoRXYIqnUz-oc>)<!tD z4zo_TT0B0s3g@b%w-NuoK)k`K6L8l6xygFOhwetNhIyZOivo|WE|&Adu9&-4sM_<M zki^gsT0{2h<J8-yAf@)nLVAkO9}ftHUwzbyY$~#3Eu*zeFJj<e3c=F~9|u7nhe#hM zVPxHWPA;x@WariMuW(uao_Vr?{;gk%FssBxEF2@_M7@z;Kg5#idxfYB5i4oZ$=$nm z(@9@E?yes?%hBxYm%rT1i{kQ|W*n+}^UaZ+luVB7tor);h9R!L7RK=KgO<z|>+e+- zLy}R?&$#QKd+xbBc(e4MO)&n5A)bYwAo}M&%tLHe_|=nCf1-XBi?RMa_++D?x-DgZ z^rCsN{&I#fNa1*44WtNjp`(|M=Ft=C`5doLh^vGg!|7w>7)~F9UmzQjK_}{^6E4Cr zDeUfZa^@g_TUgV1MUWN>E6K4;n8nTY@4?>}Xev5%MU?z3(+IAJ{|5sgih>#n#U%g$ N002ovPDHLkV1nfXKN0`{ diff --git a/data/tilesets/secondary/lavaridge_gym/tiles.png b/data/tilesets/secondary/lavaridge_gym/tiles.png index 8734cc3bf2d63cde6c5ba99eff17225e8ff99492..f5c25c6bb428561978222bbc74030c024c5ea76f 100644 GIT binary patch literal 688 zcmV;h0#E&kP)<h;3K|Lk000e1NJLTq004jh001Ba0{{R3C=6{D0000mP)t-s|NsB) z?(W{+-p$R;y}iAxtgM`zoQsQ#b8~ZIVq#KKQb9pMF)=Y9ARrJB5C8xGL-gVL0006z zNkl<ZNQs@4v2x-t5Qb%*0C^?_Tng+rN+BRO<D^371@4rFl0hv6h0?jW;(XW8#(9Es zniO0rNR<+&N}2PmEXj@>lK}sWW?6>)__fjsArO8e9x}$poU=Zqbif$eM@gk655EyI zJP>eKX-P-HdcEpXLS!TaAqQJ(e*)maCd;;~F`LNvcYshQwsiIhV7htE^MBhRQ*nSC zVFQ8&3l;$CpmI1-@d0%-;5IFq6bJXc4*?f>p{I?CTSq9suM)6!-viR>6zTv^)E(3S zcj@gMme87Cs=}8?6<<rh?~eg<-J)nGpyt5APP-8>%JVGC^M0V>%G=R{)AUO-U<!3m zIh?5Yu)~4#C%$P0@Jm_vGG>o5z786D0RC^{sAmC)(ixv#WZBc8yorqtPSbWbcAJ|> z>4*>*Br^+5JplhpW1s|l{dxTZR#YG7CI^np6MdznZ}=%CLJ(L>1L$f?o>&wY#N<K( zx-rJF2CP96axTOIR`eclUNpz#urs&iMZ(2B8=!AuM728l3vaO~0466ZXrhma>mwVW zHRoJ;C;`eq1qcEcwR~*q3xJeyU;yP7PKdn)au4U%@_Tha`KZ<a;I;;+{@eoSE#P_& zTAl)%9AnphQ0x~IpO{lH1;|%2IefGq6M12-pvYXPgPwD#85FP*kR%5KsN6Xe6#$Sq z&%FVB#`=u$&;XzVg@^qCTmr7bBsm%|0{}Z7AO}%)0cwxzLCC&S_)i%1xt#YyPvJjy WswB5F_BE0K0000<MNUMnLSTZ4yeJL; literal 713 zcmV;)0yh1LP)<h;3K|Lk000e1NJLTq000O800FQB00000bb6Nh0007zNkl<ZNQteL zu~OSW5QY~@s>mf3c12v!V4eWc(j-ce!d+Cja4UwAhD%<+$Q5`dU|+!-$u5W~n6dN( z$oc=hk*zTj@l4nme{<UX=d`~2btg-NY=IOZK0=NW)##wQg-)x5?wq-5Xf?Vq2KZ$q z9*$ZPjhdcZHb046;wN`fzzm{D>;uqhPh#;J?SaTn;{l}|LiQcZB#s@d#eC)p^BK-} z#rc|2ARgnridNfN%=dZB`No{@kb;Iod71JQcn)NlhrlzChrpEBSjhlUiF(~>$Cs~! zj%szfx@(kl84x@Yql`G30j-6@wm$f19CuFpTO!;>7a}Sb)*{^K_qQM4sq6Exy9vl1 z-3Yp_+;W>0LlIa{JWrxq;_}XuI38MOQN*5uCo-Yx0oWUew?7_;RoBs?2NWqrobQTC zb3o9E&XW`)b{#NZo2o-#ckG;~o>X^ER}On0wT9com%?FduT|wXY*vf4!`{bRZ{+xn zQsAkRNq!QXOTPL(kk90)^Cy#&;4G7~pgWU!uz;z%Gr-Tb_n+FLg{X&qU~#NR2E=Pr z>1-HUxevphbE4{W<f?oubm!D{Syk8d-Kfx|9K96h9}gpT5Jk~V2`<N~noFTMW6Yog zmt%F#MN~YqD@9dq?Fj8YtjkTq9&vAF+Uo)L_=D3IAW4DODgMkdNs`iPR6+lALfuFA z7t&l-(bmxjut!9i;Ju3(-wR94gB0y{L$sS(S-vJb%wLl?_h0~XEmGKQk>D|5ZuTGN zpMLBYM9hVVF3bd5tGJkO-}HR>Dc8EmggZ+NcHfw5!rX8XA!ecKO!WN%xK}yySJi*s v)8+dT{o!qs5?oHZU)`6QL*wHTTn^R0WKWdkkc1lV00000NkvXXu0mjfhW%RO diff --git a/data/tilesets/secondary/lilycove/tiles.png b/data/tilesets/secondary/lilycove/tiles.png index b77f3d37925546942fddb5138e917338b3e9bc19..44111c4487a17f0f9a4f45cfbcc777f5ba539020 100644 GIT binary patch literal 3652 zcmWkxc{J327yf)_Gc&fylAS@8{H&2BV#r!FlRbqAWld@<S<2U%r81QkvQ~s-kFpMu zBuiz>GNy>izGo?~_mBHL=iGDd{o_8*dCs|sl#^zhcwsyMfYZX<*m{rQy&6Ix_wZBK zy4xP9QY>vvc6WE@=jWMBW>;5NLqkJxadAdQMsjj8jYe~GbF;R#HZ(L;Q&S@ni39>+ zZ|K<Sx2?UMJr>4>wq8*`(#d`!144{M$?EQ;!Kt!yq=H&g$}@OvQuxetPC~&}S@3%v z+Q<FHU7sHy9t=@DEK05XHp)<k={8P$QNtH&lpZCC*%Pf)Yujr1arn+7LslGqx!heo zVotPn=D@Y_?PK~$&y00%h^<eWozfU5k2h^J7(B^0EGPR`zm$1cE2J<`Huvz$EM}}a zsNntqk{$Q`@|Dv~mRA^Q?LmKUW{DFr$dw|q>M0}ZCBPa92_7))!ruQSPlY*sdS2aM z#sQao>z4mD(=yi`{z)KQq@Ga@c)0Z_)MpH?=s25^;<xfDI7}{@8|NNHAJE2kt-Lt} zY?0ZwouePyF;EVxv4&RcNG!6*-&*=Wv))qYqzs*mwmfn=qD!PIsG;A-xe450S3=br zFY8>rb%^oo+(&mS3}Lu_z)y4hpOC1FuQiV~Wcy*C%P*ONUmywJ_ek@muzie6ZEtO3 zIPRwRabHJwa51`6n?#Mdsg@~yxY$(YDCriGzt<NzzaDz;mv`y~j{HI)>)dRV2X8C2 z+`I+W=UGL}!xLxNQNxx-8I~C^@+a@@7)#c>4>AdH+OQC2^^_!n0ZeeKYUT%?wtu7a zha2hezBT+|Jy!J{%0<9JOqCO�lbe^cA)RSE5G718;e`c-x=9*khj)-PTi$!Bk9P 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 Ty(?SxK0IJya?-fOh#LJru5MZi literal 3912 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 W7*gWTvcjJL0000<MNUMnLSTZ4^SnO* diff --git a/data/tilesets/secondary/lilycove_museum/tiles.png b/data/tilesets/secondary/lilycove_museum/tiles.png index 5bcc0ecfeb7396d3622435c781c53192f7866605..d0f0cf0366fc4947a8ee7f70b466a9da5b2612c2 100644 GIT binary patch literal 3391 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 M%G`!tV&)$EU-fwBBLDyZ literal 3938 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 diff --git a/data/tilesets/secondary/mauville/anim/0/a/0.png b/data/tilesets/secondary/mauville/anim/0/a/0.png index 88b028b5210358b4a3d4920ef092c67818b6941b..b20c5470ee26c6d96e5a2e52e025071ea207ddb7 100644 GIT binary patch literal 234 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDU{r~^}yLa#I-Me@8?Ag70 z_pVv9X3m^B-QC^A#l=ZUNkKtDj*gCohK33X3IYNk6P&+1`~{>+JzX3_IA-ehZsa}e zz~MTRHJ!;pQ|IE0?BFUUZ}n6a{s|&)CcTQ8dqnSGda&)^|6dw+@Gr9Fe=+~+{80Uh z_n`}S*0UdZ6ZU#qQL?n(k&jkySk$ylSWR3evWjx-+^~U(o9ki0hr}6vDc7g9$b0I| f;mrPb?FaMvX#3vZ)$8+t4q)(f^>bP0l+XkKB7t1H literal 177 zcmeAS@N?(olHy`uVBq!ia0vp^96+qV0wfsDXLs`gsR~aQ#}JO0x~DesG8qcETwIyD zr29=roLK{t2Iom3QGrSG^f$UR>{-XKP5hV<-@HAG`Cm28w%m65u-MHvJp0x(-DJHi zyn6N?Z{@t}m&BId`5(Qi$xf@t<v7Rvhq3lmH4b+zdhLWufBz8r+p+A(?4(@NEl-^d cd~f_<zOmH)YrR_CZ;)F&UHx3vIVCg!0D0F%UH||9 diff --git a/data/tilesets/secondary/mauville/anim/0/a/1.png b/data/tilesets/secondary/mauville/anim/0/a/1.png index ce4010db2848ddb04a56ef56b6a3da58dbca2492..0587295fc5925a9c080f9b7691c4acf203373834 100644 GIT binary patch literal 229 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDU{r~^}yLa#I-Me@8?Ag70 z_pVv9X3m^B-QC^A#l=ZUNkKtDj*gCohK33X3IYNk6P&+1`~{>6JY5_^IA*$@HRNhA z;BmM(N42U+&4ME`D%@Q>eBpzMbF}$(b_d56i)V|T`Ql;6@<#f{LQk!dS;68<A4P1} zxUjlRG_t&_P}6YZm17*owN2P0C*EA#;4IbQ*&uQA;q5Jq-pNm=)gF9#<4u*>mp>xA Z8K2Lzujm$kZUwZP!PC{xWt~$(69DbBTEqYV literal 175 zcmeAS@N?(olHy`uVBq!ia0vp^96+qV0wfsDXLs`gsWML&#}JO0zFmfV%?>;)-*xkL zcJ1HM;dFNL1V69YYO1*lHo7$C#7+32e^Xeq!0=Na+o8jpvOK@4_;}58R#|u5V;0KW zQNmkode9`yI`H-5_bNqhCre}`^IJYI{_U{iqWnFfvb&!|f6O|j(qnjcQc0@nl5By= Y@(NN8T(WO{W`kVf>FVdQ&MBb@02Avz+5i9m diff --git a/data/tilesets/secondary/mauville/anim/0/a/2.png b/data/tilesets/secondary/mauville/anim/0/a/2.png index 5ea20f6dbd281511a1d59fb92e5880a22d29915e..af0dd4ffe394b0a0781636830233278fb1d1261d 100644 GIT binary patch literal 224 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDU{r~^}yLa#I-Me@8?Ag70 z_pVv9X3m^B-QC^A#l=ZUNkKtDj*gCohK33X3IYNk6P&+1`~{@4JzX3_IA$jA;AZ8C zkXS8tyGe4j(_*pZs?HLp)BL>mole-AHC1v(VdYh!&09>O7bGPMKi-m(x}amyq|VOC zlXROWPTI&FaADfP8!ji0cyO+9^E?{Kx#F2#z`ISt6AG`Lc=GP9wt`^tgwSo}jApA` V1x48EjsdM@@O1TaS?83{1OWDjStkGh literal 171 zcmeAS@N?(olHy`uVBq!ia0vp^96+qV0wfsDXLs`gsUlAo#}JO0vE3Va4+ZeJ<cn?p zqqTd7gJ<uQiTkEZYZIMhGEGCtTDYP7p-!MejLpsG<pO+l3nn|te_vT}H2AB-<&OvU zhri%1oIPE?%G~Y{v+m`>v^5;h)h6n5<nt__o^-XAyT*U9klW0g)6U%TJF!$jO@8)Y VtHQnOLu^5=@O1TaS?83{1OS&)KOq1B diff --git a/data/tilesets/secondary/mauville/anim/0/a/3.png b/data/tilesets/secondary/mauville/anim/0/a/3.png index fdf4d30bfd6e83785234df195b201723b273d2ec..bc132f2ef534edc05cc17653f3f16d436e972597 100644 GIT binary patch literal 216 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDU{r~^}yLa#I-Me@8?Ag70 z_pVv9X3m^B-QC^A#l=ZUNkKtDj*gCohK33X3IYNk6P&+1`~{?vJzX3_IA$jA;AZ9d zA+cKQc9Z04r^RB+Z#qdDH|nsh4qe@Iu;=vZX)~6pYBNh7Q%lQq^V-Ja=5<W(nA)*z zJjc|$)EpQWSRV7zI_KqJTHaVReQra~W;eC+_i>D!63saq_Hr|XU-#hNt1(j=XdQ#6 LtDnm{r-UW|F{My- literal 160 zcmeAS@N?(olHy`uVBq!ia0vp^96+qV0wfsDXLs`gsdP^l#}JO0si!w`HaPIKJ~a1^ zT3<9hBx?8MgzU#$S;8A8oc3LC^Qd}L>#`pT5BXb~^>0a)NZoGty;^_LJAcVye$Uym zCqMTI*&QxU={U~#uy0q&KFi&87M`5RkB-gQu3F)(J@J*Bk6wI%dHHk;u0J5FJzf1= J);T3K0RV|*JEZ^s diff --git a/data/tilesets/secondary/mauville/anim/0/a/4.png b/data/tilesets/secondary/mauville/anim/0/a/4.png deleted file mode 100644 index c8097808c7a2e419c3b8aa4f9f4da594953d845c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 178 zcmeAS@N?(olHy`uVBq!ia0vp^96+qV0wfsDXLs`gsY*{5#}JO0x?LN2nG6M3womhY z+Yu+DVCS|-#e4oFfl2%9Ejt;0#xTa{uQ?iTa7&tZ1@q}7jsD+8g~wJ;>59?Izp%U6 z$N$gn&RtyBZ&xh{vyRD%`f_oCvX$Epw)atAel+|ll&V#Gwe6$oFS%t$d^g5$@7%-f cBW&`I;ZL}I0Ph~JFCfQwy85}Sb4q9e0OwXh!T<mO diff --git a/data/tilesets/secondary/mauville/anim/0/a/5.png b/data/tilesets/secondary/mauville/anim/0/a/5.png deleted file mode 100644 index 88b028b5210358b4a3d4920ef092c67818b6941b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 177 zcmeAS@N?(olHy`uVBq!ia0vp^96+qV0wfsDXLs`gsR~aQ#}JO0x~DesG8qcETwIyD zr29=roLK{t2Iom3QGrSG^f$UR>{-XKP5hV<-@HAG`Cm28w%m65u-MHvJp0x(-DJHi zyn6N?Z{@t}m&BId`5(Qi$xf@t<v7Rvhq3lmH4b+zdhLWufBz8r+p+A(?4(@NEl-^d cd~f_<zOmH)YrR_CZ;)F&UHx3vIVCg!0D0F%UH||9 diff --git a/data/tilesets/secondary/mauville/anim/0/a/6.png b/data/tilesets/secondary/mauville/anim/0/a/6.png deleted file mode 100644 index ce4010db2848ddb04a56ef56b6a3da58dbca2492..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 175 zcmeAS@N?(olHy`uVBq!ia0vp^96+qV0wfsDXLs`gsWML&#}JO0zFmfV%?>;)-*xkL zcJ1HM;dFNL1V69YYO1*lHo7$C#7+32e^Xeq!0=Na+o8jpvOK@4_;}58R#|u5V;0KW zQNmkode9`yI`H-5_bNqhCre}`^IJYI{_U{iqWnFfvb&!|f6O|j(qnjcQc0@nl5By= Y@(NN8T(WO{W`kVf>FVdQ&MBb@02Avz+5i9m diff --git a/data/tilesets/secondary/mauville/anim/0/a/7.png b/data/tilesets/secondary/mauville/anim/0/a/7.png deleted file mode 100644 index 5ea20f6dbd281511a1d59fb92e5880a22d29915e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 171 zcmeAS@N?(olHy`uVBq!ia0vp^96+qV0wfsDXLs`gsUlAo#}JO0vE3Va4+ZeJ<cn?p zqqTd7gJ<uQiTkEZYZIMhGEGCtTDYP7p-!MejLpsG<pO+l3nn|te_vT}H2AB-<&OvU zhri%1oIPE?%G~Y{v+m`>v^5;h)h6n5<nt__o^-XAyT*U9klW0g)6U%TJF!$jO@8)Y VtHQnOLu^5=@O1TaS?83{1OS&)KOq1B diff --git a/data/tilesets/secondary/mauville/anim/0/a/8.png b/data/tilesets/secondary/mauville/anim/0/a/8.png deleted file mode 100644 index fdf4d30bfd6e83785234df195b201723b273d2ec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 160 zcmeAS@N?(olHy`uVBq!ia0vp^96+qV0wfsDXLs`gsdP^l#}JO0si!w`HaPIKJ~a1^ zT3<9hBx?8MgzU#$S;8A8oc3LC^Qd}L>#`pT5BXb~^>0a)NZoGty;^_LJAcVye$Uym zCqMTI*&QxU={U~#uy0q&KFi&87M`5RkB-gQu3F)(J@J*Bk6wI%dHHk;u0J5FJzf1= J);T3K0RV|*JEZ^s diff --git a/data/tilesets/secondary/mauville/anim/0/a/9.png b/data/tilesets/secondary/mauville/anim/0/a/9.png deleted file mode 100644 index c8097808c7a2e419c3b8aa4f9f4da594953d845c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 178 zcmeAS@N?(olHy`uVBq!ia0vp^96+qV0wfsDXLs`gsY*{5#}JO0x?LN2nG6M3womhY z+Yu+DVCS|-#e4oFfl2%9Ejt;0#xTa{uQ?iTa7&tZ1@q}7jsD+8g~wJ;>59?Izp%U6 z$N$gn&RtyBZ&xh{vyRD%`f_oCvX$Epw)atAel+|ll&V#Gwe6$oFS%t$d^g5$@7%-f cBW&`I;ZL}I0Ph~JFCfQwy85}Sb4q9e0OwXh!T<mO diff --git a/data/tilesets/secondary/mauville/anim/0/b/0.png b/data/tilesets/secondary/mauville/anim/0/b/0.png index 88b028b5210358b4a3d4920ef092c67818b6941b..b20c5470ee26c6d96e5a2e52e025071ea207ddb7 100644 GIT binary patch literal 234 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDU{r~^}yLa#I-Me@8?Ag70 z_pVv9X3m^B-QC^A#l=ZUNkKtDj*gCohK33X3IYNk6P&+1`~{>+JzX3_IA-ehZsa}e zz~MTRHJ!;pQ|IE0?BFUUZ}n6a{s|&)CcTQ8dqnSGda&)^|6dw+@Gr9Fe=+~+{80Uh z_n`}S*0UdZ6ZU#qQL?n(k&jkySk$ylSWR3evWjx-+^~U(o9ki0hr}6vDc7g9$b0I| f;mrPb?FaMvX#3vZ)$8+t4q)(f^>bP0l+XkKB7t1H literal 177 zcmeAS@N?(olHy`uVBq!ia0vp^96+qV0wfsDXLs`gsR~aQ#}JO0x~DesG8qcETwIyD zr29=roLK{t2Iom3QGrSG^f$UR>{-XKP5hV<-@HAG`Cm28w%m65u-MHvJp0x(-DJHi zyn6N?Z{@t}m&BId`5(Qi$xf@t<v7Rvhq3lmH4b+zdhLWufBz8r+p+A(?4(@NEl-^d cd~f_<zOmH)YrR_CZ;)F&UHx3vIVCg!0D0F%UH||9 diff --git a/data/tilesets/secondary/mauville/anim/0/b/1.png b/data/tilesets/secondary/mauville/anim/0/b/1.png index ce4010db2848ddb04a56ef56b6a3da58dbca2492..0587295fc5925a9c080f9b7691c4acf203373834 100644 GIT binary patch literal 229 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDU{r~^}yLa#I-Me@8?Ag70 z_pVv9X3m^B-QC^A#l=ZUNkKtDj*gCohK33X3IYNk6P&+1`~{>6JY5_^IA*$@HRNhA z;BmM(N42U+&4ME`D%@Q>eBpzMbF}$(b_d56i)V|T`Ql;6@<#f{LQk!dS;68<A4P1} zxUjlRG_t&_P}6YZm17*owN2P0C*EA#;4IbQ*&uQA;q5Jq-pNm=)gF9#<4u*>mp>xA Z8K2Lzujm$kZUwZP!PC{xWt~$(69DbBTEqYV literal 175 zcmeAS@N?(olHy`uVBq!ia0vp^96+qV0wfsDXLs`gsWML&#}JO0zFmfV%?>;)-*xkL zcJ1HM;dFNL1V69YYO1*lHo7$C#7+32e^Xeq!0=Na+o8jpvOK@4_;}58R#|u5V;0KW zQNmkode9`yI`H-5_bNqhCre}`^IJYI{_U{iqWnFfvb&!|f6O|j(qnjcQc0@nl5By= Y@(NN8T(WO{W`kVf>FVdQ&MBb@02Avz+5i9m diff --git a/data/tilesets/secondary/mauville/anim/0/b/2.png b/data/tilesets/secondary/mauville/anim/0/b/2.png index 5ea20f6dbd281511a1d59fb92e5880a22d29915e..af0dd4ffe394b0a0781636830233278fb1d1261d 100644 GIT binary patch literal 224 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDU{r~^}yLa#I-Me@8?Ag70 z_pVv9X3m^B-QC^A#l=ZUNkKtDj*gCohK33X3IYNk6P&+1`~{@4JzX3_IA$jA;AZ8C zkXS8tyGe4j(_*pZs?HLp)BL>mole-AHC1v(VdYh!&09>O7bGPMKi-m(x}amyq|VOC zlXROWPTI&FaADfP8!ji0cyO+9^E?{Kx#F2#z`ISt6AG`Lc=GP9wt`^tgwSo}jApA` V1x48EjsdM@@O1TaS?83{1OWDjStkGh literal 171 zcmeAS@N?(olHy`uVBq!ia0vp^96+qV0wfsDXLs`gsUlAo#}JO0vE3Va4+ZeJ<cn?p zqqTd7gJ<uQiTkEZYZIMhGEGCtTDYP7p-!MejLpsG<pO+l3nn|te_vT}H2AB-<&OvU zhri%1oIPE?%G~Y{v+m`>v^5;h)h6n5<nt__o^-XAyT*U9klW0g)6U%TJF!$jO@8)Y VtHQnOLu^5=@O1TaS?83{1OS&)KOq1B diff --git a/data/tilesets/secondary/mauville/anim/0/b/3.png b/data/tilesets/secondary/mauville/anim/0/b/3.png index fdf4d30bfd6e83785234df195b201723b273d2ec..bc132f2ef534edc05cc17653f3f16d436e972597 100644 GIT binary patch literal 216 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDU{r~^}yLa#I-Me@8?Ag70 z_pVv9X3m^B-QC^A#l=ZUNkKtDj*gCohK33X3IYNk6P&+1`~{?vJzX3_IA$jA;AZ9d zA+cKQc9Z04r^RB+Z#qdDH|nsh4qe@Iu;=vZX)~6pYBNh7Q%lQq^V-Ja=5<W(nA)*z zJjc|$)EpQWSRV7zI_KqJTHaVReQra~W;eC+_i>D!63saq_Hr|XU-#hNt1(j=XdQ#6 LtDnm{r-UW|F{My- literal 160 zcmeAS@N?(olHy`uVBq!ia0vp^96+qV0wfsDXLs`gsdP^l#}JO0si!w`HaPIKJ~a1^ zT3<9hBx?8MgzU#$S;8A8oc3LC^Qd}L>#`pT5BXb~^>0a)NZoGty;^_LJAcVye$Uym zCqMTI*&QxU={U~#uy0q&KFi&87M`5RkB-gQu3F)(J@J*Bk6wI%dHHk;u0J5FJzf1= J);T3K0RV|*JEZ^s diff --git a/data/tilesets/secondary/mauville/anim/0/b/4.png b/data/tilesets/secondary/mauville/anim/0/b/4.png deleted file mode 100644 index 91f368cf84b162d4ea6f5705545fa13e2c22acc9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 72 zcmeAS@N?(olHy`uVBq!ia0vp^96+qV0wfsDXLs`gDSl5E#}JO0$sWv1Z3n#>7(O-{ UGfM4`s|P9ZboFyt=akR{0Lf_&J^%m! diff --git a/data/tilesets/secondary/mauville/anim/0/b/5.png b/data/tilesets/secondary/mauville/anim/0/b/5.png deleted file mode 100644 index 91f368cf84b162d4ea6f5705545fa13e2c22acc9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 72 zcmeAS@N?(olHy`uVBq!ia0vp^96+qV0wfsDXLs`gDSl5E#}JO0$sWv1Z3n#>7(O-{ UGfM4`s|P9ZboFyt=akR{0Lf_&J^%m! diff --git a/data/tilesets/secondary/mauville/anim/0/b/6.png b/data/tilesets/secondary/mauville/anim/0/b/6.png deleted file mode 100644 index 91f368cf84b162d4ea6f5705545fa13e2c22acc9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 72 zcmeAS@N?(olHy`uVBq!ia0vp^96+qV0wfsDXLs`gDSl5E#}JO0$sWv1Z3n#>7(O-{ UGfM4`s|P9ZboFyt=akR{0Lf_&J^%m! diff --git a/data/tilesets/secondary/mauville/anim/0/b/7.png b/data/tilesets/secondary/mauville/anim/0/b/7.png deleted file mode 100644 index 91f368cf84b162d4ea6f5705545fa13e2c22acc9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 72 zcmeAS@N?(olHy`uVBq!ia0vp^96+qV0wfsDXLs`gDSl5E#}JO0$sWv1Z3n#>7(O-{ UGfM4`s|P9ZboFyt=akR{0Lf_&J^%m! diff --git a/data/tilesets/secondary/mauville/anim/1/a/0.png b/data/tilesets/secondary/mauville/anim/1/a/0.png deleted file mode 100644 index 88b028b5210358b4a3d4920ef092c67818b6941b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 177 zcmeAS@N?(olHy`uVBq!ia0vp^96+qV0wfsDXLs`gsR~aQ#}JO0x~DesG8qcETwIyD zr29=roLK{t2Iom3QGrSG^f$UR>{-XKP5hV<-@HAG`Cm28w%m65u-MHvJp0x(-DJHi zyn6N?Z{@t}m&BId`5(Qi$xf@t<v7Rvhq3lmH4b+zdhLWufBz8r+p+A(?4(@NEl-^d cd~f_<zOmH)YrR_CZ;)F&UHx3vIVCg!0D0F%UH||9 diff --git a/data/tilesets/secondary/mauville/anim/1/a/1.png b/data/tilesets/secondary/mauville/anim/1/a/1.png index c8097808c7a2e419c3b8aa4f9f4da594953d845c..911b980a3c648015665f0f4969ccf87e7e550c0c 100644 GIT binary patch literal 232 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDU{r~^}yLa#I-Me@8?Ag70 z_pVv9X3m^B-QC^A#l=ZUNkKtDj*gCohK33X3IYNk6P&+1`~{?nJzX3_IA-eh8uB$e z@UZ+9JItM<?W$rfqpQlRd&yQ)$TX1azv|W4*ZYsm$T5xT-}B&q!|j!v+w#)y=Kqjc zfA?W#nDDH<@>{b`=*;P>j;}h|cFM=uqC-hoOW>2tEGBNQL@Nt1p5u?NEo;#Ctl1&8 c@7UG)$8Q~sB#s|T0b0-C>FVdQ&MBb@0M(LOv;Y7A literal 178 zcmeAS@N?(olHy`uVBq!ia0vp^96+qV0wfsDXLs`gsY*{5#}JO0x?LN2nG6M3womhY z+Yu+DVCS|-#e4oFfl2%9Ejt;0#xTa{uQ?iTa7&tZ1@q}7jsD+8g~wJ;>59?Izp%U6 z$N$gn&RtyBZ&xh{vyRD%`f_oCvX$Epw)atAel+|ll&V#Gwe6$oFS%t$d^g5$@7%-f cBW&`I;ZL}I0Ph~JFCfQwy85}Sb4q9e0OwXh!T<mO diff --git a/data/tilesets/secondary/mauville/anim/1/a/2.png b/data/tilesets/secondary/mauville/anim/1/a/2.png deleted file mode 100644 index 5ea20f6dbd281511a1d59fb92e5880a22d29915e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 171 zcmeAS@N?(olHy`uVBq!ia0vp^96+qV0wfsDXLs`gsUlAo#}JO0vE3Va4+ZeJ<cn?p zqqTd7gJ<uQiTkEZYZIMhGEGCtTDYP7p-!MejLpsG<pO+l3nn|te_vT}H2AB-<&OvU zhri%1oIPE?%G~Y{v+m`>v^5;h)h6n5<nt__o^-XAyT*U9klW0g)6U%TJF!$jO@8)Y VtHQnOLu^5=@O1TaS?83{1OS&)KOq1B diff --git a/data/tilesets/secondary/mauville/anim/1/a/3.png b/data/tilesets/secondary/mauville/anim/1/a/3.png deleted file mode 100644 index fdf4d30bfd6e83785234df195b201723b273d2ec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 160 zcmeAS@N?(olHy`uVBq!ia0vp^96+qV0wfsDXLs`gsdP^l#}JO0si!w`HaPIKJ~a1^ zT3<9hBx?8MgzU#$S;8A8oc3LC^Qd}L>#`pT5BXb~^>0a)NZoGty;^_LJAcVye$Uym zCqMTI*&QxU={U~#uy0q&KFi&87M`5RkB-gQu3F)(J@J*Bk6wI%dHHk;u0J5FJzf1= J);T3K0RV|*JEZ^s diff --git a/data/tilesets/secondary/mauville/anim/1/b/0.png b/data/tilesets/secondary/mauville/anim/1/b/0.png deleted file mode 100644 index 88b028b5210358b4a3d4920ef092c67818b6941b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 177 zcmeAS@N?(olHy`uVBq!ia0vp^96+qV0wfsDXLs`gsR~aQ#}JO0x~DesG8qcETwIyD zr29=roLK{t2Iom3QGrSG^f$UR>{-XKP5hV<-@HAG`Cm28w%m65u-MHvJp0x(-DJHi zyn6N?Z{@t}m&BId`5(Qi$xf@t<v7Rvhq3lmH4b+zdhLWufBz8r+p+A(?4(@NEl-^d cd~f_<zOmH)YrR_CZ;)F&UHx3vIVCg!0D0F%UH||9 diff --git a/data/tilesets/secondary/mauville/anim/1/b/1.png b/data/tilesets/secondary/mauville/anim/1/b/1.png index c8097808c7a2e419c3b8aa4f9f4da594953d845c..911b980a3c648015665f0f4969ccf87e7e550c0c 100644 GIT binary patch literal 232 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDU{r~^}yLa#I-Me@8?Ag70 z_pVv9X3m^B-QC^A#l=ZUNkKtDj*gCohK33X3IYNk6P&+1`~{?nJzX3_IA-eh8uB$e z@UZ+9JItM<?W$rfqpQlRd&yQ)$TX1azv|W4*ZYsm$T5xT-}B&q!|j!v+w#)y=Kqjc zfA?W#nDDH<@>{b`=*;P>j;}h|cFM=uqC-hoOW>2tEGBNQL@Nt1p5u?NEo;#Ctl1&8 c@7UG)$8Q~sB#s|T0b0-C>FVdQ&MBb@0M(LOv;Y7A literal 178 zcmeAS@N?(olHy`uVBq!ia0vp^96+qV0wfsDXLs`gsY*{5#}JO0x?LN2nG6M3womhY z+Yu+DVCS|-#e4oFfl2%9Ejt;0#xTa{uQ?iTa7&tZ1@q}7jsD+8g~wJ;>59?Izp%U6 z$N$gn&RtyBZ&xh{vyRD%`f_oCvX$Epw)atAel+|ll&V#Gwe6$oFS%t$d^g5$@7%-f cBW&`I;ZL}I0Ph~JFCfQwy85}Sb4q9e0OwXh!T<mO diff --git a/data/tilesets/secondary/mauville/anim/1/b/2.png b/data/tilesets/secondary/mauville/anim/1/b/2.png deleted file mode 100644 index 5ea20f6dbd281511a1d59fb92e5880a22d29915e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 171 zcmeAS@N?(olHy`uVBq!ia0vp^96+qV0wfsDXLs`gsUlAo#}JO0vE3Va4+ZeJ<cn?p zqqTd7gJ<uQiTkEZYZIMhGEGCtTDYP7p-!MejLpsG<pO+l3nn|te_vT}H2AB-<&OvU zhri%1oIPE?%G~Y{v+m`>v^5;h)h6n5<nt__o^-XAyT*U9klW0g)6U%TJF!$jO@8)Y VtHQnOLu^5=@O1TaS?83{1OS&)KOq1B diff --git a/data/tilesets/secondary/mauville/anim/1/b/3.png b/data/tilesets/secondary/mauville/anim/1/b/3.png deleted file mode 100644 index fdf4d30bfd6e83785234df195b201723b273d2ec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 160 zcmeAS@N?(olHy`uVBq!ia0vp^96+qV0wfsDXLs`gsdP^l#}JO0si!w`HaPIKJ~a1^ zT3<9hBx?8MgzU#$S;8A8oc3LC^Qd}L>#`pT5BXb~^>0a)NZoGty;^_LJAcVye$Uym zCqMTI*&QxU={U~#uy0q&KFi&87M`5RkB-gQu3F)(J@J*Bk6wI%dHHk;u0J5FJzf1= J);T3K0RV|*JEZ^s diff --git a/data/tilesets/secondary/mauville/anim/1/b/4.png b/data/tilesets/secondary/mauville/anim/1/b/4.png deleted file mode 100644 index 44564e67a599b80664b2480d99c8c5a00c33d328..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 100 zcmeAS@N?(olHy`uVBq!ia0vp^96+qV0wfsDXLs`gDQ!;|#}JO0$sDXqY#a|CNu3gS xG>uK=QiDrIl$MW@iAfKmr>vgR)D1$DI2q!Tw6@%kaL@;7_jL7hS?83{1OO1j7$5)u diff --git a/data/tilesets/secondary/mauville/anim/1/b/5.png b/data/tilesets/secondary/mauville/anim/1/b/5.png deleted file mode 100644 index 47e7e17ee95fdaf34d342d8970c538f9829e4750..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 121 zcmeAS@N?(olHy`uVBq!ia0vp^96+qV0wfsDXLs`gDF;s%#}JO0$sD|#yr~?VyxgfA ztW0eN0@^w}M|{0myIUJOOgeNX2y!Ja6j-UC#CwYOaKNNCXZ9xPM{Jv9f@K-%B(?dz SoYr3tGSk!5&t;ucLK6VDI~^YY diff --git a/data/tilesets/secondary/mauville/anim/1/b/6.png b/data/tilesets/secondary/mauville/anim/1/b/6.png deleted file mode 100644 index d1447cde23dccd65bcdaf90921fe1212241d5db6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 108 zcmeAS@N?(olHy`uVBq!ia0vp^96+qV0wfsDXLs`gDPvC;#}JO0$sDXqY)vi_6FitV z9l8{>P)Fxg(8ia(%t8*a0b*vkih2%*SeG2(b!l0+f|;SVN85&t)#oF~7*AI}mvv4F FO#lvr8~XqN diff --git a/data/tilesets/secondary/mauville/anim/1/b/7.png b/data/tilesets/secondary/mauville/anim/1/b/7.png deleted file mode 100644 index 8ad81b1e1e9daf31260a661bd436367997d4f31c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 105 zcmeAS@N?(olHy`uVBq!ia0vp^96+qV0wfsDXLs`gDFaUz#}JO0$sDXqY$}IzMLm`* zUDTl{n7Kp6p+#G-)5OQ{dcX|Xl?q{5S`#=9hp;nbt=1OT^vItMGQ-o=&t;ucLK6Uu C+!_4< diff --git a/data/tilesets/secondary/mauville/tiles.png b/data/tilesets/secondary/mauville/tiles.png index e4ce0d4f85e3532d1a9ea37b02ba4a7ae50b2554..208a052c538867a6cc6837f5ce270b8d959dee6f 100644 GIT binary patch literal 6069 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 literal 6372 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 diff --git a/data/tilesets/secondary/mauville_game_corner/tiles.png b/data/tilesets/secondary/mauville_game_corner/tiles.png index 3f7f565c9c6a6fc6b8d4bf6d879964987d69619a..50e341fde562f018f77aeaa613fe027001615c6c 100644 GIT binary patch literal 1608 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 GLSTX!lDt&_ literal 1788 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 diff --git a/data/tilesets/secondary/mauville_gym/anim/0.png b/data/tilesets/secondary/mauville_gym/anim/0.png index 090fe6a1a814dc6488c72a954de5e33d1a26d7f6..ebf603978cc14bfa71786761a3b17e5da72c3c1e 100644 GIT binary patch literal 243 zcmeAS@N?(olHy`uVBq!ia0vp^0zmA*!VDxI2ESSgqznRlLR|m<|NrjYyL<QUojrSY z@7}#@)~uN`XHIu_cX4rXQc_Y-P>`deqoJXpf`Wp80LTRAFAskKsX9*=#}JK)tpSdF z2NXCSpL)OZ+ji*ygRav)GV7*X(^6U#bov!T*jDC@Q?E=e&EdRT75wsYiQnyp2Kxs| zl^ZV<&RG3;2YVcIYySW3PiO1hxWX^1Z7Y-{rTK8a!i1wtn;$51eOq(#BcJ*~nY9rn rSGIhcyHQSQ{+h!n4zHf1O1@*XtoGQ~lwGn3=n@7`S3j3^P6<r_7FlO~ literal 215 zcmeAS@N?(olHy`uVBq!ia0vp^96;Q_0wfr&mCt$%q~>|LIEH9U><#o5JEFkzX-iIV z^|qNcK3i_hG?$JGR$}4{eQI!_P2!;fTS<e8Hs1^VTGmCZ7I{Bqr^Pj$ZRXv<^Dt5O z=1>29TBjdMu5ih@@Za`-(@T*@vJAOGzvG_9R=Y(!DEn}w+p2f#)|;mv=67@5{c5D| zvWGcu(W6Bo_no5`e`S(?yvSnq_QI`cv5M#1%&suc_#>(o;wAUIdP4`lUG~=CWJTeP PAQyYO`njxgN@xNA5QJ7Q diff --git a/data/tilesets/secondary/mauville_gym/anim/1.png b/data/tilesets/secondary/mauville_gym/anim/1.png index 48f325890e0ce2c83252bb5d82375ed61b971664..34072707ff6e87c68c2d028ee461310f37920faf 100644 GIT binary patch literal 242 zcmeAS@N?(olHy`uVBq!ia0vp^0zmA*!VDxI2ESSgqznRlLR|m<|NrjYyL<QUojrSY z@7}#@)~uN`XHIu_cX4rXQc_Y-P>`deqoJXpf`Wp80LTRAFAskKsaj7L#}JK)y^|b; z4k&Oi+kXDf{$x&g7|Rtdzt@gNft!}*W?!AOQlP1@<*>#&m5Uwr>7I8M?vy^Mw7-Wb zQsLR+Ec<rHlF575_;@eKXZbQ~Qq@C4)@Fk#$1-L#wyd{!KW(n4DO2mZjQM^xW@oqQ oue%#}oaIG9o~FED;2+UX4A)Kl{+5?0f!xF3>FVdQ&MBb@0RP!xYXATM literal 218 zcmeAS@N?(olHy`uVBq!ia0vp^96;Q_0wfr&mCt$%q!xO*IEH9UEDbs+c-Vj=*>msB zdWOBR2il~jKU>(XD<IUVQ?1hYsk)`PEUD9K!9A(hvN|`IWS*q&<t-C?75&|`<$9Ee zf7_PsdwV$w7{ye6tKVjMdg>F?ir9k;tL&yvJ?nMlJ5&1EFE3RWZGV09;u9U|B7qvV z+GC>H5egwj?{~gdt8}RpW?$r-J-OSODN8@HCuWi5>_d0{AKYB6<hA3~?vKoU{p&?$ SXq?dlIoi|J&t;ucLK6UC^jK*C diff --git a/data/tilesets/secondary/mauville_gym/anim/2.png b/data/tilesets/secondary/mauville_gym/anim/2.png deleted file mode 100644 index 16652df19896a91d715ed5047610e1350fa210b1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 106 zcmeAS@N?(olHy`uVBq!ia0vp^91ILh3@ktfLwv-1As}Vw>EamT(fRg>BQJx30L#YB z8!UEAY^cw7IK<Aaa@jpwHZ=_h?z7L0ZtyxL&1q_#qbhLwcHM%N`XEC*UHx3vIVCg! E043%f#sB~S diff --git a/data/tilesets/secondary/mauville_gym/anim/3.png b/data/tilesets/secondary/mauville_gym/anim/3.png deleted file mode 100644 index 8ea7a49e6bc169a443d376168a5dc43547b366f8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 393 zcmV;40e1e0P)<h;3K|Lk000e1NJLTq000O800IC600000Us#_K0003{Nkl<ZNQv!K z+ik=!4ATlyZUNI-AhIX8WS@@E(OXKvy^uQ~Es7Qe;twKmXpxZ#NiAwpp(=2KPK7Xl zpbb(KO#tpa=h=pL0|mgZb`Lxcak8a*)a!17+KU*f3mF8(9MD<RMxMAFLpZP!;$cJi zD8*3Zyiy)`NS+aj22X<*hEf-ON?q1N3*9<xbfZB2hlAai1A1eXaVFHoDa3ct6=qf$ zmPY6cs|<Y7aG>dcV0}gaKh%Xnmb}_7&7rF#-*j8*I$;UjmbyK49cxh}<fX7D0VV7f z8M60YEPyszTxgBGA?#{2n=bE6>iLm(O5V8P?bY3zgD>T8e44-c+xf#7`NJ6b!*Awq zoKn}Wy4(C+TkO{`n6KAU_~%YI`Q@U9$e%|3n8N#8y}?f2Ufmzh-%j42=I@w)$NW3y n-!cFG!TkH+l6Nk7<9Z37meuh-l$2BE00000NkvXXu0mjfNMW|J diff --git a/data/tilesets/secondary/mauville_gym/tiles.png b/data/tilesets/secondary/mauville_gym/tiles.png index 5606bb101b487ccf9dc87fa1e0e1fd3155fedbb4..04c2f9394f8206ca1efd5653a2dfa6569cad949f 100644 GIT binary patch literal 1496 zcmV;}1t<E6P)<h;3K|Lk000e1NJLTq004jh002+~0{{R3BQ9Xq0000mP)t-s|NsB) z?(W{+-p$R;y}iAxtgM`zoQsQ#b8~ZIVq#KKQb9pMF)=Y9ARrJB5C8xGL-gVL000GJ zNkl<ZScUDDF>l*O6vxkATxAkjMX_udpsq^XBJL7z^+bd9&`vg@><VPAjl4*9me51Q z+8l%~!L<nB0tGBzKY;BL9qft2eSr=d@&yXGU!Z-DcSnf|)#lJO50K9ybwB>^fA2jW zArQSRUf+pCh~!ELb@>I!#e$WKvbvlDh)A5q5dfA(aeV3I0jr;FPQ??e5RfEsd<B3b zej4}kfQ7Ae;#XY8rk0S+?;`*N#BoHHI3Hd1oN`Wp1n^(HG&XCNqX3}_9~FS~s{{ma zJ~$w5HroOL3gCSs71S(S0bctuzPpRW2~Ry(2L&UCxKz%ztn=~&pq5apWq`j`yh{?8 zh`X?U#83Du(%wdu3m#wTl79pI^{0$?Ab|4-0lg8Rh*!ZyRC>LxT@1hr=zdGaZmM7e zfW;o7UinV}uyAf!N97L!*yzCt$2|D_3V!4Go(D6#cH_YZ0&o{VLqf=De8MjrPXZ|Y zFMvue7xEx=fqVj+$r%84K1_kyM;9{@6bORp^!*RS^V;CS1Iy|<1$pp3z{XlgJy?g# zJamY^54pI~?e**_K$eL`9$+<&gajNA(%O}qU{R6*vRWwg0CE67ghD_LwK`?8XxZui z8juA7bY*J~!a*1g-h`p90Q8VhM-}7N6XbrX=2HZy6t=VnVb~83Sw92#d(+jtl}gtD zegOboMA`#*{(!MJ8Gv@mQ-D+ewW*2*0CX8^58%roW2~=RT3!Lo11JD=Bgs4f2SC99 zTG~0Zw48#)6`o%LZ&0FJnF8FQ1JZ*d{xW_69!vom^0}Fb6p}*&R5{<J4&W|8OFO?r z59nkKRBoAGLYf>ifVOl10NB!?sr$SBq_Hl}dH}a@-y_IAwS;y~!8!D@XZ~}{1?UUU zNl_%Q?;)gKkq1X0q4msf<4!<dunGYJ_8lZ7+Jos`01YVscfy+sNWw#qa5@2Gd62r$ zYWa2*6hL3Fiva>Ne=wR-pfYjkGF8xOQ#V!6riFk=;EE5q0$7t;cp0Z2?Ane?!Nh&r zDFi_OVerf!RaM$qH7-FO;x5<}-VGE$#R3Slp9@^I-dNle{OFfEg?aF9a9W*mF#w;K zs53!w(*dvQqWG6{0v{KtGeIOC`u<*I3K$IZnLym^P}*5G1%zGbg25`B350mquI|Cv zz)(R26jWR|6M%w>+gVPG0R8Zw5{cuA`xrd9p%s@Jnm9Oa){@(1wY|L|5{e@=^q}d+ zqUm~GWn0|Jal=eO^LLgszxMs7+v1TNi|c+~bia*R;CVjOd)<;_aoNs`0A9j3@?E)X z$<Yw-6976mZ>QdnV{zTji?9~QqKXsSg357D+0BW5z*uyH?XWIx8|mxOa2Ez^<0QEc z=QBuXilb>Bbg#!E*lD#ob)iQy0Jy08Kp6ZQ8%<6D;g?MJfiV1nn*)Mts{23~T$=5G zRv=OZaRdr}{yz$mF!-%v4Cn{o!3`>?i+(`O0RwtX6N(C`z}{dCIF8rYt$*K#bHE1n z24leE>$lb;f8WA$0QLrBz$$w?uKN2ee2rsoFb3470N5Lh0Sz`DH+(!}`Zo3kV*ss< z$Fz!oHpSjx3^;DAjc*%R#`Z=(_`}?TkTxs<A2<gH><#9CKBXeUqk$0E8;k)T<722O zsX?c4X_yYIIIa2F8Mz0?aQR1uoIsc!^IvD@XVcG!Ca}B&{Z#`>vlr5NaxR~~QOZ9$ z`#r9O;q4hvCNW#9x-y(r!iF$$i0mPf;3p-91U8(Ql&y6J&D8VdOeVFI5MR>Zywq9y yOJwRsdM|ynA|Z^i+)`%kR{*a6+&g=ZNZ3EkM$d4U5r{kh0000<MNUMnLSTZw4XNS) literal 1534 zcmV<a1p)erP)<h;3K|Lk000e1NJLTq000O800jU900000n*X7k000HWNkl<ZScUDF zF;5&v6vy8e2vWX)3yOS!Ew+Lpx)?q{#&=SrAX&+XCZagVZVJwgfopuET~5B<7nv$9 z$cn3+4mZJaY?HZ@493RfmdY15u=)RI@7U#Tv5}RCC}N7A-o1JIcJ|GG-wsHOAs0Xu zV-%hT{16aAe3BdIVMu@>c6^G#;IS-L0M84?5clI4qpmUTnmDfGh~tzA*9Dw;T16>4 z3rbv9DS-iN3UTuV#1#rtM4?Q}O?*Ypsxp9QsRHkcz><>q9j=7|Jhh<jX|>3OuOh*8 z2MMYjDNX~*zY|Nb*okF9-HJu2;z*f}h?a!`8k-0X4_oiAZUmf!z+v^AkSLZYDjkV> zS;JP;y7Zm!vb{efK6$t$@g8vUa1;@SY+-x=Y22?0g-~CGp{VcytWaf<#wo^yA>-^7 zXAz+i@+bnfV9M5h)FHaS{uz9DX%@qJIS);Y4D7X5dKRe<#yZhW09T747FnNFnAMt9 z9rU*_P$D&H)k$3yi@*XTMp?M5L77(H=N1QX@o{wl`}X@3Fkg`PuL3YnJjI)mz!<{> zw}=iB+~~-Z(j6&${~dOJ8Ir2rL19e?2!4XNf-pSdRuCIR1HLtsy}6E%W*t_1Qi5Ji zYF)w%tk>|ptW^b*ksL=|BheCq+phuhdSFF0-m(isW^ms;t>xjO`#U7FJ|6UyXf>It zE)S^^lcYm3I}cXRc36SfR+ZPo5O&0<C}~i(RoSLBq`y3^r9RvGEb_EA@QpFVq9LA- z1$o{I;rm?QGObxz@s_ptzSaT*)-2+dHR80MCG-j{Kk?0S7KWG8Uu-)pjkLp&_HWx^ zEVm1*v6QCaQ>y^<2CdzvEb2oRHB>jS)`Jd2-MP?r=AwYO9uW$7WB|M~$1kz)<2J0= zU{~W~Sf>9nsl*!kX?NdRe{!QNy8PKa&zCAT&6nph6qmXIm^NYfQ?)tU?clzsi(yIZ z{<_>>hx_Ze*k8xN{+1o=FS?KB_w9z1*=aoX9IuS-<9YZFLI*|aKv4(ZCOXK|T8i{} z5z#oSwG<KKxMtHy6lS$%RX5O|-`Av7Cv`QO)t`T=zrN3^)5awVvsz137cbG825zGX zzGElk`&KGplb0YdRINm))x@&CY0g%uzvy0YSDN?mFbSIWjcORQKGwNw>pZH{16nOw zEpx>0w6Wjm4*Tg{_S1+Bh1lq_pQ2!E$k$vqgMRwYN%>MS+Fxq44zcHV4#i*G*%xo8 zRe%zqzjF2*R-ttW-{PUT6FUdu?6kt+bJ!lwVJ)7+T94stY;HTK^CrHCll2hSJ`cp1 z+%QP>yg>{3CJpi#<eOl=aAViOzTsL^f8}7`n6Lf{`OGf!8JlnWKTydld<^`Z&$ZNk zE@-LX%r2F00B;{ysqm}jzZe&<c70sjonHc}gkd0){Ln)^p*ROXc@n+Ob>B3_scbay z{z6=Me|P!*zT*2!s{vmCy)@UM&So9fGv<q!FJitn^BLxwXd|CvGWpKw2SIn6{h*)k z@+*0TkAVlpq2c|8?_1@%$yh5DSiXU^Sa_jx`c>a5Pr`Bytcl=FFx;;K_AA4F72MyY z4|>6QXdCzVlJ|Y0U`_MBPrior1^RBqWc%*rSLh1=CLUkE8Off$IWGG|TaS<9><BEj z+4@X7!nq0OwP(RvBnQD-GeJAR9~b5Tm}s+AG0rLTMEjoe&^FIQ5TQX6d{5u~EZcW4 zzd~2I!WI6<=;i#>#2nBg^jtDKN9a>4KVMIuCg|m)&mzs20KcVo3O%wQeP(INY~MF` zZsxh6HETV1qTVUui?8{EmDIQ;YoPV%B2_kS@VsdpCh)+VRipWAIWdc{eqAu}Hvds| zoXt05L)6TSsF}<aJzRmLy*b9&U_0?P`9~iA)E^{G?$%4IhFU2E3SwuFd9VQ}@yNs2 kEU{Ak#~Rv?UjM%OZ$S1PuNGR8GXMYp07*qoM6N<$f?$UEnE(I) diff --git a/data/tilesets/secondary/meteor_falls/tiles.png b/data/tilesets/secondary/meteor_falls/tiles.png index 9c75328050f0532a15d3a100891f905e2d1c7934..9d47866bda95145240f1c1617ecb5da1d293c272 100644 GIT binary patch literal 6021 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 VkI5v*n=f)eO-Wm^Qo$zV{{WDHW&Z#G literal 6078 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 Eg0)%o*#H0l diff --git a/data/tilesets/secondary/mirage_tower/tiles.png b/data/tilesets/secondary/mirage_tower/tiles.png index fd2904ca1c2e059dbe41875d8af997e31a7cef13..0d7ee0d686ea426d25f6b1b63aa2ac554d7eb91c 100644 GIT binary patch literal 5585 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 literal 5645 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 diff --git a/data/tilesets/secondary/mossdeep/tiles.png b/data/tilesets/secondary/mossdeep/tiles.png index 818406b232532bddfaa3cfd1bd79271d9c045d31..cc4591f8804be4f05f7d9e3de1ef91d110a41c43 100644 GIT binary patch literal 4111 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 Db{j&1 literal 4269 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 P00000NkvXXu0mjfQ+8OM diff --git a/data/tilesets/secondary/mossdeep_game_corner/tiles.png b/data/tilesets/secondary/mossdeep_game_corner/tiles.png index f09edf436dd3b0a852dd95571110f269429b146b..cfe7098053878129c1897498905fac5551389465 100644 GIT binary patch literal 895 zcmV-_1AzRAP)<h;3K|Lk000e1NJLTq004jh001xq0{{R3E81_30000mP)t-s|NsB) z?(W{+-p$R;y}iAxtgM`zoQsQ#b8~ZIVq#KKQb9pMF)=Y9ARrJB5C8xGL-gVL0009D zNkl<ZNQv#0KX21O7{)LC1UZ+M7D9}VOh^nNpP<pH0wF4O@HYT|g?<4fx@L5@4j?51 z5)zxIGP_0XZlp+=FN(wx3DvyM{c)VsZJKoDQS3|N-0z<E&s`WJrKFsMk*%QO_xA?y zIkEJDZYu#AX-Q`+9UdPS0G{Vuk?sUERY^mpc0S1hkZ_)4q`Ltl`A*7%k(58=!H{J; zZ)Oe>k_H4Oz=^$}ni=W<NCS{J06a-J02?;WCcVc6HO*H;0<>D9doU8+Zr1=lYXBm` z5*UN@T1N<u%h|JYt+Pc33J&s;uv+7nl#S8*tbzB|K?%@mwFp2r0Mbgp9}8IKKmkBi zxB(c+>~;t9WlSGaAE5s30z^-~&A~z^s^I8|q5kgD$#Z}z2Vzbvqmr|vq&Yy9g9T+l z;<4HK318}95pcx?>v6sta~{(;mjg6UbBP1JcX~;(8<S|{m;S`VWXLC&Z>!?~c&>@t z`w^>|?w$ku<XqeZxT5Dc1Jdmel5M`|bY8a^JI(VagE$`0$WtL+IRN-}UvUS>=y^Jf zqI4^YYNir(c6v<!5{+DqO%9-^$#)_2O$Y~o8%3+DAPhG<T5WPLHh_FgyU|o(5nz*f ziKJx|KkENTYV9omek-&x6mU-neG|e);?DqyHv^PHpm_?L2`aaoZHJ)+d_?^VKrbKf z#)CmjBN}Op?F^Oc?M_jXgZ&7gP4lz1cF^yioLC2$Zx0mD*bZDp^zNxr8E_83U$dNN z+-rbt6jCLi972lKZ1Z>>(V>?C42&uPhxvFbBpo6L)CYlI0r(O|Q5Z(mfa}}<bPkkq zHRA@rmjh-FJoEuIj}E__L<gYHUSPHmD>BM``}aXR4ShfkG{E(`27JZzD5Nxedr7xF znz!cw!Nk`SFrp7O+<9dyR|R-W7ETKXx7D{o1)%ppKtHZO6wrGpAg=!h#P!KK05lp- zi|M)mx6k}_0Ta{ZelRTo@UMJdfIFpxzb2qKri1AWfYWDXfZ+8a?)3oAnOFx<rGE+{ V?6!M}SU~^)002ovPDHLkV1mVohJgS8 literal 893 zcmV-@1A_dCP)<h;3K|Lk000e1NJLTq000O800Q^~00000rkMn00009-Nkl<ZNQv#1 z!EVz)5QZm0>IErE&XFSFdn<^~^yC{75{FcRLvHmk*C6o%eTBdq<WQ*y6(K8qg3tpJ zr?AE$kkV3bo}dl$&nC7p_F_~CE?p&`#@^qv_UylF(~28afXnR<XmX=m)A)H>d*pE= z?RlCsx58^3ZW+kA^1BK-%hjB(4c(eWmyTx7SBGwfapw@<SSRDkbGTOBwd8~3OQ+MZ z=363Fn^?BH?!dJx)L=Ekv&~vTg6TRcsKJ{cIHCZUs_{B1(zSx%5fD&IjmIY1=-`Om z73<n73XV1yCy|-j2guhR45)ebA|U7N?I6K(KF3i7zx1_URMGib`xW!)yw{}3L#L27 zzt0anzYDYip7Yl08zON|X*9F;=5(pU?2(wO0>oSuka3t;Pn@Wf%G-82-FQuEDh^Wx zx)uwK!|XcaHMmZ!Cr)J9@B0<Z<-&FDcla+nI3NdGh7)=*Ion#9f%=}eFz69|qh1Z5 z#s)a-Q)59sH-oP4cd5%Q55L>>kxCo%U_DNNsIdVK`-pa;dQ1;B--fHy2WmFhYmOtE z;62$1#e@x;n_x#VCM=rsa}EItD~Mofft2{G_gEQ(I#!vAr@Bz4f;DTfFr&*XwPeb2 z5M7bi#K5_IvdC+Eeh0b;x;74XP5rh}KL_<IUBB6VXgH+i`75r~`MY6)mwb*R*MNK7 z3+TepsL(H~YZ(3V(}b?^Y?qVCgnpo~DJ}uttyeU8e=6==63b380VluWbZxlAW{1?c zpu-wnm`F!;O<_HXX>V_T-#~0O;+8>Ldt<o7W`_bCaug$9Z1PFPJ5qLe*OvJ&!pk+f zgNYI|z!GZhh!{~!R~T1{BgM8mBF4E`qKTRqXo=7vHI==D{~@jji91uI9ZR$J?Y>VT z_p-qHU0|&)o{ffCJROb<L}%7Hbi)z%rWg%bBCx%uV_f^hpj0Qz>LbPwl<Jni32?l$ zeW2+?*DI5hex_7F)qJ=3H%J|3N9r&;j{BT+&tC$4z+V<Z%w<RYZ=NG(Gx<sr<l6tQ z_${)KmxD}MT{iQw_kJz=H5Zv3y-2qOb45V7#ZVCtZZVVwKCj2EmqGSFwYk5a1Vrcp T`P~-_00000NkvXXu0mjfEt;(8 diff --git a/data/tilesets/secondary/mossdeep_gym/tiles.png b/data/tilesets/secondary/mossdeep_gym/tiles.png index 36a0873a4f8715e2f42bd1bcb01c08bd052d6d3e..357774a42826f8dfd76f4acfeac1675fd054b719 100644 GIT binary patch literal 978 zcmV;@11<cCP)<h;3K|Lk000e1NJLTq004jh001xq0{{R3E81_30000mP)t-s|NsB) z?(W{+-p$R;y}iAxtgM`zoQsQ#b8~ZIVq#KKQb9pMF)=Y9ARrJB5C8xGL-gVL000AB zNkl<ZNQu>!zi-+=6vxk$>^@6{woy=E$XuyXyC%}9R7y(Pfj@u_#~caaE-V=u{|lfl z9dWu;$`ly0v_7RuhtS25B4y}MoF!5iBHVX(zOw;`v|;L3IwZJzAHRFQ3__6{q1_MY z78w|0@i8GYKA->(h|tpsQ#fb9E-GAxBWE0hN@F|=$V$LEl8->>lf_ukM8<BZWPs^t zG!90#R2ZI{vw*O2amE3K0CbL!b+E;}A^;qxzyaXFb(0DK0H*@{3l1RLZ~$eN31RHZ zsseCbQ|&<vC`n1c83%wp0E`0?1k5uP050HM*HZw}14jb<iv*w&hQB8Oqf|f?m!<@q z0U(rs{<h=X%<+KVn?Jhc`vX{~ny3Na9p@?rh!~^-Y<mFfl-B`YF@S|3*)(|?br#Y9 zerw>v`jLgJXJ7H6i2%!t5%R_4g;a>@AQfP@1~#l_43Kq@vHI+2v$$%2!CVh?5W#)E z(25T_K?qyDUJ=@$<qzh>V7H{&BU=fAY}vMTDT@Yrf-=7C>nzY&fI~$ct<^L@tBA1$ zoahRo4w9uD0roUNT_L5Nl?RDt!ia%-Ap05Di=FIi-_O3JbQ<s(&K2TD4*72a;Pra_ zK4YE+Q~*#;0^~gC!a0?NNr3B40?5$Mk|v#=2i=a_S9Nd)paOt0MR|V99X$`aZTD|I zAVXM9lqXP5JA5950nCGLyVFmP!7QKxtBmqs4*=*!vIXtjZMXX>3v+|0n@Iz%2ssvj zkE#wP0MlvI!OuGp;0Ap1OczuLE+;)0pJ2p|`KB!f(q1zKa74BhK<ZZ%hhXSqbm+SK z`@P<w?56kedqD$^8M)dtzqZ?*0$6bUi~yqB6d>7+;=P~%%PhErdEg0vu=kZGlK_<k zr`)IufUE;P4;ah?5AukIa{yETp4T{lHUN<0{Z`ZSz;oLjV?_cU#aA%X0rkYIEt&_O z+wDZZVFeKT8X&fE5<na4)AIo8rK1OSbOrH6r4c`FgJ2>FKs^DFf^zwm3RqkQHjU&T zg@0C_6s^X_0uD6kMxHkA?}9<;!?(1)2%uK2=IH$aOSyNZu~vI?ZveuyXi<Fkxm%UN zl;Q;(K&YClRTr^`C@c~IuA;S=Jz84Of&X290O7K@dw>o6IRF3v07*qoM6N<$f;<bd A@Bjb+ literal 969 zcmV;)12+7LP)<h;3K|Lk000e1NJLTq000O800NK%00000LOzL6000A!Nkl<ZNQv#1 zF>l*e6os$hK>@s&?$E(N0dt8n#AraZOGYVEfGmwPW(lOfz+}*(r4j^W)*GrH;Gwpf z09HXDUQ<9o=L}ZhAZ@Gydfcs=>^YaTB~xUpp=0jw;gLGHe0=ZlJV}g_{}Dba7iXws z)Inj?dYKEzIPzao*G-!K9Rz{Q6*An-h3cUAoj8>}!rdkI2zQs*J6)cxwN~PD#{q(4 z;8?C9vZRA77RUJ}#@$t<x(KbF%{+-`k6+8xC(JZ@95}#GB&r<yX{!+MCLvIs0N#@i z;&|my<SW461R~BV;xa`oELhai(JJsn&VC#19n9ps2$uay{)Qu^62XzyhEwv1QZiDV zR*Bnlr)!MdF&y=8VWHD)G^k{hfyKMxAy$_uBy27UeXxQ8U*T8!s->eB(stc_X?HsN z;<oo)>9qH6CWMI_not4VJ?idJcb~d$VmQ^EoxL9<Sn?mNkwPzra83eVF6mA%s|0#E z!ow4&PR+Fh`tPIbrgpq>UB+hWKi54-?YPiIm2csQiU%Kj@;tekVHn$4H8n^)Nt^mx zv{~>b#P{(el!tF7AEY|5?Dq#SyXn`uv7VZcOBc1VrdMvqO)ojqLc?W{Sn9w1m$BIr z%(Wd$IX25+VaGzlW#FNtT&-55T&t~uKd7XNl8Wb*i=mRvcsyPQ<MF#!>tOy1yfGgV z!45Gbf*oR*7*6+X{wv;mJ|coHF(QI4F<R1P^X~#{6<-7=z=?ki-_Pb>r}K*0zKVkU z)6_!<R<?-EAUFRU=HF{ZU+{n!0zYuE>s<DF0~=6pDjGyn@my-C_58QJzW>&(b<e?d z{I_vn6Vp7Z)t(kZCHm4&tJO!vP)SEKaq(5qYi0rNx&5=*#OA$V;Qg2$v#H^J8ziuH zI*?}bI+2#nUw_ogMdtkN6Q)P>3DYC`r>VJ?K>tl)+f4ptY^MG*W{{JAn-75p9`nyB z&cEQ84%<ThZ8QJ8qWsfE{Jz<2NLf)QYKnS;dC*`Ud<SzOxX&GYlIIRSPP+p{IXUi7 z=c2N(w{>6BTz5rntDS+*y!?Fo-lDX#Q*;kAvwYCOZG_qNOAy(RDKL?!Yu-v^%wNFZ zP%fuG;RkCb>0<LxpY`6xa$$O*{A~K698L}XwY(o3$;{+*{(>*~S6o?q`|;rvxFllr r+GSQ}>`^R(LyQJTz>N2fR{Q+}1wVbx;kfo(00000NkvXXu0mjf-gx8j diff --git a/data/tilesets/secondary/mystery_events_house/tiles.png b/data/tilesets/secondary/mystery_events_house/tiles.png index 5afa07fcfb735240a38e32eabd0cb7ccdfaea5ce..778ca7865b2212a0428c2ecfbf089cb23dea4f5f 100644 GIT binary patch literal 4839 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 literal 5383 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 diff --git a/data/tilesets/secondary/navel_rock/tiles.png b/data/tilesets/secondary/navel_rock/tiles.png index ffbc04584c639b4ed8bf1c1751c9974c48ef4a31..288e50b44058b0dff6b731a0a702e8930d86b133 100644 GIT binary patch literal 5989 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 OfwF>ze5ouZ=>Gs86%;-I literal 6073 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 diff --git a/data/tilesets/secondary/oceanic_museum/tiles.png b/data/tilesets/secondary/oceanic_museum/tiles.png index a074d4a053d80297213ccb4a160e7c8307c5f11c..bda540d6b470b2d6272d89bc9aa29008d12164d3 100644 GIT binary patch literal 2714 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 UQD8hP-T(jq07*qoM6N<$g4Xcf`~Uy| literal 3219 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 FV1hC1KxzO0 diff --git a/data/tilesets/secondary/pacifidlog/anim/0/0.png b/data/tilesets/secondary/pacifidlog/anim/0/0.png index e7bcfd743163d70c54eb0f5d70d07b605cfa6e7f..316eb500e3a9d2617a332428d02d3581e3ca88ec 100644 GIT binary patch literal 631 zcmV--0*L*IP)<h;3K|Lk000e1NJLTq000mG004Ld0{{R333_j30000mP)t-s|NsB) z?(W{+-p$R;y}iAxtgM`zoQsQ#b8~ZIVq#KKQb9pMF)=Y9ARrJB5C8xGL-gVL00064 zNkl<ZIE|%Kv5MP35FMl({tdITkUJagi7hYqiYs$O1ph(mpmj)*!r;n<e_($>3fBf! zy51mden8R>96`kqa1%&oR#KefNSb>v?97`t&(B~3OtcbODS*#uDs-A+qtuC*2~Ib} zOmv>#U_qb<O@MnUpy@=+X=F$fJk!`K@(|=h7eP5(IR~vQ<NPdBaORa(*#`iJ9Z>NV zn>X`HDch_LX-d1<^*qme(E^zS5KO7Q0c0fLB(b)3vKpGK2B(eHpvQ)4)NDzUj91$~ zOjhlt#3aR$O)XRHeh~9T9%tC(x{$le6@7A%FqDAGj#Fl{6vwFzr3Rp;2ju;mLzP=p zPz`{6|L$S2w_p%5#u;NCI)(l7LOjoN4mRMN=NxPR*fflVu;Bda7r%OZd7^)!ZNIey zsPFH}yeLX&%w18HWdYoKAA90s2(PX~Zyks6|9ueO(T6;Whx#7KqkL!#cxxHH^FR3z z@yKN>?-s!27q@(gZ`%slwo8a=BV=tPh!&fc8l8z)XEFF)7xAuJfoKfJk|dUE5{I=3 zgW7oDHpUMc^BQL8gX;uDZPsr|6E#L8bajc1Y)lL;?&BK8crH1elaEi$#pr{R5Knx> z=p+8}**x{}FkwuqsMnwv|DE{j#|FPe+;uU9=T_`AW{J6{;4-#!umCu>^&5k4rd7s~ RyD|U(002ovPDHLkV1gLOA$b4* literal 596 zcmV-a0;~OrP)<h;3K|Lk000e1NJLTq000O8008g=00000-Bp(&0006TNkl<ZIE{^z zL2BDT6o!B3#!$KtB^Qu%fl31JBMGt%m9F3mc;S`7i!MSflXY)kib}f7BBogm&Io&F zBWut#Oe!&bPjZ!DLt=q`e$D&lpZ8`V=zTbV{uak1g8}v-xqTP}*s|M(v?kbz&h^;c zv%6<bbX>2i9_?+omuj!8o}9twdgSUMbya`x$ZgyZwHkV;e{Wop#SnV;uz{}C8d__` zqA`eWHRAY++~A5`bc-M$AvdEn5^@Q<q;nH?Q|6}KTEk7c>g&D#xtHpst9IO1;zFO# z@M$gTmxz6m$Q_sP`>KRH{#c^FBN;y}G?Xeyc!YKidT1}*LBQe$bR{l57_qEJqY*Nt z<SUNefLaUOmZNtB!W1Q|f<m*y4ZSU@co#Y9uWhpHuWge1Q&Oq3IHfYIrF=Z+T*${y z=Ws`2nqN%Vm)9OF=h}xXex&&OkQJw#X(I4_53c9=D8%;+^E6A}<K{_*rCe4g+-Kta z3;Pn@h2`L9ev?BjiaY2^KBF>Cfu-#T2$Lm@1aiYzLRgOELV`QF(nw5mg@iv7lOzqJ z6w)vj%q5s}A+wzfmF48vHF>r($I>GA#8TPLjFALe+bOWMoIe~t!!KT&aY|x2DN>sX zl949wne*~4PjHkt<W1YWyvq}B<`vCEO+Xxz@RZbnL~S`MR7$O&rPN4yThau?F^y^% iX&XSZmGlERaQ^@{4Hg=FH)Biy0000<MNUMnLSTX!A{I>m diff --git a/data/tilesets/secondary/pacifidlog/anim/0/1.png b/data/tilesets/secondary/pacifidlog/anim/0/1.png index dde024f6ee9c1f875aceb5689025cac8e97dabbc..ee9d4316e11ceee8fffb03ab3fd14a9b081feb98 100644 GIT binary patch literal 655 zcmV;A0&x9_P)<h;3K|Lk000e1NJLTq000mG004Ld0{{R333_j30000mP)t-s|NsB) z?(W{+-p$R;y}iAxtgM`zoQsQ#b8~ZIVq#KKQb9pMF)=Y9ARrJB5C8xGL-gVL0006S zNkl<ZIE|%KL2BDT6n(@lxrQ0Zcxj`N(Y8o(y>xL3xki!fRSQ0ct{|0c3zD+VLYn3P zk}eR67pcLUfcr+0aYG@SJoK6O-~9jhGiZS8G;-1?0=~tulg2Sg)G61@j#{}+vuw%0 zl9>)n(!OSLuF=`#tW3@|t)g99=OaCIKzAIAzU%Nk?Yf>{iWu&yOrzv0;JQrXpCtCG zj3ScZ%6*Ary=QvUENhE=L1hC#_)(MuB#=}BFbj2nS@^FKXl18W&||~cX=S6;S6#bv zSCEv4saAsg(KK77Ja{IRAK{~U_=qgcch9y9D)~<MCJ-eLQ(thHIDeQ*Jyq0$H64(3 zYlbpwQKIaDQ@5Vrom%)1Js@pQ2-|Bt--G|>xeV6hGS6kO9uTJQG6Z}nPk;Emcb+%U zG`|`RRQGp9mgfa(b(fb#k;D766~=rkFtEMR&=aG#eTd)m(H{9zbr0=PJk<(fu@z%~ z>tW~%+SoJxM)JdF$!qqS<~D4aIh;y4VWmPi4M{^XNfSFv6AR=0KJ@l`3yWHX%Ua!F z&B95g3{BP~Ca!8_aBGAyeW+TX>;#nxK-me{3A<L-O|5KLlx3yHxaxdHngos}My-Uy zI_)#(*7}vtZR<0q;kH&^U{^{q7Hxa$v#yn7yP<uYkX~5wb@GL5;OzHK$dl-kO0VK6 pSTmD)o`EH117Yx52D}nE!(XM#wm!!QAL#%9002ovPDHLkV1m|DHQoRK literal 603 zcmV-h0;K(kP)<h;3K|Lk000e1NJLTq000O8008g=00000-Bp(&0006aNkl<ZIE{^v z!D`z;5Qcy7CE(;BN?t(H1Eeb*dX6N>HB@>9Jx8ED*%En;Kx68oYpv*2SZnN~u)O#+ zOzp6pv0J5W($)j|`L*-S%<jN!qZH<2l8~e+wh_5)6o#0vYa%*p*j4PR&YiKFblme< z)m1cI#Tj$2Wnblda{Ui<tBanWpd5P<%ChI9tj8X9<FW_S$|X!$Xc(gl5~GmD_XbIF zW00md?BaWbAqlx5oy9r3oL$B)>)ai4!;brL_S5BEZN}W)-?E*1Ph1o*N0P?xmPi7U z*y}G5T(vE{zHD*T_P^qyE)8_i8Wh?XD0&EWp=~4-2wA+4R^m~B6%rJh;uns-kggVb zNAAE<6h}_glGj9?|1G+f>J;v`xe3n=ySc}~&}~tk$Y~Tx;gq@O3g@SAe~4|rwc%dh z`f$W;0QqI0v9IOkC1=|RgTRO9`vKN7;&xL1kJD4;3cY*5y&*2Rbg$uGIs&U=AR%?V zfKlojq-{T-az%y8CTXI$#>%oXOdXM7<dS?=${@4t88ZIOY?dgVLt54x6GuFvamAY9 z5uO}!EAH2@P_{zth&kr2$nnGtDA96a!xeMnoXC0Fqa$i4SF9M>Fq~uU2+jRwUB3s+ z4ozL5j!4CD#WNbd!E?WXBR(-VJ@y+pRI%pTNs`ceEvw?%!`TA+xu%uu>8TYzA>+AO pk_?gYHl$0hRD8d^Ui0b}<~tO&1~ITZqtXBX002ovPDHLkV1l64CqV!J diff --git a/data/tilesets/secondary/pacifidlog/anim/0/2.png b/data/tilesets/secondary/pacifidlog/anim/0/2.png index 1a4cea24d830d5e4bb129e8ca5747afb074a6c8a..221a715854e68973205c345942ebf61767d66ac5 100644 GIT binary patch literal 664 zcmV;J0%!e+P)<h;3K|Lk000e1NJLTq000mG004Ld0{{R333_j30000mP)t-s|NsB) z?(W{+-p$R;y}iAxtgM`zoQsQ#b8~ZIVq#KKQb9pMF)=Y9ARrJB5C8xGL-gVL0006b zNkl<ZIE|%K%WB(D6dc?bFZ&DTN<zzkWaDMbm5jE*uA5ChqFhOM(LldLzaW)t3zD)7 z1f<&^kn{tgXpt_uRL}7vX((iqfy13Mnlqk_fk~bOd6EEM)AUcCrbLp1GNEn3$|Ns} z1r7LnzzTogd+d{EL7RP2c);7@l_#JK9`F`a$E%Mw`N1>0sZzM}I#04MfOM|O@dFqQ z^EyeGT*&J*<!^?tiXw{uaV|+Aa&|r>2@^;`iUMymA!z&ducBB9_X=f%`y9?-_0?5) zx>8xaaamF2y<xHv)|+8U%J=Zz{5?gHm(f}{Af=4VCjlhc!*qCBl2Sf+!lYWs5#%`l z#o;Yb7kkvGkAQV}w{Wd3!Exa`f?)V?eQ8S5ckxdA-{+;+5ifn7$@U0{3s3NX9&_+! z!+ZO@fv)@6G0@!IRz+D>X!UJbS5*n;bL`CKvB1bNrf04&-p(QXq8!dBADcUHM)lZg z2yeHx+|UDDAw0^$NNmTKzF5NOx~r(`B<78_qegFGciLB-RxtA{mU$*I>-$*ty^o;P zk=^PLexs$`Xb+OEh?o$q4%V#}pe;}hoj;R#tEFlw*>81hwR(k7qj#%DPxmBX;*gPu z#W^PZj03CDE1EUu?ADw^@{V#M&e_GB^MO2{8ogwqEY6X1P7N(Mt+ubYk4692O`1|p y-`lG16*kmaacAmlkk7<eh|94Qmq4_l3Gf%^A*b3Xxl8l_0000<MNUMnLSTXoCqNPa literal 625 zcmV-%0*?KOP)<h;3K|Lk000e1NJLTq000O8008g=00000-Bp(&0006wNkl<ZIE{@_ z&1$1i7(L5bOcyfr1=JUqt5E2&Ds)>$U%}@X=qy5v^dY+GI0@ZK_0ld&qR^$Nm%PF( zL)vireMy>WJAV=G;rM;$JKymNy$E9HZ&5@L$5;f!7J={M1G7A!TC-!nYWK|US(m@B zy-YN(W=Z$g?)`3dt;=0vKhG)E?A(n|O`QO;zI3s|)WPabUPAY(g;oy|`tbqKS}Mfh zg+>&eYQ*s=v+x4GA12Has%==hV_$b{#JbU2-H6#}H<51Gi{GES+u9fM3p~~l#Np8# zk#|%gbjB6D<GzD4#vI4p$2lgd*60qD1`cjDRHr#T-9|(Yd<Ms-D{<&S%TTphhN4#L zm5z>2(R^p4qmv=a>IzEr1*$@JbVKC)Z;)M4?W23MH{!kiZm&aoDWAG4)!w>NslD={ zoM9i`J21`9ChU_l7nV5lP=6oRSk?Xfcb#d%_dFMl>w1_?hYF9C>i?rt<zNC`(f@d_ z`$RhL&_02CXbH5{s6@$oS1MbgH_a<dZPB1HMS(5|hnN}05V<816t<AKF4Qd&)09YT zks&oj3K@hF(l81%mKdS2MG46+$`U!hZeePXL1Bp@R<;;yfEpbpmQYA-vf6+}&aEYG zaAS)(a)z24<kz9KsnPH(r5do`08d<dVhM>`Zq%%sV6yc~Fl4_Uwz%cS9FnbSi$b<h zMBi%|4aS_Avh-Lgbq$@|X#S!WSDbGgMH8fku@1SO?XZ+<U9O)2-Ut+xPmk_600000 LNkvXXu0mjfaSJHl diff --git a/data/tilesets/secondary/pacifidlog/anim/1/0.png b/data/tilesets/secondary/pacifidlog/anim/1/0.png index beb8ee82d6e4564e5f72d85b4b1c9f60d8a21677..6d432eb25cb95188cf911fc61187dff3403767ed 100644 GIT binary patch literal 263 zcmV+i0r>ujP)<h;3K|Lk000e1NJLTq000mG001Ba0{{R3>8IuY0000mP)t-s|NsB) z?(W{+-p$R;y}iAxtgM`zoQsQ#b8~ZIVq#KKQb9pMF)=Y9ARrJB5C8xGL-gVL0001z zNkl<Z7?nMZI}U^}3`FPnDG<G-a37Ey`bg{46yP)L*kpICiJmh4K&VRN4_jv)TZe_3 z8OFo9#{*BP<65&6dwGR;mVgLu`fWbl-|@!rT=?O_Jkho1QA%-4f^6feG{n4AIzd_h zzokVKP-l;r&K`5_i73X`r^`a4xXD5%l#>wA+WLfh_7vA2nBt6x{sLj@y+!jxWWfLc N002ovPDHLkV1kr3bwL0C literal 198 zcmeAS@N?(olHy`uVBq!ia0vp^96;>A0wfrY&u<9_QoWuojv*3LW6v7$9Z}$M35-`< zvVd>mi-SSm>|7SPYwq}$R(I*mE{T)ZHs}7;Q;y2Jc`0^VtL}}W=|=_IYoE<2>k@c7 zVRe!Axx&2QzJy-pIgd1+SC(k#?Gz1vvg%G>@f`ad+jXP-PuDbmD=%AN%b7M+z_PIK xb9!#eom{<_ytnp8238B6>57>eUD#KAZJ&^{<KCvS*<v6Edb;|#taD0e0sx7#Q5OIJ diff --git a/data/tilesets/secondary/pacifidlog/anim/1/1.png b/data/tilesets/secondary/pacifidlog/anim/1/1.png index 594655120d16e41a95b9b95c1719962ec4a8c8ab..7588b8a724a260dbaa4a79e89c8e86eb7d8ed3e1 100644 GIT binary patch literal 271 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt-3y|Nq^)clYkyJA3x* z-o1O*tXVT>&YbS<?&9L&q@<*vpdd#_M?*tH1qB5G0gwsKUmpGfQnNf=9780g+V(ke z9aZ3QDgNVduvWv?<KR2(hr9KYt~(i~|5&_DicM~&A!p`|bzxI3>u+~2_x<WNai;5u z6+46!-Os#HR1*yJkXlpC%&W9`GoMq%L%DhPpF8w?uVwv~8Q&#*>EgKy5h=U71M2)v z9%G1RTOhm3lri^zTEzY{RVLoadyic0PU(!iVZ>>#zeB3cwDIhI$;<ka%OdJ0XzW|Z TWEHv!=t>4pS3j3^P6<r_RikeF literal 219 zcmeAS@N?(olHy`uVBq!ia0vp^96;>A0wfrY&u<9_Qj0uY9780g#`ZaKwHWZY7PpEl z%=Uh{Pspm8m0xMnUWF&WCd=PFQ}Xe_^8Na%lJ1LxraKj{>YTANcwdpa@okS#R*RPz zFMfW!Cu8gO-syZm;4MZ;KHK(RM|1nNmi)_Uc380Le76IKljx-j#}|oeFHK)+R4Y@X zEn6(d&-MGiOj8BZiW}V>^_xWltFo4q>n}00TxSv|k>8*Ywm@;3xL|$y?&JDbq#Q#2 S==i<>x!Tj!&t;ucLK6T%j#JYB diff --git a/data/tilesets/secondary/pacifidlog/anim/1/2.png b/data/tilesets/secondary/pacifidlog/anim/1/2.png index 747306d5cc598f70a9d260e255d5e417ab563c64..2a11e5065eb3898ba3da68641e1d1e75e7a3cc11 100644 GIT binary patch literal 284 zcmV+%0ptFOP)<h;3K|Lk000e1NJLTq000mG001Ba0{{R3>8IuY0000mP)t-s|NsB) z?(W{+-p$R;y}iAxtgM`zoQsQ#b8~ZIVq#KKQb9pMF)=Y9ARrJB5C8xGL-gVL0001| zNkl<Z7?mxLK?=nn3`FPnE~NWVJ&8Slg1VPh*Fvjj_=)}r$ivY|f;PC`I50)umEn)h z<szaIX$K0l1TufHPb!uR^-fiUb>6W;uI+OL>`#)jz&I$s5*51cs|n_pS6{R@%OC@- zljV6VrlLCam5>FL<cQTdr+ES5H(D&J3}Hii!?p??qnx}~B{i$zy^_G5hb`j0N)R~s ijS)*t2EU=4d09U)`@XhDQ3&Y(0000<MNUMnLSTZ6>3Pur literal 241 zcmV<N01p3&P)<h;3K|Lk000e1NJLTq000O8002M)00000$Df2(0002ENkl<Z7?nkj zF%HBa5CiuMBqvcrPV@u`9+12QqU{j{-#?oxvV|otW-#J5w~4_>>9$LnbBbnF(FUo< z8N`22FYc3&+pj3L-$~{ix2Q5lsi7i=`OC7I2Z=HZpmqRn_Go~L8=wif<H`Vlr`m2n znPZJrXjOAotC*=?A|=tf!rg#1BePnr?8n`8A`G6h;JtU3EE}}rah*m^N}>&!y9Vo9 rF%lm13s2$>|Mlz_6#sqiE}{JaL6SgBbZiH700000NkvXXu0mjfeym}d diff --git a/data/tilesets/secondary/pacifidlog/anim/1/3.png b/data/tilesets/secondary/pacifidlog/anim/1/3.png index 20e0a7cdd532da7f539a317a410249eb51f9f8dd..be4089ff40de4dc94f2d13c2fcfd0a4c07fb4dc0 100644 GIT binary patch literal 266 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt-3y|Nq^)clYkyJA3x* z-o1O*tXVT>&YbS<?&9L&q@<*vpdd#_M?*tH1qB5G0gwsKUmpGfQd2!$9780g>h^ha zu_*Gmy#5hs@{ajit=owm;yu~ocjqO3nyEEGU7u}Z_ty7JpEv|>1ke1h&{JKJeK=fM z_;YOFoI0hB%X%D&%Zfrw=le_UoRI7PTUhVZf&CATKC6CPrZ4bX@#5qFUZ>DV&KPUE zbrJG0oMx9}ZhkH=sFW6$NwqpO#emnzSCjMbx03Kv;`3N$XRh1vhrxQ)KDV%foNAy0 O89ZJ6T-G@yGywpmacWlp literal 213 zcmeAS@N?(olHy`uVBq!ia0vp^96;>A0wfrY&u<9_Qgb|A9780g`t}*}u_*E|e`YP? z&T?4vT&eKCqR`*2ruX?dUAsl5<@nC=sClG(+kM&jiGl7@{m(_7nySaC%hJg^r^&cr z*@HFR$*w|{^Od(qvaU(WY}b)V67`<kr2U|)>9gJOH#SGEKa%nMcIF|6?o;mFGfGn? ztbM>UQ_~_lV)y^D^;Ul?=Kbc-U3&1|87m`?fCARYz=C_vvtMuj%@oJ&u;-l7e}9mB NJzf1=);T3K0RYq=R3!ia diff --git a/data/tilesets/secondary/pacifidlog/anim/1/4.png b/data/tilesets/secondary/pacifidlog/anim/1/4.png index 7b74ee349a6ab1b50e849cf4632767187bb3c111..4c16111def7fa6c71a66a5d113354334498b3a6c 100644 GIT binary patch literal 200 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt-3y|Nq^)clYkyJA3x* z-o1O*tXVT>&YbS<?&9L&q@<*vpdd#_M?*tH1qB5G0gwsKUmpGfQo)`sjv*3LdwmVL z7!-L<f41IP{vnaCv}|L(g_pNTo}r?E$1Ml$1uvC3wG-Z{>}j|<X~H4Ho``3b@<osK wud7`ra3#iRdg7N0nbjE_kCrV=mar|cyHmbLu&AM+3urupr>mdKI;Vst0L-aPkpKVy literal 138 zcmeAS@N?(olHy`uVBq!ia0vp^96;>A0wfrY&u<9_Qh}Z>jv*3Lm-ZTRIT&&{7qiCB zDSdHJ=FZ%zzxoS5Tz9%J;L+11<#2K;x8Z@SqDBX9NmU=n?RPrOsI61{c7M_B)g{iY mZ<M$2N4}o*T*y5`eiQ%c=}sSycJ&H^Eb(;pb6Mw<&;$T?nlY3B diff --git a/data/tilesets/secondary/pacifidlog/anim/1/5.png b/data/tilesets/secondary/pacifidlog/anim/1/5.png index b135bdfbe09d9739fc2c5431be63bd858b7e7896..93bbc63750b4e3aeb32c69a38896351c6e1293bb 100644 GIT binary patch literal 200 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt-3y|Nq^)clYkyJA3x* z-o1O*tXVT>&YbS<?&9L&q@<*vpdd#_M?*tH1qB5G0gwsKUmpGfQo)`sjv*3Ld;JXg z7!)~Pf1Y_qvStSJIlWJ9+>KxIE@fX{!r9tnH)#XYGrvRJ5xSh34&3U84X#&C5Y>4q xU8~1?FvjGIRNudpEpG*zx}sksTkJ}gyYqgJ;6C9ASAfPdc)I$ztaD0e0ss`4PC@_x literal 140 zcmeAS@N?(olHy`uVBq!ia0vp^96;>A0wfrY&u<9_Qo)`sjv*3Lm-ZU+9WdZv{>vIM z<M4!b!<6(#zg_c|tO=}cR_!tDkQBa`@FKv2+1op$`Rbmc+17_xm3cn*u&&v4_UH!I o>9-Dj?B5>ryRtL?;g7r345#ItJ|2_pUjeel)78&qol`;+0P}V<HUIzs diff --git a/data/tilesets/secondary/pacifidlog/anim/1/6.png b/data/tilesets/secondary/pacifidlog/anim/1/6.png index 4eae151e695100fa1c212305e85ebc0d9101d481..b08f5a0d976bc48c45a48493e0f85665fc75a043 100644 GIT binary patch literal 200 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt-3y|Nq^)clYkyJA3x* z-o1O*tXVT>&YbS<?&9L&q@<*vpdd#_M?*tH1qB5G0gwsKUmpGfQo)`sjv*3Ld;JW# z7z{a1f1bO``b(nhn>$PQJrq#o+is#L&>^)kUnuT?q^AdCREBZ5P*}#{7yFMkuSw9n wf5SbULoaKgSx;Qrv_9#kl@%*^7q`#kfAV~fAhY;ukP8_+UHx3vIVCg!0MD;XH~;_u literal 138 zcmeAS@N?(olHy`uVBq!ia0vp^96;>A0wfrY&u<9_Qh}Z>jv*3Lm-Z_1IT&&{SF@&F z@OhKKVbk@xKIq7H?{6-XoisP3a$j-?7QU)5OVGY<gY=ze8e9HPOPsf{A#}Ut<pPhR matmu`&OK2lr>eY#e>4AKb*GR0hhEo$Eb(;pb6Mw<&;$S(iZG!7 diff --git a/data/tilesets/secondary/pacifidlog/anim/1/7.png b/data/tilesets/secondary/pacifidlog/anim/1/7.png index f1863fdd56cfa672bfee892261d5f00f563b8b49..1a5f0ae5c4d048553b5132e857fc5cd8bac61fce 100644 GIT binary patch literal 261 zcmV+g0s8)lP)<h;3K|Lk000e1NJLTq000mG001Ba0{{R3>8IuY0000mP)t-s|NsB) z?(W{+-p$R;y}iAxtgM`zoQsQ#b8~ZIVq#KKQb9pMF)=Y9ARrJB5C8xGL-gVL0001x zNkl<Z7?nkhu?hqs3`Fz!7K?pg{ht-$^@7>jLj8uDM30;BWMC$ddhBrk3eW|JO_}*` zQpL1XNnN7!P9LGq+9G>~84DWN<)XURGuHj!{kzP<{wXB%#O_0#(>nkK)^!0lA;VbI zGa@(l=>(S3VZ|MbY<*Ua1JF_q1GrfQ#-f=KxoM}fR8B`(s8|HPKIgozo6p|P00000 LNkvXXu0mjf!trtt literal 200 zcmeAS@N?(olHy`uVBq!ia0vp^96;>A0wfrY&u<9_QvIGTjv*3LW6v3Ku`2SgT!>MO ziddcSpLfUi!h><!KKy#!bF|&paKZ<nsRoCqZ1q02PI&JZrOfFr;&cCmgxcJ3zWzYK z_Oj&M&O?SfjxpPO-G8QCZ_cNJnd=Uj?wEb<h0l+z231o`C(TRvJu^1L_R+&N2f^ZR w*6cJ|mLc_;<@WhCi@x%l(~4<6UE-D=Q_a|v=M=m!<sjIJp00i_>zopr03>NvN&o-= diff --git a/data/tilesets/secondary/pacifidlog/tiles.png b/data/tilesets/secondary/pacifidlog/tiles.png index 94fe6d96b0786fa5ac932e717a827cd855d23370..9fe620e1efc7e2ae908f7e145b15500e0048d378 100644 GIT binary patch literal 4718 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 literal 4812 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 diff --git a/data/tilesets/secondary/petalburg/tiles.png b/data/tilesets/secondary/petalburg/tiles.png index dd0e23ca407c738fb5b099a3f8259b25adf3d4df..00d6d94a4ef2f74d70ca5eb58cfe0497deeb66b5 100644 GIT binary patch literal 1740 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 literal 1910 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 diff --git a/data/tilesets/secondary/petalburg_gym/tiles.png b/data/tilesets/secondary/petalburg_gym/tiles.png index cb7c40e5ace444f17d59e73adbd07b65e70d0c88..87cd3c55631abefce88906048a3ffc663f4efbdc 100644 GIT binary patch literal 1272 zcmV<U1PA+xP)<h;3K|Lk000e1NJLTq004jh002+~0{{R3BQ9Xq0000mP)t-s|NsB) z?(W{+-p$R;y}iAxtgM`zoQsQ#b8~ZIVq#KKQb9pMF)=Y9ARrJB5C8xGL-gVL000Do zNkl<ZScS!x&x_ke6vyQ~G>1~~tXE#xpc2WZhrk|`^{Lc{xS}BiA5^e?N~udN(@TFq zyvkB?=*gRF3EiZ(Y)&-<+OtFZ2RO9VZfPN)LjTIeCS*nRJfMn7yh)=ISf&Wc%U zHJ|y;oA<_ANdg^yd2n>!my|-omL=MdZrC<sD**+zprSMk#<v8(wpRkm_JW)w2de>v z{vzOZamm3U=v;s#2dKgQWdY#vB-)Z3;NTX>gaM-kIenYP{pfK$wr?wkp_Ty;_hNd} z@g4l+1Hge2T~M%o0>F)jhG8`5hpu;pgC8Oea8l2Eed_(;c{Dph2mluVsz$Y<RT_p? z;eaIv2w-eFoqCKd0~#>AR%z4>?aIp?cvHLr03{g#8kI()s%eetm8$X9N(TWTh=D2l zO8|mVh4sT#eUjcm2#9H=gQ<rxn1%pr(6PF(if`k2^i669{Xu8HU$(4-L?Q=2M;#QH z<oc3YzU*Gxw#)onh-R8_u<a)fIoPTfg^K{NKj`%L0YIa|L>meR0)P$*O~ny$2mpKu zJ|I$U!h!5RhYku?nO+nQ#5p6DaOd8gd(mnW4g`Q4)D<01CcXsNKD_pOZCb+J>vyjw zIf%w!qqL_uZ#x{I`ND0qk{yt?gRlTVWo*lFixh+R|D^Uz#DD;C2PCls1i-B77AqCW zfdH(GL2nUo0~1LrIj2R+gHQgV_DpQ!QVe=+YB<~3d_HUU2(Y2<>6hm4S^D%jwZCIa zh&kYZ7nu9=nE*%{+q^V`&jBE|gaik3%>A>#fwZA%5;^$j9cm4+jjJ5YXIMNT07Zb0 zzozz;*v7>exUvtJBj5}GrW*tJ6TG)72Cq3hQ)lxRSpPG|lmI|6u(&>?r{v{Y5OoW) zVf}mX>n||}T2$q>MS#U`9=~vC-y=d`P>t*KB-AAK#gY~<83&pigh$>{dO#SL$w6q~ zNMb293F9(37zk|VNZRD#Q=ykl>Y;2*=&5>4Rpw8cF$bRu>^1=SHmYzS%cf;@%a&|e zCiF7iHoG$ayBTv31t`bbXr#TN?r4`w`mxsCyj(I2{aD>8;rELEK)#9nwFL)?pB=v= zz&+92-_)I5x1{g7UBxY(HuYUcDgAodZ0e4D6Z>lm4&nfi4{!-!7*|~YkOL=;0|8Jt zK!J%7P;WNt2*Ccl4)kme1fW(YK&@7%7-0V&Igm{P$hK_)K*mfp9hs+WDhJ7cfe(l| za5Dg64zd6u4q`9USz?e4@Dc~35dogc<|6<+MZhCxhXWq0cd%T}@Hmz;jq9#=aKaB1 zMbj9g0|o0GdS38q(uouUq&?E2r*aJ7rqnp17(g74Qda%{01>3@06h6`?7Hip{I>v` zCqCeU{fhNL9)LY;&!6W3NOm3oyt7GC+p;nP=+$M=>U@?Fz!S-C-LkU)f<!75Zw=Qz zp8(+h2}qcf7jghz9e=N}i}rUp0bk?-F!ka%4`9sLI3ECYegM2_iCxI1NFrquyyNEs iL^3g}1OBp`b^Jf&=~6umbS0Mn0000<MNUMnLSTX?O++jJ literal 1429 zcmV;G1#0?<P)<h;3K|Lk000e1NJLTq000O800f`}00000C6v3y000GCNkl<ZScUDF z!E4)A9LIm|Er&szTMOMmQ0Q3WZB&22MtokOke!m=wx*O_Tc36)BYkmUYcIueX-0dB z4b#D}(xRyckDcQB5a?kza+zo#R%{u@4&5R4e!ur5JxO^|JV>`4D(Hu=p1%26e((E! zvI<i?U<Ta$W_=A9^L+$k0ypu9opOAIhZ6j16Ayt*UzK1+$h;wLUd97fI-SlezRt<} zehn^6a9*YZ{DPBO3`<a|F`cj^e7>KUKMs9KUjqE63zhHtv{)>{Cxm=oku1fSZ#>1T zCBm(-fKFIqw_H*#RGLN;Dn`>#D!I}IjWuaZr4qghja8HiZI$c{W#)=skWh`ugmLg0 zYMNeCz^HB+P^)fjfJsG7vT*p3;@G4=s|^eTRxHaR^kBv2uy^s)w#9`nqA=K&WrNk* zbzpaU*9P0}p|W~7Mm`xDi+sDb<-oS(ya31Uy}&W0?<XvP;Hqc+f~t2hI7Qo+!Y31! zuVljV)n`${GS$aXxMqM%SiYL24^8|j7X5tzS9M{5%Ez%#497G)p!hz1_(BnvG2fS& z7Y7e`bmq|+fn$AV1z5eoV57QK6EPE~^+qigJwC<;*iSbIHG(`fl4Gfi-?)0?DqMeZ z{fST#{Az_lePTPA?@;yrl`1cFEI=KRnYz?I-;dzYJaeeV<X^}|QH^D$j>Yg8^LNl5 z!=&YwVDjAW!ldnX;c(b-;jmA=-EsO9LMIl-anxB$KVxS-C~0Fj@P}g<mM)CbS<B4d zz0>zj!`->Na{>>ZJ$MH9uid`}^+vq`1|A||=sQc6_XN;qlkaQt{Ybut!j~UC9$Vqd zjh^ozoI%4-W=)RCVCJVzs{GU?R8Hz*`NQv@hUOvuDABsn6!X<;&;=FvlxUHUugoc0 zBOnC@0w4--iWCHkH;<Q47Yb0EM}^IXFkhhcEr`~~i#F;Qt|Krt{9IQf%STb94rghC z{Z984IR5Ar96C;p59t01bbnk)$T5DCs=hX&fQ%@5?y9ql&=!?Ghjs<p`mpT$)(1!X zpr2LG1ALfzu;;uS!rqQHRQgP+XBx&PbXOh3j<%Um5Bu)G@C+Ee99rON!wVVxneNZT zdRBL}53TM_NnH;+3Jg5_zI#J_2)n}%GwL->`o1RCv$|KH)#|G2i7rL+=iR}2-kr>P zO_S!&#ClIntcSRW2k7N;8FbnUI_(9O;=VHZ^7j$ibn@vmrqh^O@wT~651Vzas(6#@ z-{DOLz_4=2A7ir7@-HLz5l85wmj<?mzAfx3{(b;WJ0AeUrOg73!ZibUxDalnB)k~9 z8iq>+GYJeACCqJwYPcOLkHug;*GiZ$ghgmaikS(xB4O=TsJ6EQ<>7=$V8XCo8^Kk( z6)MKeID&*>y+C0-q4@K%8bTzj{WQp0yA>+5#gU&nss2G9&q<wBGGS_H0c66C!}+yY za5QV!@ObN6#3mRIbs}cV1m6016O_JG%=UK91+C9@ocJb5#mu}+pw{On>!o7mo<m^k zW7q@}n=TbIW?m*xJwI758M8gYfG|pK;#ABKR|r(kkJl3kV@Khq>#-wQ<4E~Vtm{c% zPU^z$Sf1(q<846oT=4t&eB&4`hEP5~9`9&r9P^QH*k3SZmBukX;|KZ)G56n0$vgau zkO_-}eiSY4vlxPeVNYy64quy9|NS(bG9E6DDuKqP6M_$amOpm{c(@FMcEHy6h}#U` zsBTyAjp_~IHM@lP_R{}ghTh@r<}VR5{B_7g2z@_HqVJEKbj(t3`SQIM!$mPGbL6!3 j{_8R(tc)lVvV4C7o5&nfxgU@400000NkvXXu0mjfD+IdI diff --git a/data/tilesets/secondary/pokemon_center/tiles.png b/data/tilesets/secondary/pokemon_center/tiles.png index 673746c5ae89425532d558419788cf133c7d4dcb..c54b078d49ef1409817f18dd41426acee59153d9 100644 GIT binary patch literal 3487 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 literal 3645 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 P00000NkvXXu0mjf>jxr3 diff --git a/data/tilesets/secondary/pokemon_day_care/tiles.png b/data/tilesets/secondary/pokemon_day_care/tiles.png index 76cd9ab96ecbcf6b2919358c21c3301fd95326bb..a45206efc2ad3e24add10a7cd2150c8a2ea1ccd5 100644 GIT binary patch literal 1494 zcmV;{1u6Q8P)<h;3K|Lk000e1NJLTq004jh006iI0{{R3**W<*0000mP)t-s|NsB) z?(W{+-p$R;y}iAxtgM`zoQsQ#b8~ZIVq#KKQb9pMF)=Y9ARrJB5C8xGL-gVL000GH zNkl<ZXo2mTJxtt46vyrEiYW3RK5S=M#6q6}S{LZHij;!F(19q{+XZdGy1UbMdvxw% zI!hGbF6D_PNV#sCYf{ClY;jOT>u4iEiSyq0Yy7d^#pFcezcd)xp5Of6^Yg5w8O{T7 zATN-vce)yg3#3iaRv<19aIa~{A%IMg;wTO(1JJai1VEo6MaepNP(cXL;1B~w@vwF1 z>HnuIP7c72?x@@HyuCOFvK`5S%WK$UlAD7FaO`>aF+lq7PMsLi(&62Kfq);4#_Nfu zJOc1tJ=_I=r#?_X<HzepF@PqCb)eo&b{5y}4yl6$bg&)+LP7ox0zf~I6##CIk0<L3 zYuf!g3TSv<W1S{hQIu^i9!YzL=>>ophyv~baPNVGrIrRE9BT{c*#~TIZ*Q>x>KzW3 zDZuTYcO61j_D>EFu=f4t=3x>7Hu3<`LkmK<RrfoPL|y#@Ls-6nYC8%5TS-8WgM<T` zL>&MtC;Jqz=3RY@9Bj-5xYa2@*D2uDx2vnG4?bWkA7F)*8vqby_<s>_<#{1sg8{(( z%h(-8v)n*M?*d-?9qV9obF%^3Q2f^`ey%CCK;3Rv4~ou<E`W<o><Cht&F0%O0O|mX z!gs(&@e?5i?19>#IUEpL$9Szz@&Pz+6gZG*!tt76<cGk{nK=$bBMd>B6OeKc14IVE zhL8ZjW88qYiLWL!<<S5-ydMU}F%`fn0l<C;!1(6{gx5<uV5huN4ibQ8$-%FE3NUgL z%Mg!mL5~Jx<pWUv8z4~!WdMoC_$+{#IanRyoIL)wG$5STO9JAll%JC88GzXeC*9Ht zC*9`*;K#%BI(RZ*#>+HY;kQGjN|h>As#K{`rAn15RjO2}Ql(0jD*Y0@df#XCcP~7@ zg6q1v-ihywS4R^P`w2w=z5|HPijcaq7pyWy5@a(WE4p9cbzR_@q5Rd@%!oM-cz;-t zkRH=NbdZiYCkM+%G=@`4z7Vp2*$()nUF;{G?<~H7kcaj9$f*la2<e!aeGmRJI=`f< zND$90832;w4#(rM5jyyq9x(%0Qd@iKF2^mNzB#|x;iU1{8M{slNXJZ4;+FSL_FIsJ zMY!>=9VQ2KC@bTDx2<@5*%mmy-P-Fy2>h9CpR-By2l$%KK?bm*t11@YHH>K0SO;*U zoa4YWV*iqf<#VzRCB$9Bd5Hx`c*4l!003;U3CnF<p6VWPFVMlq1i*CxkmDc;(DZIw z*C316gs=v<QQdV%^=uAO0KScHA!hN#V89ySUiw=NGL^@!-1CIv^{%G1bvFG0d<X?K z9Ma)daeEL54$-cKOot4>8IS#vWC24A3^ke!fZh%*NfzLe`2j<!Bw#qYejLDYY1KF( zz^(1DfWlm04&1S8IDzooaP%nw2+!vO>Z|Y&>Ir~bYbF7o3zi27fth9G+YbSwPbol) z*>jPWY-5D}#vKG;uUfNNTlIMq@L4SYh^JV17rhXGI56;We!v-){)G_&np8E81$-$6 z;EWLia1kF2BmmAog#a2t5>VrkfG>l=+#w(U3?u<Xb&w7LlZf-h+yM5q#YZ?8`11t| zC|q9@MPhKj37jZfQ|~F1C>jQCb$CvIWpI-91b`F($}Z$afPQcG&A9*>0AOFX%Z2~| zUbckNYtf=irtEW=7eM-iet+@VAD#ICq77eIkU+6)5~VYXKfMsJl?1>q@#UF-tu%m` zCV^HOAR8ua<pGvSTS<TjA)H+jXk{H-!Y7?AU@HkQp9YY7l0|IzeS=mCz}r2!2cMd~ wvH*_Q{l00w@Au122tZ)B)|Mj7{YjUjpO+o<Uv-JHuK)l507*qoM6N<$f{9$KT>t<8 literal 1528 zcmV<U1qb?xP)<h;3K|Lk000e1NJLTq000O801Frd00000B}G~{000HQNkl<ZXo2mT zJ#5=X6vto27>E%P8R8Byq)b`5WNUzUF*<gmJs8j?X5;2+6WZ<ML2x$HgOF@ChYSHS zsqmoH9<tjCtSBV?0h1^)bR+wJM@iHd6*_fex3~xBhj*tZ-q-(*C)^R`v>28L({?Wl zqvpWKhD}0<Mm>RTH!~rU;QO|{oxpY+n|6uzX`ASN0s+h2j=YfN2C(GuLKFhzxd!0< zz<4<D#^R)Bz-Yl)w8(k=7Fbw3$d2<aUM~RT(B<jE>#4XdV3d*f#scnH18=f^?AfR2 zar^W^2k1N?`-;7(as`4GZR&ggK6Iq_(WWC9wM*?1wcFAIlDu)qyb>(&GI7)60Uf>J z#=K%QX98_IpB^_MX6g?=s4`5(8p9ZR5@l9rnW``{VF~1rrAb+k2IIIg=k<ZG(PSEz zUw_^bB%k0hCm#=`Cp|OK<o5RBN6Y~z?6-wRK+awRf)jvXpl~ZG{OZ)cPnQ?F=$x~? zEeK9H<ehEp0q7xb*qB#+nQgPow&{0HrZ5>&llD~yTDy{hd$>gQ`4W4yO7`bRj8#fB zNgarb2w1uYt&!cd=@EOYtG^)0kebZfFYR{wkPZ(Ij~FMw5#t0nVw?bfu>OvZk2{3a zF=MuekQ3^3Iw!2y!)y<6$6T%~vOO$(%9B--KWnvG@3K9_wa1zj1wc>*JP+`#F%075 z@T78-$rRV0Q9%e)1HiHXkKqq-)AM&1mS7*2U{+qeUKa^=U<qdB<t;bw`{<_I3*~f% z8k+4v5v`#d=K$h5OcvFFhBCd@P>yr(4mK^b3{1!@6M6f^xANhp$K$q;_kDExHT~Ym zp}!!^7Tl*I-lpj*H8W1r^dCp!a!4-<ZohMs{uKTf$h&{O{hBH$C@3f>C@3f>C@3f> zC@3f>C@3f>C@B0FAW!D~YL#NoH2dB}lH(A@CpER0Ow;OnW69-_herHRpO1AuzXYV` z@?nnj(zx`#N(y=CQ~l<+kn?K5&$Yypm#d^Vt1csXeC#AKtBe%#c*?k5+;m;iJb4XF zVtRNY#yJpO5IzpY7tZcvT*zoL-tu)F2c&)HZA@oE*c3I+1jS***Qb1pbhL?r{EY(! zyvxn^WDC(C(Kri9gb_NihNrmec*^B_jIYbsSU;Gfp{UsHl2_7-<mq}TJFZabhNSDd zMY>k9`r<;D_eJQI;dxfT&?qi+fj{NFIfx4#w9MlR&t=cEmPwN+beH*jF#g*34)f-Z z+qdM+8{affsyH&x$^<5w8u9E&5eH#Ba`96l^X|;`;#?z45O`+DvwI8?W_NtPzXfjx z3Of@HMM7-R`Hm2DZi_laJFF&Aw`p&;35C^BQ%5vn+7klG5%ne^q6szCL$Y^}7hk@_ z_(m0s>I;{_L;Hoj_yyPW%d@0@)n6elV*}4K$~{!q>#?^2uZM4+t^8X{pI0pEkgcw> zY;{f+`;d9vPdd5|%GQfTE0Jx9Wn1KAv7}j~=^7`y78MHf`d;3JP4Q_4N;8nR9f&Oe zMTUmbiiH=bY43oFh35yP^;!p1cn-+AbonHGJ_aZ5g|FbB^!-S`Jhg2q?K;j~co}|I zxCXx^H+g}o@Y+<tB=##~$^IQBgIADsUQ5<3Om+ZCYb1HC`*pLlHUW9xLK})fUK^aa zy)D0Z2BTi9)guUO1#y_VZ~&gVaAN9lkt>W@y3d#kg*?dH-lu$_Q{oAu^b_L=Dn8NP z+gHT*h3^LzU=2|Qydm5H;=iyo$G$ayR~~~4L~c3c;CKqWZS;Ac=o;nzF7ozUu5cIN zyR5&Uibc>jYEWIJ445h01j#QVDMAP-+FTDQTB~3uW10b3CPK>QSK>mB3pp;l11(p$ z3-Em@v$ek9+?rR$&b$U81qT1C40xv+<NaG%<9$1}&JuxP1XME&m#U`ua%As~xNt^X eF!Dc-<NgN7Q9;PX+3o-U0000<MNUMnLSTY~JmDz- diff --git a/data/tilesets/secondary/pokemon_fan_club/tiles.png b/data/tilesets/secondary/pokemon_fan_club/tiles.png index 62dd0f03f2a511c8eb898da8ff015bab5a0ef684..fa42a5ef179fc3590222332f840e232e57459a2c 100644 GIT binary patch literal 1285 zcmV+g1^W7lP)<h;3K|Lk000e1NJLTq004jh005u_0{{R3HoSSx0000mP)t-s|NsB) z?(W{+-p$R;y}iAxtgM`zoQsQ#b8~ZIVq#KKQb9pMF)=Y9ARrJB5C8xGL-gVL000D# zNkl<ZXo2n8zi-<{6bEq9KzE*`$T6d!)-}>l6bV#zGP)?BmrRvl(lcX-o;_5WyHR5{ zQyY;<+B{2(&@o#42P8w*pemB=Ro}ZG<Waw^X6SI=7@-}JAHI8cqytfgp~Qp8EoPqO z(~M<28HvOq>hVShkz35Cahiz!h==r91!i+@KE3J(W{2n<H?Edu>KAbU{f$G=_+ zu#pc(tbph?4_usIoa464fnXyr5J3L`V8~lAxaBSAuLU0QS!`_p;QS1L^KSr3=lI=4 za~Z(b4hAL}0CT{H&|d~9WD_tJ0AEI|i9jti(QzGjBQTM`Kmh#*0%HLT@k+pjgwwIK zkX+AY3#mX^s(E0-fl<uA;)s2%1)46_;*|2hSO8ltrX9dU0Glu86!7pnx0GK8@5aWi zXyE?{h?{`O9)P?WC9v~=<v5UU0yH>K{FVSA)_(%XY&P9PNCAF7$N+QpgY(mLH$Wh4 z>#z`$uvmuqC;YevAg8g)fr7bUv5ZPF46iEtbb%)YzPwm0zPtc{TwMhR0nZnUj|_lc zbcX;7{Lcvvfs{k?0N{u>@6=rUGoSy>0LN)O0FZ$So`1v&U>3gaGYhN0U-S6~1ZK|H zUk?G~I@ot5ZpnVvf{u=kj*gCwj*gCwj*gCwj*gCwj*ia3vH9EDOFt&+E+<jn-U6KD zo@m-O{`4l{4^lV`du#)2_GnbTzn)e=*kk{Q0i&S;h&|Ky<8AxZ*^g(hPWb+B>~duq z1k=QfGXPGZ0FNUjf20*04v1P(;L(%2R_iXYm8ZQsDo8}9B|u24MG{*)Hr@@GRvr*d zQ~_w4X_&6t^gPdB0n)h^fS5)V;LQi1y%&IoC942F{HP%yUt!4>ocQO&w$IMqzFh|x z?BgT8L2^-ip0t8^V6On|11vWAJgbzNH;eB-&y*!^SEdc8*hpj(as96V?36aSA6JTv z;QiD4@j8G_ipc={07njBj|l;A5TH-*9Tj+TSEYq&!XFcvWGgTx#Rhp#NUj2?jw+Y& zT7cO<)2a{M<R60R;I_kGAci@NqU1Kp)N*)y69z^O5<rauo}U7bBWndP%jF=j1RySB z4zz1HrCyt2F$^%_z!d-lI9>n+`V4!(0m=bd+XQ&Zys^(?VCfQg=EKktXj6{^xSs@u zF#?x-G8%<y(OLm$6ZXfmLmgN}2hPsUEP?Ml<M_t#elv=MQqmBB>%Md$xJ9Uw%|pkQ z09FF)*zA$ZF6miDi4>}&nN`35Q3*Rc3<I_uyn-2k5CgiG;V}asP2LICJQ%qI*d#(I z^Z*w<0=58*<IoTN8|VQHwqz;u|GHjB0G|~LpjK-u09Jy42}29vKog37sRFd^n~w7f z4uwr4u7{ce;FeX;4Z~}!0BcnMIG>MqCai!1v<`Qv4iWP&0qDUs{ILLV92J0a8Gube z0H*-f@*3c}*XsgsRB)W?X$I759FRkhcOi2LD0g}gKQN3cAqDj!g2qVzn@C000M}gx v98r3jzY23hSO(-TSW*rze-DG~h6(u>DSLn<g_-#$00000NkvXXu0mjf`42g} literal 1373 zcmV-j1)}<iP)<h;3K|Lk000e1NJLTq000O8015a600000q@GZm000FfNkl<ZXo2n8 zy>Ht_7zXg`o&<G~HAC|UWKqY$i#2DHrhuENEu*z{wmNt=g+#NZK<<<!LbMc~$_fdJ z4pvIJs6y9@rPE#@WS{4~lPJklB(wnxv`4@{9DT2jUk}d)bSlNBZh;my6<}LHe)r<l zi&qQ$oAJ)cXwC<g<kjKlIcXSBajJH(sr$uZaRX9UWb4zQ>^@t28z^Ag4k_M92^;Z& z56Z-!QMT-xI$!XGeNqPdW$D;gW#aP__^E;_sF3Q6isiu6RfVc>Kq}y%A{_^+LT)R6 zS;8W0D(r+EL#NegEwJr)*BmO335V};WC4fl=7O>T&*0jyMfC1(PTdllqL<}wj}(PH zQWW+`v0&=9y)P23vJD)P$Xu1ml1YCaOzcXy_DKodGg$1;f+=+pu8IvDlE_^770G0E z9!%^?xDJSq?innu&Vng*x0Sz@n5|{o@wzPD0t|Y+4O>Ldq-1mS3bt;`sqdTOHr&>8 z`>$YTJ#4vXY^G$}@v?;VR^TX_gAT}2%*G3#Y|MjeGTCsngy)wiY@e<}*_2h&oL&ud zL8VFIH}Gw!(&0F`F~AfQcBiQdf7t~g2%Zh|#&g^zgL%S)j|@m&orEg`Wf%DgyZc6g zw*ddUfiK9;TkzG6$)D7zyKj)N2LM&zOYlHiUjxaX8FZ+hk${XyXj7LILYqWp@>v7n z3Iq+p9=OBQ-T86XCQ&kZ`*+;oa5x+ehr{7;I2;a#!{Kl^91e%W;c)!lNcctRpVjIO zmg{7}L6ysTR`|zt(-a-w-5`y5Lh+>!;u3jjTk@4|?D3qZ_CT^iNR}O){d)G&wDh`f zmgPI)OP)&}OP4U^IX}%M<|uKD<C@lJxNG_F{xRV1*nuAp=l9eztwv+la(eohXxm|r z%X8K^jl`c3^V(uwk+AmeX7`{puiJvl>Orh7eIJy{F^_Qr+^|F?ole(~X5W?P&}y}s zs!jStc4hHqwp7KeSIH6<m*!7Z-y@F}$SyE@s)gZoR~3ijo(f4(gS@&U_4_^5c=*R7 z)rf$8D0gj^uu{pBJDIA2Myp7|dFyk(U|GWA`T51e-Ja$B<AKRbmN1lgrY;=!JVP`Y z0OrL+kGC$4&(3U12IZ=QZ0UhS4<mW%$rI1EY~T{Xz9d<~4E}y>v$0H;uoY$t{w$w; zg36GoY7)Iu$<K2-o!6$dG6iLU6FS%oC?4b><3$VOHMtHM^g)|Mpxz2pcX{}w)zQsG zqJC511A&VA@-Ec5u9+R}$o94)?AqSh0BF<=*j*y(*EwFDpQz{GAz5|B6~A$1HiO`< zrF`F}?C=blc*`VZPCRRwkL=}q)+_rK&Fp&Q=K0B5$rJTgE4@<5p*{h%licf=lB2Zs zgR1GnsS2(@Its3EF{2T)JF+uo(wnGstTC%x>j}ZTA2d=-wD=3rkQYLO!5F)d?xCf- z{2f?{ZC<h^NNe(PgJ!_IJU>5I&8Us%+sE_mxA8#F`FxvvzD+*gh3tmmPYcuQ3fcNU ziEXy(FN?D5uFqd<DOWAKxV{hCBsy0C^St`HFl#t*1dcIlbGOMjuGFo}8=5K6ImyY* zOAc9LS7)R-5<+jDu(g;)T~|R90m0>`SG9myI|j#xYE(ZIj+Gt-Cn{(jrK%nvAi*(O zwd2}U9oEQUv!QC_`=G(Bb;-L9;GeN13RU`X!lhvYPNg61QcQh~p*pV_xQMF~g~0_n fCg_bWY{vfv@R~YDNU!mK00000NkvXXu0mjfx|+AM diff --git a/data/tilesets/secondary/pokemon_school/tiles.png b/data/tilesets/secondary/pokemon_school/tiles.png index 20e3f32c8c3373b94e9828637ce50e761953f45c..8ea0e8fbde19dcf987262d88173c2a11746089e7 100644 GIT binary patch literal 1021 zcmV<Z0|NYsP)<h;3K|Lk000e1NJLTq004jh0058#0{{R3GRA&m0000mP)t-s|NsB) z?(W{+-p$R;y}iAxtgM`zoQsQ#b8~ZIVq#KKQb9pMF)=Y9ARrJB5C8xGL-gVL000As zNkl<ZXo2mSKWp1S7{=vK5MK<kVjBfAbPqzr9Yf@$ODRS}MlW(!6R2iWC^t2TV2C?3 zbgWwlg-%hI&Nbu{cnEap6k_P0(3JH4>rR&J*e-OrC!jZX()+vT-aFf%GYq5$q@ko} zbT=HH-`FHZH@3mV`YXrv1j3X49`7fBk)#wb1z<Y`>_5Z(KPura22{dF0BWDcpHo2p z3+_L#!efB6rviv~nlDYEcK=-hMDZ`rd)~A{CIvwB7UzF>kN{UecJL8ff0GZusqgRb z^?WM@G~!qWTw=h_d;qEb1-{<dDWI+bV%!hs07m$~cXrV#fEYV~KmqWz=MSCLFUI5h z@tC&{YHHg@BGIGKID=FIkV$YFSCh$~$)p$nsEPovaTUkE<5&PZ&r<=Jgqilb0ND7Z zIOK^Olm{StDg|urV9f(431_u<JpL*<06X~rUra$w$Sxz;TmbNx70*#4kW}roe6F@@ z_Nr_n5pWT}41_u|!1v9bbT2>&j*|zd_Qd!-1t2+aaBddB=UDA{Or`+5KsfBcV!IcQ zA&pEye0g{hnKK7C&TeavI>2!`0QzvZBnKv~0R!+Y>hmeIMA7(k_7Q+gDc3;(fH>&M zi)xA%almQfHvw5olElJGq<rfj(Jl3aJm2!$bR%(EM8g&VK)4X#aX|W8K<Z*ev_5kH zI~34j0Ea2MfX$?tSj>qfc3Kg@%T571PoOnqOSBkpKmmMTM<)<AVbkKp<j!&cU3QBC z_$oxNQ1M|R0DSA`0oWdIsSY41|1tp2$P>sY_n~<TGFlq2wgWGtr2&3MD*;^BT?5c| zDd2SA9zI>off#;xI9LhL7GJ>VZxw*=ID_`-8V-b3tAW#YC4{>Yz&R9USZ@j|0oLBi zYk!!uw6wIew6wIew6wIew6wIew6wGqssze7RD<wkHw=2yDLqOSZ7Z-K?3Z)$=v&KD z#o5J?oul=Q5(S7hc#Q$G1LF}$tT>lAZqqlRQw|Vq+p=IEkO7rfrB)bpNn`+<-oM6A zDs3BBeH7|3RiT3vaBYaT*||2Rx1fyr>Y20p90x%VbX9<P)W;3Gys<qC5Dsc12Ea8V zQ(ypS9zg~`mtqI3Fn|Jpfkwlcnq>KKV|tqh$aa*%YM4Fco2wZ>P+jhP>Hh<2?8NgQ r0+xKMpFIZH0Jo3Mr6Vr8Y#IFp#KA@e5q1$c00000NkvXXu0mjfmiEWQ literal 1027 zcmV+e1pNDnP)<h;3K|Lk000e1NJLTq000O800^)I00000;o{RN000BZNkl<ZXo2mT zF>BjE6vrP;iH3qhrw)Y-`2+!X?$XOt2!S>oOFGns5KKB9g`!!7;5F9b(StCdOBXw2 zY=RKkI~ZbYM>aU;d;+`gJ=vD5$cfULCc_>0$2;qP@BX@z?gkx<us{l=EjcW(jU@nA zxrEga5gh?OBR(!83R`%!uzfQh{;2wa^6gyW)#WCNJ~dIioJ)h;&hus(j9X+BqVtZh zL|8|(1fng1tGNP-)deEEiFid&1Th6)O*_tM!TwHuBFwksR6MJL`QDIVZV&|irvyfL zGkwHM!m$taAE!RZ{V#+UKK>^uk_rymD7MZC2TFm3B@uGpJVW#?Q0gpM!bp1`JimD< zCFB+Mo9}F8X8{P24Rn%pigekfY&HTe**6$1dYtp^xS<=?SQ0aoWR0tf_IFHPyw>^} z$kw`mJVCZzE5ua;q-r!kT_L#hwI^$9Af5^lfJd@{C4xo!bFhq2uh%Ew>I_onOK2O( zJnb!QzB)Av;CbEzT%AGcd<ktMnWw$|WxjvDU!L=xZQIZ-V$>~TmTtM`#KAh7bR5-Z zdkZnql`-lTQP(R%)t$g`CQ(u!QIHKXl+;HEw!vM-E*#N+N1k^MM?!4E34wK?4QCqF zb_o=*U8Tq$En302P~_7}6N@+>FK#?8!E#7fV^R28vCgB3FVcUpKEjAw@czc)$Q(^| z);wM4g(F@k3v{8djfM(a@)QbE8c^7$>NkqWDeF*nNydFJP7T}$42(`C?huBYR9PGW zWzJ0#gfI+)n$dPbK$#y5NleEklfZWrPH1d9nX6m$dX*NjW%CyNwkBxAP>NvgM(WM3 z8#SkjuK}Y*s56co(((IIyWjfq*m1`?RCPIW=j&Y89b;y_nv-vD*G;3V{6gd^yASvL zY5X7HY*(WXh*x#TNZ5}&Z#OFTD%IqDYwzy;&2`-I6UNV)<5b*4-NTQNhK7cQhK7cQ zhK7cQhK7cQhK7cQhK7cQ#-qcKPbb*ccknH{lo+MXH&g={_PulH_Pq`836ZF?jnRF+ zTLlj2Ai)JSYerz(2tE*oC|P!q4jh>DSu8_X4PciLQU*|v$)I>N3_)IotD^}N;`$=} z(B0yXA$ySN*?zLWUU?OIhvq6AN|XGV7m)E$JW^i~O`o6;nH3(e<`fwc4+tZWCVDm% zx*yOj49NX}tgR$Wa$5)iZ90e%L#X4=ih^{pqZ_$d-C~gBr9&rN80=+eb*)4%;jz&0 xXwJf44eESockP?NF0a+fSQk5`5@Pl%?H^B(SvsE-XKnxh002ovPDHLkV1i1|*9-sv diff --git a/data/tilesets/secondary/pretty_petal_flower_shop/tiles.png b/data/tilesets/secondary/pretty_petal_flower_shop/tiles.png index f10306e7ad67a14f4def30487c2eea320ec595c0..daf4e05b421db5b6a33f035107cfdf8015d1d5a8 100644 GIT binary patch literal 1876 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 O0000<MNUMnLSTZ%8FA(S literal 1951 zcmV;Q2VnS#P)<h;3K|Lk000e1NJLTq000O801C(i00000kqk|&000MONkl<ZXo2mT zPiQ089ml^8tlN4MXT4<)hDGW6*25Y?Pi?{UAm55{z_X<^sJ`sjVX4Wb9)lCLr`5m) z)3mhUdTo44kxR{9O6zFst)XSp%t&kY(9(J|v8<IPucc9X2qkzk>i72~uO+Q)RA@;K zGvJSZ@6GS`{{6o1X$}uHKIj5NeDDoEt$0;1(u7Was&0T!EB2c(G<5AOFt!V*MtwfG z`Z%f)qZ7DVfQIXP7h<?BFRo{^*(Sf}=-4)*6R~ZKkN0n*fY>8>@d$K#)XkFoS2*oA zVmS^Xb}EI)?!app-o0`~aDlj_HTgM?okJ>R<?z}-I){NP>3vRz7#ECcng;%jiv>iZ zqf!LGnhA&@ZzlxGFIu;vd=PEaX?5$&x=yjD;~O~8bqo}z41(5B>E`!|$zKS5-sGq2 zGXpS;_(0wI<&F4de6x4qGQKY8cKuouHZ09Y+QH6p&Esno+;gJ2mJ?J2Wx>%iOTn*0 z#b!l04j<-&c~h3cX-EGDy=0`{jC7Qdez)q@Db#$sZI24m1mgmT))Yi_9R0A%$qc7C zOI)D1Fiu=hT2n<WE!&iE93q=__gl4r6Ajh%$D-&@N%Z8IsQ*)%9DP<h+Njey)^&=d zxV}RC2x2)HDo(zLp#!Bq)5MVEV@UGxGZELH{zhcQf<V^^bC#gnWm)3x^%o*Uh!7z{ zga{ELM2HX}LWBqrB1DJ~Awq-*5h6s05FtW@2oWO07Zg6>o2Uh*fm+F+Rhly!mM?Wh zzV*e~Bw?6UTE+sASZG)V-|%g`hLUNT-GG1bZg74pMZ+*~pzAuF6Enmtk<f`*eG3Ww z))r><R0jGji%2<{rkMwFSLn=^PyN&#FIFWw;>-rrs1$;88=%Kj9jc?eQ+APGT(WVv zmfXbQdr4QUG>#VUCXnB>XOZ`<1ZSQa!JIiyOwTv02S#!o@3_BO!MrV2%HBfc$r>A7 zMUt3Y6YDp~zrSW8Z_Q03pJJx-n-2`E$YruOzO^=jU$0^v?&{<^=EZvZL)N`*y!CB7 zFcTw9>k?_KUjd~BKZerYcZkQ)hNULG2lQiHu-5^arp2f*gZc}6$}E_nRn)5lg;Wcw z%{rwUW#+TaKOh2KTsrub%!EPwSUV4NG3F>P?R)1zxu^^t$*sRLq4IXil3RL?Qw5D0 z!BJTm4#=t!TQaoj=eo}WS=ida3=tSoR}=*8eh0c_^|tJ-S?;X{xCW<1HDBMCU1m-% zz%Zubbx_3drlRtDvSzth#cyq_PX2C@R&os=uKo2rSk?yRn6eg;-#SX;54S0<zl*}| z8kBM}y|#|z`{+aRpS^v!E0$emT}f{DQehJ)6||@nPoU%&7bG~yXf!(3jIpr>8lxw8 zcEq1wtDu6~XO%Q+$F9p&vjlhScE73|o0*S17n}Dt)7Y(Y3LjKU7Aj@82NloSA-<bN zC0lr1FhO_%=dmDzi}%uLxIGsuuy_7kf#bxoh>j{$h%qM%zf83C>q*Mo%4ZDQJ$8}a z3M^O)!JT%$il{D~`KShW^FFalIocl(Wp`-<-o{`W-qmFb+5A<9cy$0-PvGPP86Sh` zjE7~r;=$b}wnwrazN)~9AmR{ZL0i9(SBO37d|#G0w+|qfJMVt1N`-pVJ=&ZKlZXaX zv4lGOT+yhv+;+v+=V^rg$Rz5BM>MVO(rv%byU2D4`o(V;(k%TVk>~pLbJTb#cTh*Z zm@7O}SR<klMzE0vv{=Niw;cG>CZ#f~6Gb9>&`a!HV)5cdl=m)K@GCFf!)^b-#8ibY z@rpl-_>MP=dp$4t=)t`TcG5jBBJJ#WjCCDm#&PN=aIhu6beR^^Bt4Fk&Nkg)K69DO z8GjmjoV`u?UXfTX!ap2bg159dh{Hj58I@(ng?ZbrLZ6~k^f>WGoZ5JIh1l3&(SCQu z!_q%I4_UY6?(~`ca(LdeYtE92BSE<pLG45!Pf&-SJ6vo??`tBx%R@u(6(k@1GwThk z#6}`b5;(mV-WFDuqb%4d0vTUh*qM`20+|HGtDtGQV#j{l1Y*Qb1OmJek*nyD`hE0n z`)vzT)8~S<LTS7n@stPN!(&<&VIA|pJGN~EMT<w8cVsoS{O~Ccl!vzD=)TQU#bPmK zGe@Z{X1ZYQ+NkU@wxFrlI~EGDg%qthpLIo3G_J$hv}26j^cc&}fYcuun<^Dz@DsGm zIP3HoN}yA0;q?-Cid!;hWehn_{f@Ev!e3%A7SbM!GA&;nTHeztf-L3ZyJfD6P3*}! z`*^{}zU<X~T#K|U=f^J-eSP@&<zy0leV?u%nG8I9x)L;hPky2iH+p|q;}?&1lh%!1 z)_rmlfmiwbKk~n*I4{3%q40yuJnO6@r2O;p`{145$B?l_FCAh#X|gG{d=lG9lmF}a zDsgo}1lMx-m+!yQaDMu*hNEMbKjpPe{%lvR`zUkkQBB;OfunHL`dwoD1phXEn!wzb lXTO9uC*KsysIsn{`43NP^eii|7P0^U002ovPDHLkV1mjo!?6GW diff --git a/data/tilesets/secondary/rustboro/anim/0/0.png b/data/tilesets/secondary/rustboro/anim/0/0.png index 358745e4b2bcd731f9377bd807afe6e56cd25363..af00b97c7942a22c4d94d3272fa51033485397dc 100644 GIT binary patch literal 180 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDU{r~^}yLa#I-Me@8?Ag70 z_pVv9X3m^B-QC^A#l=ZUNkKtDj*gCohK33X3IYNk6P&+1`~{@!JzX3_IA$i#FcM~x z@JZ-7IWORt$_jzQKB>a~9Ldj8l0l@8umtlG#xo3@50e-~7aBGkbCxik8oQup<}`-h Wc2`Hg5Em7oQ4F50elF{r5}E+|l|G#S literal 119 zcmeAS@N?(olHy`uVBq!ia0vp^96+qV0wfsDXLs`gDLYRW#}JO0$tV20y^}3?m5R18 zcE%`7R(yNzWiC%<re%5qOGo$g8*Nz(f>sJgGDDbFNP02MWe6!sH}|+}$RLzp<(SrR QcLK;nPgg&ebxsLQ0Msxcp8x;= diff --git a/data/tilesets/secondary/rustboro/anim/0/1.png b/data/tilesets/secondary/rustboro/anim/0/1.png index f5a095b158f4e21ce69952950e416ed01481c4d7..20b1ef630ab3daa630ba0add04d4114d3bf0b9c5 100644 GIT binary patch literal 170 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDU{r~^}yLa#I-Me@8?Ag70 z_pVv9X3m^B-QC^A#l=ZUNkKtDj*gCohK33X3IYNk6P&+1`~{>;JzX3_IA*4vS}4fi zz`^X;b?CwU0Qngu-46}qw@yB?Wg`nC*NMhk;+L3trzq@uX2<(#8N*cOnoAxJUo25u Q4m5zl)78&qol`;+05f<%8~^|S literal 113 zcmeAS@N?(olHy`uVBq!ia0vp^96+qV0wfsDXLs`gDGN^*#}JO0y{8O?7z|ik0+(Mc zu=B0z^*%X$<`t3rX{uH3OhPhS9M-1XVr9?y`G@1g{AXzoHmg;b@OGLlRGVa~0y4|f L)z4*}Q$iB}O^PAg diff --git a/data/tilesets/secondary/rustboro/anim/0/2.png b/data/tilesets/secondary/rustboro/anim/0/2.png index 91f368cf84b162d4ea6f5705545fa13e2c22acc9..44c4b2cdc273c0231983b6808fc9bea28192731d 100644 GIT binary patch literal 132 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDU{r~^}yLa#I-Me@8?Ag70 z_pVv9X3m^B-QC^A#l=ZUNkKtDj*gCohK33X3IYNk6P&+1`~{@=JzX3_IA$i#;AG`# bZf0a?J?+zI7PMy(P>R9R)z4*}Q$iB}fNm`? literal 72 zcmeAS@N?(olHy`uVBq!ia0vp^96+qV0wfsDXLs`gDSl5E#}JO0$sWv1Z3n#>7(O-{ UGfM4`s|P9ZboFyt=akR{0Lf_&J^%m! diff --git a/data/tilesets/secondary/rustboro/anim/0/3.png b/data/tilesets/secondary/rustboro/anim/0/3.png index 91f368cf84b162d4ea6f5705545fa13e2c22acc9..44c4b2cdc273c0231983b6808fc9bea28192731d 100644 GIT binary patch literal 132 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDU{r~^}yLa#I-Me@8?Ag70 z_pVv9X3m^B-QC^A#l=ZUNkKtDj*gCohK33X3IYNk6P&+1`~{@=JzX3_IA$i#;AG`# bZf0a?J?+zI7PMy(P>R9R)z4*}Q$iB}fNm`? literal 72 zcmeAS@N?(olHy`uVBq!ia0vp^96+qV0wfsDXLs`gDSl5E#}JO0$sWv1Z3n#>7(O-{ UGfM4`s|P9ZboFyt=akR{0Lf_&J^%m! diff --git a/data/tilesets/secondary/rustboro/anim/0/4.png b/data/tilesets/secondary/rustboro/anim/0/4.png index 91f368cf84b162d4ea6f5705545fa13e2c22acc9..44c4b2cdc273c0231983b6808fc9bea28192731d 100644 GIT binary patch literal 132 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDU{r~^}yLa#I-Me@8?Ag70 z_pVv9X3m^B-QC^A#l=ZUNkKtDj*gCohK33X3IYNk6P&+1`~{@=JzX3_IA$i#;AG`# bZf0a?J?+zI7PMy(P>R9R)z4*}Q$iB}fNm`? literal 72 zcmeAS@N?(olHy`uVBq!ia0vp^96+qV0wfsDXLs`gDSl5E#}JO0$sWv1Z3n#>7(O-{ UGfM4`s|P9ZboFyt=akR{0Lf_&J^%m! diff --git a/data/tilesets/secondary/rustboro/anim/0/5.png b/data/tilesets/secondary/rustboro/anim/0/5.png index 91f368cf84b162d4ea6f5705545fa13e2c22acc9..44c4b2cdc273c0231983b6808fc9bea28192731d 100644 GIT binary patch literal 132 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDU{r~^}yLa#I-Me@8?Ag70 z_pVv9X3m^B-QC^A#l=ZUNkKtDj*gCohK33X3IYNk6P&+1`~{@=JzX3_IA$i#;AG`# bZf0a?J?+zI7PMy(P>R9R)z4*}Q$iB}fNm`? literal 72 zcmeAS@N?(olHy`uVBq!ia0vp^96+qV0wfsDXLs`gDSl5E#}JO0$sWv1Z3n#>7(O-{ UGfM4`s|P9ZboFyt=akR{0Lf_&J^%m! diff --git a/data/tilesets/secondary/rustboro/anim/0/6.png b/data/tilesets/secondary/rustboro/anim/0/6.png index 91f368cf84b162d4ea6f5705545fa13e2c22acc9..44c4b2cdc273c0231983b6808fc9bea28192731d 100644 GIT binary patch literal 132 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDU{r~^}yLa#I-Me@8?Ag70 z_pVv9X3m^B-QC^A#l=ZUNkKtDj*gCohK33X3IYNk6P&+1`~{@=JzX3_IA$i#;AG`# bZf0a?J?+zI7PMy(P>R9R)z4*}Q$iB}fNm`? literal 72 zcmeAS@N?(olHy`uVBq!ia0vp^96+qV0wfsDXLs`gDSl5E#}JO0$sWv1Z3n#>7(O-{ UGfM4`s|P9ZboFyt=akR{0Lf_&J^%m! diff --git a/data/tilesets/secondary/rustboro/anim/0/7.png b/data/tilesets/secondary/rustboro/anim/0/7.png index 91f368cf84b162d4ea6f5705545fa13e2c22acc9..44c4b2cdc273c0231983b6808fc9bea28192731d 100644 GIT binary patch literal 132 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDU{r~^}yLa#I-Me@8?Ag70 z_pVv9X3m^B-QC^A#l=ZUNkKtDj*gCohK33X3IYNk6P&+1`~{@=JzX3_IA$i#;AG`# bZf0a?J?+zI7PMy(P>R9R)z4*}Q$iB}fNm`? literal 72 zcmeAS@N?(olHy`uVBq!ia0vp^96+qV0wfsDXLs`gDSl5E#}JO0$sWv1Z3n#>7(O-{ UGfM4`s|P9ZboFyt=akR{0Lf_&J^%m! diff --git a/data/tilesets/secondary/rustboro/anim/1/0.png b/data/tilesets/secondary/rustboro/anim/1/0.png index 75bd2f8a458401dee20016931d523f53682b58c8..07471595bf8eb79e735ea28f955eaf74ff2c9586 100644 GIT binary patch literal 252 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDU{r~^}yLa#I-Me@8?Ag70 z_pVv9X3m^B-QC^A#l=ZUNkKtDj*gCohK33X3IYNk6P&+1`~{@iJzX3_IA)4=8FDch zinu)IV$^+8I{T~8sRc*YiY)Tj<+}amHQNq>{0E#)lb%K2tkSHHGqjOoetzfcQs#*@ zbE*YB>?AjT(yBFDmd%nXIgfj{>_zpwv^P>cTg+I*{zP!wXLw4V;PABBbJNpS`|BD{ y=YtozgxKHgi8^Cm@acZ(K7l*;=UUtUVBa&tG{o()&SIdG7(8A5T-G@yGywqD3}hq# literal 201 zcmeAS@N?(olHy`uVBq!ia0vp^96+qV0wfsDXLs`gsR^Dgjv*W~Mf(i7m<&Z+o(F6T z`<EtM#FU?KpgCi9+SIpA84jyWckonkUS9J}jLWjQe)dDdGd#^xE-@-SV={cs^)kox z^SA7hY5XkDdL*ZYNgXloTCi`Cmpzx=Pq`1t_J^v?ykZtikW8wa%hs`=V_QaUhwA~~ zInCQ+o782ey}3G@O+;$%!>A79YMZkYJ(lbKFV6PTi+d_^ALK?)S3j3^P6<r_RLDz? diff --git a/data/tilesets/secondary/rustboro/anim/1/1.png b/data/tilesets/secondary/rustboro/anim/1/1.png index 9f8b3a02ff84265f848c78bfe44de9b79a241267..408f2b03aa135e99a3e3fa3b40dfdbef833afd46 100644 GIT binary patch literal 247 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDU{r~^}yLa#I-Me@8?Ag70 z_pVv9X3m^B-QC^A#l=ZUNkKtDj*gCohK33X3IYNk6P&+1`~{?%JY5_^IA-d08FC$R z5ODo3%4DXvc1h>-0K2X{+o&9I6W=IXj|0jTjXKu1d#0|PUc|KT)yIkn_6ETdGuSR$ zm`la}vbnm@bc*Tow%vlYX`zN&Bu=hW<KFk=qvyVh6K{*oOqjV`yjgei<}>qbM0n;} sW*)HHrMkDN|HsW2tq&fm747@XZXaT1D6&-66X+TSPgg&ebxsLQ0P4G9;s5{u literal 198 zcmeAS@N?(olHy`uVBq!ia0vp^96+qV0wfsDXLs`gsa{VP#}JO0vVDepO%4LC_ZQ}@ zoztdTz}TN~$Z^Y3N9XOWdA)9*m8VZ=yCEedeD1*mk;&8N+v_`jI;iu5YvYkydz7kI zFF9)(>@BMO^4R|AizMd@^sbbi`(@3{tGzx!$NX*?c-T&Ry^F);t%vcCo63A`-wJ!* y9X}GTbz{}%96^hee{L5OTrECwrBBpj|I2W?-81mP=1*%u4)k>Ob6Mw<&;$T+pHR~P diff --git a/data/tilesets/secondary/rustboro/anim/1/2.png b/data/tilesets/secondary/rustboro/anim/1/2.png deleted file mode 100644 index 86075ffb0b7955064e20f4ad12b7b449678e4981..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 185 zcmeAS@N?(olHy`uVBq!ia0vp^96)Tq0wfsD?CqQeq#8V3978x}rk>l#)odWr`tY+K z<HCLJo6=56vdniAxwX_;G2kHks|U#`g*)#>Ynsk@I9u;I{}PwRoMe+pj!z}^UIcfw zPjUF+&{V8u_1q}#+}0WS&eeBZo8zX>T%z=EhsnOX!Fwc{o_@@`P(O|H?yfZ7dt1G` kZ|||M3)NL$`D4C>b@%$tr06`&43L{VUHx3vIVCg!0Q}xcXaE2J diff --git a/data/tilesets/secondary/rustboro/anim/1/3.png b/data/tilesets/secondary/rustboro/anim/1/3.png deleted file mode 100644 index 6e3c576214a9cb83b23595a3a12a392e79349546..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 192 zcmeAS@N?(olHy`uVBq!ia0vp^96)Tq0wfsD?CqQeq}n}Q978x}rk*q8I&8qhdZAw3 z_p9xjtCRmHXxRFAD#lu|FquAakS*fTj}5U@%T;8u72v3K%no@`-O+nx!AB1EHCBPE z-9I%Z=p9qxi*%W=Jn)y-*D{k2ixj@jw|pyOwCzr!bhfkg(~{DNcmD04vv(@4f6X&( qV%fYc3h%2`E{h+Vn-cN*{cnDwrWX56UysfQInC46&t;ucLK6UJW=Q}5 diff --git a/data/tilesets/secondary/rustboro/tiles.png b/data/tilesets/secondary/rustboro/tiles.png index fbfc72d466555a3b5ed8d52d06942a86648cebb5..c3a3bfbab469519db64233b1868d8c9370d06d49 100644 GIT binary patch literal 3938 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 literal 4108 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 KMNUMnLSTY>1sy&B diff --git a/data/tilesets/secondary/rustboro_gym/tiles.png b/data/tilesets/secondary/rustboro_gym/tiles.png index d4ebc14a1cb56abdc1f1a5d98f00d588ac3ba0d4..82ba1c51c887dd13ed16a3e3f99425e68a149dbf 100644 GIT binary patch literal 813 zcmV+|1JeA7P)<h;3K|Lk000e1NJLTq004jh001Ba0{{R3C=6{D0000mP)t-s|NsB) z?(W{+-p$R;y}iAxtgM`zoQsQ#b8~ZIVq#KKQb9pMF)=Y9ARrJB5C8xGL-gVL0008G zNkl<ZNQsS=v2NQi5Qb$vfk_k&>~xTbB1PWAK#ROZJjh<Vhzc@fDI%`!Qm~l<bSbw? zLBc7!mp*_Cq+1sS=n|kq*#9KUBq|H_58oM}kDrd@PdSR9sn_qAv4n!g2W%KAC<;Vl zO$rnOn6-?8Y7gWGMu4!I#u!pB;LtXr+Cr6*0AV$aNu++jy{?4@3bj!gv~Z@|-}?Y} zZNW%wb?R%i@9;l>!Q2CK-@=vc>A>ORLck~l_!h42dH|Jk72;<L7-UBtFw5!|2E!cy zYMTJ7s#+l)T0lBGQg60^BVGfp_W-aKAV%udb`u3B_b@ZuA0XIVjj~26XCjIY$DhW_ z{Q)tPAs~qcmWxymdjYJfSRF0kK>8&R;PCobr=}l}GR6^XyNUBW*aOA~hHE{!Njg5* z0NkpPKLt5kv`e@Y0BEeh@}%R$4dA5%$VC81c|2YoFK<NmE}+4WUy-UtkD(7#shWTf z;?!V~Nz_pXaPNIk-)0K(ftYY1y7L>r^t}gc)<`}m&u>+E@vLee#3|n~9RO^AF&;3n z)))l&ptM$&&dK^1qn*zO;KUgB#{<U3XpJBrNNWq}T+sk}q)wdM1t1@&^V>pQJQw7H zUcj^ktk+ew{_)5Rb{j!HP<Z)KkPmtRSO5TcAGCnRksLn2InryfP&3i9fh723{uycA z=sO)D-G_80-Y(Q-mLcK%IMpq1VtWH(Cgyo|Dg+W2OaL{{dI2)u0_-=fEdY_=a)yaQ zij<`yQ3P1*0!S&f_JH;}NAXCC1|V3PMCzTCnVe3$0Njr1SDv8^TZgA@0oX<wBLMDz zI?*~i`(kzgaQXnO80qzc|6`%Yw;uw$RH$_wfZPBcY5)rWF`kc^ltt~A3bjui02Tm% rl&FGI?g1cRe*G2IetDtVf9L-N&WEnxJg8-000000NkvXXu0mjff$U_Y literal 768 zcmV+b1ONPqP)<h;3K|Lk000e1NJLTq000O800H0x00000c=VnP0008VNkl<ZNQuRi zF;Ck-6vrP!C6-F{(yf)65731@(-kqXxl1J`YIP~AgSs#vI4`Wp4av7at;F}JimG=W z8X_X(mrr23|7XVp+z=vx)Kl`4eSYU$-uvC75`)&j1;*1s`VI7hyO$4x6o`96xkyT4 zjL_H^L*oxoMC0v$v4}Go7hx<#^N$L}HBg)a)0oO)08D|xT>>&I>DrzNoyI*&F~*Zn z{q9V0rs(04;*lbmDMrB1&DJT!x+wHFTL0suN`z);-{5M0yFrOS5(JV(V4bUFnS93m zHD0ao;2u`XrOsSz&{hy^wIM+u<V7;t!k8lnx@|OZq9NTHm0Yp}E&m=At_44YT%I8u z3tY>^0@r{aB!C_E$tT>W-zv?GV(Of$akFG@VVKif_u$;{GJ|joB*KbxjuG;5$Q69n zRHhJMJb@MlbK||ARD@YXMU*k+lLOrDAx=Wb^>uPk68mUIkq?2Z-ITn^Qaae>@{VC` zn8w7D$FsID@wxp&mcHGEniQXhAwW<{fg7Svn$8**-($=H^r8i<4KP-q(`gU{Z&#r6 zZjRcps_SVEu8aw35{6L?2}2=Kvs<|eH7?SS=r*o80qgm9NpVjd>fu4}cn2`Xk~QX( z;^Q3vO#%s1EaHwf0V2c^A>?TDUfkpU4b{KgW2Yrw!MeQCk$Gv|Buil(Kd%h`0XUn3 zyRg=h!-)Xki&aDs@I?=C4VyU30m17Qu(pHI2D7#_?Q30yFmj6d_iaeV9ya~ys#0An z^Y^^^xT^mx9+;Kw&=2_+tm6TSoLLlks_=<cT6<1jl{=??eCQ}~BZe06h3Am^N`zBf zK>>$AVgwRf>>j{V1;X$uT~WO>W2l!^YdzMAPv;H^HzM(EJq{Idg&)Xie2$IB=Np0c ygFySi2KI+;;VSeM7H8j`d=9m4q;-2$)$K2bp2_^nFt6zV0000<MNUMnLSTX(cWGb% diff --git a/data/tilesets/secondary/rusturf_tunnel/tiles.png b/data/tilesets/secondary/rusturf_tunnel/tiles.png index 913935f77c6dfcc16f0d866fce7c9fd4fff51e11..8d6d13c055454941e53b47262da0f9f08c391218 100644 GIT binary patch literal 2180 zcmV-~2z&R5P)<h;3K|Lk000e1NJLTq004jh002k?0{{R3%&Xub0000mP)t-s|NsB) z?(W{+-p$R;y}iAxtgM`zoQsQ#b8~ZIVq#KKQb9pMF)=Y9ARrJB5C8xGL-gVL000ON zNkl<ZScRRI!Ef8v9mn6r7O=(!vSP@w3!ON?vP=AI3nsn!AlbPlwJ8B>fdsBZ9-0BF z8Sw$@I{gppNlLdvI1JE}axpUuCFNjP&=rv$1!FrHu|+~aPKzV<GFPXD{XI$|rLBj7 zKSKs3@qPGv-{0^1enMyzo)7;-31e(x{2}{F{=l|nwBUwc%4+U%d8aIo??pF-!=E#V zzdt@a9DlS}t@aVZhG{k=34i=FgR8&CJLqNgm_v3epKJw0FHQi54c4i$7uA+?^XB-Y zm(}VY0U%0}Xq%=ojs;rv&?!B>9cV!i3=0UA!n=RguGJpZ>s9IKpW_S`s@1B~N6#Sz z+pwhx;FLDq0c|?@pu80X7cxp+32%S=!l>4)M~{rAdl)6~h3lbB(XuzJP4fX`@*d6R zPO0O*rp&t+Xm^9)?oTFw7OhEjT5nj)J)0;{bpe1ojfP>H_6Ihm^(x)zHC^|#$-GLS zUAz~(`)vfUEz_#iYR{iI5#SFl)B$f;wk3(1lP&a^d+NJxKL8ExUc5I%sjHy~XN+~k z`iAj@xq}e!ro~+M-_^cp+Ko;l7P05L)MH%$l(#O@9DuK&6hZ)|2K;Rfd>?_l!2s5K z)vDKMNRUDYg9cyiWwSdAuz@b69IzYYw*Zj7Rr;iap16<bmo-XR*R@B09#7y4Pi%i_ zOP!|qz<y5aHTq}hf!-;l-AYit*cyfa?Fs<Qmj)KA#^<fx;A{l&eE={|YJ!NSg(q7; z3-rk;Jf{*2gWciQe*loW1%PI4!!T;K4d!(J6#^DtH~sUL<6#Rz!bSvuMmS}xdoLK? zyGU=9QR-GnJ18N$PAyum(_c95s}X=QA9V0UZ15CBMUiFDActNzoq@}``5+)czEb8Q zrU1~X*_4-&4P18wa9sb5<My#3ifvoMayEknVQCG)4Zhp!t0Wl0Hk43A0K90i=Z$)U zZg$52?#0CcG?IuvZyH8aM&!F*A1WoQl>mf<R{p7WMJpl3`@pJMhUX7PfUukT2tx`O z92Ef;eLu9bq6R~v0N_UI765vTSq8MS?To&^#J&ADxG*TC27kkPtrj&5xtLc~wJ0km zg`H2oCOYp#4FJ!2jk;kpsCedMgx;BW8==jH)nJYbUFEY5T<_|YN`+L4zt&m4-8&(n zhybu&igw$w+sz~Y6+)4>k5Q-7v0Hu^17>$xx78t!Z%;n`)jzD}XCxF607o@AQ5vnD z)dBG?#ok7&WxLGhs=W1k?C4p(0^(IFLsDS5#@9T9bSUCWtJOWTkIv3oE&yV0A3L3n z<9@>dfj{UuekHsF{m%a45a&b>I}re9HuC`B_l_J7-bCJZ!Beh3TJ#nw7y}-Bc=FrN z2njop1DFFDI?y6;h)jEX;Q9V20Z761BY>(qgq-jyj6^&F_yAsTR-Dgx+wOHEz+3oY z0+0zQ6GEa+w14SKu>6(j`zAOx@-~A1;~fCNw(SW(A%&f?$}<?*SrCNl&}YT>g(U$F z)X3Y%&_~`60aQJkFXTXjd|KspURt?cz&L}~-d_>WrP$jpnDhq$q@2xV0Whbg%iPWa ztY2M)DYlLU^iJ&U0rYSTVEiB%0}9!ktO7tG#gtY?LLmdsUxnAcFyrmGiU5G?7_hAp zu0c+@GpFfjc`pOchgT*i%y@em5DcdJpqL}N4jMq@G;(KI&S1O-Tfp-EjJF4I8-xdC zeson<b%lf(gaG|cQQpIN7YJ+0{*1Su`H;YH6wr(3GJ$i55IO1th&i>0in7e}$2bqr z#n{^jg#U)Shez-orEtGWM$<DzU?#z7ljVsoD|=kS)inZuAI0A8bHF$OwE}No{pvO! zW&~+C&3`}O@E3@{y8sfvd3_%(OnIBxc9&<MLxg}7#@l&#JT7S%myjg#RT5s#!t;3< z*Y%|tZ!_k2Lv<XWE<6`+%O#|(tFTZ-_~|ultXwkz02=H<Ba!{k+vj6%!*S;6;~?;6 z9&RbhD$*1HtScofiCA3C;$o--s2Bpk*Kfw&hU3tiB%nf5zz$%>s7U7kMJZ*%RTvlL zY}iL(6&7M|_n{fR$&o$+tb^x90Jti_+Eor%mSxC)cXdtSy|L)ST=Dw|j(F39+E3zl z{`tdgj)H>-Ith@a@bOT}WkvaDmtW+_0U|`hQKSh$Q}Iw90gy&uJqa~{;e(fpyadn) zw^ad2^siHZuz8{=bAZanL0VBX3|lY_6XxGCuOZHCgNO&nH0VbwD*}&|_1{ow8j#Av zlc5Dc3th!)d5mw0(lx^XHx~<;Rd^3{+7=Ilt6?nNXo@D9*+W)`V}NI(YB;B^T*LTJ zPc2-?uB(OYHrWLg(I#y?zIydC#E;)iw~d)Cq;P?dhub9%;4d+(zho4$idx*03I7Zk zmbHF)9GcN?&H!>?<7`e%K?PF0j7B3gLt#fz6*&ih+yRoniOOibN<~qe*#Z|Zr<4#c z4!p1^nvjG9WhB=XA`lKRs3lSYbyjuSZWspo@0hAA^g-xH;RX=|Wq(B=MEIZk|Ie7? zbKy?X)v$gv7ZMZZCUYSvAesyJldYeR=R!h2JQtFs5X}WSF<>+o){4bsdzg>rf}T)> zcrM&emO(rhk|i)7&xK?eOwEOafa$rAB<7>Jpe6)Fb3rX71H^M7(Rwr=&xK?e%*=&E zfXQ6IN>adNF65GlFf|tvRsrS${Om;}DFA--A*9?7XU6wl|2x_}OFLr#0000<MNUMn GLSTaXxcY$r literal 2228 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 C5K#00 diff --git a/data/tilesets/secondary/seashore_house/tiles.png b/data/tilesets/secondary/seashore_house/tiles.png index ea48f50061284bdee455b0c21f724926fd010657..14100fa061861a9a46557f4400551d7f5bbf8a9a 100644 GIT binary patch literal 1147 zcmV->1cdvEP)<h;3K|Lk000e1NJLTq004jh005u_0{{R3HoSSx0000mP)t-s|NsB) z?(W{+-p$R;y}iAxtgM`zoQsQ#b8~ZIVq#KKQb9pMF)=Y9ARrJB5C8xGL-gVL000CA zNkl<ZXo2mS!E4)A9LJ^ZAJ9)v%nNpGOD^3ES<7?6?uv9+E`t@)>(~a)$(Rl@1qv<e zr80w+<P`a0*loRKmkn$v-i|he^st@0k}}9H7R0a-Q#$SU^ekIWE!)Yi?_;F*c=&zv zeLv~xB1uAA*F#*FwWWe-l@Mu!J0jMvc@yf=41v9gM1t>p4(pF5)#}g2%oJGb$XF0d zuyZf`)#^JBq8}GPjLS<v!IM2aSf9_oSF4Zb?{I-;7^Y>Js!l9xo**#+F${_VYh#um zoWAGIO+aj$2{e-nKt*N=5)){)jZ3fqtWaP^RbRdaTo6Vt6+SW9GNc(SN-z@qsV4~% z6HwdMB7yI3CJGW0lmP5VU>L^L6GXReksvuiOkiU@{#Sx|f~6ARcF0~ifj}S-2m}Iw zKp+qZ1OkCTAP@)y0)apv5L^rX&0e};aH3&C%OAdKeSpm!qg*9ahAEWse7VoQbN`{- z3OEx1(+zkN5ULte=xnMI7rgtHz&p5T{6*-q?~jjX3(`l61n%I1(5H{P!4Q{V6$;_h z!bWMy1m!P+#=l{LpgJ?bJNfwntUzF}CKwE+1%-lz7ne1v%ui6Q{!?a6P%X11Sa$eb ze4HTt>sp%$PEP@{S%s`~B7v&M@0zNQ5)>?630;<3?R1L;0e&JhK7r8Or9_u&kb!RZ z`D?ZYT#2kwjQsGS<DZ?KIcJXV5W3pq#03S5&n}fVlr##C1112CsuWQ0b)`}%|JJMY zDwW>}O*c77334dt@C1PKO;)rRZwoYg3Nr_pZs#Zzs8pj&FkOR8movR(CZwSakYNH9 zYoM_jJUu8H9-)mv(et<<+-2kYYD)2b27Y$kZ<Wyli3g!W+<iqtgF6Nju)7%Fop>QB z-k0T{g5ZG?lTwchhK9-nY<uUW7_u_mms5{|`wCkdTMK(3Kwi?-ut6rhMW`95{{U@W z%JyH#TW&tJdzW3J+sxy@G6FbS88-IQAp0-h-26Cr>}>yy7tVB^|LFJLOd=?A1i8lW zoC$hC@z5SP+W{90a9}I|nkdMr5Cou~1N2|MSg|kk-Oui_N4@!4$ARd%qhyZYJ%DfY z^YVJOcR~+clG^^XT>g@FnkgLM&*d!&pC<~^s`+G3(~odZ_fFu@1{AOdsM8DwMtlT` z0@%C>>{#{j|NDn_3I%u*+MQ+=2gd(OF5+mDm?MG91+7bhIYc43z`nXbHdz2oS@m!C zP7YA;ekk|_1-F+Igxi=X#w)*nTJ&m$v-_2FV{NV5QvJTMcs>f)nJ6;8n^!z<-*Fr) z7;fe^4kVW@L9k_CUm#`uQ+dl)QqFxg+U+Vhu*7_Pqq8&K=WA}~{{ZD&y80Awg)RU9 N002ovPDHLkV1mzl3{n69 literal 1280 zcmV+b1^@bqP)<h;3K|Lk000e1NJLTq000O8013bZ00000Ot;ls000EXNkl<ZXo2n8 z&uiOe7zglYr6g?Nf_zzEG-N()hnRqK+)N>c?Xujm+aMP!r-l|rluO47fp~$H;FAs8 z*tLZYcIggsd>^S_)&{bbT5?>Q%)`>Fe_)aJeO}qI<2WXPZtLNFp&uT-d8!|;zLGDZ z2!k$xWtrv>5`(&qQzg%F1bMbCsB7C*GEK`GLiJTDRiCLaT~Lu@_vd<*3hgshMxv2w z^{T=?twxYcm1-EYhe1y<;>`g*1{oNaxzsCRVbERP^IcV0)@F~*ZL0@wsy=lFs@mo` zg~crjwRxrEniy1iSb9kKR~lQPZG-zZcy5E|##d@r`IVIw%9plEl;0|CjjdGQ3ioaC zT#4t#RcOm|U!LdkJU70&?DeW}DTHlzsV3$4L{vC5BaDRMYSe#5xa#k@xOsanIgZoA z=5tXXy3LEyd5+hezyFKLsXJ3mNZp{CoVr0ZIdx~M38}k!{xlkmMx)VaG#ZUYqtR$I z8jVJy(P%UpjYgx<Xf&EP68`WmOd7@nW@jaT<P?!%ydPYQY&HWraU6$U5XN5@;qeE0 z4);wS>O;QQeZ8J2KL<FtC(PS@%HQ|r%Dd#dSdyDdzk4{zgh$h>?|Nh<rahw7w>(Oa z<I(QhWiS3_QIvmkNbtpol`j@Z+_{(OReXKCyST5s>j~lm&;mnK49_JJV7CmU^j!+M z+2{Q!!b-h<X0u|)mD;IV#BtPWaaBLpSKqIVHdpHL{(_;e+XmF@mEk}1S2ASUr`6ve z?1J`36oyOLxG!LqPpbwaP|`sbw3mVi*9)Sq2$00CKqY<Pqw;w!4Ei?@jTHJKB3~eh zLRKT{3J`WhG}Pw_T(2kY-v{3m`G%JJb9eYoPx0M1pU3M`FlJ_`SS)`?WsG?4&@nyS z{lgw=Zl*9(pj0tc9O@IRi9-^^cYn(9F^4;76hQF<P>ydXFwHX@ak5{fQYmWZa=DmR zCX<PAdCw=Ok4B37a@?ZGaLeF^HvWzG!60jju5H`#AtMiq9r^vmR%cMJ^fP1+`p)ie zBx{rUT*P)i82Y+$+;LkHYtUwnVp_bJmH5La7NYklp|A5b-MWtE1>}wvxmsKXvIVR! z0c|l4c#i+C-;#Nf%g0mTXqAq9N#IXOZNIuna_=SHe=VHL=Q8Wk>Uvw!)D1w=y+QIT zu-$c+<G$!bHYjQ)=P5Miu7MQ40FrZ5e%ef-0<R1ZxjwS{#A?vXU+5kkuGtBiKeneS zE!Heb%Qc(Q>j1lpsI&7pqQawh8h{$)?)><eyw0PaNHQG;Yse30m;tTD7%XH9N&HUq zRx-?F$;Sy&uF*`=t<P|7w-O+C-A&SBuG0jPX*T0<%`?|f5^vMoJnmpBjVB<L#{N?2 z3o@kc^x#Q3-+~7_l6W1u!lM^L{(!z;xlaaf!Y|@~%HRPDtEfVLRfPh77(#-<17X|U zfL|@VRwH2jRJeLPOObQaNFs#%E3UqNZyK|4L=i5;Y~2R8!R(>ALC2=KPRCE|bp+E6 z;)r%m6V~|yIE9^WsZb~cF`dGLD2`~PUiv*g#xV{KIE0x#Dwv3<3Rj<Jlv(l(%4Cf` qLDPsMs=_rO=>Q|>GaL1OPW}Pwu^>W{LWw2-0000<MNUMnLSTZ0UU9Yn diff --git a/data/tilesets/secondary/secret_base/blue_cave/tiles.png b/data/tilesets/secondary/secret_base/blue_cave/tiles.png index 9d820463bc01cd85caeec97f110a318bcc7cff08..ed7126297cdbf9ce7bb129031c8913c27b662e33 100644 GIT binary patch literal 964 zcmV;#13UbQP)<h;3K|Lk000e1NJLTq004jh001xq0{{R3E81_30000mP)t-s|NsB) z?(W{+-p$R;y}iAxtgM`zoQsQ#b8~ZIVq#KKQb9pMF)=Y9ARrJB5C8xGL-gVL0009| zNkl<ZNQv!LOK#jS4D}U+*azr%wka@{40Icd0=ntKu!!U$Jwi^^9${8Nx6Pva^a|}G zDcO@rvKbU8P?R2yKA@gS>XB|5$S(*(DB&+BQ_duNKIk)Y@GQF6I&hI@1-R$ved3J2 zTqa@_VxSO5KL86l_(j%%V1EZa0pJ{Ph+?pZfYHN|$;%T{9(vQ!c9?I^Jh+SEySz1u z;=E3Jk|%GW#YK1U{xg8QhE*j~pYALJdoeeSspde}8-O^ly+@R23YG)jGk-1^F=x#| zS+4-EIY4kh;!Sx<>u%s=IXDYpDJIneaR4ri8ZXfr102ngg}T<mBJni`a8NRUY5Y<| z98IS@cmdFLohlgs;+5%C0Y<@Ilm{$acmXiavuXv944eZ<7R>r~^PuK{ol~_4;;0!Q z3VQl@JgV==g4*7lgpkMLfODOw0Zhps)Pau`z-~KjJg5L{Y3bZE0MDV5@dL~GuK+05 z-RgO8VFOTTIN-^NDnQ)xO&KddA>7rATi{6Qz!mj3q7r!?_Uy`7A~+i5XSede*ZPh* zb#T6}yPQ(&0U%>QE>=5+U56}N$v0N-fuxubKwH-b&M597*{FQbeHz7XZuuSy{2D*( zAibAsOwL8Cc03)6#VDg>q3#O-#7;_I`c5<K9v-f*cfAlP&yM=~xEv&VHd3nlT<nzW zcxiL}UFAWOn_Q@|`c7ZGw~^SN_CnaLJb3^3`1thn^kWGMO*Pig24$j+Bz+;V)PT9L z^@C414UBJ+RJq?8tKL77Xk$WeOp71aKCtm%`l+%v9<Zyi>itLK0USVYT#&OXsui>H zAWuT0JsS_Yl?QtNAW&NX{7ATgx%Pp1@aiBpoTuGxpV)XXKj%R|q|qYKng|H20JMY~ z^>}YnV|kqih&mg<4Q_4mhmwQYa~^i`-DqlE>sR459wd!`-*F4(fPt1nDl||4&BvQO z2xfR-*T&Jc#et0nwXWafK^zI8@nLpMs1@y4S0~?vnuE7^fO(#gkqJ!(hrP__)9*sP zPyG;{@jx00=1KYkc6e@kD*a;nE`S~)qcn@=5-H4x7Xy@To-YQd$@qH!|3C;Uqb`;I m0Dl0WD^2cV09WMF^S=Qq$kCW`ZfyGi0000<MNUMnLSTZqE5FD9 literal 905 zcmV;419tq0P)<h;3K|Lk000e1NJLTq000O800Ni<00000u5AlE0009}Nkl<ZNQv!M zOK#*g6ns~(_p`9KfmeNmnN!UXa*+-m1ukY2fTX+~KzcF|Z(GU%)D2!CQ$>B;w!32` zm{kxh3Qtst<l`$ADSzRS4Y2i5JfdGUA#$zgJ_SL5wiHwls8j(E31(<hXOU!^|3$b) z{L0@zl+>nH@PC><gq1f%TY2gthct;C+`=*>f;fNG7^gp4LQhKK#A6@!5^E$A5d!K) ztTl|5+9<WvCVlMVwYCOrjiC)o(np8Eo5LPs956LkW0_(+h_<HEshYU14^vv0#a{H+ z{k$amvMw{Pd&kpPyoz(N3UhG{=Ax;JECni)oMSz(U;*iG$fIK0QeO`A8=}2lncvLQ z^IBe*-_L#$JAHwoHP@5{(^-U?;+t8$fG3Oq&uGl^hjARmdygn*6`%7cxq!tir`SJU z=lM50M{&gk+yy8fBE@hHsiEMgIut%8h{kn*Sy#|xZNZ^#P_aEh#qEe*9@$l%drs`C zUZG`wzXQIX_xA<Qzk%IuH^Ju>c7(Epnia}xDn)sz2kjwHYmPeAK%F}3RH;+dBjLoN z<juO;s?!&ZTQ>~S4G$0Ue1Cs0f85>O$+z3vTd8kuZq9ha(3?Cz550i)AYgnFaDNfd z4%}9Oxw%PtY0bA{zRni?jU$rrJ|89IoW%Le%ro+JJ}&uc{wMyjscm#2$dh94*CQ;l z&oF5l6ZCRy&-IdeiYs<O+DUrpumWH4!BI4MYkw`YYqOq<5-H`V3k1Tedc4mgP~#Qa zD!a~8YRKqy7Ebg!I9zP#aF=)d4A{A>hySP^I6C0AUsJmtS?;p`l_RF;iZzenicVe4 zL(|p6hdznL9u8rlT=m^I`U{uz*KW`EXX|gXUW&Q(MSpf#f5o(pBsYYb&f15_ap`}l zDdW-;%VE7-IwqJe1j_W`)K-s^KU))R_D<df{?wzxbg@mJJa{$DypM=XJ#w?hD3v`y zYlf9f4S11z8uoAEkL!7P30{x8oIUh9PhC;Fo_aoET|C$C#P#cpheK_&$Zl9JEbn!I z1;Qi`%l#!>(^X~Ys?{@!uD7N0SI`<p>D>kG_3LhR{=bK<_s;*}zYW*-M{#8WZd&;R fUfDf`w{hGbx9EhCeRr1600000NkvXXu0mjf;6J%E diff --git a/data/tilesets/secondary/secret_base/blue_cave/unused_tiles.png b/data/tilesets/secondary/secret_base/blue_cave/unused_tiles.png index 1e42fed54187c5c229c51b755bfb039a943219ff..ed7126297cdbf9ce7bb129031c8913c27b662e33 100644 GIT binary patch literal 964 zcmV;#13UbQP)<h;3K|Lk000e1NJLTq004jh001xq0{{R3E81_30000mP)t-s|NsB) z?(W{+-p$R;y}iAxtgM`zoQsQ#b8~ZIVq#KKQb9pMF)=Y9ARrJB5C8xGL-gVL0009| zNkl<ZNQv!LOK#jS4D}U+*azr%wka@{40Icd0=ntKu!!U$Jwi^^9${8Nx6Pva^a|}G zDcO@rvKbU8P?R2yKA@gS>XB|5$S(*(DB&+BQ_duNKIk)Y@GQF6I&hI@1-R$ved3J2 zTqa@_VxSO5KL86l_(j%%V1EZa0pJ{Ph+?pZfYHN|$;%T{9(vQ!c9?I^Jh+SEySz1u z;=E3Jk|%GW#YK1U{xg8QhE*j~pYALJdoeeSspde}8-O^ly+@R23YG)jGk-1^F=x#| zS+4-EIY4kh;!Sx<>u%s=IXDYpDJIneaR4ri8ZXfr102ngg}T<mBJni`a8NRUY5Y<| z98IS@cmdFLohlgs;+5%C0Y<@Ilm{$acmXiavuXv944eZ<7R>r~^PuK{ol~_4;;0!Q z3VQl@JgV==g4*7lgpkMLfODOw0Zhps)Pau`z-~KjJg5L{Y3bZE0MDV5@dL~GuK+05 z-RgO8VFOTTIN-^NDnQ)xO&KddA>7rATi{6Qz!mj3q7r!?_Uy`7A~+i5XSede*ZPh* zb#T6}yPQ(&0U%>QE>=5+U56}N$v0N-fuxubKwH-b&M597*{FQbeHz7XZuuSy{2D*( zAibAsOwL8Cc03)6#VDg>q3#O-#7;_I`c5<K9v-f*cfAlP&yM=~xEv&VHd3nlT<nzW zcxiL}UFAWOn_Q@|`c7ZGw~^SN_CnaLJb3^3`1thn^kWGMO*Pig24$j+Bz+;V)PT9L z^@C414UBJ+RJq?8tKL77Xk$WeOp71aKCtm%`l+%v9<Zyi>itLK0USVYT#&OXsui>H zAWuT0JsS_Yl?QtNAW&NX{7ATgx%Pp1@aiBpoTuGxpV)XXKj%R|q|qYKng|H20JMY~ z^>}YnV|kqih&mg<4Q_4mhmwQYa~^i`-DqlE>sR459wd!`-*F4(fPt1nDl||4&BvQO z2xfR-*T&Jc#et0nwXWafK^zI8@nLpMs1@y4S0~?vnuE7^fO(#gkqJ!(hrP__)9*sP zPyG;{@jx00=1KYkc6e@kD*a;nE`S~)qcn@=5-H4x7Xy@To-YQd$@qH!|3C;Uqb`;I m0Dl0WD^2cV09WMF^S=Qq$kCW`ZfyGi0000<MNUMnLSTZqE5FD9 literal 903 zcmV;219<$2P)<h;3K|Lk000e1NJLTq000O800NK%00000LOzL60009{Nkl<ZNQv!M zOK#*g6ns~(_p`9KfmeNmnN!UXa*+-m1ukY2fTX+~KzcF|Z(GU%)D2!CQ$>B;w!32` zm{kxh3Qtst<l`$ADSzRS4Y2i5JfdGUA#$zgJ_SL5wiHwls8j(E31(<hXOU!^|3$b) z{L0@zl+>nH@PC><gq1f%TY2gthct;C+`=*>f;fNG7^gp4LQhKK#A6@!5^E$A5d!K) ztTl|5+9<WvCVlMVwYCOrjiC)o(np8Eo5LPs956LkW0_(+h_<HEshYU14^vv0#a{H+ z{k$amvMw{Pd&kpPyoz(N3UhG{=Ax;JECni)oMSz(U;*iG$fIK0QeO`A8=}2lncvLQ z^IBe*-_L#$JAHwoHP@5{(^-U?;+t8$fG3Oq&uGl^hjARmdygn*6`%7cxq!tir`SJU z=lM50M{&gk+yy8fBE@hHsiEMgIut%8h{kn*Sy#|xZNZ^#P_aEh#qEe*9@$l%drs`C zUZG`wzXQIX_xA<Qzk%IuH^Ju>c7(Epnia}xDn)sz2kjwHYmPeAK%F}3RH;+dBjLoN z<juO;s?!&ZTQ>~S4G$0Ue1Cs0f85>O$+z3vTd8kuZq9ha(3?Cz550i)AYgnFaDNfd z4%}9Oxw%PtY0bA{zRni?jU$rrJ|89IoW%Le%ro+JJ}&uc{wMyjscm#2$dh94*CQ;l z&oF5l6ZCRy&-IdeiYs<O+DUrpumWH4!BI4MYkw`YYqOq<5-H`V3k1Tedc4mgP~#Qa zD!a~8YRKqy7Ebg!I9zP#aF=)d4A{A>hySP^I6C0AUsJmtS?;p`l_RF;iZzenicVe4 zL(|p6hdznL9u8rlT=m^I`U{uz*KW`EXX|gXUW&Q(MSpf#f5o(pBsYYb&f15_ap`}l zDdW-;%VE7-IwqJe1j_W`)K-s^KU))R_D<df{?wzxbg@mJJa{$DypM=XJ#w?hD3v`y zYlf9f4S11z8uoAEkL!7P30{x8oIUh9PhC;Fo_aoET|C$C#P#cpheK_&$Zl9JEbn!I z1;Qi`%l#!>(^X~Ys?{@!uD7N0SI`<p>D>kG_3LhR{=bK<_s;*}zYW*-M{#8WZd&;R dUfDh5{Q!NkWU<@~n-u^6002ovPDHLkV1gdRw<-Vt diff --git a/data/tilesets/secondary/secret_base/brown_cave/tiles.png b/data/tilesets/secondary/secret_base/brown_cave/tiles.png index a1c8bfe72cedc05d8809660e05d398ae7df03d47..7beb706d90bdd13e32457b41c1c17360bc7554a6 100644 GIT binary patch literal 1128 zcmV-u1eg1XP)<h;3K|Lk000e1NJLTq004jh001xq0{{R3E81_30000mP)t-s|NsB) z?(W{+-p$R;y}iAxtgM`zoQsQ#b8~ZIVq#KKQb9pMF)=Y9ARrJB5C8xGL-gVL000B? zNkl<ZNQv#0KX&6b5XN~0Si}JY$mJH~fTi;ug~0(3VosYJ!Bt$x&DP%BAlYvQq$MY* zTy3#<&z1;rewe=>h5_pztP=}XBeG8+TBLtT93oGSi^CFeqdw1}zb`TzfMoWiW$I=J zfl`j-yn+}uxjGk#b4>CtKvDaw2ap|`DJr4DZiW3u6arBrb!5C=sC4^!4``IYXGR!| z$2ovdIh@t=JcpoL(IR;u{trOUPX&Mx)=dN4X86#q(N}no)m|h71GuzjK-wLE6Dt7e z60g5ynn@6mm+BgYZV*^salAjucn?65^w%P_>Q4xTYEG=QHt!ziWPluw=Nq6g%$zv* z>+x3`Gm^3(h0+>#fa4_rk2vXgHscP^<HZ0Pv_{f+5vxI_$KUp~SwoDL1MP(yz~b)! z_)!(0bqxTtkAQjrv={CG-dar|qHZD;QnEzd<a>bVdl!AF+yk1$W{iroSrj8;$oGKf z=jR=e{s&+`_}vM7t1#q+)v=aufYR%zrIC9;(c~MTnlT{0Fz2(vqyv68fVuggh5iU| z7DHv%PpBwl<DvkBljj4F-T^g#0IcRa3d|0bV=BG~3bCD?HX_e^1kcHu4FL3j0Wf&i zh}rAoUbBrYQ%Jp1c|u#DEBV;x9dObq#Tu|5Fn!c}yxNQ50?yb4X3~tHp^yF2?5I=P zR36+mWU`eEP~8Xtx<D~#^;+0A0ni$z_t^KsnyXVW)!1mrFE1}oPftlZ6yA;qC}mX< zWYGIOVH7gPLXLf>^+&F>2Q~=T@bssx7fF2-G#ch>@C={Y+*a38g+#pX<DCXicf}0D zFR!n!Z*Om3C3hD{--2$A>QcrBNC={uO0^Ij0s!OCgKhW%YcT$hEg=UO5ZK40$2I5Y zb56dLu@q=y*=S+ttFPX_15U%^-`}wQ`c>emdY}$ySsJR;X6ONGJ2u^iu9lIVvzfW+ z!7Mh55da&8h+4w~oKQW_ss}b)E*2=1)X)b`g%c5FT85_jzd@y2u@-^mlimfIE6$G+ z&iH}{LM{@m(Tc6&pI{E#K{1q26cz&{Xg;b%UK<#9M4U8f;wI?RMiX@p9xmveIjXE5 zb1nMM^p>>c7yy(lOHL*+Zj}-DUL89iCfqZRvIAPb)eJCl*5OFJcEExnn!c>im%O+g zK-}*M+zZECH`Q_g0?tPfuaH8NqAg(uoK;_{J9PkGm*ZYI=DMK3cn`N`4%!O|DL|s} zup*j~qp7W%!(^A^?Or(Mnr)hKV-Q<20#NLFBB%qNDQQFGSuf6afc63HOT}XN%;G($ uPXpY(egb|3z^9CV0)7+#+c+|R*8V$wyJ~x#^rCJ60000<MNUMnLSTYak_f&4 literal 1166 zcmV;91abR`P)<h;3K|Lk000e1NJLTq000O800Ni<00000u5AlE000D4Nkl<ZNQv#1 zL2~0Z5JfvTh`r9nUOOutAvtY>g9D%;RgISfs700*p#y+6u8{l>${IQ4(Wp{crJ^dm zqC^nrZv6hB{E3g;fLlMWrYcE+aDo$jBVdUzQD>h2Wn2X(E^3pUe3KLa>rg<osbtO< zGq6}zX=Yj4f>~O#00jKks$#HWKFwGoC&Od78=T=r#k1Z6mE-b=s|;e&dBhV_0fq^P zm;j52cMOuzzr)K&%p;PSvM!jwM{zlg2;2$~XGvx|v2tv(ovRniSS=Y~JLECj9$7L1 zd<SV*j#p89V<FT{;+#!Lzp)yKAm>tKDn$if;4&a44H#$1nG;N9#*M;clt6siY-Ftp z)@ZX};&uVUpOQM%BR4}KvLTOUdq9cbGE1C#oeL0&C4aKN`mt7@!Jk1fpnl)t`?o*p zxDYj@p*C^M%|S^Ls#au<yF1iwt=|d#CklaYU4gQAUM;J*PFSDd4dr0!l*rZ$PjHAf zW{D*$^KD$WRo`betV``0726Rwq@IT;;`8bqBE?;2kSO{F2*85hg60_|m_d3LBBTN# zL0nY|F*AkOx3&UDE`DSfN5%|wzo69swRbcZ0VQgj@Duv`9iM-K&1SRWw=*`x06`NT z&~^g1XQ0qiSoOyWE%uIfAktbj;Ozpp>graVqSdx+-2y+zS>n^vlRQ5@KFZgJhX?uN z{{CKGe!9Cuf509x-3P;xJU>4t!LTR6h+hO_f0ettpTAu6)(R%5G&hYXgboRCiP}J< z&=3;zkXco~yz7OspkMW?)d~n0%|UECCqWe5;TZU~;AclJQVs}m&ImH{iGHIPoMBG* zuVl`$z!TGg>37uuP?A)GAurr0Gl!mmrdXV~nzZ+BFSW)!1Tr~kaYne)5h9%6e|rYG zXU_l*8pmV1<`87%YBdBj3HOMe?GYAi6HCHk;mS1W<{TCe5Xj<wkZ-_$0g|^Ne?MP! z$TyGNr~ozflO#CgR@Hh-_U1&LJylmL+u8fG!d}_?uiVB(9Crp|3({}&zefLq%clXW z1)ezH)m1kXJUbv}ggfNakEia>1M#}*bW)g>%WJdeYd)zk_#p=rCtUMgmk10|c7S4_ zxDK3wNUK)t$Le*Bsh*%GEGPIDSIn$)ruY-j1%rshxQ&H9Gbfx2g&Qzmo`W2BFr0%J zhrPShDKe_8ixZe$2aK_!RqQ!Dh=6D&l*HnTa;J&dF^V|{6AWFQfbCGQa>Rztdu(V- zY&xSScBEZJ!|vL;=lvki3-}W}ji<*q2P%i!-Qzt)cDg{+ijo{XPjL!8C%%`cFOu?Z z#@6m>3h3WBVjS9@TiYh_3r+P@Y=6GGMA`GS&t@O|?~VR9)BpM*jQX_&p>-HiM+A=N zex3yH2rujV!T3=J5YxE6=ge1qGSl_!lhFQ#KJML+uZ-KAo&P#+eee7q|7~1XQwQ4l gM?+3PAKkd_UjioUt`>g87ytkO07*qoM6N<$g6`iTL;wH) diff --git a/data/tilesets/secondary/secret_base/brown_cave/unused_tiles.png b/data/tilesets/secondary/secret_base/brown_cave/unused_tiles.png index dfd187d51a78804eeabeaf5a6c036bc29919483b..7beb706d90bdd13e32457b41c1c17360bc7554a6 100644 GIT binary patch literal 1128 zcmV-u1eg1XP)<h;3K|Lk000e1NJLTq004jh001xq0{{R3E81_30000mP)t-s|NsB) z?(W{+-p$R;y}iAxtgM`zoQsQ#b8~ZIVq#KKQb9pMF)=Y9ARrJB5C8xGL-gVL000B? zNkl<ZNQv#0KX&6b5XN~0Si}JY$mJH~fTi;ug~0(3VosYJ!Bt$x&DP%BAlYvQq$MY* zTy3#<&z1;rewe=>h5_pztP=}XBeG8+TBLtT93oGSi^CFeqdw1}zb`TzfMoWiW$I=J zfl`j-yn+}uxjGk#b4>CtKvDaw2ap|`DJr4DZiW3u6arBrb!5C=sC4^!4``IYXGR!| z$2ovdIh@t=JcpoL(IR;u{trOUPX&Mx)=dN4X86#q(N}no)m|h71GuzjK-wLE6Dt7e z60g5ynn@6mm+BgYZV*^salAjucn?65^w%P_>Q4xTYEG=QHt!ziWPluw=Nq6g%$zv* z>+x3`Gm^3(h0+>#fa4_rk2vXgHscP^<HZ0Pv_{f+5vxI_$KUp~SwoDL1MP(yz~b)! z_)!(0bqxTtkAQjrv={CG-dar|qHZD;QnEzd<a>bVdl!AF+yk1$W{iroSrj8;$oGKf z=jR=e{s&+`_}vM7t1#q+)v=aufYR%zrIC9;(c~MTnlT{0Fz2(vqyv68fVuggh5iU| z7DHv%PpBwl<DvkBljj4F-T^g#0IcRa3d|0bV=BG~3bCD?HX_e^1kcHu4FL3j0Wf&i zh}rAoUbBrYQ%Jp1c|u#DEBV;x9dObq#Tu|5Fn!c}yxNQ50?yb4X3~tHp^yF2?5I=P zR36+mWU`eEP~8Xtx<D~#^;+0A0ni$z_t^KsnyXVW)!1mrFE1}oPftlZ6yA;qC}mX< zWYGIOVH7gPLXLf>^+&F>2Q~=T@bssx7fF2-G#ch>@C={Y+*a38g+#pX<DCXicf}0D zFR!n!Z*Om3C3hD{--2$A>QcrBNC={uO0^Ij0s!OCgKhW%YcT$hEg=UO5ZK40$2I5Y zb56dLu@q=y*=S+ttFPX_15U%^-`}wQ`c>emdY}$ySsJR;X6ONGJ2u^iu9lIVvzfW+ z!7Mh55da&8h+4w~oKQW_ss}b)E*2=1)X)b`g%c5FT85_jzd@y2u@-^mlimfIE6$G+ z&iH}{LM{@m(Tc6&pI{E#K{1q26cz&{Xg;b%UK<#9M4U8f;wI?RMiX@p9xmveIjXE5 zb1nMM^p>>c7yy(lOHL*+Zj}-DUL89iCfqZRvIAPb)eJCl*5OFJcEExnn!c>im%O+g zK-}*M+zZECH`Q_g0?tPfuaH8NqAg(uoK;_{J9PkGm*ZYI=DMK3cn`N`4%!O|DL|s} zup*j~qp7W%!(^A^?Or(Mnr)hKV-Q<20#NLFBB%qNDQQFGSuf6afc63HOT}XN%;G($ uPXpY(egb|3z^9CV0)7+#+c+|R*8V$wyJ~x#^rCJ60000<MNUMnLSTYak_f&4 literal 1163 zcmV;61a$j}P)<h;3K|Lk000e1NJLTq000O800NK%00000LOzL6000D1Nkl<ZNQv#1 zL2~0Z5JfvTh`r9nUOOutAvtY>g9D%;RgISfs700*p#y+6u8{l>N*X!k(YR7srJ^dm zqC^nrZv6hB{E3fz0-yc7nyMrP!U<0BjesS>M4fs5mvI%GxTsBX@=a0ztV03Srjj{d z%)nw<rI}@E3ubA}0ub<DtBS#j`7~pVoD7fQZg7Sh70-GPRF2Cdt}=*8=Mhg#1sEnE zVgf88-Z4l<e}<Qlm`5ZtWnD0VkK%F~5x5l~&XUY_V&&LmJ6A83v05^~cF1G4J+fp3 z_zu#r9IvAI#zLr@#5tRgeq%KdLC&SfREi3|z;!@O8Zge1GbfnJj2nf?D1rF2*~nTI ztkGt{#O(@(KP7djM{b5fWJ4ay_J9(<WtKSgIu{@kOa5Sg^?j{Ag1>-bK>fbO_iumH zaUp6*Lv7-in}d=hRISJycXz1WTE7$ePZR>*x&meKyjoUqov=Q^8_L1dDUq!ip5PE| z%o0mh=G(Y#tG>@{SeM#0Dz+nVNWBbE#OKvJM2fr4AW`%U5P${01<f-`FoX0gL`Vff zg1D*_VrB}lZ*2vRT>Qu|j*J=VenG1NYG*VT0VQgj@Duv`9iM-K&1SRWw+lAJ06`NT z&~^g1XQ0qiSoOyWEp|pb5NWL%@OFjI>guyPMXPPux&?lav&5&TCwYE+e3Y*b4-fLk z{r$bX{B(DR{(wDXx(|jWd47IQf?-dB5x)q={wjBOKYzLEtrbjAX>J-(2ptmO619Oy zp&=ybA+xG}IqQY8pkMW?)d~n0%|UECCqWe5;TZU~;AclJQVs}m&ImH{iGHIPoMBG* zuVl`$z!TGg>37uuP?A)GAurr0Gl!mmrdXV~nzZ+BFSW)!1Tr~kaYne)5h9%6e|rYG zXU_l*8pmV1<`87%YBdBj3HOMe?GYAi6HCHk;mS1W<{TCe5Xj<wkZ-_$0g|^Ne?MP! z$TyGNr~ozflO#CgR@Hh-_U1&LJylmL+u8ez!d}_?uiVB(9Crp|3({}&zefLq%clXW z1)ezH)m1kXJUbv}ggfNakEia>1M#}*bW)g>%WJdeTRy2U_#p=rC*1N~mk10|c7S4_ zxDK3wNUK)t$Le*Bsh*%GEGPIDSIn$)ruY-j1%rshxQ&H9Gbfx2g&QzmpMxBCFr0%J zhrPSjDKe_8ixZe$2aK_!RqQ!Dh=6D&l*HnTa;J&dF^V|{6AWFQfbCGQa>Rztdu(V- zY&xSScBEZJ!|vL;=lvkiEBF&Uji<*q2P%i!-Qzt)cDg{+ijo{XPjL!8C%%`cFOu?Z z#@6m>3h3WBVjS9@TiYh_3r+P@Y=61BM%nYU&t~uZ?~VR9)BpM*jQX_&p>-HiM+A=N zex3yH2rujV!T4SW5YxE6=gc>KGSl_!gV6qlKJIMDH^yx)&VL)9eee7q|83k>QwQ4l dM?+39`wOaR%g$>wtQr6S002ovPDHLkV1knyB1HfI diff --git a/data/tilesets/secondary/secret_base/red_cave/tiles.png b/data/tilesets/secondary/secret_base/red_cave/tiles.png index 2652f6bbfa0f4ed34669f48de37c6606cf013855..5146810e1f77092294d538197465dffde8961dde 100644 GIT binary patch literal 1000 zcmV<E0~h>>P)<h;3K|Lk000e1NJLTq004jh001xq0{{R3E81_30000mP)t-s|NsB) z?(W{+-p$R;y}iAxtgM`zoQsQ#b8~ZIVq#KKQb9pMF)=Y9ARrJB5C8xGL-gVL000AX zNkl<ZNQv!My>8nu5Y{UYmVk7u<<$i&QbWg>N1z!6^N_qoheFNRA*eeV9TGoF`v{q` zH$(TdZ_xIBNXc=W#Z!kIbKwt;pYDzyk1h(5za&Tkf&RsyiV=9tI%zFBi>xc1J4{jx z09WX(4H)TPOar!Z-huP2Z3v6Bu`8ZCAo~l_9RQ4uHi38AfG}!uWNEqi5Sv=H)fL3^ zJr6EC`_5nWth8SSHE@e#XnrLt^!+`6IE0lYLLDwN12Z;P^&#g#<|6<*Fn)&>VCggm zI79r9Fno-XgESui4mkki0>>NTG7PH@gXUl_gjF)h9<T%CLM!nC3^9<Sk+YEJvYEvn za)35+259KNC1FRyE)SjnR8=Jk3PADlaG3#G#$E{zkh$;#pzAu(48R%K2jDEI_4(*Q z&H)-DsuB2BG63LY_wDVi_)b|6+l!qLVw)T=realqWv~lz;9UmL(+(pKG5~5?D)R`y zqN~IK<o(|XARTup`-ux9fIyQ277VKZ_!*w2J_97eO`e<rdJqRDP@l4L<guBdNqvgo zRw>_^fd@9<Zy!TN&gXd*L+~{LaPKG=gB_AxMOoG>Usx63%S-{3djB0PFw*62g7(4( zS%;SGx)QHwLVtyArX;oHV+_W4z3tR0WQ&%2&O%;i0<axleXcu2GrhZ;&!;sLDRu_x z+)Q+wJ?$anbxd|bcKT>B{~>ZG$qmNkSZyUAo@ozgcWWWp4Lo>re}Dh*@bGix1R8Rz zu5`jg?SbpU+4ieb29n)S59YL+Fzz_1e7-qWIe$u`_JL~S*>!(8)Pa!)%Rj$Je$SK# zXmYG_{$6=N4p42p?)xtj$Tw!-L7Xy;ra^g74Lp$ZCjylTz`kAg{dSY<K-XAt5DSca zi~*Gg-D4iqO=vX&bg$OykNv0YK?!uCmP%zIrH2d-^T4*tr~s$ioAq`7KINdZ7@H}- z8%4g?@+utSL68XW_4eeZ?>A-2AtV|IfaK#@9ym2zY|Y8%OH(EXMjqsQ{VWfB3lthI zHfFot5CB)K$<Diw&+|DR&^UIKk)<)Owp1y2-0i*#`8?$z+~WZk5*i1t545t~lr^M! zF}@3st}_>l;ux_~Ojq`3fE>#U!2bYn)aDlel`7S!qXD=+@Nb%<0pOH=lb8~Y-Tx0= WjN036huuQ}0000<MNUMnLSTX(s=?;~ literal 941 zcmV;e15*5nP)<h;3K|Lk000e1NJLTq000O800Ni<00000u5AlE000AYNkl<ZNQv#1 zy>1jS5XXl%An7TRKGi(}Jj;;+UCAK|N;pyQ8i&TGEraCorleSVBa!y@D2cRp@+-i9 zydU|x4GT(zaPgPdJ8OGpejYFVM57ThwlNy<TXyIfPrP)N(7~9qOz1GJEJRd7z!;k# zY8={c(d~QsRzHIwIqy8-d)K_My<O8AYsW@($v~ou2iq-)j<j!Cr1`?DRBGaM<5Jlr zNe*WOT}WO~@ByniFO-KoP$iWNjTIOx0>%)MN(>e+)=R9h#@0-ZFo~>*ePAk?1DUe2 zja%5olKA7Y4aqXarL`;X+3_vAmF^|1uoqKcFYH#LsX%6&F`5qq%)<Q<eynt?%dal< z8NDSB?60-so4MSxzsGJ)C%u-$nkiDixP_3N+}YK&WGXcz(_S6h7j<1zmSyP0$dtuc zQ%n*h(oU-LVY}>(ol&@?6SGIs3sD$uiYpX2r4ES~2WU(QX}JQEd9Vg~1I6J26#E*p zoa<Dvo!RMBc`sh)`vUPd=X-(nH!_(_8hPH!L?s=eqL=jOQc|w-q2<9UYeqR`tDG9; zl$BHFt;$Z55=V12mea&|K%-D@HdJm-PU!OZ_?W&O9Ual-;o%|WPYw=xJE6^{3Uqn7 zsR(8#1dC?`+Y>rCc)HeOWz{#+pyzsjSL&|`9e;HVXR<7A$;Rl&WKlhj@YiJ0`OEQ7 z>dUCH+E_~$jI*EDD3Mh}kq)&3FI#_;7gs4<Qd;s2dT!l|KH`N@XyVxUJlG8_&xu4u zS-2Cc(&b~ok28#&onq{CF>E(|g|WqZj4fX8wAP`*Nud>P|A}t}Cs*^4{VpH4I#6xj zI^SPeW`F%lSB&m2U2<XvI5iu+G!4*e@1DUrxv@a6pK7q~-r>*g<Ij)x_p$jK%}Xk7 zRpKw~=Pwnltr{09xmMQ7imt2m&lPE1t%>Qf?tVHNX@3Y<-AAPkdEM0K@O8c*|6@L< z^XbbueV<;vq>E|1qKjFaQXb<E%!l4$I`i~l@lNP;@d>OgW?Opm9>;k;gG^%#G}~4( z3>@EHx4V0^)@90-vYR1(yhB_vjo(h=R|dTt@}MQMyoTl;2M7@2x9<L5>=0LyN?-BN z(MXa?AM+~w#%|JA{)c7kf9HSsw`I5>tKf_P(eoG|q)rbGOk&*1*mZvaf+%}VZR(@Z P00000NkvXXu0mjfS)s|l diff --git a/data/tilesets/secondary/secret_base/red_cave/unused_tiles.png b/data/tilesets/secondary/secret_base/red_cave/unused_tiles.png index 5cfebd309c902ba89e8dc986d8d504c1a8ae4aea..5146810e1f77092294d538197465dffde8961dde 100644 GIT binary patch literal 1000 zcmV<E0~h>>P)<h;3K|Lk000e1NJLTq004jh001xq0{{R3E81_30000mP)t-s|NsB) z?(W{+-p$R;y}iAxtgM`zoQsQ#b8~ZIVq#KKQb9pMF)=Y9ARrJB5C8xGL-gVL000AX zNkl<ZNQv!My>8nu5Y{UYmVk7u<<$i&QbWg>N1z!6^N_qoheFNRA*eeV9TGoF`v{q` zH$(TdZ_xIBNXc=W#Z!kIbKwt;pYDzyk1h(5za&Tkf&RsyiV=9tI%zFBi>xc1J4{jx z09WX(4H)TPOar!Z-huP2Z3v6Bu`8ZCAo~l_9RQ4uHi38AfG}!uWNEqi5Sv=H)fL3^ zJr6EC`_5nWth8SSHE@e#XnrLt^!+`6IE0lYLLDwN12Z;P^&#g#<|6<*Fn)&>VCggm zI79r9Fno-XgESui4mkki0>>NTG7PH@gXUl_gjF)h9<T%CLM!nC3^9<Sk+YEJvYEvn za)35+259KNC1FRyE)SjnR8=Jk3PADlaG3#G#$E{zkh$;#pzAu(48R%K2jDEI_4(*Q z&H)-DsuB2BG63LY_wDVi_)b|6+l!qLVw)T=realqWv~lz;9UmL(+(pKG5~5?D)R`y zqN~IK<o(|XARTup`-ux9fIyQ277VKZ_!*w2J_97eO`e<rdJqRDP@l4L<guBdNqvgo zRw>_^fd@9<Zy!TN&gXd*L+~{LaPKG=gB_AxMOoG>Usx63%S-{3djB0PFw*62g7(4( zS%;SGx)QHwLVtyArX;oHV+_W4z3tR0WQ&%2&O%;i0<axleXcu2GrhZ;&!;sLDRu_x z+)Q+wJ?$anbxd|bcKT>B{~>ZG$qmNkSZyUAo@ozgcWWWp4Lo>re}Dh*@bGix1R8Rz zu5`jg?SbpU+4ieb29n)S59YL+Fzz_1e7-qWIe$u`_JL~S*>!(8)Pa!)%Rj$Je$SK# zXmYG_{$6=N4p42p?)xtj$Tw!-L7Xy;ra^g74Lp$ZCjylTz`kAg{dSY<K-XAt5DSca zi~*Gg-D4iqO=vX&bg$OykNv0YK?!uCmP%zIrH2d-^T4*tr~s$ioAq`7KINdZ7@H}- z8%4g?@+utSL68XW_4eeZ?>A-2AtV|IfaK#@9ym2zY|Y8%OH(EXMjqsQ{VWfB3lthI zHfFot5CB)K$<Diw&+|DR&^UIKk)<)Owp1y2-0i*#`8?$z+~WZk5*i1t545t~lr^M! zF}@3st}_>l;ux_~Ojq`3fE>#U!2bYn)aDlel`7S!qXD=+@Nb%<0pOH=lb8~Y-Tx0= WjN036huuQ}0000<MNUMnLSTX(s=?;~ literal 938 zcmV;b16BNqP)<h;3K|Lk000e1NJLTq000O800NK%00000LOzL6000AVNkl<ZNQv#1 zy>1jS5XXl%An7TRKGi(}Jj;;+UCAK|N;pyQ8i&TGEraCorleSVBa!y@D2cRp@+-i9 zydU|x4GT(zaPgPdJ8OGpejYFVM57ThwlNy<TXyIfPrP)N(7~9qOz1GJEJRd7z!;k# zY8={c(d~QsRzHIwIqy8-d)K_My<O8AYsW@($v~ou2iq-)j<j!Cr1`?DRBGaM<5Jlr zNe*WOT}WO~@ByniFO-KoP$iWNjTIOx0>%)MN(>e+)=R9h#@0-ZFo~>*ePAk?1DUe2 zja%5olKA7Y4aqXarL`;X+3_vAmF^|1uoqKcFYH#LsX%6&F`5qq%)<Q<eynt?%dal< z8NDSB?60-so4MSxzsGJ)C%u-$nkiDixP_3N+}YK&WGXcz(_S6h7j<1zmSyP0$dtuc zQ%n*h(oU-LVY}>(ol&@?6SGIs3sD$uiYpX2r4ES~2WU(QX}JQEd9Vg~1I6J26#E*p zoa<Dvo!RMBc`sh)`vUPd=X-(nH!_(_8hPH!L?s=eqL=jOQc|w-q2<9UYeqR`tDG9; zl$BHFt;$Z55=V12mea&|K%-D@HdJm-PU!OZ_?W&O9Ual-;o%|WPYw=xJE6^{3Uqn7 zsR(8#1dC?`+Y>rCc)HeOWz{#+pyzsjSL&|`9e;HVXR<7A$;Rl&WKlhj@YiJ0`OEQ7 z>dUCH+E_~$jI*EDD3Mh}kq)&3FI#_;7gs4<Qd;s2dT!l|KH`N@XyVxUJlG8_&xu4u zS-2Cc(&b~ok28#&onq{CF>E(|g|WqZj4fX8wAP`*Nud>P|A}t}Cs*^4{VpH4I#6xj zI^SPeW`F%lSB&m2U2<XvI5iu+G!4*e@1DUrxv@a6pK7q~-r>*g<Ij)x_p$jK%}Xk7 zRpKw~=Pwnltr{09xmMQ7imt2m&lPE1t%>Qf?tVHNX@3Y<-AAPkdEM0K@O8c*|6@L< z^XbbueV<;vq>E|1qKjFaQXb<E%!l4$I`i~l@lNP;@d>OgW?Opm9>;k;gG^%#G}~4( z3>@EHx4V0^)@90-vYR1(yhB_vjo(h=R|dTt@}MQMyoTl;2M7@2x9<L5>=0LyN?-BN z(MXa?AM+~w#%|JA{)c7kf9HSsw`I5>tKf_P(eoG|q)rbGOk&*1FS>bKZrj26G5`Po M07*qoM6N<$g183AlK=n! diff --git a/data/tilesets/secondary/secret_base/shrub/tiles.png b/data/tilesets/secondary/secret_base/shrub/tiles.png index 692141b046c614ed2328202e0c7088ff8a331a94..a64727c6eaa3086648c2c170ed4ef71a01a3e8d7 100644 GIT binary patch literal 1149 zcmV-@1cLjCP)<h;3K|Lk000e1NJLTq004jh001xq0{{R3E81_30000mP)t-s|NsB) z?(W{+-p$R;y}iAxtgM`zoQsQ#b8~ZIVq#KKQb9pMF)=Y9ARrJB5C8xGL-gVL000CC zNkl<ZNQv#0KX%(V5XN-~t6)pX7tjC)urN3PA2E+oku9w%B@MdVLQmdO?}abXS+YlP zn{?}LOYh!bv)_P(D95Q>r3fThBF*_>{(Li-&9J^<QAv!~(v^-K8+@nhGM<+-jmY_G ze7>B02k?OdmiJ)-+{M^7t+4mZ(l)XCAs}rpTwCw)u7hQP6D6hX+5j-zqLPDeaHEUK z8m|`sPf}A&BxH;g3JI`-y{t_(U?WO+4Z!cECnARr8T~`S;VBJXY#6O|mpWx4Uta>e zz?>bd*(pRq0<>j9WdOD@%?|*$!hcv_aFbC9M<L}vYU{Ff`mQ}($k&&ETDL|X*je(1 zS7f=Q4!N|lo&W}UGBN?ajf+@ngAly*AL>wBgs`^aIEK|i@a*St5lTtqV|M2Ppbo(K zoBo4mkEnUIumH3yaO47jt+?r40ZJ_a!}R8Kg<>-YULkuF#j-k^0YervgdvCtU}_}L z2dPB3FM|5uEK^I~odJ)JkI67l^9rCLII4QVTegL4=VVsbu2d1Kvl);=fE;s9Cjde) z_A~(GB->Ms;)OESgNW4r&jH}c+xQB=zD5qKLVkz+rjX+tS+oHm1iv0bPyo}~qee|u z)&wvpy_aIsJv0&@_DAT@Ve{6AWWb{WOu!Cq0!;l47s#I*Ucv%GLOX}mwFI}!_t(Zl zNj|l+cxfiU68dnE*bcpV0KhFvf(oGnca6H{`=~I=)g%A}A+vaQi?xf|3FNfd@5T{e zRxarP#SmNP`?iJyPKI{ol4p0fU%$S8f4c(!NFL`60Jta@nnYe`cjLacahE!tHHqUq zc=uOYUyLfbN;yzOCt(gLT5d6lAVq_z5)g89x(!1Ixt)J|dU|?(e*PPRBVS1$cY_OC znFlg~p#utr0P@a2K#Vw(4l>{!tikwF;$g1(eh8q8+bx6u1+-M#8to8)!xoWQuT{!p zJNy6s!TL9(D&F)TyD^6Q?NteA(t(b&);niRXjn%YbZ`b3uQCdb(m*Ue=Ca-&%?e|Y zb)2U$&q$@qzXfAHNE+(|VL&LzAj(UHXsxy8a>RJb^8km17SE6sG`!A(2nh`5!Zht5 z1amWba2M~d+`7bINA^V}*A5;u*q8;?IG6DSfU8eq4&xtlc8idPD%x9mD9{-w5<f)+ zaRyurTUBzAb#N5*Sfwnj5+ogX2p9H^G*cNTfUnt~iewKh98ZDK&3ZQOr8)xOHGv|< zTsD^n%Zn3(rOH*9BS(6k#O`6gsrr4V2$92PJKt{}4%1kl0HrtNH(3Y!fR<4J2!~GF zb0f0XZaCn^#lb@3(qS=s%R)_b@tXlMu3vzk0q`c{Ux1$lz^NUX-)jFqe18PnOGyDf P00000NkvXXu0mjfGI|6{ literal 1177 zcmV;K1ZMk*P)<h;3K|Lk000e1NJLTq000O800Ni<00000u5AlE000DFNkl<ZNQv!M zJ8~m85N+SUQs_*|c2gd~J`1g)s~B1;1rEj0gd2&WHz21PQ#=3~)BynS0wO16Kpnz< z4<mB7EUn0LZR9e8SHQ5R(Vy23BY)v1C%~z{+-2**vgIDIT@$?Ed4X2&d`<AOR&0G% zLe8Q&;EiNSa<(9$3ntE-ljwbv+`=T#&O!ntxW~ID!O~is^Ip7f9lRtsNU(#GVh59m z(*i?tglHNhYIZn?kg~!HjFYYSTJC!25P1*5_-+AiqX8=X2=_0mhkmPox&t7siH2@( zS2t4C&P%P!BpMxR<&a<u^ruVu(+2;dOwLe)ef_!~I&KRzs+D*%m38i{k1sQ{0>*8D za&FyJ6LG$&PzboszE#O<pZivH2|@1jAWU9XN=OaBV~Gmk$Zz!bReW#N@2&X0_b;20 zTrG|Sose6b`fcXcd`mL;B&pDhB?cvp&m4HQ7)gr5k(e#EFxD+HAN?lw2=I@?XVHZ! zV6=xnu$@n?8);n|(GPerM}MO&NI2WVM2CPmSJm|`X|@EBYy~@jXZL5joMbj^gN%3J z=~zLFsQ6<O16%7ry@;Bwo&wA1I$1?N0~Mums|_dx9#k4l>g<DnU{0#maZ9cx#$3w& zt-dX}E$|C|{{{wwK@UG4U_i*EXzBTD9(aVY1SAKO>_IqdCSomUW-d3Ppe*_pD`_LQ z8k&=Nbt+H4;{E+}D)-Y5ALR4p<)!?2ad9D^&(F`r|8REpmECmuP|2rH(+7dsM}fsp z0^5&rcJ?D=r1Rk4TFEtZ)yTR;(L!TLM>M4)36U?74vBy)%?z->Grv&qZ!sE4ejHsL zRAqwIJyw%G3~V3vV><bg!p)Z<KG+>*y4b1PKx4zY1546MY8;GbJCIO!PG&Q#?q<&& z#ErG0as~3Q+W=M_7?zoW`DIC_@b8KI3*aC9W!u0roPvKDTTDgIKNr^WgxQcMjV;EH z(`cxWOXyJ>83yI>b-rMBt&XI|84hpMK7@bft4!4^6fTi8fow|2HL^^oDJHU&*ispC z#+?FEf)N4KGsI_<!?wI(aF7FK&N7?w2LDdvl_D511^GLBPoI;gXfeoRI_Uz7n2+hM zFLxeP5BF{Eq1Qj8iPzQ~y3QlZ?G;v#rIa48kon?Q0UN1$!!1>Gfgbt!d%Svsf5&-x zHwH^|jNI;?!%}|VfjMIhNybBTe+QY8TZbOuO6HAC{ljf78$!l4DNw!+wP1+}<*MxU zuU6i=T2?iWyhRw0Ttso*e;Pn?q0eXyq#0ADK<M}w622JS%FX1a!mW$X3T+WV%@vr# zvg7kZ>0qK@Vx@CVEzV6jmQ{oLIevMNYmP&#dLw!ZBK4mnykgWTr;NA8hy$_R;oRAd zLEhkYHt<EsKh*-LRm0VsRhwTUv}<+&qd+m&?{)v?GKk86-i2a^g&naQ9F+fkIQ6^p rfB0|1`)n$JFNk9%F92CT@!Y=wY$Z`$LWx*h00000NkvXXu0mjff)XuY diff --git a/data/tilesets/secondary/secret_base/shrub/unused_tiles.png b/data/tilesets/secondary/secret_base/shrub/unused_tiles.png index 461d620ae6b2bde40a91e55fcafb0590780fe52d..a64727c6eaa3086648c2c170ed4ef71a01a3e8d7 100644 GIT binary patch literal 1149 zcmV-@1cLjCP)<h;3K|Lk000e1NJLTq004jh001xq0{{R3E81_30000mP)t-s|NsB) z?(W{+-p$R;y}iAxtgM`zoQsQ#b8~ZIVq#KKQb9pMF)=Y9ARrJB5C8xGL-gVL000CC zNkl<ZNQv#0KX%(V5XN-~t6)pX7tjC)urN3PA2E+oku9w%B@MdVLQmdO?}abXS+YlP zn{?}LOYh!bv)_P(D95Q>r3fThBF*_>{(Li-&9J^<QAv!~(v^-K8+@nhGM<+-jmY_G ze7>B02k?OdmiJ)-+{M^7t+4mZ(l)XCAs}rpTwCw)u7hQP6D6hX+5j-zqLPDeaHEUK z8m|`sPf}A&BxH;g3JI`-y{t_(U?WO+4Z!cECnARr8T~`S;VBJXY#6O|mpWx4Uta>e zz?>bd*(pRq0<>j9WdOD@%?|*$!hcv_aFbC9M<L}vYU{Ff`mQ}($k&&ETDL|X*je(1 zS7f=Q4!N|lo&W}UGBN?ajf+@ngAly*AL>wBgs`^aIEK|i@a*St5lTtqV|M2Ppbo(K zoBo4mkEnUIumH3yaO47jt+?r40ZJ_a!}R8Kg<>-YULkuF#j-k^0YervgdvCtU}_}L z2dPB3FM|5uEK^I~odJ)JkI67l^9rCLII4QVTegL4=VVsbu2d1Kvl);=fE;s9Cjde) z_A~(GB->Ms;)OESgNW4r&jH}c+xQB=zD5qKLVkz+rjX+tS+oHm1iv0bPyo}~qee|u z)&wvpy_aIsJv0&@_DAT@Ve{6AWWb{WOu!Cq0!;l47s#I*Ucv%GLOX}mwFI}!_t(Zl zNj|l+cxfiU68dnE*bcpV0KhFvf(oGnca6H{`=~I=)g%A}A+vaQi?xf|3FNfd@5T{e zRxarP#SmNP`?iJyPKI{ol4p0fU%$S8f4c(!NFL`60Jta@nnYe`cjLacahE!tHHqUq zc=uOYUyLfbN;yzOCt(gLT5d6lAVq_z5)g89x(!1Ixt)J|dU|?(e*PPRBVS1$cY_OC znFlg~p#utr0P@a2K#Vw(4l>{!tikwF;$g1(eh8q8+bx6u1+-M#8to8)!xoWQuT{!p zJNy6s!TL9(D&F)TyD^6Q?NteA(t(b&);niRXjn%YbZ`b3uQCdb(m*Ue=Ca-&%?e|Y zb)2U$&q$@qzXfAHNE+(|VL&LzAj(UHXsxy8a>RJb^8km17SE6sG`!A(2nh`5!Zht5 z1amWba2M~d+`7bINA^V}*A5;u*q8;?IG6DSfU8eq4&xtlc8idPD%x9mD9{-w5<f)+ zaRyurTUBzAb#N5*Sfwnj5+ogX2p9H^G*cNTfUnt~iewKh98ZDK&3ZQOr8)xOHGv|< zTsD^n%Zn3(rOH*9BS(6k#O`6gsrr4V2$92PJKt{}4%1kl0HrtNH(3Y!fR<4J2!~GF zb0f0XZaCn^#lb@3(qS=s%R)_b@tXlMu3vzk0q`c{Ux1$lz^NUX-)jFqe18PnOGyDf P00000NkvXXu0mjfGI|6{ literal 1173 zcmV;G1Zw+<P)<h;3K|Lk000e1NJLTq000O800NK%00000LOzL6000DBNkl<ZNQv!M zJ8~m85N+SUQs_*|c2gd~J`1g)s~B1;1rEj0gd2&WHz21PQ#=3~)BynS0wO16Kpnz< z4<mB7EUn0LZR9e8SHQ5R(Vy23BY)v1C%~z{+-2**vgIDIT@$?Ed4X2&d`<AOR&0G% zLe8Q&;EiNSa<(9$3ntE-ljwbv+`=T#&O!ntxW~ID!O~is^Ip7f9lRtsNU(#GVh59m z(*i?tglHNhYIZn?kg~!HjFYYSTJC!25P1*5_-+AiqX8=X2=_0mhkmPox&t7siH2@( zS2t4C&P%P!BpMxR<&a<u^ruVu(+2;dOwLe)ef_!~I&KRzs+D*%m38i{k1sQ{0>*8D za&FyJ6LG$&PzboszE#O<pZivH2|@1jAWU9XN=OaBV~Gmk$Zz!bReW#N@2&X0_b;20 zTrG|Sose6b`fcXcd`mL;B&pDhB?cvp&m4HQ7)gr5k(e#EFxD+HAN?lw2=I@?XVHZ! zV6=xnu$@n?8);n|(GPerM}MO&NI2WVM2CPmSJm|`X|@EBYy~@jXZL5joMbj^gN%3J z=~zLFsQ6<O16%7ry@;Bwo&wA1I$1?N0~Mums|_dx9#k4l>g<DnU{0#maZ9cx#$3w& zt-dX}E$|C|{{{wwK@UG4U_i*EXzBTD9(aVY1SAKO>_IqdCSomUW-d3Ppe*_pD`_LQ z8k&=Nbt+H4;{E+}D)-Y5ALR4p<)!?2ad9D^&(F`r|8REpmECmuP|2rH(+7dsM}fsp z0^5&rcJ?D=r1Rk4TFEtZ)yTR;(L!TLM>M4)36U?74vBy)%?z->Grv&qZ!sE4ejHsL zRAqwIJyw%G3~V3vV><bg!p)Z<KG+>*y4b1PKx4zY1546MY8;GbJCIO!PG&Q#?q<&& z#ErG0as~3Q+W=M_7?zoW`DIC_@b8KI3*aC9W!u0roPvKDTTDgIKNr^WgxQcMjV;EH z(`cxWOXyJ>83yI>b-rMBt&XI|84hpMK7@bft4!4^6fTi8fow|2HL^^oDJHU&*ispC z#+?FEf)N4KGsI_<!?wI(aF7FK&N7?w2LDdvl_D511^GLBPoI;gXfeoRI_Uz7n2+hM zFLxeP5BF{Eq1Qj8iPzQ~y3QlZ?G;v#rIa48kon?Q0UN1$!!1>Gfgbt!d%Svsf5&-x zHwH^|jNI;?!%}|VfjMIhNybBTe+QY8TZbOuO6HAC{ljf78$!l4DNw!+wP1+}<*MxU zuU6i=T2?iWyhRw0Ttso*e;Pn?q0eXyq#0ADK<M}w622JS%FX1a!mW$X3T+WV%@vr# zvg7kZ>0qK@Vx@CVEzV6jmQ{oLIevMNYmP&#dLw!ZBK4mnykgWTr;NA8hy$_R;oRAd zLEhkYHt<EsKh*-LRm0VsRhwTUv}<+&qd+m&?{)v?GKk86-i2a^g&naQ9F+fkIQ6^p nfB0|1`)n$JFNk9%FJSgJGKVpJanZoL00000NkvXXu0mjff!i$_ diff --git a/data/tilesets/secondary/secret_base/tree/tiles.png b/data/tilesets/secondary/secret_base/tree/tiles.png index 94887cc1fd54bcf0956712376c475683222bfd0f..f07999cb086fc3855e2390831d4adb23045dda31 100644 GIT binary patch literal 1117 zcmV-j1fu(iP)<h;3K|Lk000e1NJLTq004jh001xq0{{R3E81_30000mP)t-s|NsB) z?(W{+-p$R;y}iAxtgM`zoQsQ#b8~ZIVq#KKQb9pMF)=Y9ARrJB5C8xGL-gVL000B% zNkl<ZNQv!LF>>TK5Zt$b(g!%e2Z%xF#F$x9ft`t&!Y%q9uvNSVY@oN;Pf%zpvoeRW zf8cWuNMQHMnW77BAaMbZXaYUm!@~jb1<~JaE&9mOv#;a1g&vQpZB*|cDnN9l-3tpM zrM!*ZGFv+xPZ~p_sE@~OW`Eu_0PfM0b4Uq)SpsXcxoy29AtsI-By9-gd9*74B9Ugw zL`vQVC9$~$aZ<hs9c`|T8o<yE9kz&u@OA+J4c)RXs^Q0Os4a-<x~z5F0GxMtX~Z_M znxlbe_Rg=%*^%IGYbpA1UFxU-bc_vveKf*9jvFa+$Lp#&;P={ClCEnV-EtuIYVg1@ zQ1aYU!sN3?_Z0=K8ofR@4!-O$bl5SDkd!4$4miRPbm(U3J7eJ2J#g-OrZhJWDuDB# zpKbHV1}BNkeHRA5JhIwZD}eQt$GLG(0l)wNu+$I)SK;1)g;_TSDnMZ&>(V%=0GKrb zMWGoSQ)~}0FrO$z!z`;`US7(<g~tDJ(BlY5qFP9~lJD>1or%yiUjeKS_^ElJ0)Tnw zZv)sOM;yT|S=cmh>wg1)^*M#5d7&Kv8U}r;XRMtJ04xUS&jdoC`3hitNi;PtTscTS zV*T{XI_k0l25*KNE?%{A@Un9NB|J0^n!kNQ9#b>CLRNuM51<2Jah<p2c&^j~O*%Dz z*r}yaH@7ddMsfrdLI=^|6m=dchT_Lk4`6>iv>T?qq~ktZPU8DW($DI9r&;T~!g8o9 zTRkX8*l(a1U<0Xmz0?5QbY7qX?#$hoQpE*bWcx-3^Xu#D)6>&D7z2<H{9oEh#Oy?; zQdY<>XJlWe1*=W$Q}e<Pf0p>&h3I`sy02d>kL0t54oE!lSx^TcASM_VI%r<_`R(oP z{r&x~j>W79r*Bcx7_g9XKtbSD$m4+(lE;{)=7pcI8W?}DWzp-y^Bxb%LkA8_2O993 zBDN?Gcuv34LHhS^#6L2alye$uT0e<*M7euZcpGJ27*xjESCn}{VSyK-nhq7G$sUKh z>Hu{-hQ8DTSX)r9Q7wa-;jJD(0>vW-LIKCazC#|pzv|$V#K8e%K7mb0?zHV-#EYTD z<5t$q3)fm_3PYau_>32HV&8?$n-C+uc*talo9{yPb$^FFVl!0-7quPtcgX*FL$K3t z>qi~0--YVy=u$Q}R~=lC#(<Jwn%cKu1eWf!+<X_RuhEhfq^k~?P}O>L&nORP6Ncei ze_C(83pWKn!A(=u!9`#h`!19L<e?9$7v1`Z#(_6$;9|w%@R8VQl@9~d68atBTLAdb j;_m?83P6&reRTbQYIY08HCI>S00000NkvXXu0mjfK4=QQ literal 1098 zcmV-Q1hxB#P)<h;3K|Lk000e1NJLTq000O800Ni<00000u5AlE000CLNkl<ZNQv#1 zKXU6v491Zg#4gj>os&{WNY3Iy2MA|$fP}-+9o;2`{s8-$l#A5`7T^VJ@+`>*O3!(5 zBt1>?s!Vo97-<D!7r<}7CH;;;SD0(Z@H)IwnaV^u=s=1=`*A<gWK*S4#~gF==J!I% znkYMmDNY>5O^w{OP_d#UDnd2qN}k-QIE)s9G4*&>;fE(ga;BV<Ac`S?!4E-ZKe$xS zhjmlzuPPU+?1F{Dm@}1dHXZzA9_q*=*<_S-RLU{eV^G_-J>k<*i$QJEGBxdLqNYJw zkBlfszivl;Cz(3Nvs^!n<brrL;_)FK@9=M_B#zwvQa_9O>0xfi+(*F}h0uE5Z(jF# zhy6+3wV2~A?W-{Sa)BROfjK^z2RCg)wryI<+%zaLKVIzbr|Vwp_oc^vM8zjdPGb&A zG#L%?6Wzy8@PoN*WHV+Om}%AkM8K6YnZdvXFl5vv^IRc4wwombE{vmD!EAnRwv;4Q zxZq!vh{r4>fBJ30w9P6o+XJ&GiNIt5-V9n{Qh|vzSQKEQR%6{8O`d|?sOd|2jh_<@ zRR$^&{gq*)_8EKbxhi#zu6D7>HX+K&!P?TW_=hWd^aI8}F^k3GV7`Adi!kW<%Qfq& z=N>0u+mj{+r{dcv_J%aq7VP>4bt&tA#o8&qnfrI}_YV&b^xOUYJ^gZbcSpb8-rk<{ zdwP2632xsJJia0Lehb!eqB1fttLUl*g!>S!sg~G_6wCoacM#@*8NO^Wm$!f+_{)bm z7~}OheQBUCIF}6uJz`w#$AZ0Z@d=dJKwZ?J6A9}0h~AoY4@E+)Jd~?ASep!g44y-p zaiVaTl*X9*$X@|}5zlo*JOl-Q4*qZ|X8t(lrZ^fCCuBKGxS~R02$kwAhjL0!nc5W& z(@H>gBY0w&OL_0dk#FWrOBT=+&rmLt^+DWlB#|_<KBT_HIS=4UTt(O)`oYnU9?B2? zps6i71OA`_8?*xarTUS-YguD#CayL<;(g99e|2+1P;o+GE1&1|=H_dG6I*o9E^r?* zH${&|uoo%BT^9N`0ZjPK_irXk0bD?62L2#=s9KF$&FDqd%#r?==I<x5DN;~;D|`Bp zLC%tKG?qL=h&yj7=#hIGv7rI_7tUkg;}!YVgnXfz!{NSsW+ZdazYco_E;BEyShtIH zSBG`yR|7~c^ck)BRKmkRp5eD#!%y*A!3jI);v0a4DhpmeI07^w>yNxfg-R6B>-;V1 zC-LTi$XF<D4Q_~+d|Wrj6~i(gu(Rvp-k<f48TT{;Xxj3&p-t3p^H#qOVc^I58Lo<5 z$Eo2k#CHEyl6S@}-pwNY%YKVD<-csMeee9={I|_znr4&Vy>ngkyK>z>0Ipd|a@lm6 QfB*mh07*qoM6N<$f=+-EdH?_b diff --git a/data/tilesets/secondary/secret_base/tree/unused_tiles.png b/data/tilesets/secondary/secret_base/tree/unused_tiles.png index 567cf78000d3aff4c55c91f719637fcb7e104d63..f07999cb086fc3855e2390831d4adb23045dda31 100644 GIT binary patch literal 1117 zcmV-j1fu(iP)<h;3K|Lk000e1NJLTq004jh001xq0{{R3E81_30000mP)t-s|NsB) z?(W{+-p$R;y}iAxtgM`zoQsQ#b8~ZIVq#KKQb9pMF)=Y9ARrJB5C8xGL-gVL000B% zNkl<ZNQv!LF>>TK5Zt$b(g!%e2Z%xF#F$x9ft`t&!Y%q9uvNSVY@oN;Pf%zpvoeRW zf8cWuNMQHMnW77BAaMbZXaYUm!@~jb1<~JaE&9mOv#;a1g&vQpZB*|cDnN9l-3tpM zrM!*ZGFv+xPZ~p_sE@~OW`Eu_0PfM0b4Uq)SpsXcxoy29AtsI-By9-gd9*74B9Ugw zL`vQVC9$~$aZ<hs9c`|T8o<yE9kz&u@OA+J4c)RXs^Q0Os4a-<x~z5F0GxMtX~Z_M znxlbe_Rg=%*^%IGYbpA1UFxU-bc_vveKf*9jvFa+$Lp#&;P={ClCEnV-EtuIYVg1@ zQ1aYU!sN3?_Z0=K8ofR@4!-O$bl5SDkd!4$4miRPbm(U3J7eJ2J#g-OrZhJWDuDB# zpKbHV1}BNkeHRA5JhIwZD}eQt$GLG(0l)wNu+$I)SK;1)g;_TSDnMZ&>(V%=0GKrb zMWGoSQ)~}0FrO$z!z`;`US7(<g~tDJ(BlY5qFP9~lJD>1or%yiUjeKS_^ElJ0)Tnw zZv)sOM;yT|S=cmh>wg1)^*M#5d7&Kv8U}r;XRMtJ04xUS&jdoC`3hitNi;PtTscTS zV*T{XI_k0l25*KNE?%{A@Un9NB|J0^n!kNQ9#b>CLRNuM51<2Jah<p2c&^j~O*%Dz z*r}yaH@7ddMsfrdLI=^|6m=dchT_Lk4`6>iv>T?qq~ktZPU8DW($DI9r&;T~!g8o9 zTRkX8*l(a1U<0Xmz0?5QbY7qX?#$hoQpE*bWcx-3^Xu#D)6>&D7z2<H{9oEh#Oy?; zQdY<>XJlWe1*=W$Q}e<Pf0p>&h3I`sy02d>kL0t54oE!lSx^TcASM_VI%r<_`R(oP z{r&x~j>W79r*Bcx7_g9XKtbSD$m4+(lE;{)=7pcI8W?}DWzp-y^Bxb%LkA8_2O993 zBDN?Gcuv34LHhS^#6L2alye$uT0e<*M7euZcpGJ27*xjESCn}{VSyK-nhq7G$sUKh z>Hu{-hQ8DTSX)r9Q7wa-;jJD(0>vW-LIKCazC#|pzv|$V#K8e%K7mb0?zHV-#EYTD z<5t$q3)fm_3PYau_>32HV&8?$n-C+uc*talo9{yPb$^FFVl!0-7quPtcgX*FL$K3t z>qi~0--YVy=u$Q}R~=lC#(<Jwn%cKu1eWf!+<X_RuhEhfq^k~?P}O>L&nORP6Ncei ze_C(83pWKn!A(=u!9`#h`!19L<e?9$7v1`Z#(_6$;9|w%@R8VQl@9~d68atBTLAdb j;_m?83P6&reRTbQYIY08HCI>S00000NkvXXu0mjfK4=QQ literal 1095 zcmV-N1i1T&P)<h;3K|Lk000e1NJLTq000O800NK%00000LOzL6000CINkl<ZNQv#1 zKXU6v491Zg#4gj>os&{WNY3Iy2MA|$fP}-+9o;2`{s8-$l#A5`7T^VJ@+`>*O3!(5 zBt1>?s!Vo97-<D!7r<}7CH;;;SD0(Z@H)IwnaV^u=s=1=`*A<gWK*S4#~gF==J!I% znkYMmDNY>5O^w{OP_d#UDnd2qN}k-QIE)s9G4*&>;fE(ga;BV<Ac`S?!4E-ZKe$xS zhjmlzuPPU+?1F{Dm@}1dHXZzA9_q*=*<_S-RLU{eV^G_-J>k<*i$QJEGBxdLqNYJw zkBlfszivl;Cz(3Nvs^!n<brrL;_)FK@9=M_B#zwvQa_9O>0xfi+(*F}h0uE5Z(jF# zhy6+3wV2~A?W-{Sa)BROfjK^z2RCg)wryI<+%zaLKVIzbr|Vwp_oc^vM8zjdPGb&A zG#L%?6Wzy8@PoN*WHV+Om}%AkM8K6YnZdvXFl5vv^IRc4wwombE{vmD!EAnRwv;4Q zxZq!vh{r4>fBJ30w9P6o+XJ&GiNIt5-V9n{Qh|vzSQKEQR%6{8O`d|?sOd|2jh_<@ zRR$^&{gq*)_8EKbxhi#zu6D7>HX+K&!P?TW_=hWd^aI8}F^k3GV7`Adi!kW<%Qfq& z=N>0u+mj{+r{dcv_J%aq7VP>4bt&tA#o8&qnfrI}_YV&b^xOUYJ^gZbcSpb8-rk<{ zdwP2632xsJJia0Lehb!eqB1fttLUl*g!>S!sg~G_6wCoacM#@*8NO^Wm$!f+_{)bm z7~}OheQBUCIF}6uJz`w#$AZ0Z@d=dJKwZ?J6A9}0h~AoY4@E+)Jd~?ASep!g44y-p zaiVaTl*X9*$X@|}5zlo*JOl-Q4*qZ|X8t(lrZ^fCCuBKGxS~R02$kwAhjL0!nc5W& z(@H>gBY0w&OL_0dk#FWrOBT=+&rmLt^+DWlB#|_<KBT_HIS=4UTt(O)`oYnU9?B2? zps6i71OA`_8?*xarTUS-YguD#CayL<;(g99e|2+1P;o+GE1&1|=H_dG6I*o9E^r?* zH${&|uoo%BT^9N`0ZjPK_irXk0bD?62L2#=s9KF$&FDqd%#r?==I<x5DN;~;D|`Bp zLC%tKG?qL=h&yj7=#hIGv7rI_7tUkg;}!YVgnXfz!{NSsW+ZdazYco_E;BEyShtIH zSBG`yR|7~c^ck)BRKmkRp5eD#!%y*A!3jI);v0a4DhpmeI07^w>yNxfg-R6B>-;V1 zC-LTi$XF<D4Q_~+d|Wrj6~i(gu(Rvp-k<f48TT{;Xxj3&p-t3p^H#qOVc^I58Lo<5 z$Eo2k#CHEyl6S@}-pwNY%YKVD<-csMeee9={I|_znr4&Vy>ngi`vZxBDw21}V)Fn1 N002ovPDHLkV1mQ}5ljF8 diff --git a/data/tilesets/secondary/secret_base/yellow_cave/tiles.png b/data/tilesets/secondary/secret_base/yellow_cave/tiles.png index b171b5ec62d82bb2bc72638205700f636a19cf98..d4535523bd61b5480239eef778ac3672b76fabbc 100644 GIT binary patch literal 1184 zcmV;R1Yi4!P)<h;3K|Lk000e1NJLTq004jh001xq0{{R3E81_30000mP)t-s|NsB) z?(W{+-p$R;y}iAxtgM`zoQsQ#b8~ZIVq#KKQb9pMF)=Y9ARrJB5C8xGL-gVL000Cl zNkl<ZNQv!Mv5w<55Y<1)Kyt-Zrm#qT7GV8=)~;`1QuQI?Os&;vrbvDy`GoDRx+41r zoBTnNH>4;#DV-((LP5I{IedCE^JeI(!uSItGI<|j5bxRU7^24rb-i;fMkj}(%0cbD zX%8;hW4$T>wiAP}Q|(U6AH7fZ7^;y~Stn=v>pIzEeFN~(hs6gSg$KJe`oS>j^!-+e z4OU3)eP7pRZ|hfp;D=}c!{@<n00dY(?V9X>PtHZpb87@@v$ypt0Q?Do0gx}17%d7J zKx10BKiak*48S7x7X}Y_gO?kCieE69BbWfv2s)bwwb|SHEra-X02?k7khE^!00jW- z%ligkZ=|;XNCeXAQUr!VA?U(0Qn|}Xjya7sOa&?c;CxxiU_{9S9?w6mV+jI)y`vRy z16a|o0P@K86$23Ir2w#JHZfu8$=tXC5K@3lZvZ0*Me>=z5DP#6g=q%>qd;M~0t{d+ zk;^54Pb!N~1Rlkw-7haMK2dPaRAbV+aRIEA!UjQ~gNV7%MXQi2Kn!6%G~oY@CE~^f z4GRk`oG)U;K+OdSz)mjw3;;OhBe!h|;ZwK)uxddab#uN1z6Mnf0{9=L0Kf)zbGz!` z8pMI&HnQMsn0A5%LYB50lo8<7gBN5<bV&dqK6t4<=K6jR5{+az&h_4<x*pH1uoogJ z^DMl0VF#h9grL=@G+%#<?;!$u$aZzz2pS9W-_dfR<;-PX5FS6!WB?kYR#UF;ca~oi z{amm0-bGT&f5&v<%Sp>Tv;uj^1li+>WA$8r`SSjK{VwHKSgm}m-k}3zQG6>SE&X*K zNwAQ7@N4s{e)uJgua;j?p3Ttey(8;v;=4?M%e-U?Q|S-YkFT$<Z*Om3Ex*iqSee$1 z5kUUoiuBM0=8yCV07IfMmHto(b_0Vfzo0M|fG)MxC|%(3q!$1j$NmI>OQJAs{eXY} z72~(X@@oxc1=y<*Kp*H-F1(xoF!p_z_7cx#_gwlzMT@nQ!J7^U{VK<5x7&2kS&5Q1 zN8k6vJ0+tqACN-ye$|Q?2*cu&4k8~iz}__}4ZXMyL{7}mg@5cJAQ*|Comz!ppolp2 z&#VI~3|!HH>yU7i*mo5D*q@#0S`jMJ0TeV=rLMCMNK**VFoZbu0f&wl5Md}X_B}r< zfx_InO$Rv^F`b5R8plRk?`qdT2XTZEssiz30O$fe%qmFs?3zsnYcQ>&Mx1`Fd9b&7 z<lF~ZJfgp9$7l}N3V&hb+D!+guECOs^n2{z*?D|SVU7ahM%r%1=?Vwcp4im3>0mvg z#B@Liu!9Ip3yA=9fX8&WIXhqBVCff|4(z*xOjxt1?ineW7<U7Vir)jc?*~}V!v6vO y3BY<9-?jPQ0Z@+f|1d!LL2)-g`9X2-{yzb4+YwEx_P9d;0000<MNUMnLSTZ)rXULd literal 1127 zcmV-t1ep7YP)<h;3K|Lk000e1NJLTq000O800Ni<00000u5AlE000CoNkl<ZNQv#1 zOK#&v5QZx^h<yWlF{|162+2i~MHPqEx~dt>nq7itZJ8IK0BY8OA!;>?B!GCQ<S&Y{ z<rzPSK{f$GKtH<4R<j;oRg?b4MKfgXmDHTFxRWQ(<k@R-kI{YHb5E2!Mmgn}8Wo-y z_aHedlPgbR48cxHn((v|t*NR%gjC<i+;u4@CkqQW!88sdSyCcq@uRR!Hh((U43FGz z4u%(S<Zy3vVHoy3;kTus?>gFVkAm5$bf?0QRv?_HYeP5*wNf)=vxWsp$y5{GAwJpS zPvXb2VXQ;IG7HSrG#cp->!!br_APqY$6=qAkj$f$m|{p=Xi3{{(^Iz@2I_VY3<mlf zvYTWVTkYrPcV_(N@;6s(iWS7NlGlNhhZy4?B1^TZAbx-go<jl}AfO~{nF>WX5f`N# zPb;nTM3SaS3N4h{vMs5{HEUgDe@q$6of21guVh_OvJV;Q#yu%AOv^e3(GCHVWRdOy zqX>KANC2~wiWE<|YD0pn7D#oH0T;OH+Tcp7TWrt>X;mkZJ8+doxD+AD!JkIJe#Z4Z za&>ieke?ppDg+Ldq^=Q8_~sY}tU0jth;xc82;kcF6RdlP4v1+kH(LZTu+3#~3b6^U z8zeMFHMqZV|Ldea{1Jh1YPkSwMLfk~zsW~V?_KCqyz*nz?;`5sdU*eye!aZBq+c#B zE=bPL&q;qcJB#|bkNWsC>f;ak@&$rr?+7d25!M==o&8vlm@xX#oBk$4T*P=oY$!h! zU?ChM#l0+C9-83X{_<x1PDR{?En9(AZL*O+G#&%(Ti`@313i{#f?x6C&+rocsuOi= zP%N>ttuU<&)77{=_RCsfQ(3}QOs%*@lU}ZviU$5-pwvWttaynB1^)J$ziY_4f>h1R z{@O=KvkJ+JT?7_MDb%9QqwGEE95Ij@&d3tZNV-L$M0?O=i^$A^Pzs-;@)l7Q3*;j$ z!t?7m9QYs>z2wFIEIGPLO6boLeO%@F{%i#fO@oc#G`dvq{A9_*Gg0mM710X(3D2G% z-z%^3mx4b#@Mq}%a8QFk3;rxl67ZK4M}isuMwYM+q2HVcP}_wd><E4&U{8G{U_2Zi zi+G44-VaFQuJ4h-{>bUXUq13@2ma8n6#Z(Ah{2ZpEq~Fks^|D?v0vZ9%f3ZY`Z!lN z7*f}dJrNe*wK)B%c-snbNe1AuM)QrL<ES#}(4WUHx?Ot{_2KlprIG9u_7yN3q3iI0 zfOlZjnC|JW0W?)}+f&o%b?`h^Z5eD#XD!=uI$anfVJcBzFatZGE0>)f&X0s<hbk+3 zJb>W87?q>-h~MTReh3hD$?(^>e(n3fj-2L^)0g-|_Ho?Bx{CGrPo_~U=;XK8T|IRE t*X7?n_y3pwro8yw^wr1H+;ubG`wv9fMC)j~6*&L^002ovPDHLkV1f}GA+Z1e diff --git a/data/tilesets/secondary/secret_base/yellow_cave/unused_tiles.png b/data/tilesets/secondary/secret_base/yellow_cave/unused_tiles.png index f825201ccacde428abdad0080b80533bffe1f1cb..d4535523bd61b5480239eef778ac3672b76fabbc 100644 GIT binary patch literal 1184 zcmV;R1Yi4!P)<h;3K|Lk000e1NJLTq004jh001xq0{{R3E81_30000mP)t-s|NsB) z?(W{+-p$R;y}iAxtgM`zoQsQ#b8~ZIVq#KKQb9pMF)=Y9ARrJB5C8xGL-gVL000Cl zNkl<ZNQv!Mv5w<55Y<1)Kyt-Zrm#qT7GV8=)~;`1QuQI?Os&;vrbvDy`GoDRx+41r zoBTnNH>4;#DV-((LP5I{IedCE^JeI(!uSItGI<|j5bxRU7^24rb-i;fMkj}(%0cbD zX%8;hW4$T>wiAP}Q|(U6AH7fZ7^;y~Stn=v>pIzEeFN~(hs6gSg$KJe`oS>j^!-+e z4OU3)eP7pRZ|hfp;D=}c!{@<n00dY(?V9X>PtHZpb87@@v$ypt0Q?Do0gx}17%d7J zKx10BKiak*48S7x7X}Y_gO?kCieE69BbWfv2s)bwwb|SHEra-X02?k7khE^!00jW- z%ligkZ=|;XNCeXAQUr!VA?U(0Qn|}Xjya7sOa&?c;CxxiU_{9S9?w6mV+jI)y`vRy z16a|o0P@K86$23Ir2w#JHZfu8$=tXC5K@3lZvZ0*Me>=z5DP#6g=q%>qd;M~0t{d+ zk;^54Pb!N~1Rlkw-7haMK2dPaRAbV+aRIEA!UjQ~gNV7%MXQi2Kn!6%G~oY@CE~^f z4GRk`oG)U;K+OdSz)mjw3;;OhBe!h|;ZwK)uxddab#uN1z6Mnf0{9=L0Kf)zbGz!` z8pMI&HnQMsn0A5%LYB50lo8<7gBN5<bV&dqK6t4<=K6jR5{+az&h_4<x*pH1uoogJ z^DMl0VF#h9grL=@G+%#<?;!$u$aZzz2pS9W-_dfR<;-PX5FS6!WB?kYR#UF;ca~oi z{amm0-bGT&f5&v<%Sp>Tv;uj^1li+>WA$8r`SSjK{VwHKSgm}m-k}3zQG6>SE&X*K zNwAQ7@N4s{e)uJgua;j?p3Ttey(8;v;=4?M%e-U?Q|S-YkFT$<Z*Om3Ex*iqSee$1 z5kUUoiuBM0=8yCV07IfMmHto(b_0Vfzo0M|fG)MxC|%(3q!$1j$NmI>OQJAs{eXY} z72~(X@@oxc1=y<*Kp*H-F1(xoF!p_z_7cx#_gwlzMT@nQ!J7^U{VK<5x7&2kS&5Q1 zN8k6vJ0+tqACN-ye$|Q?2*cu&4k8~iz}__}4ZXMyL{7}mg@5cJAQ*|Comz!ppolp2 z&#VI~3|!HH>yU7i*mo5D*q@#0S`jMJ0TeV=rLMCMNK**VFoZbu0f&wl5Md}X_B}r< zfx_InO$Rv^F`b5R8plRk?`qdT2XTZEssiz30O$fe%qmFs?3zsnYcQ>&Mx1`Fd9b&7 z<lF~ZJfgp9$7l}N3V&hb+D!+guECOs^n2{z*?D|SVU7ahM%r%1=?Vwcp4im3>0mvg z#B@Liu!9Ip3yA=9fX8&WIXhqBVCff|4(z*xOjxt1?ineW7<U7Vir)jc?*~}V!v6vO y3BY<9-?jPQ0Z@+f|1d!LL2)-g`9X2-{yzb4+YwEx_P9d;0000<MNUMnLSTZ)rXULd literal 1125 zcmV-r1e*JaP)<h;3K|Lk000e1NJLTq000O800NK%00000LOzL6000CmNkl<ZNQv#1 zOK#&v5QZx^h<yWlF{|162+2i~MHPqEx~dt>THS(YZJ8IK0czHPA!;>?B!G0M<o_wk zj~PFNK{f$GKtH<4R<j;oRa5@PB}d4ySMn&5trRJ#WGT7Kr4)|tc(0Tssc@82<}{=# zS#b}Nv#S)>NkSpm$;A_%Hs*6_<{v1{H*)N{lv9zQ1)5-*(nz(GMAgbcG$xxr?QMof zrCjX|ui(i3-sr+^w;cq(wd{tzm+kr>m_3&Mu_&Z7h$iVfiYAlJ<_cNe!h+-y?g{U( zGTBm|#7}LdSciaRHJIyZG_u^UoBlT1HydD|(mt;tSx2cc#Za{JTGst)kbbq>Nxy+$ zu#?Y}%_JLcwLLz+N5=11{*INHVg-rpQszXeP(pDJk(If-A%1`ho<j%?5O6V#ER`di zh>J_+)5aTrB+1hxl~*oZ-PJPSI%*xWKc-CW#zh;v*Rn4q#fOY^<DOL+rez<482f-( z3Z}clh+$941gI8qv+5~V9fe$VK&rP4xWHB4kt=Vmu|aF%%{+<SfU7jZ<p@b8f6jpY zjO%;k;^Ja2Ki$g(1rF8X#TiccRxl*2nb;P_IWY?cxHiKC>lWfW#5C8dHG)WNb4^Ym zF~N0(gmN?o_gAI-^{76|0|MhTas}2ZKE>j4l@FZW6_ZbV<ww@<jP-H3d;ea3JwHE} zU(U|X#7<97#eX<CVSU`OKK^8V{2^byK(OqcV8uJZ+K`izA1kpiMIU<8-xP?8g|0*c z<>v-0OgVDg%ck|d2_D;D-mKrLh&$S{HdxiA82Llv3DCX<PSPpRQ)3hSikI>XFYH&n zdBFzN0z1bN(<U%oj@x6u><u=x1zg26s%tdq#Zske;V%X*E$d^c3p}Xsx7Yl=h1@of zrhVDp_y}p2lswxout-Yf!8&Kz7uGpqU~@QQ3piux8i_I=KvT?^nVFyzKC|*>tcn@( zk!JM#l81xtCD=<|?9Z0jRZ>EKHuiD1=lgS1I5Yz`f>U-W^894U#Iwk};8(E~lqWow z{P13TmA^#(V$WZo|HDBie?k6&CkgmVjw2yLf0Ia9htRJc2~gWm5OxHg3E0ZO1dNBn zLlN&-#M>RxxETgya5!)}@s|($#hyR(D@VV&MZ{oB{+2)XtL8cWI_x)e@N(#ol!52! z3Pb6Ku_wX;ycVZl!?!IFmlOalJDV?yPFZEvqd$*bbbVV|)<==wBaLJy+E>AFgs#U2 z0^Wg98@`pB7SJ^9^&oBQm*jb@+L~-kXRXF!I$abbVQMTen1P+pmFwR3=SM=bLzUG7 z9zgJ4jOx*P#BX&UKLiN7WcV98f9?Aq4xHwZ)0g-|_Ho>CU8DZ|C(|fFI`!>!7x$h2 rb@{i?{r}~^DKCCEef9Bl<hp+V{Td|;RdyLM00000NkvXXu0mjf&Ics1 diff --git a/data/tilesets/secondary/shop/tiles.png b/data/tilesets/secondary/shop/tiles.png index f253a2e53538ab452de0184e377747f0ec8ea10f..5911ee42c9f5f2d670a75dab5e6663819ea985d4 100644 GIT binary patch literal 3899 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 literal 4416 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 GLSTZ@KZ)W1 diff --git a/data/tilesets/secondary/slateport/anim/0.png b/data/tilesets/secondary/slateport/anim/0.png index ef62c41431483083afeb712f971a5e1b94705f51..28bf60f26a9a602b467f4a481a2e15a4ef38e59f 100644 GIT binary patch literal 227 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDU{r~^}yLa#I-Me@8?Ag70 z_pVv9X3m^B-QC^A#l=ZUNkKtDj*gCohK33X3IYNk6P&+1`~{@)JY5_^IA$g%BqZ>r zHZ&+KZMeXoAS*R{*)Kkg6T7lrF5R(ZIS)@@mZxLkdxsv^g^mjg6^>on9q#JbwK!@0 zQ>L$sqQ~#;T{U|d*A>1Ljo2o`DGoegv7sEziW(woBs4<exHeAPy2pkksWwAn0wcrz Xk4pdabZ*H3ZD#Ov^>bP0l+XkKge+Eg literal 179 zcmeAS@N?(olHy`uVBq!ia0vp^96+qV0wfsDXLs`gsVYww#}JO0u4gxL9ySnRxe$FY z_f!dIg^YRIo8*{f!4nTLnc8!_e{_yXcY<JDv880s?CXE(%N6cAJmZSu`H=W#;x~V{ zs+kh+{g?cxc-?v=OFPg?d0K(++zqaOZYhR84CIXa5f)W@`@_qYHeHcL-+HTxM9wT* d_)^>F4`b`Hn3hwkP3MDL<LT<>vd$@?2>?)cMri;5 diff --git a/data/tilesets/secondary/slateport/anim/1.png b/data/tilesets/secondary/slateport/anim/1.png index 9b926bdfc1f0b0450638aa5faa4575fd8cee9a65..31d22f6972e46148b4bb6328b4831ce7db2a6be8 100644 GIT binary patch literal 234 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDU{r~^}yLa#I-Me@8?Ag70 z_pVv9X3m^B-QC^A#l=ZUNkKtDj*gCohK33X3IYNk6P&+1`~{>+JzX3_IA$g%BqVU~ zCNMCEsfJz)5Rjd<Oys+WhQwAakFSw&49u&eE(KjJf8WsK>g^or?AQ~!v7Fhtu`6<V z-08immT(z8eRubUiRuEqYrD&v^%^C2l{Zgu;Avan?U-Qdu-N$^6VIBbPZ#n8xN#i$ ebs<23nIR}tX^|WMG!CEx7(8A5T-G@yGywnru~*Un literal 181 zcmeAS@N?(olHy`uVBq!ia0vp^96+qV0wfsDXLs`gsTxlg#}JO0re_uTm<&Z&F6=zy zHKBCEo5E`*5AC)-2vfMh^4arcY=Oy7@t<ika+@lj{h!I`$t=m&w)R2s%8vK8%6c~i zPEQl~S>k+Ixk}<;f3mZE%uy3g;rz=F-^^XGbjhlN?i<ck|GlA6Z?bdky@2Pk@*3Iq fI+CQc^b;Sk=S0Rls5))00&<V1tDnm{r-UW|H3UYR diff --git a/data/tilesets/secondary/slateport/anim/2.png b/data/tilesets/secondary/slateport/anim/2.png index c5974f10582e15956a2b41e0070eab0dcffba529..83b0e394034e2711db58c5a53bcb130b46d75db6 100644 GIT binary patch literal 231 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDU{r~^}yLa#I-Me@8?Ag70 z_pVv9X3m^B-QC^A#l=ZUNkKtDj*gCohK33X3IYNk6P&+1`~{?nJY5_^IA$g%00D1m zLxaN7h6@Y|vQpEQ{NmF%u`6q3P|U611unC~0`6EVD0^v}XqfOFiKzO%O2eb@%B?NC z9cmqpZY*CP=N-hF#cotG)uCs>?(nGxc*0^sRVPR-2wmuva697kX~k_!l8OSiot+zb Z7;IV;f242!><qM>!PC{xWt~$(699|USQh{Q literal 179 zcmeAS@N?(olHy`uVBq!ia0vp^96+qV0wfsDXLs`gsVYww#}JO0re`;D9ySnRxe$GD zt#|n~i$;@q9@;Ak7CLan3*0*T!0m(h2ac>dzebbwJL|tcd?&kzL+-=BI}cQ2KYVxH zsQYN5!`%Z~+TY9sr(N!uq<+vw`3~2#q)=vk(?9N#Uy2Vn{(0;Y@x85Jmcd1zSSi`S d`2zM$kGNS@#&+Gfbo&U%HJ+}1F6*2UngGyTMrHs2 diff --git a/data/tilesets/secondary/slateport/anim/3.png b/data/tilesets/secondary/slateport/anim/3.png index 9b926bdfc1f0b0450638aa5faa4575fd8cee9a65..31d22f6972e46148b4bb6328b4831ce7db2a6be8 100644 GIT binary patch literal 234 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDU{r~^}yLa#I-Me@8?Ag70 z_pVv9X3m^B-QC^A#l=ZUNkKtDj*gCohK33X3IYNk6P&+1`~{>+JzX3_IA$g%BqVU~ zCNMCEsfJz)5Rjd<Oys+WhQwAakFSw&49u&eE(KjJf8WsK>g^or?AQ~!v7Fhtu`6<V z-08immT(z8eRubUiRuEqYrD&v^%^C2l{Zgu;Avan?U-Qdu-N$^6VIBbPZ#n8xN#i$ ebs<23nIR}tX^|WMG!CEx7(8A5T-G@yGywnru~*Un literal 181 zcmeAS@N?(olHy`uVBq!ia0vp^96+qV0wfsDXLs`gsTxlg#}JO0re_uTm<&Z&F6=zy zHKBCEo5E`*5AC)-2vfMh^4arcY=Oy7@t<ika+@lj{h!I`$t=m&w)R2s%8vK8%6c~i zPEQl~S>k+Ixk}<;f3mZE%uy3g;rz=F-^^XGbjhlN?i<ck|GlA6Z?bdky@2Pk@*3Iq fI+CQc^b;Sk=S0Rls5))00&<V1tDnm{r-UW|H3UYR diff --git a/data/tilesets/secondary/slateport/tiles.png b/data/tilesets/secondary/slateport/tiles.png index d8661b99a7fc2790cca36c5dba1f4d6e662e5260..ff7588d2dd81d06c91d2fb2a93fc1e4b299f4b4d 100644 GIT binary patch literal 6559 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 literal 6985 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 btm*#(5vZlyjtNSq00000NkvXXu0mjfV)=j< diff --git a/data/tilesets/secondary/sootopolis/anim/0.png b/data/tilesets/secondary/sootopolis/anim/0.png index 63f97ad47716c3c28ee8dc79b2eff50da218dba5..6ae032652c674b221bc61579d196d56395190617 100644 GIT binary patch literal 1135 zcmV-#1d#iQP)<h;3K|Lk000e1NJLTq002M$003YF0{{R3U+Zbx0000mP)t-s|NsB) z?(W{+-p$R;y}iAxtgM`zoQsQ#b8~ZIVq#KKQb9pMF)=Y9ARrJB5C8xGL-gVL000B} zNkl<ZNQvcCy>jC=5N2^!4-hk{0dU5R8v>e<3KxL{r&bZER&l0!b4I8WH!Ac}@}+R0 z%M(O?f;&A!z6B^*=8>8d*9A7T1op%JeAq>HIJ_PIc{_fmN#E^t7B>#ZIM0BKb%x)= z;VTxH^xa-(M_4-k{dSC#zFX@A_=f#&-`@cj>jXINo7n&^))~cu(DpQAT&;EXl>%>~ zr|<SU`>$g#pD(K4=T&u*vk&T<iZt{2!==1{41QZ+=W$+rl(YBqpXW)@lFJ5wm7hmN zTb|-uRCC(-Q6>`<)}ne?bjfG{wkWklmz<>(+Z?=00z7naaFzgcb8wOXe12?l@01i{ z4+lxk0O;W$$ys*O%R!V0(9J=V%LM4;Aj&0GN*@O#myzin4oEhDo_c_60R3Fd;$8LD zLpA?3yXohE<TCrz&%t8?^m9-}z|Hk~nEix$$gbBzY>O-PK#g&8tsY|MT&suFdj0j# z^ml(foZG*Li&Oh&gYJ5`d}6vdSZ0^wQ=5a2kJ!%|gX%PvKPs#CSa#@FL1}AlYa7D4 zs#@w0o~*Tud8dZVsu1YJyX#f3W#PRnz4y6yyc}Ix!SUKk4xN|`y~Dra%I9`{3Zz=q zmMiVO^M2wz^IXZjEYzqmF{lE3D@Nx16w@i`#yjuTD4Bo(91uPiP?94W`JV!zgcD%D zkyrvGwKyT9;QluHsDjzr98QdqQp*NVa#{F%UBwVg>76xJS;O-(>8HhXzvDVYz{--{ z+<--?N~dUr2*!JfFzEqVm9*uwwpOX4aE+II^YZ0(y#!5l+Tol4La@dQO#Cq-!0L$; zzg{tIB<_Nfy@`_EZps8O+B-LdZ?M(m;0wk@uGt7tB8ef`_0BZDU7Svfsc;Ek9fOW* zZ6Y9gAizZM2v{LG{4rhnB4$ID1TTeingD~9QQF|TRmnj1={6j~1z=5p+UC|8tvKgQ zoLGp7Cjf|2s5XOgo2nN+yZ|Ulb5PZ|7$YS`cenjgaGnB%7j+w{u9@UikaXtt8I;IL z)XN3{4~8j^a`gOu^Or|CqB>w-GfsdEOj^aQ!3EyEZegEGUvQ_5E;(H{07zl4N^-E- z><X8I0go0^b`$|sZPon-MeXl4cD$7$-+3V<w^D~xQSkBljQj9o>!;(Ln`{LlV7BD3 z?g6OppG(f-g|Mj=d@HCzt@&k5F{1H;HAsXh)Qe(Moo{x?5Y*kK_N2xQHUbcsVcd*g zBtv=GkQ#?fgqp4sdlo8OodRHV?%wn=NUrUuwk5;eYJ*A$@2?0w1>uR(hAD&g(Ds8q zJx)*tGL^=<x_Cf7JW;DappI86sn5VGZ{h!R{0rJ0fp|Q5$fN)O002ovPDHLkV1kaB BD8~Q* literal 1201 zcmV;i1Wx;jP)<h;3K|Lk000e1NJLTq000O800RI700000`7e~F000DdNkl<ZNQv#0 zv2G(b5QgU!ba?{no*<{fMb3ID7iyf;D?si=U$M3K3e|U%n8Jkxh}_1F0g<c&?2`S; z#pWNbEK9a!1W9mkfL!sxIu8Hg41dm2zkkxBgkHbjr(W;FKKi|0pFW)cA5VH8=p%kp z{}a&rnRoou2YQ1(A!5*}ydL-AMciM_``*vj;@>OSFbbeyh+?<UP`eR=ns3*F#FqjP zvY=~GNGb~aUy4hAiJ~a5dbN*2K<fMTquy8irs6vweyHAzA&ObcDzoEy&yc5WjO#p| ziWeGj)wQJMye;Q#zg(e1oVVe;8_rwo@OB+vuc7y%j;j}Synnq}+W~s1&rg`K-i-BT zU2_r|&f9RdCu}(H=6K$h_xsQ4cvpHk>*cJMvtG`6IqS_>?{`+o>4Eb;aNf<K|60zA z=PTjP|Ab%ub-la;^k#?tgE2+kLNDisorXdq9tU1G`d+;K*YY-ezilJawuik@^>!Uc z^`80VN9u8h^6g;U>M>@#V>kMad@GJ2^;9HG4_CJfLWqpSG}Dw#w5N#<ZtpvT)f6(N z>{4qg*HTiDfR$2pagQN_GG{gE7$x}<A=P3fNy>$M9%t?+nv`2bk~LJ+3XoBTZCw5s zoMmG{+GQDqa;eD$C&~GNfAwqdw4>I*+AYV&`y%!db>EK+Z*@9(L}oDh5~i9_B5vZj zHb*!>MT3!-bgt`2rBs?KZb^b<L@r;}l_V7q9G!7ww9`}@bVyl1h5*Pp?+Adm6?tzx znNXKxyem<;TQe$zDAy@JgL25RRya$AoaEK*5DWFMyjn9#&anon!@X{a<ElWuLh|6( zlIDY9Aa#rG%6fE05`T7f%oz9R6V+qDW`J8_9DcqZ=k(hW5Yx*57)xl{3ebvwdTOSq zyqQk6O~j#)T&WdBE;@S27wSA&1MAgV8*&;plP+4WEs`>*Em&(PS`-*u8Ogd3$gs_f z2V6X8$(rFS_GzpX&D|Nw3cK<ZgIAUHTPu6UsuNgnpVyJ&;K>C;R)P1by&PWZ5rwL@ zWUF}vEGjB1rBIeiaiK%W&56rQkYWUe?J(ZLaY!R3B_pC&C7vI563}pB*Sh4y2`&mf z^#QkKBHn^_@Q|?sNA6~Xvz%V6=;ortt)}bd?&1j|7*`FScBi_-A>}PaG@s<%`DZxs z^n$|8=oh*>Jr8s`8VzZrZ_i1~`7KuCoYn!ig=>R1T=G@$a9s_@R`rmEYJuP?oOg{~ zbRANVUkAKyCDGHW@-Q4mOT|wJ-Q*Vghzqs2P-9E7{62#AmZC-pMw>s#-NR-HA%U&8 zWMu5bu}FYB8<E~GqY=A-*NW%QUK?jHBQ#^;c<Q-s{x#xY8_uXZ_=vaa190i|65BA0 zo(7q7F7m+*!L^>26J2u11gq1m8=Hbf=e8bE3<hlvY-I-+myQ9wY#S_S=+T@r9|Nuy zuqG@azs$P1mUVf#4sGr^Wky&WV^!={6Y_R9a@+1_+Li|1-}#9Ak2morCnR$(udzI( P00000NkvXXu0mjfDm+cG diff --git a/data/tilesets/secondary/sootopolis/anim/1.png b/data/tilesets/secondary/sootopolis/anim/1.png index aa14ec04a1b80471384f14081d6956e8ea5bfe00..5bf8f7a98a4160f15ead2e42635d598fc2ca5567 100644 GIT binary patch literal 1155 zcmV-}1bq96P)<h;3K|Lk000e1NJLTq002M$003YF0{{R3U+Zbx0000mP)t-s|NsB) z?(W{+-p$R;y}iAxtgM`zoQsQ#b8~ZIVq#KKQb9pMF)=Y9ARrJB5C8xGL-gVL000CI zNkl<ZNQvcCO^)I?6pl1g?CnIFwe3i?jvph$u1s9LE@?Wfv%%~OiJW7G6?d6F0aJZ} zF6su<8RmOVps5hhET&g&Fc15Eet-U+likbvVUI6Q{@-6Gue%p)yzk@OeLeKo$^Lcs zwtoYh=j-m!Unlr|IlKXmdD#E+(qAX|eR+qy_XE$@ul;ob?BDM=!k_rRw`RcZ4Iba3 z(fzK!P7uqtFR=S%zvsBV_1DRN9e1D0$3+!Fb(BvZ)T6L~W?s$D<-^(WdElML#YcHU z+y&Ug&SPKJ9bg>zNT@DlXP}%f;5Ag2vNf^z<M+TjLo#NtsLDs|gdthS6sxNI6m!3n zoJh>5Ty!<)O8{cd{;?XC93$ua`BNB{973D(d{{nkjBU=t@*%masy63g`IP)}wFXf> zCBOD~(34NhlpYU0$Qm(R@Zen5d=(cwIFmJ}d7Tf7c?4YN!vfqL4f5b5k;U~IutXMv zJUGdkDSwL(_5Z+!<Tf9ew72-cEqr&253zG@@u6+K>wM_C_c|Yr?SG9A$M#1egM8>c zF&BL3zfwIu)X9$+aMO(e`=LMT0sXSkhV1={nr0nBPu(=nL?ncFdMrpc4WIb#df8Bs zd#?)bed?VoCg)agd__t^m(9lB;j5+gDXouzgyo8)Hr_k$XWk1hwIY@4NoQgd8u-?N z&HED5Y2~I^=}Bt>29#ErPctal5s&n*452hffZi%B0a7MAB2*^*ee@9;yP*_LtX9gX z4p2yy`*a;*2)6K!ENQYbEn0n<msCj8M8J~RZfa3Qr3<Hdg$Smk5GKD5%YwI@F+^JD zx$C^7TTS=t8f99wJ5n+r%S7h|CjOi-VEHV$zFrGs74AZ^y_r^?wnYoD#ydBLZ&a(x z!RJC|sSy)Ii6q9Tu6MTc?c#JMD>K&u$O-7AF*X9C2L{YC839WqhmSCY&to=hDU(I! zoMFIdX|=JqZe0iz`*<4;;R3K`z=~2LYqXS7WXCGR#9IIgrNK4}x|Q0>@fkpKnxnA7 z#aN{{I=wNulx?8!qVHp=S3*f9B%hgXP!ctZdes5o!3ym`M=xnR_Mju!0sBTs1|+B? zX-O6rXr>$3m&)hT8EXp3*9`zMq+kczZIQba74T>wO_K-+EBxJp)ZT1qx=|TOlVwVh zGEK`U_?T{RAAU-{oEC1j$q<16qayD|+!mWcig+QSq)cuyW+>U;)*K@muOW*>ga%)< zC{4O8kReKU-?k?=ZbK1(z^ssV3gUoX)U=JmCYlvrC-w*`T%87Ba_ZjpWl+-4WJQHQ zg5duoJ^=Oi*Q0snv|-9dLm%|*;{;{HrrNO%XAj7SCu-R+XyBD<)hFPMx9}$&{{m%B VXxFm>Dh&Vt002ovPDHLkV1k}GE%X2Y literal 1262 zcmV<K1QGj*P)<h;3K|Lk000e1NJLTq000O800RI700000`7e~F000EFNkl<ZNQv#0 z!EWO=5QgU!>^F$g7uao{pnVsg(msa_c<-h!I$J5=bC)u6GmJH<a{!Ax7m%pC+yd(V zONlp5lVVX6i!RU{K3L)CAI?8RN^agyrgDArek#fJ&6P}(>-RF5Ccq^5k+_ko$@Du( z@K0a@;8~_ulZi|c0zc(ynq0{bW5`8ZGQ>@Rs|n*Kj7yS4hP=tmyCE<1lJA-K`rXUC z|MmU#_<IE>;sBfqVD-!Mg-)&Hv{p(~POR2S)~kFipVTTJ<L-)&E6MMQwXE{Hj|j;D zl^=*g*6K+Q@8^=^Syo?FZ!-kn-S^bHe_QVbGC~n+{DdACI*NA4+biVlnYUj7omvyf zd&=`%ijP>$i(iL2u)kchj=Nu9=FPdu&voQO9n@P>Z%w^V--ccWi;H{uT+nCTQ?IAg z{Rq6jkw2LCclP(h{+`(1j{WGEw`1P!mAr5Ecc|kF=H(mE+fZ*qy^MMp^)l*Z)Z0*R zBPWWUnD?~4n7^L==sV=?Pv6A6{Ofud^)l*Zm-9z#aEMjLgH6}^6Vb2FSKnXG{%ig1 z*x&v{pZmTW<G!H3Z|c36m#?XJKU$JKtC!$4m!Ge`H@+2bp`$Nq!18kSaX~4Sidv>t z(uEDOu+g7GI<5{OOG!UiE9FsZi5jT1He=jVh?3M-R&3j92_-`6?LmvyTm3T5JuIvk ze`rNFP%#HUw>mz?WlzCrI#*(Sno2D9R($kYe847O`x<<Hqp`rz@8@s(qMjuhz8~-a z1}&bDI$U@ImX;_Hw+O7wOYor<KMPuJZPQArjg^{~4A4Z&@^w>dF%iM7cV3+JRvHI~ zOa<r|0bTHo2!yJZ5UL<9Hl?`WOH}TUM2!&RN97kV9yyK%d#RCAg4vZ=Xnx{qL-4UU z0`=v)evj>%D4|C37>-&BTShTExT~8Pvf(F+#^Fqf2lyn-9H>&j?{Tp0!#tCp_kdb{ zh=8jErr|)O*6=Y%w?yULa`9*)HihKI9HeE@ZP09}4^lbgZLD?TEyhgywqk9q7>C+o zRXJ%Z6c~NkO66k|$1!sO@a=^qM<Udm)3!EJc!#p$xqL%#)l}helml@X1-A70*fI_? zxg~TR`L21EBWOF5ST~habx{M`TFTlOlx2pvIHIIE?LJjvh)7f;=8y0U>C~bmT6k6B z_|ZwgViHH|hDltYQSdZGbj!6k3)W+XFi{?^&9Il<?Lq7<+8Bm*(_I`v1f$iM({Wc7 zHmP^g!hHCATVWD+w-W8_K!GT`*{qbA#s91>c35o-IYx8~ZNqH%VXk7p)HRsc8pB$e zErRQKI~uzk9WszVMx1V=;b~n53>>bOnnwt3(&Esfp%ohHs!}SRk7xt-$4PY7{U-ha zV>TcT;OOm%l#@7D12CPP8qP1#sq=+5+;A7i-a7AaM_6LvdF%P{{_E7mYuKY55n7zp z5P=Wg?(rHfqt6$a_rB%EonUH%>=(9V$O5a&bi6hdMT@GLNgEw(j~r#*ljxfr_0q>+ zC1rp)80v`D5-#qcyidn_Egkc+4(lG6G8HV&v8v9i1G4^n<@V#_@Y-<U{gaQ#|M*+{ Y34h~@&{V&Q$^ZZW07*qoM6N<$g7GweVgLXD diff --git a/data/tilesets/secondary/sootopolis/anim/2.png b/data/tilesets/secondary/sootopolis/anim/2.png index 09fb59fbf70ad81c170971b11f6bb97d1cfefb76..85598e14598d9e83f098924e64b0dd81b3694d6b 100644 GIT binary patch literal 1155 zcmV-}1bq96P)<h;3K|Lk000e1NJLTq002M$003YF0{{R3U+Zbx0000mP)t-s|NsB) z?(W{+-p$R;y}iAxtgM`zoQsQ#b8~ZIVq#KKQb9pMF)=Y9ARrJB5C8xGL-gVL000CI zNkl<ZNQvcCOK#&h5Eamg_oN8SnxueiM=S#dyb3M$KENcs_M#*2W57C3k9WR;a|1gk zn0QXm(HZ6yX*;%}7_;bIGoK=>p6bU}%y$2_ZM)g--ZsxW-gnPg{J(jAfnv-1?m2te z?b`O|dfUFPS<`mU*>hBE*6rJ7{rs|PyXOqy;PdCUZC|%*?7QdepXZns*4u82efONb zuHk2|dELD1y60?{e8#ndqI=H%@49|?_*U1|@asX|otdvFz*5)WPvr?@@V%m8G@Qxl z(GE?h0{cFf2Lu##{nzl}qdertihKI{Q6?ABXZ=w1Nw$9(#>yV6J~@qmz#1reB$s+m zyyKvK5`ah4%z5=o0P6cdF|S_9U3z>7vG!hh$8CJPuVU?eG6GO@YEF;5%dWXARjjN} z0?^?>N8U11Iy^X&x7pQ49-PWQvoAe7IFYw}SD*8t#)V(?@!(xfv+G_S93=xT@gV^& z@Bxe&T;{{{7w{pw%!fEv7x-|S2Jdq|Fd)0chr{fC#)sQ9oS*aIIR2mT;pBnn<-_R{ z)5nMNS8CAZ!@2oaEgrJ8rXP)UcTIcjv&L9*H*;#5#j!~TbJIK#kr2U~p&-*V{Kb3d zSwm$Jf-XY{dGN9voqECNbJ7wvH5mqvUn5P(X>mxTp3O-b8-fpE5`qZQXwrol?OhD& z2C<D`_qYMzjP_%k%qY2l18uYlxq^`c@yh>JNToRd<VxcRkhbc8&`O4z7^807l5zxb zMr*70fKuur<cm6{;L701ks&AZGTE!5qEgx>0%pX1bB8W!Q+mTEWH2U;G^Y$GS>>%I zGNvf}K1#kabhDVEP4lFYk^xGIeH6I(F=D{%NpgRK5!Pwkg=BvdqXVtV1aLNZKSXSF zYhObsgjBf|BV>sphUjkaZXesnKW|l~d;*Xcut{rO1jGmom?#+mGZcp(Varg&YS@#K zrSje~U@&vWI$XCY1)6=h4UcpISTJBtIgztQN-5N#3$gG7K%)%U=0LZ~I5|847%p>A z&v7wMYtGIrZ6Re!6j97gZ1r4d$%N!@#!IwBPoiD#0f^v)37}(;v>FD`5$u3}D<lIl zbdroDhYPghCHzYr3hAx0rR3`dfEZG8fYquje2xwTjF6#G1k`hES0Ht;D;h7g0%?@e zlC*6SqYz`f#C?P@g=$>-$x<N$0Y*jM4|pt=r4;c(L`6z26*H9F9}CVAgV&HlA;N$! zMpQOmm8cM{yGi58gWFI9ATcMT8-qBY7d2^c*hMqv>x7PA!qpi7M#t$*FN2nrMsq3! z3IzX0@d22=zaGsKmkn1gIy$qb#|g%UU8S|CPacr7Cu-I(sOObR<|FXJTlkx<{{VSe VO*1`9JZ=C0002ovPDHLkV1f%0DmVZD literal 1260 zcmV<I1QYv-P)<h;3K|Lk000e1NJLTq000O800RI700000`7e~F000EDNkl<ZNQv#0 zO>QGM5QXas@|<8aIf3mP*jLcb$$46UW-odcT3ZgFz1gBy0tATcYz?T%b%1ViFU<g* z_t>)h6VD_Ff<Xp|79S+B`W36{kuAgbgMkb|IUNoMazUJ*4d2U87r=+h)1eIUTLwKY zPG#`!@(eh?l)>N~zTwm3J#lh=F(k0?;qpQTCpqo|<4%T*JL!X;@}A|qr@$rip5?sf zIWO@a-(QE%8`u#yz<v(s`Eg+{-Dj(1_o=j^)F%xn)#HZ9ar60&lDqj_$%ZKP{6>D= z0JrvTF7xtHPnDZHQJ<ivzN_AXxSKCJ>dn5c_X@L|BLiQd$AvGOIiaPywHxWKk+)N~ z=#aXe1L~Skf(le$ht74}0hW1n&RgcZz;(IFz{aVku5%r?tOI(Adg{l}n{jSvG4wj> zb=2#qx1ipFdJEYz@1A-0%=?-6!n|LY_cQ0Q=R8!8znt$=9pCoL51_Z8-aYk*@;B<; zQ)<@ZhS+l+d(LC`(tjQ2(ZPkpkKmVoU2jIc8TDo_{ntV79_}Q%E?)|}d^4!y)%T~f z|JHnWoNw;#(_?>QzF*aQ<(KcNw}9T_a4{bAi2KJ2Z}#?U;+x1l&3V=I<?3Mpn<_+2 z3oFIM2ASCCpS^${H$Ii(qqS0PwU(%XT5EII<gvEG*H&ywT0(`8W(k96z0|Mc+{46* z@tY*Ng^Jk#I_Y?bn>_{>#TfqcMIo_TTk+9r@d2BB^KEc^qP4)*ug72Si+Yxb|LxEN zG-&dO!ogP=Q#x!~A#M^_o0s52BXJb8T-i2BrHz$_Ey>VCV)?plw3vwC<ee91y_MFX zL#76FjDRlrL<B<JNC<Th7u!l)@D(ceTcSaT@xAgZ7>^uVgS|A!DZ#8NEVMs!wI%qo z+yc$ZXZ;%6HBmx?<S}ful(vduR_Ly7N63b+C>rmNf_Olmq#Xlw0r)izwtX1S<d-#| zrXM5VYC+R*9~9Q`XOP_#mG7pLLldznBsXRwiAATNIZz*@cF5aW>%?2wO#4)`wj{=( zwpiCrQjG$muaeY0Msc*63xH2ATCycVL!YL`Na-EQipTN|!Bta-gOvlZ=>?YT^ENRK zo?H^TiG0>P%Mr94No?9$>ZWXfWg}H%49YS&F7~L{oU|^K7$OpNkMRMXAv-mxh=g8M zIDYITz?Vqhy6nUW28Eu6h-tZmvtT_u1V?#vZG^q7t~O$?FvgI_&F<m|A{e8FPy1cf z*rZ-bLi5q*s~S#RT}iZ~4F#gCMx#nb7XMjYuCSU)*+xtYV}mz*_EijUT?@xHFl%L& z2yWt4-`Hi}Ap`ks#OXE~J#Cr*!{KUac!bbRwm2jVw8lVPT}jRJ5pBT!=tO7T@8Ta| zvy7NQ>#d1`P8_QYxO1oS`6c=nfqHtAJU{l<d51f~5);o`&-eG=PQ7>xd$c`5!dVRw z_~`8#kKr<Uy2!lui5qtU*9KWnY{ifXR;NXOZ7PbEbvu$29oimgW!{sRo9*?AL$H!6 zpgAyg#Apc@*HB&;{k>N7d0B^b4@_AI7ROjs$JLBkcf4}D{%3wHUwHrICGtPMi9Y~7 Wo~LxP@{BeB0000<MNUMnLSTZV8++sc diff --git a/data/tilesets/secondary/sootopolis/anim/3.png b/data/tilesets/secondary/sootopolis/anim/3.png index 0c7c05034ea82b816b028eb39b9287fddf0ea9d2..c7aad10c7dd4c00b184e991787a6ea8bb2b8096e 100644 GIT binary patch literal 1112 zcmV-e1gHCnP)<h;3K|Lk000e1NJLTq002M$003YF0{{R3U+Zbx0000mP)t-s|NsB) z?(W{+-p$R;y}iAxtgM`zoQsQ#b8~ZIVq#KKQb9pMF)=Y9ARrJB5C8xGL-gVL000By zNkl<ZNQvcC!H(ND5Y?gaofLtbNebArI1YU9CA7Ks1zPV}KsNGy1z6wJ`e^hIvR}|R zKhUkep>IgZk+o9LOHSpkJS69FhV%Hy?ArzH1;2lOyKsLz&dxmX<s3imkH^`Wf4|}v zANR-OEaF}P|NG0C`{OYKkm~Ep<?`1H_s8Sx<;)Y8SN^y^9%rvHQ)=8Fk293?Pd^d+ zqjC0M+hSLvg<aj-ha2}VJ2W_c8`^5H{3-0>+FN@?EU@Gr6OUutBQQ}v-S2j9ZSud1 z`+7>*Z*2<k_?ai_`zad(Jk}hu{xD^$SYkcq;JanOa*Bhi1>jRx`?Lk1{<W)p(lTI% zgJd6=#%T_cO@L_*qOE#Bs{O64vUjr_L|dhknC5`(10uZ9!O%v)8yyVnN2HkLfNd4! zII9N+Eao}*oB)$LxLN?_IbaLGJO`aBf3_ady_(m<Ljug}A>Q#H>7l>7b6k8(mvdeZ z*Xuu{hrt6esfWQUw3y=H_LW+UIjFLq(c&GdXX4l6R!#W#t+C|p8fx3am89O?w$DT) zMDS)Q$h2)eBob?>EJDy_2q6z%maAbDEN@6l_|#?@JpPR|A*VyXk$T^dG&Teu!X^X} zq|u}cv+6=D>K3_;;P7FK&l~O67@1WHfdJZQ6><e9C*qd>p|F*<2gsAg5Fl+;kI+hn zyO^VH-H~!6aYk#aJ3uLQ5%NPFx8Ta)$&n!^^D_Cj#g<BG+X&bb$ITsB)TZ=?N7%ud zG`7jF+`i-~Z!M8AMd7<F`N`1Tp#n`!nvs$LN{KEDLj1mB!2Ve>zrhIWG|obDyp7R; zPGtf(8@yj4H`wZG2!)U;w_=4|qKGBf4c>LRef+#tTjdjgyns(y>mnd#V8BMn2-u@I z{0UozB38qZlq{9^mH~^sGuGj_O({Tje;OX!1>nGdhH@fjjg(TTo`qO=0)Qw3wK>Rb zYn)sT0EWw4)C~^CY0bMcM_WjlHi|6fE>hhHEm@GfW_<)DdK3M+10aJFCP0os(rFnW zN2mkwt&j}Jz$6(-4hLx0N5q#p6w+H~OUcI#05PQG1gBG3_#6xbTp>fN2&fx$PY`vm zCt4r1f@qY|lC*7;qL5>K#Ce1@h3&fZo1?-G1QZo@zu;?eETxDCBDSRDQL#eFy+80C zaq(JmC`1_O#fYuVPbDe@b$97{^2Kc_0<bYBq+3HckQcS-;&6zz;p4;{!G)tU0IaUJ zH@ys6T3R(!3KR(aui^txeSbaLXD%C|Tnu#MPmdFvEr&|&P!ArEn<r}DGHBwJO71K0 e2XEp3wEYY0sd^jia<TjX0000<MNUMnLSTZ00~eP7 literal 1184 zcmV;R1Yi4!P)<h;3K|Lk000e1NJLTq000O800RI700000`7e~F000DMNkl<ZNQv#0 z!EWO=5QgU!-1G(F?Gt3*pzzV{bIE{mH=6}?wz7clrp>+hAk?JJ0Zj5-KqBwT9^8K@ z#kHNJ8x+MN1?s~G$sEpb{uz$wdNdl*IANTg#tGMSGX}24<1vkHu76;RX!H@QqYwPw z)kk3T;RYC8F-8M^KDYZZ+5Pm)?yYg(`}q#|y?~Cf03J(V@!RRb*RrJUPL?FZ{R$9w z4ACRmmHbqe3{fU5XjKAtCH9KdlRqJ`D(?Be@9J-voR$T9E{oUwU7$!Y5(<Xkg~x?p zNq`;p9zG%NL3~~Th}&_<ghfi>+j)rJ;qN4mPbrVj&+>Tx{*t<kQY4)Rz~7SnE!khu zi}RRJrl&Gtfmh%w$L&(w)p^|4>igzA-oL+s{T1wQ$^Mq??+be=PS9~ZI*!}jKkvUo z$1UIeC;H`I_s18TQKqMp{yV_m68Cqt<cpn#LYF3kIF7z&cmJjOc3fX<y*t_VhCE*N zchN83)87*QmcxV_{4u^f4ZPw7Nxp@oX^Jc6=c~g4PLYwAXPUBHd&+fiC*PT;TFxoE z)tc(PloTXjrBuTqkLAvs)udyT<ZGBTo1G*nH}cZXJmi{`+eMNsyr>-@qYQ&x@noE3 zGeO#A8HKvi<bsprJP!Hd*WkFL)xh3Wv)6UG{C;%M00QMt$PD@_VXhf9>~hb!Ir7do z6eeEMRJW08sWde#NrGfVPG7c-Bo$yBopEHe)6^O$q%0sq0OXo?1i;&dytkfAXlpXw z)yUlK84XO7>pfpUImFm2oTWib@@iXSq5XwdTL!<b_ds*L*Ht*K3gjCE4}LFct?NK) z3w32XK{PxfX?!{|#shSsb_UoCa22kzewY>XYXyk;Z2*iVh_(Z?;#W`I9GQ3Xd=L?b zLU5&a6glbWB^T6rvIcQmtqnPiHj^$|&MlHM$SqiFC|V>KTph`}5Xf+w84tL4Cdr=R z8}8HCC|Wy%w8Alc#o$$C{m{yuvFjadSm%9YJM`p+A)CN^)kzF5^@KvxTC&Z$0X7ZQ zjZ#QUCA-k0W^rPb2~v!}usvo29Gi3^uNe_q)wq7FB%slWy>zJ)a})}i`haSgh`XR2 zdI%lmpxOjy*-m$)rzoRO<z{tp1!0U*qfh%&SsYSsDMEbcJhkY=?UaI^?ASq|?POBZ zMB_g#*ITT{HSGhcg|eYHT<WXf(RD34wn4MjY6IgYOnYHBy+R7^_W`$CNod+M9u0@l z((o06nk=!8D5yn2jjhS@{RrCQeB6mfn?J}spv@9O0=Hhp$hZ?{A_3jmiFAJ%oj4A> zgSfo*+Bkz5p&7a3sptCn*NL-jIHT_2BkrmXz^&62wqY3kHOQQEkq>SNUF)gJb<HL@ zR_9qiHU&Ff+jc@R7|0&Dm3dC0Zo2oE4aS0M4{^}c0i|V_P{DJR^>Z!j<8mI_JaEX2 yusFl2IIboXhvUdS^si}K8hHQYBl17~7JmX@e0q$t!&WT-0000<MNUMnLSTZStWNg; diff --git a/data/tilesets/secondary/sootopolis/anim/4.png b/data/tilesets/secondary/sootopolis/anim/4.png index 317db1714c5a40a1f0d017a40baf0e7a0a951e78..ec446b9dbadbb8a56b6daa0665a7bb463e4005ff 100644 GIT binary patch literal 1124 zcmV-q1e^PbP)<h;3K|Lk000e1NJLTq002M$003YF0{{R3U+Zbx0000mP)t-s|NsB) z?(W{+-p$R;y}iAxtgM`zoQsQ#b8~ZIVq#KKQb9pMF)=Y9ARrJB5C8xGL-gVL000B; zNkl<ZNQvcCv5wm~5EXD)_oN71O;W(t;uvt_;%IZPHgG4`F0yjJ2CSb;bLUpMAGq^= zLE>+?H>B*<Dw2^RU6^o3<U9{&9^WuKpI<Nky<WcZ<nQ4+iyP<5<zLJjptsKO_k8}0 z1txzF*VzS;F8{n<;^gnaIsv|5|I61mKyRG@mlpHW`3C5%GtLF6wLD{9gLU?q6YsL; z@8LT8-Z87HZT)9e*H^oF=YFW!Q&mrW+k?!0-(u&vs^8nq+wVVC$uY3I4uDmtqGM>U z`EBcpcfPeL1gEvFpSEK*20$z>Z98T+sYKrRqZ+decpBs2W&s%I;A#Q*_}tY#YB|Sw zSNo{l05HKpvYYH-l7nayV4Q<!cL~tb!NBfVDN`J<-9@G+IAGfWCiDQ?0jBg&hfTbz zNj=onZ`s2%2W)rQhiML;BjA@&9o#I4y03@L570w)Uk|Y@?&yIV<KdnjV&~k`Lu$Qg zJ#_s&t%qCtPjGQ<|7<p{hyD{YriWeDA0LJsynn=g)R@)RvHR9p565oAzi*5s_jsVD zIo9>S-83&mBt-CLF32<u|KjcFeM4mtf-XY{dGNAa^rPVC2htKgwVDTy|3;dS)A5=} zy+4pNHUuBSDg+Uv(WDEr=t9iuhO{t(!-qAdH`*_;GK&-f0kqL7<O)tch)4dnLMqJ_ zAX|+kK-#J+LMs^_;~911PLvB_oYC6q4p2&6g#1{?6kHiRIWpvAUMBy#SW_u&69IeT zxVZz1+LYe#3K=X(BTarl_9bt5Yl)003g4ZQw}u{%JJ57UJ5n-0DbbyR5PvNguz!)v zZ!p3-jk}N>Z)J3#woCwLgZFcs4Ys-(LLsEetymyS6fp<8!MpBkAE&o!t$YHI7w}1I zT?E7v7_d?@0`@2l|AZ|=5v$=yN|wrd%YfP58S8M}rW7FidK(_;0&rx&fpQ{ejg(TT zD+{sk1OQP6YIBg=+BiAy0SuQps}Hysr!{A1PPULTC5ltbW2E{Zv}8f@Z<Z%eqF2$c zI{;2_!UV`MNNVQ+a)de%-wMfq3`~-d<Zyv@c|v@tLm|C&wv>F`01!h;KA>&O!slQh zpoI)ABA`CtvxTUGZE1PZ3ZhX;OVYMUiozMo6Ye7{DXf>JU!4>(5KvUq{fyh<R7w#q zM65~4lVXLE`}N2<qVXDXC`1_O#fY`d+Y%Lmy2sR>+_()z01|UTx+R1Ic~O%ZheI?6 zzE13+$0V-K0I;}qZ+aQDw6r)-DNrEvzlaaO?(OwxUbt+8axu_5e|ntYY&cXJ$GZ1` qynCYd4TDBrspP%^@4SUS>G&UG9C&1x+!hW10000<MNUMnLSTZw^A{oj literal 1190 zcmV;X1X=ruP)<h;3K|Lk000e1NJLTq000O800RI700000`7e~F000DSNkl<ZNQv#0 zv2G(b5QgU!ba?{n@&Y-vN}9af3Rw4|uh`mq0aWKGF@>51L~d<BB<ldXWWTxqn}0}I zmK58#1i`@p;^KoP4*%f{e~xH6y_rzLWICPFWb*DD)5&B?A8vs6H<Net9-nFY0hs*2 zJHDF&li8FIG0Q3`?)&SwcO3WgdED3Lee35N@%Ic4j2ajiqCPDQG#-SY;n#aX;$sa6 zS<}6!CDk>)OL6HxQP(wA@6J&RNPWJ4)cb_bRDTA<H`QA)M7<hWW%aV&6{@t2abKlV z@xmbPa!W?eJ96If;~hFAb~S*!2hLlc@OmAe?xFX~bscwH$L_q2x39MvGoY9H{Dc+j ztypiBo0Bkb-hs0{;lOzhr@UWrzkjQax2;#PUd4J9>s72*vEGXHeq)u2zHr_@IPc-o ze<R-qp09*E{}X=s*Y&Cl=&dgO2V;tAgkHrDI}L?FJPy1(`u_6vpS$0I?{^$z+V<sa zRJ~rui+Wdn`IdUzq3Spok9v$1?>LRV7k(>VLh7kVSYECk7laT6iDjXwD7B|j2Y2>6 zgVhwWq~ca<YWGr7kbsp^<+#TXL4~uLbc~XGi;!-!lO*LvUdNe-Qj>DKNV12D+5s}k zaEz-SgNtGzNV}q-&^DS}aFU$IA)os-c-qlxVDFm6%Y6}NiSqA9fw#IWA5j>LzJ#S_ zw1_J`X&)VV=Q|2BFKMp(NUc<wI&MjVWJE4s_MIdZ5FDLxWVF-N8+1rnK!yOwHSY+3 zw;g$JJ(<wAWV~xpx!W^3geaGlub>=q>=n+^At!mYZL!e*$g4erKd$#cce&R!IIarh zJ0uT&FKMmYKx&Kb%6^7y_&3|JU_78t)Gq*A0ItC})DMe_erf=*ybXY{gr@BPt@xv- zVTsCzWqE8O4u#}O?I?25(M!Hi=gAu6?X@=KG;Ahav|L*xWl&qN)=;!4Ft|37bs>;p zn;8$dc+rwQ!*}e{*eO~&gR;V@e8u2ZW&P30p0UdU8}9QyavVIlVaP7<UUinkOFg5| z^_Fb6?to24ZKo8<QYkKEwA`H76oM2ZFl@%+2*)9VC|gEEuUb4m?j)e$#N4{%#1a>U zp89~>G7)b<J9r3=a_HI&XW7nor02LspRSv`izkR+Ts3@}Pi1jPxuuBaqt9~-CvN8y z^lZlhfwr?*OEZn{v|Mko8rQTBxGh{8yy23sf`{vRIJSdXTeU%O7v{OKo7^D<`F+6a zRuVn!IuFBPv~)3Yixs!nM_j1Ig&NzE<@XV^$NAWaMw{QsJ-}uOA%U&eFba0!LL|VQ zgGld}F^JQ^8^!gr*Txyl2+b%RPd%6C-yklw;fy-NN4!-ZfLo^<Y{M{m8f4D7$OktB z*LrG7-Ev5Y)n$>#reM*v?PnB&LE8gcndc<#O=rF07%Zse`2tf1TrI<d2Fgv5=US2T zavj<{aLR(PxWKA7ttM3CY2=RiW7?Jm-aq*f`5&+1Paf%fLwCY3l>h($07*qoM6N<$ Ef?!!oZU6uP diff --git a/data/tilesets/secondary/sootopolis/anim/5.png b/data/tilesets/secondary/sootopolis/anim/5.png index d0cbfeb57cff3c941397618c313b781c0c15b3f2..cbe1769c08f7b9c87b879cd37897afcead822276 100644 GIT binary patch literal 1149 zcmV-@1cLjCP)<h;3K|Lk000e1NJLTq002M$003YF0{{R3U+Zbx0000mP)t-s|NsB) z?(W{+-p$R;y}iAxtgM`zoQsQ#b8~ZIVq#KKQb9pMF)=Y9ARrJB5C8xGL-gVL000CC zNkl<ZNQvcCy>8<;5EgKVdr}0hCMh88iQ|I{H=)gJ9bjSCYE1VrU_IBJOW!_0kbQx` zd4uE`?i*6}I*RPw=BlGjjmY^lfBc5U)ARe=0e_zS-d`7omuGCeAJTmJ{?=a?c)lK9 z0q1#mdF!tWJfGiQ0mn@5y>)@-^E>RlzwtbL@2?AB|9QtJ{7dh>H3Obr;qf&YJv{Z- z1!8&m23y|_2afBdzb<}t+$_G{uNE;bj`HDydK6dCEEmgjc?P*zM&7w!eUx`6eS}Ty z-1lYE0mhL(iHpy&GcaGS;59Bj%WPux_0PyVLo#KsTFmdU6NhAzQbcB7x*GH)Cz5kt zErw+Rq}&(7l4DFce~H7AL&!NVhvgp}W6pV4-r*P*Ip<;dQ2chW21z~?H$5Ko<O4IM z$Ab^D;TZZnIF}6{#U~z|$%fOs%!k!70WR}l1!9f{d2o`*;&KgGB8x#DoMgk4zs85= zXMDK(IUkDad|=XE<HJMh>nnUnopX&3x%Dpdq3hnud^ooMB|aS6ABha|;dFuIE9Mg) z`nOb%4^8o347lmWfc@AX&47O08cXhWLv6c_v8Qg^M<Nm;crzAc+Lpig;d<RtU4@|Q z5JDNetS9GI@cD+cgig)I!Q*eF2_<chfyDKOq_H9R5N08WAdMznnMr426kGT<g3X6H zrZ?J8u`-iv0tU3vDwGOJcEqFnTOpM82#|Y?B|zG$BSI?~Zj+DLx*e5p;*8c-cYs>z zDwNxpLU48P<j9bdWu5i&YEHGZZ33)`?UoKz)TZ`^SBPLr8e#JNu&#N_TT5h2Rr$_K zxi@sXZBV97-jR|4N{P-3O#C%r!1_^geS;C!X`F>*do!a0?duG1Hh4dVZ&a(xAyh)D z(uxV9L=t0EH+a|i_Gx;n=E`RPc>$fY)+Iplz<`;O39v?T_z7EwDrLi#l&qEamI0%+ zGuGj_O)XID<7s$=3&55E8!CyMHBw5Uj#WsBX8;Oiz%~cE&5e`eGl1bVM{$FLaawb9 zW@jrYbD;2IZd0i@LQ5tje>2^oBzl(gx&y$26DEL;LDGI4Ku53x_N|Z%C{Rf<k{k}u zPIs^`b*QAb&eoET8vtTR%?|eay7DC|5YR$~CJ7KXc-@24!R~3g(+Z?fN=wqV&5VMN z=?>=+rWEGW+Rt_h5eP6U@qWZ@v8$y>2O{RA<W4a|$^E|N7}0nwIV2(s_+rG|mirnR zqI9>pJ-KmPN&p1rgmhC72lS#gHx8R<H+-DfBdBn627t+_d-KhprKQP+YJmj7|4F(4 znjg1E`^ag-luL#_==0?SWy_}W*v7L9<ii!UZW%OiOJ(&5c;znqpN@Y4=-h803>-5R P00000NkvXXu0mjfRHG>n literal 1248 zcmV<61Rwi}P)<h;3K|Lk000e1NJLTq000O800RI700000`7e~F000E1Nkl<ZNQv#0 z!EWO=5QgU!>^F#!7uaB*p!G5BbIE{nH+|9BLI9t4X)_lej5VcR16bs_fJELU6j1+P za-29#+M*~H4bU7uSmEd&&Obv+KHrSSGP%A1Cf8Roo=k3JG$uxqABoR$H5y;b1pfp^ z0G?%hH5$oiLg1%djVD*~!w_;2H|gWXz}1LxBgRc86FKGm)aM<a^L~1r_rJcs4u5Z; zB@RHl0haeK7aFyccBPc4j99Letd`kIzNuw4#AWwimy%`oD_LgQSA-BMI}jULsV6<W zpGk&iS$<c&bswCqJL)~WulEWmp@<cJLXQg#MH}Spn73ozZV5DMMIdjRWtnWgVl}(} z($}#(*YV|b-i(`kt|RN~px%mlE9!mw7<wuD_CTNSd!IY%b(H#rc%a@|eq-L2{cYLb zmU$cYqha2Ld7C%#zT4kZ9e+75A3$$Sy*2ex>ZR06sh3i3O}(|W6m6Ney_~;}{pcFx z?b;79FaNq;O1+eN>G_=Z^GD$9!%`k>y4JNsw>n>ae>nSZ^|xVvyOut8T{Fb}jsCu? z_iA3gr{2S0N&2E*g4bMjzWUzzR=kIXzNj9H%hl6@QYsO(NUS7t>t$|(JBKt}?L!ul z+*vEdQELerD77|2+*62>#FbWTj9PqwkZOC-qV-n4j>{kCR*XAD(KS@e0nky0Q(XEK zoFp?P)+LFAVsFI-r^R_}@~yAI^Bc7Vj&47D-xu{FQUCpb2QX;<ge1p>*JELc0&#QC z+MIajD+yDt<<{0w3T>=Zw4{e7BFooxrNsmUN0&Rvt+P_+aLAN^4gt^`z7YUlR^ol> zB@cBWxpxIBcSoW^h;f7RD;S3yM}xgo$SL0J3M|w=akVD+xH$sV<-2Z=?V2FILh|5` zS~j)_Vs>y>*HdJ}PZW*AnGlcgN$MF;CV<=HVB5!8DnIW5wYUpFUJ6XZfk>?3qnBoZ z%A3XfWFj_&<i;E%vgqhF8|u82Ir7%l=He{IOuJaJwkRe?ZJ{i4i6sgQu82~)5G3cA z<sNYH!jdE5E6!=GjBH$vvckE1LvYoU{xr&-I1B<?`h1Lx!%S`oT?M{tUgYrFP9;=z zDP^^(fNdp3WemzPeOwq&(44qWlo%oq<$&1<jv<Yj7es_t1&$w`1S}?Tu&$rPIT{5| zeL%PJh_hfFW(X7I;Mx>>+1(z*-lC1ZZ#Uh=5kxRrjX525RbrERClThu=i3sKxVx2L zrw0lI*-fW~OfCLr^=60FxRGN(x6n4shU@1lcuZZ5iLEfKh1nvw3b%u?+rc3N`D4K8 zHX5E*mB+y0YN>dH;3h5h5e+TT(7Y_9<oO8JV}G2)+~&WEd&HRa2t7D@dm`Z^&QuRf zXQTS_OEl_y;q^D%#j&@!%W+3oV(xhBx#9k6)WvJqqaENQ&Z-Z<owIwqhRf*rB6H3~ zZaf!Et(X1W77UqVb&(9$rlRPktfvw~4%-7qnfE06W(U3G6s)B1Fb6{&&{`r7dnoUd z;a*FIysX3Kk4%{e7H3#h=hYr*cfNAF;jw?MzwrLaN92F}DSij#0)>a;x#2AU0000< KMNUMnLSTY5*JyPB diff --git a/data/tilesets/secondary/sootopolis/anim/6.png b/data/tilesets/secondary/sootopolis/anim/6.png index 4b35ededdb4fc28243cd2354e553dbc952523d08..690c5fd8ef9b4ad71c529ede7c9522ea76d0da84 100644 GIT binary patch literal 1097 zcmV-P1h)H$P)<h;3K|Lk000e1NJLTq002M$003YF0{{R3U+Zbx0000mP)t-s|NsB) z?(W{+-p$R;y}iAxtgM`zoQsQ#b8~ZIVq#KKQb9pMF)=Y9ARrJB5C8xGL-gVL000Bj zNkl<ZNQvcCy>1&h5MCg$dU6R|O>zOXM~(mis!VCzyEwTP5Z|iz0^;*r)aezHM~L4b zz88qk&u}y3u71|LLW*2<w5cIE-_Fm+85S>ZG=6-0;mPa%zDU2XU!QsMy1y@;U;d_( zFW-3by1y^7q1P`wdEMU^|2!wJY4EzgFW$Z<n|biMw=dpapHBz8?(K`WA7?gs-P;#G zJ8stNx~?B*cb&YyP)`8w)(@mPmuHYk{Ro&pJ(ru4p2nYdthkgN;vt><v3@Vx`0~Ny z-Ful$v^GBtN!EYJVb!08B%Ann%Kg1$Kt064Q8HkVgHAGFn1fcfEDdpx<$VSWagb#T z7~~+y`{HJlgCq$s%0ZI11Q_Lj<!$kCoCB7>7dPV^u-FunaSk3bV4Q;%FwVic1zf9# z<l<UAFyMMUY<@vK6xZva?W<8PZd<@87Yrz_)kD|2V_dY|J6;c`_8;cr;(-|8;Hb}t zcO3LysXhmr;=dS^x*G%b>;Bjb=(o{W@Y4oj+#N~k)G<B*fDjnWOn`}zzc{(xMsO9P zc8FMFkZyi%g+6aUOVX+33<LceX|RM{7f8KrKpKk}5SNGorO}`(GjB~y>PWtgVDq@5 z8H^4K+L?JaK?bzZ3QI*wcEqFntSFS&0pvl`mO$F74xyFAY4TA=zlV~Xc%!w|Ex<`# zVY#bQ2;N};4+gv}UDmIv6*y^Q0&IcpmY!JD#s$MWieLen!sOoEIz9^40vJ<Oq4iQ8 z3`}<$qN&LzQZhg((Rv{hf6W=NeUi*C8ezSryO3;eX*9yYWq`LB!i;<qTWt<l38_je z<`g9*F(Y;{_||twGg!4!Ap;-?(n)K50wfO%SSpzSTS|`pgmqY@Y}k^LPK96@Fxh%z zJzckPg2?V}BT%>m*fF4i62My{r4*`TAtjyxM3kXw^Hgpt<K^rOU^vZ5-O$B&tvNcg zx0RGRQ1W7?iRwmZ$py*ZEcQf+UM9V60p!68gH(<v;V?rgN2(68Z-rz)K}>>?;OPSG zVo&y^#!3e3t&@D+1OSFOc5pbjDwM<kQVSWFCqUiM@<2t6_5h2$R#Y@fX$jiKTv6m> zv8VgM1>kDo!g8-D0znm(>VCp)v3F9W3lS?&a<8~T!T+}77^(3hcuGVVsuv?xwmdk> zkf@vH_T<KmkN^~z7t$}NaHzZ>=Eh+YvEl2aGawaRogu*d*uD8>(9*)Z0VgOys{eU< z05+%BBR+B3WXdN)7yA4-kutKWJa+Zj19I_1Z6kvQUa71;0<XM<|I_g=oE>vTHwS9T P00000NkvXXu0mjfODF<A literal 1161 zcmV;41a|w0P)<h;3K|Lk000e1NJLTq000O800RI700000`7e~F000C~Nkl<ZNQv#0 zziuNp5XR>f6z2ubc?0_qa<8CH$@8p$buY#SwzjTNFG_SJU;&Yv)__RX0k~wpz5vQM zTzPFNc22nBa5%)p4=Zyxe?AU}bU7N0=n|x>%MT;E#wY!B1&n^V{6M3NE8yp=OW+!~ z`1OiLqmS3X#YX_!PI0E)xpBYu{Py^J10CZYcw#K)!@?8oJ1wabx0(e0PLb{Ab9^o5 z_ktuo>5nBKKF#k*+%AE;XMf^$yTms56W`R|g0Y-0_Ux~E-`@$U93!J*2wwPG!uT`d z?m6zB<L)_7cZ_+)m+KIB@OMTX-@m_#&#hve@3YQ(_P1w$3--5Qe+znI<EMEB;(q41 zPaL=7xE;ssek@(i_Qx`9AJ`w`_D^<DoucEo9mnmC`>#j$j2}psbNyB9uVR1IasTn4 zcmVDm_+saw(B;V>hSB%0yZ=_)?nUBZ+ZlDd>+j9c_ig;4n?5ZL6Yk(|7<0qud*`iq z4_VV3SImxA4+}`8ATcX66{Yr6>gZlQK+lQKsJPLZnw^vsC19mgha`vE3THLxlqC5E zCSkpmB;{J3+L^~vlXBZcvV|A51!R)(U{^gG7sXVNc11z4sWrLiBsq^H-+T>*9jyj- zuAaWH%jx^kK?4X>KBF+`tBe_U*sOtF>A5yX-uXar>?KWfo2ZdWQ(#FlBqMS8vJH|{ zgmH4lk<m_5YoL&_fQ%84E8Y<SZv%O6J(<`xWV~xox!W-UOqA<ApFlap*eT=^5R<&x zG+1bV<JFeIKUX^-9Pf2C(p8asK=9~yl2*Ejq&84jwqr!YCyK_?Q7|5%6SY&o7J#d9 zr}g8sqTg#k%x)rJEJ3s_pcVi0)Xh+NH!BY!A}It{YD<ZWPG0hXI#1RhZmYE+r_pB8 zCCjxXQU<j}YYiof0;6jZSr;Q2ZZqQnmyRUaF?`@YO+nGh8I%==@)d(umGy^K_Ka=s zV9h%365F9C*9;jV?^Um2c&Wz}Lu<)~RRGq3nxGWQQrRx{Xjq(77lITcGHj3O0gg>N zQ8tVOtr}cERubSxq?aytVu^!-rat1dOu}8z4n2g9a!_rITsD&}=?RX}=i_E|aRp(F zqeh?hSy?10H<Tbgbe>pr;$}iokGJd~(q=qvXsq!+Ems??rWNfXP7B9|-f+3EqDR-Y z=-7Z}ZPXgZAx?T>*S$gt?spNlTS;gdf=9z)v;@9FP?IJ02?uI%pvE?2`F=$0kso)W z(dI95k7%=un8B@AGYam+smMTgb|T+jM*k3qmzU)Awb#ZO%m~dW9Zx;i&%gc=8MYxu z-NPr`RUd&Hr)zA(FnSqe&bh>i8$#E5s!QFlNr}~2(T`2RPFJ=aQ;G(%M{Z@FlQ=is z`zsE{f*KET(9{t}%P_Hq=ep?UTG7YlI<$G@kOg6Jid8YJW>ouO<nH^Qd0QTMU-O9k bkN?C!2gZS74S&js00000NkvXXu0mjfh66Ol diff --git a/data/tilesets/secondary/sootopolis/anim/7.png b/data/tilesets/secondary/sootopolis/anim/7.png index dfe698edbaaeee5d72a8ca7ca1c6b5bc5754b491..e4026a02f82a9e1e3d58e80deba3979b03c24e28 100644 GIT binary patch literal 1093 zcmV-L1iJf)P)<h;3K|Lk000e1NJLTq002M$003YF0{{R3U+Zbx0000mP)t-s|NsB) z?(W{+-p$R;y}iAxtgM`zoQsQ#b8~ZIVq#KKQb9pMF)=Y9ARrJB5C8xGL-gVL000Bf zNkl<ZNQvcCv2x=!5M_~54-hk{0dU4Ou$s}RJ4kTv;^dlzkLt}C;X4vl`lt90&i4h* zeM8;?qE2E+O^T!nY-j=O<1X;<7S;D3Xm8(h=ka)6z4O8!@454MJg?sQ_ZxoEc|4w1 z8TSD=I*-S51|Ze9H|{(h&#Sk0Uik6BoyX&O^^r4`#^dq4!g2l_7V>yBul{LU>^ii# z>jwLD<Njrb2FI6c+g^SC5_kFATYEt)@W~?<p2v1TV4-_?-0l8ui~m#J*GtKMYfFgd zue{JbPT3sbxqB`P6SmDq?8Y4Yv<&z%#lgh_FwMbW0hr<7Y%@#K92EP+fN2hjEr4kb zvTX;z92af%X_kX*+j0~0Ts$GdEC*~eV2%T}pOIpg1Ga6J<E$PSu$brI>j1c;2L{Y@ zz!re}dT9RzJyiGgQ0i)44^IU!uZLXY_w+E-?i?4NOL5NY;ZpuHTwFa6lN?;VLW?O5 zZeOXzn1i<ZFIujlZYF*=ZtaABpNu8{&{Il>3rT}JrB@;nA_lV*WK!y`iNv?$ni#c< zG1f6ix4Mpk&wJ7mKDAlKfPW)Rtm!apq}%r-jg2wHxQS6jX*B7^tj-}8T|#anIDFiq z2cyFpGqWlo5I`HPVy)ohMBM7%6}FNFfIMkT0n%0t2(4s%$T_;?k5nUxH(FbL1~{pk zSRcB)1@B@YPlmj#UGZ<5EjejZ2JDIB)*dWs<AUKCcCaRmZSpI(cf1s=B{HUI!Z}NQ zGW2k0K~rB=q-20n;+zE`ep@kM|0<c^XoU3|cOg06#^^{VR{-9|5SGXdw$5jWjgYFg zVufAe5KFKdgFojExd*GZDii<(0iU$iXF$%tfQ^zFu*c!>C#;K2J`G1w(y0(E0~UL4 ztjBd5CqVXa8v)w|;J|>MY9eoqlv1dHg?#V=08s{N^N`!tc)7d+7(V8r>v1t&Yu=qX z+D6K<QDiX>nd)9>$%5o>)<;mHH`%Yx0A%pOM948pIxQpQ2z4O76_NoJm?R^~;{xsa zi1<>+Mh5GxlYHF(5JMa%IGtP*YA_H{LWWiu(DfLeAnIsOv_5JD(I}-QX`70okYjzs zeZ)1z?b?OSQDFxHipsiQa9JFk6!}8LmXtgyRw(&j54=YdULuc!2m`$sv9<Nd;e?>> zp_C^VZlVmp#=MYz4dFmuluF@nh}83SVvXR!)foU*m+CDqgO-+7Jvo5`LjSA$0JJ|} zkMzpNMkt>H-T2Gn1ZUz<r5(Df2ju37+9w80yi&z|0p58F|EKLQf2DXmd1F_(00000 LNkvXXu0mjf+@A+Q literal 1153 zcmV-{1b+L8P)<h;3K|Lk000e1NJLTq000O800RI700000`7e~F000C?Nkl<ZNQv#0 zv2Noy5QgU!e0hR+-yr)=uDtggGNAP4rBH2c;Xbsvogu)aY6B)&FF=vKvW4#-O7SJ$ z<kq-iu~?jo50W{Y;ryH#(d}e1p=ri6KTR`k>23<#Os7+t+}-}cn9$@SRwp0$znhQ1 z<ii~>xnWF3TxoZ0++Y2CC;Z+(&sYIZHL&{Y<-)hRrv5?JB*f=OKs+$SfNWRuQ(ZGe zow1_F8hEI&S3ExZ6B4W9GynHf{jIapx?<0D^}fFgR5?aQ#Spykv=S@{z;RC;_r!5~ zj@xs{j8#tI$9Vwanmm4ee_35dEwaud;BU?T*6gYp#Cgi7^HZI%!YlBN<MzLoE?4`j z*k8r|*6eT1{=Tr6>IHg^+jHFhb^V<<?y2XJ?|&~{uJy-_&8YL!i~2jk-x~e<xaP*r zL!r-;L7Ye5cfJ2s+&=5vv(D#jSLE@ozl%J6roT1(t;Y#B`eS@~9(dIolKco+(;QbU zU$2e}I7LBXS!gOs?Wxq!z4*>N-{q2ud#$NGN=Z=yR!TJ<@_gNevzl~Dl6(u3u-!|N zaw{+G%%Rkz+&+=);6?2LnPeR8s%PV(SP0UtC@8j#CKsI~=W)n4zXs<Wod%AsS-h{y z<@ck91`w!xMqyA_8B5J*VOM(2&5?ILP@H*5bKNCsrP35wk_^d6oWAUWBo$$toN;8d z)6^L#q%0s~1muQyM8MlX-dj&5b}bq2T4e5yi~tkm2G18z4l#}jX9<W&UhP^ebf0*& zWAN+d2!z*rU4!GQNIoEV^hZe>-9}P7s4Ke}qTvxq<I_<v4$z6Z1z-!nHE3sjSXA_9 z1Bm5)1dJt!wg<H0S5N&CnfJ?b6cL9)aHaN?IO*giU#RnB4dQlM8*&<DCS9_eTOwtU zTeQ|tvPdwxHj#BPlHoEl9&qWEBu9o1T&F20+Bk!>;yHcA;8kV)SjwKU9~^91=VM|! z)Z~^SL*%{cMGP<XjAH04*{}(~Hc%UsLRu=@#Q`mglbS-1Vnl`=uo&Ukq!(q&NYJW9 z`>~RMMkNl?<w`7ZQP9*!+?Gk`1?^Bns3-^3W;n}kz9&7$HTrzrtS(v*#<*(K>2NBG zL&_Z`h!36T7L~Z0Q`ECPJBYNK&03mi{HNt+ht;&9W5jLY+E5!V*H!eWx(*c^P^_)m z!Z^hFAnbNfNWuLvqPvxZrXhF~97apv7J`~Au}`>AiwiZjCCmL0wa59m5{))r$sJH; z88L%PuVEBii3^c|>g+}CUq&y^1Meg*+g=-IFe5ahbUgLkF#me-Y8%d|2l#|u^%1yt zy1_OKqkjgOb1w104WVj1HKlIZq{Qm77{;bxryJYNC`AL=BbPGIN!*(r{1v0Ipw>ei z6m`VaGE8jXxhaOZRt#}D4{Z({vLGxjuqw{08P(}La!<o+-j)a6fBA^~kAKDAMTdN9 TxZ-MX00000NkvXXu0mjfG<-W6 diff --git a/data/tilesets/secondary/sootopolis/tiles.png b/data/tilesets/secondary/sootopolis/tiles.png index 92df774ae79d69808e4541bac883f208ab5e8eb6..d27c817f005a35cbf3850b42bc10d5a612b3d1eb 100644 GIT binary patch literal 2695 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 BzKQ?< literal 2950 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 diff --git a/data/tilesets/secondary/sootopolis_gym/anim/0/0.png b/data/tilesets/secondary/sootopolis_gym/anim/0/0.png index f0ec1ac00ef61a80de155c40c5c84c5dbc9b32ed..180b5522eda19be459e08a320206161c0d5d5b11 100644 GIT binary patch literal 341 zcmV-b0jmCqP)<h;3K|Lk000e1NJLTq000mG001xq0{{R3>T%~}0000mP)t-s|NsB) z?(W{+-p$R;y}iAxtgM`zoQsQ#b8~ZIVq#KKQb9pMF)=Y9ARrJB5C8xGL-gVL0002s zNkl<Z7?nlNy$-@45WsO>0c{Lx@gt0ec3`xX2N28|XOlL44BhJJ;GhrS;8V)o(RkB8 z^!fuKrm40$=Jk$aIYn9TIb_}L@=ojduX?{a<S24@3%uhS7)Nxx1}U%T6foQrIv(O+ z$bo1KInWwM4wPrdP8b|JA)SzepUP>6oMv(wqu2?9Vkgo`a@I<*11ZSS%CHkskQ1C^ zC(!NWIMH{<f}`&&Sc*P?JyUe)3W^?La=sWkM^|EeFw!$9B*tm8xy;fFU(cxJ0)ytE n#B5nrmDQsddG7z<o!9#Z(=T3=t8#2U00000NkvXXu0mjf;jflR literal 286 zcmV+(0pb3MP)<h;3K|Lk000e1NJLTq000O8003YF00000z%zki0002xNkl<Z7?q9B zzixvt5C-sjNrpT?88T!nTk{ymmO59p3V8tYXJjxaqm?$WS{037fqZu;ZKf(W{DjQi zcQ!33>W|>ZwF{k@$yEzQSGPE;E%mPYBI)~|gG9M%26n)#ZIEY2&YL;U-sMTN5wZ-# zxF?gp1TsbLfd{qk9?mn<TSunM8UC7nX*jR(f&Yfb^9r8$48SmBKuRfew;jAq>5rL| z(gRQ>qZviX9~-b<Z4h|2@C@g1vYrI2l;-69bfR=yjFh72a_)P|P%Cn#Bbr|?cv1WY kX}ZJPhEZCcSJ3u!1s3}s{_?ycD*ylh07*qoM6N<$f?5xJsQ>@~ diff --git a/data/tilesets/secondary/sootopolis_gym/anim/0/1.png b/data/tilesets/secondary/sootopolis_gym/anim/0/1.png index 4fefe45989b4c9176eb9654c866ac22143c18a05..af3ab12d2e64dbeb2df3e1708e4a09d1aab4c29e 100644 GIT binary patch literal 339 zcmV-Z0j&OsP)<h;3K|Lk000e1NJLTq000mG001xq0{{R3>T%~}0000mP)t-s|NsB) z?(W{+-p$R;y}iAxtgM`zoQsQ#b8~ZIVq#KKQb9pMF)=Y9ARrJB5C8xGL-gVL0002q zNkl<Z7?owtI}XAy41nQWp)V<GB0wD}bYP@32cVIHx>BhT#{i}>GBA__F!Yqzjw=Q{ z{j!oT5#n!>HAh^U5UMnLicM;2ifw9&Jx6-PC>AEBNJ>*Vjyk&!<d`gqucClho^KMJ z$~97w<7|l3>5C+XHss)j9KDmlIp7&|Y|D<_v7__ZY1uin?AX~snH&sqRL+jN(Dlky zv(v!FyE=9aY`pj335cG)0pZEPa2n!+ftv}c=UDal#AIQk;6Kx;>$(X3Jie?}2{<Fo lQ;I0eAcioHUxYK``wKBiSO9U(2dn@9002ovPDHLkV1fjNlwAM- literal 283 zcmV+$0p$LPP)<h;3K|Lk000e1NJLTq000O8003YF00000z%zki0002uNkl<Z7?q8W zJqp4=5QXQG79PM97M5D6$B+%gRt!WBurZbv(O3o}**1{BE9iT>iWU}5@iEN4`Iwal zN-Wwd(53nzCe=r|G&+`ZqcftBPwp3v#Gc6Rx|2552@%t$B_rTVzI-+u67_rr^xaa5 z^`eq+R{;@GuByL%pN+aa0S9zNw4v(6hn(2_;Y(h=gWaW%W{bkmVlWF6b~|(`j5|?E zWrR;ChaoW-I@}P>UuW3UYIpAYtG)&GgNPg3AP{dHmExhKN68H3U}wI;eL;`EnHE0J hn^er%$kYL`(GvxfCXv<{oy7nE002ovPDHLkV1lW2cp(4) diff --git a/data/tilesets/secondary/sootopolis_gym/anim/0/2.png b/data/tilesets/secondary/sootopolis_gym/anim/0/2.png index f603b3046ce797d9f621bcfe57cf6b31b7eeb91e..8481c0cde88d1ffe64d992b05a4cd9143fe297d7 100644 GIT binary patch literal 340 zcmV-a0jvIrP)<h;3K|Lk000e1NJLTq000mG001xq0{{R3>T%~}0000mP)t-s|NsB) z?(W{+-p$R;y}iAxtgM`zoQsQ#b8~ZIVq#KKQb9pMF)=Y9ARrJB5C8xGL-gVL0002r zNkl<Z7?o{~u?~VT5QZDxK+uF0h=$QpG>(|m2Pn0MnZyf^;fSMyi8wkq@RVM!G!A;x zm;d^ISH^xutUZ*~1Y$k`mz4+US1uA|Bo6_>UM^VRKsCLExio5aVWN=IggnN2iI7{s z6>nnlC}k7$9615jvu1+2i^)?f3+T~_UEw!O;yqLs9;_$yb!s8hs&O8zbLTNxKK+Mx z|2$wKytP9BQ*P{0K;lV9aMsEtU<!Qvwo!`72ra-8lW_&GB6#^#y)D`l>%(2A+3A5m mbBo!`P0xBa*Dts?!}9}Xty-;;oB2in0000<MNUMnLSTa4PLj?5 literal 294 zcmV+>0oneEP)<h;3K|Lk000e1NJLTq000O8003YF00000z%zki0002(Nkl<Z7?q8V zy>7xV6ov0gGIU^sN(_u->|-D!F(Vwu570=>ShY^fh=P)=mI&|$C_TsYhox2T@aft* z_tTL9BN63}a0O8IfX@pe=QEd|+^;C2#hq~BUcQ0bvZBR1qW|<gUlBeI*Fo$i8ARL5 zljyS#z#j0MAl730!<XOtQjf50c$O`LWEL<Tp1PyYe&N6U(sOJORoIN7po!I%_dccJ zQ%XBPX<|hvc_2n=4b<37_ZsA#g?z_ql<EqCRf|m>u+_w9%(LvRlIhH}GR4RRBMIh) s_!rOCEmY0+G2m|=n2V9c4Tw!X0KF+A<o196LI3~&07*qoM6N<$f=e`pr2qf` diff --git a/data/tilesets/secondary/sootopolis_gym/anim/0/3.png b/data/tilesets/secondary/sootopolis_gym/anim/0/3.png deleted file mode 100644 index 2a8e6a31c92bdc7b8b674b1697a7499be500d051..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 91 zcmeAS@N?(olHy`uVBq!ia0vp^93adBBp6ht@Pq*=B~KT}5RRG270(|%I%IJE=zGqV oiZ_pP4t)?&`NndjRp^`=gXtyy*8Pm%j)8P}y85}Sb4q9e02d=1X8-^I diff --git a/data/tilesets/secondary/sootopolis_gym/anim/1/0.png b/data/tilesets/secondary/sootopolis_gym/anim/1/0.png index e0f807ef4c97fbddf4116bc074583172e0601eb4..dc6cf500e1f4b4d15a1b5f2b731a35ccad5bfe09 100644 GIT binary patch literal 363 zcmV-x0hIoUP)<h;3K|Lk000e1NJLTq001BW001Zi0{{R3Z3pG50000mP)t-s|NsB) z?(W{+-p$R;y}iAxtgM`zoQsQ#b8~ZIVq#KKQb9pMF)=Y9ARrJB5C8xGL-gVL0002? zNkl<ZD3P7gzfJ@p5C(8wVHh^??8NK?u!O`G_q3m5xktG82)0(<mS<sNX?ss8Ghq$u zzrv4vB>M{q1XihUIj>US9hzJ+v<rTQLlc4AL}1%Qz<czyP5>Rar3`0>gRVtBnDR~3 zKcPKG1+%Rk1<a_&+9)u@7?%p%>WE7P%G%HI+b(~@>AAhJ$BjB2bG}=?rwU!JO$@V1 zdNK*QyN3c#0}*i@k-cEpX~NQL($otile%Q4o-5F&9LnfJZ?k~C0-yjkXp0Opmiq@N zuYxYzFuVW(CV-AQ&)d%X!@j(`%=ZGX&F{c)T%`c4vQcke@&PK<q2ZV%?py!>002ov JPDHLkV1iiGpPc{z literal 389 zcmV;00eb$4P)<h;3K|Lk000e1NJLTq000O8005u_00000(c7QZ0003@Nkl<ZD3P7g zF>Zq}06<Y+k~L$c4rL6Tvi1m-j}Sw=x2CL>5O4rgx|K>``wH~ih(t;|MD_4wCqLK$ z#KI6uk|bi;c@J?GkrI>wV?^wd(0Rr>i%5o03}MVax`pm5%r>M1rN9_ic1;7e<B*-@ zXJL5_*Ru^X-_f;>t_jO4;=VU`9h>_=YdK`oEWa=&+`1+HnYo0vf;R`{ynV4Thl{$B zuBzxNOUG(nce`+NSF*XQpo&;1=j~J%(ns!inw{Ctg-8#rhLeM0hQ3&z%xho@xSURF zI&JBSiB8q3UORQ}?Amp7AKHn$4_#mPBu}GIIZOrE)AK0w@C`lWfk8of7(O`_&m-MG zcsNS9hb+rP8s4Eh25*V3g>6}CZwqk@Z&Q4wve5ZUH`I=Y=PjR2n(p{_H&{0B>UYl9 ja5VW6kU%zuZj9Xz(zV;LZMe8~00000NkvXXu0mjfR+Fzb diff --git a/data/tilesets/secondary/sootopolis_gym/anim/1/1.png b/data/tilesets/secondary/sootopolis_gym/anim/1/1.png index 08413b63c2a7d011e907886e7a2a2659752ea785..93dd79753022da4b91b3e156198401890008fa96 100644 GIT binary patch literal 372 zcmV-)0gL{LP)<h;3K|Lk000e1NJLTq001BW001Zi0{{R3Z3pG50000mP)t-s|NsB) z?(W{+-p$R;y}iAxtgM`zoQsQ#b8~ZIVq#KKQb9pMF)=Y9ARrJB5C8xGL-gVL00030 zNkl<ZD3P7ev2MaJ5C&ks!kw{H*qW3Fur1i#r0mAZ1E5BTM_{c~2^d+BI(FqLdv`9y zX*2b={wV%rB_}KOC)Ys;KB35rp*%1S{i<)jyAtS%2((26e34POYNws|xjdLci&i_Z z+JckWAJN*%N-6=TEjlDaR|}LM6)5NUFVyX%eadYFu=!ab&k;hnRp1$ezEz-^+!t-n zhwkOR_EU8}mRC3mrxJDqZ;Ldi*9A9i7|hzFuFHL3z=+W#h$h0Cfi5#f7bTVD6968t zf;wWF^NADf>B4~@Uf=?8nasujePk!Fr7X7+hWAUKH)O92$3ghFgG|-OuY3V-lcPM? SAO&~;0000<MNUMnLSTZ5tfIvL literal 408 zcmV;J0cZY+P)<h;3K|Lk000e1NJLTq000O8005u_00000(c7QZ0004BNkl<ZD3P6# zO>ToQ5Ju;cY_qJC4a-oeQnx)qg{X1>i+G=yvQLD4fE2nbm5l8xxZjv2s6U%_7Egob zVSm_AL{ZGLjN&Q;Aax1V9uNXhijtSH7f^GTP$_r<MN0j{i}2pKyP(<wLI6quan*I7 z$ehM&-T<#2&<@~1#CjcShSPvIkc}A(8L$03Nc(>Cf^kq#1ox|l%@dsFkQ#B#0O&sQ zAaXuFx|lv@LC^3F=WBsyPTEZKq6;SVqR2P!+7@2x;5E~qyi0<FsR4Wov<VJqCLq5R z2g(Z^`-~0a{!{~Y2Y5+24uQl0Ub>zIXNIi-FKtayYWb^ox_Uuc2~V>3Fk-skaimkd z9pSx?6n20d%!mZ|OY%+VfHimPlJdKCg}6n5Xqeuhs0)6e;7lNStSyygd1RDSuotdg z=%vRaZgp#eofWu0y!y;BI*t(#tt=T&0JM?4F?k;p`Px<Xajmcb0000<MNUMnLSTaU C7_#*M diff --git a/data/tilesets/secondary/sootopolis_gym/anim/1/2.png b/data/tilesets/secondary/sootopolis_gym/anim/1/2.png index 6681b5e96426fa1b409afe6581ea9479ee298380..30961482cb0e0636aa79e391510070a92748f153 100644 GIT binary patch literal 385 zcmV-{0e=38P)<h;3K|Lk000e1NJLTq001BW001Zi0{{R3Z3pG50000mP)t-s|NsB) z?(W{+-p$R;y}iAxtgM`zoQsQ#b8~ZIVq#KKQb9pMF)=Y9ARrJB5C8xGL-gVL0003D zNkl<ZD3P7gOHRWu5C&jhVLXXM*^w{@aNHoaZgK&~a>WH2aRj!M1?{pzLh6!jPl;z} zRENige>8b~nMjdirGDfzOM(x`a?Owr{0?Ilfi|=;M(H2`4qS0=0fUzkuvr*RIq-+6 z9Mm6B+o=Vx(e~U%pmEMkEwIuKrxxgnO9}K@{tL_QHeD{cJAq<VbbbHT>Gtrdz4m1Q zUwRmx7V5Aw=zZfQl|XuggZ8!8ff)8_ZOc>?Fwmm_FL@g&Rb+UHS?&`&=WxXnZ6JP& z_($=?mMV<{={g#yd18A5*6>!a>C6**cmu$O05sqO!*Ok5MdOI;yHUR5T{gl-4h*|l f62L4Ab^Ml3OQxX37NI+O00000NkvXXu0mjf9zUd{ literal 399 zcmV;A0dW3_P)<h;3K|Lk000e1NJLTq000O8005u_00000(c7QZ00042Nkl<ZD3O)Y zF;2rU6vpv)$*hc(kWfa#0IVDVxfejSQePmcS48UO048N4NQwQfV7}*qs9J=?8-8+> zzZ549B@CsaC@5VpgS^Tp1-e>pSjt@?9b*owjKWZ-wI;Un|GR|lT~^;H1-crr1?i#> zz&UJENGF6H*jefWI)^!B5TZk8?Y}xa+__94q%Q^`_P|>CbZHYoJA<Y<XWN2#LpGpm zXLJqblviPH!Qb8XsKdkC88po~+ZN11c@qtl6<)fm%tYn2?gUNct#F@LIOJ%invB^Q zGGQI5p6ZEohgi#zWqdw7Ga<o{84NmK2hv{qqptJPtsh1*dr<q#<A}SNXW?VSA!AkE z`8{}J?250zVg)W0wp&$H%0INgPz-BNuE!-a&ZyUWfB2;;>G-D`bdO8N<e4Lqu%hKJ t9S_)n>#+k4Pb0l3Y)vfzvQfG*cb_7=+|1>N^$Gw0002ovPDHLkV1fjwuw?)M diff --git a/data/tilesets/secondary/sootopolis_gym/tiles.png b/data/tilesets/secondary/sootopolis_gym/tiles.png index 4f6b257695dd1fa85cd4c851468d5c1e7459d258..de097c92c56a079d44ca0dced6c9af1cca08ff08 100644 GIT binary patch literal 2818 zcmaJ@={wYWAO6l}kTH{NW1Z|A3T4YSWGzZUC>k6~wg}ntvqd9IM<d6U!(%BP6r(89 zM2Bf1*~Y$$n6YF@*2iD)yttPa_kCTTH=paeAJ|+n$8d{q0{}3V7ACew3LRk^i8$f` zw{^QCQMIwMGd(;!TwY!tA0O}R>}+XisjjXrC@4rvOA84Jad&sOwY4=eGE!4hBM=BU z9PX%eeq(9}0Pb{46C*pHcy|8#+am+w9Yb(^<t6CRON17ROn#|;Q`R{lq`_3z=W@2^ z1v<oG;ZbkRtIHG8z*42B$1A-m!@un2B6Bbn^UP8(3OJdDM2rPCP4OT7*={G9?l#^u z#RJUl!ML>Ig~!t}^uRr{zETSsHg4tDZp%a|!Ujjc_%;~a>SWw8i!Zm|Ec#7rD!Q6W zZp~`Q9gJT`y`aOK#-+jI-x{A(i%T{%kc`#RUKlAI=6jl#!C{^TBR=`(3GC0-wqCKI zcv3c%Y0`XQ@An!cIyH3$MzrV0Ly^tC2|%6}Awlpk$>RkSDOgupw<Ub^&4wO5{b21V zMd7M@Zd_pwBf|^10drx1fx@RO2mA|rgp#)t_vqer_Au=7=6~^RSo;JzMiUTp@uYb0 z;&`79*fU!a(dC0b{_hpR+?%fIXyCaulc3-wqO#nABMD2#1i61a`-CQp?0%+Us;E(e zK{Wm)Sl~E3B*InvG1OCdb^brtWfhlJd9H1n-W;mjHBNd>PTl1AkBi%!O>T6QQ&)2D z8D#f8B<Xk}wow%sYo4`xt`kONJLgb6^U6=ndqz49I6c%RrYWmhZ4aa}6U~s@9BfV2 zK!vPR*Qo_oD3UW~^~6l(HYb&aDl?!rO5VOc5W6ok#@0hCAhW20H%QKc(sMIF0Qx>` zDdwns(|b=0IGNr{pI~d#XX-}=_CLRy65NxjJf<Y@%s(f?vPTV2n*ua8J$V`EZ0j;9 zN+<0P&e}{EeN7IbXD~8Ki*tISL*$*-!yx#bq=*jpXei(Mrm?<F<zMmqUEw=Xg<+J5 zbOb{YA!x%pYIZ7h6t1RhZM3F9>xdiQe*P~NRM0glr0KD<bj?5m9vdB^=I^f#a2y7v zQ`h2cSaSi%xHRtj;#sh%ryRd$cK%;TlS_JaIMnsRCqAJ=53WDu0A2~o`AT@37+yLp zE^=h&JL}x5;@~PgT<K59pY{$xm;Z_==zoOn^rC?5&Luso+t2<?umTZN1Ds&YOI&~} zvRE2x;9GO`omqAXoDEjTy~VoU_K3hpA$+*m_nw~;y+W?=U(4%M;I71kh}De?qX<It z{7#Dfbvz!gXl5FLp1~)2Exrhp({DO`5Yl4ok-_A+(j8(Ecxh|Wnv-U0`RJmEfTXo7 zq@Xy>v-3Q!v63B>7?=zxqb=ZP2x&^!+L<Z8=Xy-rUN<#6PS||}w=(d>axf`$Dqt)o zB-v2T)L-=b+@uaT9uC@lghs{ib#T#k1i9Dut_X-NqeZD#EVK{g1g}pIdnNPOd~aQ! zf&H9**<gExd?L*AAk?(UhsBzlK9<joFaDA=-vKB0rVZ(xQm|rrmqnE|m~z!osdw#9 zBFJZ^jy`D!W!Z-M$(oL#xqb_G++i(T^Zp1T&3L;~AOgnO%}MZ1{g9qZR=&&QhGy4e z)BAJw6rL>aMZXA6qKq+p6(Llha0_YUwG<gZ<%1t2D9}OVg(^R#SYu+TPH~t~JPcX9 z@y&tKQwwiBx|RWl^c-EB)4{sCl{_=K#6(uM;xTt`)kTVblimFJK|2OG4g{pHyF5e~ z8>$lB^2n7XeKKKT&vF(2=#gDUJcm04%YDfdCXvsT#yE>2NpnJ`Z}YBxYIb$~WA;;D z9OeoH>$#CDsRrKcjzpv5ZXYL3^*&k*kJJf)1^nQn<W?!+v+|Fvmtu1l5t?x53yz#H zms^DA&l`-h{RljjzGMcCrbmwV;G9)}|L5Tq=PkGJx=n=-jfJVrSwPG&+NH|ldSQ*Y zpRVAh*2B1mC=&8^2;FtJdojYHVqR=x#QROcYPs8Jpd?mRWj^SuVM&HVU)1-S)$i|k zW-i^~d2lk<VZL%klHIf*OuY;u;Pgb@332RTz5c|nU%L008P2_<`$O62cJa1_3`Cu( zIy83o+qb|F;HTf)Fg`l=24S+|NUvdQFDwjZ>W$0=bTqOP<E}@ebH3q^rQTnqUWQy( zNKZjEyFpy&_oT%8Drwj|-g+|FeO)!-_p3T~;%>x}PEFhbiMaYaM45!$+I1aywdFE0 zrSf-ZH(Q&Qo|^&RGpNLib#Fy4ER>WAHK@|-^*Vw99-nLkvA2TcnZCOE>Jmdf;W09$ zGf~3XPmosB16&448aYVw8_B4RoqR14wmdv*SUVPs<%2GW*|hunp8#efU2#zpe;F#n z#r7WS^{gG_fXb`;C;b<ejD@7{Go$8X4sS3I2Ez5Nl26I0b6(PN10dOefFP!{rkW6c zIyKCOHlqsznZG`ee&9KL-t{|Lm&U%>cx2|5gi(Wf*<p|19<Ze}jdSL^Wl`r(+|}hF z{<w`V=YkOQdY5GVf6|8B=%VQdhc|qNcTTJQy*Ew(kx&%jQ*~Txf>wi<WOp}b_gd4+ zw|qcb*{MYL>6{G<;whkuHD|P&@Y$R)13U~3E*min0d5k#qzW++@*wNPmE%5o+kO!| zpp-KOI(RF=1FMus`aI7`FLu-ikg-LE4CqIYrxl2tf#}RuBmJOV@YQpZ5S4_tUF8X2 z#eNk@WFk!7lMIk_Z`noYoKStqSsqoM=Gx%sSNr-RGn%z%+5`p`kn?xZzX^_C<iO!v z8f(6s-F;KzDSDG0&PmJ&jd8`c>#U_V8>&j2j54$l9Y_?0n2Cf;J}?hs8N7^{{fh0o zzgcWfg1<J>7ZyUTtiETPpZ(2hJRe|(bq5aEcFcRfnZ_W|o0n}uuOznc<{xWJcgwZI z`qKvYwt2TwU{gCrsN@56oNBDTJa165M0KhC;!`Q#HdVq6!yQoFt{eymWVwFC=u=RV zx-SFON`8fPw@#yg){DBNC3B?DZi?Vie2OdwNu#Hf;>>?Vln+Yr${)zoCfx>;uTLR1 z3f|PwB{}r?P1k>*5m2cCRKO^&&+NN%F9yBa2EE~Avs0#-YLGV;EGQzzU=f<!xbNo3 z;*Tlz4dy3h%-z*DSF3wO(H5yN)?G<xN>?02E!SVI#B{(J1LytTd8<phI}j4|U8Rc( ze`aHaEkV%|uL|=4usFNOwvnR=L*+>mvOuS2F1(|cYc5`E`c|YceVLgCHm>S+NS!P) z4v07otbOuZjUi3zo(g2p3M~<7C^)&UZ3bje8;^ZIWX72WXbWa3**~{?W?OcF^8ZZ# zp=r24@_32+^(lVd%EcrRe*vS{2e<ZAm=i6soZlh9;QwI!`Z%dX%03}L0upTL=krMh z;WI1J#feS~{xZ^Mpuj&rKi`&)kfV~S)QF>?*@HD^w8g!UaP}#e7O1iA`w!)T^ZmxT z%$rCsQW^*R`K$Vs0+N00i=>Dw%H>#oV)_H{*;XS_<r?LABu8rWrYWF482&TBUG}ml z;=^fe%0d=$*3X&i@MqcEYFJS0`7W|MRpyhdWfyKuHf-OSV~x+$ME|NnXAAe_nHNf4 zz9rgDg?0w_1c)xRZHKJr9~7YF;T9u6^dr^+9D3s?@US>Nau~OwRc|J1l1Dw-r@+$m Kl1Ys*DdB(BHxWtz literal 2954 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 AYXATM diff --git a/data/tilesets/secondary/trainer_hill/tiles.png b/data/tilesets/secondary/trainer_hill/tiles.png index 78d292513fd24cce0e55d3fcf528e1c6646f3229..bfc0a3d9a8e1425e7e55ef83c9a1e0f6811da796 100644 GIT binary patch literal 3359 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 literal 3594 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 Qg8%>k07*qoM6N<$g1<@fcmMzZ diff --git a/data/tilesets/secondary/trick_house_puzzle/tiles.png b/data/tilesets/secondary/trick_house_puzzle/tiles.png index 5ef1bf9ca5741ced07c87f57e4146ab79e6c01b7..c31e0c0d7080a3b95352f0bf7a996ae92844b29f 100644 GIT binary patch literal 2613 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 XF57+1-^H7f00000NkvXXu0mjfJG6~h literal 2797 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 diff --git a/data/tilesets/secondary/underwater/anim/0.png b/data/tilesets/secondary/underwater/anim/0.png index 7609cc82a2b5c979f6ab161ed683fc7dfe0cf104..fab28e54f32345432f244313960c13cf014f0fe2 100644 GIT binary patch literal 231 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDU{r~^}yLa#I-Me@8?Ag70 z_pVv9X3m^B-QC^A#l=ZUNkKtDj*gCohK33X3IYNk6P&+1`~{?nJY5_^IA)4=ZR9;{ zz{6tMto<!BLcO<Y_lc+}F)|9gDh=E$6WX}$+VFi>7t~(R?o(E=nA_}HO{KWI_}V9_ zZS!;%F53D+$b9qtqhcBNXSY<|s15afP^e(ozx&Fn{+~QOIZ|P@ODY$iJ8{fdK3b{h bd!IeibqCJ{ZZ|`LwljFT`njxgN@xNAjjUR` literal 180 zcmeAS@N?(olHy`uVBq!ia0vp^96+qV0wfsDXLs`gscKIb#}JO0vb`I5nGJcEcTVO> zVPup$!4|P+>DGNezT{1c@~sNp?>xnXy=jWa3NzQ`8WM{S&g8XiT44B4kg;fP>&g#D zJO6#;T(|awx^&L<<Bu0TNLYBkFhrj7?f3Y-r=oSf{;P}&;ES2oRC?{MnK#e1lo|X> e!oBz!J6?z%)v&i*w{S~4$T^;_elF{r5}E+i;Y5}I diff --git a/data/tilesets/secondary/underwater/anim/1.png b/data/tilesets/secondary/underwater/anim/1.png index 64cddd371ad5e1c3f144f282b22abd6036fd9195..869bc60604b50f00c39e53da976048f4f5a68594 100644 GIT binary patch literal 236 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDU{r~^}yLa#I-Me@8?Ag70 z_pVv9X3m^B-QC^A#l=ZUNkKtDj*gCohK33X3IYNk6P&+1`~{@SJzX3_IA+S8-N<#= zfQKcZ)>&<>YWMXvo;YW#AKP`RcN~;YvDn4_rhnBPPyT~<IiD*ya$W4;@G`fFzM>dw zTyR`5-uQ`hu$9x1I!m+5%m3M{hFZ*U{<}wvVGgH2neNGZ+-2JqeK_>UHN&n@A%QXQ gZ`G;i&*%JMJbu85uhaZr7|;m}p00i_>zopr0HXw5JOBUy literal 183 zcmeAS@N?(olHy`uVBq!ia0vp^96+qV0wfsDXLs`gsX9*=#}JO0qP>P(hYbW+zWb{e z$n$+s5Rdj)p1-oAaP=XTwX-IKP5nQ?xA5>GzUl&RzUS{w9OSJueI)3Za;~xFc+jfY zE^CVyJC1ujFciAw$ZWqnQQNDvX?vu~<PUpR2~2m(&iMCLUY2`Zc}1OSd~965`Nr$6 h8&=K`DPc4IEdOAFZOMK!rcWRjdAj<!taD0e0sw}5L>d49 diff --git a/data/tilesets/secondary/underwater/anim/2.png b/data/tilesets/secondary/underwater/anim/2.png index ff6ff843784390b5219a4aab5c1cefe04694f9ad..64e4b267dec9c7fca771a074438b73be245381af 100644 GIT binary patch literal 238 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDU{r~^}yLa#I-Me@8?Ag70 z_pVv9X3m^B-QC^A#l=ZUNkKtDj*gCohK33X3IYNk6P&+1`~{>cJzX3_IA+S8-N?yo zDByB&?LmuxEWN;2hZ{c?FW6SLG=XX7{N_N$rrV45lzo%<(Nhp-W51+;*UTbSY5f<O z={~NTm>G>91Weyqba5?9i9WY!Ls)gYd)@2zzvW-7=i=a8ou;`!^2A1lYBO1<yILZR in{C<LLiXpE*D=lsa;aP5sd5qM2nJ7AKbLh*2~7YCfn3x8 literal 185 zcmeAS@N?(olHy`uVBq!ia0vp^96+qV0wfsDXLs`gsRmCM#}JO0yk`vg4jb?=JN)xx z{KLR~qJC9lvu^Ea=gsLFm#%tWxaxe-KIAl`3Ww9{WfzjVPDKVZb6=giB6XhR`j*;+ z`W1_UMPBDh|9QYBr`YjZM1;>Vd&-_)TU$CWO`Z|(sp**Qg6jV%*E^q^A7Ag7v_pTw j<QZ~oY`kv59UcD|KXqBNbV;Tj0lCT3)z4*}Q$iB}p@K$> diff --git a/data/tilesets/secondary/underwater/anim/3.png b/data/tilesets/secondary/underwater/anim/3.png index 2863c2261fafa876a2cc28ea98abdb59a690f5aa..0c13920112ead944564c2457e10e8f3530851235 100644 GIT binary patch literal 234 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDU{r~^}yLa#I-Me@8?Ag70 z_pVv9X3m^B-QC^A#l=ZUNkKtDj*gCohK33X3IYNk6P&+1`~{>+JzX3_IA+TBZsc`V z6mZUG)9NzulzP?CWcEvQlNfs|H=ENZCXYJ-mX~a8Z*RI_#u?P%C=#$Nsa0tEnF#T9 zn_5?`5cg3FI{5jmfXTXl=5KF5JTU9m^Ew8Ha}6I-bZupv<T5N$SudS^uJ0my*tgT* eGxvUT<@$>eju(}mWTyfhz~JfX=d#Wzp$PzlLtA(N literal 184 zcmeAS@N?(olHy`uVBq!ia0vp^96+qV0wfsDXLs`gsd`Tr#}JO0qP^OD%!UHawaYuF za7UbKWa9a>^IFq7FXly$CTv@xkn#RPWRj$feX|&cmhehVrMGeiueB^Oov?1(-m8ZN zg`||$ZDcO#Yp6T5;QM8P?(Ita-$G@kIoz*|`7CA<zBljXjRp4~ek`r<d)~Lp?!>C5 jEp<0^(@*Fe==sBZBEWXz`OHPKASZdc`njxgN@xNA3js(w diff --git a/data/tilesets/secondary/underwater/tiles.png b/data/tilesets/secondary/underwater/tiles.png index 5af21f35392d59b3d4c8046756f016966eb593ac..811b0cae4a43ae4a247d567ca78ba9b92675d038 100644 GIT binary patch literal 3014 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 IM6N<$f^4n05&!@I literal 2846 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 diff --git a/data/tilesets/secondary/union_room/tiles.png b/data/tilesets/secondary/union_room/tiles.png index b38ffe9e524300e54e534307ab2255b6375dc63c..f5ab3a9cb00a73df4c77cef5eb698b289fb291d1 100644 GIT binary patch literal 1763 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 FV1l`#0e%1g literal 1817 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 Hu0mjf-9uE* diff --git a/data/tilesets/secondary/unused_1/0.png b/data/tilesets/secondary/unused_1/0.png index bea921d90e42ea862d1fed110fd4913482f3d34a..ab462ba210480951e4294eb3dbfb9e6a33ad5f08 100644 GIT binary patch literal 141 zcmeAS@N?(olHy`uVBq!ia0vp^0t^g{3@pq*mPgI&S|DW*;1lBd|NsAY@7~?Jckk@k zvwQdMU9)D*oH=v4ySs~vi<6R)f`Wn^9UTn~4HXm=1O$L4FgSmC_zOr$c)B=-cyzu! m$jAufH7WdGpXcGg$WSB63AE+&p)`J=D1)b~pUXO@geCyJl`bg& literal 86 zcmeAS@N?(olHy`uVBq!ia0vp^91ILh3@ktfLwv-1As{8|>EamT(fRg>AtM6=50k?0 l>DRtW$ShHxq~iJO5<~p4A6c#%^TI(IJYD@<);T3K0RRNb7Iy#u diff --git a/data/tilesets/secondary/unused_1/1.png b/data/tilesets/secondary/unused_1/1.png index bea921d90e42ea862d1fed110fd4913482f3d34a..ab462ba210480951e4294eb3dbfb9e6a33ad5f08 100644 GIT binary patch literal 141 zcmeAS@N?(olHy`uVBq!ia0vp^0t^g{3@pq*mPgI&S|DW*;1lBd|NsAY@7~?Jckk@k zvwQdMU9)D*oH=v4ySs~vi<6R)f`Wn^9UTn~4HXm=1O$L4FgSmC_zOr$c)B=-cyzu! m$jAufH7WdGpXcGg$WSB63AE+&p)`J=D1)b~pUXO@geCyJl`bg& literal 86 zcmeAS@N?(olHy`uVBq!ia0vp^91ILh3@ktfLwv-1As{8|>EamT(fRg>AtM6=50k?0 l>DRtW$ShHxq~iJO5<~p4A6c#%^TI(IJYD@<);T3K0RRNb7Iy#u diff --git a/data/tilesets/secondary/unused_1/2.png b/data/tilesets/secondary/unused_1/2.png index 16652df19896a91d715ed5047610e1350fa210b1..703e0109a9833182c56dd068ed020cc56675118d 100644 GIT binary patch literal 165 zcmeAS@N?(olHy`uVBq!ia0vp^0t^g{3@pq*mPgI&S|DW*;1lBd|NsAY@7~?Jckk@k zvwQdMU9)D*oH=v4ySs~vi<6R)f`Wn^9UTn~4HXm=1O$L4FgSmC_zR@h)5S5wqx0=C zLqP@w9+rbYzPGh>GsiKzYH_g`6i4SyRq?#!zMxqBfXZ*tNhe<wFkBXtnPBzfL=I3d NgQu&X%Q~loCIB+GJ1YPH literal 106 zcmeAS@N?(olHy`uVBq!ia0vp^91ILh3@ktfLwv-1As}Vw>EamT(fRg>BQJx30L#YB z8!UEAY^cw7IK<Aaa@jpwHZ=_h?z7L0ZtyxL&1q_#qbhLwcHM%N`XEC*UHx3vIVCg! E043%f#sB~S diff --git a/data/tilesets/secondary/unused_1/3.png b/data/tilesets/secondary/unused_1/3.png index 8ea7a49e6bc169a443d376168a5dc43547b366f8..50d5068d747fb20389c119bdd17a2c3d4b502b62 100644 GIT binary patch literal 539 zcmV+$0_6RPP)<h;3K|Lk000e1NJLTq000mG009650{{R3NPO#k0000mP)t-s|NsB) z?(W{+-p$R;y}iAxtgM`zoQsQ#b8~ZIVq#KKQb9pMF)=Y9ARrJB5C8xGL-gVL0004| zNkl<ZNQv!~QF6l|3`BMG9-;R!IRVHQ0C9nU&d^<9C(~&=%~$(l961||$x3>IwC<B3 z&D<Gc>dp|~yEDWG=EsEaVhrhSg&}76LWIbQeJEPiDVR5Fx#O*A)0&3B=MZj5c*iG; zVjH-q!Uc?Y#1PIiWWo*vY+&9e1*UjO#|rKsH>|zke}!IRvE_X(hb>RVmNKnqqCn<* zE=GrzYFZ+<O_|`VhG*iq&73HbLKIYEE8eyQkvE@t!&{@Ecz6^8=KWCEXANfIJp?O8 zQDA`?N>T`1vcZcnivlmO+69HQ!E_A5wWF%2l;7Bt)e4A)T@dhtpLcrphW=I7*$3nF z<4-{^t1J((6f18l3yX3?&`St<iKfsCdnTXwsW0)9e&xsN$&b~OANvP>qF<H#MB^&> z>Ey?>EPiaqlm|a(!Q#h<_Tb0w0ErD*O&LiUSOb0##AaiB)19w^UJibI@uN|?6D0C8 z7f78*EPm)E_@S34Kl(F2<H1k+dw#C-=Q@9`^XEE$UOaz<gI?Y+!q_`T@N<eDf?h(< dO9*<Q_yFbb2Q8o$T}c1{002ovPDHLkV1l`e_mBVp literal 393 zcmV;40e1e0P)<h;3K|Lk000e1NJLTq000O800IC600000Us#_K0003{Nkl<ZNQv!K z+ik=!4ATlyZUNI-AhIX8WS@@E(OXKvy^uQ~Es7Qe;twKmXpxZ#NiAwpp(=2KPK7Xl zpbb(KO#tpa=h=pL0|mgZb`Lxcak8a*)a!17+KU*f3mF8(9MD<RMxMAFLpZP!;$cJi zD8*3Zyiy)`NS+aj22X<*hEf-ON?q1N3*9<xbfZB2hlAai1A1eXaVFHoDa3ct6=qf$ zmPY6cs|<Y7aG>dcV0}gaKh%Xnmb}_7&7rF#-*j8*I$;UjmbyK49cxh}<fX7D0VV7f z8M60YEPyszTxgBGA?#{2n=bE6>iLm(O5V8P?bY3zgD>T8e44-c+xf#7`NJ6b!*Awq zoKn}Wy4(C+TkO{`n6KAU_~%YI`Q@U9$e%|3n8N#8y}?f2Ufmzh-%j42=I@w)$NW3y n-!cFG!TkH+l6Nk7<9Z37meuh-l$2BE00000NkvXXu0mjfNMW|J diff --git a/data/tilesets/secondary/unused_1/tiles.png b/data/tilesets/secondary/unused_1/tiles.png index 3ae8bce428c75a3cdbffacdbabd4dfb686fff395..9347405d462501f2a8b0d7ce8ba3b980659eaa6c 100644 GIT binary patch literal 139 zcmeAS@N?(olHy`uVBq!ia0vp^4L~fw!VDyJ%CdF?DT4r?5ZC|z|G#_p?%ut7XV0G9 zyLa!JHEZU~nbY0fU0ht8l#~<{6y)gWXlQ7tpr9ZiAOO_l{N>><ASLGM;uvDlo17rQ lx|o6EAM?Q#jLP>I7!=>gKeYaNzz?W`!PC{xWt~$(69A4iFS`H$ literal 77 zcmeAS@N?(olHy`uVBq!ia0vp^96;Q`0wfr$R3!R<l!&K`V~EDY<RAPjJd2NL7&@>_ ZWMGI{{ZHWgBApo^b)K$%F6*2UngA<}5!e6# diff --git a/data/tilesets/secondary/unused_2/0.png b/data/tilesets/secondary/unused_2/0.png index 2895d3319a5c35f73a524731a21caa8f30647a0b..2887a970d689fbfaba5d6282ae281097140ed3be 100644 GIT binary patch delta 131 zcmV-}0DS*xr2&u`L<0Z-0NJD?P5=M^Fi=cXMgRZ*?(Xj1-rmj4&Aq+7tgNh@oSch` zi*s{xVq#)aQc^)dK`}8gARr(R5D)+W07LZQ`jH_MHD6Y2APpR7z-#N^l|8JW5JYw% lYUamG1gN^WzZ@;w{s5N@BJ?*|#Tftq002ovPDHLkV1k&FHhusA delta 86 zcmZ3=m^nc*fB^_j3-&AkQU;zbjv*W~Q;#?bGAMAk9-RN}BEvDZ8xB6NA567fb3mY_ nTrp?bZZDP-yCUr6?^^w2NRXB}w|H{pe~=lTu6{1-oD!M<4+9_2 diff --git a/data/tilesets/secondary/unused_2/1.png b/data/tilesets/secondary/unused_2/1.png index 63c22acf2b98595cf3a22b7d9dfdf18fc3847c02..2eb2b90f1240517c106f4d88cb3ef7b65f61d457 100644 GIT binary patch delta 151 zcmV;I0BHYjsR57~e**vj05$iaBLDyZFi=cXMgRZ*?(Xj1-rmj4&Aq+7tgNh@oSch` zi*s{xVq#)aQc^)dK`}8gARr(R5D)+W07LZQ`Tzg`G)Y83R0x@k#IX?oAP57%EGwQ1 z$hkq-fNZPOG=A}rQji!Gq3roKgCd0Fi#*k84V#Wn7vmWs5kH&y@X!DN002ovPDHLk FV1gGkKHC5Q delta 92 zcmZ3<m_I=>i~$JLo%qfIDKk$O#}JO0y+<|*GAM8`AMlYjQ;@FM(V(ukI_UO~qs=Bw tQ^J|v>Q<?}@SBkrwEEcPQ<68XyR&ypvQ6F@;s-K;!PC{xWt~$(698~vAuIp@ diff --git a/data/tilesets/secondary/unused_2/2.png b/data/tilesets/secondary/unused_2/2.png deleted file mode 100644 index d1447cde23dccd65bcdaf90921fe1212241d5db6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 108 zcmeAS@N?(olHy`uVBq!ia0vp^96+qV0wfsDXLs`gDPvC;#}JO0$sDXqY)vi_6FitV z9l8{>P)Fxg(8ia(%t8*a0b*vkih2%*SeG2(b!l0+f|;SVN85&t)#oF~7*AI}mvv4F FO#lvr8~XqN diff --git a/data/tilesets/secondary/unused_2/3.png b/data/tilesets/secondary/unused_2/3.png deleted file mode 100644 index 8ad81b1e1e9daf31260a661bd436367997d4f31c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 105 zcmeAS@N?(olHy`uVBq!ia0vp^96+qV0wfsDXLs`gDFaUz#}JO0$sDXqY$}IzMLm`* zUDTl{n7Kp6p+#G-)5OQ{dcX|Xl?q{5S`#=9hp;nbt=1OT^vItMGQ-o=&t;ucLK6Uu C+!_4< diff --git a/data/tilesets/secondary/unused_2/tiles.png b/data/tilesets/secondary/unused_2/tiles.png index 2ab3b63d6b5e07e348c729d633361b9024575f14..d734e826d89dcc6d32df1c7e5b3ac798c7b81b43 100644 GIT binary patch literal 917 zcmV;G18V$<P)<h;3K|Lk000e1NJLTq004jh002+~0{{R3BQ9Xq0000mP)t-s|NsB) z?(W{+-p$R;y}iAxtgM`zoQsQ#b8~ZIVq#KKQb9pMF)=Y9ARrJB5C8xGL-gVL0009Z zNkl<ZScUD@F;Ck-6bEoViv^Mukt`N!W>g@`=-{xiGzmp&*}y8Q7~-@#QNoB6J^+RL z1W0U1MIBtmiUBi54CTH;`+s)?%sJpY)2Zc2))N=MAMfsbP9`Q0K~7BMh409iqD&VR zrN^v*QL!CRIaN1Tgz(Er0%O@P&8o2y=LUc{l{Zfd5iA37oH7b$<=CVdKmyvOV%dS9 z|2!+l3;_tZ`COouI!FkBfU&wEAWm^}1;u4_uq-=(fU(lkz;DDI<V*`$4CH=n(gtv3 z`!tQzm=$m?7Z3}X8mrp?71~1D%G6lN2AGx)QTag!lQzKJSxApr0i&}}2pD&SbB{Bf z7!Q%nt`L#ToXb2H$BQxt0kS<X^)5-y8ps_)!w6t3O6BH{B)JTbJA*+x$O23Yy#s0> zNxn6vI;))T1&s`_D`Z@6a~X%@finR6oFBE{SOfF#3HaHXU!{-tTGl{Qb<l1qpl!Vd z&5yUhCIJWcz-Md<UHwGHMentYn&(x8=n`J#9C>Mtc463F(mOB(np?k;<b2p}ekcem zY>7A)!`8wk?ZQDT1-xZ+^)GMG;>|^`4x--60wJw&$A1+balXIdrvZVB_pbn40jL3} zWr3M+O^9LW&xD(U!PjsMkTV5uX+wyWb>xuqjdjN!m{|$K(7(&}fHxP0i}yJf&`)Rf zO`-$ZE})Jv6uRocjPe0(7f|nb5M0%P0iaL8rNYQ_WeZUOpi5Jz0+3J<z;(Qc0D7er z09>?y1|k4}OaN^c0JxC?+{g&fb^*0j%%WRGbP?850N^<a@SGw5Eg&r<0LF>|cuhJ4 z(Bo_X=r2`I6*|-awU7&BzuuUKr`f5hzl#7g1pum{#{qmOaE${V<lGMQqS0DBT9^ln zzUrO<U~V=5OD!DbUGe3F*#Ot7aQ9H<ZR+6r^8m4fNjwW+C&var>IZ?g20|EhFxu-2 zwFCW{$~^*dizz<c{u0#zqlf4zU?+~_7r+pBY#WVtfqtP$Ks`YHn#w(+;uqlG1GER} re*~B+WTR{i7=Ii8bzpSvivoWDc5F|-Ii1Vn00000NkvXXu0mjfZ+VcK literal 979 zcmV;^11$WBP)<h;3K|Lk000e1NJLTq000O800giE00000CPKMg000A;Nkl<ZScUDF z&rcIU9L48fSUebxE(hWfdoY;vM&e&EAb)@)9tF)ryFCztS-h!<vc(HGTj;SV()3(I zdZC1DQZj#wzBet~{V^p&Bvzx7^pm%pZ{P0DzJ7OG@dHCRpn)NpTI(^+%7j-YycA3w zDu#KK39n3e<zdl}2Iqt}SR&56RNY7od|xyUObJ!PsDVG4%@iL{4X9Y6S#sbN_IuGK zWS5XBOg)b-A-ja^7SF>NToT%#MO;XiCH^PjI&OQvO?_@+VX#D;5$CCEIgZpp5}#3! z21&SdCUt`(j!8sKShE4X{qwkF!n8q)xF9a`=P~;${bxdRg&fewa6#^43PU{i5QYiN zd%2I9_b_=k1@oTG@1;a*nP93PCf8CJ`^8>@+-4eH02c$5C>u~L6R7NF8j{5_@srb_ z^+`$S;YVNS`U77;jPdOQP^YTD0ZNA`_Lq-<g$Ce1Is%r7`}<V25#WbDK8zyxMH^xm zeUiXaDZYKe($x)i*zf5VMey6G!B0MG90|Ev`+}u=wolZ6_1dlH?^T3DOXIU5ydtc1 zGLKCki<82_9B^;W&rjgBn8v~!aBprgKT+v)I%%{jK)ce(PvF%~qg4Ugm3Drj-|u-Y z@Ty3=15hkoAX)5yukVq%`t}`P9B+FiaU9|cdm6sSQGMM7PWM9iorGAhc_eHJD0%by z_`*g_;mwD@-a9SAun8Q}&m`<EaJ+-meGgY9{B}0r7s{01IAO%<Is*4}w<$KBz)$XG z{BA#gwyarE$lCP$O-tQm_WIOKX0K1(WcK>hO=hoJDO;6-in&?kW;NC#h9u%~7d8D< znWh?Wvj-Iry?!79!uZAPtg%rsRcusD6&n>NT{)l%paLoY0*VNT+20X=FC3zWRddQ8 z>ZCPwwi~1^b+#L>Ep;|OTk33n$V`v83R2KlOcPy{u^Kxgja8<zItr$OgaOit)N(WN z!yx*E0{T?gZ;vj$<VdR+umY4(no1d^sZ@33H~U2ViTShNYm50SKCcmXvrzWuNpqo| zXJPkS%i=n}mszOH1F2CjR<4w{MX1z6YU){(csP101y&wkso7t_zZ+(qU-K8*RG1Q1 zzeQes2Ou+>E@-pZ0VuAxU=psaQmJIcjn4N!ehr1+6;t5qx5#GX0Ayy<1#K2P0L2v- z%znlH<A(YB<^HGa|I^qSUg3so>vdE7Yz;5(_Y*hpUXg-neklL|002ovPDHLkV1k-B B&G7&L From 899ae7a59a2335917b3494b2b5c65dfa52faf4ce Mon Sep 17 00:00:00 2001 From: Diegoisawesome <diego@domoreaweso.me> Date: Tue, 18 Sep 2018 10:03:24 -0500 Subject: [PATCH 215/234] Add defines for tile, metatile, and palette count --- include/fieldmap.h | 7 +++++++ src/field_camera.c | 6 +++--- src/fieldmap.c | 22 +++++++++++----------- 3 files changed, 21 insertions(+), 14 deletions(-) diff --git a/include/fieldmap.h b/include/fieldmap.h index 05ffb2edcf..8287229ed5 100644 --- a/include/fieldmap.h +++ b/include/fieldmap.h @@ -1,6 +1,13 @@ #ifndef GUARD_FIELDMAP_H #define GUARD_FIELDMAP_H +#define NUM_TILES_IN_PRIMARY 512 +#define NUM_TILES_TOTAL 1024 +#define NUM_METATILES_IN_PRIMARY 512 +#define NUM_METATILES_TOTAL 1024 +#define NUM_PALS_IN_PRIMARY 6 +#define NUM_PALS_TOTAL 13 + extern struct BackupMapLayout gUnknown_03005DC0; u32 MapGridGetMetatileIdAt(int, int); diff --git a/src/field_camera.c b/src/field_camera.c index 8629bec2b4..e8900e06a7 100644 --- a/src/field_camera.c +++ b/src/field_camera.c @@ -232,14 +232,14 @@ static void DrawMetatileAt(const struct MapLayout *mapLayout, u16 b, int c, int u16 metatileId = MapGridGetMetatileIdAt(c, d); u16 *metatiles; - if (metatileId > 1024) + if (metatileId > NUM_METATILES_TOTAL) metatileId = 0; - if (metatileId < 512) + if (metatileId < NUM_METATILES_IN_PRIMARY) metatiles = mapLayout->primaryTileset->metatiles; else { metatiles = mapLayout->secondaryTileset->metatiles; - metatileId -= 512; + metatileId -= NUM_METATILES_IN_PRIMARY; } DrawMetatile(MapGridGetMetatileLayerTypeAt(c, d), metatiles + metatileId * 8, b); } diff --git a/src/fieldmap.c b/src/fieldmap.c index 019db9d0db..96f5d2b855 100644 --- a/src/fieldmap.c +++ b/src/fieldmap.c @@ -482,15 +482,15 @@ void MapGridSetMetatileEntryAt(int x, int y, u16 metatile) u16 GetBehaviorByMetatileId(u16 metatile) { u16 *attributes; - if (metatile <= 0x1ff) + if (metatile < NUM_METATILES_IN_PRIMARY) { attributes = gMapHeader.mapLayout->primaryTileset->metatileAttributes; return attributes[metatile]; } - else if (metatile <= 0x3ff) + else if (metatile < NUM_METATILES_TOTAL) { attributes = gMapHeader.mapLayout->secondaryTileset->metatileAttributes; - return attributes[metatile - 0x200]; + return attributes[metatile - NUM_METATILES_IN_PRIMARY]; } else { @@ -979,7 +979,7 @@ void apply_map_tileset_palette(struct Tileset const *tileset, u16 destOffset, u1 } else if (tileset->isSecondary == TRUE) { - LoadPalette(((u16*)tileset->palettes) + 0x60, destOffset, size); + LoadPalette(((u16*)tileset->palettes) + (NUM_PALS_IN_PRIMARY * 16), destOffset, size); nullsub_3(destOffset, size >> 1); } else @@ -992,35 +992,35 @@ void apply_map_tileset_palette(struct Tileset const *tileset, u16 destOffset, u1 void copy_map_tileset1_to_vram(struct MapLayout const *mapLayout) { - copy_tileset_patterns_to_vram(mapLayout->primaryTileset, 0x200, 0); + copy_tileset_patterns_to_vram(mapLayout->primaryTileset, NUM_TILES_IN_PRIMARY, 0); } void copy_map_tileset2_to_vram(struct MapLayout const *mapLayout) { - copy_tileset_patterns_to_vram(mapLayout->secondaryTileset, 0x200, 0x200); + copy_tileset_patterns_to_vram(mapLayout->secondaryTileset, NUM_TILES_TOTAL - NUM_TILES_IN_PRIMARY, NUM_TILES_IN_PRIMARY); } void copy_map_tileset2_to_vram_2(struct MapLayout const *mapLayout) { - copy_tileset_patterns_to_vram2(mapLayout->secondaryTileset, 0x200, 0x200); + copy_tileset_patterns_to_vram2(mapLayout->secondaryTileset, NUM_TILES_TOTAL - NUM_TILES_IN_PRIMARY, NUM_TILES_IN_PRIMARY); } void apply_map_tileset1_palette(struct MapLayout const *mapLayout) { - apply_map_tileset_palette(mapLayout->primaryTileset, 0, 0xC0); + apply_map_tileset_palette(mapLayout->primaryTileset, 0, NUM_PALS_IN_PRIMARY * 16 * 2); } void apply_map_tileset2_palette(struct MapLayout const *mapLayout) { - apply_map_tileset_palette(mapLayout->secondaryTileset, 0x60, 0xE0); + apply_map_tileset_palette(mapLayout->secondaryTileset, NUM_PALS_IN_PRIMARY * 16, (NUM_PALS_TOTAL - NUM_PALS_IN_PRIMARY) * 16 * 2); } void copy_map_tileset1_tileset2_to_vram(struct MapLayout const *mapLayout) { if (mapLayout) { - copy_tileset_patterns_to_vram2(mapLayout->primaryTileset, 0x200, 0); - copy_tileset_patterns_to_vram2(mapLayout->secondaryTileset, 0x200, 0x200); + copy_tileset_patterns_to_vram2(mapLayout->primaryTileset, NUM_TILES_IN_PRIMARY, 0); + copy_tileset_patterns_to_vram2(mapLayout->secondaryTileset, NUM_TILES_TOTAL - NUM_TILES_IN_PRIMARY, NUM_TILES_IN_PRIMARY); } } From e4b7ba0977f2029459f08bcfc4d8aa35dbb4fc3c Mon Sep 17 00:00:00 2001 From: DizzyEggg <jajkodizzy@wp.pl> Date: Thu, 20 Sep 2018 11:55:35 +0200 Subject: [PATCH 216/234] Document some not labeled battle things --- charmap.txt | 12 ++--- include/battle_message.h | 10 ++--- include/constants/battle.h | 2 +- src/battle_controller_opponent.c | 2 +- src/battle_controller_safari.c | 2 +- src/battle_controller_wally.c | 2 +- src/battle_controllers.c | 40 ++++++++--------- src/battle_main.c | 20 ++++----- src/battle_message.c | 76 ++++++++++++++++---------------- src/pokemon.c | 2 +- src/recorded_battle.c | 4 +- 11 files changed, 86 insertions(+), 86 deletions(-) diff --git a/charmap.txt b/charmap.txt index 6bcb0703a5..a736b40f2e 100644 --- a/charmap.txt +++ b/charmap.txt @@ -360,7 +360,7 @@ B_ATK_NAME_WITH_PREFIX_MON1 = FD 0D B_ATK_PARTNER_NAME = FD 0E B_ATK_NAME_WITH_PREFIX = FD 0F B_DEF_NAME_WITH_PREFIX = FD 10 -B_EFF_NAME_WITH_PREFIX = FD 11 @ EFF = short for gEffectBank +B_EFF_NAME_WITH_PREFIX = FD 11 @ EFF = short for gEffectBattler B_ACTIVE_NAME_WITH_PREFIX = FD 12 B_SCR_ACTIVE_NAME_WITH_PREFIX = FD 13 B_CURRENT_MOVE = FD 14 @@ -373,11 +373,11 @@ B_SCR_ACTIVE_ABILITY = FD 1A B_EFF_ABILITY = FD 1B B_TRAINER1_CLASS = FD 1C B_TRAINER1_NAME = FD 1D -B_1E = FD 1E @ trainer name for a link player -B_1F = FD 1F @ trainer name for a link player -B_20 = FD 20 @ trainer name for a link player -B_21 = FD 21 @ trainer name for a link player -B_22 = FD 22 @ trainer name for a link player +B_LINK_PLAYER_NAME = FD 1E +B_LINK_PARTNER_NAME = FD 1F +B_LINK_OPPONENT1_NAME = FD 20 +B_LINK_OPPONENT2_NAME = FD 21 +B_LINK_SCR_TRAINER_NAME = FD 22 B_PLAYER_NAME = FD 23 B_TRAINER1_LOSE_TEXT = FD 24 B_TRAINER1_WIN_TEXT = FD 25 diff --git a/include/battle_message.h b/include/battle_message.h index 94f584935c..5d811fe69f 100644 --- a/include/battle_message.h +++ b/include/battle_message.h @@ -34,11 +34,11 @@ #define B_TXT_EFF_ABILITY 0x1B #define B_TXT_TRAINER1_CLASS 0x1C #define B_TXT_TRAINER1_NAME 0x1D -#define B_TXT_1E 0x1E // trainer name for a link player -#define B_TXT_1F 0x1F // trainer name for a link player -#define B_TXT_20 0x20 // trainer name for a link player -#define B_TXT_21 0x21 // trainer name for a link player -#define B_TXT_22 0x22 // trainer name for a link player +#define B_TXT_LINK_PLAYER_NAME 0x1E +#define B_TXT_LINK_PARTNER_NAME 0x1F +#define B_TXT_LINK_OPPONENT1_NAME 0x20 +#define B_TXT_LINK_OPPONENT2_NAME 0x21 +#define B_TXT_LINK_SCR_TRAINER_NAME 0x22 #define B_TXT_PLAYER_NAME 0x23 #define B_TXT_TRAINER1_LOSE_TEXT 0x24 #define B_TXT_TRAINER1_WIN_TEXT 0x25 diff --git a/include/constants/battle.h b/include/constants/battle.h index e5ca9d7ae5..34f18c7bc0 100644 --- a/include/constants/battle.h +++ b/include/constants/battle.h @@ -46,7 +46,7 @@ // Battle Type Flags #define BATTLE_TYPE_DOUBLE 0x0001 #define BATTLE_TYPE_LINK 0x0002 -#define BATTLE_TYPE_WILD 0x0004 +#define BATTLE_TYPE_IS_MASTER 0x0004 // In not-link battles, it's always set. #define BATTLE_TYPE_TRAINER 0x0008 #define BATTLE_TYPE_FIRST_BATTLE 0x0010 #define BATTLE_TYPE_20 0x0020 diff --git a/src/battle_controller_opponent.c b/src/battle_controller_opponent.c index b3179ed3d2..1cd6722603 100644 --- a/src/battle_controller_opponent.c +++ b/src/battle_controller_opponent.c @@ -1998,7 +1998,7 @@ static void OpponentHandleResetActionMoveSelection(void) static void OpponentHandleCmd55(void) { - if (gBattleTypeFlags & BATTLE_TYPE_LINK && !(gBattleTypeFlags & BATTLE_TYPE_WILD)) + if (gBattleTypeFlags & BATTLE_TYPE_LINK && !(gBattleTypeFlags & BATTLE_TYPE_IS_MASTER)) { gMain.inBattle = 0; gMain.callback1 = gPreBattleCallback1; diff --git a/src/battle_controller_safari.c b/src/battle_controller_safari.c index aab804b417..898e182949 100644 --- a/src/battle_controller_safari.c +++ b/src/battle_controller_safari.c @@ -687,7 +687,7 @@ static void SafariHandleCmd55(void) FadeOutMapMusic(5); BeginFastPaletteFade(3); SafariBufferExecCompleted(); - if ((gBattleTypeFlags & BATTLE_TYPE_LINK) && !(gBattleTypeFlags & BATTLE_TYPE_WILD)) + if ((gBattleTypeFlags & BATTLE_TYPE_LINK) && !(gBattleTypeFlags & BATTLE_TYPE_IS_MASTER)) gBattlerControllerFuncs[gActiveBattler] = sub_81595E4; } diff --git a/src/battle_controller_wally.c b/src/battle_controller_wally.c index 747aa29878..80dd6d3bb2 100644 --- a/src/battle_controller_wally.c +++ b/src/battle_controller_wally.c @@ -1560,7 +1560,7 @@ static void WallyHandleCmd55(void) BeginFastPaletteFade(3); WallyBufferExecCompleted(); - if (!(gBattleTypeFlags & BATTLE_TYPE_WILD) && gBattleTypeFlags & BATTLE_TYPE_LINK) + if (!(gBattleTypeFlags & BATTLE_TYPE_IS_MASTER) && gBattleTypeFlags & BATTLE_TYPE_LINK) gBattlerControllerFuncs[gActiveBattler] = sub_80587B0; } diff --git a/src/battle_controllers.c b/src/battle_controllers.c index 4d714ca81c..63154ae8b0 100644 --- a/src/battle_controllers.c +++ b/src/battle_controllers.c @@ -330,7 +330,7 @@ static void InitSinglePlayerBtlControllers(void) } } } - else if (gBattleTypeFlags & BATTLE_TYPE_WILD) + else if (gBattleTypeFlags & BATTLE_TYPE_IS_MASTER) { gBattlerControllerFuncs[0] = SetControllerToRecordedPlayer; gBattlerPositions[0] = B_POSITION_PLAYER_LEFT; @@ -391,7 +391,7 @@ static void InitLinkBtlControllers(void) if (!(gBattleTypeFlags & BATTLE_TYPE_DOUBLE)) { - if (gBattleTypeFlags & BATTLE_TYPE_WILD) + if (gBattleTypeFlags & BATTLE_TYPE_IS_MASTER) { gBattleMainFunc = BeginBattleIntro; @@ -416,7 +416,7 @@ static void InitLinkBtlControllers(void) } else if (!(gBattleTypeFlags & BATTLE_TYPE_MULTI) && gBattleTypeFlags & BATTLE_TYPE_DOUBLE) { - if (gBattleTypeFlags & BATTLE_TYPE_WILD) + if (gBattleTypeFlags & BATTLE_TYPE_IS_MASTER) { gBattleMainFunc = BeginBattleIntro; @@ -453,7 +453,7 @@ static void InitLinkBtlControllers(void) } else if (gBattleTypeFlags & BATTLE_TYPE_BATTLE_TOWER) { - if (gBattleTypeFlags & BATTLE_TYPE_WILD) + if (gBattleTypeFlags & BATTLE_TYPE_IS_MASTER) { gBattleMainFunc = BeginBattleIntro; @@ -501,7 +501,7 @@ static void InitLinkBtlControllers(void) { multiplayerId = GetMultiplayerId(); - if (gBattleTypeFlags & BATTLE_TYPE_WILD) + if (gBattleTypeFlags & BATTLE_TYPE_IS_MASTER) gBattleMainFunc = BeginBattleIntro; for (i = 0; i < MAX_BATTLERS_COUNT; i++) @@ -700,14 +700,14 @@ static void CreateTasksForSendRecvLinkBuffers(void) enum { LINK_BUFF_BUFFER_ID, - LINK_BUFF_ACTIVE_BANK, + LINK_BUFF_ACTIVE_BATTLER, LINK_BUFF_ATTACKER, LINK_BUFF_TARGET, LINK_BUFF_SIZE_LO, LINK_BUFF_SIZE_HI, - LINK_BUFF_ABSENT_BANK_FLAGS, - LINK_BUFF_EFFECT_BANK, - LINK_BUFF_DATA + LINK_BUFF_ABSENT_BATTLER_FLAGS, + LINK_BUFF_EFFECT_BATTLER, + LINK_BUFF_DATA, }; void PrepareBufferDataTransferLink(u8 bufferId, u16 size, u8 *data) @@ -722,13 +722,13 @@ void PrepareBufferDataTransferLink(u8 bufferId, u16 size, u8 *data) gTasks[gUnknown_02022D08].data[14] = 0; } gLinkBattleSendBuffer[gTasks[gUnknown_02022D08].data[14] + LINK_BUFF_BUFFER_ID] = bufferId; - gLinkBattleSendBuffer[gTasks[gUnknown_02022D08].data[14] + LINK_BUFF_ACTIVE_BANK] = gActiveBattler; + gLinkBattleSendBuffer[gTasks[gUnknown_02022D08].data[14] + LINK_BUFF_ACTIVE_BATTLER] = gActiveBattler; gLinkBattleSendBuffer[gTasks[gUnknown_02022D08].data[14] + LINK_BUFF_ATTACKER] = gBattlerAttacker; gLinkBattleSendBuffer[gTasks[gUnknown_02022D08].data[14] + LINK_BUFF_TARGET] = gBattlerTarget; gLinkBattleSendBuffer[gTasks[gUnknown_02022D08].data[14] + LINK_BUFF_SIZE_LO] = alignedSize; gLinkBattleSendBuffer[gTasks[gUnknown_02022D08].data[14] + LINK_BUFF_SIZE_HI] = (alignedSize & 0x0000FF00) >> 8; - gLinkBattleSendBuffer[gTasks[gUnknown_02022D08].data[14] + LINK_BUFF_ABSENT_BANK_FLAGS] = gAbsentBattlerFlags; - gLinkBattleSendBuffer[gTasks[gUnknown_02022D08].data[14] + LINK_BUFF_EFFECT_BANK] = gEffectBattler; + gLinkBattleSendBuffer[gTasks[gUnknown_02022D08].data[14] + LINK_BUFF_ABSENT_BATTLER_FLAGS] = gAbsentBattlerFlags; + gLinkBattleSendBuffer[gTasks[gUnknown_02022D08].data[14] + LINK_BUFF_EFFECT_BATTLER] = gEffectBattler; for (i = 0; i < size; i++) gLinkBattleSendBuffer[gTasks[gUnknown_02022D08].data[14] + LINK_BUFF_DATA + i] = data[i]; @@ -877,7 +877,7 @@ static void Task_HandleCopyReceivedLinkBuffersData(u8 taskId) gTasks[taskId].data[12] = 0; gTasks[taskId].data[15] = 0; } - battlerId = gLinkBattleRecvBuffer[gTasks[taskId].data[15] + LINK_BUFF_ACTIVE_BANK]; + battlerId = gLinkBattleRecvBuffer[gTasks[taskId].data[15] + LINK_BUFF_ACTIVE_BATTLER]; blockSize = gLinkBattleRecvBuffer[gTasks[taskId].data[15] + LINK_BUFF_SIZE_LO] | (gLinkBattleRecvBuffer[gTasks[taskId].data[15] + LINK_BUFF_SIZE_HI] << 8); switch (gLinkBattleRecvBuffer[gTasks[taskId].data[15] + 0]) @@ -886,19 +886,19 @@ static void Task_HandleCopyReceivedLinkBuffersData(u8 taskId) if (gBattleControllerExecFlags & gBitTable[battlerId]) return; - memcpy(gBattleBufferA[battlerId], &gLinkBattleRecvBuffer[gTasks[taskId].data[15] + 8], blockSize); + memcpy(gBattleBufferA[battlerId], &gLinkBattleRecvBuffer[gTasks[taskId].data[15] + LINK_BUFF_DATA], blockSize); sub_803F850(battlerId); - if (!(gBattleTypeFlags & BATTLE_TYPE_WILD)) + if (!(gBattleTypeFlags & BATTLE_TYPE_IS_MASTER)) { - gBattlerAttacker = gLinkBattleRecvBuffer[gTasks[taskId].data[15] + 2]; - gBattlerTarget = gLinkBattleRecvBuffer[gTasks[taskId].data[15] + 3]; - gAbsentBattlerFlags = gLinkBattleRecvBuffer[gTasks[taskId].data[15] + 6]; - gEffectBattler = gLinkBattleRecvBuffer[gTasks[taskId].data[15] + 7]; + gBattlerAttacker = gLinkBattleRecvBuffer[gTasks[taskId].data[15] + LINK_BUFF_ATTACKER]; + gBattlerTarget = gLinkBattleRecvBuffer[gTasks[taskId].data[15] + LINK_BUFF_TARGET]; + gAbsentBattlerFlags = gLinkBattleRecvBuffer[gTasks[taskId].data[15] + LINK_BUFF_ABSENT_BATTLER_FLAGS]; + gEffectBattler = gLinkBattleRecvBuffer[gTasks[taskId].data[15] + LINK_BUFF_EFFECT_BATTLER]; } break; case 1: - memcpy(gBattleBufferB[battlerId], &gLinkBattleRecvBuffer[gTasks[taskId].data[15] + 8], blockSize); + memcpy(gBattleBufferB[battlerId], &gLinkBattleRecvBuffer[gTasks[taskId].data[15] + LINK_BUFF_DATA], blockSize); break; case 2: var = gLinkBattleRecvBuffer[gTasks[taskId].data[15] + LINK_BUFF_DATA]; diff --git a/src/battle_main.c b/src/battle_main.c index 781fbeff40..74325d7bf5 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -877,7 +877,7 @@ static void sub_8036EB8(u8 arg0, u8 arg1) if (gBlockRecvBuffer[0][0] == 256) { if (arg1 == 0) - gBattleTypeFlags |= BATTLE_TYPE_WILD | BATTLE_TYPE_TRAINER; + gBattleTypeFlags |= BATTLE_TYPE_IS_MASTER | BATTLE_TYPE_TRAINER; else gBattleTypeFlags |= BATTLE_TYPE_TRAINER; var++; @@ -896,7 +896,7 @@ static void sub_8036EB8(u8 arg0, u8 arg1) if (i == arg0) { if (arg1 == 0) - gBattleTypeFlags |= BATTLE_TYPE_WILD | BATTLE_TYPE_TRAINER; + gBattleTypeFlags |= BATTLE_TYPE_IS_MASTER | BATTLE_TYPE_TRAINER; else gBattleTypeFlags |= BATTLE_TYPE_TRAINER; var++; @@ -916,7 +916,7 @@ static void sub_8036EB8(u8 arg0, u8 arg1) } if (i == arg0) - gBattleTypeFlags |= BATTLE_TYPE_WILD | BATTLE_TYPE_TRAINER; + gBattleTypeFlags |= BATTLE_TYPE_IS_MASTER | BATTLE_TYPE_TRAINER; else gBattleTypeFlags |= BATTLE_TYPE_TRAINER; } @@ -979,7 +979,7 @@ static void CB2_HandleStartBattle(void) else { if (!(gBattleTypeFlags & BATTLE_TYPE_RECORDED)) - gBattleTypeFlags |= BATTLE_TYPE_WILD; + gBattleTypeFlags |= BATTLE_TYPE_IS_MASTER; gBattleCommunication[MULTIUSE_STATE] = 15; SetAllPlayersBerryData(); } @@ -1087,7 +1087,7 @@ static void CB2_HandleStartBattle(void) if ((GetBlockReceivedStatus() & 3) == 3) { ResetBlockReceivedFlags(); - if (!(gBattleTypeFlags & BATTLE_TYPE_WILD)) + if (!(gBattleTypeFlags & BATTLE_TYPE_IS_MASTER)) memcpy(&gRecordedBattleRngSeed, gBlockRecvBuffer[enemyMultiplayerId], sizeof(gRecordedBattleRngSeed)); gBattleCommunication[MULTIUSE_STATE]++; } @@ -1181,7 +1181,7 @@ static void CB2_HandleStartMultiPartnerBattle(void) else { if (!(gBattleTypeFlags & BATTLE_TYPE_RECORDED)) - gBattleTypeFlags |= BATTLE_TYPE_WILD; + gBattleTypeFlags |= BATTLE_TYPE_IS_MASTER; gBattleCommunication[MULTIUSE_STATE] = 13; SetAllPlayersBerryData(); } @@ -1340,7 +1340,7 @@ static void CB2_HandleStartMultiPartnerBattle(void) if ((GetBlockReceivedStatus() & 3) == 3) { ResetBlockReceivedFlags(); - if (!(gBattleTypeFlags & BATTLE_TYPE_WILD)) + if (!(gBattleTypeFlags & BATTLE_TYPE_IS_MASTER)) memcpy(&gRecordedBattleRngSeed, gBlockRecvBuffer[enemyMultiplayerId], sizeof(gRecordedBattleRngSeed)); gBattleCommunication[MULTIUSE_STATE]++; } @@ -1568,7 +1568,7 @@ static void CB2_HandleStartMultiBattle(void) else { if (!(gBattleTypeFlags & BATTLE_TYPE_RECORDED)) - gBattleTypeFlags |= BATTLE_TYPE_WILD; + gBattleTypeFlags |= BATTLE_TYPE_IS_MASTER; gBattleCommunication[MULTIUSE_STATE] = 7; SetAllPlayersBerryData(); } @@ -3302,7 +3302,7 @@ static void BattleIntroGetMonsData(void) { case 0: gActiveBattler = gBattleCommunication[1]; - BtlController_EmitGetMonData(0, 0, 0); + BtlController_EmitGetMonData(0, REQUEST_ALL_BATTLE, 0); MarkBattlerForControllerExec(gActiveBattler); gBattleCommunication[MULTIUSE_STATE]++; break; @@ -4597,7 +4597,7 @@ static void sub_803CDF8(void) void SwapTurnOrder(u8 id1, u8 id2) { u32 temp; - + SWAP(gActionsByTurnOrder[id1], gActionsByTurnOrder[id2], temp); SWAP(gBattlerByTurnOrder[id1], gBattlerByTurnOrder[id2], temp); } diff --git a/src/battle_message.c b/src/battle_message.c index 78b9ac53b4..f478df4df1 100644 --- a/src/battle_message.c +++ b/src/battle_message.c @@ -334,14 +334,14 @@ static const u8 sText_GotAwaySafely[] = _("{PLAY_SE 0x0011}Got away safely!\p"); static const u8 sText_PkmnFledUsingIts[] = _("{PLAY_SE 0x0011}{B_ATK_NAME_WITH_PREFIX} fled\nusing its {B_LAST_ITEM}!\p"); static const u8 sText_PkmnFledUsing[] = _("{PLAY_SE 0x0011}{B_ATK_NAME_WITH_PREFIX} fled\nusing {B_ATK_ABILITY}!\p"); static const u8 sText_WildPkmnFled[] = _("{PLAY_SE 0x0011}Wild {B_BUFF1} fled!"); -static const u8 sText_PlayerDefeatedLinkTrainer[] = _("Player defeated\n{B_20}!"); -static const u8 sText_TwoLinkTrainersDefeated[] = _("Player beat {B_20}\nand {B_21}!"); -static const u8 sText_PlayerLostAgainstLinkTrainer[] = _("Player lost against\n{B_20}!"); -static const u8 sText_PlayerLostToTwo[] = _("Player lost to {B_20}\nand {B_21}!"); -static const u8 sText_PlayerBattledToDrawLinkTrainer[] = _("Player battled to a draw against\n{B_20}!"); -static const u8 sText_PlayerBattledToDrawVsTwo[] = _("Player battled to a draw against\n{B_20} and {B_21}!"); -static const u8 sText_WildFled[] = _("{PLAY_SE 0x0011}{B_20} fled!"); -static const u8 sText_TwoWildFled[] = _("{PLAY_SE 0x0011}{B_20} and\n{B_21} fled!"); +static const u8 sText_PlayerDefeatedLinkTrainer[] = _("Player defeated\n{B_LINK_OPPONENT1_NAME}!"); +static const u8 sText_TwoLinkTrainersDefeated[] = _("Player beat {B_LINK_OPPONENT1_NAME}\nand {B_LINK_OPPONENT2_NAME}!"); +static const u8 sText_PlayerLostAgainstLinkTrainer[] = _("Player lost against\n{B_LINK_OPPONENT1_NAME}!"); +static const u8 sText_PlayerLostToTwo[] = _("Player lost to {B_LINK_OPPONENT1_NAME}\nand {B_LINK_OPPONENT2_NAME}!"); +static const u8 sText_PlayerBattledToDrawLinkTrainer[] = _("Player battled to a draw against\n{B_LINK_OPPONENT1_NAME}!"); +static const u8 sText_PlayerBattledToDrawVsTwo[] = _("Player battled to a draw against\n{B_LINK_OPPONENT1_NAME} and {B_LINK_OPPONENT2_NAME}!"); +static const u8 sText_WildFled[] = _("{PLAY_SE 0x0011}{B_LINK_OPPONENT1_NAME} fled!"); +static const u8 sText_TwoWildFled[] = _("{PLAY_SE 0x0011}{B_LINK_OPPONENT1_NAME} and\n{B_LINK_OPPONENT2_NAME} fled!"); static const u8 sText_NoRunningFromTrainers[] = _("No! There’s no running\nfrom a TRAINER battle!\p"); static const u8 sText_CantEscape[] = _("Can’t escape!\p"); static const u8 sText_DontLeaveBirch[] = _("PROF. BIRCH: Don’t leave me like this!\p"); @@ -398,33 +398,33 @@ static const u8 sText_WildPkmnAppeared2[] = _("Wild {B_OPPONENT_MON1_NAME} appea static const u8 sText_WildPkmnAppearedPause[] = _("Wild {B_OPPONENT_MON1_NAME} appeared!{PAUSE 127}"); static const u8 sText_TwoWildPkmnAppeared[] = _("Wild {B_OPPONENT_MON1_NAME} and\n{B_OPPONENT_MON2_NAME} appeared!\p"); static const u8 sText_Trainer1WantsToBattle[] = _("{B_TRAINER1_CLASS} {B_TRAINER1_NAME}\nwould like to battle!\p"); -static const u8 sText_LinkTrainerWantsToBattle[] = _("{B_20}\nwants to battle!"); -static const u8 sText_TwoLinkTrainersWantToBattle[] = _("{B_20} and {B_21}\nwant to battle!"); +static const u8 sText_LinkTrainerWantsToBattle[] = _("{B_LINK_OPPONENT1_NAME}\nwants to battle!"); +static const u8 sText_TwoLinkTrainersWantToBattle[] = _("{B_LINK_OPPONENT1_NAME} and {B_LINK_OPPONENT2_NAME}\nwant to battle!"); static const u8 sText_Trainer1SentOutPkmn[] = _("{B_TRAINER1_CLASS} {B_TRAINER1_NAME} sent\nout {B_OPPONENT_MON1_NAME}!"); static const u8 sText_Trainer1SentOutTwoPkmn[] = _("{B_TRAINER1_CLASS} {B_TRAINER1_NAME} sent\nout {B_OPPONENT_MON1_NAME} and {B_OPPONENT_MON2_NAME}!"); static const u8 sText_Trainer1SentOutPkmn2[] = _("{B_TRAINER1_CLASS} {B_TRAINER1_NAME} sent\nout {B_BUFF1}!"); -static const u8 sText_LinkTrainerSentOutPkmn[] = _("{B_20} sent out\n{B_OPPONENT_MON1_NAME}!"); -static const u8 sText_LinkTrainerSentOutTwoPkmn[] = _("{B_20} sent out\n{B_OPPONENT_MON1_NAME} and {B_OPPONENT_MON2_NAME}!"); -static const u8 sText_TwoLinkTrainersSentOutPkmn[] = _("{B_20} sent out {B_LINK_OPPONENT_MON1_NAME}!\n{B_21} sent out {B_LINK_OPPONENT_MON2_NAME}!"); -static const u8 sText_LinkTrainerSentOutPkmn2[] = _("{B_20} sent out\n{B_BUFF1}!"); -static const u8 sText_LinkTrainerMultiSentOutPkmn[] = _("{B_22} sent out\n{B_BUFF1}!"); +static const u8 sText_LinkTrainerSentOutPkmn[] = _("{B_LINK_OPPONENT1_NAME} sent out\n{B_OPPONENT_MON1_NAME}!"); +static const u8 sText_LinkTrainerSentOutTwoPkmn[] = _("{B_LINK_OPPONENT1_NAME} sent out\n{B_OPPONENT_MON1_NAME} and {B_OPPONENT_MON2_NAME}!"); +static const u8 sText_TwoLinkTrainersSentOutPkmn[] = _("{B_LINK_OPPONENT1_NAME} sent out {B_LINK_OPPONENT_MON1_NAME}!\n{B_LINK_OPPONENT2_NAME} sent out {B_LINK_OPPONENT_MON2_NAME}!"); +static const u8 sText_LinkTrainerSentOutPkmn2[] = _("{B_LINK_OPPONENT1_NAME} sent out\n{B_BUFF1}!"); +static const u8 sText_LinkTrainerMultiSentOutPkmn[] = _("{B_LINK_SCR_TRAINER_NAME} sent out\n{B_BUFF1}!"); static const u8 sText_GoPkmn[] = _("Go! {B_PLAYER_MON1_NAME}!"); static const u8 sText_GoTwoPkmn[] = _("Go! {B_PLAYER_MON1_NAME} and\n{B_PLAYER_MON2_NAME}!"); static const u8 sText_GoPkmn2[] = _("Go! {B_BUFF1}!"); static const u8 sText_DoItPkmn[] = _("Do it! {B_BUFF1}!"); static const u8 sText_GoForItPkmn[] = _("Go for it, {B_BUFF1}!"); static const u8 sText_YourFoesWeakGetEmPkmn[] = _("Your foe’s weak!\nGet ’em, {B_BUFF1}!"); -static const u8 sText_LinkPartnerSentOutPkmnGoPkmn[] = _("{B_1F} sent out {B_LINK_PLAYER_MON2_NAME}!\nGo! {B_LINK_PLAYER_MON1_NAME}!"); +static const u8 sText_LinkPartnerSentOutPkmnGoPkmn[] = _("{B_LINK_PARTNER_NAME} sent out {B_LINK_PLAYER_MON2_NAME}!\nGo! {B_LINK_PLAYER_MON1_NAME}!"); static const u8 sText_PkmnThatsEnough[] = _("{B_BUFF1}, that’s enough!\nCome back!"); static const u8 sText_PkmnComeBack[] = _("{B_BUFF1}, come back!"); static const u8 sText_PkmnOkComeBack[] = _("{B_BUFF1}, OK!\nCome back!"); static const u8 sText_PkmnGoodComeBack[] = _("{B_BUFF1}, good!\nCome back!"); static const u8 sText_Trainer1WithdrewPkmn[] = _("{B_TRAINER1_CLASS} {B_TRAINER1_NAME}\nwithdrew {B_BUFF1}!"); -static const u8 sText_LinkTrainer1WithdrewPkmn[] = _("{B_20} withdrew\n{B_BUFF1}!"); -static const u8 sText_LinkTrainer2WithdrewPkmn[] = _("{B_22} withdrew\n{B_BUFF1}!"); +static const u8 sText_LinkTrainer1WithdrewPkmn[] = _("{B_LINK_OPPONENT1_NAME} withdrew\n{B_BUFF1}!"); +static const u8 sText_LinkTrainer2WithdrewPkmn[] = _("{B_LINK_SCR_TRAINER_NAME} withdrew\n{B_BUFF1}!"); static const u8 sText_WildPkmnPrefix[] = _("Wild "); static const u8 sText_FoePkmnPrefix[] = _("Foe "); -static const u8 sText_EmptyString8[] = _( ""); +static const u8 sText_EmptyString8[] = _(""); static const u8 sText_FoePkmnPrefix2[] = _("Foe"); static const u8 sText_AllyPkmnPrefix[] = _("Ally"); static const u8 sText_FoePkmnPrefix3[] = _("Foe"); @@ -1321,8 +1321,8 @@ static const u8 sText_PlayerLostAgainstTrainer1[] = _("Player lost against\n{B_T static const u8 sText_PlayerBattledToDrawTrainer1[] = _("Player battled to a draw against\n{B_TRAINER1_CLASS} {B_TRAINER1_NAME}!"); const u8 gText_RecordBattleToPass[] = _("Would you like to record your battle\non your FRONTIER PASS?"); const u8 gText_BattleRecordedOnPass[] = _("{B_PLAYER_NAME}’s battle result was recorded\non the FRONTIER PASS."); -static const u8 sText_LinkTrainerWantsToBattlePause[] = _("{B_20}\nwants to battle!{PAUSE 49}"); -static const u8 sText_TwoLinkTrainersWantToBattlePause[] = _("{B_20} and {B_21}\nwant to battle!{PAUSE 49}"); +static const u8 sText_LinkTrainerWantsToBattlePause[] = _("{B_LINK_OPPONENT1_NAME}\nwants to battle!{PAUSE 49}"); +static const u8 sText_TwoLinkTrainersWantToBattlePause[] = _("{B_LINK_OPPONENT1_NAME} and {B_LINK_OPPONENT2_NAME}\nwant to battle!{PAUSE 49}"); // This is four lists of moves which use a different attack string in Japanese // to the default. See the documentation for ChooseTypeOfMoveUsedString for more detail. @@ -2303,13 +2303,13 @@ u32 BattleStringExpandPlaceholders(const u8 *src, u8 *dst) u32 dstID = 0; // if they used dstID, why not use srcID as well? const u8 *toCpy = NULL; u8 text[30]; - u8 multiplayerID; + u8 multiplayerId; s32 i; if (gBattleTypeFlags & BATTLE_TYPE_x2000000) - multiplayerID = gUnknown_0203C7B4; + multiplayerId = gUnknown_0203C7B4; else - multiplayerID = GetMultiplayerId(); + multiplayerId = GetMultiplayerId(); while (*src != EOS) { @@ -2383,25 +2383,25 @@ u32 BattleStringExpandPlaceholders(const u8 *src, u8 *dst) toCpy = text; break; case B_TXT_LINK_PLAYER_MON1_NAME: // link first player poke name - GetMonData(&gPlayerParty[gBattlerPartyIndexes[gLinkPlayers[multiplayerID].id]], + GetMonData(&gPlayerParty[gBattlerPartyIndexes[gLinkPlayers[multiplayerId].id]], MON_DATA_NICKNAME, text); StringGetEnd10(text); toCpy = text; break; case B_TXT_LINK_OPPONENT_MON1_NAME: // link first opponent poke name - GetMonData(&gEnemyParty[gBattlerPartyIndexes[gLinkPlayers[multiplayerID].id ^ 1]], + GetMonData(&gEnemyParty[gBattlerPartyIndexes[gLinkPlayers[multiplayerId].id ^ 1]], MON_DATA_NICKNAME, text); StringGetEnd10(text); toCpy = text; break; case B_TXT_LINK_PLAYER_MON2_NAME: // link second player poke name - GetMonData(&gPlayerParty[gBattlerPartyIndexes[gLinkPlayers[multiplayerID].id ^ 2]], + GetMonData(&gPlayerParty[gBattlerPartyIndexes[gLinkPlayers[multiplayerId].id ^ 2]], MON_DATA_NICKNAME, text); StringGetEnd10(text); toCpy = text; break; case B_TXT_LINK_OPPONENT_MON2_NAME: // link second opponent poke name - GetMonData(&gEnemyParty[gBattlerPartyIndexes[gLinkPlayers[multiplayerID].id ^ 3]], + GetMonData(&gEnemyParty[gBattlerPartyIndexes[gLinkPlayers[multiplayerId].id ^ 3]], MON_DATA_NICKNAME, text); StringGetEnd10(text); toCpy = text; @@ -2531,7 +2531,7 @@ u32 BattleStringExpandPlaceholders(const u8 *src, u8 *dst) } else if (gTrainerBattleOpponent_A == TRAINER_OPPONENT_C00) { - toCpy = gLinkPlayers[multiplayerID ^ BIT_SIDE].name; + toCpy = gLinkPlayers[multiplayerId ^ BIT_SIDE].name; } else if (gTrainerBattleOpponent_A == TRAINER_FRONTIER_BRAIN) { @@ -2558,19 +2558,19 @@ u32 BattleStringExpandPlaceholders(const u8 *src, u8 *dst) toCpy = gTrainers[gTrainerBattleOpponent_A].trainerName; } break; - case B_TXT_1E: // link player name? - toCpy = gLinkPlayers[multiplayerID].name; + case B_TXT_LINK_PLAYER_NAME: // link player name + toCpy = gLinkPlayers[multiplayerId].name; break; - case B_TXT_1F: // link partner name? - toCpy = gLinkPlayers[GetBattlerMultiplayerId(2 ^ gLinkPlayers[multiplayerID].id)].name; + case B_TXT_LINK_PARTNER_NAME: // link partner name + toCpy = gLinkPlayers[GetBattlerMultiplayerId(BATTLE_PARTNER(gLinkPlayers[multiplayerId].id))].name; break; - case B_TXT_20: // link opponent 1 name? - toCpy = gLinkPlayers[GetBattlerMultiplayerId(1 ^ gLinkPlayers[multiplayerID].id)].name; + case B_TXT_LINK_OPPONENT1_NAME: // link opponent 1 name + toCpy = gLinkPlayers[GetBattlerMultiplayerId(BATTLE_OPPOSITE(gLinkPlayers[multiplayerId].id))].name; break; - case B_TXT_21: // link opponent 2 name? - toCpy = gLinkPlayers[GetBattlerMultiplayerId(3 ^ gLinkPlayers[multiplayerID].id)].name; + case B_TXT_LINK_OPPONENT2_NAME: // link opponent 2 name + toCpy = gLinkPlayers[GetBattlerMultiplayerId(BATTLE_PARTNER(BATTLE_OPPOSITE(gLinkPlayers[multiplayerId].id)))].name; break; - case B_TXT_22: // link scripting active name + case B_TXT_LINK_SCR_TRAINER_NAME: // link scripting active name toCpy = gLinkPlayers[GetBattlerMultiplayerId(gBattleScripting.battler)].name; break; case B_TXT_PLAYER_NAME: // player name diff --git a/src/pokemon.c b/src/pokemon.c index 78a7a55a5b..e2ce24bdb1 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -5307,7 +5307,7 @@ bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mov // I have to re-use this variable to match. r5 = gActiveBattler; gActiveBattler = battlerId; - BtlController_EmitGetMonData(0, 0, 0); + BtlController_EmitGetMonData(0, REQUEST_ALL_BATTLE, 0); MarkBattlerForControllerExec(gActiveBattler); gActiveBattler = r5; } diff --git a/src/recorded_battle.c b/src/recorded_battle.c index fc3b8b94a1..5a12d6114d 100644 --- a/src/recorded_battle.c +++ b/src/recorded_battle.c @@ -273,7 +273,7 @@ void sub_81851A8(u8 *arg0) return; } - if (!(gBattleTypeFlags & BATTLE_TYPE_WILD)) + if (!(gBattleTypeFlags & BATTLE_TYPE_IS_MASTER)) { for (var2 = *arg0; var2 != 0;) { @@ -360,7 +360,7 @@ u32 MoveRecordedBattleToSaveData(void) battleSave->battleFlags = (sBattleFlags & ~(BATTLE_TYPE_LINK | BATTLE_TYPE_20)); battleSave->battleFlags |= BATTLE_TYPE_x2000000; - if (sBattleFlags & BATTLE_TYPE_WILD) + if (sBattleFlags & BATTLE_TYPE_IS_MASTER) { battleSave->battleFlags |= BATTLE_TYPE_x80000000; } From bf64333299130fc750031ea238dbd3e07a76c55d Mon Sep 17 00:00:00 2001 From: DizzyEggg <jajkodizzy@wp.pl> Date: Thu, 20 Sep 2018 21:42:38 +0200 Subject: [PATCH 217/234] Give labels to healthbox gfx --- asm/battle_frontier_2.s | 6 ++--- ...ow4.png => healthbox_doubles_opponent.png} | Bin ...ndow3.png => healthbox_doubles_player.png} | Bin .../{window5.png => healthbox_safari.png} | Bin ...ow2.png => healthbox_singles_opponent.png} | Bin ...indow.png => healthbox_singles_player.png} | Bin include/battle_frontier_2.h | 5 ++++ src/battle_gfx_sfx_util.c | 24 +++++++++--------- src/battle_message.c | 10 ++++---- src/graphics.c | 10 ++++---- 10 files changed, 30 insertions(+), 25 deletions(-) rename graphics/battle_interface/{window4.png => healthbox_doubles_opponent.png} (100%) rename graphics/battle_interface/{window3.png => healthbox_doubles_player.png} (100%) rename graphics/battle_interface/{window5.png => healthbox_safari.png} (100%) rename graphics/battle_interface/{window2.png => healthbox_singles_opponent.png} (100%) rename graphics/battle_interface/{window.png => healthbox_singles_player.png} (100%) diff --git a/asm/battle_frontier_2.s b/asm/battle_frontier_2.s index 27eee478aa..4df690e594 100644 --- a/asm/battle_frontier_2.s +++ b/asm/battle_frontier_2.s @@ -7327,8 +7327,8 @@ _081A36C2: bx r1 thumb_func_end sub_81A3610 - thumb_func_start sub_81A36D0 -sub_81A36D0: @ 81A36D0 + thumb_func_start CopyFrontierTrainerText +CopyFrontierTrainerText: @ 81A36D0 push {lr} lsls r0, 24 lsrs r0, 24 @@ -7561,7 +7561,7 @@ _081A38F8: pop {r0} bx r0 .pool - thumb_func_end sub_81A36D0 + thumb_func_end CopyFrontierTrainerText thumb_func_start sub_81A3908 sub_81A3908: @ 81A3908 diff --git a/graphics/battle_interface/window4.png b/graphics/battle_interface/healthbox_doubles_opponent.png similarity index 100% rename from graphics/battle_interface/window4.png rename to graphics/battle_interface/healthbox_doubles_opponent.png diff --git a/graphics/battle_interface/window3.png b/graphics/battle_interface/healthbox_doubles_player.png similarity index 100% rename from graphics/battle_interface/window3.png rename to graphics/battle_interface/healthbox_doubles_player.png diff --git a/graphics/battle_interface/window5.png b/graphics/battle_interface/healthbox_safari.png similarity index 100% rename from graphics/battle_interface/window5.png rename to graphics/battle_interface/healthbox_safari.png diff --git a/graphics/battle_interface/window2.png b/graphics/battle_interface/healthbox_singles_opponent.png similarity index 100% rename from graphics/battle_interface/window2.png rename to graphics/battle_interface/healthbox_singles_opponent.png diff --git a/graphics/battle_interface/window.png b/graphics/battle_interface/healthbox_singles_player.png similarity index 100% rename from graphics/battle_interface/window.png rename to graphics/battle_interface/healthbox_singles_player.png diff --git a/include/battle_frontier_2.h b/include/battle_frontier_2.h index 4ef860e80a..d032f9f74a 100644 --- a/include/battle_frontier_2.h +++ b/include/battle_frontier_2.h @@ -1,6 +1,11 @@ #ifndef GUARD_BATTLE_FRONTIER_2_H #define GUARD_BATTLE_FRONTIER_2_H +#define FRONTIER_BEFORE_TEXT 0 +#define FRONTIER_WIN_TEXT 1 +#define FRONTIER_LOSE_TEXT 2 + +void CopyFrontierTrainerText(u8 whichText, u16 trainerId); void sub_81A8934(u8); void sub_81A895C(void); u16 sub_81A89A0(u8); diff --git a/src/battle_gfx_sfx_util.c b/src/battle_gfx_sfx_util.c index 23ed8a19f4..b4dcf586d7 100644 --- a/src/battle_gfx_sfx_util.c +++ b/src/battle_gfx_sfx_util.c @@ -47,11 +47,11 @@ extern const u32 gUnknown_08C093F0[]; extern const u32 gSubstituteDollTilemap[]; extern const u32 gSubstituteDollGfx[]; extern const u16 gSubstituteDollPal[]; -extern const u8 gUnknown_08C1F1C8[]; -extern const u8 gUnknown_08C1F46C[]; -extern const u8 gUnknown_08C1F5E8[]; -extern const u8 gUnknown_08C1F76C[]; -extern const u8 gUnknown_08C1F8E8[]; +extern const u8 gHealthboxSinglesPlayerGfx[]; +extern const u8 gHealthboxSinglesOpponentGfx[]; +extern const u8 gHealthboxDoublesPlayerGfx[]; +extern const u8 gHealthboxDoublesOpponentGfx[]; +extern const u8 gHealthboxSafariGfx[]; extern const u8 gBlankGfxCompressed[]; extern const u16 gBattleInterface_BallStatusBarPal[]; extern const u16 gBattleInterface_BallDisplayPal[]; @@ -72,29 +72,29 @@ static void ClearSpritesBattlerHealthboxAnimData(void); // const rom data static const struct CompressedSpriteSheet sSpriteSheet_SinglesPlayerHealthbox = { - gUnknown_08C1F1C8, 0x1000, TAG_HEALTHBOX_PLAYER1_TILE + gHealthboxSinglesPlayerGfx, 0x1000, TAG_HEALTHBOX_PLAYER1_TILE }; static const struct CompressedSpriteSheet sSpriteSheet_SinglesOpponentHealthbox = { - gUnknown_08C1F46C, 0x1000, TAG_HEALTHBOX_OPPONENT1_TILE + gHealthboxSinglesOpponentGfx, 0x1000, TAG_HEALTHBOX_OPPONENT1_TILE }; static const struct CompressedSpriteSheet sSpriteSheets_DoublesPlayerHealthbox[2] = { - {gUnknown_08C1F5E8, 0x800, TAG_HEALTHBOX_PLAYER1_TILE}, - {gUnknown_08C1F5E8, 0x800, TAG_HEALTHBOX_PLAYER2_TILE} + {gHealthboxDoublesPlayerGfx, 0x800, TAG_HEALTHBOX_PLAYER1_TILE}, + {gHealthboxDoublesPlayerGfx, 0x800, TAG_HEALTHBOX_PLAYER2_TILE} }; static const struct CompressedSpriteSheet sSpriteSheets_DoublesOpponentHealthbox[2] = { - {gUnknown_08C1F76C, 0x800, TAG_HEALTHBOX_OPPONENT1_TILE}, - {gUnknown_08C1F76C, 0x800, TAG_HEALTHBOX_OPPONENT2_TILE} + {gHealthboxDoublesOpponentGfx, 0x800, TAG_HEALTHBOX_OPPONENT1_TILE}, + {gHealthboxDoublesOpponentGfx, 0x800, TAG_HEALTHBOX_OPPONENT2_TILE} }; static const struct CompressedSpriteSheet sSpriteSheet_SafariHealthbox = { - gUnknown_08C1F8E8, 0x1000, TAG_HEALTHBOX_SAFARI_TILE + gHealthboxSafariGfx, 0x1000, TAG_HEALTHBOX_SAFARI_TILE }; static const struct CompressedSpriteSheet sSpriteSheets_HealthBar[MAX_BATTLERS_COUNT] = diff --git a/src/battle_message.c b/src/battle_message.c index f478df4df1..47579d4f2c 100644 --- a/src/battle_message.c +++ b/src/battle_message.c @@ -17,6 +17,7 @@ #include "menu.h" #include "recorded_battle.h" #include "international_string_util.h" +#include "battle_frontier_2.h" struct BattleWindowText { @@ -51,7 +52,6 @@ extern u8 GetEreaderTrainerClassId(void); // battle_tower extern void CopyFrontierBrainTrainerName(u8 *txtPtr); // battle_frontier_2 extern void sub_81D5554(u8 *txtPtr, u16 trainerId); // pokenav extern void GetEreaderTrainerName(u8 *txtPtr); -extern void sub_81A36D0(u8 arg0, u16 trainerId); // battle_frontier_2 extern void sub_81D572C(u8 arg0, u16 trainerId); // pokenav extern void GetFrontierTrainerName(u8 *dst, u16 trainerId); @@ -2582,7 +2582,7 @@ u32 BattleStringExpandPlaceholders(const u8 *src, u8 *dst) case B_TXT_TRAINER1_LOSE_TEXT: // trainerA lose text if (gBattleTypeFlags & BATTLE_TYPE_FRONTIER) { - sub_81A36D0(2, gTrainerBattleOpponent_A); + CopyFrontierTrainerText(FRONTIER_LOSE_TEXT, gTrainerBattleOpponent_A); toCpy = gStringVar4; } else if (gBattleTypeFlags & BATTLE_TYPE_x4000000) @@ -2598,7 +2598,7 @@ u32 BattleStringExpandPlaceholders(const u8 *src, u8 *dst) case B_TXT_TRAINER1_WIN_TEXT: // trainerA win text if (gBattleTypeFlags & BATTLE_TYPE_FRONTIER) { - sub_81A36D0(1, gTrainerBattleOpponent_A); + CopyFrontierTrainerText(FRONTIER_WIN_TEXT, gTrainerBattleOpponent_A); toCpy = gStringVar4; } else if (gBattleTypeFlags & BATTLE_TYPE_x4000000) @@ -2679,7 +2679,7 @@ u32 BattleStringExpandPlaceholders(const u8 *src, u8 *dst) case B_TXT_TRAINER2_LOSE_TEXT: if (gBattleTypeFlags & BATTLE_TYPE_FRONTIER) { - sub_81A36D0(2, gTrainerBattleOpponent_B); + CopyFrontierTrainerText(FRONTIER_LOSE_TEXT, gTrainerBattleOpponent_B); toCpy = gStringVar4; } else if (gBattleTypeFlags & BATTLE_TYPE_x4000000) @@ -2695,7 +2695,7 @@ u32 BattleStringExpandPlaceholders(const u8 *src, u8 *dst) case B_TXT_TRAINER2_WIN_TEXT: if (gBattleTypeFlags & BATTLE_TYPE_FRONTIER) { - sub_81A36D0(1, gTrainerBattleOpponent_B); + CopyFrontierTrainerText(FRONTIER_WIN_TEXT, gTrainerBattleOpponent_B); toCpy = gStringVar4; } else if (gBattleTypeFlags & BATTLE_TYPE_x4000000) diff --git a/src/graphics.c b/src/graphics.c index 38a79ce3c4..5debb721a4 100644 --- a/src/graphics.c +++ b/src/graphics.c @@ -643,11 +643,11 @@ const u8 gBattleAnimSpritePalette_187[] = INCBIN_U8("graphics/battle_anims/sprit const u8 gBattleAnimSpriteSheet_186[] = INCBIN_U8("graphics/battle_anims/sprites/186.4bpp.lz"); const u8 gBattleAnimSpritePalette_186[] = INCBIN_U8("graphics/battle_anims/sprites/186.gbapal.lz"); -const u8 gUnknown_08C1F1C8[] = INCBIN_U8("graphics/battle_interface/window.4bpp.lz"); -const u8 gUnknown_08C1F46C[] = INCBIN_U8("graphics/battle_interface/window2.4bpp.lz"); -const u8 gUnknown_08C1F5E8[] = INCBIN_U8( "graphics/battle_interface/window3.4bpp.lz"); -const u8 gUnknown_08C1F76C[] = INCBIN_U8("graphics/battle_interface/window4.4bpp.lz"); -const u8 gUnknown_08C1F8E8[] = INCBIN_U8("graphics/battle_interface/window5.4bpp.lz"); +const u8 gHealthboxSinglesPlayerGfx[] = INCBIN_U8("graphics/battle_interface/healthbox_singles_player.4bpp.lz"); +const u8 gHealthboxSinglesOpponentGfx[] = INCBIN_U8("graphics/battle_interface/healthbox_singles_opponent.4bpp.lz"); +const u8 gHealthboxDoublesPlayerGfx[] = INCBIN_U8( "graphics/battle_interface/healthbox_doubles_player.4bpp.lz"); +const u8 gHealthboxDoublesOpponentGfx[] = INCBIN_U8("graphics/battle_interface/healthbox_doubles_opponent.4bpp.lz"); +const u8 gHealthboxSafariGfx[] = INCBIN_U8("graphics/battle_interface/healthbox_safari.4bpp.lz"); const u8 gUnusedGfx_Shadow[] = INCBIN_U8("graphics/unused/shadow.4bpp.lz"); const u8 gUnusedPal_Shadow[] = INCBIN_U8("graphics/unused/shadow.gbapal.lz"); From 66fd9b2ddfef147159033271046f62b4f2c8adad Mon Sep 17 00:00:00 2001 From: DizzyEggg <jajkodizzy@wp.pl> Date: Thu, 20 Sep 2018 22:00:00 +0200 Subject: [PATCH 218/234] Label trainer hill battle type --- asm/pokenav.s | 26 +++++++++++----------- data/battle_scripts_1.s | 2 +- include/constants/battle.h | 2 +- src/battle_ai_script_commands.c | 2 +- src/battle_controller_opponent.c | 18 +++++++-------- src/battle_main.c | 16 +++++++------- src/battle_message.c | 38 ++++++++++++++++---------------- src/battle_script_commands.c | 8 +++---- src/battle_setup.c | 8 +++---- src/battle_util2.c | 4 ++-- src/pokemon.c | 2 +- src/recorded_battle.c | 2 +- 12 files changed, 64 insertions(+), 64 deletions(-) diff --git a/asm/pokenav.s b/asm/pokenav.s index 4851cd221a..cfad3feda8 100644 --- a/asm/pokenav.s +++ b/asm/pokenav.s @@ -28079,8 +28079,8 @@ sub_81D5520: @ 81D5520 .pool thumb_func_end sub_81D5520 - thumb_func_start sub_81D5530 -sub_81D5530: @ 81D5530 + thumb_func_start GetTrainerHillOpponentClass +GetTrainerHillOpponentClass: @ 81D5530 lsls r0, 24 movs r1, 0xFF lsls r1, 24 @@ -28096,10 +28096,10 @@ sub_81D5530: @ 81D5530 ldrb r0, [r0] bx lr .pool - thumb_func_end sub_81D5530 + thumb_func_end GetTrainerHillOpponentClass - thumb_func_start sub_81D5554 -sub_81D5554: @ 81D5554 + thumb_func_start GetTrainerHillTrainerName +GetTrainerHillTrainerName: @ 81D5554 push {r4,lr} adds r4, r0, 0 lsls r1, 24 @@ -28125,10 +28125,10 @@ _081D556E: pop {r0} bx r0 .pool - thumb_func_end sub_81D5554 + thumb_func_end GetTrainerHillTrainerName - thumb_func_start sub_81D5588 -sub_81D5588: @ 81D5588 + thumb_func_start GetTrainerHillTrainerFrontSpriteId +GetTrainerHillTrainerFrontSpriteId: @ 81D5588 push {r4,lr} adds r4, r0, 0 lsls r4, 16 @@ -28160,7 +28160,7 @@ sub_81D5588: @ 81D5588 pop {r1} bx r1 .pool - thumb_func_end sub_81D5588 + thumb_func_end GetTrainerHillTrainerFrontSpriteId thumb_func_start sub_81D55D0 sub_81D55D0: @ 81D55D0 @@ -28324,8 +28324,8 @@ _081D5722: .pool thumb_func_end sub_81D5710 - thumb_func_start sub_81D572C -sub_81D572C: @ 81D572C + thumb_func_start CopyTrainerHillTrainerText +CopyTrainerHillTrainerText: @ 81D572C push {r4-r6,lr} adds r4, r1, 0 lsls r0, 24 @@ -28441,7 +28441,7 @@ _081D580E: pop {r0} bx r0 .pool - thumb_func_end sub_81D572C + thumb_func_end CopyTrainerHillTrainerText thumb_func_start sub_81D581C sub_81D581C: @ 81D581C @@ -29704,7 +29704,7 @@ sub_81D62B4: @ 81D62B4 ldr r0, =gSpecialVar_LastTalked ldrh r1, [r0] movs r0, 0x5 - bl sub_81D572C + bl CopyTrainerHillTrainerText bl sub_80982B8 pop {r0} bx r0 diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index fec030bb5c..0c5e172b04 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -2968,7 +2968,7 @@ BattleScript_PayDayMoneyAndPickUpItems:: BattleScript_LocalBattleLost:: jumpifbattletype BATTLE_TYPE_DOME, BattleScript_CheckDomeDrew jumpifbattletype BATTLE_TYPE_FRONTIER, BattleScript_LocalBattleLostPrintTrainersWinText - jumpifbattletype BATTLE_TYPE_x4000000, BattleScript_LocalBattleLostPrintTrainersWinText + jumpifbattletype BATTLE_TYPE_TRAINER_HILL, BattleScript_LocalBattleLostPrintTrainersWinText jumpifbattletype BATTLE_TYPE_EREADER_TRAINER, BattleScript_LocalBattleLostEnd jumpifhalfword CMP_EQUAL, gTrainerBattleOpponent_A, 0x400, BattleScript_LocalBattleLostEnd BattleScript_LocalBattleLostPrintWhiteOut:: diff --git a/include/constants/battle.h b/include/constants/battle.h index 34f18c7bc0..25544ba3d4 100644 --- a/include/constants/battle.h +++ b/include/constants/battle.h @@ -70,7 +70,7 @@ #define BATTLE_TYPE_x800000 0x800000 #define BATTLE_TYPE_RECORDED 0x1000000 #define BATTLE_TYPE_x2000000 0x2000000 -#define BATTLE_TYPE_x4000000 0x4000000 +#define BATTLE_TYPE_TRAINER_HILL 0x4000000 #define BATTLE_TYPE_SECRET_BASE 0x8000000 #define BATTLE_TYPE_GROUDON 0x10000000 #define BATTLE_TYPE_KYOGRE 0x20000000 diff --git a/src/battle_ai_script_commands.c b/src/battle_ai_script_commands.c index 74247f8a2d..1201a855a8 100644 --- a/src/battle_ai_script_commands.c +++ b/src/battle_ai_script_commands.c @@ -369,7 +369,7 @@ void BattleAI_SetupAIData(u8 defaultScoreMoves) AI_THINKING_STRUCT->aiFlags = AI_SCRIPT_FIRST_BATTLE; else if (gBattleTypeFlags & BATTLE_TYPE_FACTORY) AI_THINKING_STRUCT->aiFlags = GetAiScriptsInBattleFactory(); - else if (gBattleTypeFlags & (BATTLE_TYPE_FRONTIER | BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_x4000000 | BATTLE_TYPE_SECRET_BASE)) + else if (gBattleTypeFlags & (BATTLE_TYPE_FRONTIER | BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_TRAINER_HILL | BATTLE_TYPE_SECRET_BASE)) AI_THINKING_STRUCT->aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_CHECK_VIABILITY | AI_SCRIPT_TRY_TO_FAINT; else if (gBattleTypeFlags & BATTLE_TYPE_TWO_OPPONENTS) AI_THINKING_STRUCT->aiFlags = gTrainers[gTrainerBattleOpponent_A].aiFlags | gTrainers[gTrainerBattleOpponent_B].aiFlags; diff --git a/src/battle_controller_opponent.c b/src/battle_controller_opponent.c index 1cd6722603..c490ad314f 100644 --- a/src/battle_controller_opponent.c +++ b/src/battle_controller_opponent.c @@ -40,7 +40,7 @@ extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[]; extern void sub_8172EF0(u8 battlerId, struct Pokemon *mon); extern void sub_81A57E4(u8 battlerId, u16 stringId); extern u8 GetFrontierBrainTrainerPicIndex(void); -extern u8 sub_81D5588(u16 trainerId); +extern u8 GetTrainerHillTrainerFrontSpriteId(u16 trainerId); extern u8 GetFrontierTrainerFrontSpriteId(u16 trainerId); extern u8 GetEreaderTrainerFrontSpriteId(void); @@ -1236,18 +1236,18 @@ static void OpponentHandleDrawTrainerPic(void) { trainerPicId = GetFrontierBrainTrainerPicIndex(); } - else if (gBattleTypeFlags & BATTLE_TYPE_x4000000) + else if (gBattleTypeFlags & BATTLE_TYPE_TRAINER_HILL) { if (gBattleTypeFlags & BATTLE_TYPE_TWO_OPPONENTS) { if (gActiveBattler == 1) - trainerPicId = sub_81D5588(gTrainerBattleOpponent_A); + trainerPicId = GetTrainerHillTrainerFrontSpriteId(gTrainerBattleOpponent_A); else - trainerPicId = sub_81D5588(gTrainerBattleOpponent_B); + trainerPicId = GetTrainerHillTrainerFrontSpriteId(gTrainerBattleOpponent_B); } else { - trainerPicId = sub_81D5588(gTrainerBattleOpponent_A); + trainerPicId = GetTrainerHillTrainerFrontSpriteId(gTrainerBattleOpponent_A); } } else if (gBattleTypeFlags & BATTLE_TYPE_FRONTIER) @@ -1320,18 +1320,18 @@ static void OpponentHandleTrainerSlide(void) { trainerPicId = GetFrontierBrainTrainerPicIndex(); } - else if (gBattleTypeFlags & BATTLE_TYPE_x4000000) + else if (gBattleTypeFlags & BATTLE_TYPE_TRAINER_HILL) { if (gBattleTypeFlags & BATTLE_TYPE_TWO_OPPONENTS) { if (gActiveBattler == 1) - trainerPicId = sub_81D5588(gTrainerBattleOpponent_A); + trainerPicId = GetTrainerHillTrainerFrontSpriteId(gTrainerBattleOpponent_A); else - trainerPicId = sub_81D5588(gTrainerBattleOpponent_B); + trainerPicId = GetTrainerHillTrainerFrontSpriteId(gTrainerBattleOpponent_B); } else { - trainerPicId = sub_81D5588(gTrainerBattleOpponent_A); + trainerPicId = GetTrainerHillTrainerFrontSpriteId(gTrainerBattleOpponent_A); } } else if (gBattleTypeFlags & BATTLE_TYPE_FRONTIER) diff --git a/src/battle_main.c b/src/battle_main.c index 74325d7bf5..12e49ee651 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -1920,7 +1920,7 @@ static u8 CreateNPCTrainerParty(struct Pokemon *party, u16 trainerNum, bool8 fir if (gBattleTypeFlags & BATTLE_TYPE_TRAINER && !(gBattleTypeFlags & (BATTLE_TYPE_FRONTIER | BATTLE_TYPE_EREADER_TRAINER - | BATTLE_TYPE_x4000000))) + | BATTLE_TYPE_TRAINER_HILL))) { if (firstTrainer == TRUE) ZeroEnemyPartyMons(); @@ -3385,7 +3385,7 @@ static void BattleIntroDrawTrainersOrMonsSprites(void) | BATTLE_TYPE_FRONTIER | BATTLE_TYPE_LINK | BATTLE_TYPE_x2000000 - | BATTLE_TYPE_x4000000))) + | BATTLE_TYPE_TRAINER_HILL))) { HandleSetPokedexFlag(SpeciesToNationalPokedexNum(gBattleMons[gActiveBattler].species), FLAG_SET_SEEN, gBattleMons[gActiveBattler].personality); } @@ -3398,7 +3398,7 @@ static void BattleIntroDrawTrainersOrMonsSprites(void) | BATTLE_TYPE_FRONTIER | BATTLE_TYPE_LINK | BATTLE_TYPE_x2000000 - | BATTLE_TYPE_x4000000))) + | BATTLE_TYPE_TRAINER_HILL))) { HandleSetPokedexFlag(SpeciesToNationalPokedexNum(gBattleMons[gActiveBattler].species), FLAG_SET_SEEN, gBattleMons[gActiveBattler].personality); } @@ -3709,7 +3709,7 @@ static void BattleIntroRecordMonsToDex(void) | BATTLE_TYPE_FRONTIER | BATTLE_TYPE_LINK | BATTLE_TYPE_x2000000 - | BATTLE_TYPE_x4000000))) + | BATTLE_TYPE_TRAINER_HILL))) { HandleSetPokedexFlag(SpeciesToNationalPokedexNum(gBattleMons[gActiveBattler].species), FLAG_SET_SEEN, gBattleMons[gActiveBattler].personality); } @@ -4326,7 +4326,7 @@ static void HandleTurnActionSelectionState(void) } if (gBattleTypeFlags & BATTLE_TYPE_TRAINER - && gBattleTypeFlags & (BATTLE_TYPE_FRONTIER | BATTLE_TYPE_x4000000) + && gBattleTypeFlags & (BATTLE_TYPE_FRONTIER | BATTLE_TYPE_TRAINER_HILL) && gBattleBufferB[gActiveBattler][1] == B_ACTION_RUN) { gSelectionBattleScripts[gActiveBattler] = BattleScript_AskIfWantsToForfeitMatch; @@ -4978,7 +4978,7 @@ static void HandleEndTurn_BattleWon(void) gBattleOutcome &= ~(B_OUTCOME_LINK_BATTLE_RAN); } else if (gBattleTypeFlags & BATTLE_TYPE_TRAINER - && gBattleTypeFlags & (BATTLE_TYPE_FRONTIER | BATTLE_TYPE_x4000000 | BATTLE_TYPE_EREADER_TRAINER)) + && gBattleTypeFlags & (BATTLE_TYPE_FRONTIER | BATTLE_TYPE_TRAINER_HILL | BATTLE_TYPE_EREADER_TRAINER)) { BattleStopLowHpSound(); gBattlescriptCurrInstr = BattleScript_FrontierTrainerBattleWon; @@ -5069,7 +5069,7 @@ static void HandleEndTurn_RanFromBattle(void) gBattleOutcome = B_OUTCOME_FORFEITED; gSaveBlock2Ptr->frontier.field_CA9_b = 1; } - else if (gBattleTypeFlags & BATTLE_TYPE_x4000000) + else if (gBattleTypeFlags & BATTLE_TYPE_TRAINER_HILL) { gBattlescriptCurrInstr = BattleScript_PrintPlayerForfeited; gBattleOutcome = B_OUTCOME_FORFEITED; @@ -5624,7 +5624,7 @@ bool8 TryRunFromBattle(u8 battler) effect++; } } - else if (gBattleTypeFlags & (BATTLE_TYPE_FRONTIER | BATTLE_TYPE_x4000000) && gBattleTypeFlags & BATTLE_TYPE_TRAINER) + else if (gBattleTypeFlags & (BATTLE_TYPE_FRONTIER | BATTLE_TYPE_TRAINER_HILL) && gBattleTypeFlags & BATTLE_TYPE_TRAINER) { effect++; } diff --git a/src/battle_message.c b/src/battle_message.c index 47579d4f2c..a5f5497332 100644 --- a/src/battle_message.c +++ b/src/battle_message.c @@ -47,12 +47,12 @@ extern const u8 gText_PkmnTransferredLanettesPC[]; extern u8 GetFrontierBrainTrainerClass(void); // battle_frontier_2 extern u8 GetFrontierOpponentClass(u16 trainerId); // battle_tower -extern u8 sub_81D5530(u16 trainerId); // pokenav +extern u8 GetTrainerHillOpponentClass(u16 trainerId); // pokenav extern u8 GetEreaderTrainerClassId(void); // battle_tower extern void CopyFrontierBrainTrainerName(u8 *txtPtr); // battle_frontier_2 -extern void sub_81D5554(u8 *txtPtr, u16 trainerId); // pokenav +extern void GetTrainerHillTrainerName(u8 *txtPtr, u16 trainerId); // pokenav extern void GetEreaderTrainerName(u8 *txtPtr); -extern void sub_81D572C(u8 arg0, u16 trainerId); // pokenav +extern void CopyTrainerHillTrainerText(u8 arg0, u16 trainerId); // pokenav extern void GetFrontierTrainerName(u8 *dst, u16 trainerId); // this file's functions @@ -2513,8 +2513,8 @@ u32 BattleStringExpandPlaceholders(const u8 *src, u8 *dst) toCpy = gTrainerClassNames[GetFrontierBrainTrainerClass()]; else if (gBattleTypeFlags & BATTLE_TYPE_FRONTIER) toCpy = gTrainerClassNames[GetFrontierOpponentClass(gTrainerBattleOpponent_A)]; - else if (gBattleTypeFlags & BATTLE_TYPE_x4000000) - toCpy = gTrainerClassNames[sub_81D5530(gTrainerBattleOpponent_A)]; + else if (gBattleTypeFlags & BATTLE_TYPE_TRAINER_HILL) + toCpy = gTrainerClassNames[GetTrainerHillOpponentClass(gTrainerBattleOpponent_A)]; else if (gBattleTypeFlags & BATTLE_TYPE_EREADER_TRAINER) toCpy = gTrainerClassNames[GetEreaderTrainerClassId()]; else @@ -2543,9 +2543,9 @@ u32 BattleStringExpandPlaceholders(const u8 *src, u8 *dst) GetFrontierTrainerName(text, gTrainerBattleOpponent_A); toCpy = text; } - else if (gBattleTypeFlags & BATTLE_TYPE_x4000000) + else if (gBattleTypeFlags & BATTLE_TYPE_TRAINER_HILL) { - sub_81D5554(text, gTrainerBattleOpponent_A); + GetTrainerHillTrainerName(text, gTrainerBattleOpponent_A); toCpy = text; } else if (gBattleTypeFlags & BATTLE_TYPE_EREADER_TRAINER) @@ -2585,9 +2585,9 @@ u32 BattleStringExpandPlaceholders(const u8 *src, u8 *dst) CopyFrontierTrainerText(FRONTIER_LOSE_TEXT, gTrainerBattleOpponent_A); toCpy = gStringVar4; } - else if (gBattleTypeFlags & BATTLE_TYPE_x4000000) + else if (gBattleTypeFlags & BATTLE_TYPE_TRAINER_HILL) { - sub_81D572C(4, gTrainerBattleOpponent_A); + CopyTrainerHillTrainerText(4, gTrainerBattleOpponent_A); toCpy = gStringVar4; } else @@ -2601,9 +2601,9 @@ u32 BattleStringExpandPlaceholders(const u8 *src, u8 *dst) CopyFrontierTrainerText(FRONTIER_WIN_TEXT, gTrainerBattleOpponent_A); toCpy = gStringVar4; } - else if (gBattleTypeFlags & BATTLE_TYPE_x4000000) + else if (gBattleTypeFlags & BATTLE_TYPE_TRAINER_HILL) { - sub_81D572C(3, gTrainerBattleOpponent_A); + CopyTrainerHillTrainerText(3, gTrainerBattleOpponent_A); toCpy = gStringVar4; } break; @@ -2655,8 +2655,8 @@ u32 BattleStringExpandPlaceholders(const u8 *src, u8 *dst) case B_TXT_TRAINER2_CLASS: if (gBattleTypeFlags & BATTLE_TYPE_FRONTIER) toCpy = gTrainerClassNames[GetFrontierOpponentClass(gTrainerBattleOpponent_B)]; - else if (gBattleTypeFlags & BATTLE_TYPE_x4000000) - toCpy = gTrainerClassNames[sub_81D5530(gTrainerBattleOpponent_B)]; + else if (gBattleTypeFlags & BATTLE_TYPE_TRAINER_HILL) + toCpy = gTrainerClassNames[GetTrainerHillOpponentClass(gTrainerBattleOpponent_B)]; else toCpy = gTrainerClassNames[gTrainers[gTrainerBattleOpponent_B].trainerClass]; break; @@ -2666,9 +2666,9 @@ u32 BattleStringExpandPlaceholders(const u8 *src, u8 *dst) GetFrontierTrainerName(text, gTrainerBattleOpponent_B); toCpy = text; } - else if (gBattleTypeFlags & BATTLE_TYPE_x4000000) + else if (gBattleTypeFlags & BATTLE_TYPE_TRAINER_HILL) { - sub_81D5554(text, gTrainerBattleOpponent_B); + GetTrainerHillTrainerName(text, gTrainerBattleOpponent_B); toCpy = text; } else @@ -2682,9 +2682,9 @@ u32 BattleStringExpandPlaceholders(const u8 *src, u8 *dst) CopyFrontierTrainerText(FRONTIER_LOSE_TEXT, gTrainerBattleOpponent_B); toCpy = gStringVar4; } - else if (gBattleTypeFlags & BATTLE_TYPE_x4000000) + else if (gBattleTypeFlags & BATTLE_TYPE_TRAINER_HILL) { - sub_81D572C(4, gTrainerBattleOpponent_B); + CopyTrainerHillTrainerText(4, gTrainerBattleOpponent_B); toCpy = gStringVar4; } else @@ -2698,9 +2698,9 @@ u32 BattleStringExpandPlaceholders(const u8 *src, u8 *dst) CopyFrontierTrainerText(FRONTIER_WIN_TEXT, gTrainerBattleOpponent_B); toCpy = gStringVar4; } - else if (gBattleTypeFlags & BATTLE_TYPE_x4000000) + else if (gBattleTypeFlags & BATTLE_TYPE_TRAINER_HILL) { - sub_81D572C(3, gTrainerBattleOpponent_B); + CopyTrainerHillTrainerText(3, gTrainerBattleOpponent_B); toCpy = gStringVar4; } break; diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 44194deda0..90dacc8cbd 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -2739,7 +2739,7 @@ void SetMoveEffect(bool8 primary, u8 certain) break; case MOVE_EFFECT_STEAL_ITEM: { - if (gBattleTypeFlags & BATTLE_TYPE_x4000000) + if (gBattleTypeFlags & BATTLE_TYPE_TRAINER_HILL) { gBattlescriptCurrInstr++; break; @@ -3268,7 +3268,7 @@ static void atk23_getexp(void) if (GetBattlerSide(gBattlerFainted) != B_SIDE_OPPONENT || (gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_x2000000 - | BATTLE_TYPE_x4000000 + | BATTLE_TYPE_TRAINER_HILL | BATTLE_TYPE_FRONTIER | BATTLE_TYPE_SAFARI | BATTLE_TYPE_BATTLE_TOWER @@ -4987,7 +4987,7 @@ static void atk4E_switchinanim(void) && !(gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_x2000000 - | BATTLE_TYPE_x4000000 + | BATTLE_TYPE_TRAINER_HILL | BATTLE_TYPE_FRONTIER))) HandleSetPokedexFlag(SpeciesToNationalPokedexNum(gBattleMons[gActiveBattler].species), FLAG_SET_SEEN, gBattleMons[gActiveBattler].personality); @@ -9405,7 +9405,7 @@ static void atkD1_trysethelpinghand(void) static void atkD2_tryswapitems(void) // trick { // opponent can't swap items with player in regular battles - if (gBattleTypeFlags & BATTLE_TYPE_x4000000 + if (gBattleTypeFlags & BATTLE_TYPE_TRAINER_HILL || (GetBattlerSide(gBattlerAttacker) == B_SIDE_OPPONENT && !(gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_EREADER_TRAINER diff --git a/src/battle_setup.c b/src/battle_setup.c index 17ab20ccd6..89a3d9a2c4 100644 --- a/src/battle_setup.c +++ b/src/battle_setup.c @@ -75,7 +75,7 @@ extern void sub_81D6384(void); extern void sub_81D61E8(void); extern void sub_80982B8(void); extern void sub_81A9EDC(u16 a0); -extern void sub_81D572C(u8 a0, u16 arg1); +extern void CopyTrainerHillTrainerText(u8 a0, u16 arg1); // this file's functions static void DoBattlePikeWildBattle(void); @@ -1281,7 +1281,7 @@ void BattleSetup_StartTrainerBattle(void) } else if (sub_81D5C18()) { - gBattleTypeFlags |= BATTLE_TYPE_x4000000; + gBattleTypeFlags |= BATTLE_TYPE_TRAINER_HILL; if (gNoOfApproachingTrainers == 2) sub_81D639C(); @@ -1370,9 +1370,9 @@ void ShowTrainerIntroSpeech(void) else if (sub_81D5C18()) { if (gNoOfApproachingTrainers == 0 || gNoOfApproachingTrainers == 1) - sub_81D572C(2, sub_81D6180(gSpecialVar_LastTalked)); + CopyTrainerHillTrainerText(2, sub_81D6180(gSpecialVar_LastTalked)); else - sub_81D572C(2, sub_81D6180(gEventObjects[gApproachingTrainers[gApproachingTrainerId].eventObjectId].localId)); + CopyTrainerHillTrainerText(2, sub_81D6180(gEventObjects[gApproachingTrainers[gApproachingTrainerId].eventObjectId].localId)); sub_80982B8(); } diff --git a/src/battle_util2.c b/src/battle_util2.c index 1d2f1e95b4..5881abf251 100644 --- a/src/battle_util2.c +++ b/src/battle_util2.c @@ -19,7 +19,7 @@ void AllocateBattleResources(void) { gBattleResources = gBattleResources; // something dumb needed to match - if (gBattleTypeFlags & BATTLE_TYPE_x4000000) + if (gBattleTypeFlags & BATTLE_TYPE_TRAINER_HILL) sub_81D55D0(); gBattleStruct = AllocZeroed(sizeof(*gBattleStruct)); @@ -49,7 +49,7 @@ void AllocateBattleResources(void) void FreeBattleResources(void) { - if (gBattleTypeFlags & BATTLE_TYPE_x4000000) + if (gBattleTypeFlags & BATTLE_TYPE_TRAINER_HILL) sub_81D5694(); if (gBattleResources != NULL) diff --git a/src/pokemon.c b/src/pokemon.c index e2ce24bdb1..8e2e3b7649 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -6621,7 +6621,7 @@ u16 GetBattleBGM(void) if (gBattleTypeFlags & BATTLE_TYPE_FRONTIER) trainerClass = GetFrontierOpponentClass(gTrainerBattleOpponent_A); - else if (gBattleTypeFlags & BATTLE_TYPE_x4000000) + else if (gBattleTypeFlags & BATTLE_TYPE_TRAINER_HILL) trainerClass = TRAINER_CLASS_EXPERT; else trainerClass = gTrainers[gTrainerBattleOpponent_A].trainerClass; diff --git a/src/recorded_battle.c b/src/recorded_battle.c index 5a12d6114d..355ed5e079 100644 --- a/src/recorded_battle.c +++ b/src/recorded_battle.c @@ -19,7 +19,7 @@ #define ILLEGAL_BATTLE_TYPES ((BATTLE_TYPE_LINK | BATTLE_TYPE_SAFARI | BATTLE_TYPE_FIRST_BATTLE \ | BATTLE_TYPE_WALLY_TUTORIAL | BATTLE_TYPE_ROAMER | BATTLE_TYPE_EREADER_TRAINER \ | BATTLE_TYPE_KYOGRE_GROUDON | BATTLE_TYPE_LEGENDARY | BATTLE_TYPE_REGI \ - | BATTLE_TYPE_RECORDED | BATTLE_TYPE_x4000000 | BATTLE_TYPE_SECRET_BASE \ + | BATTLE_TYPE_RECORDED | BATTLE_TYPE_TRAINER_HILL | BATTLE_TYPE_SECRET_BASE \ | BATTLE_TYPE_GROUDON | BATTLE_TYPE_KYOGRE | BATTLE_TYPE_RAYQUAZA)) extern u8 gUnknown_03001278; From f1c0c79e2112a6dc352131fe448b222681076182 Mon Sep 17 00:00:00 2001 From: Kurausukun <lord.uber1@gmail.com> Date: Fri, 21 Sep 2018 00:54:28 -0400 Subject: [PATCH 219/234] ported keysplit_tables from pokeruby --- sound/key_split_tables/86B46BC.bin | Bin 36 -> 0 bytes sound/key_split_tables/86B46E0.bin | Bin 72 -> 0 bytes sound/key_split_tables/86B4728.bin | Bin 84 -> 0 bytes sound/key_split_tables/86B477C.bin | Bin 72 -> 0 bytes sound/key_split_tables/86B47C4.bin | Bin 108 -> 0 bytes sound/keysplit_tables.inc | 399 +++++++++++++- sound/voice_groups.inc | 848 ++++++++++++++--------------- 7 files changed, 813 insertions(+), 434 deletions(-) delete mode 100644 sound/key_split_tables/86B46BC.bin delete mode 100644 sound/key_split_tables/86B46E0.bin delete mode 100644 sound/key_split_tables/86B4728.bin delete mode 100644 sound/key_split_tables/86B477C.bin delete mode 100644 sound/key_split_tables/86B47C4.bin diff --git a/sound/key_split_tables/86B46BC.bin b/sound/key_split_tables/86B46BC.bin deleted file mode 100644 index 078c76ad93a3d171334795de495b95866f30bd6e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 36 PcmZQzzyOS>fQbnJ0Kfng diff --git a/sound/key_split_tables/86B46E0.bin b/sound/key_split_tables/86B46E0.bin deleted file mode 100644 index 5ab68d78ea112eea17b25b3cb919e74bad1e9623..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 72 TcmZQ#!T`+ZfPoNTWMl*Y5}yEF diff --git a/sound/key_split_tables/86B4728.bin b/sound/key_split_tables/86B4728.bin deleted file mode 100644 index b149034031135a63a81ab498c373a2873f40d5c1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 84 TcmZQ%gaRhqfB`Rn8GxVx5aR$+ diff --git a/sound/key_split_tables/86B477C.bin b/sound/key_split_tables/86B477C.bin deleted file mode 100644 index d794d1774f553c3b76b4132f692cae77b9b08a03..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 72 QcmZQ#!VVZP03%)i01a^fPXGV_ diff --git a/sound/key_split_tables/86B47C4.bin b/sound/key_split_tables/86B47C4.bin deleted file mode 100644 index 37fcc4ff2cc06ad611804212bb066bd7d6f67125..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 108 RcmZQ%Bn%kv0>b)XDgY3z08an_ diff --git a/sound/keysplit_tables.inc b/sound/keysplit_tables.inc index f37f9cdf88..cc97f15bc9 100644 --- a/sound/keysplit_tables.inc +++ b/sound/keysplit_tables.inc @@ -1,18 +1,397 @@ -KeySplitTable_86B4698:: @ 86B4698 +@ Due to the way mks4agb (Nintendo's tool) works, key split table labels can +@ appear before the actual start of the key split table data. If you look at +@ the first keysplit table (KeySplitTable1), you'll notice it's offset backwards +@ by 36 bytes. This is because the key split tables don't map instruments +@ for the entire note range (0-127)--they only map subsets, and the upper +@ and lower ranges aren't necessarily 0 or 127. +@ +@ For example if a key split table maps an note range of 10-20, then the key +@ split table label will be offset 10 bytes before the actual key split data +@ begins. Therefore, the notes naturally map to the key split table without +@ any extra offset calculation. + @ This is weird. There are instruments at the beginning of the keysplit table. voice_square_1 0, 2, 0, 0, 15, 0 @ 86B4698 voice_directsound_no_resample 64, 104, DirectSoundWaveData_86DD11C, 255, 0, 255, 0 @ 86B46A4 voice_directsound 63, 64, DirectSoundWaveData_86DE6C0, 255, 0, 255, 0 @ 86B46B0 - .incbin "sound/key_split_tables/86B46BC.bin" +.set KeySplitTable1, . - 36 + .byte 0 @ 36 + .byte 0 @ 37 + .byte 0 @ 38 + .byte 0 @ 39 + .byte 0 @ 40 + .byte 0 @ 41 + .byte 0 @ 42 + .byte 0 @ 43 + .byte 0 @ 44 + .byte 0 @ 45 + .byte 0 @ 46 + .byte 0 @ 47 + .byte 0 @ 48 + .byte 0 @ 49 + .byte 0 @ 50 + .byte 0 @ 51 + .byte 0 @ 52 + .byte 0 @ 53 + .byte 0 @ 54 + .byte 1 @ 55 + .byte 1 @ 56 + .byte 1 @ 57 + .byte 1 @ 58 + .byte 1 @ 59 + .byte 1 @ 60 + .byte 1 @ 61 + .byte 1 @ 62 + .byte 1 @ 63 + .byte 1 @ 64 + .byte 1 @ 65 + .byte 1 @ 66 + .byte 1 @ 67 + .byte 1 @ 68 + .byte 1 @ 69 + .byte 2 @ 70 + .byte 2 @ 71 + .byte 2 @ 72 + .byte 2 @ 73 + .byte 2 @ 74 + .byte 2 @ 75 + .byte 2 @ 76 + .byte 2 @ 77 + .byte 2 @ 78 + .byte 2 @ 79 + .byte 2 @ 80 + .byte 2 @ 81 + .byte 2 @ 82 + .byte 2 @ 83 + .byte 2 @ 84 + .byte 2 @ 85 + .byte 2 @ 86 + .byte 2 @ 87 + .byte 2 @ 88 + .byte 2 @ 89 + .byte 2 @ 90 + .byte 3 @ 91 + .byte 3 @ 92 + .byte 3 @ 93 + .byte 3 @ 94 + .byte 3 @ 95 + .byte 3 @ 96 + .byte 3 @ 97 + .byte 3 @ 98 + .byte 3 @ 99 + .byte 3 @ 100 + .byte 3 @ 101 + .byte 3 @ 102 + .byte 3 @ 103 + .byte 3 @ 104 + .byte 3 @ 105 + .byte 3 @ 106 + .byte 3 @ 107 -KeySplitTable_86B46E0:: @ 86B46E0 - .incbin "sound/key_split_tables/86B46E0.bin" +.set KeySplitTable2, . - 36 + .byte 0 @ 36 + .byte 0 @ 37 + .byte 0 @ 38 + .byte 0 @ 39 + .byte 0 @ 40 + .byte 0 @ 41 + .byte 0 @ 42 + .byte 0 @ 43 + .byte 0 @ 44 + .byte 0 @ 45 + .byte 0 @ 46 + .byte 0 @ 47 + .byte 0 @ 48 + .byte 0 @ 49 + .byte 0 @ 50 + .byte 0 @ 51 + .byte 0 @ 52 + .byte 0 @ 53 + .byte 0 @ 54 + .byte 0 @ 55 + .byte 0 @ 56 + .byte 0 @ 57 + .byte 0 @ 58 + .byte 0 @ 59 + .byte 0 @ 60 + .byte 0 @ 61 + .byte 0 @ 62 + .byte 0 @ 63 + .byte 0 @ 64 + .byte 0 @ 65 + .byte 0 @ 66 + .byte 0 @ 67 + .byte 0 @ 68 + .byte 1 @ 69 + .byte 1 @ 70 + .byte 1 @ 71 + .byte 1 @ 72 + .byte 1 @ 73 + .byte 1 @ 74 + .byte 1 @ 75 + .byte 1 @ 76 + .byte 1 @ 77 + .byte 1 @ 78 + .byte 1 @ 79 + .byte 1 @ 80 + .byte 2 @ 81 + .byte 2 @ 82 + .byte 2 @ 83 + .byte 2 @ 84 + .byte 2 @ 85 + .byte 2 @ 86 + .byte 2 @ 87 + .byte 2 @ 88 + .byte 2 @ 89 + .byte 2 @ 90 + .byte 2 @ 91 + .byte 2 @ 92 + .byte 2 @ 93 + .byte 2 @ 94 + .byte 2 @ 95 + .byte 2 @ 96 + .byte 2 @ 97 + .byte 2 @ 98 + .byte 2 @ 99 + .byte 2 @ 100 + .byte 2 @ 101 + .byte 2 @ 102 + .byte 2 @ 103 + .byte 2 @ 104 + .byte 2 @ 105 + .byte 2 @ 106 + .byte 2 @ 107 -KeySplitTable_86B4728:: @ 86B4728 - .incbin "sound/key_split_tables/86B4728.bin" +.set KeySplitTable3, . - 36 + .byte 0 @ 36 + .byte 0 @ 37 + .byte 0 @ 38 + .byte 0 @ 39 + .byte 0 @ 40 + .byte 0 @ 41 + .byte 0 @ 42 + .byte 0 @ 43 + .byte 0 @ 44 + .byte 0 @ 45 + .byte 0 @ 46 + .byte 0 @ 47 + .byte 0 @ 48 + .byte 0 @ 49 + .byte 0 @ 50 + .byte 0 @ 51 + .byte 0 @ 52 + .byte 0 @ 53 + .byte 0 @ 54 + .byte 0 @ 55 + .byte 0 @ 56 + .byte 0 @ 57 + .byte 0 @ 58 + .byte 0 @ 59 + .byte 0 @ 60 + .byte 0 @ 61 + .byte 0 @ 62 + .byte 0 @ 63 + .byte 0 @ 64 + .byte 0 @ 65 + .byte 1 @ 66 + .byte 1 @ 67 + .byte 1 @ 68 + .byte 1 @ 69 + .byte 1 @ 70 + .byte 1 @ 71 + .byte 1 @ 72 + .byte 1 @ 73 + .byte 1 @ 74 + .byte 1 @ 75 + .byte 1 @ 76 + .byte 1 @ 77 + .byte 1 @ 78 + .byte 1 @ 79 + .byte 1 @ 80 + .byte 1 @ 81 + .byte 1 @ 82 + .byte 1 @ 83 + .byte 2 @ 84 + .byte 2 @ 85 + .byte 2 @ 86 + .byte 2 @ 87 + .byte 2 @ 88 + .byte 2 @ 89 + .byte 2 @ 90 + .byte 2 @ 91 + .byte 2 @ 92 + .byte 2 @ 93 + .byte 2 @ 94 + .byte 2 @ 95 + .byte 2 @ 96 + .byte 2 @ 97 + .byte 2 @ 98 + .byte 2 @ 99 + .byte 2 @ 100 + .byte 2 @ 101 + .byte 2 @ 102 + .byte 2 @ 103 + .byte 2 @ 104 + .byte 2 @ 105 + .byte 2 @ 106 + .byte 2 @ 107 -KeySplitTable_86B477C:: @ 86B477C - .incbin "sound/key_split_tables/86B477C.bin" +.set KeySplitTable4, . - 24 + .byte 0 @ 24 + .byte 0 @ 25 + .byte 0 @ 26 + .byte 0 @ 27 + .byte 0 @ 28 + .byte 0 @ 29 + .byte 0 @ 30 + .byte 0 @ 31 + .byte 0 @ 32 + .byte 0 @ 33 + .byte 0 @ 34 + .byte 0 @ 35 + .byte 0 @ 36 + .byte 0 @ 37 + .byte 0 @ 38 + .byte 0 @ 39 + .byte 0 @ 40 + .byte 0 @ 41 + .byte 1 @ 42 + .byte 1 @ 43 + .byte 1 @ 44 + .byte 1 @ 45 + .byte 1 @ 46 + .byte 1 @ 47 + .byte 1 @ 48 + .byte 1 @ 49 + .byte 1 @ 50 + .byte 1 @ 51 + .byte 1 @ 52 + .byte 1 @ 53 + .byte 1 @ 54 + .byte 1 @ 55 + .byte 1 @ 56 + .byte 1 @ 57 + .byte 1 @ 58 + .byte 1 @ 59 + .byte 1 @ 60 + .byte 1 @ 61 + .byte 1 @ 62 + .byte 1 @ 63 + .byte 1 @ 64 + .byte 1 @ 65 + .byte 1 @ 66 + .byte 1 @ 67 + .byte 1 @ 68 + .byte 1 @ 69 + .byte 1 @ 70 + .byte 1 @ 71 + .byte 1 @ 72 + .byte 1 @ 73 + .byte 1 @ 74 + .byte 1 @ 75 + .byte 1 @ 76 + .byte 1 @ 77 + .byte 1 @ 78 + .byte 1 @ 79 + .byte 1 @ 80 + .byte 1 @ 81 + .byte 1 @ 82 + .byte 1 @ 83 + .byte 1 @ 84 + .byte 1 @ 85 + .byte 1 @ 86 + .byte 1 @ 87 + .byte 1 @ 88 + .byte 1 @ 89 + .byte 1 @ 90 + .byte 1 @ 91 + .byte 1 @ 92 + .byte 1 @ 93 + .byte 1 @ 94 + .byte 1 @ 95 + .byte 1 @ 96 + .byte 1 @ 97 + .byte 1 @ 98 + .byte 1 @ 99 + .byte 1 @ 100 + .byte 1 @ 101 + .byte 1 @ 102 + .byte 1 @ 103 + .byte 1 @ 104 + .byte 1 @ 105 + .byte 1 @ 106 + .byte 1 @ 107 -KeySplitTable_86B47C4:: @ 86B47C4 - .incbin "sound/key_split_tables/86B47C4.bin" +.set KeySplitTable5, . - 36 + .byte 0 @ 36 + .byte 0 @ 37 + .byte 0 @ 38 + .byte 0 @ 39 + .byte 0 @ 40 + .byte 0 @ 41 + .byte 0 @ 42 + .byte 0 @ 43 + .byte 0 @ 44 + .byte 0 @ 45 + .byte 0 @ 46 + .byte 0 @ 47 + .byte 0 @ 48 + .byte 0 @ 49 + .byte 0 @ 50 + .byte 0 @ 51 + .byte 0 @ 52 + .byte 0 @ 53 + .byte 0 @ 54 + .byte 0 @ 55 + .byte 0 @ 56 + .byte 0 @ 57 + .byte 0 @ 58 + .byte 0 @ 59 + .byte 0 @ 60 + .byte 0 @ 61 + .byte 0 @ 62 + .byte 0 @ 63 + .byte 0 @ 64 + .byte 0 @ 65 + .byte 1 @ 66 + .byte 1 @ 67 + .byte 1 @ 68 + .byte 1 @ 69 + .byte 1 @ 70 + .byte 1 @ 71 + .byte 1 @ 72 + .byte 1 @ 73 + .byte 1 @ 74 + .byte 1 @ 75 + .byte 1 @ 76 + .byte 1 @ 77 + .byte 1 @ 78 + .byte 1 @ 79 + .byte 1 @ 80 + .byte 1 @ 81 + .byte 1 @ 82 + .byte 1 @ 83 + .byte 1 @ 84 + .byte 1 @ 85 + .byte 1 @ 86 + .byte 1 @ 87 + .byte 1 @ 88 + .byte 1 @ 89 + .byte 1 @ 90 + .byte 1 @ 91 + .byte 1 @ 92 + .byte 1 @ 93 + .byte 1 @ 94 + .byte 1 @ 95 + .byte 1 @ 96 + .byte 1 @ 97 + .byte 1 @ 98 + .byte 1 @ 99 + .byte 1 @ 100 + .byte 1 @ 101 + .byte 1 @ 102 + .byte 1 @ 103 + .byte 1 @ 104 + .byte 1 @ 105 + .byte 1 @ 106 + .byte 1 @ 107 diff --git a/sound/voice_groups.inc b/sound/voice_groups.inc index c7b64aceda..7dcc1a11d7 100644 --- a/sound/voice_groups.inc +++ b/sound/voice_groups.inc @@ -1,7 +1,7 @@ .align 2 voicegroup_pokemon_cry:: @ 8675D04 voice_keysplit_all voicegroup_8675FEC @ 8675D04 - voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 8675D10 + voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 8675D10 voice_square_1 0, 2, 0, 0, 15, 0 @ 8675D1C voice_square_1 0, 2, 0, 0, 15, 0 @ 8675D28 voice_square_1 0, 2, 0, 0, 15, 0 @ 8675D34 @@ -48,7 +48,7 @@ voicegroup_pokemon_cry:: @ 8675D04 voice_square_1 0, 2, 0, 0, 15, 0 @ 8675F20 voice_square_1 0, 2, 0, 0, 15, 0 @ 8675F2C voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 204, 193, 239 @ 8675F38 - voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 8675F44 + voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 8675F44 voice_square_1 0, 2, 0, 0, 15, 0 @ 8675F50 voice_square_1 0, 2, 0, 0, 15, 0 @ 8675F5C voice_square_1 0, 2, 0, 0, 15, 0 @ 8675F68 @@ -56,7 +56,7 @@ voicegroup_pokemon_cry:: @ 8675D04 voice_square_1 0, 2, 0, 0, 15, 0 @ 8675F80 voice_square_1 0, 2, 0, 0, 15, 0 @ 8675F8C voice_square_1 0, 2, 0, 0, 15, 0 @ 8675F98 - voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 8675FA4 + voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 8675FA4 voice_square_1 0, 2, 0, 0, 15, 0 @ 8675FB0 voice_square_1 0, 2, 0, 0, 15, 0 @ 8675FBC voice_square_1 0, 2, 0, 0, 15, 0 @ 8675FC8 @@ -509,7 +509,7 @@ voicegroup_8677138:: @ 8677138 voice_square_1 0, 2, 0, 0, 15, 0 @ 8677354 voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 242, 0, 204 @ 8677360 voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 246, 0, 226 @ 867736C - voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 8677378 + voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 8677378 voice_square_1 0, 2, 0, 0, 15, 0 @ 8677384 voice_square_1 0, 2, 0, 0, 15, 0 @ 8677390 voice_square_1 0, 2, 0, 0, 15, 0 @ 867739C @@ -517,11 +517,11 @@ voicegroup_8677138:: @ 8677138 voice_square_1 0, 2, 0, 0, 15, 0 @ 86773B4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86773C0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86773CC - voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 86773D8 + voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 86773D8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86773E4 - voice_keysplit voicegroup_8677108, KeySplitTable_86B477C @ 86773F0 + voice_keysplit voicegroup_8677108, KeySplitTable4 @ 86773F0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86773FC - voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 8677408 + voice_keysplit voicegroup_8677120, KeySplitTable5 @ 8677408 voice_square_1 0, 2, 0, 0, 15, 0 @ 8677414 voice_square_1 0, 2, 0, 0, 15, 0 @ 8677420 voice_square_1 0, 2, 0, 0, 15, 0 @ 867742C @@ -596,7 +596,7 @@ voicegroup_8677528:: @ 8677528 voice_square_1 0, 2, 0, 0, 15, 0 @ 8677744 voice_square_1 0, 2, 0, 0, 15, 0 @ 8677750 voice_square_1 0, 2, 0, 0, 15, 0 @ 867775C - voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 8677768 + voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 8677768 voice_square_1 0, 2, 0, 0, 15, 0 @ 8677774 voice_square_1 0, 2, 0, 0, 15, 0 @ 8677780 voice_square_1 0, 2, 0, 0, 15, 0 @ 867778C @@ -680,7 +680,7 @@ voicegroup_8677528:: @ 8677528 .align 2 voicegroup_8677B28:: @ 8677B28 voice_keysplit_all voicegroup_8675FEC @ 8677B28 - voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 8677B34 + voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 8677B34 voice_directsound 60, 0, DirectSoundWaveData_87322BC, 255, 178, 180, 165 @ 8677B40 voice_square_1 0, 2, 0, 0, 15, 0 @ 8677B4C voice_square_1 0, 2, 0, 0, 15, 0 @ 8677B58 @@ -727,7 +727,7 @@ voicegroup_8677B28:: @ 8677B28 voice_square_1 0, 2, 0, 0, 15, 0 @ 8677D44 voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 242, 0, 204 @ 8677D50 voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 246, 0, 226 @ 8677D5C - voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 8677D68 + voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 8677D68 voice_square_1 0, 2, 0, 0, 15, 0 @ 8677D74 voice_square_1 0, 2, 0, 0, 15, 0 @ 8677D80 voice_square_1 0, 2, 0, 0, 15, 0 @ 8677D8C @@ -735,11 +735,11 @@ voicegroup_8677B28:: @ 8677B28 voice_square_1 0, 2, 0, 0, 15, 0 @ 8677DA4 voice_square_1 0, 2, 0, 0, 15, 0 @ 8677DB0 voice_square_1 0, 2, 0, 0, 15, 0 @ 8677DBC - voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 8677DC8 + voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 8677DC8 voice_square_1 0, 2, 0, 0, 15, 0 @ 8677DD4 - voice_keysplit voicegroup_8677108, KeySplitTable_86B477C @ 8677DE0 + voice_keysplit voicegroup_8677108, KeySplitTable4 @ 8677DE0 voice_square_1 0, 2, 0, 0, 15, 0 @ 8677DEC - voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 8677DF8 + voice_keysplit voicegroup_8677120, KeySplitTable5 @ 8677DF8 voice_square_1 0, 2, 0, 0, 15, 0 @ 8677E04 voice_square_1 0, 2, 0, 0, 15, 0 @ 8677E10 voice_square_1 0, 2, 0, 0, 15, 0 @ 8677E1C @@ -832,7 +832,7 @@ voicegroup_8677FF0:: @ 8677FF0 voice_square_1 0, 2, 0, 0, 15, 0 @ 867820C voice_square_1 0, 2, 0, 0, 15, 0 @ 8678218 voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 246, 0, 226 @ 8678224 - voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 8678230 + voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 8678230 voice_square_1 0, 2, 0, 0, 15, 0 @ 867823C voice_square_1 0, 2, 0, 0, 15, 0 @ 8678248 voice_square_1 0, 2, 0, 0, 15, 0 @ 8678254 @@ -840,11 +840,11 @@ voicegroup_8677FF0:: @ 8677FF0 voice_square_1 0, 2, 0, 0, 15, 0 @ 867826C voice_square_1 0, 2, 0, 0, 15, 0 @ 8678278 voice_square_1 0, 2, 0, 0, 15, 0 @ 8678284 - voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 8678290 + voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 8678290 voice_square_1 0, 2, 0, 0, 15, 0 @ 867829C voice_square_1 0, 2, 0, 0, 15, 0 @ 86782A8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86782B4 - voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 86782C0 + voice_keysplit voicegroup_8677120, KeySplitTable5 @ 86782C0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86782CC voice_square_1 0, 2, 0, 0, 15, 0 @ 86782D8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86782E4 @@ -878,7 +878,7 @@ voicegroup_8677FF0:: @ 8677FF0 .align 2 voicegroup_8678428:: @ 8678428 voice_keysplit_all voicegroup_8675FEC @ 8678428 - voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 8678434 + voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 8678434 voice_square_1 0, 2, 0, 0, 15, 0 @ 8678440 voice_square_1 0, 2, 0, 0, 15, 0 @ 867844C voice_square_2_alt 3, 0, 1, 6, 1 @ 8678458 @@ -925,7 +925,7 @@ voicegroup_8678428:: @ 8678428 voice_square_1 0, 2, 0, 0, 15, 0 @ 8678644 voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 246, 0, 235 @ 8678650 voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 246, 0, 226 @ 867865C - voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 8678668 + voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 8678668 voice_square_1 0, 2, 0, 0, 15, 0 @ 8678674 voice_square_1 0, 2, 0, 0, 15, 0 @ 8678680 voice_square_1 0, 2, 0, 0, 15, 0 @ 867868C @@ -933,11 +933,11 @@ voicegroup_8678428:: @ 8678428 voice_square_1 0, 2, 0, 0, 15, 0 @ 86786A4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86786B0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86786BC - voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 86786C8 + voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 86786C8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86786D4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86786E0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86786EC - voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 86786F8 + voice_keysplit voicegroup_8677120, KeySplitTable5 @ 86786F8 voice_square_1 0, 2, 0, 0, 15, 0 @ 8678704 voice_square_1 0, 2, 0, 0, 15, 0 @ 8678710 voice_square_1 0, 2, 0, 0, 15, 0 @ 867871C @@ -966,7 +966,7 @@ voicegroup_8678428:: @ 8678428 .align 2 voicegroup_8678824:: @ 8678824 voice_keysplit_all voicegroup_8678C74 @ 8678824 - voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 8678830 + voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 8678830 voice_square_1 0, 2, 0, 0, 15, 0 @ 867883C voice_square_1 0, 2, 0, 0, 15, 0 @ 8678848 voice_square_1 0, 2, 0, 0, 15, 0 @ 8678854 @@ -1013,7 +1013,7 @@ voicegroup_8678824:: @ 8678824 voice_square_1 0, 2, 0, 0, 15, 0 @ 8678A40 voice_square_1 0, 2, 0, 0, 15, 0 @ 8678A4C voice_square_1 0, 2, 0, 0, 15, 0 @ 8678A58 - voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 8678A64 + voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 8678A64 voice_square_1 0, 2, 0, 0, 15, 0 @ 8678A70 voice_square_1 0, 2, 0, 0, 15, 0 @ 8678A7C voice_square_1 0, 2, 0, 0, 15, 0 @ 8678A88 @@ -1176,7 +1176,7 @@ voicegroup_8678F80:: @ 8678F80 voice_directsound 60, 0, DirectSoundWaveData_8726EF0, 255, 216, 0, 165 @ 867919C voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 242, 0, 204 @ 86791A8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86791B4 - voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 86791C0 + voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 86791C0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86791CC voice_square_1 0, 2, 0, 0, 15, 0 @ 86791D8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86791E4 @@ -1186,9 +1186,9 @@ voicegroup_8678F80:: @ 8678F80 voice_square_1 0, 2, 0, 0, 15, 0 @ 8679214 voice_square_1 0, 2, 0, 0, 15, 0 @ 8679220 voice_square_1 0, 2, 0, 0, 15, 0 @ 867922C - voice_keysplit voicegroup_8677108, KeySplitTable_86B477C @ 8679238 + voice_keysplit voicegroup_8677108, KeySplitTable4 @ 8679238 voice_square_1 0, 2, 0, 0, 15, 0 @ 8679244 - voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 8679250 + voice_keysplit voicegroup_8677120, KeySplitTable5 @ 8679250 voice_square_1 0, 2, 0, 0, 15, 0 @ 867925C voice_square_1 0, 2, 0, 0, 15, 0 @ 8679268 voice_square_1 0, 2, 0, 0, 15, 0 @ 8679274 @@ -1223,7 +1223,7 @@ voicegroup_8678F80:: @ 8678F80 .align 2 voicegroup_86793C4:: @ 86793C4 voice_keysplit_all voicegroup_8675FEC @ 86793C4 - voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 86793D0 + voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 86793D0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86793DC voice_square_1 0, 2, 0, 0, 15, 0 @ 86793E8 voice_square_2_alt 0, 0, 1, 7, 1 @ 86793F4 @@ -1270,7 +1270,7 @@ voicegroup_86793C4:: @ 86793C4 voice_directsound 60, 0, DirectSoundWaveData_8726EF0, 255, 216, 0, 165 @ 86795E0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86795EC voice_square_1 0, 2, 0, 0, 15, 0 @ 86795F8 - voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 8679604 + voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 8679604 voice_square_1 0, 2, 0, 0, 15, 0 @ 8679610 voice_square_1 0, 2, 0, 0, 15, 0 @ 867961C voice_square_1 0, 2, 0, 0, 15, 0 @ 8679628 @@ -1401,7 +1401,7 @@ voicegroup_86799C4:: @ 86799C4 voice_directsound 60, 0, DirectSoundWaveData_8726EF0, 255, 216, 0, 165 @ 8679BE0 voice_square_1 0, 2, 0, 0, 15, 0 @ 8679BEC voice_square_1 0, 2, 0, 0, 15, 0 @ 8679BF8 - voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 8679C04 + voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 8679C04 voice_square_1 0, 2, 0, 0, 15, 0 @ 8679C10 voice_square_1 0, 2, 0, 0, 15, 0 @ 8679C1C voice_square_1 0, 2, 0, 0, 15, 0 @ 8679C28 @@ -1411,9 +1411,9 @@ voicegroup_86799C4:: @ 86799C4 voice_square_1 0, 2, 0, 0, 15, 0 @ 8679C58 voice_square_1 0, 2, 0, 0, 15, 0 @ 8679C64 voice_square_1 0, 2, 0, 0, 15, 0 @ 8679C70 - voice_keysplit voicegroup_8677108, KeySplitTable_86B477C @ 8679C7C + voice_keysplit voicegroup_8677108, KeySplitTable4 @ 8679C7C voice_square_1 0, 2, 0, 0, 15, 0 @ 8679C88 - voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 8679C94 + voice_keysplit voicegroup_8677120, KeySplitTable5 @ 8679C94 voice_square_1 0, 2, 0, 0, 15, 0 @ 8679CA0 voice_square_1 0, 2, 0, 0, 15, 0 @ 8679CAC voice_square_1 0, 2, 0, 0, 15, 0 @ 8679CB8 @@ -1441,7 +1441,7 @@ voicegroup_86799C4:: @ 86799C4 .align 2 voicegroup_8679DC0:: @ 8679DC0 - voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 8679DC0 + voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 8679DC0 voice_square_1 0, 2, 0, 0, 15, 0 @ 8679DCC voice_square_1 0, 2, 0, 0, 15, 0 @ 8679DD8 voice_square_1 0, 2, 0, 0, 15, 0 @ 8679DE4 @@ -1489,7 +1489,7 @@ voicegroup_8679DC0:: @ 8679DC0 voice_directsound 60, 0, DirectSoundWaveData_8726EF0, 255, 216, 0, 165 @ 8679FDC voice_square_1 0, 2, 0, 0, 15, 0 @ 8679FE8 voice_square_1 0, 2, 0, 0, 15, 0 @ 8679FF4 - voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 867A000 + voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 867A000 voice_square_1 0, 2, 0, 0, 15, 0 @ 867A00C voice_square_1 0, 2, 0, 0, 15, 0 @ 867A018 voice_square_1 0, 2, 0, 0, 15, 0 @ 867A024 @@ -1499,7 +1499,7 @@ voicegroup_8679DC0:: @ 8679DC0 voice_square_1 0, 2, 0, 0, 15, 0 @ 867A054 voice_square_1 0, 2, 0, 0, 15, 0 @ 867A060 voice_square_1 0, 2, 0, 0, 15, 0 @ 867A06C - voice_keysplit voicegroup_8677108, KeySplitTable_86B477C @ 867A078 + voice_keysplit voicegroup_8677108, KeySplitTable4 @ 867A078 voice_square_1 0, 2, 0, 0, 15, 0 @ 867A084 voice_square_1 0, 2, 0, 0, 15, 0 @ 867A090 voice_square_1 0, 2, 0, 0, 15, 0 @ 867A09C @@ -1579,7 +1579,7 @@ voicegroup_867A1D4:: @ 867A1D4 voice_square_1 0, 2, 0, 0, 15, 0 @ 867A3F0 voice_square_1 0, 2, 0, 0, 15, 0 @ 867A3FC voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 246, 0, 226 @ 867A408 - voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 867A414 + voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 867A414 voice_square_1 0, 2, 0, 0, 15, 0 @ 867A420 voice_square_1 0, 2, 0, 0, 15, 0 @ 867A42C @@ -1590,11 +1590,11 @@ voicegroup_867A438:: @ 867A438 voice_square_1 0, 2, 0, 0, 15, 0 @ 867A450 voice_square_1 0, 2, 0, 0, 15, 0 @ 867A45C voice_square_1 0, 2, 0, 0, 15, 0 @ 867A468 - voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 867A474 + voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 867A474 voice_square_1 0, 2, 0, 0, 15, 0 @ 867A480 - voice_keysplit voicegroup_8677108, KeySplitTable_86B477C @ 867A48C + voice_keysplit voicegroup_8677108, KeySplitTable4 @ 867A48C voice_square_1 0, 2, 0, 0, 15, 0 @ 867A498 - voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 867A4A4 + voice_keysplit voicegroup_8677120, KeySplitTable5 @ 867A4A4 voice_square_1 0, 2, 0, 0, 15, 0 @ 867A4B0 voice_square_1 0, 2, 0, 0, 15, 0 @ 867A4BC voice_square_1 0, 2, 0, 0, 15, 0 @ 867A4C8 @@ -1653,7 +1653,7 @@ voicegroup_867A438:: @ 867A438 .align 2 voicegroup_867A744:: @ 867A744 - voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 867A744 + voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 867A744 voice_keysplit_all voicegroup_8675FEC @ 867A750 voice_square_1 0, 2, 0, 0, 15, 0 @ 867A75C voice_square_1 0, 2, 0, 0, 15, 0 @ 867A768 @@ -1701,7 +1701,7 @@ voicegroup_867A744:: @ 867A744 voice_square_1 0, 2, 0, 0, 15, 0 @ 867A960 voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 246, 0, 235 @ 867A96C voice_square_1 0, 2, 0, 0, 15, 0 @ 867A978 - voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 867A984 + voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 867A984 voice_square_1 0, 2, 0, 0, 15, 0 @ 867A990 voice_square_1 0, 2, 0, 0, 15, 0 @ 867A99C voice_square_1 0, 2, 0, 0, 15, 0 @ 867A9A8 @@ -1709,7 +1709,7 @@ voicegroup_867A744:: @ 867A744 voice_square_1 0, 2, 0, 0, 15, 0 @ 867A9C0 voice_square_1 0, 2, 0, 0, 15, 0 @ 867A9CC voice_square_1 0, 2, 0, 0, 15, 0 @ 867A9D8 - voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 867A9E4 + voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 867A9E4 voice_square_1 0, 2, 0, 0, 15, 0 @ 867A9F0 voice_square_1 0, 2, 0, 0, 15, 0 @ 867A9FC voice_square_1 0, 2, 0, 0, 15, 0 @ 867AA08 @@ -1793,7 +1793,7 @@ voicegroup_867AB70:: @ 867AB70 voice_directsound 60, 0, DirectSoundWaveData_8726EF0, 255, 216, 0, 165 @ 867AD8C voice_square_1 0, 2, 0, 0, 15, 0 @ 867AD98 voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 246, 0, 226 @ 867ADA4 - voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 867ADB0 + voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 867ADB0 voice_square_1 0, 2, 0, 0, 15, 0 @ 867ADBC voice_square_1 0, 2, 0, 0, 15, 0 @ 867ADC8 voice_square_1 0, 2, 0, 0, 15, 0 @ 867ADD4 @@ -1801,11 +1801,11 @@ voicegroup_867AB70:: @ 867AB70 voice_square_1 0, 2, 0, 0, 15, 0 @ 867ADEC voice_square_1 0, 2, 0, 0, 15, 0 @ 867ADF8 voice_square_1 0, 2, 0, 0, 15, 0 @ 867AE04 - voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 867AE10 + voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 867AE10 voice_square_1 0, 2, 0, 0, 15, 0 @ 867AE1C voice_square_1 0, 2, 0, 0, 15, 0 @ 867AE28 voice_square_1 0, 2, 0, 0, 15, 0 @ 867AE34 - voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 867AE40 + voice_keysplit voicegroup_8677120, KeySplitTable5 @ 867AE40 voice_square_1 0, 2, 0, 0, 15, 0 @ 867AE4C voice_square_1 0, 2, 0, 0, 15, 0 @ 867AE58 voice_square_1 0, 2, 0, 0, 15, 0 @ 867AE64 @@ -1895,9 +1895,9 @@ voicegroup_867AFB4:: @ 867AFB4 voice_square_1 0, 2, 0, 0, 15, 0 @ 867B230 voice_square_1 0, 2, 0, 0, 15, 0 @ 867B23C voice_square_1 0, 2, 0, 0, 15, 0 @ 867B248 - voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 867B254 + voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 867B254 voice_square_1 0, 2, 0, 0, 15, 0 @ 867B260 - voice_keysplit voicegroup_8677108, KeySplitTable_86B477C @ 867B26C + voice_keysplit voicegroup_8677108, KeySplitTable4 @ 867B26C voice_square_1 0, 2, 0, 0, 15, 0 @ 867B278 voice_square_1 0, 2, 0, 0, 15, 0 @ 867B284 voice_square_1 0, 2, 0, 0, 15, 0 @ 867B290 @@ -1986,7 +1986,7 @@ voicegroup_867B3A4:: @ 867B3A4 voice_square_1 0, 2, 0, 0, 15, 0 @ 867B650 voice_square_1 0, 2, 0, 0, 15, 0 @ 867B65C voice_square_1 0, 2, 0, 0, 15, 0 @ 867B668 - voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 867B674 + voice_keysplit voicegroup_8677120, KeySplitTable5 @ 867B674 voice_square_1 0, 2, 0, 0, 15, 0 @ 867B680 voice_square_1 0, 2, 0, 0, 15, 0 @ 867B68C voice_square_1 0, 2, 0, 0, 15, 0 @ 867B698 @@ -2015,7 +2015,7 @@ voicegroup_867B3A4:: @ 867B3A4 .align 2 voicegroup_867B7A0:: @ 867B7A0 voice_keysplit_all voicegroup_8675FEC @ 867B7A0 - voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 867B7AC + voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 867B7AC voice_square_1 0, 2, 0, 0, 15, 0 @ 867B7B8 voice_square_1 0, 2, 0, 0, 15, 0 @ 867B7C4 voice_square_1 0, 2, 0, 0, 15, 0 @ 867B7D0 @@ -2201,7 +2201,7 @@ voicegroup_867BDA0:: @ 867BDA0 voice_square_1 0, 2, 0, 0, 15, 0 @ 867C01C voice_square_1 0, 2, 0, 0, 15, 0 @ 867C028 voice_square_1 0, 2, 0, 0, 15, 0 @ 867C034 - voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 867C040 + voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 867C040 voice_square_1 0, 2, 0, 0, 15, 0 @ 867C04C voice_square_1 0, 2, 0, 0, 15, 0 @ 867C058 voice_square_1 0, 2, 0, 0, 15, 0 @ 867C064 @@ -2279,7 +2279,7 @@ voicegroup_867C184:: @ 867C184 voice_directsound 60, 0, DirectSoundWaveData_8726EF0, 255, 216, 0, 165 @ 867C3A0 voice_square_1 0, 2, 0, 0, 15, 0 @ 867C3AC voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 246, 0, 226 @ 867C3B8 - voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 867C3C4 + voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 867C3C4 voice_square_1 0, 2, 0, 0, 15, 0 @ 867C3D0 voice_square_1 0, 2, 0, 0, 15, 0 @ 867C3DC voice_square_1 0, 2, 0, 0, 15, 0 @ 867C3E8 @@ -2287,11 +2287,11 @@ voicegroup_867C184:: @ 867C184 voice_square_1 0, 2, 0, 0, 15, 0 @ 867C400 voice_square_1 0, 2, 0, 0, 15, 0 @ 867C40C voice_square_1 0, 2, 0, 0, 15, 0 @ 867C418 - voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 867C424 + voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 867C424 voice_square_1 0, 2, 0, 0, 15, 0 @ 867C430 voice_square_1 0, 2, 0, 0, 15, 0 @ 867C43C voice_square_1 0, 2, 0, 0, 15, 0 @ 867C448 - voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 867C454 + voice_keysplit voicegroup_8677120, KeySplitTable5 @ 867C454 voice_square_1 0, 2, 0, 0, 15, 0 @ 867C460 voice_square_1 0, 2, 0, 0, 15, 0 @ 867C46C voice_square_1 0, 2, 0, 0, 15, 0 @ 867C478 @@ -2323,7 +2323,7 @@ voicegroup_867C184:: @ 867C184 .align 2 voicegroup_867C5A4:: @ 867C5A4 voice_keysplit_all voicegroup_867C838 @ 867C5A4 - voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 867C5B0 + voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 867C5B0 voice_square_1 0, 2, 0, 0, 15, 0 @ 867C5BC voice_square_1 0, 2, 0, 0, 15, 0 @ 867C5C8 voice_square_1 0, 2, 0, 0, 15, 0 @ 867C5D4 @@ -2385,7 +2385,7 @@ voicegroup_867C838:: @ 867C838 voice_square_1 0, 2, 0, 0, 15, 0 @ 867C850 voice_square_1 0, 2, 0, 0, 15, 0 @ 867C85C voice_square_1 0, 2, 0, 0, 15, 0 @ 867C868 - voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 867C874 + voice_keysplit voicegroup_8677120, KeySplitTable5 @ 867C874 voice_square_1 0, 2, 0, 0, 15, 0 @ 867C880 voice_square_1 0, 2, 0, 0, 15, 0 @ 867C88C voice_square_1 0, 2, 0, 0, 15, 0 @ 867C898 @@ -2449,7 +2449,7 @@ voicegroup_867C838:: @ 867C838 .align 2 voicegroup_867CB44:: @ 867CB44 voice_keysplit_all voicegroup_8678C74 @ 867CB44 - voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 867CB50 + voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 867CB50 voice_square_1 0, 2, 0, 0, 15, 0 @ 867CB5C voice_square_1 0, 2, 0, 0, 15, 0 @ 867CB68 voice_square_1 0, 2, 0, 0, 15, 0 @ 867CB74 @@ -2627,7 +2627,7 @@ voicegroup_867D144:: @ 867D144 voice_square_1 0, 2, 0, 0, 15, 0 @ 867D360 voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 246, 0, 235 @ 867D36C voice_square_1 0, 2, 0, 0, 15, 0 @ 867D378 - voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 867D384 + voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 867D384 voice_square_1 0, 2, 0, 0, 15, 0 @ 867D390 voice_square_1 0, 2, 0, 0, 15, 0 @ 867D39C voice_square_1 0, 2, 0, 0, 15, 0 @ 867D3A8 @@ -2639,7 +2639,7 @@ voicegroup_867D144:: @ 867D144 voice_square_1 0, 2, 0, 0, 15, 0 @ 867D3F0 voice_square_1 0, 2, 0, 0, 15, 0 @ 867D3FC voice_square_1 0, 2, 0, 0, 15, 0 @ 867D408 - voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 867D414 + voice_keysplit voicegroup_8677120, KeySplitTable5 @ 867D414 voice_square_1 0, 2, 0, 0, 15, 0 @ 867D420 voice_square_1 0, 2, 0, 0, 15, 0 @ 867D42C voice_square_1 0, 2, 0, 0, 15, 0 @ 867D438 @@ -2666,7 +2666,7 @@ voicegroup_867D144:: @ 867D144 .align 2 voicegroup_867D528:: @ 867D528 voice_keysplit_all voicegroup_8675FEC @ 867D528 - voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 867D534 + voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 867D534 voice_square_1 0, 2, 0, 0, 15, 0 @ 867D540 voice_square_1 0, 2, 0, 0, 15, 0 @ 867D54C voice_square_2 2, 0, 1, 4, 2 @ 867D558 @@ -2713,7 +2713,7 @@ voicegroup_867D528:: @ 867D528 voice_directsound 60, 0, DirectSoundWaveData_8726EF0, 255, 226, 0, 38 @ 867D744 voice_square_1 0, 2, 0, 0, 15, 0 @ 867D750 voice_square_1 0, 2, 0, 0, 15, 0 @ 867D75C - voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 867D768 + voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 867D768 voice_square_1 0, 2, 0, 0, 15, 0 @ 867D774 voice_square_1 0, 2, 0, 0, 15, 0 @ 867D780 voice_square_1 0, 2, 0, 0, 15, 0 @ 867D78C @@ -2753,7 +2753,7 @@ voicegroup_867D528:: @ 867D528 .align 2 voicegroup_867D918:: @ 867D918 voice_keysplit_all voicegroup_867C838 @ 867D918 - voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 867D924 + voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 867D924 voice_square_1 0, 2, 0, 0, 15, 0 @ 867D930 voice_square_1 0, 2, 0, 0, 15, 0 @ 867D93C voice_square_2_alt 2, 0, 1, 7, 1 @ 867D948 @@ -2800,7 +2800,7 @@ voicegroup_867D918:: @ 867D918 voice_square_1 0, 2, 0, 0, 15, 0 @ 867DB34 voice_square_1 0, 2, 0, 0, 15, 0 @ 867DB40 voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 246, 0, 226 @ 867DB4C - voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 867DB58 + voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 867DB58 voice_square_1 0, 2, 0, 0, 15, 0 @ 867DB64 voice_square_1 0, 2, 0, 0, 15, 0 @ 867DB70 voice_square_1 0, 2, 0, 0, 15, 0 @ 867DB7C @@ -2808,11 +2808,11 @@ voicegroup_867D918:: @ 867D918 voice_square_1 0, 2, 0, 0, 15, 0 @ 867DB94 voice_square_1 0, 2, 0, 0, 15, 0 @ 867DBA0 voice_square_1 0, 2, 0, 0, 15, 0 @ 867DBAC - voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 867DBB8 + voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 867DBB8 voice_square_1 0, 2, 0, 0, 15, 0 @ 867DBC4 voice_square_1 0, 2, 0, 0, 15, 0 @ 867DBD0 voice_square_1 0, 2, 0, 0, 15, 0 @ 867DBDC - voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 867DBE8 + voice_keysplit voicegroup_8677120, KeySplitTable5 @ 867DBE8 voice_square_1 0, 2, 0, 0, 15, 0 @ 867DBF4 voice_square_1 0, 2, 0, 0, 15, 0 @ 867DC00 voice_square_1 0, 2, 0, 0, 15, 0 @ 867DC0C @@ -2888,7 +2888,7 @@ voicegroup_867DD14:: @ 867DD14 voice_directsound 60, 0, DirectSoundWaveData_8726EF0, 255, 216, 0, 165 @ 867DF30 voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 246, 0, 235 @ 867DF3C voice_square_1 0, 2, 0, 0, 15, 0 @ 867DF48 - voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 867DF54 + voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 867DF54 voice_square_1 0, 2, 0, 0, 15, 0 @ 867DF60 voice_square_1 0, 2, 0, 0, 15, 0 @ 867DF6C voice_square_1 0, 2, 0, 0, 15, 0 @ 867DF78 @@ -2900,7 +2900,7 @@ voicegroup_867DD14:: @ 867DD14 voice_square_1 0, 2, 0, 0, 15, 0 @ 867DFC0 voice_square_1 0, 2, 0, 0, 15, 0 @ 867DFCC voice_square_1 0, 2, 0, 0, 15, 0 @ 867DFD8 - voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 867DFE4 + voice_keysplit voicegroup_8677120, KeySplitTable5 @ 867DFE4 voice_square_1 0, 2, 0, 0, 15, 0 @ 867DFF0 voice_square_1 0, 2, 0, 0, 15, 0 @ 867DFFC voice_square_1 0, 2, 0, 0, 15, 0 @ 867E008 @@ -3019,7 +3019,7 @@ voicegroup_867E314:: @ 867E314 voice_square_1 0, 2, 0, 0, 15, 0 @ 867E530 voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 246, 0, 235 @ 867E53C voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 246, 0, 226 @ 867E548 - voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 867E554 + voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 867E554 voice_square_1 0, 2, 0, 0, 15, 0 @ 867E560 voice_square_1 0, 2, 0, 0, 15, 0 @ 867E56C voice_square_1 0, 2, 0, 0, 15, 0 @ 867E578 @@ -3029,9 +3029,9 @@ voicegroup_867E314:: @ 867E314 voice_square_1 0, 2, 0, 0, 15, 0 @ 867E5A8 voice_square_1 0, 2, 0, 0, 15, 0 @ 867E5B4 voice_square_1 0, 2, 0, 0, 15, 0 @ 867E5C0 - voice_keysplit voicegroup_8677108, KeySplitTable_86B477C @ 867E5CC + voice_keysplit voicegroup_8677108, KeySplitTable4 @ 867E5CC voice_square_1 0, 2, 0, 0, 15, 0 @ 867E5D8 - voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 867E5E4 + voice_keysplit voicegroup_8677120, KeySplitTable5 @ 867E5E4 voice_square_1 0, 2, 0, 0, 15, 0 @ 867E5F0 voice_square_1 0, 2, 0, 0, 15, 0 @ 867E5FC voice_square_1 0, 2, 0, 0, 15, 0 @ 867E608 @@ -3196,7 +3196,7 @@ voicegroup_867EB18:: @ 867EB18 voice_square_1 0, 2, 0, 0, 15, 0 @ 867ED34 voice_square_1 0, 2, 0, 0, 15, 0 @ 867ED40 voice_square_1 0, 2, 0, 0, 15, 0 @ 867ED4C - voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 867ED58 + voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 867ED58 voice_square_1 0, 2, 0, 0, 15, 0 @ 867ED64 voice_square_1 0, 2, 0, 0, 15, 0 @ 867ED70 voice_square_1 0, 2, 0, 0, 15, 0 @ 867ED7C @@ -3204,11 +3204,11 @@ voicegroup_867EB18:: @ 867EB18 voice_square_1 0, 2, 0, 0, 15, 0 @ 867ED94 voice_square_1 0, 2, 0, 0, 15, 0 @ 867EDA0 voice_square_1 0, 2, 0, 0, 15, 0 @ 867EDAC - voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 867EDB8 + voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 867EDB8 voice_square_1 0, 2, 0, 0, 15, 0 @ 867EDC4 voice_square_1 0, 2, 0, 0, 15, 0 @ 867EDD0 voice_square_1 0, 2, 0, 0, 15, 0 @ 867EDDC - voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 867EDE8 + voice_keysplit voicegroup_8677120, KeySplitTable5 @ 867EDE8 voice_square_1 0, 2, 0, 0, 15, 0 @ 867EDF4 voice_square_1 0, 2, 0, 0, 15, 0 @ 867EE00 voice_square_1 0, 2, 0, 0, 15, 0 @ 867EE0C @@ -3327,7 +3327,7 @@ voicegroup_867F118:: @ 867F118 voice_square_1 0, 2, 0, 0, 15, 0 @ 867F334 voice_square_1 0, 2, 0, 0, 15, 0 @ 867F340 voice_square_1 0, 2, 0, 0, 15, 0 @ 867F34C - voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 867F358 + voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 867F358 voice_square_1 0, 2, 0, 0, 15, 0 @ 867F364 voice_square_1 0, 2, 0, 0, 15, 0 @ 867F370 voice_square_1 0, 2, 0, 0, 15, 0 @ 867F37C @@ -3335,11 +3335,11 @@ voicegroup_867F118:: @ 867F118 voice_square_1 0, 2, 0, 0, 15, 0 @ 867F394 voice_square_1 0, 2, 0, 0, 15, 0 @ 867F3A0 voice_square_1 0, 2, 0, 0, 15, 0 @ 867F3AC - voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 867F3B8 + voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 867F3B8 voice_square_1 0, 2, 0, 0, 15, 0 @ 867F3C4 voice_square_1 0, 2, 0, 0, 15, 0 @ 867F3D0 voice_square_1 0, 2, 0, 0, 15, 0 @ 867F3DC - voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 867F3E8 + voice_keysplit voicegroup_8677120, KeySplitTable5 @ 867F3E8 voice_square_1 0, 2, 0, 0, 15, 0 @ 867F3F4 voice_square_1 0, 2, 0, 0, 15, 0 @ 867F400 voice_square_1 0, 2, 0, 0, 15, 0 @ 867F40C @@ -3458,7 +3458,7 @@ voicegroup_867F718:: @ 867F718 voice_square_1 0, 2, 0, 0, 15, 0 @ 867F934 voice_square_1 0, 2, 0, 0, 15, 0 @ 867F940 voice_square_1 0, 2, 0, 0, 15, 0 @ 867F94C - voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 867F958 + voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 867F958 voice_square_1 0, 2, 0, 0, 15, 0 @ 867F964 voice_square_1 0, 2, 0, 0, 15, 0 @ 867F970 voice_square_1 0, 2, 0, 0, 15, 0 @ 867F97C @@ -3466,11 +3466,11 @@ voicegroup_867F718:: @ 867F718 voice_square_1 0, 2, 0, 0, 15, 0 @ 867F994 voice_square_1 0, 2, 0, 0, 15, 0 @ 867F9A0 voice_square_1 0, 2, 0, 0, 15, 0 @ 867F9AC - voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 867F9B8 + voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 867F9B8 voice_square_1 0, 2, 0, 0, 15, 0 @ 867F9C4 voice_square_1 0, 2, 0, 0, 15, 0 @ 867F9D0 voice_square_1 0, 2, 0, 0, 15, 0 @ 867F9DC - voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 867F9E8 + voice_keysplit voicegroup_8677120, KeySplitTable5 @ 867F9E8 voice_square_1 0, 2, 0, 0, 15, 0 @ 867F9F4 voice_square_1 0, 2, 0, 0, 15, 0 @ 867FA00 voice_square_1 0, 2, 0, 0, 15, 0 @ 867FA0C @@ -3589,7 +3589,7 @@ voicegroup_867FD18:: @ 867FD18 voice_square_1 0, 2, 0, 0, 15, 0 @ 867FF34 voice_square_1 0, 2, 0, 0, 15, 0 @ 867FF40 voice_square_1 0, 2, 0, 0, 15, 0 @ 867FF4C - voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 867FF58 + voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 867FF58 voice_square_1 0, 2, 0, 0, 15, 0 @ 867FF64 voice_square_1 0, 2, 0, 0, 15, 0 @ 867FF70 voice_square_1 0, 2, 0, 0, 15, 0 @ 867FF7C @@ -3597,11 +3597,11 @@ voicegroup_867FD18:: @ 867FD18 voice_square_1 0, 2, 0, 0, 15, 0 @ 867FF94 voice_square_1 0, 2, 0, 0, 15, 0 @ 867FFA0 voice_square_1 0, 2, 0, 0, 15, 0 @ 867FFAC - voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 867FFB8 + voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 867FFB8 voice_square_1 0, 2, 0, 0, 15, 0 @ 867FFC4 voice_square_1 0, 2, 0, 0, 15, 0 @ 867FFD0 voice_square_1 0, 2, 0, 0, 15, 0 @ 867FFDC - voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 867FFE8 + voice_keysplit voicegroup_8677120, KeySplitTable5 @ 867FFE8 voice_square_1 0, 2, 0, 0, 15, 0 @ 867FFF4 voice_square_1 0, 2, 0, 0, 15, 0 @ 8680000 voice_square_1 0, 2, 0, 0, 15, 0 @ 868000C @@ -3673,7 +3673,7 @@ voicegroup_867FD18:: @ 867FD18 .align 2 voicegroup_8680318:: @ 8680318 voice_square_1 0, 2, 0, 0, 15, 0 @ 8680318 - voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 8680324 + voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 8680324 voice_square_1 0, 2, 0, 0, 15, 0 @ 8680330 voice_square_1 0, 2, 0, 0, 15, 0 @ 868033C voice_square_1 0, 2, 0, 0, 15, 0 @ 8680348 @@ -3720,7 +3720,7 @@ voicegroup_8680318:: @ 8680318 voice_square_1 0, 2, 0, 0, 15, 0 @ 8680534 voice_square_1 0, 2, 0, 0, 15, 0 @ 8680540 voice_square_1 0, 2, 0, 0, 15, 0 @ 868054C - voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 8680558 + voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 8680558 voice_square_1 0, 2, 0, 0, 15, 0 @ 8680564 voice_square_1 0, 2, 0, 0, 15, 0 @ 8680570 voice_square_1 0, 2, 0, 0, 15, 0 @ 868057C @@ -3730,7 +3730,7 @@ voicegroup_8680318:: @ 8680318 voice_square_1 0, 2, 0, 0, 15, 0 @ 86805AC voice_square_1 0, 2, 0, 0, 15, 0 @ 86805B8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86805C4 - voice_keysplit voicegroup_8677108, KeySplitTable_86B477C @ 86805D0 + voice_keysplit voicegroup_8677108, KeySplitTable4 @ 86805D0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86805DC voice_square_1 0, 2, 0, 0, 15, 0 @ 86805E8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86805F4 @@ -3756,7 +3756,7 @@ voicegroup_8680318:: @ 8680318 .align 2 voicegroup_86806E4:: @ 86806E4 - voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 86806E4 + voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 86806E4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86806F0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86806FC voice_square_1 0, 2, 0, 0, 15, 0 @ 8680708 @@ -3804,7 +3804,7 @@ voicegroup_86806E4:: @ 86806E4 voice_directsound 60, 0, DirectSoundWaveData_8726EF0, 255, 226, 0, 38 @ 8680900 voice_square_1 0, 2, 0, 0, 15, 0 @ 868090C voice_square_1 0, 2, 0, 0, 15, 0 @ 8680918 - voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 8680924 + voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 8680924 voice_square_1 0, 2, 0, 0, 15, 0 @ 8680930 voice_square_1 0, 2, 0, 0, 15, 0 @ 868093C voice_square_1 0, 2, 0, 0, 15, 0 @ 8680948 @@ -3850,7 +3850,7 @@ voicegroup_8680AB0:: @ 8680AB0 voice_programmable_wave_alt ProgrammableWaveData_86B4860, 1, 7, 15, 1 @ 8680B04 voice_square_1 0, 2, 0, 0, 15, 0 @ 8680B10 voice_square_1 0, 2, 0, 0, 15, 0 @ 8680B1C - voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 8680B28 + voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 8680B28 voice_square_1 0, 2, 0, 0, 15, 0 @ 8680B34 voice_square_1 0, 2, 0, 0, 15, 0 @ 8680B40 voice_square_1 0, 2, 0, 0, 15, 0 @ 8680B4C @@ -3888,7 +3888,7 @@ voicegroup_8680AB0:: @ 8680AB0 voice_square_1 0, 2, 0, 0, 15, 0 @ 8680CCC voice_square_1 0, 2, 0, 0, 15, 0 @ 8680CD8 voice_square_1 0, 2, 0, 0, 15, 0 @ 8680CE4 - voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 8680CF0 + voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 8680CF0 voice_square_1 0, 2, 0, 0, 15, 0 @ 8680CFC voice_square_1 0, 2, 0, 0, 15, 0 @ 8680D08 voice_square_1 0, 2, 0, 0, 15, 0 @ 8680D14 @@ -3971,7 +3971,7 @@ voicegroup_8680AB0:: @ 8680AB0 .align 2 voicegroup_86810B0:: @ 86810B0 - voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 86810B0 + voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 86810B0 voice_programmable_wave_alt ProgrammableWaveData_86B4900, 0, 1, 12, 0 @ 86810BC voice_square_1_alt 0, 0, 1, 1, 9, 0 @ 86810C8 voice_square_2_alt 2, 0, 2, 6, 3 @ 86810D4 @@ -4019,7 +4019,7 @@ voicegroup_86810B0:: @ 86810B0 voice_directsound 60, 0, DirectSoundWaveData_8726EF0, 255, 226, 0, 165 @ 86812CC voice_square_1 0, 2, 0, 0, 15, 0 @ 86812D8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86812E4 - voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 86812F0 + voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 86812F0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86812FC voice_square_1 0, 2, 0, 0, 15, 0 @ 8681308 voice_square_1 0, 2, 0, 0, 15, 0 @ 8681314 @@ -4150,7 +4150,7 @@ voicegroup_86816B0:: @ 86816B0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86818CC voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 242, 0, 204 @ 86818D8 voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 204, 193, 239 @ 86818E4 - voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 86818F0 + voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 86818F0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86818FC voice_square_1 0, 2, 0, 0, 15, 0 @ 8681908 voice_square_1 0, 2, 0, 0, 15, 0 @ 8681914 @@ -4158,11 +4158,11 @@ voicegroup_86816B0:: @ 86816B0 voice_square_1 0, 2, 0, 0, 15, 0 @ 868192C voice_square_1 0, 2, 0, 0, 15, 0 @ 8681938 voice_square_1 0, 2, 0, 0, 15, 0 @ 8681944 - voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 8681950 + voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 8681950 voice_square_1 0, 2, 0, 0, 15, 0 @ 868195C - voice_keysplit voicegroup_8677108, KeySplitTable_86B477C @ 8681968 + voice_keysplit voicegroup_8677108, KeySplitTable4 @ 8681968 voice_square_1 0, 2, 0, 0, 15, 0 @ 8681974 - voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 8681980 + voice_keysplit voicegroup_8677120, KeySplitTable5 @ 8681980 voice_square_1 0, 2, 0, 0, 15, 0 @ 868198C voice_square_1 0, 2, 0, 0, 15, 0 @ 8681998 voice_square_1 0, 2, 0, 0, 15, 0 @ 86819A4 @@ -4281,7 +4281,7 @@ voicegroup_8681CB0:: @ 8681CB0 voice_square_1 0, 2, 0, 0, 15, 0 @ 8681ECC voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 242, 0, 242 @ 8681ED8 voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 0, 193, 239 @ 8681EE4 - voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 8681EF0 + voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 8681EF0 voice_square_1 0, 2, 0, 0, 15, 0 @ 8681EFC voice_square_1 0, 2, 0, 0, 15, 0 @ 8681F08 voice_square_1 0, 2, 0, 0, 15, 0 @ 8681F14 @@ -4289,11 +4289,11 @@ voicegroup_8681CB0:: @ 8681CB0 voice_square_1 0, 2, 0, 0, 15, 0 @ 8681F2C voice_square_1 0, 2, 0, 0, 15, 0 @ 8681F38 voice_square_1 0, 2, 0, 0, 15, 0 @ 8681F44 - voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 8681F50 + voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 8681F50 voice_square_1 0, 2, 0, 0, 15, 0 @ 8681F5C - voice_keysplit voicegroup_8677108, KeySplitTable_86B477C @ 8681F68 + voice_keysplit voicegroup_8677108, KeySplitTable4 @ 8681F68 voice_square_1 0, 2, 0, 0, 15, 0 @ 8681F74 - voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 8681F80 + voice_keysplit voicegroup_8677120, KeySplitTable5 @ 8681F80 voice_square_1 0, 2, 0, 0, 15, 0 @ 8681F8C voice_square_1 0, 2, 0, 0, 15, 0 @ 8681F98 voice_square_1 0, 2, 0, 0, 15, 0 @ 8681FA4 @@ -4325,7 +4325,7 @@ voicegroup_8681CB0:: @ 8681CB0 .align 2 voicegroup_86820D0:: @ 86820D0 voice_keysplit_all voicegroup_8675FEC @ 86820D0 - voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 86820DC + voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 86820DC voice_square_1 0, 2, 0, 0, 15, 0 @ 86820E8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86820F4 voice_square_1 0, 2, 0, 0, 15, 0 @ 8682100 @@ -4372,7 +4372,7 @@ voicegroup_86820D0:: @ 86820D0 voice_directsound 60, 0, DirectSoundWaveData_8726EF0, 255, 226, 0, 38 @ 86822EC voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 242, 0, 242 @ 86822F8 voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 0, 193, 226 @ 8682304 - voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 8682310 + voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 8682310 voice_square_1 0, 2, 0, 0, 15, 0 @ 868231C voice_square_1 0, 2, 0, 0, 15, 0 @ 8682328 voice_square_1 0, 2, 0, 0, 15, 0 @ 8682334 @@ -4380,11 +4380,11 @@ voicegroup_86820D0:: @ 86820D0 voice_square_1 0, 2, 0, 0, 15, 0 @ 868234C voice_square_1 0, 2, 0, 0, 15, 0 @ 8682358 voice_square_1 0, 2, 0, 0, 15, 0 @ 8682364 - voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 8682370 + voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 8682370 voice_square_1 0, 2, 0, 0, 15, 0 @ 868237C voice_square_1 0, 2, 0, 0, 15, 0 @ 8682388 voice_square_1 0, 2, 0, 0, 15, 0 @ 8682394 - voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 86823A0 + voice_keysplit voicegroup_8677120, KeySplitTable5 @ 86823A0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86823AC voice_square_1 0, 2, 0, 0, 15, 0 @ 86823B8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86823C4 @@ -4456,7 +4456,7 @@ voicegroup_86820D0:: @ 86820D0 .align 2 voicegroup_86826D0:: @ 86826D0 voice_keysplit_all voicegroup_8675FEC @ 86826D0 - voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 86826DC + voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 86826DC voice_square_1 0, 2, 0, 0, 15, 0 @ 86826E8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86826F4 voice_square_1 0, 2, 0, 0, 15, 0 @ 8682700 @@ -4587,7 +4587,7 @@ voicegroup_86826D0:: @ 86826D0 .align 2 voicegroup_8682CD0:: @ 8682CD0 voice_keysplit_all voicegroup_8675FEC @ 8682CD0 - voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 8682CDC + voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 8682CDC voice_square_1 0, 2, 0, 0, 15, 0 @ 8682CE8 voice_square_1 0, 2, 0, 0, 15, 0 @ 8682CF4 voice_square_2_alt 2, 1, 4, 4, 2 @ 8682D00 @@ -4634,7 +4634,7 @@ voicegroup_8682CD0:: @ 8682CD0 voice_directsound 60, 0, DirectSoundWaveData_8726EF0, 255, 226, 0, 99 @ 8682EEC voice_square_1 0, 2, 0, 0, 15, 0 @ 8682EF8 voice_square_1 0, 2, 0, 0, 15, 0 @ 8682F04 - voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 8682F10 + voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 8682F10 voice_square_1 0, 2, 0, 0, 15, 0 @ 8682F1C voice_square_1 0, 2, 0, 0, 15, 0 @ 8682F28 voice_square_1 0, 2, 0, 0, 15, 0 @ 8682F34 @@ -4711,7 +4711,7 @@ voicegroup_8683048:: @ 8683048 voice_square_1 0, 2, 0, 0, 15, 0 @ 8683264 voice_square_1 0, 2, 0, 0, 15, 0 @ 8683270 voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 0, 193, 226 @ 868327C - voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 8683288 + voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 8683288 voice_square_1 0, 2, 0, 0, 15, 0 @ 8683294 voice_square_1 0, 2, 0, 0, 15, 0 @ 86832A0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86832AC @@ -4719,11 +4719,11 @@ voicegroup_8683048:: @ 8683048 voice_square_1 0, 2, 0, 0, 15, 0 @ 86832C4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86832D0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86832DC - voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 86832E8 + voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 86832E8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86832F4 - voice_keysplit voicegroup_8677108, KeySplitTable_86B477C @ 8683300 + voice_keysplit voicegroup_8677108, KeySplitTable4 @ 8683300 voice_square_1 0, 2, 0, 0, 15, 0 @ 868330C - voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 8683318 + voice_keysplit voicegroup_8677120, KeySplitTable5 @ 8683318 voice_square_1 0, 2, 0, 0, 15, 0 @ 8683324 voice_square_1 0, 2, 0, 0, 15, 0 @ 8683330 voice_square_1 0, 2, 0, 0, 15, 0 @ 868333C @@ -4795,7 +4795,7 @@ voicegroup_8683048:: @ 8683048 .align 2 voicegroup_8683648:: @ 8683648 voice_keysplit_all voicegroup_8675FEC @ 8683648 - voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 8683654 + voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 8683654 voice_square_1 0, 2, 0, 0, 15, 0 @ 8683660 voice_square_1 0, 2, 0, 0, 15, 0 @ 868366C voice_square_1 0, 2, 0, 0, 15, 0 @ 8683678 @@ -4842,7 +4842,7 @@ voicegroup_8683648:: @ 8683648 voice_directsound 60, 0, DirectSoundWaveData_8726EF0, 255, 226, 0, 38 @ 8683864 voice_square_1 0, 2, 0, 0, 15, 0 @ 8683870 voice_square_1 0, 2, 0, 0, 15, 0 @ 868387C - voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 8683888 + voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 8683888 voice_square_1 0, 2, 0, 0, 15, 0 @ 8683894 voice_square_1 0, 2, 0, 0, 15, 0 @ 86838A0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86838AC @@ -4973,7 +4973,7 @@ voicegroup_8683C48:: @ 8683C48 voice_directsound 60, 0, DirectSoundWaveData_8726EF0, 255, 226, 0, 38 @ 8683E64 voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 242, 0, 242 @ 8683E70 voice_square_1 0, 2, 0, 0, 15, 0 @ 8683E7C - voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 8683E88 + voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 8683E88 voice_square_1 0, 2, 0, 0, 15, 0 @ 8683E94 voice_square_1 0, 2, 0, 0, 15, 0 @ 8683EA0 voice_square_1 0, 2, 0, 0, 15, 0 @ 8683EAC @@ -4983,9 +4983,9 @@ voicegroup_8683C48:: @ 8683C48 voice_square_1 0, 2, 0, 0, 15, 0 @ 8683EDC voice_square_1 0, 2, 0, 0, 15, 0 @ 8683EE8 voice_square_1 0, 2, 0, 0, 15, 0 @ 8683EF4 - voice_keysplit voicegroup_8677108, KeySplitTable_86B477C @ 8683F00 + voice_keysplit voicegroup_8677108, KeySplitTable4 @ 8683F00 voice_square_1 0, 2, 0, 0, 15, 0 @ 8683F0C - voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 8683F18 + voice_keysplit voicegroup_8677120, KeySplitTable5 @ 8683F18 voice_square_1 0, 2, 0, 0, 15, 0 @ 8683F24 voice_square_1 0, 2, 0, 0, 15, 0 @ 8683F30 voice_square_1 0, 2, 0, 0, 15, 0 @ 8683F3C @@ -5104,7 +5104,7 @@ voicegroup_8684248:: @ 8684248 voice_square_1 0, 2, 0, 0, 15, 0 @ 8684464 voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 242, 0, 204 @ 8684470 voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 204, 193, 239 @ 868447C - voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 8684488 + voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 8684488 voice_square_1 0, 2, 0, 0, 15, 0 @ 8684494 voice_square_1 0, 2, 0, 0, 15, 0 @ 86844A0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86844AC @@ -5112,11 +5112,11 @@ voicegroup_8684248:: @ 8684248 voice_square_1 0, 2, 0, 0, 15, 0 @ 86844C4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86844D0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86844DC - voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 86844E8 + voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 86844E8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86844F4 - voice_keysplit voicegroup_8677108, KeySplitTable_86B477C @ 8684500 + voice_keysplit voicegroup_8677108, KeySplitTable4 @ 8684500 voice_square_1 0, 2, 0, 0, 15, 0 @ 868450C - voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 8684518 + voice_keysplit voicegroup_8677120, KeySplitTable5 @ 8684518 voice_square_1 0, 2, 0, 0, 15, 0 @ 8684524 voice_square_1 0, 2, 0, 0, 15, 0 @ 8684530 voice_square_1 0, 2, 0, 0, 15, 0 @ 868453C @@ -5235,7 +5235,7 @@ voicegroup_8684848:: @ 8684848 voice_square_1 0, 2, 0, 0, 15, 0 @ 8684A64 voice_square_1 0, 2, 0, 0, 15, 0 @ 8684A70 voice_square_1 0, 2, 0, 0, 15, 0 @ 8684A7C - voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 8684A88 + voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 8684A88 voice_square_1 0, 2, 0, 0, 15, 0 @ 8684A94 voice_square_1 0, 2, 0, 0, 15, 0 @ 8684AA0 voice_square_1 0, 2, 0, 0, 15, 0 @ 8684AAC @@ -5247,7 +5247,7 @@ voicegroup_8684848:: @ 8684848 voice_square_1 0, 2, 0, 0, 15, 0 @ 8684AF4 voice_square_1 0, 2, 0, 0, 15, 0 @ 8684B00 voice_square_1 0, 2, 0, 0, 15, 0 @ 8684B0C - voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 8684B18 + voice_keysplit voicegroup_8677120, KeySplitTable5 @ 8684B18 voice_square_1 0, 2, 0, 0, 15, 0 @ 8684B24 voice_square_1 0, 2, 0, 0, 15, 0 @ 8684B30 voice_square_1 0, 2, 0, 0, 15, 0 @ 8684B3C @@ -5366,7 +5366,7 @@ voicegroup_8684E48:: @ 8684E48 voice_directsound 60, 0, DirectSoundWaveData_8726EF0, 255, 226, 0, 38 @ 8685064 voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 242, 0, 242 @ 8685070 voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 0, 193, 226 @ 868507C - voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 8685088 + voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 8685088 voice_square_1 0, 2, 0, 0, 15, 0 @ 8685094 voice_square_1 0, 2, 0, 0, 15, 0 @ 86850A0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86850AC @@ -5505,9 +5505,9 @@ voicegroup_8685448:: @ 8685448 voice_square_1 0, 2, 0, 0, 15, 0 @ 86856C4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86856D0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86856DC - voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 86856E8 + voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 86856E8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86856F4 - voice_keysplit voicegroup_8677108, KeySplitTable_86B477C @ 8685700 + voice_keysplit voicegroup_8677108, KeySplitTable4 @ 8685700 voice_square_1 0, 2, 0, 0, 15, 0 @ 868570C voice_square_1 0, 2, 0, 0, 15, 0 @ 8685718 voice_square_1 0, 2, 0, 0, 15, 0 @ 8685724 @@ -5581,7 +5581,7 @@ voicegroup_8685448:: @ 8685448 .align 2 voicegroup_8685A48:: @ 8685A48 voice_keysplit_all voicegroup_8675FEC @ 8685A48 - voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 8685A54 + voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 8685A54 voice_square_1 0, 2, 0, 0, 15, 0 @ 8685A60 voice_square_1 0, 2, 0, 0, 15, 0 @ 8685A6C voice_square_2_alt 1, 1, 1, 6, 2 @ 8685A78 @@ -5628,7 +5628,7 @@ voicegroup_8685A48:: @ 8685A48 voice_square_1 0, 2, 0, 0, 15, 0 @ 8685C64 voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 242, 51, 242 @ 8685C70 voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 0, 180, 239 @ 8685C7C - voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 8685C88 + voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 8685C88 voice_square_1 0, 2, 0, 0, 15, 0 @ 8685C94 voice_square_1 0, 2, 0, 0, 15, 0 @ 8685CA0 voice_square_1 0, 2, 0, 0, 15, 0 @ 8685CAC @@ -5636,11 +5636,11 @@ voicegroup_8685A48:: @ 8685A48 voice_square_1 0, 2, 0, 0, 15, 0 @ 8685CC4 voice_square_1 0, 2, 0, 0, 15, 0 @ 8685CD0 voice_square_1 0, 2, 0, 0, 15, 0 @ 8685CDC - voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 8685CE8 + voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 8685CE8 voice_square_1 0, 2, 0, 0, 15, 0 @ 8685CF4 - voice_keysplit voicegroup_8677108, KeySplitTable_86B477C @ 8685D00 + voice_keysplit voicegroup_8677108, KeySplitTable4 @ 8685D00 voice_square_1 0, 2, 0, 0, 15, 0 @ 8685D0C - voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 8685D18 + voice_keysplit voicegroup_8677120, KeySplitTable5 @ 8685D18 voice_square_1 0, 2, 0, 0, 15, 0 @ 8685D24 voice_square_1 0, 2, 0, 0, 15, 0 @ 8685D30 voice_square_1 0, 2, 0, 0, 15, 0 @ 8685D3C @@ -5673,7 +5673,7 @@ voicegroup_8685A48:: @ 8685A48 .align 2 voicegroup_8685E74:: @ 8685E74 voice_keysplit_all voicegroup_8675FEC @ 8685E74 - voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 8685E80 + voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 8685E80 voice_square_1 0, 2, 0, 0, 15, 0 @ 8685E8C voice_square_1 0, 2, 0, 0, 15, 0 @ 8685E98 voice_square_1 0, 2, 0, 0, 15, 0 @ 8685EA4 @@ -5720,7 +5720,7 @@ voicegroup_8685E74:: @ 8685E74 voice_directsound 60, 0, DirectSoundWaveData_8726EF0, 128, 226, 0, 38 @ 8686090 voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 242, 51, 242 @ 868609C voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 0, 180, 246 @ 86860A8 - voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 86860B4 + voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 86860B4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86860C0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86860CC voice_square_1 0, 2, 0, 0, 15, 0 @ 86860D8 @@ -5728,11 +5728,11 @@ voicegroup_8685E74:: @ 8685E74 voice_square_1 0, 2, 0, 0, 15, 0 @ 86860F0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86860FC voice_square_1 0, 2, 0, 0, 15, 0 @ 8686108 - voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 8686114 + voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 8686114 voice_square_1 0, 2, 0, 0, 15, 0 @ 8686120 - voice_keysplit voicegroup_8677108, KeySplitTable_86B477C @ 868612C + voice_keysplit voicegroup_8677108, KeySplitTable4 @ 868612C voice_square_1 0, 2, 0, 0, 15, 0 @ 8686138 - voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 8686144 + voice_keysplit voicegroup_8677120, KeySplitTable5 @ 8686144 voice_square_1 0, 2, 0, 0, 15, 0 @ 8686150 voice_square_1 0, 2, 0, 0, 15, 0 @ 868615C voice_square_1 0, 2, 0, 0, 15, 0 @ 8686168 @@ -5859,7 +5859,7 @@ voicegroup_8686474:: @ 8686474 voice_square_1 0, 2, 0, 0, 15, 0 @ 86866F0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86866FC voice_square_1 0, 2, 0, 0, 15, 0 @ 8686708 - voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 8686714 + voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 8686714 voice_square_1 0, 2, 0, 0, 15, 0 @ 8686720 voice_square_1 0, 2, 0, 0, 15, 0 @ 868672C voice_square_1 0, 2, 0, 0, 15, 0 @ 8686738 @@ -5990,7 +5990,7 @@ voicegroup_8686A74:: @ 8686A74 voice_square_1 0, 2, 0, 0, 15, 0 @ 8686CF0 voice_square_1 0, 2, 0, 0, 15, 0 @ 8686CFC voice_square_1 0, 2, 0, 0, 15, 0 @ 8686D08 - voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 8686D14 + voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 8686D14 voice_square_1 0, 2, 0, 0, 15, 0 @ 8686D20 voice_square_1 0, 2, 0, 0, 15, 0 @ 8686D2C voice_square_1 0, 2, 0, 0, 15, 0 @ 8686D38 @@ -6121,7 +6121,7 @@ voicegroup_8687074:: @ 8687074 voice_square_1 0, 2, 0, 0, 15, 0 @ 86872F0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86872FC voice_square_1 0, 2, 0, 0, 15, 0 @ 8687308 - voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 8687314 + voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 8687314 voice_square_1 0, 2, 0, 0, 15, 0 @ 8687320 voice_square_1 0, 2, 0, 0, 15, 0 @ 868732C voice_square_1 0, 2, 0, 0, 15, 0 @ 8687338 @@ -6244,7 +6244,7 @@ voicegroup_8687674:: @ 8687674 voice_square_1 0, 2, 0, 0, 15, 0 @ 8687890 voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 242, 51, 242 @ 868789C voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 0, 180, 246 @ 86878A8 - voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 86878B4 + voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 86878B4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86878C0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86878CC voice_square_1 0, 2, 0, 0, 15, 0 @ 86878D8 @@ -6256,7 +6256,7 @@ voicegroup_8687674:: @ 8687674 voice_square_1 0, 2, 0, 0, 15, 0 @ 8687920 voice_square_1 0, 2, 0, 0, 15, 0 @ 868792C voice_square_1 0, 2, 0, 0, 15, 0 @ 8687938 - voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 8687944 + voice_keysplit voicegroup_8677120, KeySplitTable5 @ 8687944 voice_square_1 0, 2, 0, 0, 15, 0 @ 8687950 voice_square_1 0, 2, 0, 0, 15, 0 @ 868795C voice_square_1 0, 2, 0, 0, 15, 0 @ 8687968 @@ -6328,7 +6328,7 @@ voicegroup_8687674:: @ 8687674 .align 2 voicegroup_8687C74:: @ 8687C74 voice_keysplit_all voicegroup_8675FEC @ 8687C74 - voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 8687C80 + voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 8687C80 voice_square_1 0, 2, 0, 0, 15, 0 @ 8687C8C voice_square_1 0, 2, 0, 0, 15, 0 @ 8687C98 voice_square_1 0, 2, 0, 0, 15, 0 @ 8687CA4 @@ -6383,7 +6383,7 @@ voicegroup_8687C74:: @ 8687C74 voice_square_1 0, 2, 0, 0, 15, 0 @ 8687EF0 voice_square_1 0, 2, 0, 0, 15, 0 @ 8687EFC voice_square_1 0, 2, 0, 0, 15, 0 @ 8687F08 - voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 8687F14 + voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 8687F14 voice_square_1 0, 2, 0, 0, 15, 0 @ 8687F20 voice_square_1 0, 2, 0, 0, 15, 0 @ 8687F2C voice_square_1 0, 2, 0, 0, 15, 0 @ 8687F38 @@ -6590,7 +6590,7 @@ voicegroup_8688274:: @ 8688274 .align 2 voicegroup_8688874:: @ 8688874 voice_keysplit_all voicegroup_8675FEC @ 8688874 - voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 8688880 + voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 8688880 voice_square_1 0, 2, 0, 0, 15, 0 @ 868888C voice_square_1 0, 2, 0, 0, 15, 0 @ 8688898 voice_square_1 0, 2, 0, 0, 15, 0 @ 86888A4 @@ -6645,7 +6645,7 @@ voicegroup_8688874:: @ 8688874 voice_square_1 0, 2, 0, 0, 15, 0 @ 8688AF0 voice_square_1 0, 2, 0, 0, 15, 0 @ 8688AFC voice_square_1 0, 2, 0, 0, 15, 0 @ 8688B08 - voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 8688B14 + voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 8688B14 voice_square_1 0, 2, 0, 0, 15, 0 @ 8688B20 voice_square_1 0, 2, 0, 0, 15, 0 @ 8688B2C voice_square_1 0, 2, 0, 0, 15, 0 @ 8688B38 @@ -6721,7 +6721,7 @@ voicegroup_8688874:: @ 8688874 .align 2 voicegroup_8688E74:: @ 8688E74 voice_keysplit_all voicegroup_8675FEC @ 8688E74 - voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 8688E80 + voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 8688E80 voice_square_1 0, 2, 0, 0, 15, 0 @ 8688E8C voice_square_1 0, 2, 0, 0, 15, 0 @ 8688E98 voice_square_1 0, 2, 0, 0, 15, 0 @ 8688EA4 @@ -6776,7 +6776,7 @@ voicegroup_8688E74:: @ 8688E74 voice_square_1 0, 2, 0, 0, 15, 0 @ 86890F0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86890FC voice_square_1 0, 2, 0, 0, 15, 0 @ 8689108 - voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 8689114 + voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 8689114 voice_square_1 0, 2, 0, 0, 15, 0 @ 8689120 voice_square_1 0, 2, 0, 0, 15, 0 @ 868912C voice_square_1 0, 2, 0, 0, 15, 0 @ 8689138 @@ -6899,7 +6899,7 @@ voicegroup_8689474:: @ 8689474 voice_directsound 60, 0, DirectSoundWaveData_8726EF0, 255, 226, 0, 38 @ 8689690 voice_square_1 0, 2, 0, 0, 15, 0 @ 868969C voice_square_1 0, 2, 0, 0, 15, 0 @ 86896A8 - voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 86896B4 + voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 86896B4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86896C0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86896CC voice_square_1 0, 2, 0, 0, 15, 0 @ 86896D8 @@ -6909,7 +6909,7 @@ voicegroup_8689474:: @ 8689474 voice_square_1 0, 2, 0, 0, 15, 0 @ 8689708 voice_square_1 0, 2, 0, 0, 15, 0 @ 8689714 voice_square_1 0, 2, 0, 0, 15, 0 @ 8689720 - voice_keysplit voicegroup_8677108, KeySplitTable_86B477C @ 868972C + voice_keysplit voicegroup_8677108, KeySplitTable4 @ 868972C voice_square_1 0, 2, 0, 0, 15, 0 @ 8689738 voice_square_1 0, 2, 0, 0, 15, 0 @ 8689744 voice_square_1 0, 2, 0, 0, 15, 0 @ 8689750 @@ -7030,7 +7030,7 @@ voicegroup_8689A74:: @ 8689A74 voice_square_1 0, 2, 0, 0, 15, 0 @ 8689C90 voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 242, 51, 242 @ 8689C9C voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 0, 180, 246 @ 8689CA8 - voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 8689CB4 + voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 8689CB4 voice_square_1 0, 2, 0, 0, 15, 0 @ 8689CC0 voice_square_1 0, 2, 0, 0, 15, 0 @ 8689CCC voice_square_1 0, 2, 0, 0, 15, 0 @ 8689CD8 @@ -7038,7 +7038,7 @@ voicegroup_8689A74:: @ 8689A74 voice_square_1 0, 2, 0, 0, 15, 0 @ 8689CF0 voice_square_1 0, 2, 0, 0, 15, 0 @ 8689CFC voice_square_1 0, 2, 0, 0, 15, 0 @ 8689D08 - voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 8689D14 + voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 8689D14 voice_square_1 0, 2, 0, 0, 15, 0 @ 8689D20 voice_square_1 0, 2, 0, 0, 15, 0 @ 8689D2C voice_square_1 0, 2, 0, 0, 15, 0 @ 8689D38 @@ -7169,11 +7169,11 @@ voicegroup_868A074:: @ 868A074 voice_square_1 0, 2, 0, 0, 15, 0 @ 868A2F0 voice_square_1 0, 2, 0, 0, 15, 0 @ 868A2FC voice_square_1 0, 2, 0, 0, 15, 0 @ 868A308 - voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 868A314 + voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 868A314 voice_square_1 0, 2, 0, 0, 15, 0 @ 868A320 - voice_keysplit voicegroup_8677108, KeySplitTable_86B477C @ 868A32C + voice_keysplit voicegroup_8677108, KeySplitTable4 @ 868A32C voice_square_1 0, 2, 0, 0, 15, 0 @ 868A338 - voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 868A344 + voice_keysplit voicegroup_8677120, KeySplitTable5 @ 868A344 voice_square_1 0, 2, 0, 0, 15, 0 @ 868A350 voice_square_1 0, 2, 0, 0, 15, 0 @ 868A35C voice_square_1 0, 2, 0, 0, 15, 0 @ 868A368 @@ -7245,7 +7245,7 @@ voicegroup_868A074:: @ 868A074 .align 2 voicegroup_868A674:: @ 868A674 voice_keysplit_all voicegroup_8675FEC @ 868A674 - voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 868A680 + voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 868A680 voice_square_1 0, 2, 0, 0, 15, 0 @ 868A68C voice_square_1 0, 2, 0, 0, 15, 0 @ 868A698 voice_square_1 0, 2, 0, 0, 15, 0 @ 868A6A4 @@ -7292,7 +7292,7 @@ voicegroup_868A674:: @ 868A674 voice_square_1 0, 2, 0, 0, 15, 0 @ 868A890 voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 242, 51, 242 @ 868A89C voice_square_1 0, 2, 0, 0, 15, 0 @ 868A8A8 - voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 868A8B4 + voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 868A8B4 voice_square_1 0, 2, 0, 0, 15, 0 @ 868A8C0 voice_square_1 0, 2, 0, 0, 15, 0 @ 868A8CC voice_square_1 0, 2, 0, 0, 15, 0 @ 868A8D8 @@ -7300,11 +7300,11 @@ voicegroup_868A674:: @ 868A674 voice_square_1 0, 2, 0, 0, 15, 0 @ 868A8F0 voice_square_1 0, 2, 0, 0, 15, 0 @ 868A8FC voice_square_1 0, 2, 0, 0, 15, 0 @ 868A908 - voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 868A914 + voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 868A914 voice_square_1 0, 2, 0, 0, 15, 0 @ 868A920 voice_square_1 0, 2, 0, 0, 15, 0 @ 868A92C voice_square_1 0, 2, 0, 0, 15, 0 @ 868A938 - voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 868A944 + voice_keysplit voicegroup_8677120, KeySplitTable5 @ 868A944 voice_square_1 0, 2, 0, 0, 15, 0 @ 868A950 voice_square_1 0, 2, 0, 0, 15, 0 @ 868A95C voice_square_1 0, 2, 0, 0, 15, 0 @ 868A968 @@ -7376,7 +7376,7 @@ voicegroup_868A674:: @ 868A674 .align 2 voicegroup_868AC74:: @ 868AC74 voice_keysplit_all voicegroup_8675FEC @ 868AC74 - voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 868AC80 + voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 868AC80 voice_square_1 0, 2, 0, 0, 15, 0 @ 868AC8C voice_square_1 0, 2, 0, 0, 15, 0 @ 868AC98 voice_square_1 0, 2, 0, 0, 15, 0 @ 868ACA4 @@ -7423,7 +7423,7 @@ voicegroup_868AC74:: @ 868AC74 voice_square_1 0, 2, 0, 0, 15, 0 @ 868AE90 voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 242, 51, 242 @ 868AE9C voice_square_1 0, 2, 0, 0, 15, 0 @ 868AEA8 - voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 868AEB4 + voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 868AEB4 voice_square_1 0, 2, 0, 0, 15, 0 @ 868AEC0 voice_square_1 0, 2, 0, 0, 15, 0 @ 868AECC voice_square_1 0, 2, 0, 0, 15, 0 @ 868AED8 @@ -7431,11 +7431,11 @@ voicegroup_868AC74:: @ 868AC74 voice_square_1 0, 2, 0, 0, 15, 0 @ 868AEF0 voice_square_1 0, 2, 0, 0, 15, 0 @ 868AEFC voice_square_1 0, 2, 0, 0, 15, 0 @ 868AF08 - voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 868AF14 + voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 868AF14 voice_square_1 0, 2, 0, 0, 15, 0 @ 868AF20 voice_square_1 0, 2, 0, 0, 15, 0 @ 868AF2C voice_square_1 0, 2, 0, 0, 15, 0 @ 868AF38 - voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 868AF44 + voice_keysplit voicegroup_8677120, KeySplitTable5 @ 868AF44 voice_square_1 0, 2, 0, 0, 15, 0 @ 868AF50 voice_square_1 0, 2, 0, 0, 15, 0 @ 868AF5C voice_square_1 0, 2, 0, 0, 15, 0 @ 868AF68 @@ -7638,7 +7638,7 @@ voicegroup_868B274:: @ 868B274 .align 2 voicegroup_868B874:: @ 868B874 voice_keysplit_all voicegroup_8675FEC @ 868B874 - voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 868B880 + voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 868B880 voice_square_1 0, 2, 0, 0, 15, 0 @ 868B88C voice_square_1 0, 2, 0, 0, 15, 0 @ 868B898 voice_square_1 0, 2, 0, 0, 15, 0 @ 868B8A4 @@ -7685,7 +7685,7 @@ voicegroup_868B874:: @ 868B874 voice_square_1 0, 2, 0, 0, 15, 0 @ 868BA90 voice_square_1 0, 2, 0, 0, 15, 0 @ 868BA9C voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 0, 180, 246 @ 868BAA8 - voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 868BAB4 + voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 868BAB4 voice_square_1 0, 2, 0, 0, 15, 0 @ 868BAC0 voice_square_1 0, 2, 0, 0, 15, 0 @ 868BACC voice_square_1 0, 2, 0, 0, 15, 0 @ 868BAD8 @@ -7693,11 +7693,11 @@ voicegroup_868B874:: @ 868B874 voice_square_1 0, 2, 0, 0, 15, 0 @ 868BAF0 voice_square_1 0, 2, 0, 0, 15, 0 @ 868BAFC voice_square_1 0, 2, 0, 0, 15, 0 @ 868BB08 - voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 868BB14 + voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 868BB14 voice_square_1 0, 2, 0, 0, 15, 0 @ 868BB20 - voice_keysplit voicegroup_8677108, KeySplitTable_86B477C @ 868BB2C + voice_keysplit voicegroup_8677108, KeySplitTable4 @ 868BB2C voice_square_1 0, 2, 0, 0, 15, 0 @ 868BB38 - voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 868BB44 + voice_keysplit voicegroup_8677120, KeySplitTable5 @ 868BB44 voice_square_1 0, 2, 0, 0, 15, 0 @ 868BB50 voice_square_1 0, 2, 0, 0, 15, 0 @ 868BB5C voice_square_1 0, 2, 0, 0, 15, 0 @ 868BB68 @@ -7824,7 +7824,7 @@ voicegroup_868BE74:: @ 868BE74 voice_square_1 0, 2, 0, 0, 15, 0 @ 868C0F0 voice_square_1 0, 2, 0, 0, 15, 0 @ 868C0FC voice_square_1 0, 2, 0, 0, 15, 0 @ 868C108 - voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 868C114 + voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 868C114 voice_square_1 0, 2, 0, 0, 15, 0 @ 868C120 voice_square_1 0, 2, 0, 0, 15, 0 @ 868C12C voice_square_1 0, 2, 0, 0, 15, 0 @ 868C138 @@ -7947,7 +7947,7 @@ voicegroup_868C474:: @ 868C474 voice_square_1 0, 2, 0, 0, 15, 0 @ 868C690 voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 242, 51, 242 @ 868C69C voice_square_1 0, 2, 0, 0, 15, 0 @ 868C6A8 - voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 868C6B4 + voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 868C6B4 voice_square_1 0, 2, 0, 0, 15, 0 @ 868C6C0 voice_square_1 0, 2, 0, 0, 15, 0 @ 868C6CC voice_square_1 0, 2, 0, 0, 15, 0 @ 868C6D8 @@ -8078,7 +8078,7 @@ voicegroup_868CA74:: @ 868CA74 voice_directsound 60, 0, DirectSoundWaveData_8726EF0, 255, 226, 0, 38 @ 868CC90 voice_square_1 0, 2, 0, 0, 15, 0 @ 868CC9C voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 0, 180, 246 @ 868CCA8 - voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 868CCB4 + voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 868CCB4 voice_square_1 0, 2, 0, 0, 15, 0 @ 868CCC0 voice_square_1 0, 2, 0, 0, 15, 0 @ 868CCCC voice_square_1 0, 2, 0, 0, 15, 0 @ 868CCD8 @@ -8090,7 +8090,7 @@ voicegroup_868CA74:: @ 868CA74 voice_square_1 0, 2, 0, 0, 15, 0 @ 868CD20 voice_square_1 0, 2, 0, 0, 15, 0 @ 868CD2C voice_square_1 0, 2, 0, 0, 15, 0 @ 868CD38 - voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 868CD44 + voice_keysplit voicegroup_8677120, KeySplitTable5 @ 868CD44 voice_square_1 0, 2, 0, 0, 15, 0 @ 868CD50 voice_square_1 0, 2, 0, 0, 15, 0 @ 868CD5C voice_square_1 0, 2, 0, 0, 15, 0 @ 868CD68 @@ -8162,7 +8162,7 @@ voicegroup_868CA74:: @ 868CA74 .align 2 voicegroup_868D074:: @ 868D074 voice_keysplit_all voicegroup_8675FEC @ 868D074 - voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 868D080 + voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 868D080 voice_square_1 0, 2, 0, 0, 15, 0 @ 868D08C voice_square_1 0, 2, 0, 0, 15, 0 @ 868D098 voice_square_1 0, 2, 0, 0, 15, 0 @ 868D0A4 @@ -8209,7 +8209,7 @@ voicegroup_868D074:: @ 868D074 voice_directsound 60, 0, DirectSoundWaveData_8726EF0, 255, 226, 0, 38 @ 868D290 voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 242, 51, 242 @ 868D29C voice_square_1 0, 2, 0, 0, 15, 0 @ 868D2A8 - voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 868D2B4 + voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 868D2B4 voice_square_1 0, 2, 0, 0, 15, 0 @ 868D2C0 voice_square_1 0, 2, 0, 0, 15, 0 @ 868D2CC voice_square_1 0, 2, 0, 0, 15, 0 @ 868D2D8 @@ -8340,7 +8340,7 @@ voicegroup_868D674:: @ 868D674 voice_directsound 60, 0, DirectSoundWaveData_8726EF0, 255, 226, 0, 38 @ 868D890 voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 242, 51, 242 @ 868D89C voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 0, 180, 246 @ 868D8A8 - voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 868D8B4 + voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 868D8B4 voice_square_1 0, 2, 0, 0, 15, 0 @ 868D8C0 voice_square_1 0, 2, 0, 0, 15, 0 @ 868D8CC voice_square_1 0, 2, 0, 0, 15, 0 @ 868D8D8 @@ -8352,7 +8352,7 @@ voicegroup_868D674:: @ 868D674 voice_square_1 0, 2, 0, 0, 15, 0 @ 868D920 voice_square_1 0, 2, 0, 0, 15, 0 @ 868D92C voice_square_1 0, 2, 0, 0, 15, 0 @ 868D938 - voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 868D944 + voice_keysplit voicegroup_8677120, KeySplitTable5 @ 868D944 voice_square_1 0, 2, 0, 0, 15, 0 @ 868D950 voice_square_1 0, 2, 0, 0, 15, 0 @ 868D95C voice_square_1 0, 2, 0, 0, 15, 0 @ 868D968 @@ -8424,12 +8424,12 @@ voicegroup_868D674:: @ 868D674 .align 2 voicegroup_868DC74:: @ 868DC74 voice_square_1 0, 2, 0, 0, 15, 0 @ 868DC74 - voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 868DC80 + voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 868DC80 .align 2 voicegroup_868DC8C:: @ 868DC8C voice_keysplit_all voicegroup_8675FEC @ 868DC8C - voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 868DC98 + voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 868DC98 voice_square_1 0, 2, 0, 0, 15, 0 @ 868DCA4 voice_square_1 0, 2, 0, 0, 15, 0 @ 868DCB0 voice_square_1 0, 2, 0, 0, 15, 0 @ 868DCBC @@ -8476,7 +8476,7 @@ voicegroup_868DC8C:: @ 868DC8C voice_square_1 0, 2, 0, 0, 15, 0 @ 868DEA8 voice_square_1 0, 2, 0, 0, 15, 0 @ 868DEB4 voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 0, 180, 246 @ 868DEC0 - voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 868DECC + voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 868DECC voice_square_1 0, 2, 0, 0, 15, 0 @ 868DED8 voice_square_1 0, 2, 0, 0, 15, 0 @ 868DEE4 voice_square_1 0, 2, 0, 0, 15, 0 @ 868DEF0 @@ -8484,11 +8484,11 @@ voicegroup_868DC8C:: @ 868DC8C voice_square_1 0, 2, 0, 0, 15, 0 @ 868DF08 voice_square_1 0, 2, 0, 0, 15, 0 @ 868DF14 voice_square_1 0, 2, 0, 0, 15, 0 @ 868DF20 - voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 868DF2C + voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 868DF2C voice_square_1 0, 2, 0, 0, 15, 0 @ 868DF38 voice_square_1 0, 2, 0, 0, 15, 0 @ 868DF44 voice_square_1 0, 2, 0, 0, 15, 0 @ 868DF50 - voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 868DF5C + voice_keysplit voicegroup_8677120, KeySplitTable5 @ 868DF5C voice_square_1 0, 2, 0, 0, 15, 0 @ 868DF68 voice_square_1 0, 2, 0, 0, 15, 0 @ 868DF74 voice_square_1 0, 2, 0, 0, 15, 0 @ 868DF80 @@ -8560,7 +8560,7 @@ voicegroup_868DC8C:: @ 868DC8C .align 2 voicegroup_868E28C:: @ 868E28C voice_keysplit_all voicegroup_8675FEC @ 868E28C - voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 868E298 + voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 868E298 voice_square_1 0, 2, 0, 0, 15, 0 @ 868E2A4 voice_square_1 0, 2, 0, 0, 15, 0 @ 868E2B0 voice_square_1 0, 2, 0, 0, 15, 0 @ 868E2BC @@ -8607,7 +8607,7 @@ voicegroup_868E28C:: @ 868E28C voice_directsound 60, 0, DirectSoundWaveData_8726EF0, 255, 226, 0, 38 @ 868E4A8 voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 242, 0, 242 @ 868E4B4 voice_square_1 0, 2, 0, 0, 15, 0 @ 868E4C0 - voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 868E4CC + voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 868E4CC voice_square_1 0, 2, 0, 0, 15, 0 @ 868E4D8 voice_square_1 0, 2, 0, 0, 15, 0 @ 868E4E4 voice_square_1 0, 2, 0, 0, 15, 0 @ 868E4F0 @@ -8617,9 +8617,9 @@ voicegroup_868E28C:: @ 868E28C voice_square_1 0, 2, 0, 0, 15, 0 @ 868E520 voice_square_1 0, 2, 0, 0, 15, 0 @ 868E52C voice_square_1 0, 2, 0, 0, 15, 0 @ 868E538 - voice_keysplit voicegroup_8677108, KeySplitTable_86B477C @ 868E544 + voice_keysplit voicegroup_8677108, KeySplitTable4 @ 868E544 voice_square_1 0, 2, 0, 0, 15, 0 @ 868E550 - voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 868E55C + voice_keysplit voicegroup_8677120, KeySplitTable5 @ 868E55C voice_square_1 0, 2, 0, 0, 15, 0 @ 868E568 voice_square_1 0, 2, 0, 0, 15, 0 @ 868E574 voice_square_1 0, 2, 0, 0, 15, 0 @ 868E580 @@ -8694,7 +8694,7 @@ voicegroup_868E67C:: @ 868E67C voice_square_1 0, 2, 0, 0, 15, 0 @ 868E898 voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 242, 51, 242 @ 868E8A4 voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 0, 180, 246 @ 868E8B0 - voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 868E8BC + voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 868E8BC voice_square_1 0, 2, 0, 0, 15, 0 @ 868E8C8 voice_square_1 0, 2, 0, 0, 15, 0 @ 868E8D4 voice_square_1 0, 2, 0, 0, 15, 0 @ 868E8E0 @@ -8706,7 +8706,7 @@ voicegroup_868E67C:: @ 868E67C voice_square_1 0, 2, 0, 0, 15, 0 @ 868E928 voice_square_1 0, 2, 0, 0, 15, 0 @ 868E934 voice_square_1 0, 2, 0, 0, 15, 0 @ 868E940 - voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 868E94C + voice_keysplit voicegroup_8677120, KeySplitTable5 @ 868E94C voice_square_1 0, 2, 0, 0, 15, 0 @ 868E958 voice_square_1 0, 2, 0, 0, 15, 0 @ 868E964 voice_square_1 0, 2, 0, 0, 15, 0 @ 868E970 @@ -8833,7 +8833,7 @@ voicegroup_868EC7C:: @ 868EC7C voice_square_1 0, 2, 0, 0, 15, 0 @ 868EEF8 voice_square_1 0, 2, 0, 0, 15, 0 @ 868EF04 voice_square_1 0, 2, 0, 0, 15, 0 @ 868EF10 - voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 868EF1C + voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 868EF1C voice_square_1 0, 2, 0, 0, 15, 0 @ 868EF28 voice_square_1 0, 2, 0, 0, 15, 0 @ 868EF34 voice_square_1 0, 2, 0, 0, 15, 0 @ 868EF40 @@ -8956,7 +8956,7 @@ voicegroup_868F27C:: @ 868F27C voice_square_1 0, 2, 0, 0, 15, 0 @ 868F498 voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 242, 51, 242 @ 868F4A4 voice_square_1 0, 2, 0, 0, 15, 0 @ 868F4B0 - voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 868F4BC + voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 868F4BC voice_square_1 0, 2, 0, 0, 15, 0 @ 868F4C8 voice_square_1 0, 2, 0, 0, 15, 0 @ 868F4D4 voice_square_1 0, 2, 0, 0, 15, 0 @ 868F4E0 @@ -8964,11 +8964,11 @@ voicegroup_868F27C:: @ 868F27C voice_square_1 0, 2, 0, 0, 15, 0 @ 868F4F8 voice_square_1 0, 2, 0, 0, 15, 0 @ 868F504 voice_square_1 0, 2, 0, 0, 15, 0 @ 868F510 - voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 868F51C + voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 868F51C voice_square_1 0, 2, 0, 0, 15, 0 @ 868F528 voice_square_1 0, 2, 0, 0, 15, 0 @ 868F534 voice_square_1 0, 2, 0, 0, 15, 0 @ 868F540 - voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 868F54C + voice_keysplit voicegroup_8677120, KeySplitTable5 @ 868F54C voice_square_1 0, 2, 0, 0, 15, 0 @ 868F558 voice_square_1 0, 2, 0, 0, 15, 0 @ 868F564 voice_square_1 0, 2, 0, 0, 15, 0 @ 868F570 @@ -9095,11 +9095,11 @@ voicegroup_868F87C:: @ 868F87C voice_square_1 0, 2, 0, 0, 15, 0 @ 868FAF8 voice_square_1 0, 2, 0, 0, 15, 0 @ 868FB04 voice_square_1 0, 2, 0, 0, 15, 0 @ 868FB10 - voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 868FB1C + voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 868FB1C voice_square_1 0, 2, 0, 0, 15, 0 @ 868FB28 voice_square_1 0, 2, 0, 0, 15, 0 @ 868FB34 voice_square_1 0, 2, 0, 0, 15, 0 @ 868FB40 - voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 868FB4C + voice_keysplit voicegroup_8677120, KeySplitTable5 @ 868FB4C voice_square_1 0, 2, 0, 0, 15, 0 @ 868FB58 voice_square_1 0, 2, 0, 0, 15, 0 @ 868FB64 voice_square_1 0, 2, 0, 0, 15, 0 @ 868FB70 @@ -9171,7 +9171,7 @@ voicegroup_868F87C:: @ 868F87C .align 2 voicegroup_868FE7C:: @ 868FE7C voice_keysplit_all voicegroup_8675FEC @ 868FE7C - voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 868FE88 + voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 868FE88 voice_square_1 0, 2, 0, 0, 15, 0 @ 868FE94 voice_square_1 0, 2, 0, 0, 15, 0 @ 868FEA0 voice_square_2_alt 1, 1, 1, 6, 2 @ 868FEAC @@ -9218,7 +9218,7 @@ voicegroup_868FE7C:: @ 868FE7C voice_square_1 0, 2, 0, 0, 15, 0 @ 8690098 voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 242, 51, 242 @ 86900A4 voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 0, 180, 239 @ 86900B0 - voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 86900BC + voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 86900BC voice_square_1 0, 2, 0, 0, 15, 0 @ 86900C8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86900D4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86900E0 @@ -9226,11 +9226,11 @@ voicegroup_868FE7C:: @ 868FE7C voice_square_1 0, 2, 0, 0, 15, 0 @ 86900F8 voice_square_1 0, 2, 0, 0, 15, 0 @ 8690104 voice_square_1 0, 2, 0, 0, 15, 0 @ 8690110 - voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 869011C + voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 869011C voice_square_1 0, 2, 0, 0, 15, 0 @ 8690128 - voice_keysplit voicegroup_8677108, KeySplitTable_86B477C @ 8690134 + voice_keysplit voicegroup_8677108, KeySplitTable4 @ 8690134 voice_square_1 0, 2, 0, 0, 15, 0 @ 8690140 - voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 869014C + voice_keysplit voicegroup_8677120, KeySplitTable5 @ 869014C voice_square_1 0, 2, 0, 0, 15, 0 @ 8690158 voice_square_1 0, 2, 0, 0, 15, 0 @ 8690164 voice_square_1 0, 2, 0, 0, 15, 0 @ 8690170 @@ -9349,7 +9349,7 @@ voicegroup_869047C:: @ 869047C voice_square_1 0, 2, 0, 0, 15, 0 @ 8690698 voice_square_1 0, 2, 0, 0, 15, 0 @ 86906A4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86906B0 - voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 86906BC + voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 86906BC voice_square_1 0, 2, 0, 0, 15, 0 @ 86906C8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86906D4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86906E0 @@ -9361,7 +9361,7 @@ voicegroup_869047C:: @ 869047C voice_square_1 0, 2, 0, 0, 15, 0 @ 8690728 voice_square_1 0, 2, 0, 0, 15, 0 @ 8690734 voice_square_1 0, 2, 0, 0, 15, 0 @ 8690740 - voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 869074C + voice_keysplit voicegroup_8677120, KeySplitTable5 @ 869074C voice_square_1 0, 2, 0, 0, 15, 0 @ 8690758 voice_square_1 0, 2, 0, 0, 15, 0 @ 8690764 voice_square_1 0, 2, 0, 0, 15, 0 @ 8690770 @@ -9564,7 +9564,7 @@ voicegroup_8690A7C:: @ 8690A7C .align 2 voicegroup_869107C:: @ 869107C voice_keysplit_all voicegroup_8675FEC @ 869107C - voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 8691088 + voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 8691088 voice_square_1 0, 2, 0, 0, 15, 0 @ 8691094 voice_square_1 0, 2, 0, 0, 15, 0 @ 86910A0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86910AC @@ -9611,7 +9611,7 @@ voicegroup_869107C:: @ 869107C voice_directsound 60, 0, DirectSoundWaveData_8726EF0, 255, 226, 0, 38 @ 8691298 voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 242, 0, 242 @ 86912A4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86912B0 - voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 86912BC + voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 86912BC voice_square_1 0, 2, 0, 0, 15, 0 @ 86912C8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86912D4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86912E0 @@ -9621,9 +9621,9 @@ voicegroup_869107C:: @ 869107C voice_square_1 0, 2, 0, 0, 15, 0 @ 8691310 voice_square_1 0, 2, 0, 0, 15, 0 @ 869131C voice_square_1 0, 2, 0, 0, 15, 0 @ 8691328 - voice_keysplit voicegroup_8677108, KeySplitTable_86B477C @ 8691334 + voice_keysplit voicegroup_8677108, KeySplitTable4 @ 8691334 voice_square_1 0, 2, 0, 0, 15, 0 @ 8691340 - voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 869134C + voice_keysplit voicegroup_8677120, KeySplitTable5 @ 869134C voice_square_1 0, 2, 0, 0, 15, 0 @ 8691358 voice_square_1 0, 2, 0, 0, 15, 0 @ 8691364 voice_square_1 0, 2, 0, 0, 15, 0 @ 8691370 @@ -9873,7 +9873,7 @@ voicegroup_8691C7C:: @ 8691C7C voice_square_1 0, 2, 0, 0, 15, 0 @ 8691E98 voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 242, 0, 242 @ 8691EA4 voice_square_1 0, 2, 0, 0, 15, 0 @ 8691EB0 - voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 8691EBC + voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 8691EBC voice_square_1 0, 2, 0, 0, 15, 0 @ 8691EC8 voice_square_1 0, 2, 0, 0, 15, 0 @ 8691ED4 voice_square_1 0, 2, 0, 0, 15, 0 @ 8691EE0 @@ -9883,9 +9883,9 @@ voicegroup_8691C7C:: @ 8691C7C voice_square_1 0, 2, 0, 0, 15, 0 @ 8691F10 voice_square_1 0, 2, 0, 0, 15, 0 @ 8691F1C voice_square_1 0, 2, 0, 0, 15, 0 @ 8691F28 - voice_keysplit voicegroup_8677108, KeySplitTable_86B477C @ 8691F34 + voice_keysplit voicegroup_8677108, KeySplitTable4 @ 8691F34 voice_square_1 0, 2, 0, 0, 15, 0 @ 8691F40 - voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 8691F4C + voice_keysplit voicegroup_8677120, KeySplitTable5 @ 8691F4C voice_square_1 0, 2, 0, 0, 15, 0 @ 8691F58 voice_square_1 0, 2, 0, 0, 15, 0 @ 8691F64 voice_square_1 0, 2, 0, 0, 15, 0 @ 8691F70 @@ -10004,7 +10004,7 @@ voicegroup_869227C:: @ 869227C voice_square_1 0, 2, 0, 0, 15, 0 @ 8692498 voice_square_1 0, 2, 0, 0, 15, 0 @ 86924A4 voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 0, 180, 246 @ 86924B0 - voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 86924BC + voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 86924BC voice_square_1 0, 2, 0, 0, 15, 0 @ 86924C8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86924D4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86924E0 @@ -10012,11 +10012,11 @@ voicegroup_869227C:: @ 869227C voice_square_1 0, 2, 0, 0, 15, 0 @ 86924F8 voice_square_1 0, 2, 0, 0, 15, 0 @ 8692504 voice_square_1 0, 2, 0, 0, 15, 0 @ 8692510 - voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 869251C + voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 869251C voice_square_1 0, 2, 0, 0, 15, 0 @ 8692528 voice_square_1 0, 2, 0, 0, 15, 0 @ 8692534 voice_square_1 0, 2, 0, 0, 15, 0 @ 8692540 - voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 869254C + voice_keysplit voicegroup_8677120, KeySplitTable5 @ 869254C voice_square_1 0, 2, 0, 0, 15, 0 @ 8692558 voice_square_1 0, 2, 0, 0, 15, 0 @ 8692564 voice_square_1 0, 2, 0, 0, 15, 0 @ 8692570 @@ -10274,7 +10274,7 @@ voicegroup_8692E7C:: @ 8692E7C voice_square_1 0, 2, 0, 0, 15, 0 @ 86930F8 voice_square_1 0, 2, 0, 0, 15, 0 @ 8693104 voice_square_1 0, 2, 0, 0, 15, 0 @ 8693110 - voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 869311C + voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 869311C voice_square_1 0, 2, 0, 0, 15, 0 @ 8693128 voice_square_1 0, 2, 0, 0, 15, 0 @ 8693134 voice_square_1 0, 2, 0, 0, 15, 0 @ 8693140 @@ -10350,7 +10350,7 @@ voicegroup_8692E7C:: @ 8692E7C .align 2 voicegroup_869347C:: @ 869347C voice_keysplit_all voicegroup_8675FEC @ 869347C - voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 8693488 + voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 8693488 voice_square_1 0, 2, 0, 0, 15, 0 @ 8693494 voice_square_1 0, 2, 0, 0, 15, 0 @ 86934A0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86934AC @@ -10407,9 +10407,9 @@ voicegroup_869347C:: @ 869347C voice_square_1 0, 2, 0, 0, 15, 0 @ 8693710 voice_square_1 0, 2, 0, 0, 15, 0 @ 869371C voice_square_1 0, 2, 0, 0, 15, 0 @ 8693728 - voice_keysplit voicegroup_8677108, KeySplitTable_86B477C @ 8693734 + voice_keysplit voicegroup_8677108, KeySplitTable4 @ 8693734 voice_square_1 0, 2, 0, 0, 15, 0 @ 8693740 - voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 869374C + voice_keysplit voicegroup_8677120, KeySplitTable5 @ 869374C voice_square_1 0, 2, 0, 0, 15, 0 @ 8693758 voice_square_1 0, 2, 0, 0, 15, 0 @ 8693764 voice_square_1 0, 2, 0, 0, 15, 0 @ 8693770 @@ -10536,9 +10536,9 @@ voicegroup_8693A7C:: @ 8693A7C voice_square_1 0, 2, 0, 0, 15, 0 @ 8693CF8 voice_square_1 0, 2, 0, 0, 15, 0 @ 8693D04 voice_square_1 0, 2, 0, 0, 15, 0 @ 8693D10 - voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 8693D1C + voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 8693D1C voice_square_1 0, 2, 0, 0, 15, 0 @ 8693D28 - voice_keysplit voicegroup_8677108, KeySplitTable_86B477C @ 8693D34 + voice_keysplit voicegroup_8677108, KeySplitTable4 @ 8693D34 voice_square_1 0, 2, 0, 0, 15, 0 @ 8693D40 voice_square_1 0, 2, 0, 0, 15, 0 @ 8693D4C voice_square_1 0, 2, 0, 0, 15, 0 @ 8693D58 @@ -10667,7 +10667,7 @@ voicegroup_869407C:: @ 869407C voice_square_1 0, 2, 0, 0, 15, 0 @ 86942F8 voice_square_1 0, 2, 0, 0, 15, 0 @ 8694304 voice_square_1 0, 2, 0, 0, 15, 0 @ 8694310 - voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 869431C + voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 869431C voice_square_1 0, 2, 0, 0, 15, 0 @ 8694328 voice_square_1 0, 2, 0, 0, 15, 0 @ 8694334 voice_square_1 0, 2, 0, 0, 15, 0 @ 8694340 @@ -10798,7 +10798,7 @@ voicegroup_869467C:: @ 869467C voice_square_1 0, 2, 0, 0, 15, 0 @ 86948F8 voice_square_1 0, 2, 0, 0, 15, 0 @ 8694904 voice_square_1 0, 2, 0, 0, 15, 0 @ 8694910 - voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 869491C + voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 869491C voice_square_1 0, 2, 0, 0, 15, 0 @ 8694928 voice_square_1 0, 2, 0, 0, 15, 0 @ 8694934 voice_square_1 0, 2, 0, 0, 15, 0 @ 8694940 @@ -10874,7 +10874,7 @@ voicegroup_869467C:: @ 869467C .align 2 voicegroup_8694C7C:: @ 8694C7C voice_keysplit_all voicegroup_8675FEC @ 8694C7C - voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 8694C88 + voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 8694C88 voice_square_1 0, 2, 0, 0, 15, 0 @ 8694C94 voice_square_1 0, 2, 0, 0, 15, 0 @ 8694CA0 voice_square_1_alt 0, 1, 1, 5, 2, 4 @ 8694CAC @@ -10921,7 +10921,7 @@ voicegroup_8694C7C:: @ 8694C7C voice_square_1 0, 2, 0, 0, 15, 0 @ 8694E98 voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 242, 51, 242 @ 8694EA4 voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 0, 180, 239 @ 8694EB0 - voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 8694EBC + voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 8694EBC voice_square_1 0, 2, 0, 0, 15, 0 @ 8694EC8 voice_square_1 0, 2, 0, 0, 15, 0 @ 8694ED4 voice_square_1 0, 2, 0, 0, 15, 0 @ 8694EE0 @@ -10929,11 +10929,11 @@ voicegroup_8694C7C:: @ 8694C7C voice_square_1 0, 2, 0, 0, 15, 0 @ 8694EF8 voice_square_1 0, 2, 0, 0, 15, 0 @ 8694F04 voice_square_1 0, 2, 0, 0, 15, 0 @ 8694F10 - voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 8694F1C + voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 8694F1C voice_square_1 0, 2, 0, 0, 15, 0 @ 8694F28 - voice_keysplit voicegroup_8677108, KeySplitTable_86B477C @ 8694F34 + voice_keysplit voicegroup_8677108, KeySplitTable4 @ 8694F34 voice_square_1 0, 2, 0, 0, 15, 0 @ 8694F40 - voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 8694F4C + voice_keysplit voicegroup_8677120, KeySplitTable5 @ 8694F4C voice_square_1 0, 2, 0, 0, 15, 0 @ 8694F58 voice_square_1 0, 2, 0, 0, 15, 0 @ 8694F64 voice_square_1 0, 2, 0, 0, 15, 0 @ 8694F70 @@ -11119,7 +11119,7 @@ voicegroup_869557C:: @ 869557C voice_square_1 0, 2, 0, 0, 15, 0 @ 8695798 voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 242, 51, 242 @ 86957A4 voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 0, 180, 239 @ 86957B0 - voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 86957BC + voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 86957BC voice_square_1 0, 2, 0, 0, 15, 0 @ 86957C8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86957D4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86957E0 @@ -11127,11 +11127,11 @@ voicegroup_869557C:: @ 869557C voice_square_1 0, 2, 0, 0, 15, 0 @ 86957F8 voice_square_1 0, 2, 0, 0, 15, 0 @ 8695804 voice_square_1 0, 2, 0, 0, 15, 0 @ 8695810 - voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 869581C + voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 869581C voice_square_1 0, 2, 0, 0, 15, 0 @ 8695828 voice_square_1 0, 2, 0, 0, 15, 0 @ 8695834 voice_square_1 0, 2, 0, 0, 15, 0 @ 8695840 - voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 869584C + voice_keysplit voicegroup_8677120, KeySplitTable5 @ 869584C voice_square_1 0, 2, 0, 0, 15, 0 @ 8695858 voice_square_1 0, 2, 0, 0, 15, 0 @ 8695864 voice_square_1 0, 2, 0, 0, 15, 0 @ 8695870 @@ -11400,7 +11400,7 @@ voicegroup_869608C:: @ 869608C .align 2 voicegroup_8696470:: @ 8696470 voice_keysplit_all voicegroup_8676148 @ 8696470 - voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 869647C + voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 869647C voice_square_1 0, 2, 0, 0, 15, 0 @ 8696488 voice_square_1 0, 2, 0, 0, 15, 0 @ 8696494 voice_square_1 0, 2, 0, 0, 15, 0 @ 86964A0 @@ -11447,7 +11447,7 @@ voicegroup_8696470:: @ 8696470 voice_square_1 0, 2, 0, 0, 15, 0 @ 869668C voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 242, 51, 242 @ 8696698 voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 0, 180, 246 @ 86966A4 - voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 86966B0 + voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 86966B0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86966BC voice_square_1 0, 2, 0, 0, 15, 0 @ 86966C8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86966D4 @@ -11455,11 +11455,11 @@ voicegroup_8696470:: @ 8696470 voice_square_1 0, 2, 0, 0, 15, 0 @ 86966EC voice_square_1 0, 2, 0, 0, 15, 0 @ 86966F8 voice_square_1 0, 2, 0, 0, 15, 0 @ 8696704 - voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 8696710 + voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 8696710 voice_square_1 0, 2, 0, 0, 15, 0 @ 869671C voice_square_1 0, 2, 0, 0, 15, 0 @ 8696728 voice_square_1 0, 2, 0, 0, 15, 0 @ 8696734 - voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 8696740 + voice_keysplit voicegroup_8677120, KeySplitTable5 @ 8696740 voice_square_1 0, 2, 0, 0, 15, 0 @ 869674C voice_directsound 60, 0, DirectSoundWaveData_870DE64, 255, 0, 255, 127 @ 8696758 voice_square_1 0, 2, 0, 0, 15, 0 @ 8696764 @@ -11578,7 +11578,7 @@ voicegroup_8696A70:: @ 8696A70 voice_square_1 0, 2, 0, 0, 15, 0 @ 8696C8C voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 242, 51, 242 @ 8696C98 voice_square_1 0, 2, 0, 0, 15, 0 @ 8696CA4 - voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 8696CB0 + voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 8696CB0 voice_square_1 0, 2, 0, 0, 15, 0 @ 8696CBC voice_square_1 0, 2, 0, 0, 15, 0 @ 8696CC8 voice_square_1 0, 2, 0, 0, 15, 0 @ 8696CD4 @@ -11590,7 +11590,7 @@ voicegroup_8696A70:: @ 8696A70 voice_square_1 0, 2, 0, 0, 15, 0 @ 8696D1C voice_square_1 0, 2, 0, 0, 15, 0 @ 8696D28 voice_square_1 0, 2, 0, 0, 15, 0 @ 8696D34 - voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 8696D40 + voice_keysplit voicegroup_8677120, KeySplitTable5 @ 8696D40 voice_square_1 0, 2, 0, 0, 15, 0 @ 8696D4C voice_square_1 0, 2, 0, 0, 15, 0 @ 8696D58 voice_square_1 0, 2, 0, 0, 15, 0 @ 8696D64 @@ -11662,7 +11662,7 @@ voicegroup_8696A70:: @ 8696A70 .align 2 voicegroup_8697070:: @ 8697070 voice_keysplit_all voicegroup_8676658 @ 8697070 - voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 869707C + voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 869707C voice_square_1 0, 2, 0, 0, 15, 0 @ 8697088 voice_square_1 0, 2, 0, 0, 15, 0 @ 8697094 voice_square_1 0, 2, 0, 0, 15, 0 @ 86970A0 @@ -11879,7 +11879,7 @@ voicegroup_8697670:: @ 8697670 .align 2 voicegroup_8697A54:: @ 8697A54 voice_keysplit_all voicegroup_8676148 @ 8697A54 - voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 8697A60 + voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 8697A60 voice_square_1 0, 2, 0, 0, 15, 0 @ 8697A6C voice_square_1 0, 2, 0, 0, 15, 0 @ 8697A78 voice_square_1 0, 2, 0, 0, 15, 0 @ 8697A84 @@ -11926,7 +11926,7 @@ voicegroup_8697A54:: @ 8697A54 voice_square_1 0, 2, 0, 0, 15, 0 @ 8697C70 voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 242, 51, 242 @ 8697C7C voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 0, 180, 239 @ 8697C88 - voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 8697C94 + voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 8697C94 voice_square_1 0, 2, 0, 0, 15, 0 @ 8697CA0 voice_square_1 0, 2, 0, 0, 15, 0 @ 8697CAC voice_square_1 0, 2, 0, 0, 15, 0 @ 8697CB8 @@ -11934,11 +11934,11 @@ voicegroup_8697A54:: @ 8697A54 voice_square_1 0, 2, 0, 0, 15, 0 @ 8697CD0 voice_square_1 0, 2, 0, 0, 15, 0 @ 8697CDC voice_square_1 0, 2, 0, 0, 15, 0 @ 8697CE8 - voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 8697CF4 + voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 8697CF4 voice_square_1 0, 2, 0, 0, 15, 0 @ 8697D00 voice_square_1 0, 2, 0, 0, 15, 0 @ 8697D0C voice_square_1 0, 2, 0, 0, 15, 0 @ 8697D18 - voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 8697D24 + voice_keysplit voicegroup_8677120, KeySplitTable5 @ 8697D24 voice_square_1 0, 2, 0, 0, 15, 0 @ 8697D30 voice_square_1 0, 2, 0, 0, 15, 0 @ 8697D3C voice_square_1 0, 2, 0, 0, 15, 0 @ 8697D48 @@ -12141,7 +12141,7 @@ voicegroup_8698054:: @ 8698054 .align 2 voicegroup_8698654:: @ 8698654 voice_keysplit_all voicegroup_86763D0 @ 8698654 - voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 8698660 + voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 8698660 voice_square_1 0, 2, 0, 0, 15, 0 @ 869866C voice_square_1 0, 2, 0, 0, 15, 0 @ 8698678 voice_programmable_wave_alt ProgrammableWaveData_86B4970, 0, 7, 15, 1 @ 8698684 @@ -12188,7 +12188,7 @@ voicegroup_8698654:: @ 8698654 voice_square_1 0, 2, 0, 0, 15, 0 @ 8698870 voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 242, 51, 242 @ 869887C voice_square_1 0, 2, 0, 0, 15, 0 @ 8698888 - voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 8698894 + voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 8698894 voice_square_1 0, 2, 0, 0, 15, 0 @ 86988A0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86988AC voice_square_1 0, 2, 0, 0, 15, 0 @ 86988B8 @@ -12200,7 +12200,7 @@ voicegroup_8698654:: @ 8698654 voice_square_1 0, 2, 0, 0, 15, 0 @ 8698900 voice_square_1 0, 2, 0, 0, 15, 0 @ 869890C voice_square_1 0, 2, 0, 0, 15, 0 @ 8698918 - voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 8698924 + voice_keysplit voicegroup_8677120, KeySplitTable5 @ 8698924 voice_square_1 0, 2, 0, 0, 15, 0 @ 8698930 voice_square_1 0, 2, 0, 0, 15, 0 @ 869893C voice_square_1 0, 2, 0, 0, 15, 0 @ 8698948 @@ -12327,11 +12327,11 @@ voicegroup_8698C54:: @ 8698C54 voice_square_1 0, 2, 0, 0, 15, 0 @ 8698ED0 voice_square_1 0, 2, 0, 0, 15, 0 @ 8698EDC voice_square_1 0, 2, 0, 0, 15, 0 @ 8698EE8 - voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 8698EF4 + voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 8698EF4 voice_square_1 0, 2, 0, 0, 15, 0 @ 8698F00 voice_square_1 0, 2, 0, 0, 15, 0 @ 8698F0C voice_square_1 0, 2, 0, 0, 15, 0 @ 8698F18 - voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 8698F24 + voice_keysplit voicegroup_8677120, KeySplitTable5 @ 8698F24 voice_square_1 0, 2, 0, 0, 15, 0 @ 8698F30 voice_square_1 0, 2, 0, 0, 15, 0 @ 8698F3C voice_square_1 0, 2, 0, 0, 15, 0 @ 8698F48 @@ -12450,7 +12450,7 @@ voicegroup_8699254:: @ 8699254 voice_square_1 0, 2, 0, 0, 15, 0 @ 8699470 voice_square_1 0, 2, 0, 0, 15, 0 @ 869947C voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 246, 0, 226 @ 8699488 - voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 8699494 + voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 8699494 voice_square_1 0, 2, 0, 0, 15, 0 @ 86994A0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86994AC voice_square_1 0, 2, 0, 0, 15, 0 @ 86994B8 @@ -12458,11 +12458,11 @@ voicegroup_8699254:: @ 8699254 voice_square_1 0, 2, 0, 0, 15, 0 @ 86994D0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86994DC voice_square_1 0, 2, 0, 0, 15, 0 @ 86994E8 - voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 86994F4 + voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 86994F4 voice_square_1 0, 2, 0, 0, 15, 0 @ 8699500 voice_square_1 0, 2, 0, 0, 15, 0 @ 869950C voice_square_1 0, 2, 0, 0, 15, 0 @ 8699518 - voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 8699524 + voice_keysplit voicegroup_8677120, KeySplitTable5 @ 8699524 voice_square_1 0, 2, 0, 0, 15, 0 @ 8699530 voice_square_1 0, 2, 0, 0, 15, 0 @ 869953C voice_square_1 0, 2, 0, 0, 15, 0 @ 8699548 @@ -12534,7 +12534,7 @@ voicegroup_8699254:: @ 8699254 .align 2 voicegroup_8699854:: @ 8699854 voice_keysplit_all voicegroup_8676148 @ 8699854 - voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 8699860 + voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 8699860 voice_square_1 0, 2, 0, 0, 15, 0 @ 869986C voice_square_1 0, 2, 0, 0, 15, 0 @ 8699878 voice_directsound 60, 0, DirectSoundWaveData_871CBCC, 128, 249, 0, 188 @ 8699884 @@ -12581,7 +12581,7 @@ voicegroup_8699854:: @ 8699854 voice_directsound 60, 0, DirectSoundWaveData_8726EF0, 255, 216, 0, 165 @ 8699A70 voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 242, 51, 242 @ 8699A7C voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 246, 0, 226 @ 8699A88 - voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 8699A94 + voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 8699A94 voice_square_1 0, 2, 0, 0, 15, 0 @ 8699AA0 voice_square_1 0, 2, 0, 0, 15, 0 @ 8699AAC voice_square_1 0, 2, 0, 0, 15, 0 @ 8699AB8 @@ -12589,11 +12589,11 @@ voicegroup_8699854:: @ 8699854 voice_square_1 0, 2, 0, 0, 15, 0 @ 8699AD0 voice_square_1 0, 2, 0, 0, 15, 0 @ 8699ADC voice_square_1 0, 2, 0, 0, 15, 0 @ 8699AE8 - voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 8699AF4 + voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 8699AF4 voice_square_1 0, 2, 0, 0, 15, 0 @ 8699B00 voice_square_1 0, 2, 0, 0, 15, 0 @ 8699B0C voice_square_1 0, 2, 0, 0, 15, 0 @ 8699B18 - voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 8699B24 + voice_keysplit voicegroup_8677120, KeySplitTable5 @ 8699B24 voice_square_1 0, 2, 0, 0, 15, 0 @ 8699B30 voice_directsound 60, 0, DirectSoundWaveData_870DE64, 255, 165, 180, 165 @ 8699B3C voice_square_1 0, 2, 0, 0, 15, 0 @ 8699B48 @@ -12665,7 +12665,7 @@ voicegroup_8699854:: @ 8699854 .align 2 voicegroup_8699E54:: @ 8699E54 voice_keysplit_all voicegroup_8676148 @ 8699E54 - voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 8699E60 + voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 8699E60 voice_square_1 0, 2, 0, 0, 15, 0 @ 8699E6C voice_square_1 0, 2, 0, 0, 15, 0 @ 8699E78 voice_square_2_alt 3, 0, 2, 6, 5 @ 8699E84 @@ -12712,7 +12712,7 @@ voicegroup_8699E54:: @ 8699E54 voice_square_1 0, 2, 0, 0, 15, 0 @ 869A070 voice_square_1 0, 2, 0, 0, 15, 0 @ 869A07C voice_square_1 0, 2, 0, 0, 15, 0 @ 869A088 - voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 869A094 + voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 869A094 voice_square_1 0, 2, 0, 0, 15, 0 @ 869A0A0 voice_square_1 0, 2, 0, 0, 15, 0 @ 869A0AC voice_square_1 0, 2, 0, 0, 15, 0 @ 869A0B8 @@ -12720,11 +12720,11 @@ voicegroup_8699E54:: @ 8699E54 voice_square_1 0, 2, 0, 0, 15, 0 @ 869A0D0 voice_square_1 0, 2, 0, 0, 15, 0 @ 869A0DC voice_square_1 0, 2, 0, 0, 15, 0 @ 869A0E8 - voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 869A0F4 + voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 869A0F4 voice_square_1 0, 2, 0, 0, 15, 0 @ 869A100 voice_square_1 0, 2, 0, 0, 15, 0 @ 869A10C voice_square_1 0, 2, 0, 0, 15, 0 @ 869A118 - voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 869A124 + voice_keysplit voicegroup_8677120, KeySplitTable5 @ 869A124 voice_square_1 0, 2, 0, 0, 15, 0 @ 869A130 voice_directsound 60, 0, DirectSoundWaveData_870DE64, 255, 0, 255, 127 @ 869A13C voice_square_1 0, 2, 0, 0, 15, 0 @ 869A148 @@ -12843,7 +12843,7 @@ voicegroup_869A454:: @ 869A454 voice_square_1 0, 2, 0, 0, 15, 0 @ 869A670 voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 246, 0, 235 @ 869A67C voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 246, 0, 226 @ 869A688 - voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 869A694 + voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 869A694 voice_square_1 0, 2, 0, 0, 15, 0 @ 869A6A0 voice_square_1 0, 2, 0, 0, 15, 0 @ 869A6AC voice_square_1 0, 2, 0, 0, 15, 0 @ 869A6B8 @@ -12851,11 +12851,11 @@ voicegroup_869A454:: @ 869A454 voice_square_1 0, 2, 0, 0, 15, 0 @ 869A6D0 voice_square_1 0, 2, 0, 0, 15, 0 @ 869A6DC voice_square_1 0, 2, 0, 0, 15, 0 @ 869A6E8 - voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 869A6F4 + voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 869A6F4 voice_square_1 0, 2, 0, 0, 15, 0 @ 869A700 - voice_keysplit voicegroup_8677108, KeySplitTable_86B477C @ 869A70C + voice_keysplit voicegroup_8677108, KeySplitTable4 @ 869A70C voice_square_1 0, 2, 0, 0, 15, 0 @ 869A718 - voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 869A724 + voice_keysplit voicegroup_8677120, KeySplitTable5 @ 869A724 voice_square_1 0, 2, 0, 0, 15, 0 @ 869A730 voice_square_1 0, 2, 0, 0, 15, 0 @ 869A73C voice_square_1 0, 2, 0, 0, 15, 0 @ 869A748 @@ -12928,7 +12928,7 @@ voicegroup_869A82C:: @ 869A82C voice_square_1 0, 2, 0, 0, 15, 0 @ 869AA48 voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 246, 0, 235 @ 869AA54 voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 246, 0, 226 @ 869AA60 - voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 869AA6C + voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 869AA6C voice_square_1 0, 2, 0, 0, 15, 0 @ 869AA78 voice_square_1 0, 2, 0, 0, 15, 0 @ 869AA84 voice_square_1 0, 2, 0, 0, 15, 0 @ 869AA90 @@ -12938,9 +12938,9 @@ voicegroup_869A82C:: @ 869A82C voice_square_1 0, 2, 0, 0, 15, 0 @ 869AAC0 voice_square_1 0, 2, 0, 0, 15, 0 @ 869AACC voice_square_1 0, 2, 0, 0, 15, 0 @ 869AAD8 - voice_keysplit voicegroup_8677108, KeySplitTable_86B477C @ 869AAE4 + voice_keysplit voicegroup_8677108, KeySplitTable4 @ 869AAE4 voice_square_1 0, 2, 0, 0, 15, 0 @ 869AAF0 - voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 869AAFC + voice_keysplit voicegroup_8677120, KeySplitTable5 @ 869AAFC voice_square_1 0, 2, 0, 0, 15, 0 @ 869AB08 voice_square_1 0, 2, 0, 0, 15, 0 @ 869AB14 voice_square_1 0, 2, 0, 0, 15, 0 @ 869AB20 @@ -12975,7 +12975,7 @@ voicegroup_869A82C:: @ 869A82C .align 2 voicegroup_869AC70:: @ 869AC70 voice_keysplit_all voicegroup_8675FEC @ 869AC70 - voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 869AC7C + voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 869AC7C voice_square_1 0, 2, 0, 0, 15, 0 @ 869AC88 voice_square_1 0, 2, 0, 0, 15, 0 @ 869AC94 voice_square_2 0, 0, 2, 4, 1 @ 869ACA0 @@ -13022,7 +13022,7 @@ voicegroup_869AC70:: @ 869AC70 voice_square_1 0, 2, 0, 0, 15, 0 @ 869AE8C voice_directsound_no_resample 60, 0, DirectSoundWaveData_87205DC, 255, 246, 0, 226 @ 869AE98 voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 246, 0, 226 @ 869AEA4 - voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 869AEB0 + voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 869AEB0 voice_square_1 0, 2, 0, 0, 15, 0 @ 869AEBC voice_square_1 0, 2, 0, 0, 15, 0 @ 869AEC8 voice_square_1 0, 2, 0, 0, 15, 0 @ 869AED4 @@ -13030,11 +13030,11 @@ voicegroup_869AC70:: @ 869AC70 voice_square_1 0, 2, 0, 0, 15, 0 @ 869AEEC voice_square_1 0, 2, 0, 0, 15, 0 @ 869AEF8 voice_square_1 0, 2, 0, 0, 15, 0 @ 869AF04 - voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 869AF10 + voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 869AF10 voice_square_1 0, 2, 0, 0, 15, 0 @ 869AF1C voice_square_1 0, 2, 0, 0, 15, 0 @ 869AF28 voice_square_1 0, 2, 0, 0, 15, 0 @ 869AF34 - voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 869AF40 + voice_keysplit voicegroup_8677120, KeySplitTable5 @ 869AF40 voice_square_1 0, 2, 0, 0, 15, 0 @ 869AF4C voice_square_1 0, 2, 0, 0, 15, 0 @ 869AF58 voice_square_1 0, 2, 0, 0, 15, 0 @ 869AF64 @@ -13069,7 +13069,7 @@ voicegroup_869AC70:: @ 869AC70 .align 2 voicegroup_869B0B4:: @ 869B0B4 voice_keysplit_all voicegroup_8675FEC @ 869B0B4 - voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 869B0C0 + voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 869B0C0 voice_square_1 0, 2, 0, 0, 15, 0 @ 869B0CC voice_square_1 0, 2, 0, 0, 15, 0 @ 869B0D8 voice_square_2 2, 0, 2, 6, 1 @ 869B0E4 @@ -13116,7 +13116,7 @@ voicegroup_869B0B4:: @ 869B0B4 voice_directsound 60, 0, DirectSoundWaveData_8726EF0, 255, 216, 0, 165 @ 869B2D0 voice_square_1 0, 2, 0, 0, 15, 0 @ 869B2DC voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 246, 0, 226 @ 869B2E8 - voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 869B2F4 + voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 869B2F4 voice_square_1 0, 2, 0, 0, 15, 0 @ 869B300 voice_square_1 0, 2, 0, 0, 15, 0 @ 869B30C voice_square_1 0, 2, 0, 0, 15, 0 @ 869B318 @@ -13124,11 +13124,11 @@ voicegroup_869B0B4:: @ 869B0B4 voice_square_1 0, 2, 0, 0, 15, 0 @ 869B330 voice_square_1 0, 2, 0, 0, 15, 0 @ 869B33C voice_square_1 0, 2, 0, 0, 15, 0 @ 869B348 - voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 869B354 + voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 869B354 voice_square_1 0, 2, 0, 0, 15, 0 @ 869B360 voice_square_1 0, 2, 0, 0, 15, 0 @ 869B36C voice_square_1 0, 2, 0, 0, 15, 0 @ 869B378 - voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 869B384 + voice_keysplit voicegroup_8677120, KeySplitTable5 @ 869B384 voice_square_1 0, 2, 0, 0, 15, 0 @ 869B390 voice_square_1 0, 2, 0, 0, 15, 0 @ 869B39C voice_square_1 0, 2, 0, 0, 15, 0 @ 869B3A8 @@ -13163,7 +13163,7 @@ voicegroup_869B0B4:: @ 869B0B4 .align 2 voicegroup_869B4F8:: @ 869B4F8 voice_keysplit_all voicegroup_8675FEC @ 869B4F8 - voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 869B504 + voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 869B504 voice_square_1 0, 2, 0, 0, 15, 0 @ 869B510 voice_square_1 0, 2, 0, 0, 15, 0 @ 869B51C voice_square_1 0, 2, 0, 0, 15, 0 @ 869B528 @@ -13210,7 +13210,7 @@ voicegroup_869B4F8:: @ 869B4F8 voice_directsound 60, 0, DirectSoundWaveData_8726EF0, 255, 216, 0, 165 @ 869B714 voice_square_1 0, 2, 0, 0, 15, 0 @ 869B720 voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 246, 0, 226 @ 869B72C - voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 869B738 + voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 869B738 voice_square_1 0, 2, 0, 0, 15, 0 @ 869B744 voice_square_1 0, 2, 0, 0, 15, 0 @ 869B750 voice_square_1 0, 2, 0, 0, 15, 0 @ 869B75C @@ -13218,11 +13218,11 @@ voicegroup_869B4F8:: @ 869B4F8 voice_square_1 0, 2, 0, 0, 15, 0 @ 869B774 voice_square_1 0, 2, 0, 0, 15, 0 @ 869B780 voice_square_1 0, 2, 0, 0, 15, 0 @ 869B78C - voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 869B798 + voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 869B798 voice_square_1 0, 2, 0, 0, 15, 0 @ 869B7A4 voice_square_1 0, 2, 0, 0, 15, 0 @ 869B7B0 voice_square_1 0, 2, 0, 0, 15, 0 @ 869B7BC - voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 869B7C8 + voice_keysplit voicegroup_8677120, KeySplitTable5 @ 869B7C8 voice_square_1 0, 2, 0, 0, 15, 0 @ 869B7D4 voice_square_1 0, 2, 0, 0, 15, 0 @ 869B7E0 voice_square_1 0, 2, 0, 0, 15, 0 @ 869B7EC @@ -13299,7 +13299,7 @@ voicegroup_869B900:: @ 869B900 voice_directsound 60, 0, DirectSoundWaveData_8726EF0, 255, 216, 0, 165 @ 869BB1C voice_square_1 0, 2, 0, 0, 15, 0 @ 869BB28 voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 246, 0, 226 @ 869BB34 - voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 869BB40 + voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 869BB40 voice_square_1 0, 2, 0, 0, 15, 0 @ 869BB4C voice_square_1 0, 2, 0, 0, 15, 0 @ 869BB58 voice_square_1 0, 2, 0, 0, 15, 0 @ 869BB64 @@ -13311,7 +13311,7 @@ voicegroup_869B900:: @ 869B900 voice_square_1 0, 2, 0, 0, 15, 0 @ 869BBAC voice_square_1 0, 2, 0, 0, 15, 0 @ 869BBB8 voice_square_1 0, 2, 0, 0, 15, 0 @ 869BBC4 - voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 869BBD0 + voice_keysplit voicegroup_8677120, KeySplitTable5 @ 869BBD0 voice_square_1 0, 2, 0, 0, 15, 0 @ 869BBDC voice_square_1 0, 2, 0, 0, 15, 0 @ 869BBE8 voice_square_1 0, 2, 0, 0, 15, 0 @ 869BBF4 @@ -13386,7 +13386,7 @@ voicegroup_869BCF0:: @ 869BCF0 voice_square_1 0, 2, 0, 0, 15, 0 @ 869BF0C voice_square_1 0, 2, 0, 0, 15, 0 @ 869BF18 voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 246, 0, 226 @ 869BF24 - voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 869BF30 + voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 869BF30 voice_square_1 0, 2, 0, 0, 15, 0 @ 869BF3C voice_square_1 0, 2, 0, 0, 15, 0 @ 869BF48 voice_square_1 0, 2, 0, 0, 15, 0 @ 869BF54 @@ -13394,11 +13394,11 @@ voicegroup_869BCF0:: @ 869BCF0 voice_square_1 0, 2, 0, 0, 15, 0 @ 869BF6C voice_square_1 0, 2, 0, 0, 15, 0 @ 869BF78 voice_square_1 0, 2, 0, 0, 15, 0 @ 869BF84 - voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 869BF90 + voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 869BF90 voice_square_1 0, 2, 0, 0, 15, 0 @ 869BF9C voice_square_1 0, 2, 0, 0, 15, 0 @ 869BFA8 voice_square_1 0, 2, 0, 0, 15, 0 @ 869BFB4 - voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 869BFC0 + voice_keysplit voicegroup_8677120, KeySplitTable5 @ 869BFC0 voice_square_1 0, 2, 0, 0, 15, 0 @ 869BFCC voice_square_1 0, 2, 0, 0, 15, 0 @ 869BFD8 voice_square_1 0, 2, 0, 0, 15, 0 @ 869BFE4 @@ -13470,7 +13470,7 @@ voicegroup_869BCF0:: @ 869BCF0 .align 2 voicegroup_869C2F0:: @ 869C2F0 voice_keysplit_all voicegroup_8675FEC @ 869C2F0 - voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 869C2FC + voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 869C2FC voice_square_1 0, 2, 0, 0, 15, 0 @ 869C308 voice_square_1 0, 2, 0, 0, 15, 0 @ 869C314 voice_square_2 2, 0, 2, 3, 1 @ 869C320 @@ -13517,7 +13517,7 @@ voicegroup_869C2F0:: @ 869C2F0 voice_square_1 0, 2, 0, 0, 15, 0 @ 869C50C voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 246, 0, 235 @ 869C518 voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 246, 0, 226 @ 869C524 - voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 869C530 + voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 869C530 voice_square_1 0, 2, 0, 0, 15, 0 @ 869C53C voice_square_1 0, 2, 0, 0, 15, 0 @ 869C548 voice_square_1 0, 2, 0, 0, 15, 0 @ 869C554 @@ -13525,11 +13525,11 @@ voicegroup_869C2F0:: @ 869C2F0 voice_square_1 0, 2, 0, 0, 15, 0 @ 869C56C voice_square_1 0, 2, 0, 0, 15, 0 @ 869C578 voice_square_1 0, 2, 0, 0, 15, 0 @ 869C584 - voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 869C590 + voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 869C590 voice_square_1 0, 2, 0, 0, 15, 0 @ 869C59C voice_square_1 0, 2, 0, 0, 15, 0 @ 869C5A8 voice_square_1 0, 2, 0, 0, 15, 0 @ 869C5B4 - voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 869C5C0 + voice_keysplit voicegroup_8677120, KeySplitTable5 @ 869C5C0 voice_square_1 0, 2, 0, 0, 15, 0 @ 869C5CC voice_square_1 0, 2, 0, 0, 15, 0 @ 869C5D8 voice_square_1 0, 2, 0, 0, 15, 0 @ 869C5E4 @@ -13607,7 +13607,7 @@ voicegroup_869C704:: @ 869C704 voice_square_1 0, 2, 0, 0, 15, 0 @ 869C920 voice_square_1 0, 2, 0, 0, 15, 0 @ 869C92C voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 246, 0, 226 @ 869C938 - voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 869C944 + voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 869C944 voice_square_1 0, 2, 0, 0, 15, 0 @ 869C950 voice_square_1 0, 2, 0, 0, 15, 0 @ 869C95C voice_square_1 0, 2, 0, 0, 15, 0 @ 869C968 @@ -13615,11 +13615,11 @@ voicegroup_869C704:: @ 869C704 voice_square_1 0, 2, 0, 0, 15, 0 @ 869C980 voice_square_1 0, 2, 0, 0, 15, 0 @ 869C98C voice_square_1 0, 2, 0, 0, 15, 0 @ 869C998 - voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 869C9A4 + voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 869C9A4 voice_square_1 0, 2, 0, 0, 15, 0 @ 869C9B0 voice_square_1 0, 2, 0, 0, 15, 0 @ 869C9BC voice_square_1 0, 2, 0, 0, 15, 0 @ 869C9C8 - voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 869C9D4 + voice_keysplit voicegroup_8677120, KeySplitTable5 @ 869C9D4 voice_square_1 0, 2, 0, 0, 15, 0 @ 869C9E0 voice_square_1 0, 2, 0, 0, 15, 0 @ 869C9EC voice_square_1 0, 2, 0, 0, 15, 0 @ 869C9F8 @@ -13694,7 +13694,7 @@ voicegroup_869CAF4:: @ 869CAF4 voice_square_1 0, 2, 0, 0, 15, 0 @ 869CD10 voice_square_1 0, 2, 0, 0, 15, 0 @ 869CD1C voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 246, 0, 226 @ 869CD28 - voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 869CD34 + voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 869CD34 voice_square_1 0, 2, 0, 0, 15, 0 @ 869CD40 voice_square_1 0, 2, 0, 0, 15, 0 @ 869CD4C voice_square_1 0, 2, 0, 0, 15, 0 @ 869CD58 @@ -13702,11 +13702,11 @@ voicegroup_869CAF4:: @ 869CAF4 voice_square_1 0, 2, 0, 0, 15, 0 @ 869CD70 voice_square_1 0, 2, 0, 0, 15, 0 @ 869CD7C voice_square_1 0, 2, 0, 0, 15, 0 @ 869CD88 - voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 869CD94 + voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 869CD94 voice_square_1 0, 2, 0, 0, 15, 0 @ 869CDA0 voice_square_1 0, 2, 0, 0, 15, 0 @ 869CDAC voice_square_1 0, 2, 0, 0, 15, 0 @ 869CDB8 - voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 869CDC4 + voice_keysplit voicegroup_8677120, KeySplitTable5 @ 869CDC4 voice_square_1 0, 2, 0, 0, 15, 0 @ 869CDD0 voice_square_1 0, 2, 0, 0, 15, 0 @ 869CDDC voice_square_1 0, 2, 0, 0, 15, 0 @ 869CDE8 @@ -13825,7 +13825,7 @@ voicegroup_869D0F4:: @ 869D0F4 voice_square_1 0, 2, 0, 0, 15, 0 @ 869D310 voice_square_1 0, 2, 0, 0, 15, 0 @ 869D31C voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 246, 0, 226 @ 869D328 - voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 869D334 + voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 869D334 voice_square_1 0, 2, 0, 0, 15, 0 @ 869D340 voice_square_1 0, 2, 0, 0, 15, 0 @ 869D34C voice_square_1 0, 2, 0, 0, 15, 0 @ 869D358 @@ -14879,7 +14879,7 @@ voicegroup_86A0154:: @ 86A0154 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A03E8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A03F4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0400 - voice_keysplit voicegroup_8677108, KeySplitTable_86B477C @ 86A040C + voice_keysplit voicegroup_8677108, KeySplitTable4 @ 86A040C voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0418 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0424 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0430 @@ -15135,7 +15135,7 @@ voicegroup_86A0754:: @ 86A0754 .align 2 voicegroup_86A0FB8:: @ 86A0FB8 voice_keysplit_all voicegroup_8676148 @ 86A0FB8 - voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 86A0FC4 + voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 86A0FC4 voice_directsound 60, 0, DirectSoundWaveData_88F8318, 128, 204, 51, 242 @ 86A0FD0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0FDC voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0FE8 @@ -15313,7 +15313,7 @@ voicegroup_86A15B8:: @ 86A15B8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A17D4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A17E0 voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 165, 154, 235 @ 86A17EC - voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 86A17F8 + voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 86A17F8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1804 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1810 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A181C @@ -15321,11 +15321,11 @@ voicegroup_86A15B8:: @ 86A15B8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1834 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1840 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A184C - voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 86A1858 + voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 86A1858 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1864 - voice_keysplit voicegroup_8677108, KeySplitTable_86B477C @ 86A1870 + voice_keysplit voicegroup_8677108, KeySplitTable4 @ 86A1870 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A187C - voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 86A1888 + voice_keysplit voicegroup_8677120, KeySplitTable5 @ 86A1888 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1894 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A18A0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A18AC @@ -15397,7 +15397,7 @@ voicegroup_86A15B8:: @ 86A15B8 .align 2 voicegroup_86A1BB8:: @ 86A1BB8 voice_keysplit_all voicegroup_8676148 @ 86A1BB8 - voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 86A1BC4 + voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 86A1BC4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1BD0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1BDC voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1BE8 @@ -15444,7 +15444,7 @@ voicegroup_86A1BB8:: @ 86A1BB8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1DD4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1DE0 voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 0, 193, 153 @ 86A1DEC - voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 86A1DF8 + voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 86A1DF8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1E04 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1E10 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1E1C @@ -15452,11 +15452,11 @@ voicegroup_86A1BB8:: @ 86A1BB8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1E34 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1E40 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1E4C - voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 86A1E58 + voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 86A1E58 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1E64 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1E70 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1E7C - voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 86A1E88 + voice_keysplit voicegroup_8677120, KeySplitTable5 @ 86A1E88 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1E94 voice_directsound 60, 0, DirectSoundWaveData_870DE64, 255, 0, 255, 127 @ 86A1EA0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1EAC @@ -15575,7 +15575,7 @@ voicegroup_86A21B8:: @ 86A21B8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A23D4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A23E0 voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 246, 0, 226 @ 86A23EC - voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 86A23F8 + voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 86A23F8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2404 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2410 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A241C @@ -15583,11 +15583,11 @@ voicegroup_86A21B8:: @ 86A21B8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2434 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2440 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A244C - voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 86A2458 + voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 86A2458 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2464 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2470 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A247C - voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 86A2488 + voice_keysplit voicegroup_8677120, KeySplitTable5 @ 86A2488 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2494 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A24A0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A24AC @@ -15707,7 +15707,7 @@ voicegroup_86A25F0:: @ 86A25F0 .align 2 voicegroup_86A29D4:: @ 86A29D4 voice_keysplit_all voicegroup_8676148 @ 86A29D4 - voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 86A29E0 + voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 86A29E0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A29EC voice_square_1 0, 2, 0, 0, 15, 0 @ 86A29F8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2A04 @@ -15754,7 +15754,7 @@ voicegroup_86A29D4:: @ 86A29D4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2BF0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2BFC voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2C08 - voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 86A2C14 + voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 86A2C14 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2C20 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2C2C voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2C38 @@ -15885,7 +15885,7 @@ voicegroup_86A2FD4:: @ 86A2FD4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A31F0 voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 242, 0, 242 @ 86A31FC voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 0, 193, 153 @ 86A3208 - voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 86A3214 + voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 86A3214 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3220 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A322C voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3238 @@ -15893,11 +15893,11 @@ voicegroup_86A2FD4:: @ 86A2FD4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3250 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A325C voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3268 - voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 86A3274 + voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 86A3274 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3280 - voice_keysplit voicegroup_8677108, KeySplitTable_86B477C @ 86A328C + voice_keysplit voicegroup_8677108, KeySplitTable4 @ 86A328C voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3298 - voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 86A32A4 + voice_keysplit voicegroup_8677120, KeySplitTable5 @ 86A32A4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A32B0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A32BC voice_square_1 0, 2, 0, 0, 15, 0 @ 86A32C8 @@ -15969,7 +15969,7 @@ voicegroup_86A2FD4:: @ 86A2FD4 .align 2 voicegroup_86A35D4:: @ 86A35D4 voice_keysplit_all voicegroup_8676148 @ 86A35D4 - voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 86A35E0 + voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 86A35E0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A35EC voice_square_1 0, 2, 0, 0, 15, 0 @ 86A35F8 voice_directsound 60, 0, DirectSoundWaveData_871CBCC, 255, 188, 128, 226 @ 86A3604 @@ -16016,7 +16016,7 @@ voicegroup_86A35D4:: @ 86A35D4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A37F0 voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 246, 0, 235 @ 86A37FC voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3808 - voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 86A3814 + voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 86A3814 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3820 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A382C voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3838 @@ -16024,7 +16024,7 @@ voicegroup_86A35D4:: @ 86A35D4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3850 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A385C voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3868 - voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 86A3874 + voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 86A3874 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3880 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A388C voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3898 @@ -16100,7 +16100,7 @@ voicegroup_86A35D4:: @ 86A35D4 .align 2 voicegroup_86A3BD4:: @ 86A3BD4 voice_keysplit_all voicegroup_8676148 @ 86A3BD4 - voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 86A3BE0 + voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 86A3BE0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3BEC voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3BF8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3C04 @@ -16147,7 +16147,7 @@ voicegroup_86A3BD4:: @ 86A3BD4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3DF0 voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 242, 51, 226 @ 86A3DFC voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3E08 - voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 86A3E14 + voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 86A3E14 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3E20 voice_square_1_alt 0, 2, 0, 2, 3, 1 @ 86A3E2C voice_square_2_alt 3, 0, 2, 7, 2 @ 86A3E38 @@ -16157,9 +16157,9 @@ voicegroup_86A3BD4:: @ 86A3BD4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3E68 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3E74 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3E80 - voice_keysplit voicegroup_8677108, KeySplitTable_86B477C @ 86A3E8C + voice_keysplit voicegroup_8677108, KeySplitTable4 @ 86A3E8C voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3E98 - voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 86A3EA4 + voice_keysplit voicegroup_8677120, KeySplitTable5 @ 86A3EA4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3EB0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3EBC voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3EC8 @@ -16238,7 +16238,7 @@ voicegroup_86A41D4:: @ 86A41D4 .align 2 voicegroup_86A4204:: @ 86A4204 voice_keysplit_all voicegroup_8676148 @ 86A4204 - voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 86A4210 + voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 86A4210 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A421C voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4228 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4234 @@ -16285,7 +16285,7 @@ voicegroup_86A4204:: @ 86A4204 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4420 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A442C voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4438 - voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 86A4444 + voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 86A4444 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4450 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A445C voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4468 @@ -16293,7 +16293,7 @@ voicegroup_86A4204:: @ 86A4204 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4480 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A448C voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4498 - voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 86A44A4 + voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 86A44A4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A44B0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A44BC voice_square_1 0, 2, 0, 0, 15, 0 @ 86A44C8 @@ -16456,7 +16456,7 @@ voicegroup_86A4804:: @ 86A4804 .align 2 voicegroup_86A4BF4:: @ 86A4BF4 voice_keysplit_all voicegroup_8676148 @ 86A4BF4 - voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 86A4C00 + voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 86A4C00 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4C0C voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4C18 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4C24 @@ -16503,7 +16503,7 @@ voicegroup_86A4BF4:: @ 86A4BF4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4E10 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4E1C voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4E28 - voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 86A4E34 + voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 86A4E34 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4E40 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4E4C voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4E58 @@ -16587,7 +16587,7 @@ voicegroup_86A4BF4:: @ 86A4BF4 .align 2 voicegroup_86A51F4:: @ 86A51F4 voice_keysplit_all voicegroup_8676148 @ 86A51F4 - voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 86A5200 + voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 86A5200 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A520C voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5218 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5224 @@ -16634,7 +16634,7 @@ voicegroup_86A51F4:: @ 86A51F4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5410 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A541C voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5428 - voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 86A5434 + voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 86A5434 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5440 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A544C voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5458 @@ -16718,7 +16718,7 @@ voicegroup_86A51F4:: @ 86A51F4 .align 2 voicegroup_86A57F4:: @ 86A57F4 voice_keysplit_all voicegroup_8676148 @ 86A57F4 - voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 86A5800 + voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 86A5800 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A580C voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5818 voice_directsound 60, 0, DirectSoundWaveData_871CBCC, 255, 188, 128, 226 @ 86A5824 @@ -16765,7 +16765,7 @@ voicegroup_86A57F4:: @ 86A57F4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5A10 voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 246, 0, 235 @ 86A5A1C voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5A28 - voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 86A5A34 + voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 86A5A34 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5A40 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5A4C voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5A58 @@ -16773,7 +16773,7 @@ voicegroup_86A57F4:: @ 86A57F4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5A70 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5A7C voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5A88 - voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 86A5A94 + voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 86A5A94 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5AA0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5AAC voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5AB8 @@ -16896,7 +16896,7 @@ voicegroup_86A5DF4:: @ 86A5DF4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6010 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A601C voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6028 - voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 86A6034 + voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 86A6034 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6040 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A604C voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6058 @@ -16980,7 +16980,7 @@ voicegroup_86A5DF4:: @ 86A5DF4 .align 2 voicegroup_86A63F4:: @ 86A63F4 voice_keysplit_all voicegroup_8675FEC @ 86A63F4 - voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 86A6400 + voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 86A6400 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A640C voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6418 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6424 @@ -17027,7 +17027,7 @@ voicegroup_86A63F4:: @ 86A63F4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6610 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A661C voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6628 - voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 86A6634 + voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 86A6634 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6640 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A664C voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6658 @@ -17114,7 +17114,7 @@ voicegroup_86A67E4:: @ 86A67E4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6A00 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6A0C voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6A18 - voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 86A6A24 + voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 86A6A24 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6A30 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6A3C voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6A48 @@ -17124,7 +17124,7 @@ voicegroup_86A67E4:: @ 86A67E4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6A78 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6A84 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6A90 - voice_keysplit voicegroup_8677108, KeySplitTable_86B477C @ 86A6A9C + voice_keysplit voicegroup_8677108, KeySplitTable4 @ 86A6A9C voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6AA8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6AB4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6AC0 @@ -17198,7 +17198,7 @@ voicegroup_86A67E4:: @ 86A67E4 .align 2 voicegroup_86A6DE4:: @ 86A6DE4 voice_keysplit_all voicegroup_86B429C @ 86A6DE4 - voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 86A6DF0 + voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 86A6DF0 voice_square_1_alt 0, 2, 0, 0, 12, 0 @ 86A6DFC voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6E08 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6E14 @@ -17245,7 +17245,7 @@ voicegroup_86A6DE4:: @ 86A6DE4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7000 voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 246, 0, 235 @ 86A700C voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 165, 154, 153 @ 86A7018 - voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 86A7024 + voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 86A7024 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7030 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A703C voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7048 @@ -17253,11 +17253,11 @@ voicegroup_86A6DE4:: @ 86A6DE4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7060 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A706C voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7078 - voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 86A7084 + voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 86A7084 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7090 - voice_keysplit voicegroup_8677108, KeySplitTable_86B477C @ 86A709C + voice_keysplit voicegroup_8677108, KeySplitTable4 @ 86A709C voice_square_1 0, 2, 0, 0, 15, 0 @ 86A70A8 - voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 86A70B4 + voice_keysplit voicegroup_8677120, KeySplitTable5 @ 86A70B4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A70C0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A70CC voice_square_1 0, 2, 0, 0, 15, 0 @ 86A70D8 @@ -17472,7 +17472,7 @@ voicegroup_86A7840:: @ 86A7840 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7A5C voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7A68 voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 0, 193, 127 @ 86A7A74 - voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 86A7A80 + voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 86A7A80 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7A8C voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7A98 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7AA4 @@ -17480,11 +17480,11 @@ voicegroup_86A7840:: @ 86A7840 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7ABC voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7AC8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7AD4 - voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 86A7AE0 + voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 86A7AE0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7AEC - voice_keysplit voicegroup_8677108, KeySplitTable_86B477C @ 86A7AF8 + voice_keysplit voicegroup_8677108, KeySplitTable4 @ 86A7AF8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7B04 - voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 86A7B10 + voice_keysplit voicegroup_8677120, KeySplitTable5 @ 86A7B10 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7B1C voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7B28 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7B34 @@ -17563,7 +17563,7 @@ voicegroup_86A7C60:: @ 86A7C60 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7E7C voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7E88 voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 127, 154, 235 @ 86A7E94 - voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 86A7EA0 + voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 86A7EA0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7EAC voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7EB8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7EC4 @@ -17571,11 +17571,11 @@ voicegroup_86A7C60:: @ 86A7C60 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7EDC voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7EE8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7EF4 - voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 86A7F00 + voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 86A7F00 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7F0C - voice_keysplit voicegroup_8677108, KeySplitTable_86B477C @ 86A7F18 + voice_keysplit voicegroup_8677108, KeySplitTable4 @ 86A7F18 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7F24 - voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 86A7F30 + voice_keysplit voicegroup_8677120, KeySplitTable5 @ 86A7F30 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7F3C voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7F48 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7F54 @@ -17647,7 +17647,7 @@ voicegroup_86A7C60:: @ 86A7C60 .align 2 voicegroup_86A8260:: @ 86A8260 voice_keysplit_all voicegroup_8676148 @ 86A8260 - voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 86A826C + voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 86A826C voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8278 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8284 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8290 @@ -17694,7 +17694,7 @@ voicegroup_86A8260:: @ 86A8260 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A847C voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 246, 0, 235 @ 86A8488 voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 127, 154, 235 @ 86A8494 - voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 86A84A0 + voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 86A84A0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A84AC voice_square_1 0, 2, 0, 0, 15, 0 @ 86A84B8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A84C4 @@ -17702,11 +17702,11 @@ voicegroup_86A8260:: @ 86A8260 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A84DC voice_square_1 0, 2, 0, 0, 15, 0 @ 86A84E8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A84F4 - voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 86A8500 + voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 86A8500 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A850C - voice_keysplit voicegroup_8677108, KeySplitTable_86B477C @ 86A8518 + voice_keysplit voicegroup_8677108, KeySplitTable4 @ 86A8518 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8524 - voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 86A8530 + voice_keysplit voicegroup_8677120, KeySplitTable5 @ 86A8530 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A853C voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8548 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8554 @@ -17825,7 +17825,7 @@ voicegroup_86A8860:: @ 86A8860 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8A7C voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8A88 voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 127, 154, 235 @ 86A8A94 - voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 86A8AA0 + voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 86A8AA0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8AAC voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8AB8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8AC4 @@ -17833,11 +17833,11 @@ voicegroup_86A8860:: @ 86A8860 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8ADC voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8AE8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8AF4 - voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 86A8B00 + voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 86A8B00 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8B0C - voice_keysplit voicegroup_8677108, KeySplitTable_86B477C @ 86A8B18 + voice_keysplit voicegroup_8677108, KeySplitTable4 @ 86A8B18 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8B24 - voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 86A8B30 + voice_keysplit voicegroup_8677120, KeySplitTable5 @ 86A8B30 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8B3C voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8B48 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8B54 @@ -17874,7 +17874,7 @@ voicegroup_86A8860:: @ 86A8860 .align 2 voicegroup_86A8CBC:: @ 86A8CBC voice_keysplit_all voicegroup_8676148 @ 86A8CBC - voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 86A8CC8 + voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 86A8CC8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8CD4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8CE0 voice_directsound 60, 0, DirectSoundWaveData_871CBCC, 255, 249, 0, 165 @ 86A8CEC @@ -17921,7 +17921,7 @@ voicegroup_86A8CBC:: @ 86A8CBC voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8ED8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8EE4 voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 246, 0, 226 @ 86A8EF0 - voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 86A8EFC + voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 86A8EFC voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8F08 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8F14 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8F20 @@ -17929,11 +17929,11 @@ voicegroup_86A8CBC:: @ 86A8CBC voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8F38 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8F44 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8F50 - voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 86A8F5C + voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 86A8F5C voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8F68 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8F74 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8F80 - voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 86A8F8C + voice_keysplit voicegroup_8677120, KeySplitTable5 @ 86A8F8C voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8F98 voice_directsound 60, 0, DirectSoundWaveData_870DE64, 255, 165, 180, 165 @ 86A8FA4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8FB0 @@ -18005,7 +18005,7 @@ voicegroup_86A8CBC:: @ 86A8CBC .align 2 voicegroup_86A92BC:: @ 86A92BC voice_keysplit_all voicegroup_8676148 @ 86A92BC - voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 86A92C8 + voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 86A92C8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A92D4 voice_programmable_wave_alt ProgrammableWaveData_86B4870, 0, 7, 15, 0 @ 86A92E0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A92EC @@ -18052,7 +18052,7 @@ voicegroup_86A92BC:: @ 86A92BC voice_square_1 0, 2, 0, 0, 15, 0 @ 86A94D8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A94E4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A94F0 - voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 86A94FC + voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 86A94FC voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9508 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9514 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9520 @@ -18060,11 +18060,11 @@ voicegroup_86A92BC:: @ 86A92BC voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9538 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9544 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9550 - voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 86A955C + voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 86A955C voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9568 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9574 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9580 - voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 86A958C + voice_keysplit voicegroup_8677120, KeySplitTable5 @ 86A958C voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9598 voice_directsound 60, 0, DirectSoundWaveData_870DE64, 255, 0, 255, 127 @ 86A95A4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A95B0 @@ -18136,7 +18136,7 @@ voicegroup_86A92BC:: @ 86A92BC .align 2 voicegroup_86A98BC:: @ 86A98BC voice_keysplit_all voicegroup_8676148 @ 86A98BC - voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 86A98C8 + voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 86A98C8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A98D4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A98E0 voice_square_2_alt 3, 0, 2, 6, 5 @ 86A98EC @@ -18183,7 +18183,7 @@ voicegroup_86A98BC:: @ 86A98BC voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9AD8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9AE4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9AF0 - voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 86A9AFC + voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 86A9AFC voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9B08 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9B14 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9B20 @@ -18191,11 +18191,11 @@ voicegroup_86A98BC:: @ 86A98BC voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9B38 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9B44 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9B50 - voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 86A9B5C + voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 86A9B5C voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9B68 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9B74 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9B80 - voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 86A9B8C + voice_keysplit voicegroup_8677120, KeySplitTable5 @ 86A9B8C voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9B98 voice_directsound 60, 0, DirectSoundWaveData_870DE64, 255, 0, 255, 127 @ 86A9BA4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9BB0 @@ -18267,7 +18267,7 @@ voicegroup_86A98BC:: @ 86A98BC .align 2 voicegroup_86A9EBC:: @ 86A9EBC voice_keysplit_all voicegroup_8676148 @ 86A9EBC - voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 86A9EC8 + voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 86A9EC8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9ED4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9EE0 voice_directsound 60, 0, DirectSoundWaveData_871CBCC, 255, 249, 0, 165 @ 86A9EEC @@ -18314,7 +18314,7 @@ voicegroup_86A9EBC:: @ 86A9EBC voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA0D8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA0E4 voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 0, 193, 153 @ 86AA0F0 - voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 86AA0FC + voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 86AA0FC voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA108 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA114 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA120 @@ -18322,11 +18322,11 @@ voicegroup_86A9EBC:: @ 86A9EBC voice_directsound 60, 0, DirectSoundWaveData_86BA7E8, 255, 0, 255, 0 @ 86AA138 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA144 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA150 - voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 86AA15C + voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 86AA15C voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA168 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA174 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA180 - voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 86AA18C + voice_keysplit voicegroup_8677120, KeySplitTable5 @ 86AA18C voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA198 voice_directsound 60, 0, DirectSoundWaveData_870DE64, 255, 0, 236, 188 @ 86AA1A4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA1B0 @@ -18445,7 +18445,7 @@ voicegroup_86AA4BC:: @ 86AA4BC voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA6D8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA6E4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA6F0 - voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 86AA6FC + voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 86AA6FC voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA708 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA714 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA720 @@ -18576,7 +18576,7 @@ voicegroup_86AAABC:: @ 86AAABC voice_square_1 0, 2, 0, 0, 15, 0 @ 86AACD8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AACE4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AACF0 - voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 86AACFC + voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 86AACFC voice_square_1 0, 2, 0, 0, 15, 0 @ 86AAD08 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AAD14 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AAD20 @@ -18620,7 +18620,7 @@ voicegroup_86AAABC:: @ 86AAABC .align 2 voicegroup_86AAEDC:: @ 86AAEDC voice_keysplit_all voicegroup_8676148 @ 86AAEDC - voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 86AAEE8 + voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 86AAEE8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AAEF4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AAF00 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AAF0C @@ -18667,7 +18667,7 @@ voicegroup_86AAEDC:: @ 86AAEDC voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB0F8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB104 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB110 - voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 86AB11C + voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 86AB11C voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB128 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB134 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB140 @@ -18675,9 +18675,9 @@ voicegroup_86AAEDC:: @ 86AAEDC voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB158 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB164 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB170 - voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 86AB17C + voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 86AB17C voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB188 - voice_keysplit voicegroup_8677108, KeySplitTable_86B477C @ 86AB194 + voice_keysplit voicegroup_8677108, KeySplitTable4 @ 86AB194 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB1A0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB1AC voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB1B8 @@ -18798,7 +18798,7 @@ voicegroup_86AB4DC:: @ 86AB4DC voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB6F8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB704 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB710 - voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 86AB71C + voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 86AB71C voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB728 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB734 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB740 @@ -18847,7 +18847,7 @@ voicegroup_86AB4DC:: @ 86AB4DC .align 2 voicegroup_86AB938:: @ 86AB938 voice_keysplit_all voicegroup_8676148 @ 86AB938 - voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 86AB944 + voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 86AB944 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB950 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB95C voice_directsound 60, 0, DirectSoundWaveData_871CBCC, 255, 188, 128, 226 @ 86AB968 @@ -18894,7 +18894,7 @@ voicegroup_86AB938:: @ 86AB938 voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABB54 voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 246, 0, 235 @ 86ABB60 voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABB6C - voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 86ABB78 + voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 86ABB78 voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABB84 voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABB90 voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABB9C @@ -18902,7 +18902,7 @@ voicegroup_86AB938:: @ 86AB938 voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABBB4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABBC0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABBCC - voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 86ABBD8 + voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 86ABBD8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABBE4 voice_directsound 60, 0, DirectSoundWaveData_88D6978, 255, 0, 206, 204 @ 86ABBF0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABBFC @@ -18978,7 +18978,7 @@ voicegroup_86AB938:: @ 86AB938 .align 2 voicegroup_86ABF38:: @ 86ABF38 voice_keysplit_all voicegroup_8676148 @ 86ABF38 - voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 86ABF44 + voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 86ABF44 voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABF50 voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABF5C voice_directsound 60, 0, DirectSoundWaveData_871CBCC, 128, 180, 108, 209 @ 86ABF68 @@ -19025,7 +19025,7 @@ voicegroup_86ABF38:: @ 86ABF38 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC154 voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 246, 0, 235 @ 86AC160 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC16C - voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 86AC178 + voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 86AC178 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC184 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC190 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC19C @@ -19109,7 +19109,7 @@ voicegroup_86ABF38:: @ 86ABF38 .align 2 voicegroup_86AC538:: @ 86AC538 voice_keysplit_all voicegroup_8676148 @ 86AC538 - voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 86AC544 + voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 86AC544 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC550 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC55C voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC568 @@ -19156,7 +19156,7 @@ voicegroup_86AC538:: @ 86AC538 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC754 voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 242, 51, 226 @ 86AC760 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC76C - voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 86AC778 + voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 86AC778 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC784 voice_square_1_alt 0, 2, 0, 2, 10, 1 @ 86AC790 voice_square_2_alt 2, 0, 2, 6, 6 @ 86AC79C @@ -19166,9 +19166,9 @@ voicegroup_86AC538:: @ 86AC538 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC7CC voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC7D8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC7E4 - voice_keysplit voicegroup_8677108, KeySplitTable_86B477C @ 86AC7F0 + voice_keysplit voicegroup_8677108, KeySplitTable4 @ 86AC7F0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC7FC - voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 86AC808 + voice_keysplit voicegroup_8677120, KeySplitTable5 @ 86AC808 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC814 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC820 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC82C @@ -19240,7 +19240,7 @@ voicegroup_86AC538:: @ 86AC538 .align 2 voicegroup_86ACB38:: @ 86ACB38 voice_keysplit_all voicegroup_8676148 @ 86ACB38 - voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 86ACB44 + voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 86ACB44 voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACB50 voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACB5C voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACB68 @@ -19287,7 +19287,7 @@ voicegroup_86ACB38:: @ 86ACB38 voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACD54 voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACD60 voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 0, 193, 153 @ 86ACD6C - voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 86ACD78 + voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 86ACD78 voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACD84 voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACD90 voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACD9C @@ -19295,11 +19295,11 @@ voicegroup_86ACB38:: @ 86ACB38 voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACDB4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACDC0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACDCC - voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 86ACDD8 + voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 86ACDD8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACDE4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACDF0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACDFC - voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 86ACE08 + voice_keysplit voicegroup_8677120, KeySplitTable5 @ 86ACE08 voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACE14 voice_directsound 60, 0, DirectSoundWaveData_870DE64, 255, 0, 236, 188 @ 86ACE20 voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACE2C @@ -19426,7 +19426,7 @@ voicegroup_86AD138:: @ 86AD138 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD3B4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD3C0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD3CC - voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 86AD3D8 + voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 86AD3D8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD3E4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD3F0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD3FC @@ -19502,7 +19502,7 @@ voicegroup_86AD138:: @ 86AD138 .align 2 voicegroup_86AD738:: @ 86AD738 voice_keysplit_all voicegroup_8676148 @ 86AD738 - voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 86AD744 + voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 86AD744 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD750 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD75C voice_directsound 60, 0, DirectSoundWaveData_871CBCC, 255, 188, 128, 226 @ 86AD768 @@ -19549,7 +19549,7 @@ voicegroup_86AD738:: @ 86AD738 voice_directsound 60, 0, DirectSoundWaveData_8726EF0, 255, 216, 0, 165 @ 86AD954 voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 246, 0, 235 @ 86AD960 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD96C - voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 86AD978 + voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 86AD978 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD984 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD990 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD99C @@ -19561,7 +19561,7 @@ voicegroup_86AD738:: @ 86AD738 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD9E4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD9F0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD9FC - voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 86ADA08 + voice_keysplit voicegroup_8677120, KeySplitTable5 @ 86ADA08 voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADA14 voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADA20 voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADA2C @@ -19688,9 +19688,9 @@ voicegroup_86ADD38:: @ 86ADD38 voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADFB4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADFC0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADFCC - voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 86ADFD8 + voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 86ADFD8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADFE4 - voice_keysplit voicegroup_8677108, KeySplitTable_86B477C @ 86ADFF0 + voice_keysplit voicegroup_8677108, KeySplitTable4 @ 86ADFF0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADFFC voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE008 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE014 @@ -19819,9 +19819,9 @@ voicegroup_86AE338:: @ 86AE338 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE5B4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE5C0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE5CC - voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 86AE5D8 + voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 86AE5D8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE5E4 - voice_keysplit voicegroup_8677108, KeySplitTable_86B477C @ 86AE5F0 + voice_keysplit voicegroup_8677108, KeySplitTable4 @ 86AE5F0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE5FC voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE608 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE614 @@ -19898,7 +19898,7 @@ voicegroup_86AE728:: @ 86AE728 voice_directsound 60, 0, DirectSoundWaveData_8726EF0, 255, 216, 0, 165 @ 86AE944 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE950 voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 246, 0, 226 @ 86AE95C - voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 86AE968 + voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 86AE968 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE974 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE980 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE98C @@ -19906,11 +19906,11 @@ voicegroup_86AE728:: @ 86AE728 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE9A4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE9B0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE9BC - voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 86AE9C8 + voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 86AE9C8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE9D4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE9E0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE9EC - voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 86AE9F8 + voice_keysplit voicegroup_8677120, KeySplitTable5 @ 86AE9F8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEA04 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEA10 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEA1C @@ -19945,7 +19945,7 @@ voicegroup_86AE728:: @ 86AE728 .align 2 voicegroup_86AEB6C:: @ 86AEB6C voice_keysplit_all voicegroup_8676148 @ 86AEB6C - voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 86AEB78 + voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 86AEB78 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEB84 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEB90 voice_directsound 60, 0, DirectSoundWaveData_871CBCC, 255, 188, 128, 226 @ 86AEB9C @@ -19992,7 +19992,7 @@ voicegroup_86AEB6C:: @ 86AEB6C voice_square_1 0, 2, 0, 0, 15, 0 @ 86AED88 voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 246, 0, 235 @ 86AED94 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEDA0 - voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 86AEDAC + voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 86AEDAC voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEDB8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEDC4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEDD0 @@ -20000,7 +20000,7 @@ voicegroup_86AEB6C:: @ 86AEB6C voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEDE8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEDF4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEE00 - voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 86AEE0C + voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 86AEE0C voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEE18 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEE24 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEE30 @@ -20076,7 +20076,7 @@ voicegroup_86AEB6C:: @ 86AEB6C .align 2 voicegroup_86AF16C:: @ 86AF16C voice_keysplit_all voicegroup_8676148 @ 86AF16C - voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 86AF178 + voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 86AF178 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF184 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF190 voice_directsound 60, 0, DirectSoundWaveData_871CBCC, 255, 188, 128, 226 @ 86AF19C @@ -20123,7 +20123,7 @@ voicegroup_86AF16C:: @ 86AF16C voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF388 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF394 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF3A0 - voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 86AF3AC + voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 86AF3AC voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF3B8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF3C4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF3D0 @@ -20207,7 +20207,7 @@ voicegroup_86AF16C:: @ 86AF16C .align 2 voicegroup_86AF76C:: @ 86AF76C voice_keysplit_all voicegroup_8676148 @ 86AF76C - voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 86AF778 + voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 86AF778 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF784 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF790 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF79C @@ -20254,7 +20254,7 @@ voicegroup_86AF76C:: @ 86AF76C voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF988 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF994 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF9A0 - voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 86AF9AC + voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 86AF9AC voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF9B8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF9C4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF9D0 @@ -20262,11 +20262,11 @@ voicegroup_86AF76C:: @ 86AF76C voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF9E8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF9F4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFA00 - voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 86AFA0C + voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 86AFA0C voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFA18 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFA24 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFA30 - voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 86AFA3C + voice_keysplit voicegroup_8677120, KeySplitTable5 @ 86AFA3C voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFA48 voice_directsound 60, 0, DirectSoundWaveData_870DE64, 255, 0, 255, 209 @ 86AFA54 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFA60 @@ -20658,7 +20658,7 @@ voicegroup_86B07B0:: @ 86B07B0 voicegroup_86B0BD0:: @ 86B0BD0 voice_keysplit_all voicegroup_86B0378 @ 86B0BD0 voice_keysplit_all voicegroup_86B0138 @ 86B0BDC - voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 86B0BE8 + voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 86B0BE8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0BF4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0C00 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0C0C @@ -20704,7 +20704,7 @@ voicegroup_86B0BD0:: @ 86B0BD0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0DEC voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0DF8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0E04 - voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 86B0E10 + voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 86B0E10 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0E1C voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0E28 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0E34 @@ -20712,11 +20712,11 @@ voicegroup_86B0BD0:: @ 86B0BD0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0E4C voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0E58 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0E64 - voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 86B0E70 + voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 86B0E70 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0E7C - voice_keysplit voicegroup_8677108, KeySplitTable_86B477C @ 86B0E88 + voice_keysplit voicegroup_8677108, KeySplitTable4 @ 86B0E88 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0E94 - voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 86B0EA0 + voice_keysplit voicegroup_8677120, KeySplitTable5 @ 86B0EA0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0EAC voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0EB8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0EC4 @@ -20748,7 +20748,7 @@ voicegroup_86B0BD0:: @ 86B0BD0 .align 2 voicegroup_86B0FF0:: @ 86B0FF0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0FF0 - voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 86B0FFC + voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 86B0FFC voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1008 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1014 voice_directsound 60, 0, DirectSoundWaveData_871CBCC, 64, 249, 0, 188 @ 86B1020 @@ -20879,7 +20879,7 @@ voicegroup_86B0FF0:: @ 86B0FF0 .align 2 voicegroup_86B15F0:: @ 86B15F0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B15F0 - voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 86B15FC + voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 86B15FC voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1608 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1614 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1620 @@ -20976,7 +20976,7 @@ voicegroup_86B1824:: @ 86B1824 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1A40 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1A4C voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 0, 193, 76 @ 86B1A58 - voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 86B1A64 + voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 86B1A64 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1A70 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1A7C voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1A88 @@ -20984,11 +20984,11 @@ voicegroup_86B1824:: @ 86B1824 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1AA0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1AAC voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1AB8 - voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 86B1AC4 + voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 86B1AC4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1AD0 - voice_keysplit voicegroup_8677108, KeySplitTable_86B477C @ 86B1ADC + voice_keysplit voicegroup_8677108, KeySplitTable4 @ 86B1ADC voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1AE8 - voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 86B1AF4 + voice_keysplit voicegroup_8677120, KeySplitTable5 @ 86B1AF4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1B00 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1B0C voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1B18 @@ -21287,7 +21287,7 @@ voicegroup_86B264C:: @ 86B264C voice_directsound 60, 0, DirectSoundWaveData_8726EF0, 255, 216, 0, 165 @ 86B2868 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2874 voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 246, 0, 226 @ 86B2880 - voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 86B288C + voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 86B288C voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2898 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B28A4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B28B0 @@ -21295,11 +21295,11 @@ voicegroup_86B264C:: @ 86B264C voice_directsound 60, 0, DirectSoundWaveData_86BA7E8, 85, 0, 154, 165 @ 86B28C8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B28D4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B28E0 - voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 86B28EC + voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 86B28EC voice_square_1 0, 2, 0, 0, 15, 0 @ 86B28F8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2904 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2910 - voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 86B291C + voice_keysplit voicegroup_8677120, KeySplitTable5 @ 86B291C voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2928 voice_directsound 60, 0, DirectSoundWaveData_870DE64, 255, 0, 255, 209 @ 86B2934 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2940 @@ -21371,7 +21371,7 @@ voicegroup_86B264C:: @ 86B264C .align 2 voicegroup_86B2C4C:: @ 86B2C4C voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2C4C - voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 86B2C58 + voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 86B2C58 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2C64 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2C70 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2C7C @@ -21502,7 +21502,7 @@ voicegroup_86B2C4C:: @ 86B2C4C .align 2 voicegroup_86B324C:: @ 86B324C voice_keysplit_all voicegroup_8676148 @ 86B324C - voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 86B3258 + voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 86B3258 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3264 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3270 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B327C @@ -21549,7 +21549,7 @@ voicegroup_86B324C:: @ 86B324C voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3468 voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 246, 0, 235 @ 86B3474 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3480 - voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 86B348C + voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 86B348C voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3498 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B34A4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B34B0 @@ -21557,11 +21557,11 @@ voicegroup_86B324C:: @ 86B324C voice_square_1 0, 2, 0, 0, 15, 0 @ 86B34C8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B34D4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B34E0 - voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 86B34EC + voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 86B34EC voice_square_1 0, 2, 0, 0, 15, 0 @ 86B34F8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3504 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3510 - voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 86B351C + voice_keysplit voicegroup_8677120, KeySplitTable5 @ 86B351C voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3528 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3534 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3540 @@ -21633,7 +21633,7 @@ voicegroup_86B324C:: @ 86B324C .align 2 voicegroup_86B384C:: @ 86B384C voice_keysplit_all voicegroup_8676148 @ 86B384C - voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 86B3858 + voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 86B3858 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3864 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3870 voice_directsound 60, 0, DirectSoundWaveData_871CBCC, 255, 188, 128, 226 @ 86B387C @@ -21680,7 +21680,7 @@ voicegroup_86B384C:: @ 86B384C voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3A68 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3A74 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3A80 - voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 86B3A8C + voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 86B3A8C voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3A98 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3AA4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3AB0 @@ -21764,7 +21764,7 @@ voicegroup_86B384C:: @ 86B384C .align 2 voicegroup_86B3E4C:: @ 86B3E4C voice_keysplit_all voicegroup_8676148 @ 86B3E4C - voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 86B3E58 + voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 86B3E58 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3E64 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3E70 voice_directsound 60, 0, DirectSoundWaveData_871CBCC, 255, 188, 128, 226 @ 86B3E7C @@ -21811,7 +21811,7 @@ voicegroup_86B3E4C:: @ 86B3E4C voice_square_1 0, 2, 0, 0, 15, 0 @ 86B4068 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B4074 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B4080 - voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 86B408C + voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 86B408C voice_square_1 0, 2, 0, 0, 15, 0 @ 86B4098 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B40A4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B40B0 From e25a7d0276ea0b91c0b59664a67f3d1f4f13748f Mon Sep 17 00:00:00 2001 From: Kurausukun <lord.uber1@gmail.com> Date: Fri, 21 Sep 2018 12:32:22 -0400 Subject: [PATCH 220/234] Update keysplit_tables.inc move instrument definitions to end of file --- sound/keysplit_tables.inc | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/sound/keysplit_tables.inc b/sound/keysplit_tables.inc index cc97f15bc9..0cd1094bf7 100644 --- a/sound/keysplit_tables.inc +++ b/sound/keysplit_tables.inc @@ -10,10 +10,6 @@ @ begins. Therefore, the notes naturally map to the key split table without @ any extra offset calculation. -@ This is weird. There are instruments at the beginning of the keysplit table. - voice_square_1 0, 2, 0, 0, 15, 0 @ 86B4698 - voice_directsound_no_resample 64, 104, DirectSoundWaveData_86DD11C, 255, 0, 255, 0 @ 86B46A4 - voice_directsound 63, 64, DirectSoundWaveData_86DE6C0, 255, 0, 255, 0 @ 86B46B0 .set KeySplitTable1, . - 36 .byte 0 @ 36 .byte 0 @ 37 @@ -395,3 +391,7 @@ .byte 1 @ 105 .byte 1 @ 106 .byte 1 @ 107 + + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B4698 + voice_directsound_no_resample 64, 104, DirectSoundWaveData_86DD11C, 255, 0, 255, 0 @ 86B46A4 + voice_directsound 63, 64, DirectSoundWaveData_86DE6C0, 255, 0, 255, 0 @ 86B46B0 From 3f7fb4fefdf4282bb334f667fd654a8f9ffa6ac4 Mon Sep 17 00:00:00 2001 From: Kurausukun <lord.uber1@gmail.com> Date: Fri, 21 Sep 2018 12:36:48 -0400 Subject: [PATCH 221/234] Update keysplit_tables.inc --- sound/keysplit_tables.inc | 4 ---- 1 file changed, 4 deletions(-) diff --git a/sound/keysplit_tables.inc b/sound/keysplit_tables.inc index 0cd1094bf7..81301ef62b 100644 --- a/sound/keysplit_tables.inc +++ b/sound/keysplit_tables.inc @@ -391,7 +391,3 @@ .byte 1 @ 105 .byte 1 @ 106 .byte 1 @ 107 - - voice_square_1 0, 2, 0, 0, 15, 0 @ 86B4698 - voice_directsound_no_resample 64, 104, DirectSoundWaveData_86DD11C, 255, 0, 255, 0 @ 86B46A4 - voice_directsound 63, 64, DirectSoundWaveData_86DE6C0, 255, 0, 255, 0 @ 86B46B0 From f9e88082347dfcf359281b46b35142b01be22f68 Mon Sep 17 00:00:00 2001 From: Kurausukun <lord.uber1@gmail.com> Date: Fri, 21 Sep 2018 12:42:32 -0400 Subject: [PATCH 222/234] Update voice_groups.inc Added instruments that were previously part of keysplit_tables.inc --- sound/voice_groups.inc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sound/voice_groups.inc b/sound/voice_groups.inc index 7dcc1a11d7..389af87019 100644 --- a/sound/voice_groups.inc +++ b/sound/voice_groups.inc @@ -21943,3 +21943,6 @@ voicegroup_86B429C:: @ 86B429C voice_directsound_no_resample 64, 39, DirectSoundWaveData_86DAA94, 255, 165, 103, 188 @ 86B4674 voice_directsound_no_resample 64, 64, DirectSoundWaveData_86DB908, 255, 0, 255, 0 @ 86B4680 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B468C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B4698 + voice_directsound_no_resample 64, 104, DirectSoundWaveData_86DD11C, 255, 0, 255, 0 @ 86B46A4 + voice_directsound 63, 64, DirectSoundWaveData_86DE6C0, 255, 0, 255, 0 @ 86B46B0 From 4d9c513e3e77af3923e056c532b48a008c2d2cfc Mon Sep 17 00:00:00 2001 From: Tetrable <atifhuss386@gmail.com> Date: Sat, 22 Sep 2018 12:50:24 +0100 Subject: [PATCH 223/234] Document and improve tileset_anims.c further --- src/tileset_anims.c | 156 ++++++++++++++++++++++---------------------- 1 file changed, 79 insertions(+), 77 deletions(-) diff --git a/src/tileset_anims.c b/src/tileset_anims.c index d05931dbad..fb2146bd27 100644 --- a/src/tileset_anims.c +++ b/src/tileset_anims.c @@ -1,4 +1,3 @@ - // Includes #include "global.h" #include "palette.h" @@ -7,6 +6,9 @@ #include "task.h" #include "battle_transition.h" +#define SECONDARY_TILESET_VRAM 0x2000 +#define TILE_VRAM(n) (0x20 * (n)) + // Static type declarations // Static RAM declarations @@ -223,25 +225,25 @@ const u16 gTilesetAnims_Mauville1b_Frame1[] = INCBIN_U16("data/tilesets/secondar const u16 tileset_anims_space_1[16] = {}; u16 *const gTilesetAnims_MauvilleVDests0[] = { - (u16 *)(BG_VRAM + 0x4c00), - (u16 *)(BG_VRAM + 0x4c80), - (u16 *)(BG_VRAM + 0x4d00), - (u16 *)(BG_VRAM + 0x4d80), - (u16 *)(BG_VRAM + 0x4e00), - (u16 *)(BG_VRAM + 0x4e80), - (u16 *)(BG_VRAM + 0x4f00), - (u16 *)(BG_VRAM + 0x4f80) + (u16 *)BG_VRAM + TILE_VRAM(0x260)), + (u16 *)BG_VRAM + TILE_VRAM(0x264)), + (u16 *)BG_VRAM + TILE_VRAM(0x268)), + (u16 *)BG_VRAM + TILE_VRAM(0x26C)), + (u16 *)BG_VRAM + TILE_VRAM(0x270)), + (u16 *)BG_VRAM + TILE_VRAM(0x274)), + (u16 *)BG_VRAM + TILE_VRAM(0x278)), + (u16 *)BG_VRAM + TILE_VRAM(0x27C)) }; u16 *const gTilesetAnims_MauvilleVDests1[] = { - (u16 *)(BG_VRAM + 0x5000), - (u16 *)(BG_VRAM + 0x5080), - (u16 *)(BG_VRAM + 0x5100), - (u16 *)(BG_VRAM + 0x5180), - (u16 *)(BG_VRAM + 0x5200), - (u16 *)(BG_VRAM + 0x5280), - (u16 *)(BG_VRAM + 0x5300), - (u16 *)(BG_VRAM + 0x5380) + (u16 *)BG_VRAM + TILE_VRAM(0x280)), + (u16 *)BG_VRAM + TILE_VRAM(0x284)), + (u16 *)BG_VRAM + TILE_VRAM(0x288)), + (u16 *)BG_VRAM + TILE_VRAM(0x28C)), + (u16 *)BG_VRAM + TILE_VRAM(0x290)), + (u16 *)BG_VRAM + TILE_VRAM(0x294)), + (u16 *)BG_VRAM + TILE_VRAM(0x298)), + (u16 *)BG_VRAM + TILE_VRAM(0x29C)) }; const u16 *const gTilesetAnims_Mauville0a[] = { @@ -305,14 +307,14 @@ const u16 gTilesetAnims_Rustboro0_Frame6[] = INCBIN_U16("data/tilesets/secondary const u16 gTilesetAnims_Rustboro0_Frame7[] = INCBIN_U16("data/tilesets/secondary/rustboro/anim/0/7.4bpp"); u16 *const gTilesetAnims_RustboroVDests0[] = { - (u16 *)(BG_VRAM + 0x5000), - (u16 *)(BG_VRAM + 0x5080), - (u16 *)(BG_VRAM + 0x5100), - (u16 *)(BG_VRAM + 0x5180), - (u16 *)(BG_VRAM + 0x5200), - (u16 *)(BG_VRAM + 0x5280), - (u16 *)(BG_VRAM + 0x5300), - (u16 *)(BG_VRAM + 0x5380) + (u16 *)BG_VRAM + TILE_VRAM(0x280)), + (u16 *)BG_VRAM + TILE_VRAM(0x284)), + (u16 *)BG_VRAM + TILE_VRAM(0x288)), + (u16 *)BG_VRAM + TILE_VRAM(0x28C)), + (u16 *)BG_VRAM + TILE_VRAM(0x290)), + (u16 *)BG_VRAM + TILE_VRAM(0x294)), + (u16 *)BG_VRAM + TILE_VRAM(0x298)), + (u16 *)BG_VRAM + TILE_VRAM(0x29C)) }; const u16 *const gTilesetAnims_Rustboro0[] = { @@ -381,14 +383,14 @@ const u16 gTilesetAnims_EverGrande0_Frame7[] = INCBIN_U16("data/tilesets/seconda const u16 tileset_anims_space_4[16] = {}; u16 *const gTilesetAnims_EverGrandeVDests0[] = { - (u16 *)(BG_VRAM + 0x5c00), - (u16 *)(BG_VRAM + 0x5c80), - (u16 *)(BG_VRAM + 0x5d00), - (u16 *)(BG_VRAM + 0x5d80), - (u16 *)(BG_VRAM + 0x5e00), - (u16 *)(BG_VRAM + 0x5e80), - (u16 *)(BG_VRAM + 0x5f00), - (u16 *)(BG_VRAM + 0x5f80) + (u16 *)BG_VRAM + TILE_VRAM(0x2E0)), + (u16 *)BG_VRAM + TILE_VRAM(0x2E4)), + (u16 *)BG_VRAM + TILE_VRAM(0x2E8)), + (u16 *)BG_VRAM + TILE_VRAM(0x2EC)), + (u16 *)BG_VRAM + TILE_VRAM(0x2F0)), + (u16 *)BG_VRAM + TILE_VRAM(0x2F4)), + (u16 *)BG_VRAM + TILE_VRAM(0x2F8)), + (u16 *)BG_VRAM + TILE_VRAM(0x2FC)) }; const u16 *const gTilesetAnims_EverGrande0[] = { @@ -714,27 +716,27 @@ void TilesetCb_InsideBuilding(void) sPrimaryTilesetCBCounter = 0; sPrimaryTilesetCBBufferSize = 0x100; - sPrimaryTilesetCB = sub_80A0BB4; + sPrimaryTilesetCB = sPrimaryTilesetTimer; } -static void sub_80A0B70(u16 timer) +static void sPrimaryTilesetTimer(u16 timer) { - static void sub_80A0BCC(u16); - static void sub_80A0BF4(u16); - static void sub_80A0C1C(u16); - static void sub_80A0C44(u16); - static void sub_80A12AC(u16); + static void gTilesetAnims_GeneralVDests0(u16); + static void gTilesetAnims_GeneralVDests1(u16); + static void gTilesetAnims_GeneralVDests2(u16); + static void gTilesetAnims_GeneralVDests3(u16); + static void gTilesetAnims_GeneralVDests4 (u16); if ((timer & 0x0F) == 0) - sub_80A0BCC(timer >> 4); + gTilesetAnims_GeneralVDests0(timer >> 4); if ((timer & 0x0F) == 1) - sub_80A0BF4(timer >> 4); + gTilesetAnims_GeneralVDests1(timer >> 4); if ((timer & 0x0F) == 2) - sub_80A0C1C(timer >> 4); + gTilesetAnims_GeneralVDests2(timer >> 4); if ((timer & 0x0F) == 3) - sub_80A0C44(timer >> 4); + gTilesetAnims_GeneralVDests3(timer >> 4); if ((timer & 0x0F) == 4) - sub_80A12AC(timer >> 4); + gTilesetAnims_GeneralVDests4 (timer >> 4); } static void sub_80A0BB4(u16 timer) @@ -745,36 +747,36 @@ static void sub_80A0BB4(u16 timer) sub_80A1688(timer >> 3); } -static void sub_80A0BCC(u16 timer) +static void gTilesetAnims_GeneralVDests0(u16 timer) { u16 idx; idx = timer % 4; - AppendTilesetAnimToBuffer(gTilesetAnims_General0[idx], (u16 *)(BG_VRAM + 0x3F80), 0x80); + AppendTilesetAnimToBuffer(gTilesetAnims_General0[idx], (u16 *)BG_VRAM + TILE_VRAM(0x1FC)), 0x80); } -static void sub_80A0BF4(u16 timer) +static void gTilesetAnims_GeneralVDests1(u16 timer) { u8 idx; idx = timer % 8; - AppendTilesetAnimToBuffer(gTilesetAnims_General1[idx], (u16 *)(BG_VRAM + 0x3600), 0x3C0); + AppendTilesetAnimToBuffer(gTilesetAnims_General1[idx], (u16 *)BG_VRAM + TILE_VRAM(0x1B0)), 0x3C0); } -static void sub_80A0C1C(u16 timer) +static void gTilesetAnims_GeneralVDests2(u16 timer) { u16 idx; idx = timer % 8; - AppendTilesetAnimToBuffer(gTilesetAnims_General2[idx], (u16 *)(BG_VRAM + 0x3a00), 0x140); + AppendTilesetAnimToBuffer(gTilesetAnims_General2[idx], (u16 *)BG_VRAM + TILE_VRAM(0x1D0)), 0x140); } -static void sub_80A0C44(u16 timer) +static void gTilesetAnims_GeneralVDests3(u16 timer) { u16 idx; idx = timer % 4; - AppendTilesetAnimToBuffer(gTilesetAnims_General3[idx], (u16 *)(BG_VRAM + 0x3e00), 0xc0); + AppendTilesetAnimToBuffer(gTilesetAnims_General3[idx], (u16 *)BG_VRAM + TILE_VRAM(0x1F0)), 0xc0); } void TilesetCb_Petalburg(void) @@ -1122,12 +1124,12 @@ static void sub_80A1294(u16 timer) sub_80A1570(timer >> 3); } -static void sub_80A12AC(u16 timer) +static void gTilesetAnims_GeneralVDests4 (u16 timer) { u16 idx; idx = timer % 4; - AppendTilesetAnimToBuffer(gTilesetAnims_General4[idx], (u16 *)(BG_VRAM + 0x3c00), 0x140); + AppendTilesetAnimToBuffer(gTilesetAnims_General4[idx], (u16 *)BG_VRAM + TILE_VRAM(0x1E0)), 0x140); } static void sub_80A12D4(u8 timer) @@ -1135,10 +1137,10 @@ static void sub_80A12D4(u8 timer) u8 idx; idx = timer % 4; - AppendTilesetAnimToBuffer(gTilesetAnims_Lavaridge0[idx], (u16 *)(BG_VRAM + 0x6400), 0x80); + AppendTilesetAnimToBuffer(gTilesetAnims_Lavaridge0[idx], (u16 *)BG_VRAM + TILE_VRAM(0x320)), 0x80); idx = (timer + 2) % 4; - AppendTilesetAnimToBuffer(gTilesetAnims_Lavaridge0[idx], (u16 *)(BG_VRAM + 0x6480), 0x80); + AppendTilesetAnimToBuffer(gTilesetAnims_Lavaridge0[idx], (u16 *)BG_VRAM + TILE_VRAM(0x324)), 0x80); } static void sub_80A131C(u8 timer) @@ -1146,7 +1148,7 @@ static void sub_80A131C(u8 timer) u8 idx; idx = timer % 4; - AppendTilesetAnimToBuffer(gTilesetAnims_Pacifidlog0[idx], (u16 *)(BG_VRAM + 0x7a00), 0x3C0); + AppendTilesetAnimToBuffer(gTilesetAnims_Pacifidlog0[idx], (u16 *)BG_VRAM + TILE_VRAM(0x3D0)), 0x3C0); } static void sub_80A1344(u8 timer) @@ -1154,7 +1156,7 @@ static void sub_80A1344(u8 timer) u8 idx; idx = timer % 4; - AppendTilesetAnimToBuffer(gTilesetAnims_Underwater0[idx], (u16 *)(BG_VRAM + 0x7e00), 0x80); + AppendTilesetAnimToBuffer(gTilesetAnims_Underwater0[idx], (u16 *)BG_VRAM + TILE_VRAM(0x3FO)), 0x80); } static void sub_80A136C(u8 timer) @@ -1162,7 +1164,7 @@ static void sub_80A136C(u8 timer) u8 idx; idx = timer % 8; - AppendTilesetAnimToBuffer(gTilesetAnims_Pacifidlog1[idx], (u16 *)(BG_VRAM + 0x7e00), 0x100); + AppendTilesetAnimToBuffer(gTilesetAnims_Pacifidlog1[idx], (u16 *)BG_VRAM + TILE_VRAM(0x3F0)), 0x100); } static void sub_80A1394(u16 timer_div, u8 timer_mod) @@ -1195,7 +1197,7 @@ static void sub_80A1470(u16 timer) u16 idx; idx = timer % 2; - AppendTilesetAnimToBuffer(gTilesetAnims_Rustboro1[idx], (u16 *)(BG_VRAM + 0x7800), 0x80); + AppendTilesetAnimToBuffer(gTilesetAnims_Rustboro1[idx], (u16 *)BG_VRAM + TILE_VRAM(0x3C0)), 0x80); } static void sub_80A1498(u16 timer) @@ -1203,7 +1205,7 @@ static void sub_80A1498(u16 timer) u16 idx; idx = timer % 4; - AppendTilesetAnimToBuffer(gTilesetAnims_Lavaridge1_Cave0[idx], (u16 *)(BG_VRAM + 0x5400), 0x80); + AppendTilesetAnimToBuffer(gTilesetAnims_Lavaridge1_Cave0[idx], (u16 *)BG_VRAM + TILE_VRAM(0x2A0), 0x80); } static void sub_80A14C0(u16 timer_div, u8 timer_mod) @@ -1219,7 +1221,7 @@ static void sub_80A14F8(u16 timer) u16 idx; idx = timer % 4; - AppendTilesetAnimToBuffer(gTilesetAnims_Lavaridge1_Cave0[idx], (u16 *)(BG_VRAM + 0x7400), 0x80); + AppendTilesetAnimToBuffer(gTilesetAnims_Lavaridge1_Cave0[idx], (u16 *)BG_VRAM + TILE_VRAM(0x3A0)), 0x80); } static void sub_80A1520(u16 timer) @@ -1227,7 +1229,7 @@ static void sub_80A1520(u16 timer) u16 idx; idx = timer % 4; - AppendTilesetAnimToBuffer(gTilesetAnims_Dewford0[idx], (u16 *)(BG_VRAM + 0x5540), 0xC0); + AppendTilesetAnimToBuffer(gTilesetAnims_Dewford0[idx], (u16 *)BG_VRAM + TILE_VRAM(0x2AA)), 0xC0); } static void sub_80A1548(u16 timer) @@ -1235,7 +1237,7 @@ static void sub_80A1548(u16 timer) u16 idx; idx = timer % 4; - AppendTilesetAnimToBuffer(gTilesetAnims_BattleFrontierOutsideWest0[idx], (u16 *)(BG_VRAM + 0x5b40), 0xC0); + AppendTilesetAnimToBuffer(gTilesetAnims_BattleFrontierOutsideWest0[idx], (u16 *)BG_VRAM + TILE_VRAM(0x2DA)), 0xC0); } static void sub_80A1570(u16 timer) @@ -1243,7 +1245,7 @@ static void sub_80A1570(u16 timer) u16 idx; idx = timer % 4; - AppendTilesetAnimToBuffer(gTilesetAnims_BattleFrontierOutsideEast0[idx], (u16 *)(BG_VRAM + 0x5b40), 0xC0); + AppendTilesetAnimToBuffer(gTilesetAnims_BattleFrontierOutsideEast0[idx], (u16 *)BG_VRAM + TILE_VRAM(0x2DA)), 0xC0); } static void sub_80A1598(u16 timer) @@ -1251,7 +1253,7 @@ static void sub_80A1598(u16 timer) u16 idx; idx = timer % 4; - AppendTilesetAnimToBuffer(gTilesetAnims_Slateport0[idx], (u16 *)(BG_VRAM + 0x5c00), 0x80); + AppendTilesetAnimToBuffer(gTilesetAnims_Slateport0[idx], (u16 *)BG_VRAM + TILE_VRAM(0x2E0)), 0x80); } static void sub_80A15C0(u16 timer) @@ -1321,7 +1323,7 @@ static void sub_80A1688(u16 timer) u16 idx; idx = timer % 2; - AppendTilesetAnimToBuffer(gTilesetAnims_InsideBuilding0[idx], (u16 *)(BG_VRAM + 0x3e00), 0x80); + AppendTilesetAnimToBuffer(gTilesetAnims_InsideBuilding0[idx], (u16 *)(BG_VRAM + TILE_VRAM(0x1F0)), 0x80); } static void sub_80A16B0(u16 timer) @@ -1329,8 +1331,8 @@ static void sub_80A16B0(u16 timer) u16 idx; idx = timer % 3; - AppendTilesetAnimToBuffer(gTilesetAnims_SootopolisGym0[idx], (u16 *)(BG_VRAM + 0x7e00), 0x180); - AppendTilesetAnimToBuffer(gTilesetAnims_SootopolisGym1[idx], (u16 *)(BG_VRAM + 0x7a00), 0x280); + AppendTilesetAnimToBuffer(gTilesetAnims_SootopolisGym0[idx], (u16 *))BG_VRAM + TILE_VRAM(0x3F0)), 0x180); + AppendTilesetAnimToBuffer(gTilesetAnims_SootopolisGym1[idx], (u16 *)(BG_VRAM + TILE_VRAM(0x3D0)), 0x280); } static void sub_80A16F8(u16 timer) @@ -1338,7 +1340,7 @@ static void sub_80A16F8(u16 timer) u16 idx; idx = timer % 4; - AppendTilesetAnimToBuffer(gTilesetAnims_EliteFour1[idx], (u16 *)(BG_VRAM + 0x7f00), 0x20); + AppendTilesetAnimToBuffer(gTilesetAnims_EliteFour1[idx], (u16 *)BG_VRAM + TILE_VRAM(0x3F8)), 0x20); } static void sub_80A1720(u16 timer) @@ -1346,7 +1348,7 @@ static void sub_80A1720(u16 timer) u16 idx; idx = timer % 2; - AppendTilesetAnimToBuffer(gTilesetAnims_EliteFour0[idx], (u16 *)(BG_VRAM + 0x7c00), 0x80); + AppendTilesetAnimToBuffer(gTilesetAnims_EliteFour0[idx], (u16 *)BG_VRAM + TILE_VRAM(0x3E0)), 0x80); } static void sub_80A1748(u16 timer) @@ -1354,7 +1356,7 @@ static void sub_80A1748(u16 timer) u16 idx; idx = timer % 2; - AppendTilesetAnimToBuffer(gTilesetAnims_MauvilleGym0[idx], (u16 *)(BG_VRAM + 0x5200), 0x200); + AppendTilesetAnimToBuffer(gTilesetAnims_MauvilleGym0[idx], (u16 *)BG_VRAM + TILE_VRAM(0x290)), 0x200); } static void sub_80A1770(u16 timer) @@ -1362,7 +1364,7 @@ static void sub_80A1770(u16 timer) u16 idx; idx = timer % 2; - AppendTilesetAnimToBuffer(gTilesetAnims_BikeShop0[idx], (u16 *)(BG_VRAM + 0x7e00), 0x120); + AppendTilesetAnimToBuffer(gTilesetAnims_BikeShop0[idx], (u16 *)BG_VRAM + TILE_VRAM(0x3F0)), 0x120); } static void sub_80A1798(u16 timer) @@ -1370,7 +1372,7 @@ static void sub_80A1798(u16 timer) u16 idx; idx = timer % 8; - AppendTilesetAnimToBuffer(gTilesetAnims_Sootopolis0[idx], (u16 *)(BG_VRAM + 0x5e00), 0xc00); + AppendTilesetAnimToBuffer(gTilesetAnims_Sootopolis0[idx], (u16 *)BG_VRAM + TILE_VRAM(0x2F0)), 0xc00); } static void sub_80A17C0(u16 timer) @@ -1378,7 +1380,7 @@ static void sub_80A17C0(u16 timer) u16 idx; idx = timer % 3; - AppendTilesetAnimToBuffer(gTilesetAnims_BattlePyramid0[idx], (u16 *)(BG_VRAM + 0x52e0), 0x100); + AppendTilesetAnimToBuffer(gTilesetAnims_BattlePyramid0[idx], (u16 *)BG_VRAM + TILE_VRAM(0x297)), 0x100); } static void sub_80A17EC(u16 timer) @@ -1386,7 +1388,7 @@ static void sub_80A17EC(u16 timer) u16 idx; idx = timer % 3; - AppendTilesetAnimToBuffer(gTilesetAnims_BattlePyramid1[idx], (u16 *)(BG_VRAM + 0x50e0), 0x100); + AppendTilesetAnimToBuffer(gTilesetAnims_BattlePyramid1[idx], (u16 *)BG_VRAM + TILE_VRAM(0x287)), 0x100); } static void sub_80A1818(u16 a1) From 1f767e4c4925f77f1a34c3da124b8be267a0b193 Mon Sep 17 00:00:00 2001 From: Tetrable <atifhuss386@gmail.com> Date: Sat, 22 Sep 2018 13:27:43 +0100 Subject: [PATCH 224/234] Document and make tileset_anims.c easier to use --- src/tileset_anims.c | 118 ++++++++++++++++++++++---------------------- 1 file changed, 59 insertions(+), 59 deletions(-) diff --git a/src/tileset_anims.c b/src/tileset_anims.c index fb2146bd27..3430b9e13a 100644 --- a/src/tileset_anims.c +++ b/src/tileset_anims.c @@ -225,25 +225,25 @@ const u16 gTilesetAnims_Mauville1b_Frame1[] = INCBIN_U16("data/tilesets/secondar const u16 tileset_anims_space_1[16] = {}; u16 *const gTilesetAnims_MauvilleVDests0[] = { - (u16 *)BG_VRAM + TILE_VRAM(0x260)), - (u16 *)BG_VRAM + TILE_VRAM(0x264)), - (u16 *)BG_VRAM + TILE_VRAM(0x268)), - (u16 *)BG_VRAM + TILE_VRAM(0x26C)), - (u16 *)BG_VRAM + TILE_VRAM(0x270)), - (u16 *)BG_VRAM + TILE_VRAM(0x274)), - (u16 *)BG_VRAM + TILE_VRAM(0x278)), - (u16 *)BG_VRAM + TILE_VRAM(0x27C)) + (u16 *)(BG_VRAM + 0x4c00), + (u16 *)(BG_VRAM + 0x4c80), + (u16 *)(BG_VRAM + 0x4d00), + (u16 *)(BG_VRAM + 0x4d80), + (u16 *)(BG_VRAM + 0x4e00), + (u16 *)(BG_VRAM + 0x4e80), + (u16 *)(BG_VRAM + 0x4f00), + (u16 *)(BG_VRAM + 0x4f80) }; u16 *const gTilesetAnims_MauvilleVDests1[] = { - (u16 *)BG_VRAM + TILE_VRAM(0x280)), - (u16 *)BG_VRAM + TILE_VRAM(0x284)), - (u16 *)BG_VRAM + TILE_VRAM(0x288)), - (u16 *)BG_VRAM + TILE_VRAM(0x28C)), - (u16 *)BG_VRAM + TILE_VRAM(0x290)), - (u16 *)BG_VRAM + TILE_VRAM(0x294)), - (u16 *)BG_VRAM + TILE_VRAM(0x298)), - (u16 *)BG_VRAM + TILE_VRAM(0x29C)) + (u16 *)(BG_VRAM + 0x5000), + (u16 *)(BG_VRAM + 0x5080), + (u16 *)(BG_VRAM + 0x5100), + (u16 *)(BG_VRAM + 0x5180), + (u16 *)(BG_VRAM + 0x5200), + (u16 *)(BG_VRAM + 0x5280), + (u16 *)(BG_VRAM + 0x5300), + (u16 *)(BG_VRAM + 0x5380) }; const u16 *const gTilesetAnims_Mauville0a[] = { @@ -307,14 +307,14 @@ const u16 gTilesetAnims_Rustboro0_Frame6[] = INCBIN_U16("data/tilesets/secondary const u16 gTilesetAnims_Rustboro0_Frame7[] = INCBIN_U16("data/tilesets/secondary/rustboro/anim/0/7.4bpp"); u16 *const gTilesetAnims_RustboroVDests0[] = { - (u16 *)BG_VRAM + TILE_VRAM(0x280)), - (u16 *)BG_VRAM + TILE_VRAM(0x284)), - (u16 *)BG_VRAM + TILE_VRAM(0x288)), - (u16 *)BG_VRAM + TILE_VRAM(0x28C)), - (u16 *)BG_VRAM + TILE_VRAM(0x290)), - (u16 *)BG_VRAM + TILE_VRAM(0x294)), - (u16 *)BG_VRAM + TILE_VRAM(0x298)), - (u16 *)BG_VRAM + TILE_VRAM(0x29C)) + (u16 *)(BG_VRAM + 0x5000), + (u16 *)(BG_VRAM + 0x5080), + (u16 *)(BG_VRAM + 0x5100), + (u16 *)(BG_VRAM + 0x5180), + (u16 *)(BG_VRAM + 0x5200), + (u16 *)(BG_VRAM + 0x5280), + (u16 *)(BG_VRAM + 0x5300), + (u16 *)(BG_VRAM + 0x5380) }; const u16 *const gTilesetAnims_Rustboro0[] = { @@ -383,14 +383,14 @@ const u16 gTilesetAnims_EverGrande0_Frame7[] = INCBIN_U16("data/tilesets/seconda const u16 tileset_anims_space_4[16] = {}; u16 *const gTilesetAnims_EverGrandeVDests0[] = { - (u16 *)BG_VRAM + TILE_VRAM(0x2E0)), - (u16 *)BG_VRAM + TILE_VRAM(0x2E4)), - (u16 *)BG_VRAM + TILE_VRAM(0x2E8)), - (u16 *)BG_VRAM + TILE_VRAM(0x2EC)), - (u16 *)BG_VRAM + TILE_VRAM(0x2F0)), - (u16 *)BG_VRAM + TILE_VRAM(0x2F4)), - (u16 *)BG_VRAM + TILE_VRAM(0x2F8)), - (u16 *)BG_VRAM + TILE_VRAM(0x2FC)) + (u16 *)(BG_VRAM + 0x5c00), + (u16 *)(BG_VRAM + 0x5c80), + (u16 *)(BG_VRAM + 0x5d00), + (u16 *)(BG_VRAM + 0x5d80), + (u16 *)(BG_VRAM + 0x5e00), + (u16 *)(BG_VRAM + 0x5e80), + (u16 *)(BG_VRAM + 0x5f00), + (u16 *)(BG_VRAM + 0x5f80) }; const u16 *const gTilesetAnims_EverGrande0[] = { @@ -716,10 +716,10 @@ void TilesetCb_InsideBuilding(void) sPrimaryTilesetCBCounter = 0; sPrimaryTilesetCBBufferSize = 0x100; - sPrimaryTilesetCB = sPrimaryTilesetTimer; + sPrimaryTilesetCB = sub_80A0BB4; } -static void sPrimaryTilesetTimer(u16 timer) +static void sub_80A0B70(u16 timer) { static void gTilesetAnims_GeneralVDests0(u16); static void gTilesetAnims_GeneralVDests1(u16); @@ -752,7 +752,7 @@ static void gTilesetAnims_GeneralVDests0(u16 timer) u16 idx; idx = timer % 4; - AppendTilesetAnimToBuffer(gTilesetAnims_General0[idx], (u16 *)BG_VRAM + TILE_VRAM(0x1FC)), 0x80); + AppendTilesetAnimToBuffer(gTilesetAnims_General0[idx], (u16 *)(BG_VRAM + TILE_VRAM(0x1FC)), 0x80); } static void gTilesetAnims_GeneralVDests1(u16 timer) @@ -760,7 +760,7 @@ static void gTilesetAnims_GeneralVDests1(u16 timer) u8 idx; idx = timer % 8; - AppendTilesetAnimToBuffer(gTilesetAnims_General1[idx], (u16 *)BG_VRAM + TILE_VRAM(0x1B0)), 0x3C0); + AppendTilesetAnimToBuffer(gTilesetAnims_General1[idx], (u16 *)(BG_VRAM + TILE_VRAM(0x1B0)), 0x3C0); } static void gTilesetAnims_GeneralVDests2(u16 timer) @@ -768,7 +768,7 @@ static void gTilesetAnims_GeneralVDests2(u16 timer) u16 idx; idx = timer % 8; - AppendTilesetAnimToBuffer(gTilesetAnims_General2[idx], (u16 *)BG_VRAM + TILE_VRAM(0x1D0)), 0x140); + AppendTilesetAnimToBuffer(gTilesetAnims_General2[idx], (u16 *)(BG_VRAM + TILE_VRAM(0x1D0)), 0x140); } static void gTilesetAnims_GeneralVDests3(u16 timer) @@ -776,7 +776,7 @@ static void gTilesetAnims_GeneralVDests3(u16 timer) u16 idx; idx = timer % 4; - AppendTilesetAnimToBuffer(gTilesetAnims_General3[idx], (u16 *)BG_VRAM + TILE_VRAM(0x1F0)), 0xc0); + AppendTilesetAnimToBuffer(gTilesetAnims_General3[idx], (u16 *)(BG_VRAM + TILE_VRAM(0x1F0)), 0xc0); } void TilesetCb_Petalburg(void) @@ -1129,7 +1129,7 @@ static void gTilesetAnims_GeneralVDests4 (u16 timer) u16 idx; idx = timer % 4; - AppendTilesetAnimToBuffer(gTilesetAnims_General4[idx], (u16 *)BG_VRAM + TILE_VRAM(0x1E0)), 0x140); + AppendTilesetAnimToBuffer(gTilesetAnims_General4[idx], (u16 *)(BG_VRAM + TILE_VRAM(0x1E0)), 0x140); } static void sub_80A12D4(u8 timer) @@ -1137,10 +1137,10 @@ static void sub_80A12D4(u8 timer) u8 idx; idx = timer % 4; - AppendTilesetAnimToBuffer(gTilesetAnims_Lavaridge0[idx], (u16 *)BG_VRAM + TILE_VRAM(0x320)), 0x80); + AppendTilesetAnimToBuffer(gTilesetAnims_Lavaridge0[idx], (u16 *)(BG_VRAM + TILE_VRAM(0x320)), 0x80); idx = (timer + 2) % 4; - AppendTilesetAnimToBuffer(gTilesetAnims_Lavaridge0[idx], (u16 *)BG_VRAM + TILE_VRAM(0x324)), 0x80); + AppendTilesetAnimToBuffer(gTilesetAnims_Lavaridge0[idx], (u16 *)(BG_VRAM + TILE_VRAM(0x324)), 0x80); } static void sub_80A131C(u8 timer) @@ -1148,7 +1148,7 @@ static void sub_80A131C(u8 timer) u8 idx; idx = timer % 4; - AppendTilesetAnimToBuffer(gTilesetAnims_Pacifidlog0[idx], (u16 *)BG_VRAM + TILE_VRAM(0x3D0)), 0x3C0); + AppendTilesetAnimToBuffer(gTilesetAnims_Pacifidlog0[idx], (u16 *)(BG_VRAM + TILE_VRAM(0x3D0)), 0x3C0); } static void sub_80A1344(u8 timer) @@ -1156,7 +1156,7 @@ static void sub_80A1344(u8 timer) u8 idx; idx = timer % 4; - AppendTilesetAnimToBuffer(gTilesetAnims_Underwater0[idx], (u16 *)BG_VRAM + TILE_VRAM(0x3FO)), 0x80); + AppendTilesetAnimToBuffer(gTilesetAnims_Underwater0[idx], (u16 *)(BG_VRAM + TILE_VRAM(0x3F0)), 0x80); } static void sub_80A136C(u8 timer) @@ -1164,7 +1164,7 @@ static void sub_80A136C(u8 timer) u8 idx; idx = timer % 8; - AppendTilesetAnimToBuffer(gTilesetAnims_Pacifidlog1[idx], (u16 *)BG_VRAM + TILE_VRAM(0x3F0)), 0x100); + AppendTilesetAnimToBuffer(gTilesetAnims_Pacifidlog1[idx], (u16 *)(BG_VRAM + TILE_VRAM(0x3F0)), 0x100); } static void sub_80A1394(u16 timer_div, u8 timer_mod) @@ -1197,7 +1197,7 @@ static void sub_80A1470(u16 timer) u16 idx; idx = timer % 2; - AppendTilesetAnimToBuffer(gTilesetAnims_Rustboro1[idx], (u16 *)BG_VRAM + TILE_VRAM(0x3C0)), 0x80); + AppendTilesetAnimToBuffer(gTilesetAnims_Rustboro1[idx], (u16 *)(BG_VRAM + TILE_VRAM(0x3C0)), 0x80); } static void sub_80A1498(u16 timer) @@ -1205,7 +1205,7 @@ static void sub_80A1498(u16 timer) u16 idx; idx = timer % 4; - AppendTilesetAnimToBuffer(gTilesetAnims_Lavaridge1_Cave0[idx], (u16 *)BG_VRAM + TILE_VRAM(0x2A0), 0x80); + AppendTilesetAnimToBuffer(gTilesetAnims_Lavaridge1_Cave0[idx], (u16 *)(BG_VRAM + TILE_VRAM(0x2A0)), 0x80); } static void sub_80A14C0(u16 timer_div, u8 timer_mod) @@ -1221,7 +1221,7 @@ static void sub_80A14F8(u16 timer) u16 idx; idx = timer % 4; - AppendTilesetAnimToBuffer(gTilesetAnims_Lavaridge1_Cave0[idx], (u16 *)BG_VRAM + TILE_VRAM(0x3A0)), 0x80); + AppendTilesetAnimToBuffer(gTilesetAnims_Lavaridge1_Cave0[idx], (u16 *)(BG_VRAM + TILE_VRAM(0x3A0)), 0x80); } static void sub_80A1520(u16 timer) @@ -1229,7 +1229,7 @@ static void sub_80A1520(u16 timer) u16 idx; idx = timer % 4; - AppendTilesetAnimToBuffer(gTilesetAnims_Dewford0[idx], (u16 *)BG_VRAM + TILE_VRAM(0x2AA)), 0xC0); + AppendTilesetAnimToBuffer(gTilesetAnims_Dewford0[idx], (u16 *)(BG_VRAM + TILE_VRAM(0x2AA)), 0xC0); } static void sub_80A1548(u16 timer) @@ -1237,7 +1237,7 @@ static void sub_80A1548(u16 timer) u16 idx; idx = timer % 4; - AppendTilesetAnimToBuffer(gTilesetAnims_BattleFrontierOutsideWest0[idx], (u16 *)BG_VRAM + TILE_VRAM(0x2DA)), 0xC0); + AppendTilesetAnimToBuffer(gTilesetAnims_BattleFrontierOutsideWest0[idx], (u16 *)(BG_VRAM + TILE_VRAM(0x2DA)), 0xC0); } static void sub_80A1570(u16 timer) @@ -1245,7 +1245,7 @@ static void sub_80A1570(u16 timer) u16 idx; idx = timer % 4; - AppendTilesetAnimToBuffer(gTilesetAnims_BattleFrontierOutsideEast0[idx], (u16 *)BG_VRAM + TILE_VRAM(0x2DA)), 0xC0); + AppendTilesetAnimToBuffer(gTilesetAnims_BattleFrontierOutsideEast0[idx], (u16 *)(BG_VRAM + TILE_VRAM(0x2DA)), 0xC0); } static void sub_80A1598(u16 timer) @@ -1253,7 +1253,7 @@ static void sub_80A1598(u16 timer) u16 idx; idx = timer % 4; - AppendTilesetAnimToBuffer(gTilesetAnims_Slateport0[idx], (u16 *)BG_VRAM + TILE_VRAM(0x2E0)), 0x80); + AppendTilesetAnimToBuffer(gTilesetAnims_Slateport0[idx], (u16 *)(BG_VRAM + TILE_VRAM(0x2E0)), 0x80); } static void sub_80A15C0(u16 timer) @@ -1331,7 +1331,7 @@ static void sub_80A16B0(u16 timer) u16 idx; idx = timer % 3; - AppendTilesetAnimToBuffer(gTilesetAnims_SootopolisGym0[idx], (u16 *))BG_VRAM + TILE_VRAM(0x3F0)), 0x180); + AppendTilesetAnimToBuffer(gTilesetAnims_SootopolisGym0[idx], (u16 *)(BG_VRAM + TILE_VRAM(0x3F0)), 0x180); AppendTilesetAnimToBuffer(gTilesetAnims_SootopolisGym1[idx], (u16 *)(BG_VRAM + TILE_VRAM(0x3D0)), 0x280); } @@ -1340,7 +1340,7 @@ static void sub_80A16F8(u16 timer) u16 idx; idx = timer % 4; - AppendTilesetAnimToBuffer(gTilesetAnims_EliteFour1[idx], (u16 *)BG_VRAM + TILE_VRAM(0x3F8)), 0x20); + AppendTilesetAnimToBuffer(gTilesetAnims_EliteFour1[idx], (u16 *)(BG_VRAM + TILE_VRAM(0x3F8)), 0x20); } static void sub_80A1720(u16 timer) @@ -1348,7 +1348,7 @@ static void sub_80A1720(u16 timer) u16 idx; idx = timer % 2; - AppendTilesetAnimToBuffer(gTilesetAnims_EliteFour0[idx], (u16 *)BG_VRAM + TILE_VRAM(0x3E0)), 0x80); + AppendTilesetAnimToBuffer(gTilesetAnims_EliteFour0[idx], (u16 *)(BG_VRAM + TILE_VRAM(0x3E0)), 0x80); } static void sub_80A1748(u16 timer) @@ -1356,7 +1356,7 @@ static void sub_80A1748(u16 timer) u16 idx; idx = timer % 2; - AppendTilesetAnimToBuffer(gTilesetAnims_MauvilleGym0[idx], (u16 *)BG_VRAM + TILE_VRAM(0x290)), 0x200); + AppendTilesetAnimToBuffer(gTilesetAnims_MauvilleGym0[idx], (u16 *)(BG_VRAM + TILE_VRAM(0x290)), 0x200); } static void sub_80A1770(u16 timer) @@ -1364,7 +1364,7 @@ static void sub_80A1770(u16 timer) u16 idx; idx = timer % 2; - AppendTilesetAnimToBuffer(gTilesetAnims_BikeShop0[idx], (u16 *)BG_VRAM + TILE_VRAM(0x3F0)), 0x120); + AppendTilesetAnimToBuffer(gTilesetAnims_BikeShop0[idx], (u16 *)(BG_VRAM + TILE_VRAM(0x3F0)), 0x120); } static void sub_80A1798(u16 timer) @@ -1372,7 +1372,7 @@ static void sub_80A1798(u16 timer) u16 idx; idx = timer % 8; - AppendTilesetAnimToBuffer(gTilesetAnims_Sootopolis0[idx], (u16 *)BG_VRAM + TILE_VRAM(0x2F0)), 0xc00); + AppendTilesetAnimToBuffer(gTilesetAnims_Sootopolis0[idx], (u16 *)(BG_VRAM + TILE_VRAM(0x2F0)), 0xc00); } static void sub_80A17C0(u16 timer) @@ -1380,7 +1380,7 @@ static void sub_80A17C0(u16 timer) u16 idx; idx = timer % 3; - AppendTilesetAnimToBuffer(gTilesetAnims_BattlePyramid0[idx], (u16 *)BG_VRAM + TILE_VRAM(0x297)), 0x100); + AppendTilesetAnimToBuffer(gTilesetAnims_BattlePyramid0[idx], (u16 *)(BG_VRAM + TILE_VRAM(0x297)), 0x100); } static void sub_80A17EC(u16 timer) @@ -1388,7 +1388,7 @@ static void sub_80A17EC(u16 timer) u16 idx; idx = timer % 3; - AppendTilesetAnimToBuffer(gTilesetAnims_BattlePyramid1[idx], (u16 *)BG_VRAM + TILE_VRAM(0x287)), 0x100); + AppendTilesetAnimToBuffer(gTilesetAnims_BattlePyramid1[idx], (u16 *)(BG_VRAM + TILE_VRAM(0x287)), 0x100); } static void sub_80A1818(u16 a1) From e362c06aea1ea68b79d23f5147549fb709c50fef Mon Sep 17 00:00:00 2001 From: DizzyEggg <jajkodizzy@wp.pl> Date: Sat, 22 Sep 2018 18:41:00 +0200 Subject: [PATCH 225/234] gRandomMove to gCalledMove --- asm/macros/battle_script.inc | 2 +- data/battle_scripts_1.s | 6 +++--- include/battle.h | 2 +- src/battle_main.c | 2 +- src/battle_script_commands.c | 18 +++++++++--------- src/battle_util.c | 4 ++-- 6 files changed, 17 insertions(+), 17 deletions(-) diff --git a/asm/macros/battle_script.inc b/asm/macros/battle_script.inc index 34d529cc7e..5b283b6474 100644 --- a/asm/macros/battle_script.inc +++ b/asm/macros/battle_script.inc @@ -530,7 +530,7 @@ .byte \battler .endm - .macro jumptorandomattack param0 + .macro jumptocalledattack param0 .byte 0x63 .byte \param0 .endm diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index 0c5e172b04..a9dfd7635a 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -1354,7 +1354,7 @@ BattleScript_SleepTalkUsingMove:: waitanimation setbyte sB_ANIM_TURN, 0x0 setbyte sB_ANIM_TARGETS_HIT, 0x0 - jumptorandomattack TRUE + jumptocalledattack TRUE BattleScript_EffectDestinyBond:: attackcanceler @@ -2399,7 +2399,7 @@ BattleScript_EffectAssist:: waitanimation setbyte sB_ANIM_TURN, 0x0 setbyte sB_ANIM_TARGETS_HIT, 0x0 - jumptorandomattack TRUE + jumptocalledattack TRUE BattleScript_EffectIngrain:: attackcanceler @@ -4260,7 +4260,7 @@ BattleScript_IgnoresWhileAsleep:: BattleScript_IgnoresAndUsesRandomMove:: printstring STRINGID_PKMNIGNOREDORDERS waitmessage 0x40 - jumptorandomattack FALSE + jumptocalledattack FALSE BattleScript_MoveUsedLoafingAround:: jumpifbyte CMP_NOT_EQUAL, cMULTISTRING_CHOOSER, 0x4, BattleScript_82DB6C7 diff --git a/include/battle.h b/include/battle.h index fae21908b3..ae1eccf576 100644 --- a/include/battle.h +++ b/include/battle.h @@ -730,7 +730,7 @@ extern u8 gCurrMovePos; extern u8 gChosenMovePos; extern u16 gCurrentMove; extern u16 gChosenMove; -extern u16 gRandomMove; +extern u16 gCalledMove; extern s32 gBattleMoveDamage; extern s32 gHpDealt; extern s32 gTakenDmg[MAX_BATTLERS_COUNT]; diff --git a/src/battle_main.c b/src/battle_main.c index 12e49ee651..8f5d39055b 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -219,7 +219,7 @@ EWRAM_DATA u8 gCurrMovePos = 0; EWRAM_DATA u8 gChosenMovePos = 0; EWRAM_DATA u16 gCurrentMove = 0; EWRAM_DATA u16 gChosenMove = 0; -EWRAM_DATA u16 gRandomMove = 0; +EWRAM_DATA u16 gCalledMove = 0; EWRAM_DATA s32 gBattleMoveDamage = 0; EWRAM_DATA s32 gHpDealt = 0; EWRAM_DATA s32 gTakenDmg[MAX_BATTLERS_COUNT] = {0}; diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 90dacc8cbd..c8f3f11752 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -190,7 +190,7 @@ static void atk5F_swapattackerwithtarget(void); static void atk60_incrementgamestat(void); static void atk61_drawpartystatussummary(void); static void atk62_hidepartystatussummary(void); -static void atk63_jumptorandomattack(void); +static void atk63_jumptocalledattack(void); static void atk64_statusanimation(void); static void atk65_status2animation(void); static void atk66_chosenstatusanimation(void); @@ -442,7 +442,7 @@ void (* const gBattleScriptingCommandsTable[])(void) = atk60_incrementgamestat, atk61_drawpartystatussummary, atk62_hidepartystatussummary, - atk63_jumptorandomattack, + atk63_jumptocalledattack, atk64_statusanimation, atk65_status2animation, atk66_chosenstatusanimation, @@ -6049,12 +6049,12 @@ static void atk62_hidepartystatussummary(void) gBattlescriptCurrInstr += 2; } -static void atk63_jumptorandomattack(void) +static void atk63_jumptocalledattack(void) { if (gBattlescriptCurrInstr[1]) - gCurrentMove = gRandomMove; + gCurrentMove = gCalledMove; else - gChosenMove = gCurrentMove = gRandomMove; + gChosenMove = gCurrentMove = gCalledMove; gBattlescriptCurrInstr = gBattleScriptsForMoveEffects[gBattleMoves[gCurrentMove].effect]; } @@ -8509,10 +8509,10 @@ static void atkA9_trychoosesleeptalkmove(void) movePosition = Random() & 3; } while ((gBitTable[movePosition] & unusableMovesBits)); - gRandomMove = gBattleMons[gBattlerAttacker].moves[movePosition]; + gCalledMove = gBattleMons[gBattlerAttacker].moves[movePosition]; gCurrMovePos = movePosition; gHitMarker &= ~(HITMARKER_ATTACKSTRING_PRINTED); - gBattlerTarget = GetMoveTarget(gRandomMove, 0); + gBattlerTarget = GetMoveTarget(gCalledMove, 0); gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); } } @@ -9737,8 +9737,8 @@ static void atkDE_asistattackselect(void) if (chooseableMovesNo) { gHitMarker &= ~(HITMARKER_ATTACKSTRING_PRINTED); - gRandomMove = movesArray[((Random() & 0xFF) * chooseableMovesNo) >> 8]; - gBattlerTarget = GetMoveTarget(gRandomMove, 0); + gCalledMove = movesArray[((Random() & 0xFF) * chooseableMovesNo) >> 8]; + gBattlerTarget = GetMoveTarget(gCalledMove, 0); gBattlescriptCurrInstr += 5; } else diff --git a/src/battle_util.c b/src/battle_util.c index 5096a2f3ae..79ce180ee5 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -3408,9 +3408,9 @@ u8 IsMonDisobedient(void) gCurrMovePos = gChosenMovePos = Random() & 3; } while (gBitTable[gCurrMovePos] & calc); - gRandomMove = gBattleMons[gBattlerAttacker].moves[gCurrMovePos]; + gCalledMove = gBattleMons[gBattlerAttacker].moves[gCurrMovePos]; gBattlescriptCurrInstr = BattleScript_IgnoresAndUsesRandomMove; - gBattlerTarget = GetMoveTarget(gRandomMove, 0); + gBattlerTarget = GetMoveTarget(gCalledMove, 0); gHitMarker |= HITMARKER_x200000; return 2; } From 611360c29e682ee38779b6ba0ee120032903bf3a Mon Sep 17 00:00:00 2001 From: DizzyEggg <jajkodizzy@wp.pl> Date: Sat, 22 Sep 2018 19:08:41 +0200 Subject: [PATCH 226/234] calledattack to calledmove --- asm/macros/battle_script.inc | 2 +- data/battle_scripts_1.s | 6 +++--- src/battle_script_commands.c | 6 +++--- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/asm/macros/battle_script.inc b/asm/macros/battle_script.inc index 5b283b6474..927a0edd1f 100644 --- a/asm/macros/battle_script.inc +++ b/asm/macros/battle_script.inc @@ -530,7 +530,7 @@ .byte \battler .endm - .macro jumptocalledattack param0 + .macro jumptocalledmove param0 .byte 0x63 .byte \param0 .endm diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index a9dfd7635a..a01066be14 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -1354,7 +1354,7 @@ BattleScript_SleepTalkUsingMove:: waitanimation setbyte sB_ANIM_TURN, 0x0 setbyte sB_ANIM_TARGETS_HIT, 0x0 - jumptocalledattack TRUE + jumptocalledmove TRUE BattleScript_EffectDestinyBond:: attackcanceler @@ -2399,7 +2399,7 @@ BattleScript_EffectAssist:: waitanimation setbyte sB_ANIM_TURN, 0x0 setbyte sB_ANIM_TARGETS_HIT, 0x0 - jumptocalledattack TRUE + jumptocalledmove TRUE BattleScript_EffectIngrain:: attackcanceler @@ -4260,7 +4260,7 @@ BattleScript_IgnoresWhileAsleep:: BattleScript_IgnoresAndUsesRandomMove:: printstring STRINGID_PKMNIGNOREDORDERS waitmessage 0x40 - jumptocalledattack FALSE + jumptocalledmove FALSE BattleScript_MoveUsedLoafingAround:: jumpifbyte CMP_NOT_EQUAL, cMULTISTRING_CHOOSER, 0x4, BattleScript_82DB6C7 diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index c8f3f11752..10b432d8ea 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -190,7 +190,7 @@ static void atk5F_swapattackerwithtarget(void); static void atk60_incrementgamestat(void); static void atk61_drawpartystatussummary(void); static void atk62_hidepartystatussummary(void); -static void atk63_jumptocalledattack(void); +static void atk63_jumptocalledmove(void); static void atk64_statusanimation(void); static void atk65_status2animation(void); static void atk66_chosenstatusanimation(void); @@ -442,7 +442,7 @@ void (* const gBattleScriptingCommandsTable[])(void) = atk60_incrementgamestat, atk61_drawpartystatussummary, atk62_hidepartystatussummary, - atk63_jumptocalledattack, + atk63_jumptocalledmove, atk64_statusanimation, atk65_status2animation, atk66_chosenstatusanimation, @@ -6049,7 +6049,7 @@ static void atk62_hidepartystatussummary(void) gBattlescriptCurrInstr += 2; } -static void atk63_jumptocalledattack(void) +static void atk63_jumptocalledmove(void) { if (gBattlescriptCurrInstr[1]) gCurrentMove = gCalledMove; From f6131763085175cfbe027089e96afa840e774ea1 Mon Sep 17 00:00:00 2001 From: Diegoisawesome <diego@domoreaweso.me> Date: Sat, 22 Sep 2018 13:54:00 -0500 Subject: [PATCH 227/234] Fix order of initial vol command --- tools/mid2agb/agb.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/tools/mid2agb/agb.cpp b/tools/mid2agb/agb.cpp index 9ff1efa861..5023455ca9 100644 --- a/tools/mid2agb/agb.cpp +++ b/tools/mid2agb/agb.cpp @@ -334,8 +334,6 @@ void PrintAgbTrack(std::vector<Event>& events) { std::fprintf(g_outputFile, "\n@**************** Track %u (Midi-Chn.%u) ****************@\n\n", g_agbTrack, g_midiChan + 1); std::fprintf(g_outputFile, "%s_%u:\n", g_asmLabel.c_str(), g_agbTrack); - PrintWait(g_initialWait); - PrintByte("KEYSH , %s_key%+d", g_asmLabel.c_str(), 0); int wholeNoteCount = 0; int loopEndBlockNum = 0; @@ -359,6 +357,9 @@ void PrintAgbTrack(std::vector<Event>& events) if (!foundVolBeforeNote) PrintByte("\tVOL , 127*%s_mvl/mxv", g_asmLabel.c_str()); + PrintWait(g_initialWait); + PrintByte("KEYSH , %s_key%+d", g_asmLabel.c_str(), 0); + for (unsigned i = 0; events[i].type != EventType::EndOfTrack; i++) { const Event& event = events[i]; From d50554bb8e90d314ae0131e925224406992a4c97 Mon Sep 17 00:00:00 2001 From: Diegoisawesome <diego@domoreaweso.me> Date: Sat, 22 Sep 2018 15:02:49 -0500 Subject: [PATCH 228/234] Use macros and defines in tileset_anims --- include/gba/defines.h | 3 +++ src/tileset_anims.c | 55 ++++++++++++++++++++++--------------------- 2 files changed, 31 insertions(+), 27 deletions(-) diff --git a/include/gba/defines.h b/include/gba/defines.h index 1eed6303d1..16f1315d04 100644 --- a/include/gba/defines.h +++ b/include/gba/defines.h @@ -61,6 +61,9 @@ #define TILE_SIZE_4BPP 32 #define TILE_SIZE_8BPP 64 +#define TILE_OFFSET_4BPP(n) ((n) * TILE_SIZE_4BPP) +#define TILE_OFFSET_8BPP(n) ((n) * TILE_SIZE_8BPP) + #define TOTAL_OBJ_TILE_COUNT 1024 #define WIN_RANGE(a, b) (((a) << 8) | (b)) diff --git a/src/tileset_anims.c b/src/tileset_anims.c index d05931dbad..06c5e68520 100644 --- a/src/tileset_anims.c +++ b/src/tileset_anims.c @@ -6,6 +6,7 @@ #include "battle_transition.h" #include "task.h" #include "battle_transition.h" +#include "fieldmap.h" // Static type declarations @@ -750,7 +751,7 @@ static void sub_80A0BCC(u16 timer) u16 idx; idx = timer % 4; - AppendTilesetAnimToBuffer(gTilesetAnims_General0[idx], (u16 *)(BG_VRAM + 0x3F80), 0x80); + AppendTilesetAnimToBuffer(gTilesetAnims_General0[idx], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(508)), 0x80); } static void sub_80A0BF4(u16 timer) @@ -758,7 +759,7 @@ static void sub_80A0BF4(u16 timer) u8 idx; idx = timer % 8; - AppendTilesetAnimToBuffer(gTilesetAnims_General1[idx], (u16 *)(BG_VRAM + 0x3600), 0x3C0); + AppendTilesetAnimToBuffer(gTilesetAnims_General1[idx], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(432)), 0x3C0); } static void sub_80A0C1C(u16 timer) @@ -766,7 +767,7 @@ static void sub_80A0C1C(u16 timer) u16 idx; idx = timer % 8; - AppendTilesetAnimToBuffer(gTilesetAnims_General2[idx], (u16 *)(BG_VRAM + 0x3a00), 0x140); + AppendTilesetAnimToBuffer(gTilesetAnims_General2[idx], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(464)), 0x140); } static void sub_80A0C44(u16 timer) @@ -774,7 +775,7 @@ static void sub_80A0C44(u16 timer) u16 idx; idx = timer % 4; - AppendTilesetAnimToBuffer(gTilesetAnims_General3[idx], (u16 *)(BG_VRAM + 0x3e00), 0xc0); + AppendTilesetAnimToBuffer(gTilesetAnims_General3[idx], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(496)), 0xc0); } void TilesetCb_Petalburg(void) @@ -1127,7 +1128,7 @@ static void sub_80A12AC(u16 timer) u16 idx; idx = timer % 4; - AppendTilesetAnimToBuffer(gTilesetAnims_General4[idx], (u16 *)(BG_VRAM + 0x3c00), 0x140); + AppendTilesetAnimToBuffer(gTilesetAnims_General4[idx], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(480)), 0x140); } static void sub_80A12D4(u8 timer) @@ -1135,10 +1136,10 @@ static void sub_80A12D4(u8 timer) u8 idx; idx = timer % 4; - AppendTilesetAnimToBuffer(gTilesetAnims_Lavaridge0[idx], (u16 *)(BG_VRAM + 0x6400), 0x80); + AppendTilesetAnimToBuffer(gTilesetAnims_Lavaridge0[idx], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 288)), 0x80); idx = (timer + 2) % 4; - AppendTilesetAnimToBuffer(gTilesetAnims_Lavaridge0[idx], (u16 *)(BG_VRAM + 0x6480), 0x80); + AppendTilesetAnimToBuffer(gTilesetAnims_Lavaridge0[idx], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 292)), 0x80); } static void sub_80A131C(u8 timer) @@ -1146,7 +1147,7 @@ static void sub_80A131C(u8 timer) u8 idx; idx = timer % 4; - AppendTilesetAnimToBuffer(gTilesetAnims_Pacifidlog0[idx], (u16 *)(BG_VRAM + 0x7a00), 0x3C0); + AppendTilesetAnimToBuffer(gTilesetAnims_Pacifidlog0[idx], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 464)), 0x3C0); } static void sub_80A1344(u8 timer) @@ -1154,7 +1155,7 @@ static void sub_80A1344(u8 timer) u8 idx; idx = timer % 4; - AppendTilesetAnimToBuffer(gTilesetAnims_Underwater0[idx], (u16 *)(BG_VRAM + 0x7e00), 0x80); + AppendTilesetAnimToBuffer(gTilesetAnims_Underwater0[idx], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 496)), 0x80); } static void sub_80A136C(u8 timer) @@ -1162,7 +1163,7 @@ static void sub_80A136C(u8 timer) u8 idx; idx = timer % 8; - AppendTilesetAnimToBuffer(gTilesetAnims_Pacifidlog1[idx], (u16 *)(BG_VRAM + 0x7e00), 0x100); + AppendTilesetAnimToBuffer(gTilesetAnims_Pacifidlog1[idx], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 496)), 0x100); } static void sub_80A1394(u16 timer_div, u8 timer_mod) @@ -1195,7 +1196,7 @@ static void sub_80A1470(u16 timer) u16 idx; idx = timer % 2; - AppendTilesetAnimToBuffer(gTilesetAnims_Rustboro1[idx], (u16 *)(BG_VRAM + 0x7800), 0x80); + AppendTilesetAnimToBuffer(gTilesetAnims_Rustboro1[idx], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 448)), 0x80); } static void sub_80A1498(u16 timer) @@ -1203,7 +1204,7 @@ static void sub_80A1498(u16 timer) u16 idx; idx = timer % 4; - AppendTilesetAnimToBuffer(gTilesetAnims_Lavaridge1_Cave0[idx], (u16 *)(BG_VRAM + 0x5400), 0x80); + AppendTilesetAnimToBuffer(gTilesetAnims_Lavaridge1_Cave0[idx], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 160)), 0x80); } static void sub_80A14C0(u16 timer_div, u8 timer_mod) @@ -1219,7 +1220,7 @@ static void sub_80A14F8(u16 timer) u16 idx; idx = timer % 4; - AppendTilesetAnimToBuffer(gTilesetAnims_Lavaridge1_Cave0[idx], (u16 *)(BG_VRAM + 0x7400), 0x80); + AppendTilesetAnimToBuffer(gTilesetAnims_Lavaridge1_Cave0[idx], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 416)), 0x80); } static void sub_80A1520(u16 timer) @@ -1227,7 +1228,7 @@ static void sub_80A1520(u16 timer) u16 idx; idx = timer % 4; - AppendTilesetAnimToBuffer(gTilesetAnims_Dewford0[idx], (u16 *)(BG_VRAM + 0x5540), 0xC0); + AppendTilesetAnimToBuffer(gTilesetAnims_Dewford0[idx], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 170)), 0xC0); } static void sub_80A1548(u16 timer) @@ -1235,7 +1236,7 @@ static void sub_80A1548(u16 timer) u16 idx; idx = timer % 4; - AppendTilesetAnimToBuffer(gTilesetAnims_BattleFrontierOutsideWest0[idx], (u16 *)(BG_VRAM + 0x5b40), 0xC0); + AppendTilesetAnimToBuffer(gTilesetAnims_BattleFrontierOutsideWest0[idx], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 218)), 0xC0); } static void sub_80A1570(u16 timer) @@ -1243,7 +1244,7 @@ static void sub_80A1570(u16 timer) u16 idx; idx = timer % 4; - AppendTilesetAnimToBuffer(gTilesetAnims_BattleFrontierOutsideEast0[idx], (u16 *)(BG_VRAM + 0x5b40), 0xC0); + AppendTilesetAnimToBuffer(gTilesetAnims_BattleFrontierOutsideEast0[idx], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 218)), 0xC0); } static void sub_80A1598(u16 timer) @@ -1251,7 +1252,7 @@ static void sub_80A1598(u16 timer) u16 idx; idx = timer % 4; - AppendTilesetAnimToBuffer(gTilesetAnims_Slateport0[idx], (u16 *)(BG_VRAM + 0x5c00), 0x80); + AppendTilesetAnimToBuffer(gTilesetAnims_Slateport0[idx], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 224)), 0x80); } static void sub_80A15C0(u16 timer) @@ -1321,7 +1322,7 @@ static void sub_80A1688(u16 timer) u16 idx; idx = timer % 2; - AppendTilesetAnimToBuffer(gTilesetAnims_InsideBuilding0[idx], (u16 *)(BG_VRAM + 0x3e00), 0x80); + AppendTilesetAnimToBuffer(gTilesetAnims_InsideBuilding0[idx], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(496)), 0x80); } static void sub_80A16B0(u16 timer) @@ -1329,8 +1330,8 @@ static void sub_80A16B0(u16 timer) u16 idx; idx = timer % 3; - AppendTilesetAnimToBuffer(gTilesetAnims_SootopolisGym0[idx], (u16 *)(BG_VRAM + 0x7e00), 0x180); - AppendTilesetAnimToBuffer(gTilesetAnims_SootopolisGym1[idx], (u16 *)(BG_VRAM + 0x7a00), 0x280); + AppendTilesetAnimToBuffer(gTilesetAnims_SootopolisGym0[idx], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 496)), 0x180); + AppendTilesetAnimToBuffer(gTilesetAnims_SootopolisGym1[idx], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 464)), 0x280); } static void sub_80A16F8(u16 timer) @@ -1338,7 +1339,7 @@ static void sub_80A16F8(u16 timer) u16 idx; idx = timer % 4; - AppendTilesetAnimToBuffer(gTilesetAnims_EliteFour1[idx], (u16 *)(BG_VRAM + 0x7f00), 0x20); + AppendTilesetAnimToBuffer(gTilesetAnims_EliteFour1[idx], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 504)), 0x20); } static void sub_80A1720(u16 timer) @@ -1346,7 +1347,7 @@ static void sub_80A1720(u16 timer) u16 idx; idx = timer % 2; - AppendTilesetAnimToBuffer(gTilesetAnims_EliteFour0[idx], (u16 *)(BG_VRAM + 0x7c00), 0x80); + AppendTilesetAnimToBuffer(gTilesetAnims_EliteFour0[idx], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 480)), 0x80); } static void sub_80A1748(u16 timer) @@ -1354,7 +1355,7 @@ static void sub_80A1748(u16 timer) u16 idx; idx = timer % 2; - AppendTilesetAnimToBuffer(gTilesetAnims_MauvilleGym0[idx], (u16 *)(BG_VRAM + 0x5200), 0x200); + AppendTilesetAnimToBuffer(gTilesetAnims_MauvilleGym0[idx], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 144)), 0x200); } static void sub_80A1770(u16 timer) @@ -1362,7 +1363,7 @@ static void sub_80A1770(u16 timer) u16 idx; idx = timer % 2; - AppendTilesetAnimToBuffer(gTilesetAnims_BikeShop0[idx], (u16 *)(BG_VRAM + 0x7e00), 0x120); + AppendTilesetAnimToBuffer(gTilesetAnims_BikeShop0[idx], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 496)), 0x120); } static void sub_80A1798(u16 timer) @@ -1370,7 +1371,7 @@ static void sub_80A1798(u16 timer) u16 idx; idx = timer % 8; - AppendTilesetAnimToBuffer(gTilesetAnims_Sootopolis0[idx], (u16 *)(BG_VRAM + 0x5e00), 0xc00); + AppendTilesetAnimToBuffer(gTilesetAnims_Sootopolis0[idx], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 240)), 0xc00); } static void sub_80A17C0(u16 timer) @@ -1378,7 +1379,7 @@ static void sub_80A17C0(u16 timer) u16 idx; idx = timer % 3; - AppendTilesetAnimToBuffer(gTilesetAnims_BattlePyramid0[idx], (u16 *)(BG_VRAM + 0x52e0), 0x100); + AppendTilesetAnimToBuffer(gTilesetAnims_BattlePyramid0[idx], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 151)), 0x100); } static void sub_80A17EC(u16 timer) @@ -1386,7 +1387,7 @@ static void sub_80A17EC(u16 timer) u16 idx; idx = timer % 3; - AppendTilesetAnimToBuffer(gTilesetAnims_BattlePyramid1[idx], (u16 *)(BG_VRAM + 0x50e0), 0x100); + AppendTilesetAnimToBuffer(gTilesetAnims_BattlePyramid1[idx], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 135)), 0x100); } static void sub_80A1818(u16 a1) From e93f1182e6b11ee277943808a68c534173f36b60 Mon Sep 17 00:00:00 2001 From: Kermalis <29823718+Kermalis@users.noreply.github.com> Date: Sat, 22 Sep 2018 16:42:34 -0400 Subject: [PATCH 229/234] Rename voicegroups --- include/gba/m4a_internal.h | 2 +- sound/songs/mus_ajito.s | 2 +- sound/songs/mus_aqa_0.s | 2 +- sound/songs/mus_ashroad.s | 2 +- sound/songs/mus_ayasii.s | 2 +- sound/songs/mus_b_arena.s | 2 +- sound/songs/mus_b_dome.s | 2 +- sound/songs/mus_b_dome1.s | 2 +- sound/songs/mus_b_factory.s | 2 +- sound/songs/mus_b_frontier.s | 2 +- sound/songs/mus_b_palace.s | 2 +- sound/songs/mus_b_tower.s | 2 +- sound/songs/mus_b_tube.s | 2 +- sound/songs/mus_battle20.s | 2 +- sound/songs/mus_battle27.s | 2 +- sound/songs/mus_battle30.s | 2 +- sound/songs/mus_battle31.s | 2 +- sound/songs/mus_battle32.s | 2 +- sound/songs/mus_battle33.s | 2 +- sound/songs/mus_battle34.s | 2 +- sound/songs/mus_battle35.s | 2 +- sound/songs/mus_battle36.s | 2 +- sound/songs/mus_battle38.s | 2 +- sound/songs/mus_bd_time.s | 2 +- sound/songs/mus_bijyutu.s | 2 +- sound/songs/mus_boy_sup.s | 2 +- sound/songs/mus_boyeye.s | 2 +- sound/songs/mus_c_road.s | 2 +- sound/songs/mus_casino.s | 2 +- sound/songs/mus_con_fan.s | 2 +- sound/songs/mus_con_k.s | 2 +- sound/songs/mus_conlobby.s | 2 +- sound/songs/mus_contest0.s | 2 +- sound/songs/mus_cycling.s | 2 +- sound/songs/mus_daigo.s | 2 +- sound/songs/mus_dan01.s | 2 +- sound/songs/mus_dan02.s | 2 +- sound/songs/mus_dan03.s | 2 +- sound/songs/mus_deepdeep.s | 2 +- sound/songs/mus_demo1.s | 2 +- sound/songs/mus_dendou.s | 2 +- sound/songs/mus_dooro1.s | 2 +- sound/songs/mus_dooro_x1.s | 2 +- sound/songs/mus_dooro_x3.s | 2 +- sound/songs/mus_dooro_x4.s | 2 +- sound/songs/mus_dummy.s | 2 +- sound/songs/mus_eikou_r.s | 2 +- sound/songs/mus_end.s | 2 +- sound/songs/mus_event0.s | 2 +- sound/songs/mus_fanfa1.s | 2 +- sound/songs/mus_fanfa4.s | 2 +- sound/songs/mus_fanfa5.s | 2 +- sound/songs/mus_field13.s | 2 +- sound/songs/mus_finecity.s | 2 +- sound/songs/mus_friendly.s | 2 +- sound/songs/mus_fune_kan.s | 2 +- sound/songs/mus_gim.s | 2 +- sound/songs/mus_girl_sup.s | 2 +- sound/songs/mus_girleye.s | 2 +- sound/songs/mus_gomachi0.s | 2 +- sound/songs/mus_gotown.s | 2 +- sound/songs/mus_granroad.s | 2 +- sound/songs/mus_hageshii.s | 2 +- sound/songs/mus_hideri.s | 2 +- sound/songs/mus_hightown.s | 2 +- sound/songs/mus_hutago.s | 2 +- sound/songs/mus_inter_v.s | 2 +- sound/songs/mus_kachi1.s | 2 +- sound/songs/mus_kachi2.s | 2 +- sound/songs/mus_kachi22.s | 2 +- sound/songs/mus_kachi3.s | 2 +- sound/songs/mus_kachi4.s | 2 +- sound/songs/mus_kachi5.s | 2 +- sound/songs/mus_kakkoii.s | 2 +- sound/songs/mus_karakuri.s | 2 +- sound/songs/mus_kazanbai.s | 2 +- sound/songs/mus_m_boat.s | 2 +- sound/songs/mus_m_dungon.s | 2 +- sound/songs/mus_maborosi.s | 2 +- sound/songs/mus_machi_s2.s | 2 +- sound/songs/mus_machi_s3.s | 2 +- sound/songs/mus_machi_s4.s | 2 +- sound/songs/mus_machupi.s | 2 +- sound/songs/mus_me_asa.s | 2 +- sound/songs/mus_me_b_big.s | 2 +- sound/songs/mus_me_b_small.s | 2 +- sound/songs/mus_me_bachi.s | 2 +- sound/songs/mus_me_kinomi.s | 2 +- sound/songs/mus_me_pointget.s | 2 +- sound/songs/mus_me_rg_photo.s | 2 +- sound/songs/mus_me_shinka.s | 2 +- sound/songs/mus_me_symbolget.s | 2 +- sound/songs/mus_me_tama.s | 2 +- sound/songs/mus_me_tore_eye.s | 2 +- sound/songs/mus_me_wasure.s | 2 +- sound/songs/mus_me_waza.s | 2 +- sound/songs/mus_me_zannen.s | 2 +- sound/songs/mus_mgm0.s | 2 +- sound/songs/mus_minamo.s | 2 +- sound/songs/mus_mishiro.s | 2 +- sound/songs/mus_naminori.s | 2 +- sound/songs/mus_nextroad.s | 2 +- sound/songs/mus_nibi.s | 2 +- sound/songs/mus_odamaki.s | 2 +- sound/songs/mus_ooame.s | 2 +- sound/songs/mus_p_school.s | 2 +- sound/songs/mus_pcc.s | 2 +- sound/songs/mus_pokecen.s | 2 +- sound/songs/mus_pyramid.s | 2 +- sound/songs/mus_pyramid_top.s | 2 +- sound/songs/mus_rainbow.s | 2 +- sound/songs/mus_rekkuu_kourin.s | 2 +- sound/songs/mus_rg_ajito.s | 2 +- sound/songs/mus_rg_annai.s | 2 +- sound/songs/mus_rg_champ_r.s | 2 +- sound/songs/mus_rg_cycling.s | 2 +- sound/songs/mus_rg_demo.s | 2 +- sound/songs/mus_rg_dendou.s | 2 +- sound/songs/mus_rg_deoeye.s | 2 +- sound/songs/mus_rg_ending.s | 2 +- sound/songs/mus_rg_exeye.s | 2 +- sound/songs/mus_rg_fan2.s | 2 +- sound/songs/mus_rg_fan5.s | 2 +- sound/songs/mus_rg_fan6.s | 2 +- sound/songs/mus_rg_get_yasei.s | 2 +- sound/songs/mus_rg_guren.s | 2 +- sound/songs/mus_rg_gym.s | 2 +- sound/songs/mus_rg_hanada.s | 2 +- sound/songs/mus_rg_jump.s | 2 +- sound/songs/mus_rg_kaihuku.s | 2 +- sound/songs/mus_rg_kenkyu.s | 2 +- sound/songs/mus_rg_kinomikui.s | 2 +- sound/songs/mus_rg_kuchiba.s | 2 +- sound/songs/mus_rg_load01.s | 2 +- sound/songs/mus_rg_load02.s | 2 +- sound/songs/mus_rg_load03.s | 2 +- sound/songs/mus_rg_masara.s | 2 +- sound/songs/mus_rg_naminori.s | 2 +- sound/songs/mus_rg_nana123.s | 2 +- sound/songs/mus_rg_nana45.s | 2 +- sound/songs/mus_rg_nana67.s | 2 +- sound/songs/mus_rg_nanadungeon.s | 2 +- sound/songs/mus_rg_nanaiseki.s | 2 +- sound/songs/mus_rg_nanashima.s | 2 +- sound/songs/mus_rg_network.s | 2 +- sound/songs/mus_rg_nibi.s | 2 +- sound/songs/mus_rg_ohkido.s | 2 +- sound/songs/mus_rg_okurimono.s | 2 +- sound/songs/mus_rg_opening.s | 2 +- sound/songs/mus_rg_oshie_tv.s | 2 +- sound/songs/mus_rg_otsukimi.s | 2 +- sound/songs/mus_rg_p_tower.s | 2 +- sound/songs/mus_rg_pokecen.s | 2 +- sound/songs/mus_rg_pokefue.s | 2 +- sound/songs/mus_rg_pokeyashi.s | 2 +- sound/songs/mus_rg_purin.s | 2 +- sound/songs/mus_rg_rival1.s | 2 +- sound/songs/mus_rg_rival2.s | 2 +- sound/songs/mus_rg_rocket.s | 2 +- sound/songs/mus_rg_santoan.s | 2 +- sound/songs/mus_rg_seibetu.s | 2 +- sound/songs/mus_rg_sekaikan.s | 2 +- sound/songs/mus_rg_shion.s | 2 +- sound/songs/mus_rg_shiruhu.s | 2 +- sound/songs/mus_rg_shoujo.s | 2 +- sound/songs/mus_rg_shounen.s | 2 +- sound/songs/mus_rg_slot.s | 2 +- sound/songs/mus_rg_slowmasara.s | 2 +- sound/songs/mus_rg_sousa.s | 2 +- sound/songs/mus_rg_t_mori.s | 2 +- sound/songs/mus_rg_t_tower.s | 2 +- sound/songs/mus_rg_tamamusi.s | 2 +- sound/songs/mus_rg_title.s | 2 +- sound/songs/mus_rg_titlerog.s | 2 +- sound/songs/mus_rg_tvnoize.s | 2 +- sound/songs/mus_rg_union.s | 2 +- sound/songs/mus_rg_vs_den.s | 2 +- sound/songs/mus_rg_vs_deo.s | 2 +- sound/songs/mus_rg_vs_gym.s | 2 +- sound/songs/mus_rg_vs_last.s | 2 +- sound/songs/mus_rg_vs_myu2.s | 2 +- sound/songs/mus_rg_vs_tore.s | 2 +- sound/songs/mus_rg_vs_yasei.s | 2 +- sound/songs/mus_rg_win_gym.s | 2 +- sound/songs/mus_rg_win_tre.s | 2 +- sound/songs/mus_rg_win_yasei.s | 2 +- sound/songs/mus_ropeway.s | 2 +- sound/songs/mus_runecity.s | 2 +- sound/songs/mus_safari.s | 2 +- sound/songs/mus_sattower.s | 2 +- sound/songs/mus_shinka.s | 2 +- sound/songs/mus_sitennou.s | 2 +- sound/songs/mus_suikun.s | 2 +- sound/songs/mus_swimeye.s | 2 +- sound/songs/mus_syoujoeye.s | 2 +- sound/songs/mus_t_battle.s | 2 +- sound/songs/mus_test.s | 2 +- sound/songs/mus_test1.s | 2 +- sound/songs/mus_test2.s | 2 +- sound/songs/mus_test3.s | 2 +- sound/songs/mus_test4.s | 2 +- sound/songs/mus_tetsuji.s | 2 +- sound/songs/mus_thankfor.s | 2 +- sound/songs/mus_title3.s | 2 +- sound/songs/mus_tonekusa.s | 2 +- sound/songs/mus_tozan.s | 2 +- sound/songs/mus_tsuretek.s | 2 +- sound/songs/mus_vs_front.s | 2 +- sound/songs/mus_vs_mew.s | 2 +- sound/songs/mus_vs_rekku.s | 2 +- sound/songs/mus_yama_eye.s | 2 +- sound/songs/ph_choice_blend.s | 2 +- sound/songs/ph_choice_held.s | 2 +- sound/songs/ph_choice_solo.s | 2 +- sound/songs/ph_cloth_blend.s | 2 +- sound/songs/ph_cloth_held.s | 2 +- sound/songs/ph_cloth_solo.s | 2 +- sound/songs/ph_cure_blend.s | 2 +- sound/songs/ph_cure_held.s | 2 +- sound/songs/ph_cure_solo.s | 2 +- sound/songs/ph_dress_blend.s | 2 +- sound/songs/ph_dress_held.s | 2 +- sound/songs/ph_dress_solo.s | 2 +- sound/songs/ph_face_blend.s | 2 +- sound/songs/ph_face_held.s | 2 +- sound/songs/ph_face_solo.s | 2 +- sound/songs/ph_fleece_blend.s | 2 +- sound/songs/ph_fleece_held.s | 2 +- sound/songs/ph_fleece_solo.s | 2 +- sound/songs/ph_foot_blend.s | 2 +- sound/songs/ph_foot_held.s | 2 +- sound/songs/ph_foot_solo.s | 2 +- sound/songs/ph_goat_blend.s | 2 +- sound/songs/ph_goat_held.s | 2 +- sound/songs/ph_goat_solo.s | 2 +- sound/songs/ph_goose_blend.s | 2 +- sound/songs/ph_goose_held.s | 2 +- sound/songs/ph_goose_solo.s | 2 +- sound/songs/ph_kit_blend.s | 2 +- sound/songs/ph_kit_held.s | 2 +- sound/songs/ph_kit_solo.s | 2 +- sound/songs/ph_lot_blend.s | 2 +- sound/songs/ph_lot_held.s | 2 +- sound/songs/ph_lot_solo.s | 2 +- sound/songs/ph_mouth_blend.s | 2 +- sound/songs/ph_mouth_held.s | 2 +- sound/songs/ph_mouth_solo.s | 2 +- sound/songs/ph_nurse_blend.s | 2 +- sound/songs/ph_nurse_held.s | 2 +- sound/songs/ph_nurse_solo.s | 2 +- sound/songs/ph_price_blend.s | 2 +- sound/songs/ph_price_held.s | 2 +- sound/songs/ph_price_solo.s | 2 +- sound/songs/ph_strut_blend.s | 2 +- sound/songs/ph_strut_held.s | 2 +- sound/songs/ph_strut_solo.s | 2 +- sound/songs/ph_thought_blend.s | 2 +- sound/songs/ph_thought_held.s | 2 +- sound/songs/ph_thought_solo.s | 2 +- sound/songs/ph_trap_blend.s | 2 +- sound/songs/ph_trap_held.s | 2 +- sound/songs/ph_trap_solo.s | 2 +- sound/songs/se_a.s | 2 +- sound/songs/se_ban.s | 2 +- sound/songs/se_basabasa.s | 2 +- sound/songs/se_bidoro.s | 2 +- sound/songs/se_boo.s | 2 +- sound/songs/se_bowa.s | 2 +- sound/songs/se_bowa2.s | 2 +- sound/songs/se_bt_start.s | 2 +- sound/songs/se_c_gaji.s | 2 +- sound/songs/se_c_maku_d.s | 2 +- sound/songs/se_c_maku_u.s | 2 +- sound/songs/se_c_pasi.s | 2 +- sound/songs/se_c_pikon.s | 2 +- sound/songs/se_c_syu.s | 2 +- sound/songs/se_card.s | 2 +- sound/songs/se_curtain.s | 2 +- sound/songs/se_curtain1.s | 2 +- sound/songs/se_dansa.s | 2 +- sound/songs/se_daugi.s | 2 +- sound/songs/se_dendou.s | 2 +- sound/songs/se_doku.s | 2 +- sound/songs/se_door.s | 2 +- sound/songs/se_e.s | 2 +- sound/songs/se_elebeta.s | 2 +- sound/songs/se_esuka.s | 2 +- sound/songs/se_exp.s | 2 +- sound/songs/se_expmax.s | 2 +- sound/songs/se_fu_zaku.s | 2 +- sound/songs/se_fu_zaku2.s | 2 +- sound/songs/se_fu_zuzuzu.s | 2 +- sound/songs/se_fuusen1.s | 2 +- sound/songs/se_fuusen2.s | 2 +- sound/songs/se_fuusen3.s | 2 +- sound/songs/se_hantei1.s | 2 +- sound/songs/se_hantei2.s | 2 +- sound/songs/se_hashi.s | 2 +- sound/songs/se_hazure.s | 2 +- sound/songs/se_hi_turun.s | 2 +- sound/songs/se_hinsi.s | 2 +- sound/songs/se_i.s | 2 +- sound/songs/se_jido_doa.s | 2 +- sound/songs/se_jihanki.s | 2 +- sound/songs/se_jite_pyoko.s | 2 +- sound/songs/se_jitensya.s | 2 +- sound/songs/se_jyuni.s | 2 +- sound/songs/se_kaidan.s | 2 +- sound/songs/se_kaifuku.s | 2 +- sound/songs/se_ki_gasyan.s | 2 +- sound/songs/se_kon.s | 2 +- sound/songs/se_kon2.s | 2 +- sound/songs/se_kon3.s | 2 +- sound/songs/se_kon4.s | 2 +- sound/songs/se_kouka_h.s | 2 +- sound/songs/se_kouka_l.s | 2 +- sound/songs/se_kouka_m.s | 2 +- sound/songs/se_mizu.s | 2 +- sound/songs/se_moter.s | 2 +- sound/songs/se_mu_pachi.s | 2 +- sound/songs/se_n.s | 2 +- sound/songs/se_nageru.s | 2 +- sound/songs/se_naminori.s | 2 +- sound/songs/se_nigeru.s | 2 +- sound/songs/se_o.s | 2 +- sound/songs/se_op_basyu.s | 2 +- sound/songs/se_pc_login.s | 2 +- sound/songs/se_pc_off.s | 2 +- sound/songs/se_pc_on.s | 2 +- sound/songs/se_pin.s | 2 +- sound/songs/se_pinpon.s | 2 +- sound/songs/se_pn_off.s | 2 +- sound/songs/se_pn_on.s | 2 +- sound/songs/se_poke_dead.s | 2 +- sound/songs/se_reapoke.s | 2 +- sound/songs/se_regi.s | 2 +- sound/songs/se_rg_bag1.s | 2 +- sound/songs/se_rg_bag2.s | 2 +- sound/songs/se_rg_card1.s | 2 +- sound/songs/se_rg_card2.s | 2 +- sound/songs/se_rg_card3.s | 2 +- sound/songs/se_rg_deomov.s | 2 +- sound/songs/se_rg_excellent.s | 2 +- sound/songs/se_rg_getting.s | 2 +- sound/songs/se_rg_help_cl.s | 2 +- sound/songs/se_rg_help_ng.s | 2 +- sound/songs/se_rg_help_op.s | 2 +- sound/songs/se_rg_kiteki.s | 2 +- sound/songs/se_rg_nawamiss.s | 2 +- sound/songs/se_rg_shop.s | 2 +- sound/songs/se_rg_w_door.s | 2 +- sound/songs/se_ru_bari.s | 2 +- sound/songs/se_ru_gashin.s | 2 +- sound/songs/se_ru_gasyan.s | 2 +- sound/songs/se_ru_hyuu.s | 2 +- sound/songs/se_save.s | 2 +- sound/songs/se_seikai.s | 2 +- sound/songs/se_select.s | 2 +- sound/songs/se_suikomu.s | 2 +- sound/songs/se_t_ame.s | 2 +- sound/songs/se_t_ame_e.s | 2 +- sound/songs/se_t_kami.s | 2 +- sound/songs/se_t_kami2.s | 2 +- sound/songs/se_t_koame.s | 2 +- sound/songs/se_t_koame_e.s | 2 +- sound/songs/se_t_ooame.s | 2 +- sound/songs/se_t_ooame_e.s | 2 +- sound/songs/se_tama.s | 2 +- sound/songs/se_tamago.s | 2 +- sound/songs/se_tamakoro.s | 2 +- sound/songs/se_tamakoro_e.s | 2 +- sound/songs/se_tb_kara.s | 2 +- sound/songs/se_tb_kon.s | 2 +- sound/songs/se_tb_start.s | 2 +- sound/songs/se_tk_kasya.s | 2 +- sound/songs/se_tk_warpin.s | 2 +- sound/songs/se_tk_warpout.s | 2 +- sound/songs/se_toreeye.s | 2 +- sound/songs/se_toreoff.s | 2 +- sound/songs/se_toy_a.s | 2 +- sound/songs/se_toy_b.s | 2 +- sound/songs/se_toy_c.s | 2 +- sound/songs/se_toy_c1.s | 2 +- sound/songs/se_toy_d.s | 2 +- sound/songs/se_toy_dango.s | 2 +- sound/songs/se_toy_e.s | 2 +- sound/songs/se_toy_f.s | 2 +- sound/songs/se_toy_g.s | 2 +- sound/songs/se_toy_kabe.s | 2 +- sound/songs/se_track_door.s | 2 +- sound/songs/se_track_haiki.s | 2 +- sound/songs/se_track_move.s | 2 +- sound/songs/se_track_stop.s | 2 +- sound/songs/se_tu_saa.s | 2 +- sound/songs/se_u.s | 2 +- sound/songs/se_ussoki.s | 2 +- sound/songs/se_w003.s | 2 +- sound/songs/se_w004.s | 2 +- sound/songs/se_w006.s | 2 +- sound/songs/se_w007.s | 2 +- sound/songs/se_w010.s | 2 +- sound/songs/se_w011.s | 2 +- sound/songs/se_w013.s | 2 +- sound/songs/se_w013b.s | 2 +- sound/songs/se_w014.s | 2 +- sound/songs/se_w015.s | 2 +- sound/songs/se_w016.s | 2 +- sound/songs/se_w016b.s | 2 +- sound/songs/se_w017.s | 2 +- sound/songs/se_w019.s | 2 +- sound/songs/se_w020.s | 2 +- sound/songs/se_w025.s | 2 +- sound/songs/se_w025b.s | 2 +- sound/songs/se_w026.s | 2 +- sound/songs/se_w028.s | 2 +- sound/songs/se_w029.s | 2 +- sound/songs/se_w030.s | 2 +- sound/songs/se_w036.s | 2 +- sound/songs/se_w039.s | 2 +- sound/songs/se_w043.s | 2 +- sound/songs/se_w044.s | 2 +- sound/songs/se_w047.s | 2 +- sound/songs/se_w048.s | 2 +- sound/songs/se_w052.s | 2 +- sound/songs/se_w053.s | 2 +- sound/songs/se_w054.s | 2 +- sound/songs/se_w056.s | 2 +- sound/songs/se_w057.s | 2 +- sound/songs/se_w059.s | 2 +- sound/songs/se_w059b.s | 2 +- sound/songs/se_w060.s | 2 +- sound/songs/se_w060b.s | 2 +- sound/songs/se_w062.s | 2 +- sound/songs/se_w062b.s | 2 +- sound/songs/se_w063.s | 2 +- sound/songs/se_w063b.s | 2 +- sound/songs/se_w070.s | 2 +- sound/songs/se_w071.s | 2 +- sound/songs/se_w071b.s | 2 +- sound/songs/se_w076.s | 2 +- sound/songs/se_w077.s | 2 +- sound/songs/se_w080.s | 2 +- sound/songs/se_w081.s | 2 +- sound/songs/se_w081b.s | 2 +- sound/songs/se_w082.s | 2 +- sound/songs/se_w085.s | 2 +- sound/songs/se_w085b.s | 2 +- sound/songs/se_w086.s | 2 +- sound/songs/se_w088.s | 2 +- sound/songs/se_w089.s | 2 +- sound/songs/se_w091.s | 2 +- sound/songs/se_w092.s | 2 +- sound/songs/se_w100.s | 2 +- sound/songs/se_w103.s | 2 +- sound/songs/se_w104.s | 2 +- sound/songs/se_w107.s | 2 +- sound/songs/se_w109.s | 2 +- sound/songs/se_w112.s | 2 +- sound/songs/se_w114.s | 2 +- sound/songs/se_w115.s | 2 +- sound/songs/se_w118.s | 2 +- sound/songs/se_w120.s | 2 +- sound/songs/se_w122.s | 2 +- sound/songs/se_w127.s | 2 +- sound/songs/se_w129.s | 2 +- sound/songs/se_w145.s | 2 +- sound/songs/se_w145b.s | 2 +- sound/songs/se_w145c.s | 2 +- sound/songs/se_w146.s | 2 +- sound/songs/se_w151.s | 2 +- sound/songs/se_w152.s | 2 +- sound/songs/se_w153.s | 2 +- sound/songs/se_w155.s | 2 +- sound/songs/se_w161.s | 2 +- sound/songs/se_w161b.s | 2 +- sound/songs/se_w166.s | 2 +- sound/songs/se_w171.s | 2 +- sound/songs/se_w172.s | 2 +- sound/songs/se_w172b.s | 2 +- sound/songs/se_w173.s | 2 +- sound/songs/se_w179.s | 2 +- sound/songs/se_w185.s | 2 +- sound/songs/se_w187.s | 2 +- sound/songs/se_w195.s | 2 +- sound/songs/se_w196.s | 2 +- sound/songs/se_w197.s | 2 +- sound/songs/se_w199.s | 2 +- sound/songs/se_w201.s | 2 +- sound/songs/se_w202.s | 2 +- sound/songs/se_w204.s | 2 +- sound/songs/se_w207.s | 2 +- sound/songs/se_w207b.s | 2 +- sound/songs/se_w208.s | 2 +- sound/songs/se_w213.s | 2 +- sound/songs/se_w213b.s | 2 +- sound/songs/se_w215.s | 2 +- sound/songs/se_w221.s | 2 +- sound/songs/se_w221b.s | 2 +- sound/songs/se_w226.s | 2 +- sound/songs/se_w227.s | 2 +- sound/songs/se_w227b.s | 2 +- sound/songs/se_w230.s | 2 +- sound/songs/se_w231.s | 2 +- sound/songs/se_w233.s | 2 +- sound/songs/se_w233b.s | 2 +- sound/songs/se_w234.s | 2 +- sound/songs/se_w236.s | 2 +- sound/songs/se_w239.s | 2 +- sound/songs/se_w240.s | 2 +- sound/songs/se_w250.s | 2 +- sound/songs/se_w253.s | 2 +- sound/songs/se_w255.s | 2 +- sound/songs/se_w257.s | 2 +- sound/songs/se_w258.s | 2 +- sound/songs/se_w260.s | 2 +- sound/songs/se_w268.s | 2 +- sound/songs/se_w280.s | 2 +- sound/songs/se_w281.s | 2 +- sound/songs/se_w287.s | 2 +- sound/songs/se_w287b.s | 2 +- sound/songs/se_w291.s | 2 +- sound/songs/se_w298.s | 2 +- sound/songs/se_w320.s | 2 +- sound/songs/se_w322.s | 2 +- sound/songs/se_w327.s | 2 +- sound/songs/se_w328.s | 2 +- sound/songs/se_wall_hit.s | 2 +- sound/songs/se_win_open.s | 2 +- sound/songs/se_z_page.s | 2 +- sound/songs/se_z_scroll.s | 2 +- sound/songs/se_z_search.s | 2 +- sound/voice_groups.inc | 1558 +++++++++++++++--------------- src/m4a_tables.c | 2 +- 533 files changed, 1311 insertions(+), 1311 deletions(-) diff --git a/include/gba/m4a_internal.h b/include/gba/m4a_internal.h index 659302fd55..339a0774ed 100644 --- a/include/gba/m4a_internal.h +++ b/include/gba/m4a_internal.h @@ -368,7 +368,7 @@ extern const u8 gNoiseTable[]; extern const struct PokemonCrySong gPokemonCrySongTemplate; -extern const struct ToneData voicegroup_pokemon_cry; +extern const struct ToneData voicegroup000; extern char gNumMusicPlayers[]; extern char gMaxLines[]; diff --git a/sound/songs/mus_ajito.s b/sound/songs/mus_ajito.s index 62174cac37..7e9df7cb34 100644 --- a/sound/songs/mus_ajito.s +++ b/sound/songs/mus_ajito.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_ajito_grp, voicegroup_868BE74 + .equ mus_ajito_grp, voicegroup076 .equ mus_ajito_pri, 0 .equ mus_ajito_rev, reverb_set+50 .equ mus_ajito_mvl, 127 diff --git a/sound/songs/mus_aqa_0.s b/sound/songs/mus_aqa_0.s index 94d698ff15..258a5dcc43 100644 --- a/sound/songs/mus_aqa_0.s +++ b/sound/songs/mus_aqa_0.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_aqa_0_grp, voicegroup_8687C74 + .equ mus_aqa_0_grp, voicegroup065 .equ mus_aqa_0_pri, 0 .equ mus_aqa_0_rev, reverb_set+50 .equ mus_aqa_0_mvl, 127 diff --git a/sound/songs/mus_ashroad.s b/sound/songs/mus_ashroad.s index 49329cdaba..df985a0389 100644 --- a/sound/songs/mus_ashroad.s +++ b/sound/songs/mus_ashroad.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_ashroad_grp, voicegroup_8684248 + .equ mus_ashroad_grp, voicegroup055 .equ mus_ashroad_pri, 0 .equ mus_ashroad_rev, reverb_set+50 .equ mus_ashroad_mvl, 127 diff --git a/sound/songs/mus_ayasii.s b/sound/songs/mus_ayasii.s index b30b59ba43..6c3d85c392 100644 --- a/sound/songs/mus_ayasii.s +++ b/sound/songs/mus_ayasii.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_ayasii_grp, voicegroup_8689474 + .equ mus_ayasii_grp, voicegroup069 .equ mus_ayasii_pri, 0 .equ mus_ayasii_rev, reverb_set+50 .equ mus_ayasii_mvl, 127 diff --git a/sound/songs/mus_b_arena.s b/sound/songs/mus_b_arena.s index c6d68766f1..c74b839a1c 100644 --- a/sound/songs/mus_b_arena.s +++ b/sound/songs/mus_b_arena.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_b_arena_grp, voicegroup_8695B7C + .equ mus_b_arena_grp, voicegroup104 .equ mus_b_arena_pri, 0 .equ mus_b_arena_rev, reverb_set+50 .equ mus_b_arena_mvl, 127 diff --git a/sound/songs/mus_b_dome.s b/sound/songs/mus_b_dome.s index 0a52ed047d..0acd967d9c 100644 --- a/sound/songs/mus_b_dome.s +++ b/sound/songs/mus_b_dome.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_b_dome_grp, voicegroup_8698054 + .equ mus_b_dome_grp, voicegroup111 .equ mus_b_dome_pri, 0 .equ mus_b_dome_rev, reverb_set+50 .equ mus_b_dome_mvl, 127 diff --git a/sound/songs/mus_b_dome1.s b/sound/songs/mus_b_dome1.s index 706be0bf5c..5f6644079d 100644 --- a/sound/songs/mus_b_dome1.s +++ b/sound/songs/mus_b_dome1.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_b_dome1_grp, voicegroup_8698054 + .equ mus_b_dome1_grp, voicegroup111 .equ mus_b_dome1_pri, 0 .equ mus_b_dome1_rev, reverb_set+50 .equ mus_b_dome1_mvl, 127 diff --git a/sound/songs/mus_b_factory.s b/sound/songs/mus_b_factory.s index 5077632dc5..24dfb23b2e 100644 --- a/sound/songs/mus_b_factory.s +++ b/sound/songs/mus_b_factory.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_b_factory_grp, voicegroup_8698C54 + .equ mus_b_factory_grp, voicegroup113 .equ mus_b_factory_pri, 0 .equ mus_b_factory_rev, reverb_set+50 .equ mus_b_factory_mvl, 127 diff --git a/sound/songs/mus_b_frontier.s b/sound/songs/mus_b_frontier.s index 7e0f202cd6..f4c785f930 100644 --- a/sound/songs/mus_b_frontier.s +++ b/sound/songs/mus_b_frontier.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_b_frontier_grp, voicegroup_869557C + .equ mus_b_frontier_grp, voicegroup103 .equ mus_b_frontier_pri, 0 .equ mus_b_frontier_rev, reverb_set+50 .equ mus_b_frontier_mvl, 127 diff --git a/sound/songs/mus_b_palace.s b/sound/songs/mus_b_palace.s index bb221573f7..f2bd1a99a8 100644 --- a/sound/songs/mus_b_palace.s +++ b/sound/songs/mus_b_palace.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_b_palace_grp, voicegroup_8697070 + .equ mus_b_palace_grp, voicegroup108 .equ mus_b_palace_pri, 0 .equ mus_b_palace_rev, reverb_set+50 .equ mus_b_palace_mvl, 127 diff --git a/sound/songs/mus_b_tower.s b/sound/songs/mus_b_tower.s index 395e1ecbde..0c508fff5a 100644 --- a/sound/songs/mus_b_tower.s +++ b/sound/songs/mus_b_tower.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_b_tower_grp, voicegroup_867D918 + .equ mus_b_tower_grp, voicegroup035 .equ mus_b_tower_pri, 0 .equ mus_b_tower_rev, reverb_set+50 .equ mus_b_tower_mvl, 127 diff --git a/sound/songs/mus_b_tube.s b/sound/songs/mus_b_tube.s index 0fb7f60789..d472db9993 100644 --- a/sound/songs/mus_b_tube.s +++ b/sound/songs/mus_b_tube.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_b_tube_grp, voicegroup_8698654 + .equ mus_b_tube_grp, voicegroup112 .equ mus_b_tube_pri, 0 .equ mus_b_tube_rev, reverb_set+50 .equ mus_b_tube_mvl, 127 diff --git a/sound/songs/mus_battle20.s b/sound/songs/mus_battle20.s index b9cce65182..4647d5ce5e 100644 --- a/sound/songs/mus_battle20.s +++ b/sound/songs/mus_battle20.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_battle20_grp, voicegroup_869AC70 + .equ mus_battle20_grp, voicegroup119 .equ mus_battle20_pri, 1 .equ mus_battle20_rev, reverb_set+50 .equ mus_battle20_mvl, 127 diff --git a/sound/songs/mus_battle27.s b/sound/songs/mus_battle27.s index 852a2fbe21..5d4a7d6bb7 100644 --- a/sound/songs/mus_battle27.s +++ b/sound/songs/mus_battle27.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_battle27_grp, voicegroup_869A454 + .equ mus_battle27_grp, voicegroup117 .equ mus_battle27_pri, 1 .equ mus_battle27_rev, reverb_set+50 .equ mus_battle27_mvl, 127 diff --git a/sound/songs/mus_battle30.s b/sound/songs/mus_battle30.s index 468d830fd6..25da25d9f7 100644 --- a/sound/songs/mus_battle30.s +++ b/sound/songs/mus_battle30.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_battle30_grp, voicegroup_869CAF4 + .equ mus_battle30_grp, voicegroup126 .equ mus_battle30_pri, 1 .equ mus_battle30_rev, reverb_set+50 .equ mus_battle30_mvl, 127 diff --git a/sound/songs/mus_battle31.s b/sound/songs/mus_battle31.s index 73a1cafbf9..75895a3f48 100644 --- a/sound/songs/mus_battle31.s +++ b/sound/songs/mus_battle31.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_battle31_grp, voicegroup_869A82C + .equ mus_battle31_grp, voicegroup118 .equ mus_battle31_pri, 1 .equ mus_battle31_rev, reverb_set+50 .equ mus_battle31_mvl, 127 diff --git a/sound/songs/mus_battle32.s b/sound/songs/mus_battle32.s index 8b0aa94f5d..518044437a 100644 --- a/sound/songs/mus_battle32.s +++ b/sound/songs/mus_battle32.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_battle32_grp, voicegroup_869B0B4 + .equ mus_battle32_grp, voicegroup120 .equ mus_battle32_pri, 1 .equ mus_battle32_rev, reverb_set+50 .equ mus_battle32_mvl, 127 diff --git a/sound/songs/mus_battle33.s b/sound/songs/mus_battle33.s index b3940f802f..21b707242f 100644 --- a/sound/songs/mus_battle33.s +++ b/sound/songs/mus_battle33.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_battle33_grp, voicegroup_869B4F8 + .equ mus_battle33_grp, voicegroup121 .equ mus_battle33_pri, 1 .equ mus_battle33_rev, reverb_set+50 .equ mus_battle33_mvl, 127 diff --git a/sound/songs/mus_battle34.s b/sound/songs/mus_battle34.s index c37650627b..52fbbc1eb1 100644 --- a/sound/songs/mus_battle34.s +++ b/sound/songs/mus_battle34.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_battle34_grp, voicegroup_869BCF0 + .equ mus_battle34_grp, voicegroup123 .equ mus_battle34_pri, 1 .equ mus_battle34_rev, reverb_set+50 .equ mus_battle34_mvl, 127 diff --git a/sound/songs/mus_battle35.s b/sound/songs/mus_battle35.s index 484d4688f1..96ed8c5b7c 100644 --- a/sound/songs/mus_battle35.s +++ b/sound/songs/mus_battle35.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_battle35_grp, voicegroup_869C2F0 + .equ mus_battle35_grp, voicegroup124 .equ mus_battle35_pri, 1 .equ mus_battle35_rev, reverb_set+50 .equ mus_battle35_mvl, 127 diff --git a/sound/songs/mus_battle36.s b/sound/songs/mus_battle36.s index 3431f9ffeb..7db8ea5f31 100644 --- a/sound/songs/mus_battle36.s +++ b/sound/songs/mus_battle36.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_battle36_grp, voicegroup_869B900 + .equ mus_battle36_grp, voicegroup122 .equ mus_battle36_pri, 1 .equ mus_battle36_rev, reverb_set+50 .equ mus_battle36_mvl, 127 diff --git a/sound/songs/mus_battle38.s b/sound/songs/mus_battle38.s index 453009033d..751d08f5af 100644 --- a/sound/songs/mus_battle38.s +++ b/sound/songs/mus_battle38.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_battle38_grp, voicegroup_869C704 + .equ mus_battle38_grp, voicegroup125 .equ mus_battle38_pri, 1 .equ mus_battle38_rev, reverb_set+50 .equ mus_battle38_mvl, 127 diff --git a/sound/songs/mus_bd_time.s b/sound/songs/mus_bd_time.s index 46a6d0a425..9703fb7d0f 100644 --- a/sound/songs/mus_bd_time.s +++ b/sound/songs/mus_bd_time.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_bd_time_grp, voicegroup_867E740 + .equ mus_bd_time_grp, voicegroup038 .equ mus_bd_time_pri, 0 .equ mus_bd_time_rev, reverb_set+50 .equ mus_bd_time_mvl, 127 diff --git a/sound/songs/mus_bijyutu.s b/sound/songs/mus_bijyutu.s index 6b1e4ef38e..8460a518d0 100644 --- a/sound/songs/mus_bijyutu.s +++ b/sound/songs/mus_bijyutu.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_bijyutu_grp, voicegroup_8679DC0 + .equ mus_bijyutu_grp, voicegroup020 .equ mus_bijyutu_pri, 0 .equ mus_bijyutu_rev, reverb_set+50 .equ mus_bijyutu_mvl, 127 diff --git a/sound/songs/mus_boy_sup.s b/sound/songs/mus_boy_sup.s index 27ec790151..817a7917ef 100644 --- a/sound/songs/mus_boy_sup.s +++ b/sound/songs/mus_boy_sup.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_boy_sup_grp, voicegroup_8688874 + .equ mus_boy_sup_grp, voicegroup067 .equ mus_boy_sup_pri, 0 .equ mus_boy_sup_rev, reverb_set+50 .equ mus_boy_sup_mvl, 127 diff --git a/sound/songs/mus_boyeye.s b/sound/songs/mus_boyeye.s index d15cb166d9..ecf3951a1e 100644 --- a/sound/songs/mus_boyeye.s +++ b/sound/songs/mus_boyeye.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_boyeye_grp, voicegroup_867BDA0 + .equ mus_boyeye_grp, voicegroup028 .equ mus_boyeye_pri, 0 .equ mus_boyeye_rev, reverb_set+50 .equ mus_boyeye_mvl, 127 diff --git a/sound/songs/mus_c_road.s b/sound/songs/mus_c_road.s index 028be8b8ff..226422eb24 100644 --- a/sound/songs/mus_c_road.s +++ b/sound/songs/mus_c_road.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_c_road_grp, voicegroup_868B874 + .equ mus_c_road_grp, voicegroup075 .equ mus_c_road_pri, 0 .equ mus_c_road_rev, reverb_set+50 .equ mus_c_road_mvl, 127 diff --git a/sound/songs/mus_casino.s b/sound/songs/mus_casino.s index 5dfacb9a47..aa7a0e6b45 100644 --- a/sound/songs/mus_casino.s +++ b/sound/songs/mus_casino.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_casino_grp, voicegroup_868A674 + .equ mus_casino_grp, voicegroup072 .equ mus_casino_pri, 0 .equ mus_casino_rev, reverb_set+50 .equ mus_casino_mvl, 127 diff --git a/sound/songs/mus_con_fan.s b/sound/songs/mus_con_fan.s index 1935a13ced..414756f565 100644 --- a/sound/songs/mus_con_fan.s +++ b/sound/songs/mus_con_fan.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_con_fan_grp, voicegroup_868EC7C + .equ mus_con_fan_grp, voicegroup085 .equ mus_con_fan_pri, 0 .equ mus_con_fan_rev, reverb_set+50 .equ mus_con_fan_mvl, 127 diff --git a/sound/songs/mus_con_k.s b/sound/songs/mus_con_k.s index 7639517ac7..7d61a90d3d 100644 --- a/sound/songs/mus_con_k.s +++ b/sound/songs/mus_con_k.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_con_k_grp, voicegroup_869167C + .equ mus_con_k_grp, voicegroup092 .equ mus_con_k_pri, 0 .equ mus_con_k_rev, reverb_set+50 .equ mus_con_k_mvl, 127 diff --git a/sound/songs/mus_conlobby.s b/sound/songs/mus_conlobby.s index 308106f8ed..311042200b 100644 --- a/sound/songs/mus_conlobby.s +++ b/sound/songs/mus_conlobby.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_conlobby_grp, voicegroup_8693A7C + .equ mus_conlobby_grp, voicegroup098 .equ mus_conlobby_pri, 0 .equ mus_conlobby_rev, reverb_set+50 .equ mus_conlobby_mvl, 127 diff --git a/sound/songs/mus_contest0.s b/sound/songs/mus_contest0.s index 84e5bf05ed..c83a2354fd 100644 --- a/sound/songs/mus_contest0.s +++ b/sound/songs/mus_contest0.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_contest0_grp, voicegroup_868F27C + .equ mus_contest0_grp, voicegroup086 .equ mus_contest0_pri, 0 .equ mus_contest0_rev, reverb_set+50 .equ mus_contest0_mvl, 127 diff --git a/sound/songs/mus_cycling.s b/sound/songs/mus_cycling.s index 10a51b3e93..d84becb214 100644 --- a/sound/songs/mus_cycling.s +++ b/sound/songs/mus_cycling.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_cycling_grp, voicegroup_86820D0 + .equ mus_cycling_grp, voicegroup049 .equ mus_cycling_pri, 0 .equ mus_cycling_rev, reverb_set+50 .equ mus_cycling_mvl, 127 diff --git a/sound/songs/mus_daigo.s b/sound/songs/mus_daigo.s index f28d83172e..f53664bbda 100644 --- a/sound/songs/mus_daigo.s +++ b/sound/songs/mus_daigo.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_daigo_grp, voicegroup_869467C + .equ mus_daigo_grp, voicegroup100 .equ mus_daigo_pri, 0 .equ mus_daigo_rev, reverb_set+50 .equ mus_daigo_mvl, 127 diff --git a/sound/songs/mus_dan01.s b/sound/songs/mus_dan01.s index b676ea3d3b..773e4a8a12 100644 --- a/sound/songs/mus_dan01.s +++ b/sound/songs/mus_dan01.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_dan01_grp, voicegroup_86793C4 + .equ mus_dan01_grp, voicegroup018 .equ mus_dan01_pri, 0 .equ mus_dan01_rev, reverb_set+50 .equ mus_dan01_mvl, 127 diff --git a/sound/songs/mus_dan02.s b/sound/songs/mus_dan02.s index 3fa3250620..735d28ac57 100644 --- a/sound/songs/mus_dan02.s +++ b/sound/songs/mus_dan02.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_dan02_grp, voicegroup_867C5A4 + .equ mus_dan02_grp, voicegroup030 .equ mus_dan02_pri, 0 .equ mus_dan02_rev, reverb_set+50 .equ mus_dan02_mvl, 127 diff --git a/sound/songs/mus_dan03.s b/sound/songs/mus_dan03.s index e86024d98d..94b1182a39 100644 --- a/sound/songs/mus_dan03.s +++ b/sound/songs/mus_dan03.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_dan03_grp, voicegroup_867E314 + .equ mus_dan03_grp, voicegroup037 .equ mus_dan03_pri, 0 .equ mus_dan03_rev, reverb_set+50 .equ mus_dan03_mvl, 127 diff --git a/sound/songs/mus_deepdeep.s b/sound/songs/mus_deepdeep.s index a54559f7f4..250ae48003 100644 --- a/sound/songs/mus_deepdeep.s +++ b/sound/songs/mus_deepdeep.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_deepdeep_grp, voicegroup_8684E48 + .equ mus_deepdeep_grp, voicegroup057 .equ mus_deepdeep_pri, 0 .equ mus_deepdeep_rev, reverb_set+50 .equ mus_deepdeep_mvl, 127 diff --git a/sound/songs/mus_demo1.s b/sound/songs/mus_demo1.s index c23d9e9be7..afbc65ad65 100644 --- a/sound/songs/mus_demo1.s +++ b/sound/songs/mus_demo1.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_demo1_grp, voicegroup_8685E74 + .equ mus_demo1_grp, voicegroup060 .equ mus_demo1_pri, 0 .equ mus_demo1_rev, reverb_set+50 .equ mus_demo1_mvl, 127 diff --git a/sound/songs/mus_dendou.s b/sound/songs/mus_dendou.s index 21ba411a11..1a10c7872e 100644 --- a/sound/songs/mus_dendou.s +++ b/sound/songs/mus_dendou.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_dendou_grp, voicegroup_868DC8C + .equ mus_dendou_grp, voicegroup082 .equ mus_dendou_pri, 0 .equ mus_dendou_rev, reverb_set+50 .equ mus_dendou_mvl, 127 diff --git a/sound/songs/mus_dooro1.s b/sound/songs/mus_dooro1.s index 41793c861f..237b78d340 100644 --- a/sound/songs/mus_dooro1.s +++ b/sound/songs/mus_dooro1.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_dooro1_grp, voicegroup_8677528 + .equ mus_dooro1_grp, voicegroup011 .equ mus_dooro1_pri, 0 .equ mus_dooro1_rev, reverb_set+50 .equ mus_dooro1_mvl, 127 diff --git a/sound/songs/mus_dooro_x1.s b/sound/songs/mus_dooro_x1.s index 2b9d918f0b..231fd52644 100644 --- a/sound/songs/mus_dooro_x1.s +++ b/sound/songs/mus_dooro_x1.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_dooro_x1_grp, voicegroup_8677138 + .equ mus_dooro_x1_grp, voicegroup010 .equ mus_dooro_x1_pri, 0 .equ mus_dooro_x1_rev, reverb_set+50 .equ mus_dooro_x1_mvl, 127 diff --git a/sound/songs/mus_dooro_x3.s b/sound/songs/mus_dooro_x3.s index 94d8ae9ccd..8cc747fcb6 100644 --- a/sound/songs/mus_dooro_x3.s +++ b/sound/songs/mus_dooro_x3.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_dooro_x3_grp, voicegroup_8678428 + .equ mus_dooro_x3_grp, voicegroup014 .equ mus_dooro_x3_pri, 0 .equ mus_dooro_x3_rev, reverb_set+50 .equ mus_dooro_x3_mvl, 127 diff --git a/sound/songs/mus_dooro_x4.s b/sound/songs/mus_dooro_x4.s index be5fbe60d7..c59a439def 100644 --- a/sound/songs/mus_dooro_x4.s +++ b/sound/songs/mus_dooro_x4.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_dooro_x4_grp, voicegroup_867A1D4 + .equ mus_dooro_x4_grp, voicegroup021 .equ mus_dooro_x4_pri, 0 .equ mus_dooro_x4_rev, reverb_set+50 .equ mus_dooro_x4_mvl, 127 diff --git a/sound/songs/mus_dummy.s b/sound/songs/mus_dummy.s index 29620c62d5..a3dfa98657 100644 --- a/sound/songs/mus_dummy.s +++ b/sound/songs/mus_dummy.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_dummy_grp, voicegroup_pokemon_cry + .equ mus_dummy_grp, voicegroup000 .equ mus_dummy_pri, 0 .equ mus_dummy_rev, reverb_set+40 .equ mus_dummy_mvl, 127 diff --git a/sound/songs/mus_eikou_r.s b/sound/songs/mus_eikou_r.s index b2b9b610cf..61f7421bbf 100644 --- a/sound/songs/mus_eikou_r.s +++ b/sound/songs/mus_eikou_r.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_eikou_r_grp, voicegroup_8691C7C + .equ mus_eikou_r_grp, voicegroup093 .equ mus_eikou_r_pri, 0 .equ mus_eikou_r_rev, reverb_set+50 .equ mus_eikou_r_mvl, 127 diff --git a/sound/songs/mus_end.s b/sound/songs/mus_end.s index 15ab1d5126..04a9745d10 100644 --- a/sound/songs/mus_end.s +++ b/sound/songs/mus_end.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_end_grp, voicegroup_86951A4 + .equ mus_end_grp, voicegroup102 .equ mus_end_pri, 0 .equ mus_end_rev, reverb_set+50 .equ mus_end_mvl, 127 diff --git a/sound/songs/mus_event0.s b/sound/songs/mus_event0.s index 8e4b6f1c96..f0f30a1c60 100644 --- a/sound/songs/mus_event0.s +++ b/sound/songs/mus_event0.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_event0_grp, voicegroup_8684848 + .equ mus_event0_grp, voicegroup056 .equ mus_event0_pri, 0 .equ mus_event0_rev, reverb_set+50 .equ mus_event0_mvl, 127 diff --git a/sound/songs/mus_fanfa1.s b/sound/songs/mus_fanfa1.s index 1448aec6b1..0010b42685 100644 --- a/sound/songs/mus_fanfa1.s +++ b/sound/songs/mus_fanfa1.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_fanfa1_grp, voicegroup_8677B28 + .equ mus_fanfa1_grp, voicegroup012 .equ mus_fanfa1_pri, 5 .equ mus_fanfa1_rev, reverb_set+50 .equ mus_fanfa1_mvl, 127 diff --git a/sound/songs/mus_fanfa4.s b/sound/songs/mus_fanfa4.s index fb6f14d24b..57723229f0 100644 --- a/sound/songs/mus_fanfa4.s +++ b/sound/songs/mus_fanfa4.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_fanfa4_grp, voicegroup_8677B28 + .equ mus_fanfa4_grp, voicegroup012 .equ mus_fanfa4_pri, 5 .equ mus_fanfa4_rev, reverb_set+50 .equ mus_fanfa4_mvl, 127 diff --git a/sound/songs/mus_fanfa5.s b/sound/songs/mus_fanfa5.s index b69b63bea5..dab916a84d 100644 --- a/sound/songs/mus_fanfa5.s +++ b/sound/songs/mus_fanfa5.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_fanfa5_grp, voicegroup_8677B28 + .equ mus_fanfa5_grp, voicegroup012 .equ mus_fanfa5_pri, 5 .equ mus_fanfa5_rev, reverb_set+50 .equ mus_fanfa5_mvl, 127 diff --git a/sound/songs/mus_field13.s b/sound/songs/mus_field13.s index 5faad5ed76..4a3d8a1105 100644 --- a/sound/songs/mus_field13.s +++ b/sound/songs/mus_field13.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_field13_grp, voicegroup_pokemon_cry + .equ mus_field13_grp, voicegroup000 .equ mus_field13_pri, 0 .equ mus_field13_rev, reverb_set+50 .equ mus_field13_mvl, 127 diff --git a/sound/songs/mus_finecity.s b/sound/songs/mus_finecity.s index df273cd8de..5928cfcbdc 100644 --- a/sound/songs/mus_finecity.s +++ b/sound/songs/mus_finecity.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_finecity_grp, voicegroup_868D074 + .equ mus_finecity_grp, voicegroup079 .equ mus_finecity_pri, 0 .equ mus_finecity_rev, reverb_set+50 .equ mus_finecity_mvl, 127 diff --git a/sound/songs/mus_friendly.s b/sound/songs/mus_friendly.s index 9e8782a0cd..4b45085f98 100644 --- a/sound/songs/mus_friendly.s +++ b/sound/songs/mus_friendly.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_friendly_grp, voicegroup_86826D0 + .equ mus_friendly_grp, voicegroup050 .equ mus_friendly_pri, 0 .equ mus_friendly_rev, reverb_set+50 .equ mus_friendly_mvl, 127 diff --git a/sound/songs/mus_fune_kan.s b/sound/songs/mus_fune_kan.s index be94f9e14b..ef84901102 100644 --- a/sound/songs/mus_fune_kan.s +++ b/sound/songs/mus_fune_kan.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_fune_kan_grp, voicegroup_867A744 + .equ mus_fune_kan_grp, voicegroup023 .equ mus_fune_kan_pri, 0 .equ mus_fune_kan_rev, reverb_set+50 .equ mus_fune_kan_mvl, 127 diff --git a/sound/songs/mus_gim.s b/sound/songs/mus_gim.s index 6ff527d5cd..77a3e0979c 100644 --- a/sound/songs/mus_gim.s +++ b/sound/songs/mus_gim.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_gim_grp, voicegroup_8677FF0 + .equ mus_gim_grp, voicegroup013 .equ mus_gim_pri, 0 .equ mus_gim_rev, reverb_set+50 .equ mus_gim_mvl, 127 diff --git a/sound/songs/mus_girl_sup.s b/sound/songs/mus_girl_sup.s index 6b9d074c72..e95bea4d4e 100644 --- a/sound/songs/mus_girl_sup.s +++ b/sound/songs/mus_girl_sup.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_girl_sup_grp, voicegroup_8686474 + .equ mus_girl_sup_grp, voicegroup061 .equ mus_girl_sup_pri, 0 .equ mus_girl_sup_rev, reverb_set+50 .equ mus_girl_sup_mvl, 127 diff --git a/sound/songs/mus_girleye.s b/sound/songs/mus_girleye.s index 34fb6beca4..aebd25611a 100644 --- a/sound/songs/mus_girleye.s +++ b/sound/songs/mus_girleye.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_girleye_grp, voicegroup_8683648 + .equ mus_girleye_grp, voicegroup053 .equ mus_girleye_pri, 0 .equ mus_girleye_rev, reverb_set+50 .equ mus_girleye_mvl, 127 diff --git a/sound/songs/mus_gomachi0.s b/sound/songs/mus_gomachi0.s index 89c51c7e22..6acd1cea42 100644 --- a/sound/songs/mus_gomachi0.s +++ b/sound/songs/mus_gomachi0.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_gomachi0_grp, voicegroup_86806E4 + .equ mus_gomachi0_grp, voicegroup044 .equ mus_gomachi0_pri, 0 .equ mus_gomachi0_rev, reverb_set+50 .equ mus_gomachi0_mvl, 127 diff --git a/sound/songs/mus_gotown.s b/sound/songs/mus_gotown.s index 11eb0e4525..ebf6fe2cd1 100644 --- a/sound/songs/mus_gotown.s +++ b/sound/songs/mus_gotown.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_gotown_grp, voicegroup_8680AB0 + .equ mus_gotown_grp, voicegroup045 .equ mus_gotown_pri, 0 .equ mus_gotown_rev, reverb_set+50 .equ mus_gotown_mvl, 127 diff --git a/sound/songs/mus_granroad.s b/sound/songs/mus_granroad.s index 2027ef7e0e..9d667d9f01 100644 --- a/sound/songs/mus_granroad.s +++ b/sound/songs/mus_granroad.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_granroad_grp, voicegroup_8681CB0 + .equ mus_granroad_grp, voicegroup048 .equ mus_granroad_pri, 0 .equ mus_granroad_rev, reverb_set+50 .equ mus_granroad_mvl, 127 diff --git a/sound/songs/mus_hageshii.s b/sound/songs/mus_hageshii.s index c3f700e8d2..780d09c0ff 100644 --- a/sound/songs/mus_hageshii.s +++ b/sound/songs/mus_hageshii.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_hageshii_grp, voicegroup_8686A74 + .equ mus_hageshii_grp, voicegroup062 .equ mus_hageshii_pri, 0 .equ mus_hageshii_rev, reverb_set+50 .equ mus_hageshii_mvl, 127 diff --git a/sound/songs/mus_hideri.s b/sound/songs/mus_hideri.s index 6064d60702..a9763a841a 100644 --- a/sound/songs/mus_hideri.s +++ b/sound/songs/mus_hideri.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_hideri_grp, voicegroup_8690A7C + .equ mus_hideri_grp, voicegroup090 .equ mus_hideri_pri, 0 .equ mus_hideri_rev, reverb_set+50 .equ mus_hideri_mvl, 127 diff --git a/sound/songs/mus_hightown.s b/sound/songs/mus_hightown.s index c926de0ce2..d941abae9c 100644 --- a/sound/songs/mus_hightown.s +++ b/sound/songs/mus_hightown.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_hightown_grp, voicegroup_868AC74 + .equ mus_hightown_grp, voicegroup073 .equ mus_hightown_pri, 0 .equ mus_hightown_rev, reverb_set+50 .equ mus_hightown_mvl, 127 diff --git a/sound/songs/mus_hutago.s b/sound/songs/mus_hutago.s index 77b195a2a7..9104ac213a 100644 --- a/sound/songs/mus_hutago.s +++ b/sound/songs/mus_hutago.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_hutago_grp, voicegroup_869287C + .equ mus_hutago_grp, voicegroup095 .equ mus_hutago_pri, 0 .equ mus_hutago_rev, reverb_set+50 .equ mus_hutago_mvl, 127 diff --git a/sound/songs/mus_inter_v.s b/sound/songs/mus_inter_v.s index f224906ad8..1efa66dba6 100644 --- a/sound/songs/mus_inter_v.s +++ b/sound/songs/mus_inter_v.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_inter_v_grp, voicegroup_869407C + .equ mus_inter_v_grp, voicegroup099 .equ mus_inter_v_pri, 0 .equ mus_inter_v_rev, reverb_set+50 .equ mus_inter_v_mvl, 127 diff --git a/sound/songs/mus_kachi1.s b/sound/songs/mus_kachi1.s index 5eee09ed06..22c349a0f0 100644 --- a/sound/songs/mus_kachi1.s +++ b/sound/songs/mus_kachi1.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_kachi1_grp, voicegroup_8685448 + .equ mus_kachi1_grp, voicegroup058 .equ mus_kachi1_pri, 0 .equ mus_kachi1_rev, reverb_set+50 .equ mus_kachi1_mvl, 127 diff --git a/sound/songs/mus_kachi2.s b/sound/songs/mus_kachi2.s index 84268ff101..a9318bce7a 100644 --- a/sound/songs/mus_kachi2.s +++ b/sound/songs/mus_kachi2.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_kachi2_grp, voicegroup_867AFB4 + .equ mus_kachi2_grp, voicegroup025 .equ mus_kachi2_pri, 0 .equ mus_kachi2_rev, reverb_set+50 .equ mus_kachi2_mvl, 127 diff --git a/sound/songs/mus_kachi22.s b/sound/songs/mus_kachi22.s index e3e28e6d0d..240fdec0b3 100644 --- a/sound/songs/mus_kachi22.s +++ b/sound/songs/mus_kachi22.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_kachi22_grp, voicegroup_867AFB4 + .equ mus_kachi22_grp, voicegroup025 .equ mus_kachi22_pri, 0 .equ mus_kachi22_rev, reverb_set+50 .equ mus_kachi22_mvl, 127 diff --git a/sound/songs/mus_kachi3.s b/sound/songs/mus_kachi3.s index 39b1e3e540..a08766a7ee 100644 --- a/sound/songs/mus_kachi3.s +++ b/sound/songs/mus_kachi3.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_kachi3_grp, voicegroup_867AB70 + .equ mus_kachi3_grp, voicegroup024 .equ mus_kachi3_pri, 0 .equ mus_kachi3_rev, reverb_set+50 .equ mus_kachi3_mvl, 127 diff --git a/sound/songs/mus_kachi4.s b/sound/songs/mus_kachi4.s index f911490e98..73fb112d79 100644 --- a/sound/songs/mus_kachi4.s +++ b/sound/songs/mus_kachi4.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_kachi4_grp, voicegroup_8689A74 + .equ mus_kachi4_grp, voicegroup070 .equ mus_kachi4_pri, 0 .equ mus_kachi4_rev, reverb_set+50 .equ mus_kachi4_mvl, 127 diff --git a/sound/songs/mus_kachi5.s b/sound/songs/mus_kachi5.s index 9b3dc6bede..ed49ccd261 100644 --- a/sound/songs/mus_kachi5.s +++ b/sound/songs/mus_kachi5.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_kachi5_grp, voicegroup_867C184 + .equ mus_kachi5_grp, voicegroup029 .equ mus_kachi5_pri, 0 .equ mus_kachi5_rev, reverb_set+50 .equ mus_kachi5_mvl, 127 diff --git a/sound/songs/mus_kakkoii.s b/sound/songs/mus_kakkoii.s index 400c1e8fd5..cdaed43e7e 100644 --- a/sound/songs/mus_kakkoii.s +++ b/sound/songs/mus_kakkoii.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_kakkoii_grp, voicegroup_8687074 + .equ mus_kakkoii_grp, voicegroup063 .equ mus_kakkoii_pri, 0 .equ mus_kakkoii_rev, reverb_set+50 .equ mus_kakkoii_mvl, 127 diff --git a/sound/songs/mus_karakuri.s b/sound/songs/mus_karakuri.s index e1a0791d7b..74756f0d9f 100644 --- a/sound/songs/mus_karakuri.s +++ b/sound/songs/mus_karakuri.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_karakuri_grp, voicegroup_869227C + .equ mus_karakuri_grp, voicegroup094 .equ mus_karakuri_pri, 0 .equ mus_karakuri_rev, reverb_set+50 .equ mus_karakuri_mvl, 127 diff --git a/sound/songs/mus_kazanbai.s b/sound/songs/mus_kazanbai.s index acdb40247b..f73702e83b 100644 --- a/sound/songs/mus_kazanbai.s +++ b/sound/songs/mus_kazanbai.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_kazanbai_grp, voicegroup_8687674 + .equ mus_kazanbai_grp, voicegroup064 .equ mus_kazanbai_pri, 0 .equ mus_kazanbai_rev, reverb_set+50 .equ mus_kazanbai_mvl, 127 diff --git a/sound/songs/mus_m_boat.s b/sound/songs/mus_m_boat.s index 807c1d2d4f..0ed3d9fd3d 100644 --- a/sound/songs/mus_m_boat.s +++ b/sound/songs/mus_m_boat.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_m_boat_grp, voicegroup_868C474 + .equ mus_m_boat_grp, voicegroup077 .equ mus_m_boat_pri, 0 .equ mus_m_boat_rev, reverb_set+50 .equ mus_m_boat_mvl, 127 diff --git a/sound/songs/mus_m_dungon.s b/sound/songs/mus_m_dungon.s index 0e8a21a5e4..9bff50e78d 100644 --- a/sound/songs/mus_m_dungon.s +++ b/sound/songs/mus_m_dungon.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_m_dungon_grp, voicegroup_868CA74 + .equ mus_m_dungon_grp, voicegroup078 .equ mus_m_dungon_pri, 0 .equ mus_m_dungon_rev, reverb_set+50 .equ mus_m_dungon_mvl, 127 diff --git a/sound/songs/mus_maborosi.s b/sound/songs/mus_maborosi.s index 645abfdbeb..e104d1b7d5 100644 --- a/sound/songs/mus_maborosi.s +++ b/sound/songs/mus_maborosi.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_maborosi_grp, voicegroup_868E67C + .equ mus_maborosi_grp, voicegroup084 .equ mus_maborosi_pri, 0 .equ mus_maborosi_rev, reverb_set+50 .equ mus_maborosi_mvl, 127 diff --git a/sound/songs/mus_machi_s2.s b/sound/songs/mus_machi_s2.s index 13406e1314..03856e1a2e 100644 --- a/sound/songs/mus_machi_s2.s +++ b/sound/songs/mus_machi_s2.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_machi_s2_grp, voicegroup_8678824 + .equ mus_machi_s2_grp, voicegroup015 .equ mus_machi_s2_pri, 0 .equ mus_machi_s2_rev, reverb_set+50 .equ mus_machi_s2_mvl, 127 diff --git a/sound/songs/mus_machi_s3.s b/sound/songs/mus_machi_s3.s index fae3ba7e5d..9a08362b37 100644 --- a/sound/songs/mus_machi_s3.s +++ b/sound/songs/mus_machi_s3.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_machi_s3_grp, voicegroup_867CB44 + .equ mus_machi_s3_grp, voicegroup032 .equ mus_machi_s3_pri, 0 .equ mus_machi_s3_rev, reverb_set+50 .equ mus_machi_s3_mvl, 127 diff --git a/sound/songs/mus_machi_s4.s b/sound/songs/mus_machi_s4.s index 48687a1e75..f6edeeafae 100644 --- a/sound/songs/mus_machi_s4.s +++ b/sound/songs/mus_machi_s4.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_machi_s4_grp, voicegroup_86799C4 + .equ mus_machi_s4_grp, voicegroup019 .equ mus_machi_s4_pri, 0 .equ mus_machi_s4_rev, reverb_set+50 .equ mus_machi_s4_mvl, 127 diff --git a/sound/songs/mus_machupi.s b/sound/songs/mus_machupi.s index e5601081c6..36283f57da 100644 --- a/sound/songs/mus_machupi.s +++ b/sound/songs/mus_machupi.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_machupi_grp, voicegroup_868D674 + .equ mus_machupi_grp, voicegroup080 .equ mus_machupi_pri, 0 .equ mus_machupi_rev, reverb_set+50 .equ mus_machupi_mvl, 127 diff --git a/sound/songs/mus_me_asa.s b/sound/songs/mus_me_asa.s index c96547aba1..9db50e89a8 100644 --- a/sound/songs/mus_me_asa.s +++ b/sound/songs/mus_me_asa.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_me_asa_grp, voicegroup_8677B28 + .equ mus_me_asa_grp, voicegroup012 .equ mus_me_asa_pri, 5 .equ mus_me_asa_rev, reverb_set+50 .equ mus_me_asa_mvl, 127 diff --git a/sound/songs/mus_me_b_big.s b/sound/songs/mus_me_b_big.s index dbb64fdd44..30eca8ce17 100644 --- a/sound/songs/mus_me_b_big.s +++ b/sound/songs/mus_me_b_big.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_me_b_big_grp, voicegroup_8677B28 + .equ mus_me_b_big_grp, voicegroup012 .equ mus_me_b_big_pri, 5 .equ mus_me_b_big_rev, reverb_set+50 .equ mus_me_b_big_mvl, 127 diff --git a/sound/songs/mus_me_b_small.s b/sound/songs/mus_me_b_small.s index 7b7bbc6190..a88ccfdcf1 100644 --- a/sound/songs/mus_me_b_small.s +++ b/sound/songs/mus_me_b_small.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_me_b_small_grp, voicegroup_8677B28 + .equ mus_me_b_small_grp, voicegroup012 .equ mus_me_b_small_pri, 5 .equ mus_me_b_small_rev, reverb_set+50 .equ mus_me_b_small_mvl, 127 diff --git a/sound/songs/mus_me_bachi.s b/sound/songs/mus_me_bachi.s index ca7ec34aeb..d8c5e8e8b1 100644 --- a/sound/songs/mus_me_bachi.s +++ b/sound/songs/mus_me_bachi.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_me_bachi_grp, voicegroup_8677B28 + .equ mus_me_bachi_grp, voicegroup012 .equ mus_me_bachi_pri, 5 .equ mus_me_bachi_rev, reverb_set+50 .equ mus_me_bachi_mvl, 127 diff --git a/sound/songs/mus_me_kinomi.s b/sound/songs/mus_me_kinomi.s index 05186bf835..bd8696c1d5 100644 --- a/sound/songs/mus_me_kinomi.s +++ b/sound/songs/mus_me_kinomi.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_me_kinomi_grp, voicegroup_8677B28 + .equ mus_me_kinomi_grp, voicegroup012 .equ mus_me_kinomi_pri, 5 .equ mus_me_kinomi_rev, reverb_set+50 .equ mus_me_kinomi_mvl, 127 diff --git a/sound/songs/mus_me_pointget.s b/sound/songs/mus_me_pointget.s index ee4b0ab1ba..a6ea99d745 100644 --- a/sound/songs/mus_me_pointget.s +++ b/sound/songs/mus_me_pointget.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_me_pointget_grp, voicegroup_869557C + .equ mus_me_pointget_grp, voicegroup103 .equ mus_me_pointget_pri, 5 .equ mus_me_pointget_rev, reverb_set+50 .equ mus_me_pointget_mvl, 127 diff --git a/sound/songs/mus_me_rg_photo.s b/sound/songs/mus_me_rg_photo.s index fae5679b29..fb7682273b 100644 --- a/sound/songs/mus_me_rg_photo.s +++ b/sound/songs/mus_me_rg_photo.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_me_rg_photo_grp, voicegroup_86B0FF0 + .equ mus_me_rg_photo_grp, voicegroup180 .equ mus_me_rg_photo_pri, 5 .equ mus_me_rg_photo_rev, reverb_set+50 .equ mus_me_rg_photo_mvl, 127 diff --git a/sound/songs/mus_me_shinka.s b/sound/songs/mus_me_shinka.s index 67a9a10ef8..26c136fe4f 100644 --- a/sound/songs/mus_me_shinka.s +++ b/sound/songs/mus_me_shinka.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_me_shinka_grp, voicegroup_867B3A4 + .equ mus_me_shinka_grp, voicegroup026 .equ mus_me_shinka_pri, 0 .equ mus_me_shinka_rev, reverb_set+50 .equ mus_me_shinka_mvl, 127 diff --git a/sound/songs/mus_me_symbolget.s b/sound/songs/mus_me_symbolget.s index cc548a8d7a..4735929bf7 100644 --- a/sound/songs/mus_me_symbolget.s +++ b/sound/songs/mus_me_symbolget.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_me_symbolget_grp, voicegroup_869557C + .equ mus_me_symbolget_grp, voicegroup103 .equ mus_me_symbolget_pri, 5 .equ mus_me_symbolget_rev, reverb_set+50 .equ mus_me_symbolget_mvl, 127 diff --git a/sound/songs/mus_me_tama.s b/sound/songs/mus_me_tama.s index 0fded0c87a..84feef5d7b 100644 --- a/sound/songs/mus_me_tama.s +++ b/sound/songs/mus_me_tama.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_me_tama_grp, voicegroup_8677B28 + .equ mus_me_tama_grp, voicegroup012 .equ mus_me_tama_pri, 5 .equ mus_me_tama_rev, reverb_set+50 .equ mus_me_tama_mvl, 127 diff --git a/sound/songs/mus_me_tore_eye.s b/sound/songs/mus_me_tore_eye.s index 74a3a30dc9..bcdb74aed9 100644 --- a/sound/songs/mus_me_tore_eye.s +++ b/sound/songs/mus_me_tore_eye.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_me_tore_eye_grp, voicegroup_869608C + .equ mus_me_tore_eye_grp, voicegroup105 .equ mus_me_tore_eye_pri, 5 .equ mus_me_tore_eye_rev, reverb_set+50 .equ mus_me_tore_eye_mvl, 127 diff --git a/sound/songs/mus_me_wasure.s b/sound/songs/mus_me_wasure.s index 460034875f..f2545252dc 100644 --- a/sound/songs/mus_me_wasure.s +++ b/sound/songs/mus_me_wasure.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_me_wasure_grp, voicegroup_8677B28 + .equ mus_me_wasure_grp, voicegroup012 .equ mus_me_wasure_pri, 5 .equ mus_me_wasure_rev, reverb_set+50 .equ mus_me_wasure_mvl, 127 diff --git a/sound/songs/mus_me_waza.s b/sound/songs/mus_me_waza.s index 700bf7826b..f4bae353c6 100644 --- a/sound/songs/mus_me_waza.s +++ b/sound/songs/mus_me_waza.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_me_waza_grp, voicegroup_8677B28 + .equ mus_me_waza_grp, voicegroup012 .equ mus_me_waza_pri, 5 .equ mus_me_waza_rev, reverb_set+50 .equ mus_me_waza_mvl, 127 diff --git a/sound/songs/mus_me_zannen.s b/sound/songs/mus_me_zannen.s index 270f89d792..46748bec02 100644 --- a/sound/songs/mus_me_zannen.s +++ b/sound/songs/mus_me_zannen.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_me_zannen_grp, voicegroup_8677B28 + .equ mus_me_zannen_grp, voicegroup012 .equ mus_me_zannen_pri, 5 .equ mus_me_zannen_rev, reverb_set+50 .equ mus_me_zannen_mvl, 127 diff --git a/sound/songs/mus_mgm0.s b/sound/songs/mus_mgm0.s index 50893b8b3c..5a90bcb5b0 100644 --- a/sound/songs/mus_mgm0.s +++ b/sound/songs/mus_mgm0.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_mgm0_grp, voicegroup_868F87C + .equ mus_mgm0_grp, voicegroup087 .equ mus_mgm0_pri, 0 .equ mus_mgm0_rev, reverb_set+50 .equ mus_mgm0_mvl, 127 diff --git a/sound/songs/mus_minamo.s b/sound/songs/mus_minamo.s index 501605750a..67e4132402 100644 --- a/sound/songs/mus_minamo.s +++ b/sound/songs/mus_minamo.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_minamo_grp, voicegroup_8683C48 + .equ mus_minamo_grp, voicegroup054 .equ mus_minamo_pri, 0 .equ mus_minamo_rev, reverb_set+50 .equ mus_minamo_mvl, 127 diff --git a/sound/songs/mus_mishiro.s b/sound/songs/mus_mishiro.s index 1754b34bed..0d9a89fe1f 100644 --- a/sound/songs/mus_mishiro.s +++ b/sound/songs/mus_mishiro.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_mishiro_grp, voicegroup_8682CD0 + .equ mus_mishiro_grp, voicegroup051 .equ mus_mishiro_pri, 0 .equ mus_mishiro_rev, reverb_set+50 .equ mus_mishiro_mvl, 127 diff --git a/sound/songs/mus_naminori.s b/sound/songs/mus_naminori.s index 1ebf2a551f..07137ec8e7 100644 --- a/sound/songs/mus_naminori.s +++ b/sound/songs/mus_naminori.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_naminori_grp, voicegroup_8678F80 + .equ mus_naminori_grp, voicegroup017 .equ mus_naminori_pri, 0 .equ mus_naminori_rev, reverb_set+50 .equ mus_naminori_mvl, 127 diff --git a/sound/songs/mus_nextroad.s b/sound/songs/mus_nextroad.s index e8b35dae69..eaefdf11d5 100644 --- a/sound/songs/mus_nextroad.s +++ b/sound/songs/mus_nextroad.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_nextroad_grp, voicegroup_86816B0 + .equ mus_nextroad_grp, voicegroup047 .equ mus_nextroad_pri, 0 .equ mus_nextroad_rev, reverb_set+50 .equ mus_nextroad_mvl, 127 diff --git a/sound/songs/mus_nibi.s b/sound/songs/mus_nibi.s index 4cae95f39a..e24dbfa44c 100644 --- a/sound/songs/mus_nibi.s +++ b/sound/songs/mus_nibi.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_nibi_grp, voicegroup_pokemon_cry + .equ mus_nibi_grp, voicegroup000 .equ mus_nibi_pri, 0 .equ mus_nibi_rev, reverb_set+50 .equ mus_nibi_mvl, 127 diff --git a/sound/songs/mus_odamaki.s b/sound/songs/mus_odamaki.s index 7e373d8516..604941ef3e 100644 --- a/sound/songs/mus_odamaki.s +++ b/sound/songs/mus_odamaki.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_odamaki_grp, voicegroup_867D144 + .equ mus_odamaki_grp, voicegroup033 .equ mus_odamaki_pri, 0 .equ mus_odamaki_rev, reverb_set+50 .equ mus_odamaki_mvl, 127 diff --git a/sound/songs/mus_ooame.s b/sound/songs/mus_ooame.s index e2f0712d27..4c3bd1df0c 100644 --- a/sound/songs/mus_ooame.s +++ b/sound/songs/mus_ooame.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_ooame_grp, voicegroup_869047C + .equ mus_ooame_grp, voicegroup089 .equ mus_ooame_pri, 0 .equ mus_ooame_rev, reverb_set+50 .equ mus_ooame_mvl, 127 diff --git a/sound/songs/mus_p_school.s b/sound/songs/mus_p_school.s index 59a89878f6..a3aac94fe7 100644 --- a/sound/songs/mus_p_school.s +++ b/sound/songs/mus_p_school.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_p_school_grp, voicegroup_868DC74 + .equ mus_p_school_grp, voicegroup081 .equ mus_p_school_pri, 0 .equ mus_p_school_rev, reverb_set+50 .equ mus_p_school_mvl, 127 diff --git a/sound/songs/mus_pcc.s b/sound/songs/mus_pcc.s index b64a8e22be..e1b48bd933 100644 --- a/sound/songs/mus_pcc.s +++ b/sound/songs/mus_pcc.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_pcc_grp, voicegroup_pokemon_cry + .equ mus_pcc_grp, voicegroup000 .equ mus_pcc_pri, 0 .equ mus_pcc_rev, reverb_set+50 .equ mus_pcc_mvl, 127 diff --git a/sound/songs/mus_pokecen.s b/sound/songs/mus_pokecen.s index 6511b3850b..13d4e8bc67 100644 --- a/sound/songs/mus_pokecen.s +++ b/sound/songs/mus_pokecen.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_pokecen_grp, voicegroup_86810B0 + .equ mus_pokecen_grp, voicegroup046 .equ mus_pokecen_pri, 0 .equ mus_pokecen_rev, reverb_set+50 .equ mus_pokecen_mvl, 127 diff --git a/sound/songs/mus_pyramid.s b/sound/songs/mus_pyramid.s index bf3041662d..df37e9ee59 100644 --- a/sound/songs/mus_pyramid.s +++ b/sound/songs/mus_pyramid.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_pyramid_grp, voicegroup_8696470 + .equ mus_pyramid_grp, voicegroup106 .equ mus_pyramid_pri, 0 .equ mus_pyramid_rev, reverb_set+50 .equ mus_pyramid_mvl, 127 diff --git a/sound/songs/mus_pyramid_top.s b/sound/songs/mus_pyramid_top.s index a78e8ff1b5..0a5009a017 100644 --- a/sound/songs/mus_pyramid_top.s +++ b/sound/songs/mus_pyramid_top.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_pyramid_top_grp, voicegroup_8696A70 + .equ mus_pyramid_top_grp, voicegroup107 .equ mus_pyramid_top_pri, 0 .equ mus_pyramid_top_rev, reverb_set+50 .equ mus_pyramid_top_mvl, 127 diff --git a/sound/songs/mus_rainbow.s b/sound/songs/mus_rainbow.s index 1dffd415a1..82d6d5da70 100644 --- a/sound/songs/mus_rainbow.s +++ b/sound/songs/mus_rainbow.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_rainbow_grp, voicegroup_8688E74 + .equ mus_rainbow_grp, voicegroup068 .equ mus_rainbow_pri, 0 .equ mus_rainbow_rev, reverb_set+50 .equ mus_rainbow_mvl, 127 diff --git a/sound/songs/mus_rekkuu_kourin.s b/sound/songs/mus_rekkuu_kourin.s index d3176f6b6b..5692091df6 100644 --- a/sound/songs/mus_rekkuu_kourin.s +++ b/sound/songs/mus_rekkuu_kourin.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_rekkuu_kourin_grp, voicegroup_8697670 + .equ mus_rekkuu_kourin_grp, voicegroup109 .equ mus_rekkuu_kourin_pri, 0 .equ mus_rekkuu_kourin_rev, reverb_set+50 .equ mus_rekkuu_kourin_mvl, 127 diff --git a/sound/songs/mus_rg_ajito.s b/sound/songs/mus_rg_ajito.s index 7339ee6b05..caad898848 100644 --- a/sound/songs/mus_rg_ajito.s +++ b/sound/songs/mus_rg_ajito.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_rg_ajito_grp, voicegroup_86A1BB8 + .equ mus_rg_ajito_grp, voicegroup133 .equ mus_rg_ajito_pri, 0 .equ mus_rg_ajito_rev, reverb_set+50 .equ mus_rg_ajito_mvl, 127 diff --git a/sound/songs/mus_rg_annai.s b/sound/songs/mus_rg_annai.s index f0477c4f09..6b53d13729 100644 --- a/sound/songs/mus_rg_annai.s +++ b/sound/songs/mus_rg_annai.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_rg_annai_grp, voicegroup_86A0FB8 + .equ mus_rg_annai_grp, voicegroup131 .equ mus_rg_annai_pri, 0 .equ mus_rg_annai_rev, reverb_set+50 .equ mus_rg_annai_mvl, 127 diff --git a/sound/songs/mus_rg_champ_r.s b/sound/songs/mus_rg_champ_r.s index 26f3ceb81f..244cb3e076 100644 --- a/sound/songs/mus_rg_champ_r.s +++ b/sound/songs/mus_rg_champ_r.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_rg_champ_r_grp, voicegroup_86A8860 + .equ mus_rg_champ_r_grp, voicegroup154 .equ mus_rg_champ_r_pri, 0 .equ mus_rg_champ_r_rev, reverb_set+50 .equ mus_rg_champ_r_mvl, 127 diff --git a/sound/songs/mus_rg_cycling.s b/sound/songs/mus_rg_cycling.s index 499dddebdc..8fb6b33f4c 100644 --- a/sound/songs/mus_rg_cycling.s +++ b/sound/songs/mus_rg_cycling.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_rg_cycling_grp, voicegroup_86A4204 + .equ mus_rg_cycling_grp, voicegroup141 .equ mus_rg_cycling_pri, 0 .equ mus_rg_cycling_rev, reverb_set+50 .equ mus_rg_cycling_mvl, 127 diff --git a/sound/songs/mus_rg_demo.s b/sound/songs/mus_rg_demo.s index 1ca6ea57d3..38d25224db 100644 --- a/sound/songs/mus_rg_demo.s +++ b/sound/songs/mus_rg_demo.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_rg_demo_grp, voicegroup_86A29D4 + .equ mus_rg_demo_grp, voicegroup136 .equ mus_rg_demo_pri, 0 .equ mus_rg_demo_rev, reverb_set+50 .equ mus_rg_demo_mvl, 127 diff --git a/sound/songs/mus_rg_dendou.s b/sound/songs/mus_rg_dendou.s index 4ca64d8dfd..7d4571f078 100644 --- a/sound/songs/mus_rg_dendou.s +++ b/sound/songs/mus_rg_dendou.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_rg_dendou_grp, voicegroup_86A57F4 + .equ mus_rg_dendou_grp, voicegroup145 .equ mus_rg_dendou_pri, 0 .equ mus_rg_dendou_rev, reverb_set+50 .equ mus_rg_dendou_mvl, 127 diff --git a/sound/songs/mus_rg_deoeye.s b/sound/songs/mus_rg_deoeye.s index 5dd7ec2988..e0095074dd 100644 --- a/sound/songs/mus_rg_deoeye.s +++ b/sound/songs/mus_rg_deoeye.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_rg_deoeye_grp, voicegroup_86B2244 + .equ mus_rg_deoeye_grp, voicegroup184 .equ mus_rg_deoeye_pri, 0 .equ mus_rg_deoeye_rev, reverb_set+50 .equ mus_rg_deoeye_mvl, 127 diff --git a/sound/songs/mus_rg_ending.s b/sound/songs/mus_rg_ending.s index 219d304df9..bdc4caef5c 100644 --- a/sound/songs/mus_rg_ending.s +++ b/sound/songs/mus_rg_ending.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_rg_ending_grp, voicegroup_86A6DE4 + .equ mus_rg_ending_grp, voicegroup149 .equ mus_rg_ending_pri, 0 .equ mus_rg_ending_rev, reverb_set+50 .equ mus_rg_ending_mvl, 127 diff --git a/sound/songs/mus_rg_exeye.s b/sound/songs/mus_rg_exeye.s index 7a6c8d77a7..e5c609be5d 100644 --- a/sound/songs/mus_rg_exeye.s +++ b/sound/songs/mus_rg_exeye.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_rg_exeye_grp, voicegroup_86A51F4 + .equ mus_rg_exeye_grp, voicegroup144 .equ mus_rg_exeye_pri, 0 .equ mus_rg_exeye_rev, reverb_set+50 .equ mus_rg_exeye_mvl, 127 diff --git a/sound/songs/mus_rg_fan2.s b/sound/songs/mus_rg_fan2.s index fcd8e4b976..7c49dfc952 100644 --- a/sound/songs/mus_rg_fan2.s +++ b/sound/songs/mus_rg_fan2.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_rg_fan2_grp, voicegroup_86AFEC8 + .equ mus_rg_fan2_grp, voicegroup175 .equ mus_rg_fan2_pri, 5 .equ mus_rg_fan2_rev, reverb_set+50 .equ mus_rg_fan2_mvl, 127 diff --git a/sound/songs/mus_rg_fan5.s b/sound/songs/mus_rg_fan5.s index d9119f3a4a..175048c1c2 100644 --- a/sound/songs/mus_rg_fan5.s +++ b/sound/songs/mus_rg_fan5.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_rg_fan5_grp, voicegroup_86B07B0 + .equ mus_rg_fan5_grp, voicegroup178 .equ mus_rg_fan5_pri, 5 .equ mus_rg_fan5_rev, reverb_set+50 .equ mus_rg_fan5_mvl, 127 diff --git a/sound/songs/mus_rg_fan6.s b/sound/songs/mus_rg_fan6.s index 4378393fb7..4db0385e75 100644 --- a/sound/songs/mus_rg_fan6.s +++ b/sound/songs/mus_rg_fan6.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_rg_fan6_grp, voicegroup_86B0BD0 + .equ mus_rg_fan6_grp, voicegroup179 .equ mus_rg_fan6_pri, 5 .equ mus_rg_fan6_rev, reverb_set+50 .equ mus_rg_fan6_mvl, 127 diff --git a/sound/songs/mus_rg_get_yasei.s b/sound/songs/mus_rg_get_yasei.s index 5eed3db78d..343b177146 100644 --- a/sound/songs/mus_rg_get_yasei.s +++ b/sound/songs/mus_rg_get_yasei.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_rg_get_yasei_grp, voicegroup_86AE338 + .equ mus_rg_get_yasei_grp, voicegroup170 .equ mus_rg_get_yasei_pri, 0 .equ mus_rg_get_yasei_rev, reverb_set+50 .equ mus_rg_get_yasei_mvl, 127 diff --git a/sound/songs/mus_rg_guren.s b/sound/songs/mus_rg_guren.s index 1d0f592704..afdc121462 100644 --- a/sound/songs/mus_rg_guren.s +++ b/sound/songs/mus_rg_guren.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_rg_guren_grp, voicegroup_86A35D4 + .equ mus_rg_guren_grp, voicegroup138 .equ mus_rg_guren_pri, 0 .equ mus_rg_guren_rev, reverb_set+50 .equ mus_rg_guren_mvl, 127 diff --git a/sound/songs/mus_rg_gym.s b/sound/songs/mus_rg_gym.s index 5e6c95aa18..eaaed202e0 100644 --- a/sound/songs/mus_rg_gym.s +++ b/sound/songs/mus_rg_gym.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_rg_gym_grp, voicegroup_86A21B8 + .equ mus_rg_gym_grp, voicegroup134 .equ mus_rg_gym_pri, 0 .equ mus_rg_gym_rev, reverb_set+50 .equ mus_rg_gym_mvl, 127 diff --git a/sound/songs/mus_rg_hanada.s b/sound/songs/mus_rg_hanada.s index e28f619c87..08b10520f7 100644 --- a/sound/songs/mus_rg_hanada.s +++ b/sound/songs/mus_rg_hanada.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_rg_hanada_grp, voicegroup_86AD138 + .equ mus_rg_hanada_grp, voicegroup167 .equ mus_rg_hanada_pri, 0 .equ mus_rg_hanada_rev, reverb_set+50 .equ mus_rg_hanada_mvl, 127 diff --git a/sound/songs/mus_rg_jump.s b/sound/songs/mus_rg_jump.s index f3445b2eff..11dc9b869a 100644 --- a/sound/songs/mus_rg_jump.s +++ b/sound/songs/mus_rg_jump.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_rg_jump_grp, voicegroup_86A15B8 + .equ mus_rg_jump_grp, voicegroup132 .equ mus_rg_jump_pri, 0 .equ mus_rg_jump_rev, reverb_set+50 .equ mus_rg_jump_mvl, 127 diff --git a/sound/songs/mus_rg_kaihuku.s b/sound/songs/mus_rg_kaihuku.s index 115e5368ec..cc8628588c 100644 --- a/sound/songs/mus_rg_kaihuku.s +++ b/sound/songs/mus_rg_kaihuku.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_rg_kaihuku_grp, voicegroup_86A41D4 + .equ mus_rg_kaihuku_grp, voicegroup140 .equ mus_rg_kaihuku_pri, 0 .equ mus_rg_kaihuku_rev, reverb_set+50 .equ mus_rg_kaihuku_mvl, 127 diff --git a/sound/songs/mus_rg_kenkyu.s b/sound/songs/mus_rg_kenkyu.s index 223fc86f7f..af42b476c7 100644 --- a/sound/songs/mus_rg_kenkyu.s +++ b/sound/songs/mus_rg_kenkyu.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_rg_kenkyu_grp, voicegroup_86AAABC + .equ mus_rg_kenkyu_grp, voicegroup160 .equ mus_rg_kenkyu_pri, 0 .equ mus_rg_kenkyu_rev, reverb_set+50 .equ mus_rg_kenkyu_mvl, 127 diff --git a/sound/songs/mus_rg_kinomikui.s b/sound/songs/mus_rg_kinomikui.s index c7ef2f6716..c623b30642 100644 --- a/sound/songs/mus_rg_kinomikui.s +++ b/sound/songs/mus_rg_kinomikui.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_rg_kinomikui_grp, voicegroup_86A15B8 + .equ mus_rg_kinomikui_grp, voicegroup132 .equ mus_rg_kinomikui_pri, 0 .equ mus_rg_kinomikui_rev, reverb_set+50 .equ mus_rg_kinomikui_mvl, 127 diff --git a/sound/songs/mus_rg_kuchiba.s b/sound/songs/mus_rg_kuchiba.s index 7e5c3f5264..2892b7bc02 100644 --- a/sound/songs/mus_rg_kuchiba.s +++ b/sound/songs/mus_rg_kuchiba.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_rg_kuchiba_grp, voicegroup_86AEB6C + .equ mus_rg_kuchiba_grp, voicegroup172 .equ mus_rg_kuchiba_pri, 0 .equ mus_rg_kuchiba_rev, reverb_set+50 .equ mus_rg_kuchiba_mvl, 127 diff --git a/sound/songs/mus_rg_load01.s b/sound/songs/mus_rg_load01.s index 63a2e52494..594a129705 100644 --- a/sound/songs/mus_rg_load01.s +++ b/sound/songs/mus_rg_load01.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_rg_load01_grp, voicegroup_86A7240 + .equ mus_rg_load01_grp, voicegroup150 .equ mus_rg_load01_pri, 0 .equ mus_rg_load01_rev, reverb_set+50 .equ mus_rg_load01_mvl, 127 diff --git a/sound/songs/mus_rg_load02.s b/sound/songs/mus_rg_load02.s index c5152bcb80..e3c62a8ef9 100644 --- a/sound/songs/mus_rg_load02.s +++ b/sound/songs/mus_rg_load02.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_rg_load02_grp, voicegroup_86A7C60 + .equ mus_rg_load02_grp, voicegroup152 .equ mus_rg_load02_pri, 0 .equ mus_rg_load02_rev, reverb_set+50 .equ mus_rg_load02_mvl, 127 diff --git a/sound/songs/mus_rg_load03.s b/sound/songs/mus_rg_load03.s index 1d80922f1c..fc718629a8 100644 --- a/sound/songs/mus_rg_load03.s +++ b/sound/songs/mus_rg_load03.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_rg_load03_grp, voicegroup_86A8260 + .equ mus_rg_load03_grp, voicegroup153 .equ mus_rg_load03_pri, 0 .equ mus_rg_load03_rev, reverb_set+50 .equ mus_rg_load03_mvl, 127 diff --git a/sound/songs/mus_rg_masara.s b/sound/songs/mus_rg_masara.s index 7c3ac4a41f..1fa752063a 100644 --- a/sound/songs/mus_rg_masara.s +++ b/sound/songs/mus_rg_masara.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_rg_masara_grp, voicegroup_86AA4BC + .equ mus_rg_masara_grp, voicegroup159 .equ mus_rg_masara_pri, 0 .equ mus_rg_masara_rev, reverb_set+50 .equ mus_rg_masara_mvl, 127 diff --git a/sound/songs/mus_rg_naminori.s b/sound/songs/mus_rg_naminori.s index 0685320ff4..679e1a7f6d 100644 --- a/sound/songs/mus_rg_naminori.s +++ b/sound/songs/mus_rg_naminori.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_rg_naminori_grp, voicegroup_86ABF38 + .equ mus_rg_naminori_grp, voicegroup164 .equ mus_rg_naminori_pri, 0 .equ mus_rg_naminori_rev, reverb_set+50 .equ mus_rg_naminori_mvl, 127 diff --git a/sound/songs/mus_rg_nana123.s b/sound/songs/mus_rg_nana123.s index 2136b30578..dd5ec9734d 100644 --- a/sound/songs/mus_rg_nana123.s +++ b/sound/songs/mus_rg_nana123.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_rg_nana123_grp, voicegroup_86AF16C + .equ mus_rg_nana123_grp, voicegroup173 .equ mus_rg_nana123_pri, 0 .equ mus_rg_nana123_rev, reverb_set+50 .equ mus_rg_nana123_mvl, 127 diff --git a/sound/songs/mus_rg_nana45.s b/sound/songs/mus_rg_nana45.s index b86d5f80cb..1bad929b68 100644 --- a/sound/songs/mus_rg_nana45.s +++ b/sound/songs/mus_rg_nana45.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_rg_nana45_grp, voicegroup_86B384C + .equ mus_rg_nana45_grp, voicegroup188 .equ mus_rg_nana45_pri, 0 .equ mus_rg_nana45_rev, reverb_set+50 .equ mus_rg_nana45_mvl, 127 diff --git a/sound/songs/mus_rg_nana67.s b/sound/songs/mus_rg_nana67.s index 3565f045f0..61664130f6 100644 --- a/sound/songs/mus_rg_nana67.s +++ b/sound/songs/mus_rg_nana67.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_rg_nana67_grp, voicegroup_86B3E4C + .equ mus_rg_nana67_grp, voicegroup189 .equ mus_rg_nana67_pri, 0 .equ mus_rg_nana67_rev, reverb_set+50 .equ mus_rg_nana67_mvl, 127 diff --git a/sound/songs/mus_rg_nanadungeon.s b/sound/songs/mus_rg_nanadungeon.s index deda383d38..853fee56ba 100644 --- a/sound/songs/mus_rg_nanadungeon.s +++ b/sound/songs/mus_rg_nanadungeon.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_rg_nanadungeon_grp, voicegroup_86A63F4 + .equ mus_rg_nanadungeon_grp, voicegroup147 .equ mus_rg_nanadungeon_pri, 0 .equ mus_rg_nanadungeon_rev, reverb_set+50 .equ mus_rg_nanadungeon_mvl, 127 diff --git a/sound/songs/mus_rg_nanaiseki.s b/sound/songs/mus_rg_nanaiseki.s index b0da94fef2..4279a0558c 100644 --- a/sound/songs/mus_rg_nanaiseki.s +++ b/sound/songs/mus_rg_nanaiseki.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_rg_nanaiseki_grp, voicegroup_86A5DF4 + .equ mus_rg_nanaiseki_grp, voicegroup146 .equ mus_rg_nanaiseki_pri, 0 .equ mus_rg_nanaiseki_rev, reverb_set+50 .equ mus_rg_nanaiseki_mvl, 127 diff --git a/sound/songs/mus_rg_nanashima.s b/sound/songs/mus_rg_nanashima.s index 37fc7a7b2f..43c01a47d9 100644 --- a/sound/songs/mus_rg_nanashima.s +++ b/sound/songs/mus_rg_nanashima.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_rg_nanashima_grp, voicegroup_86B324C + .equ mus_rg_nanashima_grp, voicegroup187 .equ mus_rg_nanashima_pri, 0 .equ mus_rg_nanashima_rev, reverb_set+50 .equ mus_rg_nanashima_mvl, 127 diff --git a/sound/songs/mus_rg_network.s b/sound/songs/mus_rg_network.s index 11c4acdb8e..0ddf8f6c82 100644 --- a/sound/songs/mus_rg_network.s +++ b/sound/songs/mus_rg_network.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_rg_network_grp, voicegroup_86AB4DC + .equ mus_rg_network_grp, voicegroup162 .equ mus_rg_network_pri, 0 .equ mus_rg_network_rev, reverb_set+50 .equ mus_rg_network_mvl, 127 diff --git a/sound/songs/mus_rg_nibi.s b/sound/songs/mus_rg_nibi.s index 852994175b..1e6fdeb746 100644 --- a/sound/songs/mus_rg_nibi.s +++ b/sound/songs/mus_rg_nibi.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_rg_nibi_grp, voicegroup_86AF16C + .equ mus_rg_nibi_grp, voicegroup173 .equ mus_rg_nibi_pri, 0 .equ mus_rg_nibi_rev, reverb_set+50 .equ mus_rg_nibi_mvl, 127 diff --git a/sound/songs/mus_rg_ohkido.s b/sound/songs/mus_rg_ohkido.s index 132976f7c0..6664c06586 100644 --- a/sound/songs/mus_rg_ohkido.s +++ b/sound/songs/mus_rg_ohkido.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_rg_ohkido_grp, voicegroup_86AAEDC + .equ mus_rg_ohkido_grp, voicegroup161 .equ mus_rg_ohkido_pri, 0 .equ mus_rg_ohkido_rev, reverb_set+50 .equ mus_rg_ohkido_mvl, 127 diff --git a/sound/songs/mus_rg_okurimono.s b/sound/songs/mus_rg_okurimono.s index e3ee254ae3..851760942f 100644 --- a/sound/songs/mus_rg_okurimono.s +++ b/sound/songs/mus_rg_okurimono.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_rg_okurimono_grp, voicegroup_86B1C44 + .equ mus_rg_okurimono_grp, voicegroup183 .equ mus_rg_okurimono_pri, 0 .equ mus_rg_okurimono_rev, reverb_set+50 .equ mus_rg_okurimono_mvl, 127 diff --git a/sound/songs/mus_rg_opening.s b/sound/songs/mus_rg_opening.s index 7070cdaa9f..a81022f6bd 100644 --- a/sound/songs/mus_rg_opening.s +++ b/sound/songs/mus_rg_opening.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_rg_opening_grp, voicegroup_86A7840 + .equ mus_rg_opening_grp, voicegroup151 .equ mus_rg_opening_pri, 0 .equ mus_rg_opening_rev, reverb_set+50 .equ mus_rg_opening_mvl, 127 diff --git a/sound/songs/mus_rg_oshie_tv.s b/sound/songs/mus_rg_oshie_tv.s index b706b141db..76f567016e 100644 --- a/sound/songs/mus_rg_oshie_tv.s +++ b/sound/songs/mus_rg_oshie_tv.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_rg_oshie_tv_grp, voicegroup_86A0FB8 + .equ mus_rg_oshie_tv_grp, voicegroup131 .equ mus_rg_oshie_tv_pri, 0 .equ mus_rg_oshie_tv_rev, reverb_set+50 .equ mus_rg_oshie_tv_mvl, 127 diff --git a/sound/songs/mus_rg_otsukimi.s b/sound/songs/mus_rg_otsukimi.s index 1bddc5c8ab..96c3acf34f 100644 --- a/sound/songs/mus_rg_otsukimi.s +++ b/sound/songs/mus_rg_otsukimi.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_rg_otsukimi_grp, voicegroup_86A63F4 + .equ mus_rg_otsukimi_grp, voicegroup147 .equ mus_rg_otsukimi_pri, 0 .equ mus_rg_otsukimi_rev, reverb_set+50 .equ mus_rg_otsukimi_mvl, 127 diff --git a/sound/songs/mus_rg_p_tower.s b/sound/songs/mus_rg_p_tower.s index dffe893b7c..6bb9db2777 100644 --- a/sound/songs/mus_rg_p_tower.s +++ b/sound/songs/mus_rg_p_tower.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_rg_p_tower_grp, voicegroup_86AC538 + .equ mus_rg_p_tower_grp, voicegroup165 .equ mus_rg_p_tower_pri, 0 .equ mus_rg_p_tower_rev, reverb_set+50 .equ mus_rg_p_tower_mvl, 127 diff --git a/sound/songs/mus_rg_pokecen.s b/sound/songs/mus_rg_pokecen.s index 0115a3d771..5bdd094442 100644 --- a/sound/songs/mus_rg_pokecen.s +++ b/sound/songs/mus_rg_pokecen.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_rg_pokecen_grp, voicegroup_86AB4DC + .equ mus_rg_pokecen_grp, voicegroup162 .equ mus_rg_pokecen_pri, 0 .equ mus_rg_pokecen_rev, reverb_set+50 .equ mus_rg_pokecen_mvl, 127 diff --git a/sound/songs/mus_rg_pokefue.s b/sound/songs/mus_rg_pokefue.s index 79cb14cb26..c39e8fc7d6 100644 --- a/sound/songs/mus_rg_pokefue.s +++ b/sound/songs/mus_rg_pokefue.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_rg_pokefue_grp, voicegroup_86AC538 + .equ mus_rg_pokefue_grp, voicegroup165 .equ mus_rg_pokefue_pri, 5 .equ mus_rg_pokefue_rev, reverb_set+50 .equ mus_rg_pokefue_mvl, 127 diff --git a/sound/songs/mus_rg_pokeyashi.s b/sound/songs/mus_rg_pokeyashi.s index a65a80fa3c..b570df7f92 100644 --- a/sound/songs/mus_rg_pokeyashi.s +++ b/sound/songs/mus_rg_pokeyashi.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_rg_pokeyashi_grp, voicegroup_86A67E4 + .equ mus_rg_pokeyashi_grp, voicegroup148 .equ mus_rg_pokeyashi_pri, 0 .equ mus_rg_pokeyashi_rev, reverb_set+50 .equ mus_rg_pokeyashi_mvl, 127 diff --git a/sound/songs/mus_rg_purin.s b/sound/songs/mus_rg_purin.s index 4b1822247f..be672d2be5 100644 --- a/sound/songs/mus_rg_purin.s +++ b/sound/songs/mus_rg_purin.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_rg_purin_grp, voicegroup_86A25F0 + .equ mus_rg_purin_grp, voicegroup135 .equ mus_rg_purin_pri, 5 .equ mus_rg_purin_rev, reverb_set+50 .equ mus_rg_purin_mvl, 127 diff --git a/sound/songs/mus_rg_rival1.s b/sound/songs/mus_rg_rival1.s index 8985c88ae3..50d80faaed 100644 --- a/sound/songs/mus_rg_rival1.s +++ b/sound/songs/mus_rg_rival1.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_rg_rival1_grp, voicegroup_86AF76C + .equ mus_rg_rival1_grp, voicegroup174 .equ mus_rg_rival1_pri, 0 .equ mus_rg_rival1_rev, reverb_set+50 .equ mus_rg_rival1_mvl, 127 diff --git a/sound/songs/mus_rg_rival2.s b/sound/songs/mus_rg_rival2.s index 10c9ac45b7..a156874b2c 100644 --- a/sound/songs/mus_rg_rival2.s +++ b/sound/songs/mus_rg_rival2.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_rg_rival2_grp, voicegroup_86AF76C + .equ mus_rg_rival2_grp, voicegroup174 .equ mus_rg_rival2_pri, 0 .equ mus_rg_rival2_rev, reverb_set+50 .equ mus_rg_rival2_mvl, 127 diff --git a/sound/songs/mus_rg_rocket.s b/sound/songs/mus_rg_rocket.s index d5e8f136f9..06062384c3 100644 --- a/sound/songs/mus_rg_rocket.s +++ b/sound/songs/mus_rg_rocket.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_rg_rocket_grp, voicegroup_86A4804 + .equ mus_rg_rocket_grp, voicegroup142 .equ mus_rg_rocket_pri, 0 .equ mus_rg_rocket_rev, reverb_set+50 .equ mus_rg_rocket_mvl, 127 diff --git a/sound/songs/mus_rg_santoan.s b/sound/songs/mus_rg_santoan.s index 1155164218..60976ecf2c 100644 --- a/sound/songs/mus_rg_santoan.s +++ b/sound/songs/mus_rg_santoan.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_rg_santoan_grp, voicegroup_86AB938 + .equ mus_rg_santoan_grp, voicegroup163 .equ mus_rg_santoan_pri, 0 .equ mus_rg_santoan_rev, reverb_set+50 .equ mus_rg_santoan_mvl, 127 diff --git a/sound/songs/mus_rg_seibetu.s b/sound/songs/mus_rg_seibetu.s index 1e0185b903..a0987d26d4 100644 --- a/sound/songs/mus_rg_seibetu.s +++ b/sound/songs/mus_rg_seibetu.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_rg_seibetu_grp, voicegroup_86B1824 + .equ mus_rg_seibetu_grp, voicegroup182 .equ mus_rg_seibetu_pri, 0 .equ mus_rg_seibetu_rev, reverb_set+50 .equ mus_rg_seibetu_mvl, 127 diff --git a/sound/songs/mus_rg_sekaikan.s b/sound/songs/mus_rg_sekaikan.s index 0f12ced9fb..3312b0effc 100644 --- a/sound/songs/mus_rg_sekaikan.s +++ b/sound/songs/mus_rg_sekaikan.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_rg_sekaikan_grp, voicegroup_86B1824 + .equ mus_rg_sekaikan_grp, voicegroup182 .equ mus_rg_sekaikan_pri, 0 .equ mus_rg_sekaikan_rev, reverb_set+50 .equ mus_rg_sekaikan_mvl, 127 diff --git a/sound/songs/mus_rg_shion.s b/sound/songs/mus_rg_shion.s index d9beb571a8..804247218b 100644 --- a/sound/songs/mus_rg_shion.s +++ b/sound/songs/mus_rg_shion.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_rg_shion_grp, voicegroup_86A3BD4 + .equ mus_rg_shion_grp, voicegroup139 .equ mus_rg_shion_pri, 0 .equ mus_rg_shion_rev, reverb_set+50 .equ mus_rg_shion_mvl, 127 diff --git a/sound/songs/mus_rg_shiruhu.s b/sound/songs/mus_rg_shiruhu.s index d868a4d117..0190d2d269 100644 --- a/sound/songs/mus_rg_shiruhu.s +++ b/sound/songs/mus_rg_shiruhu.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_rg_shiruhu_grp, voicegroup_86ACB38 + .equ mus_rg_shiruhu_grp, voicegroup166 .equ mus_rg_shiruhu_pri, 0 .equ mus_rg_shiruhu_rev, reverb_set+50 .equ mus_rg_shiruhu_mvl, 127 diff --git a/sound/songs/mus_rg_shoujo.s b/sound/songs/mus_rg_shoujo.s index 20acb86462..acd883f8e5 100644 --- a/sound/songs/mus_rg_shoujo.s +++ b/sound/songs/mus_rg_shoujo.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_rg_shoujo_grp, voicegroup_86A4BF4 + .equ mus_rg_shoujo_grp, voicegroup143 .equ mus_rg_shoujo_pri, 0 .equ mus_rg_shoujo_rev, reverb_set+50 .equ mus_rg_shoujo_mvl, 127 diff --git a/sound/songs/mus_rg_shounen.s b/sound/songs/mus_rg_shounen.s index f0341ff8b1..a528043fa5 100644 --- a/sound/songs/mus_rg_shounen.s +++ b/sound/songs/mus_rg_shounen.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_rg_shounen_grp, voicegroup_86A51F4 + .equ mus_rg_shounen_grp, voicegroup144 .equ mus_rg_shounen_pri, 0 .equ mus_rg_shounen_rev, reverb_set+50 .equ mus_rg_shounen_mvl, 127 diff --git a/sound/songs/mus_rg_slot.s b/sound/songs/mus_rg_slot.s index dc2d96be0c..60fe41893e 100644 --- a/sound/songs/mus_rg_slot.s +++ b/sound/songs/mus_rg_slot.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_rg_slot_grp, voicegroup_86A15B8 + .equ mus_rg_slot_grp, voicegroup132 .equ mus_rg_slot_pri, 0 .equ mus_rg_slot_rev, reverb_set+50 .equ mus_rg_slot_mvl, 127 diff --git a/sound/songs/mus_rg_slowmasara.s b/sound/songs/mus_rg_slowmasara.s index 845783ad54..1efbfaad3a 100644 --- a/sound/songs/mus_rg_slowmasara.s +++ b/sound/songs/mus_rg_slowmasara.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_rg_slowmasara_grp, voicegroup_86AA4BC + .equ mus_rg_slowmasara_grp, voicegroup159 .equ mus_rg_slowmasara_pri, 0 .equ mus_rg_slowmasara_rev, reverb_set+50 .equ mus_rg_slowmasara_mvl, 127 diff --git a/sound/songs/mus_rg_sousa.s b/sound/songs/mus_rg_sousa.s index 30f50b5c2e..8323e7197b 100644 --- a/sound/songs/mus_rg_sousa.s +++ b/sound/songs/mus_rg_sousa.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_rg_sousa_grp, voicegroup_86B1824 + .equ mus_rg_sousa_grp, voicegroup182 .equ mus_rg_sousa_pri, 0 .equ mus_rg_sousa_rev, reverb_set+50 .equ mus_rg_sousa_mvl, 127 diff --git a/sound/songs/mus_rg_t_mori.s b/sound/songs/mus_rg_t_mori.s index baea4b4020..e7ca416da2 100644 --- a/sound/songs/mus_rg_t_mori.s +++ b/sound/songs/mus_rg_t_mori.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_rg_t_mori_grp, voicegroup_86A5DF4 + .equ mus_rg_t_mori_grp, voicegroup146 .equ mus_rg_t_mori_pri, 0 .equ mus_rg_t_mori_rev, reverb_set+50 .equ mus_rg_t_mori_mvl, 127 diff --git a/sound/songs/mus_rg_t_tower.s b/sound/songs/mus_rg_t_tower.s index ef47bb6f4b..beab5e0d58 100644 --- a/sound/songs/mus_rg_t_tower.s +++ b/sound/songs/mus_rg_t_tower.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_rg_t_tower_grp, voicegroup_86A21B8 + .equ mus_rg_t_tower_grp, voicegroup134 .equ mus_rg_t_tower_pri, 0 .equ mus_rg_t_tower_rev, reverb_set+50 .equ mus_rg_t_tower_mvl, 127 diff --git a/sound/songs/mus_rg_tamamusi.s b/sound/songs/mus_rg_tamamusi.s index afbb310681..11a67d8b11 100644 --- a/sound/songs/mus_rg_tamamusi.s +++ b/sound/songs/mus_rg_tamamusi.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_rg_tamamusi_grp, voicegroup_86AD738 + .equ mus_rg_tamamusi_grp, voicegroup168 .equ mus_rg_tamamusi_pri, 0 .equ mus_rg_tamamusi_rev, reverb_set+50 .equ mus_rg_tamamusi_mvl, 127 diff --git a/sound/songs/mus_rg_title.s b/sound/songs/mus_rg_title.s index 25b520dbc7..85e469be67 100644 --- a/sound/songs/mus_rg_title.s +++ b/sound/songs/mus_rg_title.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_rg_title_grp, voicegroup_86A2FD4 + .equ mus_rg_title_grp, voicegroup137 .equ mus_rg_title_pri, 0 .equ mus_rg_title_rev, reverb_set+50 .equ mus_rg_title_mvl, 127 diff --git a/sound/songs/mus_rg_titlerog.s b/sound/songs/mus_rg_titlerog.s index 72d9ae8cfc..55770ad4a5 100644 --- a/sound/songs/mus_rg_titlerog.s +++ b/sound/songs/mus_rg_titlerog.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_rg_titlerog_grp, voicegroup_86B15F0 + .equ mus_rg_titlerog_grp, voicegroup181 .equ mus_rg_titlerog_pri, 0 .equ mus_rg_titlerog_rev, reverb_set+50 .equ mus_rg_titlerog_mvl, 127 diff --git a/sound/songs/mus_rg_tvnoize.s b/sound/songs/mus_rg_tvnoize.s index 15946526fa..9bfb1d9bf9 100644 --- a/sound/songs/mus_rg_tvnoize.s +++ b/sound/songs/mus_rg_tvnoize.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_rg_tvnoize_grp, voicegroup_86B2C4C + .equ mus_rg_tvnoize_grp, voicegroup186 .equ mus_rg_tvnoize_pri, 0 .equ mus_rg_tvnoize_rev, reverb_set+50 .equ mus_rg_tvnoize_mvl, 127 diff --git a/sound/songs/mus_rg_union.s b/sound/songs/mus_rg_union.s index 2bd8dd46fe..6b7abb0a03 100644 --- a/sound/songs/mus_rg_union.s +++ b/sound/songs/mus_rg_union.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_rg_union_grp, voicegroup_86A15B8 + .equ mus_rg_union_grp, voicegroup132 .equ mus_rg_union_pri, 0 .equ mus_rg_union_rev, reverb_set+50 .equ mus_rg_union_mvl, 127 diff --git a/sound/songs/mus_rg_vs_den.s b/sound/songs/mus_rg_vs_den.s index c277deef6d..7694c5dc19 100644 --- a/sound/songs/mus_rg_vs_den.s +++ b/sound/songs/mus_rg_vs_den.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_rg_vs_den_grp, voicegroup_86A98BC + .equ mus_rg_vs_den_grp, voicegroup157 .equ mus_rg_vs_den_pri, 0 .equ mus_rg_vs_den_rev, reverb_set+50 .equ mus_rg_vs_den_mvl, 127 diff --git a/sound/songs/mus_rg_vs_deo.s b/sound/songs/mus_rg_vs_deo.s index e3c6e95058..14cc67f5c9 100644 --- a/sound/songs/mus_rg_vs_deo.s +++ b/sound/songs/mus_rg_vs_deo.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_rg_vs_deo_grp, voicegroup_86B264C + .equ mus_rg_vs_deo_grp, voicegroup185 .equ mus_rg_vs_deo_pri, 0 .equ mus_rg_vs_deo_rev, reverb_set+50 .equ mus_rg_vs_deo_mvl, 127 diff --git a/sound/songs/mus_rg_vs_gym.s b/sound/songs/mus_rg_vs_gym.s index 61dfb6c604..0170ea20c6 100644 --- a/sound/songs/mus_rg_vs_gym.s +++ b/sound/songs/mus_rg_vs_gym.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_rg_vs_gym_grp, voicegroup_86A8CBC + .equ mus_rg_vs_gym_grp, voicegroup155 .equ mus_rg_vs_gym_pri, 0 .equ mus_rg_vs_gym_rev, reverb_set+50 .equ mus_rg_vs_gym_mvl, 127 diff --git a/sound/songs/mus_rg_vs_last.s b/sound/songs/mus_rg_vs_last.s index a69ea895f0..9cf7b7223f 100644 --- a/sound/songs/mus_rg_vs_last.s +++ b/sound/songs/mus_rg_vs_last.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_rg_vs_last_grp, voicegroup_86A9EBC + .equ mus_rg_vs_last_grp, voicegroup158 .equ mus_rg_vs_last_pri, 0 .equ mus_rg_vs_last_rev, reverb_set+50 .equ mus_rg_vs_last_mvl, 127 diff --git a/sound/songs/mus_rg_vs_myu2.s b/sound/songs/mus_rg_vs_myu2.s index ff9c3aef72..89b23f50bd 100644 --- a/sound/songs/mus_rg_vs_myu2.s +++ b/sound/songs/mus_rg_vs_myu2.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_rg_vs_myu2_grp, voicegroup_86A98BC + .equ mus_rg_vs_myu2_grp, voicegroup157 .equ mus_rg_vs_myu2_pri, 0 .equ mus_rg_vs_myu2_rev, reverb_set+50 .equ mus_rg_vs_myu2_mvl, 127 diff --git a/sound/songs/mus_rg_vs_tore.s b/sound/songs/mus_rg_vs_tore.s index f5d2cec158..4a35bb335a 100644 --- a/sound/songs/mus_rg_vs_tore.s +++ b/sound/songs/mus_rg_vs_tore.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_rg_vs_tore_grp, voicegroup_86A92BC + .equ mus_rg_vs_tore_grp, voicegroup156 .equ mus_rg_vs_tore_pri, 0 .equ mus_rg_vs_tore_rev, reverb_set+50 .equ mus_rg_vs_tore_mvl, 127 diff --git a/sound/songs/mus_rg_vs_yasei.s b/sound/songs/mus_rg_vs_yasei.s index c0766d6757..50936c0e4c 100644 --- a/sound/songs/mus_rg_vs_yasei.s +++ b/sound/songs/mus_rg_vs_yasei.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_rg_vs_yasei_grp, voicegroup_86A98BC + .equ mus_rg_vs_yasei_grp, voicegroup157 .equ mus_rg_vs_yasei_pri, 0 .equ mus_rg_vs_yasei_rev, reverb_set+50 .equ mus_rg_vs_yasei_mvl, 127 diff --git a/sound/songs/mus_rg_win_gym.s b/sound/songs/mus_rg_win_gym.s index d44442df2d..512b2a670c 100644 --- a/sound/songs/mus_rg_win_gym.s +++ b/sound/songs/mus_rg_win_gym.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_rg_win_gym_grp, voicegroup_86AE728 + .equ mus_rg_win_gym_grp, voicegroup171 .equ mus_rg_win_gym_pri, 0 .equ mus_rg_win_gym_rev, reverb_set+50 .equ mus_rg_win_gym_mvl, 127 diff --git a/sound/songs/mus_rg_win_tre.s b/sound/songs/mus_rg_win_tre.s index 49e3670897..124fc3957d 100644 --- a/sound/songs/mus_rg_win_tre.s +++ b/sound/songs/mus_rg_win_tre.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_rg_win_tre_grp, voicegroup_86ADD38 + .equ mus_rg_win_tre_grp, voicegroup169 .equ mus_rg_win_tre_pri, 0 .equ mus_rg_win_tre_rev, reverb_set+50 .equ mus_rg_win_tre_mvl, 127 diff --git a/sound/songs/mus_rg_win_yasei.s b/sound/songs/mus_rg_win_yasei.s index b931fa11ca..197788f015 100644 --- a/sound/songs/mus_rg_win_yasei.s +++ b/sound/songs/mus_rg_win_yasei.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_rg_win_yasei_grp, voicegroup_86AE338 + .equ mus_rg_win_yasei_grp, voicegroup170 .equ mus_rg_win_yasei_pri, 0 .equ mus_rg_win_yasei_rev, reverb_set+50 .equ mus_rg_win_yasei_mvl, 127 diff --git a/sound/songs/mus_ropeway.s b/sound/songs/mus_ropeway.s index a54fe66f16..a3699ea3c8 100644 --- a/sound/songs/mus_ropeway.s +++ b/sound/songs/mus_ropeway.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_ropeway_grp, voicegroup_868A074 + .equ mus_ropeway_grp, voicegroup071 .equ mus_ropeway_pri, 0 .equ mus_ropeway_rev, reverb_set+50 .equ mus_ropeway_mvl, 127 diff --git a/sound/songs/mus_runecity.s b/sound/songs/mus_runecity.s index 55ac7f2b68..a051456022 100644 --- a/sound/songs/mus_runecity.s +++ b/sound/songs/mus_runecity.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_runecity_grp, voicegroup_869107C + .equ mus_runecity_grp, voicegroup091 .equ mus_runecity_pri, 0 .equ mus_runecity_rev, reverb_set+50 .equ mus_runecity_mvl, 127 diff --git a/sound/songs/mus_safari.s b/sound/songs/mus_safari.s index 21864ddca6..0de1d55833 100644 --- a/sound/songs/mus_safari.s +++ b/sound/songs/mus_safari.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_safari_grp, voicegroup_868B274 + .equ mus_safari_grp, voicegroup074 .equ mus_safari_pri, 0 .equ mus_safari_rev, reverb_set+50 .equ mus_safari_mvl, 127 diff --git a/sound/songs/mus_sattower.s b/sound/songs/mus_sattower.s index a8d3d4c845..504ec2ce0f 100644 --- a/sound/songs/mus_sattower.s +++ b/sound/songs/mus_sattower.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_sattower_grp, voicegroup_8697A54 + .equ mus_sattower_grp, voicegroup110 .equ mus_sattower_pri, 0 .equ mus_sattower_rev, reverb_set+50 .equ mus_sattower_mvl, 127 diff --git a/sound/songs/mus_shinka.s b/sound/songs/mus_shinka.s index a5128af3de..d3bf73dc30 100644 --- a/sound/songs/mus_shinka.s +++ b/sound/songs/mus_shinka.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_shinka_grp, voicegroup_867B3A4 + .equ mus_shinka_grp, voicegroup026 .equ mus_shinka_pri, 0 .equ mus_shinka_rev, reverb_set+50 .equ mus_shinka_mvl, 127 diff --git a/sound/songs/mus_sitennou.s b/sound/songs/mus_sitennou.s index 9a30c40c72..797055b65b 100644 --- a/sound/songs/mus_sitennou.s +++ b/sound/songs/mus_sitennou.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_sitennou_grp, voicegroup_8692E7C + .equ mus_sitennou_grp, voicegroup096 .equ mus_sitennou_pri, 0 .equ mus_sitennou_rev, reverb_set+50 .equ mus_sitennou_mvl, 127 diff --git a/sound/songs/mus_suikun.s b/sound/songs/mus_suikun.s index 782f5ec28e..3ce4c75be0 100644 --- a/sound/songs/mus_suikun.s +++ b/sound/songs/mus_suikun.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_suikun_grp, voicegroup_pokemon_cry + .equ mus_suikun_grp, voicegroup000 .equ mus_suikun_pri, 0 .equ mus_suikun_rev, reverb_set+50 .equ mus_suikun_mvl, 127 diff --git a/sound/songs/mus_swimeye.s b/sound/songs/mus_swimeye.s index 7cf5da4a0c..2284164cdb 100644 --- a/sound/songs/mus_swimeye.s +++ b/sound/songs/mus_swimeye.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_swimeye_grp, voicegroup_867DD14 + .equ mus_swimeye_grp, voicegroup036 .equ mus_swimeye_pri, 0 .equ mus_swimeye_rev, reverb_set+50 .equ mus_swimeye_mvl, 127 diff --git a/sound/songs/mus_syoujoeye.s b/sound/songs/mus_syoujoeye.s index 20c990eeb9..50bd85e01b 100644 --- a/sound/songs/mus_syoujoeye.s +++ b/sound/songs/mus_syoujoeye.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_syoujoeye_grp, voicegroup_867B7A0 + .equ mus_syoujoeye_grp, voicegroup027 .equ mus_syoujoeye_pri, 0 .equ mus_syoujoeye_rev, reverb_set+50 .equ mus_syoujoeye_mvl, 127 diff --git a/sound/songs/mus_t_battle.s b/sound/songs/mus_t_battle.s index 0ca7810731..de4c81ad0d 100644 --- a/sound/songs/mus_t_battle.s +++ b/sound/songs/mus_t_battle.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_t_battle_grp, voicegroup_868FE7C + .equ mus_t_battle_grp, voicegroup088 .equ mus_t_battle_pri, 0 .equ mus_t_battle_rev, reverb_set+50 .equ mus_t_battle_mvl, 127 diff --git a/sound/songs/mus_test.s b/sound/songs/mus_test.s index e1792bd933..57db710433 100644 --- a/sound/songs/mus_test.s +++ b/sound/songs/mus_test.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_test_grp, voicegroup_8680318 + .equ mus_test_grp, voicegroup043 .equ mus_test_pri, 0 .equ mus_test_rev, reverb_set+50 .equ mus_test_mvl, 127 diff --git a/sound/songs/mus_test1.s b/sound/songs/mus_test1.s index 93d130c891..1b64fbba18 100644 --- a/sound/songs/mus_test1.s +++ b/sound/songs/mus_test1.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_test1_grp, voicegroup_867EB18 + .equ mus_test1_grp, voicegroup039 .equ mus_test1_pri, 0 .equ mus_test1_rev, reverb_set+50 .equ mus_test1_mvl, 127 diff --git a/sound/songs/mus_test2.s b/sound/songs/mus_test2.s index cae47cb9c2..8f9bf6b68d 100644 --- a/sound/songs/mus_test2.s +++ b/sound/songs/mus_test2.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_test2_grp, voicegroup_867F118 + .equ mus_test2_grp, voicegroup040 .equ mus_test2_pri, 0 .equ mus_test2_rev, reverb_set+50 .equ mus_test2_mvl, 127 diff --git a/sound/songs/mus_test3.s b/sound/songs/mus_test3.s index a210dfb507..b4c0113426 100644 --- a/sound/songs/mus_test3.s +++ b/sound/songs/mus_test3.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_test3_grp, voicegroup_867F718 + .equ mus_test3_grp, voicegroup041 .equ mus_test3_pri, 0 .equ mus_test3_rev, reverb_set+50 .equ mus_test3_mvl, 127 diff --git a/sound/songs/mus_test4.s b/sound/songs/mus_test4.s index 868116c0ea..842bd5bf6c 100644 --- a/sound/songs/mus_test4.s +++ b/sound/songs/mus_test4.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_test4_grp, voicegroup_867FD18 + .equ mus_test4_grp, voicegroup042 .equ mus_test4_pri, 0 .equ mus_test4_rev, reverb_set+50 .equ mus_test4_mvl, 127 diff --git a/sound/songs/mus_tetsuji.s b/sound/songs/mus_tetsuji.s index 949175bcf3..8d771cebc1 100644 --- a/sound/songs/mus_tetsuji.s +++ b/sound/songs/mus_tetsuji.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_tetsuji_grp, voicegroup_867D528 + .equ mus_tetsuji_grp, voicegroup034 .equ mus_tetsuji_pri, 0 .equ mus_tetsuji_rev, reverb_set+50 .equ mus_tetsuji_mvl, 127 diff --git a/sound/songs/mus_thankfor.s b/sound/songs/mus_thankfor.s index 0affcd2cf8..1122588b9d 100644 --- a/sound/songs/mus_thankfor.s +++ b/sound/songs/mus_thankfor.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_thankfor_grp, voicegroup_8694C7C + .equ mus_thankfor_grp, voicegroup101 .equ mus_thankfor_pri, 0 .equ mus_thankfor_rev, reverb_set+50 .equ mus_thankfor_mvl, 127 diff --git a/sound/songs/mus_title3.s b/sound/songs/mus_title3.s index 47eb96dc90..c8c177898b 100644 --- a/sound/songs/mus_title3.s +++ b/sound/songs/mus_title3.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_title3_grp, voicegroup_8685A48 + .equ mus_title3_grp, voicegroup059 .equ mus_title3_pri, 0 .equ mus_title3_rev, reverb_set+50 .equ mus_title3_mvl, 127 diff --git a/sound/songs/mus_tonekusa.s b/sound/songs/mus_tonekusa.s index c31ecafca4..11be395169 100644 --- a/sound/songs/mus_tonekusa.s +++ b/sound/songs/mus_tonekusa.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_tonekusa_grp, voicegroup_868E28C + .equ mus_tonekusa_grp, voicegroup083 .equ mus_tonekusa_pri, 0 .equ mus_tonekusa_rev, reverb_set+50 .equ mus_tonekusa_mvl, 127 diff --git a/sound/songs/mus_tozan.s b/sound/songs/mus_tozan.s index dddbe1c3f7..e07912f654 100644 --- a/sound/songs/mus_tozan.s +++ b/sound/songs/mus_tozan.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_tozan_grp, voicegroup_8683048 + .equ mus_tozan_grp, voicegroup052 .equ mus_tozan_pri, 0 .equ mus_tozan_rev, reverb_set+50 .equ mus_tozan_mvl, 127 diff --git a/sound/songs/mus_tsuretek.s b/sound/songs/mus_tsuretek.s index 457e08e561..d8497ff224 100644 --- a/sound/songs/mus_tsuretek.s +++ b/sound/songs/mus_tsuretek.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_tsuretek_grp, voicegroup_8688274 + .equ mus_tsuretek_grp, voicegroup066 .equ mus_tsuretek_pri, 0 .equ mus_tsuretek_rev, reverb_set+50 .equ mus_tsuretek_mvl, 127 diff --git a/sound/songs/mus_vs_front.s b/sound/songs/mus_vs_front.s index 0282b51801..b0e6b1330e 100644 --- a/sound/songs/mus_vs_front.s +++ b/sound/songs/mus_vs_front.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_vs_front_grp, voicegroup_8699854 + .equ mus_vs_front_grp, voicegroup115 .equ mus_vs_front_pri, 1 .equ mus_vs_front_rev, reverb_set+50 .equ mus_vs_front_mvl, 127 diff --git a/sound/songs/mus_vs_mew.s b/sound/songs/mus_vs_mew.s index 1156a958bc..62500c78a6 100644 --- a/sound/songs/mus_vs_mew.s +++ b/sound/songs/mus_vs_mew.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_vs_mew_grp, voicegroup_8699E54 + .equ mus_vs_mew_grp, voicegroup116 .equ mus_vs_mew_pri, 0 .equ mus_vs_mew_rev, reverb_set+50 .equ mus_vs_mew_mvl, 127 diff --git a/sound/songs/mus_vs_rekku.s b/sound/songs/mus_vs_rekku.s index 4a6300ed2d..92cc1fbfee 100644 --- a/sound/songs/mus_vs_rekku.s +++ b/sound/songs/mus_vs_rekku.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_vs_rekku_grp, voicegroup_8699254 + .equ mus_vs_rekku_grp, voicegroup114 .equ mus_vs_rekku_pri, 1 .equ mus_vs_rekku_rev, reverb_set+50 .equ mus_vs_rekku_mvl, 127 diff --git a/sound/songs/mus_yama_eye.s b/sound/songs/mus_yama_eye.s index f2beb191d5..83a0584d71 100644 --- a/sound/songs/mus_yama_eye.s +++ b/sound/songs/mus_yama_eye.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ mus_yama_eye_grp, voicegroup_869347C + .equ mus_yama_eye_grp, voicegroup097 .equ mus_yama_eye_pri, 0 .equ mus_yama_eye_rev, reverb_set+50 .equ mus_yama_eye_mvl, 127 diff --git a/sound/songs/ph_choice_blend.s b/sound/songs/ph_choice_blend.s index 6550eb7ecd..b45fc21f10 100644 --- a/sound/songs/ph_choice_blend.s +++ b/sound/songs/ph_choice_blend.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ ph_choice_blend_grp, voicegroup_86A0754 + .equ ph_choice_blend_grp, voicegroup130 .equ ph_choice_blend_pri, 4 .equ ph_choice_blend_rev, 0 .equ ph_choice_blend_mvl, 127 diff --git a/sound/songs/ph_choice_held.s b/sound/songs/ph_choice_held.s index 902c9bce94..c44bda5795 100644 --- a/sound/songs/ph_choice_held.s +++ b/sound/songs/ph_choice_held.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ ph_choice_held_grp, voicegroup_86A0754 + .equ ph_choice_held_grp, voicegroup130 .equ ph_choice_held_pri, 4 .equ ph_choice_held_rev, 0 .equ ph_choice_held_mvl, 127 diff --git a/sound/songs/ph_choice_solo.s b/sound/songs/ph_choice_solo.s index cbbcd5e4b2..0f2b997a1f 100644 --- a/sound/songs/ph_choice_solo.s +++ b/sound/songs/ph_choice_solo.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ ph_choice_solo_grp, voicegroup_86A0754 + .equ ph_choice_solo_grp, voicegroup130 .equ ph_choice_solo_pri, 4 .equ ph_choice_solo_rev, 0 .equ ph_choice_solo_mvl, 127 diff --git a/sound/songs/ph_cloth_blend.s b/sound/songs/ph_cloth_blend.s index 829ea3722b..e28917588c 100644 --- a/sound/songs/ph_cloth_blend.s +++ b/sound/songs/ph_cloth_blend.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ ph_cloth_blend_grp, voicegroup_86A0754 + .equ ph_cloth_blend_grp, voicegroup130 .equ ph_cloth_blend_pri, 4 .equ ph_cloth_blend_rev, 0 .equ ph_cloth_blend_mvl, 127 diff --git a/sound/songs/ph_cloth_held.s b/sound/songs/ph_cloth_held.s index 9ec3d88417..6a6929921d 100644 --- a/sound/songs/ph_cloth_held.s +++ b/sound/songs/ph_cloth_held.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ ph_cloth_held_grp, voicegroup_86A0754 + .equ ph_cloth_held_grp, voicegroup130 .equ ph_cloth_held_pri, 4 .equ ph_cloth_held_rev, 0 .equ ph_cloth_held_mvl, 127 diff --git a/sound/songs/ph_cloth_solo.s b/sound/songs/ph_cloth_solo.s index db6191897e..6dc5b50f91 100644 --- a/sound/songs/ph_cloth_solo.s +++ b/sound/songs/ph_cloth_solo.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ ph_cloth_solo_grp, voicegroup_86A0754 + .equ ph_cloth_solo_grp, voicegroup130 .equ ph_cloth_solo_pri, 4 .equ ph_cloth_solo_rev, 0 .equ ph_cloth_solo_mvl, 127 diff --git a/sound/songs/ph_cure_blend.s b/sound/songs/ph_cure_blend.s index 8504bb1687..6a539880f6 100644 --- a/sound/songs/ph_cure_blend.s +++ b/sound/songs/ph_cure_blend.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ ph_cure_blend_grp, voicegroup_86A0754 + .equ ph_cure_blend_grp, voicegroup130 .equ ph_cure_blend_pri, 4 .equ ph_cure_blend_rev, 0 .equ ph_cure_blend_mvl, 127 diff --git a/sound/songs/ph_cure_held.s b/sound/songs/ph_cure_held.s index d1a571851c..6dc31cf687 100644 --- a/sound/songs/ph_cure_held.s +++ b/sound/songs/ph_cure_held.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ ph_cure_held_grp, voicegroup_86A0754 + .equ ph_cure_held_grp, voicegroup130 .equ ph_cure_held_pri, 4 .equ ph_cure_held_rev, 0 .equ ph_cure_held_mvl, 127 diff --git a/sound/songs/ph_cure_solo.s b/sound/songs/ph_cure_solo.s index 7784e0b5e1..c3400338fb 100644 --- a/sound/songs/ph_cure_solo.s +++ b/sound/songs/ph_cure_solo.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ ph_cure_solo_grp, voicegroup_86A0754 + .equ ph_cure_solo_grp, voicegroup130 .equ ph_cure_solo_pri, 4 .equ ph_cure_solo_rev, 0 .equ ph_cure_solo_mvl, 127 diff --git a/sound/songs/ph_dress_blend.s b/sound/songs/ph_dress_blend.s index f5b5d56077..8cafed3766 100644 --- a/sound/songs/ph_dress_blend.s +++ b/sound/songs/ph_dress_blend.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ ph_dress_blend_grp, voicegroup_86A0754 + .equ ph_dress_blend_grp, voicegroup130 .equ ph_dress_blend_pri, 4 .equ ph_dress_blend_rev, 0 .equ ph_dress_blend_mvl, 127 diff --git a/sound/songs/ph_dress_held.s b/sound/songs/ph_dress_held.s index 0505f054eb..f1b432e3bb 100644 --- a/sound/songs/ph_dress_held.s +++ b/sound/songs/ph_dress_held.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ ph_dress_held_grp, voicegroup_86A0754 + .equ ph_dress_held_grp, voicegroup130 .equ ph_dress_held_pri, 4 .equ ph_dress_held_rev, 0 .equ ph_dress_held_mvl, 127 diff --git a/sound/songs/ph_dress_solo.s b/sound/songs/ph_dress_solo.s index d38c6034ba..3162f15d72 100644 --- a/sound/songs/ph_dress_solo.s +++ b/sound/songs/ph_dress_solo.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ ph_dress_solo_grp, voicegroup_86A0754 + .equ ph_dress_solo_grp, voicegroup130 .equ ph_dress_solo_pri, 4 .equ ph_dress_solo_rev, 0 .equ ph_dress_solo_mvl, 127 diff --git a/sound/songs/ph_face_blend.s b/sound/songs/ph_face_blend.s index fb26025f4e..143e53726b 100644 --- a/sound/songs/ph_face_blend.s +++ b/sound/songs/ph_face_blend.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ ph_face_blend_grp, voicegroup_86A0754 + .equ ph_face_blend_grp, voicegroup130 .equ ph_face_blend_pri, 4 .equ ph_face_blend_rev, 0 .equ ph_face_blend_mvl, 127 diff --git a/sound/songs/ph_face_held.s b/sound/songs/ph_face_held.s index 6076aec32a..cfd93fc01c 100644 --- a/sound/songs/ph_face_held.s +++ b/sound/songs/ph_face_held.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ ph_face_held_grp, voicegroup_86A0754 + .equ ph_face_held_grp, voicegroup130 .equ ph_face_held_pri, 4 .equ ph_face_held_rev, 0 .equ ph_face_held_mvl, 127 diff --git a/sound/songs/ph_face_solo.s b/sound/songs/ph_face_solo.s index e8d7cce38b..83be67615c 100644 --- a/sound/songs/ph_face_solo.s +++ b/sound/songs/ph_face_solo.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ ph_face_solo_grp, voicegroup_86A0754 + .equ ph_face_solo_grp, voicegroup130 .equ ph_face_solo_pri, 4 .equ ph_face_solo_rev, 0 .equ ph_face_solo_mvl, 127 diff --git a/sound/songs/ph_fleece_blend.s b/sound/songs/ph_fleece_blend.s index 57f832b81f..4aa50e981e 100644 --- a/sound/songs/ph_fleece_blend.s +++ b/sound/songs/ph_fleece_blend.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ ph_fleece_blend_grp, voicegroup_86A0754 + .equ ph_fleece_blend_grp, voicegroup130 .equ ph_fleece_blend_pri, 4 .equ ph_fleece_blend_rev, 0 .equ ph_fleece_blend_mvl, 127 diff --git a/sound/songs/ph_fleece_held.s b/sound/songs/ph_fleece_held.s index 22b75d1265..1074ef9e22 100644 --- a/sound/songs/ph_fleece_held.s +++ b/sound/songs/ph_fleece_held.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ ph_fleece_held_grp, voicegroup_86A0754 + .equ ph_fleece_held_grp, voicegroup130 .equ ph_fleece_held_pri, 4 .equ ph_fleece_held_rev, 0 .equ ph_fleece_held_mvl, 127 diff --git a/sound/songs/ph_fleece_solo.s b/sound/songs/ph_fleece_solo.s index cd52efeb67..ada1865bd1 100644 --- a/sound/songs/ph_fleece_solo.s +++ b/sound/songs/ph_fleece_solo.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ ph_fleece_solo_grp, voicegroup_86A0754 + .equ ph_fleece_solo_grp, voicegroup130 .equ ph_fleece_solo_pri, 4 .equ ph_fleece_solo_rev, 0 .equ ph_fleece_solo_mvl, 127 diff --git a/sound/songs/ph_foot_blend.s b/sound/songs/ph_foot_blend.s index 97a63d1fb0..62ebc68a90 100644 --- a/sound/songs/ph_foot_blend.s +++ b/sound/songs/ph_foot_blend.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ ph_foot_blend_grp, voicegroup_86A0754 + .equ ph_foot_blend_grp, voicegroup130 .equ ph_foot_blend_pri, 4 .equ ph_foot_blend_rev, 0 .equ ph_foot_blend_mvl, 127 diff --git a/sound/songs/ph_foot_held.s b/sound/songs/ph_foot_held.s index 68fe95045c..ebac052879 100644 --- a/sound/songs/ph_foot_held.s +++ b/sound/songs/ph_foot_held.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ ph_foot_held_grp, voicegroup_86A0754 + .equ ph_foot_held_grp, voicegroup130 .equ ph_foot_held_pri, 4 .equ ph_foot_held_rev, 0 .equ ph_foot_held_mvl, 127 diff --git a/sound/songs/ph_foot_solo.s b/sound/songs/ph_foot_solo.s index 371b9e6983..65c680c279 100644 --- a/sound/songs/ph_foot_solo.s +++ b/sound/songs/ph_foot_solo.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ ph_foot_solo_grp, voicegroup_86A0754 + .equ ph_foot_solo_grp, voicegroup130 .equ ph_foot_solo_pri, 4 .equ ph_foot_solo_rev, 0 .equ ph_foot_solo_mvl, 127 diff --git a/sound/songs/ph_goat_blend.s b/sound/songs/ph_goat_blend.s index 35ebaeb65f..a5749b99d4 100644 --- a/sound/songs/ph_goat_blend.s +++ b/sound/songs/ph_goat_blend.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ ph_goat_blend_grp, voicegroup_86A0754 + .equ ph_goat_blend_grp, voicegroup130 .equ ph_goat_blend_pri, 4 .equ ph_goat_blend_rev, 0 .equ ph_goat_blend_mvl, 127 diff --git a/sound/songs/ph_goat_held.s b/sound/songs/ph_goat_held.s index 023b907bbf..1f71aabf66 100644 --- a/sound/songs/ph_goat_held.s +++ b/sound/songs/ph_goat_held.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ ph_goat_held_grp, voicegroup_86A0754 + .equ ph_goat_held_grp, voicegroup130 .equ ph_goat_held_pri, 4 .equ ph_goat_held_rev, 0 .equ ph_goat_held_mvl, 127 diff --git a/sound/songs/ph_goat_solo.s b/sound/songs/ph_goat_solo.s index 21c675f2b0..d7c9b8e2f4 100644 --- a/sound/songs/ph_goat_solo.s +++ b/sound/songs/ph_goat_solo.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ ph_goat_solo_grp, voicegroup_86A0754 + .equ ph_goat_solo_grp, voicegroup130 .equ ph_goat_solo_pri, 4 .equ ph_goat_solo_rev, 0 .equ ph_goat_solo_mvl, 127 diff --git a/sound/songs/ph_goose_blend.s b/sound/songs/ph_goose_blend.s index 4e9808dd1b..04d5b44cc6 100644 --- a/sound/songs/ph_goose_blend.s +++ b/sound/songs/ph_goose_blend.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ ph_goose_blend_grp, voicegroup_86A0754 + .equ ph_goose_blend_grp, voicegroup130 .equ ph_goose_blend_pri, 4 .equ ph_goose_blend_rev, 0 .equ ph_goose_blend_mvl, 127 diff --git a/sound/songs/ph_goose_held.s b/sound/songs/ph_goose_held.s index e4cfab5f46..40ca71ba7c 100644 --- a/sound/songs/ph_goose_held.s +++ b/sound/songs/ph_goose_held.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ ph_goose_held_grp, voicegroup_86A0754 + .equ ph_goose_held_grp, voicegroup130 .equ ph_goose_held_pri, 4 .equ ph_goose_held_rev, 0 .equ ph_goose_held_mvl, 127 diff --git a/sound/songs/ph_goose_solo.s b/sound/songs/ph_goose_solo.s index 492b4c0ef5..b9c7756785 100644 --- a/sound/songs/ph_goose_solo.s +++ b/sound/songs/ph_goose_solo.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ ph_goose_solo_grp, voicegroup_86A0754 + .equ ph_goose_solo_grp, voicegroup130 .equ ph_goose_solo_pri, 4 .equ ph_goose_solo_rev, 0 .equ ph_goose_solo_mvl, 127 diff --git a/sound/songs/ph_kit_blend.s b/sound/songs/ph_kit_blend.s index c055e96074..9672a33726 100644 --- a/sound/songs/ph_kit_blend.s +++ b/sound/songs/ph_kit_blend.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ ph_kit_blend_grp, voicegroup_86A0754 + .equ ph_kit_blend_grp, voicegroup130 .equ ph_kit_blend_pri, 4 .equ ph_kit_blend_rev, 0 .equ ph_kit_blend_mvl, 127 diff --git a/sound/songs/ph_kit_held.s b/sound/songs/ph_kit_held.s index ce4cc09209..81e4f5a35d 100644 --- a/sound/songs/ph_kit_held.s +++ b/sound/songs/ph_kit_held.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ ph_kit_held_grp, voicegroup_86A0754 + .equ ph_kit_held_grp, voicegroup130 .equ ph_kit_held_pri, 4 .equ ph_kit_held_rev, 0 .equ ph_kit_held_mvl, 127 diff --git a/sound/songs/ph_kit_solo.s b/sound/songs/ph_kit_solo.s index 261ea1c5d2..1c2bd0313e 100644 --- a/sound/songs/ph_kit_solo.s +++ b/sound/songs/ph_kit_solo.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ ph_kit_solo_grp, voicegroup_86A0754 + .equ ph_kit_solo_grp, voicegroup130 .equ ph_kit_solo_pri, 4 .equ ph_kit_solo_rev, 0 .equ ph_kit_solo_mvl, 127 diff --git a/sound/songs/ph_lot_blend.s b/sound/songs/ph_lot_blend.s index d6a0809421..7ec53ee79e 100644 --- a/sound/songs/ph_lot_blend.s +++ b/sound/songs/ph_lot_blend.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ ph_lot_blend_grp, voicegroup_86A0754 + .equ ph_lot_blend_grp, voicegroup130 .equ ph_lot_blend_pri, 4 .equ ph_lot_blend_rev, 0 .equ ph_lot_blend_mvl, 127 diff --git a/sound/songs/ph_lot_held.s b/sound/songs/ph_lot_held.s index 3127546698..09756be1e5 100644 --- a/sound/songs/ph_lot_held.s +++ b/sound/songs/ph_lot_held.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ ph_lot_held_grp, voicegroup_86A0754 + .equ ph_lot_held_grp, voicegroup130 .equ ph_lot_held_pri, 4 .equ ph_lot_held_rev, 0 .equ ph_lot_held_mvl, 127 diff --git a/sound/songs/ph_lot_solo.s b/sound/songs/ph_lot_solo.s index 265b3097e8..2758ea4770 100644 --- a/sound/songs/ph_lot_solo.s +++ b/sound/songs/ph_lot_solo.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ ph_lot_solo_grp, voicegroup_86A0754 + .equ ph_lot_solo_grp, voicegroup130 .equ ph_lot_solo_pri, 4 .equ ph_lot_solo_rev, 0 .equ ph_lot_solo_mvl, 127 diff --git a/sound/songs/ph_mouth_blend.s b/sound/songs/ph_mouth_blend.s index ddf893f40d..07d5425621 100644 --- a/sound/songs/ph_mouth_blend.s +++ b/sound/songs/ph_mouth_blend.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ ph_mouth_blend_grp, voicegroup_86A0754 + .equ ph_mouth_blend_grp, voicegroup130 .equ ph_mouth_blend_pri, 4 .equ ph_mouth_blend_rev, 0 .equ ph_mouth_blend_mvl, 127 diff --git a/sound/songs/ph_mouth_held.s b/sound/songs/ph_mouth_held.s index 0e13ac930f..ce8e1d063a 100644 --- a/sound/songs/ph_mouth_held.s +++ b/sound/songs/ph_mouth_held.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ ph_mouth_held_grp, voicegroup_86A0754 + .equ ph_mouth_held_grp, voicegroup130 .equ ph_mouth_held_pri, 4 .equ ph_mouth_held_rev, 0 .equ ph_mouth_held_mvl, 127 diff --git a/sound/songs/ph_mouth_solo.s b/sound/songs/ph_mouth_solo.s index 0eba1245f6..4b9729f162 100644 --- a/sound/songs/ph_mouth_solo.s +++ b/sound/songs/ph_mouth_solo.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ ph_mouth_solo_grp, voicegroup_86A0754 + .equ ph_mouth_solo_grp, voicegroup130 .equ ph_mouth_solo_pri, 4 .equ ph_mouth_solo_rev, 0 .equ ph_mouth_solo_mvl, 127 diff --git a/sound/songs/ph_nurse_blend.s b/sound/songs/ph_nurse_blend.s index 484dca4f04..9f44300446 100644 --- a/sound/songs/ph_nurse_blend.s +++ b/sound/songs/ph_nurse_blend.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ ph_nurse_blend_grp, voicegroup_86A0754 + .equ ph_nurse_blend_grp, voicegroup130 .equ ph_nurse_blend_pri, 4 .equ ph_nurse_blend_rev, 0 .equ ph_nurse_blend_mvl, 127 diff --git a/sound/songs/ph_nurse_held.s b/sound/songs/ph_nurse_held.s index a73d199081..0bce5b0b5d 100644 --- a/sound/songs/ph_nurse_held.s +++ b/sound/songs/ph_nurse_held.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ ph_nurse_held_grp, voicegroup_86A0754 + .equ ph_nurse_held_grp, voicegroup130 .equ ph_nurse_held_pri, 4 .equ ph_nurse_held_rev, 0 .equ ph_nurse_held_mvl, 127 diff --git a/sound/songs/ph_nurse_solo.s b/sound/songs/ph_nurse_solo.s index 84d3d6db4a..51aa0909b3 100644 --- a/sound/songs/ph_nurse_solo.s +++ b/sound/songs/ph_nurse_solo.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ ph_nurse_solo_grp, voicegroup_86A0754 + .equ ph_nurse_solo_grp, voicegroup130 .equ ph_nurse_solo_pri, 4 .equ ph_nurse_solo_rev, 0 .equ ph_nurse_solo_mvl, 127 diff --git a/sound/songs/ph_price_blend.s b/sound/songs/ph_price_blend.s index 0fe213ad14..8b27e3df96 100644 --- a/sound/songs/ph_price_blend.s +++ b/sound/songs/ph_price_blend.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ ph_price_blend_grp, voicegroup_86A0754 + .equ ph_price_blend_grp, voicegroup130 .equ ph_price_blend_pri, 4 .equ ph_price_blend_rev, 0 .equ ph_price_blend_mvl, 127 diff --git a/sound/songs/ph_price_held.s b/sound/songs/ph_price_held.s index 73f445b6ed..920c121c2e 100644 --- a/sound/songs/ph_price_held.s +++ b/sound/songs/ph_price_held.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ ph_price_held_grp, voicegroup_86A0754 + .equ ph_price_held_grp, voicegroup130 .equ ph_price_held_pri, 4 .equ ph_price_held_rev, 0 .equ ph_price_held_mvl, 127 diff --git a/sound/songs/ph_price_solo.s b/sound/songs/ph_price_solo.s index bdc17db78a..10b5f202d4 100644 --- a/sound/songs/ph_price_solo.s +++ b/sound/songs/ph_price_solo.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ ph_price_solo_grp, voicegroup_86A0754 + .equ ph_price_solo_grp, voicegroup130 .equ ph_price_solo_pri, 4 .equ ph_price_solo_rev, 0 .equ ph_price_solo_mvl, 127 diff --git a/sound/songs/ph_strut_blend.s b/sound/songs/ph_strut_blend.s index 45b81a7470..f42a859ebb 100644 --- a/sound/songs/ph_strut_blend.s +++ b/sound/songs/ph_strut_blend.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ ph_strut_blend_grp, voicegroup_86A0754 + .equ ph_strut_blend_grp, voicegroup130 .equ ph_strut_blend_pri, 4 .equ ph_strut_blend_rev, 0 .equ ph_strut_blend_mvl, 127 diff --git a/sound/songs/ph_strut_held.s b/sound/songs/ph_strut_held.s index 9f77879924..14521c1535 100644 --- a/sound/songs/ph_strut_held.s +++ b/sound/songs/ph_strut_held.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ ph_strut_held_grp, voicegroup_86A0754 + .equ ph_strut_held_grp, voicegroup130 .equ ph_strut_held_pri, 4 .equ ph_strut_held_rev, 0 .equ ph_strut_held_mvl, 127 diff --git a/sound/songs/ph_strut_solo.s b/sound/songs/ph_strut_solo.s index d5ba13bd2d..f06787dd83 100644 --- a/sound/songs/ph_strut_solo.s +++ b/sound/songs/ph_strut_solo.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ ph_strut_solo_grp, voicegroup_86A0754 + .equ ph_strut_solo_grp, voicegroup130 .equ ph_strut_solo_pri, 4 .equ ph_strut_solo_rev, 0 .equ ph_strut_solo_mvl, 127 diff --git a/sound/songs/ph_thought_blend.s b/sound/songs/ph_thought_blend.s index edc8bd5393..d6616c4e6c 100644 --- a/sound/songs/ph_thought_blend.s +++ b/sound/songs/ph_thought_blend.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ ph_thought_blend_grp, voicegroup_86A0754 + .equ ph_thought_blend_grp, voicegroup130 .equ ph_thought_blend_pri, 4 .equ ph_thought_blend_rev, 0 .equ ph_thought_blend_mvl, 127 diff --git a/sound/songs/ph_thought_held.s b/sound/songs/ph_thought_held.s index be78c69566..7c0b61821a 100644 --- a/sound/songs/ph_thought_held.s +++ b/sound/songs/ph_thought_held.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ ph_thought_held_grp, voicegroup_86A0754 + .equ ph_thought_held_grp, voicegroup130 .equ ph_thought_held_pri, 4 .equ ph_thought_held_rev, 0 .equ ph_thought_held_mvl, 127 diff --git a/sound/songs/ph_thought_solo.s b/sound/songs/ph_thought_solo.s index 80f782bc52..876f7aa762 100644 --- a/sound/songs/ph_thought_solo.s +++ b/sound/songs/ph_thought_solo.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ ph_thought_solo_grp, voicegroup_86A0754 + .equ ph_thought_solo_grp, voicegroup130 .equ ph_thought_solo_pri, 4 .equ ph_thought_solo_rev, 0 .equ ph_thought_solo_mvl, 127 diff --git a/sound/songs/ph_trap_blend.s b/sound/songs/ph_trap_blend.s index ddffa32dc9..34f2541d74 100644 --- a/sound/songs/ph_trap_blend.s +++ b/sound/songs/ph_trap_blend.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ ph_trap_blend_grp, voicegroup_86A0754 + .equ ph_trap_blend_grp, voicegroup130 .equ ph_trap_blend_pri, 4 .equ ph_trap_blend_rev, 0 .equ ph_trap_blend_mvl, 127 diff --git a/sound/songs/ph_trap_held.s b/sound/songs/ph_trap_held.s index af5d412a3e..21b021fccb 100644 --- a/sound/songs/ph_trap_held.s +++ b/sound/songs/ph_trap_held.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ ph_trap_held_grp, voicegroup_86A0754 + .equ ph_trap_held_grp, voicegroup130 .equ ph_trap_held_pri, 4 .equ ph_trap_held_rev, 0 .equ ph_trap_held_mvl, 127 diff --git a/sound/songs/ph_trap_solo.s b/sound/songs/ph_trap_solo.s index efd43832b4..c4a711b415 100644 --- a/sound/songs/ph_trap_solo.s +++ b/sound/songs/ph_trap_solo.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ ph_trap_solo_grp, voicegroup_86A0754 + .equ ph_trap_solo_grp, voicegroup130 .equ ph_trap_solo_pri, 4 .equ ph_trap_solo_rev, 0 .equ ph_trap_solo_mvl, 127 diff --git a/sound/songs/se_a.s b/sound/songs/se_a.s index 0362a35edd..860a9aa27e 100644 --- a/sound/songs/se_a.s +++ b/sound/songs/se_a.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_a_grp, voicegroup_869D6F4 + .equ se_a_grp, voicegroup128 .equ se_a_pri, 4 .equ se_a_rev, reverb_set+50 .equ se_a_mvl, 127 diff --git a/sound/songs/se_ban.s b/sound/songs/se_ban.s index e81889b7d9..c4e39b5cde 100644 --- a/sound/songs/se_ban.s +++ b/sound/songs/se_ban.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_ban_grp, voicegroup_869D6F4 + .equ se_ban_grp, voicegroup128 .equ se_ban_pri, 4 .equ se_ban_rev, reverb_set+50 .equ se_ban_mvl, 127 diff --git a/sound/songs/se_basabasa.s b/sound/songs/se_basabasa.s index 14b618987a..bf1ee14ca4 100644 --- a/sound/songs/se_basabasa.s +++ b/sound/songs/se_basabasa.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_basabasa_grp, voicegroup_869D6F4 + .equ se_basabasa_grp, voicegroup128 .equ se_basabasa_pri, 5 .equ se_basabasa_rev, reverb_set+50 .equ se_basabasa_mvl, 127 diff --git a/sound/songs/se_bidoro.s b/sound/songs/se_bidoro.s index ee4b2cebd2..6130a39a25 100644 --- a/sound/songs/se_bidoro.s +++ b/sound/songs/se_bidoro.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_bidoro_grp, voicegroup_869D6F4 + .equ se_bidoro_grp, voicegroup128 .equ se_bidoro_pri, 5 .equ se_bidoro_rev, reverb_set+50 .equ se_bidoro_mvl, 127 diff --git a/sound/songs/se_boo.s b/sound/songs/se_boo.s index 69d56bb749..c6bb1cb069 100644 --- a/sound/songs/se_boo.s +++ b/sound/songs/se_boo.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_boo_grp, voicegroup_869D0F4 + .equ se_boo_grp, voicegroup127 .equ se_boo_pri, 4 .equ se_boo_rev, reverb_set+50 .equ se_boo_mvl, 127 diff --git a/sound/songs/se_bowa.s b/sound/songs/se_bowa.s index 5f22f18731..93b84265b3 100644 --- a/sound/songs/se_bowa.s +++ b/sound/songs/se_bowa.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_bowa_grp, voicegroup_869D0F4 + .equ se_bowa_grp, voicegroup127 .equ se_bowa_pri, 4 .equ se_bowa_rev, reverb_set+50 .equ se_bowa_mvl, 127 diff --git a/sound/songs/se_bowa2.s b/sound/songs/se_bowa2.s index 06ec962d55..571c452912 100644 --- a/sound/songs/se_bowa2.s +++ b/sound/songs/se_bowa2.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_bowa2_grp, voicegroup_869D0F4 + .equ se_bowa2_grp, voicegroup127 .equ se_bowa2_pri, 5 .equ se_bowa2_rev, reverb_set+50 .equ se_bowa2_mvl, 127 diff --git a/sound/songs/se_bt_start.s b/sound/songs/se_bt_start.s index 46accdac75..c0c30550bf 100644 --- a/sound/songs/se_bt_start.s +++ b/sound/songs/se_bt_start.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_bt_start_grp, voicegroup_869D6F4 + .equ se_bt_start_grp, voicegroup128 .equ se_bt_start_pri, 5 .equ se_bt_start_rev, reverb_set+50 .equ se_bt_start_mvl, 127 diff --git a/sound/songs/se_c_gaji.s b/sound/songs/se_c_gaji.s index 20ff81efc0..38217dbe5f 100644 --- a/sound/songs/se_c_gaji.s +++ b/sound/songs/se_c_gaji.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_c_gaji_grp, voicegroup_869D6F4 + .equ se_c_gaji_grp, voicegroup128 .equ se_c_gaji_pri, 5 .equ se_c_gaji_rev, reverb_set+50 .equ se_c_gaji_mvl, 127 diff --git a/sound/songs/se_c_maku_d.s b/sound/songs/se_c_maku_d.s index 5be7e13ce9..f97673f074 100644 --- a/sound/songs/se_c_maku_d.s +++ b/sound/songs/se_c_maku_d.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_c_maku_d_grp, voicegroup_869D6F4 + .equ se_c_maku_d_grp, voicegroup128 .equ se_c_maku_d_pri, 5 .equ se_c_maku_d_rev, reverb_set+50 .equ se_c_maku_d_mvl, 127 diff --git a/sound/songs/se_c_maku_u.s b/sound/songs/se_c_maku_u.s index 8b633c9540..fa0ef3f0da 100644 --- a/sound/songs/se_c_maku_u.s +++ b/sound/songs/se_c_maku_u.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_c_maku_u_grp, voicegroup_869D6F4 + .equ se_c_maku_u_grp, voicegroup128 .equ se_c_maku_u_pri, 5 .equ se_c_maku_u_rev, reverb_set+50 .equ se_c_maku_u_mvl, 127 diff --git a/sound/songs/se_c_pasi.s b/sound/songs/se_c_pasi.s index f617654835..02da29a6d6 100644 --- a/sound/songs/se_c_pasi.s +++ b/sound/songs/se_c_pasi.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_c_pasi_grp, voicegroup_869D6F4 + .equ se_c_pasi_grp, voicegroup128 .equ se_c_pasi_pri, 5 .equ se_c_pasi_rev, reverb_set+50 .equ se_c_pasi_mvl, 127 diff --git a/sound/songs/se_c_pikon.s b/sound/songs/se_c_pikon.s index 790b870bde..1e91ed7602 100644 --- a/sound/songs/se_c_pikon.s +++ b/sound/songs/se_c_pikon.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_c_pikon_grp, voicegroup_869D6F4 + .equ se_c_pikon_grp, voicegroup128 .equ se_c_pikon_pri, 5 .equ se_c_pikon_rev, reverb_set+50 .equ se_c_pikon_mvl, 127 diff --git a/sound/songs/se_c_syu.s b/sound/songs/se_c_syu.s index c15193aa6b..c4d0513974 100644 --- a/sound/songs/se_c_syu.s +++ b/sound/songs/se_c_syu.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_c_syu_grp, voicegroup_869D6F4 + .equ se_c_syu_grp, voicegroup128 .equ se_c_syu_pri, 5 .equ se_c_syu_rev, reverb_set+50 .equ se_c_syu_mvl, 127 diff --git a/sound/songs/se_card.s b/sound/songs/se_card.s index e701e6b2df..703e516d54 100644 --- a/sound/songs/se_card.s +++ b/sound/songs/se_card.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_card_grp, voicegroup_869D0F4 + .equ se_card_grp, voicegroup127 .equ se_card_pri, 4 .equ se_card_rev, reverb_set+50 .equ se_card_mvl, 127 diff --git a/sound/songs/se_curtain.s b/sound/songs/se_curtain.s index e1423036c5..e15fe47420 100644 --- a/sound/songs/se_curtain.s +++ b/sound/songs/se_curtain.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_curtain_grp, voicegroup_86A0154 + .equ se_curtain_grp, voicegroup129 .equ se_curtain_pri, 5 .equ se_curtain_rev, reverb_set+50 .equ se_curtain_mvl, 127 diff --git a/sound/songs/se_curtain1.s b/sound/songs/se_curtain1.s index ed479e8b62..40e97ba133 100644 --- a/sound/songs/se_curtain1.s +++ b/sound/songs/se_curtain1.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_curtain1_grp, voicegroup_86A0154 + .equ se_curtain1_grp, voicegroup129 .equ se_curtain1_pri, 5 .equ se_curtain1_rev, reverb_set+50 .equ se_curtain1_mvl, 127 diff --git a/sound/songs/se_dansa.s b/sound/songs/se_dansa.s index 3f53916460..ccd7c47424 100644 --- a/sound/songs/se_dansa.s +++ b/sound/songs/se_dansa.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_dansa_grp, voicegroup_869D0F4 + .equ se_dansa_grp, voicegroup127 .equ se_dansa_pri, 4 .equ se_dansa_rev, reverb_set+50 .equ se_dansa_mvl, 127 diff --git a/sound/songs/se_daugi.s b/sound/songs/se_daugi.s index f62ff522eb..88793920d3 100644 --- a/sound/songs/se_daugi.s +++ b/sound/songs/se_daugi.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_daugi_grp, voicegroup_869D0F4 + .equ se_daugi_grp, voicegroup127 .equ se_daugi_pri, 5 .equ se_daugi_rev, reverb_set+50 .equ se_daugi_mvl, 127 diff --git a/sound/songs/se_dendou.s b/sound/songs/se_dendou.s index a7e0fb4cbb..4fda6d338d 100644 --- a/sound/songs/se_dendou.s +++ b/sound/songs/se_dendou.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_dendou_grp, voicegroup_869D6F4 + .equ se_dendou_grp, voicegroup128 .equ se_dendou_pri, 5 .equ se_dendou_rev, reverb_set+50 .equ se_dendou_mvl, 127 diff --git a/sound/songs/se_doku.s b/sound/songs/se_doku.s index e8b83b05e9..90b84b2fb2 100644 --- a/sound/songs/se_doku.s +++ b/sound/songs/se_doku.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_doku_grp, voicegroup_869D0F4 + .equ se_doku_grp, voicegroup127 .equ se_doku_pri, 5 .equ se_doku_rev, reverb_set+50 .equ se_doku_mvl, 127 diff --git a/sound/songs/se_door.s b/sound/songs/se_door.s index 5784402b5f..e4b23dddd6 100644 --- a/sound/songs/se_door.s +++ b/sound/songs/se_door.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_door_grp, voicegroup_869D0F4 + .equ se_door_grp, voicegroup127 .equ se_door_pri, 5 .equ se_door_rev, reverb_set+50 .equ se_door_mvl, 127 diff --git a/sound/songs/se_e.s b/sound/songs/se_e.s index 0cc3d1a6fa..aa9b91844e 100644 --- a/sound/songs/se_e.s +++ b/sound/songs/se_e.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_e_grp, voicegroup_869D6F4 + .equ se_e_grp, voicegroup128 .equ se_e_pri, 4 .equ se_e_rev, reverb_set+50 .equ se_e_mvl, 127 diff --git a/sound/songs/se_elebeta.s b/sound/songs/se_elebeta.s index 69ce382a8b..ad19476d5f 100644 --- a/sound/songs/se_elebeta.s +++ b/sound/songs/se_elebeta.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_elebeta_grp, voicegroup_869D6F4 + .equ se_elebeta_grp, voicegroup128 .equ se_elebeta_pri, 4 .equ se_elebeta_rev, reverb_set+50 .equ se_elebeta_mvl, 127 diff --git a/sound/songs/se_esuka.s b/sound/songs/se_esuka.s index a86239ac4e..88e88fcd31 100644 --- a/sound/songs/se_esuka.s +++ b/sound/songs/se_esuka.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_esuka_grp, voicegroup_869D6F4 + .equ se_esuka_grp, voicegroup128 .equ se_esuka_pri, 4 .equ se_esuka_rev, reverb_set+50 .equ se_esuka_mvl, 127 diff --git a/sound/songs/se_exp.s b/sound/songs/se_exp.s index 0fa2f75305..f58767b8f8 100644 --- a/sound/songs/se_exp.s +++ b/sound/songs/se_exp.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_exp_grp, voicegroup_869D0F4 + .equ se_exp_grp, voicegroup127 .equ se_exp_pri, 5 .equ se_exp_rev, reverb_set+50 .equ se_exp_mvl, 127 diff --git a/sound/songs/se_expmax.s b/sound/songs/se_expmax.s index 752a5d8e7d..a3a8478b2c 100644 --- a/sound/songs/se_expmax.s +++ b/sound/songs/se_expmax.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_expmax_grp, voicegroup_869D6F4 + .equ se_expmax_grp, voicegroup128 .equ se_expmax_pri, 5 .equ se_expmax_rev, reverb_set+50 .equ se_expmax_mvl, 127 diff --git a/sound/songs/se_fu_zaku.s b/sound/songs/se_fu_zaku.s index fe9907a786..b494653ee8 100644 --- a/sound/songs/se_fu_zaku.s +++ b/sound/songs/se_fu_zaku.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_fu_zaku_grp, voicegroup_869D0F4 + .equ se_fu_zaku_grp, voicegroup127 .equ se_fu_zaku_pri, 4 .equ se_fu_zaku_rev, reverb_set+50 .equ se_fu_zaku_mvl, 127 diff --git a/sound/songs/se_fu_zaku2.s b/sound/songs/se_fu_zaku2.s index b7b8f6cf23..0ef523654f 100644 --- a/sound/songs/se_fu_zaku2.s +++ b/sound/songs/se_fu_zaku2.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_fu_zaku2_grp, voicegroup_869D0F4 + .equ se_fu_zaku2_grp, voicegroup127 .equ se_fu_zaku2_pri, 4 .equ se_fu_zaku2_rev, reverb_set+50 .equ se_fu_zaku2_mvl, 127 diff --git a/sound/songs/se_fu_zuzuzu.s b/sound/songs/se_fu_zuzuzu.s index 37a63db64a..b0df814d00 100644 --- a/sound/songs/se_fu_zuzuzu.s +++ b/sound/songs/se_fu_zuzuzu.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_fu_zuzuzu_grp, voicegroup_869D0F4 + .equ se_fu_zuzuzu_grp, voicegroup127 .equ se_fu_zuzuzu_pri, 4 .equ se_fu_zuzuzu_rev, reverb_set+50 .equ se_fu_zuzuzu_mvl, 127 diff --git a/sound/songs/se_fuusen1.s b/sound/songs/se_fuusen1.s index 95206c2f0d..458b010c69 100644 --- a/sound/songs/se_fuusen1.s +++ b/sound/songs/se_fuusen1.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_fuusen1_grp, voicegroup_869D6F4 + .equ se_fuusen1_grp, voicegroup128 .equ se_fuusen1_pri, 4 .equ se_fuusen1_rev, reverb_set+50 .equ se_fuusen1_mvl, 127 diff --git a/sound/songs/se_fuusen2.s b/sound/songs/se_fuusen2.s index fe72f9a0bf..065b91adf8 100644 --- a/sound/songs/se_fuusen2.s +++ b/sound/songs/se_fuusen2.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_fuusen2_grp, voicegroup_869D6F4 + .equ se_fuusen2_grp, voicegroup128 .equ se_fuusen2_pri, 4 .equ se_fuusen2_rev, reverb_set+50 .equ se_fuusen2_mvl, 127 diff --git a/sound/songs/se_fuusen3.s b/sound/songs/se_fuusen3.s index 99696e78a3..0756c96188 100644 --- a/sound/songs/se_fuusen3.s +++ b/sound/songs/se_fuusen3.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_fuusen3_grp, voicegroup_869D6F4 + .equ se_fuusen3_grp, voicegroup128 .equ se_fuusen3_pri, 4 .equ se_fuusen3_rev, reverb_set+50 .equ se_fuusen3_mvl, 127 diff --git a/sound/songs/se_hantei1.s b/sound/songs/se_hantei1.s index 5ef1883ac6..5ef302ee64 100644 --- a/sound/songs/se_hantei1.s +++ b/sound/songs/se_hantei1.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_hantei1_grp, voicegroup_86A0154 + .equ se_hantei1_grp, voicegroup129 .equ se_hantei1_pri, 5 .equ se_hantei1_rev, reverb_set+50 .equ se_hantei1_mvl, 127 diff --git a/sound/songs/se_hantei2.s b/sound/songs/se_hantei2.s index cacc5c82cd..a10a14f412 100644 --- a/sound/songs/se_hantei2.s +++ b/sound/songs/se_hantei2.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_hantei2_grp, voicegroup_86A0154 + .equ se_hantei2_grp, voicegroup129 .equ se_hantei2_pri, 5 .equ se_hantei2_rev, reverb_set+50 .equ se_hantei2_mvl, 127 diff --git a/sound/songs/se_hashi.s b/sound/songs/se_hashi.s index 5e7f6ae0e2..ba2ed43cec 100644 --- a/sound/songs/se_hashi.s +++ b/sound/songs/se_hashi.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_hashi_grp, voicegroup_869D6F4 + .equ se_hashi_grp, voicegroup128 .equ se_hashi_pri, 4 .equ se_hashi_rev, reverb_set+50 .equ se_hashi_mvl, 127 diff --git a/sound/songs/se_hazure.s b/sound/songs/se_hazure.s index ea5e6a5cfb..9bd29f6b54 100644 --- a/sound/songs/se_hazure.s +++ b/sound/songs/se_hazure.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_hazure_grp, voicegroup_869D0F4 + .equ se_hazure_grp, voicegroup127 .equ se_hazure_pri, 4 .equ se_hazure_rev, reverb_set+50 .equ se_hazure_mvl, 127 diff --git a/sound/songs/se_hi_turun.s b/sound/songs/se_hi_turun.s index 6f46765671..ab51f35cd8 100644 --- a/sound/songs/se_hi_turun.s +++ b/sound/songs/se_hi_turun.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_hi_turun_grp, voicegroup_869D6F4 + .equ se_hi_turun_grp, voicegroup128 .equ se_hi_turun_pri, 4 .equ se_hi_turun_rev, reverb_set+50 .equ se_hi_turun_mvl, 127 diff --git a/sound/songs/se_hinsi.s b/sound/songs/se_hinsi.s index f714792c0d..3c16f2f1b6 100644 --- a/sound/songs/se_hinsi.s +++ b/sound/songs/se_hinsi.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_hinsi_grp, voicegroup_869D0F4 + .equ se_hinsi_grp, voicegroup127 .equ se_hinsi_pri, 3 .equ se_hinsi_rev, reverb_set+50 .equ se_hinsi_mvl, 127 diff --git a/sound/songs/se_i.s b/sound/songs/se_i.s index e39eb37723..fdb4ff5c46 100644 --- a/sound/songs/se_i.s +++ b/sound/songs/se_i.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_i_grp, voicegroup_869D6F4 + .equ se_i_grp, voicegroup128 .equ se_i_pri, 4 .equ se_i_rev, reverb_set+50 .equ se_i_mvl, 127 diff --git a/sound/songs/se_jido_doa.s b/sound/songs/se_jido_doa.s index 319d3c7aa7..60a1e4a474 100644 --- a/sound/songs/se_jido_doa.s +++ b/sound/songs/se_jido_doa.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_jido_doa_grp, voicegroup_869D6F4 + .equ se_jido_doa_grp, voicegroup128 .equ se_jido_doa_pri, 4 .equ se_jido_doa_rev, reverb_set+50 .equ se_jido_doa_mvl, 127 diff --git a/sound/songs/se_jihanki.s b/sound/songs/se_jihanki.s index 6e5360f1e4..931dd5b64a 100644 --- a/sound/songs/se_jihanki.s +++ b/sound/songs/se_jihanki.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_jihanki_grp, voicegroup_869D6F4 + .equ se_jihanki_grp, voicegroup128 .equ se_jihanki_pri, 4 .equ se_jihanki_rev, reverb_set+50 .equ se_jihanki_mvl, 127 diff --git a/sound/songs/se_jite_pyoko.s b/sound/songs/se_jite_pyoko.s index 4d68081acb..36dbcf83bc 100644 --- a/sound/songs/se_jite_pyoko.s +++ b/sound/songs/se_jite_pyoko.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_jite_pyoko_grp, voicegroup_869D0F4 + .equ se_jite_pyoko_grp, voicegroup127 .equ se_jite_pyoko_pri, 4 .equ se_jite_pyoko_rev, reverb_set+50 .equ se_jite_pyoko_mvl, 127 diff --git a/sound/songs/se_jitensya.s b/sound/songs/se_jitensya.s index 3021787bba..da5d370072 100644 --- a/sound/songs/se_jitensya.s +++ b/sound/songs/se_jitensya.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_jitensya_grp, voicegroup_869D6F4 + .equ se_jitensya_grp, voicegroup128 .equ se_jitensya_pri, 4 .equ se_jitensya_rev, reverb_set+50 .equ se_jitensya_mvl, 127 diff --git a/sound/songs/se_jyuni.s b/sound/songs/se_jyuni.s index 1522cbba51..1267e7f350 100644 --- a/sound/songs/se_jyuni.s +++ b/sound/songs/se_jyuni.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_jyuni_grp, voicegroup_869D0F4 + .equ se_jyuni_grp, voicegroup127 .equ se_jyuni_pri, 4 .equ se_jyuni_rev, reverb_set+50 .equ se_jyuni_mvl, 127 diff --git a/sound/songs/se_kaidan.s b/sound/songs/se_kaidan.s index 3ebf3e36ca..3563c40624 100644 --- a/sound/songs/se_kaidan.s +++ b/sound/songs/se_kaidan.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_kaidan_grp, voicegroup_869D0F4 + .equ se_kaidan_grp, voicegroup127 .equ se_kaidan_pri, 5 .equ se_kaidan_rev, reverb_set+50 .equ se_kaidan_mvl, 127 diff --git a/sound/songs/se_kaifuku.s b/sound/songs/se_kaifuku.s index b0ccef99e2..ecaf63c92b 100644 --- a/sound/songs/se_kaifuku.s +++ b/sound/songs/se_kaifuku.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_kaifuku_grp, voicegroup_869D0F4 + .equ se_kaifuku_grp, voicegroup127 .equ se_kaifuku_pri, 5 .equ se_kaifuku_rev, reverb_set+50 .equ se_kaifuku_mvl, 127 diff --git a/sound/songs/se_ki_gasyan.s b/sound/songs/se_ki_gasyan.s index 7bf4ebe162..11bcfbf457 100644 --- a/sound/songs/se_ki_gasyan.s +++ b/sound/songs/se_ki_gasyan.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_ki_gasyan_grp, voicegroup_869D6F4 + .equ se_ki_gasyan_grp, voicegroup128 .equ se_ki_gasyan_pri, 4 .equ se_ki_gasyan_rev, reverb_set+50 .equ se_ki_gasyan_mvl, 127 diff --git a/sound/songs/se_kon.s b/sound/songs/se_kon.s index 8f9542daff..45a59f4d99 100644 --- a/sound/songs/se_kon.s +++ b/sound/songs/se_kon.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_kon_grp, voicegroup_869D6F4 + .equ se_kon_grp, voicegroup128 .equ se_kon_pri, 4 .equ se_kon_rev, reverb_set+50 .equ se_kon_mvl, 127 diff --git a/sound/songs/se_kon2.s b/sound/songs/se_kon2.s index b2a605702a..1275326861 100644 --- a/sound/songs/se_kon2.s +++ b/sound/songs/se_kon2.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_kon2_grp, voicegroup_869D6F4 + .equ se_kon2_grp, voicegroup128 .equ se_kon2_pri, 4 .equ se_kon2_rev, reverb_set+50 .equ se_kon2_mvl, 127 diff --git a/sound/songs/se_kon3.s b/sound/songs/se_kon3.s index ad5381683a..4e5ee26fac 100644 --- a/sound/songs/se_kon3.s +++ b/sound/songs/se_kon3.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_kon3_grp, voicegroup_869D6F4 + .equ se_kon3_grp, voicegroup128 .equ se_kon3_pri, 4 .equ se_kon3_rev, reverb_set+50 .equ se_kon3_mvl, 127 diff --git a/sound/songs/se_kon4.s b/sound/songs/se_kon4.s index 1b29daea0e..4dfe81e343 100644 --- a/sound/songs/se_kon4.s +++ b/sound/songs/se_kon4.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_kon4_grp, voicegroup_869D6F4 + .equ se_kon4_grp, voicegroup128 .equ se_kon4_pri, 4 .equ se_kon4_rev, reverb_set+50 .equ se_kon4_mvl, 127 diff --git a/sound/songs/se_kouka_h.s b/sound/songs/se_kouka_h.s index 5f1e058016..955d3c077b 100644 --- a/sound/songs/se_kouka_h.s +++ b/sound/songs/se_kouka_h.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_kouka_h_grp, voicegroup_869D0F4 + .equ se_kouka_h_grp, voicegroup127 .equ se_kouka_h_pri, 5 .equ se_kouka_h_rev, reverb_set+50 .equ se_kouka_h_mvl, 127 diff --git a/sound/songs/se_kouka_l.s b/sound/songs/se_kouka_l.s index 01a06fe23a..f00241b69a 100644 --- a/sound/songs/se_kouka_l.s +++ b/sound/songs/se_kouka_l.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_kouka_l_grp, voicegroup_869D0F4 + .equ se_kouka_l_grp, voicegroup127 .equ se_kouka_l_pri, 5 .equ se_kouka_l_rev, reverb_set+50 .equ se_kouka_l_mvl, 127 diff --git a/sound/songs/se_kouka_m.s b/sound/songs/se_kouka_m.s index fd5527b17d..b285c15669 100644 --- a/sound/songs/se_kouka_m.s +++ b/sound/songs/se_kouka_m.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_kouka_m_grp, voicegroup_869D0F4 + .equ se_kouka_m_grp, voicegroup127 .equ se_kouka_m_pri, 5 .equ se_kouka_m_rev, reverb_set+50 .equ se_kouka_m_mvl, 127 diff --git a/sound/songs/se_mizu.s b/sound/songs/se_mizu.s index 7986654537..f1c0d5e860 100644 --- a/sound/songs/se_mizu.s +++ b/sound/songs/se_mizu.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_mizu_grp, voicegroup_869D6F4 + .equ se_mizu_grp, voicegroup128 .equ se_mizu_pri, 4 .equ se_mizu_rev, reverb_set+50 .equ se_mizu_mvl, 127 diff --git a/sound/songs/se_moter.s b/sound/songs/se_moter.s index 6409c4f49e..390835125b 100644 --- a/sound/songs/se_moter.s +++ b/sound/songs/se_moter.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_moter_grp, voicegroup_869D6F4 + .equ se_moter_grp, voicegroup128 .equ se_moter_pri, 4 .equ se_moter_rev, reverb_set+50 .equ se_moter_mvl, 127 diff --git a/sound/songs/se_mu_pachi.s b/sound/songs/se_mu_pachi.s index 4cff2ee8b3..dbea6603a8 100644 --- a/sound/songs/se_mu_pachi.s +++ b/sound/songs/se_mu_pachi.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_mu_pachi_grp, voicegroup_869D0F4 + .equ se_mu_pachi_grp, voicegroup127 .equ se_mu_pachi_pri, 4 .equ se_mu_pachi_rev, reverb_set+50 .equ se_mu_pachi_mvl, 127 diff --git a/sound/songs/se_n.s b/sound/songs/se_n.s index bb23a81646..dc1938b057 100644 --- a/sound/songs/se_n.s +++ b/sound/songs/se_n.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_n_grp, voicegroup_869D6F4 + .equ se_n_grp, voicegroup128 .equ se_n_pri, 4 .equ se_n_rev, reverb_set+50 .equ se_n_mvl, 127 diff --git a/sound/songs/se_nageru.s b/sound/songs/se_nageru.s index 5cf8d3897d..379b790bdc 100644 --- a/sound/songs/se_nageru.s +++ b/sound/songs/se_nageru.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_nageru_grp, voicegroup_869D6F4 + .equ se_nageru_grp, voicegroup128 .equ se_nageru_pri, 5 .equ se_nageru_rev, reverb_set+50 .equ se_nageru_mvl, 127 diff --git a/sound/songs/se_naminori.s b/sound/songs/se_naminori.s index fa51103bce..7d3c3a6376 100644 --- a/sound/songs/se_naminori.s +++ b/sound/songs/se_naminori.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_naminori_grp, voicegroup_869D0F4 + .equ se_naminori_grp, voicegroup127 .equ se_naminori_pri, 4 .equ se_naminori_rev, reverb_set+50 .equ se_naminori_mvl, 127 diff --git a/sound/songs/se_nigeru.s b/sound/songs/se_nigeru.s index 2afd4af729..babc7868d2 100644 --- a/sound/songs/se_nigeru.s +++ b/sound/songs/se_nigeru.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_nigeru_grp, voicegroup_869D0F4 + .equ se_nigeru_grp, voicegroup127 .equ se_nigeru_pri, 5 .equ se_nigeru_rev, reverb_set+50 .equ se_nigeru_mvl, 127 diff --git a/sound/songs/se_o.s b/sound/songs/se_o.s index 81407f9e56..a9c294f663 100644 --- a/sound/songs/se_o.s +++ b/sound/songs/se_o.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_o_grp, voicegroup_869D6F4 + .equ se_o_grp, voicegroup128 .equ se_o_pri, 4 .equ se_o_rev, reverb_set+50 .equ se_o_mvl, 127 diff --git a/sound/songs/se_op_basyu.s b/sound/songs/se_op_basyu.s index cd8991f259..70377b9e34 100644 --- a/sound/songs/se_op_basyu.s +++ b/sound/songs/se_op_basyu.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_op_basyu_grp, voicegroup_869D0F4 + .equ se_op_basyu_grp, voicegroup127 .equ se_op_basyu_pri, 5 .equ se_op_basyu_rev, reverb_set+50 .equ se_op_basyu_mvl, 127 diff --git a/sound/songs/se_pc_login.s b/sound/songs/se_pc_login.s index 39699516bd..19efbc0a1b 100644 --- a/sound/songs/se_pc_login.s +++ b/sound/songs/se_pc_login.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_pc_login_grp, voicegroup_869D0F4 + .equ se_pc_login_grp, voicegroup127 .equ se_pc_login_pri, 5 .equ se_pc_login_rev, reverb_set+50 .equ se_pc_login_mvl, 127 diff --git a/sound/songs/se_pc_off.s b/sound/songs/se_pc_off.s index f48d5a71a1..1d372f92f3 100644 --- a/sound/songs/se_pc_off.s +++ b/sound/songs/se_pc_off.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_pc_off_grp, voicegroup_869D0F4 + .equ se_pc_off_grp, voicegroup127 .equ se_pc_off_pri, 5 .equ se_pc_off_rev, reverb_set+50 .equ se_pc_off_mvl, 127 diff --git a/sound/songs/se_pc_on.s b/sound/songs/se_pc_on.s index 57bf86bcbf..d46ced4a6c 100644 --- a/sound/songs/se_pc_on.s +++ b/sound/songs/se_pc_on.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_pc_on_grp, voicegroup_869D0F4 + .equ se_pc_on_grp, voicegroup127 .equ se_pc_on_pri, 5 .equ se_pc_on_rev, reverb_set+50 .equ se_pc_on_mvl, 127 diff --git a/sound/songs/se_pin.s b/sound/songs/se_pin.s index 2cb05015d2..29d87b749d 100644 --- a/sound/songs/se_pin.s +++ b/sound/songs/se_pin.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_pin_grp, voicegroup_869D0F4 + .equ se_pin_grp, voicegroup127 .equ se_pin_pri, 4 .equ se_pin_rev, reverb_set+50 .equ se_pin_mvl, 127 diff --git a/sound/songs/se_pinpon.s b/sound/songs/se_pinpon.s index 312a33be58..55145fe3b5 100644 --- a/sound/songs/se_pinpon.s +++ b/sound/songs/se_pinpon.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_pinpon_grp, voicegroup_869D0F4 + .equ se_pinpon_grp, voicegroup127 .equ se_pinpon_pri, 5 .equ se_pinpon_rev, reverb_set+50 .equ se_pinpon_mvl, 127 diff --git a/sound/songs/se_pn_off.s b/sound/songs/se_pn_off.s index 6c1f24d7e2..b77a55fc7f 100644 --- a/sound/songs/se_pn_off.s +++ b/sound/songs/se_pn_off.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_pn_off_grp, voicegroup_869D0F4 + .equ se_pn_off_grp, voicegroup127 .equ se_pn_off_pri, 5 .equ se_pn_off_rev, reverb_set+50 .equ se_pn_off_mvl, 127 diff --git a/sound/songs/se_pn_on.s b/sound/songs/se_pn_on.s index d2cf38e65b..9c6186399c 100644 --- a/sound/songs/se_pn_on.s +++ b/sound/songs/se_pn_on.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_pn_on_grp, voicegroup_869D0F4 + .equ se_pn_on_grp, voicegroup127 .equ se_pn_on_pri, 5 .equ se_pn_on_rev, reverb_set+50 .equ se_pn_on_mvl, 127 diff --git a/sound/songs/se_poke_dead.s b/sound/songs/se_poke_dead.s index ba9726a589..0d66039a2c 100644 --- a/sound/songs/se_poke_dead.s +++ b/sound/songs/se_poke_dead.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_poke_dead_grp, voicegroup_869D0F4 + .equ se_poke_dead_grp, voicegroup127 .equ se_poke_dead_pri, 5 .equ se_poke_dead_rev, reverb_set+50 .equ se_poke_dead_mvl, 127 diff --git a/sound/songs/se_reapoke.s b/sound/songs/se_reapoke.s index e16092b0bd..11415920b3 100644 --- a/sound/songs/se_reapoke.s +++ b/sound/songs/se_reapoke.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_reapoke_grp, voicegroup_869D6F4 + .equ se_reapoke_grp, voicegroup128 .equ se_reapoke_pri, 5 .equ se_reapoke_rev, reverb_set+50 .equ se_reapoke_mvl, 127 diff --git a/sound/songs/se_regi.s b/sound/songs/se_regi.s index bae79679d7..2bc43c5159 100644 --- a/sound/songs/se_regi.s +++ b/sound/songs/se_regi.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_regi_grp, voicegroup_869D0F4 + .equ se_regi_grp, voicegroup127 .equ se_regi_pri, 5 .equ se_regi_rev, reverb_set+50 .equ se_regi_mvl, 127 diff --git a/sound/songs/se_rg_bag1.s b/sound/songs/se_rg_bag1.s index 60809287fd..d2dd38ed5c 100644 --- a/sound/songs/se_rg_bag1.s +++ b/sound/songs/se_rg_bag1.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_rg_bag1_grp, voicegroup_86A0154 + .equ se_rg_bag1_grp, voicegroup129 .equ se_rg_bag1_pri, 5 .equ se_rg_bag1_rev, reverb_set+50 .equ se_rg_bag1_mvl, 127 diff --git a/sound/songs/se_rg_bag2.s b/sound/songs/se_rg_bag2.s index 737d77046b..7d4f338c55 100644 --- a/sound/songs/se_rg_bag2.s +++ b/sound/songs/se_rg_bag2.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_rg_bag2_grp, voicegroup_86A0154 + .equ se_rg_bag2_grp, voicegroup129 .equ se_rg_bag2_pri, 5 .equ se_rg_bag2_rev, reverb_set+50 .equ se_rg_bag2_mvl, 127 diff --git a/sound/songs/se_rg_card1.s b/sound/songs/se_rg_card1.s index eac93064eb..1f2d72c3e3 100644 --- a/sound/songs/se_rg_card1.s +++ b/sound/songs/se_rg_card1.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_rg_card1_grp, voicegroup_86A0154 + .equ se_rg_card1_grp, voicegroup129 .equ se_rg_card1_pri, 5 .equ se_rg_card1_rev, reverb_set+50 .equ se_rg_card1_mvl, 127 diff --git a/sound/songs/se_rg_card2.s b/sound/songs/se_rg_card2.s index 47420cce45..7f83de0970 100644 --- a/sound/songs/se_rg_card2.s +++ b/sound/songs/se_rg_card2.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_rg_card2_grp, voicegroup_86A0154 + .equ se_rg_card2_grp, voicegroup129 .equ se_rg_card2_pri, 5 .equ se_rg_card2_rev, reverb_set+50 .equ se_rg_card2_mvl, 127 diff --git a/sound/songs/se_rg_card3.s b/sound/songs/se_rg_card3.s index 99d0809df1..e456c6bbe4 100644 --- a/sound/songs/se_rg_card3.s +++ b/sound/songs/se_rg_card3.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_rg_card3_grp, voicegroup_86A0154 + .equ se_rg_card3_grp, voicegroup129 .equ se_rg_card3_pri, 5 .equ se_rg_card3_rev, reverb_set+50 .equ se_rg_card3_mvl, 127 diff --git a/sound/songs/se_rg_deomov.s b/sound/songs/se_rg_deomov.s index 39d5c4b395..7c2e691bf9 100644 --- a/sound/songs/se_rg_deomov.s +++ b/sound/songs/se_rg_deomov.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_rg_deomov_grp, voicegroup_86A0154 + .equ se_rg_deomov_grp, voicegroup129 .equ se_rg_deomov_pri, 5 .equ se_rg_deomov_rev, reverb_set+50 .equ se_rg_deomov_mvl, 127 diff --git a/sound/songs/se_rg_excellent.s b/sound/songs/se_rg_excellent.s index 5f2de68a1c..63c0eae194 100644 --- a/sound/songs/se_rg_excellent.s +++ b/sound/songs/se_rg_excellent.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_rg_excellent_grp, voicegroup_869D6F4 + .equ se_rg_excellent_grp, voicegroup128 .equ se_rg_excellent_pri, 5 .equ se_rg_excellent_rev, reverb_set+50 .equ se_rg_excellent_mvl, 127 diff --git a/sound/songs/se_rg_getting.s b/sound/songs/se_rg_getting.s index a16e8ba642..2c632f399c 100644 --- a/sound/songs/se_rg_getting.s +++ b/sound/songs/se_rg_getting.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_rg_getting_grp, voicegroup_86A0154 + .equ se_rg_getting_grp, voicegroup129 .equ se_rg_getting_pri, 5 .equ se_rg_getting_rev, reverb_set+50 .equ se_rg_getting_mvl, 127 diff --git a/sound/songs/se_rg_help_cl.s b/sound/songs/se_rg_help_cl.s index 5c53bbd60e..8daa70ae9b 100644 --- a/sound/songs/se_rg_help_cl.s +++ b/sound/songs/se_rg_help_cl.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_rg_help_cl_grp, voicegroup_86A0154 + .equ se_rg_help_cl_grp, voicegroup129 .equ se_rg_help_cl_pri, 5 .equ se_rg_help_cl_rev, reverb_set+50 .equ se_rg_help_cl_mvl, 127 diff --git a/sound/songs/se_rg_help_ng.s b/sound/songs/se_rg_help_ng.s index 68d97880d6..f430c245ab 100644 --- a/sound/songs/se_rg_help_ng.s +++ b/sound/songs/se_rg_help_ng.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_rg_help_ng_grp, voicegroup_86A0154 + .equ se_rg_help_ng_grp, voicegroup129 .equ se_rg_help_ng_pri, 5 .equ se_rg_help_ng_rev, reverb_set+50 .equ se_rg_help_ng_mvl, 127 diff --git a/sound/songs/se_rg_help_op.s b/sound/songs/se_rg_help_op.s index d74b24076d..8bffb79385 100644 --- a/sound/songs/se_rg_help_op.s +++ b/sound/songs/se_rg_help_op.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_rg_help_op_grp, voicegroup_86A0154 + .equ se_rg_help_op_grp, voicegroup129 .equ se_rg_help_op_pri, 5 .equ se_rg_help_op_rev, reverb_set+50 .equ se_rg_help_op_mvl, 127 diff --git a/sound/songs/se_rg_kiteki.s b/sound/songs/se_rg_kiteki.s index 88a445a590..248ddc3030 100644 --- a/sound/songs/se_rg_kiteki.s +++ b/sound/songs/se_rg_kiteki.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_rg_kiteki_grp, voicegroup_86A0154 + .equ se_rg_kiteki_grp, voicegroup129 .equ se_rg_kiteki_pri, 5 .equ se_rg_kiteki_rev, reverb_set+50 .equ se_rg_kiteki_mvl, 127 diff --git a/sound/songs/se_rg_nawamiss.s b/sound/songs/se_rg_nawamiss.s index f7b602153a..db24cf5f42 100644 --- a/sound/songs/se_rg_nawamiss.s +++ b/sound/songs/se_rg_nawamiss.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_rg_nawamiss_grp, voicegroup_869D0F4 + .equ se_rg_nawamiss_grp, voicegroup127 .equ se_rg_nawamiss_pri, 5 .equ se_rg_nawamiss_rev, reverb_set+50 .equ se_rg_nawamiss_mvl, 127 diff --git a/sound/songs/se_rg_shop.s b/sound/songs/se_rg_shop.s index 276d8c74c6..d184e1e5d7 100644 --- a/sound/songs/se_rg_shop.s +++ b/sound/songs/se_rg_shop.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_rg_shop_grp, voicegroup_86A0154 + .equ se_rg_shop_grp, voicegroup129 .equ se_rg_shop_pri, 5 .equ se_rg_shop_rev, reverb_set+50 .equ se_rg_shop_mvl, 127 diff --git a/sound/songs/se_rg_w_door.s b/sound/songs/se_rg_w_door.s index 1c7e75219c..9c23490188 100644 --- a/sound/songs/se_rg_w_door.s +++ b/sound/songs/se_rg_w_door.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_rg_w_door_grp, voicegroup_86A0154 + .equ se_rg_w_door_grp, voicegroup129 .equ se_rg_w_door_pri, 5 .equ se_rg_w_door_rev, reverb_set+50 .equ se_rg_w_door_mvl, 127 diff --git a/sound/songs/se_ru_bari.s b/sound/songs/se_ru_bari.s index c773d3a2f0..ffff1b406d 100644 --- a/sound/songs/se_ru_bari.s +++ b/sound/songs/se_ru_bari.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_ru_bari_grp, voicegroup_869D0F4 + .equ se_ru_bari_grp, voicegroup127 .equ se_ru_bari_pri, 4 .equ se_ru_bari_rev, reverb_set+50 .equ se_ru_bari_mvl, 127 diff --git a/sound/songs/se_ru_gashin.s b/sound/songs/se_ru_gashin.s index a8016c9697..1c9158cbd0 100644 --- a/sound/songs/se_ru_gashin.s +++ b/sound/songs/se_ru_gashin.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_ru_gashin_grp, voicegroup_869D6F4 + .equ se_ru_gashin_grp, voicegroup128 .equ se_ru_gashin_pri, 4 .equ se_ru_gashin_rev, reverb_set+50 .equ se_ru_gashin_mvl, 127 diff --git a/sound/songs/se_ru_gasyan.s b/sound/songs/se_ru_gasyan.s index 516ca5e250..8cf3f12eaf 100644 --- a/sound/songs/se_ru_gasyan.s +++ b/sound/songs/se_ru_gasyan.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_ru_gasyan_grp, voicegroup_869D6F4 + .equ se_ru_gasyan_grp, voicegroup128 .equ se_ru_gasyan_pri, 4 .equ se_ru_gasyan_rev, reverb_set+50 .equ se_ru_gasyan_mvl, 127 diff --git a/sound/songs/se_ru_hyuu.s b/sound/songs/se_ru_hyuu.s index 291e6eb571..cf495141c0 100644 --- a/sound/songs/se_ru_hyuu.s +++ b/sound/songs/se_ru_hyuu.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_ru_hyuu_grp, voicegroup_869D6F4 + .equ se_ru_hyuu_grp, voicegroup128 .equ se_ru_hyuu_pri, 4 .equ se_ru_hyuu_rev, reverb_set+50 .equ se_ru_hyuu_mvl, 127 diff --git a/sound/songs/se_save.s b/sound/songs/se_save.s index ba1596224c..eaedd3e7b8 100644 --- a/sound/songs/se_save.s +++ b/sound/songs/se_save.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_save_grp, voicegroup_869D6F4 + .equ se_save_grp, voicegroup128 .equ se_save_pri, 5 .equ se_save_rev, reverb_set+50 .equ se_save_mvl, 127 diff --git a/sound/songs/se_seikai.s b/sound/songs/se_seikai.s index c9012e506a..a3f27b6cd7 100644 --- a/sound/songs/se_seikai.s +++ b/sound/songs/se_seikai.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_seikai_grp, voicegroup_869D0F4 + .equ se_seikai_grp, voicegroup127 .equ se_seikai_pri, 4 .equ se_seikai_rev, reverb_set+50 .equ se_seikai_mvl, 127 diff --git a/sound/songs/se_select.s b/sound/songs/se_select.s index 9d5157aafa..a20e089569 100644 --- a/sound/songs/se_select.s +++ b/sound/songs/se_select.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_select_grp, voicegroup_869D0F4 + .equ se_select_grp, voicegroup127 .equ se_select_pri, 5 .equ se_select_rev, reverb_set+50 .equ se_select_mvl, 127 diff --git a/sound/songs/se_suikomu.s b/sound/songs/se_suikomu.s index f3ebf50588..eff89df3a0 100644 --- a/sound/songs/se_suikomu.s +++ b/sound/songs/se_suikomu.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_suikomu_grp, voicegroup_869D0F4 + .equ se_suikomu_grp, voicegroup127 .equ se_suikomu_pri, 5 .equ se_suikomu_rev, reverb_set+50 .equ se_suikomu_mvl, 127 diff --git a/sound/songs/se_t_ame.s b/sound/songs/se_t_ame.s index 4aa1a26463..78db57968e 100644 --- a/sound/songs/se_t_ame.s +++ b/sound/songs/se_t_ame.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_t_ame_grp, voicegroup_869D6F4 + .equ se_t_ame_grp, voicegroup128 .equ se_t_ame_pri, 2 .equ se_t_ame_rev, reverb_set+50 .equ se_t_ame_mvl, 127 diff --git a/sound/songs/se_t_ame_e.s b/sound/songs/se_t_ame_e.s index eede8d59cc..5558a5118c 100644 --- a/sound/songs/se_t_ame_e.s +++ b/sound/songs/se_t_ame_e.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_t_ame_e_grp, voicegroup_869D6F4 + .equ se_t_ame_e_grp, voicegroup128 .equ se_t_ame_e_pri, 2 .equ se_t_ame_e_rev, reverb_set+50 .equ se_t_ame_e_mvl, 127 diff --git a/sound/songs/se_t_kami.s b/sound/songs/se_t_kami.s index 1258977a3c..6ac8ae06f4 100644 --- a/sound/songs/se_t_kami.s +++ b/sound/songs/se_t_kami.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_t_kami_grp, voicegroup_869D6F4 + .equ se_t_kami_grp, voicegroup128 .equ se_t_kami_pri, 3 .equ se_t_kami_rev, reverb_set+50 .equ se_t_kami_mvl, 127 diff --git a/sound/songs/se_t_kami2.s b/sound/songs/se_t_kami2.s index 5cf58bc22c..1c400fe6a8 100644 --- a/sound/songs/se_t_kami2.s +++ b/sound/songs/se_t_kami2.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_t_kami2_grp, voicegroup_869D6F4 + .equ se_t_kami2_grp, voicegroup128 .equ se_t_kami2_pri, 3 .equ se_t_kami2_rev, reverb_set+50 .equ se_t_kami2_mvl, 127 diff --git a/sound/songs/se_t_koame.s b/sound/songs/se_t_koame.s index 18de2dd470..6a7acdbf56 100644 --- a/sound/songs/se_t_koame.s +++ b/sound/songs/se_t_koame.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_t_koame_grp, voicegroup_869D6F4 + .equ se_t_koame_grp, voicegroup128 .equ se_t_koame_pri, 2 .equ se_t_koame_rev, reverb_set+50 .equ se_t_koame_mvl, 127 diff --git a/sound/songs/se_t_koame_e.s b/sound/songs/se_t_koame_e.s index e66c3566ea..7570d98cd2 100644 --- a/sound/songs/se_t_koame_e.s +++ b/sound/songs/se_t_koame_e.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_t_koame_e_grp, voicegroup_869D6F4 + .equ se_t_koame_e_grp, voicegroup128 .equ se_t_koame_e_pri, 2 .equ se_t_koame_e_rev, reverb_set+50 .equ se_t_koame_e_mvl, 127 diff --git a/sound/songs/se_t_ooame.s b/sound/songs/se_t_ooame.s index e90030e5e4..434f207798 100644 --- a/sound/songs/se_t_ooame.s +++ b/sound/songs/se_t_ooame.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_t_ooame_grp, voicegroup_869D6F4 + .equ se_t_ooame_grp, voicegroup128 .equ se_t_ooame_pri, 2 .equ se_t_ooame_rev, reverb_set+50 .equ se_t_ooame_mvl, 127 diff --git a/sound/songs/se_t_ooame_e.s b/sound/songs/se_t_ooame_e.s index 35d7ceb815..329cd37025 100644 --- a/sound/songs/se_t_ooame_e.s +++ b/sound/songs/se_t_ooame_e.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_t_ooame_e_grp, voicegroup_869D6F4 + .equ se_t_ooame_e_grp, voicegroup128 .equ se_t_ooame_e_pri, 2 .equ se_t_ooame_e_rev, reverb_set+50 .equ se_t_ooame_e_mvl, 127 diff --git a/sound/songs/se_tama.s b/sound/songs/se_tama.s index 2be220c329..25a1aff584 100644 --- a/sound/songs/se_tama.s +++ b/sound/songs/se_tama.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_tama_grp, voicegroup_869D6F4 + .equ se_tama_grp, voicegroup128 .equ se_tama_pri, 5 .equ se_tama_rev, reverb_set+50 .equ se_tama_mvl, 127 diff --git a/sound/songs/se_tamago.s b/sound/songs/se_tamago.s index 106c388520..dfd2a51fb3 100644 --- a/sound/songs/se_tamago.s +++ b/sound/songs/se_tamago.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_tamago_grp, voicegroup_869D6F4 + .equ se_tamago_grp, voicegroup128 .equ se_tamago_pri, 5 .equ se_tamago_rev, reverb_set+50 .equ se_tamago_mvl, 127 diff --git a/sound/songs/se_tamakoro.s b/sound/songs/se_tamakoro.s index e9c4e8fcbf..e71f5964ce 100644 --- a/sound/songs/se_tamakoro.s +++ b/sound/songs/se_tamakoro.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_tamakoro_grp, voicegroup_869D6F4 + .equ se_tamakoro_grp, voicegroup128 .equ se_tamakoro_pri, 2 .equ se_tamakoro_rev, reverb_set+50 .equ se_tamakoro_mvl, 127 diff --git a/sound/songs/se_tamakoro_e.s b/sound/songs/se_tamakoro_e.s index 2a7e29e429..db16f06b57 100644 --- a/sound/songs/se_tamakoro_e.s +++ b/sound/songs/se_tamakoro_e.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_tamakoro_e_grp, voicegroup_869D6F4 + .equ se_tamakoro_e_grp, voicegroup128 .equ se_tamakoro_e_pri, 2 .equ se_tamakoro_e_rev, reverb_set+50 .equ se_tamakoro_e_mvl, 127 diff --git a/sound/songs/se_tb_kara.s b/sound/songs/se_tb_kara.s index 7e2203de0a..2b5772256d 100644 --- a/sound/songs/se_tb_kara.s +++ b/sound/songs/se_tb_kara.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_tb_kara_grp, voicegroup_869D0F4 + .equ se_tb_kara_grp, voicegroup127 .equ se_tb_kara_pri, 5 .equ se_tb_kara_rev, reverb_set+50 .equ se_tb_kara_mvl, 127 diff --git a/sound/songs/se_tb_kon.s b/sound/songs/se_tb_kon.s index 3f3b82a7bf..44ae71f3fb 100644 --- a/sound/songs/se_tb_kon.s +++ b/sound/songs/se_tb_kon.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_tb_kon_grp, voicegroup_869D6F4 + .equ se_tb_kon_grp, voicegroup128 .equ se_tb_kon_pri, 5 .equ se_tb_kon_rev, reverb_set+50 .equ se_tb_kon_mvl, 127 diff --git a/sound/songs/se_tb_start.s b/sound/songs/se_tb_start.s index 809421985d..136cb1a4bf 100644 --- a/sound/songs/se_tb_start.s +++ b/sound/songs/se_tb_start.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_tb_start_grp, voicegroup_869D6F4 + .equ se_tb_start_grp, voicegroup128 .equ se_tb_start_pri, 5 .equ se_tb_start_rev, reverb_set+50 .equ se_tb_start_mvl, 127 diff --git a/sound/songs/se_tk_kasya.s b/sound/songs/se_tk_kasya.s index 77d3e134d0..9bd0c6c4c2 100644 --- a/sound/songs/se_tk_kasya.s +++ b/sound/songs/se_tk_kasya.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_tk_kasya_grp, voicegroup_869D0F4 + .equ se_tk_kasya_grp, voicegroup127 .equ se_tk_kasya_pri, 4 .equ se_tk_kasya_rev, reverb_set+50 .equ se_tk_kasya_mvl, 127 diff --git a/sound/songs/se_tk_warpin.s b/sound/songs/se_tk_warpin.s index 1b768a770d..b40985aa0c 100644 --- a/sound/songs/se_tk_warpin.s +++ b/sound/songs/se_tk_warpin.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_tk_warpin_grp, voicegroup_869D0F4 + .equ se_tk_warpin_grp, voicegroup127 .equ se_tk_warpin_pri, 4 .equ se_tk_warpin_rev, reverb_set+50 .equ se_tk_warpin_mvl, 127 diff --git a/sound/songs/se_tk_warpout.s b/sound/songs/se_tk_warpout.s index 02046a2cf7..0a1a0e96be 100644 --- a/sound/songs/se_tk_warpout.s +++ b/sound/songs/se_tk_warpout.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_tk_warpout_grp, voicegroup_869D0F4 + .equ se_tk_warpout_grp, voicegroup127 .equ se_tk_warpout_pri, 4 .equ se_tk_warpout_rev, reverb_set+50 .equ se_tk_warpout_mvl, 127 diff --git a/sound/songs/se_toreeye.s b/sound/songs/se_toreeye.s index 47d213aec3..685e378780 100644 --- a/sound/songs/se_toreeye.s +++ b/sound/songs/se_toreeye.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_toreeye_grp, voicegroup_86A0154 + .equ se_toreeye_grp, voicegroup129 .equ se_toreeye_pri, 5 .equ se_toreeye_rev, reverb_set+50 .equ se_toreeye_mvl, 127 diff --git a/sound/songs/se_toreoff.s b/sound/songs/se_toreoff.s index 52d7b4d362..d5632eeb76 100644 --- a/sound/songs/se_toreoff.s +++ b/sound/songs/se_toreoff.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_toreoff_grp, voicegroup_86A0154 + .equ se_toreoff_grp, voicegroup129 .equ se_toreoff_pri, 5 .equ se_toreoff_rev, reverb_set+50 .equ se_toreoff_mvl, 127 diff --git a/sound/songs/se_toy_a.s b/sound/songs/se_toy_a.s index 26e49d8ceb..ab772025d4 100644 --- a/sound/songs/se_toy_a.s +++ b/sound/songs/se_toy_a.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_toy_a_grp, voicegroup_869D6F4 + .equ se_toy_a_grp, voicegroup128 .equ se_toy_a_pri, 4 .equ se_toy_a_rev, reverb_set+50 .equ se_toy_a_mvl, 127 diff --git a/sound/songs/se_toy_b.s b/sound/songs/se_toy_b.s index 9524ba1b88..b773808f19 100644 --- a/sound/songs/se_toy_b.s +++ b/sound/songs/se_toy_b.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_toy_b_grp, voicegroup_869D6F4 + .equ se_toy_b_grp, voicegroup128 .equ se_toy_b_pri, 4 .equ se_toy_b_rev, reverb_set+50 .equ se_toy_b_mvl, 127 diff --git a/sound/songs/se_toy_c.s b/sound/songs/se_toy_c.s index 22e9daaeab..43b09ad9b2 100644 --- a/sound/songs/se_toy_c.s +++ b/sound/songs/se_toy_c.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_toy_c_grp, voicegroup_869D6F4 + .equ se_toy_c_grp, voicegroup128 .equ se_toy_c_pri, 4 .equ se_toy_c_rev, reverb_set+50 .equ se_toy_c_mvl, 127 diff --git a/sound/songs/se_toy_c1.s b/sound/songs/se_toy_c1.s index acdbc747a2..9a258f36d5 100644 --- a/sound/songs/se_toy_c1.s +++ b/sound/songs/se_toy_c1.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_toy_c1_grp, voicegroup_869D6F4 + .equ se_toy_c1_grp, voicegroup128 .equ se_toy_c1_pri, 4 .equ se_toy_c1_rev, reverb_set+50 .equ se_toy_c1_mvl, 127 diff --git a/sound/songs/se_toy_d.s b/sound/songs/se_toy_d.s index ed8911c4c1..953fee96d7 100644 --- a/sound/songs/se_toy_d.s +++ b/sound/songs/se_toy_d.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_toy_d_grp, voicegroup_869D6F4 + .equ se_toy_d_grp, voicegroup128 .equ se_toy_d_pri, 4 .equ se_toy_d_rev, reverb_set+50 .equ se_toy_d_mvl, 127 diff --git a/sound/songs/se_toy_dango.s b/sound/songs/se_toy_dango.s index 3dd649c2be..b8469a5a09 100644 --- a/sound/songs/se_toy_dango.s +++ b/sound/songs/se_toy_dango.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_toy_dango_grp, voicegroup_869D6F4 + .equ se_toy_dango_grp, voicegroup128 .equ se_toy_dango_pri, 4 .equ se_toy_dango_rev, reverb_set+50 .equ se_toy_dango_mvl, 127 diff --git a/sound/songs/se_toy_e.s b/sound/songs/se_toy_e.s index 98dd294e07..d57dcf6c11 100644 --- a/sound/songs/se_toy_e.s +++ b/sound/songs/se_toy_e.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_toy_e_grp, voicegroup_869D6F4 + .equ se_toy_e_grp, voicegroup128 .equ se_toy_e_pri, 4 .equ se_toy_e_rev, reverb_set+50 .equ se_toy_e_mvl, 127 diff --git a/sound/songs/se_toy_f.s b/sound/songs/se_toy_f.s index 30875a045d..cde717edec 100644 --- a/sound/songs/se_toy_f.s +++ b/sound/songs/se_toy_f.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_toy_f_grp, voicegroup_869D6F4 + .equ se_toy_f_grp, voicegroup128 .equ se_toy_f_pri, 4 .equ se_toy_f_rev, reverb_set+50 .equ se_toy_f_mvl, 127 diff --git a/sound/songs/se_toy_g.s b/sound/songs/se_toy_g.s index 2bb8365e92..74c9c2ce91 100644 --- a/sound/songs/se_toy_g.s +++ b/sound/songs/se_toy_g.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_toy_g_grp, voicegroup_869D6F4 + .equ se_toy_g_grp, voicegroup128 .equ se_toy_g_pri, 4 .equ se_toy_g_rev, reverb_set+50 .equ se_toy_g_mvl, 127 diff --git a/sound/songs/se_toy_kabe.s b/sound/songs/se_toy_kabe.s index cfea12c639..bb51229d0d 100644 --- a/sound/songs/se_toy_kabe.s +++ b/sound/songs/se_toy_kabe.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_toy_kabe_grp, voicegroup_869D6F4 + .equ se_toy_kabe_grp, voicegroup128 .equ se_toy_kabe_pri, 4 .equ se_toy_kabe_rev, reverb_set+50 .equ se_toy_kabe_mvl, 127 diff --git a/sound/songs/se_track_door.s b/sound/songs/se_track_door.s index 5f194a1062..8805c7b612 100644 --- a/sound/songs/se_track_door.s +++ b/sound/songs/se_track_door.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_track_door_grp, voicegroup_869D6F4 + .equ se_track_door_grp, voicegroup128 .equ se_track_door_pri, 4 .equ se_track_door_rev, reverb_set+50 .equ se_track_door_mvl, 127 diff --git a/sound/songs/se_track_haiki.s b/sound/songs/se_track_haiki.s index 8448148d40..88737eb882 100644 --- a/sound/songs/se_track_haiki.s +++ b/sound/songs/se_track_haiki.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_track_haiki_grp, voicegroup_869D0F4 + .equ se_track_haiki_grp, voicegroup127 .equ se_track_haiki_pri, 4 .equ se_track_haiki_rev, reverb_set+50 .equ se_track_haiki_mvl, 127 diff --git a/sound/songs/se_track_move.s b/sound/songs/se_track_move.s index 0f3b61cfcb..9b33a37805 100644 --- a/sound/songs/se_track_move.s +++ b/sound/songs/se_track_move.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_track_move_grp, voicegroup_869D6F4 + .equ se_track_move_grp, voicegroup128 .equ se_track_move_pri, 4 .equ se_track_move_rev, reverb_set+50 .equ se_track_move_mvl, 127 diff --git a/sound/songs/se_track_stop.s b/sound/songs/se_track_stop.s index 921d180d04..ef0aefc557 100644 --- a/sound/songs/se_track_stop.s +++ b/sound/songs/se_track_stop.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_track_stop_grp, voicegroup_869D6F4 + .equ se_track_stop_grp, voicegroup128 .equ se_track_stop_pri, 4 .equ se_track_stop_rev, reverb_set+50 .equ se_track_stop_mvl, 127 diff --git a/sound/songs/se_tu_saa.s b/sound/songs/se_tu_saa.s index ea08c11b11..c9346509c6 100644 --- a/sound/songs/se_tu_saa.s +++ b/sound/songs/se_tu_saa.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_tu_saa_grp, voicegroup_869D0F4 + .equ se_tu_saa_grp, voicegroup127 .equ se_tu_saa_pri, 4 .equ se_tu_saa_rev, reverb_set+50 .equ se_tu_saa_mvl, 127 diff --git a/sound/songs/se_u.s b/sound/songs/se_u.s index 41730b99dc..e39a7e0e05 100644 --- a/sound/songs/se_u.s +++ b/sound/songs/se_u.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_u_grp, voicegroup_869D6F4 + .equ se_u_grp, voicegroup128 .equ se_u_pri, 4 .equ se_u_rev, reverb_set+50 .equ se_u_mvl, 127 diff --git a/sound/songs/se_ussoki.s b/sound/songs/se_ussoki.s index 811f5845fa..b04f6708f2 100644 --- a/sound/songs/se_ussoki.s +++ b/sound/songs/se_ussoki.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_ussoki_grp, voicegroup_86A0154 + .equ se_ussoki_grp, voicegroup129 .equ se_ussoki_pri, 5 .equ se_ussoki_rev, reverb_set+50 .equ se_ussoki_mvl, 127 diff --git a/sound/songs/se_w003.s b/sound/songs/se_w003.s index afe6bde554..736ab98026 100644 --- a/sound/songs/se_w003.s +++ b/sound/songs/se_w003.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w003_grp, voicegroup_869D6F4 + .equ se_w003_grp, voicegroup128 .equ se_w003_pri, 4 .equ se_w003_rev, reverb_set+50 .equ se_w003_mvl, 127 diff --git a/sound/songs/se_w004.s b/sound/songs/se_w004.s index 197955051a..c78a30d121 100644 --- a/sound/songs/se_w004.s +++ b/sound/songs/se_w004.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w004_grp, voicegroup_869D6F4 + .equ se_w004_grp, voicegroup128 .equ se_w004_pri, 4 .equ se_w004_rev, reverb_set+50 .equ se_w004_mvl, 127 diff --git a/sound/songs/se_w006.s b/sound/songs/se_w006.s index 85f38d4ad7..e946f44d9a 100644 --- a/sound/songs/se_w006.s +++ b/sound/songs/se_w006.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w006_grp, voicegroup_869D6F4 + .equ se_w006_grp, voicegroup128 .equ se_w006_pri, 4 .equ se_w006_rev, reverb_set+50 .equ se_w006_mvl, 127 diff --git a/sound/songs/se_w007.s b/sound/songs/se_w007.s index dceaf1b583..5a39163616 100644 --- a/sound/songs/se_w007.s +++ b/sound/songs/se_w007.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w007_grp, voicegroup_869D6F4 + .equ se_w007_grp, voicegroup128 .equ se_w007_pri, 4 .equ se_w007_rev, reverb_set+50 .equ se_w007_mvl, 127 diff --git a/sound/songs/se_w010.s b/sound/songs/se_w010.s index 481087bac9..7df3dbd3f5 100644 --- a/sound/songs/se_w010.s +++ b/sound/songs/se_w010.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w010_grp, voicegroup_869D6F4 + .equ se_w010_grp, voicegroup128 .equ se_w010_pri, 4 .equ se_w010_rev, reverb_set+50 .equ se_w010_mvl, 127 diff --git a/sound/songs/se_w011.s b/sound/songs/se_w011.s index 845e328986..05e6c04dd9 100644 --- a/sound/songs/se_w011.s +++ b/sound/songs/se_w011.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w011_grp, voicegroup_869D6F4 + .equ se_w011_grp, voicegroup128 .equ se_w011_pri, 4 .equ se_w011_rev, reverb_set+50 .equ se_w011_mvl, 127 diff --git a/sound/songs/se_w013.s b/sound/songs/se_w013.s index 78221ab6b0..af387436c8 100644 --- a/sound/songs/se_w013.s +++ b/sound/songs/se_w013.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w013_grp, voicegroup_869D6F4 + .equ se_w013_grp, voicegroup128 .equ se_w013_pri, 4 .equ se_w013_rev, reverb_set+50 .equ se_w013_mvl, 127 diff --git a/sound/songs/se_w013b.s b/sound/songs/se_w013b.s index bbbea17041..e78c3057b2 100644 --- a/sound/songs/se_w013b.s +++ b/sound/songs/se_w013b.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w013b_grp, voicegroup_869D6F4 + .equ se_w013b_grp, voicegroup128 .equ se_w013b_pri, 4 .equ se_w013b_rev, reverb_set+50 .equ se_w013b_mvl, 127 diff --git a/sound/songs/se_w014.s b/sound/songs/se_w014.s index 533107146a..4d712bd003 100644 --- a/sound/songs/se_w014.s +++ b/sound/songs/se_w014.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w014_grp, voicegroup_869D6F4 + .equ se_w014_grp, voicegroup128 .equ se_w014_pri, 4 .equ se_w014_rev, reverb_set+50 .equ se_w014_mvl, 127 diff --git a/sound/songs/se_w015.s b/sound/songs/se_w015.s index 5bee47967d..65397786ad 100644 --- a/sound/songs/se_w015.s +++ b/sound/songs/se_w015.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w015_grp, voicegroup_869D6F4 + .equ se_w015_grp, voicegroup128 .equ se_w015_pri, 4 .equ se_w015_rev, reverb_set+50 .equ se_w015_mvl, 127 diff --git a/sound/songs/se_w016.s b/sound/songs/se_w016.s index d7e9ac8a3b..a34957c889 100644 --- a/sound/songs/se_w016.s +++ b/sound/songs/se_w016.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w016_grp, voicegroup_869D6F4 + .equ se_w016_grp, voicegroup128 .equ se_w016_pri, 4 .equ se_w016_rev, reverb_set+50 .equ se_w016_mvl, 127 diff --git a/sound/songs/se_w016b.s b/sound/songs/se_w016b.s index 5fac149e02..78f01bbde3 100644 --- a/sound/songs/se_w016b.s +++ b/sound/songs/se_w016b.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w016b_grp, voicegroup_869D6F4 + .equ se_w016b_grp, voicegroup128 .equ se_w016b_pri, 4 .equ se_w016b_rev, reverb_set+50 .equ se_w016b_mvl, 127 diff --git a/sound/songs/se_w017.s b/sound/songs/se_w017.s index c619f151e2..ad992a1c09 100644 --- a/sound/songs/se_w017.s +++ b/sound/songs/se_w017.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w017_grp, voicegroup_869D6F4 + .equ se_w017_grp, voicegroup128 .equ se_w017_pri, 4 .equ se_w017_rev, reverb_set+50 .equ se_w017_mvl, 127 diff --git a/sound/songs/se_w019.s b/sound/songs/se_w019.s index 69a48893d3..2e02a92e6c 100644 --- a/sound/songs/se_w019.s +++ b/sound/songs/se_w019.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w019_grp, voicegroup_869D6F4 + .equ se_w019_grp, voicegroup128 .equ se_w019_pri, 4 .equ se_w019_rev, reverb_set+50 .equ se_w019_mvl, 127 diff --git a/sound/songs/se_w020.s b/sound/songs/se_w020.s index 78777f914c..6f4e90c64b 100644 --- a/sound/songs/se_w020.s +++ b/sound/songs/se_w020.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w020_grp, voicegroup_869D6F4 + .equ se_w020_grp, voicegroup128 .equ se_w020_pri, 4 .equ se_w020_rev, reverb_set+50 .equ se_w020_mvl, 127 diff --git a/sound/songs/se_w025.s b/sound/songs/se_w025.s index 2130413f3f..c64f212728 100644 --- a/sound/songs/se_w025.s +++ b/sound/songs/se_w025.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w025_grp, voicegroup_869D6F4 + .equ se_w025_grp, voicegroup128 .equ se_w025_pri, 4 .equ se_w025_rev, reverb_set+50 .equ se_w025_mvl, 127 diff --git a/sound/songs/se_w025b.s b/sound/songs/se_w025b.s index 00e02113ef..03b095e6c1 100644 --- a/sound/songs/se_w025b.s +++ b/sound/songs/se_w025b.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w025b_grp, voicegroup_869D6F4 + .equ se_w025b_grp, voicegroup128 .equ se_w025b_pri, 4 .equ se_w025b_rev, reverb_set+50 .equ se_w025b_mvl, 127 diff --git a/sound/songs/se_w026.s b/sound/songs/se_w026.s index 68b8cf7aab..d7e9f84250 100644 --- a/sound/songs/se_w026.s +++ b/sound/songs/se_w026.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w026_grp, voicegroup_869D6F4 + .equ se_w026_grp, voicegroup128 .equ se_w026_pri, 4 .equ se_w026_rev, reverb_set+50 .equ se_w026_mvl, 127 diff --git a/sound/songs/se_w028.s b/sound/songs/se_w028.s index be57c788e2..716ff7cd8c 100644 --- a/sound/songs/se_w028.s +++ b/sound/songs/se_w028.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w028_grp, voicegroup_869D6F4 + .equ se_w028_grp, voicegroup128 .equ se_w028_pri, 4 .equ se_w028_rev, reverb_set+50 .equ se_w028_mvl, 127 diff --git a/sound/songs/se_w029.s b/sound/songs/se_w029.s index d76d2dffe2..1f85e94495 100644 --- a/sound/songs/se_w029.s +++ b/sound/songs/se_w029.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w029_grp, voicegroup_869D6F4 + .equ se_w029_grp, voicegroup128 .equ se_w029_pri, 4 .equ se_w029_rev, reverb_set+50 .equ se_w029_mvl, 127 diff --git a/sound/songs/se_w030.s b/sound/songs/se_w030.s index 82595d2341..35097ca846 100644 --- a/sound/songs/se_w030.s +++ b/sound/songs/se_w030.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w030_grp, voicegroup_869D6F4 + .equ se_w030_grp, voicegroup128 .equ se_w030_pri, 4 .equ se_w030_rev, reverb_set+50 .equ se_w030_mvl, 127 diff --git a/sound/songs/se_w036.s b/sound/songs/se_w036.s index 4f5f19264f..eb32e1489a 100644 --- a/sound/songs/se_w036.s +++ b/sound/songs/se_w036.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w036_grp, voicegroup_869D6F4 + .equ se_w036_grp, voicegroup128 .equ se_w036_pri, 4 .equ se_w036_rev, reverb_set+50 .equ se_w036_mvl, 127 diff --git a/sound/songs/se_w039.s b/sound/songs/se_w039.s index 292a4b472f..bcd35e7243 100644 --- a/sound/songs/se_w039.s +++ b/sound/songs/se_w039.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w039_grp, voicegroup_869D6F4 + .equ se_w039_grp, voicegroup128 .equ se_w039_pri, 4 .equ se_w039_rev, reverb_set+50 .equ se_w039_mvl, 127 diff --git a/sound/songs/se_w043.s b/sound/songs/se_w043.s index a30cc67278..85abb295e0 100644 --- a/sound/songs/se_w043.s +++ b/sound/songs/se_w043.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w043_grp, voicegroup_869D6F4 + .equ se_w043_grp, voicegroup128 .equ se_w043_pri, 4 .equ se_w043_rev, reverb_set+50 .equ se_w043_mvl, 127 diff --git a/sound/songs/se_w044.s b/sound/songs/se_w044.s index 93205ed91f..ad706d93f1 100644 --- a/sound/songs/se_w044.s +++ b/sound/songs/se_w044.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w044_grp, voicegroup_869D6F4 + .equ se_w044_grp, voicegroup128 .equ se_w044_pri, 4 .equ se_w044_rev, reverb_set+50 .equ se_w044_mvl, 127 diff --git a/sound/songs/se_w047.s b/sound/songs/se_w047.s index 2ad3346aa5..688b782ed4 100644 --- a/sound/songs/se_w047.s +++ b/sound/songs/se_w047.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w047_grp, voicegroup_869D6F4 + .equ se_w047_grp, voicegroup128 .equ se_w047_pri, 4 .equ se_w047_rev, reverb_set+50 .equ se_w047_mvl, 127 diff --git a/sound/songs/se_w048.s b/sound/songs/se_w048.s index 385eb5ba59..8046eae58e 100644 --- a/sound/songs/se_w048.s +++ b/sound/songs/se_w048.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w048_grp, voicegroup_869D6F4 + .equ se_w048_grp, voicegroup128 .equ se_w048_pri, 4 .equ se_w048_rev, reverb_set+50 .equ se_w048_mvl, 127 diff --git a/sound/songs/se_w052.s b/sound/songs/se_w052.s index e7a6de8d92..50529af917 100644 --- a/sound/songs/se_w052.s +++ b/sound/songs/se_w052.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w052_grp, voicegroup_869D6F4 + .equ se_w052_grp, voicegroup128 .equ se_w052_pri, 4 .equ se_w052_rev, reverb_set+50 .equ se_w052_mvl, 127 diff --git a/sound/songs/se_w053.s b/sound/songs/se_w053.s index 97e92a7226..7c414896a4 100644 --- a/sound/songs/se_w053.s +++ b/sound/songs/se_w053.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w053_grp, voicegroup_869D6F4 + .equ se_w053_grp, voicegroup128 .equ se_w053_pri, 4 .equ se_w053_rev, reverb_set+50 .equ se_w053_mvl, 127 diff --git a/sound/songs/se_w054.s b/sound/songs/se_w054.s index f6a25e9480..712dc33386 100644 --- a/sound/songs/se_w054.s +++ b/sound/songs/se_w054.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w054_grp, voicegroup_869D6F4 + .equ se_w054_grp, voicegroup128 .equ se_w054_pri, 4 .equ se_w054_rev, reverb_set+50 .equ se_w054_mvl, 127 diff --git a/sound/songs/se_w056.s b/sound/songs/se_w056.s index 0fc470c5dd..d553f418f9 100644 --- a/sound/songs/se_w056.s +++ b/sound/songs/se_w056.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w056_grp, voicegroup_869D6F4 + .equ se_w056_grp, voicegroup128 .equ se_w056_pri, 4 .equ se_w056_rev, reverb_set+50 .equ se_w056_mvl, 127 diff --git a/sound/songs/se_w057.s b/sound/songs/se_w057.s index a923e580b4..6d74168cef 100644 --- a/sound/songs/se_w057.s +++ b/sound/songs/se_w057.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w057_grp, voicegroup_869D6F4 + .equ se_w057_grp, voicegroup128 .equ se_w057_pri, 4 .equ se_w057_rev, reverb_set+50 .equ se_w057_mvl, 127 diff --git a/sound/songs/se_w059.s b/sound/songs/se_w059.s index e4108ecde4..6b163ef7eb 100644 --- a/sound/songs/se_w059.s +++ b/sound/songs/se_w059.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w059_grp, voicegroup_869D6F4 + .equ se_w059_grp, voicegroup128 .equ se_w059_pri, 4 .equ se_w059_rev, reverb_set+50 .equ se_w059_mvl, 127 diff --git a/sound/songs/se_w059b.s b/sound/songs/se_w059b.s index 597c5817e0..f127629573 100644 --- a/sound/songs/se_w059b.s +++ b/sound/songs/se_w059b.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w059b_grp, voicegroup_869D6F4 + .equ se_w059b_grp, voicegroup128 .equ se_w059b_pri, 4 .equ se_w059b_rev, reverb_set+50 .equ se_w059b_mvl, 127 diff --git a/sound/songs/se_w060.s b/sound/songs/se_w060.s index 590fe4d7ff..5207204297 100644 --- a/sound/songs/se_w060.s +++ b/sound/songs/se_w060.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w060_grp, voicegroup_869D6F4 + .equ se_w060_grp, voicegroup128 .equ se_w060_pri, 4 .equ se_w060_rev, reverb_set+50 .equ se_w060_mvl, 127 diff --git a/sound/songs/se_w060b.s b/sound/songs/se_w060b.s index cfe9f5d48b..45dc696342 100644 --- a/sound/songs/se_w060b.s +++ b/sound/songs/se_w060b.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w060b_grp, voicegroup_869D6F4 + .equ se_w060b_grp, voicegroup128 .equ se_w060b_pri, 4 .equ se_w060b_rev, reverb_set+50 .equ se_w060b_mvl, 127 diff --git a/sound/songs/se_w062.s b/sound/songs/se_w062.s index 41d76328a1..58de81e574 100644 --- a/sound/songs/se_w062.s +++ b/sound/songs/se_w062.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w062_grp, voicegroup_869D6F4 + .equ se_w062_grp, voicegroup128 .equ se_w062_pri, 4 .equ se_w062_rev, reverb_set+50 .equ se_w062_mvl, 127 diff --git a/sound/songs/se_w062b.s b/sound/songs/se_w062b.s index 1b7d0cb19b..75a04e448a 100644 --- a/sound/songs/se_w062b.s +++ b/sound/songs/se_w062b.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w062b_grp, voicegroup_869D6F4 + .equ se_w062b_grp, voicegroup128 .equ se_w062b_pri, 4 .equ se_w062b_rev, reverb_set+50 .equ se_w062b_mvl, 127 diff --git a/sound/songs/se_w063.s b/sound/songs/se_w063.s index e38b6166a9..e2db381bd5 100644 --- a/sound/songs/se_w063.s +++ b/sound/songs/se_w063.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w063_grp, voicegroup_869D6F4 + .equ se_w063_grp, voicegroup128 .equ se_w063_pri, 4 .equ se_w063_rev, reverb_set+50 .equ se_w063_mvl, 127 diff --git a/sound/songs/se_w063b.s b/sound/songs/se_w063b.s index e7502afa65..eef2578492 100644 --- a/sound/songs/se_w063b.s +++ b/sound/songs/se_w063b.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w063b_grp, voicegroup_869D6F4 + .equ se_w063b_grp, voicegroup128 .equ se_w063b_pri, 4 .equ se_w063b_rev, reverb_set+50 .equ se_w063b_mvl, 127 diff --git a/sound/songs/se_w070.s b/sound/songs/se_w070.s index 8b6965fc43..876bad52b5 100644 --- a/sound/songs/se_w070.s +++ b/sound/songs/se_w070.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w070_grp, voicegroup_869D6F4 + .equ se_w070_grp, voicegroup128 .equ se_w070_pri, 4 .equ se_w070_rev, reverb_set+50 .equ se_w070_mvl, 127 diff --git a/sound/songs/se_w071.s b/sound/songs/se_w071.s index a00177607c..3f1e008b96 100644 --- a/sound/songs/se_w071.s +++ b/sound/songs/se_w071.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w071_grp, voicegroup_869D6F4 + .equ se_w071_grp, voicegroup128 .equ se_w071_pri, 4 .equ se_w071_rev, reverb_set+50 .equ se_w071_mvl, 127 diff --git a/sound/songs/se_w071b.s b/sound/songs/se_w071b.s index d52fbad2a7..81d8fe8c7e 100644 --- a/sound/songs/se_w071b.s +++ b/sound/songs/se_w071b.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w071b_grp, voicegroup_869D6F4 + .equ se_w071b_grp, voicegroup128 .equ se_w071b_pri, 4 .equ se_w071b_rev, reverb_set+50 .equ se_w071b_mvl, 127 diff --git a/sound/songs/se_w076.s b/sound/songs/se_w076.s index 8ba5148793..82508b7749 100644 --- a/sound/songs/se_w076.s +++ b/sound/songs/se_w076.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w076_grp, voicegroup_869D6F4 + .equ se_w076_grp, voicegroup128 .equ se_w076_pri, 4 .equ se_w076_rev, reverb_set+50 .equ se_w076_mvl, 127 diff --git a/sound/songs/se_w077.s b/sound/songs/se_w077.s index 15c871f9d6..8dd93481a3 100644 --- a/sound/songs/se_w077.s +++ b/sound/songs/se_w077.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w077_grp, voicegroup_869D6F4 + .equ se_w077_grp, voicegroup128 .equ se_w077_pri, 4 .equ se_w077_rev, reverb_set+50 .equ se_w077_mvl, 127 diff --git a/sound/songs/se_w080.s b/sound/songs/se_w080.s index f05e744636..0027a0d650 100644 --- a/sound/songs/se_w080.s +++ b/sound/songs/se_w080.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w080_grp, voicegroup_869D6F4 + .equ se_w080_grp, voicegroup128 .equ se_w080_pri, 4 .equ se_w080_rev, reverb_set+50 .equ se_w080_mvl, 127 diff --git a/sound/songs/se_w081.s b/sound/songs/se_w081.s index 1c185dc914..248f44c6f4 100644 --- a/sound/songs/se_w081.s +++ b/sound/songs/se_w081.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w081_grp, voicegroup_869D6F4 + .equ se_w081_grp, voicegroup128 .equ se_w081_pri, 4 .equ se_w081_rev, reverb_set+50 .equ se_w081_mvl, 127 diff --git a/sound/songs/se_w081b.s b/sound/songs/se_w081b.s index d817690e93..d20162cd39 100644 --- a/sound/songs/se_w081b.s +++ b/sound/songs/se_w081b.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w081b_grp, voicegroup_869D6F4 + .equ se_w081b_grp, voicegroup128 .equ se_w081b_pri, 4 .equ se_w081b_rev, reverb_set+50 .equ se_w081b_mvl, 127 diff --git a/sound/songs/se_w082.s b/sound/songs/se_w082.s index 03c2e7162e..460cdd977e 100644 --- a/sound/songs/se_w082.s +++ b/sound/songs/se_w082.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w082_grp, voicegroup_869D6F4 + .equ se_w082_grp, voicegroup128 .equ se_w082_pri, 4 .equ se_w082_rev, reverb_set+50 .equ se_w082_mvl, 127 diff --git a/sound/songs/se_w085.s b/sound/songs/se_w085.s index 77b21eaa45..21e8fc6df3 100644 --- a/sound/songs/se_w085.s +++ b/sound/songs/se_w085.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w085_grp, voicegroup_869D6F4 + .equ se_w085_grp, voicegroup128 .equ se_w085_pri, 4 .equ se_w085_rev, reverb_set+50 .equ se_w085_mvl, 127 diff --git a/sound/songs/se_w085b.s b/sound/songs/se_w085b.s index e48058f000..b42007094e 100644 --- a/sound/songs/se_w085b.s +++ b/sound/songs/se_w085b.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w085b_grp, voicegroup_869D6F4 + .equ se_w085b_grp, voicegroup128 .equ se_w085b_pri, 4 .equ se_w085b_rev, reverb_set+50 .equ se_w085b_mvl, 127 diff --git a/sound/songs/se_w086.s b/sound/songs/se_w086.s index def12458b6..37bf21db0e 100644 --- a/sound/songs/se_w086.s +++ b/sound/songs/se_w086.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w086_grp, voicegroup_869D6F4 + .equ se_w086_grp, voicegroup128 .equ se_w086_pri, 4 .equ se_w086_rev, reverb_set+50 .equ se_w086_mvl, 127 diff --git a/sound/songs/se_w088.s b/sound/songs/se_w088.s index fee82242a6..9eceb812df 100644 --- a/sound/songs/se_w088.s +++ b/sound/songs/se_w088.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w088_grp, voicegroup_869D6F4 + .equ se_w088_grp, voicegroup128 .equ se_w088_pri, 4 .equ se_w088_rev, reverb_set+50 .equ se_w088_mvl, 127 diff --git a/sound/songs/se_w089.s b/sound/songs/se_w089.s index edbc5dac80..081988ee99 100644 --- a/sound/songs/se_w089.s +++ b/sound/songs/se_w089.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w089_grp, voicegroup_869D6F4 + .equ se_w089_grp, voicegroup128 .equ se_w089_pri, 4 .equ se_w089_rev, reverb_set+50 .equ se_w089_mvl, 127 diff --git a/sound/songs/se_w091.s b/sound/songs/se_w091.s index 0087a4cebe..953edf4299 100644 --- a/sound/songs/se_w091.s +++ b/sound/songs/se_w091.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w091_grp, voicegroup_869D6F4 + .equ se_w091_grp, voicegroup128 .equ se_w091_pri, 4 .equ se_w091_rev, reverb_set+50 .equ se_w091_mvl, 127 diff --git a/sound/songs/se_w092.s b/sound/songs/se_w092.s index 4f42d38fb6..b82665340f 100644 --- a/sound/songs/se_w092.s +++ b/sound/songs/se_w092.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w092_grp, voicegroup_869D6F4 + .equ se_w092_grp, voicegroup128 .equ se_w092_pri, 4 .equ se_w092_rev, reverb_set+50 .equ se_w092_mvl, 127 diff --git a/sound/songs/se_w100.s b/sound/songs/se_w100.s index cd6170c976..e2a43dbcc8 100644 --- a/sound/songs/se_w100.s +++ b/sound/songs/se_w100.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w100_grp, voicegroup_869D6F4 + .equ se_w100_grp, voicegroup128 .equ se_w100_pri, 4 .equ se_w100_rev, reverb_set+50 .equ se_w100_mvl, 127 diff --git a/sound/songs/se_w103.s b/sound/songs/se_w103.s index cc4e81cff1..d35ec99ad5 100644 --- a/sound/songs/se_w103.s +++ b/sound/songs/se_w103.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w103_grp, voicegroup_869D6F4 + .equ se_w103_grp, voicegroup128 .equ se_w103_pri, 4 .equ se_w103_rev, reverb_set+50 .equ se_w103_mvl, 127 diff --git a/sound/songs/se_w104.s b/sound/songs/se_w104.s index e5c6ca0c08..a93b52abe2 100644 --- a/sound/songs/se_w104.s +++ b/sound/songs/se_w104.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w104_grp, voicegroup_869D6F4 + .equ se_w104_grp, voicegroup128 .equ se_w104_pri, 4 .equ se_w104_rev, reverb_set+50 .equ se_w104_mvl, 127 diff --git a/sound/songs/se_w107.s b/sound/songs/se_w107.s index a6b5be9180..da7bc3d392 100644 --- a/sound/songs/se_w107.s +++ b/sound/songs/se_w107.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w107_grp, voicegroup_869D6F4 + .equ se_w107_grp, voicegroup128 .equ se_w107_pri, 4 .equ se_w107_rev, reverb_set+50 .equ se_w107_mvl, 127 diff --git a/sound/songs/se_w109.s b/sound/songs/se_w109.s index 70a23ca94d..1f43988eb9 100644 --- a/sound/songs/se_w109.s +++ b/sound/songs/se_w109.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w109_grp, voicegroup_869D6F4 + .equ se_w109_grp, voicegroup128 .equ se_w109_pri, 4 .equ se_w109_rev, reverb_set+50 .equ se_w109_mvl, 127 diff --git a/sound/songs/se_w112.s b/sound/songs/se_w112.s index 0720b35491..3b741aa414 100644 --- a/sound/songs/se_w112.s +++ b/sound/songs/se_w112.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w112_grp, voicegroup_869D6F4 + .equ se_w112_grp, voicegroup128 .equ se_w112_pri, 4 .equ se_w112_rev, reverb_set+50 .equ se_w112_mvl, 127 diff --git a/sound/songs/se_w114.s b/sound/songs/se_w114.s index 825a68a659..4de8c4ed85 100644 --- a/sound/songs/se_w114.s +++ b/sound/songs/se_w114.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w114_grp, voicegroup_869D6F4 + .equ se_w114_grp, voicegroup128 .equ se_w114_pri, 4 .equ se_w114_rev, reverb_set+50 .equ se_w114_mvl, 127 diff --git a/sound/songs/se_w115.s b/sound/songs/se_w115.s index 6641f3a675..4f9bfb71a7 100644 --- a/sound/songs/se_w115.s +++ b/sound/songs/se_w115.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w115_grp, voicegroup_869D6F4 + .equ se_w115_grp, voicegroup128 .equ se_w115_pri, 4 .equ se_w115_rev, reverb_set+50 .equ se_w115_mvl, 127 diff --git a/sound/songs/se_w118.s b/sound/songs/se_w118.s index c4c27a65ea..3c4d1404c8 100644 --- a/sound/songs/se_w118.s +++ b/sound/songs/se_w118.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w118_grp, voicegroup_869D6F4 + .equ se_w118_grp, voicegroup128 .equ se_w118_pri, 4 .equ se_w118_rev, reverb_set+50 .equ se_w118_mvl, 127 diff --git a/sound/songs/se_w120.s b/sound/songs/se_w120.s index 9d5f2278e3..e86fac9911 100644 --- a/sound/songs/se_w120.s +++ b/sound/songs/se_w120.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w120_grp, voicegroup_869D6F4 + .equ se_w120_grp, voicegroup128 .equ se_w120_pri, 4 .equ se_w120_rev, reverb_set+50 .equ se_w120_mvl, 127 diff --git a/sound/songs/se_w122.s b/sound/songs/se_w122.s index 1a5b7cc3f5..95eb26ead4 100644 --- a/sound/songs/se_w122.s +++ b/sound/songs/se_w122.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w122_grp, voicegroup_869D6F4 + .equ se_w122_grp, voicegroup128 .equ se_w122_pri, 4 .equ se_w122_rev, reverb_set+50 .equ se_w122_mvl, 127 diff --git a/sound/songs/se_w127.s b/sound/songs/se_w127.s index bb1ef4bf66..695697698f 100644 --- a/sound/songs/se_w127.s +++ b/sound/songs/se_w127.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w127_grp, voicegroup_869D6F4 + .equ se_w127_grp, voicegroup128 .equ se_w127_pri, 4 .equ se_w127_rev, reverb_set+50 .equ se_w127_mvl, 127 diff --git a/sound/songs/se_w129.s b/sound/songs/se_w129.s index acd83d0f2f..61b1014626 100644 --- a/sound/songs/se_w129.s +++ b/sound/songs/se_w129.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w129_grp, voicegroup_869D6F4 + .equ se_w129_grp, voicegroup128 .equ se_w129_pri, 4 .equ se_w129_rev, reverb_set+50 .equ se_w129_mvl, 127 diff --git a/sound/songs/se_w145.s b/sound/songs/se_w145.s index adb6509e48..bb7d87a2d5 100644 --- a/sound/songs/se_w145.s +++ b/sound/songs/se_w145.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w145_grp, voicegroup_869D6F4 + .equ se_w145_grp, voicegroup128 .equ se_w145_pri, 4 .equ se_w145_rev, reverb_set+50 .equ se_w145_mvl, 127 diff --git a/sound/songs/se_w145b.s b/sound/songs/se_w145b.s index ed7e48c0ca..d076bd3314 100644 --- a/sound/songs/se_w145b.s +++ b/sound/songs/se_w145b.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w145b_grp, voicegroup_869D6F4 + .equ se_w145b_grp, voicegroup128 .equ se_w145b_pri, 4 .equ se_w145b_rev, reverb_set+50 .equ se_w145b_mvl, 127 diff --git a/sound/songs/se_w145c.s b/sound/songs/se_w145c.s index c1e108a992..61bf7fa0d7 100644 --- a/sound/songs/se_w145c.s +++ b/sound/songs/se_w145c.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w145c_grp, voicegroup_869D6F4 + .equ se_w145c_grp, voicegroup128 .equ se_w145c_pri, 4 .equ se_w145c_rev, reverb_set+50 .equ se_w145c_mvl, 127 diff --git a/sound/songs/se_w146.s b/sound/songs/se_w146.s index e2dafa3e55..824c66ac3d 100644 --- a/sound/songs/se_w146.s +++ b/sound/songs/se_w146.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w146_grp, voicegroup_869D6F4 + .equ se_w146_grp, voicegroup128 .equ se_w146_pri, 4 .equ se_w146_rev, reverb_set+50 .equ se_w146_mvl, 127 diff --git a/sound/songs/se_w151.s b/sound/songs/se_w151.s index 7dbc969633..c012b2d5f5 100644 --- a/sound/songs/se_w151.s +++ b/sound/songs/se_w151.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w151_grp, voicegroup_869D6F4 + .equ se_w151_grp, voicegroup128 .equ se_w151_pri, 4 .equ se_w151_rev, reverb_set+50 .equ se_w151_mvl, 127 diff --git a/sound/songs/se_w152.s b/sound/songs/se_w152.s index 8197a9424c..dc03fe76c7 100644 --- a/sound/songs/se_w152.s +++ b/sound/songs/se_w152.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w152_grp, voicegroup_869D6F4 + .equ se_w152_grp, voicegroup128 .equ se_w152_pri, 4 .equ se_w152_rev, reverb_set+50 .equ se_w152_mvl, 127 diff --git a/sound/songs/se_w153.s b/sound/songs/se_w153.s index 1dd05a3dfb..fe4e25a9e3 100644 --- a/sound/songs/se_w153.s +++ b/sound/songs/se_w153.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w153_grp, voicegroup_869D6F4 + .equ se_w153_grp, voicegroup128 .equ se_w153_pri, 4 .equ se_w153_rev, reverb_set+50 .equ se_w153_mvl, 127 diff --git a/sound/songs/se_w155.s b/sound/songs/se_w155.s index 6f9fdca4c3..29508b6081 100644 --- a/sound/songs/se_w155.s +++ b/sound/songs/se_w155.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w155_grp, voicegroup_869D6F4 + .equ se_w155_grp, voicegroup128 .equ se_w155_pri, 4 .equ se_w155_rev, reverb_set+50 .equ se_w155_mvl, 127 diff --git a/sound/songs/se_w161.s b/sound/songs/se_w161.s index cd4d002ea0..8b378b1218 100644 --- a/sound/songs/se_w161.s +++ b/sound/songs/se_w161.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w161_grp, voicegroup_869D6F4 + .equ se_w161_grp, voicegroup128 .equ se_w161_pri, 4 .equ se_w161_rev, reverb_set+50 .equ se_w161_mvl, 127 diff --git a/sound/songs/se_w161b.s b/sound/songs/se_w161b.s index 4ddc6552ff..87c27eb7ec 100644 --- a/sound/songs/se_w161b.s +++ b/sound/songs/se_w161b.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w161b_grp, voicegroup_869D6F4 + .equ se_w161b_grp, voicegroup128 .equ se_w161b_pri, 4 .equ se_w161b_rev, reverb_set+50 .equ se_w161b_mvl, 127 diff --git a/sound/songs/se_w166.s b/sound/songs/se_w166.s index f7ff47e55b..afbe08f08a 100644 --- a/sound/songs/se_w166.s +++ b/sound/songs/se_w166.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w166_grp, voicegroup_869D6F4 + .equ se_w166_grp, voicegroup128 .equ se_w166_pri, 4 .equ se_w166_rev, reverb_set+50 .equ se_w166_mvl, 127 diff --git a/sound/songs/se_w171.s b/sound/songs/se_w171.s index 3eb21a30c4..a953faa50e 100644 --- a/sound/songs/se_w171.s +++ b/sound/songs/se_w171.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w171_grp, voicegroup_869D6F4 + .equ se_w171_grp, voicegroup128 .equ se_w171_pri, 4 .equ se_w171_rev, reverb_set+50 .equ se_w171_mvl, 127 diff --git a/sound/songs/se_w172.s b/sound/songs/se_w172.s index eba79321c9..0c5ae67543 100644 --- a/sound/songs/se_w172.s +++ b/sound/songs/se_w172.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w172_grp, voicegroup_869D6F4 + .equ se_w172_grp, voicegroup128 .equ se_w172_pri, 4 .equ se_w172_rev, reverb_set+50 .equ se_w172_mvl, 127 diff --git a/sound/songs/se_w172b.s b/sound/songs/se_w172b.s index 05f08456ac..1d4369b003 100644 --- a/sound/songs/se_w172b.s +++ b/sound/songs/se_w172b.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w172b_grp, voicegroup_869D6F4 + .equ se_w172b_grp, voicegroup128 .equ se_w172b_pri, 4 .equ se_w172b_rev, reverb_set+50 .equ se_w172b_mvl, 127 diff --git a/sound/songs/se_w173.s b/sound/songs/se_w173.s index 8e20a45f45..a0bbd6378f 100644 --- a/sound/songs/se_w173.s +++ b/sound/songs/se_w173.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w173_grp, voicegroup_869D6F4 + .equ se_w173_grp, voicegroup128 .equ se_w173_pri, 4 .equ se_w173_rev, reverb_set+50 .equ se_w173_mvl, 127 diff --git a/sound/songs/se_w179.s b/sound/songs/se_w179.s index 400c35a9f1..9ea055b440 100644 --- a/sound/songs/se_w179.s +++ b/sound/songs/se_w179.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w179_grp, voicegroup_869D6F4 + .equ se_w179_grp, voicegroup128 .equ se_w179_pri, 4 .equ se_w179_rev, reverb_set+50 .equ se_w179_mvl, 127 diff --git a/sound/songs/se_w185.s b/sound/songs/se_w185.s index b73ec83866..8ec9ebfe84 100644 --- a/sound/songs/se_w185.s +++ b/sound/songs/se_w185.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w185_grp, voicegroup_869D6F4 + .equ se_w185_grp, voicegroup128 .equ se_w185_pri, 4 .equ se_w185_rev, reverb_set+50 .equ se_w185_mvl, 127 diff --git a/sound/songs/se_w187.s b/sound/songs/se_w187.s index 6ed1453a1e..d6c27b89c9 100644 --- a/sound/songs/se_w187.s +++ b/sound/songs/se_w187.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w187_grp, voicegroup_869D6F4 + .equ se_w187_grp, voicegroup128 .equ se_w187_pri, 4 .equ se_w187_rev, reverb_set+50 .equ se_w187_mvl, 127 diff --git a/sound/songs/se_w195.s b/sound/songs/se_w195.s index 7974c7ef79..b780952482 100644 --- a/sound/songs/se_w195.s +++ b/sound/songs/se_w195.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w195_grp, voicegroup_869D6F4 + .equ se_w195_grp, voicegroup128 .equ se_w195_pri, 4 .equ se_w195_rev, reverb_set+50 .equ se_w195_mvl, 127 diff --git a/sound/songs/se_w196.s b/sound/songs/se_w196.s index 2148d991b0..8a47a8c1be 100644 --- a/sound/songs/se_w196.s +++ b/sound/songs/se_w196.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w196_grp, voicegroup_869D6F4 + .equ se_w196_grp, voicegroup128 .equ se_w196_pri, 4 .equ se_w196_rev, reverb_set+50 .equ se_w196_mvl, 127 diff --git a/sound/songs/se_w197.s b/sound/songs/se_w197.s index 150d847c9b..619b81b40a 100644 --- a/sound/songs/se_w197.s +++ b/sound/songs/se_w197.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w197_grp, voicegroup_869D6F4 + .equ se_w197_grp, voicegroup128 .equ se_w197_pri, 4 .equ se_w197_rev, reverb_set+50 .equ se_w197_mvl, 127 diff --git a/sound/songs/se_w199.s b/sound/songs/se_w199.s index a3ec167cd4..26ffc82b75 100644 --- a/sound/songs/se_w199.s +++ b/sound/songs/se_w199.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w199_grp, voicegroup_869D6F4 + .equ se_w199_grp, voicegroup128 .equ se_w199_pri, 4 .equ se_w199_rev, reverb_set+50 .equ se_w199_mvl, 127 diff --git a/sound/songs/se_w201.s b/sound/songs/se_w201.s index 6a221dc65e..b6a6aaff53 100644 --- a/sound/songs/se_w201.s +++ b/sound/songs/se_w201.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w201_grp, voicegroup_869D6F4 + .equ se_w201_grp, voicegroup128 .equ se_w201_pri, 4 .equ se_w201_rev, reverb_set+50 .equ se_w201_mvl, 127 diff --git a/sound/songs/se_w202.s b/sound/songs/se_w202.s index 5ec79eac85..6149a878d3 100644 --- a/sound/songs/se_w202.s +++ b/sound/songs/se_w202.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w202_grp, voicegroup_869D6F4 + .equ se_w202_grp, voicegroup128 .equ se_w202_pri, 4 .equ se_w202_rev, reverb_set+50 .equ se_w202_mvl, 127 diff --git a/sound/songs/se_w204.s b/sound/songs/se_w204.s index bda9a2c1f5..1e66392aca 100644 --- a/sound/songs/se_w204.s +++ b/sound/songs/se_w204.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w204_grp, voicegroup_869D6F4 + .equ se_w204_grp, voicegroup128 .equ se_w204_pri, 4 .equ se_w204_rev, reverb_set+50 .equ se_w204_mvl, 127 diff --git a/sound/songs/se_w207.s b/sound/songs/se_w207.s index 99bbd05edb..1c0d0475b1 100644 --- a/sound/songs/se_w207.s +++ b/sound/songs/se_w207.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w207_grp, voicegroup_869D6F4 + .equ se_w207_grp, voicegroup128 .equ se_w207_pri, 4 .equ se_w207_rev, reverb_set+50 .equ se_w207_mvl, 127 diff --git a/sound/songs/se_w207b.s b/sound/songs/se_w207b.s index 9df74ae9b0..9d199e8d34 100644 --- a/sound/songs/se_w207b.s +++ b/sound/songs/se_w207b.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w207b_grp, voicegroup_869D6F4 + .equ se_w207b_grp, voicegroup128 .equ se_w207b_pri, 4 .equ se_w207b_rev, reverb_set+50 .equ se_w207b_mvl, 127 diff --git a/sound/songs/se_w208.s b/sound/songs/se_w208.s index fb4c2fd1bb..b26ce23d7d 100644 --- a/sound/songs/se_w208.s +++ b/sound/songs/se_w208.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w208_grp, voicegroup_869D6F4 + .equ se_w208_grp, voicegroup128 .equ se_w208_pri, 4 .equ se_w208_rev, reverb_set+50 .equ se_w208_mvl, 127 diff --git a/sound/songs/se_w213.s b/sound/songs/se_w213.s index c8a6bc45ee..b35e17038e 100644 --- a/sound/songs/se_w213.s +++ b/sound/songs/se_w213.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w213_grp, voicegroup_869D6F4 + .equ se_w213_grp, voicegroup128 .equ se_w213_pri, 4 .equ se_w213_rev, reverb_set+50 .equ se_w213_mvl, 127 diff --git a/sound/songs/se_w213b.s b/sound/songs/se_w213b.s index c0d3dfe4ae..b7da4378e6 100644 --- a/sound/songs/se_w213b.s +++ b/sound/songs/se_w213b.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w213b_grp, voicegroup_869D6F4 + .equ se_w213b_grp, voicegroup128 .equ se_w213b_pri, 4 .equ se_w213b_rev, reverb_set+50 .equ se_w213b_mvl, 127 diff --git a/sound/songs/se_w215.s b/sound/songs/se_w215.s index 3682396428..196686fbd8 100644 --- a/sound/songs/se_w215.s +++ b/sound/songs/se_w215.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w215_grp, voicegroup_869D6F4 + .equ se_w215_grp, voicegroup128 .equ se_w215_pri, 4 .equ se_w215_rev, reverb_set+50 .equ se_w215_mvl, 127 diff --git a/sound/songs/se_w221.s b/sound/songs/se_w221.s index f336673099..68e9d09577 100644 --- a/sound/songs/se_w221.s +++ b/sound/songs/se_w221.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w221_grp, voicegroup_869D6F4 + .equ se_w221_grp, voicegroup128 .equ se_w221_pri, 4 .equ se_w221_rev, reverb_set+50 .equ se_w221_mvl, 127 diff --git a/sound/songs/se_w221b.s b/sound/songs/se_w221b.s index 7a96cf1de4..ed0120acf6 100644 --- a/sound/songs/se_w221b.s +++ b/sound/songs/se_w221b.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w221b_grp, voicegroup_869D6F4 + .equ se_w221b_grp, voicegroup128 .equ se_w221b_pri, 4 .equ se_w221b_rev, reverb_set+50 .equ se_w221b_mvl, 127 diff --git a/sound/songs/se_w226.s b/sound/songs/se_w226.s index afa9e09193..fe6c6d05e8 100644 --- a/sound/songs/se_w226.s +++ b/sound/songs/se_w226.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w226_grp, voicegroup_869D6F4 + .equ se_w226_grp, voicegroup128 .equ se_w226_pri, 4 .equ se_w226_rev, reverb_set+50 .equ se_w226_mvl, 127 diff --git a/sound/songs/se_w227.s b/sound/songs/se_w227.s index 523acfbb92..7a6f87abc3 100644 --- a/sound/songs/se_w227.s +++ b/sound/songs/se_w227.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w227_grp, voicegroup_869D6F4 + .equ se_w227_grp, voicegroup128 .equ se_w227_pri, 4 .equ se_w227_rev, reverb_set+50 .equ se_w227_mvl, 127 diff --git a/sound/songs/se_w227b.s b/sound/songs/se_w227b.s index 915e5d544a..a3fa4adfe4 100644 --- a/sound/songs/se_w227b.s +++ b/sound/songs/se_w227b.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w227b_grp, voicegroup_869D6F4 + .equ se_w227b_grp, voicegroup128 .equ se_w227b_pri, 4 .equ se_w227b_rev, reverb_set+50 .equ se_w227b_mvl, 127 diff --git a/sound/songs/se_w230.s b/sound/songs/se_w230.s index 4c339d0ebe..b446b3448c 100644 --- a/sound/songs/se_w230.s +++ b/sound/songs/se_w230.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w230_grp, voicegroup_869D6F4 + .equ se_w230_grp, voicegroup128 .equ se_w230_pri, 4 .equ se_w230_rev, reverb_set+50 .equ se_w230_mvl, 127 diff --git a/sound/songs/se_w231.s b/sound/songs/se_w231.s index 25ea2b4fbb..46e5ba9381 100644 --- a/sound/songs/se_w231.s +++ b/sound/songs/se_w231.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w231_grp, voicegroup_869D6F4 + .equ se_w231_grp, voicegroup128 .equ se_w231_pri, 4 .equ se_w231_rev, reverb_set+50 .equ se_w231_mvl, 127 diff --git a/sound/songs/se_w233.s b/sound/songs/se_w233.s index c7753d21e8..84381fc0e8 100644 --- a/sound/songs/se_w233.s +++ b/sound/songs/se_w233.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w233_grp, voicegroup_869D6F4 + .equ se_w233_grp, voicegroup128 .equ se_w233_pri, 4 .equ se_w233_rev, reverb_set+50 .equ se_w233_mvl, 127 diff --git a/sound/songs/se_w233b.s b/sound/songs/se_w233b.s index 86166b3456..65d256d9ae 100644 --- a/sound/songs/se_w233b.s +++ b/sound/songs/se_w233b.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w233b_grp, voicegroup_869D6F4 + .equ se_w233b_grp, voicegroup128 .equ se_w233b_pri, 4 .equ se_w233b_rev, reverb_set+50 .equ se_w233b_mvl, 127 diff --git a/sound/songs/se_w234.s b/sound/songs/se_w234.s index b79c2bd1fa..4f07ef30a7 100644 --- a/sound/songs/se_w234.s +++ b/sound/songs/se_w234.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w234_grp, voicegroup_869D6F4 + .equ se_w234_grp, voicegroup128 .equ se_w234_pri, 5 .equ se_w234_rev, reverb_set+50 .equ se_w234_mvl, 127 diff --git a/sound/songs/se_w236.s b/sound/songs/se_w236.s index efb97ca226..c3bb3d90fd 100644 --- a/sound/songs/se_w236.s +++ b/sound/songs/se_w236.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w236_grp, voicegroup_869D6F4 + .equ se_w236_grp, voicegroup128 .equ se_w236_pri, 4 .equ se_w236_rev, reverb_set+50 .equ se_w236_mvl, 127 diff --git a/sound/songs/se_w239.s b/sound/songs/se_w239.s index db32b876d8..fc18c1d5c6 100644 --- a/sound/songs/se_w239.s +++ b/sound/songs/se_w239.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w239_grp, voicegroup_869D6F4 + .equ se_w239_grp, voicegroup128 .equ se_w239_pri, 4 .equ se_w239_rev, reverb_set+50 .equ se_w239_mvl, 127 diff --git a/sound/songs/se_w240.s b/sound/songs/se_w240.s index 5e4741f1f6..744cc3b88e 100644 --- a/sound/songs/se_w240.s +++ b/sound/songs/se_w240.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w240_grp, voicegroup_869D6F4 + .equ se_w240_grp, voicegroup128 .equ se_w240_pri, 4 .equ se_w240_rev, reverb_set+50 .equ se_w240_mvl, 127 diff --git a/sound/songs/se_w250.s b/sound/songs/se_w250.s index d8d9d4dfc2..20a660411d 100644 --- a/sound/songs/se_w250.s +++ b/sound/songs/se_w250.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w250_grp, voicegroup_869D6F4 + .equ se_w250_grp, voicegroup128 .equ se_w250_pri, 4 .equ se_w250_rev, reverb_set+50 .equ se_w250_mvl, 127 diff --git a/sound/songs/se_w253.s b/sound/songs/se_w253.s index b72c587809..e33de45500 100644 --- a/sound/songs/se_w253.s +++ b/sound/songs/se_w253.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w253_grp, voicegroup_869D6F4 + .equ se_w253_grp, voicegroup128 .equ se_w253_pri, 4 .equ se_w253_rev, reverb_set+50 .equ se_w253_mvl, 127 diff --git a/sound/songs/se_w255.s b/sound/songs/se_w255.s index 0384eef6e2..73169ec427 100644 --- a/sound/songs/se_w255.s +++ b/sound/songs/se_w255.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w255_grp, voicegroup_869D6F4 + .equ se_w255_grp, voicegroup128 .equ se_w255_pri, 4 .equ se_w255_rev, reverb_set+50 .equ se_w255_mvl, 127 diff --git a/sound/songs/se_w257.s b/sound/songs/se_w257.s index 2b4196d5c5..5e9b6d06d8 100644 --- a/sound/songs/se_w257.s +++ b/sound/songs/se_w257.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w257_grp, voicegroup_869D6F4 + .equ se_w257_grp, voicegroup128 .equ se_w257_pri, 4 .equ se_w257_rev, reverb_set+50 .equ se_w257_mvl, 127 diff --git a/sound/songs/se_w258.s b/sound/songs/se_w258.s index 50d03090ab..e2b1a531f7 100644 --- a/sound/songs/se_w258.s +++ b/sound/songs/se_w258.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w258_grp, voicegroup_869D6F4 + .equ se_w258_grp, voicegroup128 .equ se_w258_pri, 4 .equ se_w258_rev, reverb_set+50 .equ se_w258_mvl, 127 diff --git a/sound/songs/se_w260.s b/sound/songs/se_w260.s index e219c7d2e9..70e58fda19 100644 --- a/sound/songs/se_w260.s +++ b/sound/songs/se_w260.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w260_grp, voicegroup_869D6F4 + .equ se_w260_grp, voicegroup128 .equ se_w260_pri, 4 .equ se_w260_rev, reverb_set+50 .equ se_w260_mvl, 127 diff --git a/sound/songs/se_w268.s b/sound/songs/se_w268.s index 124cf85bfb..c2c9ee9f7a 100644 --- a/sound/songs/se_w268.s +++ b/sound/songs/se_w268.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w268_grp, voicegroup_869D6F4 + .equ se_w268_grp, voicegroup128 .equ se_w268_pri, 4 .equ se_w268_rev, reverb_set+50 .equ se_w268_mvl, 127 diff --git a/sound/songs/se_w280.s b/sound/songs/se_w280.s index 62972a0253..19d383176b 100644 --- a/sound/songs/se_w280.s +++ b/sound/songs/se_w280.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w280_grp, voicegroup_869D6F4 + .equ se_w280_grp, voicegroup128 .equ se_w280_pri, 4 .equ se_w280_rev, reverb_set+50 .equ se_w280_mvl, 127 diff --git a/sound/songs/se_w281.s b/sound/songs/se_w281.s index 45f70b47a1..21f27203d5 100644 --- a/sound/songs/se_w281.s +++ b/sound/songs/se_w281.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w281_grp, voicegroup_869D6F4 + .equ se_w281_grp, voicegroup128 .equ se_w281_pri, 4 .equ se_w281_rev, reverb_set+50 .equ se_w281_mvl, 127 diff --git a/sound/songs/se_w287.s b/sound/songs/se_w287.s index 9b38309fe6..5f5cc503d1 100644 --- a/sound/songs/se_w287.s +++ b/sound/songs/se_w287.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w287_grp, voicegroup_869D6F4 + .equ se_w287_grp, voicegroup128 .equ se_w287_pri, 4 .equ se_w287_rev, reverb_set+50 .equ se_w287_mvl, 127 diff --git a/sound/songs/se_w287b.s b/sound/songs/se_w287b.s index 96313d020e..a88a960cb6 100644 --- a/sound/songs/se_w287b.s +++ b/sound/songs/se_w287b.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w287b_grp, voicegroup_869D6F4 + .equ se_w287b_grp, voicegroup128 .equ se_w287b_pri, 4 .equ se_w287b_rev, reverb_set+50 .equ se_w287b_mvl, 127 diff --git a/sound/songs/se_w291.s b/sound/songs/se_w291.s index 22b7015398..ae8d111340 100644 --- a/sound/songs/se_w291.s +++ b/sound/songs/se_w291.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w291_grp, voicegroup_869D6F4 + .equ se_w291_grp, voicegroup128 .equ se_w291_pri, 4 .equ se_w291_rev, reverb_set+50 .equ se_w291_mvl, 127 diff --git a/sound/songs/se_w298.s b/sound/songs/se_w298.s index d28d2e4477..d21e4b710e 100644 --- a/sound/songs/se_w298.s +++ b/sound/songs/se_w298.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w298_grp, voicegroup_869D6F4 + .equ se_w298_grp, voicegroup128 .equ se_w298_pri, 4 .equ se_w298_rev, reverb_set+50 .equ se_w298_mvl, 127 diff --git a/sound/songs/se_w320.s b/sound/songs/se_w320.s index 02eb2719ee..82d93b571d 100644 --- a/sound/songs/se_w320.s +++ b/sound/songs/se_w320.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w320_grp, voicegroup_869D6F4 + .equ se_w320_grp, voicegroup128 .equ se_w320_pri, 4 .equ se_w320_rev, reverb_set+50 .equ se_w320_mvl, 127 diff --git a/sound/songs/se_w322.s b/sound/songs/se_w322.s index 1529dd78a8..2f48ff9688 100644 --- a/sound/songs/se_w322.s +++ b/sound/songs/se_w322.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w322_grp, voicegroup_869D6F4 + .equ se_w322_grp, voicegroup128 .equ se_w322_pri, 4 .equ se_w322_rev, reverb_set+50 .equ se_w322_mvl, 127 diff --git a/sound/songs/se_w327.s b/sound/songs/se_w327.s index 29056c7a0a..1efa6c33f6 100644 --- a/sound/songs/se_w327.s +++ b/sound/songs/se_w327.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w327_grp, voicegroup_869D6F4 + .equ se_w327_grp, voicegroup128 .equ se_w327_pri, 4 .equ se_w327_rev, reverb_set+50 .equ se_w327_mvl, 127 diff --git a/sound/songs/se_w328.s b/sound/songs/se_w328.s index 61c99a878d..6b5a2d923f 100644 --- a/sound/songs/se_w328.s +++ b/sound/songs/se_w328.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_w328_grp, voicegroup_869D6F4 + .equ se_w328_grp, voicegroup128 .equ se_w328_pri, 4 .equ se_w328_rev, reverb_set+50 .equ se_w328_mvl, 127 diff --git a/sound/songs/se_wall_hit.s b/sound/songs/se_wall_hit.s index 2c3421dc0c..feeeb03b1d 100644 --- a/sound/songs/se_wall_hit.s +++ b/sound/songs/se_wall_hit.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_wall_hit_grp, voicegroup_869D0F4 + .equ se_wall_hit_grp, voicegroup127 .equ se_wall_hit_pri, 2 .equ se_wall_hit_rev, reverb_set+50 .equ se_wall_hit_mvl, 127 diff --git a/sound/songs/se_win_open.s b/sound/songs/se_win_open.s index 8dd6857614..74656e9c0f 100644 --- a/sound/songs/se_win_open.s +++ b/sound/songs/se_win_open.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_win_open_grp, voicegroup_869D0F4 + .equ se_win_open_grp, voicegroup127 .equ se_win_open_pri, 5 .equ se_win_open_rev, reverb_set+50 .equ se_win_open_mvl, 127 diff --git a/sound/songs/se_z_page.s b/sound/songs/se_z_page.s index bc4a2873ef..a767bf5adc 100644 --- a/sound/songs/se_z_page.s +++ b/sound/songs/se_z_page.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_z_page_grp, voicegroup_869D0F4 + .equ se_z_page_grp, voicegroup127 .equ se_z_page_pri, 5 .equ se_z_page_rev, reverb_set+50 .equ se_z_page_mvl, 127 diff --git a/sound/songs/se_z_scroll.s b/sound/songs/se_z_scroll.s index 2b3f0d6875..d8c792b172 100644 --- a/sound/songs/se_z_scroll.s +++ b/sound/songs/se_z_scroll.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_z_scroll_grp, voicegroup_869D0F4 + .equ se_z_scroll_grp, voicegroup127 .equ se_z_scroll_pri, 5 .equ se_z_scroll_rev, reverb_set+50 .equ se_z_scroll_mvl, 127 diff --git a/sound/songs/se_z_search.s b/sound/songs/se_z_search.s index 268da5ad1b..290ea94dd0 100644 --- a/sound/songs/se_z_search.s +++ b/sound/songs/se_z_search.s @@ -1,6 +1,6 @@ .include "MPlayDef.s" - .equ se_z_search_grp, voicegroup_869D0F4 + .equ se_z_search_grp, voicegroup127 .equ se_z_search_pri, 5 .equ se_z_search_rev, reverb_set+50 .equ se_z_search_mvl, 127 diff --git a/sound/voice_groups.inc b/sound/voice_groups.inc index 389af87019..e725047b9a 100644 --- a/sound/voice_groups.inc +++ b/sound/voice_groups.inc @@ -1,7 +1,7 @@ .align 2 -voicegroup_pokemon_cry:: @ 8675D04 - voice_keysplit_all voicegroup_8675FEC @ 8675D04 - voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 8675D10 +voicegroup000:: @ 8675D04 + voice_keysplit_all voicegroup001 @ 8675D04 + voice_keysplit voicegroup005, KeySplitTable1 @ 8675D10 voice_square_1 0, 2, 0, 0, 15, 0 @ 8675D1C voice_square_1 0, 2, 0, 0, 15, 0 @ 8675D28 voice_square_1 0, 2, 0, 0, 15, 0 @ 8675D34 @@ -48,7 +48,7 @@ voicegroup_pokemon_cry:: @ 8675D04 voice_square_1 0, 2, 0, 0, 15, 0 @ 8675F20 voice_square_1 0, 2, 0, 0, 15, 0 @ 8675F2C voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 204, 193, 239 @ 8675F38 - voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 8675F44 + voice_keysplit voicegroup006, KeySplitTable2 @ 8675F44 voice_square_1 0, 2, 0, 0, 15, 0 @ 8675F50 voice_square_1 0, 2, 0, 0, 15, 0 @ 8675F5C voice_square_1 0, 2, 0, 0, 15, 0 @ 8675F68 @@ -56,7 +56,7 @@ voicegroup_pokemon_cry:: @ 8675D04 voice_square_1 0, 2, 0, 0, 15, 0 @ 8675F80 voice_square_1 0, 2, 0, 0, 15, 0 @ 8675F8C voice_square_1 0, 2, 0, 0, 15, 0 @ 8675F98 - voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 8675FA4 + voice_keysplit voicegroup007, KeySplitTable3 @ 8675FA4 voice_square_1 0, 2, 0, 0, 15, 0 @ 8675FB0 voice_square_1 0, 2, 0, 0, 15, 0 @ 8675FBC voice_square_1 0, 2, 0, 0, 15, 0 @ 8675FC8 @@ -64,7 +64,7 @@ voicegroup_pokemon_cry:: @ 8675D04 voice_square_1 0, 2, 0, 0, 15, 0 @ 8675FE0 .align 2 -voicegroup_8675FEC:: @ 8675FEC +voicegroup001:: @ 8675FEC voice_square_1 0, 2, 0, 0, 15, 0 @ 8675FEC voice_square_1 0, 2, 0, 0, 15, 0 @ 8675FF8 voice_square_1 0, 2, 0, 0, 15, 0 @ 8676004 @@ -96,7 +96,7 @@ voicegroup_8675FEC:: @ 8675FEC voice_directsound 60, 0, DirectSoundWaveData_86BA7E8, 255, 0, 255, 0 @ 867613C .align 2 -voicegroup_8676148:: @ 8676148 +voicegroup002:: @ 8676148 voice_directsound 60, 0, DirectSoundWaveData_86BBE98, 255, 165, 154, 127 @ 8676148 voice_directsound 60, 0, DirectSoundWaveData_86BD1DC, 255, 165, 154, 127 @ 8676154 voice_directsound 60, 0, DirectSoundWaveData_86BDC80, 255, 165, 206, 127 @ 8676160 @@ -153,7 +153,7 @@ voicegroup_8676148:: @ 8676148 voice_directsound_no_resample 64, 24, DirectSoundWaveData_86D1A2C, 255, 165, 103, 231 @ 86763C4 .align 2 -voicegroup_86763D0:: @ 86763D0 +voicegroup003:: @ 86763D0 voice_directsound_no_resample 64, 34, DirectSoundWaveData_86CA520, 255, 127, 77, 204 @ 86763D0 voice_directsound_no_resample 64, 14, DirectSoundWaveData_86CADD4, 255, 231, 0, 188 @ 86763DC voice_directsound_no_resample 64, 89, DirectSoundWaveData_86D925C, 255, 0, 255, 242 @ 86763E8 @@ -210,7 +210,7 @@ voicegroup_86763D0:: @ 86763D0 voice_directsound_no_resample 64, 24, DirectSoundWaveData_86D1A2C, 255, 165, 103, 231 @ 867664C .align 2 -voicegroup_8676658:: @ 8676658 +voicegroup004:: @ 8676658 voice_directsound_no_resample 66, 34, DirectSoundWaveData_86CA520, 255, 127, 77, 204 @ 8676658 voice_directsound_no_resample 64, 14, DirectSoundWaveData_86CADD4, 255, 231, 0, 188 @ 8676664 voice_directsound_no_resample 64, 89, DirectSoundWaveData_86D925C, 255, 0, 255, 242 @ 8676670 @@ -303,20 +303,20 @@ voicegroup_8676658:: @ 8676658 voice_directsound 64, 84, DirectSoundWaveData_86DFCA4, 255, 0, 255, 0 @ 8676A84 .align 2 -voicegroup_8676A90:: @ 8676A90 +voicegroup005:: @ 8676A90 voice_directsound 60, 0, DirectSoundWaveData_86E0D98, 255, 252, 0, 239 @ 8676A90 voice_directsound 60, 0, DirectSoundWaveData_86E1CF8, 255, 250, 0, 221 @ 8676A9C voice_directsound 60, 0, DirectSoundWaveData_86E3358, 255, 250, 0, 221 @ 8676AA8 voice_directsound 60, 0, DirectSoundWaveData_86E48B4, 255, 247, 0, 221 @ 8676AB4 .align 2 -voicegroup_8676AC0:: @ 8676AC0 +voicegroup006:: @ 8676AC0 voice_directsound 60, 0, DirectSoundWaveData_86E5440, 255, 0, 255, 196 @ 8676AC0 voice_directsound 60, 0, DirectSoundWaveData_86E89E4, 255, 0, 255, 196 @ 8676ACC voice_directsound 60, 0, DirectSoundWaveData_86EAD00, 255, 0, 255, 196 @ 8676AD8 .align 2 -voicegroup_8676AE4:: @ 8676AE4 +voicegroup007:: @ 8676AE4 voice_directsound 60, 0, DirectSoundWaveData_86EE3CC, 255, 0, 193, 127 @ 8676AE4 voice_directsound 60, 0, DirectSoundWaveData_86EF71C, 255, 0, 193, 127 @ 8676AF0 voice_directsound 60, 0, DirectSoundWaveData_86F0C2C, 255, 0, 193, 127 @ 8676AFC @@ -450,18 +450,18 @@ voicegroup_8676AE4:: @ 8676AE4 voice_square_1_alt 21, 2, 0, 0, 15, 2 @ 86770FC .align 2 -voicegroup_8677108:: @ 8677108 +voicegroup008:: @ 8677108 voice_directsound 60, 0, DirectSoundWaveData_86F204C, 255, 0, 255, 165 @ 8677108 voice_directsound 60, 0, DirectSoundWaveData_86F30E8, 255, 0, 255, 165 @ 8677114 .align 2 -voicegroup_8677120:: @ 8677120 +voicegroup009:: @ 8677120 voice_directsound 60, 0, DirectSoundWaveData_86F4144, 255, 0, 224, 165 @ 8677120 voice_directsound 60, 0, DirectSoundWaveData_86FB0D8, 255, 0, 218, 165 @ 867712C .align 2 -voicegroup_8677138:: @ 8677138 - voice_keysplit_all voicegroup_867C838 @ 8677138 +voicegroup010:: @ 8677138 + voice_keysplit_all voicegroup031 @ 8677138 voice_square_1 0, 2, 0, 0, 15, 0 @ 8677144 voice_square_1 0, 2, 0, 0, 15, 0 @ 8677150 voice_square_1 0, 2, 0, 0, 15, 0 @ 867715C @@ -509,7 +509,7 @@ voicegroup_8677138:: @ 8677138 voice_square_1 0, 2, 0, 0, 15, 0 @ 8677354 voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 242, 0, 204 @ 8677360 voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 246, 0, 226 @ 867736C - voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 8677378 + voice_keysplit voicegroup006, KeySplitTable2 @ 8677378 voice_square_1 0, 2, 0, 0, 15, 0 @ 8677384 voice_square_1 0, 2, 0, 0, 15, 0 @ 8677390 voice_square_1 0, 2, 0, 0, 15, 0 @ 867739C @@ -517,11 +517,11 @@ voicegroup_8677138:: @ 8677138 voice_square_1 0, 2, 0, 0, 15, 0 @ 86773B4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86773C0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86773CC - voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 86773D8 + voice_keysplit voicegroup007, KeySplitTable3 @ 86773D8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86773E4 - voice_keysplit voicegroup_8677108, KeySplitTable4 @ 86773F0 + voice_keysplit voicegroup008, KeySplitTable4 @ 86773F0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86773FC - voice_keysplit voicegroup_8677120, KeySplitTable5 @ 8677408 + voice_keysplit voicegroup009, KeySplitTable5 @ 8677408 voice_square_1 0, 2, 0, 0, 15, 0 @ 8677414 voice_square_1 0, 2, 0, 0, 15, 0 @ 8677420 voice_square_1 0, 2, 0, 0, 15, 0 @ 867742C @@ -547,8 +547,8 @@ voicegroup_8677138:: @ 8677138 voice_square_1 0, 3, 0, 0, 7, 1 @ 867751C .align 2 -voicegroup_8677528:: @ 8677528 - voice_keysplit_all voicegroup_867A438 @ 8677528 +voicegroup011:: @ 8677528 + voice_keysplit_all voicegroup022 @ 8677528 voice_square_1 0, 2, 0, 0, 15, 0 @ 8677534 voice_square_1 0, 2, 0, 0, 15, 0 @ 8677540 voice_square_1 0, 2, 0, 0, 15, 0 @ 867754C @@ -596,7 +596,7 @@ voicegroup_8677528:: @ 8677528 voice_square_1 0, 2, 0, 0, 15, 0 @ 8677744 voice_square_1 0, 2, 0, 0, 15, 0 @ 8677750 voice_square_1 0, 2, 0, 0, 15, 0 @ 867775C - voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 8677768 + voice_keysplit voicegroup006, KeySplitTable2 @ 8677768 voice_square_1 0, 2, 0, 0, 15, 0 @ 8677774 voice_square_1 0, 2, 0, 0, 15, 0 @ 8677780 voice_square_1 0, 2, 0, 0, 15, 0 @ 867778C @@ -678,9 +678,9 @@ voicegroup_8677528:: @ 8677528 voice_noise_alt 0, 0, 1, 0, 0 @ 8677B1C .align 2 -voicegroup_8677B28:: @ 8677B28 - voice_keysplit_all voicegroup_8675FEC @ 8677B28 - voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 8677B34 +voicegroup012:: @ 8677B28 + voice_keysplit_all voicegroup001 @ 8677B28 + voice_keysplit voicegroup005, KeySplitTable1 @ 8677B34 voice_directsound 60, 0, DirectSoundWaveData_87322BC, 255, 178, 180, 165 @ 8677B40 voice_square_1 0, 2, 0, 0, 15, 0 @ 8677B4C voice_square_1 0, 2, 0, 0, 15, 0 @ 8677B58 @@ -727,7 +727,7 @@ voicegroup_8677B28:: @ 8677B28 voice_square_1 0, 2, 0, 0, 15, 0 @ 8677D44 voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 242, 0, 204 @ 8677D50 voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 246, 0, 226 @ 8677D5C - voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 8677D68 + voice_keysplit voicegroup006, KeySplitTable2 @ 8677D68 voice_square_1 0, 2, 0, 0, 15, 0 @ 8677D74 voice_square_1 0, 2, 0, 0, 15, 0 @ 8677D80 voice_square_1 0, 2, 0, 0, 15, 0 @ 8677D8C @@ -735,11 +735,11 @@ voicegroup_8677B28:: @ 8677B28 voice_square_1 0, 2, 0, 0, 15, 0 @ 8677DA4 voice_square_1 0, 2, 0, 0, 15, 0 @ 8677DB0 voice_square_1 0, 2, 0, 0, 15, 0 @ 8677DBC - voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 8677DC8 + voice_keysplit voicegroup007, KeySplitTable3 @ 8677DC8 voice_square_1 0, 2, 0, 0, 15, 0 @ 8677DD4 - voice_keysplit voicegroup_8677108, KeySplitTable4 @ 8677DE0 + voice_keysplit voicegroup008, KeySplitTable4 @ 8677DE0 voice_square_1 0, 2, 0, 0, 15, 0 @ 8677DEC - voice_keysplit voicegroup_8677120, KeySplitTable5 @ 8677DF8 + voice_keysplit voicegroup009, KeySplitTable5 @ 8677DF8 voice_square_1 0, 2, 0, 0, 15, 0 @ 8677E04 voice_square_1 0, 2, 0, 0, 15, 0 @ 8677E10 voice_square_1 0, 2, 0, 0, 15, 0 @ 8677E1C @@ -783,8 +783,8 @@ voicegroup_8677B28:: @ 8677B28 voice_square_1_alt 22, 2, 0, 2, 0, 0 @ 8677FE4 .align 2 -voicegroup_8677FF0:: @ 8677FF0 - voice_keysplit_all voicegroup_8675FEC @ 8677FF0 +voicegroup013:: @ 8677FF0 + voice_keysplit_all voicegroup001 @ 8677FF0 voice_square_1 0, 2, 0, 0, 15, 0 @ 8677FFC voice_square_1 0, 2, 0, 0, 15, 0 @ 8678008 voice_square_1 0, 2, 0, 0, 15, 0 @ 8678014 @@ -832,7 +832,7 @@ voicegroup_8677FF0:: @ 8677FF0 voice_square_1 0, 2, 0, 0, 15, 0 @ 867820C voice_square_1 0, 2, 0, 0, 15, 0 @ 8678218 voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 246, 0, 226 @ 8678224 - voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 8678230 + voice_keysplit voicegroup006, KeySplitTable2 @ 8678230 voice_square_1 0, 2, 0, 0, 15, 0 @ 867823C voice_square_1 0, 2, 0, 0, 15, 0 @ 8678248 voice_square_1 0, 2, 0, 0, 15, 0 @ 8678254 @@ -840,11 +840,11 @@ voicegroup_8677FF0:: @ 8677FF0 voice_square_1 0, 2, 0, 0, 15, 0 @ 867826C voice_square_1 0, 2, 0, 0, 15, 0 @ 8678278 voice_square_1 0, 2, 0, 0, 15, 0 @ 8678284 - voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 8678290 + voice_keysplit voicegroup007, KeySplitTable3 @ 8678290 voice_square_1 0, 2, 0, 0, 15, 0 @ 867829C voice_square_1 0, 2, 0, 0, 15, 0 @ 86782A8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86782B4 - voice_keysplit voicegroup_8677120, KeySplitTable5 @ 86782C0 + voice_keysplit voicegroup009, KeySplitTable5 @ 86782C0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86782CC voice_square_1 0, 2, 0, 0, 15, 0 @ 86782D8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86782E4 @@ -876,9 +876,9 @@ voicegroup_8677FF0:: @ 8677FF0 voice_square_1_alt 0, 3, 0, 0, 7, 1 @ 867841C .align 2 -voicegroup_8678428:: @ 8678428 - voice_keysplit_all voicegroup_8675FEC @ 8678428 - voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 8678434 +voicegroup014:: @ 8678428 + voice_keysplit_all voicegroup001 @ 8678428 + voice_keysplit voicegroup005, KeySplitTable1 @ 8678434 voice_square_1 0, 2, 0, 0, 15, 0 @ 8678440 voice_square_1 0, 2, 0, 0, 15, 0 @ 867844C voice_square_2_alt 3, 0, 1, 6, 1 @ 8678458 @@ -925,7 +925,7 @@ voicegroup_8678428:: @ 8678428 voice_square_1 0, 2, 0, 0, 15, 0 @ 8678644 voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 246, 0, 235 @ 8678650 voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 246, 0, 226 @ 867865C - voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 8678668 + voice_keysplit voicegroup006, KeySplitTable2 @ 8678668 voice_square_1 0, 2, 0, 0, 15, 0 @ 8678674 voice_square_1 0, 2, 0, 0, 15, 0 @ 8678680 voice_square_1 0, 2, 0, 0, 15, 0 @ 867868C @@ -933,11 +933,11 @@ voicegroup_8678428:: @ 8678428 voice_square_1 0, 2, 0, 0, 15, 0 @ 86786A4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86786B0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86786BC - voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 86786C8 + voice_keysplit voicegroup007, KeySplitTable3 @ 86786C8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86786D4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86786E0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86786EC - voice_keysplit voicegroup_8677120, KeySplitTable5 @ 86786F8 + voice_keysplit voicegroup009, KeySplitTable5 @ 86786F8 voice_square_1 0, 2, 0, 0, 15, 0 @ 8678704 voice_square_1 0, 2, 0, 0, 15, 0 @ 8678710 voice_square_1 0, 2, 0, 0, 15, 0 @ 867871C @@ -964,9 +964,9 @@ voicegroup_8678428:: @ 8678428 voice_square_1_alt 0, 3, 0, 0, 7, 0 @ 8678818 .align 2 -voicegroup_8678824:: @ 8678824 - voice_keysplit_all voicegroup_8678C74 @ 8678824 - voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 8678830 +voicegroup015:: @ 8678824 + voice_keysplit_all voicegroup016 @ 8678824 + voice_keysplit voicegroup005, KeySplitTable1 @ 8678830 voice_square_1 0, 2, 0, 0, 15, 0 @ 867883C voice_square_1 0, 2, 0, 0, 15, 0 @ 8678848 voice_square_1 0, 2, 0, 0, 15, 0 @ 8678854 @@ -1013,7 +1013,7 @@ voicegroup_8678824:: @ 8678824 voice_square_1 0, 2, 0, 0, 15, 0 @ 8678A40 voice_square_1 0, 2, 0, 0, 15, 0 @ 8678A4C voice_square_1 0, 2, 0, 0, 15, 0 @ 8678A58 - voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 8678A64 + voice_keysplit voicegroup006, KeySplitTable2 @ 8678A64 voice_square_1 0, 2, 0, 0, 15, 0 @ 8678A70 voice_square_1 0, 2, 0, 0, 15, 0 @ 8678A7C voice_square_1 0, 2, 0, 0, 15, 0 @ 8678A88 @@ -1059,7 +1059,7 @@ voicegroup_8678824:: @ 8678824 voice_square_1 0, 2, 0, 0, 15, 0 @ 8678C68 .align 2 -voicegroup_8678C74:: @ 8678C74 +voicegroup016:: @ 8678C74 voice_square_1 0, 2, 0, 0, 15, 0 @ 8678C74 voice_square_1 0, 2, 0, 0, 15, 0 @ 8678C80 voice_square_1 0, 2, 0, 0, 15, 0 @ 8678C8C @@ -1127,8 +1127,8 @@ voicegroup_8678C74:: @ 8678C74 voice_directsound_no_resample 72, 62, DirectSoundWaveData_86CCAFC, 255, 0, 255, 0 @ 8678F74 .align 2 -voicegroup_8678F80:: @ 8678F80 - voice_keysplit_all voicegroup_8675FEC @ 8678F80 +voicegroup017:: @ 8678F80 + voice_keysplit_all voicegroup001 @ 8678F80 voice_square_2_alt 2, 0, 3, 3, 1 @ 8678F8C voice_square_1_alt 0, 2, 0, 3, 3, 1 @ 8678F98 voice_square_1 0, 2, 0, 0, 15, 0 @ 8678FA4 @@ -1176,7 +1176,7 @@ voicegroup_8678F80:: @ 8678F80 voice_directsound 60, 0, DirectSoundWaveData_8726EF0, 255, 216, 0, 165 @ 867919C voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 242, 0, 204 @ 86791A8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86791B4 - voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 86791C0 + voice_keysplit voicegroup006, KeySplitTable2 @ 86791C0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86791CC voice_square_1 0, 2, 0, 0, 15, 0 @ 86791D8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86791E4 @@ -1186,9 +1186,9 @@ voicegroup_8678F80:: @ 8678F80 voice_square_1 0, 2, 0, 0, 15, 0 @ 8679214 voice_square_1 0, 2, 0, 0, 15, 0 @ 8679220 voice_square_1 0, 2, 0, 0, 15, 0 @ 867922C - voice_keysplit voicegroup_8677108, KeySplitTable4 @ 8679238 + voice_keysplit voicegroup008, KeySplitTable4 @ 8679238 voice_square_1 0, 2, 0, 0, 15, 0 @ 8679244 - voice_keysplit voicegroup_8677120, KeySplitTable5 @ 8679250 + voice_keysplit voicegroup009, KeySplitTable5 @ 8679250 voice_square_1 0, 2, 0, 0, 15, 0 @ 867925C voice_square_1 0, 2, 0, 0, 15, 0 @ 8679268 voice_square_1 0, 2, 0, 0, 15, 0 @ 8679274 @@ -1221,9 +1221,9 @@ voicegroup_8678F80:: @ 8678F80 voice_square_1_alt 0, 1, 0, 0, 6, 2 @ 86793B8 .align 2 -voicegroup_86793C4:: @ 86793C4 - voice_keysplit_all voicegroup_8675FEC @ 86793C4 - voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 86793D0 +voicegroup018:: @ 86793C4 + voice_keysplit_all voicegroup001 @ 86793C4 + voice_keysplit voicegroup005, KeySplitTable1 @ 86793D0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86793DC voice_square_1 0, 2, 0, 0, 15, 0 @ 86793E8 voice_square_2_alt 0, 0, 1, 7, 1 @ 86793F4 @@ -1270,7 +1270,7 @@ voicegroup_86793C4:: @ 86793C4 voice_directsound 60, 0, DirectSoundWaveData_8726EF0, 255, 216, 0, 165 @ 86795E0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86795EC voice_square_1 0, 2, 0, 0, 15, 0 @ 86795F8 - voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 8679604 + voice_keysplit voicegroup006, KeySplitTable2 @ 8679604 voice_square_1 0, 2, 0, 0, 15, 0 @ 8679610 voice_square_1 0, 2, 0, 0, 15, 0 @ 867961C voice_square_1 0, 2, 0, 0, 15, 0 @ 8679628 @@ -1352,7 +1352,7 @@ voicegroup_86793C4:: @ 86793C4 voice_noise_alt 1, 0, 1, 0, 3 @ 86799B8 .align 2 -voicegroup_86799C4:: @ 86799C4 +voicegroup019:: @ 86799C4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86799C4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86799D0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86799DC @@ -1401,7 +1401,7 @@ voicegroup_86799C4:: @ 86799C4 voice_directsound 60, 0, DirectSoundWaveData_8726EF0, 255, 216, 0, 165 @ 8679BE0 voice_square_1 0, 2, 0, 0, 15, 0 @ 8679BEC voice_square_1 0, 2, 0, 0, 15, 0 @ 8679BF8 - voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 8679C04 + voice_keysplit voicegroup006, KeySplitTable2 @ 8679C04 voice_square_1 0, 2, 0, 0, 15, 0 @ 8679C10 voice_square_1 0, 2, 0, 0, 15, 0 @ 8679C1C voice_square_1 0, 2, 0, 0, 15, 0 @ 8679C28 @@ -1411,9 +1411,9 @@ voicegroup_86799C4:: @ 86799C4 voice_square_1 0, 2, 0, 0, 15, 0 @ 8679C58 voice_square_1 0, 2, 0, 0, 15, 0 @ 8679C64 voice_square_1 0, 2, 0, 0, 15, 0 @ 8679C70 - voice_keysplit voicegroup_8677108, KeySplitTable4 @ 8679C7C + voice_keysplit voicegroup008, KeySplitTable4 @ 8679C7C voice_square_1 0, 2, 0, 0, 15, 0 @ 8679C88 - voice_keysplit voicegroup_8677120, KeySplitTable5 @ 8679C94 + voice_keysplit voicegroup009, KeySplitTable5 @ 8679C94 voice_square_1 0, 2, 0, 0, 15, 0 @ 8679CA0 voice_square_1 0, 2, 0, 0, 15, 0 @ 8679CAC voice_square_1 0, 2, 0, 0, 15, 0 @ 8679CB8 @@ -1440,8 +1440,8 @@ voicegroup_86799C4:: @ 86799C4 voice_square_1_alt 0, 1, 0, 0, 7, 1 @ 8679DB4 .align 2 -voicegroup_8679DC0:: @ 8679DC0 - voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 8679DC0 +voicegroup020:: @ 8679DC0 + voice_keysplit voicegroup005, KeySplitTable1 @ 8679DC0 voice_square_1 0, 2, 0, 0, 15, 0 @ 8679DCC voice_square_1 0, 2, 0, 0, 15, 0 @ 8679DD8 voice_square_1 0, 2, 0, 0, 15, 0 @ 8679DE4 @@ -1489,7 +1489,7 @@ voicegroup_8679DC0:: @ 8679DC0 voice_directsound 60, 0, DirectSoundWaveData_8726EF0, 255, 216, 0, 165 @ 8679FDC voice_square_1 0, 2, 0, 0, 15, 0 @ 8679FE8 voice_square_1 0, 2, 0, 0, 15, 0 @ 8679FF4 - voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 867A000 + voice_keysplit voicegroup006, KeySplitTable2 @ 867A000 voice_square_1 0, 2, 0, 0, 15, 0 @ 867A00C voice_square_1 0, 2, 0, 0, 15, 0 @ 867A018 voice_square_1 0, 2, 0, 0, 15, 0 @ 867A024 @@ -1499,7 +1499,7 @@ voicegroup_8679DC0:: @ 8679DC0 voice_square_1 0, 2, 0, 0, 15, 0 @ 867A054 voice_square_1 0, 2, 0, 0, 15, 0 @ 867A060 voice_square_1 0, 2, 0, 0, 15, 0 @ 867A06C - voice_keysplit voicegroup_8677108, KeySplitTable4 @ 867A078 + voice_keysplit voicegroup008, KeySplitTable4 @ 867A078 voice_square_1 0, 2, 0, 0, 15, 0 @ 867A084 voice_square_1 0, 2, 0, 0, 15, 0 @ 867A090 voice_square_1 0, 2, 0, 0, 15, 0 @ 867A09C @@ -1530,8 +1530,8 @@ voicegroup_8679DC0:: @ 8679DC0 voice_square_1 0, 2, 0, 0, 7, 1 @ 867A1C8 .align 2 -voicegroup_867A1D4:: @ 867A1D4 - voice_keysplit_all voicegroup_8675FEC @ 867A1D4 +voicegroup021:: @ 867A1D4 + voice_keysplit_all voicegroup001 @ 867A1D4 voice_square_1 0, 2, 0, 0, 15, 0 @ 867A1E0 voice_square_2_alt 3, 0, 2, 0, 0 @ 867A1EC voice_square_1 0, 2, 0, 0, 15, 0 @ 867A1F8 @@ -1579,22 +1579,22 @@ voicegroup_867A1D4:: @ 867A1D4 voice_square_1 0, 2, 0, 0, 15, 0 @ 867A3F0 voice_square_1 0, 2, 0, 0, 15, 0 @ 867A3FC voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 246, 0, 226 @ 867A408 - voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 867A414 + voice_keysplit voicegroup006, KeySplitTable2 @ 867A414 voice_square_1 0, 2, 0, 0, 15, 0 @ 867A420 voice_square_1 0, 2, 0, 0, 15, 0 @ 867A42C .align 2 -voicegroup_867A438:: @ 867A438 +voicegroup022:: @ 867A438 voice_square_1 0, 2, 0, 0, 15, 0 @ 867A438 voice_square_1 0, 2, 0, 0, 15, 0 @ 867A444 voice_square_1 0, 2, 0, 0, 15, 0 @ 867A450 voice_square_1 0, 2, 0, 0, 15, 0 @ 867A45C voice_square_1 0, 2, 0, 0, 15, 0 @ 867A468 - voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 867A474 + voice_keysplit voicegroup007, KeySplitTable3 @ 867A474 voice_square_1 0, 2, 0, 0, 15, 0 @ 867A480 - voice_keysplit voicegroup_8677108, KeySplitTable4 @ 867A48C + voice_keysplit voicegroup008, KeySplitTable4 @ 867A48C voice_square_1 0, 2, 0, 0, 15, 0 @ 867A498 - voice_keysplit voicegroup_8677120, KeySplitTable5 @ 867A4A4 + voice_keysplit voicegroup009, KeySplitTable5 @ 867A4A4 voice_square_1 0, 2, 0, 0, 15, 0 @ 867A4B0 voice_square_1 0, 2, 0, 0, 15, 0 @ 867A4BC voice_square_1 0, 2, 0, 0, 15, 0 @ 867A4C8 @@ -1652,9 +1652,9 @@ voicegroup_867A438:: @ 867A438 voice_directsound_no_resample 72, 61, DirectSoundWaveData_86CCAFC, 255, 0, 255, 0 @ 867A738 .align 2 -voicegroup_867A744:: @ 867A744 - voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 867A744 - voice_keysplit_all voicegroup_8675FEC @ 867A750 +voicegroup023:: @ 867A744 + voice_keysplit voicegroup005, KeySplitTable1 @ 867A744 + voice_keysplit_all voicegroup001 @ 867A750 voice_square_1 0, 2, 0, 0, 15, 0 @ 867A75C voice_square_1 0, 2, 0, 0, 15, 0 @ 867A768 voice_square_1 0, 2, 0, 0, 15, 0 @ 867A774 @@ -1701,7 +1701,7 @@ voicegroup_867A744:: @ 867A744 voice_square_1 0, 2, 0, 0, 15, 0 @ 867A960 voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 246, 0, 235 @ 867A96C voice_square_1 0, 2, 0, 0, 15, 0 @ 867A978 - voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 867A984 + voice_keysplit voicegroup006, KeySplitTable2 @ 867A984 voice_square_1 0, 2, 0, 0, 15, 0 @ 867A990 voice_square_1 0, 2, 0, 0, 15, 0 @ 867A99C voice_square_1 0, 2, 0, 0, 15, 0 @ 867A9A8 @@ -1709,7 +1709,7 @@ voicegroup_867A744:: @ 867A744 voice_square_1 0, 2, 0, 0, 15, 0 @ 867A9C0 voice_square_1 0, 2, 0, 0, 15, 0 @ 867A9CC voice_square_1 0, 2, 0, 0, 15, 0 @ 867A9D8 - voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 867A9E4 + voice_keysplit voicegroup007, KeySplitTable3 @ 867A9E4 voice_square_1 0, 2, 0, 0, 15, 0 @ 867A9F0 voice_square_1 0, 2, 0, 0, 15, 0 @ 867A9FC voice_square_1 0, 2, 0, 0, 15, 0 @ 867AA08 @@ -1744,8 +1744,8 @@ voicegroup_867A744:: @ 867A744 voice_square_1_alt 0, 3, 0, 0, 7, 0 @ 867AB64 .align 2 -voicegroup_867AB70:: @ 867AB70 - voice_keysplit_all voicegroup_8675FEC @ 867AB70 +voicegroup024:: @ 867AB70 + voice_keysplit_all voicegroup001 @ 867AB70 voice_square_1 0, 2, 0, 0, 15, 0 @ 867AB7C voice_square_1 0, 2, 0, 0, 15, 0 @ 867AB88 voice_square_1 0, 2, 0, 0, 15, 0 @ 867AB94 @@ -1793,7 +1793,7 @@ voicegroup_867AB70:: @ 867AB70 voice_directsound 60, 0, DirectSoundWaveData_8726EF0, 255, 216, 0, 165 @ 867AD8C voice_square_1 0, 2, 0, 0, 15, 0 @ 867AD98 voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 246, 0, 226 @ 867ADA4 - voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 867ADB0 + voice_keysplit voicegroup006, KeySplitTable2 @ 867ADB0 voice_square_1 0, 2, 0, 0, 15, 0 @ 867ADBC voice_square_1 0, 2, 0, 0, 15, 0 @ 867ADC8 voice_square_1 0, 2, 0, 0, 15, 0 @ 867ADD4 @@ -1801,11 +1801,11 @@ voicegroup_867AB70:: @ 867AB70 voice_square_1 0, 2, 0, 0, 15, 0 @ 867ADEC voice_square_1 0, 2, 0, 0, 15, 0 @ 867ADF8 voice_square_1 0, 2, 0, 0, 15, 0 @ 867AE04 - voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 867AE10 + voice_keysplit voicegroup007, KeySplitTable3 @ 867AE10 voice_square_1 0, 2, 0, 0, 15, 0 @ 867AE1C voice_square_1 0, 2, 0, 0, 15, 0 @ 867AE28 voice_square_1 0, 2, 0, 0, 15, 0 @ 867AE34 - voice_keysplit voicegroup_8677120, KeySplitTable5 @ 867AE40 + voice_keysplit voicegroup009, KeySplitTable5 @ 867AE40 voice_square_1 0, 2, 0, 0, 15, 0 @ 867AE4C voice_square_1 0, 2, 0, 0, 15, 0 @ 867AE58 voice_square_1 0, 2, 0, 0, 15, 0 @ 867AE64 @@ -1838,8 +1838,8 @@ voicegroup_867AB70:: @ 867AB70 voice_programmable_wave_alt ProgrammableWaveData_86B4890, 0, 7, 15, 1 @ 867AFA8 .align 2 -voicegroup_867AFB4:: @ 867AFB4 - voice_keysplit_all voicegroup_8675FEC @ 867AFB4 +voicegroup025:: @ 867AFB4 + voice_keysplit_all voicegroup001 @ 867AFB4 voice_square_1 0, 2, 0, 0, 15, 0 @ 867AFC0 voice_square_1 0, 2, 0, 0, 15, 0 @ 867AFCC voice_square_1 0, 2, 0, 0, 15, 0 @ 867AFD8 @@ -1895,9 +1895,9 @@ voicegroup_867AFB4:: @ 867AFB4 voice_square_1 0, 2, 0, 0, 15, 0 @ 867B230 voice_square_1 0, 2, 0, 0, 15, 0 @ 867B23C voice_square_1 0, 2, 0, 0, 15, 0 @ 867B248 - voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 867B254 + voice_keysplit voicegroup007, KeySplitTable3 @ 867B254 voice_square_1 0, 2, 0, 0, 15, 0 @ 867B260 - voice_keysplit voicegroup_8677108, KeySplitTable4 @ 867B26C + voice_keysplit voicegroup008, KeySplitTable4 @ 867B26C voice_square_1 0, 2, 0, 0, 15, 0 @ 867B278 voice_square_1 0, 2, 0, 0, 15, 0 @ 867B284 voice_square_1 0, 2, 0, 0, 15, 0 @ 867B290 @@ -1925,8 +1925,8 @@ voicegroup_867AFB4:: @ 867AFB4 voice_square_2_alt 2, 0, 1, 0, 0 @ 867B398 .align 2 -voicegroup_867B3A4:: @ 867B3A4 - voice_keysplit_all voicegroup_8675FEC @ 867B3A4 +voicegroup026:: @ 867B3A4 + voice_keysplit_all voicegroup001 @ 867B3A4 voice_square_1 0, 2, 0, 0, 15, 0 @ 867B3B0 voice_square_1 0, 2, 0, 0, 15, 0 @ 867B3BC voice_square_1 0, 2, 0, 0, 15, 0 @ 867B3C8 @@ -1986,7 +1986,7 @@ voicegroup_867B3A4:: @ 867B3A4 voice_square_1 0, 2, 0, 0, 15, 0 @ 867B650 voice_square_1 0, 2, 0, 0, 15, 0 @ 867B65C voice_square_1 0, 2, 0, 0, 15, 0 @ 867B668 - voice_keysplit voicegroup_8677120, KeySplitTable5 @ 867B674 + voice_keysplit voicegroup009, KeySplitTable5 @ 867B674 voice_square_1 0, 2, 0, 0, 15, 0 @ 867B680 voice_square_1 0, 2, 0, 0, 15, 0 @ 867B68C voice_square_1 0, 2, 0, 0, 15, 0 @ 867B698 @@ -2013,9 +2013,9 @@ voicegroup_867B3A4:: @ 867B3A4 voice_square_1_alt 0, 3, 0, 1, 7, 0 @ 867B794 .align 2 -voicegroup_867B7A0:: @ 867B7A0 - voice_keysplit_all voicegroup_8675FEC @ 867B7A0 - voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 867B7AC +voicegroup027:: @ 867B7A0 + voice_keysplit_all voicegroup001 @ 867B7A0 + voice_keysplit voicegroup005, KeySplitTable1 @ 867B7AC voice_square_1 0, 2, 0, 0, 15, 0 @ 867B7B8 voice_square_1 0, 2, 0, 0, 15, 0 @ 867B7C4 voice_square_1 0, 2, 0, 0, 15, 0 @ 867B7D0 @@ -2144,8 +2144,8 @@ voicegroup_867B7A0:: @ 867B7A0 voice_noise_alt 0, 0, 1, 0, 2 @ 867BD94 .align 2 -voicegroup_867BDA0:: @ 867BDA0 - voice_keysplit_all voicegroup_8675FEC @ 867BDA0 +voicegroup028:: @ 867BDA0 + voice_keysplit_all voicegroup001 @ 867BDA0 voice_square_1 0, 2, 0, 0, 15, 0 @ 867BDAC voice_square_1 0, 3, 0, 1, 0, 0 @ 867BDB8 voice_square_1 0, 2, 0, 0, 15, 0 @ 867BDC4 @@ -2201,7 +2201,7 @@ voicegroup_867BDA0:: @ 867BDA0 voice_square_1 0, 2, 0, 0, 15, 0 @ 867C01C voice_square_1 0, 2, 0, 0, 15, 0 @ 867C028 voice_square_1 0, 2, 0, 0, 15, 0 @ 867C034 - voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 867C040 + voice_keysplit voicegroup007, KeySplitTable3 @ 867C040 voice_square_1 0, 2, 0, 0, 15, 0 @ 867C04C voice_square_1 0, 2, 0, 0, 15, 0 @ 867C058 voice_square_1 0, 2, 0, 0, 15, 0 @ 867C064 @@ -2230,8 +2230,8 @@ voicegroup_867BDA0:: @ 867BDA0 voice_square_2 3, 0, 4, 0, 0 @ 867C178 .align 2 -voicegroup_867C184:: @ 867C184 - voice_keysplit_all voicegroup_8675FEC @ 867C184 +voicegroup029:: @ 867C184 + voice_keysplit_all voicegroup001 @ 867C184 voice_square_1 0, 2, 0, 0, 15, 0 @ 867C190 voice_square_1 0, 2, 0, 0, 15, 0 @ 867C19C voice_square_1 0, 2, 0, 0, 15, 0 @ 867C1A8 @@ -2279,7 +2279,7 @@ voicegroup_867C184:: @ 867C184 voice_directsound 60, 0, DirectSoundWaveData_8726EF0, 255, 216, 0, 165 @ 867C3A0 voice_square_1 0, 2, 0, 0, 15, 0 @ 867C3AC voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 246, 0, 226 @ 867C3B8 - voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 867C3C4 + voice_keysplit voicegroup006, KeySplitTable2 @ 867C3C4 voice_square_1 0, 2, 0, 0, 15, 0 @ 867C3D0 voice_square_1 0, 2, 0, 0, 15, 0 @ 867C3DC voice_square_1 0, 2, 0, 0, 15, 0 @ 867C3E8 @@ -2287,11 +2287,11 @@ voicegroup_867C184:: @ 867C184 voice_square_1 0, 2, 0, 0, 15, 0 @ 867C400 voice_square_1 0, 2, 0, 0, 15, 0 @ 867C40C voice_square_1 0, 2, 0, 0, 15, 0 @ 867C418 - voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 867C424 + voice_keysplit voicegroup007, KeySplitTable3 @ 867C424 voice_square_1 0, 2, 0, 0, 15, 0 @ 867C430 voice_square_1 0, 2, 0, 0, 15, 0 @ 867C43C voice_square_1 0, 2, 0, 0, 15, 0 @ 867C448 - voice_keysplit voicegroup_8677120, KeySplitTable5 @ 867C454 + voice_keysplit voicegroup009, KeySplitTable5 @ 867C454 voice_square_1 0, 2, 0, 0, 15, 0 @ 867C460 voice_square_1 0, 2, 0, 0, 15, 0 @ 867C46C voice_square_1 0, 2, 0, 0, 15, 0 @ 867C478 @@ -2321,9 +2321,9 @@ voicegroup_867C184:: @ 867C184 voice_square_1_alt 0, 0, 0, 1, 7, 0 @ 867C598 .align 2 -voicegroup_867C5A4:: @ 867C5A4 - voice_keysplit_all voicegroup_867C838 @ 867C5A4 - voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 867C5B0 +voicegroup030:: @ 867C5A4 + voice_keysplit_all voicegroup031 @ 867C5A4 + voice_keysplit voicegroup005, KeySplitTable1 @ 867C5B0 voice_square_1 0, 2, 0, 0, 15, 0 @ 867C5BC voice_square_1 0, 2, 0, 0, 15, 0 @ 867C5C8 voice_square_1 0, 2, 0, 0, 15, 0 @ 867C5D4 @@ -2379,13 +2379,13 @@ voicegroup_867C5A4:: @ 867C5A4 voice_square_1 0, 2, 0, 0, 15, 0 @ 867C82C .align 2 -voicegroup_867C838:: @ 867C838 +voicegroup031:: @ 867C838 voice_square_1 0, 2, 0, 0, 15, 0 @ 867C838 voice_square_1 0, 2, 0, 0, 15, 0 @ 867C844 voice_square_1 0, 2, 0, 0, 15, 0 @ 867C850 voice_square_1 0, 2, 0, 0, 15, 0 @ 867C85C voice_square_1 0, 2, 0, 0, 15, 0 @ 867C868 - voice_keysplit voicegroup_8677120, KeySplitTable5 @ 867C874 + voice_keysplit voicegroup009, KeySplitTable5 @ 867C874 voice_square_1 0, 2, 0, 0, 15, 0 @ 867C880 voice_square_1 0, 2, 0, 0, 15, 0 @ 867C88C voice_square_1 0, 2, 0, 0, 15, 0 @ 867C898 @@ -2447,9 +2447,9 @@ voicegroup_867C838:: @ 867C838 voice_directsound_no_resample 72, 74, DirectSoundWaveData_86CCAFC, 255, 0, 255, 0 @ 867CB38 .align 2 -voicegroup_867CB44:: @ 867CB44 - voice_keysplit_all voicegroup_8678C74 @ 867CB44 - voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 867CB50 +voicegroup032:: @ 867CB44 + voice_keysplit_all voicegroup016 @ 867CB44 + voice_keysplit voicegroup005, KeySplitTable1 @ 867CB50 voice_square_1 0, 2, 0, 0, 15, 0 @ 867CB5C voice_square_1 0, 2, 0, 0, 15, 0 @ 867CB68 voice_square_1 0, 2, 0, 0, 15, 0 @ 867CB74 @@ -2578,8 +2578,8 @@ voicegroup_867CB44:: @ 867CB44 voice_noise_alt 0, 0, 1, 0, 2 @ 867D138 .align 2 -voicegroup_867D144:: @ 867D144 - voice_keysplit_all voicegroup_8675FEC @ 867D144 +voicegroup033:: @ 867D144 + voice_keysplit_all voicegroup001 @ 867D144 voice_square_1 0, 2, 0, 0, 15, 0 @ 867D150 voice_square_1 0, 2, 0, 0, 15, 0 @ 867D15C voice_square_1 0, 2, 0, 0, 15, 0 @ 867D168 @@ -2627,7 +2627,7 @@ voicegroup_867D144:: @ 867D144 voice_square_1 0, 2, 0, 0, 15, 0 @ 867D360 voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 246, 0, 235 @ 867D36C voice_square_1 0, 2, 0, 0, 15, 0 @ 867D378 - voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 867D384 + voice_keysplit voicegroup006, KeySplitTable2 @ 867D384 voice_square_1 0, 2, 0, 0, 15, 0 @ 867D390 voice_square_1 0, 2, 0, 0, 15, 0 @ 867D39C voice_square_1 0, 2, 0, 0, 15, 0 @ 867D3A8 @@ -2639,7 +2639,7 @@ voicegroup_867D144:: @ 867D144 voice_square_1 0, 2, 0, 0, 15, 0 @ 867D3F0 voice_square_1 0, 2, 0, 0, 15, 0 @ 867D3FC voice_square_1 0, 2, 0, 0, 15, 0 @ 867D408 - voice_keysplit voicegroup_8677120, KeySplitTable5 @ 867D414 + voice_keysplit voicegroup009, KeySplitTable5 @ 867D414 voice_square_1 0, 2, 0, 0, 15, 0 @ 867D420 voice_square_1 0, 2, 0, 0, 15, 0 @ 867D42C voice_square_1 0, 2, 0, 0, 15, 0 @ 867D438 @@ -2664,9 +2664,9 @@ voicegroup_867D144:: @ 867D144 voice_square_1_alt 0, 2, 0, 1, 4, 1 @ 867D51C .align 2 -voicegroup_867D528:: @ 867D528 - voice_keysplit_all voicegroup_8675FEC @ 867D528 - voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 867D534 +voicegroup034:: @ 867D528 + voice_keysplit_all voicegroup001 @ 867D528 + voice_keysplit voicegroup005, KeySplitTable1 @ 867D534 voice_square_1 0, 2, 0, 0, 15, 0 @ 867D540 voice_square_1 0, 2, 0, 0, 15, 0 @ 867D54C voice_square_2 2, 0, 1, 4, 2 @ 867D558 @@ -2713,7 +2713,7 @@ voicegroup_867D528:: @ 867D528 voice_directsound 60, 0, DirectSoundWaveData_8726EF0, 255, 226, 0, 38 @ 867D744 voice_square_1 0, 2, 0, 0, 15, 0 @ 867D750 voice_square_1 0, 2, 0, 0, 15, 0 @ 867D75C - voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 867D768 + voice_keysplit voicegroup006, KeySplitTable2 @ 867D768 voice_square_1 0, 2, 0, 0, 15, 0 @ 867D774 voice_square_1 0, 2, 0, 0, 15, 0 @ 867D780 voice_square_1 0, 2, 0, 0, 15, 0 @ 867D78C @@ -2751,9 +2751,9 @@ voicegroup_867D528:: @ 867D528 voice_programmable_wave ProgrammableWaveData_86B4920, 0, 7, 15, 2 @ 867D90C .align 2 -voicegroup_867D918:: @ 867D918 - voice_keysplit_all voicegroup_867C838 @ 867D918 - voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 867D924 +voicegroup035:: @ 867D918 + voice_keysplit_all voicegroup031 @ 867D918 + voice_keysplit voicegroup005, KeySplitTable1 @ 867D924 voice_square_1 0, 2, 0, 0, 15, 0 @ 867D930 voice_square_1 0, 2, 0, 0, 15, 0 @ 867D93C voice_square_2_alt 2, 0, 1, 7, 1 @ 867D948 @@ -2800,7 +2800,7 @@ voicegroup_867D918:: @ 867D918 voice_square_1 0, 2, 0, 0, 15, 0 @ 867DB34 voice_square_1 0, 2, 0, 0, 15, 0 @ 867DB40 voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 246, 0, 226 @ 867DB4C - voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 867DB58 + voice_keysplit voicegroup006, KeySplitTable2 @ 867DB58 voice_square_1 0, 2, 0, 0, 15, 0 @ 867DB64 voice_square_1 0, 2, 0, 0, 15, 0 @ 867DB70 voice_square_1 0, 2, 0, 0, 15, 0 @ 867DB7C @@ -2808,11 +2808,11 @@ voicegroup_867D918:: @ 867D918 voice_square_1 0, 2, 0, 0, 15, 0 @ 867DB94 voice_square_1 0, 2, 0, 0, 15, 0 @ 867DBA0 voice_square_1 0, 2, 0, 0, 15, 0 @ 867DBAC - voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 867DBB8 + voice_keysplit voicegroup007, KeySplitTable3 @ 867DBB8 voice_square_1 0, 2, 0, 0, 15, 0 @ 867DBC4 voice_square_1 0, 2, 0, 0, 15, 0 @ 867DBD0 voice_square_1 0, 2, 0, 0, 15, 0 @ 867DBDC - voice_keysplit voicegroup_8677120, KeySplitTable5 @ 867DBE8 + voice_keysplit voicegroup009, KeySplitTable5 @ 867DBE8 voice_square_1 0, 2, 0, 0, 15, 0 @ 867DBF4 voice_square_1 0, 2, 0, 0, 15, 0 @ 867DC00 voice_square_1 0, 2, 0, 0, 15, 0 @ 867DC0C @@ -2839,8 +2839,8 @@ voicegroup_867D918:: @ 867D918 voice_square_1_alt 0, 3, 0, 0, 6, 1 @ 867DD08 .align 2 -voicegroup_867DD14:: @ 867DD14 - voice_keysplit_all voicegroup_8675FEC @ 867DD14 +voicegroup036:: @ 867DD14 + voice_keysplit_all voicegroup001 @ 867DD14 voice_square_1 0, 2, 0, 0, 15, 0 @ 867DD20 voice_square_1 0, 2, 0, 0, 15, 0 @ 867DD2C voice_square_1 0, 2, 0, 0, 15, 0 @ 867DD38 @@ -2888,7 +2888,7 @@ voicegroup_867DD14:: @ 867DD14 voice_directsound 60, 0, DirectSoundWaveData_8726EF0, 255, 216, 0, 165 @ 867DF30 voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 246, 0, 235 @ 867DF3C voice_square_1 0, 2, 0, 0, 15, 0 @ 867DF48 - voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 867DF54 + voice_keysplit voicegroup006, KeySplitTable2 @ 867DF54 voice_square_1 0, 2, 0, 0, 15, 0 @ 867DF60 voice_square_1 0, 2, 0, 0, 15, 0 @ 867DF6C voice_square_1 0, 2, 0, 0, 15, 0 @ 867DF78 @@ -2900,7 +2900,7 @@ voicegroup_867DD14:: @ 867DD14 voice_square_1 0, 2, 0, 0, 15, 0 @ 867DFC0 voice_square_1 0, 2, 0, 0, 15, 0 @ 867DFCC voice_square_1 0, 2, 0, 0, 15, 0 @ 867DFD8 - voice_keysplit voicegroup_8677120, KeySplitTable5 @ 867DFE4 + voice_keysplit voicegroup009, KeySplitTable5 @ 867DFE4 voice_square_1 0, 2, 0, 0, 15, 0 @ 867DFF0 voice_square_1 0, 2, 0, 0, 15, 0 @ 867DFFC voice_square_1 0, 2, 0, 0, 15, 0 @ 867E008 @@ -2970,8 +2970,8 @@ voicegroup_867DD14:: @ 867DD14 voice_noise_alt 0, 0, 1, 0, 2 @ 867E308 .align 2 -voicegroup_867E314:: @ 867E314 - voice_keysplit_all voicegroup_867C838 @ 867E314 +voicegroup037:: @ 867E314 + voice_keysplit_all voicegroup031 @ 867E314 voice_square_1 0, 2, 0, 0, 15, 0 @ 867E320 voice_square_1 0, 2, 0, 0, 15, 0 @ 867E32C voice_square_1 0, 2, 0, 0, 15, 0 @ 867E338 @@ -3019,7 +3019,7 @@ voicegroup_867E314:: @ 867E314 voice_square_1 0, 2, 0, 0, 15, 0 @ 867E530 voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 246, 0, 235 @ 867E53C voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 246, 0, 226 @ 867E548 - voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 867E554 + voice_keysplit voicegroup006, KeySplitTable2 @ 867E554 voice_square_1 0, 2, 0, 0, 15, 0 @ 867E560 voice_square_1 0, 2, 0, 0, 15, 0 @ 867E56C voice_square_1 0, 2, 0, 0, 15, 0 @ 867E578 @@ -3029,9 +3029,9 @@ voicegroup_867E314:: @ 867E314 voice_square_1 0, 2, 0, 0, 15, 0 @ 867E5A8 voice_square_1 0, 2, 0, 0, 15, 0 @ 867E5B4 voice_square_1 0, 2, 0, 0, 15, 0 @ 867E5C0 - voice_keysplit voicegroup_8677108, KeySplitTable4 @ 867E5CC + voice_keysplit voicegroup008, KeySplitTable4 @ 867E5CC voice_square_1 0, 2, 0, 0, 15, 0 @ 867E5D8 - voice_keysplit voicegroup_8677120, KeySplitTable5 @ 867E5E4 + voice_keysplit voicegroup009, KeySplitTable5 @ 867E5E4 voice_square_1 0, 2, 0, 0, 15, 0 @ 867E5F0 voice_square_1 0, 2, 0, 0, 15, 0 @ 867E5FC voice_square_1 0, 2, 0, 0, 15, 0 @ 867E608 @@ -3062,8 +3062,8 @@ voicegroup_867E314:: @ 867E314 voice_programmable_wave_alt ProgrammableWaveData_86B4890, 0, 7, 15, 2 @ 867E734 .align 2 -voicegroup_867E740:: @ 867E740 - voice_keysplit_all voicegroup_8675FEC @ 867E740 +voicegroup038:: @ 867E740 + voice_keysplit_all voicegroup001 @ 867E740 voice_square_1 0, 2, 0, 0, 15, 0 @ 867E74C voice_square_1 0, 2, 0, 0, 15, 0 @ 867E758 voice_square_1 0, 2, 0, 0, 15, 0 @ 867E764 @@ -3147,8 +3147,8 @@ voicegroup_867E740:: @ 867E740 voice_programmable_wave_alt ProgrammableWaveData_86B4850, 0, 7, 15, 0 @ 867EB0C .align 2 -voicegroup_867EB18:: @ 867EB18 - voice_keysplit_all voicegroup_8675FEC @ 867EB18 +voicegroup039:: @ 867EB18 + voice_keysplit_all voicegroup001 @ 867EB18 voice_square_1 0, 2, 0, 0, 15, 0 @ 867EB24 voice_square_1 0, 2, 0, 0, 15, 0 @ 867EB30 voice_square_1 0, 2, 0, 0, 15, 0 @ 867EB3C @@ -3196,7 +3196,7 @@ voicegroup_867EB18:: @ 867EB18 voice_square_1 0, 2, 0, 0, 15, 0 @ 867ED34 voice_square_1 0, 2, 0, 0, 15, 0 @ 867ED40 voice_square_1 0, 2, 0, 0, 15, 0 @ 867ED4C - voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 867ED58 + voice_keysplit voicegroup006, KeySplitTable2 @ 867ED58 voice_square_1 0, 2, 0, 0, 15, 0 @ 867ED64 voice_square_1 0, 2, 0, 0, 15, 0 @ 867ED70 voice_square_1 0, 2, 0, 0, 15, 0 @ 867ED7C @@ -3204,11 +3204,11 @@ voicegroup_867EB18:: @ 867EB18 voice_square_1 0, 2, 0, 0, 15, 0 @ 867ED94 voice_square_1 0, 2, 0, 0, 15, 0 @ 867EDA0 voice_square_1 0, 2, 0, 0, 15, 0 @ 867EDAC - voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 867EDB8 + voice_keysplit voicegroup007, KeySplitTable3 @ 867EDB8 voice_square_1 0, 2, 0, 0, 15, 0 @ 867EDC4 voice_square_1 0, 2, 0, 0, 15, 0 @ 867EDD0 voice_square_1 0, 2, 0, 0, 15, 0 @ 867EDDC - voice_keysplit voicegroup_8677120, KeySplitTable5 @ 867EDE8 + voice_keysplit voicegroup009, KeySplitTable5 @ 867EDE8 voice_square_1 0, 2, 0, 0, 15, 0 @ 867EDF4 voice_square_1 0, 2, 0, 0, 15, 0 @ 867EE00 voice_square_1 0, 2, 0, 0, 15, 0 @ 867EE0C @@ -3278,8 +3278,8 @@ voicegroup_867EB18:: @ 867EB18 voice_noise_alt 0, 0, 1, 0, 0 @ 867F10C .align 2 -voicegroup_867F118:: @ 867F118 - voice_keysplit_all voicegroup_8675FEC @ 867F118 +voicegroup040:: @ 867F118 + voice_keysplit_all voicegroup001 @ 867F118 voice_square_1 0, 2, 0, 0, 15, 0 @ 867F124 voice_square_1 0, 2, 0, 0, 15, 0 @ 867F130 voice_square_1 0, 2, 0, 0, 15, 0 @ 867F13C @@ -3327,7 +3327,7 @@ voicegroup_867F118:: @ 867F118 voice_square_1 0, 2, 0, 0, 15, 0 @ 867F334 voice_square_1 0, 2, 0, 0, 15, 0 @ 867F340 voice_square_1 0, 2, 0, 0, 15, 0 @ 867F34C - voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 867F358 + voice_keysplit voicegroup006, KeySplitTable2 @ 867F358 voice_square_1 0, 2, 0, 0, 15, 0 @ 867F364 voice_square_1 0, 2, 0, 0, 15, 0 @ 867F370 voice_square_1 0, 2, 0, 0, 15, 0 @ 867F37C @@ -3335,11 +3335,11 @@ voicegroup_867F118:: @ 867F118 voice_square_1 0, 2, 0, 0, 15, 0 @ 867F394 voice_square_1 0, 2, 0, 0, 15, 0 @ 867F3A0 voice_square_1 0, 2, 0, 0, 15, 0 @ 867F3AC - voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 867F3B8 + voice_keysplit voicegroup007, KeySplitTable3 @ 867F3B8 voice_square_1 0, 2, 0, 0, 15, 0 @ 867F3C4 voice_square_1 0, 2, 0, 0, 15, 0 @ 867F3D0 voice_square_1 0, 2, 0, 0, 15, 0 @ 867F3DC - voice_keysplit voicegroup_8677120, KeySplitTable5 @ 867F3E8 + voice_keysplit voicegroup009, KeySplitTable5 @ 867F3E8 voice_square_1 0, 2, 0, 0, 15, 0 @ 867F3F4 voice_square_1 0, 2, 0, 0, 15, 0 @ 867F400 voice_square_1 0, 2, 0, 0, 15, 0 @ 867F40C @@ -3409,8 +3409,8 @@ voicegroup_867F118:: @ 867F118 voice_noise_alt 0, 0, 1, 0, 0 @ 867F70C .align 2 -voicegroup_867F718:: @ 867F718 - voice_keysplit_all voicegroup_8675FEC @ 867F718 +voicegroup041:: @ 867F718 + voice_keysplit_all voicegroup001 @ 867F718 voice_square_1 0, 2, 0, 0, 15, 0 @ 867F724 voice_square_1 0, 2, 0, 0, 15, 0 @ 867F730 voice_square_1 0, 2, 0, 0, 15, 0 @ 867F73C @@ -3458,7 +3458,7 @@ voicegroup_867F718:: @ 867F718 voice_square_1 0, 2, 0, 0, 15, 0 @ 867F934 voice_square_1 0, 2, 0, 0, 15, 0 @ 867F940 voice_square_1 0, 2, 0, 0, 15, 0 @ 867F94C - voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 867F958 + voice_keysplit voicegroup006, KeySplitTable2 @ 867F958 voice_square_1 0, 2, 0, 0, 15, 0 @ 867F964 voice_square_1 0, 2, 0, 0, 15, 0 @ 867F970 voice_square_1 0, 2, 0, 0, 15, 0 @ 867F97C @@ -3466,11 +3466,11 @@ voicegroup_867F718:: @ 867F718 voice_square_1 0, 2, 0, 0, 15, 0 @ 867F994 voice_square_1 0, 2, 0, 0, 15, 0 @ 867F9A0 voice_square_1 0, 2, 0, 0, 15, 0 @ 867F9AC - voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 867F9B8 + voice_keysplit voicegroup007, KeySplitTable3 @ 867F9B8 voice_square_1 0, 2, 0, 0, 15, 0 @ 867F9C4 voice_square_1 0, 2, 0, 0, 15, 0 @ 867F9D0 voice_square_1 0, 2, 0, 0, 15, 0 @ 867F9DC - voice_keysplit voicegroup_8677120, KeySplitTable5 @ 867F9E8 + voice_keysplit voicegroup009, KeySplitTable5 @ 867F9E8 voice_square_1 0, 2, 0, 0, 15, 0 @ 867F9F4 voice_square_1 0, 2, 0, 0, 15, 0 @ 867FA00 voice_square_1 0, 2, 0, 0, 15, 0 @ 867FA0C @@ -3540,8 +3540,8 @@ voicegroup_867F718:: @ 867F718 voice_noise_alt 0, 0, 1, 0, 0 @ 867FD0C .align 2 -voicegroup_867FD18:: @ 867FD18 - voice_keysplit_all voicegroup_8675FEC @ 867FD18 +voicegroup042:: @ 867FD18 + voice_keysplit_all voicegroup001 @ 867FD18 voice_square_1 0, 2, 0, 0, 15, 0 @ 867FD24 voice_square_1 0, 2, 0, 0, 15, 0 @ 867FD30 voice_square_1 0, 2, 0, 0, 15, 0 @ 867FD3C @@ -3589,7 +3589,7 @@ voicegroup_867FD18:: @ 867FD18 voice_square_1 0, 2, 0, 0, 15, 0 @ 867FF34 voice_square_1 0, 2, 0, 0, 15, 0 @ 867FF40 voice_square_1 0, 2, 0, 0, 15, 0 @ 867FF4C - voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 867FF58 + voice_keysplit voicegroup006, KeySplitTable2 @ 867FF58 voice_square_1 0, 2, 0, 0, 15, 0 @ 867FF64 voice_square_1 0, 2, 0, 0, 15, 0 @ 867FF70 voice_square_1 0, 2, 0, 0, 15, 0 @ 867FF7C @@ -3597,11 +3597,11 @@ voicegroup_867FD18:: @ 867FD18 voice_square_1 0, 2, 0, 0, 15, 0 @ 867FF94 voice_square_1 0, 2, 0, 0, 15, 0 @ 867FFA0 voice_square_1 0, 2, 0, 0, 15, 0 @ 867FFAC - voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 867FFB8 + voice_keysplit voicegroup007, KeySplitTable3 @ 867FFB8 voice_square_1 0, 2, 0, 0, 15, 0 @ 867FFC4 voice_square_1 0, 2, 0, 0, 15, 0 @ 867FFD0 voice_square_1 0, 2, 0, 0, 15, 0 @ 867FFDC - voice_keysplit voicegroup_8677120, KeySplitTable5 @ 867FFE8 + voice_keysplit voicegroup009, KeySplitTable5 @ 867FFE8 voice_square_1 0, 2, 0, 0, 15, 0 @ 867FFF4 voice_square_1 0, 2, 0, 0, 15, 0 @ 8680000 voice_square_1 0, 2, 0, 0, 15, 0 @ 868000C @@ -3671,9 +3671,9 @@ voicegroup_867FD18:: @ 867FD18 voice_noise_alt 0, 0, 1, 0, 0 @ 868030C .align 2 -voicegroup_8680318:: @ 8680318 +voicegroup043:: @ 8680318 voice_square_1 0, 2, 0, 0, 15, 0 @ 8680318 - voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 8680324 + voice_keysplit voicegroup005, KeySplitTable1 @ 8680324 voice_square_1 0, 2, 0, 0, 15, 0 @ 8680330 voice_square_1 0, 2, 0, 0, 15, 0 @ 868033C voice_square_1 0, 2, 0, 0, 15, 0 @ 8680348 @@ -3720,7 +3720,7 @@ voicegroup_8680318:: @ 8680318 voice_square_1 0, 2, 0, 0, 15, 0 @ 8680534 voice_square_1 0, 2, 0, 0, 15, 0 @ 8680540 voice_square_1 0, 2, 0, 0, 15, 0 @ 868054C - voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 8680558 + voice_keysplit voicegroup006, KeySplitTable2 @ 8680558 voice_square_1 0, 2, 0, 0, 15, 0 @ 8680564 voice_square_1 0, 2, 0, 0, 15, 0 @ 8680570 voice_square_1 0, 2, 0, 0, 15, 0 @ 868057C @@ -3730,7 +3730,7 @@ voicegroup_8680318:: @ 8680318 voice_square_1 0, 2, 0, 0, 15, 0 @ 86805AC voice_square_1 0, 2, 0, 0, 15, 0 @ 86805B8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86805C4 - voice_keysplit voicegroup_8677108, KeySplitTable4 @ 86805D0 + voice_keysplit voicegroup008, KeySplitTable4 @ 86805D0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86805DC voice_square_1 0, 2, 0, 0, 15, 0 @ 86805E8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86805F4 @@ -3755,8 +3755,8 @@ voicegroup_8680318:: @ 8680318 voice_square_2_alt 1, 0, 2, 4, 0 @ 86806D8 .align 2 -voicegroup_86806E4:: @ 86806E4 - voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 86806E4 +voicegroup044:: @ 86806E4 + voice_keysplit voicegroup005, KeySplitTable1 @ 86806E4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86806F0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86806FC voice_square_1 0, 2, 0, 0, 15, 0 @ 8680708 @@ -3804,7 +3804,7 @@ voicegroup_86806E4:: @ 86806E4 voice_directsound 60, 0, DirectSoundWaveData_8726EF0, 255, 226, 0, 38 @ 8680900 voice_square_1 0, 2, 0, 0, 15, 0 @ 868090C voice_square_1 0, 2, 0, 0, 15, 0 @ 8680918 - voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 8680924 + voice_keysplit voicegroup006, KeySplitTable2 @ 8680924 voice_square_1 0, 2, 0, 0, 15, 0 @ 8680930 voice_square_1 0, 2, 0, 0, 15, 0 @ 868093C voice_square_1 0, 2, 0, 0, 15, 0 @ 8680948 @@ -3839,8 +3839,8 @@ voicegroup_86806E4:: @ 86806E4 voice_programmable_wave_alt ProgrammableWaveData_86B4880, 0, 7, 15, 1 @ 8680AA4 .align 2 -voicegroup_8680AB0:: @ 8680AB0 - voice_keysplit_all voicegroup_8675FEC @ 8680AB0 +voicegroup045:: @ 8680AB0 + voice_keysplit_all voicegroup001 @ 8680AB0 voice_square_1_alt 0, 1, 0, 2, 0, 1 @ 8680ABC voice_square_1_alt 0, 3, 1, 2, 6, 0 @ 8680AC8 voice_square_2_alt 3, 1, 2, 6, 0 @ 8680AD4 @@ -3850,7 +3850,7 @@ voicegroup_8680AB0:: @ 8680AB0 voice_programmable_wave_alt ProgrammableWaveData_86B4860, 1, 7, 15, 1 @ 8680B04 voice_square_1 0, 2, 0, 0, 15, 0 @ 8680B10 voice_square_1 0, 2, 0, 0, 15, 0 @ 8680B1C - voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 8680B28 + voice_keysplit voicegroup005, KeySplitTable1 @ 8680B28 voice_square_1 0, 2, 0, 0, 15, 0 @ 8680B34 voice_square_1 0, 2, 0, 0, 15, 0 @ 8680B40 voice_square_1 0, 2, 0, 0, 15, 0 @ 8680B4C @@ -3888,7 +3888,7 @@ voicegroup_8680AB0:: @ 8680AB0 voice_square_1 0, 2, 0, 0, 15, 0 @ 8680CCC voice_square_1 0, 2, 0, 0, 15, 0 @ 8680CD8 voice_square_1 0, 2, 0, 0, 15, 0 @ 8680CE4 - voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 8680CF0 + voice_keysplit voicegroup006, KeySplitTable2 @ 8680CF0 voice_square_1 0, 2, 0, 0, 15, 0 @ 8680CFC voice_square_1 0, 2, 0, 0, 15, 0 @ 8680D08 voice_square_1 0, 2, 0, 0, 15, 0 @ 8680D14 @@ -3970,8 +3970,8 @@ voicegroup_8680AB0:: @ 8680AB0 voice_noise_alt 0, 0, 1, 0, 0 @ 86810A4 .align 2 -voicegroup_86810B0:: @ 86810B0 - voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 86810B0 +voicegroup046:: @ 86810B0 + voice_keysplit voicegroup005, KeySplitTable1 @ 86810B0 voice_programmable_wave_alt ProgrammableWaveData_86B4900, 0, 1, 12, 0 @ 86810BC voice_square_1_alt 0, 0, 1, 1, 9, 0 @ 86810C8 voice_square_2_alt 2, 0, 2, 6, 3 @ 86810D4 @@ -4019,7 +4019,7 @@ voicegroup_86810B0:: @ 86810B0 voice_directsound 60, 0, DirectSoundWaveData_8726EF0, 255, 226, 0, 165 @ 86812CC voice_square_1 0, 2, 0, 0, 15, 0 @ 86812D8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86812E4 - voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 86812F0 + voice_keysplit voicegroup006, KeySplitTable2 @ 86812F0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86812FC voice_square_1 0, 2, 0, 0, 15, 0 @ 8681308 voice_square_1 0, 2, 0, 0, 15, 0 @ 8681314 @@ -4101,8 +4101,8 @@ voicegroup_86810B0:: @ 86810B0 voice_noise_alt 0, 0, 1, 0, 0 @ 86816A4 .align 2 -voicegroup_86816B0:: @ 86816B0 - voice_keysplit_all voicegroup_8675FEC @ 86816B0 +voicegroup047:: @ 86816B0 + voice_keysplit_all voicegroup001 @ 86816B0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86816BC voice_square_1 0, 2, 0, 0, 15, 0 @ 86816C8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86816D4 @@ -4150,7 +4150,7 @@ voicegroup_86816B0:: @ 86816B0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86818CC voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 242, 0, 204 @ 86818D8 voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 204, 193, 239 @ 86818E4 - voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 86818F0 + voice_keysplit voicegroup006, KeySplitTable2 @ 86818F0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86818FC voice_square_1 0, 2, 0, 0, 15, 0 @ 8681908 voice_square_1 0, 2, 0, 0, 15, 0 @ 8681914 @@ -4158,11 +4158,11 @@ voicegroup_86816B0:: @ 86816B0 voice_square_1 0, 2, 0, 0, 15, 0 @ 868192C voice_square_1 0, 2, 0, 0, 15, 0 @ 8681938 voice_square_1 0, 2, 0, 0, 15, 0 @ 8681944 - voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 8681950 + voice_keysplit voicegroup007, KeySplitTable3 @ 8681950 voice_square_1 0, 2, 0, 0, 15, 0 @ 868195C - voice_keysplit voicegroup_8677108, KeySplitTable4 @ 8681968 + voice_keysplit voicegroup008, KeySplitTable4 @ 8681968 voice_square_1 0, 2, 0, 0, 15, 0 @ 8681974 - voice_keysplit voicegroup_8677120, KeySplitTable5 @ 8681980 + voice_keysplit voicegroup009, KeySplitTable5 @ 8681980 voice_square_1 0, 2, 0, 0, 15, 0 @ 868198C voice_square_1 0, 2, 0, 0, 15, 0 @ 8681998 voice_square_1 0, 2, 0, 0, 15, 0 @ 86819A4 @@ -4232,8 +4232,8 @@ voicegroup_86816B0:: @ 86816B0 voice_noise_alt 0, 0, 1, 0, 0 @ 8681CA4 .align 2 -voicegroup_8681CB0:: @ 8681CB0 - voice_keysplit_all voicegroup_8675FEC @ 8681CB0 +voicegroup048:: @ 8681CB0 + voice_keysplit_all voicegroup001 @ 8681CB0 voice_square_1 0, 2, 0, 0, 15, 0 @ 8681CBC voice_square_1 0, 2, 0, 0, 15, 0 @ 8681CC8 voice_square_1 0, 2, 0, 0, 15, 0 @ 8681CD4 @@ -4281,7 +4281,7 @@ voicegroup_8681CB0:: @ 8681CB0 voice_square_1 0, 2, 0, 0, 15, 0 @ 8681ECC voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 242, 0, 242 @ 8681ED8 voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 0, 193, 239 @ 8681EE4 - voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 8681EF0 + voice_keysplit voicegroup006, KeySplitTable2 @ 8681EF0 voice_square_1 0, 2, 0, 0, 15, 0 @ 8681EFC voice_square_1 0, 2, 0, 0, 15, 0 @ 8681F08 voice_square_1 0, 2, 0, 0, 15, 0 @ 8681F14 @@ -4289,11 +4289,11 @@ voicegroup_8681CB0:: @ 8681CB0 voice_square_1 0, 2, 0, 0, 15, 0 @ 8681F2C voice_square_1 0, 2, 0, 0, 15, 0 @ 8681F38 voice_square_1 0, 2, 0, 0, 15, 0 @ 8681F44 - voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 8681F50 + voice_keysplit voicegroup007, KeySplitTable3 @ 8681F50 voice_square_1 0, 2, 0, 0, 15, 0 @ 8681F5C - voice_keysplit voicegroup_8677108, KeySplitTable4 @ 8681F68 + voice_keysplit voicegroup008, KeySplitTable4 @ 8681F68 voice_square_1 0, 2, 0, 0, 15, 0 @ 8681F74 - voice_keysplit voicegroup_8677120, KeySplitTable5 @ 8681F80 + voice_keysplit voicegroup009, KeySplitTable5 @ 8681F80 voice_square_1 0, 2, 0, 0, 15, 0 @ 8681F8C voice_square_1 0, 2, 0, 0, 15, 0 @ 8681F98 voice_square_1 0, 2, 0, 0, 15, 0 @ 8681FA4 @@ -4323,9 +4323,9 @@ voicegroup_8681CB0:: @ 8681CB0 voice_square_2_alt 0, 0, 2, 4, 0 @ 86820C4 .align 2 -voicegroup_86820D0:: @ 86820D0 - voice_keysplit_all voicegroup_8675FEC @ 86820D0 - voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 86820DC +voicegroup049:: @ 86820D0 + voice_keysplit_all voicegroup001 @ 86820D0 + voice_keysplit voicegroup005, KeySplitTable1 @ 86820DC voice_square_1 0, 2, 0, 0, 15, 0 @ 86820E8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86820F4 voice_square_1 0, 2, 0, 0, 15, 0 @ 8682100 @@ -4372,7 +4372,7 @@ voicegroup_86820D0:: @ 86820D0 voice_directsound 60, 0, DirectSoundWaveData_8726EF0, 255, 226, 0, 38 @ 86822EC voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 242, 0, 242 @ 86822F8 voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 0, 193, 226 @ 8682304 - voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 8682310 + voice_keysplit voicegroup006, KeySplitTable2 @ 8682310 voice_square_1 0, 2, 0, 0, 15, 0 @ 868231C voice_square_1 0, 2, 0, 0, 15, 0 @ 8682328 voice_square_1 0, 2, 0, 0, 15, 0 @ 8682334 @@ -4380,11 +4380,11 @@ voicegroup_86820D0:: @ 86820D0 voice_square_1 0, 2, 0, 0, 15, 0 @ 868234C voice_square_1 0, 2, 0, 0, 15, 0 @ 8682358 voice_square_1 0, 2, 0, 0, 15, 0 @ 8682364 - voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 8682370 + voice_keysplit voicegroup007, KeySplitTable3 @ 8682370 voice_square_1 0, 2, 0, 0, 15, 0 @ 868237C voice_square_1 0, 2, 0, 0, 15, 0 @ 8682388 voice_square_1 0, 2, 0, 0, 15, 0 @ 8682394 - voice_keysplit voicegroup_8677120, KeySplitTable5 @ 86823A0 + voice_keysplit voicegroup009, KeySplitTable5 @ 86823A0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86823AC voice_square_1 0, 2, 0, 0, 15, 0 @ 86823B8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86823C4 @@ -4454,9 +4454,9 @@ voicegroup_86820D0:: @ 86820D0 voice_noise_alt 0, 0, 1, 0, 0 @ 86826C4 .align 2 -voicegroup_86826D0:: @ 86826D0 - voice_keysplit_all voicegroup_8675FEC @ 86826D0 - voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 86826DC +voicegroup050:: @ 86826D0 + voice_keysplit_all voicegroup001 @ 86826D0 + voice_keysplit voicegroup005, KeySplitTable1 @ 86826DC voice_square_1 0, 2, 0, 0, 15, 0 @ 86826E8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86826F4 voice_square_1 0, 2, 0, 0, 15, 0 @ 8682700 @@ -4585,9 +4585,9 @@ voicegroup_86826D0:: @ 86826D0 voice_noise_alt 0, 0, 1, 0, 0 @ 8682CC4 .align 2 -voicegroup_8682CD0:: @ 8682CD0 - voice_keysplit_all voicegroup_8675FEC @ 8682CD0 - voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 8682CDC +voicegroup051:: @ 8682CD0 + voice_keysplit_all voicegroup001 @ 8682CD0 + voice_keysplit voicegroup005, KeySplitTable1 @ 8682CDC voice_square_1 0, 2, 0, 0, 15, 0 @ 8682CE8 voice_square_1 0, 2, 0, 0, 15, 0 @ 8682CF4 voice_square_2_alt 2, 1, 4, 4, 2 @ 8682D00 @@ -4634,7 +4634,7 @@ voicegroup_8682CD0:: @ 8682CD0 voice_directsound 60, 0, DirectSoundWaveData_8726EF0, 255, 226, 0, 99 @ 8682EEC voice_square_1 0, 2, 0, 0, 15, 0 @ 8682EF8 voice_square_1 0, 2, 0, 0, 15, 0 @ 8682F04 - voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 8682F10 + voice_keysplit voicegroup006, KeySplitTable2 @ 8682F10 voice_square_1 0, 2, 0, 0, 15, 0 @ 8682F1C voice_square_1 0, 2, 0, 0, 15, 0 @ 8682F28 voice_square_1 0, 2, 0, 0, 15, 0 @ 8682F34 @@ -4662,8 +4662,8 @@ voicegroup_8682CD0:: @ 8682CD0 voice_directsound 60, 0, DirectSoundWaveData_86FF65C, 255, 0, 255, 165 @ 868303C .align 2 -voicegroup_8683048:: @ 8683048 - voice_keysplit_all voicegroup_8675FEC @ 8683048 +voicegroup052:: @ 8683048 + voice_keysplit_all voicegroup001 @ 8683048 voice_square_1 0, 2, 0, 0, 15, 0 @ 8683054 voice_square_1 0, 3, 1, 2, 6, 0 @ 8683060 voice_square_2 3, 1, 2, 6, 0 @ 868306C @@ -4711,7 +4711,7 @@ voicegroup_8683048:: @ 8683048 voice_square_1 0, 2, 0, 0, 15, 0 @ 8683264 voice_square_1 0, 2, 0, 0, 15, 0 @ 8683270 voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 0, 193, 226 @ 868327C - voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 8683288 + voice_keysplit voicegroup006, KeySplitTable2 @ 8683288 voice_square_1 0, 2, 0, 0, 15, 0 @ 8683294 voice_square_1 0, 2, 0, 0, 15, 0 @ 86832A0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86832AC @@ -4719,11 +4719,11 @@ voicegroup_8683048:: @ 8683048 voice_square_1 0, 2, 0, 0, 15, 0 @ 86832C4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86832D0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86832DC - voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 86832E8 + voice_keysplit voicegroup007, KeySplitTable3 @ 86832E8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86832F4 - voice_keysplit voicegroup_8677108, KeySplitTable4 @ 8683300 + voice_keysplit voicegroup008, KeySplitTable4 @ 8683300 voice_square_1 0, 2, 0, 0, 15, 0 @ 868330C - voice_keysplit voicegroup_8677120, KeySplitTable5 @ 8683318 + voice_keysplit voicegroup009, KeySplitTable5 @ 8683318 voice_square_1 0, 2, 0, 0, 15, 0 @ 8683324 voice_square_1 0, 2, 0, 0, 15, 0 @ 8683330 voice_square_1 0, 2, 0, 0, 15, 0 @ 868333C @@ -4793,9 +4793,9 @@ voicegroup_8683048:: @ 8683048 voice_noise_alt 0, 0, 2, 0, 0 @ 868363C .align 2 -voicegroup_8683648:: @ 8683648 - voice_keysplit_all voicegroup_8675FEC @ 8683648 - voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 8683654 +voicegroup053:: @ 8683648 + voice_keysplit_all voicegroup001 @ 8683648 + voice_keysplit voicegroup005, KeySplitTable1 @ 8683654 voice_square_1 0, 2, 0, 0, 15, 0 @ 8683660 voice_square_1 0, 2, 0, 0, 15, 0 @ 868366C voice_square_1 0, 2, 0, 0, 15, 0 @ 8683678 @@ -4842,7 +4842,7 @@ voicegroup_8683648:: @ 8683648 voice_directsound 60, 0, DirectSoundWaveData_8726EF0, 255, 226, 0, 38 @ 8683864 voice_square_1 0, 2, 0, 0, 15, 0 @ 8683870 voice_square_1 0, 2, 0, 0, 15, 0 @ 868387C - voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 8683888 + voice_keysplit voicegroup006, KeySplitTable2 @ 8683888 voice_square_1 0, 2, 0, 0, 15, 0 @ 8683894 voice_square_1 0, 2, 0, 0, 15, 0 @ 86838A0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86838AC @@ -4924,8 +4924,8 @@ voicegroup_8683648:: @ 8683648 voice_noise_alt 0, 0, 1, 0, 0 @ 8683C3C .align 2 -voicegroup_8683C48:: @ 8683C48 - voice_keysplit_all voicegroup_8675FEC @ 8683C48 +voicegroup054:: @ 8683C48 + voice_keysplit_all voicegroup001 @ 8683C48 voice_square_1 0, 2, 0, 0, 15, 0 @ 8683C54 voice_square_1 0, 2, 0, 0, 15, 0 @ 8683C60 voice_square_1 0, 2, 0, 0, 15, 0 @ 8683C6C @@ -4973,7 +4973,7 @@ voicegroup_8683C48:: @ 8683C48 voice_directsound 60, 0, DirectSoundWaveData_8726EF0, 255, 226, 0, 38 @ 8683E64 voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 242, 0, 242 @ 8683E70 voice_square_1 0, 2, 0, 0, 15, 0 @ 8683E7C - voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 8683E88 + voice_keysplit voicegroup006, KeySplitTable2 @ 8683E88 voice_square_1 0, 2, 0, 0, 15, 0 @ 8683E94 voice_square_1 0, 2, 0, 0, 15, 0 @ 8683EA0 voice_square_1 0, 2, 0, 0, 15, 0 @ 8683EAC @@ -4983,9 +4983,9 @@ voicegroup_8683C48:: @ 8683C48 voice_square_1 0, 2, 0, 0, 15, 0 @ 8683EDC voice_square_1 0, 2, 0, 0, 15, 0 @ 8683EE8 voice_square_1 0, 2, 0, 0, 15, 0 @ 8683EF4 - voice_keysplit voicegroup_8677108, KeySplitTable4 @ 8683F00 + voice_keysplit voicegroup008, KeySplitTable4 @ 8683F00 voice_square_1 0, 2, 0, 0, 15, 0 @ 8683F0C - voice_keysplit voicegroup_8677120, KeySplitTable5 @ 8683F18 + voice_keysplit voicegroup009, KeySplitTable5 @ 8683F18 voice_square_1 0, 2, 0, 0, 15, 0 @ 8683F24 voice_square_1 0, 2, 0, 0, 15, 0 @ 8683F30 voice_square_1 0, 2, 0, 0, 15, 0 @ 8683F3C @@ -5055,8 +5055,8 @@ voicegroup_8683C48:: @ 8683C48 voice_noise_alt 0, 0, 1, 0, 0 @ 868423C .align 2 -voicegroup_8684248:: @ 8684248 - voice_keysplit_all voicegroup_8675FEC @ 8684248 +voicegroup055:: @ 8684248 + voice_keysplit_all voicegroup001 @ 8684248 voice_square_1 0, 2, 0, 0, 15, 0 @ 8684254 voice_square_1 0, 2, 0, 0, 15, 0 @ 8684260 voice_square_1 0, 2, 0, 0, 15, 0 @ 868426C @@ -5104,7 +5104,7 @@ voicegroup_8684248:: @ 8684248 voice_square_1 0, 2, 0, 0, 15, 0 @ 8684464 voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 242, 0, 204 @ 8684470 voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 204, 193, 239 @ 868447C - voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 8684488 + voice_keysplit voicegroup006, KeySplitTable2 @ 8684488 voice_square_1 0, 2, 0, 0, 15, 0 @ 8684494 voice_square_1 0, 2, 0, 0, 15, 0 @ 86844A0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86844AC @@ -5112,11 +5112,11 @@ voicegroup_8684248:: @ 8684248 voice_square_1 0, 2, 0, 0, 15, 0 @ 86844C4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86844D0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86844DC - voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 86844E8 + voice_keysplit voicegroup007, KeySplitTable3 @ 86844E8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86844F4 - voice_keysplit voicegroup_8677108, KeySplitTable4 @ 8684500 + voice_keysplit voicegroup008, KeySplitTable4 @ 8684500 voice_square_1 0, 2, 0, 0, 15, 0 @ 868450C - voice_keysplit voicegroup_8677120, KeySplitTable5 @ 8684518 + voice_keysplit voicegroup009, KeySplitTable5 @ 8684518 voice_square_1 0, 2, 0, 0, 15, 0 @ 8684524 voice_square_1 0, 2, 0, 0, 15, 0 @ 8684530 voice_square_1 0, 2, 0, 0, 15, 0 @ 868453C @@ -5186,8 +5186,8 @@ voicegroup_8684248:: @ 8684248 voice_noise_alt 0, 0, 1, 0, 0 @ 868483C .align 2 -voicegroup_8684848:: @ 8684848 - voice_keysplit_all voicegroup_8675FEC @ 8684848 +voicegroup056:: @ 8684848 + voice_keysplit_all voicegroup001 @ 8684848 voice_square_1 0, 2, 0, 0, 15, 0 @ 8684854 voice_square_1 0, 2, 0, 0, 15, 0 @ 8684860 voice_square_1 0, 2, 0, 0, 15, 0 @ 868486C @@ -5235,7 +5235,7 @@ voicegroup_8684848:: @ 8684848 voice_square_1 0, 2, 0, 0, 15, 0 @ 8684A64 voice_square_1 0, 2, 0, 0, 15, 0 @ 8684A70 voice_square_1 0, 2, 0, 0, 15, 0 @ 8684A7C - voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 8684A88 + voice_keysplit voicegroup006, KeySplitTable2 @ 8684A88 voice_square_1 0, 2, 0, 0, 15, 0 @ 8684A94 voice_square_1 0, 2, 0, 0, 15, 0 @ 8684AA0 voice_square_1 0, 2, 0, 0, 15, 0 @ 8684AAC @@ -5247,7 +5247,7 @@ voicegroup_8684848:: @ 8684848 voice_square_1 0, 2, 0, 0, 15, 0 @ 8684AF4 voice_square_1 0, 2, 0, 0, 15, 0 @ 8684B00 voice_square_1 0, 2, 0, 0, 15, 0 @ 8684B0C - voice_keysplit voicegroup_8677120, KeySplitTable5 @ 8684B18 + voice_keysplit voicegroup009, KeySplitTable5 @ 8684B18 voice_square_1 0, 2, 0, 0, 15, 0 @ 8684B24 voice_square_1 0, 2, 0, 0, 15, 0 @ 8684B30 voice_square_1 0, 2, 0, 0, 15, 0 @ 8684B3C @@ -5317,8 +5317,8 @@ voicegroup_8684848:: @ 8684848 voice_noise_alt 0, 0, 1, 0, 0 @ 8684E3C .align 2 -voicegroup_8684E48:: @ 8684E48 - voice_keysplit_all voicegroup_8675FEC @ 8684E48 +voicegroup057:: @ 8684E48 + voice_keysplit_all voicegroup001 @ 8684E48 voice_square_1 0, 2, 0, 0, 15, 0 @ 8684E54 voice_square_1 0, 2, 0, 0, 15, 0 @ 8684E60 voice_square_1 0, 2, 0, 0, 15, 0 @ 8684E6C @@ -5366,7 +5366,7 @@ voicegroup_8684E48:: @ 8684E48 voice_directsound 60, 0, DirectSoundWaveData_8726EF0, 255, 226, 0, 38 @ 8685064 voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 242, 0, 242 @ 8685070 voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 0, 193, 226 @ 868507C - voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 8685088 + voice_keysplit voicegroup006, KeySplitTable2 @ 8685088 voice_square_1 0, 2, 0, 0, 15, 0 @ 8685094 voice_square_1 0, 2, 0, 0, 15, 0 @ 86850A0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86850AC @@ -5448,8 +5448,8 @@ voicegroup_8684E48:: @ 8684E48 voice_noise_alt 0, 0, 1, 0, 0 @ 868543C .align 2 -voicegroup_8685448:: @ 8685448 - voice_keysplit_all voicegroup_8675FEC @ 8685448 +voicegroup058:: @ 8685448 + voice_keysplit_all voicegroup001 @ 8685448 voice_square_1 0, 2, 0, 0, 15, 0 @ 8685454 voice_square_1 0, 2, 0, 0, 15, 0 @ 8685460 voice_square_1 0, 2, 0, 0, 15, 0 @ 868546C @@ -5505,9 +5505,9 @@ voicegroup_8685448:: @ 8685448 voice_square_1 0, 2, 0, 0, 15, 0 @ 86856C4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86856D0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86856DC - voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 86856E8 + voice_keysplit voicegroup007, KeySplitTable3 @ 86856E8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86856F4 - voice_keysplit voicegroup_8677108, KeySplitTable4 @ 8685700 + voice_keysplit voicegroup008, KeySplitTable4 @ 8685700 voice_square_1 0, 2, 0, 0, 15, 0 @ 868570C voice_square_1 0, 2, 0, 0, 15, 0 @ 8685718 voice_square_1 0, 2, 0, 0, 15, 0 @ 8685724 @@ -5579,9 +5579,9 @@ voicegroup_8685448:: @ 8685448 voice_noise_alt 0, 0, 1, 0, 0 @ 8685A3C .align 2 -voicegroup_8685A48:: @ 8685A48 - voice_keysplit_all voicegroup_8675FEC @ 8685A48 - voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 8685A54 +voicegroup059:: @ 8685A48 + voice_keysplit_all voicegroup001 @ 8685A48 + voice_keysplit voicegroup005, KeySplitTable1 @ 8685A54 voice_square_1 0, 2, 0, 0, 15, 0 @ 8685A60 voice_square_1 0, 2, 0, 0, 15, 0 @ 8685A6C voice_square_2_alt 1, 1, 1, 6, 2 @ 8685A78 @@ -5628,7 +5628,7 @@ voicegroup_8685A48:: @ 8685A48 voice_square_1 0, 2, 0, 0, 15, 0 @ 8685C64 voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 242, 51, 242 @ 8685C70 voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 0, 180, 239 @ 8685C7C - voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 8685C88 + voice_keysplit voicegroup006, KeySplitTable2 @ 8685C88 voice_square_1 0, 2, 0, 0, 15, 0 @ 8685C94 voice_square_1 0, 2, 0, 0, 15, 0 @ 8685CA0 voice_square_1 0, 2, 0, 0, 15, 0 @ 8685CAC @@ -5636,11 +5636,11 @@ voicegroup_8685A48:: @ 8685A48 voice_square_1 0, 2, 0, 0, 15, 0 @ 8685CC4 voice_square_1 0, 2, 0, 0, 15, 0 @ 8685CD0 voice_square_1 0, 2, 0, 0, 15, 0 @ 8685CDC - voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 8685CE8 + voice_keysplit voicegroup007, KeySplitTable3 @ 8685CE8 voice_square_1 0, 2, 0, 0, 15, 0 @ 8685CF4 - voice_keysplit voicegroup_8677108, KeySplitTable4 @ 8685D00 + voice_keysplit voicegroup008, KeySplitTable4 @ 8685D00 voice_square_1 0, 2, 0, 0, 15, 0 @ 8685D0C - voice_keysplit voicegroup_8677120, KeySplitTable5 @ 8685D18 + voice_keysplit voicegroup009, KeySplitTable5 @ 8685D18 voice_square_1 0, 2, 0, 0, 15, 0 @ 8685D24 voice_square_1 0, 2, 0, 0, 15, 0 @ 8685D30 voice_square_1 0, 2, 0, 0, 15, 0 @ 8685D3C @@ -5671,9 +5671,9 @@ voicegroup_8685A48:: @ 8685A48 voice_square_2_alt 3, 0, 1, 6, 2 @ 8685E68 .align 2 -voicegroup_8685E74:: @ 8685E74 - voice_keysplit_all voicegroup_8675FEC @ 8685E74 - voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 8685E80 +voicegroup060:: @ 8685E74 + voice_keysplit_all voicegroup001 @ 8685E74 + voice_keysplit voicegroup005, KeySplitTable1 @ 8685E80 voice_square_1 0, 2, 0, 0, 15, 0 @ 8685E8C voice_square_1 0, 2, 0, 0, 15, 0 @ 8685E98 voice_square_1 0, 2, 0, 0, 15, 0 @ 8685EA4 @@ -5720,7 +5720,7 @@ voicegroup_8685E74:: @ 8685E74 voice_directsound 60, 0, DirectSoundWaveData_8726EF0, 128, 226, 0, 38 @ 8686090 voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 242, 51, 242 @ 868609C voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 0, 180, 246 @ 86860A8 - voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 86860B4 + voice_keysplit voicegroup006, KeySplitTable2 @ 86860B4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86860C0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86860CC voice_square_1 0, 2, 0, 0, 15, 0 @ 86860D8 @@ -5728,11 +5728,11 @@ voicegroup_8685E74:: @ 8685E74 voice_square_1 0, 2, 0, 0, 15, 0 @ 86860F0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86860FC voice_square_1 0, 2, 0, 0, 15, 0 @ 8686108 - voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 8686114 + voice_keysplit voicegroup007, KeySplitTable3 @ 8686114 voice_square_1 0, 2, 0, 0, 15, 0 @ 8686120 - voice_keysplit voicegroup_8677108, KeySplitTable4 @ 868612C + voice_keysplit voicegroup008, KeySplitTable4 @ 868612C voice_square_1 0, 2, 0, 0, 15, 0 @ 8686138 - voice_keysplit voicegroup_8677120, KeySplitTable5 @ 8686144 + voice_keysplit voicegroup009, KeySplitTable5 @ 8686144 voice_square_1 0, 2, 0, 0, 15, 0 @ 8686150 voice_square_1 0, 2, 0, 0, 15, 0 @ 868615C voice_square_1 0, 2, 0, 0, 15, 0 @ 8686168 @@ -5802,8 +5802,8 @@ voicegroup_8685E74:: @ 8685E74 voice_noise_alt 0, 0, 1, 0, 0 @ 8686468 .align 2 -voicegroup_8686474:: @ 8686474 - voice_keysplit_all voicegroup_8675FEC @ 8686474 +voicegroup061:: @ 8686474 + voice_keysplit_all voicegroup001 @ 8686474 voice_square_1 0, 2, 0, 0, 15, 0 @ 8686480 voice_square_1 0, 2, 0, 0, 15, 0 @ 868648C voice_square_1 0, 2, 0, 0, 15, 0 @ 8686498 @@ -5859,7 +5859,7 @@ voicegroup_8686474:: @ 8686474 voice_square_1 0, 2, 0, 0, 15, 0 @ 86866F0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86866FC voice_square_1 0, 2, 0, 0, 15, 0 @ 8686708 - voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 8686714 + voice_keysplit voicegroup007, KeySplitTable3 @ 8686714 voice_square_1 0, 2, 0, 0, 15, 0 @ 8686720 voice_square_1 0, 2, 0, 0, 15, 0 @ 868672C voice_square_1 0, 2, 0, 0, 15, 0 @ 8686738 @@ -5933,8 +5933,8 @@ voicegroup_8686474:: @ 8686474 voice_noise_alt 0, 0, 1, 0, 0 @ 8686A68 .align 2 -voicegroup_8686A74:: @ 8686A74 - voice_keysplit_all voicegroup_8675FEC @ 8686A74 +voicegroup062:: @ 8686A74 + voice_keysplit_all voicegroup001 @ 8686A74 voice_square_1 0, 2, 0, 0, 15, 0 @ 8686A80 voice_square_1 0, 2, 0, 0, 15, 0 @ 8686A8C voice_square_1 0, 2, 0, 0, 15, 0 @ 8686A98 @@ -5990,7 +5990,7 @@ voicegroup_8686A74:: @ 8686A74 voice_square_1 0, 2, 0, 0, 15, 0 @ 8686CF0 voice_square_1 0, 2, 0, 0, 15, 0 @ 8686CFC voice_square_1 0, 2, 0, 0, 15, 0 @ 8686D08 - voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 8686D14 + voice_keysplit voicegroup007, KeySplitTable3 @ 8686D14 voice_square_1 0, 2, 0, 0, 15, 0 @ 8686D20 voice_square_1 0, 2, 0, 0, 15, 0 @ 8686D2C voice_square_1 0, 2, 0, 0, 15, 0 @ 8686D38 @@ -6064,8 +6064,8 @@ voicegroup_8686A74:: @ 8686A74 voice_noise_alt 0, 0, 1, 0, 0 @ 8687068 .align 2 -voicegroup_8687074:: @ 8687074 - voice_keysplit_all voicegroup_8675FEC @ 8687074 +voicegroup063:: @ 8687074 + voice_keysplit_all voicegroup001 @ 8687074 voice_square_1 0, 2, 0, 0, 15, 0 @ 8687080 voice_square_1 0, 2, 0, 0, 15, 0 @ 868708C voice_square_1 0, 2, 0, 0, 15, 0 @ 8687098 @@ -6121,7 +6121,7 @@ voicegroup_8687074:: @ 8687074 voice_square_1 0, 2, 0, 0, 15, 0 @ 86872F0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86872FC voice_square_1 0, 2, 0, 0, 15, 0 @ 8687308 - voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 8687314 + voice_keysplit voicegroup007, KeySplitTable3 @ 8687314 voice_square_1 0, 2, 0, 0, 15, 0 @ 8687320 voice_square_1 0, 2, 0, 0, 15, 0 @ 868732C voice_square_1 0, 2, 0, 0, 15, 0 @ 8687338 @@ -6195,8 +6195,8 @@ voicegroup_8687074:: @ 8687074 voice_noise_alt 0, 0, 1, 0, 0 @ 8687668 .align 2 -voicegroup_8687674:: @ 8687674 - voice_keysplit_all voicegroup_8675FEC @ 8687674 +voicegroup064:: @ 8687674 + voice_keysplit_all voicegroup001 @ 8687674 voice_square_1 0, 2, 0, 0, 15, 0 @ 8687680 voice_square_1 0, 2, 0, 0, 15, 0 @ 868768C voice_square_1 0, 2, 0, 0, 15, 0 @ 8687698 @@ -6244,7 +6244,7 @@ voicegroup_8687674:: @ 8687674 voice_square_1 0, 2, 0, 0, 15, 0 @ 8687890 voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 242, 51, 242 @ 868789C voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 0, 180, 246 @ 86878A8 - voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 86878B4 + voice_keysplit voicegroup006, KeySplitTable2 @ 86878B4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86878C0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86878CC voice_square_1 0, 2, 0, 0, 15, 0 @ 86878D8 @@ -6256,7 +6256,7 @@ voicegroup_8687674:: @ 8687674 voice_square_1 0, 2, 0, 0, 15, 0 @ 8687920 voice_square_1 0, 2, 0, 0, 15, 0 @ 868792C voice_square_1 0, 2, 0, 0, 15, 0 @ 8687938 - voice_keysplit voicegroup_8677120, KeySplitTable5 @ 8687944 + voice_keysplit voicegroup009, KeySplitTable5 @ 8687944 voice_square_1 0, 2, 0, 0, 15, 0 @ 8687950 voice_square_1 0, 2, 0, 0, 15, 0 @ 868795C voice_square_1 0, 2, 0, 0, 15, 0 @ 8687968 @@ -6326,9 +6326,9 @@ voicegroup_8687674:: @ 8687674 voice_noise_alt 0, 0, 1, 0, 0 @ 8687C68 .align 2 -voicegroup_8687C74:: @ 8687C74 - voice_keysplit_all voicegroup_8675FEC @ 8687C74 - voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 8687C80 +voicegroup065:: @ 8687C74 + voice_keysplit_all voicegroup001 @ 8687C74 + voice_keysplit voicegroup005, KeySplitTable1 @ 8687C80 voice_square_1 0, 2, 0, 0, 15, 0 @ 8687C8C voice_square_1 0, 2, 0, 0, 15, 0 @ 8687C98 voice_square_1 0, 2, 0, 0, 15, 0 @ 8687CA4 @@ -6383,7 +6383,7 @@ voicegroup_8687C74:: @ 8687C74 voice_square_1 0, 2, 0, 0, 15, 0 @ 8687EF0 voice_square_1 0, 2, 0, 0, 15, 0 @ 8687EFC voice_square_1 0, 2, 0, 0, 15, 0 @ 8687F08 - voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 8687F14 + voice_keysplit voicegroup007, KeySplitTable3 @ 8687F14 voice_square_1 0, 2, 0, 0, 15, 0 @ 8687F20 voice_square_1 0, 2, 0, 0, 15, 0 @ 8687F2C voice_square_1 0, 2, 0, 0, 15, 0 @ 8687F38 @@ -6457,8 +6457,8 @@ voicegroup_8687C74:: @ 8687C74 voice_noise_alt 0, 0, 1, 0, 0 @ 8688268 .align 2 -voicegroup_8688274:: @ 8688274 - voice_keysplit_all voicegroup_8675FEC @ 8688274 +voicegroup066:: @ 8688274 + voice_keysplit_all voicegroup001 @ 8688274 voice_square_1 0, 2, 0, 0, 15, 0 @ 8688280 voice_square_1 0, 2, 0, 0, 15, 0 @ 868828C voice_square_1 0, 2, 0, 0, 15, 0 @ 8688298 @@ -6588,9 +6588,9 @@ voicegroup_8688274:: @ 8688274 voice_noise_alt 0, 0, 1, 0, 0 @ 8688868 .align 2 -voicegroup_8688874:: @ 8688874 - voice_keysplit_all voicegroup_8675FEC @ 8688874 - voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 8688880 +voicegroup067:: @ 8688874 + voice_keysplit_all voicegroup001 @ 8688874 + voice_keysplit voicegroup005, KeySplitTable1 @ 8688880 voice_square_1 0, 2, 0, 0, 15, 0 @ 868888C voice_square_1 0, 2, 0, 0, 15, 0 @ 8688898 voice_square_1 0, 2, 0, 0, 15, 0 @ 86888A4 @@ -6645,7 +6645,7 @@ voicegroup_8688874:: @ 8688874 voice_square_1 0, 2, 0, 0, 15, 0 @ 8688AF0 voice_square_1 0, 2, 0, 0, 15, 0 @ 8688AFC voice_square_1 0, 2, 0, 0, 15, 0 @ 8688B08 - voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 8688B14 + voice_keysplit voicegroup007, KeySplitTable3 @ 8688B14 voice_square_1 0, 2, 0, 0, 15, 0 @ 8688B20 voice_square_1 0, 2, 0, 0, 15, 0 @ 8688B2C voice_square_1 0, 2, 0, 0, 15, 0 @ 8688B38 @@ -6719,9 +6719,9 @@ voicegroup_8688874:: @ 8688874 voice_noise_alt 0, 0, 1, 0, 0 @ 8688E68 .align 2 -voicegroup_8688E74:: @ 8688E74 - voice_keysplit_all voicegroup_8675FEC @ 8688E74 - voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 8688E80 +voicegroup068:: @ 8688E74 + voice_keysplit_all voicegroup001 @ 8688E74 + voice_keysplit voicegroup005, KeySplitTable1 @ 8688E80 voice_square_1 0, 2, 0, 0, 15, 0 @ 8688E8C voice_square_1 0, 2, 0, 0, 15, 0 @ 8688E98 voice_square_1 0, 2, 0, 0, 15, 0 @ 8688EA4 @@ -6776,7 +6776,7 @@ voicegroup_8688E74:: @ 8688E74 voice_square_1 0, 2, 0, 0, 15, 0 @ 86890F0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86890FC voice_square_1 0, 2, 0, 0, 15, 0 @ 8689108 - voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 8689114 + voice_keysplit voicegroup007, KeySplitTable3 @ 8689114 voice_square_1 0, 2, 0, 0, 15, 0 @ 8689120 voice_square_1 0, 2, 0, 0, 15, 0 @ 868912C voice_square_1 0, 2, 0, 0, 15, 0 @ 8689138 @@ -6850,8 +6850,8 @@ voicegroup_8688E74:: @ 8688E74 voice_noise_alt 0, 0, 1, 0, 0 @ 8689468 .align 2 -voicegroup_8689474:: @ 8689474 - voice_keysplit_all voicegroup_8675FEC @ 8689474 +voicegroup069:: @ 8689474 + voice_keysplit_all voicegroup001 @ 8689474 voice_square_1 0, 2, 0, 0, 15, 0 @ 8689480 voice_square_1 0, 2, 0, 0, 15, 0 @ 868948C voice_square_1 0, 2, 0, 0, 15, 0 @ 8689498 @@ -6899,7 +6899,7 @@ voicegroup_8689474:: @ 8689474 voice_directsound 60, 0, DirectSoundWaveData_8726EF0, 255, 226, 0, 38 @ 8689690 voice_square_1 0, 2, 0, 0, 15, 0 @ 868969C voice_square_1 0, 2, 0, 0, 15, 0 @ 86896A8 - voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 86896B4 + voice_keysplit voicegroup006, KeySplitTable2 @ 86896B4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86896C0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86896CC voice_square_1 0, 2, 0, 0, 15, 0 @ 86896D8 @@ -6909,7 +6909,7 @@ voicegroup_8689474:: @ 8689474 voice_square_1 0, 2, 0, 0, 15, 0 @ 8689708 voice_square_1 0, 2, 0, 0, 15, 0 @ 8689714 voice_square_1 0, 2, 0, 0, 15, 0 @ 8689720 - voice_keysplit voicegroup_8677108, KeySplitTable4 @ 868972C + voice_keysplit voicegroup008, KeySplitTable4 @ 868972C voice_square_1 0, 2, 0, 0, 15, 0 @ 8689738 voice_square_1 0, 2, 0, 0, 15, 0 @ 8689744 voice_square_1 0, 2, 0, 0, 15, 0 @ 8689750 @@ -6981,8 +6981,8 @@ voicegroup_8689474:: @ 8689474 voice_noise_alt 0, 0, 1, 0, 0 @ 8689A68 .align 2 -voicegroup_8689A74:: @ 8689A74 - voice_keysplit_all voicegroup_8675FEC @ 8689A74 +voicegroup070:: @ 8689A74 + voice_keysplit_all voicegroup001 @ 8689A74 voice_square_1 0, 2, 0, 0, 15, 0 @ 8689A80 voice_square_1 0, 2, 0, 0, 15, 0 @ 8689A8C voice_square_1 0, 2, 0, 0, 15, 0 @ 8689A98 @@ -7030,7 +7030,7 @@ voicegroup_8689A74:: @ 8689A74 voice_square_1 0, 2, 0, 0, 15, 0 @ 8689C90 voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 242, 51, 242 @ 8689C9C voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 0, 180, 246 @ 8689CA8 - voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 8689CB4 + voice_keysplit voicegroup006, KeySplitTable2 @ 8689CB4 voice_square_1 0, 2, 0, 0, 15, 0 @ 8689CC0 voice_square_1 0, 2, 0, 0, 15, 0 @ 8689CCC voice_square_1 0, 2, 0, 0, 15, 0 @ 8689CD8 @@ -7038,7 +7038,7 @@ voicegroup_8689A74:: @ 8689A74 voice_square_1 0, 2, 0, 0, 15, 0 @ 8689CF0 voice_square_1 0, 2, 0, 0, 15, 0 @ 8689CFC voice_square_1 0, 2, 0, 0, 15, 0 @ 8689D08 - voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 8689D14 + voice_keysplit voicegroup007, KeySplitTable3 @ 8689D14 voice_square_1 0, 2, 0, 0, 15, 0 @ 8689D20 voice_square_1 0, 2, 0, 0, 15, 0 @ 8689D2C voice_square_1 0, 2, 0, 0, 15, 0 @ 8689D38 @@ -7112,8 +7112,8 @@ voicegroup_8689A74:: @ 8689A74 voice_noise_alt 0, 0, 1, 0, 0 @ 868A068 .align 2 -voicegroup_868A074:: @ 868A074 - voice_keysplit_all voicegroup_8675FEC @ 868A074 +voicegroup071:: @ 868A074 + voice_keysplit_all voicegroup001 @ 868A074 voice_square_1 0, 2, 0, 0, 15, 0 @ 868A080 voice_square_1 0, 2, 0, 0, 15, 0 @ 868A08C voice_square_1 0, 2, 0, 0, 15, 0 @ 868A098 @@ -7169,11 +7169,11 @@ voicegroup_868A074:: @ 868A074 voice_square_1 0, 2, 0, 0, 15, 0 @ 868A2F0 voice_square_1 0, 2, 0, 0, 15, 0 @ 868A2FC voice_square_1 0, 2, 0, 0, 15, 0 @ 868A308 - voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 868A314 + voice_keysplit voicegroup007, KeySplitTable3 @ 868A314 voice_square_1 0, 2, 0, 0, 15, 0 @ 868A320 - voice_keysplit voicegroup_8677108, KeySplitTable4 @ 868A32C + voice_keysplit voicegroup008, KeySplitTable4 @ 868A32C voice_square_1 0, 2, 0, 0, 15, 0 @ 868A338 - voice_keysplit voicegroup_8677120, KeySplitTable5 @ 868A344 + voice_keysplit voicegroup009, KeySplitTable5 @ 868A344 voice_square_1 0, 2, 0, 0, 15, 0 @ 868A350 voice_square_1 0, 2, 0, 0, 15, 0 @ 868A35C voice_square_1 0, 2, 0, 0, 15, 0 @ 868A368 @@ -7243,9 +7243,9 @@ voicegroup_868A074:: @ 868A074 voice_noise_alt 0, 0, 1, 0, 0 @ 868A668 .align 2 -voicegroup_868A674:: @ 868A674 - voice_keysplit_all voicegroup_8675FEC @ 868A674 - voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 868A680 +voicegroup072:: @ 868A674 + voice_keysplit_all voicegroup001 @ 868A674 + voice_keysplit voicegroup005, KeySplitTable1 @ 868A680 voice_square_1 0, 2, 0, 0, 15, 0 @ 868A68C voice_square_1 0, 2, 0, 0, 15, 0 @ 868A698 voice_square_1 0, 2, 0, 0, 15, 0 @ 868A6A4 @@ -7292,7 +7292,7 @@ voicegroup_868A674:: @ 868A674 voice_square_1 0, 2, 0, 0, 15, 0 @ 868A890 voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 242, 51, 242 @ 868A89C voice_square_1 0, 2, 0, 0, 15, 0 @ 868A8A8 - voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 868A8B4 + voice_keysplit voicegroup006, KeySplitTable2 @ 868A8B4 voice_square_1 0, 2, 0, 0, 15, 0 @ 868A8C0 voice_square_1 0, 2, 0, 0, 15, 0 @ 868A8CC voice_square_1 0, 2, 0, 0, 15, 0 @ 868A8D8 @@ -7300,11 +7300,11 @@ voicegroup_868A674:: @ 868A674 voice_square_1 0, 2, 0, 0, 15, 0 @ 868A8F0 voice_square_1 0, 2, 0, 0, 15, 0 @ 868A8FC voice_square_1 0, 2, 0, 0, 15, 0 @ 868A908 - voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 868A914 + voice_keysplit voicegroup007, KeySplitTable3 @ 868A914 voice_square_1 0, 2, 0, 0, 15, 0 @ 868A920 voice_square_1 0, 2, 0, 0, 15, 0 @ 868A92C voice_square_1 0, 2, 0, 0, 15, 0 @ 868A938 - voice_keysplit voicegroup_8677120, KeySplitTable5 @ 868A944 + voice_keysplit voicegroup009, KeySplitTable5 @ 868A944 voice_square_1 0, 2, 0, 0, 15, 0 @ 868A950 voice_square_1 0, 2, 0, 0, 15, 0 @ 868A95C voice_square_1 0, 2, 0, 0, 15, 0 @ 868A968 @@ -7374,9 +7374,9 @@ voicegroup_868A674:: @ 868A674 voice_noise_alt 0, 0, 1, 0, 0 @ 868AC68 .align 2 -voicegroup_868AC74:: @ 868AC74 - voice_keysplit_all voicegroup_8675FEC @ 868AC74 - voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 868AC80 +voicegroup073:: @ 868AC74 + voice_keysplit_all voicegroup001 @ 868AC74 + voice_keysplit voicegroup005, KeySplitTable1 @ 868AC80 voice_square_1 0, 2, 0, 0, 15, 0 @ 868AC8C voice_square_1 0, 2, 0, 0, 15, 0 @ 868AC98 voice_square_1 0, 2, 0, 0, 15, 0 @ 868ACA4 @@ -7423,7 +7423,7 @@ voicegroup_868AC74:: @ 868AC74 voice_square_1 0, 2, 0, 0, 15, 0 @ 868AE90 voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 242, 51, 242 @ 868AE9C voice_square_1 0, 2, 0, 0, 15, 0 @ 868AEA8 - voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 868AEB4 + voice_keysplit voicegroup006, KeySplitTable2 @ 868AEB4 voice_square_1 0, 2, 0, 0, 15, 0 @ 868AEC0 voice_square_1 0, 2, 0, 0, 15, 0 @ 868AECC voice_square_1 0, 2, 0, 0, 15, 0 @ 868AED8 @@ -7431,11 +7431,11 @@ voicegroup_868AC74:: @ 868AC74 voice_square_1 0, 2, 0, 0, 15, 0 @ 868AEF0 voice_square_1 0, 2, 0, 0, 15, 0 @ 868AEFC voice_square_1 0, 2, 0, 0, 15, 0 @ 868AF08 - voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 868AF14 + voice_keysplit voicegroup007, KeySplitTable3 @ 868AF14 voice_square_1 0, 2, 0, 0, 15, 0 @ 868AF20 voice_square_1 0, 2, 0, 0, 15, 0 @ 868AF2C voice_square_1 0, 2, 0, 0, 15, 0 @ 868AF38 - voice_keysplit voicegroup_8677120, KeySplitTable5 @ 868AF44 + voice_keysplit voicegroup009, KeySplitTable5 @ 868AF44 voice_square_1 0, 2, 0, 0, 15, 0 @ 868AF50 voice_square_1 0, 2, 0, 0, 15, 0 @ 868AF5C voice_square_1 0, 2, 0, 0, 15, 0 @ 868AF68 @@ -7505,8 +7505,8 @@ voicegroup_868AC74:: @ 868AC74 voice_noise_alt 0, 0, 1, 0, 0 @ 868B268 .align 2 -voicegroup_868B274:: @ 868B274 - voice_keysplit_all voicegroup_8675FEC @ 868B274 +voicegroup074:: @ 868B274 + voice_keysplit_all voicegroup001 @ 868B274 voice_square_1 0, 2, 0, 0, 15, 0 @ 868B280 voice_square_1 0, 2, 0, 0, 15, 0 @ 868B28C voice_square_1 0, 2, 0, 0, 15, 0 @ 868B298 @@ -7636,9 +7636,9 @@ voicegroup_868B274:: @ 868B274 voice_noise_alt 0, 0, 1, 0, 0 @ 868B868 .align 2 -voicegroup_868B874:: @ 868B874 - voice_keysplit_all voicegroup_8675FEC @ 868B874 - voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 868B880 +voicegroup075:: @ 868B874 + voice_keysplit_all voicegroup001 @ 868B874 + voice_keysplit voicegroup005, KeySplitTable1 @ 868B880 voice_square_1 0, 2, 0, 0, 15, 0 @ 868B88C voice_square_1 0, 2, 0, 0, 15, 0 @ 868B898 voice_square_1 0, 2, 0, 0, 15, 0 @ 868B8A4 @@ -7685,7 +7685,7 @@ voicegroup_868B874:: @ 868B874 voice_square_1 0, 2, 0, 0, 15, 0 @ 868BA90 voice_square_1 0, 2, 0, 0, 15, 0 @ 868BA9C voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 0, 180, 246 @ 868BAA8 - voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 868BAB4 + voice_keysplit voicegroup006, KeySplitTable2 @ 868BAB4 voice_square_1 0, 2, 0, 0, 15, 0 @ 868BAC0 voice_square_1 0, 2, 0, 0, 15, 0 @ 868BACC voice_square_1 0, 2, 0, 0, 15, 0 @ 868BAD8 @@ -7693,11 +7693,11 @@ voicegroup_868B874:: @ 868B874 voice_square_1 0, 2, 0, 0, 15, 0 @ 868BAF0 voice_square_1 0, 2, 0, 0, 15, 0 @ 868BAFC voice_square_1 0, 2, 0, 0, 15, 0 @ 868BB08 - voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 868BB14 + voice_keysplit voicegroup007, KeySplitTable3 @ 868BB14 voice_square_1 0, 2, 0, 0, 15, 0 @ 868BB20 - voice_keysplit voicegroup_8677108, KeySplitTable4 @ 868BB2C + voice_keysplit voicegroup008, KeySplitTable4 @ 868BB2C voice_square_1 0, 2, 0, 0, 15, 0 @ 868BB38 - voice_keysplit voicegroup_8677120, KeySplitTable5 @ 868BB44 + voice_keysplit voicegroup009, KeySplitTable5 @ 868BB44 voice_square_1 0, 2, 0, 0, 15, 0 @ 868BB50 voice_square_1 0, 2, 0, 0, 15, 0 @ 868BB5C voice_square_1 0, 2, 0, 0, 15, 0 @ 868BB68 @@ -7767,8 +7767,8 @@ voicegroup_868B874:: @ 868B874 voice_noise_alt 0, 0, 1, 0, 0 @ 868BE68 .align 2 -voicegroup_868BE74:: @ 868BE74 - voice_keysplit_all voicegroup_8675FEC @ 868BE74 +voicegroup076:: @ 868BE74 + voice_keysplit_all voicegroup001 @ 868BE74 voice_square_1 0, 2, 0, 0, 15, 0 @ 868BE80 voice_square_1 0, 2, 0, 0, 15, 0 @ 868BE8C voice_square_1 0, 2, 0, 0, 15, 0 @ 868BE98 @@ -7824,7 +7824,7 @@ voicegroup_868BE74:: @ 868BE74 voice_square_1 0, 2, 0, 0, 15, 0 @ 868C0F0 voice_square_1 0, 2, 0, 0, 15, 0 @ 868C0FC voice_square_1 0, 2, 0, 0, 15, 0 @ 868C108 - voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 868C114 + voice_keysplit voicegroup007, KeySplitTable3 @ 868C114 voice_square_1 0, 2, 0, 0, 15, 0 @ 868C120 voice_square_1 0, 2, 0, 0, 15, 0 @ 868C12C voice_square_1 0, 2, 0, 0, 15, 0 @ 868C138 @@ -7898,8 +7898,8 @@ voicegroup_868BE74:: @ 868BE74 voice_noise_alt 0, 0, 1, 0, 0 @ 868C468 .align 2 -voicegroup_868C474:: @ 868C474 - voice_keysplit_all voicegroup_8675FEC @ 868C474 +voicegroup077:: @ 868C474 + voice_keysplit_all voicegroup001 @ 868C474 voice_square_1 0, 2, 0, 0, 15, 0 @ 868C480 voice_square_1 0, 2, 0, 0, 15, 0 @ 868C48C voice_square_1 0, 2, 0, 0, 15, 0 @ 868C498 @@ -7947,7 +7947,7 @@ voicegroup_868C474:: @ 868C474 voice_square_1 0, 2, 0, 0, 15, 0 @ 868C690 voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 242, 51, 242 @ 868C69C voice_square_1 0, 2, 0, 0, 15, 0 @ 868C6A8 - voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 868C6B4 + voice_keysplit voicegroup006, KeySplitTable2 @ 868C6B4 voice_square_1 0, 2, 0, 0, 15, 0 @ 868C6C0 voice_square_1 0, 2, 0, 0, 15, 0 @ 868C6CC voice_square_1 0, 2, 0, 0, 15, 0 @ 868C6D8 @@ -8029,8 +8029,8 @@ voicegroup_868C474:: @ 868C474 voice_noise_alt 0, 0, 1, 0, 0 @ 868CA68 .align 2 -voicegroup_868CA74:: @ 868CA74 - voice_keysplit_all voicegroup_8675FEC @ 868CA74 +voicegroup078:: @ 868CA74 + voice_keysplit_all voicegroup001 @ 868CA74 voice_square_1 0, 2, 0, 0, 15, 0 @ 868CA80 voice_square_1 0, 2, 0, 0, 15, 0 @ 868CA8C voice_square_1 0, 2, 0, 0, 15, 0 @ 868CA98 @@ -8078,7 +8078,7 @@ voicegroup_868CA74:: @ 868CA74 voice_directsound 60, 0, DirectSoundWaveData_8726EF0, 255, 226, 0, 38 @ 868CC90 voice_square_1 0, 2, 0, 0, 15, 0 @ 868CC9C voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 0, 180, 246 @ 868CCA8 - voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 868CCB4 + voice_keysplit voicegroup006, KeySplitTable2 @ 868CCB4 voice_square_1 0, 2, 0, 0, 15, 0 @ 868CCC0 voice_square_1 0, 2, 0, 0, 15, 0 @ 868CCCC voice_square_1 0, 2, 0, 0, 15, 0 @ 868CCD8 @@ -8090,7 +8090,7 @@ voicegroup_868CA74:: @ 868CA74 voice_square_1 0, 2, 0, 0, 15, 0 @ 868CD20 voice_square_1 0, 2, 0, 0, 15, 0 @ 868CD2C voice_square_1 0, 2, 0, 0, 15, 0 @ 868CD38 - voice_keysplit voicegroup_8677120, KeySplitTable5 @ 868CD44 + voice_keysplit voicegroup009, KeySplitTable5 @ 868CD44 voice_square_1 0, 2, 0, 0, 15, 0 @ 868CD50 voice_square_1 0, 2, 0, 0, 15, 0 @ 868CD5C voice_square_1 0, 2, 0, 0, 15, 0 @ 868CD68 @@ -8160,9 +8160,9 @@ voicegroup_868CA74:: @ 868CA74 voice_noise_alt 0, 0, 2, 0, 2 @ 868D068 .align 2 -voicegroup_868D074:: @ 868D074 - voice_keysplit_all voicegroup_8675FEC @ 868D074 - voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 868D080 +voicegroup079:: @ 868D074 + voice_keysplit_all voicegroup001 @ 868D074 + voice_keysplit voicegroup005, KeySplitTable1 @ 868D080 voice_square_1 0, 2, 0, 0, 15, 0 @ 868D08C voice_square_1 0, 2, 0, 0, 15, 0 @ 868D098 voice_square_1 0, 2, 0, 0, 15, 0 @ 868D0A4 @@ -8209,7 +8209,7 @@ voicegroup_868D074:: @ 868D074 voice_directsound 60, 0, DirectSoundWaveData_8726EF0, 255, 226, 0, 38 @ 868D290 voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 242, 51, 242 @ 868D29C voice_square_1 0, 2, 0, 0, 15, 0 @ 868D2A8 - voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 868D2B4 + voice_keysplit voicegroup006, KeySplitTable2 @ 868D2B4 voice_square_1 0, 2, 0, 0, 15, 0 @ 868D2C0 voice_square_1 0, 2, 0, 0, 15, 0 @ 868D2CC voice_square_1 0, 2, 0, 0, 15, 0 @ 868D2D8 @@ -8291,8 +8291,8 @@ voicegroup_868D074:: @ 868D074 voice_noise_alt 0, 0, 1, 0, 0 @ 868D668 .align 2 -voicegroup_868D674:: @ 868D674 - voice_keysplit_all voicegroup_8675FEC @ 868D674 +voicegroup080:: @ 868D674 + voice_keysplit_all voicegroup001 @ 868D674 voice_square_1 0, 2, 0, 0, 15, 0 @ 868D680 voice_square_1 0, 2, 0, 0, 15, 0 @ 868D68C voice_square_1 0, 2, 0, 0, 15, 0 @ 868D698 @@ -8340,7 +8340,7 @@ voicegroup_868D674:: @ 868D674 voice_directsound 60, 0, DirectSoundWaveData_8726EF0, 255, 226, 0, 38 @ 868D890 voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 242, 51, 242 @ 868D89C voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 0, 180, 246 @ 868D8A8 - voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 868D8B4 + voice_keysplit voicegroup006, KeySplitTable2 @ 868D8B4 voice_square_1 0, 2, 0, 0, 15, 0 @ 868D8C0 voice_square_1 0, 2, 0, 0, 15, 0 @ 868D8CC voice_square_1 0, 2, 0, 0, 15, 0 @ 868D8D8 @@ -8352,7 +8352,7 @@ voicegroup_868D674:: @ 868D674 voice_square_1 0, 2, 0, 0, 15, 0 @ 868D920 voice_square_1 0, 2, 0, 0, 15, 0 @ 868D92C voice_square_1 0, 2, 0, 0, 15, 0 @ 868D938 - voice_keysplit voicegroup_8677120, KeySplitTable5 @ 868D944 + voice_keysplit voicegroup009, KeySplitTable5 @ 868D944 voice_square_1 0, 2, 0, 0, 15, 0 @ 868D950 voice_square_1 0, 2, 0, 0, 15, 0 @ 868D95C voice_square_1 0, 2, 0, 0, 15, 0 @ 868D968 @@ -8422,14 +8422,14 @@ voicegroup_868D674:: @ 868D674 voice_noise_alt 0, 0, 1, 0, 0 @ 868DC68 .align 2 -voicegroup_868DC74:: @ 868DC74 +voicegroup081:: @ 868DC74 voice_square_1 0, 2, 0, 0, 15, 0 @ 868DC74 - voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 868DC80 + voice_keysplit voicegroup005, KeySplitTable1 @ 868DC80 .align 2 -voicegroup_868DC8C:: @ 868DC8C - voice_keysplit_all voicegroup_8675FEC @ 868DC8C - voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 868DC98 +voicegroup082:: @ 868DC8C + voice_keysplit_all voicegroup001 @ 868DC8C + voice_keysplit voicegroup005, KeySplitTable1 @ 868DC98 voice_square_1 0, 2, 0, 0, 15, 0 @ 868DCA4 voice_square_1 0, 2, 0, 0, 15, 0 @ 868DCB0 voice_square_1 0, 2, 0, 0, 15, 0 @ 868DCBC @@ -8476,7 +8476,7 @@ voicegroup_868DC8C:: @ 868DC8C voice_square_1 0, 2, 0, 0, 15, 0 @ 868DEA8 voice_square_1 0, 2, 0, 0, 15, 0 @ 868DEB4 voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 0, 180, 246 @ 868DEC0 - voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 868DECC + voice_keysplit voicegroup006, KeySplitTable2 @ 868DECC voice_square_1 0, 2, 0, 0, 15, 0 @ 868DED8 voice_square_1 0, 2, 0, 0, 15, 0 @ 868DEE4 voice_square_1 0, 2, 0, 0, 15, 0 @ 868DEF0 @@ -8484,11 +8484,11 @@ voicegroup_868DC8C:: @ 868DC8C voice_square_1 0, 2, 0, 0, 15, 0 @ 868DF08 voice_square_1 0, 2, 0, 0, 15, 0 @ 868DF14 voice_square_1 0, 2, 0, 0, 15, 0 @ 868DF20 - voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 868DF2C + voice_keysplit voicegroup007, KeySplitTable3 @ 868DF2C voice_square_1 0, 2, 0, 0, 15, 0 @ 868DF38 voice_square_1 0, 2, 0, 0, 15, 0 @ 868DF44 voice_square_1 0, 2, 0, 0, 15, 0 @ 868DF50 - voice_keysplit voicegroup_8677120, KeySplitTable5 @ 868DF5C + voice_keysplit voicegroup009, KeySplitTable5 @ 868DF5C voice_square_1 0, 2, 0, 0, 15, 0 @ 868DF68 voice_square_1 0, 2, 0, 0, 15, 0 @ 868DF74 voice_square_1 0, 2, 0, 0, 15, 0 @ 868DF80 @@ -8558,9 +8558,9 @@ voicegroup_868DC8C:: @ 868DC8C voice_noise_alt 0, 0, 1, 0, 0 @ 868E280 .align 2 -voicegroup_868E28C:: @ 868E28C - voice_keysplit_all voicegroup_8675FEC @ 868E28C - voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 868E298 +voicegroup083:: @ 868E28C + voice_keysplit_all voicegroup001 @ 868E28C + voice_keysplit voicegroup005, KeySplitTable1 @ 868E298 voice_square_1 0, 2, 0, 0, 15, 0 @ 868E2A4 voice_square_1 0, 2, 0, 0, 15, 0 @ 868E2B0 voice_square_1 0, 2, 0, 0, 15, 0 @ 868E2BC @@ -8607,7 +8607,7 @@ voicegroup_868E28C:: @ 868E28C voice_directsound 60, 0, DirectSoundWaveData_8726EF0, 255, 226, 0, 38 @ 868E4A8 voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 242, 0, 242 @ 868E4B4 voice_square_1 0, 2, 0, 0, 15, 0 @ 868E4C0 - voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 868E4CC + voice_keysplit voicegroup006, KeySplitTable2 @ 868E4CC voice_square_1 0, 2, 0, 0, 15, 0 @ 868E4D8 voice_square_1 0, 2, 0, 0, 15, 0 @ 868E4E4 voice_square_1 0, 2, 0, 0, 15, 0 @ 868E4F0 @@ -8617,9 +8617,9 @@ voicegroup_868E28C:: @ 868E28C voice_square_1 0, 2, 0, 0, 15, 0 @ 868E520 voice_square_1 0, 2, 0, 0, 15, 0 @ 868E52C voice_square_1 0, 2, 0, 0, 15, 0 @ 868E538 - voice_keysplit voicegroup_8677108, KeySplitTable4 @ 868E544 + voice_keysplit voicegroup008, KeySplitTable4 @ 868E544 voice_square_1 0, 2, 0, 0, 15, 0 @ 868E550 - voice_keysplit voicegroup_8677120, KeySplitTable5 @ 868E55C + voice_keysplit voicegroup009, KeySplitTable5 @ 868E55C voice_square_1 0, 2, 0, 0, 15, 0 @ 868E568 voice_square_1 0, 2, 0, 0, 15, 0 @ 868E574 voice_square_1 0, 2, 0, 0, 15, 0 @ 868E580 @@ -8645,8 +8645,8 @@ voicegroup_868E28C:: @ 868E28C voice_programmable_wave_alt ProgrammableWaveData_86B4830, 0, 2, 6, 1 @ 868E670 .align 2 -voicegroup_868E67C:: @ 868E67C - voice_keysplit_all voicegroup_8675FEC @ 868E67C +voicegroup084:: @ 868E67C + voice_keysplit_all voicegroup001 @ 868E67C voice_square_1 0, 2, 0, 0, 15, 0 @ 868E688 voice_square_1 0, 2, 0, 0, 15, 0 @ 868E694 voice_square_1 0, 2, 0, 0, 15, 0 @ 868E6A0 @@ -8694,7 +8694,7 @@ voicegroup_868E67C:: @ 868E67C voice_square_1 0, 2, 0, 0, 15, 0 @ 868E898 voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 242, 51, 242 @ 868E8A4 voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 0, 180, 246 @ 868E8B0 - voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 868E8BC + voice_keysplit voicegroup006, KeySplitTable2 @ 868E8BC voice_square_1 0, 2, 0, 0, 15, 0 @ 868E8C8 voice_square_1 0, 2, 0, 0, 15, 0 @ 868E8D4 voice_square_1 0, 2, 0, 0, 15, 0 @ 868E8E0 @@ -8706,7 +8706,7 @@ voicegroup_868E67C:: @ 868E67C voice_square_1 0, 2, 0, 0, 15, 0 @ 868E928 voice_square_1 0, 2, 0, 0, 15, 0 @ 868E934 voice_square_1 0, 2, 0, 0, 15, 0 @ 868E940 - voice_keysplit voicegroup_8677120, KeySplitTable5 @ 868E94C + voice_keysplit voicegroup009, KeySplitTable5 @ 868E94C voice_square_1 0, 2, 0, 0, 15, 0 @ 868E958 voice_square_1 0, 2, 0, 0, 15, 0 @ 868E964 voice_square_1 0, 2, 0, 0, 15, 0 @ 868E970 @@ -8776,8 +8776,8 @@ voicegroup_868E67C:: @ 868E67C voice_noise_alt 0, 0, 1, 0, 0 @ 868EC70 .align 2 -voicegroup_868EC7C:: @ 868EC7C - voice_keysplit_all voicegroup_8675FEC @ 868EC7C +voicegroup085:: @ 868EC7C + voice_keysplit_all voicegroup001 @ 868EC7C voice_square_1 0, 2, 0, 0, 15, 0 @ 868EC88 voice_square_1 0, 2, 0, 0, 15, 0 @ 868EC94 voice_square_1 0, 2, 0, 0, 15, 0 @ 868ECA0 @@ -8833,7 +8833,7 @@ voicegroup_868EC7C:: @ 868EC7C voice_square_1 0, 2, 0, 0, 15, 0 @ 868EEF8 voice_square_1 0, 2, 0, 0, 15, 0 @ 868EF04 voice_square_1 0, 2, 0, 0, 15, 0 @ 868EF10 - voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 868EF1C + voice_keysplit voicegroup007, KeySplitTable3 @ 868EF1C voice_square_1 0, 2, 0, 0, 15, 0 @ 868EF28 voice_square_1 0, 2, 0, 0, 15, 0 @ 868EF34 voice_square_1 0, 2, 0, 0, 15, 0 @ 868EF40 @@ -8907,8 +8907,8 @@ voicegroup_868EC7C:: @ 868EC7C voice_noise_alt 0, 0, 1, 0, 0 @ 868F270 .align 2 -voicegroup_868F27C:: @ 868F27C - voice_keysplit_all voicegroup_8675FEC @ 868F27C +voicegroup086:: @ 868F27C + voice_keysplit_all voicegroup001 @ 868F27C voice_square_1 0, 2, 0, 0, 15, 0 @ 868F288 voice_square_1 0, 2, 0, 0, 15, 0 @ 868F294 voice_square_1 0, 2, 0, 0, 15, 0 @ 868F2A0 @@ -8956,7 +8956,7 @@ voicegroup_868F27C:: @ 868F27C voice_square_1 0, 2, 0, 0, 15, 0 @ 868F498 voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 242, 51, 242 @ 868F4A4 voice_square_1 0, 2, 0, 0, 15, 0 @ 868F4B0 - voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 868F4BC + voice_keysplit voicegroup006, KeySplitTable2 @ 868F4BC voice_square_1 0, 2, 0, 0, 15, 0 @ 868F4C8 voice_square_1 0, 2, 0, 0, 15, 0 @ 868F4D4 voice_square_1 0, 2, 0, 0, 15, 0 @ 868F4E0 @@ -8964,11 +8964,11 @@ voicegroup_868F27C:: @ 868F27C voice_square_1 0, 2, 0, 0, 15, 0 @ 868F4F8 voice_square_1 0, 2, 0, 0, 15, 0 @ 868F504 voice_square_1 0, 2, 0, 0, 15, 0 @ 868F510 - voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 868F51C + voice_keysplit voicegroup007, KeySplitTable3 @ 868F51C voice_square_1 0, 2, 0, 0, 15, 0 @ 868F528 voice_square_1 0, 2, 0, 0, 15, 0 @ 868F534 voice_square_1 0, 2, 0, 0, 15, 0 @ 868F540 - voice_keysplit voicegroup_8677120, KeySplitTable5 @ 868F54C + voice_keysplit voicegroup009, KeySplitTable5 @ 868F54C voice_square_1 0, 2, 0, 0, 15, 0 @ 868F558 voice_square_1 0, 2, 0, 0, 15, 0 @ 868F564 voice_square_1 0, 2, 0, 0, 15, 0 @ 868F570 @@ -9038,8 +9038,8 @@ voicegroup_868F27C:: @ 868F27C voice_noise_alt 0, 0, 1, 0, 0 @ 868F870 .align 2 -voicegroup_868F87C:: @ 868F87C - voice_keysplit_all voicegroup_8675FEC @ 868F87C +voicegroup087:: @ 868F87C + voice_keysplit_all voicegroup001 @ 868F87C voice_square_1 0, 2, 0, 0, 15, 0 @ 868F888 voice_square_1 0, 2, 0, 0, 15, 0 @ 868F894 voice_square_1 0, 2, 0, 0, 15, 0 @ 868F8A0 @@ -9095,11 +9095,11 @@ voicegroup_868F87C:: @ 868F87C voice_square_1 0, 2, 0, 0, 15, 0 @ 868FAF8 voice_square_1 0, 2, 0, 0, 15, 0 @ 868FB04 voice_square_1 0, 2, 0, 0, 15, 0 @ 868FB10 - voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 868FB1C + voice_keysplit voicegroup007, KeySplitTable3 @ 868FB1C voice_square_1 0, 2, 0, 0, 15, 0 @ 868FB28 voice_square_1 0, 2, 0, 0, 15, 0 @ 868FB34 voice_square_1 0, 2, 0, 0, 15, 0 @ 868FB40 - voice_keysplit voicegroup_8677120, KeySplitTable5 @ 868FB4C + voice_keysplit voicegroup009, KeySplitTable5 @ 868FB4C voice_square_1 0, 2, 0, 0, 15, 0 @ 868FB58 voice_square_1 0, 2, 0, 0, 15, 0 @ 868FB64 voice_square_1 0, 2, 0, 0, 15, 0 @ 868FB70 @@ -9169,9 +9169,9 @@ voicegroup_868F87C:: @ 868F87C voice_noise_alt 0, 0, 1, 0, 0 @ 868FE70 .align 2 -voicegroup_868FE7C:: @ 868FE7C - voice_keysplit_all voicegroup_8675FEC @ 868FE7C - voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 868FE88 +voicegroup088:: @ 868FE7C + voice_keysplit_all voicegroup001 @ 868FE7C + voice_keysplit voicegroup005, KeySplitTable1 @ 868FE88 voice_square_1 0, 2, 0, 0, 15, 0 @ 868FE94 voice_square_1 0, 2, 0, 0, 15, 0 @ 868FEA0 voice_square_2_alt 1, 1, 1, 6, 2 @ 868FEAC @@ -9218,7 +9218,7 @@ voicegroup_868FE7C:: @ 868FE7C voice_square_1 0, 2, 0, 0, 15, 0 @ 8690098 voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 242, 51, 242 @ 86900A4 voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 0, 180, 239 @ 86900B0 - voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 86900BC + voice_keysplit voicegroup006, KeySplitTable2 @ 86900BC voice_square_1 0, 2, 0, 0, 15, 0 @ 86900C8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86900D4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86900E0 @@ -9226,11 +9226,11 @@ voicegroup_868FE7C:: @ 868FE7C voice_square_1 0, 2, 0, 0, 15, 0 @ 86900F8 voice_square_1 0, 2, 0, 0, 15, 0 @ 8690104 voice_square_1 0, 2, 0, 0, 15, 0 @ 8690110 - voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 869011C + voice_keysplit voicegroup007, KeySplitTable3 @ 869011C voice_square_1 0, 2, 0, 0, 15, 0 @ 8690128 - voice_keysplit voicegroup_8677108, KeySplitTable4 @ 8690134 + voice_keysplit voicegroup008, KeySplitTable4 @ 8690134 voice_square_1 0, 2, 0, 0, 15, 0 @ 8690140 - voice_keysplit voicegroup_8677120, KeySplitTable5 @ 869014C + voice_keysplit voicegroup009, KeySplitTable5 @ 869014C voice_square_1 0, 2, 0, 0, 15, 0 @ 8690158 voice_square_1 0, 2, 0, 0, 15, 0 @ 8690164 voice_square_1 0, 2, 0, 0, 15, 0 @ 8690170 @@ -9300,8 +9300,8 @@ voicegroup_868FE7C:: @ 868FE7C voice_noise_alt 0, 0, 1, 0, 0 @ 8690470 .align 2 -voicegroup_869047C:: @ 869047C - voice_keysplit_all voicegroup_8675FEC @ 869047C +voicegroup089:: @ 869047C + voice_keysplit_all voicegroup001 @ 869047C voice_square_1 0, 2, 0, 0, 15, 0 @ 8690488 voice_square_1 0, 2, 0, 0, 15, 0 @ 8690494 voice_square_1 0, 2, 0, 0, 15, 0 @ 86904A0 @@ -9349,7 +9349,7 @@ voicegroup_869047C:: @ 869047C voice_square_1 0, 2, 0, 0, 15, 0 @ 8690698 voice_square_1 0, 2, 0, 0, 15, 0 @ 86906A4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86906B0 - voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 86906BC + voice_keysplit voicegroup006, KeySplitTable2 @ 86906BC voice_square_1 0, 2, 0, 0, 15, 0 @ 86906C8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86906D4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86906E0 @@ -9361,7 +9361,7 @@ voicegroup_869047C:: @ 869047C voice_square_1 0, 2, 0, 0, 15, 0 @ 8690728 voice_square_1 0, 2, 0, 0, 15, 0 @ 8690734 voice_square_1 0, 2, 0, 0, 15, 0 @ 8690740 - voice_keysplit voicegroup_8677120, KeySplitTable5 @ 869074C + voice_keysplit voicegroup009, KeySplitTable5 @ 869074C voice_square_1 0, 2, 0, 0, 15, 0 @ 8690758 voice_square_1 0, 2, 0, 0, 15, 0 @ 8690764 voice_square_1 0, 2, 0, 0, 15, 0 @ 8690770 @@ -9431,8 +9431,8 @@ voicegroup_869047C:: @ 869047C voice_noise_alt 0, 0, 1, 0, 0 @ 8690A70 .align 2 -voicegroup_8690A7C:: @ 8690A7C - voice_keysplit_all voicegroup_8675FEC @ 8690A7C +voicegroup090:: @ 8690A7C + voice_keysplit_all voicegroup001 @ 8690A7C voice_square_1 0, 2, 0, 0, 15, 0 @ 8690A88 voice_square_1 0, 2, 0, 0, 15, 0 @ 8690A94 voice_square_1 0, 2, 0, 0, 15, 0 @ 8690AA0 @@ -9562,9 +9562,9 @@ voicegroup_8690A7C:: @ 8690A7C voice_noise_alt 0, 0, 1, 0, 0 @ 8691070 .align 2 -voicegroup_869107C:: @ 869107C - voice_keysplit_all voicegroup_8675FEC @ 869107C - voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 8691088 +voicegroup091:: @ 869107C + voice_keysplit_all voicegroup001 @ 869107C + voice_keysplit voicegroup005, KeySplitTable1 @ 8691088 voice_square_1 0, 2, 0, 0, 15, 0 @ 8691094 voice_square_1 0, 2, 0, 0, 15, 0 @ 86910A0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86910AC @@ -9611,7 +9611,7 @@ voicegroup_869107C:: @ 869107C voice_directsound 60, 0, DirectSoundWaveData_8726EF0, 255, 226, 0, 38 @ 8691298 voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 242, 0, 242 @ 86912A4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86912B0 - voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 86912BC + voice_keysplit voicegroup006, KeySplitTable2 @ 86912BC voice_square_1 0, 2, 0, 0, 15, 0 @ 86912C8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86912D4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86912E0 @@ -9621,9 +9621,9 @@ voicegroup_869107C:: @ 869107C voice_square_1 0, 2, 0, 0, 15, 0 @ 8691310 voice_square_1 0, 2, 0, 0, 15, 0 @ 869131C voice_square_1 0, 2, 0, 0, 15, 0 @ 8691328 - voice_keysplit voicegroup_8677108, KeySplitTable4 @ 8691334 + voice_keysplit voicegroup008, KeySplitTable4 @ 8691334 voice_square_1 0, 2, 0, 0, 15, 0 @ 8691340 - voice_keysplit voicegroup_8677120, KeySplitTable5 @ 869134C + voice_keysplit voicegroup009, KeySplitTable5 @ 869134C voice_square_1 0, 2, 0, 0, 15, 0 @ 8691358 voice_square_1 0, 2, 0, 0, 15, 0 @ 8691364 voice_square_1 0, 2, 0, 0, 15, 0 @ 8691370 @@ -9693,8 +9693,8 @@ voicegroup_869107C:: @ 869107C voice_noise_alt 0, 0, 1, 0, 0 @ 8691670 .align 2 -voicegroup_869167C:: @ 869167C - voice_keysplit_all voicegroup_8675FEC @ 869167C +voicegroup092:: @ 869167C + voice_keysplit_all voicegroup001 @ 869167C voice_square_1 0, 2, 0, 0, 15, 0 @ 8691688 voice_square_1 0, 2, 0, 0, 15, 0 @ 8691694 voice_square_1 0, 2, 0, 0, 15, 0 @ 86916A0 @@ -9824,8 +9824,8 @@ voicegroup_869167C:: @ 869167C voice_noise_alt 0, 0, 1, 0, 0 @ 8691C70 .align 2 -voicegroup_8691C7C:: @ 8691C7C - voice_keysplit_all voicegroup_8675FEC @ 8691C7C +voicegroup093:: @ 8691C7C + voice_keysplit_all voicegroup001 @ 8691C7C voice_square_1 0, 2, 0, 0, 15, 0 @ 8691C88 voice_square_1 0, 2, 0, 0, 15, 0 @ 8691C94 voice_square_1 0, 2, 0, 0, 15, 0 @ 8691CA0 @@ -9873,7 +9873,7 @@ voicegroup_8691C7C:: @ 8691C7C voice_square_1 0, 2, 0, 0, 15, 0 @ 8691E98 voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 242, 0, 242 @ 8691EA4 voice_square_1 0, 2, 0, 0, 15, 0 @ 8691EB0 - voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 8691EBC + voice_keysplit voicegroup006, KeySplitTable2 @ 8691EBC voice_square_1 0, 2, 0, 0, 15, 0 @ 8691EC8 voice_square_1 0, 2, 0, 0, 15, 0 @ 8691ED4 voice_square_1 0, 2, 0, 0, 15, 0 @ 8691EE0 @@ -9883,9 +9883,9 @@ voicegroup_8691C7C:: @ 8691C7C voice_square_1 0, 2, 0, 0, 15, 0 @ 8691F10 voice_square_1 0, 2, 0, 0, 15, 0 @ 8691F1C voice_square_1 0, 2, 0, 0, 15, 0 @ 8691F28 - voice_keysplit voicegroup_8677108, KeySplitTable4 @ 8691F34 + voice_keysplit voicegroup008, KeySplitTable4 @ 8691F34 voice_square_1 0, 2, 0, 0, 15, 0 @ 8691F40 - voice_keysplit voicegroup_8677120, KeySplitTable5 @ 8691F4C + voice_keysplit voicegroup009, KeySplitTable5 @ 8691F4C voice_square_1 0, 2, 0, 0, 15, 0 @ 8691F58 voice_square_1 0, 2, 0, 0, 15, 0 @ 8691F64 voice_square_1 0, 2, 0, 0, 15, 0 @ 8691F70 @@ -9955,8 +9955,8 @@ voicegroup_8691C7C:: @ 8691C7C voice_noise_alt 0, 0, 1, 0, 0 @ 8692270 .align 2 -voicegroup_869227C:: @ 869227C - voice_keysplit_all voicegroup_8675FEC @ 869227C +voicegroup094:: @ 869227C + voice_keysplit_all voicegroup001 @ 869227C voice_square_1 0, 2, 0, 0, 15, 0 @ 8692288 voice_square_1 0, 2, 0, 0, 15, 0 @ 8692294 voice_square_1 0, 2, 0, 0, 15, 0 @ 86922A0 @@ -10004,7 +10004,7 @@ voicegroup_869227C:: @ 869227C voice_square_1 0, 2, 0, 0, 15, 0 @ 8692498 voice_square_1 0, 2, 0, 0, 15, 0 @ 86924A4 voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 0, 180, 246 @ 86924B0 - voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 86924BC + voice_keysplit voicegroup006, KeySplitTable2 @ 86924BC voice_square_1 0, 2, 0, 0, 15, 0 @ 86924C8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86924D4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86924E0 @@ -10012,11 +10012,11 @@ voicegroup_869227C:: @ 869227C voice_square_1 0, 2, 0, 0, 15, 0 @ 86924F8 voice_square_1 0, 2, 0, 0, 15, 0 @ 8692504 voice_square_1 0, 2, 0, 0, 15, 0 @ 8692510 - voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 869251C + voice_keysplit voicegroup007, KeySplitTable3 @ 869251C voice_square_1 0, 2, 0, 0, 15, 0 @ 8692528 voice_square_1 0, 2, 0, 0, 15, 0 @ 8692534 voice_square_1 0, 2, 0, 0, 15, 0 @ 8692540 - voice_keysplit voicegroup_8677120, KeySplitTable5 @ 869254C + voice_keysplit voicegroup009, KeySplitTable5 @ 869254C voice_square_1 0, 2, 0, 0, 15, 0 @ 8692558 voice_square_1 0, 2, 0, 0, 15, 0 @ 8692564 voice_square_1 0, 2, 0, 0, 15, 0 @ 8692570 @@ -10086,8 +10086,8 @@ voicegroup_869227C:: @ 869227C voice_noise_alt 0, 0, 1, 0, 0 @ 8692870 .align 2 -voicegroup_869287C:: @ 869287C - voice_keysplit_all voicegroup_8675FEC @ 869287C +voicegroup095:: @ 869287C + voice_keysplit_all voicegroup001 @ 869287C voice_square_1 0, 2, 0, 0, 15, 0 @ 8692888 voice_square_1 0, 2, 0, 0, 15, 0 @ 8692894 voice_square_1 0, 2, 0, 0, 15, 0 @ 86928A0 @@ -10217,8 +10217,8 @@ voicegroup_869287C:: @ 869287C voice_noise_alt 0, 0, 1, 0, 0 @ 8692E70 .align 2 -voicegroup_8692E7C:: @ 8692E7C - voice_keysplit_all voicegroup_8675FEC @ 8692E7C +voicegroup096:: @ 8692E7C + voice_keysplit_all voicegroup001 @ 8692E7C voice_square_1 0, 2, 0, 0, 15, 0 @ 8692E88 voice_square_1 0, 2, 0, 0, 15, 0 @ 8692E94 voice_square_1 0, 2, 0, 0, 15, 0 @ 8692EA0 @@ -10274,7 +10274,7 @@ voicegroup_8692E7C:: @ 8692E7C voice_square_1 0, 2, 0, 0, 15, 0 @ 86930F8 voice_square_1 0, 2, 0, 0, 15, 0 @ 8693104 voice_square_1 0, 2, 0, 0, 15, 0 @ 8693110 - voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 869311C + voice_keysplit voicegroup007, KeySplitTable3 @ 869311C voice_square_1 0, 2, 0, 0, 15, 0 @ 8693128 voice_square_1 0, 2, 0, 0, 15, 0 @ 8693134 voice_square_1 0, 2, 0, 0, 15, 0 @ 8693140 @@ -10348,9 +10348,9 @@ voicegroup_8692E7C:: @ 8692E7C voice_noise_alt 0, 0, 1, 0, 0 @ 8693470 .align 2 -voicegroup_869347C:: @ 869347C - voice_keysplit_all voicegroup_8675FEC @ 869347C - voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 8693488 +voicegroup097:: @ 869347C + voice_keysplit_all voicegroup001 @ 869347C + voice_keysplit voicegroup005, KeySplitTable1 @ 8693488 voice_square_1 0, 2, 0, 0, 15, 0 @ 8693494 voice_square_1 0, 2, 0, 0, 15, 0 @ 86934A0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86934AC @@ -10407,9 +10407,9 @@ voicegroup_869347C:: @ 869347C voice_square_1 0, 2, 0, 0, 15, 0 @ 8693710 voice_square_1 0, 2, 0, 0, 15, 0 @ 869371C voice_square_1 0, 2, 0, 0, 15, 0 @ 8693728 - voice_keysplit voicegroup_8677108, KeySplitTable4 @ 8693734 + voice_keysplit voicegroup008, KeySplitTable4 @ 8693734 voice_square_1 0, 2, 0, 0, 15, 0 @ 8693740 - voice_keysplit voicegroup_8677120, KeySplitTable5 @ 869374C + voice_keysplit voicegroup009, KeySplitTable5 @ 869374C voice_square_1 0, 2, 0, 0, 15, 0 @ 8693758 voice_square_1 0, 2, 0, 0, 15, 0 @ 8693764 voice_square_1 0, 2, 0, 0, 15, 0 @ 8693770 @@ -10479,8 +10479,8 @@ voicegroup_869347C:: @ 869347C voice_noise_alt 0, 0, 1, 0, 0 @ 8693A70 .align 2 -voicegroup_8693A7C:: @ 8693A7C - voice_keysplit_all voicegroup_8675FEC @ 8693A7C +voicegroup098:: @ 8693A7C + voice_keysplit_all voicegroup001 @ 8693A7C voice_square_1 0, 2, 0, 0, 15, 0 @ 8693A88 voice_square_1 0, 2, 0, 0, 15, 0 @ 8693A94 voice_square_1 0, 2, 0, 0, 15, 0 @ 8693AA0 @@ -10536,9 +10536,9 @@ voicegroup_8693A7C:: @ 8693A7C voice_square_1 0, 2, 0, 0, 15, 0 @ 8693CF8 voice_square_1 0, 2, 0, 0, 15, 0 @ 8693D04 voice_square_1 0, 2, 0, 0, 15, 0 @ 8693D10 - voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 8693D1C + voice_keysplit voicegroup007, KeySplitTable3 @ 8693D1C voice_square_1 0, 2, 0, 0, 15, 0 @ 8693D28 - voice_keysplit voicegroup_8677108, KeySplitTable4 @ 8693D34 + voice_keysplit voicegroup008, KeySplitTable4 @ 8693D34 voice_square_1 0, 2, 0, 0, 15, 0 @ 8693D40 voice_square_1 0, 2, 0, 0, 15, 0 @ 8693D4C voice_square_1 0, 2, 0, 0, 15, 0 @ 8693D58 @@ -10610,8 +10610,8 @@ voicegroup_8693A7C:: @ 8693A7C voice_noise_alt 0, 0, 1, 0, 0 @ 8694070 .align 2 -voicegroup_869407C:: @ 869407C - voice_keysplit_all voicegroup_8675FEC @ 869407C +voicegroup099:: @ 869407C + voice_keysplit_all voicegroup001 @ 869407C voice_square_1 0, 2, 0, 0, 15, 0 @ 8694088 voice_square_1 0, 2, 0, 0, 15, 0 @ 8694094 voice_square_1 0, 2, 0, 0, 15, 0 @ 86940A0 @@ -10667,7 +10667,7 @@ voicegroup_869407C:: @ 869407C voice_square_1 0, 2, 0, 0, 15, 0 @ 86942F8 voice_square_1 0, 2, 0, 0, 15, 0 @ 8694304 voice_square_1 0, 2, 0, 0, 15, 0 @ 8694310 - voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 869431C + voice_keysplit voicegroup007, KeySplitTable3 @ 869431C voice_square_1 0, 2, 0, 0, 15, 0 @ 8694328 voice_square_1 0, 2, 0, 0, 15, 0 @ 8694334 voice_square_1 0, 2, 0, 0, 15, 0 @ 8694340 @@ -10741,8 +10741,8 @@ voicegroup_869407C:: @ 869407C voice_noise_alt 0, 0, 1, 0, 0 @ 8694670 .align 2 -voicegroup_869467C:: @ 869467C - voice_keysplit_all voicegroup_8675FEC @ 869467C +voicegroup100:: @ 869467C + voice_keysplit_all voicegroup001 @ 869467C voice_square_1 0, 2, 0, 0, 15, 0 @ 8694688 voice_square_1 0, 2, 0, 0, 15, 0 @ 8694694 voice_square_1 0, 2, 0, 0, 15, 0 @ 86946A0 @@ -10798,7 +10798,7 @@ voicegroup_869467C:: @ 869467C voice_square_1 0, 2, 0, 0, 15, 0 @ 86948F8 voice_square_1 0, 2, 0, 0, 15, 0 @ 8694904 voice_square_1 0, 2, 0, 0, 15, 0 @ 8694910 - voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 869491C + voice_keysplit voicegroup007, KeySplitTable3 @ 869491C voice_square_1 0, 2, 0, 0, 15, 0 @ 8694928 voice_square_1 0, 2, 0, 0, 15, 0 @ 8694934 voice_square_1 0, 2, 0, 0, 15, 0 @ 8694940 @@ -10872,9 +10872,9 @@ voicegroup_869467C:: @ 869467C voice_noise_alt 0, 0, 1, 0, 0 @ 8694C70 .align 2 -voicegroup_8694C7C:: @ 8694C7C - voice_keysplit_all voicegroup_8675FEC @ 8694C7C - voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 8694C88 +voicegroup101:: @ 8694C7C + voice_keysplit_all voicegroup001 @ 8694C7C + voice_keysplit voicegroup005, KeySplitTable1 @ 8694C88 voice_square_1 0, 2, 0, 0, 15, 0 @ 8694C94 voice_square_1 0, 2, 0, 0, 15, 0 @ 8694CA0 voice_square_1_alt 0, 1, 1, 5, 2, 4 @ 8694CAC @@ -10921,7 +10921,7 @@ voicegroup_8694C7C:: @ 8694C7C voice_square_1 0, 2, 0, 0, 15, 0 @ 8694E98 voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 242, 51, 242 @ 8694EA4 voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 0, 180, 239 @ 8694EB0 - voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 8694EBC + voice_keysplit voicegroup006, KeySplitTable2 @ 8694EBC voice_square_1 0, 2, 0, 0, 15, 0 @ 8694EC8 voice_square_1 0, 2, 0, 0, 15, 0 @ 8694ED4 voice_square_1 0, 2, 0, 0, 15, 0 @ 8694EE0 @@ -10929,11 +10929,11 @@ voicegroup_8694C7C:: @ 8694C7C voice_square_1 0, 2, 0, 0, 15, 0 @ 8694EF8 voice_square_1 0, 2, 0, 0, 15, 0 @ 8694F04 voice_square_1 0, 2, 0, 0, 15, 0 @ 8694F10 - voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 8694F1C + voice_keysplit voicegroup007, KeySplitTable3 @ 8694F1C voice_square_1 0, 2, 0, 0, 15, 0 @ 8694F28 - voice_keysplit voicegroup_8677108, KeySplitTable4 @ 8694F34 + voice_keysplit voicegroup008, KeySplitTable4 @ 8694F34 voice_square_1 0, 2, 0, 0, 15, 0 @ 8694F40 - voice_keysplit voicegroup_8677120, KeySplitTable5 @ 8694F4C + voice_keysplit voicegroup009, KeySplitTable5 @ 8694F4C voice_square_1 0, 2, 0, 0, 15, 0 @ 8694F58 voice_square_1 0, 2, 0, 0, 15, 0 @ 8694F64 voice_square_1 0, 2, 0, 0, 15, 0 @ 8694F70 @@ -10985,7 +10985,7 @@ voicegroup_8694C7C:: @ 8694C7C voice_square_2_alt 0, 1, 1, 6, 1 @ 8695198 .align 2 -voicegroup_86951A4:: @ 86951A4 +voicegroup102:: @ 86951A4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86951A4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86951B0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86951BC @@ -11070,9 +11070,9 @@ voicegroup_86951A4:: @ 86951A4 voice_square_2_alt 2, 0, 6, 0, 6 @ 8695570 .align 2 -voicegroup_869557C:: @ 869557C +voicegroup103:: @ 869557C voice_square_1 0, 2, 0, 0, 15, 0 @ 869557C - voice_keysplit_all voicegroup_8676148 @ 8695588 + voice_keysplit_all voicegroup002 @ 8695588 voice_square_1 0, 2, 0, 0, 15, 0 @ 8695594 voice_square_1 0, 2, 0, 0, 15, 0 @ 86955A0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86955AC @@ -11119,7 +11119,7 @@ voicegroup_869557C:: @ 869557C voice_square_1 0, 2, 0, 0, 15, 0 @ 8695798 voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 242, 51, 242 @ 86957A4 voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 0, 180, 239 @ 86957B0 - voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 86957BC + voice_keysplit voicegroup006, KeySplitTable2 @ 86957BC voice_square_1 0, 2, 0, 0, 15, 0 @ 86957C8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86957D4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86957E0 @@ -11127,11 +11127,11 @@ voicegroup_869557C:: @ 869557C voice_square_1 0, 2, 0, 0, 15, 0 @ 86957F8 voice_square_1 0, 2, 0, 0, 15, 0 @ 8695804 voice_square_1 0, 2, 0, 0, 15, 0 @ 8695810 - voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 869581C + voice_keysplit voicegroup007, KeySplitTable3 @ 869581C voice_square_1 0, 2, 0, 0, 15, 0 @ 8695828 voice_square_1 0, 2, 0, 0, 15, 0 @ 8695834 voice_square_1 0, 2, 0, 0, 15, 0 @ 8695840 - voice_keysplit voicegroup_8677120, KeySplitTable5 @ 869584C + voice_keysplit voicegroup009, KeySplitTable5 @ 869584C voice_square_1 0, 2, 0, 0, 15, 0 @ 8695858 voice_square_1 0, 2, 0, 0, 15, 0 @ 8695864 voice_square_1 0, 2, 0, 0, 15, 0 @ 8695870 @@ -11201,8 +11201,8 @@ voicegroup_869557C:: @ 869557C voice_noise_alt 0, 0, 2, 6, 1 @ 8695B70 .align 2 -voicegroup_8695B7C:: @ 8695B7C - voice_keysplit_all voicegroup_86763D0 @ 8695B7C +voicegroup104:: @ 8695B7C + voice_keysplit_all voicegroup003 @ 8695B7C voice_square_1 0, 2, 0, 0, 15, 0 @ 8695B88 voice_square_1 0, 2, 0, 0, 15, 0 @ 8695B94 voice_directsound 60, 0, DirectSoundWaveData_8701A10, 255, 0, 206, 242 @ 8695BA0 @@ -11312,8 +11312,8 @@ voicegroup_8695B7C:: @ 8695B7C voice_directsound 60, 0, DirectSoundWaveData_8706DCC, 255, 0, 206, 242 @ 8696080 .align 2 -voicegroup_869608C:: @ 869608C - voice_keysplit_all voicegroup_8676148 @ 869608C +voicegroup105:: @ 869608C + voice_keysplit_all voicegroup002 @ 869608C voice_square_1 0, 2, 0, 0, 15, 0 @ 8696098 voice_square_1 0, 2, 0, 0, 15, 0 @ 86960A4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86960B0 @@ -11398,9 +11398,9 @@ voicegroup_869608C:: @ 869608C voice_programmable_wave_alt ProgrammableWaveData_86B4830, 0, 7, 15, 1 @ 8696464 .align 2 -voicegroup_8696470:: @ 8696470 - voice_keysplit_all voicegroup_8676148 @ 8696470 - voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 869647C +voicegroup106:: @ 8696470 + voice_keysplit_all voicegroup002 @ 8696470 + voice_keysplit voicegroup005, KeySplitTable1 @ 869647C voice_square_1 0, 2, 0, 0, 15, 0 @ 8696488 voice_square_1 0, 2, 0, 0, 15, 0 @ 8696494 voice_square_1 0, 2, 0, 0, 15, 0 @ 86964A0 @@ -11447,7 +11447,7 @@ voicegroup_8696470:: @ 8696470 voice_square_1 0, 2, 0, 0, 15, 0 @ 869668C voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 242, 51, 242 @ 8696698 voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 0, 180, 246 @ 86966A4 - voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 86966B0 + voice_keysplit voicegroup006, KeySplitTable2 @ 86966B0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86966BC voice_square_1 0, 2, 0, 0, 15, 0 @ 86966C8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86966D4 @@ -11455,11 +11455,11 @@ voicegroup_8696470:: @ 8696470 voice_square_1 0, 2, 0, 0, 15, 0 @ 86966EC voice_square_1 0, 2, 0, 0, 15, 0 @ 86966F8 voice_square_1 0, 2, 0, 0, 15, 0 @ 8696704 - voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 8696710 + voice_keysplit voicegroup007, KeySplitTable3 @ 8696710 voice_square_1 0, 2, 0, 0, 15, 0 @ 869671C voice_square_1 0, 2, 0, 0, 15, 0 @ 8696728 voice_square_1 0, 2, 0, 0, 15, 0 @ 8696734 - voice_keysplit voicegroup_8677120, KeySplitTable5 @ 8696740 + voice_keysplit voicegroup009, KeySplitTable5 @ 8696740 voice_square_1 0, 2, 0, 0, 15, 0 @ 869674C voice_directsound 60, 0, DirectSoundWaveData_870DE64, 255, 0, 255, 127 @ 8696758 voice_square_1 0, 2, 0, 0, 15, 0 @ 8696764 @@ -11529,8 +11529,8 @@ voicegroup_8696470:: @ 8696470 voice_noise_alt 0, 0, 1, 0, 0 @ 8696A64 .align 2 -voicegroup_8696A70:: @ 8696A70 - voice_keysplit_all voicegroup_8676148 @ 8696A70 +voicegroup107:: @ 8696A70 + voice_keysplit_all voicegroup002 @ 8696A70 voice_square_1 0, 2, 0, 0, 15, 0 @ 8696A7C voice_square_1 0, 2, 0, 0, 15, 0 @ 8696A88 voice_square_1 0, 2, 0, 0, 15, 0 @ 8696A94 @@ -11578,7 +11578,7 @@ voicegroup_8696A70:: @ 8696A70 voice_square_1 0, 2, 0, 0, 15, 0 @ 8696C8C voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 242, 51, 242 @ 8696C98 voice_square_1 0, 2, 0, 0, 15, 0 @ 8696CA4 - voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 8696CB0 + voice_keysplit voicegroup006, KeySplitTable2 @ 8696CB0 voice_square_1 0, 2, 0, 0, 15, 0 @ 8696CBC voice_square_1 0, 2, 0, 0, 15, 0 @ 8696CC8 voice_square_1 0, 2, 0, 0, 15, 0 @ 8696CD4 @@ -11590,7 +11590,7 @@ voicegroup_8696A70:: @ 8696A70 voice_square_1 0, 2, 0, 0, 15, 0 @ 8696D1C voice_square_1 0, 2, 0, 0, 15, 0 @ 8696D28 voice_square_1 0, 2, 0, 0, 15, 0 @ 8696D34 - voice_keysplit voicegroup_8677120, KeySplitTable5 @ 8696D40 + voice_keysplit voicegroup009, KeySplitTable5 @ 8696D40 voice_square_1 0, 2, 0, 0, 15, 0 @ 8696D4C voice_square_1 0, 2, 0, 0, 15, 0 @ 8696D58 voice_square_1 0, 2, 0, 0, 15, 0 @ 8696D64 @@ -11660,9 +11660,9 @@ voicegroup_8696A70:: @ 8696A70 voice_noise_alt 0, 0, 1, 0, 0 @ 8697064 .align 2 -voicegroup_8697070:: @ 8697070 - voice_keysplit_all voicegroup_8676658 @ 8697070 - voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 869707C +voicegroup108:: @ 8697070 + voice_keysplit_all voicegroup004 @ 8697070 + voice_keysplit voicegroup005, KeySplitTable1 @ 869707C voice_square_1 0, 2, 0, 0, 15, 0 @ 8697088 voice_square_1 0, 2, 0, 0, 15, 0 @ 8697094 voice_square_1 0, 2, 0, 0, 15, 0 @ 86970A0 @@ -11791,8 +11791,8 @@ voicegroup_8697070:: @ 8697070 voice_noise_alt 0, 0, 1, 0, 0 @ 8697664 .align 2 -voicegroup_8697670:: @ 8697670 - voice_keysplit_all voicegroup_8676658 @ 8697670 +voicegroup109:: @ 8697670 + voice_keysplit_all voicegroup004 @ 8697670 voice_square_1 0, 2, 0, 0, 15, 0 @ 869767C voice_square_1 0, 2, 0, 0, 15, 0 @ 8697688 voice_square_1 0, 2, 0, 0, 15, 0 @ 8697694 @@ -11877,9 +11877,9 @@ voicegroup_8697670:: @ 8697670 voice_programmable_wave_alt ProgrammableWaveData_86B4920, 0, 7, 15, 0 @ 8697A48 .align 2 -voicegroup_8697A54:: @ 8697A54 - voice_keysplit_all voicegroup_8676148 @ 8697A54 - voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 8697A60 +voicegroup110:: @ 8697A54 + voice_keysplit_all voicegroup002 @ 8697A54 + voice_keysplit voicegroup005, KeySplitTable1 @ 8697A60 voice_square_1 0, 2, 0, 0, 15, 0 @ 8697A6C voice_square_1 0, 2, 0, 0, 15, 0 @ 8697A78 voice_square_1 0, 2, 0, 0, 15, 0 @ 8697A84 @@ -11926,7 +11926,7 @@ voicegroup_8697A54:: @ 8697A54 voice_square_1 0, 2, 0, 0, 15, 0 @ 8697C70 voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 242, 51, 242 @ 8697C7C voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 0, 180, 239 @ 8697C88 - voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 8697C94 + voice_keysplit voicegroup006, KeySplitTable2 @ 8697C94 voice_square_1 0, 2, 0, 0, 15, 0 @ 8697CA0 voice_square_1 0, 2, 0, 0, 15, 0 @ 8697CAC voice_square_1 0, 2, 0, 0, 15, 0 @ 8697CB8 @@ -11934,11 +11934,11 @@ voicegroup_8697A54:: @ 8697A54 voice_square_1 0, 2, 0, 0, 15, 0 @ 8697CD0 voice_square_1 0, 2, 0, 0, 15, 0 @ 8697CDC voice_square_1 0, 2, 0, 0, 15, 0 @ 8697CE8 - voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 8697CF4 + voice_keysplit voicegroup007, KeySplitTable3 @ 8697CF4 voice_square_1 0, 2, 0, 0, 15, 0 @ 8697D00 voice_square_1 0, 2, 0, 0, 15, 0 @ 8697D0C voice_square_1 0, 2, 0, 0, 15, 0 @ 8697D18 - voice_keysplit voicegroup_8677120, KeySplitTable5 @ 8697D24 + voice_keysplit voicegroup009, KeySplitTable5 @ 8697D24 voice_square_1 0, 2, 0, 0, 15, 0 @ 8697D30 voice_square_1 0, 2, 0, 0, 15, 0 @ 8697D3C voice_square_1 0, 2, 0, 0, 15, 0 @ 8697D48 @@ -12008,8 +12008,8 @@ voicegroup_8697A54:: @ 8697A54 voice_noise_alt 0, 0, 2, 6, 1 @ 8698048 .align 2 -voicegroup_8698054:: @ 8698054 - voice_keysplit_all voicegroup_8676148 @ 8698054 +voicegroup111:: @ 8698054 + voice_keysplit_all voicegroup002 @ 8698054 voice_square_1 0, 2, 0, 0, 15, 0 @ 8698060 voice_square_1 0, 2, 0, 0, 15, 0 @ 869806C voice_square_1 0, 2, 0, 0, 15, 0 @ 8698078 @@ -12139,9 +12139,9 @@ voicegroup_8698054:: @ 8698054 voice_noise_alt 0, 0, 2, 6, 1 @ 8698648 .align 2 -voicegroup_8698654:: @ 8698654 - voice_keysplit_all voicegroup_86763D0 @ 8698654 - voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 8698660 +voicegroup112:: @ 8698654 + voice_keysplit_all voicegroup003 @ 8698654 + voice_keysplit voicegroup005, KeySplitTable1 @ 8698660 voice_square_1 0, 2, 0, 0, 15, 0 @ 869866C voice_square_1 0, 2, 0, 0, 15, 0 @ 8698678 voice_programmable_wave_alt ProgrammableWaveData_86B4970, 0, 7, 15, 1 @ 8698684 @@ -12188,7 +12188,7 @@ voicegroup_8698654:: @ 8698654 voice_square_1 0, 2, 0, 0, 15, 0 @ 8698870 voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 242, 51, 242 @ 869887C voice_square_1 0, 2, 0, 0, 15, 0 @ 8698888 - voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 8698894 + voice_keysplit voicegroup006, KeySplitTable2 @ 8698894 voice_square_1 0, 2, 0, 0, 15, 0 @ 86988A0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86988AC voice_square_1 0, 2, 0, 0, 15, 0 @ 86988B8 @@ -12200,7 +12200,7 @@ voicegroup_8698654:: @ 8698654 voice_square_1 0, 2, 0, 0, 15, 0 @ 8698900 voice_square_1 0, 2, 0, 0, 15, 0 @ 869890C voice_square_1 0, 2, 0, 0, 15, 0 @ 8698918 - voice_keysplit voicegroup_8677120, KeySplitTable5 @ 8698924 + voice_keysplit voicegroup009, KeySplitTable5 @ 8698924 voice_square_1 0, 2, 0, 0, 15, 0 @ 8698930 voice_square_1 0, 2, 0, 0, 15, 0 @ 869893C voice_square_1 0, 2, 0, 0, 15, 0 @ 8698948 @@ -12270,8 +12270,8 @@ voicegroup_8698654:: @ 8698654 voice_noise_alt 0, 0, 2, 6, 1 @ 8698C48 .align 2 -voicegroup_8698C54:: @ 8698C54 - voice_keysplit_all voicegroup_8676148 @ 8698C54 +voicegroup113:: @ 8698C54 + voice_keysplit_all voicegroup002 @ 8698C54 voice_programmable_wave_alt ProgrammableWaveData_86B4990, 0, 7, 15, 1 @ 8698C60 voice_programmable_wave_alt ProgrammableWaveData_86B49B0, 0, 7, 15, 1 @ 8698C6C voice_programmable_wave_alt ProgrammableWaveData_86B49A0, 0, 7, 15, 1 @ 8698C78 @@ -12327,11 +12327,11 @@ voicegroup_8698C54:: @ 8698C54 voice_square_1 0, 2, 0, 0, 15, 0 @ 8698ED0 voice_square_1 0, 2, 0, 0, 15, 0 @ 8698EDC voice_square_1 0, 2, 0, 0, 15, 0 @ 8698EE8 - voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 8698EF4 + voice_keysplit voicegroup007, KeySplitTable3 @ 8698EF4 voice_square_1 0, 2, 0, 0, 15, 0 @ 8698F00 voice_square_1 0, 2, 0, 0, 15, 0 @ 8698F0C voice_square_1 0, 2, 0, 0, 15, 0 @ 8698F18 - voice_keysplit voicegroup_8677120, KeySplitTable5 @ 8698F24 + voice_keysplit voicegroup009, KeySplitTable5 @ 8698F24 voice_square_1 0, 2, 0, 0, 15, 0 @ 8698F30 voice_square_1 0, 2, 0, 0, 15, 0 @ 8698F3C voice_square_1 0, 2, 0, 0, 15, 0 @ 8698F48 @@ -12401,8 +12401,8 @@ voicegroup_8698C54:: @ 8698C54 voice_noise_alt 0, 0, 2, 6, 1 @ 8699248 .align 2 -voicegroup_8699254:: @ 8699254 - voice_keysplit_all voicegroup_8675FEC @ 8699254 +voicegroup114:: @ 8699254 + voice_keysplit_all voicegroup001 @ 8699254 voice_square_1 0, 2, 0, 0, 15, 0 @ 8699260 voice_square_1 0, 2, 0, 0, 15, 0 @ 869926C voice_square_1 0, 2, 0, 0, 15, 0 @ 8699278 @@ -12450,7 +12450,7 @@ voicegroup_8699254:: @ 8699254 voice_square_1 0, 2, 0, 0, 15, 0 @ 8699470 voice_square_1 0, 2, 0, 0, 15, 0 @ 869947C voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 246, 0, 226 @ 8699488 - voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 8699494 + voice_keysplit voicegroup006, KeySplitTable2 @ 8699494 voice_square_1 0, 2, 0, 0, 15, 0 @ 86994A0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86994AC voice_square_1 0, 2, 0, 0, 15, 0 @ 86994B8 @@ -12458,11 +12458,11 @@ voicegroup_8699254:: @ 8699254 voice_square_1 0, 2, 0, 0, 15, 0 @ 86994D0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86994DC voice_square_1 0, 2, 0, 0, 15, 0 @ 86994E8 - voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 86994F4 + voice_keysplit voicegroup007, KeySplitTable3 @ 86994F4 voice_square_1 0, 2, 0, 0, 15, 0 @ 8699500 voice_square_1 0, 2, 0, 0, 15, 0 @ 869950C voice_square_1 0, 2, 0, 0, 15, 0 @ 8699518 - voice_keysplit voicegroup_8677120, KeySplitTable5 @ 8699524 + voice_keysplit voicegroup009, KeySplitTable5 @ 8699524 voice_square_1 0, 2, 0, 0, 15, 0 @ 8699530 voice_square_1 0, 2, 0, 0, 15, 0 @ 869953C voice_square_1 0, 2, 0, 0, 15, 0 @ 8699548 @@ -12532,9 +12532,9 @@ voicegroup_8699254:: @ 8699254 voice_directsound 60, 0, DirectSoundWaveData_86CB6B8, 255, 246, 0, 216 @ 8699848 .align 2 -voicegroup_8699854:: @ 8699854 - voice_keysplit_all voicegroup_8676148 @ 8699854 - voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 8699860 +voicegroup115:: @ 8699854 + voice_keysplit_all voicegroup002 @ 8699854 + voice_keysplit voicegroup005, KeySplitTable1 @ 8699860 voice_square_1 0, 2, 0, 0, 15, 0 @ 869986C voice_square_1 0, 2, 0, 0, 15, 0 @ 8699878 voice_directsound 60, 0, DirectSoundWaveData_871CBCC, 128, 249, 0, 188 @ 8699884 @@ -12581,7 +12581,7 @@ voicegroup_8699854:: @ 8699854 voice_directsound 60, 0, DirectSoundWaveData_8726EF0, 255, 216, 0, 165 @ 8699A70 voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 242, 51, 242 @ 8699A7C voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 246, 0, 226 @ 8699A88 - voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 8699A94 + voice_keysplit voicegroup006, KeySplitTable2 @ 8699A94 voice_square_1 0, 2, 0, 0, 15, 0 @ 8699AA0 voice_square_1 0, 2, 0, 0, 15, 0 @ 8699AAC voice_square_1 0, 2, 0, 0, 15, 0 @ 8699AB8 @@ -12589,11 +12589,11 @@ voicegroup_8699854:: @ 8699854 voice_square_1 0, 2, 0, 0, 15, 0 @ 8699AD0 voice_square_1 0, 2, 0, 0, 15, 0 @ 8699ADC voice_square_1 0, 2, 0, 0, 15, 0 @ 8699AE8 - voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 8699AF4 + voice_keysplit voicegroup007, KeySplitTable3 @ 8699AF4 voice_square_1 0, 2, 0, 0, 15, 0 @ 8699B00 voice_square_1 0, 2, 0, 0, 15, 0 @ 8699B0C voice_square_1 0, 2, 0, 0, 15, 0 @ 8699B18 - voice_keysplit voicegroup_8677120, KeySplitTable5 @ 8699B24 + voice_keysplit voicegroup009, KeySplitTable5 @ 8699B24 voice_square_1 0, 2, 0, 0, 15, 0 @ 8699B30 voice_directsound 60, 0, DirectSoundWaveData_870DE64, 255, 165, 180, 165 @ 8699B3C voice_square_1 0, 2, 0, 0, 15, 0 @ 8699B48 @@ -12663,9 +12663,9 @@ voicegroup_8699854:: @ 8699854 voice_noise_alt 0, 0, 1, 6, 0 @ 8699E48 .align 2 -voicegroup_8699E54:: @ 8699E54 - voice_keysplit_all voicegroup_8676148 @ 8699E54 - voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 8699E60 +voicegroup116:: @ 8699E54 + voice_keysplit_all voicegroup002 @ 8699E54 + voice_keysplit voicegroup005, KeySplitTable1 @ 8699E60 voice_square_1 0, 2, 0, 0, 15, 0 @ 8699E6C voice_square_1 0, 2, 0, 0, 15, 0 @ 8699E78 voice_square_2_alt 3, 0, 2, 6, 5 @ 8699E84 @@ -12712,7 +12712,7 @@ voicegroup_8699E54:: @ 8699E54 voice_square_1 0, 2, 0, 0, 15, 0 @ 869A070 voice_square_1 0, 2, 0, 0, 15, 0 @ 869A07C voice_square_1 0, 2, 0, 0, 15, 0 @ 869A088 - voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 869A094 + voice_keysplit voicegroup006, KeySplitTable2 @ 869A094 voice_square_1 0, 2, 0, 0, 15, 0 @ 869A0A0 voice_square_1 0, 2, 0, 0, 15, 0 @ 869A0AC voice_square_1 0, 2, 0, 0, 15, 0 @ 869A0B8 @@ -12720,11 +12720,11 @@ voicegroup_8699E54:: @ 8699E54 voice_square_1 0, 2, 0, 0, 15, 0 @ 869A0D0 voice_square_1 0, 2, 0, 0, 15, 0 @ 869A0DC voice_square_1 0, 2, 0, 0, 15, 0 @ 869A0E8 - voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 869A0F4 + voice_keysplit voicegroup007, KeySplitTable3 @ 869A0F4 voice_square_1 0, 2, 0, 0, 15, 0 @ 869A100 voice_square_1 0, 2, 0, 0, 15, 0 @ 869A10C voice_square_1 0, 2, 0, 0, 15, 0 @ 869A118 - voice_keysplit voicegroup_8677120, KeySplitTable5 @ 869A124 + voice_keysplit voicegroup009, KeySplitTable5 @ 869A124 voice_square_1 0, 2, 0, 0, 15, 0 @ 869A130 voice_directsound 60, 0, DirectSoundWaveData_870DE64, 255, 0, 255, 127 @ 869A13C voice_square_1 0, 2, 0, 0, 15, 0 @ 869A148 @@ -12794,8 +12794,8 @@ voicegroup_8699E54:: @ 8699E54 voice_noise_alt 0, 0, 1, 6, 1 @ 869A448 .align 2 -voicegroup_869A454:: @ 869A454 - voice_keysplit_all voicegroup_8675FEC @ 869A454 +voicegroup117:: @ 869A454 + voice_keysplit_all voicegroup001 @ 869A454 voice_square_1 0, 2, 0, 0, 15, 0 @ 869A460 voice_square_1 0, 2, 0, 0, 15, 0 @ 869A46C voice_square_1 0, 2, 0, 0, 15, 0 @ 869A478 @@ -12843,7 +12843,7 @@ voicegroup_869A454:: @ 869A454 voice_square_1 0, 2, 0, 0, 15, 0 @ 869A670 voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 246, 0, 235 @ 869A67C voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 246, 0, 226 @ 869A688 - voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 869A694 + voice_keysplit voicegroup006, KeySplitTable2 @ 869A694 voice_square_1 0, 2, 0, 0, 15, 0 @ 869A6A0 voice_square_1 0, 2, 0, 0, 15, 0 @ 869A6AC voice_square_1 0, 2, 0, 0, 15, 0 @ 869A6B8 @@ -12851,11 +12851,11 @@ voicegroup_869A454:: @ 869A454 voice_square_1 0, 2, 0, 0, 15, 0 @ 869A6D0 voice_square_1 0, 2, 0, 0, 15, 0 @ 869A6DC voice_square_1 0, 2, 0, 0, 15, 0 @ 869A6E8 - voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 869A6F4 + voice_keysplit voicegroup007, KeySplitTable3 @ 869A6F4 voice_square_1 0, 2, 0, 0, 15, 0 @ 869A700 - voice_keysplit voicegroup_8677108, KeySplitTable4 @ 869A70C + voice_keysplit voicegroup008, KeySplitTable4 @ 869A70C voice_square_1 0, 2, 0, 0, 15, 0 @ 869A718 - voice_keysplit voicegroup_8677120, KeySplitTable5 @ 869A724 + voice_keysplit voicegroup009, KeySplitTable5 @ 869A724 voice_square_1 0, 2, 0, 0, 15, 0 @ 869A730 voice_square_1 0, 2, 0, 0, 15, 0 @ 869A73C voice_square_1 0, 2, 0, 0, 15, 0 @ 869A748 @@ -12879,8 +12879,8 @@ voicegroup_869A454:: @ 869A454 voice_programmable_wave_alt ProgrammableWaveData_86B4850, 0, 7, 15, 2 @ 869A820 .align 2 -voicegroup_869A82C:: @ 869A82C - voice_keysplit_all voicegroup_8675FEC @ 869A82C +voicegroup118:: @ 869A82C + voice_keysplit_all voicegroup001 @ 869A82C voice_square_1 0, 2, 0, 0, 15, 0 @ 869A838 voice_square_1 0, 2, 0, 0, 15, 0 @ 869A844 voice_square_1 0, 2, 0, 0, 15, 0 @ 869A850 @@ -12928,7 +12928,7 @@ voicegroup_869A82C:: @ 869A82C voice_square_1 0, 2, 0, 0, 15, 0 @ 869AA48 voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 246, 0, 235 @ 869AA54 voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 246, 0, 226 @ 869AA60 - voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 869AA6C + voice_keysplit voicegroup006, KeySplitTable2 @ 869AA6C voice_square_1 0, 2, 0, 0, 15, 0 @ 869AA78 voice_square_1 0, 2, 0, 0, 15, 0 @ 869AA84 voice_square_1 0, 2, 0, 0, 15, 0 @ 869AA90 @@ -12938,9 +12938,9 @@ voicegroup_869A82C:: @ 869A82C voice_square_1 0, 2, 0, 0, 15, 0 @ 869AAC0 voice_square_1 0, 2, 0, 0, 15, 0 @ 869AACC voice_square_1 0, 2, 0, 0, 15, 0 @ 869AAD8 - voice_keysplit voicegroup_8677108, KeySplitTable4 @ 869AAE4 + voice_keysplit voicegroup008, KeySplitTable4 @ 869AAE4 voice_square_1 0, 2, 0, 0, 15, 0 @ 869AAF0 - voice_keysplit voicegroup_8677120, KeySplitTable5 @ 869AAFC + voice_keysplit voicegroup009, KeySplitTable5 @ 869AAFC voice_square_1 0, 2, 0, 0, 15, 0 @ 869AB08 voice_square_1 0, 2, 0, 0, 15, 0 @ 869AB14 voice_square_1 0, 2, 0, 0, 15, 0 @ 869AB20 @@ -12973,9 +12973,9 @@ voicegroup_869A82C:: @ 869A82C voice_directsound 60, 0, DirectSoundWaveData_873A594, 255, 0, 255, 127 @ 869AC64 .align 2 -voicegroup_869AC70:: @ 869AC70 - voice_keysplit_all voicegroup_8675FEC @ 869AC70 - voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 869AC7C +voicegroup119:: @ 869AC70 + voice_keysplit_all voicegroup001 @ 869AC70 + voice_keysplit voicegroup005, KeySplitTable1 @ 869AC7C voice_square_1 0, 2, 0, 0, 15, 0 @ 869AC88 voice_square_1 0, 2, 0, 0, 15, 0 @ 869AC94 voice_square_2 0, 0, 2, 4, 1 @ 869ACA0 @@ -13022,7 +13022,7 @@ voicegroup_869AC70:: @ 869AC70 voice_square_1 0, 2, 0, 0, 15, 0 @ 869AE8C voice_directsound_no_resample 60, 0, DirectSoundWaveData_87205DC, 255, 246, 0, 226 @ 869AE98 voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 246, 0, 226 @ 869AEA4 - voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 869AEB0 + voice_keysplit voicegroup006, KeySplitTable2 @ 869AEB0 voice_square_1 0, 2, 0, 0, 15, 0 @ 869AEBC voice_square_1 0, 2, 0, 0, 15, 0 @ 869AEC8 voice_square_1 0, 2, 0, 0, 15, 0 @ 869AED4 @@ -13030,11 +13030,11 @@ voicegroup_869AC70:: @ 869AC70 voice_square_1 0, 2, 0, 0, 15, 0 @ 869AEEC voice_square_1 0, 2, 0, 0, 15, 0 @ 869AEF8 voice_square_1 0, 2, 0, 0, 15, 0 @ 869AF04 - voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 869AF10 + voice_keysplit voicegroup007, KeySplitTable3 @ 869AF10 voice_square_1 0, 2, 0, 0, 15, 0 @ 869AF1C voice_square_1 0, 2, 0, 0, 15, 0 @ 869AF28 voice_square_1 0, 2, 0, 0, 15, 0 @ 869AF34 - voice_keysplit voicegroup_8677120, KeySplitTable5 @ 869AF40 + voice_keysplit voicegroup009, KeySplitTable5 @ 869AF40 voice_square_1 0, 2, 0, 0, 15, 0 @ 869AF4C voice_square_1 0, 2, 0, 0, 15, 0 @ 869AF58 voice_square_1 0, 2, 0, 0, 15, 0 @ 869AF64 @@ -13067,9 +13067,9 @@ voicegroup_869AC70:: @ 869AC70 voice_programmable_wave_alt ProgrammableWaveData_86B4890, 0, 7, 15, 2 @ 869B0A8 .align 2 -voicegroup_869B0B4:: @ 869B0B4 - voice_keysplit_all voicegroup_8675FEC @ 869B0B4 - voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 869B0C0 +voicegroup120:: @ 869B0B4 + voice_keysplit_all voicegroup001 @ 869B0B4 + voice_keysplit voicegroup005, KeySplitTable1 @ 869B0C0 voice_square_1 0, 2, 0, 0, 15, 0 @ 869B0CC voice_square_1 0, 2, 0, 0, 15, 0 @ 869B0D8 voice_square_2 2, 0, 2, 6, 1 @ 869B0E4 @@ -13116,7 +13116,7 @@ voicegroup_869B0B4:: @ 869B0B4 voice_directsound 60, 0, DirectSoundWaveData_8726EF0, 255, 216, 0, 165 @ 869B2D0 voice_square_1 0, 2, 0, 0, 15, 0 @ 869B2DC voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 246, 0, 226 @ 869B2E8 - voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 869B2F4 + voice_keysplit voicegroup006, KeySplitTable2 @ 869B2F4 voice_square_1 0, 2, 0, 0, 15, 0 @ 869B300 voice_square_1 0, 2, 0, 0, 15, 0 @ 869B30C voice_square_1 0, 2, 0, 0, 15, 0 @ 869B318 @@ -13124,11 +13124,11 @@ voicegroup_869B0B4:: @ 869B0B4 voice_square_1 0, 2, 0, 0, 15, 0 @ 869B330 voice_square_1 0, 2, 0, 0, 15, 0 @ 869B33C voice_square_1 0, 2, 0, 0, 15, 0 @ 869B348 - voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 869B354 + voice_keysplit voicegroup007, KeySplitTable3 @ 869B354 voice_square_1 0, 2, 0, 0, 15, 0 @ 869B360 voice_square_1 0, 2, 0, 0, 15, 0 @ 869B36C voice_square_1 0, 2, 0, 0, 15, 0 @ 869B378 - voice_keysplit voicegroup_8677120, KeySplitTable5 @ 869B384 + voice_keysplit voicegroup009, KeySplitTable5 @ 869B384 voice_square_1 0, 2, 0, 0, 15, 0 @ 869B390 voice_square_1 0, 2, 0, 0, 15, 0 @ 869B39C voice_square_1 0, 2, 0, 0, 15, 0 @ 869B3A8 @@ -13161,9 +13161,9 @@ voicegroup_869B0B4:: @ 869B0B4 voice_programmable_wave_alt ProgrammableWaveData_86B4890, 0, 7, 15, 2 @ 869B4EC .align 2 -voicegroup_869B4F8:: @ 869B4F8 - voice_keysplit_all voicegroup_8675FEC @ 869B4F8 - voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 869B504 +voicegroup121:: @ 869B4F8 + voice_keysplit_all voicegroup001 @ 869B4F8 + voice_keysplit voicegroup005, KeySplitTable1 @ 869B504 voice_square_1 0, 2, 0, 0, 15, 0 @ 869B510 voice_square_1 0, 2, 0, 0, 15, 0 @ 869B51C voice_square_1 0, 2, 0, 0, 15, 0 @ 869B528 @@ -13210,7 +13210,7 @@ voicegroup_869B4F8:: @ 869B4F8 voice_directsound 60, 0, DirectSoundWaveData_8726EF0, 255, 216, 0, 165 @ 869B714 voice_square_1 0, 2, 0, 0, 15, 0 @ 869B720 voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 246, 0, 226 @ 869B72C - voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 869B738 + voice_keysplit voicegroup006, KeySplitTable2 @ 869B738 voice_square_1 0, 2, 0, 0, 15, 0 @ 869B744 voice_square_1 0, 2, 0, 0, 15, 0 @ 869B750 voice_square_1 0, 2, 0, 0, 15, 0 @ 869B75C @@ -13218,11 +13218,11 @@ voicegroup_869B4F8:: @ 869B4F8 voice_square_1 0, 2, 0, 0, 15, 0 @ 869B774 voice_square_1 0, 2, 0, 0, 15, 0 @ 869B780 voice_square_1 0, 2, 0, 0, 15, 0 @ 869B78C - voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 869B798 + voice_keysplit voicegroup007, KeySplitTable3 @ 869B798 voice_square_1 0, 2, 0, 0, 15, 0 @ 869B7A4 voice_square_1 0, 2, 0, 0, 15, 0 @ 869B7B0 voice_square_1 0, 2, 0, 0, 15, 0 @ 869B7BC - voice_keysplit voicegroup_8677120, KeySplitTable5 @ 869B7C8 + voice_keysplit voicegroup009, KeySplitTable5 @ 869B7C8 voice_square_1 0, 2, 0, 0, 15, 0 @ 869B7D4 voice_square_1 0, 2, 0, 0, 15, 0 @ 869B7E0 voice_square_1 0, 2, 0, 0, 15, 0 @ 869B7EC @@ -13250,8 +13250,8 @@ voicegroup_869B4F8:: @ 869B4F8 voice_square_1 0, 0, 0, 0, 7, 1 @ 869B8F4 .align 2 -voicegroup_869B900:: @ 869B900 - voice_keysplit_all voicegroup_8675FEC @ 869B900 +voicegroup122:: @ 869B900 + voice_keysplit_all voicegroup001 @ 869B900 voice_square_1 0, 2, 0, 0, 15, 0 @ 869B90C voice_square_1 0, 2, 0, 0, 15, 0 @ 869B918 voice_square_1 0, 2, 0, 0, 15, 0 @ 869B924 @@ -13299,7 +13299,7 @@ voicegroup_869B900:: @ 869B900 voice_directsound 60, 0, DirectSoundWaveData_8726EF0, 255, 216, 0, 165 @ 869BB1C voice_square_1 0, 2, 0, 0, 15, 0 @ 869BB28 voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 246, 0, 226 @ 869BB34 - voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 869BB40 + voice_keysplit voicegroup006, KeySplitTable2 @ 869BB40 voice_square_1 0, 2, 0, 0, 15, 0 @ 869BB4C voice_square_1 0, 2, 0, 0, 15, 0 @ 869BB58 voice_square_1 0, 2, 0, 0, 15, 0 @ 869BB64 @@ -13311,7 +13311,7 @@ voicegroup_869B900:: @ 869B900 voice_square_1 0, 2, 0, 0, 15, 0 @ 869BBAC voice_square_1 0, 2, 0, 0, 15, 0 @ 869BBB8 voice_square_1 0, 2, 0, 0, 15, 0 @ 869BBC4 - voice_keysplit voicegroup_8677120, KeySplitTable5 @ 869BBD0 + voice_keysplit voicegroup009, KeySplitTable5 @ 869BBD0 voice_square_1 0, 2, 0, 0, 15, 0 @ 869BBDC voice_square_1 0, 2, 0, 0, 15, 0 @ 869BBE8 voice_square_1 0, 2, 0, 0, 15, 0 @ 869BBF4 @@ -13337,8 +13337,8 @@ voicegroup_869B900:: @ 869B900 voice_square_1 0, 3, 0, 0, 9, 1 @ 869BCE4 .align 2 -voicegroup_869BCF0:: @ 869BCF0 - voice_keysplit_all voicegroup_8675FEC @ 869BCF0 +voicegroup123:: @ 869BCF0 + voice_keysplit_all voicegroup001 @ 869BCF0 voice_square_1 0, 2, 0, 0, 15, 0 @ 869BCFC voice_square_1 0, 2, 0, 0, 15, 0 @ 869BD08 voice_square_1 0, 2, 0, 0, 15, 0 @ 869BD14 @@ -13386,7 +13386,7 @@ voicegroup_869BCF0:: @ 869BCF0 voice_square_1 0, 2, 0, 0, 15, 0 @ 869BF0C voice_square_1 0, 2, 0, 0, 15, 0 @ 869BF18 voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 246, 0, 226 @ 869BF24 - voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 869BF30 + voice_keysplit voicegroup006, KeySplitTable2 @ 869BF30 voice_square_1 0, 2, 0, 0, 15, 0 @ 869BF3C voice_square_1 0, 2, 0, 0, 15, 0 @ 869BF48 voice_square_1 0, 2, 0, 0, 15, 0 @ 869BF54 @@ -13394,11 +13394,11 @@ voicegroup_869BCF0:: @ 869BCF0 voice_square_1 0, 2, 0, 0, 15, 0 @ 869BF6C voice_square_1 0, 2, 0, 0, 15, 0 @ 869BF78 voice_square_1 0, 2, 0, 0, 15, 0 @ 869BF84 - voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 869BF90 + voice_keysplit voicegroup007, KeySplitTable3 @ 869BF90 voice_square_1 0, 2, 0, 0, 15, 0 @ 869BF9C voice_square_1 0, 2, 0, 0, 15, 0 @ 869BFA8 voice_square_1 0, 2, 0, 0, 15, 0 @ 869BFB4 - voice_keysplit voicegroup_8677120, KeySplitTable5 @ 869BFC0 + voice_keysplit voicegroup009, KeySplitTable5 @ 869BFC0 voice_square_1 0, 2, 0, 0, 15, 0 @ 869BFCC voice_square_1 0, 2, 0, 0, 15, 0 @ 869BFD8 voice_square_1 0, 2, 0, 0, 15, 0 @ 869BFE4 @@ -13468,9 +13468,9 @@ voicegroup_869BCF0:: @ 869BCF0 voice_directsound 60, 0, DirectSoundWaveData_86CB6B8, 255, 246, 0, 216 @ 869C2E4 .align 2 -voicegroup_869C2F0:: @ 869C2F0 - voice_keysplit_all voicegroup_8675FEC @ 869C2F0 - voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 869C2FC +voicegroup124:: @ 869C2F0 + voice_keysplit_all voicegroup001 @ 869C2F0 + voice_keysplit voicegroup005, KeySplitTable1 @ 869C2FC voice_square_1 0, 2, 0, 0, 15, 0 @ 869C308 voice_square_1 0, 2, 0, 0, 15, 0 @ 869C314 voice_square_2 2, 0, 2, 3, 1 @ 869C320 @@ -13517,7 +13517,7 @@ voicegroup_869C2F0:: @ 869C2F0 voice_square_1 0, 2, 0, 0, 15, 0 @ 869C50C voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 246, 0, 235 @ 869C518 voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 246, 0, 226 @ 869C524 - voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 869C530 + voice_keysplit voicegroup006, KeySplitTable2 @ 869C530 voice_square_1 0, 2, 0, 0, 15, 0 @ 869C53C voice_square_1 0, 2, 0, 0, 15, 0 @ 869C548 voice_square_1 0, 2, 0, 0, 15, 0 @ 869C554 @@ -13525,11 +13525,11 @@ voicegroup_869C2F0:: @ 869C2F0 voice_square_1 0, 2, 0, 0, 15, 0 @ 869C56C voice_square_1 0, 2, 0, 0, 15, 0 @ 869C578 voice_square_1 0, 2, 0, 0, 15, 0 @ 869C584 - voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 869C590 + voice_keysplit voicegroup007, KeySplitTable3 @ 869C590 voice_square_1 0, 2, 0, 0, 15, 0 @ 869C59C voice_square_1 0, 2, 0, 0, 15, 0 @ 869C5A8 voice_square_1 0, 2, 0, 0, 15, 0 @ 869C5B4 - voice_keysplit voicegroup_8677120, KeySplitTable5 @ 869C5C0 + voice_keysplit voicegroup009, KeySplitTable5 @ 869C5C0 voice_square_1 0, 2, 0, 0, 15, 0 @ 869C5CC voice_square_1 0, 2, 0, 0, 15, 0 @ 869C5D8 voice_square_1 0, 2, 0, 0, 15, 0 @ 869C5E4 @@ -13558,8 +13558,8 @@ voicegroup_869C2F0:: @ 869C2F0 voice_square_2 3, 0, 2, 7, 1 @ 869C6F8 .align 2 -voicegroup_869C704:: @ 869C704 - voice_keysplit_all voicegroup_8675FEC @ 869C704 +voicegroup125:: @ 869C704 + voice_keysplit_all voicegroup001 @ 869C704 voice_square_1 0, 2, 0, 0, 15, 0 @ 869C710 voice_square_1 0, 2, 0, 0, 15, 0 @ 869C71C voice_square_1 0, 2, 0, 0, 15, 0 @ 869C728 @@ -13607,7 +13607,7 @@ voicegroup_869C704:: @ 869C704 voice_square_1 0, 2, 0, 0, 15, 0 @ 869C920 voice_square_1 0, 2, 0, 0, 15, 0 @ 869C92C voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 246, 0, 226 @ 869C938 - voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 869C944 + voice_keysplit voicegroup006, KeySplitTable2 @ 869C944 voice_square_1 0, 2, 0, 0, 15, 0 @ 869C950 voice_square_1 0, 2, 0, 0, 15, 0 @ 869C95C voice_square_1 0, 2, 0, 0, 15, 0 @ 869C968 @@ -13615,11 +13615,11 @@ voicegroup_869C704:: @ 869C704 voice_square_1 0, 2, 0, 0, 15, 0 @ 869C980 voice_square_1 0, 2, 0, 0, 15, 0 @ 869C98C voice_square_1 0, 2, 0, 0, 15, 0 @ 869C998 - voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 869C9A4 + voice_keysplit voicegroup007, KeySplitTable3 @ 869C9A4 voice_square_1 0, 2, 0, 0, 15, 0 @ 869C9B0 voice_square_1 0, 2, 0, 0, 15, 0 @ 869C9BC voice_square_1 0, 2, 0, 0, 15, 0 @ 869C9C8 - voice_keysplit voicegroup_8677120, KeySplitTable5 @ 869C9D4 + voice_keysplit voicegroup009, KeySplitTable5 @ 869C9D4 voice_square_1 0, 2, 0, 0, 15, 0 @ 869C9E0 voice_square_1 0, 2, 0, 0, 15, 0 @ 869C9EC voice_square_1 0, 2, 0, 0, 15, 0 @ 869C9F8 @@ -13645,8 +13645,8 @@ voicegroup_869C704:: @ 869C704 voice_square_1 0, 3, 0, 0, 7, 1 @ 869CAE8 .align 2 -voicegroup_869CAF4:: @ 869CAF4 - voice_keysplit_all voicegroup_8675FEC @ 869CAF4 +voicegroup126:: @ 869CAF4 + voice_keysplit_all voicegroup001 @ 869CAF4 voice_square_1 0, 2, 0, 0, 15, 0 @ 869CB00 voice_square_1 0, 2, 0, 0, 15, 0 @ 869CB0C voice_square_1 0, 2, 0, 0, 15, 0 @ 869CB18 @@ -13694,7 +13694,7 @@ voicegroup_869CAF4:: @ 869CAF4 voice_square_1 0, 2, 0, 0, 15, 0 @ 869CD10 voice_square_1 0, 2, 0, 0, 15, 0 @ 869CD1C voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 246, 0, 226 @ 869CD28 - voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 869CD34 + voice_keysplit voicegroup006, KeySplitTable2 @ 869CD34 voice_square_1 0, 2, 0, 0, 15, 0 @ 869CD40 voice_square_1 0, 2, 0, 0, 15, 0 @ 869CD4C voice_square_1 0, 2, 0, 0, 15, 0 @ 869CD58 @@ -13702,11 +13702,11 @@ voicegroup_869CAF4:: @ 869CAF4 voice_square_1 0, 2, 0, 0, 15, 0 @ 869CD70 voice_square_1 0, 2, 0, 0, 15, 0 @ 869CD7C voice_square_1 0, 2, 0, 0, 15, 0 @ 869CD88 - voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 869CD94 + voice_keysplit voicegroup007, KeySplitTable3 @ 869CD94 voice_square_1 0, 2, 0, 0, 15, 0 @ 869CDA0 voice_square_1 0, 2, 0, 0, 15, 0 @ 869CDAC voice_square_1 0, 2, 0, 0, 15, 0 @ 869CDB8 - voice_keysplit voicegroup_8677120, KeySplitTable5 @ 869CDC4 + voice_keysplit voicegroup009, KeySplitTable5 @ 869CDC4 voice_square_1 0, 2, 0, 0, 15, 0 @ 869CDD0 voice_square_1 0, 2, 0, 0, 15, 0 @ 869CDDC voice_square_1 0, 2, 0, 0, 15, 0 @ 869CDE8 @@ -13776,7 +13776,7 @@ voicegroup_869CAF4:: @ 869CAF4 voice_directsound 60, 0, DirectSoundWaveData_86CB6B8, 255, 246, 0, 216 @ 869D0E8 .align 2 -voicegroup_869D0F4:: @ 869D0F4 +voicegroup127:: @ 869D0F4 voice_directsound 60, 0, DirectSoundWaveData_8721AAC, 255, 249, 103, 165 @ 869D0F4 voice_square_1 0, 2, 0, 0, 15, 0 @ 869D100 voice_square_1 0, 2, 0, 0, 15, 0 @ 869D10C @@ -13825,7 +13825,7 @@ voicegroup_869D0F4:: @ 869D0F4 voice_square_1 0, 2, 0, 0, 15, 0 @ 869D310 voice_square_1 0, 2, 0, 0, 15, 0 @ 869D31C voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 246, 0, 226 @ 869D328 - voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 869D334 + voice_keysplit voicegroup006, KeySplitTable2 @ 869D334 voice_square_1 0, 2, 0, 0, 15, 0 @ 869D340 voice_square_1 0, 2, 0, 0, 15, 0 @ 869D34C voice_square_1 0, 2, 0, 0, 15, 0 @ 869D358 @@ -13907,7 +13907,7 @@ voicegroup_869D0F4:: @ 869D0F4 voice_noise_alt 0, 0, 1, 0, 1 @ 869D6E8 .align 2 -voicegroup_869D6F4:: @ 869D6F4 +voicegroup128:: @ 869D6F4 voice_directsound_no_resample 60, 0, DirectSoundWaveData_87240CC, 255, 249, 0, 165 @ 869D6F4 voice_directsound_alt 60, 0, DirectSoundWaveData_87240CC, 255, 0, 255, 165 @ 869D700 voice_directsound 60, 0, DirectSoundWaveData_8721AAC, 255, 0, 255, 165 @ 869D70C @@ -14820,7 +14820,7 @@ gCryTable2:: @ 869EF24 cry2 Cry_Chimecho @ 86A0148 .align 2 -voicegroup_86A0154:: @ 86A0154 +voicegroup129:: @ 86A0154 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0154 voice_directsound 60, 0, DirectSoundWaveData_86CC5E4, 255, 0, 255, 0 @ 86A0160 voice_directsound 60, 0, DirectSoundWaveData_86CCAFC, 255, 0, 255, 0 @ 86A016C @@ -14879,7 +14879,7 @@ voicegroup_86A0154:: @ 86A0154 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A03E8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A03F4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0400 - voice_keysplit voicegroup_8677108, KeySplitTable4 @ 86A040C + voice_keysplit voicegroup008, KeySplitTable4 @ 86A040C voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0418 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0424 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0430 @@ -14951,7 +14951,7 @@ voicegroup_86A0154:: @ 86A0154 voice_noise_alt 0, 0, 2, 6, 0 @ 86A0748 .align 2 -voicegroup_86A0754:: @ 86A0754 +voicegroup130:: @ 86A0754 voice_directsound 60, 0, DirectSoundWaveData_88DBBC0, 255, 0, 255, 0 @ 86A0754 voice_directsound 60, 0, DirectSoundWaveData_88DC220, 255, 0, 255, 0 @ 86A0760 voice_directsound 60, 0, DirectSoundWaveData_88DC704, 255, 0, 255, 0 @ 86A076C @@ -15003,7 +15003,7 @@ voicegroup_86A0754:: @ 86A0754 voice_directsound 60, 0, DirectSoundWaveData_88F5368, 255, 0, 255, 0 @ 86A0994 voice_directsound 60, 0, DirectSoundWaveData_88F5FCC, 255, 0, 255, 0 @ 86A09A0 voice_directsound 60, 0, DirectSoundWaveData_88F6498, 255, 0, 255, 0 @ 86A09AC - voice_keysplit_all voicegroup_8675FEC @ 86A09B8 + voice_keysplit_all voicegroup001 @ 86A09B8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A09C4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A09D0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A09DC @@ -15133,9 +15133,9 @@ voicegroup_86A0754:: @ 86A0754 voice_noise_alt 0, 0, 1, 7, 1 @ 86A0FAC .align 2 -voicegroup_86A0FB8:: @ 86A0FB8 - voice_keysplit_all voicegroup_8676148 @ 86A0FB8 - voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 86A0FC4 +voicegroup131:: @ 86A0FB8 + voice_keysplit_all voicegroup002 @ 86A0FB8 + voice_keysplit voicegroup005, KeySplitTable1 @ 86A0FC4 voice_directsound 60, 0, DirectSoundWaveData_88F8318, 128, 204, 51, 242 @ 86A0FD0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0FDC voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0FE8 @@ -15264,8 +15264,8 @@ voicegroup_86A0FB8:: @ 86A0FB8 voice_noise_alt 0, 0, 1, 0, 1 @ 86A15AC .align 2 -voicegroup_86A15B8:: @ 86A15B8 - voice_keysplit_all voicegroup_8676148 @ 86A15B8 +voicegroup132:: @ 86A15B8 + voice_keysplit_all voicegroup002 @ 86A15B8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A15C4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A15D0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A15DC @@ -15313,7 +15313,7 @@ voicegroup_86A15B8:: @ 86A15B8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A17D4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A17E0 voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 165, 154, 235 @ 86A17EC - voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 86A17F8 + voice_keysplit voicegroup006, KeySplitTable2 @ 86A17F8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1804 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1810 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A181C @@ -15321,11 +15321,11 @@ voicegroup_86A15B8:: @ 86A15B8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1834 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1840 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A184C - voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 86A1858 + voice_keysplit voicegroup007, KeySplitTable3 @ 86A1858 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1864 - voice_keysplit voicegroup_8677108, KeySplitTable4 @ 86A1870 + voice_keysplit voicegroup008, KeySplitTable4 @ 86A1870 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A187C - voice_keysplit voicegroup_8677120, KeySplitTable5 @ 86A1888 + voice_keysplit voicegroup009, KeySplitTable5 @ 86A1888 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1894 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A18A0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A18AC @@ -15395,9 +15395,9 @@ voicegroup_86A15B8:: @ 86A15B8 voice_noise_alt 0, 0, 1, 8, 1 @ 86A1BAC .align 2 -voicegroup_86A1BB8:: @ 86A1BB8 - voice_keysplit_all voicegroup_8676148 @ 86A1BB8 - voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 86A1BC4 +voicegroup133:: @ 86A1BB8 + voice_keysplit_all voicegroup002 @ 86A1BB8 + voice_keysplit voicegroup005, KeySplitTable1 @ 86A1BC4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1BD0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1BDC voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1BE8 @@ -15444,7 +15444,7 @@ voicegroup_86A1BB8:: @ 86A1BB8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1DD4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1DE0 voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 0, 193, 153 @ 86A1DEC - voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 86A1DF8 + voice_keysplit voicegroup006, KeySplitTable2 @ 86A1DF8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1E04 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1E10 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1E1C @@ -15452,11 +15452,11 @@ voicegroup_86A1BB8:: @ 86A1BB8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1E34 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1E40 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1E4C - voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 86A1E58 + voice_keysplit voicegroup007, KeySplitTable3 @ 86A1E58 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1E64 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1E70 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1E7C - voice_keysplit voicegroup_8677120, KeySplitTable5 @ 86A1E88 + voice_keysplit voicegroup009, KeySplitTable5 @ 86A1E88 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1E94 voice_directsound 60, 0, DirectSoundWaveData_870DE64, 255, 0, 255, 127 @ 86A1EA0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1EAC @@ -15526,8 +15526,8 @@ voicegroup_86A1BB8:: @ 86A1BB8 voice_noise_alt 0, 0, 1, 8, 1 @ 86A21AC .align 2 -voicegroup_86A21B8:: @ 86A21B8 - voice_keysplit_all voicegroup_8675FEC @ 86A21B8 +voicegroup134:: @ 86A21B8 + voice_keysplit_all voicegroup001 @ 86A21B8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A21C4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A21D0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A21DC @@ -15575,7 +15575,7 @@ voicegroup_86A21B8:: @ 86A21B8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A23D4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A23E0 voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 246, 0, 226 @ 86A23EC - voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 86A23F8 + voice_keysplit voicegroup006, KeySplitTable2 @ 86A23F8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2404 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2410 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A241C @@ -15583,11 +15583,11 @@ voicegroup_86A21B8:: @ 86A21B8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2434 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2440 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A244C - voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 86A2458 + voice_keysplit voicegroup007, KeySplitTable3 @ 86A2458 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2464 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2470 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A247C - voice_keysplit voicegroup_8677120, KeySplitTable5 @ 86A2488 + voice_keysplit voicegroup009, KeySplitTable5 @ 86A2488 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2494 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A24A0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A24AC @@ -15619,8 +15619,8 @@ voicegroup_86A21B8:: @ 86A21B8 voice_square_1_alt 0, 3, 0, 0, 7, 1 @ 86A25E4 .align 2 -voicegroup_86A25F0:: @ 86A25F0 - voice_keysplit_all voicegroup_8676148 @ 86A25F0 +voicegroup135:: @ 86A25F0 + voice_keysplit_all voicegroup002 @ 86A25F0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A25FC voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2608 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2614 @@ -15705,9 +15705,9 @@ voicegroup_86A25F0:: @ 86A25F0 voice_square_1_alt 0, 0, 1, 2, 6, 0 @ 86A29C8 .align 2 -voicegroup_86A29D4:: @ 86A29D4 - voice_keysplit_all voicegroup_8676148 @ 86A29D4 - voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 86A29E0 +voicegroup136:: @ 86A29D4 + voice_keysplit_all voicegroup002 @ 86A29D4 + voice_keysplit voicegroup005, KeySplitTable1 @ 86A29E0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A29EC voice_square_1 0, 2, 0, 0, 15, 0 @ 86A29F8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2A04 @@ -15754,7 +15754,7 @@ voicegroup_86A29D4:: @ 86A29D4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2BF0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2BFC voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2C08 - voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 86A2C14 + voice_keysplit voicegroup006, KeySplitTable2 @ 86A2C14 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2C20 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2C2C voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2C38 @@ -15836,8 +15836,8 @@ voicegroup_86A29D4:: @ 86A29D4 voice_noise_alt 0, 0, 1, 0, 0 @ 86A2FC8 .align 2 -voicegroup_86A2FD4:: @ 86A2FD4 - voice_keysplit_all voicegroup_8676148 @ 86A2FD4 +voicegroup137:: @ 86A2FD4 + voice_keysplit_all voicegroup002 @ 86A2FD4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2FE0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2FEC voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2FF8 @@ -15885,7 +15885,7 @@ voicegroup_86A2FD4:: @ 86A2FD4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A31F0 voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 242, 0, 242 @ 86A31FC voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 0, 193, 153 @ 86A3208 - voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 86A3214 + voice_keysplit voicegroup006, KeySplitTable2 @ 86A3214 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3220 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A322C voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3238 @@ -15893,11 +15893,11 @@ voicegroup_86A2FD4:: @ 86A2FD4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3250 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A325C voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3268 - voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 86A3274 + voice_keysplit voicegroup007, KeySplitTable3 @ 86A3274 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3280 - voice_keysplit voicegroup_8677108, KeySplitTable4 @ 86A328C + voice_keysplit voicegroup008, KeySplitTable4 @ 86A328C voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3298 - voice_keysplit voicegroup_8677120, KeySplitTable5 @ 86A32A4 + voice_keysplit voicegroup009, KeySplitTable5 @ 86A32A4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A32B0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A32BC voice_square_1 0, 2, 0, 0, 15, 0 @ 86A32C8 @@ -15967,9 +15967,9 @@ voicegroup_86A2FD4:: @ 86A2FD4 voice_noise_alt 0, 0, 1, 0, 1 @ 86A35C8 .align 2 -voicegroup_86A35D4:: @ 86A35D4 - voice_keysplit_all voicegroup_8676148 @ 86A35D4 - voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 86A35E0 +voicegroup138:: @ 86A35D4 + voice_keysplit_all voicegroup002 @ 86A35D4 + voice_keysplit voicegroup005, KeySplitTable1 @ 86A35E0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A35EC voice_square_1 0, 2, 0, 0, 15, 0 @ 86A35F8 voice_directsound 60, 0, DirectSoundWaveData_871CBCC, 255, 188, 128, 226 @ 86A3604 @@ -16016,7 +16016,7 @@ voicegroup_86A35D4:: @ 86A35D4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A37F0 voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 246, 0, 235 @ 86A37FC voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3808 - voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 86A3814 + voice_keysplit voicegroup006, KeySplitTable2 @ 86A3814 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3820 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A382C voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3838 @@ -16024,7 +16024,7 @@ voicegroup_86A35D4:: @ 86A35D4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3850 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A385C voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3868 - voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 86A3874 + voice_keysplit voicegroup007, KeySplitTable3 @ 86A3874 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3880 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A388C voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3898 @@ -16098,9 +16098,9 @@ voicegroup_86A35D4:: @ 86A35D4 voice_noise_alt 0, 0, 1, 6, 0 @ 86A3BC8 .align 2 -voicegroup_86A3BD4:: @ 86A3BD4 - voice_keysplit_all voicegroup_8676148 @ 86A3BD4 - voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 86A3BE0 +voicegroup139:: @ 86A3BD4 + voice_keysplit_all voicegroup002 @ 86A3BD4 + voice_keysplit voicegroup005, KeySplitTable1 @ 86A3BE0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3BEC voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3BF8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3C04 @@ -16147,7 +16147,7 @@ voicegroup_86A3BD4:: @ 86A3BD4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3DF0 voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 242, 51, 226 @ 86A3DFC voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3E08 - voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 86A3E14 + voice_keysplit voicegroup006, KeySplitTable2 @ 86A3E14 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3E20 voice_square_1_alt 0, 2, 0, 2, 3, 1 @ 86A3E2C voice_square_2_alt 3, 0, 2, 7, 2 @ 86A3E38 @@ -16157,9 +16157,9 @@ voicegroup_86A3BD4:: @ 86A3BD4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3E68 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3E74 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3E80 - voice_keysplit voicegroup_8677108, KeySplitTable4 @ 86A3E8C + voice_keysplit voicegroup008, KeySplitTable4 @ 86A3E8C voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3E98 - voice_keysplit voicegroup_8677120, KeySplitTable5 @ 86A3EA4 + voice_keysplit voicegroup009, KeySplitTable5 @ 86A3EA4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3EB0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3EBC voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3EC8 @@ -16229,16 +16229,16 @@ voicegroup_86A3BD4:: @ 86A3BD4 voice_noise_alt 0, 0, 1, 6, 1 @ 86A41C8 .align 2 -voicegroup_86A41D4:: @ 86A41D4 - voice_keysplit_all voicegroup_8675FEC @ 86A41D4 +voicegroup140:: @ 86A41D4 + voice_keysplit_all voicegroup001 @ 86A41D4 voice_square_1 0, 2, 0, 2, 3, 1 @ 86A41E0 voice_square_2_alt 2, 0, 2, 3, 1 @ 86A41EC voice_programmable_wave_alt ProgrammableWaveData_86B4870, 0, 7, 15, 0 @ 86A41F8 .align 2 -voicegroup_86A4204:: @ 86A4204 - voice_keysplit_all voicegroup_8676148 @ 86A4204 - voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 86A4210 +voicegroup141:: @ 86A4204 + voice_keysplit_all voicegroup002 @ 86A4204 + voice_keysplit voicegroup005, KeySplitTable1 @ 86A4210 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A421C voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4228 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4234 @@ -16285,7 +16285,7 @@ voicegroup_86A4204:: @ 86A4204 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4420 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A442C voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4438 - voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 86A4444 + voice_keysplit voicegroup006, KeySplitTable2 @ 86A4444 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4450 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A445C voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4468 @@ -16293,7 +16293,7 @@ voicegroup_86A4204:: @ 86A4204 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4480 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A448C voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4498 - voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 86A44A4 + voice_keysplit voicegroup007, KeySplitTable3 @ 86A44A4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A44B0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A44BC voice_square_1 0, 2, 0, 0, 15, 0 @ 86A44C8 @@ -16367,8 +16367,8 @@ voicegroup_86A4204:: @ 86A4204 voice_noise_alt 0, 0, 1, 6, 0 @ 86A47F8 .align 2 -voicegroup_86A4804:: @ 86A4804 - voice_keysplit_all voicegroup_8676148 @ 86A4804 +voicegroup142:: @ 86A4804 + voice_keysplit_all voicegroup002 @ 86A4804 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4810 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A481C voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4828 @@ -16454,9 +16454,9 @@ voicegroup_86A4804:: @ 86A4804 voice_programmable_wave_alt ProgrammableWaveData_86B4900, 0, 7, 15, 0 @ 86A4BE8 .align 2 -voicegroup_86A4BF4:: @ 86A4BF4 - voice_keysplit_all voicegroup_8676148 @ 86A4BF4 - voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 86A4C00 +voicegroup143:: @ 86A4BF4 + voice_keysplit_all voicegroup002 @ 86A4BF4 + voice_keysplit voicegroup005, KeySplitTable1 @ 86A4C00 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4C0C voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4C18 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4C24 @@ -16503,7 +16503,7 @@ voicegroup_86A4BF4:: @ 86A4BF4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4E10 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4E1C voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4E28 - voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 86A4E34 + voice_keysplit voicegroup006, KeySplitTable2 @ 86A4E34 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4E40 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4E4C voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4E58 @@ -16585,9 +16585,9 @@ voicegroup_86A4BF4:: @ 86A4BF4 voice_noise_alt 0, 0, 1, 6, 1 @ 86A51E8 .align 2 -voicegroup_86A51F4:: @ 86A51F4 - voice_keysplit_all voicegroup_8676148 @ 86A51F4 - voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 86A5200 +voicegroup144:: @ 86A51F4 + voice_keysplit_all voicegroup002 @ 86A51F4 + voice_keysplit voicegroup005, KeySplitTable1 @ 86A5200 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A520C voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5218 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5224 @@ -16634,7 +16634,7 @@ voicegroup_86A51F4:: @ 86A51F4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5410 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A541C voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5428 - voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 86A5434 + voice_keysplit voicegroup006, KeySplitTable2 @ 86A5434 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5440 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A544C voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5458 @@ -16716,9 +16716,9 @@ voicegroup_86A51F4:: @ 86A51F4 voice_noise_alt 0, 0, 1, 6, 0 @ 86A57E8 .align 2 -voicegroup_86A57F4:: @ 86A57F4 - voice_keysplit_all voicegroup_8676148 @ 86A57F4 - voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 86A5800 +voicegroup145:: @ 86A57F4 + voice_keysplit_all voicegroup002 @ 86A57F4 + voice_keysplit voicegroup005, KeySplitTable1 @ 86A5800 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A580C voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5818 voice_directsound 60, 0, DirectSoundWaveData_871CBCC, 255, 188, 128, 226 @ 86A5824 @@ -16765,7 +16765,7 @@ voicegroup_86A57F4:: @ 86A57F4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5A10 voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 246, 0, 235 @ 86A5A1C voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5A28 - voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 86A5A34 + voice_keysplit voicegroup006, KeySplitTable2 @ 86A5A34 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5A40 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5A4C voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5A58 @@ -16773,7 +16773,7 @@ voicegroup_86A57F4:: @ 86A57F4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5A70 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5A7C voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5A88 - voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 86A5A94 + voice_keysplit voicegroup007, KeySplitTable3 @ 86A5A94 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5AA0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5AAC voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5AB8 @@ -16847,8 +16847,8 @@ voicegroup_86A57F4:: @ 86A57F4 voice_noise_alt 0, 0, 1, 6, 0 @ 86A5DE8 .align 2 -voicegroup_86A5DF4:: @ 86A5DF4 - voice_keysplit_all voicegroup_8676148 @ 86A5DF4 +voicegroup146:: @ 86A5DF4 + voice_keysplit_all voicegroup002 @ 86A5DF4 voice_directsound 60, 0, DirectSoundWaveData_88F8318, 255, 165, 103, 235 @ 86A5E00 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5E0C voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5E18 @@ -16896,7 +16896,7 @@ voicegroup_86A5DF4:: @ 86A5DF4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6010 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A601C voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6028 - voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 86A6034 + voice_keysplit voicegroup006, KeySplitTable2 @ 86A6034 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6040 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A604C voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6058 @@ -16978,9 +16978,9 @@ voicegroup_86A5DF4:: @ 86A5DF4 voice_noise_alt 0, 0, 1, 6, 2 @ 86A63E8 .align 2 -voicegroup_86A63F4:: @ 86A63F4 - voice_keysplit_all voicegroup_8675FEC @ 86A63F4 - voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 86A6400 +voicegroup147:: @ 86A63F4 + voice_keysplit_all voicegroup001 @ 86A63F4 + voice_keysplit voicegroup005, KeySplitTable1 @ 86A6400 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A640C voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6418 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6424 @@ -17027,7 +17027,7 @@ voicegroup_86A63F4:: @ 86A63F4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6610 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A661C voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6628 - voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 86A6634 + voice_keysplit voicegroup006, KeySplitTable2 @ 86A6634 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6640 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A664C voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6658 @@ -17065,8 +17065,8 @@ voicegroup_86A63F4:: @ 86A63F4 voice_programmable_wave_alt ProgrammableWaveData_86B4830, 0, 2, 4, 2 @ 86A67D8 .align 2 -voicegroup_86A67E4:: @ 86A67E4 - voice_keysplit_all voicegroup_8676148 @ 86A67E4 +voicegroup148:: @ 86A67E4 + voice_keysplit_all voicegroup002 @ 86A67E4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A67F0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A67FC voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6808 @@ -17114,7 +17114,7 @@ voicegroup_86A67E4:: @ 86A67E4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6A00 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6A0C voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6A18 - voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 86A6A24 + voice_keysplit voicegroup006, KeySplitTable2 @ 86A6A24 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6A30 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6A3C voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6A48 @@ -17124,7 +17124,7 @@ voicegroup_86A67E4:: @ 86A67E4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6A78 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6A84 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6A90 - voice_keysplit voicegroup_8677108, KeySplitTable4 @ 86A6A9C + voice_keysplit voicegroup008, KeySplitTable4 @ 86A6A9C voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6AA8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6AB4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6AC0 @@ -17196,9 +17196,9 @@ voicegroup_86A67E4:: @ 86A67E4 voice_noise_alt 0, 0, 1, 6, 5 @ 86A6DD8 .align 2 -voicegroup_86A6DE4:: @ 86A6DE4 - voice_keysplit_all voicegroup_86B429C @ 86A6DE4 - voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 86A6DF0 +voicegroup149:: @ 86A6DE4 + voice_keysplit_all voicegroup190 @ 86A6DE4 + voice_keysplit voicegroup005, KeySplitTable1 @ 86A6DF0 voice_square_1_alt 0, 2, 0, 0, 12, 0 @ 86A6DFC voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6E08 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6E14 @@ -17245,7 +17245,7 @@ voicegroup_86A6DE4:: @ 86A6DE4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7000 voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 246, 0, 235 @ 86A700C voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 165, 154, 153 @ 86A7018 - voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 86A7024 + voice_keysplit voicegroup006, KeySplitTable2 @ 86A7024 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7030 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A703C voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7048 @@ -17253,11 +17253,11 @@ voicegroup_86A6DE4:: @ 86A6DE4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7060 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A706C voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7078 - voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 86A7084 + voice_keysplit voicegroup007, KeySplitTable3 @ 86A7084 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7090 - voice_keysplit voicegroup_8677108, KeySplitTable4 @ 86A709C + voice_keysplit voicegroup008, KeySplitTable4 @ 86A709C voice_square_1 0, 2, 0, 0, 15, 0 @ 86A70A8 - voice_keysplit voicegroup_8677120, KeySplitTable5 @ 86A70B4 + voice_keysplit voicegroup009, KeySplitTable5 @ 86A70B4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A70C0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A70CC voice_square_1 0, 2, 0, 0, 15, 0 @ 86A70D8 @@ -17292,8 +17292,8 @@ voicegroup_86A6DE4:: @ 86A6DE4 voice_programmable_wave_alt ProgrammableWaveData_86B4830, 0, 7, 15, 0 @ 86A7234 .align 2 -voicegroup_86A7240:: @ 86A7240 - voice_keysplit_all voicegroup_8676148 @ 86A7240 +voicegroup150:: @ 86A7240 + voice_keysplit_all voicegroup002 @ 86A7240 voice_directsound 60, 0, DirectSoundWaveData_88F8318, 255, 165, 103, 235 @ 86A724C voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7258 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7264 @@ -17423,8 +17423,8 @@ voicegroup_86A7240:: @ 86A7240 voice_noise_alt 0, 0, 1, 0, 0 @ 86A7834 .align 2 -voicegroup_86A7840:: @ 86A7840 - voice_keysplit_all voicegroup_8676148 @ 86A7840 +voicegroup151:: @ 86A7840 + voice_keysplit_all voicegroup002 @ 86A7840 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A784C voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7858 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7864 @@ -17472,7 +17472,7 @@ voicegroup_86A7840:: @ 86A7840 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7A5C voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7A68 voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 0, 193, 127 @ 86A7A74 - voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 86A7A80 + voice_keysplit voicegroup006, KeySplitTable2 @ 86A7A80 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7A8C voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7A98 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7AA4 @@ -17480,11 +17480,11 @@ voicegroup_86A7840:: @ 86A7840 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7ABC voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7AC8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7AD4 - voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 86A7AE0 + voice_keysplit voicegroup007, KeySplitTable3 @ 86A7AE0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7AEC - voice_keysplit voicegroup_8677108, KeySplitTable4 @ 86A7AF8 + voice_keysplit voicegroup008, KeySplitTable4 @ 86A7AF8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7B04 - voice_keysplit voicegroup_8677120, KeySplitTable5 @ 86A7B10 + voice_keysplit voicegroup009, KeySplitTable5 @ 86A7B10 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7B1C voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7B28 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7B34 @@ -17514,8 +17514,8 @@ voicegroup_86A7840:: @ 86A7840 voice_programmable_wave_alt ProgrammableWaveData_86B4870, 0, 7, 15, 0 @ 86A7C54 .align 2 -voicegroup_86A7C60:: @ 86A7C60 - voice_keysplit_all voicegroup_8676148 @ 86A7C60 +voicegroup152:: @ 86A7C60 + voice_keysplit_all voicegroup002 @ 86A7C60 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7C6C voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7C78 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7C84 @@ -17563,7 +17563,7 @@ voicegroup_86A7C60:: @ 86A7C60 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7E7C voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7E88 voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 127, 154, 235 @ 86A7E94 - voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 86A7EA0 + voice_keysplit voicegroup006, KeySplitTable2 @ 86A7EA0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7EAC voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7EB8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7EC4 @@ -17571,11 +17571,11 @@ voicegroup_86A7C60:: @ 86A7C60 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7EDC voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7EE8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7EF4 - voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 86A7F00 + voice_keysplit voicegroup007, KeySplitTable3 @ 86A7F00 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7F0C - voice_keysplit voicegroup_8677108, KeySplitTable4 @ 86A7F18 + voice_keysplit voicegroup008, KeySplitTable4 @ 86A7F18 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7F24 - voice_keysplit voicegroup_8677120, KeySplitTable5 @ 86A7F30 + voice_keysplit voicegroup009, KeySplitTable5 @ 86A7F30 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7F3C voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7F48 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7F54 @@ -17645,9 +17645,9 @@ voicegroup_86A7C60:: @ 86A7C60 voice_noise_alt 0, 0, 1, 6, 1 @ 86A8254 .align 2 -voicegroup_86A8260:: @ 86A8260 - voice_keysplit_all voicegroup_8676148 @ 86A8260 - voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 86A826C +voicegroup153:: @ 86A8260 + voice_keysplit_all voicegroup002 @ 86A8260 + voice_keysplit voicegroup005, KeySplitTable1 @ 86A826C voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8278 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8284 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8290 @@ -17694,7 +17694,7 @@ voicegroup_86A8260:: @ 86A8260 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A847C voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 246, 0, 235 @ 86A8488 voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 127, 154, 235 @ 86A8494 - voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 86A84A0 + voice_keysplit voicegroup006, KeySplitTable2 @ 86A84A0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A84AC voice_square_1 0, 2, 0, 0, 15, 0 @ 86A84B8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A84C4 @@ -17702,11 +17702,11 @@ voicegroup_86A8260:: @ 86A8260 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A84DC voice_square_1 0, 2, 0, 0, 15, 0 @ 86A84E8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A84F4 - voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 86A8500 + voice_keysplit voicegroup007, KeySplitTable3 @ 86A8500 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A850C - voice_keysplit voicegroup_8677108, KeySplitTable4 @ 86A8518 + voice_keysplit voicegroup008, KeySplitTable4 @ 86A8518 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8524 - voice_keysplit voicegroup_8677120, KeySplitTable5 @ 86A8530 + voice_keysplit voicegroup009, KeySplitTable5 @ 86A8530 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A853C voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8548 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8554 @@ -17776,8 +17776,8 @@ voicegroup_86A8260:: @ 86A8260 voice_noise_alt 0, 0, 1, 6, 2 @ 86A8854 .align 2 -voicegroup_86A8860:: @ 86A8860 - voice_keysplit_all voicegroup_8676148 @ 86A8860 +voicegroup154:: @ 86A8860 + voice_keysplit_all voicegroup002 @ 86A8860 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A886C voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8878 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8884 @@ -17825,7 +17825,7 @@ voicegroup_86A8860:: @ 86A8860 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8A7C voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8A88 voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 127, 154, 235 @ 86A8A94 - voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 86A8AA0 + voice_keysplit voicegroup006, KeySplitTable2 @ 86A8AA0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8AAC voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8AB8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8AC4 @@ -17833,11 +17833,11 @@ voicegroup_86A8860:: @ 86A8860 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8ADC voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8AE8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8AF4 - voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 86A8B00 + voice_keysplit voicegroup007, KeySplitTable3 @ 86A8B00 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8B0C - voice_keysplit voicegroup_8677108, KeySplitTable4 @ 86A8B18 + voice_keysplit voicegroup008, KeySplitTable4 @ 86A8B18 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8B24 - voice_keysplit voicegroup_8677120, KeySplitTable5 @ 86A8B30 + voice_keysplit voicegroup009, KeySplitTable5 @ 86A8B30 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8B3C voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8B48 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8B54 @@ -17872,9 +17872,9 @@ voicegroup_86A8860:: @ 86A8860 voice_programmable_wave_alt ProgrammableWaveData_86B4880, 0, 0, 12, 0 @ 86A8CB0 .align 2 -voicegroup_86A8CBC:: @ 86A8CBC - voice_keysplit_all voicegroup_8676148 @ 86A8CBC - voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 86A8CC8 +voicegroup155:: @ 86A8CBC + voice_keysplit_all voicegroup002 @ 86A8CBC + voice_keysplit voicegroup005, KeySplitTable1 @ 86A8CC8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8CD4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8CE0 voice_directsound 60, 0, DirectSoundWaveData_871CBCC, 255, 249, 0, 165 @ 86A8CEC @@ -17921,7 +17921,7 @@ voicegroup_86A8CBC:: @ 86A8CBC voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8ED8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8EE4 voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 246, 0, 226 @ 86A8EF0 - voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 86A8EFC + voice_keysplit voicegroup006, KeySplitTable2 @ 86A8EFC voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8F08 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8F14 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8F20 @@ -17929,11 +17929,11 @@ voicegroup_86A8CBC:: @ 86A8CBC voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8F38 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8F44 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8F50 - voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 86A8F5C + voice_keysplit voicegroup007, KeySplitTable3 @ 86A8F5C voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8F68 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8F74 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8F80 - voice_keysplit voicegroup_8677120, KeySplitTable5 @ 86A8F8C + voice_keysplit voicegroup009, KeySplitTable5 @ 86A8F8C voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8F98 voice_directsound 60, 0, DirectSoundWaveData_870DE64, 255, 165, 180, 165 @ 86A8FA4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8FB0 @@ -18003,9 +18003,9 @@ voicegroup_86A8CBC:: @ 86A8CBC voice_noise_alt 0, 0, 1, 6, 0 @ 86A92B0 .align 2 -voicegroup_86A92BC:: @ 86A92BC - voice_keysplit_all voicegroup_8676148 @ 86A92BC - voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 86A92C8 +voicegroup156:: @ 86A92BC + voice_keysplit_all voicegroup002 @ 86A92BC + voice_keysplit voicegroup005, KeySplitTable1 @ 86A92C8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A92D4 voice_programmable_wave_alt ProgrammableWaveData_86B4870, 0, 7, 15, 0 @ 86A92E0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A92EC @@ -18052,7 +18052,7 @@ voicegroup_86A92BC:: @ 86A92BC voice_square_1 0, 2, 0, 0, 15, 0 @ 86A94D8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A94E4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A94F0 - voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 86A94FC + voice_keysplit voicegroup006, KeySplitTable2 @ 86A94FC voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9508 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9514 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9520 @@ -18060,11 +18060,11 @@ voicegroup_86A92BC:: @ 86A92BC voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9538 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9544 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9550 - voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 86A955C + voice_keysplit voicegroup007, KeySplitTable3 @ 86A955C voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9568 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9574 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9580 - voice_keysplit voicegroup_8677120, KeySplitTable5 @ 86A958C + voice_keysplit voicegroup009, KeySplitTable5 @ 86A958C voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9598 voice_directsound 60, 0, DirectSoundWaveData_870DE64, 255, 0, 255, 127 @ 86A95A4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A95B0 @@ -18134,9 +18134,9 @@ voicegroup_86A92BC:: @ 86A92BC voice_noise_alt 0, 0, 1, 6, 0 @ 86A98B0 .align 2 -voicegroup_86A98BC:: @ 86A98BC - voice_keysplit_all voicegroup_8676148 @ 86A98BC - voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 86A98C8 +voicegroup157:: @ 86A98BC + voice_keysplit_all voicegroup002 @ 86A98BC + voice_keysplit voicegroup005, KeySplitTable1 @ 86A98C8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A98D4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A98E0 voice_square_2_alt 3, 0, 2, 6, 5 @ 86A98EC @@ -18183,7 +18183,7 @@ voicegroup_86A98BC:: @ 86A98BC voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9AD8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9AE4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9AF0 - voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 86A9AFC + voice_keysplit voicegroup006, KeySplitTable2 @ 86A9AFC voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9B08 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9B14 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9B20 @@ -18191,11 +18191,11 @@ voicegroup_86A98BC:: @ 86A98BC voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9B38 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9B44 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9B50 - voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 86A9B5C + voice_keysplit voicegroup007, KeySplitTable3 @ 86A9B5C voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9B68 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9B74 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9B80 - voice_keysplit voicegroup_8677120, KeySplitTable5 @ 86A9B8C + voice_keysplit voicegroup009, KeySplitTable5 @ 86A9B8C voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9B98 voice_directsound 60, 0, DirectSoundWaveData_870DE64, 255, 0, 255, 127 @ 86A9BA4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9BB0 @@ -18265,9 +18265,9 @@ voicegroup_86A98BC:: @ 86A98BC voice_noise_alt 0, 0, 1, 6, 1 @ 86A9EB0 .align 2 -voicegroup_86A9EBC:: @ 86A9EBC - voice_keysplit_all voicegroup_8676148 @ 86A9EBC - voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 86A9EC8 +voicegroup158:: @ 86A9EBC + voice_keysplit_all voicegroup002 @ 86A9EBC + voice_keysplit voicegroup005, KeySplitTable1 @ 86A9EC8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9ED4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9EE0 voice_directsound 60, 0, DirectSoundWaveData_871CBCC, 255, 249, 0, 165 @ 86A9EEC @@ -18314,7 +18314,7 @@ voicegroup_86A9EBC:: @ 86A9EBC voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA0D8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA0E4 voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 0, 193, 153 @ 86AA0F0 - voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 86AA0FC + voice_keysplit voicegroup006, KeySplitTable2 @ 86AA0FC voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA108 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA114 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA120 @@ -18322,11 +18322,11 @@ voicegroup_86A9EBC:: @ 86A9EBC voice_directsound 60, 0, DirectSoundWaveData_86BA7E8, 255, 0, 255, 0 @ 86AA138 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA144 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA150 - voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 86AA15C + voice_keysplit voicegroup007, KeySplitTable3 @ 86AA15C voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA168 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA174 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA180 - voice_keysplit voicegroup_8677120, KeySplitTable5 @ 86AA18C + voice_keysplit voicegroup009, KeySplitTable5 @ 86AA18C voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA198 voice_directsound 60, 0, DirectSoundWaveData_870DE64, 255, 0, 236, 188 @ 86AA1A4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA1B0 @@ -18396,7 +18396,7 @@ voicegroup_86A9EBC:: @ 86A9EBC voice_noise_alt 0, 0, 1, 8, 1 @ 86AA4B0 .align 2 -voicegroup_86AA4BC:: @ 86AA4BC +voicegroup159:: @ 86AA4BC voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA4BC voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA4C8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA4D4 @@ -18445,7 +18445,7 @@ voicegroup_86AA4BC:: @ 86AA4BC voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA6D8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA6E4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA6F0 - voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 86AA6FC + voice_keysplit voicegroup006, KeySplitTable2 @ 86AA6FC voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA708 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA714 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA720 @@ -18527,8 +18527,8 @@ voicegroup_86AA4BC:: @ 86AA4BC voice_noise_alt 0, 0, 1, 0, 0 @ 86AAAB0 .align 2 -voicegroup_86AAABC:: @ 86AAABC - voice_keysplit_all voicegroup_8675FEC @ 86AAABC +voicegroup160:: @ 86AAABC + voice_keysplit_all voicegroup001 @ 86AAABC voice_square_1 0, 2, 0, 0, 15, 0 @ 86AAAC8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AAAD4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AAAE0 @@ -18576,7 +18576,7 @@ voicegroup_86AAABC:: @ 86AAABC voice_square_1 0, 2, 0, 0, 15, 0 @ 86AACD8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AACE4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AACF0 - voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 86AACFC + voice_keysplit voicegroup006, KeySplitTable2 @ 86AACFC voice_square_1 0, 2, 0, 0, 15, 0 @ 86AAD08 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AAD14 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AAD20 @@ -18618,9 +18618,9 @@ voicegroup_86AAABC:: @ 86AAABC voice_programmable_wave_alt ProgrammableWaveData_86B4870, 0, 7, 15, 0 @ 86AAED0 .align 2 -voicegroup_86AAEDC:: @ 86AAEDC - voice_keysplit_all voicegroup_8676148 @ 86AAEDC - voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 86AAEE8 +voicegroup161:: @ 86AAEDC + voice_keysplit_all voicegroup002 @ 86AAEDC + voice_keysplit voicegroup005, KeySplitTable1 @ 86AAEE8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AAEF4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AAF00 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AAF0C @@ -18667,7 +18667,7 @@ voicegroup_86AAEDC:: @ 86AAEDC voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB0F8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB104 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB110 - voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 86AB11C + voice_keysplit voicegroup006, KeySplitTable2 @ 86AB11C voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB128 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB134 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB140 @@ -18675,9 +18675,9 @@ voicegroup_86AAEDC:: @ 86AAEDC voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB158 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB164 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB170 - voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 86AB17C + voice_keysplit voicegroup007, KeySplitTable3 @ 86AB17C voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB188 - voice_keysplit voicegroup_8677108, KeySplitTable4 @ 86AB194 + voice_keysplit voicegroup008, KeySplitTable4 @ 86AB194 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB1A0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB1AC voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB1B8 @@ -18749,8 +18749,8 @@ voicegroup_86AAEDC:: @ 86AAEDC voice_noise_alt 0, 0, 1, 0, 0 @ 86AB4D0 .align 2 -voicegroup_86AB4DC:: @ 86AB4DC - voice_keysplit_all voicegroup_8676148 @ 86AB4DC +voicegroup162:: @ 86AB4DC + voice_keysplit_all voicegroup002 @ 86AB4DC voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB4E8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB4F4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB500 @@ -18798,7 +18798,7 @@ voicegroup_86AB4DC:: @ 86AB4DC voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB6F8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB704 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB710 - voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 86AB71C + voice_keysplit voicegroup006, KeySplitTable2 @ 86AB71C voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB728 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB734 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB740 @@ -18845,9 +18845,9 @@ voicegroup_86AB4DC:: @ 86AB4DC voice_programmable_wave_alt ProgrammableWaveData_86B4870, 0, 7, 15, 0 @ 86AB92C .align 2 -voicegroup_86AB938:: @ 86AB938 - voice_keysplit_all voicegroup_8676148 @ 86AB938 - voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 86AB944 +voicegroup163:: @ 86AB938 + voice_keysplit_all voicegroup002 @ 86AB938 + voice_keysplit voicegroup005, KeySplitTable1 @ 86AB944 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB950 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB95C voice_directsound 60, 0, DirectSoundWaveData_871CBCC, 255, 188, 128, 226 @ 86AB968 @@ -18894,7 +18894,7 @@ voicegroup_86AB938:: @ 86AB938 voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABB54 voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 246, 0, 235 @ 86ABB60 voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABB6C - voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 86ABB78 + voice_keysplit voicegroup006, KeySplitTable2 @ 86ABB78 voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABB84 voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABB90 voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABB9C @@ -18902,7 +18902,7 @@ voicegroup_86AB938:: @ 86AB938 voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABBB4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABBC0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABBCC - voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 86ABBD8 + voice_keysplit voicegroup007, KeySplitTable3 @ 86ABBD8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABBE4 voice_directsound 60, 0, DirectSoundWaveData_88D6978, 255, 0, 206, 204 @ 86ABBF0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABBFC @@ -18976,9 +18976,9 @@ voicegroup_86AB938:: @ 86AB938 voice_noise_alt 0, 0, 1, 6, 0 @ 86ABF2C .align 2 -voicegroup_86ABF38:: @ 86ABF38 - voice_keysplit_all voicegroup_8676148 @ 86ABF38 - voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 86ABF44 +voicegroup164:: @ 86ABF38 + voice_keysplit_all voicegroup002 @ 86ABF38 + voice_keysplit voicegroup005, KeySplitTable1 @ 86ABF44 voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABF50 voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABF5C voice_directsound 60, 0, DirectSoundWaveData_871CBCC, 128, 180, 108, 209 @ 86ABF68 @@ -19025,7 +19025,7 @@ voicegroup_86ABF38:: @ 86ABF38 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC154 voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 246, 0, 235 @ 86AC160 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC16C - voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 86AC178 + voice_keysplit voicegroup006, KeySplitTable2 @ 86AC178 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC184 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC190 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC19C @@ -19107,9 +19107,9 @@ voicegroup_86ABF38:: @ 86ABF38 voice_noise_alt 0, 0, 1, 6, 0 @ 86AC52C .align 2 -voicegroup_86AC538:: @ 86AC538 - voice_keysplit_all voicegroup_8676148 @ 86AC538 - voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 86AC544 +voicegroup165:: @ 86AC538 + voice_keysplit_all voicegroup002 @ 86AC538 + voice_keysplit voicegroup005, KeySplitTable1 @ 86AC544 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC550 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC55C voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC568 @@ -19156,7 +19156,7 @@ voicegroup_86AC538:: @ 86AC538 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC754 voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 242, 51, 226 @ 86AC760 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC76C - voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 86AC778 + voice_keysplit voicegroup006, KeySplitTable2 @ 86AC778 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC784 voice_square_1_alt 0, 2, 0, 2, 10, 1 @ 86AC790 voice_square_2_alt 2, 0, 2, 6, 6 @ 86AC79C @@ -19166,9 +19166,9 @@ voicegroup_86AC538:: @ 86AC538 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC7CC voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC7D8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC7E4 - voice_keysplit voicegroup_8677108, KeySplitTable4 @ 86AC7F0 + voice_keysplit voicegroup008, KeySplitTable4 @ 86AC7F0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC7FC - voice_keysplit voicegroup_8677120, KeySplitTable5 @ 86AC808 + voice_keysplit voicegroup009, KeySplitTable5 @ 86AC808 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC814 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC820 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC82C @@ -19238,9 +19238,9 @@ voicegroup_86AC538:: @ 86AC538 voice_noise_alt 0, 0, 1, 6, 1 @ 86ACB2C .align 2 -voicegroup_86ACB38:: @ 86ACB38 - voice_keysplit_all voicegroup_8676148 @ 86ACB38 - voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 86ACB44 +voicegroup166:: @ 86ACB38 + voice_keysplit_all voicegroup002 @ 86ACB38 + voice_keysplit voicegroup005, KeySplitTable1 @ 86ACB44 voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACB50 voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACB5C voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACB68 @@ -19287,7 +19287,7 @@ voicegroup_86ACB38:: @ 86ACB38 voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACD54 voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACD60 voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 0, 193, 153 @ 86ACD6C - voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 86ACD78 + voice_keysplit voicegroup006, KeySplitTable2 @ 86ACD78 voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACD84 voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACD90 voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACD9C @@ -19295,11 +19295,11 @@ voicegroup_86ACB38:: @ 86ACB38 voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACDB4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACDC0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACDCC - voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 86ACDD8 + voice_keysplit voicegroup007, KeySplitTable3 @ 86ACDD8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACDE4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACDF0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACDFC - voice_keysplit voicegroup_8677120, KeySplitTable5 @ 86ACE08 + voice_keysplit voicegroup009, KeySplitTable5 @ 86ACE08 voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACE14 voice_directsound 60, 0, DirectSoundWaveData_870DE64, 255, 0, 236, 188 @ 86ACE20 voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACE2C @@ -19369,8 +19369,8 @@ voicegroup_86ACB38:: @ 86ACB38 voice_noise_alt 0, 0, 1, 8, 1 @ 86AD12C .align 2 -voicegroup_86AD138:: @ 86AD138 - voice_keysplit_all voicegroup_8676148 @ 86AD138 +voicegroup167:: @ 86AD138 + voice_keysplit_all voicegroup002 @ 86AD138 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD144 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD150 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD15C @@ -19426,7 +19426,7 @@ voicegroup_86AD138:: @ 86AD138 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD3B4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD3C0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD3CC - voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 86AD3D8 + voice_keysplit voicegroup007, KeySplitTable3 @ 86AD3D8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD3E4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD3F0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD3FC @@ -19500,9 +19500,9 @@ voicegroup_86AD138:: @ 86AD138 voice_noise_alt 0, 0, 1, 6, 0 @ 86AD72C .align 2 -voicegroup_86AD738:: @ 86AD738 - voice_keysplit_all voicegroup_8676148 @ 86AD738 - voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 86AD744 +voicegroup168:: @ 86AD738 + voice_keysplit_all voicegroup002 @ 86AD738 + voice_keysplit voicegroup005, KeySplitTable1 @ 86AD744 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD750 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD75C voice_directsound 60, 0, DirectSoundWaveData_871CBCC, 255, 188, 128, 226 @ 86AD768 @@ -19549,7 +19549,7 @@ voicegroup_86AD738:: @ 86AD738 voice_directsound 60, 0, DirectSoundWaveData_8726EF0, 255, 216, 0, 165 @ 86AD954 voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 246, 0, 235 @ 86AD960 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD96C - voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 86AD978 + voice_keysplit voicegroup006, KeySplitTable2 @ 86AD978 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD984 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD990 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD99C @@ -19561,7 +19561,7 @@ voicegroup_86AD738:: @ 86AD738 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD9E4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD9F0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD9FC - voice_keysplit voicegroup_8677120, KeySplitTable5 @ 86ADA08 + voice_keysplit voicegroup009, KeySplitTable5 @ 86ADA08 voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADA14 voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADA20 voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADA2C @@ -19631,8 +19631,8 @@ voicegroup_86AD738:: @ 86AD738 voice_noise_alt 0, 0, 1, 6, 0 @ 86ADD2C .align 2 -voicegroup_86ADD38:: @ 86ADD38 - voice_keysplit_all voicegroup_8675FEC @ 86ADD38 +voicegroup169:: @ 86ADD38 + voice_keysplit_all voicegroup001 @ 86ADD38 voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADD44 voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADD50 voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADD5C @@ -19688,9 +19688,9 @@ voicegroup_86ADD38:: @ 86ADD38 voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADFB4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADFC0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADFCC - voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 86ADFD8 + voice_keysplit voicegroup007, KeySplitTable3 @ 86ADFD8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADFE4 - voice_keysplit voicegroup_8677108, KeySplitTable4 @ 86ADFF0 + voice_keysplit voicegroup008, KeySplitTable4 @ 86ADFF0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADFFC voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE008 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE014 @@ -19762,8 +19762,8 @@ voicegroup_86ADD38:: @ 86ADD38 voice_noise_alt 0, 0, 1, 0, 0 @ 86AE32C .align 2 -voicegroup_86AE338:: @ 86AE338 - voice_keysplit_all voicegroup_8675FEC @ 86AE338 +voicegroup170:: @ 86AE338 + voice_keysplit_all voicegroup001 @ 86AE338 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE344 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE350 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE35C @@ -19819,9 +19819,9 @@ voicegroup_86AE338:: @ 86AE338 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE5B4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE5C0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE5CC - voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 86AE5D8 + voice_keysplit voicegroup007, KeySplitTable3 @ 86AE5D8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE5E4 - voice_keysplit voicegroup_8677108, KeySplitTable4 @ 86AE5F0 + voice_keysplit voicegroup008, KeySplitTable4 @ 86AE5F0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE5FC voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE608 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE614 @@ -19849,8 +19849,8 @@ voicegroup_86AE338:: @ 86AE338 voice_square_2_alt 2, 0, 1, 0, 0 @ 86AE71C .align 2 -voicegroup_86AE728:: @ 86AE728 - voice_keysplit_all voicegroup_8675FEC @ 86AE728 +voicegroup171:: @ 86AE728 + voice_keysplit_all voicegroup001 @ 86AE728 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE734 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE740 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE74C @@ -19898,7 +19898,7 @@ voicegroup_86AE728:: @ 86AE728 voice_directsound 60, 0, DirectSoundWaveData_8726EF0, 255, 216, 0, 165 @ 86AE944 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE950 voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 246, 0, 226 @ 86AE95C - voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 86AE968 + voice_keysplit voicegroup006, KeySplitTable2 @ 86AE968 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE974 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE980 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE98C @@ -19906,11 +19906,11 @@ voicegroup_86AE728:: @ 86AE728 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE9A4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE9B0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE9BC - voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 86AE9C8 + voice_keysplit voicegroup007, KeySplitTable3 @ 86AE9C8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE9D4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE9E0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE9EC - voice_keysplit voicegroup_8677120, KeySplitTable5 @ 86AE9F8 + voice_keysplit voicegroup009, KeySplitTable5 @ 86AE9F8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEA04 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEA10 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEA1C @@ -19943,9 +19943,9 @@ voicegroup_86AE728:: @ 86AE728 voice_programmable_wave_alt ProgrammableWaveData_86B4890, 0, 7, 15, 1 @ 86AEB60 .align 2 -voicegroup_86AEB6C:: @ 86AEB6C - voice_keysplit_all voicegroup_8676148 @ 86AEB6C - voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 86AEB78 +voicegroup172:: @ 86AEB6C + voice_keysplit_all voicegroup002 @ 86AEB6C + voice_keysplit voicegroup005, KeySplitTable1 @ 86AEB78 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEB84 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEB90 voice_directsound 60, 0, DirectSoundWaveData_871CBCC, 255, 188, 128, 226 @ 86AEB9C @@ -19992,7 +19992,7 @@ voicegroup_86AEB6C:: @ 86AEB6C voice_square_1 0, 2, 0, 0, 15, 0 @ 86AED88 voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 246, 0, 235 @ 86AED94 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEDA0 - voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 86AEDAC + voice_keysplit voicegroup006, KeySplitTable2 @ 86AEDAC voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEDB8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEDC4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEDD0 @@ -20000,7 +20000,7 @@ voicegroup_86AEB6C:: @ 86AEB6C voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEDE8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEDF4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEE00 - voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 86AEE0C + voice_keysplit voicegroup007, KeySplitTable3 @ 86AEE0C voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEE18 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEE24 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEE30 @@ -20074,9 +20074,9 @@ voicegroup_86AEB6C:: @ 86AEB6C voice_noise_alt 0, 0, 1, 6, 0 @ 86AF160 .align 2 -voicegroup_86AF16C:: @ 86AF16C - voice_keysplit_all voicegroup_8676148 @ 86AF16C - voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 86AF178 +voicegroup173:: @ 86AF16C + voice_keysplit_all voicegroup002 @ 86AF16C + voice_keysplit voicegroup005, KeySplitTable1 @ 86AF178 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF184 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF190 voice_directsound 60, 0, DirectSoundWaveData_871CBCC, 255, 188, 128, 226 @ 86AF19C @@ -20123,7 +20123,7 @@ voicegroup_86AF16C:: @ 86AF16C voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF388 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF394 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF3A0 - voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 86AF3AC + voice_keysplit voicegroup006, KeySplitTable2 @ 86AF3AC voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF3B8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF3C4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF3D0 @@ -20205,9 +20205,9 @@ voicegroup_86AF16C:: @ 86AF16C voice_noise_alt 0, 0, 1, 3, 2 @ 86AF760 .align 2 -voicegroup_86AF76C:: @ 86AF76C - voice_keysplit_all voicegroup_8676148 @ 86AF76C - voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 86AF778 +voicegroup174:: @ 86AF76C + voice_keysplit_all voicegroup002 @ 86AF76C + voice_keysplit voicegroup005, KeySplitTable1 @ 86AF778 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF784 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF790 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF79C @@ -20254,7 +20254,7 @@ voicegroup_86AF76C:: @ 86AF76C voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF988 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF994 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF9A0 - voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 86AF9AC + voice_keysplit voicegroup006, KeySplitTable2 @ 86AF9AC voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF9B8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF9C4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF9D0 @@ -20262,11 +20262,11 @@ voicegroup_86AF76C:: @ 86AF76C voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF9E8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF9F4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFA00 - voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 86AFA0C + voice_keysplit voicegroup007, KeySplitTable3 @ 86AFA0C voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFA18 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFA24 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFA30 - voice_keysplit voicegroup_8677120, KeySplitTable5 @ 86AFA3C + voice_keysplit voicegroup009, KeySplitTable5 @ 86AFA3C voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFA48 voice_directsound 60, 0, DirectSoundWaveData_870DE64, 255, 0, 255, 209 @ 86AFA54 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFA60 @@ -20334,7 +20334,7 @@ voicegroup_86AF76C:: @ 86AF76C voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFD48 voice_noise_alt 0, 0, 2, 6, 0 @ 86AFD54 voice_noise_alt 0, 0, 1, 3, 1 @ 86AFD60 - voice_keysplit_all voicegroup_86B0378 @ 86AFD6C + voice_keysplit_all voicegroup177 @ 86AFD6C voice_square_1_alt 0, 2, 0, 2, 9, 1 @ 86AFD78 voice_square_2_alt 2, 0, 2, 9, 1 @ 86AFD84 voice_programmable_wave_alt ProgrammableWaveData_86B4870, 0, 7, 15, 0 @ 86AFD90 @@ -20359,14 +20359,14 @@ voicegroup_86AF76C:: @ 86AF76C voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFE74 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFE80 voice_directsound 60, 0, DirectSoundWaveData_88D8418, 255, 165, 154, 127 @ 86AFE8C - voice_keysplit_all voicegroup_8676148 @ 86AFE98 + voice_keysplit_all voicegroup002 @ 86AFE98 voice_square_1_alt 0, 2, 0, 2, 3, 1 @ 86AFEA4 voice_square_2_alt 2, 0, 2, 3, 1 @ 86AFEB0 voice_programmable_wave_alt ProgrammableWaveData_86B4870, 0, 7, 15, 0 @ 86AFEBC .align 2 -voicegroup_86AFEC8:: @ 86AFEC8 - voice_keysplit_all voicegroup_86B0378 @ 86AFEC8 +voicegroup175:: @ 86AFEC8 + voice_keysplit_all voicegroup177 @ 86AFEC8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFED4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFEE0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFEEC @@ -20420,7 +20420,7 @@ voicegroup_86AFEC8:: @ 86AFEC8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B012C .align 2 -voicegroup_86B0138:: @ 86B0138 +voicegroup176:: @ 86B0138 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0138 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0144 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0150 @@ -20471,7 +20471,7 @@ voicegroup_86B0138:: @ 86B0138 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B036C .align 2 -voicegroup_86B0378:: @ 86B0378 +voicegroup177:: @ 86B0378 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0378 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0384 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0390 @@ -20564,8 +20564,8 @@ voicegroup_86B0378:: @ 86B0378 voice_directsound 64, 64, DirectSoundWaveData_86DFCA4, 255, 0, 255, 0 @ 86B07A4 .align 2 -voicegroup_86B07B0:: @ 86B07B0 - voice_keysplit_all voicegroup_86B0378 @ 86B07B0 +voicegroup178:: @ 86B07B0 + voice_keysplit_all voicegroup177 @ 86B07B0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B07BC voice_square_1 0, 2, 0, 0, 15, 0 @ 86B07C8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B07D4 @@ -20655,10 +20655,10 @@ voicegroup_86B07B0:: @ 86B07B0 voice_programmable_wave_alt ProgrammableWaveData_86B4870, 0, 0, 15, 1 @ 86B0BC4 .align 2 -voicegroup_86B0BD0:: @ 86B0BD0 - voice_keysplit_all voicegroup_86B0378 @ 86B0BD0 - voice_keysplit_all voicegroup_86B0138 @ 86B0BDC - voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 86B0BE8 +voicegroup179:: @ 86B0BD0 + voice_keysplit_all voicegroup177 @ 86B0BD0 + voice_keysplit_all voicegroup176 @ 86B0BDC + voice_keysplit voicegroup005, KeySplitTable1 @ 86B0BE8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0BF4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0C00 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0C0C @@ -20704,7 +20704,7 @@ voicegroup_86B0BD0:: @ 86B0BD0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0DEC voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0DF8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0E04 - voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 86B0E10 + voice_keysplit voicegroup006, KeySplitTable2 @ 86B0E10 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0E1C voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0E28 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0E34 @@ -20712,11 +20712,11 @@ voicegroup_86B0BD0:: @ 86B0BD0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0E4C voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0E58 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0E64 - voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 86B0E70 + voice_keysplit voicegroup007, KeySplitTable3 @ 86B0E70 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0E7C - voice_keysplit voicegroup_8677108, KeySplitTable4 @ 86B0E88 + voice_keysplit voicegroup008, KeySplitTable4 @ 86B0E88 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0E94 - voice_keysplit voicegroup_8677120, KeySplitTable5 @ 86B0EA0 + voice_keysplit voicegroup009, KeySplitTable5 @ 86B0EA0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0EAC voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0EB8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0EC4 @@ -20746,9 +20746,9 @@ voicegroup_86B0BD0:: @ 86B0BD0 voice_programmable_wave_alt ProgrammableWaveData_86B4830, 0, 7, 15, 0 @ 86B0FE4 .align 2 -voicegroup_86B0FF0:: @ 86B0FF0 +voicegroup180:: @ 86B0FF0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0FF0 - voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 86B0FFC + voice_keysplit voicegroup005, KeySplitTable1 @ 86B0FFC voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1008 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1014 voice_directsound 60, 0, DirectSoundWaveData_871CBCC, 64, 249, 0, 188 @ 86B1020 @@ -20877,9 +20877,9 @@ voicegroup_86B0FF0:: @ 86B0FF0 voice_noise_alt 0, 0, 1, 0, 0 @ 86B15E4 .align 2 -voicegroup_86B15F0:: @ 86B15F0 +voicegroup181:: @ 86B15F0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B15F0 - voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 86B15FC + voice_keysplit voicegroup005, KeySplitTable1 @ 86B15FC voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1608 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1614 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1620 @@ -20927,8 +20927,8 @@ voicegroup_86B15F0:: @ 86B15F0 voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 242, 51, 242 @ 86B1818 .align 2 -voicegroup_86B1824:: @ 86B1824 - voice_keysplit_all voicegroup_8676148 @ 86B1824 +voicegroup182:: @ 86B1824 + voice_keysplit_all voicegroup002 @ 86B1824 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1830 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B183C voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1848 @@ -20976,7 +20976,7 @@ voicegroup_86B1824:: @ 86B1824 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1A40 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1A4C voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 0, 193, 76 @ 86B1A58 - voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 86B1A64 + voice_keysplit voicegroup006, KeySplitTable2 @ 86B1A64 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1A70 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1A7C voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1A88 @@ -20984,11 +20984,11 @@ voicegroup_86B1824:: @ 86B1824 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1AA0 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1AAC voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1AB8 - voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 86B1AC4 + voice_keysplit voicegroup007, KeySplitTable3 @ 86B1AC4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1AD0 - voice_keysplit voicegroup_8677108, KeySplitTable4 @ 86B1ADC + voice_keysplit voicegroup008, KeySplitTable4 @ 86B1ADC voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1AE8 - voice_keysplit voicegroup_8677120, KeySplitTable5 @ 86B1AF4 + voice_keysplit voicegroup009, KeySplitTable5 @ 86B1AF4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1B00 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1B0C voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1B18 @@ -21018,8 +21018,8 @@ voicegroup_86B1824:: @ 86B1824 voice_programmable_wave_alt ProgrammableWaveData_86B4870, 0, 7, 15, 0 @ 86B1C38 .align 2 -voicegroup_86B1C44:: @ 86B1C44 - voice_keysplit_all voicegroup_8676148 @ 86B1C44 +voicegroup183:: @ 86B1C44 + voice_keysplit_all voicegroup002 @ 86B1C44 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1C50 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1C5C voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1C68 @@ -21149,7 +21149,7 @@ voicegroup_86B1C44:: @ 86B1C44 voice_noise_alt 0, 0, 1, 3, 1 @ 86B2238 .align 2 -voicegroup_86B2244:: @ 86B2244 +voicegroup184:: @ 86B2244 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2244 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2250 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B225C @@ -21238,8 +21238,8 @@ voicegroup_86B2244:: @ 86B2244 voice_directsound 60, 0, DirectSoundWaveData_86BA7E8, 255, 0, 255, 0 @ 86B2640 .align 2 -voicegroup_86B264C:: @ 86B264C - voice_keysplit_all voicegroup_8676148 @ 86B264C +voicegroup185:: @ 86B264C + voice_keysplit_all voicegroup002 @ 86B264C voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2658 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2664 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2670 @@ -21287,7 +21287,7 @@ voicegroup_86B264C:: @ 86B264C voice_directsound 60, 0, DirectSoundWaveData_8726EF0, 255, 216, 0, 165 @ 86B2868 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2874 voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 246, 0, 226 @ 86B2880 - voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 86B288C + voice_keysplit voicegroup006, KeySplitTable2 @ 86B288C voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2898 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B28A4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B28B0 @@ -21295,11 +21295,11 @@ voicegroup_86B264C:: @ 86B264C voice_directsound 60, 0, DirectSoundWaveData_86BA7E8, 85, 0, 154, 165 @ 86B28C8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B28D4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B28E0 - voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 86B28EC + voice_keysplit voicegroup007, KeySplitTable3 @ 86B28EC voice_square_1 0, 2, 0, 0, 15, 0 @ 86B28F8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2904 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2910 - voice_keysplit voicegroup_8677120, KeySplitTable5 @ 86B291C + voice_keysplit voicegroup009, KeySplitTable5 @ 86B291C voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2928 voice_directsound 60, 0, DirectSoundWaveData_870DE64, 255, 0, 255, 209 @ 86B2934 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2940 @@ -21369,9 +21369,9 @@ voicegroup_86B264C:: @ 86B264C voice_noise_alt 0, 0, 1, 6, 1 @ 86B2C40 .align 2 -voicegroup_86B2C4C:: @ 86B2C4C +voicegroup186:: @ 86B2C4C voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2C4C - voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 86B2C58 + voice_keysplit voicegroup005, KeySplitTable1 @ 86B2C58 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2C64 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2C70 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2C7C @@ -21500,9 +21500,9 @@ voicegroup_86B2C4C:: @ 86B2C4C voice_noise_alt 0, 0, 2, 6, 0 @ 86B3240 .align 2 -voicegroup_86B324C:: @ 86B324C - voice_keysplit_all voicegroup_8676148 @ 86B324C - voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 86B3258 +voicegroup187:: @ 86B324C + voice_keysplit_all voicegroup002 @ 86B324C + voice_keysplit voicegroup005, KeySplitTable1 @ 86B3258 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3264 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3270 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B327C @@ -21549,7 +21549,7 @@ voicegroup_86B324C:: @ 86B324C voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3468 voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 246, 0, 235 @ 86B3474 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3480 - voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 86B348C + voice_keysplit voicegroup006, KeySplitTable2 @ 86B348C voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3498 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B34A4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B34B0 @@ -21557,11 +21557,11 @@ voicegroup_86B324C:: @ 86B324C voice_square_1 0, 2, 0, 0, 15, 0 @ 86B34C8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B34D4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B34E0 - voice_keysplit voicegroup_8676AE4, KeySplitTable3 @ 86B34EC + voice_keysplit voicegroup007, KeySplitTable3 @ 86B34EC voice_square_1 0, 2, 0, 0, 15, 0 @ 86B34F8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3504 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3510 - voice_keysplit voicegroup_8677120, KeySplitTable5 @ 86B351C + voice_keysplit voicegroup009, KeySplitTable5 @ 86B351C voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3528 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3534 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3540 @@ -21631,9 +21631,9 @@ voicegroup_86B324C:: @ 86B324C voice_noise_alt 0, 0, 1, 6, 1 @ 86B3840 .align 2 -voicegroup_86B384C:: @ 86B384C - voice_keysplit_all voicegroup_8676148 @ 86B384C - voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 86B3858 +voicegroup188:: @ 86B384C + voice_keysplit_all voicegroup002 @ 86B384C + voice_keysplit voicegroup005, KeySplitTable1 @ 86B3858 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3864 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3870 voice_directsound 60, 0, DirectSoundWaveData_871CBCC, 255, 188, 128, 226 @ 86B387C @@ -21680,7 +21680,7 @@ voicegroup_86B384C:: @ 86B384C voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3A68 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3A74 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3A80 - voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 86B3A8C + voice_keysplit voicegroup006, KeySplitTable2 @ 86B3A8C voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3A98 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3AA4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3AB0 @@ -21762,9 +21762,9 @@ voicegroup_86B384C:: @ 86B384C voice_noise_alt 0, 0, 1, 9, 1 @ 86B3E40 .align 2 -voicegroup_86B3E4C:: @ 86B3E4C - voice_keysplit_all voicegroup_8676148 @ 86B3E4C - voice_keysplit voicegroup_8676A90, KeySplitTable1 @ 86B3E58 +voicegroup189:: @ 86B3E4C + voice_keysplit_all voicegroup002 @ 86B3E4C + voice_keysplit voicegroup005, KeySplitTable1 @ 86B3E58 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3E64 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3E70 voice_directsound 60, 0, DirectSoundWaveData_871CBCC, 255, 188, 128, 226 @ 86B3E7C @@ -21811,7 +21811,7 @@ voicegroup_86B3E4C:: @ 86B3E4C voice_square_1 0, 2, 0, 0, 15, 0 @ 86B4068 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B4074 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B4080 - voice_keysplit voicegroup_8676AC0, KeySplitTable2 @ 86B408C + voice_keysplit voicegroup006, KeySplitTable2 @ 86B408C voice_square_1 0, 2, 0, 0, 15, 0 @ 86B4098 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B40A4 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B40B0 @@ -21857,7 +21857,7 @@ voicegroup_86B3E4C:: @ 86B3E4C voice_square_1 0, 2, 0, 0, 15, 0 @ 86B4290 .align 2 -voicegroup_86B429C:: @ 86B429C +voicegroup190:: @ 86B429C voice_programmable_wave_alt ProgrammableWaveData_86B4830, 0, 7, 15, 2 @ 86B429C voice_square_1 0, 2, 0, 0, 15, 0 @ 86B42A8 voice_square_1 0, 2, 0, 0, 15, 0 @ 86B42B4 diff --git a/src/m4a_tables.c b/src/m4a_tables.c index 91f00a31d7..9a4ea32e69 100644 --- a/src/m4a_tables.c +++ b/src/m4a_tables.c @@ -261,7 +261,7 @@ const struct PokemonCrySong gPokemonCrySongTemplate = 0, // block count 255, // priority 0, // reverb - (struct ToneData *)&voicegroup_pokemon_cry, + (struct ToneData *)&voicegroup000, NULL, NULL, 0, From a63f3ce8722ba2bf39344c1aa83d141e8f3ddf09 Mon Sep 17 00:00:00 2001 From: Diegoisawesome <diego@domoreaweso.me> Date: Sat, 22 Sep 2018 19:56:17 -0500 Subject: [PATCH 230/234] Set up Makefile for MIDIs --- .gitignore | 1 + Makefile | 36 +- build_tools.sh | 1 + ld_script.txt | 2 +- songs.mk | 7 + sound/songs/midi/mus_ajito.mid | Bin 0 -> 9125 bytes sound/songs/mus_ajito.s | 1561 -------------------------------- 7 files changed, 33 insertions(+), 1575 deletions(-) create mode 100644 songs.mk create mode 100644 sound/songs/midi/mus_ajito.mid delete mode 100644 sound/songs/mus_ajito.s diff --git a/.gitignore b/.gitignore index 81813f5b8a..dc782899dd 100644 --- a/.gitignore +++ b/.gitignore @@ -16,6 +16,7 @@ *.hwjpnfont *.fwjpnfont sound/**/*.bin +sound/songs/midi/*.s tools/agbcc *.map *.ld diff --git a/Makefile b/Makefile index d9f3ec4c7b..a088f8541d 100644 --- a/Makefile +++ b/Makefile @@ -2,6 +2,12 @@ include $(DEVKITARM)/base_tools export CPP := $(PREFIX)cpp export LD := $(PREFIX)ld +ifeq ($(OS),Windows_NT) +EXE := .exe +else +EXE := +endif + TITLE := POKEMON EMER GAME_CODE := BPEE MAKER_CODE := 01 @@ -19,15 +25,17 @@ C_SUBDIR = src ASM_SUBDIR = asm DATA_ASM_SUBDIR = data SONG_SUBDIR = sound/songs +MID_SUBDIR = sound/songs/midi C_BUILDDIR = $(OBJ_DIR)/$(C_SUBDIR) ASM_BUILDDIR = $(OBJ_DIR)/$(ASM_SUBDIR) DATA_ASM_BUILDDIR = $(OBJ_DIR)/$(DATA_ASM_SUBDIR) SONG_BUILDDIR = $(OBJ_DIR)/$(SONG_SUBDIR) +MID_BUILDDIR = $(OBJ_DIR)/$(MID_SUBDIR) ASFLAGS := -mcpu=arm7tdmi -CC1 := tools/agbcc/bin/agbcc +CC1 := tools/agbcc/bin/agbcc$(EXE) override CFLAGS += -mthumb-interwork -Wimplicit -Wparentheses -Werror -O2 -fhex-asm CPPFLAGS := -I tools/agbcc/include -I tools/agbcc -iquote include -nostdinc -undef @@ -37,13 +45,13 @@ LDFLAGS = -Map ../../$(MAP) LIB := -L ../../tools/agbcc/lib -lgcc -lc SHA1 := $(shell { command -v sha1sum || command -v shasum; } 2>/dev/null) -c -GFX := tools/gbagfx/gbagfx -AIF := tools/aif2pcm/aif2pcm -MID := $(abspath tools/mid2agb/mid2agb) -SCANINC := tools/scaninc/scaninc -PREPROC := tools/preproc/preproc -RAMSCRGEN := tools/ramscrgen/ramscrgen -FIX := tools/gbafix/gbafix +GFX := tools/gbagfx/gbagfx$(EXE) +AIF := tools/aif2pcm/aif2pcm$(EXE) +MID := $(abspath tools/mid2agb/mid2agb)$(EXE) +SCANINC := tools/scaninc/scaninc$(EXE) +PREPROC := tools/preproc/preproc$(EXE) +RAMSCRGEN := tools/ramscrgen/ramscrgen$(EXE) +FIX := tools/gbafix/gbafix$(EXE) # Clear the default suffixes .SUFFIXES: @@ -57,7 +65,7 @@ FIX := tools/gbafix/gbafix .PHONY: rom clean compare tidy -$(shell mkdir -p $(C_BUILDDIR) $(ASM_BUILDDIR) $(DATA_ASM_BUILDDIR) $(SONG_BUILDDIR)) +$(shell mkdir -p $(C_BUILDDIR) $(ASM_BUILDDIR) $(DATA_ASM_BUILDDIR) $(SONG_BUILDDIR) $(MID_BUILDDIR)) C_SRCS := $(wildcard $(C_SUBDIR)/*.c) C_OBJS := $(patsubst $(C_SUBDIR)/%.c,$(C_BUILDDIR)/%.o,$(C_SRCS)) @@ -71,7 +79,10 @@ DATA_ASM_OBJS := $(patsubst $(DATA_ASM_SUBDIR)/%.s,$(DATA_ASM_BUILDDIR)/%.o,$(DA SONG_SRCS := $(wildcard $(SONG_SUBDIR)/*.s) SONG_OBJS := $(patsubst $(SONG_SUBDIR)/%.s,$(SONG_BUILDDIR)/%.o,$(SONG_SRCS)) -OBJS := $(C_OBJS) $(ASM_OBJS) $(DATA_ASM_OBJS) $(SONG_OBJS) +MID_SRCS := $(wildcard $(MID_SUBDIR)/*.mid) +MID_OBJS := $(patsubst $(MID_SUBDIR)/%.mid,$(MID_BUILDDIR)/%.o,$(MID_SRCS)) + +OBJS := $(C_OBJS) $(ASM_OBJS) $(DATA_ASM_OBJS) $(SONG_OBJS) $(MID_OBJS) OBJS_REL := $(patsubst $(OBJ_DIR)/%,%,$(OBJS)) rom: $(ROM) @@ -82,7 +93,7 @@ compare: $(ROM) clean: tidy rm -f sound/direct_sound_samples/*.bin - rm -f $(SONG_OBJS) + rm -f $(SONG_OBJS) $(MID_OBJS) find . \( -iname '*.1bpp' -o -iname '*.4bpp' -o -iname '*.8bpp' -o -iname '*.gbapal' -o -iname '*.lz' -o -iname '*.latfont' -o -iname '*.hwjpnfont' -o -iname '*.fwjpnfont' \) -exec rm {} + tidy: @@ -91,6 +102,7 @@ tidy: include graphics_file_rules.mk include spritesheet_rules.mk +include songs.mk %.s: ; %.png: ; @@ -106,8 +118,6 @@ include spritesheet_rules.mk %.rl: % ; $(GFX) $< $@ sound/direct_sound_samples/cry_%.bin: sound/direct_sound_samples/cry_%.aif ; $(AIF) $< $@ --compress sound/%.bin: sound/%.aif ; $(AIF) $< $@ -sound/songs/%.s: sound/songs/%.mid - cd $(@D) && ../../$(MID) $(<F) $(C_BUILDDIR)/libc.o: CC1 := tools/agbcc/bin/old_agbcc $(C_BUILDDIR)/libc.o: CFLAGS := -O2 diff --git a/build_tools.sh b/build_tools.sh index ad8adf1320..d9eebf05c6 100755 --- a/build_tools.sh +++ b/build_tools.sh @@ -7,3 +7,4 @@ make -C tools/rsfont CXX=${1:-g++} make -C tools/aif2pcm CXX=${1:-g++} make -C tools/ramscrgen CXX=${1:-g++} make -C tools/gbafix CXX=${1:-g++} +make -C tools/mid2agb CXX=${1:-g++} diff --git a/ld_script.txt b/ld_script.txt index 430bbe9810..aa0e1e4858 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -913,7 +913,7 @@ SECTIONS { sound/songs/mus_hightown.o(.rodata); sound/songs/mus_safari.o(.rodata); sound/songs/mus_c_road.o(.rodata); - sound/songs/mus_ajito.o(.rodata); + sound/songs/midi/mus_ajito.o(.rodata); sound/songs/mus_m_boat.o(.rodata); sound/songs/mus_m_dungon.o(.rodata); sound/songs/mus_finecity.o(.rodata); diff --git a/songs.mk b/songs.mk new file mode 100644 index 0000000000..d789e829cf --- /dev/null +++ b/songs.mk @@ -0,0 +1,7 @@ +STD_REVERB = 50 + +$(MID_BUILDDIR)/%.o: $(MID_SUBDIR)/%.s + $(AS) $(ASFLAGS) -I sound -o $@ $< + +$(MID_SUBDIR)/mus_ajito.s: %.s: %.mid + $(MID) $< $@ -G 076 -R $(STD_REVERB) diff --git a/sound/songs/midi/mus_ajito.mid b/sound/songs/midi/mus_ajito.mid new file mode 100644 index 0000000000000000000000000000000000000000..a762a97073b5453cfbdd6cf053604ce8673eba9a GIT binary patch literal 9125 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 literal 0 HcmV?d00001 diff --git a/sound/songs/mus_ajito.s b/sound/songs/mus_ajito.s deleted file mode 100644 index 7e9df7cb34..0000000000 --- a/sound/songs/mus_ajito.s +++ /dev/null @@ -1,1561 +0,0 @@ - .include "MPlayDef.s" - - .equ mus_ajito_grp, voicegroup076 - .equ mus_ajito_pri, 0 - .equ mus_ajito_rev, reverb_set+50 - .equ mus_ajito_mvl, 127 - .equ mus_ajito_key, 0 - .equ mus_ajito_tbs, 1 - .equ mus_ajito_exg, 0 - .equ mus_ajito_cmp, 1 - - .section .rodata - .global mus_ajito - .align 2 - -@********************** Track 1 **********************@ - -mus_ajito_1: - .byte KEYSH , mus_ajito_key+0 -mus_ajito_1_B1: - .byte TEMPO , 118*mus_ajito_tbs/2 - .byte VOICE , 127 - .byte PAN , c_v+0 - .byte VOL , 39*mus_ajito_mvl/mxv - .byte N03 , En5 , v112 - .byte W12 - .byte N03 - .byte W12 - .byte N03 - .byte W12 - .byte N03 - .byte W12 - .byte N03 - .byte W12 - .byte VOICE , 126 - .byte N09 , Gn5 , v100 - .byte W12 - .byte VOICE , 127 - .byte N03 , En5 , v112 - .byte W12 - .byte VOICE , 126 - .byte N09 , Gn5 - .byte W12 -mus_ajito_1_000: - .byte VOICE , 127 - .byte N03 , En5 , v112 - .byte W12 - .byte N03 - .byte W12 - .byte N03 - .byte W12 - .byte N03 - .byte W12 - .byte N03 - .byte W12 - .byte VOICE , 126 - .byte N09 , Gn5 , v100 - .byte W12 - .byte VOICE , 127 - .byte N03 , En5 , v112 - .byte W12 - .byte VOICE , 126 - .byte N09 , Gn5 - .byte W12 - .byte PEND - .byte PATT - .word mus_ajito_1_000 - .byte PATT - .word mus_ajito_1_000 - .byte PATT - .word mus_ajito_1_000 - .byte PATT - .word mus_ajito_1_000 - .byte PATT - .word mus_ajito_1_000 - .byte PATT - .word mus_ajito_1_000 - .byte PATT - .word mus_ajito_1_000 - .byte PATT - .word mus_ajito_1_000 - .byte PATT - .word mus_ajito_1_000 - .byte PATT - .word mus_ajito_1_000 - .byte PATT - .word mus_ajito_1_000 - .byte PATT - .word mus_ajito_1_000 - .byte PATT - .word mus_ajito_1_000 - .byte PATT - .word mus_ajito_1_000 - .byte PATT - .word mus_ajito_1_000 - .byte PATT - .word mus_ajito_1_000 - .byte PATT - .word mus_ajito_1_000 - .byte PATT - .word mus_ajito_1_000 - .byte GOTO - .word mus_ajito_1_B1 - .byte FINE - -@********************** Track 2 **********************@ - -mus_ajito_2: - .byte KEYSH , mus_ajito_key+0 -mus_ajito_2_B1: - .byte VOICE , 17 - .byte PAN , c_v+0 - .byte VOL , 36*mus_ajito_mvl/mxv - .byte LFOS , 44 - .byte BENDR , 2 - .byte W96 -mus_ajito_2_000: - .byte W72 - .byte N03 , Ds4 , v112 - .byte W03 - .byte Fn4 - .byte W03 - .byte Gn4 - .byte W03 - .byte An4 - .byte W03 - .byte As4 - .byte W03 - .byte Bn4 - .byte W03 - .byte Cn5 - .byte W03 - .byte Dn5 - .byte W03 - .byte PEND - .byte TIE , Ds5 - .byte W96 - .byte W48 - .byte EOT - .byte N03 , Fn5 - .byte W06 - .byte Gn4 - .byte W12 - .byte N03 - .byte W06 - .byte N06 , Fn5 - .byte W06 - .byte N03 , Gn4 - .byte W12 - .byte Ds5 - .byte W06 - .byte W96 - .byte W60 - .byte N12 - .byte W12 - .byte N03 , Gn5 - .byte W06 - .byte N03 - .byte W06 - .byte Cn5 - .byte W06 - .byte N06 , Fn5 - .byte W06 - .byte TIE , Ds5 - .byte W96 - .byte W48 - .byte EOT - .byte N03 , Fn5 - .byte W06 - .byte Gn4 - .byte W12 - .byte N03 - .byte W06 - .byte N06 , Fn5 - .byte W06 - .byte N03 , Gn4 - .byte W12 - .byte Gn5 - .byte W06 - .byte W96 - .byte W96 - .byte VOICE , 17 - .byte N18 , Fn5 - .byte W18 - .byte TIE , Cn5 - .byte W78 - .byte W48 - .byte EOT - .byte W12 - .byte N06 - .byte W06 - .byte N03 , Fn4 - .byte W06 - .byte Cn4 - .byte W06 - .byte N18 , Dn5 - .byte W18 - .byte N12 , Ds5 - .byte W12 - .byte N03 , Gs4 - .byte W06 - .byte N12 , Dn5 - .byte W12 - .byte N03 , Gs4 - .byte W06 - .byte N12 , Cs5 - .byte W12 - .byte N03 , Gs4 - .byte W06 - .byte N12 , Cn5 - .byte W12 - .byte N03 , Gs4 - .byte W06 - .byte N03 - .byte W03 - .byte As4 - .byte W03 - .byte Cn5 - .byte W03 - .byte As4 - .byte W03 - .byte N11 , Gs4 - .byte W12 - .byte N48 , Fn4 - .byte W54 - .byte N06 , Ds4 - .byte W06 - .byte N03 , Ds3 - .byte W06 - .byte Dn4 - .byte W06 - .byte Ds3 - .byte W06 - .byte N06 , Cn4 - .byte W06 - .byte N03 , Ds3 - .byte W06 - .byte Dn4 - .byte W06 - .byte N96 , Ds5 - .byte W96 - .byte N06 , Gn5 - .byte W06 - .byte N03 , Fn5 - .byte W06 - .byte N06 , Ds5 - .byte W06 - .byte N03 , Dn5 - .byte W12 - .byte N06 , Cn5 - .byte W12 - .byte N03 , Dn5 - .byte W06 - .byte Fn5 - .byte W06 - .byte Gn4 - .byte W12 - .byte N03 - .byte W06 - .byte N06 , Fn5 - .byte W06 - .byte N03 , Gn4 - .byte W12 - .byte Ds5 - .byte W06 - .byte W96 - .byte PATT - .word mus_ajito_2_000 - .byte N36 , Ds5 , v112 - .byte W36 - .byte W03 - .byte N03 , En5 - .byte W03 - .byte Fn5 - .byte W03 - .byte Fs5 - .byte W03 - .byte N15 , Gn5 - .byte W15 - .byte N03 , Fs5 - .byte W03 - .byte N15 , Gn5 - .byte W15 - .byte N03 , Fs5 - .byte W03 - .byte N60 , Gn5 - .byte W12 - .byte W48 - .byte N03 , Fn5 - .byte W06 - .byte Gn4 - .byte W12 - .byte N03 - .byte W06 - .byte N06 , Fn5 - .byte W06 - .byte N03 , Gn4 - .byte W12 - .byte Ds5 - .byte W06 - .byte GOTO - .word mus_ajito_2_B1 - .byte FINE - -@********************** Track 3 **********************@ - -mus_ajito_3: - .byte KEYSH , mus_ajito_key+0 -mus_ajito_3_B1: - .byte VOICE , 36 - .byte LFOS , 44 - .byte BENDR , 2 - .byte PAN , c_v+0 - .byte VOL , 84*mus_ajito_mvl/mxv - .byte BEND , c_v+0 - .byte N12 , Cn1 , v112 - .byte W18 - .byte N03 , Cn1 , v088 - .byte W18 - .byte N12 , Bn1 , v124 - .byte W06 - .byte BEND , c_v+32 - .byte W06 - .byte c_v+0 - .byte W48 -mus_ajito_3_000: - .byte N06 , Cn1 , v112 - .byte W12 - .byte N12 , Cn1 , v088 - .byte W24 - .byte N03 , Cn2 , v080 - .byte W06 - .byte N03 - .byte W06 - .byte VOICE , 35 - .byte W12 - .byte N06 , Gn1 , v092 - .byte W12 - .byte N03 , As1 - .byte W06 - .byte An1 - .byte W12 - .byte Gn1 - .byte W06 - .byte PEND -mus_ajito_3_001: - .byte VOICE , 36 - .byte BEND , c_v+0 - .byte N12 , Cn1 , v112 - .byte W18 - .byte N03 , Cn1 , v088 - .byte W18 - .byte N12 , Bn1 , v124 - .byte W06 - .byte BEND , c_v+32 - .byte W06 - .byte c_v+0 - .byte W48 - .byte PEND - .byte PATT - .word mus_ajito_3_000 - .byte PATT - .word mus_ajito_3_001 - .byte PATT - .word mus_ajito_3_000 - .byte PATT - .word mus_ajito_3_001 - .byte PATT - .word mus_ajito_3_000 - .byte PATT - .word mus_ajito_3_001 - .byte N06 , Cn1 , v112 - .byte W12 - .byte N12 , Cn1 , v088 - .byte W24 - .byte N03 , Cn2 , v080 - .byte W06 - .byte N03 - .byte W12 - .byte N06 , Fn2 , v112 - .byte W12 - .byte Ds2 - .byte W12 - .byte Cn2 - .byte W12 - .byte Ds2 - .byte W06 -mus_ajito_3_002: - .byte VOICE , 36 - .byte BEND , c_v+0 - .byte N12 , Fn1 , v112 - .byte W18 - .byte N03 , Fn1 , v088 - .byte W18 - .byte N12 , En2 , v124 - .byte W06 - .byte BEND , c_v+32 - .byte W06 - .byte c_v+0 - .byte W48 - .byte PEND - .byte N06 , Fn1 , v112 - .byte W12 - .byte N12 , Fn1 , v088 - .byte W24 - .byte N03 , Fn2 , v080 - .byte W06 - .byte N03 - .byte W06 - .byte VOICE , 35 - .byte W12 - .byte N06 , Cn2 , v092 - .byte W12 - .byte N03 , Ds2 - .byte W06 - .byte Dn2 - .byte W12 - .byte Cn2 - .byte W06 - .byte PATT - .word mus_ajito_3_002 - .byte N06 , Fn1 , v112 - .byte W12 - .byte N12 , Fn1 , v088 - .byte W24 - .byte N03 , Fn2 , v080 - .byte W06 - .byte N03 - .byte W06 - .byte N06 , Fn1 , v112 - .byte W06 - .byte N03 , Fn2 - .byte W12 - .byte Fn1 , v076 - .byte W06 - .byte N12 , En2 , v124 - .byte W06 - .byte BEND , c_v+35 - .byte W06 - .byte c_v+0 - .byte W12 - .byte PATT - .word mus_ajito_3_001 - .byte PATT - .word mus_ajito_3_000 - .byte PATT - .word mus_ajito_3_001 - .byte PATT - .word mus_ajito_3_000 - .byte PATT - .word mus_ajito_3_001 - .byte PATT - .word mus_ajito_3_000 - .byte GOTO - .word mus_ajito_3_B1 - .byte FINE - -@********************** Track 4 **********************@ - -mus_ajito_4: - .byte KEYSH , mus_ajito_key+0 -mus_ajito_4_B1: - .byte VOICE , 17 - .byte PAN , c_v+0 - .byte VOL , 39*mus_ajito_mvl/mxv - .byte LFOS , 44 - .byte BENDR , 2 - .byte W96 -mus_ajito_4_000: - .byte W72 - .byte N03 , Cn4 , v112 - .byte W03 - .byte Dn4 - .byte W03 - .byte Ds4 - .byte W03 - .byte Fn4 - .byte W03 - .byte Gn4 - .byte W03 - .byte An4 - .byte W03 - .byte As4 - .byte W03 - .byte Bn4 - .byte W03 - .byte PEND - .byte TIE , Cn5 - .byte W96 - .byte W48 - .byte EOT - .byte N03 , Ds5 - .byte W06 - .byte Ds4 - .byte W12 - .byte N03 - .byte W06 - .byte N06 , Ds5 - .byte W06 - .byte N03 , Ds4 - .byte W12 - .byte Cn5 - .byte W06 - .byte W96 - .byte W60 - .byte N12 , Gn4 - .byte W12 - .byte N03 , Cn5 - .byte W06 - .byte N03 - .byte W06 - .byte Ds4 - .byte W06 - .byte N06 , Bn4 - .byte W06 - .byte TIE , Cn5 - .byte W96 - .byte W48 - .byte EOT - .byte N03 , Ds5 - .byte W06 - .byte Ds4 - .byte W12 - .byte N03 - .byte W06 - .byte N06 , Ds5 - .byte W06 - .byte N03 , Ds4 - .byte W12 - .byte Ds5 - .byte W06 - .byte W96 - .byte W96 - .byte N18 - .byte W18 - .byte N84 , Gs4 - .byte W78 - .byte W06 - .byte N06 , As4 - .byte W06 - .byte N03 , Cn4 - .byte W06 - .byte N03 - .byte W06 - .byte N18 , As4 - .byte W18 - .byte N06 , Gs4 - .byte W18 - .byte N06 - .byte W06 - .byte N03 , Cn4 - .byte W06 - .byte Gs3 - .byte W06 - .byte N18 , Cn5 - .byte W18 - .byte N12 - .byte W12 - .byte N03 , Ds4 - .byte W06 - .byte N12 , Bn4 - .byte W12 - .byte N03 , Ds4 - .byte W06 - .byte N12 , As4 - .byte W12 - .byte N03 , Ds4 - .byte W06 - .byte N12 , Gs4 - .byte W12 - .byte N03 , Ds4 - .byte W06 - .byte Fn4 - .byte W03 - .byte Gn4 - .byte W03 - .byte Gs4 - .byte W03 - .byte Gn4 - .byte W03 - .byte N12 , Fn4 - .byte W12 - .byte N24 , Cn4 - .byte W30 - .byte N06 , Ds4 - .byte W06 - .byte N03 , Gs3 - .byte W06 - .byte N03 - .byte W12 - .byte N06 , Cn4 - .byte W06 - .byte N03 , Cn3 - .byte W06 - .byte As3 - .byte W06 - .byte Cn3 - .byte W06 - .byte N06 , Gs3 - .byte W06 - .byte N03 , Cn3 - .byte W06 - .byte As3 - .byte W06 - .byte N48 , Cn5 - .byte W54 - .byte N06 , Fn5 - .byte W12 - .byte Ds5 - .byte W12 - .byte Cn5 - .byte W12 - .byte Dn5 - .byte W06 - .byte Ds5 - .byte W06 - .byte N03 , Dn5 - .byte W06 - .byte N06 , Cn5 - .byte W06 - .byte N03 , Bn4 - .byte W12 - .byte N06 , Gn4 - .byte W12 - .byte As4 - .byte W06 - .byte N03 , Ds5 - .byte W06 - .byte Ds4 - .byte W12 - .byte N03 - .byte W06 - .byte N06 , Ds5 - .byte W06 - .byte N03 , Ds4 - .byte W12 - .byte Cn5 - .byte W06 - .byte W96 - .byte PATT - .word mus_ajito_4_000 - .byte N96 , Cn5 , v112 - .byte W96 - .byte N03 , Gn4 - .byte W06 - .byte N06 , Fn5 - .byte W06 - .byte N03 , Gn4 - .byte W06 - .byte N06 , Ds5 - .byte W06 - .byte N03 , Gn4 - .byte W06 - .byte N06 , Cn5 - .byte W06 - .byte N03 , Gn4 - .byte W06 - .byte N06 , Dn5 - .byte W06 - .byte N03 , Ds5 - .byte W06 - .byte Ds4 - .byte W12 - .byte N03 - .byte W06 - .byte N06 , Ds5 - .byte W06 - .byte N03 , Ds4 - .byte W12 - .byte Cn5 - .byte W06 - .byte GOTO - .word mus_ajito_4_B1 - .byte FINE - -@********************** Track 5 **********************@ - -mus_ajito_5: - .byte KEYSH , mus_ajito_key+0 -mus_ajito_5_B1: - .byte VOICE , 56 - .byte LFOS , 44 - .byte BENDR , 2 - .byte VOL , 42*mus_ajito_mvl/mxv - .byte PAN , c_v+0 - .byte W96 - .byte W96 - .byte W96 - .byte W96 - .byte MOD , 30 - .byte BEND , c_v+0 - .byte N03 , Bn1 , v092 - .byte W06 - .byte Cn2 , v084 - .byte W06 - .byte N06 , Cn2 , v127 - .byte W06 - .byte N03 , Cn2 , v080 - .byte W06 - .byte N06 , Bn1 , v092 - .byte W06 - .byte N03 , Cn2 , v084 - .byte W06 - .byte N06 , Cn2 , v096 - .byte W06 - .byte N03 , Cn2 , v080 - .byte W06 - .byte N02 , Cn2 , v112 - .byte W04 - .byte Cn2 , v084 - .byte W04 - .byte Cn2 , v096 - .byte W04 - .byte N06 , Bn1 , v120 - .byte W06 - .byte N03 , Cn2 , v080 - .byte W06 - .byte N06 , Cn2 , v096 - .byte W06 - .byte N03 , Cn2 , v084 - .byte W06 - .byte N06 , Bn1 , v096 - .byte W06 - .byte N03 , Cn2 , v080 - .byte W06 - .byte BEND , c_v+0 - .byte N03 , Cn2 , v096 - .byte W06 - .byte Cn2 , v084 - .byte W06 - .byte N06 , Cn2 , v116 - .byte W06 - .byte N03 , Cn2 , v080 - .byte W06 - .byte Ds2 , v112 - .byte W06 - .byte Ds2 , v076 - .byte W06 - .byte N06 , Dn2 , v112 - .byte W06 - .byte N03 , Ds2 , v080 - .byte W06 - .byte BEND , c_v+0 - .byte N48 , Gn2 , v112 - .byte W15 - .byte BEND , c_v+0 - .byte W02 - .byte c_v-7 - .byte W03 - .byte c_v-10 - .byte W04 - .byte c_v-13 - .byte W05 - .byte c_v-20 - .byte W03 - .byte c_v-23 - .byte W04 - .byte c_v-29 - .byte W02 - .byte c_v-38 - .byte W03 - .byte c_v-47 - .byte W03 - .byte c_v-62 - .byte W04 - .byte MOD , 2 - .byte W96 - .byte W96 - .byte W96 - .byte W96 - .byte W96 - .byte W96 - .byte W96 - .byte W96 - .byte W96 - .byte W96 - .byte W03 - .byte VOL , 31*mus_ajito_mvl/mxv - .byte W92 - .byte W01 - .byte W96 - .byte W96 - .byte W96 - .byte GOTO - .word mus_ajito_5_B1 - .byte FINE - -@********************** Track 6 **********************@ - -mus_ajito_6: - .byte KEYSH , mus_ajito_key+0 -mus_ajito_6_B1: - .byte VOICE , 80 - .byte PAN , c_v-61 - .byte LFOS , 44 - .byte XCMD , xIECV , 18 - .byte xIECV , 16 - .byte BENDR , 2 - .byte VOL , 37*mus_ajito_mvl/mxv - .byte BEND , c_v+0 - .byte W96 -mus_ajito_6_000: - .byte W72 - .byte N03 , An1 , v112 - .byte W03 - .byte Bn1 - .byte W03 - .byte Cn2 - .byte W03 - .byte Dn2 - .byte W03 - .byte En2 - .byte W03 - .byte Fn2 - .byte W03 - .byte Gn2 - .byte W03 - .byte An2 - .byte W03 - .byte PEND - .byte TIE , As2 - .byte W96 - .byte W48 - .byte EOT - .byte N03 , Cn3 - .byte W06 - .byte Ds2 - .byte W12 - .byte N03 - .byte W06 - .byte N06 , Cn3 - .byte W06 - .byte N03 , Ds2 - .byte W12 - .byte Gn2 - .byte W06 - .byte VOICE , 84 - .byte N03 , Dn2 , v092 - .byte W06 - .byte Ds2 , v084 - .byte W06 - .byte N06 , Ds2 , v127 - .byte W06 - .byte N03 , Ds2 , v080 - .byte W06 - .byte N06 , Dn2 , v092 - .byte W06 - .byte N03 , Ds2 , v084 - .byte W06 - .byte N06 , Ds2 , v096 - .byte W06 - .byte N03 , Ds2 , v080 - .byte W06 - .byte N02 , Ds2 , v112 - .byte W04 - .byte Ds2 , v084 - .byte W04 - .byte Ds2 , v096 - .byte W04 - .byte N06 , Dn2 , v120 - .byte W06 - .byte N03 , Ds2 , v080 - .byte W06 - .byte N06 , Ds2 , v096 - .byte W06 - .byte N03 , Ds2 , v084 - .byte W06 - .byte N06 , Dn2 , v096 - .byte W06 - .byte N03 , Ds2 , v080 - .byte W06 - .byte VOICE , 80 - .byte N03 , Ds2 , v096 - .byte W06 - .byte Ds2 , v084 - .byte W06 - .byte N06 , Ds2 , v116 - .byte W06 - .byte N03 , Ds2 , v080 - .byte W06 - .byte Gn2 , v112 - .byte W06 - .byte Gn2 , v076 - .byte W06 - .byte N06 , Fs2 , v112 - .byte W06 - .byte N03 , Gn2 , v080 - .byte W06 - .byte N24 , Cn3 , v112 - .byte W24 - .byte N03 , An1 - .byte W03 - .byte Bn1 - .byte W03 - .byte Cn2 - .byte W03 - .byte Dn2 - .byte W03 - .byte En2 - .byte W03 - .byte Fn2 - .byte W03 - .byte Gn2 - .byte W03 - .byte An2 - .byte W03 - .byte N36 , As2 - .byte W36 - .byte W03 - .byte N03 , Cn3 - .byte W03 - .byte Cs3 - .byte W03 - .byte Dn3 - .byte W03 - .byte N36 , Ds3 - .byte W36 - .byte W03 - .byte N03 , Gn3 - .byte W03 - .byte Gs3 - .byte W03 - .byte An3 - .byte W03 - .byte N48 , As3 - .byte W48 - .byte N03 , Cn4 - .byte W06 - .byte Ds3 - .byte W12 - .byte N03 - .byte W06 - .byte N06 , Cn4 - .byte W06 - .byte N03 , Ds3 - .byte W12 - .byte Cn4 - .byte W06 - .byte W96 - .byte W96 - .byte W96 - .byte W96 - .byte W96 - .byte W96 - .byte TIE , As2 - .byte W96 - .byte W48 - .byte EOT - .byte N03 , Cn3 - .byte W06 - .byte Ds2 - .byte W12 - .byte N03 - .byte W06 - .byte N06 , Cn3 - .byte W06 - .byte N03 , Ds2 - .byte W12 - .byte Gn2 - .byte W06 - .byte W96 - .byte PATT - .word mus_ajito_6_000 - .byte TIE , As2 , v112 - .byte W96 - .byte W48 - .byte EOT - .byte N03 , Cn3 - .byte W06 - .byte Ds2 - .byte W12 - .byte N03 - .byte W06 - .byte N06 , Cn3 - .byte W06 - .byte N03 , Ds2 - .byte W12 - .byte Gn2 - .byte W06 - .byte GOTO - .word mus_ajito_6_B1 - .byte FINE - -@********************** Track 7 **********************@ - -mus_ajito_7: - .byte KEYSH , mus_ajito_key+0 -mus_ajito_7_B1: - .byte VOICE , 81 - .byte PAN , c_v+63 - .byte LFOS , 44 - .byte XCMD , xIECV , 18 - .byte xIECV , 16 - .byte BENDR , 2 - .byte VOL , 37*mus_ajito_mvl/mxv - .byte W96 -mus_ajito_7_000: - .byte W72 - .byte N03 , Ds2 , v112 - .byte W03 - .byte Fn2 - .byte W03 - .byte Gn2 - .byte W03 - .byte An2 - .byte W03 - .byte As2 - .byte W03 - .byte Bn2 - .byte W03 - .byte Cn3 - .byte W03 - .byte Dn3 - .byte W03 - .byte PEND - .byte TIE , Ds3 - .byte W96 - .byte W48 - .byte EOT - .byte N03 , Fn3 - .byte W06 - .byte Gn2 - .byte W12 - .byte N03 - .byte W06 - .byte N06 , Fn3 - .byte W06 - .byte N03 , Gn2 - .byte W12 - .byte Ds3 - .byte W06 - .byte PAN , c_v+0 - .byte N12 , Cn1 - .byte W18 - .byte N03 , Cn1 , v088 - .byte W18 - .byte N12 , Bn1 , v124 - .byte W60 - .byte N06 , Cn1 , v112 - .byte W12 - .byte N12 , Cn1 , v088 - .byte W24 - .byte N03 , Cn2 , v080 - .byte W06 - .byte N03 - .byte W18 - .byte N06 , Gn1 , v092 - .byte W12 - .byte PAN , c_v+63 - .byte N03 , Ds2 , v112 - .byte W03 - .byte Fn2 - .byte W03 - .byte Gn2 - .byte W03 - .byte An2 - .byte W03 - .byte As2 - .byte W03 - .byte Bn2 - .byte W03 - .byte Cn3 - .byte W03 - .byte Dn3 - .byte W03 - .byte N36 , Ds3 - .byte W36 - .byte W03 - .byte N03 , Gn3 - .byte W03 - .byte Gs3 - .byte W03 - .byte An3 - .byte W03 - .byte N36 , As3 - .byte W36 - .byte W03 - .byte N03 , Cn4 - .byte W03 - .byte Cs4 - .byte W03 - .byte Dn4 - .byte W03 - .byte N48 , Ds4 - .byte W48 - .byte N03 , Fn4 - .byte W06 - .byte Gn3 - .byte W12 - .byte N03 - .byte W06 - .byte N06 , Fn4 - .byte W06 - .byte N03 , Gn3 - .byte W12 - .byte Gn4 - .byte W06 - .byte W96 - .byte W96 - .byte W96 - .byte W96 - .byte W96 - .byte W96 - .byte TIE , Ds3 - .byte W96 - .byte W48 - .byte EOT - .byte N03 , Fn3 - .byte W06 - .byte Gn2 - .byte W12 - .byte N03 - .byte W06 - .byte N06 , Fn3 - .byte W06 - .byte N03 , Gn2 - .byte W12 - .byte Ds3 - .byte W06 - .byte W96 - .byte PATT - .word mus_ajito_7_000 - .byte TIE , Ds3 , v112 - .byte W96 - .byte W48 - .byte EOT - .byte N03 , Fn3 - .byte W06 - .byte Gn2 - .byte W12 - .byte N03 - .byte W06 - .byte N06 , Fn3 - .byte W06 - .byte N03 , Gn2 - .byte W12 - .byte Ds3 - .byte W06 - .byte GOTO - .word mus_ajito_7_B1 - .byte FINE - -@********************** Track 8 **********************@ - -mus_ajito_8: - .byte KEYSH , mus_ajito_key+0 -mus_ajito_8_B1: - .byte VOICE , 0 - .byte PAN , c_v+0 - .byte VOL , 79*mus_ajito_mvl/mxv - .byte N06 , Cn1 , v112 - .byte W18 - .byte Cn1 , v064 - .byte W06 - .byte En1 , v112 - .byte W24 - .byte Cn1 - .byte W06 - .byte En1 , v064 - .byte W06 - .byte Cn1 - .byte W06 - .byte Cn1 , v068 - .byte W06 - .byte En1 , v092 - .byte W12 - .byte Cn1 , v064 - .byte W06 - .byte N06 - .byte W06 -mus_ajito_8_000: - .byte N06 , Cn1 , v112 - .byte W12 - .byte Cn1 , v120 - .byte W12 - .byte En1 , v112 - .byte W24 - .byte Cn1 - .byte W06 - .byte En1 , v064 - .byte W06 - .byte Cn1 - .byte W06 - .byte Cn1 , v068 - .byte W06 - .byte En1 , v104 - .byte W12 - .byte Cn1 , v064 - .byte W06 - .byte N06 - .byte W06 - .byte PEND -mus_ajito_8_001: - .byte N06 , Cn1 , v112 - .byte W18 - .byte Cn1 , v064 - .byte W06 - .byte En1 , v112 - .byte W24 - .byte Cn1 - .byte W06 - .byte En1 , v064 - .byte W06 - .byte Cn1 - .byte W06 - .byte Cn1 , v068 - .byte W06 - .byte En1 , v092 - .byte W12 - .byte Cn1 , v064 - .byte W06 - .byte N06 - .byte W06 - .byte PEND - .byte PATT - .word mus_ajito_8_000 - .byte N06 , Cn1 , v112 - .byte W18 - .byte Cn1 , v064 - .byte W06 - .byte En1 , v112 - .byte W24 - .byte Cn1 - .byte W06 - .byte En1 , v100 - .byte W06 - .byte Cn1 , v064 - .byte W06 - .byte Cn1 , v068 - .byte W06 - .byte En1 , v092 - .byte W12 - .byte Cn1 , v064 - .byte W06 - .byte N06 - .byte W06 -mus_ajito_8_002: - .byte N06 , Cn1 , v112 - .byte W12 - .byte Cn1 , v120 - .byte W12 - .byte En1 , v112 - .byte W24 - .byte Cn1 - .byte W06 - .byte En1 , v064 - .byte W06 - .byte Cn1 - .byte W06 - .byte Cn1 , v068 - .byte W06 - .byte En1 , v104 - .byte W09 - .byte N03 , En1 , v064 - .byte W03 - .byte N06 , En1 , v120 - .byte W06 - .byte Cn1 , v064 - .byte W06 - .byte PEND - .byte PATT - .word mus_ajito_8_001 - .byte PATT - .word mus_ajito_8_000 - .byte PATT - .word mus_ajito_8_001 - .byte PATT - .word mus_ajito_8_000 - .byte PATT - .word mus_ajito_8_001 - .byte PATT - .word mus_ajito_8_000 - .byte PATT - .word mus_ajito_8_001 - .byte N06 , Cn1 , v112 - .byte W12 - .byte Cn1 , v120 - .byte W12 - .byte En1 , v112 - .byte W24 - .byte Cn1 - .byte W06 - .byte En1 , v064 - .byte W06 - .byte Cn1 - .byte W06 - .byte Cn1 , v068 - .byte W06 - .byte Dn1 , v084 - .byte W06 - .byte Dn1 , v080 - .byte W06 - .byte En1 , v084 - .byte W06 - .byte Cn1 , v064 - .byte W06 - .byte PATT - .word mus_ajito_8_001 - .byte PATT - .word mus_ajito_8_000 - .byte PATT - .word mus_ajito_8_001 - .byte PATT - .word mus_ajito_8_002 - .byte PATT - .word mus_ajito_8_001 - .byte PATT - .word mus_ajito_8_000 - .byte GOTO - .word mus_ajito_8_B1 - .byte FINE - -@********************** Track 9 **********************@ - -mus_ajito_9: - .byte KEYSH , mus_ajito_key+0 -mus_ajito_9_B1: - .byte VOICE , 82 - .byte PAN , c_v+0 - .byte LFOS , 44 - .byte XCMD , xIECV , 18 - .byte xIECV , 16 - .byte BENDR , 2 - .byte VOL , 42*mus_ajito_mvl/mxv - .byte BEND , c_v+1 - .byte N12 , Cn1 , v112 - .byte W18 - .byte N03 , Cn1 , v088 - .byte W18 - .byte N12 , Bn1 , v124 - .byte W60 - .byte N06 , Cn1 , v112 - .byte W03 - .byte VOICE , 82 - .byte W09 - .byte N12 , Cn1 , v088 - .byte W24 - .byte N03 , Cn2 , v080 - .byte W06 - .byte N03 - .byte W18 - .byte N06 , Gn1 , v092 - .byte W12 - .byte N03 , As1 - .byte W06 - .byte An1 - .byte W12 - .byte Gn1 - .byte W06 -mus_ajito_9_000: - .byte N12 , Cn1 , v112 - .byte W18 - .byte N03 , Cn1 , v088 - .byte W18 - .byte N12 , Bn1 , v124 - .byte W60 - .byte PEND -mus_ajito_9_001: - .byte N06 , Cn1 , v112 - .byte W12 - .byte N12 , Cn1 , v088 - .byte W24 - .byte N03 , Cn2 , v080 - .byte W06 - .byte N03 - .byte W18 - .byte N06 , Gn1 , v092 - .byte W12 - .byte N03 , As1 - .byte W06 - .byte An1 - .byte W12 - .byte Gn1 - .byte W06 - .byte PEND - .byte VOICE , 83 - .byte VOL , 32*mus_ajito_mvl/mxv - .byte BEND , c_v+0 - .byte N03 , Bn2 - .byte W06 - .byte Cn3 , v084 - .byte W06 - .byte N06 , Cn3 , v127 - .byte W06 - .byte N03 , Cn3 , v080 - .byte W06 - .byte N06 , Bn2 , v092 - .byte W06 - .byte N03 , Cn3 , v084 - .byte W06 - .byte N06 , Cn3 , v096 - .byte W06 - .byte N03 , Cn3 , v080 - .byte W06 - .byte N02 , Cn3 , v112 - .byte W04 - .byte Cn3 , v084 - .byte W04 - .byte Cn3 , v096 - .byte W04 - .byte N06 , Bn2 , v120 - .byte W06 - .byte N03 , Cn3 , v080 - .byte W06 - .byte N06 , Cn3 , v096 - .byte W06 - .byte N03 , Cn3 , v084 - .byte W06 - .byte N06 , Bn2 , v096 - .byte W06 - .byte N03 , Cn3 , v080 - .byte W06 - .byte BEND , c_v+0 - .byte N03 , Cn3 , v096 - .byte W06 - .byte Cn3 , v084 - .byte W06 - .byte N06 , Cn3 , v116 - .byte W06 - .byte N03 , Cn3 , v080 - .byte W06 - .byte Ds3 , v112 - .byte W06 - .byte Ds3 , v076 - .byte W06 - .byte N06 , Dn3 , v112 - .byte W06 - .byte N03 , Ds3 , v080 - .byte W06 - .byte BEND , c_v+0 - .byte N48 , Gn3 , v112 - .byte W15 - .byte BEND , c_v+0 - .byte W02 - .byte c_v-7 - .byte W03 - .byte c_v-10 - .byte W04 - .byte c_v-13 - .byte W05 - .byte c_v-20 - .byte W03 - .byte c_v-23 - .byte W04 - .byte c_v-29 - .byte W02 - .byte c_v-38 - .byte W03 - .byte c_v-47 - .byte W03 - .byte c_v-62 - .byte W04 - .byte VOICE , 82 - .byte VOL , 43*mus_ajito_mvl/mxv - .byte BEND , c_v+3 - .byte N12 , Cn1 - .byte W18 - .byte N03 , Cn1 , v088 - .byte W18 - .byte N12 , Bn1 , v124 - .byte W60 - .byte PATT - .word mus_ajito_9_001 - .byte PATT - .word mus_ajito_9_000 - .byte N06 , Cn1 , v112 - .byte W12 - .byte N12 , Cn1 , v088 - .byte W24 - .byte N03 , Cn2 , v080 - .byte W06 - .byte N03 - .byte W12 - .byte N06 , Fn2 , v112 - .byte W12 - .byte Ds2 - .byte W12 - .byte Cn2 - .byte W12 - .byte Ds2 - .byte W06 -mus_ajito_9_002: - .byte N12 , Fn1 , v112 - .byte W18 - .byte N03 , Fn1 , v088 - .byte W18 - .byte N12 , En2 , v124 - .byte W60 - .byte PEND - .byte N06 , Fn1 , v112 - .byte W12 - .byte N12 , Fn1 , v088 - .byte W24 - .byte N03 , Fn2 , v080 - .byte W06 - .byte N03 - .byte W18 - .byte N06 , Cn2 , v092 - .byte W12 - .byte N03 , Ds2 - .byte W06 - .byte Dn2 - .byte W12 - .byte Cn2 - .byte W06 - .byte PATT - .word mus_ajito_9_002 - .byte N06 , Fn1 , v112 - .byte W12 - .byte N12 , Fn1 , v088 - .byte W24 - .byte N03 , Fn2 , v080 - .byte W06 - .byte N03 - .byte W06 - .byte N06 , Fn1 , v112 - .byte W06 - .byte N03 , Fn2 - .byte W12 - .byte Fn1 , v076 - .byte W06 - .byte N12 , En2 , v124 - .byte W24 - .byte PATT - .word mus_ajito_9_000 - .byte PATT - .word mus_ajito_9_001 - .byte PATT - .word mus_ajito_9_000 - .byte PATT - .word mus_ajito_9_001 - .byte PATT - .word mus_ajito_9_000 - .byte PATT - .word mus_ajito_9_001 - .byte GOTO - .word mus_ajito_9_B1 - .byte FINE - -@******************************************************@ - .align 2 - -mus_ajito: - .byte 9 @ NumTrks - .byte 0 @ NumBlks - .byte mus_ajito_pri @ Priority - .byte mus_ajito_rev @ Reverb. - - .word mus_ajito_grp - - .word mus_ajito_1 - .word mus_ajito_2 - .word mus_ajito_3 - .word mus_ajito_4 - .word mus_ajito_5 - .word mus_ajito_6 - .word mus_ajito_7 - .word mus_ajito_8 - .word mus_ajito_9 - - .end From e0acb92a3f71b196644d2c8a3b6e2b5729f92a9a Mon Sep 17 00:00:00 2001 From: Diegoisawesome <diego@domoreaweso.me> Date: Sun, 23 Sep 2018 00:27:40 -0500 Subject: [PATCH 231/234] mid2agb: allow -L param to take string --- tools/mid2agb/main.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/mid2agb/main.cpp b/tools/mid2agb/main.cpp index 03feabdd8f..ece8e25565 100644 --- a/tools/mid2agb/main.cpp +++ b/tools/mid2agb/main.cpp @@ -153,7 +153,7 @@ int main(int argc, char** argv) case 'L': if (arg == nullptr) PrintUsage(); - g_asmLabel = std::stoi(arg); + g_asmLabel = arg; break; case 'N': g_compressionEnabled = false; From 25033ef311d116a8205844bb6bd1a4fda8c9f967 Mon Sep 17 00:00:00 2001 From: Diegoisawesome <diego@domoreaweso.me> Date: Sun, 23 Sep 2018 14:58:36 -0500 Subject: [PATCH 232/234] Finish tileset_anims macroization --- src/tileset_anims.c | 67 ++++++++++++++++++++++----------------------- 1 file changed, 32 insertions(+), 35 deletions(-) diff --git a/src/tileset_anims.c b/src/tileset_anims.c index 7f7a8a3c40..454a2e4353 100644 --- a/src/tileset_anims.c +++ b/src/tileset_anims.c @@ -7,9 +7,6 @@ #include "battle_transition.h" #include "fieldmap.h" -#define SECONDARY_TILESET_VRAM 0x2000 -#define TILE_VRAM(n) (0x20 * (n)) - // Static type declarations // Static RAM declarations @@ -226,25 +223,25 @@ const u16 gTilesetAnims_Mauville1b_Frame1[] = INCBIN_U16("data/tilesets/secondar const u16 tileset_anims_space_1[16] = {}; u16 *const gTilesetAnims_MauvilleVDests0[] = { - (u16 *)(BG_VRAM + 0x4c00), - (u16 *)(BG_VRAM + 0x4c80), - (u16 *)(BG_VRAM + 0x4d00), - (u16 *)(BG_VRAM + 0x4d80), - (u16 *)(BG_VRAM + 0x4e00), - (u16 *)(BG_VRAM + 0x4e80), - (u16 *)(BG_VRAM + 0x4f00), - (u16 *)(BG_VRAM + 0x4f80) + (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 96)), + (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 100)), + (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 104)), + (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 108)), + (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 112)), + (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 116)), + (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 120)), + (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 124)) }; u16 *const gTilesetAnims_MauvilleVDests1[] = { - (u16 *)(BG_VRAM + 0x5000), - (u16 *)(BG_VRAM + 0x5080), - (u16 *)(BG_VRAM + 0x5100), - (u16 *)(BG_VRAM + 0x5180), - (u16 *)(BG_VRAM + 0x5200), - (u16 *)(BG_VRAM + 0x5280), - (u16 *)(BG_VRAM + 0x5300), - (u16 *)(BG_VRAM + 0x5380) + (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 128)), + (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 132)), + (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 136)), + (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 140)), + (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 144)), + (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 148)), + (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 152)), + (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 156)) }; const u16 *const gTilesetAnims_Mauville0a[] = { @@ -308,14 +305,14 @@ const u16 gTilesetAnims_Rustboro0_Frame6[] = INCBIN_U16("data/tilesets/secondary const u16 gTilesetAnims_Rustboro0_Frame7[] = INCBIN_U16("data/tilesets/secondary/rustboro/anim/0/7.4bpp"); u16 *const gTilesetAnims_RustboroVDests0[] = { - (u16 *)(BG_VRAM + 0x5000), - (u16 *)(BG_VRAM + 0x5080), - (u16 *)(BG_VRAM + 0x5100), - (u16 *)(BG_VRAM + 0x5180), - (u16 *)(BG_VRAM + 0x5200), - (u16 *)(BG_VRAM + 0x5280), - (u16 *)(BG_VRAM + 0x5300), - (u16 *)(BG_VRAM + 0x5380) + (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 128)), + (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 132)), + (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 136)), + (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 140)), + (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 144)), + (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 148)), + (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 152)), + (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 156)) }; const u16 *const gTilesetAnims_Rustboro0[] = { @@ -384,14 +381,14 @@ const u16 gTilesetAnims_EverGrande0_Frame7[] = INCBIN_U16("data/tilesets/seconda const u16 tileset_anims_space_4[16] = {}; u16 *const gTilesetAnims_EverGrandeVDests0[] = { - (u16 *)(BG_VRAM + 0x5c00), - (u16 *)(BG_VRAM + 0x5c80), - (u16 *)(BG_VRAM + 0x5d00), - (u16 *)(BG_VRAM + 0x5d80), - (u16 *)(BG_VRAM + 0x5e00), - (u16 *)(BG_VRAM + 0x5e80), - (u16 *)(BG_VRAM + 0x5f00), - (u16 *)(BG_VRAM + 0x5f80) + (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 224)), + (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 228)), + (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 232)), + (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 236)), + (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 240)), + (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 244)), + (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 248)), + (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 252)) }; const u16 *const gTilesetAnims_EverGrande0[] = { From ef95a132885280dc15848ef6bc6081e0cce35c7e Mon Sep 17 00:00:00 2001 From: Diegoisawesome <diego@domoreaweso.me> Date: Sun, 23 Sep 2018 23:37:47 -0500 Subject: [PATCH 233/234] Fix compression score lower limit --- tools/mid2agb/midi.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/mid2agb/midi.cpp b/tools/mid2agb/midi.cpp index 09480e139c..c7a4389b94 100644 --- a/tools/mid2agb/midi.cpp +++ b/tools/mid2agb/midi.cpp @@ -900,7 +900,7 @@ void Compress(std::vector<Event>& events) return; } - if (CalculateCompressionScore(events, i) >= 6) + if (CalculateCompressionScore(events, i) > 6) { CompressWholeNote(events, i); } From 7ceabffc842dfdf127fd594055f895a0803f54f6 Mon Sep 17 00:00:00 2001 From: Diegoisawesome <diego@domoreaweso.me> Date: Sun, 23 Sep 2018 23:52:04 -0500 Subject: [PATCH 234/234] Clean .s files in midi folder --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index a088f8541d..910e903283 100644 --- a/Makefile +++ b/Makefile @@ -93,7 +93,7 @@ compare: $(ROM) clean: tidy rm -f sound/direct_sound_samples/*.bin - rm -f $(SONG_OBJS) $(MID_OBJS) + rm -f $(SONG_OBJS) $(MID_OBJS) $(MID_SUBDIR)/*.s find . \( -iname '*.1bpp' -o -iname '*.4bpp' -o -iname '*.8bpp' -o -iname '*.gbapal' -o -iname '*.lz' -o -iname '*.latfont' -o -iname '*.hwjpnfont' -o -iname '*.fwjpnfont' \) -exec rm {} + tidy: